@overdeck/desktop 0.45.15 → 0.45.18

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 (372) hide show
  1. package/dist-electron/main.js +149 -158
  2. package/dist-electron/main.js.map +1 -1
  3. package/dist-electron/preload.js +17 -2
  4. package/dist-electron/preload.js.map +1 -1
  5. package/package.json +5 -4
  6. package/server/acceptance-criteria-aQFKQf-J.js +62 -0
  7. package/server/{advancing-selfheal-CSuZ31bB.js → advancing-selfheal-DgwQgm4D.js} +6 -5
  8. package/server/{agent-gc-D_DxfBHR.js → agent-gc-kpzxqT7P.js} +3 -3
  9. package/server/agent-state-C_6TG-Ad.js +3 -0
  10. package/server/{agent-state-service-C_2ZAQRP.js → agent-state-service-BUfovFfB.js} +1 -1
  11. package/server/{agent-state-service-BZkvgQf4.js → agent-state-service-nUD3qfob.js} +9 -52
  12. package/server/agents-BA15AQqo.js +3 -0
  13. package/server/{briefing-freshness-Kh5V8RTh.js → agents-BHBxr8c9.js} +5 -131
  14. package/server/{archive-planning-DkivCk1A.js → archive-planning-CzCW9Ifl.js} +5 -10
  15. package/server/{archive-planning-CTILQRnV.js → archive-planning-D-QsBufn.js} +1 -1
  16. package/server/{artifact-index-jobs-CmsvQ1ey.js → artifact-index-jobs-qqa51B2Z.js} +2 -2
  17. package/server/{backlog-auto-trigger-ueRaT8Dy.js → backlog-auto-trigger-B7Bi0bvY.js} +3 -3
  18. package/server/behavior-CWqNMqE5.js +10 -0
  19. package/server/briefing-freshness-DuxIE1yr.js +131 -0
  20. package/server/{checkpoint-manager-fu9oVsR-.js → checkpoint-manager-DF6hb9Jw.js} +3 -3
  21. package/server/{checkpoint-manager-CAFos8e1.js → checkpoint-manager-DixkLus7.js} +1 -1
  22. package/server/checkpoint-worker.js +1 -1
  23. package/server/{checkpoints-DvhGi8P_.js → checkpoints-B1Z42tJE.js} +1 -1
  24. package/server/{checkpoints-1BqOlS4q.js → checkpoints-BiviJqei.js} +2 -2
  25. package/server/claude-hooks-provision-BeMGi4ty.js +3 -0
  26. package/server/{claude-hooks-provision-s_wdpeVj.js → claude-hooks-provision-Du_PkMsp.js} +132 -114
  27. package/server/{claude-permissions-CaWqysff.js → claude-permissions-BB6agcOZ.js} +2 -2
  28. package/server/{claude-settings-overlay-CcTf0xzG.js → claude-settings-overlay-CAq2oFSK.js} +2 -2
  29. package/server/{claude-settings-overlay-BbA4FbVI.js → claude-settings-overlay-DUWWLd6M.js} +1 -1
  30. package/server/cli-BFgrSWKV.js +3 -0
  31. package/server/{cli-BwCvCUBK.js → cli-C33xPZNm.js} +9 -9
  32. package/server/{cliproxy-C2xC-3vH.js → cliproxy-BQX1TL6N.js} +1 -1
  33. package/server/{cliproxy-BsoNNDAj.js → cliproxy-CGBA1GzA.js} +2 -2
  34. package/server/{close-issue-BleIwP3f.js → close-issue-DNv8npc1.js} +5 -5
  35. package/server/{closed-issue-reaper-BwUUvjEW.js → closed-issue-reaper-DrqgBJlr.js} +1 -1
  36. package/server/{closed-issue-reaper-mC5pujeb.js → closed-issue-reaper-LoMnnjtJ.js} +9 -9
  37. package/server/codex-DxLivxri.js +3 -0
  38. package/server/{behavior-Cpj03N4v.js → codex-parser-DboQnEXN.js} +3 -9
  39. package/server/{codex-DW60_5j2.js → codex-sgWVCGUd.js} +43 -17
  40. package/server/{config-BRNQJXhA.js → config-6MCHOZ2N.js} +1 -1
  41. package/server/{config-ZNnMpIlh.js → config-DfaUXr6r.js} +2 -2
  42. package/server/{config-yaml-Dcz-8uit.js → config-yaml-CqaAyn8y.js} +149 -80
  43. package/server/{conflict-gate-DTje2Ll7.js → conflict-gate-BF_zhcmb.js} +3 -3
  44. package/server/{conflict-gate-DGT8jCLp.js → conflict-gate-BubJprtD.js} +1 -1
  45. package/server/{context-layers-BdUCQ-cl.js → context-layers-BFrxfl0l.js} +17 -3
  46. package/server/{context-layers-ByOWUjUg.js → context-layers-DWL_8HhY.js} +2 -2
  47. package/server/{control-settings-DwkAeooY.js → control-settings-BguNQ1F_.js} +4 -4
  48. package/server/{conversation-compaction-WYQZUVDm.js → conversation-compaction-CRKAf2qP.js} +1 -1
  49. package/server/{conversation-compaction-OTYgd6eg.js → conversation-compaction-DxSXl0pT.js} +8 -8
  50. package/server/{conversation-service-C_kNZPLx.js → conversation-service-DzuY9qoH.js} +1 -1
  51. package/server/{conversation-service-BR1OgvxO.js → conversation-service-mFVFdDQK.js} +6 -5
  52. package/server/{conversations-DG2M8WnT.js → conversations-BX5aD-6F.js} +4 -4
  53. package/server/{conversations-izHvSoAR.js → conversations-BajHQ60c.js} +1 -1
  54. package/server/{cost-DQ2ajr_m.js → cost-BoqD1Pxz.js} +2 -2
  55. package/server/{cost-B2mj17iG.js → cost-DuZ5vlv-.js} +3 -3
  56. package/server/{cost-sync-gTayEuWP.js → cost-sync-BYnmnMkY.js} +3 -3
  57. package/server/{dag-CqTehWpY.js → dag-C6kYyF17.js} +7 -243
  58. package/server/{dangerous-git-ops-DDWQlPC3.js → dangerous-git-ops-q5OPtXMd.js} +1 -1
  59. package/server/dashboard-db-worker.js +6 -6
  60. package/server/{deacon-BqW9HMew.js → deacon-CwCiNuEZ.js} +3 -3
  61. package/server/{deacon-DrKDBeJL.js → deacon-Dru5onpk.js} +258 -167
  62. package/server/{deacon-nudge-log-D1wEK6zF.js → deacon-nudge-log-ilDfxrhK.js} +1 -1
  63. package/server/{deacon-swarm-CO_A7xyd.js → deacon-swarm-BPmBmSoU.js} +298 -72
  64. package/server/deacon-swarm-CKyGJng1.js +2 -0
  65. package/server/deacon.js +14 -7
  66. package/server/{devcontainer-renderer-BQolp_qZ.js → devcontainer-renderer-BqGNCzvN.js} +3 -3
  67. package/server/{dist-Bc32rWJB.js → dist-BwlEiLCU.js} +1 -1
  68. package/server/dist-Bx4KkgYL.js +3 -0
  69. package/server/{dist-src-Byxt1ifL.js → dist-src-BE0Denfs.js} +1 -1
  70. package/server/{docker-s-esqZ__.js → docker-CNjXS72x.js} +2 -2
  71. package/server/{ensure-devcontainer-DA4-jF6R.js → ensure-devcontainer-5e9xOve4.js} +4 -4
  72. package/server/{ensure-devcontainer-pUVaT0h3.js → ensure-devcontainer-C6gyUQdE.js} +1 -1
  73. package/server/{esm-shims-CJHy8CZY.js → esm-shims-Cso7IGBC.js} +1 -1
  74. package/server/{event-store-CcJAhKCl.js → event-store-D9UhQyMS.js} +1 -1
  75. package/server/{event-store-DRte2Rwt.js → event-store-KZnWUKWh.js} +3 -3
  76. package/server/{events-Bej1w_k8.js → events-2eFUPdqz.js} +3 -3
  77. package/server/{events-CtsLScn8.js → events-BYbvqZky.js} +1 -1
  78. package/server/{factory-FN727tWr.js → factory-BtaRsHFC.js} +20 -17
  79. package/server/{feature-registry-population-ie-yBcQC.js → feature-registry-population-Ca2UaV0U.js} +4 -4
  80. package/server/{feature-registry-storage-CkZTFSsn.js → feature-registry-storage-DaP-bQxO.js} +2 -2
  81. package/server/{features-Dtm9ABuz.js → features-DqvaoQoa.js} +2 -2
  82. package/server/{feedback-target-BYtpyt1i.js → feedback-target-BXWdOiYI.js} +9 -7
  83. package/server/{feedback-target-DVJQDiE4.js → feedback-target-BblmMe9P.js} +1 -1
  84. package/server/{feedback-writer-DOUhyIW2.js → feedback-writer-CULeOOY4.js} +1 -1
  85. package/server/{feedback-writer-fdE1BzeL.js → feedback-writer-Dn8o9ZyE.js} +4 -4
  86. package/server/{flywheel-Bi82iiNl.js → flywheel-BUWdcfhq.js} +1 -1
  87. package/server/{flywheel-Bv3wv2S6.js → flywheel-CqkO3cDj.js} +15 -28
  88. package/server/{flywheel-CUErLAyN.js → flywheel-D9r1mw2U.js} +13 -13
  89. package/server/{flywheel-merge-order-DXjeBnJ1.js → flywheel-merge-order-LDzQDwSg.js} +1 -1
  90. package/server/{flywheel-merge-order-BaEN3iyN.js → flywheel-merge-order-VtjUweEb.js} +7 -7
  91. package/server/forge-DJy3Zx4s.js +2 -0
  92. package/server/{forge-ButEdJ31.js → forge-wEollMCi.js} +22 -12
  93. package/server/{from-CbtTxftl.js → from-B2tOYhYV.js} +1 -1
  94. package/server/{fts-db-CBgBLZcL.js → fts-db-Bgzn2RO7.js} +2 -2
  95. package/server/{fts-operations-CI9Xuo_1.js → fts-operations-Bj8yutnR.js} +2 -2
  96. package/server/{git-utils-ClfpP47N.js → git-utils-GxlL0tmt.js} +2 -2
  97. package/server/{git-utils-BCLRWQ-y.js → git-utils-q8jNoBts.js} +1 -1
  98. package/server/{github-app-DRD2woO0.js → github-app-BrYwK_Gb.js} +1 -1
  99. package/server/{github-app-DscZ0_B6.js → github-app-tUbb8Ldr.js} +8 -3
  100. package/server/{github-client-DpiZnxGH.js → github-client-BwBU41jK.js} +3 -3
  101. package/server/{github-client-iFRw8f7e.js → github-client-D6CNsftm.js} +1 -1
  102. package/server/{github-pr-lookup-D-EBexxC.js → github-pr-lookup-BS5PqkJb.js} +2 -2
  103. package/server/{harness-resolve-iMjyNUJ2.js → harness-resolve-Dx8hUsvC.js} +3 -3
  104. package/server/{health-events-CRdxDFN2.js → health-events-2DLp-5Xp.js} +2 -2
  105. package/server/{health-events-B_WsQyYm.js → health-events-B0mj6Iae.js} +1 -1
  106. package/server/{hooks-C1ScyVxP.js → hooks-BDcQJDUe.js} +1 -1
  107. package/server/{hooks-C9b7Vqpw.js → hooks-BS_JrvYP.js} +3 -3
  108. package/server/hume-B4seN95Y.js +3 -0
  109. package/server/{hume-TQ5pvOZ_.js → hume-BRhNKyXQ.js} +2 -2
  110. package/server/{idle-stack-reaper-B1kG7B_X.js → idle-stack-reaper-BCITXNW5.js} +2 -2
  111. package/server/{idle-stack-reaper-iFVOAoJy.js → idle-stack-reaper-C1ymihno.js} +1 -1
  112. package/server/{infra-bpq1MHKU.js → infra-_Kx1m9pm.js} +9 -4
  113. package/server/{injection-BLWfwTVZ.js → injection-Bvhyg_MV.js} +1 -1
  114. package/server/{injection-DJqWld1v.js → injection-CCaYkofq.js} +7 -7
  115. package/server/{inspect-agent-DytCsltn.js → inspect-agent-BqyZ4pCo.js} +35 -67
  116. package/server/inspect-agent-DCJQm9Wu.js +2 -0
  117. package/server/{internal-token-CjlhdufS.js → internal-token-Cl-1IxaE.js} +2 -2
  118. package/server/{internal-token-CCaWaTwE.js → internal-token-D-t28de5.js} +1 -1
  119. package/server/{io-BiQ2Cs3k.js → io-DkC4sFSy.js} +42 -56
  120. package/server/{issue-closed-FApNiOOs.js → issue-closed-Cpl4VDUM.js} +41 -6
  121. package/server/{issue-lifecycle-C-K53ASY.js → issue-lifecycle-CFR8TJ22.js} +22 -37
  122. package/server/{issue-lifecycle-BkFWNjlD.js → issue-lifecycle-YNTy3OT3.js} +1 -1
  123. package/server/{issue-service-singleton-bG1WdSdQ.js → issue-service-singleton-D81mCts_.js} +1 -1
  124. package/server/{issue-service-singleton-CuHGpJJP.js → issue-service-singleton-ldvUUXi3.js} +29 -29
  125. package/server/{issues-CwQMphDH.js → issues-DIEHt9sq.js} +2 -2
  126. package/server/{jsonl-parser-dNIjHgym.js → jsonl-parser-Cd5jIqh7.js} +3 -3
  127. package/server/{label-cleanup-DYvAZknd.js → label-cleanup-Btny6Gyo.js} +3 -3
  128. package/server/{state-home-CRowbXqU.js → launcher-generator-BXLM9f4b.js} +7 -127
  129. package/server/{layers-CD6FysRU.js → layers-gCJlK62m.js} +2 -2
  130. package/server/lifecycle-D7aQUnTO.js +12 -0
  131. package/server/{lifecycle-io-C_Wu0_i-.js → lifecycle-io-DQBF-GHO.js} +1 -1
  132. package/server/{lifecycle-io-CeYxP3cE.js → lifecycle-io-FfPUtz-y.js} +36 -47
  133. package/server/{linear-client-EtVyblVz.js → linear-client-CDH2D6Qy.js} +3 -3
  134. package/server/{linear-client-4qoKnuQu.js → linear-client-WrYrUIAH.js} +1 -1
  135. package/server/memory-fts-worker.js +1 -1
  136. package/server/{merge-7rqkTUm2.js → merge-BsDgUxFz.js} +3 -3
  137. package/server/{merge-brm721Es.js → merge-Dervs4BF.js} +1 -1
  138. package/server/{merge-agent-4Zhlgvqp.js → merge-agent-D6DNhe9j.js} +64 -51
  139. package/server/{merge-agent-36wfYm2u.js → merge-agent-DMQTJMP0.js} +1 -1
  140. package/server/{merge-batch-itfnwdsT.js → merge-batch-Bv6Z5K2H.js} +1 -1
  141. package/server/{merge-blockers-Bto_Oe_o.js → merge-blockers-WWWi6Ur2.js} +2 -2
  142. package/server/merge-ops-h9OCnIVz.js +2 -0
  143. package/server/{merge-rebase-Czfqfe4q.js → merge-rebase-Czth9ggm.js} +2 -2
  144. package/server/{merge-set-BIkGQL9j.js → merge-set-DNc4zBqd.js} +3 -3
  145. package/server/{merge-set-G1RHcu3D.js → merge-set-vuE3MEVt.js} +1 -1
  146. package/server/{merge-sync-B43Dybea.js → merge-sync-B2KSk54U.js} +2 -2
  147. package/server/{merge-sync-DIrmlZUr.js → merge-sync-B9nHdUGx.js} +1 -1
  148. package/server/{merge-train-DGqVuNZV.js → merge-train-DJgr81tF.js} +3 -3
  149. package/server/{merge-train-deps-q15XLnAS.js → merge-train-deps-B2OWS0k9.js} +4 -4
  150. package/server/{merge-verification-Cqfxx6bE.js → merge-verification-BBIXUEqa.js} +4 -4
  151. package/server/{multipart-parser-CiPxxfUH.js → multipart-parser-9DhuAkPd.js} +2 -2
  152. package/server/{no-resume-mode-yrPEQ_pC.js → no-resume-mode-Gh5R_YLF.js} +1 -1
  153. package/server/node_modules/.package-lock.json +11 -11
  154. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/package.json +3 -3
  155. package/server/node_modules/toml/README.md +54 -0
  156. package/server/node_modules/toml/index.d.ts +42 -1
  157. package/server/node_modules/toml/index.js +3 -3
  158. package/server/node_modules/toml/lib/compiler.js +35 -3
  159. package/server/node_modules/toml/lib/parser.js +224 -143
  160. package/server/node_modules/toml/package.json +3 -1
  161. package/server/node_modules/ws/lib/receiver.js +15 -32
  162. package/server/node_modules/ws/lib/websocket-server.js +4 -4
  163. package/server/node_modules/ws/lib/websocket.js +4 -4
  164. package/server/node_modules/ws/package.json +5 -1
  165. package/server/{orphan-proposed-reconciler-BWWHn4Lr.js → orphan-proposed-reconciler-B8H41C4a.js} +14 -24
  166. package/server/{orphan-proposed-reconciler-DAD9FJtQ.js → orphan-proposed-reconciler-DbTmT7qy.js} +1 -1
  167. package/server/package-lock.json +12 -12
  168. package/server/package.json +1 -1
  169. package/server/{pan-dir-Bj7Hy8iu.js → pan-dir-BTw4MdSe.js} +4 -4
  170. package/server/{paths-C9DkhIOT.js → paths-Btkc8mzp.js} +2 -2
  171. package/server/{pickup-CKRuGDsB.js → pickup-BtvRBbvI.js} +1 -1
  172. package/server/{pipeline-notifier-BkKbQ8ji.js → pipeline-notifier-3frIvSi3.js} +1 -1
  173. package/server/{pipeline-notifier-CAurUste.js → pipeline-notifier-DTd19f18.js} +2 -2
  174. package/server/{project-pipelines-BRWaGmI4.js → project-pipelines-B95fcAek.js} +2 -2
  175. package/server/projects-Dc9aoVoG.js +3 -0
  176. package/server/{prompts-DfI5qbTW.js → prompts-CIVmjHxn.js} +2 -2
  177. package/server/{providers-D-5txBRc.js → providers-BLLk5IIb.js} +1 -1
  178. package/server/{providers-CWDXoaMA.js → providers-C-yWibCk.js} +7 -7
  179. package/server/public/assets/chunk-BO2N2NFS-DzKZyoKY.js +103 -0
  180. package/server/public/assets/{diagram-OG6HWLK6-Avtvq2qI.js → diagram-OG6HWLK6-Cx8mWUb8.js} +1 -1
  181. package/server/public/assets/{dist-BEHQuasD.js → dist-BqccLhaw.js} +3 -3
  182. package/server/public/assets/{dist-BvmY-qb1.js → dist-rC3nAs_O.js} +1 -1
  183. package/server/public/assets/{ganttDiagram-6RSMTGT7-7KhCd0fH.js → ganttDiagram-6RSMTGT7-DLYPLf5T.js} +1 -1
  184. package/server/public/assets/{highlighted-body-OFNGDK62-iQoBMTf0.js → highlighted-body-OFNGDK62-D4DqixbV.js} +1 -1
  185. package/server/public/assets/index-CPcysUHk.js +796 -0
  186. package/server/public/assets/index-H5M0yhM4.css +1 -0
  187. package/server/public/assets/{linear-CiJHW9g5.js → linear-yqcXkDfj.js} +1 -1
  188. package/server/public/assets/mermaid-GHXKKRXX-CWdZ_heB.js +1 -0
  189. package/server/public/assets/{pieDiagram-4H26LBE5-BOhmvUhW.js → pieDiagram-4H26LBE5-DhraIOaV.js} +1 -1
  190. package/server/public/assets/{prod-DmLBBqat.js → prod-DKUunUdN.js} +4 -4
  191. package/server/public/assets/{quadrantDiagram-W4KKPZXB-Cjku660G.js → quadrantDiagram-W4KKPZXB-DPiRcToa.js} +1 -1
  192. package/server/public/assets/{sankeyDiagram-5OEKKPKP-D52w5oPh.js → sankeyDiagram-5OEKKPKP-3An5HNkZ.js} +1 -1
  193. package/server/public/assets/{xychartDiagram-2RQKCTM6-BTO07_Iv.js → xychartDiagram-2RQKCTM6-lbEOjfqQ.js} +1 -1
  194. package/server/public/index.html +2 -2
  195. package/server/{pull-requests-CKZPWhjD.js → pull-requests-D7AL5woD.js} +1 -1
  196. package/server/{pull-requests-Bmre-Xlz.js → pull-requests-NDDNtqNq.js} +3 -3
  197. package/server/{agents-CsOzAmRg.js → queries-C0LCGG21.js} +743 -399
  198. package/server/{rally-BBd9tQ__.js → rally-4oKvnxLG.js} +3 -3
  199. package/server/rally-DF5a3ioP.js +3 -0
  200. package/server/{rally-api-DxZFObI_.js → rally-api-41tT6ikZ.js} +2 -2
  201. package/server/{rally-api-DDc85HIz.js → rally-api-BsaQ8Vnz.js} +1 -1
  202. package/server/{rally-client-DvvLiAQP.js → rally-client-Bo4hNcCZ.js} +5 -5
  203. package/server/{rally-client-BADHn0m_.js → rally-client-b5PT1x5L.js} +1 -1
  204. package/server/{reap-terminal-sessions-D_xvy-Mk.js → reap-terminal-sessions-BR39qflC.js} +1 -1
  205. package/server/{reap-terminal-sessions-D6JDJsqF.js → reap-terminal-sessions-CFkuquQj.js} +1 -1
  206. package/server/{rebuild-stack-GOsWqXi3.js → rebuild-stack-C7JPUom6.js} +1 -1
  207. package/server/{rebuild-stack-D19i080j.js → rebuild-stack-Ddv6W017.js} +6 -6
  208. package/server/{reconstruct-cache-lQrG4xGg.js → reconstruct-cache-Gqhm---K.js} +6 -6
  209. package/server/record-DLOqfbkI.js +3 -0
  210. package/server/record-update-BltEmPge.js +168 -0
  211. package/server/record-update-CDp7aTaT.js +3 -0
  212. package/server/recovery-trip-Cn7KJVkS.js +44 -0
  213. package/server/{release-engine-DxcMWRuK.js → release-engine-BYzmIBf9.js} +5 -5
  214. package/server/{release-set-BYsgX7o6.js → release-set-7pnxFOWR.js} +3 -3
  215. package/server/{remote-DmeL21dF.js → remote-Cvu4CSDk.js} +3 -3
  216. package/server/{remote-agents-BfQBE6MN.js → remote-agents-C2C6z9tj.js} +6 -33
  217. package/server/{remote-agents-DlvbzO7m.js → remote-agents-DYY5fFpd.js} +1 -1
  218. package/server/{remote-completion-BgkiSQmx.js → remote-completion-2Kb4IDg_.js} +13 -13
  219. package/server/{remote-8W2Yhygw.js → remote-rN0ecjHE.js} +3 -3
  220. package/server/resume-BFLl-yLn.js +3 -0
  221. package/server/{review-agent-D025Wt7w.js → review-agent-BZvk0N5G.js} +31 -23
  222. package/server/{review-agent-Rub0OpZc.js → review-agent-CpSHLzed.js} +1 -1
  223. package/server/{review-artifacts-CX951jTU.js → review-artifacts-PCo53YMn.js} +5 -19
  224. package/server/{review-context-DGGGR_w5.js → review-context-M7QtJlJq.js} +8 -8
  225. package/server/{review-monitor-0_qqMcnS.js → review-monitor-BLC5mTTg.js} +2 -2
  226. package/server/{review-status-Br6lAFGO.js → review-status-77N3PoZr.js} +1 -1
  227. package/server/{review-status-4qqLkRMu.js → review-status-DANr0t-v.js} +33 -59
  228. package/server/{review-status-enrichment-Cr8m3uVL.js → review-status-enrichment-DwOg4UfL.js} +3 -3
  229. package/server/{review-status-sync-D3KUhsdA.js → review-status-sync-Bd08OOFA.js} +1 -1
  230. package/server/{review-status-sync-OC-l1lNt.js → review-status-sync-BjTUJ5fx.js} +2 -2
  231. package/server/{review-verdict-feedback-YOzmsq9G.js → review-verdict-feedback-BsFLjN_6.js} +1 -1
  232. package/server/{review-verdict-feedback-DrWMuRaj.js → review-verdict-feedback-CBf-J_wS.js} +8 -8
  233. package/server/{rollup-CnxbwaLH.js → rollup-Bu0f2EyN.js} +8 -8
  234. package/server/{rollup-DmazRY0j.js → rollup-DTCCdEy4.js} +1 -1
  235. package/server/{scanner-DE1MqAaF.js → scanner-BlZ2vB7j.js} +7 -7
  236. package/server/{sequence-io-C0uoqfGx.js → sequence-io-ylyDtz2J.js} +4 -4
  237. package/server/{sequencer-agent-i-b2u4SJ.js → sequencer-agent-DsWQ-87H.js} +6 -17
  238. package/server/server.js +5670 -6392
  239. package/server/{service-D0_gh2tl.js → service-CLVBC_1Y.js} +116 -90
  240. package/server/{session-fork-DZ12vipL.js → session-fork-DlEIAhRy.js} +2 -2
  241. package/server/session-history-bnOFKMwf.js +168 -0
  242. package/server/settings-CP3GGon2.js +2 -0
  243. package/server/{settings-ByqjPtFO.js → settings-Cqa-8nyj.js} +2 -2
  244. package/server/{settings-DCC4BAqj.js → settings-gJrdLZy2.js} +3 -3
  245. package/server/{shadow-engineering-BhnmtW5m.js → shadow-engineering-fq1YEKV3.js} +3 -3
  246. package/server/{shadow-state-ByXZehsy.js → shadow-state-BqeFAygK.js} +1 -1
  247. package/server/{shadow-state-CKm8xWX9.js → shadow-state-RptE9Cau.js} +2 -2
  248. package/server/shadow-utils-BMWr5tRT.js +39 -0
  249. package/server/{ship-log-DE_0Cv_i.js → ship-log-BRQQi2lU.js} +1 -1
  250. package/server/{smart-compaction-D5Zen3AA.js → smart-compaction-CmoXpjeU.js} +7 -7
  251. package/server/{smart-compaction-h4_ca6Uk.js → smart-compaction-DldUel4B.js} +1 -1
  252. package/server/{spawn-planning-session-Dueit4WX.js → spawn-planning-session-CoS6LTc6.js} +16 -16
  253. package/server/{spawn-planning-session-Bgi7Ub02.js → spawn-planning-session-DT2tSMxo.js} +1 -1
  254. package/server/{specialist-completion-BZ8M-WZ0.js → specialist-completion-pJtESo7m.js} +1 -1
  255. package/server/{specialist-context-BMq83C58.js → specialist-context-CspI4Eog.js} +5 -5
  256. package/server/{specialist-handoff-logger-BxX1YefH.js → specialist-handoff-logger-Duz9RGvk.js} +2 -2
  257. package/server/{specialist-logs-BWZYcJ6P.js → specialist-logs-DtSkPJZK.js} +3 -3
  258. package/server/{specialists-ZkW4Mb7U.js → specialists-CywEMwxk.js} +1 -1
  259. package/server/{specialists-8ZAguXef.js → specialists-D9-dMUtI.js} +1 -1
  260. package/server/{specialists-BudKrjOu.js → specialists-Dax7tqXC.js} +1817 -560
  261. package/server/{specialists-DrPrC9Y9.js → specialists-GF42OOqd.js} +18 -18
  262. package/server/specs-VwcFtEDi.js +3 -0
  263. package/server/{src-DHn4Rd2F.js → src-By3D85Ry.js} +77 -1
  264. package/server/{src-Dv6L03vW.js → src-CqyFg52C.js} +5 -5
  265. package/server/{src-DNUUqkec.js → src-DhxM-eCb.js} +6 -6
  266. package/server/{stack-health-Dclm7_tu.js → stack-health-BsEVrJZ6.js} +1 -1
  267. package/server/{stack-health-DxsTx7II.js → stack-health-C-SnpRHh.js} +2 -2
  268. package/server/stale-task-claims-vTxmRzLi.js +69 -0
  269. package/server/state-home-Bur1y4oH.js +213 -0
  270. package/server/{state-mapping-BvAgFK8n.js → state-mapping-Ci0pkac4.js} +1 -1
  271. package/server/state-migrate-D3VveYfO.js +362 -0
  272. package/server/{stuck-remediation-CFWUP8_I.js → stuck-remediation-B699-p8v.js} +63 -46
  273. package/server/{stuck-remediation-CLHd-lrF.js → stuck-remediation-CaFYYTQW.js} +1 -1
  274. package/server/{summary-fork-CKc01Our.js → summary-fork-BxnF8Xh0.js} +2 -2
  275. package/server/{summary-fork-CtCwBJ2Z.js → summary-fork-COqYpVa3.js} +8 -8
  276. package/server/supervisor/{paths-3R6b989k.js → paths-Bk6hJRH9.js} +4 -3
  277. package/server/supervisor/pty-supervisor.js +2 -2
  278. package/server/supervisor/{pty-token-CScQ32Rj.js → pty-token-BZS5GYdG.js} +2 -2
  279. package/server/supervisor-eWAAmXKu.js +2 -0
  280. package/server/{supervisor-BA5D72Qa.js → supervisor-liMgIPDF.js} +2 -2
  281. package/server/{swarm-readiness-CL5sM9B1.js → swarm-readiness-sXB1vhzo.js} +3 -3
  282. package/server/{system-prerequisites-DmFSXIE5.js → system-prerequisites-Bz6KdkFJ.js} +1 -13
  283. package/server/{teardown-workspace-DWmFJzTw.js → teardown-workspace-DvzqnmUF.js} +14 -71
  284. package/server/{test-agent-queue-DjsQoV5X.js → test-agent-queue-hAU1Ah08.js} +6 -6
  285. package/server/{test-verdict-BSqsQp3G.js → test-verdict-CRsPpByy.js} +1 -1
  286. package/server/{test-verdict-D1AmZ2c0.js → test-verdict-CXMLATGc.js} +1 -1
  287. package/server/{tldr-daemon-C-MGomL8.js → tldr-daemon-Bam7Xhoo.js} +2 -2
  288. package/server/{tldr-daemon-DD9rI5gA.js → tldr-daemon-DhGwd88s.js} +1 -1
  289. package/server/tmux-C-rgxRDA.js +3 -0
  290. package/server/{tmux-C_d-lSIq.js → tmux-U55cNGFG.js} +92 -4
  291. package/server/{token-DfBf1bsd.js → token-Dsa-i36o.js} +2 -2
  292. package/server/{token-util-CROoF5ic.js → token-util-BWNpH96m.js} +1 -1
  293. package/server/token-util-DRt0j2nQ.js +3 -0
  294. package/server/{tracker-config-CNODpd11.js → tracker-config-OkdbaUCm.js} +2 -2
  295. package/server/{tracker-utils-Ch2_5GGf.js → tracker-utils-CghXMF3q.js} +2 -2
  296. package/server/{tracker-utils-B9ZoVA9b.js → tracker-utils-DdzUiPNU.js} +1 -1
  297. package/server/{traefik-connect-BF4x_LUQ.js → traefik-connect-CZYB3dlm.js} +1 -1
  298. package/server/{tunnel-r_5nHAI6.js → tunnel-D1YxesBL.js} +3 -3
  299. package/server/{tunnel-YD80_IHr.js → tunnel-DjlzgTl3.js} +1 -1
  300. package/server/typed-errors-CH4roFIj.js +3 -0
  301. package/server/{typed-errors-BEJhbjJg.js → typed-errors-n_Tnb4Fh.js} +3 -4
  302. package/server/{types-CE1m_daD.js → types-DOjWNv3Z.js} +1 -1
  303. package/server/{types-33JEP4LZ.js → types-DXBMm4mX.js} +1 -1
  304. package/server/{uat-train-DDI00aqD.js → uat-train-CaaWs9Rp.js} +1 -1
  305. package/server/{uat-train-DjkFWXge.js → uat-train-CqN34zFx.js} +24 -25
  306. package/server/{validation-DUTiJnyz.js → validation-4-z2Cw4z.js} +70 -23
  307. package/server/validation-DpTNakM6.js +3 -0
  308. package/server/verification-artifact-DK1xb1zG.js +56 -0
  309. package/server/verification-artifact-JD_edpZ9.js +2 -0
  310. package/server/{verification-runner-inLgeQux.js → verification-runner-BjHN80pJ.js} +338 -58
  311. package/server/verification-runner-ShYu5Ph3.js +2 -0
  312. package/server/{work-agent-prompt-fZljjA1_.js → work-agent-prompt-BiJ43Der.js} +12 -88
  313. package/server/workflows-B4C3lY9E.js +2 -0
  314. package/server/{workflows-oBnJ7Tm0.js → workflows-DkTotz_m.js} +17 -24
  315. package/server/{workspace-CNuW2j41.js → workspace-CuN0ev4Z.js} +3 -3
  316. package/server/{workspace-B2WOW9Hw.js → workspace-DQ4vVivd.js} +1 -1
  317. package/server/{workspace-config-CBgMGhWs.js → workspace-config-C77NKnsV.js} +1 -1
  318. package/server/{workspace-manager-DjUAJCSs.js → workspace-manager-B1mYn0lN.js} +1 -1
  319. package/server/{workspace-manager-CB-R07R3.js → workspace-manager-Beeo2aKF.js} +23 -48
  320. package/server/{workspace-metadata-9Nn5kgRl.js → workspace-metadata-BZC5BmoP.js} +2 -2
  321. package/server/{workspace-metadata-Fd58uUQG.js → workspace-metadata-Cy7_ZACL.js} +1 -1
  322. package/server/{workspaces-BjWXntty.js → workspaces-CGuzW1Ia.js} +191 -153
  323. package/sync-sources/hooks/ask-user-question-hook +7 -1
  324. package/sync-sources/hooks/codex-notify-hook +64 -8
  325. package/sync-sources/hooks/record-cost-event.js +1109 -36
  326. package/sync-sources/hooks/record-cost-event.js.map +1 -1
  327. package/sync-sources/hooks/statusline.sh +2 -2
  328. package/sync-sources/hooks/work-agent-stop-hook +1 -2
  329. package/server/acceptance-criteria-DHZk2ceV.js +0 -33
  330. package/server/agent-runtime-mirror-DrWxopNA.js +0 -37
  331. package/server/agent-state-EP2QFV9n.js +0 -3
  332. package/server/agents-DCvyTXNU.js +0 -3
  333. package/server/auto-commit-QAfsu3Sb.js +0 -3
  334. package/server/bd-process-lock-D3S4T4o-.js +0 -390
  335. package/server/beads-BGGxrkZ5.js +0 -649
  336. package/server/beads-CYsLiyIM.js +0 -2
  337. package/server/beads-query-B1DlJVp9.js +0 -95
  338. package/server/beads-restore-CyygSmmn.js +0 -23
  339. package/server/cli-ClIQwgMI.js +0 -3
  340. package/server/codex-B7DTpwEw.js +0 -3
  341. package/server/compact-beads-CK_hHEnB.js +0 -3
  342. package/server/compact-beads-DKL54y6j.js +0 -94
  343. package/server/deacon-swarm-BY5hKNaU.js +0 -2
  344. package/server/dist-DGTwcZhI.js +0 -3
  345. package/server/export-Dx_qJ3h8.js +0 -87
  346. package/server/forge-XlDgPQWs.js +0 -2
  347. package/server/hume-K1pi8jC4.js +0 -3
  348. package/server/inspect-agent-477VxQim.js +0 -2
  349. package/server/lifecycle-C_73gi-C.js +0 -14
  350. package/server/merge-ops-PzqsW69V.js +0 -2
  351. package/server/projects-KJ94e50I.js +0 -3
  352. package/server/public/assets/chunk-BO2N2NFS-ClukPsZQ.js +0 -103
  353. package/server/public/assets/index-DUFDmvmH.css +0 -1
  354. package/server/public/assets/index-DnTZ2QeN.js +0 -796
  355. package/server/public/assets/mermaid-GHXKKRXX-DZJOwgBG.js +0 -1
  356. package/server/rally-Dc2Wnxw2.js +0 -3
  357. package/server/record-pyB6VA32.js +0 -3
  358. package/server/recovery-trip-Dfh1tNHn.js +0 -98
  359. package/server/resolver-dTpSSzaH.js +0 -158
  360. package/server/resume-DhcIqsTm.js +0 -3
  361. package/server/settings-yydgaqhv.js +0 -2
  362. package/server/specs-DwoAEGrW.js +0 -3
  363. package/server/supervisor-DHjumXlL.js +0 -2
  364. package/server/tmux-x291Gjjb.js +0 -3
  365. package/server/token-util-xNaV-00f.js +0 -3
  366. package/server/tracker-config-DItsdelv.js +0 -3
  367. package/server/typed-errors-DSPn_xWP.js +0 -3
  368. package/server/validation-ict8hnXk.js +0 -3
  369. package/server/verification-runner-ATaLbpr5.js +0 -2
  370. package/server/workflows-tU7KKxQi.js +0 -2
  371. package/server/writer-CQMGzEkw.js +0 -3
  372. package/server/writer-fe1-8iGc.js +0 -251
