@n8n/instance-ai 1.13.2 → 1.14.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 (118) hide show
  1. package/dist/agent/apply-agent-thinking.js +24 -19
  2. package/dist/agent/apply-agent-thinking.js.map +1 -1
  3. package/dist/agent/computer-use-prompt.js +5 -6
  4. package/dist/agent/computer-use-prompt.js.map +1 -1
  5. package/dist/agent/shared-prompts.d.ts +1 -1
  6. package/dist/agent/shared-prompts.js +1 -1
  7. package/dist/agent/shared-prompts.js.map +1 -1
  8. package/dist/agent/sub-agent-factory.d.ts +1 -1
  9. package/dist/agent/system-prompt.js +20 -3
  10. package/dist/agent/system-prompt.js.map +1 -1
  11. package/dist/build.tsbuildinfo +1 -1
  12. package/dist/index.d.ts +4 -0
  13. package/dist/index.js +7 -1
  14. package/dist/index.js.map +1 -1
  15. package/dist/runtime/orchestrator-identity.d.ts +1 -0
  16. package/dist/runtime/orchestrator-identity.js +7 -0
  17. package/dist/runtime/orchestrator-identity.js.map +1 -0
  18. package/dist/runtime/orchestrator-run-control.d.ts +16 -0
  19. package/dist/runtime/orchestrator-run-control.js +26 -0
  20. package/dist/runtime/orchestrator-run-control.js.map +1 -0
  21. package/dist/runtime/resumable-stream-executor.d.ts +3 -0
  22. package/dist/runtime/resumable-stream-executor.js +26 -0
  23. package/dist/runtime/resumable-stream-executor.js.map +1 -1
  24. package/dist/runtime/run-state-registry.d.ts +4 -0
  25. package/dist/runtime/run-state-registry.js.map +1 -1
  26. package/dist/runtime/stream-runner.d.ts +3 -0
  27. package/dist/runtime/stream-runner.js +2 -0
  28. package/dist/runtime/stream-runner.js.map +1 -1
  29. package/dist/storage/terminal-outcome-storage.d.ts +2 -2
  30. package/dist/storage/workflow-loop-storage.d.ts +5 -0
  31. package/dist/tools/executions.tool.js +2 -1
  32. package/dist/tools/executions.tool.js.map +1 -1
  33. package/dist/tools/index.js +3 -0
  34. package/dist/tools/index.js.map +1 -1
  35. package/dist/tools/n8n-docs/ranking.d.ts +12 -0
  36. package/dist/tools/n8n-docs/ranking.js +170 -0
  37. package/dist/tools/n8n-docs/ranking.js.map +1 -0
  38. package/dist/tools/n8n-docs/registry.d.ts +34 -0
  39. package/dist/tools/n8n-docs/registry.js +216 -0
  40. package/dist/tools/n8n-docs/registry.js.map +1 -0
  41. package/dist/tools/n8n-docs/schemas.d.ts +163 -0
  42. package/dist/tools/n8n-docs/schemas.js +89 -0
  43. package/dist/tools/n8n-docs/schemas.js.map +1 -0
  44. package/dist/tools/n8n-docs.tool.d.ts +7 -0
  45. package/dist/tools/n8n-docs.tool.js +147 -0
  46. package/dist/tools/n8n-docs.tool.js.map +1 -0
  47. package/dist/tools/nodes/suggested-nodes-data.js +1 -4
  48. package/dist/tools/nodes/suggested-nodes-data.js.map +1 -1
  49. package/dist/tools/orchestration/plan.tool.js +1 -0
  50. package/dist/tools/orchestration/plan.tool.js.map +1 -1
  51. package/dist/tools/orchestration/verification/analyze-result.d.ts +28 -0
  52. package/dist/tools/orchestration/verification/analyze-result.js +238 -0
  53. package/dist/tools/orchestration/verification/analyze-result.js.map +1 -0
  54. package/dist/tools/orchestration/verification/finalize-result.d.ts +18 -0
  55. package/dist/tools/orchestration/verification/finalize-result.js +137 -0
  56. package/dist/tools/orchestration/verification/finalize-result.js.map +1 -0
  57. package/dist/tools/orchestration/verification/prepare-run.d.ts +16 -0
  58. package/dist/tools/orchestration/verification/prepare-run.js +58 -0
  59. package/dist/tools/orchestration/verification/prepare-run.js.map +1 -0
  60. package/dist/tools/orchestration/verification/resolve-target.d.ts +18 -0
  61. package/dist/tools/orchestration/verification/resolve-target.js +113 -0
  62. package/dist/tools/orchestration/verification/resolve-target.js.map +1 -0
  63. package/dist/tools/orchestration/verification/types.d.ts +44 -0
  64. package/dist/tools/orchestration/verification/types.js +3 -0
  65. package/dist/tools/orchestration/verification/types.js.map +1 -0
  66. package/dist/tools/orchestration/verify-built-workflow.tool.d.ts +6 -3
  67. package/dist/tools/orchestration/verify-built-workflow.tool.js +70 -448
  68. package/dist/tools/orchestration/verify-built-workflow.tool.js.map +1 -1
  69. package/dist/tools/shared/ask-user.tool.d.ts +4 -4
  70. package/dist/tools/shared/ask-user.tool.js +6 -0
  71. package/dist/tools/shared/ask-user.tool.js.map +1 -1
  72. package/dist/tools/tool-ids.d.ts +2 -0
  73. package/dist/tools/tool-ids.js +4 -1
  74. package/dist/tools/tool-ids.js.map +1 -1
  75. package/dist/tools/workflows/build-workflow.tool.js +4 -0
  76. package/dist/tools/workflows/build-workflow.tool.js.map +1 -1
  77. package/dist/tools/workflows/detect-array-input-collapse.d.ts +3 -0
  78. package/dist/tools/workflows/detect-array-input-collapse.js +76 -0
  79. package/dist/tools/workflows/detect-array-input-collapse.js.map +1 -0
  80. package/dist/tools/workflows/generate-simulation-fixtures.service.js +1 -1
  81. package/dist/tools/workflows/generate-simulation-fixtures.service.js.map +1 -1
  82. package/dist/tools/workflows/setup-workflow.schema.d.ts +26 -26
  83. package/dist/tools/workflows/setup-workflow.service.d.ts +1 -1
  84. package/dist/tools/workflows/setup-workflow.service.js +24 -1
  85. package/dist/tools/workflows/setup-workflow.service.js.map +1 -1
  86. package/dist/tools/workflows/workflow-build-routing.d.ts +5 -1
  87. package/dist/tools/workflows/workflow-build-routing.js +9 -1
  88. package/dist/tools/workflows/workflow-build-routing.js.map +1 -1
  89. package/dist/tools/workflows/workflow-json-utils.d.ts +1 -0
  90. package/dist/tools/workflows/workflow-json-utils.js +95 -0
  91. package/dist/tools/workflows/workflow-json-utils.js.map +1 -1
  92. package/dist/tools/workflows/workflow-source-compiler.js +2 -0
  93. package/dist/tools/workflows/workflow-source-compiler.js.map +1 -1
  94. package/dist/tools/workflows.tool.js +1 -1
  95. package/dist/tools/workflows.tool.js.map +1 -1
  96. package/dist/types.d.ts +4 -5
  97. package/dist/types.js.map +1 -1
  98. package/dist/workflow-loop/guidance.js +4 -2
  99. package/dist/workflow-loop/guidance.js.map +1 -1
  100. package/dist/workflow-loop/remediation.d.ts +1 -0
  101. package/dist/workflow-loop/remediation.js +2 -1
  102. package/dist/workflow-loop/remediation.js.map +1 -1
  103. package/dist/workflow-loop/verification-obligation.js +10 -0
  104. package/dist/workflow-loop/verification-obligation.js.map +1 -1
  105. package/dist/workflow-loop/workflow-loop-state.d.ts +3 -0
  106. package/dist/workflow-loop/workflow-loop-state.js +1 -0
  107. package/dist/workflow-loop/workflow-loop-state.js.map +1 -1
  108. package/dist/workflow-loop/workflow-task-service.d.ts +1 -0
  109. package/dist/workflow-loop/workflow-task-service.js +13 -0
  110. package/dist/workflow-loop/workflow-task-service.js.map +1 -1
  111. package/package.json +16 -15
  112. package/skills/data-table-manager/SKILL.md +21 -0
  113. package/skills/data-table-manager/references/data-table-playbook.md +9 -0
  114. package/skills/debugging-executions/SKILL.md +15 -2
  115. package/skills/n8n-docs-assistant/SKILL.md +49 -0
  116. package/skills/planned-task-runtime/SKILL.md +4 -2
  117. package/skills/post-build-flow/SKILL.md +51 -5
  118. package/skills/workflow-builder/SKILL.md +65 -12
