@telora/daemon 0.23.18 → 0.23.22

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 (87) hide show
  1. package/build-info.json +2 -2
  2. package/dist/ci/ci-sensor-loop.d.ts +24 -12
  3. package/dist/ci/ci-sensor-loop.d.ts.map +1 -1
  4. package/dist/ci/ci-sensor-loop.js +20 -16
  5. package/dist/ci/ci-sensor-loop.js.map +1 -1
  6. package/dist/ci/ci-status.d.ts.map +1 -1
  7. package/dist/ci/ci-status.js +1 -0
  8. package/dist/ci/ci-status.js.map +1 -1
  9. package/dist/ci/product-ci-repo.d.ts +44 -0
  10. package/dist/ci/product-ci-repo.d.ts.map +1 -0
  11. package/dist/ci/product-ci-repo.js +104 -0
  12. package/dist/ci/product-ci-repo.js.map +1 -0
  13. package/dist/composition/execution-ci-context.d.ts.map +1 -1
  14. package/dist/composition/execution-ci-context.js +4 -1
  15. package/dist/composition/execution-ci-context.js.map +1 -1
  16. package/dist/composition/execution-merge-context.d.ts.map +1 -1
  17. package/dist/composition/execution-merge-context.js +4 -1
  18. package/dist/composition/execution-merge-context.js.map +1 -1
  19. package/dist/composition/focus-activity-live-sources.d.ts.map +1 -1
  20. package/dist/composition/focus-activity-live-sources.js +13 -1
  21. package/dist/composition/focus-activity-live-sources.js.map +1 -1
  22. package/dist/composition/team-liveness-phase-sources.d.ts.map +1 -1
  23. package/dist/composition/team-liveness-phase-sources.js +1 -0
  24. package/dist/composition/team-liveness-phase-sources.js.map +1 -1
  25. package/dist/composition/verify-probe-context.js +1 -1
  26. package/dist/composition/verify-probe-context.js.map +1 -1
  27. package/dist/daemon-state/focus-progress-clock.d.ts.map +1 -1
  28. package/dist/daemon-state/focus-progress-clock.js +1 -0
  29. package/dist/daemon-state/focus-progress-clock.js.map +1 -1
  30. package/dist/focus/focus-activity-completion-merge.d.ts +25 -0
  31. package/dist/focus/focus-activity-completion-merge.d.ts.map +1 -0
  32. package/dist/focus/focus-activity-completion-merge.js +43 -0
  33. package/dist/focus/focus-activity-completion-merge.js.map +1 -0
  34. package/dist/focus/focus-activity-poll-facts.d.ts.map +1 -1
  35. package/dist/focus/focus-activity-poll-facts.js +1 -0
  36. package/dist/focus/focus-activity-poll-facts.js.map +1 -1
  37. package/dist/focus/focus-activity-record.d.ts +5 -4
  38. package/dist/focus/focus-activity-record.d.ts.map +1 -1
  39. package/dist/focus/focus-activity-record.js +10 -6
  40. package/dist/focus/focus-activity-record.js.map +1 -1
  41. package/dist/focus/focus-activity-sources.d.ts +12 -0
  42. package/dist/focus/focus-activity-sources.d.ts.map +1 -1
  43. package/dist/focus/focus-activity-sources.js +2 -1
  44. package/dist/focus/focus-activity-sources.js.map +1 -1
  45. package/dist/focus/heartbeat.d.ts.map +1 -1
  46. package/dist/focus/heartbeat.js +1 -0
  47. package/dist/focus/heartbeat.js.map +1 -1
  48. package/dist/merge/candidate-rework.d.ts +9 -2
  49. package/dist/merge/candidate-rework.d.ts.map +1 -1
  50. package/dist/merge/candidate-rework.js +15 -7
  51. package/dist/merge/candidate-rework.js.map +1 -1
  52. package/dist/merge/completion-hold-record.d.ts +6 -0
  53. package/dist/merge/completion-hold-record.d.ts.map +1 -1
  54. package/dist/merge/completion-hold-record.js +15 -2
  55. package/dist/merge/completion-hold-record.js.map +1 -1
  56. package/dist/merge/completion-judge.d.ts.map +1 -1
  57. package/dist/merge/completion-judge.js +2 -1
  58. package/dist/merge/completion-judge.js.map +1 -1
  59. package/dist/merge/completion-merge-activity.d.ts +88 -0
  60. package/dist/merge/completion-merge-activity.d.ts.map +1 -0
  61. package/dist/merge/completion-merge-activity.js +85 -0
  62. package/dist/merge/completion-merge-activity.js.map +1 -0
  63. package/dist/merge/completion-merge-driver.d.ts.map +1 -1
  64. package/dist/merge/completion-merge-driver.js +4 -1
  65. package/dist/merge/completion-merge-driver.js.map +1 -1
  66. package/dist/merge/completion-merge-gate.d.ts +2 -0
  67. package/dist/merge/completion-merge-gate.d.ts.map +1 -1
  68. package/dist/merge/completion-merge-gate.js +18 -10
  69. package/dist/merge/completion-merge-gate.js.map +1 -1
  70. package/dist/merge/merge-back-loop.d.ts +5 -0
  71. package/dist/merge/merge-back-loop.d.ts.map +1 -1
  72. package/dist/merge/merge-back-loop.js +27 -11
  73. package/dist/merge/merge-back-loop.js.map +1 -1
  74. package/dist/queries/sessions/daemon-connection.d.ts.map +1 -1
  75. package/dist/queries/sessions/daemon-connection.js +2 -1
  76. package/dist/queries/sessions/daemon-connection.js.map +1 -1
  77. package/dist/testing/fixtures/completion-judge-stubs.d.ts.map +1 -1
  78. package/dist/testing/fixtures/completion-judge-stubs.js +2 -0
  79. package/dist/testing/fixtures/completion-judge-stubs.js.map +1 -1
  80. package/dist/testing/fixtures/index.js +1 -1
  81. package/dist/testing/fixtures/recording-api-client.js +1 -1
  82. package/dist/types/index.js +1 -1
  83. package/dist/verify/install-probe/install-probe.d.ts +37 -8
  84. package/dist/verify/install-probe/install-probe.d.ts.map +1 -1
  85. package/dist/verify/install-probe/install-probe.js +190 -11
  86. package/dist/verify/install-probe/install-probe.js.map +1 -1
  87. package/package.json +3 -3
