@n8n/instance-ai 1.17.3 → 1.19.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 (133) hide show
  1. package/dist/agent/apply-agent-thinking.js +1 -1
  2. package/dist/agent/apply-agent-thinking.js.map +1 -1
  3. package/dist/agent/computer-use-prompt.js +2 -2
  4. package/dist/agent/instance-agent.d.ts +7 -1
  5. package/dist/agent/instance-agent.js +9 -2
  6. package/dist/agent/instance-agent.js.map +1 -1
  7. package/dist/agent/shared-prompts.d.ts +1 -1
  8. package/dist/agent/shared-prompts.js +7 -21
  9. package/dist/agent/shared-prompts.js.map +1 -1
  10. package/dist/agent/sub-agent-factory.d.ts +1 -1
  11. package/dist/agent/system-prompt.js +43 -105
  12. package/dist/agent/system-prompt.js.map +1 -1
  13. package/dist/build.tsbuildinfo +1 -1
  14. package/dist/debug/run-debug-buffer.d.ts +8 -7
  15. package/dist/debug/run-debug-buffer.js +7 -6
  16. package/dist/debug/run-debug-buffer.js.map +1 -1
  17. package/dist/index.d.ts +1 -3
  18. package/dist/index.js +1 -3
  19. package/dist/index.js.map +1 -1
  20. package/dist/mcp/mcp-client-manager.d.ts +13 -1
  21. package/dist/mcp/mcp-client-manager.js +17 -2
  22. package/dist/mcp/mcp-client-manager.js.map +1 -1
  23. package/dist/runtime/run-state-registry.d.ts +5 -3
  24. package/dist/runtime/run-state-registry.js +5 -2
  25. package/dist/runtime/run-state-registry.js.map +1 -1
  26. package/dist/storage/workflow-loop-storage.d.ts +94 -0
  27. package/dist/stream/map-chunk.d.ts +1 -2
  28. package/dist/stream/map-chunk.js +38 -21
  29. package/dist/stream/map-chunk.js.map +1 -1
  30. package/dist/tools/attachments/parse-file.tool.js +2 -0
  31. package/dist/tools/attachments/parse-file.tool.js.map +1 -1
  32. package/dist/tools/credentials.tool.js +3 -2
  33. package/dist/tools/credentials.tool.js.map +1 -1
  34. package/dist/tools/data-tables.tool.js +5 -1
  35. package/dist/tools/data-tables.tool.js.map +1 -1
  36. package/dist/tools/evals/eval-config.tool.js +42 -7
  37. package/dist/tools/evals/eval-config.tool.js.map +1 -1
  38. package/dist/tools/index.js +0 -3
  39. package/dist/tools/index.js.map +1 -1
  40. package/dist/tools/nodes/node-search-engine.js +7 -0
  41. package/dist/tools/nodes/node-search-engine.js.map +1 -1
  42. package/dist/tools/nodes/node-search-engine.types.d.ts +3 -0
  43. package/dist/tools/nodes/node-search-engine.types.js.map +1 -1
  44. package/dist/tools/orchestration/agent-target-binding.d.ts +18 -2
  45. package/dist/tools/orchestration/agent-target-binding.js +56 -25
  46. package/dist/tools/orchestration/agent-target-binding.js.map +1 -1
  47. package/dist/tools/orchestration/build-agent.tool.js +227 -70
  48. package/dist/tools/orchestration/build-agent.tool.js.map +1 -1
  49. package/dist/tools/orchestration/verification/analyze-result.d.ts +5 -0
  50. package/dist/tools/orchestration/verification/analyze-result.js +14 -3
  51. package/dist/tools/orchestration/verification/analyze-result.js.map +1 -1
  52. package/dist/tools/orchestration/verification/prepare-run.d.ts +3 -1
  53. package/dist/tools/orchestration/verification/prepare-run.js +34 -0
  54. package/dist/tools/orchestration/verification/prepare-run.js.map +1 -1
  55. package/dist/tools/orchestration/verification/scripted-gate-run.d.ts +23 -0
  56. package/dist/tools/orchestration/verification/scripted-gate-run.js +91 -0
  57. package/dist/tools/orchestration/verification/scripted-gate-run.js.map +1 -0
  58. package/dist/tools/orchestration/verify-built-workflow.tool.js +33 -12
  59. package/dist/tools/orchestration/verify-built-workflow.tool.js.map +1 -1
  60. package/dist/tools/research.tool.js +6 -1
  61. package/dist/tools/research.tool.js.map +1 -1
  62. package/dist/tools/task-control.tool.js +2 -2
  63. package/dist/tools/task-control.tool.js.map +1 -1
  64. package/dist/tools/tool-ids.d.ts +0 -1
  65. package/dist/tools/tool-ids.js +2 -2
  66. package/dist/tools/tool-ids.js.map +1 -1
  67. package/dist/tools/workflows/build-workflow.tool.js +22 -7
  68. package/dist/tools/workflows/build-workflow.tool.js.map +1 -1
  69. package/dist/tools/workflows/plan-verification-simulation.d.ts +4 -1
  70. package/dist/tools/workflows/plan-verification-simulation.js +27 -3
  71. package/dist/tools/workflows/plan-verification-simulation.js.map +1 -1
  72. package/dist/tools/workflows/preserve-node-positions.d.ts +3 -0
  73. package/dist/tools/workflows/preserve-node-positions.js +148 -0
  74. package/dist/tools/workflows/preserve-node-positions.js.map +1 -0
  75. package/dist/tools/workflows/reconcile-simulation-plan.js +2 -1
  76. package/dist/tools/workflows/reconcile-simulation-plan.js.map +1 -1
  77. package/dist/tools/workflows/resolve-credentials.js +52 -18
  78. package/dist/tools/workflows/resolve-credentials.js.map +1 -1
  79. package/dist/tools/workflows/setup-workflow.service.d.ts +10 -2
  80. package/dist/tools/workflows/setup-workflow.service.js +57 -5
  81. package/dist/tools/workflows/setup-workflow.service.js.map +1 -1
  82. package/dist/tools/workflows/wait-gate-script.d.ts +9 -0
  83. package/dist/tools/workflows/wait-gate-script.js +223 -0
  84. package/dist/tools/workflows/wait-gate-script.js.map +1 -0
  85. package/dist/tools/workflows/workflow-build-telemetry.d.ts +5 -0
  86. package/dist/tools/workflows/workflow-build-telemetry.js +15 -0
  87. package/dist/tools/workflows/workflow-build-telemetry.js.map +1 -1
  88. package/dist/tools/workflows/workflow-json-utils.d.ts +2 -0
  89. package/dist/tools/workflows/workflow-json-utils.js +46 -0
  90. package/dist/tools/workflows/workflow-json-utils.js.map +1 -1
  91. package/dist/tools/workflows/workflow-source-compiler.js +11 -7
  92. package/dist/tools/workflows/workflow-source-compiler.js.map +1 -1
  93. package/dist/tools/workflows/workflow-validation-warnings.d.ts +4 -1
  94. package/dist/tools/workflows/workflow-validation-warnings.js +3 -16
  95. package/dist/tools/workflows/workflow-validation-warnings.js.map +1 -1
  96. package/dist/tools/workflows.tool.js +3 -1
  97. package/dist/tools/workflows.tool.js.map +1 -1
  98. package/dist/types.d.ts +14 -2
  99. package/dist/types.js.map +1 -1
  100. package/dist/utils/quota-error.d.ts +2 -0
  101. package/dist/utils/quota-error.js +44 -0
  102. package/dist/utils/quota-error.js.map +1 -0
  103. package/dist/workflow-loop/workflow-loop-state.d.ts +117 -0
  104. package/dist/workflow-loop/workflow-loop-state.js +11 -1
  105. package/dist/workflow-loop/workflow-loop-state.js.map +1 -1
  106. package/dist/workspace/builder-templates-service.js +2 -4
  107. package/dist/workspace/builder-templates-service.js.map +1 -1
  108. package/dist/workspace/lazy-runtime-workspace.js +2 -2
  109. package/dist/workspace/lazy-runtime-workspace.js.map +1 -1
  110. package/dist/workspace/pack-workspace-sdk.d.ts +9 -2
  111. package/dist/workspace/pack-workspace-sdk.js +36 -13
  112. package/dist/workspace/pack-workspace-sdk.js.map +1 -1
  113. package/dist/workspace/sandbox-fs.js +2 -2
  114. package/dist/workspace/sandbox-fs.js.map +1 -1
  115. package/dist/workspace/sandbox-setup.js +29 -19
  116. package/dist/workspace/sandbox-setup.js.map +1 -1
  117. package/dist/workspace/snapshot-manager.js +2 -4
  118. package/dist/workspace/snapshot-manager.js.map +1 -1
  119. package/dist/workspace/workspace-files.js +19 -4
  120. package/dist/workspace/workspace-files.js.map +1 -1
  121. package/knowledge-base/reference/workflow-builder-guardrails.md +9 -20
  122. package/package.json +16 -16
  123. package/skills/config-evals/SKILL.md +29 -5
  124. package/skills/config-evals/references/config-eval-playbook.md +20 -9
  125. package/skills/data-table-manager/SKILL.md +12 -5
  126. package/skills/intent-recognition/SKILL.md +10 -0
  127. package/skills/n8n-docs-assistant/SKILL.md +2 -1
  128. package/skills/planning/SKILL.md +14 -3
  129. package/skills/post-build-flow/SKILL.md +3 -0
  130. package/skills/workflow-builder/SKILL.md +174 -92
  131. package/dist/tools/templates.tool.d.ts +0 -2
  132. package/dist/tools/templates.tool.js +0 -20
  133. package/dist/tools/templates.tool.js.map +0 -1
