From 5c9f17814bf78214ca385fd19aaa1ce37815fd52 Mon Sep 17 00:00:00 2001 From: supraface Date: Fri, 17 Jan 2025 00:14:06 +0900 Subject: [PATCH] Bugfix/Handling empty strings when resolving variables (#3864) Bugfix for how to handle empty strings when resolving variables --- packages/components/nodes/chains/LLMChain/LLMChain.ts | 2 +- packages/server/src/utils/index.ts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/components/nodes/chains/LLMChain/LLMChain.ts b/packages/components/nodes/chains/LLMChain/LLMChain.ts index 57c0a907..f7260363 100644 --- a/packages/components/nodes/chains/LLMChain/LLMChain.ts +++ b/packages/components/nodes/chains/LLMChain/LLMChain.ts @@ -249,7 +249,7 @@ const runPrediction = async ( for (const variable of inputVariables) { seen.push(variable) - if (promptValues[variable]) { + if (promptValues[variable] != null) { seen.pop() } } diff --git a/packages/server/src/utils/index.ts b/packages/server/src/utils/index.ts index 1a72f72f..34d71c17 100644 --- a/packages/server/src/utils/index.ts +++ b/packages/server/src/utils/index.ts @@ -879,7 +879,7 @@ export const getVariableValue = async ( if (variableFullPath.startsWith('$vars.')) { const vars = await getGlobalVariable(appDataSource, flowData, availableVariables, variableOverrides) const variableValue = get(vars, variableFullPath.replace('$vars.', '')) - if (variableValue) { + if (variableValue != null) { variableDict[`{{${variableFullPath}}}`] = variableValue returnVal = returnVal.split(`{{${variableFullPath}}}`).join(variableValue) } @@ -887,7 +887,7 @@ export const getVariableValue = async ( if (variableFullPath.startsWith('$flow.') && flowData) { const variableValue = get(flowData, variableFullPath.replace('$flow.', '')) - if (variableValue) { + if (variableValue != null) { variableDict[`{{${variableFullPath}}}`] = variableValue returnVal = returnVal.split(`{{${variableFullPath}}}`).join(variableValue) }