@overdeck/desktop 0.45.13 → 0.45.16

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 (336) hide show
  1. package/package.json +1 -1
  2. package/server/{acceptance-criteria-CfujPRrz.js → acceptance-criteria-BZ_nQS1f.js} +2 -2
  3. package/server/{advancing-selfheal-Bn5QiLtn.js → advancing-selfheal-DJYAvGv-.js} +6 -5
  4. package/server/{agent-gc-Cl9Nm0Zu.js → agent-gc-D0wDIeV1.js} +3 -3
  5. package/server/{agent-state-C6Rm6FPR.js → agent-state-lGvgPP4m.js} +1 -1
  6. package/server/{agent-state-service-U8feBf8t.js → agent-state-service-CZrayD_G.js} +1 -1
  7. package/server/{agent-state-service-JhFzYCP_.js → agent-state-service-DFslS5go.js} +9 -52
  8. package/server/{agents-DqQa4Dq_.js → agents-B9GwfCyp.js} +155 -153
  9. package/server/{agents-CxbuBjID.js → agents-CEcaxSkR.js} +1 -1
  10. package/server/{archive-planning-CPitEZo4.js → archive-planning-CbghE9-o.js} +5 -5
  11. package/server/{archive-planning-DmpT1_14.js → archive-planning-CoyIbgGK.js} +1 -1
  12. package/server/{artifact-index-jobs-sMnNtPhy.js → artifact-index-jobs-CcSrUoSE.js} +2 -2
  13. package/server/auto-commit-IW-eik_b.js +3 -0
  14. package/server/{backlog-auto-trigger-Cf9C8fwD.js → backlog-auto-trigger-BfgDsII0.js} +3 -3
  15. package/server/{bd-process-lock-D1aJxeYv.js → bd-process-lock-XAXAet9O.js} +32 -11
  16. package/server/{beads-CivpXztb.js → beads-B1u04n3o.js} +1 -1
  17. package/server/{beads-DRoj6-e1.js → beads-BeSMEjGT.js} +96 -196
  18. package/server/{beads-query-tOsAYP5h.js → beads-query-Dl4FhT8J.js} +24 -99
  19. package/server/beads-restore-BUItPOjI.js +23 -0
  20. package/server/behavior-BTpYbAv4.js +10 -0
  21. package/server/{briefing-freshness-BL3Q6p7R.js → briefing-freshness-DESTCWo-.js} +4 -4
  22. package/server/{checkpoint-manager-DCxjQvP_.js → checkpoint-manager-BwFdegJF.js} +2 -2
  23. package/server/{checkpoint-manager-j5URlFY7.js → checkpoint-manager-DWSXooZV.js} +1 -1
  24. package/server/checkpoint-worker.js +1 -1
  25. package/server/{checkpoints-BoX1H2Hf.js → checkpoints-BtUonbs3.js} +2 -2
  26. package/server/{checkpoints-Bu_M_Q9W.js → checkpoints-fjadfOKF.js} +1 -1
  27. package/server/{claude-hooks-provision-D-jGXmu1.js → claude-hooks-provision-DAtxutOs.js} +132 -114
  28. package/server/claude-hooks-provision-DiK62u0k.js +3 -0
  29. package/server/{claude-permissions-DxIjkOVl.js → claude-permissions-CThLgf8d.js} +2 -2
  30. package/server/{claude-settings-overlay-BPDS6GfE.js → claude-settings-overlay-BF9MPIwx.js} +2 -2
  31. package/server/{claude-settings-overlay-5b9X2S0C.js → claude-settings-overlay-Dx_Uqcmv.js} +1 -1
  32. package/server/{cli-s7bPWy-E.js → cli-ByKIIMfT.js} +9 -9
  33. package/server/cli-D9cUTbBr.js +3 -0
  34. package/server/{cliproxy-BituqWtR.js → cliproxy-B4c1BUvs.js} +2 -2
  35. package/server/{cliproxy-D3sHB0sI.js → cliproxy-C_GuT5DU.js} +1 -1
  36. package/server/{close-issue-CrBE7voz.js → close-issue-BOuLKr6e.js} +5 -5
  37. package/server/{closed-issue-reaper-BRQBc7Xa.js → closed-issue-reaper-CksfuiFD.js} +1 -1
  38. package/server/{closed-issue-reaper-DX9mYUji.js → closed-issue-reaper-DCAYzNXW.js} +102 -30
  39. package/server/{codex-Bi1ITSOo.js → codex-BYPz6ZdF.js} +1 -1
  40. package/server/{codex-CO0HrK3j.js → codex-BbqIRZjd.js} +6 -5
  41. package/server/{behavior-D3d2mVyD.js → codex-parser-mFYZh8vR.js} +3 -9
  42. package/server/{compact-beads-DUkCUFxA.js → compact-beads-CyJtoXJi.js} +15 -8
  43. package/server/{compact-beads-CrA8-k10.js → compact-beads-N00E4EVa.js} +1 -1
  44. package/server/{config-DsCxzjXK.js → config-DVLdmnMJ.js} +2 -2
  45. package/server/{config-B4_d7z7z.js → config-Dj6N8EP9.js} +1 -1
  46. package/server/{config-yaml-C_djSurJ.js → config-yaml-cNOZcEww.js} +118 -23
  47. package/server/{conflict-gate-D47Kl78u.js → conflict-gate-BMKm_5DV.js} +3 -3
  48. package/server/{conflict-gate-CpOn9KC-.js → conflict-gate-CuXUv-bP.js} +1 -1
  49. package/server/{context-layers-CHl3Nroz.js → context-layers-CeAwSYNt.js} +2 -2
  50. package/server/{context-layers-BNhUBTkf.js → context-layers-c0JqYHcS.js} +3 -3
  51. package/server/{control-settings-KyYNXZLv.js → control-settings-D4EFsRBd.js} +4 -4
  52. package/server/{conversation-compaction-D3aS5PnS.js → conversation-compaction-BCggyih4.js} +8 -8
  53. package/server/{conversation-compaction-D4Wed1BJ.js → conversation-compaction-kHVfVRg3.js} +1 -1
  54. package/server/{conversation-service-CFZIjs-M.js → conversation-service-B8LFQQm1.js} +6 -5
  55. package/server/{conversation-service-DcDB5usR.js → conversation-service-BTzObqGi.js} +1 -1
  56. package/server/{conversations-BSOU5qnu.js → conversations-B-lcHv-5.js} +4 -4
  57. package/server/{conversations-BbDPrz89.js → conversations-BM7zlXjr.js} +1 -1
  58. package/server/{cost-BE_ulOrw.js → cost-BcpRQ-7o.js} +3 -3
  59. package/server/{cost-CaiG63FG.js → cost-D9kPIY_5.js} +2 -2
  60. package/server/{cost-sync-D6AX8jv-.js → cost-sync-DF6odxK9.js} +3 -3
  61. package/server/{dag-BQFtXOuJ.js → dag-DKI3sOmX.js} +3 -3
  62. package/server/{dangerous-git-ops-04Ba-Qu3.js → dangerous-git-ops-Bn18PEcN.js} +1 -1
  63. package/server/dashboard-db-worker.js +6 -6
  64. package/server/{deacon-Bz-6Wjmn.js → deacon-DONuopff.js} +3 -3
  65. package/server/{deacon-2EvA9Ci3.js → deacon-DdARMjZq.js} +188 -1601
  66. package/server/{deacon-swarm-DYYOzHRH.js → deacon-swarm-BNGkmYR_.js} +12 -105
  67. package/server/deacon-swarm-CvdFekIO.js +2 -0
  68. package/server/deacon.js +7 -7
  69. package/server/{devcontainer-renderer-Dx0C7VWJ.js → devcontainer-renderer-C-34Sxyz.js} +3 -3
  70. package/server/{dist-ya66D9ze.js → dist-BMXvKiZP.js} +1 -1
  71. package/server/dist-BNwrgsUO.js +3 -0
  72. package/server/{dist-src-Byxt1ifL.js → dist-src-BgGUblXg.js} +1 -1
  73. package/server/{docker-D2TbXDO6.js → docker-apZ9pBYw.js} +67 -28
  74. package/server/{ensure-devcontainer-BTiMfFp5.js → ensure-devcontainer-Bqi1EF1P.js} +4 -4
  75. package/server/{ensure-devcontainer-BIShzs3M.js → ensure-devcontainer-Dq3KoOIl.js} +1 -1
  76. package/server/{esm-shims-DiV9jHa_.js → esm-shims-BEjvINX3.js} +1 -1
  77. package/server/{event-store-C02Gprug.js → event-store-CqDgfbAs.js} +1 -1
  78. package/server/{event-store-C71x6h0i.js → event-store-D89fMfXS.js} +3 -3
  79. package/server/{events-BFDuPV6n.js → events-S_C0pvl6.js} +3 -3
  80. package/server/{events-D2gP2-Yv.js → events-rIGncmP1.js} +1 -1
  81. package/server/export-BJHSVwKP.js +87 -0
  82. package/server/{factory-ByfbrCab.js → factory-DV18m0rc.js} +5 -5
  83. package/server/{feature-registry-population-CSH66UO8.js → feature-registry-population-CqZSnqQi.js} +4 -4
  84. package/server/{feature-registry-storage-DW7dUefc.js → feature-registry-storage-BeXmNBwK.js} +2 -2
  85. package/server/{features-x_aLR7U9.js → features-u5XeMaOK.js} +2 -2
  86. package/server/{feedback-target-BFo9fScH.js → feedback-target-CwyWf0Dg.js} +6 -6
  87. package/server/{feedback-target-C4VMPTZu.js → feedback-target-DDG1PWl3.js} +1 -1
  88. package/server/{feedback-writer-DCyd75yJ.js → feedback-writer-BsJiw5aT.js} +1 -1
  89. package/server/{feedback-writer-B9ZqnnX3.js → feedback-writer-D20HSXre.js} +4 -4
  90. package/server/{flywheel-DwQCoZQG.js → flywheel-9Y1X7IM-.js} +13 -13
  91. package/server/{flywheel-D9NKvWqb.js → flywheel-Dczmgchd.js} +23 -15
  92. package/server/{flywheel-DB48X7Nn.js → flywheel-RCnHAgc4.js} +1 -1
  93. package/server/{flywheel-merge-order-DrjmFXg4.js → flywheel-merge-order-CtCYsFJP.js} +7 -7
  94. package/server/{flywheel-merge-order-f1bi5XIf.js → flywheel-merge-order-DEtEd3aK.js} +1 -1
  95. package/server/forge-8y6aEPTB.js +2 -0
  96. package/server/{forge-C-SoKy8U.js → forge-DFDThFil.js} +2 -2
  97. package/server/{from-fu7ZumnY.js → from-NSJypkI8.js} +1 -1
  98. package/server/{fts-db-CL-YzSRG.js → fts-db-C5A_TTOM.js} +2 -2
  99. package/server/{fts-operations-Bylu5NjM.js → fts-operations-DvCSimfU.js} +2 -2
  100. package/server/{git-utils-Ym380hJZ.js → git-utils-C0neHvQx.js} +1 -1
  101. package/server/{git-utils-C8koBs8j.js → git-utils-Dr0L7mFk.js} +2 -2
  102. package/server/{github-app-DIr70YLg.js → github-app-Bwt9lK4A.js} +1 -1
  103. package/server/{github-app-DhycHVLF.js → github-app-u9-SX7Gc.js} +2 -2
  104. package/server/{github-client-7gkcXcBS.js → github-client-Btyy3uan.js} +3 -3
  105. package/server/{github-client-Ji9lUTNF.js → github-client-Do3k-N1W.js} +1 -1
  106. package/server/{github-pr-lookup-rt7T9FwA.js → github-pr-lookup-DOF1U2WW.js} +2 -2
  107. package/server/{harness-resolve-CvGXUnAF.js → harness-resolve-C6g2R0Cd.js} +3 -3
  108. package/server/{health-events-D4E1DLN-.js → health-events-B4u-2a9m.js} +2 -2
  109. package/server/{health-events-DDfkoO5a.js → health-events-Bos3sk5g.js} +1 -1
  110. package/server/{hooks-D_6pAbuJ.js → hooks-BCoOjL_R.js} +2 -2
  111. package/server/{hooks-DvdnCVv6.js → hooks-uEr8WTx_.js} +1 -1
  112. package/server/{hume-DkVOs1Qi.js → hume-BqxYKbUf.js} +2 -2
  113. package/server/hume-CerGi2RH.js +3 -0
  114. package/server/{idle-stack-reaper-cDRXDpgE.js → idle-stack-reaper-DbZ8ukMd.js} +2 -2
  115. package/server/{idle-stack-reaper-DNbV9-fj.js → idle-stack-reaper-H0W6XtHh.js} +1 -1
  116. package/server/{infra-Clew3DpF.js → infra-Ba9mS6e6.js} +3 -3
  117. package/server/{injection-QCIHOpk6.js → injection-C1DKXeIZ.js} +1 -1
  118. package/server/{injection-ql0Nddcn.js → injection-yrMBxzVq.js} +7 -7
  119. package/server/{inspect-agent-DY18KEx4.js → inspect-agent-B-mnb4uh.js} +9 -9
  120. package/server/inspect-agent-CWkeAB7J.js +2 -0
  121. package/server/{internal-token-C90jBp-y.js → internal-token-BPYEaXFh.js} +1 -1
  122. package/server/{internal-token-BeXjPLKy.js → internal-token-BtqSbKTx.js} +2 -2
  123. package/server/{io-CbAFXQge.js → io-VEGSAqsd.js} +15 -22
  124. package/server/{issue-closed-BYC2TCk-.js → issue-closed-BxcePXL-.js} +4 -4
  125. package/server/{issue-lifecycle-BoJa6qIt.js → issue-lifecycle--8MRxrG1.js} +22 -22
  126. package/server/{issue-lifecycle-CLHbj8RS.js → issue-lifecycle-CdMUauyb.js} +1 -1
  127. package/server/{issue-service-singleton-BS9NENuR.js → issue-service-singleton-CkTUI-eu.js} +10 -10
  128. package/server/{issue-service-singleton-3g_CCY-1.js → issue-service-singleton-MZsDhAob.js} +1 -1
  129. package/server/{issues-BPcqPqfV.js → issues-CBAsuoAO.js} +2 -2
  130. package/server/jsonl-parser-BUW5_sSK.js +245 -0
  131. package/server/{label-cleanup-CwiCSZrb.js → label-cleanup-htK6fBRU.js} +3 -3
  132. package/server/{layers-OHHLphl0.js → layers-jjL16At6.js} +2 -2
  133. package/server/{lifecycle-B8IdvUbt.js → lifecycle-Ck2UR27D.js} +7 -7
  134. package/server/{lifecycle-io-BMCH1Bxg.js → lifecycle-io-DXv8Utct.js} +1 -1
  135. package/server/{lifecycle-io-C73m5e6R.js → lifecycle-io-IehcRt2v.js} +36 -47
  136. package/server/{linear-client-BMxgycoy.js → linear-client-By7hjwuN.js} +1 -1
  137. package/server/{linear-client-CgQlM4aT.js → linear-client-D9cSQfvD.js} +3 -3
  138. package/server/memory-fts-worker.js +1 -1
  139. package/server/{merge-BRkVaIx-.js → merge-BLcEZNXz.js} +1 -1
  140. package/server/{merge-B7Oi-g6k.js → merge-BN8FGJ2q.js} +3 -3
  141. package/server/{merge-agent-DNFFsiEm.js → merge-agent-B3u2szOL.js} +29 -29
  142. package/server/{merge-agent-Bwm34MZ5.js → merge-agent-ejC7Wos8.js} +1 -1
  143. package/server/{merge-batch-BpYXUaqJ.js → merge-batch-DyqlgYGp.js} +1 -1
  144. package/server/{merge-blockers-DIOZmqdK.js → merge-blockers-cq-aS2KG.js} +2 -2
  145. package/server/merge-ops-CFkQtXEj.js +2 -0
  146. package/server/{merge-rebase-C8WH39MB.js → merge-rebase-Dl7yIxtV.js} +2 -2
  147. package/server/{merge-set-CsEE2CyQ.js → merge-set-CZ9Nbay0.js} +3 -3
  148. package/server/{merge-set-DOsBTBQc.js → merge-set-Dy0D0r3i.js} +1 -1
  149. package/server/{merge-sync-CcLM2vwW.js → merge-sync-CG9kDCdT.js} +1 -1
  150. package/server/{merge-sync-C2B322Ot.js → merge-sync-D7jWLgCC.js} +2 -2
  151. package/server/{merge-train-BIm7-7cy.js → merge-train-CH33XJOH.js} +3 -3
  152. package/server/{merge-train-deps-DG1oQ2DT.js → merge-train-deps-JoVdGnOg.js} +4 -4
  153. package/server/{merge-verification-BAbjxEd5.js → merge-verification-D4wTChdX.js} +4 -4
  154. package/server/{multipart-parser-jKtKAXtl.js → multipart-parser-Csn8U-K9.js} +2 -2
  155. package/server/{no-resume-mode-yrPEQ_pC.js → no-resume-mode-Gh5R_YLF.js} +1 -1
  156. package/server/node_modules/.package-lock.json +1 -1
  157. package/server/{orphan-proposed-reconciler-BqVGaOIj.js → orphan-proposed-reconciler-BIcNu4tl.js} +1 -1
  158. package/server/{orphan-proposed-reconciler-zHrwJ3xr.js → orphan-proposed-reconciler-DI_IS1p_.js} +15 -39
  159. package/server/package-lock.json +2 -2
  160. package/server/package.json +1 -1
  161. package/server/{pan-dir-BlNrLzW7.js → pan-dir-CQIfKG8c.js} +4 -4
  162. package/server/{paths-CiVeo4N_.js → paths-Blj6A9AJ.js} +2 -2
  163. package/server/{pickup-KLRUhThD.js → pickup-BtvRBbvI.js} +1 -1
  164. package/server/{pipeline-notifier-nkWCe042.js → pipeline-notifier-BH4PAi-w.js} +1 -1
  165. package/server/{pipeline-notifier-DBF6dHxH.js → pipeline-notifier-D_WYtEwl.js} +2 -2
  166. package/server/project-pipelines-jMTitpeO.js +162 -0
  167. package/server/projects-CrBE6IhN.js +3 -0
  168. package/server/{prompts-CXbQvevY.js → prompts-B3njaImU.js} +2 -2
  169. package/server/{providers-CUdAb5Qu.js → providers-BbEyFhPX.js} +7 -7
  170. package/server/providers-DnPxkHoG.js +3 -0
  171. package/server/public/assets/chunk-BO2N2NFS-3qh9TUJi.js +103 -0
  172. package/server/public/assets/{diagram-OG6HWLK6-NACO1xW5.js → diagram-OG6HWLK6-D8UVTPj7.js} +1 -1
  173. package/server/public/assets/{dist-DQD-ZjQY.js → dist-BvLLn1YC.js} +3 -3
  174. package/server/public/assets/{dist-D1FjqGgm.js → dist-CyubL7Wj.js} +1 -1
  175. package/server/public/assets/{ganttDiagram-6RSMTGT7-CEMAKgmE.js → ganttDiagram-6RSMTGT7-BI4E1LbQ.js} +1 -1
  176. package/server/public/assets/{highlighted-body-OFNGDK62-D5lC7FW8.js → highlighted-body-OFNGDK62-D_bapWkF.js} +1 -1
  177. package/server/public/assets/index-BAZxZ-8I.js +796 -0
  178. package/server/public/assets/index-FBG3JBfq.css +1 -0
  179. package/server/public/assets/{linear-DDHAMRPB.js → linear-CEdobObr.js} +1 -1
  180. package/server/public/assets/mermaid-GHXKKRXX-BYP8MI37.js +1 -0
  181. package/server/public/assets/{pieDiagram-4H26LBE5-DwBdeKBb.js → pieDiagram-4H26LBE5-DT79L01f.js} +1 -1
  182. package/server/public/assets/{prod-DAZt0c4G.js → prod-CR_K2DFV.js} +4 -4
  183. package/server/public/assets/{quadrantDiagram-W4KKPZXB-CNDLp-_m.js → quadrantDiagram-W4KKPZXB-BEkKXXrL.js} +1 -1
  184. package/server/public/assets/{sankeyDiagram-5OEKKPKP-oIUL_uO1.js → sankeyDiagram-5OEKKPKP-BxSCqn-j.js} +1 -1
  185. package/server/public/assets/{xychartDiagram-2RQKCTM6-B-IM6Cck.js → xychartDiagram-2RQKCTM6-DicwJGG_.js} +1 -1
  186. package/server/public/index.html +2 -2
  187. package/server/{pull-requests-DZ-V7_LB.js → pull-requests-43LPDfM8.js} +1 -1
  188. package/server/{pull-requests-kTRl7cWC.js → pull-requests-DyUkQl4W.js} +3 -3
  189. package/server/{rally-xCTZ-UcI.js → rally-BtWjybOa.js} +3 -3
  190. package/server/{rally-api-jOk4vit_.js → rally-api-B-YA_oXx.js} +1 -1
  191. package/server/{rally-api-DpZo3WwF.js → rally-api-B-osULNL.js} +2 -2
  192. package/server/{rally-client-BQjm3aaq.js → rally-client-CzFymP7P.js} +1 -1
  193. package/server/{rally-client-CoWZeVEj.js → rally-client-sErNQBO0.js} +5 -5
  194. package/server/rally-oggyp4cs.js +3 -0
  195. package/server/{reap-terminal-sessions-CAmURC2h.js → reap-terminal-sessions-2s-fvilz.js} +1 -1
  196. package/server/{reap-terminal-sessions-BwJb2DLJ.js → reap-terminal-sessions-DnDQ7pf9.js} +1 -1
  197. package/server/{rebuild-stack-BZ7j27xY.js → rebuild-stack-CoU-HqZj.js} +6 -6
  198. package/server/{rebuild-stack-r-cxcr26.js → rebuild-stack-nGD_nPZo.js} +1 -1
  199. package/server/{reconstruct-cache-13EkMg_i.js → reconstruct-cache-Wj8GrYB0.js} +6 -6
  200. package/server/record-lEYK__LD.js +3 -0
  201. package/server/recovery-trip-BT7nb9OV.js +98 -0
  202. package/server/{release-engine-YLTnEO_K.js → release-engine-CBLQXDlH.js} +5 -5
  203. package/server/{release-set-DwvT_Opu.js → release-set-BNiqi7hy.js} +3 -3
  204. package/server/{remote-B062S1Kc.js → remote-DW_TWQnr.js} +3 -3
  205. package/server/{remote-9u9WL0NJ.js → remote-DcO9An_f.js} +3 -3
  206. package/server/{remote-agents-BBTg-vLT.js → remote-agents-C4cyxHQS.js} +6 -6
  207. package/server/{remote-agents-B4eWgwNd.js → remote-agents-Cv-U-_V8.js} +1 -1
  208. package/server/{remote-completion-B0rmBnbL.js → remote-completion-PhXGGFQy.js} +13 -13
  209. package/server/resolver-C7dLn8OK.js +158 -0
  210. package/server/resume-BYZBIab-.js +3 -0
  211. package/server/{review-agent-tfR5RDzG.js → review-agent-Dn-yn7Zj.js} +23 -23
  212. package/server/{review-agent-Bf9XjLnl.js → review-agent-u5q3ip7H.js} +1 -1
  213. package/server/{review-artifacts-D0_IE6DQ.js → review-artifacts-D4T04aYI.js} +6 -6
  214. package/server/{review-context-CXO5ml5D.js → review-context-Rc0VDLG_.js} +8 -8
  215. package/server/{review-monitor-DfFUSx0J.js → review-monitor-BC--miCO.js} +2 -2
  216. package/server/{review-status-B0Axo-Ma.js → review-status-CG0iDuWa.js} +1 -1
  217. package/server/{review-status-BcfwcAcO.js → review-status-Dc1l4dVz.js} +18 -18
  218. package/server/{review-status-enrichment-Cp5kFTGl.js → review-status-enrichment-C1a1OG_1.js} +3 -3
  219. package/server/{review-status-sync-CEFty1pW.js → review-status-sync-CAr-hfnJ.js} +2 -2
  220. package/server/{review-status-sync-Bc0c_u12.js → review-status-sync-CfSixhhX.js} +1 -1
  221. package/server/{review-verdict-feedback-BOKRLLDf.js → review-verdict-feedback-CVDbIDBe.js} +7 -7
  222. package/server/{review-verdict-feedback-BnGtT0vN.js → review-verdict-feedback-D2Q960wX.js} +1 -1
  223. package/server/{rollup-BVqFuiS9.js → rollup-CakjztPl.js} +1 -1
  224. package/server/{rollup-C22QDVxh.js → rollup-DctoIu-A.js} +8 -8
  225. package/server/{scanner-BLCnuXqY.js → scanner-BTM1jc_u.js} +7 -7
  226. package/server/{sequence-io-BozlUb6f.js → sequence-io-pnoIDGv4.js} +4 -4
  227. package/server/{sequencer-agent-BEDEHfd2.js → sequencer-agent-9Soi-WL-.js} +10 -6
  228. package/server/server.js +1239 -1836
  229. package/server/{service-C8jKYZ0w.js → service-DfTVoqJg.js} +1668 -1408
  230. package/server/{session-fork-BDGksK4e.js → session-fork-C4jAFHj8.js} +2 -2
  231. package/server/session-history-DanhhiCw.js +168 -0
  232. package/server/{settings-CSLhh6qR.js → settings-Cuc12oP_.js} +2 -2
  233. package/server/settings-Cy7SCFO9.js +2 -0
  234. package/server/{settings-DrRQCren.js → settings-DfT3f86D.js} +3 -3
  235. package/server/{shadow-engineering-BMcBN-Of.js → shadow-engineering-bKuKTCn-.js} +3 -3
  236. package/server/{shadow-state-CHqWHD3T.js → shadow-state-CVHpRWlb.js} +1 -1
  237. package/server/{shadow-state-B4ayC7nx.js → shadow-state-DJz6_pb_.js} +2 -2
  238. package/server/{ship-log-CDVmOlZP.js → ship-log-CwqPFfqx.js} +1 -1
  239. package/server/{smart-compaction-V9DBrGcr.js → smart-compaction-B4KlpZGN.js} +1 -1
  240. package/server/{smart-compaction-C-F5sP9P.js → smart-compaction-CiWfGfRZ.js} +7 -7
  241. package/server/{spawn-planning-session-dSpOU0lP.js → spawn-planning-session-CU-DwyDl.js} +15 -15
  242. package/server/{spawn-planning-session-Bz4_JES2.js → spawn-planning-session-D5N3RuLG.js} +1 -1
  243. package/server/{specialist-completion-Coz3eTSr.js → specialist-completion-CJcv-NXH.js} +1 -1
  244. package/server/{specialist-context-fmb03vXQ.js → specialist-context-B2HlbNxS.js} +5 -5
  245. package/server/{specialist-handoff-logger-B9HK_lRu.js → specialist-handoff-logger-CQyF1ygu.js} +2 -2
  246. package/server/{specialist-logs-B24R2B9Y.js → specialist-logs-CdcUpfjj.js} +3 -3
  247. package/server/{specialists-CL7E8yUg.js → specialists-CFgw_0Q6.js} +1657 -113
  248. package/server/{specialists-BGNZ0_ZW.js → specialists-CwzFdapR.js} +20 -256
  249. package/server/{specialists-B6f5-5nG.js → specialists-D7AcFi1u.js} +1 -1
  250. package/server/{specialists-Chvvwf5z.js → specialists-k22_Btaq.js} +1 -1
  251. package/server/specs-RzcDgozr.js +3 -0
  252. package/server/{src-DGAEtABV.js → src-B4TTzNSr.js} +84 -2
  253. package/server/{src-BVxZuHMg.js → src-BvpMg4EB.js} +3 -3
  254. package/server/{src-D-VXCC9C.js → src-D4YUZrwR.js} +6 -6
  255. package/server/{stack-health-C-le5erA.js → stack-health-CSgcYcr8.js} +2 -2
  256. package/server/{stack-health-BKbTTOT2.js → stack-health-DVN7zRnL.js} +1 -1
  257. package/server/{state-home-CoyWsECg.js → state-home-CEvD_v5F.js} +6 -6
  258. package/server/{state-mapping-BvAgFK8n.js → state-mapping-C13UaCL7.js} +1 -1
  259. package/server/stuck-remediation-CxsyxwFO.js +1513 -0
  260. package/server/stuck-remediation-nTIvhGOR.js +2 -0
  261. package/server/{summary-fork-BF_0vxrq.js → summary-fork-CnRMPCYd.js} +2 -2
  262. package/server/{summary-fork-BlE30Q-I.js → summary-fork-gKSoFAnK.js} +8 -8
  263. package/server/{supervisor-BSeML_p0.js → supervisor-CZMs8s0M.js} +2 -2
  264. package/server/supervisor-CfX192ma.js +2 -0
  265. package/server/{swarm-readiness-CQ4sjrXc.js → swarm-readiness-h6-pwY8w.js} +3 -3
  266. package/server/{system-prerequisites-DnmLYOnU.js → system-prerequisites-DZZTi2G6.js} +1 -1
  267. package/server/{teardown-workspace-CpcjDrZ4.js → teardown-workspace-B4D-oCVg.js} +37 -68
  268. package/server/{test-agent-queue-Bq298zZl.js → test-agent-queue-CnuYku4B.js} +6 -6
  269. package/server/{test-verdict-CCDd25uN.js → test-verdict-CRsPpByy.js} +1 -1
  270. package/server/{test-verdict-Bm4uv_AA.js → test-verdict-CXMLATGc.js} +1 -1
  271. package/server/{tldr-daemon-Rn1Zue0P.js → tldr-daemon-CgZQ3jmZ.js} +1 -1
  272. package/server/{tldr-daemon-CaSUXd9r.js → tldr-daemon-CuA8hz21.js} +2 -2
  273. package/server/{tmux-CbcrkUx5.js → tmux-By8E_Yv_.js} +1 -1
  274. package/server/{tmux-BVc-NeKM.js → tmux-C3g9VFcg.js} +2 -2
  275. package/server/{token-D2OC_9ms.js → token-g_sJ19g3.js} +2 -2
  276. package/server/token-util-C9u4An3K.js +3 -0
  277. package/server/{token-util-CROoF5ic.js → token-util-DiwnnbJo.js} +1 -1
  278. package/server/{tracker-config-EsBoOWEy.js → tracker-config-BzfVj41Z.js} +1 -1
  279. package/server/{tracker-config-C1Y_2CIo.js → tracker-config-dQxC15vH.js} +2 -2
  280. package/server/{tracker-utils-lph9C3Pw.js → tracker-utils--z8FLSWn.js} +2 -2
  281. package/server/{tracker-utils-DSb9cfrF.js → tracker-utils-DkKyRT0H.js} +1 -1
  282. package/server/{traefik-connect-5EP1WS_Z.js → traefik-connect-CZYB3dlm.js} +1 -1
  283. package/server/{tunnel-BFBCeo97.js → tunnel-BpWZs0Jy.js} +3 -3
  284. package/server/{tunnel-DDe-ATFF.js → tunnel-CN2px87h.js} +1 -1
  285. package/server/{typed-errors-DSPn_xWP.js → typed-errors-CrN1AByg.js} +1 -1
  286. package/server/{typed-errors-BEJhbjJg.js → typed-errors-sLpGfegz.js} +1 -1
  287. package/server/{types-CE1m_daD.js → types-BLS_Zbmd.js} +1 -1
  288. package/server/{types-B5u3NxMl.js → types-tlXf80x3.js} +1 -1
  289. package/server/{uat-train-DtKHHy1U.js → uat-train-BRo6DM7p.js} +24 -24
  290. package/server/{uat-train-8T24rPzc.js → uat-train-utGVmqdm.js} +1 -1
  291. package/server/{validation-lyudzPvD.js → validation-CsPVsoA0.js} +4 -4
  292. package/server/{validation-COOXwNXU.js → validation-Dq_wwcw3.js} +1 -1
  293. package/server/{verification-runner-DO0nYTJx.js → verification-runner-CMT5WRMS.js} +12 -12
  294. package/server/{verification-runner-Dd1FX8Qk.js → verification-runner-D0Uh-9jc.js} +1 -1
  295. package/server/{vtt-parser-C57tEF7-.js → vtt-parser-C_XPlifj.js} +1 -1
  296. package/server/{work-agent-prompt-B2F3ZwKm.js → work-agent-prompt-ZTAb2Hyf.js} +12 -12
  297. package/server/workflows-BLwxUMP7.js +2 -0
  298. package/server/{workflows-Clz_AFwR.js → workflows-CXRwhw_o.js} +14 -14
  299. package/server/{workspace-D0rCFemz.js → workspace-9UEsKuiP.js} +1 -1
  300. package/server/{workspace-CY_2-Ddv.js → workspace-CNfuj1-5.js} +3 -3
  301. package/server/{workspace-config-DA8U97k9.js → workspace-config-ChWOECy0.js} +1 -1
  302. package/server/{workspace-manager-BIfpzqdU.js → workspace-manager-BO-6k3sP.js} +1 -1
  303. package/server/{workspace-manager-D6NgGkiF.js → workspace-manager-D8AByFIT.js} +13 -13
  304. package/server/{workspace-metadata-C8yn8kAH.js → workspace-metadata-CvC268MN.js} +2 -2
  305. package/server/{workspace-metadata-DfgR40YU.js → workspace-metadata-DZiJtnuF.js} +1 -1
  306. package/server/{workspaces-DOeHyKmA.js → workspaces-D-uIoqbg.js} +104 -122
  307. package/server/writer-BUweuRPx.js +3 -0
  308. package/server/writer-CrP2xuBn.js +251 -0
  309. package/sync-sources/hooks/ask-user-question-hook +7 -1
  310. package/sync-sources/hooks/record-cost-event.js +4 -3
  311. package/sync-sources/hooks/record-cost-event.js.map +1 -1
  312. package/server/agent-runtime-mirror-DrWxopNA.js +0 -37
  313. package/server/auto-commit-wZ9X7Isd.js +0 -3
  314. package/server/bd-mutex-BItGvLQ8.js +0 -35
  315. package/server/beads-restore-CMbDSB5R.js +0 -60
  316. package/server/cli-CqgiSAU8.js +0 -3
  317. package/server/deacon-swarm-B8pgK2a7.js +0 -2
  318. package/server/dist-BYSj075e.js +0 -3
  319. package/server/forge-CUCYK7h_.js +0 -2
  320. package/server/hume-x9voULey.js +0 -3
  321. package/server/inspect-agent-D8UBDgfR.js +0 -2
  322. package/server/merge-ops-B7m-hBEZ.js +0 -2
  323. package/server/projects-BqRMlDOv.js +0 -3
  324. package/server/providers-gZ0cUgQM.js +0 -3
  325. package/server/public/assets/chunk-BO2N2NFS-C-6y8VFI.js +0 -103
  326. package/server/public/assets/index-BDqWyuZQ.js +0 -796
  327. package/server/public/assets/index-CZiADHcL.css +0 -1
  328. package/server/public/assets/mermaid-GHXKKRXX-DRM2ANcR.js +0 -1
  329. package/server/rally-CRteqXe0.js +0 -3
  330. package/server/record-CJsjvRO4.js +0 -3
  331. package/server/resume-R7xkSmLW.js +0 -3
  332. package/server/settings-CSaXtkoA.js +0 -2
  333. package/server/specs-oaaYaA5c.js +0 -3
  334. package/server/supervisor-03Tj_Wra.js +0 -2
  335. package/server/token-util-xNaV-00f.js +0 -3
  336. package/server/workflows-B4fIN8VP.js +0 -2
