taskflow-core 0.2.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 (121) hide show
  1. package/README.md +247 -862
  2. package/dist/agents.d.ts +12 -0
  3. package/dist/agents.d.ts.map +1 -1
  4. package/dist/agents.js +29 -1
  5. package/dist/agents.js.map +1 -1
  6. package/dist/cwd-bridge.d.ts +61 -0
  7. package/dist/cwd-bridge.d.ts.map +1 -0
  8. package/dist/cwd-bridge.js +136 -0
  9. package/dist/cwd-bridge.js.map +1 -0
  10. package/dist/detached-runner.js +31 -5
  11. package/dist/detached-runner.js.map +1 -1
  12. package/dist/exec/driver.d.ts +1 -0
  13. package/dist/exec/driver.d.ts.map +1 -1
  14. package/dist/exec/driver.js +15 -2
  15. package/dist/exec/driver.js.map +1 -1
  16. package/dist/exec/step-kinds.d.ts.map +1 -1
  17. package/dist/exec/step-kinds.js +28 -3
  18. package/dist/exec/step-kinds.js.map +1 -1
  19. package/dist/exec/step.d.ts +1 -0
  20. package/dist/exec/step.d.ts.map +1 -1
  21. package/dist/exec/step.js +18 -0
  22. package/dist/exec/step.js.map +1 -1
  23. package/dist/flowir/compile.d.ts.map +1 -1
  24. package/dist/flowir/compile.js +13 -0
  25. package/dist/flowir/compile.js.map +1 -1
  26. package/dist/host/runner-types.d.ts +16 -0
  27. package/dist/host/runner-types.d.ts.map +1 -1
  28. package/dist/index.d.ts +2 -0
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +6 -0
  31. package/dist/index.js.map +1 -1
  32. package/dist/interpolate.d.ts +4 -0
  33. package/dist/interpolate.d.ts.map +1 -1
  34. package/dist/interpolate.js +14 -0
  35. package/dist/interpolate.js.map +1 -1
  36. package/dist/resources/authority.d.ts +35 -0
  37. package/dist/resources/authority.d.ts.map +1 -0
  38. package/dist/resources/authority.js +67 -0
  39. package/dist/resources/authority.js.map +1 -0
  40. package/dist/resources/backend.d.ts +302 -0
  41. package/dist/resources/backend.d.ts.map +1 -0
  42. package/dist/resources/backend.js +16 -0
  43. package/dist/resources/backend.js.map +1 -0
  44. package/dist/resources/baseline.d.ts +116 -0
  45. package/dist/resources/baseline.d.ts.map +1 -0
  46. package/dist/resources/baseline.js +447 -0
  47. package/dist/resources/baseline.js.map +1 -0
  48. package/dist/resources/canonical-json.d.ts +7 -0
  49. package/dist/resources/canonical-json.d.ts.map +1 -0
  50. package/dist/resources/canonical-json.js +75 -0
  51. package/dist/resources/canonical-json.js.map +1 -0
  52. package/dist/resources/errors.d.ts +23 -0
  53. package/dist/resources/errors.d.ts.map +1 -0
  54. package/dist/resources/errors.js +89 -0
  55. package/dist/resources/errors.js.map +1 -0
  56. package/dist/resources/execution.d.ts +90 -0
  57. package/dist/resources/execution.d.ts.map +1 -0
  58. package/dist/resources/execution.js +581 -0
  59. package/dist/resources/execution.js.map +1 -0
  60. package/dist/resources/index.d.ts +15 -0
  61. package/dist/resources/index.d.ts.map +1 -0
  62. package/dist/resources/index.js +15 -0
  63. package/dist/resources/index.js.map +1 -0
  64. package/dist/resources/journal.d.ts +138 -0
  65. package/dist/resources/journal.d.ts.map +1 -0
  66. package/dist/resources/journal.js +438 -0
  67. package/dist/resources/journal.js.map +1 -0
  68. package/dist/resources/leases.d.ts +51 -0
  69. package/dist/resources/leases.d.ts.map +1 -0
  70. package/dist/resources/leases.js +354 -0
  71. package/dist/resources/leases.js.map +1 -0
  72. package/dist/resources/permits.d.ts +52 -0
  73. package/dist/resources/permits.d.ts.map +1 -0
  74. package/dist/resources/permits.js +240 -0
  75. package/dist/resources/permits.js.map +1 -0
  76. package/dist/resources/persistence.d.ts +63 -0
  77. package/dist/resources/persistence.d.ts.map +1 -0
  78. package/dist/resources/persistence.js +522 -0
  79. package/dist/resources/persistence.js.map +1 -0
  80. package/dist/resources/registry.d.ts +56 -0
  81. package/dist/resources/registry.d.ts.map +1 -0
  82. package/dist/resources/registry.js +139 -0
  83. package/dist/resources/registry.js.map +1 -0
  84. package/dist/resources/resolve.d.ts +49 -0
  85. package/dist/resources/resolve.d.ts.map +1 -0
  86. package/dist/resources/resolve.js +309 -0
  87. package/dist/resources/resolve.js.map +1 -0
  88. package/dist/resources/sandbox.d.ts +72 -0
  89. package/dist/resources/sandbox.d.ts.map +1 -0
  90. package/dist/resources/sandbox.js +952 -0
  91. package/dist/resources/sandbox.js.map +1 -0
  92. package/dist/resources/schema.d.ts +195 -0
  93. package/dist/resources/schema.d.ts.map +1 -0
  94. package/dist/resources/schema.js +231 -0
  95. package/dist/resources/schema.js.map +1 -0
  96. package/dist/resources/types.d.ts +36 -0
  97. package/dist/resources/types.d.ts.map +1 -0
  98. package/dist/resources/types.js +75 -0
  99. package/dist/resources/types.js.map +1 -0
  100. package/dist/runner-core.d.ts +29 -0
  101. package/dist/runner-core.d.ts.map +1 -1
  102. package/dist/runner-core.js +311 -36
  103. package/dist/runner-core.js.map +1 -1
  104. package/dist/runtime/phases/script.d.ts.map +1 -1
  105. package/dist/runtime/phases/script.js +47 -9
  106. package/dist/runtime/phases/script.js.map +1 -1
  107. package/dist/runtime.d.ts +39 -0
  108. package/dist/runtime.d.ts.map +1 -1
  109. package/dist/runtime.js +542 -50
  110. package/dist/runtime.js.map +1 -1
  111. package/dist/schema.d.ts +68 -5
  112. package/dist/schema.d.ts.map +1 -1
  113. package/dist/schema.js +163 -22
  114. package/dist/schema.js.map +1 -1
  115. package/dist/store.d.ts +7 -0
  116. package/dist/store.d.ts.map +1 -1
  117. package/dist/store.js.map +1 -1
  118. package/dist/trace.d.ts +3 -0
  119. package/dist/trace.d.ts.map +1 -1
  120. package/dist/trace.js.map +1 -1
  121. package/package.json +3 -2
