@n8n/instance-ai 1.14.7 → 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.
Files changed (171) hide show
  1. package/dist/agent/apply-agent-thinking.js +3 -3
  2. package/dist/agent/apply-agent-thinking.js.map +1 -1
  3. package/dist/agent/computer-use-prompt.js +12 -10
  4. package/dist/agent/computer-use-prompt.js.map +1 -1
  5. package/dist/agent/instance-agent.js +5 -2
  6. package/dist/agent/instance-agent.js.map +1 -1
  7. package/dist/agent/sanitize-mcp-schemas.js +3 -3
  8. package/dist/agent/sanitize-mcp-schemas.js.map +1 -1
  9. package/dist/agent/shared-prompts.js +3 -5
  10. package/dist/agent/shared-prompts.js.map +1 -1
  11. package/dist/agent/sub-agent-debriefing.d.ts +4 -4
  12. package/dist/agent/system-prompt.d.ts +1 -0
  13. package/dist/agent/system-prompt.js +10 -5
  14. package/dist/agent/system-prompt.js.map +1 -1
  15. package/dist/build.tsbuildinfo +1 -1
  16. package/dist/debug/run-debug-buffer.js +4 -4
  17. package/dist/debug/run-debug-buffer.js.map +1 -1
  18. package/dist/debug/sanitize-debug-snapshot.js +6 -5
  19. package/dist/debug/sanitize-debug-snapshot.js.map +1 -1
  20. package/dist/domain-access/domain-access-tracker.d.ts +8 -4
  21. package/dist/domain-access/domain-access-tracker.js +12 -7
  22. package/dist/domain-access/domain-access-tracker.js.map +1 -1
  23. package/dist/domain-access/domain-gating.d.ts +4 -4
  24. package/dist/domain-access/domain-gating.js +5 -5
  25. package/dist/domain-access/domain-gating.js.map +1 -1
  26. package/dist/error-formatting.js +3 -3
  27. package/dist/error-formatting.js.map +1 -1
  28. package/dist/index.d.ts +3 -20
  29. package/dist/index.js +4 -22
  30. package/dist/index.js.map +1 -1
  31. package/dist/mcp/mcp-client-manager.d.ts +11 -2
  32. package/dist/mcp/mcp-client-manager.js +17 -9
  33. package/dist/mcp/mcp-client-manager.js.map +1 -1
  34. package/dist/runtime/resumable-stream-executor.js +8 -8
  35. package/dist/runtime/resumable-stream-executor.js.map +1 -1
  36. package/dist/runtime/run-state-registry.d.ts +4 -0
  37. package/dist/runtime/run-state-registry.js +22 -8
  38. package/dist/runtime/run-state-registry.js.map +1 -1
  39. package/dist/runtime/terminal-response-guard.js +6 -1
  40. package/dist/runtime/terminal-response-guard.js.map +1 -1
  41. package/dist/storage/terminal-outcome-storage.d.ts +4 -4
  42. package/dist/storage/workflow-loop-storage.d.ts +94 -94
  43. package/dist/stream/map-chunk.js +17 -17
  44. package/dist/stream/map-chunk.js.map +1 -1
  45. package/dist/stream/output-redaction.js +8 -6
  46. package/dist/stream/output-redaction.js.map +1 -1
  47. package/dist/stream/usage-accumulator.d.ts +18 -18
  48. package/dist/stream/work-summary-accumulator.d.ts +6 -6
  49. package/dist/tools/attachments/parse-file.tool.d.ts +18 -18
  50. package/dist/tools/credentials.tool.d.ts +2 -2
  51. package/dist/tools/data-tables.tool.js +2 -2
  52. package/dist/tools/data-tables.tool.js.map +1 -1
  53. package/dist/tools/evals/column-ref-utils.js +4 -4
  54. package/dist/tools/evals/column-ref-utils.js.map +1 -1
  55. package/dist/tools/evals/describe-metric-for-workflow.service.js +3 -3
  56. package/dist/tools/evals/describe-metric-for-workflow.service.js.map +1 -1
  57. package/dist/tools/evals/detect-tool-refs.service.js +2 -2
  58. package/dist/tools/evals/detect-tool-refs.service.js.map +1 -1
  59. package/dist/tools/evals/eval-data-requirements.service.js +10 -10
  60. package/dist/tools/evals/eval-data-requirements.service.js.map +1 -1
  61. package/dist/tools/evals/evals.tool.js +7 -8
  62. package/dist/tools/evals/evals.tool.js.map +1 -1
  63. package/dist/tools/evals/extract-rows-from-history.service.js +7 -7
  64. package/dist/tools/evals/extract-rows-from-history.service.js.map +1 -1
  65. package/dist/tools/evals/generate-sample-rows.service.js +5 -5
  66. package/dist/tools/evals/generate-sample-rows.service.js.map +1 -1
  67. package/dist/tools/evals/metric-catalog.js +3 -3
  68. package/dist/tools/evals/metric-catalog.js.map +1 -1
  69. package/dist/tools/executions.tool.js +4 -6
  70. package/dist/tools/executions.tool.js.map +1 -1
  71. package/dist/tools/filesystem/create-tools-from-mcp-server.js +6 -6
  72. package/dist/tools/filesystem/create-tools-from-mcp-server.js.map +1 -1
  73. package/dist/tools/n8n-docs/schemas.d.ts +4 -4
  74. package/dist/tools/nodes/node-search-engine.js +3 -3
  75. package/dist/tools/nodes/node-search-engine.js.map +1 -1
  76. package/dist/tools/nodes.tool.js +13 -30
  77. package/dist/tools/nodes.tool.js.map +1 -1
  78. package/dist/tools/orchestration/complete-checkpoint.tool.js +2 -2
  79. package/dist/tools/orchestration/complete-checkpoint.tool.js.map +1 -1
  80. package/dist/tools/orchestration/delegate.schemas.d.ts +1 -1
  81. package/dist/tools/orchestration/report-verification-verdict.tool.d.ts +8 -8
  82. package/dist/tools/orchestration/verification/analyze-result.js +4 -3
  83. package/dist/tools/orchestration/verification/analyze-result.js.map +1 -1
  84. package/dist/tools/orchestration/verify-built-workflow.tool.d.ts +2 -2
  85. package/dist/tools/orchestration/verify-built-workflow.tool.js +4 -7
  86. package/dist/tools/orchestration/verify-built-workflow.tool.js.map +1 -1
  87. package/dist/tools/research.tool.js +2 -2
  88. package/dist/tools/research.tool.js.map +1 -1
  89. package/dist/tools/shared/ask-user.tool.d.ts +4 -4
  90. package/dist/tools/shared/ask-user.tool.js +11 -21
  91. package/dist/tools/shared/ask-user.tool.js.map +1 -1
  92. package/dist/tools/tool-ids.d.ts +1 -0
  93. package/dist/tools/tool-ids.js +2 -1
  94. package/dist/tools/tool-ids.js.map +1 -1
  95. package/dist/tools/workflows/apply-workflow-credentials.tool.js +6 -11
  96. package/dist/tools/workflows/apply-workflow-credentials.tool.js.map +1 -1
  97. package/dist/tools/workflows/build-workflow.tool.d.ts +9 -2
  98. package/dist/tools/workflows/build-workflow.tool.js +127 -5
  99. package/dist/tools/workflows/build-workflow.tool.js.map +1 -1
  100. package/dist/tools/workflows/classify-node-destructiveness.service.js +4 -4
  101. package/dist/tools/workflows/classify-node-destructiveness.service.js.map +1 -1
  102. package/dist/tools/workflows/credential-url-resolver.d.ts +21 -0
  103. package/dist/tools/workflows/credential-url-resolver.js +79 -0
  104. package/dist/tools/workflows/credential-url-resolver.js.map +1 -0
  105. package/dist/tools/workflows/credential-utils.d.ts +28 -0
  106. package/dist/tools/workflows/credential-utils.js +61 -0
  107. package/dist/tools/workflows/credential-utils.js.map +1 -0
  108. package/dist/tools/workflows/detect-array-input-collapse.js +4 -4
  109. package/dist/tools/workflows/detect-array-input-collapse.js.map +1 -1
  110. package/dist/tools/workflows/detect-wrong-kind-locator.d.ts +10 -0
  111. package/dist/tools/workflows/detect-wrong-kind-locator.js +105 -0
  112. package/dist/tools/workflows/detect-wrong-kind-locator.js.map +1 -0
  113. package/dist/tools/workflows/generate-simulation-fixtures.service.js +3 -3
  114. package/dist/tools/workflows/generate-simulation-fixtures.service.js.map +1 -1
  115. package/dist/tools/workflows/materialize-node-type.tool.d.ts +4 -4
  116. package/dist/tools/workflows/setup-workflow.schema.d.ts +63 -27
  117. package/dist/tools/workflows/setup-workflow.service.js +26 -43
  118. package/dist/tools/workflows/setup-workflow.service.js.map +1 -1
  119. package/dist/tools/workflows/summarize-workflow.d.ts +5 -0
  120. package/dist/tools/workflows/summarize-workflow.js +114 -0
  121. package/dist/tools/workflows/summarize-workflow.js.map +1 -0
  122. package/dist/tools/workflows/workflow-json-utils.js +6 -5
  123. package/dist/tools/workflows/workflow-json-utils.js.map +1 -1
  124. package/dist/tools/workflows/workflow-source-compiler.js +48 -9
  125. package/dist/tools/workflows/workflow-source-compiler.js.map +1 -1
  126. package/dist/tools/workflows/workflow-validation-warnings.js +5 -1
  127. package/dist/tools/workflows/workflow-validation-warnings.js.map +1 -1
  128. package/dist/tools/workflows.tool.d.ts +1 -1
  129. package/dist/tools/workflows.tool.js +47 -22
  130. package/dist/tools/workflows.tool.js.map +1 -1
  131. package/dist/tracing/langsmith-tracing.d.ts +5 -1
  132. package/dist/tracing/langsmith-tracing.js +66 -13
  133. package/dist/tracing/langsmith-tracing.js.map +1 -1
  134. package/dist/tracing/trace-payloads.d.ts +1 -0
  135. package/dist/tracing/trace-payloads.js +46 -29
  136. package/dist/tracing/trace-payloads.js.map +1 -1
  137. package/dist/types.d.ts +16 -1
  138. package/dist/types.js.map +1 -1
  139. package/dist/utils/stream-helpers.js +5 -5
  140. package/dist/utils/stream-helpers.js.map +1 -1
  141. package/dist/workflow-builder/index.d.ts +0 -1
  142. package/dist/workflow-builder/index.js +1 -6
  143. package/dist/workflow-builder/index.js.map +1 -1
  144. package/dist/workflow-loop/index.d.ts +0 -1
  145. package/dist/workflow-loop/index.js +1 -3
  146. package/dist/workflow-loop/index.js.map +1 -1
  147. package/dist/workflow-loop/workflow-loop-state.d.ts +112 -112
  148. package/dist/workspace/snapshot-image-context.js +24 -11
  149. package/dist/workspace/snapshot-image-context.js.map +1 -1
  150. package/dist/workspace/snapshot-manager.d.ts +0 -1
  151. package/dist/workspace/snapshot-manager.js +0 -7
  152. package/dist/workspace/snapshot-manager.js.map +1 -1
  153. package/dist/workspace/template-telemetry.js +5 -4
  154. package/dist/workspace/template-telemetry.js.map +1 -1
  155. package/dist/workspace/workspace-manifest.js +2 -2
  156. package/dist/workspace/workspace-manifest.js.map +1 -1
  157. package/knowledge-base/reference/workflow-builder-guardrails.md +33 -0
  158. package/package.json +14 -12
  159. package/skills/post-build-flow/SKILL.md +106 -10
  160. package/skills/workflow-builder/SKILL.md +174 -225
  161. package/skills/workflow-builder/references/compositional-workflows.md +66 -0
  162. package/skills/workflow-builder/references/error-workflows.md +35 -0
  163. package/dist/tools/nodes/suggested-nodes-data.d.ts +0 -11
  164. package/dist/tools/nodes/suggested-nodes-data.js +0 -333
  165. package/dist/tools/nodes/suggested-nodes-data.js.map +0 -1
  166. package/dist/workflow-builder/sdk-prompt-sections.d.ts +0 -1
  167. package/dist/workflow-builder/sdk-prompt-sections.js +0 -9
  168. package/dist/workflow-builder/sdk-prompt-sections.js.map +0 -1
  169. package/dist/workflow-loop/terminal-remediation-guard.d.ts +0 -6
  170. package/dist/workflow-loop/terminal-remediation-guard.js +0 -18
  171. package/dist/workflow-loop/terminal-remediation-guard.js.map +0 -1
