wicked-crew 0.6.0 → 0.7.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 (99) hide show
  1. package/dist/api/audit.d.ts +13 -0
  2. package/dist/api/audit.d.ts.map +1 -1
  3. package/dist/api/audit.js +18 -2
  4. package/dist/api/audit.js.map +1 -1
  5. package/dist/api/guidance-index.d.ts +39 -0
  6. package/dist/api/guidance-index.d.ts.map +1 -0
  7. package/dist/api/guidance-index.js +67 -0
  8. package/dist/api/guidance-index.js.map +1 -0
  9. package/dist/api/open-path.d.ts +16 -0
  10. package/dist/api/open-path.d.ts.map +1 -1
  11. package/dist/api/open-path.js +22 -0
  12. package/dist/api/open-path.js.map +1 -1
  13. package/dist/api/retry-index.d.ts +30 -0
  14. package/dist/api/retry-index.d.ts.map +1 -0
  15. package/dist/api/retry-index.js +45 -0
  16. package/dist/api/retry-index.js.map +1 -0
  17. package/dist/api/routes.d.ts +53 -1
  18. package/dist/api/routes.d.ts.map +1 -1
  19. package/dist/api/routes.js +352 -23
  20. package/dist/api/routes.js.map +1 -1
  21. package/dist/api/run-files.d.ts +63 -0
  22. package/dist/api/run-files.d.ts.map +1 -0
  23. package/dist/api/run-files.js +271 -0
  24. package/dist/api/run-files.js.map +1 -0
  25. package/dist/api/server.d.ts +79 -0
  26. package/dist/api/server.d.ts.map +1 -1
  27. package/dist/api/server.js +135 -6
  28. package/dist/api/server.js.map +1 -1
  29. package/dist/api/stall-watchdog.d.ts +62 -0
  30. package/dist/api/stall-watchdog.d.ts.map +1 -0
  31. package/dist/api/stall-watchdog.js +138 -0
  32. package/dist/api/stall-watchdog.js.map +1 -0
  33. package/dist/cli/index.js +78 -13
  34. package/dist/cli/index.js.map +1 -1
  35. package/dist/core/adapter.d.ts +24 -10
  36. package/dist/core/adapter.d.ts.map +1 -1
  37. package/dist/core/adapter.js +191 -30
  38. package/dist/core/adapter.js.map +1 -1
  39. package/dist/core/bridge-reaper.d.ts +134 -0
  40. package/dist/core/bridge-reaper.d.ts.map +1 -0
  41. package/dist/core/bridge-reaper.js +286 -0
  42. package/dist/core/bridge-reaper.js.map +1 -0
  43. package/dist/core/deliver.d.ts +118 -0
  44. package/dist/core/deliver.d.ts.map +1 -0
  45. package/dist/core/deliver.js +241 -0
  46. package/dist/core/deliver.js.map +1 -0
  47. package/dist/core/deliverable-floor.d.ts +103 -0
  48. package/dist/core/deliverable-floor.d.ts.map +1 -0
  49. package/dist/core/deliverable-floor.js +173 -0
  50. package/dist/core/deliverable-floor.js.map +1 -0
  51. package/dist/core/exec.d.ts +2 -0
  52. package/dist/core/exec.d.ts.map +1 -1
  53. package/dist/core/exec.js.map +1 -1
  54. package/dist/core/types.d.ts +79 -1
  55. package/dist/core/types.d.ts.map +1 -1
  56. package/dist/core/types.js +3 -0
  57. package/dist/core/types.js.map +1 -1
  58. package/dist/interactive/bridge-pool.d.ts +28 -0
  59. package/dist/interactive/bridge-pool.d.ts.map +1 -1
  60. package/dist/interactive/bridge-pool.js +67 -10
  61. package/dist/interactive/bridge-pool.js.map +1 -1
  62. package/dist/interactive/chat-events.d.ts +207 -0
  63. package/dist/interactive/chat-events.d.ts.map +1 -0
  64. package/dist/interactive/chat-events.js +769 -0
  65. package/dist/interactive/chat-events.js.map +1 -0
  66. package/dist/interactive/demo-events.d.ts +283 -0
  67. package/dist/interactive/demo-events.d.ts.map +1 -0
  68. package/dist/interactive/demo-events.js +889 -0
  69. package/dist/interactive/demo-events.js.map +1 -0
  70. package/dist/interactive/draft-events.d.ts +87 -7
  71. package/dist/interactive/draft-events.d.ts.map +1 -1
  72. package/dist/interactive/draft-events.js +352 -49
  73. package/dist/interactive/draft-events.js.map +1 -1
  74. package/dist/interactive/edit-events.d.ts +22 -0
  75. package/dist/interactive/edit-events.d.ts.map +1 -1
  76. package/dist/interactive/edit-events.js +73 -2
  77. package/dist/interactive/edit-events.js.map +1 -1
  78. package/dist/interactive/repo-snapshot.d.ts +100 -0
  79. package/dist/interactive/repo-snapshot.d.ts.map +1 -0
  80. package/dist/interactive/repo-snapshot.js +289 -0
  81. package/dist/interactive/repo-snapshot.js.map +1 -0
  82. package/dist/projects/graph-paths.d.ts +92 -0
  83. package/dist/projects/graph-paths.d.ts.map +1 -0
  84. package/dist/projects/graph-paths.js +130 -0
  85. package/dist/projects/graph-paths.js.map +1 -0
  86. package/dist/projects/graph.d.ts +179 -0
  87. package/dist/projects/graph.d.ts.map +1 -0
  88. package/dist/projects/graph.js +775 -0
  89. package/dist/projects/graph.js.map +1 -0
  90. package/dist/projects/routes.d.ts +7 -0
  91. package/dist/projects/routes.d.ts.map +1 -1
  92. package/dist/projects/routes.js +122 -0
  93. package/dist/projects/routes.js.map +1 -1
  94. package/dist/studio/assets/index-8p8uwCxG.js +530 -0
  95. package/dist/studio/assets/index-D6S9zUtO.css +32 -0
  96. package/dist/studio/index.html +5 -3
  97. package/package.json +3 -3
  98. package/dist/studio/assets/index-CCwXa1cn.js +0 -428
  99. package/dist/studio/assets/index-HWxo0h41.css +0 -32
