@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
@@ -0,0 +1,18 @@
1
+ import { type VerificationAnalysis } from './analyze-result';
2
+ import type { ExecutionRunResult, ResolvedVerifyInput, VerifyBuiltWorkflowOutput, WorkflowTaskService } from './types';
3
+ import type { OrchestrationContext } from '../../../types';
4
+ export declare function handleMissingSimulationPlan(args: {
5
+ input: ResolvedVerifyInput;
6
+ context: OrchestrationContext;
7
+ workflowTaskService: WorkflowTaskService;
8
+ workflowId: string;
9
+ }): Promise<VerifyBuiltWorkflowOutput>;
10
+ export declare function persistVerificationOutcome(args: {
11
+ input: ResolvedVerifyInput;
12
+ context: OrchestrationContext;
13
+ workflowTaskService: WorkflowTaskService;
14
+ workflowId: string;
15
+ result: ExecutionRunResult;
16
+ analysis: VerificationAnalysis;
17
+ verifyAttempts: number;
18
+ }): Promise<void>;
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handleMissingSimulationPlan = handleMissingSimulationPlan;
4
+ exports.persistVerificationOutcome = persistVerificationOutcome;
5
+ const analyze_result_1 = require("./analyze-result");
6
+ const remediation_1 = require("../../../workflow-loop/remediation");
7
+ async function handleMissingSimulationPlan(args) {
8
+ const { input, context, workflowTaskService, workflowId } = args;
9
+ const guidance = 'Verification was not run because the build outcome has no simulation plan. ' +
10
+ 'Rebuild or resubmit the workflow so destructive nodes can be classified before verification.';
11
+ const remediation = (0, remediation_1.createRemediation)({
12
+ category: 'blocked',
13
+ shouldEdit: false,
14
+ reason: 'missing_simulation_plan',
15
+ guidance,
16
+ });
17
+ context.logger.warn('verify-built-workflow: build outcome has no simulation plan — refusing to run without simulation safeguards', { workItemId: input.workItemId, workflowId });
18
+ try {
19
+ await workflowTaskService.updateBuildOutcome(input.workItemId, {
20
+ remediation,
21
+ verification: {
22
+ attempted: true,
23
+ success: false,
24
+ status: 'unknown',
25
+ failureSignature: 'missing_simulation_plan',
26
+ evidence: { errorMessage: guidance },
27
+ verifiedAt: new Date().toISOString(),
28
+ },
29
+ });
30
+ }
31
+ catch {
32
+ }
33
+ try {
34
+ await workflowTaskService.reportVerificationVerdict({
35
+ workItemId: input.workItemId,
36
+ runId: context.runId,
37
+ workflowId,
38
+ verdict: 'failed_terminal',
39
+ failureSignature: 'missing_simulation_plan',
40
+ diagnosis: guidance,
41
+ remediation,
42
+ summary: guidance,
43
+ });
44
+ }
45
+ catch (error) {
46
+ context.logger.warn('verify-built-workflow: failed to persist terminal verdict', {
47
+ workItemId: input.workItemId,
48
+ workflowId,
49
+ error: error instanceof Error ? error.message : String(error),
50
+ });
51
+ }
52
+ return {
53
+ success: false,
54
+ resolvedWorkItemId: input.workItemId,
55
+ status: 'unknown',
56
+ error: guidance,
57
+ remediation,
58
+ guidance,
59
+ };
60
+ }
61
+ async function persistVerificationOutcome(args) {
62
+ const { input, context, workflowTaskService, workflowId, result, analysis, verifyAttempts } = args;
63
+ try {
64
+ const executedForEvidence = (0, analyze_result_1.namesOrDataKeys)(analysis.reachedNames, result.data);
65
+ await workflowTaskService.updateBuildOutcome(input.workItemId, {
66
+ verifyAttempts,
67
+ verification: {
68
+ attempted: true,
69
+ success: analysis.success,
70
+ executionId: result.executionId || undefined,
71
+ status: result.status,
72
+ failureSignature: analysis.success ? undefined : result.error,
73
+ evidence: {
74
+ nodesExecuted: executedForEvidence && executedForEvidence.length > 0 ? executedForEvidence : undefined,
75
+ nodesNotReached: analysis.nodesNotReached.length > 0 ? analysis.nodesNotReached : undefined,
76
+ producedOutputRows: (0, analyze_result_1.countProducedOutputRows)(result.data),
77
+ errorMessage: analysis.success ? undefined : result.error,
78
+ },
79
+ verifiedAt: new Date().toISOString(),
80
+ },
81
+ });
82
+ }
83
+ catch {
84
+ }
85
+ if (analysis.remediation && !analysis.remediation.shouldEdit) {
86
+ await reportTerminalRemediation({
87
+ input,
88
+ context,
89
+ workflowTaskService,
90
+ workflowId,
91
+ executionId: result.executionId || undefined,
92
+ remediation: analysis.remediation,
93
+ });
94
+ }
95
+ }
96
+ async function reportTerminalRemediation(args) {
97
+ const { input, context, workflowTaskService, workflowId, executionId, remediation } = args;
98
+ try {
99
+ await workflowTaskService.reportVerificationVerdict({
100
+ workItemId: input.workItemId,
101
+ runId: context.runId,
102
+ workflowId,
103
+ executionId,
104
+ verdict: remediation.category === 'needs_setup' ? 'needs_user_input' : 'failed_terminal',
105
+ failureSignature: remediation.reason,
106
+ diagnosis: remediation.guidance,
107
+ remediation,
108
+ summary: remediation.guidance,
109
+ });
110
+ }
111
+ catch (error) {
112
+ context.logger.warn('verify-built-workflow: failed to persist terminal verdict', {
113
+ workItemId: input.workItemId,
114
+ workflowId,
115
+ error: error instanceof Error ? error.message : String(error),
116
+ });
117
+ }
118
+ try {
119
+ context.trackTelemetry?.('Builder remediation guard fired', {
120
+ thread_id: context.threadId,
121
+ run_id: context.runId,
122
+ work_item_id: input.workItemId,
123
+ workflow_id: workflowId,
124
+ category: remediation.category,
125
+ attempt_count: remediation.attemptCount,
126
+ reason: remediation.reason,
127
+ });
128
+ }
129
+ catch (error) {
130
+ context.logger.warn('verify-built-workflow: failed to emit remediation telemetry', {
131
+ workItemId: input.workItemId,
132
+ workflowId,
133
+ error: error instanceof Error ? error.message : String(error),
134
+ });
135
+ }
136
+ }
137
+ //# sourceMappingURL=finalize-result.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"finalize-result.js","sourceRoot":"","sources":["../../../../src/tools/orchestration/verification/finalize-result.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { VerifyBuiltWorkflowOutput, VerifyToolInput } from './types';
2
+ import type { WorkflowBuildOutcome } from '../../../workflow-loop/workflow-loop-state';
3
+ export interface PreparedVerificationRun {
4
+ verificationPinData: Record<string, unknown[]> | undefined;
5
+ simulatedNodes: Array<{
6
+ nodeName: string;
7
+ reason: string;
8
+ }>;
9
+ }
10
+ export declare function prepareVerificationRun(buildOutcome: WorkflowBuildOutcome, fixtureOverrides: VerifyToolInput['fixtureOverrides']): {
11
+ kind: 'ready';
12
+ prepared: PreparedVerificationRun;
13
+ } | {
14
+ kind: 'blocked';
15
+ result: VerifyBuiltWorkflowOutput;
16
+ };
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.prepareVerificationRun = prepareVerificationRun;
4
+ const remediation_1 = require("../../../workflow-loop/remediation");
5
+ function getInvalidFixtureOverrideNodeNames(buildOutcome, fixtureOverrides) {
6
+ if (!fixtureOverrides)
7
+ return [];
8
+ const simulatedNodeNames = new Set((buildOutcome.nodeSimulationPlan ?? [])
9
+ .filter((verdict) => verdict.verdict === 'simulate')
10
+ .map((verdict) => verdict.nodeName));
11
+ return Object.keys(fixtureOverrides).filter((nodeName) => !simulatedNodeNames.has(nodeName));
12
+ }
13
+ function buildVerificationPinData(buildOutcome, fixtureOverrides) {
14
+ const merged = { ...(buildOutcome.verificationPinData ?? {}) };
15
+ const fixtures = buildOutcome.simulationFixtures ?? {};
16
+ const simulatedNodes = [];
17
+ for (const verdict of buildOutcome.nodeSimulationPlan ?? []) {
18
+ if (verdict.verdict !== 'simulate')
19
+ continue;
20
+ simulatedNodes.push({ nodeName: verdict.nodeName, reason: verdict.reason });
21
+ const items = fixtures[verdict.nodeName];
22
+ merged[verdict.nodeName] = items?.length ? items : [{}];
23
+ }
24
+ if (fixtureOverrides) {
25
+ for (const [nodeName, items] of Object.entries(fixtureOverrides)) {
26
+ merged[nodeName] = items;
27
+ }
28
+ }
29
+ return {
30
+ verificationPinData: Object.keys(merged).length > 0 ? merged : undefined,
31
+ simulatedNodes,
32
+ };
33
+ }
34
+ function prepareVerificationRun(buildOutcome, fixtureOverrides) {
35
+ const invalidFixtureOverrideNodeNames = getInvalidFixtureOverrideNodeNames(buildOutcome, fixtureOverrides);
36
+ if (invalidFixtureOverrideNodeNames.length > 0) {
37
+ const guidance = 'Fixture overrides can only target nodes already classified as simulated in the build outcome. ' +
38
+ `Invalid override node(s): ${invalidFixtureOverrideNodeNames.join(', ')}. ` +
39
+ 'Do not run the workflow live; rebuild with declared output fixtures or override a simulated node.';
40
+ const remediation = (0, remediation_1.createRemediation)({
41
+ category: 'blocked',
42
+ shouldEdit: false,
43
+ reason: 'invalid_fixture_override',
44
+ guidance,
45
+ });
46
+ return {
47
+ kind: 'blocked',
48
+ result: {
49
+ success: false,
50
+ error: guidance,
51
+ remediation,
52
+ guidance,
53
+ },
54
+ };
55
+ }
56
+ return { kind: 'ready', prepared: buildVerificationPinData(buildOutcome, fixtureOverrides) };
57
+ }
58
+ //# sourceMappingURL=prepare-run.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prepare-run.js","sourceRoot":"","sources":["../../../../src/tools/orchestration/verification/prepare-run.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { ResolvedVerifyInput, VerifyBuiltWorkflowOutput, VerifyToolInput, WorkflowTaskService } from './types';
2
+ import type { OrchestrationContext } from '../../../types';
3
+ import type { WorkflowBuildOutcome } from '../../../workflow-loop/workflow-loop-state';
4
+ export interface ResolvedVerificationTarget {
5
+ input: ResolvedVerifyInput;
6
+ buildOutcome: WorkflowBuildOutcome;
7
+ workflowId: string;
8
+ stateBefore: Awaited<ReturnType<WorkflowTaskService['getWorkflowLoopState']>> | undefined;
9
+ workflowTaskService: WorkflowTaskService;
10
+ domainContext: NonNullable<OrchestrationContext['domainContext']>;
11
+ }
12
+ export declare function resolveVerificationTarget(input: VerifyToolInput, context: OrchestrationContext): Promise<{
13
+ kind: 'blocked';
14
+ result: VerifyBuiltWorkflowOutput;
15
+ } | {
16
+ kind: 'ready';
17
+ target: ResolvedVerificationTarget;
18
+ }>;
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveVerificationTarget = resolveVerificationTarget;
4
+ const remediation_1 = require("../../../workflow-loop/remediation");
5
+ async function resolveVerificationTarget(input, context) {
6
+ if (!context.workflowTaskService || !context.domainContext) {
7
+ const remediation = (0, remediation_1.createRemediation)({
8
+ category: 'blocked',
9
+ shouldEdit: false,
10
+ reason: 'verification_support_unavailable',
11
+ guidance: 'Verification support is not available. Stop code edits and explain the blocker.',
12
+ });
13
+ return {
14
+ kind: 'blocked',
15
+ result: { success: false, error: 'Verification support not available.', remediation },
16
+ };
17
+ }
18
+ const buildOutcome = (input.workItemId
19
+ ? await context.workflowTaskService.getBuildOutcome(input.workItemId)
20
+ : undefined) ??
21
+ (await context.workflowTaskService.getLatestBuildOutcomeForWorkflow(input.workflowId));
22
+ if (!buildOutcome) {
23
+ const target = input.workItemId
24
+ ? `work item ${input.workItemId} or workflow ${input.workflowId}`
25
+ : `workflow ${input.workflowId}`;
26
+ const remediation = (0, remediation_1.createRemediation)({
27
+ category: 'blocked',
28
+ shouldEdit: false,
29
+ reason: 'missing_build_outcome',
30
+ guidance: `No build outcome found for ${target}. Stop code edits and explain the blocker.`,
31
+ });
32
+ return {
33
+ kind: 'blocked',
34
+ result: {
35
+ success: false,
36
+ error: `No build outcome found for ${target}.`,
37
+ remediation,
38
+ guidance: remediation.guidance,
39
+ },
40
+ };
41
+ }
42
+ const resolvedInput = { ...input, workItemId: buildOutcome.workItemId };
43
+ const stateBefore = await context.workflowTaskService.getWorkflowLoopState(resolvedInput.workItemId);
44
+ const terminalRemediation = stateBefore?.lastRemediation && !stateBefore.lastRemediation.shouldEdit
45
+ ? (0, remediation_1.terminalRemediationFromState)(stateBefore, context.runId)
46
+ : undefined;
47
+ if (terminalRemediation) {
48
+ return {
49
+ kind: 'blocked',
50
+ result: {
51
+ success: false,
52
+ resolvedWorkItemId: resolvedInput.workItemId,
53
+ error: terminalRemediation.guidance,
54
+ remediation: terminalRemediation,
55
+ guidance: terminalRemediation.guidance,
56
+ },
57
+ };
58
+ }
59
+ if (!buildOutcome.workflowId) {
60
+ return {
61
+ kind: 'blocked',
62
+ result: {
63
+ success: false,
64
+ resolvedWorkItemId: resolvedInput.workItemId,
65
+ error: `Build outcome ${resolvedInput.workItemId} does not include a workflow ID.`,
66
+ },
67
+ };
68
+ }
69
+ if (buildOutcome.workflowId !== input.workflowId) {
70
+ return {
71
+ kind: 'blocked',
72
+ result: {
73
+ success: false,
74
+ resolvedWorkItemId: resolvedInput.workItemId,
75
+ error: `Build outcome ${resolvedInput.workItemId} belongs to workflow ${buildOutcome.workflowId}, ` +
76
+ `but verification was requested for workflow ${input.workflowId}.`,
77
+ },
78
+ };
79
+ }
80
+ if ((buildOutcome.verifyAttempts ?? 0) >= remediation_1.MAX_VERIFY_ATTEMPTS) {
81
+ const remediation = (0, remediation_1.createRemediation)({
82
+ category: 'blocked',
83
+ shouldEdit: false,
84
+ reason: 'verify_budget_exhausted',
85
+ attemptCount: buildOutcome.verifyAttempts ?? 0,
86
+ guidance: 'Verification has already run the maximum number of times for this workflow. ' +
87
+ 'Report which nodes were and were not reached, and let the user decide whether to run it manually. ' +
88
+ 'Do not call executions(action="run") to expand coverage.',
89
+ });
90
+ return {
91
+ kind: 'blocked',
92
+ result: {
93
+ success: false,
94
+ resolvedWorkItemId: resolvedInput.workItemId,
95
+ error: remediation.guidance,
96
+ remediation,
97
+ guidance: remediation.guidance,
98
+ },
99
+ };
100
+ }
101
+ return {
102
+ kind: 'ready',
103
+ target: {
104
+ input: resolvedInput,
105
+ buildOutcome,
106
+ workflowId: buildOutcome.workflowId,
107
+ stateBefore,
108
+ workflowTaskService: context.workflowTaskService,
109
+ domainContext: context.domainContext,
110
+ },
111
+ };
112
+ }
113
+ //# sourceMappingURL=resolve-target.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-target.js","sourceRoot":"","sources":["../../../../src/tools/orchestration/verification/resolve-target.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ import type { OrchestrationContext } from '../../../types';
2
+ import type { RemediationMetadata } from '../../../workflow-loop/workflow-loop-state';
3
+ export interface VerifyToolInput {
4
+ workItemId?: string;
5
+ workflowId: string;
6
+ inputData?: Record<string, unknown>;
7
+ timeout?: number;
8
+ includeData?: boolean;
9
+ maxDataChars?: number;
10
+ fixtureOverrides?: Record<string, Array<Record<string, unknown>>>;
11
+ }
12
+ export interface ResolvedVerifyInput extends VerifyToolInput {
13
+ workItemId: string;
14
+ }
15
+ export type WorkflowTaskService = NonNullable<OrchestrationContext['workflowTaskService']>;
16
+ export type ExecutionRunResult = Awaited<ReturnType<NonNullable<OrchestrationContext['domainContext']>['executionService']['run']>>;
17
+ export interface VerificationNodePreview {
18
+ nodeName: string;
19
+ itemCount?: number;
20
+ preview: string;
21
+ truncated: boolean;
22
+ chars: number;
23
+ simulated?: boolean;
24
+ }
25
+ export interface VerifyBuiltWorkflowOutput {
26
+ resolvedWorkItemId?: string;
27
+ executionId?: string;
28
+ success: boolean;
29
+ status?: 'running' | 'success' | 'error' | 'waiting' | 'unknown';
30
+ nodesExecuted?: string[];
31
+ nodePreviews?: VerificationNodePreview[];
32
+ simulatedNodes?: Array<{
33
+ nodeName: string;
34
+ reason: string;
35
+ }>;
36
+ simulationNote?: string;
37
+ lastNodeExecuted?: string;
38
+ nodesNotReached?: string[];
39
+ coverageNote?: string;
40
+ data?: Record<string, unknown>;
41
+ error?: string;
42
+ remediation?: RemediationMetadata;
43
+ guidance?: string;
44
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/tools/orchestration/verification/types.ts"],"names":[],"mappings":""}
@@ -1,24 +1,27 @@
1
1
  import { z } from 'zod';
2
2
  import type { OrchestrationContext } from '../../types';
3
3
  export declare const verifyBuiltWorkflowInputSchema: z.ZodObject<{
4
- workItemId: z.ZodString;
4
+ workItemId: z.ZodOptional<z.ZodString>;
5
5
  workflowId: z.ZodString;
6
6
  inputData: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
7
7
  timeout: z.ZodOptional<z.ZodNumber>;
8
8
  includeData: z.ZodOptional<z.ZodBoolean>;
9
9
  maxDataChars: z.ZodOptional<z.ZodNumber>;
10
+ fixtureOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>>;
10
11
  }, "strip", z.ZodTypeAny, {
11
- workItemId: string;
12
12
  workflowId: string;
13
+ workItemId?: string | undefined;
13
14
  inputData?: Record<string, unknown> | undefined;
14
15
  timeout?: number | undefined;
16
+ fixtureOverrides?: Record<string, Record<string, unknown>[]> | undefined;
15
17
  includeData?: boolean | undefined;
16
18
  maxDataChars?: number | undefined;
17
19
  }, {
18
- workItemId: string;
19
20
  workflowId: string;
21
+ workItemId?: string | undefined;
20
22
  inputData?: Record<string, unknown> | undefined;
21
23
  timeout?: number | undefined;
24
+ fixtureOverrides?: Record<string, Record<string, unknown>[]> | undefined;
22
25
  includeData?: boolean | undefined;
23
26
  maxDataChars?: number | undefined;
24
27
  }>;