@@ -1,54 +1,7 @@
1
- import { Kr as getOverdeckHome, qr as init_paths } from "./config-yaml-Dcz-8uit.js";
2
- import { a as init_event_store, i as initEventStore } from "./event-store-DRte2Rwt.js";
3
- import { l as INITIAL_READ_MODEL_STATE, t as init_src, u as applyEvent } from "./src-DHn4Rd2F.js";
4
- import { a as setAgentRuntimeMirror, i as markAgentStateServiceInProcess, n as init_agent_runtime_mirror, t as getRuntimeSnapshot$1 } from "./agent-runtime-mirror-DrWxopNA.js";
1
+ import { a as init_event_store, i as initEventStore } from "./event-store-KZnWUKWh.js";
2
+ import { l as INITIAL_READ_MODEL_STATE, t as init_src, u as applyEvent } from "./src-By3D85Ry.js";
3
+ import { f as markAgentStateServiceInProcess, l as getRuntimeSnapshot$1, p as setAgentRuntimeMirror, r as init_session_history, t as appendSessionIdToHistory, u as init_agent_runtime_mirror } from "./session-history-bnOFKMwf.js";
5
4
  import { Context, Effect, Layer, SubscriptionRef } from "effect";
6
- import { existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
7
- import { join } from "path";
8
- //#region ../../lib/session-history.ts
9
- init_event_store();
10
- init_src();
11
- init_agent_runtime_mirror();
12
- init_paths();
13
- /**
14
- * PAN-1989: durably record a Claude session id in the agent's append-only
15
- * sessions.json the moment the system learns it.
16
- *
17
- * Background: a work agent's resumable session id was only durable if the
18
- * PostToolUse heartbeat hook had written sessions.json (first tool call) or
19
- * auto-suspend had written session.id. A session that boots but is stopped
20
- * before its first tool — kickoff never delivered, or a reboot mid-run — left
21
- * the id only in the EPHEMERAL in-memory runtime snapshot, which a dashboard
22
- * restart or reboot rebuilds from sources (state.json + tmux) that don't carry
23
- * the session id. The agent then resolves to "No saved session ID found" and
24
- * goes troubled even though its JSONL transcript is intact on disk.
25
- *
26
- * Calling this from the AgentStateService event sink (the single convergence
27
- * point for every model_set event, hook-emitted or server-emitted) makes the
28
- * pointer durable from the moment it is learned. The append-only list may
29
- * accumulate aborted/empty ids; the resolver picks the freshest id with a real
30
- * transcript, so empties never shadow the truth. De-dupes; never throws.
31
- *
32
- * Lives in its own module (not agents.ts) so the dashboard event sink can import
33
- * it without pulling the whole agents.ts graph — avoids an ESM import cycle.
34
- */
35
- function appendSessionIdToHistory(agentId, sessionId) {
36
- if (!sessionId || !sessionId.trim()) return;
37
- try {
38
- const dir = join(getOverdeckHome(), "agents", agentId);
39
- mkdirSync(dir, { recursive: true });
40
- const file = join(dir, "sessions.json");
41
- let list = [];
42
- if (existsSync(file)) {
43
- const parsed = JSON.parse(readFileSync(file, "utf8"));
44
- if (Array.isArray(parsed)) list = parsed.filter((v) => typeof v === "string");
45
- }
46
- if (list.includes(sessionId)) return;
47
- list.push(sessionId);
48
- writeFileSync(file, JSON.stringify(list));
49
- } catch {}
50
- }
51
- //#endregion
52
5
  //#region services/agent-state-service.ts
53
6
  /**
54
7
  * AgentStateService — canonical in-memory runtime state for all agents (PAN-800)
@@ -72,6 +25,10 @@ function appendSessionIdToHistory(agentId, sessionId) {
72
25
  * - `readFileSync` is forbidden — bootstrap uses `fs.promises.readFile` for
73
26
  * the one-time runtime.json migration fallback.
74
27
  */
28
+ init_src();
29
+ init_event_store();
30
+ init_agent_runtime_mirror();
31
+ init_session_history();
75
32
  /**
76
33
  * Event types that affect AgentRuntimeSnapshot. Keep in sync with
77
34
  * `packages/contracts/src/event-reducers.ts` — every case that writes
@@ -101,7 +58,7 @@ const AgentStateServiceLive = Layer.effect(AgentStateService, Effect.gen(functio
101
58
  const store = yield* Effect.promise(() => initEventStore());
102
59
  const ref = yield* SubscriptionRef.make({});
103
60
  const seedFromSources = Effect.gen(function* () {
104
- const { reconstructCacheAuto } = yield* Effect.promise(() => import("./reconstruct-cache-lQrG4xGg.js"));
61
+ const { reconstructCacheAuto } = yield* Effect.promise(() => import("./reconstruct-cache-Gqhm---K.js"));
105
62
  const seeded = (yield* Effect.promise(() => reconstructCacheAuto())).agentRuntimeById;
106
63
  if (Object.keys(seeded).length > 0) {
107
64
  yield* SubscriptionRef.update(ref, (current) => mergeRuntimeBySequence(current, seeded));
@@ -150,4 +107,4 @@ function applyEventToRef(ref, ev) {
150
107
  //#endregion
151
108
  export { AgentStateServiceLive as n, getRuntimeSnapshot as r, AgentStateService as t };
152
109
 
153
- //# sourceMappingURL=agent-state-service-BZkvgQf4.js.map
110
+ //# sourceMappingURL=agent-state-service-nUD3qfob.js.map
@@ -0,0 +1,3 @@
1
+ import { $ as stopAgentSync, $n as wipeAgentStateDirs, $t as roleAgentDefinitionPath, A as buildCompactRecoverySeed, B as appendActivity, Cn as SESSION_EXITED_BEFORE_KICKOFF, Ct as deliverAgentPermissionDecision, D as detectCrashedAgents, Dn as clearAgentTroubled, E as autoRecoverAgents, En as clearAgentPausedSync, Et as setAgentDeliveryMethod, Fn as getAgentStateSync, G as saveSessionId, Gn as recordAgentFailureSync, Gt as describeOhmypiSpawnFailure, H as getLatestSessionId, Hn as markAgentStoppedState, It as retrieveSpawnTimeMemoryContext, Jn as saveAgentState, Kt as getAgentRuntimeBaseCommand, L as messageAgent, Ln as isAgentPaused, Lt as transitionIssueToInProgress, M as resumeAgent, Mt as assertWorkspaceStackHealthyForSpawn, Nn as getAgentState, Nt as buildAgentLaunchConfig, O as recoverAgent, On as clearAgentTroubledSync, Pn as getAgentStateFilePath, Q as stopAgent, Qn as setAgentYieldedSync, Qt as injectPiConversationMemory, Rn as isAgentTroubled, Rt as transitionIssueToInReview, Sn as GOVERNOR_SLOT_PAUSE_REASON_PREFIX, St as deliverAgentMessage, Tn as clearAgentPaused, Tt as deliverResumeMessageWithTranscriptConfirmation, U as getLatestSessionIdSync, Un as markAgentTroubled, V as getActivity, Vn as markAgentRunningState, W as getSessionId, Wn as recordAgentFailure, Wt as OHMYPI_AGENT_READY_TIMEOUT_SECONDS, X as spawnRun, Xn as setAgentPaused, Xt as getRoleRuntimeBaseCommand, Y as spawnAgent, Yn as saveAgentStateSync, Yt as getProviderAuthMode, Zn as setAgentPausedSync, _n as buildDefaultResumeContinueMessage, a as listRunningAgentsSync, bn as dismissDevChannelsDialog, c as compactAtTierRunBoundary, cn as buildSpawnEnvForModel, cr as isQualifiedAgentId, d as replayStandingAgent, dn as getProviderExportsForModel, dr as waitForAgentIdle, en as waitForPromptReady, er as writeAgentStateJsonSync, f as shouldReplayCompactAtTierRunBoundary, fn as getProviderTmuxFlags, fr as waitForReadySignal, gr as saveAgentRuntimeState, i as listRunningAgents, jn as getAgentDir, k as restartAgent, kn as clearYieldForResumeSync, l as contextWindowForModel, ln as determineModel, lr as normalizeAgentId, mr as getAgentRuntimeStateSync, o as warnOnBareNumericIssueIds, pr as getAgentRuntimeState, qn as resetAgentFailureCount, r as listAgentStates, s as init_agents, sn as buildCavemanExports, sr as clearReadySignal, t as dropLegacyAgentStatesMissingRoleAsync, u as replayCrashedStandingAgent, un as getProviderEnvForModel, ur as resolveAgentTargetSync, vn as decideChannelsForWorkAgent, wn as __testInternals, wt as deliverInitialPromptWithRetry, xn as writeChannelsBridgeMcpConfig, yn as decideSupervisorForWorkAgent, zn as isRole } from "./queries-C0LCGG21.js";
2
+ init_agents();
3
+ export { GOVERNOR_SLOT_PAUSE_REASON_PREFIX, OHMYPI_AGENT_READY_TIMEOUT_SECONDS, SESSION_EXITED_BEFORE_KICKOFF, __testInternals, appendActivity, assertWorkspaceStackHealthyForSpawn, autoRecoverAgents, buildAgentLaunchConfig, buildCavemanExports, buildCompactRecoverySeed, buildDefaultResumeContinueMessage, buildSpawnEnvForModel, clearAgentPaused, clearAgentPausedSync, clearAgentTroubled, clearAgentTroubledSync, clearReadySignal, clearYieldForResumeSync, compactAtTierRunBoundary, contextWindowForModel, decideChannelsForWorkAgent, decideSupervisorForWorkAgent, deliverAgentMessage, deliverAgentPermissionDecision, deliverInitialPromptWithRetry, deliverResumeMessageWithTranscriptConfirmation, describeOhmypiSpawnFailure, detectCrashedAgents, determineModel, dismissDevChannelsDialog, dropLegacyAgentStatesMissingRoleAsync, getActivity, getAgentDir, getAgentRuntimeBaseCommand, getAgentRuntimeState, getAgentRuntimeStateSync, getAgentState, getAgentStateFilePath, getAgentStateSync, getLatestSessionId, getLatestSessionIdSync, getProviderAuthMode, getProviderEnvForModel, getProviderExportsForModel, getProviderTmuxFlags, getRoleRuntimeBaseCommand, getSessionId, injectPiConversationMemory, isAgentPaused, isAgentTroubled, isQualifiedAgentId, isRole, listAgentStates, listRunningAgents, listRunningAgentsSync, markAgentRunningState, markAgentStoppedState, markAgentTroubled, messageAgent, normalizeAgentId, recordAgentFailure, recordAgentFailureSync, recoverAgent, replayCrashedStandingAgent, replayStandingAgent, resetAgentFailureCount, resolveAgentTargetSync, restartAgent, resumeAgent, retrieveSpawnTimeMemoryContext, roleAgentDefinitionPath, saveAgentRuntimeState, saveAgentState, saveAgentStateSync, saveSessionId, setAgentDeliveryMethod, setAgentPaused, setAgentPausedSync, setAgentYieldedSync, shouldReplayCompactAtTierRunBoundary, spawnAgent, spawnRun, stopAgent, stopAgentSync, transitionIssueToInProgress, transitionIssueToInReview, waitForAgentIdle, waitForPromptReady, waitForReadySignal, warnOnBareNumericIssueIds, wipeAgentStateDirs, writeAgentStateJsonSync, writeChannelsBridgeMcpConfig };
@@ -1,13 +1,10 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Kr as getOverdeckHome, qr as init_paths } from "./config-yaml-Dcz-8uit.js";
3
- import { _ as integer, a as EventBus, b as and, c as Records, d as getOverdeckDatabaseSync, f as init_infra, h as text, l as Tmux, m as sqliteTable, p as init_sqlite_core, r as Db, v as init_drizzle_orm, x as eq } from "./infra-bpq1MHKU.js";
4
- import { n as init_issues, t as IssueId } from "./issues-CwQMphDH.js";
2
+ import { Jr as getOverdeckHome, Yr as init_paths } from "./config-yaml-CqaAyn8y.js";
3
+ import { _ as integer, a as EventBus, b as and, c as Records, d as getOverdeckDatabaseSync, f as init_infra, h as text, l as Tmux, m as sqliteTable, p as init_sqlite_core, r as Db, v as init_drizzle_orm, x as eq } from "./infra-_Kx1m9pm.js";
4
+ import { n as init_issues, t as IssueId } from "./issues-DIEHt9sq.js";
5
5
  import { join } from "node:path";
6
6
  import { Context, Effect, Layer, Schema } from "effect";
7
- import { dirname as dirname$1, join as join$1 } from "path";
8
7
  import { readFileSync, readdirSync, rmSync, statSync } from "node:fs";
9
- import { randomUUID } from "crypto";
10
- import { mkdir, readFile, rename, stat as stat$1, writeFile } from "fs/promises";
11
8
  import { execFileSync } from "node:child_process";
12
9
  import { HttpApiEndpoint, HttpApiGroup } from "effect/unstable/httpapi";
13
10
  //#region ../../lib/overdeck/issue-stage-sync.ts
@@ -973,129 +970,6 @@ var init_agents = __esmMin((() => {
973
970
  ]);
974
971
  }));
975
972
  //#endregion
976
- //#region ../../lib/briefing-freshness.ts
977
- function resolveSessionContextBriefingPath() {
978
- return briefingFilePath();
979
- }
980
- async function ensureSessionContextBriefingFile() {
981
- const path = resolveSessionContextBriefingPath();
982
- try {
983
- await stat$1(path);
984
- } catch (error) {
985
- if (!isNotFound(error)) throw error;
986
- await mkdir(dirname$1(path), { recursive: true });
987
- await writeFile(path, "# Overdeck Session Context\n\nNo live briefing has been generated yet.\n", "utf8");
988
- }
989
- return path;
990
- }
991
- async function recordBriefingSessionStart(input) {
992
- const now = input.now ?? /* @__PURE__ */ new Date();
993
- await writeMarker({
994
- sessionId: input.sessionId,
995
- sessionStartedAtMs: now.getTime(),
996
- lastInjectedBriefingMtimeMs: null,
997
- updatedAt: now.toISOString()
998
- });
999
- }
1000
- async function appendFreshBriefingUpdate(input) {
1001
- const now = input.now ?? /* @__PURE__ */ new Date();
1002
- const marker = await readMarker(input.sessionId) ?? {
1003
- sessionId: input.sessionId,
1004
- sessionStartedAtMs: now.getTime(),
1005
- lastInjectedBriefingMtimeMs: null,
1006
- updatedAt: now.toISOString()
1007
- };
1008
- const briefing = await readBriefing();
1009
- if (!briefing || briefing.content.trim().length === 0) {
1010
- await writeMarker(marker);
1011
- return {
1012
- context: input.context,
1013
- injected: false,
1014
- briefingMtimeMs: briefing?.mtimeMs ?? null
1015
- };
1016
- }
1017
- const freshnessFloor = Math.max(marker.sessionStartedAtMs, marker.lastInjectedBriefingMtimeMs ?? 0);
1018
- if (briefing.mtimeMs <= freshnessFloor) {
1019
- await writeMarker(marker);
1020
- return {
1021
- context: input.context,
1022
- injected: false,
1023
- briefingMtimeMs: briefing.mtimeMs
1024
- };
1025
- }
1026
- await writeMarker({
1027
- ...marker,
1028
- lastInjectedBriefingMtimeMs: briefing.mtimeMs,
1029
- updatedAt: now.toISOString()
1030
- });
1031
- const block = buildBriefingUpdateBlock(briefing.content, briefing.mtimeMs);
1032
- return {
1033
- context: [input.context, block].filter(Boolean).join("\n"),
1034
- injected: true,
1035
- briefingMtimeMs: briefing.mtimeMs
1036
- };
1037
- }
1038
- function buildBriefingUpdateBlock(content, mtimeMs) {
1039
- return [
1040
- `<${BRIEFING_UPDATE_TAG} mtime="${new Date(mtimeMs).toISOString()}">`,
1041
- escapeBriefingContent(content),
1042
- `</${BRIEFING_UPDATE_TAG}>`
1043
- ].join("\n");
1044
- }
1045
- function escapeBriefingContent(content) {
1046
- return content.replaceAll(`<${BRIEFING_UPDATE_TAG}`, `\\u003c${BRIEFING_UPDATE_TAG}`).replaceAll(`</${BRIEFING_UPDATE_TAG}>`, `\\u003c/${BRIEFING_UPDATE_TAG}\\u003e`);
1047
- }
1048
- async function readBriefing() {
1049
- try {
1050
- const path = briefingFilePath();
1051
- const [fileStat, content] = await Promise.all([stat$1(path), readFile(path, "utf8")]);
1052
- return {
1053
- content,
1054
- mtimeMs: fileStat.mtimeMs
1055
- };
1056
- } catch (error) {
1057
- if (isNotFound(error)) return null;
1058
- throw error;
1059
- }
1060
- }
1061
- async function readMarker(sessionId) {
1062
- try {
1063
- const raw = await readFile(markerFilePath(sessionId), "utf8");
1064
- const parsed = JSON.parse(raw);
1065
- if (parsed.sessionId !== sessionId || typeof parsed.sessionStartedAtMs !== "number") return null;
1066
- return {
1067
- sessionId,
1068
- sessionStartedAtMs: parsed.sessionStartedAtMs,
1069
- lastInjectedBriefingMtimeMs: typeof parsed.lastInjectedBriefingMtimeMs === "number" ? parsed.lastInjectedBriefingMtimeMs : null,
1070
- updatedAt: typeof parsed.updatedAt === "string" ? parsed.updatedAt : new Date(parsed.sessionStartedAtMs).toISOString()
1071
- };
1072
- } catch (error) {
1073
- if (isNotFound(error)) return null;
1074
- throw error;
1075
- }
1076
- }
1077
- async function writeMarker(marker) {
1078
- const path = markerFilePath(marker.sessionId);
1079
- await mkdir(dirname$1(path), { recursive: true });
1080
- const tmp = `${path}.${process.pid}.${randomUUID()}.tmp`;
1081
- await writeFile(tmp, `${JSON.stringify(marker, null, 2)}\n`, "utf8");
1082
- await rename(tmp, path);
1083
- }
1084
- function briefingFilePath() {
1085
- return join$1(getOverdeckHome(), "session-context.md");
1086
- }
1087
- function markerFilePath(sessionId) {
1088
- return join$1(getOverdeckHome(), "briefing", "sessions", `${Buffer.from(sessionId).toString("base64url")}.json`);
1089
- }
1090
- function isNotFound(error) {
1091
- return typeof error === "object" && error !== null && "code" in error && error.code === "ENOENT";
1092
- }
1093
- var BRIEFING_UPDATE_TAG;
1094
- var init_briefing_freshness = __esmMin((() => {
1095
- init_paths();
1096
- BRIEFING_UPDATE_TAG = "overdeck-briefing-update";
1097
- }));
1098
- //#endregion
1099
- export { resolveSessionContextBriefingPath as a, backfillAgentsSync as c, init_agents as d, listAgentIdsByPrefixSync as f, isTerminalIssueStage as g, getIssueStageSync as h, recordBriefingSessionStart as i, countAgentsByStatus as l, removeAgentSync as m, ensureSessionContextBriefingFile as n, AgentsResolver as o, listAllAgentsSync as p, init_briefing_freshness as r, AgentsResolverLive as s, appendFreshBriefingUpdate as t, countAgentsByStatusRole as u };
973
+ export { countAgentsByStatusRole as a, listAllAgentsSync as c, isTerminalIssueStage as d, countAgentsByStatus as i, removeAgentSync as l, AgentsResolverLive as n, init_agents as o, backfillAgentsSync as r, listAgentIdsByPrefixSync as s, AgentsResolver as t, getIssueStageSync as u };
1100
974
 
