From 53bb1bb937107d4269418614ac3e9e399344236a Mon Sep 17 00:00:00 2001 From: AkaraChen Date: Wed, 8 Jan 2025 14:09:35 +0800 Subject: [PATCH] fix: agent node cannot output var --- web/app/components/workflow/constants.ts | 1 + .../workflow/nodes/_base/components/variable/utils.ts | 5 +---- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/web/app/components/workflow/constants.ts b/web/app/components/workflow/constants.ts index 922caded51..87f1e01f56 100644 --- a/web/app/components/workflow/constants.ts +++ b/web/app/components/workflow/constants.ts @@ -404,6 +404,7 @@ export const SUPPORT_OUTPUT_VARS_NODE = [ BlockEnum.HttpRequest, BlockEnum.Tool, BlockEnum.VariableAssigner, BlockEnum.VariableAggregator, BlockEnum.QuestionClassifier, BlockEnum.ParameterExtractor, BlockEnum.Iteration, BlockEnum.DocExtractor, BlockEnum.ListFilter, + BlockEnum.Agent, ] export const LLM_OUTPUT_STRUCT: Var[] = [ diff --git a/web/app/components/workflow/nodes/_base/components/variable/utils.ts b/web/app/components/workflow/nodes/_base/components/variable/utils.ts index 787ed890d9..6f3ec8794f 100644 --- a/web/app/components/workflow/nodes/_base/components/variable/utils.ts +++ b/web/app/components/workflow/nodes/_base/components/variable/utils.ts @@ -319,16 +319,13 @@ const formatItem = ( case BlockEnum.Agent: { const payload = data as AgentNodeType const outputs: Var[] = [] - Object.keys(payload.output_schema.properties).forEach((outputKey) => { + Object.keys(payload.output_schema?.properties || {}).forEach((outputKey) => { const output = payload.output_schema.properties[outputKey] outputs.push({ variable: outputKey, type: output.type === 'array' ? `Array[${output.items?.type.slice(0, 1).toLocaleUpperCase()}${output.items?.type.slice(1)}]` as VarType : `${output.type.slice(0, 1).toLocaleUpperCase()}${output.type.slice(1)}` as VarType, - // TODO: is this required? - // @ts-expect-error todo added - description: output.description, }) }) res.vars = [