@@ -12,6 +12,7 @@
12
12
  * hosts.
13
13
  */
14
14
  import { spawn, spawnSync } from "node:child_process";
15
+ import { StringDecoder } from "node:string_decoder";
15
16
  import { emptyUsage } from "./usage.js";
16
17
  export function isFailed(r) {
17
18
  return r.exitCode !== 0 || Boolean(r.errorMessage) || r.stopReason === "error" || r.stopReason === "aborted";
@@ -122,7 +123,7 @@ export function getFinalOutput(messages) {
122
123
  return "";
123
124
  }
124
125
  export function newAccumulator(model) {
125
- return { messages: [], usage: emptyUsage(), model, lastActivity: "" };
126
+ return { messages: [], usage: emptyUsage(), model, finalText: "", lastActivity: "" };
126
127
  }
127
128
  /**
128
129
  * Fold one NDJSON line into the accumulator. Returns a LiveUpdate when an
@@ -169,8 +170,13 @@ export function foldEventLine(acc, line) {
169
170
  acc.model = msg.model;
170
171
  if (msg.stopReason)
171
172
  acc.stopReason = msg.stopReason;
172
- if (msg.errorMessage)
173
+ if (msg.errorMessage) {
173
174
  acc.errorMessage = msg.errorMessage;
175
+ acc.fatalError = msg.errorMessage;
176
+ }
177
+ const finalText = getFinalOutput([msg]);
178
+ if (finalText.trim())
179
+ acc.finalText = finalText;
174
180
  const activity = describeActivity(msg);
175
181
  if (activity)
176
182
  acc.lastActivity = activity;
@@ -260,6 +266,17 @@ export function num(v) {
260
266
  * Module-global (not per-host): a single exit handler must reach every host's
261
267
  * children, so all host runners register here. */
262
268
  const activeChildren = new Set();
269
+ /** Register a detached process group with the host-wide supervisor. Script
270
+ * phases and agent runners share this registry so external host termination
271
+ * cannot leave either kind of child mutating the workspace. */
272
+ export function registerProcessTree(pid) {
273
+ activeChildren.add(pid);
274
+ }
275
+ /** Remove a process group after its stdio has closed and all descendants have
276
+ * been synchronously reaped. */
277
+ export function unregisterProcessTree(pid) {
278
+ activeChildren.delete(pid);
279
+ }
263
280
  /** Signal the whole process tree rooted at a spawned subagent. POSIX children
264
281
  * are process-group leaders (`detached:true` at spawn), so a negative pid
265
282
  * reaches every descendant in the group. Windows has no equivalent signal;
@@ -267,18 +284,19 @@ const activeChildren = new Set();
267
284
  export function killProcessTree(pid, signal, direct) {
268
285
  if (process.platform === "win32") {
269
286
  try {
270
- const killer = spawn("taskkill", ["/PID", String(pid), "/T", "/F"], {
287
+ // Wait for taskkill: returning while /T is still enumerating descendants
288
+ // violates the phase boundary and is especially racy after root exit.
289
+ const killed = spawnSync("taskkill", ["/PID", String(pid), "/T", "/F"], {
271
290
  shell: false,
272
291
  stdio: "ignore",
273
292
  windowsHide: true,
274
293
  });
275
- killer.once("error", () => {
294
+ if (killed.error || killed.status !== 0) {
276
295
  try {
277
296
  direct?.kill();
278
297
  }
279
298
  catch { /* already dead */ }