1101
- //# sourceMappingURL=briefing-freshness-Kh5V8RTh.js.map
975
+ //# sourceMappingURL=agents-BHBxr8c9.js.map
@@ -1,8 +1,8 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Fr as PROJECT_PRDS_SUBDIR, Mr as PROJECT_PRDS_ACTIVE_SUBDIR, Nr as PROJECT_PRDS_COMPLETED_SUBDIR, Pr as PROJECT_PRDS_PLANNED_SUBDIR, Sr as ARCHIVES_DIR, jr as PROJECT_DOCS_SUBDIR, qr as init_paths } from "./config-yaml-Dcz-8uit.js";
3
- import { a as PAN_DIRNAME, c as PAN_SESSIONS_FILENAME, i as PAN_CONTINUE_FILENAME, n as PAN_CONTEXT_FILENAME, s as PAN_FEEDBACK_DIRNAME, u as PAN_SPEC_FILENAME } from "./types-CE1m_daD.js";
4
- import { t as init_pan_dir } from "./pan-dir-Bj7Hy8iu.js";
5
- import { a as stepSkipped, i as stepOk, n as init_types, r as stepFailed } from "./types-33JEP4LZ.js";
2
+ import { Fr as PROJECT_PRDS_COMPLETED_SUBDIR, Ir as PROJECT_PRDS_PLANNED_SUBDIR, Lr as PROJECT_PRDS_SUBDIR, Nr as PROJECT_DOCS_SUBDIR, Pr as PROJECT_PRDS_ACTIVE_SUBDIR, Yr as init_paths, wr as ARCHIVES_DIR } from "./config-yaml-CqaAyn8y.js";
3
+ import { a as PAN_DIRNAME, c as PAN_SESSIONS_FILENAME, i as PAN_CONTINUE_FILENAME, n as PAN_CONTEXT_FILENAME, s as PAN_FEEDBACK_DIRNAME, u as PAN_SPEC_FILENAME } from "./types-DOjWNv3Z.js";
4
+ import { t as init_pan_dir } from "./pan-dir-BTw4MdSe.js";
5
+ import { a as stepSkipped, i as stepOk, n as init_types, r as stepFailed } from "./types-DXBMm4mX.js";
6
6
  import { Effect } from "effect";
