chore: tool and iteration nodeinfo

This commit is contained in:
Joel 2025-05-07 14:46:35 +08:00
parent 17f0dde2c2
commit d27677e66e
3 changed files with 23 additions and 2 deletions

View File

@ -101,16 +101,18 @@ type Params<T> = OneStepRunParams<T>
const useLastRun = <T>({ const useLastRun = <T>({
...oneStepRunParams ...oneStepRunParams
}: Params<T>) => { }: Params<T>) => {
const blockType = oneStepRunParams.data.type
const { handleSyncWorkflowDraft } = useNodesSyncDraft() const { handleSyncWorkflowDraft } = useNodesSyncDraft()
const { const {
getData: getDataForCheckMore, getData: getDataForCheckMore,
} = useGetDataForCheckMoreHooks<T>(oneStepRunParams.data.type)(oneStepRunParams.id, oneStepRunParams.data) } = useGetDataForCheckMoreHooks<T>(blockType)(oneStepRunParams.id, oneStepRunParams.data)
const { const {
id, id,
data, data,
} = oneStepRunParams } = oneStepRunParams
const oneStepRunRes = useOneStepRun({ const oneStepRunRes = useOneStepRun({
...oneStepRunParams, ...oneStepRunParams,
iteratorInputKey: blockType === BlockEnum.Iteration ? `${id}.input_selector` : '',
moreDataForCheckValid: getDataForCheckMore(), moreDataForCheckValid: getDataForCheckMore(),
}) })
@ -125,12 +127,13 @@ const useLastRun = <T>({
setRunInputData, setRunInputData,
showSingleRun, showSingleRun,
runResult, runResult,
iterationRunResult,
} = oneStepRunRes } = oneStepRunRes
const { const {
nodeInfo, nodeInfo,
...singleRunParams ...singleRunParams
} = useSingleRunFormParamsHooks(data.type)({ } = useSingleRunFormParamsHooks(blockType)({
id, id,
payload: data, payload: data,
runInputData, runInputData,
@ -140,6 +143,7 @@ const useLastRun = <T>({
toVarInputs, toVarInputs,
varSelectorsToVarInputs, varSelectorsToVarInputs,
runResult, runResult,
iterationRunResult,
}) })
const callRunApi = async (data: Record<string, any>) => { const callRunApi = async (data: Record<string, any>) => {

View File

@ -6,6 +6,8 @@ import type { AgentNodeType } from './types'
import { useTranslation } from 'react-i18next' import { useTranslation } from 'react-i18next'
import type { Props as FormProps } from '@/app/components/workflow/nodes/_base/components/before-run-form/form' import type { Props as FormProps } from '@/app/components/workflow/nodes/_base/components/before-run-form/form'
import { useStrategyInfo } from './use-config' import { useStrategyInfo } from './use-config'
import type { NodeTracing } from '@/types/workflow'
import formatTracing from '@/app/components/workflow/run/utils/format-log'
const i18nPrefix = 'workflow.nodes.agent' const i18nPrefix = 'workflow.nodes.agent'
@ -17,6 +19,7 @@ type Params = {
getInputVars: (textList: string[]) => InputVar[] getInputVars: (textList: string[]) => InputVar[]
setRunInputData: (data: Record<string, any>) => void setRunInputData: (data: Record<string, any>) => void
toVarInputs: (variables: Variable[]) => InputVar[] toVarInputs: (variables: Variable[]) => InputVar[]
runResult: NodeTracing
} }
const useSingleRunFormParams = ({ const useSingleRunFormParams = ({
id, id,
@ -24,6 +27,7 @@ const useSingleRunFormParams = ({
runInputData, runInputData,
getInputVars, getInputVars,
setRunInputData, setRunInputData,
runResult,
}: Params) => { }: Params) => {
const { t } = useTranslation() const { t } = useTranslation()
const { inputs } = useNodeCrud<AgentNodeType>(id, payload) const { inputs } = useNodeCrud<AgentNodeType>(id, payload)
@ -68,8 +72,15 @@ const useSingleRunFormParams = ({
return forms return forms
}, [runInputData, setRunInputData, t, varInputs]) }, [runInputData, setRunInputData, t, varInputs])
const nodeInfo = useMemo(() => {
if (!runResult)
return
return formatTracing([runResult], t)[0]
}, [runResult, t])
return { return {
forms, forms,
nodeInfo,
} }
} }

View File

@ -6,6 +6,8 @@ import { useTranslation } from 'react-i18next'
import { useIsNodeInIteration, useWorkflow } from '../../hooks' import { useIsNodeInIteration, useWorkflow } from '../../hooks'
import { getNodeInfoById, getNodeUsedVarPassToServerKey, getNodeUsedVars, isSystemVar } from '../_base/components/variable/utils' import { getNodeInfoById, getNodeUsedVarPassToServerKey, getNodeUsedVars, isSystemVar } from '../_base/components/variable/utils'
import { InputVarType } from '@/app/components/workflow/types' import { InputVarType } from '@/app/components/workflow/types'
import formatTracing from '@/app/components/workflow/run/utils/format-log'
import type { NodeTracing } from '@/types/workflow'
const i18nPrefix = 'workflow.nodes.iteration' const i18nPrefix = 'workflow.nodes.iteration'
const DELIMITER = '@@@@@' const DELIMITER = '@@@@@'
@ -18,12 +20,14 @@ type Params = {
getInputVars: (textList: string[]) => InputVar[] getInputVars: (textList: string[]) => InputVar[]
setRunInputData: (data: Record<string, any>) => void setRunInputData: (data: Record<string, any>) => void
toVarInputs: (variables: Variable[]) => InputVar[] toVarInputs: (variables: Variable[]) => InputVar[]
iterationRunResult: NodeTracing[]
} }
const useSingleRunFormParams = ({ const useSingleRunFormParams = ({
id, id,
runInputData, runInputData,
toVarInputs, toVarInputs,
setRunInputData, setRunInputData,
iterationRunResult,
}: Params) => { }: Params) => {
const { t } = useTranslation() const { t } = useTranslation()
const { isNodeInIteration } = useIsNodeInIteration(id) const { isNodeInIteration } = useIsNodeInIteration(id)
@ -124,8 +128,10 @@ const useSingleRunFormParams = ({
] ]
}, [inputVarValues, iterator, iteratorInputKey, setInputVarValues, setIterator, t, usedOutVars]) }, [inputVarValues, iterator, iteratorInputKey, setInputVarValues, setIterator, t, usedOutVars])
const nodeInfo = formatTracing(iterationRunResult, t)[0]
return { return {
forms, forms,
nodeInfo,
} }
} }