@@ -27,6 +27,11 @@
27
27
  * threshold, counted from its first hold. A branch ahead of integration while
28
28
  * its focus codes is normal under completion-only merging and files nothing.
29
29
  *
30
+ * Every completion-merge decision a tick reaches for a complete focus is recorded
31
+ * for the focus activity record (merge/completion-merge-activity.ts) and
32
+ * forgotten when the hold ends -- merged, no longer complete, or out of the scan
33
+ * -- so the dashboard shows the step a complete focus's merge stands at.
34
+ *
30
35
  * @module merge-back-loop
31
36
  */
32
37
  import type { DaemonConfig, FocusDeliveryInfo, PipelineConfig } from '../types/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"merge-back-loop.d.ts","sourceRoot":"","sources":["../../src/merge/merge-back-loop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"merge-back-loop.d.ts","sourceRoot":"","sources":["../../src/merge/merge-back-loop.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  // PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
2
2
  // Pinned by: packages/daemon/src/completion/team-exit/teardown-merge-gate.test.ts,
3
+ // packages/daemon/src/focus/focus-activity-completion-merge.test.ts,
4
+ // packages/daemon/src/focus/heartbeat-completion-merge.test.ts,
3
5
  // packages/daemon/src/integration/merge-back-resolver-timeout-regression.test.ts,
4
6
  // packages/daemon/src/merge/merge-back-held-completion-scan.test.ts,
5
7
  // packages/daemon/src/merge/merge-back-loop.test.ts,
@@ -9,6 +11,7 @@ import { branchHasUnmergedCommits } from '../worktree/index.js';
9
11
  import { configForProduct } from '../config/config.js';
10
12
  import { focusCompletionHold } from './completion-merge-gate.js';
11
13
  import { driveCompletionMergeStep } from './completion-merge-driver.js';
14
+ import { endCompletionMerge, recordCompletionMergeDecision, retainCompletionMerges } from './completion-merge-activity.js';
12
15
  import { getActiveFocuses } from '../queries/focuses/focus-discovery.js';
13
16
  import { focusBlockageCauseKey } from '../queries/escalations/cause-key.js';
14
17
  import { classifyMergeFailure } from './merge-failure-classify.js';