280
- });
281
- killer.unref();
299
+ }
282
300
  }
283
301
  catch {
284
302
  try {
@@ -325,6 +343,35 @@ const killAllChildren = () => {
325
343
  }
326
344
  };
327
345
  process.on("exit", killAllChildren);
346
+ // Installing a signal listener disables Node's default signal termination.
347
+ // Reap every registered process group synchronously, then restore the default
348
+ // disposition and re-deliver the same signal so callers still observe a real
349
+ // signal exit (rather than an arbitrary numeric process.exit code).
350
+ const EXTERNAL_SIGNALS = ["SIGTERM", "SIGINT", "SIGHUP"];
351
+ const SIGNAL_EXIT_CODES = {
352
+ SIGTERM: 143,
353
+ SIGINT: 130,
354
+ SIGHUP: 129,
355
+ };
356
+ let handlingExternalSignal = false;
357
+ for (const signal of EXTERNAL_SIGNALS) {
358
+ process.on(signal, () => {
359
+ if (handlingExternalSignal)
360
+ return;
361
+ handlingExternalSignal = true;
362
+ killAllChildren();
363
+ // Existing listeners have already been snapshotted for this EventEmitter
364
+ // dispatch. Removing them here only ensures the re-delivered signal takes
365
+ // the OS default path instead of recursively entering user handlers.
366
+ process.removeAllListeners(signal);
367
+ try {
368
+ process.kill(process.pid, signal);
369
+ }
370
+ catch {
371
+ process.exit(SIGNAL_EXIT_CODES[signal]);
372
+ }
373
+ });
374
+ }
328
375
  /** Same idle window every host runner uses: a child silent this long is wedged. */
329
376
  export const DEFAULT_IDLE_TIMEOUT_MS = 5 * 60_000;
330
377
  /** After a phase timeout aborts its runner, allow process-backed hosts enough
@@ -370,7 +417,20 @@ export async function runSubagentProcess(opts) {
370
417
  let idleTimedOut = false;
371
418
  let killedBySignal;
372
419
  let protocolError;
420
+ let policyFatal;
421
+ let terminalCommitted = false;
422
+ let reapedAfterTerminal = false;
423
+ let completionNotified = false;
424
+ let killReason;
373
425
  const idleMs = opts.idleTimeoutMs ?? DEFAULT_IDLE_TIMEOUT_MS;
426
+ const terminationGraceMs = opts.terminationGraceMs ?? 5000;
427
+ const completionPolicy = opts.completionPolicy;
428
+ if (completionPolicy && (!Number.isFinite(completionPolicy.terminalGraceMs) || completionPolicy.terminalGraceMs < 0)) {
429
+ throw new Error("terminalGraceMs must be a non-negative finite number");
430
+ }
431
+ if (!Number.isFinite(terminationGraceMs) || terminationGraceMs < 0) {
432
+ throw new Error("terminationGraceMs must be a non-negative finite number");
433
+ }
374
434
  // Structured run-log header, opt-in via PI_TASKFLOW_RUN_LOG. Written to the
375
435
  // HOST process's stderr (the MCP stdio log channel; pi's subagent diagnostic
376
436
  // stream) — never to stdout (stdout is JSON-RPC for MCP). One line per spawn
@@ -396,10 +456,15 @@ export async function runSubagentProcess(opts) {
396
456
  windowsHide: true,
397
457
  });
398
458
  if (proc.pid)
399
- activeChildren.add(proc.pid);
459
+ registerProcessTree(proc.pid);
400
460
  let buffer = "";
461
+ const stdoutDecoder = new StringDecoder("utf8");
462
+ const stderrDecoder = new StringDecoder("utf8");
401
463
  let idleTimer;
464
+ let terminalTimer;
402
465
  let forceTimer;
466
+ let candidateEpoch = 0;
467
+ let terminalCandidate = false;
403
468
  let settled = false;
404
469
  let removeAbortListener = () => { };
405
470
  const clearTimers = () => {
@@ -407,6 +472,10 @@ export async function runSubagentProcess(opts) {
407
472
  clearTimeout(idleTimer);
408
473
  idleTimer = undefined;
409
474
  }
475
+ if (terminalTimer) {
476
+ clearTimeout(terminalTimer);
477
+ terminalTimer = undefined;
478
+ }
410
479
  if (forceTimer) {
411
480
  clearTimeout(forceTimer);
412
481
  forceTimer = undefined;
@@ -422,13 +491,42 @@ export async function runSubagentProcess(opts) {
422
491
  catch { /* spawn failed / already dead */ }
