From 336bafd6ce1cd786636cd8c89cb801e03e519879 Mon Sep 17 00:00:00 2001 From: jialin Date: Mon, 15 Sep 2025 16:28:39 +0800 Subject: [PATCH] chore: cluster docker provider --- package.json | 1 - pnpm-lock.yaml | 206 ++++++++---------- src/components/echarts/line-chart.tsx | 2 +- src/components/icon-font/icons.ts | 5 +- src/components/scroller-modal/index.tsx | 5 +- src/components/status-tag/index.tsx | 9 +- src/locales/en-US/vendor.ts | 9 + src/locales/ja-JP/vendor.ts | 9 + src/locales/ru-RU/vendor.ts | 9 + src/locales/zh-CN/vendor.ts | 9 + .../cluster-management/cluster-create.tsx | 2 +- src/pages/cluster-management/clusters.tsx | 23 +- .../components/add-worker-step.tsx | 4 +- .../components/add-worker.tsx | 13 +- .../components/cluster-steps.tsx | 2 + .../components/support-hardware.tsx | 184 +++++++--------- src/pages/cluster-management/config/index.ts | 10 +- .../cluster-management/config/providers.ts | 12 +- .../step-forms/use-step-list.tsx | 2 +- src/pages/dashboard/components/over-view.tsx | 2 +- .../llmodels/hooks/use-form-initial-values.ts | 4 +- 21 files changed, 266 insertions(+), 256 deletions(-) create mode 100644 src/locales/en-US/vendor.ts create mode 100644 src/locales/ja-JP/vendor.ts create mode 100644 src/locales/ru-RU/vendor.ts create mode 100644 src/locales/zh-CN/vendor.ts rename src/pages/{resources => cluster-management}/components/add-worker.tsx (69%) diff --git a/package.json b/package.json index 214e4f7b..6f687822 100644 --- a/package.json +++ b/package.json @@ -79,7 +79,6 @@ "xlsx": "https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz" }, "devDependencies": { - "@types/marked": "^6.0.0", "@types/react": "^18.3.1", "@types/react-dom": "^18.3.0", "@umijs/case-sensitive-paths-webpack-plugin": "^1.0.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index dcf7e166..0be4c58f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -14,7 +14,7 @@ dependencies: version: 5.6.1(react-dom@18.3.1)(react@18.3.1) '@ant-design/pro-components': specifier: ^2.7.19 - version: 2.8.10(antd@5.27.1)(rc-field-form@2.7.0)(react-dom@18.3.1)(react@18.3.1) + version: 2.8.10(antd@5.25.4)(rc-field-form@2.7.0)(react-dom@18.3.1)(react@18.3.1) '@braintree/sanitize-url': specifier: ^7.1.1 version: 7.1.1 @@ -56,10 +56,10 @@ dependencies: version: 0.7.2 antd: specifier: ^5.25.4 - version: 5.27.1(react-dom@18.3.1)(react@18.3.1) + version: 5.25.4(react-dom@18.3.1)(react@18.3.1) antd-style: specifier: ^3.6.2 - version: 3.7.1(@types/react@18.3.24)(antd@5.27.1)(react-dom@18.3.1)(react@18.3.1) + version: 3.7.1(@types/react@18.3.24)(antd@5.25.4)(react-dom@18.3.1)(react@18.3.1) axios: specifier: ^1.8.2 version: 1.11.0 @@ -185,7 +185,7 @@ dependencies: version: 1.6.0 umi-presets-pro: specifier: ^2.0.3 - version: 2.0.3(@babel/core@7.28.3)(@types/react-dom@18.3.7)(@types/react@18.3.24)(antd@5.27.1)(dva@2.5.0-beta.2)(rc-field-form@2.7.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.9.2)(umi@4.4.12) + version: 2.0.3(@babel/core@7.28.3)(@types/react-dom@18.3.7)(@types/react@18.3.24)(antd@5.25.4)(dva@2.5.0-beta.2)(rc-field-form@2.7.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.9.2)(umi@4.4.12) wavesurfer.js: specifier: ^7.8.8 version: 7.10.1 @@ -194,9 +194,6 @@ dependencies: version: '@cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz' devDependencies: - '@types/marked': - specifier: ^6.0.0 - version: 6.0.0 '@types/react': specifier: ^18.3.1 version: 18.3.24 @@ -208,7 +205,7 @@ devDependencies: version: 1.0.1 '@umijs/plugins': specifier: ^4.4.11 - version: 4.4.12(@babel/core@7.28.3)(@types/react-dom@18.3.7)(@types/react@18.3.24)(antd@5.27.1)(dva@2.5.0-beta.2)(rc-field-form@2.7.0)(react-dom@18.3.1)(react@18.3.1) + version: 4.4.12(@babel/core@7.28.3)(@types/react-dom@18.3.7)(@types/react@18.3.24)(antd@5.25.4)(dva@2.5.0-beta.2)(rc-field-form@2.7.0)(react-dom@18.3.1)(react@18.3.1) babel-plugin-named-asset-import: specifier: ^0.3.8 version: 0.3.8(@babel/core@7.28.3) @@ -298,7 +295,7 @@ packages: react: 18.3.1 dev: false - /@alita/plugins@3.5.5(@babel/core@7.28.3)(@types/react-dom@18.3.7)(@types/react@18.3.24)(antd@5.27.1)(dva@2.5.0-beta.2)(rc-field-form@2.7.0)(react-dom@18.3.1)(react@18.3.1): + /@alita/plugins@3.5.5(@babel/core@7.28.3)(@types/react-dom@18.3.7)(@types/react@18.3.24)(antd@5.25.4)(dva@2.5.0-beta.2)(rc-field-form@2.7.0)(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-YoBWSN+FXhnGYfv+3m9WgZDeZyhW9n9VoxgfrZczRoIAeMJre1t0kNcC9L801kAKvSRmV7Tr8nxZpS4XrCPPEA==, tarball: https://registry.npmjs.org/@alita/plugins/-/plugins-3.5.5.tgz} dependencies: '@alita/babel-transform-jsx-class': 0.0.2 @@ -306,7 +303,7 @@ packages: '@alita/request': 3.1.2 '@alita/types': 3.1.2 '@umijs/bundler-utils': 4.4.11 - '@umijs/plugins': 4.4.11(@babel/core@7.28.3)(@types/react-dom@18.3.7)(@types/react@18.3.24)(antd@5.27.1)(dva@2.5.0-beta.2)(rc-field-form@2.7.0)(react-dom@18.3.1)(react@18.3.1) + '@umijs/plugins': 4.4.11(@babel/core@7.28.3)(@types/react-dom@18.3.7)(@types/react@18.3.24)(antd@5.25.4)(dva@2.5.0-beta.2)(rc-field-form@2.7.0)(react-dom@18.3.1)(react@18.3.1) '@umijs/utils': 4.4.11 ahooks: 3.9.4(react-dom@18.3.1)(react@18.3.1) antd-mobile-alita: 2.3.4(react-dom@18.3.1)(react@18.3.1) @@ -457,7 +454,7 @@ packages: - react-dom dev: false - /@ant-design/pro-card@2.10.0(antd@5.27.1)(react-dom@18.3.1)(react@18.3.1): + /@ant-design/pro-card@2.10.0(antd@5.25.4)(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-sLONn1odmE0Wkbse8pol4WiaEzBV8JU5s3FAMflPpycfUcbSaa1ktXzQ7LCo2SAvOS7gkfmpFjBPtrfbigKh4g==, tarball: https://registry.npmjs.org/@ant-design/pro-card/-/pro-card-2.10.0.tgz} peerDependencies: antd: ^4.24.15 || ^5.11.2 @@ -465,10 +462,10 @@ packages: dependencies: '@ant-design/cssinjs': 1.24.0(react-dom@18.3.1)(react@18.3.1) '@ant-design/icons': 5.6.1(react-dom@18.3.1)(react@18.3.1) - '@ant-design/pro-provider': 2.16.2(antd@5.27.1)(react-dom@18.3.1)(react@18.3.1) - '@ant-design/pro-utils': 2.18.0(antd@5.27.1)(react-dom@18.3.1)(react@18.3.1) + '@ant-design/pro-provider': 2.16.2(antd@5.25.4)(react-dom@18.3.1)(react@18.3.1) + '@ant-design/pro-utils': 2.18.0(antd@5.25.4)(react-dom@18.3.1)(react@18.3.1) '@babel/runtime': 7.28.3 - antd: 5.27.1(react-dom@18.3.1)(react@18.3.1) + antd: 5.25.4(react-dom@18.3.1)(react@18.3.1) classnames: 2.5.1 rc-resize-observer: 1.4.3(react-dom@18.3.1)(react@18.3.1) rc-util: 5.44.4(react-dom@18.3.1)(react@18.3.1) @@ -501,25 +498,25 @@ packages: - rc-field-form dev: false - /@ant-design/pro-components@2.8.10(antd@5.27.1)(rc-field-form@2.7.0)(react-dom@18.3.1)(react@18.3.1): + /@ant-design/pro-components@2.8.10(antd@5.25.4)(rc-field-form@2.7.0)(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-QHnnIXdmC5GTAtm6i8eeJy5yT9npPlFyxpDm+duiDrTRKRFaAQBduArxlH3DA/hoRCCypzPONxfK9BQNIhIyZA==, tarball: https://registry.npmjs.org/@ant-design/pro-components/-/pro-components-2.8.10.tgz} peerDependencies: antd: ^4.24.15 || ^5.11.2 react: '>=17.0.0' react-dom: '>=17.0.0' dependencies: - '@ant-design/pro-card': 2.10.0(antd@5.27.1)(react-dom@18.3.1)(react@18.3.1) - '@ant-design/pro-descriptions': 2.6.10(antd@5.27.1)(rc-field-form@2.7.0)(react-dom@18.3.1)(react@18.3.1) - '@ant-design/pro-field': 3.1.0(antd@5.27.1)(react-dom@18.3.1)(react@18.3.1) - '@ant-design/pro-form': 2.32.0(antd@5.27.1)(rc-field-form@2.7.0)(react-dom@18.3.1)(react@18.3.1) - '@ant-design/pro-layout': 7.22.7(antd@5.27.1)(react-dom@18.3.1)(react@18.3.1) - '@ant-design/pro-list': 2.6.10(antd@5.27.1)(rc-field-form@2.7.0)(react-dom@18.3.1)(react@18.3.1) - '@ant-design/pro-provider': 2.16.2(antd@5.27.1)(react-dom@18.3.1)(react@18.3.1) - '@ant-design/pro-skeleton': 2.2.1(antd@5.27.1)(react-dom@18.3.1)(react@18.3.1) - '@ant-design/pro-table': 3.21.0(antd@5.27.1)(rc-field-form@2.7.0)(react-dom@18.3.1)(react@18.3.1) - '@ant-design/pro-utils': 2.18.0(antd@5.27.1)(react-dom@18.3.1)(react@18.3.1) + '@ant-design/pro-card': 2.10.0(antd@5.25.4)(react-dom@18.3.1)(react@18.3.1) + '@ant-design/pro-descriptions': 2.6.10(antd@5.25.4)(rc-field-form@2.7.0)(react-dom@18.3.1)(react@18.3.1) + '@ant-design/pro-field': 3.1.0(antd@5.25.4)(react-dom@18.3.1)(react@18.3.1) + '@ant-design/pro-form': 2.32.0(antd@5.25.4)(rc-field-form@2.7.0)(react-dom@18.3.1)(react@18.3.1) + '@ant-design/pro-layout': 7.22.7(antd@5.25.4)(react-dom@18.3.1)(react@18.3.1) + '@ant-design/pro-list': 2.6.10(antd@5.25.4)(rc-field-form@2.7.0)(react-dom@18.3.1)(react@18.3.1) + '@ant-design/pro-provider': 2.16.2(antd@5.25.4)(react-dom@18.3.1)(react@18.3.1) + '@ant-design/pro-skeleton': 2.2.1(antd@5.25.4)(react-dom@18.3.1)(react@18.3.1) + '@ant-design/pro-table': 3.21.0(antd@5.25.4)(rc-field-form@2.7.0)(react-dom@18.3.1)(react@18.3.1) + '@ant-design/pro-utils': 2.18.0(antd@5.25.4)(react-dom@18.3.1)(react@18.3.1) '@babel/runtime': 7.28.3 - antd: 5.27.1(react-dom@18.3.1)(react@18.3.1) + antd: 5.25.4(react-dom@18.3.1)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) transitivePeerDependencies: @@ -546,19 +543,19 @@ packages: - react-dom dev: false - /@ant-design/pro-descriptions@2.6.10(antd@5.27.1)(rc-field-form@2.7.0)(react-dom@18.3.1)(react@18.3.1): + /@ant-design/pro-descriptions@2.6.10(antd@5.25.4)(rc-field-form@2.7.0)(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-+4MbiOfumnWlW0Awm4m8JML5o3lR649FD24AaivCmr8BQvIAAXdTITnDMXEg8BqvdP4KOvNsStZrvYfqoev33A==, tarball: https://registry.npmjs.org/@ant-design/pro-descriptions/-/pro-descriptions-2.6.10.tgz} peerDependencies: antd: ^4.24.15 || ^5.11.2 react: '>=17.0.0' dependencies: - '@ant-design/pro-field': 3.1.0(antd@5.27.1)(react-dom@18.3.1)(react@18.3.1) - '@ant-design/pro-form': 2.32.0(antd@5.27.1)(rc-field-form@2.7.0)(react-dom@18.3.1)(react@18.3.1) - '@ant-design/pro-provider': 2.16.2(antd@5.27.1)(react-dom@18.3.1)(react@18.3.1) - '@ant-design/pro-skeleton': 2.2.1(antd@5.27.1)(react-dom@18.3.1)(react@18.3.1) - '@ant-design/pro-utils': 2.18.0(antd@5.27.1)(react-dom@18.3.1)(react@18.3.1) + '@ant-design/pro-field': 3.1.0(antd@5.25.4)(react-dom@18.3.1)(react@18.3.1) + '@ant-design/pro-form': 2.32.0(antd@5.25.4)(rc-field-form@2.7.0)(react-dom@18.3.1)(react@18.3.1) + '@ant-design/pro-provider': 2.16.2(antd@5.25.4)(react-dom@18.3.1)(react@18.3.1) + '@ant-design/pro-skeleton': 2.2.1(antd@5.25.4)(react-dom@18.3.1)(react@18.3.1) + '@ant-design/pro-utils': 2.18.0(antd@5.25.4)(react-dom@18.3.1)(react@18.3.1) '@babel/runtime': 7.28.3 - antd: 5.27.1(react-dom@18.3.1)(react@18.3.1) + antd: 5.25.4(react-dom@18.3.1)(react@18.3.1) rc-resize-observer: 0.2.6(react-dom@18.3.1)(react@18.3.1) rc-util: 5.44.4(react-dom@18.3.1)(react@18.3.1) react: 18.3.1 @@ -589,18 +586,18 @@ packages: - react-dom dev: false - /@ant-design/pro-field@3.1.0(antd@5.27.1)(react-dom@18.3.1)(react@18.3.1): + /@ant-design/pro-field@3.1.0(antd@5.25.4)(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-+Dgp31WjD+iwg9KIRAMgNkfQivkJKMcYBrIBmho1e8ep/O0HgWSp48g70tBIWi/Lfem/Ky2schF7O8XCFouczw==, tarball: https://registry.npmjs.org/@ant-design/pro-field/-/pro-field-3.1.0.tgz} peerDependencies: antd: ^4.24.15 || ^5.11.2 react: '>=17.0.0' dependencies: '@ant-design/icons': 5.6.1(react-dom@18.3.1)(react@18.3.1) - '@ant-design/pro-provider': 2.16.2(antd@5.27.1)(react-dom@18.3.1)(react@18.3.1) - '@ant-design/pro-utils': 2.18.0(antd@5.27.1)(react-dom@18.3.1)(react@18.3.1) + '@ant-design/pro-provider': 2.16.2(antd@5.25.4)(react-dom@18.3.1)(react@18.3.1) + '@ant-design/pro-utils': 2.18.0(antd@5.25.4)(react-dom@18.3.1)(react@18.3.1) '@babel/runtime': 7.28.3 '@chenshuai2144/sketch-color': 1.0.9(react@18.3.1) - antd: 5.27.1(react-dom@18.3.1)(react@18.3.1) + antd: 5.25.4(react-dom@18.3.1)(react@18.3.1) classnames: 2.5.1 dayjs: 1.11.15 lodash: 4.17.21 @@ -638,7 +635,7 @@ packages: react-dom: 18.3.1(react@18.3.1) dev: false - /@ant-design/pro-form@2.32.0(antd@5.27.1)(rc-field-form@2.7.0)(react-dom@18.3.1)(react@18.3.1): + /@ant-design/pro-form@2.32.0(antd@5.25.4)(rc-field-form@2.7.0)(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-GZnVAMeYv+YHJb17lJ7rX5PYuQPvEA6EotQnPbHi9tGLN3PfexcAd21rqzuO+OrulU2x7TEMDIxtY9MzvvOGbg==, tarball: https://registry.npmjs.org/@ant-design/pro-form/-/pro-form-2.32.0.tgz} peerDependencies: antd: ^4.24.15 || ^5.11.2 @@ -647,13 +644,13 @@ packages: react-dom: '>=17.0.0' dependencies: '@ant-design/icons': 5.6.1(react-dom@18.3.1)(react@18.3.1) - '@ant-design/pro-field': 3.1.0(antd@5.27.1)(react-dom@18.3.1)(react@18.3.1) - '@ant-design/pro-provider': 2.16.2(antd@5.27.1)(react-dom@18.3.1)(react@18.3.1) - '@ant-design/pro-utils': 2.18.0(antd@5.27.1)(react-dom@18.3.1)(react@18.3.1) + '@ant-design/pro-field': 3.1.0(antd@5.25.4)(react-dom@18.3.1)(react@18.3.1) + '@ant-design/pro-provider': 2.16.2(antd@5.25.4)(react-dom@18.3.1)(react@18.3.1) + '@ant-design/pro-utils': 2.18.0(antd@5.25.4)(react-dom@18.3.1)(react@18.3.1) '@babel/runtime': 7.28.3 '@chenshuai2144/sketch-color': 1.0.9(react@18.3.1) '@umijs/use-params': 1.0.9(react@18.3.1) - antd: 5.27.1(react-dom@18.3.1)(react@18.3.1) + antd: 5.25.4(react-dom@18.3.1)(react@18.3.1) classnames: 2.5.1 dayjs: 1.11.15 lodash: 4.17.21 @@ -691,7 +688,7 @@ packages: warning: 4.0.3 dev: false - /@ant-design/pro-layout@7.22.7(antd@5.27.1)(react-dom@18.3.1)(react@18.3.1): + /@ant-design/pro-layout@7.22.7(antd@5.25.4)(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-fvmtNA1r9SaasVIQIQt611VSlNxtVxDbQ3e+1GhYQza3tVJi/3gCZuDyfMfTnbLmf3PaW/YvLkn7MqDbzAzoLA==, tarball: https://registry.npmjs.org/@ant-design/pro-layout/-/pro-layout-7.22.7.tgz} peerDependencies: antd: ^4.24.15 || ^5.11.2 @@ -700,12 +697,12 @@ packages: dependencies: '@ant-design/cssinjs': 1.24.0(react-dom@18.3.1)(react@18.3.1) '@ant-design/icons': 5.6.1(react-dom@18.3.1)(react@18.3.1) - '@ant-design/pro-provider': 2.16.2(antd@5.27.1)(react-dom@18.3.1)(react@18.3.1) - '@ant-design/pro-utils': 2.18.0(antd@5.27.1)(react-dom@18.3.1)(react@18.3.1) + '@ant-design/pro-provider': 2.16.2(antd@5.25.4)(react-dom@18.3.1)(react@18.3.1) + '@ant-design/pro-utils': 2.18.0(antd@5.25.4)(react-dom@18.3.1)(react@18.3.1) '@babel/runtime': 7.28.3 '@umijs/route-utils': 4.0.1 '@umijs/use-params': 1.0.9(react@18.3.1) - antd: 5.27.1(react-dom@18.3.1)(react@18.3.1) + antd: 5.25.4(react-dom@18.3.1)(react@18.3.1) classnames: 2.5.1 lodash: 4.17.21 lodash-es: 4.17.21 @@ -742,7 +739,7 @@ packages: - rc-field-form dev: false - /@ant-design/pro-list@2.6.10(antd@5.27.1)(rc-field-form@2.7.0)(react-dom@18.3.1)(react@18.3.1): + /@ant-design/pro-list@2.6.10(antd@5.25.4)(rc-field-form@2.7.0)(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-xSWwnqCr+hPEYR4qY7nFUaxO5RQBxNlFaPNmobP2i+Im31slk9JuAusgWeIYO0mNhLJuLbxd8CCma2AZij3fBQ==, tarball: https://registry.npmjs.org/@ant-design/pro-list/-/pro-list-2.6.10.tgz} peerDependencies: antd: ^4.24.15 || ^5.11.2 @@ -751,12 +748,12 @@ packages: dependencies: '@ant-design/cssinjs': 1.24.0(react-dom@18.3.1)(react@18.3.1) '@ant-design/icons': 5.6.1(react-dom@18.3.1)(react@18.3.1) - '@ant-design/pro-card': 2.10.0(antd@5.27.1)(react-dom@18.3.1)(react@18.3.1) - '@ant-design/pro-field': 3.1.0(antd@5.27.1)(react-dom@18.3.1)(react@18.3.1) - '@ant-design/pro-table': 3.21.0(antd@5.27.1)(rc-field-form@2.7.0)(react-dom@18.3.1)(react@18.3.1) - '@ant-design/pro-utils': 2.18.0(antd@5.27.1)(react-dom@18.3.1)(react@18.3.1) + '@ant-design/pro-card': 2.10.0(antd@5.25.4)(react-dom@18.3.1)(react@18.3.1) + '@ant-design/pro-field': 3.1.0(antd@5.25.4)(react-dom@18.3.1)(react@18.3.1) + '@ant-design/pro-table': 3.21.0(antd@5.25.4)(rc-field-form@2.7.0)(react-dom@18.3.1)(react@18.3.1) + '@ant-design/pro-utils': 2.18.0(antd@5.25.4)(react-dom@18.3.1)(react@18.3.1) '@babel/runtime': 7.28.3 - antd: 5.27.1(react-dom@18.3.1)(react@18.3.1) + antd: 5.25.4(react-dom@18.3.1)(react@18.3.1) classnames: 2.5.1 dayjs: 1.11.15 rc-resize-observer: 1.4.3(react-dom@18.3.1)(react@18.3.1) @@ -784,7 +781,7 @@ packages: swr: 2.3.6(react@18.3.1) dev: false - /@ant-design/pro-provider@2.16.2(antd@5.27.1)(react-dom@18.3.1)(react@18.3.1): + /@ant-design/pro-provider@2.16.2(antd@5.25.4)(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-0KmCH1EaOND787Jz6VRMYtLNZmqfT0JPjdUfxhyOxFfnBRfrjyfZgIa6CQoAJLEUMWv57PccWS8wRHVUUk2Yiw==, tarball: https://registry.npmjs.org/@ant-design/pro-provider/-/pro-provider-2.16.2.tgz} peerDependencies: antd: ^4.24.15 || ^5.11.2 @@ -794,7 +791,7 @@ packages: '@ant-design/cssinjs': 1.24.0(react-dom@18.3.1)(react@18.3.1) '@babel/runtime': 7.28.3 '@ctrl/tinycolor': 3.6.1 - antd: 5.27.1(react-dom@18.3.1)(react@18.3.1) + antd: 5.25.4(react-dom@18.3.1)(react@18.3.1) dayjs: 1.11.15 rc-util: 5.44.4(react-dom@18.3.1)(react@18.3.1) react: 18.3.1 @@ -814,7 +811,7 @@ packages: react-dom: 18.3.1(react@18.3.1) dev: false - /@ant-design/pro-skeleton@2.2.1(antd@5.27.1)(react-dom@18.3.1)(react@18.3.1): + /@ant-design/pro-skeleton@2.2.1(antd@5.25.4)(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-3M2jNOZQZWEDR8pheY00OkHREfb0rquvFZLCa6DypGmiksiuuYuR9Y4iA82ZF+mva2FmpHekdwbje/GpbxqBeg==, tarball: https://registry.npmjs.org/@ant-design/pro-skeleton/-/pro-skeleton-2.2.1.tgz} peerDependencies: antd: ^4.24.15 || ^5.11.2 @@ -822,7 +819,7 @@ packages: react-dom: '>=17.0.0' dependencies: '@babel/runtime': 7.28.3 - antd: 5.27.1(react-dom@18.3.1)(react@18.3.1) + antd: 5.25.4(react-dom@18.3.1)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -858,7 +855,7 @@ packages: react-dom: 18.3.1(react@18.3.1) dev: false - /@ant-design/pro-table@3.21.0(antd@5.27.1)(rc-field-form@2.7.0)(react-dom@18.3.1)(react@18.3.1): + /@ant-design/pro-table@3.21.0(antd@5.25.4)(rc-field-form@2.7.0)(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-sI81d3FYRv5sXamUc+M5CsHZ9CchuUQgOAPzo5H4oPAVL5h+mkYGRsBzPsxQX7khTNpWjrAtPoRm5ipx3vvWog==, tarball: https://registry.npmjs.org/@ant-design/pro-table/-/pro-table-3.21.0.tgz} peerDependencies: antd: ^4.24.15 || ^5.11.2 @@ -868,17 +865,17 @@ packages: dependencies: '@ant-design/cssinjs': 1.24.0(react-dom@18.3.1)(react@18.3.1) '@ant-design/icons': 5.6.1(react-dom@18.3.1)(react@18.3.1) - '@ant-design/pro-card': 2.10.0(antd@5.27.1)(react-dom@18.3.1)(react@18.3.1) - '@ant-design/pro-field': 3.1.0(antd@5.27.1)(react-dom@18.3.1)(react@18.3.1) - '@ant-design/pro-form': 2.32.0(antd@5.27.1)(rc-field-form@2.7.0)(react-dom@18.3.1)(react@18.3.1) - '@ant-design/pro-provider': 2.16.2(antd@5.27.1)(react-dom@18.3.1)(react@18.3.1) - '@ant-design/pro-utils': 2.18.0(antd@5.27.1)(react-dom@18.3.1)(react@18.3.1) + '@ant-design/pro-card': 2.10.0(antd@5.25.4)(react-dom@18.3.1)(react@18.3.1) + '@ant-design/pro-field': 3.1.0(antd@5.25.4)(react-dom@18.3.1)(react@18.3.1) + '@ant-design/pro-form': 2.32.0(antd@5.25.4)(rc-field-form@2.7.0)(react-dom@18.3.1)(react@18.3.1) + '@ant-design/pro-provider': 2.16.2(antd@5.25.4)(react-dom@18.3.1)(react@18.3.1) + '@ant-design/pro-utils': 2.18.0(antd@5.25.4)(react-dom@18.3.1)(react@18.3.1) '@babel/runtime': 7.28.3 '@dnd-kit/core': 6.3.1(react-dom@18.3.1)(react@18.3.1) '@dnd-kit/modifiers': 6.0.1(@dnd-kit/core@6.3.1)(react@18.3.1) '@dnd-kit/sortable': 7.0.2(@dnd-kit/core@6.3.1)(react@18.3.1) '@dnd-kit/utilities': 3.2.2(react@18.3.1) - antd: 5.27.1(react-dom@18.3.1)(react@18.3.1) + antd: 5.25.4(react-dom@18.3.1)(react@18.3.1) classnames: 2.5.1 dayjs: 1.11.15 lodash: 4.17.21 @@ -911,7 +908,7 @@ packages: swr: 2.3.6(react@18.3.1) dev: false - /@ant-design/pro-utils@2.18.0(antd@5.27.1)(react-dom@18.3.1)(react@18.3.1): + /@ant-design/pro-utils@2.18.0(antd@5.25.4)(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-8+ikyrN8L8a8Ph4oeHTOJEiranTj18+9+WHCHjKNdEfukI7Rjn8xpYdLJWb2AUJkb9d4eoAqjd5+k+7w81Df0w==, tarball: https://registry.npmjs.org/@ant-design/pro-utils/-/pro-utils-2.18.0.tgz} peerDependencies: antd: ^4.24.15 || ^5.11.2 @@ -919,9 +916,9 @@ packages: react-dom: '>=17.0.0' dependencies: '@ant-design/icons': 5.6.1(react-dom@18.3.1)(react@18.3.1) - '@ant-design/pro-provider': 2.16.2(antd@5.27.1)(react-dom@18.3.1)(react@18.3.1) + '@ant-design/pro-provider': 2.16.2(antd@5.25.4)(react-dom@18.3.1)(react@18.3.1) '@babel/runtime': 7.28.3 - antd: 5.27.1(react-dom@18.3.1)(react@18.3.1) + antd: 5.25.4(react-dom@18.3.1)(react@18.3.1) classnames: 2.5.1 dayjs: 1.11.15 lodash: 4.17.21 @@ -2658,7 +2655,7 @@ packages: peerDependencies: react: '>=16.3.0' dependencies: - '@babel/runtime': 7.23.6 + '@babel/runtime': 7.28.3 hoist-non-react-statics: 3.3.2 react: 18.3.1 react-is: 16.13.1 @@ -3491,7 +3488,7 @@ packages: resolution: {integrity: sha512-hy8b7Y1J8OGe6LbAjj3xniQrj3v6lsivCcrmf4TzSgPzLkhIeKgc5IZnT7ReIqmEuodjfO8EYAuoFvIrHi/+jQ==, tarball: https://registry.npmjs.org/@types/history/-/history-5.0.0.tgz} deprecated: This is a stub types definition. history provides its own type definitions, so you do not need this installed. dependencies: - history: 4.10.1 + history: 5.3.0 /@types/hoist-non-react-statics@3.3.7(@types/react@18.3.24): resolution: {integrity: sha512-PQTyIulDkIDro8P+IHbKCsw7U2xxBYflVzW/FgWdCAePD9xGSidgA76/GeJ6lBKoblyhf9pBY763gbrN+1dI8g==, tarball: https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.7.tgz} @@ -3552,13 +3549,6 @@ packages: resolution: {integrity: sha512-H3MHACvFUEiujabxhaI/ImO6gUrd8oOurg7LQtS7mbwIXA/cUqWrvBsaeJ23aZEPk1TAYkurjfMbSELfoCXlGA==, tarball: https://registry.npmjs.org/@types/lodash/-/lodash-4.17.20.tgz} dev: false - /@types/marked@6.0.0: - resolution: {integrity: sha512-jmjpa4BwUsmhxcfsgUit/7A9KbrC48Q0q8KvnY107ogcjGgTFDlIL3RpihNpx2Mu1hM4mdFQjoVc4O6JoGKHsA==, tarball: https://registry.npmjs.org/@types/marked/-/marked-6.0.0.tgz} - deprecated: This is a stub types definition. marked provides its own type definitions, so you do not need this installed. - dependencies: - marked: 14.1.4 - dev: true - /@types/mdast@4.0.4: resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==, tarball: https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz} dependencies: @@ -3618,7 +3608,7 @@ packages: '@types/history': 4.7.11 '@types/react': 18.3.24 '@types/react-router': 5.1.20 - redux: 3.7.2 + redux: 4.2.1 /@types/react-router@5.1.20: resolution: {integrity: sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==, tarball: https://registry.npmjs.org/@types/react-router/-/react-router-5.1.20.tgz} @@ -3698,7 +3688,7 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 5.62.0(eslint@8.35.0)(typescript@5.9.2) + '@typescript-eslint/parser': 5.62.0(eslint@8.57.1)(typescript@5.9.2) '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/type-utils': 5.62.0(eslint@8.35.0)(typescript@5.9.2) '@typescript-eslint/utils': 5.62.0(eslint@8.35.0)(typescript@5.9.2) @@ -3742,26 +3732,6 @@ packages: - supports-color dev: false - /@typescript-eslint/parser@5.62.0(eslint@8.35.0)(typescript@5.9.2): - resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==, tarball: https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.9.2) - debug: 4.4.1 - eslint: 8.35.0 - typescript: 5.9.2 - transitivePeerDependencies: - - supports-color - dev: false - /@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.9.2): resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==, tarball: https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -4165,7 +4135,7 @@ packages: /@umijs/history@5.3.1: resolution: {integrity: sha512-/e0cEGrR2bIWQD7pRl3dl9dcyRGeC9hoW0OCvUTT/hjY0EfUrkd6G8ZanVghPMpDuY5usxq9GVcvrT8KNXLWvA==, tarball: https://registry.npmjs.org/@umijs/history/-/history-5.3.1.tgz} dependencies: - '@babel/runtime': 7.23.6 + '@babel/runtime': 7.28.3 query-string: 6.14.1 dev: false @@ -4176,7 +4146,7 @@ packages: '@babel/eslint-parser': 7.23.3(@babel/core@7.23.6)(eslint@8.35.0) '@stylelint/postcss-css-in-js': 0.38.0(postcss-syntax@0.36.2)(postcss@8.5.6) '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.35.0)(typescript@5.9.2) - '@typescript-eslint/parser': 5.62.0(eslint@8.35.0)(typescript@5.9.2) + '@typescript-eslint/parser': 5.62.0(eslint@8.57.1)(typescript@5.9.2) '@umijs/babel-preset-umi': 4.4.12 eslint-plugin-jest: 27.2.3(@typescript-eslint/eslint-plugin@5.62.0)(eslint@8.35.0)(typescript@5.9.2) eslint-plugin-react: 7.33.2(eslint@8.35.0) @@ -4449,7 +4419,7 @@ packages: tsx: 3.12.2 dev: false - /@umijs/plugins@4.4.11(@babel/core@7.28.3)(@types/react-dom@18.3.7)(@types/react@18.3.24)(antd@5.27.1)(dva@2.5.0-beta.2)(rc-field-form@2.7.0)(react-dom@18.3.1)(react@18.3.1): + /@umijs/plugins@4.4.11(@babel/core@7.28.3)(@types/react-dom@18.3.7)(@types/react@18.3.24)(antd@5.25.4)(dva@2.5.0-beta.2)(rc-field-form@2.7.0)(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-5I3cuCSr5yW+uDlBVwwghOcOj9Q+Gqy0X3mWzKCoPfKWtxDK5q4CxoR1OfiBzRJ+asS+/CPHg4CVDJA+cmxSTA==, tarball: https://registry.npmjs.org/@umijs/plugins/-/plugins-4.4.11.tgz} dependencies: '@ahooksjs/use-request': 2.8.15(react@18.3.1) @@ -4457,7 +4427,7 @@ packages: '@ant-design/cssinjs': 1.24.0(react-dom@18.3.1)(react@18.3.1) '@ant-design/icons': 4.8.3(react-dom@18.3.1)(react@18.3.1) '@ant-design/moment-webpack-plugin': 0.0.3 - '@ant-design/pro-components': 2.8.10(antd@5.27.1)(rc-field-form@2.7.0)(react-dom@18.3.1)(react@18.3.1) + '@ant-design/pro-components': 2.8.10(antd@5.25.4)(rc-field-form@2.7.0)(react-dom@18.3.1)(react@18.3.1) '@tanstack/react-query': 4.40.1(react-dom@18.3.1)(react@18.3.1) '@tanstack/react-query-devtools': 4.40.1(@tanstack/react-query@4.40.1)(react-dom@18.3.1)(react@18.3.1) '@umijs/bundler-utils': 4.4.11 @@ -4543,7 +4513,7 @@ packages: - supports-color dev: false - /@umijs/plugins@4.4.12(@babel/core@7.28.3)(@types/react-dom@18.3.7)(@types/react@18.3.24)(antd@5.27.1)(dva@2.5.0-beta.2)(rc-field-form@2.7.0)(react-dom@18.3.1)(react@18.3.1): + /@umijs/plugins@4.4.12(@babel/core@7.28.3)(@types/react-dom@18.3.7)(@types/react@18.3.24)(antd@5.25.4)(dva@2.5.0-beta.2)(rc-field-form@2.7.0)(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-OWvttY1KAVa2LOuak30l5vT0Vf0/kpBu7595h9ftTFcHEUUIu+69DSZXiSZ72VeQOMYaB3vri4RO1iMp8EyHww==, tarball: https://registry.npmjs.org/@umijs/plugins/-/plugins-4.4.12.tgz} dependencies: '@ahooksjs/use-request': 2.8.15(react@18.3.1) @@ -4551,7 +4521,7 @@ packages: '@ant-design/cssinjs': 1.24.0(react-dom@18.3.1)(react@18.3.1) '@ant-design/icons': 4.8.3(react-dom@18.3.1)(react@18.3.1) '@ant-design/moment-webpack-plugin': 0.0.3 - '@ant-design/pro-components': 2.8.10(antd@5.27.1)(rc-field-form@2.7.0)(react-dom@18.3.1)(react@18.3.1) + '@ant-design/pro-components': 2.8.10(antd@5.25.4)(rc-field-form@2.7.0)(react-dom@18.3.1)(react@18.3.1) '@tanstack/react-query': 4.40.1(react-dom@18.3.1)(react@18.3.1) '@tanstack/react-query-devtools': 4.40.1(@tanstack/react-query@4.40.1)(react-dom@18.3.1)(react@18.3.1) '@umijs/bundler-utils': 4.4.12 @@ -5124,7 +5094,7 @@ packages: resolution: {integrity: sha512-iquIc7EsQTndk5nMv9pQQv+/OY5YnjVIPhtCFo7W7JL+Gjqzq/YJ/HO2WxUxyCgYha2NsTTNAb2vPa/M4zAi2g==, tarball: https://registry.npmjs.org/antd-mobile-icons/-/antd-mobile-icons-0.2.2.tgz} dev: false - /antd-style@3.7.1(@types/react@18.3.24)(antd@5.27.1)(react-dom@18.3.1)(react@18.3.1): + /antd-style@3.7.1(@types/react@18.3.24)(antd@5.25.4)(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-CQOfddVp4aOvBfCepa+Kj2e7ap+2XBINg1Kn2osdE3oQvrD7KJu/K0sfnLcFLkgCJygbxmuazYdWLKb+drPDYA==, tarball: https://registry.npmjs.org/antd-style/-/antd-style-3.7.1.tgz} peerDependencies: antd: '>=5.8.1' @@ -5137,7 +5107,7 @@ packages: '@emotion/react': 11.14.0(@types/react@18.3.24)(react@18.3.1) '@emotion/serialize': 1.3.3 '@emotion/utils': 1.4.2 - antd: 5.27.1(react-dom@18.3.1)(react@18.3.1) + antd: 5.25.4(react-dom@18.3.1)(react@18.3.1) react: 18.3.1 use-merge-value: 1.2.0(react@18.3.1) transitivePeerDependencies: @@ -5199,8 +5169,8 @@ packages: scroll-into-view-if-needed: 2.2.31 dev: false - /antd@5.27.1(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-jGMSdBN7hAMvPV27B4RhzZfL6n6yu8yDbo7oXrlJasaOqB7bSDPcjdEy1kXy3JPsny/Qazb1ykzRI4EfcByAPQ==, tarball: https://registry.npmjs.org/antd/-/antd-5.27.1.tgz} + /antd@5.25.4(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-yXdWqq1NJSZnD1HoPZWnWuQJGVYYnB3h0Ufsz4sbt3T0N9SdJ4G9GPpLMk8Gn9zWtwBekfR4THPVZ9uzAyhBHQ==, tarball: https://registry.npmjs.org/antd/-/antd-5.25.4.tgz} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' @@ -5244,8 +5214,8 @@ packages: rc-slider: 11.1.8(react-dom@18.3.1)(react@18.3.1) rc-steps: 6.0.1(react-dom@18.3.1)(react@18.3.1) rc-switch: 4.1.0(react-dom@18.3.1)(react@18.3.1) - rc-table: 7.51.1(react-dom@18.3.1)(react@18.3.1) - rc-tabs: 15.7.0(react-dom@18.3.1)(react@18.3.1) + rc-table: 7.50.5(react-dom@18.3.1)(react@18.3.1) + rc-tabs: 15.6.1(react-dom@18.3.1)(react@18.3.1) rc-textarea: 1.10.2(react-dom@18.3.1)(react@18.3.1) rc-tooltip: 6.4.0(react-dom@18.3.1)(react@18.3.1) rc-tree: 5.13.1(react-dom@18.3.1)(react@18.3.1) @@ -8499,7 +8469,6 @@ packages: resolution: {integrity: sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==, tarball: https://registry.npmjs.org/history/-/history-5.3.0.tgz} dependencies: '@babel/runtime': 7.28.3 - dev: false /hmac-drbg@1.0.1: resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==, tarball: https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz} @@ -9796,6 +9765,7 @@ packages: resolution: {integrity: sha512-vkVZ8ONmUdPnjCKc5uTRvmkRbx4EAi2OkTOXmfTDhZz3OFqMNBM1oTTWwTr4HY4uAEojhzPf+Fy8F1DWa3Sndg==, tarball: https://registry.npmjs.org/marked/-/marked-14.1.4.tgz} engines: {node: '>= 18'} hasBin: true + dev: false /marks-pane@1.0.9: resolution: {integrity: sha512-Ahs4oeG90tbdPWwAJkAAoHg2lRR8lAs9mZXETNPO9hYg3AkjUJBKi1NQ4aaIQZVGrig7c/3NUV1jANl8rFTeMg==, tarball: https://registry.npmjs.org/marks-pane/-/marks-pane-1.0.9.tgz} @@ -12793,8 +12763,8 @@ packages: shallowequal: 1.1.0 dev: false - /rc-table@7.51.1(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-5iq15mTHhvC42TlBLRCoCBLoCmGlbRZAlyF21FonFnS/DIC8DeRqnmdyVREwt2CFbPceM0zSNdEeVfiGaqYsKw==, tarball: https://registry.npmjs.org/rc-table/-/rc-table-7.51.1.tgz} + /rc-table@7.50.5(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-FDZu8aolhSYd3v9KOc3lZOVAU77wmRRu44R0Wfb8Oj1dXRUsloFaXMSl6f7yuWZUxArJTli7k8TEOX2mvhDl4A==, tarball: https://registry.npmjs.org/rc-table/-/rc-table-7.50.5.tgz} engines: {node: '>=8.x'} peerDependencies: react: '>=16.9.0' @@ -12827,8 +12797,8 @@ packages: react-dom: 18.3.1(react@18.3.1) dev: false - /rc-tabs@15.7.0(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-ZepiE+6fmozYdWf/9gVp7k56PKHB1YYoDsKeQA1CBlJ/POIhjkcYiv0AGP0w2Jhzftd3AVvZP/K+V+Lpi2ankA==, tarball: https://registry.npmjs.org/rc-tabs/-/rc-tabs-15.7.0.tgz} + /rc-tabs@15.6.1(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-/HzDV1VqOsUWyuC0c6AkxVYFjvx9+rFPKZ32ejxX0Uc7QCzcEjTA9/xMgv4HemPKwzBNX8KhGVbbumDjnj92aA==, tarball: https://registry.npmjs.org/rc-tabs/-/rc-tabs-15.6.1.tgz} engines: {node: '>=8.x'} peerDependencies: react: '>=16.9.0' @@ -13093,7 +13063,7 @@ packages: react: ^16.6.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.6.0 || ^17.0.0 || ^18.0.0 dependencies: - '@babel/runtime': 7.23.6 + '@babel/runtime': 7.28.3 invariant: 2.2.4 prop-types: 15.8.1 react: 18.3.1 @@ -15155,12 +15125,12 @@ packages: hasBin: true dev: false - /umi-presets-pro@2.0.3(@babel/core@7.28.3)(@types/react-dom@18.3.7)(@types/react@18.3.24)(antd@5.27.1)(dva@2.5.0-beta.2)(rc-field-form@2.7.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.9.2)(umi@4.4.12): + /umi-presets-pro@2.0.3(@babel/core@7.28.3)(@types/react-dom@18.3.7)(@types/react@18.3.24)(antd@5.25.4)(dva@2.5.0-beta.2)(rc-field-form@2.7.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.9.2)(umi@4.4.12): resolution: {integrity: sha512-sHKynw/fi7UeUftzTRPRsrV5GHV4BWvWYhyvwkg8s+shmt0ROPW/52y4gxBziEvetxl8yWMKUCWk50OUDOcrww==, tarball: https://registry.npmjs.org/umi-presets-pro/-/umi-presets-pro-2.0.3.tgz} dependencies: - '@alita/plugins': 3.5.5(@babel/core@7.28.3)(@types/react-dom@18.3.7)(@types/react@18.3.24)(antd@5.27.1)(dva@2.5.0-beta.2)(rc-field-form@2.7.0)(react-dom@18.3.1)(react@18.3.1) + '@alita/plugins': 3.5.5(@babel/core@7.28.3)(@types/react-dom@18.3.7)(@types/react@18.3.24)(antd@5.25.4)(dva@2.5.0-beta.2)(rc-field-form@2.7.0)(react-dom@18.3.1)(react@18.3.1) '@umijs/max-plugin-openapi': 2.0.3(typescript@5.9.2) - '@umijs/plugins': 4.4.12(@babel/core@7.28.3)(@types/react-dom@18.3.7)(@types/react@18.3.24)(antd@5.27.1)(dva@2.5.0-beta.2)(rc-field-form@2.7.0)(react-dom@18.3.1)(react@18.3.1) + '@umijs/plugins': 4.4.12(@babel/core@7.28.3)(@types/react-dom@18.3.7)(@types/react@18.3.24)(antd@5.25.4)(dva@2.5.0-beta.2)(rc-field-form@2.7.0)(react-dom@18.3.1)(react@18.3.1) '@umijs/request-record': 1.1.4(umi@4.4.12) swagger-ui-dist: 4.19.1 transitivePeerDependencies: diff --git a/src/components/echarts/line-chart.tsx b/src/components/echarts/line-chart.tsx index efe68816..ac514288 100644 --- a/src/components/echarts/line-chart.tsx +++ b/src/components/echarts/line-chart.tsx @@ -23,7 +23,7 @@ const LineChart: React.FC = (props) => { legendOptions, gridOptions, titleOptions, - showArea = 0.25 + showArea } = props; const { grid, diff --git a/src/components/icon-font/icons.ts b/src/components/icon-font/icons.ts index 3d3e9a18..9839fa64 100644 --- a/src/components/icon-font/icons.ts +++ b/src/components/icon-font/icons.ts @@ -2,6 +2,7 @@ import IconFont from '@/components/icon-font'; import { ApiOutlined, DeleteOutlined, + DockerOutlined, DownloadOutlined, EditOutlined, ExperimentOutlined, @@ -24,6 +25,7 @@ const icons = { ApiOutlined: React.createElement(ApiOutlined), KubernetesOutlined: React.createElement(KubernetesOutlined), ProfileOutlined: React.createElement(ProfileOutlined), + DockerOutlined: React.createElement(DockerOutlined), Stop: React.createElement(IconFont, { type: 'icon-stop1' }), Play: React.createElement(IconFont, { type: 'icon-outline-play' }), Catalog: React.createElement(IconFont, { type: 'icon-catalog' }), @@ -41,7 +43,8 @@ const icons = { TencentCloud: React.createElement(IconFont, { type: 'icon-tencentcloud' }), Nvidia: React.createElement(IconFont, { type: 'icon-nvidia' }), Ascend: React.createElement(IconFont, { type: 'icon-ascend' }), - AMD: React.createElement(IconFont, { type: 'icon-amd' }) + AMD: React.createElement(IconFont, { type: 'icon-amd' }), + KubernetesFilled: React.createElement(IconFont, { type: 'icon-k8s-filled' }) }; export default icons; diff --git a/src/components/scroller-modal/index.tsx b/src/components/scroller-modal/index.tsx index 336133e7..0ab15b98 100644 --- a/src/components/scroller-modal/index.tsx +++ b/src/components/scroller-modal/index.tsx @@ -55,7 +55,8 @@ const ScrollerModal = (props: ModalProps & { maxContentHeight?: number }) => { paddingBottom: '0' }, body: { - padding: '0' + padding: '0', + paddingBlockEnd: props.footer ? '0' : '24px' }, footer: props.footer ? { @@ -71,7 +72,7 @@ const ScrollerModal = (props: ModalProps & { maxContentHeight?: number }) => { className="overlay-scroller-wrapper" $maxHeight={props.maxContentHeight || 500} hidden={false} - style={{ paddingInline: 24, paddingBlockEnd: props.footer ? 0 : 24 }} + style={{ paddingInline: 24, paddingBlockEnd: 0 }} > {props.children} diff --git a/src/components/status-tag/index.tsx b/src/components/status-tag/index.tsx index 7d3a662c..a3cef232 100644 --- a/src/components/status-tag/index.tsx +++ b/src/components/status-tag/index.tsx @@ -5,11 +5,18 @@ import { Button, Divider, Tooltip } from 'antd'; import classNames from 'classnames'; import React, { useMemo } from 'react'; import 'simplebar-react/dist/simplebar.min.css'; +import styled from 'styled-components'; import CopyButton from '../copy-button'; import { TooltipOverlayScroller } from '../overlay-scroller'; import CopyStyle from './copy-btn.less'; import './index.less'; +const Text = styled.span` + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +`; + const linkReg = /(.*?)<\/a>/g; export const StatusMaps = { transitioning: 'blue', @@ -89,7 +96,7 @@ const StatusTag: React.FC = ({ ); } - return {text}; + return {text}; }; const renderTitle = useMemo(() => { diff --git a/src/locales/en-US/vendor.ts b/src/locales/en-US/vendor.ts new file mode 100644 index 00000000..a1eede4c --- /dev/null +++ b/src/locales/en-US/vendor.ts @@ -0,0 +1,9 @@ +export default { + 'vendor.nividia': 'NVIDIA', + 'vendor.ascend': 'Ascend', + 'vendor.hygon': 'Hygon', + 'vendor.moorthreads': 'Moore Threads', + 'vendor.iluvatar': 'Iluvatar', + 'vendor.metax': 'Metax', + 'vendor.cambricon': 'Cambricon' +}; diff --git a/src/locales/ja-JP/vendor.ts b/src/locales/ja-JP/vendor.ts new file mode 100644 index 00000000..a1eede4c --- /dev/null +++ b/src/locales/ja-JP/vendor.ts @@ -0,0 +1,9 @@ +export default { + 'vendor.nividia': 'NVIDIA', + 'vendor.ascend': 'Ascend', + 'vendor.hygon': 'Hygon', + 'vendor.moorthreads': 'Moore Threads', + 'vendor.iluvatar': 'Iluvatar', + 'vendor.metax': 'Metax', + 'vendor.cambricon': 'Cambricon' +}; diff --git a/src/locales/ru-RU/vendor.ts b/src/locales/ru-RU/vendor.ts new file mode 100644 index 00000000..a1eede4c --- /dev/null +++ b/src/locales/ru-RU/vendor.ts @@ -0,0 +1,9 @@ +export default { + 'vendor.nividia': 'NVIDIA', + 'vendor.ascend': 'Ascend', + 'vendor.hygon': 'Hygon', + 'vendor.moorthreads': 'Moore Threads', + 'vendor.iluvatar': 'Iluvatar', + 'vendor.metax': 'Metax', + 'vendor.cambricon': 'Cambricon' +}; diff --git a/src/locales/zh-CN/vendor.ts b/src/locales/zh-CN/vendor.ts new file mode 100644 index 00000000..57760bd9 --- /dev/null +++ b/src/locales/zh-CN/vendor.ts @@ -0,0 +1,9 @@ +export default { + 'vendor.nividia': '英伟达', + 'vendor.ascend': '昇腾', + 'vendor.hygon': '海光', + 'vendor.moorthreads': '摩尔线程', + 'vendor.iluvatar': '天数智芯', + 'vendor.metax': '沐曦', + 'vendor.cambricon': '寒武纪' +}; diff --git a/src/pages/cluster-management/cluster-create.tsx b/src/pages/cluster-management/cluster-create.tsx index 5163b1a6..0ecb5ce2 100644 --- a/src/pages/cluster-management/cluster-create.tsx +++ b/src/pages/cluster-management/cluster-create.tsx @@ -79,7 +79,7 @@ const ClusterCreate = () => { cluster_id: 0 }); const [extraData, setExtraData] = useState({ - provider: ProviderValueMap.Custom + provider: ProviderValueMap.Docker } as ClusterFormData); const [formValues, setFormValues] = useState>({}); diff --git a/src/pages/cluster-management/clusters.tsx b/src/pages/cluster-management/clusters.tsx index 2dba501d..4b6942cd 100644 --- a/src/pages/cluster-management/clusters.tsx +++ b/src/pages/cluster-management/clusters.tsx @@ -8,7 +8,7 @@ import type { PageActionType } from '@/config/types'; import useExpandedRowKeys from '@/hooks/use-expanded-row-keys'; import useTableFetch from '@/hooks/use-table-fetch'; import useWatchList from '@/hooks/use-watch-list'; -import AddWorker from '@/pages/resources/components/add-worker'; +import AddWorker from '@/pages/cluster-management/components/add-worker'; import { PageContainer } from '@ant-design/pro-components'; import { useIntl, useNavigate, useSearchParams } from '@umijs/max'; import { useMemoizedFn } from 'ahooks'; @@ -90,17 +90,21 @@ const Credentials: React.FC = () => { const [openAddWorker, setOpenAddWorker] = useState<{ open: boolean; + provider: ProviderType; registrationInfo: { token: string; image: string; server_url: string; + cluster_id: number; }; }>({ open: false, + provider: null, registrationInfo: { token: '', image: '', - server_url: '' + server_url: '', + cluster_id: 0 } }); const [openAddModal, setOpenAddModal] = useState<{ @@ -204,7 +208,11 @@ const Credentials: React.FC = () => { const data = await queryClusterToken({ id: row.id }); setOpenAddWorker({ open: true, - registrationInfo: data + provider: row.provider as ProviderType, + registrationInfo: { + ...data, + cluster_id: row.id + } }); } catch (error: any) { message.error(error.message || 'Failed to fetch cluster token'); @@ -384,10 +392,17 @@ const Credentials: React.FC = () => { > setOpenAddWorker({ open: false, - registrationInfo: { token: '', image: '', server_url: '' } + provider: null, + registrationInfo: { + token: '', + image: '', + server_url: '', + cluster_id: 0 + } }) } registrationInfo={openAddWorker.registrationInfo} diff --git a/src/pages/cluster-management/components/add-worker-step.tsx b/src/pages/cluster-management/components/add-worker-step.tsx index c9a85c79..df9f1bc3 100644 --- a/src/pages/cluster-management/components/add-worker-step.tsx +++ b/src/pages/cluster-management/components/add-worker-step.tsx @@ -66,7 +66,7 @@ const AddWorkerStep: React.FC = ({ const [currentProvider, setCurrentProvider] = React.useState('cuda'); const [workerCommand, setWorkerCommand] = React.useState>( { - label: 'NVIDIA CUDA', + label: 'NVIDIA', link: 'https://docs.gpustack.ai/latest/installation/installation-requirements/#nvidia-cuda' } ); @@ -85,7 +85,7 @@ const AddWorkerStep: React.FC = ({ onSelect={handleSelectProvider} currentProvider={currentProvider} /> - {provider === ProviderValueMap.Custom && ( + {provider === ProviderValueMap.Docker && ( void; }; const AddWorker: React.FC = (props) => { - const { open, onCancel, registrationInfo } = props || {}; + const { open, onCancel, registrationInfo, provider } = props || {}; const intl = useIntl(); return ( @@ -27,14 +30,14 @@ const AddWorker: React.FC = (props) => { closeIcon={true} maskClosable={false} keyboard={false} - width={700} + width={860} style={{ top: 100 }} - maxContentHeight={450} + maxContentHeight={600} footer={null} > - + ); }; diff --git a/src/pages/cluster-management/components/cluster-steps.tsx b/src/pages/cluster-management/components/cluster-steps.tsx index 60b93be1..7333a164 100644 --- a/src/pages/cluster-management/components/cluster-steps.tsx +++ b/src/pages/cluster-management/components/cluster-steps.tsx @@ -5,6 +5,8 @@ import styled from 'styled-components'; const { Step } = Steps; const Wrapper = styled.div` + width: min(1200px, 100%); + margin: 0 auto; padding-block: 30px; background-color: var(--ant-color-bg-container); .ant-steps-item-description { diff --git a/src/pages/cluster-management/components/support-hardware.tsx b/src/pages/cluster-management/components/support-hardware.tsx index 6fdea611..89466560 100644 --- a/src/pages/cluster-management/components/support-hardware.tsx +++ b/src/pages/cluster-management/components/support-hardware.tsx @@ -5,7 +5,7 @@ import iluvatarWEBP from '@/assets/logo/Iluvatar.png'; import metaxLogo from '@/assets/logo/metax.png'; import moorePNG from '@/assets/logo/moore _threads.png'; import IconFont from '@/components/icon-font'; -import styled from 'styled-components'; +import { useIntl } from '@umijs/max'; import ProviderCatalog from './provider-catalog'; const ProviderImage = ({ src, showBg }: { src: string; showBg?: boolean }) => { @@ -20,110 +20,6 @@ const ProviderImage = ({ src, showBg }: { src: string; showBg?: boolean }) => { ); }; -const supportedHardPlatforms = [ - { - label: 'NVIDIA CUDA', - value: 'cuda', - description: '', - key: 'cuda', - locale: false, - link: 'https://docs.gpustack.ai/latest/installation/installation-requirements/#nvidia-cuda', - icon: - }, - { - label: 'AMD ROCm', - description: '', - value: 'rocm', - key: 'rocm', - locale: false, - link: 'https://docs.gpustack.ai/latest/installation/installation-requirements/#amd-rocm', - icon: ( - - ) - }, - { - label: 'Ascend CANN', - description: '', - value: 'npu', - key: 'npu', - locale: false, - link: 'https://docs.gpustack.ai/latest/installation/installation-requirements/#ascend-cann', - icon: - }, - { - label: 'Hygon DTK', - description: '', - value: 'dcu', - key: 'dcu', - locale: false, - link: 'https://docs.gpustack.ai/latest/installation/installation-requirements/#hygon-dtk', - icon: - }, - { - label: 'Moore Threads', - description: '', - value: 'musa', - key: 'musa', - locale: false, - link: 'https://docs.gpustack.ai/latest/installation/installation-requirements/#moore-threads-musa', - icon: - }, - { - label: 'Iluvatar Corex', - description: '', - value: 'corex', - key: 'corex', - locale: false, - link: 'https://docs.gpustack.ai/latest/installation/installation-requirements/#iluvatar-corex', - icon: - }, - { - label: 'Cambricon', - value: 'cambricon', - key: 'cambricon', - locale: false, - link: 'https://docs.gpustack.ai/latest/installation/installation-requirements/#cambricon-mlu', - icon: - }, - { - label: 'Metax', - value: 'metax', - key: 'metax', - locale: false, - icon: - } -]; - -const Header = styled.div` - display: flex; - flex-direction: column; - align-items: center; - gap: 8px; - justify-content: center; - align-self: center; -`; - -const renderHeader = (item: any) => { - return ( -
- {item.icon} - {item.label} -
- ); -}; - -const dataList = supportedHardPlatforms.map((item) => { - return { - label: renderHeader(item), - value: item.value, - key: item.key, - locale: item.locale - }; -}); - interface SupportedHardwareProps { onSelect?: (provider: string, item: any) => void; currentProvider?: string; @@ -133,6 +29,84 @@ const SupportedHardware: React.FC = ({ onSelect, currentProvider }) => { + const intl = useIntl(); + + const supportedHardPlatforms = [ + { + label: intl.formatMessage({ id: 'vendor.nividia' }), + value: 'cuda', + description: '', + key: 'cuda', + locale: false, + link: 'https://docs.gpustack.ai/latest/installation/installation-requirements/#nvidia-cuda', + icon: + }, + { + label: 'AMD', + description: '', + value: 'rocm', + key: 'rocm', + locale: false, + link: 'https://docs.gpustack.ai/latest/installation/installation-requirements/#amd-rocm', + icon: ( + + ) + }, + { + label: intl.formatMessage({ id: 'vendor.ascend' }), + description: '', + value: 'npu', + key: 'npu', + locale: false, + link: 'https://docs.gpustack.ai/latest/installation/installation-requirements/#ascend-cann', + icon: + }, + { + label: intl.formatMessage({ id: 'vendor.hygon' }), + description: '', + value: 'dcu', + key: 'dcu', + locale: false, + link: 'https://docs.gpustack.ai/latest/installation/installation-requirements/#hygon-dtk', + icon: + }, + { + label: intl.formatMessage({ id: 'vendor.moorthreads' }), + description: '', + value: 'musa', + key: 'musa', + locale: false, + link: 'https://docs.gpustack.ai/latest/installation/installation-requirements/#moore-threads-musa', + icon: + }, + { + label: intl.formatMessage({ id: 'vendor.iluvatar' }), + description: '', + value: 'corex', + key: 'corex', + locale: false, + link: 'https://docs.gpustack.ai/latest/installation/installation-requirements/#iluvatar-corex', + icon: + }, + { + label: intl.formatMessage({ id: 'vendor.cambricon' }), + value: 'cambricon', + key: 'cambricon', + locale: false, + link: 'https://docs.gpustack.ai/latest/installation/installation-requirements/#cambricon-mlu', + icon: + }, + { + label: intl.formatMessage({ id: 'vendor.metax' }), + value: 'metax', + key: 'metax', + locale: false, + icon: + } + ]; return ( = { export const ProviderValueMap = { Kubernetes: 'Kubernetes', DigitalOcean: 'DigitalOcean', - Custom: 'Custom', + Docker: 'Docker', HuaweiCloud: 'HuaweiCloud', AliCloud: 'AliCloud', TencentCloud: 'TencentCloud' @@ -35,7 +35,7 @@ export type ProviderType = keyof typeof ProviderValueMap | null | undefined; export const ProviderLabelMap = { [ProviderValueMap.Kubernetes]: 'Kubernetes', [ProviderValueMap.DigitalOcean]: 'DigitalOcean', - [ProviderValueMap.Custom]: 'Custom' + [ProviderValueMap.Docker]: 'Docker' }; export const generateRegisterCommand = (params: { @@ -72,8 +72,8 @@ export const providerList = [ { label: 'clusters.provider.custom', locale: true, - value: ProviderValueMap.Custom, - key: ProviderValueMap.Custom, + value: ProviderValueMap.Docker, + key: ProviderValueMap.Docker, icon: React.cloneElement(icons.Docker, { style: { color: 'var(--ant-color-primary)' } }), @@ -158,7 +158,7 @@ export const clusterActionList = [ { key: 'add_worker', label: 'resources.button.create', - provider: ProviderValueMap.Custom, + provider: ProviderValueMap.Docker, locale: true, icon: icons.Docker }, diff --git a/src/pages/cluster-management/config/providers.ts b/src/pages/cluster-management/config/providers.ts index 3d28c36c..a5e6de34 100644 --- a/src/pages/cluster-management/config/providers.ts +++ b/src/pages/cluster-management/config/providers.ts @@ -4,11 +4,11 @@ import { ProviderValueMap } from '.'; export default [ { - label: 'clusters.provider.custom', - locale: true, - value: ProviderValueMap.Custom, - key: ProviderValueMap.Custom, - icon: React.cloneElement(icons.Docker, { + label: 'Docker', + locale: false, + value: ProviderValueMap.Docker, + key: ProviderValueMap.Docker, + icon: React.cloneElement(icons.DockerOutlined, { style: { color: 'var(--ant-color-primary)' } }), group: 'clusters.create.provider.self' @@ -18,7 +18,7 @@ export default [ locale: false, value: ProviderValueMap.Kubernetes, key: ProviderValueMap.Kubernetes, - icon: React.cloneElement(icons.KubernetesOutlined, { + icon: React.cloneElement(icons.KubernetesFilled, { style: { color: 'var(--ant-color-primary)' } }), group: 'clusters.create.provider.self' diff --git a/src/pages/cluster-management/step-forms/use-step-list.tsx b/src/pages/cluster-management/step-forms/use-step-list.tsx index 6eed2fd2..fea986d7 100644 --- a/src/pages/cluster-management/step-forms/use-step-list.tsx +++ b/src/pages/cluster-management/step-forms/use-step-list.tsx @@ -77,7 +77,7 @@ export default function useStepList() { defaultShow: false, showForms: [], showModules: [moduleMap.AddWorkerStep], - providers: [ProviderValueMap.Custom] + providers: [ProviderValueMap.Docker] }, { title: intl.formatMessage({ id: 'clusters.button.register' }), diff --git a/src/pages/dashboard/components/over-view.tsx b/src/pages/dashboard/components/over-view.tsx index c4d60cd2..d3b3a8db 100644 --- a/src/pages/dashboard/components/over-view.tsx +++ b/src/pages/dashboard/components/over-view.tsx @@ -15,7 +15,7 @@ const renderCardItem = (data: { const { label, value, bgColor } = data; return ( diff --git a/src/pages/llmodels/hooks/use-form-initial-values.ts b/src/pages/llmodels/hooks/use-form-initial-values.ts index e30565ec..8ef4e3ac 100644 --- a/src/pages/llmodels/hooks/use-form-initial-values.ts +++ b/src/pages/llmodels/hooks/use-form-initial-values.ts @@ -173,7 +173,7 @@ export const useGenerateWorkerOptions = () => { clusterList.map((item) => ({ label: item.name, value: item.id, - provider: item.provider, + provider: item.provider as string, state: item.state })) ); @@ -202,7 +202,7 @@ export default function useFormInitialValues() { const list = response.items.map((item) => ({ label: item.name, value: item.id, - provider: item.provider, + provider: item.provider as string, state: item.state })); setClusterList(list);