@@ -11,11 +11,20 @@ const builder_thread_id_1 = require("./builder-thread-id");
11
11
  const consume_with_hitl_1 = require("../../stream/consume-with-hitl");
12
12
  const tool_ids_1 = require("../tool-ids");
13
13
  const tracing_utils_1 = require("./tracing-utils");
14
+ const BUILDER_SUB_AGENT_ROLE = 'agent-builder';
15
+ const BUILDER_SUB_AGENT_KIND = 'agent-builder';
16
+ const BUILDER_RUN_CANCELLED_MESSAGE = 'The agent builder run was cancelled.';
17
+ function getErrorCode(error) {
18
+ if (!(0, is_record_1.isRecord)(error))
19
+ return undefined;
20
+ const code = error.code;
21
+ return typeof code === 'string' ? code : undefined;
22
+ }
14
23
  function isBuilderNotConfiguredError(error) {
15
- return (0, is_record_1.isRecord)(error) && error.code === api_types_1.BUILDER_NOT_CONFIGURED_CODE;
24
+ return getErrorCode(error) === api_types_1.BUILDER_NOT_CONFIGURED_CODE;
16
25
  }
17
26
  function isBuilderCheckpointUnavailableError(error) {
18
- return (0, is_record_1.isRecord)(error) && error.code === api_types_1.BUILDER_CHECKPOINT_UNAVAILABLE_CODE;
27
+ return getErrorCode(error) === api_types_1.BUILDER_CHECKPOINT_UNAVAILABLE_CODE;
19
28
  }
