@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.
Files changed (103) hide show
  1. package/package.json +4 -2
  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 +15 -6
  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 +28 -1
  37. package/packages/core/dist/engine/dag-executor.d.ts.map +1 -1
  38. package/packages/core/dist/engine/dag-executor.js +279 -131
  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 +2 -0
  42. package/packages/core/dist/engine/dag-parser.js.map +1 -1
  43. package/packages/core/dist/engine/node-runner.d.ts.map +1 -1
  44. package/packages/core/dist/engine/node-runner.js +12 -1
  45. package/packages/core/dist/engine/node-runner.js.map +1 -1
  46. package/packages/core/dist/engine/variable-resolver.d.ts +1 -1
  47. package/packages/core/dist/engine/variable-resolver.d.ts.map +1 -1
  48. package/packages/core/dist/engine/variable-resolver.js +21 -11
  49. package/packages/core/dist/engine/variable-resolver.js.map +1 -1
  50. package/packages/core/dist/index.d.ts +5 -1
  51. package/packages/core/dist/index.d.ts.map +1 -1
  52. package/packages/core/dist/index.js +13 -3
  53. package/packages/core/dist/index.js.map +1 -1
  54. package/packages/core/dist/isolation/artifact-store.d.ts.map +1 -1
  55. package/packages/core/dist/isolation/artifact-store.js +30 -5
  56. package/packages/core/dist/isolation/artifact-store.js.map +1 -1
  57. package/packages/core/dist/isolation/workspace-manager.d.ts +2 -0
  58. package/packages/core/dist/isolation/workspace-manager.d.ts.map +1 -1
  59. package/packages/core/dist/isolation/workspace-manager.js +81 -7
  60. package/packages/core/dist/isolation/workspace-manager.js.map +1 -1
  61. package/packages/core/dist/schema/workflow-schema.d.ts +10 -0
  62. package/packages/core/dist/schema/workflow-schema.d.ts.map +1 -1
  63. package/packages/core/dist/schema/workflow-schema.js +5 -3
  64. package/packages/core/dist/schema/workflow-schema.js.map +1 -1
  65. package/packages/core/dist/skills/skill-loader.d.ts.map +1 -1
  66. package/packages/core/dist/skills/skill-loader.js +7 -0
  67. package/packages/core/dist/skills/skill-loader.js.map +1 -1
  68. package/packages/core/dist/store/atomic.d.ts +11 -0
  69. package/packages/core/dist/store/atomic.d.ts.map +1 -0
  70. package/packages/core/dist/store/atomic.js +51 -0
  71. package/packages/core/dist/store/atomic.js.map +1 -0
  72. package/packages/core/dist/store/recovery.d.ts +3 -0
  73. package/packages/core/dist/store/recovery.d.ts.map +1 -0
  74. package/packages/core/dist/store/recovery.js +206 -0
  75. package/packages/core/dist/store/recovery.js.map +1 -0
  76. package/packages/core/dist/store/run-lock.d.ts +9 -0
  77. package/packages/core/dist/store/run-lock.d.ts.map +1 -0
  78. package/packages/core/dist/store/run-lock.js +62 -0
  79. package/packages/core/dist/store/run-lock.js.map +1 -0
  80. package/packages/core/dist/store/run-store.d.ts +20 -7
  81. package/packages/core/dist/store/run-store.d.ts.map +1 -1
  82. package/packages/core/dist/store/run-store.js +175 -34
  83. package/packages/core/dist/store/run-store.js.map +1 -1
  84. package/packages/core/dist/store/snapshot.d.ts +4 -0
  85. package/packages/core/dist/store/snapshot.d.ts.map +1 -0
  86. package/packages/core/dist/store/snapshot.js +59 -0
  87. package/packages/core/dist/store/snapshot.js.map +1 -0
  88. package/packages/core/dist/store/types.d.ts +89 -4
  89. package/packages/core/dist/store/types.d.ts.map +1 -1
  90. package/packages/core/dist/store/types.js +14 -0
  91. package/packages/core/dist/store/types.js.map +1 -1
  92. package/packages/core/dist/store/wal.d.ts +39 -0
  93. package/packages/core/dist/store/wal.d.ts.map +1 -0
  94. package/packages/core/dist/store/wal.js +203 -0
  95. package/packages/core/dist/store/wal.js.map +1 -0
  96. package/packages/core/dist/types/dag.d.ts +2 -0
  97. package/packages/core/dist/types/dag.d.ts.map +1 -1
  98. package/packages/core/dist/types/workflow.d.ts +5 -3
  99. package/packages/core/dist/types/workflow.d.ts.map +1 -1
  100. package/packages/core/dist/store/event-log.d.ts +0 -8
  101. package/packages/core/dist/store/event-log.d.ts.map +0 -1
  102. package/packages/core/dist/store/event-log.js +0 -30
  103. package/packages/core/dist/store/event-log.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"run-store.js","sourceRoot":"","sources":["../../src/store/run-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-store.js","sourceRoot":"","sources":["../../src/store/run-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { CompactSnapshot } from './types.js';
2
+ export declare function writeSnapshot(runDir: string, snapshot: CompactSnapshot): void;
3
+ export declare function loadSnapshot(runDir: string): CompactSnapshot | null;
4
+ //# sourceMappingURL=snapshot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../src/store/snapshot.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,GAAG,IAAI,CAU7E;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAoCnE"}
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.writeSnapshot = writeSnapshot;
4
+ exports.loadSnapshot = loadSnapshot;
5
+ const crypto_1 = require("crypto");
6
+ const fs_1 = require("fs");
7
+ const path_1 = require("path");
8
+ const atomic_js_1 = require("./atomic.js");
9
+ function writeSnapshot(runDir, snapshot) {
10
+ try {
11
+ // Compute checksum of snapshot content (without checksum field)
12
+ const body = JSON.stringify(snapshot);
13
+ const checksum = (0, crypto_1.createHash)('sha256').update(body).digest('hex');
14
+ const withChecksum = JSON.stringify({ ...snapshot, _checksum: checksum });
15
+ (0, atomic_js_1.atomicWriteSync)((0, path_1.join)(runDir, 'snapshot.json'), withChecksum);
16
+ }
17
+ catch {
18
+ console.error('[snapshot] Warning: failed to write snapshot');
19
+ }
20
+ }
21
+ function loadSnapshot(runDir) {
22
+ const snapPath = (0, path_1.join)(runDir, 'snapshot.json');
23
+ if (!(0, fs_1.existsSync)(snapPath))
24
+ return null;
25
+ const snapContent = (0, atomic_js_1.safeReadSync)(snapPath);
26
+ if (snapContent instanceof Error)
27
+ return null;
28
+ try {
29
+ const parsed = JSON.parse(snapContent);
30
+ // New format: embedded _checksum
31
+ if (parsed._checksum) {
32
+ const { _checksum, ...rest } = parsed;
33
+ const expectedBody = JSON.stringify(rest);
34
+ const actualChecksum = (0, crypto_1.createHash)('sha256').update(expectedBody).digest('hex');
35
+ if (actualChecksum !== _checksum) {
36
+ console.error('[snapshot] Warning: checksum mismatch — will rebuild from WAL');
37
+ return null;
38
+ }
39
+ return rest;
40
+ }
41
+ // Legacy format: external checksum file
42
+ const checksumPath = (0, path_1.join)(runDir, 'snapshot.checksum');
43
+ if (!(0, fs_1.existsSync)(checksumPath))
44
+ return null;
45
+ const expectedChecksum = (0, atomic_js_1.safeReadSync)(checksumPath);
46
+ if (expectedChecksum instanceof Error)
47
+ return null;
48
+ const actualChecksum = (0, crypto_1.createHash)('sha256').update(snapContent).digest('hex');
49
+ if (actualChecksum !== expectedChecksum.toString().trim()) {
50
+ console.error('[snapshot] Warning: checksum mismatch — will rebuild from WAL');
51
+ return null;
52
+ }
53
+ return parsed;
54
+ }
55
+ catch {
56
+ return null;
57
+ }
58
+ }
59
+ //# sourceMappingURL=snapshot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../src/store/snapshot.ts"],"names":[],"mappings":";;AAMA,sCAUC;AAED,oCAoCC;AAtDD,mCAAoC;AACpC,2BAAgC;AAChC,+BAA4B;AAC5B,2CAA4D;AAG5D,SAAgB,aAAa,CAAC,MAAc,EAAE,QAAyB;IACrE,IAAI,CAAC;QACH,gEAAgE;QAChE,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACtC,MAAM,QAAQ,GAAG,IAAA,mBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACjE,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC1E,IAAA,2BAAe,EAAC,IAAA,WAAI,EAAC,MAAM,EAAE,eAAe,CAAC,EAAE,YAAY,CAAC,CAAC;IAC/D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAChE,CAAC;AACH,CAAC;AAED,SAAgB,YAAY,CAAC,MAAc;IACzC,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC/C,IAAI,CAAC,IAAA,eAAU,EAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAEvC,MAAM,WAAW,GAAG,IAAA,wBAAY,EAAC,QAAQ,CAAC,CAAC;IAC3C,IAAI,WAAW,YAAY,KAAK;QAAE,OAAO,IAAI,CAAC;IAE9C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAEvC,iCAAiC;QACjC,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;YACtC,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC1C,MAAM,cAAc,GAAG,IAAA,mBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC/E,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;gBACjC,OAAO,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAC;gBAC/E,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,IAAuB,CAAC;QACjC,CAAC;QAED,wCAAwC;QACxC,MAAM,YAAY,GAAG,IAAA,WAAI,EAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;QACvD,IAAI,CAAC,IAAA,eAAU,EAAC,YAAY,CAAC;YAAE,OAAO,IAAI,CAAC;QAC3C,MAAM,gBAAgB,GAAG,IAAA,wBAAY,EAAC,YAAY,CAAC,CAAC;QACpD,IAAI,gBAAgB,YAAY,KAAK;YAAE,OAAO,IAAI,CAAC;QACnD,MAAM,cAAc,GAAG,IAAA,mBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9E,IAAI,cAAc,KAAK,gBAAgB,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;YAC1D,OAAO,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAC;YAC/E,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,MAAyB,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -12,19 +12,104 @@ export interface NodeResult {
12
12
  export interface WorkflowRun {
13
13
  runId: string;
14
14
  workflow: string;
15
+ workflowYaml?: string;
15
16
  status: RunStatus;
16
17
  args: string;
17
18
  workspacePath: string;
18
19
  artifactsPath: string;
19
20
  projectPath: string;
21
+ branchName?: string;
20
22
  startedAt: string;
21
23
  completedAt?: string;
22
24
  nodes: Record<string, NodeResult>;
23
25
  }
24
- export interface WorkflowEvent {
25
- timestamp: string;
26
- type: 'run:create' | 'node:start' | 'node:complete' | 'node:skip' | 'node:fail' | 'run:complete' | 'run:fail';
26
+ export type WALEventType = 'run:create' | 'node:start' | 'node:complete' | 'node:fail' | 'node:skip' | 'node:reset' | 'run:complete' | 'run:fail';
27
+ export interface WALEvent {
28
+ seq: number;
29
+ ts: string;
30
+ type: WALEventType;
27
31
  nodeId?: string;
28
- data?: Record<string, unknown>;
32
+ data?: {
33
+ output?: string | {
34
+ __vsaf_ref: string;
35
+ } | {
36
+ ref: string;
37
+ };
38
+ structuredOutput?: Record<string, unknown> | {
39
+ __vsaf_ref: string;
40
+ } | {
41
+ ref: string;
42
+ };
43
+ error?: string;
44
+ status?: NodeStatus;
45
+ retryCount?: number;
46
+ args?: string;
47
+ workflow?: string;
48
+ workflowYaml?: string;
49
+ workspacePath?: string;
50
+ artifactsPath?: string;
51
+ projectPath?: string;
52
+ branchName?: string;
53
+ startedAt?: string;
54
+ completedAt?: string;
55
+ durationMs?: number;
56
+ };
57
+ }
58
+ export interface CompactSnapshot {
59
+ runId: string;
60
+ workflow: string;
61
+ workflowYaml?: string;
62
+ status: RunStatus;
63
+ walSeq: number;
64
+ args: string;
65
+ workspacePath: string;
66
+ artifactsPath: string;
67
+ projectPath: string;
68
+ branchName?: string;
69
+ startedAt: string;
70
+ completedAt?: string;
71
+ nodes: Record<string, {
72
+ status: NodeStatus;
73
+ outputRef?: string | {
74
+ __vsaf_ref: string;
75
+ } | {
76
+ ref: string;
77
+ };
78
+ structuredOutputRef?: Record<string, unknown> | {
79
+ __vsaf_ref: string;
80
+ } | {
81
+ ref: string;
82
+ };
83
+ startedAt?: string;
84
+ completedAt?: string;
85
+ error?: string;
86
+ retryCount?: number;
87
+ }>;
88
+ }
89
+ export declare class StorageError extends Error {
90
+ readonly code: 'CORRUPT' | 'DISK_FULL' | 'PERMISSION' | 'NOT_FOUND';
91
+ readonly path: string;
92
+ readonly cause?: Error | undefined;
93
+ constructor(message: string, code: 'CORRUPT' | 'DISK_FULL' | 'PERMISSION' | 'NOT_FOUND', path: string, cause?: Error | undefined);
94
+ }
95
+ export interface RecoveredState {
96
+ runId: string;
97
+ workflow: string;
98
+ workflowYaml: string;
99
+ args: string;
100
+ workspacePath: string;
101
+ artifactsPath: string;
102
+ projectPath: string;
103
+ branchName?: string;
104
+ startedAt: string;
105
+ completedAt?: string;
106
+ runStatus?: RunStatus;
107
+ pending: Set<string>;
108
+ completed: Set<string>;
109
+ failed: Set<string>;
110
+ skipped: Set<string>;
111
+ nodeResults: Record<string, NodeResult>;
112
+ retryCounts: Map<string, number>;
113
+ walSeq: number;
29
114
  }
30
115
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/store/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEtE,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,SAAS,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,YAAY,GAAG,YAAY,GAAG,eAAe,GAAG,WAAW,GAAG,WAAW,GAAG,cAAc,GAAG,UAAU,CAAC;IAC9G,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/store/types.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StorageError = void 0;
4
+ class StorageError extends Error {
5
+ code;
6
+ path;
7
+ cause;
8
+ constructor(message, code, path, cause) {
9
+ super(message);
10
+ this.code = code;
11
+ this.path = path;
12
+ this.cause = cause;
13
+ this.name = 'StorageError';
14
+ }
15
+ }
16
+ exports.StorageError = StorageError;
3
17
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/store/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/store/types.ts"],"names":[],"mappings":";;;AA2FA,MAAa,YAAa,SAAQ,KAAK;IAGnB;IACA;IACA;IAJlB,YACE,OAAe,EACC,IAA0D,EAC1D,IAAY,EACZ,KAAa;QAE7B,KAAK,CAAC,OAAO,CAAC,CAAC;QAJC,SAAI,GAAJ,IAAI,CAAsD;QAC1D,SAAI,GAAJ,IAAI,CAAQ;QACZ,UAAK,GAAL,KAAK,CAAQ;QAG7B,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF;AAVD,oCAUC"}
@@ -0,0 +1,39 @@
1
+ import type { WALEvent } from './types.js';
2
+ export declare class WAL {
3
+ private readonly walPath;
4
+ private readonly runDir;
5
+ private seq;
6
+ private outputDirCreated;
7
+ private cachedContent;
8
+ constructor(runDir: string);
9
+ get currentSeq(): number;
10
+ append(partial: Omit<WALEvent, 'seq' | 'ts'>): WALEvent;
11
+ private ensureOutputDir;
12
+ private readWALContent;
13
+ replay(afterSeq?: number): WALEvent[];
14
+ persistOutput(nodeId: string, output: string): string | {
15
+ __vsaf_ref: string;
16
+ };
17
+ persistStructuredOutput(nodeId: string, data: Record<string, unknown>): Record<string, unknown> | {
18
+ __vsaf_ref: string;
19
+ };
20
+ getOutputRef(nodeId: string, output: string): string | {
21
+ __vsaf_ref: string;
22
+ };
23
+ getStructuredOutputRef(nodeId: string, data: Record<string, unknown>): Record<string, unknown> | {
24
+ __vsaf_ref: string;
25
+ };
26
+ resolveOutput(stored: string | {
27
+ __vsaf_ref: string;
28
+ } | {
29
+ ref: string;
30
+ }): string;
31
+ resolveStructuredOutput(stored: Record<string, unknown> | {
32
+ __vsaf_ref: string;
33
+ } | {
34
+ ref: string;
35
+ }): Record<string, unknown>;
36
+ private loadLastSeq;
37
+ static hasTerminalAfter(runDir: string, afterSeq: number): boolean;
38
+ }
39
+ //# sourceMappingURL=wal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wal.d.ts","sourceRoot":"","sources":["../../src/store/wal.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAI3C,qBAAa,GAAG;IACd,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,aAAa,CAAuB;gBAEhC,MAAM,EAAE,MAAM;IAO1B,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,GAAG,IAAI,CAAC,GAAG,QAAQ;IAsBvD,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,cAAc;IAOtB,MAAM,CAAC,QAAQ,SAAI,GAAG,QAAQ,EAAE;IAqBhC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE;IAQ9E,uBAAuB,CACrB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE;IASnD,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE;IAK7E,sBAAsB,CACpB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE;IAMnD,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM;IAWhF,uBAAuB,CACrB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,GACzE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAqC1B,OAAO,CAAC,WAAW;IAkBnB,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO;CAgBnE"}
@@ -0,0 +1,203 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WAL = void 0;
4
+ const fs_1 = require("fs");
5
+ const path_1 = require("path");
6
+ const atomic_js_1 = require("./atomic.js");
7
+ const types_js_1 = require("./types.js");
8
+ const OUTPUT_THRESHOLD = 4096;
9
+ class WAL {
10
+ walPath;
11
+ runDir;
12
+ seq;
13
+ outputDirCreated = false;
14
+ cachedContent = null;
15
+ constructor(runDir) {
16
+ this.runDir = runDir;
17
+ this.walPath = (0, path_1.join)(runDir, 'wal.jsonl');
18
+ (0, fs_1.mkdirSync)(runDir, { recursive: true });
19
+ this.seq = this.loadLastSeq();
20
+ }
21
+ get currentSeq() {
22
+ return this.seq;
23
+ }
24
+ append(partial) {
25
+ const nextSeq = this.seq + 1;
26
+ const event = {
27
+ seq: nextSeq,
28
+ ts: new Date().toISOString(),
29
+ ...partial,
30
+ };
31
+ const line = JSON.stringify(event) + '\n';
32
+ try {
33
+ (0, fs_1.appendFileSync)(this.walPath, line, { encoding: 'utf-8', mode: 0o600 });
34
+ }
35
+ catch (err) {
36
+ const e = err;
37
+ if (e.code === 'ENOSPC') {
38
+ throw new types_js_1.StorageError('Disk full — cannot append WAL', 'DISK_FULL', this.walPath, e);
39
+ }
40
+ throw e;
41
+ }
42
+ this.cachedContent = null; // Invalidate cache — file content changed
43
+ this.seq = nextSeq;
44
+ return event;
45
+ }
46
+ ensureOutputDir() {
47
+ if (!this.outputDirCreated) {
48
+ (0, fs_1.mkdirSync)((0, path_1.join)(this.runDir, 'outputs'), { recursive: true });
49
+ this.outputDirCreated = true;
50
+ }
51
+ }
52
+ readWALContent() {
53
+ if (!(0, fs_1.existsSync)(this.walPath))
54
+ return null;
55
+ const content = (0, atomic_js_1.safeReadSync)(this.walPath);
56
+ if (content instanceof types_js_1.StorageError)
57
+ return null;
58
+ return content;
59
+ }
60
+ replay(afterSeq = 0) {
61
+ const content = this.cachedContent ?? this.readWALContent();
62
+ this.cachedContent = null; // Free after use
63
+ if (!content)
64
+ return [];
65
+ const events = [];
66
+ for (const line of content.split('\n')) {
67
+ if (!line.trim())
68
+ continue;
69
+ try {
70
+ const event = JSON.parse(line);
71
+ if (event.seq > afterSeq) {
72
+ events.push(event);
73
+ }
74
+ }
75
+ catch {
76
+ // Skip corrupt lines (spec: replay partial)
77
+ continue;
78
+ }
79
+ }
80
+ return events;
81
+ }
82
+ persistOutput(nodeId, output) {
83
+ if (output.length <= OUTPUT_THRESHOLD)
84
+ return output;
85
+ const refPath = `outputs/${nodeId}.txt`;
86
+ this.ensureOutputDir();
87
+ (0, atomic_js_1.atomicWriteSync)((0, path_1.join)(this.runDir, refPath), output);
88
+ return { __vsaf_ref: refPath };
89
+ }
90
+ persistStructuredOutput(nodeId, data) {
91
+ const json = JSON.stringify(data);
92
+ if (json.length <= OUTPUT_THRESHOLD)
93
+ return data;
94
+ const refPath = `outputs/${nodeId}.json`;
95
+ this.ensureOutputDir();
96
+ (0, atomic_js_1.atomicWriteSync)((0, path_1.join)(this.runDir, refPath), json);
97
+ return { __vsaf_ref: refPath };
98
+ }
99
+ getOutputRef(nodeId, output) {
100
+ if (output.length <= OUTPUT_THRESHOLD)
101
+ return output;
102
+ return { __vsaf_ref: `outputs/${nodeId}.txt` };
103
+ }
104
+ getStructuredOutputRef(nodeId, data) {
105
+ const json = JSON.stringify(data);
106
+ if (json.length <= OUTPUT_THRESHOLD)
107
+ return data;
108
+ return { __vsaf_ref: `outputs/${nodeId}.json` };
109
+ }
110
+ resolveOutput(stored) {
111
+ if (typeof stored === 'string')
112
+ return stored;
113
+ const refPath = '__vsaf_ref' in stored ? stored.__vsaf_ref : stored.ref;
114
+ const content = (0, atomic_js_1.safeReadSync)((0, path_1.join)(this.runDir, refPath));
115
+ if (content instanceof types_js_1.StorageError) {
116
+ console.error(`[WAL] Warning: output file missing: ${refPath}`);
117
+ return '';
118
+ }
119
+ return content;
120
+ }
121
+ resolveStructuredOutput(stored) {
122
+ // Check for new sentinel first
123
+ if ('__vsaf_ref' in stored) {
124
+ const refPath = stored.__vsaf_ref;
125
+ const content = (0, atomic_js_1.safeReadSync)((0, path_1.join)(this.runDir, refPath));
126
+ if (content instanceof types_js_1.StorageError) {
127
+ console.error(`[WAL] Warning: structured output file missing: ${refPath}`);
128
+ return {};
129
+ }
130
+ try {
131
+ return JSON.parse(content);
132
+ }
133
+ catch {
134
+ console.error(`[WAL] Warning: corrupted structured output: ${refPath}`);
135
+ return {};
136
+ }
137
+ }
138
+ // Legacy sentinel: { ref: string } with exactly one key
139
+ if ('ref' in stored && typeof stored.ref === 'string' && Object.keys(stored).length === 1) {
140
+ const refPath = stored.ref;
141
+ if (!refPath.startsWith('outputs/')) {
142
+ return stored;
143
+ }
144
+ const content = (0, atomic_js_1.safeReadSync)((0, path_1.join)(this.runDir, refPath));
145
+ if (content instanceof types_js_1.StorageError) {
146
+ console.error(`[WAL] Warning: structured output file missing: ${refPath}`);
147
+ return {};
148
+ }
149
+ try {
150
+ return JSON.parse(content);
151
+ }
152
+ catch {
153
+ console.error(`[WAL] Warning: corrupted structured output: ${refPath}`);
154
+ return {};
155
+ }
156
+ }
157
+ return stored;
158
+ }
159
+ loadLastSeq() {
160
+ const content = this.readWALContent();
161
+ if (!content)
162
+ return 0;
163
+ this.cachedContent = content; // Cache for subsequent replay()
164
+ const lines = content.trim().split('\n').filter(Boolean);
165
+ if (lines.length === 0)
166
+ return 0;
167
+ // Read last valid line
168
+ for (let i = lines.length - 1; i >= 0; i--) {
169
+ try {
170
+ const event = JSON.parse(lines[i]);
171
+ return event.seq;
172
+ }
173
+ catch {
174
+ continue;
175
+ }
176
+ }
177
+ return 0;
178
+ }
179
+ static hasTerminalAfter(runDir, afterSeq) {
180
+ const walPath = (0, path_1.join)(runDir, 'wal.jsonl');
181
+ if (!(0, fs_1.existsSync)(walPath))
182
+ return false;
183
+ const content = (0, atomic_js_1.safeReadSync)(walPath);
184
+ if (content instanceof types_js_1.StorageError)
185
+ return false;
186
+ for (const line of content.split('\n')) {
187
+ if (!line.trim())
188
+ continue;
189
+ try {
190
+ const event = JSON.parse(line);
191
+ if (event.seq > afterSeq && (event.type === 'run:complete' || event.type === 'run:fail')) {
192
+ return true;
193
+ }
194
+ }
195
+ catch {
196
+ continue;
197
+ }
198
+ }
199
+ return false;
200
+ }
201
+ }
202
+ exports.WAL = WAL;
203
+ //# sourceMappingURL=wal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wal.js","sourceRoot":"","sources":["../../src/store/wal.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,9 @@ export interface DAGNode {
18
18
  structuredOutput?: Record<string, unknown>;
19
19
  durationMs?: number;
20
20
  error?: string;
21
+ idempotent: boolean;
21
22
  errorStrategy: ErrorStrategy;
23
+ timeout?: number;
22
24
  loop?: {
23
25
  onFail: string;
24
26
  maxRetries: number;
@@ -1 +1 @@
1
- {"version":3,"file":"dag.d.ts","sourceRoot":"","sources":["../../src/types/dag.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEhF,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEpF,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,aAAa,GAAG,aAAa,CAAC;IAC3C,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,aAAa,CAAC;IAC7B,IAAI,CAAC,EAAE;QACL,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,OAAO,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACvC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC7B"}
1
+ {"version":3,"file":"dag.d.ts","sourceRoot":"","sources":["../../src/types/dag.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEhF,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEpF,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,aAAa,GAAG,aAAa,CAAC;IAC3C,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,aAAa,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE;QACL,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,OAAO,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACvC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC7B"}
@@ -36,12 +36,14 @@ export interface NodeDefinition {
36
36
  workspace?: boolean;
37
37
  loop?: LoopConfig;
38
38
  on_error?: ErrorStrategy;
39
+ idempotent?: boolean;
40
+ timeout?: number;
39
41
  }
40
42
  export interface WorkflowDefinition {
41
43
  name: string;
42
- description: string;
43
- provider: string;
44
- model: string;
44
+ description?: string;
45
+ provider?: string;
46
+ model?: string;
45
47
  inputs?: Record<string, InputParamDef>;
46
48
  nodes: NodeDefinition[];
47
49
  }
@@ -1 +1 @@
1
- {"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../src/types/workflow.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IACjD,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,MAAM,aAAa,GAAG,iBAAiB,GAAG,eAAe,GAAG,UAAU,CAAC;AAE7E,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,WAAW,GAAG,aAAa,GAAG,aAAa,CAAC;AAExD,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,aAAa,CAAC,EAAE,YAAY,CAAC;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACvC,KAAK,EAAE,cAAc,EAAE,CAAC;CACzB"}
1
+ {"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../src/types/workflow.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IACjD,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,MAAM,aAAa,GAAG,iBAAiB,GAAG,eAAe,GAAG,UAAU,CAAC;AAE7E,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,WAAW,GAAG,aAAa,GAAG,aAAa,CAAC;AAExD,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,aAAa,CAAC,EAAE,YAAY,CAAC;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACvC,KAAK,EAAE,cAAc,EAAE,CAAC;CACzB"}
@@ -1,8 +0,0 @@
1
- import type { WorkflowEvent } from './types.js';
2
- export declare class EventLog {
3
- private readonly filePath;
4
- constructor(runDir: string);
5
- append(event: Omit<WorkflowEvent, 'timestamp'>): void;
6
- readAll(): WorkflowEvent[];
7
- }
8
- //# sourceMappingURL=event-log.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"event-log.d.ts","sourceRoot":"","sources":["../../src/store/event-log.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;gBAEtB,MAAM,EAAE,MAAM;IAI1B,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,GAAG,IAAI;IAQrD,OAAO,IAAI,aAAa,EAAE;CAQ3B"}
@@ -1,30 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EventLog = void 0;
4
- const fs_1 = require("fs");
5
- const path_1 = require("path");
6
- class EventLog {
7
- filePath;
8
- constructor(runDir) {
9
- this.filePath = (0, path_1.join)(runDir, 'events.jsonl');
10
- }
11
- append(event) {
12
- const entry = {
13
- timestamp: new Date().toISOString(),
14
- ...event,
15
- };
16
- (0, fs_1.appendFileSync)(this.filePath, JSON.stringify(entry) + '\n', 'utf-8');
17
- }
18
- readAll() {
19
- if (!(0, fs_1.existsSync)(this.filePath))
20
- return [];
21
- const content = (0, fs_1.readFileSync)(this.filePath, 'utf-8').trim();
22
- if (!content)
23
- return [];
24
- return content
25
- .split('\n')
26
- .map(line => JSON.parse(line));
27
- }
28
- }
29
- exports.EventLog = EventLog;
30
- //# sourceMappingURL=event-log.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"event-log.js","sourceRoot":"","sources":["../../src/store/event-log.ts"],"names":[],"mappings":";;;AAAA,2BAA8D;AAC9D,+BAA4B;AAG5B,MAAa,QAAQ;IACF,QAAQ,CAAS;IAElC,YAAY,MAAc;QACxB,IAAI,CAAC,QAAQ,GAAG,IAAA,WAAI,EAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,CAAC,KAAuC;QAC5C,MAAM,KAAK,GAAkB;YAC3B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,GAAG,KAAK;SACT,CAAC;QACF,IAAA,mBAAc,EAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;IACvE,CAAC;IAED,OAAO;QACL,IAAI,CAAC,IAAA,eAAU,EAAC,IAAI,CAAC,QAAQ,CAAC;YAAE,OAAO,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,IAAA,iBAAY,EAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5D,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,CAAC;QACxB,OAAO,OAAO;aACX,KAAK,CAAC,IAAI,CAAC;aACX,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAkB,CAAC,CAAC;IACpD,CAAC;CACF;AAvBD,4BAuBC"}