-
- {list.map((tool) => {
- const labelContent = (() => {
- if (!tool.labels)
- return ''
- return tool.labels.map((name) => {
- const label = labelList.find(item => item.name === name)
- return resolveI18nText(label?.label, language)
- }).filter(Boolean).join(', ')
- })()
- const added = !!addedTools?.find(v => v.provider_id === toolWithProvider.id && v.provider_type === toolWithProvider.type && v.tool_name === tool.name)
- return (
-
-
- {resolveI18nText(tool.label, language)}
- {resolveI18nText(tool.description, language)}
- {tool.labels?.length > 0 && (
-
- )}
-
- )}
- >
-
-
-
{resolveI18nText(tool.label, language)}
- {!needAuth && added && (
-
-
- {t('tools.addToolModal.added').toLocaleUpperCase()}
-
- )}
- {!needAuth && !added && addable && (
-
- )}
- {needAuth && (
-
- )}
-
-
- )
- })}
-
- )
- }, [addable, language, t, labelList, addedTools, onAuthSetup, onSelect])
-
- return (
-
- {!tools.length && !showWorkflowEmpty && (
-
{t('workflow.tabs.noResult')}
- )}
- {!tools.length && showWorkflowEmpty && (
-
-
-
- )}
- {!!tools.length && tools.map(renderGroup)}
-
- )
-}
-
-export default memo(Blocks)
diff --git a/web/app/components/tools/add-tool-modal/type.tsx b/web/app/components/tools/add-tool-modal/type.tsx
deleted file mode 100644
index 26e78a7525..0000000000
--- a/web/app/components/tools/add-tool-modal/type.tsx
+++ /dev/null
@@ -1,34 +0,0 @@
-'use client'
-import { useTranslation } from 'react-i18next'
-import cn from '@/utils/classnames'
-import { Exchange02, FileCode } from '@/app/components/base/icons/src/vender/line/others'
-
-type Props = {
- value: string
- onSelect: (type: string) => void
-}
-
-const Types = ({
- value,
- onSelect,
-}: Props) => {
- const { t } = useTranslation()
-
- return (
-
-
onSelect('builtin')}>
-
-
{t('tools.type.builtIn')}
-
-
onSelect('api')}>
-
- {t('tools.type.custom')}
-
-
onSelect('workflow')}>
-
- {t('tools.type.workflow')}
-
-
- )
-}
-export default Types
diff --git a/web/app/components/tools/provider-list.tsx b/web/app/components/tools/provider-list.tsx
index 1679b4469b..01f9f09127 100644
--- a/web/app/components/tools/provider-list.tsx
+++ b/web/app/components/tools/provider-list.tsx
@@ -11,7 +11,7 @@ import Input from '@/app/components/base/input'
import ProviderDetail from '@/app/components/tools/provider/detail'
import Empty from '@/app/components/plugins/marketplace/empty'
import CustomCreateCard from '@/app/components/tools/provider/custom-create-card'
-import WorkflowToolEmpty from '@/app/components/tools/add-tool-modal/empty'
+import WorkflowToolEmpty from '@/app/components/tools/provider/empty'
import Card from '@/app/components/plugins/card'
import CardMoreInfo from '@/app/components/plugins/card/card-more-info'
import PluginDetailPanel from '@/app/components/plugins/plugin-detail-panel'
diff --git a/web/app/components/tools/add-tool-modal/empty.tsx b/web/app/components/tools/provider/empty.tsx
similarity index 100%
rename from web/app/components/tools/add-tool-modal/empty.tsx
rename to web/app/components/tools/provider/empty.tsx
diff --git a/web/app/components/workflow/block-selector/tools.tsx b/web/app/components/workflow/block-selector/tools.tsx
index c62f6a67f9..66d880d994 100644
--- a/web/app/components/workflow/block-selector/tools.tsx
+++ b/web/app/components/workflow/block-selector/tools.tsx
@@ -4,7 +4,7 @@ import IndexBar, { groupItems } from './index-bar'
import type { ToolDefaultValue, ToolValue } from './types'
import type { ToolTypeEnum } from './types'
import { ViewType } from './view-type-select'
-import Empty from '@/app/components/tools/add-tool-modal/empty'
+import Empty from '@/app/components/tools/provider/empty'
import { useGetLanguage } from '@/context/i18n'
import ToolListTreeView from './tool/tool-list-tree-view/list'
import ToolListFlatView from './tool/tool-list-flat-view/list'
diff --git a/web/app/components/workflow/nodes/agent/node.tsx b/web/app/components/workflow/nodes/agent/node.tsx
index a2190317af..fe87bc7cda 100644
--- a/web/app/components/workflow/nodes/agent/node.tsx
+++ b/web/app/components/workflow/nodes/agent/node.tsx
@@ -65,7 +65,7 @@ const AgentNode: FC