taskflow-core 0.1.7 → 0.2.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 (126) hide show
  1. package/README.md +80 -25
  2. package/dist/agents.js.map +1 -1
  3. package/dist/cache.d.ts.map +1 -1
  4. package/dist/compile.js.map +1 -1
  5. package/dist/context-store.js.map +1 -1
  6. package/dist/deterministic.d.ts +8 -0
  7. package/dist/deterministic.d.ts.map +1 -1
  8. package/dist/deterministic.js +23 -1
  9. package/dist/deterministic.js.map +1 -1
  10. package/dist/exec/driver.d.ts +47 -0
  11. package/dist/exec/driver.d.ts.map +1 -0
  12. package/dist/exec/driver.js +397 -0
  13. package/dist/exec/driver.js.map +1 -0
  14. package/dist/exec/events.d.ts +76 -0
  15. package/dist/exec/events.d.ts.map +1 -0
  16. package/dist/exec/events.js +108 -0
  17. package/dist/exec/events.js.map +1 -0
  18. package/dist/exec/fold.d.ts +45 -0
  19. package/dist/exec/fold.d.ts.map +1 -0
  20. package/dist/exec/fold.js +122 -0
  21. package/dist/exec/fold.js.map +1 -0
  22. package/dist/exec/index.d.ts +17 -0
  23. package/dist/exec/index.d.ts.map +1 -0
  24. package/dist/exec/index.js +17 -0
  25. package/dist/exec/index.js.map +1 -0
  26. package/dist/exec/kernel-policy.d.ts +35 -0
  27. package/dist/exec/kernel-policy.d.ts.map +1 -0
  28. package/dist/exec/kernel-policy.js +184 -0
  29. package/dist/exec/kernel-policy.js.map +1 -0
  30. package/dist/exec/step-kinds.d.ts +41 -0
  31. package/dist/exec/step-kinds.d.ts.map +1 -0
  32. package/dist/exec/step-kinds.js +574 -0
  33. package/dist/exec/step-kinds.js.map +1 -0
  34. package/dist/exec/step.d.ts +93 -0
  35. package/dist/exec/step.d.ts.map +1 -0
  36. package/dist/exec/step.js +436 -0
  37. package/dist/exec/step.js.map +1 -0
  38. package/dist/flowir/canonical-hash.d.ts +101 -0
  39. package/dist/flowir/canonical-hash.d.ts.map +1 -0
  40. package/dist/flowir/canonical-hash.js +219 -0
  41. package/dist/flowir/canonical-hash.js.map +1 -0
  42. package/dist/flowir/compile.d.ts +49 -0
  43. package/dist/flowir/compile.d.ts.map +1 -0
  44. package/dist/flowir/compile.js +219 -0
  45. package/dist/flowir/compile.js.map +1 -0
  46. package/dist/flowir/cond.d.ts +76 -0
  47. package/dist/flowir/cond.d.ts.map +1 -0
  48. package/dist/flowir/cond.js +214 -0
  49. package/dist/flowir/cond.js.map +1 -0
  50. package/dist/flowir/index.d.ts +20 -23
  51. package/dist/flowir/index.d.ts.map +1 -1
  52. package/dist/flowir/index.js +47 -35
  53. package/dist/flowir/index.js.map +1 -1
  54. package/dist/flowir/meta.d.ts +4 -4
  55. package/dist/flowir/meta.d.ts.map +1 -1
  56. package/dist/flowir/phasefp.d.ts.map +1 -1
  57. package/dist/flowir/phasefp.js +13 -1
  58. package/dist/flowir/phasefp.js.map +1 -1
  59. package/dist/flowir/schema.d.ts +260 -0
  60. package/dist/flowir/schema.d.ts.map +1 -0
  61. package/dist/flowir/schema.js +234 -0
  62. package/dist/flowir/schema.js.map +1 -0
  63. package/dist/flowir/translate.d.ts.map +1 -1
  64. package/dist/flowir/translate.js +3 -0
  65. package/dist/flowir/translate.js.map +1 -1
  66. package/dist/frontmatter.d.ts.map +1 -1
  67. package/dist/host/runner-types.d.ts +3 -0
  68. package/dist/host/runner-types.d.ts.map +1 -1
  69. package/dist/index.d.ts +2 -0
  70. package/dist/index.d.ts.map +1 -1
  71. package/dist/index.js +2 -0
  72. package/dist/index.js.map +1 -1
  73. package/dist/interpolate.js.map +1 -1
  74. package/dist/peek.js.map +1 -1
  75. package/dist/rates.d.ts +121 -0
  76. package/dist/rates.d.ts.map +1 -0
  77. package/dist/rates.js +187 -0
  78. package/dist/rates.js.map +1 -0
  79. package/dist/reflexion.js.map +1 -1
  80. package/dist/replay.d.ts +43 -50
  81. package/dist/replay.d.ts.map +1 -1
  82. package/dist/replay.js +629 -19
  83. package/dist/replay.js.map +1 -1
  84. package/dist/runner-core.d.ts +24 -0
  85. package/dist/runner-core.d.ts.map +1 -1
  86. package/dist/runner-core.js +225 -32
  87. package/dist/runner-core.js.map +1 -1
  88. package/dist/runtime/phases/approval.d.ts +23 -0
  89. package/dist/runtime/phases/approval.d.ts.map +1 -0
  90. package/dist/runtime/phases/approval.js +38 -0
  91. package/dist/runtime/phases/approval.js.map +1 -0
  92. package/dist/runtime/phases/expand.d.ts +29 -0
  93. package/dist/runtime/phases/expand.d.ts.map +1 -0
  94. package/dist/runtime/phases/expand.js +126 -0
  95. package/dist/runtime/phases/expand.js.map +1 -0
  96. package/dist/runtime/phases/parallel.d.ts +26 -0
  97. package/dist/runtime/phases/parallel.d.ts.map +1 -0
  98. package/dist/runtime/phases/parallel.js +15 -0
  99. package/dist/runtime/phases/parallel.js.map +1 -0
  100. package/dist/runtime/phases/race.d.ts +31 -0
  101. package/dist/runtime/phases/race.d.ts.map +1 -0
  102. package/dist/runtime/phases/race.js +220 -0
  103. package/dist/runtime/phases/race.js.map +1 -0
  104. package/dist/runtime/phases/script.d.ts +38 -0
  105. package/dist/runtime/phases/script.d.ts.map +1 -0
  106. package/dist/runtime/phases/script.js +139 -0
  107. package/dist/runtime/phases/script.js.map +1 -0
  108. package/dist/runtime.d.ts +29 -16
  109. package/dist/runtime.d.ts.map +1 -1
  110. package/dist/runtime.js +554 -292
  111. package/dist/runtime.js.map +1 -1
  112. package/dist/schema.d.ts +44 -12
  113. package/dist/schema.d.ts.map +1 -1
  114. package/dist/schema.js +91 -10
  115. package/dist/schema.js.map +1 -1
  116. package/dist/scorers.d.ts.map +1 -1
  117. package/dist/scorers.js.map +1 -1
  118. package/dist/store.d.ts +6 -0
  119. package/dist/store.d.ts.map +1 -1
  120. package/dist/store.js.map +1 -1
  121. package/dist/trace.d.ts +4 -1
  122. package/dist/trace.d.ts.map +1 -1
  123. package/dist/trace.js +33 -26
  124. package/dist/trace.js.map +1 -1
  125. package/dist/workspace.d.ts.map +1 -1
  126. package/package.json +5 -4