@@ -1,40 +1,41 @@
1
1
  import { n as __esmMin, o as __toESM } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { $ as getModelCapabilitySync, C as resolveTieredExecutionEnabled, Dn as getProjectSync, En as getProjectSwarmHotspots, Ft as resolveProjectForIssue, Gn as resolveProjectFromIssueSync, Gr as resolveOhmypiExtensionPath, H as ensureOpenAICompatibleProxyRunning, Hr as init_paths, I as getProviderEnvSync, Kr as sessionFilePath, L as getProviderForModelSync, Lt as writeAgentHarnessModelSync, Mt as readIssueRecordForWorkspaceSync, N as clearCredentialFileAuthSync, Nn as init_projects, Nt as readIssueRecordSync, Ot as init_record, P as getBuiltInDefaultHarness, R as init_providers, Rr as encodeClaudeProjectDir, S as init_tier_table, U as init_openai_compatible_proxy, V as setupCredentialFileAuthSync, Vr as getOverdeckHome, Wr as packageRoot, X as resolveModel, Y as init_roles, ar as require_dist, at as fmix32, b as TIERED_EXECUTION_DIFFICULTIES, bn as findProjectByPathSync, br as AGENTS_DIR, cr as ConfigError, er as init_issue_id, f as loadConfigSync, fn as init_state_read_home, it as resolveModelIdSync, kr as OVERDECK_HOME, l as isClaudeCodeChannelsMcpEnabled, lr as FsError, mn as shouldCommitLegacyWorkspaceArtifacts, nt as init_model_capabilities, ot as fnv1a32, rr as resolveBareNumericIdSync, sr as ClaudeCredentialParseError, st as init_percent, t as init_config_yaml, tt as hasModelCapabilitySync, u as isTldrEnabledSync, w as resolveTieredExecutionEnabledForIssue, wn as getIssuePrefix, y as DEFAULT_TIERED_EXECUTION_CONFIG, yr as init_errors } from "./config-yaml-C_djSurJ.js";