@@ -3,125 +3,27 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.verifyBuiltWorkflowInputSchema = void 0;
4
4
  exports.createVerifyBuiltWorkflowTool = createVerifyBuiltWorkflowTool;
5
5
  const agents_1 = require("@n8n/agents");
6
- const utils_1 = require("@n8n/utils");
7
6
  const zod_1 = require("zod");
8
- const remediation_1 = require("../../workflow-loop/remediation");
7
+ const analyze_result_1 = require("./verification/analyze-result");
8
+ const finalize_result_1 = require("./verification/finalize-result");
9
+ const prepare_run_1 = require("./verification/prepare-run");
10
+ const resolve_target_1 = require("./verification/resolve-target");
9
11
  const DEFAULT_NODE_PREVIEW_CHARS = 600;
10
- function stringifyForToolOutput(value) {
11
- if (typeof value === 'string')
12
- return value;
13
- try {
14
- return JSON.stringify(value) ?? String(value);
15
- }
16
- catch {
17
- return String(value);
18
- }
19
- }
20
- function unwrapUntrustedData(value) {
21
- const match = /^<untrusted_data\b[^>]*>\n([\s\S]*)\n<\/untrusted_data>$/i.exec(value);
22
- if (!match)
23
- return value;
24
- const content = match[1];
25
- if (content === undefined)
26
- return value;
27
- try {
28
- const parsed = JSON.parse(content);
29
- return parsed;
30
- }
31
- catch {
32
- return value;
33
- }
34
- }
35
- function outputForInspection(nodeOutput) {
36
- return typeof nodeOutput === 'string' ? unwrapUntrustedData(nodeOutput) : nodeOutput;
37
- }
38
- function getCountFromMetadata(value) {
39
- if (!(0, utils_1.isRecord)(value))
40
- return undefined;
41
- for (const key of ['totalItems', '_itemCount']) {
42
- const count = value[key];
43
- if (typeof count === 'number' && Number.isFinite(count) && count >= 0) {
44
- return count;
45
- }
46
- }
47
- return undefined;
48
- }
49
- function countOutputItems(nodeOutput) {
50
- const output = outputForInspection(nodeOutput);
51
- if (Array.isArray(output))
52
- return output.length;
53
- const metadataCount = getCountFromMetadata(output);
54
- if (metadataCount !== undefined)
55
- return metadataCount;
56
- if (output === undefined || output === null)
57
- return 0;
58
- return 1;
59
- }
60
- function previewValue(value, maxChars) {
61
- const serialized = stringifyForToolOutput(value);
62
- if (maxChars <= 0) {
63
- return { preview: '', truncated: serialized.length > 0 };
64
- }
65
- if (serialized.length <= maxChars) {
66
- return { preview: serialized, truncated: false };
67
- }
68
- return { preview: `${serialized.slice(0, maxChars)}...`, truncated: true };
69
- }
70
- function buildNodePreviews(resultData, maxChars, simulatedNodeNames) {
71
- if (!resultData)
72
- return [];
73
- return Object.entries(resultData).map(([nodeName, nodeOutput]) => {
74
- const serialized = stringifyForToolOutput(nodeOutput);
75
- const preview = previewValue(nodeOutput, maxChars);
76
- return {
77
- nodeName,
78
- itemCount: countOutputItems(nodeOutput),
79
- preview: preview.preview,
80
- truncated: preview.truncated,
81
- chars: serialized.length,
82
- ...(simulatedNodeNames?.has(nodeName) ? { simulated: true } : {}),
83
- };
84
- });
85
- }
86
- function buildVerificationPinData(buildOutcome) {
87
- const merged = { ...(buildOutcome.verificationPinData ?? {}) };
88
- const fixtures = buildOutcome.simulationFixtures ?? {};
89
- const simulatedNodes = [];
90
- for (const verdict of buildOutcome.nodeSimulationPlan ?? []) {
91
- if (verdict.verdict !== 'simulate')
92
- continue;
93
- simulatedNodes.push({ nodeName: verdict.nodeName, reason: verdict.reason });
94
- const items = fixtures[verdict.nodeName];
95
- merged[verdict.nodeName] = items?.length ? items : [{}];
96
- }
97
- return {
98
- pinData: Object.keys(merged).length > 0 ? merged : undefined,
99
- simulatedNodes,
100
- };
101
- }
102
- function countProducedOutputRows(resultData) {
103
- if (!resultData)
104
- return undefined;
105
- let count = 0;
106
- for (const nodeOutput of Object.values(resultData)) {
107
- const itemCount = countOutputItems(nodeOutput);
108
- if (itemCount !== undefined)
109
- count += itemCount;
110
- }
111
- return count;
112
- }
113
12
  exports.verifyBuiltWorkflowInputSchema = zod_1.z.object({
114
- workItemId: zod_1.z.string().describe('The work item ID from the build (wi_XXXXXXXX)'),
13
+ workItemId: zod_1.z
14
+ .string()
15
+ .optional()
16
+ .describe('The work item ID from the build (wi_XXXXXXXX). Optional for follow-up verification; when omitted, the latest build outcome for workflowId in this thread is used.'),
115
17
  workflowId: zod_1.z.string().describe('The workflow ID to verify'),
116
18
  inputData: zod_1.z
117
19
  .record(zod_1.z.unknown())
118
20
  .optional()
119
21
  .describe("Input data for the workflow trigger. Shape MUST match the trigger's real-world output: " +
120
- 'Form Trigger flat field map like {name: "Alice", email: "a@b.c"} (do NOT wrap in formFields); ' +
121
- 'Webhook the body payload like {event: "signup", userId: "..."} (adapter wraps it under body); ' +
122
- 'Chat Trigger {chatInput: "user message"}; ' +
123
- 'Schedule Trigger omit inputData. ' +
124
- "If you wrap a form payload in {formFields: {...}} the adapter will reject the call the builder's " +
22
+ 'Form Trigger -> flat field map like {name: "Alice", email: "a@b.c"} (do NOT wrap in formFields); ' +
23
+ 'Webhook -> the body payload like {event: "signup", userId: "..."} (adapter wraps it under body); ' +
24
+ 'Chat Trigger -> {chatInput: "user message"}; ' +
25
+ 'Schedule Trigger -> omit inputData. ' +
26
+ "If you wrap a form payload in {formFields: {...}} the adapter will reject the call; the builder's " +
125
27
  'downstream expressions reference $json.<field>, matching the flat production shape.'),
126
28
  timeout: zod_1.z
127
29
  .number()
@@ -141,6 +43,10 @@ exports.verifyBuiltWorkflowInputSchema = zod_1.z.object({
141
43
  .max(20_000)
142
44
  .optional()
143
45
  .describe('Max characters per node preview in the compact response (default 600).'),
46
+ fixtureOverrides: zod_1.z
47
+ .record(zod_1.z.array(zod_1.z.record(zod_1.z.unknown())))
48
+ .optional()
49
+ .describe('Optional per-run output fixtures keyed by node name. Only nodes already classified as simulated in the build outcome may be overridden. Use this for alternate deterministic scenarios, not raw trigger input.'),
144
50
  });
145
51
  const remediationOutputSchema = zod_1.z
146
52
  .object({
@@ -152,74 +58,8 @@ const remediationOutputSchema = zod_1.z
152
58
  attemptCount: zod_1.z.number().int().min(0).optional(),
153
59
  })
154
60
  .optional();
155
- const CREDENTIAL_FAILURE_KEYWORDS = [
156
- 'credential',
157
- 'unauthorized',
158
- 'forbidden',
159
- '401',
160
- '403',
161
- 'free tier',
162
- 'quota',
163
- ];
164
- const TRANSIENT_FAILURE_KEYWORDS = ['429', 'rate limit', '502', 'bad gateway', 'timed out'];
165
- function messageMatchesAny(normalized, keywords) {
166
- return keywords.some((keyword) => normalized.includes(keyword));
167
- }
168
- function classifyVerificationFailure(error, status, buildOutcome) {
169
- if (status === 'waiting') {
170
- const hasSimulationPlan = (buildOutcome.nodeSimulationPlan?.length ?? 0) > 0;
171
- return (0, remediation_1.createRemediation)({
172
- category: 'needs_setup',
173
- shouldEdit: false,
174
- reason: hasSimulationPlan ? 'unsimulated_user_action_node' : 'execution_waiting',
175
- guidance: hasSimulationPlan
176
- ? 'Verification paused on a node that waits for user action and was not simulated — ' +
177
- 'nodes downstream of it were not verified. This is not a workflow bug: do not edit ' +
178
- 'the code. Report to the user which node paused and that the rest of the workflow ' +
179
- 'needs a manual test.'
180
- : 'Workflow verification is waiting for user action or setup. Stop code edits and ask the user to complete setup.',
181
- });
182
- }
183
- const normalized = (error ?? '').toLowerCase();
184
- const mockedCredentialTypeCount = buildOutcome.mockedCredentialTypes?.length ?? 0;
185
- const mockedNodeCount = buildOutcome.mockedNodeNames?.length ?? 0;
186
- const hasMockedCredentialContext = Boolean(mockedCredentialTypeCount > 0 || mockedNodeCount > 0);
187
- if ((0, utils_1.isPlaceholderValue)(error)) {
188
- return (0, remediation_1.createRemediation)({
189
- category: 'needs_setup',
190
- shouldEdit: false,
191
- reason: 'mocked_credentials_or_placeholders',
192
- guidance: 'Workflow verification reached an unresolved setup value. Stop code edits and route to workflows(action="setup").',
193
- });
194
- }
195
- if (messageMatchesAny(normalized, CREDENTIAL_FAILURE_KEYWORDS)) {
196
- return (0, remediation_1.createRemediation)({
197
- category: 'needs_setup',
198
- shouldEdit: false,
199
- reason: hasMockedCredentialContext
200
- ? 'mocked_credentials_or_placeholders'
201
- : 'credential_or_setup_failure',
202
- guidance: hasMockedCredentialContext
203
- ? 'Workflow submitted successfully, but verification is blocked by mocked credentials. Stop code edits and route to workflows(action="setup").'
204
- : 'Workflow submitted successfully, but verification requires credential or account setup. Stop code edits and route to workflows(action="setup").',
205
- });
206
- }
207
- if (messageMatchesAny(normalized, TRANSIENT_FAILURE_KEYWORDS)) {
208
- return (0, remediation_1.createRemediation)({
209
- category: 'blocked',
210
- shouldEdit: false,
211
- reason: 'external_service_or_timeout',
212
- guidance: 'Workflow submitted successfully, but verification is blocked by an external service or timeout. Stop code edits and explain the blocker to the user.',
213
- });
214
- }
215
- return (0, remediation_1.createRemediation)({
216
- category: 'code_fixable',
217
- shouldEdit: true,
218
- reason: 'runtime_failure',
219
- guidance: 'Verification found a workflow runtime failure. Diagnose it and apply one batched workflow-code repair if the guard allows it.',
220
- });
221
- }
222
61
  const verifyBuiltWorkflowOutputSchema = zod_1.z.object({
62
+ resolvedWorkItemId: zod_1.z.string().optional(),
223
63
  executionId: zod_1.z.string().optional(),
224
64
  success: zod_1.z.boolean(),
225
65
  status: zod_1.z.enum(['running', 'success', 'error', 'waiting', 'unknown']).optional(),
@@ -244,217 +84,6 @@ const verifyBuiltWorkflowOutputSchema = zod_1.z.object({
244
84
  remediation: remediationOutputSchema,
245
85
  guidance: zod_1.z.string().optional(),
246
86
  });
247
- function namesOrDataKeys(reachedNames, data) {
248
- if (reachedNames.size > 0)
249
- return [...reachedNames];
250
- return data ? Object.keys(data) : undefined;
251
- }
252
- async function resolveVerifyPreconditions(input, context) {
253
- if (!context.workflowTaskService || !context.domainContext) {
254
- const remediation = (0, remediation_1.createRemediation)({
255
- category: 'blocked',
256
- shouldEdit: false,
257
- reason: 'verification_support_unavailable',
258
- guidance: 'Verification support is not available. Stop code edits and explain the blocker.',
259
- });
260
- return {
261
- result: { success: false, error: 'Verification support not available.', remediation },
262
- };
263
- }
264
- const stateBefore = await context.workflowTaskService.getWorkflowLoopState(input.workItemId);
265
- const terminalRemediation = stateBefore?.lastRemediation && !stateBefore.lastRemediation.shouldEdit
266
- ? (0, remediation_1.terminalRemediationFromState)(stateBefore, context.runId)
267
- : undefined;
268
- if (terminalRemediation) {
269
- return {
270
- result: {
271
- success: false,
272
- error: terminalRemediation.guidance,
273
- remediation: terminalRemediation,
274
- guidance: terminalRemediation.guidance,
275
- },
276
- };
277
- }
278
- const buildOutcome = await context.workflowTaskService.getBuildOutcome(input.workItemId);
279
- if (!buildOutcome) {
280
- const remediation = (0, remediation_1.createRemediation)({
281
- category: 'blocked',
282
- shouldEdit: false,
283
- reason: 'missing_build_outcome',
284
- guidance: `No build outcome found for work item ${input.workItemId}. Stop code edits and explain the blocker.`,
285
- });
286
- return {
287
- result: {
288
- success: false,
289
- error: `No build outcome found for work item ${input.workItemId}.`,
290
- remediation,
291
- guidance: remediation.guidance,
292
- },
293
- };
294
- }
295
- if (!buildOutcome.workflowId) {
296
- return {
297
- result: {
298
- success: false,
299
- error: `Build outcome ${input.workItemId} does not include a workflow ID.`,
300
- },
301
- };
302
- }
303
- if (buildOutcome.workflowId !== input.workflowId) {
304
- return {
305
- result: {
306
- success: false,
307
- error: `Build outcome ${input.workItemId} belongs to workflow ${buildOutcome.workflowId}, ` +
308
- `but verification was requested for workflow ${input.workflowId}.`,
309
- },
310
- };
311
- }
312
- return {
313
- buildOutcome,
314
- workflowId: buildOutcome.workflowId,
315
- stateBefore,
316
- workflowTaskService: context.workflowTaskService,
317
- domainContext: context.domainContext,
318
- };
319
- }
320
- async function handleMissingSimulationPlan(input, context, workflowTaskService, workflowId) {
321
- const guidance = 'Verification was not run because the build outcome has no simulation plan. ' +
322
- 'Rebuild or resubmit the workflow so destructive nodes can be classified before verification.';
323
- const remediation = (0, remediation_1.createRemediation)({
324
- category: 'blocked',
325
- shouldEdit: false,
326
- reason: 'missing_simulation_plan',
327
- guidance,
328
- });
329
- context.logger.warn('verify-built-workflow: build outcome has no simulation plan — refusing to run without simulation safeguards', { workItemId: input.workItemId, workflowId });
330
- try {
331
- await workflowTaskService.updateBuildOutcome(input.workItemId, {
332
- remediation,
333
- verification: {
334
- attempted: true,
335
- success: false,
336
- status: 'unknown',
337
- failureSignature: 'missing_simulation_plan',
338
- evidence: { errorMessage: guidance },
339
- verifiedAt: new Date().toISOString(),
340
- },
341
- });
342
- }
343
- catch {
344
- }
345
- try {
346
- await workflowTaskService.reportVerificationVerdict({
347
- workItemId: input.workItemId,
348
- runId: context.runId,
349
- workflowId,
350
- verdict: 'failed_terminal',
351
- failureSignature: 'missing_simulation_plan',
352
- diagnosis: guidance,
353
- remediation,
354
- summary: guidance,
355
- });
356
- }
357
- catch (error) {
358
- context.logger.warn('verify-built-workflow: failed to persist terminal verdict', {
359
- workItemId: input.workItemId,
360
- workflowId,
361
- error: error instanceof Error ? error.message : String(error),
362
- });
363
- }
364
- return { success: false, status: 'unknown', error: guidance, remediation, guidance };
365
- }
366
- async function persistVerificationRecord(input, workflowTaskService, args) {
367
- const { success, result, reachedNames, nodesNotReached } = args;
368
- try {
369
- const executedForEvidence = namesOrDataKeys(reachedNames, result.data);
370
- await workflowTaskService.updateBuildOutcome(input.workItemId, {
371
- verification: {
372
- attempted: true,
373
- success,
374
- executionId: result.executionId || undefined,
375
- status: result.status,
376
- failureSignature: success ? undefined : result.error,
377
- evidence: {
378
- nodesExecuted: executedForEvidence && executedForEvidence.length > 0 ? executedForEvidence : undefined,
379
- nodesNotReached: nodesNotReached.length > 0 ? nodesNotReached : undefined,
380
- producedOutputRows: countProducedOutputRows(result.data),
381
- errorMessage: success ? undefined : result.error,
382
- },
383
- verifiedAt: new Date().toISOString(),
384
- },
385
- });
386
- }
387
- catch {
388
- }
389
- }
390
- async function reportTerminalRemediation(input, context, workflowTaskService, args) {
391
- const { remediation, workflowId, executionId } = args;
392
- try {
393
- await workflowTaskService.reportVerificationVerdict({
394
- workItemId: input.workItemId,
395
- runId: context.runId,
396
- workflowId,
397
- executionId,
398
- verdict: remediation.category === 'needs_setup' ? 'needs_user_input' : 'failed_terminal',
399
- failureSignature: remediation.reason,
400
- diagnosis: remediation.guidance,
401
- remediation,
402
- summary: remediation.guidance,
403
- });
404
- }
405
- catch (error) {
406
- context.logger.warn('verify-built-workflow: failed to persist terminal verdict', {
407
- workItemId: input.workItemId,
408
- workflowId,
409
- error: error instanceof Error ? error.message : String(error),
410
- });
411
- }
412
- try {
413
- context.trackTelemetry?.('Builder remediation guard fired', {
414
- thread_id: context.threadId,
415
- run_id: context.runId,
416
- work_item_id: input.workItemId,
417
- workflow_id: workflowId,
418
- category: remediation.category,
419
- attempt_count: remediation.attemptCount,
420
- reason: remediation.reason,
421
- });
422
- }
423
- catch (error) {
424
- context.logger.warn('verify-built-workflow: failed to emit remediation telemetry', {
425
- workItemId: input.workItemId,
426
- workflowId,
427
- error: error instanceof Error ? error.message : String(error),
428
- });
429
- }
430
- }
431
- function buildSimulationNote(reachedSimulatedNodes, planMissing) {
432
- if (reachedSimulatedNodes.length > 0) {
433
- return (`Simulated ${reachedSimulatedNodes.length} node(s) during verification — no real external writes happened: ` +
434
- reachedSimulatedNodes.map((n) => `${n.nodeName} (${n.reason})`).join('; ') +
435
- '. Relay this to the user when presenting the result.');
436
- }
437
- if (planMissing) {
438
- return ('No simulation plan was available for this verification run — nodes were NOT ' +
439
- 'simulated and may have performed real external writes (sent messages, created or ' +
440
- 'modified records). Relay this to the user when presenting the result.');
441
- }
442
- return undefined;
443
- }
444
- function buildCoverageNote(nodesNotReached, result, success) {
445
- if (nodesNotReached.length === 0)
446
- return undefined;
447
- const ending = result.lastNodeExecuted
448
- ? `. Execution ended at "${result.lastNodeExecuted}"${success ? ' because it produced no output items (empty item lists stop downstream nodes)' : ''}.`
449
- : '.';
450
- const guidance = success
451
- ? ' This usually means a lookup or query returned nothing. Seed matching test data and re-run verification, or tell the user the unreached part needs a manual test. Do NOT report the workflow as fully verified.'
452
- : '';
453
- return (`Partial coverage: ${nodesNotReached.length} node(s) were never reached and remain UNVERIFIED: ` +
454
- nodesNotReached.join(', ') +
455
- ending +
456
- guidance);
457
- }
458
87
  function createVerifyBuiltWorkflowTool(context) {
459
88
  return new agents_1.Tool('verify-built-workflow')
460
89
  .description('Run a built workflow using sidecar verification context from the build outcome. ' +
@@ -462,78 +91,71 @@ function createVerifyBuiltWorkflowTool(context) {
462
91
  'Use this as the standard verifier for workflows produced by the workflow-builder. ' +
463
92
  'It supports manual, schedule, form, webhook, chat, and other event triggers with build-outcome pin data, mocked credential context, or trigger-shaped inputData. ' +
464
93
  'Use `executions(action="run")` only for ad hoc runs outside build verification. ' +
465
- 'CRITICAL: `inputData` shape depends on the trigger type see the per-trigger guidance on the inputData field. ' +
94
+ 'CRITICAL: `inputData` shape depends on the trigger type; see the per-trigger guidance on the inputData field. ' +
466
95
  'Passing the wrong shape (e.g. wrapping form fields under `formFields`) produces null downstream values that ' +
467
- 'look like an expression bug but are not do not patch the workflow, re-run verify with the correct shape.')
96
+ 'look like an expression bug but are not. Do not patch the workflow; re-run verify with the correct shape.')
468
97
  .input(exports.verifyBuiltWorkflowInputSchema)
469
98
  .output(verifyBuiltWorkflowOutputSchema)
470
99
  .handler(async (input) => {
471
- const preconditions = await resolveVerifyPreconditions(input, context);
472
- if ('result' in preconditions)
473
- return preconditions.result;
474
- const { buildOutcome, workflowId, stateBefore, workflowTaskService, domainContext } = preconditions;
475
- const planMissing = buildOutcome.nodeSimulationPlan === undefined;
476
- if (planMissing) {
477
- return await handleMissingSimulationPlan(input, context, workflowTaskService, workflowId);
100
+ const targetResult = await (0, resolve_target_1.resolveVerificationTarget)(input, context);
101
+ if (targetResult.kind === 'blocked')
102
+ return targetResult.result;
103
+ const { target } = targetResult;
104
+ const { input: resolvedInput, buildOutcome, workflowId, workflowTaskService } = target;
105
+ if (buildOutcome.nodeSimulationPlan === undefined) {
106
+ return await (0, finalize_result_1.handleMissingSimulationPlan)({
107
+ input: resolvedInput,
108
+ context,
109
+ workflowTaskService,
110
+ workflowId,
111
+ });
478
112
  }
479
- const { pinData: verificationPinData, simulatedNodes } = buildVerificationPinData(buildOutcome);
480
- const simulationMap = simulatedNodes.length > 0
481
- ? Object.fromEntries(simulatedNodes.map((n) => [n.nodeName, { reason: n.reason }]))
482
- : undefined;
483
- const result = await domainContext.executionService.run(workflowId, input.inputData, {
484
- timeout: input.timeout,
485
- pinData: verificationPinData,
486
- simulation: simulationMap,
113
+ const preparedResult = (0, prepare_run_1.prepareVerificationRun)(buildOutcome, resolvedInput.fixtureOverrides);
114
+ if (preparedResult.kind === 'blocked') {
115
+ return {
116
+ ...preparedResult.result,
117
+ resolvedWorkItemId: resolvedInput.workItemId,
118
+ };
119
+ }
120
+ const { prepared } = preparedResult;
121
+ const result = await target.domainContext.executionService.run(workflowId, resolvedInput.inputData, {
122
+ timeout: resolvedInput.timeout,
123
+ verificationPinData: prepared.verificationPinData,
487
124
  });
488
- const reachedNames = new Set(result.executedNodeNames ?? (result.data ? Object.keys(result.data) : []));
489
- const reachedSimulatedNodes = simulatedNodes.filter((n) => reachedNames.has(n.nodeName));
490
- const nodesNotReached = (buildOutcome.nodeSimulationPlan ?? [])
491
- .map((verdict) => verdict.nodeName)
492
- .filter((name) => !reachedNames.has(name));
493
- const hasSimulationPlan = (buildOutcome.nodeSimulationPlan?.length ?? 0) > 0;
494
- const hasOutput = result.data ? Object.keys(result.data).length > 0 : false;
495
- const success = result.status === 'success' ||
496
- (!hasSimulationPlan && result.status === 'waiting' && !result.error && hasOutput);
497
- const failureRemediation = success
498
- ? undefined
499
- : classifyVerificationFailure(result.error, result.status, buildOutcome);
500
- const budgetRemediation = failureRemediation?.shouldEdit === true
501
- ? (0, remediation_1.terminalRemediationFromState)(stateBefore, context.runId)
502
- : undefined;
503
- const remediation = budgetRemediation ?? failureRemediation;
504
- await persistVerificationRecord(input, workflowTaskService, {
505
- success,
125
+ const analysis = (0, analyze_result_1.analyzeVerificationResult)({
506
126
  result,
507
- reachedNames,
508
- nodesNotReached,
127
+ buildOutcome,
128
+ simulatedNodes: prepared.simulatedNodes,
129
+ stateBefore: target.stateBefore,
130
+ runId: context.runId,
509
131
  });
510
- if (remediation && !remediation.shouldEdit) {
511
- await reportTerminalRemediation(input, context, workflowTaskService, {
512
- remediation,
513
- workflowId,
514
- executionId: result.executionId || undefined,
515
- });
516
- }
517
- const maxDataChars = input.maxDataChars ?? DEFAULT_NODE_PREVIEW_CHARS;
518
- const nodesExecuted = namesOrDataKeys(reachedNames, result.data);
519
- const simulatedNames = new Set(reachedSimulatedNodes.map((n) => n.nodeName));
520
- const simulationNote = buildSimulationNote(reachedSimulatedNodes, planMissing);
521
- const coverageNote = buildCoverageNote(nodesNotReached, result, success);
132
+ await (0, finalize_result_1.persistVerificationOutcome)({
133
+ input: resolvedInput,
134
+ context,
135
+ workflowTaskService,
136
+ workflowId,
137
+ result,
138
+ analysis,
139
+ verifyAttempts: (buildOutcome.verifyAttempts ?? 0) + 1,
140
+ });
141
+ const maxDataChars = resolvedInput.maxDataChars ?? DEFAULT_NODE_PREVIEW_CHARS;
142
+ const simulatedNames = new Set(analysis.reachedSimulatedNodes.map((n) => n.nodeName));
522
143
  return {
144
+ resolvedWorkItemId: resolvedInput.workItemId,
523
145
  executionId: result.executionId || undefined,
524
- success,
146
+ success: analysis.success,
525
147
  status: result.status,
526
- nodesExecuted,
148
+ nodesExecuted: analysis.nodesExecuted,
527
149
  lastNodeExecuted: result.lastNodeExecuted,
528
- nodePreviews: buildNodePreviews(result.data, maxDataChars, simulatedNames),
529
- simulatedNodes: reachedSimulatedNodes.length > 0 ? reachedSimulatedNodes : undefined,
530
- simulationNote,
531
- nodesNotReached: nodesNotReached.length > 0 ? nodesNotReached : undefined,
532
- coverageNote,
533
- ...(input.includeData ? { data: result.data } : {}),
150
+ nodePreviews: (0, analyze_result_1.buildNodePreviews)(result.data, maxDataChars, simulatedNames),
151
+ simulatedNodes: analysis.reachedSimulatedNodes.length > 0 ? analysis.reachedSimulatedNodes : undefined,
152
+ simulationNote: analysis.simulationNote,
153
+ nodesNotReached: analysis.nodesNotReached.length > 0 ? analysis.nodesNotReached : undefined,
154
+ coverageNote: analysis.coverageNote,
155
+ ...(resolvedInput.includeData ? { data: result.data } : {}),
534
156
  error: result.error,
535
- remediation,
536
- guidance: remediation?.guidance,
157
+ remediation: analysis.remediation,
158
+ guidance: analysis.remediation?.guidance,
537
159
  };
538
160
  })
539
161
  .build();
@@ -1 +1 @@
1
- {"version":3,"file":"verify-built-workflow.tool.js","sourceRoot":"","sources":["../../../src/tools/orchestration/verify-built-workflow.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verify-built-workflow.tool.js","sourceRoot":"","sources":["../../../src/tools/orchestration/verify-built-workflow.tool.ts"],"names":[],"mappings":"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"}
@@ -8,29 +8,29 @@ export declare const askUserInputSchema: z.ZodObject<{
8
8
  type: z.ZodEnum<["single", "multi", "text"]>;
9
9
  options: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
10
10
  }, "strip", z.ZodTypeAny, {
11
- id: string;
12
11
  type: "text" | "single" | "multi";
12
+ id: string;
13
13
  question: string;
14
14
  options?: string[] | undefined;
15
15
  }, {
16
- id: string;
17
16
  type: "text" | "single" | "multi";
17
+ id: string;
18
18
  question: string;
19
19
  options?: string[] | undefined;
20
20
  }>, "many">;
21
21
  introMessage: z.ZodOptional<z.ZodString>;
22
22
  }, "strip", z.ZodTypeAny, {
23
23
  questions: {
24
- id: string;
25
24
  type: "text" | "single" | "multi";
25
+ id: string;
26
26
  question: string;
27
27
  options?: string[] | undefined;
28
28
  }[];
29
29
  introMessage?: string | undefined;
30
30
  }, {
31
31
  questions: {
32
- id: string;
33
32
  type: "text" | "single" | "multi";
33
+ id: string;
34
34
  question: string;
35
35
  options?: string[] | undefined;
36
36
  }[];