@n8n/instance-ai 1.24.4 → 1.25.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -3
- package/dist/agent/credential-guardrails.prompt.d.ts +1 -0
- package/dist/agent/credential-guardrails.prompt.js +2 -1
- package/dist/agent/credential-guardrails.prompt.js.map +1 -1
- package/dist/agent/instance-agent.js +11 -18
- package/dist/agent/instance-agent.js.map +1 -1
- package/dist/agent/shared-prompts.d.ts +2 -2
- package/dist/agent/shared-prompts.js +2 -2
- package/dist/agent/shared-prompts.js.map +1 -1
- package/dist/agent/sub-agent-factory.d.ts +1 -1
- package/dist/agent/sub-agent-factory.js +2 -1
- package/dist/agent/sub-agent-factory.js.map +1 -1
- package/dist/agent/system-prompt.d.ts +1 -0
- package/dist/agent/system-prompt.js +29 -4
- package/dist/agent/system-prompt.js.map +1 -1
- package/dist/build.tsbuildinfo +1 -1
- package/dist/constants/max-steps.d.ts +0 -1
- package/dist/constants/max-steps.js +0 -1
- package/dist/constants/max-steps.js.map +1 -1
- package/dist/debug/sanitize-debug-snapshot.js +3 -3
- package/dist/debug/sanitize-debug-snapshot.js.map +1 -1
- package/dist/error-formatting.js +5 -12
- package/dist/error-formatting.js.map +1 -1
- package/dist/index.d.ts +5 -10
- package/dist/index.js +10 -9
- package/dist/index.js.map +1 -1
- package/dist/knowledge-base/materialize-knowledge-base.js +24 -16
- package/dist/knowledge-base/materialize-knowledge-base.js.map +1 -1
- package/dist/mcp/mcp-client-manager.js +3 -4
- package/dist/mcp/mcp-client-manager.js.map +1 -1
- package/dist/runtime/background-task-manager.js +5 -5
- package/dist/runtime/background-task-manager.js.map +1 -1
- package/dist/runtime/resumable-stream-executor.js +2 -3
- package/dist/runtime/resumable-stream-executor.js.map +1 -1
- package/dist/runtime/run-state-registry.js +1 -1
- package/dist/runtime/run-state-registry.js.map +1 -1
- package/dist/skills/materialize-runtime-skills.js +30 -23
- package/dist/skills/materialize-runtime-skills.js.map +1 -1
- package/dist/skills/runtime-skills.d.ts +1 -0
- package/dist/skills/runtime-skills.js +11 -0
- package/dist/skills/runtime-skills.js.map +1 -1
- package/dist/skills/skill-gates.d.ts +2 -0
- package/dist/skills/skill-gates.js +4 -1
- package/dist/skills/skill-gates.js.map +1 -1
- package/dist/storage/workflow-loop-storage.d.ts +550 -0
- package/dist/storage/workflow-loop-storage.js +31 -1
- package/dist/storage/workflow-loop-storage.js.map +1 -1
- package/dist/stream/consume-with-hitl.d.ts +0 -28
- package/dist/stream/consume-with-hitl.js +0 -50
- package/dist/stream/consume-with-hitl.js.map +1 -1
- package/dist/tools/activity.tool.d.ts +2 -0
- package/dist/tools/activity.tool.js +102 -0
- package/dist/tools/activity.tool.js.map +1 -0
- package/dist/tools/credentials.tool.js +5 -3
- package/dist/tools/credentials.tool.js.map +1 -1
- package/dist/tools/executions.tool.js +47 -10
- package/dist/tools/executions.tool.js.map +1 -1
- package/dist/tools/filesystem/create-tools-from-mcp-server.js +1 -0
- package/dist/tools/filesystem/create-tools-from-mcp-server.js.map +1 -1
- package/dist/tools/index.d.ts +1 -1
- package/dist/tools/index.js +45 -55
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/n8n-docs/schemas.js +1 -1
- package/dist/tools/n8n-docs/schemas.js.map +1 -1
- package/dist/tools/n8n-docs.tool.d.ts +2 -1
- package/dist/tools/n8n-docs.tool.js +11 -3
- package/dist/tools/n8n-docs.tool.js.map +1 -1
- package/dist/tools/orchestration/agent-persistence.d.ts +0 -12
- package/dist/tools/orchestration/agent-persistence.js +0 -34
- package/dist/tools/orchestration/agent-persistence.js.map +1 -1
- package/dist/tools/orchestration/build-agent.tool.js +3 -3
- package/dist/tools/orchestration/build-agent.tool.js.map +1 -1
- package/dist/tools/orchestration/complete-checkpoint.tool.js +1 -1
- package/dist/tools/orchestration/complete-checkpoint.tool.js.map +1 -1
- package/dist/tools/orchestration/plan.tool.js +5 -1
- package/dist/tools/orchestration/plan.tool.js.map +1 -1
- package/dist/tools/orchestration/report-verification-verdict.tool.js +7 -1
- package/dist/tools/orchestration/report-verification-verdict.tool.js.map +1 -1
- package/dist/tools/orchestration/tracing-utils.d.ts +1 -6
- package/dist/tools/orchestration/tracing-utils.js +0 -99
- package/dist/tools/orchestration/tracing-utils.js.map +1 -1
- package/dist/tools/orchestration/verification/analyze-result.d.ts +5 -0
- package/dist/tools/orchestration/verification/analyze-result.js +27 -5
- package/dist/tools/orchestration/verification/analyze-result.js.map +1 -1
- package/dist/tools/orchestration/verification/claim.d.ts +14 -0
- package/dist/tools/orchestration/verification/claim.js +52 -0
- package/dist/tools/orchestration/verification/claim.js.map +1 -0
- package/dist/tools/orchestration/verification/finalize-result.d.ts +5 -2
- package/dist/tools/orchestration/verification/finalize-result.js +21 -25
- package/dist/tools/orchestration/verification/finalize-result.js.map +1 -1
- package/dist/tools/orchestration/verification/resolve-target.js +39 -15
- package/dist/tools/orchestration/verification/resolve-target.js.map +1 -1
- package/dist/tools/orchestration/verification/resolved-parameter-warnings.d.ts +58 -0
- package/dist/tools/orchestration/verification/resolved-parameter-warnings.js +127 -0
- package/dist/tools/orchestration/verification/resolved-parameter-warnings.js.map +1 -0
- package/dist/tools/orchestration/verification/scripted-gate-run.d.ts +3 -0
- package/dist/tools/orchestration/verification/scripted-gate-run.js +22 -2
- package/dist/tools/orchestration/verification/scripted-gate-run.js.map +1 -1
- package/dist/tools/orchestration/verification/types.d.ts +8 -1
- package/dist/tools/orchestration/verify-built-workflow.tool.d.ts +3 -0
- package/dist/tools/orchestration/verify-built-workflow.tool.js +141 -18
- package/dist/tools/orchestration/verify-built-workflow.tool.js.map +1 -1
- package/dist/tools/research.tool.js +3 -2
- package/dist/tools/research.tool.js.map +1 -1
- package/dist/tools/task-control.tool.js +8 -1
- package/dist/tools/task-control.tool.js.map +1 -1
- package/dist/tools/tool-ids.d.ts +1 -3
- package/dist/tools/tool-ids.js +2 -3
- package/dist/tools/tool-ids.js.map +1 -1
- package/dist/tools/web-research/sanitize-web-content.d.ts +1 -2
- package/dist/tools/web-research/sanitize-web-content.js +6 -19
- package/dist/tools/web-research/sanitize-web-content.js.map +1 -1
- package/dist/tools/workflows/build-workflow.tool.d.ts +12 -0
- package/dist/tools/workflows/build-workflow.tool.js +158 -12
- package/dist/tools/workflows/build-workflow.tool.js.map +1 -1
- package/dist/tools/workflows/detect-unparseable-openai-schema.js +1 -1
- package/dist/tools/workflows/detect-unparseable-openai-schema.js.map +1 -1
- package/dist/tools/workflows/detect-wrong-kind-locator.js +7 -9
- package/dist/tools/workflows/detect-wrong-kind-locator.js.map +1 -1
- package/dist/tools/workflows/reconcile-simulation-plan.js +1 -1
- package/dist/tools/workflows/reconcile-simulation-plan.js.map +1 -1
- package/dist/tools/workflows/resolve-credentials.js.map +1 -1
- package/dist/tools/workflows/setup-items.d.ts +5 -0
- package/dist/tools/workflows/setup-items.js +29 -0
- package/dist/tools/workflows/setup-items.js.map +1 -1
- package/dist/tools/workflows/setup-panel-state.d.ts +31 -0
- package/dist/tools/workflows/setup-panel-state.js +197 -0
- package/dist/tools/workflows/setup-panel-state.js.map +1 -0
- package/dist/tools/workflows/setup-workflow.service.d.ts +3 -1
- package/dist/tools/workflows/setup-workflow.service.js +20 -13
- package/dist/tools/workflows/setup-workflow.service.js.map +1 -1
- package/dist/tools/workflows/validate-workflow.service.js.map +1 -1
- package/dist/tools/workflows/wait-gate-script.js +1 -1
- package/dist/tools/workflows/wait-gate-script.js.map +1 -1
- package/dist/tools/workflows/workflow-build-reporting.d.ts +1 -0
- package/dist/tools/workflows/workflow-build-reporting.js +1 -0
- package/dist/tools/workflows/workflow-build-reporting.js.map +1 -1
- package/dist/tools/workflows/workflow-build-telemetry.d.ts +5 -1
- package/dist/tools/workflows/workflow-build-telemetry.js +8 -0
- package/dist/tools/workflows/workflow-build-telemetry.js.map +1 -1
- package/dist/tools/workflows/workflow-file-bindings.js +0 -2
- package/dist/tools/workflows/workflow-file-bindings.js.map +1 -1
- package/dist/tools/workflows/workflow-source-compiler.js +80 -25
- package/dist/tools/workflows/workflow-source-compiler.js.map +1 -1
- package/dist/tools/workflows/workflow-validation-warnings.d.ts +13 -2
- package/dist/tools/workflows/workflow-validation-warnings.js +55 -1
- package/dist/tools/workflows/workflow-validation-warnings.js.map +1 -1
- package/dist/tools/workflows.tool.d.ts +1 -5
- package/dist/tools/workflows.tool.js +112 -136
- package/dist/tools/workflows.tool.js.map +1 -1
- package/dist/tracing/langsmith-tracing.d.ts +10 -22
- package/dist/tracing/langsmith-tracing.js +106 -110
- package/dist/tracing/langsmith-tracing.js.map +1 -1
- package/dist/tracing/sandbox-tracing.d.ts +17 -0
- package/dist/tracing/sandbox-tracing.js +60 -0
- package/dist/tracing/sandbox-tracing.js.map +1 -0
- package/dist/tracing/trace-payloads.d.ts +1 -0
- package/dist/tracing/trace-payloads.js +17 -4
- package/dist/tracing/trace-payloads.js.map +1 -1
- package/dist/tracing/trace-replay.js.map +1 -1
- package/dist/types.d.ts +53 -66
- package/dist/types.js.map +1 -1
- package/dist/utils/eval-agents.js +3 -7
- package/dist/utils/eval-agents.js.map +1 -1
- package/dist/utils/generate-validated-json.js +2 -6
- package/dist/utils/generate-validated-json.js.map +1 -1
- package/dist/workflow-loop/guidance.d.ts +1 -0
- package/dist/workflow-loop/guidance.js +48 -4
- package/dist/workflow-loop/guidance.js.map +1 -1
- package/dist/workflow-loop/render-claim.d.ts +6 -0
- package/dist/workflow-loop/render-claim.js +61 -0
- package/dist/workflow-loop/render-claim.js.map +1 -0
- package/dist/workflow-loop/setup-verification-policy.d.ts +3 -1
- package/dist/workflow-loop/setup-verification-policy.js +38 -0
- package/dist/workflow-loop/setup-verification-policy.js.map +1 -1
- package/dist/workflow-loop/verification-obligation.d.ts +1 -0
- package/dist/workflow-loop/verification-obligation.js +47 -14
- package/dist/workflow-loop/verification-obligation.js.map +1 -1
- package/dist/workflow-loop/verification-progress.d.ts +62 -0
- package/dist/workflow-loop/verification-progress.js +64 -0
- package/dist/workflow-loop/verification-progress.js.map +1 -0
- package/dist/workflow-loop/workflow-loop-controller.js +2 -0
- package/dist/workflow-loop/workflow-loop-controller.js.map +1 -1
- package/dist/workflow-loop/workflow-loop-state.d.ts +993 -0
- package/dist/workflow-loop/workflow-loop-state.js +32 -1
- package/dist/workflow-loop/workflow-loop-state.js.map +1 -1
- package/dist/workflow-loop/workflow-task-service.d.ts +6 -1
- package/dist/workflow-loop/workflow-task-service.js +86 -6
- package/dist/workflow-loop/workflow-task-service.js.map +1 -1
- package/dist/workspace/lazy-runtime-workspace.js +57 -9
- package/dist/workspace/lazy-runtime-workspace.js.map +1 -1
- package/dist/workspace/prebaked-workspace-bundle.js +93 -58
- package/dist/workspace/prebaked-workspace-bundle.js.map +1 -1
- package/dist/workspace/sandbox-fs.js +56 -32
- package/dist/workspace/sandbox-fs.js.map +1 -1
- package/dist/workspace/sandbox-setup.js +65 -52
- package/dist/workspace/sandbox-setup.js.map +1 -1
- package/dist/workspace/workspace-files.js +76 -57
- package/dist/workspace/workspace-files.js.map +1 -1
- package/knowledge-base/reference/workflow-builder-guardrails.md +4 -2
- package/package.json +12 -12
- package/skills/agent-builder/SKILL.md +15 -6
- package/skills/credential-recipe-research/SKILL.md +1 -1
- package/skills/debugging-executions/SKILL.md +24 -0
- package/skills/instance-awareness/SKILL.md +122 -0
- package/skills/intent-recognition/SKILL.md +83 -49
- package/skills/n8n-docs-assistant/SKILL.md +5 -9
- package/skills/planned-task-runtime/SKILL.md +2 -2
- package/skills/post-build-flow/SKILL.md +173 -23
- package/skills/workflow-builder/SKILL.md +45 -21
- package/dist/agent/sub-agent-briefing.d.ts +0 -20
- package/dist/agent/sub-agent-briefing.js +0 -39
- package/dist/agent/sub-agent-briefing.js.map +0 -1
- package/dist/tools/evals/analyze-agent-input-columns.service.d.ts +0 -6
- package/dist/tools/evals/analyze-agent-input-columns.service.js +0 -17
- package/dist/tools/evals/analyze-agent-input-columns.service.js.map +0 -1
- package/dist/tools/evals/apply-pin-data.service.d.ts +0 -3
- package/dist/tools/evals/apply-pin-data.service.js +0 -19
- package/dist/tools/evals/apply-pin-data.service.js.map +0 -1
- package/dist/tools/evals/column-ref-utils.d.ts +0 -20
- package/dist/tools/evals/column-ref-utils.js +0 -274
- package/dist/tools/evals/column-ref-utils.js.map +0 -1
- package/dist/tools/evals/describe-metric-for-workflow.service.d.ts +0 -6
- package/dist/tools/evals/describe-metric-for-workflow.service.js +0 -90
- package/dist/tools/evals/describe-metric-for-workflow.service.js.map +0 -1
- package/dist/tools/evals/detect-agent-named-refs.service.d.ts +0 -9
- package/dist/tools/evals/detect-agent-named-refs.service.js +0 -83
- package/dist/tools/evals/detect-agent-named-refs.service.js.map +0 -1
- package/dist/tools/evals/detect-ai-nodes.d.ts +0 -7
- package/dist/tools/evals/detect-ai-nodes.js +0 -75
- package/dist/tools/evals/detect-ai-nodes.js.map +0 -1
- package/dist/tools/evals/detect-tool-refs.service.d.ts +0 -7
- package/dist/tools/evals/detect-tool-refs.service.js +0 -66
- package/dist/tools/evals/detect-tool-refs.service.js.map +0 -1
- package/dist/tools/evals/ensure-eval-data-table.service.d.ts +0 -15
- package/dist/tools/evals/ensure-eval-data-table.service.js +0 -83
- package/dist/tools/evals/ensure-eval-data-table.service.js.map +0 -1
- package/dist/tools/evals/eval-data-requirements.service.d.ts +0 -20
- package/dist/tools/evals/eval-data-requirements.service.js +0 -187
- package/dist/tools/evals/eval-data-requirements.service.js.map +0 -1
- package/dist/tools/evals/evals.tool.d.ts +0 -45
- package/dist/tools/evals/evals.tool.js +0 -454
- package/dist/tools/evals/evals.tool.js.map +0 -1
- package/dist/tools/evals/extract-rows-from-history.service.d.ts +0 -17
- package/dist/tools/evals/extract-rows-from-history.service.js +0 -103
- package/dist/tools/evals/extract-rows-from-history.service.js.map +0 -1
- package/dist/tools/evals/format-eval-setup-task.d.ts +0 -16
- package/dist/tools/evals/format-eval-setup-task.js +0 -167
- package/dist/tools/evals/format-eval-setup-task.js.map +0 -1
- package/dist/tools/evals/generate-sample-rows.service.d.ts +0 -35
- package/dist/tools/evals/generate-sample-rows.service.js +0 -259
- package/dist/tools/evals/generate-sample-rows.service.js.map +0 -1
- package/dist/tools/evals/generate-tool-ref-pin-data.service.d.ts +0 -11
- package/dist/tools/evals/generate-tool-ref-pin-data.service.js +0 -112
- package/dist/tools/evals/generate-tool-ref-pin-data.service.js.map +0 -1
- package/dist/tools/evals/metric-catalog.d.ts +0 -63
- package/dist/tools/evals/metric-catalog.js +0 -81
- package/dist/tools/evals/metric-catalog.js.map +0 -1
- package/dist/tools/orchestration/eval-data-agent.tool.d.ts +0 -2
- package/dist/tools/orchestration/eval-data-agent.tool.js +0 -184
- package/dist/tools/orchestration/eval-data-agent.tool.js.map +0 -1
- package/dist/tools/orchestration/eval-setup-agent.prompt.d.ts +0 -1
- package/dist/tools/orchestration/eval-setup-agent.prompt.js +0 -238
- package/dist/tools/orchestration/eval-setup-agent.prompt.js.map +0 -1
- package/dist/tools/orchestration/eval-setup-agent.tool.d.ts +0 -31
- package/dist/tools/orchestration/eval-setup-agent.tool.js +0 -204
- package/dist/tools/orchestration/eval-setup-agent.tool.js.map +0 -1
- package/dist/tools/workflows/observed-workflow-checksums.d.ts +0 -4
- package/dist/tools/workflows/observed-workflow-checksums.js +0 -82
- package/dist/tools/workflows/observed-workflow-checksums.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-source-compiler.js","sourceRoot":"","sources":["../../../src/tools/workflows/workflow-source-compiler.ts"],"names":[],"mappings":";;;;;AAAA,wCAA6D;AAC7D,iDAAuD;AACvD,oDAAgD;AAChD,oDAAwE;AACxE,+CAAkD;AAElD,uEAA6F;AAC7F,+EAAyE;AACzE,qFAA+E;AAC/E,2EAAqE;AACrE,yFAAmF;AACnF,2EAA2E;AAC3E,iFAAiG;AAEjG,2DAA8E;AAC9E,qEAAoE;AAoCpE,SAAS,cAAc,CAAC,KAAc;IACrC,OAAO,CACN,IAAA,oBAAQ,EAAC,KAAK,CAAC;QACf,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;QAC9B,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;QAC1B,IAAA,oBAAQ,EAAC,KAAK,CAAC,WAAW,CAAC,CAC3B,CAAC;AACH,CAAC;AAED,oCAA2C,QAAgB;IAC1D,MAAM,UAAU,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;IAC1C,OAAO,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAClE,CAAC;AAED,kCAAyC,QAAgB;IACxD,OAAO,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACjD,CAAC;AAMD,SAAS,sBAAsB,CAAC,IAAkB;IACjD,IAAI,CAAC,IAAI,CAAC,KAAK;QAAE,OAAO;IACxB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,iCAAkB,EAAC,IAAI,CAAC,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,wBAAwB,CAChC,IAAkB,EAClB,OAA0B,EAC1B,gBAAgB,GAAwB,EAAE;IAE1C,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAE7B,MAAM,gBAAgB,GAAG,IAAA,+BAAgB,EAAC,IAAI,EAAE;QAC/C,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,UAAU,EAAE,IAAI;KAChB,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,CAAC,GAAG,gBAAgB,CAAC,CAAC;IACvC,IAAA,sDAAuB,EAAC,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC3D,IAAA,sDAAuB,EAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC7D,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAA,sDAAwB,EAAC,IAAI,CAAC,CAAC,CAAC;IACjD,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAA,wDAA4B,EAAC,IAAI,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAChF,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAA,gEAA6B,EAAC,IAAI,CAAC,CAAC,CAAC;IACtD,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAA,4DAA2B,EAAC,IAAI,CAAC,CAAC,CAAC;IACpD,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAA,kDAAsB,EAAC,IAAI,CAAC,CAAC,CAAC;IAC/C,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED,SAAS,uBAAuB,CAAC,MAAc;IAC9C,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACJ,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO;YACN,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,4BAA4B;YACpC,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE;gBACP,kCAAkC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,EAAE;aAC3F;YACD,OAAO,EAAE,qCAAqC;SAC9C,CAAC;IACH,CAAC;IAED,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7B,OAAO;YACN,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,uBAAuB;YAC/B,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,CAAC,0DAA0D,CAAC;YACpE,OAAO,EAAE,2DAA2D;SACpE,CAAC;IACH,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC;AACrF,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAc;IAC3C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAErC,MAAM,QAAQ,GAAwB,EAAE,CAAC;IACzC,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC,IAAA,oBAAQ,EAAC,OAAO,CAAC;YAAE,SAAS;QACjC,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ;YAAE,SAAS;QAEtF,QAAQ,CAAC,IAAI,CAAC;YACb,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,QAAQ,EAAE,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;YAC7E,QAAQ,EACP,OAAO,CAAC,QAAQ,KAAK,eAAe;gBACpC,OAAO,CAAC,QAAQ,KAAK,SAAS;gBAC9B,OAAO,CAAC,QAAQ,KAAK,OAAO;gBAC3B,CAAC,CAAC,OAAO,CAAC,QAAQ;gBAClB,CAAC,CAAC,SAAS;SACb,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACzC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACrC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,aAAa,CACrB,KAAc;IAEd,OAAO,IAAA,oBAAQ,EAAC,KAAK,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACrC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,kCAAkC,CAC1C,KAAc;IAEd,IAAI,CAAC,IAAA,oBAAQ,EAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAEvC,MAAM,QAAQ,GAAyC,EAAE,CAAC;IAC1D,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACvD,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,QAAQ,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;QAC5B,CAAC;IACF,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;AAChE,CAAC;AAED,SAAS,uBAAuB,CAAC,MAAc;IAC9C,MAAM,YAAY,GAAG,MAAM;SACzB,IAAI,EAAE;SACN,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,OAAO,CAAC;SACf,GAAG,EAAE,CAAC;IAER,IAAI,CAAC,YAAY;QAAE,OAAO,SAAS,CAAC;IAEpC,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACJ,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,IAAA,oBAAQ,EAAC,MAAM,CAAC,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAE/E,OAAO;QACN,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,QAAQ,EAAE,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;QACvE,sBAAsB,EAAE,kCAAkC,CAAC,MAAM,CAAC,sBAAsB,CAAC;QACzF,QAAQ,EAAE,oBAAoB,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC/C,MAAM,EAAE,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC;KACzC,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAgB;IAC3C,MAAM,qBAAqB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;QACnD,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QACvC,OAAO,CACN,UAAU,CAAC,QAAQ,CAAC,uBAAuB,CAAC;YAC5C,UAAU,CAAC,QAAQ,CAAC,yBAAyB,CAAC;YAC9C,UAAU,CAAC,QAAQ,CAAC,uBAAuB,CAAC;YAC5C,UAAU,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YACvC,UAAU,CAAC,QAAQ,CAAC,yBAAyB,CAAC;YAC9C,UAAU,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CACpD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,qBAAqB;QAAE,OAAO,MAAM,CAAC;IAE1C,OAAO;QACN,GAAG,MAAM;QACT,sQAAsQ;KACtQ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,+BAA+B,CAC7C,OAA0B,EAC1B,QAAgB,EAChB,WAAyB;IAEzB,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QACxB,OAAO;YACN,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,qCAAqC;YAC7C,QAAQ,EAAE,KAAK;YACf,MAAM,EAAE;gBACP,oFAAoF;aACpF;YACD,OAAO,EAAE,wEAAwE;SACjF,CAAC;IACH,CAAC;IAED,IAAI,IAAY,CAAC;IACjB,IAAI,WAAqD,CAAC;IAC1D,IAAI,CAAC;QACJ,IAAI,GAAG,MAAM,IAAA,0BAAgB,EAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACjD,MAAM,eAAe,GAAG,IAAA,mCAAiB,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC1D,WAAW,GAAG,MAAM,IAAA,yBAAY,EAC/B,OAAO,CAAC,SAAS,EACjB,gCAAgC,IAAA,+BAAkB,EAAC,eAAe,CAAC,GAAG,EACtE,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,CAC1B,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAEhB,IAAI,IAAA,qBAAY,EAAC,KAAK,CAAC;YAAE,MAAM,KAAK,CAAC;QACrC,IAAI,WAAW,EAAE,OAAO;YAAE,MAAM,IAAA,yBAAgB,EAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACrE,OAAO;YACN,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,qCAAqC;YAC7C,QAAQ,EAAE,KAAK;YACf,MAAM,EAAE,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAChE,OAAO,EAAE,wEAAwE;SACjF,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,uBAAuB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAChE,IAAI,CAAC,WAAW,EAAE,CAAC;QAClB,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,WAAW,CAAC;QACrF,OAAO;YACN,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,gCAAgC;YACxC,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE;gBACP,yDAAyD,WAAW,CAAC,QAAQ,IAAI;gBACjF,MAAM;aACN;YACD,OAAO,EAAE,2DAA2D;SACpE,CAAC;IACH,CAAC;IAED,IAAI,CAAC,WAAW,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QACnD,OAAO;YACN,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,8BAA8B;YACtC,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,kBAAkB,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,8BAA8B,CAAC,CAAC;YAClF,OAAO,EAAE,kDAAkD;SAC3D,CAAC;IACH,CAAC;IAED,OAAO;QACN,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,WAAW,CAAC,QAAQ;QAC9B,sBAAsB,EAAE,WAAW,CAAC,sBAAsB;QAC1D,QAAQ,EAAE,WAAW,CAAC,QAAQ,IAAI,EAAE;QACpC,QAAQ,EAAE,aAAa;KACvB,CAAC;AACH,CAAC;AAED,MAAM,sBAAsB,GAAG,4BAA4B,CAAC;AAQ5D,KAAK,UAAU,mCAAmC,CACjD,IAAkB,EAClB,OAA0B;IAE1B,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,uBAAuB,EAAE,EAAE,CAAC;IAC1E,IAAI,CAAC,KAAK,EAAE,MAAM;QAAE,OAAO,EAAE,CAAC;IAE9B,MAAM,KAAK,GAAG,IAAA,kDAAwB,EAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAwB,EAAE,CAAC;IAEzC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;QACrC,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAsB;YAAE,SAAS;QACnD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;QAC/B,IAAI,CAAC,IAAA,oBAAQ,EAAC,MAAM,CAAC,IAAI,MAAM,CAAC,cAAc,KAAK,uBAAuB;YAAE,SAAS;QACrF,MAAM,GAAG,GAAG,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,IAAI,CAAC,GAAG;YAAE,SAAS;QAEnB,MAAM,UAAU,GAAG,IAAA,gDAAsB,EAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACtD,IAAI,UAAU,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YACnC,QAAQ,CAAC,IAAI,CAAC;gBACb,IAAI,EAAE,8BAA8B;gBACpC,QAAQ,EAAE,IAAI,CAAC,IAAI;gBACnB,OAAO,EAAE,oEAAoE,UAAU,CAAC,cAAc,gFAAgF,UAAU,CAAC,cAAc,oCAAoC;aACnP,CAAC,CAAC;QACJ,CAAC;aAAM,IAAI,UAAU,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YAC9C,QAAQ,CAAC,IAAI,CAAC;gBACb,IAAI,EAAE,8BAA8B;gBACpC,QAAQ,EAAE,IAAI,CAAC,IAAI;gBACnB,OAAO,EAAE,kEAAkE,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,4FAA4F;aACvM,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAED,OAAO,QAAQ,CAAC;AACjB,CAAC;AAEM,KAAK,gCACX,OAA0B,EAC1B,QAAgB,EAChB,MAAc,EACd,WAAyB;IAEzB,IAAI,MAAmC,CAAC;IACxC,IAAI,wBAAwB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxC,MAAM,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;SAAM,IAAI,0BAA0B,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjD,MAAM,GAAG,MAAM,+BAA+B,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IAChF,CAAC;SAAM,CAAC;QACP,MAAM,GAAG;YACR,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,uCAAuC;YAC/C,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE;gBACP,gGAAgG;aAChG;YACD,OAAO,EAAE,gDAAgD;SACzD,CAAC;IACH,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,OAAO,MAAM,CAAC;IAEnC,MAAM,QAAQ,GAAG,wBAAwB,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IACrF,MAAM,kBAAkB,GAAG,MAAM,mCAAmC,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAE/F,OAAO;QACN,GAAG,MAAM;QACT,QAAQ,EAAE,CAAC,GAAG,QAAQ,EAAE,GAAG,kBAAkB,CAAC;KAC9C,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"workflow-source-compiler.js","sourceRoot":"","sources":["../../../src/tools/workflows/workflow-source-compiler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
import { type IssueSeverity } from '@n8n/workflow-sdk';
|
|
2
|
-
import type
|
|
1
|
+
import { type IssueSeverity, type WorkflowJSON } from '@n8n/workflow-sdk';
|
|
2
|
+
import { type TopLevelItemsSummary, type WorkflowGroupViolation } from 'n8n-workflow';
|
|
3
3
|
export declare const NODE_GROUP_DROPPED_CODE = "NODE_GROUP_DROPPED";
|
|
4
|
+
export declare const GROUPING_DECISION_MISSING_CODE = "GROUPING_DECISION_MISSING";
|
|
5
|
+
export declare const GROUP_DROPPED_OVER_CEILING_CODE = "GROUP_DROPPED_OVER_CEILING";
|
|
6
|
+
export type GroupingDecision = 'grouped' | 'not_warranted';
|
|
4
7
|
export interface ValidationWarning {
|
|
5
8
|
code: string;
|
|
6
9
|
message: string;
|
|
@@ -17,4 +20,12 @@ export declare function partitionWarnings(warnings: ValidationWarning[]): {
|
|
|
17
20
|
blocking: ValidationWarning[];
|
|
18
21
|
informational: ValidationWarning[];
|
|
19
22
|
};
|
|
23
|
+
export declare function summarizeWorkflowTopLevelItems(json: WorkflowJSON): TopLevelItemsSummary;
|
|
24
|
+
export declare function topLevelItemsWarning(json: WorkflowJSON, summary?: TopLevelItemsSummary): ValidationWarning | undefined;
|
|
25
|
+
export declare function groupingDecisionBlocker(input: {
|
|
26
|
+
summary: TopLevelItemsSummary;
|
|
27
|
+
declaredGroupCount: number;
|
|
28
|
+
droppedGroupWarnings: ValidationWarning[];
|
|
29
|
+
groupingDecision?: GroupingDecision;
|
|
30
|
+
}): ValidationWarning | undefined;
|
|
20
31
|
export declare function nodeGroupDroppedWarnings(violations: WorkflowGroupViolation[]): ValidationWarning[];
|
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.NODE_GROUP_DROPPED_CODE = void 0;
|
|
3
|
+
exports.GROUP_DROPPED_OVER_CEILING_CODE = exports.GROUPING_DECISION_MISSING_CODE = exports.NODE_GROUP_DROPPED_CODE = void 0;
|
|
4
4
|
exports.collectValidationIssues = collectValidationIssues;
|
|
5
5
|
exports.partitionWarnings = partitionWarnings;
|
|
6
|
+
exports.summarizeWorkflowTopLevelItems = summarizeWorkflowTopLevelItems;
|
|
7
|
+
exports.topLevelItemsWarning = topLevelItemsWarning;
|
|
8
|
+
exports.groupingDecisionBlocker = groupingDecisionBlocker;
|
|
6
9
|
exports.nodeGroupDroppedWarnings = nodeGroupDroppedWarnings;
|
|
7
10
|
const workflow_sdk_1 = require("@n8n/workflow-sdk");
|
|
11
|
+
const n8n_workflow_1 = require("n8n-workflow");
|
|
8
12
|
exports.NODE_GROUP_DROPPED_CODE = 'NODE_GROUP_DROPPED';
|
|
13
|
+
exports.GROUPING_DECISION_MISSING_CODE = 'GROUPING_DECISION_MISSING';
|
|
14
|
+
exports.GROUP_DROPPED_OVER_CEILING_CODE = 'GROUP_DROPPED_OVER_CEILING';
|
|
9
15
|
function collectValidationIssues(issues, allWarnings) {
|
|
10
16
|
for (const issue of issues) {
|
|
11
17
|
allWarnings.push({
|
|
@@ -19,6 +25,54 @@ function collectValidationIssues(issues, allWarnings) {
|
|
|
19
25
|
function partitionWarnings(warnings) {
|
|
20
26
|
return (0, workflow_sdk_1.partitionValidationIssues)(warnings);
|
|
21
27
|
}
|
|
28
|
+
function summarizeWorkflowTopLevelItems(json) {
|
|
29
|
+
return (0, n8n_workflow_1.summarizeTopLevelItems)({
|
|
30
|
+
nodes: json.nodes ?? [],
|
|
31
|
+
nodeGroups: json.nodeGroups,
|
|
32
|
+
connectionsBySourceNode: (0, workflow_sdk_1.toEngineConnections)(json.connections),
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
function topLevelItemsWarning(json, summary = summarizeWorkflowTopLevelItems(json)) {
|
|
36
|
+
if (!summary.overCeiling) {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
return {
|
|
40
|
+
code: n8n_workflow_1.TOP_LEVEL_ITEMS_OVER_CEILING_CODE,
|
|
41
|
+
severity: 'informational',
|
|
42
|
+
message: (0, n8n_workflow_1.formatTopLevelItemsMessage)(summary),
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
function groupingDecisionBlocker(input) {
|
|
46
|
+
const { summary, declaredGroupCount, droppedGroupWarnings, groupingDecision } = input;
|
|
47
|
+
if (!summary.overCeiling) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
if (droppedGroupWarnings.length > 0) {
|
|
51
|
+
const reasons = droppedGroupWarnings.map((warning) => warning.message).join(' ');
|
|
52
|
+
return {
|
|
53
|
+
code: exports.GROUP_DROPPED_OVER_CEILING_CODE,
|
|
54
|
+
severity: 'warning',
|
|
55
|
+
message: `${droppedGroupWarnings.length} of ${declaredGroupCount} declared node group(s) were removed, ` +
|
|
56
|
+
`so the canvas would have ${summary.total} boxes. ` +
|
|
57
|
+
`${reasons} Fix the boundary each message names and build again; do not remove the groups.`,
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
if (summary.groupCount > 0) {
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
if (groupingDecision === 'not_warranted') {
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
return {
|
|
67
|
+
code: exports.GROUPING_DECISION_MISSING_CODE,
|
|
68
|
+
severity: 'warning',
|
|
69
|
+
message: `The canvas would have ${summary.total} boxes with every group collapsed and no node group. ` +
|
|
70
|
+
`Ungrouped: ${summary.groupableNodeNames.join(', ')}. ` +
|
|
71
|
+
'Wrap each stage in `.group(name, members, { description })` and build again. ' +
|
|
72
|
+
"If no valid group can hold these nodes, call build-workflow again with `groupingDecision: 'not_warranted'` " +
|
|
73
|
+
'and a `groupingReason` that says why.',
|
|
74
|
+
};
|
|
75
|
+
}
|
|
22
76
|
function nodeGroupDroppedWarnings(violations) {
|
|
23
77
|
const violationsByGroup = new Map();
|
|
24
78
|
for (const violation of violations) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-validation-warnings.js","sourceRoot":"","sources":["../../../src/tools/workflows/workflow-validation-warnings.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"workflow-validation-warnings.js","sourceRoot":"","sources":["../../../src/tools/workflows/workflow-validation-warnings.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,8 +15,6 @@ export declare const workflowsResumeSchema: z.ZodObject<{
|
|
|
15
15
|
nodeParameters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
16
16
|
skippedNodes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
17
17
|
testTriggerNode: z.ZodOptional<z.ZodString>;
|
|
18
|
-
} & {
|
|
19
|
-
scope: z.ZodOptional<z.ZodEnum<["once", "session"]>>;
|
|
20
18
|
}, "strip", z.ZodTypeAny, {
|
|
21
19
|
approved: boolean;
|
|
22
20
|
credentialDestination?: {
|
|
@@ -27,7 +25,6 @@ export declare const workflowsResumeSchema: z.ZodObject<{
|
|
|
27
25
|
nodeParameters?: Record<string, Record<string, unknown>> | undefined;
|
|
28
26
|
skippedNodes?: string[] | undefined;
|
|
29
27
|
testTriggerNode?: string | undefined;
|
|
30
|
-
scope?: "once" | "session" | undefined;
|
|
31
28
|
}, {
|
|
32
29
|
approved: boolean;
|
|
33
30
|
credentialDestination?: {
|
|
@@ -38,9 +35,8 @@ export declare const workflowsResumeSchema: z.ZodObject<{
|
|
|
38
35
|
nodeParameters?: Record<string, Record<string, unknown>> | undefined;
|
|
39
36
|
skippedNodes?: string[] | undefined;
|
|
40
37
|
testTriggerNode?: string | undefined;
|
|
41
|
-
scope?: "once" | "session" | undefined;
|
|
42
38
|
}>;
|
|
43
|
-
export type WorkflowAction = 'list' | 'node-usage' | 'get' | 'get-
|
|
39
|
+
export type WorkflowAction = 'list' | 'node-usage' | 'get' | 'get-as-code' | 'delete' | 'unarchive' | 'setup' | 'validate' | 'publish' | 'unpublish' | 'list-versions' | 'restore-version' | 'update-version';
|
|
44
40
|
export interface WorkflowsToolOptions {
|
|
45
41
|
allowedActions?: readonly WorkflowAction[];
|
|
46
42
|
descriptionPrefix?: string;
|
|
@@ -4,27 +4,23 @@ exports.workflowsResumeSchema = void 0;
|
|
|
4
4
|
exports.createWorkflowsTool = createWorkflowsTool;
|
|
5
5
|
const agents_1 = require("@n8n/agents");
|
|
6
6
|
const api_types_1 = require("@n8n/api-types");
|
|
7
|
-
const is_record_1 = require("@n8n/utils/is-record");
|
|
8
|
-
const workflow_sdk_1 = require("@n8n/workflow-sdk");
|
|
9
|
-
const n8n_workflow_1 = require("n8n-workflow");
|
|
10
7
|
const nanoid_1 = require("nanoid");
|
|
11
8
|
const zod_1 = require("zod");
|
|
12
9
|
const sanitize_mcp_schemas_1 = require("../agent/sanitize-mcp-schemas");
|
|
13
|
-
const workflow_save_conflict_error_1 = require("../errors/workflow-save-conflict.error");
|
|
14
10
|
const workflow_snapshot_changed_error_1 = require("../errors/workflow-snapshot-changed.error");
|
|
15
11
|
const credentials_tool_1 = require("./credentials.tool");
|
|
16
12
|
const format_timestamp_1 = require("../utils/format-timestamp");
|
|
17
|
-
const
|
|
13
|
+
const render_claim_1 = require("../workflow-loop/render-claim");
|
|
14
|
+
const setup_items_1 = require("./workflows/setup-items");
|
|
15
|
+
const setup_panel_state_1 = require("./workflows/setup-panel-state");
|
|
18
16
|
const setup_skip_state_1 = require("./workflows/setup-skip-state");
|
|
19
17
|
const setup_workflow_schema_1 = require("./workflows/setup-workflow.schema");
|
|
20
18
|
const setup_workflow_service_1 = require("./workflows/setup-workflow.service");
|
|
21
19
|
const summarize_workflow_1 = require("./workflows/summarize-workflow");
|
|
22
20
|
const validate_workflow_service_1 = require("./workflows/validate-workflow.service");
|
|
23
|
-
const workflow_build_context_1 = require("./workflows/workflow-build-context");
|
|
24
21
|
const workflow_file_bindings_1 = require("./workflows/workflow-file-bindings");
|
|
25
22
|
const workflow_json_utils_1 = require("./workflows/workflow-json-utils");
|
|
26
23
|
const workflow_source_materializer_1 = require("./workflows/workflow-source-materializer");
|
|
27
|
-
const workflow_validation_warnings_1 = require("./workflows/workflow-validation-warnings");
|
|
28
24
|
const PROJECT_ID_FIELD_DESCRIPTION = 'Project ID, obtainable from `workspace(action="list-projects")`. For `list` and `node-usage`: read that one project instead of the default scope — use it for "what is in project X" rather than reading the whole instance and guessing which results belong to X. Read-only, so it narrows what you can already see rather than widening it, and it does not move where you can write. For `setup`: scope credential creation to that project.';
|
|
29
25
|
const SCOPE_FIELD_DESCRIPTION = "Which project(s) to read. Defaults to this conversation's project. Use 'instance' only when you have a clear reason to look across all projects you can access.";
|
|
30
26
|
const LIMIT_FIELD_DESCRIPTION = 'Max results to return';
|
|
@@ -96,13 +92,6 @@ const getAction = zod_1.z.object({
|
|
|
96
92
|
.optional()
|
|
97
93
|
.describe('Return complete node data including parameters (large). Default false.'),
|
|
98
94
|
});
|
|
99
|
-
const getJsonAction = zod_1.z.object({
|
|
100
|
-
action: zod_1.z
|
|
101
|
-
.literal('get-json')
|
|
102
|
-
.describe('Get full WorkflowJSON for workspace-file workflow edits. Write it to a .workflow.json file, edit the file, then save with build-workflow. Pass versionId for a past version instead of the current draft.'),
|
|
103
|
-
workflowId: zod_1.z.string().describe('ID of the workflow'),
|
|
104
|
-
versionId: zod_1.z.string().optional().describe('Version ID'),
|
|
105
|
-
});
|
|
106
95
|
const getAsCodeAction = zod_1.z.object({
|
|
107
96
|
action: zod_1.z
|
|
108
97
|
.literal('get-as-code')
|
|
@@ -125,7 +114,7 @@ const unarchiveAction = zod_1.z.object({
|
|
|
125
114
|
const setupAction = zod_1.z.object({
|
|
126
115
|
action: zod_1.z
|
|
127
116
|
.literal('setup')
|
|
128
|
-
.describe('
|
|
117
|
+
.describe('Configure workflow credentials and parameters after a build. Follow the returned guidance for a setup panel announcement, selection card, or approval.'),
|
|
129
118
|
workflowId: zod_1.z.string().describe('ID of the workflow'),
|
|
130
119
|
projectId: zod_1.z.string().optional().describe(PROJECT_ID_FIELD_DESCRIPTION),
|
|
131
120
|
credentialHints: zod_1.z
|
|
@@ -136,7 +125,7 @@ const setupAction = zod_1.z.object({
|
|
|
136
125
|
.describe('Restrict the recipe to one node — needed when several nodes use Simplified Custom Auth for different services.'),
|
|
137
126
|
}))
|
|
138
127
|
.optional()
|
|
139
|
-
.describe('Recipes for the Simplified Custom Auth credentials the user will create during setup: the
|
|
128
|
+
.describe('Recipes for the Simplified Custom Auth credentials the user will create during setup: the setup form pre-fills the template and asks only for the placeholder values. Provide one per templated credential. REQUIRED before composing: load the `credential-recipe-research` skill and execute its lookup procedure — the template and testUrl must come from provider pages fetched there, never from memory.'),
|
|
140
129
|
allowPlainGenericAuth: zod_1.z
|
|
141
130
|
.boolean()
|
|
142
131
|
.optional()
|
|
@@ -177,21 +166,18 @@ const validateAction = zod_1.z.object({
|
|
|
177
166
|
.optional()
|
|
178
167
|
.describe('Issue categories to suppress from the result'),
|
|
179
168
|
});
|
|
180
|
-
const updateAction = zod_1.z.object({
|
|
181
|
-
action: zod_1.z
|
|
182
|
-
.literal('update')
|
|
183
|
-
.describe('Internal/raw update escape hatch. Save a complete modified WorkflowJSON back to the workflow. Replaces the full workflow definition.'),
|
|
184
|
-
workflowId: zod_1.z.string().describe('ID of the workflow'),
|
|
185
|
-
workflow: zod_1.z
|
|
186
|
-
.record(zod_1.z.unknown())
|
|
187
|
-
.describe('Full WorkflowJSON object (same shape as returned by `get-json`). This completely replaces the current workflow definition — ensure name, nodes, and connections are all included.'),
|
|
188
|
-
});
|
|
189
169
|
const publishBaseAction = zod_1.z.object({
|
|
190
170
|
action: zod_1.z
|
|
191
171
|
.literal('publish')
|
|
192
172
|
.describe('Publish a workflow version to production (omit versionId for latest draft)'),
|
|
193
173
|
workflowId: zod_1.z.string().describe('ID of the workflow'),
|
|
194
174
|
versionId: zod_1.z.string().optional().describe('Version ID'),
|
|
175
|
+
acknowledgeUnverified: zod_1.z
|
|
176
|
+
.boolean()
|
|
177
|
+
.optional()
|
|
178
|
+
.describe('Set true only after you told the user the workflow is not fully verified and they still ' +
|
|
179
|
+
'asked to publish. Publishing is refused without this while the latest verification left ' +
|
|
180
|
+
'nodes unreached or simulated. Never set it to skip the disclosure.'),
|
|
195
181
|
});
|
|
196
182
|
const publishExtendedAction = publishBaseAction.extend({
|
|
197
183
|
name: zod_1.z.string().optional().describe('Name for the version'),
|
|
@@ -231,20 +217,16 @@ const confirmationSuspendSchema = setup_workflow_schema_1.setupSuspendSchema
|
|
|
231
217
|
.partial({ workflowId: true })
|
|
232
218
|
.extend({ credentialDestination: api_types_1.credentialDestinationSchema.optional() });
|
|
233
219
|
const suspendSchema = zod_1.z.union([setup_workflow_schema_1.setupSuspendSchema, confirmationSuspendSchema]);
|
|
234
|
-
exports.workflowsResumeSchema = setup_workflow_schema_1.setupResumeSchema
|
|
235
|
-
scope: zod_1.z.enum(['once', 'session']).optional(),
|
|
236
|
-
});
|
|
220
|
+
exports.workflowsResumeSchema = setup_workflow_schema_1.setupResumeSchema;
|
|
237
221
|
const WORKFLOW_ACTION_ORDER = [
|
|
238
222
|
'list',
|
|
239
223
|
'node-usage',
|
|
240
224
|
'get',
|
|
241
|
-
'get-json',
|
|
242
225
|
'get-as-code',
|
|
243
226
|
'delete',
|
|
244
227
|
'unarchive',
|
|
245
228
|
'setup',
|
|
246
229
|
'validate',
|
|
247
|
-
'update',
|
|
248
230
|
'publish',
|
|
249
231
|
'unpublish',
|
|
250
232
|
'list-versions',
|
|
@@ -255,13 +237,11 @@ const WORKFLOW_ACTION_LABELS = {
|
|
|
255
237
|
list: 'list',
|
|
256
238
|
'node-usage': 'summarize which node types are in use',
|
|
257
239
|
get: 'inspect',
|
|
258
|
-
'get-json': 'inspect full WorkflowJSON',
|
|
259
240
|
'get-as-code': 'convert existing workflows to TypeScript SDK code',
|
|
260
241
|
delete: 'archive',
|
|
261
242
|
unarchive: 'restore archived workflows',
|
|
262
243
|
setup: 'set up credentials and parameters',
|
|
263
244
|
validate: 'validate configuration',
|
|
264
|
-
update: 'save a modified WorkflowJSON',
|
|
265
245
|
publish: 'publish',
|
|
266
246
|
unpublish: 'unpublish',
|
|
267
247
|
'list-versions': 'list versions',
|
|
@@ -271,7 +251,7 @@ const WORKFLOW_ACTION_LABELS = {
|
|
|
271
251
|
function normalizeOptions(options = {}) {
|
|
272
252
|
return typeof options === 'string' ? { surface: options } : options;
|
|
273
253
|
}
|
|
274
|
-
function getSupportedWorkflowActionSchemas(context
|
|
254
|
+
function getSupportedWorkflowActionSchemas(context) {
|
|
275
255
|
const hasNamedVersions = !!context.workflowService.updateVersion;
|
|
276
256
|
const hasVersions = !!context.workflowService.listVersions;
|
|
277
257
|
const hasNodeUsage = !!context.workflowService.nodeUsage;
|
|
@@ -279,13 +259,11 @@ function getSupportedWorkflowActionSchemas(context, surface = 'full') {
|
|
|
279
259
|
list: pickListAction(context, hasNodeUsage),
|
|
280
260
|
...(hasNodeUsage ? { 'node-usage': nodeUsageAction } : {}),
|
|
281
261
|
get: getAction,
|
|
282
|
-
...(surface !== 'orchestrator' ? { 'get-json': getJsonAction } : {}),
|
|
283
262
|
'get-as-code': getAsCodeAction,
|
|
284
263
|
delete: deleteAction,
|
|
285
264
|
unarchive: unarchiveAction,
|
|
286
265
|
setup: setupAction,
|
|
287
266
|
validate: validateAction,
|
|
288
|
-
...(surface !== 'orchestrator' ? { update: updateAction } : {}),
|
|
289
267
|
publish: hasNamedVersions ? publishExtendedAction : publishBaseAction,
|
|
290
268
|
unpublish: unpublishAction,
|
|
291
269
|
...(hasVersions
|
|
@@ -302,7 +280,7 @@ function getWorkflowActions(supportedSchemas, options) {
|
|
|
302
280
|
return WORKFLOW_ACTION_ORDER.filter((action) => supportedSchemas[action] !== undefined && allowedActions.has(action));
|
|
303
281
|
}
|
|
304
282
|
function buildInputSchema(context, options) {
|
|
305
|
-
const supportedSchemas = getSupportedWorkflowActionSchemas(context
|
|
283
|
+
const supportedSchemas = getSupportedWorkflowActionSchemas(context);
|
|
306
284
|
const actionSchemas = [];
|
|
307
285
|
for (const action of getWorkflowActions(supportedSchemas, options)) {
|
|
308
286
|
const schema = supportedSchemas[action];
|
|
@@ -431,7 +409,6 @@ async function handleGet(context, input) {
|
|
|
431
409
|
};
|
|
432
410
|
}
|
|
433
411
|
const detail = await context.workflowService.get(input.workflowId);
|
|
434
|
-
await (0, observed_workflow_checksums_1.rememberObservedWorkflowChecksum)(context, input.workflowId, detail.checksum);
|
|
435
412
|
if ((0, summarize_workflow_1.isSmallPayload)(detail))
|
|
436
413
|
return detail;
|
|
437
414
|
if (input.full && !(0, summarize_workflow_1.exceedsFullPayloadLimit)(detail))
|
|
@@ -476,25 +453,6 @@ async function getPinnedNodesReport(context, workflowId) {
|
|
|
476
453
|
return undefined;
|
|
477
454
|
}
|
|
478
455
|
}
|
|
479
|
-
async function handleGetJson(context, input) {
|
|
480
|
-
try {
|
|
481
|
-
const json = await context.workflowService.getAsWorkflowJSON(input.workflowId, input.versionId);
|
|
482
|
-
if (!input.versionId) {
|
|
483
|
-
await (0, observed_workflow_checksums_1.rememberCurrentWorkflowChecksum)(context, input.workflowId);
|
|
484
|
-
}
|
|
485
|
-
const pinnedReport = input.versionId
|
|
486
|
-
? undefined
|
|
487
|
-
: await getPinnedNodesReport(context, input.workflowId);
|
|
488
|
-
return pinnedReport ? { ...json, ...pinnedReport } : json;
|
|
489
|
-
}
|
|
490
|
-
catch (error) {
|
|
491
|
-
return {
|
|
492
|
-
workflowId: input.workflowId,
|
|
493
|
-
found: false,
|
|
494
|
-
error: error instanceof Error ? error.message : 'Failed to fetch workflow JSON',
|
|
495
|
-
};
|
|
496
|
-
}
|
|
497
|
-
}
|
|
498
456
|
const SOURCE_FILE_NOTES = {
|
|
499
457
|
written: 'Source written to filePath and bound to this workflow. Locate nodes with the `nodes` index (line numbers) and read only those lines — for a large file use a ranged shell read such as `sed -n START,ENDp filePath` via workspace_execute_command, since workspace_read_file returns the whole file. Apply edits with workspace_str_replace_file, then call build-workflow with this filePath. Do not rewrite the whole file.',
|
|
500
458
|
refreshed: 'The saved workflow changed since the file was written, so the file was regenerated from the saved workflow. Re-apply any edit you still need with workspace_str_replace_file, then build-workflow.',
|
|
@@ -863,6 +821,75 @@ async function resolveSetupScopeNodeNames(context, workflowId) {
|
|
|
863
821
|
return undefined;
|
|
864
822
|
}
|
|
865
823
|
}
|
|
824
|
+
async function resolveUnverifiedPublishDisclosure(context, workflowId) {
|
|
825
|
+
const workflowTaskService = context.workflowBuildContext?.workflowTaskService;
|
|
826
|
+
if (!workflowTaskService)
|
|
827
|
+
return undefined;
|
|
828
|
+
try {
|
|
829
|
+
const outcome = await workflowTaskService.getLatestBuildOutcomeForWorkflow(workflowId);
|
|
830
|
+
const verification = outcome?.verification;
|
|
831
|
+
const claim = verification?.claim;
|
|
832
|
+
if (claim)
|
|
833
|
+
return claim.publishReady ? undefined : (0, render_claim_1.formatClaimDisclosure)(claim);
|
|
834
|
+
if (verification?.attempted || verification?.status === 'running') {
|
|
835
|
+
const cause = verification.failureSignature ?? verification.evidence?.errorMessage;
|
|
836
|
+
return ('Verification ran but produced no verdict, so nothing about this workflow is proven.' +
|
|
837
|
+
(cause ? ` It reported: ${cause}` : ''));
|
|
838
|
+
}
|
|
839
|
+
return undefined;
|
|
840
|
+
}
|
|
841
|
+
catch (error) {
|
|
842
|
+
context.logger.warn('Failed to resolve the verification claim before publishing', {
|
|
843
|
+
workflowId,
|
|
844
|
+
error: error instanceof Error ? error.message : String(error),
|
|
845
|
+
});
|
|
846
|
+
return undefined;
|
|
847
|
+
}
|
|
848
|
+
}
|
|
849
|
+
const SETUP_PANEL_ANNOUNCED_GUIDANCE = 'The setup panel next to the chat now lists what this workflow still needs (`open`); nothing is ' +
|
|
850
|
+
'waiting on you and no card is open. Finish your turn now: tell the user in one or two sentences ' +
|
|
851
|
+
'what to configure in the panel — name the services and any values — then stop. Do not call setup ' +
|
|
852
|
+
'again for this workflow, do not call `credentials(action="setup")`, and do not tell the user to ' +
|
|
853
|
+
'open the editor or canvas. Items under `configured` have stored bindings. Report any ' +
|
|
854
|
+
'validationWarnings; a binding does not prove that a connection or workflow test passed.';
|
|
855
|
+
const SETUP_PANEL_NOTHING_OPEN_GUIDANCE = 'No setup items are open. The credential slots have stored bindings and no parameter is ' +
|
|
856
|
+
'unresolved. Report any validationWarnings and finish your turn. Do not describe the workflow ' +
|
|
857
|
+
'as tested or ready based on configuration alone. Do not call setup again for this workflow.';
|
|
858
|
+
async function announceWorkflowSetup(context, workflowId, analyzedRequests) {
|
|
859
|
+
const summary = (0, setup_panel_state_1.summarizeWorkflowSetupState)(workflowId, analyzedRequests);
|
|
860
|
+
try {
|
|
861
|
+
await context.setupItemsEmitter.announce(workflowId, summary.items);
|
|
862
|
+
try {
|
|
863
|
+
await context.markWorkflowSetupHandled?.(workflowId);
|
|
864
|
+
}
|
|
865
|
+
catch {
|
|
866
|
+
await context.markWorkflowSetupHandled?.(workflowId);
|
|
867
|
+
}
|
|
868
|
+
}
|
|
869
|
+
catch (error) {
|
|
870
|
+
context.logger?.warn('Failed to complete the setup panel handoff', {
|
|
871
|
+
workflowId,
|
|
872
|
+
error: error instanceof Error ? error.message : String(error),
|
|
873
|
+
});
|
|
874
|
+
return {
|
|
875
|
+
success: false,
|
|
876
|
+
announced: false,
|
|
877
|
+
workflowId,
|
|
878
|
+
error: 'setup_announcement_failed',
|
|
879
|
+
message: 'The setup handoff could not be saved. Report the failure. Do not claim setup is complete.',
|
|
880
|
+
};
|
|
881
|
+
}
|
|
882
|
+
await (0, setup_panel_state_1.rememberWorkflowSetupState)(context, workflowId, analyzedRequests);
|
|
883
|
+
return {
|
|
884
|
+
success: true,
|
|
885
|
+
announced: true,
|
|
886
|
+
workflowId,
|
|
887
|
+
open: summary.open.map(setup_panel_state_1.describeSetupItem),
|
|
888
|
+
configured: summary.configured.map(setup_panel_state_1.describeSetupItem),
|
|
889
|
+
validationWarnings: summary.validationWarnings,
|
|
890
|
+
message: summary.open.length > 0 ? SETUP_PANEL_ANNOUNCED_GUIDANCE : SETUP_PANEL_NOTHING_OPEN_GUIDANCE,
|
|
891
|
+
};
|
|
892
|
+
}
|
|
866
893
|
async function handleSetup(context, input, ctx, state) {
|
|
867
894
|
if (context.permissions?.updateWorkflow === 'blocked') {
|
|
868
895
|
return { success: false, denied: true, reason: 'Action blocked by admin' };
|
|
@@ -877,7 +904,14 @@ async function handleSetup(context, input, ctx, state) {
|
|
|
877
904
|
};
|
|
878
905
|
}
|
|
879
906
|
if (resumeData === undefined || resumeData === null || destinationDecision !== undefined) {
|
|
880
|
-
const
|
|
907
|
+
const setupPanelEnabled = (0, setup_items_1.isSetupPanelEnabled)(context);
|
|
908
|
+
const analyzedRequests = await (0, setup_workflow_service_1.analyzeWorkflow)(context, input.workflowId, undefined, {
|
|
909
|
+
...preferNewCredentialOptions(input),
|
|
910
|
+
...(setupPanelEnabled ? { includeSettled: true } : {}),
|
|
911
|
+
});
|
|
912
|
+
const allSetupRequests = setupPanelEnabled
|
|
913
|
+
? analyzedRequests.filter((request) => !!request.needsAction)
|
|
914
|
+
: analyzedRequests;
|
|
881
915
|
if (input.reopenSkipped && input.reopenSkipped.length > 0) {
|
|
882
916
|
const { subjects, unmatched } = (0, setup_skip_state_1.resolveReopenTargets)(allSetupRequests, input.workflowId, input.reopenSkipped);
|
|
883
917
|
if (unmatched.length > 0) {
|
|
@@ -956,6 +990,9 @@ async function handleSetup(context, input, ctx, state) {
|
|
|
956
990
|
if (destination) {
|
|
957
991
|
return await suspendForCredentialDestination(ctx, state, input.workflowId, destination);
|
|
958
992
|
}
|
|
993
|
+
if ((0, setup_items_1.isSetupPanelEnabled)(context) && !input.preferNewCredentials?.length) {
|
|
994
|
+
return await announceWorkflowSetup(context, input.workflowId, analyzedRequests);
|
|
995
|
+
}
|
|
959
996
|
if (setupRequests.length === 0) {
|
|
960
997
|
const outOfScopeNodeNames = scopeNodeNames
|
|
961
998
|
? allSetupRequests
|
|
@@ -1040,76 +1077,6 @@ async function handleValidate(context, input) {
|
|
|
1040
1077
|
};
|
|
1041
1078
|
}
|
|
1042
1079
|
}
|
|
1043
|
-
function isWorkflowJson(value) {
|
|
1044
|
-
return ((0, is_record_1.isRecord)(value) &&
|
|
1045
|
-
typeof value.name === 'string' &&
|
|
1046
|
-
Array.isArray(value.nodes) &&
|
|
1047
|
-
(0, is_record_1.isRecord)(value.connections));
|
|
1048
|
-
}
|
|
1049
|
-
async function handleUpdate(context, input, ctx) {
|
|
1050
|
-
const resumeData = ctx.resumeData;
|
|
1051
|
-
if (context.permissions?.updateWorkflow === 'blocked') {
|
|
1052
|
-
return { success: false, denied: true, reason: 'Action blocked by admin' };
|
|
1053
|
-
}
|
|
1054
|
-
const needsApproval = context.permissions?.updateWorkflow !== 'always_allow' &&
|
|
1055
|
-
!(0, workflow_build_context_1.canSkipWorkflowUpdateHitl)(context, input.workflowId);
|
|
1056
|
-
if (needsApproval && (resumeData === undefined || resumeData === null)) {
|
|
1057
|
-
const workflowName = await resolveWorkflowName(context, input.workflowId);
|
|
1058
|
-
return await ctx.suspend({
|
|
1059
|
-
requestId: (0, nanoid_1.nanoid)(),
|
|
1060
|
-
message: `Update workflow "${workflowName}" (ID: ${input.workflowId})?`,
|
|
1061
|
-
severity: 'warning',
|
|
1062
|
-
workflowId: input.workflowId,
|
|
1063
|
-
});
|
|
1064
|
-
}
|
|
1065
|
-
if (resumeData !== undefined && resumeData !== null && !resumeData.approved) {
|
|
1066
|
-
return { success: false, denied: true, reason: 'User denied the action' };
|
|
1067
|
-
}
|
|
1068
|
-
if (resumeData?.approved && resumeData.scope === 'session') {
|
|
1069
|
-
await (0, workflow_build_context_1.grantSessionWorkflowUpdate)(context, input.workflowId);
|
|
1070
|
-
}
|
|
1071
|
-
if (!isWorkflowJson(input.workflow)) {
|
|
1072
|
-
return {
|
|
1073
|
-
success: false,
|
|
1074
|
-
error: 'Workflow JSON must include name, nodes, and connections.',
|
|
1075
|
-
};
|
|
1076
|
-
}
|
|
1077
|
-
const expectedChecksum = await (0, observed_workflow_checksums_1.getObservedWorkflowChecksum)(context, input.workflowId);
|
|
1078
|
-
try {
|
|
1079
|
-
(0, workflow_json_utils_1.ensureUniqueNodeIds)(input.workflow);
|
|
1080
|
-
const droppedGroupWarnings = (0, workflow_validation_warnings_1.nodeGroupDroppedWarnings)((0, workflow_sdk_1.dropInvalidWorkflowJsonGroups)(input.workflow, context.nodeTypesProvider ? (0, n8n_workflow_1.makeGetNodeTypeForGrouping)(context.nodeTypesProvider) : null));
|
|
1081
|
-
const saved = expectedChecksum
|
|
1082
|
-
? await context.workflowService.updateFromWorkflowJSON(input.workflowId, input.workflow, {
|
|
1083
|
-
expectedChecksum,
|
|
1084
|
-
})
|
|
1085
|
-
: await context.workflowService.updateFromWorkflowJSON(input.workflowId, input.workflow);
|
|
1086
|
-
await (0, workflow_file_bindings_1.refreshWorkflowSourceFileBindingFromWorkflow)(context, input.workflowId);
|
|
1087
|
-
if (saved.checksum) {
|
|
1088
|
-
await (0, observed_workflow_checksums_1.rememberObservedWorkflowChecksum)(context, input.workflowId, saved.checksum);
|
|
1089
|
-
}
|
|
1090
|
-
return {
|
|
1091
|
-
success: true,
|
|
1092
|
-
workflowId: input.workflowId,
|
|
1093
|
-
...(droppedGroupWarnings.length > 0
|
|
1094
|
-
? {
|
|
1095
|
-
warnings: droppedGroupWarnings.map((warning) => (0, workflow_build_context_1.formatWarning)(warning.code, warning.message)),
|
|
1096
|
-
}
|
|
1097
|
-
: {}),
|
|
1098
|
-
};
|
|
1099
|
-
}
|
|
1100
|
-
catch (error) {
|
|
1101
|
-
if (error instanceof workflow_save_conflict_error_1.WorkflowSaveConflictError) {
|
|
1102
|
-
return {
|
|
1103
|
-
success: false,
|
|
1104
|
-
error: `${error.message} Call workflows(action="get", workflowId="${input.workflowId}") to read the current state, re-apply your change, then update again.`,
|
|
1105
|
-
};
|
|
1106
|
-
}
|
|
1107
|
-
return {
|
|
1108
|
-
success: false,
|
|
1109
|
-
error: error instanceof Error ? error.message : String(error),
|
|
1110
|
-
};
|
|
1111
|
-
}
|
|
1112
|
-
}
|
|
1113
1080
|
async function handlePublish(context, input, ctx) {
|
|
1114
1081
|
const resumeData = ctx.resumeData;
|
|
1115
1082
|
const hasNamedVersions = !!context.workflowService.updateVersion;
|
|
@@ -1117,17 +1084,30 @@ async function handlePublish(context, input, ctx) {
|
|
|
1117
1084
|
return { success: false, denied: true, reason: 'Action blocked by admin' };
|
|
1118
1085
|
}
|
|
1119
1086
|
const supportingWorkflowIds = await resolveSupportingWorkflowIds(context, input.workflowId);
|
|
1120
|
-
const
|
|
1087
|
+
const unverifiedDisclosure = await resolveUnverifiedPublishDisclosure(context, input.workflowId);
|
|
1088
|
+
const needsApproval = context.permissions?.publishWorkflow !== 'always_allow' || unverifiedDisclosure !== undefined;
|
|
1089
|
+
if (unverifiedDisclosure && input.acknowledgeUnverified !== true) {
|
|
1090
|
+
return {
|
|
1091
|
+
success: false,
|
|
1092
|
+
denied: true,
|
|
1093
|
+
reason: 'not_verified',
|
|
1094
|
+
verificationDisclosure: unverifiedDisclosure,
|
|
1095
|
+
guidance: `This workflow is not fully verified. ${unverifiedDisclosure} ` +
|
|
1096
|
+
'Tell the user exactly this, and offer a live end-to-end test. Publish only if they still ' +
|
|
1097
|
+
'ask for it, by calling publish again with `acknowledgeUnverified: true`.',
|
|
1098
|
+
};
|
|
1099
|
+
}
|
|
1121
1100
|
if (needsApproval && (resumeData === undefined || resumeData === null)) {
|
|
1122
1101
|
const workflowName = await resolveWorkflowName(context, input.workflowId);
|
|
1123
1102
|
const dependencyNote = supportingWorkflowIds.length > 0
|
|
1124
1103
|
? ` and ${String(supportingWorkflowIds.length)} referenced supporting workflow(s)`
|
|
1125
1104
|
: '';
|
|
1105
|
+
const target = input.versionId
|
|
1106
|
+
? `Publish version ${input.versionId} of ${workflowName} (ID: ${input.workflowId})${dependencyNote}`
|
|
1107
|
+
: `Publish ${workflowName} (ID: ${input.workflowId})${dependencyNote}`;
|
|
1126
1108
|
return await ctx.suspend({
|
|
1127
1109
|
requestId: (0, nanoid_1.nanoid)(),
|
|
1128
|
-
message:
|
|
1129
|
-
? `Publish version ${input.versionId} of ${workflowName} (ID: ${input.workflowId})${dependencyNote}`
|
|
1130
|
-
: `Publish ${workflowName} (ID: ${input.workflowId})${dependencyNote}`,
|
|
1110
|
+
message: unverifiedDisclosure ? `${target}\n\n${unverifiedDisclosure}` : target,
|
|
1131
1111
|
severity: 'warning',
|
|
1132
1112
|
});
|
|
1133
1113
|
}
|
|
@@ -1352,7 +1332,7 @@ function formatWorkflowActionList(actions) {
|
|
|
1352
1332
|
return `${labels.slice(0, -1).join(', ')}, and ${lastLabel}`;
|
|
1353
1333
|
}
|
|
1354
1334
|
function getToolDescription(context, options) {
|
|
1355
|
-
const supportedSchemas = getSupportedWorkflowActionSchemas(context
|
|
1335
|
+
const supportedSchemas = getSupportedWorkflowActionSchemas(context);
|
|
1356
1336
|
const actionList = formatWorkflowActionList(getWorkflowActions(supportedSchemas, options));
|
|
1357
1337
|
const description = `${options.descriptionPrefix ?? 'Manage workflows'} — ${actionList}.`;
|
|
1358
1338
|
const suffix = options.descriptionSuffix ??
|
|
@@ -1382,8 +1362,6 @@ function createWorkflowsTool(context, optionsInput = {}) {
|
|
|
1382
1362
|
return await handleNodeUsage(context, workflowInput);
|
|
1383
1363
|
case 'get':
|
|
1384
1364
|
return await handleGet(context, workflowInput);
|
|
1385
|
-
case 'get-json':
|
|
1386
|
-
return await handleGetJson(context, workflowInput);
|
|
1387
1365
|
case 'get-as-code':
|
|
1388
1366
|
return await handleGetAsCode(context, workflowInput);
|
|
1389
1367
|
case 'delete':
|
|
@@ -1394,8 +1372,6 @@ function createWorkflowsTool(context, optionsInput = {}) {
|
|
|
1394
1372
|
return await handleSetup(context, workflowInput, ctx, setupState);
|
|
1395
1373
|
case 'validate':
|
|
1396
1374
|
return await handleValidate(context, workflowInput);
|
|
1397
|
-
case 'update':
|
|
1398
|
-
return await handleUpdate(context, workflowInput, ctx);
|
|
1399
1375
|
case 'publish':
|
|
1400
1376
|
return await handlePublish(context, workflowInput, ctx);
|
|
1401
1377
|
case 'unpublish':
|