fix: agent node output vars error (#12931)

This commit is contained in:
Joel 2025-01-22 13:33:27 +08:00 committed by GitHub
parent 6ee4eba86b
commit c8b4a76530
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 22 additions and 3 deletions

View File

@ -48,6 +48,7 @@ const AgentPanel: FC<NodePanelProps<AgentNodeType>> = (props) => {
runInputData,
setRunInputData,
varInputs,
outputSchema,
} = useConfig(props.id, props.data)
const { t } = useTranslation()
const nodeInfo = useMemo(() => {
@ -121,12 +122,12 @@ const AgentPanel: FC<NodePanelProps<AgentNodeType>> = (props) => {
type='Array[Object]'
description={t(`${i18nPrefix}.outputVars.json`)}
/>
{inputs.output_schema && Object.entries(inputs.output_schema).map(([name, schema]) => (
{outputSchema.map(({ name, type, description }) => (
<VarItem
key={name}
name={name}
type={schema.type}
description={schema.description}
type={type}
description={description}
/>
))}
</OutputVars>

View File

@ -158,6 +158,23 @@ const useConfig = (id: string, payload: AgentNodeType) => {
return vars
})()
const outputSchema = useMemo(() => {
const res: any[] = []
if (!inputs.output_schema)
return []
Object.keys(inputs.output_schema.properties).forEach((outputKey) => {
const output = inputs.output_schema.properties[outputKey]
res.push({
name: outputKey,
type: output.type === 'array'
? `Array[${output.items?.type.slice(0, 1).toLocaleUpperCase()}${output.items?.type.slice(1)}]`
: `${output.type.slice(0, 1).toLocaleUpperCase()}${output.type.slice(1)}`,
description: output.description,
})
})
return res
}, [inputs.output_schema])
return {
readOnly,
inputs,
@ -184,6 +201,7 @@ const useConfig = (id: string, payload: AgentNodeType) => {
setRunInputData,
runResult,
varInputs,
outputSchema,
}
}