@@ -7,6 +7,8 @@ import { homedir } from 'node:os';
7
7
  import { randomUUID } from 'node:crypto';
8
8
  import { DEFAULT_SETTINGS } from './types.js';
9
9
  import { execCapped } from './exec.js';
10
+ import { composeDeliverWorkflow, DELIVER_PHASE_ID } from './deliver.js';
11
+ import { composeDeliverableFloor } from './deliverable-floor.js';
10
12
  /** Resolved path under the user's home directory. */
11
13
  function wickedDir(...parts) {
12
14
  const home = process.env.HOME ?? process.env.USERPROFILE ?? '/tmp';
@@ -120,17 +122,44 @@ const { Core } = require('wicked-core-ts');
120
122
  * silently). Fail CLOSED on version instead: same doctrine as the `projectId` guard below.
121
123
  */
122
124
  function addonSupportsExtraWriteRoots() {
125
+ return addonAtLeast(0, 6, 1);
126
+ }
127
+ /**
128
+ * Does the installed addon understand `LaunchOptions.projectGraph` (≥ 0.7.1)?
129
+ *
130
+ * Same doctrine, different cost of being wrong. A silently-dropped binding does not deny anything —
131
+ * it launches a run whose workers quietly see one repo while the launcher recorded that they see
132
+ * the project. The daemon would then log "bound to the project graph as 'wicked-core'" for a run
133
+ * that never was, which is worse than not binding at all: the operator's evidence about what the
134
+ * run could see becomes false. Fail closed and keep the log honest.
135
+ */
136
+ function addonSupportsProjectGraph() {
137
+ return addonAtLeast(0, 7, 1);
138
+ }
139
+ /**
140
+ * Is the installed `wicked-core-ts` at least `maj.min.pat`?
141
+ *
142
+ * ONE version reader for every capability gate, because the parsing rule here is load-bearing and
143
+ * was already got wrong once: `split('.').map(Number)` returns NaN on a pre-release or build suffix
144
+ * (`0.6.1-beta.1`), which fails a perfectly capable addon closed (Copilot on #263). Matching only
145
+ * the numeric MAJOR.MINOR.PATCH prefix fixes that, and a second copy of the fix is a second chance
146
+ * to lose it. No match ⇒ unparseable ⇒ fail closed.
147
+ */
148
+ function addonAtLeast(maj, min, pat) {
123
149
  try {
124
- // eslint-disable-next-line @typescript-eslint/no-require-imports
125
150
  const pkg = require('wicked-core-ts/package.json');
126
- // Match only the numeric MAJOR.MINOR.PATCH prefix: `split('.').map(Number)` returns NaN on
127
- // pre-release/build suffixes (`0.6.1-beta.1`), which would fail-closed a capable addon
128
- // (Copilot). No match ⇒ unparseable ⇒ fail closed.
129
151
  const m = /^(\d+)\.(\d+)\.(\d+)/.exec(pkg.version ?? '');
130
152
  if (!m)
131
153
  return false;
132
- const [maj, min, pat] = [Number(m[1]), Number(m[2]), Number(m[3])];
133
- return maj > 0 || min > 6 || (min === 6 && pat >= 1);
154
+ const got = [Number(m[1]), Number(m[2]), Number(m[3])];
155
+ const want = [maj, min, pat];
156
+ for (let i = 0; i < 3; i += 1) {
157
+ if (got[i] > want[i])
158
+ return true;
159
+ if (got[i] < want[i])
160
+ return false;
161
+ }
162
+ return true;
134
163
  }
135
164
  catch {
136
165
  return false;
@@ -414,13 +443,6 @@ function quarantineStaleOnboardingOverlay() {
414
443
  `whatever repo the run names (FINDING-075).`);
415
444
  }
416
445
  }
