From 5956375ceca3b08e695f412d046a3807f4a8f502 Mon Sep 17 00:00:00 2001 From: twwu Date: Thu, 18 Sep 2025 10:11:15 +0800 Subject: [PATCH] fix: ensure output_schema properties are checked before accessing them in strategy detail, use config, and tool default components --- .../components/plugins/plugin-detail-panel/strategy-detail.tsx | 2 +- web/app/components/workflow/nodes/agent/use-config.ts | 2 +- web/app/components/workflow/nodes/tool/default.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/web/app/components/plugins/plugin-detail-panel/strategy-detail.tsx b/web/app/components/plugins/plugin-detail-panel/strategy-detail.tsx index a8f171502c..e13e38ebe9 100644 --- a/web/app/components/plugins/plugin-detail-panel/strategy-detail.tsx +++ b/web/app/components/plugins/plugin-detail-panel/strategy-detail.tsx @@ -43,7 +43,7 @@ const StrategyDetail: FC = ({ const outputSchema = useMemo(() => { const res: any[] = [] - if (!detail.output_schema) + if (!detail.output_schema || !detail.output_schema.properties) return [] Object.keys(detail.output_schema.properties).forEach((outputKey) => { const output = detail.output_schema.properties[outputKey] diff --git a/web/app/components/workflow/nodes/agent/use-config.ts b/web/app/components/workflow/nodes/agent/use-config.ts index e24a3ea001..3d21d76ed5 100644 --- a/web/app/components/workflow/nodes/agent/use-config.ts +++ b/web/app/components/workflow/nodes/agent/use-config.ts @@ -181,7 +181,7 @@ const useConfig = (id: string, payload: AgentNodeType) => { const outputSchema = useMemo(() => { const res: any[] = [] - if (!inputs.output_schema) + if (!inputs.output_schema || !inputs.output_schema.properties) return [] Object.keys(inputs.output_schema.properties).forEach((outputKey) => { const output = inputs.output_schema.properties[outputKey] diff --git a/web/app/components/workflow/nodes/tool/default.ts b/web/app/components/workflow/nodes/tool/default.ts index 0ffd7b1883..5625a6c336 100644 --- a/web/app/components/workflow/nodes/tool/default.ts +++ b/web/app/components/workflow/nodes/tool/default.ts @@ -89,7 +89,7 @@ const nodeDefault: NodeDefault = { const currTool = currCollection?.tools.find(tool => tool.name === payload.tool_name) const output_schema = currTool?.output_schema let res: any[] = [] - if (!output_schema) { + if (!output_schema || !output_schema.properties) { res = TOOL_OUTPUT_STRUCT } else {