2
+ import { Br as encodeClaudeProjectDir, C as init_tier_table, En as getIssuePrefix, F as getBuiltInDefaultHarness, Fn as init_projects, H as setupCredentialFileAuthSync, It as resolveProjectForIssue, Jr as init_paths, L as getProviderEnvSync, Nt as readIssueRecordForWorkspaceSync, On as getProjectSwarmHotspots, P as clearCredentialFileAuthSync, Pt as readIssueRecordSync, Qr as sessionFilePath, R as getProviderForModelSync, Rt as writeAgentHarnessModelSync, Sn as findProjectByPathSync, Sr as AGENTS_DIR, T as resolveTieredExecutionEnabledForIssue, U as ensureOpenAICompatibleProxyRunning, W as init_openai_compatible_proxy, X as init_roles, Xr as packageRoot, Z as resolveModel, Zr as resolveOhmypiExtensionPath, ar as resolveBareNumericIdSync, at as resolveModelIdSync, b as DEFAULT_TIERED_EXECUTION_CONFIG, ct as init_percent, dr as FsError, et as getModelCapabilitySync, f as loadConfigSync, gn as shouldCommitLegacyWorkspaceArtifacts, jr as OVERDECK_HOME, kn as getProjectSync, kt as init_record, l as isClaudeCodeChannelsMcpEnabled, lr as ClaudeCredentialParseError, mn as init_state_read_home, nr as init_issue_id, nt as hasModelCapabilitySync, ot as fmix32, qn as resolveProjectFromIssueSync, qr as getOverdeckHome, rt as init_model_capabilities, sr as require_dist, st as fnv1a32, t as init_config_yaml, u as isTldrEnabledSync, ur as ConfigError, w as resolveTieredExecutionEnabled, x as TIERED_EXECUTION_DIFFICULTIES, xr as init_errors, z as init_providers } from "./config-yaml-cNOZcEww.js";
3
3
  import { t as require_toml } from "./toml-CeLDATih.js";