417
- /**
418
- * The single isolation boundary over wicked-core-ts. It holds the ONE `Core`
419
- * handle, makes the ONE `subscribe()` call for the whole process, parses each
420
- * CoreEvent, and re-emits it to registered in-daemon listeners. Every REST
421
- * endpoint and the WS fan-out funnel through this stable API — so when the
422
- * in-flight core-ts subscribe/teardown signature lands, only this file changes.
423
- */
424
446
  /** The ids of a workflow's phases that carry a HUMAN gate (`human_confirm` unconditional, or the
425
447
  * conditional `human_confirm_if`) — i.e. the phases that will PAUSE for a person.
426
448
  *
@@ -436,6 +458,13 @@ export function humanGatePhaseIds(wf) {
436
458
  ('human_confirm' in p.gate || 'human_confirm_if' in p.gate))
437
459
  .map((p) => p.id);
438
460
  }
461
+ /**
462
+ * The single isolation boundary over wicked-core-ts. It holds the ONE `Core`
463
+ * handle, makes the ONE `subscribe()` call for the whole process, parses each
464
+ * CoreEvent, and re-emits it to registered in-daemon listeners. Every REST
465
+ * endpoint and the WS fan-out funnel through this stable API — so when the
466
+ * in-flight core-ts subscribe/teardown signature lands, only this file changes.
467
+ */
439
468
  export class CoreAdapter {
440
469
  core;
441
470
  subscription;
@@ -545,25 +574,121 @@ export class CoreAdapter {
545
574
  }
546
575
  opts.extraWriteRoots = input.extraWriteRoots;
547
576
  }
