diff --git a/web/app/components/base/icons/assets/vender/workflow/agent.svg b/web/app/components/base/icons/assets/vender/workflow/agent.svg new file mode 100644 index 0000000000..f30c0b455f --- /dev/null +++ b/web/app/components/base/icons/assets/vender/workflow/agent.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/web/app/components/base/icons/src/vender/features/index.ts b/web/app/components/base/icons/src/vender/features/index.ts index f246732226..853cad8f9f 100644 --- a/web/app/components/base/icons/src/vender/features/index.ts +++ b/web/app/components/base/icons/src/vender/features/index.ts @@ -1,5 +1,6 @@ export { default as Citations } from './Citations' export { default as ContentModeration } from './ContentModeration' +export { default as Document } from './Document' export { default as FolderUpload } from './FolderUpload' export { default as LoveMessage } from './LoveMessage' export { default as MessageFast } from './MessageFast' @@ -7,4 +8,3 @@ export { default as Microphone01 } from './Microphone01' export { default as TextToAudio } from './TextToAudio' export { default as VirtualAssistant } from './VirtualAssistant' export { default as Vision } from './Vision' -export { default as Document } from './Document' diff --git a/web/app/components/base/icons/src/vender/workflow/Agent.json b/web/app/components/base/icons/src/vender/workflow/Agent.json new file mode 100644 index 0000000000..e7ed19369b --- /dev/null +++ b/web/app/components/base/icons/src/vender/workflow/Agent.json @@ -0,0 +1,53 @@ +{ + "icon": { + "type": "element", + "isRootNode": true, + "name": "svg", + "attributes": { + "width": "16", + "height": "16", + "viewBox": "0 0 16 16", + "fill": "none", + "xmlns": "http://www.w3.org/2000/svg" + }, + "children": [ + { + "type": "element", + "name": "g", + "attributes": { + "id": "agent" + }, + "children": [ + { + "type": "element", + "name": "g", + "attributes": { + "id": "Vector" + }, + "children": [ + { + "type": "element", + "name": "path", + "attributes": { + "d": "M14.7401 5.80454C14.5765 4.77996 14.1638 3.79808 13.5306 2.97273C12.8973 2.14738 12.0648 1.48568 11.1185 1.06589C10.1722 0.646098 9.12632 0.461106 8.08751 0.546487C7.05582 0.624753 6.04548 0.966277 5.17744 1.53548C4.3094 2.09758 3.58366 2.88024 3.09272 3.79808C2.59466 4.70881 2.33852 5.7405 2.33852 6.7793V7.22756L1.25703 9.3692C1.04357 9.80322 1.22145 10.3368 1.65547 10.5574L2.3314 10.8989V12.3006C2.3314 12.82 2.53063 13.3038 2.90061 13.6738C3.2706 14.0367 3.75442 14.243 4.27382 14.243H6.01702V14.7624C6.01702 15.1538 6.3372 15.4739 6.72853 15.4739C7.11986 15.4739 7.44004 15.1538 7.44004 14.7624V13.7094C7.44004 13.2185 7.04159 12.82 6.55065 12.82H4.27382C4.13864 12.82 4.00345 12.7631 3.91095 12.6706C3.81846 12.5781 3.76154 12.4429 3.76154 12.3077V10.5716C3.76154 10.2301 3.56943 9.92417 3.2706 9.77476L2.77254 9.52573L3.66904 7.73984C3.72596 7.61889 3.76154 7.4837 3.76154 7.34851V6.77219C3.76154 5.96818 3.96076 5.17129 4.34498 4.4669C4.72919 3.76251 5.28417 3.15772 5.9601 2.7237C6.63603 2.28968 7.41158 2.02643 8.20847 1.96239C9.00536 1.89835 9.81648 2.04066 10.5493 2.36795C11.2822 2.69524 11.9225 3.20042 12.4135 3.84077C12.8973 4.47402 13.2246 5.23533 13.3456 6.02511C13.4665 6.81488 13.3954 7.63312 13.125 8.38731C12.8617 9.12017 12.4206 9.78187 11.8585 10.3084C11.6735 10.4792 11.5668 10.7139 11.5668 10.9701V14.7624C11.5668 15.1538 11.887 15.4739 12.2783 15.4739C12.6696 15.4739 12.9898 15.1538 12.9898 14.7624V11.1978C13.6515 10.5432 14.1567 9.73918 14.4697 8.87114C14.8184 7.89637 14.918 6.83623 14.7615 5.81165L14.7401 5.80454Z", + "fill": "currentColor" + }, + "children": [] + }, + { + "type": "element", + "name": "path", + "attributes": { + "d": "M10.8055 7.99599C10.8909 7.83234 10.962 7.66158 11.0189 7.4837H11.6522C12.0435 7.4837 12.3637 7.16352 12.3637 6.77219C12.3637 6.38086 12.0435 6.06068 11.6522 6.06068H11.0189C10.9691 5.8828 10.898 5.71204 10.8055 5.54839L11.2537 5.10014C11.5312 4.82266 11.5312 4.3744 11.2537 4.09692C10.9762 3.81943 10.528 3.81943 10.2505 4.09692L9.80225 4.54517C9.6386 4.45267 9.46784 4.38863 9.28996 4.33171V3.69847C9.28996 3.30714 8.96978 2.98696 8.57845 2.98696C8.18712 2.98696 7.86694 3.30714 7.86694 3.69847V4.33171C7.68907 4.38152 7.5183 4.45267 7.35466 4.54517L6.90641 4.09692C6.62892 3.81943 6.18067 3.81943 5.90318 4.09692C5.62569 4.3744 5.62569 4.82266 5.90318 5.10014L6.35143 5.54839C6.26605 5.71204 6.1949 5.8828 6.13798 6.06068H5.50473C5.1134 6.06068 4.79323 6.38086 4.79323 6.77219C4.79323 7.16352 5.1134 7.4837 5.50473 7.4837H6.13798C6.18778 7.66158 6.25893 7.83234 6.35143 7.99599L5.90318 8.44424C5.62569 8.72172 5.62569 9.16997 5.90318 9.44746C6.04548 9.58976 6.22336 9.6538 6.40835 9.6538C6.59334 9.6538 6.77122 9.58265 6.91352 9.44746L7.36177 8.99921C7.52542 9.08459 7.69618 9.15574 7.87406 9.21267V9.84591C7.87406 10.2372 8.19424 10.5574 8.58557 10.5574C8.9769 10.5574 9.29708 10.2372 9.29708 9.84591V9.21267C9.47496 9.16286 9.64572 9.09171 9.80936 8.99921L10.2576 9.44746C10.3999 9.58976 10.5778 9.6538 10.7628 9.6538C10.9478 9.6538 11.1257 9.58265 11.268 9.44746C11.5454 9.16997 11.5454 8.72172 11.268 8.44424L10.8197 7.99599H10.8055ZM7.44004 6.77219C7.44004 6.14606 7.94521 5.64089 8.57134 5.64089C9.19747 5.64089 9.70264 6.14606 9.70264 6.77219C9.70264 7.39832 9.19747 7.90349 8.57134 7.90349C7.94521 7.90349 7.44004 7.39832 7.44004 6.77219Z", + "fill": "currentColor" + }, + "children": [] + } + ] + } + ] + } + ] + }, + "name": "Agent" +} \ No newline at end of file diff --git a/web/app/components/base/icons/src/vender/workflow/Agent.tsx b/web/app/components/base/icons/src/vender/workflow/Agent.tsx new file mode 100644 index 0000000000..e4337d4dbd --- /dev/null +++ b/web/app/components/base/icons/src/vender/workflow/Agent.tsx @@ -0,0 +1,16 @@ +// GENERATE BY script +// DON NOT EDIT IT MANUALLY + +import * as React from 'react' +import data from './Agent.json' +import IconBase from '@/app/components/base/icons/IconBase' +import type { IconBaseProps, IconData } from '@/app/components/base/icons/IconBase' + +const Icon = React.forwardRef, Omit>(( + props, + ref, +) => ) + +Icon.displayName = 'Agent' + +export default Icon diff --git a/web/app/components/base/icons/src/vender/workflow/index.ts b/web/app/components/base/icons/src/vender/workflow/index.ts index b2cc7968bb..11ce55b130 100644 --- a/web/app/components/base/icons/src/vender/workflow/index.ts +++ b/web/app/components/base/icons/src/vender/workflow/index.ts @@ -1,3 +1,4 @@ +export { default as Agent } from './Agent' export { default as Answer } from './Answer' export { default as Assigner } from './Assigner' export { default as Code } from './Code' diff --git a/web/app/components/workflow/nodes/_base/components/agent-strategy-selector.tsx b/web/app/components/workflow/nodes/_base/components/agent-strategy-selector.tsx index 7baa6182ec..8976289149 100644 --- a/web/app/components/workflow/nodes/_base/components/agent-strategy-selector.tsx +++ b/web/app/components/workflow/nodes/_base/components/agent-strategy-selector.tsx @@ -11,15 +11,16 @@ import ViewTypeSelect, { ViewType } from '../../../block-selector/view-type-sele import SearchInput from '@/app/components/base/search-input' import { MARKETPLACE_URL_PREFIX } from '@/config' import Tools from '../../../block-selector/tools' +import { useTranslation } from 'react-i18next' const ExternalNotInstallWarn = () => { - // TODO: add i18n label + const { t } = useTranslation() return -

