allow overrideconfig from executeflow node to take in variables
This commit is contained in:
parent
8562d4a563
commit
1be809c55c
|
|
@ -30,7 +30,7 @@ class ExecuteFlow_Agentflow implements INode {
|
||||||
constructor() {
|
constructor() {
|
||||||
this.label = 'Execute Flow'
|
this.label = 'Execute Flow'
|
||||||
this.name = 'executeFlowAgentflow'
|
this.name = 'executeFlowAgentflow'
|
||||||
this.version = 1.0
|
this.version = 1.1
|
||||||
this.type = 'ExecuteFlow'
|
this.type = 'ExecuteFlow'
|
||||||
this.category = 'Agent Flows'
|
this.category = 'Agent Flows'
|
||||||
this.description = 'Execute another flow'
|
this.description = 'Execute another flow'
|
||||||
|
|
@ -62,7 +62,8 @@ class ExecuteFlow_Agentflow implements INode {
|
||||||
name: 'executeFlowOverrideConfig',
|
name: 'executeFlowOverrideConfig',
|
||||||
description: 'Override the config passed to the flow',
|
description: 'Override the config passed to the flow',
|
||||||
type: 'json',
|
type: 'json',
|
||||||
optional: true
|
optional: true,
|
||||||
|
acceptVariable: true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: 'Base URL',
|
label: 'Base URL',
|
||||||
|
|
@ -162,12 +163,17 @@ class ExecuteFlow_Agentflow implements INode {
|
||||||
const flowInput = nodeData.inputs?.executeFlowInput as string
|
const flowInput = nodeData.inputs?.executeFlowInput as string
|
||||||
const returnResponseAs = nodeData.inputs?.executeFlowReturnResponseAs as string
|
const returnResponseAs = nodeData.inputs?.executeFlowReturnResponseAs as string
|
||||||
const _executeFlowUpdateState = nodeData.inputs?.executeFlowUpdateState
|
const _executeFlowUpdateState = nodeData.inputs?.executeFlowUpdateState
|
||||||
const overrideConfig =
|
|
||||||
typeof nodeData.inputs?.executeFlowOverrideConfig === 'string' &&
|
let overrideConfig = nodeData.inputs?.executeFlowOverrideConfig
|
||||||
nodeData.inputs.executeFlowOverrideConfig.startsWith('{') &&
|
if (typeof overrideConfig === 'string' && overrideConfig.startsWith('{') && overrideConfig.endsWith('}')) {
|
||||||
nodeData.inputs.executeFlowOverrideConfig.endsWith('}')
|
try {
|
||||||
? JSON.parse(nodeData.inputs.executeFlowOverrideConfig)
|
// Handle escaped square brackets and other common escape sequences
|
||||||
: nodeData.inputs?.executeFlowOverrideConfig
|
const unescapedConfig = overrideConfig.replace(/\\(\[|\])/g, '$1')
|
||||||
|
overrideConfig = JSON.parse(unescapedConfig)
|
||||||
|
} catch (parseError) {
|
||||||
|
throw new Error(`Invalid JSON in executeFlowOverrideConfig: ${parseError.message}`)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const state = options.agentflowRuntime?.state as ICommonObject
|
const state = options.agentflowRuntime?.state as ICommonObject
|
||||||
const runtimeChatHistory = (options.agentflowRuntime?.chatHistory as BaseMessageLike[]) ?? []
|
const runtimeChatHistory = (options.agentflowRuntime?.chatHistory as BaseMessageLike[]) ?? []
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue