@acpus/runtime 0.1.0 → 0.2.1

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 (76) hide show
  1. package/dist/agent-telemetry.d.ts +49 -0
  2. package/dist/agent-telemetry.d.ts.map +1 -0
  3. package/dist/agent-telemetry.js +255 -0
  4. package/dist/agent-telemetry.js.map +1 -0
  5. package/dist/artifacts.d.ts +16 -1
  6. package/dist/artifacts.d.ts.map +1 -1
  7. package/dist/artifacts.js +92 -29
  8. package/dist/artifacts.js.map +1 -1
  9. package/dist/attempt-artifacts.d.ts +35 -0
  10. package/dist/attempt-artifacts.d.ts.map +1 -0
  11. package/dist/attempt-artifacts.js +90 -0
  12. package/dist/attempt-artifacts.js.map +1 -0
  13. package/dist/client.d.ts +32 -2
  14. package/dist/client.d.ts.map +1 -1
  15. package/dist/client.js +35 -2
  16. package/dist/client.js.map +1 -1
  17. package/dist/executors/agent.d.ts +7 -3
  18. package/dist/executors/agent.d.ts.map +1 -1
  19. package/dist/executors/agent.js +58 -61
  20. package/dist/executors/agent.js.map +1 -1
  21. package/dist/executors/mock-program.d.ts +2 -0
  22. package/dist/executors/mock-program.d.ts.map +1 -1
  23. package/dist/executors/mock-program.js +27 -6
  24. package/dist/executors/mock-program.js.map +1 -1
  25. package/dist/executors/output-preview.d.ts +2 -0
  26. package/dist/executors/output-preview.d.ts.map +1 -0
  27. package/dist/executors/output-preview.js +20 -0
  28. package/dist/executors/output-preview.js.map +1 -0
  29. package/dist/executors/program.d.ts +10 -3
  30. package/dist/executors/program.d.ts.map +1 -1
  31. package/dist/executors/program.js +39 -4
  32. package/dist/executors/program.js.map +1 -1
  33. package/dist/executors/types.d.ts +2 -0
  34. package/dist/executors/types.d.ts.map +1 -1
  35. package/dist/fork.d.ts +80 -0
  36. package/dist/fork.d.ts.map +1 -0
  37. package/dist/fork.js +203 -0
  38. package/dist/fork.js.map +1 -0
  39. package/dist/index.d.ts +9 -4
  40. package/dist/index.d.ts.map +1 -1
  41. package/dist/index.js +6 -3
  42. package/dist/index.js.map +1 -1
  43. package/dist/interpreter.d.ts +7 -49
  44. package/dist/interpreter.d.ts.map +1 -1
  45. package/dist/interpreter.js +232 -461
  46. package/dist/interpreter.js.map +1 -1
  47. package/dist/keys.d.ts +50 -2
  48. package/dist/keys.d.ts.map +1 -1
  49. package/dist/keys.js +261 -1
  50. package/dist/keys.js.map +1 -1
  51. package/dist/run-control.d.ts +45 -0
  52. package/dist/run-control.d.ts.map +1 -0
  53. package/dist/run-control.js +255 -0
  54. package/dist/run-control.js.map +1 -0
  55. package/dist/state-machine.d.ts +5 -1
  56. package/dist/state-machine.d.ts.map +1 -1
  57. package/dist/state-machine.js +16 -1
  58. package/dist/state-machine.js.map +1 -1
  59. package/dist/store.d.ts +29 -2
  60. package/dist/store.d.ts.map +1 -1
  61. package/dist/store.js +129 -28
  62. package/dist/store.js.map +1 -1
  63. package/dist/supervisor-app.d.ts.map +1 -1
  64. package/dist/supervisor-app.js +145 -42
  65. package/dist/supervisor-app.js.map +1 -1
  66. package/dist/supervisor-discovery.d.ts +1 -0
  67. package/dist/supervisor-discovery.d.ts.map +1 -1
  68. package/dist/supervisor-discovery.js +9 -15
  69. package/dist/supervisor-discovery.js.map +1 -1
  70. package/dist/types.d.ts +94 -5
  71. package/dist/types.d.ts.map +1 -1
  72. package/dist/workflow-outputs.d.ts +9 -0
  73. package/dist/workflow-outputs.d.ts.map +1 -0
  74. package/dist/workflow-outputs.js +59 -0
  75. package/dist/workflow-outputs.js.map +1 -0
  76. package/package.json +3 -3
package/dist/store.js CHANGED
@@ -1,7 +1,8 @@
1
1
  import { createHash } from "node:crypto";
2
- import { existsSync, mkdirSync, rmSync, readdirSync, readFileSync, renameSync, lstatSync, writeFileSync } from "node:fs";
3
- import { dirname, join, resolve } from "node:path";
2
+ import { cpSync, existsSync, mkdirSync, rmSync, readdirSync, readFileSync, renameSync, lstatSync, writeFileSync } from "node:fs";
3
+ import { dirname, join } from "node:path";
4
4
  import { encodeNodeKeyForFs, encodeNodeKeyForDir } from "./keys.js";
