@n8n/instance-ai 1.14.6 → 1.15.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/dist/agent/apply-agent-thinking.js +3 -3
- package/dist/agent/apply-agent-thinking.js.map +1 -1
- package/dist/agent/computer-use-prompt.js +12 -10
- package/dist/agent/computer-use-prompt.js.map +1 -1
- package/dist/agent/instance-agent.js +5 -2
- package/dist/agent/instance-agent.js.map +1 -1
- package/dist/agent/sanitize-mcp-schemas.js +3 -3
- package/dist/agent/sanitize-mcp-schemas.js.map +1 -1
- package/dist/agent/shared-prompts.js +3 -5
- package/dist/agent/shared-prompts.js.map +1 -1
- package/dist/agent/sub-agent-debriefing.d.ts +4 -4
- package/dist/agent/system-prompt.d.ts +1 -0
- package/dist/agent/system-prompt.js +10 -5
- package/dist/agent/system-prompt.js.map +1 -1
- package/dist/build.tsbuildinfo +1 -1
- package/dist/debug/run-debug-buffer.js +4 -4
- package/dist/debug/run-debug-buffer.js.map +1 -1
- package/dist/debug/sanitize-debug-snapshot.js +6 -5
- package/dist/debug/sanitize-debug-snapshot.js.map +1 -1
- package/dist/domain-access/domain-access-tracker.d.ts +8 -4
- package/dist/domain-access/domain-access-tracker.js +12 -7
- package/dist/domain-access/domain-access-tracker.js.map +1 -1
- package/dist/domain-access/domain-gating.d.ts +4 -4
- package/dist/domain-access/domain-gating.js +5 -5
- package/dist/domain-access/domain-gating.js.map +1 -1
- package/dist/error-formatting.js +3 -3
- package/dist/error-formatting.js.map +1 -1
- package/dist/index.d.ts +3 -20
- package/dist/index.js +4 -22
- package/dist/index.js.map +1 -1
- package/dist/mcp/mcp-client-manager.d.ts +11 -2
- package/dist/mcp/mcp-client-manager.js +17 -9
- package/dist/mcp/mcp-client-manager.js.map +1 -1
- package/dist/runtime/resumable-stream-executor.js +8 -8
- package/dist/runtime/resumable-stream-executor.js.map +1 -1
- package/dist/runtime/run-state-registry.d.ts +4 -0
- package/dist/runtime/run-state-registry.js +22 -8
- package/dist/runtime/run-state-registry.js.map +1 -1
- package/dist/runtime/terminal-response-guard.js +6 -1
- package/dist/runtime/terminal-response-guard.js.map +1 -1
- package/dist/storage/terminal-outcome-storage.d.ts +4 -4
- package/dist/storage/workflow-loop-storage.d.ts +94 -94
- package/dist/stream/map-chunk.js +17 -17
- package/dist/stream/map-chunk.js.map +1 -1
- package/dist/stream/output-redaction.js +8 -6
- package/dist/stream/output-redaction.js.map +1 -1
- package/dist/stream/usage-accumulator.d.ts +18 -18
- package/dist/stream/work-summary-accumulator.d.ts +6 -6
- package/dist/tools/attachments/parse-file.tool.d.ts +18 -18
- package/dist/tools/credentials.tool.d.ts +2 -2
- package/dist/tools/data-tables.tool.js +2 -2
- package/dist/tools/data-tables.tool.js.map +1 -1
- package/dist/tools/evals/column-ref-utils.js +4 -4
- package/dist/tools/evals/column-ref-utils.js.map +1 -1
- package/dist/tools/evals/describe-metric-for-workflow.service.js +3 -3
- package/dist/tools/evals/describe-metric-for-workflow.service.js.map +1 -1
- package/dist/tools/evals/detect-tool-refs.service.js +2 -2
- package/dist/tools/evals/detect-tool-refs.service.js.map +1 -1
- package/dist/tools/evals/eval-data-requirements.service.js +10 -10
- package/dist/tools/evals/eval-data-requirements.service.js.map +1 -1
- package/dist/tools/evals/evals.tool.js +7 -8
- package/dist/tools/evals/evals.tool.js.map +1 -1
- package/dist/tools/evals/extract-rows-from-history.service.js +7 -7
- package/dist/tools/evals/extract-rows-from-history.service.js.map +1 -1
- package/dist/tools/evals/generate-sample-rows.service.js +5 -5
- package/dist/tools/evals/generate-sample-rows.service.js.map +1 -1
- package/dist/tools/evals/metric-catalog.js +3 -3
- package/dist/tools/evals/metric-catalog.js.map +1 -1
- package/dist/tools/executions.tool.js +4 -6
- package/dist/tools/executions.tool.js.map +1 -1
- package/dist/tools/filesystem/create-tools-from-mcp-server.js +6 -6
- package/dist/tools/filesystem/create-tools-from-mcp-server.js.map +1 -1
- package/dist/tools/n8n-docs/schemas.d.ts +4 -4
- package/dist/tools/nodes/node-search-engine.js +3 -3
- package/dist/tools/nodes/node-search-engine.js.map +1 -1
- package/dist/tools/nodes.tool.js +13 -30
- package/dist/tools/nodes.tool.js.map +1 -1
- package/dist/tools/orchestration/complete-checkpoint.tool.js +2 -2
- package/dist/tools/orchestration/complete-checkpoint.tool.js.map +1 -1
- package/dist/tools/orchestration/delegate.schemas.d.ts +1 -1
- package/dist/tools/orchestration/report-verification-verdict.tool.d.ts +8 -8
- package/dist/tools/orchestration/verification/analyze-result.js +4 -3
- package/dist/tools/orchestration/verification/analyze-result.js.map +1 -1
- package/dist/tools/orchestration/verify-built-workflow.tool.d.ts +2 -2
- package/dist/tools/orchestration/verify-built-workflow.tool.js +4 -7
- package/dist/tools/orchestration/verify-built-workflow.tool.js.map +1 -1
- package/dist/tools/research.tool.js +2 -2
- package/dist/tools/research.tool.js.map +1 -1
- package/dist/tools/shared/ask-user.tool.d.ts +4 -4
- package/dist/tools/shared/ask-user.tool.js +11 -21
- package/dist/tools/shared/ask-user.tool.js.map +1 -1
- package/dist/tools/tool-ids.d.ts +1 -0
- package/dist/tools/tool-ids.js +2 -1
- package/dist/tools/tool-ids.js.map +1 -1
- package/dist/tools/workflows/apply-workflow-credentials.tool.js +6 -11
- package/dist/tools/workflows/apply-workflow-credentials.tool.js.map +1 -1
- package/dist/tools/workflows/build-workflow.tool.d.ts +9 -2
- package/dist/tools/workflows/build-workflow.tool.js +171 -5
- package/dist/tools/workflows/build-workflow.tool.js.map +1 -1
- package/dist/tools/workflows/classify-node-destructiveness.service.js +4 -4
- package/dist/tools/workflows/classify-node-destructiveness.service.js.map +1 -1
- package/dist/tools/workflows/credential-url-resolver.d.ts +21 -0
- package/dist/tools/workflows/credential-url-resolver.js +79 -0
- package/dist/tools/workflows/credential-url-resolver.js.map +1 -0
- package/dist/tools/workflows/credential-utils.d.ts +28 -0
- package/dist/tools/workflows/credential-utils.js +61 -0
- package/dist/tools/workflows/credential-utils.js.map +1 -0
- package/dist/tools/workflows/detect-array-input-collapse.js +4 -4
- package/dist/tools/workflows/detect-array-input-collapse.js.map +1 -1
- package/dist/tools/workflows/detect-wrong-kind-locator.d.ts +10 -0
- package/dist/tools/workflows/detect-wrong-kind-locator.js +105 -0
- package/dist/tools/workflows/detect-wrong-kind-locator.js.map +1 -0
- package/dist/tools/workflows/generate-simulation-fixtures.service.js +3 -3
- package/dist/tools/workflows/generate-simulation-fixtures.service.js.map +1 -1
- package/dist/tools/workflows/materialize-node-type.tool.d.ts +4 -4
- package/dist/tools/workflows/setup-workflow.schema.d.ts +63 -27
- package/dist/tools/workflows/setup-workflow.service.js +26 -43
- package/dist/tools/workflows/setup-workflow.service.js.map +1 -1
- package/dist/tools/workflows/summarize-workflow.d.ts +5 -0
- package/dist/tools/workflows/summarize-workflow.js +114 -0
- package/dist/tools/workflows/summarize-workflow.js.map +1 -0
- package/dist/tools/workflows/workflow-json-utils.js +6 -5
- package/dist/tools/workflows/workflow-json-utils.js.map +1 -1
- package/dist/tools/workflows/workflow-source-compiler.js +48 -9
- package/dist/tools/workflows/workflow-source-compiler.js.map +1 -1
- package/dist/tools/workflows/workflow-validation-warnings.js +5 -1
- package/dist/tools/workflows/workflow-validation-warnings.js.map +1 -1
- package/dist/tools/workflows.tool.d.ts +1 -1
- package/dist/tools/workflows.tool.js +47 -22
- package/dist/tools/workflows.tool.js.map +1 -1
- package/dist/tracing/langsmith-tracing.d.ts +5 -1
- package/dist/tracing/langsmith-tracing.js +66 -13
- package/dist/tracing/langsmith-tracing.js.map +1 -1
- package/dist/tracing/trace-payloads.d.ts +1 -0
- package/dist/tracing/trace-payloads.js +46 -29
- package/dist/tracing/trace-payloads.js.map +1 -1
- package/dist/types.d.ts +16 -1
- package/dist/types.js.map +1 -1
- package/dist/utils/stream-helpers.js +5 -5
- package/dist/utils/stream-helpers.js.map +1 -1
- package/dist/workflow-builder/index.d.ts +0 -1
- package/dist/workflow-builder/index.js +1 -6
- package/dist/workflow-builder/index.js.map +1 -1
- package/dist/workflow-loop/index.d.ts +0 -1
- package/dist/workflow-loop/index.js +1 -3
- package/dist/workflow-loop/index.js.map +1 -1
- package/dist/workflow-loop/workflow-loop-state.d.ts +112 -112
- package/dist/workspace/snapshot-image-context.js +24 -11
- package/dist/workspace/snapshot-image-context.js.map +1 -1
- package/dist/workspace/snapshot-manager.d.ts +0 -1
- package/dist/workspace/snapshot-manager.js +0 -7
- package/dist/workspace/snapshot-manager.js.map +1 -1
- package/dist/workspace/template-telemetry.js +5 -4
- package/dist/workspace/template-telemetry.js.map +1 -1
- package/dist/workspace/workspace-manifest.js +2 -2
- package/dist/workspace/workspace-manifest.js.map +1 -1
- package/knowledge-base/reference/workflow-builder-guardrails.md +33 -0
- package/package.json +15 -13
- package/skills/post-build-flow/SKILL.md +106 -10
- package/skills/workflow-builder/SKILL.md +185 -228
- package/skills/workflow-builder/references/compositional-workflows.md +66 -0
- package/skills/workflow-builder/references/error-workflows.md +35 -0
- package/dist/tools/nodes/suggested-nodes-data.d.ts +0 -11
- package/dist/tools/nodes/suggested-nodes-data.js +0 -333
- package/dist/tools/nodes/suggested-nodes-data.js.map +0 -1
- package/dist/workflow-builder/sdk-prompt-sections.d.ts +0 -1
- package/dist/workflow-builder/sdk-prompt-sections.js +0 -9
- package/dist/workflow-builder/sdk-prompt-sections.js.map +0 -1
- package/dist/workflow-loop/terminal-remediation-guard.d.ts +0 -6
- package/dist/workflow-loop/terminal-remediation-guard.js +0 -18
- package/dist/workflow-loop/terminal-remediation-guard.js.map +0 -1
|
@@ -86,14 +86,11 @@ const verifyBuiltWorkflowOutputSchema = zod_1.z.object({
|
|
|
86
86
|
});
|
|
87
87
|
function createVerifyBuiltWorkflowTool(context) {
|
|
88
88
|
return new agents_1.Tool('verify-built-workflow')
|
|
89
|
-
.description('
|
|
90
|
-
'
|
|
91
|
-
'Use this as the standard verifier for workflows produced by the workflow-builder. ' +
|
|
92
|
-
'It supports manual, schedule, form, webhook, chat, and other event triggers with build-outcome pin data, mocked credential context, or trigger-shaped inputData. ' +
|
|
89
|
+
.description('Standard post-build verifier: runs a built workflow with sidecar verification context from the build outcome ' +
|
|
90
|
+
'(pin data, mocked credentials, trigger-shaped inputData; all trigger types supported). ' +
|
|
93
91
|
'Use `executions(action="run")` only for ad hoc runs outside build verification. ' +
|
|
94
|
-
'CRITICAL: `inputData` shape depends on the trigger type
|
|
95
|
-
'
|
|
96
|
-
'look like an expression bug but are not. Do not patch the workflow; re-run verify with the correct shape.')
|
|
92
|
+
'CRITICAL: `inputData` shape depends on the trigger type (see the field description) — a wrong shape produces ' +
|
|
93
|
+
'null downstream values that look like an expression bug; re-run verify with the correct shape instead of patching the workflow.')
|
|
97
94
|
.input(exports.verifyBuiltWorkflowInputSchema)
|
|
98
95
|
.output(verifyBuiltWorkflowOutputSchema)
|
|
99
96
|
.handler(async (input) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify-built-workflow.tool.js","sourceRoot":"","sources":["../../../src/tools/orchestration/verify-built-workflow.tool.ts"],"names":[],"mappings":";;;AA8GA,
|
|
1
|
+
{"version":3,"file":"verify-built-workflow.tool.js","sourceRoot":"","sources":["../../../src/tools/orchestration/verify-built-workflow.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -93,7 +93,7 @@ async function handleWebSearch(context, input, ctx) {
|
|
|
93
93
|
}
|
|
94
94
|
const resumeData = ctx.resumeData;
|
|
95
95
|
if (resumeData !== undefined && resumeData !== null) {
|
|
96
|
-
const { proceed } = (0, domain_access_1.applyWebSearchAccessResume)({
|
|
96
|
+
const { proceed } = await (0, domain_access_1.applyWebSearchAccessResume)({
|
|
97
97
|
resumeData,
|
|
98
98
|
tracker: context.domainAccessTracker,
|
|
99
99
|
runId: context.runId,
|
|
@@ -147,7 +147,7 @@ async function handleFetchUrl(context, input, ctx) {
|
|
|
147
147
|
catch {
|
|
148
148
|
host = input.url;
|
|
149
149
|
}
|
|
150
|
-
const { proceed } = (0, domain_access_1.applyDomainAccessResume)({
|
|
150
|
+
const { proceed } = await (0, domain_access_1.applyDomainAccessResume)({
|
|
151
151
|
resumeData,
|
|
152
152
|
host,
|
|
153
153
|
tracker: context.domainAccessTracker,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"research.tool.js","sourceRoot":"","sources":["../../src/tools/research.tool.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqPA,gDAiBC;AAnQD,wCAAmC;AACnC,6BAAwB;AAExB,wEAAoE;AACpE,oDAO0B;AAE1B,8EAA4F;AAG5F,KAAK,UAAU,gCAAgC,CAC9C,WAAmB,EACnB,WAAmB;IAEnB,IAAI,YAAoB,CAAC;IACzB,IAAI,cAAmB,CAAC;IACxB,IAAI,CAAC;QACJ,YAAY,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC;QAC7C,cAAc,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,KAAK,CAAC;IACd,CAAC;IACD,IAAI,cAAc,CAAC,QAAQ,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACvD,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,wDAAa,KAAK,GAAC,CAAC;IAC5C,MAAM,cAAc,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;IAC5C,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IACvD,OAAO,cAAc,KAAK,IAAI,IAAI,cAAc,KAAK,IAAI,IAAI,cAAc,KAAK,cAAc,CAAC;AAChG,CAAC;AAID,MAAM,eAAe,GAAG,OAAC,CAAC,MAAM,CAAC;IAChC,MAAM,EAAE,OAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IAC1E,KAAK,EAAE,OAAC;SACN,MAAM,EAAE;SACR,QAAQ,CAAC,+EAA+E,CAAC;IAC3F,UAAU,EAAE,OAAC;SACX,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,EAAE,CAAC;SACP,OAAO,CAAC,CAAC,CAAC;SACV,QAAQ,EAAE;SACV,QAAQ,CAAC,yDAAyD,CAAC;IACrE,cAAc,EAAE,OAAC;SACf,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE;SACV,QAAQ,CAAC,6DAA6D,CAAC;CACzE,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,OAAC,CAAC,MAAM,CAAC;IAC/B,MAAM,EAAE,OAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,sDAAsD,CAAC;IAC/F,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IAC1D,gBAAgB,EAAE,OAAC;SACjB,MAAM,EAAE;SACR,GAAG,EAAE;SACL,QAAQ,EAAE;SACV,GAAG,CAAC,OAAO,CAAC;SACZ,OAAO,CAAC,MAAM,CAAC;SACf,QAAQ,EAAE;SACV,QAAQ,CAAC,sDAAsD,CAAC;CAClE,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG,IAAA,0CAAmB,EACtC,OAAC,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC,CACjE,CAAC;AAYF,KAAK,UAAU,eAAe,CAC7B,OAA0B,EAC1B,KAA+C,EAC/C,GAA4B;IAE5B,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,MAAM,EAAE,CAAC;QACzC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IAC5C,CAAC;IAED,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;IAGlC,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACrD,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,0CAA0B,EAAC;
|
|
1
|
+
{"version":3,"file":"research.tool.js","sourceRoot":"","sources":["../../src/tools/research.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,29 +8,29 @@ export declare const askUserInputSchema: z.ZodObject<{
|
|
|
8
8
|
type: z.ZodEnum<["single", "multi", "text"]>;
|
|
9
9
|
options: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
10
10
|
}, "strip", z.ZodTypeAny, {
|
|
11
|
-
type: "text" | "single" | "multi";
|
|
12
11
|
id: string;
|
|
12
|
+
type: "text" | "single" | "multi";
|
|
13
13
|
question: string;
|
|
14
14
|
options?: string[] | undefined;
|
|
15
15
|
}, {
|
|
16
|
-
type: "text" | "single" | "multi";
|
|
17
16
|
id: string;
|
|
17
|
+
type: "text" | "single" | "multi";
|
|
18
18
|
question: string;
|
|
19
19
|
options?: string[] | undefined;
|
|
20
20
|
}>, "many">;
|
|
21
21
|
introMessage: z.ZodOptional<z.ZodString>;
|
|
22
22
|
}, "strip", z.ZodTypeAny, {
|
|
23
23
|
questions: {
|
|
24
|
-
type: "text" | "single" | "multi";
|
|
25
24
|
id: string;
|
|
25
|
+
type: "text" | "single" | "multi";
|
|
26
26
|
question: string;
|
|
27
27
|
options?: string[] | undefined;
|
|
28
28
|
}[];
|
|
29
29
|
introMessage?: string | undefined;
|
|
30
30
|
}, {
|
|
31
31
|
questions: {
|
|
32
|
-
type: "text" | "single" | "multi";
|
|
33
32
|
id: string;
|
|
33
|
+
type: "text" | "single" | "multi";
|
|
34
34
|
question: string;
|
|
35
35
|
options?: string[] | undefined;
|
|
36
36
|
}[];
|
|
@@ -37,27 +37,17 @@ exports.askUserResumeSchema = zod_1.z.object({
|
|
|
37
37
|
});
|
|
38
38
|
function createAskUserTool() {
|
|
39
39
|
return new agents_1.Tool(tool_ids_1.ASK_USER_TOOL_ID)
|
|
40
|
-
.description('Ask the user only
|
|
41
|
-
'single-select
|
|
42
|
-
'
|
|
43
|
-
'
|
|
44
|
-
'
|
|
45
|
-
'
|
|
46
|
-
'
|
|
47
|
-
'
|
|
48
|
-
'
|
|
49
|
-
'
|
|
50
|
-
'
|
|
51
|
-
'options like "Something else", "Other", "None of the above", or similar in ' +
|
|
52
|
-
'the options array — they duplicate the built-in input and confuse users. ' +
|
|
53
|
-
'Also NEVER add a separate follow-up question asking the user to elaborate ' +
|
|
54
|
-
'on a previous "other" choice. Keep questions concise and ' +
|
|
55
|
-
'avoid questions that reference answers to previous questions. ' +
|
|
56
|
-
'A question is asked at most once: if the user skips or dismisses it (you ' +
|
|
57
|
-
'receive answered: false, or an individual answer with skipped: true), treat that ' +
|
|
58
|
-
'as a deliberate "proceed without this" — ' +
|
|
59
|
-
'make a sensible default assumption where one exists, otherwise leave the detail ' +
|
|
60
|
-
'for setup, and NEVER re-present a question the user has already answered, deferred, or skipped. ' +
|
|
40
|
+
.description('Ask the user when only a human can decide; the run suspends until they respond. ' +
|
|
41
|
+
'Questions are single-select, multi-select, or free-text. ' +
|
|
42
|
+
'Before the first build-workflow call, use only for choices that change workflow intent or topology ' +
|
|
43
|
+
'(e.g. destination service) — setup values (recipients, accounts, resources, channels, credentials, ' +
|
|
44
|
+
'timezone) use placeholders or unresolved newCredential() calls instead. ' +
|
|
45
|
+
'The UI adds a built-in "Something else" free-text input to every select question: NEVER include ' +
|
|
46
|
+
'catch-all options ("Something else", "Other", "None of the above") in the options array, and NEVER ' +
|
|
47
|
+
'add a follow-up question elaborating a previous "other" answer. Keep questions concise and independent ' +
|
|
48
|
+
"of each other's answers. A question is asked at most once — a skip or dismissal (answered: false, or " +
|
|
49
|
+
'skipped: true) means "proceed without this": assume a sensible default or leave the detail for setup, ' +
|
|
50
|
+
'and NEVER re-present an answered, deferred, or skipped question. ' +
|
|
61
51
|
'NEVER ask the user to paste passwords, API keys, tokens, cookies, connection strings, or private keys here.')
|
|
62
52
|
.input(exports.askUserInputSchema)
|
|
63
53
|
.output(zod_1.z.object({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ask-user.tool.js","sourceRoot":"","sources":["../../../src/tools/shared/ask-user.tool.ts"],"names":[],"mappings":";;;AAwCA,
|
|
1
|
+
{"version":3,"file":"ask-user.tool.js","sourceRoot":"","sources":["../../../src/tools/shared/ask-user.tool.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/tool-ids.d.ts
CHANGED
|
@@ -12,6 +12,7 @@ export declare const DOMAIN_TOOL_IDS: {
|
|
|
12
12
|
readonly BUILD_WORKFLOW: "build-workflow";
|
|
13
13
|
readonly PARSE_FILE: "parse-file";
|
|
14
14
|
};
|
|
15
|
+
export declare const COMPILED_WORKFLOW_TRACE_RUN_NAME = "compiled-workflow";
|
|
15
16
|
export declare const ORCHESTRATION_TOOL_IDS: {
|
|
16
17
|
readonly CREATE_TASKS: "create-tasks";
|
|
17
18
|
readonly TASK_CONTROL: "task-control";
|
package/dist/tools/tool-ids.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CHECKPOINT_FOLLOW_UP_TOOL_NAMES = exports.ALWAYS_LOADED_TOOL_NAMES = exports.ORCHESTRATION_TOOL_NAMES = exports.N8N_DOCS_TOOL_ID = exports.ASK_USER_TOOL_ID = exports.DATA_TABLES_TOOL_ID = exports.CREDENTIALS_TOOL_ID = exports.WORKSPACE_TOOL_IDS = exports.ORCHESTRATION_TOOL_IDS = exports.DOMAIN_TOOL_IDS = void 0;
|
|
3
|
+
exports.CHECKPOINT_FOLLOW_UP_TOOL_NAMES = exports.ALWAYS_LOADED_TOOL_NAMES = exports.ORCHESTRATION_TOOL_NAMES = exports.N8N_DOCS_TOOL_ID = exports.ASK_USER_TOOL_ID = exports.DATA_TABLES_TOOL_ID = exports.CREDENTIALS_TOOL_ID = exports.WORKSPACE_TOOL_IDS = exports.ORCHESTRATION_TOOL_IDS = exports.COMPILED_WORKFLOW_TRACE_RUN_NAME = exports.DOMAIN_TOOL_IDS = void 0;
|
|
4
4
|
exports.DOMAIN_TOOL_IDS = {
|
|
5
5
|
WORKFLOWS: 'workflows',
|
|
6
6
|
EVALS: 'evals',
|
|
@@ -15,6 +15,7 @@ exports.DOMAIN_TOOL_IDS = {
|
|
|
15
15
|
BUILD_WORKFLOW: 'build-workflow',
|
|
16
16
|
PARSE_FILE: 'parse-file',
|
|
17
17
|
};
|
|
18
|
+
exports.COMPILED_WORKFLOW_TRACE_RUN_NAME = 'compiled-workflow';
|
|
18
19
|
exports.ORCHESTRATION_TOOL_IDS = {
|
|
19
20
|
CREATE_TASKS: 'create-tasks',
|
|
20
21
|
TASK_CONTROL: 'task-control',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-ids.js","sourceRoot":"","sources":["../../src/tools/tool-ids.ts"],"names":[],"mappings":";;;AAAa,QAAA,eAAe,GAAG;IAC9B,SAAS,EAAE,WAAW;IACtB,KAAK,EAAE,OAAO;IACd,UAAU,EAAE,YAAY;IACxB,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,aAAa;IAC1B,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,UAAU;IACpB,cAAc,EAAE,gBAAgB;IAChC,UAAU,EAAE,YAAY;CACf,CAAC;
|
|
1
|
+
{"version":3,"file":"tool-ids.js","sourceRoot":"","sources":["../../src/tools/tool-ids.ts"],"names":[],"mappings":";;;AAAa,QAAA,eAAe,GAAG;IAC9B,SAAS,EAAE,WAAW;IACtB,KAAK,EAAE,OAAO;IACd,UAAU,EAAE,YAAY;IACxB,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,aAAa;IAC1B,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,UAAU;IACpB,cAAc,EAAE,gBAAgB;IAChC,UAAU,EAAE,YAAY;CACf,CAAC;AAME,QAAA,gCAAgC,GAAG,mBAAmB,CAAC;AAEvD,QAAA,sBAAsB,GAAG;IACrC,YAAY,EAAE,cAAc;IAC5B,YAAY,EAAE,cAAc;IAC5B,QAAQ,EAAE,UAAU;IACpB,qBAAqB,EAAE,uBAAuB;IAC9C,SAAS,EAAE,WAAW;IACtB,mBAAmB,EAAE,qBAAqB;IAC1C,qBAAqB,EAAE,uBAAuB;IAC9C,2BAA2B,EAAE,6BAA6B;IAC1D,0BAA0B,EAAE,4BAA4B;CAC/C,CAAC;AAEE,QAAA,kBAAkB,GAAG;IACjC,UAAU,EAAE,YAAY;CACf,CAAC;AAEE,QAAA,mBAAmB,GAAG,uBAAe,CAAC,WAAW,CAAC;AAClD,QAAA,mBAAmB,GAAG,uBAAe,CAAC,WAAW,CAAC;AAClD,QAAA,gBAAgB,GAAG,uBAAe,CAAC,QAAQ,CAAC;AAC5C,QAAA,gBAAgB,GAAG,uBAAe,CAAC,QAAQ,CAAC;AAE5C,QAAA,wBAAwB,GAAG,IAAI,GAAG,CAAS,MAAM,CAAC,MAAM,CAAC,8BAAsB,CAAC,CAAC,CAAC;AAElF,QAAA,wBAAwB,GAAG,IAAI,GAAG,CAAS;IACvD,8BAAsB,CAAC,YAAY;IACnC,8BAAsB,CAAC,QAAQ;IAC/B,uBAAe,CAAC,QAAQ;IACxB,uBAAe,CAAC,WAAW;IAC3B,uBAAe,CAAC,SAAS;IACzB,uBAAe,CAAC,UAAU;IAC1B,uBAAe,CAAC,WAAW;IAC3B,uBAAe,CAAC,UAAU;IAC1B,uBAAe,CAAC,cAAc;IAC9B,uBAAe,CAAC,KAAK;IACrB,uBAAe,CAAC,QAAQ;IACxB,8BAAsB,CAAC,qBAAqB;IAC5C,uBAAe,CAAC,QAAQ;IACxB,uBAAe,CAAC,KAAK;IACrB,YAAY;IACZ,WAAW;CACX,CAAC,CAAC;AAEU,QAAA,+BAA+B,GAAG,IAAI,GAAG,CAAS;IAC9D,8BAAsB,CAAC,mBAAmB;IAC1C,uBAAe,CAAC,UAAU;CAC1B,CAAC,CAAC"}
|
|
@@ -4,6 +4,7 @@ exports.applyWorkflowCredentialsInputSchema = void 0;
|
|
|
4
4
|
exports.createApplyWorkflowCredentialsTool = createApplyWorkflowCredentialsTool;
|
|
5
5
|
const agents_1 = require("@n8n/agents");
|
|
6
6
|
const zod_1 = require("zod");
|
|
7
|
+
const credential_utils_1 = require("./credential-utils");
|
|
7
8
|
exports.applyWorkflowCredentialsInputSchema = zod_1.z.object({
|
|
8
9
|
workItemId: zod_1.z.string().describe('The work item ID from the build (wi_XXXXXXXX)'),
|
|
9
10
|
workflowId: zod_1.z.string().describe('The workflow ID to update'),
|
|
@@ -31,7 +32,7 @@ function createApplyWorkflowCredentialsTool(context) {
|
|
|
31
32
|
};
|
|
32
33
|
}
|
|
33
34
|
const { mockedCredentialsByNode } = buildOutcome;
|
|
34
|
-
const {
|
|
35
|
+
const { workflowService } = context.domainContext;
|
|
35
36
|
let json;
|
|
36
37
|
try {
|
|
37
38
|
json = await workflowService.getAsWorkflowJSON(input.workflowId);
|
|
@@ -50,16 +51,10 @@ function createApplyWorkflowCredentialsTool(context) {
|
|
|
50
51
|
const credId = input.credentials[credType];
|
|
51
52
|
if (!credId)
|
|
52
53
|
continue;
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
catch {
|
|
58
|
-
return {
|
|
59
|
-
success: false,
|
|
60
|
-
error: `Credential ${credId} for type ${credType} no longer exists.`,
|
|
61
|
-
};
|
|
62
|
-
}
|
|
54
|
+
const resolved = await (0, credential_utils_1.resolveCredentialForApply)(credType, credId, context.domainContext);
|
|
55
|
+
if (!resolved.resolved)
|
|
56
|
+
return { success: false, error: resolved.error };
|
|
57
|
+
(0, credential_utils_1.assignCredentialToNode)(node, credType, resolved.credential);
|
|
63
58
|
}
|
|
64
59
|
appliedNodes.push(nodeName);
|
|
65
60
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply-workflow-credentials.tool.js","sourceRoot":"","sources":["../../../src/tools/workflows/apply-workflow-credentials.tool.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"apply-workflow-credentials.tool.js","sourceRoot":"","sources":["../../../src/tools/workflows/apply-workflow-credentials.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { z } from 'zod';
|
|
|
2
2
|
import type { InstanceAiContext } from '../../types';
|
|
3
3
|
export declare const buildWorkflowInputSchema: z.ZodObject<{
|
|
4
4
|
filePath: z.ZodEffects<z.ZodString, string, string>;
|
|
5
|
+
sourceCode: z.ZodOptional<z.ZodString>;
|
|
5
6
|
workflowId: z.ZodOptional<z.ZodString>;
|
|
6
7
|
projectId: z.ZodOptional<z.ZodString>;
|
|
7
8
|
name: z.ZodOptional<z.ZodString>;
|
|
@@ -9,17 +10,23 @@ export declare const buildWorkflowInputSchema: z.ZodObject<{
|
|
|
9
10
|
isSupportingWorkflow: z.ZodOptional<z.ZodBoolean>;
|
|
10
11
|
}, "strict", z.ZodTypeAny, {
|
|
11
12
|
filePath: string;
|
|
13
|
+
name?: string | undefined;
|
|
12
14
|
workItemId?: string | undefined;
|
|
13
15
|
workflowId?: string | undefined;
|
|
14
|
-
name?: string | undefined;
|
|
15
16
|
projectId?: string | undefined;
|
|
16
17
|
isSupportingWorkflow?: boolean | undefined;
|
|
18
|
+
sourceCode?: string | undefined;
|
|
17
19
|
}, {
|
|
18
20
|
filePath: string;
|
|
21
|
+
name?: string | undefined;
|
|
19
22
|
workItemId?: string | undefined;
|
|
20
23
|
workflowId?: string | undefined;
|
|
21
|
-
name?: string | undefined;
|
|
22
24
|
projectId?: string | undefined;
|
|
23
25
|
isSupportingWorkflow?: boolean | undefined;
|
|
26
|
+
sourceCode?: string | undefined;
|
|
24
27
|
}>;
|
|
28
|
+
export declare function autoImportMissingSdkSymbols(source: string, errors: string[]): {
|
|
29
|
+
source: string;
|
|
30
|
+
symbols: string[];
|
|
31
|
+
} | undefined;
|
|
25
32
|
export declare function createBuildWorkflowTool(context: InstanceAiContext): import("@n8n/agents").BuiltTool;
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.buildWorkflowInputSchema = void 0;
|
|
4
|
+
exports.autoImportMissingSdkSymbols = autoImportMissingSdkSymbols;
|
|
4
5
|
exports.createBuildWorkflowTool = createBuildWorkflowTool;
|
|
5
6
|
const agents_1 = require("@n8n/agents");
|
|
6
7
|
const api_types_1 = require("@n8n/api-types");
|
|
7
|
-
const
|
|
8
|
+
const placeholder_1 = require("@n8n/utils/placeholder");
|
|
9
|
+
const workflow_sdk_1 = require("@n8n/workflow-sdk");
|
|
8
10
|
const nanoid_1 = require("nanoid");
|
|
11
|
+
const node_fs_1 = require("node:fs");
|
|
12
|
+
const node_path_1 = require("node:path");
|
|
9
13
|
const zod_1 = require("zod");
|
|
10
14
|
const plan_verification_simulation_1 = require("./plan-verification-simulation");
|
|
11
15
|
const resolve_credentials_1 = require("./resolve-credentials");
|
|
@@ -18,10 +22,15 @@ const workflow_build_telemetry_1 = require("./workflow-build-telemetry");
|
|
|
18
22
|
const workflow_file_bindings_1 = require("./workflow-file-bindings");
|
|
19
23
|
const workflow_json_utils_1 = require("./workflow-json-utils");
|
|
20
24
|
const workflow_source_compiler_1 = require("./workflow-source-compiler");
|
|
25
|
+
const langsmith_tracing_1 = require("../../tracing/langsmith-tracing");
|
|
26
|
+
const tool_ids_1 = require("../tool-ids");
|
|
21
27
|
const workflow_validation_warnings_1 = require("./workflow-validation-warnings");
|
|
28
|
+
const runtime_skills_1 = require("../../skills/runtime-skills");
|
|
22
29
|
const build_failure_tracker_1 = require("../../workflow-builder/build-failure-tracker");
|
|
23
30
|
const remediation_1 = require("../../workflow-loop/remediation");
|
|
24
31
|
const workflow_loop_state_1 = require("../../workflow-loop/workflow-loop-state");
|
|
32
|
+
const workspace_files_1 = require("../../workspace/workspace-files");
|
|
33
|
+
const MAX_COMPILED_WORKFLOW_TRACE_CHARS = 1_000_000;
|
|
25
34
|
const confirmationSuspendSchema = zod_1.z.object({
|
|
26
35
|
requestId: zod_1.z.string(),
|
|
27
36
|
message: zod_1.z.string(),
|
|
@@ -45,6 +54,10 @@ exports.buildWorkflowInputSchema = zod_1.z
|
|
|
45
54
|
}
|
|
46
55
|
}, { message: 'Workflow source file path must stay within the workspace root.' })
|
|
47
56
|
.describe('Workspace path to the workflow source file to build. Supports TypeScript SDK files and WorkflowJSON .json files.'),
|
|
57
|
+
sourceCode: zod_1.z
|
|
58
|
+
.string()
|
|
59
|
+
.optional()
|
|
60
|
+
.describe('Full source to write to filePath before building — use this instead of a separate workspace_write_file call when creating or fully rewriting the source. Omit to build the existing file content (preferred for targeted edits made with file tools).'),
|
|
48
61
|
workflowId: zod_1.z
|
|
49
62
|
.string()
|
|
50
63
|
.optional()
|
|
@@ -95,12 +108,82 @@ const setupRequirementOutputSchema = zod_1.z.discriminatedUnion('status', [
|
|
|
95
108
|
guidance: zod_1.z.string(),
|
|
96
109
|
}),
|
|
97
110
|
]);
|
|
111
|
+
const SDK_IMPORTABLE_SYMBOLS = new Set(workflow_sdk_1.SDK_IMPORTABLE_FUNCTIONS);
|
|
112
|
+
const SDK_IMPORT_REGEX = /import\s*\{([^}]*)\}\s*from\s*['"]@n8n\/workflow-sdk['"]/;
|
|
113
|
+
function autoImportMissingSdkSymbols(source, errors) {
|
|
114
|
+
const missing = new Set();
|
|
115
|
+
for (const error of errors) {
|
|
116
|
+
for (const match of error.matchAll(/\b([A-Za-z_$][\w$]*) is not defined\b/g)) {
|
|
117
|
+
if (SDK_IMPORTABLE_SYMBOLS.has(match[1]))
|
|
118
|
+
missing.add(match[1]);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
if (missing.size === 0)
|
|
122
|
+
return undefined;
|
|
123
|
+
const symbols = Array.from(missing);
|
|
124
|
+
const existing = SDK_IMPORT_REGEX.exec(source);
|
|
125
|
+
if (existing) {
|
|
126
|
+
const names = new Set(existing[1]
|
|
127
|
+
.split(',')
|
|
128
|
+
.map((name) => name.trim())
|
|
129
|
+
.filter(Boolean));
|
|
130
|
+
for (const symbol of symbols)
|
|
131
|
+
names.add(symbol);
|
|
132
|
+
return {
|
|
133
|
+
source: source.replace(SDK_IMPORT_REGEX, `import {\n ${Array.from(names).join(',\n ')},\n} from '@n8n/workflow-sdk'`),
|
|
134
|
+
symbols,
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
return {
|
|
138
|
+
source: `import { ${symbols.join(', ')} } from '@n8n/workflow-sdk';\n\n${source}`,
|
|
139
|
+
symbols,
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
const POST_BUILD_FLOW_SKILL_ID = 'post-build-flow';
|
|
143
|
+
const POST_BUILD_FLOW_GUIDANCE = 'This direct build is not complete yet. Follow the post-build instructions in `instructions` now (do NOT load the post-build-flow skill — they are the same instructions) before verification, setup, error-workflow follow-up, publishing, testing, or any final user-visible summary. Follow-up order is verification/setup first, then mocked/no-mock live-test when latest verification used mocks or simulations, then explicit error-workflow opt-in for direct new primary workflows, then generic testing prompts. Do not replace the error-workflow opt-in with a generic add-anything, publish, or test question.';
|
|
144
|
+
let postBuildFlowInstructionsCache;
|
|
145
|
+
const INLINE_SKIPPED_SECTIONS = [
|
|
146
|
+
'## Verification follow-up',
|
|
147
|
+
'## Setup follow-up',
|
|
148
|
+
'## Credentials before build',
|
|
149
|
+
];
|
|
150
|
+
function getPostBuildFlowInstructions() {
|
|
151
|
+
if (postBuildFlowInstructionsCache === undefined) {
|
|
152
|
+
const raw = (0, node_fs_1.readFileSync)((0, node_path_1.join)(runtime_skills_1.INSTANCE_AI_SKILLS_DIR, POST_BUILD_FLOW_SKILL_ID, 'SKILL.md'), 'utf-8');
|
|
153
|
+
const body = raw.replace(/^---\n[\s\S]*?\n---\n/, '').trim();
|
|
154
|
+
postBuildFlowInstructionsCache = body
|
|
155
|
+
.split(/\n(?=## )/)
|
|
156
|
+
.filter((section) => !INLINE_SKIPPED_SECTIONS.some((title) => section.startsWith(title)))
|
|
157
|
+
.join('\n')
|
|
158
|
+
.trim();
|
|
159
|
+
}
|
|
160
|
+
return postBuildFlowInstructionsCache;
|
|
161
|
+
}
|
|
162
|
+
const postBuildFlowOutputSchema = zod_1.z.object({
|
|
163
|
+
required: zod_1.z.literal(true),
|
|
164
|
+
skillId: zod_1.z.literal(POST_BUILD_FLOW_SKILL_ID),
|
|
165
|
+
reason: zod_1.z.literal('direct-build-succeeded'),
|
|
166
|
+
guidance: zod_1.z.string(),
|
|
167
|
+
instructions: zod_1.z.string(),
|
|
168
|
+
});
|
|
169
|
+
function directPostBuildFlowHandoff(owner, isAuxiliarySupportingWorkflow) {
|
|
170
|
+
if (owner?.type !== 'direct' || isAuxiliarySupportingWorkflow)
|
|
171
|
+
return undefined;
|
|
172
|
+
return {
|
|
173
|
+
required: true,
|
|
174
|
+
skillId: POST_BUILD_FLOW_SKILL_ID,
|
|
175
|
+
reason: 'direct-build-succeeded',
|
|
176
|
+
guidance: POST_BUILD_FLOW_GUIDANCE,
|
|
177
|
+
instructions: getPostBuildFlowInstructions(),
|
|
178
|
+
};
|
|
179
|
+
}
|
|
98
180
|
function createBuildWorkflowTool(context) {
|
|
99
181
|
const failureTracker = new build_failure_tracker_1.BuildFailureTracker();
|
|
100
182
|
return new agents_1.Tool('build-workflow')
|
|
101
|
-
.description('Build and save a workflow from
|
|
183
|
+
.description('Build and save a workflow from workflow source. ' +
|
|
102
184
|
'Use TypeScript SDK source for new workflows, or WorkflowJSON .json source for existing workflow edits. ' +
|
|
103
|
-
'
|
|
185
|
+
'For new or fully rewritten source, pass it in `sourceCode` (the tool writes filePath and builds in one call — ' +
|
|
186
|
+
'do not spend a separate workspace_write_file call). Pass filePath alone only after editing an existing file with file tools.')
|
|
104
187
|
.input(exports.buildWorkflowInputSchema)
|
|
105
188
|
.output(zod_1.z.object({
|
|
106
189
|
success: zod_1.z.boolean(),
|
|
@@ -112,6 +195,7 @@ function createBuildWorkflowTool(context) {
|
|
|
112
195
|
triggerNodes: zod_1.z.array(triggerNodeOutputSchema).optional(),
|
|
113
196
|
verificationReadiness: verificationReadinessOutputSchema.optional(),
|
|
114
197
|
setupRequirement: setupRequirementOutputSchema.optional(),
|
|
198
|
+
postBuildFlow: postBuildFlowOutputSchema.optional(),
|
|
115
199
|
isSupportingWorkflow: zod_1.z.boolean().optional(),
|
|
116
200
|
mockedNodeNames: zod_1.z.array(zod_1.z.string()).optional(),
|
|
117
201
|
mockedCredentialTypes: zod_1.z.array(zod_1.z.string()).optional(),
|
|
@@ -255,6 +339,36 @@ function createBuildWorkflowTool(context) {
|
|
|
255
339
|
});
|
|
256
340
|
}
|
|
257
341
|
}
|
|
342
|
+
if (input.sourceCode !== undefined && context.workspace) {
|
|
343
|
+
try {
|
|
344
|
+
await (0, workspace_files_1.writeWorkspaceFile)(context.workspace, filePath, input.sourceCode, {
|
|
345
|
+
logger: context.logger,
|
|
346
|
+
resourceLabel: 'Workflow source file',
|
|
347
|
+
});
|
|
348
|
+
}
|
|
349
|
+
catch (error) {
|
|
350
|
+
const remediation = (0, workflow_build_remediation_1.createCodeFixableRemediation)({
|
|
351
|
+
reason: 'workflow_source_write_failed',
|
|
352
|
+
guidance: 'The inline sourceCode could not be written to filePath. Write the file with workspace file tools, then call build-workflow again with the same filePath.',
|
|
353
|
+
});
|
|
354
|
+
(0, workflow_build_telemetry_1.trackWorkflowSourceBuild)(context, {
|
|
355
|
+
result: 'failure',
|
|
356
|
+
stage: 'source_read',
|
|
357
|
+
binding,
|
|
358
|
+
targetWorkflowId,
|
|
359
|
+
isSupportingWorkflow: input.isSupportingWorkflow,
|
|
360
|
+
remediation,
|
|
361
|
+
errorCount: 1,
|
|
362
|
+
});
|
|
363
|
+
return {
|
|
364
|
+
success: false,
|
|
365
|
+
...(0, workflow_build_context_1.sourceResponseBase)(binding),
|
|
366
|
+
workflowId: targetWorkflowId,
|
|
367
|
+
errors: [error instanceof Error ? error.message : String(error)],
|
|
368
|
+
remediation,
|
|
369
|
+
};
|
|
370
|
+
}
|
|
371
|
+
}
|
|
258
372
|
let sourceCode;
|
|
259
373
|
let sourceHash;
|
|
260
374
|
try {
|
|
@@ -308,7 +422,40 @@ function createBuildWorkflowTool(context) {
|
|
|
308
422
|
return escalation ? [...errors, escalation] : errors;
|
|
309
423
|
};
|
|
310
424
|
let informational = [];
|
|
311
|
-
|
|
425
|
+
let compiled = await (0, workflow_source_compiler_1.compileWorkflowSource)(context, filePath, sourceCode);
|
|
426
|
+
if (!compiled.success &&
|
|
427
|
+
compiled.reason === 'workflow_source_build_failed' &&
|
|
428
|
+
context.workspace) {
|
|
429
|
+
const recovery = autoImportMissingSdkSymbols(sourceCode, compiled.errors);
|
|
430
|
+
if (recovery) {
|
|
431
|
+
try {
|
|
432
|
+
await (0, workspace_files_1.writeWorkspaceFile)(context.workspace, filePath, recovery.source, {
|
|
433
|
+
logger: context.logger,
|
|
434
|
+
resourceLabel: 'Workflow source file',
|
|
435
|
+
});
|
|
436
|
+
const retried = await (0, workflow_source_compiler_1.compileWorkflowSource)(context, filePath, recovery.source);
|
|
437
|
+
sourceCode = recovery.source;
|
|
438
|
+
sourceHash = (0, workflow_file_bindings_1.hashWorkflowSource)(recovery.source);
|
|
439
|
+
compiled = retried.success
|
|
440
|
+
? {
|
|
441
|
+
...retried,
|
|
442
|
+
warnings: [
|
|
443
|
+
...retried.warnings,
|
|
444
|
+
{
|
|
445
|
+
code: 'auto_imported_sdk_symbols',
|
|
446
|
+
message: `Auto-added missing @n8n/workflow-sdk import(s): ${recovery.symbols.join(', ')}. Include them in future source.`,
|
|
447
|
+
},
|
|
448
|
+
],
|
|
449
|
+
}
|
|
450
|
+
: retried;
|
|
451
|
+
}
|
|
452
|
+
catch (error) {
|
|
453
|
+
context.logger.debug('Auto-import recovery failed; returning original errors', {
|
|
454
|
+
error: error instanceof Error ? error.message : String(error),
|
|
455
|
+
});
|
|
456
|
+
}
|
|
457
|
+
}
|
|
458
|
+
}
|
|
312
459
|
if (!compiled.success) {
|
|
313
460
|
const errors = compiled.editable ? withEscalation(compiled.errors) : compiled.errors;
|
|
314
461
|
const remediation = (0, workflow_build_remediation_1.createSourceCompileRemediation)({
|
|
@@ -447,7 +594,7 @@ function createBuildWorkflowTool(context) {
|
|
|
447
594
|
.filter((n) => (0, workflow_json_utils_1.isTriggerNodeType)(n.type))
|
|
448
595
|
.map((n) => ({ nodeName: n.name, nodeType: n.type }))
|
|
449
596
|
.filter((t) => Boolean(t.nodeName) && Boolean(t.nodeType));
|
|
450
|
-
const hasPlaceholders = (json.nodes ?? []).some((n) => (0,
|
|
597
|
+
const hasPlaceholders = (json.nodes ?? []).some((n) => (0, placeholder_1.hasPlaceholderDeep)(n.parameters));
|
|
451
598
|
const createSuccessResponse = async (saved, operation) => {
|
|
452
599
|
const setupRequests = await (0, setup_workflow_service_1.analyzeWorkflow)(context, saved.id);
|
|
453
600
|
const workflowNeedsSetup = setupRequests.some((request) => request.needsAction);
|
|
@@ -467,6 +614,23 @@ function createBuildWorkflowTool(context) {
|
|
|
467
614
|
workflowVersionId: saved.versionId,
|
|
468
615
|
sourceHash,
|
|
469
616
|
});
|
|
617
|
+
try {
|
|
618
|
+
const payload = { workflowId: saved.id, sourceHash, workflow: json };
|
|
619
|
+
const withinSizeGate = JSON.stringify(payload).length <= MAX_COMPILED_WORKFLOW_TRACE_CHARS;
|
|
620
|
+
const emittedVia = await (0, langsmith_tracing_1.emitTraceOnlyChildRun)(context.tracing, {
|
|
621
|
+
name: tool_ids_1.COMPILED_WORKFLOW_TRACE_RUN_NAME,
|
|
622
|
+
runType: 'chain',
|
|
623
|
+
canonicalName: `instance-ai.${tool_ids_1.COMPILED_WORKFLOW_TRACE_RUN_NAME}`,
|
|
624
|
+
tags: [tool_ids_1.COMPILED_WORKFLOW_TRACE_RUN_NAME],
|
|
625
|
+
metadata: { workflow_id: saved.id, source_hash: sourceHash },
|
|
626
|
+
}, withinSizeGate
|
|
627
|
+
? { outputs: payload, rawOutputs: true }
|
|
628
|
+
: { outputs: { workflowId: saved.id, sourceHash, truncated: true } });
|
|
629
|
+
context.logger.debug(`[build-workflow] compiled-workflow trace event: ${emittedVia}${withinSizeGate ? '' : ' (payload over size gate, emitted truncated marker)'}`);
|
|
630
|
+
}
|
|
631
|
+
catch (error) {
|
|
632
|
+
context.logger.debug(`[build-workflow] compiled-workflow trace event failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
633
|
+
}
|
|
470
634
|
const outcome = (0, workflow_build_routing_1.withDeterministicRouting)({
|
|
471
635
|
workItemId: resolvedWorkItemId,
|
|
472
636
|
...(runId ? { runId } : {}),
|
|
@@ -493,6 +657,7 @@ function createBuildWorkflowTool(context) {
|
|
|
493
657
|
hasUnresolvedPlaceholders: hasPlaceholders || undefined,
|
|
494
658
|
summary,
|
|
495
659
|
});
|
|
660
|
+
const postBuildFlow = directPostBuildFlowHandoff(owner, isAuxiliarySupportingWorkflow);
|
|
496
661
|
await (0, workflow_build_reporting_1.promoteMainWorkflow)(context, saved.id);
|
|
497
662
|
await (0, workflow_build_reporting_1.reportWorkflowBuildOutcome)(context, outcome, {
|
|
498
663
|
storeOnRunContext: !isAuxiliarySupportingWorkflow,
|
|
@@ -520,6 +685,7 @@ function createBuildWorkflowTool(context) {
|
|
|
520
685
|
triggerNodes,
|
|
521
686
|
verificationReadiness: outcome.verificationReadiness,
|
|
522
687
|
setupRequirement: outcome.setupRequirement,
|
|
688
|
+
...(postBuildFlow ? { postBuildFlow } : {}),
|
|
523
689
|
mockedNodeNames: hasMockedCredentialNodes ? mockResult.mockedNodeNames : undefined,
|
|
524
690
|
mockedCredentialTypes: hasMockedCredentialNodes
|
|
525
691
|
? mockResult.mockedCredentialTypes
|