@telora/daemon 0.22.104 → 0.22.132

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 (482) hide show
  1. package/build-info.json +4 -3
  2. package/dist/completion/commit-verdict-release.d.ts +49 -0
  3. package/dist/completion/commit-verdict-release.d.ts.map +1 -0
  4. package/dist/completion/commit-verdict-release.js +240 -0
  5. package/dist/completion/commit-verdict-release.js.map +1 -0
  6. package/dist/completion/completion-phase-registry.d.ts +10 -4
  7. package/dist/completion/completion-phase-registry.d.ts.map +1 -1
  8. package/dist/completion/completion-phase-registry.js +19 -7
  9. package/dist/completion/completion-phase-registry.js.map +1 -1
  10. package/dist/completion/detector.d.ts.map +1 -1
  11. package/dist/completion/detector.js +1 -0
  12. package/dist/completion/detector.js.map +1 -1
  13. package/dist/completion/event-entry-phases.d.ts +6 -3
  14. package/dist/completion/event-entry-phases.d.ts.map +1 -1
  15. package/dist/completion/event-entry-phases.js +135 -76
  16. package/dist/completion/event-entry-phases.js.map +1 -1
  17. package/dist/completion/event-phases.d.ts +24 -3
  18. package/dist/completion/event-phases.d.ts.map +1 -1
  19. package/dist/completion/event-phases.js +9 -9
  20. package/dist/completion/event-phases.js.map +1 -1
  21. package/dist/completion/event.d.ts +8 -0
  22. package/dist/completion/event.d.ts.map +1 -1
  23. package/dist/completion/event.js +47 -21
  24. package/dist/completion/event.js.map +1 -1
  25. package/dist/completion/exit-classification.d.ts.map +1 -1
  26. package/dist/completion/exit-classification.js +1 -0
  27. package/dist/completion/exit-classification.js.map +1 -1
  28. package/dist/completion/merge-phase.d.ts +21 -9
  29. package/dist/completion/merge-phase.d.ts.map +1 -1
  30. package/dist/completion/merge-phase.js +35 -10
  31. package/dist/completion/merge-phase.js.map +1 -1
  32. package/dist/completion/review-auto-approval-record.d.ts +19 -0
  33. package/dist/completion/review-auto-approval-record.d.ts.map +1 -0
  34. package/dist/completion/review-auto-approval-record.js +102 -0
  35. package/dist/completion/review-auto-approval-record.js.map +1 -0
  36. package/dist/completion/review-cycle-cap.d.ts +62 -0
  37. package/dist/completion/review-cycle-cap.d.ts.map +1 -0
  38. package/dist/completion/review-cycle-cap.js +180 -0
  39. package/dist/completion/review-cycle-cap.js.map +1 -0
  40. package/dist/completion/review-exit-deps.d.ts +17 -2
  41. package/dist/completion/review-exit-deps.d.ts.map +1 -1
  42. package/dist/completion/review-exit-deps.js +19 -2
  43. package/dist/completion/review-exit-deps.js.map +1 -1
  44. package/dist/completion/review-exit-escalations.d.ts +45 -23
  45. package/dist/completion/review-exit-escalations.d.ts.map +1 -1
  46. package/dist/completion/review-exit-escalations.js +15 -74
  47. package/dist/completion/review-exit-escalations.js.map +1 -1
  48. package/dist/completion/review-exit-evidence.d.ts +9 -0
  49. package/dist/completion/review-exit-evidence.d.ts.map +1 -1
  50. package/dist/completion/review-exit-evidence.js +4 -1
  51. package/dist/completion/review-exit-evidence.js.map +1 -1
  52. package/dist/completion/review-exit-foreign-findings.d.ts +151 -0
  53. package/dist/completion/review-exit-foreign-findings.d.ts.map +1 -0
  54. package/dist/completion/review-exit-foreign-findings.js +474 -0
  55. package/dist/completion/review-exit-foreign-findings.js.map +1 -0
  56. package/dist/completion/review-exit-phase.d.ts.map +1 -1
  57. package/dist/completion/review-exit-phase.js +71 -64
  58. package/dist/completion/review-exit-phase.js.map +1 -1
  59. package/dist/completion/review-exit-progress.d.ts +20 -0
  60. package/dist/completion/review-exit-progress.d.ts.map +1 -1
  61. package/dist/completion/review-exit-progress.js +28 -19
  62. package/dist/completion/review-exit-progress.js.map +1 -1
  63. package/dist/completion/review-exit-rehoming.d.ts +5 -0
  64. package/dist/completion/review-exit-rehoming.d.ts.map +1 -1
  65. package/dist/completion/review-exit-rehoming.js.map +1 -1
  66. package/dist/completion/review-exit-verdict-gate.d.ts +202 -0
  67. package/dist/completion/review-exit-verdict-gate.d.ts.map +1 -0
  68. package/dist/completion/review-exit-verdict-gate.js +228 -0
  69. package/dist/completion/review-exit-verdict-gate.js.map +1 -0
  70. package/dist/completion/review-next-step.d.ts +62 -0
  71. package/dist/completion/review-next-step.d.ts.map +1 -0
  72. package/dist/completion/review-next-step.js +63 -0
  73. package/dist/completion/review-next-step.js.map +1 -0
  74. package/dist/completion/session-hold-sweep-deps.d.ts +17 -0
  75. package/dist/completion/session-hold-sweep-deps.d.ts.map +1 -0
  76. package/dist/completion/session-hold-sweep-deps.js +89 -0
  77. package/dist/completion/session-hold-sweep-deps.js.map +1 -0
  78. package/dist/completion/session-hold.d.ts +180 -0
  79. package/dist/completion/session-hold.d.ts.map +1 -0
  80. package/dist/completion/session-hold.js +238 -0
  81. package/dist/completion/session-hold.js.map +1 -0
  82. package/dist/completion/state-cascade.d.ts +19 -0
  83. package/dist/completion/state-cascade.d.ts.map +1 -1
  84. package/dist/completion/state-cascade.js +85 -31
  85. package/dist/completion/state-cascade.js.map +1 -1
  86. package/dist/completion/team-lifecycle.d.ts +35 -2
  87. package/dist/completion/team-lifecycle.d.ts.map +1 -1
  88. package/dist/completion/team-lifecycle.js +165 -94
  89. package/dist/completion/team-lifecycle.js.map +1 -1
  90. package/dist/completion/team-phase.d.ts +27 -15
  91. package/dist/completion/team-phase.d.ts.map +1 -1
  92. package/dist/completion/team-phase.js +34 -15
  93. package/dist/completion/team-phase.js.map +1 -1
  94. package/dist/delivery/commit-verdict-hold.d.ts +55 -0
  95. package/dist/delivery/commit-verdict-hold.d.ts.map +1 -0
  96. package/dist/delivery/commit-verdict-hold.js +118 -0
  97. package/dist/delivery/commit-verdict-hold.js.map +1 -0
  98. package/dist/directive/directive-dispatch.d.ts.map +1 -1
  99. package/dist/directive/directive-dispatch.js +10 -3
  100. package/dist/directive/directive-dispatch.js.map +1 -1
  101. package/dist/directive/directive-executor.d.ts.map +1 -1
  102. package/dist/directive/directive-executor.js +1 -0
  103. package/dist/directive/directive-executor.js.map +1 -1
  104. package/dist/directive/directive-queue.d.ts.map +1 -1
  105. package/dist/directive/directive-queue.js +6 -1
  106. package/dist/directive/directive-queue.js.map +1 -1
  107. package/dist/directive/phase-sync.d.ts +29 -2
  108. package/dist/directive/phase-sync.d.ts.map +1 -1
  109. package/dist/directive/phase-sync.js +30 -6
  110. package/dist/directive/phase-sync.js.map +1 -1
  111. package/dist/drift/artifact-ref-shape.d.ts +34 -0
  112. package/dist/drift/artifact-ref-shape.d.ts.map +1 -0
  113. package/dist/drift/artifact-ref-shape.js +94 -0
  114. package/dist/drift/artifact-ref-shape.js.map +1 -0
  115. package/dist/drift/drift-eval-loop.d.ts +7 -0
  116. package/dist/drift/drift-eval-loop.d.ts.map +1 -1
  117. package/dist/drift/drift-eval-loop.js +34 -5
  118. package/dist/drift/drift-eval-loop.js.map +1 -1
  119. package/dist/drift/drift-evaluator.d.ts.map +1 -1
  120. package/dist/drift/drift-evaluator.js +8 -3
  121. package/dist/drift/drift-evaluator.js.map +1 -1
  122. package/dist/focus/awaiting-slot.d.ts +34 -0
  123. package/dist/focus/awaiting-slot.d.ts.map +1 -0
  124. package/dist/focus/awaiting-slot.js +26 -0
  125. package/dist/focus/awaiting-slot.js.map +1 -0
  126. package/dist/focus/focus-lifecycle.js +2 -2
  127. package/dist/focus/focus-lifecycle.js.map +1 -1
  128. package/dist/focus/focus-phase.d.ts.map +1 -1
  129. package/dist/focus/focus-phase.js +3 -1
  130. package/dist/focus/focus-phase.js.map +1 -1
  131. package/dist/focus/focus-spawn-decision.d.ts +62 -0
  132. package/dist/focus/focus-spawn-decision.d.ts.map +1 -0
  133. package/dist/focus/focus-spawn-decision.js +41 -0
  134. package/dist/focus/focus-spawn-decision.js.map +1 -0
  135. package/dist/focus/focus-team-state.d.ts.map +1 -1
  136. package/dist/focus/focus-team-state.js +1 -13
  137. package/dist/focus/focus-team-state.js.map +1 -1
  138. package/dist/focus/listener-spawn.d.ts +16 -55
  139. package/dist/focus/listener-spawn.d.ts.map +1 -1
  140. package/dist/focus/listener-spawn.js +102 -64
  141. package/dist/focus/listener-spawn.js.map +1 -1
  142. package/dist/focus/listener-state.d.ts.map +1 -1
  143. package/dist/focus/listener-state.js +4 -1
  144. package/dist/focus/listener-state.js.map +1 -1
  145. package/dist/focus/listener.d.ts +41 -2
  146. package/dist/focus/listener.d.ts.map +1 -1
  147. package/dist/focus/listener.js +135 -83
  148. package/dist/focus/listener.js.map +1 -1
  149. package/dist/focus/pending-spawn-pass-deps.d.ts +69 -0
  150. package/dist/focus/pending-spawn-pass-deps.d.ts.map +1 -0
  151. package/dist/focus/pending-spawn-pass-deps.js +34 -0
  152. package/dist/focus/pending-spawn-pass-deps.js.map +1 -0
  153. package/dist/focus/pending-spawn-review-next-step.d.ts +83 -0
  154. package/dist/focus/pending-spawn-review-next-step.d.ts.map +1 -0
  155. package/dist/focus/pending-spawn-review-next-step.js +325 -0
  156. package/dist/focus/pending-spawn-review-next-step.js.map +1 -0
  157. package/dist/focus/review-cycle-cap-hold.d.ts +132 -0
  158. package/dist/focus/review-cycle-cap-hold.d.ts.map +1 -0
  159. package/dist/focus/review-cycle-cap-hold.js +178 -0
  160. package/dist/focus/review-cycle-cap-hold.js.map +1 -0
  161. package/dist/focus/team-actionable-work.js +2 -2
  162. package/dist/focus/verify-open-issues.d.ts +22 -0
  163. package/dist/focus/verify-open-issues.d.ts.map +1 -1
  164. package/dist/focus/verify-open-issues.js +118 -57
  165. package/dist/focus/verify-open-issues.js.map +1 -1
  166. package/dist/focus/verify-routing-passes.d.ts +32 -0
  167. package/dist/focus/verify-routing-passes.d.ts.map +1 -0
  168. package/dist/focus/verify-routing-passes.js +18 -0
  169. package/dist/focus/verify-routing-passes.js.map +1 -0
  170. package/dist/git/index.d.ts.map +1 -1
  171. package/dist/git/index.js +9 -5
  172. package/dist/git/index.js.map +1 -1
  173. package/dist/merge/focus-merge.d.ts +16 -2
  174. package/dist/merge/focus-merge.d.ts.map +1 -1
  175. package/dist/merge/focus-merge.js +53 -30
  176. package/dist/merge/focus-merge.js.map +1 -1
  177. package/dist/merge/merge-back-loop.d.ts +5 -0
  178. package/dist/merge/merge-back-loop.d.ts.map +1 -1
  179. package/dist/merge/merge-back-loop.js +17 -8
  180. package/dist/merge/merge-back-loop.js.map +1 -1
  181. package/dist/merge/merge-gate-coverage.d.ts +94 -0
  182. package/dist/merge/merge-gate-coverage.d.ts.map +1 -0
  183. package/dist/merge/merge-gate-coverage.js +217 -0
  184. package/dist/merge/merge-gate-coverage.js.map +1 -0
  185. package/dist/prompt/focus-prompt-builder.d.ts.map +1 -1
  186. package/dist/prompt/focus-prompt-builder.js +6 -0
  187. package/dist/prompt/focus-prompt-builder.js.map +1 -1
  188. package/dist/prompt/prompt-listing.d.ts.map +1 -1
  189. package/dist/prompt/prompt-listing.js +8 -0
  190. package/dist/prompt/prompt-listing.js.map +1 -1
  191. package/dist/prompt/team-prompt-base.d.ts.map +1 -1
  192. package/dist/prompt/team-prompt-base.js +5 -1
  193. package/dist/prompt/team-prompt-base.js.map +1 -1
  194. package/dist/prompt-sections/execution-sections.d.ts.map +1 -1
  195. package/dist/prompt-sections/execution-sections.js +14 -39
  196. package/dist/prompt-sections/execution-sections.js.map +1 -1
  197. package/dist/prompt-sections/gate-ownership.d.ts +36 -0
  198. package/dist/prompt-sections/gate-ownership.d.ts.map +1 -0
  199. package/dist/prompt-sections/gate-ownership.js +68 -0
  200. package/dist/prompt-sections/gate-ownership.js.map +1 -0
  201. package/dist/prompt-sections/gate-verdict-section.d.ts +58 -0
  202. package/dist/prompt-sections/gate-verdict-section.d.ts.map +1 -0
  203. package/dist/prompt-sections/gate-verdict-section.js +88 -0
  204. package/dist/prompt-sections/gate-verdict-section.js.map +1 -0
  205. package/dist/prompt-sections/persona-sections.d.ts +10 -0
  206. package/dist/prompt-sections/persona-sections.d.ts.map +1 -1
  207. package/dist/prompt-sections/persona-sections.js +35 -11
  208. package/dist/prompt-sections/persona-sections.js.map +1 -1
  209. package/dist/prompt-sections/shared.js +1 -1
  210. package/dist/prompt-sections/shared.js.map +1 -1
  211. package/dist/queries/agent-resolvable-promotion.d.ts +6 -3
  212. package/dist/queries/agent-resolvable-promotion.d.ts.map +1 -1
  213. package/dist/queries/agent-resolvable-promotion.js +20 -9
  214. package/dist/queries/agent-resolvable-promotion.js.map +1 -1
  215. package/dist/queries/deliveries.d.ts +46 -4
  216. package/dist/queries/deliveries.d.ts.map +1 -1
  217. package/dist/queries/deliveries.js +69 -16
  218. package/dist/queries/deliveries.js.map +1 -1
  219. package/dist/queries/delivery-gate-state.d.ts +151 -1
  220. package/dist/queries/delivery-gate-state.d.ts.map +1 -1
  221. package/dist/queries/delivery-gate-state.js +95 -14
  222. package/dist/queries/delivery-gate-state.js.map +1 -1
  223. package/dist/queries/delivery-write-discipline.d.ts +65 -0
  224. package/dist/queries/delivery-write-discipline.d.ts.map +1 -0
  225. package/dist/queries/delivery-write-discipline.js +101 -0
  226. package/dist/queries/delivery-write-discipline.js.map +1 -0
  227. package/dist/queries/escalation-consumption.d.ts +11 -0
  228. package/dist/queries/escalation-consumption.d.ts.map +1 -1
  229. package/dist/queries/escalation-consumption.js +22 -0
  230. package/dist/queries/escalation-consumption.js.map +1 -1
  231. package/dist/queries/escalation-spool.d.ts +75 -0
  232. package/dist/queries/escalation-spool.d.ts.map +1 -0
  233. package/dist/queries/escalation-spool.js +232 -0
  234. package/dist/queries/escalation-spool.js.map +1 -0
  235. package/dist/queries/escalation-suppression.d.ts.map +1 -1
  236. package/dist/queries/escalation-suppression.js +2 -0
  237. package/dist/queries/escalation-suppression.js.map +1 -1
  238. package/dist/queries/escalations.js +1 -1
  239. package/dist/queries/filing-observation.d.ts.map +1 -1
  240. package/dist/queries/filing-observation.js +2 -0
  241. package/dist/queries/filing-observation.js.map +1 -1
  242. package/dist/queries/focus-discovery.d.ts +4 -4
  243. package/dist/queries/focus-discovery.d.ts.map +1 -1
  244. package/dist/queries/focus-discovery.js +1 -0
  245. package/dist/queries/focus-discovery.js.map +1 -1
  246. package/dist/queries/focus-review-approval.d.ts +84 -0
  247. package/dist/queries/focus-review-approval.d.ts.map +1 -0
  248. package/dist/queries/focus-review-approval.js +158 -0
  249. package/dist/queries/focus-review-approval.js.map +1 -0
  250. package/dist/queries/focuses.d.ts +6 -5
  251. package/dist/queries/focuses.d.ts.map +1 -1
  252. package/dist/queries/focuses.js +9 -5
  253. package/dist/queries/focuses.js.map +1 -1
  254. package/dist/queries/incident-correlation.d.ts +5 -4
  255. package/dist/queries/incident-correlation.d.ts.map +1 -1
  256. package/dist/queries/incident-correlation.js +11 -5
  257. package/dist/queries/incident-correlation.js.map +1 -1
  258. package/dist/queries/issues.d.ts.map +1 -1
  259. package/dist/queries/issues.js +2 -1
  260. package/dist/queries/issues.js.map +1 -1
  261. package/dist/queries/loop-refusal-observation.d.ts +64 -0
  262. package/dist/queries/loop-refusal-observation.d.ts.map +1 -0
  263. package/dist/queries/loop-refusal-observation.js +137 -0
  264. package/dist/queries/loop-refusal-observation.js.map +1 -0
  265. package/dist/queries/schemas.d.ts +9 -0
  266. package/dist/queries/schemas.d.ts.map +1 -1
  267. package/dist/queries/schemas.js +11 -3
  268. package/dist/queries/schemas.js.map +1 -1
  269. package/dist/queries/shared.js +1 -1
  270. package/dist/queries/verification.d.ts.map +1 -1
  271. package/dist/queries/verification.js +1 -15
  272. package/dist/queries/verification.js.map +1 -1
  273. package/dist/queries/wire-contract.generated.d.ts +3 -0
  274. package/dist/queries/wire-contract.generated.d.ts.map +1 -1
  275. package/dist/queries/wire-contract.generated.js +3 -0
  276. package/dist/queries/wire-contract.generated.js.map +1 -1
  277. package/dist/resolvers/assembly-engine.d.ts.map +1 -1
  278. package/dist/resolvers/assembly-engine.js +3 -1
  279. package/dist/resolvers/assembly-engine.js.map +1 -1
  280. package/dist/resolvers/git-diff-against-base.d.ts +5 -2
  281. package/dist/resolvers/git-diff-against-base.d.ts.map +1 -1
  282. package/dist/resolvers/git-diff-against-base.js +121 -39
  283. package/dist/resolvers/git-diff-against-base.js.map +1 -1
  284. package/dist/resolvers/shared/git-diff.d.ts +2 -0
  285. package/dist/resolvers/shared/git-diff.d.ts.map +1 -1
  286. package/dist/resolvers/shared/git-diff.js +5 -1
  287. package/dist/resolvers/shared/git-diff.js.map +1 -1
  288. package/dist/resolvers/shared/review-window-commits.d.ts +96 -0
  289. package/dist/resolvers/shared/review-window-commits.d.ts.map +1 -0
  290. package/dist/resolvers/shared/review-window-commits.js +262 -0
  291. package/dist/resolvers/shared/review-window-commits.js.map +1 -0
  292. package/dist/session/session-lineage.d.ts.map +1 -1
  293. package/dist/session/session-lineage.js +4 -1
  294. package/dist/session/session-lineage.js.map +1 -1
  295. package/dist/shell/fail-stop.d.ts +18 -0
  296. package/dist/shell/fail-stop.d.ts.map +1 -0
  297. package/dist/shell/fail-stop.js +53 -0
  298. package/dist/shell/fail-stop.js.map +1 -0
  299. package/dist/shell/graceful-shutdown.d.ts +48 -0
  300. package/dist/shell/graceful-shutdown.d.ts.map +1 -0
  301. package/dist/shell/graceful-shutdown.js +152 -0
  302. package/dist/shell/graceful-shutdown.js.map +1 -0
  303. package/dist/shell/heartbeat.d.ts.map +1 -1
  304. package/dist/shell/heartbeat.js +5 -4
  305. package/dist/shell/heartbeat.js.map +1 -1
  306. package/dist/shell/log.d.ts.map +1 -1
  307. package/dist/shell/log.js +4 -1
  308. package/dist/shell/log.js.map +1 -1
  309. package/dist/shell/stop-request.d.ts.map +1 -1
  310. package/dist/shell/stop-request.js +2 -1
  311. package/dist/shell/stop-request.js.map +1 -1
  312. package/dist/shell/unified-shell.d.ts.map +1 -1
  313. package/dist/shell/unified-shell.js +41 -114
  314. package/dist/shell/unified-shell.js.map +1 -1
  315. package/dist/spawn/lifecycle.d.ts +12 -0
  316. package/dist/spawn/lifecycle.d.ts.map +1 -1
  317. package/dist/spawn/lifecycle.js +25 -21
  318. package/dist/spawn/lifecycle.js.map +1 -1
  319. package/dist/spawn/prompt-assembly.d.ts +19 -1
  320. package/dist/spawn/prompt-assembly.d.ts.map +1 -1
  321. package/dist/spawn/prompt-assembly.js +70 -21
  322. package/dist/spawn/prompt-assembly.js.map +1 -1
  323. package/dist/spawn/review-hold-park.d.ts.map +1 -1
  324. package/dist/spawn/review-hold-park.js +18 -8
  325. package/dist/spawn/review-hold-park.js.map +1 -1
  326. package/dist/spawn/spawn-cooldown.d.ts.map +1 -1
  327. package/dist/spawn/spawn-cooldown.js +4 -0
  328. package/dist/spawn/spawn-cooldown.js.map +1 -1
  329. package/dist/spawn/spawn-decision.d.ts.map +1 -1
  330. package/dist/spawn/spawn-decision.js +2 -1
  331. package/dist/spawn/spawn-decision.js.map +1 -1
  332. package/dist/spawn/worktree-session.d.ts +6 -0
  333. package/dist/spawn/worktree-session.d.ts.map +1 -1
  334. package/dist/spawn/worktree-session.js +15 -2
  335. package/dist/spawn/worktree-session.js.map +1 -1
  336. package/dist/testing/fixtures/index.d.ts +10 -1
  337. package/dist/testing/fixtures/index.d.ts.map +1 -1
  338. package/dist/testing/fixtures/index.js +59 -1
  339. package/dist/testing/fixtures/index.js.map +1 -1
  340. package/dist/testing/fixtures/pending-spawn-world.d.ts +34 -0
  341. package/dist/testing/fixtures/pending-spawn-world.d.ts.map +1 -0
  342. package/dist/testing/fixtures/pending-spawn-world.js +92 -0
  343. package/dist/testing/fixtures/pending-spawn-world.js.map +1 -0
  344. package/dist/types/index.js +1 -1
  345. package/dist/verify/commit-gate-configured.d.ts +86 -0
  346. package/dist/verify/commit-gate-configured.d.ts.map +1 -0
  347. package/dist/verify/commit-gate-configured.js +234 -0
  348. package/dist/verify/commit-gate-configured.js.map +1 -0
  349. package/dist/verify/commit-verdict-record.d.ts +98 -0
  350. package/dist/verify/commit-verdict-record.d.ts.map +1 -0
  351. package/dist/verify/commit-verdict-record.js +297 -0
  352. package/dist/verify/commit-verdict-record.js.map +1 -0
  353. package/dist/verify/explicit-gate-outcome.d.ts +161 -0
  354. package/dist/verify/explicit-gate-outcome.d.ts.map +1 -0
  355. package/dist/verify/explicit-gate-outcome.js +215 -0
  356. package/dist/verify/explicit-gate-outcome.js.map +1 -0
  357. package/dist/verify/explicit-rearm.d.ts +27 -0
  358. package/dist/verify/explicit-rearm.d.ts.map +1 -0
  359. package/dist/verify/explicit-rearm.js +161 -0
  360. package/dist/verify/explicit-rearm.js.map +1 -0
  361. package/dist/verify/explicit-run-ledger.d.ts +26 -0
  362. package/dist/verify/explicit-run-ledger.d.ts.map +1 -0
  363. package/dist/verify/explicit-run-ledger.js +93 -0
  364. package/dist/verify/explicit-run-ledger.js.map +1 -0
  365. package/dist/verify/failure-signature.d.ts.map +1 -1
  366. package/dist/verify/failure-signature.js +5 -1
  367. package/dist/verify/failure-signature.js.map +1 -1
  368. package/dist/verify/gate-run-registry.d.ts +105 -0
  369. package/dist/verify/gate-run-registry.d.ts.map +1 -0
  370. package/dist/verify/gate-run-registry.js +111 -0
  371. package/dist/verify/gate-run-registry.js.map +1 -0
  372. package/dist/verify/gate-verdict-source.d.ts +68 -0
  373. package/dist/verify/gate-verdict-source.d.ts.map +1 -0
  374. package/dist/verify/gate-verdict-source.js +143 -0
  375. package/dist/verify/gate-verdict-source.js.map +1 -0
  376. package/dist/verify/judged-commit-gate.d.ts +11 -0
  377. package/dist/verify/judged-commit-gate.d.ts.map +1 -0
  378. package/dist/verify/judged-commit-gate.js +48 -0
  379. package/dist/verify/judged-commit-gate.js.map +1 -0
  380. package/dist/verify/rework-judgment.d.ts +58 -0
  381. package/dist/verify/rework-judgment.d.ts.map +1 -0
  382. package/dist/verify/rework-judgment.js +54 -0
  383. package/dist/verify/rework-judgment.js.map +1 -0
  384. package/dist/verify/verification-attribution.d.ts +105 -0
  385. package/dist/verify/verification-attribution.d.ts.map +1 -0
  386. package/dist/verify/verification-attribution.js +322 -0
  387. package/dist/verify/verification-attribution.js.map +1 -0
  388. package/dist/verify/verification-baseline-run.d.ts +123 -0
  389. package/dist/verify/verification-baseline-run.d.ts.map +1 -0
  390. package/dist/verify/verification-baseline-run.js +386 -0
  391. package/dist/verify/verification-baseline-run.js.map +1 -0
  392. package/dist/verify/verification-baseline.d.ts +79 -33
  393. package/dist/verify/verification-baseline.d.ts.map +1 -1
  394. package/dist/verify/verification-baseline.js +99 -106
  395. package/dist/verify/verification-baseline.js.map +1 -1
  396. package/dist/verify/verification-checkout.d.ts +13 -0
  397. package/dist/verify/verification-checkout.d.ts.map +1 -1
  398. package/dist/verify/verification-checkout.js +39 -2
  399. package/dist/verify/verification-checkout.js.map +1 -1
  400. package/dist/verify/verification-commit-sharing.d.ts +84 -0
  401. package/dist/verify/verification-commit-sharing.d.ts.map +1 -0
  402. package/dist/verify/verification-commit-sharing.js +416 -0
  403. package/dist/verify/verification-commit-sharing.js.map +1 -0
  404. package/dist/verify/verification-config.d.ts.map +1 -1
  405. package/dist/verify/verification-config.js +12 -2
  406. package/dist/verify/verification-config.js.map +1 -1
  407. package/dist/verify/verification-default-on.d.ts +27 -11
  408. package/dist/verify/verification-default-on.d.ts.map +1 -1
  409. package/dist/verify/verification-default-on.js +159 -29
  410. package/dist/verify/verification-default-on.js.map +1 -1
  411. package/dist/verify/verification-deps-default.d.ts.map +1 -1
  412. package/dist/verify/verification-deps-default.js +49 -42
  413. package/dist/verify/verification-deps-default.js.map +1 -1
  414. package/dist/verify/verification-deps.d.ts +69 -4
  415. package/dist/verify/verification-deps.d.ts.map +1 -1
  416. package/dist/verify/verification-deterministic.d.ts +15 -2
  417. package/dist/verify/verification-deterministic.d.ts.map +1 -1
  418. package/dist/verify/verification-deterministic.js +12 -3
  419. package/dist/verify/verification-deterministic.js.map +1 -1
  420. package/dist/verify/verification-diagnostics.d.ts +16 -0
  421. package/dist/verify/verification-diagnostics.d.ts.map +1 -0
  422. package/dist/verify/verification-diagnostics.js +219 -0
  423. package/dist/verify/verification-diagnostics.js.map +1 -0
  424. package/dist/verify/verification-engine.d.ts +12 -8
  425. package/dist/verify/verification-engine.d.ts.map +1 -1
  426. package/dist/verify/verification-engine.js +110 -92
  427. package/dist/verify/verification-engine.js.map +1 -1
  428. package/dist/verify/verification-evidence-unavailable-feedback.d.ts +2 -1
  429. package/dist/verify/verification-evidence-unavailable-feedback.d.ts.map +1 -1
  430. package/dist/verify/verification-evidence-unavailable-feedback.js +14 -4
  431. package/dist/verify/verification-evidence-unavailable-feedback.js.map +1 -1
  432. package/dist/verify/verification-failure-parser.d.ts +37 -3
  433. package/dist/verify/verification-failure-parser.d.ts.map +1 -1
  434. package/dist/verify/verification-failure-parser.js +66 -3
  435. package/dist/verify/verification-failure-parser.js.map +1 -1
  436. package/dist/verify/verification-feedback.d.ts +21 -34
  437. package/dist/verify/verification-feedback.d.ts.map +1 -1
  438. package/dist/verify/verification-feedback.js +37 -88
  439. package/dist/verify/verification-feedback.js.map +1 -1
  440. package/dist/verify/verification-gate-stages.d.ts +110 -0
  441. package/dist/verify/verification-gate-stages.d.ts.map +1 -0
  442. package/dist/verify/verification-gate-stages.js +179 -0
  443. package/dist/verify/verification-gate-stages.js.map +1 -0
  444. package/dist/verify/verification-history-reset.d.ts +61 -0
  445. package/dist/verify/verification-history-reset.d.ts.map +1 -0
  446. package/dist/verify/verification-history-reset.js +90 -0
  447. package/dist/verify/verification-history-reset.js.map +1 -0
  448. package/dist/verify/verification-manifest.d.ts.map +1 -1
  449. package/dist/verify/verification-manifest.js +2 -1
  450. package/dist/verify/verification-manifest.js.map +1 -1
  451. package/dist/verify/verification-rework-messages.d.ts +19 -0
  452. package/dist/verify/verification-rework-messages.d.ts.map +1 -0
  453. package/dist/verify/verification-rework-messages.js +52 -0
  454. package/dist/verify/verification-rework-messages.js.map +1 -0
  455. package/dist/worktree/install-inputs.d.ts +89 -0
  456. package/dist/worktree/install-inputs.d.ts.map +1 -0
  457. package/dist/worktree/install-inputs.js +625 -0
  458. package/dist/worktree/install-inputs.js.map +1 -0
  459. package/dist/worktree/install-script-effects.d.ts +30 -0
  460. package/dist/worktree/install-script-effects.d.ts.map +1 -0
  461. package/dist/worktree/install-script-effects.js +524 -0
  462. package/dist/worktree/install-script-effects.js.map +1 -0
  463. package/dist/worktree/install-script-tokens.d.ts +57 -0
  464. package/dist/worktree/install-script-tokens.d.ts.map +1 -0
  465. package/dist/worktree/install-script-tokens.js +299 -0
  466. package/dist/worktree/install-script-tokens.js.map +1 -0
  467. package/dist/worktree/provision.d.ts +27 -4
  468. package/dist/worktree/provision.d.ts.map +1 -1
  469. package/dist/worktree/provision.js +46 -7
  470. package/dist/worktree/provision.js.map +1 -1
  471. package/dist/worktree/safety.d.ts +11 -0
  472. package/dist/worktree/safety.d.ts.map +1 -1
  473. package/dist/worktree/safety.js +20 -3
  474. package/dist/worktree/safety.js.map +1 -1
  475. package/dist/worktree/verify-interlock.d.ts.map +1 -1
  476. package/dist/worktree/verify-interlock.js +3 -1
  477. package/dist/worktree/verify-interlock.js.map +1 -1
  478. package/dist/worktree/worktree-package-provisioning.d.ts +75 -0
  479. package/dist/worktree/worktree-package-provisioning.d.ts.map +1 -0
  480. package/dist/worktree/worktree-package-provisioning.js +362 -0
  481. package/dist/worktree/worktree-package-provisioning.js.map +1 -0
  482. package/package.json +1 -1
