@n8n/instance-ai 1.13.3 → 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.
- package/dist/agent/apply-agent-thinking.js +24 -19
- package/dist/agent/apply-agent-thinking.js.map +1 -1
- package/dist/agent/computer-use-prompt.js +5 -6
- package/dist/agent/computer-use-prompt.js.map +1 -1
- package/dist/agent/shared-prompts.d.ts +1 -1
- package/dist/agent/shared-prompts.js +1 -1
- package/dist/agent/shared-prompts.js.map +1 -1
- package/dist/agent/sub-agent-factory.d.ts +1 -1
- package/dist/agent/system-prompt.js +20 -3
- package/dist/agent/system-prompt.js.map +1 -1
- package/dist/build.tsbuildinfo +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/dist/runtime/orchestrator-identity.d.ts +1 -0
- package/dist/runtime/orchestrator-identity.js +7 -0
- package/dist/runtime/orchestrator-identity.js.map +1 -0
- package/dist/runtime/orchestrator-run-control.d.ts +16 -0
- package/dist/runtime/orchestrator-run-control.js +26 -0
- package/dist/runtime/orchestrator-run-control.js.map +1 -0
- package/dist/runtime/resumable-stream-executor.d.ts +3 -0
- package/dist/runtime/resumable-stream-executor.js +26 -0
- package/dist/runtime/resumable-stream-executor.js.map +1 -1
- package/dist/runtime/run-state-registry.d.ts +4 -0
- package/dist/runtime/run-state-registry.js.map +1 -1
- package/dist/runtime/stream-runner.d.ts +3 -0
- package/dist/runtime/stream-runner.js +2 -0
- package/dist/runtime/stream-runner.js.map +1 -1
- package/dist/storage/terminal-outcome-storage.d.ts +2 -2
- package/dist/storage/workflow-loop-storage.d.ts +5 -0
- package/dist/tools/executions.tool.js +2 -1
- package/dist/tools/executions.tool.js.map +1 -1
- package/dist/tools/index.js +3 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/n8n-docs/ranking.d.ts +12 -0
- package/dist/tools/n8n-docs/ranking.js +170 -0
- package/dist/tools/n8n-docs/ranking.js.map +1 -0
- package/dist/tools/n8n-docs/registry.d.ts +34 -0
- package/dist/tools/n8n-docs/registry.js +216 -0
- package/dist/tools/n8n-docs/registry.js.map +1 -0
- package/dist/tools/n8n-docs/schemas.d.ts +163 -0
- package/dist/tools/n8n-docs/schemas.js +89 -0
- package/dist/tools/n8n-docs/schemas.js.map +1 -0
- package/dist/tools/n8n-docs.tool.d.ts +7 -0
- package/dist/tools/n8n-docs.tool.js +147 -0
- package/dist/tools/n8n-docs.tool.js.map +1 -0
- package/dist/tools/nodes/suggested-nodes-data.js +1 -4
- package/dist/tools/nodes/suggested-nodes-data.js.map +1 -1
- package/dist/tools/orchestration/plan.tool.js +1 -0
- package/dist/tools/orchestration/plan.tool.js.map +1 -1
- package/dist/tools/orchestration/verification/analyze-result.d.ts +28 -0
- package/dist/tools/orchestration/verification/analyze-result.js +238 -0
- package/dist/tools/orchestration/verification/analyze-result.js.map +1 -0
- package/dist/tools/orchestration/verification/finalize-result.d.ts +18 -0
- package/dist/tools/orchestration/verification/finalize-result.js +137 -0
- package/dist/tools/orchestration/verification/finalize-result.js.map +1 -0
- package/dist/tools/orchestration/verification/prepare-run.d.ts +16 -0
- package/dist/tools/orchestration/verification/prepare-run.js +58 -0
- package/dist/tools/orchestration/verification/prepare-run.js.map +1 -0
- package/dist/tools/orchestration/verification/resolve-target.d.ts +18 -0
- package/dist/tools/orchestration/verification/resolve-target.js +113 -0
- package/dist/tools/orchestration/verification/resolve-target.js.map +1 -0
- package/dist/tools/orchestration/verification/types.d.ts +44 -0
- package/dist/tools/orchestration/verification/types.js +3 -0
- package/dist/tools/orchestration/verification/types.js.map +1 -0
- package/dist/tools/orchestration/verify-built-workflow.tool.d.ts +6 -3
- package/dist/tools/orchestration/verify-built-workflow.tool.js +70 -448
- package/dist/tools/orchestration/verify-built-workflow.tool.js.map +1 -1
- package/dist/tools/shared/ask-user.tool.d.ts +4 -4
- package/dist/tools/shared/ask-user.tool.js +6 -0
- package/dist/tools/shared/ask-user.tool.js.map +1 -1
- package/dist/tools/tool-ids.d.ts +2 -0
- package/dist/tools/tool-ids.js +4 -1
- package/dist/tools/tool-ids.js.map +1 -1
- package/dist/tools/workflows/build-workflow.tool.js +4 -0
- package/dist/tools/workflows/build-workflow.tool.js.map +1 -1
- package/dist/tools/workflows/detect-array-input-collapse.d.ts +3 -0
- package/dist/tools/workflows/detect-array-input-collapse.js +76 -0
- package/dist/tools/workflows/detect-array-input-collapse.js.map +1 -0
- package/dist/tools/workflows/generate-simulation-fixtures.service.js +1 -1
- package/dist/tools/workflows/generate-simulation-fixtures.service.js.map +1 -1
- package/dist/tools/workflows/setup-workflow.schema.d.ts +26 -26
- package/dist/tools/workflows/setup-workflow.service.d.ts +1 -1
- package/dist/tools/workflows/setup-workflow.service.js +24 -1
- package/dist/tools/workflows/setup-workflow.service.js.map +1 -1
- package/dist/tools/workflows/workflow-build-routing.d.ts +5 -1
- package/dist/tools/workflows/workflow-build-routing.js +9 -1
- package/dist/tools/workflows/workflow-build-routing.js.map +1 -1
- package/dist/tools/workflows/workflow-json-utils.d.ts +1 -0
- package/dist/tools/workflows/workflow-json-utils.js +95 -0
- package/dist/tools/workflows/workflow-json-utils.js.map +1 -1
- package/dist/tools/workflows/workflow-source-compiler.js +2 -0
- package/dist/tools/workflows/workflow-source-compiler.js.map +1 -1
- package/dist/tools/workflows.tool.js +1 -1
- package/dist/tools/workflows.tool.js.map +1 -1
- package/dist/types.d.ts +4 -5
- package/dist/types.js.map +1 -1
- package/dist/workflow-loop/guidance.js +4 -2
- package/dist/workflow-loop/guidance.js.map +1 -1
- package/dist/workflow-loop/remediation.d.ts +1 -0
- package/dist/workflow-loop/remediation.js +2 -1
- package/dist/workflow-loop/remediation.js.map +1 -1
- package/dist/workflow-loop/workflow-loop-state.d.ts +3 -0
- package/dist/workflow-loop/workflow-loop-state.js +1 -0
- package/dist/workflow-loop/workflow-loop-state.js.map +1 -1
- package/dist/workflow-loop/workflow-task-service.d.ts +1 -0
- package/dist/workflow-loop/workflow-task-service.js +13 -0
- package/dist/workflow-loop/workflow-task-service.js.map +1 -1
- package/package.json +14 -13
- package/skills/data-table-manager/SKILL.md +21 -0
- package/skills/data-table-manager/references/data-table-playbook.md +9 -0
- package/skills/debugging-executions/SKILL.md +15 -2
- package/skills/n8n-docs-assistant/SKILL.md +49 -0
- package/skills/planned-task-runtime/SKILL.md +4 -2
- package/skills/post-build-flow/SKILL.md +51 -5
- 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
|
|
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
|
|
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
|
|
121
|
-
'Webhook
|
|
122
|
-
'Chat Trigger
|
|
123
|
-
'Schedule Trigger
|
|
124
|
-
"If you wrap a form payload in {formFields: {...}} the adapter will reject the call
|
|
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
|
|
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
|
|
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
|
|
472
|
-
if ('
|
|
473
|
-
return
|
|
474
|
-
const {
|
|
475
|
-
const
|
|
476
|
-
if (
|
|
477
|
-
return await
|
|
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
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
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
|
|
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
|
-
|
|
508
|
-
|
|
127
|
+
buildOutcome,
|
|
128
|
+
simulatedNodes: prepared.simulatedNodes,
|
|
129
|
+
stateBefore: target.stateBefore,
|
|
130
|
+
runId: context.runId,
|
|
509
131
|
});
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
const
|
|
520
|
-
const
|
|
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
|
-
...(
|
|
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
|
}[];
|