423
492
  }
424
493
  };
494
+ const setKillReason = (reason) => {
495
+ if (killReason)
496
+ return killReason === reason;
497
+ killReason = reason;
498
+ return true;
499
+ };
500
+ const scheduleForceKill = () => {
501
+ if (settled)
502
+ return;
503
+ if (forceTimer)
504
+ clearTimeout(forceTimer);
505
+ forceTimer = setTimeout(() => {
506
+ if (!settled)
507
+ signalTree("SIGKILL");
508
+ }, terminationGraceMs);
509
+ forceTimer.unref();
510
+ };
511
+ const clearTerminalCandidate = () => {
512
+ terminalCandidate = false;
513
+ candidateEpoch++;
514
+ if (terminalTimer) {
515
+ clearTimeout(terminalTimer);
516
+ terminalTimer = undefined;
517
+ }
518
+ };
425
519
  const hardKill = () => {
520
+ if (settled || terminalCommitted || !setKillReason("idle-timeout"))
521
+ return;
426
522
  idleTimedOut = true;
523
+ clearTerminalCandidate();
427
524
  signalTree("SIGTERM");
428
- forceTimer = setTimeout(() => signalTree("SIGKILL"), 5000);
429
- forceTimer.unref();
525
+ scheduleForceKill();
430
526
  };