@@ -0,0 +1,362 @@
1
+ // PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
2
+ // Pinned by: packages/daemon/src/spawn/worktree-session-provisioning.test.ts,
3
+ // packages/daemon/src/verify/verification-baseline-run.test.ts,
4
+ // packages/daemon/src/verify/verify-unprovisioned-worktree.test.ts,
5
+ // packages/daemon/src/worktree/worktree-package-provisioning.test.ts
6
+ // PINNED-BY-END
7
+ /**
8
+ * A focus worktree carries the installed dependencies of every package the gate
9
+ * loads, so a verify stage fails only on the code.
10
+ *
11
+ * Why this exists. A focus worktree is a git checkout: tracked files only. Its
12
+ * ROOT package resolves by Node's walk-up to the product checkout's node_modules
13
+ * (the worktree nests under it), and the verify checkout rebuilds exactly that
14
+ * resolution (verify/verification-checkout.ts). A NESTED package with its own
15
+ * lockfile (packages/daemon, mcp/telora-products, ...) is not reachable that way:
16
+ * its walk-up passes the worktree root and the product root, never the product
17
+ * checkout's packages/daemon/node_modules. So the daemon lint could not load
18
+ * eslint-import-resolver-typescript in the verify checkout and failed ~950
19
+ * import-x/no-cycle "Resolve error"s against deliveries whose code was fine
20
+ * (2026-09-11, 09-12, 09-14), each cleared by `npm ci` with no code change.
21
+ *
22
+ * Discovery rule (which packages are provisioned), derived from the worktree:
23
+ * 1. every TRACKED package-lock.json below the repo root (root excluded: it
24
+ * resolves by walk-up; nothing under a node_modules segment);
25
+ * 2. minus root workspace members (package.json `workspaces`): the root
26
+ * install covers them;
27
+ * 3. minus a package a root package.json script installs for itself
28
+ * (`npm ci|install|i ... --prefix <dir>`): its own script owns that
29
+ * install, and a package the gate never loads must not be able to stall
30
+ * every verify with its install (e.g. a starter template);
31
+ * 4. minus a package whose node_modules marker path is NOT git-ignored: the
32
+ * verify checkout mirrors only ignored node_modules, and a marker in a
33
+ * non-ignored tree would dirty the worktree.
34
+ * A repo with none is a no-op.
35
+ *
36
+ * Current-ness: a successful install writes a marker inside that package's
37
+ * node_modules holding the package's INSTALL-INPUT fingerprint
38
+ * (worktree/install-inputs.ts): its lockfile, package.json and .npmrc, and every
39
+ * tracked file its install lifecycle scripts or native build consume -- the same
40
+ * input set the baseline dependency parity compares, so a reused worktree
41
+ * re-provisions when a script its postinstall runs changes, not only when a
42
+ * manifest does (TEL-9). An equal marker means current, so a reused worktree is
43
+ * not reinstalled; a marker of an older format (a bare sha256 of lockfile +
44
+ * package.json) never equals one, so it reinstalls rather than skips. `npm ci`
45
+ * removes node_modules first, so an interrupted install leaves no marker. The install is
46
+ * `npm ci --include=dev` (the lockfile, dev deps even under NODE_ENV=production,
47
+ * the same install CI runs), spawned asynchronously through an injectable seam,
48
+ * single-flight per worktree, serialized across worktrees (one install at a time
49
+ * on the host), and bounded by a timeout, so registry latency cannot wedge the
50
+ * poll loop. A failed install (including an `npm ci` abort on a
51
+ * package.json/lockfile mismatch) is recorded against its fingerprint and retried
52
+ * after a backoff, or immediately once the lockfile changes.
53
+ *
54
+ * Verify interlock: provisioning never STARTS while a verify holds the worktree
55
+ * (the verify is mirroring these node_modules), and re-checks before each
56
+ * package. The verify side refuses to run while an install is in flight or a
57
+ * package is not current ({@link readWorktreeProvisioning} -> checkoutUnavailable,
58
+ * retried next tick); the checkout's dependency fingerprint discards a verdict an
59
+ * install moved mid-run as the backstop.
60
+ *
61
+ * @module worktree/worktree-package-provisioning
62
+ */
63
+ import { spawn } from 'node:child_process';
64
+ import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
65
+ import { dirname, join } from 'node:path';
66
+ import { runGitSync } from '../git/types.js';
67
+ import { isWorktreeUnderVerify } from './verify-interlock.js';
68
+ import { installInputsFingerprint, readWorktreeInstallTree, trackedInstallTree } from './install-inputs.js';
69
+ import { createLogger } from '../shell/log.js';
70
+ const log = createLogger({ module: 'worktree-provisioning' });
71
+ /** Bound on one package install: a registry stall is a failed (retried) install, never a wedge. */
72
+ export const PACKAGE_INSTALL_TIMEOUT_MS = 15 * 60 * 1000;
73
+ /** A failed install is retried after this, or at once when its lockfile changes. */
74
+ export const PACKAGE_INSTALL_RETRY_BACKOFF_MS = 2 * 60 * 1000;
75
+ /** The current-ness marker, inside the package's (ignored) node_modules; a dot-entry the verify mirror skips. */
76
+ export const PROVISIONED_MARKER = '.telora-provisioned.json';
77
+ const LOCKFILE = 'package-lock.json';
78
+ const DEPENDENCY_DIR = 'node_modules';
79
+ const inFlight = new Map();
80
+ const failures = new Map();
81
+ const lastLoggedStatus = new Map();
82
+ let installChain = Promise.resolve();
83
+ const failureKey = (worktreePath, rel) => JSON.stringify([worktreePath, rel]);
84
+ function readJson(path) {
85
+ try {
86
+ const parsed = JSON.parse(readFileSync(path, 'utf8'));
87
+ return parsed !== null && typeof parsed === 'object' ? parsed : null;
88
+ }
89
+ catch {
90
+ return null;
91
+ }
92
+ }
93
+ /** Root workspace globs as anchored regexes (`*` = one segment, `**` = any depth). */
94
+ function workspaceMatchers(rootPackage) {
95
+ const raw = rootPackage?.workspaces;
96
+ const globs = Array.isArray(raw) ? raw : (raw && typeof raw === 'object' ? raw.packages : []);
97
+ if (!Array.isArray(globs))
98
+ return [];
99
+ return globs.filter((g) => typeof g === 'string').map((glob) => {
100
+ const body = glob.replace(/^\.\//, '').replace(/\/$/, '').split('/')
101
+ .map((seg) => (seg === '**' ? '.*' : seg.replace(/[.+^${}()|[\]\\]/g, '\\$&').replace(/\*/g, '[^/]*')))
102
+ .join('/');
103
+ return new RegExp(`^${body}$`);
104
+ });
105
+ }
106
+ /** Package dirs a root script installs itself (`npm ci|install|i ... --prefix <dir>`). */
107
+ function selfInstalledDirs(rootPackage) {
108
+ const dirs = new Set();
109
+ const scripts = rootPackage?.scripts;
110
+ if (!scripts || typeof scripts !== 'object')
111
+ return dirs;
112
+ for (const body of Object.values(scripts)) {
113
+ if (typeof body !== 'string')
114
+ continue;
115
+ for (const match of body.matchAll(/\bnpm\s+(?:ci|install|i)\b[^&|;]*?--prefix[=\s]+(\S+)/g)) {
116
+ dirs.add(match[1].replace(/^\.\//, '').replace(/\/$/, ''));
117
+ }
118
+ }
119
+ return dirs;
120
+ }
121
+ /**
122
+ * Discovery (module doc) over one tracked listing, which the fingerprints then
123
+ * read too. No packages for a path that does not exist; null when git cannot list
124
+ * an existing worktree -- the caller fails closed.
125
+ */
126
+ function readProvisionedPackages(worktreePath, runGit = runGitSync) {
127
+ if (!existsSync(worktreePath))
128
+ return { packages: [], tree: trackedInstallTree([], () => null) };
129
+ const tree = readWorktreeInstallTree(worktreePath, runGit);
130
+ if (tree === null)
131
+ return null;
132
+ const rootPackage = readJson(join(worktreePath, 'package.json'));
133
+ const members = workspaceMatchers(rootPackage);
134
+ const selfInstalled = selfInstalledDirs(rootPackage);
135
+ const candidates = tree.filesUnder('')
136
+ .filter((path) => path.endsWith(`/${LOCKFILE}`))
137
+ .map((path) => dirname(path))
138
+ .filter((rel) => !members.some((m) => m.test(rel)) && !selfInstalled.has(rel));
139
+ if (candidates.length === 0)
140
+ return { packages: [], tree };
141
+ const ignored = runGit(['check-ignore', ...candidates.map((rel) => `${rel}/${DEPENDENCY_DIR}/${PROVISIONED_MARKER}`)], worktreePath);
142
+ const ignoredMarkers = new Set(ignored.output.split('\n').map((line) => line.trim()));
143
+ return { packages: candidates.filter((rel) => ignoredMarkers.has(`${rel}/${DEPENDENCY_DIR}/${PROVISIONED_MARKER}`)).sort(), tree };
144
+ }
145
+ /**
146
+ * The repo-relative package dirs to provision in `worktreePath` (module doc,
147
+ * discovery rule). [] when the path does not exist (nothing to provision); null
148
+ * when git cannot list an existing worktree -- the caller fails closed.
149
+ */
150
+ export function discoverProvisionedPackages(worktreePath, runGit = runGitSync) {
151
+ return readProvisionedPackages(worktreePath, runGit)?.packages ?? null;
152
+ }
153
+ /** The install-input fingerprint of `rel` over `tree`; null when it has no lockfile on disk (nothing to install from). */
154
+ function fingerprintIn(worktreePath, rel, tree) {
155
+ if (!existsSync(join(worktreePath, rel, LOCKFILE)))
156
+ return null;
157
+ return installInputsFingerprint(tree, rel);
158
+ }
159
+ /** True when `rel`'s marker records its current fingerprint; an input that cannot be read is never current. */
160
+ function isCurrent(worktreePath, rel, tree) {
161
+ let fingerprint;
162
+ try {
163
+ fingerprint = fingerprintIn(worktreePath, rel, tree);
164
+ }
165
+ catch {
166
+ return false;
167
+ }
168
+ if (fingerprint === null)
169
+ return true; // no lockfile in the tree: nothing to install from
170
+ return readJson(join(worktreePath, rel, DEPENDENCY_DIR, PROVISIONED_MARKER))?.fingerprint === fingerprint;
171
+ }
172
+ /**
173
+ * The install-input fingerprint of package `rel` in `worktreePath` (module doc):
174
+ * null when it has no lockfile; throws when git cannot list the worktree or an
175
+ * input cannot be read.
176
+ */
177
+ export function packageFingerprint(worktreePath, rel, runGit = runGitSync) {
178
+ const tree = readWorktreeInstallTree(worktreePath, runGit);
179
+ if (tree === null)
180
+ throw new Error(`git cannot list the tracked files of ${worktreePath}`);
181
+ return fingerprintIn(worktreePath, rel, tree);
182
+ }
183
+ /** True when package `rel`'s marker records its current install-input fingerprint (never when git cannot list the worktree). */
184
+ export function isPackageProvisioned(worktreePath, rel, runGit = runGitSync) {
185
+ const tree = readWorktreeInstallTree(worktreePath, runGit);
186
+ return tree !== null && isCurrent(worktreePath, rel, tree);
187
+ }
188
+ /** The recorded failure for a package, when it is for the package's CURRENT fingerprint. */
189
+ function currentFailure(worktreePath, rel, tree) {
190
+ const failure = failures.get(failureKey(worktreePath, rel));
191
+ if (!failure)
192
+ return undefined;
193
+ try {
194
+ return failure.fingerprint === fingerprintIn(worktreePath, rel, tree) ? failure : undefined;
195
+ }
196
+ catch {
197
+ return undefined;
198
+ }
199
+ }
200
+ /** Install one package and record the outcome (marker on success, failure otherwise). */
201
+ async function installPackage(worktreePath, rel, deps) {
202
+ const packageDir = join(worktreePath, rel);
203
+ const fingerprint = packageFingerprint(worktreePath, rel, deps.runGit);
204
+ if (fingerprint === null || readJson(join(packageDir, DEPENDENCY_DIR, PROVISIONED_MARKER))?.fingerprint === fingerprint)
205
+ return;
206
+ const now = deps.now ?? Date.now;
207
+ log.info(`installing ${rel} dependencies from its lockfile in ${worktreePath}`);
208
+ let outcome;
209
+ try {
210
+ outcome = await (deps.install ?? npmCiInstaller)(packageDir, deps.timeoutMs ?? PACKAGE_INSTALL_TIMEOUT_MS);
211
+ }
212
+ catch (err) {
213
+ outcome = { ok: false, error: err.message };
214
+ }
215
+ if (!outcome.ok) {
216
+ failures.set(failureKey(worktreePath, rel), { fingerprint, error: outcome.error, atMs: now() });
217
+ log.warn(`dependency install failed for package ${rel} in ${worktreePath}: ${outcome.error} -- retried; no verify runs against it`);
218
+ return;
219
+ }
220
+ // The fingerprint read BEFORE the install: an input that moved mid-install stays stale and reinstalls.
221
+ mkdirSync(join(packageDir, DEPENDENCY_DIR), { recursive: true });
222
+ writeFileSync(join(packageDir, DEPENDENCY_DIR, PROVISIONED_MARKER), `${JSON.stringify({ fingerprint, installedAt: new Date(now()).toISOString() })}\n`);
223
+ failures.delete(failureKey(worktreePath, rel));
224
+ log.info(`installed ${rel} dependencies in ${worktreePath}`);
225
+ }
226
+ async function installDue(worktreePath, due, deps) {
227
+ const underVerify = deps.isWorktreeUnderVerify ?? isWorktreeUnderVerify;
228
+ for (const rel of due) {
229
+ if (underVerify(worktreePath)) {
230
+ log.info(`dependency install in ${worktreePath} deferred: a verify holds the worktree (next: ${rel})`);
231
+ return;
232
+ }
233
+ try {
234
+ await installPackage(worktreePath, rel, deps);
235
+ }
236
+ catch (err) {
237
+ // A fingerprint or marker write that throws leaves the package stale: retried, never a crash of the chain.
238
+ log.warn(`dependency provisioning of ${rel} in ${worktreePath} errored: ${err.message}`);
239
+ }
240
+ }
241
+ }
242
+ /**
243
+ * Start provisioning `worktreePath` when a package is stale and not in backoff.
244
+ * Never awaited by the poll loop: returns the in-flight job (existing or new), or
245
+ * null when there is nothing to do, a verify holds the worktree, or git cannot
246
+ * list it.
247
+ */
248
+ export function provisionWorktreePackages(worktreePath, deps = {}) {
249
+ const running = inFlight.get(worktreePath);
250
+ if (running)
251
+ return running.job;
252
+ if ((deps.isWorktreeUnderVerify ?? isWorktreeUnderVerify)(worktreePath))
253
+ return null;
254
+ const listed = readProvisionedPackages(worktreePath, deps.runGit);
255
+ if (!listed)
256
+ return null;
257
+ const now = (deps.now ?? Date.now)();
258
+ const backoff = deps.retryBackoffMs ?? PACKAGE_INSTALL_RETRY_BACKOFF_MS;
259
+ const due = listed.packages.filter((rel) => {
260
+ if (isCurrent(worktreePath, rel, listed.tree))
261
+ return false;
262
+ const failure = currentFailure(worktreePath, rel, listed.tree);
263
+ return !failure || now - failure.atMs >= backoff;
264
+ });
265
+ if (due.length === 0)
266
+ return null;
267
+ const job = installChain.then(() => installDue(worktreePath, due, deps));
268
+ installChain = job.catch(() => undefined);
269
+ const tracked = job.catch(() => undefined).finally(() => inFlight.delete(worktreePath));
270
+ inFlight.set(worktreePath, { job: tracked, packages: due });
271
+ return tracked;
272
+ }
273
+ function logStatusChange(worktreePath, status) {
274
+ const text = status.ready ? 'ready' : status.reason;
275
+ if (lastLoggedStatus.get(worktreePath) !== text) {
276
+ lastLoggedStatus.set(worktreePath, text);
277
+ if (!status.ready)
278
+ log.warn(`verify refused for ${worktreePath}: ${status.reason}`);
279
+ }
280
+ return status;
281
+ }
282
+ /**
283
+ * May a deterministic verify run against `worktreePath`'s installed packages?
284
+ * Not ready while an install is in flight, a package failed its install, or a
285
+ * package is stale (provisioning is kicked here when it is not running), and
286
+ * when git cannot list the worktree (fail closed). The verify reports a
287
+ * not-ready status as checkoutUnavailable: retried next tick, never a verdict.
288
+ */
289
+ export function readWorktreeProvisioning(worktreePath, deps = {}) {
290
+ const listed = readProvisionedPackages(worktreePath, deps.runGit);
291
+ if (listed === null) {
292
+ return logStatusChange(worktreePath, { ready: false, state: 'unlistable', reason: `git cannot list the tracked package lockfiles of ${worktreePath}` });
293
+ }
294
+ const running = inFlight.get(worktreePath);
295
+ if (running) {
296
+ return logStatusChange(worktreePath, { ready: false, state: 'installing', reason: `dependency install in flight for ${running.packages.join(', ')}` });
297
+ }
298
+ const stale = listed.packages.filter((rel) => !isCurrent(worktreePath, rel, listed.tree));
299
+ if (stale.length === 0)
300
+ return logStatusChange(worktreePath, { ready: true });
301
+ const kicked = provisionWorktreePackages(worktreePath, deps);
302
+ const failed = stale.map((rel) => ({ rel, failure: currentFailure(worktreePath, rel, listed.tree) })).find((f) => f.failure);
303
+ let status;
304
+ if (kicked) {
305
+ status = { ready: false, state: 'installing', reason: `dependency install started for ${stale.join(', ')}` };
306
+ }
307
+ else if (failed?.failure) {
308
+ status = { ready: false, state: 'failed', reason: `dependency install failed for package ${failed.rel}: ${failed.failure.error}` };
309
+ }
310
+ else {
311
+ status = { ready: false, state: 'deferred', reason: `dependencies not installed for ${stale.join(', ')}; the install waits for the verify holding the worktree` };
312
+ }
313
+ return logStatusChange(worktreePath, status);
314
+ }
315
+ /** The tail of npm's output that names the failure (last non-empty lines). */
316
+ function outputTail(output) {
317
+ return output.split('\n').map((line) => line.trim()).filter((line) => line.length > 0).slice(-6).join(' | ') || 'no output';
318
+ }
319
+ /**
320
+ * The real installer: `npm ci --include=dev` in the package dir, in its own
321
+ * process group so a timeout kills npm's children too.
322
+ */
323
+ export const npmCiInstaller = (packageDir, timeoutMs) => new Promise((resolvePromise) => {
324
+ let output = '';
325
+ let settled = false;
326
+ const finish = (outcome) => {
327
+ if (settled)
328
+ return;
329
+ settled = true;
330
+ resolvePromise(outcome);
331
+ };
332
+ const child = spawn('npm', ['ci', '--include=dev', '--no-audit', '--no-fund'], {
333
+ cwd: packageDir,
334
+ detached: true,
335
+ stdio: ['ignore', 'pipe', 'pipe'],
336
+ env: { ...process.env, npm_config_audit: 'false', npm_config_fund: 'false' },
337
+ });
338
+ const append = (chunk) => { output = (output + chunk.toString()).slice(-8192); };
339
+ child.stdout?.on('data', append);
340
+ child.stderr?.on('data', append);
341
+ const timer = setTimeout(() => {
342
+ try {
343
+ if (child.pid !== undefined)
344
+ process.kill(-child.pid, 'SIGKILL');
345
+ }
346
+ catch { /* already gone */ }
347
+ finish({ ok: false, error: `npm ci timed out after ${timeoutMs}ms: ${outputTail(output)}` });
348
+ }, timeoutMs);
349
+ child.on('error', (err) => { clearTimeout(timer); finish({ ok: false, error: `npm ci could not start: ${err.message}` }); });
350
+ child.on('close', (code) => {
351
+ clearTimeout(timer);
352
+ finish(code === 0 ? { ok: true } : { ok: false, error: `npm ci exited ${code ?? 'by signal'}: ${outputTail(output)}` });
353
+ });
354
+ });
355
+ /** Test-only: forget in-flight jobs, failures and logged statuses. */
356
+ export function __resetWorktreeProvisioningForTests() {
357
+ inFlight.clear();
358
+ failures.clear();
359
+ lastLoggedStatus.clear();
360
+ installChain = Promise.resolve();
361
+ }
362
+ //# sourceMappingURL=worktree-package-provisioning.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worktree-package-provisioning.js","sourceRoot":"","sources":["../../src/worktree/worktree-package-provisioning.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@telora/daemon",
3
- "version": "0.22.104",
3
+ "version": "0.22.132",
4
4
  "description": "Agent orchestration daemon for Telora - spawns and manages Claude Code instances",
5
5
  "type": "module",
6
6
  "bin": {