From 001385e843f0199e929d4545b1c341b62aa95a23 Mon Sep 17 00:00:00 2001 From: Joel Date: Tue, 18 Mar 2025 11:39:55 +0800 Subject: [PATCH] chore: remove useless code handle output var --- .../variable/object-child-tree-panel/test.tsx | 31 ----- .../nodes/_base/components/variable/utils.ts | 19 ++- .../workflow/nodes/llm/mock-struct-data.ts | 113 ------------------ 3 files changed, 8 insertions(+), 155 deletions(-) delete mode 100644 web/app/components/workflow/nodes/_base/components/variable/object-child-tree-panel/test.tsx delete mode 100644 web/app/components/workflow/nodes/llm/mock-struct-data.ts diff --git a/web/app/components/workflow/nodes/_base/components/variable/object-child-tree-panel/test.tsx b/web/app/components/workflow/nodes/_base/components/variable/object-child-tree-panel/test.tsx deleted file mode 100644 index 43db2ac205..0000000000 --- a/web/app/components/workflow/nodes/_base/components/variable/object-child-tree-panel/test.tsx +++ /dev/null @@ -1,31 +0,0 @@ -'use client' -import type { FC } from 'react' -import React from 'react' -import mockStructData from '@/app/components/workflow/nodes/llm/mock-struct-data' -import VarFullPathPanel from '../var-full-path-panel' -import PickerPanel from '@/app/components/workflow/nodes/_base/components/variable/object-child-tree-panel/picker' -import ShowPanel from '@/app/components/workflow/nodes/_base/components/variable/object-child-tree-panel/show' -import { Type } from '../../../../llm/types' - -const Test: FC = () => { - return ( -
- -
- -
- { }} - /> -
- ) -} -export default React.memo(Test) 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 6416b0c527..0f83493149 100644 --- a/web/app/components/workflow/nodes/_base/components/variable/utils.ts +++ b/web/app/components/workflow/nodes/_base/components/variable/utils.ts @@ -20,7 +20,6 @@ import { BlockEnum, InputVarType, VarType } from '@/app/components/workflow/type import type { StartNodeType } from '@/app/components/workflow/nodes/start/types' import type { ConversationVariable, EnvironmentVariable, Node, NodeOutPutVar, ValueSelector, Var } from '@/app/components/workflow/types' import type { VariableAssignerNodeType } from '@/app/components/workflow/nodes/variable-assigner/types' -import mockStructData from '@/app/components/workflow/nodes/llm/mock-struct-data' import type { Field as StructField } from '@/app/components/workflow/nodes/llm/types' import { @@ -500,9 +499,6 @@ const formatItem = ( return findExceptVarInObject(isFile ? { ...v, children } : v, filterVar, selector, isFile) }) - // if (res.nodeId === 'llm') - // console.log(res) - return res } export const toNodeOutputVars = ( @@ -1237,15 +1233,16 @@ export const getNodeOutputVars = (node: Node, isChatMode: boolean): ValueSelecto } case BlockEnum.LLM: { - varsToValueSelectorList([ - ...LLM_OUTPUT_STRUCT, - { + const vars = [...LLM_OUTPUT_STRUCT] + const llmNodeData = data as LLMNodeType + if (llmNodeData.structured_output_enabled && llmNodeData.structured_output?.schema?.properties && Object.keys(llmNodeData.structured_output.schema.properties).length > 0) { + vars.push({ variable: 'structured_output', type: VarType.object, - children: mockStructData, - }, - ], [id], res) - console.log(res) + children: llmNodeData.structured_output, + }) + } + varsToValueSelectorList(vars, [id], res) break } diff --git a/web/app/components/workflow/nodes/llm/mock-struct-data.ts b/web/app/components/workflow/nodes/llm/mock-struct-data.ts deleted file mode 100644 index a269443e26..0000000000 --- a/web/app/components/workflow/nodes/llm/mock-struct-data.ts +++ /dev/null @@ -1,113 +0,0 @@ -import { type StructuredOutput, Type } from './types' - -const data: StructuredOutput = { - schema: { - type: Type.object, - properties: { - string_field: { - type: Type.string, - description: '这是一个字符串类型的字段', - }, - obj_field: { - type: Type.object, - properties: { - string_field_1: { - type: Type.string, - description: 'this is a string type field', - }, - number_field_2: { - type: Type.number, - description: '描述可为空', - }, - array_field_4: { - type: Type.array, - items: { - type: Type.string, - }, - }, - boolean_field_5: { - type: Type.boolean, - description: '描述可为空', - }, - sub_item_d_2: { - type: Type.object, - properties: { - sub_item_3: { - type: Type.object, - // generate more than sub item 10 levels - properties: { - sub_item_4: { - type: Type.object, - properties: { - sub_item_5: { - type: Type.object, - properties: { - sub_item_6: { - type: Type.object, - properties: { - sub_item_7: { - type: Type.object, - properties: { - sub_item_8: { - type: Type.object, - properties: { - sub_item_9: { - type: Type.object, - properties: { - sub_item_10: { - type: Type.object, - properties: { - sub_item_11: { - type: Type.object, - properties: { - sub_item_12: { - type: Type.object, - description: 'This is a object type field.This is a object type field.This is a object type field.', - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - number_field_3: { - type: Type.number, - description: '描述可为空', - }, - }, - required: [ - 'string_field_1', - 'number_field_2', - 'enum_field_3', - 'array_field_4', - 'boolean_field_5', - ], - additionalProperties: false, - }, - }, - required: [ - 'string_field_1', - 'number_field_2', - 'enum_field_3', - 'array_field_4', - 'boolean_field_5', - ], - additionalProperties: false, - }, -} - -export default data