4
4
  import { a as init_activity_logger, n as emitActivityEntrySync, r as emitActivityTtsSync } from "./activity-logger-pcbf-e30.js";
5
- import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-Clew3DpF.js";
6
- import { A as listSessionsSync, C as isPaneDead, E as listPaneValues, I as sendRawKeystroke, L as sessionExists, N as sendEscapeKeyAsync, P as sendKeys, R as sessionExistsSync, T as killSessionSync, W as BLANKED_PROVIDER_ENV, a as capturePaneSync, d as exactPaneTarget, i as capturePane, k as listSessions, o as createSession, q as init_child_env, s as createSessionSync, w as killSession, x as init_tmux, z as setOption } from "./tmux-BVc-NeKM.js";
7
- import { a as init_event_store, i as initEventStore } from "./event-store-C71x6h0i.js";
8
- import { a as getHarnessBehavior, i as OHMYPI_BEHAVIOR } from "./src-DGAEtABV.js";
9
- import { A as listOverdeckAgentStatesSync, E as readReviewStatusMap, O as getOverdeckAgentStateSync, T as init_review_status_source, c as init_review_status, j as saveOverdeckAgentStateSync, k as init_agent_state_sync, m as resetPipelineVerdictsForWorkStartSync } from "./review-status-BcfwcAcO.js";
10
- import { d as init_agents$1, l as countAgentsByStatus, n as ensureSessionContextBriefingFile, r as init_briefing_freshness } from "./briefing-freshness-BL3Q6p7R.js";
11
- import { o as getPricingSync, s as init_cost } from "./cost-CaiG63FG.js";
12
- import { t as init_behavior } from "./behavior-D3d2mVyD.js";
13
- import { _ as init_tier_metrics, g as estimateFeedDeliveryTokens, v as recordTierFeedDelivery } from "./cost-sync-D6AX8jv-.js";
14
- import { n as init_agent_runtime_mirror, r as isAgentStateServiceInProcess, t as getRuntimeSnapshot } from "./agent-runtime-mirror-DrWxopNA.js";
15
- import { i as ensureInternalTokenSync, s as init_internal_token, t as INTERNAL_TOKEN_HEADER } from "./internal-token-BeXjPLKy.js";
16
- import { m as readWorkspacePlanSync, o as init_io } from "./io-CbAFXQge.js";
17
- import { c as bridgeGeminiAuthToCliproxy, p as getCliproxyClientEnv, s as bridgeCodexAuthToCliproxySync, v as init_cliproxy } from "./cliproxy-BituqWtR.js";
18
- import { f as init_config$1, m as loadConfigSync$1 } from "./config-DsCxzjXK.js";
19
- import { L as normalizeHarness, R as reactivateConversationForSpawn, S as getConversationByName, k as init_conversations, y as createConversation } from "./conversations-BSOU5qnu.js";
20
- import { n as recordFeatureRegistryLifecycle, t as init_feature_registry_population } from "./feature-registry-population-CSH66UO8.js";
21
- import { a as readCavemanVariant, n as init_workspace } from "./workspace-CY_2-Ddv.js";
22
- import { a as init_launcher_generator, c as requireModelOverrideSync, i as generateLauncherScriptSync, l as shellQuoteModelIdSync, n as init_state_home, o as init_model_validation, r as isStateMigrated, s as normalizeModelOverrideSync } from "./state-home-CoyWsECg.js";
23
- import { a as init_claude_permissions, r as getClaudePermissionFlagsStringSync } from "./claude-permissions-DxIjkOVl.js";
24
- import { h as workspaceContextFile, o as init_layers } from "./layers-OHHLphl0.js";
25
- import { a as extractThreadIdFromRollout, c as initCodexHome, l as init_codex, o as findLatestRollout } from "./codex-CO0HrK3j.js";
26
- import { a as getFlywheelActiveRunIdSync, s as init_control_settings } from "./control-settings-KyYNXZLv.js";
27
- import { n as createTrackerFromConfig, r as init_factory, t as createTracker } from "./factory-ByfbrCab.js";
28
- import { a as init_stack_health, i as getWorkspaceStackHealth } from "./stack-health-C-le5erA.js";
29
- import { a as createActiveSlice, c as groupItemsByWave, s as getDispatchableItems, u as init_dag } from "./dag-BQFtXOuJ.js";
30
- import { n as init_bd_process_lock, t as BdTransientFailure } from "./bd-process-lock-D1aJxeYv.js";
31
- import { n as assertIssueHasBeads, r as init_beads_query, t as BeadsMissingError } from "./beads-query-tOsAYP5h.js";
32
- import { c as generateFixedPointPromptSync, f as initHookSync, n as checkHookSync, p as init_hooks } from "./hooks-D_6pAbuJ.js";
33
- import { n as resolveHarness, t as init_harness_resolve } from "./harness-resolve-CvGXUnAF.js";
34
- import { r as isRoleTerminal, t as init_reap_terminal_sessions } from "./reap-terminal-sessions-CAmURC2h.js";
35
- import { a as init_lifecycle_io, t as appendContinueSessionEntryForIssue } from "./lifecycle-io-C73m5e6R.js";
36
- import { r as init_swarm_readiness, t as analyzeSwarmReadiness } from "./swarm-readiness-CQ4sjrXc.js";
37
- import { dirname, join, relative } from "node:path";
5
+ import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-Ba9mS6e6.js";
6
+ import { A as listSessionsSync, C as isPaneDead, E as listPaneValues, I as sendRawKeystroke, L as sessionExists, N as sendEscapeKeyAsync, P as sendKeys, R as sessionExistsSync, T as killSessionSync, W as BLANKED_PROVIDER_ENV, a as capturePaneSync, d as exactPaneTarget, i as capturePane, k as listSessions, o as createSession, q as init_child_env, s as createSessionSync, w as killSession, x as init_tmux, z as setOption } from "./tmux-C3g9VFcg.js";
7
+ import { a as init_event_store, i as initEventStore } from "./event-store-D89fMfXS.js";
8
+ import { a as getHarnessBehavior, i as OHMYPI_BEHAVIOR } from "./src-B4TTzNSr.js";
9
+ import { A as listOverdeckAgentStatesSync, E as readReviewStatusMap, O as getOverdeckAgentStateSync, T as init_review_status_source, c as init_review_status, j as saveOverdeckAgentStateSync, k as init_agent_state_sync, m as resetPipelineVerdictsForWorkStartSync } from "./review-status-Dc1l4dVz.js";
10
+ import { d as init_agents$1, l as countAgentsByStatus, n as ensureSessionContextBriefingFile, r as init_briefing_freshness } from "./briefing-freshness-DESTCWo-.js";
11
+ import { o as getPricingSync, s as init_cost } from "./cost-D9kPIY_5.js";
12
+ import { _ as init_tier_metrics, g as estimateFeedDeliveryTokens, v as recordTierFeedDelivery } from "./cost-sync-DF6odxK9.js";
13
+ import { a as persistCurrentSessionId, d as isAgentStateServiceInProcess, i as logLauncherSessionPinned, l as getRuntimeSnapshot, n as createFreshSessionIdentity, o as init_persistent_logger, r as init_session_history, s as logAgentLifecycleSync, u as init_agent_runtime_mirror } from "./session-history-DanhhiCw.js";
14
+ import { t as init_behavior } from "./behavior-BTpYbAv4.js";
15
+ import { i as ensureInternalTokenSync, s as init_internal_token, t as INTERNAL_TOKEN_HEADER } from "./internal-token-BtqSbKTx.js";
16
+ import { m as readWorkspacePlanSync, o as init_io } from "./io-VEGSAqsd.js";
17
+ import { c as bridgeGeminiAuthToCliproxy, p as getCliproxyClientEnv, s as bridgeCodexAuthToCliproxySync, v as init_cliproxy } from "./cliproxy-B4c1BUvs.js";
18
+ import { f as init_config$1, m as loadConfigSync$1 } from "./config-DVLdmnMJ.js";
19
+ import { L as normalizeHarness, R as reactivateConversationForSpawn, S as getConversationByName, k as init_conversations, y as createConversation } from "./conversations-B-lcHv-5.js";
20
+ import { n as recordFeatureRegistryLifecycle, t as init_feature_registry_population } from "./feature-registry-population-CqZSnqQi.js";
21
+ import { a as readCavemanVariant, n as init_workspace } from "./workspace-CNfuj1-5.js";
22
+ import { a as init_launcher_generator, c as requireModelOverrideSync, i as generateLauncherScriptSync, l as shellQuoteModelIdSync, n as init_state_home, o as init_model_validation, r as isStateMigrated, s as normalizeModelOverrideSync } from "./state-home-CEvD_v5F.js";
23
+ import { a as init_claude_permissions, r as getClaudePermissionFlagsStringSync } from "./claude-permissions-CThLgf8d.js";
24
+ import { h as workspaceContextFile, o as init_layers } from "./layers-jjL16At6.js";
25
+ import { a as extractThreadIdFromRollout, c as initCodexHome, l as init_codex, o as findLatestRollout } from "./codex-BbqIRZjd.js";
26
+ import { a as getFlywheelActiveRunIdSync, s as init_control_settings } from "./control-settings-D4EFsRBd.js";
27
+ import { n as createTrackerFromConfig, r as init_factory, t as createTracker } from "./factory-DV18m0rc.js";
28
+ import { a as init_stack_health, i as getWorkspaceStackHealth } from "./stack-health-CSgcYcr8.js";
29
+ import { a as createActiveSlice, c as groupItemsByWave, s as getDispatchableItems, u as init_dag } from "./dag-DKI3sOmX.js";
30
+ import { n as init_bd_process_lock, t as BdTransientFailure } from "./bd-process-lock-XAXAet9O.js";
31
+ import { n as assertIssueHasBeads, r as init_beads_query, t as BeadsMissingError } from "./beads-query-Dl4FhT8J.js";
32
+ import { c as generateFixedPointPromptSync, f as initHookSync, n as checkHookSync, p as init_hooks } from "./hooks-BCoOjL_R.js";
33
+ import { n as resolveHarness, t as init_harness_resolve } from "./harness-resolve-C6g2R0Cd.js";
34
+ import { r as isRoleTerminal, t as init_reap_terminal_sessions } from "./reap-terminal-sessions-2s-fvilz.js";
35
+ import { n as provisionClaudeHooks, t as init_claude_hooks_provision } from "./claude-hooks-provision-DAtxutOs.js";
36
+ import { a as init_lifecycle_io, t as appendContinueSessionEntryForIssue } from "./lifecycle-io-IehcRt2v.js";
37
+ import { r as init_swarm_readiness, t as analyzeSwarmReadiness } from "./swarm-readiness-h6-pwY8w.js";
38
+ import { delimiter, dirname, join, relative } from "node:path";
38
39
  import { Data, Duration, Effect, FileSystem } from "effect";
39
40
  import { appendFileSync, existsSync, mkdirSync, readFileSync, statSync, statfsSync, unlinkSync, writeFileSync } from "fs";
40
41
  import { basename as basename$1, dirname as dirname$1, join as join$1, resolve as resolve$1 } from "path";