@@ -296,11 +299,28 @@ function summarizeAttempts(state) {
296
299
  */
297
300
  export function completionHeldSince(info, deliveries, now, hold) {
298
301
  if (deliveries.length === 0 || focusCompletionHold(deliveries) !== null) {
299
- hold.clear(info.productId, info.focusId);
302
+ endCompletionMerge(info, hold);
300
303
  return null;
301
304
  }
302
305
  return hold.stamp(info.productId, info.focusId, now);
303
306
  }
307
+ /**
308
+ * The focus branches ahead of integration (null when they cannot be listed).
309
+ * A focus whose branch is no longer in the scan has no completion merge under
310
+ * way here -- another entry point merged it, or it left view -- so its published
311
+ * completion merge is forgotten.
312
+ */
313
+ async function enumerateBranches(config, deps) {
314
+ try {
315
+ const branches = await deps.enumerateFocusBranchesAhead(config);
316
+ retainCompletionMerges(new Set(branches.map((b) => b.focusId)));
317
+ return branches;
318
+ }
319
+ catch (err) {
320
+ log.warn('enumerate failed:', err.message);
321
+ return null;
322
+ }
323
+ }
304
324
  /**
305
325
  * Decide whether to file a stuck-branch escalation for this branch.
306
326
  *
@@ -503,7 +523,7 @@ async function holdOnCompletionGate(config, info, gate, heldSinceMs, thresholdMs
503
523
  if (gate.incomplete) {
504
524
  // The gate re-read the deliveries and the focus is not complete (it re-opened
505
525
  // since this tick's snapshot): the snapshot's hold is stale -- end it, file nothing.
506
- deps.completionHold.clear(info.productId, info.focusId);
526
+ endCompletionMerge(info, deps.completionHold);
507
527
  return;
508
528
  }
509
529
  if (gate.next && gate.headSha) {
@@ -512,7 +532,7 @@ async function holdOnCompletionGate(config, info, gate, heldSinceMs, thresholdMs
512
532
  if (step.reworked) {
513
533
  // The step returned the focus to coding: it is no longer complete, so its
514
534
  // hold is over -- the pre-step snapshot must not file it as stuck.
515
- deps.completionHold.clear(info.productId, info.focusId);
535
+ endCompletionMerge(info, deps.completionHold);
516
536
  return;
517
537
  }
518
538
  }
@@ -529,14 +549,9 @@ export async function runMergeBackTick(config, deps) {
529
549
  const counts = { scanned: 0, merged: 0, skipped: 0, conflicts: 0 };
530
550
  const thresholdMs = readStuckBranchThresholdMs();
531
551
  const signalMs = readDeterministicSignalMs();
532
- let branches;
533
- try {
534
- branches = await deps.enumerateFocusBranchesAhead(config);
535
- }
536
- catch (err) {
537
- log.warn('enumerate failed:', err.message);
552
+ const branches = await enumerateBranches(config, deps);
553
+ if (branches === null)
538
554
  return counts;
539
- }
540
555
  // Pull pending escalations once per tick — used for both conflict-skip and
541
556
  // stuck-branch dedup checks. Empty list on error so the tick continues.
542
557
  let pending;
@@ -643,6 +658,7 @@ export async function runMergeBackTick(config, deps) {
643
658
  // the one driver of those steps (merge/completion-merge-driver.ts).
644
659
  const target = { organizationId: info.organizationId, productId: info.productId, focusId: info.focusId, branchName: info.branchName, integrationBranch: config.integrationBranch, repoPath: info.repoPath };
645
660
  const gate = await deps.readMergeGate(target);
661
+ recordCompletionMergeDecision(info, gate, heldSince);
646
662
  if (gate.hold !== null) {
647
663
  counts.skipped += 1;
648
664
  await holdOnCompletionGate(config, info, gate, heldSince, thresholdMs, now, deps);
@@ -669,7 +685,7 @@ export async function runMergeBackTick(config, deps) {
669
685
  if (mergeResult.mergeSucceeded) {
670
686
  counts.merged += 1;
671
687
  recordSuccess(info, config.integrationBranch, gate.admittedBy, now);
672
- deps.completionHold.clear(info.productId, info.focusId);
688
+ endCompletionMerge(info, deps.completionHold);
673
689
  await resolveStuckBranchEscalations(info, pending, deps);
674
690
  }
675
691
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"merge-back-loop.js","sourceRoot":"","sources":["../../src/merge/merge-back-loop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"merge-back-loop.js","sourceRoot":"","sources":["../../src/merge/merge-back-loop.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"daemon-connection.d.ts","sourceRoot":"","sources":["../../../src/queries/sessions/daemon-connection.ts"],"names":[],"mappings":"AAeA;;;;;;;;;GASG;AACH,MAAM,WAAW,iBAAiB;IAChC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,kFAAkF;IAClF,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,sDAAsD;IACtD,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE;IACR,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,EACD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,OAAO,CAAC,iBAAiB,CAAC,CAW5B;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAI/D;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAChC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAKnD"}
1
+ {"version":3,"file":"daemon-connection.d.ts","sourceRoot":"","sources":["../../../src/queries/sessions/daemon-connection.ts"],"names":[],"mappings":"AAgBA;;;;;;;;;GASG;AACH,MAAM,WAAW,iBAAiB;IAChC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,kFAAkF;IAClF,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,sDAAsD;IACtD,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE;IACR,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,EACD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,OAAO,CAAC,iBAAiB,CAAC,CAW5B;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAI/D;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAChC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAKnD"}
@@ -1,5 +1,6 @@
1
1
  // PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
2
- // Pinned by: packages/daemon/src/focus/heartbeat-draining-status.test.ts,
2
+ // Pinned by: packages/daemon/src/focus/heartbeat-completion-merge.test.ts,
3
+ // packages/daemon/src/focus/heartbeat-draining-status.test.ts,
3
4
  // packages/daemon/src/focus/heartbeat-focus-activity.test.ts,
4
5
  // packages/daemon/src/focus/heartbeat-migration-held-set.test.ts,
5
6
  // packages/daemon/src/focus/heartbeat-shutdown-guard.test.ts,
@@ -1 +1 @@
1
- {"version":3,"file":"daemon-connection.js","sourceRoot":"","sources":["../../../src/queries/sessions/daemon-connection.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,0EAA0E;AAC1E,gEAAgE;AAChE,oEAAoE;AACpE,gEAAgE;AAChE,sEAAsE;AACtE,sEAAsE;AACtE,gBAAgB;AAEhB;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAoBlD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,GAAW,EACX,QAAgB,EAChB,QAAgB,EAChB,aAAqB,EACrB,QA2BC,EACD,QAAkC;IAElC,OAAO,OAAO,CAAoB,kBAAkB,EAAE;QACpD,MAAM,EAAE;YACN,GAAG;YACH,QAAQ;YACR,QAAQ;YACR,aAAa;YACb,GAAG,QAAQ;YACX,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClC;KACF,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,GAAW;IAC9C,MAAM,OAAO,CAAC,mBAAmB,EAAE;QACjC,MAAM,EAAE,EAAE,GAAG,EAAE;KAChB,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,SAAiB,EACjB,QAAgB;IAEhB,OAAO,OAAO,CAA2C,sBAAsB,EAAE;QAC/E,SAAS;QACT,MAAM,EAAE,EAAE,cAAc,EAAE,QAAQ,EAAE;KACrC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"daemon-connection.js","sourceRoot":"","sources":["../../../src/queries/sessions/daemon-connection.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,2EAA2E;AAC3E,iEAAiE;AACjE,gEAAgE;AAChE,oEAAoE;AACpE,gEAAgE;AAChE,sEAAsE;AACtE,sEAAsE;AACtE,gBAAgB;AAEhB;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAoBlD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,GAAW,EACX,QAAgB,EAChB,QAAgB,EAChB,aAAqB,EACrB,QA2BC,EACD,QAAkC;IAElC,OAAO,OAAO,CAAoB,kBAAkB,EAAE;QACpD,MAAM,EAAE;YACN,GAAG;YACH,QAAQ;YACR,QAAQ;YACR,aAAa;YACb,GAAG,QAAQ;YACX,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClC;KACF,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,GAAW;IAC9C,MAAM,OAAO,CAAC,mBAAmB,EAAE;QACjC,MAAM,EAAE,EAAE,GAAG,EAAE;KAChB,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,SAAiB,EACjB,QAAgB;IAEhB,OAAO,OAAO,CAA2C,sBAAsB,EAAE;QAC/E,SAAS;QACT,MAAM,EAAE,EAAE,cAAc,EAAE,QAAQ,EAAE;KACrC,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"completion-judge-stubs.d.ts","sourceRoot":"","sources":["../../../src/testing/fixtures/completion-judge-stubs.ts"],"names":[],"mappings":"AAeA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AACxF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAEpF,+EAA+E;AAC/E,wBAAgB,gBAAgB,IAAI,IAAI,CAAC,uBAAuB,EAAE,wBAAwB,GAAG,0BAA0B,CAAC,CAKvH;AAED,6GAA6G;AAC7G,wBAAgB,qBAAqB,IAAI,IAAI,CAC3C,yBAAyB,EACzB,mBAAmB,GAAG,uBAAuB,GAAG,iBAAiB,GAAG,eAAe,GAAG,kBAAkB,CACzG,CAQA"}
1
+ {"version":3,"file":"completion-judge-stubs.d.ts","sourceRoot":"","sources":["../../../src/testing/fixtures/completion-judge-stubs.ts"],"names":[],"mappings":"AAiBA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AACxF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAEpF,+EAA+E;AAC/E,wBAAgB,gBAAgB,IAAI,IAAI,CAAC,uBAAuB,EAAE,wBAAwB,GAAG,0BAA0B,CAAC,CAKvH;AAED,6GAA6G;AAC7G,wBAAgB,qBAAqB,IAAI,IAAI,CAC3C,yBAAyB,EACzB,mBAAmB,GAAG,uBAAuB,GAAG,iBAAiB,GAAG,eAAe,GAAG,kBAAkB,CACzG,CAQA"}
@@ -1,6 +1,8 @@
1
1
  // PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
2
2
  // Pinned by: packages/daemon/src/completion/team-exit/teardown-merge-gate.test.ts,
3
3
  // packages/daemon/src/completion/team-teardown/mid-flight-merge-gate.test.ts,
4
+ // packages/daemon/src/focus/focus-activity-completion-merge.test.ts,
5
+ // packages/daemon/src/focus/heartbeat-completion-merge.test.ts,
4
6
  // packages/daemon/src/integration/merge-back-resolver-timeout-regression.test.ts,
5
7
  // packages/daemon/src/merge/candidate-rework.test.ts,
6
8
  // packages/daemon/src/merge/completion-conflict-rework.test.ts,
@@ -1 +1 @@
1
- {"version":3,"file":"completion-judge-stubs.js","sourceRoot":"","sources":["../../../src/testing/fixtures/completion-judge-stubs.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,mFAAmF;AACnF,gFAAgF;AAChF,oFAAoF;AACpF,wDAAwD;AACxD,kEAAkE;AAClE,+DAA+D;AAC/D,6DAA6D;AAC7D,+DAA+D;AAC/D,8GAA8G;AAC9G,oEAAoE;AACpE,sEAAsE;AACtE,6DAA6D;AAC7D,gBAAgB;AAchB,+EAA+E;AAC/E,MAAM,UAAU,gBAAgB;IAC9B,OAAO;QACL,sBAAsB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC9C,wBAAwB,EAAE,GAAG,EAAE,CAAC,SAAS;KAC1C,CAAC;AACJ,CAAC;AAED,6GAA6G;AAC7G,MAAM,UAAU,qBAAqB;IAInC,OAAO;QACL,iBAAiB,EAAE,GAAG,EAAE,CAAC,KAAK;QAC9B,qBAAqB,EAAE,GAAG,EAAE,GAAE,CAAC;QAC/B,eAAe,EAAE,GAAG,EAAE,CAAC,IAAI;QAC3B,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC1C,gBAAgB,EAAE,GAAG,EAAE,CAAC,IAAI;KAC7B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"completion-judge-stubs.js","sourceRoot":"","sources":["../../../src/testing/fixtures/completion-judge-stubs.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,mFAAmF;AACnF,gFAAgF;AAChF,uEAAuE;AACvE,kEAAkE;AAClE,oFAAoF;AACpF,wDAAwD;AACxD,kEAAkE;AAClE,+DAA+D;AAC/D,6DAA6D;AAC7D,+DAA+D;AAC/D,8GAA8G;AAC9G,oEAAoE;AACpE,sEAAsE;AACtE,6DAA6D;AAC7D,gBAAgB;AAchB,+EAA+E;AAC/E,MAAM,UAAU,gBAAgB;IAC9B,OAAO;QACL,sBAAsB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC9C,wBAAwB,EAAE,GAAG,EAAE,CAAC,SAAS;KAC1C,CAAC;AACJ,CAAC;AAED,6GAA6G;AAC7G,MAAM,UAAU,qBAAqB;IAInC,OAAO;QACL,iBAAiB,EAAE,GAAG,EAAE,CAAC,KAAK;QAC9B,qBAAqB,EAAE,GAAG,EAAE,GAAE,CAAC;QAC/B,eAAe,EAAE,GAAG,EAAE,CAAC,IAAI;QAC3B,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC1C,gBAAgB,EAAE,GAAG,EAAE,CAAC,IAAI;KAC7B,CAAC;AACJ,CAAC"}
@@ -1,5 +1,5 @@
1
1
  // PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
2
- // Pinned by: 328 tests -- run: npm run gen:pinned-by -- --list packages/daemon/src/testing/fixtures/index.ts
2
+ // Pinned by: 331 tests -- run: npm run gen:pinned-by -- --list packages/daemon/src/testing/fixtures/index.ts
3
3
  // PINNED-BY-END
4
4
  /**
5
5
  * Build an ActiveFocusRow (a getActiveFocuses row): an active, armed focus with
@@ -1,5 +1,5 @@
1
1
  // PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
2
- // Pinned by: 28 tests -- run: npm run gen:pinned-by -- --list packages/daemon/src/testing/fixtures/recording-api-client.ts
2
+ // Pinned by: 29 tests -- run: npm run gen:pinned-by -- --list packages/daemon/src/testing/fixtures/recording-api-client.ts
3
3
  // PINNED-BY-END
4
4
  /**
5
5
  * Test fixture: install a RECORDING fake product-api client -- every call is
@@ -1,5 +1,5 @@
1
1
  // PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
2
- // Pinned by: 262 tests -- run: npm run gen:pinned-by -- --list packages/daemon/src/types/index.ts
2
+ // Pinned by: 263 tests -- run: npm run gen:pinned-by -- --list packages/daemon/src/types/index.ts
3
3
  // PINNED-BY-END
4
4
  /**
5
5
  * Domain-specific type re-exports.
@@ -89,17 +89,46 @@ export interface InstallProbeRunner {
89
89
  */
90
90
  export declare function runInstallProbe(changedFiles: readonly string[], runner: InstallProbeRunner): Promise<InstallProbeResult>;
91
91
  /**
92
- * Build the real runner: `npm ci --dry-run` per package dir under `repoPath`, in
93
- * a CLEAN context -- an isolated npm cache (fresh temp dir) so a cached tarball
94
- * cannot mask an unpublished/unresolvable version, and no node_modules assist
95
- * (npm ci resolves from the lockfile + registry regardless of node_modules).
96
- * --dry-run means it resolves without mutating the tree. Combined stdout+stderr
97
- * is returned for the classifier; a spawn error / timeout surfaces as a non-zero
98
- * exit with the error text (classified as registry_unreachable = infra).
92
+ * The probe's npm argv. `--ignore-scripts`: npm's `ci` runs the root's install
93
+ * and prepare lifecycle scripts after reifying even under --dry-run (npm 10.8.2
94
+ * lib/commands/ci.js), and a script is not resolution -- in the source-less
95
+ * scratch tree it could only fail for a reason the registry did not give.
96
+ */
97
+ export declare const NPM_CI_DRY_RUN_ARGS: readonly string[];
98
+ /** Run `npm <args>` in `cwd` (the shape of {@link spawnNpm}, bound at the composition root). */
99
+ export type NpmSpawner = (cwd: string, args: string[], env: NodeJS.ProcessEnv, timeoutMs: number) => Promise<{
100
+ exitCode: number | null;
101
+ output: string;
102
+ }>;
103
+ /**
104
+ * Build the real runner: `npm ci --dry-run` for one package dir of the worktree
105
+ * at `repoPath`, in a CLEAN context -- an isolated npm cache (fresh temp dir) so
106
+ * a cached tarball cannot mask an unpublished/unresolvable version, and no
107
+ * node_modules assist.
108
+ *
109
+ * npm never runs in the worktree. --dry-run does NOT mean "resolves without
110
+ * mutating the tree": npm 9.2.0's `ci` empties <prefix>/node_modules before it
111
+ * looks at --dry-run (npm 10.8.2 guards it), which on a daemon host with that
112
+ * npm emptied a live team's install seconds after its delivery entered verify.
113
+ * So each call copies what npm reads before it reifies into a scratch tree
114
+ * ({@link scratchInstallFiles}), runs npm there at the package's own relative
115
+ * path -- so npm resolves the same install root it would in the worktree -- and
116
+ * removes the scratch tree afterwards, whatever npm did. The worktree is only
117
+ * read. Combined stdout+stderr is returned for the classifier; a spawn error /
118
+ * timeout surfaces as a non-zero exit with the error text (classified as
119
+ * registry_unreachable = infra), and a scratch tree that cannot be built throws
120
+ * (runInstallProbe records that as infra too).
99
121
  *
100
122
  * The isolated cache dir is created once per runner and reused across packages.
101
123
  */
102
- export declare function createNpmCiDryRunRunner(repoPath: string): InstallProbeRunner;
124
+ export declare function createNpmCiDryRunRunner(repoPath: string, runNpm: NpmSpawner): InstallProbeRunner;
125
+ /**
126
+ * The repo-relative files an `npm ci --dry-run` for `packageDir` reads before it
127
+ * reifies: its install root's manifest, lockfile and .npmrc, and the package.json
128
+ * of every workspace member and locked in-repo package. Only files present in
129
+ * the worktree are named. Sorted.
130
+ */
131
+ export declare function scratchInstallFiles(repoPath: string, packageDir: string): string[];
103
132
  /**
104
133
  * Run `npm <args>` in `cwd` and collect combined stdout+stderr. Never rejects: a
105
134
  * spawn error or a timeout resolves with a null exit and the error text (the
@@ -1 +1 @@
1
- {"version":3,"file":"install-probe.d.ts","sourceRoot":"","sources":["../../../src/verify/install-probe/install-probe.ts"],"names":[],"mappings":"AAgCA,OAAO,EAA0C,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAElG;;;;;;;;;;GAUG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,mBAAmB,GAAG,sBAAsB,CAAC;AAEjF,gCAAgC;AAChC,MAAM,WAAW,kBAAkB;IACjC,4DAA4D;IAC5D,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,YAAY,CAAC;IACtB,wEAAwE;IACxE,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;CAC/B;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,QAAQ,GAAG,cAAc,GAAG,SAAS,CAAC;AAE1E,6DAA6D;AAC7D,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,YAAY,CAAC;IACtB,QAAQ,EAAE,kBAAkB,EAAE,CAAC;IAC/B,iFAAiF;IACjF,QAAQ,EAAE,OAAO,CAAC;CACnB;AAID;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAmBlF;AAkBD;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,CAO1F;AAED,sFAAsF;AACtF,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC5E;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,eAAe,CACnC,YAAY,EAAE,SAAS,MAAM,EAAE,EAC/B,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,kBAAkB,CAAC,CAmD7B;AAKD;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB,CAa5E;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CACtB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CA4BtD"}
1
+ {"version":3,"file":"install-probe.d.ts","sourceRoot":"","sources":["../../../src/verify/install-probe/install-probe.ts"],"names":[],"mappings":"AAgCA,OAAO,EAA0C,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAElG;;;;;;;;;;GAUG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,mBAAmB,GAAG,sBAAsB,CAAC;AAEjF,gCAAgC;AAChC,MAAM,WAAW,kBAAkB;IACjC,4DAA4D;IAC5D,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,YAAY,CAAC;IACtB,wEAAwE;IACxE,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;CAC/B;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,QAAQ,GAAG,cAAc,GAAG,SAAS,CAAC;AAE1E,6DAA6D;AAC7D,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,YAAY,CAAC;IACtB,QAAQ,EAAE,kBAAkB,EAAE,CAAC;IAC/B,iFAAiF;IACjF,QAAQ,EAAE,OAAO,CAAC;CACnB;AAID;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAmBlF;AAkBD;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,CAO1F;AAED,sFAAsF;AACtF,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC5E;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,eAAe,CACnC,YAAY,EAAE,SAAS,MAAM,EAAE,EAC/B,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,kBAAkB,CAAC,CAmD7B;AAKD;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,EAAE,SAAS,MAAM,EAAuE,CAAC;AAEzH,gGAAgG;AAChG,MAAM,MAAM,UAAU,GAAG,CACvB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,SAAS,EAAE,MAAM,KACd,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAE1D;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,kBAAkB,CAmBhG;AAwHD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAQlF;AAsBD;;;;GAIG;AACH,wBAAgB,QAAQ,CACtB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CA4BtD"}
@@ -25,8 +25,8 @@
25
25
  * @module install-probe
26
26
  */
27
27
  import { spawn } from 'node:child_process';
28
- import { resolve } from 'node:path';
29
- import { mkdtempSync } from 'node:fs';
28
+ import { dirname, join, posix, resolve } from 'node:path';
29
+ import { copyFileSync, existsSync, mkdirSync, mkdtempSync, readdirSync, readFileSync, rmSync, statSync } from 'node:fs';
30
30
  import { tmpdir } from 'node:os';
31
31
  import { parseUnresolvedSpecs, formatUnresolved } from './npm-unresolved.js';
32
32
  const MANIFEST_BASENAMES = new Set(['package.json', 'package-lock.json']);
@@ -161,24 +161,203 @@ export async function runInstallProbe(changedFiles, runner) {
161
161
  /** Max wall-clock for one `npm ci --dry-run` before it is treated as unreachable. */
162
162
  const NPM_CI_DRY_RUN_TIMEOUT_MS = 3 * 60 * 1000;
163
163
  /**
164
- * Build the real runner: `npm ci --dry-run` per package dir under `repoPath`, in
165
- * a CLEAN context -- an isolated npm cache (fresh temp dir) so a cached tarball
166
- * cannot mask an unpublished/unresolvable version, and no node_modules assist
167
- * (npm ci resolves from the lockfile + registry regardless of node_modules).
168
- * --dry-run means it resolves without mutating the tree. Combined stdout+stderr
169
- * is returned for the classifier; a spawn error / timeout surfaces as a non-zero
170
- * exit with the error text (classified as registry_unreachable = infra).
164
+ * The probe's npm argv. `--ignore-scripts`: npm's `ci` runs the root's install
165
+ * and prepare lifecycle scripts after reifying even under --dry-run (npm 10.8.2
166
+ * lib/commands/ci.js), and a script is not resolution -- in the source-less
167
+ * scratch tree it could only fail for a reason the registry did not give.
168
+ */
169
+ export const NPM_CI_DRY_RUN_ARGS = ['ci', '--dry-run', '--ignore-scripts', '--no-audit', '--no-fund'];
170
+ /**
171
+ * Build the real runner: `npm ci --dry-run` for one package dir of the worktree
172
+ * at `repoPath`, in a CLEAN context -- an isolated npm cache (fresh temp dir) so
173
+ * a cached tarball cannot mask an unpublished/unresolvable version, and no
174
+ * node_modules assist.
175
+ *
176
+ * npm never runs in the worktree. --dry-run does NOT mean "resolves without
177
+ * mutating the tree": npm 9.2.0's `ci` empties <prefix>/node_modules before it
178
+ * looks at --dry-run (npm 10.8.2 guards it), which on a daemon host with that
179
+ * npm emptied a live team's install seconds after its delivery entered verify.
180
+ * So each call copies what npm reads before it reifies into a scratch tree
181
+ * ({@link scratchInstallFiles}), runs npm there at the package's own relative
182
+ * path -- so npm resolves the same install root it would in the worktree -- and
183
+ * removes the scratch tree afterwards, whatever npm did. The worktree is only
184
+ * read. Combined stdout+stderr is returned for the classifier; a spawn error /
185
+ * timeout surfaces as a non-zero exit with the error text (classified as
186
+ * registry_unreachable = infra), and a scratch tree that cannot be built throws
187
+ * (runInstallProbe records that as infra too).
171
188
  *
172
189
  * The isolated cache dir is created once per runner and reused across packages.
173
190
  */
174
- export function createNpmCiDryRunRunner(repoPath) {
191
+ export function createNpmCiDryRunRunner(repoPath, runNpm) {
175
192
  let cacheDir = null;
176
193
  const ensureCache = () => {
177
194
  if (cacheDir === null)
178
195
  cacheDir = mkdtempSync(resolve(tmpdir(), 'telora-install-probe-'));
179
196
  return cacheDir;
180
197
  };
181
- return (packageDir) => spawnNpm(packageDir === '.' ? repoPath : resolve(repoPath, packageDir), ['ci', '--dry-run', '--no-audit', '--no-fund'], { ...process.env, npm_config_cache: ensureCache(), npm_config_fund: 'false', npm_config_audit: 'false' }, NPM_CI_DRY_RUN_TIMEOUT_MS);
198
+ return async (packageDir) => {
199
+ const scratch = stageScratchTree(repoPath, packageDir);
200
+ try {
201
+ return await runNpm(packageDir === '.' ? scratch : join(scratch, packageDir), [...NPM_CI_DRY_RUN_ARGS], { ...process.env, npm_config_cache: ensureCache(), npm_config_fund: 'false', npm_config_audit: 'false' }, NPM_CI_DRY_RUN_TIMEOUT_MS);
202
+ }
203
+ finally {
204
+ rmSync(scratch, { recursive: true, force: true });
205
+ }
206
+ };
207
+ }
208
+ /**
209
+ * The files an install root contributes before npm reifies: its manifest, the
210
+ * lockfile npm ci requires (it prefers the shrinkwrap), and its project config.
211
+ */
212
+ const INSTALL_ROOT_FILES = ['package.json', 'npm-shrinkwrap.json', 'package-lock.json', '.npmrc'];
213
+ /** Directories a workspace glob never descends into. */
214
+ const NEVER_WORKSPACE_DIRS = new Set(['node_modules', '.git']);
215
+ /** `name` under repo-relative `dir` ('.' = the repo root). */
216
+ const relPath = (dir, name) => (dir === '.' ? name : `${dir}/${name}`);
217
+ const isFile = (path) => {
218
+ try {
219
+ return statSync(path).isFile();
220
+ }
221
+ catch {
222
+ return false;
223
+ }
224
+ };
225
+ /** A JSON object from `<repoPath>/<rel>`, or null when absent or not an object. */
226
+ function readJsonObject(repoPath, rel) {
227
+ try {
228
+ const parsed = JSON.parse(readFileSync(join(repoPath, rel), 'utf8'));
229
+ return parsed !== null && typeof parsed === 'object' && !Array.isArray(parsed) ? parsed : null;
230
+ }
231
+ catch {
232
+ return null;
233
+ }
234
+ }
235
+ /** A manifest's workspace globs (`workspaces: [...]` or `workspaces: { packages: [...] }`). */
236
+ function workspaceGlobs(manifest) {
237
+ const raw = manifest?.workspaces;
238
+ const globs = Array.isArray(raw) ? raw : (raw !== null && typeof raw === 'object' ? raw.packages : []);
239
+ return Array.isArray(globs) ? globs.filter((g) => typeof g === 'string') : [];
240
+ }
241
+ /** A workspace glob as an anchored regex over a root-relative dir (`*` one segment, `**` any depth). */
242
+ function globRegExp(glob) {
243
+ const body = glob.replace(/^\.\//, '').replace(/\/+$/, '').split('/')
244
+ .map((seg) => (seg === '**' ? '.*' : seg.replace(/[.+^${}()|[\]\\]/g, '\\$&').replace(/\*/g, '[^/]*').replace(/\?/g, '[^/]')))
245
+ .join('/');
246
+ return new RegExp(`^${body}$`);
247
+ }
248
+ /** Every directory under `<repoPath>/<root>`, root-relative, at most `maxDepth` deep. */
249
+ function directoriesUnder(repoPath, root, maxDepth) {
250
+ const found = [];
251
+ const walk = (rel, depth) => {
252
+ if (depth >= maxDepth)
253
+ return;
254
+ let entries;
255
+ try {
256
+ entries = readdirSync(join(repoPath, relPath(root, rel)), { withFileTypes: true });
257
+ }
258
+ catch {
259
+ return;
260
+ }
261
+ for (const entry of entries) {
262
+ if (!entry.isDirectory() || NEVER_WORKSPACE_DIRS.has(entry.name))
263
+ continue;
264
+ const child = rel === '' ? entry.name : `${rel}/${entry.name}`;
265
+ found.push(child);
266
+ walk(child, depth + 1);
267
+ }
268
+ };
269
+ walk('', 0);
270
+ return found;
271
+ }
272
+ /**
273
+ * The workspace members of install root `root`, repo-relative: the directories
274
+ * its globs match (a `!glob` excludes) that hold a package.json -- read from the
275
+ * worktree, so a member the delivery added but did not lock is still carried and
276
+ * npm judges the desync as it would in place.
277
+ */
278
+ function workspaceMembers(repoPath, root, globs) {
279
+ if (globs.length === 0)
280
+ return [];
281
+ const include = globs.filter((g) => !g.startsWith('!')).map(globRegExp);
282
+ const exclude = globs.filter((g) => g.startsWith('!')).map((g) => globRegExp(g.slice(1)));
283
+ const depth = globs.some((g) => g.split('/').includes('**'))
284
+ ? Number.POSITIVE_INFINITY
285
+ : Math.max(...globs.map((g) => g.replace(/^!/, '').replace(/^\.\//, '').replace(/\/+$/, '').split('/').length));
286
+ return directoriesUnder(repoPath, root, depth)
287
+ .filter((dir) => include.some((re) => re.test(dir)) && !exclude.some((re) => re.test(dir)))
288
+ .map((dir) => relPath(root, dir))
289
+ .filter((dir) => isFile(join(repoPath, dir, 'package.json')));
290
+ }
291
+ /**
292
+ * The in-repo packages `root`'s lockfile lists (workspace members and `file:`
293
+ * links -- its `packages` keys outside node_modules), repo-relative. A key that
294
+ * leaves the repo is not carried.
295
+ */
296
+ function lockedInRepoPackages(repoPath, root) {
297
+ const lock = readJsonObject(repoPath, relPath(root, 'npm-shrinkwrap.json')) ?? readJsonObject(repoPath, relPath(root, 'package-lock.json'));
298
+ const packages = lock?.packages;
299
+ if (packages === null || typeof packages !== 'object')
300
+ return [];
301
+ const dirs = [];
302
+ for (const key of Object.keys(packages)) {
303
+ if (key === '' || key.split('/').includes('node_modules'))
304
+ continue;
305
+ const dir = posix.normalize(relPath(root, key));
306
+ if (dir !== '..' && !dir.startsWith('../') && !posix.isAbsolute(dir))
307
+ dirs.push(dir);
308
+ }
309
+ return dirs;
310
+ }
311
+ /**
312
+ * The install root npm resolves `packageDir` against, as npm finds it: the
313
+ * nearest ancestor (within the repo) whose workspaces include `packageDir`,
314
+ * else `packageDir` itself. Returned with that root's workspace members.
315
+ */
316
+ function installRootOf(repoPath, packageDir) {
317
+ for (let dir = packageDir; dir !== '.';) {
318
+ const parent = posix.dirname(dir);
319
+ const members = workspaceMembers(repoPath, parent, workspaceGlobs(readJsonObject(repoPath, relPath(parent, 'package.json'))));
320
+ if (members.includes(packageDir))
321
+ return { root: parent, members };
322
+ dir = parent;
323
+ }
324
+ return { root: packageDir, members: workspaceMembers(repoPath, packageDir, workspaceGlobs(readJsonObject(repoPath, relPath(packageDir, 'package.json')))) };
325
+ }
326
+ /**
327
+ * The repo-relative files an `npm ci --dry-run` for `packageDir` reads before it
328
+ * reifies: its install root's manifest, lockfile and .npmrc, and the package.json
329
+ * of every workspace member and locked in-repo package. Only files present in
330
+ * the worktree are named. Sorted.
331
+ */
332
+ export function scratchInstallFiles(repoPath, packageDir) {
333
+ const { root, members } = installRootOf(repoPath, packageDir);
334
+ const packageDirs = [...members, ...lockedInRepoPackages(repoPath, root)];
335
+ const files = new Set([
336
+ ...INSTALL_ROOT_FILES.map((name) => relPath(root, name)),
337
+ ...packageDirs.map((dir) => relPath(dir, 'package.json')),
338
+ ]);
339
+ return [...files].filter((rel) => isFile(join(repoPath, rel))).sort();
340
+ }
341
+ /**
342
+ * A fresh temp dir holding copies of {@link scratchInstallFiles} at their
343
+ * repo-relative paths, plus `packageDir` itself when the worktree has it (npm's
344
+ * working directory). Removed again when a copy fails.
345
+ */
346
+ function stageScratchTree(repoPath, packageDir) {
347
+ const scratch = mkdtempSync(join(tmpdir(), 'telora-install-probe-tree-'));
348
+ try {
349
+ for (const rel of scratchInstallFiles(repoPath, packageDir)) {
350
+ mkdirSync(dirname(join(scratch, rel)), { recursive: true });
351
+ copyFileSync(join(repoPath, rel), join(scratch, rel));
352
+ }
353
+ if (packageDir !== '.' && existsSync(join(repoPath, packageDir)))
354
+ mkdirSync(join(scratch, packageDir), { recursive: true });
355
+ return scratch;
356
+ }
357
+ catch (err) {
358
+ rmSync(scratch, { recursive: true, force: true });
359
+ throw err;
360
+ }
182
361
  }
183
362
  /**
184
363
  * Run `npm <args>` in `cwd` and collect combined stdout+stderr. Never rejects: a