5
+ import { ArtifactReferences } from "./artifacts.js";
5
6
  /**
6
7
  * Per-node JSON file persistence with write-to-temp-then-rename for crash safety.
7
8
  *
@@ -60,9 +61,14 @@ export class RunStore {
60
61
  inputDigest,
61
62
  createdAt: now,
62
63
  updatedAt: now,
63
- runAttempt: 1
64
+ runAttempt: 1,
65
+ lineage: source?.lineage,
66
+ agentOverrides: source?.agentOverrides,
67
+ submissionWarnings: source?.submissionWarnings
64
68
  };
65
69
  this.writeRunMeta(runId, meta);
70
+ // Empty checkpoints index — appended to as Nodes reach terminal state.
71
+ this.atomicWriteJson(this.checkpointsIndexPath(runId), []);
66
72
  return meta;
67
73
  }
68
74
  /** Read the frozen IR snapshot for a run. */
@@ -90,6 +96,14 @@ export class RunStore {
90
96
  validateRunId(runId);
91
97
  const filename = encodeNodeKeyForFs(state.nodeKey);
92
98
  this.atomicWriteJson(join(this.runDir(runId), "nodes", filename), state);
99
+ if (isTerminal(state.state) && state.definitionHash && isCheckpointableKind(state.kind)) {
100
+ this.appendCheckpoint(runId, {
101
+ nodeKey: state.nodeKey,
102
+ state: state.state,
103
+ definitionHash: state.definitionHash,
104
+ completedAt: state.completedAt
105
+ });
106
+ }
93
107
  }
94
108
  /** Read node execution state. Returns undefined if not found. */