@@ -48,7 +49,7 @@ import { mkdir as mkdir$1, readFile as readFile$1, readdir as readdir$1, rename
48
49
  import { platform as platform$2 } from "process";
49
50
  import { exec, execFile } from "node:child_process";
50
51
  import { promisify } from "node:util";
51
- import { exec as exec$1, execSync as execSync$1 } from "child_process";
52
+ import { exec as exec$1, execSync } from "child_process";
52
53
  import { promisify as promisify$1 } from "util";
53
54
  import { createHash as createHash$1, randomBytes, randomUUID as randomUUID$1 } from "node:crypto";
54
55
  import { fileURLToPath } from "node:url";
@@ -889,54 +890,6 @@ var init_agent_record_sync = __esmMin((() => {
889
890
  init_record();
890
891
  }));
891
892
  //#endregion
892
- //#region ../../lib/persistent-logger.ts
893
- /**
894
- * Append-only persistent logger for forensic audit trails.
895
- *
896
- * Complements the SQLite event store (activity-logger.ts) with flat-file logs
897
- * that survive event-store resets and are greppable from the shell.
898
- *
899
- * Files:
900
- * ~/.overdeck/logs/deacon.log — deacon startup recovery actions
901
- * ~/.overdeck/agents/<id>/lifecycle.log — per-agent state transitions
902
- */
903
- function logsDir() {
904
- return join$1(getOverdeckHome(), "logs");
905
- }
906
- function agentDir(agentId) {
907
- return join$1(getOverdeckHome(), "agents", agentId);
908
- }
909
- function ensureLogsDir() {
910
- try {
911
- mkdirSync(logsDir(), { recursive: true });
912
- } catch {}
913
- }
914
- function ensureAgentDir(agentId) {
915
- try {
916
- mkdirSync(agentDir(agentId), { recursive: true });
917
- } catch {}
918
- }
919
- function timestamp() {
920
- return (/* @__PURE__ */ new Date()).toISOString();
921
- }
922
- /** Append a line to ~/.overdeck/logs/deacon.log */
923
- function logDeaconEventSync(message) {
924
- ensureLogsDir();
925
- try {
926
- appendFileSync(join$1(logsDir(), "deacon.log"), `[${timestamp()}] ${message}\n`);
927
- } catch {}
928
- }
929
- /** Append a line to ~/.overdeck/agents/<agentId>/lifecycle.log */
930
- function logAgentLifecycleSync(agentId, message) {
931
- ensureAgentDir(agentId);
932
- try {
933
- appendFileSync(join$1(agentDir(agentId), "lifecycle.log"), `[${timestamp()}] ${message}\n`);
934
- } catch {}
935
- }
936
- var init_persistent_logger = __esmMin((() => {
937
- init_paths();
938
- }));
939
- //#endregion
940
893
  //#region ../../lib/agents/agent-state.ts
941
894
  function getAgentDir(agentId) {
942
895
  return join$1(getOverdeckHome(), "agents", agentId);
@@ -2324,7 +2277,7 @@ async function createOhmypiFifoPromise(agentId, home) {
2324
2277
  mode: 448
2325
2278
  });
2326
2279
  if (existsSync$1(paths.fifoPath)) unlinkSync$1(paths.fifoPath);
2327
- await execAsync$6(`mkfifo -m 600 ${shellQuote$1(paths.fifoPath)}`);
2280
+ await execAsync$7(`mkfifo -m 600 ${shellQuote$2(paths.fifoPath)}`);
2328
2281
  return paths.fifoPath;
2329
2282
  }
2330
2283
  /**
@@ -2362,14 +2315,14 @@ function writeOhmypiCommandSync(agentId, command, home) {
2362
2315
  closeSync$1(fd);
2363
2316
  }
2364
2317
  }
2365
- function shellQuote$1(s) {
2318
+ function shellQuote$2(s) {
2366
2319
  if (/^[A-Za-z0-9._/-]+$/.test(s)) return s;
2367
2320
  return `'${s.replace(/'/g, `'\\''`)}'`;
2368
2321
  }
2369
- var execAsync$6, OhmypiNotReady, OhmypiFifoError, createOhmypiFifo;
2322
+ var execAsync$7, OhmypiNotReady, OhmypiFifoError, createOhmypiFifo;
2370
2323
  var init_ohmypi_fifo = __esmMin((() => {
2371
2324
  init_paths();
2372
- execAsync$6 = promisify(exec);
2325
+ execAsync$7 = promisify(exec);
2373
2326
  OhmypiNotReady = class extends Error {
2374
2327
  code = "OHMYPI_NOT_READY";
2375
2328
  constructor(message) {
@@ -2429,12 +2382,12 @@ async function claudeSystemPromptFiles(workspace, harness) {
2429
2382
  files.push(await ensureSessionContextBriefingFile());
2430
2383
  const behavior = getHarnessBehavior(harness);
2431
2384
  if (behavior.contextLayerKind === "pi") {
2432
- const { piGlobalContextFile } = await import("./context-layers-CHl3Nroz.js");
2385
+ const { piGlobalContextFile } = await import("./context-layers-CeAwSYNt.js");
2433
2386
  const globalFile = piGlobalContextFile();
2434
2387
  if (existsSync(globalFile)) files.unshift(globalFile);
2435
2388
  }
2436
2389
  if (behavior.contextLayerKind === "codex") {
2437
- const { codexGlobalContextFile } = await import("./context-layers-CHl3Nroz.js");
2390
+ const { codexGlobalContextFile } = await import("./context-layers-CeAwSYNt.js");
2438
2391
  const globalFile = codexGlobalContextFile();
2439
2392
  if (existsSync(globalFile)) files.unshift(globalFile);
2440
2393
  }
@@ -2461,14 +2414,14 @@ async function hasAgentRuntimeInSubtree(rootPid, harness = "claude-code") {
2461
2414
  if (seen.has(pid) || !/^\d+$/.test(pid)) continue;
2462
2415
  seen.add(pid);
2463
2416
  try {
2464
- const { stdout: comm } = await execAsync$4(`ps -p ${pid} -o comm=`);
2417
+ const { stdout: comm } = await execAsync$5(`ps -p ${pid} -o comm=`);
2465
2418
  const name = comm.trim();
2466
2419
  if (expectedProcessNames.has(name)) return true;
2467
2420
  } catch {
2468
2421
  continue;
2469
2422
  }
2470
2423
  try {
2471
- const { stdout: kids } = await execAsync$4(`pgrep -P ${pid}`);
2424
+ const { stdout: kids } = await execAsync$5(`pgrep -P ${pid}`);
2472
2425
  for (const kid of kids.trim().split("\n").filter(Boolean)) queue.push(kid);
2473
2426
  } catch {}
2474
2427
  }
@@ -2587,7 +2540,7 @@ async function injectPiPromptTimeMemory(agentId, prompt) {
2587
2540
  agentRole: agentState.role ?? "work",
2588
2541
  agentHarness: agentState.harness ?? "claude-code"
2589
2542
  };
2590
- const { injectPromptTimeMemory } = await import("./injection-QCIHOpk6.js");
2543
+ const { injectPromptTimeMemory } = await import("./injection-C1DKXeIZ.js");
2591
2544
  const result = await injectPromptTimeMemory({
2592
2545
  prompt,
2593
2546
  identity,
@@ -2621,7 +2574,7 @@ async function injectPiConversationMemory(opts, prompt) {
2621
2574
  agentRole: "work",
2622
2575
  agentHarness: "ohmypi"
2623
2576
  };
2624
- const { injectPromptTimeMemory } = await import("./injection-QCIHOpk6.js");
2577
+ const { injectPromptTimeMemory } = await import("./injection-C1DKXeIZ.js");
2625
2578
  const result = await injectPromptTimeMemory({
2626
2579
  prompt,
2627
2580
  identity,
@@ -2797,7 +2750,7 @@ async function getRoleRuntimeBaseCommand(model, agentName, role, harness = "clau
2797
2750
  if (provider.name === "openai" && await getProviderAuthMode(validatedModel) === "subscription") return `claude${printFlag}${roleInject}${permissionFlags} --model ${shellQuoteModelIdSync(CLI_PROXY_MODEL_ALIASES[validatedModel] ?? validatedModel)}${effortFlag}${nameFlag}`;
2798
2751
  return `claude${printFlag}${roleInject}${permissionFlags} --model ${quotedModel}${effortFlag}${nameFlag}`;
2799
2752
  }
2800
- var import_dist, execAsync$4, missingRoleDefinitionWarnings, OHMYPI_AGENT_READY_TIMEOUT_SECONDS;
2753
+ var import_dist, execAsync$5, missingRoleDefinitionWarnings, OHMYPI_AGENT_READY_TIMEOUT_SECONDS;
2801
2754
  var init_runtime_command = __esmMin((() => {
2802
2755
  import_dist = /* @__PURE__ */ __toESM(require_dist(), 1);
2803
2756
  init_claude_permissions();
@@ -2817,7 +2770,7 @@ var init_runtime_command = __esmMin((() => {
2817
2770
  init_agent_state();
2818
2771
  init_identity();
2819
2772
  init_provider_env();
2820
- execAsync$4 = promisify$1(exec$1);
2773
+ execAsync$5 = promisify$1(exec$1);
2821
2774
  missingRoleDefinitionWarnings = /* @__PURE__ */ new Set();
2822
2775
  OHMYPI_AGENT_READY_TIMEOUT_SECONDS = 120;
2823
2776
  }));
