diff --git a/.env b/.env
index bd4d14a9..2265ce3e 100644
--- a/.env
+++ b/.env
@@ -1,3 +1,3 @@
-VITE_TITLE = "分布式平台"
+VITE_TITLE = "AI自动化渗透测试平台"
-VITE_VERSION = "1.0.0"
\ No newline at end of file
+VITE_VERSION = "1.0.0"
diff --git a/.env.development b/.env.development
index ce753ec8..498f9c9b 100644
--- a/.env.development
+++ b/.env.development
@@ -3,8 +3,8 @@ VITE_APP_MODE=legacy
# VITE_BASE_URL = "http://192.168.3.17:8082/"
-# VITE_BASE_URL = "http://legion-4g.yaklang.com:8080/pre/"
+VITE_BASE_URL = "http://legion-4g.yaklang.com:8080/"
# VITE_BASE_URL = "http://192.168.3.100:8082/"
-VITE_BASE_URL = "http://192.168.3.3:8082/"
+# VITE_BASE_URL = "http://192.168.3.3:8082/"
diff --git a/.env.production b/.env.production
index 5f471a2e..dc0a53a5 100644
--- a/.env.production
+++ b/.env.production
@@ -1,5 +1,5 @@
-VITE_BASE_URL = "http://192.168.3.3:8082/"
+# VITE_BASE_URL = "http://192.168.3.3:8082/"
# VITE_BASE_URL = "http://192.168.3.17:8082/"
-# VITE_BASE_URL = "http://legion-4g.yaklang.com:8080/pre/"
\ No newline at end of file
+VITE_BASE_URL = "http://legion-4g.yaklang.com:8080/"
diff --git a/.gitignore b/.gitignore
index 4108b33e..5698c27c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,24 +1,25 @@
-# Logs
-logs
-*.log
-npm-debug.log*
-yarn-debug.log*
-yarn-error.log*
-pnpm-debug.log*
-lerna-debug.log*
-
-node_modules
-dist
-dist-ssr
-*.local
-
-# Editor directories and files
-.vscode/*
-!.vscode/extensions.json
-.idea
-.DS_Store
-*.suo
-*.ntvs*
-*.njsproj
-*.sln
-*.sw?
+# Logs
+logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+pnpm-debug.log*
+lerna-debug.log*
+
+node_modules
+dist
+dist.zip
+dist-ssr
+*.local
+
+# Editor directories and files
+.vscode/*
+!.vscode/extensions.json
+.idea
+.DS_Store
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?
diff --git a/.husky/pre-commit b/.husky/pre-commit
index f841cf21..d5a13922 100755
--- a/.husky/pre-commit
+++ b/.husky/pre-commit
@@ -1,2 +1,2 @@
#!/usr/bin/env sh
-npx lint-staged
+node scripts/pre-commit.mjs
diff --git a/.lintstagedrc.json b/.lintstagedrc.json
index 694e9cdc..5c3953a7 100644
--- a/.lintstagedrc.json
+++ b/.lintstagedrc.json
@@ -1,4 +1,4 @@
{
"*.{js,jsx}": ["eslint --fix"],
- "*.{ts,tsx}": ["eslint --fix", "bash -c tsc"]
+ "*.{ts,tsx}": ["eslint --fix"]
}
diff --git a/.prettierrc b/.prettierrc
deleted file mode 100644
index af58978e..00000000
--- a/.prettierrc
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "extends": "eslint-config-alloy/.prettierrc.js",
- "tabWidth": 4,
- "semi": true,
- "singleQuote": true,
- "printWidth": 80,
- "bracketSpacing": true,
- "arrowParens": "always"
-}
diff --git a/.prettierrc.js b/.prettierrc.js
new file mode 100644
index 00000000..a5831169
--- /dev/null
+++ b/.prettierrc.js
@@ -0,0 +1,44 @@
+// .prettierrc.js
+export default {
+ // 一行最多 120 字符
+ printWidth: 120,
+ // 使用 2 个空格缩进
+ tabWidth: 2,
+ // 不使用缩进符,而使用空格
+ useTabs: false,
+ // 行尾需要有分号
+ semi: false,
+ // 使用单引号
+ singleQuote: true,
+ // 对象的 key 仅在必要时用引号
+ quoteProps: "as-needed",
+ // jsx 不使用单引号,而使用双引号
+ jsxSingleQuote: false,
+ // 末尾需要有逗号
+ trailingComma: "all",
+ // 大括号内的首尾需要空格
+ bracketSpacing: true,
+ // jsx 标签的反尖括号需要换行
+ bracketSameLine: false,
+ // 箭头函数,只有一个参数的时候,也需要括号
+ arrowParens: "always",
+ // 每个文件格式化的范围是文件的全部内容
+ rangeStart: 0,
+ rangeEnd: Infinity,
+ // 不需要写文件开头的 @prettier
+ requirePragma: false,
+ // 不需要自动在文件开头插入 @prettier
+ insertPragma: false,
+ // 使用默认的折行标准
+ proseWrap: "preserve",
+ // 根据显示样式决定 html 要不要折行
+ htmlWhitespaceSensitivity: "css",
+ // vue 文件中的 script 和 style 内不用缩进
+ vueIndentScriptAndStyle: false,
+ // 换行符使用 lf
+ endOfLine: "lf",
+ // 格式化嵌入的内容
+ embeddedLanguageFormatting: "auto",
+ // html, vue, jsx 中每个属性占一行
+ singleAttributePerLine: false,
+ };
\ No newline at end of file
diff --git a/README.en.md b/README.en.md
index c6ea7638..aca11d53 100644
--- a/README.en.md
+++ b/README.en.md
@@ -2,7 +2,7 @@
#### Description
-分布式平台
+AI自动化渗透测试平台
#### Software Architecture
diff --git a/index.html b/index.html
index fd58013b..5e7b1312 100644
--- a/index.html
+++ b/index.html
@@ -1,23 +1,23 @@
-
-
-
-
-
- 自动化渗透系统
-
-
-
-
-
-
+
+
+
+
+
+
+
+ AI自动化渗透测试平台
+
+
+
+
+
+
+
+
diff --git a/package.json b/package.json
index 31a9e6b2..d2c7e325 100644
--- a/package.json
+++ b/package.json
@@ -6,9 +6,10 @@
"scripts": {
"dev": "vite --port 4173",
"dev:irify": "vite --port 4174 --mode irify.development",
- "build": "tsc && vite build",
+ "build": "vite build",
"build:irify": "tsc && vite build --mode irify.production --outDir dist-irify",
"lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
+ "typecheck": "tsc --noEmit --pretty false",
"preview": "vite preview",
"prepare": "husky install",
"commit": "git-cz",
@@ -33,6 +34,19 @@
"@dnd-kit/sortable": "^10.0.0",
"@dnd-kit/utilities": "^3.2.2",
"@hello-pangea/dnd": "16.5.0",
+ "@tanstack/react-query": "^5.95.0",
+ "@milkdown/kit": "^7.5.5",
+ "@milkdown/plugin-collab": "^7.5.0",
+ "@milkdown/react": "^7.5.0",
+ "@milkdown/theme-nord": "^7.5.0",
+ "@prosemirror-adapter/react": "^0.2.6",
+ "@rjsf/antd": "^5.22.4",
+ "@rjsf/core": "^5.22.4",
+ "@rjsf/utils": "^5.22.4",
+ "@rjsf/validator-ajv8": "^5.22.4",
+ "@streamdown/code": "^1.0.1",
+ "@streamdown/math": "^1.0.1",
+ "@streamdown/mermaid": "^1.0.1",
"@uiw/react-md-editor": "3.6.5",
"@viz-js/viz": "3.7.0",
"@yakit-libs/color": "^1.0.2",
@@ -46,6 +60,7 @@
"dayjs": "^1.11.13",
"dnd-core": "16.0.1",
"echarts": "^5.5.1",
+ "echarts-for-react": "^3.0.6",
"eslint-import-resolver-alias": "^1.1.2",
"event-source-polyfill": "^1.0.4",
"file-saver": "^2.0.5",
@@ -76,10 +91,15 @@
"react-monaco-editor": "0.54.0",
"react-resize-detector": "6.7.8",
"react-router-dom": "^6.26.2",
+ "react-virtuoso": "4.14.1",
"react-wordcloud": "^1.2.7",
"rehype-highlight": "^7.0.1",
"rehype-raw": "^7.0.0",
+ "rehype-sanitize": "^6.0.0",
+ "rehype-slug": "^6.0.0",
+ "remark-directive": "^3.0.0",
"remark-gfm": "^4.0.0",
+ "streamdown": "^2.1.0",
"ts-pattern": "^4.0.4",
"uuid": "^11.1.0",
"zustand": "^4.5.5"
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index b9ab0207..4aeba7c7 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -13,7 +13,7 @@ importers:
version: 5.5.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@ant-design/pro-components':
specifier: ^2.8.2
- version: 2.8.2(antd@5.21.2(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(rc-field-form@2.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ version: 2.8.2(antd@5.21.2(date-fns@2.30.0)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(rc-field-form@2.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@antv/data-set':
specifier: ^0.11.8
version: 0.11.8
@@ -38,6 +38,45 @@ importers:
'@hello-pangea/dnd':
specifier: 16.5.0
version: 16.5.0(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@milkdown/kit':
+ specifier: ^7.5.5
+ version: 7.19.0(@codemirror/language@6.12.2)(@codemirror/state@6.5.4)(@codemirror/view@6.39.16)(typescript@5.6.2)
+ '@milkdown/plugin-collab':
+ specifier: ^7.5.0
+ version: 7.19.0(y-prosemirror@1.3.7(prosemirror-model@1.25.4)(prosemirror-state@1.4.4)(prosemirror-view@1.41.6)(y-protocols@1.0.7(yjs@13.6.29))(yjs@13.6.29))(y-protocols@1.0.7(yjs@13.6.29))(yjs@13.6.29)
+ '@milkdown/react':
+ specifier: ^7.5.0
+ version: 7.19.0(@codemirror/language@6.12.2)(@codemirror/state@6.5.4)(@codemirror/view@6.39.16)(prosemirror-model@1.25.4)(prosemirror-state@1.4.4)(prosemirror-view@1.41.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2)
+ '@milkdown/theme-nord':
+ specifier: ^7.5.0
+ version: 7.19.0
+ '@prosemirror-adapter/react':
+ specifier: ^0.2.6
+ version: 0.2.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@rjsf/antd':
+ specifier: ^5.22.4
+ version: 5.24.13(@ant-design/icons@5.5.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@rjsf/core@5.24.13(@rjsf/utils@5.24.13(react@18.3.1))(react@18.3.1))(@rjsf/utils@5.24.13(react@18.3.1))(antd@5.21.2(date-fns@2.30.0)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(dayjs@1.11.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@rjsf/core':
+ specifier: ^5.22.4
+ version: 5.24.13(@rjsf/utils@5.24.13(react@18.3.1))(react@18.3.1)
+ '@rjsf/utils':
+ specifier: ^5.22.4
+ version: 5.24.13(react@18.3.1)
+ '@rjsf/validator-ajv8':
+ specifier: ^5.22.4
+ version: 5.24.13(@rjsf/utils@5.24.13(react@18.3.1))
+ '@streamdown/code':
+ specifier: ^1.0.1
+ version: 1.0.3(react@18.3.1)
+ '@streamdown/math':
+ specifier: ^1.0.1
+ version: 1.0.2(react@18.3.1)
+ '@streamdown/mermaid':
+ specifier: ^1.0.1
+ version: 1.0.2(react@18.3.1)
+ '@tanstack/react-query':
+ specifier: ^5.95.0
+ version: 5.95.0(react@18.3.1)
'@uiw/react-md-editor':
specifier: 3.6.5
version: 3.6.5(@types/react@18.3.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
@@ -55,7 +94,7 @@ importers:
version: 3.8.0(react@18.3.1)
antd:
specifier: ^5.21.2
- version: 5.21.2(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ version: 5.21.2(date-fns@2.30.0)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
axios:
specifier: ^1.7.7
version: 1.7.7
@@ -77,6 +116,9 @@ importers:
echarts:
specifier: ^5.5.1
version: 5.5.1
+ echarts-for-react:
+ specifier: ^3.0.6
+ version: 3.0.6(echarts@5.5.1)(react@18.3.1)
eslint-import-resolver-alias:
specifier: ^1.1.2
version: 1.1.2(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1))
@@ -167,6 +209,9 @@ importers:
react-router-dom:
specifier: ^6.26.2
version: 6.26.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react-virtuoso:
+ specifier: 4.14.1
+ version: 4.14.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
react-wordcloud:
specifier: ^1.2.7
version: 1.2.7(react@18.3.1)
@@ -176,9 +221,21 @@ importers:
rehype-raw:
specifier: ^7.0.0
version: 7.0.0
+ rehype-sanitize:
+ specifier: ^6.0.0
+ version: 6.0.0
+ rehype-slug:
+ specifier: ^6.0.0
+ version: 6.0.0
+ remark-directive:
+ specifier: ^3.0.0
+ version: 3.0.1
remark-gfm:
specifier: ^4.0.0
version: 4.0.0
+ streamdown:
+ specifier: ^2.1.0
+ version: 2.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
ts-pattern:
specifier: ^4.0.4
version: 4.0.4
@@ -266,7 +323,7 @@ importers:
version: 5.6.2
unocss:
specifier: ^0.58.9
- version: 0.58.9(postcss@8.4.47)(rollup@4.24.0)(vite@5.4.8(@types/node@22.13.14)(sass@1.79.4)(terser@5.36.0))
+ version: 0.58.9(postcss@8.5.8)(rollup@4.24.0)(vite@5.4.8(@types/node@22.13.14)(sass@1.79.4)(terser@5.36.0))
vite:
specifier: ^5.4.8
version: 5.4.8(@types/node@22.13.14)(sass@1.79.4)(terser@5.36.0)
@@ -396,6 +453,9 @@ packages:
'@antfu/install-pkg@0.4.1':
resolution: {integrity: sha512-T7yB5QNG29afhWVkVq7XeIMBa5U/vs9mX69YqayXypPRmYzUmzwnYltplHmPtZ4HPCn+sQKeXW8I47wCbuBOjw==}
+ '@antfu/install-pkg@1.1.0':
+ resolution: {integrity: sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==}
+
'@antfu/utils@0.7.10':
resolution: {integrity: sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww==}
@@ -623,6 +683,10 @@ packages:
resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==}
engines: {node: '>=6.9.0'}
+ '@babel/helper-string-parser@7.27.1':
+ resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==}
+ engines: {node: '>=6.9.0'}
+
'@babel/helper-validator-identifier@7.25.7':
resolution: {integrity: sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg==}
engines: {node: '>=6.9.0'}
@@ -631,6 +695,10 @@ packages:
resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==}
engines: {node: '>=6.9.0'}
+ '@babel/helper-validator-identifier@7.28.5':
+ resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==}
+ engines: {node: '>=6.9.0'}
+
'@babel/helper-validator-option@7.25.7':
resolution: {integrity: sha512-ytbPLsm+GjArDYXJ8Ydr1c/KJuutjF2besPNbIZnZ6MKUxi/uTA22t2ymmA4WFjZFpjiAMO0xuuJPqK2nvDVfQ==}
engines: {node: '>=6.9.0'}
@@ -648,6 +716,11 @@ packages:
engines: {node: '>=6.0.0'}
hasBin: true
+ '@babel/parser@7.29.0':
+ resolution: {integrity: sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
+
'@babel/plugin-syntax-jsx@7.25.7':
resolution: {integrity: sha512-ruZOnKO+ajVL/MVx+PwNBPOkrnXTXoWMtte1MBpegfCArhqOe3Bj52avVj1huLLxNKYKXYaSxZ2F+woK1ekXfw==}
engines: {node: '>=6.9.0'}
@@ -724,11 +797,126 @@ packages:
resolution: {integrity: sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==}
engines: {node: '>=6.9.0'}
+ '@babel/types@7.29.0':
+ resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==}
+ engines: {node: '>=6.9.0'}
+
+ '@braintree/sanitize-url@7.1.2':
+ resolution: {integrity: sha512-jigsZK+sMF/cuiB7sERuo9V7N9jx+dhmHHnQyDSVdpZwVutaBu7WvNYqMDLSgFgfB30n452TP3vjDAvFC973mA==}
+
'@chenshuai2144/sketch-color@1.0.9':
resolution: {integrity: sha512-obzSy26cb7Pm7OprWyVpgMpIlrZpZ0B7vbrU0RMbvRg0YAI890S5Xy02Aj1Nhl4+KTbi1lVYHt6HQP8Hm9s+1w==}
peerDependencies:
react: '>=16.12.0'
+ '@chevrotain/cst-dts-gen@11.1.2':
+ resolution: {integrity: sha512-XTsjvDVB5nDZBQB8o0o/0ozNelQtn2KrUVteIHSlPd2VAV2utEb6JzyCJaJ8tGxACR4RiBNWy5uYUHX2eji88Q==}
+
+ '@chevrotain/gast@11.1.2':
+ resolution: {integrity: sha512-Z9zfXR5jNZb1Hlsd/p+4XWeUFugrHirq36bKzPWDSIacV+GPSVXdk+ahVWZTwjhNwofAWg/sZg58fyucKSQx5g==}
+
+ '@chevrotain/regexp-to-ast@11.1.2':
+ resolution: {integrity: sha512-nMU3Uj8naWer7xpZTYJdxbAs6RIv/dxYzkYU8GSwgUtcAAlzjcPfX1w+RKRcYG8POlzMeayOQ/znfwxEGo5ulw==}
+
+ '@chevrotain/types@11.1.2':
+ resolution: {integrity: sha512-U+HFai5+zmJCkK86QsaJtoITlboZHBqrVketcO2ROv865xfCMSFpELQoz1GkX5GzME8pTa+3kbKrZHQtI0gdbw==}
+
+ '@chevrotain/utils@11.1.2':
+ resolution: {integrity: sha512-4mudFAQ6H+MqBTfqLmU7G1ZwRzCLfJEooL/fsF6rCX5eePMbGhoy5n4g+G4vlh2muDcsCTJtL+uKbOzWxs5LHA==}
+
+ '@codemirror/autocomplete@6.20.1':
+ resolution: {integrity: sha512-1cvg3Vz1dSSToCNlJfRA2WSI4ht3K+WplO0UMOgmUYPivCyy2oueZY6Lx7M9wThm7SDUBViRmuT+OG/i8+ON9A==}
+
+ '@codemirror/commands@6.10.2':
+ resolution: {integrity: sha512-vvX1fsih9HledO1c9zdotZYUZnE4xV0m6i3m25s5DIfXofuprk6cRcLUZvSk3CASUbwjQX21tOGbkY2BH8TpnQ==}
+
+ '@codemirror/lang-angular@0.1.4':
+ resolution: {integrity: sha512-oap+gsltb/fzdlTQWD6BFF4bSLKcDnlxDsLdePiJpCVNKWXSTAbiiQeYI3UmES+BLAdkmIC1WjyztC1pi/bX4g==}
+
+ '@codemirror/lang-cpp@6.0.3':
+ resolution: {integrity: sha512-URM26M3vunFFn9/sm6rzqrBzDgfWuDixp85uTY49wKudToc2jTHUrKIGGKs+QWND+YLofNNZpxcNGRynFJfvgA==}
+
+ '@codemirror/lang-css@6.3.1':
+ resolution: {integrity: sha512-kr5fwBGiGtmz6l0LSJIbno9QrifNMUusivHbnA1H6Dmqy4HZFte3UAICix1VuKo0lMPKQr2rqB+0BkKi/S3Ejg==}
+
+ '@codemirror/lang-go@6.0.1':
+ resolution: {integrity: sha512-7fNvbyNylvqCphW9HD6WFnRpcDjr+KXX/FgqXy5H5ZS0eC5edDljukm/yNgYkwTsgp2busdod50AOTIy6Jikfg==}
+
+ '@codemirror/lang-html@6.4.11':
+ resolution: {integrity: sha512-9NsXp7Nwp891pQchI7gPdTwBuSuT3K65NGTHWHNJ55HjYcHLllr0rbIZNdOzas9ztc1EUVBlHou85FFZS4BNnw==}
+
+ '@codemirror/lang-java@6.0.2':
+ resolution: {integrity: sha512-m5Nt1mQ/cznJY7tMfQTJchmrjdjQ71IDs+55d1GAa8DGaB8JXWsVCkVT284C3RTASaY43YknrK2X3hPO/J3MOQ==}
+
+ '@codemirror/lang-javascript@6.2.5':
+ resolution: {integrity: sha512-zD4e5mS+50htS7F+TYjBPsiIFGanfVqg4HyUz6WNFikgOPf2BgKlx+TQedI1w6n/IqRBVBbBWmGFdLB/7uxO4A==}
+
+ '@codemirror/lang-jinja@6.0.0':
+ resolution: {integrity: sha512-47MFmRcR8UAxd8DReVgj7WJN1WSAMT7OJnewwugZM4XiHWkOjgJQqvEM1NpMj9ALMPyxmlziEI1opH9IaEvmaw==}
+
+ '@codemirror/lang-json@6.0.2':
+ resolution: {integrity: sha512-x2OtO+AvwEHrEwR0FyyPtfDUiloG3rnVTSZV1W8UteaLL8/MajQd8DpvUb2YVzC+/T18aSDv0H9mu+xw0EStoQ==}
+
+ '@codemirror/lang-less@6.0.2':
+ resolution: {integrity: sha512-EYdQTG22V+KUUk8Qq582g7FMnCZeEHsyuOJisHRft/mQ+ZSZ2w51NupvDUHiqtsOy7It5cHLPGfHQLpMh9bqpQ==}
+
+ '@codemirror/lang-liquid@6.3.2':
+ resolution: {integrity: sha512-6PDVU3ZnfeYyz1at1E/ttorErZvZFXXt1OPhtfe1EZJ2V2iDFa0CwPqPgG5F7NXN0yONGoBogKmFAafKTqlwIw==}
+
+ '@codemirror/lang-markdown@6.5.0':
+ resolution: {integrity: sha512-0K40bZ35jpHya6FriukbgaleaqzBLZfOh7HuzqbMxBXkbYMJDxfF39c23xOgxFezR+3G+tR2/Mup+Xk865OMvw==}
+
+ '@codemirror/lang-php@6.0.2':
+ resolution: {integrity: sha512-ZKy2v1n8Fc8oEXj0Th0PUMXzQJ0AIR6TaZU+PbDHExFwdu+guzOA4jmCHS1Nz4vbFezwD7LyBdDnddSJeScMCA==}
+
+ '@codemirror/lang-python@6.2.1':
+ resolution: {integrity: sha512-IRjC8RUBhn9mGR9ywecNhB51yePWCGgvHfY1lWN/Mrp3cKuHr0isDKia+9HnvhiWNnMpbGhWrkhuWOc09exRyw==}
+
+ '@codemirror/lang-rust@6.0.2':
+ resolution: {integrity: sha512-EZaGjCUegtiU7kSMvOfEZpaCReowEf3yNidYu7+vfuGTm9ow4mthAparY5hisJqOHmJowVH3Upu+eJlUji6qqA==}
+
+ '@codemirror/lang-sass@6.0.2':
+ resolution: {integrity: sha512-l/bdzIABvnTo1nzdY6U+kPAC51czYQcOErfzQ9zSm9D8GmNPD0WTW8st/CJwBTPLO8jlrbyvlSEcN20dc4iL0Q==}
+
+ '@codemirror/lang-sql@6.10.0':
+ resolution: {integrity: sha512-6ayPkEd/yRw0XKBx5uAiToSgGECo/GY2NoJIHXIIQh1EVwLuKoU8BP/qK0qH5NLXAbtJRLuT73hx7P9X34iO4w==}
+
+ '@codemirror/lang-vue@0.1.3':
+ resolution: {integrity: sha512-QSKdtYTDRhEHCfo5zOShzxCmqKJvgGrZwDQSdbvCRJ5pRLWBS7pD/8e/tH44aVQT6FKm0t6RVNoSUWHOI5vNug==}
+
+ '@codemirror/lang-wast@6.0.2':
+ resolution: {integrity: sha512-Imi2KTpVGm7TKuUkqyJ5NRmeFWF7aMpNiwHnLQe0x9kmrxElndyH0K6H/gXtWwY6UshMRAhpENsgfpSwsgmC6Q==}
+
+ '@codemirror/lang-xml@6.1.0':
+ resolution: {integrity: sha512-3z0blhicHLfwi2UgkZYRPioSgVTo9PV5GP5ducFH6FaHy0IAJRg+ixj5gTR1gnT/glAIC8xv4w2VL1LoZfs+Jg==}
+
+ '@codemirror/lang-yaml@6.1.2':
+ resolution: {integrity: sha512-dxrfG8w5Ce/QbT7YID7mWZFKhdhsaTNOYjOkSIMt1qmC4VQnXSDSYVHHHn8k6kJUfIhtLo8t1JJgltlxWdsITw==}
+
+ '@codemirror/language-data@6.5.2':
+ resolution: {integrity: sha512-CPkWBKrNS8stYbEU5kwBwTf3JB1kghlbh4FSAwzGW2TEscdeHHH4FGysREW86Mqnj3Qn09s0/6Ea/TutmoTobg==}
+
+ '@codemirror/language@6.12.2':
+ resolution: {integrity: sha512-jEPmz2nGGDxhRTg3lTpzmIyGKxz3Gp3SJES4b0nAuE5SWQoKdT5GoQ69cwMmFd+wvFUhYirtDTr0/DRHpQAyWg==}
+
+ '@codemirror/legacy-modes@6.5.2':
+ resolution: {integrity: sha512-/jJbwSTazlQEDOQw2FJ8LEEKVS72pU0lx6oM54kGpL8t/NJ2Jda3CZ4pcltiKTdqYSRk3ug1B3pil1gsjA6+8Q==}
+
+ '@codemirror/lint@6.9.5':
+ resolution: {integrity: sha512-GElsbU9G7QT9xXhpUg1zWGmftA/7jamh+7+ydKRuT0ORpWS3wOSP0yT1FOlIZa7mIJjpVPipErsyvVqB9cfTFA==}
+
+ '@codemirror/search@6.6.0':
+ resolution: {integrity: sha512-koFuNXcDvyyotWcgOnZGmY7LZqEOXZaaxD/j6n18TCLx2/9HieZJ5H6hs1g8FiRxBD0DNfs0nXn17g872RmYdw==}
+
+ '@codemirror/state@6.5.4':
+ resolution: {integrity: sha512-8y7xqG/hpB53l25CIoit9/ngxdfoG+fx+V3SHBrinnhOtLvKHRyAJJuHzkWrR4YXXLX8eXBsejgAAxHUOdW1yw==}
+
+ '@codemirror/theme-one-dark@6.1.3':
+ resolution: {integrity: sha512-NzBdIvEJmx6fjeremiGp3t/okrLPYT0d9orIc7AFun8oZcRk58aejkqhv6spnz4MLAevrKNPMQYXEWMg4s+sKA==}
+
+ '@codemirror/view@6.39.16':
+ resolution: {integrity: sha512-m6S22fFpKtOWhq8HuhzsI1WzUP/hB9THbDj0Tl5KX4gbO6Y91hwBl7Yky33NdvB6IffuRFiBxf1R8kJMyXmA4Q==}
+
'@commitlint/cli@19.6.1':
resolution: {integrity: sha512-8hcyA6ZoHwWXC76BoC8qVOSr8xHy00LZhZpauiD0iO0VYbVhMnED0da85lTfIULxl7Lj4c6vZgF0Wu/ed1+jlQ==}
engines: {node: '>=v18'}
@@ -1011,6 +1199,15 @@ packages:
resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ '@floating-ui/core@1.7.5':
+ resolution: {integrity: sha512-1Ih4WTWyw0+lKyFMcBHGbb5U5FtuHJuujoyyr5zTaWS5EYMeT6Jb2AuDeftsCsEuchO+mM2ij5+q9crhydzLhQ==}
+
+ '@floating-ui/dom@1.7.6':
+ resolution: {integrity: sha512-9gZSAI5XM36880PPMm//9dfiEngYoC6Am2izES1FF406YFsjvyBMmeJ2g4SAju3xWwtuynNRFL2s9hgxpLI5SQ==}
+
+ '@floating-ui/utils@0.2.11':
+ resolution: {integrity: sha512-RiB/yIh78pcIxl6lLMG0CgBXAZ2Y0eVHqMPYugu+9U0AeT6YBeiJpf7lbdJNIugFP5SIjwNRgo4DhR1Qxi26Gg==}
+
'@hello-pangea/dnd@16.5.0':
resolution: {integrity: sha512-n+am6O32jo/CFXciCysz83lPM3I3F58FJw4uS44TceieymcyxQSfzK5OhzPAKrVBZktmuOI6Zim9WABTMtXv4A==}
peerDependencies:
@@ -1036,6 +1233,9 @@ packages:
'@iconify/utils@2.1.33':
resolution: {integrity: sha512-jP9h6v/g0BIZx0p7XGJJVtkVnydtbgTgt9mVNcGDYwaa7UhdHdI9dvoq+gKj9sijMSJKxUPEG2JyjsgXjxL7Kw==}
+ '@iconify/utils@3.1.0':
+ resolution: {integrity: sha512-Zlzem1ZXhI1iHeeERabLNzBHdOa4VhQbqAcOQaMKuTuyZCpwKbC2R4Dd0Zo3g9EAc+Y4fiarO8HIHRAth7+skw==}
+
'@jridgewell/gen-mapping@0.3.5':
resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==}
engines: {node: '>=6.0.0'}
@@ -1054,12 +1254,66 @@ packages:
'@jridgewell/sourcemap-codec@1.5.0':
resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==}
+ '@jridgewell/sourcemap-codec@1.5.5':
+ resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==}
+
'@jridgewell/trace-mapping@0.3.25':
resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
'@juggle/resize-observer@3.4.0':
resolution: {integrity: sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==}
+ '@lezer/common@1.5.1':
+ resolution: {integrity: sha512-6YRVG9vBkaY7p1IVxL4s44n5nUnaNnGM2/AckNgYOnxTG2kWh1vR8BMxPseWPjRNpb5VtXnMpeYAEAADoRV1Iw==}
+
+ '@lezer/cpp@1.1.5':
+ resolution: {integrity: sha512-DIhSXmYtJKLehrjzDFN+2cPt547ySQ41nA8yqcDf/GxMc+YM736xqltFkvADL2M0VebU5I+3+4ks2Vv+Kyq3Aw==}
+
+ '@lezer/css@1.3.1':
+ resolution: {integrity: sha512-PYAKeUVBo3HFThruRyp/iK91SwiZJnzXh8QzkQlwijB5y+N5iB28+iLk78o2zmKqqV0uolNhCwFqB8LA7b0Svg==}
+
+ '@lezer/go@1.0.1':
+ resolution: {integrity: sha512-xToRsYxwsgJNHTgNdStpcvmbVuKxTapV0dM0wey1geMMRc9aggoVyKgzYp41D2/vVOx+Ii4hmE206kvxIXBVXQ==}
+
+ '@lezer/highlight@1.2.3':
+ resolution: {integrity: sha512-qXdH7UqTvGfdVBINrgKhDsVTJTxactNNxLk7+UMwZhU13lMHaOBlJe9Vqp907ya56Y3+ed2tlqzys7jDkTmW0g==}
+
+ '@lezer/html@1.3.13':
+ resolution: {integrity: sha512-oI7n6NJml729m7pjm9lvLvmXbdoMoi2f+1pwSDJkl9d68zGr7a9Btz8NdHTGQZtW2DA25ybeuv/SyDb9D5tseg==}
+
+ '@lezer/java@1.1.3':
+ resolution: {integrity: sha512-yHquUfujwg6Yu4Fd1GNHCvidIvJwi/1Xu2DaKl/pfWIA2c1oXkVvawH3NyXhCaFx4OdlYBVX5wvz2f7Aoa/4Xw==}
+
+ '@lezer/javascript@1.5.4':
+ resolution: {integrity: sha512-vvYx3MhWqeZtGPwDStM2dwgljd5smolYD2lR2UyFcHfxbBQebqx8yjmFmxtJ/E6nN6u1D9srOiVWm3Rb4tmcUA==}
+
+ '@lezer/json@1.0.3':
+ resolution: {integrity: sha512-BP9KzdF9Y35PDpv04r0VeSTKDeox5vVr3efE7eBbx3r4s3oNLfunchejZhjArmeieBH+nVOpgIiBJpEAv8ilqQ==}
+
+ '@lezer/lr@1.4.8':
+ resolution: {integrity: sha512-bPWa0Pgx69ylNlMlPvBPryqeLYQjyJjqPx+Aupm5zydLIF3NE+6MMLT8Yi23Bd9cif9VS00aUebn+6fDIGBcDA==}
+
+ '@lezer/markdown@1.6.3':
+ resolution: {integrity: sha512-jpGm5Ps+XErS+xA4urw7ogEGkeZOahVQF21Z6oECF0sj+2liwZopd2+I8uH5I/vZsRuuze3OxBREIANLf6KKUw==}
+
+ '@lezer/php@1.0.5':
+ resolution: {integrity: sha512-W7asp9DhM6q0W6DYNwIkLSKOvxlXRrif+UXBMxzsJUuqmhE7oVU+gS3THO4S/Puh7Xzgm858UNaFi6dxTP8dJA==}
+
+ '@lezer/python@1.1.18':
+ resolution: {integrity: sha512-31FiUrU7z9+d/ElGQLJFXl+dKOdx0jALlP3KEOsGTex8mvj+SoE1FgItcHWK/axkxCHGUSpqIHt6JAWfWu9Rhg==}
+
+ '@lezer/rust@1.0.2':
+ resolution: {integrity: sha512-Lz5sIPBdF2FUXcWeCu1//ojFAZqzTQNRga0aYv6dYXqJqPfMdCAI0NzajWUd4Xijj1IKJLtjoXRPMvTKWBcqKg==}
+
+ '@lezer/sass@1.1.0':
+ resolution: {integrity: sha512-3mMGdCTUZ/84ArHOuXWQr37pnf7f+Nw9ycPUeKX+wu19b7pSMcZGLbaXwvD2APMBDOGxPmpK/O6S1v1EvLoqgQ==}
+
+ '@lezer/xml@1.0.6':
+ resolution: {integrity: sha512-CdDwirL0OEaStFue/66ZmFSeppuL6Dwjlk8qk153mSQwiSH/Dlri4GNymrNWnUmPl2Um7QfV1FO9KFUyX3Twww==}
+
+ '@lezer/yaml@1.0.4':
+ resolution: {integrity: sha512-2lrrHqxalACEbxIbsjhqGpSW8kWpUKuY6RHgnSAFZa6qK62wvnPxA8hGOwOoDbwHcOFs5M4o27mjGu+P7TvBmw==}
+
'@ljharb/resumer@0.0.1':
resolution: {integrity: sha512-skQiAOrCfO7vRTq53cxznMpks7wS1va95UCidALlOVWqvBAzwPVErwizDwoMqNVMEn1mDq0utxZd02eIrvF1lw==}
engines: {node: '>= 0.4'}
@@ -1117,6 +1371,95 @@ packages:
resolution: {integrity: sha512-cOZZOVhDSulgK0meTsTkmNXb1ahVvmTmWmfx9gRBwc6hq98wS9JP35ESIoNq3xqEan+UN+gn8187Z6E4NKhLsw==}
hasBin: true
+ '@marijn/find-cluster-break@1.0.2':
+ resolution: {integrity: sha512-l0h88YhZFyKdXIFNfSWpyjStDjGHwZ/U7iobcK1cQQD8sejsONdQtTVU+1wVN1PBw40PiiHB1vA5S7VTfQiP9g==}
+
+ '@mermaid-js/parser@1.0.0':
+ resolution: {integrity: sha512-vvK0Hi/VWndxoh03Mmz6wa1KDriSPjS2XMZL/1l19HFwygiObEEoEwSDxOqyLzzAI6J2PU3261JjTMTO7x+BPw==}
+
+ '@milkdown/components@7.19.0':
+ resolution: {integrity: sha512-l/xasav/CPVXQZWs5oiFtnWw2zMk4Bq1EmKFElzsaKJCCW7ZBofasoGoQY5h0j+CDM8nAe8WLTq87WWWb9Ut6A==}
+ peerDependencies:
+ '@codemirror/language': ^6
+ '@codemirror/state': ^6
+ '@codemirror/view': ^6
+
+ '@milkdown/core@7.19.0':
+ resolution: {integrity: sha512-x5vxnVCxxKSGCa1+J7I4RzEDl4KkvsXJF6xm1zCtvj0BCsbCFGiUVx2AtLcFkkvWZ5530CuOouDJ9FC27yoCoA==}
+
+ '@milkdown/crepe@7.19.0':
+ resolution: {integrity: sha512-3vY/5l8xc3LS1bh/bzzfuVhiFPP1gBYCSTp6iu6TXUgMHJvu8Tp2yhyBrjIWhiogA281cuA50i9gG47wOjWAIQ==}
+
+ '@milkdown/ctx@7.19.0':
+ resolution: {integrity: sha512-tdG9jm6yk6PRSvFZW5rRSqOGrKdcNdbXJwfGiEGr538pgKYhJ/yKPF3HmfupkhGyxabRP/PydQa4q/N/OOs03g==}
+
+ '@milkdown/exception@7.19.0':
+ resolution: {integrity: sha512-ykgjxqrOueTCjmDGr0aidulZa1mC6bg4f8eDyMiT0wd4vB+3iYmQxY8NxdKwUqlz4UM5KBnbyFlGlgQsQDL+ew==}
+
+ '@milkdown/kit@7.19.0':
+ resolution: {integrity: sha512-q+FF2dLMpw056mwowg1de+vcDl2gLyNfBmOCJ1WjJSqw4evlcYcKjYgKZWViE/WLOjryQDQhDlg0g58/uUFiyQ==}
+
+ '@milkdown/plugin-block@7.19.0':
+ resolution: {integrity: sha512-VCOscCUXOlkOO/i3PYUHHJ9nAk3rjBGlEB6Rs3Ge7hJbuv2Hb/5mTiWI2KRARu1deGaEaYUjsH8NX+BOH3ZMew==}
+
+ '@milkdown/plugin-clipboard@7.19.0':
+ resolution: {integrity: sha512-V29/XE3M/ffvc5Owdm9tdUaD/GZ5AHMgbpBkd6+2/PH09MfGA9CPTpAjhqxxkWEi3CoT0HapdoceKuzd5bD7Nw==}
+
+ '@milkdown/plugin-collab@7.19.0':
+ resolution: {integrity: sha512-00kD9NTcZt9v4ZrrM7coJ0VGQwNUI2mp1tGw2Uh3TTnDADYHSseQMNP1RozdrjUZP8iZlWurpzDIXlBHYnskOA==}
+ peerDependencies:
+ y-prosemirror: '*'
+ y-protocols: '*'
+ yjs: '*'
+
+ '@milkdown/plugin-cursor@7.19.0':
+ resolution: {integrity: sha512-NGAuTxSbOdy3nHQ8bTk9I6Vi1eX14xpcN7QU65aIJM01RnGhTBx5cF6f82n0IWTXMbN+MVOuQfqywfdRx1ukLw==}
+
+ '@milkdown/plugin-history@7.19.0':
+ resolution: {integrity: sha512-bC5bN0Ep5AC3hkiPS6LJTkorBoe5S7meJNzO0WqcIpkwckHD3M59Z7uz6dSUZdxVcL5IcFegDVsEYkiDq1Jcrw==}
+
+ '@milkdown/plugin-indent@7.19.0':
+ resolution: {integrity: sha512-P9rJK9OHCmqry37pAFcknY3VVvAEpUt7RflfdjFXSb3aGyJb+TDaQBiTHgxzTTXmvmAaPGLm2uuGtx34ThrA1A==}
+
+ '@milkdown/plugin-listener@7.19.0':
+ resolution: {integrity: sha512-shEVqcC2SKH0jaB74ReztNxG5hXjby26S1lN+evHKtsy2cB2vbWH2eHqSZkl8EGbLZJrqDsHwDKxTNTwB/oMSg==}
+
+ '@milkdown/plugin-slash@7.19.0':
+ resolution: {integrity: sha512-mdcqxOC9voMHKBScCGZjtSU6xTd6/Z6Oc7XsTQ5Yc0XqRgqcYAL3ti/1dtP2BMy8zXu/pHegatOzGWO9DlrcUQ==}
+
+ '@milkdown/plugin-tooltip@7.19.0':
+ resolution: {integrity: sha512-2HBiMgQ3aY/jdbxRRAbUkglk+PACCNGL7AERssRhr3G3Ph+eNwJYpK6VN7eHsUyDbFSP0koS7npr6U2kZWThFg==}
+
+ '@milkdown/plugin-trailing@7.19.0':
+ resolution: {integrity: sha512-VbAqrvZq4S0kFVipuNmM+Qg8PvvT6SUXhRCMWzM0tX1I7H6Lie+oT/G5bpNPSKh7BNi7pbCllLGi0/L88vSzSw==}
+
+ '@milkdown/plugin-upload@7.19.0':
+ resolution: {integrity: sha512-dAcxLf8TvCljgrRUa65lV3MYA5HAmCOjVHS0CzKCfC568T4eg3K2kSbr+EFEYCSR7vCbLjm/o9F4kI4qaWmAAw==}
+
+ '@milkdown/preset-commonmark@7.19.0':
+ resolution: {integrity: sha512-8rPEd4S3ny5wuFJvnZdieedKxFeW3KU5Rz54LYhA/nYPG+tE9q5lqDs0ZzHNoJdXMiLWbNf/dd0QokHVNlbQLQ==}
+
+ '@milkdown/preset-gfm@7.19.0':
+ resolution: {integrity: sha512-wW5ShJUhIaWNnbtv4IjV+xh9TvVId+Lm8CAurUs2E1nBX2N5wHTzzl2/9WOTt/g4u49e64rJewkwZJri8MPy7g==}
+
+ '@milkdown/prose@7.19.0':
+ resolution: {integrity: sha512-T/uYqSr4YT4uZtu4nBxTWyvZhVs2Lzh9qpcYH81PVwtZUT3b57+e+39s1D7UKAwFGi0qB7qZu/53l6pcw8radg==}
+
+ '@milkdown/react@7.19.0':
+ resolution: {integrity: sha512-rtvnM2tC8A0IAzkG2u7XYPNtN08Yek+z9AHUbf4SRyVbXsOCTRSZxA7FEGul1iLl6TUz4oU8tQnMHPH4iWXBtA==}
+ peerDependencies:
+ react: '*'
+ react-dom: '*'
+
+ '@milkdown/theme-nord@7.19.0':
+ resolution: {integrity: sha512-TBbUuAJT8wiw3wZVVpDuA0U+UmNUulRgdtXnu72y2QNHdMLmYalw0Yjfx11cDEB52/Ld/z+xHuRvPNf30OSMjw==}
+
+ '@milkdown/transformer@7.19.0':
+ resolution: {integrity: sha512-Ui1vwbyTd1nAaieTylI8ibNbXSAxygkiFjkwOPGO5w0Eu7leH+0hVrbeGUCSzYdJfjGsN537CYu/8kvLIR+lQg==}
+
+ '@milkdown/utils@7.19.0':
+ resolution: {integrity: sha512-aIu8j7TypVn+4ZWgrIUjpljIulAVwNERWNZgkfYLQLOv+BbF1gIbpoB7t3w0RD2EeENrEu0P3J0Sl5LDMbyDRQ==}
+
'@nodelib/fs.scandir@2.1.5':
resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
engines: {node: '>= 8'}
@@ -1129,6 +1472,9 @@ packages:
resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
engines: {node: '>= 8'}
+ '@ocavue/utils@1.5.0':
+ resolution: {integrity: sha512-zYOKnvUm8IQ86tNCrpUVBT0lEvoKvyf+9pPS7M4VDB8O1o+msaPMsb/xZx/w5hpcuN1dfehJrkY41ZcdGZpyqg==}
+
'@pkgr/core@0.1.1':
resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==}
engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
@@ -1148,6 +1494,15 @@ packages:
'@probe.gl/stats@3.6.0':
resolution: {integrity: sha512-JdALQXB44OP4kUBN/UrQgzbJe4qokbVF4Y8lkIA8iVCFnjVowWIgkD/z/0QO65yELT54tTrtepw1jScjKB+rhQ==}
+ '@prosemirror-adapter/core@0.2.6':
+ resolution: {integrity: sha512-7GXWQBR/bd6ngvek8SgtlEVC0x3KL7LKZ5cxyZl4IBAlRDbITQWsuKLChEXNan9A6+9Ry4a46crbDGTQlzooOg==}
+
+ '@prosemirror-adapter/react@0.2.6':
+ resolution: {integrity: sha512-JdDqAJV7FnRyIlnXPP+E0Iu80BQPvHeB+7c0ZfdcHLfVb2BLTNHk6iOoqJmBJmqqHt/KjxXXTmxRUS4EEsjVlg==}
+ peerDependencies:
+ react: '*'
+ react-dom: '*'
+
'@rc-component/async-validator@5.0.4':
resolution: {integrity: sha512-qgGdcVIF604M9EqjNF0hbUTz42bz/RDtxWdWuU5EQe3hi7M8ob54B6B35rOsvX5eSvIHIzT9iH1R3n+hk3CGfg==}
engines: {node: '>=14.x'}
@@ -1216,6 +1571,36 @@ packages:
resolution: {integrity: sha512-baiMx18+IMuD1yyvOGaHM9QrVUPGGG0jC+z+IPHnRJWUAUvaKuWKyE8gjDj2rzv3sz9zOGoRSPgeBVHRhZnBlA==}
engines: {node: '>=14.0.0'}
+ '@rjsf/antd@5.24.13':
+ resolution: {integrity: sha512-UiWE8xoBxxCoe/SEkdQEmL5E6z3I1pw0+y0dTyGt8SHfAxxFc4/OWn7tKOAiNsKCXgf83t0JKn6CHWLD01sAdQ==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@ant-design/icons': ^4.0.0 || ^5.0.0
+ '@rjsf/core': ^5.24.x
+ '@rjsf/utils': ^5.24.x
+ antd: ^4.24.0 || ^5.8.5
+ dayjs: ^1.8.0
+ react: ^16.14.0 || >=17
+
+ '@rjsf/core@5.24.13':
+ resolution: {integrity: sha512-ONTr14s7LFIjx2VRFLuOpagL76sM/HPy6/OhdBfq6UukINmTIs6+aFN0GgcR0aXQHFDXQ7f/fel0o/SO05Htdg==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@rjsf/utils': ^5.24.x
+ react: ^16.14.0 || >=17
+
+ '@rjsf/utils@5.24.13':
+ resolution: {integrity: sha512-rNF8tDxIwTtXzz5O/U23QU73nlhgQNYJ+Sv5BAwQOIyhIE2Z3S5tUiSVMwZHt0julkv/Ryfwi+qsD4FiE5rOuw==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ react: ^16.14.0 || >=17
+
+ '@rjsf/validator-ajv8@5.24.13':
+ resolution: {integrity: sha512-oWHP7YK581M8I5cF1t+UXFavnv+bhcqjtL1a7MG/Kaffi0EwhgcYjODrD8SsnrhncsEYMqSECr4ZOEoirnEUWw==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@rjsf/utils': ^5.24.x
+
'@rollup/pluginutils@5.1.2':
resolution: {integrity: sha512-/FIdS3PyZ39bjZlwqFnWqCOVnW7o963LtKMwQOD0NhQqw22gSr2YY1afu3FxRip4ZCZNsD5jq6Aaz6QV3D/Njw==}
engines: {node: '>=14.0.0'}
@@ -1305,14 +1690,58 @@ packages:
cpu: [x64]
os: [win32]
+ '@shikijs/core@3.23.0':
+ resolution: {integrity: sha512-NSWQz0riNb67xthdm5br6lAkvpDJRTgB36fxlo37ZzM2yq0PQFFzbd8psqC2XMPgCzo1fW6cVi18+ArJ44wqgA==}
+
+ '@shikijs/engine-javascript@3.23.0':
+ resolution: {integrity: sha512-aHt9eiGFobmWR5uqJUViySI1bHMqrAgamWE1TYSUoftkAeCCAiGawPMwM+VCadylQtF4V3VNOZ5LmfItH5f3yA==}
+
+ '@shikijs/engine-oniguruma@3.23.0':
+ resolution: {integrity: sha512-1nWINwKXxKKLqPibT5f4pAFLej9oZzQTsby8942OTlsJzOBZ0MWKiwzMsd+jhzu8YPCHAswGnnN1YtQfirL35g==}
+
+ '@shikijs/langs@3.23.0':
+ resolution: {integrity: sha512-2Ep4W3Re5aB1/62RSYQInK9mM3HsLeB91cHqznAJMuylqjzNVAVCMnNWRHFtcNHXsoNRayP9z1qj4Sq3nMqYXg==}
+
+ '@shikijs/themes@3.23.0':
+ resolution: {integrity: sha512-5qySYa1ZgAT18HR/ypENL9cUSGOeI2x+4IvYJu4JgVJdizn6kG4ia5Q1jDEOi7gTbN4RbuYtmHh0W3eccOrjMA==}
+
+ '@shikijs/types@3.23.0':
+ resolution: {integrity: sha512-3JZ5HXOZfYjsYSk0yPwBrkupyYSLpAE26Qc0HLghhZNGTZg/SKxXIIgoxOpmmeQP0RRSDJTk1/vPfw9tbw+jSQ==}
+
+ '@shikijs/vscode-textmate@10.0.2':
+ resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==}
+
'@sindresorhus/is@0.14.0':
resolution: {integrity: sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==}
engines: {node: '>=6'}
+ '@streamdown/code@1.0.3':
+ resolution: {integrity: sha512-3Ym5TCLcGhrHY2qBaUVWpqNRtxnZvqh4Y5Qm/pTIKA4AmEWwAAoYjZnxG7mOsvOpWVWiDwETjUtchNL1XzQEAw==}
+ peerDependencies:
+ react: ^18.0.0 || ^19.0.0
+
+ '@streamdown/math@1.0.2':
+ resolution: {integrity: sha512-r8Ur9/lBuFnzZAFdEWrLUF2s/gRwRRRwruqltdZibyjbCBnuW7SJbFm26nXqvpJPW/gzpBUMrBVBzd88z05D5g==}
+ peerDependencies:
+ react: ^18.0.0 || ^19.0.0
+
+ '@streamdown/mermaid@1.0.2':
+ resolution: {integrity: sha512-Fr/4sBWnAeSnxM3PcrV/+DiZe5oPMq9gOkUIAH7ZauJeuwrZ/DVzD4g0zlav6AH0axh2m/sOfrfLtY5aLT7niw==}
+ peerDependencies:
+ react: ^18.0.0 || ^19.0.0
+
'@szmarczak/http-timer@1.1.2':
resolution: {integrity: sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==}
engines: {node: '>=6'}
+ '@tanstack/query-core@5.95.0':
+ resolution: {integrity: sha512-H1/CWCe8tGL3YIVeo770Z6kPbt0B3M1d/iQXIIK1qlFiFt6G2neYdkHgLapOC8uMYNt9DmHjmGukEKgdMk1P+A==}
+
+ '@tanstack/react-query@5.95.0':
+ resolution: {integrity: sha512-EMP8B+BK9zvnAemT8M/y3z/WO0NjZ7fIUY3T3wnHYK6AA3qK/k33i7tPgCXCejhX0cd4I6bJIXN2GmjrHjDBzg==}
+ peerDependencies:
+ react: ^18 || ^19
+
'@turf/bbox-polygon@6.5.0':
resolution: {integrity: sha512-+/r0NyL1lOG3zKZmmf6L8ommU07HliP4dgYToMoTxqzsWzyLjaj/OzgQ8rBmv703WJX+aS6yCmLuIhYqyufyuw==}
@@ -1352,9 +1781,99 @@ packages:
'@types/conventional-commits-parser@5.0.0':
resolution: {integrity: sha512-loB369iXNmAZglwWATL+WRe+CRMmmBPtpolYzIebFaX4YA3x+BEfLqhUAV9WanycKI3TG1IMr5bMJDajDKLlUQ==}
+ '@types/d3-array@3.2.2':
+ resolution: {integrity: sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw==}
+
+ '@types/d3-axis@3.0.6':
+ resolution: {integrity: sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==}
+
+ '@types/d3-brush@3.0.6':
+ resolution: {integrity: sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==}
+
+ '@types/d3-chord@3.0.6':
+ resolution: {integrity: sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==}
+
+ '@types/d3-color@3.1.3':
+ resolution: {integrity: sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==}
+
+ '@types/d3-contour@3.0.6':
+ resolution: {integrity: sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==}
+
+ '@types/d3-delaunay@6.0.4':
+ resolution: {integrity: sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==}
+
+ '@types/d3-dispatch@3.0.7':
+ resolution: {integrity: sha512-5o9OIAdKkhN1QItV2oqaE5KMIiXAvDWBDPrD85e58Qlz1c1kI/J0NcqbEG88CoTwJrYe7ntUCVfeUl2UJKbWgA==}
+
+ '@types/d3-drag@3.0.7':
+ resolution: {integrity: sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==}
+
+ '@types/d3-dsv@3.0.7':
+ resolution: {integrity: sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==}
+
+ '@types/d3-ease@3.0.2':
+ resolution: {integrity: sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==}
+
+ '@types/d3-fetch@3.0.7':
+ resolution: {integrity: sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==}
+
+ '@types/d3-force@3.0.10':
+ resolution: {integrity: sha512-ZYeSaCF3p73RdOKcjj+swRlZfnYpK1EbaDiYICEEp5Q6sUiqFaFQ9qgoshp5CzIyyb/yD09kD9o2zEltCexlgw==}
+
+ '@types/d3-format@3.0.4':
+ resolution: {integrity: sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==}
+
+ '@types/d3-geo@3.1.0':
+ resolution: {integrity: sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==}
+
+ '@types/d3-hierarchy@3.1.7':
+ resolution: {integrity: sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg==}
+
+ '@types/d3-interpolate@3.0.4':
+ resolution: {integrity: sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==}
+
+ '@types/d3-path@3.1.1':
+ resolution: {integrity: sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==}
+
+ '@types/d3-polygon@3.0.2':
+ resolution: {integrity: sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==}
+
+ '@types/d3-quadtree@3.0.6':
+ resolution: {integrity: sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==}
+
+ '@types/d3-random@3.0.3':
+ resolution: {integrity: sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==}
+
+ '@types/d3-scale-chromatic@3.1.0':
+ resolution: {integrity: sha512-iWMJgwkK7yTRmWqRB5plb1kadXyQ5Sj8V/zYlFGMUBbIPKQScw+Dku9cAAMgJG+z5GYDoMjWGLVOvjghDEFnKQ==}
+
+ '@types/d3-scale@4.0.9':
+ resolution: {integrity: sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==}
+
+ '@types/d3-selection@3.0.11':
+ resolution: {integrity: sha512-bhAXu23DJWsrI45xafYpkQ4NtcKMwWnAC/vKrd2l+nxMFuvOT3XMYTIj2opv8vq8AO5Yh7Qac/nSeP/3zjTK0w==}
+
+ '@types/d3-shape@3.1.8':
+ resolution: {integrity: sha512-lae0iWfcDeR7qt7rA88BNiqdvPS5pFVPpo5OfjElwNaT2yyekbM0C9vK+yqBqEmHr6lDkRnYNoTBYlAgJa7a4w==}
+
+ '@types/d3-time-format@4.0.3':
+ resolution: {integrity: sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==}
+
+ '@types/d3-time@3.0.4':
+ resolution: {integrity: sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==}
+
'@types/d3-timer@2.0.3':
resolution: {integrity: sha512-jhAJzaanK5LqyLQ50jJNIrB8fjL9gwWZTgYjevPvkDLMU+kTAZkYsobI59nYoeSrH1PucuyJEi247Pb90t6XUg==}
+ '@types/d3-transition@3.0.9':
+ resolution: {integrity: sha512-uZS5shfxzO3rGlu0cC3bjmMFKsXv+SmZZcgp0KD22ts4uGXp5EVYGzu/0YdwZeKmddhcAccYtREJKkPfXkZuCg==}
+
+ '@types/d3-zoom@3.0.8':
+ resolution: {integrity: sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==}
+
+ '@types/d3@7.4.3':
+ resolution: {integrity: sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==}
+
'@types/debug@4.1.12':
resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==}
@@ -1390,9 +1909,15 @@ packages:
'@types/json5@0.0.29':
resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==}
+ '@types/katex@0.16.8':
+ resolution: {integrity: sha512-trgaNyfU+Xh2Tc+ABIb44a5AYUpicB3uwirOioeOkNPPbmgRNtcWyDeeFRzjPZENO9Vq8gvVqfhaaXWLlevVwg==}
+
'@types/keyv@3.1.4':
resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==}
+ '@types/lodash-es@4.17.12':
+ resolution: {integrity: sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==}
+
'@types/lodash@4.17.10':
resolution: {integrity: sha512-YpS0zzoduEhuOWjAotS6A5AVCva7X4lVlYLF0FYHAY9sdraBfnatttHItlWeZdGhuEkf+OzMNg2ZYAx8t+52uQ==}
@@ -1449,6 +1974,9 @@ packages:
'@types/supercluster@7.1.3':
resolution: {integrity: sha512-Z0pOY34GDFl3Q6hUFYf3HkTwKEE02e7QgtJppBt+beEAxnyOpJua+voGFvxINBHa06GwLFFym7gRPY2SiKIfIA==}
+ '@types/trusted-types@2.0.7':
+ resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==}
+
'@types/unist@2.0.11':
resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==}
@@ -1635,6 +2163,35 @@ packages:
'@viz-js/viz@3.7.0':
resolution: {integrity: sha512-+nZ5LWe09ypRDk43pDU09wLW80kLAEonM7xES4s6AWiCUfAy5Vb+rxnQ3hKw79ptdaHJsyNIfwnzpEFtfMIyGA==}
+ '@vue/compiler-core@3.5.29':
+ resolution: {integrity: sha512-cuzPhD8fwRHk8IGfmYaR4eEe4cAyJEL66Ove/WZL7yWNL134nqLddSLwNRIsFlnnW1kK+p8Ck3viFnC0chXCXw==}
+
+ '@vue/compiler-dom@3.5.29':
+ resolution: {integrity: sha512-n0G5o7R3uBVmVxjTIYcz7ovr8sy7QObFG8OQJ3xGCDNhbG60biP/P5KnyY8NLd81OuT1WJflG7N4KWYHaeeaIg==}
+
+ '@vue/compiler-sfc@3.5.29':
+ resolution: {integrity: sha512-oJZhN5XJs35Gzr50E82jg2cYdZQ78wEwvRO6Y63TvLVTc+6xICzJHP1UIecdSPPYIbkautNBanDiWYa64QSFIA==}
+
+ '@vue/compiler-ssr@3.5.29':
+ resolution: {integrity: sha512-Y/ARJZE6fpjzL5GH/phJmsFwx3g6t2KmHKHx5q+MLl2kencADKIrhH5MLF6HHpRMmlRAYBRSvv347Mepf1zVNw==}
+
+ '@vue/reactivity@3.5.29':
+ resolution: {integrity: sha512-zcrANcrRdcLtmGZETBxWqIkoQei8HaFpZWx/GHKxx79JZsiZ8j1du0VUJtu4eJjgFvU/iKL5lRXFXksVmI+5DA==}
+
+ '@vue/runtime-core@3.5.29':
+ resolution: {integrity: sha512-8DpW2QfdwIWOLqtsNcds4s+QgwSaHSJY/SUe04LptianUQ/0xi6KVsu/pYVh+HO3NTVvVJjIPL2t6GdeKbS4Lg==}
+
+ '@vue/runtime-dom@3.5.29':
+ resolution: {integrity: sha512-AHvvJEtcY9tw/uk+s/YRLSlxxQnqnAkjqvK25ZiM4CllCZWzElRAoQnCM42m9AHRLNJ6oe2kC5DCgD4AUdlvXg==}
+
+ '@vue/server-renderer@3.5.29':
+ resolution: {integrity: sha512-G/1k6WK5MusLlbxSE2YTcqAAezS+VuwHhOvLx2KnQU7G2zCH6KIb+5Wyt6UjMq7a3qPzNEjJXs1hvAxDclQH+g==}
+ peerDependencies:
+ vue: 3.5.29
+
+ '@vue/shared@3.5.29':
+ resolution: {integrity: sha512-w7SR0A5zyRByL9XUkCfdLs7t9XOHUyJ67qPGQjOou3p6GvBeBW+AVjUUmlxtZ4PIYaRvE+1LmK44O4uajlZwcg==}
+
'@webgpu/glslang@0.0.15':
resolution: {integrity: sha512-niT+Prh3Aff8Uf1MVBVUsaNjFj9rJAKDXuoHIKiQbB+6IUP/3J3JIhBNyZ7lDhytvXxw6ppgnwKZdDJ08UMj4Q==}
@@ -1667,8 +2224,8 @@ packages:
engines: {node: '>=0.4.0'}
hasBin: true
- acorn@8.14.0:
- resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==}
+ acorn@8.16.0:
+ resolution: {integrity: sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==}
engines: {node: '>=0.4.0'}
hasBin: true
@@ -1681,6 +2238,14 @@ packages:
peerDependencies:
react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ ajv-formats@2.1.1:
+ resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==}
+ peerDependencies:
+ ajv: ^8.0.0
+ peerDependenciesMeta:
+ ajv:
+ optional: true
+
ajv@6.12.6:
resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
@@ -2060,6 +2625,14 @@ packages:
chardet@0.7.0:
resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==}
+ chevrotain-allstar@0.3.1:
+ resolution: {integrity: sha512-b7g+y9A0v4mxCW1qUhf3BSVPg+/NvGErk/dOkrDaHA0nQIQGAtrOjlX//9OQtRlSCy+x9rfB5N8yC71lH1nvMw==}
+ peerDependencies:
+ chevrotain: ^11.0.0
+
+ chevrotain@11.1.2:
+ resolution: {integrity: sha512-opLQzEVriiH1uUQ4Kctsd49bRoFDXGGSC4GUqj7pGyxM3RehRhvTlZJc1FL/Flew2p5uwxa1tUDWKzI4wNM8pg==}
+
chokidar@3.6.0:
resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
engines: {node: '>= 8.10.0'}
@@ -2129,9 +2702,16 @@ packages:
resolution: {integrity: sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==}
engines: {node: '>=6'}
+ clsx@2.1.1:
+ resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==}
+ engines: {node: '>=6'}
+
codemirror@5.65.18:
resolution: {integrity: sha512-Gaz4gHnkbHMGgahNt3CA5HBk5lLQBqmD/pBgeB4kQU6OedZmqMBjlRF0LSrp2tJ4wlLNPm2FfaUd1pDy0mdlpA==}
+ codemirror@6.0.2:
+ resolution: {integrity: sha512-VhydHotNW5w1UGK0Qj96BwSk/Zqbp9WbnyK2W/eVMv4QyF41INRGpjUhFJY7/uDNuudSc33a/PKr4iDqRduvHw==}
+
color-convert@1.9.3:
resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
@@ -2171,6 +2751,14 @@ packages:
commander@2.20.3:
resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
+ commander@7.2.0:
+ resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==}
+ engines: {node: '>= 10'}
+
+ commander@8.3.0:
+ resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==}
+ engines: {node: '>= 12'}
+
comment-json@2.4.2:
resolution: {integrity: sha512-T+iXox779qsqneMYx/x5BZyz4xjCeQRmuNVzz8tko7qZUs3MlzpA3RAs+O1XsgcKToNBMIvfVzafGOeiU7RggA==}
engines: {node: '>= 6'}
@@ -2183,6 +2771,12 @@ packages:
compare-func@2.0.0:
resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==}
+ compute-gcd@1.2.1:
+ resolution: {integrity: sha512-TwMbxBNz0l71+8Sc4czv13h4kEqnchV9igQZBi6QUaz09dnz13juGnnaWWJTRsP3brxOoxeB4SA2WELLw1hCtg==}
+
+ compute-lcm@1.1.2:
+ resolution: {integrity: sha512-OFNPdQAXnQhDSKioX8/XYT6sdUlXwpeMjfd6ApxMJfyZ4GxmLR1xvMERctlYhlHwIiz6CSpBc2+qYKjHGZw4TQ==}
+
compute-scroll-into-view@3.1.0:
resolution: {integrity: sha512-rj8l8pD4bJ1nx+dAkMhV1xB5RuZEyVysfxJqB1pRchh1KVvwOv9b7CGB8ZfjTImVv2oF+sYMUkMZq6Na5Ftmbg==}
@@ -2238,6 +2832,12 @@ packages:
core-util-is@1.0.3:
resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
+ cose-base@1.0.3:
+ resolution: {integrity: sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==}
+
+ cose-base@2.2.0:
+ resolution: {integrity: sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==}
+
cosmiconfig-typescript-loader@5.0.0:
resolution: {integrity: sha512-+8cK7jRAReYkMwMiG+bxhcNKiHJDM6bR9FD/nGBXOWdMLuYawjF5cGrtLilJ+LGd3ZjCXnJjR5DkfWPoIVlqJA==}
engines: {node: '>=v16'}
@@ -2267,6 +2867,9 @@ packages:
resolution: {integrity: sha512-gYTKKexFO3kh200H1Nit76sRwRtOY32vQd3jpAQKpLtZqyNsSQNfI4N7o3eP2wUjV35pTWKRYqFUDBvUha/Pkw==}
engines: {node: '>=0.10.0'}
+ crelt@1.0.6:
+ resolution: {integrity: sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==}
+
cross-fetch@3.1.8:
resolution: {integrity: sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==}
@@ -2311,6 +2914,23 @@ packages:
csstype@3.1.3:
resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
+ csstype@3.2.3:
+ resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==}
+
+ cytoscape-cose-bilkent@4.1.0:
+ resolution: {integrity: sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==}
+ peerDependencies:
+ cytoscape: ^3.2.0
+
+ cytoscape-fcose@2.2.0:
+ resolution: {integrity: sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ==}
+ peerDependencies:
+ cytoscape: ^3.2.0
+
+ cytoscape@3.33.1:
+ resolution: {integrity: sha512-iJc4TwyANnOGR1OmWhsS9ayRS3s+XQ185FmuHObThD+5AeJCakAAbWv8KimMTt08xCCLNgneQwFp+JRJOr9qGQ==}
+ engines: {node: '>=0.10'}
+
cz-conventional-changelog@3.3.0:
resolution: {integrity: sha512-U466fIzU5U22eES5lTNiNbZ+d8dfcHcssH4o7QsdWaCcRs/feIPCxKYSWkYBNs5mny7MvEfwpTLWjvbm94hecw==}
engines: {node: '>= 10'}
@@ -2325,6 +2945,22 @@ packages:
d3-array@2.12.1:
resolution: {integrity: sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==}
+ d3-array@3.2.4:
+ resolution: {integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==}
+ engines: {node: '>=12'}
+
+ d3-axis@3.0.0:
+ resolution: {integrity: sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==}
+ engines: {node: '>=12'}
+
+ d3-brush@3.0.0:
+ resolution: {integrity: sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==}
+ engines: {node: '>=12'}
+
+ d3-chord@3.0.1:
+ resolution: {integrity: sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==}
+ engines: {node: '>=12'}
+
d3-cloud@1.2.7:
resolution: {integrity: sha512-8TrgcgwRIpoZYQp7s3fGB7tATWfhckRb8KcVd1bOgqkNdkJRDGWfdSf4HkHHzZxSczwQJdSxvfPudwir5IAJ3w==}
@@ -2344,25 +2980,62 @@ packages:
d3-composite-projections@1.4.0:
resolution: {integrity: sha512-csygyxdRfy7aUYRPea23veM6sjisdHI+DNd0nHcAGMd2LyL2lklr+xLRzHiJ+hy1HGp6YgAtbqdJR8CsLolrNQ==}
+ d3-contour@4.0.2:
+ resolution: {integrity: sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==}
+ engines: {node: '>=12'}
+
+ d3-delaunay@6.0.4:
+ resolution: {integrity: sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==}
+ engines: {node: '>=12'}
+
d3-dispatch@1.0.6:
resolution: {integrity: sha512-fVjoElzjhCEy+Hbn8KygnmMS7Or0a9sI2UzGwoB7cCtvI1XpVN9GpoYlnb3xt2YV66oXYb1fLJ8GMvP4hdU1RA==}
+ d3-dispatch@3.0.1:
+ resolution: {integrity: sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==}
+ engines: {node: '>=12'}
+
+ d3-drag@3.0.0:
+ resolution: {integrity: sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==}
+ engines: {node: '>=12'}
+
d3-dsv@1.2.0:
resolution: {integrity: sha512-9yVlqvZcSOMhCYzniHE7EVUws7Fa1zgw+/EAV2BxJoG3ME19V6BQFBwI855XQDsxyOuG7NibqRMTtiF/Qup46g==}
hasBin: true
+ d3-dsv@3.0.1:
+ resolution: {integrity: sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==}
+ engines: {node: '>=12'}
+ hasBin: true
+
d3-ease@1.0.7:
resolution: {integrity: sha512-lx14ZPYkhNx0s/2HX5sLFUI3mbasHjSSpwO/KaaNACweVwxUruKyWVcb293wMv1RqTPZyZ8kSZ2NogUZNcLOFQ==}
+ d3-ease@3.0.1:
+ resolution: {integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==}
+ engines: {node: '>=12'}
+
+ d3-fetch@3.0.1:
+ resolution: {integrity: sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==}
+ engines: {node: '>=12'}
+
d3-force@2.1.1:
resolution: {integrity: sha512-nAuHEzBqMvpFVMf9OX75d00OxvOXdxY+xECIXjW6Gv8BRrXu6gAWbv/9XKrvfJ5i5DCokDW7RYE50LRoK092ew==}
+ d3-force@3.0.0:
+ resolution: {integrity: sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==}
+ engines: {node: '>=12'}
+
d3-format@1.4.5:
resolution: {integrity: sha512-J0piedu6Z8iB6TbIGfZgDzfXxUFN3qQRMofy2oPdXzQibYGqPB/9iMcxr/TGalU+2RsyDO+U4f33id8tbnSRMQ==}
d3-format@2.0.0:
resolution: {integrity: sha512-Ab3S6XuE/Q+flY96HXT0jOXcM4EAClYFnRGY5zsjRGNy6qCYrQsMffs7cV5Q9xejb35zxW5hf/guKw34kvIKsA==}
+ d3-format@3.1.2:
+ resolution: {integrity: sha512-AJDdYOdnyRDV5b6ArilzCPPwc1ejkHcoyFarqlPqT7zRYjhavcT3uSrqcMvsgh2CgoPbK3RCwyHaVyxYcP2Arg==}
+ engines: {node: '>=12'}
+
d3-geo-projection@2.1.2:
resolution: {integrity: sha512-zft6RRvPaB1qplTodBVcSH5Ftvmvvg0qoDiqpt+fyNthGr/qr+DD30cizNDluXjW7jmo7EKUTjvFCAHofv08Ow==}
hasBin: true
@@ -2373,6 +3046,10 @@ packages:
d3-geo@2.0.2:
resolution: {integrity: sha512-8pM1WGMLGFuhq9S+FpPURxic+gKzjluCD/CHTuUF3mXMeiCo0i6R0tO1s4+GArRFde96SLcW/kOFRjoAosPsFA==}
+ d3-geo@3.1.1:
+ resolution: {integrity: sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==}
+ engines: {node: '>=12'}
+
d3-hexbin@0.2.2:
resolution: {integrity: sha512-KS3fUT2ReD4RlGCjvCEm1RgMtp2NFZumdMu4DBzQK8AZv3fXRM6Xm8I4fSU07UXvH4xxg03NwWKWdvxfS/yc4w==}
@@ -2385,6 +3062,10 @@ packages:
d3-hierarchy@2.0.0:
resolution: {integrity: sha512-SwIdqM3HxQX2214EG9GTjgmCc/mbSx4mQBn+DuEETubhOw6/U3fmnji4uCVrmzOydMHSO1nZle5gh6HB/wdOzw==}
+ d3-hierarchy@3.1.2:
+ resolution: {integrity: sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==}
+ engines: {node: '>=12'}
+
d3-interpolate@1.4.0:
resolution: {integrity: sha512-V9znK0zc3jOPV4VD2zZn0sDhZU3WAE2bmlxdIwwQPPzPjvyLkd8B3JUVdS1IDUFDkWZ72c9qnv1GK2ZagTZ8EA==}
@@ -2401,51 +3082,115 @@ packages:
d3-path@2.0.0:
resolution: {integrity: sha512-ZwZQxKhBnv9yHaiWd6ZU4x5BtCQ7pXszEV9CU6kRgwIQVQGLMv1oiL4M+MK/n79sYzsj+gcgpPQSctJUsLN7fA==}
+ d3-path@3.1.0:
+ resolution: {integrity: sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==}
+ engines: {node: '>=12'}
+
+ d3-polygon@3.0.1:
+ resolution: {integrity: sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==}
+ engines: {node: '>=12'}
+
d3-quadtree@2.0.0:
resolution: {integrity: sha512-b0Ed2t1UUalJpc3qXzKi+cPGxeXRr4KU9YSlocN74aTzp6R/Ud43t79yLLqxHRWZfsvWXmbDWPpoENK1K539xw==}
+ d3-quadtree@3.0.1:
+ resolution: {integrity: sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==}
+ engines: {node: '>=12'}
+
+ d3-random@3.0.1:
+ resolution: {integrity: sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==}
+ engines: {node: '>=12'}
+
d3-regression@1.3.10:
resolution: {integrity: sha512-PF8GWEL70cHHWpx2jUQXc68r1pyPHIA+St16muk/XRokETzlegj5LriNKg7o4LR0TySug4nHYPJNNRz/W+/Niw==}
+ d3-sankey@0.12.3:
+ resolution: {integrity: sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==}
+
d3-sankey@0.9.1:
resolution: {integrity: sha512-nnRkDaUMjBdeuGg+kWGdA+tjG1AVTnJ+Ykw7ff7CZHVI17Hm5sy8n0UXykVffn13aNHwK5wPOdOt1gS1ZEaF+A==}
d3-scale-chromatic@1.5.0:
resolution: {integrity: sha512-ACcL46DYImpRFMBcpk9HhtIyC7bTBR4fNOPxwVSl0LfulDAwyiHyPOTqcDG1+t5d4P9W7t/2NAuWu59aKko/cg==}
+ d3-scale-chromatic@3.1.0:
+ resolution: {integrity: sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==}
+ engines: {node: '>=12'}
+
d3-scale@2.2.2:
resolution: {integrity: sha512-LbeEvGgIb8UMcAa0EATLNX0lelKWGYDQiPdHj+gLblGVhGLyNbaCn3EvrJf0A3Y/uOOU5aD6MTh5ZFCdEwGiCw==}
d3-scale@3.3.0:
resolution: {integrity: sha512-1JGp44NQCt5d1g+Yy+GeOnZP7xHo0ii8zsQp6PGzd+C1/dl0KGsp9A7Mxwp+1D1o4unbTTxVdU/ZOIEBoeZPbQ==}
+ d3-scale@4.0.2:
+ resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==}
+ engines: {node: '>=12'}
+
d3-selection@1.4.2:
resolution: {integrity: sha512-SJ0BqYihzOjDnnlfyeHT0e30k0K1+5sR3d5fNueCNeuhZTnGw4M4o8mqJchSwgKMXCNFo+e2VTChiSJ0vYtXkg==}
+ d3-selection@3.0.0:
+ resolution: {integrity: sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==}
+ engines: {node: '>=12'}
+
d3-shape@1.3.7:
resolution: {integrity: sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==}
+ d3-shape@3.2.0:
+ resolution: {integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==}
+ engines: {node: '>=12'}
+
d3-time-format@2.3.0:
resolution: {integrity: sha512-guv6b2H37s2Uq/GefleCDtbe0XZAuy7Wa49VGkPVPMfLL9qObgBST3lEHJBMUp8S7NdLQAGIvr2KXk8Hc98iKQ==}
d3-time-format@3.0.0:
resolution: {integrity: sha512-UXJh6EKsHBTjopVqZBhFysQcoXSv/5yLONZvkQ5Kk3qbwiUYkdX17Xa1PT6U1ZWXGGfB1ey5L8dKMlFq2DO0Ag==}
+ d3-time-format@4.1.0:
+ resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==}
+ engines: {node: '>=12'}
+
d3-time@1.1.0:
resolution: {integrity: sha512-Xh0isrZ5rPYYdqhAVk8VLnMEidhz5aP7htAADH6MfzgmmicPkTo8LhkLxci61/lCB7n7UmE3bN0leRt+qvkLxA==}
d3-time@2.1.1:
resolution: {integrity: sha512-/eIQe/eR4kCQwq7yxi7z4c6qEXf2IYGcjoWB5OOQy4Tq9Uv39/947qlDcN2TLkiTzQWzvnsuYPB9TrWaNfipKQ==}
+ d3-time@3.1.0:
+ resolution: {integrity: sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==}
+ engines: {node: '>=12'}
+
d3-timer@1.0.10:
resolution: {integrity: sha512-B1JDm0XDaQC+uvo4DT79H0XmBskgS3l6Ve+1SBCfxgmtIb1AVrPIoqd+nPSv+loMX8szQ0sVUhGngL7D5QPiXw==}
- d3-transition@1.3.2:
+ d3-timer@3.0.1:
+ resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==}
+ engines: {node: '>=12'}
+
+ d3-transition@1.3.2:
resolution: {integrity: sha512-sc0gRU4PFqZ47lPVHloMn9tlPcv8jxgOQg+0zjhfZXMQuvppjG6YuwdMBE0TuqCZjeJkLecku/l9R0JPcRhaDA==}
+ d3-transition@3.0.1:
+ resolution: {integrity: sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==}
+ engines: {node: '>=12'}
+ peerDependencies:
+ d3-selection: 2 - 3
+
d3-voronoi@1.1.4:
resolution: {integrity: sha512-dArJ32hchFsrQ8uMiTBLq256MpnZjeuBtdHpaDlYuQyjU0CVzCJl/BVW+SkszaAeH95D/8gxqAhgx0ouAWAfRg==}
+ d3-zoom@3.0.0:
+ resolution: {integrity: sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==}
+ engines: {node: '>=12'}
+
+ d3@7.9.0:
+ resolution: {integrity: sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==}
+ engines: {node: '>=12'}
+
+ dagre-d3-es@7.0.13:
+ resolution: {integrity: sha512-efEhnxpSuwpYOKRm/L5KbqoZmNNukHa/Flty4Wp62JRvgH2ojwVgPgdYyr4twpieZnyRDdIH7PY2mopX26+j2Q==}
+
dagre@0.8.5:
resolution: {integrity: sha512-/aTqmnRta7x7MCCpExk7HQL2O4owCT2h8NT//9I1OQ9vt29Pa0BzSAkR5lwFUcQ7491yVi/3CXU9jQ5o0Mn2Sw==}
@@ -2465,9 +3210,16 @@ packages:
resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==}
engines: {node: '>= 0.4'}
+ date-fns@2.30.0:
+ resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==}
+ engines: {node: '>=0.11'}
+
dayjs@1.11.13:
resolution: {integrity: sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==}
+ dayjs@1.11.19:
+ resolution: {integrity: sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==}
+
debug@3.2.7:
resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
peerDependencies:
@@ -2530,6 +3282,9 @@ packages:
defu@6.1.4:
resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==}
+ delaunator@5.0.1:
+ resolution: {integrity: sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==}
+
delayed-stream@1.0.0:
resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
engines: {node: '>=0.4.0'}
@@ -2581,9 +3336,15 @@ packages:
resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
engines: {node: '>=6.0.0'}
+ dom-align@1.12.4:
+ resolution: {integrity: sha512-R8LUSEay/68zE5c8/3BDxiTEvgb4xZTF0RKmAHfiEVN3klfIpXfi2/QCoiWPccVQ0J/ZGdz9OjzL4uJEP/MRAw==}
+
dompurify@2.5.8:
resolution: {integrity: sha512-o1vSNgrmYMQObbSSvF/1brBYEQPHhV1+gsmrusO7/GXtp1T9rCS8cXFqVxK/9crT1jA6Ccv+5MTSjBNqr7Sovw==}
+ dompurify@3.3.1:
+ resolution: {integrity: sha512-qkdCKzLNtrgPFP1Vo+98FRzJnBRGe4ffyCea9IwHB1fyxPOeNTHpLKYGd4Uk9xvNoH0ZoOjwZxNptyMwqrId1Q==}
+
dot-prop@4.2.1:
resolution: {integrity: sha512-l0p4+mIuJIua0mhxGoh4a+iNL9bmeK5DvnSVQa6T0OhrVmaEa1XScX5Etc673FePCJOArq/4Pa2cLGODUWTPOQ==}
engines: {node: '>=4'}
@@ -2613,6 +3374,12 @@ packages:
earcut@2.2.4:
resolution: {integrity: sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ==}
+ echarts-for-react@3.0.6:
+ resolution: {integrity: sha512-4zqLgTGWS3JvkQDXjzkR1k1CHRdpd6by0988TWMJgnvDytegWLbeP/VNZmMa+0VJx2eD7Y632bi2JquXDgiGJg==}
+ peerDependencies:
+ echarts: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0
+ react: ^15.0.0 || >=16.0.0
+
echarts@5.5.1:
resolution: {integrity: sha512-Fce8upazaAXUVUVsjgV6mBnGuqgO+JNDlcgF79Dksy4+wgGpQB2lmYoO4TSweFg/mZITdpGHomw/cNBJZj1icA==}
@@ -2648,6 +3415,10 @@ packages:
resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
engines: {node: '>=0.12'}
+ entities@7.0.1:
+ resolution: {integrity: sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==}
+ engines: {node: '>=0.12'}
+
env-paths@2.2.1:
resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==}
engines: {node: '>=6'}
@@ -3130,6 +3901,9 @@ packages:
github-slugger@1.5.0:
resolution: {integrity: sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==}
+ github-slugger@2.0.0:
+ resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==}
+
gl-matrix@3.4.3:
resolution: {integrity: sha512-wcCp8vu8FT22BnvKVPjXa/ICBWRq/zjFfdofZy1WSpQZpphblv12/bOQLBC1rMM7SGOFS9ltVmKOHil5+Ml7gA==}
@@ -3219,6 +3993,9 @@ packages:
resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==}
engines: {node: '>=10'}
+ hachure-fill@0.5.2:
+ resolution: {integrity: sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg==}
+
hammerjs@2.0.8:
resolution: {integrity: sha512-tSQXBXS/MWQOn/RKckawJ61vvsDpCom87JgxiYdGwHdOa0ht0vzUWDlfioofFCRU0L+6NGDt6XzbgoJvZkMeRQ==}
engines: {node: '>=0.8.0'}
@@ -3277,6 +4054,15 @@ packages:
resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
engines: {node: '>= 0.4'}
+ hast-util-from-dom@5.0.1:
+ resolution: {integrity: sha512-N+LqofjR2zuzTjCPzyDUdSshy4Ma6li7p/c3pA78uTwzFgENbgbUrm2ugwsOdcjI1muO+o6Dgzp9p8WHtn/39Q==}
+
+ hast-util-from-html-isomorphic@2.0.0:
+ resolution: {integrity: sha512-zJfpXq44yff2hmE0XmwEOzdWin5xwH+QIhMLOScpX91e/NSGPsAzNCvLQDIEPyO2TXi+lBmU6hjLIhV8MwP2kw==}
+
+ hast-util-from-html@2.0.3:
+ resolution: {integrity: sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw==}
+
hast-util-from-parse5@7.1.2:
resolution: {integrity: sha512-Nz7FfPBuljzsN3tCQ4kCBKqdNhQE2l0Tn+X1ubgKBPRoiDIu1mL08Cfw4k7q71+Duyaw7DXDN+VTAp4Vh3oCOw==}
@@ -3289,6 +4075,9 @@ packages:
hast-util-heading-rank@2.1.1:
resolution: {integrity: sha512-iAuRp+ESgJoRFJbSyaqsfvJDY6zzmFoEnL1gtz1+U8gKtGGj1p0CVlysuUAUjq95qlZESHINLThwJzNGmgGZxA==}
+ hast-util-heading-rank@3.0.0:
+ resolution: {integrity: sha512-EJKb8oMUXVHcWZTDepnr+WNbfnXKFNf9duMesmr4S8SXTJBJ9M4Yok08pu9vxdJwdlGRhVumk9mEhkEvKGifwA==}
+
hast-util-is-element@2.1.3:
resolution: {integrity: sha512-O1bKah6mhgEq2WtVMk+Ta5K7pPMqsBBlmzysLdcwKVrqzZQ0CHqUPiIVspNhAG1rvxpvJjtGee17XfauZYKqVA==}
@@ -3310,15 +4099,24 @@ packages:
hast-util-raw@9.1.0:
resolution: {integrity: sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==}
+ hast-util-sanitize@5.0.2:
+ resolution: {integrity: sha512-3yTWghByc50aGS7JlGhk61SPenfE/p1oaFeNwkOOyrscaOkMGrcW9+Cy/QAIOBpZxP1yqDIzFMR0+Np0i0+usg==}
+
hast-util-select@5.0.1:
resolution: {integrity: sha512-cxnImmR/tN/ipvbwGrKtEErmy83K1xWx8Bu7nImiwTOJ7X/fW1X6L1241ux+MYUXDwx8GxrE4LVmXRlEnbQsQA==}
hast-util-to-html@8.0.4:
resolution: {integrity: sha512-4tpQTUOr9BMjtYyNlt0P50mH7xj0Ks2xpo8M943Vykljf99HW6EzulIoJP1N3eKOSScEHzyzi9dm7/cn0RfGwA==}
+ hast-util-to-html@9.0.5:
+ resolution: {integrity: sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==}
+
hast-util-to-jsx-runtime@2.3.2:
resolution: {integrity: sha512-1ngXYb+V9UT5h+PxNRa1O1FYguZK/XL+gkeqvp7EdHlB9oHUG0eYRo/vY5inBdcqo3RkPMC58/H94HvkbfGdyg==}
+ hast-util-to-jsx-runtime@2.3.6:
+ resolution: {integrity: sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==}
+
hast-util-to-parse5@7.1.0:
resolution: {integrity: sha512-YNRgAJkH2Jky5ySkIqFXTQiaqcAtJyVE+D5lkN6CdtOqrnkLfGYYrEcKuHOJZlp+MwjSwuD3fZuawI+sic/RBw==}
@@ -3331,6 +4129,9 @@ packages:
hast-util-to-string@2.0.0:
resolution: {integrity: sha512-02AQ3vLhuH3FisaMM+i/9sm4OXGSq1UhOOCpTLLQtHdL3tZt7qil69r8M8iDkZYyC0HCFylcYoP+8IO7ddta1A==}
+ hast-util-to-string@3.0.1:
+ resolution: {integrity: sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A==}
+
hast-util-to-text@4.0.2:
resolution: {integrity: sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==}
@@ -3399,6 +4200,10 @@ packages:
resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
engines: {node: '>=0.10.0'}
+ iconv-lite@0.6.3:
+ resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==}
+ engines: {node: '>=0.10.0'}
+
ieee754@1.2.1:
resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
@@ -3450,6 +4255,9 @@ packages:
inline-style-parser@0.2.4:
resolution: {integrity: sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==}
+ inline-style-parser@0.2.7:
+ resolution: {integrity: sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==}
+
inquirer@7.3.3:
resolution: {integrity: sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==}
engines: {node: '>=8.0.0'}
@@ -3783,6 +4591,9 @@ packages:
resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==}
engines: {node: '>=0.10.0'}
+ isomorphic.js@0.2.5:
+ resolution: {integrity: sha512-PIeMbHqMt4DnUP3MA/Flc0HElYjMXArsw1qwJZcm9sqR8mq3l8NYizFMty0pWwE/tzIGH3EKK5+jes5mAr85yw==}
+
iterator.prototype@1.1.2:
resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==}
@@ -3821,6 +4632,13 @@ packages:
json-parse-even-better-errors@2.3.1:
resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
+ json-schema-compare@0.2.2:
+ resolution: {integrity: sha512-c4WYmDKyJXhs7WWvAWm3uIYnfyWFoIp+JEoX34rctVvEkMYCPGhXtvmFFXiffBbxfZsvQ0RNnV5H7GvDF5HCqQ==}
+
+ json-schema-merge-allof@0.8.1:
+ resolution: {integrity: sha512-CTUKmIlPJbsWfzRRnOXz+0MjIqvnleIXwFTzz+t9T86HnYX/Rozria6ZVGLktAU9e+NygNljveP+yxqtQp/Q4w==}
+ engines: {node: '>=12.0.0'}
+
json-schema-traverse@0.4.1:
resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
@@ -3859,6 +4677,10 @@ packages:
resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==}
engines: {'0': node >= 0.2.0}
+ jsonpointer@5.0.1:
+ resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==}
+ engines: {node: '>=0.10.0'}
+
jspdf@2.5.2:
resolution: {integrity: sha512-myeX9c+p7znDWPk0eTrujCzNjT+CXdXyk7YmJq5nD5V7uLLKmSXnlQ/Jn/kuo3X09Op70Apm0rQSnFWyGK8uEQ==}
@@ -3866,6 +4688,10 @@ packages:
resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==}
engines: {node: '>=4.0'}
+ katex@0.16.33:
+ resolution: {integrity: sha512-q3N5u+1sY9Bu7T4nlXoiRBXWfwSefNGoKeOwekV+gw0cAXQlz2Ww6BLcmBxVDeXBMUDQv6fK5bcNaJLxob3ZQA==}
+ hasBin: true
+
kdbush@3.0.0:
resolution: {integrity: sha512-hRkd6/XW4HTsA9vjVpY9tuXJYLSlelnkTmVFu4M9/7MIYQtFcHpbugAU7UbOfjOiVSVYl2fqgBuJ32JUmRo5Ew==}
@@ -3884,6 +4710,9 @@ packages:
keyv@4.5.4:
resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
+ khroma@2.1.0:
+ resolution: {integrity: sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==}
+
kind-of@3.2.2:
resolution: {integrity: sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==}
engines: {node: '>=0.10.0'}
@@ -3903,6 +4732,10 @@ packages:
kolorist@1.8.0:
resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==}
+ langium@4.2.1:
+ resolution: {integrity: sha512-zu9QWmjpzJcomzdJQAHgDVhLGq5bLosVak1KVa40NzQHXfqr4eAHupvnPOVXEoLkg6Ocefvf/93d//SB7du4YQ==}
+ engines: {node: '>=20.10.0', npm: '>=10.2.3'}
+
latest-version@3.1.0:
resolution: {integrity: sha512-Be1YRHWWlZaSsrz2U+VInk+tO0EwLIyV+23RhWLINJYwg/UIikxjlj3MhH37/6/EDCAusjajvMkMMUXRaMWl/w==}
engines: {node: '>=4'}
@@ -3911,6 +4744,12 @@ packages:
resolution: {integrity: sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==}
engines: {node: '>=8'}
+ layout-base@1.0.2:
+ resolution: {integrity: sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==}
+
+ layout-base@2.0.1:
+ resolution: {integrity: sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==}
+
lazy-cache@1.0.4:
resolution: {integrity: sha512-RE2g0b5VGZsOCFOCgP7omTRYFqydmZkBwl5oNnQ1lDYC57uyO9KqNnNVxT7COSHTxrRCWVcAVOcbjk+tvh/rgQ==}
engines: {node: '>=0.10.0'}
@@ -3919,6 +4758,11 @@ packages:
resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
engines: {node: '>= 0.8.0'}
+ lib0@0.2.117:
+ resolution: {integrity: sha512-DeXj9X5xDCjgKLU/7RR+/HQEVzuuEUiwldwOGsHK/sfAfELGWEyTcf0x+uOvCvK3O2zPmZePXWL85vtia6GyZw==}
+ engines: {node: '>=16'}
+ hasBin: true
+
libnpx@10.2.4:
resolution: {integrity: sha512-BPc0D1cOjBeS8VIBKUu5F80s6njm0wbVt7CsGMrIcJ+SI7pi7V0uVPGpEMH9H5L8csOcclTxAXFE2VAsJXUhfA==}
engines: {node: '>=4'}
@@ -3976,6 +4820,9 @@ packages:
lodash-es@4.17.21:
resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==}
+ lodash-es@4.17.23:
+ resolution: {integrity: sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg==}
+
lodash.camelcase@4.3.0:
resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==}
@@ -4070,6 +4917,9 @@ packages:
magic-string@0.30.11:
resolution: {integrity: sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==}
+ magic-string@0.30.21:
+ resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==}
+
make-dir@1.3.0:
resolution: {integrity: sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==}
engines: {node: '>=4'}
@@ -4093,9 +4943,34 @@ packages:
markdown-table@3.0.4:
resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==}
+ markdown-to-jsx@7.7.17:
+ resolution: {integrity: sha512-7mG/1feQ0TX5I7YyMZVDgCC/y2I3CiEhIRQIhyov9nGBP5eoVrOXXHuL5ZP8GRfxVZKRiXWJgwXkb9It+nQZfQ==}
+ engines: {node: '>= 10'}
+ peerDependencies:
+ react: '>= 0.14.0'
+ peerDependenciesMeta:
+ react:
+ optional: true
+
+ marked@16.4.2:
+ resolution: {integrity: sha512-TI3V8YYWvkVf3KJe1dRkpnjs68JUPyEa5vjKrp1XEEJUAOaQc+Qj+L1qWbPd0SJuAdQkFU0h73sXXqwDYxsiDA==}
+ engines: {node: '>= 20'}
+ hasBin: true
+
+ marked@17.0.3:
+ resolution: {integrity: sha512-jt1v2ObpyOKR8p4XaUJVk3YWRJ5n+i4+rjQopxvV32rSndTJXvIzuUdWWIy/1pFQMkQmvTXawzDNqOH/CUmx6A==}
+ engines: {node: '>= 20'}
+ hasBin: true
+
mdast-util-definitions@5.1.2:
resolution: {integrity: sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==}
+ mdast-util-definitions@6.0.0:
+ resolution: {integrity: sha512-scTllyX6pnYNZH/AIp/0ePz6s4cZtARxImwoPJ7kS42n+MnVsI4XbnG6d4ibehRIldYMWM2LD7ImQblVhUejVQ==}
+
+ mdast-util-directive@3.1.0:
+ resolution: {integrity: sha512-I3fNFt+DHmpWCYAT7quoM6lHf9wuqtI+oCOfvILnoicNIqjh5E3dEJWiXuYME2gNe8vl1iMQwyUHa7bgFmak6Q==}
+
mdast-util-find-and-replace@2.2.2:
resolution: {integrity: sha512-MTtdFRz/eMDHXzeK6W3dO7mXUlF82Gom4y0oOgvHhh/HXZAGvIQDUvQ0SuUx+j2tv44b8xTHOm8K/9OoRFnXKw==}
@@ -4141,6 +5016,9 @@ packages:
mdast-util-gfm@3.0.0:
resolution: {integrity: sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==}
+ mdast-util-math@3.0.0:
+ resolution: {integrity: sha512-Tl9GBNeG/AhJnQM221bJR2HPvLOSnLE/T9cJI9tlc6zwQk2nPk/4f0cHkOdEixQPC/j8UtKDdITswvLAy1OZ1w==}
+
mdast-util-mdx-expression@2.0.1:
resolution: {integrity: sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==}
@@ -4203,12 +5081,18 @@ packages:
merge@2.1.1:
resolution: {integrity: sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w==}
+ mermaid@11.12.3:
+ resolution: {integrity: sha512-wN5ZSgJQIC+CHJut9xaKWsknLxaFBwCPwPkGTSUYrTiHORWvpT8RxGk849HPnpUAQ+/9BPRqYb80jTpearrHzQ==}
+
micromark-core-commonmark@1.1.0:
resolution: {integrity: sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==}
micromark-core-commonmark@2.0.2:
resolution: {integrity: sha512-FKjQKbxd1cibWMM1P9N+H8TwlgGgSkWZMmfuVucLCHaYqeSvJ0hFeHsIa65pA2nYbes0f8LDHPMrd9X7Ujxg9w==}
+ micromark-extension-directive@3.0.2:
+ resolution: {integrity: sha512-wjcXHgk+PPdmvR58Le9d7zQYWy+vKEU9Se44p2CrCDPiLr2FMyiT4Fyb5UFKFC66wGB3kPlgD7q3TnoqPS7SZA==}
+
micromark-extension-gfm-autolink-literal@1.0.5:
resolution: {integrity: sha512-z3wJSLrDf8kRDOh2qBtoTRD53vJ+CWIyo7uyZuxf/JAbNJjiHsOpG1y5wxk8drtv3ETAHutCu6N3thkOOgueWg==}
@@ -4248,6 +5132,9 @@ packages:
micromark-extension-gfm@3.0.0:
resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==}
+ micromark-extension-math@3.1.0:
+ resolution: {integrity: sha512-lvEqd+fHjATVs+2v/8kg9i5Q0AP2k85H0WUOwpIVvUML8BapsMvh1XAogmQjOCsLpoKRCVQqEkQBB3NhVBcsOg==}
+
micromark-factory-destination@1.1.0:
resolution: {integrity: sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==}
@@ -4430,6 +5317,9 @@ packages:
mlly@1.7.2:
resolution: {integrity: sha512-tN3dvVHYVz4DhSXinXIk7u9syPYaJvio118uomkovAtWBT+RdbP6Lfh/5Lvo519YMmwBafwlh20IPTXIStscpA==}
+ mlly@1.8.0:
+ resolution: {integrity: sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==}
+
mock-property@1.0.3:
resolution: {integrity: sha512-2emPTb1reeLLYwHxyVx993iYyCHEiRRO+y8NFXFPL5kl5q14sgTK76cXyEKkeKCHeRw35SfdkUJ10Q1KfHuiIQ==}
engines: {node: '>= 0.4'}
@@ -4466,11 +5356,26 @@ packages:
mute-stream@0.0.8:
resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==}
+ nanoid@3.3.11:
+ resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==}
+ engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
+ hasBin: true
+
nanoid@3.3.7:
resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
hasBin: true
+ nanoid@4.0.2:
+ resolution: {integrity: sha512-7ZtY5KTCNheRGfEFxnedV5zFiORN1+Y1N6zvPTnHQd8ENUvfaDBeuJDZb2bN/oXwXxu3qkTXDzy57W5vAmDTBw==}
+ engines: {node: ^14 || ^16 || >=18}
+ hasBin: true
+
+ nanoid@5.1.6:
+ resolution: {integrity: sha512-c7+7RQ+dMB5dPwwCp4ee1/iV/q2P6aK1mTZcfr1BTuVlyW9hJYiMPybJCcnBlQtuSmTIWNeazm/zqNoZSSElBg==}
+ engines: {node: ^18 || >=20}
+ hasBin: true
+
natural-compare@1.4.0:
resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
@@ -4578,6 +5483,12 @@ packages:
resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==}
engines: {node: '>=18'}
+ oniguruma-parser@0.12.1:
+ resolution: {integrity: sha512-8Unqkvk1RYc6yq2WBYRj4hdnsAxVze8i7iPfQr8e4uSP3tRv0rpZcbGUDvxfQQcdwHt/e9PrMvGCsa8OqG9X3w==}
+
+ oniguruma-to-es@4.3.4:
+ resolution: {integrity: sha512-3VhUGN3w2eYxnTzHn+ikMI+fp/96KoRSVK9/kMTcFqj1NRDh2IhQCKvYxDnWePKRXY/AqH+Fuiyb7VHSzBjHfA==}
+
optionator@0.9.4:
resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
engines: {node: '>= 0.8.0'}
@@ -4586,6 +5497,9 @@ packages:
resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==}
engines: {node: '>=10'}
+ orderedmap@2.1.1:
+ resolution: {integrity: sha512-TvAWxi0nDe1j/rtMcWcIj94+Ffe6n7zhow33h40SKxmsmozs6dz/e+EajymfoFcHd7sxNn8yHM8839uixMOV6g==}
+
os-homedir@1.0.2:
resolution: {integrity: sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==}
engines: {node: '>=0.10.0'}
@@ -4649,6 +5563,9 @@ packages:
package-manager-detector@0.2.1:
resolution: {integrity: sha512-/hVW2fZvAdEas+wyKh0SnlZ2mx0NIa1+j11YaQkogEJkcMErbwchHCuo8z7lEtajZJQZ6rgZNVTWMVVd71Bjng==}
+ package-manager-detector@1.6.0:
+ resolution: {integrity: sha512-61A5ThoTiDG/C8s8UMZwSorAGwMJ0ERVGj2OjoW5pAalsNOg15+iQiPzrLJ4jhZ1HJzmC2PIHT2oEiH3R5fzNA==}
+
parent-module@1.0.1:
resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
engines: {node: '>=6'}
@@ -4685,6 +5602,9 @@ packages:
parse5@7.2.1:
resolution: {integrity: sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==}
+ path-data-parser@0.1.0:
+ resolution: {integrity: sha512-NOnmBpt5Y2RWbuv0LMzsayp3lVylAHLPUTut412ZA3l+C4uw4ZVkQbjShYCQ8TCpUMdPapr4YjUqLYD6v68j+w==}
+
path-exists@3.0.0:
resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==}
engines: {node: '>=4'}
@@ -4730,6 +5650,9 @@ packages:
pathe@1.1.2:
resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==}
+ pathe@2.0.3:
+ resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==}
+
pbf@3.3.0:
resolution: {integrity: sha512-XDF38WCH3z5OV/OVa8GKUNtLAyneuzbCisx7QUCF8Q6Nutx0WnJrQe5O+kOtBlLfRNUws98Y58Lblp+NJG5T4Q==}
hasBin: true
@@ -4746,6 +5669,9 @@ packages:
picocolors@1.1.0:
resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==}
+ picocolors@1.1.1:
+ resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
+
picomatch@2.3.1:
resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
engines: {node: '>=8.6'}
@@ -4762,9 +5688,18 @@ packages:
pkg-types@1.2.0:
resolution: {integrity: sha512-+ifYuSSqOQ8CqP4MbZA5hDpb97n3E8SVWdJe+Wms9kj745lmd3b7EZJiqvmLwAlmRfjrI7Hi5z3kdBJ93lFNPA==}
+ pkg-types@1.3.1:
+ resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==}
+
point-at-length@1.1.0:
resolution: {integrity: sha512-nNHDk9rNEh/91o2Y8kHLzBLNpLf80RYd2gCun9ss+V0ytRSf6XhryBTx071fesktjbachRmGuUbId+JQmzhRXw==}
+ points-on-curve@0.2.0:
+ resolution: {integrity: sha512-0mYKnYYe9ZcqMCWhUjItv/oHjvgEsfKvnUTg8sAtnHr3GVy7rGkXCb6d5cSyqrWqL4k81b9CPg3urd+T7aop3A==}
+
+ points-on-path@0.2.1:
+ resolution: {integrity: sha512-25ClnWWuw7JbWZcgqY/gJ4FQWadKxGWk+3kR/7kD0tCaDtPPMj7oHu2ToLaVhfpnHrZzYby2w6tUA0eOIuUg8g==}
+
polygon-clipping@0.15.7:
resolution: {integrity: sha512-nhfdr83ECBg6xtqOAJab1tbksbBAOMUltN60bU+llHVOL0e5Onm1WpAXXWXVB39L8AJFssoIhEVuy/S90MmotA==}
@@ -4785,6 +5720,10 @@ packages:
resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==}
engines: {node: ^10 || ^12 || >=14}
+ postcss@8.5.8:
+ resolution: {integrity: sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==}
+ engines: {node: ^10 || ^12 || >=14}
+
potpack@1.0.2:
resolution: {integrity: sha512-choctRBIV9EMT9WGAZHn3V7t0Z2pMQyl0EZE6pFc/6ml3ssw7Dlf/oAOvFwjm1HVsqfQN8GfeFyJ+d8tRzqueQ==}
@@ -4834,6 +5773,68 @@ packages:
property-information@6.5.0:
resolution: {integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==}
+ property-information@7.1.0:
+ resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==}
+
+ prosemirror-changeset@2.4.0:
+ resolution: {integrity: sha512-LvqH2v7Q2SF6yxatuPP2e8vSUKS/L+xAU7dPDC4RMyHMhZoGDfBC74mYuyYF4gLqOEG758wajtyhNnsTkuhvng==}
+
+ prosemirror-commands@1.7.1:
+ resolution: {integrity: sha512-rT7qZnQtx5c0/y/KlYaGvtG411S97UaL6gdp6RIZ23DLHanMYLyfGBV5DtSnZdthQql7W+lEVbpSfwtO8T+L2w==}
+
+ prosemirror-drop-indicator@0.1.3:
+ resolution: {integrity: sha512-fJV6G2tHIVXZLUuc60fS9ly1/GuGOlAZUm67S1El+kGFUYh27Hyv6hcGx3rrJ+Q/JZL5jnyAibIZYYWpPqE45g==}
+
+ prosemirror-dropcursor@1.8.2:
+ resolution: {integrity: sha512-CCk6Gyx9+Tt2sbYk5NK0nB1ukHi2ryaRgadV/LvyNuO3ena1payM2z6Cg0vO1ebK8cxbzo41ku2DE5Axj1Zuiw==}
+
+ prosemirror-gapcursor@1.4.0:
+ resolution: {integrity: sha512-z00qvurSdCEWUIulij/isHaqu4uLS8r/Fi61IbjdIPJEonQgggbJsLnstW7Lgdk4zQ68/yr6B6bf7sJXowIgdQ==}
+
+ prosemirror-history@1.5.0:
+ resolution: {integrity: sha512-zlzTiH01eKA55UAf1MEjtssJeHnGxO0j4K4Dpx+gnmX9n+SHNlDqI2oO1Kv1iPN5B1dm5fsljCfqKF9nFL6HRg==}
+
+ prosemirror-inputrules@1.5.1:
+ resolution: {integrity: sha512-7wj4uMjKaXWAQ1CDgxNzNtR9AlsuwzHfdFH1ygEHA2KHF2DOEaXl1CJfNPAKCg9qNEh4rum975QLaCiQPyY6Fw==}
+
+ prosemirror-keymap@1.2.3:
+ resolution: {integrity: sha512-4HucRlpiLd1IPQQXNqeo81BGtkY8Ai5smHhKW9jjPKRc2wQIxksg7Hl1tTI2IfT2B/LgX6bfYvXxEpJl7aKYKw==}
+
+ prosemirror-model@1.25.4:
+ resolution: {integrity: sha512-PIM7E43PBxKce8OQeezAs9j4TP+5yDpZVbuurd1h5phUxEKIu+G2a+EUZzIC5nS1mJktDJWzbqS23n1tsAf5QA==}
+
+ prosemirror-safari-ime-span@1.0.2:
+ resolution: {integrity: sha512-QJqD8s1zE/CuK56kDsUhndh5hiHh/gFnAuPOA9ytva2s85/ZEt2tNWeALTJN48DtWghSKOmiBsvVn2OlnJ5H2w==}
+
+ prosemirror-schema-list@1.5.1:
+ resolution: {integrity: sha512-927lFx/uwyQaGwJxLWCZRkjXG0p48KpMj6ueoYiu4JX05GGuGcgzAy62dfiV8eFZftgyBUvLx76RsMe20fJl+Q==}
+
+ prosemirror-state@1.4.4:
+ resolution: {integrity: sha512-6jiYHH2CIGbCfnxdHbXZ12gySFY/fz/ulZE333G6bPqIZ4F+TXo9ifiR86nAHpWnfoNjOb3o5ESi7J8Uz1jXHw==}
+
+ prosemirror-tables@1.8.5:
+ resolution: {integrity: sha512-V/0cDCsHKHe/tfWkeCmthNUcEp1IVO3p6vwN8XtwE9PZQLAZJigbw3QoraAdfJPir4NKJtNvOB8oYGKRl+t0Dw==}
+
+ prosemirror-transform@1.11.0:
+ resolution: {integrity: sha512-4I7Ce4KpygXb9bkiPS3hTEk4dSHorfRw8uI0pE8IhxlK2GXsqv5tIA7JUSxtSu7u8APVOTtbUBxTmnHIxVkIJw==}
+
+ prosemirror-view@1.41.6:
+ resolution: {integrity: sha512-mxpcDG4hNQa/CPtzxjdlir5bJFDlm0/x5nGBbStB2BWX+XOQ9M8ekEG+ojqB5BcVu2Rc80/jssCMZzSstJuSYg==}
+
+ prosemirror-virtual-cursor@0.4.2:
+ resolution: {integrity: sha512-pUMKnIuOhhnMcgIJUjhIQTVJruBEGxfMBVQSrK0g2qhGPDm1i12KdsVaFw15dYk+29tZcxjMeR7P5VDKwmbwJg==}
+ peerDependencies:
+ prosemirror-model: ^1.0.0
+ prosemirror-state: ^1.0.0
+ prosemirror-view: ^1.0.0
+ peerDependenciesMeta:
+ prosemirror-model:
+ optional: true
+ prosemirror-state:
+ optional: true
+ prosemirror-view:
+ optional: true
+
protocol-buffers-schema@3.6.0:
resolution: {integrity: sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw==}
@@ -4869,6 +5870,12 @@ packages:
raf@3.4.1:
resolution: {integrity: sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==}
+ rc-align@4.0.15:
+ resolution: {integrity: sha512-wqJtVH60pka/nOX7/IspElA8gjPNQKIx/ZqJ6heATCkXpe1Zg4cPVrMD2vC96wjsFFL8WsmhPbx9tdMo1qqlIA==}
+ peerDependencies:
+ react: '>=16.9.0'
+ react-dom: '>=16.9.0'
+
rc-cascader@3.28.1:
resolution: {integrity: sha512-9+8oHIMWVLHxuaapDiqFNmD9KSyKN/P4bo9x/MBuDbyTqP8f2/POmmZxdXWBO3yq/uE3pKyQCXYNUxrNfHRv2A==}
peerDependencies:
@@ -4967,6 +5974,13 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
+ rc-picker@2.7.6:
+ resolution: {integrity: sha512-H9if/BUJUZBOhPfWcPeT15JUI3/ntrG9muzERrXDkSoWmDj4yzmBvumozpxYrHwjcKnjyDGAke68d+whWwvhHA==}
+ engines: {node: '>=8.x'}
+ peerDependencies:
+ react: '>=16.9.0'
+ react-dom: '>=16.9.0'
+
rc-picker@4.6.15:
resolution: {integrity: sha512-OWZ1yrMie+KN2uEUfYCfS4b2Vu6RC1FWwNI0s+qypsc3wRt7g+peuZKVIzXCTaJwyyZruo80+akPg2+GmyiJjw==}
engines: {node: '>=8.x'}
@@ -5084,6 +6098,13 @@ packages:
react: '*'
react-dom: '*'
+ rc-trigger@5.3.4:
+ resolution: {integrity: sha512-mQv+vas0TwKcjAO2izNPkqR4j86OemLRmvL2nOzdP9OWNWA1ivoTt5hzFqYNW9zACwmTezRiN8bttrC7cZzYSw==}
+ engines: {node: '>=8.x'}
+ peerDependencies:
+ react: '>=16.9.0'
+ react-dom: '>=16.9.0'
+
rc-upload@4.8.1:
resolution: {integrity: sha512-toEAhwl4hjLAI1u8/CgKWt30BR06ulPa4iGQSMvSXoHzO88gPCslxqV/mnn4gJU7PDoltGIC9Eh+wkeudqgHyw==}
peerDependencies:
@@ -5300,6 +6321,12 @@ packages:
react: ^15.3.0 || ^16.0.0-alpha || ^17.0.0 || ^18.0.0 || ^19.0.0
react-dom: ^15.3.0 || ^16.0.0-alpha || ^17.0.0 || ^18.0.0 || ^19.0.0
+ react-virtuoso@4.14.1:
+ resolution: {integrity: sha512-NRUF1ak8lY+Tvc6WN9cce59gU+lilzVtOozP+pm9J7iHshLGGjsiAB4rB2qlBPHjFbcXOQpT+7womNHGDUql8w==}
+ peerDependencies:
+ react: '>=16 || >=17 || >= 18 || >= 19'
+ react-dom: '>=16 || >=17 || >= 18 || >=19'
+
react-window@1.8.11:
resolution: {integrity: sha512-+SRbUVT2scadgFSWx+R1P754xHPEqvcfSfVX10QYg6POOz+WNgkN48pS+BtZNIMGiL1HYrSEiCkwsMS15QogEQ==}
engines: {node: '>8.0.0'}
@@ -5359,6 +6386,15 @@ packages:
regenerator-runtime@0.14.1:
resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==}
+ regex-recursion@6.0.2:
+ resolution: {integrity: sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==}
+
+ regex-utilities@2.3.0:
+ resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==}
+
+ regex@6.1.0:
+ resolution: {integrity: sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg==}
+
regexp.prototype.flags@1.5.3:
resolution: {integrity: sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==}
engines: {node: '>= 0.4'}
@@ -5387,9 +6423,15 @@ packages:
rehype-autolink-headings@6.1.0:
resolution: {integrity: sha512-v8xnvhDtxc2jTgnhVlR2sG168TyNTK93Myx+uTzQNpNxzkRnQKz3hZQKoh7fxuOzJhCGa/z6qqZSPB2BOi/HRw==}
+ rehype-harden@1.1.8:
+ resolution: {integrity: sha512-Qn7vR1xrf6fZCrkm9TDWi/AB4ylrHy+jqsNm1EHOAmbARYA6gsnVJBq/sdBh6kmT4NEZxH5vgIjrscefJAOXcw==}
+
rehype-highlight@7.0.1:
resolution: {integrity: sha512-dB/vVGFsbm7xPglqnYbg0ABg6rAuIWKycTvuXaOO27SgLoOFNoTlniTBtAxp3n5ZyMioW1a3KwiNqgjkb6Skjg==}
+ rehype-katex@7.0.1:
+ resolution: {integrity: sha512-OiM2wrZ/wuhKkigASodFoo8wimG3H12LWQaH8qSPVJn9apWKFSH3YOCtbKpBorTVw/eI7cuT21XBbvwEswbIOA==}
+
rehype-parse@8.0.5:
resolution: {integrity: sha512-Ds3RglaY/+clEX2U2mHflt7NlMA72KspZ0JLUJgBBLpRddBcEw3H8uYZQliQriku22NZpYMfjDdSgHcjxue24A==}
@@ -5403,21 +6445,39 @@ packages:
resolution: {integrity: sha512-JAuCiYaBtcQ3ZGQa6fh1MeDCMXx2HbYqmQ2gTdjo4zNPjEdigo8cbk+AxFMo36OfEUluBQozvNzMWcvfeIVAQg==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ rehype-sanitize@6.0.0:
+ resolution: {integrity: sha512-CsnhKNsyI8Tub6L4sm5ZFsme4puGfc6pYylvXo1AeqaGbjOYyzNv3qZPwvs0oMJ39eryyeOdmxwUIo94IpEhqg==}
+
rehype-slug@5.0.0:
resolution: {integrity: sha512-jnYsFKxRh+/tQa1L+SU/ykAPGOSVCqd0BwaOBPUANcvCu8d0/SZB4IalJkdJ+n6d1eAAS2YkvjUPi+2EGYtfCQ==}
+ rehype-slug@6.0.0:
+ resolution: {integrity: sha512-lWyvf/jwu+oS5+hL5eClVd3hNdmwM1kAC0BUvEGD19pajQMIzcNUd/k9GsfQ+FfECvX+JE+e9/btsKH0EjJT6A==}
+
rehype-stringify@9.0.4:
resolution: {integrity: sha512-Uk5xu1YKdqobe5XpSskwPvo1XeHUUucWEQSl8hTrXt5selvca1e8K1EZ37E6YoZ4BT8BCqCdVfQW7OfHfthtVQ==}
rehype@12.0.0:
resolution: {integrity: sha512-gZcttmf9R5IYHb8AlI1rlmWqXS1yX0rSB/S5ZGJs8atfYZy2DobvH3Ic/gSzB+HL/+oOHPtBguw1TprfhxXBgQ==}
+ remark-directive@3.0.1:
+ resolution: {integrity: sha512-gwglrEQEZcZYgVyG1tQuA+h58EZfq5CSULw7J90AFuCTyib1thgHPoqQ+h9iFvU6R+vnZ5oNFQR5QKgGpk741A==}
+
remark-gfm@2.0.0:
resolution: {integrity: sha512-waIv4Tjcd2CTUDxKRYzuPyIHw1FoX4H2GjXAzXV9PxQWb+dU4fJivd/FZ+nxyzPARrqTjMIkwIwPoWNbpBhjcQ==}
remark-gfm@4.0.0:
resolution: {integrity: sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==}
+ remark-gfm@4.0.1:
+ resolution: {integrity: sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==}
+
+ remark-inline-links@7.0.0:
+ resolution: {integrity: sha512-4uj1pPM+F495ySZhTIB6ay2oSkTsKgmYaKk/q5HIdhX2fuyLEegpjWa0VdJRJ01sgOqAFo7MBKdDUejIYBMVMQ==}
+
+ remark-math@6.0.0:
+ resolution: {integrity: sha512-MMqgnP74Igy+S3WwnhQ7kqGlEerTETXMvJhrUzDikVZ2/uogJCb+WHUg97hK9/jcfc0dkD73s3LN8zU49cTEtA==}
+
remark-parse@10.0.2:
resolution: {integrity: sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw==}
@@ -5427,12 +6487,21 @@ packages:
remark-rehype@11.1.1:
resolution: {integrity: sha512-g/osARvjkBXb6Wo0XvAeXQohVta8i84ACbenPpoSsxTOQH/Ae0/RGP4WZgnMH5pMLpsj4FG7OHmcIcXxpza8eQ==}
+ remark-rehype@11.1.2:
+ resolution: {integrity: sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==}
+
remark-rehype@9.1.0:
resolution: {integrity: sha512-oLa6YmgAYg19zb0ZrBACh40hpBLteYROaPLhBXzLgjqyHQrN+gVP9N/FJvfzuNNuzCutktkroXEZBrxAxKhh7Q==}
remark-stringify@11.0.0:
resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==}
+ remark@15.0.1:
+ resolution: {integrity: sha512-Eht5w30ruCXgFmxVUSlNWQ9iiimq07URKeFS3hNc8cUWy1llX4KDWfyEDZRycMc+znsN9Ux5/tJ/BFdgdOwA3A==}
+
+ remend@1.2.1:
+ resolution: {integrity: sha512-4wC12bgXsfKAjF1ewwkNIQz5sqewz/z1xgIgjEMb3r1pEytQ37F0Cm6i+OhbTWEvguJD7lhOUJhK5fSasw9f0w==}
+
remote-origin-url@1.0.0:
resolution: {integrity: sha512-xHDM6IBqivpiQ1e4WOuFpM/T6rbzA/WBsu+3WLtgPOhHyjA0nYlijV3NprlTb4FcXlQ5+Q+z174sQ1NnUF5FwA==}
engines: {node: '>= 0.8.0'}
@@ -5526,6 +6595,12 @@ packages:
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
hasBin: true
+ rope-sequence@1.3.4:
+ resolution: {integrity: sha512-UT5EDe2cu2E/6O4igUr5PSFs23nvvukicWHx6GnOPlHAiiYbzNuCRQCuiUdHJQcqKalLKlrYJnjY0ySGsXNQXQ==}
+
+ roughjs@4.6.6:
+ resolution: {integrity: sha512-ZUz/69+SYpFN/g/lUlo2FXcIjRkSu3nDarreVdGGndHEBJ6cXPdKguS8JGxwj5HA5xIbVKSmLgr5b3AWxtRfvQ==}
+
run-async@2.4.1:
resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==}
engines: {node: '>=0.12.0'}
@@ -5657,6 +6732,9 @@ packages:
resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
engines: {node: '>=8'}
+ shiki@3.23.0:
+ resolution: {integrity: sha512-55Dj73uq9ZXL5zyeRPzHQsK7Nbyt6Y10k5s7OjuFZGMhpp4r/rsLBH0o/0fstIzX1Lep9VxefWljK/SKCzygIA==}
+
side-channel@1.0.6:
resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==}
engines: {node: '>= 0.4'}
@@ -5765,6 +6843,12 @@ packages:
resolution: {integrity: sha512-yf7OENo23AGJhBriGx0QivY5JP6Y1HbrrDI6WLt6C5auYZXlQrheoY8hD4ibekFKz1HOfE48Ww8kMWMnJD/zcQ==}
engines: {node: '>=0.1.14'}
+ streamdown@2.3.0:
+ resolution: {integrity: sha512-OqS3by/lt91lSicE8RQP2nTsYI6Q/dQgGP2vcyn9YesCmRHhNjswAuBAZA1z0F4+oBU3II/eV51LqjCqwTb1lw==}
+ peerDependencies:
+ react: ^18.0.0 || ^19.0.0
+ react-dom: ^18.0.0 || ^19.0.0
+
string-argv@0.3.2:
resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==}
engines: {node: '>=0.6.19'}
@@ -5856,9 +6940,18 @@ packages:
resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
engines: {node: '>=8'}
+ style-mod@4.1.3:
+ resolution: {integrity: sha512-i/n8VsZydrugj3Iuzll8+x/00GH2vnYsk1eomD8QiRrSAeW6ItbCQDtfXCeJHd0iwiNagqjQkvpvREEPtW3IoQ==}
+
+ style-to-js@1.1.21:
+ resolution: {integrity: sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ==}
+
style-to-object@0.3.0:
resolution: {integrity: sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==}
+ style-to-object@1.0.14:
+ resolution: {integrity: sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==}
+
style-to-object@1.0.8:
resolution: {integrity: sha512-xT47I/Eo0rwJmaXC4oilDGDWLohVhR6o/xAQcPQN8q6QBuZVL8qMYL85kLmST5cPjAorwvqIA4qXTRQoYHaL6g==}
@@ -5879,6 +6972,9 @@ packages:
stylis@4.3.4:
resolution: {integrity: sha512-osIBl6BGUmSfDkyH2mB7EFvCJntXDrLhKjHTRj/rK6xLH0yuPrHULDRQzKokSOD4VoorhtKpfcfW1GAntu8now==}
+ stylis@4.3.6:
+ resolution: {integrity: sha512-yQ3rwFWRfwNUY7H5vpU0wfdkNSnvnJinhF9830Swlaxl03zsOjCfmX0ugac+3LtK0lYSgwL/KXc8oYL3mG4YFQ==}
+
supercluster@7.1.5:
resolution: {integrity: sha512-EulshI3pGUM66o6ZdH3ReiFcvHpM3vAigyK+vcxdjpJyEbIIrtbmBdY23mGgnI24uXiGFvrGq9Gkum/8U7vJWg==}
@@ -5914,6 +7010,9 @@ packages:
resolution: {integrity: sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw==}
engines: {node: ^14.18.0 || >=16.0.0}
+ tailwind-merge@3.5.0:
+ resolution: {integrity: sha512-I8K9wewnVDkL1NTGoqWmVEIlUcB9gFriAEkXkfCjX5ib8ezGxtR3xD7iZIxrfArjEsH7F1CHD4RFUtxefdqV/A==}
+
tape@4.17.0:
resolution: {integrity: sha512-KCuXjYxCZ3ru40dmND+oCLsXyuA8hoseu2SS404Px5ouyS0A99v8X/mdiLqsR5MTAyamMBN7PRwt2Dv3+xGIxw==}
hasBin: true
@@ -5961,6 +7060,10 @@ packages:
tinyexec@0.3.0:
resolution: {integrity: sha512-tVGE0mVJPGb0chKhqmsoosjsS+qUnJVGJpZgsHYQcGoPlG3B51R3PouqTgEGH2Dc9jjFyOqOpix6ZHNMXp1FZg==}
+ tinyexec@1.0.2:
+ resolution: {integrity: sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==}
+ engines: {node: '>=18'}
+
tinyqueue@2.0.3:
resolution: {integrity: sha512-ppJZNDuKGgxzkHihX8v9v9G5f+18gzaTfrukGrq6ueg0lmH4nqVnA2IPG0AEH3jKEk2GRJCUhDoqpoiw3PHLBA==}
@@ -6009,6 +7112,10 @@ packages:
peerDependencies:
typescript: '>=4.2.0'
+ ts-dedent@2.2.0:
+ resolution: {integrity: sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==}
+ engines: {node: '>=6.10'}
+
ts-pattern@4.0.4:
resolution: {integrity: sha512-gDKHf3T+4X2w5k5IpD4FQ6P5b0LRYW7sJdf/yG7uAdxKitgk2Z8UZLdSBjrXs5mI0Vq6E/hRQd6+Kh3FbdjBzw==}
@@ -6088,6 +7195,9 @@ packages:
ufo@1.5.4:
resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==}
+ ufo@1.6.3:
+ resolution: {integrity: sha512-yDJTmhydvl5lJzBmy/hyOAA0d+aqCBuwl818haVdYCRrWV84o7YyeVm4QlVHStqNrrJSTb6jKuFAVqAFsr+K3Q==}
+
uglify-js@2.8.29:
resolution: {integrity: sha512-qLq/4y2pjcU3vhlhseXGGJ7VbFO4pBANu0kwl8VCa9KEI0V8VfZIx2Fy3w01iSTA/pGwKZSmu/+I4etLNDdt5w==}
engines: {node: '>=0.8.0'}
@@ -6162,6 +7272,9 @@ packages:
unist-util-position@5.0.0:
resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==}
+ unist-util-remove-position@5.0.0:
+ resolution: {integrity: sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==}
+
unist-util-stringify-position@3.0.3:
resolution: {integrity: sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==}
@@ -6301,6 +7414,21 @@ packages:
validate-npm-package-name@3.0.0:
resolution: {integrity: sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw==}
+ validate.io-array@1.0.6:
+ resolution: {integrity: sha512-DeOy7CnPEziggrOO5CZhVKJw6S3Yi7e9e65R1Nl/RTN1vTQKnzjfvks0/8kQ40FP/dsjRAOd4hxmJ7uLa6vxkg==}
+
+ validate.io-function@1.0.2:
+ resolution: {integrity: sha512-LlFybRJEriSuBnUhQyG5bwglhh50EpTL2ul23MPIuR1odjO7XaMLFV8vHGwp7AZciFxtYOeiSCT5st+XSPONiQ==}
+
+ validate.io-integer-array@1.0.0:
+ resolution: {integrity: sha512-mTrMk/1ytQHtCY0oNO3dztafHYyGU88KL+jRxWuzfOmQb+4qqnWmI+gykvGp8usKZOM0H7keJHEbRaFiYA0VrA==}
+
+ validate.io-integer@1.0.5:
+ resolution: {integrity: sha512-22izsYSLojN/P6bppBqhgUDjCkr5RY2jd+N2a3DCAUey8ydvrZ/OkGvFPR7qfOpwR2LC5p4Ngzxz36g5Vgr/hQ==}
+
+ validate.io-number@1.0.3:
+ resolution: {integrity: sha512-kRAyotcbNaSYoDnXvb4MHg/0a1egJdLwS6oJ38TJY7aw9n93Fl/3blIXdyYvPOp55CNxywooG/3BcrwNrBpcSg==}
+
vfile-location@4.1.0:
resolution: {integrity: sha512-YF23YMyASIIJXpktBa4vIGLJ5Gs88UB/XePgqPmTa7cDA+JeO3yclbpheQYCHjVHBn/yePzrXuygIL+xbvRYHw==}
@@ -6354,9 +7482,40 @@ packages:
terser:
optional: true
+ vscode-jsonrpc@8.2.0:
+ resolution: {integrity: sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==}
+ engines: {node: '>=14.0.0'}
+
+ vscode-languageserver-protocol@3.17.5:
+ resolution: {integrity: sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==}
+
+ vscode-languageserver-textdocument@1.0.12:
+ resolution: {integrity: sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==}
+
+ vscode-languageserver-types@3.17.5:
+ resolution: {integrity: sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==}
+
+ vscode-languageserver@9.0.1:
+ resolution: {integrity: sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==}
+ hasBin: true
+
+ vscode-uri@3.1.0:
+ resolution: {integrity: sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==}
+
vt-pbf@3.1.3:
resolution: {integrity: sha512-2LzDFzt0mZKZ9IpVF2r69G9bXaP2Q2sArJCmcCgvfTdCCZzSyz4aCLoQyUilu37Ll56tCblIZrXFIjNUpGIlmA==}
+ vue@3.5.29:
+ resolution: {integrity: sha512-BZqN4Ze6mDQVNAni0IHeMJ5mwr8VAJ3MQC9FmprRhcBYENw+wOAAjRj8jfmN6FLl0j96OXbR+CjWhmAmM+QGnA==}
+ peerDependencies:
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
+ w3c-keyname@2.2.8:
+ resolution: {integrity: sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==}
+
warning@4.0.3:
resolution: {integrity: sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==}
@@ -6473,6 +7632,22 @@ packages:
resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==}
engines: {node: '>=0.4'}
+ y-prosemirror@1.3.7:
+ resolution: {integrity: sha512-NpM99WSdD4Fx4if5xOMDpPtU3oAmTSjlzh5U4353ABbRHl1HtAFUx6HlebLZfyFxXN9jzKMDkVbcRjqOZVkYQg==}
+ engines: {node: '>=16.0.0', npm: '>=8.0.0'}
+ peerDependencies:
+ prosemirror-model: ^1.7.1
+ prosemirror-state: ^1.2.3
+ prosemirror-view: ^1.9.10
+ y-protocols: ^1.0.1
+ yjs: ^13.5.38
+
+ y-protocols@1.0.7:
+ resolution: {integrity: sha512-YSVsLoXxO67J6eE/nV4AtFtT3QEotZf5sK5BHxFBXso7VDUT3Tx07IfA6hsu5Q5OmBdMkQVmFZ9QOA7fikWvnw==}
+ engines: {node: '>=16.0.0', npm: '>=8.0.0'}
+ peerDependencies:
+ yjs: ^13.0.0
+
y18n@4.0.3:
resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==}
@@ -6508,6 +7683,10 @@ packages:
yargs@3.10.0:
resolution: {integrity: sha512-QFzUah88GAGy9lyDKGBqZdkYApt63rCXYBGYnEP4xDJPXNqXXnBDACnbrXnViV6jRSqAePwrATi2i8mfYm4L1A==}
+ yjs@13.6.29:
+ resolution: {integrity: sha512-kHqDPdltoXH+X4w1lVmMtddE3Oeqq48nM40FD5ojTd8xYhQpzIDcfE2keMSU5bAgRPJBe225WTUdyUgj1DtbiQ==}
+ engines: {node: '>=16.0.0', npm: '>=8.0.0'}
+
yocto-queue@0.1.0:
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
engines: {node: '>=10'}
@@ -6590,14 +7769,14 @@ snapshots:
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
- '@ant-design/pro-card@2.9.2(antd@5.21.2(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@ant-design/pro-card@2.9.2(antd@5.21.2(date-fns@2.30.0)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
'@ant-design/cssinjs': 1.21.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@ant-design/icons': 5.5.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@ant-design/pro-provider': 2.15.2(antd@5.21.2(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@ant-design/pro-utils': 2.16.2(antd@5.21.2(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@ant-design/pro-provider': 2.15.2(antd@5.21.2(date-fns@2.30.0)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@ant-design/pro-utils': 2.16.2(antd@5.21.2(date-fns@2.30.0)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@babel/runtime': 7.25.7
- antd: 5.21.2(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ antd: 5.21.2(date-fns@2.30.0)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
classnames: 2.5.1
omit.js: 2.0.2
rc-resize-observer: 1.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
@@ -6606,34 +7785,34 @@ snapshots:
transitivePeerDependencies:
- react-dom
- '@ant-design/pro-components@2.8.2(antd@5.21.2(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(rc-field-form@2.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@ant-design/pro-card': 2.9.2(antd@5.21.2(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@ant-design/pro-descriptions': 2.6.2(antd@5.21.2(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(rc-field-form@2.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@ant-design/pro-field': 2.17.2(antd@5.21.2(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@ant-design/pro-form': 2.31.2(antd@5.21.2(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(rc-field-form@2.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@ant-design/pro-layout': 7.21.2(antd@5.21.2(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@ant-design/pro-list': 2.6.2(antd@5.21.2(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(rc-field-form@2.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@ant-design/pro-provider': 2.15.2(antd@5.21.2(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@ant-design/pro-skeleton': 2.2.1(antd@5.21.2(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@ant-design/pro-table': 3.18.2(antd@5.21.2(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(rc-field-form@2.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@ant-design/pro-utils': 2.16.2(antd@5.21.2(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@ant-design/pro-components@2.8.2(antd@5.21.2(date-fns@2.30.0)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(rc-field-form@2.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@ant-design/pro-card': 2.9.2(antd@5.21.2(date-fns@2.30.0)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@ant-design/pro-descriptions': 2.6.2(antd@5.21.2(date-fns@2.30.0)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(rc-field-form@2.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@ant-design/pro-field': 2.17.2(antd@5.21.2(date-fns@2.30.0)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@ant-design/pro-form': 2.31.2(antd@5.21.2(date-fns@2.30.0)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(rc-field-form@2.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@ant-design/pro-layout': 7.21.2(antd@5.21.2(date-fns@2.30.0)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@ant-design/pro-list': 2.6.2(antd@5.21.2(date-fns@2.30.0)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(rc-field-form@2.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@ant-design/pro-provider': 2.15.2(antd@5.21.2(date-fns@2.30.0)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@ant-design/pro-skeleton': 2.2.1(antd@5.21.2(date-fns@2.30.0)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@ant-design/pro-table': 3.18.2(antd@5.21.2(date-fns@2.30.0)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(rc-field-form@2.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@ant-design/pro-utils': 2.16.2(antd@5.21.2(date-fns@2.30.0)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@babel/runtime': 7.25.7
- antd: 5.21.2(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ antd: 5.21.2(date-fns@2.30.0)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
transitivePeerDependencies:
- rc-field-form
- '@ant-design/pro-descriptions@2.6.2(antd@5.21.2(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(rc-field-form@2.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@ant-design/pro-descriptions@2.6.2(antd@5.21.2(date-fns@2.30.0)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(rc-field-form@2.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
- '@ant-design/pro-field': 2.17.2(antd@5.21.2(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@ant-design/pro-form': 2.31.2(antd@5.21.2(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(rc-field-form@2.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@ant-design/pro-provider': 2.15.2(antd@5.21.2(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@ant-design/pro-skeleton': 2.2.1(antd@5.21.2(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@ant-design/pro-utils': 2.16.2(antd@5.21.2(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@ant-design/pro-field': 2.17.2(antd@5.21.2(date-fns@2.30.0)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@ant-design/pro-form': 2.31.2(antd@5.21.2(date-fns@2.30.0)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(rc-field-form@2.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@ant-design/pro-provider': 2.15.2(antd@5.21.2(date-fns@2.30.0)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@ant-design/pro-skeleton': 2.2.1(antd@5.21.2(date-fns@2.30.0)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@ant-design/pro-utils': 2.16.2(antd@5.21.2(date-fns@2.30.0)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@babel/runtime': 7.25.7
- antd: 5.21.2(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ antd: 5.21.2(date-fns@2.30.0)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
rc-resize-observer: 0.2.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
rc-util: 5.43.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
react: 18.3.1
@@ -6641,14 +7820,14 @@ snapshots:
- rc-field-form
- react-dom
- '@ant-design/pro-field@2.17.2(antd@5.21.2(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@ant-design/pro-field@2.17.2(antd@5.21.2(date-fns@2.30.0)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
'@ant-design/icons': 5.5.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@ant-design/pro-provider': 2.15.2(antd@5.21.2(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@ant-design/pro-utils': 2.16.2(antd@5.21.2(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@ant-design/pro-provider': 2.15.2(antd@5.21.2(date-fns@2.30.0)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@ant-design/pro-utils': 2.16.2(antd@5.21.2(date-fns@2.30.0)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@babel/runtime': 7.25.7
'@chenshuai2144/sketch-color': 1.0.9(react@18.3.1)
- antd: 5.21.2(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ antd: 5.21.2(date-fns@2.30.0)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
classnames: 2.5.1
dayjs: 1.11.13
lodash: 4.17.21
@@ -6660,16 +7839,16 @@ snapshots:
transitivePeerDependencies:
- react-dom
- '@ant-design/pro-form@2.31.2(antd@5.21.2(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(rc-field-form@2.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@ant-design/pro-form@2.31.2(antd@5.21.2(date-fns@2.30.0)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(rc-field-form@2.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
'@ant-design/icons': 5.5.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@ant-design/pro-field': 2.17.2(antd@5.21.2(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@ant-design/pro-provider': 2.15.2(antd@5.21.2(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@ant-design/pro-utils': 2.16.2(antd@5.21.2(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@ant-design/pro-field': 2.17.2(antd@5.21.2(date-fns@2.30.0)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@ant-design/pro-provider': 2.15.2(antd@5.21.2(date-fns@2.30.0)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@ant-design/pro-utils': 2.16.2(antd@5.21.2(date-fns@2.30.0)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@babel/runtime': 7.25.7
'@chenshuai2144/sketch-color': 1.0.9(react@18.3.1)
'@umijs/use-params': 1.0.9(react@18.3.1)
- antd: 5.21.2(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ antd: 5.21.2(date-fns@2.30.0)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
classnames: 2.5.1
dayjs: 1.11.13
lodash: 4.17.21
@@ -6681,16 +7860,16 @@ snapshots:
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
- '@ant-design/pro-layout@7.21.2(antd@5.21.2(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@ant-design/pro-layout@7.21.2(antd@5.21.2(date-fns@2.30.0)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
'@ant-design/cssinjs': 1.21.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@ant-design/icons': 5.5.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@ant-design/pro-provider': 2.15.2(antd@5.21.2(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@ant-design/pro-utils': 2.16.2(antd@5.21.2(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@ant-design/pro-provider': 2.15.2(antd@5.21.2(date-fns@2.30.0)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@ant-design/pro-utils': 2.16.2(antd@5.21.2(date-fns@2.30.0)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@babel/runtime': 7.25.7
'@umijs/route-utils': 4.0.1
'@umijs/use-params': 1.0.9(react@18.3.1)
- antd: 5.21.2(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ antd: 5.21.2(date-fns@2.30.0)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
classnames: 2.5.1
lodash: 4.17.21
lodash-es: 4.17.21
@@ -6703,16 +7882,16 @@ snapshots:
swr: 2.2.5(react@18.3.1)
warning: 4.0.3
- '@ant-design/pro-list@2.6.2(antd@5.21.2(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(rc-field-form@2.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@ant-design/pro-list@2.6.2(antd@5.21.2(date-fns@2.30.0)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(rc-field-form@2.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
'@ant-design/cssinjs': 1.21.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@ant-design/icons': 5.5.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@ant-design/pro-card': 2.9.2(antd@5.21.2(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@ant-design/pro-field': 2.17.2(antd@5.21.2(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@ant-design/pro-table': 3.18.2(antd@5.21.2(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(rc-field-form@2.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@ant-design/pro-utils': 2.16.2(antd@5.21.2(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@ant-design/pro-card': 2.9.2(antd@5.21.2(date-fns@2.30.0)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@ant-design/pro-field': 2.17.2(antd@5.21.2(date-fns@2.30.0)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@ant-design/pro-table': 3.18.2(antd@5.21.2(date-fns@2.30.0)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(rc-field-form@2.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@ant-design/pro-utils': 2.16.2(antd@5.21.2(date-fns@2.30.0)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@babel/runtime': 7.25.7
- antd: 5.21.2(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ antd: 5.21.2(date-fns@2.30.0)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
classnames: 2.5.1
dayjs: 1.11.13
rc-resize-observer: 1.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
@@ -6722,40 +7901,40 @@ snapshots:
transitivePeerDependencies:
- rc-field-form
- '@ant-design/pro-provider@2.15.2(antd@5.21.2(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@ant-design/pro-provider@2.15.2(antd@5.21.2(date-fns@2.30.0)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
'@ant-design/cssinjs': 1.21.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@babel/runtime': 7.25.7
'@ctrl/tinycolor': 3.6.1
- antd: 5.21.2(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ antd: 5.21.2(date-fns@2.30.0)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
dayjs: 1.11.13
rc-util: 5.43.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
swr: 2.2.5(react@18.3.1)
- '@ant-design/pro-skeleton@2.2.1(antd@5.21.2(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@ant-design/pro-skeleton@2.2.1(antd@5.21.2(date-fns@2.30.0)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
'@babel/runtime': 7.25.7
- antd: 5.21.2(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ antd: 5.21.2(date-fns@2.30.0)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
- '@ant-design/pro-table@3.18.2(antd@5.21.2(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(rc-field-form@2.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@ant-design/pro-table@3.18.2(antd@5.21.2(date-fns@2.30.0)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(rc-field-form@2.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
'@ant-design/cssinjs': 1.21.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@ant-design/icons': 5.5.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@ant-design/pro-card': 2.9.2(antd@5.21.2(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@ant-design/pro-field': 2.17.2(antd@5.21.2(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@ant-design/pro-form': 2.31.2(antd@5.21.2(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(rc-field-form@2.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@ant-design/pro-provider': 2.15.2(antd@5.21.2(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@ant-design/pro-utils': 2.16.2(antd@5.21.2(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@ant-design/pro-card': 2.9.2(antd@5.21.2(date-fns@2.30.0)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@ant-design/pro-field': 2.17.2(antd@5.21.2(date-fns@2.30.0)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@ant-design/pro-form': 2.31.2(antd@5.21.2(date-fns@2.30.0)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(rc-field-form@2.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@ant-design/pro-provider': 2.15.2(antd@5.21.2(date-fns@2.30.0)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@ant-design/pro-utils': 2.16.2(antd@5.21.2(date-fns@2.30.0)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@babel/runtime': 7.25.7
'@dnd-kit/core': 6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@dnd-kit/modifiers': 6.0.1(@dnd-kit/core@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)
'@dnd-kit/sortable': 7.0.2(@dnd-kit/core@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)
'@dnd-kit/utilities': 3.2.2(react@18.3.1)
- antd: 5.21.2(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ antd: 5.21.2(date-fns@2.30.0)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
classnames: 2.5.1
dayjs: 1.11.13
lodash: 4.17.21
@@ -6767,12 +7946,12 @@ snapshots:
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
- '@ant-design/pro-utils@2.16.2(antd@5.21.2(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@ant-design/pro-utils@2.16.2(antd@5.21.2(date-fns@2.30.0)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
'@ant-design/icons': 5.5.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@ant-design/pro-provider': 2.15.2(antd@5.21.2(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@ant-design/pro-provider': 2.15.2(antd@5.21.2(date-fns@2.30.0)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@babel/runtime': 7.25.7
- antd: 5.21.2(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ antd: 5.21.2(date-fns@2.30.0)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
classnames: 2.5.1
dayjs: 1.11.13
lodash: 4.17.21
@@ -6797,6 +7976,11 @@ snapshots:
package-manager-detector: 0.2.1
tinyexec: 0.3.0
+ '@antfu/install-pkg@1.1.0':
+ dependencies:
+ package-manager-detector: 1.6.0
+ tinyexec: 1.0.2
+
'@antfu/utils@0.7.10': {}
'@antv/adjust@0.2.5':
@@ -7362,10 +8546,14 @@ snapshots:
'@babel/helper-string-parser@7.25.9': {}
+ '@babel/helper-string-parser@7.27.1': {}
+
'@babel/helper-validator-identifier@7.25.7': {}
'@babel/helper-validator-identifier@7.25.9': {}
+ '@babel/helper-validator-identifier@7.28.5': {}
+
'@babel/helper-validator-option@7.25.7': {}
'@babel/helpers@7.25.7':
@@ -7384,6 +8572,10 @@ snapshots:
dependencies:
'@babel/types': 7.26.0
+ '@babel/parser@7.29.0':
+ dependencies:
+ '@babel/types': 7.29.0
+
'@babel/plugin-syntax-jsx@7.25.7(@babel/core@7.25.7)':
dependencies:
'@babel/core': 7.25.7
@@ -7490,12 +8682,291 @@ snapshots:
'@babel/helper-string-parser': 7.25.9
'@babel/helper-validator-identifier': 7.25.9
+ '@babel/types@7.29.0':
+ dependencies:
+ '@babel/helper-string-parser': 7.27.1
+ '@babel/helper-validator-identifier': 7.28.5
+
+ '@braintree/sanitize-url@7.1.2': {}
+
'@chenshuai2144/sketch-color@1.0.9(react@18.3.1)':
dependencies:
react: 18.3.1
reactcss: 1.2.3(react@18.3.1)
tinycolor2: 1.6.0
+ '@chevrotain/cst-dts-gen@11.1.2':
+ dependencies:
+ '@chevrotain/gast': 11.1.2
+ '@chevrotain/types': 11.1.2
+ lodash-es: 4.17.23
+
+ '@chevrotain/gast@11.1.2':
+ dependencies:
+ '@chevrotain/types': 11.1.2
+ lodash-es: 4.17.23
+
+ '@chevrotain/regexp-to-ast@11.1.2': {}
+
+ '@chevrotain/types@11.1.2': {}
+
+ '@chevrotain/utils@11.1.2': {}
+
+ '@codemirror/autocomplete@6.20.1':
+ dependencies:
+ '@codemirror/language': 6.12.2
+ '@codemirror/state': 6.5.4
+ '@codemirror/view': 6.39.16
+ '@lezer/common': 1.5.1
+
+ '@codemirror/commands@6.10.2':
+ dependencies:
+ '@codemirror/language': 6.12.2
+ '@codemirror/state': 6.5.4
+ '@codemirror/view': 6.39.16
+ '@lezer/common': 1.5.1
+
+ '@codemirror/lang-angular@0.1.4':
+ dependencies:
+ '@codemirror/lang-html': 6.4.11
+ '@codemirror/lang-javascript': 6.2.5
+ '@codemirror/language': 6.12.2
+ '@lezer/common': 1.5.1
+ '@lezer/highlight': 1.2.3
+ '@lezer/lr': 1.4.8
+
+ '@codemirror/lang-cpp@6.0.3':
+ dependencies:
+ '@codemirror/language': 6.12.2
+ '@lezer/cpp': 1.1.5
+
+ '@codemirror/lang-css@6.3.1':
+ dependencies:
+ '@codemirror/autocomplete': 6.20.1
+ '@codemirror/language': 6.12.2
+ '@codemirror/state': 6.5.4
+ '@lezer/common': 1.5.1
+ '@lezer/css': 1.3.1
+
+ '@codemirror/lang-go@6.0.1':
+ dependencies:
+ '@codemirror/autocomplete': 6.20.1
+ '@codemirror/language': 6.12.2
+ '@codemirror/state': 6.5.4
+ '@lezer/common': 1.5.1
+ '@lezer/go': 1.0.1
+
+ '@codemirror/lang-html@6.4.11':
+ dependencies:
+ '@codemirror/autocomplete': 6.20.1
+ '@codemirror/lang-css': 6.3.1
+ '@codemirror/lang-javascript': 6.2.5
+ '@codemirror/language': 6.12.2
+ '@codemirror/state': 6.5.4
+ '@codemirror/view': 6.39.16
+ '@lezer/common': 1.5.1
+ '@lezer/css': 1.3.1
+ '@lezer/html': 1.3.13
+
+ '@codemirror/lang-java@6.0.2':
+ dependencies:
+ '@codemirror/language': 6.12.2
+ '@lezer/java': 1.1.3
+
+ '@codemirror/lang-javascript@6.2.5':
+ dependencies:
+ '@codemirror/autocomplete': 6.20.1
+ '@codemirror/language': 6.12.2
+ '@codemirror/lint': 6.9.5
+ '@codemirror/state': 6.5.4
+ '@codemirror/view': 6.39.16
+ '@lezer/common': 1.5.1
+ '@lezer/javascript': 1.5.4
+
+ '@codemirror/lang-jinja@6.0.0':
+ dependencies:
+ '@codemirror/lang-html': 6.4.11
+ '@codemirror/language': 6.12.2
+ '@lezer/common': 1.5.1
+ '@lezer/highlight': 1.2.3
+ '@lezer/lr': 1.4.8
+
+ '@codemirror/lang-json@6.0.2':
+ dependencies:
+ '@codemirror/language': 6.12.2
+ '@lezer/json': 1.0.3
+
+ '@codemirror/lang-less@6.0.2':
+ dependencies:
+ '@codemirror/lang-css': 6.3.1
+ '@codemirror/language': 6.12.2
+ '@lezer/common': 1.5.1
+ '@lezer/highlight': 1.2.3
+ '@lezer/lr': 1.4.8
+
+ '@codemirror/lang-liquid@6.3.2':
+ dependencies:
+ '@codemirror/autocomplete': 6.20.1
+ '@codemirror/lang-html': 6.4.11
+ '@codemirror/language': 6.12.2
+ '@codemirror/state': 6.5.4
+ '@codemirror/view': 6.39.16
+ '@lezer/common': 1.5.1
+ '@lezer/highlight': 1.2.3
+ '@lezer/lr': 1.4.8
+
+ '@codemirror/lang-markdown@6.5.0':
+ dependencies:
+ '@codemirror/autocomplete': 6.20.1
+ '@codemirror/lang-html': 6.4.11
+ '@codemirror/language': 6.12.2
+ '@codemirror/state': 6.5.4
+ '@codemirror/view': 6.39.16
+ '@lezer/common': 1.5.1
+ '@lezer/markdown': 1.6.3
+
+ '@codemirror/lang-php@6.0.2':
+ dependencies:
+ '@codemirror/lang-html': 6.4.11
+ '@codemirror/language': 6.12.2
+ '@codemirror/state': 6.5.4
+ '@lezer/common': 1.5.1
+ '@lezer/php': 1.0.5
+
+ '@codemirror/lang-python@6.2.1':
+ dependencies:
+ '@codemirror/autocomplete': 6.20.1
+ '@codemirror/language': 6.12.2
+ '@codemirror/state': 6.5.4
+ '@lezer/common': 1.5.1
+ '@lezer/python': 1.1.18
+
+ '@codemirror/lang-rust@6.0.2':
+ dependencies:
+ '@codemirror/language': 6.12.2
+ '@lezer/rust': 1.0.2
+
+ '@codemirror/lang-sass@6.0.2':
+ dependencies:
+ '@codemirror/lang-css': 6.3.1
+ '@codemirror/language': 6.12.2
+ '@codemirror/state': 6.5.4
+ '@lezer/common': 1.5.1
+ '@lezer/sass': 1.1.0
+
+ '@codemirror/lang-sql@6.10.0':
+ dependencies:
+ '@codemirror/autocomplete': 6.20.1
+ '@codemirror/language': 6.12.2
+ '@codemirror/state': 6.5.4
+ '@lezer/common': 1.5.1
+ '@lezer/highlight': 1.2.3
+ '@lezer/lr': 1.4.8
+
+ '@codemirror/lang-vue@0.1.3':
+ dependencies:
+ '@codemirror/lang-html': 6.4.11
+ '@codemirror/lang-javascript': 6.2.5
+ '@codemirror/language': 6.12.2
+ '@lezer/common': 1.5.1
+ '@lezer/highlight': 1.2.3
+ '@lezer/lr': 1.4.8
+
+ '@codemirror/lang-wast@6.0.2':
+ dependencies:
+ '@codemirror/language': 6.12.2
+ '@lezer/common': 1.5.1
+ '@lezer/highlight': 1.2.3
+ '@lezer/lr': 1.4.8
+
+ '@codemirror/lang-xml@6.1.0':
+ dependencies:
+ '@codemirror/autocomplete': 6.20.1
+ '@codemirror/language': 6.12.2
+ '@codemirror/state': 6.5.4
+ '@codemirror/view': 6.39.16
+ '@lezer/common': 1.5.1
+ '@lezer/xml': 1.0.6
+
+ '@codemirror/lang-yaml@6.1.2':
+ dependencies:
+ '@codemirror/autocomplete': 6.20.1
+ '@codemirror/language': 6.12.2
+ '@codemirror/state': 6.5.4
+ '@lezer/common': 1.5.1
+ '@lezer/highlight': 1.2.3
+ '@lezer/lr': 1.4.8
+ '@lezer/yaml': 1.0.4
+
+ '@codemirror/language-data@6.5.2':
+ dependencies:
+ '@codemirror/lang-angular': 0.1.4
+ '@codemirror/lang-cpp': 6.0.3
+ '@codemirror/lang-css': 6.3.1
+ '@codemirror/lang-go': 6.0.1
+ '@codemirror/lang-html': 6.4.11
+ '@codemirror/lang-java': 6.0.2
+ '@codemirror/lang-javascript': 6.2.5
+ '@codemirror/lang-jinja': 6.0.0
+ '@codemirror/lang-json': 6.0.2
+ '@codemirror/lang-less': 6.0.2
+ '@codemirror/lang-liquid': 6.3.2
+ '@codemirror/lang-markdown': 6.5.0
+ '@codemirror/lang-php': 6.0.2
+ '@codemirror/lang-python': 6.2.1
+ '@codemirror/lang-rust': 6.0.2
+ '@codemirror/lang-sass': 6.0.2
+ '@codemirror/lang-sql': 6.10.0
+ '@codemirror/lang-vue': 0.1.3
+ '@codemirror/lang-wast': 6.0.2
+ '@codemirror/lang-xml': 6.1.0
+ '@codemirror/lang-yaml': 6.1.2
+ '@codemirror/language': 6.12.2
+ '@codemirror/legacy-modes': 6.5.2
+
+ '@codemirror/language@6.12.2':
+ dependencies:
+ '@codemirror/state': 6.5.4
+ '@codemirror/view': 6.39.16
+ '@lezer/common': 1.5.1
+ '@lezer/highlight': 1.2.3
+ '@lezer/lr': 1.4.8
+ style-mod: 4.1.3
+
+ '@codemirror/legacy-modes@6.5.2':
+ dependencies:
+ '@codemirror/language': 6.12.2
+
+ '@codemirror/lint@6.9.5':
+ dependencies:
+ '@codemirror/state': 6.5.4
+ '@codemirror/view': 6.39.16
+ crelt: 1.0.6
+
+ '@codemirror/search@6.6.0':
+ dependencies:
+ '@codemirror/state': 6.5.4
+ '@codemirror/view': 6.39.16
+ crelt: 1.0.6
+
+ '@codemirror/state@6.5.4':
+ dependencies:
+ '@marijn/find-cluster-break': 1.0.2
+
+ '@codemirror/theme-one-dark@6.1.3':
+ dependencies:
+ '@codemirror/language': 6.12.2
+ '@codemirror/state': 6.5.4
+ '@codemirror/view': 6.39.16
+ '@lezer/highlight': 1.2.3
+
+ '@codemirror/view@6.39.16':
+ dependencies:
+ '@codemirror/state': 6.5.4
+ crelt: 1.0.6
+ style-mod: 4.1.3
+ w3c-keyname: 2.2.8
+
'@commitlint/cli@19.6.1(@types/node@22.13.14)(typescript@5.6.2)':
dependencies:
'@commitlint/format': 19.5.0
@@ -7770,6 +9241,17 @@ snapshots:
'@eslint/js@8.57.1': {}
+ '@floating-ui/core@1.7.5':
+ dependencies:
+ '@floating-ui/utils': 0.2.11
+
+ '@floating-ui/dom@1.7.6':
+ dependencies:
+ '@floating-ui/core': 1.7.5
+ '@floating-ui/utils': 0.2.11
+
+ '@floating-ui/utils@0.2.11': {}
+
'@hello-pangea/dnd@16.5.0(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
'@babel/runtime': 7.25.7
@@ -7812,6 +9294,12 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ '@iconify/utils@3.1.0':
+ dependencies:
+ '@antfu/install-pkg': 1.1.0
+ '@iconify/types': 2.0.0
+ mlly: 1.8.0
+
'@jridgewell/gen-mapping@0.3.5':
dependencies:
'@jridgewell/set-array': 1.2.1
@@ -7830,6 +9318,8 @@ snapshots:
'@jridgewell/sourcemap-codec@1.5.0': {}
+ '@jridgewell/sourcemap-codec@1.5.5': {}
+
'@jridgewell/trace-mapping@0.3.25':
dependencies:
'@jridgewell/resolve-uri': 3.1.2
@@ -7837,6 +9327,99 @@ snapshots:
'@juggle/resize-observer@3.4.0': {}
+ '@lezer/common@1.5.1': {}
+
+ '@lezer/cpp@1.1.5':
+ dependencies:
+ '@lezer/common': 1.5.1
+ '@lezer/highlight': 1.2.3
+ '@lezer/lr': 1.4.8
+
+ '@lezer/css@1.3.1':
+ dependencies:
+ '@lezer/common': 1.5.1
+ '@lezer/highlight': 1.2.3
+ '@lezer/lr': 1.4.8
+
+ '@lezer/go@1.0.1':
+ dependencies:
+ '@lezer/common': 1.5.1
+ '@lezer/highlight': 1.2.3
+ '@lezer/lr': 1.4.8
+
+ '@lezer/highlight@1.2.3':
+ dependencies:
+ '@lezer/common': 1.5.1
+
+ '@lezer/html@1.3.13':
+ dependencies:
+ '@lezer/common': 1.5.1
+ '@lezer/highlight': 1.2.3
+ '@lezer/lr': 1.4.8
+
+ '@lezer/java@1.1.3':
+ dependencies:
+ '@lezer/common': 1.5.1
+ '@lezer/highlight': 1.2.3
+ '@lezer/lr': 1.4.8
+
+ '@lezer/javascript@1.5.4':
+ dependencies:
+ '@lezer/common': 1.5.1
+ '@lezer/highlight': 1.2.3
+ '@lezer/lr': 1.4.8
+
+ '@lezer/json@1.0.3':
+ dependencies:
+ '@lezer/common': 1.5.1
+ '@lezer/highlight': 1.2.3
+ '@lezer/lr': 1.4.8
+
+ '@lezer/lr@1.4.8':
+ dependencies:
+ '@lezer/common': 1.5.1
+
+ '@lezer/markdown@1.6.3':
+ dependencies:
+ '@lezer/common': 1.5.1
+ '@lezer/highlight': 1.2.3
+
+ '@lezer/php@1.0.5':
+ dependencies:
+ '@lezer/common': 1.5.1
+ '@lezer/highlight': 1.2.3
+ '@lezer/lr': 1.4.8
+
+ '@lezer/python@1.1.18':
+ dependencies:
+ '@lezer/common': 1.5.1
+ '@lezer/highlight': 1.2.3
+ '@lezer/lr': 1.4.8
+
+ '@lezer/rust@1.0.2':
+ dependencies:
+ '@lezer/common': 1.5.1
+ '@lezer/highlight': 1.2.3
+ '@lezer/lr': 1.4.8
+
+ '@lezer/sass@1.1.0':
+ dependencies:
+ '@lezer/common': 1.5.1
+ '@lezer/highlight': 1.2.3
+ '@lezer/lr': 1.4.8
+
+ '@lezer/xml@1.0.6':
+ dependencies:
+ '@lezer/common': 1.5.1
+ '@lezer/highlight': 1.2.3
+ '@lezer/lr': 1.4.8
+
+ '@lezer/yaml@1.0.4':
+ dependencies:
+ '@lezer/common': 1.5.1
+ '@lezer/highlight': 1.2.3
+ '@lezer/lr': 1.4.8
+
'@ljharb/resumer@0.0.1':
dependencies:
'@ljharb/through': 2.3.13
@@ -7892,6 +9475,307 @@ snapshots:
rw: 1.3.3
sort-object: 3.0.3
+ '@marijn/find-cluster-break@1.0.2': {}
+
+ '@mermaid-js/parser@1.0.0':
+ dependencies:
+ langium: 4.2.1
+
+ '@milkdown/components@7.19.0(@codemirror/language@6.12.2)(@codemirror/state@6.5.4)(@codemirror/view@6.39.16)(typescript@5.6.2)':
+ dependencies:
+ '@codemirror/language': 6.12.2
+ '@codemirror/state': 6.5.4
+ '@codemirror/view': 6.39.16
+ '@floating-ui/dom': 1.7.6
+ '@milkdown/core': 7.19.0
+ '@milkdown/ctx': 7.19.0
+ '@milkdown/exception': 7.19.0
+ '@milkdown/plugin-tooltip': 7.19.0
+ '@milkdown/preset-commonmark': 7.19.0
+ '@milkdown/preset-gfm': 7.19.0
+ '@milkdown/prose': 7.19.0
+ '@milkdown/transformer': 7.19.0
+ '@milkdown/utils': 7.19.0
+ '@types/lodash-es': 4.17.12
+ clsx: 2.1.1
+ dompurify: 3.3.1
+ lodash-es: 4.17.21
+ nanoid: 5.1.6
+ unist-util-visit: 5.0.0
+ vue: 3.5.29(typescript@5.6.2)
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+
+ '@milkdown/core@7.19.0':
+ dependencies:
+ '@milkdown/ctx': 7.19.0
+ '@milkdown/exception': 7.19.0
+ '@milkdown/prose': 7.19.0
+ '@milkdown/transformer': 7.19.0
+ remark-parse: 11.0.0
+ remark-stringify: 11.0.0
+ unified: 11.0.5
+ transitivePeerDependencies:
+ - supports-color
+
+ '@milkdown/crepe@7.19.0(prosemirror-model@1.25.4)(prosemirror-state@1.4.4)(prosemirror-view@1.41.6)(typescript@5.6.2)':
+ dependencies:
+ '@codemirror/commands': 6.10.2
+ '@codemirror/language': 6.12.2
+ '@codemirror/language-data': 6.5.2
+ '@codemirror/state': 6.5.4
+ '@codemirror/theme-one-dark': 6.1.3
+ '@codemirror/view': 6.39.16
+ '@milkdown/kit': 7.19.0(@codemirror/language@6.12.2)(@codemirror/state@6.5.4)(@codemirror/view@6.39.16)(typescript@5.6.2)
+ '@types/lodash-es': 4.17.12
+ clsx: 2.1.1
+ codemirror: 6.0.2
+ katex: 0.16.33
+ lodash-es: 4.17.21
+ prosemirror-virtual-cursor: 0.4.2(prosemirror-model@1.25.4)(prosemirror-state@1.4.4)(prosemirror-view@1.41.6)
+ remark-math: 6.0.0
+ unist-util-visit: 5.0.0
+ vue: 3.5.29(typescript@5.6.2)
+ transitivePeerDependencies:
+ - prosemirror-model
+ - prosemirror-state
+ - prosemirror-view
+ - supports-color
+ - typescript
+
+ '@milkdown/ctx@7.19.0':
+ dependencies:
+ '@milkdown/exception': 7.19.0
+
+ '@milkdown/exception@7.19.0': {}
+
+ '@milkdown/kit@7.19.0(@codemirror/language@6.12.2)(@codemirror/state@6.5.4)(@codemirror/view@6.39.16)(typescript@5.6.2)':
+ dependencies:
+ '@milkdown/components': 7.19.0(@codemirror/language@6.12.2)(@codemirror/state@6.5.4)(@codemirror/view@6.39.16)(typescript@5.6.2)
+ '@milkdown/core': 7.19.0
+ '@milkdown/ctx': 7.19.0
+ '@milkdown/plugin-block': 7.19.0
+ '@milkdown/plugin-clipboard': 7.19.0
+ '@milkdown/plugin-cursor': 7.19.0
+ '@milkdown/plugin-history': 7.19.0
+ '@milkdown/plugin-indent': 7.19.0
+ '@milkdown/plugin-listener': 7.19.0
+ '@milkdown/plugin-slash': 7.19.0
+ '@milkdown/plugin-tooltip': 7.19.0
+ '@milkdown/plugin-trailing': 7.19.0
+ '@milkdown/plugin-upload': 7.19.0
+ '@milkdown/preset-commonmark': 7.19.0
+ '@milkdown/preset-gfm': 7.19.0
+ '@milkdown/prose': 7.19.0
+ '@milkdown/transformer': 7.19.0
+ '@milkdown/utils': 7.19.0
+ transitivePeerDependencies:
+ - '@codemirror/language'
+ - '@codemirror/state'
+ - '@codemirror/view'
+ - supports-color
+ - typescript
+
+ '@milkdown/plugin-block@7.19.0':
+ dependencies:
+ '@floating-ui/dom': 1.7.6
+ '@milkdown/core': 7.19.0
+ '@milkdown/ctx': 7.19.0
+ '@milkdown/prose': 7.19.0
+ '@milkdown/utils': 7.19.0
+ '@types/lodash-es': 4.17.12
+ lodash-es: 4.17.21
+ transitivePeerDependencies:
+ - supports-color
+
+ '@milkdown/plugin-clipboard@7.19.0':
+ dependencies:
+ '@milkdown/core': 7.19.0
+ '@milkdown/ctx': 7.19.0
+ '@milkdown/prose': 7.19.0
+ '@milkdown/utils': 7.19.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@milkdown/plugin-collab@7.19.0(y-prosemirror@1.3.7(prosemirror-model@1.25.4)(prosemirror-state@1.4.4)(prosemirror-view@1.41.6)(y-protocols@1.0.7(yjs@13.6.29))(yjs@13.6.29))(y-protocols@1.0.7(yjs@13.6.29))(yjs@13.6.29)':
+ dependencies:
+ '@milkdown/core': 7.19.0
+ '@milkdown/ctx': 7.19.0
+ '@milkdown/exception': 7.19.0
+ '@milkdown/prose': 7.19.0
+ y-prosemirror: 1.3.7(prosemirror-model@1.25.4)(prosemirror-state@1.4.4)(prosemirror-view@1.41.6)(y-protocols@1.0.7(yjs@13.6.29))(yjs@13.6.29)
+ y-protocols: 1.0.7(yjs@13.6.29)
+ yjs: 13.6.29
+ transitivePeerDependencies:
+ - supports-color
+
+ '@milkdown/plugin-cursor@7.19.0':
+ dependencies:
+ '@milkdown/ctx': 7.19.0
+ '@milkdown/prose': 7.19.0
+ '@milkdown/utils': 7.19.0
+ prosemirror-drop-indicator: 0.1.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@milkdown/plugin-history@7.19.0':
+ dependencies:
+ '@milkdown/core': 7.19.0
+ '@milkdown/ctx': 7.19.0
+ '@milkdown/prose': 7.19.0
+ '@milkdown/utils': 7.19.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@milkdown/plugin-indent@7.19.0':
+ dependencies:
+ '@milkdown/ctx': 7.19.0
+ '@milkdown/prose': 7.19.0
+ '@milkdown/utils': 7.19.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@milkdown/plugin-listener@7.19.0':
+ dependencies:
+ '@milkdown/core': 7.19.0
+ '@milkdown/ctx': 7.19.0
+ '@milkdown/prose': 7.19.0
+ '@types/lodash-es': 4.17.12
+ lodash-es: 4.17.21
+ transitivePeerDependencies:
+ - supports-color
+
+ '@milkdown/plugin-slash@7.19.0':
+ dependencies:
+ '@floating-ui/dom': 1.7.6
+ '@milkdown/ctx': 7.19.0
+ '@milkdown/prose': 7.19.0
+ '@milkdown/utils': 7.19.0
+ '@types/lodash-es': 4.17.12
+ lodash-es: 4.17.21
+ transitivePeerDependencies:
+ - supports-color
+
+ '@milkdown/plugin-tooltip@7.19.0':
+ dependencies:
+ '@floating-ui/dom': 1.7.6
+ '@milkdown/ctx': 7.19.0
+ '@milkdown/prose': 7.19.0
+ '@milkdown/utils': 7.19.0
+ '@types/lodash-es': 4.17.12
+ lodash-es: 4.17.21
+ transitivePeerDependencies:
+ - supports-color
+
+ '@milkdown/plugin-trailing@7.19.0':
+ dependencies:
+ '@milkdown/ctx': 7.19.0
+ '@milkdown/prose': 7.19.0
+ '@milkdown/utils': 7.19.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@milkdown/plugin-upload@7.19.0':
+ dependencies:
+ '@milkdown/core': 7.19.0
+ '@milkdown/ctx': 7.19.0
+ '@milkdown/exception': 7.19.0
+ '@milkdown/prose': 7.19.0
+ '@milkdown/utils': 7.19.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@milkdown/preset-commonmark@7.19.0':
+ dependencies:
+ '@milkdown/core': 7.19.0
+ '@milkdown/ctx': 7.19.0
+ '@milkdown/exception': 7.19.0
+ '@milkdown/prose': 7.19.0
+ '@milkdown/transformer': 7.19.0
+ '@milkdown/utils': 7.19.0
+ remark-inline-links: 7.0.0
+ unist-util-visit: 5.0.0
+ unist-util-visit-parents: 6.0.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@milkdown/preset-gfm@7.19.0':
+ dependencies:
+ '@milkdown/core': 7.19.0
+ '@milkdown/ctx': 7.19.0
+ '@milkdown/exception': 7.19.0
+ '@milkdown/preset-commonmark': 7.19.0
+ '@milkdown/prose': 7.19.0
+ '@milkdown/transformer': 7.19.0
+ '@milkdown/utils': 7.19.0
+ prosemirror-safari-ime-span: 1.0.2
+ remark-gfm: 4.0.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@milkdown/prose@7.19.0':
+ dependencies:
+ '@milkdown/exception': 7.19.0
+ prosemirror-changeset: 2.4.0
+ prosemirror-commands: 1.7.1
+ prosemirror-dropcursor: 1.8.2
+ prosemirror-gapcursor: 1.4.0
+ prosemirror-history: 1.5.0
+ prosemirror-inputrules: 1.5.1
+ prosemirror-keymap: 1.2.3
+ prosemirror-model: 1.25.4
+ prosemirror-schema-list: 1.5.1
+ prosemirror-state: 1.4.4
+ prosemirror-tables: 1.8.5
+ prosemirror-transform: 1.11.0
+ prosemirror-view: 1.41.6
+
+ '@milkdown/react@7.19.0(@codemirror/language@6.12.2)(@codemirror/state@6.5.4)(@codemirror/view@6.39.16)(prosemirror-model@1.25.4)(prosemirror-state@1.4.4)(prosemirror-view@1.41.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2)':
+ dependencies:
+ '@milkdown/crepe': 7.19.0(prosemirror-model@1.25.4)(prosemirror-state@1.4.4)(prosemirror-view@1.41.6)(typescript@5.6.2)
+ '@milkdown/kit': 7.19.0(@codemirror/language@6.12.2)(@codemirror/state@6.5.4)(@codemirror/view@6.39.16)(typescript@5.6.2)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ transitivePeerDependencies:
+ - '@codemirror/language'
+ - '@codemirror/state'
+ - '@codemirror/view'
+ - prosemirror-model
+ - prosemirror-state
+ - prosemirror-view
+ - supports-color
+ - typescript
+
+ '@milkdown/theme-nord@7.19.0':
+ dependencies:
+ '@milkdown/core': 7.19.0
+ '@milkdown/ctx': 7.19.0
+ '@milkdown/prose': 7.19.0
+ clsx: 2.1.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@milkdown/transformer@7.19.0':
+ dependencies:
+ '@milkdown/exception': 7.19.0
+ '@milkdown/prose': 7.19.0
+ remark: 15.0.1
+ unified: 11.0.5
+ transitivePeerDependencies:
+ - supports-color
+
+ '@milkdown/utils@7.19.0':
+ dependencies:
+ '@milkdown/core': 7.19.0
+ '@milkdown/ctx': 7.19.0
+ '@milkdown/exception': 7.19.0
+ '@milkdown/prose': 7.19.0
+ '@milkdown/transformer': 7.19.0
+ nanoid: 5.1.6
+ transitivePeerDependencies:
+ - supports-color
+
'@nodelib/fs.scandir@2.1.5':
dependencies:
'@nodelib/fs.stat': 2.0.5
@@ -7904,6 +9788,8 @@ snapshots:
'@nodelib/fs.scandir': 2.1.5
fastq: 1.17.1
+ '@ocavue/utils@1.5.0': {}
+
'@pkgr/core@0.1.1': {}
'@polka/url@1.0.0-next.28': {}
@@ -7923,6 +9809,18 @@ snapshots:
dependencies:
'@babel/runtime': 7.25.7
+ '@prosemirror-adapter/core@0.2.6':
+ dependencies:
+ tslib: 2.7.0
+
+ '@prosemirror-adapter/react@0.2.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@prosemirror-adapter/core': 0.2.6
+ nanoid: 4.0.2
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ tslib: 2.7.0
+
'@rc-component/async-validator@5.0.4':
dependencies:
'@babel/runtime': 7.25.7
@@ -8000,6 +9898,47 @@ snapshots:
'@remix-run/router@1.19.2': {}
+ '@rjsf/antd@5.24.13(@ant-design/icons@5.5.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@rjsf/core@5.24.13(@rjsf/utils@5.24.13(react@18.3.1))(react@18.3.1))(@rjsf/utils@5.24.13(react@18.3.1))(antd@5.21.2(date-fns@2.30.0)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(dayjs@1.11.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@ant-design/icons': 5.5.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@rjsf/core': 5.24.13(@rjsf/utils@5.24.13(react@18.3.1))(react@18.3.1)
+ '@rjsf/utils': 5.24.13(react@18.3.1)
+ antd: 5.21.2(date-fns@2.30.0)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ classnames: 2.5.1
+ dayjs: 1.11.13
+ lodash: 4.17.21
+ lodash-es: 4.17.23
+ rc-picker: 2.7.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ transitivePeerDependencies:
+ - react-dom
+
+ '@rjsf/core@5.24.13(@rjsf/utils@5.24.13(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@rjsf/utils': 5.24.13(react@18.3.1)
+ lodash: 4.17.21
+ lodash-es: 4.17.23
+ markdown-to-jsx: 7.7.17(react@18.3.1)
+ prop-types: 15.8.1
+ react: 18.3.1
+
+ '@rjsf/utils@5.24.13(react@18.3.1)':
+ dependencies:
+ json-schema-merge-allof: 0.8.1
+ jsonpointer: 5.0.1
+ lodash: 4.17.21
+ lodash-es: 4.17.23
+ react: 18.3.1
+ react-is: 18.3.1
+
+ '@rjsf/validator-ajv8@5.24.13(@rjsf/utils@5.24.13(react@18.3.1))':
+ dependencies:
+ '@rjsf/utils': 5.24.13(react@18.3.1)
+ ajv: 8.17.1
+ ajv-formats: 2.1.1(ajv@8.17.1)
+ lodash: 4.17.21
+ lodash-es: 4.17.23
+
'@rollup/pluginutils@5.1.2(rollup@4.24.0)':
dependencies:
'@types/estree': 1.0.6
@@ -8056,11 +9995,70 @@ snapshots:
'@rollup/rollup-win32-x64-msvc@4.24.0':
optional: true
+ '@shikijs/core@3.23.0':
+ dependencies:
+ '@shikijs/types': 3.23.0
+ '@shikijs/vscode-textmate': 10.0.2
+ '@types/hast': 3.0.4
+ hast-util-to-html: 9.0.5
+
+ '@shikijs/engine-javascript@3.23.0':
+ dependencies:
+ '@shikijs/types': 3.23.0
+ '@shikijs/vscode-textmate': 10.0.2
+ oniguruma-to-es: 4.3.4
+
+ '@shikijs/engine-oniguruma@3.23.0':
+ dependencies:
+ '@shikijs/types': 3.23.0
+ '@shikijs/vscode-textmate': 10.0.2
+
+ '@shikijs/langs@3.23.0':
+ dependencies:
+ '@shikijs/types': 3.23.0
+
+ '@shikijs/themes@3.23.0':
+ dependencies:
+ '@shikijs/types': 3.23.0
+
+ '@shikijs/types@3.23.0':
+ dependencies:
+ '@shikijs/vscode-textmate': 10.0.2
+ '@types/hast': 3.0.4
+
+ '@shikijs/vscode-textmate@10.0.2': {}
+
'@sindresorhus/is@0.14.0': {}
- '@szmarczak/http-timer@1.1.2':
+ '@streamdown/code@1.0.3(react@18.3.1)':
+ dependencies:
+ react: 18.3.1
+ shiki: 3.23.0
+
+ '@streamdown/math@1.0.2(react@18.3.1)':
+ dependencies:
+ katex: 0.16.33
+ react: 18.3.1
+ rehype-katex: 7.0.1
+ remark-math: 6.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@streamdown/mermaid@1.0.2(react@18.3.1)':
+ dependencies:
+ mermaid: 11.12.3
+ react: 18.3.1
+
+ '@szmarczak/http-timer@1.1.2':
+ dependencies:
+ defer-to-connect: 1.1.3
+
+ '@tanstack/query-core@5.95.0': {}
+
+ '@tanstack/react-query@5.95.0(react@18.3.1)':
dependencies:
- defer-to-connect: 1.1.3
+ '@tanstack/query-core': 5.95.0
+ react: 18.3.1
'@turf/bbox-polygon@6.5.0':
dependencies:
@@ -8121,8 +10119,123 @@ snapshots:
dependencies:
'@types/node': 22.13.14
+ '@types/d3-array@3.2.2': {}
+
+ '@types/d3-axis@3.0.6':
+ dependencies:
+ '@types/d3-selection': 3.0.11
+
+ '@types/d3-brush@3.0.6':
+ dependencies:
+ '@types/d3-selection': 3.0.11
+
+ '@types/d3-chord@3.0.6': {}
+
+ '@types/d3-color@3.1.3': {}
+
+ '@types/d3-contour@3.0.6':
+ dependencies:
+ '@types/d3-array': 3.2.2
+ '@types/geojson': 7946.0.14
+
+ '@types/d3-delaunay@6.0.4': {}
+
+ '@types/d3-dispatch@3.0.7': {}
+
+ '@types/d3-drag@3.0.7':
+ dependencies:
+ '@types/d3-selection': 3.0.11
+
+ '@types/d3-dsv@3.0.7': {}
+
+ '@types/d3-ease@3.0.2': {}
+
+ '@types/d3-fetch@3.0.7':
+ dependencies:
+ '@types/d3-dsv': 3.0.7
+
+ '@types/d3-force@3.0.10': {}
+
+ '@types/d3-format@3.0.4': {}
+
+ '@types/d3-geo@3.1.0':
+ dependencies:
+ '@types/geojson': 7946.0.14
+
+ '@types/d3-hierarchy@3.1.7': {}
+
+ '@types/d3-interpolate@3.0.4':
+ dependencies:
+ '@types/d3-color': 3.1.3
+
+ '@types/d3-path@3.1.1': {}
+
+ '@types/d3-polygon@3.0.2': {}
+
+ '@types/d3-quadtree@3.0.6': {}
+
+ '@types/d3-random@3.0.3': {}
+
+ '@types/d3-scale-chromatic@3.1.0': {}
+
+ '@types/d3-scale@4.0.9':
+ dependencies:
+ '@types/d3-time': 3.0.4
+
+ '@types/d3-selection@3.0.11': {}
+
+ '@types/d3-shape@3.1.8':
+ dependencies:
+ '@types/d3-path': 3.1.1
+
+ '@types/d3-time-format@4.0.3': {}
+
+ '@types/d3-time@3.0.4': {}
+
'@types/d3-timer@2.0.3': {}
+ '@types/d3-transition@3.0.9':
+ dependencies:
+ '@types/d3-selection': 3.0.11
+
+ '@types/d3-zoom@3.0.8':
+ dependencies:
+ '@types/d3-interpolate': 3.0.4
+ '@types/d3-selection': 3.0.11
+
+ '@types/d3@7.4.3':
+ dependencies:
+ '@types/d3-array': 3.2.2
+ '@types/d3-axis': 3.0.6
+ '@types/d3-brush': 3.0.6
+ '@types/d3-chord': 3.0.6
+ '@types/d3-color': 3.1.3
+ '@types/d3-contour': 3.0.6
+ '@types/d3-delaunay': 6.0.4
+ '@types/d3-dispatch': 3.0.7
+ '@types/d3-drag': 3.0.7
+ '@types/d3-dsv': 3.0.7
+ '@types/d3-ease': 3.0.2
+ '@types/d3-fetch': 3.0.7
+ '@types/d3-force': 3.0.10
+ '@types/d3-format': 3.0.4
+ '@types/d3-geo': 3.1.0
+ '@types/d3-hierarchy': 3.1.7
+ '@types/d3-interpolate': 3.0.4
+ '@types/d3-path': 3.1.1
+ '@types/d3-polygon': 3.0.2
+ '@types/d3-quadtree': 3.0.6
+ '@types/d3-random': 3.0.3
+ '@types/d3-scale': 4.0.9
+ '@types/d3-scale-chromatic': 3.1.0
+ '@types/d3-selection': 3.0.11
+ '@types/d3-shape': 3.1.8
+ '@types/d3-time': 3.0.4
+ '@types/d3-time-format': 4.0.3
+ '@types/d3-timer': 2.0.3
+ '@types/d3-transition': 3.0.9
+ '@types/d3-zoom': 3.0.8
+
'@types/debug@4.1.12':
dependencies:
'@types/ms': 0.7.34
@@ -8161,10 +10274,16 @@ snapshots:
'@types/json5@0.0.29': {}
+ '@types/katex@0.16.8': {}
+
'@types/keyv@3.1.4':
dependencies:
'@types/node': 22.13.14
+ '@types/lodash-es@4.17.12':
+ dependencies:
+ '@types/lodash': 4.17.10
+
'@types/lodash@4.17.10': {}
'@types/mapbox__point-geometry@0.1.4': {}
@@ -8223,6 +10342,9 @@ snapshots:
dependencies:
'@types/geojson': 7946.0.14
+ '@types/trusted-types@2.0.7':
+ optional: true
+
'@types/unist@2.0.11': {}
'@types/unist@3.0.3': {}
@@ -8391,7 +10513,7 @@ snapshots:
gzip-size: 6.0.0
sirv: 2.0.4
- '@unocss/postcss@0.58.9(postcss@8.4.47)':
+ '@unocss/postcss@0.58.9(postcss@8.5.8)':
dependencies:
'@unocss/config': 0.58.9
'@unocss/core': 0.58.9
@@ -8399,7 +10521,7 @@ snapshots:
css-tree: 2.3.1
fast-glob: 3.3.2
magic-string: 0.30.11
- postcss: 8.4.47
+ postcss: 8.5.8
'@unocss/preset-attributify@0.58.9':
dependencies:
@@ -8511,6 +10633,60 @@ snapshots:
'@viz-js/viz@3.7.0': {}
+ '@vue/compiler-core@3.5.29':
+ dependencies:
+ '@babel/parser': 7.29.0
+ '@vue/shared': 3.5.29
+ entities: 7.0.1
+ estree-walker: 2.0.2
+ source-map-js: 1.2.1
+
+ '@vue/compiler-dom@3.5.29':
+ dependencies:
+ '@vue/compiler-core': 3.5.29
+ '@vue/shared': 3.5.29
+
+ '@vue/compiler-sfc@3.5.29':
+ dependencies:
+ '@babel/parser': 7.29.0
+ '@vue/compiler-core': 3.5.29
+ '@vue/compiler-dom': 3.5.29
+ '@vue/compiler-ssr': 3.5.29
+ '@vue/shared': 3.5.29
+ estree-walker: 2.0.2
+ magic-string: 0.30.21
+ postcss: 8.5.8
+ source-map-js: 1.2.1
+
+ '@vue/compiler-ssr@3.5.29':
+ dependencies:
+ '@vue/compiler-dom': 3.5.29
+ '@vue/shared': 3.5.29
+
+ '@vue/reactivity@3.5.29':
+ dependencies:
+ '@vue/shared': 3.5.29
+
+ '@vue/runtime-core@3.5.29':
+ dependencies:
+ '@vue/reactivity': 3.5.29
+ '@vue/shared': 3.5.29
+
+ '@vue/runtime-dom@3.5.29':
+ dependencies:
+ '@vue/reactivity': 3.5.29
+ '@vue/runtime-core': 3.5.29
+ '@vue/shared': 3.5.29
+ csstype: 3.2.3
+
+ '@vue/server-renderer@3.5.29(vue@3.5.29(typescript@5.6.2))':
+ dependencies:
+ '@vue/compiler-ssr': 3.5.29
+ '@vue/shared': 3.5.29
+ vue: 3.5.29(typescript@5.6.2)
+
+ '@vue/shared@3.5.29': {}
+
'@webgpu/glslang@0.0.15': {}
'@webgpu/types@0.0.31': {}
@@ -8534,8 +10710,7 @@ snapshots:
acorn@8.12.1: {}
- acorn@8.14.0:
- optional: true
+ acorn@8.16.0: {}
add-dom-event-listener@1.1.0:
dependencies:
@@ -8554,6 +10729,10 @@ snapshots:
screenfull: 5.2.0
tslib: 2.7.0
+ ajv-formats@2.1.1(ajv@8.17.1):
+ optionalDependencies:
+ ajv: 8.17.1
+
ajv@6.12.6:
dependencies:
fast-deep-equal: 3.1.3
@@ -8614,7 +10793,7 @@ snapshots:
ansi-styles@6.2.1: {}
- antd@5.21.2(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ antd@5.21.2(date-fns@2.30.0)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
dependencies:
'@ant-design/colors': 7.1.0
'@ant-design/cssinjs': 1.21.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
@@ -8646,7 +10825,7 @@ snapshots:
rc-motion: 2.9.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
rc-notification: 5.6.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
rc-pagination: 4.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- rc-picker: 4.6.15(dayjs@1.11.13)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-picker: 4.6.15(date-fns@2.30.0)(dayjs@1.11.13)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
rc-progress: 4.0.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
rc-rate: 2.13.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
rc-resize-observer: 1.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
@@ -9061,6 +11240,20 @@ snapshots:
chardet@0.7.0: {}
+ chevrotain-allstar@0.3.1(chevrotain@11.1.2):
+ dependencies:
+ chevrotain: 11.1.2
+ lodash-es: 4.17.23
+
+ chevrotain@11.1.2:
+ dependencies:
+ '@chevrotain/cst-dts-gen': 11.1.2
+ '@chevrotain/gast': 11.1.2
+ '@chevrotain/regexp-to-ast': 11.1.2
+ '@chevrotain/types': 11.1.2
+ '@chevrotain/utils': 11.1.2
+ lodash-es: 4.17.23
+
chokidar@3.6.0:
dependencies:
anymatch: 3.1.3
@@ -9132,8 +11325,20 @@ snapshots:
clsx@1.2.1: {}
+ clsx@2.1.1: {}
+
codemirror@5.65.18: {}
+ codemirror@6.0.2:
+ dependencies:
+ '@codemirror/autocomplete': 6.20.1
+ '@codemirror/commands': 6.10.2
+ '@codemirror/language': 6.12.2
+ '@codemirror/lint': 6.9.5
+ '@codemirror/search': 6.6.0
+ '@codemirror/state': 6.5.4
+ '@codemirror/view': 6.39.16
+
color-convert@1.9.3:
dependencies:
color-name: 1.1.3
@@ -9170,6 +11375,10 @@ snapshots:
commander@2.20.3: {}
+ commander@7.2.0: {}
+
+ commander@8.3.0: {}
+
comment-json@2.4.2:
dependencies:
core-util-is: 1.0.3
@@ -9202,6 +11411,19 @@ snapshots:
array-ify: 1.0.0
dot-prop: 5.3.0
+ compute-gcd@1.2.1:
+ dependencies:
+ validate.io-array: 1.0.6
+ validate.io-function: 1.0.2
+ validate.io-integer-array: 1.0.0
+
+ compute-lcm@1.1.2:
+ dependencies:
+ compute-gcd: 1.2.1
+ validate.io-array: 1.0.6
+ validate.io-function: 1.0.2
+ validate.io-integer-array: 1.0.0
+
compute-scroll-into-view@3.1.0: {}
concat-map@0.0.1: {}
@@ -9262,6 +11484,14 @@ snapshots:
core-util-is@1.0.3: {}
+ cose-base@1.0.3:
+ dependencies:
+ layout-base: 1.0.2
+
+ cose-base@2.2.0:
+ dependencies:
+ layout-base: 2.0.1
+
cosmiconfig-typescript-loader@5.0.0(@types/node@22.13.14)(cosmiconfig@9.0.0(typescript@5.6.2))(typescript@5.6.2):
dependencies:
'@types/node': 22.13.14
@@ -9290,6 +11520,8 @@ snapshots:
dependencies:
capture-stack-trace: 1.0.2
+ crelt@1.0.6: {}
+
cross-fetch@3.1.8:
dependencies:
node-fetch: 2.7.0
@@ -9339,6 +11571,20 @@ snapshots:
csstype@3.1.3: {}
+ csstype@3.2.3: {}
+
+ cytoscape-cose-bilkent@4.1.0(cytoscape@3.33.1):
+ dependencies:
+ cose-base: 1.0.3
+ cytoscape: 3.33.1
+
+ cytoscape-fcose@2.2.0(cytoscape@3.33.1):
+ dependencies:
+ cose-base: 2.2.0
+ cytoscape: 3.33.1
+
+ cytoscape@3.33.1: {}
+
cz-conventional-changelog@3.3.0(@types/node@22.13.14)(typescript@5.6.2):
dependencies:
chalk: 2.4.2
@@ -9361,6 +11607,24 @@ snapshots:
dependencies:
internmap: 1.0.1
+ d3-array@3.2.4:
+ dependencies:
+ internmap: 1.0.1
+
+ d3-axis@3.0.0: {}
+
+ d3-brush@3.0.0:
+ dependencies:
+ d3-dispatch: 3.0.1
+ d3-drag: 3.0.0
+ d3-interpolate: 3.0.1
+ d3-selection: 3.0.0
+ d3-transition: 3.0.1(d3-selection@3.0.0)
+
+ d3-chord@3.0.1:
+ dependencies:
+ d3-path: 3.1.0
+
d3-cloud@1.2.7:
dependencies:
d3-dispatch: 1.0.6
@@ -9378,26 +11642,61 @@ snapshots:
d3-geo: 2.0.2
d3-path: 2.0.0
+ d3-contour@4.0.2:
+ dependencies:
+ d3-array: 3.2.4
+
+ d3-delaunay@6.0.4:
+ dependencies:
+ delaunator: 5.0.1
+
d3-dispatch@1.0.6: {}
+ d3-dispatch@3.0.1: {}
+
+ d3-drag@3.0.0:
+ dependencies:
+ d3-dispatch: 3.0.1
+ d3-selection: 3.0.0
+
d3-dsv@1.2.0:
dependencies:
commander: 2.20.3
iconv-lite: 0.4.24
rw: 1.3.3
+ d3-dsv@3.0.1:
+ dependencies:
+ commander: 7.2.0
+ iconv-lite: 0.6.3
+ rw: 1.3.3
+
d3-ease@1.0.7: {}
+ d3-ease@3.0.1: {}
+
+ d3-fetch@3.0.1:
+ dependencies:
+ d3-dsv: 3.0.1
+
d3-force@2.1.1:
dependencies:
d3-dispatch: 1.0.6
d3-quadtree: 2.0.0
d3-timer: 1.0.10
+ d3-force@3.0.0:
+ dependencies:
+ d3-dispatch: 3.0.1
+ d3-quadtree: 3.0.1
+ d3-timer: 3.0.1
+
d3-format@1.4.5: {}
d3-format@2.0.0: {}
+ d3-format@3.1.2: {}
+
d3-geo-projection@2.1.2:
dependencies:
commander: 2.20.3
@@ -9412,6 +11711,10 @@ snapshots:
dependencies:
d3-array: 2.12.1
+ d3-geo@3.1.1:
+ dependencies:
+ d3-array: 3.2.4
+
d3-hexbin@0.2.2: {}
d3-hexjson@1.1.1:
@@ -9422,6 +11725,8 @@ snapshots:
d3-hierarchy@2.0.0: {}
+ d3-hierarchy@3.1.2: {}
+
d3-interpolate@1.4.0:
dependencies:
d3-color: 1.4.1
@@ -9438,10 +11743,23 @@ snapshots:
d3-path@2.0.0: {}
+ d3-path@3.1.0: {}
+
+ d3-polygon@3.0.1: {}
+
d3-quadtree@2.0.0: {}
+ d3-quadtree@3.0.1: {}
+
+ d3-random@3.0.1: {}
+
d3-regression@1.3.10: {}
+ d3-sankey@0.12.3:
+ dependencies:
+ d3-array: 2.12.1
+ d3-shape: 1.3.7
+
d3-sankey@0.9.1:
dependencies:
d3-array: 1.2.4
@@ -9453,6 +11771,11 @@ snapshots:
d3-color: 1.4.1
d3-interpolate: 1.4.0
+ d3-scale-chromatic@3.1.0:
+ dependencies:
+ d3-color: 3.1.0
+ d3-interpolate: 3.0.1
+
d3-scale@2.2.2:
dependencies:
d3-array: 1.2.4
@@ -9470,12 +11793,26 @@ snapshots:
d3-time: 2.1.1
d3-time-format: 3.0.0
+ d3-scale@4.0.2:
+ dependencies:
+ d3-array: 3.2.4
+ d3-format: 3.1.2
+ d3-interpolate: 3.0.1
+ d3-time: 3.1.0
+ d3-time-format: 4.1.0
+
d3-selection@1.4.2: {}
+ d3-selection@3.0.0: {}
+
d3-shape@1.3.7:
dependencies:
d3-path: 1.0.9
+ d3-shape@3.2.0:
+ dependencies:
+ d3-path: 3.1.0
+
d3-time-format@2.3.0:
dependencies:
d3-time: 1.1.0
@@ -9484,14 +11821,24 @@ snapshots:
dependencies:
d3-time: 2.1.1
+ d3-time-format@4.1.0:
+ dependencies:
+ d3-time: 3.1.0
+
d3-time@1.1.0: {}
d3-time@2.1.1:
dependencies:
d3-array: 2.12.1
+ d3-time@3.1.0:
+ dependencies:
+ d3-array: 3.2.4
+
d3-timer@1.0.10: {}
+ d3-timer@3.0.1: {}
+
d3-transition@1.3.2:
dependencies:
d3-color: 1.4.1
@@ -9501,8 +11848,63 @@ snapshots:
d3-selection: 1.4.2
d3-timer: 1.0.10
+ d3-transition@3.0.1(d3-selection@3.0.0):
+ dependencies:
+ d3-color: 3.1.0
+ d3-dispatch: 3.0.1
+ d3-ease: 3.0.1
+ d3-interpolate: 3.0.1
+ d3-selection: 3.0.0
+ d3-timer: 3.0.1
+
d3-voronoi@1.1.4: {}
+ d3-zoom@3.0.0:
+ dependencies:
+ d3-dispatch: 3.0.1
+ d3-drag: 3.0.0
+ d3-interpolate: 3.0.1
+ d3-selection: 3.0.0
+ d3-transition: 3.0.1(d3-selection@3.0.0)
+
+ d3@7.9.0:
+ dependencies:
+ d3-array: 3.2.4
+ d3-axis: 3.0.0
+ d3-brush: 3.0.0
+ d3-chord: 3.0.1
+ d3-color: 3.1.0
+ d3-contour: 4.0.2
+ d3-delaunay: 6.0.4
+ d3-dispatch: 3.0.1
+ d3-drag: 3.0.0
+ d3-dsv: 3.0.1
+ d3-ease: 3.0.1
+ d3-fetch: 3.0.1
+ d3-force: 3.0.0
+ d3-format: 3.1.2
+ d3-geo: 3.1.1
+ d3-hierarchy: 3.1.2
+ d3-interpolate: 3.0.1
+ d3-path: 3.1.0
+ d3-polygon: 3.0.1
+ d3-quadtree: 3.0.1
+ d3-random: 3.0.1
+ d3-scale: 4.0.2
+ d3-scale-chromatic: 3.1.0
+ d3-selection: 3.0.0
+ d3-shape: 3.2.0
+ d3-time: 3.1.0
+ d3-time-format: 4.1.0
+ d3-timer: 3.0.1
+ d3-transition: 3.0.1(d3-selection@3.0.0)
+ d3-zoom: 3.0.0
+
+ dagre-d3-es@7.0.13:
+ dependencies:
+ d3: 7.9.0
+ lodash-es: 4.17.23
+
dagre@0.8.5:
dependencies:
graphlib: 2.1.8
@@ -9528,8 +11930,14 @@ snapshots:
es-errors: 1.3.0
is-data-view: 1.0.1
+ date-fns@2.30.0:
+ dependencies:
+ '@babel/runtime': 7.25.7
+
dayjs@1.11.13: {}
+ dayjs@1.11.19: {}
+
debug@3.2.7:
dependencies:
ms: 2.1.3
@@ -9587,6 +11995,10 @@ snapshots:
defu@6.1.4: {}
+ delaunator@5.0.1:
+ dependencies:
+ robust-predicates: 3.0.2
+
delayed-stream@1.0.0: {}
dequal@2.0.3: {}
@@ -9627,9 +12039,15 @@ snapshots:
dependencies:
esutils: 2.0.3
+ dom-align@1.12.4: {}
+
dompurify@2.5.8:
optional: true
+ dompurify@3.3.1:
+ optionalDependencies:
+ '@types/trusted-types': 2.0.7
+
dot-prop@4.2.1:
dependencies:
is-obj: 1.0.1
@@ -9656,6 +12074,13 @@ snapshots:
earcut@2.2.4: {}
+ echarts-for-react@3.0.6(echarts@5.5.1)(react@18.3.1):
+ dependencies:
+ echarts: 5.5.1
+ fast-deep-equal: 3.1.3
+ react: 18.3.1
+ size-sensor: 1.0.2
+
echarts@5.5.1:
dependencies:
tslib: 2.3.0
@@ -9690,6 +12115,8 @@ snapshots:
entities@4.5.0: {}
+ entities@7.0.1: {}
+
env-paths@2.2.1: {}
environment@1.1.0: {}
@@ -10347,6 +12774,8 @@ snapshots:
github-slugger@1.5.0: {}
+ github-slugger@2.0.0: {}
+
gl-matrix@3.4.3: {}
gl-vec2@1.3.0: {}
@@ -10472,6 +12901,8 @@ snapshots:
dependencies:
duplexer: 0.1.2
+ hachure-fill@0.5.2: {}
+
hammerjs@2.0.8: {}
has-ansi@2.0.0:
@@ -10512,6 +12943,28 @@ snapshots:
dependencies:
function-bind: 1.1.2
+ hast-util-from-dom@5.0.1:
+ dependencies:
+ '@types/hast': 3.0.4
+ hastscript: 9.0.0
+ web-namespaces: 2.0.1
+
+ hast-util-from-html-isomorphic@2.0.0:
+ dependencies:
+ '@types/hast': 3.0.4
+ hast-util-from-dom: 5.0.1
+ hast-util-from-html: 2.0.3
+ unist-util-remove-position: 5.0.0
+
+ hast-util-from-html@2.0.3:
+ dependencies:
+ '@types/hast': 3.0.4
+ devlop: 1.1.0
+ hast-util-from-parse5: 8.0.2
+ parse5: 7.2.1
+ vfile: 6.0.3
+ vfile-message: 4.0.2
+
hast-util-from-parse5@7.1.2:
dependencies:
'@types/hast': 2.3.10
@@ -10539,6 +12992,10 @@ snapshots:
dependencies:
'@types/hast': 2.3.10
+ hast-util-heading-rank@3.0.0:
+ dependencies:
+ '@types/hast': 3.0.4
+
hast-util-is-element@2.1.3:
dependencies:
'@types/hast': 2.3.10
@@ -10588,6 +13045,12 @@ snapshots:
web-namespaces: 2.0.1
zwitch: 2.0.4
+ hast-util-sanitize@5.0.2:
+ dependencies:
+ '@types/hast': 3.0.4
+ '@ungap/structured-clone': 1.2.0
+ unist-util-position: 5.0.0
+
hast-util-select@5.0.1:
dependencies:
'@types/hast': 2.3.10
@@ -10621,6 +13084,20 @@ snapshots:
stringify-entities: 4.0.4
zwitch: 2.0.4
+ hast-util-to-html@9.0.5:
+ dependencies:
+ '@types/hast': 3.0.4
+ '@types/unist': 3.0.3
+ ccount: 2.0.1
+ comma-separated-tokens: 2.0.3
+ hast-util-whitespace: 3.0.0
+ html-void-elements: 3.0.0
+ mdast-util-to-hast: 13.2.0
+ property-information: 7.1.0
+ space-separated-tokens: 2.0.2
+ stringify-entities: 4.0.4
+ zwitch: 2.0.4
+
hast-util-to-jsx-runtime@2.3.2:
dependencies:
'@types/estree': 1.0.6
@@ -10641,6 +13118,26 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ hast-util-to-jsx-runtime@2.3.6:
+ dependencies:
+ '@types/estree': 1.0.6
+ '@types/hast': 3.0.4
+ '@types/unist': 3.0.3
+ comma-separated-tokens: 2.0.3
+ devlop: 1.1.0
+ estree-util-is-identifier-name: 3.0.0
+ hast-util-whitespace: 3.0.0
+ mdast-util-mdx-expression: 2.0.1
+ mdast-util-mdx-jsx: 3.1.3
+ mdast-util-mdxjs-esm: 2.0.1
+ property-information: 7.1.0
+ space-separated-tokens: 2.0.2
+ style-to-js: 1.1.21
+ unist-util-position: 5.0.0
+ vfile-message: 4.0.2
+ transitivePeerDependencies:
+ - supports-color
+
hast-util-to-parse5@7.1.0:
dependencies:
'@types/hast': 2.3.10
@@ -10666,6 +13163,10 @@ snapshots:
dependencies:
'@types/hast': 2.3.10
+ hast-util-to-string@3.0.1:
+ dependencies:
+ '@types/hast': 3.0.4
+
hast-util-to-text@4.0.2:
dependencies:
'@types/hast': 3.0.4
@@ -10744,6 +13245,10 @@ snapshots:
dependencies:
safer-buffer: 2.1.2
+ iconv-lite@0.6.3:
+ dependencies:
+ safer-buffer: 2.1.2
+
ieee754@1.2.1: {}
ignore@5.3.2: {}
@@ -10780,6 +13285,8 @@ snapshots:
inline-style-parser@0.2.4: {}
+ inline-style-parser@0.2.7: {}
+
inquirer@7.3.3:
dependencies:
ansi-escapes: 4.3.2
@@ -11087,6 +13594,8 @@ snapshots:
isobject@3.0.1: {}
+ isomorphic.js@0.2.5: {}
+
iterator.prototype@1.1.2:
dependencies:
define-properties: 1.2.1
@@ -11117,6 +13626,16 @@ snapshots:
json-parse-even-better-errors@2.3.1: {}
+ json-schema-compare@0.2.2:
+ dependencies:
+ lodash: 4.17.21
+
+ json-schema-merge-allof@0.8.1:
+ dependencies:
+ compute-lcm: 1.1.2
+ json-schema-compare: 0.2.2
+ lodash: 4.17.21
+
json-schema-traverse@0.4.1: {}
json-schema-traverse@1.0.0: {}
@@ -11151,6 +13670,8 @@ snapshots:
jsonparse@1.3.1: {}
+ jsonpointer@5.0.1: {}
+
jspdf@2.5.2:
dependencies:
'@babel/runtime': 7.25.7
@@ -11170,6 +13691,10 @@ snapshots:
object.assign: 4.1.5
object.values: 1.2.0
+ katex@0.16.33:
+ dependencies:
+ commander: 8.3.0
+
kdbush@3.0.0: {}
kdbush@4.0.2: {}
@@ -11186,6 +13711,8 @@ snapshots:
dependencies:
json-buffer: 3.0.1
+ khroma@2.1.0: {}
+
kind-of@3.2.2:
dependencies:
is-buffer: 1.1.6
@@ -11198,6 +13725,14 @@ snapshots:
kolorist@1.8.0: {}
+ langium@4.2.1:
+ dependencies:
+ chevrotain: 11.1.2
+ chevrotain-allstar: 0.3.1(chevrotain@11.1.2)
+ vscode-languageserver: 9.0.1
+ vscode-languageserver-textdocument: 1.0.12
+ vscode-uri: 3.1.0
+
latest-version@3.1.0:
dependencies:
package-json: 4.0.1
@@ -11206,6 +13741,10 @@ snapshots:
dependencies:
package-json: 6.5.0
+ layout-base@1.0.2: {}
+
+ layout-base@2.0.1: {}
+
lazy-cache@1.0.4: {}
levn@0.4.1:
@@ -11213,6 +13752,10 @@ snapshots:
prelude-ls: 1.2.1
type-check: 0.4.0
+ lib0@0.2.117:
+ dependencies:
+ isomorphic.js: 0.2.5
+
libnpx@10.2.4:
dependencies:
dotenv: 5.0.1
@@ -11290,6 +13833,8 @@ snapshots:
lodash-es@4.17.21: {}
+ lodash-es@4.17.23: {}
+
lodash.camelcase@4.3.0: {}
lodash.clonedeep@4.5.0: {}
@@ -11370,6 +13915,10 @@ snapshots:
dependencies:
'@jridgewell/sourcemap-codec': 1.5.0
+ magic-string@0.30.21:
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.5.5
+
make-dir@1.3.0:
dependencies:
pify: 3.0.0
@@ -11441,12 +13990,40 @@ snapshots:
markdown-table@3.0.4: {}
+ markdown-to-jsx@7.7.17(react@18.3.1):
+ optionalDependencies:
+ react: 18.3.1
+
+ marked@16.4.2: {}
+
+ marked@17.0.3: {}
+
mdast-util-definitions@5.1.2:
dependencies:
'@types/mdast': 3.0.15
'@types/unist': 2.0.11
unist-util-visit: 4.1.2
+ mdast-util-definitions@6.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ '@types/unist': 3.0.3
+ unist-util-visit: 5.0.0
+
+ mdast-util-directive@3.1.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ '@types/unist': 3.0.3
+ ccount: 2.0.1
+ devlop: 1.1.0
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.2
+ parse-entities: 4.0.1
+ stringify-entities: 4.0.4
+ unist-util-visit-parents: 6.0.1
+ transitivePeerDependencies:
+ - supports-color
+
mdast-util-find-and-replace@2.2.2:
dependencies:
'@types/mdast': 3.0.15
@@ -11587,6 +14164,18 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ mdast-util-math@3.0.0:
+ dependencies:
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
+ devlop: 1.1.0
+ longest-streak: 3.1.0
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.2
+ unist-util-remove-position: 5.0.0
+ transitivePeerDependencies:
+ - supports-color
+
mdast-util-mdx-expression@2.0.1:
dependencies:
'@types/estree-jsx': 1.0.5
@@ -11711,6 +14300,29 @@ snapshots:
merge@2.1.1: {}
+ mermaid@11.12.3:
+ dependencies:
+ '@braintree/sanitize-url': 7.1.2
+ '@iconify/utils': 3.1.0
+ '@mermaid-js/parser': 1.0.0
+ '@types/d3': 7.4.3
+ cytoscape: 3.33.1
+ cytoscape-cose-bilkent: 4.1.0(cytoscape@3.33.1)
+ cytoscape-fcose: 2.2.0(cytoscape@3.33.1)
+ d3: 7.9.0
+ d3-sankey: 0.12.3
+ dagre-d3-es: 7.0.13
+ dayjs: 1.11.19
+ dompurify: 3.3.1
+ katex: 0.16.33
+ khroma: 2.1.0
+ lodash-es: 4.17.23
+ marked: 16.4.2
+ roughjs: 4.6.6
+ stylis: 4.3.6
+ ts-dedent: 2.2.0
+ uuid: 11.1.0
+
micromark-core-commonmark@1.1.0:
dependencies:
decode-named-character-reference: 1.0.2
@@ -11749,6 +14361,16 @@ snapshots:
micromark-util-symbol: 2.0.1
micromark-util-types: 2.0.1
+ micromark-extension-directive@3.0.2:
+ dependencies:
+ devlop: 1.1.0
+ micromark-factory-space: 2.0.1
+ micromark-factory-whitespace: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.1
+ parse-entities: 4.0.1
+
micromark-extension-gfm-autolink-literal@1.0.5:
dependencies:
micromark-util-character: 1.2.0
@@ -11853,6 +14475,16 @@ snapshots:
micromark-util-combine-extensions: 2.0.1
micromark-util-types: 2.0.1
+ micromark-extension-math@3.1.0:
+ dependencies:
+ '@types/katex': 0.16.8
+ devlop: 1.1.0
+ katex: 0.16.33
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.1
+
micromark-factory-destination@1.1.0:
dependencies:
micromark-util-character: 1.2.0
@@ -12144,6 +14776,13 @@ snapshots:
pkg-types: 1.2.0
ufo: 1.5.4
+ mlly@1.8.0:
+ dependencies:
+ acorn: 8.16.0
+ pathe: 2.0.3
+ pkg-types: 1.3.1
+ ufo: 1.6.3
+
mock-property@1.0.3:
dependencies:
define-data-property: 1.1.4
@@ -12210,8 +14849,14 @@ snapshots:
mute-stream@0.0.8: {}
+ nanoid@3.3.11: {}
+
nanoid@3.3.7: {}
+ nanoid@4.0.2: {}
+
+ nanoid@5.1.6: {}
+
natural-compare@1.4.0: {}
node-fetch-native@1.6.4: {}
@@ -12318,6 +14963,14 @@ snapshots:
dependencies:
mimic-function: 5.0.1
+ oniguruma-parser@0.12.1: {}
+
+ oniguruma-to-es@4.3.4:
+ dependencies:
+ oniguruma-parser: 0.12.1
+ regex: 6.1.0
+ regex-recursion: 6.0.2
+
optionator@0.9.4:
dependencies:
deep-is: 0.1.4
@@ -12339,6 +14992,8 @@ snapshots:
strip-ansi: 6.0.1
wcwidth: 1.0.1
+ orderedmap@2.1.1: {}
+
os-homedir@1.0.2: {}
os-tmpdir@1.0.2: {}
@@ -12398,6 +15053,8 @@ snapshots:
package-manager-detector@0.2.1: {}
+ package-manager-detector@1.6.0: {}
+
parent-module@1.0.1:
dependencies:
callsites: 3.1.0
@@ -12448,6 +15105,8 @@ snapshots:
dependencies:
entities: 4.5.0
+ path-data-parser@0.1.0: {}
+
path-exists@3.0.0: {}
path-exists@4.0.0: {}
@@ -12472,6 +15131,8 @@ snapshots:
pathe@1.1.2: {}
+ pathe@2.0.3: {}
+
pbf@3.3.0:
dependencies:
ieee754: 1.2.1
@@ -12486,6 +15147,8 @@ snapshots:
picocolors@1.1.0: {}
+ picocolors@1.1.1: {}
+
picomatch@2.3.1: {}
pidtree@0.6.0: {}
@@ -12498,12 +15161,25 @@ snapshots:
mlly: 1.7.2
pathe: 1.1.2
+ pkg-types@1.3.1:
+ dependencies:
+ confbox: 0.1.8
+ mlly: 1.8.0
+ pathe: 2.0.3
+
point-at-length@1.1.0:
dependencies:
abs-svg-path: 0.1.1
isarray: 0.0.1
parse-svg-path: 0.1.2
+ points-on-curve@0.2.0: {}
+
+ points-on-path@0.2.1:
+ dependencies:
+ path-data-parser: 0.1.0
+ points-on-curve: 0.2.0
+
polygon-clipping@0.15.7:
dependencies:
robust-predicates: 3.0.2
@@ -12527,6 +15203,12 @@ snapshots:
picocolors: 1.1.0
source-map-js: 1.2.1
+ postcss@8.5.8:
+ dependencies:
+ nanoid: 3.3.11
+ picocolors: 1.1.1
+ source-map-js: 1.2.1
+
potpack@1.0.2: {}
potpack@2.0.0: {}
@@ -12572,6 +15254,100 @@ snapshots:
property-information@6.5.0: {}
+ property-information@7.1.0: {}
+
+ prosemirror-changeset@2.4.0:
+ dependencies:
+ prosemirror-transform: 1.11.0
+
+ prosemirror-commands@1.7.1:
+ dependencies:
+ prosemirror-model: 1.25.4
+ prosemirror-state: 1.4.4
+ prosemirror-transform: 1.11.0
+
+ prosemirror-drop-indicator@0.1.3:
+ dependencies:
+ '@ocavue/utils': 1.5.0
+ prosemirror-model: 1.25.4
+ prosemirror-state: 1.4.4
+ prosemirror-view: 1.41.6
+
+ prosemirror-dropcursor@1.8.2:
+ dependencies:
+ prosemirror-state: 1.4.4
+ prosemirror-transform: 1.11.0
+ prosemirror-view: 1.41.6
+
+ prosemirror-gapcursor@1.4.0:
+ dependencies:
+ prosemirror-keymap: 1.2.3
+ prosemirror-model: 1.25.4
+ prosemirror-state: 1.4.4
+ prosemirror-view: 1.41.6
+
+ prosemirror-history@1.5.0:
+ dependencies:
+ prosemirror-state: 1.4.4
+ prosemirror-transform: 1.11.0
+ prosemirror-view: 1.41.6
+ rope-sequence: 1.3.4
+
+ prosemirror-inputrules@1.5.1:
+ dependencies:
+ prosemirror-state: 1.4.4
+ prosemirror-transform: 1.11.0
+
+ prosemirror-keymap@1.2.3:
+ dependencies:
+ prosemirror-state: 1.4.4
+ w3c-keyname: 2.2.8
+
+ prosemirror-model@1.25.4:
+ dependencies:
+ orderedmap: 2.1.1
+
+ prosemirror-safari-ime-span@1.0.2:
+ dependencies:
+ prosemirror-state: 1.4.4
+ prosemirror-view: 1.41.6
+
+ prosemirror-schema-list@1.5.1:
+ dependencies:
+ prosemirror-model: 1.25.4
+ prosemirror-state: 1.4.4
+ prosemirror-transform: 1.11.0
+
+ prosemirror-state@1.4.4:
+ dependencies:
+ prosemirror-model: 1.25.4
+ prosemirror-transform: 1.11.0
+ prosemirror-view: 1.41.6
+
+ prosemirror-tables@1.8.5:
+ dependencies:
+ prosemirror-keymap: 1.2.3
+ prosemirror-model: 1.25.4
+ prosemirror-state: 1.4.4
+ prosemirror-transform: 1.11.0
+ prosemirror-view: 1.41.6
+
+ prosemirror-transform@1.11.0:
+ dependencies:
+ prosemirror-model: 1.25.4
+
+ prosemirror-view@1.41.6:
+ dependencies:
+ prosemirror-model: 1.25.4
+ prosemirror-state: 1.4.4
+ prosemirror-transform: 1.11.0
+
+ prosemirror-virtual-cursor@0.4.2(prosemirror-model@1.25.4)(prosemirror-state@1.4.4)(prosemirror-view@1.41.6):
+ optionalDependencies:
+ prosemirror-model: 1.25.4
+ prosemirror-state: 1.4.4
+ prosemirror-view: 1.41.6
+
protocol-buffers-schema@3.6.0: {}
proxy-from-env@1.1.0: {}
@@ -12602,6 +15378,16 @@ snapshots:
performance-now: 2.1.0
optional: true
+ rc-align@4.0.15(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ dependencies:
+ '@babel/runtime': 7.25.7
+ classnames: 2.5.1
+ dom-align: 1.12.4
+ rc-util: 5.43.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ resize-observer-polyfill: 1.5.1
+
rc-cascader@3.28.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
dependencies:
'@babel/runtime': 7.25.7
@@ -12753,7 +15539,20 @@ snapshots:
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
- rc-picker@4.6.15(dayjs@1.11.13)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ rc-picker@2.7.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ dependencies:
+ '@babel/runtime': 7.25.7
+ classnames: 2.5.1
+ date-fns: 2.30.0
+ dayjs: 1.11.19
+ moment: 2.29.1
+ rc-trigger: 5.3.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-util: 5.43.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ shallowequal: 1.1.0
+
+ rc-picker@4.6.15(date-fns@2.30.0)(dayjs@1.11.13)(moment@2.29.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
dependencies:
'@babel/runtime': 7.25.7
'@rc-component/trigger': 2.2.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
@@ -12764,6 +15563,7 @@ snapshots:
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
optionalDependencies:
+ date-fns: 2.30.0
dayjs: 1.11.13
moment: 2.29.1
@@ -12907,6 +15707,16 @@ snapshots:
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
+ rc-trigger@5.3.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ dependencies:
+ '@babel/runtime': 7.25.7
+ classnames: 2.5.1
+ rc-align: 4.0.15(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-motion: 2.9.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ rc-util: 5.43.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
rc-upload@4.8.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
dependencies:
'@babel/runtime': 7.25.7
@@ -13175,6 +15985,11 @@ snapshots:
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
+ react-virtuoso@4.14.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ dependencies:
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
react-window@1.8.11(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
dependencies:
'@babel/runtime': 7.25.7
@@ -13260,6 +16075,16 @@ snapshots:
regenerator-runtime@0.14.1: {}
+ regex-recursion@6.0.2:
+ dependencies:
+ regex-utilities: 2.3.0
+
+ regex-utilities@2.3.0: {}
+
+ regex@6.1.0:
+ dependencies:
+ regex-utilities: 2.3.0
+
regexp.prototype.flags@1.5.3:
dependencies:
call-bind: 1.0.7
@@ -13298,6 +16123,10 @@ snapshots:
unified: 10.1.2
unist-util-visit: 4.1.2
+ rehype-harden@1.1.8:
+ dependencies:
+ unist-util-visit: 5.0.0
+
rehype-highlight@7.0.1:
dependencies:
'@types/hast': 3.0.4
@@ -13306,6 +16135,16 @@ snapshots:
unist-util-visit: 5.0.0
vfile: 6.0.3
+ rehype-katex@7.0.1:
+ dependencies:
+ '@types/hast': 3.0.4
+ '@types/katex': 0.16.8
+ hast-util-from-html-isomorphic: 2.0.0
+ hast-util-to-text: 4.0.2
+ katex: 0.16.33
+ unist-util-visit-parents: 6.0.1
+ vfile: 6.0.3
+
rehype-parse@8.0.5:
dependencies:
'@types/hast': 2.3.10
@@ -13331,6 +16170,11 @@ snapshots:
unified: 10.1.0
unist-util-visit: 4.1.0
+ rehype-sanitize@6.0.0:
+ dependencies:
+ '@types/hast': 3.0.4
+ hast-util-sanitize: 5.0.2
+
rehype-slug@5.0.0:
dependencies:
'@types/hast': 2.3.10
@@ -13341,6 +16185,14 @@ snapshots:
unified: 10.1.2
unist-util-visit: 4.1.2
+ rehype-slug@6.0.0:
+ dependencies:
+ '@types/hast': 3.0.4
+ github-slugger: 2.0.0
+ hast-util-heading-rank: 3.0.0
+ hast-util-to-string: 3.0.1
+ unist-util-visit: 5.0.0
+
rehype-stringify@9.0.4:
dependencies:
'@types/hast': 2.3.10
@@ -13354,6 +16206,15 @@ snapshots:
rehype-stringify: 9.0.4
unified: 10.1.2
+ remark-directive@3.0.1:
+ dependencies:
+ '@types/mdast': 4.0.4
+ mdast-util-directive: 3.1.0
+ micromark-extension-directive: 3.0.2
+ unified: 11.0.5
+ transitivePeerDependencies:
+ - supports-color
+
remark-gfm@2.0.0:
dependencies:
'@types/mdast': 3.0.15
@@ -13374,6 +16235,32 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ remark-gfm@4.0.1:
+ dependencies:
+ '@types/mdast': 4.0.4
+ mdast-util-gfm: 3.0.0
+ micromark-extension-gfm: 3.0.0
+ remark-parse: 11.0.0
+ remark-stringify: 11.0.0
+ unified: 11.0.5
+ transitivePeerDependencies:
+ - supports-color
+
+ remark-inline-links@7.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ mdast-util-definitions: 6.0.0
+ unist-util-visit: 5.0.0
+
+ remark-math@6.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ mdast-util-math: 3.0.0
+ micromark-extension-math: 3.1.0
+ unified: 11.0.5
+ transitivePeerDependencies:
+ - supports-color
+
remark-parse@10.0.2:
dependencies:
'@types/mdast': 3.0.15
@@ -13399,6 +16286,14 @@ snapshots:
unified: 11.0.5
vfile: 6.0.3
+ remark-rehype@11.1.2:
+ dependencies:
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
+ mdast-util-to-hast: 13.2.0
+ unified: 11.0.5
+ vfile: 6.0.3
+
remark-rehype@9.1.0:
dependencies:
'@types/hast': 2.3.10
@@ -13412,6 +16307,17 @@ snapshots:
mdast-util-to-markdown: 2.1.2
unified: 11.0.5
+ remark@15.0.1:
+ dependencies:
+ '@types/mdast': 4.0.4
+ remark-parse: 11.0.0
+ remark-stringify: 11.0.0
+ unified: 11.0.5
+ transitivePeerDependencies:
+ - supports-color
+
+ remend@1.2.1: {}
+
remote-origin-url@1.0.0:
dependencies:
parse-git-config: 1.1.1
@@ -13514,6 +16420,15 @@ snapshots:
'@rollup/rollup-win32-x64-msvc': 4.24.0
fsevents: 2.3.3
+ rope-sequence@1.3.4: {}
+
+ roughjs@4.6.6:
+ dependencies:
+ hachure-fill: 0.5.2
+ path-data-parser: 0.1.0
+ points-on-curve: 0.2.0
+ points-on-path: 0.2.1
+
run-async@2.4.1: {}
run-parallel@1.2.0:
@@ -13639,6 +16554,17 @@ snapshots:
shebang-regex@3.0.0: {}
+ shiki@3.23.0:
+ dependencies:
+ '@shikijs/core': 3.23.0
+ '@shikijs/engine-javascript': 3.23.0
+ '@shikijs/engine-oniguruma': 3.23.0
+ '@shikijs/langs': 3.23.0
+ '@shikijs/themes': 3.23.0
+ '@shikijs/types': 3.23.0
+ '@shikijs/vscode-textmate': 10.0.2
+ '@types/hast': 3.0.4
+
side-channel@1.0.6:
dependencies:
call-bind: 1.0.7
@@ -13741,6 +16667,28 @@ snapshots:
stackblur-canvas@2.7.0:
optional: true
+ streamdown@2.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ dependencies:
+ clsx: 2.1.1
+ hast-util-to-jsx-runtime: 2.3.6
+ html-url-attributes: 3.0.1
+ marked: 17.0.3
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ rehype-harden: 1.1.8
+ rehype-raw: 7.0.0
+ rehype-sanitize: 6.0.0
+ remark-gfm: 4.0.1
+ remark-parse: 11.0.0
+ remark-rehype: 11.1.2
+ remend: 1.2.1
+ tailwind-merge: 3.5.0
+ unified: 11.0.5
+ unist-util-visit: 5.0.0
+ unist-util-visit-parents: 6.0.1
+ transitivePeerDependencies:
+ - supports-color
+
string-argv@0.3.2: {}
string-convert@0.2.1: {}
@@ -13848,10 +16796,20 @@ snapshots:
strip-json-comments@3.1.1: {}
+ style-mod@4.1.3: {}
+
+ style-to-js@1.1.21:
+ dependencies:
+ style-to-object: 1.0.14
+
style-to-object@0.3.0:
dependencies:
inline-style-parser: 0.1.1
+ style-to-object@1.0.14:
+ dependencies:
+ inline-style-parser: 0.2.7
+
style-to-object@1.0.8:
dependencies:
inline-style-parser: 0.2.4
@@ -13884,6 +16842,8 @@ snapshots:
stylis@4.3.4: {}
+ stylis@4.3.6: {}
+
supercluster@7.1.5:
dependencies:
kdbush: 3.0.0
@@ -13918,6 +16878,8 @@ snapshots:
'@pkgr/core': 0.1.1
tslib: 2.7.0
+ tailwind-merge@3.5.0: {}
+
tape@4.17.0:
dependencies:
'@ljharb/resumer': 0.0.1
@@ -13946,7 +16908,7 @@ snapshots:
terser@5.36.0:
dependencies:
'@jridgewell/source-map': 0.3.6
- acorn: 8.14.0
+ acorn: 8.16.0
commander: 2.20.3
source-map-support: 0.5.21
optional: true
@@ -13971,6 +16933,8 @@ snapshots:
tinyexec@0.3.0: {}
+ tinyexec@1.0.2: {}
+
tinyqueue@2.0.3: {}
tippy.js@6.3.7:
@@ -14007,6 +16971,8 @@ snapshots:
dependencies:
typescript: 5.6.2
+ ts-dedent@2.2.0: {}
+
ts-pattern@4.0.4: {}
tsconfig-paths@3.15.0:
@@ -14101,6 +17067,8 @@ snapshots:
ufo@1.5.4: {}
+ ufo@1.6.3: {}
+
uglify-js@2.8.29:
dependencies:
source-map: 0.5.7
@@ -14208,6 +17176,11 @@ snapshots:
dependencies:
'@types/unist': 3.0.3
+ unist-util-remove-position@5.0.0:
+ dependencies:
+ '@types/unist': 3.0.3
+ unist-util-visit: 5.0.0
+
unist-util-stringify-position@3.0.3:
dependencies:
'@types/unist': 2.0.11
@@ -14259,13 +17232,13 @@ snapshots:
universalify@2.0.1: {}
- unocss@0.58.9(postcss@8.4.47)(rollup@4.24.0)(vite@5.4.8(@types/node@22.13.14)(sass@1.79.4)(terser@5.36.0)):
+ unocss@0.58.9(postcss@8.5.8)(rollup@4.24.0)(vite@5.4.8(@types/node@22.13.14)(sass@1.79.4)(terser@5.36.0)):
dependencies:
'@unocss/astro': 0.58.9(rollup@4.24.0)(vite@5.4.8(@types/node@22.13.14)(sass@1.79.4)(terser@5.36.0))
'@unocss/cli': 0.58.9(rollup@4.24.0)
'@unocss/core': 0.58.9
'@unocss/extractor-arbitrary-variants': 0.58.9
- '@unocss/postcss': 0.58.9(postcss@8.4.47)
+ '@unocss/postcss': 0.58.9(postcss@8.5.8)
'@unocss/preset-attributify': 0.58.9
'@unocss/preset-icons': 0.58.9
'@unocss/preset-mini': 0.58.9
@@ -14397,6 +17370,21 @@ snapshots:
dependencies:
builtins: 1.0.3
+ validate.io-array@1.0.6: {}
+
+ validate.io-function@1.0.2: {}
+
+ validate.io-integer-array@1.0.0:
+ dependencies:
+ validate.io-array: 1.0.6
+ validate.io-integer: 1.0.5
+
+ validate.io-integer@1.0.5:
+ dependencies:
+ validate.io-number: 1.0.3
+
+ validate.io-number@1.0.3: {}
+
vfile-location@4.1.0:
dependencies:
'@types/unist': 2.0.11
@@ -14445,12 +17433,41 @@ snapshots:
sass: 1.79.4
terser: 5.36.0
+ vscode-jsonrpc@8.2.0: {}
+
+ vscode-languageserver-protocol@3.17.5:
+ dependencies:
+ vscode-jsonrpc: 8.2.0
+ vscode-languageserver-types: 3.17.5
+
+ vscode-languageserver-textdocument@1.0.12: {}
+
+ vscode-languageserver-types@3.17.5: {}
+
+ vscode-languageserver@9.0.1:
+ dependencies:
+ vscode-languageserver-protocol: 3.17.5
+
+ vscode-uri@3.1.0: {}
+
vt-pbf@3.1.3:
dependencies:
'@mapbox/point-geometry': 0.1.0
'@mapbox/vector-tile': 1.3.1
pbf: 3.3.0
+ vue@3.5.29(typescript@5.6.2):
+ dependencies:
+ '@vue/compiler-dom': 3.5.29
+ '@vue/compiler-sfc': 3.5.29
+ '@vue/runtime-dom': 3.5.29
+ '@vue/server-renderer': 3.5.29(vue@3.5.29(typescript@5.6.2))
+ '@vue/shared': 3.5.29
+ optionalDependencies:
+ typescript: 5.6.2
+
+ w3c-keyname@2.2.8: {}
+
warning@4.0.3:
dependencies:
loose-envify: 1.4.0
@@ -14609,6 +17626,20 @@ snapshots:
xtend@4.0.2: {}
+ y-prosemirror@1.3.7(prosemirror-model@1.25.4)(prosemirror-state@1.4.4)(prosemirror-view@1.41.6)(y-protocols@1.0.7(yjs@13.6.29))(yjs@13.6.29):
+ dependencies:
+ lib0: 0.2.117
+ prosemirror-model: 1.25.4
+ prosemirror-state: 1.4.4
+ prosemirror-view: 1.41.6
+ y-protocols: 1.0.7(yjs@13.6.29)
+ yjs: 13.6.29
+
+ y-protocols@1.0.7(yjs@13.6.29):
+ dependencies:
+ lib0: 0.2.117
+ yjs: 13.6.29
+
y18n@4.0.3: {}
y18n@5.0.8: {}
@@ -14657,6 +17688,10 @@ snapshots:
decamelize: 1.2.0
window-size: 0.1.0
+ yjs@13.6.29:
+ dependencies:
+ lib0: 0.2.117
+
yocto-queue@0.1.0: {}
yocto-queue@1.1.1: {}
diff --git a/scripts/pre-commit.mjs b/scripts/pre-commit.mjs
new file mode 100644
index 00000000..b4d9c28c
--- /dev/null
+++ b/scripts/pre-commit.mjs
@@ -0,0 +1,50 @@
+import { spawnSync } from 'node:child_process'
+
+const lintableExtensions = new Set(['.js', '.jsx', '.ts', '.tsx'])
+
+const run = (command, args, options = {}) =>
+ spawnSync(command, args, {
+ stdio: 'inherit',
+ encoding: 'utf8',
+ ...options,
+ })
+
+const getStagedFiles = () => {
+ const result = spawnSync('git', ['diff', '--cached', '--name-only', '--diff-filter=ACMR'], {
+ encoding: 'utf8',
+ })
+
+ if (result.status !== 0) {
+ process.stderr.write(result.stderr || 'failed to read staged files\n')
+ process.exit(result.status ?? 1)
+ }
+
+ return result.stdout
+ .split('\n')
+ .map((file) => file.trim())
+ .filter(Boolean)
+}
+
+const stagedFiles = getStagedFiles()
+const lintableFiles = stagedFiles.filter((file) => {
+ const dotIndex = file.lastIndexOf('.')
+ if (dotIndex === -1) return false
+ return lintableExtensions.has(file.slice(dotIndex))
+})
+
+if (lintableFiles.length === 0) {
+ process.exit(0)
+}
+
+const eslintResult = run('pnpm', ['exec', 'eslint', '--fix', ...lintableFiles])
+
+const addResult = run('git', ['add', '--', ...lintableFiles])
+if (addResult.status !== 0) {
+ process.exit(addResult.status ?? 1)
+}
+
+if (eslintResult.status !== 0) {
+ console.warn('\npre-commit: eslint reported issues, but commit is not blocked. Run `pnpm lint` manually when needed.')
+}
+
+process.exit(0)
diff --git a/src/App.tsx b/src/App.tsx
index b6462fe5..d9627cb5 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -1,7 +1,8 @@
import { useRoutes } from 'react-router-dom';
import routers from './App/routers/routers';
import irifyRouters from './App/routers/irify-routers';
-import '@yakit-libs/color/dist/index.css';
+// import '@yakit-libs/color/dist/index.css';
+import './styles/index.css';
const APP_MODE = import.meta.env.VITE_APP_MODE;
diff --git a/src/App/AppLayout.tsx b/src/App/AppLayout.tsx
index a825e644..312f13e7 100644
--- a/src/App/AppLayout.tsx
+++ b/src/App/AppLayout.tsx
@@ -1,301 +1,295 @@
-import type { MenuProps } from 'antd';
-import { Button, Layout, Menu, Spin } from 'antd';
+import type { MenuProps } from 'antd'
+import { Button, Layout, Menu, Spin } from 'antd'
import {
- useEffect,
- useMemo,
- useRef,
- // useRef
-} from 'react';
-import { Outlet, useLocation, useNavigate } from 'react-router-dom';
-import { useRequest, useSafeState } from 'ahooks';
-
-import routers from './routers/routers';
-import { useNetworkStatus, usePermissionsSlice } from '@/hooks';
-import { ROUTES } from '@/utils/routeMap';
-
-import login_logo from '@/assets/compoments/telecommunicationsLogo.svg';
-// import login_logo from '@/assets/compoments/login_logo.png';
-// import header_text from '@/assets/login/header_text.png';
-import { SiderClose, SiderOpen } from '@/assets/compoments';
-import { UserCard } from './UserCard';
-import { findFullPath, findPathNodes, processMenu } from '@/utils';
-import { LeftOutlined } from '@ant-design/icons';
-import { getLicense } from '@/apis/login';
-import { match } from 'ts-pattern';
-import type { UseModalRefType } from '@/compoments/WizardModal/useModal';
-import { McpModal } from '@/utils/McpModel';
+ useEffect,
+ useMemo,
+ useRef,
+ // useRef
+} from 'react'
+import { Outlet, useLocation, useNavigate } from 'react-router-dom'
+import { useRequest, useSafeState } from 'ahooks'
+
+import routers from './routers/routers'
+import { useNetworkStatus, usePermissionsSlice } from '@/hooks'
+import { ROUTES } from '@/utils/routeMap'
+
+// import login_logo from '@/assets/compoments/telecommunicationsLogo.svg'
+// import login_logo from '@/assets/compoments/login_logo.png'
+// import header_text from '@/assets/login/header_text.png'
+import { SiderClose, SiderOpen } from '@/assets/compoments'
+import { UserCard } from './UserCard'
+import { findFullPath, findPathNodes, processMenu } from '@/utils'
+import { LeftOutlined } from '@ant-design/icons'
+import { match } from 'ts-pattern'
+import type { UseModalRefType } from '@/compoments/WizardModal/useModal'
+import { McpModal } from '@/utils/McpModel'
+import { shouldBypassLicense } from '@/utils/license'
+import { YakitRoute } from '@/pages/AIAgent/enums/yakitRoute'
+import { AIEngineHeaderControl } from '@/pages/AIAgent/ai-agent/components/AIEngineHeaderControl/AIEngineHeaderControl'
// import useLoginStore from './store/loginStore';
-const { Header, Content, Sider } = Layout;
+const { Header, Content, Sider } = Layout
const AppLayout = () => {
- const locations = useLocation();
- const navigate = useNavigate();
- const { status } = useNetworkStatus();
- // const store = useLoginStore.getState();
-
- const mcpModalRef = useRef(null);
-
- const [collapsed, setCollapsed] = useSafeState(false);
- const [headerTitle, setHeaderTitle] = useSafeState<
- Array> | undefined
- >([]);
-
- const { permissionsSlice } = usePermissionsSlice();
-
- const { data: license, loading } = useRequest(async () => {
- const { data } = await getLicense();
- const { license } = data;
- return license?.length > 0 ? license : undefined;
- });
-
- // 路由重定向
- useEffect(() => {
- if (locations.pathname === '/') {
- const routesChildrenList = routers[0]?.children?.[0] ?? {};
- const getRoutesPath = findFullPath(routesChildrenList)?.[0];
- navigate(getRoutesPath);
- }
- }, [locations.pathname]);
-
- const items: MenuProps['items'] = useMemo(() => {
- const routesList = routers[0]?.children ?? [];
-
- // 路由列表转换菜单
- const routerList = processMenu(routesList, navigate);
-
- // 获取 layout Header 面包屑
- const resultPathNodes =
- findPathNodes(locations.pathname, routesList) ?? [];
- const resultRouteList = match(resultPathNodes?.length)
- .with(1, () => {
- return [resultPathNodes?.[0]];
- })
- .with(2, () => {
- return resultPathNodes?.slice(1);
- })
-
- .otherwise(() => []);
- setHeaderTitle(resultRouteList);
-
- return routerList;
- }, [routers, collapsed, permissionsSlice, locations.pathname]);
-
- // 超过二级路由点击时,获取2级路由作为key
- const menuSelectedKeys = useMemo(() => {
- const pathNameList = locations.pathname
- .split('/')
- .filter((it) => it !== '');
- const resultSelectedKey =
- pathNameList.length > 2
- ? `/${pathNameList.slice(0, 2).join('/')}`
- : `/${pathNameList.join('/')}`;
- return resultSelectedKey;
- }, [locations.pathname]);
-
- useEffect(() => {
- !status && navigate(ROUTES.NETWORK_ERROR, { replace: true });
- }, [status]);
-
- useEffect(() => {
- license && navigate(ROUTES.LICENSE, { state: { license } });
- }, [license]);
-
- // const timeoutRef = useRef(null);
- // const STORAGE_KEY = 'lastActiveTime'; // 存储时间的 key
- // const IDLE_TIMEOUT = 1000 * 60 * 30; // 30分钟
-
- // // 触发事件的逻辑
- // const triggerEvent = () => {
- // localStorage.removeItem(STORAGE_KEY); // 事件触发后清除时间记录
- // store.outLogin();
- // };
-
- // // 重置定时器
- // const resetTimer = () => {
- // if (timeoutRef.current) {
- // clearTimeout(timeoutRef.current);
- // }
-
- // const now = new Date().toISOString();
- // localStorage.setItem(STORAGE_KEY, now); // 将当前时间存储到 localStorage
-
- // timeoutRef.current = window.setTimeout(() => {
- // triggerEvent();
- // }, IDLE_TIMEOUT); // 30分钟后触发
- // };
-
- // // 页面加载时检测是否超时
- // const checkIdleTime = () => {
- // const lastActiveTime = localStorage.getItem(STORAGE_KEY);
- // if (lastActiveTime) {
- // const lastActiveTimestamp = new Date(lastActiveTime).getTime();
- // const currentTimestamp = Date.now();
-
- // const elapsed = currentTimestamp - lastActiveTimestamp;
- // if (elapsed >= IDLE_TIMEOUT) {
- // // 已经过了 30 分钟,立即触发事件
- // triggerEvent();
- // } else {
- // // 未超过 1 分钟,继续倒计时剩余时间
- // timeoutRef.current = window.setTimeout(() => {
- // triggerEvent();
- // }, IDLE_TIMEOUT - elapsed);
- // }
- // } else {
- // // 如果没有存储时间,初始化定时器
- // resetTimer();
- // }
- // };
-
- // useEffect(() => {
- // // 监听用户操作事件
- // const handleUserAction = () => resetTimer();
-
- // window.addEventListener('mousemove', handleUserAction);
- // window.addEventListener('keydown', handleUserAction);
- // window.addEventListener('click', handleUserAction);
- // window.addEventListener('scroll', handleUserAction);
-
- // // 检测页面加载时的空闲时间
- // checkIdleTime();
-
- // return () => {
- // // 清理事件监听和定时器
- // if (timeoutRef.current) {
- // clearTimeout(timeoutRef.current);
- // }
- // window.removeEventListener('mousemove', handleUserAction);
- // window.removeEventListener('keydown', handleUserAction);
- // window.removeEventListener('click', handleUserAction);
- // window.removeEventListener('scroll', handleUserAction);
- // };
- // }, []);
- return loading ? (
-
-
-
- ) : (
-
-
+ const locations = useLocation()
+ const navigate = useNavigate()
+ const { status } = useNetworkStatus()
+ // const store = useLoginStore.getState();
+
+ const mcpModalRef = useRef(null)
+
+ const [collapsed, setCollapsed] = useSafeState(false)
+ const [headerTitle, setHeaderTitle] = useSafeState> | undefined>([])
+ const [headerPathNodes, setHeaderPathNodes] = useSafeState>>([])
+ const bypassLicense = shouldBypassLicense()
+
+ const { permissionsSlice } = usePermissionsSlice()
+
+ const { loading } = useRequest(
+ async () => {
+ return undefined
+ // const { data } = await getLicense();
+ // const { license } = data;
+ // return resolveLicenseGateValue(license);
+ },
+ { manual: bypassLicense },
+ )
+
+ // 路由重定向
+ useEffect(() => {
+ if (locations.pathname === '/') {
+ const routesChildrenList = routers[0]?.children?.[0] ?? {}
+ const getRoutesPath = findFullPath(routesChildrenList)?.[0]
+ navigate(getRoutesPath)
+ }
+ }, [locations.pathname])
+
+ const items: MenuProps['items'] = useMemo(() => {
+ const routesList = routers[0]?.children ?? []
+
+ // 路由列表转换菜单
+ const routerList = processMenu(routesList, navigate)
+
+ // 获取 layout Header 面包屑
+ const resultPathNodes = findPathNodes(locations.pathname, routesList) ?? []
+ const pathDepth = resultPathNodes.length
+ const resultRouteList = match(pathDepth)
+ .with(1, () => {
+ return [resultPathNodes[0]]
+ })
+ .with(2, () => {
+ return [resultPathNodes[1]]
+ })
+ .with(3, () => {
+ return [resultPathNodes[2]]
+ })
+ .otherwise(() => [])
+
+ setHeaderPathNodes(resultPathNodes)
+ setHeaderTitle(resultRouteList)
+
+ return routerList
+ }, [routers, collapsed, permissionsSlice, locations.pathname])
+
+ // 超过二级路由点击时,获取2级路由作为key
+ const menuSelectedKeys = useMemo(() => {
+ const pathNameList = locations.pathname.split('/').filter((it) => it !== '')
+ const resultSelectedKey =
+ pathNameList.length > 2 ? `/${pathNameList.slice(0, 2).join('/')}` : `/${pathNameList.join('/')}`
+ return resultSelectedKey
+ }, [locations.pathname])
+
+ useEffect(() => {
+ !status && navigate(ROUTES.NETWORK_ERROR, { replace: true })
+ }, [status])
+
+ // useEffect(() => {
+ // license && navigate(ROUTES.LICENSE, { state: { license } });
+ // }, [license]);
+
+ // const timeoutRef = useRef(null);
+ // const STORAGE_KEY = 'lastActiveTime'; // 存储时间的 key
+ // const IDLE_TIMEOUT = 1000 * 60 * 30; // 30分钟
+
+ // // 触发事件的逻辑
+ // const triggerEvent = () => {
+ // localStorage.removeItem(STORAGE_KEY); // 事件触发后清除时间记录
+ // store.outLogin();
+ // };
+
+ // // 重置定时器
+ // const resetTimer = () => {
+ // if (timeoutRef.current) {
+ // clearTimeout(timeoutRef.current);
+ // }
+
+ // const now = new Date().toISOString();
+ // localStorage.setItem(STORAGE_KEY, now); // 将当前时间存储到 localStorage
+
+ // timeoutRef.current = window.setTimeout(() => {
+ // triggerEvent();
+ // }, IDLE_TIMEOUT); // 30分钟后触发
+ // };
+
+ // // 页面加载时检测是否超时
+ // const checkIdleTime = () => {
+ // const lastActiveTime = localStorage.getItem(STORAGE_KEY);
+ // if (lastActiveTime) {
+ // const lastActiveTimestamp = new Date(lastActiveTime).getTime();
+ // const currentTimestamp = Date.now();
+
+ // const elapsed = currentTimestamp - lastActiveTimestamp;
+ // if (elapsed >= IDLE_TIMEOUT) {
+ // // 已经过了 30 分钟,立即触发事件
+ // triggerEvent();
+ // } else {
+ // // 未超过 1 分钟,继续倒计时剩余时间
+ // timeoutRef.current = window.setTimeout(() => {
+ // triggerEvent();
+ // }, IDLE_TIMEOUT - elapsed);
+ // }
+ // } else {
+ // // 如果没有存储时间,初始化定时器
+ // resetTimer();
+ // }
+ // };
+
+ // useEffect(() => {
+ // // 监听用户操作事件
+ // const handleUserAction = () => resetTimer();
+
+ // window.addEventListener('mousemove', handleUserAction);
+ // window.addEventListener('keydown', handleUserAction);
+ // window.addEventListener('click', handleUserAction);
+ // window.addEventListener('scroll', handleUserAction);
+
+ // // 检测页面加载时的空闲时间
+ // checkIdleTime();
+
+ // return () => {
+ // // 清理事件监听和定时器
+ // if (timeoutRef.current) {
+ // clearTimeout(timeoutRef.current);
+ // }
+ // window.removeEventListener('mousemove', handleUserAction);
+ // window.removeEventListener('keydown', handleUserAction);
+ // window.removeEventListener('click', handleUserAction);
+ // window.removeEventListener('scroll', handleUserAction);
+ // };
+ // }, []);
+ return loading ? (
+
+
+
+ ) : (
+
+
+
+
+ {/*

+ {!collapsed ?

: null} */}
+ {
+ !collapsed ? (
+
+ AI自动化渗透测试平台
+
+ ) : null
+ //

+ }
+
+
setCollapsed((value) => !value)}>
+
{collapsed ? : }
+
+
+
+
+
+
+
+ {!collapsed && (
+ 版本: 20240808-e01f03cb
+ )}
+
+
+
+
-
-
-
- {permissionsSlice.length > 0 && (
-
-
-
- )}
-
-
-
- );
-};
-export default AppLayout;
+
+ {permissionsSlice.length > 0 && (
+
+
+
+ )}
+
+
+
+ )
+}
+export default AppLayout
diff --git a/src/App/IRifyLayout.tsx b/src/App/IRifyLayout.tsx
index 2e53f14c..474a4c78 100644
--- a/src/App/IRifyLayout.tsx
+++ b/src/App/IRifyLayout.tsx
@@ -24,6 +24,7 @@ import {
MenuUnfoldOutlined,
} from '@ant-design/icons';
import { getLicense } from '@/apis/login';
+import { resolveLicenseGateValue, shouldBypassLicense } from '@/utils/license';
import { useNetworkStatus } from '@/hooks';
import useLoginStore from '@/App/store/loginStore';
import { useTheme } from '@/theme';
@@ -99,6 +100,11 @@ const collapsibleNavItems = [
label: '节点管理',
path: '/node-config/manage',
},
+ {
+ key: '/node-config/observability',
+ label: '扫描观测',
+ path: '/node-config/observability',
+ },
],
},
{
@@ -125,12 +131,13 @@ const IRifyLayout: React.FC = () => {
new Set(),
);
const { isDark, themeMode, setThemeMode } = useTheme();
+ const bypassLicense = shouldBypassLicense();
const { data: license, loading } = useRequest(async () => {
const { data } = await getLicense();
const { license } = data;
- return license?.length > 0 ? license : undefined;
- });
+ return resolveLicenseGateValue(license);
+ }, { manual: bypassLicense });
// Check network status
useEffect(() => {
@@ -202,6 +209,8 @@ const IRifyLayout: React.FC = () => {
return ['节点配置', '节点安装'];
if (path.startsWith('/node-config/manage'))
return ['节点配置', '节点管理'];
+ if (path.startsWith('/node-config/observability'))
+ return ['节点配置', '扫描观测'];
if (path.startsWith('/system-management/userinfo'))
return ['系统管理', '用户管理'];
diff --git a/src/App/UserCard.tsx b/src/App/UserCard.tsx
index f6374268..5ae2ae74 100644
--- a/src/App/UserCard.tsx
+++ b/src/App/UserCard.tsx
@@ -1,13 +1,13 @@
-import type { FC } from 'react';
-import Avatar from '../assets/compoments/Avatar.png';
-import { CloseIcon } from '@/assets/compoments';
-import useLoginStore from './store/loginStore';
-import { usePermissionsSlice } from '@/hooks';
-import { Button, Popover } from 'antd';
-import { InfoCircleOutlined } from '@ant-design/icons';
-import { useSafeState } from 'ahooks';
-import { useNavigate } from 'react-router-dom';
-import { getLoginOut } from '@/apis/login';
+import type { FC } from 'react'
+import Avatar from '../assets/compoments/Avatar.png'
+import { CloseIcon } from '@/assets/compoments'
+import useLoginStore from './store/loginStore'
+import { usePermissionsSlice } from '@/hooks'
+import { Button, Popover } from 'antd'
+import { InfoCircleOutlined } from '@ant-design/icons'
+import { useSafeState } from 'ahooks'
+import { useNavigate } from 'react-router-dom'
+import { getLoginOut } from '@/apis/login'
/**
*
@@ -15,86 +15,80 @@ import { getLoginOut } from '@/apis/login';
* @returns
*/
const UserCard: FC<{ collapsed: boolean }> = ({ collapsed }) => {
- const [open, setOpen] = useSafeState(false);
- const navigate = useNavigate();
+ const [open, setOpen] = useSafeState(false)
+ const navigate = useNavigate()
- // 个人登录信息下拉菜单
- const { outLogin, userInfo } = useLoginStore((state) => state);
- const { clearPower } = usePermissionsSlice();
+ // 个人登录信息下拉菜单
+ const { outLogin, userInfo } = useLoginStore((state) => state)
+ const { clearPower } = usePermissionsSlice()
- const handleOutLogin = async () => {
- await getLoginOut();
- outLogin();
- navigate('/login', { replace: true });
- clearPower();
- };
+ const handleOutLogin = async () => {
+ await getLoginOut()
+ outLogin()
+ navigate('/login', { replace: true })
+ clearPower()
+ }
- return (
-
+ return (
+
+
+ {/* 头像 */}
+
+

+ {!collapsed && (
- {/* 头像 */}
-
-

- {!collapsed && (
-
-
- {userInfo.username ?? '未知用户'}
-
-
- {userInfo.roles?.join('') ?? '未获取到该权限'}
-
-
- )}
-
+
{userInfo.username ?? '未知用户'}
+
+ {userInfo.roles?.join('') ?? '未获取到该权限'}
+
-
setOpen(open)}
- content={
-
-
-
-
- }
- title={
-
-
- 确定退出登录吗?
-
- }
- trigger="click"
+ )}
+
+
+
setOpen(open)}
+ content={
+
+
+
+
+ }
+ title={
+
+
+ 确定退出登录吗?
+
+ }
+ trigger="click"
+ >
+
+
- );
-};
+
+
+ )
+}
-export { UserCard };
+export { UserCard }
diff --git a/src/App/routers/AuthRoute.tsx b/src/App/routers/AuthRoute.tsx
index 65e8d259..82a4af1e 100644
--- a/src/App/routers/AuthRoute.tsx
+++ b/src/App/routers/AuthRoute.tsx
@@ -1,20 +1,13 @@
-import type { FC, ReactNode } from 'react';
-import useLoginStore from '../store/loginStore';
-import { NoLoginPermission } from '@/compoments';
+import type { FC, ReactNode } from 'react'
+import { Navigate } from 'react-router-dom'
+import useLoginStore from '../store/loginStore'
interface AuthRouteType {
- children: ReactNode;
+ children: ReactNode
}
const AuthRoute: FC
= ({ children }) => {
- const { token } = useLoginStore((state) => state);
-
- // useEffect(() => {
- // if (!token) {
- // // dispatch(logOut(_pathname.slice(1)))
- // }
- // }, [token]);
-
- return token ? children : ;
-};
-export default AuthRoute;
+ const { token } = useLoginStore((state) => state)
+ return token ? children :
+}
+export default AuthRoute
diff --git a/src/App/routers/irify-routers.tsx b/src/App/routers/irify-routers.tsx
index f1747b6d..48eb95dd 100644
--- a/src/App/routers/irify-routers.tsx
+++ b/src/App/routers/irify-routers.tsx
@@ -16,8 +16,9 @@ import { RuleEditor } from '@/pages/RuleManagement/RuleEditor';
import SSARiskAudit from '@/pages/SSARiskAudit';
import TaskList from '@/pages/SSAScanTask/TaskList';
import IRifyNodeManagePage from '@/pages/NodeManage/IRifyNodeManagePage';
+import IRifyScanObservabilityPage from '@/pages/NodeManage/IRifyScanObservabilityPage';
import IRifySystemManagementPage from '@/pages/SystemManagement/IRifySystemManagementPage';
-import ReportManage from '@/pages/ReportManage';
+import IRifyReportManagePage from '@/pages/IRifyReportManage';
import CompileArtifactsPage from '@/pages/CompileArtifacts/CompileArtifactsPage';
import IRifyDashboard from '@/pages/IRifyDashboard';
@@ -110,7 +111,7 @@ const irifyRouters: RouteObject[] = [
},
{
path: 'reports',
- element: ,
+ element: ,
},
{
path: 'node-config',
@@ -123,6 +124,10 @@ const irifyRouters: RouteObject[] = [
path: 'manage',
element: ,
},
+ {
+ path: 'observability',
+ element: ,
+ },
],
},
{
diff --git a/src/App/routers/routers.tsx b/src/App/routers/routers.tsx
index d8bee8a4..1f78cab7 100644
--- a/src/App/routers/routers.tsx
+++ b/src/App/routers/routers.tsx
@@ -1,365 +1,695 @@
-import type { RouteObject } from 'react-router-dom';
-import AppLayout from '../AppLayout';
-import type { ReactNode } from 'react';
-import AuthRoute from './AuthRoute';
-import Login from '@/pages/Login';
+import type { RouteObject } from 'react-router-dom'
+import AppLayout from '../AppLayout'
+import type { ReactNode } from 'react'
+import AuthRoute from './AuthRoute'
+// import Login from '@/pages/Login'
import {
- DataServiceIcon,
- NodeConfigIcon,
- PublicCodec,
- ReportManageIcon,
- SystemManagementIcon,
- TaskCenterIcon,
-} from '@/assets/menu';
+ DataServiceIcon,
+ NodeConfigIcon,
+ PublicCodec,
+ ReportManageIcon,
+ SystemManagementIcon,
+ TaskCenterIcon,
+ AIOutlinedIcon,
+} from '@/assets/menu'
-import { NetworkError } from '@/pages/NetworkError';
+import { NetworkError } from '@/pages/NetworkError'
-import TaskPageList from '@/pages/TaskPageList';
-import TaskScript from '@/pages/TaskScript';
-import TaskDetail from '@/pages/TaskDetail';
-import ReportManage from '@/pages/ReportManage';
-import NodeConfig from '@/pages/NodeConfig';
-import SystemManagement from '@/pages/SystemManagement';
-import { PortAssets } from '@/pages/DataService/PortAssets';
-import { AssetsVulns } from '@/pages/DataService/AssetsVulns';
-import { SensitiveMessage } from '@/pages/DataService/SensitiveMessage';
-import { CveLoophole } from '@/pages/DataService/CveLoophole';
-import NodeManagePage from '@/pages/NodeManage';
-import License from '@/pages/License';
-import { ModifyTaskScript } from '@/pages/TaskScript/taskScript/ModifyTaskScript';
-import ActiChainDNS from '@/pages/ActiChainDNS';
-import ICMPSize from '@/pages/ICMPSize';
-import TCPLog from '@/pages/TCPLog';
+import TaskPageList from '@/pages/TaskPageList'
+import TaskScript from '@/pages/TaskScript'
+import TaskDetail from '@/pages/TaskDetail'
+import ReportManage from '@/pages/ReportManage'
+import NodeConfig from '@/pages/NodeConfig'
+import SystemManagement from '@/pages/SystemManagement'
+import { PortAssets } from '@/pages/DataService/PortAssets'
+import { AssetsVulns } from '@/pages/DataService/AssetsVulns'
+import { SensitiveMessage } from '@/pages/DataService/SensitiveMessage'
+import { CveLoophole } from '@/pages/DataService/CveLoophole'
+import NodeManagePage from '@/pages/NodeManage'
+import License from '@/pages/License'
+import { ModifyTaskScript } from '@/pages/TaskScript/taskScript/ModifyTaskScript'
+import ActiChainDNS from '@/pages/ActiChainDNS'
+import ICMPSize from '@/pages/ICMPSize'
+import TCPLog from '@/pages/TCPLog'
// import MessageCollect from '@/pages/MessageCollect';
-import { ReverseLinkServerFacadeServer } from '@/pages/ReverseLinkServer/ReverseLinkServerFacadeServer';
-import GlobalReverseLink from '@/pages/ReverseLink';
-import { ReverseLinkServer } from '@/pages/ReverseLinkServer/ReverseLinkServer';
-import ApiOutlinedIcon from '@/assets/menu/ApiOutlinedIcon';
-import CodecEntry from '@/pages/Codec';
-import SpecialTask from '@/pages/SpecialTask';
-import CreateTask from '@/pages/CreateTask';
-import { ProjectManagement, ProjectEditor, CreateProject } from '@/pages/ProjecManagement';
-import RuleManagement from '@/pages/RuleManagement';
-import { RuleEditor } from '@/pages/RuleManagement/RuleEditor';
-// SSARisk pages removed - now using SSARiskAudit
-import SSARiskAudit from '@/pages/SSARiskAudit';
-import TaskList from '@/pages/SSAScanTask/TaskList';
+import { ReverseLinkServerFacadeServer } from '@/pages/ReverseLinkServer/ReverseLinkServerFacadeServer'
+import GlobalReverseLink from '@/pages/ReverseLink'
+import { ReverseLinkServer } from '@/pages/ReverseLinkServer/ReverseLinkServer'
+import ApiOutlinedIcon from '@/assets/menu/ApiOutlinedIcon'
+import CodecEntry from '@/pages/Codec'
+import SpecialTask from '@/pages/SpecialTask'
+import CreateTask from '@/pages/CreateTask'
+// import { ProjectManagement, ProjectEditor, CreateProject } from '@/pages/ProjecManagement'
+// import RuleManagement from '@/pages/RuleManagement'
+// import { RuleEditor } from '@/pages/RuleManagement/RuleEditor'
+// import SSARiskAudit from '@/pages/SSARiskAudit'
+// import TaskList from '@/pages/SSAScanTask/TaskList'
+import { AIAgent } from '@/pages/AIAgent/ai-agent/AIAgent'
+import AIAgentLog from '@/pages/AIAgent/ai-agent-log/AIAgentLog'
+// import { TestAi } from '@/apis/AiEventApi/test'
+import ForgeEditor from '@/pages/AIAgent/ai-agent/aiForge/forgeEditor/ForgeEditor'
+import { YakitRoute } from '@/pages/AIAgent/enums/yakitRoute'
+import Login from '@/pages/Login'
// 继承路由接口,增加name字段
type RouteObjectRootMy = RouteObject & {
- name?: string;
- children?: RouteObjectRootMy[];
- key?: string;
- icon?: ReactNode;
- hidden?: boolean;
-};
+ name?: string
+ children?: RouteObjectRootMy[]
+ key?: string
+ icon?: ReactNode
+ hidden?: boolean
+ parentPath?: string
+ parentpath?: string
+}
const routers: RouteObjectRootMy[] = [
- {
- path: '/',
- element: (
-
-
-
- ),
- children: [
- {
- path: 'task',
- parentPath: '/',
- name: '任务中心',
- key: 'task',
- icon: ,
- children: [
- {
- path: 'new-create-task',
- key: 'new-create-task',
- name: '新建扫描',
- element: ,
- hidden: false,
- parentpath: '/task/new-create-task',
- },
- {
- path: 'special-task',
- key: 'special-task',
- name: '专项扫描',
- element: ,
- hidden: false,
- parentpath: '/task/special-task',
- },
- {
- path: 'task-list',
- name: '任务列表',
- key: 'task-list',
- children: [
- {
- index: true,
- element: ,
- },
- {
- path: 'detail',
- key: 'task_detail',
- element: ,
- name: '任务详情',
- hidden: true,
- parentpath: '/task/task-list',
- },
- ],
- },
- ],
- },
- {
- path: 'report-manage',
- name: '报告管理',
- key: 'project',
- icon: ,
- element: ,
- },
- {
- path: 'data-service',
- name: '资产数据',
- key: 'data-service',
- icon: ,
- children: [
- {
- path: 'port',
- name: '端口资产',
- key: 'port-assets',
- element: ,
- },
- {
- path: 'assets-vulns',
- name: '漏洞与风险',
- key: 'assets-vulns',
- element: ,
- children: [
- {
- path: 'audit-code',
- name: '代码审计',
- key: 'assets-vulns-audit-code',
- element: null,
- },
- ],
- },
- {
- path: 'sensitive-message',
- name: '敏感信息',
- key: 'sensitive-message',
- element: ,
- },
- // {
- // path: 'message-collect',
- // name: '信息收集',
- // key: 'message-collect',
- // element: ,
- // },
- ],
- },
- {
- path: 'codec',
- name: 'Codec',
- key: 'codec',
- icon: ,
- element: ,
- },
- {
- path: 'acti-chain',
- name: '反连',
- key: 'acti-chain',
- icon: ,
- children: [
- {
- path: 'dns',
- name: 'DNS Log',
- key: 'acti-chain-dns',
- element: ,
- },
- {
- path: 'ICMP',
- name: 'ICMP Size',
- key: 'icmp-size-logger',
- element: ,
- },
- {
- path: 'tcp',
- name: 'TCP-ProtLog',
- key: 'tcp-prot-logger',
- element: ,
- },
- {
- path: 'reverse-link-server',
- name: '反连服务器',
- key: 'reverse-link-server',
- element: ,
- },
- {
- path: 'reverse-link-server/facade-server',
- name: '反连服务器',
- key: 'reverse-link-server',
- element: ,
- hidden: true,
- },
- ],
- },
- {
- path: 'node-config',
- name: '节点配置',
- key: 'node',
- icon: ,
- children: [
- {
- path: 'install',
- name: '节点安装',
- key: 'node-intsall',
- element: ,
- },
- {
- path: 'manage',
- name: '节点管理',
- key: 'node-manage',
- element: ,
- },
- ],
- },
- {
- path: 'system-management',
- name: '系统管理',
- key: 'system',
- icon: ,
- children: [
- {
- path: 'userinfo',
- name: '用户管理',
- key: 'system-user',
- element: ,
- },
+ {
+ path: '/',
+ element: (
+
+
+
+ ),
+ // children: [
+ // {
+ // path: 'task',
+ // parentPath: '/',
+ // name: '任务中心',
+ // key: 'task',
+ // icon: ,
+ // children: [
+ // {
+ // path: 'new-create-task',
+ // key: 'new-create-task',
+ // name: '新建扫描',
+ // element: ,
+ // hidden: false,
+ // parentpath: '/task/new-create-task',
+ // },
+ // {
+ // path: 'special-task',
+ // key: 'special-task',
+ // name: '专项扫描',
+ // element: ,
+ // hidden: false,
+ // parentpath: '/task/special-task',
+ // },
+ // {
+ // path: 'task-list',
+ // name: '任务列表',
+ // key: 'task-list',
+ // children: [
+ // {
+ // index: true,
+ // element: ,
+ // },
+ // {
+ // path: 'detail',
+ // key: 'task_detail',
+ // element: ,
+ // name: '任务详情',
+ // hidden: true,
+ // parentpath: '/task/task-list',
+ // },
+ // ],
+ // },
+ // ],
+ // },
+ // {
+ // path: 'report-manage',
+ // name: '报告管理',
+ // key: 'project',
+ // icon: ,
+ // element: ,
+ // },
+ // {
+ // path: 'data-service',
+ // name: '资产数据',
+ // key: 'data-service',
+ // icon: ,
+ // children: [
+ // {
+ // path: 'port',
+ // name: '端口资产',
+ // key: 'port-assets',
+ // element: ,
+ // },
+ // {
+ // path: 'assets-vulns',
+ // name: '漏洞与风险',
+ // key: 'assets-vulns',
+ // element: ,
+ // children: [
+ // {
+ // path: 'audit-code',
+ // name: '代码审计',
+ // key: 'assets-vulns-audit-code',
+ // element: null,
+ // },
+ // ],
+ // },
+ // {
+ // path: 'sensitive-message',
+ // name: '敏感信息',
+ // key: 'sensitive-message',
+ // element: ,
+ // },
+ // // {
+ // // path: 'message-collect',
+ // // name: '信息收集',
+ // // key: 'message-collect',
+ // // element: ,
+ // // },
+ // ],
+ // },
+ // {
+ // path: 'codec',
+ // name: 'Codec',
+ // key: 'codec',
+ // icon: ,
+ // element: ,
+ // },
+ // {
+ // path: 'acti-chain',
+ // name: '反连',
+ // key: 'acti-chain',
+ // icon: ,
+ // children: [
+ // {
+ // path: 'dns',
+ // name: 'DNS Log',
+ // key: 'acti-chain-dns',
+ // element: ,
+ // },
+ // {
+ // path: 'ICMP',
+ // name: 'ICMP Size',
+ // key: 'icmp-size-logger',
+ // element: ,
+ // },
+ // {
+ // path: 'tcp',
+ // name: 'TCP-ProtLog',
+ // key: 'tcp-prot-logger',
+ // element: ,
+ // },
+ // {
+ // path: 'reverse-link-server',
+ // name: '反连服务器',
+ // key: 'reverse-link-server',
+ // element: ,
+ // },
+ // {
+ // path: 'reverse-link-server/facade-server',
+ // name: '反连服务器',
+ // key: 'reverse-link-server',
+ // element: ,
+ // hidden: true,
+ // },
+ // ],
+ // },
+ // {
+ // path: 'node-config',
+ // name: '节点配置',
+ // key: 'node',
+ // icon: ,
+ // children: [
+ // {
+ // path: 'install',
+ // name: '节点安装',
+ // key: 'node-intsall',
+ // element: ,
+ // },
+ // {
+ // path: 'manage',
+ // name: '节点管理',
+ // key: 'node-manage',
+ // element: ,
+ // },
+ // ],
+ // },
+ // {
+ // path: 'system-management',
+ // name: '系统管理',
+ // key: 'system',
+ // icon: ,
+ // children: [
+ // {
+ // path: 'userinfo',
+ // name: '用户管理',
+ // key: 'system-user',
+ // element: ,
+ // },
- {
- path: 'task-script',
- name: '脚本管理',
- key: 'task-script',
- children: [
- {
- index: true,
- element: ,
- },
- {
- path: 'modify-task-script',
- key: 'modify-task-script',
- element: ,
- name: '分布式任务脚本',
- hidden: true,
- parentpath: '/task-script/task-script',
- },
- ],
- },
- {
- path: 'cve-loophole',
- name: '漏洞库管理',
- key: 'cve-loophole',
- element: ,
- },
- {
- name: '全局反连',
- path: 'global-reverse-link',
- key: 'system-global-reverse-link',
- element: ,
- },
- ],
- },
- {
- path: 'static-analysis',
- name: '静态代码分析',
- key: 'static-analysis',
- icon: ,
- children: [
- {
- path: 'project-management',
- name: '项目管理',
- key: 'static-project',
- children: [
- {
- index: true,
- element: ,
- },
- {
- path: 'create',
- key: 'static-project-create',
- element: ,
- name: '新建项目',
- hidden: true,
- parentpath:
- '/static-analysis/project-management',
- },
- {
- path: 'edit',
- key: 'static-project-edit',
- element: ,
- name: '编辑项目',
- hidden: true,
- parentpath:
- '/static-analysis/project-management',
- },
- ],
- },
- {
- path: 'rule-management',
- name: '规则管理',
- key: 'static-rule',
- children: [
- {
- index: true,
- element: ,
- },
- {
- path: 'create',
- key: 'static-rule-create',
- element: ,
- name: '新建规则',
- hidden: true,
- parentpath: '/static-analysis/rule-management',
- },
- ],
- },
- {
- path: 'ssa-risk',
- name: '漏洞管理',
- key: 'static-ssa-risk',
- children: [
- {
- path: 'audit',
- key: 'static-ssa-risk-audit',
- element: ,
- name: '缺陷审计',
- hidden: true,
- parentpath: '/static-analysis/ssa-risk',
- },
- ],
- },
- {
- path: 'task-list',
- name: '任务列表',
- key: 'static-task-list',
- element: ,
- },
- ],
- },
+ // {
+ // path: 'task-script',
+ // name: '脚本管理',
+ // key: 'task-script',
+ // children: [
+ // {
+ // index: true,
+ // element: ,
+ // },
+ // {
+ // path: 'modify-task-script',
+ // key: 'modify-task-script',
+ // element: ,
+ // name: '分布式任务脚本',
+ // hidden: true,
+ // parentpath: '/task-script/task-script',
+ // },
+ // ],
+ // },
+ // {
+ // path: 'cve-loophole',
+ // name: '漏洞库管理',
+ // key: 'cve-loophole',
+ // element: ,
+ // },
+ // {
+ // name: '全局反连',
+ // path: 'global-reverse-link',
+ // key: 'system-global-reverse-link',
+ // element: ,
+ // },
+ // ],
+ // },
+ // {
+ // path: 'static-analysis',
+ // name: '静态代码分析',
+ // key: 'static-analysis',
+ // icon: ,
+ // children: [
+ // {
+ // path: 'project-management',
+ // name: '项目管理',
+ // key: 'static-project',
+ // children: [
+ // {
+ // index: true,
+ // element: ,
+ // },
+ // {
+ // path: 'create',
+ // key: 'static-project-create',
+ // element: ,
+ // name: '新建项目',
+ // hidden: true,
+ // parentpath: '/static-analysis/project-management',
+ // },
+ // {
+ // path: 'edit',
+ // key: 'static-project-edit',
+ // element: ,
+ // name: '编辑项目',
+ // hidden: true,
+ // parentpath: '/static-analysis/project-management',
+ // },
+ // ],
+ // },
+ // {
+ // path: 'rule-management',
+ // name: '规则管理',
+ // key: 'static-rule',
+ // children: [
+ // {
+ // index: true,
+ // element: ,
+ // },
+ // {
+ // path: 'create',
+ // key: 'static-rule-create',
+ // element: ,
+ // name: '新建规则',
+ // hidden: true,
+ // parentpath: '/static-analysis/rule-management',
+ // },
+ // ],
+ // },
+ // {
+ // path: 'ssa-risk',
+ // name: '漏洞管理',
+ // key: 'static-ssa-risk',
+ // children: [
+ // {
+ // path: 'audit',
+ // key: 'static-ssa-risk-audit',
+ // element: ,
+ // name: '缺陷审计',
+ // hidden: true,
+ // parentpath: '/static-analysis/ssa-risk',
+ // },
+ // ],
+ // },
+ // {
+ // path: 'task-list',
+ // name: '任务列表',
+ // key: 'static-task-list',
+ // element: ,
+ // },
+ // ],
+ // },
+ // {
+ // name: 'AIAgent',
+ // path: YakitRoute.AI_Agent,
+ // key: YakitRoute.AI_Agent,
+ // icon: ,
+ // element: ,
+ // },
+ // {
+ // path: YakitRoute.AddAIForge,
+ // name: '新增Forge',
+ // key: YakitRoute.AddAIForge,
+ // element: ,
+ // hidden: true,
+ // },
+ // {
+ // path: YakitRoute.ModifyAIForge,
+ // name: '编辑Forge',
+ // key: YakitRoute.ModifyAIForge,
+ // element: ,
+ // hidden: true,
+ // },
+ // ],
+ children: [
+ {
+ path: 'task',
+ parentPath: '/',
+ name: '任务中心',
+ key: 'task',
+ icon: ,
+ children: [
+ {
+ path: 'new-create-task',
+ key: 'new-create-task',
+ name: '新建扫描',
+ element: ,
+ hidden: false,
+ parentpath: '/task/new-create-task',
+ },
+ {
+ path: 'special-task',
+ key: 'special-task',
+ name: '专项扫描',
+ element: ,
+ hidden: false,
+ parentpath: '/task/special-task',
+ },
+ {
+ path: 'task-list',
+ name: '任务列表',
+ key: 'task-list',
+ children: [
+ {
+ index: true,
+ element: ,
+ },
+ {
+ path: 'detail',
+ key: 'task_detail',
+ element: ,
+ name: '任务详情',
+ hidden: true,
+ parentpath: '/task/task-list',
+ },
+ ],
+ },
+ ],
+ },
+ {
+ path: 'report-manage',
+ name: '报告管理',
+ key: 'project',
+ icon: ,
+ element: ,
+ },
+ {
+ path: 'data-service',
+ name: '资产数据',
+ key: 'data-service',
+ icon: ,
+ children: [
+ {
+ path: 'port',
+ name: '端口资产',
+ key: 'port-assets',
+ element: ,
+ },
+ {
+ path: 'assets-vulns',
+ name: '漏洞与风险',
+ key: 'assets-vulns',
+ element: ,
+ children: [
+ {
+ path: 'audit-code',
+ name: '代码审计',
+ key: 'assets-vulns-audit-code',
+ element: null,
+ },
+ ],
+ },
+ {
+ path: 'sensitive-message',
+ name: '敏感信息',
+ key: 'sensitive-message',
+ element: ,
+ },
+ ],
+ },
+ {
+ path: 'codec',
+ name: 'Codec',
+ key: 'codec',
+ icon: ,
+ element: ,
+ },
+ {
+ path: 'acti-chain',
+ name: '反连',
+ key: 'acti-chain',
+ icon: ,
+ children: [
+ {
+ path: 'dns',
+ name: 'DNS Log',
+ key: 'acti-chain-dns',
+ element: ,
+ },
+ {
+ path: 'ICMP',
+ name: 'ICMP Size',
+ key: 'icmp-size-logger',
+ element: ,
+ },
+ {
+ path: 'tcp',
+ name: 'TCP-ProtLog',
+ key: 'tcp-prot-logger',
+ element: ,
+ },
+ {
+ path: 'reverse-link-server',
+ name: '反连服务器',
+ key: 'reverse-link-server',
+ element: ,
+ },
+ {
+ path: 'reverse-link-server/facade-server',
+ name: '反连服务器',
+ key: 'reverse-link-server',
+ element: ,
+ hidden: true,
+ },
+ ],
+ },
+ {
+ path: 'node-config',
+ name: '节点配置',
+ key: 'node',
+ icon: ,
+ children: [
+ {
+ path: 'install',
+ name: '节点安装',
+ key: 'node-intsall',
+ element: ,
+ },
+ {
+ path: 'manage',
+ name: '节点管理',
+ key: 'node-manage',
+ element: ,
+ },
+ ],
+ },
+ {
+ path: 'system-management',
+ name: '系统管理',
+ key: 'system',
+ icon: ,
+ children: [
+ {
+ path: 'userinfo',
+ name: '用户管理',
+ key: 'system-user',
+ element: ,
+ },
+ {
+ path: 'task-script',
+ name: '脚本管理',
+ key: 'task-script',
+ children: [
+ {
+ index: true,
+ element: ,
+ },
+ {
+ path: 'modify-task-script',
+ key: 'modify-task-script',
+ element: ,
+ name: '分布式任务脚本',
+ hidden: true,
+ parentpath: '/task-script/task-script',
+ },
+ ],
+ },
+ {
+ path: 'cve-loophole',
+ name: '漏洞库管理',
+ key: 'cve-loophole',
+ element: ,
+ },
+ {
+ name: '全局反连',
+ path: 'global-reverse-link',
+ key: 'system-global-reverse-link',
+ element: ,
+ },
],
- },
- {
- path: '/login',
- element: ,
- },
- {
- path: '/license',
- element: ,
- },
+ },
+ // {
+ // path: 'static-analysis',
+ // name: '静态代码分析',
+ // key: 'static-analysis',
+ // icon: ,
+ // children: [
+ // {
+ // path: 'project-management',
+ // name: '项目管理',
+ // key: 'static-project',
+ // children: [
+ // {
+ // index: true,
+ // element: ,
+ // },
+ // {
+ // path: 'create',
+ // key: 'static-project-create',
+ // element: ,
+ // name: '新建项目',
+ // hidden: true,
+ // parentpath: '/static-analysis/project-management',
+ // },
+ // {
+ // path: 'edit',
+ // key: 'static-project-edit',
+ // element: ,
+ // name: '编辑项目',
+ // hidden: true,
+ // parentpath: '/static-analysis/project-management',
+ // },
+ // ],
+ // },
+ // {
+ // path: 'rule-management',
+ // name: '规则管理',
+ // key: 'static-rule',
+ // children: [
+ // {
+ // index: true,
+ // element: ,
+ // },
+ // {
+ // path: 'create',
+ // key: 'static-rule-create',
+ // element: ,
+ // name: '新建规则',
+ // hidden: true,
+ // parentpath: '/static-analysis/rule-management',
+ // },
+ // ],
+ // },
+ // {
+ // path: 'ssa-risk',
+ // name: '漏洞管理',
+ // key: 'static-ssa-risk',
+ // children: [
+ // {
+ // path: 'audit',
+ // key: 'static-ssa-risk-audit',
+ // element: ,
+ // name: '缺陷审计',
+ // hidden: true,
+ // parentpath: '/static-analysis/ssa-risk',
+ // },
+ // ],
+ // },
+ // {
+ // path: 'task-list',
+ // name: '任务列表',
+ // key: 'static-task-list',
+ // element: ,
+ // },
+ // ],
+ // },
+ {
+ name: 'AIAgent',
+ path: YakitRoute.AI_Agent,
+ key: YakitRoute.AI_Agent,
+ icon: ,
+ element: ,
+ },
+ {
+ path: YakitRoute.AddAIForge,
+ name: '新增Forge',
+ key: YakitRoute.AddAIForge,
+ element: ,
+ hidden: true,
+ },
+ {
+ path: YakitRoute.ModifyAIForge,
+ name: '编辑Forge',
+ key: YakitRoute.ModifyAIForge,
+ element: ,
+ hidden: true,
+ },
+ ],
+ },
+ {
+ path: '/login',
+ element: ,
+ // element: ,
+ },
+ {
+ path: '/license',
+ element: ,
+ },
- {
- path: '/network-err',
- element: ,
- },
-];
+ {
+ path: '/network-err',
+ element: ,
+ },
+ {
+ path: '/agent-log',
+ element: (
+
+
+
+ ),
+ },
+]
-export type { RouteObjectRootMy };
+export type { RouteObjectRootMy }
-export default routers;
+export default routers
diff --git a/src/App/store/loginStore.ts b/src/App/store/loginStore.ts
index ec8cda43..973ddb20 100644
--- a/src/App/store/loginStore.ts
+++ b/src/App/store/loginStore.ts
@@ -1,36 +1,36 @@
-import { postLogin } from '@/apis/login';
-import type { PostRequestAuth } from '@/apis/login/types';
-import { create } from 'zustand';
+import { postLogin } from '@/apis/login'
+import type { PostRequestAuth } from '@/apis/login/types'
+import { create } from 'zustand'
interface LoginStore {
- userInfo: Partial;
- token?: string;
- login: (param: any) => Promise;
- outLogin: () => Promise;
+ userInfo: Partial
+ token?: string
+ login: (param: any) => Promise
+ outLogin: () => Promise
}
const useLoginStore = create()((set) => ({
- userInfo: JSON?.parse(String(localStorage?.getItem('userInfo'))) || {},
- token: localStorage.getItem('token') || undefined,
- login: async (param) => {
- await postLogin(param).then((res) => {
- const { data } = res;
- const { token, user_info } = data;
- if (token) {
- localStorage.setItem('userInfo', JSON.stringify(user_info));
- localStorage.setItem('token', token);
- }
+ userInfo: JSON?.parse(String(localStorage?.getItem('userInfo'))) || {},
+ token: localStorage.getItem('token') || undefined,
+ login: async (param) => {
+ await postLogin(param).then((res) => {
+ const { data } = res
+ const { token, user_info } = data
+ if (token) {
+ localStorage.setItem('userInfo', JSON.stringify(user_info))
+ localStorage.setItem('token', token)
+ }
- set({
- userInfo: { ...user_info },
- token: token,
- });
- });
- },
- outLogin: async () => {
- localStorage.clear();
- set({ userInfo: {}, token: '' });
- },
-}));
+ set({
+ userInfo: { ...user_info },
+ token: token,
+ })
+ })
+ },
+ outLogin: async () => {
+ localStorage.clear()
+ set({ userInfo: {}, token: '' })
+ },
+}))
-export default useLoginStore;
+export default useLoginStore
diff --git a/src/apiUtils/type.d.ts b/src/apiUtils/type.d.ts
index c4aae41c..1fcf51ab 100644
--- a/src/apiUtils/type.d.ts
+++ b/src/apiUtils/type.d.ts
@@ -1,9 +1,6 @@
/** @name 必传参的异步方法 */
-export type APIFunc = (params: T, hiddenError?: boolean) => Promise;
+export type APIFunc = (params: T, hiddenError?: boolean) => Promise
/** @name 选传参的异步方法 */
-export type APIOptionalFunc = (
- params?: T,
- hiddenError?: boolean,
-) => Promise;
+export type APIOptionalFunc = (params?: T, hiddenError?: boolean) => Promise
/** @name 无参的异步方法 */
-export type APINoRequestFunc = (hiddenError?: boolean) => Promise;
+export type APINoRequestFunc = (hiddenError?: boolean) => Promise
diff --git a/src/apis/ActiChainApi/index.ts b/src/apis/ActiChainApi/index.ts
index 6d9fc72e..57f7692b 100644
--- a/src/apis/ActiChainApi/index.ts
+++ b/src/apis/ActiChainApi/index.ts
@@ -1,88 +1,68 @@
-import axios from '@/utils/axios';
-import type { ResponseData } from '@/utils/commonTypes';
+import axios from '@/utils/axios'
+import type { ResponseData } from '@/utils/commonTypes'
import type {
- TGetDnsQuryRequest,
- TgetTunnelServerRequest,
- TIcmpGenerateRequest,
- TReverseDnsGenerateRequest,
- TReverseDnsGenerateResponse,
- TReverseStartFacadesRequest,
- TTcpGenerateRequest,
-} from './type';
+ TGetDnsQuryRequest,
+ TgetTunnelServerRequest,
+ TIcmpGenerateRequest,
+ TReverseDnsGenerateRequest,
+ TReverseDnsGenerateResponse,
+ TReverseStartFacadesRequest,
+ TTcpGenerateRequest,
+} from './type'
// 获取内置 DNSLog 配置选项
-const getQuerySupportedDnsLogPlatforms = (): Promise<
- ResponseData<{ list: Array }>
-> =>
- axios.get }>>(
- '/reverse/QuerySupportedDnsLogPlatforms',
- );
+const getQuerySupportedDnsLogPlatforms = (): Promise }>> =>
+ axios.get }>>('/api/reverse/QuerySupportedDnsLogPlatforms')
// dns 获取配置
-const postReverseDnsGenerate = (
- data: TReverseDnsGenerateRequest,
-): Promise> =>
- axios.post>(
- '/reverse/dns/generate',
- data,
- );
+const postReverseDnsGenerate = (data: TReverseDnsGenerateRequest): Promise> =>
+ axios.post>('/api/reverse/dns/generate', data)
// 创建需要监听的域名
const getDnsQury = (data: TGetDnsQuryRequest): Promise> =>
- axios.post>(`/reverse/dns/query`, data);
+ axios.post>(`/api/reverse/dns/query`, data)
// 断开需要监听的域名
const postSseDelete = (data: { key: string }): Promise> =>
- axios.post>(`/sse/delete`, data);
+ axios.post>(`/api/sse/delete`, data)
// 生成 icmp 反链长度
const getIcmpGenerate = (): Promise> =>
- axios.get>(
- '/reverse/icmp/generate',
- );
+ axios.get>('/api/reverse/icmp/generate')
// 查询icmp结果,用sse返回
-const getIcmpQuery = (params: {
- length: number;
-}): Promise> =>
- axios.get>('/reverse/icmp/query', { params });
+const getIcmpQuery = (params: { length: number }): Promise> =>
+ axios.get>('/api/reverse/icmp/query', {
+ params,
+ })
// 生成 icmp 反链长度
const getTcpGenerate = (): Promise> =>
- axios.get>(
- '/reverse/tcp/generate',
- );
+ axios.get>('/api/reverse/tcp/generate')
// 查询icmp结果,用sse返回
-const getTcoQuery = (params: {
- token: string;
-}): Promise> =>
- axios.get>('/reverse/tcp/query', { params });
+const getTcoQuery = (params: { token: string }): Promise> =>
+ axios.get>('/api/reverse/tcp/query', {
+ params,
+ })
// 反连服务器 启动facedeServer
-const postReverseStartFacades = (
- data: TReverseStartFacadesRequest,
-): Promise> =>
- axios.post>('/reverse/start/facades', data);
+const postReverseStartFacades = (data: TReverseStartFacadesRequest): Promise> =>
+ axios.post>('/api/reverse/start/facades', data)
// 反连服务器 获取监听地址 /reverse/get-tunnel-server
-const getTunnelServer = (
- data: TgetTunnelServerRequest,
-): Promise> =>
- axios.post>(
- '/reverse/get_tunnel_server',
- data,
- );
+const getTunnelServer = (data: TgetTunnelServerRequest): Promise> =>
+ axios.post>('/api/reverse/get_tunnel_server', data)
export {
- postReverseDnsGenerate,
- getQuerySupportedDnsLogPlatforms,
- getDnsQury,
- postSseDelete,
- getIcmpGenerate,
- getIcmpQuery,
- getTcpGenerate,
- getTcoQuery,
- postReverseStartFacades,
- getTunnelServer,
-};
+ postReverseDnsGenerate,
+ getQuerySupportedDnsLogPlatforms,
+ getDnsQury,
+ postSseDelete,
+ getIcmpGenerate,
+ getIcmpQuery,
+ getTcpGenerate,
+ getTcoQuery,
+ postReverseStartFacades,
+ getTunnelServer,
+}
diff --git a/src/apis/AiEngineAdminApi/index.ts b/src/apis/AiEngineAdminApi/index.ts
new file mode 100644
index 00000000..766a89a8
--- /dev/null
+++ b/src/apis/AiEngineAdminApi/index.ts
@@ -0,0 +1,65 @@
+import axios from '@/utils/axios'
+import type { ResponseData } from '@/utils/commonTypes'
+import { syncAIEngineAuth } from '@/utils/aiEngineAuth'
+
+export interface AIEngineStatus {
+ base_url?: string
+ command?: string[]
+ gateway_url?: string
+ host?: string
+ jwt_secret?: string
+ last_error?: string
+ pid?: number
+ port?: number
+ route_prefix?: string
+ running: boolean
+ started_at?: number
+}
+
+type AIEngineStatusPayload = AIEngineStatus | ResponseData
+
+const AI_ENGINE_STATUS_CACHE_MS = 1000
+
+let cachedAIEngineStatus: AIEngineStatus | undefined
+let cachedAIEngineStatusAt = 0
+let pendingAIEngineStatusRequest: Promise | null = null
+
+const normalizeAIEngineStatus = (payload: AIEngineStatusPayload): AIEngineStatus => {
+ if (payload && typeof payload === 'object' && 'data' in payload && payload.data) {
+ return payload.data
+ }
+ return payload as AIEngineStatus
+}
+
+const requestAIEngineStatus = async (url: string, method: 'get' | 'post') => {
+ const payload = await axios.request({
+ url,
+ method,
+ skipBizCodeCheck: true,
+ })
+ const status = syncAIEngineAuth(normalizeAIEngineStatus(payload))
+ cachedAIEngineStatus = status
+ cachedAIEngineStatusAt = Date.now()
+
+ return status
+}
+
+const getAIEngineStatus = (): Promise => {
+ if (cachedAIEngineStatus && Date.now() - cachedAIEngineStatusAt < AI_ENGINE_STATUS_CACHE_MS) {
+ return Promise.resolve(cachedAIEngineStatus)
+ }
+
+ if (!pendingAIEngineStatusRequest) {
+ pendingAIEngineStatusRequest = requestAIEngineStatus('/api/admin/ai-engine/status', 'get').finally(() => {
+ pendingAIEngineStatusRequest = null
+ })
+ }
+
+ return pendingAIEngineStatusRequest
+}
+
+const postAIEngineStart = (): Promise => requestAIEngineStatus('/api/admin/ai-engine/start', 'post')
+
+const postAIEngineStop = (): Promise => requestAIEngineStatus('/api/admin/ai-engine/stop', 'post')
+
+export { getAIEngineStatus, postAIEngineStart, postAIEngineStop }
diff --git a/src/apis/AiEventApi/index.ts b/src/apis/AiEventApi/index.ts
new file mode 100644
index 00000000..53dad39d
--- /dev/null
+++ b/src/apis/AiEventApi/index.ts
@@ -0,0 +1,253 @@
+import axios from '@/utils/axios'
+import type { AIDelSessionParam, AIResponseData } from '@/utils/commonTypes'
+import type {
+ TPostCreateSessionRequest,
+ TPostCreateSessionResponse,
+ TPostSendFirstMessageResponse,
+ TGetSettingResponse,
+ TPostSettingRequest,
+ TPostCancelMessageResponse,
+ TPostSendContinueMessageResponse,
+ GetGlobalNetworkConfigResponse,
+ GlobalNetworkConfig,
+ ListAIProvidersResponse,
+ TPostSettingAimodelsGetRequest,
+ TPostSettingAimodelsGetResponse,
+ TPostSettingAifocusGetResponse,
+ GetSessionAllResponse,
+ TPostSessionTitle,
+} from './type'
+import type { AIInputEvent } from '@/pages/AIAgent/ai-re-act/hooks/grpcApi'
+import type {
+ AIConfigHealthCheckRequest,
+ AIConfigHealthCheckResponse,
+ AIGlobalConfig,
+ QueryAIProvidersRequest,
+ QueryAIProvidersResponse,
+} from '@/pages/AIAgent/ai-agent/aiModelList/utils'
+import type { GetThirdPartyAppConfigTemplateResponse } from '@/compoments/configNetwork/NewThirdPartyApplicationConfig'
+import type {
+ AIForge,
+ AIForgeFilter,
+ GetAIForgeRequest,
+ QueryAIForgeRequest,
+ QueryAIForgeResponse,
+} from '@/pages/AIAgent/ai-agent/type/forge'
+import type {
+ ExportAIForgeRequest,
+ ExportImportAIForgeProgress,
+ ImportAIForgeRequest,
+} from '@/pages/AIAgent/ai-agent/forgeName/type'
+import useLoginStore from '@/App/store/loginStore'
+import { getAIEngineAuthorizationHeader, isAIEnginePath, resolveAIEngineRequestURL } from '@/utils/aiEngineAuth'
+
+/** 通用 POST SSE 流式请求:发起 POST 后逐条解析 SSE data 帧并回调 */
+async function fetchSSEPost(
+ url: string,
+ data: TReq,
+ onProgress?: (progress: TProgress) => void,
+ signal?: AbortSignal,
+): Promise {
+ const store = useLoginStore.getState()
+ const headers: HeadersInit = {
+ 'Content-Type': 'application/json;charset=UTF-8',
+ Accept: 'text/event-stream',
+ }
+
+ if (isAIEnginePath(url)) {
+ const aiEngineAuthorization = await getAIEngineAuthorizationHeader()
+ if (aiEngineAuthorization) {
+ headers.Authorization = aiEngineAuthorization
+ }
+ } else if (store.token) {
+ headers.Authorization = store.token
+ }
+
+ const response = await fetch(resolveAIEngineRequestURL(url) || url, {
+ method: 'POST',
+ headers,
+ body: JSON.stringify(data),
+ credentials: 'include',
+ signal,
+ })
+
+ if (!response.ok) {
+ throw new Error(`请求失败(${response.status})`)
+ }
+
+ if (!response.body) return null
+
+ const reader = response.body.getReader()
+ const decoder = new TextDecoder('utf-8')
+ let buffer = ''
+
+ while (true) {
+ const { done, value } = await reader.read()
+ if (done) break
+
+ buffer += decoder.decode(value, { stream: true })
+ const frames = buffer.split(/\r?\n\r?\n/g)
+ buffer = frames.pop() || ''
+
+ for (const frame of frames) {
+ const dataLines = frame
+ .split(/\r?\n/g)
+ .filter((line) => line.startsWith('data:'))
+ .map((line) => line.slice(5).trim())
+
+ if (!dataLines.length) continue
+ const payload = dataLines.join('\n')
+ if (!payload || payload === '[DONE]') continue
+
+ try {
+ onProgress?.(JSON.parse(payload) as TProgress)
+ } catch {
+ // 忽略非 JSON 帧
+ }
+ }
+ }
+
+ return null
+}
+
+// #region 会话Session相关接口
+/** 创建会话通道, 并生成session(也可传 run_id 恢复已有会话) */
+const postCreateSession = (data?: TPostCreateSessionRequest): Promise =>
+ axios.post('/agent/session', data)
+
+/** 获取会话列表(内存运行态 + DB 元数据) */
+const getSessionAll = (): Promise =>
+ axios.get(`/agent/session/all`)
+
+/** 更新会话标题 */
+const postSessionTitle = (session: string, title: string): Promise> =>
+ axios.post>(`/agent/session/${session}/title`, { title })
+
+/** 删除会话 */
+const deleteSession = (data: AIDelSessionParam): Promise> =>
+ axios.post>(`/agent/session/del`, data)
+
+// #endregion
+
+// #region 会话流相关接口
+/** 首条输入内容 */
+const postSendFirstMessage = (
+ session: string,
+ data: AIInputEvent,
+): Promise> =>
+ axios.post>(`/agent/run/${session}`, data)
+
+/** 继续输入 */
+const postSendContinueMessage = (
+ session: string,
+ data: AIInputEvent,
+): Promise> =>
+ axios.post>(`/agent/run/${session}/events/push`, data)
+
+/** 主动取消 */
+const postCancelMessage = (session: string): Promise =>
+ axios.post(`/agent/run/${session}/cancel`, {})
+// #endregion
+
+// #region 配置相关接口
+/** 读取当前 AI Agent 聊天配置 */
+const getSetting = (): Promise => axios.get(`/agent/setting`)
+
+/** 获取全局网络配置 */
+const getSettingGlobal = (): Promise> =>
+ axios.get>(`/agent/setting/global`)
+// #endregion
+
+// 更新(Patch)配置
+const postSetting = (data: TPostSettingRequest): Promise> =>
+ axios.post>(`/agent/setting`, data)
+
+// 保存全局网络配置
+const postSettingGlobal = (data: GlobalNetworkConfig): Promise> =>
+ axios.post>(`/agent/setting/global`, data)
+
+// 获取 provider 列表
+const postSettingProvidersGet = (): Promise =>
+ axios.post(`/agent/setting/providers/get`, {})
+
+// 按 provider 配置拉取模型列表
+const postSettingAimodelsGet = (data: TPostSettingAimodelsGetRequest): Promise =>
+ axios.post(`/agent/setting/aimodels/get`, data)
+
+// 获取 focus mode 列表
+const postSettingAifocusGet = (data?: any): Promise> =>
+ axios.post>(`/agent/setting/aifocus/get`, data || {})
+
+// 获取 AI 全局配置
+const getSettingAiconfig = (): Promise => axios.get(`/agent/setting/aiconfig`)
+
+// 更新 AI 全局配置
+const postSettingAiconfig = (data: AIGlobalConfig): Promise =>
+ axios.post(`/agent/setting/aiconfig`, data)
+
+// 执行 AI 配置健康检查
+const postAIConfigHealthCheck = (data: AIConfigHealthCheckRequest): Promise =>
+ axios.post(`/agent/setting/aiconfig/healthcheck`, data)
+
+// 获取 AI 第三方应用配置模板
+const postSettingAppconfigsTemplateGet = (): Promise =>
+ axios.post(`/agent/setting/appconfigs/template/get`, {})
+
+// 分页查询 AI Provider
+const postSettingProvidersQuery = (data: QueryAIProvidersRequest): Promise =>
+ axios.post(`/agent/setting/providers/query`, data)
+
+// 分页查询 AI Forge
+export const postAiforgeQuery = (data: QueryAIForgeRequest): Promise =>
+ axios.post(`/agent/forge/query`, data)
+
+// 按名称或 ID 获取单个 AI Forge
+export const postAiforgeGet = (data: GetAIForgeRequest): Promise =>
+ axios.post(`/agent/forge/get`, data)
+
+// 删除 AI Forge
+export const postAiforgeDelete = (data: AIForgeFilter): Promise =>
+ axios.post(`/agent/forge/delete`, data)
+
+// 创建 AI Forge
+export const postAiforgeCreate = (data: AIForge): Promise<{ CreateID: number }> =>
+ axios.post(`/agent/forge/create`, data)
+
+// 更新 AI Forge
+export const postAiforgeUpdate = (data: AIForge): Promise =>
+ axios.post(`/agent/forge/update`, data)
+
+// 导出一个或多个 AI Forge(SSE 流)
+export const postAiforgeExport = (
+ data: ExportAIForgeRequest,
+ onProgress?: (progress: ExportImportAIForgeProgress) => void,
+ signal?: AbortSignal,
+): Promise => fetchSSEPost('/agent/forge/export', data, onProgress, signal)
+
+// 导入 AI Forge(SSE 流)
+export const postAiforgeImport = (
+ data: ImportAIForgeRequest,
+ onProgress?: (progress: ExportImportAIForgeProgress) => void,
+ signal?: AbortSignal,
+): Promise => fetchSSEPost('/agent/forge/import', data, onProgress, signal)
+export {
+ postCreateSession,
+ postSendFirstMessage,
+ postSendContinueMessage,
+ postCancelMessage,
+ getSetting,
+ postSetting,
+ getSettingGlobal,
+ postSettingGlobal,
+ postSettingProvidersGet,
+ postSettingAimodelsGet,
+ postSettingAifocusGet,
+ getSessionAll,
+ postSessionTitle,
+ deleteSession,
+ getSettingAiconfig,
+ postSettingAiconfig,
+ postSettingAppconfigsTemplateGet,
+ postSettingProvidersQuery,
+ postAIConfigHealthCheck,
+}
diff --git a/src/apis/AiEventApi/test.tsx b/src/apis/AiEventApi/test.tsx
new file mode 100644
index 00000000..1ab99632
--- /dev/null
+++ b/src/apis/AiEventApi/test.tsx
@@ -0,0 +1,194 @@
+import showErrorMessage from '@/utils/showErrorMessage'
+import { useMemoizedFn, useRequest } from 'ahooks'
+import React, { useEffect } from 'react'
+import { Badge, Button, Card, Descriptions, Space, Tag, Typography } from 'antd'
+import { postCreateSession } from './index'
+import useChatIPC from '@/pages/AIAgent/ai-re-act/hooks/useChatIPC'
+import type { AIInputEvent, AIStartParams } from '@/pages/AIAgent/ai-re-act/hooks/grpcApi'
+import { AIAgentLogChannelName } from '@/pages/AIAgent/defaultConstant'
+
+const TestAi: React.FC = () => {
+ // #region 创建session
+ const [session, setSession] = React.useState()
+ // 创建会话Session
+ const { runAsync: createSession } = useRequest(postCreateSession, {
+ manual: true,
+ onSuccess: (value) => {
+ console.log('createSession --- ', value)
+ setSession(value.run_id)
+ },
+ onError: (error) => {
+ console.log('createSession error --- ', error)
+ showErrorMessage(error)
+ },
+ })
+
+ const handleGenSession = useMemoizedFn(() => {
+ createSession({})
+ })
+ // #endregion
+
+ // #region 会话相关逻辑(开始、持续、结束)
+ const [chatIPCData, events] = useChatIPC({
+ channelName: AIAgentLogChannelName,
+ })
+
+ useEffect(() => {
+ events.onSwitchChat(session)
+ }, [session])
+
+ const handleStart = useMemoizedFn(() => {
+ if (!session) return
+
+ const request: AIStartParams = {
+ EnableSystemFileSystemOperator: true,
+ UseDefaultAIConfig: true,
+ ForgeName: '',
+ DisallowRequireForUserPrompt: true,
+ ReviewPolicy: 'yolo',
+ AIReviewRiskControlScore: 0.5,
+ DisableToolUse: false,
+ AICallAutoRetry: 3,
+ AITransactionRetry: 5,
+ EnableAISearchTool: true,
+ EnableAISearchInternet: false,
+ EnableQwenNoThinkMode: false,
+ AllowPlanUserInteract: true,
+ PlanUserInteractMaxCount: 3,
+ AIService: 'aibalance',
+ ReActMaxIteration: 100,
+ TimelineItemLimit: 100,
+ TimelineContentSizeLimit: 20480,
+ UserInteractLimit: 0,
+ TimelineSessionID: session,
+ AIModelName: 'VESA-free',
+ UserQuery: '你是谁\n\n',
+ CoordinatorId: '',
+ Sequence: 1,
+ }
+ const aiInputEvent: AIInputEvent = {
+ IsStart: true,
+ Params: { ...request },
+ }
+ events.onStart({ token: session, params: aiInputEvent })
+ })
+
+ const handleStop = useMemoizedFn(() => {
+ session && events.onClose(session)
+ })
+ // #endregion
+
+ const isRunning = chatIPCData.execute
+
+ // #region 打开/关闭日志独立页面
+ const logWindowRef = React.useRef(null)
+ const [isLogWindowOpen, setIsLogWindowOpen] = React.useState(false)
+
+ const closeLogWindow = useMemoizedFn(() => {
+ const w = logWindowRef.current
+ if (w && !w.closed) w.close()
+ logWindowRef.current = null
+ setIsLogWindowOpen(false)
+ })
+
+ const openLogWindow = useMemoizedFn(() => {
+ // HashRouter 下独立页面路径需要带上 `#/agent-log`
+ const base = import.meta.env.BASE_URL || '/'
+ const url = `${window.location.origin}${base}#/agent-log`
+
+ // 独立页面(新标签页/新窗口由浏览器决定)
+ const w = window.open(url, '_blank')
+ if (!w) {
+ showErrorMessage('打开日志页面失败,请检查浏览器是否拦截了弹窗')
+ return
+ }
+ logWindowRef.current = w
+ setIsLogWindowOpen(true)
+ w.focus?.()
+ })
+
+ const handleToggleLogWindow = useMemoizedFn(() => {
+ const w = logWindowRef.current
+ if (w && !w.closed) closeLogWindow()
+ else openLogWindow()
+ })
+
+ // 轮询检测:用户手动关闭日志页后,按钮状态自动恢复
+ useEffect(() => {
+ if (!isLogWindowOpen) return
+ const timer = window.setInterval(() => {
+ const w = logWindowRef.current
+ if (!w || w.closed) {
+ logWindowRef.current = null
+ setIsLogWindowOpen(false)
+ }
+ }, 500)
+ return () => window.clearInterval(timer)
+ }, [isLogWindowOpen])
+ // #endregion
+
+ return (
+
+
+
+ AI Agent 调试面板
+
+ {isRunning ? '会话执行中' : '会话未运行'}
+
+ }
+ >
+
+
+
+ {session ? (
+
+ {session}
+
+ ) : (
+ 暂无会话,请先创建
+ )}
+
+
+
+
+
+
+
+
+
+
+
+ {isRunning ? (
+
+ ) : (
+
+ )}
+
+
+
+
+
+ 说明:该页面用于快速调试 AI Agent 的会话创建与启动流程, 上方展示当前会话 ID 与执行状态。
+
+
+
+
+ )
+}
+
+export { TestAi }
diff --git a/src/apis/AiEventApi/type.ts b/src/apis/AiEventApi/type.ts
new file mode 100644
index 00000000..db79c6e7
--- /dev/null
+++ b/src/apis/AiEventApi/type.ts
@@ -0,0 +1,251 @@
+import type { AIAgentSetting } from '@/pages/AIAgent/ai-agent/aiAgentType';
+
+interface AIParams {
+ forge_name?: string;
+ review_policy?: 'manual' | 'auto' | 'ai' | 'ai-auto';
+ ai_service?: string; // "openai|aibalance|..."
+ ai_model_name?: string;
+ max_iteration?: number;
+ react_max_iteration?: number;
+ disable_tool_use?: boolean;
+ use_default_ai?: boolean;
+ attached_files?: string[];
+ enable_system_file_system_operator?: boolean;
+ disallow_require_for_user_prompt?: boolean;
+ ai_review_risk_control_score?: number;
+ ai_call_auto_retry?: number;
+ ai_transaction_retry?: number;
+ enable_ai_search_tool?: boolean;
+ enable_ai_search_internet?: boolean;
+ enable_qwen_no_think_mode?: boolean;
+ allow_plan_user_interact?: boolean;
+ plan_user_interact_max_count?: number;
+ timeline_item_limit?: number;
+ timeline_content_size_limit?: number;
+ user_interact_limit?: number;
+ timeline_session_id?: string;
+}
+
+interface RunEvent {
+ id: string;
+ type:
+ | 'listener_ready'
+ | 'stream'
+ | 'structured'
+ | 'thought'
+ | 'done'
+ | 'error'
+ | 'heartbeat'
+ | string;
+ coordinator_id: string;
+ ai_model_name: string;
+ node_id: string;
+ is_system: boolean;
+ is_stream: boolean;
+ is_reason: boolean;
+ stream_delta: string;
+ content: string;
+ timestamp: number;
+ task_index: string;
+ event_uuid: string;
+ task_uuid: string;
+}
+
+interface TPostCreateSessionRequest {
+ run_id?: string;
+ params?: Partial;
+}
+
+interface TPostCreateSessionResponse {
+ run_id: string;
+ status: string;
+}
+
+interface TPostSendFirstMessageResponse {
+ run_id: string;
+ status: string;
+}
+
+interface TPostSendContinueMessageResponse {
+ status: string;
+}
+
+interface TGetSettingResponse extends AIAgentSetting {
+ UseDefaultAIConfig: boolean;
+ AIService: string;
+ AIModelName: string;
+ SelectedProviderID: number;
+ SelectedModelName: string;
+ SelectedModelTier: string;
+}
+
+interface TPostSettingRequest {
+ ai_service: string;
+ selected_provider_id: number;
+ selected_model_name: string;
+ review_policy: string;
+}
+
+interface TPostCancelMessageResponse {
+ run_id: string;
+ status: string;
+}
+
+type TenumBuffer = Buffer | Uint8Array;
+
+interface AuthInfo {
+ AuthUsername: string;
+ AuthPassword: string;
+ AuthType: string;
+ Host: string;
+ Forbidden: boolean;
+}
+
+interface ClientCertificates {
+ CrtPem: TenumBuffer;
+ KeyPem: TenumBuffer;
+ CaCertificates: TenumBuffer[];
+ Pkcs12Bytes: TenumBuffer;
+ Pkcs12Password: TenumBuffer;
+ Host?: string;
+}
+
+interface GlobalNetworkConfig {
+ DisableSystemDNS: boolean;
+ CustomDNSServers: string[];
+ DNSFallbackTCP: boolean;
+ DNSFallbackDoH: boolean;
+ CustomDoHServers: string[];
+
+ ClientCertificates?: ClientCertificates[];
+
+ DisallowIPAddress: string[];
+ DisallowDomain: string[];
+ GlobalProxy: string[];
+ EnableSystemProxyFromEnv: boolean;
+ SkipSaveHTTPFlow: boolean;
+
+ AppConfigs: ThirdPartyApplicationConfig[];
+
+ AiApiPriority: string[];
+
+ AuthInfos: AuthInfo[];
+
+ SynScanNetInterface: string;
+
+ ExcludePluginScanURIs: string[];
+ IncludePluginScanURIs: string[];
+
+ DbSaveSync: boolean;
+
+ CallPluginTimeout: number;
+
+ MinTlsVersion: number;
+ MaxTlsVersion: number;
+ MaxContentLength: number | string;
+}
+
+type GetGlobalNetworkConfigResponse = GlobalNetworkConfig;
+
+interface KVPair {
+ Key: string;
+ Value: string;
+ MarshalValue: string;
+}
+
+interface ThirdPartyApplicationConfig {
+ Type: string;
+ APIKey: string;
+ UserIdentifier: string;
+ UserSecret: string;
+ Namespace: string;
+ Domain: string;
+ WebhookURL: string;
+ ExtraParams: KVPair[];
+ Disabled: boolean;
+ Proxy: string;
+ NoHttps: boolean;
+}
+
+interface ListAIProvidersResponse {
+ Providers?: {
+ Id: number;
+ Config: ThirdPartyApplicationConfig;
+ }[];
+}
+
+interface TPostSettingAimodelsGetRequest {
+ // 请求体支持多种格式
+ Config: any;
+ // ```json
+ // { "Config": "openai" }
+ // ```
+
+ // 2) 传统 JSON 字符串:
+
+ // ```json
+ // { "Config": "{\"Type\":\"openai\",\"APIKey\":\"***\"}" }
+ // ```
+
+ // 3) 对象格式:
+
+ // ```json
+ // {
+ // "config": {
+ // "Type": "openai",
+ // "APIKey": "***",
+ // "Domain": "api.openai.com",
+ // "Proxy": "",
+ // "NoHttps": false
+ // }
+ // }
+ // ```
+}
+
+interface TPostSettingAimodelsGetResponse {
+ ModelName: string[];
+}
+
+interface TPostSettingAifocusGetResponse {
+ Name: string;
+ Description: string;
+ OutputExamplePrompt: string;
+ UsagePrompt: string;
+ VerboseName: string;
+ VerboseNameZh: string;
+}
+
+interface GetSessionAllResponse {
+ sessions: {
+ run_id: string;
+ title: string;
+ status: 'pending' | 'running' | 'completed' | 'cancelled' | 'failed';
+ created_at: string;
+ is_alive: boolean;
+ }[];
+}
+
+interface TPostSessionTitle {
+ run_id: string;
+ title: string;
+ status: string;
+}
+
+export type {
+ TPostCreateSessionRequest,
+ TPostCreateSessionResponse,
+ TPostSendFirstMessageResponse,
+ TPostSendContinueMessageResponse,
+ TGetSettingResponse,
+ TPostSettingRequest,
+ RunEvent,
+ TPostCancelMessageResponse,
+ GetGlobalNetworkConfigResponse,
+ GlobalNetworkConfig,
+ ListAIProvidersResponse,
+ TPostSettingAimodelsGetRequest,
+ TPostSettingAimodelsGetResponse,
+ TPostSettingAifocusGetResponse,
+ GetSessionAllResponse,
+ TPostSessionTitle,
+};
diff --git a/src/apis/CodecApi/index.ts b/src/apis/CodecApi/index.ts
index d8c96114..9e6a5ce6 100644
--- a/src/apis/CodecApi/index.ts
+++ b/src/apis/CodecApi/index.ts
@@ -1,22 +1,12 @@
-import axios from '@/utils/axios';
-import type { ResponseData, TableResponseData } from '@/utils/commonTypes';
-import type {
- TGetAllCodecMethodsResponse,
- TPostRunCodecResponse,
-} from './type';
+import axios from '@/utils/axios'
+import type { ResponseData, TableResponseData } from '@/utils/commonTypes'
+import type { TGetAllCodecMethodsResponse, TPostRunCodecResponse } from './type'
// 获取所有编码方式
-const getAllCodecMethods = (): Promise<
- ResponseData>
-> =>
- axios.get<
- never,
- ResponseData>
- >(`/codec/getAllCodecMethods`);
+const getAllCodecMethods = (): Promise>> =>
+ axios.get>>(`/api/codec/getAllCodecMethods`)
-const postRunCodec = (
- data: TPostRunCodecResponse,
-): Promise> =>
- axios.post>(`/run/codec`, data);
+const postRunCodec = (data: TPostRunCodecResponse): Promise> =>
+ axios.post>(`/api/run/codec`, data)
-export { getAllCodecMethods, postRunCodec };
+export { getAllCodecMethods, postRunCodec }
diff --git a/src/apis/CompileArtifactApi/index.ts b/src/apis/CompileArtifactApi/index.ts
index 0889eca5..2bacdd14 100644
--- a/src/apis/CompileArtifactApi/index.ts
+++ b/src/apis/CompileArtifactApi/index.ts
@@ -1,70 +1,50 @@
-import axios from '@/utils/axios';
-import type { ResponseData } from '@/utils/commonTypes';
+import axios from '@/utils/axios'
+import type { ResponseData } from '@/utils/commonTypes'
import type {
- TCompileArtifactSummary,
- TCompileArtifactListParams,
- TCompileArtifactListResponse,
- TCompileArtifactDetail,
- TCompileArtifactRebuildRequest,
- TCompileArtifactRebuildResponse,
-} from './type';
+ TCompileArtifactSummary,
+ TCompileArtifactListParams,
+ TCompileArtifactListResponse,
+ TCompileArtifactDetail,
+ TCompileArtifactRebuildRequest,
+ TCompileArtifactRebuildResponse,
+} from './type'
-const unwrapNestedResponse = (
- response: ResponseData,
-): ResponseData => {
- const nested = response?.data;
- if (
- nested &&
- typeof nested === 'object' &&
- 'code' in nested &&
- 'data' in nested
- ) {
- return {
- ...response,
- data: nested.data as T,
- };
+const unwrapNestedResponse = (response: ResponseData): ResponseData => {
+ const nested = response?.data
+ if (nested && typeof nested === 'object' && 'code' in nested && 'data' in nested) {
+ return {
+ ...response,
+ data: nested.data as T,
}
- return response as ResponseData;
-};
+ }
+ return response as ResponseData
+}
-const queryCompileArtifactSummary = (): Promise<
- ResponseData
-> =>
- axios.get>(
- '/ssa/compile-artifacts/summary',
- ).then((response) => unwrapNestedResponse(response));
+const queryCompileArtifactSummary = (): Promise> =>
+ axios
+ .get>('/api/ssa/compile-artifacts/summary')
+ .then((response) => unwrapNestedResponse(response))
const queryCompileArtifacts = (
- params?: TCompileArtifactListParams,
+ params?: TCompileArtifactListParams,
): Promise> =>
- axios.get>(
- '/ssa/compile-artifacts',
- { params },
- ).then((response) =>
- unwrapNestedResponse(response),
- );
+ axios
+ .get>('/api/ssa/compile-artifacts', { params })
+ .then((response) => unwrapNestedResponse(response))
-const fetchCompileArtifactDetail = (
- seriesKey: string,
-): Promise> =>
- axios.get>(
- '/ssa/compile-artifacts/detail',
- { params: { series_key: seriesKey } },
- ).then((response) => unwrapNestedResponse(response));
+const fetchCompileArtifactDetail = (seriesKey: string): Promise> =>
+ axios
+ .get<
+ never,
+ ResponseData
+ >('/api/ssa/compile-artifacts/detail', { params: { series_key: seriesKey } })
+ .then((response) => unwrapNestedResponse(response))
const forceRebuildCompileArtifact = (
- data: TCompileArtifactRebuildRequest,
+ data: TCompileArtifactRebuildRequest,
): Promise> =>
- axios.post>(
- '/ssa/compile-artifacts/rebuild',
- data,
- ).then((response) =>
- unwrapNestedResponse(response),
- );
+ axios
+ .post>('/api/ssa/compile-artifacts/rebuild', data)
+ .then((response) => unwrapNestedResponse(response))
-export {
- queryCompileArtifactSummary,
- queryCompileArtifacts,
- fetchCompileArtifactDetail,
- forceRebuildCompileArtifact,
-};
+export { queryCompileArtifactSummary, queryCompileArtifacts, fetchCompileArtifactDetail, forceRebuildCompileArtifact }
diff --git a/src/apis/CveLoopholeApi/index.ts b/src/apis/CveLoopholeApi/index.ts
index e8dd4eda..c23b0df9 100644
--- a/src/apis/CveLoopholeApi/index.ts
+++ b/src/apis/CveLoopholeApi/index.ts
@@ -1,28 +1,19 @@
-import axios from '@/utils/axios';
-import type { ResponseData, TableResponseData } from '@/utils/commonTypes';
-import type {
- TCveQueryRequest,
- TCveQueryResponse,
- TGetCveUpdateResquest,
-} from './type';
+import axios from '@/utils/axios'
+import type { ResponseData, TableResponseData } from '@/utils/commonTypes'
+import type { TCveQueryRequest, TCveQueryResponse, TGetCveUpdateResquest } from './type'
// 节点是否安装成功
-const postCveQuery = (
- data: TCveQueryRequest,
-): Promise>> =>
- axios.post>>(
- `/cve/query`,
- data,
- );
+const postCveQuery = (data: TCveQueryRequest): Promise>> =>
+ axios.post>>(`/api/cve/query`, data)
// cve 数据库更新
-const getCveUpdate = (
- params: TGetCveUpdateResquest,
- signal?: AbortSignal,
-): Promise> =>
- axios.get>(`/cve/update`, { params, signal });
+const getCveUpdate = (params: TGetCveUpdateResquest, signal?: AbortSignal): Promise> =>
+ axios.get>(`/api/cve/update`, {
+ params,
+ signal,
+ })
const getCveOfflineUpdate = (): Promise> =>
- axios.post>(`/reset/cve`);
+ axios.post>(`/api/reset/cve`)
-export { postCveQuery, getCveUpdate, getCveOfflineUpdate };
+export { postCveQuery, getCveUpdate, getCveOfflineUpdate }
diff --git a/src/apis/GlobalReverseLinkApi/index.ts b/src/apis/GlobalReverseLinkApi/index.ts
index ac003b0f..fe482187 100644
--- a/src/apis/GlobalReverseLinkApi/index.ts
+++ b/src/apis/GlobalReverseLinkApi/index.ts
@@ -1,16 +1,11 @@
-import axios from '@/utils/axios';
-import type { ResponseData } from '@/utils/commonTypes';
-import type {
- getReverseConfigResponse,
- PostReverseConfigRequest,
-} from './types';
+import axios from '@/utils/axios'
+import type { ResponseData } from '@/utils/commonTypes'
+import type { getReverseConfigResponse, PostReverseConfigRequest } from './types'
-const postReverseConfig = (
- data: PostReverseConfigRequest,
-): Promise> =>
- axios.post>('/reverse/config', data);
+const postReverseConfig = (data: PostReverseConfigRequest): Promise> =>
+ axios.post>('/api/reverse/config', data)
const getReverseConfig = (): Promise> =>
- axios.get>('/reverse/config');
+ axios.get>('/api/reverse/config')
-export { postReverseConfig, getReverseConfig };
+export { postReverseConfig, getReverseConfig }
diff --git a/src/apis/MessageCollectApi/index.ts b/src/apis/MessageCollectApi/index.ts
index aad37072..ab70496d 100644
--- a/src/apis/MessageCollectApi/index.ts
+++ b/src/apis/MessageCollectApi/index.ts
@@ -1,61 +1,36 @@
-import axios from '@/utils/axios';
-import type { ResponseData, TableResponseData } from '@/utils/commonTypes';
-import type {
- TGetCompanyInfoRequest,
- TGetCompanyInfoResponse,
- TGetDomainInfoResponse,
-} from './type';
-import type { TreeGraphData } from '@antv/g6';
+import axios from '@/utils/axios'
+import type { ResponseData, TableResponseData } from '@/utils/commonTypes'
+import type { TGetCompanyInfoRequest, TGetCompanyInfoResponse, TGetDomainInfoResponse } from './type'
+import type { TreeGraphData } from '@antv/g6'
// 获取信息收集列表数据
const getCompanyInfo = (
- data: Partial,
+ data: Partial,
): Promise>> =>
- axios.post<
- never,
- ResponseData>
- >('/assets/company-info', data);
+ axios.post>>('/api/assets/company-info', data)
// 删除信息收集 数据
-const deleteCompanyInfo = (params: {
- ids?: number[];
- all?: boolean;
-}): Promise> =>
- axios.delete>('/assets/company-info', {
- data: params,
- });
+const deleteCompanyInfo = (params: { ids?: number[]; all?: boolean }): Promise> =>
+ axios.delete>('/api/assets/company-info', {
+ data: params,
+ })
// 获取全部信息资产域名
const getAlldomains = (params: {
- keyword: string;
+ keyword: string
}): Promise>> =>
- axios.get>>(
- '/assets/company-info',
- { params },
- );
+ axios.get>>('/api/assets/company-info', { params })
// 获取子域名爆破列表数据
const getDomainInfo = (
- params: Omit,
+ params: Omit,
): Promise>> =>
- axios.get>>(
- '/assets/domain-info',
- { params },
- );
+ axios.get>>('/api/assets/domain-info', { params })
// 获取攻击路径图详情
-const getAttackPath = (params: {
- task_id: string;
- script_type: string;
-}): Promise> =>
- axios.get>('/assets/attack-path', {
- params,
- });
+const getAttackPath = (params: { task_id: string; script_type: string }): Promise> =>
+ axios.get>('/api/assets/attack-path', {
+ params,
+ })
-export {
- getCompanyInfo,
- deleteCompanyInfo,
- getAlldomains,
- getDomainInfo,
- getAttackPath,
-};
+export { getCompanyInfo, deleteCompanyInfo, getAlldomains, getDomainInfo, getAttackPath }
diff --git a/src/apis/NodeConfigApi/index.ts b/src/apis/NodeConfigApi/index.ts
index 5f73f82f..4736ce95 100644
--- a/src/apis/NodeConfigApi/index.ts
+++ b/src/apis/NodeConfigApi/index.ts
@@ -1,12 +1,8 @@
-import axios from '@/utils/axios';
-import type { ResponseData } from '@/utils/commonTypes';
+import axios from '@/utils/axios'
+import type { ResponseData } from '@/utils/commonTypes'
// 节点是否安装成功
-const getFileExists = (
- file_name: 'yak' | 'docker-compose',
-): Promise> =>
- axios.get>(
- `/file-exists?file_name=${file_name}`,
- );
+const getFileExists = (file_name: 'yak' | 'docker-compose'): Promise> =>
+ axios.get>(`/api/file-exists?file_name=${file_name}`)
-export { getFileExists };
+export { getFileExists }
diff --git a/src/apis/NodeManageApi/index.ts b/src/apis/NodeManageApi/index.ts
index 856c595c..e570db7a 100644
--- a/src/apis/NodeManageApi/index.ts
+++ b/src/apis/NodeManageApi/index.ts
@@ -1,62 +1,80 @@
-import axios from '@/utils/axios';
-import type { ResponseData, TableResponseData } from '@/utils/commonTypes';
+import axios from '@/utils/axios'
+import type { ResponseData, TableResponseData } from '@/utils/commonTypes'
import type {
- PostHostAliveDetectionRunRequest,
- QueryPalmNodeParams,
- TPostNodesDownloadDataRunRequest,
-} from './type';
-import type { Palm } from '@/gen/schema';
+ PostHostAliveDetectionRunRequest,
+ QueryPalmNodeParams,
+ ScannerObservabilityOverview,
+ TPostNodesDownloadDataRunRequest,
+} from './type'
+import type { Palm } from '@/gen/schema'
// 获取节点管理 表格数据
-const getNodeManage = (
- params: QueryPalmNodeParams,
-): Promise>> =>
- axios.get>>(`/node`, {
- params,
- });
+const getNodeManage = (params: QueryPalmNodeParams): Promise>> =>
+ axios.get>>(`/api/node`, {
+ params,
+ })
// 删除节点
const deleteNodeManage = (
- params: QueryPalmNodeParams & { node_ids?: string },
-): Promise>> =>
- axios.delete>>(`/node`, {
- params,
- });
+ params: QueryPalmNodeParams & { node_ids?: string },
+): Promise>> =>
+ axios.delete>>(`/api/node`, {
+ params,
+ })
// 编辑节点
const postUpdateLocation = (data: {
- location: string;
- nickname: string;
- node_id: string;
-}): Promise> =>
- axios.post>('/node/update-location', data);
+ location: string
+ nickname: string
+ node_id: string
+}): Promise> => axios.post>('/api/node/update-location', data)
// 更新节点数据
-const postNodesDownloadDataRun = (
- data: TPostNodesDownloadDataRunRequest,
-): Promise> =>
- axios.post>(
- '/task/start/nodes-download-data/run',
- data,
- );
+const postNodesDownloadDataRun = (data: TPostNodesDownloadDataRunRequest): Promise> =>
+ axios.post>('/api/task/start/nodes-download-data/run', data)
// 获取网络检测表格数据
const postHostAliveDetectionRun = (data: {
- dns_timeout: number;
- hosts: string;
- nodes_id: string[];
-}): Promise<
- ResponseData>
-> =>
- axios.post<
- never,
- ResponseData>
- >('/task/start/host-alive-detection/run', data);
+ dns_timeout: number
+ hosts: string
+ nodes_id: string[]
+}): Promise>> =>
+ axios.post>>(
+ '/api/task/start/host-alive-detection/run',
+ data,
+ )
+
+const getScannerObservabilityOverview = (params?: {
+ task_limit?: number
+}): Promise> =>
+ axios.get>('/api/ssa/observability/scanner/overview', {
+ params,
+ })
+
+const exportScannerObservabilityDiagnostics = (params?: {
+ task_limit?: number
+ log_limit?: number
+ node_id?: string
+ task_id?: string
+}): Promise> =>
+ axios.get('/api/ssa/observability/scanner/diagnostics/export', {
+ params,
+ responseType: 'blob',
+ transformResponse: [
+ (data) => ({
+ data,
+ code: 200,
+ msg: '',
+ }),
+ ],
+ })
export {
- getNodeManage,
- postUpdateLocation,
- postNodesDownloadDataRun,
- deleteNodeManage,
- postHostAliveDetectionRun,
-};
+ getNodeManage,
+ postUpdateLocation,
+ postNodesDownloadDataRun,
+ deleteNodeManage,
+ postHostAliveDetectionRun,
+ getScannerObservabilityOverview,
+ exportScannerObservabilityDiagnostics,
+}
diff --git a/src/apis/NodeManageApi/type.ts b/src/apis/NodeManageApi/type.ts
index 9b2d43cc..28f1882a 100644
--- a/src/apis/NodeManageApi/type.ts
+++ b/src/apis/NodeManageApi/type.ts
@@ -29,9 +29,87 @@ interface PostHostAliveDetectionRunRequest {
result: Array;
}
+interface ScannerObservabilityRunningTask {
+ node_id: string;
+ task_id: string;
+ root_task_id?: string;
+ sub_task_id?: string;
+ runtime_id?: string;
+ type: string;
+ status: string;
+ wait_ms: number;
+ start_timestamp: number;
+ running_timestamp: number;
+ ddl_timestamp: number;
+ elapsed_ms: number;
+}
+
+interface ScannerObservabilityNode {
+ node_id: string;
+ nickname: string;
+ location: string;
+ external_ip: string;
+ main_addr: string;
+ last_seen_at: number;
+ online: boolean;
+ cpu_percent: number;
+ memory_percent: number;
+ network_upload: number;
+ network_download: number;
+ active_count: number;
+ queue_count: number;
+ capacity: number;
+ recent_avg_wait_ms: number;
+ recent_avg_exec_ms: number;
+ recent_completed_count: number;
+ rpc_error?: string;
+ running_tasks: ScannerObservabilityRunningTask[];
+}
+
+interface ScannerObservabilityRecentTask {
+ task_id: string;
+ project_name: string;
+ scan_batch: number;
+ execute_node: string;
+ status: string;
+ phase: string;
+ progress: number;
+ language: string;
+ source_origin: string;
+ error_message?: string;
+ created_at: number;
+ started_at?: number;
+ finished_at?: number;
+}
+
+interface ScannerObservabilitySummary {
+ total_nodes: number;
+ online_nodes: number;
+ offline_nodes: number;
+ total_capacity: number;
+ total_active: number;
+ total_queued: number;
+ recent_avg_wait_ms: number;
+ recent_avg_exec_ms: number;
+ recent_completed_count: number;
+}
+
+interface ScannerObservabilityOverview {
+ generated_at: number;
+ summary: ScannerObservabilitySummary;
+ nodes: ScannerObservabilityNode[];
+ running_tasks: ScannerObservabilityRunningTask[];
+ recent_tasks: ScannerObservabilityRecentTask[];
+}
+
export type {
QueryPalmNodeParams,
TPostNodesDownloadDataRunRequest,
NetworkPingTableProp,
PostHostAliveDetectionRunRequest,
+ ScannerObservabilityRunningTask,
+ ScannerObservabilityNode,
+ ScannerObservabilityRecentTask,
+ ScannerObservabilitySummary,
+ ScannerObservabilityOverview,
};
diff --git a/src/apis/SSAIRApi/index.ts b/src/apis/SSAIRApi/index.ts
index d66a6a91..dd7d8fc4 100644
--- a/src/apis/SSAIRApi/index.ts
+++ b/src/apis/SSAIRApi/index.ts
@@ -1,42 +1,18 @@
-import axios from '@/utils/axios';
-import type { ResponseData } from '@/utils/commonTypes';
-import type { TSSATaskResponse } from '@/apis/SSAScanTaskApi/type';
-import type {
- TSSAIRCompileRequest,
- TSSAIRCompileResponse,
- TSSAIRHeadResponse,
- TSSAIRScanRequest,
-} from './type';
+import axios from '@/utils/axios'
+import type { ResponseData } from '@/utils/commonTypes'
+import type { TSSATaskResponse } from '@/apis/SSAScanTaskApi/type'
+import type { TSSAIRCompileRequest, TSSAIRCompileResponse, TSSAIRHeadResponse, TSSAIRScanRequest } from './type'
// POST /ssa/project/{id}/ir/compile - 编译 IR(写入 SSA-IR DB),返回 async_task_id
-const compileSSAIR = (
- projectId: number,
- data: TSSAIRCompileRequest,
-): Promise> =>
- axios.post>(
- `/ssa/project/${projectId}/ir/compile`,
- data,
- );
+const compileSSAIR = (projectId: number, data: TSSAIRCompileRequest): Promise> =>
+ axios.post>(`/api/ssa/project/${projectId}/ir/compile`, data)
// GET /ssa/project/{id}/ir/head - 查询 series HEAD
-const getSSAIRHead = (
- projectId: number,
- params?: { series_key?: string },
-): Promise> =>
- axios.get>(
- `/ssa/project/${projectId}/ir/head`,
- { params },
- );
+const getSSAIRHead = (projectId: number, params?: { series_key?: string }): Promise> =>
+ axios.get>(`/api/ssa/project/${projectId}/ir/head`, { params })
// POST /ssa/project/{id}/ir/scan - 从 SSA-IR DB 的 program/HEAD 发起扫描
-const scanSSAIR = (
- projectId: number,
- data?: TSSAIRScanRequest,
-): Promise> =>
- axios.post>(
- `/ssa/project/${projectId}/ir/scan`,
- data || {},
- );
-
-export { compileSSAIR, getSSAIRHead, scanSSAIR };
+const scanSSAIR = (projectId: number, data?: TSSAIRScanRequest): Promise> =>
+ axios.post>(`/api/ssa/project/${projectId}/ir/scan`, data || {})
+export { compileSSAIR, getSSAIRHead, scanSSAIR }
diff --git a/src/apis/SSAProjectApi/index.ts b/src/apis/SSAProjectApi/index.ts
index 37636129..37cdc50b 100644
--- a/src/apis/SSAProjectApi/index.ts
+++ b/src/apis/SSAProjectApi/index.ts
@@ -1,83 +1,61 @@
-import axios from '@/utils/axios';
-import type { ResponseData } from '@/utils/commonTypes';
-import type {
- TSSAProject,
- TSSAProjectListResponse,
- TSSAProjectRequest,
- TScanPolicyConfig,
-} from './type';
+import axios from '@/utils/axios'
+import type { ResponseData } from '@/utils/commonTypes'
+import type { TSSAProject, TSSAProjectListResponse, TSSAProjectRequest, TScanPolicyConfig } from './type'
// GET /ssa/project - 查询项目列表
const getSSAProjects = (
- params: {
- limit?: number;
- page?: number;
- order?: string;
- order_by?: string;
- project_name?: string;
- language?: string;
- tags?: string;
- },
- signal?: AbortSignal,
+ params: {
+ limit?: number
+ page?: number
+ order?: string
+ order_by?: string
+ project_name?: string
+ language?: string
+ tags?: string
+ },
+ signal?: AbortSignal,
): Promise> =>
- axios.get>(`/ssa/project`, {
- params,
- signal,
- });
+ axios.get>(`/api/ssa/project`, {
+ params,
+ signal,
+ })
// GET /ssa/project/fetch - 获取项目详情
-const fetchSSAProject = (
- params: { id: number },
- signal?: AbortSignal,
-): Promise> =>
- axios.get>(`/ssa/project/fetch`, {
- params,
- signal,
- });
+const fetchSSAProject = (params: { id: number }, signal?: AbortSignal): Promise> =>
+ axios.get>(`/api/ssa/project/fetch`, {
+ params,
+ signal,
+ })
// POST /ssa/project - 创建/更新项目
-const postSSAProject = (
- data: TSSAProjectRequest,
-): Promise> =>
- axios.post>(`/ssa/project`, data);
+const postSSAProject = (data: TSSAProjectRequest): Promise> =>
+ axios.post>(`/api/ssa/project`, data)
// DELETE /ssa/project - 删除项目
const deleteSSAProject = (params: {
- id: number;
-}): Promise> =>
- axios.delete>(`/ssa/project`, { params });
+ id: number
+ delete_mode?: 'config-only' | 'cascade'
+}): Promise> => axios.delete>(`/api/ssa/project`, { params })
// POST /ssa/project/test-connection - 测试Git连接
const testGitConnection = (data: {
- url: string;
- auth?: {
- kind?: 'none' | 'basic' | 'ssh';
- user_name?: string;
- password?: string;
- key_content?: string;
- };
- proxy?: {
- url?: string;
- };
+ url: string
+ auth?: {
+ kind?: 'none' | 'basic' | 'ssh'
+ user_name?: string
+ password?: string
+ key_content?: string
+ }
+ proxy?: {
+ url?: string
+ }
}): Promise> =>
- axios.post