@ngocsangairvds/vsaf 4.0.16 → 4.1.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 (111) hide show
  1. package/package.json +5 -3
  2. package/packages/cli/dist/commands/doctor.js +1 -1
  3. package/packages/cli/dist/commands/doctor.js.map +1 -1
  4. package/packages/cli/dist/commands/init.d.ts.map +1 -1
  5. package/packages/cli/dist/commands/init.js +37 -7
  6. package/packages/cli/dist/commands/init.js.map +1 -1
  7. package/packages/cli/dist/commands/list.js +8 -1
  8. package/packages/cli/dist/commands/list.js.map +1 -1
  9. package/packages/cli/dist/commands/run.d.ts.map +1 -1
  10. package/packages/cli/dist/commands/run.js +17 -4
  11. package/packages/cli/dist/commands/run.js.map +1 -1
  12. package/packages/cli/dist/commands/skill.d.ts.map +1 -1
  13. package/packages/cli/dist/commands/skill.js +14 -2
  14. package/packages/cli/dist/commands/skill.js.map +1 -1
  15. package/packages/cli/dist/mcp/server.d.ts +22 -0
  16. package/packages/cli/dist/mcp/server.d.ts.map +1 -1
  17. package/packages/cli/dist/mcp/server.js +311 -20
  18. package/packages/cli/dist/mcp/server.js.map +1 -1
  19. package/packages/cli/dist/server/routes/runs.d.ts.map +1 -1
  20. package/packages/cli/dist/server/routes/runs.js +7 -1
  21. package/packages/cli/dist/server/routes/runs.js.map +1 -1
  22. package/packages/cli/dist/server/routes/workflows.d.ts.map +1 -1
  23. package/packages/cli/dist/server/routes/workflows.js +3 -0
  24. package/packages/cli/dist/server/routes/workflows.js.map +1 -1
  25. package/packages/cli/dist/server/services/execution-manager.d.ts.map +1 -1
  26. package/packages/cli/dist/server/services/execution-manager.js +68 -41
  27. package/packages/cli/dist/server/services/execution-manager.js.map +1 -1
  28. package/packages/cli/dist/server/services/sse-manager.d.ts.map +1 -1
  29. package/packages/cli/dist/server/services/sse-manager.js +7 -2
  30. package/packages/cli/dist/server/services/sse-manager.js.map +1 -1
  31. package/packages/core/dist/commands/command-loader.d.ts.map +1 -1
  32. package/packages/core/dist/commands/command-loader.js +3 -0
  33. package/packages/core/dist/commands/command-loader.js.map +1 -1
  34. package/packages/core/dist/engine/condition-evaluator.js +3 -2
  35. package/packages/core/dist/engine/condition-evaluator.js.map +1 -1
  36. package/packages/core/dist/engine/dag-executor.d.ts +29 -1
  37. package/packages/core/dist/engine/dag-executor.d.ts.map +1 -1
  38. package/packages/core/dist/engine/dag-executor.js +279 -130
  39. package/packages/core/dist/engine/dag-executor.js.map +1 -1
  40. package/packages/core/dist/engine/dag-parser.d.ts.map +1 -1
  41. package/packages/core/dist/engine/dag-parser.js +3 -0
  42. package/packages/core/dist/engine/dag-parser.js.map +1 -1
  43. package/packages/core/dist/engine/node-runner.d.ts +1 -0
  44. package/packages/core/dist/engine/node-runner.d.ts.map +1 -1
  45. package/packages/core/dist/engine/node-runner.js +14 -2
  46. package/packages/core/dist/engine/node-runner.js.map +1 -1
  47. package/packages/core/dist/engine/variable-resolver.d.ts +1 -1
  48. package/packages/core/dist/engine/variable-resolver.d.ts.map +1 -1
  49. package/packages/core/dist/engine/variable-resolver.js +21 -11
  50. package/packages/core/dist/engine/variable-resolver.js.map +1 -1
  51. package/packages/core/dist/index.d.ts +5 -1
  52. package/packages/core/dist/index.d.ts.map +1 -1
  53. package/packages/core/dist/index.js +13 -3
  54. package/packages/core/dist/index.js.map +1 -1
  55. package/packages/core/dist/isolation/artifact-store.d.ts.map +1 -1
  56. package/packages/core/dist/isolation/artifact-store.js +30 -5
  57. package/packages/core/dist/isolation/artifact-store.js.map +1 -1
  58. package/packages/core/dist/isolation/workspace-manager.d.ts +2 -0
  59. package/packages/core/dist/isolation/workspace-manager.d.ts.map +1 -1
  60. package/packages/core/dist/isolation/workspace-manager.js +81 -7
  61. package/packages/core/dist/isolation/workspace-manager.js.map +1 -1
  62. package/packages/core/dist/schema/workflow-schema.d.ts +13 -0
  63. package/packages/core/dist/schema/workflow-schema.d.ts.map +1 -1
  64. package/packages/core/dist/schema/workflow-schema.js +6 -3
  65. package/packages/core/dist/schema/workflow-schema.js.map +1 -1
  66. package/packages/core/dist/skills/skill-loader.d.ts.map +1 -1
  67. package/packages/core/dist/skills/skill-loader.js +7 -0
  68. package/packages/core/dist/skills/skill-loader.js.map +1 -1
  69. package/packages/core/dist/store/atomic.d.ts +11 -0
  70. package/packages/core/dist/store/atomic.d.ts.map +1 -0
  71. package/packages/core/dist/store/atomic.js +51 -0
  72. package/packages/core/dist/store/atomic.js.map +1 -0
  73. package/packages/core/dist/store/recovery.d.ts +3 -0
  74. package/packages/core/dist/store/recovery.d.ts.map +1 -0
  75. package/packages/core/dist/store/recovery.js +206 -0
  76. package/packages/core/dist/store/recovery.js.map +1 -0
  77. package/packages/core/dist/store/run-lock.d.ts +9 -0
  78. package/packages/core/dist/store/run-lock.d.ts.map +1 -0
  79. package/packages/core/dist/store/run-lock.js +62 -0
  80. package/packages/core/dist/store/run-lock.js.map +1 -0
  81. package/packages/core/dist/store/run-store.d.ts +20 -7
  82. package/packages/core/dist/store/run-store.d.ts.map +1 -1
  83. package/packages/core/dist/store/run-store.js +175 -34
  84. package/packages/core/dist/store/run-store.js.map +1 -1
  85. package/packages/core/dist/store/snapshot.d.ts +4 -0
  86. package/packages/core/dist/store/snapshot.d.ts.map +1 -0
  87. package/packages/core/dist/store/snapshot.js +59 -0
  88. package/packages/core/dist/store/snapshot.js.map +1 -0
  89. package/packages/core/dist/store/types.d.ts +89 -4
  90. package/packages/core/dist/store/types.d.ts.map +1 -1
  91. package/packages/core/dist/store/types.js +14 -0
  92. package/packages/core/dist/store/types.js.map +1 -1
  93. package/packages/core/dist/store/wal.d.ts +39 -0
  94. package/packages/core/dist/store/wal.d.ts.map +1 -0
  95. package/packages/core/dist/store/wal.js +203 -0
  96. package/packages/core/dist/store/wal.js.map +1 -0
  97. package/packages/core/dist/types/dag.d.ts +3 -0
  98. package/packages/core/dist/types/dag.d.ts.map +1 -1
  99. package/packages/core/dist/types/workflow.d.ts +6 -3
  100. package/packages/core/dist/types/workflow.d.ts.map +1 -1
  101. package/skills/sdlc/workflows/hotfix-tdd.yaml +3 -0
  102. package/skills/sdlc/workflows/master-sdlc.yaml +10 -0
  103. package/skills/sdlc/workflows/onboarding.yaml +2 -0
  104. package/skills/sdlc/workflows/sdlc-build.yaml +2 -0
  105. package/skills/sdlc/workflows/sdlc-design.yaml +2 -0
  106. package/skills/sdlc/workflows/sdlc-qa.yaml +3 -0
  107. package/skills/sdlc/workflows/sdlc-testcase.yaml +1 -0
  108. package/packages/core/dist/store/event-log.d.ts +0 -8
  109. package/packages/core/dist/store/event-log.d.ts.map +0 -1
  110. package/packages/core/dist/store/event-log.js +0 -30
  111. package/packages/core/dist/store/event-log.js.map +0 -1
