@telora/daemon 0.22.289 → 0.22.293

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 (348) hide show
  1. package/README.md +2 -2
  2. package/build-info.json +2 -2
  3. package/dist/backends/agent-backend.d.ts +2 -0
  4. package/dist/backends/agent-backend.d.ts.map +1 -1
  5. package/dist/backends/availability.d.ts +14 -0
  6. package/dist/backends/availability.d.ts.map +1 -1
  7. package/dist/backends/availability.js +37 -0
  8. package/dist/backends/availability.js.map +1 -1
  9. package/dist/backends/claude/claude-backend.d.ts.map +1 -1
  10. package/dist/backends/claude/claude-backend.js +2 -0
  11. package/dist/backends/claude/claude-backend.js.map +1 -1
  12. package/dist/backends/codex/codex-backend.d.ts.map +1 -1
  13. package/dist/backends/codex/codex-backend.js +2 -0
  14. package/dist/backends/codex/codex-backend.js.map +1 -1
  15. package/dist/backends/index.d.ts +1 -1
  16. package/dist/backends/index.d.ts.map +1 -1
  17. package/dist/backends/index.js +2 -17
  18. package/dist/backends/index.js.map +1 -1
  19. package/dist/cli/connect/config-write.d.ts.map +1 -1
  20. package/dist/cli/connect/config-write.js +2 -1
  21. package/dist/cli/connect/config-write.js.map +1 -1
  22. package/dist/cli/status-commands.d.ts +7 -0
  23. package/dist/cli/status-commands.d.ts.map +1 -1
  24. package/dist/cli/status-commands.js +17 -0
  25. package/dist/cli/status-commands.js.map +1 -1
  26. package/dist/completion/completion-event/event.d.ts +1 -0
  27. package/dist/completion/completion-event/event.d.ts.map +1 -1
  28. package/dist/completion/completion-event/event.js +1 -0
  29. package/dist/completion/completion-event/event.js.map +1 -1
  30. package/dist/completion/review-exit/review-census-record.d.ts +4 -2
  31. package/dist/completion/review-exit/review-census-record.d.ts.map +1 -1
  32. package/dist/completion/review-exit/review-census-record.js +11 -3
  33. package/dist/completion/review-exit/review-census-record.js.map +1 -1
  34. package/dist/completion/review-exit/review-exit-deps.js +1 -1
  35. package/dist/completion/review-exit/review-exit-phase.d.ts +9 -0
  36. package/dist/completion/review-exit/review-exit-phase.d.ts.map +1 -1
  37. package/dist/completion/review-exit/review-exit-phase.js +1 -1
  38. package/dist/completion/review-exit/review-exit-phase.js.map +1 -1
  39. package/dist/completion/review-exit-holds/commit-verdict-release.d.ts.map +1 -1
  40. package/dist/completion/review-exit-holds/commit-verdict-release.js +2 -1
  41. package/dist/completion/review-exit-holds/commit-verdict-release.js.map +1 -1
  42. package/dist/completion/review-exit-holds/review-exit-verdict-gate.d.ts +1 -0
  43. package/dist/completion/review-exit-holds/review-exit-verdict-gate.d.ts.map +1 -1
  44. package/dist/completion/review-exit-holds/review-exit-verdict-gate.js +1 -0
  45. package/dist/completion/review-exit-holds/review-exit-verdict-gate.js.map +1 -1
  46. package/dist/completion/team-exit/team-completion.d.ts.map +1 -1
  47. package/dist/completion/team-exit/team-completion.js +3 -1
  48. package/dist/completion/team-exit/team-completion.js.map +1 -1
  49. package/dist/completion/team-liveness/liveness-firing.js +3 -3
  50. package/dist/completion/team-liveness/team-liveness-phase.d.ts +6 -1
  51. package/dist/completion/team-liveness/team-liveness-phase.d.ts.map +1 -1
  52. package/dist/completion/team-liveness/team-liveness-phase.js.map +1 -1
  53. package/dist/completion/team-outcome/apply-close.d.ts.map +1 -1
  54. package/dist/completion/team-outcome/apply-close.js +4 -1
  55. package/dist/completion/team-outcome/apply-close.js.map +1 -1
  56. package/dist/completion/team-outcome/apply-turn.d.ts.map +1 -1
  57. package/dist/completion/team-outcome/apply-turn.js +3 -1
  58. package/dist/completion/team-outcome/apply-turn.js.map +1 -1
  59. package/dist/completion/team-outcome/apply.d.ts.map +1 -1
  60. package/dist/completion/team-outcome/apply.js +3 -1
  61. package/dist/completion/team-outcome/apply.js.map +1 -1
  62. package/dist/completion/team-outcome/decide-shared.d.ts.map +1 -1
  63. package/dist/completion/team-outcome/decide-shared.js +3 -2
  64. package/dist/completion/team-outcome/decide-shared.js.map +1 -1
  65. package/dist/completion/team-outcome/exit-pipeline-state.d.ts.map +1 -1
  66. package/dist/completion/team-outcome/exit-pipeline-state.js +2 -1
  67. package/dist/completion/team-outcome/exit-pipeline-state.js.map +1 -1
  68. package/dist/completion/team-outcome/team-outcome.d.ts.map +1 -1
  69. package/dist/completion/team-outcome/team-outcome.js +3 -1
  70. package/dist/completion/team-outcome/team-outcome.js.map +1 -1
  71. package/dist/composition/execution-migrations-context.d.ts.map +1 -1
  72. package/dist/composition/execution-migrations-context.js +2 -0
  73. package/dist/composition/execution-migrations-context.js.map +1 -1
  74. package/dist/composition/execution-process-context.js +1 -1
  75. package/dist/composition/execution-spawn-context.d.ts.map +1 -1
  76. package/dist/composition/execution-spawn-context.js +3 -1
  77. package/dist/composition/execution-spawn-context.js.map +1 -1
  78. package/dist/composition/execution-spawn-process-context.d.ts.map +1 -1
  79. package/dist/composition/execution-spawn-process-context.js +3 -2
  80. package/dist/composition/execution-spawn-process-context.js.map +1 -1
  81. package/dist/composition/focus-activity-live-sources.d.ts +4 -0
  82. package/dist/composition/focus-activity-live-sources.d.ts.map +1 -0
  83. package/dist/composition/focus-activity-live-sources.js +68 -0
  84. package/dist/composition/focus-activity-live-sources.js.map +1 -0
  85. package/dist/composition/runtime-delivery-advance-context.d.ts +6 -1
  86. package/dist/composition/runtime-delivery-advance-context.d.ts.map +1 -1
  87. package/dist/composition/runtime-delivery-advance-context.js +14 -3
  88. package/dist/composition/runtime-delivery-advance-context.js.map +1 -1
  89. package/dist/composition/runtime-heartbeat-context.d.ts.map +1 -1
  90. package/dist/composition/runtime-heartbeat-context.js +3 -1
  91. package/dist/composition/runtime-heartbeat-context.js.map +1 -1
  92. package/dist/composition/team-lifecycle-context.d.ts.map +1 -1
  93. package/dist/composition/team-lifecycle-context.js +3 -1
  94. package/dist/composition/team-lifecycle-context.js.map +1 -1
  95. package/dist/composition/team-liveness-phase-sources.d.ts.map +1 -1
  96. package/dist/composition/team-liveness-phase-sources.js +1 -0
  97. package/dist/composition/team-liveness-phase-sources.js.map +1 -1
  98. package/dist/composition/verification-context.d.ts.map +1 -1
  99. package/dist/composition/verification-context.js +4 -1
  100. package/dist/composition/verification-context.js.map +1 -1
  101. package/dist/composition/verify-probe-context.d.ts +7 -0
  102. package/dist/composition/verify-probe-context.d.ts.map +1 -1
  103. package/dist/composition/verify-probe-context.js +55 -3
  104. package/dist/composition/verify-probe-context.js.map +1 -1
  105. package/dist/config/config.d.ts.map +1 -1
  106. package/dist/config/config.js +4 -3
  107. package/dist/config/config.js.map +1 -1
  108. package/dist/config/session-cap.d.ts +89 -0
  109. package/dist/config/session-cap.d.ts.map +1 -0
  110. package/dist/config/session-cap.js +176 -0
  111. package/dist/config/session-cap.js.map +1 -0
  112. package/dist/daemon-state/awaiting-slot.d.ts +8 -2
  113. package/dist/daemon-state/awaiting-slot.d.ts.map +1 -1
  114. package/dist/daemon-state/awaiting-slot.js +21 -8
  115. package/dist/daemon-state/awaiting-slot.js.map +1 -1
  116. package/dist/daemon-state/engine-readiness.d.ts +73 -0
  117. package/dist/daemon-state/engine-readiness.d.ts.map +1 -0
  118. package/dist/daemon-state/engine-readiness.js +191 -0
  119. package/dist/daemon-state/engine-readiness.js.map +1 -0
  120. package/dist/daemon-state/focus-progress-clock.d.ts +34 -0
  121. package/dist/daemon-state/focus-progress-clock.d.ts.map +1 -0
  122. package/dist/daemon-state/focus-progress-clock.js +167 -0
  123. package/dist/daemon-state/focus-progress-clock.js.map +1 -0
  124. package/dist/daemon-state/focus-team-state.d.ts +32 -9
  125. package/dist/daemon-state/focus-team-state.d.ts.map +1 -1
  126. package/dist/daemon-state/focus-team-state.js +50 -9
  127. package/dist/daemon-state/focus-team-state.js.map +1 -1
  128. package/dist/daemon-state/provider-window.d.ts.map +1 -1
  129. package/dist/daemon-state/provider-window.js +5 -1
  130. package/dist/daemon-state/provider-window.js.map +1 -1
  131. package/dist/daemon-state/review-park-record.d.ts +36 -0
  132. package/dist/daemon-state/review-park-record.d.ts.map +1 -0
  133. package/dist/daemon-state/review-park-record.js +27 -0
  134. package/dist/daemon-state/review-park-record.js.map +1 -0
  135. package/dist/daemon-state/worker-pidfile.d.ts.map +1 -1
  136. package/dist/daemon-state/worker-pidfile.js +3 -1
  137. package/dist/daemon-state/worker-pidfile.js.map +1 -1
  138. package/dist/delivery/commit-verdict-hold.d.ts.map +1 -1
  139. package/dist/delivery/commit-verdict-hold.js +3 -1
  140. package/dist/delivery/commit-verdict-hold.js.map +1 -1
  141. package/dist/directive/directive-queue.js +1 -1
  142. package/dist/focus/focus-activity-held.d.ts +37 -0
  143. package/dist/focus/focus-activity-held.d.ts.map +1 -0
  144. package/dist/focus/focus-activity-held.js +89 -0
  145. package/dist/focus/focus-activity-held.js.map +1 -0
  146. package/dist/focus/focus-activity-poll-facts.d.ts +39 -0
  147. package/dist/focus/focus-activity-poll-facts.d.ts.map +1 -0
  148. package/dist/focus/focus-activity-poll-facts.js +110 -0
  149. package/dist/focus/focus-activity-poll-facts.js.map +1 -0
  150. package/dist/focus/focus-activity-producers.d.ts +43 -0
  151. package/dist/focus/focus-activity-producers.d.ts.map +1 -0
  152. package/dist/focus/focus-activity-producers.js +130 -0
  153. package/dist/focus/focus-activity-producers.js.map +1 -0
  154. package/dist/focus/focus-activity-record.d.ts +58 -0
  155. package/dist/focus/focus-activity-record.d.ts.map +1 -0
  156. package/dist/focus/focus-activity-record.js +141 -0
  157. package/dist/focus/focus-activity-record.js.map +1 -0
  158. package/dist/focus/focus-activity-sources.d.ts +99 -0
  159. package/dist/focus/focus-activity-sources.d.ts.map +1 -0
  160. package/dist/focus/focus-activity-sources.js +45 -0
  161. package/dist/focus/focus-activity-sources.js.map +1 -0
  162. package/dist/focus/focus-executor.js +1 -1
  163. package/dist/focus/focus-executor.js.map +1 -1
  164. package/dist/focus/focus-poller-auto-advance.d.ts.map +1 -1
  165. package/dist/focus/focus-poller-auto-advance.js +2 -0
  166. package/dist/focus/focus-poller-auto-advance.js.map +1 -1
  167. package/dist/focus/heartbeat-metadata.d.ts.map +1 -1
  168. package/dist/focus/heartbeat-metadata.js +6 -0
  169. package/dist/focus/heartbeat-metadata.js.map +1 -1
  170. package/dist/focus/heartbeat.d.ts +3 -0
  171. package/dist/focus/heartbeat.d.ts.map +1 -1
  172. package/dist/focus/heartbeat.js +31 -31
  173. package/dist/focus/heartbeat.js.map +1 -1
  174. package/dist/focus/pending-review-approved-head.d.ts.map +1 -1
  175. package/dist/focus/pending-review-approved-head.js +4 -2
  176. package/dist/focus/pending-review-approved-head.js.map +1 -1
  177. package/dist/focus/unchanged-reviewed-head.d.ts.map +1 -1
  178. package/dist/focus/unchanged-reviewed-head.js +4 -2
  179. package/dist/focus/unchanged-reviewed-head.js.map +1 -1
  180. package/dist/index.js +1 -1
  181. package/dist/queries/deliveries/deliveries.d.ts +4 -0
  182. package/dist/queries/deliveries/deliveries.d.ts.map +1 -1
  183. package/dist/queries/deliveries/deliveries.js +6 -0
  184. package/dist/queries/deliveries/deliveries.js.map +1 -1
  185. package/dist/queries/deliveries/issues.d.ts +3 -0
  186. package/dist/queries/deliveries/issues.d.ts.map +1 -1
  187. package/dist/queries/deliveries/issues.js +10 -2
  188. package/dist/queries/deliveries/issues.js.map +1 -1
  189. package/dist/queries/delivery-gate-state/delivery-gate-holds.d.ts +27 -1
  190. package/dist/queries/delivery-gate-state/delivery-gate-holds.d.ts.map +1 -1
  191. package/dist/queries/delivery-gate-state/delivery-gate-state.d.ts +3 -1
  192. package/dist/queries/delivery-gate-state/delivery-gate-state.d.ts.map +1 -1
  193. package/dist/queries/delivery-gate-state/delivery-gate-state.js.map +1 -1
  194. package/dist/queries/focuses/focus-discovery.d.ts.map +1 -1
  195. package/dist/queries/focuses/focus-discovery.js +2 -0
  196. package/dist/queries/focuses/focus-discovery.js.map +1 -1
  197. package/dist/queries/focuses/focuses.d.ts.map +1 -1
  198. package/dist/queries/focuses/focuses.js +2 -0
  199. package/dist/queries/focuses/focuses.js.map +1 -1
  200. package/dist/queries/sessions/daemon-connection.d.ts.map +1 -1
  201. package/dist/queries/sessions/daemon-connection.js +1 -0
  202. package/dist/queries/sessions/daemon-connection.js.map +1 -1
  203. package/dist/queries/workflow-transitions/workflows.d.ts.map +1 -1
  204. package/dist/queries/workflow-transitions/workflows.js +1 -0
  205. package/dist/queries/workflow-transitions/workflows.js.map +1 -1
  206. package/dist/shell/config-hot-reload.d.ts +11 -0
  207. package/dist/shell/config-hot-reload.d.ts.map +1 -1
  208. package/dist/shell/config-hot-reload.js +12 -0
  209. package/dist/shell/config-hot-reload.js.map +1 -1
  210. package/dist/shell/unified-engine-lifecycle.d.ts +8 -1
  211. package/dist/shell/unified-engine-lifecycle.d.ts.map +1 -1
  212. package/dist/shell/unified-engine-lifecycle.js +44 -24
  213. package/dist/shell/unified-engine-lifecycle.js.map +1 -1
  214. package/dist/shell/unified-init.d.ts +5 -1
  215. package/dist/shell/unified-init.d.ts.map +1 -1
  216. package/dist/shell/unified-init.js +2 -2
  217. package/dist/shell/unified-init.js.map +1 -1
  218. package/dist/shell/unified-shell-config.d.ts +2 -1
  219. package/dist/shell/unified-shell-config.d.ts.map +1 -1
  220. package/dist/shell/unified-shell-config.js +9 -3
  221. package/dist/shell/unified-shell-config.js.map +1 -1
  222. package/dist/shell/unified-shell-status.d.ts +11 -1
  223. package/dist/shell/unified-shell-status.d.ts.map +1 -1
  224. package/dist/shell/unified-shell-status.js +15 -1
  225. package/dist/shell/unified-shell-status.js.map +1 -1
  226. package/dist/shell/unified-shell.d.ts.map +1 -1
  227. package/dist/shell/unified-shell.js +25 -5
  228. package/dist/shell/unified-shell.js.map +1 -1
  229. package/dist/spawn/codex-auth.d.ts +32 -0
  230. package/dist/spawn/codex-auth.d.ts.map +1 -0
  231. package/dist/spawn/codex-auth.js +55 -0
  232. package/dist/spawn/codex-auth.js.map +1 -0
  233. package/dist/spawn/helpers.d.ts.map +1 -1
  234. package/dist/spawn/helpers.js +19 -3
  235. package/dist/spawn/helpers.js.map +1 -1
  236. package/dist/spawn/model-reached.d.ts +36 -0
  237. package/dist/spawn/model-reached.d.ts.map +1 -0
  238. package/dist/spawn/model-reached.js +43 -0
  239. package/dist/spawn/model-reached.js.map +1 -0
  240. package/dist/spawn/next-spawn-cooldown.d.ts +21 -2
  241. package/dist/spawn/next-spawn-cooldown.d.ts.map +1 -1
  242. package/dist/spawn/next-spawn-cooldown.js +65 -7
  243. package/dist/spawn/next-spawn-cooldown.js.map +1 -1
  244. package/dist/spawn/process-spawn.d.ts.map +1 -1
  245. package/dist/spawn/process-spawn.js +8 -5
  246. package/dist/spawn/process-spawn.js.map +1 -1
  247. package/dist/spawn/review-hold-park.d.ts +12 -1
  248. package/dist/spawn/review-hold-park.d.ts.map +1 -1
  249. package/dist/spawn/review-hold-park.js +25 -9
  250. package/dist/spawn/review-hold-park.js.map +1 -1
  251. package/dist/spawn/spawn-decision.d.ts.map +1 -1
  252. package/dist/spawn/spawn-decision.js +4 -0
  253. package/dist/spawn/spawn-decision.js.map +1 -1
  254. package/dist/spawn/team-working-delivery.d.ts +76 -0
  255. package/dist/spawn/team-working-delivery.d.ts.map +1 -0
  256. package/dist/spawn/team-working-delivery.js +76 -0
  257. package/dist/spawn/team-working-delivery.js.map +1 -0
  258. package/dist/spawn/worktree-session.d.ts +15 -0
  259. package/dist/spawn/worktree-session.d.ts.map +1 -1
  260. package/dist/spawn/worktree-session.js +25 -2
  261. package/dist/spawn/worktree-session.js.map +1 -1
  262. package/dist/supervision/spawn-cooldown-window.d.ts +15 -0
  263. package/dist/supervision/spawn-cooldown-window.d.ts.map +1 -0
  264. package/dist/supervision/spawn-cooldown-window.js +46 -0
  265. package/dist/supervision/spawn-cooldown-window.js.map +1 -0
  266. package/dist/supervision/spawn-cooldown.d.ts +3 -2
  267. package/dist/supervision/spawn-cooldown.d.ts.map +1 -1
  268. package/dist/supervision/spawn-cooldown.js +6 -1
  269. package/dist/supervision/spawn-cooldown.js.map +1 -1
  270. package/dist/supervision/stop-registry.d.ts +1 -0
  271. package/dist/supervision/stop-registry.d.ts.map +1 -1
  272. package/dist/supervision/stop-rows-spawn.d.ts +8 -0
  273. package/dist/supervision/stop-rows-spawn.d.ts.map +1 -1
  274. package/dist/supervision/stop-rows-spawn.js +28 -1
  275. package/dist/supervision/stop-rows-spawn.js.map +1 -1
  276. package/dist/testing/fake-npm-registry.d.ts +31 -0
  277. package/dist/testing/fake-npm-registry.d.ts.map +1 -0
  278. package/dist/testing/fake-npm-registry.js +127 -0
  279. package/dist/testing/fake-npm-registry.js.map +1 -0
  280. package/dist/testing/fixtures/approved-head-inert-deps.d.ts.map +1 -1
  281. package/dist/testing/fixtures/approved-head-inert-deps.js +4 -2
  282. package/dist/testing/fixtures/approved-head-inert-deps.js.map +1 -1
  283. package/dist/testing/fixtures/codex-stream-session.d.ts +4 -0
  284. package/dist/testing/fixtures/codex-stream-session.d.ts.map +1 -1
  285. package/dist/testing/fixtures/codex-stream-session.js +21 -5
  286. package/dist/testing/fixtures/codex-stream-session.js.map +1 -1
  287. package/dist/testing/fixtures/completion-event-deps.js +1 -1
  288. package/dist/testing/fixtures/index.js +1 -1
  289. package/dist/testing/fixtures/process-close-context.d.ts.map +1 -1
  290. package/dist/testing/fixtures/process-close-context.js +2 -0
  291. package/dist/testing/fixtures/process-close-context.js.map +1 -1
  292. package/dist/testing/fixtures/recording-api-client.js +1 -1
  293. package/dist/testing/fixtures/review-exit-deps.js +1 -1
  294. package/dist/testing/fixtures/session-wire.d.ts.map +1 -1
  295. package/dist/testing/fixtures/session-wire.js +2 -1
  296. package/dist/testing/fixtures/session-wire.js.map +1 -1
  297. package/dist/testing/fixtures/verification-deps.d.ts.map +1 -1
  298. package/dist/testing/fixtures/verification-deps.js +4 -0
  299. package/dist/testing/fixtures/verification-deps.js.map +1 -1
  300. package/dist/types/config.d.ts +30 -0
  301. package/dist/types/config.d.ts.map +1 -1
  302. package/dist/types/focus-team-state.d.ts +28 -2
  303. package/dist/types/focus-team-state.d.ts.map +1 -1
  304. package/dist/types/focus-team-state.js.map +1 -1
  305. package/dist/types/index.js +1 -1
  306. package/dist/verify/deterministic-gate/verification-checkout.d.ts +8 -4
  307. package/dist/verify/deterministic-gate/verification-checkout.d.ts.map +1 -1
  308. package/dist/verify/deterministic-gate/verification-checkout.js +50 -13
  309. package/dist/verify/deterministic-gate/verification-checkout.js.map +1 -1
  310. package/dist/verify/deterministic-gate/verification-deterministic.d.ts.map +1 -1
  311. package/dist/verify/deterministic-gate/verification-deterministic.js +3 -1
  312. package/dist/verify/deterministic-gate/verification-deterministic.js.map +1 -1
  313. package/dist/verify/engine/verification-deps.d.ts +7 -0
  314. package/dist/verify/engine/verification-deps.d.ts.map +1 -1
  315. package/dist/verify/engine/verification-deps.js +1 -1
  316. package/dist/verify/engine/verification-engine.d.ts.map +1 -1
  317. package/dist/verify/engine/verification-engine.js +107 -8
  318. package/dist/verify/engine/verification-engine.js.map +1 -1
  319. package/dist/verify/gate-config/verification-config.js +1 -1
  320. package/dist/verify/gate-verdicts/commit-verdict-record.js +1 -1
  321. package/dist/verify/gate-verdicts/gate-run-registry.d.ts +74 -3
  322. package/dist/verify/gate-verdicts/gate-run-registry.d.ts.map +1 -1
  323. package/dist/verify/gate-verdicts/gate-run-registry.js +41 -20
  324. package/dist/verify/gate-verdicts/gate-run-registry.js.map +1 -1
  325. package/dist/verify/install-probe/in-repo-publish.d.ts +154 -0
  326. package/dist/verify/install-probe/in-repo-publish.d.ts.map +1 -0
  327. package/dist/verify/install-probe/in-repo-publish.js +183 -0
  328. package/dist/verify/install-probe/in-repo-publish.js.map +1 -0
  329. package/dist/verify/install-probe/install-probe-tick.d.ts +23 -2
  330. package/dist/verify/install-probe/install-probe-tick.d.ts.map +1 -1
  331. package/dist/verify/install-probe/install-probe-tick.js +84 -12
  332. package/dist/verify/install-probe/install-probe-tick.js.map +1 -1
  333. package/dist/verify/install-probe/install-probe.d.ts +16 -0
  334. package/dist/verify/install-probe/install-probe.d.ts.map +1 -1
  335. package/dist/verify/install-probe/install-probe.js +35 -19
  336. package/dist/verify/install-probe/install-probe.js.map +1 -1
  337. package/dist/verify/install-probe/npm-unresolved.d.ts +37 -0
  338. package/dist/verify/install-probe/npm-unresolved.d.ts.map +1 -0
  339. package/dist/verify/install-probe/npm-unresolved.js +63 -0
  340. package/dist/verify/install-probe/npm-unresolved.js.map +1 -0
  341. package/dist/verify/run-selection/default-on-guards.d.ts.map +1 -1
  342. package/dist/verify/run-selection/default-on-guards.js +1 -19
  343. package/dist/verify/run-selection/default-on-guards.js.map +1 -1
  344. package/dist/worktree/verify-interlock.d.ts +23 -2
  345. package/dist/worktree/verify-interlock.d.ts.map +1 -1
  346. package/dist/worktree/verify-interlock.js +79 -2
  347. package/dist/worktree/verify-interlock.js.map +1 -1
  348. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"install-probe-tick.d.ts","sourceRoot":"","sources":["../../../src/verify/install-probe/install-probe-tick.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAE3E,OAAO,EAAE,KAAK,iBAAiB,EAA4B,MAAM,0DAA0D,CAAC;AAC5H,OAAO,EAA4B,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAKvF,yDAAyD;AACzD,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AAEzD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CASxG;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,iBAAiB,GAAG,IAAI,EACnC,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,yHAAyH;AACzH,MAAM,WAAW,oBAAoB;IACnC,gBAAgB,EAAE,OAAO,gBAAgB,CAAC;IAC1C,gBAAgB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;IAC5E,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;IAC9C,cAAc,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,MAAM,CAAC;IACjD,gBAAgB,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;IACvE,QAAQ,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACpF,cAAc,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,GAAG,IAAI,EAAE,cAAc,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnH,GAAG,EAAE,MAAM,MAAM,CAAC;CACnB;AAKD,oCAAoC;AACpC,wBAAgB,gCAAgC,IAAI,IAAI,CAEvD;AAED,MAAM,WAAW,sBAAsB;IACrC,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,sBAAsB,EAAE,MAAM,CAAC;CAChC;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,oBAAoB,GACzB,OAAO,CAAC,sBAAsB,CAAC,CAyDjC"}
