@n8n/instance-ai 1.15.2 → 1.16.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 (283) hide show
  1. package/README.md +1 -1
  2. package/dist/agent/apply-agent-thinking.js.map +1 -1
  3. package/dist/agent/computer-use-prompt.js.map +1 -1
  4. package/dist/agent/instance-agent.js.map +1 -1
  5. package/dist/agent/mcp-tool-name-validation.js.map +1 -1
  6. package/dist/agent/runtime-workspace.js.map +1 -1
  7. package/dist/agent/sanitize-mcp-schemas.js.map +1 -1
  8. package/dist/agent/shared-prompts.js +5 -3
  9. package/dist/agent/shared-prompts.js.map +1 -1
  10. package/dist/agent/sub-agent-briefing.js.map +1 -1
  11. package/dist/agent/sub-agent-debriefing.d.ts +14 -14
  12. package/dist/agent/sub-agent-debriefing.js.map +1 -1
  13. package/dist/agent/sub-agent-factory.js.map +1 -1
  14. package/dist/agent/system-prompt.js +29 -18
  15. package/dist/agent/system-prompt.js.map +1 -1
  16. package/dist/build.tsbuildinfo +1 -1
  17. package/dist/constants/max-steps.d.ts +0 -1
  18. package/dist/constants/max-steps.js +0 -1
  19. package/dist/constants/max-steps.js.map +1 -1
  20. package/dist/debug/run-debug-buffer.js.map +1 -1
  21. package/dist/debug/sanitize-debug-snapshot.js.map +1 -1
  22. package/dist/domain-access/domain-access-tracker.js.map +1 -1
  23. package/dist/domain-access/domain-gating.d.ts +6 -6
  24. package/dist/domain-access/domain-gating.js.map +1 -1
  25. package/dist/error-formatting.js.map +1 -1
  26. package/dist/errors/workflow-save-conflict.error.d.ts +4 -0
  27. package/dist/errors/workflow-save-conflict.error.js +13 -0
  28. package/dist/errors/workflow-save-conflict.error.js.map +1 -0
  29. package/dist/event-bus/event-bus.interface.d.ts +1 -1
  30. package/dist/index.d.ts +3 -4
  31. package/dist/index.js +8 -4
  32. package/dist/index.js.map +1 -1
  33. package/dist/knowledge-base/build-templates-index.js.map +1 -1
  34. package/dist/knowledge-base/extract-builder-templates-archive.js.map +1 -1
  35. package/dist/knowledge-base/materialize-knowledge-base.js.map +1 -1
  36. package/dist/mcp/mcp-client-manager.js.map +1 -1
  37. package/dist/memory/title-utils.js.map +1 -1
  38. package/dist/parsers/docx-parser.js +1 -34
  39. package/dist/parsers/docx-parser.js.map +1 -1
  40. package/dist/parsers/html-parser.js +2 -35
  41. package/dist/parsers/html-parser.js.map +1 -1
  42. package/dist/parsers/ooxml-guard.js.map +1 -1
  43. package/dist/parsers/pdf-parser.js +2 -35
  44. package/dist/parsers/pdf-parser.js.map +1 -1
  45. package/dist/parsers/structured-file-parser.js.map +1 -1
  46. package/dist/parsers/validate-attachments.js.map +1 -1
  47. package/dist/parsers/xlsx-parser.js +1 -34
  48. package/dist/parsers/xlsx-parser.js.map +1 -1
  49. package/dist/planned-tasks/planned-task-permissions.d.ts +2 -2
  50. package/dist/planned-tasks/planned-task-permissions.js.map +1 -1
  51. package/dist/planned-tasks/planned-task-service.js +0 -3
  52. package/dist/planned-tasks/planned-task-service.js.map +1 -1
  53. package/dist/runtime/background-task-manager.js.map +1 -1
  54. package/dist/runtime/liveness-policy.js.map +1 -1
  55. package/dist/runtime/memory-task-registry.js.map +1 -1
  56. package/dist/runtime/orchestrator-identity.js.map +1 -1
  57. package/dist/runtime/orchestrator-run-control.js.map +1 -1
  58. package/dist/runtime/resumable-stream-executor.js +12 -1
  59. package/dist/runtime/resumable-stream-executor.js.map +1 -1
  60. package/dist/runtime/run-state-registry.js.map +1 -1
  61. package/dist/runtime/stream-runner.js.map +1 -1
  62. package/dist/runtime/terminal-response-guard.js.map +1 -1
  63. package/dist/skills/materialize-runtime-skills.js.map +1 -1
  64. package/dist/skills/runtime-skills.js +5 -1
  65. package/dist/skills/runtime-skills.js.map +1 -1
  66. package/dist/source-map-filter.d.ts +1 -17
  67. package/dist/source-map-filter.js +1 -0
  68. package/dist/source-map-filter.js.map +1 -1
  69. package/dist/storage/iteration-log.js.map +1 -1
  70. package/dist/storage/planned-task-storage.js.map +1 -1
  71. package/dist/storage/terminal-outcome-storage.d.ts +10 -10
  72. package/dist/storage/terminal-outcome-storage.js.map +1 -1
  73. package/dist/storage/thread-iteration-log-storage.js.map +1 -1
  74. package/dist/storage/thread-patch.js.map +1 -1
  75. package/dist/storage/thread-task-storage.js.map +1 -1
  76. package/dist/storage/workflow-loop-storage.d.ts +246 -136
  77. package/dist/storage/workflow-loop-storage.js.map +1 -1
  78. package/dist/stream/consume-with-hitl.js.map +1 -1
  79. package/dist/stream/map-chunk.js +2 -0
  80. package/dist/stream/map-chunk.js.map +1 -1
  81. package/dist/stream/output-redaction.js.map +1 -1
  82. package/dist/stream/usage-accumulator.d.ts +12 -12
  83. package/dist/stream/usage-accumulator.js.map +1 -1
  84. package/dist/stream/work-summary-accumulator.d.ts +6 -6
  85. package/dist/stream/work-summary-accumulator.js.map +1 -1
  86. package/dist/tool-registry.js.map +1 -1
  87. package/dist/tools/attachments/parse-file.tool.d.ts +32 -32
  88. package/dist/tools/attachments/parse-file.tool.js.map +1 -1
  89. package/dist/tools/credentials.tool.d.ts +10 -7
  90. package/dist/tools/credentials.tool.js +41 -5
  91. package/dist/tools/credentials.tool.js.map +1 -1
  92. package/dist/tools/data-tables.tool.js.map +1 -1
  93. package/dist/tools/evals/analyze-agent-input-columns.service.js.map +1 -1
  94. package/dist/tools/evals/apply-pin-data.service.js.map +1 -1
  95. package/dist/tools/evals/column-ref-utils.js.map +1 -1
  96. package/dist/tools/evals/describe-metric-for-workflow.service.js.map +1 -1
  97. package/dist/tools/evals/detect-agent-named-refs.service.js.map +1 -1
  98. package/dist/tools/evals/detect-ai-nodes.js.map +1 -1
  99. package/dist/tools/evals/detect-tool-refs.service.js.map +1 -1
  100. package/dist/tools/evals/ensure-eval-data-table.service.js.map +1 -1
  101. package/dist/tools/evals/eval-config.tool.d.ts +4 -0
  102. package/dist/tools/evals/eval-config.tool.js +205 -0
  103. package/dist/tools/evals/eval-config.tool.js.map +1 -0
  104. package/dist/tools/evals/eval-data-requirements.service.js.map +1 -1
  105. package/dist/tools/evals/evals.tool.js +6 -1
  106. package/dist/tools/evals/evals.tool.js.map +1 -1
  107. package/dist/tools/evals/extract-rows-from-history.service.js.map +1 -1
  108. package/dist/tools/evals/format-eval-setup-task.js.map +1 -1
  109. package/dist/tools/evals/generate-sample-rows.service.js.map +1 -1
  110. package/dist/tools/evals/generate-tool-ref-pin-data.service.js.map +1 -1
  111. package/dist/tools/evals/metric-catalog.d.ts +1 -1
  112. package/dist/tools/evals/metric-catalog.js.map +1 -1
  113. package/dist/tools/executions.tool.js.map +1 -1
  114. package/dist/tools/filesystem/create-tools-from-mcp-server.js.map +1 -1
  115. package/dist/tools/index.js +13 -2
  116. package/dist/tools/index.js.map +1 -1
  117. package/dist/tools/n8n-docs/ranking.js.map +1 -1
  118. package/dist/tools/n8n-docs/registry.js.map +1 -1
  119. package/dist/tools/n8n-docs/schemas.d.ts +44 -44
  120. package/dist/tools/n8n-docs/schemas.js.map +1 -1
  121. package/dist/tools/n8n-docs.tool.js +1 -1
  122. package/dist/tools/n8n-docs.tool.js.map +1 -1
  123. package/dist/tools/nodes/node-search-engine.js.map +1 -1
  124. package/dist/tools/nodes/node-search-engine.types.d.ts +1 -1
  125. package/dist/tools/nodes/preferred-chat-model.js.map +1 -1
  126. package/dist/tools/nodes.tool.d.ts +21 -0
  127. package/dist/tools/nodes.tool.js +21 -13
  128. package/dist/tools/nodes.tool.js.map +1 -1
  129. package/dist/tools/orchestration/agent-persistence.js.map +1 -1
  130. package/dist/tools/orchestration/agent-target-binding.d.ts +19 -0
  131. package/dist/tools/orchestration/agent-target-binding.js +45 -0
  132. package/dist/tools/orchestration/agent-target-binding.js.map +1 -0
  133. package/dist/tools/orchestration/build-agent.tool.d.ts +2 -0
  134. package/dist/tools/orchestration/build-agent.tool.js +194 -0
  135. package/dist/tools/orchestration/build-agent.tool.js.map +1 -0
  136. package/dist/tools/orchestration/complete-checkpoint.tool.js.map +1 -1
  137. package/dist/tools/orchestration/display-utils.js.map +1 -1
  138. package/dist/tools/orchestration/eval-data-agent.tool.js.map +1 -1
  139. package/dist/tools/orchestration/eval-setup-agent.tool.js.map +1 -1
  140. package/dist/tools/orchestration/plan.tool.d.ts +2 -2
  141. package/dist/tools/orchestration/plan.tool.js +10 -7
  142. package/dist/tools/orchestration/plan.tool.js.map +1 -1
  143. package/dist/tools/orchestration/report-verification-verdict.tool.d.ts +12 -12
  144. package/dist/tools/orchestration/report-verification-verdict.tool.js.map +1 -1
  145. package/dist/tools/orchestration/tracing-utils.js.map +1 -1
  146. package/dist/tools/orchestration/verification/analyze-result.d.ts +4 -0
  147. package/dist/tools/orchestration/verification/analyze-result.js +17 -3
  148. package/dist/tools/orchestration/verification/analyze-result.js.map +1 -1
  149. package/dist/tools/orchestration/verification/finalize-result.js +4 -2
  150. package/dist/tools/orchestration/verification/finalize-result.js.map +1 -1
  151. package/dist/tools/orchestration/verification/prepare-run.js.map +1 -1
  152. package/dist/tools/orchestration/verification/reconcile-plan.d.ts +10 -0
  153. package/dist/tools/orchestration/verification/reconcile-plan.js +33 -0
  154. package/dist/tools/orchestration/verification/reconcile-plan.js.map +1 -0
  155. package/dist/tools/orchestration/verification/resolve-target.js.map +1 -1
  156. package/dist/tools/orchestration/verification/types.d.ts +2 -1
  157. package/dist/tools/orchestration/verify-built-workflow.tool.d.ts +6 -6
  158. package/dist/tools/orchestration/verify-built-workflow.tool.js +13 -2
  159. package/dist/tools/orchestration/verify-built-workflow.tool.js.map +1 -1
  160. package/dist/tools/research.tool.js +1 -34
  161. package/dist/tools/research.tool.js.map +1 -1
  162. package/dist/tools/shared/ask-user.tool.d.ts +4 -4
  163. package/dist/tools/shared/ask-user.tool.js.map +1 -1
  164. package/dist/tools/task-control.tool.js.map +1 -1
  165. package/dist/tools/templates.tool.d.ts +2 -0
  166. package/dist/tools/templates.tool.js +20 -0
  167. package/dist/tools/templates.tool.js.map +1 -0
  168. package/dist/tools/tool-ids.d.ts +25 -22
  169. package/dist/tools/tool-ids.js +6 -6
  170. package/dist/tools/tool-ids.js.map +1 -1
  171. package/dist/tools/web-research/sanitize-web-content.js.map +1 -1
  172. package/dist/tools/workflows/apply-workflow-credentials.tool.js +24 -7
  173. package/dist/tools/workflows/apply-workflow-credentials.tool.js.map +1 -1
  174. package/dist/tools/workflows/build-workflow.tool.d.ts +6 -6
  175. package/dist/tools/workflows/build-workflow.tool.js +63 -7
  176. package/dist/tools/workflows/build-workflow.tool.js.map +1 -1
  177. package/dist/tools/workflows/classify-node-destructiveness.service.js.map +1 -1
  178. package/dist/tools/workflows/credential-url-resolver.js.map +1 -1
  179. package/dist/tools/workflows/credential-utils.d.ts +4 -4
  180. package/dist/tools/workflows/credential-utils.js +2 -1
  181. package/dist/tools/workflows/credential-utils.js.map +1 -1
  182. package/dist/tools/workflows/detect-array-input-collapse.js.map +1 -1
  183. package/dist/tools/workflows/detect-wrong-kind-locator.js.map +1 -1
  184. package/dist/tools/workflows/generate-simulation-fixtures.service.js.map +1 -1
  185. package/dist/tools/workflows/materialize-node-type.tool.d.ts +4 -4
  186. package/dist/tools/workflows/materialize-node-type.tool.js.map +1 -1
  187. package/dist/tools/workflows/plan-verification-simulation.js.map +1 -1
  188. package/dist/tools/workflows/reconcile-simulation-plan.d.ts +9 -0
  189. package/dist/tools/workflows/reconcile-simulation-plan.js +70 -0
  190. package/dist/tools/workflows/reconcile-simulation-plan.js.map +1 -0
  191. package/dist/tools/workflows/resolve-credentials.d.ts +4 -0
  192. package/dist/tools/workflows/resolve-credentials.js +86 -4
  193. package/dist/tools/workflows/resolve-credentials.js.map +1 -1
  194. package/dist/tools/workflows/resolved-credential.schema.d.ts +30 -0
  195. package/dist/tools/workflows/resolved-credential.schema.js +18 -0
  196. package/dist/tools/workflows/resolved-credential.schema.js.map +1 -0
  197. package/dist/tools/workflows/setup-workflow.schema.d.ts +46 -46
  198. package/dist/tools/workflows/setup-workflow.service.js +109 -19
  199. package/dist/tools/workflows/setup-workflow.service.js.map +1 -1
  200. package/dist/tools/workflows/summarize-workflow.js +1 -34
  201. package/dist/tools/workflows/summarize-workflow.js.map +1 -1
  202. package/dist/tools/workflows/validate-workflow.service.js +79 -4
  203. package/dist/tools/workflows/validate-workflow.service.js.map +1 -1
  204. package/dist/tools/workflows/workflow-build-context.js.map +1 -1
  205. package/dist/tools/workflows/workflow-build-remediation.d.ts +1 -0
  206. package/dist/tools/workflows/workflow-build-remediation.js +11 -0
  207. package/dist/tools/workflows/workflow-build-remediation.js.map +1 -1
  208. package/dist/tools/workflows/workflow-build-reporting.js.map +1 -1
  209. package/dist/tools/workflows/workflow-build-routing.js.map +1 -1
  210. package/dist/tools/workflows/workflow-build-telemetry.d.ts +1 -1
  211. package/dist/tools/workflows/workflow-build-telemetry.js.map +1 -1
  212. package/dist/tools/workflows/workflow-file-bindings.d.ts +9 -0
  213. package/dist/tools/workflows/workflow-file-bindings.js +50 -0
  214. package/dist/tools/workflows/workflow-file-bindings.js.map +1 -1
  215. package/dist/tools/workflows/workflow-json-utils.js.map +1 -1
  216. package/dist/tools/workflows/workflow-source-compiler.js.map +1 -1
  217. package/dist/tools/workflows/workflow-validation-warnings.js.map +1 -1
  218. package/dist/tools/workflows/write-sandbox-file.tool.d.ts +2 -2
  219. package/dist/tools/workflows/write-sandbox-file.tool.js.map +1 -1
  220. package/dist/tools/workflows.tool.js +14 -34
  221. package/dist/tools/workflows.tool.js.map +1 -1
  222. package/dist/tools/workspace.tool.js.map +1 -1
  223. package/dist/tracing/langsmith-tracing.js.map +1 -1
  224. package/dist/tracing/trace-labels.js.map +1 -1
  225. package/dist/tracing/trace-payloads.js.map +1 -1
  226. package/dist/tracing/trace-replay.js.map +1 -1
  227. package/dist/types.d.ts +104 -7
  228. package/dist/types.js +7 -3
  229. package/dist/types.js.map +1 -1
  230. package/dist/utils/agent-feature-enabled.d.ts +1 -0
  231. package/dist/utils/agent-feature-enabled.js +12 -0
  232. package/dist/utils/agent-feature-enabled.js.map +1 -0
  233. package/dist/utils/agent-tree.js.map +1 -1
  234. package/dist/utils/eval-agents.d.ts +1 -1
  235. package/dist/utils/eval-agents.js.map +1 -1
  236. package/dist/utils/format-timestamp.js.map +1 -1
  237. package/dist/utils/generate-validated-json.js.map +1 -1
  238. package/dist/utils/stream-helpers.js.map +1 -1
  239. package/dist/workflow-builder/build-failure-tracker.js.map +1 -1
  240. package/dist/workflow-loop/guidance.js.map +1 -1
  241. package/dist/workflow-loop/remediation.js.map +1 -1
  242. package/dist/workflow-loop/runtime.js.map +1 -1
  243. package/dist/workflow-loop/setup-verification-policy.js.map +1 -1
  244. package/dist/workflow-loop/verification-obligation.js.map +1 -1
  245. package/dist/workflow-loop/workflow-loop-controller.js.map +1 -1
  246. package/dist/workflow-loop/workflow-loop-state.d.ts +319 -167
  247. package/dist/workflow-loop/workflow-loop-state.js +8 -1
  248. package/dist/workflow-loop/workflow-loop-state.js.map +1 -1
  249. package/dist/workflow-loop/workflow-task-service.js.map +1 -1
  250. package/dist/workspace/builder-templates-service.js.map +1 -1
  251. package/dist/workspace/compute-workspace-content-hash.js.map +1 -1
  252. package/dist/workspace/create-workspace.js.map +1 -1
  253. package/dist/workspace/lazy-runtime-workspace.d.ts +1 -0
  254. package/dist/workspace/lazy-runtime-workspace.js +12 -1
  255. package/dist/workspace/lazy-runtime-workspace.js.map +1 -1
  256. package/dist/workspace/pack-workspace-sdk.js.map +1 -1
  257. package/dist/workspace/prebaked-workspace-bundle.js.map +1 -1
  258. package/dist/workspace/sandbox-fs.js.map +1 -1
  259. package/dist/workspace/sandbox-setup.js.map +1 -1
  260. package/dist/workspace/scoped-workspace.js.map +1 -1
  261. package/dist/workspace/snapshot-image-context.js.map +1 -1
  262. package/dist/workspace/snapshot-manager.js.map +1 -1
  263. package/dist/workspace/template-telemetry.js.map +1 -1
  264. package/dist/workspace/workspace-file-content.js.map +1 -1
  265. package/dist/workspace/workspace-files.js.map +1 -1
  266. package/dist/workspace/workspace-manifest.js.map +1 -1
  267. package/dist/workspace/workspace-paths.js.map +1 -1
  268. package/package.json +13 -10
  269. package/skills/credential-setup-with-computer-use/SKILL.md +3 -2
  270. package/skills/data-table-manager/SKILL.md +3 -3
  271. package/skills/intent-recognition/SKILL.md +269 -0
  272. package/skills/n8n-docs-assistant/SKILL.md +6 -3
  273. package/skills/planned-task-runtime/SKILL.md +12 -14
  274. package/skills/planning/SKILL.md +12 -11
  275. package/skills/post-build-flow/SKILL.md +9 -0
  276. package/skills/workflow-builder/SKILL.md +55 -3
  277. package/skills/workflow-builder/references/compositional-workflows.md +1 -2
  278. package/dist/tools/orchestration/delegate.schemas.d.ts +0 -44
  279. package/dist/tools/orchestration/delegate.schemas.js +0 -46
  280. package/dist/tools/orchestration/delegate.schemas.js.map +0 -1
  281. package/dist/tools/orchestration/delegate.tool.d.ts +0 -18
  282. package/dist/tools/orchestration/delegate.tool.js +0 -334
  283. package/dist/tools/orchestration/delegate.tool.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"plan-verification-simulation.js","sourceRoot":"","sources":["../../../src/tools/workflows/plan-verification-simulation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plan-verification-simulation.js","sourceRoot":"","sources":["../../../src/tools/workflows/plan-verification-simulation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { WorkflowJSON } from '@n8n/workflow-sdk';
2
+ import type { CredentialMap } from './resolve-credentials';
3
+ import type { WorkflowBuildOutcome } from '../../workflow-loop/workflow-loop-state';
4
+ export type SimulationPlanPatch = Pick<WorkflowBuildOutcome, 'mockedNodeNames' | 'mockedCredentialTypes' | 'mockedCredentialsByNode' | 'nodeSimulationPlan' | 'simulationFixtures' | 'setupRequirement'>;
5
+ export declare function reconcileSimulationPlan(args: {
6
+ buildOutcome: WorkflowBuildOutcome;
7
+ workflow: WorkflowJSON;
8
+ availableCredentials: CredentialMap;
9
+ }): Promise<SimulationPlanPatch | undefined>;
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.reconcileSimulationPlan = reconcileSimulationPlan;
4
+ const classify_node_destructiveness_service_1 = require("./classify-node-destructiveness.service");
5
+ const credential_utils_1 = require("./credential-utils");
6
+ function isConfiguredCredential(value, credentialType, availableCredentials) {
7
+ if ((0, credential_utils_1.isAiGatewayManagedCredential)(value))
8
+ return true;
9
+ if (typeof value !== 'object' || value === null || !('id' in value))
10
+ return false;
11
+ const { id } = value;
12
+ if (typeof id !== 'string' || id.trim() === '')
13
+ return false;
14
+ return (availableCredentials.get(credentialType)?.some((credential) => credential.id === id) ?? false);
15
+ }
16
+ function nodeCredentials(workflow, nodeName) {
17
+ const node = (workflow.nodes ?? []).find((candidate) => candidate.name === nodeName);
18
+ return node?.credentials ? node.credentials : undefined;
19
+ }
20
+ async function reconcileSimulationPlan(args) {
21
+ const { buildOutcome, workflow, availableCredentials } = args;
22
+ const mockedEntries = Object.entries(buildOutcome.mockedCredentialsByNode ?? {});
23
+ if (mockedEntries.length === 0)
24
+ return undefined;
25
+ const satisfiedNames = new Set(mockedEntries
26
+ .filter(([nodeName, mockedTypes]) => {
27
+ const credentials = nodeCredentials(workflow, nodeName);
28
+ if (!credentials)
29
+ return false;
30
+ const types = mockedTypes.length > 0 ? mockedTypes : Object.keys(credentials);
31
+ return (types.length > 0 &&
32
+ types.every((type) => isConfiguredCredential(credentials[type], type, availableCredentials)));
33
+ })
34
+ .map(([nodeName]) => nodeName));
35
+ if (satisfiedNames.size === 0)
36
+ return undefined;
37
+ const remainingEntries = mockedEntries.filter(([nodeName]) => !satisfiedNames.has(nodeName));
38
+ const remainingMockedNames = (buildOutcome.mockedNodeNames ?? mockedEntries.map(([nodeName]) => nodeName)).filter((nodeName) => !satisfiedNames.has(nodeName));
39
+ const scopedWorkflow = {
40
+ ...workflow,
41
+ nodes: (workflow.nodes ?? []).filter((node) => typeof node.name === 'string' && satisfiedNames.has(node.name)),
42
+ };
43
+ const freshVerdicts = await (0, classify_node_destructiveness_service_1.classifyNodesForSimulation)({
44
+ workflow: scopedWorkflow,
45
+ mockedNodeNames: remainingMockedNames,
46
+ });
47
+ const freshVerdictByName = new Map(freshVerdicts.map((verdict) => [verdict.nodeName, verdict]));
48
+ const nodeSimulationPlan = buildOutcome.nodeSimulationPlan?.map((verdict) => satisfiedNames.has(verdict.nodeName)
49
+ ? (freshVerdictByName.get(verdict.nodeName) ?? verdict)
50
+ : verdict);
51
+ const retainedFixtureEntries = Object.entries(buildOutcome.simulationFixtures ?? {}).filter(([nodeName]) => freshVerdictByName.get(nodeName)?.verdict !== 'execute');
52
+ const hasRemainingMocks = remainingEntries.length > 0;
53
+ const patch = {
54
+ mockedNodeNames: hasRemainingMocks ? remainingMockedNames : undefined,
55
+ mockedCredentialTypes: hasRemainingMocks
56
+ ? [...new Set(remainingEntries.flatMap(([, types]) => types))]
57
+ : undefined,
58
+ mockedCredentialsByNode: hasRemainingMocks ? Object.fromEntries(remainingEntries) : undefined,
59
+ nodeSimulationPlan,
60
+ simulationFixtures: retainedFixtureEntries.length > 0 ? Object.fromEntries(retainedFixtureEntries) : undefined,
61
+ };
62
+ if (!hasRemainingMocks &&
63
+ !buildOutcome.hasUnresolvedPlaceholders &&
64
+ buildOutcome.setupRequirement?.status === 'required' &&
65
+ buildOutcome.setupRequirement.reason === 'mocked-credentials') {
66
+ patch.setupRequirement = { status: 'not_required' };
67
+ }
68
+ return patch;
69
+ }
70
+ //# sourceMappingURL=reconcile-simulation-plan.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reconcile-simulation-plan.js","sourceRoot":"","sources":["../../../src/tools/workflows/reconcile-simulation-plan.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  import type { WorkflowJSON } from '@n8n/workflow-sdk';
2
+ import type { ResolvedCredential } from './resolved-credential.schema';
2
3
  import type { InstanceAiContext } from '../../types';
4
+ export type { ResolvedCredential };
3
5
  export interface CredentialEntry {
4
6
  id: string;
5
7
  name: string;
@@ -11,5 +13,7 @@ export interface CredentialResolutionResult {
11
13
  mockedNodeNames: string[];
12
14
  mockedCredentialTypes: string[];
13
15
  mockedCredentialsByNode: Record<string, string[]>;
16
+ resolvedCredentialsByNode: Record<string, ResolvedCredential[]>;
14
17
  }
18
+ export declare function buildCredentialResolutionNote(resolvedCredentialsByNode: Record<string, ResolvedCredential[]>): string | undefined;
15
19
  export declare function resolveCredentials(json: WorkflowJSON, workflowId: string | undefined, ctx: InstanceAiContext, availableCredentials?: CredentialMap): Promise<CredentialResolutionResult>;
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.buildCredentialMap = buildCredentialMap;
4
+ exports.buildCredentialResolutionNote = buildCredentialResolutionNote;
4
5
  exports.resolveCredentials = resolveCredentials;
6
+ const credential_utils_1 = require("./credential-utils");
5
7
  async function buildCredentialMap(credentialService) {
6
8
  const map = new Map();
7
9
  try {
@@ -16,10 +18,48 @@ async function buildCredentialMap(credentialService) {
16
18
  }
17
19
  return map;
18
20
  }
21
+ function buildCredentialResolutionNote(resolvedCredentialsByNode) {
22
+ const storedParts = [];
23
+ const gatewayParts = [];
24
+ for (const [nodeName, resolved] of Object.entries(resolvedCredentialsByNode)) {
25
+ for (const credential of resolved) {
26
+ const label = `(${credential.type}) on node "${nodeName}"`;
27
+ if (credential.id === null)
28
+ gatewayParts.push(label);
29
+ else
30
+ storedParts.push(`"${credential.name}" ${label}`);
31
+ }
32
+ }
33
+ if (storedParts.length === 0 && gatewayParts.length === 0)
34
+ return undefined;
35
+ const sentences = [];
36
+ if (storedParts.length > 0) {
37
+ sentences.push(`Connected existing credential(s) automatically: ${storedParts.join('; ')}.`);
38
+ }
39
+ if (gatewayParts.length > 0) {
40
+ sentences.push(`Using n8n Connect (zero-setup) for: ${gatewayParts.join('; ')}.`);
41
+ }
42
+ sentences.push('These are already set up — do not ask the user to connect or create them, and do not route them to credential setup.');
43
+ return sentences.join(' ');
44
+ }
19
45
  async function resolveCredentials(json, workflowId, ctx, availableCredentials) {
20
46
  const mockedNodeNames = [];
21
47
  const mockedCredentialTypesSet = new Set();
22
48
  const mockedCredentialsByNode = {};
49
+ const resolvedCredentialsByNode = {};
50
+ const gatewaySupportCache = new Map();
51
+ const isGatewayCredentialType = async (credType) => {
52
+ if (!ctx.credentialService.isAiGatewayCredentialType)
53
+ return false;
54
+ const cached = gatewaySupportCache.get(credType);
55
+ if (cached !== undefined)
56
+ return cached;
57
+ const supported = await ctx.credentialService
58
+ .isAiGatewayCredentialType(credType)
59
+ .catch(() => false);
60
+ gatewaySupportCache.set(credType, supported);
61
+ return supported;
62
+ };
23
63
  const existingCredsByNode = new Map();
24
64
  if (workflowId) {
25
65
  try {
@@ -40,10 +80,21 @@ async function resolveCredentials(json, workflowId, ctx, availableCredentials) {
40
80
  let nodeMocked = false;
41
81
  for (const [key, value] of Object.entries(creds)) {
42
82
  const existingCreds = node.name ? existingCredsByNode.get(node.name) : undefined;
83
+ const recordResolvedCredential = (id, name) => {
84
+ if (!node.name)
85
+ return;
86
+ resolvedCredentialsByNode[node.name] ??= [];
87
+ resolvedCredentialsByNode[node.name].push({ type: key, id, name });
88
+ };
43
89
  const restoreExistingCredential = () => {
44
- if (!existingCreds?.[key])
90
+ const restored = existingCreds?.[key];
91
+ if (!restored)
45
92
  return false;
46
- creds[key] = existingCreds[key];
93
+ creds[key] = restored;
94
+ const restoredId = getCredentialId(restored);
95
+ if (restoredId) {
96
+ recordResolvedCredential(restoredId, getCredentialName(restored) ?? restoredId);
97
+ }
47
98
  cleanupMockPinData(json, node.name);
48
99
  return true;
49
100
  };
@@ -57,6 +108,27 @@ async function resolveCredentials(json, workflowId, ctx, availableCredentials) {
57
108
  mockedCredentialsByNode[nodeName].push(key);
58
109
  }
59
110
  };
111
+ const attachGatewayCredential = () => {
112
+ creds[key] = { ...credential_utils_1.AI_GATEWAY_CREDENTIAL, name: credential_utils_1.N8N_CONNECT_DISPLAY_NAME };
113
+ nodeMocked = true;
114
+ if (node.name) {
115
+ resolvedCredentialsByNode[node.name] ??= [];
116
+ resolvedCredentialsByNode[node.name].push({
117
+ type: key,
118
+ id: null,
119
+ name: credential_utils_1.N8N_CONNECT_DISPLAY_NAME,
120
+ __aiGatewayManaged: true,
121
+ });
122
+ }
123
+ };
124
+ const mockOrAttachGateway = async () => {
125
+ const hasStored = (availableCredentials?.get(key)?.length ?? 0) > 0;
126
+ if (!hasStored && (await isGatewayCredentialType(key))) {
127
+ attachGatewayCredential();
128
+ return;
129
+ }
130
+ mockCredential();
131
+ };
60
132
  if (value !== undefined && value !== null) {
61
133
  if (isKnownCredentialForType(value, key, availableCredentials)) {
62
134
  cleanupMockPinData(json, node.name);
@@ -65,7 +137,7 @@ async function resolveCredentials(json, workflowId, ctx, availableCredentials) {
65
137
  if (restoreExistingCredential()) {
66
138
  continue;
67
139
  }
68
- mockCredential();
140
+ await mockOrAttachGateway();
69
141
  continue;
70
142
  }
71
143
  if (restoreExistingCredential()) {
@@ -75,10 +147,11 @@ async function resolveCredentials(json, workflowId, ctx, availableCredentials) {
75
147
  if (credentialsForType?.length === 1) {
76
148
  const [credential] = credentialsForType;
77
149
  creds[key] = { id: credential.id, name: credential.name };
150
+ recordResolvedCredential(credential.id, credential.name);
78
151
  cleanupMockPinData(json, node.name);
79
152
  continue;
80
153
  }
81
- mockCredential();
154
+ await mockOrAttachGateway();
82
155
  }
83
156
  if (nodeMocked && node.name) {
84
157
  mockedNodeNames.push(node.name);
@@ -88,6 +161,7 @@ async function resolveCredentials(json, workflowId, ctx, availableCredentials) {
88
161
  mockedNodeNames,
89
162
  mockedCredentialTypes: [...mockedCredentialTypesSet],
90
163
  mockedCredentialsByNode,
164
+ resolvedCredentialsByNode,
91
165
  };
92
166
  }
93
167
  function getCredentialId(value) {
@@ -98,6 +172,14 @@ function getCredentialId(value) {
98
172
  return undefined;
99
173
  return id;
100
174
  }
175
+ function getCredentialName(value) {
176
+ if (typeof value !== 'object' || value === null || !('name' in value))
177
+ return undefined;
178
+ const { name } = value;
179
+ if (typeof name !== 'string' || name.trim() === '')
180
+ return undefined;
181
+ return name;
182
+ }
101
183
  function isKnownCredentialForType(value, credentialType, availableCredentials) {
102
184
  if (!availableCredentials)
103
185
  return true;
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-credentials.js","sourceRoot":"","sources":["../../../src/tools/workflows/resolve-credentials.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve-credentials.js","sourceRoot":"","sources":["../../../src/tools/workflows/resolve-credentials.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import { z } from 'zod';
2
+ export declare const resolvedCredentialSchema: z.ZodUnion<[z.ZodObject<{
3
+ type: z.ZodString;
4
+ id: z.ZodString;
5
+ name: z.ZodString;
6
+ }, "strip", z.ZodTypeAny, {
7
+ type: string;
8
+ id: string;
9
+ name: string;
10
+ }, {
11
+ type: string;
12
+ id: string;
13
+ name: string;
14
+ }>, z.ZodObject<{
15
+ type: z.ZodString;
16
+ id: z.ZodNull;
17
+ name: z.ZodString;
18
+ __aiGatewayManaged: z.ZodLiteral<true>;
19
+ }, "strip", z.ZodTypeAny, {
20
+ type: string;
21
+ id: null;
22
+ name: string;
23
+ __aiGatewayManaged: true;
24
+ }, {
25
+ type: string;
26
+ id: null;
27
+ name: string;
28
+ __aiGatewayManaged: true;
29
+ }>]>;
30
+ export type ResolvedCredential = z.infer<typeof resolvedCredentialSchema>;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolvedCredentialSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.resolvedCredentialSchema = zod_1.z.union([
6
+ zod_1.z.object({
7
+ type: zod_1.z.string(),
8
+ id: zod_1.z.string(),
9
+ name: zod_1.z.string(),
10
+ }),
11
+ zod_1.z.object({
12
+ type: zod_1.z.string(),
13
+ id: zod_1.z.null(),
14
+ name: zod_1.z.string(),
15
+ __aiGatewayManaged: zod_1.z.literal(true),
16
+ }),
17
+ ]);
18
+ //# sourceMappingURL=resolved-credential.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolved-credential.schema.js","sourceRoot":"","sources":["../../../src/tools/workflows/resolved-credential.schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAUX,QAAA,wBAAwB,GAAG,OAAC,CAAC,KAAK,CAAC;IAC/C,OAAC,CAAC,MAAM,CAAC;QAER,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;QAChB,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE;QACd,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;KAChB,CAAC;IACF,OAAC,CAAC,MAAM,CAAC;QACR,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;QAChB,EAAE,EAAE,OAAC,CAAC,IAAI,EAAE;QACZ,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;QAChB,kBAAkB,EAAE,OAAC,CAAC,OAAO,CAAC,IAAI,CAAC;KACnC,CAAC;CACF,CAAC,CAAC"}