@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 +0,0 @@
1
- {"version":3,"file":"delegate.schemas.js","sourceRoot":"","sources":["../../../src/tools/orchestration/delegate.schemas.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAEX,QAAA,mBAAmB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3C,IAAI,EAAE,OAAC;SACL,MAAM,EAAE;SACR,QAAQ,CAAC,6EAA6E,CAAC;IACzF,YAAY,EAAE,OAAC;SACb,MAAM,EAAE;SACR,QAAQ,CACR,sFAAsF,CACtF;IACF,KAAK,EAAE,OAAC;SACN,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;SACjB,OAAO,CAAC,EAAE,CAAC;SACX,QAAQ,CAAC,mEAAmE,CAAC;IAC/E,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iEAAiE,CAAC;IAChG,SAAS,EAAE,OAAC;SACV,MAAM,CAAC,OAAC,CAAC,OAAO,EAAE,CAAC;SACnB,QAAQ,EAAE;SACV,QAAQ,CAAC,qEAAqE,CAAC;IACjF,mBAAmB,EAAE,OAAC;SACpB,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACR,yLAAyL,CACzL;CACF,CAAC,CAAC;AAIU,QAAA,oBAAoB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC5C,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;IAC/D,aAAa,EAAE,OAAC;SACd,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CAAC,qDAAqD,CAAC;IACjE,cAAc,EAAE,OAAC;SACf,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CAAC,wCAAwC,CAAC;IACpD,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;IACjF,QAAQ,EAAE,OAAC;SACT,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE;SACV,QAAQ,CAAC,gDAAgD,CAAC;CAC5D,CAAC,CAAC"}
@@ -1,18 +0,0 @@
1
- import type { OrchestrationContext } from '../../types';
2
- export interface DetachedDelegateTaskInput {
3
- title: string;
4
- spec: string;
5
- tools: string[];
6
- artifacts?: unknown;
7
- conversationContext?: string;
8
- taskId?: string;
9
- agentId?: string;
10
- plannedTaskId?: string;
11
- }
12
- export interface DetachedDelegateTaskResult {
13
- result: string;
14
- taskId: string;
15
- agentId: string;
16
- }
17
- export declare function startDetachedDelegateTask(context: OrchestrationContext, input: DetachedDelegateTaskInput): Promise<DetachedDelegateTaskResult>;
18
- export declare function createDelegateTool(context: OrchestrationContext): import("@n8n/agents").BuiltTool;
@@ -1,334 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.startDetachedDelegateTask = startDetachedDelegateTask;
4
- exports.createDelegateTool = createDelegateTool;
5
- const agents_1 = require("@n8n/agents");
6
- const nanoid_1 = require("nanoid");
7
- const agent_persistence_1 = require("./agent-persistence");
8
- const delegate_schemas_1 = require("./delegate.schemas");
9
- const display_utils_1 = require("./display-utils");
10
- const tracing_utils_1 = require("./tracing-utils");
11
- const sub_agent_briefing_1 = require("../../agent/sub-agent-briefing");
12
- const sub_agent_debriefing_1 = require("../../agent/sub-agent-debriefing");
13
- const sub_agent_factory_1 = require("../../agent/sub-agent-factory");
14
- const max_steps_1 = require("../../constants/max-steps");
15
- const consume_with_hitl_1 = require("../../stream/consume-with-hitl");
16
- const tool_registry_1 = require("../../tool-registry");
17
- const FORBIDDEN_TOOL_NAMES = new Set(['create-tasks', 'delegate']);
18
- function generateAgentId() {
19
- return `agent-${(0, nanoid_1.nanoid)(6)}`;
20
- }
21
- function buildRoleKey(role) {
22
- return role
23
- .toLowerCase()
24
- .replace(/[^a-z0-9]+/g, '-')
25
- .replace(/^-+|-+$/g, '');
26
- }
27
- function resolveDelegateTools(context, toolNames) {
28
- const errors = [];
29
- const validTools = (0, tool_registry_1.createToolRegistry)();
30
- const availableMcpTools = context.mcpTools ?? (0, tool_registry_1.createToolRegistry)();
31
- for (const name of toolNames) {
32
- if (FORBIDDEN_TOOL_NAMES.has(name)) {
33
- errors.push(`"${name}" is an orchestration tool and cannot be delegated`);
34
- continue;
35
- }
36
- const domainTool = context.domainTools.get(name);
37
- if (domainTool) {
38
- validTools.set(name, domainTool);
39
- continue;
40
- }
41
- const mcpTool = availableMcpTools.get(name);
42
- if (mcpTool) {
43
- validTools.set(name, mcpTool);
44
- }
45
- else {
46
- errors.push(`"${name}" is not a registered domain tool`);
47
- }
48
- }
49
- return { validTools, errors };
50
- }
51
- async function buildDelegateBriefing(context, role, briefing, artifacts, conversationContext) {
52
- const structured = await (0, sub_agent_briefing_1.buildSubAgentBriefing)({
53
- task: briefing,
54
- conversationContext,
55
- artifacts: artifacts,
56
- iteration: context.iterationLog
57
- ? { log: context.iterationLog, threadId: context.threadId, taskKey: `delegate:${role}` }
58
- : undefined,
59
- runningTasks: context.getRunningTaskSummaries?.(),
60
- });
61
- return `${structured}\n\nRemember: ${sub_agent_factory_1.SUB_AGENT_PROTOCOL}`;
62
- }
63
- async function startDetachedDelegateTask(context, input) {
64
- if (input.tools.length === 0) {
65
- return {
66
- result: 'Delegation failed: "tools" must contain at least one tool name',
67
- taskId: '',
68
- agentId: '',
69
- };
70
- }
71
- const { validTools, errors } = resolveDelegateTools(context, input.tools);
72
- if (errors.length > 0) {
73
- return {
74
- result: `Delegation failed: ${errors.join('; ')}`,
75
- taskId: '',
76
- agentId: '',
77
- };
78
- }
79
- if (!context.spawnBackgroundTask) {
80
- return {
81
- result: 'Delegation failed: background task support not available.',
82
- taskId: '',
83
- agentId: '',
84
- };
85
- }
86
- const role = buildRoleKey(input.title) || 'delegate-worker';
87
- const subAgentId = input.agentId ?? `agent-delegate-${(0, nanoid_1.nanoid)(6)}`;
88
- const taskId = input.taskId ?? `delegate-${(0, nanoid_1.nanoid)(8)}`;
89
- const briefingMessage = await buildDelegateBriefing(context, role, input.spec, input.artifacts, input.conversationContext);
90
- const createTraceContext = (0, tracing_utils_1.createDetachedSubAgentTraceFactory)(context, {
91
- agentId: subAgentId,
92
- role,
93
- kind: 'delegate',
94
- taskId,
95
- plannedTaskId: input.plannedTaskId,
96
- inputs: {
97
- title: input.title,
98
- briefing: input.spec,
99
- tools: input.tools,
100
- conversationContext: input.conversationContext,
101
- },
102
- });
103
- const tracedTools = (0, tracing_utils_1.traceSubAgentTools)(context, validTools, role);
104
- const spawnOutcome = context.spawnBackgroundTask({
105
- taskId,
106
- threadId: context.threadId,
107
- agentId: subAgentId,
108
- role,
109
- createTraceContext,
110
- plannedTaskId: input.plannedTaskId,
111
- dedupeKey: { role, plannedTaskId: input.plannedTaskId },
112
- parentCheckpointId: context.isCheckpointFollowUp === true ? context.checkpointTaskId : undefined,
113
- run: async (signal, drainCorrections, waitForCorrection, { traceContext }) => {
114
- return await (0, tracing_utils_1.withTraceContextActor)(traceContext, async () => {
115
- const subAgent = (0, sub_agent_factory_1.createSubAgent)({
116
- agentId: subAgentId,
117
- role,
118
- instructions: 'Complete the delegated task using the provided tools. Return concrete results only.',
119
- tools: tracedTools,
120
- modelId: context.modelId,
121
- traceRun: traceContext?.actorRun,
122
- tracing: traceContext,
123
- runtimeSkills: context.runtimeSkills,
124
- timeZone: context.timeZone,
125
- checkpointStore: context.checkpointStore,
126
- });
127
- const maxIterations = context.subAgentMaxSteps ?? max_steps_1.MAX_STEPS.DELEGATE_FALLBACK;
128
- const persistence = await (0, agent_persistence_1.createSubAgentPersistence)(context, { agentKind: role });
129
- const stream = await subAgent.stream(briefingMessage, {
130
- maxIterations,
131
- abortSignal: signal,
132
- persistence,
133
- providerOptions: {
134
- anthropic: { cacheControl: { type: 'ephemeral' } },
135
- },
136
- });
137
- const result = await (0, consume_with_hitl_1.consumeStreamWithHitl)({
138
- agent: subAgent,
139
- stream,
140
- runId: context.runId,
141
- agentId: subAgentId,
142
- eventBus: context.eventBus,
143
- logger: context.logger,
144
- threadId: context.threadId,
145
- outputRedaction: context.outputRedaction,
146
- abortSignal: signal,
147
- waitForConfirmation: context.waitForConfirmation,
148
- drainCorrections,
149
- waitForCorrection,
150
- maxIterations,
151
- persistence,
152
- });
153
- return await (0, consume_with_hitl_1.requireCompletedHitlText)(result, 'Delegate sub-agent');
154
- });
155
- },
156
- });
157
- if (spawnOutcome.status === 'duplicate') {
158
- return {
159
- result: `Delegation already in progress (task: ${spawnOutcome.existing.taskId}). Wait for the planned-task-follow-up — do not dispatch again.`,
160
- taskId: spawnOutcome.existing.taskId,
161
- agentId: spawnOutcome.existing.agentId,
162
- };
163
- }
164
- if (spawnOutcome.status === 'limit-reached') {
165
- return {
166
- result: 'Could not start delegation: concurrent background-task limit reached. Wait for an existing task to finish and try again.',
167
- taskId: '',
168
- agentId: '',
169
- };
170
- }
171
- context.eventBus.publish(context.threadId, {
172
- type: 'agent-spawned',
173
- runId: context.runId,
174
- agentId: subAgentId,
175
- payload: {
176
- parentId: context.orchestratorAgentId,
177
- role,
178
- tools: input.tools,
179
- taskId,
180
- kind: 'delegate',
181
- title: input.title,
182
- subtitle: (0, display_utils_1.truncateLabel)(input.spec),
183
- goal: input.spec,
184
- },
185
- });
186
- return {
187
- result: `Delegation started (task: ${taskId}). Do NOT summarize the plan or list details.`,
188
- taskId,
189
- agentId: subAgentId,
190
- };
191
- }
192
- function createDelegateTool(context) {
193
- return new agents_1.Tool('delegate')
194
- .description('Spawn a focused sub-agent to handle a specific subtask. Specify the ' +
195
- 'role, a task-specific system prompt, the tool subset needed, and a ' +
196
- 'detailed briefing. The sub-agent executes independently and returns ' +
197
- 'a synthesized result. Use for complex multi-step operations that ' +
198
- 'benefit from a clean context window.')
199
- .input(delegate_schemas_1.delegateInputSchema)
200
- .output(delegate_schemas_1.delegateOutputSchema)
201
- .handler(async (input) => {
202
- if (input.tools.length === 0) {
203
- return { result: 'Delegation failed: "tools" must contain at least one tool name' };
204
- }
205
- const { validTools, errors } = resolveDelegateTools(context, input.tools);
206
- if (errors.length > 0) {
207
- return { result: `Delegation failed: ${errors.join('; ')}` };
208
- }
209
- const subAgentId = generateAgentId();
210
- const startTime = Date.now();
211
- context.eventBus.publish(context.threadId, {
212
- type: 'agent-spawned',
213
- runId: context.runId,
214
- agentId: subAgentId,
215
- payload: {
216
- parentId: context.orchestratorAgentId,
217
- role: input.role,
218
- tools: input.tools,
219
- kind: 'delegate',
220
- subtitle: (0, display_utils_1.truncateLabel)(input.briefing),
221
- goal: input.briefing,
222
- },
223
- });
224
- const traceRun = await (0, tracing_utils_1.startSubAgentTrace)(context, {
225
- agentId: subAgentId,
226
- role: input.role,
227
- kind: 'delegate',
228
- inputs: {
229
- briefing: input.briefing,
230
- instructions: input.instructions,
231
- tools: input.tools,
232
- conversationContext: input.conversationContext,
233
- },
234
- });
235
- const tracedTools = (0, tracing_utils_1.traceSubAgentTools)(context, validTools, input.role);
236
- try {
237
- const subAgent = (0, sub_agent_factory_1.createSubAgent)({
238
- agentId: subAgentId,
239
- role: input.role,
240
- instructions: input.instructions,
241
- tools: tracedTools,
242
- modelId: context.modelId,
243
- traceRun,
244
- tracing: context.tracing,
245
- runtimeSkills: context.runtimeSkills,
246
- timeZone: context.timeZone,
247
- checkpointStore: context.checkpointStore,
248
- });
249
- const briefingMessage = await buildDelegateBriefing(context, input.role, input.briefing, input.artifacts, input.conversationContext);
250
- const consumeResult = await (0, tracing_utils_1.withTraceRun)(context, traceRun, async () => {
251
- const maxIterations = context.subAgentMaxSteps ?? max_steps_1.MAX_STEPS.DELEGATE_FALLBACK;
252
- const persistence = await (0, agent_persistence_1.createSubAgentPersistence)(context, {
253
- agentKind: input.role,
254
- });
255
- const stream = await subAgent.stream(briefingMessage, {
256
- maxIterations,
257
- abortSignal: context.abortSignal,
258
- persistence,
259
- providerOptions: {
260
- anthropic: { cacheControl: { type: 'ephemeral' } },
261
- },
262
- });
263
- return await (0, consume_with_hitl_1.consumeStreamWithHitl)({
264
- agent: subAgent,
265
- stream,
266
- runId: context.runId,
267
- agentId: subAgentId,
268
- eventBus: context.eventBus,
269
- logger: context.logger,
270
- threadId: context.threadId,
271
- outputRedaction: context.outputRedaction,
272
- abortSignal: context.abortSignal,
273
- waitForConfirmation: context.waitForConfirmation,
274
- maxIterations,
275
- persistence,
276
- });
277
- });
278
- const resultText = await (0, consume_with_hitl_1.requireCompletedHitlText)(consumeResult, 'Delegate sub-agent');
279
- const debriefing = (0, sub_agent_debriefing_1.buildDebriefing)({
280
- agentId: subAgentId,
281
- role: input.role,
282
- result: resultText,
283
- workSummary: consumeResult.workSummary,
284
- startTime,
285
- });
286
- await (0, tracing_utils_1.finishTraceRun)(context, traceRun, {
287
- outputs: {
288
- result: resultText,
289
- agentId: subAgentId,
290
- role: input.role,
291
- toolCallCount: debriefing.toolCallCount,
292
- toolErrorCount: debriefing.toolErrorCount,
293
- durationMs: debriefing.durationMs,
294
- },
295
- });
296
- context.eventBus.publish(context.threadId, {
297
- type: 'agent-completed',
298
- runId: context.runId,
299
- agentId: subAgentId,
300
- payload: {
301
- role: input.role,
302
- result: resultText,
303
- },
304
- });
305
- return {
306
- result: resultText,
307
- toolCallCount: debriefing.toolCallCount,
308
- toolErrorCount: debriefing.toolErrorCount,
309
- durationMs: debriefing.durationMs,
310
- blockers: debriefing.blockers,
311
- };
312
- }
313
- catch (error) {
314
- const errorMessage = error instanceof Error ? error.message : String(error);
315
- await (0, tracing_utils_1.failTraceRun)(context, traceRun, error, {
316
- agent_id: subAgentId,
317
- agent_role: input.role,
318
- });
319
- context.eventBus.publish(context.threadId, {
320
- type: 'agent-completed',
321
- runId: context.runId,
322
- agentId: subAgentId,
323
- payload: {
324
- role: input.role,
325
- result: '',
326
- error: errorMessage,
327
- },
328
- });
329
- return { result: `Sub-agent error: ${errorMessage}` };
330
- }
331
- })
332
- .build();
333
- }
334
- //# sourceMappingURL=delegate.tool.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"delegate.tool.js","sourceRoot":"","sources":["../../../src/tools/orchestration/delegate.tool.ts"],"names":[],"mappings":"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"}