From 0c8aa723787473123c592fb876298a16879cd034 Mon Sep 17 00:00:00 2001 From: Tomi Turtiainen <10324676+tomi@users.noreply.github.com> Date: Fri, 18 Sep 2026 10:22:47 +0000 Subject: [PATCH] refactor(core): Extract enabled form-page node check (no-changelog) (#39045) --- packages/cli/src/webhooks/webhook-helpers.ts | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/packages/cli/src/webhooks/webhook-helpers.ts b/packages/cli/src/webhooks/webhook-helpers.ts index 69980f97d59..91aa61543cc 100644 --- a/packages/cli/src/webhooks/webhook-helpers.ts +++ b/packages/cli/src/webhooks/webhook-helpers.ts @@ -305,6 +305,14 @@ const getChatResponseMode = (workflowStartNode: INode, method: string) => { return undefined; }; +/** Returns whether the node is an enabled Form node or form-resuming Wait node. */ +function isEnabledFormPageNode(node: INode): boolean { + if (node.disabled) return false; + if (node.type === FORM_NODE_TYPE) return true; + + return node.type === WAIT_NODE_TYPE && node.parameters.resume === 'form'; +} + // eslint-disable-next-line complexity export function autoDetectResponseMode( workflowStartNode: INode, @@ -317,11 +325,7 @@ export function autoDetectResponseMode( for (const nodeName of connectedNodes) { const node = workflow.nodes[nodeName]; - if (node.type === WAIT_NODE_TYPE && node.parameters.resume !== 'form') { - continue; - } - - if ([FORM_NODE_TYPE, WAIT_NODE_TYPE].includes(node.type) && !node.disabled) { + if (isEnabledFormPageNode(node)) { return 'formPage'; } } @@ -361,11 +365,7 @@ export function autoDetectResponseMode( for (const nodeName of connectedNodes) { const node = workflow.nodes[nodeName]; - if (node.type === WAIT_NODE_TYPE && node.parameters.resume !== 'form') { - continue; - } - - if ([FORM_NODE_TYPE, WAIT_NODE_TYPE].includes(node.type) && !node.disabled) { + if (isEnabledFormPageNode(node)) { return 'responseNode'; } }