431
527
  const armIdle = () => {
528
+ if (terminalCandidate || terminalCommitted || settled)
529
+ return;
432
530
  if (idleTimer)
433
531
  clearTimeout(idleTimer);
434
532
  if (idleMs <= 0)
@@ -440,10 +538,90 @@ export async function runSubagentProcess(opts) {
440
538
  const failProtocol = (message) => {
441
539
  if (protocolError)
442
540
  return;
541
+ // An earlier abort/idle/fatal stop can itself truncate the last record.
542
+ // First-writer wins; only a terminal reap remains revocable by a bad tail.
543
+ if (killReason && killReason !== "terminal-reap" && killReason !== "protocol-error")
544
+ return;
443
545
  protocolError = message;
546
+ if (!killReason && !setKillReason("protocol-error"))
547
+ return;
548
+ clearTerminalCandidate();
549
+ if (idleTimer) {
550
+ clearTimeout(idleTimer);
551
+ idleTimer = undefined;
552
+ }
444
553
  signalTree("SIGTERM");
445
- forceTimer = setTimeout(() => signalTree("SIGKILL"), 5000);
446
- forceTimer.unref();
554
+ scheduleForceKill();
555
+ };
556
+ const notifyCompletionCommit = () => {
557
+ if (completionNotified)
558
+ return;
559
+ completionNotified = true;
560
+ try {
561
+ opts.onTerminalCommit?.();
562
+ }
563
+ catch { /* internal observer is fail-open */ }
564
+ };
565
+ const canCommitTerminal = () => {
566
+ if (!completionPolicy)
567
+ return false;
568
+ try {
569
+ return completionPolicy.canCommitTerminal(acc);
570
+ }
571
+ catch (error) {
572
+ failProtocol(`Completion policy failed: ${error instanceof Error ? error.message : String(error)}`);
573
+ return false;
574
+ }
575
+ };
576
+ const commitTerminal = (epoch) => {
577
+ // A cleared timer may already be queued. The epoch is the CAS token that
578
+ // prevents it from committing a revoked candidate.
579
+ if (settled || terminalCommitted || !terminalCandidate || epoch !== candidateEpoch ||
580
+ wasAborted || protocolError || policyFatal || killReason)
581
+ return;
582
+ if (buffer.trim()) {
583
+ failProtocol("Subagent emitted malformed or truncated JSON after its terminal event");
584
+ return;
585
+ }
586
+ if (!canCommitTerminal()) {
587
+ clearTerminalCandidate();
588
+ armIdle();
589
+ return;
590
+ }
591
+ terminalCommitted = true;
592
+ terminalCandidate = false;
593
+ setKillReason("terminal-reap");
594
+ reapedAfterTerminal = true;
595
+ notifyCompletionCommit();
596
+ const diagnostic = `[taskflow] Child produced terminal output but did not exit after ${completionPolicy?.terminalGraceMs ?? 0}ms; ` +
597
+ "reaped process tree and accepted the completed result.";
598
+ result.stderr += `${result.stderr && !result.stderr.endsWith("\n") ? "\n" : ""}${diagnostic}\n`;
599
+ signalTree("SIGTERM");
600
+ scheduleForceKill();
601
+ };
602
+ const beginTerminalCandidate = () => {
603
+ if (!completionPolicy || terminalCommitted || settled || killReason)
604
+ return;
605
+ if (!canCommitTerminal()) {
606
+ clearTerminalCandidate();
607
+ armIdle();
608
+ return;
609
+ }
610
+ terminalCandidate = true;
611
+ const epoch = ++candidateEpoch;
612
+ if (idleTimer) {
613
+ clearTimeout(idleTimer);
614
+ idleTimer = undefined;
615
+ }
616
+ if (terminalTimer)
617
+ clearTimeout(terminalTimer);
618
+ terminalTimer = setTimeout(() => {
619
+ terminalTimer = undefined;
620
+ // Let already-readable stdout callbacks run before the linearization
621
+ // point so lifecycle activity cannot lose to a same-tick timer.
622
+ setImmediate(() => commitTerminal(epoch));
623
+ }, completionPolicy.terminalGraceMs);
624
+ terminalTimer.unref();
447
625
  };
448
626
  const processLine = (line) => {
449
627
  if (!line.trim() || protocolError)
@@ -451,8 +629,9 @@ export async function runSubagentProcess(opts) {
451
629
  // Every supported host advertises a JSON/NDJSON stream. Treat malformed
452
630
  // records as a protocol failure: silently dropping them can turn a
453
631
  // truncated provider error into a successful phase with empty output.
632
+ let event;
454
633
  try {
455
- JSON.parse(line);
634
+ event = JSON.parse(line);
456
635
  }
457
636
  catch {
458
637
  failProtocol("Subagent emitted malformed or truncated JSON output");
@@ -474,10 +653,48 @@ export async function runSubagentProcess(opts) {
474
653
  }
475
654
  catch { /* user callback must not sink run */ }
476
655
  }
656
+ if (!completionPolicy || terminalCommitted) {
657
+ armIdle();
658
+ return;
659
+ }
660
+ let classification;
661
+ try {
662
+ classification = completionPolicy.classifyEvent(acc, event);
663
+ }
664
+ catch (error) {
665
+ failProtocol(`Completion policy failed: ${error instanceof Error ? error.message : String(error)}`);
666
+ return;
667
+ }
668
+ switch (classification) {
669
+ case "terminal-candidate":
670
+ beginTerminalCandidate();
671
+ break;
672
+ case "fatal":
673
+ if (setKillReason("fatal-error")) {
674
+ policyFatal = acc.fatalError ?? "Subagent emitted a fatal terminal event";
675
+ if (idleTimer) {
676
+ clearTimeout(idleTimer);
677
+ idleTimer = undefined;
678
+ }
679
+ signalTree("SIGTERM");
680
+ scheduleForceKill();
681
+ }
682
+ clearTerminalCandidate();
683
+ break;
684
+ case "activity":
685
+ clearTerminalCandidate();
686
+ armIdle();
687
+ break;
688
+ case "ignore":
689
+ break;
690
+ }
477
691
  };
478
692
  proc.stdout.on("data", (data) => {
479
- armIdle();
480
- buffer += data.toString();
693
+ // StringDecoder preserves multi-byte UTF-8 characters split across
694
+ // arbitrary pipe chunks. Candidate revocation is event-semantic below:
695
+ // metadata/heartbeat records classified as `ignore` must not disable both
696
+ // terminal grace and the ordinary idle watchdog.
697
+ buffer += stdoutDecoder.write(data);
481
698
  if (Buffer.byteLength(buffer) > MAX_STDOUT_LINE_BYTES && !buffer.includes("\n")) {
482
699
  // Drop the retained bytes before terminating so the bound remains true
483
700
  // even while a non-cooperative child takes time to die.
@@ -494,17 +711,28 @@ export async function runSubagentProcess(opts) {
494
711
  }
495
712
  processLine(line);
496
713
  }
714
+ if (!completionPolicy)
715
+ armIdle();
497
716
  });
498
- const STDERR_MAX_LEN = 64 * 1024;
717
+ const STDERR_MAX_BYTES = 64 * 1024;
718
+ let stderrBytes = 0;
499
719
  let stderrCapped = false;
500
720
  proc.stderr.on("data", (data) => {
501
721
  // Diagnostics are real child activity too. A CLI that is actively
502
722
  // reporting provider retries on stderr must not be killed as idle.
503
- armIdle();
723
+ // stderr is activity while running, but after a terminal candidate it
724
+ // neither revokes nor prolongs the bounded grace window.
725
+ if (!terminalCandidate && !terminalCommitted)
726
+ armIdle();
504
727
  if (!stderrCapped) {
505
- result.stderr += data.toString();
506
- if (result.stderr.length >= STDERR_MAX_LEN) {
507
- result.stderr = result.stderr.slice(0, STDERR_MAX_LEN) + "\n[...stderr truncated at 64KB]";
728
+ const remaining = STDERR_MAX_BYTES - stderrBytes;
729
+ const retained = data.subarray(0, Math.max(0, remaining));
730
+ if (retained.length > 0) {
731
+ result.stderr += stderrDecoder.write(retained);
732
+ stderrBytes += retained.length;
733
+ }
734
+ if (data.length > retained.length) {
735
+ result.stderr += "\n[...stderr truncated at 64KB]";
508
736
  stderrCapped = true;
509
737
  }
510
738
  }
@@ -520,6 +748,15 @@ export async function runSubagentProcess(opts) {
520
748
  const finish = (code, signal) => {
521
749
  if (settled)
522
750
  return;
751
+ // Flush decoders and classify the final unterminated record before
752
+ // settling. Any force-kill timer created by a malformed tail is cleared
753
+ // below, so no signal can fire after this Promise resolves.
754
+ buffer += stdoutDecoder.end();
755
+ if (!stderrCapped)
756
+ result.stderr += stderrDecoder.end();
757
+ if (buffer.trim() && killReason !== "abort" && killReason !== "idle-timeout" && killReason !== "fatal-error") {
758
+ processLine(buffer);
759
+ }
523
760
  settled = true;
524
761
  // The direct CLI may intentionally or accidentally leave background
525
762
  // descendants behind. A phase boundary is also a process-tree boundary:
@@ -529,13 +766,24 @@ export async function runSubagentProcess(opts) {
529
766
  if (proc.pid)
530
767
  killProcessTree(proc.pid, "SIGKILL", proc);
531
768
  if (proc.pid)
532
- activeChildren.delete(proc.pid);
769
+ unregisterProcessTree(proc.pid);
533
770
  clearTimers();
534
771
  removeAbortListener();
535
- if (buffer.trim())
536
- processLine(buffer);
537
772
  if (signal)
538
773
  killedBySignal = signal;
774
+ let terminalValid = !completionPolicy;
775
+ if (completionPolicy) {
776
+ try {
777
+ terminalValid = completionPolicy.canCommitTerminal(acc);
778
+ }
779
+ catch (error) {
780
+ protocolError ??= `Completion policy failed: ${error instanceof Error ? error.message : String(error)}`;
781
+ }
782
+ }
783
+ if (code === 0 && !signal && !protocolError && !policyFatal && !acc.fatalError &&
784
+ !wasAborted && !idleTimedOut &&
785
+ terminalValid)
786
+ notifyCompletionCommit();
539
787
  resolve(code);
540
788
  };
541
789
  proc.on("close", (code, signal) => {
@@ -550,6 +798,12 @@ export async function runSubagentProcess(opts) {
550
798
  });
551
799
  if (opts.signal) {
552
800
  const kill = () => {
801
+ // Terminal commit is the completion linearization point. A later outer
802
+ // timeout/user abort cannot retroactively change a completed task.
803
+ if (terminalCommitted || settled)
804
+ return;
805
+ if (!setKillReason("abort"))
806
+ return;
553
807
  wasAborted = true;
554
808
  // Disarm the idle watchdog first: otherwise, if the idle timer fires
555
809
  // between this SIGTERM and the close event, `idleTimedOut` would be
@@ -557,8 +811,7 @@ export async function runSubagentProcess(opts) {
557
811
  // abort) would misreport a user abort as an idle stall.
558
812
  clearTimers();
559
813
  signalTree("SIGTERM");
560
- forceTimer = setTimeout(() => signalTree("SIGKILL"), 5000);
561
- forceTimer.unref();
814
+ scheduleForceKill();
562
815
  };
563
816
  if (opts.signal.aborted)
564
817
  kill();
@@ -580,32 +833,54 @@ export async function runSubagentProcess(opts) {
580
833
  result.stopReason = "error";
581
834
  result.errorMessage = protocolError;
582
835
  }
583
- else if (acc.fatalError) {
836
+ else if (wasAborted) {
837
+ result.stopReason = "aborted";
838
+ result.errorMessage = "Subagent was aborted";
839
+ }
840
+ else if (idleTimedOut) {
841
+ result.stopReason = "error";
842
+ result.idleTimeout = true;
843
+ result.errorMessage = `Subagent stalled: no output for ${Math.round(idleMs / 1000)}s (idle timeout) — killed`;
844
+ }
845
+ else if (acc.fatalError || policyFatal) {
584
846
  result.exitCode = result.exitCode || 1;
585
847
  result.stopReason = "error";
586
- result.errorMessage = acc.fatalError;
848
+ result.errorMessage = acc.fatalError ?? policyFatal;
849
+ }
850
+ else if (terminalCommitted) {
851
+ // A signal caused by our own terminal reap is a successful controlled
852
+ // shutdown, regardless of the OS exit code/signal encoding.
853
+ result.exitCode = 0;
854
+ result.stopReason = "end";
587
855
  }
588
856
  else {
589
- result.stopReason = exitCode === 0 ? "end" : "error";
857
+ result.stopReason = acc.stopReason ?? (exitCode === 0 ? "end" : "error");
590
858
  }
591
859
  if (!isFailed(result) && opts.requireTerminalEvent && !acc.terminalSeen) {
592
860
  result.exitCode = 1;
593
861
  result.stopReason = "error";
594
862
  result.errorMessage = `Subagent stream ended before ${opts.terminalEventLabel ?? "the terminal event"}`;
595
863
  }
596
- if (exitCode === 0 && killedBySignal && !idleTimedOut && !wasAborted && !protocolError) {
864
+ if (exitCode === 0 && killedBySignal && !idleTimedOut && !wasAborted && !protocolError &&
865
+ !terminalCommitted && killReason !== "fatal-error") {
597
866
  result.exitCode = 1;
598
867
  result.stopReason = "error";
599
868
  result.errorMessage = `Subagent killed by signal ${killedBySignal}`;
600
869
  }
601
- if (idleTimedOut) {
602
- result.stopReason = "error";
603
- result.idleTimeout = true;
604
- result.errorMessage = `Subagent stalled: no output for ${Math.round(idleMs / 1000)}s (idle timeout) — killed`;
605
- }
606
- else if (wasAborted) {
607
- result.stopReason = "aborted";
608
- result.errorMessage = "Subagent was aborted";
870
+ result.completionSource = protocolError
871
+ ? "protocol-error"
872
+ : idleTimedOut
873
+ ? "idle-timeout"
874
+ : wasAborted
875
+ ? "abort"
876
+ : terminalCommitted
877
+ ? "terminal-reap"
878
+ : killedBySignal && killReason !== "fatal-error"
879
+ ? "external-signal"
880
+ : "process-exit";
881
+ if (terminalCommitted) {
882
+ result.reapedAfterTerminal = reapedAfterTerminal;
883
+ result.terminalGraceMs = completionPolicy?.terminalGraceMs;
609
884
  }
610
885
  // A zero exit with no answer is not evidence of successful agent work. It is
611
886
  // the characteristic outcome of a truncated/unknown host stream whose lines
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"script.d.ts","sourceRoot":"","sources":["../../../src/runtime/phases/script.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAOjD,MAAM,WAAW,eAAe;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,cAAc,EAAE,OAAO,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE;IAC5C,sEAAsE;IACtE,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,mEAAmE;IACnE,SAAS,EAAE,OAAO,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CAClB,GAAG,OAAO,CAAC,eAAe,CAAC,CA6E3B;AAED,mEAAmE;AACnE,wBAAgB,wBAAwB,CACvC,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE;IACL,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;CAC5B,GACC,UAAU,CA4BZ;AAED,8DAA8D;AAC9D,wBAAgB,4BAA4B,CAC3C,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAA;CAAE,GACtD,UAAU,CAYZ"}
1
+ {"version":3,"file":"script.d.ts","sourceRoot":"","sources":["../../../src/runtime/phases/script.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAUjD,MAAM,WAAW,eAAe;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,cAAc,EAAE,OAAO,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE;IAC5C,sEAAsE;IACtE,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,mEAAmE;IACnE,SAAS,EAAE,OAAO,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CAClB,GAAG,OAAO,CAAC,eAAe,CAAC,CAyG3B;AAED,mEAAmE;AACnE,wBAAgB,wBAAwB,CACvC,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE;IACL,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;CAC5B,GACC,UAAU,CA4BZ;AAED,8DAA8D;AAC9D,wBAAgB,4BAA4B,CAC3C,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAA;CAAE,GACtD,UAAU,CAYZ"}