@@ -6,6 +6,7 @@ const promises_1 = require("node:fs/promises");
6
6
  const node_os_1 = require("node:os");
7
7
  const node_path_1 = require("node:path");
8
8
  const SNAPSHOT_CONTEXT_PREFIX = 'n8n-snapshot-context-';
9
+ const stagingByCacheKey = new Map();
9
10
  function workspaceRelativePath(filePath, workspaceRoot) {
10
11
  const root = workspaceRoot.endsWith('/') ? workspaceRoot : `${workspaceRoot}/`;
11
12
  if (!filePath.startsWith(root)) {
@@ -13,22 +14,34 @@ function workspaceRelativePath(filePath, workspaceRoot) {
13
14
  }
14
15
  return filePath.slice(root.length);
15
16
  }
16
- async function stageWorkspaceFilesForImage(files, workspaceRoot, cacheKey) {
17
- let stagingDir;
18
- if (cacheKey) {
19
- stagingDir = (0, node_path_1.join)((0, node_os_1.tmpdir)(), `${SNAPSHOT_CONTEXT_PREFIX}${cacheKey}`);
20
- await (0, promises_1.rm)(stagingDir, { recursive: true, force: true });
21
- await (0, promises_1.mkdir)(stagingDir, { recursive: true });
22
- }
23
- else {
24
- stagingDir = await (0, promises_1.mkdtemp)((0, node_path_1.join)((0, node_os_1.tmpdir)(), `${SNAPSHOT_CONTEXT_PREFIX}temp-`));
25
- }
17
+ async function writeStagedFiles(stagingDir, files, workspaceRoot) {
26
18
  for (const [filePath, content] of files) {
27
19
  const targetPath = (0, node_path_1.join)(stagingDir, workspaceRelativePath(filePath, workspaceRoot));
28
20
  await (0, promises_1.mkdir)((0, node_path_1.dirname)(targetPath), { recursive: true });
29
21
  await (0, promises_1.writeFile)(targetPath, content, 'utf-8');
30
22
  }
31
- return { stagingDir };
23
+ }
24
+ async function stageWorkspaceFilesForImage(files, workspaceRoot, cacheKey) {
25
+ if (!cacheKey) {
26
+ const stagingDir = await (0, promises_1.mkdtemp)((0, node_path_1.join)((0, node_os_1.tmpdir)(), `${SNAPSHOT_CONTEXT_PREFIX}temp-`));
27
+ await writeStagedFiles(stagingDir, files, workspaceRoot);
28
+ return { stagingDir };
29
+ }
30
+ const inFlightOrDone = stagingByCacheKey.get(cacheKey);
31
+ if (inFlightOrDone)
32
+ return await inFlightOrDone;
33
+ const staging = (async () => {
34
+ const stagingDir = (0, node_path_1.join)((0, node_os_1.tmpdir)(), `${SNAPSHOT_CONTEXT_PREFIX}${cacheKey}`);
35
+ await (0, promises_1.rm)(stagingDir, { recursive: true, force: true });
36
+ await (0, promises_1.mkdir)(stagingDir, { recursive: true });
37
+ await writeStagedFiles(stagingDir, files, workspaceRoot);
38
+ return { stagingDir };
39
+ })().catch((error) => {
40
+ stagingByCacheKey.delete(cacheKey);
41
+ throw error;
42
+ });
43
+ stagingByCacheKey.set(cacheKey, staging);
44
+ return await staging;
32
45
  }
33
46
  async function disposeSnapshotImageContext(stagingDir) {
34
47
  await (0, promises_1.rm)(stagingDir, { recursive: true, force: true });
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot-image-context.js","sourceRoot":"","sources":["../../src/workspace/snapshot-image-context.ts"],"names":[],"mappings":";;AA2BA,kEAwBC;AAED,kEAEC;AAvDD,+CAAiE;AACjE,qCAAiC;AACjC,yCAA0C;AAE1C,MAAM,uBAAuB,GAAG,uBAAuB,CAAC;AAMxD,SAAS,qBAAqB,CAAC,QAAgB,EAAE,aAAqB;IACrE,MAAM,IAAI,GAAG,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,aAAa,GAAG,CAAC;IAE/E,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CACd,gCAAgC,QAAQ,gCAAgC,aAAa,EAAE,CACvF,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACpC,CAAC;AAOM,KAAK,UAAU,2BAA2B,CAChD,KAA0B,EAC1B,aAAqB,EACrB,QAAiB;IAEjB,IAAI,UAAkB,CAAC;IAEvB,IAAI,QAAQ,EAAE,CAAC;QACd,UAAU,GAAG,IAAA,gBAAI,EAAC,IAAA,gBAAM,GAAE,EAAE,GAAG,uBAAuB,GAAG,QAAQ,EAAE,CAAC,CAAC;QAErE,MAAM,IAAA,aAAE,EAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACvD,MAAM,IAAA,gBAAK,EAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,CAAC;SAAM,CAAC;QACP,UAAU,GAAG,MAAM,IAAA,kBAAO,EAAC,IAAA,gBAAI,EAAC,IAAA,gBAAM,GAAE,EAAE,GAAG,uBAAuB,OAAO,CAAC,CAAC,CAAC;IAC/E,CAAC;IAED,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC;QACzC,MAAM,UAAU,GAAG,IAAA,gBAAI,EAAC,UAAU,EAAE,qBAAqB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;QAEpF,MAAM,IAAA,gBAAK,EAAC,IAAA,mBAAO,EAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,MAAM,IAAA,oBAAS,EAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO,EAAE,UAAU,EAAE,CAAC;AACvB,CAAC;AAEM,KAAK,UAAU,2BAA2B,CAAC,UAAkB;IACnE,MAAM,IAAA,aAAE,EAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AACxD,CAAC"}
1
+ {"version":3,"file":"snapshot-image-context.js","sourceRoot":"","sources":["../../src/workspace/snapshot-image-context.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,6 @@ export declare class SnapshotManager {
15
15
  private cachedImage;
16
16
  private runtimeSkillBundlePromise;
17
17
  private knowledgeBaseBundlePromise;
18
- private stagingDir;
19
18
  constructor(baseImage: string | undefined, logger: Logger, n8nVersion: string | undefined, runtimeSkillSource?: RuntimeSkillSource | undefined, templatesService?: BuilderTemplatesService | undefined);
20
19
  ensureImage(): Promise<Image>;
21
20
  private prepareImage;
@@ -27,7 +27,6 @@ class SnapshotManager {
27
27
  cachedImage = null;
28
28
  runtimeSkillBundlePromise = null;
29
29
  knowledgeBaseBundlePromise = null;
30
- stagingDir = null;
31
30
  constructor(baseImage, logger, n8nVersion, runtimeSkillSource, templatesService) {
32
31
  this.baseImage = baseImage;
33
32
  this.logger = logger;
@@ -52,7 +51,6 @@ class SnapshotManager {
52
51
  workspaceFiles.set(`${sandbox_1.DAYTONA_WORKSPACE_ROOT}/tsconfig.json`, sandbox_setup_1.TSCONFIG_JSON);
53
52
  workspaceFiles.set(`${sandbox_1.DAYTONA_WORKSPACE_ROOT}/build.mjs`, sandbox_setup_1.BUILD_MJS);
54
53
  const { stagingDir } = await (0, snapshot_image_context_1.stageWorkspaceFilesForImage)(workspaceFiles, sandbox_1.DAYTONA_WORKSPACE_ROOT, cacheKey);
55
- this.stagingDir = stagingDir;
56
54
  const { Image } = (0, sandbox_1.loadDaytona)();
57
55
  const layoutDirs = SNAPSHOT_WORKSPACE_LAYOUT_DIRS.map((dir) => `${sandbox_1.DAYTONA_WORKSPACE_ROOT}/${dir}`).join(' ');
58
56
  const image = Image.base(base)
@@ -115,14 +113,9 @@ class SnapshotManager {
115
113
  });
116
114
  }
117
115
  invalidate() {
118
- const stagingDir = this.stagingDir;
119
116
  this.cachedImage = null;
120
117
  this.runtimeSkillBundlePromise = null;
121
118
  this.knowledgeBaseBundlePromise = null;
122
- this.stagingDir = null;
123
- if (stagingDir) {
124
- void (0, snapshot_image_context_1.disposeSnapshotImageContext)(stagingDir);
125
- }
126
119
  }
127
120
  }
128
121
  exports.SnapshotManager = SnapshotManager;
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot-manager.js","sourceRoot":"","sources":["../../src/workspace/snapshot-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"snapshot-manager.js","sourceRoot":"","sources":["../../src/workspace/snapshot-manager.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,8 @@ exports.attachTemplateTelemetrySession = attachTemplateTelemetrySession;
6
6
  exports.detachTemplateTelemetrySession = detachTemplateTelemetrySession;
7
7
  exports.getTemplateTelemetrySession = getTemplateTelemetrySession;
8
8
  exports.createTypedToolObserver = createTypedToolObserver;
9
- const utils_1 = require("@n8n/utils");
9
+ const is_record_1 = require("@n8n/utils/is-record");
10
+ const scrub_secrets_1 = require("@n8n/utils/scrub-secrets");
10
11
  const MAX_QUERY_LENGTH = 200;
11
12
  const MAX_USER_REQUEST_LENGTH = 120;
12
13
  const SEARCH_PATTERN = /\bgrep\b[^|]*\bknowledge-base\/templates(?:\/|\s|$)/;
@@ -79,7 +80,7 @@ function createTemplateTelemetrySession(opts) {
79
80
  templates_read: templatesRead,
80
81
  unique_templates_read: Array.from(new Set(templatesRead)).length,
81
82
  user_request_excerpt: opts.userRequestExcerpt
82
- ? truncate((0, utils_1.scrubSecretsInText)(opts.userRequestExcerpt), MAX_USER_REQUEST_LENGTH)
83
+ ? truncate((0, scrub_secrets_1.scrubSecretsInText)(opts.userRequestExcerpt), MAX_USER_REQUEST_LENGTH)
83
84
  : null,
84
85
  });
85
86
  }
@@ -114,7 +115,7 @@ function truncate(s, max) {
114
115
  return s.slice(0, max);
115
116
  }
116
117
  function scrubAndTruncateQuery(query) {
117
- return truncate((0, utils_1.scrubSecretsInText)(query), MAX_QUERY_LENGTH);
118
+ return truncate((0, scrub_secrets_1.scrubSecretsInText)(query), MAX_QUERY_LENGTH);
118
119
  }
119
120
  const SESSIONS = new WeakMap();
120
121
  function attachTemplateTelemetrySession(workspace, session) {
@@ -181,7 +182,7 @@ function matchTypedTemplateCall(toolName, args) {
181
182
  function extractTypedToolResultText(result) {
182
183
  if (typeof result === 'string')
183
184
  return result;
184
- if (!(0, utils_1.isRecord)(result))
185
+ if (!(0, is_record_1.isRecord)(result))
185
186
  return null;
186
187
  const { content } = result;
187
188
  return typeof content === 'string' ? content : null;
@@ -1 +1 @@
1
- {"version":3,"file":"template-telemetry.js","sourceRoot":"","sources":["../../src/workspace/template-telemetry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"template-telemetry.js","sourceRoot":"","sources":["../../src/workspace/template-telemetry.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.WORKSPACE_MANIFEST_FILE = void 0;
4
4
  exports.parseVersionedWorkspaceManifest = parseVersionedWorkspaceManifest;
5
- const utils_1 = require("@n8n/utils");
5
+ const is_record_1 = require("@n8n/utils/is-record");
6
6
  exports.WORKSPACE_MANIFEST_FILE = '.manifest.json';
7
7
  function parseVersionedWorkspaceManifest(raw, options) {
8
8
  let parsed;
@@ -12,7 +12,7 @@ function parseVersionedWorkspaceManifest(raw, options) {
12
12
  catch {
13
13
  return null;
14
14
  }
15
- if (!(0, utils_1.isRecord)(parsed))
15
+ if (!(0, is_record_1.isRecord)(parsed))
16
16
  return null;
17
17
  if (parsed.schemaVersion !== options.schemaVersion)
18
18
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-manifest.js","sourceRoot":"","sources":["../../src/workspace/workspace-manifest.ts"],"names":[],"mappings":";;;AAgBA,0EAsBC;AAtCD,sCAAsC;AAEzB,QAAA,uBAAuB,GAAG,gBAAgB,CAAC;AAcxD,SAAgB,+BAA+B,CAC9C,GAAW,EACX,OAA2D;IAE3D,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACJ,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,IAAI,CAAC;IACb,CAAC;IAED,IAAI,CAAC,IAAA,gBAAQ,EAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,MAAM,CAAC,aAAa,KAAK,OAAO,CAAC,aAAa;QAAE,OAAO,IAAI,CAAC;IAEhE,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACvC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAE/D,OAAO;QACN,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,IAAI;KACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"workspace-manifest.js","sourceRoot":"","sources":["../../src/workspace/workspace-manifest.ts"],"names":[],"mappings":";;;AAgBA,0EAsBC;AAtCD,oDAAgD;AAEnC,QAAA,uBAAuB,GAAG,gBAAgB,CAAC;AAcxD,SAAgB,+BAA+B,CAC9C,GAAW,EACX,OAA2D;IAE3D,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACJ,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,IAAI,CAAC;IACb,CAAC;IAED,IAAI,CAAC,IAAA,oBAAQ,EAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,MAAM,CAAC,aAAa,KAAK,OAAO,CAAC,aAAa;QAAE,OAAO,IAAI,CAAC;IAEhE,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACvC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAE/D,OAAO;QACN,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,IAAI;KACJ,CAAC;AACH,CAAC"}
@@ -67,6 +67,18 @@ sources in a digest/report path. Its done branch does not accumulate loop-body
67
67
  outputs. Prefer parallel source branches plus explicit fan-in, or emit one
68
68
  success/empty/failure record per source before aggregation.
69
69
 
70
+ ## HTTP Request Output Field Names
71
+
72
+ The HTTP Request node's output field depends on Response Format. With `json`
73
+ (the default), the parsed body is the item json itself — or under `body` when
74
+ "Include Response Headers and Status" (full response) is enabled. With `text`,
75
+ the body string is under the Output Field option (default `data`) — even with
76
+ full response enabled it stays under `data` next to `headers`/`statusCode`,
77
+ never under `body`. A Code node reading `$json.body` after a text-format fetch
78
+ gets `undefined`, which silently breaks length/emptiness checks (e.g. scraped
79
+ HTML misclassified as blocked). Read the field the chosen format actually
80
+ emits.
81
+
70
82
  ## Fetch Complete External Data
71
83
 
72
84
  If downstream logic depends on labels, memberships, related records, nested
@@ -80,6 +92,27 @@ reachable read/query/fetch node before the formatter and final action. A
80
92
  schedule item, date-window calculator, placeholder row, or final formatter is
81
93
  not source data.
82
94
 
95
+ ## Structured-Output Schema Fields Are JSON Strings
96
+
97
+ On OpenAI/LM nodes, the structured-output schema field
98
+ (`textFormat.textOptions.schema` and equivalents) must be a STRING containing
99
+ strict, valid JSON — the node runs JSON.parse on it at execution time. A
100
+ JS/TS object literal, single-quoted keys, trailing commas, comments, or an
101
+ expression there produce "Failed to parse schema" and crash the node before
102
+ any output. Serialize the schema with double-quoted keys and strings, keep it
103
+ minimal, and set the sibling `name` field.
104
+
105
+ ## Data After Side-Effect Nodes
106
+
107
+ Send/notify/write nodes (Gmail, Slack, Telegram, email send, most "create"
108
+ actions) output their own API response — message IDs, thread stamps, `ok`
109
+ flags — not the data that flowed into them. A node chained after a send that
110
+ reads `$json.someField` from the original data gets `null`/undefined and
111
+ silently no-ops (an update matching no rows, an empty mapped column). When a
112
+ node after a side-effect needs the original data, reference it by node name
113
+ (`$('Compute Change').item.json.status`) or wire it in parallel from the
114
+ data-producing node instead of chaining through the send.
115
+
83
116
  ## Keep Code Nodes Parseable
84
117
 
85
118
  Prefer built-in nodes for simple split, map, filter, merge, and aggregate work.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@n8n/instance-ai",
3
- "version": "1.14.7",
3
+ "version": "1.15.0",
4
4
  "main": "dist/index.js",
5
5
  "module": "src/index.ts",
6
6
  "types": "dist/index.d.ts",
@@ -8,8 +8,8 @@
8
8
  "dist/**/*",
9
9
  "knowledge-base/**/*",
10
10
  "skills/**/*",
11
- "LICENSE.md",
12
- "LICENSE_EE.md"
11
+ "LICENSE_EE.md",
12
+ "LICENSE.md"
13
13
  ],
14
14
  "exports": {
15
15
  ".": {
@@ -52,15 +52,17 @@
52
52
  "psl": "1.9.0",
53
53
  "source-map-support": "0.5.21",
54
54
  "turndown": "^7.2.2",
55
+ "undici": "^7.28.0",
55
56
  "xlsx": "https://cdn.sheetjs.com/xlsx-0.20.2/xlsx-0.20.2.tgz",
56
57
  "zod": "3.25.67",
57
58
  "zod-from-json-schema-v3": "npm:zod-from-json-schema@^0.0.5",
58
- "@n8n/agents": "0.14.7",
59
- "@n8n/api-types": "1.29.4",
60
- "@n8n/mcp-browser": "0.12.1",
61
- "@n8n/utils": "1.37.1",
62
- "@n8n/workflow-sdk": "0.22.3",
63
- "n8n-workflow": "2.29.2"
59
+ "@n8n/api-types": "1.30.0",
60
+ "@n8n/agents": "0.15.0",
61
+ "@n8n/ai-utilities": "0.23.0",
62
+ "@n8n/mcp-browser": "0.13.0",
63
+ "@n8n/utils": "1.38.0",
64
+ "@n8n/workflow-sdk": "0.23.0",
65
+ "n8n-workflow": "2.30.0"
64
66
  },
65
67
  "devDependencies": {
66
68
  "@ai-sdk/anthropic": "^3.0.81",
@@ -70,11 +72,11 @@
70
72
  "@types/turndown": "^5.0.6",
71
73
  "@vitest/coverage-v8": "4.1.9",
72
74
  "tsx": "^4.19.3",
75
+ "vite": "^8.0.2",
73
76
  "vitest": "^4.1.9",
74
77
  "vitest-mock-extended": "^3.1.0",
75
- "@n8n/typescript-config": "1.7.0",
76
- "@n8n/vitest-config": "1.16.0",
77
- "@n8n/ai-workflow-builder": "1.29.6"
78
+ "@n8n/typescript-config": "1.8.0",
79
+ "@n8n/vitest-config": "1.17.0"
78
80
  },
79
81
  "license": "SEE LICENSE IN LICENSE.md",
80
82
  "homepage": "https://n8n.io",
@@ -6,6 +6,7 @@ description: >-
6
6
  Load after direct builds, when verificationReadiness requires action, or on
7
7
  orchestrator verify/setup follow-up turns.
8
8
  recommended_tools:
9
+ - ask-user
9
10
  - verify-built-workflow
10
11
  - workflows
11
12
  - build-workflow
@@ -14,8 +15,9 @@ recommended_tools:
14
15
 
15
16
  # Post-Build Flow
16
17
 
17
- Use this skill after `build-workflow` succeeds on a direct orchestrator build, or
18
- when the current message contains `<workflow-verification-follow-up>` or
18
+ Use this skill after `build-workflow` succeeds on a direct orchestrator build,
19
+ especially when the build result contains `postBuildFlow.required: true`, or when
20
+ the current message contains `<workflow-verification-follow-up>` or
19
21
  `<workflow-setup-required>`.
20
22
 
21
23
  For trigger `inputData` shapes, read
@@ -35,11 +37,16 @@ verification.
35
37
 
36
38
  ## Setup follow-up
37
39
 
38
- When the current message contains `<workflow-setup-required>`, your only action is
39
- to call `workflows(action="setup")` with the `workflowId` from the payload. Do
40
+ When the current message contains `<workflow-setup-required>`, your first action
41
+ is to call `workflows(action="setup")` with the `workflowId` from the payload. Do
40
42
  not verify, do not ask, do not write a message first — the inline setup card in
41
43
  the AI Assistant panel is the user-visible surface. If it returns `deferred:
42
44
  true`, respect the user's choice and do not retry with any other setup tool.
45
+ After setup completes or is applied, follow
46
+ [Mocked verification live-test follow-up](#mocked-verification-live-test-follow-up)
47
+ if the payload or prior verification evidence says mocked credentials,
48
+ simulated node output, fixture overrides, temporary pin data, or another mocked
49
+ input was used.
43
50
 
44
51
  ## Publishing and testing
45
52
 
@@ -76,9 +83,9 @@ again.
76
83
 
77
84
  ## After build-workflow succeeds
78
85
 
79
- 1. Read `workflowId`, `workItemId`, `triggerNodes`, `verificationReadiness`, and
80
- `setupRequirement` from the tool output. If the output is missing a
81
- `workflowId`, explain that the build did not submit.
86
+ 1. Read `workflowId`, `workItemId`, `triggerNodes`, `verificationReadiness`,
87
+ `setupRequirement`, and `postBuildFlow` from the tool output. If the output
88
+ is missing a `workflowId`, explain that the build did not submit.
82
89
  - Before treating a saved workflow as done, inspect the persisted workflow
83
90
  with `workflows(action="get-as-code", workflowId)` or read the bound
84
91
  workspace source file, and compare the actual graph to the user's requested
@@ -132,12 +139,101 @@ again.
132
139
  5. When `workflows(action="setup")` returns `deferred: true`, respect the user's
133
140
  decision — do not retry with `credentials(action="setup")` or any other
134
141
  setup tool. The user chose to set things up later.
135
- 6. Ask the user if they want to test the workflow (skip this if
142
+ 6. After setup completes or is applied, follow
143
+ [Mocked verification live-test follow-up](#mocked-verification-live-test-follow-up)
144
+ when the latest verification evidence used mocks or simulations. If this
145
+ follow-up is due, ask only that question now; do not also ask about the error
146
+ workflow in the same response.
147
+ 7. For a direct new primary workflow, follow
148
+ [Error workflow follow-up](#error-workflow-follow-up) after the mocked
149
+ live-test follow-up is no longer pending for this workflow. If no mocked
150
+ live-test follow-up is due, ask about the error workflow before any generic
151
+ testing prompt. Do not replace this explicit opt-in with a generic "add
152
+ anything else?", publish, or test question.
153
+ 8. Ask the user if they want to test the workflow (skip this if
136
154
  `verify-built-workflow` already proved it works end-to-end with full
137
- coverage).
138
- 7. Only call `workflows(action="publish")` when the user explicitly asks to
155
+ coverage). If you need to ask about both generic testing and an error
156
+ workflow, ask the error-workflow opt-in first and leave generic testing as a
157
+ later follow-up unless the user already requested testing.
158
+ 9. Only call `workflows(action="publish")` when the user explicitly asks to
139
159
  publish. Never publish automatically.
140
160
 
161
+ ## Error workflow follow-up
162
+
163
+ This follow-up comes after the mocked verification live-test follow-up when that
164
+ follow-up is due, and before generic "want to test it?" prompts. For a direct
165
+ new primary workflow, ask about the error workflow after the user answers,
166
+ declines, or defers any pending live/no-mock testing question. If no mocked
167
+ live-test follow-up is due, ask about the error workflow first.
168
+
169
+ If you just built an Error Trigger workflow because the user opted into adding
170
+ one for a known target workflow, do not ask whether to build another error
171
+ workflow. Continue the publish-before-assign flow for the target workflow:
172
+ ask whether to publish the error workflow and set it on that target workflow,
173
+ then publish and assign only after the user approves.
174
+
175
+ After saving and handling verification/setup for a direct new primary workflow,
176
+ ask once whether the user wants to build an error workflow for that workflow.
177
+ Use `ask-user` with a yes/no choice or a concise visible question. Do **not**
178
+ create an error workflow before the user opts in.
179
+
180
+ The opt-in must explicitly mention an error workflow and the target workflow
181
+ name. A generic follow-up like "Want me to add anything else?", "Want me to
182
+ publish it?", or "Want to test it?" does not satisfy this step.
183
+
184
+ Skip this follow-up when:
185
+
186
+ - The workflow you just built is itself an error workflow or starts with an
187
+ Error Trigger.
188
+ - The build is a supporting workflow, repair, small edit, planned-task
189
+ subtask, or workflow-level settings patch.
190
+ - The user already asked for an error workflow in the original request, already
191
+ declined one, or the target workflow already has the desired error workflow
192
+ set.
193
+
194
+ If the user says yes:
195
+
196
+ 1. Load `workflow-builder` and build a separate error workflow using the user's
197
+ requested notification destination. Keep the error workflow scoped to the
198
+ target workflow the user opted in for.
199
+ 2. Do not ask whether this new error workflow needs its own error workflow.
200
+ 3. The error workflow must be published before it can be assigned. If the user
201
+ has not already asked you to publish and attach it, ask whether to publish it
202
+ and set it as the error workflow for the named target workflow. When the user
203
+ agrees, call `workflows(action="publish")` for the error workflow and let the
204
+ HITL approval card handle confirmation.
205
+ 4. After publish succeeds, set the original workflow's workflow-level
206
+ `settings.errorWorkflow` to the **error workflow's workflowId**. Do not use
207
+ the published `activeVersionId`, workflow name, a placeholder, or a local SDK
208
+ id. If you have the original source file, edit it; otherwise call
209
+ `workflows(action="get-as-code", workflowId)` for the original workflow,
210
+ write the returned code to a `.workflow.ts` file, add
211
+ `.settings({ errorWorkflow: '<published-error-workflow-id>' })`, and call
212
+ `build-workflow` for the original workflow. The workflow edit approval card
213
+ is the HITL surface for this assignment.
214
+ 5. Summarize the result with explicit per-workflow language: this error
215
+ workflow was assigned only to the named target workflow. Mention that n8n has
216
+ no global or instance-wide error workflow setting only when the user
217
+ explicitly asked about, requested, or referenced global/instance-wide error
218
+ workflow behavior.
219
+
220
+ ## Mocked verification live-test follow-up
221
+
222
+ After workflow setup completes or is applied, if the latest verification for
223
+ that workflow used mocked credentials, simulated node output, fixture overrides,
224
+ temporary pin data, or another mocked input, ask whether the user wants a live
225
+ test without mocks. Do not run the live test automatically.
226
+
227
+ This follow-up has priority over the error-workflow opt-in for a direct new
228
+ primary workflow. If both follow-ups are due, ask about the live/no-mock test
229
+ first and ask the error-workflow question only after the user has answered,
230
+ declined, or deferred the live/no-mock test follow-up.
231
+
232
+ If the user agrees, use the explicit live execution path (`executions(action="run")`
233
+ for a direct live run) and report the result separately from the earlier mocked
234
+ verification. If the user declines or defers, state what remains untested and do
235
+ not claim live end-to-end verification.
236
+
141
237
  ## Claiming success
142
238
 
143
239
  Do not tell the user a workflow is "fixed", "verified", "tested", "working", or