diff --git a/nginx.conf b/nginx.conf index c0083c82e0c86335a982f1464d6ad61a88a3dc10..4d17ebe3d8cc08ff12686b121c759796d2690068 100644 --- a/nginx.conf +++ b/nginx.conf @@ -9,7 +9,7 @@ server { gzip_vary on; gzip_disable "MSIE [1-6]\."; resolver $NAMESERVERS ipv6=off; - root /usr/share/nginx/html; + include /etc/nginx/mime.types; set $my_result_code 200; set $my_server_name {SERVER_NAME}; @@ -21,12 +21,22 @@ server { set $my_result_code 200; } + if ($my_result_code = 403) { return 403; } location / { + root /usr/share/nginx/html; + + index index.html; + } + + location /edge-gateway { + alias /usr/share/nginx/edge-gateway/; + index index.html; + try_files $uri $uri/ /edge-gateway/index.html; } location ^~/api/ { @@ -48,5 +58,6 @@ server { proxy_send_timeout 30m; proxy_read_timeout 30m; client_max_body_size 500m; + client_body_buffer_size 1024k; } } diff --git a/package-lock.json b/package-lock.json index 9f2601dd1540d8c333019294e4efce57405310cb..d782753cd9b5f59267fba6fc48f3554768738512 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,24 +1,27 @@ { "name": "jetlinks-vue", - "version": "2.2.1", + "version": "2.2.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "jetlinks-vue", - "version": "2.2.1", + "version": "2.2.0", "dependencies": { "@ant-design/icons-vue": "^7.0.1", "@fullcalendar/core": "^6.1.13", "@fullcalendar/daygrid": "^6.1.13", "@fullcalendar/interaction": "^6.1.13", "@fullcalendar/vue3": "^6.1.13", - "@liveqing/liveplayer-v3": "^3.7.10", + "@microsoft/fetch-event-source": "^2.0.1", "@types/axios": "^0.14.0", "@types/marked": "^4.0.8", "@vitejs/plugin-vue-jsx": "^3.0.0", "@vuemap/vue-amap": "^2.1.2", "@vueuse/core": "^9.10.0", + "@vueuse/router": "^11.1.0", + "@xterm/addon-fit": "^0.10.0", + "@xterm/xterm": "^5.5.0", "ant-design-vue": "^3.2.15", "async-validator": "^4.2.5", "axios": "^1.2.1", @@ -30,7 +33,7 @@ "event-source-polyfill": "^1.0.31", "global": "^4.4.0", "jetlinks-store": "^0.0.3", - "jetlinks-ui-components": "^1.0.48", + "jetlinks-ui-components": "^1.0.51", "jsencrypt": "^3.3.2", "less": "^4.1.3", "less-loader": "^11.1.0", @@ -1091,10 +1094,6 @@ "@jridgewell/sourcemap-codec": "1.4.14" } }, - "node_modules/@liveqing/liveplayer-v3": { - "version": "3.7.10", - "license": "MIT" - }, "node_modules/@math.gl/core": { "version": "3.6.3", "resolved": "https://registry.npmmirror.com/@math.gl/core/-/core-3.6.3.tgz", @@ -1110,6 +1109,11 @@ "resolved": "https://registry.npmmirror.com/@math.gl/types/-/types-3.6.3.tgz", "integrity": "sha512-3uWLVXHY3jQxsXCr/UCNPSc2BG0hNUljhmOBt9l+lNFDp7zHgm0cK2Tw4kj2XfkJy4TgwZTBGwRDQgWEbLbdTA==" }, + "node_modules/@microsoft/fetch-event-source": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/@microsoft/fetch-event-source/-/fetch-event-source-2.0.1.tgz", + "integrity": "sha512-W6CLUJ2eBMw3Rec70qrsEW0jOm/3twwJv21mrmj2yORiaVmVYGS4sSS5yUwvQc1ZlDLYGPnClVWmUUMagKNsfA==" + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -1714,13 +1718,12 @@ } }, "node_modules/@vueuse/router": { - "version": "9.13.0", - "resolved": "https://registry.npmjs.org/@vueuse/router/-/router-9.13.0.tgz", - "integrity": "sha512-lcL6auSUGMGZMdDzZJb02QDe909AChzMXoxqFS3gL2E8mHmIx0SrNor+33UkqvvBPi18vXpDq/R7tPd9fxWwTg==", - "license": "MIT", + "version": "11.3.0", + "resolved": "https://registry.npmmirror.com/@vueuse/router/-/router-11.3.0.tgz", + "integrity": "sha512-FTcl8Sd2pLCZTUozLZKGRTEP3CUqVSYmgDZJA8IUYaxut+2kHptZ5OWLbBH+t6q45EH6jXqlukeV3fIxC1DFwA==", "dependencies": { - "@vueuse/shared": "9.13.0", - "vue-demi": "*" + "@vueuse/shared": "11.3.0", + "vue-demi": ">=0.14.10" }, "funding": { "url": "https://github.com/sponsors/antfu" @@ -1730,17 +1733,41 @@ } }, "node_modules/@vueuse/router/node_modules/@vueuse/shared": { - "version": "9.13.0", - "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-9.13.0.tgz", - "integrity": "sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==", - "license": "MIT", + "version": "11.3.0", + "resolved": "https://registry.npmmirror.com/@vueuse/shared/-/shared-11.3.0.tgz", + "integrity": "sha512-P8gSSWQeucH5821ek2mn/ciCk+MS/zoRKqdQIM3bHq6p7GXDAJLmnRRKmF5F65sAVJIfzQlwR3aDzwCn10s8hA==", "dependencies": { - "vue-demi": "*" + "vue-demi": ">=0.14.10" }, "funding": { "url": "https://github.com/sponsors/antfu" } }, + "node_modules/@vueuse/router/node_modules/vue-demi": { + "version": "0.14.10", + "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.14.10.tgz", + "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", + "hasInstallScript": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, "node_modules/@vueuse/shared": { "version": "9.12.0", "license": "MIT", @@ -1882,6 +1909,19 @@ "@xtuc/long": "4.2.2" } }, + "node_modules/@xterm/addon-fit": { + "version": "0.10.0", + "resolved": "https://registry.npmmirror.com/@xterm/addon-fit/-/addon-fit-0.10.0.tgz", + "integrity": "sha512-UFYkDm4HUahf2lnEyHvio51TNGiLK66mqP2JoATy7hRZeXaGMRDr00JiSF7m63vR5WKATF605yEggJKsw0JpMQ==", + "peerDependencies": { + "@xterm/xterm": "^5.0.0" + } + }, + "node_modules/@xterm/xterm": { + "version": "5.5.0", + "resolved": "https://registry.npmmirror.com/@xterm/xterm/-/xterm-5.5.0.tgz", + "integrity": "sha512-hqJHYaQb5OptNunnyAnkHyM8aCjZ1MEIDTQu1iIbbTD/xops91NB5yq1ZK/dC2JDbVWtF23zUtl9JE2NqwT87A==" + }, "node_modules/@xtuc/ieee754": { "version": "1.2.0", "license": "BSD-3-Clause", @@ -5318,9 +5358,9 @@ "license": "MIT" }, "node_modules/jetlinks-ui-components": { - "version": "1.0.48", - "resolved": "https://registry.npmmirror.com/jetlinks-ui-components/-/jetlinks-ui-components-1.0.48.tgz", - "integrity": "sha512-tAKplLwXLCo/ofbgrLAvOgjZrjdgbMx+rnf+rvK17vjaTV13gWtn/77UNFzCa3kO4TXGn+FVU6qY6wULZO4U/w==", + "version": "1.0.52", + "resolved": "https://registry.npmmirror.com/jetlinks-ui-components/-/jetlinks-ui-components-1.0.52.tgz", + "integrity": "sha512-yT6IIdhS0ztzG624Rr5Ja/FAvtcoW9F0mgMAEn9TH89ApJn5ARs6En30cWniOGLRF/rvBQcTgA42BtlGH12bTQ==", "dependencies": { "@vueuse/core": "^9.12.0", "@vueuse/router": "^9.13.0", @@ -5333,6 +5373,32 @@ "node": ">=18.14.0" } }, + "node_modules/jetlinks-ui-components/node_modules/@vueuse/router": { + "version": "9.13.0", + "resolved": "https://registry.npmmirror.com/@vueuse/router/-/router-9.13.0.tgz", + "integrity": "sha512-lcL6auSUGMGZMdDzZJb02QDe909AChzMXoxqFS3gL2E8mHmIx0SrNor+33UkqvvBPi18vXpDq/R7tPd9fxWwTg==", + "dependencies": { + "@vueuse/shared": "9.13.0", + "vue-demi": "*" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "vue-router": ">=4.0.0-rc.1" + } + }, + "node_modules/jetlinks-ui-components/node_modules/@vueuse/shared": { + "version": "9.13.0", + "resolved": "https://registry.npmmirror.com/@vueuse/shared/-/shared-9.13.0.tgz", + "integrity": "sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==", + "dependencies": { + "vue-demi": "*" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, "node_modules/jetlinks-ui-components/node_modules/monaco-editor": { "version": "0.40.0", "resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.40.0.tgz", @@ -8595,6 +8661,8 @@ }, "node_modules/npm/node_modules/debug/node_modules/ms": { "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "inBundle": true, "license": "MIT" }, @@ -10244,6 +10312,8 @@ }, "node_modules/npm/node_modules/string-width/node_modules/strip-ansi": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", "inBundle": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index 242cc2b4e66d920a6d6e5a45e5d2c19635b5aefd..6196d8d155a8b11c86ab96ab2c9f7e9e32f59f31 100644 --- a/package.json +++ b/package.json @@ -26,6 +26,8 @@ "@vuemap/vue-amap": "^2.1.2", "@vueuse/core": "^9.10.0", "@vueuse/router": "^11.1.0", + "@xterm/addon-fit": "^0.10.0", + "@xterm/xterm": "^5.5.0", "ant-design-vue": "^3.2.15", "async-validator": "^4.2.5", "axios": "^1.2.1", @@ -37,7 +39,7 @@ "event-source-polyfill": "^1.0.31", "global": "^4.4.0", "jetlinks-store": "^0.0.3", - "jetlinks-ui-components": "^1.0.48", + "jetlinks-ui-components": "^1.0.51", "jsencrypt": "^3.3.2", "less": "^4.1.3", "less-loader": "^11.1.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 923200ef1789a12a645d371c38922e0c3bc5f3b6..d0121d4acd7407e169ed9de02ac23c4c116be2db 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,46 +10,40 @@ dependencies: version: 7.0.1(vue@3.3.4) '@fullcalendar/core': specifier: ^6.1.13 - version: 6.1.13 + version: 6.1.15 '@fullcalendar/daygrid': specifier: ^6.1.13 - version: 6.1.13(@fullcalendar/core@6.1.13) + version: 6.1.15(@fullcalendar/core@6.1.15) '@fullcalendar/interaction': specifier: ^6.1.13 - version: 6.1.13(@fullcalendar/core@6.1.13) + version: 6.1.15(@fullcalendar/core@6.1.15) '@fullcalendar/vue3': specifier: ^6.1.13 - version: 6.1.13(@fullcalendar/core@6.1.13)(vue@3.3.4) - '@microsoft/fetch-event-source': - specifier: ^2.0.1 - version: 2.0.1 + version: 6.1.15(@fullcalendar/core@6.1.15)(vue@3.3.4) '@types/axios': specifier: ^0.14.0 version: 0.14.0 '@types/marked': specifier: ^4.0.8 - version: 4.0.8 + version: 4.3.2 '@vitejs/plugin-vue-jsx': specifier: ^3.0.0 - version: 3.0.0(vite@4.0.0)(vue@3.3.4) + version: 3.1.0(vite@4.5.5)(vue@3.3.4) '@vuemap/vue-amap': specifier: ^2.1.2 - version: 2.1.2(vue@3.3.4) + version: 2.1.6(vue@3.3.4) '@vueuse/core': specifier: ^9.10.0 - version: 9.10.0(vue@3.3.4) - '@vueuse/router': - specifier: ^11.1.0 - version: 11.1.0(vue-router@4.1.6)(vue@3.3.4) + version: 9.13.0(vue@3.3.4) ant-design-vue: specifier: ^3.2.15 - version: 3.2.15(vue@3.3.4) + version: 3.2.20(vue@3.3.4) async-validator: specifier: ^4.2.5 version: 4.2.5 axios: specifier: ^1.2.1 - version: 1.2.1 + version: 1.7.7 colorpicker-v3: specifier: ^2.10.2 version: 2.10.2 @@ -64,7 +58,7 @@ dependencies: version: 0.9.8 echarts: specifier: ^5.4.1 - version: 5.4.1 + version: 5.5.1 event-source-polyfill: specifier: ^1.0.31 version: 1.0.31 @@ -76,16 +70,16 @@ dependencies: version: 0.0.3 jetlinks-ui-components: specifier: ^1.0.48 - version: 1.0.48(vue-router@4.1.6)(vue@3.3.4) + version: 1.0.49(vue-router@4.4.5)(vue@3.3.4) jsencrypt: specifier: ^3.3.2 version: 3.3.2 less: specifier: ^4.1.3 - version: 4.1.3 + version: 4.2.0 less-loader: specifier: ^11.1.0 - version: 11.1.0(less@4.1.3)(webpack@5.95.0) + version: 11.1.4(less@4.2.0)(webpack@5.94.0) lodash-es: specifier: ^4.17.21 version: 4.17.21 @@ -109,7 +103,7 @@ dependencies: version: 4.0.0 markdown-it-highlightjs: specifier: ^4.0.1 - version: 4.0.1 + version: 4.1.0 markdown-it-ins: specifier: ^4.0.0 version: 4.0.0 @@ -130,22 +124,22 @@ dependencies: version: 4.2.0 marked: specifier: ^4.2.12 - version: 4.2.12 + version: 4.3.0 monaco-editor: specifier: ^0.50.0 version: 0.50.0 nrm: specifier: ^1.2.5 - version: 1.2.5 + version: 1.2.6 pinia: specifier: ^2.0.28 - version: 2.0.28(typescript@4.9.3)(vue@3.3.4) + version: 2.2.2(typescript@4.9.5)(vue@3.3.4) resize-observer-polyfill: specifier: ^1.5.1 version: 1.5.1 rollup-plugin-copy: specifier: ^3.4.0 - version: 3.4.0 + version: 3.5.0 rollup-plugin-visualizer: specifier: ^5.12.0 version: 5.12.0 @@ -154,7 +148,7 @@ dependencies: version: 7.8.1 unplugin-auto-import: specifier: ^0.12.1 - version: 0.12.1(@vueuse/core@9.10.0) + version: 0.12.2(@vueuse/core@9.13.0) unplugin-vue-components: specifier: ^0.22.12 version: 0.22.12(vue@3.3.4) @@ -169,31 +163,31 @@ dependencies: version: 3.3.4 vue-cropper: specifier: ^1.0.9 - version: 1.0.9 + version: 1.1.4 vue-i18n: specifier: ^9.13.1 - version: 9.13.1(vue@3.3.4) + version: 9.14.0(vue@3.3.4) vue-json-viewer: specifier: ^3.0.4 version: 3.0.4(vue@3.3.4) vue-router: specifier: ^4.1.6 - version: 4.1.6(vue@3.3.4) + version: 4.4.5(vue@3.3.4) vue3-json-viewer: specifier: ^2.2.2 version: 2.2.2(vue@3.3.4) vue3-ts-jsoneditor: specifier: ^2.7.1 - version: 2.7.1 + version: 2.11.2(@lezer/common@1.2.1)(typescript@4.9.5) xgplayer: specifier: ^3.0.19 - version: 3.0.19(core-js@3.38.1) + version: 3.0.20(core-js@3.38.1) xgplayer-flv: specifier: ^3.0.20-beta.0 - version: 3.0.20-beta.0(core-js@3.38.1)(xgplayer@3.0.19) + version: 3.0.20(core-js@3.38.1)(xgplayer@3.0.20) xgplayer-hls: specifier: ^3.0.19 - version: 3.0.19(core-js@3.38.1)(xgplayer@3.0.19) + version: 3.0.20(core-js@3.38.1)(xgplayer@3.0.20) xgplayer-hls.js: specifier: 2.2.2 version: 2.2.2 @@ -201,61 +195,61 @@ dependencies: devDependencies: '@commitlint/cli': specifier: ^17.4.1 - version: 17.4.1 + version: 17.8.1 '@commitlint/config-conventional': specifier: ^17.4.0 - version: 17.4.0 + version: 17.8.1 '@types/lodash-es': specifier: ^4.17.6 - version: 4.17.6 + version: 4.17.12 '@types/node': specifier: ^18.14.0 - version: 18.14.0 + version: 18.19.50 '@vitejs/plugin-vue': specifier: ^4.0.0 - version: 4.0.0(vite@4.0.0)(vue@3.3.4) + version: 4.6.2(vite@4.5.5)(vue@3.3.4) '@vuemap/unplugin-resolver': specifier: ^1.0.4 version: 1.0.4(unplugin-vue-components@0.22.12) autoprefixer: specifier: ^10.4.13 - version: 10.4.13(postcss@8.4.47) + version: 10.4.20(postcss@8.4.47) commitlint: specifier: ^17.4.1 - version: 17.4.1 + version: 17.8.1 husky: specifier: ^8.0.0 - version: 8.0.0 + version: 8.0.3 lint-staged: specifier: ^13.1.0 - version: 13.1.0 + version: 13.3.0 mrm: specifier: ^4.1.13 - version: 4.1.13 + version: 4.1.22 prettier: specifier: ^2.8.1 - version: 2.8.1 + version: 2.8.8 typescript: specifier: ^4.9.3 - version: 4.9.3 + version: 4.9.5 vite: specifier: ^4.0.0 - version: 4.0.0(@types/node@18.14.0)(less@4.1.3) + version: 4.5.5(@types/node@18.19.50)(less@4.2.0) vite-plugin-html: specifier: ^3.2.0 - version: 3.2.0(vite@4.0.0) + version: 3.2.2(vite@4.5.5) vite-plugin-progress: specifier: ^0.0.7 - version: 0.0.7(vite@4.0.0) + version: 0.0.7(vite@4.5.5) vite-plugin-style-import: specifier: ^2.0.0 - version: 2.0.0(vite@4.0.0) + version: 2.0.0(vite@4.5.5) vite-plugin-vue-setup-extend: specifier: ^0.4.0 - version: 0.4.0(vite@4.0.0) + version: 0.4.0(vite@4.5.5) vue-tsc: specifier: ^1.0.11 - version: 1.0.11(typescript@4.9.3) + version: 1.8.27(typescript@4.9.5) packages: @@ -300,32 +294,32 @@ packages: /@antfu/utils@0.7.10: resolution: {integrity: sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww==} - /@babel/code-frame@7.25.7: - resolution: {integrity: sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g==} + /@babel/code-frame@7.24.7: + resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/highlight': 7.25.7 - picocolors: 1.1.1 + '@babel/highlight': 7.24.7 + picocolors: 1.1.0 - /@babel/compat-data@7.25.8: - resolution: {integrity: sha512-ZsysZyXY4Tlx+Q53XdnOFmqwfB9QDTHYxaZYajWRoBLuLEAwI2UIbtxOjWh/cFaa9IKUlcB+DDuoskLuKu56JA==} + /@babel/compat-data@7.25.4: + resolution: {integrity: sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==} engines: {node: '>=6.9.0'} dev: false - /@babel/core@7.25.8: - resolution: {integrity: sha512-Oixnb+DzmRT30qu9d3tJSQkxuygWm32DFykT4bRoORPa9hZ/L4KhVB/XiRm6KG+roIEM7DBQlmg27kw2HZkdZg==} + /@babel/core@7.25.2: + resolution: {integrity: sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.3.0 - '@babel/code-frame': 7.25.7 - '@babel/generator': 7.25.7 - '@babel/helper-compilation-targets': 7.25.7 - '@babel/helper-module-transforms': 7.25.7(@babel/core@7.25.8) - '@babel/helpers': 7.25.7 - '@babel/parser': 7.25.8 - '@babel/template': 7.25.7 - '@babel/traverse': 7.25.7 - '@babel/types': 7.25.8 + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.25.6 + '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) + '@babel/helpers': 7.25.6 + '@babel/parser': 7.25.6 + '@babel/template': 7.25.0 + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 convert-source-map: 2.0.0 debug: 4.3.7 gensync: 1.0.0-beta.2 @@ -335,247 +329,316 @@ packages: - supports-color dev: false - /@babel/generator@7.25.7: - resolution: {integrity: sha512-5Dqpl5fyV9pIAD62yK9P7fcA768uVPUyrQmqpqstHWgMma4feF1x/oFysBCVZLY5wJ2GkMUCdsNDnGZrPoR6rA==} + /@babel/generator@7.25.6: + resolution: {integrity: sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.25.8 + '@babel/types': 7.25.6 '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 - jsesc: 3.0.2 + jsesc: 2.5.2 dev: false - /@babel/helper-annotate-as-pure@7.25.7: - resolution: {integrity: sha512-4xwU8StnqnlIhhioZf1tqnVWeQ9pvH/ujS8hRfw/WOza+/a+1qv69BWNy+oY231maTCWgKWhfBU7kDpsds6zAA==} + /@babel/helper-annotate-as-pure@7.24.7: + resolution: {integrity: sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.25.8 + '@babel/types': 7.25.6 dev: false - /@babel/helper-compilation-targets@7.25.7: - resolution: {integrity: sha512-DniTEax0sv6isaw6qSQSfV4gVRNtw2rte8HHM45t9ZR0xILaufBRNkpMifCRiAPyvL4ACD6v0gfCwCmtOQaV4A==} + /@babel/helper-compilation-targets@7.25.2: + resolution: {integrity: sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/compat-data': 7.25.8 - '@babel/helper-validator-option': 7.25.7 - browserslist: 4.24.0 + '@babel/compat-data': 7.25.4 + '@babel/helper-validator-option': 7.24.8 + browserslist: 4.23.3 lru-cache: 5.1.1 semver: 6.3.1 dev: false - /@babel/helper-create-class-features-plugin@7.25.7(@babel/core@7.25.8): - resolution: {integrity: sha512-bD4WQhbkx80mAyj/WCm4ZHcF4rDxkoLFO6ph8/5/mQ3z4vAzltQXAmbc7GvVJx5H+lk5Mi5EmbTeox5nMGCsbw==} + /@babel/helper-create-class-features-plugin@7.25.4(@babel/core@7.25.2): + resolution: {integrity: sha512-ro/bFs3/84MDgDmMwbcHgDa8/E6J3QKNTk4xJJnVeFtGE+tL0K26E3pNxhYz2b67fJpt7Aphw5XcploKXuCvCQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.25.8 - '@babel/helper-annotate-as-pure': 7.25.7 - '@babel/helper-member-expression-to-functions': 7.25.7 - '@babel/helper-optimise-call-expression': 7.25.7 - '@babel/helper-replace-supers': 7.25.7(@babel/core@7.25.8) - '@babel/helper-skip-transparent-expression-wrappers': 7.25.7 - '@babel/traverse': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-member-expression-to-functions': 7.24.8 + '@babel/helper-optimise-call-expression': 7.24.7 + '@babel/helper-replace-supers': 7.25.0(@babel/core@7.25.2) + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + '@babel/traverse': 7.25.6 semver: 6.3.1 transitivePeerDependencies: - supports-color dev: false - /@babel/helper-member-expression-to-functions@7.25.7: - resolution: {integrity: sha512-O31Ssjd5K6lPbTX9AAYpSKrZmLeagt9uwschJd+Ixo6QiRyfpvgtVQp8qrDR9UNFjZ8+DO34ZkdrN+BnPXemeA==} + /@babel/helper-member-expression-to-functions@7.24.8: + resolution: {integrity: sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/traverse': 7.25.7 - '@babel/types': 7.25.8 + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 transitivePeerDependencies: - supports-color dev: false - /@babel/helper-module-imports@7.25.7: - resolution: {integrity: sha512-o0xCgpNmRohmnoWKQ0Ij8IdddjyBFE4T2kagL/x6M3+4zUgc+4qTOUBoNe4XxDskt1HPKO007ZPiMgLDq2s7Kw==} + /@babel/helper-module-imports@7.24.7: + resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/traverse': 7.25.7 - '@babel/types': 7.25.8 + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 transitivePeerDependencies: - supports-color dev: false - /@babel/helper-module-transforms@7.25.7(@babel/core@7.25.8): - resolution: {integrity: sha512-k/6f8dKG3yDz/qCwSM+RKovjMix563SLxQFo0UhRNo239SP6n9u5/eLtKD6EAjwta2JHJ49CsD8pms2HdNiMMQ==} + /@babel/helper-module-transforms@7.25.2(@babel/core@7.25.2): + resolution: {integrity: sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.25.8 - '@babel/helper-module-imports': 7.25.7 - '@babel/helper-simple-access': 7.25.7 - '@babel/helper-validator-identifier': 7.25.7 - '@babel/traverse': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-simple-access': 7.24.7 + '@babel/helper-validator-identifier': 7.24.7 + '@babel/traverse': 7.25.6 transitivePeerDependencies: - supports-color dev: false - /@babel/helper-optimise-call-expression@7.25.7: - resolution: {integrity: sha512-VAwcwuYhv/AT+Vfr28c9y6SHzTan1ryqrydSTFGjU0uDJHw3uZ+PduI8plCLkRsDnqK2DMEDmwrOQRsK/Ykjng==} + /@babel/helper-optimise-call-expression@7.24.7: + resolution: {integrity: sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.25.8 + '@babel/types': 7.25.6 dev: false - /@babel/helper-plugin-utils@7.25.7: - resolution: {integrity: sha512-eaPZai0PiqCi09pPs3pAFfl/zYgGaE6IdXtYvmf0qlcDTd3WCtO7JWCcRd64e0EQrcYgiHibEZnOGsSY4QSgaw==} + /@babel/helper-plugin-utils@7.24.8: + resolution: {integrity: sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==} engines: {node: '>=6.9.0'} dev: false - /@babel/helper-replace-supers@7.25.7(@babel/core@7.25.8): - resolution: {integrity: sha512-iy8JhqlUW9PtZkd4pHM96v6BdJ66Ba9yWSE4z0W4TvSZwLBPkyDsiIU3ENe4SmrzRBs76F7rQXTy1lYC49n6Lw==} + /@babel/helper-replace-supers@7.25.0(@babel/core@7.25.2): + resolution: {integrity: sha512-q688zIvQVYtZu+i2PsdIu/uWGRpfxzr5WESsfpShfZECkO+d2o+WROWezCi/Q6kJ0tfPa5+pUGUlfx2HhrA3Bg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.25.8 - '@babel/helper-member-expression-to-functions': 7.25.7 - '@babel/helper-optimise-call-expression': 7.25.7 - '@babel/traverse': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-member-expression-to-functions': 7.24.8 + '@babel/helper-optimise-call-expression': 7.24.7 + '@babel/traverse': 7.25.6 transitivePeerDependencies: - supports-color dev: false - /@babel/helper-simple-access@7.25.7: - resolution: {integrity: sha512-FPGAkJmyoChQeM+ruBGIDyrT2tKfZJO8NcxdC+CWNJi7N8/rZpSxK7yvBJ5O/nF1gfu5KzN7VKG3YVSLFfRSxQ==} + /@babel/helper-simple-access@7.24.7: + resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/traverse': 7.25.7 - '@babel/types': 7.25.8 + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 transitivePeerDependencies: - supports-color dev: false - /@babel/helper-skip-transparent-expression-wrappers@7.25.7: - resolution: {integrity: sha512-pPbNbchZBkPMD50K0p3JGcFMNLVUCuU/ABybm/PGNj4JiHrpmNyqqCphBk4i19xXtNV0JhldQJJtbSW5aUvbyA==} + /@babel/helper-skip-transparent-expression-wrappers@7.24.7: + resolution: {integrity: sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/traverse': 7.25.7 - '@babel/types': 7.25.8 + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 transitivePeerDependencies: - supports-color dev: false - /@babel/helper-string-parser@7.25.7: - resolution: {integrity: sha512-CbkjYdsJNHFk8uqpEkpCvRs3YRp9tY6FmFY7wLMSYuGYkrdUi7r2lc4/wqsvlHoMznX3WJ9IP8giGPq68T/Y6g==} + /@babel/helper-string-parser@7.24.8: + resolution: {integrity: sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==} engines: {node: '>=6.9.0'} - /@babel/helper-validator-identifier@7.25.7: - resolution: {integrity: sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg==} + /@babel/helper-validator-identifier@7.24.7: + resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} engines: {node: '>=6.9.0'} - /@babel/helper-validator-option@7.25.7: - resolution: {integrity: sha512-ytbPLsm+GjArDYXJ8Ydr1c/KJuutjF2besPNbIZnZ6MKUxi/uTA22t2ymmA4WFjZFpjiAMO0xuuJPqK2nvDVfQ==} + /@babel/helper-validator-option@7.24.8: + resolution: {integrity: sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==} engines: {node: '>=6.9.0'} dev: false - /@babel/helpers@7.25.7: - resolution: {integrity: sha512-Sv6pASx7Esm38KQpF/U/OXLwPPrdGHNKoeblRxgZRLXnAtnkEe4ptJPDtAZM7fBLadbc1Q07kQpSiGQ0Jg6tRA==} + /@babel/helpers@7.25.6: + resolution: {integrity: sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/template': 7.25.7 - '@babel/types': 7.25.8 + '@babel/template': 7.25.0 + '@babel/types': 7.25.6 dev: false - /@babel/highlight@7.25.7: - resolution: {integrity: sha512-iYyACpW3iW8Fw+ZybQK+drQre+ns/tKpXbNESfrhNnPLIklLbXr7MYJ6gPEd0iETGLOK+SxMjVvKb/ffmk+FEw==} + /@babel/highlight@7.24.7: + resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-validator-identifier': 7.25.7 + '@babel/helper-validator-identifier': 7.24.7 chalk: 2.4.2 js-tokens: 4.0.0 - picocolors: 1.1.1 + picocolors: 1.1.0 - /@babel/parser@7.25.8: - resolution: {integrity: sha512-HcttkxzdPucv3nNFmfOOMfFf64KgdJVqm1KaCm25dPGMLElo9nsLvXeJECQg8UzPuBGLyTSA0ZzqCtDSzKTEoQ==} + /@babel/parser@7.25.6: + resolution: {integrity: sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==} engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.25.8 + '@babel/types': 7.25.6 - /@babel/plugin-syntax-jsx@7.25.7(@babel/core@7.25.8): - resolution: {integrity: sha512-ruZOnKO+ajVL/MVx+PwNBPOkrnXTXoWMtte1MBpegfCArhqOe3Bj52avVj1huLLxNKYKXYaSxZ2F+woK1ekXfw==} + /@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.8 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 dev: false - /@babel/plugin-syntax-typescript@7.25.7(@babel/core@7.25.8): - resolution: {integrity: sha512-rR+5FDjpCHqqZN2bzZm18bVYGaejGq5ZkpVCJLXor/+zlSrSoc4KWcHI0URVWjl/68Dyr1uwZUz/1njycEAv9g==} + /@babel/plugin-syntax-typescript@7.25.4(@babel/core@7.25.2): + resolution: {integrity: sha512-uMOCoHVU52BsSWxPOMVv5qKRdeSlPuImUCB2dlPuBSU+W2/ROE7/Zg8F2Kepbk+8yBa68LlRKxO+xgEVWorsDg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.8 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 dev: false - /@babel/plugin-transform-typescript@7.25.7(@babel/core@7.25.8): - resolution: {integrity: sha512-VKlgy2vBzj8AmEzunocMun2fF06bsSWV+FvVXohtL6FGve/+L217qhHxRTVGHEDO/YR8IANcjzgJsd04J8ge5Q==} + /@babel/plugin-transform-typescript@7.25.2(@babel/core@7.25.2): + resolution: {integrity: sha512-lBwRvjSmqiMYe/pS0+1gggjJleUJi7NzjvQ1Fkqtt69hBa/0t1YuW/MLQMAPixfwaQOHUXsd6jeU3Z+vdGv3+A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.8 - '@babel/helper-annotate-as-pure': 7.25.7 - '@babel/helper-create-class-features-plugin': 7.25.7(@babel/core@7.25.8) - '@babel/helper-plugin-utils': 7.25.7 - '@babel/helper-skip-transparent-expression-wrappers': 7.25.7 - '@babel/plugin-syntax-typescript': 7.25.7(@babel/core@7.25.8) + '@babel/core': 7.25.2 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + '@babel/plugin-syntax-typescript': 7.25.4(@babel/core@7.25.2) transitivePeerDependencies: - supports-color dev: false - /@babel/runtime@7.25.7: - resolution: {integrity: sha512-FjoyLe754PMiYsFaN5C94ttGiOmBNYTf6pLr4xXHAT5uctHb092PBszndLDR5XA/jghQvn4n7JMHl7dmTgbm9w==} + /@babel/runtime@7.25.6: + resolution: {integrity: sha512-VBj9MYyDb9tuLq7yzqjgzt6Q+IBQLrGZfdjOekyEirZPHxXWoTSGUTMrpsfi58Up73d13NfYLv8HT9vmznjzhQ==} engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.14.1 dev: false - /@babel/template@7.25.7: - resolution: {integrity: sha512-wRwtAgI3bAS+JGU2upWNL9lSlDcRCqD05BZ1n3X2ONLH1WilFP6O1otQjeMK/1g0pvYcXC7b/qVUB1keofjtZA==} + /@babel/template@7.25.0: + resolution: {integrity: sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.25.7 - '@babel/parser': 7.25.8 - '@babel/types': 7.25.8 + '@babel/code-frame': 7.24.7 + '@babel/parser': 7.25.6 + '@babel/types': 7.25.6 dev: false - /@babel/traverse@7.25.7: - resolution: {integrity: sha512-jatJPT1Zjqvh/1FyJs6qAHL+Dzb7sTb+xr7Q+gM1b+1oBsMsQQ4FkVKb6dFlJvLlVssqkRzV05Jzervt9yhnzg==} + /@babel/traverse@7.25.6: + resolution: {integrity: sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.25.7 - '@babel/generator': 7.25.7 - '@babel/parser': 7.25.8 - '@babel/template': 7.25.7 - '@babel/types': 7.25.8 + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.25.6 + '@babel/parser': 7.25.6 + '@babel/template': 7.25.0 + '@babel/types': 7.25.6 debug: 4.3.7 globals: 11.12.0 transitivePeerDependencies: - supports-color dev: false - /@babel/types@7.25.8: - resolution: {integrity: sha512-JWtuCu8VQsMladxVz/P4HzHUGCAwpuqacmowgXFs5XjxIgKuNjnLokQzuVjlTvIzODaDmpjT3oxcC48vyk9EWg==} + /@babel/types@7.25.6: + resolution: {integrity: sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-string-parser': 7.25.7 - '@babel/helper-validator-identifier': 7.25.7 + '@babel/helper-string-parser': 7.24.8 + '@babel/helper-validator-identifier': 7.24.7 to-fast-properties: 2.0.0 - /@commitlint/cli@17.4.1: - resolution: {integrity: sha512-W8OJwz+izY+fVwyUt1HveCDmABMZNRVZHSVPw/Bh9Y62tp11SmmQaycgbsYLMiMy7JGn4mAJqEGlSHS9Uti9ZQ==} + /@codemirror/autocomplete@6.18.1(@codemirror/language@6.10.2)(@codemirror/state@6.4.1)(@codemirror/view@6.33.0)(@lezer/common@1.2.1): + resolution: {integrity: sha512-iWHdj/B1ethnHRTwZj+C1obmmuCzquH29EbcKr0qIjA9NfDeBDJ7vs+WOHsFeLeflE4o+dHfYndJloMKHUkWUA==} + peerDependencies: + '@codemirror/language': ^6.0.0 + '@codemirror/state': ^6.0.0 + '@codemirror/view': ^6.0.0 + '@lezer/common': ^1.0.0 + dependencies: + '@codemirror/language': 6.10.2 + '@codemirror/state': 6.4.1 + '@codemirror/view': 6.33.0 + '@lezer/common': 1.2.1 + dev: false + + /@codemirror/commands@6.6.2: + resolution: {integrity: sha512-Fq7eWOl1Rcbrfn6jD8FPCj9Auaxdm5nIK5RYOeW7ughnd/rY5AmPg6b+CfsG39ZHdwiwe8lde3q8uR7CF5S0yQ==} + dependencies: + '@codemirror/language': 6.10.2 + '@codemirror/state': 6.4.1 + '@codemirror/view': 6.33.0 + '@lezer/common': 1.2.1 + dev: false + + /@codemirror/lang-json@6.0.1: + resolution: {integrity: sha512-+T1flHdgpqDDlJZ2Lkil/rLiRy684WMLc74xUnjJH48GQdfJo/pudlTRreZmKwzP8/tGdKf83wlbAdOCzlJOGQ==} + dependencies: + '@codemirror/language': 6.10.2 + '@lezer/json': 1.0.2 + dev: false + + /@codemirror/language@6.10.2: + resolution: {integrity: sha512-kgbTYTo0Au6dCSc/TFy7fK3fpJmgHDv1sG1KNQKJXVi+xBTEeBPY/M30YXiU6mMXeH+YIDLsbrT4ZwNRdtF+SA==} + dependencies: + '@codemirror/state': 6.4.1 + '@codemirror/view': 6.33.0 + '@lezer/common': 1.2.1 + '@lezer/highlight': 1.2.1 + '@lezer/lr': 1.4.2 + style-mod: 4.1.2 + dev: false + + /@codemirror/lint@6.8.1: + resolution: {integrity: sha512-IZ0Y7S4/bpaunwggW2jYqwLuHj0QtESf5xcROewY6+lDNwZ/NzvR4t+vpYgg9m7V8UXLPYqG+lu3DF470E5Oxg==} + dependencies: + '@codemirror/state': 6.4.1 + '@codemirror/view': 6.33.0 + crelt: 1.0.6 + dev: false + + /@codemirror/search@6.5.6: + resolution: {integrity: sha512-rpMgcsh7o0GuCDUXKPvww+muLA1pDJaFrpq/CCHtpQJYz8xopu4D1hPcKRoDD0YlF8gZaqTNIRa4VRBWyhyy7Q==} + dependencies: + '@codemirror/state': 6.4.1 + '@codemirror/view': 6.33.0 + crelt: 1.0.6 + dev: false + + /@codemirror/state@6.4.1: + resolution: {integrity: sha512-QkEyUiLhsJoZkbumGZlswmAhA7CBU02Wrz7zvH4SrcifbsqwlXShVXg65f3v/ts57W3dqyamEriMhij1Z3Zz4A==} + dev: false + + /@codemirror/view@6.33.0: + resolution: {integrity: sha512-AroaR3BvnjRW8fiZBalAaK+ZzB5usGgI014YKElYZvQdNH5ZIidHlO+cyf/2rWzyBFRkvG6VhiXeAEbC53P2YQ==} + dependencies: + '@codemirror/state': 6.4.1 + style-mod: 4.1.2 + w3c-keyname: 2.2.8 + dev: false + + /@commitlint/cli@17.8.1: + resolution: {integrity: sha512-ay+WbzQesE0Rv4EQKfNbSMiJJ12KdKTDzIt0tcK4k11FdsWmtwP0Kp1NWMOUswfIWo6Eb7p7Ln721Nx9FLNBjg==} engines: {node: '>=v14'} hasBin: true dependencies: @@ -594,11 +657,11 @@ packages: - '@swc/wasm' dev: true - /@commitlint/config-conventional@17.4.0: - resolution: {integrity: sha512-G4XBf45J4ZMspO4NwBFzY3g/1Kb+B42BcIxeikF8wucQxcyxcmhRdjeQpRpS1XEcBq5pdtEEQFipuB9IuiNFhw==} + /@commitlint/config-conventional@17.8.1: + resolution: {integrity: sha512-NxCOHx1kgneig3VLauWJcDWS40DVjg7nKOpBEEK9E5fjJpQqLCilcnKkIIjdBH98kEO1q3NpE5NSrZ2kl/QGJg==} engines: {node: '>=v14'} dependencies: - conventional-changelog-conventionalcommits: 5.0.0 + conventional-changelog-conventionalcommits: 6.1.0 dev: true /@commitlint/config-validator@17.8.1: @@ -662,14 +725,14 @@ packages: '@commitlint/types': 17.8.1 '@types/node': 20.5.1 chalk: 4.1.2 - cosmiconfig: 8.3.6(typescript@4.9.3) - cosmiconfig-typescript-loader: 4.4.0(@types/node@20.5.1)(cosmiconfig@8.3.6)(ts-node@10.9.2)(typescript@4.9.3) + cosmiconfig: 8.3.6(typescript@4.9.5) + cosmiconfig-typescript-loader: 4.4.0(@types/node@20.5.1)(cosmiconfig@8.3.6)(ts-node@10.9.2)(typescript@4.9.5) lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 lodash.uniq: 4.5.0 resolve-from: 5.0.0 - ts-node: 10.9.2(@types/node@18.14.0)(typescript@4.9.3) - typescript: 4.9.3 + ts-node: 10.9.2(@types/node@18.19.50)(typescript@4.9.5) + typescript: 4.9.5 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' @@ -754,232 +817,251 @@ packages: engines: {node: '>=10'} dev: false - /@esbuild/android-arm64@0.16.17: - resolution: {integrity: sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==} + /@esbuild/android-arm64@0.18.20: + resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} engines: {node: '>=12'} cpu: [arm64] os: [android] requiresBuild: true optional: true - /@esbuild/android-arm@0.16.17: - resolution: {integrity: sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==} + /@esbuild/android-arm@0.18.20: + resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} engines: {node: '>=12'} cpu: [arm] os: [android] requiresBuild: true optional: true - /@esbuild/android-x64@0.16.17: - resolution: {integrity: sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==} + /@esbuild/android-x64@0.18.20: + resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} engines: {node: '>=12'} cpu: [x64] os: [android] requiresBuild: true optional: true - /@esbuild/darwin-arm64@0.16.17: - resolution: {integrity: sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==} + /@esbuild/darwin-arm64@0.18.20: + resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] requiresBuild: true optional: true - /@esbuild/darwin-x64@0.16.17: - resolution: {integrity: sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==} + /@esbuild/darwin-x64@0.18.20: + resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} engines: {node: '>=12'} cpu: [x64] os: [darwin] requiresBuild: true optional: true - /@esbuild/freebsd-arm64@0.16.17: - resolution: {integrity: sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==} + /@esbuild/freebsd-arm64@0.18.20: + resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] requiresBuild: true optional: true - /@esbuild/freebsd-x64@0.16.17: - resolution: {integrity: sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==} + /@esbuild/freebsd-x64@0.18.20: + resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] requiresBuild: true optional: true - /@esbuild/linux-arm64@0.16.17: - resolution: {integrity: sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==} + /@esbuild/linux-arm64@0.18.20: + resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} engines: {node: '>=12'} cpu: [arm64] os: [linux] requiresBuild: true optional: true - /@esbuild/linux-arm@0.16.17: - resolution: {integrity: sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==} + /@esbuild/linux-arm@0.18.20: + resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} engines: {node: '>=12'} cpu: [arm] os: [linux] requiresBuild: true optional: true - /@esbuild/linux-ia32@0.16.17: - resolution: {integrity: sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==} + /@esbuild/linux-ia32@0.18.20: + resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} engines: {node: '>=12'} cpu: [ia32] os: [linux] requiresBuild: true optional: true - /@esbuild/linux-loong64@0.16.17: - resolution: {integrity: sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==} + /@esbuild/linux-loong64@0.18.20: + resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} engines: {node: '>=12'} cpu: [loong64] os: [linux] requiresBuild: true optional: true - /@esbuild/linux-mips64el@0.16.17: - resolution: {integrity: sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==} + /@esbuild/linux-mips64el@0.18.20: + resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] requiresBuild: true optional: true - /@esbuild/linux-ppc64@0.16.17: - resolution: {integrity: sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==} + /@esbuild/linux-ppc64@0.18.20: + resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] requiresBuild: true optional: true - /@esbuild/linux-riscv64@0.16.17: - resolution: {integrity: sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==} + /@esbuild/linux-riscv64@0.18.20: + resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] requiresBuild: true optional: true - /@esbuild/linux-s390x@0.16.17: - resolution: {integrity: sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==} + /@esbuild/linux-s390x@0.18.20: + resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} engines: {node: '>=12'} cpu: [s390x] os: [linux] requiresBuild: true optional: true - /@esbuild/linux-x64@0.16.17: - resolution: {integrity: sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==} + /@esbuild/linux-x64@0.18.20: + resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} engines: {node: '>=12'} cpu: [x64] os: [linux] requiresBuild: true optional: true - /@esbuild/netbsd-x64@0.16.17: - resolution: {integrity: sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==} + /@esbuild/netbsd-x64@0.18.20: + resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] requiresBuild: true optional: true - /@esbuild/openbsd-x64@0.16.17: - resolution: {integrity: sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==} + /@esbuild/openbsd-x64@0.18.20: + resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] requiresBuild: true optional: true - /@esbuild/sunos-x64@0.16.17: - resolution: {integrity: sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==} + /@esbuild/sunos-x64@0.18.20: + resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} engines: {node: '>=12'} cpu: [x64] os: [sunos] requiresBuild: true optional: true - /@esbuild/win32-arm64@0.16.17: - resolution: {integrity: sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==} + /@esbuild/win32-arm64@0.18.20: + resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} engines: {node: '>=12'} cpu: [arm64] os: [win32] requiresBuild: true optional: true - /@esbuild/win32-ia32@0.16.17: - resolution: {integrity: sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==} + /@esbuild/win32-ia32@0.18.20: + resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} engines: {node: '>=12'} cpu: [ia32] os: [win32] requiresBuild: true optional: true - /@esbuild/win32-x64@0.16.17: - resolution: {integrity: sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==} + /@esbuild/win32-x64@0.18.20: + resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} engines: {node: '>=12'} cpu: [x64] os: [win32] requiresBuild: true optional: true - /@fullcalendar/core@6.1.13: - resolution: {integrity: sha512-Cps/hMQan4kwnsBhFf2+m2mijbGoWs6r18ZzxBnAAOkkNHtPmHU8EdR6lF+ZLsiVvb7nsC4H/ZKqnxXWwgpoPw==} + /@fortawesome/fontawesome-common-types@6.6.0: + resolution: {integrity: sha512-xyX0X9mc0kyz9plIyryrRbl7ngsA9jz77mCZJsUkLl+ZKs0KWObgaEBoSgQiYWAsSmjz/yjl0F++Got0Mdp4Rw==} + engines: {node: '>=6'} + dev: false + + /@fortawesome/free-regular-svg-icons@6.6.0: + resolution: {integrity: sha512-Yv9hDzL4aI73BEwSEh20clrY8q/uLxawaQ98lekBx6t9dQKDHcDzzV1p2YtBGTtolYtNqcWdniOnhzB+JPnQEQ==} + engines: {node: '>=6'} + dependencies: + '@fortawesome/fontawesome-common-types': 6.6.0 + dev: false + + /@fortawesome/free-solid-svg-icons@6.6.0: + resolution: {integrity: sha512-IYv/2skhEDFc2WGUcqvFJkeK39Q+HyPf5GHUrT/l2pKbtgEIv1al1TKd6qStR5OIwQdN1GZP54ci3y4mroJWjA==} + engines: {node: '>=6'} + dependencies: + '@fortawesome/fontawesome-common-types': 6.6.0 + dev: false + + /@fullcalendar/core@6.1.15: + resolution: {integrity: sha512-BuX7o6ALpLb84cMw1FCB9/cSgF4JbVO894cjJZ6kP74jzbUZNjtwffwRdA+Id8rrLjT30d/7TrkW90k4zbXB5Q==} dependencies: preact: 10.12.1 dev: false - /@fullcalendar/daygrid@6.1.13(@fullcalendar/core@6.1.13): - resolution: {integrity: sha512-0I0hL1kgGjkZuc7Qt8mu4jjrqIL5PZzd58bEpTxoXRKI5UBZ9KbshGVMryQSXYANlrRtkPnXVt90VIDrxZbDrA==} + /@fullcalendar/daygrid@6.1.15(@fullcalendar/core@6.1.15): + resolution: {integrity: sha512-j8tL0HhfiVsdtOCLfzK2J0RtSkiad3BYYemwQKq512cx6btz6ZZ2RNc/hVnIxluuWFyvx5sXZwoeTJsFSFTEFA==} peerDependencies: - '@fullcalendar/core': ~6.1.13 + '@fullcalendar/core': ~6.1.15 dependencies: - '@fullcalendar/core': 6.1.13 + '@fullcalendar/core': 6.1.15 dev: false - /@fullcalendar/interaction@6.1.13(@fullcalendar/core@6.1.13): - resolution: {integrity: sha512-r1w+jqCRGZZyxKFquueDSFvbsFhJLhc1BX8Nlyz684lYxS1SiToYJW9Q8X/XkySCzpjO3KOnxEp2jVOn1Usyjg==} + /@fullcalendar/interaction@6.1.15(@fullcalendar/core@6.1.15): + resolution: {integrity: sha512-DOTSkofizM7QItjgu7W68TvKKvN9PSEEvDJceyMbQDvlXHa7pm/WAVtAc6xSDZ9xmB1QramYoWGLHkCYbTW1rQ==} peerDependencies: - '@fullcalendar/core': ~6.1.13 + '@fullcalendar/core': ~6.1.15 dependencies: - '@fullcalendar/core': 6.1.13 + '@fullcalendar/core': 6.1.15 dev: false - /@fullcalendar/vue3@6.1.13(@fullcalendar/core@6.1.13)(vue@3.3.4): - resolution: {integrity: sha512-m4pEeYXKo79lnLJAGRrNPxovZWXFXSS/5F+QXLN/eXljP/F2caFG/Bj24eFTXHlj1QykgJ56iwC8ZLpShMdANg==} + /@fullcalendar/vue3@6.1.15(@fullcalendar/core@6.1.15)(vue@3.3.4): + resolution: {integrity: sha512-ctfTICGrNEIj7gmLHQcUYe0WzDTSW5Vd9hyOnVChxPU75AZU9WqdDMkHwJYnfNxNhT6QQuiMHq/qsRRd5zQwOw==} peerDependencies: - '@fullcalendar/core': ~6.1.13 + '@fullcalendar/core': ~6.1.15 vue: ^3.0.11 dependencies: - '@fullcalendar/core': 6.1.13 + '@fullcalendar/core': 6.1.15 vue: 3.3.4 dev: false - /@intlify/core-base@9.13.1: - resolution: {integrity: sha512-+bcQRkJO9pcX8d0gel9ZNfrzU22sZFSA0WVhfXrf5jdJOS24a+Bp8pozuS9sBI9Hk/tGz83pgKfmqcn/Ci7/8w==} + /@intlify/core-base@9.14.0: + resolution: {integrity: sha512-zJn0imh9HIsZZUtt9v8T16PeVstPv6bP2YzlrYJwoF8F30gs4brZBwW2KK6EI5WYKFi3NeqX6+UU4gniz5TkGg==} engines: {node: '>= 16'} dependencies: - '@intlify/message-compiler': 9.13.1 - '@intlify/shared': 9.13.1 + '@intlify/message-compiler': 9.14.0 + '@intlify/shared': 9.14.0 dev: false - /@intlify/message-compiler@9.13.1: - resolution: {integrity: sha512-SKsVa4ajYGBVm7sHMXd5qX70O2XXjm55zdZB3VeMFCvQyvLew/dLvq3MqnaIsTMF1VkkOb9Ttr6tHcMlyPDL9w==} + /@intlify/message-compiler@9.14.0: + resolution: {integrity: sha512-sXNsoMI0YsipSXW8SR75drmVK56tnJHoYbPXUv2Cf9lz6FzvwsosFm6JtC1oQZI/kU+n7qx0qRrEWkeYFTgETA==} engines: {node: '>= 16'} dependencies: - '@intlify/shared': 9.13.1 + '@intlify/shared': 9.14.0 source-map-js: 1.2.1 dev: false - /@intlify/shared@9.13.1: - resolution: {integrity: sha512-u3b6BKGhE6j/JeRU6C/RL2FgyJfy6LakbtfeVF8fJXURpZZTzfh3e05J0bu0XPw447Q6/WUp3C4ajv4TMS4YsQ==} + /@intlify/shared@9.14.0: + resolution: {integrity: sha512-r+N8KRQL7LgN1TMTs1A2svfuAU0J94Wu9wWdJVJqYsoMMLIeJxrPjazihfHpmJqfgZq0ah3Y9Q4pgWV2O90Fyg==} engines: {node: '>= 16'} dev: false @@ -1021,10 +1103,34 @@ packages: '@jridgewell/sourcemap-codec': 1.5.0 dev: true + /@lezer/common@1.2.1: + resolution: {integrity: sha512-yemX0ZD2xS/73llMZIK6KplkjIjf2EvAHcinDi/TfJ9hS25G0388+ClHt6/3but0oOxinTcQHJLDXh6w1crzFQ==} + dev: false + + /@lezer/highlight@1.2.1: + resolution: {integrity: sha512-Z5duk4RN/3zuVO7Jq0pGLJ3qynpxUVsh7IbUbGj88+uV2ApSAn6kWg2au3iJb+0Zi7kKtqffIESgNcRXWZWmSA==} + dependencies: + '@lezer/common': 1.2.1 + dev: false + + /@lezer/json@1.0.2: + resolution: {integrity: sha512-xHT2P4S5eeCYECyKNPhr4cbEL9tc8w83SPwRC373o9uEdrvGKTZoJVAGxpOsZckMlEh9W23Pc72ew918RWQOBQ==} + dependencies: + '@lezer/common': 1.2.1 + '@lezer/highlight': 1.2.1 + '@lezer/lr': 1.4.2 + dev: false + + /@lezer/lr@1.4.2: + resolution: {integrity: sha512-pu0K1jCIdnQ12aWNaAVU5bzi7Bd1w54J3ECgANPmYLtQKP0HBj2cE/5coBD66MT10xbtIuUr7tg0Shbsvk0mDA==} + dependencies: + '@lezer/common': 1.2.1 + dev: false + /@math.gl/core@3.6.3: resolution: {integrity: sha512-jBABmDkj5uuuE0dTDmwwss7Cup5ZwQ6Qb7h1pgvtkEutTrhkcv8SuItQNXmF45494yIHeoGue08NlyeY6wxq2A==} dependencies: - '@babel/runtime': 7.25.7 + '@babel/runtime': 7.25.6 '@math.gl/types': 3.6.3 gl-matrix: 3.4.3 dev: false @@ -1033,10 +1139,6 @@ packages: resolution: {integrity: sha512-3uWLVXHY3jQxsXCr/UCNPSc2BG0hNUljhmOBt9l+lNFDp7zHgm0cK2Tw4kj2XfkJy4TgwZTBGwRDQgWEbLbdTA==} dev: false - /@microsoft/fetch-event-source@2.0.1: - resolution: {integrity: sha512-W6CLUJ2eBMw3Rec70qrsEW0jOm/3twwJv21mrmj2yORiaVmVYGS4sSS5yUwvQc1ZlDLYGPnClVWmUUMagKNsfA==} - dev: false - /@nodelib/fs.scandir@2.1.5: resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -1055,6 +1157,18 @@ packages: '@nodelib/fs.scandir': 2.1.5 fastq: 1.17.1 + /@replit/codemirror-indentation-markers@6.5.3(@codemirror/language@6.10.2)(@codemirror/state@6.4.1)(@codemirror/view@6.33.0): + resolution: {integrity: sha512-hL5Sfvw3C1vgg7GolLe/uxX5T3tmgOA3ZzqlMv47zjU1ON51pzNWiVbS22oh6crYhtVhv8b3gdXwoYp++2ilHw==} + peerDependencies: + '@codemirror/language': ^6.0.0 + '@codemirror/state': ^6.0.0 + '@codemirror/view': ^6.0.0 + dependencies: + '@codemirror/language': 6.10.2 + '@codemirror/state': 6.4.1 + '@codemirror/view': 6.33.0 + dev: false + /@rollup/pluginutils@4.2.1: resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} engines: {node: '>= 8.0.0'} @@ -1063,8 +1177,8 @@ packages: picomatch: 2.3.1 dev: true - /@rollup/pluginutils@5.1.2: - resolution: {integrity: sha512-/FIdS3PyZ39bjZlwqFnWqCOVnW7o963LtKMwQOD0NhQqw22gSr2YY1afu3FxRip4ZCZNsD5jq6Aaz6QV3D/Njw==} + /@rollup/pluginutils@5.1.0: + resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} engines: {node: '>=14.0.0'} peerDependencies: rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 @@ -1072,7 +1186,7 @@ packages: rollup: optional: true dependencies: - '@types/estree': 1.0.6 + '@types/estree': 1.0.5 estree-walker: 2.0.2 picomatch: 2.3.1 @@ -1088,6 +1202,10 @@ packages: engines: {node: '>=6'} dev: true + /@sphinxxxx/color-conversion@2.2.2: + resolution: {integrity: sha512-XExJS3cLqgrmNBIP3bBw6+1oQ1ksGjFh0+oClDKFYpCCqx/hlqwWO5KO/S63fzUo67SxI9dMrF0y5T/Ey7h8Zw==} + dev: false + /@szmarczak/http-timer@1.1.2: resolution: {integrity: sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==} engines: {node: '>=6'} @@ -1133,25 +1251,25 @@ packages: resolution: {integrity: sha512-KqQnQbdYE54D7oa/UmYVMZKq7CO4l8DEENzOKc4aBRwxCXSlJXGz83flFx5L7AWrOQnmuN3kVsRdt+GZPPjiVQ==} deprecated: This is a stub types definition for axios (https://github.com/mzabriskie/axios). axios provides its own type definitions, so you don't need @types/axios installed! dependencies: - axios: 1.2.1 + axios: 1.7.7 transitivePeerDependencies: - debug dev: false - /@types/estree@1.0.6: - resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} + /@types/estree@1.0.5: + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} /@types/fs-extra@8.1.5: resolution: {integrity: sha512-0dzKcwO+S8s2kuF5Z9oUWatQJj5Uq/iqphEtE3GQJVRRYm/tD1LglU2UnXi2A8jLq5umkGouOXOR9y0n613ZwQ==} dependencies: - '@types/node': 18.14.0 + '@types/node': 18.19.50 dev: false /@types/glob@7.2.0: resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} dependencies: '@types/minimatch': 5.1.2 - '@types/node': 18.14.0 + '@types/node': 18.19.50 dev: false /@types/json-schema@7.0.15: @@ -1161,21 +1279,21 @@ packages: /@types/keyv@3.1.4: resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} dependencies: - '@types/node': 18.14.0 + '@types/node': 18.19.50 dev: true /@types/linkify-it@5.0.0: resolution: {integrity: sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==} dev: false - /@types/lodash-es@4.17.6: - resolution: {integrity: sha512-R+zTeVUKDdfoRxpAryaQNRKk3105Rrgx2CFRClIgRGaqDTdjsm8h6IYA8ir584W3ePzkZfst5xIgDwYrlh9HLg==} + /@types/lodash-es@4.17.12: + resolution: {integrity: sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==} dependencies: - '@types/lodash': 4.17.12 + '@types/lodash': 4.17.7 dev: true - /@types/lodash@4.17.12: - resolution: {integrity: sha512-sviUmCE8AYdaF/KIHLDJBQgeYzPBI0vf/17NaYehBJfYD1j6/L95Slh07NlyK2iNyBNaEkb3En2jRt+a8y3xZQ==} + /@types/lodash@4.17.7: + resolution: {integrity: sha512-8wTvZawATi/lsmNu10/j2hk1KEP0IvjubqPE3cu1Xz7xfXXt5oCq3SNUz4fMIP4XGF9Ky+Ue2tBA3hcS7LSBlA==} dev: true /@types/markdown-it@14.1.2: @@ -1185,8 +1303,8 @@ packages: '@types/mdurl': 2.0.0 dev: false - /@types/marked@4.0.8: - resolution: {integrity: sha512-HVNzMT5QlWCOdeuBsgXP8EZzKUf0+AXzN+sLmjvaB3ZlLqO+e4u0uXrdw9ub69wBKFs+c6/pA4r9sy6cCDvImw==} + /@types/marked@4.3.2: + resolution: {integrity: sha512-a79Yc3TOk6dGdituy8hmTTJXjOkZ7zsFYV10L337ttq/rec8lRMDBpV7fL3uLx6TgbFCa5DU/h8FmIBQPSbU0w==} dev: false /@types/mdurl@2.0.0: @@ -1205,14 +1323,10 @@ packages: resolution: {integrity: sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==} dev: true - /@types/node@18.14.0: - resolution: {integrity: sha512-5EWrvLmglK+imbCJY0+INViFWUHg1AHel1sq4ZVSfdcNqGy9Edv3UB9IIzzg+xPaUcAgZYcfVs2fBcwDeZzU0A==} - - /@types/node@18.19.57: - resolution: {integrity: sha512-I2ioBd/IPrYDMv9UNR5NlPElOZ68QB7yY5V2EsLtSrTO0LM0PnCEFF9biLWHf5k+sIy4ohueCV9t4gk1AEdlVA==} + /@types/node@18.19.50: + resolution: {integrity: sha512-xonK+NRrMBRtkL1hVCc3G+uXtjh1Al4opBLjqVmipe5ZAaBYWW6cNAiBVZ1BvmkBhep698rP3UM3aRAdSALuhg==} dependencies: undici-types: 5.26.5 - dev: false /@types/node@20.5.1: resolution: {integrity: sha512-4tT2UrL5LBqDwoed9wZ6N3umC4Yhz3W3FloMmiiG4JwmUJWpie0c7lcnUNd4gtMKuDEO4wRVS8B6Xa0uMRsMKg==} @@ -1225,86 +1339,64 @@ packages: /@types/responselike@1.0.3: resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==} dependencies: - '@types/node': 18.14.0 + '@types/node': 18.19.50 dev: true /@types/web-bluetooth@0.0.16: resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==} dev: false - /@vitejs/plugin-vue-jsx@3.0.0(vite@4.0.0)(vue@3.3.4): - resolution: {integrity: sha512-vurkuzgac5SYuxd2HUZqAFAWGTF10diKBwJNbCvnWijNZfXd+7jMtqjPFbGt7idOJUn584fP1Ar9j/GN2jQ3Ew==} + /@vitejs/plugin-vue-jsx@3.1.0(vite@4.5.5)(vue@3.3.4): + resolution: {integrity: sha512-w9M6F3LSEU5kszVb9An2/MmXNxocAnUb3WhRr8bHlimhDrXNt6n6D2nJQR3UXpGlZHh/EsgouOHCsM8V3Ln+WA==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: - vite: ^4.0.0 + vite: ^4.0.0 || ^5.0.0 vue: ^3.0.0 dependencies: - '@babel/core': 7.25.8 - '@babel/plugin-transform-typescript': 7.25.7(@babel/core@7.25.8) - '@vue/babel-plugin-jsx': 1.2.5(@babel/core@7.25.8) - vite: 4.0.0(@types/node@18.14.0)(less@4.1.3) + '@babel/core': 7.25.2 + '@babel/plugin-transform-typescript': 7.25.2(@babel/core@7.25.2) + '@vue/babel-plugin-jsx': 1.2.5(@babel/core@7.25.2) + vite: 4.5.5(@types/node@18.19.50)(less@4.2.0) vue: 3.3.4 transitivePeerDependencies: - supports-color dev: false - /@vitejs/plugin-vue@4.0.0(vite@4.0.0)(vue@3.3.4): - resolution: {integrity: sha512-e0X4jErIxAB5oLtDqbHvHpJe/uWNkdpYV83AOG2xo2tEVSzCzewgJMtREZM30wXnM5ls90hxiOtAuVU6H5JgbA==} + /@vitejs/plugin-vue@4.6.2(vite@4.5.5)(vue@3.3.4): + resolution: {integrity: sha512-kqf7SGFoG+80aZG6Pf+gsZIVvGSCKE98JbiWqcCV9cThtg91Jav0yvYFC9Zb+jKetNGF6ZKeoaxgZfND21fWKw==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: - vite: ^4.0.0 + vite: ^4.0.0 || ^5.0.0 vue: ^3.2.25 dependencies: - vite: 4.0.0(@types/node@18.14.0)(less@4.1.3) + vite: 4.5.5(@types/node@18.19.50)(less@4.2.0) vue: 3.3.4 dev: true - /@volar/language-core@1.0.11: - resolution: {integrity: sha512-YwUYKxIyDc+Fq3kQ6BGGfkrKCG5JzE2Yr6vMxrxEXW2rg/gsq3JgMk/4sI8ybRsaTirhCB4V8+AIVYsvcRxgig==} + /@volar/language-core@1.11.1: + resolution: {integrity: sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==} dependencies: - '@volar/source-map': 1.0.11 - '@vue/reactivity': 3.5.12 - muggle-string: 0.1.0 + '@volar/source-map': 1.11.1 dev: true - /@volar/source-map@1.0.11: - resolution: {integrity: sha512-tkuV9MD+OuiZfHA0qZXrPdW6F7TvnpnuTan6Qe7UGUs9+sflezlMJdjaYdGgQObfP+06pcT1E3xdkOoi08ZyyQ==} + /@volar/source-map@1.11.1: + resolution: {integrity: sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg==} dependencies: - muggle-string: 0.1.0 + muggle-string: 0.3.1 dev: true - /@volar/typescript@1.0.11: - resolution: {integrity: sha512-mq7wDDAs0Eb43jev2FxbowuiwWqvL3kb+tar1we8VQbdabpyQ5dmbWPwo/IglevMmW3SKo1Et+6rqAeZpXNnPQ==} + /@volar/typescript@1.11.1: + resolution: {integrity: sha512-iU+t2mas/4lYierSnoFOeRFQUhAEMgsFuQxoxvwn5EdQopw43j+J27a4lt9LMInx1gLJBC6qL14WYGlgymaSMQ==} dependencies: - '@volar/language-core': 1.0.11 - dev: true - - /@volar/vue-language-core@1.0.11: - resolution: {integrity: sha512-A3ODs0/ua7BcpSSnE7KtO8bzWsYsbOJRyW2Q/2uktxlfHj8srln3JdgK/mNlIgfnWtACbE5K+EfMJOgJKv864A==} - dependencies: - '@volar/language-core': 1.0.11 - '@volar/source-map': 1.0.11 - '@vue/compiler-dom': 3.5.12 - '@vue/compiler-sfc': 3.5.12 - '@vue/reactivity': 3.5.12 - '@vue/shared': 3.5.12 - minimatch: 5.1.6 - vue-template-compiler: 2.7.16 - dev: true - - /@volar/vue-typescript@1.0.11: - resolution: {integrity: sha512-jlnFPvBcTyPiAbGlgjhKK7fp3Q+Z7Z5eU1NTbTSS0lQC8Gog3sh2UxLAFG5Voe1gHIxasoOEPXzMR0CWF4bKbA==} - deprecated: 'WARNING: This project has been renamed to @vue/typescript. Install using @vue/typescript instead.' - dependencies: - '@volar/typescript': 1.0.11 - '@volar/vue-language-core': 1.0.11 + '@volar/language-core': 1.11.1 + path-browserify: 1.0.1 dev: true /@vue/babel-helper-vue-transform-on@1.2.5: resolution: {integrity: sha512-lOz4t39ZdmU4DJAa2hwPYmKc8EsuGa2U0L9KaZaOJUt0UwQNjNA3AZTq6uEivhOKhhG1Wvy96SvYBoFmCg3uuw==} dev: false - /@vue/babel-plugin-jsx@1.2.5(@babel/core@7.25.8): + /@vue/babel-plugin-jsx@1.2.5(@babel/core@7.25.2): resolution: {integrity: sha512-zTrNmOd4939H9KsRIGmmzn3q2zvv1mjxkYZHgqHZgDrXz5B1Q3WyGEjO2f+JrmKghvl1JIRcvo63LgM1kH5zFg==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1312,32 +1404,32 @@ packages: '@babel/core': optional: true dependencies: - '@babel/core': 7.25.8 - '@babel/helper-module-imports': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 - '@babel/plugin-syntax-jsx': 7.25.7(@babel/core@7.25.8) - '@babel/template': 7.25.7 - '@babel/traverse': 7.25.7 - '@babel/types': 7.25.8 + '@babel/core': 7.25.2 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.25.2) + '@babel/template': 7.25.0 + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 '@vue/babel-helper-vue-transform-on': 1.2.5 - '@vue/babel-plugin-resolve-type': 1.2.5(@babel/core@7.25.8) + '@vue/babel-plugin-resolve-type': 1.2.5(@babel/core@7.25.2) html-tags: 3.3.1 svg-tags: 1.0.0 transitivePeerDependencies: - supports-color dev: false - /@vue/babel-plugin-resolve-type@1.2.5(@babel/core@7.25.8): + /@vue/babel-plugin-resolve-type@1.2.5(@babel/core@7.25.2): resolution: {integrity: sha512-U/ibkQrf5sx0XXRnUZD1mo5F7PkpKyTbfXM3a3rC4YnUz6crHEz9Jg09jzzL6QYlXNto/9CePdOg/c87O4Nlfg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/code-frame': 7.25.7 - '@babel/core': 7.25.8 - '@babel/helper-module-imports': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 - '@babel/parser': 7.25.8 - '@vue/compiler-sfc': 3.5.12 + '@babel/code-frame': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/parser': 7.25.6 + '@vue/compiler-sfc': 3.5.6 transitivePeerDependencies: - supports-color dev: false @@ -1345,16 +1437,16 @@ packages: /@vue/compiler-core@3.3.4: resolution: {integrity: sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==} dependencies: - '@babel/parser': 7.25.8 + '@babel/parser': 7.25.6 '@vue/shared': 3.3.4 estree-walker: 2.0.2 source-map-js: 1.2.1 - /@vue/compiler-core@3.5.12: - resolution: {integrity: sha512-ISyBTRMmMYagUxhcpyEH0hpXRd/KqDU4ymofPgl2XAkY9ZhQ+h0ovEZJIiPop13UmR/54oA2cgMDjgroRelaEw==} + /@vue/compiler-core@3.5.6: + resolution: {integrity: sha512-r+gNu6K4lrvaQLQGmf+1gc41p3FO2OUJyWmNqaIITaJU6YFiV5PtQSFZt8jfztYyARwqhoCayjprC7KMvT3nRA==} dependencies: - '@babel/parser': 7.25.8 - '@vue/shared': 3.5.12 + '@babel/parser': 7.25.6 + '@vue/shared': 3.5.6 entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.2.1 @@ -1365,36 +1457,36 @@ packages: '@vue/compiler-core': 3.3.4 '@vue/shared': 3.3.4 - /@vue/compiler-dom@3.5.12: - resolution: {integrity: sha512-9G6PbJ03uwxLHKQ3P42cMTi85lDRvGLB2rSGOiQqtXELat6uI4n8cNz9yjfVHRPIu+MsK6TE418Giruvgptckg==} + /@vue/compiler-dom@3.5.6: + resolution: {integrity: sha512-xRXqxDrIqK8v8sSScpistyYH0qYqxakpsIvqMD2e5sV/PXQ1mTwtXp4k42yHK06KXxKSmitop9e45Ui/3BrTEw==} dependencies: - '@vue/compiler-core': 3.5.12 - '@vue/shared': 3.5.12 + '@vue/compiler-core': 3.5.6 + '@vue/shared': 3.5.6 /@vue/compiler-sfc@3.3.4: resolution: {integrity: sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==} dependencies: - '@babel/parser': 7.25.8 + '@babel/parser': 7.25.6 '@vue/compiler-core': 3.3.4 '@vue/compiler-dom': 3.3.4 '@vue/compiler-ssr': 3.3.4 '@vue/reactivity-transform': 3.3.4 '@vue/shared': 3.3.4 estree-walker: 2.0.2 - magic-string: 0.30.12 + magic-string: 0.30.11 postcss: 8.4.47 source-map-js: 1.2.1 - /@vue/compiler-sfc@3.5.12: - resolution: {integrity: sha512-2k973OGo2JuAa5+ZlekuQJtitI5CgLMOwgl94BzMCsKZCX/xiqzJYzapl4opFogKHqwJk34vfsaKpfEhd1k5nw==} + /@vue/compiler-sfc@3.5.6: + resolution: {integrity: sha512-pjWJ8Kj9TDHlbF5LywjVso+BIxCY5wVOLhkEXRhuCHDxPFIeX1zaFefKs8RYoHvkSMqRWt93a0f2gNJVJixHwg==} dependencies: - '@babel/parser': 7.25.8 - '@vue/compiler-core': 3.5.12 - '@vue/compiler-dom': 3.5.12 - '@vue/compiler-ssr': 3.5.12 - '@vue/shared': 3.5.12 + '@babel/parser': 7.25.6 + '@vue/compiler-core': 3.5.6 + '@vue/compiler-dom': 3.5.6 + '@vue/compiler-ssr': 3.5.6 + '@vue/shared': 3.5.6 estree-walker: 2.0.2 - magic-string: 0.30.12 + magic-string: 0.30.11 postcss: 8.4.47 source-map-js: 1.2.1 @@ -1404,35 +1496,55 @@ packages: '@vue/compiler-dom': 3.3.4 '@vue/shared': 3.3.4 - /@vue/compiler-ssr@3.5.12: - resolution: {integrity: sha512-eLwc7v6bfGBSM7wZOGPmRavSWzNFF6+PdRhE+VFJhNCgHiF8AM7ccoqcv5kBXA2eWUfigD7byekvf/JsOfKvPA==} + /@vue/compiler-ssr@3.5.6: + resolution: {integrity: sha512-VpWbaZrEOCqnmqjE83xdwegtr5qO/2OPUC6veWgvNqTJ3bYysz6vY3VqMuOijubuUYPRpG3OOKIh9TD0Stxb9A==} dependencies: - '@vue/compiler-dom': 3.5.12 - '@vue/shared': 3.5.12 + '@vue/compiler-dom': 3.5.6 + '@vue/shared': 3.5.6 /@vue/devtools-api@6.6.4: resolution: {integrity: sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==} dev: false + /@vue/language-core@1.8.27(typescript@4.9.5): + resolution: {integrity: sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@volar/language-core': 1.11.1 + '@volar/source-map': 1.11.1 + '@vue/compiler-dom': 3.5.6 + '@vue/shared': 3.5.6 + computeds: 0.0.1 + minimatch: 9.0.5 + muggle-string: 0.3.1 + path-browserify: 1.0.1 + typescript: 4.9.5 + vue-template-compiler: 2.7.16 + dev: true + /@vue/reactivity-transform@3.3.4: resolution: {integrity: sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==} dependencies: - '@babel/parser': 7.25.8 + '@babel/parser': 7.25.6 '@vue/compiler-core': 3.3.4 '@vue/shared': 3.3.4 estree-walker: 2.0.2 - magic-string: 0.30.12 + magic-string: 0.30.11 /@vue/reactivity@3.3.4: resolution: {integrity: sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==} dependencies: '@vue/shared': 3.3.4 - /@vue/reactivity@3.5.12: - resolution: {integrity: sha512-UzaN3Da7xnJXdz4Okb/BGbAaomRHc3RdoWqTzlvd9+WBR5m3J39J1fGcHes7U3za0ruYn/iYy/a1euhMEHvTAg==} + /@vue/reactivity@3.5.6: + resolution: {integrity: sha512-shZ+KtBoHna5GyUxWfoFVBCVd7k56m6lGhk5e+J9AKjheHF6yob5eukssHRI+rzvHBiU1sWs/1ZhNbLExc5oYQ==} dependencies: - '@vue/shared': 3.5.12 - dev: true + '@vue/shared': 3.5.6 + dev: false /@vue/runtime-core@3.3.4: resolution: {integrity: sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA==} @@ -1440,6 +1552,13 @@ packages: '@vue/reactivity': 3.3.4 '@vue/shared': 3.3.4 + /@vue/runtime-core@3.5.6: + resolution: {integrity: sha512-FpFULR6+c2lI+m1fIGONLDqPQO34jxV8g6A4wBOgne8eSRHP6PQL27+kWFIx5wNhhjkO7B4rgtsHAmWv7qKvbg==} + dependencies: + '@vue/reactivity': 3.5.6 + '@vue/shared': 3.5.6 + dev: false + /@vue/runtime-dom@3.3.4: resolution: {integrity: sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ==} dependencies: @@ -1447,6 +1566,15 @@ packages: '@vue/shared': 3.3.4 csstype: 3.1.3 + /@vue/runtime-dom@3.5.6: + resolution: {integrity: sha512-SDPseWre45G38ENH2zXRAHL1dw/rr5qp91lS4lt/nHvMr0MhsbCbihGAWLXNB/6VfFOJe2O+RBRkXU+CJF7/sw==} + dependencies: + '@vue/reactivity': 3.5.6 + '@vue/runtime-core': 3.5.6 + '@vue/shared': 3.5.6 + csstype: 3.1.3 + dev: false + /@vue/server-renderer@3.3.4(vue@3.3.4): resolution: {integrity: sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ==} peerDependencies: @@ -1456,11 +1584,21 @@ packages: '@vue/shared': 3.3.4 vue: 3.3.4 + /@vue/server-renderer@3.5.6(vue@3.5.6): + resolution: {integrity: sha512-zivnxQnOnwEXVaT9CstJ64rZFXMS5ZkKxCjDQKiMSvUhXRzFLWZVbaBiNF4HGDqGNNsTgmjcCSmU6TB/0OOxLA==} + peerDependencies: + vue: 3.5.6 + dependencies: + '@vue/compiler-ssr': 3.5.6 + '@vue/shared': 3.5.6 + vue: 3.5.6(typescript@4.9.5) + dev: false + /@vue/shared@3.3.4: resolution: {integrity: sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==} - /@vue/shared@3.5.12: - resolution: {integrity: sha512-L2RPSAwUFbgZH20etwrXyVyCBu9OxRSi8T/38QsvnkJyvq2LufW2lDCOzm7t/U9C1mkhJGWYfCuFBCmIuNivrg==} + /@vue/shared@3.5.6: + resolution: {integrity: sha512-eidH0HInnL39z6wAt6SFIwBrvGOpDWsDxlw3rCgo1B+CQ1781WzQUSU3YjxgdkcJo9Q8S6LmXTkvI+cLHGkQfA==} /@vuemap/amap-jsapi-loader@1.0.4: resolution: {integrity: sha512-s5fFHrsNkjYMovEmUJ5S23jpDtElTanDN2HdCt/amOD245a8wWVcTPjl06YEHXtxf6Ewm+z29wQByOCn209Hxg==} @@ -1502,8 +1640,8 @@ packages: unplugin-vue-components: 0.22.12(vue@3.3.4) dev: true - /@vuemap/vue-amap@2.1.2(vue@3.3.4): - resolution: {integrity: sha512-4Tn8CrmEPv822pt2pJxCtG49+GSItqDMdKHb34RtB8qyY5GpRnMeS564ZoGsZCU7S2bMLqlEw9mBneJVU5huVQ==} + /@vuemap/vue-amap@2.1.6(vue@3.3.4): + resolution: {integrity: sha512-xOFQuWYgQKRVI/yxlXv9Rb3lTTA8lZMRvzUxpfZzAIy161SGWRlggLWNLAAI+q06t0kRyIvRLII6Jlat/NOaMQ==} peerDependencies: vue: '3' dependencies: @@ -1531,18 +1669,6 @@ packages: vue-demi: 0.14.10(vue@3.3.4) dev: false - /@vueuse/core@9.10.0(vue@3.3.4): - resolution: {integrity: sha512-CxMewME07qeuzuT/AOIQGv0EhhDoojniqU6pC3F8m5VC76L47UT18DcX88kWlP3I7d3qMJ4u/PD8iSRsy3bmNA==} - dependencies: - '@types/web-bluetooth': 0.0.16 - '@vueuse/metadata': 9.10.0 - '@vueuse/shared': 9.10.0(vue@3.3.4) - vue-demi: 0.14.10(vue@3.3.4) - transitivePeerDependencies: - - '@vue/composition-api' - - vue - dev: false - /@vueuse/core@9.13.0(vue@3.3.4): resolution: {integrity: sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==} dependencies: @@ -1555,44 +1681,18 @@ packages: - vue dev: false - /@vueuse/metadata@9.10.0: - resolution: {integrity: sha512-G5VZhgTCapzU9rv0Iq2HBrVOSGzOKb+OE668NxhXNcTjUjwYxULkEhAw70FtRLMZc+hxcFAzDZlKYA0xcwNMuw==} - dev: false - /@vueuse/metadata@9.13.0: resolution: {integrity: sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==} dev: false - /@vueuse/router@11.1.0(vue-router@4.1.6)(vue@3.3.4): - resolution: {integrity: sha512-OjTNIOzX5jD1HDzmDApMke2QsCZ+gWKaydfndKJ3j9ttn41Pr11cQbSY6ZBp+bNjctAR+jhQBV/DGtL3iKpuHg==} - peerDependencies: - vue-router: '>=4.0.0-rc.1' - dependencies: - '@vueuse/shared': 11.1.0(vue@3.3.4) - vue-demi: 0.14.10(vue@3.3.4) - vue-router: 4.1.6(vue@3.3.4) - transitivePeerDependencies: - - '@vue/composition-api' - - vue - dev: false - - /@vueuse/router@9.13.0(vue-router@4.1.6)(vue@3.3.4): + /@vueuse/router@9.13.0(vue-router@4.4.5)(vue@3.3.4): resolution: {integrity: sha512-lcL6auSUGMGZMdDzZJb02QDe909AChzMXoxqFS3gL2E8mHmIx0SrNor+33UkqvvBPi18vXpDq/R7tPd9fxWwTg==} peerDependencies: vue-router: '>=4.0.0-rc.1' dependencies: '@vueuse/shared': 9.13.0(vue@3.3.4) vue-demi: 0.14.10(vue@3.3.4) - vue-router: 4.1.6(vue@3.3.4) - transitivePeerDependencies: - - '@vue/composition-api' - - vue - dev: false - - /@vueuse/shared@11.1.0(vue@3.3.4): - resolution: {integrity: sha512-YUtIpY122q7osj+zsNMFAfMTubGz0sn5QzE5gPzAIiCmtt2ha3uQUY1+JPyL4gRCTsLPX82Y9brNbo/aqlA91w==} - dependencies: - vue-demi: 0.14.10(vue@3.3.4) + vue-router: 4.4.5(vue@3.3.4) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -1613,15 +1713,6 @@ packages: vue-demi: 0.14.10(vue@3.3.4) dev: false - /@vueuse/shared@9.10.0(vue@3.3.4): - resolution: {integrity: sha512-vakHJ2ZRklAzqmcVBL38RS7BxdBA4+5poG9NsSyqJxrt9kz0zX3P5CXMy0Hm6LFbZXUgvKdqAS3pUH1zX/5qTQ==} - dependencies: - vue-demi: 0.14.10(vue@3.3.4) - transitivePeerDependencies: - - '@vue/composition-api' - - vue - dev: false - /@vueuse/shared@9.13.0(vue@3.3.4): resolution: {integrity: sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==} dependencies: @@ -1753,34 +1844,26 @@ packages: through: 2.3.8 dev: true - /acorn-import-attributes@1.9.5(acorn@8.13.0): + /acorn-import-attributes@1.9.5(acorn@8.12.1): resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==} peerDependencies: acorn: ^8 dependencies: - acorn: 8.13.0 + acorn: 8.12.1 dev: false /acorn-walk@8.3.4: resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} engines: {node: '>=0.4.0'} dependencies: - acorn: 8.13.0 + acorn: 8.12.1 dev: true - /acorn@8.13.0: - resolution: {integrity: sha512-8zSiw54Oxrdym50NlZ9sUusyO1Z1ZchgRLWRaK6c86XJFClyCgFKetdowBg5bKxyp/u+CDBJG4Mpp0m3HLZl9w==} + /acorn@8.12.1: + resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} engines: {node: '>=0.4.0'} hasBin: true - /aggregate-error@3.1.0: - resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} - engines: {node: '>=8'} - dependencies: - clean-stack: 2.2.0 - indent-string: 4.0.0 - dev: true - /ajv-keywords@3.5.2(ajv@6.12.6): resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} peerDependencies: @@ -1802,10 +1885,9 @@ packages: resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} dependencies: fast-deep-equal: 3.1.3 - fast-uri: 3.0.3 + fast-uri: 3.0.1 json-schema-traverse: 1.0.0 require-from-string: 2.0.2 - dev: true /ansi-align@2.0.0: resolution: {integrity: sha512-TdlOggdA/zURfMYa7ABC66j+oqfMew58KpJMbUlH3bcZP1b+cBHIHDDn5uH9INsxrHBPjsqM0tDB4jPTF/vgJA==} @@ -1826,6 +1908,13 @@ packages: type-fest: 0.21.3 dev: true + /ansi-escapes@5.0.0: + resolution: {integrity: sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA==} + engines: {node: '>=12'} + dependencies: + type-fest: 1.4.0 + dev: true + /ansi-regex@2.1.1: resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==} engines: {node: '>=0.10.0'} @@ -1872,15 +1961,15 @@ packages: engines: {node: '>=12'} dev: true - /ant-design-vue@3.2.15(vue@3.3.4): - resolution: {integrity: sha512-sJfE7LWimSdAPe4dzNyQBrmVMnOTNQTkG9oOyr+7W8qIYrX8sYWyC68Nn1uum4KBJUSZUa/BU6dohvTG0urBhA==} + /ant-design-vue@3.2.20(vue@3.3.4): + resolution: {integrity: sha512-YWpMfGaGoRastIXEYfCoJiaRiDHk4chqtYhlKQM5GqPt6NfvrM1Vg2e60yHtjxlZjed91wCMm0rAmyUr7Hwzdg==} engines: {node: '>=12.22.0'} peerDependencies: vue: '>=3.2.0' dependencies: '@ant-design/colors': 6.0.0 '@ant-design/icons-vue': 6.1.0(vue@3.3.4) - '@babel/runtime': 7.25.7 + '@babel/runtime': 7.25.6 '@ctrl/tinycolor': 3.6.1 '@simonwep/pickr': 1.8.2 array-tree-filter: 2.1.0 @@ -1912,6 +2001,11 @@ packages: /argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + /aria-query@5.3.1: + resolution: {integrity: sha512-Z/ZeOgVl7bcSYZ/u/rh0fOpvEpq//LZmdbkXyc7syVzjPAhfOa9ebsdTSjEBDU4vs5nC98Kfduj1uFo0qyET3g==} + engines: {node: '>= 0.4'} + dev: false + /array-ify@1.0.0: resolution: {integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==} dev: true @@ -1930,30 +2024,10 @@ packages: engines: {node: '>=0.10.0'} dev: true - /asn1@0.2.6: - resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==} - dependencies: - safer-buffer: 2.1.2 - dev: false - - /assert-plus@1.0.0: - resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==} - engines: {node: '>=0.8'} - dev: false - - /astral-regex@2.0.0: - resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} - engines: {node: '>=8'} - dev: true - /async-validator@4.2.5: resolution: {integrity: sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==} dev: false - /async@1.5.2: - resolution: {integrity: sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==} - dev: false - /async@3.2.6: resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==} dev: true @@ -1962,40 +2036,37 @@ packages: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} dev: false - /autoprefixer@10.4.13(postcss@8.4.47): - resolution: {integrity: sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==} + /autoprefixer@10.4.20(postcss@8.4.47): + resolution: {integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==} engines: {node: ^10 || ^12 || >=14} hasBin: true peerDependencies: postcss: ^8.1.0 dependencies: - browserslist: 4.24.0 - caniuse-lite: 1.0.30001669 + browserslist: 4.23.3 + caniuse-lite: 1.0.30001660 fraction.js: 4.3.7 normalize-range: 0.1.2 - picocolors: 1.1.1 + picocolors: 1.1.0 postcss: 8.4.47 postcss-value-parser: 4.2.0 dev: true - /aws-sign2@0.7.0: - resolution: {integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==} - dev: false - - /aws4@1.13.2: - resolution: {integrity: sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw==} - dev: false - - /axios@1.2.1: - resolution: {integrity: sha512-I88cFiGu9ryt/tfVEi4kX2SITsvDddTajXTOFmt2uK1ZVA8LytjtdeyefdQWEf5PU8w+4SSJDoYnggflB5tW4A==} + /axios@1.7.7: + resolution: {integrity: sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==} dependencies: follow-redirects: 1.15.9 - form-data: 4.0.1 + form-data: 4.0.0 proxy-from-env: 1.1.0 transitivePeerDependencies: - debug dev: false + /axobject-query@4.1.0: + resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} + engines: {node: '>= 0.4'} + dev: false + /babel-code-frame@6.26.0: resolution: {integrity: sha512-XqYMR2dfdGMW+hd0IUZ2PwK+fGeFkOxZJ0wY+JaQAHzt1Zx8LcvpiZD2NiGkEG8qx0CfkAOr5xt76d1e8vG90g==} dependencies: @@ -2007,12 +2078,6 @@ packages: /balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - /bcrypt-pbkdf@1.0.2: - resolution: {integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==} - dependencies: - tweetnacl: 0.14.5 - dev: false - /binary-extensions@2.3.0: resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} @@ -2065,15 +2130,15 @@ packages: dependencies: fill-range: 7.1.1 - /browserslist@4.24.0: - resolution: {integrity: sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A==} + /browserslist@4.23.3: + resolution: {integrity: sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001669 - electron-to-chromium: 1.5.41 + caniuse-lite: 1.0.30001660 + electron-to-chromium: 1.5.25 node-releases: 2.0.18 - update-browserslist-db: 1.1.1(browserslist@4.24.0) + update-browserslist-db: 1.1.0(browserslist@4.23.3) /buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} @@ -2082,13 +2147,6 @@ packages: resolution: {integrity: sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ==} dev: true - /bundle-name@4.1.0: - resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} - engines: {node: '>=18'} - dependencies: - run-applescript: 7.0.0 - dev: false - /cacheable-request@6.1.0: resolution: {integrity: sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==} engines: {node: '>=8'} @@ -2111,7 +2169,7 @@ packages: resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} dependencies: pascal-case: 3.1.2 - tslib: 2.8.0 + tslib: 2.7.0 dev: true /camelcase-keys@6.2.2: @@ -2133,14 +2191,14 @@ packages: engines: {node: '>=6'} dev: true - /caniuse-lite@1.0.30001669: - resolution: {integrity: sha512-DlWzFDJqstqtIVx1zeSpIMLjunf5SmwOw0N2Ck/QSQdS8PLS4+9HrLaYei4w8BIAL7IB/UEDu889d8vhCTPA0w==} + /caniuse-lite@1.0.30001660: + resolution: {integrity: sha512-GacvNTTuATm26qC74pt+ad1fW15mlQ/zuTzzY1ZoIzECTP8HURDfF43kNxPgf7H1jmelCBQTTbBNxdSXOA7Bqg==} /capital-case@1.0.4: resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==} dependencies: no-case: 3.0.4 - tslib: 2.8.0 + tslib: 2.7.0 upper-case-first: 2.0.2 dev: true @@ -2149,10 +2207,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /caseless@0.12.0: - resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} - dev: false - /chalk@1.1.3: resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==} engines: {node: '>=0.10.0'} @@ -2186,6 +2240,10 @@ packages: dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 + + /chalk@5.3.0: + resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} dev: true /change-case@4.1.2: @@ -2202,7 +2260,7 @@ packages: path-case: 3.0.4 sentence-case: 3.0.4 snake-case: 3.0.4 - tslib: 2.8.0 + tslib: 2.7.0 dev: true /chardet@0.7.0: @@ -2223,6 +2281,13 @@ packages: optionalDependencies: fsevents: 2.3.3 + /chokidar@4.0.0: + resolution: {integrity: sha512-mxIojEAQcuEvT/lyXq+jf/3cO/KoA6z4CeNDGGevTybECPOMFCnQy3OPahluUkbqgPNGw5Bi78UC7Po6Lhy+NA==} + engines: {node: '>= 14.16.0'} + dependencies: + readdirp: 4.0.1 + dev: false + /chrome-trace-event@1.0.4: resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} engines: {node: '>=6.0'} @@ -2243,11 +2308,6 @@ packages: source-map: 0.6.1 dev: true - /clean-stack@2.2.0: - resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} - engines: {node: '>=6'} - dev: true - /cli-boxes@1.0.0: resolution: {integrity: sha512-3Fo5wu8Ytle8q9iCzS4D2MWVL2X7JVWRiS1BnXbTFDhS9c/REkM9vd1AmabsoZoY5/dGi5TT9iKL8Kb6DeBRQg==} engines: {node: '>=0.10.0'} @@ -2265,12 +2325,11 @@ packages: restore-cursor: 3.1.0 dev: true - /cli-truncate@2.1.0: - resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} - engines: {node: '>=8'} + /cli-cursor@4.0.0: + resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: - slice-ansi: 3.0.0 - string-width: 4.2.3 + restore-cursor: 4.0.0 dev: true /cli-truncate@3.1.0: @@ -2316,6 +2375,28 @@ packages: mimic-response: 1.0.1 dev: true + /code-red@1.0.4: + resolution: {integrity: sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==} + dependencies: + '@jridgewell/sourcemap-codec': 1.5.0 + '@types/estree': 1.0.5 + acorn: 8.12.1 + estree-walker: 3.0.3 + periscopic: 3.1.0 + dev: false + + /codemirror-wrapped-line-indent@1.0.8(@codemirror/language@6.10.2)(@codemirror/state@6.4.1)(@codemirror/view@6.33.0): + resolution: {integrity: sha512-5UwuHCz4oAZuvot1DbfFxSxJacTESdNGa/KpJD7HfpVpDAJdgB1vV9OG4b4pkJqPWuOfIpFLTQEKS85kTpV+XA==} + peerDependencies: + '@codemirror/language': ^6.9.0 + '@codemirror/state': ^6.2.1 + '@codemirror/view': ^6.17.1 + dependencies: + '@codemirror/language': 6.10.2 + '@codemirror/state': 6.4.1 + '@codemirror/view': 6.33.0 + dev: false + /color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} dependencies: @@ -2357,18 +2438,17 @@ packages: delayed-stream: 1.0.0 dev: false + /commander@11.0.0: + resolution: {integrity: sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ==} + engines: {node: '>=16'} + dev: true + /commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} /commander@8.3.0: resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} engines: {node: '>= 12'} - dev: true - - /commander@9.5.0: - resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} - engines: {node: ^12.20.0 || >=14} - dev: true /comment-json@2.4.2: resolution: {integrity: sha512-T+iXox779qsqneMYx/x5BZyz4xjCeQRmuNVzz8tko7qZUs3MlzpA3RAs+O1XsgcKToNBMIvfVzafGOeiU7RggA==} @@ -2380,12 +2460,12 @@ packages: repeat-string: 1.6.1 dev: true - /commitlint@17.4.1: - resolution: {integrity: sha512-stTT0LYdoIUMstnaqwuVzwb7ujVWvw/1qLxFNY9jFlwX8/kLMEWX0iFOPMeiLRda4T90beNExWFc8mPe98tLzQ==} + /commitlint@17.8.1: + resolution: {integrity: sha512-X+VPJwZsQDeGj/DG1NsxhZEl+oMHKNC+1myZ/zauNDoo+7OuLHfTOUU1C1a4CjKW4b6T7NuoFcYfK0kRCjCtbA==} engines: {node: '>=v14'} hasBin: true dependencies: - '@commitlint/cli': 17.4.1 + '@commitlint/cli': 17.8.1 '@commitlint/types': 17.8.1 transitivePeerDependencies: - '@swc/core' @@ -2403,6 +2483,10 @@ packages: resolution: {integrity: sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg==} dev: false + /computeds@0.0.1: + resolution: {integrity: sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==} + dev: true + /concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} @@ -2412,8 +2496,8 @@ packages: deprecated: 'WARNING: This package has been renamed to typed-array-concat.' dev: false - /confbox@0.1.8: - resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} + /confbox@0.1.7: + resolution: {integrity: sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==} dev: false /configstore@3.1.5: @@ -2457,7 +2541,7 @@ packages: resolution: {integrity: sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==} dependencies: no-case: 3.0.4 - tslib: 2.8.0 + tslib: 2.7.0 upper-case: 2.0.2 dev: true @@ -2468,13 +2552,11 @@ packages: compare-func: 2.0.0 dev: true - /conventional-changelog-conventionalcommits@5.0.0: - resolution: {integrity: sha512-lCDbA+ZqVFQGUj7h9QBKoIpLhl8iihkO0nCTyRNzuXtcd7ubODpYB04IFy31JloiJgG0Uovu8ot8oxRzn7Nwtw==} - engines: {node: '>=10'} + /conventional-changelog-conventionalcommits@6.1.0: + resolution: {integrity: sha512-3cS3GEtR78zTfMzk0AizXKKIdN4OvSh7ibNz6/DPbhWWQu7LqE/8+/GqSodV+sywUR2gpJAdP/1JFf4XtN7Zpw==} + engines: {node: '>=14'} dependencies: compare-func: 2.0.0 - lodash: 4.17.21 - q: 1.5.1 dev: true /conventional-commits-parser@4.0.0: @@ -2502,15 +2584,11 @@ packages: requiresBuild: true dev: false - /core-util-is@1.0.2: - resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} - dev: false - /core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} dev: true - /cosmiconfig-typescript-loader@4.4.0(@types/node@20.5.1)(cosmiconfig@8.3.6)(ts-node@10.9.2)(typescript@4.9.3): + /cosmiconfig-typescript-loader@4.4.0(@types/node@20.5.1)(cosmiconfig@8.3.6)(ts-node@10.9.2)(typescript@4.9.5): resolution: {integrity: sha512-BabizFdC3wBHhbI4kJh0VkQP9GkBfoHPydD0COMce1nJ1kJAB3F2TmJ/I7diULBKtmEWSwEbuN/KDtgnmUUVmw==} engines: {node: '>=v14.21.3'} peerDependencies: @@ -2520,12 +2598,12 @@ packages: typescript: '>=4' dependencies: '@types/node': 20.5.1 - cosmiconfig: 8.3.6(typescript@4.9.3) - ts-node: 10.9.2(@types/node@18.14.0)(typescript@4.9.3) - typescript: 4.9.3 + cosmiconfig: 8.3.6(typescript@4.9.5) + ts-node: 10.9.2(@types/node@18.19.50)(typescript@4.9.5) + typescript: 4.9.5 dev: true - /cosmiconfig@8.3.6(typescript@4.9.3): + /cosmiconfig@8.3.6(typescript@4.9.5): resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} engines: {node: '>=14'} peerDependencies: @@ -2538,7 +2616,7 @@ packages: js-yaml: 4.1.0 parse-json: 5.2.0 path-type: 4.0.0 - typescript: 4.9.3 + typescript: 4.9.5 dev: true /create-error-class@3.0.2: @@ -2552,6 +2630,10 @@ packages: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} dev: true + /crelt@1.0.6: + resolution: {integrity: sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==} + dev: false + /cronstrue@2.50.0: resolution: {integrity: sha512-ULYhWIonJzlScCCQrPUG5uMXzXxSixty4djud9SS37DoNxDdkeRocxzHuAo4ImRBUK+mAuU5X9TSwEDccnnuPg==} hasBin: true @@ -2598,6 +2680,14 @@ packages: nth-check: 2.1.1 dev: true + /css-tree@2.3.1: + resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} + dependencies: + mdn-data: 2.0.30 + source-map-js: 1.2.1 + dev: false + /css-what@6.1.0: resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} engines: {node: '>= 6'} @@ -2625,13 +2715,6 @@ packages: engines: {node: '>=8'} dev: true - /dashdash@1.14.1: - resolution: {integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==} - engines: {node: '>=0.10'} - dependencies: - assert-plus: 1.0.0 - dev: false - /dayjs@1.11.11: resolution: {integrity: sha512-okzr3f11N6WuqYtZSvm+F776mB41wRZMhKP+hc34YdW+KmtYYK9iqvHSwo2k9FEH3fhGXvOPV6yz2IcSrfRUDg==} dev: false @@ -2640,6 +2723,18 @@ packages: resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} dev: true + /debug@4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + dev: true + /debug@4.3.7: resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} engines: {node: '>=6.0'} @@ -2681,19 +2776,6 @@ packages: engines: {node: '>=0.10.0'} dev: false - /default-browser-id@5.0.0: - resolution: {integrity: sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==} - engines: {node: '>=18'} - dev: false - - /default-browser@5.2.1: - resolution: {integrity: sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==} - engines: {node: '>=18'} - dependencies: - bundle-name: 4.1.0 - default-browser-id: 5.0.0 - dev: false - /defer-to-connect@1.1.3: resolution: {integrity: sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==} dev: true @@ -2703,11 +2785,6 @@ packages: engines: {node: '>=8'} dev: false - /define-lazy-prop@3.0.0: - resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} - engines: {node: '>=12'} - dev: false - /delayed-stream@1.0.0: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} @@ -2722,6 +2799,11 @@ packages: engines: {node: '>=8'} dev: true + /diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dev: false + /diff@4.0.2: resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} engines: {node: '>=0.3.1'} @@ -2777,7 +2859,7 @@ packages: resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} dependencies: no-case: 3.0.4 - tslib: 2.8.0 + tslib: 2.7.0 dev: true /dot-prop@4.2.1: @@ -2829,18 +2911,11 @@ packages: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} dev: true - /ecc-jsbn@0.1.2: - resolution: {integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==} - dependencies: - jsbn: 0.1.1 - safer-buffer: 2.1.2 - dev: false - - /echarts@5.4.1: - resolution: {integrity: sha512-9ltS3M2JB0w2EhcYjCdmtrJ+6haZcW6acBolMGIuf01Hql1yrIV01L1aRj7jsaaIULJslEP9Z3vKlEmnJaWJVQ==} + /echarts@5.5.1: + resolution: {integrity: sha512-Fce8upazaAXUVUVsjgV6mBnGuqgO+JNDlcgF79Dksy4+wgGpQB2lmYoO4TSweFg/mZITdpGHomw/cNBJZj1icA==} dependencies: tslib: 2.3.0 - zrender: 5.4.1 + zrender: 5.6.0 dev: false /editorconfig@0.15.3: @@ -2861,8 +2936,8 @@ packages: jake: 10.9.2 dev: true - /electron-to-chromium@1.5.41: - resolution: {integrity: sha512-dfdv/2xNjX0P8Vzme4cfzHqnPm5xsZXwsolTYr0eyW18IUmNyG08vL+fttvinTfhKfIKdRoqkDIC9e9iWQCNYQ==} + /electron-to-chromium@1.5.25: + resolution: {integrity: sha512-kMb204zvK3PsSlgvvwzI3wBIcAw15tRkYk+NQdsjdDtcQWTp2RABbMQ9rUBy8KNEOM+/E6ep+XC3AykiWZld4g==} /emoji-regex@7.0.3: resolution: {integrity: sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==} @@ -2946,34 +3021,34 @@ packages: ext: 1.7.0 dev: false - /esbuild@0.16.17: - resolution: {integrity: sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==} + /esbuild@0.18.20: + resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: - '@esbuild/android-arm': 0.16.17 - '@esbuild/android-arm64': 0.16.17 - '@esbuild/android-x64': 0.16.17 - '@esbuild/darwin-arm64': 0.16.17 - '@esbuild/darwin-x64': 0.16.17 - '@esbuild/freebsd-arm64': 0.16.17 - '@esbuild/freebsd-x64': 0.16.17 - '@esbuild/linux-arm': 0.16.17 - '@esbuild/linux-arm64': 0.16.17 - '@esbuild/linux-ia32': 0.16.17 - '@esbuild/linux-loong64': 0.16.17 - '@esbuild/linux-mips64el': 0.16.17 - '@esbuild/linux-ppc64': 0.16.17 - '@esbuild/linux-riscv64': 0.16.17 - '@esbuild/linux-s390x': 0.16.17 - '@esbuild/linux-x64': 0.16.17 - '@esbuild/netbsd-x64': 0.16.17 - '@esbuild/openbsd-x64': 0.16.17 - '@esbuild/sunos-x64': 0.16.17 - '@esbuild/win32-arm64': 0.16.17 - '@esbuild/win32-ia32': 0.16.17 - '@esbuild/win32-x64': 0.16.17 + '@esbuild/android-arm': 0.18.20 + '@esbuild/android-arm64': 0.18.20 + '@esbuild/android-x64': 0.18.20 + '@esbuild/darwin-arm64': 0.18.20 + '@esbuild/darwin-x64': 0.18.20 + '@esbuild/freebsd-arm64': 0.18.20 + '@esbuild/freebsd-x64': 0.18.20 + '@esbuild/linux-arm': 0.18.20 + '@esbuild/linux-arm64': 0.18.20 + '@esbuild/linux-ia32': 0.18.20 + '@esbuild/linux-loong64': 0.18.20 + '@esbuild/linux-mips64el': 0.18.20 + '@esbuild/linux-ppc64': 0.18.20 + '@esbuild/linux-riscv64': 0.18.20 + '@esbuild/linux-s390x': 0.18.20 + '@esbuild/linux-x64': 0.18.20 + '@esbuild/netbsd-x64': 0.18.20 + '@esbuild/openbsd-x64': 0.18.20 + '@esbuild/sunos-x64': 0.18.20 + '@esbuild/win32-arm64': 0.18.20 + '@esbuild/win32-ia32': 0.18.20 + '@esbuild/win32-x64': 0.18.20 /escalade@3.2.0: resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} @@ -3037,6 +3112,12 @@ packages: /estree-walker@2.0.2: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + /estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + dependencies: + '@types/estree': 1.0.5 + dev: false + /esutils@2.0.3: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} @@ -3057,6 +3138,10 @@ packages: resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} dev: false + /eventemitter3@5.0.1: + resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} + dev: true + /events@3.3.0: resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} engines: {node: '>=0.8.x'} @@ -3090,13 +3175,13 @@ packages: strip-final-newline: 2.0.0 dev: true - /execa@6.1.0: - resolution: {integrity: sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + /execa@7.2.0: + resolution: {integrity: sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==} + engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0} dependencies: cross-spawn: 7.0.3 get-stream: 6.0.1 - human-signals: 3.0.1 + human-signals: 4.3.1 is-stream: 3.0.0 merge-stream: 2.0.0 npm-run-path: 5.3.0 @@ -3120,6 +3205,7 @@ packages: /extend@3.0.2: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + dev: true /external-editor@3.1.0: resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} @@ -3130,11 +3216,6 @@ packages: tmp: 0.0.33 dev: true - /extsprintf@1.3.0: - resolution: {integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==} - engines: {'0': node >=0.6.0} - dev: false - /fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} @@ -3152,9 +3233,8 @@ packages: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} dev: false - /fast-uri@3.0.3: - resolution: {integrity: sha512-aLrHthzCjH5He4Z2H9YZ+v6Ujb9ocRuW6ZzkJQOrTxleEijANq4v1TsaPaVG1PZcuurEzrLcWRyYBYXD5cEiaw==} - dev: true + /fast-uri@3.0.1: + resolution: {integrity: sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==} /fastq@1.17.1: resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} @@ -3213,21 +3293,8 @@ packages: optional: true dev: false - /forever-agent@0.6.1: - resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==} - dev: false - - /form-data@2.3.3: - resolution: {integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==} - engines: {node: '>= 0.12'} - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - mime-types: 2.1.35 - dev: false - - /form-data@4.0.1: - resolution: {integrity: sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==} + /form-data@4.0.0: + resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} engines: {node: '>= 6'} dependencies: asynckit: 0.4.0 @@ -3316,12 +3383,6 @@ packages: engines: {node: '>=10'} dev: true - /getpass@0.1.7: - resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==} - dependencies: - assert-plus: 1.0.0 - dev: false - /git-config-path@1.0.1: resolution: {integrity: sha512-KcJ2dlrrP5DbBnYIZ2nlikALfRhKzNSX0stvv3ImJ+fvC4hXKoV+U+74SV0upg+jlQZbrtQzc0bu6/Zh+7aQbg==} engines: {node: '>=0.10.0'} @@ -3463,20 +3524,6 @@ packages: /graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - /har-schema@2.0.0: - resolution: {integrity: sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==} - engines: {node: '>=4'} - dev: false - - /har-validator@5.1.5: - resolution: {integrity: sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==} - engines: {node: '>=6'} - deprecated: this library is no longer supported - dependencies: - ajv: 6.12.6 - har-schema: 2.0.0 - dev: false - /hard-rejection@2.1.0: resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} engines: {node: '>=6'} @@ -3522,7 +3569,7 @@ packages: resolution: {integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==} dependencies: capital-case: 1.0.4 - tslib: 2.8.0 + tslib: 2.7.0 dev: true /highlight.js@11.10.0: @@ -3559,7 +3606,7 @@ packages: he: 1.2.0 param-case: 3.0.4 relateurl: 0.2.7 - terser: 5.36.0 + terser: 5.33.0 dev: true /html-tags@3.3.1: @@ -3571,31 +3618,18 @@ packages: resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} dev: true - /http-signature@1.2.0: - resolution: {integrity: sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==} - engines: {node: '>=0.8', npm: '>=1.3.7'} - dependencies: - assert-plus: 1.0.0 - jsprim: 1.4.2 - sshpk: 1.18.0 - dev: false - /human-signals@2.1.0: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} engines: {node: '>=10.17.0'} dev: true - /human-signals@3.0.1: - resolution: {integrity: sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==} - engines: {node: '>=12.20.0'} + /human-signals@4.3.1: + resolution: {integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==} + engines: {node: '>=14.18.0'} dev: true - /humps@2.0.1: - resolution: {integrity: sha512-E0eIbrFWUhwfXJmsbdjRQFQPrl5pTEoKlz163j1mTqqUnU9PgR4AgB8AIITzuB3vLBdxZXyZ9TDIrwB2OASz4g==} - dev: false - - /husky@8.0.0: - resolution: {integrity: sha512-4qbE/5dzNDNxFEkX9MNRPKl5+omTXQzdILCUWiqG/lWIAioiM5vln265/l6I2Zx8gpW8l1ukZwGQeCFbBZ6+6w==} + /husky@8.0.3: + resolution: {integrity: sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==} engines: {node: '>=14'} hasBin: true dev: true @@ -3627,6 +3661,14 @@ packages: requiresBuild: true optional: true + /immutable-json-patch@6.0.1: + resolution: {integrity: sha512-BHL/cXMjwFZlTOffiWNdY8ZTvNyYLrutCnWxrcKPHr5FqpAb6vsO6WWSPnVSys3+DruFN6lhHJJPHi8uELQL5g==} + dev: false + + /immutable@4.3.7: + resolution: {integrity: sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==} + dev: false + /import-fresh@3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} engines: {node: '>=6'} @@ -3666,6 +3708,12 @@ packages: /ini@1.3.8: resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + dev: true + + /ini@2.0.0: + resolution: {integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==} + engines: {node: '>=10'} + dev: false /inquirer@7.3.3: resolution: {integrity: sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==} @@ -3727,12 +3775,6 @@ packages: hasBin: true dev: false - /is-docker@3.0.0: - resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - hasBin: true - dev: false - /is-extendable@0.1.1: resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} engines: {node: '>=0.10.0'} @@ -3762,14 +3804,6 @@ packages: dependencies: is-extglob: 2.1.1 - /is-inside-container@1.0.0: - resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} - engines: {node: '>=14.16'} - hasBin: true - dependencies: - is-docker: 3.0.0 - dev: false - /is-installed-globally@0.1.0: resolution: {integrity: sha512-ERNhMg+i/XgDwPIPF3u24qpajVreaiSuvpb1Uu0jugw7KKcxGyCX8cgp8P5fwTmAuXku6beDHHECdKArjlg7tw==} engines: {node: '>=4'} @@ -3837,6 +3871,12 @@ packages: engines: {node: '>=0.10.0'} dev: true + /is-reference@3.0.2: + resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==} + dependencies: + '@types/estree': 1.0.5 + dev: false + /is-retry-allowed@1.2.0: resolution: {integrity: sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==} engines: {node: '>=0.10.0'} @@ -3866,6 +3906,7 @@ packages: /is-typedarray@1.0.0: resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} + dev: true /is-what@3.14.1: resolution: {integrity: sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==} @@ -3877,13 +3918,6 @@ packages: is-docker: 2.2.1 dev: false - /is-wsl@3.1.0: - resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} - engines: {node: '>=16'} - dependencies: - is-inside-container: 1.0.0 - dev: false - /is-yarn-global@0.3.0: resolution: {integrity: sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==} dev: true @@ -3892,10 +3926,6 @@ packages: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} dev: true - /isstream@0.1.2: - resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==} - dev: false - /jake@10.9.2: resolution: {integrity: sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==} engines: {node: '>=10'} @@ -3911,7 +3941,7 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 18.19.57 + '@types/node': 18.19.50 merge-stream: 2.0.0 supports-color: 8.1.1 dev: false @@ -3920,12 +3950,12 @@ packages: resolution: {integrity: sha512-AZf/soh1hmmwjBZ00fr1emuMEydeReaI6IBTGByQYhTmK1Zd5pQAxC7WLek2snRAn/HHDgJfVz2hjditKThl6Q==} dev: false - /jetlinks-ui-components@1.0.48(vue-router@4.1.6)(vue@3.3.4): - resolution: {integrity: sha512-tAKplLwXLCo/ofbgrLAvOgjZrjdgbMx+rnf+rvK17vjaTV13gWtn/77UNFzCa3kO4TXGn+FVU6qY6wULZO4U/w==} + /jetlinks-ui-components@1.0.49(vue-router@4.4.5)(vue@3.3.4): + resolution: {integrity: sha512-DEZ1K7Wg6mZPev4kw38YXFCQc3okb6VPwqwDAyoOMX+bJHh7ey92xK129E3FxqNsGSDmVSsP5rZHa8fn3d+ySw==} engines: {node: '>=18.14.0'} dependencies: '@vueuse/core': 9.13.0(vue@3.3.4) - '@vueuse/router': 9.13.0(vue-router@4.1.6)(vue@3.3.4) + '@vueuse/router': 9.13.0(vue-router@4.4.5)(vue@3.3.4) colorpicker-v3: 2.10.2 lodash-es: 4.17.21 monaco-editor: 0.40.0 @@ -3936,6 +3966,11 @@ packages: - vue-router dev: false + /jmespath@0.16.0: + resolution: {integrity: sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==} + engines: {node: '>= 0.6.0'} + dev: false + /js-tokens@3.0.2: resolution: {integrity: sha512-RjTcuD4xjtthQkaWH7dFlH85L+QaVtSoOyGdZ3g6HFhS9dFNDfLyqgm2NFe2X6cQpeFmt0452FJjFG5UameExg==} dev: true @@ -3950,17 +3985,13 @@ packages: argparse: 2.0.1 dev: true - /jsbn@0.1.1: - resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==} - dev: false - /jsencrypt@3.3.2: resolution: {integrity: sha512-arQR1R1ESGdAxY7ZheWr12wCaF2yF47v5qpB76TtV64H1pyGudk9Hvw8Y9tb/FiTIaaTRUyaSnm5T/Y53Ghm/A==} dev: false - /jsesc@3.0.2: - resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} - engines: {node: '>=6'} + /jsesc@2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} hasBin: true dev: false @@ -3977,14 +4008,9 @@ packages: /json-schema-traverse@1.0.0: resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} - dev: true - - /json-schema@0.4.0: - resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} - dev: false - /json-stringify-safe@5.0.1: - resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} + /json-source-map@0.6.1: + resolution: {integrity: sha512-1QoztHPsMQqhDq0hlXY5ZqcEdUzxQEIxgFkKl4WUp2pgShObl+9ovi4kRh2TfvAfxAoHOJ9vIMEqk3k4iex7tg==} dev: false /json5@2.2.3: @@ -4011,14 +4037,9 @@ packages: engines: {'0': node >= 0.2.0} dev: true - /jsprim@1.4.2: - resolution: {integrity: sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==} - engines: {node: '>=0.6.0'} - dependencies: - assert-plus: 1.0.0 - extsprintf: 1.3.0 - json-schema: 0.4.0 - verror: 1.10.0 + /jsonrepair@3.8.0: + resolution: {integrity: sha512-89lrxpwp+IEcJ6kwglF0HH3Tl17J08JEpYfXnvvjdp4zV4rjSoGu2NdQHxBs7yTOk3ETjTn9du48pBy8iBqj1w==} + hasBin: true dev: false /keyv@3.1.0: @@ -4037,11 +4058,6 @@ packages: engines: {node: '>=6'} dev: true - /klona@2.0.6: - resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==} - engines: {node: '>= 8'} - dev: false - /latest-version@3.1.0: resolution: {integrity: sha512-Be1YRHWWlZaSsrz2U+VInk+tO0EwLIyV+23RhWLINJYwg/UIikxjlj3MhH37/6/EDCAusjajvMkMMUXRaMWl/w==} engines: {node: '>=4'} @@ -4056,26 +4072,25 @@ packages: package-json: 6.5.0 dev: true - /less-loader@11.1.0(less@4.1.3)(webpack@5.95.0): - resolution: {integrity: sha512-C+uDBV7kS7W5fJlUjq5mPBeBVhYpTIm5gB09APT9o3n/ILeaXVsiSFTbZpTJCJwQ/Crczfn3DmfQFwxYusWFug==} + /less-loader@11.1.4(less@4.2.0)(webpack@5.94.0): + resolution: {integrity: sha512-6/GrYaB6QcW6Vj+/9ZPgKKs6G10YZai/l/eJ4SLwbzqNTBsAqt5hSLVF47TgsiBxV1P6eAU0GYRH3YRuQU9V3A==} engines: {node: '>= 14.15.0'} peerDependencies: less: ^3.5.0 || ^4.0.0 webpack: ^5.0.0 dependencies: - klona: 2.0.6 - less: 4.1.3 - webpack: 5.95.0 + less: 4.2.0 + webpack: 5.94.0 dev: false - /less@4.1.3: - resolution: {integrity: sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA==} + /less@4.2.0: + resolution: {integrity: sha512-P3b3HJDBtSzsXUl0im2L7gTO5Ubg8mEN6G8qoTS77iXxXX4Hvu4Qj540PZDvQ8V6DmX6iXo98k7Md0Cm1PrLaA==} engines: {node: '>=6'} hasBin: true dependencies: copy-anything: 2.0.6 parse-node-version: 1.0.1 - tslib: 2.8.0 + tslib: 2.7.0 optionalDependencies: errno: 0.1.8 graceful-fs: 4.2.11 @@ -4100,8 +4115,8 @@ packages: yargs: 14.2.3 dev: true - /lilconfig@2.0.6: - resolution: {integrity: sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==} + /lilconfig@2.1.0: + resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} engines: {node: '>=10'} dev: true @@ -4115,24 +4130,21 @@ packages: uc.micro: 2.1.0 dev: false - /lint-staged@13.1.0: - resolution: {integrity: sha512-pn/sR8IrcF/T0vpWLilih8jmVouMlxqXxKuAojmbiGX5n/gDnz+abdPptlj0vYnbfE0SQNl3CY/HwtM0+yfOVQ==} - engines: {node: ^14.13.1 || >=16.0.0} + /lint-staged@13.3.0: + resolution: {integrity: sha512-mPRtrYnipYYv1FEE134ufbWpeggNTo+O/UPzngoaKzbzHAthvR55am+8GfHTnqNRQVRRrYQLGW9ZyUoD7DsBHQ==} + engines: {node: ^16.14.0 || >=18.0.0} hasBin: true dependencies: - cli-truncate: 3.1.0 - colorette: 2.0.20 - commander: 9.5.0 - debug: 4.3.7 - execa: 6.1.0 - lilconfig: 2.0.6 - listr2: 5.0.8 - micromatch: 4.0.8 - normalize-path: 3.0.0 - object-inspect: 1.13.2 + chalk: 5.3.0 + commander: 11.0.0 + debug: 4.3.4 + execa: 7.2.0 + lilconfig: 2.1.0 + listr2: 6.6.1 + micromatch: 4.0.5 pidtree: 0.6.0 string-argv: 0.3.2 - yaml: 2.6.0 + yaml: 2.3.1 transitivePeerDependencies: - enquirer - supports-color @@ -4143,23 +4155,21 @@ packages: engines: {node: '>= 0.4'} dev: true - /listr2@5.0.8: - resolution: {integrity: sha512-mC73LitKHj9w6v30nLNGPetZIlfpUniNSsxxrbaPcWOjDb92SHPzJPi/t+v1YC/lxKz/AJ9egOjww0qUuFxBpA==} - engines: {node: ^14.13.1 || >=16.0.0} + /listr2@6.6.1: + resolution: {integrity: sha512-+rAXGHh0fkEWdXBmX+L6mmfmXmXvDGEKzkjxO+8mP3+nI/r/CWznVBvsibXdxda9Zz0OW2e2ikphN3OwCT/jSg==} + engines: {node: '>=16.0.0'} peerDependencies: enquirer: '>= 2.3.0 < 3' peerDependenciesMeta: enquirer: optional: true dependencies: - cli-truncate: 2.1.0 + cli-truncate: 3.1.0 colorette: 2.0.20 - log-update: 4.0.0 - p-map: 4.0.0 + eventemitter3: 5.0.1 + log-update: 5.0.1 rfdc: 1.4.1 - rxjs: 7.8.1 - through: 2.3.8 - wrap-ansi: 7.0.0 + wrap-ansi: 8.1.0 dev: true /loader-runner@4.3.0: @@ -4171,6 +4181,10 @@ packages: resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==} engines: {node: '>=14'} + /locate-character@3.0.0: + resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==} + dev: false + /locate-path@3.0.0: resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} engines: {node: '>=6'} @@ -4240,14 +4254,15 @@ packages: /lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - /log-update@4.0.0: - resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==} - engines: {node: '>=10'} + /log-update@5.0.1: + resolution: {integrity: sha512-5UtUDQ/6edw4ofyljDNcOVJQ4c7OjDro4h3y8e1GQL5iYElYclVHJ3zeWchylvMaKnDbDilC8irOVyexnA/Slw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: - ansi-escapes: 4.3.2 - cli-cursor: 3.1.0 - slice-ansi: 4.0.0 - wrap-ansi: 6.2.0 + ansi-escapes: 5.0.0 + cli-cursor: 4.0.0 + slice-ansi: 5.0.0 + strip-ansi: 7.1.0 + wrap-ansi: 8.1.0 dev: true /longest@2.0.1: @@ -4265,7 +4280,7 @@ packages: /lower-case@2.0.2: resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} dependencies: - tslib: 2.8.0 + tslib: 2.7.0 dev: true /lowercase-keys@1.0.1: @@ -4310,8 +4325,8 @@ packages: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 - /magic-string@0.30.12: - resolution: {integrity: sha512-Ea8I3sQMVXr8JhN4z+H/d8zwo+tYDgHE9+5G4Wnrwhs0gaK9fXTKx0Tw5Xwsd/bCPTTZNRAdpyzvoeORe9LYpw==} + /magic-string@0.30.11: + resolution: {integrity: sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==} dependencies: '@jridgewell/sourcemap-codec': 1.5.0 @@ -4378,8 +4393,8 @@ packages: resolution: {integrity: sha512-WYJ7urf+khJYl3DqofQpYfEYkZKbmXmwxQV8c8mO/hGIhgZ1wOe7R4HLFNwqx7TjILbnC98fuyeSsin19JdFcQ==} dev: false - /markdown-it-highlightjs@4.0.1: - resolution: {integrity: sha512-EPXwFEN6P5nqR3G4KjT20r20xbGYKMMA/360hhSYFmeoGXTE6hsLtJAiB/8ID8slVH4CWHHEL7GX0YenyIstVQ==} + /markdown-it-highlightjs@4.1.0: + resolution: {integrity: sha512-aYcgme5aYn10BHEvLZaCNgwxU2oaAX9inK9dwCv38wJdq7tal5FzZrLdQQY8MR3I1H07S3BKgYGRX2kKuPT+sA==} dependencies: highlight.js: 11.10.0 dev: false @@ -4420,16 +4435,24 @@ packages: uc.micro: 2.1.0 dev: false - /marked@4.2.12: - resolution: {integrity: sha512-yr8hSKa3Fv4D3jdZmtMMPghgVt6TWbk86WQaWhDloQjRSQhMMYCAro7jP7VDJrjjdV8pxVxMssXS8B8Y5DZ5aw==} + /marked@4.3.0: + resolution: {integrity: sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==} engines: {node: '>= 12'} hasBin: true dev: false + /mdn-data@2.0.30: + resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} + dev: false + /mdurl@2.0.0: resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==} dev: false + /memoize-one@6.0.0: + resolution: {integrity: sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==} + dev: false + /meow@8.1.2: resolution: {integrity: sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==} engines: {node: '>=10'} @@ -4454,6 +4477,14 @@ packages: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} + /micromatch@4.0.5: + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + dev: true + /micromatch@4.0.8: resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} @@ -4523,6 +4554,13 @@ packages: dependencies: brace-expansion: 2.0.1 + /minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + brace-expansion: 2.0.1 + dev: true + /minimist-options@4.1.0: resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} engines: {node: '>= 6'} @@ -4536,12 +4574,12 @@ packages: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} dev: true - /mlly@1.7.2: - resolution: {integrity: sha512-tN3dvVHYVz4DhSXinXIk7u9syPYaJvio118uomkovAtWBT+RdbP6Lfh/5Lvo519YMmwBafwlh20IPTXIStscpA==} + /mlly@1.7.1: + resolution: {integrity: sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==} dependencies: - acorn: 8.13.0 + acorn: 8.12.1 pathe: 1.1.2 - pkg-types: 1.2.1 + pkg-types: 1.2.0 ufo: 1.5.4 dev: false @@ -4576,11 +4614,11 @@ packages: strip-bom: 4.0.0 validate-npm-package-name: 3.0.0 webpack-merge: 4.2.2 - yaml: 2.6.0 + yaml: 2.5.1 dev: true - /mrm@4.1.13: - resolution: {integrity: sha512-IvMv4fVFfzQ6wUlC4eCl1sCzyMyz+yEjV4sHux7UQRIylJ8iCqFgM9JxpdKA1dPmEuf0s+itFJsp5CHMIpCdMw==} + /mrm@4.1.22: + resolution: {integrity: sha512-qvlUBfl5MU5YR50SJ3imjloqmYLrbX0uVN0cLIpU3lc0aUWPdl30BqJIX4V3Cr5zF4/QikBY7AYh6XWtp1cDJA==} engines: {node: '>=10.13'} hasBin: true dependencies: @@ -4603,11 +4641,15 @@ packages: which: 2.0.2 dev: true + /ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + dev: true + /ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - /muggle-string@0.1.0: - resolution: {integrity: sha512-Tr1knR3d2mKvvWthlk7202rywKbiOm4rVFLsfAaSIhJ6dt9o47W4S+JMtWhd/PW9Wrdew2/S2fSvhz3E2gkfEg==} + /muggle-string@0.3.1: + resolution: {integrity: sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==} dev: true /mute-stream@0.0.8: @@ -4623,6 +4665,10 @@ packages: resolution: {integrity: sha512-NzOgmMQ+elxxHeIha+OG/Pv3Oc3p4RU2aBhwWwAqDpXrdTbtRylbRLQztLy8dMMwfl6pclznBdfUhccEn9ZIzw==} dev: false + /natural-compare-lite@1.4.0: + resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} + dev: false + /needle@3.3.1: resolution: {integrity: sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==} engines: {node: '>= 4.4.x'} @@ -4645,9 +4691,16 @@ packages: resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} dependencies: lower-case: 2.0.2 - tslib: 2.8.0 + tslib: 2.7.0 dev: true + /node-fetch@2.6.6: + resolution: {integrity: sha512-Z8/6vRlTUChSdIgMa51jxQ4lrw/Jy5SOW10ObaA47/RElsAN2c5Pn8bTgFGWn/ibwzXTE8qwr1Yzx28vsecXEA==} + engines: {node: 4.x || >=6.0.0} + dependencies: + whatwg-url: 5.0.0 + dev: false + /node-html-parser@5.4.2: resolution: {integrity: sha512-RaBPP3+51hPne/OolXxcz89iYvQvKOydaqoePpOgXcrOKZhjVIzmpKZz+Hd/RBO2/zN2q6CNJhQzucVz+u3Jyw==} dependencies: @@ -4721,96 +4774,15 @@ packages: path-key: 4.0.0 dev: true - /npm@7.24.2: - resolution: {integrity: sha512-120p116CE8VMMZ+hk8IAb1inCPk4Dj3VZw29/n2g6UI77urJKVYb7FZUDW8hY+EBnfsjI/2yrobBgFyzo7YpVQ==} - engines: {node: '>=10'} - hasBin: true - dev: false - bundledDependencies: - - '@isaacs/string-locale-compare' - - '@npmcli/arborist' - - '@npmcli/ci-detect' - - '@npmcli/config' - - '@npmcli/map-workspaces' - - '@npmcli/package-json' - - '@npmcli/run-script' - - abbrev - - ansicolors - - ansistyles - - archy - - cacache - - chalk - - chownr - - cli-columns - - cli-table3 - - columnify - - fastest-levenshtein - - glob - - graceful-fs - - hosted-git-info - - ini - - init-package-json - - is-cidr - - json-parse-even-better-errors - - libnpmaccess - - libnpmdiff - - libnpmexec - - libnpmfund - - libnpmhook - - libnpmorg - - libnpmpack - - libnpmpublish - - libnpmsearch - - libnpmteam - - libnpmversion - - make-fetch-happen - - minipass - - minipass-pipeline - - mkdirp - - mkdirp-infer-owner - - ms - - node-gyp - - nopt - - npm-audit-report - - npm-install-checks - - npm-package-arg - - npm-pick-manifest - - npm-profile - - npm-registry-fetch - - npm-user-validate - - npmlog - - opener - - pacote - - parse-conflict-json - - qrcode-terminal - - read - - read-package-json - - read-package-json-fast - - readdir-scoped-modules - - rimraf - - semver - - ssri - - tar - - text-table - - tiny-relative-date - - treeverse - - validate-npm-package-name - - which - - write-file-atomic - - /nrm@1.2.5: - resolution: {integrity: sha512-QOfdBSDsrSso87Lluacdp7fXqU68c1EcjdKOKsr2SRPGXHWsxr88BNjxxJEwSKHP0cXutgUjJevxPhuYEwobMA==} + /nrm@1.2.6: + resolution: {integrity: sha512-p59wSVciFLTCB0754fNV/IHN6cvuvT4VNTxkSp+DZhhPUQ3QCR4WECd+6X1uTOKDajouX1Z/8FSuvozApH/bAQ==} hasBin: true dependencies: - async: 1.5.2 - commander: 2.20.3 - extend: 3.0.2 - humps: 2.0.1 - ini: 1.3.8 - npm: 7.24.2 - only: 0.0.2 - open: 10.1.0 - request: 2.88.2 + chalk: 4.1.2 + commander: 8.3.0 + ini: 2.0.0 + node-fetch: 2.6.6 + open: 8.4.2 dev: false /nth-check@2.1.1: @@ -4819,15 +4791,6 @@ packages: boolbase: 1.0.0 dev: true - /oauth-sign@0.9.0: - resolution: {integrity: sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==} - dev: false - - /object-inspect@1.13.2: - resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==} - engines: {node: '>= 0.4'} - dev: true - /once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: @@ -4847,20 +4810,6 @@ packages: mimic-fn: 4.0.0 dev: true - /only@0.0.2: - resolution: {integrity: sha512-Fvw+Jemq5fjjyWz6CpKx6w9s7xxqo3+JCyM0WXWeCSOboZ8ABkyvP8ID4CZuChA/wxSx+XSJmdOm8rGVyJ1hdQ==} - dev: false - - /open@10.1.0: - resolution: {integrity: sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==} - engines: {node: '>=18'} - dependencies: - default-browser: 5.2.1 - define-lazy-prop: 3.0.0 - is-inside-container: 1.0.0 - is-wsl: 3.1.0 - dev: false - /open@8.4.2: resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} engines: {node: '>=12'} @@ -4933,13 +4882,6 @@ packages: p-limit: 3.1.0 dev: true - /p-map@4.0.0: - resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} - engines: {node: '>=10'} - dependencies: - aggregate-error: 3.1.0 - dev: true - /p-try@2.2.0: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} @@ -4969,7 +4911,7 @@ packages: resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} dependencies: dot-case: 3.0.4 - tslib: 2.8.0 + tslib: 2.7.0 dev: true /parent-module@1.0.1: @@ -4999,7 +4941,7 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} dependencies: - '@babel/code-frame': 7.25.7 + '@babel/code-frame': 7.24.7 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -5018,14 +4960,18 @@ packages: resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} dependencies: no-case: 3.0.4 - tslib: 2.8.0 + tslib: 2.7.0 + dev: true + + /path-browserify@1.0.1: + resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} dev: true /path-case@3.0.4: resolution: {integrity: sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==} dependencies: dot-case: 3.0.4 - tslib: 2.8.0 + tslib: 2.7.0 dev: true /path-exists@3.0.0: @@ -5076,12 +5022,16 @@ packages: resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} dev: false - /performance-now@2.1.0: - resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==} + /periscopic@3.1.0: + resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==} + dependencies: + '@types/estree': 1.0.5 + estree-walker: 3.0.3 + is-reference: 3.0.2 dev: false - /picocolors@1.1.1: - resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + /picocolors@1.1.0: + resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} /picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} @@ -5104,12 +5054,12 @@ packages: requiresBuild: true optional: true - /pinia@2.0.28(typescript@4.9.3)(vue@3.3.4): - resolution: {integrity: sha512-YClq9DkqCblq9rlyUual7ezMu/iICWdBtfJrDt4oWU9Zxpijyz7xB2xTwx57DaBQ96UGvvTMORzALr+iO5PVMw==} + /pinia@2.2.2(typescript@4.9.5)(vue@3.3.4): + resolution: {integrity: sha512-ja2XqFWZC36mupU4z1ZzxeTApV7DOw44cV4dhQ9sGwun+N89v/XP7+j7q6TanS1u1tdbK4r+1BUx7heMaIdagA==} peerDependencies: '@vue/composition-api': ^1.4.0 typescript: '>=4.4.4' - vue: ^2.6.14 || ^3.2.0 + vue: ^2.6.14 || ^3.3.0 peerDependenciesMeta: '@vue/composition-api': optional: true @@ -5117,16 +5067,16 @@ packages: optional: true dependencies: '@vue/devtools-api': 6.6.4 - typescript: 4.9.3 + typescript: 4.9.5 vue: 3.3.4 vue-demi: 0.14.10(vue@3.3.4) dev: false - /pkg-types@1.2.1: - resolution: {integrity: sha512-sQoqa8alT3nHjGuTjuKgOnvjo4cljkufdtLMnO2LBP/wRwuDlo1tkaEdMxCRhyGRPacv/ztlZgDPm2b7FAmEvw==} + /pkg-types@1.2.0: + resolution: {integrity: sha512-+ifYuSSqOQ8CqP4MbZA5hDpb97n3E8SVWdJe+Wms9kj745lmd3b7EZJiqvmLwAlmRfjrI7Hi5z3kdBJ93lFNPA==} dependencies: - confbox: 0.1.8 - mlly: 1.7.2 + confbox: 0.1.7 + mlly: 1.7.1 pathe: 1.1.2 dev: false @@ -5146,7 +5096,7 @@ packages: engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.7 - picocolors: 1.1.1 + picocolors: 1.1.0 source-map-js: 1.2.1 /preact@10.12.1: @@ -5163,8 +5113,8 @@ packages: engines: {node: '>=4'} dev: true - /prettier@2.8.1: - resolution: {integrity: sha512-lqGoSJBQNJidqCHE80vqZJHWHRFoNYsSpP9AjFhlhi9ODCJA541svILes/+/1GM3VaL/abZi7cpFzOpdR9UPKg==} + /prettier@2.8.8: + resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} engines: {node: '>=10.13.0'} hasBin: true dev: true @@ -5198,10 +5148,6 @@ packages: resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} dev: true - /psl@1.9.0: - resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} - dev: false - /pump@3.0.2: resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==} dependencies: @@ -5226,20 +5172,6 @@ packages: escape-goat: 2.1.1 dev: true - /q@1.5.1: - resolution: {integrity: sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==} - engines: {node: '>=0.6.0', teleport: '>=0.2.0'} - deprecated: |- - You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other. - - (For a CapTP with native promises, see @endo/eventual-send and @endo/captp) - dev: true - - /qs@6.5.3: - resolution: {integrity: sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==} - engines: {node: '>=0.6'} - dev: false - /queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} @@ -5304,6 +5236,11 @@ packages: dependencies: picomatch: 2.3.1 + /readdirp@4.0.1: + resolution: {integrity: sha512-GkMg9uOTpIWWKbSsgwb5fA4EavTR+SG/PMPoAY8hkhHfEEY0/vqljY+XHqtDf2cr2IJtoNRDbrrEpZUiZCkYRw==} + engines: {node: '>= 14.16.0'} + dev: false + /readme-badger@0.3.0: resolution: {integrity: sha512-+sMOLSs1imZUISZ2Rhz7qqVd77QtpcAPbGeIraFdgJmijb04YtdlPjGNBvDChTNtLbeQ6JNGQy3pOgslWfaP3g==} dependencies: @@ -5367,33 +5304,6 @@ packages: engines: {node: '>=0.10'} dev: true - /request@2.88.2: - resolution: {integrity: sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==} - engines: {node: '>= 6'} - deprecated: request has been deprecated, see https://github.com/request/request/issues/3142 - dependencies: - aws-sign2: 0.7.0 - aws4: 1.13.2 - caseless: 0.12.0 - combined-stream: 1.0.8 - extend: 3.0.2 - forever-agent: 0.6.1 - form-data: 2.3.3 - har-validator: 5.1.5 - http-signature: 1.2.0 - is-typedarray: 1.0.0 - isstream: 0.1.2 - json-stringify-safe: 5.0.1 - mime-types: 2.1.35 - oauth-sign: 0.9.0 - performance-now: 2.1.0 - qs: 6.5.3 - safe-buffer: 5.2.1 - tough-cookie: 2.5.0 - tunnel-agent: 0.6.0 - uuid: 3.4.0 - dev: false - /require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} @@ -5401,7 +5311,6 @@ packages: /require-from-string@2.0.2: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} - dev: true /require-main-filename@2.0.0: resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} @@ -5450,6 +5359,14 @@ packages: signal-exit: 3.0.7 dev: true + /restore-cursor@4.0.0: + resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + onetime: 5.1.2 + signal-exit: 3.0.7 + dev: true + /reusify@1.0.4: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} @@ -5470,8 +5387,8 @@ packages: resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==} dev: false - /rollup-plugin-copy@3.4.0: - resolution: {integrity: sha512-rGUmYYsYsceRJRqLVlE9FivJMxJ7X6jDlP79fmFkL8sJs7VVMSVyA2yfyL+PGyO/vJs4A87hwhgVfz61njI+uQ==} + /rollup-plugin-copy@3.5.0: + resolution: {integrity: sha512-wI8D5dvYovRMx/YYKtUNt3Yxaw4ORC9xo6Gt9t22kveWz1enG9QrhVlagzwrxSC455xD1dHMKhIJkbsQ7d48BA==} engines: {node: '>=8.3'} dependencies: '@types/fs-extra': 8.1.5 @@ -5497,18 +5414,13 @@ packages: yargs: 17.7.2 dev: false - /rollup@3.29.5: - resolution: {integrity: sha512-GVsDdsbJzzy4S/v3dqWPJ7EfvZJfCHiDqe80IyrF59LYuP+e6U1LJoUqeuqRbwAWoMNoXivMNeNAOf5E22VA1w==} + /rollup@3.29.4: + resolution: {integrity: sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==} engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true optionalDependencies: fsevents: 2.3.3 - /run-applescript@7.0.0: - resolution: {integrity: sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==} - engines: {node: '>=18'} - dev: false - /run-async@2.4.1: resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} engines: {node: '>=0.12.0'} @@ -5529,7 +5441,8 @@ packages: /rxjs@7.8.1: resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} dependencies: - tslib: 2.8.0 + tslib: 2.7.0 + dev: false /safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} @@ -5537,6 +5450,16 @@ packages: /safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + /sass@1.79.1: + resolution: {integrity: sha512-+mA7svoNKeL0DiJqZGeR/ZGUu8he4I8o3jyUcOFyo4eBJrwNgIMmAEwCMo/N2Y3wdjOBcRzoNxZIOtrtMX8EXg==} + engines: {node: '>=14.0.0'} + hasBin: true + dependencies: + chokidar: 4.0.0 + immutable: 4.3.7 + source-map-js: 1.2.1 + dev: false + /sax@1.4.1: resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==} requiresBuild: true @@ -5609,7 +5532,7 @@ packages: resolution: {integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==} dependencies: no-case: 3.0.4 - tslib: 2.8.0 + tslib: 2.7.0 upper-case-first: 2.0.2 dev: true @@ -5664,24 +5587,6 @@ packages: engines: {node: '>=8'} dev: false - /slice-ansi@3.0.0: - resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} - engines: {node: '>=8'} - dependencies: - ansi-styles: 4.3.0 - astral-regex: 2.0.0 - is-fullwidth-code-point: 3.0.0 - dev: true - - /slice-ansi@4.0.0: - resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} - engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - astral-regex: 2.0.0 - is-fullwidth-code-point: 3.0.0 - dev: true - /slice-ansi@5.0.0: resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} engines: {node: '>=12'} @@ -5701,7 +5606,7 @@ packages: resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} dependencies: dot-case: 3.0.4 - tslib: 2.8.0 + tslib: 2.7.0 dev: true /sortablejs@1.15.3: @@ -5769,22 +5674,6 @@ packages: readable-stream: 3.6.2 dev: true - /sshpk@1.18.0: - resolution: {integrity: sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==} - engines: {node: '>=0.10.0'} - hasBin: true - dependencies: - asn1: 0.2.6 - assert-plus: 1.0.0 - bcrypt-pbkdf: 1.0.2 - dashdash: 1.14.1 - ecc-jsbn: 0.1.2 - getpass: 0.1.7 - jsbn: 0.1.1 - safer-buffer: 2.1.2 - tweetnacl: 0.14.5 - dev: false - /string-argv@0.3.2: resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} engines: {node: '>=0.6.19'} @@ -5899,7 +5788,11 @@ packages: /strip-literal@1.3.0: resolution: {integrity: sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==} dependencies: - acorn: 8.13.0 + acorn: 8.12.1 + dev: false + + /style-mod@4.1.2: + resolution: {integrity: sha512-wnD1HyVqpJUI2+eKZ+eo1UwghftP6yuFheBqqe+bWCotBjC2K1YnteJILRMs3SM4V/0dLEW1SC27MWP5y+mwmw==} dev: false /supports-color@2.0.0: @@ -5918,7 +5811,6 @@ packages: engines: {node: '>=8'} dependencies: has-flag: 4.0.0 - dev: true /supports-color@8.1.1: resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} @@ -5931,6 +5823,26 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} + /svelte@4.2.19: + resolution: {integrity: sha512-IY1rnGr6izd10B0A8LqsBfmlT5OILVuZ7XsI0vdGPEvuonFV7NYEUK4dAkm9Zg2q0Um92kYjTpS1CAP3Nh/KWw==} + engines: {node: '>=16'} + dependencies: + '@ampproject/remapping': 2.3.0 + '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/trace-mapping': 0.3.25 + '@types/estree': 1.0.5 + acorn: 8.12.1 + aria-query: 5.3.1 + axobject-query: 4.1.0 + code-red: 1.0.4 + css-tree: 2.3.1 + estree-walker: 3.0.3 + is-reference: 3.0.2 + locate-character: 3.0.0 + magic-string: 0.30.11 + periscopic: 3.1.0 + dev: false + /svg-tags@1.0.0: resolution: {integrity: sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==} dev: false @@ -5952,7 +5864,7 @@ packages: engines: {node: '>=8'} dev: true - /terser-webpack-plugin@5.3.10(webpack@5.95.0): + /terser-webpack-plugin@5.3.10(webpack@5.94.0): resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -5972,17 +5884,17 @@ packages: jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.2 - terser: 5.36.0 - webpack: 5.95.0 + terser: 5.33.0 + webpack: 5.94.0 dev: false - /terser@5.36.0: - resolution: {integrity: sha512-IYV9eNMuFAV4THUspIRXkLakHnV6XO7FEdtKjf/mDyrnqUg9LnlOn6/RwRvM9SZjR4GUq8Nk8zj67FzVARr74w==} + /terser@5.33.0: + resolution: {integrity: sha512-JuPVaB7s1gdFKPKTelwUyRq5Sid2A3Gko2S0PncwdBq7kN9Ti9HPWDQ06MPsEDGsZeVESjKEnyGy68quBk1w6g==} engines: {node: '>=10'} hasBin: true dependencies: '@jridgewell/source-map': 0.3.6 - acorn: 8.13.0 + acorn: 8.12.1 commander: 2.20.3 source-map-support: 0.5.21 @@ -6039,12 +5951,8 @@ packages: commander: 2.20.3 dev: false - /tough-cookie@2.5.0: - resolution: {integrity: sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==} - engines: {node: '>=0.8'} - dependencies: - psl: 1.9.0 - punycode: 2.3.1 + /tr46@0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} dev: false /trim-newlines@3.0.1: @@ -6052,7 +5960,7 @@ packages: engines: {node: '>=8'} dev: true - /ts-node@10.9.2(@types/node@18.14.0)(typescript@4.9.3): + /ts-node@10.9.2(@types/node@18.19.50)(typescript@4.9.5): resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} hasBin: true peerDependencies: @@ -6071,14 +5979,14 @@ packages: '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 18.14.0 - acorn: 8.13.0 + '@types/node': 18.19.50 + acorn: 8.12.1 acorn-walk: 8.3.4 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 4.9.3 + typescript: 4.9.5 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 dev: true @@ -6091,18 +5999,8 @@ packages: resolution: {integrity: sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==} dev: false - /tslib@2.8.0: - resolution: {integrity: sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==} - - /tunnel-agent@0.6.0: - resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} - dependencies: - safe-buffer: 5.2.1 - dev: false - - /tweetnacl@0.14.5: - resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==} - dev: false + /tslib@2.7.0: + resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} /type-fest@0.18.1: resolution: {integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==} @@ -6124,6 +6022,11 @@ packages: engines: {node: '>=8'} dev: true + /type-fest@1.4.0: + resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} + engines: {node: '>=10'} + dev: true + /type@2.7.3: resolution: {integrity: sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==} dev: false @@ -6134,8 +6037,8 @@ packages: is-typedarray: 1.0.0 dev: true - /typescript@4.9.3: - resolution: {integrity: sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA==} + /typescript@4.9.5: + resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} engines: {node: '>=4.2.0'} hasBin: true @@ -6149,19 +6052,18 @@ packages: /undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - dev: false - /unimport@1.3.0: - resolution: {integrity: sha512-fOkrdxglsHd428yegH0wPH/6IfaSdDeMXtdRGn6en/ccyzc2aaoxiUTMrJyc6Bu+xoa18RJRPMfLUHEzjz8atw==} + /unimport@2.2.4: + resolution: {integrity: sha512-qMgmeEGqqrrmEtm0dqxMG37J6xBtrriqxq9hILvDb+e6l2F0yTnJomLoCCp0eghLR7bYGeBsUU5Y0oyiUYhViw==} dependencies: - '@rollup/pluginutils': 5.1.2 + '@rollup/pluginutils': 5.1.0 escape-string-regexp: 5.0.0 fast-glob: 3.3.2 local-pkg: 0.4.3 magic-string: 0.27.0 - mlly: 1.7.2 + mlly: 1.7.1 pathe: 1.1.2 - pkg-types: 1.2.1 + pkg-types: 1.2.0 scule: 1.3.0 strip-literal: 1.3.0 unplugin: 1.14.1 @@ -6205,8 +6107,8 @@ packages: engines: {node: '>= 10.0.0'} dev: true - /unplugin-auto-import@0.12.1(@vueuse/core@9.10.0): - resolution: {integrity: sha512-J/3ZORq5YGKG+8D5vLLOgqaHNK77izlVN07mQ752yRLqBNDbJiwPRSnUwwYqH5N6rDay1SqnJCHaUdbJ9QMI2w==} + /unplugin-auto-import@0.12.2(@vueuse/core@9.13.0): + resolution: {integrity: sha512-hC4w0GZjPjmLtrxV0u10XO350V9eCtQyEyifXr7B9UGD7SvbbIvKuOcHt58Zd4FAqZJXKWoXkpr9mdhBp85Usw==} engines: {node: '>=14'} peerDependencies: '@vueuse/core': '*' @@ -6215,11 +6117,11 @@ packages: optional: true dependencies: '@antfu/utils': 0.7.10 - '@rollup/pluginutils': 5.1.2 - '@vueuse/core': 9.10.0(vue@3.3.4) + '@rollup/pluginutils': 5.1.0 + '@vueuse/core': 9.13.0(vue@3.3.4) local-pkg: 0.4.3 magic-string: 0.27.0 - unimport: 1.3.0 + unimport: 2.2.4 unplugin: 1.14.1 transitivePeerDependencies: - rollup @@ -6237,7 +6139,7 @@ packages: optional: true dependencies: '@antfu/utils': 0.7.10 - '@rollup/pluginutils': 5.1.2 + '@rollup/pluginutils': 5.1.0 chokidar: 3.6.0 debug: 4.3.7 fast-glob: 3.3.2 @@ -6261,7 +6163,7 @@ packages: webpack-sources: optional: true dependencies: - acorn: 8.13.0 + acorn: 8.12.1 webpack-virtual-modules: 0.6.2 /unzip-response@2.0.1: @@ -6269,15 +6171,15 @@ packages: engines: {node: '>=4'} dev: true - /update-browserslist-db@1.1.1(browserslist@4.24.0): - resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==} + /update-browserslist-db@1.1.0(browserslist@4.23.3): + resolution: {integrity: sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' dependencies: - browserslist: 4.24.0 + browserslist: 4.23.3 escalade: 3.2.0 - picocolors: 1.1.1 + picocolors: 1.1.0 /update-notifier@2.5.0: resolution: {integrity: sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==} @@ -6317,13 +6219,13 @@ packages: /upper-case-first@2.0.2: resolution: {integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==} dependencies: - tslib: 2.8.0 + tslib: 2.7.0 dev: true /upper-case@2.0.2: resolution: {integrity: sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==} dependencies: - tslib: 2.8.0 + tslib: 2.7.0 dev: true /uri-js@4.4.1: @@ -6364,12 +6266,6 @@ packages: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} dev: true - /uuid@3.4.0: - resolution: {integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==} - deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. - hasBin: true - dev: false - /v-clipboard3@0.1.4: resolution: {integrity: sha512-iGIXgluf2WLbT+/Z1de9kKzoK9c9aPpy+zcPlY8/fneO+NHK95QEmFx2Q9LoxeUPRemD+nOfEv1J20Ki7W0v7Q==} dev: false @@ -6391,21 +6287,46 @@ packages: builtins: 1.0.3 dev: true - /vanilla-jsoneditor@0.7.11: - resolution: {integrity: sha512-DFm6Fg6gzP4FlOaydDCRWpqEsmI5umpb9fOV3hKbbNDO1ZHTUpuMwi1SmMyoEsSgdDGGzRLFNCrW0URQ9Skx4w==} + /vanilla-jsoneditor@0.21.6(@lezer/common@1.2.1): + resolution: {integrity: sha512-qKWVW2qXrVazurZ5gZ+Ah7vTkxArUdv6JxlWJJlO3v4K+dowytku4KgfdOEkACpA6HQI2hyHL9GaGnWjwdj4dQ==} + dependencies: + '@codemirror/autocomplete': 6.18.1(@codemirror/language@6.10.2)(@codemirror/state@6.4.1)(@codemirror/view@6.33.0)(@lezer/common@1.2.1) + '@codemirror/commands': 6.6.2 + '@codemirror/lang-json': 6.0.1 + '@codemirror/language': 6.10.2 + '@codemirror/lint': 6.8.1 + '@codemirror/search': 6.5.6 + '@codemirror/state': 6.4.1 + '@codemirror/view': 6.33.0 + '@fortawesome/free-regular-svg-icons': 6.6.0 + '@fortawesome/free-solid-svg-icons': 6.6.0 + '@lezer/highlight': 1.2.1 + '@replit/codemirror-indentation-markers': 6.5.3(@codemirror/language@6.10.2)(@codemirror/state@6.4.1)(@codemirror/view@6.33.0) + ajv: 8.17.1 + codemirror-wrapped-line-indent: 1.0.8(@codemirror/language@6.10.2)(@codemirror/state@6.4.1)(@codemirror/view@6.33.0) + diff-sequences: 29.6.3 + immutable-json-patch: 6.0.1 + jmespath: 0.16.0 + json-source-map: 0.6.1 + jsonrepair: 3.8.0 + lodash-es: 4.17.21 + memoize-one: 6.0.0 + natural-compare-lite: 1.4.0 + sass: 1.79.1 + svelte: 4.2.19 + vanilla-picker: 2.12.3 + transitivePeerDependencies: + - '@lezer/common' dev: false - /verror@1.10.0: - resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==} - engines: {'0': node >=0.6.0} + /vanilla-picker@2.12.3: + resolution: {integrity: sha512-qVkT1E7yMbUsB2mmJNFmaXMWE2hF8ffqzMMwe9zdAikd8u2VfnsVY2HQcOUi2F38bgbxzlJBEdS1UUhOXdF9GQ==} dependencies: - assert-plus: 1.0.0 - core-util-is: 1.0.2 - extsprintf: 1.3.0 + '@sphinxxxx/color-conversion': 2.2.2 dev: false - /vite-plugin-html@3.2.0(vite@4.0.0): - resolution: {integrity: sha512-2VLCeDiHmV/BqqNn5h2V+4280KRgQzCFN47cst3WiNK848klESPQnzuC3okH5XHtgwHH/6s1Ho/YV6yIO0pgoQ==} + /vite-plugin-html@3.2.2(vite@4.5.5): + resolution: {integrity: sha512-vb9C9kcdzcIo/Oc3CLZVS03dL5pDlOFuhGlZYDCJ840BhWl/0nGeZWf3Qy7NlOayscY4Cm/QRgULCQkEZige5Q==} peerDependencies: vite: '>=2.0.0' dependencies: @@ -6421,7 +6342,7 @@ packages: html-minifier-terser: 6.1.0 node-html-parser: 5.4.2 pathe: 0.2.0 - vite: 4.0.0(@types/node@18.14.0)(less@4.1.3) + vite: 4.5.5(@types/node@18.19.50)(less@4.2.0) dev: true /vite-plugin-monaco-editor@1.1.0(monaco-editor@0.50.0): @@ -6432,19 +6353,19 @@ packages: monaco-editor: 0.50.0 dev: false - /vite-plugin-progress@0.0.7(vite@4.0.0): + /vite-plugin-progress@0.0.7(vite@4.5.5): resolution: {integrity: sha512-zyvKdcc/X+6hnw3J1HVV1TKrlFKC4Rh8GnDnWG/2qhRXjqytTcM++xZ+SAPnoDsSyWl8O93ymK0wZRgHAoglEQ==} engines: {node: '>=14', pnpm: '>=7.0.0'} peerDependencies: vite: '>2.0.0-0' dependencies: - picocolors: 1.1.1 + picocolors: 1.1.0 progress: 2.0.3 rd: 2.0.1 - vite: 4.0.0(@types/node@18.14.0)(less@4.1.3) + vite: 4.5.5(@types/node@18.19.50)(less@4.2.0) dev: true - /vite-plugin-style-import@2.0.0(vite@4.0.0): + /vite-plugin-style-import@2.0.0(vite@4.5.5): resolution: {integrity: sha512-qtoHQae5dSUQPo/rYz/8p190VU5y19rtBaeV7ryLa/AYAU/e9CG89NrN/3+k7MR8mJy/GPIu91iJ3zk9foUOSA==} peerDependencies: vite: '>=2.0.0' @@ -6456,26 +6377,27 @@ packages: fs-extra: 10.1.0 magic-string: 0.25.9 pathe: 0.2.0 - vite: 4.0.0(@types/node@18.14.0)(less@4.1.3) + vite: 4.5.5(@types/node@18.19.50)(less@4.2.0) dev: true - /vite-plugin-vue-setup-extend@0.4.0(vite@4.0.0): + /vite-plugin-vue-setup-extend@0.4.0(vite@4.5.5): resolution: {integrity: sha512-WMbjPCui75fboFoUTHhdbXzu4Y/bJMv5N9QT9a7do3wNMNHHqrk+Tn2jrSJU0LS5fGl/EG+FEDBYVUeWIkDqXQ==} peerDependencies: vite: '>=2.0.0' dependencies: - '@vue/compiler-sfc': 3.5.12 + '@vue/compiler-sfc': 3.5.6 magic-string: 0.25.9 - vite: 4.0.0(@types/node@18.14.0)(less@4.1.3) + vite: 4.5.5(@types/node@18.19.50)(less@4.2.0) dev: true - /vite@4.0.0(@types/node@18.14.0)(less@4.1.3): - resolution: {integrity: sha512-ynad+4kYs8Jcnn8J7SacS9vAbk7eMy0xWg6E7bAhS1s79TK+D7tVFGXVZ55S7RNLRROU1rxoKlvZ/qjaB41DGA==} + /vite@4.5.5(@types/node@18.19.50)(less@4.2.0): + resolution: {integrity: sha512-ifW3Lb2sMdX+WU91s3R0FyQlAyLxOzCSCP37ujw0+r5POeHPwe6udWVIElKQq8gk3t7b8rkmvqC6IHBpCff4GQ==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true peerDependencies: '@types/node': '>= 14' less: '*' + lightningcss: ^1.21.0 sass: '*' stylus: '*' sugarss: '*' @@ -6485,6 +6407,8 @@ packages: optional: true less: optional: true + lightningcss: + optional: true sass: optional: true stylus: @@ -6494,17 +6418,16 @@ packages: terser: optional: true dependencies: - '@types/node': 18.14.0 - esbuild: 0.16.17 - less: 4.1.3 + '@types/node': 18.19.50 + esbuild: 0.18.20 + less: 4.2.0 postcss: 8.4.47 - resolve: 1.22.8 - rollup: 3.29.5 + rollup: 3.29.4 optionalDependencies: fsevents: 2.3.3 - /vue-cropper@1.0.9: - resolution: {integrity: sha512-JhQwxmjqmQohzI7sAp5O/Rfdxuw5HOEYkKjnp/De7iCi6c8Mv6M3N9HpMt9xgWCFchX3/DfXBv2axCZOCg3G8Q==} + /vue-cropper@1.1.4: + resolution: {integrity: sha512-5m98vBsCEI9rbS4JxELxXidtAui3qNyTHLHg67Qbn7g8cg+E6LcnC+hh3SM/p94x6mFh6KRxT1ttnta+wCYqWA==} dev: false /vue-demi@0.14.10(vue@3.3.4): @@ -6522,14 +6445,14 @@ packages: vue: 3.3.4 dev: false - /vue-i18n@9.13.1(vue@3.3.4): - resolution: {integrity: sha512-mh0GIxx0wPtPlcB1q4k277y0iKgo25xmDPWioVVYanjPufDBpvu5ySTjP5wOrSvlYQ2m1xI+CFhGdauv/61uQg==} + /vue-i18n@9.14.0(vue@3.3.4): + resolution: {integrity: sha512-LxmpRuCt2rI8gqU+kxeflRZMQn4D5+4M3oP3PWZdowW/ePJraHqhF7p4CuaME52mUxdw3Mmy2yAUKgfZYgCRjA==} engines: {node: '>= 16'} peerDependencies: vue: ^3.0.0 dependencies: - '@intlify/core-base': 9.13.1 - '@intlify/shared': 9.13.1 + '@intlify/core-base': 9.14.0 + '@intlify/shared': 9.14.0 '@vue/devtools-api': 6.6.4 vue: 3.3.4 dev: false @@ -6543,8 +6466,8 @@ packages: vue: 3.3.4 dev: false - /vue-router@4.1.6(vue@3.3.4): - resolution: {integrity: sha512-DYWYwsG6xNPmLq/FmZn8Ip+qrhFEzA14EI12MsMgVxvHFDYvlr4NXpVF5hrRH1wVcDP8fGi5F4rxuJSl8/r+EQ==} + /vue-router@4.4.5(vue@3.3.4): + resolution: {integrity: sha512-4fKZygS8cH1yCyuabAXGUAsyi1b2/o/OKgu/RUb+znIYOxPRxdkytJEx+0wGcpBE1pX6vUgh5jwWOKRGvuA/7Q==} peerDependencies: vue: ^3.2.0 dependencies: @@ -6559,15 +6482,16 @@ packages: he: 1.2.0 dev: true - /vue-tsc@1.0.11(typescript@4.9.3): - resolution: {integrity: sha512-lj+6dEroPsE4wmQOPtjCzAf8x363Km5/tuEvMEoQaoRnzs9myBM46FNvCGIIPStYUGuaqF1W1bORmP2KDQEORA==} + /vue-tsc@1.8.27(typescript@4.9.5): + resolution: {integrity: sha512-WesKCAZCRAbmmhuGl3+VrdWItEvfoFIPXOvUJkjULi+x+6G/Dy69yO3TBRJDr9eUlmsNAwVmxsNZxvHKzbkKdg==} hasBin: true peerDependencies: typescript: '*' dependencies: - '@volar/vue-language-core': 1.0.11 - '@volar/vue-typescript': 1.0.11 - typescript: 4.9.3 + '@volar/typescript': 1.11.1 + '@vue/language-core': 1.8.27(typescript@4.9.5) + semver: 7.6.3 + typescript: 4.9.5 dev: true /vue-types@3.0.2(vue@3.3.4): @@ -6589,11 +6513,15 @@ packages: vue: 3.3.4 dev: false - /vue3-ts-jsoneditor@2.7.1: - resolution: {integrity: sha512-u8dWSG21dK0+iwbY6yhpcyRstQEKbO53+4Ma4Qhf9ED/wbGURjLvX/GTMbVsU7xB4gJKEs1a01AxBIgIab+4uA==} + /vue3-ts-jsoneditor@2.11.2(@lezer/common@1.2.1)(typescript@4.9.5): + resolution: {integrity: sha512-jb4Gt+NmJe8hQJYdfzs9JF+7ZF7Ncgipy6D4g6AqQv7457Yor6zh0PuM+6Ph7UKafkVVIbkg5WMmdB2SOSFDfA==} dependencies: - vanilla-jsoneditor: 0.7.11 - vue: 3.3.4 + immutable-json-patch: 6.0.1 + vanilla-jsoneditor: 0.21.6(@lezer/common@1.2.1) + vue: 3.5.6(typescript@4.9.5) + transitivePeerDependencies: + - '@lezer/common' + - typescript dev: false /vue@3.3.4: @@ -6605,6 +6533,26 @@ packages: '@vue/server-renderer': 3.3.4(vue@3.3.4) '@vue/shared': 3.3.4 + /vue@3.5.6(typescript@4.9.5): + resolution: {integrity: sha512-zv+20E2VIYbcJOzJPUWp03NOGFhMmpCKOfSxVTmCYyYFFko48H9tmuQFzYj7tu4qX1AeXlp9DmhIP89/sSxxhw==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@vue/compiler-dom': 3.5.6 + '@vue/compiler-sfc': 3.5.6 + '@vue/runtime-dom': 3.5.6 + '@vue/server-renderer': 3.5.6(vue@3.5.6) + '@vue/shared': 3.5.6 + typescript: 4.9.5 + dev: false + + /w3c-keyname@2.2.8: + resolution: {integrity: sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==} + dev: false + /warning@4.0.3: resolution: {integrity: sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==} dependencies: @@ -6619,6 +6567,10 @@ packages: graceful-fs: 4.2.11 dev: false + /webidl-conversions@3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + dev: false + /webpack-merge@4.2.2: resolution: {integrity: sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==} dependencies: @@ -6633,8 +6585,8 @@ packages: /webpack-virtual-modules@0.6.2: resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==} - /webpack@5.95.0: - resolution: {integrity: sha512-2t3XstrKULz41MNMBF+cJ97TyHdyQ8HCt//pqErqDvNjU9YQBnZxIHa11VXsi7F3mb5/aO2tuDxdeTPdU7xu9Q==} + /webpack@5.94.0: + resolution: {integrity: sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==} engines: {node: '>=10.13.0'} hasBin: true peerDependencies: @@ -6643,13 +6595,13 @@ packages: webpack-cli: optional: true dependencies: - '@types/estree': 1.0.6 + '@types/estree': 1.0.5 '@webassemblyjs/ast': 1.12.1 '@webassemblyjs/wasm-edit': 1.12.1 '@webassemblyjs/wasm-parser': 1.12.1 - acorn: 8.13.0 - acorn-import-attributes: 1.9.5(acorn@8.13.0) - browserslist: 4.24.0 + acorn: 8.12.1 + acorn-import-attributes: 1.9.5(acorn@8.12.1) + browserslist: 4.23.3 chrome-trace-event: 1.0.4 enhanced-resolve: 5.17.1 es-module-lexer: 1.5.4 @@ -6663,7 +6615,7 @@ packages: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(webpack@5.95.0) + terser-webpack-plugin: 5.3.10(webpack@5.94.0) watchpack: 2.4.2 webpack-sources: 3.2.3 transitivePeerDependencies: @@ -6672,6 +6624,13 @@ packages: - uglify-js dev: false + /whatwg-url@5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + dependencies: + tr46: 0.0.3 + webidl-conversions: 3.0.1 + dev: false + /which-module@2.0.1: resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} dev: true @@ -6714,15 +6673,6 @@ packages: strip-ansi: 5.2.0 dev: true - /wrap-ansi@6.2.0: - resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} - engines: {node: '>=8'} - dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - dev: true - /wrap-ansi@7.0.0: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} engines: {node: '>=10'} @@ -6731,6 +6681,15 @@ packages: string-width: 4.2.3 strip-ansi: 6.0.1 + /wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + dependencies: + ansi-styles: 6.2.1 + string-width: 5.1.2 + strip-ansi: 7.1.0 + dev: true + /wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} @@ -6761,17 +6720,17 @@ packages: engines: {node: '>=8'} dev: true - /xgplayer-flv@3.0.20-beta.0(core-js@3.38.1)(xgplayer@3.0.19): - resolution: {integrity: sha512-mAeaiEHdSIP7dKrDvoZQKa6pUEz9rq/H7K03Jt+Z0J3DToy+wuHNjO/dzvzGGwuB+kbewVArkkEvcGq0eEbdeA==} + /xgplayer-flv@3.0.20(core-js@3.38.1)(xgplayer@3.0.20): + resolution: {integrity: sha512-iIF3COnIHB0SDmdZ6HRQ+Ve2p2K2acB7rfqsWLVbgGvhjLYFA/PqRS+4AdGQyg+yi87MnX4zsoho/I4M7rByFA==} peerDependencies: core-js: '>=3.12.1' xgplayer: '>=3.0.1' dependencies: core-js: 3.38.1 eventemitter3: 4.0.7 - xgplayer: 3.0.19(core-js@3.38.1) - xgplayer-streaming-shared: 3.0.19(core-js@3.38.1) - xgplayer-transmuxer: 3.0.19(core-js@3.38.1) + xgplayer: 3.0.20(core-js@3.38.1) + xgplayer-streaming-shared: 3.0.20(core-js@3.38.1) + xgplayer-transmuxer: 3.0.20(core-js@3.38.1) dev: false /xgplayer-hls.js@2.2.2: @@ -6781,21 +6740,21 @@ packages: event-emitter: 0.3.5 dev: false - /xgplayer-hls@3.0.19(core-js@3.38.1)(xgplayer@3.0.19): - resolution: {integrity: sha512-xDXx+/OdCPbwwu7+zxdbedJt7UyQqHrOTX6mZrRIMtXs1oexGgCFV3ddZtICPxgINipNLUFpm67nMRDNl5PkFA==} + /xgplayer-hls@3.0.20(core-js@3.38.1)(xgplayer@3.0.20): + resolution: {integrity: sha512-ForAjajjSFb4sFWhjIKPChFsZMnGbrsifUp8W2h8x11HDc3ErDHX4r6xZjeqvZRPppv2OVPX7YAcyVjVYnCbIg==} peerDependencies: core-js: '>=3.12.1' - xgplayer: 3.0.19 + xgplayer: 3.0.20 dependencies: core-js: 3.38.1 eventemitter3: 4.0.7 - xgplayer: 3.0.19(core-js@3.38.1) - xgplayer-streaming-shared: 3.0.19(core-js@3.38.1) - xgplayer-transmuxer: 3.0.19(core-js@3.38.1) + xgplayer: 3.0.20(core-js@3.38.1) + xgplayer-streaming-shared: 3.0.20(core-js@3.38.1) + xgplayer-transmuxer: 3.0.20(core-js@3.38.1) dev: false - /xgplayer-streaming-shared@3.0.19(core-js@3.38.1): - resolution: {integrity: sha512-dZcVDpMGQ9zquBeFnXTqsvZSPvxrxii6CpAk+Zf6aDNnd2s/whOZ043WuRHcG9Tz6GOnqSXnuLW5NRenbEdvrA==} + /xgplayer-streaming-shared@3.0.20(core-js@3.38.1): + resolution: {integrity: sha512-Z7f/ozrEDUtT5g2y7y1wssuzIPpL8YXkq6f5UX6SI0qN+aC2/r5SlKpgCVaQMi3nynWiCjwoag6vJ+uf5HVEYA==} peerDependencies: core-js: '>=3.12.1' dependencies: @@ -6803,8 +6762,8 @@ packages: eventemitter3: 4.0.7 dev: false - /xgplayer-subtitles@3.0.19(core-js@3.38.1): - resolution: {integrity: sha512-e2k1oFq1HSbnnHaK694FREqkFyq65ze4vETTIy8ABkOXItcr9/ugyNIJ4zCjD+jExSAVppM9FAF761X4+wRCeA==} + /xgplayer-subtitles@3.0.20(core-js@3.38.1): + resolution: {integrity: sha512-I1bjsIY+aKOrhYQspLdneOkYg+Vf4cJVGPnDSFnNebnxXl9Mhz5SEpWGzYizMYxL9UvsQ9pgjeEY0o4hkwM+kQ==} peerDependencies: core-js: '>=3.12.1' dependencies: @@ -6812,19 +6771,19 @@ packages: eventemitter3: 4.0.7 dev: false - /xgplayer-transmuxer@3.0.19(core-js@3.38.1): - resolution: {integrity: sha512-nRlpIL/N19TG61fVdhUPdSsRpAi2rXsrPUID8lDHI0FLacDCdaM7cBo902iX1iGE0TUSoJBvkO/6Hps5GsoWhg==} + /xgplayer-transmuxer@3.0.20(core-js@3.38.1): + resolution: {integrity: sha512-WH1XV4ZBnZ5jTdMgz4R63K2ekw61leYzYzey3rjC0WSTMMufvwFQnJ0I1Jx5w7puSZqKwHpNl1a6CUDFlba+5A==} peerDependencies: core-js: '>=3.12.1' dependencies: - '@babel/runtime': 7.25.7 + '@babel/runtime': 7.25.6 concat-typed-array: 1.0.2 core-js: 3.38.1 crypto-es: 1.2.7 dev: false - /xgplayer@3.0.19(core-js@3.38.1): - resolution: {integrity: sha512-yw4yinU5EtxS5YxOpctCVnHS/WW3tLTYjT+ZHivUYihlaAdudrmBmoOCcRYykGg7xz6PVIi6B79Gn1RBnGAnpg==} + /xgplayer@3.0.20(core-js@3.38.1): + resolution: {integrity: sha512-UNKZJRyODOZGdka83ao8fI18xdhzOV8qG4aNEOOkuOQbXFXfXsJMr/dazRHFP+uXmTqiCXr568euee3ch7CS7g==} peerDependencies: core-js: '>=3.12.1' dependencies: @@ -6833,7 +6792,7 @@ packages: delegate: 3.2.0 downloadjs: 1.4.7 eventemitter3: 4.0.7 - xgplayer-subtitles: 3.0.19(core-js@3.38.1) + xgplayer-subtitles: 3.0.20(core-js@3.38.1) dev: false /y18n@4.0.3: @@ -6856,8 +6815,13 @@ packages: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} dev: true - /yaml@2.6.0: - resolution: {integrity: sha512-a6ae//JvKDEra2kdi1qzCyrJW/WZCgFi8ydDV+eXExl95t+5R+ijnqHJbz9tmMh8FUjx3iv2fCQ4dclAQlO2UQ==} + /yaml@2.3.1: + resolution: {integrity: sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==} + engines: {node: '>= 14'} + dev: true + + /yaml@2.5.1: + resolution: {integrity: sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q==} engines: {node: '>= 14'} hasBin: true dev: true @@ -6916,8 +6880,8 @@ packages: engines: {node: '>=10'} dev: true - /zrender@5.4.1: - resolution: {integrity: sha512-M4Z05BHWtajY2241EmMPHglDQAJ1UyHQcYsxDNzD9XLSkPDqMq4bB28v9Pb4mvHnVQ0GxyTklZ/69xCFP6RXBA==} + /zrender@5.6.0: + resolution: {integrity: sha512-uzgraf4njmmHAbEUxMJ8Oxg+P3fT04O+9p7gY+wJRVxo8Ge+KmYv0WJev945EH4wFuc4OY2NLXz46FZrWS9xJg==} dependencies: tslib: 2.3.0 dev: false diff --git a/public/images/access/agent-device.png b/public/images/access/agent-device.png new file mode 100644 index 0000000000000000000000000000000000000000..52f23bd7f59de543c5c65c6d67922f6f296c40cc Binary files /dev/null and b/public/images/access/agent-device.png differ diff --git a/public/images/access/agent-media.png b/public/images/access/agent-media.png new file mode 100644 index 0000000000000000000000000000000000000000..622f8e54bb2aa5799962c6b81b3a04b96b8e95fd Binary files /dev/null and b/public/images/access/agent-media.png differ diff --git a/public/images/edge/empty-child.png b/public/images/edge/empty-child.png new file mode 100644 index 0000000000000000000000000000000000000000..e56d48ab1c078ecfddf6ed0236a25e810ae2ef70 Binary files /dev/null and b/public/images/edge/empty-child.png differ diff --git a/public/images/edge/token-error-icon.png b/public/images/edge/token-error-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..c06080ccf053ea8acfceb1bc54c518b175898745 Binary files /dev/null and b/public/images/edge/token-error-icon.png differ diff --git a/public/images/edge/token-error.jpg b/public/images/edge/token-error.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6b06d9658bc0e86a65ae4af2e02b0cf63db42ce4 Binary files /dev/null and b/public/images/edge/token-error.jpg differ diff --git a/public/images/media/agent_doc.png b/public/images/media/agent_doc.png new file mode 100644 index 0000000000000000000000000000000000000000..87712d26c9c27c0b35ef071abbf832a5d7896168 Binary files /dev/null and b/public/images/media/agent_doc.png differ diff --git a/src/api/device/instance.ts b/src/api/device/instance.ts index 1f2a56983c674120ebca33bc50f11cd834a8702c..66c1474c45ee26b77b4a843c5c3e8db0d82728e4 100644 --- a/src/api/device/instance.ts +++ b/src/api/device/instance.ts @@ -259,6 +259,38 @@ export const unbindBatchDevice = (deviceId: string, data: Record) = */ export const bindDevice = (deviceId: string, data: Record) => server.post(`/device/gateway/${deviceId}/bind`, data) +/** + * 云端批量禁用设备-云边协同 + * @param gatewayId 网关设备ID + * @param data 云端子设备ID集合 + * @returns + */ +export const _undeployCloud = (gatewayId: string, data: Record,params?:any) => server.post(`/edge/action-sync/${gatewayId}/_undeploy`, data,params) + +/** + * 云端批量启用设备-云边协同 + * @param gatewayId 网关设备ID + * @param data 云端子设备ID集合 + * @returns + */ +export const _deployCloud = (gatewayId: string, data: Record,params?:any) => server.post(`/edge/action-sync/${gatewayId}/_deploy`, data,params) + +/** + * 云端批量解绑设备-云边协同 + * @param gatewayId 网关设备ID + * @param data 云端子设备ID集合 + * @returns + */ +export const _unbindCloud = (gatewayId: string, data: Record,params?:any) => server.post(`/edge/action-sync/${gatewayId}/_unbind`, data,params) + +/** + * 云端批量删除设备-云边协同 + * @param gatewayId 网关设备ID + * @param data 云端子设备ID集合 + * @returns + */ +export const _deleteCloud = (gatewayId: string, data: Record,params?:any) => server.post(`/edge/action-sync/${gatewayId}/_delete`, data,params) + /** * 查询是否存在云端映射设备 @@ -689,3 +721,10 @@ export const uploadAnalyzeMetadata = (productId:string,data: any) => server.post * @param id 设备ID */ export const getDeviceShadow = (id: string) => server.get(`/device/shadow/${id}`) + +/** + * 物模型事件图片地址代理 + */ +export const proxyUrl = (deviceId: string, url: string) => server.get(`/edge/device/${deviceId}/_proxy?url=${url}`, {}, { responseType: 'blob' }) + +export const tagsList = () => server.get('/device-instance/tags/key') diff --git a/src/api/edge-resource/ai-model.ts b/src/api/edge-resource/ai-model.ts new file mode 100644 index 0000000000000000000000000000000000000000..23c0cb78d036209f68bb9c9b9ce8a0c7586557a5 --- /dev/null +++ b/src/api/edge-resource/ai-model.ts @@ -0,0 +1,30 @@ +import server from '@/utils/request'; + +/** + * 分页查询AI模型资源 + */ +export const queryPage = (data: any) => server.post('/entity/template/_query', data) + +/** + * 保存AI模型资源 + */ +export const save = (data: any) => server.patch('/entity/template', data); + +/** + * 删除AI模型资源 + * @params id 模型id + */ +export const remove = (id: string) => server.remove(`/entity/template/${id}`); + +/** + * 更新AI模型资源 + * @params id 模型id + * @params data 模型实体 + */ +export const update = (id: string, data: any) => server.put(`/entity/template/${id}`, data); + +/** + * AI模型资源详情 + * @params id 模型id + */ +export const detail = (id: string) => server.get(`/entity/template/${id}`); diff --git a/src/api/edge-resource/index.ts b/src/api/edge-resource/index.ts new file mode 100644 index 0000000000000000000000000000000000000000..9d386aa57f6da8b3c47f17602c178f18f6df09fc --- /dev/null +++ b/src/api/edge-resource/index.ts @@ -0,0 +1,81 @@ +import server from '@/utils/request'; + +/** + * 分页查询资源 + */ +export const queryPage = (data: any) => server.post('/entity/template/_query', data) + +/** + * 保存资源 + */ +export const save = (data: any) => server.patch('/entity/template', data); + +/** + * 删除资源 + * @params id 模型id + */ +export const remove = (id: string) => server.remove(`/entity/template/${id}`); + +/** + * 更新资源 + * @params id 模型id + * @params data 模型实体 + */ +export const update = (id: string, data: any) => server.put(`/entity/template/${id}`, data); + +/** + * 资源详情 + * @params id 模型id + */ +export const detail = (id: string) => server.get(`/entity/template/${id}`); +/** + * 创建下发任务 + */ +export const createTask = (data: any) => server.post('/edge/agent-job/_create', data) + +/** + * 下发任务详情列表 + */ +export const queryTaskDetailPage = (data: any) => server.post('/edge/agent-job/detail/_query', data) + +/** + * 下发任务详情记录 + */ +export const queryIssueDetail = (data: any) => server.post('/edge/agent-job/tasks/detail/_query', data) + +/** + * 暂停全部任务 + * @param type 任务类型(resourceIssue-资源下发,remoteUpgrade-远程升级,bindDevice-绑定子设备) + * @param id 任务ID + */ +export const pauseAll = (id: string) => server.post(`/edge/agent-job/${id}/_stop`) + +/** + * 开始任务/重试任务 + * @param type 任务类型(resourceIssue-资源下发,remoteUpgrade-远程升级,bindDevice-绑定子设备) + * @param id 任务ID + * @param data 状态 + */ +export const startTask = (id: string, data: string[]) => server.post(`/edge/agent-job/${id}/_deploy`, data) + +/** + * 重试单个任务 + * @param id 任务ID + * @param data 状态 + */ +export const startTaskOne = (id: string, data: any) => server.post(`/edge/agent-job/tasks/${id}/_deploy`, data) + +/** + * 停止单个任务 + */ +export const stopTaskOne = (id: string, data: any) => server.post(`/edge/agent-job/tasks/${id}/_stop`) + +/** + * 删除单个任务 + */ +export const deleteTaskOne = (taskId: string) => server.remove(`/edge/agent-job/tasks/${taskId}/_delete`) + +/** + * 删除作业 + */ +export const deleteJob = (id: string) => server.remove(`/edge/agent-job/${id}`) \ No newline at end of file diff --git a/src/api/edge/batch.ts b/src/api/edge/batch.ts new file mode 100644 index 0000000000000000000000000000000000000000..18f5e94abc98517f94df82a8b9af3ce47cfe9d8a --- /dev/null +++ b/src/api/edge/batch.ts @@ -0,0 +1,127 @@ +import server from '@/utils/request' + +/** + * 访问边端设备列表 + * @param thingId 边缘网关ID + * @param internalId 连接id + * @param data + */ +export const _queryByEdge = (thingId: string,data:any) => server.post(`/edge/device/${thingId}/_/edge/command/QueryBindInfoList/_execute`,data) + +/** + * 绑定子设备命令 + * @param thingId 边缘网关ID + * @param commandId 命令ID{BindMasterDevice:绑定单个,BatchBindDevice:批量绑定,UnbindDevice:解绑} + * @param data + */ +export const _commandByEdge = (thingId: string,commandId:string,data:any) => server.post(`/edge/device/${thingId}/_/edge/command/${commandId}/_execute`,data) + +/** + * 云端调边端详情 + * @param thingId 边缘网关ID + * @param id 设备ID + */ +export const _detailByEdge = (thingId: string,id:string) => server.get(`/edge/device/${thingId}/_/device-instance/${id}/detail`,{}) + +/** + * 云端调边端事件 + * @param thingId 边缘网关ID + * @param id 设备ID + */ +export const getEventListByEdge = (thingId: string,id:string,eventId:string,data:any) => server.post(`/edge/device/${thingId}/_/device-instance/${id}/event/${eventId}?format=true`,data) + +/** + * 云端调边端日志 + * @param thingId 边缘网关ID + * @param id 设备ID + */ +export const queryLogByEdge = (thingId: string,id:string,data:any) => server.post(`/edge/device/${thingId}/_/device-instance/${id}/logs`,data) + +/** + * 创建任务 + * @param data + */ +export const createTask = (data: any) => server.post('/edge/agent-job/_create', data) + +/** + * 查询任务信息 + + * @param data + */ +export const queryTask = (data: any) => server.post('/edge/agent-job/detail/_query', data) + +/** + * 查询任务详情列表 + * @param data + */ +export const queryTaskdDtail = (data: any) => server.post('/edge/agent-job/tasks/detail/_query', data) + +/** + * 全部开始 + * @param data + * @param id + */ +export const startAllTask = (id:string,data: any) => server.post(`/edge/agent-job/${id}/_deploy`, data) +/** + * 全部停止 + * @param data + * @param id + */ +export const stopAllTask = (id:string,data: any) => server.post(`/edge/agent-job/${id}/_stop`, data) +/** + * 全部删除 + * @param data + * @param id + */ +export const deleteAllTask = (id:string) => server.remove(`/edge/agent-job/${id}`) + +/** + * 停止一项 + * @param data + * @param id + */ +export const stopOneTask = (id:string,data: any) => server.post(`/edge/agent-job/tasks/${id}/_stop`, data) +/** + * 开始一项 + * @param data + * @param id + */ +export const startOneTask = (id:string,data: any) => server.post(`/edge/agent-job/tasks/${id}/_deploy`, data) +/** + * 删除一项 + * @param data + * @param id + */ +export const deleteOneTask = (id:string,data: any) => server.remove(`/edge/agent-job/tasks/${id}/_delete`) + +/** + * 任务详情中涉及网关 + * @param data + */ +export const queryDetailGateway = (data: any) => server.post('/device-instance/_query', data) + +/** + * 分页查询网关操作详情 + * @param data + */ +export const queryDetailPlugin = (data: any) => server.post('/batch/device/operation/detail/_query', data) + +/** + * 分页查询批量操作任务详情记录 + * @param data + */ +export const queryDetailHistory = (data: any) => server.post('/batch/operation/history/_query', data) + +/** + * 开始任务 + * @param type + * @param id + */ +export const startTask = (type: string, id:string) => server.post(`/batch/operation/task/${type}/${id}/_start`) + +/** + * + * @param type + * @param id + */ +export const stopTask = (type: string, id:string) => server.post(`/batch/operation/task/${type}/${id}/_stop`) diff --git a/src/api/edge/device.ts b/src/api/edge/device.ts index 62bf77f7711bbd3532413461dff9111f6db155d0..323d044ee9e90b8ce156a27ce8cef614079db031 100644 --- a/src/api/edge/device.ts +++ b/src/api/edge/device.ts @@ -6,4 +6,9 @@ export const _control = (deviceId: string) => server.get(`/edge/remote/${deviceI export const _stopControl = (deviceId: string) => server.post(`/edge/remote/${deviceId}/stop`) +export const getRemoteProxyUrl = (deviceId: string) => server.post(`/edge/device/${deviceId}/_proxy/_start?timeoutMinute=1440`) + +export const getRemoteToken = (deviceId: string, data) => server.post(`/edge/device/${deviceId}/token`, data) +export const getRemoteSystem = (deviceId: string, data: any) => server.post(`/edge/device/${deviceId}/_/system/config/scopes`, data) + diff --git a/src/api/iot-card/cardManagement.ts b/src/api/iot-card/cardManagement.ts index f44d31e4d222845fed588785e003348719b1a41f..0ac3c47dc650c956acf25ffb7591a23d7b67505b 100644 --- a/src/api/iot-card/cardManagement.ts +++ b/src/api/iot-card/cardManagement.ts @@ -53,7 +53,7 @@ export const unDeployBatch = (data: any) => server.get(`/network/card/_deactivat * 复机已停机物联卡(批量) * @param data */ -export const resumptionBatch = (data: any) => server.get(`/network/card/_resumption/_bitch`, data); +export const resumptionBatch = (data: any) => server.post(`/network/card/_resumption/_bitch`, data); /** * 同步物联卡状态 diff --git a/src/components/BadgeStatus/color.ts b/src/components/BadgeStatus/color.ts index d79c300a92a1ae892d7bd0216b710859e94c7281..edccd1cc2a95edb818a0e22346c84ba466153214 100644 --- a/src/components/BadgeStatus/color.ts +++ b/src/components/BadgeStatus/color.ts @@ -1,17 +1,21 @@ +import {hexToRGB} from "@/utils/comm"; const color = { - 'processing': '9, 46, 231', - 'error': '229, 0, 18', - 'success': '36, 178, 118', - 'warning': '255, 144, 0', - 'default': '102, 102, 102', + 'processing': '#092EE7', + 'error': '#E50012', + 'success': '#24B276', + 'warning': '#FF9000', + 'default': '#666666', + 'primary': '#1890ff' } export const getHexColor = (code: string, pe: number = 0.1) => { const _color = color[code] || color.default + + const rgb = hexToRGB(_color) if (code === 'default') { pe = 0.1 } - return `rgba(${_color}, ${pe})` + return `rgba(${rgb.join(',')}, ${pe})` } -export default color \ No newline at end of file +export default color diff --git a/src/components/CardBox/index.vue b/src/components/CardBox/index.vue index fa24788a5507413171f658e50540b59d901a7915..7f16d9d8f4c63ae8fef5bd48ce45689416231892 100644 --- a/src/components/CardBox/index.vue +++ b/src/components/CardBox/index.vue @@ -158,12 +158,14 @@ const props = defineProps({ } }); -const getBackgroundColor = (code: string | number) => { - const _color = color[code] || color.default; +const getBackgroundColor = (code: string) => { + const _color1 = getHexColor(code, 0.03); + const _color2 = getHexColor(code, 0); + return `linear-gradient( 188.4deg, - rgba(${_color}, 0.03) 30%, - rgba(${_color}, 0) 80% + ${_color1} 30%, + ${_color2} 80% )`; }; diff --git a/src/components/CheckButton/CheckButton.vue b/src/components/CheckButton/CheckButton.vue index 3746f45161c492a4ee060c07c387418f047a9cce..b54d90da4346787597af1c104eeda2798aaa5f2e 100644 --- a/src/components/CheckButton/CheckButton.vue +++ b/src/components/CheckButton/CheckButton.vue @@ -14,7 +14,9 @@ } " > - {{ item.label }} + + {{ item.label }} + @@ -56,6 +58,9 @@ const props = defineProps({ columns: { type: Number, default: 3 + }, + beforeChange: { + type: Function } }); const emit = defineEmits(['update:value', 'change', 'select']); @@ -81,13 +86,21 @@ const _options = computed(() => { return props.options; }); -const selected = (key: string | number, disabeld: boolean) => { +const selected = async (key: string | number, disabeld: boolean) => { if (disabeld || props.disabled) return; + const pending = await props.beforeChange?.(key) + + if (pending === false) { + return + } + const values = new Set(myValue.value); if (values.has(key)) { - values.delete(key); + if (props.multiple) { + values.delete(key); + } } else { if (!props.multiple) { values.clear(); @@ -126,29 +139,31 @@ watch( \ No newline at end of file + diff --git a/src/components/FRuleEditor/index.vue b/src/components/FRuleEditor/index.vue index 29a444a266ac6da88013219df1db63ebcce7ccaf..99bf558b4c476ce4eeda242d3f958f8ad2373166 100644 --- a/src/components/FRuleEditor/index.vue +++ b/src/components/FRuleEditor/index.vue @@ -5,6 +5,7 @@ visible width="1300px" title="编辑规则" + centered :destroyOnClose="true" :dialogStyle="{ zIndex: 1072 diff --git a/src/components/GeoComponent/index.vue b/src/components/GeoComponent/index.vue index 9ed714f363787979536662cae59b9cfdfbcffed8..5edeb9266943178a001c72dadae8e3ed002e1557 100644 --- a/src/components/GeoComponent/index.vue +++ b/src/components/GeoComponent/index.vue @@ -15,6 +15,7 @@ @cancel="modalVis = false" @ok="handleModalSubmit" destroyOnClose + :zIndex="1031" >
{{errorMap.message}} -
+
@@ -76,7 +77,7 @@ const filedValue = computed(() => { provide(TABLE_FORM_ITEM_ERROR, errorMap) const popContainer = (e) => { - return e + return e } const removeTimer = () => { diff --git a/src/components/Metadata/Table/components/BooleanSelect/index.vue b/src/components/Metadata/Table/components/BooleanSelect/index.vue index 1b24b6433475d2517fb8f58bd9edb630687f8a96..2713e4d27689f19fa8e80a54789b5d6fe12a84a0 100644 --- a/src/components/Metadata/Table/components/BooleanSelect/index.vue +++ b/src/components/Metadata/Table/components/BooleanSelect/index.vue @@ -1,5 +1,6 @@ + \ No newline at end of file + diff --git a/src/router/menu.ts b/src/router/menu.ts index 2fe389ea7348e7f2f66f152d4ab01738f1ee7be7..0173edac1508e2563c09d1557a2d789a09b6d9e1 100644 --- a/src/router/menu.ts +++ b/src/router/menu.ts @@ -87,6 +87,13 @@ export default [ }, component: () => import('@/views/oauth/WeChat.vue') }, + { + path: '/edge/token/:id', + meta: { + title: 'token失效' + }, + component: () => import('@/views/edge/TokenJump/index.vue') + }, { path: VideoSharePath, component: () => import('@/views/media/Device/Channel/Share/index.vue') diff --git a/src/store/resource.ts b/src/store/resource.ts new file mode 100644 index 0000000000000000000000000000000000000000..056b20f1c4b0fd0f9e96edc8446993aa5eb6afeb --- /dev/null +++ b/src/store/resource.ts @@ -0,0 +1,8 @@ +import { defineStore } from "pinia"; + +export const useResourceStore = defineStore('alarm', () => { + const resource = ref({}) + return { + resource + } +}) \ No newline at end of file diff --git a/src/store/system.ts b/src/store/system.ts index b9820b8f5ab074c74304baca51190813efd8f1b4..619745195fae3132c291ea1cd90361d483cf4c26 100644 --- a/src/store/system.ts +++ b/src/store/system.ts @@ -7,8 +7,9 @@ import type { ConfigInfoType } from '@/views/system/Basis/typing'; import { LocalStore } from '@/utils/comm' import { SystemConst } from '@/utils/consts' import { - getTagsColor, + getTagsColor, } from '@/api/system/calendar' +import Config from '../../config/config' type SystemStateType = { isCommunity: boolean; @@ -68,8 +69,8 @@ export const useSystem = defineStore('system', { const res = await settingDetail('front') if (res.success) { const ico: any = document.querySelector('link[rel="icon"]'); - ico.href = res.result.ico; - document.title = res.result.title || ''; + ico.href = res.result.ico || Config.logo; + document.title = res.result.title || Config.title; this.configInfo['front'] = res.result } }, @@ -77,8 +78,8 @@ export const useSystem = defineStore('system', { const _data = this.configInfo['front'] if (_data) { const ico: any = document.querySelector('link[rel="icon"]'); - ico.href = _data.ico; - document.title = _data.title || ''; + ico.href = _data.ico || Config.logo; + document.title = _data.title || Config.title; } }, async getSystemConfig() { diff --git a/src/style/comm.less b/src/style/comm.less new file mode 100644 index 0000000000000000000000000000000000000000..3ba6d8767a01bbeed2dc7d25d44b3962535aeb06 --- /dev/null +++ b/src/style/comm.less @@ -0,0 +1,23 @@ +@set: { + 0: #ffffff; + 50: #F8F9FA; + 200: #EFF0F1; + 300: #E4E6E7; + 400: #C3C7CB; + 500: #8D9399; + 600: #646C73; + 900: #1F2429; +} + +each(@set, { + .text-color-@{key} { + color: @value; + } + .bg-color-@{key} { + background-color: @value; + } + .border-color-@{key} { + border-color: @value; + } +}) + diff --git a/src/style/global.less b/src/style/global.less index 8440adb9616d4364aed23303290c2f885a2de1f7..7b585dcfab35640c3ab60caa3ccc6504a38ec59d 100644 --- a/src/style/global.less +++ b/src/style/global.less @@ -1,2 +1,3 @@ @import "./scrollbar.less"; @import "./modal.less"; +@import "./comm.less"; diff --git a/src/style/variable.less b/src/style/variable.less index f08b2d8237187c1c924e82ea496d66b674d37b35..ff6b130555e1babdfe278d8634e301d47bae327b 100644 --- a/src/style/variable.less +++ b/src/style/variable.less @@ -2,12 +2,12 @@ @import 'jetlinks-ui-components/es/style/variable.less'; @import './scrollbar.less'; -.ellipsisFn(@num: 1, @width: 100%) { - display: -webkit-box; - max-width: @width; - overflow: hidden; - /*! autoprefixer: off */ - -webkit-box-orient: vertical; - /*! autoprefixer: on */ - -webkit-line-clamp: @num; -} +@font-gray-900: #1F2429; +@font-gray-600: #646C73; +@font-gray-500: #8D9399; +@font-gray-400: #C3C7CB; +@font-gray-300: #E4E6E7; +@font-gray-200: #EFF0F1; +@font-gray-50: #F8F9FA; +@font-gray-0: #fffff; +@border-base-color: #D9D9D9; diff --git a/src/utils/comm.ts b/src/utils/comm.ts index e80823929f7b7c4a97852b87d2d113341898452d..e7f4791c033b2a01af3f26d77c44fb6eb93483e7 100644 --- a/src/utils/comm.ts +++ b/src/utils/comm.ts @@ -1,7 +1,8 @@ import type { Slots } from 'vue' -import { TOKEN_KEY } from '@/utils/variable' +import {BASE_API_PATH, TOKEN_KEY} from '@/utils/variable' import { message } from 'jetlinks-ui-components'; import {cloneDeep, isArray} from "lodash-es"; +import {getRemoteProxyUrl, getRemoteSystem, getRemoteToken} from "@/api/edge/device"; /** * 静态图片资源处理 @@ -194,3 +195,73 @@ export const isFullScreen = () => { document.webkitFullScreen || document.msFullScreen) } + +export const hexToRGB = (hex: string) => { + let alpha = false, + h = hex.slice(hex.startsWith("#") ? 1 : 0); + if (h.length === 3) { + h = [...h].map((x) => x + x).join("") + } else if (h.length === 8) { + alpha = true; + } else { + h = parseInt(h, 16); + } + + + return [ + h >>> (alpha ? 24 : 16), + (h & (alpha ? 0x00ff0000 : 0x00ff00)) >>> (alpha ? 16 : 8), + ((h & (alpha ? 0x0000ff00 : 0x0000ff)) >>> (alpha ? 8 : 0)) + ] +} + +export const openEdgeUrl = async (id: string) => { + const resp = await getRemoteToken(id, + { + "expires": 7200000, + "authentication": { + "user": { + "id": "", + "username": "admin", + "name": "超级管理员", + "userType": "admin", + "type": "user" + }, + "permissions": [ + { + "id": "*", + "name": "*", + "actions": [ + "*" + ], + "dataAccesses": [] + } + ], + "dimensions": [ + { + "id": "", + "username": "admin", + "name": "超级管理员", + "userType": "admin", + "type": "user" + } + ], + "attributes": {} + } + }) + + if (resp.success) { + const _location = window.location.origin + window.location.pathname + const system = await getRemoteSystem(id, [ "paths" ]) + const path = system.result[0]?.properties['base-path'] + // const path = 'http://192.168.32.116:5173' + const base64Url = btoa(path) + const proxyUrl = await getRemoteProxyUrl(id) + const fallbackBase64 = btoa(`${_location}#/edge/token/${id}`) + const basePath = BASE_API_PATH?.replace('/', '') || '' + + const url = `${_location}${basePath}/edge/device:${id}/_proxy/${proxyUrl.result}/${fallbackBase64}/${base64Url}/#/?token=${resp.result}&thingId=${id}&terminal=cloud` + + window.open(url) + } +} diff --git a/src/utils/menu.ts b/src/utils/menu.ts index 08f6a06bc09e2d4bb0b336ec0db7e7d7ca98257f..c9e9732010cf5e8cc58e35e8b50e4cb4cc508fea 100644 --- a/src/utils/menu.ts +++ b/src/utils/menu.ts @@ -151,7 +151,7 @@ const extraRouteObj = { ], }, 'edge/Device': { - children: [{ code: 'Remote', name: '远程控制' }], + children: [{ code: 'Remote', name: '远程访问' }], }, 'rule-engine/Alarm/Log': { children: [{ code: 'Record', name: '处理记录' }] diff --git a/src/utils/websocket.ts b/src/utils/websocket.ts index a23cda1fc0ac38114b7a61a32314ebd859f8631c..106796b7412df2bebf5d1485c5ffc55a28ce494f 100644 --- a/src/utils/websocket.ts +++ b/src/utils/websocket.ts @@ -28,7 +28,9 @@ export const initWebSocket = () => { timer = setInterval(heartCheck, 2000) if (tempQueue.length > 0) { for (let i = tempQueue.length - 1; i >= 0; i--) { - ws.send(tempQueue[i].msg) + if (ws.readyState === WebSocket.OPEN) { + ws.send(tempQueue[i].msg) + } } } } @@ -95,7 +97,7 @@ export const getWebSocket = (id: string, topic: string, parameter: Record item.id !== id) - if (thisWs) { + if (thisWs && thisWs.readyState === WebSocket.OPEN) { thisWs.send(unsub) } } diff --git a/src/views/DataCollect/Collector/Point/components/Import/index.vue b/src/views/DataCollect/Collector/Point/components/Import/index.vue index 3f472c52ff5b6ec07586b5e76aa280341fc8a43b..d8a9fbf816a69bb8549e694947239196a0dd7ceb 100644 --- a/src/views/DataCollect/Collector/Point/components/Import/index.vue +++ b/src/views/DataCollect/Collector/Point/components/Import/index.vue @@ -1,5 +1,5 @@ diff --git a/src/views/DataCollect/Collector/Point/components/WritePoint/index.vue b/src/views/DataCollect/Collector/Point/components/WritePoint/index.vue index 7e87842b1413c0a285b53fcf904bb2dedb1e586d..1742606258078007e8cfe2660938b168d8823950 100644 --- a/src/views/DataCollect/Collector/Point/components/WritePoint/index.vue +++ b/src/views/DataCollect/Collector/Point/components/WritePoint/index.vue @@ -325,10 +325,12 @@ const validateHex = async (rule: any, value: any) => { }; const validatorOpc_UA = async (rule: any, value: any) => { - console.log(value); + console.log(value.every((i) => { + return i || i === 0; + })); return value.length && value.every((i) => { - return i; + return i || i === 0; }) ? Promise.resolve() : Promise.reject(`请输入${props.data.name}`); diff --git a/src/views/Northbound/DuerOS/Detail/command/index.vue b/src/views/Northbound/DuerOS/Detail/command/index.vue index 6c9df789cb47c8d615cc090b297d0566d9c37f5d..ea044267a4dec1a5fe4848c9a820b2e19ddedbee 100644 --- a/src/views/Northbound/DuerOS/Detail/command/index.vue +++ b/src/views/Northbound/DuerOS/Detail/command/index.vue @@ -185,6 +185,7 @@ @@ -328,4 +370,4 @@ defineExpose({ saveBtn }); margin-bottom: 0; } } - \ No newline at end of file + diff --git a/src/views/Northbound/DuerOS/Detail/index.vue b/src/views/Northbound/DuerOS/Detail/index.vue index fd6eb48a6f979805b1f461742421ca17d07caf04..86dd1e66e95d6ef6d9ee96ce6a3c974692bb14eb 100644 --- a/src/views/Northbound/DuerOS/Detail/index.vue +++ b/src/views/Northbound/DuerOS/Detail/index.vue @@ -884,9 +884,9 @@ watch( async () => { noData.value = false formRef.value?.resetFields(); + await getProduct(props.data?.id || ':id' as string); + getTypes(); if (props.data?.id) { - await getProduct(props.data?.id as string); - getTypes(); const resp = await detail(props.data?.id as string); const _data: any = resp.result; const _obj = cloneDeep(_data); diff --git a/src/views/Northbound/DuerOS/Tree/index.vue b/src/views/Northbound/DuerOS/Tree/index.vue index 59669484dd9138ea6337d9130be23903bc6e5968..bcb74f57d874cb95f260db1eb1939696be7de795 100644 --- a/src/views/Northbound/DuerOS/Tree/index.vue +++ b/src/views/Northbound/DuerOS/Tree/index.vue @@ -83,7 +83,7 @@ const selectItem = (data) => { emit('viewData', data); }; const handleAdd = () => { - selectedId.value = ''; + selectedId.value = "" emit('viewData', { type: 'add', }); diff --git a/src/views/device/Firmware/Task/Detail/index.vue b/src/views/device/Firmware/Task/Detail/index.vue index 5cbf586fed5ec110ff62e9a4143549b801cc6f31..5f4f5c1d548b67e986121a563ba888027f9395a1 100644 --- a/src/views/device/Firmware/Task/Detail/index.vue +++ b/src/views/device/Firmware/Task/Detail/index.vue @@ -114,7 +114,9 @@
diff --git a/src/views/device/Firmware/index.vue b/src/views/device/Firmware/index.vue index 713e546fedf253918a7e5bcce01c3a679efa4989..8d13ea93ffd8c6089a0beab6fcebb483eb60434a 100644 --- a/src/views/device/Firmware/index.vue +++ b/src/views/device/Firmware/index.vue @@ -86,7 +86,7 @@ import type { ActionsType } from '@/components/Table/index'; import { query, queryProduct, remove } from '@/api/device/firmware'; import TaskDrawer from './Task/index.vue'; import dayjs from 'dayjs'; -import _ from 'lodash-es'; +import { map, cloneDeep } from 'lodash-es'; import Save from './Save/index.vue'; import type { FormDataType } from './type'; import { onlyMessage } from '@/utils/comm'; @@ -240,7 +240,7 @@ const handleAdd = () => { visible.value = true; }; const handleEdit = (data: Partial>) => { - current.value = _.cloneDeep(data); + current.value = cloneDeep(data); visible.value = true; }; @@ -273,7 +273,7 @@ onMounted(() => { terms: [{ column: 'state', value: 1 }], // 不传参会报错,暂时查询启用状态的,后期会改查全部 todo }).then((resp: any) => { const list = resp.result.filter((it: any) => { - return _.map(it?.features || [], 'id').includes('supportFirmware'); + return map(it?.features || [], 'id').includes('supportFirmware'); }); productOptions.value = list.map((item: any) => ({ label: item.name, diff --git a/src/views/device/Instance/Detail/Child/Save/index.vue b/src/views/device/Instance/Detail/Child/Save/index.vue new file mode 100644 index 0000000000000000000000000000000000000000..fdb5455af9fe5e1acae39898566115897ff740f3 --- /dev/null +++ b/src/views/device/Instance/Detail/Child/Save/index.vue @@ -0,0 +1,115 @@ + + + + + diff --git a/src/views/device/Instance/Detail/Child/actionModal.vue b/src/views/device/Instance/Detail/Child/actionModal.vue new file mode 100644 index 0000000000000000000000000000000000000000..84390fdfdb3c4fb957f620d8e5126bbc1a1b5f5d --- /dev/null +++ b/src/views/device/Instance/Detail/Child/actionModal.vue @@ -0,0 +1,373 @@ + + + + + diff --git a/src/views/device/Instance/Detail/Child/data.ts b/src/views/device/Instance/Detail/Child/data.ts new file mode 100644 index 0000000000000000000000000000000000000000..259c85346ae0795810fa758343d6a086d7d278d9 --- /dev/null +++ b/src/views/device/Instance/Detail/Child/data.ts @@ -0,0 +1,88 @@ + +export const stateMap = new Map(); +stateMap.set('success', { + text: '已映射', + status: 'success', +}); +stateMap.set('error', { + text: '失败', + status: 'error', +}); +stateMap.set('warning', { + text: '待保存', + status: 'warning', +}); +stateMap.set('none', { + text: '未映射', + status: 'default', +}); + +export const statusMap = new Map() +statusMap.set('notActive','warning') +statusMap.set('offline','error') +statusMap.set('online','success') + + +export const columns = [ + + { + title: '平台设备ID', + dataIndex: 'id', + key: 'id', + scopedSlots: true, + search: { + type: 'string', + // defaultTermType: 'eq', + }, + }, + { + title: '平台设备名称', + dataIndex: 'name', + key: 'name', + scopedSlots: true, + search: { + type: 'string', + }, + }, + { + title: '所属产品', + dataIndex: 'productName', + key: 'productName', + scopedSlots: true, + }, + { + title: '注册时间', + dataIndex: 'registryTime', + key: 'registryTime', + scopedSlots: true, + search: { + type: 'string', + }, + }, + + { + title: '说明', + dataIndex: 'describe', + key: 'describe', + scopedSlots: true, + width: 100, + }, + { + title: '状态', + dataIndex: 'state', + key: 'state', + scopedSlots: true, + width: 70, + + }, + { + title: '已映射边端设备', + key: 'action', + fixed: 'right', + width: 200, + scopedSlots: true, + }, +]; + + + diff --git a/src/views/device/Instance/Detail/Child/index.less b/src/views/device/Instance/Detail/Child/index.less new file mode 100644 index 0000000000000000000000000000000000000000..b280661b5692f976c50eb258e913af9faec90d9a --- /dev/null +++ b/src/views/device/Instance/Detail/Child/index.less @@ -0,0 +1,174 @@ +.container { + width: 100%; + .header { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 12px; + height: 30px; + .header-action-text { + font-weight: 500; + margin-left: 0.5rem; + margin-right: 1.5rem; + font-weight: 600; + } + .header-action-desc { + color: #8d9399; + } + } + .content { + display: flex; + + // gap: 12px; + .left { + flex: 1 1 0; + min-width: 0; + border: 1px solid #c3c7cb; + // min-height: 50px; + border-radius: 4px; + :deep(.JSearch-warp) { + padding-bottom: 0 !important; + } + .left-header { + background: #f8f9fa; + height: 56px; + line-height: 56px; + border-radius: 4px; + padding-left: 12px; + background: #f8f9fa; + box-sizing: border-box; + border-width: 0px 0px 1px 0px; + border-style: solid; + border-color: #e4e6e7; + display: flex; + justify-content: space-between; + } + .left-list { + min-height: 600px; + .renderId { + display: flex; + } + + .left-drag { + border: 1px solid #eff0f1; + height: 32px; + line-height: 32px; + border-radius: 3px; + color: #a3a3a3; + font-size: 14px; + letter-spacing: 0; + padding-left: 4px; + // text-align: center; + } + .left-map { + height: 32px; + background-color: #f8f9fa; + display: flex; + justify-content: space-between; + align-items: center; + border: 1px solid #eff0f1; + border-radius: 3px; + color: #1a1a1a; + font-size: 14px; + letter-spacing: 0; + padding: 0 8px; + } + + } + .left-state{ + margin-left: 30px + } + .left-bottom { + height: 48px; + line-height: 48px; + padding-left: 12px; + box-sizing: border-box; + /* Gray400 */ + border-width: 1px 0px 0px 0px; + border-style: solid; + border-color: #c3c7cb; + font-size: 12px; + font-weight: normal; + letter-spacing: 0em; + /* Gray600 */ + color: #646c73; + } + } + .fold { + display: flex; + align-items: center; + .fold-item { + position: relative; + width: 20px; + height: 55px; + border-radius: 4px; + border: 1px solid #9e9e9e; + background-color: #fff; + display: flex; + align-items: center; + } + } + .right { + width: 380px; + border-radius: 4px; + border: 1px solid #c3c7cb; + .right-title { + background: #020202; + height: 56px; + line-height: 56px; + border-radius: 4px; + + background: #f8f9fa; + box-sizing: border-box; + /* Gray300 */ + border-width: 0px 0px 1px 0px; + border-style: solid; + border-color: #e4e6e7; + display: flex; + justify-content: space-between; + align-items: center; + padding: 0 12px; + } + .right-list { + padding: 12px; + max-height: 630px; + min-height: 640px; + overflow-y: auto; + .right-item { + height: 80px; + border: 1px solid #eff0f1; + border-radius: 6px; + background-color: #f8f9fa; + margin-bottom: 10px; + padding: 12px; + .item-name { + font-size: 16px; + margin-bottom: 6px; + color: #1f2429; + width: 90%; + } + .item-info { + display: flex; + gap: 16px; + font-size: 14px; + color: #646c73; + span { + max-width: 140px; + } + } + } + } + .right-bottom { + margin-top: 12px; + height: 20px; + line-height: 20px; + padding: 0 12px; + } + } + .right-fold { + // width: 10px; + // border-radius: 4px; + // border: 1px solid #c3c7cb; + } + } +} \ No newline at end of file diff --git a/src/views/device/Instance/Detail/Child/index.vue b/src/views/device/Instance/Detail/Child/index.vue new file mode 100644 index 0000000000000000000000000000000000000000..602141a981929262b0d27d869d8ce5b248499c49 --- /dev/null +++ b/src/views/device/Instance/Detail/Child/index.vue @@ -0,0 +1,1251 @@ + + + + + diff --git a/src/views/device/Instance/Detail/ChildDevice/BindChildDevice/index.vue b/src/views/device/Instance/Detail/ChildDevice/BindChildDevice/index.vue index 1e6b4dd2c27b17635eb2b87112f9a00c5e802be7..8403c69eb0ab7128d1c47aaf7eabed4a57e23e19 100644 --- a/src/views/device/Instance/Detail/ChildDevice/BindChildDevice/index.vue +++ b/src/views/device/Instance/Detail/ChildDevice/BindChildDevice/index.vue @@ -4,7 +4,7 @@ :maskClosable="false" width="1000px" :visible="true" - title="绑定子设备" + :title="title" okText="确定" cancelText="取消" @ok="handleOk" @@ -24,6 +24,7 @@ :request="query" model="TABLE" :defaultParams="{ + sorts: [{ name: 'createTime', order: 'desc' }], terms: [ { terms: [ @@ -62,8 +63,12 @@ ], }" :rowSelection="{ + // selectedRowKeys: _selectedRowKeys, + // onChange: onSelectChange, selectedRowKeys: _selectedRowKeys, - onChange: onSelectChange, + onSelect: onSelectChange, + onSelectAll: selectAll, + onSelectNone: () => (_selectedRowKeys = []), }" :params="params" > @@ -73,7 +78,7 @@ ? dayjs(slotProps.registryTime).format( 'YYYY-MM-DD HH:mm:ss', ) - : '' + : '--' }} @@ -93,32 +97,35 @@ const queryFirmwareList = async () => { ], }); if (res.success) { - firmwareList.value = res.result; - } - if (props.type === 'device') { - // 查看固件所属产品下所有的任务 过滤掉不包含该设备的升级任务的固件 - const resp = await historyPaginateNot({ - paging: false, - sorts: [{ name: 'createTime', order: 'desc' }], - terms: [ - { - terms: [ - { - column: 'productId', - value: current.productId, - }, - ], - }, - ], - }); - if (resp.success) { - firmwareList.value = firmwareList.value.filter((i) => { - return resp.result.find((item) => { - return ( - i.id === item.firmwareId && current.id === item.deviceId - ); - }); + + if (props.type === 'device') { + // 查看固件所属产品下所有的任务 过滤掉不包含该设备的升级任务的固件 + const resp = await historyPaginateNot({ + paging: false, + sorts: [{ name: 'createTime', order: 'desc' }], + terms: [ + { + terms: [ + { + column: 'productId', + value: current.productId, + }, + ], + }, + ], }); + if (resp.success) { + firmwareList.value = res.result.filter((i) => { + return resp.result.find((item) => { + return ( + i.id === item.firmwareId && + current.id === item.deviceId + ); + }); + }); + } + }else{ + firmwareList.value = res.result; } } }; @@ -185,8 +192,8 @@ onMounted(() => { } .firmwareFoot { justify-content: space-between; - .firmwareFootTitle{ - color:#A3A3A3 + .firmwareFootTitle { + color: #a3a3a3; } } } diff --git a/src/views/device/Instance/Detail/Info/components/Tags/Save.vue b/src/views/device/Instance/Detail/Info/components/Tags/Save.vue index 4d875aa6f635af5464f161b3db2079cbd5e090d4..ed364b2aa55b6f1c8b86cfaf941ed10d7059fa24 100644 --- a/src/views/device/Instance/Detail/Info/components/Tags/Save.vue +++ b/src/views/device/Instance/Detail/Info/components/Tags/Save.vue @@ -87,7 +87,7 @@ const handleOk = async () => { if (dataSource.value.length) { loading.value = true const list = (dataSource.value || []) - .filter((item: any) => item?.key && item?.value) + .filter((item: any) => item?.key && (item?.value !== undefined && item?.value !== null)) .map((i: any) => { const { dataType, ...extra } = i; return { ...extra }; @@ -101,7 +101,7 @@ const handleOk = async () => { onlyMessage('操作成功!'); } } - const _list = (dataSource.value || []).filter((item: any) => item?.key && !item?.value); + const _list = (dataSource.value || []).filter((item: any) => item?.key && (item?.value === undefined || item?.value === null)); if (_list.length) { // 删除值 _list.map(async (item: any) => { diff --git a/src/views/device/Instance/Detail/Info/components/Tags/index.vue b/src/views/device/Instance/Detail/Info/components/Tags/index.vue index 8fc6b195e19716a2101561f74ed8e66e428143f6..1b16f9c9e5bd7a456bde1c4f21e6f42961c57fc7 100644 --- a/src/views/device/Instance/Detail/Info/components/Tags/index.vue +++ b/src/views/device/Instance/Detail/Info/components/Tags/index.vue @@ -50,7 +50,20 @@ const saveBtn = () => { const findName = (item: any) => { let name = undefined if (item.dataType) { - const _element = item.dataType.elements?.find((a: any) => a.value === item.value) + let arr = item.dataType?.elements || [] + if(item.dataType?.type === 'boolean'){ + arr = [ + { + text: item.dataType.trueText, + value: item.dataType.trueValue, + }, + { + text: item.dataType.falseText, + value: item.dataType.falseValue, + } + ] + } + const _element = arr?.find((a: any) => a.value === item.value) name = _element?.text } return name || item.value diff --git a/src/views/device/Instance/Detail/Running/Event/ValueRender.vue b/src/views/device/Instance/Detail/Running/Event/ValueRender.vue new file mode 100644 index 0000000000000000000000000000000000000000..2b31fe9ab0d5e72604d53b7d0478e4a5e01468dc --- /dev/null +++ b/src/views/device/Instance/Detail/Running/Event/ValueRender.vue @@ -0,0 +1,71 @@ + + + + + \ No newline at end of file diff --git a/src/views/device/Instance/Detail/Running/Event/index.vue b/src/views/device/Instance/Detail/Running/Event/index.vue index aedee0517ced0b1966232f287eb6938a1571fe2b..575632b3e9692c6c5271878eca239e324215d83c 100644 --- a/src/views/device/Instance/Detail/Running/Event/index.vue +++ b/src/views/device/Instance/Detail/Running/Event/index.vue @@ -1,79 +1,81 @@ diff --git a/src/views/device/Instance/Detail/Running/Property/ValueDetail.vue b/src/views/device/Instance/Detail/Running/Property/ValueDetail.vue index 0c8539da96a3cf8e9a93a66db9637e7611926ffe..ef3b2b55b91a25f29fc84b0b28566b9d703dc7f8 100644 --- a/src/views/device/Instance/Detail/Running/Property/ValueDetail.vue +++ b/src/views/device/Instance/Detail/Running/Property/ValueDetail.vue @@ -42,8 +42,7 @@ const _emit = defineEmits(['close']); const handleCancel = () => { _emit('close'); }; - \ No newline at end of file + diff --git a/src/views/device/Instance/Detail/Terminal/index.vue b/src/views/device/Instance/Detail/Terminal/index.vue new file mode 100644 index 0000000000000000000000000000000000000000..0c1c8526c91f7f5a092086da2f4ff3f51c1d02a2 --- /dev/null +++ b/src/views/device/Instance/Detail/Terminal/index.vue @@ -0,0 +1,123 @@ + + + + + diff --git a/src/views/device/Instance/Detail/Terminal/websocket.ts b/src/views/device/Instance/Detail/Terminal/websocket.ts new file mode 100644 index 0000000000000000000000000000000000000000..cf0fd536ed817ff43296e89fe21e93b6bf00a750 --- /dev/null +++ b/src/views/device/Instance/Detail/Terminal/websocket.ts @@ -0,0 +1,134 @@ +import { Observable } from 'rxjs' +import { BASE_API_PATH } from '@/utils/variable'; +import { notification } from 'ant-design-vue'; +import { getToken } from '@/utils/comm'; + +let ws: any = null +let count = 0 // 重连计数 +// @ts-ignore +let timer: NodeJS.Timeout = null +let lockReconnect = false // 避免重复连接 +const total = 100 // 重连总次数 +const subs = {} +const timeout = 5000 +const tempQueue: any[] = [] // websocket未连接上时,缓存消息列 + +export const initWebSocket = (id: string) => { + const token = getToken() + if (!token) return + if (ws) { + return ws + } + const url = `${document.location.protocol.replace('http', 'ws')}//${document.location.host}${BASE_API_PATH}/edge/device/${id}/_ws/messaging/${token}?:X_Access_Token=${token}`; + if (count < total) { + count += 1 + ws = new WebSocket(url) + + ws.onopen = () => { + count = 0 + timer = setInterval(heartCheck, 2000) + if (tempQueue.length > 0) { + for (let i = tempQueue.length - 1; i >= 0; i--) { + ws.send(tempQueue[i]) + tempQueue.splice(i, 1) + } + } + } + + ws.onclose = () => { + ws = null + reconnect(id) + } + + ws.onmessage = (msg: Record) => { + const data = JSON.parse(msg.data) + + if (data.type === 'error') { + notification.error({ key: 'error', message: data.message }) + } + + if (subs[data.requestId]) { + if (data.type === 'complete') { + subs[data.requestId].forEach((item: Record) => { + item.complete() + }) + } else if (data.type === 'result') { + subs[data.requestId].forEach((element: Record) => { + element.next(data) + }) + } + } + } + + ws.onerror = () => { + ws = null + reconnect(id) + } + + return ws + } +} + +export const getWebSocket = (id: string, topic: string, parameter: Record, deviceId: string) => new Observable(subscriber => { + if (!subs[id]) { + subs[id] = [] + } + + subs[id].push({ + next(val: Record) { + subscriber.next(val) + }, + complete() { + subscriber.complete() + } + }) + + const msg = JSON.stringify({ id, topic, parameter, type: 'sub' }) + const thisWs = initWebSocket(deviceId) + if (thisWs) { + if (thisWs.readyState === WebSocket.OPEN) { + thisWs.send(msg) + } else { + tempQueue.push(msg) + } + } + + return () => { + const unsub = JSON.stringify({ id, type: 'unsub' }) + delete subs[id] + if (thisWs) { + thisWs.send(unsub) + } + } +}) + +export const closeWs = () => { + if (ws) { + ws.close() + timer && clearInterval(timer) + } +} + +/** + * 重连 + */ +function reconnect(deviceId: string) { + timer && clearInterval(timer) + if (lockReconnect) { + return + } + lockReconnect = true + timer = setTimeout(() => { + initWebSocket(deviceId) + lockReconnect = false + }, timeout * count) +} + +/** + * 心跳检测 + */ +function heartCheck() { + if (ws) { + ws.send(JSON.stringify({ type: 'ping' })) + } +} diff --git a/src/views/device/Instance/Detail/components/EditTable/PatchMapping.vue b/src/views/device/Instance/Detail/components/EditTable/PatchMapping.vue index 1a1cee34940690d2419b94a1bd0c40ceccbbe19b..8e8e6ea9b4220722f648d480b019abcdede16313 100644 --- a/src/views/device/Instance/Detail/components/EditTable/PatchMapping.vue +++ b/src/views/device/Instance/Detail/components/EditTable/PatchMapping.vue @@ -12,26 +12,55 @@
- - + + + > + + +
import { treeMapping, saveMapping } from '@/api/device/instance'; -import {onlyMessage,} from '@/utils/comm'; -import { useInstanceStore } from "store/instance"; -import { debounce } from 'lodash-es' +import { onlyMessage } from '@/utils/comm'; +import { useInstanceStore } from 'store/instance'; +import { debounce } from 'lodash-es'; const _props = defineProps({ type: { @@ -90,19 +119,23 @@ const _emits = defineEmits(['close', 'save']); const instanceStore = useInstanceStore(); const checkedKeys = ref([]); - +const searchValue = ref() const leftList = ref([]); -const rightList = ref([]); +const rightList = ref([]); +const expandedKeys = ref([]); const dataSource = ref([]); const loading = ref(false); -let dataSourceCache + +let dataSourceCache; const handleData = (data: any[], type: string, provider?: string) => { data.forEach((item) => { item.key = item.id; item.title = item.name; item.checkable = type === 'collectors'; - provider ? (item.provider = provider) : ''; + if (provider) { + item.provider = provider; + } if ( item.collectors && Array.isArray(item.collectors) && @@ -114,8 +147,11 @@ const handleData = (data: any[], type: string, provider?: string) => { item.provider, ); } + if (item.points && Array.isArray(item.points) && item.points.length) { item.children = handleData(item.points, 'points'); + } else { + item.disableCheckbox = true; } }); return data as any[]; @@ -124,16 +160,16 @@ const handleData = (data: any[], type: string, provider?: string) => { const handleSearch = async () => { loading.value = true; - const params = {} + const params = {}; const resp = await treeMapping(params); loading.value = false; if (resp.status === 200) { const _data = handleData(resp.result as any[], 'channel'); - dataSourceCache = JSON.stringify(_data) - dataSource.value = _data + dataSourceCache = JSON.stringify(_data); + dataSource.value = _data; } -} +}; const onCheck = (keys: string[], e: any) => { checkedKeys.value = [...keys]; @@ -141,11 +177,15 @@ const onCheck = (keys: string[], e: any) => { }; const onRight = () => { + leftList.value.forEach((i: any) => { + i.disableCheckbox = true; + }); rightList.value = leftList.value; }; const _delete = (_key: string) => { const _index = rightList.value.findIndex((i) => i.key === _key); + leftList.value[_index].disableCheckbox = false; rightList.value.splice(_index, 1); checkedKeys.value = rightList.value.map((i) => i.key); leftList.value = rightList.value; @@ -166,7 +206,10 @@ const handleClick = async () => { (i: any) => i.name === element.name, )?.metadataId, provider: item.provider, - state: instanceStore.current.state.value == 'notActive' ? 'disabled': null, + state: + instanceStore.current.state.value == 'notActive' + ? 'disabled' + : null, })); params.push(...array); }); @@ -175,7 +218,7 @@ const handleClick = async () => { const res = await saveMapping( _props.deviceId, _props.type, - filterParams, + filterParams, ); if (res.status === 200) { onlyMessage('操作成功'); @@ -191,24 +234,38 @@ const handleClose = () => { }; const treeFilter = (data: any[], value: any, key: string = 'name'): any[] => { - if (!data) return [] + if (!data) return []; + return data.filter((item) => { + if (item[key].includes(value)) { + if (item.parentId) { + !expandedKeys.value.includes(item.parentId) && + expandedKeys.value.push(item.parentId); + } + return true; + } - return data.filter(item => { - if (item.children && item.children.length) { - item.children = treeFilter(item.children || [], value, key) - return !!item.children.length - } else { - return item[key].includes(value) - } - }) -} + // 排除点位的搜索 + if ( + item.children && + item.children.length && + !item.hasOwnProperty('points') + ) { + item.children = treeFilter(item.children || [], value, key); + return !!item.children.length; + } + + return false; + }); +}; const onSearch = debounce((e) => { - // handleSearch() - const _data = JSON.parse(dataSourceCache || '[]') - const text = e.target.value - dataSource.value = text ? treeFilter(_data, e.target.value, 'title') : _data -}, 300) + // handleSearch() + const _data = JSON.parse(dataSourceCache || '[]'); + const text = e.target.value; + dataSource.value = text + ? treeFilter(_data, e.target.value, 'title') + : _data; +}, 300); watchEffect(() => { if (_props.type) { @@ -234,8 +291,8 @@ watchEffect(() => { } } .map-tree-header { - display: flex; - justify-content: space-between; - align-items: center; + display: flex; + justify-content: space-between; + align-items: center; } diff --git a/src/views/device/Instance/Detail/index.vue b/src/views/device/Instance/Detail/index.vue index 5e8e96bd07adba4b6f73a25fb2214b5d1e868196..d9655738e601548fe5e3bdc434c769ba0b1c1fc6 100644 --- a/src/views/device/Instance/Detail/index.vue +++ b/src/views/device/Instance/Detail/index.vue @@ -1,19 +1,19 @@ diff --git a/src/views/device/Instance/components/TagSearch.vue b/src/views/device/Instance/components/TagSearch.vue index 6257d8dfbdd6671cae29fa1fc5485b23807a2ea0..ad326fb4e7dcff233232a5f8d0ea795bd3443a71 100644 --- a/src/views/device/Instance/components/TagSearch.vue +++ b/src/views/device/Instance/components/TagSearch.vue @@ -1,56 +1,274 @@ - - + diff --git a/src/views/device/Instance/index.vue b/src/views/device/Instance/index.vue index 838653eabb932b3381fd237396494331ed0d4769..f13c4fc4a92c65171b93d3abbbab40405f59f0d7 100644 --- a/src/views/device/Instance/index.vue +++ b/src/views/device/Instance/index.vue @@ -228,10 +228,10 @@ import BadgeStatus from '@/components/BadgeStatus/index.vue'; import BatchDropdown from '@/components/BatchDropdown/index.vue'; import { BatchActionsType } from '@/components/BatchDropdown/types'; import { useRouterParams } from '@/utils/hooks/useParams'; -import { accessConfigTypeFilter } from '@/utils/setting'; import TagSearch from './components/TagSearch.vue'; import { Modal } from 'ant-design-vue'; import { isNoCommunity } from '@/utils/utils'; + const instanceRef = ref>({}); const params = ref>({}); const _selectedRowKeys = ref([]); @@ -410,18 +410,17 @@ const columns = ref([ ], }, }, - - // { - // key: 'id$dev-tag', - // dataIndex: 'id$dev-tag', - // title: '设备标签', - // hideInTable: true, - // search: { - // type: 'component', - // components: TagSearch, - // termOptions: ['eq'], - // }, - // }, + { + key: 'id$dev-tag', + dataIndex: 'id$dev-tag', + title: '标签', + hideInTable: true, + search: { + type: 'component', + components: TagSearch, + termOptions: ['eq', 'not'], + }, + }, { title: '说明', dataIndex: 'describe', @@ -478,7 +477,6 @@ const handleParams = (config: Record) => { if (Object.keys(_terms).length) { const url = new URLSearchParams(); Object.keys(_terms).forEach((key) => { - console.log(_terms[key]); url.append(key, _terms[key]); }); return url.toString(); @@ -829,6 +827,14 @@ const handleSearch = (_params: any) => { // params.value = _params; const newParams = (_params?.terms as any[])?.map((item1) => { item1.terms = item1.terms.map((item2: any) => { + + if (item2.column === 'id$dev-tag') { + return { + terms: item2.value, + type: item2.type + } + } + if (item2.column === 'id$dim-assets') { if (item2.termType === 'not') { const oldValue = JSON.parse(item2.value); @@ -845,7 +851,6 @@ const handleSearch = (_params: any) => { ) ) { const oldTermType = item2.termType === 'nin' ? 'not' : item2.termType; - console.log(item2.termType,'termType') delete item2.termType; return { ...item2, diff --git a/src/views/device/Product/index.vue b/src/views/device/Product/index.vue index 482a1e8653bb82fae7f90ad498ac69ecdcfc28ca..0fce27310e04c74cb44fbafb5dc76a93ebb3a7a2 100644 --- a/src/views/device/Product/index.vue +++ b/src/views/device/Product/index.vue @@ -197,6 +197,7 @@ import { useMenuStore } from 'store/menu'; import { useRouterParams } from '@/utils/hooks/useParams'; import { accessConfigTypeFilter } from '@/utils/setting'; import { usePermissionStore } from '@/store/permission'; +import TagSearch from '../Instance/components/TagSearch.vue'; /** * 表格数据 */ @@ -533,6 +534,17 @@ const query = reactive({ ], }, }, + { + key: 'id$dev-instance', + dataIndex: 'id$dev-instance', + title: '标签', + hideInTable: true, + search: { + type: 'component', + components: TagSearch, + termOptions: ['eq', 'not'], + }, + }, { title: '状态', key: 'state', @@ -584,6 +596,15 @@ const handleSearch = (e: any) => { if (newTerms.terms?.length) { newTerms.terms.forEach((a: any) => { a.terms = a.terms.map((b: any) => { + if (b.column === 'id$dev-instance') { + return { + column: 'id$dev-instance', + options: ['productId'], + value: b.value, + type: b.type + } + } + if (b.column === 'id$dim-assets') { const value = b.value; b = { diff --git a/src/views/device/components/Metadata/Base/Base.vue b/src/views/device/components/Metadata/Base/Base.vue index d23613fd696069161ba47381a827f0ca8b15025b..3ed2786cca4e69050a0a362fcf528ec7bc3f2990 100644 --- a/src/views/device/components/Metadata/Base/Base.vue +++ b/src/views/device/components/Metadata/Base/Base.vue @@ -110,7 +110,7 @@ - + + \ No newline at end of file diff --git a/src/views/edge/NewResource/Detail/Info/index.vue b/src/views/edge/NewResource/Detail/Info/index.vue new file mode 100644 index 0000000000000000000000000000000000000000..fde82a18e966f3d688293cdc1b8ee703c951f346 --- /dev/null +++ b/src/views/edge/NewResource/Detail/Info/index.vue @@ -0,0 +1,78 @@ + + + + + \ No newline at end of file diff --git a/src/views/edge/NewResource/Detail/Record/Card.vue b/src/views/edge/NewResource/Detail/Record/Card.vue new file mode 100644 index 0000000000000000000000000000000000000000..8b3b61efd09c6f9298210b288278bd17d49bd0ee --- /dev/null +++ b/src/views/edge/NewResource/Detail/Record/Card.vue @@ -0,0 +1,255 @@ + + + + + diff --git a/src/views/edge/NewResource/Detail/Record/Detail.vue b/src/views/edge/NewResource/Detail/Record/Detail.vue new file mode 100644 index 0000000000000000000000000000000000000000..f96dc0375d4532f613def63f6b22a92a6d18425e --- /dev/null +++ b/src/views/edge/NewResource/Detail/Record/Detail.vue @@ -0,0 +1,467 @@ + + + + + diff --git a/src/views/edge/NewResource/Detail/Record/index.vue b/src/views/edge/NewResource/Detail/Record/index.vue new file mode 100644 index 0000000000000000000000000000000000000000..6a634337a5cccf7418bedc3a8d85ad9f580f5b0b --- /dev/null +++ b/src/views/edge/NewResource/Detail/Record/index.vue @@ -0,0 +1,88 @@ + + + + + \ No newline at end of file diff --git a/src/views/edge/NewResource/Detail/index.vue b/src/views/edge/NewResource/Detail/index.vue new file mode 100644 index 0000000000000000000000000000000000000000..91f50310a79f4227a1f44f165a46e371785bcf92 --- /dev/null +++ b/src/views/edge/NewResource/Detail/index.vue @@ -0,0 +1,76 @@ + + + + + \ No newline at end of file diff --git a/src/views/edge/NewResource/Issue/GatewayDevice.vue b/src/views/edge/NewResource/Issue/GatewayDevice.vue new file mode 100644 index 0000000000000000000000000000000000000000..ca5928fc11506ce85eb7e841194c4b9959057ac7 --- /dev/null +++ b/src/views/edge/NewResource/Issue/GatewayDevice.vue @@ -0,0 +1,298 @@ + + + + + \ No newline at end of file diff --git a/src/views/edge/NewResource/Issue/index.vue b/src/views/edge/NewResource/Issue/index.vue new file mode 100644 index 0000000000000000000000000000000000000000..6b3ae6c4d112473ef0eda54abeb55d50e13f73c3 --- /dev/null +++ b/src/views/edge/NewResource/Issue/index.vue @@ -0,0 +1,152 @@ + + + + + \ No newline at end of file diff --git a/src/views/edge/NewResource/Save/FileSelect.vue b/src/views/edge/NewResource/Save/FileSelect.vue new file mode 100644 index 0000000000000000000000000000000000000000..7b1291a497ebec1b4954d1269c9c2327fb022e4e --- /dev/null +++ b/src/views/edge/NewResource/Save/FileSelect.vue @@ -0,0 +1,71 @@ + + + + + \ No newline at end of file diff --git a/src/views/edge/NewResource/Save/UploadFile.vue b/src/views/edge/NewResource/Save/UploadFile.vue new file mode 100644 index 0000000000000000000000000000000000000000..0418037ba0f4a0a5ce9832a8652c156a5e46feec --- /dev/null +++ b/src/views/edge/NewResource/Save/UploadFile.vue @@ -0,0 +1,127 @@ + + + + + diff --git a/src/views/edge/NewResource/Save/index.vue b/src/views/edge/NewResource/Save/index.vue new file mode 100644 index 0000000000000000000000000000000000000000..23248b0a2a763e72ff9059e3b84b4557a9089660 --- /dev/null +++ b/src/views/edge/NewResource/Save/index.vue @@ -0,0 +1,267 @@ + + + + + \ No newline at end of file diff --git a/src/views/edge/NewResource/index.vue b/src/views/edge/NewResource/index.vue new file mode 100644 index 0000000000000000000000000000000000000000..00df3d2f8e31029491bdd959a6ec5aca00fe9728 --- /dev/null +++ b/src/views/edge/NewResource/index.vue @@ -0,0 +1,333 @@ + + + + + \ No newline at end of file diff --git a/src/views/edge/NewResource/utils.ts b/src/views/edge/NewResource/utils.ts new file mode 100644 index 0000000000000000000000000000000000000000..4215570ec9d5eb2ffbe80cc7f6561d990c6d3f0d --- /dev/null +++ b/src/views/edge/NewResource/utils.ts @@ -0,0 +1,26 @@ +export const TargetTypeOptions = [ + { + label: 'AI模型', + value: 'AiModel' + }, + { + label: '插件', + value: 'PluginDriver' + }, + { + label: '采集器模板', + value: 'entityTemplate:Collector' + } +] + +export const ServiceIdEnum = { + 'AiModel': 'aiService:modelManager', + 'PluginDriver': 'pluginService:driver', + 'entityTemplate:Collector': 'commonService:entityTemplate' +} + +export const JobTypeEnum = { + 'AiModel': 'AiModel', + 'PluginDriver': 'plugin', + 'entityTemplate:Collector': 'CollectorTemplate' +} \ No newline at end of file diff --git a/src/views/edge/TokenJump/index.vue b/src/views/edge/TokenJump/index.vue new file mode 100644 index 0000000000000000000000000000000000000000..0d785dd72392a373bab878dde2faefd86e6ff27d --- /dev/null +++ b/src/views/edge/TokenJump/index.vue @@ -0,0 +1,51 @@ + + + + + diff --git a/src/views/init-home/data/baseMenu.ts b/src/views/init-home/data/baseMenu.ts index 6eb5c091f00e69d5b49bff59818939e1027ee349..c5d83d6b3ff9a679ccb234cd948223a161d98e89 100644 --- a/src/views/init-home/data/baseMenu.ts +++ b/src/views/init-home/data/baseMenu.ts @@ -631,7 +631,7 @@ export default [ actions: ['save', 'delete'], }, { - permission: 'edge-operations', + permission: 'edge-manager', actions: ['invoke'], }, { @@ -750,6 +750,8 @@ export default [ permission: 'dashboard', actions: ['query'], }, + {permission: "edge-action-sync", actions: ["save", "delete"]}, + {permission: "edge-manager", actions: ["proxy", "proxy_request"]} ], }, { @@ -810,6 +812,16 @@ export default [ }, ], }, + { + id: 'remote', + name: '远程访问', + permissions: [ + { + permission: 'edge-manager', + actions: ['remote', 'proxy'], + }, + ], + }, ], }, { @@ -2597,7 +2609,7 @@ export default [ name: '边缘网关', owner: 'iot', id: 'cc29671ed5ef8d6df951b2fc523f36ca', - sortIndex: 8, + sortIndex: 9, url: '/iot/edge', icon: 'icon-bianyuanwangguan', permissions: [], @@ -2611,7 +2623,7 @@ export default [ sortIndex: 1, url: '/iot/edge/Device', icon: 'icon-bumenguanli', - showPage: ['edge-operations'], + showPage: ['edge-manager'], permissions: [ { permission: 'device-product', @@ -2689,15 +2701,11 @@ export default [ }, { id: 'setting', - name: '远程控制', + name: '远程访问', permissions: [ { - permission: 'device-instance', - actions: ['save'], - }, - { - permission: 'edge-operations', - actions: ['remote'], + permission: 'edge-manager', + actions: ['remote', 'proxy'], }, ], }, @@ -2706,7 +2714,7 @@ export default [ name: '重置密码', permissions: [ { - permission: 'edge-operations', + permission: 'edge-manager', actions: ['invoke'], }, ], @@ -2717,85 +2725,674 @@ export default [ indirectMenus: ['1b136e7e4e4e74bb24b91802e4cfcd2d'] }, { - code: 'edge/Resource', - name: '资源库', - owner: 'iot', - id: '7f49fcece2b291aa595a0ace3ea43ca1', - sortIndex: 2, - url: '/iot/edge/Resource', - icon: 'icon-Vector', - showPage: ['edge-operations'], + "id": "aa30a56878065635574bb62dd4f894e6", + "path": "yci3-B2Qf-m3oA", + "sortIndex": 2, + "level": 3, + "owner": "iot", + "name": "资源库", + "code": "edge/NewResource", + "icon": "SlidersOutlined", + "url": "/iot/edge/new-resource", + "describe": "", + showPage: ['edge-manager'], permissions: [ { - permission: 'entity-template', - actions: ['query'], - }, + "permission": "entity-template", + "actions": [ + "query" + ] + } ], - buttons: [ + "buttons": [ { - id: 'view', - name: '查看', - permissions: [ + "id": "add", + "name": "新增", + "description": "", + "enabled": false, + "granted": true, + "permissions": [ { - permission: 'entity-template', - actions: ['query'], - }, - ], + "permission": "entity-template", + "actions": [ + "query", + "save" + ] + } + ] }, { - id: 'action', - name: '启/禁用', - permissions: [ + "id": "delete", + "name": "删除", + "description": "", + "enabled": false, + "granted": true, + "permissions":[ { - permission: 'entity-template', - actions: ['enable', 'disable'], - }, - ], + "permission": "entity-template", + "actions": [ + "query", + "save", + "delete" + ] + } + ] }, { - id: 'delete', - name: '删除', - permissions: [ + "id": "update", + "name": "编辑", + "description": "", + "enabled": false, + "granted": true, + "permissions": [ { - permission: 'entity-template', - actions: ['delete'], - }, - ], + "permission": "entity-template", + "actions": [ + "query", + "save" + ] + } + ] }, { - id: 'update', - name: '编辑', - permissions: [ + "id": "issue", + "name": "下发", + "description": "", + "enabled": false, + "granted": true, + "permissions": [ { - permission: 'entity-template', - actions: ['save'], - }, - ], + "permission": "entity-template", + "actions": [ + "query", + "save" + ] + } + ] }, { - id: 'setting', - name: '下发', - permissions: [ - { - permission: 'device-instance', - actions: ['query'], - }, - { - permission: 'edge-operations', - actions: ['invoke'], - }, + "id": "action", + "name": "启/禁用", + "description": "", + "enabled": false, + "granted": true, + "permissions": [ { - permission: 'entity-template', - actions: ['query'], - }, - ], + "permission": "entity-template", + "actions": [ + "enable", + "disable" + ] + } + ] + } + ], + "accessSupport": { + "text": "不支持", + "value": "unsupported" + }, + "indirectMenus": [], + "assetAccesses": [], + "options": { + "show": true + }, + "createTime": 1730966464081, + "granted": true + }, + { + code: 'edge/Batch', + name: '批量操作', + owner: 'iot', + id: '7f49fce112b291aa59321ace3ea43ca1', + sortIndex: 3, + url: '/iot/edge/batch', + icon: 'icon-caidanguanli1', + showPage: ['edge-manager'], + permissions: [ + { + "permission": "device-product", + "actions": [ + "query" + ] + }, + { + "permission": "device-instance", + "actions": [ + "query" + ] + }, + { + "permission": "agent-job", + "actions": [ + "query", + "save", + "delete" + ] + }, + { + "permission": "batch-operation-task", + "actions": [ + "query", + "save", + "delete", + "deploy" + ] }, + { + "permission": "batch-operation-history", + "actions": [ + "query", + "save", + "delete" + ] + }, + { + "permission": "batch-dev-operation-detail", + "actions": [ + "query", + "save", + "delete" + ] + } + ], + buttons: [ + ], accessSupport: { text: "不支持", value: "unsupported" }, supportDataAccess: false }, ], }, + { + "id": "3e5a9473e284803134b3f63c086d7385", + "parentId": "9c21f88182e7cc75cbdfa8e4b7844272", + "path": "gNTl-bFuY", + "sortIndex": 10, + "level": 2, + "owner": "iot", + "name": "数据采集", + "code": "DataCollect", + "url": "/iot/link/DataCollect", + "icon": "icon-analytics", + "status": 1, + "permissions": [], + "options": { + "show": true + }, + "children": [ + { + "id": "802c1d835cd9f687ffb2092b593fb1b8", + "path": "gNTl-bFuY-h6Ol", + "sortIndex": 1, + "level": 3, + "owner": "iot", + "name": "仪表盘", + "code": "DataCollect/Dashboard", + "url": "/iot/DataCollect/Dashboard", + "icon": "icon-keshihua", + "status": 1, + showPage: ['data-collect-channel', 'data-collector'], + "permissions": [ + { + "permission": "dashboard", + "actions": [ + "query" + ] + }, + { + "permission": "data-collect-channel", + "actions": [ + "query" + ] + }, + { + "permission": "data-collect-opc", + "actions": [ + "query" + ] + }, + { + "permission": "data-collector", + "actions": [ + "query" + ] + }, + { + "permission": "things-collector", + "actions": [ + "query" + ] + } + ], + "accessSupport": { + "text": "不支持", + "value": "unsupported" + }, + "buttons": [], + "options": { + "show": true + }, + "supportDataAccess": false + }, + { + "id": "e867ee3d31a7b963d38f40a3b51d0191", + "path": "gNTl-bFuY-wkGG", + "sortIndex": 2, + "level": 3, + "owner": "iot", + "name": "通道管理", + "code": "DataCollect/Channel", + "url": "/iot/DataCollect/Channel", + "icon": "icon-rizhifuwu", + "status": 1, + "permissions": [], + "accessSupport": { + "text": "支持", + "value": "support" + }, + showPage: ['data-collect-channel'], + "assetType": "dataCollectChannel", + "buttons": [ + { + "id": "view", + "name": "查看", + "permissions": [ + { + "permission": "data-collect-channel", + "actions": [ + "query" + ] + }, + { + "permission": "data-collector", + "actions": [ + "query" + ] + }, + { + "permission": "data-collect-opc", + "actions": [ + "query" + ] + }, + { + "permission": "things-collector", + "actions": [ + "query" + ] + } + ] + }, + { + "id": "add", + "name": "新增", + "permissions": [ + { + "permission": "data-collect-channel", + "actions": [ + "query", + "save" + ] + }, + { + "permission": "data-collector", + "actions": [ + "query", + "save" + ] + }, + { + "permission": "data-collect-opc", + "actions": [ + "query", + "save" + ] + }, + { + "permission": "things-collector", + "actions": [ + "query", + "save" + ] + } + ] + }, + { + "id": "update", + "name": "编辑", + "permissions": [ + { + "permission": "data-collect-channel", + "actions": [ + "query", + "save" + ] + }, + { + "permission": "data-collector", + "actions": [ + "query", + "save" + ] + }, + { + "permission": "data-collect-opc", + "actions": [ + "query", + "save" + ] + }, + { + "permission": "things-collector", + "actions": [ + "query", + "save" + ] + }, + { + "permission": "certificate", + "actions": [ + "query" + ] + } + ] + }, + { + "id": "action", + "name": "禁用/启用", + "permissions": [ + { + "permission": "data-collect-channel", + "actions": [ + "query", + "save" + ] + }, + { + "permission": "data-collector", + "actions": [ + "query", + "save" + ] + }, + { + "permission": "data-collect-opc", + "actions": [ + "query", + "save" + ] + }, + { + "permission": "things-collector", + "actions": [ + "query", + "save" + ] + } + ] + }, + { + "id": "delete", + "name": "删除", + "permissions": [ + { + "permission": "data-collect-channel", + "actions": [ + "query", + "delete" + ] + }, + { + "permission": "data-collector", + "actions": [ + "query", + "delete" + ] + }, + { + "permission": "data-collect-opc", + "actions": [ + "query", + "delete" + ] + }, + { + "permission": "things-collector", + "actions": [ + "query", + "delete" + ] + } + ] + } + ], + "options": { + "show": true + }, + "supportDataAccess": true + }, + { + "id": "f97141d2737ebc3e3ab2cda4a38e8c79", + "path": "gNTl-bFuY-CHGw", + "sortIndex": 3, + "level": 3, + "owner": "iot", + "name": "采集器", + "code": "DataCollect/Collector", + "url": "/iot/DataCollect/Collector", + "icon": "icon-yingyongguanli", + "status": 1, + "permissions": [], + "accessSupport": { + "text": "支持", + "value": "support" + }, + "assetType": "dataCollectCollector", + showPage: ['data-collect-channel', 'data-collector'], + "buttons": [ + { + "id": "view", + "name": "查看", + "permissions": [ + { + "permission": "data-collect-channel", + "actions": [ + "query" + ] + }, + { + "permission": "data-collector", + "actions": [ + "query" + ] + }, + { + "permission": "data-collect-opc", + "actions": [ + "query" + ] + }, + { + "permission": "things-collector", + "actions": [ + "query" + ] + }, + { + "permission": "s7-client", + "actions": [ + "query" + ] + } + ] + }, + { + "id": "add", + "name": "新增", + "permissions": [ + { + "permission": "data-collect-channel", + "actions": [ + "query", + "save" + ] + }, + { + "permission": "data-collector", + "actions": [ + "query", + "save" + ] + }, + { + "permission": "data-collect-opc", + "actions": [ + "query", + "save" + ] + }, + { + "permission": "things-collector", + "actions": [ + "query", + "save" + ] + }, + { + "permission": "s7-client", + "actions": [ + "query" + ] + } + ] + }, + { + "id": "update", + "name": "编辑", + "permissions": [ + { + "permission": "data-collect-channel", + "actions": [ + "query", + "save" + ] + }, + { + "permission": "data-collector", + "actions": [ + "query", + "save" + ] + }, + { + "permission": "data-collect-opc", + "actions": [ + "query", + "save" + ] + }, + { + "permission": "things-collector", + "actions": [ + "query", + "save" + ] + }, + { + "permission": "certificate", + "actions": [ + "query" + ] + }, + { + "permission": "s7-client", + "actions": [ + "query" + ] + } + ] + }, + { + "id": "action", + "name": "禁用/启用", + "permissions": [ + { + "permission": "data-collect-channel", + "actions": [ + "query", + "save" + ] + }, + { + "permission": "data-collector", + "actions": [ + "query", + "save" + ] + }, + { + "permission": "data-collect-opc", + "actions": [ + "query", + "save" + ] + }, + { + "permission": "things-collector", + "actions": [ + "query", + "save" + ] + }, + { + "permission": "s7-client", + "actions": [] + } + ] + }, + { + "id": "delete", + "name": "删除", + "permissions": [ + { + "permission": "data-collect-channel", + "actions": [ + "query", + "delete" + ] + }, + { + "permission": "data-collector", + "actions": [ + "query", + "delete" + ] + }, + { + "permission": "data-collect-opc", + "actions": [ + "query", + "delete" + ] + }, + { + "permission": "things-collector", + "actions": [ + "query", + "delete" + ] + } + ] + } + ], + "options": { + "show": true + }, + "supportDataAccess": true + } + ], + "supportDataAccess": false + } ], }, diff --git a/src/views/link/AccessConfig/Detail/index.vue b/src/views/link/AccessConfig/Detail/index.vue index 2aa48d1948774da65a81e158756e363ea664446e..768357b96c6429688373b9b5e8007a9f9482998c 100644 --- a/src/views/link/AccessConfig/Detail/index.vue +++ b/src/views/link/AccessConfig/Detail/index.vue @@ -115,6 +115,8 @@ const TypeMap = new Map([ ['official-edge-gateway', 'edge'], ['edge-child-device', 'edge'], ['network', 'network'], + ['agent-device-gateway','network'], + ['agent-media-device-gateway','network'] ]); // DataMap后期优化 const DataMap = new Map(); @@ -130,6 +132,8 @@ DataMap.set('opc-ua', { type: 'channel', title: '通道类设备接入' }); DataMap.set('official-edge-gateway', { type: 'edge', title: '官方接入' }); DataMap.set('edge-child-device', { type: 'edge', title: '官方接入' }); DataMap.set('network', { type: 'network', title: '自定义设备接入' }); +DataMap.set('agent-device-gateway',{ type:'network', title:'Agent代理接入'}) +DataMap.set('agent-media-device-gateway',{ type:'network', title:'Agent代理接入'}) const getTypeList = (result: Record) => { const list = []; @@ -138,8 +142,9 @@ const getTypeList = (result: Record) => { const cloud: any[] = []; const channel: any[] = []; const edge: any[] = []; + const agent: any[] = []; result - .filter((i:any) => { + .filter((i: any) => { return i.id !== 'OneNet'; }) .forEach((item: any) => { @@ -169,6 +174,12 @@ const getTypeList = (result: Record) => { ) { item.type = 'edge'; edge.push(item); + } else if ( + item.id === 'agent-device-gateway' || + item.id === 'agent-media-device-gateway' + ) { + item.type = 'network'; + agent.push(item); } else { item.type = 'network'; network.push(item); @@ -200,7 +211,10 @@ const getTypeList = (result: Record) => { list: [...edge], title: '官方接入', }); - + agent.length && list.push({ + list: [...agent], + title: 'Agent代理接入' + }) return list; }; diff --git a/src/views/link/AccessConfig/Outline/components/FirstKind.vue b/src/views/link/AccessConfig/Outline/components/FirstKind.vue index 12997caef61f2f04e2add0d3aa97b4baa7bd8280..47d6c2183f9c87bbbcf70d6e1c77fdd9efb9c3df 100644 --- a/src/views/link/AccessConfig/Outline/components/FirstKind.vue +++ b/src/views/link/AccessConfig/Outline/components/FirstKind.vue @@ -31,39 +31,53 @@
- - - - - - -
- - -
diff --git a/src/views/link/AccessConfig/Outline/index.vue b/src/views/link/AccessConfig/Outline/index.vue index 1164d1562bdcb86e52f2ac738530c8040dede0d7..1a1a93cb521bf2fcb484297628fe0e5c0d11b2b6 100644 --- a/src/views/link/AccessConfig/Outline/index.vue +++ b/src/views/link/AccessConfig/Outline/index.vue @@ -27,6 +27,8 @@ 'coap-server-gateway', 'tcp-server-gateway', 'udp-device-gateway', + 'agent-device-gateway', + 'agent-media-device-gateway', ].includes(data.provider) " :data="data" @@ -36,7 +38,9 @@ :data="data" /> {{ provider.description }}

-

消息协议

-

- {{ - procotolList.find( - (i: any) => - i.id === procotolCurrent, - ).name - }} -

-

- -

-
+

网络组件

-
-

+

@@ -358,10 +367,14 @@ const id = route.params.id as string; const formRef = ref(); const useForm = Form.useForm; - +const isAgent = ['agent-device-gateway', 'agent-media-device-gateway'].includes( + props.provider.id, +); const current = ref(0); const stepCurrent = ref(0); -const steps = ref(['网络组件', '消息协议', '完成']); +const steps = computed(() => { + return !isAgent ? ['网络组件', '消息协议', '完成'] : ['网络组件', '完成']; +}); const networkList: any = ref([]); const allNetworkList: any = ref([]); const procotolList: any = ref([]); @@ -449,16 +462,14 @@ const addProcotol = () => { }; }; -const getNetworkCurrent = () => - networkList.value.find((i: any) => i.id === networkCurrent) && - ( - networkList.value.find((i: any) => i.id === networkCurrent).addresses || +const getNetworkCurrent = computed(() => { + return ( + (networkList.value.find((i: any) => i.id === networkCurrent.value) && + networkList.value.find((i: any) => i.id === networkCurrent.value) + ?.addresses) || [] - ).length > 0; -const getNetworkCurrentData = () => - getNetworkCurrent() - ? networkList.value.find((i: any) => i.id === networkCurrent).addresses - : []; + ); +}); const getColor = (i: any) => (i.health === -1 ? 'error' : 'processing'); @@ -542,6 +553,9 @@ const next = async () => { if (current.value === 0) { if (!networkCurrent.value) { onlyMessage('请选择网络组件!', 'error'); + } else if (isAgent) { + current.value = 2; + procotolCurrent.value = props.provider.id; } else { queryProcotolList(props.provider.id); current.value = current.value + 1; @@ -558,7 +572,7 @@ const next = async () => { ) : await getChildConfigView(procotolCurrent.value); if (resp.status === 200) { - config.value = resp.result; + config.value = resp.result || {}; current.value = current.value + 1; const Group = { title: '分组', @@ -591,7 +605,11 @@ const next = async () => { } }; const prev = () => { - current.value = current.value - 1; + if (isAgent) { + current.value = 1; + } else { + current.value = current.value - 1; + } }; onMounted(() => { diff --git a/src/views/link/AccessConfig/data.ts b/src/views/link/AccessConfig/data.ts index 2503bc4a9e5c5de1cd7c808bd5dbed74a960a987..6852e71e052b99a09a69ddd2bcb46e6206b88dc9 100644 --- a/src/views/link/AccessConfig/data.ts +++ b/src/views/link/AccessConfig/data.ts @@ -17,6 +17,8 @@ ProtocolMapping.set('opc-ua', 'OPC_UA'); ProtocolMapping.set('edge-child-device', 'EdgeGateway'); ProtocolMapping.set('collector-gateway', 'collector-gateway'); ProtocolMapping.set('official-edge-gateway', 'MQTT'); +ProtocolMapping.set('agent-device-gateway', 'MQTT'); +ProtocolMapping.set('agent-media-device-gateway', 'MQTT'); const NetworkTypeMapping = new Map(); NetworkTypeMapping.set('websocket-server', 'WEB_SOCKET_SERVER'); @@ -27,6 +29,8 @@ NetworkTypeMapping.set('mqtt-client-gateway', 'MQTT_CLIENT'); NetworkTypeMapping.set('mqtt-server-gateway', 'MQTT_SERVER'); NetworkTypeMapping.set('tcp-server-gateway', 'TCP_SERVER'); NetworkTypeMapping.set('official-edge-gateway', 'MQTT_SERVER'); +NetworkTypeMapping.set('agent-device-gateway', 'MQTT_SERVER'); +NetworkTypeMapping.set('agent-media-device-gateway', 'MQTT_SERVER'); const BackMap = new Map(); BackMap.set('mqtt-server-gateway', getImage('/access/mqtt.png')); @@ -50,6 +54,8 @@ BackMap.set('official-edge-gateway', getImage('/access/edge.png')); BackMap.set('collector-gateway', getImage('/access/collector-gateway.png')); BackMap.set('onvif',getImage('/access/onvif.png')); BackMap.set('media-plugin',getImage('/access/media-plugin.png')) +BackMap.set('agent-device-gateway',getImage('/access/agent-device.png')) +BackMap.set('agent-media-device-gateway',getImage('/access/media-plugin.png')) const descriptionList = { 'udp-device-gateway': diff --git a/src/views/link/Type/Detail/index.vue b/src/views/link/Type/Detail/index.vue index e1025145b7850a3447768456a3d02016bb7eed30..dc93d4bd75c735f8c8b24dc9dfdece2d2d860f03 100644 --- a/src/views/link/Type/Detail/index.vue +++ b/src/views/link/Type/Detail/index.vue @@ -37,7 +37,9 @@ show-search :filter-option="filterOption" @change="changeType" - :disabled="!!NetworkType || id !== ':id'" + :disabled=" + !!NetworkType || id !== ':id' + " /> @@ -1496,55 +1498,45 @@ const getResourcesClusters = () => { }; const getDetail = () => { - if (id !== ':id') { - loading.value = true; - detail(id).then((resp) => { - if (resp.status === 200) { - const result: any = resp.result; - const { configuration, cluster } = result; - formData.value = { ...result }; - shareCluster.value = result.shareCluster; - activeKey.value = ['1']; - if (result.shareCluster) { - dynamicValidateForm.cluster[0].configuration = { - ...cloneDeep(Configuration), //防止编辑时,表单字段不完善,导致输入/选择框新出现时找不到 - ...configuration, - }; - } else { - dynamicValidateForm.cluster = cluster; - // const arr = cluster.map((item: any) => item.configuration.serverId) - //遍历数据更新对应的本地端口 - // setTimeout(() => { - // cluster.forEach((item: any, index: number) => { - // const { serverId } = item.configuration - // if(!resourcesClustersMap.get(serverId)){ - // // await getResourcesClustersById(serverId) - // } - // const checked = resourcesClustersMap.get(serverId) - // getPortOptions(checked, index); - // }); - // }, 0); - } + loading.value = true; + detail(id).then((resp) => { + if (resp.status === 200) { + const result: any = resp.result; + const { configuration, cluster } = result; + formData.value = { ...result }; + shareCluster.value = result.shareCluster; + activeKey.value = ['1']; + if (result.shareCluster) { + dynamicValidateForm.cluster[0].configuration = { + ...cloneDeep(Configuration), //防止编辑时,表单字段不完善,导致输入/选择框新出现时找不到 + ...configuration, + }; + } else { + dynamicValidateForm.cluster = cluster; + // const arr = cluster.map((item: any) => item.configuration.serverId) + //遍历数据更新对应的本地端口 + // setTimeout(() => { + // cluster.forEach((item: any, index: number) => { + // const { serverId } = item.configuration + // if(!resourcesClustersMap.get(serverId)){ + // // await getResourcesClustersById(serverId) + // } + // const checked = resourcesClustersMap.get(serverId) + // getPortOptions(checked, index); + // }); + // }, 0); + } - if (dynamicValidateForm.cluster.length === 1) { - dynamicValidateForm.cluster[0].id = '1'; - } + if (dynamicValidateForm.cluster.length === 1) { + dynamicValidateForm.cluster[0].id = '1'; } - }); - loading.value = false; - } + } + getResourcesCurrent(); + }); + loading.value = false; + }; -onMounted(() => { - getSupports(); - getCertificates(); - getResourcesCurrent(); - if (isNoCommunity) { - getResourcesClusters(); - } - getDetail(); -}); - watch( () => formData.value.shareCluster, (value) => { @@ -1587,6 +1579,20 @@ watch( }, { deep: true, immediate: true }, ); + +onMounted(async () => { + getSupports(); + getCertificates(); + + if (isNoCommunity) { + getResourcesClusters(); + } + if (id !== ':id') { + getDetail(); + } else { + getResourcesCurrent(); + } +}); \ No newline at end of file + diff --git a/src/views/rule-engine/Scene/Save/action/Device/device/index.vue b/src/views/rule-engine/Scene/Save/action/Device/device/index.vue index 1ecce83bc28af26d50f753f41720874108ed7344..5cc20f06fc56379f9199210724787ceb37e79e75 100644 --- a/src/views/rule-engine/Scene/Save/action/Device/device/index.vue +++ b/src/views/rule-engine/Scene/Save/action/Device/device/index.vue @@ -220,8 +220,10 @@ const filterType = async (newVal: any) => { terms: [ { termType: 'eq', column: 'objectTypeName', value: '设备' }, ], - }); - if (res.success && res.result.length !== 0) { + }).catch(()=>{ + _typeList[2].disabled = true + }) + if (res.success && res.result.length === 0) { // _typeList.push(TypeMap.relation) // TypeMap.relation.disabled = true; _typeList[2].disabled = true @@ -273,18 +275,31 @@ const onSelectorChange = (val: string) => { * @param _detail */ const onDeviceChange = (_detail: any) => { - if (_detail) { - if (_detail.id) { - modelRef.deviceId = _detail?.id; - modelRef.selectorValues = [ - { value: _detail.id, name: _detail.name }, - ] as any; - } else { + // if (_detail) { + // if (_detail.id) { + // modelRef.deviceId = _detail?.id; + // modelRef.selectorValues = [ + // { value: _detail.id, name: _detail.name }, + // ] as any; + // } else { + // modelRef.deviceId = ''; + // modelRef.selectorValues = [] as any; + // } + // modelRef.upperKey = ''; + // emits('save', unref(modelRef), { name: _detail.name }); + // } + if(_detail){ + if(_detail.length){ + modelRef.selectorValues = _detail; + }else{ modelRef.deviceId = ''; modelRef.selectorValues = [] as any; } modelRef.upperKey = ''; - emits('save', unref(modelRef), { name: _detail.name }); + const nameArr = _detail?.map((i:any)=>{ + return i.name + }) + emits('save', unref(modelRef), { name: nameArr }) } }; diff --git a/src/views/rule-engine/Scene/Save/action/ListItem/FilterCondition.vue b/src/views/rule-engine/Scene/Save/action/ListItem/FilterCondition.vue index d28a780fda0f367fc2129c59e97758a1b89abc82..d9c0d74ce6f0678cb15da32555d8410b4ba42ff8 100644 --- a/src/views/rule-engine/Scene/Save/action/ListItem/FilterCondition.vue +++ b/src/views/rule-engine/Scene/Save/action/ListItem/FilterCondition.vue @@ -383,9 +383,10 @@ const columnSelect = (e: any) => { emit('update:value', handleFilterTerms({ ...paramsValue })); termTypeOptions.value = e.termTypes valueChangeAfter(); + formModel.value.branches![props.branchName].then[props.thenName].actions[ props.actionName - ].options!.terms[props.termsName].terms[props.name][0] = e.name; + ].options!.terms[props.termsName].terms[props.name][0] = e.fullName || e.name; }; const termsTypeSelect = (e: { key: string; name: string }) => { @@ -583,7 +584,7 @@ watch( watch(() => props.value, () => { const terms = analysisFilterTerms(props.value) - console.log(props.value, terms) +// console.log(props.value, terms) paramsValue.value = terms.value paramsValue.column = terms.column paramsValue.type = terms.type diff --git a/src/views/rule-engine/Scene/Save/action/ListItem/FilterGroup.vue b/src/views/rule-engine/Scene/Save/action/ListItem/FilterGroup.vue index 84991fe8690594160f0f7d327072757101d8cd09..d5bff243054896b9178a82db5c2960d2f7ba78fa 100644 --- a/src/views/rule-engine/Scene/Save/action/ListItem/FilterGroup.vue +++ b/src/views/rule-engine/Scene/Save/action/ListItem/FilterGroup.vue @@ -160,7 +160,7 @@ provide('filter-params', columnOptions); const columnRequest = () => { const param = { - branch: props.branchName, + branch: props.branchName === 0 ? props.branchName : props.branchName / 2, branchGroup: props.thenName, action: props.actionName, }; diff --git a/src/views/rule-engine/Scene/Save/action/ListItem/Item.vue b/src/views/rule-engine/Scene/Save/action/ListItem/Item.vue index ae329bb164951b6931e6e7875deecfa21f59830f..dfbe63e64aa0844432db4ab96f12ec271d3aae5e 100644 --- a/src/views/rule-engine/Scene/Save/action/ListItem/Item.vue +++ b/src/views/rule-engine/Scene/Save/action/ListItem/Item.vue @@ -299,7 +299,7 @@ margin-right: 12px; " > - {{ data?.options?.name }} + {{ Array.isArray(data?.options?.name) ? data?.options?.name?.join(',') : data?.options?.name }} {{ data?.options?.propertiesName }} diff --git a/src/views/rule-engine/Scene/Save/components/Terms/ParamsItem.vue b/src/views/rule-engine/Scene/Save/components/Terms/ParamsItem.vue index 2f93b9d1919780b58af4eab6a168847a78c953cb..c4e2b30758df707e80d162929ebaf4eac957e7f4 100644 --- a/src/views/rule-engine/Scene/Save/components/Terms/ParamsItem.vue +++ b/src/views/rule-engine/Scene/Save/components/Terms/ParamsItem.vue @@ -408,7 +408,7 @@ const columnSelect = (option: any) => { formModel.value.options!.when[props.branches_Index].terms[props.whenName].terms[ props.termsName - ][0] = option.name || option.fullName; + ][0] = option.fullName || option.name ; formModel.value.options!.when[props.branches_Index].terms[props.whenName].terms[ props.termsName ][1] = paramsValue.termType; diff --git a/src/views/system/Basis/index.vue b/src/views/system/Basis/index.vue index c3183fe927f3f097bb9646e7af369775fb9fb69b..eebea423e1aeb1feeba389cf7dedb2ad095e6280 100644 --- a/src/views/system/Basis/index.vue +++ b/src/views/system/Basis/index.vue @@ -527,7 +527,7 @@ const uploader: uploaderType = { // 'image/pjpeg', // ], imageTypes: ['.jpg', '.png', '.jfif', '.pjp', '.pjpeg', '.jpeg'], - iconTypes: ['image/x-icon'], + iconTypes: ['image/x-icon', 'image/vnd.microsoft.icon'], // logo格式校验 // beforeLogoUpload: ({ size, type }: File) => { beforeLogoUpload: (file: File) => { @@ -549,7 +549,7 @@ const uploader: uploaderType = { }, // 浏览器页签格式校验 beforeIconUpload: (file) => { - const typeBool = file.type.includes('x-icon'); + const typeBool = uploader.iconTypes.includes(file.type); const sizeBool = file.size / 1024 / 1024 < 1; if (!typeBool) { onlyMessage(`请上传ico格式的图片`, 'error'); diff --git a/src/views/system/Menu/Setting/index.vue b/src/views/system/Menu/Setting/index.vue index a76ef6cf299e47ef12b28705ea50af12901bca4c..ee6ea4f93972f03105adddcfac5dab95cbaf80a5 100644 --- a/src/views/system/Menu/Setting/index.vue +++ b/src/views/system/Menu/Setting/index.vue @@ -262,7 +262,7 @@ const onDragend = (info: AntTreeNodeDropEvent) => { }; const synchronization = async () => { - const menu = synchronizationMenu(cloneDeep(systemMenu.value), BaseMenu); + const menu = synchronizationMenu(cloneDeep(systemMenu.value), baseMenu.value); menu.push(USER_CENTER_MENU_DATA); const res = await updateMenus(menu).catch(() => {}); if (res?.status === 200) { @@ -293,13 +293,14 @@ const synchronizationMenu = (menu: any, baseMenu: any) => { }; onMounted(() => { getSystemPermission_api().then((resp: any) => { - // const filterBaseMenu = BaseMenu.filter(item => ![ - // USER_CENTER_MENU_CODE,messageSubscribe - // ].includes(item.code)) - // baseMenu.value = filterMenu( - // resp.result.map((item: any) => JSON.parse(item).id), - // filterBaseMenu, - // ); + const filterBaseMenu = BaseMenu.filter(item => ![ + USER_CENTER_MENU_CODE,messageSubscribe + ].includes(item.code)) + console.log(resp.result.map((item: any) => JSON.parse(item).id),'map') + baseMenu.value = filterMenu( + resp.result.map((item: any) => JSON.parse(item).id), + filterBaseMenu, + ); getMenuTree_api(params).then((resp: any) => { if (resp.status == 200) { systemMenu.value = resp.result?.filter( diff --git a/src/views/system/Platforms/Api/components/ApiDoes.vue b/src/views/system/Platforms/Api/components/ApiDoes.vue index 9fd8cd54729bb881a9d8ddec06bb051b3eabc092..2934a845401b6b6bec3fd4e744acc5e6a81ac151 100644 --- a/src/views/system/Platforms/Api/components/ApiDoes.vue +++ b/src/views/system/Platforms/Api/components/ApiDoes.vue @@ -163,15 +163,25 @@ const requestCard = reactive({ tips: [], codeText: undefined, getData: () => { - if (!props.selectApi.requestBody) - return (requestCard.tableData = props.selectApi.parameters); - const schema = - props.selectApi.requestBody.content['application/json'].schema; + if (!props.selectApi.requestBody) { + requestCard.tableData = props.selectApi.parameters?.map(i => { + const desc = i.description ? (i.description + (i.schema?.enum?.length ? `,可用值:${i.schema?.enum.join(',')}` : '')) : ''; + const _paramsType = i.schema?.type ? (i.schema?.type + (i.schema?.format ? `(${i.schema?.format})` : '')) : '' + return { + ...i, + paramsName: i.name, + paramsType: _paramsType, + desc: desc + } + }) + return; + } + const schema = props.selectApi.requestBody.content['application/json'].schema; const _ref = schema.$ref || schema?.items?.$ref; // schema不是Java中的类的话则不进行解析,直接结束 if (!_ref) { const type = schema.type || ''; - if(type === 'array'){ + if(type === 'array' || type === 'object'){ requestCard.codeText = JSON.stringify(dealNoRef(type, schema)); } else { requestCard.codeText = String(dealNoRef(type, schema)) @@ -200,9 +210,6 @@ const requestCard = reactive({ }, ]; } - - console.log(requestCard,'requestCard') - setTimeout(() => { loading.value = true }, 1000) diff --git a/src/views/system/Platforms/Api/utils.ts b/src/views/system/Platforms/Api/utils.ts index b21ac361572bdbdc1bd704c64213815fc71854ea..e5239c28c7502dbd8128495ecf65cd7c0ad188ee 100644 --- a/src/views/system/Platforms/Api/utils.ts +++ b/src/views/system/Platforms/Api/utils.ts @@ -166,6 +166,11 @@ export function dealNoRef(type:string,schema?:any):any{ case 'number': result = 0; break; + case 'object': + const _itemType = schema?.items?.type + const _item = dealNoRef(_itemType) + result = _item ? {..._item}: {}; + break; default: return; } diff --git a/src/views/user/Login/index.vue b/src/views/user/Login/index.vue index 013be56b06fbfb0e0c31c9569466ceb3b3e922f9..480a026965be178b47e0c1392a18213c1d4eb017 100644 --- a/src/views/user/Login/index.vue +++ b/src/views/user/Login/index.vue @@ -1,172 +1,187 @@