@n8n/instance-ai 1.4.1 → 1.5.1

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 (149) hide show
  1. package/dist/agent/instance-agent.js +0 -1
  2. package/dist/agent/instance-agent.js.map +1 -1
  3. package/dist/agent/sub-agent-debriefing.d.ts +2 -2
  4. package/dist/agent/system-prompt.js +36 -14
  5. package/dist/agent/system-prompt.js.map +1 -1
  6. package/dist/build.tsbuildinfo +1 -1
  7. package/dist/constants/model-settings.d.ts +3 -0
  8. package/dist/constants/model-settings.js +7 -0
  9. package/dist/constants/model-settings.js.map +1 -0
  10. package/dist/index.d.ts +4 -2
  11. package/dist/index.js +4 -1
  12. package/dist/index.js.map +1 -1
  13. package/dist/logger.d.ts +6 -0
  14. package/dist/planned-tasks/planned-task-permissions.d.ts +2 -0
  15. package/dist/planned-tasks/planned-task-permissions.js +8 -2
  16. package/dist/planned-tasks/planned-task-permissions.js.map +1 -1
  17. package/dist/planned-tasks/planned-task-service.d.ts +14 -1
  18. package/dist/planned-tasks/planned-task-service.js +138 -2
  19. package/dist/planned-tasks/planned-task-service.js.map +1 -1
  20. package/dist/runtime/background-task-manager.d.ts +25 -1
  21. package/dist/runtime/background-task-manager.js +66 -2
  22. package/dist/runtime/background-task-manager.js.map +1 -1
  23. package/dist/runtime/builder-sandbox-session-registry.d.ts +45 -0
  24. package/dist/runtime/builder-sandbox-session-registry.js +159 -0
  25. package/dist/runtime/builder-sandbox-session-registry.js.map +1 -0
  26. package/dist/runtime/run-state-registry.d.ts +7 -4
  27. package/dist/runtime/run-state-registry.js +9 -0
  28. package/dist/runtime/run-state-registry.js.map +1 -1
  29. package/dist/storage/planned-task-storage.js +2 -1
  30. package/dist/storage/planned-task-storage.js.map +1 -1
  31. package/dist/storage/workflow-loop-storage.d.ts +292 -12
  32. package/dist/stream/consume-with-hitl.d.ts +1 -0
  33. package/dist/stream/consume-with-hitl.js +1 -0
  34. package/dist/stream/consume-with-hitl.js.map +1 -1
  35. package/dist/tools/data-tables.tool.js +60 -22
  36. package/dist/tools/data-tables.tool.js.map +1 -1
  37. package/dist/tools/executions.tool.js +4 -1
  38. package/dist/tools/executions.tool.js.map +1 -1
  39. package/dist/tools/index.d.ts +1 -2
  40. package/dist/tools/index.js +2 -3
  41. package/dist/tools/index.js.map +1 -1
  42. package/dist/tools/orchestration/add-plan-item.tool.js +3 -1
  43. package/dist/tools/orchestration/add-plan-item.tool.js.map +1 -1
  44. package/dist/tools/orchestration/blueprint-accumulator.d.ts +4 -1
  45. package/dist/tools/orchestration/blueprint-accumulator.js +28 -0
  46. package/dist/tools/orchestration/blueprint-accumulator.js.map +1 -1
  47. package/dist/tools/orchestration/blueprint.schema.d.ts +60 -15
  48. package/dist/tools/orchestration/blueprint.schema.js +15 -1
  49. package/dist/tools/orchestration/blueprint.schema.js.map +1 -1
  50. package/dist/tools/orchestration/build-workflow-agent.prompt.js +41 -12
  51. package/dist/tools/orchestration/build-workflow-agent.prompt.js.map +1 -1
  52. package/dist/tools/orchestration/build-workflow-agent.tool.d.ts +51 -3
  53. package/dist/tools/orchestration/build-workflow-agent.tool.js +837 -272
  54. package/dist/tools/orchestration/build-workflow-agent.tool.js.map +1 -1
  55. package/dist/tools/orchestration/builder-memory-compaction.d.ts +38 -0
  56. package/dist/tools/orchestration/builder-memory-compaction.js +146 -0
  57. package/dist/tools/orchestration/builder-memory-compaction.js.map +1 -0
  58. package/dist/tools/orchestration/complete-checkpoint.tool.d.ts +2 -0
  59. package/dist/tools/orchestration/complete-checkpoint.tool.js +76 -0
  60. package/dist/tools/orchestration/complete-checkpoint.tool.js.map +1 -0
  61. package/dist/tools/orchestration/data-table-agent.tool.js +33 -17
  62. package/dist/tools/orchestration/data-table-agent.tool.js.map +1 -1
  63. package/dist/tools/orchestration/delegate.tool.js +32 -16
  64. package/dist/tools/orchestration/delegate.tool.js.map +1 -1
  65. package/dist/tools/orchestration/plan-agent-prompt.d.ts +1 -1
  66. package/dist/tools/orchestration/plan-agent-prompt.js +6 -0
  67. package/dist/tools/orchestration/plan-agent-prompt.js.map +1 -1
  68. package/dist/tools/orchestration/plan-with-agent.tool.d.ts +8 -0
  69. package/dist/tools/orchestration/plan-with-agent.tool.js +43 -12
  70. package/dist/tools/orchestration/plan-with-agent.tool.js.map +1 -1
  71. package/dist/tools/orchestration/plan.tool.js +17 -1
  72. package/dist/tools/orchestration/plan.tool.js.map +1 -1
  73. package/dist/tools/orchestration/report-verification-verdict.tool.d.ts +40 -2
  74. package/dist/tools/orchestration/report-verification-verdict.tool.js +85 -6
  75. package/dist/tools/orchestration/report-verification-verdict.tool.js.map +1 -1
  76. package/dist/tools/orchestration/research-with-agent.tool.js +32 -16
  77. package/dist/tools/orchestration/research-with-agent.tool.js.map +1 -1
  78. package/dist/tools/orchestration/verify-built-workflow.tool.d.ts +8 -2
  79. package/dist/tools/orchestration/verify-built-workflow.tool.js +476 -6
  80. package/dist/tools/orchestration/verify-built-workflow.tool.js.map +1 -1
  81. package/dist/tools/research.tool.js +2 -2
  82. package/dist/tools/research.tool.js.map +1 -1
  83. package/dist/tools/templates.tool.js +5 -90
  84. package/dist/tools/templates.tool.js.map +1 -1
  85. package/dist/tools/web-research/sanitize-web-content.d.ts +0 -1
  86. package/dist/tools/web-research/sanitize-web-content.js +0 -9
  87. package/dist/tools/web-research/sanitize-web-content.js.map +1 -1
  88. package/dist/tools/workflows/apply-workflow-credentials.tool.d.ts +2 -2
  89. package/dist/tools/workflows/build-workflow.tool.d.ts +2 -2
  90. package/dist/tools/workflows/build-workflow.tool.js +3 -1
  91. package/dist/tools/workflows/build-workflow.tool.js.map +1 -1
  92. package/dist/tools/workflows/materialize-node-type.tool.d.ts +8 -8
  93. package/dist/tools/workflows/submit-workflow-identity.d.ts +23 -1
  94. package/dist/tools/workflows/submit-workflow-identity.js +92 -5
  95. package/dist/tools/workflows/submit-workflow-identity.js.map +1 -1
  96. package/dist/tools/workflows/submit-workflow.tool.d.ts +48 -3
  97. package/dist/tools/workflows/submit-workflow.tool.js +81 -11
  98. package/dist/tools/workflows/submit-workflow.tool.js.map +1 -1
  99. package/dist/tracing/langsmith-tracing.js +8 -3
  100. package/dist/tracing/langsmith-tracing.js.map +1 -1
  101. package/dist/tracing/trace-replay.d.ts +3 -0
  102. package/dist/tracing/trace-replay.js +65 -0
  103. package/dist/tracing/trace-replay.js.map +1 -1
  104. package/dist/types.d.ts +79 -12
  105. package/dist/workflow-builder/parse-validate.d.ts +5 -1
  106. package/dist/workflow-builder/parse-validate.js +4 -3
  107. package/dist/workflow-builder/parse-validate.js.map +1 -1
  108. package/dist/workflow-loop/guidance.js +8 -2
  109. package/dist/workflow-loop/guidance.js.map +1 -1
  110. package/dist/workflow-loop/index.d.ts +3 -2
  111. package/dist/workflow-loop/index.js +9 -1
  112. package/dist/workflow-loop/index.js.map +1 -1
  113. package/dist/workflow-loop/remediation.d.ts +13 -0
  114. package/dist/workflow-loop/remediation.js +36 -0
  115. package/dist/workflow-loop/remediation.js.map +1 -0
  116. package/dist/workflow-loop/runtime.js +7 -0
  117. package/dist/workflow-loop/runtime.js.map +1 -1
  118. package/dist/workflow-loop/workflow-loop-controller.d.ts +1 -1
  119. package/dist/workflow-loop/workflow-loop-controller.js +196 -29
  120. package/dist/workflow-loop/workflow-loop-controller.js.map +1 -1
  121. package/dist/workflow-loop/workflow-loop-state.d.ts +338 -8
  122. package/dist/workflow-loop/workflow-loop-state.js +44 -1
  123. package/dist/workflow-loop/workflow-loop-state.js.map +1 -1
  124. package/dist/workflow-loop/workflow-task-service.d.ts +2 -1
  125. package/dist/workflow-loop/workflow-task-service.js +4 -0
  126. package/dist/workflow-loop/workflow-task-service.js.map +1 -1
  127. package/dist/workspace/builder-sandbox-factory.d.ts +3 -2
  128. package/dist/workspace/builder-sandbox-factory.js +74 -27
  129. package/dist/workspace/builder-sandbox-factory.js.map +1 -1
  130. package/dist/workspace/create-workspace.d.ts +2 -0
  131. package/dist/workspace/create-workspace.js.map +1 -1
  132. package/dist/workspace/sandbox-setup.js +36 -8
  133. package/dist/workspace/sandbox-setup.js.map +1 -1
  134. package/dist/workspace/snapshot-manager.d.ts +14 -2
  135. package/dist/workspace/snapshot-manager.js +57 -1
  136. package/dist/workspace/snapshot-manager.js.map +1 -1
  137. package/package.json +13 -7
  138. package/dist/tools/templates/template-api.d.ts +0 -21
  139. package/dist/tools/templates/template-api.js +0 -104
  140. package/dist/tools/templates/template-api.js.map +0 -1
  141. package/dist/tools/templates/types.d.ts +0 -52
  142. package/dist/tools/templates/types.js +0 -37
  143. package/dist/tools/templates/types.js.map +0 -1
  144. package/dist/tools/utils/mermaid.utils.d.ts +0 -15
  145. package/dist/tools/utils/mermaid.utils.js +0 -622
  146. package/dist/tools/utils/mermaid.utils.js.map +0 -1
  147. package/dist/tools/utils/node-configuration.utils.d.ts +0 -6
  148. package/dist/tools/utils/node-configuration.utils.js +0 -77
  149. package/dist/tools/utils/node-configuration.utils.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"research-with-agent.tool.js","sourceRoot":"","sources":["../../../src/tools/orchestration/research-with-agent.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"research-with-agent.tool.js","sourceRoot":"","sources":["../../../src/tools/orchestration/research-with-agent.tool.ts"],"names":[],"mappings":"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"}
@@ -5,15 +5,21 @@ export declare const verifyBuiltWorkflowInputSchema: z.ZodObject<{
5
5
  workflowId: z.ZodString;
6
6
  inputData: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
7
7
  timeout: z.ZodOptional<z.ZodNumber>;
8
+ includeData: z.ZodOptional<z.ZodBoolean>;
9
+ maxDataChars: z.ZodOptional<z.ZodNumber>;
8
10
  }, "strip", z.ZodTypeAny, {
9
- workItemId: string;
10
11
  workflowId: string;
12
+ workItemId: string;
11
13
  timeout?: number | undefined;
12
14
  inputData?: Record<string, unknown> | undefined;
15
+ includeData?: boolean | undefined;
16
+ maxDataChars?: number | undefined;
13
17
  }, {
14
- workItemId: string;
15
18
  workflowId: string;
19
+ workItemId: string;
16
20
  timeout?: number | undefined;
17
21
  inputData?: Record<string, unknown> | undefined;
22
+ includeData?: boolean | undefined;
23
+ maxDataChars?: number | undefined;
18
24
  }>;
19
25
  export declare function createVerifyBuiltWorkflowTool(context: OrchestrationContext): import("@mastra/core/tools").Tool<InferPublicSchema<T>, InferPublicSchema<T>, InferPublicSchema<T>, InferPublicSchema<T>, import("@mastra/core/tools").ToolExecutionContext<InferPublicSchema<T>, InferPublicSchema<T>, unknown>, "verify-built-workflow", unknown>;
@@ -4,10 +4,261 @@ exports.verifyBuiltWorkflowInputSchema = void 0;
4
4
  exports.createVerifyBuiltWorkflowTool = createVerifyBuiltWorkflowTool;
5
5
  const tools_1 = require("@mastra/core/tools");
6
6
  const zod_1 = require("zod");
7
+ const remediation_1 = require("../../workflow-loop/remediation");
8
+ const DEFAULT_NODE_PREVIEW_CHARS = 600;
9
+ function stringifyForToolOutput(value) {
10
+ if (typeof value === 'string')
11
+ return value;
12
+ try {
13
+ return JSON.stringify(value) ?? String(value);
14
+ }
15
+ catch {
16
+ return String(value);
17
+ }
18
+ }
19
+ function isRecord(value) {
20
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
21
+ }
22
+ function unwrapUntrustedData(value) {
23
+ const match = /^<untrusted_data\b[^>]*>\n([\s\S]*)\n<\/untrusted_data>$/i.exec(value);
24
+ if (!match)
25
+ return value;
26
+ const content = match[1];
27
+ if (content === undefined)
28
+ return value;
29
+ try {
30
+ const parsed = JSON.parse(content);
31
+ return parsed;
32
+ }
33
+ catch {
34
+ return value;
35
+ }
36
+ }
37
+ function outputForInspection(nodeOutput) {
38
+ return typeof nodeOutput === 'string' ? unwrapUntrustedData(nodeOutput) : nodeOutput;
39
+ }
40
+ async function extractDataTableWriteNodes(workflowService, workflowId) {
41
+ try {
42
+ const json = await workflowService.getAsWorkflowJSON(workflowId);
43
+ const out = [];
44
+ for (const node of json.nodes ?? []) {
45
+ if (node.type !== 'n8n-nodes-base.dataTable')
46
+ continue;
47
+ const params = node.parameters;
48
+ const operation = params?.operation;
49
+ if (operation !== 'insert' && operation !== 'upsert' && operation !== 'update')
50
+ continue;
51
+ const ref = params?.dataTableId;
52
+ let dataTableId;
53
+ if (typeof ref === 'string' && ref.length > 0) {
54
+ dataTableId = ref;
55
+ }
56
+ else if (ref &&
57
+ typeof ref === 'object' &&
58
+ 'value' in ref &&
59
+ typeof ref.value === 'string') {
60
+ const value = ref.value;
61
+ if (value.length > 0)
62
+ dataTableId = value;
63
+ }
64
+ if (!dataTableId || !node.name)
65
+ continue;
66
+ out.push({ nodeName: node.name, dataTableId, operation });
67
+ }
68
+ return out;
69
+ }
70
+ catch {
71
+ return [];
72
+ }
73
+ }
74
+ function extractRowIdsFromNodeOutput(nodeOutput) {
75
+ const ids = [];
76
+ const visit = (value) => {
77
+ const inspected = outputForInspection(value);
78
+ if (!inspected)
79
+ return;
80
+ if (Array.isArray(inspected)) {
81
+ for (const item of inspected)
82
+ visit(item);
83
+ return;
84
+ }
85
+ if (!isRecord(inspected))
86
+ return;
87
+ const row = inspected;
88
+ if (row.json !== undefined) {
89
+ visit(row.json);
90
+ return;
91
+ }
92
+ const id = row.id;
93
+ if (typeof id === 'number' && Number.isFinite(id))
94
+ ids.push(id);
95
+ };
96
+ visit(nodeOutput);
97
+ return ids;
98
+ }
99
+ function getCountFromMetadata(value) {
100
+ if (!isRecord(value))
101
+ return undefined;
102
+ for (const key of ['totalItems', '_itemCount']) {
103
+ const count = value[key];
104
+ if (typeof count === 'number' && Number.isFinite(count) && count >= 0) {
105
+ return count;
106
+ }
107
+ }
108
+ return undefined;
109
+ }
110
+ function countOutputItems(nodeOutput) {
111
+ const output = outputForInspection(nodeOutput);
112
+ if (Array.isArray(output))
113
+ return output.length;
114
+ const metadataCount = getCountFromMetadata(output);
115
+ if (metadataCount !== undefined)
116
+ return metadataCount;
117
+ if (output === undefined || output === null)
118
+ return 0;
119
+ return 1;
120
+ }
121
+ function previewValue(value, maxChars) {
122
+ const serialized = stringifyForToolOutput(value);
123
+ if (maxChars <= 0) {
124
+ return { preview: '', truncated: serialized.length > 0 };
125
+ }
126
+ if (serialized.length <= maxChars) {
127
+ return { preview: serialized, truncated: false };
128
+ }
129
+ return { preview: `${serialized.slice(0, maxChars)}...`, truncated: true };
130
+ }
131
+ function buildNodePreviews(resultData, maxChars) {
132
+ if (!resultData)
133
+ return [];
134
+ return Object.entries(resultData).map(([nodeName, nodeOutput]) => {
135
+ const serialized = stringifyForToolOutput(nodeOutput);
136
+ const preview = previewValue(nodeOutput, maxChars);
137
+ return {
138
+ nodeName,
139
+ itemCount: countOutputItems(nodeOutput),
140
+ preview: preview.preview,
141
+ truncated: preview.truncated,
142
+ chars: serialized.length,
143
+ };
144
+ });
145
+ }
146
+ function countProducedOutputRows(resultData) {
147
+ if (!resultData)
148
+ return undefined;
149
+ let count = 0;
150
+ for (const nodeOutput of Object.values(resultData)) {
151
+ const itemCount = countOutputItems(nodeOutput);
152
+ if (itemCount !== undefined)
153
+ count += itemCount;
154
+ }
155
+ return count;
156
+ }
157
+ const SNAPSHOT_PAGE_SIZE = 1000;
158
+ const SNAPSHOT_MAX_ROWS = 100_000;
159
+ async function cleanupInsertedRowsByNodeOutput(dataTableService, writeNodes, resultData, preIdsByTable, logger) {
160
+ if (!resultData)
161
+ return 0;
162
+ const createdIdsByTable = new Map();
163
+ for (const { nodeName, dataTableId, operation } of writeNodes) {
164
+ if (operation !== 'insert')
165
+ continue;
166
+ const output = resultData[nodeName];
167
+ if (!output)
168
+ continue;
169
+ const ids = extractRowIdsFromNodeOutput(output);
170
+ if (ids.length === 0)
171
+ continue;
172
+ let bucket = createdIdsByTable.get(dataTableId);
173
+ if (!bucket) {
174
+ bucket = new Set();
175
+ createdIdsByTable.set(dataTableId, bucket);
176
+ }
177
+ for (const id of ids)
178
+ bucket.add(id);
179
+ }
180
+ let total = 0;
181
+ for (const [dataTableId, ids] of createdIdsByTable) {
182
+ const preIds = preIdsByTable.get(dataTableId);
183
+ if (preIds === undefined || preIds === null) {
184
+ logger.warn('Skipping data-table cleanup: pre-verify snapshot unavailable. Rows left in place to avoid deleting existing data.', { dataTableId, candidateIds: ids.size });
185
+ continue;
186
+ }
187
+ const toDelete = [...ids].filter((id) => !preIds.has(id));
188
+ if (toDelete.length === 0)
189
+ continue;
190
+ try {
191
+ await dataTableService.deleteRows(dataTableId, {
192
+ type: 'or',
193
+ filters: toDelete.map((id) => ({
194
+ columnName: 'id',
195
+ condition: 'eq',
196
+ value: id,
197
+ })),
198
+ });
199
+ total += toDelete.length;
200
+ }
201
+ catch {
202
+ }
203
+ }
204
+ return total;
205
+ }
206
+ async function snapshotRowIdsPerTable(dataTableService, dataTableIds, logger) {
207
+ const out = new Map();
208
+ for (const id of dataTableIds) {
209
+ try {
210
+ const bucket = new Set();
211
+ let offset = 0;
212
+ let truncated = false;
213
+ for (;;) {
214
+ const { data } = await dataTableService.queryRows(id, {
215
+ limit: SNAPSHOT_PAGE_SIZE,
216
+ offset,
217
+ });
218
+ for (const row of data) {
219
+ const rid = row.id;
220
+ if (typeof rid === 'number')
221
+ bucket.add(rid);
222
+ }
223
+ if (data.length < SNAPSHOT_PAGE_SIZE)
224
+ break;
225
+ offset += SNAPSHOT_PAGE_SIZE;
226
+ if (offset >= SNAPSHOT_MAX_ROWS) {
227
+ truncated = true;
228
+ break;
229
+ }
230
+ }
231
+ if (truncated) {
232
+ logger.warn('Data-table pre-verify snapshot exceeded row cap — cleanup disabled for this table', { dataTableId: id, cap: SNAPSHOT_MAX_ROWS });
233
+ out.set(id, null);
234
+ }
235
+ else {
236
+ out.set(id, bucket);
237
+ }
238
+ }
239
+ catch (error) {
240
+ logger.warn('Data-table pre-verify snapshot failed — cleanup disabled for this table', {
241
+ dataTableId: id,
242
+ error: error instanceof Error ? error.message : String(error),
243
+ });
244
+ out.set(id, null);
245
+ }
246
+ }
247
+ return out;
248
+ }
7
249
  exports.verifyBuiltWorkflowInputSchema = zod_1.z.object({
8
250
  workItemId: zod_1.z.string().describe('The work item ID from the build (wi_XXXXXXXX)'),
9
251
  workflowId: zod_1.z.string().describe('The workflow ID to verify'),
10
- inputData: zod_1.z.record(zod_1.z.unknown()).optional().describe('Input data passed to the workflow trigger'),
252
+ inputData: zod_1.z
253
+ .record(zod_1.z.unknown())
254
+ .optional()
255
+ .describe("Input data for the workflow trigger. Shape MUST match the trigger's real-world output: " +
256
+ 'Form Trigger → flat field map like {name: "Alice", email: "a@b.c"} (do NOT wrap in formFields); ' +
257
+ 'Webhook → the body payload like {event: "signup", userId: "..."} (adapter wraps it under body); ' +
258
+ 'Chat Trigger → {chatInput: "user message"}; ' +
259
+ 'Schedule Trigger → omit inputData. ' +
260
+ "If you wrap a form payload in {formFields: {...}} the adapter will reject the call — the builder's " +
261
+ 'downstream expressions reference $json.<field>, matching the flat production shape.'),
11
262
  timeout: zod_1.z
12
263
  .number()
13
264
  .int()
@@ -15,41 +266,260 @@ exports.verifyBuiltWorkflowInputSchema = zod_1.z.object({
15
266
  .max(600_000)
16
267
  .optional()
17
268
  .describe('Max wait time in milliseconds (default 300000)'),
269
+ includeData: zod_1.z
270
+ .boolean()
271
+ .optional()
272
+ .describe('Set true only when you need the full execution data payload. Default false.'),
273
+ maxDataChars: zod_1.z
274
+ .number()
275
+ .int()
276
+ .min(0)
277
+ .max(20_000)
278
+ .optional()
279
+ .describe('Max characters per node preview in the compact response (default 600).'),
18
280
  });
281
+ const remediationOutputSchema = zod_1.z
282
+ .object({
283
+ category: zod_1.z.enum(['code_fixable', 'needs_setup', 'blocked']),
284
+ shouldEdit: zod_1.z.boolean(),
285
+ guidance: zod_1.z.string(),
286
+ reason: zod_1.z.string().optional(),
287
+ remainingSubmitFixes: zod_1.z.number().int().min(0).optional(),
288
+ attemptCount: zod_1.z.number().int().min(0).optional(),
289
+ })
290
+ .optional();
291
+ function classifyVerificationFailure(error, status, buildOutcome) {
292
+ if (buildOutcome.hasUnresolvedPlaceholders) {
293
+ return (0, remediation_1.createRemediation)({
294
+ category: 'needs_setup',
295
+ shouldEdit: false,
296
+ reason: 'mocked_credentials_or_placeholders',
297
+ guidance: 'Workflow submitted successfully, but verification is blocked by unresolved setup values. Stop code edits and route to workflows(action="setup").',
298
+ });
299
+ }
300
+ if (status === 'waiting') {
301
+ return (0, remediation_1.createRemediation)({
302
+ category: 'needs_setup',
303
+ shouldEdit: false,
304
+ reason: 'execution_waiting',
305
+ guidance: 'Workflow verification is waiting for user action or setup. Stop code edits and ask the user to complete setup.',
306
+ });
307
+ }
308
+ const normalized = (error ?? '').toLowerCase();
309
+ const mockedCredentialTypeCount = buildOutcome.mockedCredentialTypes?.length ?? 0;
310
+ const mockedNodeCount = buildOutcome.mockedNodeNames?.length ?? 0;
311
+ const hasMockedCredentialContext = Boolean(mockedCredentialTypeCount > 0 || mockedNodeCount > 0);
312
+ if (normalized.includes('credential') ||
313
+ normalized.includes('unauthorized') ||
314
+ normalized.includes('forbidden') ||
315
+ normalized.includes('401') ||
316
+ normalized.includes('403') ||
317
+ normalized.includes('free tier') ||
318
+ normalized.includes('quota')) {
319
+ return (0, remediation_1.createRemediation)({
320
+ category: 'needs_setup',
321
+ shouldEdit: false,
322
+ reason: hasMockedCredentialContext
323
+ ? 'mocked_credentials_or_placeholders'
324
+ : 'credential_or_setup_failure',
325
+ guidance: hasMockedCredentialContext
326
+ ? 'Workflow submitted successfully, but verification is blocked by mocked credentials. Stop code edits and route to workflows(action="setup").'
327
+ : 'Workflow submitted successfully, but verification requires credential or account setup. Stop code edits and route to workflows(action="setup").',
328
+ });
329
+ }
330
+ if (normalized.includes('429') ||
331
+ normalized.includes('rate limit') ||
332
+ normalized.includes('502') ||
333
+ normalized.includes('bad gateway') ||
334
+ normalized.includes('timed out')) {
335
+ return (0, remediation_1.createRemediation)({
336
+ category: 'blocked',
337
+ shouldEdit: false,
338
+ reason: 'external_service_or_timeout',
339
+ guidance: 'Workflow submitted successfully, but verification is blocked by an external service or timeout. Stop code edits and explain the blocker to the user.',
340
+ });
341
+ }
342
+ return (0, remediation_1.createRemediation)({
343
+ category: 'code_fixable',
344
+ shouldEdit: true,
345
+ reason: 'runtime_failure',
346
+ guidance: 'Verification found a workflow runtime failure. Diagnose it and apply one batched workflow-code repair if the guard allows it.',
347
+ });
348
+ }
19
349
  function createVerifyBuiltWorkflowTool(context) {
20
350
  return (0, tools_1.createTool)({
21
351
  id: 'verify-built-workflow',
22
352
  description: 'Run a built workflow that has mocked credentials, using sidecar verification pin data ' +
23
- 'from the build outcome. Use this instead of `executions(action="run")` when the build had mocked credentials.',
353
+ 'from the build outcome. Use this instead of `executions(action="run")` when the build had mocked credentials. ' +
354
+ 'CRITICAL: `inputData` shape depends on the trigger type — see the per-trigger guidance on the inputData field. ' +
355
+ 'Passing the wrong shape (e.g. wrapping form fields under `formFields`) produces null downstream values that ' +
356
+ 'look like an expression bug but are not — do not patch the workflow, re-run verify with the correct shape.',
24
357
  inputSchema: exports.verifyBuiltWorkflowInputSchema,
25
358
  outputSchema: zod_1.z.object({
26
359
  executionId: zod_1.z.string().optional(),
27
360
  success: zod_1.z.boolean(),
28
361
  status: zod_1.z.enum(['running', 'success', 'error', 'waiting', 'unknown']).optional(),
362
+ nodesExecuted: zod_1.z.array(zod_1.z.string()).optional(),
363
+ nodePreviews: zod_1.z
364
+ .array(zod_1.z.object({
365
+ nodeName: zod_1.z.string(),
366
+ itemCount: zod_1.z.number().optional(),
367
+ preview: zod_1.z.string(),
368
+ truncated: zod_1.z.boolean(),
369
+ chars: zod_1.z.number(),
370
+ }))
371
+ .optional(),
29
372
  data: zod_1.z.record(zod_1.z.unknown()).optional(),
30
373
  error: zod_1.z.string().optional(),
374
+ remediation: remediationOutputSchema,
375
+ guidance: zod_1.z.string().optional(),
31
376
  }),
32
377
  execute: async (input) => {
33
378
  if (!context.workflowTaskService || !context.domainContext) {
34
- return { success: false, error: 'Verification support not available.' };
379
+ const remediation = (0, remediation_1.createRemediation)({
380
+ category: 'blocked',
381
+ shouldEdit: false,
382
+ reason: 'verification_support_unavailable',
383
+ guidance: 'Verification support is not available. Stop code edits and explain the blocker.',
384
+ });
385
+ return { success: false, error: 'Verification support not available.', remediation };
386
+ }
387
+ const stateBefore = await context.workflowTaskService.getWorkflowLoopState(input.workItemId);
388
+ const terminalRemediation = stateBefore?.lastRemediation && !stateBefore.lastRemediation.shouldEdit
389
+ ? (0, remediation_1.terminalRemediationFromState)(stateBefore, context.runId)
390
+ : undefined;
391
+ if (terminalRemediation) {
392
+ return {
393
+ success: false,
394
+ error: terminalRemediation.guidance,
395
+ remediation: terminalRemediation,
396
+ guidance: terminalRemediation.guidance,
397
+ };
35
398
  }
36
399
  const buildOutcome = await context.workflowTaskService.getBuildOutcome(input.workItemId);
37
400
  if (!buildOutcome) {
401
+ const remediation = (0, remediation_1.createRemediation)({
402
+ category: 'blocked',
403
+ shouldEdit: false,
404
+ reason: 'missing_build_outcome',
405
+ guidance: `No build outcome found for work item ${input.workItemId}. Stop code edits and explain the blocker.`,
406
+ });
38
407
  return {
39
408
  success: false,
40
409
  error: `No build outcome found for work item ${input.workItemId}.`,
410
+ remediation,
411
+ guidance: remediation.guidance,
412
+ };
413
+ }
414
+ if (!buildOutcome.workflowId) {
415
+ return {
416
+ success: false,
417
+ error: `Build outcome ${input.workItemId} does not include a workflow ID.`,
41
418
  };
42
419
  }
43
- const result = await context.domainContext.executionService.run(input.workflowId, input.inputData, {
420
+ if (buildOutcome.workflowId !== input.workflowId) {
421
+ return {
422
+ success: false,
423
+ error: `Build outcome ${input.workItemId} belongs to workflow ${buildOutcome.workflowId}, ` +
424
+ `but verification was requested for workflow ${input.workflowId}.`,
425
+ };
426
+ }
427
+ const workflowId = buildOutcome.workflowId;
428
+ const writeNodes = await extractDataTableWriteNodes(context.domainContext.workflowService, workflowId);
429
+ const preSnapshots = await snapshotRowIdsPerTable(context.domainContext.dataTableService, new Set(writeNodes.map((n) => n.dataTableId)), context.logger);
430
+ const result = await context.domainContext.executionService.run(workflowId, input.inputData, {
44
431
  timeout: input.timeout,
45
432
  pinData: buildOutcome.verificationPinData,
46
433
  });
434
+ const hasOutput = result.data ? Object.keys(result.data).length > 0 : false;
435
+ const success = result.status === 'success' || (result.status === 'waiting' && !result.error && hasOutput);
436
+ const failureRemediation = success
437
+ ? undefined
438
+ : classifyVerificationFailure(result.error, result.status, buildOutcome);
439
+ const budgetRemediation = failureRemediation?.shouldEdit === true
440
+ ? (0, remediation_1.terminalRemediationFromState)(stateBefore, context.runId)
441
+ : undefined;
442
+ const remediation = budgetRemediation ?? failureRemediation;
443
+ const cleanedRows = await cleanupInsertedRowsByNodeOutput(context.domainContext.dataTableService, writeNodes, result.data, preSnapshots, context.logger);
444
+ try {
445
+ const nodesExecuted = result.data ? Object.keys(result.data) : undefined;
446
+ await context.workflowTaskService.updateBuildOutcome(input.workItemId, {
447
+ verification: {
448
+ attempted: true,
449
+ success,
450
+ executionId: result.executionId || undefined,
451
+ status: result.status,
452
+ failureSignature: success ? undefined : result.error,
453
+ evidence: {
454
+ nodesExecuted: nodesExecuted && nodesExecuted.length > 0 ? nodesExecuted : undefined,
455
+ producedOutputRows: countProducedOutputRows(result.data),
456
+ errorMessage: success ? undefined : result.error,
457
+ },
458
+ verifiedAt: new Date().toISOString(),
459
+ },
460
+ });
461
+ }
462
+ catch {
463
+ }
464
+ if (cleanedRows > 0) {
465
+ context.logger.debug?.('verify-built-workflow: cleaned up inserted rows', {
466
+ workItemId: input.workItemId,
467
+ workflowId,
468
+ cleanedRows,
469
+ });
470
+ }
471
+ if (remediation && !remediation.shouldEdit) {
472
+ try {
473
+ await context.workflowTaskService.reportVerificationVerdict({
474
+ workItemId: input.workItemId,
475
+ runId: context.runId,
476
+ workflowId,
477
+ executionId: result.executionId || undefined,
478
+ verdict: remediation.category === 'needs_setup' ? 'needs_user_input' : 'failed_terminal',
479
+ failureSignature: remediation.reason,
480
+ diagnosis: remediation.guidance,
481
+ remediation,
482
+ summary: remediation.guidance,
483
+ });
484
+ }
485
+ catch (error) {
486
+ context.logger.warn('verify-built-workflow: failed to persist terminal verdict', {
487
+ workItemId: input.workItemId,
488
+ workflowId,
489
+ error: error instanceof Error ? error.message : String(error),
490
+ });
491
+ }
492
+ try {
493
+ context.trackTelemetry?.('Builder remediation guard fired', {
494
+ thread_id: context.threadId,
495
+ run_id: context.runId,
496
+ work_item_id: input.workItemId,
497
+ workflow_id: workflowId,
498
+ category: remediation.category,
499
+ attempt_count: remediation.attemptCount,
500
+ reason: remediation.reason,
501
+ });
502
+ }
503
+ catch (error) {
504
+ context.logger.warn('verify-built-workflow: failed to emit remediation telemetry', {
505
+ workItemId: input.workItemId,
506
+ workflowId,
507
+ error: error instanceof Error ? error.message : String(error),
508
+ });
509
+ }
510
+ }
511
+ const maxDataChars = input.maxDataChars ?? DEFAULT_NODE_PREVIEW_CHARS;
512
+ const nodesExecuted = result.data ? Object.keys(result.data) : undefined;
47
513
  return {
48
514
  executionId: result.executionId || undefined,
49
- success: result.status === 'success',
515
+ success,
50
516
  status: result.status,
51
- data: result.data,
517
+ nodesExecuted,
518
+ nodePreviews: buildNodePreviews(result.data, maxDataChars),
519
+ ...(input.includeData ? { data: result.data } : {}),
52
520
  error: result.error,
521
+ remediation,
522
+ guidance: remediation?.guidance,
53
523
  };
54
524
  },
55
525
  });
@@ -1 +1 @@
1
- {"version":3,"file":"verify-built-workflow.tool.js","sourceRoot":"","sources":["../../../src/tools/orchestration/verify-built-workflow.tool.ts"],"names":[],"mappings":";;;AA0BA,sEA6CC;AA/DD,8CAAgD;AAChD,6BAAwB;AAIX,QAAA,8BAA8B,GAAG,OAAC,CAAC,MAAM,CAAC;IACtD,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;IAChF,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IAC5D,SAAS,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;IACjG,OAAO,EAAE,OAAC;SACR,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,IAAI,CAAC;SACT,GAAG,CAAC,OAAO,CAAC;SACZ,QAAQ,EAAE;SACV,QAAQ,CAAC,gDAAgD,CAAC;CAC5D,CAAC,CAAC;AAEH,SAAgB,6BAA6B,CAAC,OAA6B;IAC1E,OAAO,IAAA,kBAAU,EAAC;QACjB,EAAE,EAAE,uBAAuB;QAC3B,WAAW,EACV,wFAAwF;YACxF,+GAA+G;QAChH,WAAW,EAAE,sCAA8B;QAC3C,YAAY,EAAE,OAAC,CAAC,MAAM,CAAC;YACtB,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAClC,OAAO,EAAE,OAAC,CAAC,OAAO,EAAE;YACpB,MAAM,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE;YAChF,IAAI,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;YACtC,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC5B,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,KAAqD,EAAE,EAAE;YACxE,IAAI,CAAC,OAAO,CAAC,mBAAmB,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;gBAC5D,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,qCAAqC,EAAE,CAAC;YACzE,CAAC;YAED,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,mBAAmB,CAAC,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACzF,IAAI,CAAC,YAAY,EAAE,CAAC;gBACnB,OAAO;oBACN,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,wCAAwC,KAAK,CAAC,UAAU,GAAG;iBAClE,CAAC;YACH,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,GAAG,CAC9D,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,SAAS,EACf;gBACC,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,OAAO,EAAE,YAAY,CAAC,mBAA4D;aAClF,CACD,CAAC;YAEF,OAAO;gBACN,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,SAAS;gBAC5C,OAAO,EAAE,MAAM,CAAC,MAAM,KAAK,SAAS;gBACpC,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,KAAK,EAAE,MAAM,CAAC,KAAK;aACnB,CAAC;QACH,CAAC;KACD,CAAC,CAAC;AACJ,CAAC"}
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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"}
@@ -46,7 +46,7 @@ async function handleWebSearch(context, input) {
46
46
  includeDomains: input.includeDomains ?? undefined,
47
47
  });
48
48
  for (const r of result.results) {
49
- r.snippet = (0, sanitize_web_content_1.sanitizeWebContent)(r.snippet);
49
+ r.snippet = (0, sanitize_web_content_1.wrapUntrustedData)((0, sanitize_web_content_1.sanitizeWebContent)(r.snippet), r.url, r.title);
50
50
  }
51
51
  return result;
52
52
  }
@@ -136,7 +136,7 @@ async function handleFetchUrl(context, input, ctx) {
136
136
  maxContentLength: input.maxContentLength ?? undefined,
137
137
  authorizeUrl,
138
138
  });
139
- result.content = (0, sanitize_web_content_1.wrapInBoundaryTags)((0, sanitize_web_content_1.sanitizeWebContent)(result.content), result.finalUrl);
139
+ result.content = (0, sanitize_web_content_1.wrapUntrustedData)((0, sanitize_web_content_1.sanitizeWebContent)(result.content), result.finalUrl);
140
140
  return result;
141
141
  }
142
142
  function createResearchTool(context) {
@@ -1 +1 @@
1
- {"version":3,"file":"research.tool.js","sourceRoot":"","sources":["../../src/tools/research.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"research.tool.js","sourceRoot":"","sources":["../../src/tools/research.tool.ts"],"names":[],"mappings":"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"}