@@ -13,6 +13,7 @@ class DAGExecutor {
13
13
  completed = new Set();
14
14
  failed = new Set();
15
15
  skipped = new Set();
16
+ inFlight = new Set();
16
17
  nodeResults = {};
17
18
  runner;
18
19
  args = '';
@@ -20,7 +21,11 @@ class DAGExecutor {
20
21
  initialized = false;
21
22
  inputsValidated = false;
22
23
  retryCounts = new Map();
24
+ ancestorCache = new Map();
23
25
  delayFn;
26
+ outputsMapCache = null;
27
+ outputsMapDirty = true;
28
+ yieldTimestamps = new Map();
24
29
  constructor(workspaceCwd, projectPath, graph, callbacks, options = {}) {
25
30
  this.workspaceCwd = workspaceCwd;
26
31
  this.projectPath = projectPath;
@@ -30,6 +35,20 @@ class DAGExecutor {
30
35
  this.pending = new Set(graph.nodes.keys());
31
36
  this.delayFn = options.delayFn ?? ((ms) => new Promise(r => setTimeout(r, ms)));
32
37
  }
38
+ static fromRecoveredState(workspaceCwd, projectPath, graph, callbacks, state, options = {}) {
39
+ const executor = new DAGExecutor(workspaceCwd, projectPath, graph, callbacks, options);
40
+ executor.pending = state.pending;
41
+ executor.completed = state.completed;
42
+ executor.failed = state.failed;
43
+ executor.skipped = state.skipped;
44
+ executor.nodeResults = state.nodeResults;
45
+ executor.retryCounts = state.retryCounts;
46
+ executor.args = state.args;
47
+ executor.artifactsDir = state.artifactsPath;
48
+ executor.initialized = true;
49
+ executor.inputsValidated = true;
50
+ return executor;
51
+ }
33
52
  async step(input = {}) {
34
53
  // Initialize on first call
35
54
  if (!this.initialized && input.args !== undefined) {
@@ -50,146 +69,210 @@ class DAGExecutor {
50
69
  }
51
70
  }
52
71
  }
53
- // Absorb completed AI results
54
- if (input.completedResults) {
55
- for (const r of input.completedResults) {
56
- // Validate output contract if defined
57
- const node = this.graph.nodes.get(r.nodeId);
58
- if (node?.outputFormat && r.structuredOutput) {
59
- const validation = (0, contract_validator_js_1.validateOutputFormat)(r.structuredOutput, node.outputFormat);
60
- if (!validation.valid) {
61
- const errorMsg = `Output contract violation: ${validation.errors.join('; ')}`;
62
- this.nodeResults[r.nodeId] = {
63
- status: 'failed',
64
- error: errorMsg,
65
- durationMs: 0,
66
- };
67
- this.failed.add(r.nodeId);
68
- this.pending.delete(r.nodeId);
69
- this.callbacks.onNodeFail(r.nodeId, errorMsg);
70
- continue;
72
+ // Iterative loop replaces recursive this.step() calls to prevent stack overflow
73
+ while (true) {
74
+ // Absorb completed AI results
75
+ if (input.completedResults) {
76
+ for (const r of input.completedResults) {
77
+ this.inFlight.delete(r.nodeId);
78
+ // Validate output contract if defined
79
+ const node = this.graph.nodes.get(r.nodeId);
80
+ if (node?.outputFormat) {
81
+ if (!r.structuredOutput) {
82
+ const errorMsg = 'Output format required but no structured output received';
83
+ const yieldInfo = this.yieldTimestamps.get(r.nodeId);
84
+ this.yieldTimestamps.delete(r.nodeId);
85
+ this.nodeResults[r.nodeId] = {
86
+ status: 'failed',
87
+ error: errorMsg,
88
+ durationMs: yieldInfo ? Date.now() - yieldInfo.time : 0,
89
+ startedAt: yieldInfo?.startedAt,
90
+ completedAt: new Date().toISOString(),
91
+ };
92
+ this.markOutputsDirty();
93
+ this.failed.add(r.nodeId);
94
+ this.pending.delete(r.nodeId);
95
+ this.callbacks.onNodeFail(r.nodeId, errorMsg);
96
+ continue;
97
+ }
98
+ const validation = (0, contract_validator_js_1.validateOutputFormat)(r.structuredOutput, node.outputFormat);
99
+ if (!validation.valid) {
100
+ const errorMsg = `Output contract violation: ${validation.errors.join('; ')}`;
101
+ const yieldInfo = this.yieldTimestamps.get(r.nodeId);
102
+ this.yieldTimestamps.delete(r.nodeId);
103
+ this.nodeResults[r.nodeId] = {
104
+ status: 'failed',
105
+ error: errorMsg,
106
+ durationMs: yieldInfo ? Date.now() - yieldInfo.time : 0,
107
+ startedAt: yieldInfo?.startedAt,
108
+ completedAt: new Date().toISOString(),
109
+ };
110
+ this.markOutputsDirty();
111
+ this.failed.add(r.nodeId);
112
+ this.pending.delete(r.nodeId);
113
+ this.callbacks.onNodeFail(r.nodeId, errorMsg);
114
+ continue;
115
+ }
71
116
  }
117
+ // Normal completion flow
118
+ const yieldInfo = this.yieldTimestamps.get(r.nodeId);
119
+ this.yieldTimestamps.delete(r.nodeId);
120
+ this.nodeResults[r.nodeId] = {
121
+ status: 'completed',
122
+ output: r.output,
123
+ structuredOutput: r.structuredOutput,
124
+ durationMs: yieldInfo ? Date.now() - yieldInfo.time : 0,
125
+ startedAt: yieldInfo?.startedAt,
126
+ completedAt: new Date().toISOString(),
127
+ };
128
+ this.markOutputsDirty();
129
+ this.completed.add(r.nodeId);
130
+ this.pending.delete(r.nodeId);
131
+ this.callbacks.onNodeComplete(r.nodeId, this.nodeResults[r.nodeId]);
72
132
  }
73
- // Normal completion flow
74
- this.nodeResults[r.nodeId] = {
75
- status: 'completed',
76
- output: r.output,
77
- structuredOutput: r.structuredOutput,
78
- durationMs: 0,
79
- completedAt: new Date().toISOString(),
80
- };
81
- this.completed.add(r.nodeId);
82
- this.pending.delete(r.nodeId);
83
- this.callbacks.onNodeComplete(r.nodeId, this.nodeResults[r.nodeId]);
84
133
  }
85
- }
86
- // Find ready nodes
87
- const ready = this.findReadyNodes();
88
- if (ready.length === 0 && this.pending.size === 0) {
89
- if (this.failed.size > 0) {
134
+ // Find ready nodes
135
+ const ready = this.findReadyNodes();
136
+ if (ready.length === 0 && this.pending.size === 0 && this.inFlight.size === 0) {
137
+ if (this.failed.size > 0) {
138
+ return {
139
+ type: 'failed',
140
+ results: this.nodeResults,
141
+ error: `Nodes failed: ${[...this.failed].join(', ')}`,
142
+ };
143
+ }
144
+ return { type: 'done', results: this.nodeResults };
145
+ }
146
+ // Still waiting for in-flight AI results — don't skip or re-yield
147
+ if (ready.length === 0 && this.inFlight.size > 0) {
148
+ return { type: 'needs_ai', nodes: [] };
149
+ }
150
+ if (ready.length === 0 && this.pending.size > 0 && this.inFlight.size === 0) {
151
+ for (const id of this.pending) {
152
+ this.skipped.add(id);
153
+ this.nodeResults[id] = { status: 'skipped' };
154
+ this.markOutputsDirty();
155
+ this.callbacks.onNodeSkip(id, 'blocked by failed dependency');
156
+ }
157
+ this.pending.clear();
90
158
  return {
91
159
  type: 'failed',
92
160
  results: this.nodeResults,
93
- error: `Nodes failed: ${[...this.failed].join(', ')}`,
161
+ error: `Failed nodes: ${[...this.failed].join(', ')}`,
94
162
  };
95
163
  }
96
- return { type: 'done', results: this.nodeResults };
97
- }
98
- if (ready.length === 0 && this.pending.size > 0) {
99
- for (const id of this.pending) {
100
- this.skipped.add(id);
101
- this.nodeResults[id] = { status: 'skipped' };
102
- this.callbacks.onNodeSkip(id, 'blocked by failed dependency');
103
- }
104
- this.pending.clear();
105
- return {
106
- type: 'failed',
107
- results: this.nodeResults,
108
- error: `Blocked nodes: ${[...this.failed].join(', ')}`,
109
- };
110
- }
111
- // Evaluate conditions
112
- const conditionFiltered = ready.filter(node => {
113
- const shouldRun = (0, condition_evaluator_js_1.evaluateCondition)(node.when, this.buildOutputsMap());
114
- if (!shouldRun) {
115
- this.skipped.add(node.id);
116
- this.pending.delete(node.id);
117
- this.nodeResults[node.id] = { status: 'skipped' };
118
- this.callbacks.onNodeSkip(node.id, `condition not met: ${node.when}`);
119
- return false;
120
- }
121
- return true;
122
- });
123
- // Separate bash vs AI
124
- const bashNodes = conditionFiltered.filter(n => n.type === 'bash');
125
- const aiNodes = conditionFiltered.filter(n => n.type !== 'bash');
126
- // Execute bash nodes internally
127
- for (const node of bashNodes) {
128
- this.callbacks.onNodeStart(node.id);
129
- this.pending.delete(node.id);
130
- try {
131
- const result = await this.runner.runBash(node, this.buildContext());
132
- // Validate output contract if defined
133
- if (node.outputFormat && result.structuredOutput) {
134
- const validation = (0, contract_validator_js_1.validateOutputFormat)(result.structuredOutput, node.outputFormat);
135
- if (!validation.valid) {
136
- throw new Error(`Output contract violation: ${validation.errors.join('; ')}`);
164
+ // Evaluate conditions intentionally unscoped so conditions can inspect any completed node
165
+ const conditionFiltered = ready.filter(node => {
166
+ try {
167
+ const shouldRun = (0, condition_evaluator_js_1.evaluateCondition)(node.when, this.buildOutputsMap());
168
+ if (!shouldRun) {
169
+ this.skipped.add(node.id);
170
+ this.pending.delete(node.id);
171
+ this.nodeResults[node.id] = { status: 'skipped' };
172
+ this.markOutputsDirty();
173
+ this.callbacks.onNodeSkip(node.id, `condition not met: ${node.when}`);
174
+ return false;
137
175
  }
176
+ return true;
138
177
  }
139
- this.nodeResults[node.id] = result;
140
- this.completed.add(node.id);
141
- this.callbacks.onNodeComplete(node.id, result);
142
- }
143
- catch (error) {
144
- const errorMsg = error instanceof Error ? error.message : String(error);
145
- const result = { status: 'failed', error: errorMsg, durationMs: 0 };
146
- this.nodeResults[node.id] = result;
147
- // Loop support: retry if configured
148
- if (node.loop) {
149
- const retries = this.retryCounts.get(node.id) ?? 0;
150
- if (retries < node.loop.maxRetries) {
151
- this.retryCounts.set(node.id, retries + 1);
152
- if (node.loop.backoffMs) {
153
- await this.delayFn(node.loop.backoffMs * (retries + 1));
178
+ catch (err) {
179
+ const errorMsg = err instanceof Error ? err.message : String(err);
180
+ this.failed.add(node.id);
181
+ this.pending.delete(node.id);
182
+ this.nodeResults[node.id] = { status: 'failed', error: errorMsg, durationMs: 0 };
183
+ this.markOutputsDirty();
184
+ this.callbacks.onNodeFail(node.id, errorMsg);
185
+ return false;
186
+ }
187
+ });
188
+ // Separate bash vs AI
189
+ const bashNodes = conditionFiltered.filter(n => n.type === 'bash');
190
+ const aiNodes = conditionFiltered.filter(n => n.type !== 'bash');
191
+ // Execute bash nodes internally
192
+ for (const node of bashNodes) {
193
+ this.callbacks.onNodeStart(node.id);
194
+ this.pending.delete(node.id);
195
+ try {
196
+ const result = await this.runner.runBash(node, this.buildContext(node.id));
197
+ // Validate output contract if defined
198
+ if (node.outputFormat) {
199
+ if (!result.structuredOutput) {
200
+ throw new Error('Output format required but no structured output received');
201
+ }
202
+ const validation = (0, contract_validator_js_1.validateOutputFormat)(result.structuredOutput, node.outputFormat);
203
+ if (!validation.valid) {
204
+ throw new Error(`Output contract violation: ${validation.errors.join('; ')}`);
154
205
  }
155
- this.resetNode(node.id, node.loop.onFail, node.loop.injectError ? errorMsg : undefined);
156
- return this.step();
157
206
  }
207
+ this.nodeResults[node.id] = result;
208
+ this.markOutputsDirty();
209
+ this.completed.add(node.id);
210
+ this.callbacks.onNodeComplete(node.id, result);
158
211
  }
159
- this.failed.add(node.id);
160
- this.callbacks.onNodeFail(node.id, errorMsg);
161
- // Error strategy: fail_workflow = skip all remaining, return immediately
162
- if (node.errorStrategy === 'fail_workflow') {
163
- for (const id of this.pending) {
164
- this.skipped.add(id);
165
- this.nodeResults[id] = { status: 'skipped' };
166
- this.callbacks.onNodeSkip(id, `workflow failed at "${node.id}"`);
212
+ catch (error) {
213
+ const errorMsg = error instanceof Error ? error.message : String(error);
214
+ const result = { status: 'failed', error: errorMsg, durationMs: 0 };
215
+ this.nodeResults[node.id] = result;
216
+ this.markOutputsDirty();
217
+ // Loop support: retry if configured
218
+ if (node.loop) {
219
+ const retries = this.retryCounts.get(node.id) ?? 0;
220
+ if (retries < node.loop.maxRetries) {
221
+ this.retryCounts.set(node.id, retries + 1);
222
+ if (node.loop.backoffMs) {
223
+ await this.delayFn(node.loop.backoffMs * (retries + 1));
224
+ }
225
+ // Emit failure callback before reset so WAL records the failure
226
+ this.callbacks.onNodeFail(node.id, errorMsg, this.retryCounts.get(node.id));
227
+ // Emit reset callbacks for both target and loop node
228
+ this.callbacks.onNodeReset?.(node.loop.onFail);
229
+ this.callbacks.onNodeReset?.(node.id);
230
+ this.resetNode(node.id, node.loop.onFail, node.loop.injectError ? errorMsg : undefined);
231
+ input = {};
232
+ continue;
233
+ }
234
+ }
235
+ this.failed.add(node.id);
236
+ this.callbacks.onNodeFail(node.id, errorMsg, this.retryCounts.get(node.id));
237
+ // Error strategy: fail_workflow = skip all remaining, return immediately
238
+ if (node.errorStrategy === 'fail_workflow') {
239
+ for (const id of this.pending) {
240
+ this.skipped.add(id);
241
+ this.nodeResults[id] = { status: 'skipped' };
242
+ this.markOutputsDirty();
243
+ this.callbacks.onNodeSkip(id, `workflow failed at "${node.id}"`);
244
+ }
245
+ this.pending.clear();
246
+ return {
247
+ type: 'failed',
248
+ results: this.nodeResults,
249
+ error: `Workflow failed at node "${node.id}": ${errorMsg}`,
250
+ };
167
251
  }
168
- this.pending.clear();
169
- return {
170
- type: 'failed',
171
- results: this.nodeResults,
172
- error: `Workflow failed at node "${node.id}": ${errorMsg}`,
173
- };
174
252
  }
175
253
  }
176
- }
177
- // If only bash nodes were ready, recurse to find next batch
178
- if (aiNodes.length === 0) {
179
- return this.step();
180
- }
181
- // Yield AI nodes
182
- const resolvedNodes = aiNodes.map(node => {
183
- this.callbacks.onNodeStart(node.id);
184
- const resolved = this.runner.resolveAIPrompt(node, this.buildContext());
185
- return {
186
- nodeId: node.id,
187
- prompt: resolved.prompt,
188
- skill: resolved.skill,
189
- model: node.model ?? this.graph.defaultModel,
190
- };
191
- });
192
- return { type: 'needs_ai', nodes: resolvedNodes };
254
+ // If only bash nodes were ready, loop to find next batch
255
+ if (aiNodes.length === 0) {
256
+ input = {};
257
+ continue;
258
+ }
259
+ // Yield AI nodes
260
+ const resolvedNodes = aiNodes.map(node => {
261
+ this.callbacks.onNodeStart(node.id);
262
+ this.pending.delete(node.id);
263
+ this.inFlight.add(node.id);
264
+ this.yieldTimestamps.set(node.id, { time: Date.now(), startedAt: new Date().toISOString() });
265
+ const resolved = this.runner.resolveAIPrompt(node, this.buildContext(node.id));
266
+ return {
267
+ nodeId: node.id,
268
+ description: resolved.description,
269
+ prompt: resolved.prompt,
270
+ skill: resolved.skill,
271
+ model: node.model ?? this.graph.defaultModel,
272
+ };
273
+ });
274
+ return { type: 'needs_ai', nodes: resolvedNodes };
275
+ } // end while(true)
193
276
  }
194
277
  findReadyNodes() {
195
278
  const ready = [];
@@ -210,6 +293,7 @@ class DAGExecutor {
210
293
  this.pending.delete(nodeId);
211
294
  this.skipped.add(nodeId);
212
295
  this.nodeResults[nodeId] = { status: 'skipped' };
296
+ this.markOutputsDirty();
213
297
  this.callbacks.onNodeSkip(nodeId, 'dependency failed');
214
298
  continue;
215
299
  }
@@ -220,6 +304,7 @@ class DAGExecutor {
220
304
  this.pending.delete(nodeId);
221
305
  this.skipped.add(nodeId);
222
306
  this.nodeResults[nodeId] = { status: 'skipped' };
307
+ this.markOutputsDirty();
223
308
  this.callbacks.onNodeSkip(nodeId, 'no dependency succeeded');
224
309
  continue;
225
310
  }
@@ -229,32 +314,96 @@ class DAGExecutor {
229
314
  return ready;
230
315
  }
231
316
  resetNode(loopNodeId, targetNodeId, errorMsg) {
317
+ this.inFlight.delete(targetNodeId);
232
318
  this.completed.delete(targetNodeId);
233
319
  this.failed.delete(targetNodeId);
234
320
  this.skipped.delete(targetNodeId);
235
321
  this.pending.add(targetNodeId);
236
322
  delete this.nodeResults[targetNodeId];
323
+ this.markOutputsDirty();
324
+ this.inFlight.delete(loopNodeId);
237
325
  this.completed.delete(loopNodeId);
238
326
  this.failed.delete(loopNodeId);
239
327
  this.pending.add(loopNodeId);
240
328
  delete this.nodeResults[loopNodeId];
241
- if (errorMsg) {
242
- const loopNode = this.graph.nodes.get(loopNodeId);
243
- loopNode.error = errorMsg;
244
- }
329
+ this.markOutputsDirty();
330
+ }
331
+ markOutputsDirty() {
332
+ this.outputsMapDirty = true;
245
333
  }
246
334
  buildOutputsMap() {
335
+ if (!this.outputsMapDirty && this.outputsMapCache)
336
+ return this.outputsMapCache;
247
337
  const outputs = {};
248
338
  for (const [id, res] of Object.entries(this.nodeResults)) {
249
339
  outputs[id] = { output: res.output?.trim(), structuredOutput: res.structuredOutput };
250
340
  }
341
+ this.outputsMapCache = outputs;
342
+ this.outputsMapDirty = false;
343
+ return outputs;
344
+ }
345
+ getAncestors(nodeId) {
346
+ if (this.ancestorCache.has(nodeId))
347
+ return this.ancestorCache.get(nodeId);
348
+ const ancestors = new Set();
349
+ const queue = [nodeId];
350
+ while (queue.length > 0) {
351
+ const current = queue.shift();
352
+ const node = this.graph.nodes.get(current);
353
+ if (!node)
354
+ continue;
355
+ for (const dep of node.dependsOn) {
356
+ if (!ancestors.has(dep)) {
357
+ ancestors.add(dep);
358
+ queue.push(dep);
359
+ }
360
+ }
361
+ }
362
+ this.ancestorCache.set(nodeId, ancestors);
363
+ return ancestors;
364
+ }
365
+ clearResults() {
366
+ this.nodeResults = {};
367
+ this.outputsMapCache = null;
368
+ this.outputsMapDirty = true;
369
+ }
370
+ getNodeSummaries() {
371
+ const summaries = {};
372
+ for (const [id, result] of Object.entries(this.nodeResults)) {
373
+ summaries[id] = {
374
+ status: result.status,
375
+ durationMs: result.durationMs,
376
+ startedAt: result.startedAt,
377
+ completedAt: result.completedAt,
378
+ outputPreview: result.output?.substring(0, 200),
379
+ };
380
+ }
381
+ for (const id of this.pending) {
382
+ if (!summaries[id])
383
+ summaries[id] = { status: 'pending' };
384
+ }
385
+ for (const id of this.inFlight) {
386
+ if (!summaries[id])
387
+ summaries[id] = { status: 'running' };
388
+ }
389
+ return summaries;
390
+ }
391
+ buildScopedOutputsMap(nodeId) {
392
+ const ancestors = this.getAncestors(nodeId);
393
+ const outputs = {};
394
+ for (const id of ancestors) {
395
+ const res = this.nodeResults[id];
396
+ if (res) {
397
+ outputs[id] = { output: res.output?.trim(), structuredOutput: res.structuredOutput };
398
+ }
399
+ }
251
400
  return outputs;
252
401
  }
253
- buildContext() {
402
+ buildContext(forNodeId) {
254
403
  return {
255
404
  ARGUMENTS: this.args,
256
405
  ARTIFACTS_DIR: this.artifactsDir,
257
- nodes: this.buildOutputsMap(),
406
+ nodes: this.buildScopedOutputsMap(forNodeId),
258
407
  };
259
408
  }
260
409
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dag-executor.js","sourceRoot":"","sources":["../../src/engine/dag-executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dag-executor.js","sourceRoot":"","sources":["../../src/engine/dag-executor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"dag-parser.d.ts","sourceRoot":"","sources":["../../src/engine/dag-parser.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAW,MAAM,iBAAiB,CAAC;AAczD,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,QAAQ,CAoE3D"}
1
+ {"version":3,"file":"dag-parser.d.ts","sourceRoot":"","sources":["../../src/engine/dag-parser.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAW,MAAM,iBAAiB,CAAC;AAczD,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,QAAQ,CAuE3D"}
@@ -34,6 +34,7 @@ function parseWorkflow(yamlContent) {
34
34
  }
35
35
  nodes.set(nodeDef.id, {
36
36
  id: nodeDef.id,
37
+ description: nodeDef.description,
37
38
  type: detectNodeType(nodeDef),
38
39
  content: getNodeContent(nodeDef),
39
40
  dependsOn: nodeDef.depends_on ?? [],
@@ -45,7 +46,9 @@ function parseWorkflow(yamlContent) {
45
46
  allowedTools: nodeDef.allowed_tools,
46
47
  outputFormat: nodeDef.output_format,
47
48
  status: 'pending',
49
+ idempotent: nodeDef.idempotent ?? true,
48
50
  errorStrategy: nodeDef.on_error ?? 'skip_dependents',
51
+ timeout: nodeDef.timeout,
49
52
  loop: nodeDef.loop ? {
50
53
  onFail: nodeDef.loop.on_fail,
51
54
  maxRetries: nodeDef.loop.max_retries,
@@ -1 +1 @@
1
- {"version":3,"file":"dag-parser.js","sourceRoot":"","sources":["../../src/engine/dag-parser.ts"],"names":[],"mappings":";;;;;AAiBA,sCAoEC;AArFD,yCAAyC;AACzC,sDAA2B;AAG3B,2DAAkD;AAClD,2DAAiE;AAEjE,SAAS,cAAc,CAAC,IAAoB;IAC1C,IAAI,IAAI,CAAC,MAAM;QAAE,OAAO,QAAQ,CAAC;IACjC,IAAI,IAAI,CAAC,IAAI;QAAE,OAAO,MAAM,CAAC;IAC7B,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,cAAc,CAAC,IAAoB;IAC1C,OAAO,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;AACxD,CAAC;AAED,SAAgB,aAAa,CAAC,WAAmB;IAC/C,MAAM,GAAG,GAAG,iBAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAEnC,wBAAwB;IACxB,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAA,sCAAsB,EAAC,GAAG,CAAC,CAAC;IACtD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,sBAAsB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,GAAG,GAAG,GAAyB,CAAC;IACtC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAmB,CAAC;IAEzC,kEAAkE;IAClE,KAAK,MAAM,OAAO,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;QAChC,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,uBAAuB,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC;QACxD,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE;YACpB,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC;YAC7B,OAAO,EAAE,cAAc,CAAC,OAAO,CAAC;YAChC,SAAS,EAAE,OAAO,CAAC,UAAU,IAAI,EAAE;YACnC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,WAAW,EAAE,OAAO,CAAC,YAAY,IAAI,aAAa;YAClD,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,SAAS;YACrC,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,IAAI;YACpC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,YAAY,EAAE,OAAO,CAAC,aAAa;YACnC,YAAY,EAAE,OAAO,CAAC,aAAa;YACnC,MAAM,EAAE,SAAS;YACjB,aAAa,EAAE,OAAO,CAAC,QAAQ,IAAI,iBAAiB;YACpD,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;gBACnB,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO;gBAC5B,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW;gBACpC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,YAAY,IAAI,KAAK;gBAC/C,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,UAAU;aACnC,CAAC,CAAC,CAAC,SAAS;SACd,CAAC,CAAC;IACL,CAAC;IAED,yDAAyD;IACzD,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC;QAC/B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,SAAS,EAAE,8BAA8B,GAAG,GAAG,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,IAAA,+BAAW,EAAC,KAAK,CAAC,CAAC;IACtC,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,6CAA6C,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxF,CAAC;IAED,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC;QAC/B,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,SAAS,EAAE,2CAA2C,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAC7F,CAAC;IACH,CAAC;IAED,OAAO;QACL,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,EAAE;QAClC,eAAe,EAAE,GAAG,CAAC,QAAQ,IAAI,QAAQ;QACzC,YAAY,EAAE,GAAG,CAAC,KAAK,IAAI,QAAQ;QACnC,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,KAAK;KACN,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"dag-parser.js","sourceRoot":"","sources":["../../src/engine/dag-parser.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import { type VariableContext } from './variable-resolver.js';
4
4
  export interface ResolvedPrompt {
5
5
  prompt: string;
6
6
  skill?: string;
7
+ description?: string;
7
8
  }
8
9
  export declare class NodeRunner {
9
10
  private readonly workspaceCwd;
@@ -1 +1 @@
1
- {"version":3,"file":"node-runner.d.ts","sourceRoot":"","sources":["../../src/engine/node-runner.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAoB,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAMhF,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,UAAU;IAEnB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;gBADX,YAAY,EAAE,MAAM,EACpB,UAAU,CAAC,EAAE,MAAM,YAAA;IAGtC,OAAO,CAAC,MAAM;IAKR,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC;IAkBvE,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,eAAe,GAAG,cAAc;CAYrE"}
1
+ {"version":3,"file":"node-runner.d.ts","sourceRoot":"","sources":["../../src/engine/node-runner.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAoB,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAMhF,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,UAAU;IAEnB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;gBADX,YAAY,EAAE,MAAM,EACpB,UAAU,CAAC,EAAE,MAAM,YAAA;IAGtC,OAAO,CAAC,MAAM;IAKR,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC;IA4BvE,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,eAAe,GAAG,cAAc;CAarE"}