This plugin is not installed

-

This plugin is installed from GitHub. Please go to Plugins to reinstall

+

{t('workflow.nodes.agent.pluginNotInstalled')}

+

{t('workflow.nodes.agent.pluginNotInstalledDesc')}

- Link to Plugins + {t('workflow.nodes.agent.linkToPlugin')}

} needsDelay diff --git a/web/app/components/workflow/nodes/_base/components/agent-strategy.tsx b/web/app/components/workflow/nodes/_base/components/agent-strategy.tsx index ee24ac3d6a..636baaa08b 100644 --- a/web/app/components/workflow/nodes/_base/components/agent-strategy.tsx +++ b/web/app/components/workflow/nodes/_base/components/agent-strategy.tsx @@ -4,7 +4,7 @@ import ListEmpty from '@/app/components/base/list-empty' import { AgentStrategySelector } from './agent-strategy-selector' import Link from 'next/link' import { useTranslation } from 'react-i18next' -import InputVarList from '../../tool/components/input-var-list' +import Form from '@/app/components/header/account-setting/model-provider-page/model-modal/Form' export type Strategy = { agent_strategy_provider_name: string @@ -19,26 +19,24 @@ export type AgentStrategyProps = { formSchema: CredentialFormSchema[] formValue: ToolVarInputs onFormValueChange: (value: ToolVarInputs) => void - /** - * @description use for get available vars - */ - nodeId: string } export const AgentStrategy = (props: AgentStrategyProps) => { - const { strategy, onStrategyChange, formSchema, formValue, onFormValueChange, nodeId } = props + const { strategy, onStrategyChange, formSchema, formValue, onFormValueChange } = props const { t } = useTranslation() return
{ strategy ?
-
// TODO: list empty need a icon diff --git a/web/app/components/workflow/nodes/_base/components/install-plugin-button.tsx b/web/app/components/workflow/nodes/_base/components/install-plugin-button.tsx index 08095b8e0b..1ae5fab864 100644 --- a/web/app/components/workflow/nodes/_base/components/install-plugin-button.tsx +++ b/web/app/components/workflow/nodes/_base/components/install-plugin-button.tsx @@ -2,14 +2,15 @@ import Button from '@/app/components/base/button' import { RiInstallLine, RiLoader2Line } from '@remixicon/react' import type { ComponentProps } from 'react' import classNames from '@/utils/classnames' +import { useTranslation } from 'react-i18next' type InstallPluginButtonProps = Omit, 'children'> export const InstallPluginButton = (props: InstallPluginButtonProps) => { const { loading, className, ...rest } = props - // TODO: add i18n label + const { t } = useTranslation() return } diff --git a/web/app/components/workflow/nodes/agent/panel.tsx b/web/app/components/workflow/nodes/agent/panel.tsx index 54c42c9953..277c745fe1 100644 --- a/web/app/components/workflow/nodes/agent/panel.tsx +++ b/web/app/components/workflow/nodes/agent/panel.tsx @@ -289,7 +289,6 @@ const AgentPanel: FC> = (props) => { ...inputs, agent_parameters: value, })} - nodeId={props.id} /> diff --git a/web/app/components/workflow/run/utils/format-log/iteration/data.ts b/web/app/components/workflow/run/utils/format-log/iteration/data.ts index 17c85ab48c..54ad8c4dd1 100644 --- a/web/app/components/workflow/run/utils/format-log/iteration/data.ts +++ b/web/app/components/workflow/run/utils/format-log/iteration/data.ts @@ -1,112 +1,80 @@ -export const simpleIterationData = { +export const simpleIterationData = (() => { // start -> code(output: [1, 2, 3]) -> iteration(output: ['aaa', 'aaa', 'aaa']) -> end(output: ['aaa', 'aaa', 'aaa']) - in: [ - { - id: '36c9860a-39e6-4107-b750-655b07895f47', - index: 1, - predecessor_node_id: null, - node_id: '1735023354069', - node_type: 'start', - title: 'Start', - inputs: { - 'sys.files': [], - 'sys.user_id': '5ee03762-1d1a-46e8-ba0b-5f419a77da96', - 'sys.app_id': '8a5e87f8-6433-40f4-a67a-4be78a558dc7', - 'sys.workflow_id': 'bb5e2b89-40ac-45c9-9ccb-4f2cd926e080', - 'sys.workflow_run_id': '76adf675-a7d3-4cc1-9282-ed7ecfe4f65d', - }, - process_data: null, - outputs: { - 'sys.files': [], - 'sys.user_id': '5ee03762-1d1a-46e8-ba0b-5f419a77da96', - 'sys.app_id': '8a5e87f8-6433-40f4-a67a-4be78a558dc7', - 'sys.workflow_id': 'bb5e2b89-40ac-45c9-9ccb-4f2cd926e080', - 'sys.workflow_run_id': '76adf675-a7d3-4cc1-9282-ed7ecfe4f65d', - }, - status: 'succeeded', - error: null, - elapsed_time: 0.011458, - execution_metadata: null, - extras: {}, - created_at: 1735023510, - created_by_role: 'account', - created_by_account: { - id: '5ee03762-1d1a-46e8-ba0b-5f419a77da96', - name: 'Joel', - email: 'iamjoel007@gmail.com', - }, - created_by_end_user: null, - finished_at: 1735023510, + const startNode = { + id: '36c9860a-39e6-4107-b750-655b07895f47', + index: 1, + predecessor_node_id: null, + node_id: '1735023354069', + node_type: 'start', + title: 'Start', + inputs: { + 'sys.files': [], + 'sys.user_id': '5ee03762-1d1a-46e8-ba0b-5f419a77da96', + 'sys.app_id': '8a5e87f8-6433-40f4-a67a-4be78a558dc7', + 'sys.workflow_id': 'bb5e2b89-40ac-45c9-9ccb-4f2cd926e080', + 'sys.workflow_run_id': '76adf675-a7d3-4cc1-9282-ed7ecfe4f65d', }, - { - id: 'a3105c5d-ff9e-44ea-9f4c-ab428958af20', - index: 2, - predecessor_node_id: '1735023354069', - node_id: '1735023361224', - node_type: 'code', - title: 'Code', - inputs: null, - process_data: null, - outputs: { - result: [ - 1, - 2, - 3, - ], - }, - status: 'succeeded', - error: null, - elapsed_time: 0.103333, - execution_metadata: null, - extras: {}, - created_at: 1735023510, - created_by_role: 'account', - created_by_account: { - id: '5ee03762-1d1a-46e8-ba0b-5f419a77da96', - name: 'Joel', - email: 'iamjoel007@gmail.com', - }, - created_by_end_user: null, - finished_at: 1735023511, + process_data: null, + outputs: { + 'sys.files': [], + 'sys.user_id': '5ee03762-1d1a-46e8-ba0b-5f419a77da96', + 'sys.app_id': '8a5e87f8-6433-40f4-a67a-4be78a558dc7', + 'sys.workflow_id': 'bb5e2b89-40ac-45c9-9ccb-4f2cd926e080', + 'sys.workflow_run_id': '76adf675-a7d3-4cc1-9282-ed7ecfe4f65d', }, - { - id: 'a823134d-9f1a-45a4-8977-db838d076316', - index: 3, - predecessor_node_id: '1735023361224', - node_id: '1735023391914', - node_type: 'iteration', - title: 'Iteration', - inputs: null, - process_data: null, - outputs: { - output: [ - 'aaa', - 'aaa', - 'aaa', - ], - }, - status: 'succeeded', - error: null, - elapsed_time: 0.408383, - execution_metadata: { - iteration_duration_map: { - 0: 0.118153, - 1: 0.135956, - 2: 0.128251, - }, - total_tokens: 0, - }, - extras: {}, - created_at: 1735023511, - created_by_role: 'account', - created_by_account: { - id: '5ee03762-1d1a-46e8-ba0b-5f419a77da96', - name: 'Joel', - email: 'iamjoel007@gmail.com', - }, - created_by_end_user: null, - finished_at: 1735023511, + status: 'succeeded', + error: null, + elapsed_time: 0.011458, + execution_metadata: null, + extras: {}, + created_by_end_user: null, + finished_at: 1735023510, + } + + const outputArrayNode = { + id: 'a3105c5d-ff9e-44ea-9f4c-ab428958af20', + index: 2, + predecessor_node_id: '1735023354069', + node_id: '1735023361224', + node_type: 'code', + title: 'Code', + inputs: null, + process_data: null, + outputs: { + result: [ + 1, + 2, + 3, + ], }, + status: 'succeeded', + error: null, + elapsed_time: 0.103333, + execution_metadata: null, + extras: {}, + finished_at: 1735023511, + } + + const iterationNode = { + id: 'a823134d-9f1a-45a4-8977-db838d076316', + index: 3, + predecessor_node_id: '1735023361224', + node_id: '1735023391914', + node_type: 'iteration', + title: 'Iteration', + inputs: null, + process_data: null, + outputs: { + output: [ + 'aaa', + 'aaa', + 'aaa', + ], + }, + + } + + const iterations = [ { id: 'a84a22d8-0f08-4006-bee2-fa7a7aef0420', index: 4, @@ -128,13 +96,6 @@ export const simpleIterationData = { }, extras: {}, created_at: 1735023511, - created_by_role: 'account', - created_by_account: { - id: '5ee03762-1d1a-46e8-ba0b-5f419a77da96', - name: 'Joel', - email: 'iamjoel007@gmail.com', - }, - created_by_end_user: null, finished_at: 1735023511, }, { @@ -158,13 +119,6 @@ export const simpleIterationData = { }, extras: {}, created_at: 1735023511, - created_by_role: 'account', - created_by_account: { - id: '5ee03762-1d1a-46e8-ba0b-5f419a77da96', - name: 'Joel', - email: 'iamjoel007@gmail.com', - }, - created_by_end_user: null, finished_at: 1735023511, }, { @@ -188,294 +142,49 @@ export const simpleIterationData = { }, extras: {}, created_at: 1735023511, - created_by_role: 'account', - created_by_account: { - id: '5ee03762-1d1a-46e8-ba0b-5f419a77da96', - name: 'Joel', - email: 'iamjoel007@gmail.com', - }, - created_by_end_user: null, finished_at: 1735023511, }, - { - id: 'e6ad6560-1aa3-43f3-89e3-e5287c9ea272', - index: 7, - predecessor_node_id: '1735023391914', - node_id: '1735023417757', - node_type: 'end', - title: 'End', - inputs: { - output: [ - 'aaa', - 'aaa', - 'aaa', - ], - }, - process_data: null, - outputs: { - output: [ - 'aaa', - 'aaa', - 'aaa', - ], - }, - status: 'succeeded', - error: null, - elapsed_time: 0.017552, - execution_metadata: null, - extras: {}, - created_at: 1735023511, - created_by_role: 'account', - created_by_account: { - id: '5ee03762-1d1a-46e8-ba0b-5f419a77da96', - name: 'Joel', - email: 'iamjoel007@gmail.com', - }, - created_by_end_user: null, - finished_at: 1735023511, - }, - ], - output: [ - { - id: '36c9860a-39e6-4107-b750-655b07895f47', - index: 1, - predecessor_node_id: null, - node_id: '1735023354069', - node_type: 'start', - title: 'Start', - inputs: { - 'sys.files': [], - 'sys.user_id': '5ee03762-1d1a-46e8-ba0b-5f419a77da96', - 'sys.app_id': '8a5e87f8-6433-40f4-a67a-4be78a558dc7', - 'sys.workflow_id': 'bb5e2b89-40ac-45c9-9ccb-4f2cd926e080', - 'sys.workflow_run_id': '76adf675-a7d3-4cc1-9282-ed7ecfe4f65d', - }, - process_data: null, - outputs: { - 'sys.files': [], - 'sys.user_id': '5ee03762-1d1a-46e8-ba0b-5f419a77da96', - 'sys.app_id': '8a5e87f8-6433-40f4-a67a-4be78a558dc7', - 'sys.workflow_id': 'bb5e2b89-40ac-45c9-9ccb-4f2cd926e080', - 'sys.workflow_run_id': '76adf675-a7d3-4cc1-9282-ed7ecfe4f65d', - }, - status: 'succeeded', - error: null, - elapsed_time: 0.011458, - execution_metadata: null, - extras: {}, - created_at: 1735023510, - created_by_role: 'account', - created_by_account: { - id: '5ee03762-1d1a-46e8-ba0b-5f419a77da96', - name: 'Joel', - email: 'iamjoel007@gmail.com', - }, - created_by_end_user: null, - finished_at: 1735023510, - }, - { - id: 'a3105c5d-ff9e-44ea-9f4c-ab428958af20', - index: 2, - predecessor_node_id: '1735023354069', - node_id: '1735023361224', - node_type: 'code', - title: 'Code', - inputs: null, - process_data: null, - outputs: { - result: [ - 1, - 2, - 3, - ], - }, - status: 'succeeded', - error: null, - elapsed_time: 0.103333, - execution_metadata: null, - extras: {}, - created_at: 1735023510, - created_by_role: 'account', - created_by_account: { - id: '5ee03762-1d1a-46e8-ba0b-5f419a77da96', - name: 'Joel', - email: 'iamjoel007@gmail.com', - }, - created_by_end_user: null, - finished_at: 1735023511, - }, - { - id: 'a823134d-9f1a-45a4-8977-db838d076316', - index: 3, - predecessor_node_id: '1735023361224', - node_id: '1735023391914', - node_type: 'iteration', - title: 'Iteration', - inputs: null, - process_data: null, - outputs: { - output: [ - 'aaa', - 'aaa', - 'aaa', - ], - }, - status: 'succeeded', - error: null, - elapsed_time: 0.408383, - execution_metadata: { - iteration_duration_map: { - 0: 0.118153, - 1: 0.135956, - 2: 0.128251, - }, - total_tokens: 0, - }, - extras: {}, - created_at: 1735023511, - created_by_role: 'account', - created_by_account: { - id: '5ee03762-1d1a-46e8-ba0b-5f419a77da96', - name: 'Joel', - email: 'iamjoel007@gmail.com', - }, - created_by_end_user: null, - finished_at: 1735023511, - details: [ - [ - { - id: 'a84a22d8-0f08-4006-bee2-fa7a7aef0420', - index: 4, - predecessor_node_id: '1735023391914start', - node_id: '1735023409906', - node_type: 'code', - title: 'Code 2', - inputs: null, - process_data: null, - outputs: { - result: 'aaa', - }, - status: 'succeeded', - error: null, - elapsed_time: 0.112688, - execution_metadata: { - iteration_id: '1735023391914', - iteration_index: 0, - }, - extras: {}, - created_at: 1735023511, - created_by_role: 'account', - created_by_account: { - id: '5ee03762-1d1a-46e8-ba0b-5f419a77da96', - name: 'Joel', - email: 'iamjoel007@gmail.com', - }, - created_by_end_user: null, - finished_at: 1735023511, - }, - ], - [ - { - id: 'ff71d773-a916-4513-960f-d7dcc4fadd86', - index: 5, - predecessor_node_id: '1735023391914start', - node_id: '1735023409906', - node_type: 'code', - title: 'Code 2', - inputs: null, - process_data: null, - outputs: { - result: 'aaa', - }, - status: 'succeeded', - error: null, - elapsed_time: 0.126034, - execution_metadata: { - iteration_id: '1735023391914', - iteration_index: 1, - }, - extras: {}, - created_at: 1735023511, - created_by_role: 'account', - created_by_account: { - id: '5ee03762-1d1a-46e8-ba0b-5f419a77da96', - name: 'Joel', - email: 'iamjoel007@gmail.com', - }, - created_by_end_user: null, - finished_at: 1735023511, - }, - ], - [ - { - id: 'd91c3ef9-0162-4013-9272-d4cc7fb1f188', - index: 6, - predecessor_node_id: '1735023391914start', - node_id: '1735023409906', - node_type: 'code', - title: 'Code 2', - inputs: null, - process_data: null, - outputs: { - result: 'aaa', - }, - status: 'succeeded', - error: null, - elapsed_time: 0.122716, - execution_metadata: { - iteration_id: '1735023391914', - iteration_index: 2, - }, - extras: {}, - created_at: 1735023511, - created_by_role: 'account', - created_by_account: { - id: '5ee03762-1d1a-46e8-ba0b-5f419a77da96', - name: 'Joel', - email: 'iamjoel007@gmail.com', - }, - created_by_end_user: null, - finished_at: 1735023511, - }, - ], + ] + + const endNode = { + id: 'e6ad6560-1aa3-43f3-89e3-e5287c9ea272', + index: 7, + predecessor_node_id: '1735023391914', + node_id: '1735023417757', + node_type: 'end', + title: 'End', + inputs: { + output: [ + 'aaa', + 'aaa', + 'aaa', ], }, - { - id: 'e6ad6560-1aa3-43f3-89e3-e5287c9ea272', - index: 7, - predecessor_node_id: '1735023391914', - node_id: '1735023417757', - node_type: 'end', - title: 'End', - inputs: { - output: [ - 'aaa', - 'aaa', - 'aaa', - ], - }, - process_data: null, - outputs: { - output: [ - 'aaa', - 'aaa', - 'aaa', - ], - }, - status: 'succeeded', - error: null, - elapsed_time: 0.017552, - execution_metadata: null, - extras: {}, - created_at: 1735023511, - created_by_role: 'account', - created_by_account: { - id: '5ee03762-1d1a-46e8-ba0b-5f419a77da96', - name: 'Joel', - email: 'iamjoel007@gmail.com', - }, - created_by_end_user: null, - finished_at: 1735023511, + process_data: null, + outputs: { + output: [ + 'aaa', + 'aaa', + 'aaa', + ], }, - ], -} + status: 'succeeded', + error: null, + elapsed_time: 0.017552, + execution_metadata: null, + extras: {}, + finished_at: 1735023511, + } + + return { + in: [startNode, outputArrayNode, iterationNode, ...iterations, endNode], + output: [startNode, outputArrayNode, { + ...iterationNode, + details: [ + [iterations[0]], + [iterations[1]], + [iterations[2]], + ], + }, endNode], + } +})() diff --git a/web/app/components/workflow/run/utils/format-log/iteration/index.spec.ts b/web/app/components/workflow/run/utils/format-log/iteration/index.spec.ts index eb61902e18..4bcbcf53e8 100644 --- a/web/app/components/workflow/run/utils/format-log/iteration/index.spec.ts +++ b/web/app/components/workflow/run/utils/format-log/iteration/index.spec.ts @@ -2,8 +2,9 @@ import format from '.' import { simpleIterationData } from './data' describe('format api data to tracing panel data', () => { + // test('result should have no nodes in iteration node', () => { + // } test('iteration should put nodes in details', () => { - // console.log(format(simpleIterationData.in as any)) expect(format(simpleIterationData.in as any)).toEqual(simpleIterationData.output) }) }) diff --git a/web/i18n/en-US/workflow.ts b/web/i18n/en-US/workflow.ts index d651f038c6..2566dc67e5 100644 --- a/web/i18n/en-US/workflow.ts +++ b/web/i18n/en-US/workflow.ts @@ -703,6 +703,13 @@ const translation = { configureTipDesc: 'After configuring the agentic strategy, this node will automatically load the remaining configurations. The strategy will affect the mechanism of multi-step tool reasoning. ', }, learnMore: 'Learn more', + pluginNotInstalled: 'This plugin is not installed', + pluginNotInstalledDesc: 'This plugin is installed from GitHub. Please go to Plugins to reinstall', + linkToPlugin: 'Link to Plugins', + pluginInstaller: { + install: 'Install', + installing: 'Installing', + }, }, }, tracing: { diff --git a/web/i18n/zh-Hans/workflow.ts b/web/i18n/zh-Hans/workflow.ts index 37e84d5ee6..f2e1cf4881 100644 --- a/web/i18n/zh-Hans/workflow.ts +++ b/web/i18n/zh-Hans/workflow.ts @@ -703,6 +703,13 @@ const translation = { configureTipDesc: '配置完成后,此节点将自动加载剩余配置。策略将影响多步工具推理的机制。', }, learnMore: '了解更多', + pluginNotInstalled: '插件未安装', + pluginNotInstalledDesc: '此插件是从 GitHub 安装的。请转到插件重新安装', + linkToPlugin: '转到插件', + pluginInstaller: { + install: '安装', + installing: '安装中', + }, }, }, tracing: {