@@ -1 +1 @@
1
- {"version":3,"file":"replay.js","sourceRoot":"","sources":["../src/replay.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAsDH,+EAA+E;AAC/E,MAAM,CAAC,MAAM,0BAA0B,GACtC,oFAAoF,CAAC"}
1
+ {"version":3,"file":"replay.js","sourceRoot":"","sources":["../src/replay.ts"],"names":[],"mappings":"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"}
@@ -11,12 +11,17 @@
11
11
  * failure semantics, retry heuristics, and usage folding are identical across
12
12
  * hosts.
13
13
  */
14
+ import { type ChildProcess } from "node:child_process";
14
15
  import { type UsageStats } from "./usage.ts";
15
16
  import type { AgentConfig } from "./agents.ts";
16
17
  import type { CoreMessage, LiveUpdate, RunResult } from "./host/runner-types.ts";
17
18
  export type { CoreMessage, LiveUpdate, RunOptions, RunResult, SubagentRunner } from "./host/runner-types.ts";
18
19
  export declare function isFailed(r: RunResult): boolean;
19
20
  export declare function isTransientError(r: RunResult): boolean;
21
+ /** Wait for a retry backoff, but release immediately when the run is aborted.
22
+ * Resolves (rather than rejects) on abort so callers can leave their retry loop
23
+ * through the normal `signal.aborted` branch and preserve paused semantics. */
24
+ export declare function abortableDelay(ms: number, signal?: AbortSignal): Promise<void>;
20
25
  /** Placeholder written to a failed phase's `output` so downstream interpolation
21
26
  * can detect "upstream failed" without being polluted by raw HTML/JSON. */
22
27
  export declare const TRANSPORT_ERROR_PLACEHOLDER = "(upstream error: subagent failed; see error)";
@@ -56,8 +61,22 @@ export declare function mapWithConcurrencyLimit<TIn, TOut>(items: TIn[], concurr
56
61
  * numeric STRING (e.g. "1234"), and `number += string` silently corrupts to
57
62
  * string concatenation / NaN. This guard keeps usage accounting honest. */
58
63
  export declare function num(v: unknown): number;
64
+ /** Signal the whole process tree rooted at a spawned subagent. POSIX children
65
+ * are process-group leaders (`detached:true` at spawn), so a negative pid
66
+ * reaches every descendant in the group. Windows has no equivalent signal;
67
+ * taskkill /T /F is the platform-supported tree termination primitive. */
68
+ export declare function killProcessTree(pid: number, signal: NodeJS.Signals, direct?: ChildProcess): void;
59
69
  /** Same idle window every host runner uses: a child silent this long is wedged. */
60
70
  export declare const DEFAULT_IDLE_TIMEOUT_MS: number;
71
+ /** After a phase timeout aborts its runner, allow process-backed hosts enough
72
+ * time to execute their SIGTERM to SIGKILL escalation. A custom runner that
73
+ * ignores AbortSignal entirely is still bounded by this grace window. */
74
+ export declare const PHASE_TIMEOUT_ABORT_GRACE_MS = 5500;
75
+ /** Maximum NDJSON line size retained while waiting for a newline. A hostile or
76
+ * broken host can otherwise stream an unterminated line until the orchestrator
77
+ * runs out of memory. Host events are expected to be compact; 1 MiB still
78
+ * leaves ample room for a large final answer while providing a hard bound. */
79
+ export declare const MAX_STDOUT_LINE_BYTES: number;
61
80
  /** The base accumulator contract the shared process runner reads/writes. Each
62
81
  * host's accumulator (Codex/Claude/OpenCode) satisfies this structurally and
63
82
  * may carry extra fields (e.g. claude's `sawResult`) its own foldLine uses. */
@@ -69,6 +88,8 @@ export interface SubagentAccumulator {
69
88
  lastActivity: string;
70
89
  /** Set by the host foldLine when the stream reported a fatal error event. */
71
90
  fatalError?: string;
91
+ /** Set by hosts whose protocol has an authoritative terminal event. */
92
+ terminalSeen?: boolean;
72
93
  }
73
94
  /** Standard "unknown agent" RunResult — identical across every host runner. */
74
95
  export declare function unknownAgentResult(agentName: string, task: string, agents: AgentConfig[]): RunResult;
@@ -90,6 +111,9 @@ export interface RunSubagentProcessOptions<TAcc extends SubagentAccumulator> {
90
111
  /** Per-host event folding: the host's accumulator + its line parser. */
91
112
  acc: TAcc;
92
113
  foldLine: (acc: TAcc, line: string) => LiveUpdate | null;
114
+ /** Fail closed when the CLI exits zero before its authoritative terminal event. */
115
+ requireTerminalEvent?: boolean;
116
+ terminalEventLabel?: string;
93
117
  }
94
118
  /** Spawn an isolated subagent process, fold its event stream, and classify the
95
119
  * outcome into a RunResult. The whole tail (fatalError, signal-kill remap,
@@ -1 +1 @@
1
- {"version":3,"file":"runner-core.d.ts","sourceRoot":"","sources":["../src/runner-core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner-core.d.ts","sourceRoot":"","sources":["../src/runner-core.ts"],"names":[],"mappings":"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"}
@@ -11,10 +11,10 @@
11
11
  * failure semantics, retry heuristics, and usage folding are identical across
12
12
  * hosts.
13
13
  */
14
- import { spawn } from "node:child_process";
14
+ import { spawn, spawnSync } from "node:child_process";
15
15
  import { emptyUsage } from "./usage.js";
16
16
  export function isFailed(r) {
17
- return r.exitCode !== 0 || r.stopReason === "error" || r.stopReason === "aborted";
17
+ return r.exitCode !== 0 || Boolean(r.errorMessage) || r.stopReason === "error" || r.stopReason === "aborted";
18
18
  }
19
19
  /**
20
20
  * Heuristic: did this failure look like a transient/retryable provider error
@@ -35,6 +35,26 @@ export function isTransientError(r) {
35
35
  const hay = `${r.errorMessage ?? ""} ${r.stderr ?? ""} ${r.output ?? ""}`;
36
36
  return TRANSIENT_ERROR_RE.test(hay);
37
37
  }
38
+ /** Wait for a retry backoff, but release immediately when the run is aborted.
39
+ * Resolves (rather than rejects) on abort so callers can leave their retry loop
40
+ * through the normal `signal.aborted` branch and preserve paused semantics. */
41
+ export function abortableDelay(ms, signal) {
42
+ if (ms <= 0 || signal?.aborted)
43
+ return Promise.resolve();
44
+ return new Promise((resolve) => {
45
+ let settled = false;
46
+ const finish = () => {
47
+ if (settled)
48
+ return;
49
+ settled = true;
50
+ clearTimeout(timer);
51
+ signal?.removeEventListener("abort", finish);
52
+ resolve();
53
+ };
54
+ const timer = setTimeout(finish, ms);
55
+ signal?.addEventListener("abort", finish, { once: true });
56
+ });
57
+ }
38
58
  /** Placeholder written to a failed phase's `output` so downstream interpolation
39
59
  * can detect "upstream failed" without being polluted by raw HTML/JSON. */
40
60
  export const TRANSPORT_ERROR_PLACEHOLDER = "(upstream error: subagent failed; see error)";
@@ -240,17 +260,82 @@ export function num(v) {
240
260
  * Module-global (not per-host): a single exit handler must reach every host's
241
261
  * children, so all host runners register here. */
242
262
  const activeChildren = new Set();
243
- const killAllChildren = () => {
244
- for (const pid of activeChildren) {
263
+ /** Signal the whole process tree rooted at a spawned subagent. POSIX children
264
+ * are process-group leaders (`detached:true` at spawn), so a negative pid
265
+ * reaches every descendant in the group. Windows has no equivalent signal;
266
+ * taskkill /T /F is the platform-supported tree termination primitive. */
267
+ export function killProcessTree(pid, signal, direct) {
268
+ if (process.platform === "win32") {
269
+ try {
270
+ const killer = spawn("taskkill", ["/PID", String(pid), "/T", "/F"], {
271
+ shell: false,
272
+ stdio: "ignore",
273
+ windowsHide: true,
274
+ });
275
+ killer.once("error", () => {
276
+ try {
277
+ direct?.kill();
278
+ }
279
+ catch { /* already dead */ }
280
+ });
281
+ killer.unref();
282
+ }
283
+ catch {
284
+ try {
285
+ direct?.kill();
286
+ }
287
+ catch { /* already dead */ }
288
+ }
289
+ return;
290
+ }
291
+ try {
292
+ process.kill(-pid, signal);
293
+ }
294
+ catch {
295
+ // A process can exit between the liveness check and group signal. Falling
296
+ // back to the direct handle also covers platforms that reject group kills.
245
297
  try {
246
- process.kill(pid, "SIGKILL");
298
+ direct?.kill(signal);
247
299
  }
248
300
  catch { /* already dead */ }
249
301
  }
302
+ }
303
+ /** Synchronous variant for the host's `exit` event, where asynchronous taskkill
304
+ * cannot be awaited and would never get a chance to run. */
305
+ function killProcessTreeSync(pid) {
306
+ if (process.platform === "win32") {
307
+ try {
308
+ spawnSync("taskkill", ["/PID", String(pid), "/T", "/F"], {
309
+ shell: false,
310
+ stdio: "ignore",
311
+ windowsHide: true,
312
+ });
313
+ }
314
+ catch { /* already dead / taskkill unavailable */ }
315
+ return;
316
+ }
317
+ try {
318
+ process.kill(-pid, "SIGKILL");
319
+ }
320
+ catch { /* already dead */ }
321
+ }
322
+ const killAllChildren = () => {
323
+ for (const pid of activeChildren) {
324
+ killProcessTreeSync(pid);
325
+ }
250
326
  };
251
327
  process.on("exit", killAllChildren);
252
328
  /** Same idle window every host runner uses: a child silent this long is wedged. */
253
329
  export const DEFAULT_IDLE_TIMEOUT_MS = 5 * 60_000;
330
+ /** After a phase timeout aborts its runner, allow process-backed hosts enough
331
+ * time to execute their SIGTERM to SIGKILL escalation. A custom runner that
332
+ * ignores AbortSignal entirely is still bounded by this grace window. */
333
+ export const PHASE_TIMEOUT_ABORT_GRACE_MS = 5500;
334
+ /** Maximum NDJSON line size retained while waiting for a newline. A hostile or
335
+ * broken host can otherwise stream an unterminated line until the orchestrator
336
+ * runs out of memory. Host events are expected to be compact; 1 MiB still
337
+ * leaves ample room for a large final answer while providing a hard bound. */
338
+ export const MAX_STDOUT_LINE_BYTES = 1024 * 1024;
254
339
  /** Standard "unknown agent" RunResult — identical across every host runner. */
255
340
  export function unknownAgentResult(agentName, task, agents) {
256
341
  const available = agents.map((a) => `"${a.name}"`).join(", ") || "none";
@@ -284,6 +369,7 @@ export async function runSubagentProcess(opts) {
284
369
  let wasAborted = false;
285
370
  let idleTimedOut = false;
286
371
  let killedBySignal;
372
+ let protocolError;
287
373
  const idleMs = opts.idleTimeoutMs ?? DEFAULT_IDLE_TIMEOUT_MS;
288
374
  // Structured run-log header, opt-in via PI_TASKFLOW_RUN_LOG. Written to the
289
375
  // HOST process's stderr (the MCP stdio log channel; pi's subagent diagnostic
@@ -298,22 +384,48 @@ export async function runSubagentProcess(opts) {
298
384
  }
299
385
  }
300
386
  const exitCode = await new Promise((resolve) => {
301
- const proc = spawn(bin, args, { cwd, shell: false, stdio: ["ignore", "pipe", "pipe"], env });
387
+ const proc = spawn(bin, args, {
388
+ cwd,
389
+ shell: false,
390
+ stdio: ["ignore", "pipe", "pipe"],
391
+ env,
392
+ // On POSIX this makes the subagent a process-group leader while retaining
393
+ // piped stdout/stderr. Cancellation can then signal `-pid` and cannot
394
+ // strand grandchildren that outlive the direct CLI process.
395
+ detached: process.platform !== "win32",
396
+ windowsHide: true,
397
+ });
302
398
  if (proc.pid)
303
399
  activeChildren.add(proc.pid);
304
400
  let buffer = "";
305
401
  let idleTimer;
306
402
  let forceTimer;
403
+ let settled = false;
404
+ let removeAbortListener = () => { };
307
405
  const clearTimers = () => {
308
- if (idleTimer)
406
+ if (idleTimer) {
309
407
  clearTimeout(idleTimer);
310
- if (forceTimer)
408
+ idleTimer = undefined;
409
+ }
410
+ if (forceTimer) {
311
411
  clearTimeout(forceTimer);
412
+ forceTimer = undefined;
413
+ }
414
+ };
415
+ const signalTree = (signal) => {
416
+ if (proc.pid)
417
+ killProcessTree(proc.pid, signal, proc);
418
+ else {
419
+ try {
420
+ proc.kill(signal);
421
+ }
422
+ catch { /* spawn failed / already dead */ }
423
+ }
312
424
  };
313
425
  const hardKill = () => {
314
426
  idleTimedOut = true;
315
- proc.kill("SIGTERM");
316
- forceTimer = setTimeout(() => proc.kill("SIGKILL"), 5000);
427
+ signalTree("SIGTERM");
428
+ forceTimer = setTimeout(() => signalTree("SIGKILL"), 5000);
317
429
  forceTimer.unref();
318
430
  };
319
431
  const armIdle = () => {
@@ -325,31 +437,70 @@ export async function runSubagentProcess(opts) {
325
437
  idleTimer.unref();
326
438
  };
327
439
  armIdle();
440
+ const failProtocol = (message) => {
441
+ if (protocolError)
442
+ return;
443
+ protocolError = message;
444
+ signalTree("SIGTERM");
445
+ forceTimer = setTimeout(() => signalTree("SIGKILL"), 5000);
446
+ forceTimer.unref();
447
+ };
328
448
  const processLine = (line) => {
329
- // A throwing foldLine (malformed/hostile stream line) or a throwing onLive
330
- // callback must NEVER crash the run — this is the fail-open backstop that
331
- // turns a bad line into a skipped line. It also honours the AGENTS.md
332
- // invariant that user callbacks are wrapped in try/catch.
449
+ if (!line.trim() || protocolError)
450
+ return;
451
+ // Every supported host advertises a JSON/NDJSON stream. Treat malformed
452
+ // records as a protocol failure: silently dropping them can turn a
453
+ // truncated provider error into a successful phase with empty output.
333
454
  try {
334
- const live = foldLine(acc, line);
335
- if (live && opts.onLive)
336
- opts.onLive(live);
455
+ JSON.parse(line);
337
456
  }
338
457
  catch {
339
- /* malformed stream line / throwing callback — skip, never crash */
458
+ failProtocol("Subagent emitted malformed or truncated JSON output");
459
+ return;
460
+ }
461
+ let live;
462
+ try {
463
+ live = foldLine(acc, line);
464
+ }
465
+ catch (error) {
466
+ failProtocol(`Subagent output parser failed: ${error instanceof Error ? error.message : String(error)}`);
467
+ return;
468
+ }
469
+ // onLive is a user callback and remains fail-open; parser failures above
470
+ // are part of the transport contract and therefore fail closed.
471
+ if (live && opts.onLive) {
472
+ try {
473
+ opts.onLive(live);
474
+ }
475
+ catch { /* user callback must not sink run */ }
340
476
  }
341
477
  };
342
478
  proc.stdout.on("data", (data) => {
343
479
  armIdle();
344
480
  buffer += data.toString();
481
+ if (Buffer.byteLength(buffer) > MAX_STDOUT_LINE_BYTES && !buffer.includes("\n")) {
482
+ // Drop the retained bytes before terminating so the bound remains true
483
+ // even while a non-cooperative child takes time to die.
484
+ buffer = "";
485
+ failProtocol(`Subagent emitted an unterminated stdout record larger than ${MAX_STDOUT_LINE_BYTES} bytes`);
486
+ return;
487
+ }
345
488
  const lines = buffer.split("\n");
346
489
  buffer = lines.pop() || "";
347
- for (const line of lines)
490
+ for (const line of lines) {
491
+ if (Buffer.byteLength(line) > MAX_STDOUT_LINE_BYTES) {
492
+ failProtocol(`Subagent emitted a stdout record larger than ${MAX_STDOUT_LINE_BYTES} bytes`);
493
+ break;
494
+ }
348
495
  processLine(line);
496
+ }
349
497
  });
350
498
  const STDERR_MAX_LEN = 64 * 1024;
351
499
  let stderrCapped = false;
352
500
  proc.stderr.on("data", (data) => {
501
+ // Diagnostics are real child activity too. A CLI that is actively
502
+ // reporting provider retries on stderr must not be killed as idle.
503
+ armIdle();
353
504
  if (!stderrCapped) {
354
505
  result.stderr += data.toString();
355
506
  if (result.stderr.length >= STDERR_MAX_LEN) {
@@ -358,25 +509,44 @@ export async function runSubagentProcess(opts) {
358
509
  }
359
510
  }
360
511
  });
361
- proc.on("close", (code, signal) => {
512
+ // `close` waits for inherited stdio handles. A direct CLI can exit while a
513
+ // background descendant still owns stdout/stderr, so reap the group at the
514
+ // earlier `exit` boundary; `close` remains the point where buffered output
515
+ // is folded and the result is settled.
516
+ proc.once("exit", () => {
517
+ if (proc.pid)
518
+ killProcessTree(proc.pid, "SIGKILL", proc);
519
+ });
520
+ const finish = (code, signal) => {
521
+ if (settled)
522
+ return;
523
+ settled = true;
524
+ // The direct CLI may intentionally or accidentally leave background
525
+ // descendants behind. A phase boundary is also a process-tree boundary:
526
+ // always reap the group before returning, not only on abort/idle timeout.
527
+ // Otherwise detached grandchildren can keep mutating the workspace after
528
+ // the phase has been persisted as complete.
529
+ if (proc.pid)
530
+ killProcessTree(proc.pid, "SIGKILL", proc);
362
531
  if (proc.pid)
363
532
  activeChildren.delete(proc.pid);
364
533
  clearTimers();
534
+ removeAbortListener();
365
535
  if (buffer.trim())
366
536
  processLine(buffer);
367
- if (code === null && signal)
537
+ if (signal)
368
538
  killedBySignal = signal;
369
- resolve(code ?? 0);
539
+ resolve(code);
540
+ };
541
+ proc.on("close", (code, signal) => {
542
+ finish(code ?? 0, code === null ? signal : undefined);
370
543
  });
371
544
  proc.on("error", (err) => {
372
- clearTimers();
373
- if (proc.pid)
374
- activeChildren.delete(proc.pid); // defensive: close usually fires after error, but don't rely on it
375
545
  if (!result.stderr)
376
546
  result.stderr = err.message;
377
547
  if (!result.errorMessage)
378
548
  result.errorMessage = err.message;
379
- resolve(1);
549
+ finish(1);
380
550
  });
381
551
  if (opts.signal) {
382
552
  const kill = () => {
@@ -386,21 +556,31 @@ export async function runSubagentProcess(opts) {
386
556
  // set and the post-exit classify chain (which checks idle BEFORE
387
557
  // abort) would misreport a user abort as an idle stall.
388
558
  clearTimers();
389
- proc.kill("SIGTERM");
390
- const forceKill = setTimeout(() => proc.kill("SIGKILL"), 5000);
391
- forceKill.unref();
559
+ signalTree("SIGTERM");
560
+ forceTimer = setTimeout(() => signalTree("SIGKILL"), 5000);
561
+ forceTimer.unref();
392
562
  };
393
563
  if (opts.signal.aborted)
394
564
  kill();
395
- else
565
+ else {
396
566
  opts.signal.addEventListener("abort", kill, { once: true });
567
+ removeAbortListener = () => {
568
+ opts.signal?.removeEventListener("abort", kill);
569
+ removeAbortListener = () => { };
570
+ };
571
+ }
397
572
  }
398
573
  });
399
574
  result.exitCode = exitCode;
400
575
  result.usage = acc.usage;
401
576
  result.model = acc.model;
402
577
  result.output = acc.finalText;
403
- if (acc.fatalError) {
578
+ if (protocolError) {
579
+ result.exitCode = result.exitCode || 1;
580
+ result.stopReason = "error";
581
+ result.errorMessage = protocolError;
582
+ }
583
+ else if (acc.fatalError) {
404
584
  result.exitCode = result.exitCode || 1;
405
585
  result.stopReason = "error";
406
586
  result.errorMessage = acc.fatalError;
@@ -408,7 +588,12 @@ export async function runSubagentProcess(opts) {
408
588
  else {
409
589
  result.stopReason = exitCode === 0 ? "end" : "error";
410
590
  }
411
- if (exitCode === 0 && killedBySignal && !idleTimedOut && !wasAborted) {
591
+ if (!isFailed(result) && opts.requireTerminalEvent && !acc.terminalSeen) {
592
+ result.exitCode = 1;
593
+ result.stopReason = "error";
594
+ result.errorMessage = `Subagent stream ended before ${opts.terminalEventLabel ?? "the terminal event"}`;
595
+ }
596
+ if (exitCode === 0 && killedBySignal && !idleTimedOut && !wasAborted && !protocolError) {
412
597
  result.exitCode = 1;
413
598
  result.stopReason = "error";
414
599
  result.errorMessage = `Subagent killed by signal ${killedBySignal}`;
@@ -422,6 +607,14 @@ export async function runSubagentProcess(opts) {
422
607
  result.stopReason = "aborted";
423
608
  result.errorMessage = "Subagent was aborted";
424
609
  }
610
+ // A zero exit with no answer is not evidence of successful agent work. It is
611
+ // the characteristic outcome of a truncated/unknown host stream whose lines
612
+ // were syntactically valid but never contained a terminal answer.
613
+ if (!isFailed(result) && !result.output.trim()) {
614
+ result.exitCode = 1;
615
+ result.stopReason = "error";
616
+ result.errorMessage = "Subagent exited successfully without a final output";
617
+ }
425
618
  if (isFailed(result)) {
426
619
  if (!result.output) {
427
620
  result.output = TRANSPORT_ERROR_PLACEHOLDER;
@@ -1 +1 @@
1
- {"version":3,"file":"runner-core.js","sourceRoot":"","sources":["../src/runner-core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner-core.js","sourceRoot":"","sources":["../src/runner-core.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Approval phase — human-in-the-loop pause (approve / reject / edit).
3
+ */
4
+ import type { PhaseState } from "../../store.ts";
5
+ export interface ApprovalDecision {
6
+ decision: "approve" | "reject" | "edit";
7
+ note?: string;
8
+ }
9
+ export interface ApprovalRequest {
10
+ phaseId: string;
11
+ message: string;
12
+ upstream?: string;
13
+ }
14
+ /**
15
+ * Build PhaseState for an approval outcome (interactive or auto-reject).
16
+ */
17
+ export declare function approvalDecisionToPhaseState(phaseId: string, decision: ApprovalDecision, opts: {
18
+ inputHash: string;
19
+ reads?: PhaseState["reads"];
20
+ /** When true, mark auto-reject (no interactive approver). */
21
+ auto?: boolean;
22
+ }): PhaseState;
23
+ //# sourceMappingURL=approval.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"approval.d.ts","sourceRoot":"","sources":["../../../src/runtime/phases/approval.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGjD,MAAM,WAAW,gBAAgB;IAChC,QAAQ,EAAE,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAC3C,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,EAAE;IACL,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IAC5B,6DAA6D;IAC7D,IAAI,CAAC,EAAE,OAAO,CAAC;CACf,GACC,UAAU,CA8BZ"}