fix tool parameters

pull/22091/head
JzoNg 12 months ago
parent ec27b2ba85
commit 4d46866a72

@ -64,7 +64,7 @@ const FormInputItem: FC<Props> = ({
const isModelSelector = type === FormTypeEnum.modelSelector const isModelSelector = type === FormTypeEnum.modelSelector
const showTypeSwitch = isNumber || isObject || isArray const showTypeSwitch = isNumber || isObject || isArray
const isConstant = varInput?.type === VarKindType.constant const isConstant = varInput?.type === VarKindType.constant
const showVariableSelector = isString || isFile || varInput?.type === VarKindType.variable const showVariableSelector = isFile || varInput?.type === VarKindType.variable
const { availableVars, availableNodesWithParent } = useAvailableVarList(nodeId, { const { availableVars, availableNodesWithParent } = useAvailableVarList(nodeId, {
onlyLeafNodeVar: false, onlyLeafNodeVar: false,
@ -110,7 +110,7 @@ const FormInputItem: FC<Props> = ({
else if (isObject) else if (isObject)
return (varPayload: any) => varPayload.type === VarType.object return (varPayload: any) => varPayload.type === VarType.object
else if (isArray) else if (isArray)
return (varPayload: any) => varPayload.type === VarType.arrayObject return (varPayload: any) => [VarType.array, VarType.arrayString, VarType.arrayNumber, VarType.arrayObject].includes(varPayload.type)
return undefined return undefined
} }

@ -35,7 +35,7 @@ const useConfig = (id: string, payload: ToolNodeType) => {
* tool_parameters: tool dynamic setting(form type = llm) * tool_parameters: tool dynamic setting(form type = llm)
* output_schema: tool dynamic output * output_schema: tool dynamic output
*/ */
const { provider_id, provider_type, tool_name, tool_configurations, output_schema } = inputs const { provider_id, provider_type, tool_name, tool_configurations, output_schema, tool_parameters } = inputs
const isBuiltIn = provider_type === CollectionType.builtIn const isBuiltIn = provider_type === CollectionType.builtIn
const buildInTools = useStore(s => s.buildInTools) const buildInTools = useStore(s => s.buildInTools)
const customTools = useStore(s => s.customTools) const customTools = useStore(s => s.customTools)
@ -132,12 +132,19 @@ const useConfig = (id: string, payload: ToolNodeType) => {
if (!currTool) if (!currTool)
return return
const inputsWithDefaultValue = produce(inputs, (draft) => { const inputsWithDefaultValue = produce(inputs, (draft) => {
if (!draft.tool_configurations || Object.keys(draft.tool_configurations).length === 0) if (!draft.tool_configurations || Object.keys(draft.tool_configurations).length === 0) {
draft.tool_configurations = getConfiguredValue(tool_configurations, toolSettingSchema) draft.tool_configurations = getConfiguredValue(tool_configurations, toolSettingSchema)
}
else {
// TODO
}
if (!draft.tool_parameters) if (!draft.tool_parameters || Object.keys(draft.tool_configurations).length === 0) {
draft.tool_parameters = {} draft.tool_parameters = getConfiguredValue(tool_parameters, toolInputVarSchema)
// TODO: boolean & model & app formatting BOTH configuration & parameters }
else {
// TODO: boolean & model & app formatting BOTH configuration & parameters
}
}) })
setInputs(inputsWithDefaultValue) setInputs(inputsWithDefaultValue)
// eslint-disable-next-line react-hooks/exhaustive-deps // eslint-disable-next-line react-hooks/exhaustive-deps

Loading…
Cancel
Save