use tool_node_version to judge tool node & agent node data transfer

pull/22462/head
JzoNg 10 months ago
parent c133906a99
commit 47e1df4aaf

@ -7,7 +7,7 @@ import { renderI18nObject } from '@/i18n'
const nodeDefault: NodeDefault<AgentNodeType> = { const nodeDefault: NodeDefault<AgentNodeType> = {
defaultValue: { defaultValue: {
version: '2', tool_node_version: '2',
}, },
getAvailablePrevNodes(isChatMode) { getAvailablePrevNodes(isChatMode) {
return isChatMode return isChatMode
@ -62,27 +62,29 @@ const nodeDefault: NodeDefault<AgentNodeType> = {
const userSettings = toolValue.settings const userSettings = toolValue.settings
const reasoningConfig = toolValue.parameters const reasoningConfig = toolValue.parameters
const version = payload.version const version = payload.version
const toolNodeVersion = payload.tool_node_version
const mergeVersion = version || toolNodeVersion
schemas.forEach((schema: any) => { schemas.forEach((schema: any) => {
if (schema?.required) { if (schema?.required) {
if (schema.form === 'form' && !version && !userSettings[schema.name]?.value) { if (schema.form === 'form' && !mergeVersion && !userSettings[schema.name]?.value) {
return { return {
isValid: false, isValid: false,
errorMessage: t('workflow.errorMsg.toolParameterRequired', { field: renderI18nObject(param.label, language), param: renderI18nObject(schema.label, language) }), errorMessage: t('workflow.errorMsg.toolParameterRequired', { field: renderI18nObject(param.label, language), param: renderI18nObject(schema.label, language) }),
} }
} }
if (schema.form === 'form' && version && !userSettings[schema.name]?.value.value) { if (schema.form === 'form' && mergeVersion && !userSettings[schema.name]?.value.value) {
return { return {
isValid: false, isValid: false,
errorMessage: t('workflow.errorMsg.toolParameterRequired', { field: renderI18nObject(param.label, language), param: renderI18nObject(schema.label, language) }), errorMessage: t('workflow.errorMsg.toolParameterRequired', { field: renderI18nObject(param.label, language), param: renderI18nObject(schema.label, language) }),
} }
} }
if (schema.form === 'llm' && !version && reasoningConfig[schema.name].auto === 0 && !reasoningConfig[schema.name]?.value) { if (schema.form === 'llm' && !mergeVersion && reasoningConfig[schema.name].auto === 0 && !reasoningConfig[schema.name]?.value) {
return { return {
isValid: false, isValid: false,
errorMessage: t('workflow.errorMsg.toolParameterRequired', { field: renderI18nObject(param.label, language), param: renderI18nObject(schema.label, language) }), errorMessage: t('workflow.errorMsg.toolParameterRequired', { field: renderI18nObject(param.label, language), param: renderI18nObject(schema.label, language) }),
} }
} }
if (schema.form === 'llm' && version && reasoningConfig[schema.name].auto === 0 && !reasoningConfig[schema.name]?.value.value) { if (schema.form === 'llm' && mergeVersion && reasoningConfig[schema.name].auto === 0 && !reasoningConfig[schema.name]?.value.value) {
return { return {
isValid: false, isValid: false,
errorMessage: t('workflow.errorMsg.toolParameterRequired', { field: renderI18nObject(param.label, language), param: renderI18nObject(schema.label, language) }), errorMessage: t('workflow.errorMsg.toolParameterRequired', { field: renderI18nObject(param.label, language), param: renderI18nObject(schema.label, language) }),

@ -12,6 +12,7 @@ export type AgentNodeType = CommonNodeType & {
plugin_unique_identifier?: string plugin_unique_identifier?: string
memory?: Memory memory?: Memory
version?: string version?: string
tool_node_version?: string
} }
export enum AgentFeature { export enum AgentFeature {

@ -120,7 +120,7 @@ const useConfig = (id: string, payload: AgentNodeType) => {
} }
const formattingLegacyData = () => { const formattingLegacyData = () => {
if (inputs.version) if (inputs.version || inputs.tool_node_version)
return inputs return inputs
const newData = produce(inputs, (draft) => { const newData = produce(inputs, (draft) => {
const schemas = currentStrategy?.parameters || [] const schemas = currentStrategy?.parameters || []
@ -131,7 +131,7 @@ const useConfig = (id: string, payload: AgentNodeType) => {
if (targetSchema?.type === FormTypeEnum.multiToolSelector) if (targetSchema?.type === FormTypeEnum.multiToolSelector)
draft.agent_parameters![key].value = draft.agent_parameters![key].value.map((tool: any) => formattingToolData(tool)) draft.agent_parameters![key].value = draft.agent_parameters![key].value.map((tool: any) => formattingToolData(tool))
}) })
draft.version = '2' draft.tool_node_version = '2'
}) })
return newData return newData
} }

@ -10,7 +10,7 @@ const nodeDefault: NodeDefault<ToolNodeType> = {
defaultValue: { defaultValue: {
tool_parameters: {}, tool_parameters: {},
tool_configurations: {}, tool_configurations: {},
version: '2', tool_node_version: '2',
}, },
getAvailablePrevNodes(isChatMode: boolean) { getAvailablePrevNodes(isChatMode: boolean) {
const nodes = isChatMode const nodes = isChatMode

@ -23,4 +23,5 @@ export type ToolNodeType = CommonNodeType & {
output_schema: Record<string, any> output_schema: Record<string, any>
paramSchemas?: Record<string, any>[] paramSchemas?: Record<string, any>[]
version?: string version?: string
tool_node_version?: string
} }

@ -286,8 +286,8 @@ export const initialNodes = (originNodes: Node[], originEdges: Edge[]) => {
} }
} }
if (node.data.type === BlockEnum.Tool && !(node as Node<ToolNodeType>).data.version) { if (node.data.type === BlockEnum.Tool && !(node as Node<ToolNodeType>).data.version && !(node as Node<ToolNodeType>).data.tool_node_version) {
(node as Node<ToolNodeType>).data.version = '2' (node as Node<ToolNodeType>).data.tool_node_version = '2'
const toolConfigurations = (node as Node<ToolNodeType>).data.tool_configurations const toolConfigurations = (node as Node<ToolNodeType>).data.tool_configurations
if (toolConfigurations && Object.keys(toolConfigurations).length > 0) { if (toolConfigurations && Object.keys(toolConfigurations).length > 0) {

Loading…
Cancel
Save