20
29
  function isFriendlyMappableBuilderError(error) {
21
30
  return isBuilderNotConfiguredError(error) || isBuilderCheckpointUnavailableError(error);
@@ -24,17 +33,6 @@ function didUpdateConfig(workSummary) {
24
33
  const mutationToolNames = new Set(api_types_1.CONFIG_MUTATION_TOOL_NAMES);
25
34
  return workSummary.toolCalls.some((call) => call.succeeded && mutationToolNames.has(call.toolName));
26
35
  }
27
- function trackConfigMutations(context, agentId, workSummary) {
28
- const mutationToolNames = new Set(api_types_1.CONFIG_MUTATION_TOOL_NAMES);
29
- for (const call of workSummary.toolCalls) {
30
- if (!call.succeeded || !mutationToolNames.has(call.toolName))
31
- continue;
32
- context.trackTelemetry?.('Builder modified agent', {
33
- thread_id: context.threadId,
34
- agent_id: agentId,
35
- });
36
- }
37
- }
38
36
  function formatWorkflowContextEnvelope(workflowContext) {
39
37
  const lines = workflowContext.map((workflow) => `- ${workflow.name} (id: ${workflow.id})${workflow.description ? `: ${workflow.description}` : ''}`);
40
38
  return [
@@ -51,7 +49,7 @@ function buildOutboundMessage(message, workflowContext) {
51
49
  }
52
50
  function builderSessionFor(context, agentId) {
53
51
  const telemetry = context.tracing?.getTelemetry?.({
54
- agentRole: 'agent-builder',
52
+ agentRole: BUILDER_SUB_AGENT_ROLE,
55
53
  functionId: 'instance-ai.subagent.agent-builder',
56
54
  executionMode: 'foreground',
57
55
  metadata: { agent_id: builderAgentIdFor(agentId), target_agent_id: agentId },
@@ -65,10 +63,11 @@ function builderSessionFor(context, agentId) {
65
63
  ...(context.tracing?.onMemoryTaskEvent
66
64
  ? { memoryTaskObserver: context.tracing.onMemoryTaskEvent }
67
65
  : {}),
66
+ abortSignal: context.abortSignal,
68
67
  };
69
68
  }
70
69
  function builderAgentIdFor(agentId) {
71
- return `agent-builder:${agentId}`;
70
+ return `${BUILDER_SUB_AGENT_ROLE}:${agentId}`;
72
71
  }
73
72
  const buildAgentInputSchema = zod_1.z.object({
74
73
  message: zod_1.z
@@ -77,18 +76,35 @@ const buildAgentInputSchema = zod_1.z.object({
77
76
  .describe('The instruction or user message to forward to the agent builder. The builder cannot ' +
78
77
  'see this chat — include every requirement, decision, and user answer already ' +
79
78
  'gathered in this conversation, not just the latest message.'),
79
+ agentRef: zod_1.z
80
+ .string()
81
+ .optional()
82
+ .describe('Short stable key you choose once for an agent in this conversation and repeat on ' +
83
+ 'every later call for that same agent (like a workflow source filePath). Prefer a ' +
84
+ 'slug of the display name. A repeated key continues that agent; a fresh key creates ' +
85
+ 'a new one only when no agent is bound yet, or alongside `createNew`. Omit on ' +
86
+ 'follow-ups for the current agent when neither switching nor creating — the active ' +
87
+ 'target is used. When omitted on a create/switch call, the key is derived from `name`.'),
80
88
  name: zod_1.z
81
89
  .string()
82
90
  .optional()
83
- .describe('Agent name. A name matching an agent already built in this conversation switches back ' +
84
- 'to that agent; a new name creates a new agent and makes it the active target. Omit on ' +
85
- 'follow-up calls for the current agent.'),
91
+ .describe('Display name for a new agent (required when creating). Also used as the addressing ' +
92
+ 'key when `agentRef` is omitted. Omit on follow-up calls for the current agent.'),
86
93
  agentId: zod_1.z
87
94
  .string()
88
95
  .optional()
89
- .describe('Existing agent id to edit — use the `agentId` returned by earlier build-agent ' +
90
- 'results. Pass to start editing that agent or to switch the active build target; ' +
91
- 'omit on follow-up calls.'),
96
+ .describe('Existing agent id to adopt — use when editing an agent that was not built in this ' +
97
+ 'conversation (e.g. from the project list). Once adopted, omit on retries and prefer ' +
98
+ '`agentRef`. NEVER pass for a request to build a NEW agent. Agents the request merely ' +
99
+ 'references — as sub-agents, delegation targets, or examples — are not the build ' +
100
+ 'target: mention them in `message` instead.'),
101
+ createNew: zod_1.z
102
+ .boolean()
103
+ .optional()
104
+ .describe('Set to true ONLY when the user explicitly wants an ADDITIONAL agent alongside the one ' +
105
+ 'this conversation is already building. Leave unset otherwise: while a target is ' +
106
+ 'bound, a fresh `agentRef`/`name` continues that agent instead of creating a second ' +
107
+ 'one, so naming the agent for the first time cannot strand it behind a duplicate.'),
92
108
  workflowContext: zod_1.z
93
109
  .array(zod_1.z.object({ id: zod_1.z.string(), name: zod_1.z.string(), description: zod_1.z.string().optional() }))
94
110
  .optional()
@@ -102,7 +118,11 @@ const buildAgentOutputSchema = zod_1.z.object({
102
118
  agentId: zod_1.z
103
119
  .string()
104
120
  .optional()
105
- .describe('Id of the agent this turn targeted. Record it and pass it as `agentId` when switching back to this agent later.'),
121
+ .describe('Id of the agent this turn targeted. Prefer `agentRef` for follow-ups in this conversation; use `agentId` when the ref is unknown.'),
122
+ agentRef: zod_1.z
123
+ .string()
124
+ .optional()
125
+ .describe('Addressing key for this agent in this conversation. Pass it back as `agentRef` on later calls for the same agent.'),
106
126
  agentName: zod_1.z.string().optional().describe('Display name of the targeted agent, when known.'),
107
127
  answers: zod_1.z
108
128
  .array(api_types_1.questionAnswerSchema)
@@ -114,7 +134,12 @@ const builderCheckpointRefSchema = zod_1.z.object({
114
134
  toolCallId: zod_1.z.string(),
115
135
  configUpdated: zod_1.z.boolean(),
116
136
  target: zod_1.z
117
- .object({ agentId: zod_1.z.string(), projectId: zod_1.z.string(), name: zod_1.z.string().optional() })
137
+ .object({
138
+ agentId: zod_1.z.string(),
139
+ projectId: zod_1.z.string(),
140
+ name: zod_1.z.string().optional(),
141
+ ref: zod_1.z.string().optional(),
142
+ })
118
143
  .optional(),
119
144
  });
120
145
  const builderSuspendPayloadSchema = zod_1.z.union([
@@ -135,9 +160,9 @@ function publishAgentSpawned(context, builderAgentId, target) {
135
160
  agentId: builderAgentId,
136
161
  payload: {
137
162
  parentId: context.orchestratorAgentId,
138
- role: 'agent-builder',
163
+ role: BUILDER_SUB_AGENT_ROLE,
139
164
  tools: [],
140
- kind: 'agent-builder',
165
+ kind: BUILDER_SUB_AGENT_KIND,
141
166
  title: 'Building agent',
142
167
  targetResource: {
143
168
  type: 'agent',
@@ -158,10 +183,18 @@ function publishAgentBuilderFailure(context, builderAgentId, error) {
158
183
  type: 'agent-completed',
159
184
  runId: context.runId,
160
185
  agentId: builderAgentId,
161
- payload: { role: 'agent-builder', result: '', error: message },
186
+ payload: { role: BUILDER_SUB_AGENT_ROLE, result: '', error: message },
162
187
  });
163
188
  return message;
164
189
  }
190
+ function publishAgentBuilderCancelled(context, builderAgentId) {
191
+ context.eventBus.publish(context.threadId, {
192
+ type: 'agent-completed',
193
+ runId: context.runId,
194
+ agentId: builderAgentId,
195
+ payload: { role: BUILDER_SUB_AGENT_ROLE, result: '', status: 'cancelled' },
196
+ });
197
+ }
165
198
  async function finishTurn(context, builderAgentId, result, carriedConfigUpdated) {
166
199
  if (result.status === 'completed') {
167
200
  const text = await result.text;
@@ -170,7 +203,7 @@ async function finishTurn(context, builderAgentId, result, carriedConfigUpdated)
170
203
  type: 'agent-completed',
171
204
  runId: context.runId,
172
205
  agentId: builderAgentId,
173
- payload: { role: 'agent-builder', result: text.slice(0, 200) },
206
+ payload: { role: BUILDER_SUB_AGENT_ROLE, result: text.slice(0, 200) },
174
207
  });
175
208
  return { ok: true, builderReply: text, configUpdated };
176
209
  }
@@ -180,19 +213,23 @@ async function finishTurn(context, builderAgentId, result, carriedConfigUpdated)
180
213
  type: 'agent-completed',
181
214
  runId: context.runId,
182
215
  agentId: builderAgentId,
183
- payload: { role: 'agent-builder', result: '', error },
216
+ payload: { role: BUILDER_SUB_AGENT_ROLE, result: '', error },
184
217
  });
185
218
  return { ok: false, error, configUpdated };
186
219
  }
187
220
  function targetIdentity(target) {
188
- return { agentId: target.agentId, ...(target.name ? { agentName: target.name } : {}) };
221
+ return {
222
+ agentId: target.agentId,
223
+ ...(target.ref ? { agentRef: target.ref } : {}),
224
+ ...(target.name ? { agentName: target.name } : {}),
225
+ };
189
226
  }
190
227
  async function runBuilderConsumeLoop(params) {
191
228
  const { context, delegate, ctx, target, builderAgentId, turn, carriedConfigUpdated, onSettled, traceInputs, dedupeBase, } = params;
192
229
  const traceRun = await (0, tracing_utils_1.startSubAgentTrace)(context, {
193
230
  agentId: builderAgentId,
194
- role: 'agent-builder',
195
- kind: 'agent-builder',
231
+ role: BUILDER_SUB_AGENT_ROLE,
232
+ kind: BUILDER_SUB_AGENT_KIND,
196
233
  metadata: { target_agent_id: target.agentId },
197
234
  ...(traceInputs !== undefined ? { inputs: traceInputs } : {}),
198
235
  });
@@ -223,7 +260,13 @@ async function runBuilderConsumeLoop(params) {
223
260
  throw error;
224
261
  }
225
262
  await onSettled?.();
226
- trackConfigMutations(context, target.agentId, result.workSummary);
263
+ if (result.status === 'cancelled') {
264
+ const cancelled = (0, agents_1.createAbortError)(BUILDER_RUN_CANCELLED_MESSAGE);
265
+ publishAgentBuilderCancelled(context, builderAgentId);
266
+ await (0, tracing_utils_1.failTraceRun)(context, traceRun, cancelled);
267
+ await context.claimSubAgentUsage?.(dedupeBase, result.usage?.usage ?? [], result.status);
268
+ throw cancelled;
269
+ }
227
270
  try {
228
271
  const freshName = await delegate.resolveAgentName(target.agentId);
229
272
  if (freshName && freshName !== target.name) {
@@ -292,6 +335,7 @@ async function runBuilderConsumeLoop(params) {
292
335
  agentId: target.agentId,
293
336
  projectId: target.projectId,
294
337
  ...(target.name ? { name: target.name } : {}),
338
+ ...(target.ref ? { ref: target.ref } : {}),
295
339
  },
296
340
  },
297
341
  });
@@ -365,77 +409,177 @@ async function handleResume(context, domainContext, delegate, ctx) {
365
409
  dedupeBase: `${context.runId}:${ctx.toolCallId ?? builderAgentId}:${ref.toolCallId}`,
366
410
  });
367
411
  }
368
- const NO_TARGET_INPUT_ERROR = 'Pass name to create a new agent or agentId to edit an existing one.';
412
+ const NO_TARGET_INPUT_ERROR = 'Pass `name` (and optionally `agentRef`) to create a new agent, `agentId` to adopt an existing one, or omit both to continue the current agent.';
413
+ const UNKNOWN_REF_ERROR = 'Unknown `agentRef`. Pass `name` to create a new agent under that key, or `agentId` to adopt an existing agent.';
369
414
  const AGENT_ID_NEEDS_PROJECT_ERROR = 'Cannot bind to agentId without an active project context. Start this conversation from within a project.';
415
+ async function resolveAgentNameSafely(delegate, agentId) {
416
+ try {
417
+ return await delegate.resolveAgentName(agentId);
418
+ }
419
+ catch {
420
+ return undefined;
421
+ }
422
+ }
423
+ async function pendingAgentIdFor(context) {
424
+ const pending = await (0, agent_target_binding_1.readPendingAgentTarget)(context);
425
+ return pending && pending.projectId === context.projectId ? pending.agentId : undefined;
426
+ }
427
+ function agentRefConflictError(ref, boundAgentId, passedAgentId) {
428
+ return (`\`agentRef\` "${ref}" is already bound to agent ${boundAgentId} in this conversation, ` +
429
+ `but \`agentId\` ${passedAgentId} was passed. Continue the bound agent (omit \`agentId\`, ` +
430
+ 'or pass its id), or pick a different `agentRef` for a new agent.');
431
+ }
370
432
  async function resolveTargetForCall(domainContext, delegate, input, boundTarget) {
433
+ const keySource = input.agentRef ?? input.name;
434
+ const key = keySource ? (0, agent_target_binding_1.normalizeAgentRef)(keySource) : undefined;
435
+ if (key) {
436
+ const sessionAgent = await (0, agent_target_binding_1.getSessionAgentByRef)(domainContext, key);
437
+ if (sessionAgent) {
438
+ if (input.agentId && input.agentId !== sessionAgent.agentId) {
439
+ return {
440
+ ok: false,
441
+ error: agentRefConflictError(key, sessionAgent.agentId, input.agentId),
442
+ };
443
+ }
444
+ const target = {
445
+ ...sessionAgent,
446
+ ref: key,
447
+ ...(input.name ? { name: input.name } : {}),
448
+ };
449
+ if (boundTarget && boundTarget.agentId === target.agentId) {
450
+ return {
451
+ ok: true,
452
+ target: { ...boundTarget, ...target },
453
+ bindAfterTurn: false,
454
+ mode: 'edit',
455
+ };
456
+ }
457
+ return { ok: true, target, bindAfterTurn: true, mode: 'edit' };
458
+ }
459
+ const boundKey = boundTarget?.ref
460
+ ? (0, agent_target_binding_1.normalizeAgentRef)(boundTarget.ref)
461
+ : boundTarget?.name
462
+ ? (0, agent_target_binding_1.normalizeAgentRef)(boundTarget.name)
463
+ : undefined;
464
+ if (boundTarget && boundKey === key) {
465
+ if (input.agentId && input.agentId !== boundTarget.agentId) {
466
+ return {
467
+ ok: false,
468
+ error: agentRefConflictError(key, boundTarget.agentId, input.agentId),
469
+ };
470
+ }
471
+ return {
472
+ ok: true,
473
+ target: { ...boundTarget, ref: key, ...(input.name ? { name: input.name } : {}) },
474
+ bindAfterTurn: false,
475
+ mode: 'edit',
476
+ };
477
+ }
478
+ if (input.agentId) {
479
+ if (boundTarget && input.agentId === boundTarget.agentId) {
480
+ return {
481
+ ok: true,
482
+ target: { ...boundTarget, ref: key, ...(input.name ? { name: input.name } : {}) },
483
+ bindAfterTurn: false,
484
+ mode: 'edit',
485
+ };
486
+ }
487
+ if (!domainContext.projectId) {
488
+ return { ok: false, error: AGENT_ID_NEEDS_PROJECT_ERROR };
489
+ }
490
+ const name = input.name ?? (await resolveAgentNameSafely(delegate, input.agentId));
491
+ return {
492
+ ok: true,
493
+ target: {
494
+ agentId: input.agentId,
495
+ projectId: domainContext.projectId,
496
+ ref: key,
497
+ ...(name ? { name } : {}),
498
+ },
499
+ bindAfterTurn: true,
500
+ mode: 'edit',
501
+ };
502
+ }
503
+ if (input.name) {
504
+ if (boundTarget && !input.createNew) {
505
+ return {
506
+ ok: true,
507
+ target: { ...boundTarget, ref: key },
508
+ bindAfterTurn: true,
509
+ mode: 'continued',
510
+ };
511
+ }
512
+ const created = await delegate.createAgent(input.name, await pendingAgentIdFor(domainContext));
513
+ const target = {
514
+ agentId: created.agentId,
515
+ projectId: created.projectId,
516
+ name: input.name,
517
+ ref: key,
518
+ };
519
+ domainContext.agentBuilderTarget = target;
520
+ await (0, agent_target_binding_1.saveAgentBuilderTarget)(domainContext, target);
521
+ return { ok: true, target, bindAfterTurn: false, mode: 'create' };
522
+ }
523
+ return { ok: false, error: UNKNOWN_REF_ERROR };
524
+ }
371
525
  if (input.agentId) {
372
526
  if (boundTarget && input.agentId === boundTarget.agentId) {
373
- return { ok: true, target: boundTarget, bindAfterTurn: false };
527
+ return { ok: true, target: boundTarget, bindAfterTurn: false, mode: 'edit' };
374
528
  }
375
529
  if (!domainContext.projectId) {
376
530
  return { ok: false, error: AGENT_ID_NEEDS_PROJECT_ERROR };
377
531
  }
378
- let name;
379
- try {
380
- name = await delegate.resolveAgentName(input.agentId);
381
- }
382
- catch {
383
- name = undefined;
384
- }
532
+ const name = await resolveAgentNameSafely(delegate, input.agentId);
385
533
  return {
386
534
  ok: true,
387
535
  target: {
388
536
  agentId: input.agentId,
389
537
  projectId: domainContext.projectId,
390
- ...(name ? { name } : {}),
538
+ ...(name ? { name, ref: (0, agent_target_binding_1.normalizeAgentRef)(name) } : {}),
391
539
  },
392
540
  bindAfterTurn: true,
541
+ mode: 'edit',
393
542
  };
394
543
  }
395
- if (input.name) {
396
- if (boundTarget && (0, agent_target_binding_1.agentNamesMatch)(input.name, boundTarget.name)) {
397
- return { ok: true, target: boundTarget, bindAfterTurn: false };
398
- }
399
- const sessionAgent = await (0, agent_target_binding_1.findSessionAgentByName)(domainContext, input.name);
400
- if (sessionAgent) {
401
- return { ok: true, target: sessionAgent, bindAfterTurn: true };
402
- }
403
- const created = await delegate.createAgent(input.name);
404
- const target = {
405
- agentId: created.agentId,
406
- projectId: created.projectId,
407
- name: input.name,
408
- };
409
- domainContext.agentBuilderTarget = target;
410
- await (0, agent_target_binding_1.saveAgentBuilderTarget)(domainContext, target);
411
- return { ok: true, target, bindAfterTurn: false };
544
+ if (boundTarget) {
545
+ return { ok: true, target: boundTarget, bindAfterTurn: false, mode: 'edit' };
412
546
  }
413
- if (boundTarget)
414
- return { ok: true, target: boundTarget, bindAfterTurn: false };
415
547
  return { ok: false, error: NO_TARGET_INPUT_ERROR };
416
548
  }
417
549
  function createBuildAgentTool(context) {
418
550
  return new agents_1.Tool(tool_ids_1.ORCHESTRATION_TOOL_IDS.BUILD_AGENT)
419
- .description('Delegate agent building to the agents-module builder, running as a sub-agent. ' +
420
- 'Pass `name` to start a new agent or `agentId` to edit an existing one; calls ' +
421
- 'without either keep editing the current agent. To build ANOTHER agent in the same ' +
422
- 'conversation, pass its `name` or `agentId` a name matching an agent already built ' +
423
- 'in this conversation switches back to it; an unmatched name creates a new agent and ' +
424
- 'switches the active target. The builder can also publish or unpublish the target ' +
551
+ .description('Builds and edits n8n **Agent** artifacts only (instructions, model, tools, skills, ' +
552
+ 'tasks, integrations, sub-agents) by delegating to the agents-module builder. It is ' +
553
+ 'only for that purpose. When the request is workflow-anchored (via the intent gate / ' +
554
+ '`intent-recognition`), stay on the `workflow-builder` path and do not call this tool ' +
555
+ 'at all not to inspect nodes, not to list workflows, and not to compile custom ' +
556
+ 'tools. If a workflow build seems to need a utility tool the workspace does not ' +
557
+ 'provide, ask the user or use a placeholder; do not route around that by calling ' +
558
+ '`build-agent`. ' +
559
+ 'Address agents in this conversation with `agentRef` (a short stable key you choose, ' +
560
+ 'like a workflow `filePath`). Pass `name` with a fresh key to create the first agent; ' +
561
+ 'repeat the same key to continue. Calls with neither key nor `agentId` keep editing ' +
562
+ 'the current agent, and so does a fresh key once an agent is bound — naming an agent ' +
563
+ 'never silently creates a second one. To build ANOTHER agent in the same ' +
564
+ 'conversation, pass `createNew: true` with a different `agentRef` and `name`. To edit ' +
565
+ 'an agent that was not built here, pass `agentId` (optionally with `agentRef`) once ' +
566
+ 'to adopt it. The builder can also publish or unpublish the target ' +
425
567
  'agent when the user asks to publish, activate, make it live/usable, or unpublish — ' +
426
568
  'forward that intent in `message`; never tell the user to open the agent editor and ' +
427
569
  'click Publish. When the builder needs user input (a choice, a ' +
428
570
  'credential, or a chat channel), it surfaces automatically as an interactive card in ' +
429
571
  'this chat — do not relay those questions yourself; this tool call resumes with the ' +
430
572
  'user’s answer and returns the builder’s reply. Returns the builder’s reply, the ' +
431
- 'target `agentId`, and whether it updated the agent config. Record the returned ' +
432
- '`agentId` and prefer passing it as `agentId` when switching back to that agent' +
433
- 'the `name` path is a fallback for when the id is unknown.')
573
+ 'target `agentRef`/`agentId`, and whether it updated the agent config. Prefer the ' +
574
+ 'returned `agentRef` on later calls for that agent.')
434
575
  .input(buildAgentInputSchema)
435
576
  .output(buildAgentOutputSchema)
436
577
  .suspend(buildAgentSuspendSchema)
437
578
  .resume(buildAgentResumeSchema)
438
579
  .handler(async (input, ctx) => {
580
+ if (context.abortSignal.aborted) {
581
+ throw (0, agents_1.createAbortError)(BUILDER_RUN_CANCELLED_MESSAGE);
582
+ }
439
583
  const domainContext = context.domainContext;
440
584
  const delegate = domainContext?.builderDelegate;
441
585
  if (!domainContext || !delegate) {
@@ -449,8 +593,21 @@ function createBuildAgentTool(context) {
449
593
  const existingTarget = await (0, agent_target_binding_1.resolveAgentBuilderTarget)(domainContext);
450
594
  const resolution = await resolveTargetForCall(domainContext, delegate, input, existingTarget);
451
595
  if (!resolution.ok) {
596
+ context.trackTelemetry?.('instance_ai_agent_build_route', {
597
+ thread_id: context.threadId,
598
+ run_id: context.runId,
599
+ user_id: context.userId,
600
+ mode: 'resolution_failed',
601
+ });
452
602
  return { ok: false, error: resolution.error };
453
603
  }
604
+ context.trackTelemetry?.('instance_ai_agent_build_route', {
605
+ thread_id: context.threadId,
606
+ run_id: context.runId,
607
+ user_id: context.userId,
608
+ mode: resolution.mode,
609
+ agent_id: resolution.target.agentId,
610
+ });
454
611
  const boundTarget = resolution.target;
455
612
  const bindAfterTurn = resolution.bindAfterTurn;
456
613
  const session = builderSessionFor(context, boundTarget.agentId);
@@ -1 +1 @@
1
- {"version":3,"file":"build-agent.tool.js","sourceRoot":"","sources":["../../../src/tools/orchestration/build-agent.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build-agent.tool.js","sourceRoot":"","sources":["../../../src/tools/orchestration/build-agent.tool.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,10 @@ import type { RemediationMetadata, WorkflowBuildOutcome, WorkflowLoopState } fro
3
3
  type ExecutionNodeError = NonNullable<ExecutionRunResult['nodeErrors']>[number];
4
4
  export declare function buildNodePreviews(resultData: Record<string, unknown> | undefined, maxChars: number, simulatedNodeNames?: ReadonlySet<string>): VerificationNodePreview[];
5
5
  export declare function countProducedOutputRows(resultData: Record<string, unknown> | undefined): number | undefined;
6
+ export declare function buildSimulationNote(reachedSimulatedNodes: Array<{
7
+ nodeName: string;
8
+ reason: string;
9
+ }>, planMissing: boolean): string | undefined;
6
10
  export declare function namesOrDataKeys(reachedNames: Set<string>, data: Record<string, unknown> | undefined): string[] | undefined;
7
11
  export interface VerificationAnalysis {
8
12
  success: boolean;
@@ -26,6 +30,7 @@ export declare function analyzeVerificationResult(args: {
26
30
  nodeName: string;
27
31
  reason: string;
28
32
  }>;
33
+ haltedGateNames?: string[];
29
34
  stateBefore: WorkflowLoopState | undefined;
30
35
  runId: string;
31
36
  }): VerificationAnalysis;
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.buildNodePreviews = buildNodePreviews;
4
4
  exports.countProducedOutputRows = countProducedOutputRows;
5
+ exports.buildSimulationNote = buildSimulationNote;
5
6
  exports.namesOrDataKeys = namesOrDataKeys;
6
7
  exports.analyzeVerificationResult = analyzeVerificationResult;
7
8
  const is_record_1 = require("@n8n/utils/is-record");
@@ -185,9 +186,19 @@ function buildSimulationNote(reachedSimulatedNodes, planMissing) {
185
186
  }
186
187
  return undefined;
187
188
  }
188
- function buildCoverageNote(nodesNotReached, result, success) {
189
+ function buildCoverageNote(nodesNotReached, result, success, reachedHaltedGates) {
189
190
  if (nodesNotReached.length === 0)
190
191
  return undefined;
192
+ if (success && reachedHaltedGates.length > 0) {
193
+ return (`Verification pauses at wait gate(s) ${reachedHaltedGates.join(', ')} — in a live run the ` +
194
+ 'workflow stops there (for a human response or a wait condition), so execution past the ' +
195
+ `gate is not simulated. ${nodesNotReached.length} planned node(s) were not reached: ` +
196
+ `${nodesNotReached.join(', ')}. Nodes behind the gate are expected to be unreached — do ` +
197
+ 'not edit the workflow or re-run verification to force coverage there; recommend a live ' +
198
+ 'end-to-end test instead. Any unreached node NOT behind the gate did not receive input ' +
199
+ 'items (usually an empty lookup or query) — seed matching test data and re-run before ' +
200
+ 'treating it as verified.');
201
+ }
191
202
  const ending = result.lastNodeExecuted
192
203
  ? `. Execution ended at "${result.lastNodeExecuted}"${success ? ' because it produced no output items (empty item lists stop downstream nodes)' : ''}.`
193
204
  : '.';
@@ -217,7 +228,7 @@ function namesOrDataKeys(reachedNames, data) {
217
228
  return data ? Object.keys(data) : undefined;
218
229
  }
219
230
  function analyzeVerificationResult(args) {
220
- const { result, buildOutcome, simulatedNodes, stateBefore, runId } = args;
231
+ const { result, buildOutcome, simulatedNodes, haltedGateNames, stateBefore, runId } = args;
221
232
  const nodeErrors = result.nodeErrors ?? [];
222
233
  const reachedNames = new Set(result.executedNodeNames ?? (result.data ? Object.keys(result.data) : []));
223
234
  const reachedSimulatedNodes = simulatedNodes.filter((n) => reachedNames.has(n.nodeName));
@@ -245,7 +256,7 @@ function analyzeVerificationResult(args) {
245
256
  remediation,
246
257
  nodesExecuted: namesOrDataKeys(reachedNames, result.data),
247
258
  simulationNote: buildSimulationNote(reachedSimulatedNodes, false),
248
- coverageNote: buildCoverageNote(nodesNotReached, result, success),
259
+ coverageNote: buildCoverageNote(nodesNotReached, result, success, (haltedGateNames ?? []).filter((name) => reachedNames.has(name))),
249
260
  errorMessage,
250
261
  nodeErrors,
251
262
  };