1
+ {"version":3,"file":"install-probe-tick.d.ts","sourceRoot":"","sources":["../../../src/verify/install-probe/install-probe-tick.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAE3E,OAAO,EAAE,KAAK,iBAAiB,EAA4B,MAAM,0DAA0D,CAAC;AAC5H,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0DAA0D,CAAC;AACnG,OAAO,EAA4B,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACvF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAKjE,yDAAyD;AACzD,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AAEzD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,kBAAkB,EAC1B,WAAW,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE,MAAM,GACZ,iBAAiB,GAAG,IAAI,CAc1B;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,kBAAkB,CAShG;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,iBAAiB,GAAG,IAAI,EACnC,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,yHAAyH;AACzH,MAAM,WAAW,oBAAoB;IACnC,gBAAgB,EAAE,OAAO,gBAAgB,CAAC;IAC1C,gBAAgB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;IAC5E,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;IAC9C,cAAc,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,MAAM,CAAC;IACjD,gBAAgB,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;IACvE,QAAQ,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACpF,cAAc,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,GAAG,IAAI,EAAE,cAAc,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnH,GAAG,EAAE,MAAM,MAAM,CAAC;IAClB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,kBAAkB,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;CACrJ;AAaD,oCAAoC;AACpC,wBAAgB,gCAAgC,IAAI,IAAI,CAEvD;AAED,MAAM,WAAW,sBAAsB;IACrC,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,sBAAsB,EAAE,MAAM,CAAC;CAChC;AA4DD;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,oBAAoB,GACzB,OAAO,CAAC,sBAAsB,CAAC,CAkEjC"}
@@ -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/verify/install-probe/install-probe-tick.test.ts
2
+ // Pinned by: packages/daemon/src/integration/in-repo-publish-branch.test.ts,
3
+ // packages/daemon/src/verify/install-probe/install-probe-tick.test.ts
3
4
  // PINNED-BY-END
4
5
  import { DELIVERY_STATUS } from '@telora/daemon-core';
5
6
  import { configForProduct } from '../../config/config.js';
@@ -12,13 +13,19 @@ const log = createLogger({ module: 'install-probe' });
12
13
  export const INSTALL_PROBE_GUARD = 'clean_install_probe';
13
14
  /**
14
15
  * Build the gate_state entry for a probe result. resolution_failed -> a blocking
15
- * condition (holds/surfaces on "Waiting on"); unverifiable (registry unreachable)
16
+ * condition (holds/surfaces on "Waiting on", naming what npm could not resolve
17
+ * under `installProbe`); unverifiable (registry unreachable)
16
18
  * -> a non-blocking WARNING (probe infra, not a delivery failure); pass/skipped
17
19
  * -> null (clear any prior probe gate). Pure -- exported for testing.
18
20
  */
19
- export function probeGateState(result, evaluatedAt) {
21
+ export function probeGateState(result, evaluatedAt, note) {
20
22
  if (result.verdict === 'failed') {
21
- return { blocking: [{ guardName: INSTALL_PROBE_GUARD, passed: false }], warnings: [], evaluatedAt };
23
+ return {
24
+ blocking: [{ guardName: INSTALL_PROBE_GUARD, passed: false }],
25
+ warnings: [],
26
+ evaluatedAt,
27
+ installProbe: installProbeDetail(result, note),
28
+ };
22
29
  }
23
30
  if (result.verdict === 'unverifiable') {
24
31
  return { blocking: [], warnings: [{ guardName: INSTALL_PROBE_GUARD, passed: false }], evaluatedAt };
@@ -26,6 +33,23 @@ export function probeGateState(result, evaluatedAt) {
26
33
  // pass / skipped -> no probe gate.
27
34
  return null;
28
35
  }
36
+ /**
37
+ * What a failed probe waits on: each package@spec npm named, per probed package,
38
+ * and the packages whose failure named none. `note` records what the daemon did
39
+ * about it (install-probe/in-repo-publish.ts). Pure -- exported for testing.
40
+ */
41
+ export function installProbeDetail(result, note) {
42
+ const failed = result.packages.filter(p => p.outcome === 'resolution_failed');
43
+ const detail = {
44
+ unresolved: failed.flatMap(p => (p.unresolved ?? []).map(u => ({ packageDir: p.packageDir, name: u.name, spec: u.spec }))),
45
+ };
46
+ const unattributed = failed.filter(p => (p.unresolved ?? []).length === 0).map(p => p.packageDir);
47
+ if (unattributed.length > 0)
48
+ detail.unattributedPackageDirs = unattributed;
49
+ if (note)
50
+ detail.note = note;
51
+ return detail;
52
+ }
29
53
  /**
30
54
  * The probe's production gate_state write: WITHOUT changing execution_status
31
55
  * (stays verify) or logging a transition. Passing the same status is idempotent;
@@ -35,12 +59,50 @@ export function probeGateState(result, evaluatedAt) {
35
59
  export async function writeProbeGateState(deliveryId, gateState, organizationId) {
36
60
  await updateDeliveryStatus(deliveryId, DELIVERY_STATUS.VERIFY, undefined, gateState, undefined, { organizationId });
37
61
  }
38
- /** In-memory cache: probe result per (focusId, head SHA). Runs once per branch state. */
62
+ /** In-memory cache: probe per (focusId, head SHA). Probes -- and publishes -- once per branch state. */
39
63
  const probeCache = new Map();
40
64
  /** Test hook to reset the cache. */
41
65
  export function __resetInstallProbeCacheForTests() {
42
66
  probeCache.clear();
43
67
  }
68
+ /**
69
+ * Probe one branch state; when it fails on nothing but unpublished in-repo
70
+ * versions, publish them (deps.publishAround), and re-probe the branch state
71
+ * that produced -- the lockfile commit moves HEAD, so the result is cached under
72
+ * the new head as well. A publish that failed (e.g. no registry credentials on
73
+ * this host) is recorded as the gate entry's note and not retried for this
74
+ * branch state; one that was deferred (its inputs uncommitted) is retried.
75
+ */
76
+ async function probeBranchState(deps, state, counts) {
77
+ const result = await deps.runProbe(state.changed, state.worktreePath);
78
+ counts.probesRun++;
79
+ const cached = await publishAroundFailure(deps, state, counts, result);
80
+ probeCache.set(`${state.focusId}:${state.headSha}`, cached);
81
+ return cached;
82
+ }
83
+ /**
84
+ * When a probed branch state failed, attempt the in-repo publish and, on
85
+ * success, re-probe. A deferred attempt keeps the failed verdict and is marked
86
+ * for retry, so a later tick attempts it again without re-probing.
87
+ */
88
+ async function publishAroundFailure(deps, state, counts, result) {
89
+ const { focusId, worktreePath, headSha, deliveryId } = state;
90
+ if (result.verdict !== 'failed' || !deps.publishAround || !deliveryId)
91
+ return { result };
92
+ const outcome = await deps.publishAround({ worktreePath, headSha, result, deliveryId });
93
+ if (outcome.kind !== 'resolved') {
94
+ log.warn(`[install-probe] Focus ${focusId}: in-repo publish ${outcome.kind}: ${outcome.note}`);
95
+ return outcome.kind === 'deferred' ? { result, note: outcome.note, retryPublish: true } : { result, note: outcome.note };
96
+ }
97
+ const reChanged = outcome.sha ? deps.listChangedFiles(worktreePath, `${state.integrationBranch}..HEAD`) : state.changed;
98
+ const again = await deps.runProbe(reChanged, worktreePath);
99
+ counts.probesRun++;
100
+ const cached = { result: again, note: outcome.note };
101
+ if (outcome.sha)
102
+ probeCache.set(`${focusId}:${outcome.sha}`, cached);
103
+ log.info(`[install-probe] Focus ${focusId}: ${outcome.note}; re-probe ${again.verdict}.`);
104
+ return cached;
105
+ }
44
106
  /**
45
107
  * One install-probe pass over every configured product's active, manifest-
46
108
  * touching verify deliveries. Best-effort per focus/delivery -- a failure never
@@ -73,14 +135,24 @@ export async function runInstallProbeTick(config, deps) {
73
135
  if (touched.length === 0)
74
136
  continue; // no manifest change -> no probe (AC2)
75
137
  const headSha = deps.resolveHeadSha(wt.worktreePath);
76
- const cacheKey = `${focus.focus_id}:${headSha}`;
77
- let result = probeCache.get(cacheKey);
78
- if (!result) {
79
- result = await deps.runProbe(changed, wt.worktreePath);
80
- probeCache.set(cacheKey, result);
81
- counts.probesRun++;
138
+ const state = {
139
+ focusId: focus.focus_id,
140
+ headSha,
141
+ worktreePath: wt.worktreePath,
142
+ changed,
143
+ deliveryId: verifyDeliveries[0]?.id ?? '',
144
+ integrationBranch: pc.integrationBranch,
145
+ };
146
+ let cached = probeCache.get(`${focus.focus_id}:${headSha}`);
147
+ if (!cached) {
148
+ cached = await probeBranchState(deps, state, counts);
149
+ }
150
+ else if (cached.retryPublish) {
151
+ cached = await publishAroundFailure(deps, state, counts, cached.result);
152
+ probeCache.set(`${focus.focus_id}:${headSha}`, cached);
82
153
  }
83
- const gateState = probeGateState(result, deps.now());
154
+ const { result, note } = cached;
155
+ const gateState = probeGateState(result, deps.now(), note);
84
156
  if (result.verdict === 'failed')
85
157
  counts.deliveriesBlocked += verifyDeliveries.length;
86
158
  else if (result.verdict === 'unverifiable')
@@ -1 +1 @@
1
- {"version":3,"file":"install-probe-tick.js","sourceRoot":"","sources":["../../../src/verify/install-probe/install-probe-tick.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,iFAAiF;AACjF,gBAAgB;AA0BhB,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,EAA0B,wBAAwB,EAAE,MAAM,0DAA0D,CAAC;AAC5H,OAAO,EAAE,wBAAwB,EAA2B,MAAM,oBAAoB,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,MAAM,GAAG,GAAG,YAAY,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;AAEtD,yDAAyD;AACzD,MAAM,CAAC,MAAM,mBAAmB,GAAG,qBAAqB,CAAC;AAEzD;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,MAA0B,EAAE,WAAmB;IAC5E,IAAI,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC;IACtG,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,KAAK,cAAc,EAAE,CAAC;QACtC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC;IACtG,CAAC;IACD,mCAAmC;IACnC,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,UAAkB,EAClB,SAAmC,EACnC,cAAsB;IAEtB,MAAM,oBAAoB,CAAC,UAAU,EAAE,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;AACtH,CAAC;AAcD,yFAAyF;AACzF,MAAM,UAAU,GAAG,IAAI,GAAG,EAA8B,CAAC;AAEzD,oCAAoC;AACpC,MAAM,UAAU,gCAAgC;IAC9C,UAAU,CAAC,KAAK,EAAE,CAAC;AACrB,CAAC;AASD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAoB,EACpB,IAA0B;IAE1B,MAAM,MAAM,GAA2B,EAAE,cAAc,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,sBAAsB,EAAE,CAAC,EAAE,CAAC;IAC5H,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtC,MAAM,EAAE,GAAG,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC7C,IAAI,OAAqD,CAAC;QAC1D,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,cAAc,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;QACzE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,IAAI,CAAC,uCAAuC,OAAO,CAAC,EAAE,KAAM,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YACzF,SAAS;QACX,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACH,MAAM,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACjD,IAAI,CAAC,EAAE;oBAAE,SAAS;gBAClB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACjE,MAAM,gBAAgB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,KAAK,eAAe,CAAC,MAAM,CAAC,CAAC;gBAC9F,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC;oBAAE,SAAS;gBAC5C,MAAM,CAAC,cAAc,EAAE,CAAC;gBAExB,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,iBAAiB,QAAQ,CAAC,CAAC;gBACxF,MAAM,OAAO,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;gBAClD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;oBAAE,SAAS,CAAC,uCAAuC;gBAE3E,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;gBACrD,MAAM,QAAQ,GAAG,GAAG,KAAK,CAAC,QAAQ,IAAI,OAAO,EAAE,CAAC;gBAChD,IAAI,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACtC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC;oBACvD,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;oBACjC,MAAM,CAAC,SAAS,EAAE,CAAC;gBACrB,CAAC;gBAED,MAAM,SAAS,GAAG,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;gBACrD,IAAI,MAAM,CAAC,OAAO,KAAK,QAAQ;oBAAE,MAAM,CAAC,iBAAiB,IAAI,gBAAgB,CAAC,MAAM,CAAC;qBAChF,IAAI,MAAM,CAAC,OAAO,KAAK,cAAc;oBAAE,MAAM,CAAC,sBAAsB,IAAI,gBAAgB,CAAC,MAAM,CAAC;gBAErG,KAAK,MAAM,CAAC,IAAI,gBAAgB,EAAE,CAAC;oBACjC,IAAI,CAAC;wBACH,iFAAiF;wBACjF,MAAM,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,wBAAwB,CAAC,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC;oBACvG,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,GAAG,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC,EAAE,KAAM,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;oBACtF,CAAC;gBACH,CAAC;gBACD,IAAI,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;oBAChC,GAAG,CAAC,IAAI,CACN,yBAAyB,KAAK,CAAC,QAAQ,kDAAkD;wBACzF,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,0BAA0B,gBAAgB,CAAC,MAAM,8BAA8B,CACtG,CAAC;gBACJ,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,CAAC,IAAI,CAAC,yBAAyB,KAAK,CAAC,QAAQ,KAAM,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YACjF,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"install-probe-tick.js","sourceRoot":"","sources":["../../../src/verify/install-probe/install-probe-tick.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { type UnresolvedSpec } from './npm-unresolved.js';
1
2
  /**
2
3
  * Outcome of resolving one workspace package's install from the registry.
3
4
  * - pass -- npm ci --dry-run resolved cleanly (exit 0).
@@ -17,6 +18,12 @@ export interface PackageProbeResult {
17
18
  outcome: ProbeOutcome;
18
19
  /** Short reason (classifier tag or exit note) for gate_state / logs. */
19
20
  detail: string;
21
+ /**
22
+ * resolution_failed: each package@spec npm's output named as unresolvable
23
+ * (npm-unresolved.ts). Empty when npm named none -- a failure the probe
24
+ * cannot attribute to a package, which nothing may publish around.
25
+ */
26
+ unresolved?: UnresolvedSpec[];
20
27
  }
21
28
  /**
22
29
  * Aggregate verdict for the delivery.
@@ -93,4 +100,13 @@ export declare function runInstallProbe(changedFiles: readonly string[], runner:
93
100
  * The isolated cache dir is created once per runner and reused across packages.
94
101
  */
95
102
  export declare function createNpmCiDryRunRunner(repoPath: string): InstallProbeRunner;
103
+ /**
104
+ * Run `npm <args>` in `cwd` and collect combined stdout+stderr. Never rejects: a
105
+ * spawn error or a timeout resolves with a null exit and the error text (the
106
+ * probe classifier reads both as registry_unreachable = infra).
107
+ */
108
+ export declare function spawnNpm(cwd: string, args: string[], env: NodeJS.ProcessEnv, timeoutMs: number): Promise<{
109
+ exitCode: number | null;
110
+ output: string;
111
+ }>;
96
112
  //# sourceMappingURL=install-probe.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"install-probe.d.ts","sourceRoot":"","sources":["../../../src/verify/install-probe/install-probe.ts"],"names":[],"mappings":"AAgCA;;;;;;;;;;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;CAChB;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,CA2C7B;AAKD;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB,CAsC5E"}
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,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/verify/install-probe/install-probe-tick.test.ts,
2
+ // Pinned by: packages/daemon/src/verify/install-probe/in-repo-publish.test.ts,
3
+ // packages/daemon/src/verify/install-probe/install-probe-tick.test.ts,
3
4
  // packages/daemon/src/verify/install-probe/install-probe.test.ts
4
5
  // PINNED-BY-END
5
6
  /**
@@ -27,6 +28,7 @@ import { spawn } from 'node:child_process';
27
28
  import { resolve } from 'node:path';
28
29
  import { mkdtempSync } from 'node:fs';
29
30
  import { tmpdir } from 'node:os';
31
+ import { parseUnresolvedSpecs, formatUnresolved } from './npm-unresolved.js';
30
32
  const MANIFEST_BASENAMES = new Set(['package.json', 'package-lock.json']);
31
33
  /**
32
34
  * Map a set of changed (repo-relative) files to the workspace package dirs whose
@@ -116,15 +118,25 @@ export async function runInstallProbe(changedFiles, runner) {
116
118
  try {
117
119
  const { exitCode, output } = await runner(dir);
118
120
  const outcome = classifyNpmCiFailure(exitCode, output);
119
- result = {
120
- packageDir: dir,
121
- outcome,
122
- detail: outcome === 'pass'
123
- ? 'npm ci --dry-run resolved from registry'
124
- : outcome === 'registry_unreachable'
125
- ? 'registry unreachable (probe infrastructure)'
126
- : `registry could not satisfy manifest/lockfile (exit ${exitCode})`,
127
- };
121
+ if (outcome === 'resolution_failed') {
122
+ const unresolved = parseUnresolvedSpecs(output);
123
+ const named = unresolved.length > 0 ? `: ${unresolved.map(formatUnresolved).join(', ')}` : '';
124
+ result = {
125
+ packageDir: dir,
126
+ outcome,
127
+ detail: `registry could not satisfy manifest/lockfile (exit ${exitCode})${named}`,
128
+ unresolved,
129
+ };
130
+ }
131
+ else {
132
+ result = {
133
+ packageDir: dir,
134
+ outcome,
135
+ detail: outcome === 'pass'
136
+ ? 'npm ci --dry-run resolved from registry'
137
+ : 'registry unreachable (probe infrastructure)',
138
+ };
139
+ }
128
140
  }
129
141
  catch (err) {
130
142
  // A runner that throws (e.g. spawn failed) is infra, not a delivery
@@ -166,8 +178,15 @@ export function createNpmCiDryRunRunner(repoPath) {
166
178
  cacheDir = mkdtempSync(resolve(tmpdir(), 'telora-install-probe-'));
167
179
  return cacheDir;
168
180
  };
169
- return (packageDir) => new Promise((resolvePromise) => {
170
- const cwd = packageDir === '.' ? repoPath : resolve(repoPath, packageDir);
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);
182
+ }
183
+ /**
184
+ * Run `npm <args>` in `cwd` and collect combined stdout+stderr. Never rejects: a
185
+ * spawn error or a timeout resolves with a null exit and the error text (the
186
+ * probe classifier reads both as registry_unreachable = infra).
187
+ */
188
+ export function spawnNpm(cwd, args, env, timeoutMs) {
189
+ return new Promise((resolvePromise) => {
171
190
  let out = '';
172
191
  let settled = false;
173
192
  const finish = (exitCode) => {
@@ -178,22 +197,19 @@ export function createNpmCiDryRunRunner(repoPath) {
178
197
  };
179
198
  let child;
180
199
  try {
181
- child = spawn('npm', ['ci', '--dry-run', '--no-audit', '--no-fund'], {
182
- cwd,
183
- env: { ...process.env, npm_config_cache: ensureCache(), npm_config_fund: 'false', npm_config_audit: 'false' },
184
- });
200
+ child = spawn('npm', args, { cwd, env });
185
201
  }
186
202
  catch (err) {
187
203
  // Spawn itself threw (npm missing) -> infra; surface as non-zero + text.
188
- finish(null);
189
204
  out = `spawn error: ${err.message}`;
205
+ finish(null);
190
206
  return;
191
207
  }
192
208
  const timer = setTimeout(() => {
193
- out += '\nnpm ci --dry-run timed out (ETIMEDOUT, treated as registry unreachable)';
209
+ out += `\nnpm ${args[0] ?? ''} timed out (ETIMEDOUT, treated as registry unreachable)`;
194
210
  child.kill('SIGKILL');
195
211
  finish(null);
196
- }, NPM_CI_DRY_RUN_TIMEOUT_MS);
212
+ }, timeoutMs);
197
213
  child.stdout?.on('data', (d) => { out += d.toString(); });
198
214
  child.stderr?.on('data', (d) => { out += d.toString(); });
199
215
  child.on('error', (err) => { out += `\nspawn error: ${err.message}`; clearTimeout(timer); finish(null); });
@@ -1 +1 @@
1
- {"version":3,"file":"install-probe.js","sourceRoot":"","sources":["../../../src/verify/install-probe/install-probe.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,kFAAkF;AAClF,mEAAmE;AACnE,gBAAgB;AAEhB;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AA2CjC,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC,CAAC;AAE1E;;;;;;;;GAQG;AACH,MAAM,UAAU,wBAAwB,CAAC,YAA+B;IACtE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAC/B,yDAAyD;QACzD,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,QAAQ,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC7D,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,SAAS;QAEhD,MAAM,GAAG,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACtD,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;YAC9B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC;aAAM,IAAI,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACrE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC;QACD,0EAA0E;QAC1E,2EAA2E;IAC7E,CAAC;IACD,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;AACnB,CAAC;AAED,6EAA6E;AAC7E,4EAA4E;AAC5E,MAAM,oBAAoB,GAAG;IAC3B,WAAW;IACX,WAAW;IACX,cAAc;IACd,YAAY;IACZ,WAAW;IACX,aAAa;IACb,cAAc;IACd,aAAa;IACb,gBAAgB;IAChB,6BAA6B;IAC7B,aAAa,EAAE,oDAAoD;CACpE,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAAuB,EAAE,MAAc;IAC1E,IAAI,QAAQ,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IAClC,MAAM,GAAG,GAAG,MAAM,IAAI,EAAE,CAAC;IACzB,KAAK,MAAM,CAAC,IAAI,oBAAoB,EAAE,CAAC;QACrC,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAE,OAAO,sBAAsB,CAAC;IACrD,CAAC;IACD,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAYD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,YAA+B,EAC/B,MAA0B;IAE1B,MAAM,WAAW,GAAG,wBAAwB,CAAC,YAAY,CAAC,CAAC;IAC3D,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC/D,CAAC;IAED,MAAM,QAAQ,GAAyB,EAAE,CAAC;IAC1C,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,IAAI,MAA0B,CAAC;QAC/B,IAAI,CAAC;YACH,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC;YAC/C,MAAM,OAAO,GAAG,oBAAoB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACvD,MAAM,GAAG;gBACP,UAAU,EAAE,GAAG;gBACf,OAAO;gBACP,MAAM,EACJ,OAAO,KAAK,MAAM;oBAChB,CAAC,CAAC,yCAAyC;oBAC3C,CAAC,CAAC,OAAO,KAAK,sBAAsB;wBAClC,CAAC,CAAC,6CAA6C;wBAC/C,CAAC,CAAC,sDAAsD,QAAQ,GAAG;aAC1E,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,oEAAoE;YACpE,yEAAyE;YACzE,MAAM,GAAG;gBACP,UAAU,EAAE,GAAG;gBACf,OAAO,EAAE,sBAAsB;gBAC/B,MAAM,EAAE,uBAAwB,GAAa,CAAC,OAAO,EAAE;aACxD,CAAC;QACJ,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;IAED,MAAM,mBAAmB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,mBAAmB,CAAC,CAAC;IAClF,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,sBAAsB,CAAC,CAAC;IAChF,MAAM,OAAO,GAAiB,mBAAmB;QAC/C,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,cAAc;YACd,CAAC,CAAC,cAAc;YAChB,CAAC,CAAC,MAAM,CAAC;IAEb,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,KAAK,QAAQ,EAAE,CAAC;AAC/D,CAAC;AAED,qFAAqF;AACrF,MAAM,yBAAyB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAEhD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,uBAAuB,CAAC,QAAgB;IACtD,IAAI,QAAQ,GAAkB,IAAI,CAAC;IACnC,MAAM,WAAW,GAAG,GAAW,EAAE;QAC/B,IAAI,QAAQ,KAAK,IAAI;YAAE,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,uBAAuB,CAAC,CAAC,CAAC;QAC1F,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IACF,OAAO,CAAC,UAAkB,EAAE,EAAE,CAC5B,IAAI,OAAO,CAAC,CAAC,cAAc,EAAE,EAAE;QAC7B,MAAM,GAAG,GAAG,UAAU,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC1E,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,MAAM,GAAG,CAAC,QAAuB,EAAE,EAAE;YACzC,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,cAAc,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QAC5C,CAAC,CAAC;QACF,IAAI,KAA+B,CAAC;QACpC,IAAI,CAAC;YACH,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC,EAAE;gBACnE,GAAG;gBACH,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,gBAAgB,EAAE,WAAW,EAAE,EAAE,eAAe,EAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE;aAC9G,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,yEAAyE;YACzE,MAAM,CAAC,IAAI,CAAC,CAAC;YACb,GAAG,GAAG,gBAAiB,GAAa,CAAC,OAAO,EAAE,CAAC;YAC/C,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,GAAG,IAAI,2EAA2E,CAAC;YACnF,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,CAAC;QACf,CAAC,EAAE,yBAAyB,CAAC,CAAC;QAC9B,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,GAAG,GAAG,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAClE,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,GAAG,GAAG,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAClE,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE,GAAG,GAAG,IAAI,kBAAkB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAmB,EAAE,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrF,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"install-probe.js","sourceRoot":"","sources":["../../../src/verify/install-probe/install-probe.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * What npm could not resolve, read from its own output.
3
+ *
4
+ * A failed `npm ci --dry-run` names the package it could not satisfy in one of a
5
+ * few fixed shapes: a registry with no matching version (ETARGET), a registry
6
+ * with no such package or tarball (E404), or a lockfile that no longer satisfies
7
+ * the manifest (EUSAGE "Invalid:" / "Missing:"). This module lifts each named
8
+ * package and the version/range npm asked for, so the probe's gate entry can say
9
+ * WHAT a delivery is waiting on rather than only that it is waiting.
10
+ *
11
+ * Pure: string in, list out. An output that names nothing yields an empty list
12
+ * -- the caller then knows the failure is one it cannot name, never a guess.
13
+ *
14
+ * @module npm-unresolved
15
+ */
16
+ /** One package and the version (or range) npm could not resolve for it. */
17
+ export interface UnresolvedSpec {
18
+ /** Package name, e.g. `@telora/daemon-core`. */
19
+ name: string;
20
+ /** The version or range as npm stated it, e.g. `^0.2.102` or `0.2.102`. */
21
+ spec: string;
22
+ }
23
+ /**
24
+ * Every package@spec npm's output names as unresolvable, deduped and in order of
25
+ * first mention. Empty when the output names none.
26
+ */
27
+ export declare function parseUnresolvedSpecs(output: string): UnresolvedSpec[];
28
+ /**
29
+ * The exact version a spec pins, or null when it is a range this module does not
30
+ * reduce. `0.2.102`, `^0.2.102`, `~0.2.102`, `>=0.2.102`, `v0.2.102` -> `0.2.102`.
31
+ * A compound range (`1.x`, `>=1 <2`, `*`) is NOT reduced: the caller must not
32
+ * act on a version it had to guess.
33
+ */
34
+ export declare function pinnedVersion(spec: string): string | null;
35
+ /** `name@spec` joined for display. */
36
+ export declare function formatUnresolved(u: UnresolvedSpec): string;
37
+ //# sourceMappingURL=npm-unresolved.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"npm-unresolved.d.ts","sourceRoot":"","sources":["../../../src/verify/install-probe/npm-unresolved.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;GAcG;AAEH,2EAA2E;AAC3E,MAAM,WAAW,cAAc;IAC7B,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAC;CACd;AAwBD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,EAAE,CAkBrE;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGzD;AAED,sCAAsC;AACtC,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,cAAc,GAAG,MAAM,CAE1D"}
@@ -0,0 +1,63 @@
1
+ // PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
2
+ // Pinned by: packages/daemon/src/verify/install-probe/npm-unresolved.test.ts
3
+ // PINNED-BY-END
4
+ // A package name: optionally scoped, then the bare name. Anchored per use.
5
+ const NAME = '(@[a-z0-9][\\w.-]*\\/[a-z0-9][\\w.-]*|[a-z0-9][\\w.-]*)';
6
+ // A version or range npm prints after the `@`: no whitespace, no closing quote.
7
+ const SPEC = '([^\\s\'"`]+?)';
8
+ const PATTERNS = [
9
+ // ETARGET: "notarget No matching version found for @telora/daemon-core@^0.2.102."
10
+ new RegExp(`No matching version found for ${NAME}@${SPEC}\\.?(?:\\s|$)`, 'g'),
11
+ // E404: "404 '@telora/daemon-core@0.2.102' is not in this registry."
12
+ new RegExp(`'${NAME}@${SPEC}' is not in this registry`, 'g'),
13
+ // EUSAGE desync: "Invalid: lock file's @telora/daemon-core@0.2.100 does not satisfy @telora/daemon-core@^0.2.102"
14
+ new RegExp(`does not satisfy ${NAME}@${SPEC}(?:\\s|$)`, 'g'),
15
+ // EUSAGE desync: "Missing: @telora/daemon-core@0.2.102 from lock file"
16
+ new RegExp(`Missing: ${NAME}@${SPEC} from lock file`, 'g'),
17
+ ];
18
+ // E404 on a lockfile-resolved tarball, in the npmjs layout or Gitea's:
19
+ // "404 Not Found - GET https://host/@telora/daemon-core/-/daemon-core-0.2.102.tgz"
20
+ // "404 Not Found - GET https://host/api/packages/o/npm/%40telora%2Fdaemon-core/-/0.2.102/daemon-core-0.2.102.tgz"
21
+ // (the scope's `@` and `/` may each be URL-encoded).
22
+ const TARBALL_404 = /404 Not Found - GET \S*?\/(?:@|%40)([a-z0-9][\w.-]*)(?:\/|%2[fF])([a-z0-9][\w.-]*)\/-\/(?:[\w.+-]+\/)?[\w.-]+?-(\d+\.\d+\.\d+[\w.+-]*?)\.tgz/g;
23
+ /**
24
+ * Every package@spec npm's output names as unresolvable, deduped and in order of
25
+ * first mention. Empty when the output names none.
26
+ */
27
+ export function parseUnresolvedSpecs(output) {
28
+ const seen = new Set();
29
+ const found = [];
30
+ const add = (at, name, spec) => {
31
+ const key = `${name}@${spec}`;
32
+ if (seen.has(key))
33
+ return;
34
+ seen.add(key);
35
+ found.push({ at, spec: { name, spec } });
36
+ };
37
+ const hay = output ?? '';
38
+ for (const re of PATTERNS) {
39
+ for (const m of hay.matchAll(re))
40
+ add(m.index ?? 0, m[1] ?? '', (m[2] ?? '').replace(/\.$/, ''));
41
+ }
42
+ for (const m of hay.matchAll(TARBALL_404))
43
+ add(m.index ?? 0, `@${m[1]}/${m[2]}`, m[3] ?? '');
44
+ return found
45
+ .filter(f => f.spec.name !== '' && f.spec.spec !== '')
46
+ .sort((a, b) => a.at - b.at)
47
+ .map(f => f.spec);
48
+ }
49
+ /**
50
+ * The exact version a spec pins, or null when it is a range this module does not
51
+ * reduce. `0.2.102`, `^0.2.102`, `~0.2.102`, `>=0.2.102`, `v0.2.102` -> `0.2.102`.
52
+ * A compound range (`1.x`, `>=1 <2`, `*`) is NOT reduced: the caller must not
53
+ * act on a version it had to guess.
54
+ */
55
+ export function pinnedVersion(spec) {
56
+ const m = /^(?:\^|~|>=|=|v)?(\d+\.\d+\.\d+(?:-[\w.]+)?)$/.exec(spec.trim());
57
+ return m ? (m[1] ?? null) : null;
58
+ }
59
+ /** `name@spec` joined for display. */
60
+ export function formatUnresolved(u) {
61
+ return `${u.name}@${u.spec}`;
62
+ }
63
+ //# sourceMappingURL=npm-unresolved.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"npm-unresolved.js","sourceRoot":"","sources":["../../../src/verify/install-probe/npm-unresolved.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"default-on-guards.d.ts","sourceRoot":"","sources":["../../../src/verify/run-selection/default-on-guards.ts"],"names":[],"mappings":"AA6DA,OAAO,EAAkB,KAAK,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAsJjF,8EAA8E;AAC9E,wBAAgB,6BAA6B,IAAI,IAAI,CAMpD;AAED,0GAA0G;AAC1G,wBAAgB,2BAA2B,IAAI,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAEhF;AAED,sHAAsH;AACtH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAEzD;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEpE;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAE/D;AAED,4CAA4C;AAC5C,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAEnE;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,eAAe,GAAG,IAAI,CAS3F;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAE3D;AAED,4EAA4E;AAC5E,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,wFAAwF;IACxF,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,oBAAoB,GAAG,IAAI,CA0C1F;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAYzD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,EAAE,QAAQ,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,OAAO,CAqBzH;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,OAAO,CAc3F;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,wBAAwB,CAAC,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAuBxG"}
1
+ {"version":3,"file":"default-on-guards.d.ts","sourceRoot":"","sources":["../../../src/verify/run-selection/default-on-guards.ts"],"names":[],"mappings":"AA2CA,OAAO,EAAkB,KAAK,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAsJjF,8EAA8E;AAC9E,wBAAgB,6BAA6B,IAAI,IAAI,CAMpD;AAED,0GAA0G;AAC1G,wBAAgB,2BAA2B,IAAI,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAEhF;AAED,sHAAsH;AACtH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAEzD;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEpE;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAE/D;AAED,4CAA4C;AAC5C,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAEnE;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,eAAe,GAAG,IAAI,CAS3F;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAE3D;AAED,4EAA4E;AAC5E,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,wFAAwF;IACxF,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,oBAAoB,GAAG,IAAI,CA0C1F;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAYzD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,EAAE,QAAQ,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,OAAO,CAqBzH;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,OAAO,CAc3F;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,wBAAwB,CAAC,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAuBxG"}
@@ -1,23 +1,5 @@
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/integration/explicit-verdict-departure-during-removal.test.ts,
3
- // packages/daemon/src/integration/explicit-verdict-invalidation-restart.test.ts,
4
- // packages/daemon/src/integration/explicit-verdict-reuse.test.ts,
5
- // packages/daemon/src/integration/focus-commit-verdict-scenario.test.ts,
6
- // packages/daemon/src/integration/held-route-pull-dispatch.test.ts,
7
- // packages/daemon/src/integration/review-verdict-ruling-release.test.ts,
8
- // packages/daemon/src/integration/shortfall-ruling-disposes-proposals-regression.test.ts,
9
- // packages/daemon/src/integration/shortfall-ruling-release.test.ts,
10
- // packages/daemon/src/verify/deterministic-gate/verify-unprovisioned-worktree.test.ts,
11
- // packages/daemon/src/verify/engine/verification-commit-sharing.test.ts,
12
- // packages/daemon/src/verify/gate-config/verification-run-config-source.test.ts,
13
- // packages/daemon/src/verify/outcome-routing/verification-model-unavailable-hold.test.ts,
14
- // packages/daemon/src/verify/run-selection/commit-verdict-pull.test.ts,
15
- // packages/daemon/src/verify/run-selection/credit-rearm.test.ts,
16
- // packages/daemon/src/verify/run-selection/reselection-log-line.test.ts,
17
- // packages/daemon/src/verify/run-selection/verification-default-on.test.ts,
18
- // packages/daemon/src/verify/run-selection/verification-tick-product-scoping.test.ts,
19
- // packages/daemon/src/verify/shortfalls/shortfall-rulings.test.ts,
20
- // packages/daemon/src/worktree/worktree-package-provisioning.test.ts
2
+ // Pinned by: 21 tests -- run: npm run gen:pinned-by -- --list packages/daemon/src/verify/run-selection/default-on-guards.ts
21
3
  // PINNED-BY-END
22
4
  /**
23
5
  * The default-on scan's steady-state re-run guards: what a delivery sitting in
@@ -1 +1 @@
1
- {"version":3,"file":"default-on-guards.js","sourceRoot":"","sources":["../../../src/verify/run-selection/default-on-guards.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"default-on-guards.js","sourceRoot":"","sources":["../../../src/verify/run-selection/default-on-guards.ts"],"names":[],"mappings":"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"}
@@ -9,8 +9,10 @@
9
9
  *
10
10
  * `deliveryId` names the delivery the verify is judging, so the actionable-work
11
11
  * predicate can withhold exactly that delivery (see {@link verifyHeldDeliveryIds}).
12
+ * `maxHoldMs` is the owner's kill timeout -- how long its process can live -- so a
13
+ * waiter can bound its wait by it ({@link verifyHoldOutlastsMs}).
12
14
  */
13
- export declare function acquireVerifyHold(worktreePath: string, deliveryId?: string): () => void;
15
+ export declare function acquireVerifyHold(worktreePath: string, deliveryId?: string, maxHoldMs?: number): () => void;
14
16
  /**
15
17
  * The delivery ids the in-flight verifies in `worktreePath` are judging. Empty
16
18
  * when the worktree is not held, or when its holds named no delivery.
@@ -24,7 +26,26 @@ export declare function verifyHeldDeliveryIds(worktreePath: string): ReadonlySet
24
26
  * verify in one focus's worktree never blocks a commit in another's.
25
27
  */
26
28
  export declare function isWorktreeUnderVerify(worktreePath: string): boolean;
27
- /** Test seam: clear all holds between cases. */
29
+ /**
30
+ * How long, from `now`, the holds standing on `worktreePath` can still stand: the
31
+ * latest deadline among them, each its acquisition plus the kill timeout its owner
32
+ * declared; a hold whose owner declared none counts as standing `undeclaredMs` more.
33
+ * 0 when nothing holds the worktree. A wait bounded by at least this never ends
34
+ * before a legitimate hold's own timeout ends it.
35
+ */
36
+ export declare function verifyHoldOutlastsMs(worktreePath: string, undeclaredMs: number, now: number): number;
37
+ /**
38
+ * Resolve once no verify holds `worktreePath` -- at once when none does -- or when
39
+ * `maxWaitMs` elapses first ('timed_out'). The bound is a backstop, not the
40
+ * expected path: every hold is released when its verify process exits, and that
41
+ * process is killed at its own timeout, so a wait bounded past that timeout
42
+ * ({@link verifyHoldOutlastsMs}) outlives the bound only when a hold leaked. A gate
43
+ * run waits here before it takes a verification slot, so it does not start in a
44
+ * worktree another verify is judging -- nor after a timed-out wait, which ends
45
+ * that dispatch unstarted (verify/engine/verification-engine.ts).
46
+ */
47
+ export declare function awaitVerifyHoldRelease(worktreePath: string, maxWaitMs: number): Promise<'released' | 'timed_out'>;
48
+ /** Test seam: clear all holds between cases (anyone waiting on a release is woken). */
28
49
  export declare function __resetVerifyHolds(): void;
29
50
  /** The probe {@link runWorktreeMutationUnderInterlock} decides over; production binds {@link isWorktreeUnderVerify}. */
30
51
  export interface WorktreeMutationInterlockDeps {
@@ -1 +1 @@
1
- {"version":3,"file":"verify-interlock.d.ts","sourceRoot":"","sources":["../../src/worktree/verify-interlock.ts"],"names":[],"mappings":"AAuFA;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,IAAI,CAkBvF;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAE/E;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAEnE;AAED,gDAAgD;AAChD,wBAAgB,kBAAkB,IAAI,IAAI,CAGzC;AAED,wHAAwH;AACxH,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,qBAAqB,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC;CACnE;AAED;;;GAGG;AACH,MAAM,MAAM,sBAAsB,CAAC,CAAC,IAChC;IAAE,QAAQ,EAAE,IAAI,CAAA;CAAE,GAClB;IAAE,QAAQ,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,CAAC,CAAA;CAAE,CAAC;AAEnC;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,iCAAiC,CAAC,CAAC,EACjD,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,CAAC,EACf,IAAI,EAAE,6BAA6B,GAClC,sBAAsB,CAAC,CAAC,CAAC,CAM3B"}
1
+ {"version":3,"file":"verify-interlock.d.ts","sourceRoot":"","sources":["../../src/worktree/verify-interlock.ts"],"names":[],"mappings":"AAyGA;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,IAAI,CAyB3G;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAE/E;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAEnE;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAMpG;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,WAAW,CAAC,CAqBjH;AAED,uFAAuF;AACvF,wBAAgB,kBAAkB,IAAI,IAAI,CAKzC;AAED,wHAAwH;AACxH,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,qBAAqB,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC;CACnE;AAED;;;GAGG;AACH,MAAM,MAAM,sBAAsB,CAAC,CAAC,IAChC;IAAE,QAAQ,EAAE,IAAI,CAAA;CAAE,GAClB;IAAE,QAAQ,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,CAAC,CAAA;CAAE,CAAC;AAEnC;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,iCAAiC,CAAC,CAAC,EACjD,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,CAAC,EACf,IAAI,EAAE,6BAA6B,GAClC,sBAAsB,CAAC,CAAC,CAAC,CAM3B"}