95
109
  readNodeState(runId, nodeKey) {
@@ -129,6 +143,79 @@ export class RunStore {
129
143
  validateRunId(runId);
130
144
  return existsSync(this.runDir(runId));
131
145
  }
146
+ // ─── Checkpoints ───────────────────────────────────────────────
147
+ /**
148
+ * Append a Run Checkpoint for a Node that has just reached a terminal state.
149
+ * Idempotent on `nodeKey`: if a checkpoint for this Node Key already exists,
150
+ * its entry is replaced in-place to reflect the latest terminal outcome
151
+ * (e.g., a Node Retry that flips failed → completed). Sequence numbers
152
+ * remain monotonic for new entries.
153
+ */
154
+ appendCheckpoint(runId, checkpoint) {
155
+ validateRunId(runId);
156
+ const path = this.checkpointsIndexPath(runId);
157
+ const entries = this.readJson(path) ?? [];
158
+ const existing = entries.findIndex((entry) => entry.nodeKey === checkpoint.nodeKey);
159
+ if (existing >= 0) {
160
+ entries[existing] = { ...checkpoint, sequence: entries[existing].sequence };
161
+ }
162
+ else {
163
+ const nextSequence = entries.reduce((max, entry) => Math.max(max, entry.sequence), 0) + 1;
164
+ entries.push({ ...checkpoint, sequence: nextSequence });
165
+ }
166
+ this.atomicWriteJson(path, entries);
167
+ }
168
+ /**
169
+ * Read the ordered Run Checkpoints for a Run. Returns an empty array when
170
+ * the run was created before checkpoints existed (in which case the Run is
171
+ * not forkable — callers MUST treat absence as ineligible for fork).
172
+ */
173
+ readCheckpoints(runId) {
174
+ validateRunId(runId);
175
+ const entries = this.readJson(this.checkpointsIndexPath(runId));
176
+ if (!entries)
177
+ return [];
178
+ return [...entries].sort((a, b) => a.sequence - b.sequence);
179
+ }
180
+ /** True when this Run has a checkpoint index file (regardless of size). */
181
+ hasCheckpointIndex(runId) {
182
+ validateRunId(runId);
183
+ return existsSync(this.checkpointsIndexPath(runId));
184
+ }
185
+ /**
186
+ * Copy a Node's persisted state and artifact directory from a prior Run into
187
+ * a Forked Run, used when applying a fork plan. Replaces any existing entry
188
+ * and copies the artifact directory recursively. The caller is responsible
189
+ * for also calling appendCheckpoint to register the inherited Node.
190
+ */
191
+ inheritNodeFromRun(targetRunId, sourceRunId, nodeKey) {
192
+ validateRunId(targetRunId);
193
+ validateRunId(sourceRunId);
194
+ const sourceState = this.readNodeState(sourceRunId, nodeKey);
195
+ if (!sourceState) {
196
+ throw new Error(`Cannot inherit node ${nodeKey}: no persisted state in source run ${sourceRunId}`);
197
+ }
198
+ // Rewrite artifact URIs from <sourceRunId> → <targetRunId>.
199
+ const inheritedRefs = sourceState.artifactRefs?.map((uri) => ArtifactReferences.rewriteRunId(uri, sourceRunId, targetRunId));
200
+ const targetState = {
201
+ ...sourceState,
202
+ artifactRefs: inheritedRefs,
203
+ agentTelemetry: rewriteAgentTelemetryArtifactRefs(sourceState.agentTelemetry, sourceRunId, targetRunId)
204
+ };
205
+ // Copy the artifact directory FIRST so a crash before the Node-state
206
+ // write does not leave dangling artifactRefs URIs on disk. cpSync is
207
+ // recursive and creates the destination; the source dir may legitimately
208
+ // not exist for Nodes that produced no artifacts.
209
+ const sourceDir = join(this.runDir(sourceRunId), "artifacts", encodeNodeKeyForDir(nodeKey));
210
+ const targetDir = join(this.runDir(targetRunId), "artifacts", encodeNodeKeyForDir(nodeKey));
211
+ if (existsSync(sourceDir)) {
212
+ mkdirSync(dirname(targetDir), { recursive: true });
213
+ cpSync(sourceDir, targetDir, { recursive: true });
214
+ }
215
+ // Persist Node state last; this is also what auto-appends the checkpoint,
216
+ // so observers never see a checkpoint before its artifacts exist.
217
+ this.writeNodeState(targetRunId, targetState);
218
+ }
132
219
  cleanTerminalRuns(options = {}) {
133
220
  const dryRun = Boolean(options.dryRun);
134
221
  const deleted = [];
@@ -188,36 +275,15 @@ export class RunStore {
188
275
  * URIs. Mirrors ArtifactStore's layout: <baseDir>/<runId>/artifacts/<safeKey>/<filename>.
189
276
  */
190
277
  resolveArtifactPath(uri) {
191
- const prefix = "artifact://runs/";
192
- if (!uri.startsWith(prefix))
193
- return undefined;
194
- const parts = uri.slice(prefix.length).split("/");
195
- // Format: <runId>/nodes/<safeKey>/<filename>
196
- if (parts.length < 4 || parts[1] !== "nodes")
197
- return undefined;
198
- const runId = parts[0];
199
- // Validate runId from URI before using it in path construction
200
- if (!runId || UNSAFE_RUN_ID.test(runId))
201
- return undefined;
202
- // Reject path traversal in safeKey and filename segments
203
- if (parts.slice(2).some((p) => p === ".." || p === "." || p === ""))
204
- return undefined;
205
- const filename = parts[parts.length - 1];
206
- const safeKey = parts.slice(2, parts.length - 1).join("/");
207
- if (!runId || !filename || !safeKey)
208
- return undefined;
209
- // safeKey is already the encoded form (slashes → colons) used on disk.
210
- const resolved = resolve(join(this.runDir(runId), "artifacts", safeKey, filename));
211
- // Defense-in-depth: verify the resolved path stays under the run directory
212
- const runDir = this.runDir(runId);
213
- if (!resolved.startsWith(runDir + "/") && resolved !== runDir)
214
- return undefined;
215
- return resolved;
278
+ return ArtifactReferences.resolvePath(this.baseDir, uri, (runId) => !runId || UNSAFE_RUN_ID.test(runId));
216
279
  }
217
280
  // ─── Internal helpers ──────────────────────────────────────────
218
281
  runDir(runId) {
219
282
  return join(this.baseDir, runId);
220
283
  }
284
+ checkpointsIndexPath(runId) {
285
+ return join(this.runDir(runId), "checkpoints.index.json");
286
+ }
221
287
  /** Write JSON via temp file + atomic rename for crash safety. */
222
288
  atomicWriteJson(filePath, data) {
223
289
  const dir = dirname(filePath);
@@ -242,6 +308,41 @@ export class RunStore {
242
308
  function sha256(content) {
243
309
  return `sha256:${createHash("sha256").update(content).digest("hex")}`;
244
310
  }
311
+ function isTerminal(state) {
312
+ return state === "completed" || state === "failed" || state === "cancelled";
313
+ }
314
+ /**
315
+ * Whether a Node Kind should produce a Run Checkpoint when reaching a terminal
316
+ * state. Composite container Nodes (pipeline, parallel, fanout, switch, loop,
317
+ * subworkflow) record an aggregate outcome whose meaning depends on their
318
+ * children; inheriting them in a Forked Run would short-circuit the container
319
+ * body wholesale (the interpreter treats any persisted completed as done).
320
+ * Only leaves and the deterministic Guard / Approval gates produce checkpoints,
321
+ * so a Forked Run inherits leaf outputs and re-derives container control flow
322
+ * against the new IR.
323
+ */
324
+ function isCheckpointableKind(kind) {
325
+ return kind === "run.agent" || kind === "run.program" || kind === "guard" || kind === "approval";
326
+ }
327
+ function rewriteAgentTelemetryArtifactRefs(telemetry, sourceRunId, targetRunId) {
328
+ if (!telemetry)
329
+ return undefined;
330
+ return {
331
+ ...telemetry,
332
+ attempts: telemetry.attempts.map((attempt) => ({
333
+ ...attempt,
334
+ input: attempt.input
335
+ ? { ...attempt.input, artifactRef: rewriteOptionalArtifactRef(attempt.input.artifactRef, sourceRunId, targetRunId) }
336
+ : undefined,
337
+ output: attempt.output
338
+ ? { ...attempt.output, artifactRef: rewriteOptionalArtifactRef(attempt.output.artifactRef, sourceRunId, targetRunId) }
339
+ : undefined
340
+ }))
341
+ };
342
+ }
343
+ function rewriteOptionalArtifactRef(value, sourceRunId, targetRunId) {
344
+ return value === undefined ? undefined : ArtifactReferences.rewriteRunId(value, sourceRunId, targetRunId);
345
+ }
245
346
  function directorySize(path) {
246
347
  try {
247
348
  const stat = lstatSync(path);
package/dist/store.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,UAAU,EACV,SAAS,EACT,MAAM,EACN,WAAW,EACX,YAAY,EACZ,UAAU,EACV,SAAS,EACT,aAAa,EACd,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAIpE;;;;;;;;;;;;;;;;;GAiBG;AACH;;;;GAIG;AACH,MAAM,aAAa,GAAG,2BAA2B,CAAC;AAElD,SAAS,aAAa,CAAC,KAAa;IAClC,IAAI,CAAC,KAAK,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,mBAAmB,KAAK,mCAAmC,CAAC,CAAC;IAC/E,CAAC;AACH,CAAC;AAED,MAAM,OAAO,QAAQ;IACF,OAAO,CAAS;IAEjC,YAAY,OAAgB;QAC1B,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC3E,CAAC;IAED,kEAAkE;IAElE,iEAAiE;IACjE,OAAO,CAAC,KAAa,EAAE,EAAW,EAAE,KAA8B,EAAE,MAA8D;QAChI,aAAa,CAAC,KAAK,CAAC,CAAC;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAClC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE1D,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAChC,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QAEtC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACvD,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QAE7D,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,IAAI,GAAa;YACrB,KAAK;YACL,YAAY,EAAE,EAAE,CAAC,IAAI;YACrB,WAAW,EAAE,MAAM,EAAE,WAAW;YAChC,kBAAkB,EAAE,MAAM,EAAE,kBAAkB,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI;YAChE,MAAM,EAAE,SAAS;YACjB,QAAQ;YACR,WAAW;YACX,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,GAAG;YACd,UAAU,EAAE,CAAC;SACd,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,6CAA6C;IAC7C,MAAM,CAAC,KAAa;QAClB,aAAa,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC,QAAQ,CAAU,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,yCAAyC;IACzC,SAAS,CAAC,KAAa;QACrB,aAAa,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC,QAAQ,CAA0B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;IACxF,CAAC;IAED,kEAAkE;IAElE,YAAY,CAAC,KAAa,EAAE,IAAc;QACxC,aAAa,CAAC,KAAK,CAAC,CAAC;QACrB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,eAAe,CAAC,EAAE,IAAI,CAAC,CAAC;IACxE,CAAC;IAED,WAAW,CAAC,KAAa;QACvB,aAAa,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC,QAAQ,CAAW,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,kEAAkE;IAElE,6CAA6C;IAC7C,cAAc,CAAC,KAAa,EAAE,KAAyB;QACrD,aAAa,CAAC,KAAK,CAAC,CAAC;QACrB,MAAM,QAAQ,GAAG,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC;IAC3E,CAAC;IAED,iEAAiE;IACjE,aAAa,CAAC,KAAa,EAAE,OAAe;QAC1C,aAAa,CAAC,KAAK,CAAC,CAAC;QACrB,MAAM,QAAQ,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC,QAAQ,CAAqB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IACxF,CAAC;IAED,sCAAsC;IACtC,cAAc,CAAC,KAAa;QAC1B,aAAa,CAAC,KAAK,CAAC,CAAC;QACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;QACnD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,OAAO,EAAE,CAAC;QAErC,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QACvE,OAAO,KAAK;aACT,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAqB,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;aAChE,MAAM,CAAC,CAAC,CAAC,EAA2B,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;IAC7D,CAAC;IAED,kEAAkE;IAElE,gCAAgC;IAChC,UAAU;QACR,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,OAAO,EAAE,CAAC;QACzC,OAAO,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;aACtD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;aAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,8CAA8C;IAC9C,YAAY,CAAC,KAAa,EAAE,OAAe;QACzC,aAAa,CAAC,KAAK,CAAC,CAAC;QACrB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;QAChF,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACpC,OAAO,GAAG,CAAC;IACb,CAAC;IAED,qCAAqC;IACrC,MAAM,CAAC,KAAa;QAClB,aAAa,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,iBAAiB,CAAC,UAAgC,EAAE;QAClD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACvC,MAAM,OAAO,GAAmB,EAAE,CAAC;QACnC,MAAM,OAAO,GAAmB,EAAE,CAAC;QAEnC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAClC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACrC,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;YAEpC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBAC3D,SAAS;YACX,CAAC;YAED,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBAC3F,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;gBAC5E,SAAS;YACX,CAAC;YAED,IAAI,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC;YAC/B,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACvC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC,CAAC;oBAC3D,SAAS;gBACX,CAAC;gBACD,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;oBACjG,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;oBAC9E,SAAS;gBACX,CAAC;gBACD,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;YAC/B,CAAC;YAED,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;YACrD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,IAAI,CAAC;oBACH,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBACtC,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,CAAC,GAAG,EAAE,CAAC;oBACd,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;gBAC/E,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO;YACL,MAAM;YACN,YAAY,EAAE,OAAO,CAAC,MAAM;YAC5B,YAAY,EAAE,OAAO,CAAC,MAAM;YAC5B,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YAClE,OAAO;YACP,OAAO;SACR,CAAC;IACJ,CAAC;IAED,8BAA8B;IAC9B,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACH,mBAAmB,CAAC,GAAW;QAC7B,MAAM,MAAM,GAAG,kBAAkB,CAAC;QAClC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC;YAAE,OAAO,SAAS,CAAC;QAC9C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAClD,6CAA6C;QAC7C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO;YAAE,OAAO,SAAS,CAAC;QAC/D,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACvB,+DAA+D;QAC/D,IAAI,CAAC,KAAK,IAAI,aAAa,CAAC,IAAI,CAAC,KAAM,CAAC;YAAE,OAAO,SAAS,CAAC;QAC3D,yDAAyD;QACzD,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YAAE,OAAO,SAAS,CAAC;QACtF,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3D,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO;YAAE,OAAO,SAAS,CAAC;QACtD,uEAAuE;QACvE,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAM,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;QACpF,2EAA2E;QAC3E,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAM,CAAC,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,GAAG,GAAG,CAAC,IAAI,QAAQ,KAAK,MAAM;YAAE,OAAO,SAAS,CAAC;QAChF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,kEAAkE;IAE1D,MAAM,CAAC,KAAa;QAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,iEAAiE;IACzD,eAAe,CAAC,QAAgB,EAAE,IAAa;QACrD,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC9B,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACpC,MAAM,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;QAClC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QAC9D,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAChC,CAAC;IAED,2EAA2E;IACnE,QAAQ,CAAI,QAAgB;QAClC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,OAAO,SAAS,CAAC;QAC5C,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAM,CAAC;QACzD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;CACF;AAED,kCAAkC;AAClC,SAAS,MAAM,CAAC,OAAe;IAC7B,OAAO,UAAU,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;AACxE,CAAC;AAED,SAAS,aAAa,CAAC,IAAY;IACjC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC;QAC1C,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,IAAI,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YAC/D,KAAK,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"supervisor-app.d.ts","sourceRoot":"","sources":["../src/supervisor-app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAgC,MAAM,YAAY,CAAC;AAYjF;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,gBAAgB,EACxB,KAAK,EAAE,QAAQ,EACf,aAAa,EAAE,eAAe,EAC9B,eAAe,EAAE,eAAe;;IAyiB9B,yDAAyD;;IAEzD,qEAAqE;;IAErE,8EAA8E;oCAC9C;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE;EAK5E"}
1
+ {"version":3,"file":"supervisor-app.d.ts","sourceRoot":"","sources":["../src/supervisor-app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAgC,MAAM,YAAY,CAAC;AAoBjF;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,gBAAgB,EACxB,KAAK,EAAE,QAAQ,EACf,aAAa,EAAE,eAAe,EAC9B,eAAe,EAAE,eAAe;;IAmqB9B,yDAAyD;;IAEzD,qEAAqE;;IAErE,8EAA8E;oCAC9C;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE;EAK5E"}
@@ -1,10 +1,10 @@
1
1
  import { Hono } from "hono";
2
- import { WorkflowInterpreter } from "./interpreter.js";
2
+ import { WorkflowInterpreter, generateRunId } from "./interpreter.js";
3
3
  import { InputValidationFailure } from "./validate-input.js";
4
- import { compileWorkflow } from "@acpus/core";
5
- import { readFileSync } from "node:fs";
6
- import { homedir } from "node:os";
7
- import { dirname, join, resolve } from "node:path";
4
+ import { applyAgentOverrides, compileWorkflow, emptyAgentOverrideResult, optionalSubmissionMetadata, parseWorkflowSpecForOverrides, serializeWorkflowSpecForOverrides, workflowSourcePolicy } from "@acpus/core";
5
+ import { resolve } from "node:path";
6
+ import { ForkError, materializeFork, planFork } from "./fork.js";
7
+ import { ArtifactReferences } from "./artifacts.js";
8
8
  /** Pattern that matches unsafe runId characters (path traversal, separators, null). */
9
9
  const UNSAFE_RUN_ID = /(^|\/)\.\.?(\/|$)|[\\:\0]/;
10
10
  /**
@@ -34,8 +34,8 @@ export function createSupervisorApp(config, store, agentExecutor, programExecuto
34
34
  let healthStartedAt = "";
35
35
  let healthEndpoint = "";
36
36
  const workspaceRoot = resolve(config.workspace ?? process.cwd());
37
- const globalWorkflowRoot = resolve(join(homedir(), ".acpus", "workflows"));
38
- const allowedSourceRoots = [workspaceRoot, globalWorkflowRoot];
37
+ const sourcePolicy = workflowSourcePolicy(workspaceRoot);
38
+ const allowedSourceRoots = sourcePolicy.allowedSourceRoots;
39
39
  /** Refresh lease on every request with client headers. */
40
40
  function refreshLease(clientId, clientKind) {
41
41
  if (!clientId || !clientKind)
@@ -78,8 +78,9 @@ export function createSupervisorApp(config, store, agentExecutor, programExecuto
78
78
  return Math.max(lastActiveAt, maxLease);
79
79
  }
80
80
  /** Create an interpreter bound to this supervisor's store + executors. */
81
- function newInterpreter() {
82
- return new WorkflowInterpreter(store, agentExecutor, programExecutor, { allowedSourceRoots });
81
+ function newInterpreter(runId) {
82
+ const nowTimestamp = runId ? store.readRunMeta(runId)?.createdAt : undefined;
83
+ return new WorkflowInterpreter(store, agentExecutor, programExecutor, { allowedSourceRoots, nowTimestamp });
83
84
  }
84
85
  /**
85
86
  * Interpreter for a forward-progress control action (resume or retry). When the
@@ -93,7 +94,7 @@ export function createSupervisorApp(config, store, agentExecutor, programExecuto
93
94
  return live;
94
95
  if (!store.hasRun(runId))
95
96
  return undefined;
96
- const recovered = newInterpreter();
97
+ const recovered = newInterpreter(runId);
97
98
  recovered.recoverStaleNodes(runId);
98
99
  interpreters.set(runId, recovered);
99
100
  return recovered;
@@ -109,7 +110,7 @@ export function createSupervisorApp(config, store, agentExecutor, programExecuto
109
110
  return live;
110
111
  if (!store.hasRun(runId))
111
112
  return undefined;
112
- return newInterpreter();
113
+ return newInterpreter(runId);
113
114
  }
114
115
  /** Prune interpreters for terminal Runs from the in-memory map. */
115
116
  function pruneTerminalInterpreters() {
@@ -203,39 +204,42 @@ export function createSupervisorApp(config, store, agentExecutor, programExecuto
203
204
  if (!body.spec) {
204
205
  return c.json({ error: "spec is required" }, 400);
205
206
  }
206
- // Validate sourcePath is within the workspace or the global Workflow Catalog.
207
207
  let sourcePath;
208
208
  if (body.sourcePath) {
209
- const resolved = resolve(body.sourcePath);
210
- if (!isInsideAnyRoot(resolved, allowedSourceRoots)) {
211
- return c.json({ error: "sourcePath must be within the workspace or global Workflow Catalog" }, 400);
209
+ try {
210
+ sourcePath = sourcePolicy.validateSourcePath(body.sourcePath);
212
211
  }
213
- sourcePath = resolved;
214
- }
215
- // Include resolver: resolve relative to the including file and restrict reads
216
- // to the workspace or global Workflow Catalog roots.
217
- const includeResolver = (includePath, fromPath) => {
218
- const baseDir = fromPath ? dirname(resolve(fromPath)) : (sourcePath ? dirname(sourcePath) : workspaceRoot);
219
- const resolvedInclude = resolve(baseDir, includePath);
220
- if (!isInsideAnyRoot(resolvedInclude, allowedSourceRoots)) {
221
- throw new Error(`Include path '${includePath}' resolves outside allowed Workflow Spec roots`);
212
+ catch (error) {
213
+ return c.json({ error: errorMessage(error) }, 400);
222
214
  }
223
- return readFileSync(resolvedInclude, "utf8");
224
- };
225
- const result = compileWorkflow(body.spec, {
215
+ }
216
+ let effectiveSource = body.spec;
217
+ let submitMetadata = emptyAgentOverrideResult();
218
+ try {
219
+ if (body.agentOverrides !== undefined) {
220
+ const parsedSpec = parseWorkflowSpecForOverrides(body.spec);
221
+ submitMetadata = applyAgentOverrides(parsedSpec, body.agentOverrides);
222
+ effectiveSource = serializeWorkflowSpecForOverrides(submitMetadata.effectiveSpec);
223
+ }
224
+ }
225
+ catch (error) {
226
+ return c.json({ error: errorMessage(error) }, 400);
227
+ }
228
+ const result = compileWorkflow(effectiveSource, {
226
229
  sourcePath,
227
- includeResolver
230
+ includeResolver: sourcePolicy.createIncludeResolver(sourcePath)
228
231
  });
229
232
  if (!result.ok || !result.ir) {
230
233
  return c.json({ error: "Compilation failed", diagnostics: result.diagnostics }, 400);
231
234
  }
232
- const interpreter = new WorkflowInterpreter(store, agentExecutor, programExecutor, { allowedSourceRoots });
235
+ const initInterpreter = newInterpreter();
233
236
  let runState;
234
237
  try {
235
- runState = interpreter.initRun(result.ir, {
238
+ runState = initInterpreter.initRun(result.ir, {
236
239
  input: body.input ?? {},
237
240
  workflowRef: body.workflowRef,
238
- workflowSourcePath: sourcePath
241
+ workflowSourcePath: sourcePath,
242
+ ...optionalSubmissionMetadata(submitMetadata)
239
243
  });
240
244
  }
241
245
  catch (error) {
@@ -244,6 +248,7 @@ export function createSupervisorApp(config, store, agentExecutor, programExecuto
244
248
  }
245
249
  throw error;
246
250
  }
251
+ const interpreter = newInterpreter(runState.runId);
247
252
  interpreters.set(runState.runId, interpreter);
248
253
  lastActiveAt = Date.now();
249
254
  // initRun has already validated and filled defaults; read the validated
@@ -265,7 +270,8 @@ export function createSupervisorApp(config, store, agentExecutor, programExecuto
265
270
  workflowSourcePath: meta.workflowSourcePath,
266
271
  status: meta.status,
267
272
  createdAt: meta.createdAt,
268
- updatedAt: meta.updatedAt
273
+ updatedAt: meta.updatedAt,
274
+ lineage: meta.lineage
269
275
  });
270
276
  }
271
277
  // Skip corrupt Run metadata deterministically (don't crash)
@@ -335,6 +341,12 @@ export function createSupervisorApp(config, store, agentExecutor, programExecuto
335
341
  if (!store.hasRun(runId)) {
336
342
  return c.json({ error: "Run not found" }, 404);
337
343
  }
344
+ // Validate that the URI's runId matches the route's :runId to prevent
345
+ // cross-run artifact path resolution.
346
+ const parsed = ArtifactReferences.tryParse(uri);
347
+ if (parsed && parsed.runId !== runId) {
348
+ return c.json({ error: "Artifact URI runId does not match route runId" }, 400);
349
+ }
338
350
  const absPath = store.resolveArtifactPath(uri);
339
351
  if (!absPath) {
340
352
  return c.json({ error: "Invalid artifact uri" }, 400);
@@ -460,6 +472,100 @@ export function createSupervisorApp(config, store, agentExecutor, programExecuto
460
472
  resumingRunIds.delete(runId);
461
473
  }
462
474
  });
475
+ // ─── Fork ────────────────────────────────────────────────────────
476
+ //
477
+ // Derive a new Run from a terminal source Run by supplying a possibly-
478
+ // modified Workflow Spec. Inheritance is keyed by Node Definition Hash; the
479
+ // first divergence becomes the default Fork Origin. `dryRun: true` returns
480
+ // the plan without creating a Run.
481
+ app.post("/runs/:runId/fork", async (c) => {
482
+ const runId = c.req.param("runId");
483
+ const body = await c.req.json().catch(() => ({}));
484
+ const priorMeta = store.readRunMeta(runId);
485
+ if (!priorMeta)
486
+ return c.json({ error: "Run not found" }, 404);
487
+ if (priorMeta.status !== "completed" && priorMeta.status !== "failed" && priorMeta.status !== "cancelled") {
488
+ return c.json({ kind: "fork-rejected", error: `Cannot fork a run in state '${priorMeta.status}'` }, 409);
489
+ }
490
+ if (!store.hasCheckpointIndex(runId)) {
491
+ return c.json({ kind: "fork-rejected", error: "Run has no checkpoint index" }, 409);
492
+ }
493
+ if (!body.spec) {
494
+ return c.json({ error: "spec is required" }, 400);
495
+ }
496
+ let sourcePath;
497
+ if (body.sourcePath) {
498
+ try {
499
+ sourcePath = sourcePolicy.validateSourcePath(body.sourcePath);
500
+ }
501
+ catch (error) {
502
+ return c.json({ error: errorMessage(error) }, 400);
503
+ }
504
+ }
505
+ let submitMetadata = emptyAgentOverrideResult();
506
+ let effectiveSource = body.spec;
507
+ try {
508
+ if (body.agentOverrides !== undefined || Object.keys(priorMeta.agentOverrides ?? {}).length > 0) {
509
+ const parsedSpec = parseWorkflowSpecForOverrides(body.spec);
510
+ submitMetadata = applyAgentOverrides(parsedSpec, body.agentOverrides, {
511
+ inherited: priorMeta.agentOverrides ?? {}
512
+ });
513
+ effectiveSource = serializeWorkflowSpecForOverrides(submitMetadata.effectiveSpec);
514
+ }
515
+ }
516
+ catch (error) {
517
+ return c.json({ kind: "fork-rejected", error: errorMessage(error) }, 400);
518
+ }
519
+ const compileResult = compileWorkflow(effectiveSource, {
520
+ sourcePath,
521
+ includeResolver: sourcePolicy.createIncludeResolver(sourcePath)
522
+ });
523
+ if (!compileResult.ok || !compileResult.ir) {
524
+ return c.json({ kind: "fork-rejected", error: "Compilation failed", diagnostics: compileResult.diagnostics }, 400);
525
+ }
526
+ const checkpoints = store.readCheckpoints(runId);
527
+ let plan;
528
+ try {
529
+ plan = planFork(priorMeta, checkpoints, compileResult.ir, body.overrideOriginNodeKey);
530
+ }
531
+ catch (error) {
532
+ if (error instanceof ForkError) {
533
+ return c.json({ kind: "fork-rejected", error: error.message }, 409);
534
+ }
535
+ throw error;
536
+ }
537
+ if (body.dryRun) {
538
+ return c.json({
539
+ dryRun: true,
540
+ plan,
541
+ agentOverrides: submitMetadata.agentOverrides,
542
+ submissionWarnings: submitMetadata.warnings
543
+ });
544
+ }
545
+ const forkRunId = generateRunId();
546
+ let materialized;
547
+ try {
548
+ materialized = materializeFork(store, plan, {
549
+ forkRunId,
550
+ ir: compileResult.ir,
551
+ input: body.input,
552
+ workflowRef: body.workflowRef ?? priorMeta.workflowRef,
553
+ workflowSourcePath: sourcePath ?? priorMeta.workflowSourcePath,
554
+ ...optionalSubmissionMetadata(submitMetadata)
555
+ });
556
+ }
557
+ catch (error) {
558
+ if (error instanceof InputValidationFailure) {
559
+ return c.json({ error: "Input validation failed", validationErrors: error.errors }, 400);
560
+ }
561
+ throw error;
562
+ }
563
+ const interpreter = newInterpreter(forkRunId);
564
+ interpreters.set(forkRunId, interpreter);
565
+ lastActiveAt = Date.now();
566
+ startRunExecution(interpreter, compileResult.ir, materialized.input, forkRunId);
567
+ return c.json({ run: materialized.run, plan: materialized.plan }, 201);
568
+ });
463
569
  // ─── Replay ──────────────────────────────────────────────────────
464
570
  app.post("/runs/:runId/replay", (c) => {
465
571
  const runId = c.req.param("runId");
@@ -518,14 +624,11 @@ export function createSupervisorApp(config, store, agentExecutor, programExecuto
518
624
  const meta = store.readRunMeta(runId);
519
625
  if (!meta)
520
626
  return c.json({ error: "Run not found" }, 404);
521
- const nodes = store.listNodeStates(runId);
522
- const output = {};
523
- for (const node of nodes) {
524
- if (node.state === "completed" && node.output !== undefined) {
525
- output[node.nodeId] = node.output;
526
- }
527
- }
528
- return c.json({ status: meta.status, output });
627
+ const output = meta.status === "completed" ? (meta.output ?? {}) : {};
628
+ const body = { status: meta.status, output };
629
+ if (meta.status === "failed" && meta.error)
630
+ body.error = meta.error;
631
+ return c.json(body);
529
632
  });
530
633
  return {
531
634
  app,
@@ -542,7 +645,7 @@ export function createSupervisorApp(config, store, agentExecutor, programExecuto
542
645
  }
543
646
  };
544
647
  }
545
- function isInsideAnyRoot(path, roots) {
546
- return roots.some((root) => path === root || path.startsWith(root + "/"));
648
+ function errorMessage(error) {
649
+ return error instanceof Error ? error.message : String(error);
547
650
  }
548
651
  //# sourceMappingURL=supervisor-app.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"supervisor-app.js","sourceRoot":"","sources":["../src/supervisor-app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"supervisor-app.js","sourceRoot":"","sources":["../src/supervisor-app.ts"],"names":[],"mappings":"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"}