@@ -3125,7 +3078,7 @@ async function transitionIssueToInReview(issueId, workspacePath) {
3125
3078
  async function buildAgentLaunchConfig(opts) {
3126
3079
  const model = requireModelOverrideSync(opts.model);
3127
3080
  try {
3128
- const { injectOverdeckInfraDeny } = await import("./claude-settings-overlay-5b9X2S0C.js");
3081
+ const { injectOverdeckInfraDeny } = await import("./claude-settings-overlay-Dx_Uqcmv.js");
3129
3082
  await Effect.runPromise(injectOverdeckInfraDeny(opts.workspace));
3130
3083
  } catch (err) {
3131
3084
  console.warn(`[agents] injectOverdeckInfraDeny failed for ${opts.agentId} (non-fatal): ${err instanceof Error ? err.message : err}`);
@@ -3206,7 +3159,7 @@ async function retrieveSpawnTimeMemoryContext(input) {
3206
3159
  agentRole: input.role,
3207
3160
  agentHarness: input.harness
3208
3161
  };
3209
- const { injectPromptTimeMemory } = await import("./injection-QCIHOpk6.js");
3162
+ const { injectPromptTimeMemory } = await import("./injection-C1DKXeIZ.js");
3210
3163
  return (await injectPromptTimeMemory({
3211
3164
  prompt: input.prompt,
3212
3165
  identity,
@@ -3297,7 +3250,7 @@ async function assertWorkspaceStackHealthyForSpawn(issueId, role, allowHost = fa
3297
3250
  record.attempts += 1;
3298
3251
  spawnStackRebuildState.set(normalizedIssue, record);
3299
3252
  console.log(`[agents] Workspace stack for ${normalizedIssue} unhealthy (${details}) — rebuilding before spawn (attempt ${record.attempts}/${SPAWN_STACK_REBUILD_MAX_ATTEMPTS})`);
3300
- const { rebuildWorkspaceStack } = await import("./rebuild-stack-r-cxcr26.js");
3253
+ const { rebuildWorkspaceStack } = await import("./rebuild-stack-nGD_nPZo.js");
3301
3254
  const result = await Effect.runPromise(rebuildWorkspaceStack(issueId, { onProgress: (m) => console.log(`[agents] ${normalizedIssue} stack rebuild: ${m}`) })).catch((err) => ({
3302
3255
  success: false,
3303
3256
  error: err instanceof Error ? err.message : String(err)
@@ -4210,7 +4163,7 @@ var init_config = __esmMin((() => {
4210
4163
  close_out: {
4211
4164
  remove_workspace: false,
4212
4165
  delete_feature_branch: false,
4213
- auto: false,
4166
+ auto: true,
4214
4167
  auto_delay_minutes: 60
4215
4168
  },
4216
4169
  orphanProposedReconciler: {
@@ -4701,7 +4654,7 @@ function killLauncherProcessSync(agentId) {
4701
4654
  const launcherPath = join$1(AGENTS_DIR, agentId, "launcher.sh");
4702
4655
  let pidsOut;
4703
4656
  try {
4704
- pidsOut = execSync$1(`pgrep -f ${JSON.stringify(launcherPath)}`, {
4657
+ pidsOut = execSync(`pgrep -f ${JSON.stringify(launcherPath)}`, {
4705
4658
  encoding: "utf-8",
4706
4659
  stdio: [
4707
4660
  "ignore",
@@ -4718,7 +4671,7 @@ function killLauncherProcessSync(agentId) {
4718
4671
  process.kill(pid, "SIGTERM");
4719
4672
  } catch {}
4720
4673
  try {
4721
- execSync$1("sleep 0.5", { stdio: "ignore" });
4674
+ execSync("sleep 0.5", { stdio: "ignore" });
4722
4675
  } catch {}
4723
4676
  const survivors = [];
4724
4677
  for (const pid of pids) try {
@@ -4733,7 +4686,7 @@ async function killLauncherProcessAsync(agentId) {
4733
4686
  const launcherPath = join$1(AGENTS_DIR, agentId, "launcher.sh");
4734
4687
  let pidsOut;
4735
4688
  try {
4736
- const { stdout } = await execAsync$3(`pgrep -f ${JSON.stringify(launcherPath)}`);
4689
+ const { stdout } = await execAsync$4(`pgrep -f ${JSON.stringify(launcherPath)}`);
4737
4690
  pidsOut = stdout.trim();
4738
4691
  } catch {
4739
4692
  return;
@@ -4777,14 +4730,14 @@ function stopAgentSync(agentId) {
4777
4730
  lastActivity: (/* @__PURE__ */ new Date()).toISOString()
4778
4731
  });
4779
4732
  }
4780
- var execAsync$3, stopAgent;
4733
+ var execAsync$4, stopAgent;
4781
4734
  var init_termination = __esmMin((() => {
4782
4735
  init_agents();
4783
4736
  init_agent_runtime();
4784
4737
  init_paths();
4785
4738
  init_tmux();
4786
4739
  init_errors();
4787
- execAsync$3 = promisify$1(exec$1);
4740
+ execAsync$4 = promisify$1(exec$1);
4788
4741
  stopAgent = (agentId) => {
4789
4742
  const normalizedId = normalizeAgentId(agentId);
4790
4743
  return Effect.gen(function* () {
@@ -4835,6 +4788,67 @@ var init_termination = __esmMin((() => {
4835
4788
  };
4836
4789
  }));
4837
4790
  //#endregion
4791
+ //#region ../../lib/beads/bd-shim.ts
4792
+ function shellQuote$1(value) {
4793
+ return `'${value.replace(/'/g, `'"'"'`)}'`;
4794
+ }
4795
+ function installBdAgentShim(agentDir, realBdPath) {
4796
+ const binDir = join(agentDir, "bin");
4797
+ mkdirSync$1(binDir, { recursive: true });
4798
+ const path = join(binDir, "bd");
4799
+ writeFileSync$1(path, `#!/usr/bin/env bash
4800
+ set -euo pipefail
4801
+ verb="\${1:-}"
4802
+ subverb="\${2:-}"
4803
+ case "$verb:$subverb" in
4804
+ create:*|update:*|close:*|delete:*|import:*|init:*|migrate:*|batch:*|dep:add|dep:remove|dolt:push|dolt:commit|dolt:reset|config:set|config:unset|comments:add|comments:delete|admin:compact)
4805
+ echo "Raw mutating bd commands are blocked in agent sessions. Use pan beads claim|update|close|create|dep|delete so the canonical writer pulls, validates, exports, and pushes durably." >&2
4806
+ exit 64
4807
+ ;;
4808
+ esac
4809
+ exec ${shellQuote$1(realBdPath)} "$@"
4810
+ `, { mode: 493 });
4811
+ chmodSync$1(path, 493);
4812
+ return {
4813
+ binDir,
4814
+ pathPrefix: `${binDir}${delimiter}${process.env.PATH ?? ""}`
4815
+ };
4816
+ }
4817
+ async function resolveBdAgentShimPath(agentDir) {
4818
+ try {
4819
+ const { stdout } = await execAsync$3("command -v bd", { encoding: "utf8" });
4820
+ const realBd = stdout.trim();
4821
+ return realBd ? installBdAgentShim(agentDir, realBd).pathPrefix : void 0;
4822
+ } catch {
4823
+ return;
4824
+ }
4825
+ }
4826
+ var execAsync$3;
4827
+ var init_bd_shim = __esmMin((() => {
4828
+ execAsync$3 = promisify(exec);
4829
+ }));
4830
+ //#endregion
4831
+ //#region ../../lib/agents/hook-readiness.ts
4832
+ /**
4833
+ * Ensure Claude's global lifecycle hooks are registered before the process can
4834
+ * emit SessionStart. This must be awaited: provisioning after launch races the
4835
+ * one event that writes ready.json and acknowledges kickoff delivery.
4836
+ */
4837
+ async function ensureLifecycleHooksBeforeLaunch(agentId, harness) {
4838
+ if (harness !== "claude-code") return;
4839
+ const result = await provisionClaudeHooks();
4840
+ if (!result.ok) {
4841
+ const reason = result.reason ?? "unknown provisioning failure";
4842
+ logAgentLifecycleSync(agentId, `hook provisioning: failed harness=${harness} reason=${reason}`);
4843
+ throw new Error(`Claude Code lifecycle hooks are unavailable: ${reason}. Run \`pan up\` to install host prerequisites, then \`pan sync\` and retry.`);
4844
+ }
4845
+ logAgentLifecycleSync(agentId, `hook provisioning: ready harness=${harness} changed=${result.changed} binariesSynced=${result.binariesSynced} registered=${result.registered.length} pruned=${result.pruned.length}`);
4846
+ }
4847
+ var init_hook_readiness = __esmMin((() => {
4848
+ init_claude_hooks_provision();
4849
+ init_persistent_logger();
4850
+ }));
4851
+ //#endregion
4838
4852
  //#region ../../lib/agents/spawn.ts
4839
4853
  async function spawnRun(issueId, role, options = {}) {
4840
4854
  const workspace = options.workspace ?? defaultRunWorkspace(issueId);
@@ -4883,18 +4897,18 @@ async function spawnRun(issueId, role, options = {}) {
4883
4897
  let reapWarmIdle = false;
4884
4898
  const advancing = role === "review" || role === "test" || role === "ship";
4885
4899
  try {
4886
- const { isPaneDead } = await import("./tmux-CbcrkUx5.js");
4900
+ const { isPaneDead } = await import("./tmux-By8E_Yv_.js");
4887
4901
  if (await Effect.runPromise(isPaneDead(agentId))) reapWarmIdle = true;
4888
4902
  else if (advancing) {
4889
- const { getReviewStatusSync } = await import("./review-status-B0Axo-Ma.js");
4890
- const { isRoleTerminal } = await import("./reap-terminal-sessions-BwJb2DLJ.js");
4903
+ const { getReviewStatusSync } = await import("./review-status-CG0iDuWa.js");
4904
+ const { isRoleTerminal } = await import("./reap-terminal-sessions-DnDQ7pf9.js");
4891
4905
  const status = getReviewStatusSync(issueId);
4892
4906
  reapWarmIdle = !!status && isRoleTerminal(role, status);
4893
4907
  }
4894
4908
  } catch {}
4895
4909
  if (!reapWarmIdle) throw new Error(`Role run ${agentId} already running. Use 'pan tell' to message it.`);
4896
4910
  console.log(`[spawn] ${agentId} is warm-idle from the previous cycle — reaping it for the new ${role} dispatch (PAN-2579)`);
4897
- const { killSession } = await import("./tmux-CbcrkUx5.js");
4911
+ const { killSession } = await import("./tmux-By8E_Yv_.js");
4898
4912
  await Effect.runPromise(killSession(agentId)).catch(() => {});
4899
4913
  }
4900
4914
  await assertWorkspaceStackHealthyForSpawn(issueId, role, options.allowHost, workspace);
@@ -4904,8 +4918,9 @@ async function spawnRun(issueId, role, options = {}) {
4904
4918
  role,
4905
4919
  model: selectedModel
4906
4920
  });
4921
+ await ensureLifecycleHooksBeforeLaunch(agentId, resolvedHarness);
4907
4922
  if (getProviderForModelSync(selectedModel).name === "openai" && await getProviderAuthMode(selectedModel) === "subscription") {
4908
- const { isCliproxyRunning } = await import("./cliproxy-D3sHB0sI.js");
4923
+ const { isCliproxyRunning } = await import("./cliproxy-C_GuT5DU.js");
4909
4924
  if (!await Effect.runPromise(isCliproxyRunning())) throw new Error("CLIProxyAPI sidecar is not running. GPT subscription role runs route through a local cliproxy process managed by `pan up`. Run `pan up` (or restart the dashboard) before spawning a GPT role run.");
4910
4925
  }
4911
4926
  const state = {
@@ -4946,7 +4961,6 @@ async function spawnRun(issueId, role, options = {}) {
4946
4961
  await Effect.runPromise(saveAgentState(state));
4947
4962
  }
4948
4963
  }
4949
- checkAndSetupHooks();
4950
4964
  const provider = getProviderForModelSync(selectedModel);
4951
4965
  if (provider.authType === "credential-file") setupCredentialFileAuthSync(provider, workspace);
4952
4966
  else clearCredentialFileAuthSync(workspace);
@@ -5014,7 +5028,7 @@ async function spawnRun(issueId, role, options = {}) {
5014
5028
  const claudeCmd = `bash ${launcherScript}`;
5015
5029
  console.log(`[claude-invoke] purpose=role-run | role=${role} | model=${state.model} | source=agents.ts:spawnRun | session=${agentId} | command="${claudeCmd}"`);
5016
5030
  try {
5017
- const { preTrustDirectory } = await import("./workspace-manager-BIfpzqdU.js");
5031
+ const { preTrustDirectory } = await import("./workspace-manager-BO-6k3sP.js");
5018
5032
  preTrustDirectory(workspace);
5019
5033
  } catch {}
5020
5034
  clearReadySignal(agentId);
@@ -5102,7 +5116,7 @@ async function spawnAgent(options) {
5102
5116
  });
5103
5117
  console.log(`[DEBUG] Selected model: ${selectedModel}`);
5104
5118
  if (getProviderForModelSync(selectedModel).name === "openai" && await getProviderAuthMode(selectedModel) === "subscription") {
5105
- const { isCliproxyRunning } = await import("./cliproxy-D3sHB0sI.js");
5119
+ const { isCliproxyRunning } = await import("./cliproxy-C_GuT5DU.js");
5106
5120
  if (!await Effect.runPromise(isCliproxyRunning())) throw new Error("CLIProxyAPI sidecar is not running. GPT subscription agents route through a local cliproxy process managed by `pan up`. Run `pan up` (or restart the dashboard) before spawning a GPT agent.");
5107
5121
  }
5108
5122
  const resolvedHarness = await resolveHarness({
@@ -5110,6 +5124,7 @@ async function spawnAgent(options) {
5110
5124
  role,
5111
5125
  model: selectedModel
5112
5126
  });
5127
+ await ensureLifecycleHooksBeforeLaunch(agentId, resolvedHarness);
5113
5128
  const state = {
5114
5129
  id: agentId,
5115
5130
  issueId: options.issueId,
@@ -5121,14 +5136,15 @@ async function spawnAgent(options) {
5121
5136
  status: "starting",
5122
5137
  startedAt: (/* @__PURE__ */ new Date()).toISOString(),
5123
5138
  costSoFar: 0,
5124
- hostOverride: options.allowHost || void 0
5139
+ hostOverride: options.allowHost || void 0,
5140
+ sessionId: createFreshSessionIdentity(agentId, resolvedHarness)
5125
5141
  };
5126
5142
  const supervisorLaunch = await prepareSupervisorForFreshLaunch(agentId, options, state);
5127
5143
  saveAgentStateSync(state);
5128
5144
  if (role === "work") {
5129
5145
  try {
5130
5146
  if (resetPipelineVerdictsForWorkStartSync(options.issueId)) {
5131
- const { resetPostMergeState } = await import("./merge-agent-Bwm34MZ5.js");
5147
+ const { resetPostMergeState } = await import("./merge-agent-ejC7Wos8.js");
5132
5148
  resetPostMergeState(options.issueId);
5133
5149
  }
5134
5150
  } catch (err) {
@@ -5139,7 +5155,7 @@ async function spawnAgent(options) {
5139
5155
  });
5140
5156
  }
5141
5157
  if (role === "work") try {
5142
- const { writeStoryFeatureContext } = await import("./work-agent-prompt-B2F3ZwKm.js");
5158
+ const { writeStoryFeatureContext } = await import("./work-agent-prompt-ZTAb2Hyf.js");
5143
5159
  await writeStoryFeatureContext(options.workspace, options.issueId);
5144
5160
  } catch (ctxErr) {
5145
5161
  console.warn(`[agents] Could not write story feature context for ${options.issueId}: ${ctxErr.message}`);
@@ -5185,11 +5201,10 @@ async function spawnAgent(options) {
5185
5201
  saveAgentStateSync(state);
5186
5202
  }
5187
5203
  }
5188
- checkAndSetupHooks();
5189
5204
  try {
5190
5205
  const venvPath = join$1(options.workspace, ".venv");
5191
5206
  if (isTldrEnabledSync() && existsSync(venvPath)) {
5192
- const { getTldrDaemonServiceSync } = await import("./tldr-daemon-Rn1Zue0P.js");
5207
+ const { getTldrDaemonServiceSync } = await import("./tldr-daemon-CgZQ3jmZ.js");
5193
5208
  const tldrService = getTldrDaemonServiceSync(options.workspace, venvPath);
5194
5209
  if (!(await tldrService.getStatus()).running) {
5195
5210
  await tldrService.start(true);
@@ -5219,21 +5234,23 @@ async function spawnAgent(options) {
5219
5234
  useSupervisor: supervisorLaunch.useSupervisor,
5220
5235
  supervisorScriptPath: supervisorLaunch.supervisorScriptPath,
5221
5236
  harness: state.harness ?? "claude-code",
5237
+ sessionId: state.sessionId,
5222
5238
  extraEnvExports: flywheelEnvExports(flywheelEnv),
5223
5239
  effort: options.effort
5224
5240
  });
5225
5241
  const launcherScript = join$1(getAgentDir(agentId), "launcher.sh");
5226
5242
  await writeLauncherScriptAtomic(launcherScript, launcherContent);
5243
+ if (state.sessionId) logLauncherSessionPinned(agentId, state.sessionId, launcherScript);
5227
5244
  const claudeCmd = `bash ${launcherScript}`;
5228
5245
  console.log(`[claude-invoke] purpose=work-agent | model=${state.model} | source=agents.ts:spawnAgent | session=${agentId} | command="${claudeCmd}"`);
5229
5246
  try {
5230
- const { preTrustDirectory } = await import("./workspace-manager-BIfpzqdU.js");
5247
+ const { preTrustDirectory } = await import("./workspace-manager-BO-6k3sP.js");
5231
5248
  preTrustDirectory(options.workspace);
5232
5249
  } catch {}
5233
5250
  try {
5234
- const { isGitHubAppConfigured, generateInstallationToken, configureWorkspaceForBot } = await import("./github-app-DIr70YLg.js");
5251
+ const { isGitHubAppConfigured, generateInstallationToken, configureWorkspaceForBot } = await import("./github-app-Bwt9lK4A.js");
5235
5252
  if (isGitHubAppConfigured()) {
5236
- const { findProjectByPathSync } = await import("./projects-BqRMlDOv.js");
5253
+ const { findProjectByPathSync } = await import("./projects-CrBE6IhN.js");
5237
5254
  const ghRepo = findProjectByPathSync(resolve$1(options.workspace, "..", ".."))?.github_repo;
5238
5255
  if (ghRepo) {
5239
5256
  const [owner, repo] = ghRepo.split("/");
@@ -5246,6 +5263,7 @@ async function spawnAgent(options) {
5246
5263
  console.warn(`[${agentId}] GitHub App config failed (falling back to SSH): ${err.message}`);
5247
5264
  }
5248
5265
  clearReadySignal(agentId);
5266
+ const bdShimPath = role === "work" ? await resolveBdAgentShimPath(getAgentDir(agentId)) : void 0;
5249
5267
  await Effect.runPromise(createSession(agentId, options.workspace, claudeCmd, { env: {
5250
5268
  ...BLANKED_PROVIDER_ENV,
5251
5269
  TERM: "xterm-256color",
@@ -5254,10 +5272,12 @@ async function spawnAgent(options) {
5254
5272
  OVERDECK_SESSION_TYPE: role,
5255
5273
  CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION: "false",
5256
5274
  GIT_SEQUENCE_EDITOR: "false",
5275
+ ...bdShimPath ? { PATH: bdShimPath } : {},
5257
5276
  ...flywheelEnv,
5258
5277
  ...providerEnv
5259
5278
  } }));
5260
5279
  await saveAgentRuntimeState(agentId, {
5280
+ claudeSessionId: state.sessionId,
5261
5281
  sessionModel: selectedModel,
5262
5282
  sessionHarness: resolvedHarness
5263
5283
  });
@@ -5301,7 +5321,7 @@ async function spawnAgent(options) {
5301
5321
  const codexHomeForAgent = join$1(homedir(), ".overdeck", "agents", agentId, "codex-home");
5302
5322
  (async () => {
5303
5323
  try {
5304
- const { waitForCodexRollout, extractThreadIdFromRollout, writeThreadId } = await import("./codex-Bi1ITSOo.js");
5324
+ const { waitForCodexRollout, extractThreadIdFromRollout, writeThreadId } = await import("./codex-BYPz6ZdF.js");
5305
5325
  const rollout = await waitForCodexRollout(codexHomeForAgent, 12e4);
5306
5326
  if (rollout) {
5307
5327
  const threadId = extractThreadIdFromRollout(rollout);
@@ -5381,26 +5401,6 @@ function escapeRegExp$1(value) {
5381
5401
  return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
5382
5402
  }
5383
5403
  /**
5384
- * Check if Overdeck hooks are configured, and auto-setup if not
5385
- */
5386
- function checkAndSetupHooks() {
5387
- const settingsPath = join$1(homedir(), ".claude", "settings.json");
5388
- const hookPath = join$1(homedir(), ".overdeck", "bin", "heartbeat-hook");
5389
- if (existsSync(settingsPath)) try {
5390
- const settingsContent = readFileSync(settingsPath, "utf-8");
5391
- if ((JSON.parse(settingsContent)?.hooks?.PostToolUse || []).some((hookConfig) => hookConfig.hooks?.some((hook) => hook.command === hookPath || hook.command?.includes("overdeck") || hook.command?.includes("heartbeat-hook")))) return;
5392
- } catch {}
5393
- try {
5394
- console.log("Configuring Overdeck heartbeat hooks...");
5395
- exec$1("pan admin hooks install", (error) => {
5396
- if (error) console.warn("⚠ Failed to auto-configure hooks. Run `pan admin hooks install` manually.");
5397
- else console.log("✓ Heartbeat hooks configured");
5398
- });
5399
- } catch (error) {
5400
- console.warn("⚠ Failed to auto-configure hooks. Run `pan admin hooks install` manually.");
5401
- }
5402
- }
5403
- /**
5404
5404
  * Write task cache for heartbeat hook to use
5405
5405
  */
5406
5406
  function writeTaskCache(agentId, issueId) {
@@ -5444,6 +5444,9 @@ var init_spawn = __esmMin((() => {
5444
5444
  init_state_read_home();
5445
5445
  init_supervisor_channels();
5446
5446
  init_termination();
5447
+ init_bd_shim();
5448
+ init_session_history();
5449
+ init_hook_readiness();
5447
5450
  execAsync$2 = promisify$1(exec$1);
5448
5451
  }));
5449
5452
  //#endregion
@@ -5874,9 +5877,7 @@ function getActivity(agentId, limit = 100) {
5874
5877
  * Save Claude session ID for later resume
5875
5878
  */
5876
5879
  function saveSessionId(agentId, sessionId) {
5877
- const dir = getAgentDir(agentId);
5878
- mkdirSync(dir, { recursive: true });
5879
- writeFileSync(join$1(dir, "session.id"), sessionId);
5880
+ persistCurrentSessionId(agentId, sessionId);
5880
5881
  }
5881
5882
  /**
5882
5883
  * Get saved Claude session ID
@@ -5981,6 +5982,7 @@ var init_activity = __esmMin((() => {
5981
5982
  init_ohmypi();
5982
5983
  init_behavior();
5983
5984
  init_errors();
5985
+ init_session_history();
5984
5986
  getLatestSessionId = (agentId) => {
5985
5987
  const agentDir = getAgentDir(agentId);
5986
5988
  const sessionFile = join$1(agentDir, "session.id");
@@ -6078,7 +6080,7 @@ async function messageAgent(agentId, message, caller = "internal") {
6078
6080
  return;
6079
6081
  }
6080
6082
  console.log(`[agents] Auto-resuming suspended agent ${normalizedId} to deliver message`);
6081
- const { resumeAgent } = await import("./agents-CxbuBjID.js");
6083
+ const { resumeAgent } = await import("./agents-CEcaxSkR.js");
6082
6084
  const result = await resumeAgent(normalizedId, message);
6083
6085
  if (!result.success) throw new Error(`Failed to auto-resume agent: ${result.error}`);
6084
6086
  if (result.messageDelivered === false) throw new Error(`Agent resumed but ready signal did not fire — message not delivered. Feedback is in the mail queue.`);
@@ -6094,7 +6096,7 @@ async function messageAgent(agentId, message, caller = "internal") {
6094
6096
  return;
6095
6097
  }
6096
6098
  console.log(`[agents] Auto-resuming stopped agent ${normalizedId} to deliver feedback (session exists: ${await Effect.runPromise(sessionExists(normalizedId))})`);
6097
- const { resumeAgent } = await import("./agents-CxbuBjID.js");
6099
+ const { resumeAgent } = await import("./agents-CEcaxSkR.js");
6098
6100
  const resumeResult = await resumeAgent(normalizedId, message);
6099
6101
  queueAgentMail(normalizedId, message);
6100
6102
  if (resumeResult.success && resumeResult.messageDelivered !== false) {
@@ -6130,7 +6132,7 @@ async function messageAgent(agentId, message, caller = "internal") {
6130
6132
  const resumeRole = agentState.role ?? "work";
6131
6133
  const resumeModel = agentState.model || "claude-sonnet-4-6";
6132
6134
  const fallbackHarness = agentState.harness ?? "claude-code";
6133
- const { assertWorkspaceStackHealthyForSpawn } = await import("./agents-CxbuBjID.js");
6135
+ const { assertWorkspaceStackHealthyForSpawn } = await import("./agents-CEcaxSkR.js");
6134
6136
  await assertWorkspaceStackHealthyForSpawn(agentState.issueId || normalizedId.replace(/^agent-/, "").toUpperCase(), resumeRole, agentState.hostOverride === true, agentState.workspace);
6135
6137
  const fallbackPiFields = fallbackHarness === "ohmypi" ? await getOhmypiLauncherFields(normalizedId, resumeModel) : {};
6136
6138
  const fallbackCodexFields = fallbackHarness === "codex" ? getCodexLauncherFields(normalizedId, resumeModel, agentState.workspace) : {};
@@ -6193,7 +6195,7 @@ async function messageAgent(agentId, message, caller = "internal") {
6193
6195
  } else console.warn(`[agents] Fallback-restarted ${normalizedId} but ready signal not detected — feedback in mail queue`);
6194
6196
  return;
6195
6197
  }
6196
- const { loadRemoteAgentState, sendToRemoteAgent } = await import("./remote-agents-B4eWgwNd.js");
6198
+ const { loadRemoteAgentState, sendToRemoteAgent } = await import("./remote-agents-Cv-U-_V8.js");
6197
6199
  const remoteState = loadRemoteAgentState(normalizedId);
6198
6200
  if (remoteState && remoteState.vmName) {
6199
6201
  console.log(`[agents] Sending message to remote agent ${normalizedId} on ${remoteState.vmName}`);
@@ -6207,7 +6209,7 @@ async function messageAgent(agentId, message, caller = "internal") {
6207
6209
  const expectedHarness = agentState?.harness ?? "claude-code";
6208
6210
  if (panePids.length > 0 && !await hasAgentRuntimeInSubtree(panePids[0], expectedHarness)) {
6209
6211
  console.warn(`[agents] ${normalizedId} tmux session is a zombie (no ${expectedHarness} runtime) — attempting resume`);
6210
- const { resumeAgent } = await import("./agents-CxbuBjID.js");
6212
+ const { resumeAgent } = await import("./agents-CEcaxSkR.js");
6211
6213
  const resumeResult = await resumeAgent(normalizedId, message);
6212
6214
  if (resumeResult.success) {
6213
6215
  if (resumeResult.messageDelivered !== false) await appendTellInterventionForUserSource(normalizedId, caller);
@@ -6319,7 +6321,7 @@ async function buildCompactRecoverySeed(agentId) {
6319
6321
  if (agentState?.workspace && sessionId) {
6320
6322
  const sessionFile = sessionFilePath(agentState.workspace, sessionId);
6321
6323
  try {
6322
- const [{ getConversationCompactionSettings }, { generateSmartSummary }] = await Promise.all([import("./conversation-compaction-D4Wed1BJ.js"), import("./smart-compaction-V9DBrGcr.js")]);
6324
+ const [{ getConversationCompactionSettings }, { generateSmartSummary }] = await Promise.all([import("./conversation-compaction-kHVfVRg3.js"), import("./smart-compaction-B4KlpZGN.js")]);
6323
6325
  const settings = getConversationCompactionSettings();
6324
6326
  summary = (await Effect.runPromise(generateSmartSummary({
6325
6327
  jsonlPath: sessionFile,
@@ -6330,7 +6332,7 @@ async function buildCompactRecoverySeed(agentId) {
6330
6332
  } catch (err) {
6331
6333
  logAgentLifecycleSync(normalizedId, `compact-recovery smart summary failed (${err instanceof Error ? err.message : String(err)}); trying heuristic fallback`);
6332
6334
  try {
6333
- const { generateFallbackSummary } = await import("./summary-fork-BF_0vxrq.js");
6335
+ const { generateFallbackSummary } = await import("./summary-fork-CnRMPCYd.js");
6334
6336
  summary = await Effect.runPromise(generateFallbackSummary(sessionFile));
6335
6337
  } catch (fallbackErr) {
6336
6338
  logAgentLifecycleSync(normalizedId, `compact-recovery fallback summary failed (${fallbackErr instanceof Error ? fallbackErr.message : String(fallbackErr)}); seeding with reseed instructions only`);
@@ -7872,6 +7874,6 @@ var init_agents = __esmMin((() => {
7872
7874
  init_tier_replay();
7873
7875
  }));
7874
7876
  //#endregion
7875
- export { warnOnBareNumericIssueIds as $, writeAgentStateJsonSync as $n, waitForPromptReady as $t, init_messaging as A, getAgentDir as An, init_bridge_token as At, createOhmypiRuntimeSync as B, markAgentRunningState as Bn, resolveStaffing as Bt, restartAgent as C, __testInternals as Cn, deliverAgentPermissionDecision as Ct, init_context_overflow as D, clearAgentTroubledSync as Dn, captureTranscriptUserRecordSnapshot as Dt, resumeAgent as E, clearAgentTroubled as En, setAgentDeliveryMethod as Et, getActivity as F, init_agent_state as Fn, init_spawn_prep as Ft, init_termination as G, recordStartupSessionExit as Gn, getAgentRuntimeBaseCommand as Gt, init_spawn as H, markAgentTroubled as Hn, resolveTier as Ht, getLatestSessionId as I, isAgentPaused as In, retrieveSpawnTimeMemoryContext as It, dropLegacyAgentStatesMissingRoleAsync as J, saveAgentStateSync as Jn, getProviderAuthMode as Jt, stopAgent as K, resetAgentFailureCount as Kn, getCodexLauncherFields as Kt, getLatestSessionIdSync as L, isAgentTroubled as Ln, transitionIssueToInProgress as Lt, init_operator_interventions as M, getAgentState as Mn, assertWorkspaceStackHealthyForSpawn as Mt, operatorInterventionEvent as N, getAgentStateFilePath as Nn, buildAgentLaunchConfig as Nt, isContextOverflowError as O, clearYieldForResumeSync as On, init_transcript_landing as Ot, appendActivity as P, getAgentStateSync as Pn, defaultRunWorkspace as Pt, listRunningAgentsSync as Q, wipeAgentStateDirs as Qn, roleAgentDefinitionPath as Qt, getSessionId as R, isRole as Rn, transitionIssueToInReview as Rt, recoverAgent as S, SESSION_EXITED_BEFORE_KICKOFF as Sn, parseOhmypiSessionCostResultSync as Sr, deliverAgentMessage as St, init_resume as T, clearAgentPausedSync as Tn, deliverResumeMessageWithTranscriptConfirmation as Tt, spawnAgent as U, recordAgentFailure as Un, OHMYPI_AGENT_READY_TIMEOUT_SECONDS as Ut, init_ohmypi as V, markAgentStoppedState as Vn, init_resolve_tier as Vt, spawnRun as W, recordAgentFailureSync as Wn, describeOhmypiSpawnFailure as Wt, listAgentStates as X, setAgentPausedSync as Xn, init_runtime_command as Xt, init_queries as Y, setAgentPaused as Yn, getRoleRuntimeBaseCommand as Yt, listRunningAgents as Z, setAgentYieldedSync as Zn, injectPiConversationMemory as Zt, init_slot_reconcile as _, decideChannelsForWorkAgent as _n, init_runtime_state as _r, init_config as _t, replayStandingAgent as a, init_claude_auth as an, init_pty_token as ar, init_concurrency as at, autoRecoverAgents as b, writeChannelsBridgeMcpConfig as bn, init_agent_runtime as br, saveCloisterConfigSync as bt, init_tier_supervisor as c, determineModel as cn, resolvePtySupervisorScriptPath as cr, resetPatrolDispatchBudget as ct, spawnTierSupervisor as d, getProviderTmuxFlags as dn, normalizeAgentId as dr, workResumeSlotsAvailable as dt, init_pi_fifo as en, init_persistent_logger as er, countRunningAgents as et, supervisorAgentId as f, init_provider_health as fn, resolveAgentTargetSync as fr, getCachedMemoryVerdict as ft, init_tier_escalation as g, buildDefaultResumeContinueMessage as gn, getAgentRuntimeStateSync as gr, getHealthThresholdsMs as gt, decideEscalation as h, init_openai_auth as hn, getAgentRuntimeState as hr, DEFAULT_CLOISTER_CONFIG as ht, replayCrashedStandingAgent as i, getClaudeAuthStatus as in, readAgentHarnessModelRecordSync as ir, getConcurrencyLimits as it, messageAgent as j, getAgentResumeGateBlockReason as jn, writeBridgeTokenSync as jt, isContextOverflowTail as k, decideResumeGate as kn, probeTranscriptSince as kt, loadPrdDraft as l, getProviderEnvForModel as ln, clearReadySignal as lr, tryReserveAdvancingSlot as lt, init_tier_feed as m, getOpenAIAuthStatus as mn, waitForReadySignal as mr, setCachedMemoryVerdict as mt, compactAtTierRunBoundary as n, init_ohmypi_fifo as nn, logDeaconEventSync as nr, describeRunningAgents as nt, shouldReplayCompactAtTierRunBoundary as o, buildCavemanExports as on, writePtyToken as or, releaseAdvancingSlot as ot, broadcastCommit as p, validateProviderHealth as pn, waitForAgentIdle as pr, init_memory_verdict_cache as pt, stopAgentSync as q, saveAgentState as qn, getOhmypiLauncherFields as qt, contextWindowForModel as r, ohmypiFifoPaths as rn, init_agent_record_sync as rr, emergencyBrake as rt, deliverCommitForReview as s, buildSpawnEnvForModel as sn, init_pty_supervisor_locate as sr, releaseSwarmSlot as st, init_agents as t, piFifoPaths as tn, logAgentLifecycleSync as tr, countRunningSwarmSlotsForIssue as tt, shouldSupervise as u, getProviderExportsForModel as un, isQualifiedAgentId as ur, tryReserveSwarmSlot as ut, listSlotAssignments as v, decideSupervisorForWorkAgent as vn, saveAgentRuntimeState as vr, loadCloisterConfig as vt, buildCompactRecoverySeed as w, clearAgentPaused as wn, deliverInitialPromptWithRetry as wt, detectCrashedAgents as x, GOVERNOR_SLOT_PAUSE_REASON_PREFIX as xn, init_ohmypi_parser as xr, shouldAutoStart as xt, reconcileSlotState as y, dismissDevChannelsDialog as yn, getAgentRuntimeSnapshot as yr, loadCloisterConfigSync as yt, saveSessionId as z, markAgentRunning as zn, init_staffing as zt };
7877
+ export { warnOnBareNumericIssueIds as $, writeAgentStateJsonSync as $n, waitForPromptReady as $t, init_messaging as A, getAgentDir as An, init_bridge_token as At, createOhmypiRuntimeSync as B, markAgentRunningState as Bn, resolveStaffing as Bt, restartAgent as C, __testInternals as Cn, deliverAgentPermissionDecision as Ct, init_context_overflow as D, clearAgentTroubledSync as Dn, captureTranscriptUserRecordSnapshot as Dt, resumeAgent as E, clearAgentTroubled as En, setAgentDeliveryMethod as Et, getActivity as F, init_agent_state as Fn, init_spawn_prep as Ft, init_termination as G, recordStartupSessionExit as Gn, getAgentRuntimeBaseCommand as Gt, init_spawn as H, markAgentTroubled as Hn, resolveTier as Ht, getLatestSessionId as I, isAgentPaused as In, retrieveSpawnTimeMemoryContext as It, dropLegacyAgentStatesMissingRoleAsync as J, saveAgentStateSync as Jn, getProviderAuthMode as Jt, stopAgent as K, resetAgentFailureCount as Kn, getCodexLauncherFields as Kt, getLatestSessionIdSync as L, isAgentTroubled as Ln, transitionIssueToInProgress as Lt, init_operator_interventions as M, getAgentState as Mn, assertWorkspaceStackHealthyForSpawn as Mt, operatorInterventionEvent as N, getAgentStateFilePath as Nn, buildAgentLaunchConfig as Nt, isContextOverflowError as O, clearYieldForResumeSync as On, init_transcript_landing as Ot, appendActivity as P, getAgentStateSync as Pn, defaultRunWorkspace as Pt, listRunningAgentsSync as Q, wipeAgentStateDirs as Qn, roleAgentDefinitionPath as Qt, getSessionId as R, isRole as Rn, transitionIssueToInReview as Rt, recoverAgent as S, SESSION_EXITED_BEFORE_KICKOFF as Sn, deliverAgentMessage as St, init_resume as T, clearAgentPausedSync as Tn, deliverResumeMessageWithTranscriptConfirmation as Tt, spawnAgent as U, recordAgentFailure as Un, OHMYPI_AGENT_READY_TIMEOUT_SECONDS as Ut, init_ohmypi as V, markAgentStoppedState as Vn, init_resolve_tier as Vt, spawnRun as W, recordAgentFailureSync as Wn, describeOhmypiSpawnFailure as Wt, listAgentStates as X, setAgentPausedSync as Xn, init_runtime_command as Xt, init_queries as Y, setAgentPaused as Yn, getRoleRuntimeBaseCommand as Yt, listRunningAgents as Z, setAgentYieldedSync as Zn, injectPiConversationMemory as Zt, init_slot_reconcile as _, decideChannelsForWorkAgent as _n, init_agent_runtime as _r, init_config as _t, replayStandingAgent as a, init_claude_auth as an, resolvePtySupervisorScriptPath as ar, init_concurrency as at, autoRecoverAgents as b, writeChannelsBridgeMcpConfig as bn, saveCloisterConfigSync as bt, init_tier_supervisor as c, determineModel as cn, normalizeAgentId as cr, resetPatrolDispatchBudget as ct, spawnTierSupervisor as d, getProviderTmuxFlags as dn, waitForReadySignal as dr, workResumeSlotsAvailable as dt, init_pi_fifo as en, init_agent_record_sync as er, countRunningAgents as et, supervisorAgentId as f, init_provider_health as fn, getAgentRuntimeState as fr, getCachedMemoryVerdict as ft, init_tier_escalation as g, buildDefaultResumeContinueMessage as gn, getAgentRuntimeSnapshot as gr, getHealthThresholdsMs as gt, decideEscalation as h, init_openai_auth as hn, saveAgentRuntimeState as hr, DEFAULT_CLOISTER_CONFIG as ht, replayCrashedStandingAgent as i, getClaudeAuthStatus as in, init_pty_supervisor_locate as ir, getConcurrencyLimits as it, messageAgent as j, getAgentResumeGateBlockReason as jn, writeBridgeTokenSync as jt, isContextOverflowTail as k, decideResumeGate as kn, probeTranscriptSince as kt, loadPrdDraft as l, getProviderEnvForModel as ln, resolveAgentTargetSync as lr, tryReserveAdvancingSlot as lt, init_tier_feed as m, getOpenAIAuthStatus as mn, init_runtime_state as mr, setCachedMemoryVerdict as mt, compactAtTierRunBoundary as n, init_ohmypi_fifo as nn, init_pty_token as nr, describeRunningAgents as nt, shouldReplayCompactAtTierRunBoundary as o, buildCavemanExports as on, clearReadySignal as or, releaseAdvancingSlot as ot, broadcastCommit as p, validateProviderHealth as pn, getAgentRuntimeStateSync as pr, init_memory_verdict_cache as pt, stopAgentSync as q, saveAgentState as qn, getOhmypiLauncherFields as qt, contextWindowForModel as r, ohmypiFifoPaths as rn, writePtyToken as rr, emergencyBrake as rt, deliverCommitForReview as s, buildSpawnEnvForModel as sn, isQualifiedAgentId as sr, releaseSwarmSlot as st, init_agents as t, piFifoPaths as tn, readAgentHarnessModelRecordSync as tr, countRunningSwarmSlotsForIssue as tt, shouldSupervise as u, getProviderExportsForModel as un, waitForAgentIdle as ur, tryReserveSwarmSlot as ut, listSlotAssignments as v, decideSupervisorForWorkAgent as vn, init_ohmypi_parser as vr, loadCloisterConfig as vt, buildCompactRecoverySeed as w, clearAgentPaused as wn, deliverInitialPromptWithRetry as wt, detectCrashedAgents as x, GOVERNOR_SLOT_PAUSE_REASON_PREFIX as xn, shouldAutoStart as xt, reconcileSlotState as y, dismissDevChannelsDialog as yn, parseOhmypiSessionCostResultSync as yr, loadCloisterConfigSync as yt, saveSessionId as z, markAgentRunning as zn, init_staffing as zt };
7876
7878
 
7877
- //# sourceMappingURL=agents-DqQa4Dq_.js.map
7879
+ //# sourceMappingURL=agents-B9GwfCyp.js.map