@ngocsangairvds/vsaf 4.0.17 → 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.
- package/package.json +4 -2
- package/packages/cli/dist/commands/doctor.js +1 -1
- package/packages/cli/dist/commands/doctor.js.map +1 -1
- package/packages/cli/dist/commands/init.d.ts.map +1 -1
- package/packages/cli/dist/commands/init.js +15 -6
- package/packages/cli/dist/commands/init.js.map +1 -1
- package/packages/cli/dist/commands/list.js +8 -1
- package/packages/cli/dist/commands/list.js.map +1 -1
- package/packages/cli/dist/commands/run.d.ts.map +1 -1
- package/packages/cli/dist/commands/run.js +17 -4
- package/packages/cli/dist/commands/run.js.map +1 -1
- package/packages/cli/dist/commands/skill.d.ts.map +1 -1
- package/packages/cli/dist/commands/skill.js +14 -2
- package/packages/cli/dist/commands/skill.js.map +1 -1
- package/packages/cli/dist/mcp/server.d.ts +22 -0
- package/packages/cli/dist/mcp/server.d.ts.map +1 -1
- package/packages/cli/dist/mcp/server.js +311 -20
- package/packages/cli/dist/mcp/server.js.map +1 -1
- package/packages/cli/dist/server/routes/runs.d.ts.map +1 -1
- package/packages/cli/dist/server/routes/runs.js +7 -1
- package/packages/cli/dist/server/routes/runs.js.map +1 -1
- package/packages/cli/dist/server/routes/workflows.d.ts.map +1 -1
- package/packages/cli/dist/server/routes/workflows.js +3 -0
- package/packages/cli/dist/server/routes/workflows.js.map +1 -1
- package/packages/cli/dist/server/services/execution-manager.d.ts.map +1 -1
- package/packages/cli/dist/server/services/execution-manager.js +68 -41
- package/packages/cli/dist/server/services/execution-manager.js.map +1 -1
- package/packages/cli/dist/server/services/sse-manager.d.ts.map +1 -1
- package/packages/cli/dist/server/services/sse-manager.js +7 -2
- package/packages/cli/dist/server/services/sse-manager.js.map +1 -1
- package/packages/core/dist/commands/command-loader.d.ts.map +1 -1
- package/packages/core/dist/commands/command-loader.js +3 -0
- package/packages/core/dist/commands/command-loader.js.map +1 -1
- package/packages/core/dist/engine/condition-evaluator.js +3 -2
- package/packages/core/dist/engine/condition-evaluator.js.map +1 -1
- package/packages/core/dist/engine/dag-executor.d.ts +28 -1
- package/packages/core/dist/engine/dag-executor.d.ts.map +1 -1
- package/packages/core/dist/engine/dag-executor.js +279 -131
- package/packages/core/dist/engine/dag-executor.js.map +1 -1
- package/packages/core/dist/engine/dag-parser.d.ts.map +1 -1
- package/packages/core/dist/engine/dag-parser.js +2 -0
- package/packages/core/dist/engine/dag-parser.js.map +1 -1
- package/packages/core/dist/engine/node-runner.d.ts.map +1 -1
- package/packages/core/dist/engine/node-runner.js +12 -1
- package/packages/core/dist/engine/node-runner.js.map +1 -1
- package/packages/core/dist/engine/variable-resolver.d.ts +1 -1
- package/packages/core/dist/engine/variable-resolver.d.ts.map +1 -1
- package/packages/core/dist/engine/variable-resolver.js +21 -11
- package/packages/core/dist/engine/variable-resolver.js.map +1 -1
- package/packages/core/dist/index.d.ts +5 -1
- package/packages/core/dist/index.d.ts.map +1 -1
- package/packages/core/dist/index.js +13 -3
- package/packages/core/dist/index.js.map +1 -1
- package/packages/core/dist/isolation/artifact-store.d.ts.map +1 -1
- package/packages/core/dist/isolation/artifact-store.js +30 -5
- package/packages/core/dist/isolation/artifact-store.js.map +1 -1
- package/packages/core/dist/isolation/workspace-manager.d.ts +2 -0
- package/packages/core/dist/isolation/workspace-manager.d.ts.map +1 -1
- package/packages/core/dist/isolation/workspace-manager.js +81 -7
- package/packages/core/dist/isolation/workspace-manager.js.map +1 -1
- package/packages/core/dist/schema/workflow-schema.d.ts +10 -0
- package/packages/core/dist/schema/workflow-schema.d.ts.map +1 -1
- package/packages/core/dist/schema/workflow-schema.js +5 -3
- package/packages/core/dist/schema/workflow-schema.js.map +1 -1
- package/packages/core/dist/skills/skill-loader.d.ts.map +1 -1
- package/packages/core/dist/skills/skill-loader.js +7 -0
- package/packages/core/dist/skills/skill-loader.js.map +1 -1
- package/packages/core/dist/store/atomic.d.ts +11 -0
- package/packages/core/dist/store/atomic.d.ts.map +1 -0
- package/packages/core/dist/store/atomic.js +51 -0
- package/packages/core/dist/store/atomic.js.map +1 -0
- package/packages/core/dist/store/recovery.d.ts +3 -0
- package/packages/core/dist/store/recovery.d.ts.map +1 -0
- package/packages/core/dist/store/recovery.js +206 -0
- package/packages/core/dist/store/recovery.js.map +1 -0
- package/packages/core/dist/store/run-lock.d.ts +9 -0
- package/packages/core/dist/store/run-lock.d.ts.map +1 -0
- package/packages/core/dist/store/run-lock.js +62 -0
- package/packages/core/dist/store/run-lock.js.map +1 -0
- package/packages/core/dist/store/run-store.d.ts +20 -7
- package/packages/core/dist/store/run-store.d.ts.map +1 -1
- package/packages/core/dist/store/run-store.js +175 -34
- package/packages/core/dist/store/run-store.js.map +1 -1
- package/packages/core/dist/store/snapshot.d.ts +4 -0
- package/packages/core/dist/store/snapshot.d.ts.map +1 -0
- package/packages/core/dist/store/snapshot.js +59 -0
- package/packages/core/dist/store/snapshot.js.map +1 -0
- package/packages/core/dist/store/types.d.ts +89 -4
- package/packages/core/dist/store/types.d.ts.map +1 -1
- package/packages/core/dist/store/types.js +14 -0
- package/packages/core/dist/store/types.js.map +1 -1
- package/packages/core/dist/store/wal.d.ts +39 -0
- package/packages/core/dist/store/wal.d.ts.map +1 -0
- package/packages/core/dist/store/wal.js +203 -0
- package/packages/core/dist/store/wal.js.map +1 -0
- package/packages/core/dist/types/dag.d.ts +2 -0
- package/packages/core/dist/types/dag.d.ts.map +1 -1
- package/packages/core/dist/types/workflow.d.ts +5 -3
- package/packages/core/dist/types/workflow.d.ts.map +1 -1
- package/packages/core/dist/store/event-log.d.ts +0 -8
- package/packages/core/dist/store/event-log.d.ts.map +0 -1
- package/packages/core/dist/store/event-log.js +0 -30
- package/packages/core/dist/store/event-log.js.map +0 -1
|
@@ -24,51 +24,78 @@ class ExecutionManager {
|
|
|
24
24
|
const ws = await wsManager.create(this.projectPath, workflowName);
|
|
25
25
|
const storeDir = (0, path_1.join)(this.projectPath, '.vsaf', 'storage');
|
|
26
26
|
const runStore = new core_1.RunStore(storeDir);
|
|
27
|
-
const run = runStore.create(workflowName, args, ws.sourcePath, ws.artifactsPath, this.projectPath);
|
|
27
|
+
const run = runStore.create(workflowName, args, ws.sourcePath, ws.artifactsPath, this.projectPath, yamlContent, ws.branchName);
|
|
28
28
|
this.activeRuns.add(run.runId);
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
29
|
+
try {
|
|
30
|
+
const callbacks = {
|
|
31
|
+
onNodeStart: (nodeId) => {
|
|
32
|
+
runStore.updateNode(run.runId, nodeId, { status: 'running', startedAt: new Date().toISOString() });
|
|
33
|
+
runStore.save(run.runId);
|
|
34
|
+
this.sseManager.pushEvent(run.runId, 'node:start', { nodeId, timestamp: new Date().toISOString() });
|
|
35
|
+
},
|
|
36
|
+
onNodeComplete: (nodeId, result) => {
|
|
37
|
+
runStore.updateNode(run.runId, nodeId, result);
|
|
38
|
+
runStore.save(run.runId);
|
|
39
|
+
this.sseManager.pushEvent(run.runId, 'node:complete', {
|
|
40
|
+
nodeId,
|
|
41
|
+
durationMs: result.durationMs,
|
|
42
|
+
output: result.output?.substring(0, 200),
|
|
43
|
+
});
|
|
44
|
+
},
|
|
45
|
+
onNodeSkip: (nodeId, reason) => {
|
|
46
|
+
runStore.updateNode(run.runId, nodeId, { status: 'skipped' });
|
|
47
|
+
runStore.save(run.runId);
|
|
48
|
+
this.sseManager.pushEvent(run.runId, 'node:skip', { nodeId, reason });
|
|
49
|
+
},
|
|
50
|
+
onNodeFail: (nodeId, error, retryCount) => {
|
|
51
|
+
runStore.updateNode(run.runId, nodeId, { status: 'failed', error }, { retryCount });
|
|
52
|
+
runStore.save(run.runId);
|
|
53
|
+
this.sseManager.pushEvent(run.runId, 'node:fail', { nodeId, error });
|
|
54
|
+
},
|
|
55
|
+
onNodeReset: (nodeId) => {
|
|
56
|
+
runStore.resetNode(run.runId, nodeId);
|
|
57
|
+
},
|
|
58
|
+
};
|
|
59
|
+
const executor = new core_1.DAGExecutor(ws.sourcePath, this.projectPath, graph, callbacks);
|
|
60
|
+
const step = await executor.step({ args, artifactsDir: ws.artifactsPath });
|
|
61
|
+
if (step.type === 'done') {
|
|
62
|
+
const diff = await wsManager.diff(ws.id);
|
|
63
|
+
if (diff.modified.length > 0 || diff.added.length > 0) {
|
|
64
|
+
await wsManager.applyChanges(ws.id);
|
|
65
|
+
}
|
|
66
|
+
runStore.complete(run.runId);
|
|
67
|
+
await wsManager.destroy(ws.id);
|
|
68
|
+
this.sseManager.pushEvent(run.runId, 'run:complete', { success: true });
|
|
61
69
|
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
70
|
+
else if (step.type === 'failed') {
|
|
71
|
+
runStore.fail(run.runId);
|
|
72
|
+
await wsManager.destroy(ws.id);
|
|
73
|
+
this.sseManager.pushEvent(run.runId, 'run:complete', { success: false, error: step.error });
|
|
74
|
+
}
|
|
75
|
+
else if (step.type === 'needs_ai') {
|
|
76
|
+
// HTTP server has no next endpoint — AI workflows cannot proceed
|
|
77
|
+
runStore.fail(run.runId);
|
|
78
|
+
await wsManager.destroy(ws.id);
|
|
79
|
+
const error = 'AI node workflows require the MCP server (vsaf mcp-server). HTTP server only supports bash-only workflows.';
|
|
80
|
+
this.sseManager.pushEvent(run.runId, 'run:complete', { success: false, error });
|
|
81
|
+
return { runId: run.runId, step: { type: 'failed', error, results: step.results } };
|
|
82
|
+
}
|
|
83
|
+
return { runId: run.runId, step };
|
|
84
|
+
}
|
|
85
|
+
catch (err) {
|
|
86
|
+
try {
|
|
87
|
+
await wsManager.destroy(ws.id);
|
|
88
|
+
}
|
|
89
|
+
catch { /* best-effort */ }
|
|
90
|
+
try {
|
|
91
|
+
runStore.fail(run.runId);
|
|
92
|
+
}
|
|
93
|
+
catch { /* best-effort */ }
|
|
94
|
+
throw err;
|
|
65
95
|
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
this.sseManager.pushEvent(run.runId, 'run:complete', { success: false, error: step.error });
|
|
96
|
+
finally {
|
|
97
|
+
this.activeRuns.delete(run.runId);
|
|
69
98
|
}
|
|
70
|
-
this.activeRuns.delete(run.runId);
|
|
71
|
-
return { runId: run.runId, step };
|
|
72
99
|
}
|
|
73
100
|
isActive(runId) {
|
|
74
101
|
return this.activeRuns.has(runId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution-manager.js","sourceRoot":"","sources":["../../../src/server/services/execution-manager.ts"],"names":[],"mappings":";;;AAAA,2BAA8C;AAC9C,+BAA4B;AAC5B,qCAQoB;AAQpB,MAAa,gBAAgB;IAIR;IACA;IAJX,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IAEvC,YACmB,WAAmB,EACnB,UAAsB;QADtB,gBAAW,GAAX,WAAW,CAAQ;QACnB,eAAU,GAAV,UAAU,CAAY;IACtC,CAAC;IAEJ,KAAK,CAAC,QAAQ,CAAC,YAAoB,EAAE,IAAY;QAC/C,MAAM,MAAM,GAAG,IAAA,iBAAU,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC5C,MAAM,YAAY,GAAG,IAAA,WAAI,EAAC,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,YAAY,OAAO,CAAC,CAAC;QAE1F,IAAI,CAAC,IAAA,eAAU,EAAC,YAAY,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,wBAAwB,YAAY,GAAG,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,WAAW,GAAG,IAAA,iBAAY,EAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACxD,MAAM,KAAK,GAAG,IAAA,oBAAa,EAAC,WAAW,CAAC,CAAC;QAEzC,MAAM,SAAS,GAAG,IAAI,uBAAgB,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9E,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAElE,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QAC5D,MAAM,QAAQ,GAAG,IAAI,eAAQ,CAAC,QAAQ,CAAC,CAAC;QACxC,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"execution-manager.js","sourceRoot":"","sources":["../../../src/server/services/execution-manager.ts"],"names":[],"mappings":";;;AAAA,2BAA8C;AAC9C,+BAA4B;AAC5B,qCAQoB;AAQpB,MAAa,gBAAgB;IAIR;IACA;IAJX,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IAEvC,YACmB,WAAmB,EACnB,UAAsB;QADtB,gBAAW,GAAX,WAAW,CAAQ;QACnB,eAAU,GAAV,UAAU,CAAY;IACtC,CAAC;IAEJ,KAAK,CAAC,QAAQ,CAAC,YAAoB,EAAE,IAAY;QAC/C,MAAM,MAAM,GAAG,IAAA,iBAAU,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC5C,MAAM,YAAY,GAAG,IAAA,WAAI,EAAC,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,YAAY,OAAO,CAAC,CAAC;QAE1F,IAAI,CAAC,IAAA,eAAU,EAAC,YAAY,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,wBAAwB,YAAY,GAAG,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,WAAW,GAAG,IAAA,iBAAY,EAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACxD,MAAM,KAAK,GAAG,IAAA,oBAAa,EAAC,WAAW,CAAC,CAAC;QAEzC,MAAM,SAAS,GAAG,IAAI,uBAAgB,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9E,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAElE,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QAC5D,MAAM,QAAQ,GAAG,IAAI,eAAQ,CAAC,QAAQ,CAAC,CAAC;QACxC,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC;QAE/H,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAE/B,IAAI,CAAC;YACH,MAAM,SAAS,GAAsB;gBACnC,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE;oBACtB,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;oBACnG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBACzB,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;gBACtG,CAAC;gBACD,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;oBACjC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;oBAC/C,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBACzB,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,eAAe,EAAE;wBACpD,MAAM;wBACN,UAAU,EAAE,MAAM,CAAC,UAAU;wBAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;qBACzC,CAAC,CAAC;gBACL,CAAC;gBACD,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;oBAC7B,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;oBAC9D,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBACzB,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;gBACxE,CAAC;gBACD,UAAU,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;oBACxC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;oBACpF,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBACzB,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;gBACvE,CAAC;gBACD,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE;oBACtB,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBACxC,CAAC;aACF,CAAC;YAEF,MAAM,QAAQ,GAAG,IAAI,kBAAW,CAAC,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;YAEpF,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC;YAE3E,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACzB,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBACzC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACtD,MAAM,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBACtC,CAAC;gBACD,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAC7B,MAAM,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC/B,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1E,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAClC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACzB,MAAM,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC/B,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YAC9F,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBACpC,iEAAiE;gBACjE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACzB,MAAM,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC/B,MAAM,KAAK,GAAG,4GAA4G,CAAC;gBAC3H,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;gBAChF,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YAC/F,CAAC;YAED,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;QACpC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC;gBAAC,MAAM,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;YACnE,IAAI,CAAC;gBAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;YAC7D,MAAM,GAAG,CAAC;QACZ,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,KAAa;QACpB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;CACF;AAjGD,4CAiGC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sse-manager.d.ts","sourceRoot":"","sources":["../../../src/server/services/sse-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,qBAAa,UAAU;IACrB,OAAO,CAAC,OAAO,CAAwC;IAEvD,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI;IAYnD,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI;IAUtD,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"sse-manager.d.ts","sourceRoot":"","sources":["../../../src/server/services/sse-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,qBAAa,UAAU;IACrB,OAAO,CAAC,OAAO,CAAwC;IAEvD,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI;IAYnD,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI;IAUtD,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAgB5E,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;CAGtC"}
|
|
@@ -28,8 +28,13 @@ class SseManager {
|
|
|
28
28
|
return;
|
|
29
29
|
const message = `event: ${event}\ndata: ${JSON.stringify(data)}\n\n`;
|
|
30
30
|
for (const reply of clients) {
|
|
31
|
-
|
|
32
|
-
reply.raw.
|
|
31
|
+
try {
|
|
32
|
+
if (!reply.raw.writableEnded && !reply.raw.destroyed) {
|
|
33
|
+
reply.raw.write(message);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
catch {
|
|
37
|
+
this.removeClient(runId, reply);
|
|
33
38
|
}
|
|
34
39
|
}
|
|
35
40
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sse-manager.js","sourceRoot":"","sources":["../../../src/server/services/sse-manager.ts"],"names":[],"mappings":";;;AAEA,MAAa,UAAU;IACb,OAAO,GAAG,IAAI,GAAG,EAA6B,CAAC;IAEvD,SAAS,CAAC,KAAa,EAAE,KAAmB;QAC1C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAEpC,8BAA8B;QAC9B,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACzB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,YAAY,CAAC,KAAa,EAAE,KAAmB;QAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACtB,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;IAED,SAAS,CAAC,KAAa,EAAE,KAAa,EAAE,IAA6B;QACnE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,MAAM,OAAO,GAAG,UAAU,KAAK,WAAW,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;QACrE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"sse-manager.js","sourceRoot":"","sources":["../../../src/server/services/sse-manager.ts"],"names":[],"mappings":";;;AAEA,MAAa,UAAU;IACb,OAAO,GAAG,IAAI,GAAG,EAA6B,CAAC;IAEvD,SAAS,CAAC,KAAa,EAAE,KAAmB;QAC1C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAEpC,8BAA8B;QAC9B,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACzB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,YAAY,CAAC,KAAa,EAAE,KAAmB;QAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACtB,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;IAED,SAAS,CAAC,KAAa,EAAE,KAAa,EAAE,IAA6B;QACnE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,MAAM,OAAO,GAAG,UAAU,KAAK,WAAW,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;QACrE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACH,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;oBACrD,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;IACH,CAAC;IAED,cAAc,CAAC,KAAa;QAC1B,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC;IAC5C,CAAC;CACF;AA5CD,gCA4CC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-loader.d.ts","sourceRoot":"","sources":["../../src/commands/command-loader.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"command-loader.d.ts","sourceRoot":"","sources":["../../src/commands/command-loader.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAyBtE"}
|
|
@@ -10,6 +10,9 @@ const path_1 = require("path");
|
|
|
10
10
|
const gray_matter_1 = __importDefault(require("gray-matter"));
|
|
11
11
|
const skill_loader_js_1 = require("../skills/skill-loader.js");
|
|
12
12
|
function loadCommand(name, projectPath) {
|
|
13
|
+
if (name.includes('..')) {
|
|
14
|
+
throw new Error(`Invalid command name: "${name}" — path traversal blocked`);
|
|
15
|
+
}
|
|
13
16
|
const filePath = (0, path_1.join)(projectPath, '.vsaf', 'commands', `${name}.md`);
|
|
14
17
|
if (!(0, fs_1.existsSync)(filePath)) {
|
|
15
18
|
throw new Error(`Command not found: "${name}" (expected at ${filePath})`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-loader.js","sourceRoot":"","sources":["../../src/commands/command-loader.ts"],"names":[],"mappings":";;;;;AAcA,
|
|
1
|
+
{"version":3,"file":"command-loader.js","sourceRoot":"","sources":["../../src/commands/command-loader.ts"],"names":[],"mappings":";;;;;AAcA,kCAyBC;AAvCD,+CAA+C;AAC/C,2BAA8C;AAC9C,+BAA4B;AAC5B,8DAAiC;AACjC,+DAAsD;AAUtD,SAAgB,WAAW,CAAC,IAAY,EAAE,WAAmB;IAC3D,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,4BAA4B,CAAC,CAAC;IAC9E,CAAC;IACD,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC;IACtE,IAAI,CAAC,IAAA,eAAU,EAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,kBAAkB,QAAQ,GAAG,CAAC,CAAC;IAC5E,CAAC;IACD,MAAM,GAAG,GAAG,IAAA,iBAAY,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC5C,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAA,qBAAM,EAAC,GAAG,CAAC,CAAC;IAEtC,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAE1B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,KAAK,GAAG,IAAA,2BAAS,EAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QACjD,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;IACxD,CAAC;IAED,OAAO;QACL,IAAI;QACJ,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;QACnC,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC;QACnC,KAAK,EAAE,IAAI,CAAC,KAA2B;QACvC,IAAI;KACL,CAAC;AACJ,CAAC"}
|
|
@@ -14,8 +14,9 @@ function evaluateCondition(condition, nodeOutputs) {
|
|
|
14
14
|
}
|
|
15
15
|
function evaluateSingle(expr, nodeOutputs) {
|
|
16
16
|
const match = expr.match(/^\$([a-zA-Z0-9_-]+)\.output(?:\.([a-zA-Z0-9_]+))?\s*(==|!=)\s*'([^']*)'\s*$/);
|
|
17
|
-
if (!match)
|
|
18
|
-
|
|
17
|
+
if (!match) {
|
|
18
|
+
throw new Error(`Invalid condition syntax: "${expr.trim()}". Expected: $node-id.output[.field] == 'value'`);
|
|
19
|
+
}
|
|
19
20
|
const [, nodeId, field, operator, expected] = match;
|
|
20
21
|
const node = nodeOutputs[nodeId];
|
|
21
22
|
if (!node)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"condition-evaluator.js","sourceRoot":"","sources":["../../src/engine/condition-evaluator.ts"],"names":[],"mappings":";;AAMA,8CAcC;AAdD,SAAgB,iBAAiB,CAC/B,SAA6B,EAC7B,WAAuC;IAEvC,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAE5B,iCAAiC;IACjC,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAEzD,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;QAC3B,kCAAkC;QAClC,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACvD,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,cAAc,CACrB,IAAY,EACZ,WAAuC;IAEvC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CACtB,6EAA6E,CAC9E,CAAC;IAEF,IAAI,CAAC,KAAK;
|
|
1
|
+
{"version":3,"file":"condition-evaluator.js","sourceRoot":"","sources":["../../src/engine/condition-evaluator.ts"],"names":[],"mappings":";;AAMA,8CAcC;AAdD,SAAgB,iBAAiB,CAC/B,SAA6B,EAC7B,WAAuC;IAEvC,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAE5B,iCAAiC;IACjC,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAEzD,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;QAC3B,kCAAkC;QAClC,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACvD,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,cAAc,CACrB,IAAY,EACZ,WAAuC;IAEvC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CACtB,6EAA6E,CAC9E,CAAC;IAEF,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CACb,8BAA8B,IAAI,CAAC,IAAI,EAAE,iDAAiD,CAC3F,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC;IACpD,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IAExB,IAAI,MAAc,CAAC;IACnB,IAAI,KAAK,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC3C,MAAM,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACpD,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;IAC7B,CAAC;IAED,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,MAAM,KAAK,QAAQ,CAAC;IAClD,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,MAAM,KAAK,QAAQ,CAAC;IAClD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -4,7 +4,8 @@ export interface ExecutorCallbacks {
|
|
|
4
4
|
onNodeStart: (nodeId: string) => void;
|
|
5
5
|
onNodeComplete: (nodeId: string, result: NodeResult) => void;
|
|
6
6
|
onNodeSkip: (nodeId: string, reason: string) => void;
|
|
7
|
-
onNodeFail: (nodeId: string, error: string) => void;
|
|
7
|
+
onNodeFail: (nodeId: string, error: string, retryCount?: number) => void;
|
|
8
|
+
onNodeReset?: (nodeId: string) => void;
|
|
8
9
|
}
|
|
9
10
|
export interface ExecutorOptions {
|
|
10
11
|
delayFn?: (ms: number) => Promise<void>;
|
|
@@ -41,6 +42,7 @@ export declare class DAGExecutor {
|
|
|
41
42
|
private completed;
|
|
42
43
|
private failed;
|
|
43
44
|
private skipped;
|
|
45
|
+
private inFlight;
|
|
44
46
|
private nodeResults;
|
|
45
47
|
private runner;
|
|
46
48
|
private args;
|
|
@@ -48,12 +50,37 @@ export declare class DAGExecutor {
|
|
|
48
50
|
private initialized;
|
|
49
51
|
private inputsValidated;
|
|
50
52
|
private retryCounts;
|
|
53
|
+
private ancestorCache;
|
|
51
54
|
private readonly delayFn;
|
|
55
|
+
private outputsMapCache;
|
|
56
|
+
private outputsMapDirty;
|
|
57
|
+
private yieldTimestamps;
|
|
52
58
|
constructor(workspaceCwd: string, projectPath: string, graph: DAGGraph, callbacks: ExecutorCallbacks, options?: ExecutorOptions);
|
|
59
|
+
static fromRecoveredState(workspaceCwd: string, projectPath: string, graph: DAGGraph, callbacks: ExecutorCallbacks, state: {
|
|
60
|
+
pending: Set<string>;
|
|
61
|
+
completed: Set<string>;
|
|
62
|
+
failed: Set<string>;
|
|
63
|
+
skipped: Set<string>;
|
|
64
|
+
nodeResults: Record<string, NodeResult>;
|
|
65
|
+
retryCounts: Map<string, number>;
|
|
66
|
+
args: string;
|
|
67
|
+
artifactsPath: string;
|
|
68
|
+
}, options?: ExecutorOptions): DAGExecutor;
|
|
53
69
|
step(input?: StepInput): Promise<StepResult>;
|
|
54
70
|
private findReadyNodes;
|
|
55
71
|
private resetNode;
|
|
72
|
+
private markOutputsDirty;
|
|
56
73
|
private buildOutputsMap;
|
|
74
|
+
private getAncestors;
|
|
75
|
+
clearResults(): void;
|
|
76
|
+
getNodeSummaries(): Record<string, {
|
|
77
|
+
status: string;
|
|
78
|
+
durationMs?: number;
|
|
79
|
+
startedAt?: string;
|
|
80
|
+
completedAt?: string;
|
|
81
|
+
outputPreview?: string;
|
|
82
|
+
}>;
|
|
83
|
+
private buildScopedOutputsMap;
|
|
57
84
|
private buildContext;
|
|
58
85
|
}
|
|
59
86
|
//# sourceMappingURL=dag-executor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dag-executor.d.ts","sourceRoot":"","sources":["../../src/engine/dag-executor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAW,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAMpD,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IAC7D,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACrD,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"dag-executor.d.ts","sourceRoot":"","sources":["../../src/engine/dag-executor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAW,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAMpD,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IAC7D,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACrD,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACzE,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,CAAC;IACrC,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAC;CACtC;AAED,qBAAa,WAAW;IAoBpB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAtB5B,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,WAAW,CAAkC;IACrD,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,IAAI,CAAM;IAClB,OAAO,CAAC,YAAY,CAAU;IAC9B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,WAAW,CAA6B;IAChD,OAAO,CAAC,aAAa,CAAkC;IACvD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgC;IACxD,OAAO,CAAC,eAAe,CAAgG;IACvH,OAAO,CAAC,eAAe,CAAQ;IAC/B,OAAO,CAAC,eAAe,CAA0D;gBAG9D,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,QAAQ,EACf,SAAS,EAAE,iBAAiB,EAC7C,OAAO,GAAE,eAAoB;IAO/B,MAAM,CAAC,kBAAkB,CACvB,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,QAAQ,EACf,SAAS,EAAE,iBAAiB,EAC5B,KAAK,EAAE;QACL,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACrB,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACvB,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACpB,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACxC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,IAAI,EAAE,MAAM,CAAC;QACb,aAAa,EAAE,MAAM,CAAC;KACvB,EACD,OAAO,GAAE,eAAoB,GAC5B,WAAW;IAeR,IAAI,CAAC,KAAK,GAAE,SAAc,GAAG,OAAO,CAAC,UAAU,CAAC;IAsPtD,OAAO,CAAC,cAAc;IA4CtB,OAAO,CAAC,SAAS;IAiBjB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,YAAY;IAmBpB,YAAY,IAAI,IAAI;IAMpB,gBAAgB,IAAI,MAAM,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAoB7I,OAAO,CAAC,qBAAqB;IAY7B,OAAO,CAAC,YAAY;CAOrB"}
|