diff --git a/packages/server/src/utils/index.ts b/packages/server/src/utils/index.ts index 34d71c17..2c06ec68 100644 --- a/packages/server/src/utils/index.ts +++ b/packages/server/src/utils/index.ts @@ -1110,8 +1110,11 @@ export const replaceInputsWithConfig = ( continue } } else { - // Only proceed if the parameter is enabled - if (!isParameterEnabled(flowNodeData.label, config)) { + // Skip if it is an override "files" input, such as pdfFile, txtFile, etc + if (typeof overrideConfig[config] === 'string' && overrideConfig[config].includes('FILE-STORAGE::')) { + // pass + } else if (!isParameterEnabled(flowNodeData.label, config)) { + // Only proceed if the parameter is enabled continue } } diff --git a/packages/server/src/utils/upsertVector.ts b/packages/server/src/utils/upsertVector.ts index 0bcee73c..1cfe9f70 100644 --- a/packages/server/src/utils/upsertVector.ts +++ b/packages/server/src/utils/upsertVector.ts @@ -168,32 +168,6 @@ export const upsertVector = async (req: Request, isInternal: boolean = false) => const availableVariables = await appServer.AppDataSource.getRepository(Variable).find() const { nodeOverrides, variableOverrides, apiOverrideStatus } = getAPIOverrideConfig(chatflow) - // For "files" input, add a new node override with the actual input name such as pdfFile, txtFile, etc, to allow overriding the input - for (const nodeLabel in nodeOverrides) { - const params = nodeOverrides[nodeLabel] - const enabledFileParam = params.find((param) => param.enabled && param.name === 'files') - if (enabledFileParam) { - if (enabledFileParam.type.includes(',')) { - const fileInputFieldsFromExt = enabledFileParam.type.split(',').map((fileType) => mapExtToInputField(fileType.trim())) - for (const fileInputFieldFromExt of fileInputFieldsFromExt) { - if (nodeOverrides[nodeLabel].some((param) => param.name === fileInputFieldFromExt)) { - continue - } - nodeOverrides[nodeLabel].push({ - ...enabledFileParam, - name: fileInputFieldFromExt - }) - } - } else { - const fileInputFieldFromExt = mapExtToInputField(enabledFileParam.type) - nodeOverrides[nodeLabel].push({ - ...enabledFileParam, - name: fileInputFieldFromExt - }) - } - } - } - const upsertedResult = await buildFlow({ startingNodeIds, reactFlowNodes: nodes, diff --git a/packages/ui/src/ui-component/extended/OverrideConfig.jsx b/packages/ui/src/ui-component/extended/OverrideConfig.jsx index 8614f367..5f398fe0 100644 --- a/packages/ui/src/ui-component/extended/OverrideConfig.jsx +++ b/packages/ui/src/ui-component/extended/OverrideConfig.jsx @@ -121,10 +121,16 @@ const OverrideConfig = ({ dialogProps }) => { } if (overrideConfigStatus) { + // loop through each key in nodeOverrides and filter out the enabled ones + const filteredNodeOverrides = {} + for (const key in nodeOverrides) { + filteredNodeOverrides[key] = nodeOverrides[key].filter((node) => node.enabled) + } + obj.overrideConfig = { ...obj.overrideConfig, - nodes: nodeOverrides, - variables: variableOverrides + nodes: filteredNodeOverrides, + variables: variableOverrides.filter((node) => node.enabled) } }