diff --git a/.github/workflows/fastgpt-image.yml b/.github/workflows/fastgpt-image.yml
index 85e8d42a7..09a4c2a5a 100644
--- a/.github/workflows/fastgpt-image.yml
+++ b/.github/workflows/fastgpt-image.yml
@@ -1,9 +1,10 @@
-name: Build fastgpt images and copy image to docker hub
+name: Build FastGPT images and copy image to docker hub
on:
workflow_dispatch:
push:
paths:
- 'projects/app/**'
+ - 'packages/**'
branches:
- 'main'
tags:
@@ -54,7 +55,7 @@ jobs:
--platform linux/amd64,linux/arm64 \
--label "org.opencontainers.image.source= https://github.com/ ${{ github.repository_owner }}/FastGPT" \
--label "org.opencontainers.image.description=fastgpt image" \
- --label "org.opencontainers.image.licenses=MIT" \
+ --label "org.opencontainers.image.licenses=Apache" \
--push \
--cache-from=type=local,src=/tmp/.buildx-cache \
--cache-to=type=local,dest=/tmp/.buildx-cache \
diff --git a/.github/workflows/preview-image.yml b/.github/workflows/preview-image.yml
new file mode 100644
index 000000000..43d21f07d
--- /dev/null
+++ b/.github/workflows/preview-image.yml
@@ -0,0 +1,50 @@
+name: Preview FastGPT images
+on:
+ pull_request_target:
+ paths:
+ - 'projects/app/**'
+ - 'packages/**'
+ branches:
+ - 'main'
+ workflow_dispatch:
+
+jobs:
+ build-fastgpt-images:
+ runs-on: ubuntu-20.04
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v3
+ with:
+ fetch-depth: 1
+ - name: Set up Docker Buildx
+ uses: docker/setup-buildx-action@v1
+ - name: Cache Docker layers
+ uses: actions/cache@v2
+ with:
+ path: /tmp/.buildx-cache
+ key: ${{ runner.os }}-buildx-${{ github.sha }}
+ restore-keys: |
+ ${{ runner.os }}-buildx-
+ - name: Login to GitHub Container Registry
+ uses: docker/login-action@v2
+ with:
+ registry: ghcr.io
+ username: ${{ github.repository_owner }}
+ password: ${{ secrets.GH_PAT }}
+ - name: Set DOCKER_REPO_TAGGED based on branch or tag
+ run: |
+ echo "DOCKER_REPO_TAGGED=ghcr.io/${{ github.repository_owner }}/fastgpt-pr:${{ github.event.pull_request.number }}" >> $GITHUB_ENV
+ - name: Build and publish image for PR
+ env:
+ DOCKER_REPO_TAGGED: ${{ env.DOCKER_REPO_TAGGED }}
+ run: |
+ docker buildx build \
+ --build-arg name=app \
+ --label "org.opencontainers.image.source= https://github.com/ ${{ github.repository_owner }}/FastGPT" \
+ --label "org.opencontainers.image.description=fastgpt-pr image" \
+ --label "org.opencontainers.image.licenses=Apache" \
+ --cache-from=type=local,src=/tmp/.buildx-cache \
+ --cache-to=type=local,dest=/tmp/.buildx-cache \
+ -t ${DOCKER_REPO_TAGGED} \
+ -f Dockerfile \
+ .
diff --git a/.vscode/settings.json b/.vscode/settings.json
index eaf1fd95f..141c85306 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -2,7 +2,7 @@
"editor.formatOnSave": true,
"editor.mouseWheelZoom": true,
"typescript.tsdk": "node_modules/typescript/lib",
- "prettier.prettierPath": "./node_modules/prettier",
+ "editor.defaultFormatter": "esbenp.prettier-vscode",
"i18n-ally.localesPaths": [
"projects/app/public/locales"
],
diff --git a/package.json b/package.json
index 685d058cc..fde306c31 100644
--- a/package.json
+++ b/package.json
@@ -11,7 +11,7 @@
"i18next": "^23.2.11",
"lint-staged": "^13.2.1",
"next-i18next": "^14.0.0",
- "prettier": "^2.8.7",
+ "prettier": "^3.0.3",
"react-i18next": "^13.0.2"
},
"lint-staged": {
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index a477870b8..36347558a 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -1,4 +1,4 @@
-lockfileVersion: '6.1'
+lockfileVersion: '6.0'
settings:
autoInstallPeers: true
@@ -21,8 +21,8 @@ importers:
specifier: ^14.0.0
version: registry.npmmirror.com/next-i18next@14.0.0(i18next@23.2.11)(next@13.5.2)(react-i18next@13.0.2)(react@18.2.0)
prettier:
- specifier: ^2.8.7
- version: registry.npmmirror.com/prettier@2.8.7
+ specifier: ^3.0.3
+ version: registry.npmmirror.com/prettier@3.0.3
react-i18next:
specifier: ^13.0.2
version: registry.npmmirror.com/react-i18next@13.0.2(i18next@23.2.11)(react-dom@18.2.0)(react@18.2.0)
@@ -307,6 +307,7 @@ packages:
resolution: {integrity: sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@aws-crypto/crc32/-/crc32-3.0.0.tgz}
name: '@aws-crypto/crc32'
version: 3.0.0
+ requiresBuild: true
dependencies:
'@aws-crypto/util': registry.npmmirror.com/@aws-crypto/util@3.0.0
'@aws-sdk/types': registry.npmmirror.com/@aws-sdk/types@3.418.0
@@ -318,6 +319,7 @@ packages:
resolution: {integrity: sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@aws-crypto/ie11-detection/-/ie11-detection-3.0.0.tgz}
name: '@aws-crypto/ie11-detection'
version: 3.0.0
+ requiresBuild: true
dependencies:
tslib: registry.npmmirror.com/tslib@1.14.1
dev: false
@@ -327,6 +329,7 @@ packages:
resolution: {integrity: sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@aws-crypto/sha256-browser/-/sha256-browser-3.0.0.tgz}
name: '@aws-crypto/sha256-browser'
version: 3.0.0
+ requiresBuild: true
dependencies:
'@aws-crypto/ie11-detection': registry.npmmirror.com/@aws-crypto/ie11-detection@3.0.0
'@aws-crypto/sha256-js': registry.npmmirror.com/@aws-crypto/sha256-js@3.0.0
@@ -343,6 +346,7 @@ packages:
resolution: {integrity: sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@aws-crypto/sha256-js/-/sha256-js-3.0.0.tgz}
name: '@aws-crypto/sha256-js'
version: 3.0.0
+ requiresBuild: true
dependencies:
'@aws-crypto/util': registry.npmmirror.com/@aws-crypto/util@3.0.0
'@aws-sdk/types': registry.npmmirror.com/@aws-sdk/types@3.418.0
@@ -354,6 +358,7 @@ packages:
resolution: {integrity: sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@aws-crypto/supports-web-crypto/-/supports-web-crypto-3.0.0.tgz}
name: '@aws-crypto/supports-web-crypto'
version: 3.0.0
+ requiresBuild: true
dependencies:
tslib: registry.npmmirror.com/tslib@1.14.1
dev: false
@@ -363,6 +368,7 @@ packages:
resolution: {integrity: sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@aws-crypto/util/-/util-3.0.0.tgz}
name: '@aws-crypto/util'
version: 3.0.0
+ requiresBuild: true
dependencies:
'@aws-sdk/types': registry.npmmirror.com/@aws-sdk/types@3.418.0
'@aws-sdk/util-utf8-browser': registry.npmmirror.com/@aws-sdk/util-utf8-browser@3.259.0
@@ -375,6 +381,7 @@ packages:
name: '@aws-sdk/client-cognito-identity'
version: 3.418.0
engines: {node: '>=14.0.0'}
+ requiresBuild: true
dependencies:
'@aws-crypto/sha256-browser': registry.npmmirror.com/@aws-crypto/sha256-browser@3.0.0
'@aws-crypto/sha256-js': registry.npmmirror.com/@aws-crypto/sha256-js@3.0.0
@@ -423,6 +430,7 @@ packages:
name: '@aws-sdk/client-sso'
version: 3.418.0
engines: {node: '>=14.0.0'}
+ requiresBuild: true
dependencies:
'@aws-crypto/sha256-browser': registry.npmmirror.com/@aws-crypto/sha256-browser@3.0.0
'@aws-crypto/sha256-js': registry.npmmirror.com/@aws-crypto/sha256-js@3.0.0
@@ -468,6 +476,7 @@ packages:
name: '@aws-sdk/client-sts'
version: 3.418.0
engines: {node: '>=14.0.0'}
+ requiresBuild: true
dependencies:
'@aws-crypto/sha256-browser': registry.npmmirror.com/@aws-crypto/sha256-browser@3.0.0
'@aws-crypto/sha256-js': registry.npmmirror.com/@aws-crypto/sha256-js@3.0.0
@@ -517,6 +526,7 @@ packages:
name: '@aws-sdk/credential-provider-cognito-identity'
version: 3.418.0
engines: {node: '>=14.0.0'}
+ requiresBuild: true
dependencies:
'@aws-sdk/client-cognito-identity': registry.npmmirror.com/@aws-sdk/client-cognito-identity@3.418.0
'@aws-sdk/types': registry.npmmirror.com/@aws-sdk/types@3.418.0
@@ -533,6 +543,7 @@ packages:
name: '@aws-sdk/credential-provider-env'
version: 3.418.0
engines: {node: '>=14.0.0'}
+ requiresBuild: true
dependencies:
'@aws-sdk/types': registry.npmmirror.com/@aws-sdk/types@3.418.0
'@smithy/property-provider': registry.npmmirror.com/@smithy/property-provider@2.0.10
@@ -546,6 +557,7 @@ packages:
name: '@aws-sdk/credential-provider-ini'
version: 3.418.0
engines: {node: '>=14.0.0'}
+ requiresBuild: true
dependencies:
'@aws-sdk/credential-provider-env': registry.npmmirror.com/@aws-sdk/credential-provider-env@3.418.0
'@aws-sdk/credential-provider-process': registry.npmmirror.com/@aws-sdk/credential-provider-process@3.418.0
@@ -567,6 +579,7 @@ packages:
name: '@aws-sdk/credential-provider-node'
version: 3.418.0
engines: {node: '>=14.0.0'}
+ requiresBuild: true
dependencies:
'@aws-sdk/credential-provider-env': registry.npmmirror.com/@aws-sdk/credential-provider-env@3.418.0
'@aws-sdk/credential-provider-ini': registry.npmmirror.com/@aws-sdk/credential-provider-ini@3.418.0
@@ -589,6 +602,7 @@ packages:
name: '@aws-sdk/credential-provider-process'
version: 3.418.0
engines: {node: '>=14.0.0'}
+ requiresBuild: true
dependencies:
'@aws-sdk/types': registry.npmmirror.com/@aws-sdk/types@3.418.0
'@smithy/property-provider': registry.npmmirror.com/@smithy/property-provider@2.0.10
@@ -603,6 +617,7 @@ packages:
name: '@aws-sdk/credential-provider-sso'
version: 3.418.0
engines: {node: '>=14.0.0'}
+ requiresBuild: true
dependencies:
'@aws-sdk/client-sso': registry.npmmirror.com/@aws-sdk/client-sso@3.418.0
'@aws-sdk/token-providers': registry.npmmirror.com/@aws-sdk/token-providers@3.418.0
@@ -621,6 +636,7 @@ packages:
name: '@aws-sdk/credential-provider-web-identity'
version: 3.418.0
engines: {node: '>=14.0.0'}
+ requiresBuild: true
dependencies:
'@aws-sdk/types': registry.npmmirror.com/@aws-sdk/types@3.418.0
'@smithy/property-provider': registry.npmmirror.com/@smithy/property-provider@2.0.10
@@ -661,6 +677,7 @@ packages:
name: '@aws-sdk/middleware-host-header'
version: 3.418.0
engines: {node: '>=14.0.0'}
+ requiresBuild: true
dependencies:
'@aws-sdk/types': registry.npmmirror.com/@aws-sdk/types@3.418.0
'@smithy/protocol-http': registry.npmmirror.com/@smithy/protocol-http@3.0.5
@@ -674,6 +691,7 @@ packages:
name: '@aws-sdk/middleware-logger'
version: 3.418.0
engines: {node: '>=14.0.0'}
+ requiresBuild: true
dependencies:
'@aws-sdk/types': registry.npmmirror.com/@aws-sdk/types@3.418.0
'@smithy/types': registry.npmmirror.com/@smithy/types@2.3.3
@@ -686,6 +704,7 @@ packages:
name: '@aws-sdk/middleware-recursion-detection'
version: 3.418.0
engines: {node: '>=14.0.0'}
+ requiresBuild: true
dependencies:
'@aws-sdk/types': registry.npmmirror.com/@aws-sdk/types@3.418.0
'@smithy/protocol-http': registry.npmmirror.com/@smithy/protocol-http@3.0.5
@@ -699,6 +718,7 @@ packages:
name: '@aws-sdk/middleware-sdk-sts'
version: 3.418.0
engines: {node: '>=14.0.0'}
+ requiresBuild: true
dependencies:
'@aws-sdk/middleware-signing': registry.npmmirror.com/@aws-sdk/middleware-signing@3.418.0
'@aws-sdk/types': registry.npmmirror.com/@aws-sdk/types@3.418.0
@@ -712,6 +732,7 @@ packages:
name: '@aws-sdk/middleware-signing'
version: 3.418.0
engines: {node: '>=14.0.0'}
+ requiresBuild: true
dependencies:
'@aws-sdk/types': registry.npmmirror.com/@aws-sdk/types@3.418.0
'@smithy/property-provider': registry.npmmirror.com/@smithy/property-provider@2.0.10
@@ -728,6 +749,7 @@ packages:
name: '@aws-sdk/middleware-user-agent'
version: 3.418.0
engines: {node: '>=14.0.0'}
+ requiresBuild: true
dependencies:
'@aws-sdk/types': registry.npmmirror.com/@aws-sdk/types@3.418.0
'@aws-sdk/util-endpoints': registry.npmmirror.com/@aws-sdk/util-endpoints@3.418.0
@@ -742,6 +764,7 @@ packages:
name: '@aws-sdk/region-config-resolver'
version: 3.418.0
engines: {node: '>=14.0.0'}
+ requiresBuild: true
dependencies:
'@smithy/node-config-provider': registry.npmmirror.com/@smithy/node-config-provider@2.0.12
'@smithy/types': registry.npmmirror.com/@smithy/types@2.3.3
@@ -756,6 +779,7 @@ packages:
name: '@aws-sdk/token-providers'
version: 3.418.0
engines: {node: '>=14.0.0'}
+ requiresBuild: true
dependencies:
'@aws-crypto/sha256-browser': registry.npmmirror.com/@aws-crypto/sha256-browser@3.0.0
'@aws-crypto/sha256-js': registry.npmmirror.com/@aws-crypto/sha256-js@3.0.0
@@ -802,6 +826,7 @@ packages:
name: '@aws-sdk/types'
version: 3.418.0
engines: {node: '>=14.0.0'}
+ requiresBuild: true
dependencies:
'@smithy/types': registry.npmmirror.com/@smithy/types@2.3.3
tslib: registry.npmmirror.com/tslib@2.5.3
@@ -813,6 +838,7 @@ packages:
name: '@aws-sdk/util-endpoints'
version: 3.418.0
engines: {node: '>=14.0.0'}
+ requiresBuild: true
dependencies:
'@aws-sdk/types': registry.npmmirror.com/@aws-sdk/types@3.418.0
tslib: registry.npmmirror.com/tslib@2.5.3
@@ -824,6 +850,7 @@ packages:
name: '@aws-sdk/util-locate-window'
version: 3.310.0
engines: {node: '>=14.0.0'}
+ requiresBuild: true
dependencies:
tslib: registry.npmmirror.com/tslib@2.5.3
dev: false
@@ -833,6 +860,7 @@ packages:
resolution: {integrity: sha512-c4p4mc0VV/jIeNH0lsXzhJ1MpWRLuboGtNEpqE4s1Vl9ck2amv9VdUUZUmHbg+bVxlMgRQ4nmiovA4qIrqGuyg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.418.0.tgz}
name: '@aws-sdk/util-user-agent-browser'
version: 3.418.0
+ requiresBuild: true
dependencies:
'@aws-sdk/types': registry.npmmirror.com/@aws-sdk/types@3.418.0
'@smithy/types': registry.npmmirror.com/@smithy/types@2.3.3
@@ -846,6 +874,7 @@ packages:
name: '@aws-sdk/util-user-agent-node'
version: 3.418.0
engines: {node: '>=14.0.0'}
+ requiresBuild: true
peerDependencies:
aws-crt: '>=1.0.0'
peerDependenciesMeta:
@@ -863,6 +892,7 @@ packages:
resolution: {integrity: sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.259.0.tgz}
name: '@aws-sdk/util-utf8-browser'
version: 3.259.0
+ requiresBuild: true
dependencies:
tslib: registry.npmmirror.com/tslib@2.5.3
dev: false
@@ -3854,6 +3884,7 @@ packages:
resolution: {integrity: sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@emotion/memoize/-/memoize-0.7.4.tgz}
name: '@emotion/memoize'
version: 0.7.4
+ requiresBuild: true
dev: false
optional: true
@@ -4375,6 +4406,7 @@ packages:
name: '@smithy/abort-controller'
version: 2.0.9
engines: {node: '>=14.0.0'}
+ requiresBuild: true
dependencies:
'@smithy/types': registry.npmmirror.com/@smithy/types@2.3.3
tslib: registry.npmmirror.com/tslib@2.5.3
@@ -4386,6 +4418,7 @@ packages:
name: '@smithy/config-resolver'
version: 2.0.10
engines: {node: '>=14.0.0'}
+ requiresBuild: true
dependencies:
'@smithy/node-config-provider': registry.npmmirror.com/@smithy/node-config-provider@2.0.12
'@smithy/types': registry.npmmirror.com/@smithy/types@2.3.3
@@ -4400,6 +4433,7 @@ packages:
name: '@smithy/credential-provider-imds'
version: 2.0.12
engines: {node: '>=14.0.0'}
+ requiresBuild: true
dependencies:
'@smithy/node-config-provider': registry.npmmirror.com/@smithy/node-config-provider@2.0.12
'@smithy/property-provider': registry.npmmirror.com/@smithy/property-provider@2.0.10
@@ -4413,6 +4447,7 @@ packages:
resolution: {integrity: sha512-sy0pcbKnawt1iu+qCoSFbs/h9PAaUgvlJEO3lqkE1HFFj4p5RgL98vH+9CyDoj6YY82cG5XsorFmcLqQJHTOYw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@smithy/eventstream-codec/-/eventstream-codec-2.0.9.tgz}
name: '@smithy/eventstream-codec'
version: 2.0.9
+ requiresBuild: true
dependencies:
'@aws-crypto/crc32': registry.npmmirror.com/@aws-crypto/crc32@3.0.0
'@smithy/types': registry.npmmirror.com/@smithy/types@2.3.3
@@ -4425,6 +4460,7 @@ packages:
resolution: {integrity: sha512-BIeCHGfr5JCGN+EMTwZK74ELvjPXOIrI7OLM5OhZJJ6AmZyRv2S9ANJk18AtLwht0TsSm+8WoXIEp8LuxNgUyA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@smithy/fetch-http-handler/-/fetch-http-handler-2.1.5.tgz}
name: '@smithy/fetch-http-handler'
version: 2.1.5
+ requiresBuild: true
dependencies:
'@smithy/protocol-http': registry.npmmirror.com/@smithy/protocol-http@3.0.5
'@smithy/querystring-builder': registry.npmmirror.com/@smithy/querystring-builder@2.0.9
@@ -4439,6 +4475,7 @@ packages:
name: '@smithy/hash-node'
version: 2.0.9
engines: {node: '>=14.0.0'}
+ requiresBuild: true
dependencies:
'@smithy/types': registry.npmmirror.com/@smithy/types@2.3.3
'@smithy/util-buffer-from': registry.npmmirror.com/@smithy/util-buffer-from@2.0.0
@@ -4451,6 +4488,7 @@ packages:
resolution: {integrity: sha512-RuJqhYf8nViK96IIO9JbTtjDUuFItVfuuJhWw2yk7fv67yltQ7fZD6IQ2OsHHluoVmstnQJuCg5raXJR696Ubw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@smithy/invalid-dependency/-/invalid-dependency-2.0.9.tgz}
name: '@smithy/invalid-dependency'
version: 2.0.9
+ requiresBuild: true
dependencies:
'@smithy/types': registry.npmmirror.com/@smithy/types@2.3.3
tslib: registry.npmmirror.com/tslib@2.5.3
@@ -4462,6 +4500,7 @@ packages:
name: '@smithy/is-array-buffer'
version: 2.0.0
engines: {node: '>=14.0.0'}
+ requiresBuild: true
dependencies:
tslib: registry.npmmirror.com/tslib@2.5.3
dev: false
@@ -4472,6 +4511,7 @@ packages:
name: '@smithy/middleware-content-length'
version: 2.0.11
engines: {node: '>=14.0.0'}
+ requiresBuild: true
dependencies:
'@smithy/protocol-http': registry.npmmirror.com/@smithy/protocol-http@3.0.5
'@smithy/types': registry.npmmirror.com/@smithy/types@2.3.3
@@ -4484,6 +4524,7 @@ packages:
name: '@smithy/middleware-endpoint'
version: 2.0.9
engines: {node: '>=14.0.0'}
+ requiresBuild: true
dependencies:
'@smithy/middleware-serde': registry.npmmirror.com/@smithy/middleware-serde@2.0.9
'@smithy/types': registry.npmmirror.com/@smithy/types@2.3.3
@@ -4498,6 +4539,7 @@ packages:
name: '@smithy/middleware-retry'
version: 2.0.12
engines: {node: '>=14.0.0'}
+ requiresBuild: true
dependencies:
'@smithy/node-config-provider': registry.npmmirror.com/@smithy/node-config-provider@2.0.12
'@smithy/protocol-http': registry.npmmirror.com/@smithy/protocol-http@3.0.5
@@ -4515,6 +4557,7 @@ packages:
name: '@smithy/middleware-serde'
version: 2.0.9
engines: {node: '>=14.0.0'}
+ requiresBuild: true
dependencies:
'@smithy/types': registry.npmmirror.com/@smithy/types@2.3.3
tslib: registry.npmmirror.com/tslib@2.5.3
@@ -4526,6 +4569,7 @@ packages:
name: '@smithy/middleware-stack'
version: 2.0.3
engines: {node: '>=14.0.0'}
+ requiresBuild: true
dependencies:
'@smithy/types': registry.npmmirror.com/@smithy/types@2.3.3
tslib: registry.npmmirror.com/tslib@2.5.3
@@ -4537,6 +4581,7 @@ packages:
name: '@smithy/node-config-provider'
version: 2.0.12
engines: {node: '>=14.0.0'}
+ requiresBuild: true
dependencies:
'@smithy/property-provider': registry.npmmirror.com/@smithy/property-provider@2.0.10
'@smithy/shared-ini-file-loader': registry.npmmirror.com/@smithy/shared-ini-file-loader@2.0.11
@@ -4550,6 +4595,7 @@ packages:
name: '@smithy/node-http-handler'
version: 2.1.5
engines: {node: '>=14.0.0'}
+ requiresBuild: true
dependencies:
'@smithy/abort-controller': registry.npmmirror.com/@smithy/abort-controller@2.0.9
'@smithy/protocol-http': registry.npmmirror.com/@smithy/protocol-http@3.0.5
@@ -4564,6 +4610,7 @@ packages:
name: '@smithy/property-provider'
version: 2.0.10
engines: {node: '>=14.0.0'}
+ requiresBuild: true
dependencies:
'@smithy/types': registry.npmmirror.com/@smithy/types@2.3.3
tslib: registry.npmmirror.com/tslib@2.5.3
@@ -4575,6 +4622,7 @@ packages:
name: '@smithy/protocol-http'
version: 3.0.5
engines: {node: '>=14.0.0'}
+ requiresBuild: true
dependencies:
'@smithy/types': registry.npmmirror.com/@smithy/types@2.3.3
tslib: registry.npmmirror.com/tslib@2.5.3
@@ -4586,6 +4634,7 @@ packages:
name: '@smithy/querystring-builder'
version: 2.0.9
engines: {node: '>=14.0.0'}
+ requiresBuild: true
dependencies:
'@smithy/types': registry.npmmirror.com/@smithy/types@2.3.3
'@smithy/util-uri-escape': registry.npmmirror.com/@smithy/util-uri-escape@2.0.0
@@ -4598,6 +4647,7 @@ packages:
name: '@smithy/querystring-parser'
version: 2.0.9
engines: {node: '>=14.0.0'}
+ requiresBuild: true
dependencies:
'@smithy/types': registry.npmmirror.com/@smithy/types@2.3.3
tslib: registry.npmmirror.com/tslib@2.5.3
@@ -4609,6 +4659,7 @@ packages:
name: '@smithy/service-error-classification'
version: 2.0.2
engines: {node: '>=14.0.0'}
+ requiresBuild: true
dependencies:
'@smithy/types': registry.npmmirror.com/@smithy/types@2.3.3
dev: false
@@ -4619,6 +4670,7 @@ packages:
name: '@smithy/shared-ini-file-loader'
version: 2.0.11
engines: {node: '>=14.0.0'}
+ requiresBuild: true
dependencies:
'@smithy/types': registry.npmmirror.com/@smithy/types@2.3.3
tslib: registry.npmmirror.com/tslib@2.5.3
@@ -4630,6 +4682,7 @@ packages:
name: '@smithy/signature-v4'
version: 2.0.9
engines: {node: '>=14.0.0'}
+ requiresBuild: true
dependencies:
'@smithy/eventstream-codec': registry.npmmirror.com/@smithy/eventstream-codec@2.0.9
'@smithy/is-array-buffer': registry.npmmirror.com/@smithy/is-array-buffer@2.0.0
@@ -4647,6 +4700,7 @@ packages:
name: '@smithy/smithy-client'
version: 2.1.7
engines: {node: '>=14.0.0'}
+ requiresBuild: true
dependencies:
'@smithy/middleware-stack': registry.npmmirror.com/@smithy/middleware-stack@2.0.3
'@smithy/types': registry.npmmirror.com/@smithy/types@2.3.3
@@ -4660,6 +4714,7 @@ packages:
name: '@smithy/types'
version: 2.3.3
engines: {node: '>=14.0.0'}
+ requiresBuild: true
dependencies:
tslib: registry.npmmirror.com/tslib@2.5.3
dev: false
@@ -4669,6 +4724,7 @@ packages:
resolution: {integrity: sha512-NBnJ0NiY8z6E82Xd5VYUFQfKwK/wA/+QkKmpYUYP+cpH3aCzE6g2gvixd9vQKYjsIdRfNPCf+SFAozt8ljozOw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@smithy/url-parser/-/url-parser-2.0.9.tgz}
name: '@smithy/url-parser'
version: 2.0.9
+ requiresBuild: true
dependencies:
'@smithy/querystring-parser': registry.npmmirror.com/@smithy/querystring-parser@2.0.9
'@smithy/types': registry.npmmirror.com/@smithy/types@2.3.3
@@ -4681,6 +4737,7 @@ packages:
name: '@smithy/util-base64'
version: 2.0.0
engines: {node: '>=14.0.0'}
+ requiresBuild: true
dependencies:
'@smithy/util-buffer-from': registry.npmmirror.com/@smithy/util-buffer-from@2.0.0
tslib: registry.npmmirror.com/tslib@2.5.3
@@ -4691,6 +4748,7 @@ packages:
resolution: {integrity: sha512-JdDuS4ircJt+FDnaQj88TzZY3+njZ6O+D3uakS32f2VNnDo3vyEuNdBOh/oFd8Df1zSZOuH1HEChk2AOYDezZg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@smithy/util-body-length-browser/-/util-body-length-browser-2.0.0.tgz}
name: '@smithy/util-body-length-browser'
version: 2.0.0
+ requiresBuild: true
dependencies:
tslib: registry.npmmirror.com/tslib@2.5.3
dev: false
@@ -4701,6 +4759,7 @@ packages:
name: '@smithy/util-body-length-node'
version: 2.1.0
engines: {node: '>=14.0.0'}
+ requiresBuild: true
dependencies:
tslib: registry.npmmirror.com/tslib@2.5.3
dev: false
@@ -4711,6 +4770,7 @@ packages:
name: '@smithy/util-buffer-from'
version: 2.0.0
engines: {node: '>=14.0.0'}
+ requiresBuild: true
dependencies:
'@smithy/is-array-buffer': registry.npmmirror.com/@smithy/is-array-buffer@2.0.0
tslib: registry.npmmirror.com/tslib@2.5.3
@@ -4722,6 +4782,7 @@ packages:
name: '@smithy/util-config-provider'
version: 2.0.0
engines: {node: '>=14.0.0'}
+ requiresBuild: true
dependencies:
tslib: registry.npmmirror.com/tslib@2.5.3
dev: false
@@ -4732,6 +4793,7 @@ packages:
name: '@smithy/util-defaults-mode-browser'
version: 2.0.11
engines: {node: '>= 10.0.0'}
+ requiresBuild: true
dependencies:
'@smithy/property-provider': registry.npmmirror.com/@smithy/property-provider@2.0.10
'@smithy/smithy-client': registry.npmmirror.com/@smithy/smithy-client@2.1.7
@@ -4746,6 +4808,7 @@ packages:
name: '@smithy/util-defaults-mode-node'
version: 2.0.13
engines: {node: '>= 10.0.0'}
+ requiresBuild: true
dependencies:
'@smithy/config-resolver': registry.npmmirror.com/@smithy/config-resolver@2.0.10
'@smithy/credential-provider-imds': registry.npmmirror.com/@smithy/credential-provider-imds@2.0.12
@@ -4762,6 +4825,7 @@ packages:
name: '@smithy/util-hex-encoding'
version: 2.0.0
engines: {node: '>=14.0.0'}
+ requiresBuild: true
dependencies:
tslib: registry.npmmirror.com/tslib@2.5.3
dev: false
@@ -4772,6 +4836,7 @@ packages:
name: '@smithy/util-middleware'
version: 2.0.2
engines: {node: '>=14.0.0'}
+ requiresBuild: true
dependencies:
'@smithy/types': registry.npmmirror.com/@smithy/types@2.3.3
tslib: registry.npmmirror.com/tslib@2.5.3
@@ -4783,6 +4848,7 @@ packages:
name: '@smithy/util-retry'
version: 2.0.2
engines: {node: '>= 14.0.0'}
+ requiresBuild: true
dependencies:
'@smithy/service-error-classification': registry.npmmirror.com/@smithy/service-error-classification@2.0.2
'@smithy/types': registry.npmmirror.com/@smithy/types@2.3.3
@@ -4795,6 +4861,7 @@ packages:
name: '@smithy/util-stream'
version: 2.0.12
engines: {node: '>=14.0.0'}
+ requiresBuild: true
dependencies:
'@smithy/fetch-http-handler': registry.npmmirror.com/@smithy/fetch-http-handler@2.1.5
'@smithy/node-http-handler': registry.npmmirror.com/@smithy/node-http-handler@2.1.5
@@ -4812,6 +4879,7 @@ packages:
name: '@smithy/util-uri-escape'
version: 2.0.0
engines: {node: '>=14.0.0'}
+ requiresBuild: true
dependencies:
tslib: registry.npmmirror.com/tslib@2.5.3
dev: false
@@ -4822,6 +4890,7 @@ packages:
name: '@smithy/util-utf8'
version: 2.0.0
engines: {node: '>=14.0.0'}
+ requiresBuild: true
dependencies:
'@smithy/util-buffer-from': registry.npmmirror.com/@smithy/util-buffer-from@2.0.0
tslib: registry.npmmirror.com/tslib@2.5.3
@@ -6159,6 +6228,7 @@ packages:
resolution: {integrity: sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/bowser/-/bowser-2.11.0.tgz}
name: bowser
version: 2.11.0
+ requiresBuild: true
dev: false
optional: true
@@ -7900,6 +7970,7 @@ packages:
name: fast-xml-parser
version: 4.2.5
hasBin: true
+ requiresBuild: true
dependencies:
strnum: registry.npmmirror.com/strnum@1.0.5
dev: false
@@ -9616,6 +9687,7 @@ packages:
resolution: {integrity: sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/memory-pager/-/memory-pager-1.5.0.tgz}
name: memory-pager
version: 1.5.0
+ requiresBuild: true
dev: false
optional: true
@@ -10770,11 +10842,11 @@ packages:
engines: {node: '>= 0.8.0'}
dev: true
- registry.npmmirror.com/prettier@2.8.7:
- resolution: {integrity: sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/prettier/-/prettier-2.8.7.tgz}
+ registry.npmmirror.com/prettier@3.0.3:
+ resolution: {integrity: sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/prettier/-/prettier-3.0.3.tgz}
name: prettier
- version: 2.8.7
- engines: {node: '>=10.13.0'}
+ version: 3.0.3
+ engines: {node: '>=14'}
hasBin: true
dev: true
@@ -11726,6 +11798,7 @@ packages:
resolution: {integrity: sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz}
name: sparse-bitfield
version: 3.0.3
+ requiresBuild: true
dependencies:
memory-pager: registry.npmmirror.com/memory-pager@1.5.0
dev: false
@@ -11898,6 +11971,7 @@ packages:
resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/strnum/-/strnum-1.0.5.tgz}
name: strnum
version: 1.0.5
+ requiresBuild: true
dev: false
optional: true
@@ -12476,6 +12550,7 @@ packages:
name: uuid
version: 8.3.2
hasBin: true
+ requiresBuild: true
dev: false
optional: true
diff --git a/projects/app/public/locales/en/common.json b/projects/app/public/locales/en/common.json
index bd3701f7d..209286968 100644
--- a/projects/app/public/locales/en/common.json
+++ b/projects/app/public/locales/en/common.json
@@ -105,6 +105,7 @@
},
"common": {
"Add": "Add",
+ "Close": "Clow",
"Collect": "Collect",
"Copy": "Copy",
"Copy Successful": "Copy Successful",
diff --git a/projects/app/public/locales/zh/common.json b/projects/app/public/locales/zh/common.json
index c7ff65b90..cfaded1d4 100644
--- a/projects/app/public/locales/zh/common.json
+++ b/projects/app/public/locales/zh/common.json
@@ -105,6 +105,7 @@
},
"common": {
"Add": "添加",
+ "Close": "关闭",
"Collect": "收藏",
"Copy": "复制",
"Copy Successful": "复制成功",
diff --git a/projects/app/src/components/ChatBox/index.tsx b/projects/app/src/components/ChatBox/index.tsx
index 618b336c3..d228655bd 100644
--- a/projects/app/src/components/ChatBox/index.tsx
+++ b/projects/app/src/components/ChatBox/index.tsx
@@ -1171,9 +1171,8 @@ export const useChatBox = () => {
const historyDom = document.getElementById('history');
if (!historyDom) return;
const dom = Array.from(historyDom.children).map((child, i) => {
- const avatar = `
`;
+ const avatar = `
`;
const chatContent = child.querySelector('.markdown');
diff --git a/projects/app/src/components/Markdown/chat/Guide.tsx b/projects/app/src/components/Markdown/chat/Guide.tsx
index c8bbde772..9d8b98719 100644
--- a/projects/app/src/components/Markdown/chat/Guide.tsx
+++ b/projects/app/src/components/Markdown/chat/Guide.tsx
@@ -19,8 +19,8 @@ function MyLink(e: any) {
{text}
) : (
-
-
+
+
{
rehypePlugins={[RehypeKatex]}
components={{
a: MyLink,
+ p: 'div',
img: Image
}}
>
diff --git a/projects/app/src/constants/flow/ModuleTemplate.ts b/projects/app/src/constants/flow/ModuleTemplate.ts
index 735c9f5f6..ff7c3f9ff 100644
--- a/projects/app/src/constants/flow/ModuleTemplate.ts
+++ b/projects/app/src/constants/flow/ModuleTemplate.ts
@@ -8,7 +8,7 @@ import {
FlowValueTypeEnum
} from './index';
import type { AppItemType } from '@/types/app';
-import type { FlowModuleTemplateType } from '@/types/flow';
+import type { FlowModuleTemplateType } from '@/types/core/app/flow';
import { chatModelList } from '@/store/static';
import {
Input_Template_History,
@@ -331,6 +331,7 @@ export const ClassifyQuestionModule: FlowModuleTemplateType = {
'根据用户的历史记录和当前问题判断该次提问的类型。可以添加多组问题类型,下面是一个模板例子:\n类型1: 打招呼\n类型2: 关于 laf 通用问题\n类型3: 关于 laf 代码问题\n类型4: 其他问题',
showStatus: true,
inputs: [
+ Input_Template_TFSwitch,
{
key: 'systemPrompt',
type: FlowInputItemTypeEnum.textarea,
diff --git a/projects/app/src/constants/flow/inputTemplate.ts b/projects/app/src/constants/flow/inputTemplate.ts
index 8bc918791..17cedb838 100644
--- a/projects/app/src/constants/flow/inputTemplate.ts
+++ b/projects/app/src/constants/flow/inputTemplate.ts
@@ -1,4 +1,4 @@
-import { FlowInputItemType } from '@/types/flow';
+import type { FlowInputItemType } from '@/types/core/app/flow';
import { SystemInputEnum } from '../app';
import { FlowInputItemTypeEnum, FlowValueTypeEnum } from './index';
diff --git a/projects/app/src/pages/_app.tsx b/projects/app/src/pages/_app.tsx
index 94b2d4e43..e5bf717dd 100644
--- a/projects/app/src/pages/_app.tsx
+++ b/projects/app/src/pages/_app.tsx
@@ -94,9 +94,7 @@ function App({ Component, pageProps }: AppProps) {
/>
- {scripts?.map((item, i) => (
-
- ))}
+ {scripts?.map((item, i) => )}
diff --git a/projects/app/src/pages/api/core/dataset/searchTest.ts b/projects/app/src/pages/api/core/dataset/searchTest.ts
index 0873f9ca1..b62d1c434 100644
--- a/projects/app/src/pages/api/core/dataset/searchTest.ts
+++ b/projects/app/src/pages/api/core/dataset/searchTest.ts
@@ -38,8 +38,8 @@ export default withNextCors(async function handler(req: NextApiRequest, res: Nex
select id, q, a, source, file_id, (vector <#> '[${
vectors[0]
}]') * -1 AS score from ${PgDatasetTableName} where kb_id='${kbId}' AND user_id='${userId}' order by vector <#> '[${
- vectors[0]
- }]' limit 12;
+ vectors[0]
+ }]' limit 12;
COMMIT;`
);
diff --git a/projects/app/src/pages/api/v1/chat/completions.ts b/projects/app/src/pages/api/v1/chat/completions.ts
index 076647291..71b1454b1 100644
--- a/projects/app/src/pages/api/v1/chat/completions.ts
+++ b/projects/app/src/pages/api/v1/chat/completions.ts
@@ -32,7 +32,7 @@ import { getSystemTime } from '@/utils/user';
import { authOutLinkChat } from '@/service/support/outLink/auth';
import requestIp from 'request-ip';
import { replaceVariable } from '@/utils/common/tools/text';
-import { ModuleDispatchProps } from '@/types/core/modules';
+import type { ModuleDispatchProps } from '@/types/core/chat/type';
import { selectShareResponse } from '@/utils/service/core/chat';
import { pushResult2Remote, updateOutLinkUsage } from '@/service/support/outLink';
import { updateApiKeyUsage } from '@/service/support/openapi';
diff --git a/projects/app/src/pages/app/detail/components/AdEdit/components/ImportSettings.tsx b/projects/app/src/pages/app/detail/components/AdEdit/components/ImportSettings.tsx
index 61f57955a..080b5b049 100644
--- a/projects/app/src/pages/app/detail/components/AdEdit/components/ImportSettings.tsx
+++ b/projects/app/src/pages/app/detail/components/AdEdit/components/ImportSettings.tsx
@@ -1,20 +1,15 @@
import React, { useState } from 'react';
import { Textarea, Button, ModalBody, ModalFooter } from '@chakra-ui/react';
import MyModal from '@/components/MyModal';
-import { AppModuleItemType } from '@/types/app';
import { useTranslation } from 'react-i18next';
import { useToast } from '@/hooks/useToast';
+import { useFlowStore } from './Provider';
-const ImportSettings = ({
- onClose,
- onSuccess
-}: {
- onClose: () => void;
- onSuccess: (modules: AppModuleItemType[]) => void;
-}) => {
+const ImportSettings = ({ onClose }: { onClose: () => void }) => {
const { t } = useTranslation();
const { toast } = useToast();
const [value, setValue] = useState('');
+ const { setNodes, setEdges, initData } = useFlowStore();
return (
@@ -35,7 +30,11 @@ const ImportSettings = ({
}
try {
const data = JSON.parse(value);
- onSuccess(data);
+ setEdges([]);
+ setNodes([]);
+ setTimeout(() => {
+ initData(data);
+ }, 10);
onClose();
} catch (error) {
toast({
@@ -51,4 +50,4 @@ const ImportSettings = ({
);
};
-export default ImportSettings;
+export default React.memo(ImportSettings);
diff --git a/projects/app/src/pages/app/detail/components/AdEdit/components/Nodes/NodeAnswer.tsx b/projects/app/src/pages/app/detail/components/AdEdit/components/Nodes/NodeAnswer.tsx
index 1ff25f15d..966afe68a 100644
--- a/projects/app/src/pages/app/detail/components/AdEdit/components/Nodes/NodeAnswer.tsx
+++ b/projects/app/src/pages/app/detail/components/AdEdit/components/Nodes/NodeAnswer.tsx
@@ -1,18 +1,18 @@
import React from 'react';
import { NodeProps } from 'reactflow';
import NodeCard from '../modules/NodeCard';
-import { FlowModuleItemType } from '@/types/flow';
+import { FlowModuleItemType } from '@/types/core/app/flow';
import Container from '../modules/Container';
import RenderInput from '../render/RenderInput';
import RenderOutput from '../render/RenderOutput';
const NodeAnswer = ({ data }: NodeProps) => {
- const { moduleId, inputs, outputs, onChangeNode } = data;
+ const { moduleId, inputs, outputs } = data;
return (
-
-
+
+
);
diff --git a/projects/app/src/pages/app/detail/components/AdEdit/components/Nodes/NodeCQNode.tsx b/projects/app/src/pages/app/detail/components/AdEdit/components/Nodes/NodeCQNode.tsx
index efc89d461..8fc583b16 100644
--- a/projects/app/src/pages/app/detail/components/AdEdit/components/Nodes/NodeCQNode.tsx
+++ b/projects/app/src/pages/app/detail/components/AdEdit/components/Nodes/NodeCQNode.tsx
@@ -1,8 +1,8 @@
import React from 'react';
import { NodeProps } from 'reactflow';
-import { Box, Input, Button, Flex } from '@chakra-ui/react';
+import { Box, Input, Button, Flex, Textarea } from '@chakra-ui/react';
import NodeCard from '../modules/NodeCard';
-import { FlowModuleItemType } from '@/types/flow';
+import { FlowModuleItemType } from '@/types/core/app/flow';
import Divider from '../modules/Divider';
import Container from '../modules/Container';
import RenderInput from '../render/RenderInput';
@@ -11,17 +11,22 @@ import { customAlphabet } from 'nanoid';
const nanoid = customAlphabet('abcdefghijklmnopqrstuvwxyz1234567890', 4);
import MyIcon from '@/components/Icon';
import { FlowOutputItemTypeEnum, FlowValueTypeEnum, SpecialInputKeyEnum } from '@/constants/flow';
+import { useTranslation } from 'react-i18next';
import SourceHandle from '../render/SourceHandle';
+import MyTooltip from '@/components/MyTooltip';
+import { useFlowStore } from '../Provider';
const NodeCQNode = ({ data }: NodeProps) => {
- const { moduleId, inputs, outputs, onChangeNode } = data;
+ const { t } = useTranslation();
+ const { moduleId, inputs, outputs } = data;
+ const { onChangeNode } = useFlowStore();
+
return (
) => {
}) => (
{agents.map((item, i) => (
-
- {
- const newInputValue = agents.filter((input) => input.key !== item.key);
- const newOutputVal = outputs.filter((output) => output.key !== item.key);
-
- onChangeNode({
- moduleId,
- type: 'inputs',
- key: agentKey,
- value: {
- ...props,
- key: agentKey,
- value: newInputValue
- }
- });
- onChangeNode({
- moduleId,
- type: 'outputs',
- key: '',
- value: newOutputVal
- });
- }}
- />
-
- 类型{i + 1}
-
-
+
+
+ {
- const newVal = agents.map((val) =>
- val.key === item.key
- ? {
- ...val,
- value: e.target.value
- }
- : val
+ mr={2}
+ name={'minus'}
+ w={'14px'}
+ cursor={'pointer'}
+ color={'myGray.600'}
+ _hover={{ color: 'red.600' }}
+ onClick={() => {
+ const newInputValue = agents.filter((input) => input.key !== item.key);
+ const newOutputVal = outputs.filter(
+ (output) => output.key !== item.key
);
+
onChangeNode({
moduleId,
type: 'inputs',
@@ -86,15 +63,49 @@ const NodeCQNode = ({ data }: NodeProps) => {
value: {
...props,
key: agentKey,
- value: newVal
+ value: newInputValue
}
});
+ onChangeNode({
+ moduleId,
+ type: 'outputs',
+ key: '',
+ value: newOutputVal
+ });
}}
/>
-
-
+
+ 分类{i + 1}
+
+
+
-
+
))}