7
7
  import { existsSync, readdirSync } from "fs";
8
8
  import { dirname, join } from "path";
@@ -238,11 +238,6 @@ async function archiveWorkspaceArtifactsImpl(ctx) {
238
238
  await cp(prdFile, join(archiveDir, "prd.md"));
239
239
  details.push("Archived workspace prd.md");
240
240
  }
241
- const beadsDir = join(workspacePath, ".beads");
242
- if (existsSync(beadsDir)) {
243
- await cp(beadsDir, join(archiveDir, ".beads"), { recursive: true });
244
- details.push("Archived .beads/");
245
- }
246
241
  details.push(`Archived to ${archiveDir}`);
247
242
  return stepOk(step, details);
248
243
  }
@@ -271,4 +266,4 @@ var init_archive_planning = __esmMin((() => {
271
266
  //#endregion
272
267
  export { inferBranchFromWorkspace as a, findPrdAtStatusSync as c, findWorkspacePath as i, init_prd_locations as l, archiveWorkspaceArtifacts as n, init_archive_planning as o, findAllWorkspacePaths as r, movePrd as s, archivePlanning as t };
273
268
 
274
- //# sourceMappingURL=archive-planning-DkivCk1A.js.map
269
+ //# sourceMappingURL=archive-planning-CzCW9Ifl.js.map
@@ -1,3 +1,3 @@
1
- import { i as findWorkspacePath, o as init_archive_planning } from "./archive-planning-DkivCk1A.js";
1
+ import { i as findWorkspacePath, o as init_archive_planning } from "./archive-planning-CzCW9Ifl.js";
2
2
  init_archive_planning();
3
3
  export { findWorkspacePath };
@@ -1,4 +1,4 @@
1
- import { Kr as getOverdeckHome, qr as init_paths } from "./config-yaml-Dcz-8uit.js";
1
+ import { Jr as getOverdeckHome, Yr as init_paths } from "./config-yaml-CqaAyn8y.js";
2
2
  import { n as openDatabase, t as init_driver } from "./driver-D-HBOQa_.js";
3
3
  import { dirname, join } from "node:path";
4
4
  import { mkdirSync } from "node:fs";
@@ -208,4 +208,4 @@ function unshareArtifactBySlugJob(slug) {
208
208
  //#endregion
209
209
  export { getArtifactBySlugJob, listArtifactsForWorkspaceOrIssueJob, unshareArtifactBySlugJob };
210
210
 
211
- //# sourceMappingURL=artifact-index-jobs-CmsvQ1ey.js.map
211
+ //# sourceMappingURL=artifact-index-jobs-qqa51B2Z.js.map
@@ -1,6 +1,6 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { r as isNoResumeValueEnabled, t as init_no_resume_mode } from "./no-resume-mode-yrPEQ_pC.js";
3
- import { a as spawnSequencerAgent, i as init_sequencer_agent } from "./sequencer-agent-i-b2u4SJ.js";
2
+ import { r as isNoResumeValueEnabled, t as init_no_resume_mode } from "./no-resume-mode-Gh5R_YLF.js";
3
+ import { a as spawnSequencerAgent, i as init_sequencer_agent } from "./sequencer-agent-DsWQ-87H.js";
4
4
  //#region ../../lib/backlog/backlog-auto-trigger.ts
5
5
  /**
6
6
  * PAN-2396: --no-resume is the operator's full-quiescence escape hatch —
@@ -37,4 +37,4 @@ __esmMin((() => {
37
37
  }))();
38
38
  export { triggerDebouncedIncrementalPass };
39
39
 
40
- //# sourceMappingURL=backlog-auto-trigger-ueRaT8Dy.js.map
40
+ //# sourceMappingURL=backlog-auto-trigger-B7Bi0bvY.js.map
@@ -0,0 +1,10 @@
1
+ import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
+ import { t as init_src } from "./src-By3D85Ry.js";
3
+ //#region ../../lib/runtimes/behavior.ts
4
+ var init_behavior = __esmMin((() => {
5
+ init_src();
6
+ }));
7
+ //#endregion
8
+ export { init_behavior as t };
9
+
10
+ //# sourceMappingURL=behavior-CWqNMqE5.js.map
@@ -0,0 +1,131 @@
1
+ import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
+ import { Jr as getOverdeckHome, Yr as init_paths } from "./config-yaml-CqaAyn8y.js";
3
+ import { dirname, join } from "path";
4
+ import { randomUUID } from "crypto";
5
+ import { mkdir, readFile, rename, stat, writeFile } from "fs/promises";
6
+ //#region ../../lib/briefing-freshness.ts
7
+ function resolveSessionContextBriefingPath() {
8
+ return briefingFilePath();
9
+ }
10
+ async function ensureSessionContextBriefingFile() {
11
+ const path = resolveSessionContextBriefingPath();
12
+ try {
13
+ await stat(path);
14
+ } catch (error) {
15
+ if (!isNotFound(error)) throw error;
16
+ await mkdir(dirname(path), { recursive: true });
17
+ await writeFile(path, "# Overdeck Session Context\n\nNo live briefing has been generated yet.\n", "utf8");
18
+ }
19
+ return path;
20
+ }
21
+ async function recordBriefingSessionStart(input) {
22
+ const now = input.now ?? /* @__PURE__ */ new Date();
23
+ await writeMarker({
24
+ sessionId: input.sessionId,
25
+ sessionStartedAtMs: now.getTime(),
26
+ lastInjectedBriefingMtimeMs: null,
27
+ updatedAt: now.toISOString()
28
+ });
29
+ }
30
+ async function appendFreshBriefingUpdate(input) {
31
+ const now = input.now ?? /* @__PURE__ */ new Date();
32
+ const marker = await readMarker(input.sessionId) ?? {
33
+ sessionId: input.sessionId,
34
+ sessionStartedAtMs: now.getTime(),
35
+ lastInjectedBriefingMtimeMs: null,
36
+ updatedAt: now.toISOString()
37
+ };
38
+ const briefing = await readBriefing();
39
+ if (!briefing || briefing.content.trim().length === 0) {
40
+ await writeMarker(marker);
41
+ return {
42
+ context: input.context,
43
+ injected: false,
44
+ briefingMtimeMs: briefing?.mtimeMs ?? null
45
+ };
46
+ }
47
+ const freshnessFloor = Math.max(marker.sessionStartedAtMs, marker.lastInjectedBriefingMtimeMs ?? 0);
48
+ if (briefing.mtimeMs <= freshnessFloor) {
49
+ await writeMarker(marker);
50
+ return {
51
+ context: input.context,
52
+ injected: false,
53
+ briefingMtimeMs: briefing.mtimeMs
54
+ };
55
+ }
56
+ await writeMarker({
57
+ ...marker,
58
+ lastInjectedBriefingMtimeMs: briefing.mtimeMs,
59
+ updatedAt: now.toISOString()
60
+ });
61
+ const block = buildBriefingUpdateBlock(briefing.content, briefing.mtimeMs);
62
+ return {
63
+ context: [input.context, block].filter(Boolean).join("\n"),
64
+ injected: true,
65
+ briefingMtimeMs: briefing.mtimeMs
66
+ };
67
+ }
68
+ function buildBriefingUpdateBlock(content, mtimeMs) {
69
+ return [
70
+ `<${BRIEFING_UPDATE_TAG} mtime="${new Date(mtimeMs).toISOString()}">`,
71
+ escapeBriefingContent(content),
72
+ `</${BRIEFING_UPDATE_TAG}>`
73
+ ].join("\n");
74
+ }
75
+ function escapeBriefingContent(content) {
76
+ return content.replaceAll(`<${BRIEFING_UPDATE_TAG}`, `\\u003c${BRIEFING_UPDATE_TAG}`).replaceAll(`</${BRIEFING_UPDATE_TAG}>`, `\\u003c/${BRIEFING_UPDATE_TAG}\\u003e`);
77
+ }
78
+ async function readBriefing() {
79
+ try {
80
+ const path = briefingFilePath();
81
+ const [fileStat, content] = await Promise.all([stat(path), readFile(path, "utf8")]);
82
+ return {
83
+ content,
84
+ mtimeMs: fileStat.mtimeMs
85
+ };
86
+ } catch (error) {
87
+ if (isNotFound(error)) return null;
88
+ throw error;
89
+ }
90
+ }
91
+ async function readMarker(sessionId) {
92
+ try {
93
+ const raw = await readFile(markerFilePath(sessionId), "utf8");
94
+ const parsed = JSON.parse(raw);
95
+ if (parsed.sessionId !== sessionId || typeof parsed.sessionStartedAtMs !== "number") return null;
96
+ return {
97
+ sessionId,
98
+ sessionStartedAtMs: parsed.sessionStartedAtMs,
99
+ lastInjectedBriefingMtimeMs: typeof parsed.lastInjectedBriefingMtimeMs === "number" ? parsed.lastInjectedBriefingMtimeMs : null,
100
+ updatedAt: typeof parsed.updatedAt === "string" ? parsed.updatedAt : new Date(parsed.sessionStartedAtMs).toISOString()
101
+ };
102
+ } catch (error) {
103
+ if (isNotFound(error)) return null;
104
+ throw error;
105
+ }
106
+ }
107
+ async function writeMarker(marker) {
108
+ const path = markerFilePath(marker.sessionId);
109
+ await mkdir(dirname(path), { recursive: true });
110
+ const tmp = `${path}.${process.pid}.${randomUUID()}.tmp`;
111
+ await writeFile(tmp, `${JSON.stringify(marker, null, 2)}\n`, "utf8");
112
+ await rename(tmp, path);
113
+ }
114
+ function briefingFilePath() {
115
+ return join(getOverdeckHome(), "session-context.md");
116
+ }
117
+ function markerFilePath(sessionId) {
118
+ return join(getOverdeckHome(), "briefing", "sessions", `${Buffer.from(sessionId).toString("base64url")}.json`);
119
+ }
120
+ function isNotFound(error) {
121
+ return typeof error === "object" && error !== null && "code" in error && error.code === "ENOENT";
122
+ }
123
+ var BRIEFING_UPDATE_TAG;
124
+ var init_briefing_freshness = __esmMin((() => {
125
+ init_paths();
126
+ BRIEFING_UPDATE_TAG = "overdeck-briefing-update";
127
+ }));
128
+ //#endregion
129
+ export { resolveSessionContextBriefingPath as a, recordBriefingSessionStart as i, ensureSessionContextBriefingFile as n, init_briefing_freshness as r, appendFreshBriefingUpdate as t };
130
+
131
+ //# sourceMappingURL=briefing-freshness-DuxIE1yr.js.map
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { br as init_errors, pr as InvalidAgentIdError, sn as STATE_BRANCH_PATHS, sr as CheckpointError, un as init_state_plane, yr as VcsError } from "./config-yaml-Dcz-8uit.js";
2
+ import { Sr as init_errors, an as STATE_BRANCH_PATHS, cn as init_state_plane, hr as InvalidAgentIdError, lr as CheckpointError, xr as VcsError } from "./config-yaml-CqaAyn8y.js";
3
3
  import { Effect, Layer } from "effect";
4
4
  import { join } from "path";
5
5
  import { tmpdir } from "os";
@@ -27,7 +27,7 @@ function assertSafeAgentId(agentId) {
27
27
  function checkpointStateExclusions() {
28
28
  return [
29
29
  ".overdeck",
30
- ...STATE_BRANCH_PATHS.map((path) => path === ".beads/" ? ".beads" : `.pan/${path.slice(0, -1)}`),
30
+ ...STATE_BRANCH_PATHS.map((path) => `.pan/${path.slice(0, -1)}`),
31
31
  ".pan/continue.json",
32
32
  ".pan/spec.vbrief.json"
33
33
  ];
@@ -663,4 +663,4 @@ var init_checkpoint_manager = __esmMin((() => {
663
663
  //#endregion
664
664
  export { pruneStaleCheckpointRefs as _, diffAgainstMain as a, diffCheckpoints as c, diffPatchSinceCommit as d, findCommitAtTime as f, pruneCheckpointRefsForAgents as g, listCheckpoints as h, deleteLegacyCheckpointRefs as i, diffFilesAgainstHead as l, init_checkpoint_manager as m, checkpointStateExclusions as n, diffAgainstMainFiles as o, getCheckpointTimestamp as p, deleteCheckpoint as r, diffCheckpointFiles as s, captureCheckpoint as t, diffPatchFilesAgainstHead as u };
665
665
 
666
- //# sourceMappingURL=checkpoint-manager-fu9oVsR-.js.map
666
+ //# sourceMappingURL=checkpoint-manager-DF6hb9Jw.js.map
@@ -1,3 +1,3 @@
1
- import { _ as pruneStaleCheckpointRefs, g as pruneCheckpointRefsForAgents, h as listCheckpoints, i as deleteLegacyCheckpointRefs, m as init_checkpoint_manager, p as getCheckpointTimestamp, s as diffCheckpointFiles } from "./checkpoint-manager-fu9oVsR-.js";
1
+ import { _ as pruneStaleCheckpointRefs, g as pruneCheckpointRefsForAgents, h as listCheckpoints, i as deleteLegacyCheckpointRefs, m as init_checkpoint_manager, p as getCheckpointTimestamp, s as diffCheckpointFiles } from "./checkpoint-manager-DF6hb9Jw.js";
2
2
  init_checkpoint_manager();
3
3
  export { deleteLegacyCheckpointRefs, diffCheckpointFiles, getCheckpointTimestamp, listCheckpoints, pruneCheckpointRefsForAgents, pruneStaleCheckpointRefs };
@@ -1,4 +1,4 @@
1
- import { a as releaseTranscriptRange, i as listTranscriptCheckpoints, n as commitTranscriptRange, r as getTranscriptCheckpoint, t as claimTranscriptRange } from "./checkpoints-1BqOlS4q.js";
1
+ import { a as releaseTranscriptRange, i as listTranscriptCheckpoints, n as commitTranscriptRange, r as getTranscriptCheckpoint, t as claimTranscriptRange } from "./checkpoints-BiviJqei.js";
2
2
  import { parentPort } from "node:worker_threads";
3
3
  //#region ../../lib/memory/checkpoint-worker.ts
4
4
  function runOperation(operation, payload) {
@@ -1,2 +1,2 @@
1
- import { a as releaseTranscriptRange, i as listTranscriptCheckpoints, n as commitTranscriptRange, r as getTranscriptCheckpoint, t as claimTranscriptRange } from "./checkpoints-1BqOlS4q.js";
1
+ import { a as releaseTranscriptRange, i as listTranscriptCheckpoints, n as commitTranscriptRange, r as getTranscriptCheckpoint, t as claimTranscriptRange } from "./checkpoints-BiviJqei.js";
2
2
  export { claimTranscriptRange, commitTranscriptRange, getTranscriptCheckpoint, listTranscriptCheckpoints, releaseTranscriptRange };
@@ -1,4 +1,4 @@
1
- import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-bpq1MHKU.js";
1
+ import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-_Kx1m9pm.js";
2
2
  import { randomUUID } from "node:crypto";
3
3
  //#region ../../lib/overdeck/transcript-checkpoint-sync.ts
4
4
  /**
@@ -195,4 +195,4 @@ function getTranscriptCheckpoint(sessionId) {
195
195
  //#endregion
196
196
  export { releaseTranscriptRange as a, listTranscriptCheckpoints as i, commitTranscriptRange as n, getTranscriptCheckpoint as r, claimTranscriptRange as t };
197
197
 
198
- //# sourceMappingURL=checkpoints-1BqOlS4q.js.map
198
+ //# sourceMappingURL=checkpoints-BiviJqei.js.map
@@ -0,0 +1,3 @@
1
+ import { n as provisionClaudeHooks, t as init_claude_hooks_provision } from "./claude-hooks-provision-Du_PkMsp.js";
2
+ init_claude_hooks_provision();
3
+ export { provisionClaudeHooks };