548
- if (input.workflow !== undefined) {
549
- opts.workflow = input.workflow;
550
- // Ensure DROP-IN workflow definitions are present in the Rust overlay dir on first use.
551
- // Uses a dedicated helper (not registerWorkflow) to avoid adding built-ins to userWorkflows,
552
- // which would duplicate them in listWorkflows(). The write is skipped after the first call
553
- // per process lifetime.
577
+ if (input.projectGraph !== undefined) {
578
+ // Fail CLOSED on an old addon (napi ignores undeclared fields): the run would silently get
579
+ // its repo's graph while everything on this side recorded that it got the project's.
580
+ if (!addonSupportsProjectGraph()) {
581
+ throw new Error('projectGraph needs wicked-core-ts >= 0.7.1; the installed addon would silently ignore ' +
582
+ 'it and the run would see one repo while the daemon logged that it saw the project');
583
+ }
584
+ // The two invariants the TYPE cannot express, enforced where the launch is actually
585
+ // assembled (Copilot on #327). Both are cross-field, so `projectGraph`'s own shape can never
586
+ // carry them, and `core/types.ts` says as much rather than pretending the compiler helps.
554
587
  //
555
- // Ids core seeds itself are excluded: writing them shadows the real def with this stale
556
- // mirror — see CORE_SEEDED_WORKFLOWS. Core resolves those from its own registry, so there is
557
- // nothing to write and never was.
558
- const builtinDef = CORE_SEEDED_WORKFLOWS.has(input.workflow)
559
- ? undefined
560
- : BUILTIN_WORKFLOWS.find((w) => w.id === input.workflow);
561
- if (builtinDef && !this._builtinOverlayWritten.has(input.workflow)) {
562
- // Mark before await so concurrent launchRun() calls for the same builtin
563
- // don't both pass the has() check and race to write the same file.
564
- this._builtinOverlayWritten.add(input.workflow);
565
- await this._writeBuiltinOverlay(builtinDef);
588
+ // Loud, not lenient. Every one of these is a CALLER bug, and the failure it would otherwise
589
+ // produce is the silent kind this whole slice exists to end: a run that reports one thing
590
+ // about what it could see and observes another. `resolveProjectGraphBinding` — the only
591
+ // producer today — satisfies both on every arm, so a throw here means a new caller got it
592
+ // wrong, which is exactly when you want to hear about it.
593
+ if (input.projectId === undefined) {
594
+ throw new Error('projectGraph is the PROJECT\'s graph, so the run must be filed into that project: ' +
595
+ 'pass projectId alongside it, or omit projectGraph and let the run use its repo graph');
566
596
  }
597
+ if (input.repoRef !== undefined && input.projectGraph.repoLabel === undefined) {
598
+ throw new Error(`a repo-bound run needs projectGraph.repoLabel: without it the engine cannot confirm the ` +
599
+ `project graph holds '${input.repoRef}', and a graph that does not would answer ` +
600
+ `"not found" about the run's own worktree`);
601
+ }
602
+ opts.projectGraph = input.projectGraph;
603
+ }
604
+ if (input.workflow !== undefined) {
605
+ let workflowId = input.workflow;
606
+ // Both per-run compositions (deliver + deliverable floor) fold into ONE def and ONE
607
+ // registration: composing twice would arm two ids and launch the second, leaving the
608
+ // first as engine litter. `composed` stays null until something actually composes, which
609
+ // is what keeps the undelivered/unfloored launch byte-for-byte the old path.
610
+ const requireDeliverables = input.requireDeliverables ?? [];
611
+ let composed = null;
612
+ if (input.deliver === 'pr' || requireDeliverables.length > 0) {
613
+ const base = this.getWorkflow(input.workflow);
614
+ if (base === null) {
615
+ throw new Error(input.deliver === 'pr'
616
+ ? `deliver: "pr" needs a registered workflow to append the deliver phase to — ` +
617
+ `'${input.workflow}' is not registered`
618
+ : `requireDeliverables needs a registered workflow to append the deliverable ` +
619
+ `floor to — '${input.workflow}' is not registered`);
620
+ }
621
+ composed = base;
622
+ }
623
+ if (composed !== null && requireDeliverables.length > 0) {
624
+ // THE DELIVERABLE FLOOR (crew#311): "done" is re-derived from the artifact. The
625
+ // launcher declared what this run must produce, so a deterministic Tool phase appended
626
+ // here re-verifies that those files EXIST and carry bytes, and fails the run naming
627
+ // what was expected and what was found when they do not. Composed BEFORE the deliver
628
+ // phase below so the floor sits ahead of it: a run that produced nothing must fail
629
+ // rather than open a pull request over an empty branch.
630
+ composed = composeDeliverableFloor(composed, input.sessionId, requireDeliverables);
631
+ }
632
+ if (composed !== null && input.deliver === 'pr') {
633
+ // First-class delivery (crew#293): compose a PER-RUN def — the selected workflow's
634
+ // phases plus the hardened deliver Tool phase appended last — and arm it with the
635
+ // engine under a run-scoped id. The shared def is NEVER mutated, and the composed def
636
+ // is hot-registered only (no overlay file, no userWorkflows entry): it exists for this
637
+ // launch, not for the catalog.
638
+ if (composed.phases.some((p) => p.id === DELIVER_PHASE_ID)) {
639
+ // The def already delivers (an operator's own feature-pr-style overlay). Appending a
640
+ // second `deliver` phase would collide on id — launch the def as-is; the intent
641
+ // ("this run opens its PR") is already satisfied.
642
+ }
643
+ else {
644
+ // The run's intent rides along so the commit the deliver phase makes NAMES what it
645
+ // delivered (`wicked-crew run <id>: <intent>`, #318) instead of being an anonymous
646
+ // blob. Composition stays DEFERRED (#319): deliver and the deliverable floor fold
647
+ // into one def and one registration below, never two armed ids.
648
+ composed = composeDeliverWorkflow(composed, input.sessionId, input.problem);
649
+ }
650
+ }
651
+ if (composed !== null && composed.id !== input.workflow) {
652
+ await this._armPerRunWorkflow(composed);
653
+ workflowId = composed.id;
654
+ }
655
+ opts.workflow = workflowId;
656
+ if (workflowId === input.workflow) {
657
+ // Ensure DROP-IN workflow definitions are present in the Rust overlay dir on first use.
658
+ // Uses a dedicated helper (not registerWorkflow) to avoid adding built-ins to userWorkflows,
659
+ // which would duplicate them in listWorkflows(). The write is skipped after the first call
660
+ // per process lifetime.
661
+ //
662
+ // Ids core seeds itself are excluded: writing them shadows the real def with this stale
663
+ // mirror — see CORE_SEEDED_WORKFLOWS. Core resolves those from its own registry, so there is
664
+ // nothing to write and never was.
665
+ //
666
+ // Skipped entirely on the per-run deliver path above (workflowId !== input.workflow):
667
+ // the composed def carries the base's full phase list, so the run resolves its own
668
+ // registration and the base drop-in is not consulted.
669
+ const builtinDef = CORE_SEEDED_WORKFLOWS.has(input.workflow)
670
+ ? undefined
671
+ : BUILTIN_WORKFLOWS.find((w) => w.id === input.workflow);
672
+ if (builtinDef && !this._builtinOverlayWritten.has(input.workflow)) {
673
+ // Mark before await so concurrent launchRun() calls for the same builtin
674
+ // don't both pass the has() check and race to write the same file.
675
+ this._builtinOverlayWritten.add(input.workflow);
676
+ await this._writeBuiltinOverlay(builtinDef);
677
+ }
678
+ }
679
+ }
680
+ else if (input.deliver === 'pr') {
681
+ // Fail loud, not silent: dropping the option would run to completion with the caller
682
+ // believing a PR opens at the end — the exact operator gap crew#293 closes.
683
+ throw new Error('deliver: "pr" requires a workflow — a free-text run has no def to append the deliver phase to');
684
+ }
685
+ else if ((input.requireDeliverables ?? []).length > 0) {
686
+ // Same rule for the floor (Copilot, #319): a caller that declares what a run MUST produce
687
+ // and gets no enforcement is worse off than one that never declared it — it would watch a
688
+ // free-text run complete and believe the artifacts were re-derived. There is no def to
689
+ // append the floor phase to, so refuse the launch instead of silently ignoring the option.
690
+ throw new Error('requireDeliverables requires a workflow — a free-text run has no def to append the ' +
691
+ 'deliverable floor to');
567
692
  }
568
693
  return this.core.launchRun(opts);
569
694
  }
@@ -1118,6 +1243,32 @@ export class CoreAdapter {
1118
1243
  // regression FINDING-084's first attempted fix caused.
1119
1244
  await writeFile(join(dir, `${def.id}.json`), JSON.stringify(overlayDef, null, 2), 'utf8');
1120
1245
  }
1246
+ /**
1247
+ * Arm a PER-RUN composed workflow def (crew#293 deliver, crew#311 deliverable floor) with the
1248
+ * engine — hot registration
1249
+ * ONLY. Deliberately neither of the other two paths:
1250
+ * - not `registerWorkflow()`: the composed def must not enter `userWorkflows` or the overlay
1251
+ * dir — it is launch input for one run, and persisting it would grow the catalog and the
1252
+ * overlay dir by one entry per delivered run;
1253
+ * - not `_writeBuiltinOverlay()`: same reason, no file.
1254
+ * The engine's `registerWorkflow` binding validates the def server-side and makes it visible
1255
+ * to the next `launchRun` with no restart — exactly the lifetime a per-run def needs. (The
1256
+ * def is consumed at PLANNING time; a later daemon restart resumes the run from its persisted
1257
+ * units, so the in-memory registration expiring with the process is fine.)
1258
+ */
1259
+ async _armPerRunWorkflow(def) {
1260
+ const core = this.core;
1261
+ const register = core['registerWorkflow'];
1262
+ if (typeof register !== 'function') {
1263
+ // Same doctrine as registerWorkflow(): no validator ⇒ refuse loudly. Silently launching
1264
+ // the BASE workflow instead would drop the delivery the caller explicitly asked for —
1265
+ // and, for crew#311, would drop the deliverable floor, launching a run that can once
1266
+ // again report done over an artifact that was never written.
1267
+ throw new Error('deliver: "pr" / requireDeliverables need a wicked-core build with the registerWorkflow ' +
1268
+ 'binding — the per-run workflow cannot be armed');
1269
+ }
1270
+ await register.call(this.core, JSON.stringify(def));
1271
+ }
1121
1272
  /**
1122
1273
  * Register a user-authored workflow: persist to the Rust workflow overlay dir
1123
1274
  * (`~/.config/wicked-core/workflows/<id>.json` or `$WICKED_WORKFLOWS_DIR`),
@@ -1220,6 +1371,16 @@ export class CoreAdapter {
1220
1371
  if (typeof v !== 'number' || !Number.isInteger(v) || v < 1 || v > 10000)
1221
1372
  delete parsed.graphNodeLimit;
1222
1373
  }
1374
+ // workerStallMinutes (crew#287): positive minutes; a hand-edited zero/negative/NaN would
1375
+ // make the stall watchdog fire on every sweep, so drop it and fall back to the default.
1376
+ if ('workerStallMinutes' in parsed) {
1377
+ // Same bounds the PUT /settings route enforces (integer, 1..1440) — a hand-edited
1378
+ // settings.json must not enable values the API rejects (Copilot on #301).
1379
+ const v = parsed.workerStallMinutes;
1380
+ if (typeof v !== 'number' || !Number.isInteger(v) || v < 1 || v > 1440) {
1381
+ delete parsed.workerStallMinutes;
1382
+ }
1383
+ }
1223
1384
  // worker_config_root (seat sign-in): absolute path or "" (= engine default). A hand-edited
1224
1385
  // relative path is dropped rather than exported as WICKED_WORKER_HOME, where the engine
1225
1386
  // would resolve it against an arbitrary spawn cwd.
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/core/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/core/adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,134 @@
1
+ /**
2
+ * ACP bridge child reaper — bridges must die with the daemon (crew#285).
3
+ *
4
+ * # The defect
5
+ *
6
+ * The engine spawns ACP bridge binaries as direct OS children of this daemon process,
7
+ * and the only kill handles for them live in the engine's in-memory registry. When the
8
+ * daemon dies — pkill during a restart, an operator's Ctrl-C, a plain `process.exit` —
9
+ * that registry dies with it and nothing reaps the bridges: they linger detached until
10
+ * their own session-idle logic (if any) gets around to exiting. Operators observed
11
+ * three `claude-agent-acp` processes coexisting while exactly one unit was executing.
12
+ *
13
+ * Same defect family as crew#277's cancel-orphans, but for daemon death rather than
14
+ * run cancellation.
15
+ *
16
+ * # The fix, in two halves
17
+ *
18
+ * 1. THIS MODULE (daemon side): a central registry of bridge child pids plus an OS
19
+ * process-table sweep, wired into the daemon's shutdown path. On SIGTERM/SIGINT the
20
+ * daemon SIGTERMs every bridge child, waits a short grace for them to exit, then
21
+ * SIGKILLs survivors. On plain `exit` (where no async work is possible) it fires a
22
+ * synchronous best-effort SIGTERM sweep.
23
+ *
24
+ * `register()` exists for any JS-side spawn site (and for tests); the engine-spawned
25
+ * bridges are found by `discoverBridgeChildren()` — a scan of the OS process table
26
+ * for DIRECT children of this daemon whose command line names a bridge binary. The
27
+ * direct-child restriction is the safety rail: another daemon's bridges have a
28
+ * different parent pid and are never touched.
29
+ *
30
+ * 2. `packages/agent-acp-bridges` (bridge side): the bridge treats stdin EOF as the
31
+ * portable parent-death signal and reaps its own CLI child instead of lingering
32
+ * until the CLI finishes. See `bridge.mjs`. That half covers our own bridges even
33
+ * when the daemon dies too hard (SIGKILL) for this module to run at all.
34
+ *
35
+ * # Why a process-table sweep rather than tracked pids alone
36
+ *
37
+ * The spawn happens inside the engine (the native actor thread), which reports no pid
38
+ * back to JS — there is nothing for the daemon to `register()`. The bridges ARE this
39
+ * process's direct children though, and their command lines name the bridge binaries
40
+ * (npm `.bin` shims exec `node .../<bridge-name>/...`), so a ppid-filtered scan
41
+ * recovers exactly the set the in-memory kill handles would have covered. The sweep
42
+ * fails OPEN (returns nothing) when the platform tooling is unavailable: a shutdown
43
+ * that cannot enumerate children must still shut down.
44
+ */
45
+ /**
46
+ * The bridge binaries the engine spawns by bare name on PATH. Mirrors the set audited
47
+ * by `bridge-names.test.ts` (declared dependencies of this package + the shims a real
48
+ * install produces); `bridge-reaper.test.ts` cross-checks this list against those same
49
+ * dependency manifests so a bridge added or dropped there cannot silently drift here.
50
+ */
51
+ export declare const BRIDGE_BINS: readonly string[];
52
+ /** How long a SIGTERM'd bridge gets to exit before the SIGKILL escalation. */
53
+ export declare const BRIDGE_KILL_GRACE_MS = 2000;
54
+ export declare function parseBridgeChildren(listing: string, parentPid: number): number[];
55
+ /**
56
+ * Pids of every live bridge process that is a direct child of `parentPid`. Fails open:
57
+ * an unreadable process table yields `[]`, never a throw — shutdown must proceed.
58
+ */
59
+ export declare function discoverBridgeChildren(parentPid?: number): number[];
60
+ /**
61
+ * Pids of bridge processes ORPHANED by a previous daemon generation: reparented to
62
+ * init (ppid 1). Deliberately conservative — a bridge owned by another LIVE daemon
63
+ * still has that daemon as its parent and is never matched, so a boot sweep cannot
64
+ * shoot a neighbour's workers (#285, Copilot review: shutdown-only reaping leaves
65
+ * pre-existing orphans alive forever).
66
+ */
67
+ export declare function parseOrphanedBridges(listing: string): number[];
68
+ /**
69
+ * Boot-time sweep: SIGTERM orphaned bridges from a prior daemon generation — ppid 1
70
+ * AND cwd inside a run worktree, so user-started bridges are never matched.
71
+ */
72
+ export declare function reapOrphansAtBoot(io?: BridgeReaperIo): number[];
73
+ /** Injectable seams so the reaper is testable without signalling real bridges. */
74
+ export interface BridgeReaperIo {
75
+ /** Signal sender; must throw like `process.kill` (ESRCH when the pid is gone). */
76
+ kill?: (pid: number, signal: NodeJS.Signals | 0) => void;
77
+ /** Bridge-child discovery; defaults to the process-table sweep above. */
78
+ discover?: (parentPid: number) => number[];
79
+ /** Boot-sweep worktree-cwd discriminator; injectable so tests avoid real lsof. */
80
+ cwdInWorktree?: (pid: number) => boolean;
81
+ sleep?: (ms: number) => Promise<void>;
82
+ graceMs?: number;
83
+ }
84
+ /** What `shutdown()` did, for logs and assertions. */
85
+ export interface ReapReport {
86
+ /** Pids that exited within the grace window after SIGTERM. */
87
+ terminated: number[];
88
+ /** Pids that ignored SIGTERM and were SIGKILLed. */
89
+ killed: number[];
90
+ /** Pids whose SIGKILL could not be delivered (e.g. EPERM) — still possibly alive. */
91
+ undeliverable?: number[];
92
+ }
93
+ /**
94
+ * The central bridge-child registry plus the shutdown path that empties it.
95
+ *
96
+ * A single instance (`bridgeReaper`) is wired into the daemon's shutdown handlers;
97
+ * tests construct their own with fake IO.
98
+ */
99
+ export declare class BridgeReaper {
100
+ private readonly tracked;
101
+ private readonly io;
102
+ constructor(io?: BridgeReaperIo);
103
+ /** Track a bridge child pid. Invalid pids (spawn failures yield `undefined`) are ignored. */
104
+ register(pid: number | undefined): void;
105
+ /** Stop tracking a pid — call when the child's `close`/`exit` is observed. */
106
+ unregister(pid: number): void;
107
+ /** Currently tracked pids (registered only; discovery happens at kill time). */
108
+ pids(): number[];
109
+ /**
110
+ * Deliver `signal`. For the signal-0 liveness probe, EPERM means "alive but not
111
+ * ours" and counts as existing; for real signals EPERM means the kill was NOT
112
+ * delivered and must not be reported as success (Copilot review on #300).
113
+ */
114
+ private signal;
115
+ /** Registered pids ∪ discovered direct-child bridges, deduplicated. */
116
+ private targets;
117
+ /**
118
+ * Graceful reap: SIGTERM every target, poll liveness for the grace window, SIGKILL
119
+ * survivors. Idempotent — dead pids are skipped, and the registry is cleared so a
120
+ * second invocation (the `exit` sweep after a signal-path shutdown) finds nothing
121
+ * registered and only re-discovers what actually still lives.
122
+ */
123
+ shutdown(): Promise<ReapReport>;
124
+ /**
125
+ * Synchronous best-effort sweep for the `exit` event, where no async work (and so no
126
+ * grace window) is possible. SIGTERM only — a synchronous SIGKILL would deny a bridge
127
+ * the chance to reap ITS child CLI, recreating the orphan problem one level down.
128
+ * The bridges' own stdin-EOF watchdog is the backstop for anything that ignores this.
129
+ */
130
+ sweepSync(): void;
131
+ }
132
+ /** The daemon-wide reaper the CLI wires into its shutdown handlers. */
133
+ export declare const bridgeReaper: BridgeReaper;
134
+ //# sourceMappingURL=bridge-reaper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bridge-reaper.d.ts","sourceRoot":"","sources":["../../src/core/bridge-reaper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAIH;;;;;GAKG;AACH,eAAO,MAAM,WAAW,EAAE,SAAS,MAAM,EAKxC,CAAC;AAEF,8EAA8E;AAC9E,eAAO,MAAM,oBAAoB,OAAO,CAAC;AAwBzC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAehF;AA8BD;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,GAAE,MAAoB,GAAG,MAAM,EAAE,CAGhF;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAY9D;AAwBD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,GAAE,cAAmB,GAAG,MAAM,EAAE,CAgBnE;AAED,kFAAkF;AAClF,MAAM,WAAW,cAAc;IAC7B,kFAAkF;IAClF,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,CAAC,KAAK,IAAI,CAAC;IACzD,yEAAyE;IACzE,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;IAC3C,kFAAkF;IAClF,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IACzC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAID,sDAAsD;AACtD,MAAM,WAAW,UAAU;IACzB,8DAA8D;IAC9D,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,oDAAoD;IACpD,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,qFAAqF;IACrF,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED;;;;;GAKG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAC7C,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAiB;gBAExB,EAAE,GAAE,cAAmB;IAInC,6FAA6F;IAC7F,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAIvC,8EAA8E;IAC9E,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI7B,gFAAgF;IAChF,IAAI,IAAI,MAAM,EAAE;IAIhB;;;;OAIG;IACH,OAAO,CAAC,MAAM;IAUd,uEAAuE;IACvE,OAAO,CAAC,OAAO;IAMf;;;;;OAKG;IACG,QAAQ,IAAI,OAAO,CAAC,UAAU,CAAC;IAuBrC;;;;;OAKG;IACH,SAAS,IAAI,IAAI;CAIlB;AAED,uEAAuE;AACvE,eAAO,MAAM,YAAY,cAAqB,CAAC"}