@overdeck/desktop 0.45.12 → 0.45.13

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 (323) hide show
  1. package/drizzle/overdeck/0000_overdeck_init.sql +33 -0
  2. package/package.json +7 -2
  3. package/server/{acceptance-criteria-1LHgD9vg.js → acceptance-criteria-CfujPRrz.js} +2 -2
  4. package/server/{advancing-selfheal-BqsLWqEM.js → advancing-selfheal-Bn5QiLtn.js} +4 -4
  5. package/server/{agent-gc-CUb52n7s.js → agent-gc-Cl9Nm0Zu.js} +3 -3
  6. package/server/{agent-state-D-moNwhA.js → agent-state-C6Rm6FPR.js} +1 -1
  7. package/server/{agent-state-service-BzESvLOf.js → agent-state-service-JhFzYCP_.js} +5 -5
  8. package/server/{agent-state-service-BaZH7sXJ.js → agent-state-service-U8feBf8t.js} +1 -1
  9. package/server/{agents-C4kZ8a2r.js → agents-CxbuBjID.js} +1 -1
  10. package/server/{agents-B5LfpLPv.js → agents-DqQa4Dq_.js} +88 -64
  11. package/server/{archive-planning-oX1pj6nY.js → archive-planning-CPitEZo4.js} +3 -3
  12. package/server/{archive-planning-BbZe-8IK.js → archive-planning-DmpT1_14.js} +1 -1
  13. package/server/{artifact-index-jobs-DGr6bxev.js → artifact-index-jobs-sMnNtPhy.js} +2 -2
  14. package/server/{auto-commit-CGQlb4rV.js → auto-commit-wZ9X7Isd.js} +1 -1
  15. package/server/{backlog-auto-trigger-BlJHikOm.js → backlog-auto-trigger-Cf9C8fwD.js} +2 -2
  16. package/server/{bd-process-lock-i3CYMS-B.js → bd-process-lock-D1aJxeYv.js} +2 -2
  17. package/server/{beads-BNU-fb48.js → beads-CivpXztb.js} +1 -1
  18. package/server/{beads-DD7fYCl5.js → beads-DRoj6-e1.js} +4 -4
  19. package/server/{beads-query-e6oku4P5.js → beads-query-tOsAYP5h.js} +2 -2
  20. package/server/{behavior-CPf0pbOt.js → behavior-D3d2mVyD.js} +3 -3
  21. package/server/{briefing-freshness-B2FdLwIv.js → briefing-freshness-BL3Q6p7R.js} +4 -4
  22. package/server/{checkpoint-manager-JryW6MpM.js → checkpoint-manager-DCxjQvP_.js} +2 -2
  23. package/server/{checkpoint-manager-eFgaMMu4.js → checkpoint-manager-j5URlFY7.js} +1 -1
  24. package/server/checkpoint-worker.js +1 -1
  25. package/server/{checkpoints-qvOqvMuC.js → checkpoints-BoX1H2Hf.js} +2 -2
  26. package/server/{checkpoints-BK17oicz.js → checkpoints-Bu_M_Q9W.js} +1 -1
  27. package/server/claude-hooks-provision-D-jGXmu1.js +360 -0
  28. package/server/{claude-permissions-B6bWGh9d.js → claude-permissions-DxIjkOVl.js} +2 -2
  29. package/server/{claude-settings-overlay-BPdhTPjo.js → claude-settings-overlay-5b9X2S0C.js} +1 -1
  30. package/server/{claude-settings-overlay-CRyyKKXQ.js → claude-settings-overlay-BPDS6GfE.js} +2 -2
  31. package/server/cli-CqgiSAU8.js +3 -0
  32. package/server/{cli-B75AieAM.js → cli-s7bPWy-E.js} +9 -9
  33. package/server/{cliproxy-CCzwuSNe.js → cliproxy-BituqWtR.js} +2 -2
  34. package/server/{cliproxy-DOQf66G9.js → cliproxy-D3sHB0sI.js} +1 -1
  35. package/server/{close-issue-_X3MXJyG.js → close-issue-CrBE7voz.js} +4 -4
  36. package/server/{closed-issue-reaper-CLR7ClsO.js → closed-issue-reaper-BRQBc7Xa.js} +1 -1
  37. package/server/{closed-issue-reaper-BsUfBSjM.js → closed-issue-reaper-DX9mYUji.js} +9 -9
  38. package/server/{codex-CY-QRuU9.js → codex-Bi1ITSOo.js} +1 -1
  39. package/server/{codex-B4KEpX5V.js → codex-CO0HrK3j.js} +5 -5
  40. package/server/{compact-beads-cZds2MTr.js → compact-beads-CrA8-k10.js} +1 -1
  41. package/server/{compact-beads-uEDccC76.js → compact-beads-DUkCUFxA.js} +3 -3
  42. package/server/{config-DARrpYWA.js → config-B4_d7z7z.js} +1 -1
  43. package/server/{config-8sjaU6jZ.js → config-DsCxzjXK.js} +2 -2
  44. package/server/{config-yaml-ClpGgrf6.js → config-yaml-C_djSurJ.js} +2 -2
  45. package/server/{conflict-gate-Ds9_2yjd.js → conflict-gate-CpOn9KC-.js} +1 -1
  46. package/server/{conflict-gate-BtB_o-Vi.js → conflict-gate-D47Kl78u.js} +3 -3
  47. package/server/{context-layers-r2ywnQYA.js → context-layers-BNhUBTkf.js} +3 -3
  48. package/server/{context-layers-CRCk1QG7.js → context-layers-CHl3Nroz.js} +2 -2
  49. package/server/{control-settings-D1B3u6HP.js → control-settings-KyYNXZLv.js} +4 -4
  50. package/server/{conversation-compaction-D86Zo2Ci.js → conversation-compaction-D3aS5PnS.js} +8 -8
  51. package/server/{conversation-compaction-CZRVk4hg.js → conversation-compaction-D4Wed1BJ.js} +1 -1
  52. package/server/{conversation-service-CuTVU8dV.js → conversation-service-CFZIjs-M.js} +5 -5
  53. package/server/{conversation-service-CkL-6MuG.js → conversation-service-DcDB5usR.js} +1 -1
  54. package/server/{conversations-DfJKBDwB.js → conversations-BSOU5qnu.js} +4 -4
  55. package/server/{conversations-BmWEluPL.js → conversations-BbDPrz89.js} +1 -1
  56. package/server/{cost-DAPYN6iA.js → cost-BE_ulOrw.js} +3 -3
  57. package/server/{cost-CCnqa5xK.js → cost-CaiG63FG.js} +2 -2
  58. package/server/{cost-sync-BDL10Nwu.js → cost-sync-D6AX8jv-.js} +3 -3
  59. package/server/{dag-Dv2r5bVD.js → dag-BQFtXOuJ.js} +3 -3
  60. package/server/{dangerous-git-ops-Dcw7PbYo.js → dangerous-git-ops-04Ba-Qu3.js} +1 -1
  61. package/server/dashboard-db-worker.js +6 -6
  62. package/server/{deacon-CM0MxbS8.js → deacon-2EvA9Ci3.js} +97 -97
  63. package/server/{deacon-DYnZH7kC.js → deacon-Bz-6Wjmn.js} +3 -3
  64. package/server/deacon-swarm-B8pgK2a7.js +2 -0
  65. package/server/{deacon-swarm-BstYoz8Q.js → deacon-swarm-DYYOzHRH.js} +10 -10
  66. package/server/deacon.js +7 -7
  67. package/server/{devcontainer-renderer-CaYOG9JN.js → devcontainer-renderer-Dx0C7VWJ.js} +2 -2
  68. package/server/dist-BYSj075e.js +3 -0
  69. package/server/{dist-BIC8spJ0.js → dist-ya66D9ze.js} +1 -1
  70. package/server/{docker-DDI1shu3.js → docker-D2TbXDO6.js} +2 -2
  71. package/server/{ensure-devcontainer-CbSXvN9W.js → ensure-devcontainer-BIShzs3M.js} +1 -1
  72. package/server/{ensure-devcontainer-DCAg3ksz.js → ensure-devcontainer-BTiMfFp5.js} +3 -3
  73. package/server/{event-store-DU3HkZlN.js → event-store-C02Gprug.js} +1 -1
  74. package/server/{event-store-DCMqyI07.js → event-store-C71x6h0i.js} +3 -3
  75. package/server/{events-BfiosVAn.js → events-BFDuPV6n.js} +3 -3
  76. package/server/{events-DLRxpSuV.js → events-D2gP2-Yv.js} +1 -1
  77. package/server/{factory-BMtWV9iv.js → factory-ByfbrCab.js} +4 -4
  78. package/server/{feature-registry-population-DA7bO6Zn.js → feature-registry-population-CSH66UO8.js} +4 -4
  79. package/server/{feature-registry-storage-nAY1fbBt.js → feature-registry-storage-DW7dUefc.js} +2 -2
  80. package/server/{features-DMu7eGmU.js → features-x_aLR7U9.js} +2 -2
  81. package/server/{feedback-target-DHqcw3cN.js → feedback-target-BFo9fScH.js} +6 -6
  82. package/server/{feedback-target-B2SEai8-.js → feedback-target-C4VMPTZu.js} +1 -1
  83. package/server/{feedback-writer-qvm7UON7.js → feedback-writer-B9ZqnnX3.js} +4 -4
  84. package/server/{feedback-writer-DMBdS_jL.js → feedback-writer-DCyd75yJ.js} +1 -1
  85. package/server/{flywheel-Dfpx4bIV.js → flywheel-D9NKvWqb.js} +11 -11
  86. package/server/{flywheel-k4FPtCQ_.js → flywheel-DB48X7Nn.js} +1 -1
  87. package/server/{flywheel-D2LdPSic.js → flywheel-DwQCoZQG.js} +13 -13
  88. package/server/{flywheel-merge-order-CB4lbXeJ.js → flywheel-merge-order-DrjmFXg4.js} +6 -6
  89. package/server/{flywheel-merge-order-CttTazRY.js → flywheel-merge-order-f1bi5XIf.js} +1 -1
  90. package/server/{forge-CoPFXFyl.js → forge-C-SoKy8U.js} +2 -2
  91. package/server/forge-CUCYK7h_.js +2 -0
  92. package/server/{from-B0YoJl9-.js → from-fu7ZumnY.js} +1 -1
  93. package/server/{fts-db-DAHW1yA_.js → fts-db-CL-YzSRG.js} +2 -2
  94. package/server/{fts-operations-DDXDBi0d.js → fts-operations-Bylu5NjM.js} +2 -2
  95. package/server/{git-utils-B90Zjzfl.js → git-utils-C8koBs8j.js} +2 -2
  96. package/server/{git-utils-DbfC0zls.js → git-utils-Ym380hJZ.js} +1 -1
  97. package/server/{github-app-C7lftMNj.js → github-app-DIr70YLg.js} +1 -1
  98. package/server/{github-app-BecAnXRX.js → github-app-DhycHVLF.js} +2 -2
  99. package/server/{github-client-D21rCIXk.js → github-client-7gkcXcBS.js} +2 -2
  100. package/server/{github-client-BwtKZtM0.js → github-client-Ji9lUTNF.js} +1 -1
  101. package/server/{github-pr-lookup-CzVWuysl.js → github-pr-lookup-rt7T9FwA.js} +2 -2
  102. package/server/{harness-resolve-SkRJm4a7.js → harness-resolve-CvGXUnAF.js} +3 -3
  103. package/server/{health-events-BT0aAfeA.js → health-events-D4E1DLN-.js} +2 -2
  104. package/server/{health-events-DA_JLpgZ.js → health-events-DDfkoO5a.js} +1 -1
  105. package/server/{hooks-DxEn2BoY.js → hooks-D_6pAbuJ.js} +2 -2
  106. package/server/{hooks-BQxRXtRb.js → hooks-DvdnCVv6.js} +1 -1
  107. package/server/{idle-stack-reaper-C7fJL8jH.js → idle-stack-reaper-DNbV9-fj.js} +1 -1
  108. package/server/{idle-stack-reaper-DGy7tvC9.js → idle-stack-reaper-cDRXDpgE.js} +2 -2
  109. package/server/{infra-DE3C4PMr.js → infra-Clew3DpF.js} +50 -3
  110. package/server/{injection-Dt22tGvS.js → injection-QCIHOpk6.js} +1 -1
  111. package/server/{injection-Cc4Qt8LZ.js → injection-ql0Nddcn.js} +7 -7
  112. package/server/inspect-agent-D8UBDgfR.js +2 -0
  113. package/server/{inspect-agent-DOaCDkCF.js → inspect-agent-DY18KEx4.js} +9 -9
  114. package/server/{internal-token-B_1YLWLI.js → internal-token-BeXjPLKy.js} +2 -2
  115. package/server/{internal-token-nobT6FhA.js → internal-token-C90jBp-y.js} +1 -1
  116. package/server/{io-A7ZuOBkz.js → io-CbAFXQge.js} +2 -2
  117. package/server/{issue-closed-Da3DeomA.js → issue-closed-BYC2TCk-.js} +4 -4
  118. package/server/{issue-lifecycle-543pQX9D.js → issue-lifecycle-BoJa6qIt.js} +21 -21
  119. package/server/{issue-lifecycle-Bd9XBJAQ.js → issue-lifecycle-CLHbj8RS.js} +1 -1
  120. package/server/{issue-service-singleton-BC2JLZi7.js → issue-service-singleton-3g_CCY-1.js} +1 -1
  121. package/server/{issue-service-singleton-Brc3t0SV.js → issue-service-singleton-BS9NENuR.js} +8 -8
  122. package/server/{issues-D3kt9UWE.js → issues-BPcqPqfV.js} +2 -2
  123. package/server/{label-cleanup-w9X_T3AQ.js → label-cleanup-CwiCSZrb.js} +2 -2
  124. package/server/{layers-Cwe1J-9o.js → layers-OHHLphl0.js} +2 -2
  125. package/server/{lifecycle-f1GbDK33.js → lifecycle-B8IdvUbt.js} +6 -6
  126. package/server/{lifecycle-io-D56q8zlO.js → lifecycle-io-BMCH1Bxg.js} +1 -1
  127. package/server/{lifecycle-io-Bqvj0m3i.js → lifecycle-io-C73m5e6R.js} +4 -4
  128. package/server/{linear-client-Bh4T4S-c.js → linear-client-BMxgycoy.js} +1 -1
  129. package/server/{linear-client-CfJMTAYd.js → linear-client-CgQlM4aT.js} +2 -2
  130. package/server/memory-fts-worker.js +1 -1
  131. package/server/{merge-ZrXFM3jv.js → merge-B7Oi-g6k.js} +3 -3
  132. package/server/{merge-DRMPa8CQ.js → merge-BRkVaIx-.js} +1 -1
  133. package/server/merge-agent-Bwm34MZ5.js +3 -0
  134. package/server/{merge-agent-CHHs5S_0.js → merge-agent-DNFFsiEm.js} +61 -26
  135. package/server/{merge-batch-BwhGdlh4.js → merge-batch-BpYXUaqJ.js} +1 -1
  136. package/server/{merge-blockers-BMhDpMl_.js → merge-blockers-DIOZmqdK.js} +2 -2
  137. package/server/merge-ops-B7m-hBEZ.js +2 -0
  138. package/server/{merge-rebase-R7MfqpiE.js → merge-rebase-C8WH39MB.js} +2 -2
  139. package/server/{merge-set-B3Breacq.js → merge-set-CsEE2CyQ.js} +9 -5
  140. package/server/{merge-set-D-iXNP0I.js → merge-set-DOsBTBQc.js} +1 -1
  141. package/server/{merge-sync-DHWbGtjR.js → merge-sync-C2B322Ot.js} +2 -2
  142. package/server/{merge-sync-bOOtfeXR.js → merge-sync-CcLM2vwW.js} +1 -1
  143. package/server/{merge-train-98ptZrPT.js → merge-train-BIm7-7cy.js} +3 -3
  144. package/server/{merge-train-deps-B5FWJTE2.js → merge-train-deps-DG1oQ2DT.js} +4 -4
  145. package/server/{merge-verification-BGiuiXAK.js → merge-verification-BAbjxEd5.js} +4 -4
  146. package/server/{multipart-parser-D7mzNNDm.js → multipart-parser-jKtKAXtl.js} +2 -2
  147. package/server/node_modules/.package-lock.json +1 -1
  148. package/server/{orphan-proposed-reconciler-CSuxivr9.js → orphan-proposed-reconciler-BqVGaOIj.js} +1 -1
  149. package/server/{orphan-proposed-reconciler-BSGCNJ6X.js → orphan-proposed-reconciler-zHrwJ3xr.js} +9 -9
  150. package/server/package-lock.json +2 -2
  151. package/server/package.json +1 -1
  152. package/server/{pan-dir-DoPtdHrp.js → pan-dir-BlNrLzW7.js} +3 -3
  153. package/server/{paths-CVDLPxXp.js → paths-CiVeo4N_.js} +2 -2
  154. package/server/{pipeline-notifier-WD2dnOsR.js → pipeline-notifier-DBF6dHxH.js} +2 -2
  155. package/server/{pipeline-notifier-BtYHbBPl.js → pipeline-notifier-nkWCe042.js} +1 -1
  156. package/server/{projects-Bqfwuqet.js → projects-BqRMlDOv.js} +1 -1
  157. package/server/{prompts-Cg7e9FPb.js → prompts-CXbQvevY.js} +2 -2
  158. package/server/{providers-fLduChnX.js → providers-CUdAb5Qu.js} +7 -7
  159. package/server/{providers-JjK6izqX.js → providers-gZ0cUgQM.js} +1 -1
  160. package/server/public/assets/{chunk-BO2N2NFS-aNlsGDCu.js → chunk-BO2N2NFS-C-6y8VFI.js} +4 -4
  161. package/server/public/assets/{diagram-OG6HWLK6-CnjkrvT8.js → diagram-OG6HWLK6-NACO1xW5.js} +1 -1
  162. package/server/public/assets/{dist-CGKBCieA.js → dist-D1FjqGgm.js} +1 -1
  163. package/server/public/assets/{dist-Bg3Sbsx4.js → dist-DQD-ZjQY.js} +3 -3
  164. package/server/public/assets/{ganttDiagram-6RSMTGT7-C8LLKj23.js → ganttDiagram-6RSMTGT7-CEMAKgmE.js} +1 -1
  165. package/server/public/assets/{highlighted-body-OFNGDK62-BSDEUvhW.js → highlighted-body-OFNGDK62-D5lC7FW8.js} +1 -1
  166. package/server/public/assets/{index-LQIfhmgI.js → index-BDqWyuZQ.js} +140 -140
  167. package/server/public/assets/{linear-DEbYZoxg.js → linear-DDHAMRPB.js} +1 -1
  168. package/server/public/assets/mermaid-GHXKKRXX-DRM2ANcR.js +1 -0
  169. package/server/public/assets/{pieDiagram-4H26LBE5-BtZL5pXE.js → pieDiagram-4H26LBE5-DwBdeKBb.js} +1 -1
  170. package/server/public/assets/{prod-DYVvIyuh.js → prod-DAZt0c4G.js} +4 -4
  171. package/server/public/assets/{quadrantDiagram-W4KKPZXB-a7vS8Jc8.js → quadrantDiagram-W4KKPZXB-CNDLp-_m.js} +1 -1
  172. package/server/public/assets/{sankeyDiagram-5OEKKPKP-Ckbq2SWH.js → sankeyDiagram-5OEKKPKP-oIUL_uO1.js} +1 -1
  173. package/server/public/assets/{xychartDiagram-2RQKCTM6-DJyeNa99.js → xychartDiagram-2RQKCTM6-B-IM6Cck.js} +1 -1
  174. package/server/public/index.html +1 -1
  175. package/server/{pull-requests-D2SjJIwY.js → pull-requests-DZ-V7_LB.js} +1 -1
  176. package/server/{pull-requests-1WXmTBlo.js → pull-requests-kTRl7cWC.js} +3 -3
  177. package/server/rally-CRteqXe0.js +3 -0
  178. package/server/{rally-api-H5I2CBO0.js → rally-api-DpZo3WwF.js} +2 -2
  179. package/server/{rally-api-BtvwdX6d.js → rally-api-jOk4vit_.js} +1 -1
  180. package/server/{rally-client-Bt-qHiOh.js → rally-client-BQjm3aaq.js} +1 -1
  181. package/server/{rally-client-33CYZYYu.js → rally-client-CoWZeVEj.js} +4 -4
  182. package/server/{rally-8aQlLLVj.js → rally-xCTZ-UcI.js} +3 -3
  183. package/server/{rebuild-stack-KHkkrGjx.js → rebuild-stack-BZ7j27xY.js} +5 -5
  184. package/server/{rebuild-stack-CXSgAGPR.js → rebuild-stack-r-cxcr26.js} +1 -1
  185. package/server/{reconstruct-cache-D_Ml65_6.js → reconstruct-cache-13EkMg_i.js} +6 -6
  186. package/server/{record-De2syxNB.js → record-CJsjvRO4.js} +1 -1
  187. package/server/release-engine-YLTnEO_K.js +306 -0
  188. package/server/release-set-DwvT_Opu.js +125 -0
  189. package/server/{remote-CGuognN3.js → remote-9u9WL0NJ.js} +3 -3
  190. package/server/{remote-D0Old0Cv.js → remote-B062S1Kc.js} +3 -3
  191. package/server/{remote-agents-UHoi4oGr.js → remote-agents-B4eWgwNd.js} +1 -1
  192. package/server/{remote-agents-DfhMq6kQ.js → remote-agents-BBTg-vLT.js} +5 -5
  193. package/server/{remote-completion-RZYePR_0.js → remote-completion-B0rmBnbL.js} +12 -12
  194. package/server/resume-R7xkSmLW.js +3 -0
  195. package/server/{review-agent-uwVftH98.js → review-agent-Bf9XjLnl.js} +1 -1
  196. package/server/{review-agent-sZBCpEVv.js → review-agent-tfR5RDzG.js} +22 -22
  197. package/server/{review-artifacts-C7a45b1_.js → review-artifacts-D0_IE6DQ.js} +6 -6
  198. package/server/{review-context-CErbQpKL.js → review-context-CXO5ml5D.js} +7 -7
  199. package/server/{review-monitor-DHD9m_kh.js → review-monitor-DfFUSx0J.js} +2 -2
  200. package/server/{review-status-JhQ3qlDS.js → review-status-B0Axo-Ma.js} +1 -1
  201. package/server/{review-status-gPndPUBc.js → review-status-BcfwcAcO.js} +23 -16
  202. package/server/{review-status-enrichment-qWvWckYN.js → review-status-enrichment-Cp5kFTGl.js} +3 -3
  203. package/server/{review-status-sync-B_GrEke8.js → review-status-sync-Bc0c_u12.js} +1 -1
  204. package/server/{review-status-sync-D3A9KX95.js → review-status-sync-CEFty1pW.js} +9 -5
  205. package/server/{review-verdict-feedback-4WZ5ZdbC.js → review-verdict-feedback-BOKRLLDf.js} +6 -6
  206. package/server/{review-verdict-feedback-Zo0r_z4m.js → review-verdict-feedback-BnGtT0vN.js} +1 -1
  207. package/server/{rollup-Bmhn80tB.js → rollup-BVqFuiS9.js} +1 -1
  208. package/server/{rollup-BrUIKMv_.js → rollup-C22QDVxh.js} +8 -8
  209. package/server/{scanner-BIGumel_.js → scanner-BLCnuXqY.js} +7 -7
  210. package/server/{sequence-io-DA0akEQN.js → sequence-io-BozlUb6f.js} +4 -4
  211. package/server/{sequencer-agent-DeflKafB.js → sequencer-agent-BEDEHfd2.js} +5 -5
  212. package/server/server.js +251 -160
  213. package/server/{service-V0sUK-OR.js → service-C8jKYZ0w.js} +42 -42
  214. package/server/{session-fork-Yx3UcAQf.js → session-fork-BDGksK4e.js} +2 -2
  215. package/server/{settings-CFEeQRj2.js → settings-CSLhh6qR.js} +2 -2
  216. package/server/settings-CSaXtkoA.js +2 -0
  217. package/server/{settings-CxVate0h.js → settings-DrRQCren.js} +3 -3
  218. package/server/{shadow-engineering-BRxnVSDk.js → shadow-engineering-BMcBN-Of.js} +2 -2
  219. package/server/{shadow-state-BiMwdyl1.js → shadow-state-B4ayC7nx.js} +2 -2
  220. package/server/{shadow-state-1aS8FijU.js → shadow-state-CHqWHD3T.js} +1 -1
  221. package/server/{ship-log-CMWH3H5-.js → ship-log-CDVmOlZP.js} +1 -1
  222. package/server/{smart-compaction-Bw1K_Sbl.js → smart-compaction-C-F5sP9P.js} +7 -7
  223. package/server/{smart-compaction-xblMyVpT.js → smart-compaction-V9DBrGcr.js} +1 -1
  224. package/server/{spawn-planning-session-CzDFSKAQ.js → spawn-planning-session-Bz4_JES2.js} +1 -1
  225. package/server/{spawn-planning-session-DxLxcM7m.js → spawn-planning-session-dSpOU0lP.js} +15 -15
  226. package/server/{specialist-completion-BiEXUHfD.js → specialist-completion-Coz3eTSr.js} +1 -1
  227. package/server/{specialist-context-BfkTA81h.js → specialist-context-fmb03vXQ.js} +5 -5
  228. package/server/{specialist-handoff-logger-BiKuLtNm.js → specialist-handoff-logger-B9HK_lRu.js} +2 -2
  229. package/server/{specialist-logs-CFJjGsLC.js → specialist-logs-B24R2B9Y.js} +3 -3
  230. package/server/{specialists-BLIreoE7.js → specialists-B6f5-5nG.js} +1 -1
  231. package/server/{specialists-DjHbwQ_p.js → specialists-BGNZ0_ZW.js} +18 -18
  232. package/server/{specialists-B4byf18k.js → specialists-CL7E8yUg.js} +75 -75
  233. package/server/{specialists-DdvpFNt1.js → specialists-Chvvwf5z.js} +1 -1
  234. package/server/specs-oaaYaA5c.js +3 -0
  235. package/server/{src-CALBEUMX.js → src-BVxZuHMg.js} +3 -3
  236. package/server/{src-mK_M_ZIj.js → src-D-VXCC9C.js} +5 -5
  237. package/server/{src-fgbU-jJ-.js → src-DGAEtABV.js} +13 -2
  238. package/server/{stack-health-BFM8YlHw.js → stack-health-BKbTTOT2.js} +1 -1
  239. package/server/{stack-health-Qd7rPiVe.js → stack-health-C-le5erA.js} +2 -2
  240. package/server/{state-home-C2Bicw9N.js → state-home-CoyWsECg.js} +6 -6
  241. package/server/{summary-fork-EWWBvzgE.js → summary-fork-BF_0vxrq.js} +2 -2
  242. package/server/{summary-fork-DezPkJSm.js → summary-fork-BlE30Q-I.js} +8 -8
  243. package/server/supervisor-03Tj_Wra.js +2 -0
  244. package/server/{supervisor-D5GC5jUM.js → supervisor-BSeML_p0.js} +2 -2
  245. package/server/{swarm-readiness-Cf9mommA.js → swarm-readiness-CQ4sjrXc.js} +3 -3
  246. package/server/{system-prerequisites-BsI9hxh9.js → system-prerequisites-DnmLYOnU.js} +13 -1
  247. package/server/{teardown-workspace-CWz1pbEK.js → teardown-workspace-CpcjDrZ4.js} +12 -12
  248. package/server/{test-agent-queue-TiVXe3ZT.js → test-agent-queue-Bq298zZl.js} +5 -5
  249. package/server/{tldr-daemon-C_1frSDj.js → tldr-daemon-CaSUXd9r.js} +2 -2
  250. package/server/{tldr-daemon-Big5IZ_M.js → tldr-daemon-Rn1Zue0P.js} +1 -1
  251. package/server/{tmux-D57f-XNv.js → tmux-BVc-NeKM.js} +2 -2
  252. package/server/{tmux-DClqWwb8.js → tmux-CbcrkUx5.js} +1 -1
  253. package/server/{token-_qujO3JZ.js → token-D2OC_9ms.js} +1 -1
  254. package/server/{tracker-config-BmdJU_w6.js → tracker-config-C1Y_2CIo.js} +2 -2
  255. package/server/{tracker-config-B_Ubts1Z.js → tracker-config-EsBoOWEy.js} +1 -1
  256. package/server/{tracker-utils-Bg-Sevcv.js → tracker-utils-DSb9cfrF.js} +1 -1
  257. package/server/{tracker-utils-CWFt6jjV.js → tracker-utils-lph9C3Pw.js} +2 -2
  258. package/server/{tunnel-UBf2vyAL.js → tunnel-BFBCeo97.js} +2 -2
  259. package/server/{tunnel-hOBNQbmF.js → tunnel-DDe-ATFF.js} +1 -1
  260. package/server/{uat-train-DGkIkLxu.js → uat-train-8T24rPzc.js} +1 -1
  261. package/server/{uat-train-qNanv5hN.js → uat-train-DtKHHy1U.js} +23 -23
  262. package/server/{validation-B0QaLIHP.js → validation-COOXwNXU.js} +1 -1
  263. package/server/{validation-C4wegCvH.js → validation-lyudzPvD.js} +3 -3
  264. package/server/{verification-runner-CntudBes.js → verification-runner-DO0nYTJx.js} +11 -11
  265. package/server/{verification-runner-DdleMNLq.js → verification-runner-Dd1FX8Qk.js} +1 -1
  266. package/server/{vtt-parser-CKc-smWM.js → vtt-parser-C57tEF7-.js} +1 -1
  267. package/server/{work-agent-prompt-CG5jFV9A.js → work-agent-prompt-B2F3ZwKm.js} +11 -11
  268. package/server/workflows-B4fIN8VP.js +2 -0
  269. package/server/{workflows-BK2xs_a8.js → workflows-Clz_AFwR.js} +13 -13
  270. package/server/{workspace-CLrSIRCx.js → workspace-CY_2-Ddv.js} +3 -3
  271. package/server/{workspace-C9lC5o3E.js → workspace-D0rCFemz.js} +1 -1
  272. package/server/{workspace-manager-Cb2a7bg9.js → workspace-manager-BIfpzqdU.js} +1 -1
  273. package/server/{workspace-manager-BJhW2sky.js → workspace-manager-D6NgGkiF.js} +10 -10
  274. package/server/{workspace-metadata-QQmo_Z0l.js → workspace-metadata-C8yn8kAH.js} +2 -2
  275. package/server/{workspace-metadata-CTRnr323.js → workspace-metadata-DfgR40YU.js} +1 -1
  276. package/server/{workspaces-Ca4zZs12.js → workspaces-DOeHyKmA.js} +104 -92
  277. package/sync-sources/hooks/ask-user-question-hook +87 -0
  278. package/sync-sources/hooks/auto-approve-hook +96 -0
  279. package/sync-sources/hooks/codex-notify-hook +62 -0
  280. package/sync-sources/hooks/gh-issue-trailer-hook +4 -0
  281. package/sync-sources/hooks/gh-issue-trailer-hook.d.ts +7 -0
  282. package/sync-sources/hooks/gh-issue-trailer-hook.d.ts.map +1 -0
  283. package/sync-sources/hooks/gh-issue-trailer-hook.js +239 -0
  284. package/sync-sources/hooks/gh-issue-trailer-hook.js.map +1 -0
  285. package/sync-sources/hooks/gh-issue-trailer-hook.ts +296 -0
  286. package/sync-sources/hooks/git-hooks/post-checkout +109 -0
  287. package/sync-sources/hooks/heartbeat-hook +113 -0
  288. package/sync-sources/hooks/notification-hook +70 -0
  289. package/sync-sources/hooks/notify-complete +79 -0
  290. package/sync-sources/hooks/pan-hook-lib.sh +153 -0
  291. package/sync-sources/hooks/permission-event-hook +24 -0
  292. package/sync-sources/hooks/post-compact-hook +25 -0
  293. package/sync-sources/hooks/pre-compact-hook +26 -0
  294. package/sync-sources/hooks/pre-tool-hook +35 -0
  295. package/sync-sources/hooks/record-cost-event.d.ts +1 -0
  296. package/sync-sources/hooks/record-cost-event.js +31858 -0
  297. package/sync-sources/hooks/record-cost-event.js.map +1 -0
  298. package/sync-sources/hooks/record-cost-event.ts +267 -0
  299. package/sync-sources/hooks/rtk-bash-filter +152 -0
  300. package/sync-sources/hooks/session-start-hook +80 -0
  301. package/sync-sources/hooks/specialist-stop-hook +106 -0
  302. package/sync-sources/hooks/statusline.sh +169 -0
  303. package/sync-sources/hooks/stop-hook +217 -0
  304. package/sync-sources/hooks/tldr-post-edit +72 -0
  305. package/sync-sources/hooks/tldr-read-enforcer +340 -0
  306. package/sync-sources/hooks/tmux-send-keys-guard +87 -0
  307. package/sync-sources/hooks/tsdown.config.ts +14 -0
  308. package/sync-sources/hooks/user-prompt-submit-hook +57 -0
  309. package/sync-sources/hooks/work-agent-stop-hook +424 -0
  310. package/server/cli-Ch_BWJB2.js +0 -3
  311. package/server/deacon-swarm-CSWGRfzr.js +0 -2
  312. package/server/dist-BUplB3Od.js +0 -3
  313. package/server/forge-IgLR0Ist.js +0 -2
  314. package/server/inspect-agent-CYoWAeeB.js +0 -2
  315. package/server/merge-agent-CfohxFWM.js +0 -3
  316. package/server/merge-ops-Czke6UAp.js +0 -2
  317. package/server/public/assets/mermaid-GHXKKRXX-CZOsRYoT.js +0 -1
  318. package/server/rally-Ba9QoNYc.js +0 -3
  319. package/server/resume-CmxF3Kjz.js +0 -3
  320. package/server/settings-DEhYpW0k.js +0 -2
  321. package/server/specs-CVH1kvz3.js +0 -3
  322. package/server/supervisor-DQMK2e3I.js +0 -2
  323. package/server/workflows-pKw9yRSV.js +0 -2
@@ -1,25 +1,25 @@
1
- import { Br as getOverdeckHome, Dt as getProjectConfigFromWorkspacePath, Ft as resolveProjectForIssue, Gn as resolveProjectFromIssueSync, Nn as init_projects, Or as OVERDECK_HOME, Ot as init_record, Pt as readRecordContinueViewSync, Vr as init_paths, vr as init_errors, yr as AGENTS_DIR } from "./config-yaml-ClpGgrf6.js";
1
+ import { Dt as getProjectConfigFromWorkspacePath, Ft as resolveProjectForIssue, Gn as resolveProjectFromIssueSync, Hr as init_paths, Nn as init_projects, Ot as init_record, Pt as readRecordContinueViewSync, Vr as getOverdeckHome, br as AGENTS_DIR, kr as OVERDECK_HOME, yr as init_errors } from "./config-yaml-C_djSurJ.js";
2
2
  import { a as init_activity_logger, n as emitActivityEntrySync } from "./activity-logger-pcbf-e30.js";
3
- import { D as sql, E as like, S as gte, _ as integer, a as EventBus, b as and, f as init_infra, g as real, h as text, i as DbLive, m as sqliteTable, n as CostArchiveLive, o as EventBusLive, p as init_sqlite_core, r as Db, t as CostArchive, v as init_drizzle_orm, x as eq, y as desc } from "./infra-DE3C4PMr.js";
4
- import { L as sessionExists, R as sessionExistsSync, w as killSession, x as init_tmux } from "./tmux-D57f-XNv.js";
5
- import { c as init_review_status, u as loadReviewStatuses, y as setReviewStatusSync } from "./review-status-gPndPUBc.js";
6
- import { n as init_issues, t as IssueId } from "./issues-D3kt9UWE.js";
7
- import { a as getAllBudgetsSync, i as deleteBudgetSync, n as checkBudgetSync, r as createBudgetSync, s as init_cost } from "./cost-CCnqa5xK.js";
8
- import { An as getAgentDir, D as init_context_overflow, Jn as saveAgentStateSync, Mn as getAgentState, Pn as getAgentStateSync, Q as listRunningAgentsSync, Sr as parseOhmypiSessionCostResultSync, U as spawnAgent, _t as init_config, gr as getAgentRuntimeStateSync, gt as getHealthThresholdsMs, k as isContextOverflowTail, q as stopAgentSync, t as init_agents, vr as saveAgentRuntimeState, xr as init_ohmypi_parser, yt as loadCloisterConfigSync } from "./agents-B5LfpLPv.js";
9
- import { i as parseCodexSessionSync, n as init_codex_parser, r as parseCodexSessionCostEventsSync } from "./behavior-CPf0pbOt.js";
10
- import { _ as init_tier_metrics, c as getDailyTrendsSync, d as init_cost_sync, h as deriveTieredAgentCostRole, t as getAgentDailyCostSync } from "./cost-sync-BDL10Nwu.js";
11
- import { c as requireModelOverrideSync, o as init_model_validation } from "./state-home-C2Bicw9N.js";
12
- import { _ as setDeaconGloballyPaused, c as isCloisterSpawnsPausedSync, g as setCloisterSpawnsPausedSync, s as init_control_settings, x as setFlywheelGloballyPaused } from "./control-settings-D1B3u6HP.js";
13
- import { n as checkHookSync, p as init_hooks } from "./hooks-DxEn2BoY.js";
3
+ import { D as sql, E as like, S as gte, _ as integer, a as EventBus, b as and, f as init_infra, g as real, h as text, i as DbLive, m as sqliteTable, n as CostArchiveLive, o as EventBusLive, p as init_sqlite_core, r as Db, t as CostArchive, v as init_drizzle_orm, x as eq, y as desc } from "./infra-Clew3DpF.js";
4
+ import { L as sessionExists, R as sessionExistsSync, w as killSession, x as init_tmux } from "./tmux-BVc-NeKM.js";
5
+ import { c as init_review_status, u as loadReviewStatuses, y as setReviewStatusSync } from "./review-status-BcfwcAcO.js";
6
+ import { n as init_issues, t as IssueId } from "./issues-BPcqPqfV.js";
7
+ import { a as getAllBudgetsSync, i as deleteBudgetSync, n as checkBudgetSync, r as createBudgetSync, s as init_cost } from "./cost-CaiG63FG.js";
8
+ import { An as getAgentDir, D as init_context_overflow, Jn as saveAgentStateSync, Mn as getAgentState, Pn as getAgentStateSync, Q as listRunningAgentsSync, Sr as parseOhmypiSessionCostResultSync, U as spawnAgent, _t as init_config, gr as getAgentRuntimeStateSync, gt as getHealthThresholdsMs, k as isContextOverflowTail, q as stopAgentSync, t as init_agents, vr as saveAgentRuntimeState, xr as init_ohmypi_parser, yt as loadCloisterConfigSync } from "./agents-DqQa4Dq_.js";
9
+ import { i as parseCodexSessionSync, n as init_codex_parser, r as parseCodexSessionCostEventsSync } from "./behavior-D3d2mVyD.js";
10
+ import { _ as init_tier_metrics, c as getDailyTrendsSync, d as init_cost_sync, h as deriveTieredAgentCostRole, t as getAgentDailyCostSync } from "./cost-sync-D6AX8jv-.js";
11
+ import { c as requireModelOverrideSync, o as init_model_validation } from "./state-home-CoyWsECg.js";
12
+ import { _ as setDeaconGloballyPaused, c as isCloisterSpawnsPausedSync, g as setCloisterSpawnsPausedSync, s as init_control_settings, x as setFlywheelGloballyPaused } from "./control-settings-KyYNXZLv.js";
13
+ import { n as checkHookSync, p as init_hooks } from "./hooks-D_6pAbuJ.js";
14
14
  import { r as isRoleTerminal, t as init_reap_terminal_sessions } from "./reap-terminal-sessions-CAmURC2h.js";
15
- import { C as getLastPatrolResult, D as isDeaconRunning, Lt as getRuntimeForAgent, N as runPatrol, R as startDeacon, S as getDeaconStatus, n as assessDeaconPatrolFreshness, x as getDeaconLogs, z as stopDeacon } from "./deacon-CM0MxbS8.js";
16
- import "./flywheel-Dfpx4bIV.js";
17
- import { n as renderPrompt, t as init_prompts } from "./prompts-Cg7e9FPb.js";
18
- import { r as writeHealthEvent } from "./health-events-BT0aAfeA.js";
19
- import { O as init_specialists, T as getTmuxSessionName } from "./specialists-DjHbwQ_p.js";
15
+ import { C as getLastPatrolResult, D as isDeaconRunning, Lt as getRuntimeForAgent, N as runPatrol, R as startDeacon, S as getDeaconStatus, n as assessDeaconPatrolFreshness, x as getDeaconLogs, z as stopDeacon } from "./deacon-2EvA9Ci3.js";
16
+ import "./flywheel-D9NKvWqb.js";
17
+ import { n as renderPrompt, t as init_prompts } from "./prompts-CXbQvevY.js";
18
+ import { r as writeHealthEvent } from "./health-events-D4E1DLN-.js";
19
+ import { O as init_specialists, T as getTmuxSessionName } from "./specialists-BGNZ0_ZW.js";
20
20
  import { t as withBdMutex } from "./bd-mutex-BItGvLQ8.js";
21
- import { n as init_issue_closed, r as isIssueClosed } from "./issue-closed-Da3DeomA.js";
22
- import { n as shouldSkipDispatchAsMerged, t as init_merge_verification } from "./merge-verification-BGiuiXAK.js";
21
+ import { n as init_issue_closed, r as isIssueClosed } from "./issue-closed-BYC2TCk-.js";
22
+ import { n as shouldSkipDispatchAsMerged, t as init_merge_verification } from "./merge-verification-BAbjxEd5.js";
23
23
  import { join } from "node:path";
24
24
  import { Context, Data, Effect, Layer, Schema } from "effect";
25
25
  import { appendFileSync, existsSync, mkdirSync, readFileSync, readdirSync, renameSync, statSync, unlinkSync, writeFileSync } from "fs";
@@ -2194,7 +2194,7 @@ async function onIssueStateChangePromise(issueId, newState) {
2194
2194
  });
2195
2195
  return;
2196
2196
  }
2197
- const { getReviewStatusSync } = await import("./review-status-JhQ3qlDS.js");
2197
+ const { getReviewStatusSync } = await import("./review-status-B0Axo-Ma.js");
2198
2198
  if (getReviewStatusSync(normalizedIssueId)?.mergeStatus === "merged") {
2199
2199
  const message = `${normalizedIssueId}: skipping ${role} dispatch — merge already landed (merge_status='merged' is terminal)`;
2200
2200
  console.log(`[cloister] ${message}`);
@@ -2261,7 +2261,7 @@ async function onIssueStateChangePromise(issueId, newState) {
2261
2261
  return;
2262
2262
  }
2263
2263
  const branch = `feature/${normalizedIssueId.toLowerCase()}`;
2264
- const { spawnReviewRoleForIssue } = await import("./review-agent-uwVftH98.js");
2264
+ const { spawnReviewRoleForIssue } = await import("./review-agent-Bf9XjLnl.js");
2265
2265
  const result = await Effect.runPromise(spawnReviewRoleForIssue({
2266
2266
  issueId: normalizedIssueId,
2267
2267
  workspace,
@@ -2279,7 +2279,7 @@ async function onIssueStateChangePromise(issueId, newState) {
2279
2279
  }
2280
2280
  if (role === "test") {
2281
2281
  const branch = `feature/${normalizedIssueId.toLowerCase()}`;
2282
- const { dispatchTestAgentAndNotify } = await import("./test-agent-queue-TiVXe3ZT.js");
2282
+ const { dispatchTestAgentAndNotify } = await import("./test-agent-queue-Bq298zZl.js");
2283
2283
  await Effect.runPromise(dispatchTestAgentAndNotify(normalizedIssueId, workspace ?? void 0, branch));
2284
2284
  const message = `${normalizedIssueId}: test role dispatched from lifecycle state '${newState}'`;
2285
2285
  console.log(`[cloister] ${message}`);
@@ -2291,7 +2291,7 @@ async function onIssueStateChangePromise(issueId, newState) {
2291
2291
  });
2292
2292
  return;
2293
2293
  }
2294
- const { spawnRun } = await import("./agents-C4kZ8a2r.js");
2294
+ const { spawnRun } = await import("./agents-CxbuBjID.js");
2295
2295
  const message = `${normalizedIssueId}: ${role} role started from lifecycle state '${newState}' as ${(await spawnRun(normalizedIssueId, role, { prompt: buildReactiveRolePrompt(normalizedIssueId, newState, role) })).id}`;
2296
2296
  console.log(`[cloister] ${message}`);
2297
2297
  emitActivityEntrySync({
@@ -2369,27 +2369,27 @@ async function handleCloisterDomainEventPromise(event) {
2369
2369
  if (event.type === "agent.stopped") {
2370
2370
  const agentId = event.payload?.agentId;
2371
2371
  if (agentId) {
2372
- const { handleAgentStoppedEvent, handleAgentStoppedForOrphanReviewerSessions } = await import("./deacon-DYnZH7kC.js");
2373
- const { handleAgentLifecycleEventForIdleStack } = await import("./idle-stack-reaper-C7fJL8jH.js");
2372
+ const { handleAgentStoppedEvent, handleAgentStoppedForOrphanReviewerSessions } = await import("./deacon-Bz-6Wjmn.js");
2373
+ const { handleAgentLifecycleEventForIdleStack } = await import("./idle-stack-reaper-DNbV9-fj.js");
2374
2374
  handleAgentLifecycleEventForIdleStack(agentId);
2375
2375
  const slotMatch = /^agent-(.+)-slot-\d+$/.exec(agentId);
2376
2376
  await Promise.all([
2377
2377
  handleAgentStoppedEvent(agentId),
2378
2378
  handleAgentStoppedForOrphanReviewerSessions(agentId),
2379
- slotMatch ? (await import("./deacon-swarm-CSWGRfzr.js")).coordinateSwarmSlots({ issueId: slotMatch[1].toUpperCase() }) : Promise.resolve([])
2379
+ slotMatch ? (await import("./deacon-swarm-B8pgK2a7.js")).coordinateSwarmSlots({ issueId: slotMatch[1].toUpperCase() }) : Promise.resolve([])
2380
2380
  ]);
2381
2381
  }
2382
2382
  return;
2383
2383
  }
2384
2384
  if (event.type === "agent.started") {
2385
2385
  const agentId = event.payload?.agentId;
2386
- if (agentId) (await import("./idle-stack-reaper-C7fJL8jH.js")).handleAgentLifecycleEventForIdleStack(agentId);
2386
+ if (agentId) (await import("./idle-stack-reaper-DNbV9-fj.js")).handleAgentLifecycleEventForIdleStack(agentId);
2387
2387
  return;
2388
2388
  }
2389
2389
  if (event.type === "agent.heartbeat_dead") {
2390
2390
  const agentId = event.payload?.agentId;
2391
2391
  if (agentId) {
2392
- const { handleAgentHeartbeatDeadEvent } = await import("./deacon-DYnZH7kC.js");
2392
+ const { handleAgentHeartbeatDeadEvent } = await import("./deacon-Bz-6Wjmn.js");
2393
2393
  await handleAgentHeartbeatDeadEvent(agentId, "event");
2394
2394
  }
2395
2395
  return;
@@ -2398,7 +2398,7 @@ async function handleCloisterDomainEventPromise(event) {
2398
2398
  const payload = event.payload;
2399
2399
  const issueId = payload?.issueId;
2400
2400
  if (issueId) {
2401
- const { handleReviewCoordinatorDied } = await import("./deacon-DYnZH7kC.js");
2401
+ const { handleReviewCoordinatorDied } = await import("./deacon-Bz-6Wjmn.js");
2402
2402
  await handleReviewCoordinatorDied(issueId, payload?.sessionName ?? "", payload?.reason ?? "");
2403
2403
  }
2404
2404
  return;
@@ -2406,7 +2406,7 @@ async function handleCloisterDomainEventPromise(event) {
2406
2406
  if (event.type === "work.completed") {
2407
2407
  const issueId = event.payload?.issueId;
2408
2408
  if (issueId) {
2409
- const { handleWorkCompleted } = await import("./deacon-DYnZH7kC.js");
2409
+ const { handleWorkCompleted } = await import("./deacon-Bz-6Wjmn.js");
2410
2410
  await handleWorkCompleted(issueId);
2411
2411
  }
2412
2412
  }
@@ -2417,12 +2417,12 @@ async function handleCloisterDomainEventPromise(event) {
2417
2417
  const status = payload?.status?.toLowerCase();
2418
2418
  if (issueId) {
2419
2419
  if (canonicalStatus === "closed" || status === "closed") {
2420
- const { handleIssueStatusChangedClosed } = await import("./closed-issue-reaper-CLR7ClsO.js");
2420
+ const { handleIssueStatusChangedClosed } = await import("./closed-issue-reaper-BRQBc7Xa.js");
2421
2421
  await handleIssueStatusChangedClosed(issueId);
2422
2422
  return;
2423
2423
  }
2424
2424
  if (canonicalStatus === "todo" || status === "planned" || status === "todo") {
2425
- const { handleOrphanProposedSpec } = await import("./orphan-proposed-reconciler-CSuxivr9.js");
2425
+ const { handleOrphanProposedSpec } = await import("./orphan-proposed-reconciler-BqVGaOIj.js");
2426
2426
  await handleOrphanProposedSpec(issueId);
2427
2427
  }
2428
2428
  }
@@ -2558,7 +2558,7 @@ var CloisterService = class {
2558
2558
  let clearedSpecialistCount = 0;
2559
2559
  try {
2560
2560
  if (existsSync(AGENTS_DIR)) {
2561
- const { isRunning: isSpecialistRunning } = await import("./specialists-DdvpFNt1.js");
2561
+ const { isRunning: isSpecialistRunning } = await import("./specialists-Chvvwf5z.js");
2562
2562
  const entries = readdirSync(AGENTS_DIR, { withFileTypes: true });
2563
2563
  for (const entry of entries) {
2564
2564
  if (!entry.isDirectory()) continue;
@@ -2593,8 +2593,8 @@ var CloisterService = class {
2593
2593
  }
2594
2594
  try {
2595
2595
  const reviewStatuses = loadReviewStatuses();
2596
- const { resolveProjectFromIssueSync } = await import("./projects-Bqfwuqet.js");
2597
- const { getTmuxSessionName, getAllProjectSpecialistStatuses } = await import("./specialists-DdvpFNt1.js");
2596
+ const { resolveProjectFromIssueSync } = await import("./projects-BqRMlDOv.js");
2597
+ const { getTmuxSessionName, getAllProjectSpecialistStatuses } = await import("./specialists-Chvvwf5z.js");
2598
2598
  const activeReviewIssues = /* @__PURE__ */ new Set();
2599
2599
  try {
2600
2600
  const projSpecs = await getAllProjectSpecialistStatuses();
@@ -2605,7 +2605,7 @@ var CloisterService = class {
2605
2605
  }
2606
2606
  const globalRs = getAgentRuntimeStateSync(getTmuxSessionName("review-agent"));
2607
2607
  if (globalRs?.state === "active" && globalRs.currentIssue) activeReviewIssues.add(globalRs.currentIssue.toUpperCase());
2608
- const { listRunningAgents } = await import("./agents-C4kZ8a2r.js");
2608
+ const { listRunningAgents } = await import("./agents-CxbuBjID.js");
2609
2609
  const agents = await Effect.runPromise(listRunningAgents());
2610
2610
  for (const agent of agents) {
2611
2611
  if (agent.status === "stopped" || agent.status === "error") continue;
@@ -2648,7 +2648,7 @@ var CloisterService = class {
2648
2648
  continue;
2649
2649
  }
2650
2650
  const branch = `feature/${issueId.toLowerCase()}`;
2651
- const { spawnReviewRoleForIssue } = await import("./review-agent-uwVftH98.js");
2651
+ const { spawnReviewRoleForIssue } = await import("./review-agent-Bf9XjLnl.js");
2652
2652
  const dispatchResult = await Effect.runPromise(spawnReviewRoleForIssue({
2653
2653
  issueId,
2654
2654
  workspace,
@@ -2736,7 +2736,7 @@ var CloisterService = class {
2736
2736
  console.log(" ✓ Cloister event store provider installed");
2737
2737
  return;
2738
2738
  }
2739
- const { initEventStore } = await import("./event-store-DU3HkZlN.js");
2739
+ const { initEventStore } = await import("./event-store-C02Gprug.js");
2740
2740
  const store = await initEventStore();
2741
2741
  this.eventStore = store;
2742
2742
  this.domainEventUnsubscribe = store.subscribe((event) => {
@@ -2947,7 +2947,7 @@ var CloisterService = class {
2947
2947
  if (retryCount === Infinity) this.processedCompletions.delete(dir.name);
2948
2948
  else if (retryCount >= 3) continue;
2949
2949
  const issueId = dir.name.replace("agent-", "").toUpperCase();
2950
- const { getReviewStatusSync } = await import("./review-status-JhQ3qlDS.js");
2950
+ const { getReviewStatusSync } = await import("./review-status-B0Axo-Ma.js");
2951
2951
  const existingReview = getReviewStatusSync(issueId);
2952
2952
  if (existingReview && ["reviewing", "passed"].includes(existingReview.reviewStatus || "")) {
2953
2953
  console.log(`🔔 Cloister: Completion marker for ${issueId} — review already ${existingReview.reviewStatus}, marking processed`);
@@ -3056,7 +3056,7 @@ var CloisterService = class {
3056
3056
  ineffective
3057
3057
  });
3058
3058
  if (ineffective >= 4) {
3059
- const { setAgentPausedSync } = await import("./agent-state-D-moNwhA.js");
3059
+ const { setAgentPausedSync } = await import("./agent-state-C6Rm6FPR.js");
3060
3060
  try {
3061
3061
  setAgentPausedSync(agentId, `needs-you: idle-alive — no observable progress across ${ineffective + 1} pokes (idle-alive escalation)`);
3062
3062
  this.emit({
@@ -3138,7 +3138,7 @@ var CloisterService = class {
3138
3138
  if (skipReason) {
3139
3139
  let recoverUnfinishedOneShot = false;
3140
3140
  if (ONE_SHOT_ROLES.has(agentState.role) && agentState.sessionId && agentState.issueId) try {
3141
- const { getReviewStatusSync } = await import("./review-status-JhQ3qlDS.js");
3141
+ const { getReviewStatusSync } = await import("./review-status-B0Axo-Ma.js");
3142
3142
  const status = getReviewStatusSync(agentState.issueId);
3143
3143
  recoverUnfinishedOneShot = !(status ? isRoleTerminal(agentState.role, {
3144
3144
  reviewStatus: status.reviewStatus,
@@ -3615,4 +3615,4 @@ function handleCloisterDomainEvent(event) {
3615
3615
  //#endregion
3616
3616
  export { performHandoff as a, getAgentsNeedingAttention as c, CostResolverLive as d, CostWriter as f, checkAllTriggers as i, CostDoorLive as l, readCloisterStateFile as n, generateHealthSummary as o, setCloisterEventStoreProvider as r, getAgentHealth as s, getCloisterService as t, CostResolver as u };
3617
3617
 
3618
- //# sourceMappingURL=service-V0sUK-OR.js.map
3618
+ //# sourceMappingURL=service-C8jKYZ0w.js.map
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Lr as encodeClaudeProjectDir, Vr as init_paths } from "./config-yaml-ClpGgrf6.js";
2
+ import { Hr as init_paths, Rr as encodeClaudeProjectDir } from "./config-yaml-C_djSurJ.js";
3
3
  import { join } from "node:path";
4
4
  import { mkdir, readFile, writeFile } from "node:fs/promises";
5
5
  import { randomUUID } from "node:crypto";
@@ -96,4 +96,4 @@ __esmMin((() => {
96
96
  }))();
97
97
  export { copySessionForFork, reserveForkSession };
98
98
 
99
- //# sourceMappingURL=session-fork-Yx3UcAQf.js.map
99
+ //# sourceMappingURL=session-fork-BDGksK4e.js.map
@@ -1,4 +1,4 @@
1
- import { Vr as init_paths, vr as init_errors } from "./config-yaml-ClpGgrf6.js";
1
+ import { Hr as init_paths, yr as init_errors } from "./config-yaml-C_djSurJ.js";
2
2
  import "effect";
3
3
  import "fs";
4
4
  //#region ../../lib/settings.ts
@@ -45,4 +45,4 @@ function getAgentCommandSync(modelId) {
45
45
  //#endregion
46
46
  export { getClaudeModelFlagSync as n, isAnthropicModelSync as r, getAgentCommandSync as t };
47
47
 
48
- //# sourceMappingURL=settings-CFEeQRj2.js.map
48
+ //# sourceMappingURL=settings-CSLhh6qR.js.map
@@ -0,0 +1,2 @@
1
+ import { t as getAgentCommandSync } from "./settings-CSLhh6qR.js";
2
+ export { getAgentCommandSync };
@@ -1,6 +1,6 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { h as jsYaml, m as init_js_yaml, o as getGlobalConfigPath, t as init_config_yaml } from "./config-yaml-ClpGgrf6.js";
3
- import { n as isBackgroundFeatureEnabled, t as init_features } from "./features-DMu7eGmU.js";
2
+ import { h as jsYaml, m as init_js_yaml, o as getGlobalConfigPath, t as init_config_yaml } from "./config-yaml-C_djSurJ.js";
3
+ import { n as isBackgroundFeatureEnabled, t as init_features } from "./features-x_aLR7U9.js";
4
4
  import { readFile } from "fs/promises";
5
5
  //#region ../../lib/memory/settings.ts
6
6
  async function loadMemorySettings(configPath = getGlobalConfigPath()) {
@@ -101,4 +101,4 @@ var init_settings = __esmMin((() => {
101
101
  //#endregion
102
102
  export { isMemoryKnowledgeIndexEnabled as a, init_settings as i, getMemoryRollupPendingThreshold as n, isMemoryPromptTimeInjectionEnabled as o, getMemoryWorkerConcurrency as r, loadMemorySettings as s, areMemoryObservationsEnabled as t };
103
103
 
104
- //# sourceMappingURL=settings-CxVate0h.js.map
104
+ //# sourceMappingURL=settings-DrRQCren.js.map
@@ -1,5 +1,5 @@
1
1
  import { a as PAN_DIRNAME } from "./types-CE1m_daD.js";
2
- import { t as init_pan_dir } from "./pan-dir-DoPtdHrp.js";
2
+ import { t as init_pan_dir } from "./pan-dir-BlNrLzW7.js";
3
3
  import { Data, Effect } from "effect";
4
4
  import { existsSync, mkdirSync, readFileSync, readdirSync, writeFileSync } from "fs";
5
5
  import { join } from "path";
@@ -221,4 +221,4 @@ init_pan_dir();
221
221
  //#endregion
222
222
  export { gatherArtifacts, generateBasicInference, runObserverCycle, updateInferenceDocumentSync };
223
223
 
224
- //# sourceMappingURL=shadow-engineering-BRxnVSDk.js.map
224
+ //# sourceMappingURL=shadow-engineering-BMcBN-Of.js.map
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Br as getOverdeckHome, Vr as init_paths } from "./config-yaml-ClpGgrf6.js";
2
+ import { Hr as init_paths, Vr as getOverdeckHome } from "./config-yaml-C_djSurJ.js";
3
3
  import { Data, Effect } from "effect";
4
4
  import { existsSync, mkdirSync, unlinkSync } from "fs";
5
5
  import { join } from "path";
@@ -287,4 +287,4 @@ var init_shadow_state = __esmMin((() => {
287
287
  //#endregion
288
288
  export { getShadowState as a, isShadowed as c, needsSync as d, removeShadowState as f, getPendingSyncCount as i, listShadowedIssues as l, updateTrackerStatusCache as m, createShadowState as n, getUnsyncedHistory as o, updateShadowState as p, getDisplayStatus as r, init_shadow_state as s, ShadowStateError as t, markAsSynced as u };
289
289
 
290
- //# sourceMappingURL=shadow-state-BiMwdyl1.js.map
290
+ //# sourceMappingURL=shadow-state-B4ayC7nx.js.map
@@ -1,3 +1,3 @@
1
- import { a as getShadowState, c as isShadowed, d as needsSync, f as removeShadowState, i as getPendingSyncCount, l as listShadowedIssues, m as updateTrackerStatusCache, n as createShadowState, o as getUnsyncedHistory, p as updateShadowState, r as getDisplayStatus, s as init_shadow_state, t as ShadowStateError, u as markAsSynced } from "./shadow-state-BiMwdyl1.js";
1
+ import { a as getShadowState, c as isShadowed, d as needsSync, f as removeShadowState, i as getPendingSyncCount, l as listShadowedIssues, m as updateTrackerStatusCache, n as createShadowState, o as getUnsyncedHistory, p as updateShadowState, r as getDisplayStatus, s as init_shadow_state, t as ShadowStateError, u as markAsSynced } from "./shadow-state-B4ayC7nx.js";
2
2
  init_shadow_state();
3
3
  export { ShadowStateError, createShadowState, getDisplayStatus, getPendingSyncCount, getShadowState, getUnsyncedHistory, isShadowed, listShadowedIssues, markAsSynced, needsSync, removeShadowState, updateShadowState, updateTrackerStatusCache };
@@ -36,4 +36,4 @@ function getShipLog(issueId) {
36
36
  //#endregion
37
37
  export { appendShipLog, beginShipLog, getShipLog };
38
38
 
39
- //# sourceMappingURL=ship-log-CMWH3H5-.js.map
39
+ //# sourceMappingURL=ship-log-CDVmOlZP.js.map
@@ -1,10 +1,10 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { cr as FsError, mr as ProcessSpawnError, vr as init_errors } from "./config-yaml-ClpGgrf6.js";
3
- import { a as getHarnessBehavior } from "./src-fgbU-jJ-.js";
4
- import { D as init_context_overflow, O as isContextOverflowError, ln as getProviderEnvForModel, sn as buildSpawnEnvForModel, t as init_agents } from "./agents-B5LfpLPv.js";
5
- import { t as init_behavior } from "./behavior-CPf0pbOt.js";
6
- import { a as init_claude_permissions, i as getClaudePermissionFlagsSync } from "./claude-permissions-B6bWGh9d.js";
7
- import { n as recordBackgroundAiCost, t as init_cost } from "./cost-DAPYN6iA.js";
2
+ import { hr as ProcessSpawnError, lr as FsError, yr as init_errors } from "./config-yaml-C_djSurJ.js";
3
+ import { a as getHarnessBehavior } from "./src-DGAEtABV.js";
4
+ import { D as init_context_overflow, O as isContextOverflowError, ln as getProviderEnvForModel, sn as buildSpawnEnvForModel, t as init_agents } from "./agents-DqQa4Dq_.js";
5
+ import { t as init_behavior } from "./behavior-D3d2mVyD.js";
6
+ import { a as init_claude_permissions, i as getClaudePermissionFlagsSync } from "./claude-permissions-DxIjkOVl.js";
7
+ import { n as recordBackgroundAiCost, t as init_cost } from "./cost-BE_ulOrw.js";
8
8
  import { join } from "node:path";
9
9
  import { Effect } from "effect";
10
10
  import { tmpdir } from "node:os";
@@ -850,4 +850,4 @@ Be thorough. Preserve exact file paths, function names, error messages, and code
850
850
  //#endregion
851
851
  export { runModelSummary as a, truncateHeadTail as c, parseEntries as i, generateSummaryFromPrompt as n, serializeConversation as o, init_smart_compaction as r, summarizeSerializedText as s, generateSmartSummary as t };
852
852
 
853
- //# sourceMappingURL=smart-compaction-Bw1K_Sbl.js.map
853
+ //# sourceMappingURL=smart-compaction-C-F5sP9P.js.map
@@ -1,3 +1,3 @@
1
- import { a as runModelSummary, c as truncateHeadTail, i as parseEntries, n as generateSummaryFromPrompt, o as serializeConversation, r as init_smart_compaction, s as summarizeSerializedText, t as generateSmartSummary } from "./smart-compaction-Bw1K_Sbl.js";
1
+ import { a as runModelSummary, c as truncateHeadTail, i as parseEntries, n as generateSummaryFromPrompt, o as serializeConversation, r as init_smart_compaction, s as summarizeSerializedText, t as generateSmartSummary } from "./smart-compaction-C-F5sP9P.js";
2
2
  init_smart_compaction();
3
3
  export { generateSmartSummary, generateSummaryFromPrompt, parseEntries, runModelSummary, serializeConversation, summarizeSerializedText, truncateHeadTail };
@@ -1,2 +1,2 @@
1
- import { o as spawnPlanningSession } from "./spawn-planning-session-DxLxcM7m.js";
1
+ import { o as spawnPlanningSession } from "./spawn-planning-session-dSpOU0lP.js";
2
2
  export { spawnPlanningSession };
@@ -1,15 +1,15 @@
1
- import { Dt as getProjectConfigFromWorkspacePath, Ft as resolveProjectForIssue, Nn as init_projects, Ot as init_record, Sn as findProjectByTeamSync, X as resolveModel, bn as findProjectByPathSync, f as loadConfigSync, gt as appendSessionEntrySync, t as init_config_yaml, vn as extractTeamPrefix, wt as getIssueRecordPath } from "./config-yaml-ClpGgrf6.js";
2
- import { L as sessionExists, W as BLANKED_PROVIDER_ENV, d as exactPaneTarget, o as createSession, q as init_child_env, r as buildTmuxCommandString, w as killSession, x as init_tmux, z as setOption } from "./tmux-D57f-XNv.js";
3
- import { a as getHarnessBehavior } from "./src-fgbU-jJ-.js";
4
- import { n as ensureSessionContextBriefingFile, r as init_briefing_freshness } from "./briefing-freshness-B2FdLwIv.js";
5
- import { Gt as getAgentRuntimeBaseCommand, It as retrieveSpawnTimeMemoryContext, Jn as saveAgentStateSync, Kt as getCodexLauncherFields, Pn as getAgentStateSync, Qt as roleAgentDefinitionPath, Xt as init_runtime_command, qt as getOhmypiLauncherFields, t as init_agents, un as getProviderExportsForModel, wt as deliverInitialPromptWithRetry } from "./agents-B5LfpLPv.js";
6
- import { t as init_behavior } from "./behavior-CPf0pbOt.js";
7
- import { a as init_launcher_generator, i as generateLauncherScriptSync } from "./state-home-C2Bicw9N.js";
8
- import { h as workspaceContextFile, o as init_layers } from "./layers-Cwe1J-9o.js";
9
- import { n as resolveHarness, t as init_harness_resolve } from "./harness-resolve-SkRJm4a7.js";
10
- import { c as ensureWorkspacePanDir, r as writeWorkspaceContext, t as init_pan_dir } from "./pan-dir-DoPtdHrp.js";
11
- import { r as init_workspace_manager, t as createWorkspace } from "./workspace-manager-BJhW2sky.js";
12
- import { n as renderPrompt, t as init_prompts } from "./prompts-Cg7e9FPb.js";
1
+ import { Dt as getProjectConfigFromWorkspacePath, Ft as resolveProjectForIssue, Nn as init_projects, Ot as init_record, Sn as findProjectByTeamSync, X as resolveModel, bn as findProjectByPathSync, f as loadConfigSync, gt as appendSessionEntrySync, t as init_config_yaml, vn as extractTeamPrefix, wt as getIssueRecordPath } from "./config-yaml-C_djSurJ.js";
2
+ import { L as sessionExists, W as BLANKED_PROVIDER_ENV, d as exactPaneTarget, o as createSession, q as init_child_env, r as buildTmuxCommandString, w as killSession, x as init_tmux, z as setOption } from "./tmux-BVc-NeKM.js";
3
+ import { a as getHarnessBehavior } from "./src-DGAEtABV.js";
4
+ import { n as ensureSessionContextBriefingFile, r as init_briefing_freshness } from "./briefing-freshness-BL3Q6p7R.js";
5
+ import { Gt as getAgentRuntimeBaseCommand, It as retrieveSpawnTimeMemoryContext, Jn as saveAgentStateSync, Kt as getCodexLauncherFields, Pn as getAgentStateSync, Qt as roleAgentDefinitionPath, Xt as init_runtime_command, qt as getOhmypiLauncherFields, t as init_agents, un as getProviderExportsForModel, wt as deliverInitialPromptWithRetry } from "./agents-DqQa4Dq_.js";
6
+ import { t as init_behavior } from "./behavior-D3d2mVyD.js";
7
+ import { a as init_launcher_generator, i as generateLauncherScriptSync } from "./state-home-CoyWsECg.js";
8
+ import { h as workspaceContextFile, o as init_layers } from "./layers-OHHLphl0.js";
9
+ import { n as resolveHarness, t as init_harness_resolve } from "./harness-resolve-CvGXUnAF.js";
10
+ import { c as ensureWorkspacePanDir, r as writeWorkspaceContext, t as init_pan_dir } from "./pan-dir-BlNrLzW7.js";
11
+ import { r as init_workspace_manager, t as createWorkspace } from "./workspace-manager-D6NgGkiF.js";
12
+ import { n as renderPrompt, t as init_prompts } from "./prompts-CXbQvevY.js";
13
13
  import { join, resolve } from "node:path";
14
14
  import { Effect } from "effect";
15
15
  import { homedir } from "node:os";
@@ -286,12 +286,12 @@ async function claudePlanningSystemPromptFiles(workspacePath, harness) {
286
286
  files.push(await ensureSessionContextBriefingFile());
287
287
  const behavior = getHarnessBehavior(harness);
288
288
  if (behavior.contextLayerKind === "pi") {
289
- const { piGlobalContextFile } = await import("./context-layers-CRCk1QG7.js");
289
+ const { piGlobalContextFile } = await import("./context-layers-CHl3Nroz.js");
290
290
  const globalFile = piGlobalContextFile();
291
291
  if (existsSync(globalFile)) files.unshift(globalFile);
292
292
  }
293
293
  if (behavior.contextLayerKind === "codex") {
294
- const { codexGlobalContextFile } = await import("./context-layers-CRCk1QG7.js");
294
+ const { codexGlobalContextFile } = await import("./context-layers-CHl3Nroz.js");
295
295
  const globalFile = codexGlobalContextFile();
296
296
  if (existsSync(globalFile)) files.unshift(globalFile);
297
297
  }
@@ -541,4 +541,4 @@ async function spawnPlanningSession(opts) {
541
541
  //#endregion
542
542
  export { resolvePlanningSessionHarness as a, resolveAutoSpawnOnFinalize as i, buildPlanningPrompt as n, spawnPlanningSession as o, readAutoSpawnOnFinalizeFlag as r, writeFeatureContext as s, autoSpawnOnFinalizeFlagPath as t };
543
543
 
544
- //# sourceMappingURL=spawn-planning-session-DxLxcM7m.js.map
544
+ //# sourceMappingURL=spawn-planning-session-dSpOU0lP.js.map
@@ -85,4 +85,4 @@ function cancelAllPendingCompletions() {
85
85
  //#endregion
86
86
  export { SpecialistCancelledError, SpecialistCompletionTimeoutError, SpecialistSupersededError, cancelAllPendingCompletions, hasPendingCompletion, reportSpecialistCompletion, waitForSpecialistCompletion };
87
87
 
88
- //# sourceMappingURL=specialist-completion-BiEXUHfD.js.map
88
+ //# sourceMappingURL=specialist-completion-Coz3eTSr.js.map
@@ -1,6 +1,6 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Br as getOverdeckHome, Dn as getProjectSync, Nn as init_projects, Vr as init_paths, X as resolveModel, f as loadConfigSync, t as init_config_yaml } from "./config-yaml-ClpGgrf6.js";
3
- import { a as init_claude_permissions, r as getClaudePermissionFlagsStringSync } from "./claude-permissions-B6bWGh9d.js";
2
+ import { Dn as getProjectSync, Hr as init_paths, Nn as init_projects, Vr as getOverdeckHome, X as resolveModel, f as loadConfigSync, t as init_config_yaml } from "./config-yaml-C_djSurJ.js";
3
+ import { a as init_claude_permissions, r as getClaudePermissionFlagsStringSync } from "./claude-permissions-DxIjkOVl.js";
4
4
  import { Effect } from "effect";
5
5
  import { existsSync, mkdirSync, readFileSync, unlinkSync, writeFileSync } from "fs";
6
6
  import { join } from "path";
@@ -114,7 +114,7 @@ function getDigestModel(projectKey, specialistType) {
114
114
  async function generateContextDigestPromise(projectKey, specialistType, options = {}) {
115
115
  ensureContextDirectory(projectKey, specialistType);
116
116
  const runCount = options.runCount ?? getContextRunsCount(projectKey);
117
- const { getRecentRunLogs } = await import("./specialist-logs-CFJjGsLC.js");
117
+ const { getRecentRunLogs } = await import("./specialist-logs-B24R2B9Y.js");
118
118
  const recentRuns = getRecentRunLogs(projectKey, specialistType, runCount);
119
119
  if (recentRuns.length === 0 && !options.force) {
120
120
  console.log(`[specialist-context] No recent runs for ${projectKey}/${specialistType}, skipping digest generation`);
@@ -128,7 +128,7 @@ async function generateContextDigestPromise(projectKey, specialistType, options
128
128
  if (!existsSync(tempDir)) mkdirSync(tempDir, { recursive: true });
129
129
  const promptFile = join(tempDir, `digest-prompt-${Date.now()}.md`);
130
130
  writeFileSync(promptFile, prompt, "utf-8");
131
- const { getProviderEnvForModel } = await import("./agents-C4kZ8a2r.js");
131
+ const { getProviderEnvForModel } = await import("./agents-CxbuBjID.js");
132
132
  const providerEnv = await getProviderEnvForModel(model);
133
133
  const envPrefix = Object.entries(providerEnv).map(([k, v]) => `${k}="${v}"`).join(" ");
134
134
  const permissionFlags = getClaudePermissionFlagsStringSync();
@@ -283,4 +283,4 @@ __esmMin((() => {
283
283
  }))();
284
284
  export { deleteContextDigest, generateContextDigest, getContextDigestPath, getContextDirectory, hasContextDigest, loadContextDigest, regenerateContextDigest, scheduleDigestGeneration };
285
285
 
286
- //# sourceMappingURL=specialist-context-BfkTA81h.js.map
286
+ //# sourceMappingURL=specialist-context-fmb03vXQ.js.map
@@ -1,4 +1,4 @@
1
- import { Br as getOverdeckHome, Vr as init_paths } from "./config-yaml-ClpGgrf6.js";
1
+ import { Hr as init_paths, Vr as getOverdeckHome } from "./config-yaml-C_djSurJ.js";
2
2
  import { Effect } from "effect";
3
3
  import { existsSync } from "fs";
4
4
  import { join } from "path";
@@ -52,4 +52,4 @@ const updateSpecialistHandoffStatus = (issueId, toSpecialist, status, result) =>
52
52
  //#endregion
53
53
  export { updateSpecialistHandoffStatus };
54
54
 
55
- //# sourceMappingURL=specialist-handoff-logger-BiKuLtNm.js.map
55
+ //# sourceMappingURL=specialist-handoff-logger-B9HK_lRu.js.map
@@ -1,6 +1,6 @@
1
1
  import { a as __toCommonJS, n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Bn as projects_exports, Br as getOverdeckHome, Nn as init_projects, Vr as init_paths } from "./config-yaml-ClpGgrf6.js";
3
- import { J as specialists_exports, O as init_specialists } from "./specialists-DjHbwQ_p.js";
2
+ import { Bn as projects_exports, Hr as init_paths, Nn as init_projects, Vr as getOverdeckHome } from "./config-yaml-C_djSurJ.js";
3
+ import { J as specialists_exports, O as init_specialists } from "./specialists-BGNZ0_ZW.js";
4
4
  import { Data, Effect } from "effect";
5
5
  import { appendFileSync, existsSync, mkdirSync, readFileSync, readdirSync, statSync, unlinkSync, writeFileSync } from "fs";
6
6
  import { basename, join } from "path";
@@ -380,4 +380,4 @@ __esmMin((() => {
380
380
  }))();
381
381
  export { MAX_LOG_SIZE, SpecialistLogError, appendToRunLog, appendToRunLogSync, checkLogSizeLimit, cleanupAllLogs, cleanupAllLogsSync, cleanupOldLogs, cleanupOldLogsSync, createRunLog, createRunLogSync, finalizeRunLog, finalizeRunLogSync, generateRunId, getRecentRunLogs, getRunLog, getRunLogPath, getRunLogSize, getRunLogSync, getRunsDirectory, isRunLogActive, listRunLogs, listRunLogsSync, parseLogMetadata };
382
382
 
383
- //# sourceMappingURL=specialist-logs-CFJjGsLC.js.map
383
+ //# sourceMappingURL=specialist-logs-B24R2B9Y.js.map
@@ -1,2 +1,2 @@
1
- import { i as validateSpecialistAutoCompleteMetadata, n as _serverManagedMerges, r as firePostMergeLifecycle, t as specialistsRouteLayer } from "./specialists-B4byf18k.js";
1
+ import { i as validateSpecialistAutoCompleteMetadata, n as _serverManagedMerges, r as firePostMergeLifecycle, t as specialistsRouteLayer } from "./specialists-CL7E8yUg.js";
2
2
  export { _serverManagedMerges, specialistsRouteLayer as default, specialistsRouteLayer, firePostMergeLifecycle, validateSpecialistAutoCompleteMetadata };
@@ -1,9 +1,9 @@
1
1
  import { n as __esmMin, r as __exportAll } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Lr as encodeClaudeProjectDir, Or as OVERDECK_HOME, Vr as init_paths, vr as init_errors, yr as AGENTS_DIR } from "./config-yaml-ClpGgrf6.js";
3
- import { E as listPaneValues, L as sessionExists, w as killSession, x as init_tmux } from "./tmux-D57f-XNv.js";
4
- import { o as getPricingSync, s as init_cost, t as calculateCostSync } from "./cost-CCnqa5xK.js";
5
- import { a as readCavemanVariant, n as init_workspace } from "./workspace-CLrSIRCx.js";
6
- import { n as resolveHarness, t as init_harness_resolve } from "./harness-resolve-SkRJm4a7.js";
2
+ import { Hr as init_paths, Rr as encodeClaudeProjectDir, br as AGENTS_DIR, kr as OVERDECK_HOME, yr as init_errors } from "./config-yaml-C_djSurJ.js";
3
+ import { E as listPaneValues, L as sessionExists, w as killSession, x as init_tmux } from "./tmux-BVc-NeKM.js";
4
+ import { o as getPricingSync, s as init_cost, t as calculateCostSync } from "./cost-CaiG63FG.js";
5
+ import { a as readCavemanVariant, n as init_workspace } from "./workspace-CY_2-Ddv.js";
6
+ import { n as resolveHarness, t as init_harness_resolve } from "./harness-resolve-CvGXUnAF.js";
7
7
  import { Effect } from "effect";
8
8
  import { appendFileSync, existsSync, mkdirSync, readFileSync, readdirSync, statSync, writeFileSync } from "fs";
9
9
  import { basename, join } from "path";
@@ -325,7 +325,7 @@ function roleForSpecialistModel(specialistType) {
325
325
  return { role: "work" };
326
326
  }
327
327
  async function buildSpecialistBaseCommand(specialistType, model, sessionName) {
328
- const { getAgentRuntimeBaseCommand } = await import("./agents-C4kZ8a2r.js");
328
+ const { getAgentRuntimeBaseCommand } = await import("./agents-CxbuBjID.js");
329
329
  const role = roleForSpecialistModel(specialistType).role;
330
330
  const harness = await resolveHarness({
331
331
  model,
@@ -724,7 +724,7 @@ async function signalSpecialistCompletion(projectKey, specialistType, result, is
724
724
  const resolvedTmuxSession = metadata.tmuxSession ?? getTmuxSessionName(specialistType, projectKey, issueId);
725
725
  updateRunStatus(projectKey, registryKey, result.status);
726
726
  if (metadata.currentRun) try {
727
- const { finalizeRunLogSync } = await import("./specialist-logs-CFJjGsLC.js");
727
+ const { finalizeRunLogSync } = await import("./specialist-logs-B24R2B9Y.js");
728
728
  finalizeRunLogSync(projectKey, specialistType, metadata.currentRun, {
729
729
  status: result.status,
730
730
  notes: result.notes
@@ -734,7 +734,7 @@ async function signalSpecialistCompletion(projectKey, specialistType, result, is
734
734
  }
735
735
  setCurrentRun(projectKey, registryKey, null);
736
736
  updateRunMetadata(projectKey, registryKey, { currentActivity: null });
737
- import("./agents-C4kZ8a2r.js").then(({ saveAgentRuntimeState }) => {
737
+ import("./agents-CxbuBjID.js").then(({ saveAgentRuntimeState }) => {
738
738
  saveAgentRuntimeState(resolvedTmuxSession, {
739
739
  state: "idle",
740
740
  lastActivity: (/* @__PURE__ */ new Date()).toISOString(),
@@ -765,7 +765,7 @@ async function terminateSpecialist(projectKey, specialistType, issueId) {
765
765
  console.error(`[specialist] Failed to kill tmux session ${tmuxSession}:`, error);
766
766
  }
767
767
  if (metadata.currentRun) {
768
- const { finalizeRunLogSync } = await import("./specialist-logs-CFJjGsLC.js");
768
+ const { finalizeRunLogSync } = await import("./specialist-logs-B24R2B9Y.js");
769
769
  try {
770
770
  finalizeRunLogSync(projectKey, specialistType, metadata.currentRun, {
771
771
  status: metadata.lastRunStatus || "incomplete",
@@ -779,12 +779,12 @@ async function terminateSpecialist(projectKey, specialistType, issueId) {
779
779
  updateRunMetadata(projectKey, registryKey, { currentActivity: null });
780
780
  const key = `${projectKey}-${specialistType}`;
781
781
  gracePeriodStates.delete(key);
782
- const { saveAgentRuntimeState } = await import("./agents-C4kZ8a2r.js");
782
+ const { saveAgentRuntimeState } = await import("./agents-CxbuBjID.js");
783
783
  saveAgentRuntimeState(tmuxSession, {
784
784
  state: "suspended",
785
785
  lastActivity: (/* @__PURE__ */ new Date()).toISOString()
786
786
  });
787
- const { scheduleDigestGeneration } = await import("./specialist-context-BfkTA81h.js");
787
+ const { scheduleDigestGeneration } = await import("./specialist-context-fmb03vXQ.js");
788
788
  scheduleDigestGeneration(projectKey, specialistType);
789
789
  scheduleLogCleanup(projectKey, specialistType);
790
790
  }
@@ -797,8 +797,8 @@ async function terminateSpecialist(projectKey, specialistType, issueId) {
797
797
  function scheduleLogCleanup(projectKey, specialistType) {
798
798
  Promise.resolve().then(async () => {
799
799
  try {
800
- const { cleanupOldLogsSync } = await import("./specialist-logs-CFJjGsLC.js");
801
- const { getSpecialistRetention } = await import("./projects-Bqfwuqet.js");
800
+ const { cleanupOldLogsSync } = await import("./specialist-logs-B24R2B9Y.js");
801
+ const { getSpecialistRetention } = await import("./projects-BqRMlDOv.js");
802
802
  const retention = getSpecialistRetention(projectKey);
803
803
  const deleted = cleanupOldLogsSync(projectKey, specialistType, {
804
804
  maxDays: retention.max_days,
@@ -952,7 +952,7 @@ function listSpecialistsForProject(projectKey) {
952
952
  */
953
953
  async function getAllProjectSpecialistStatuses() {
954
954
  const registry = loadRegistry();
955
- const { getAgentRuntimeStateSync } = await import("./agents-C4kZ8a2r.js");
955
+ const { getAgentRuntimeStateSync } = await import("./agents-CxbuBjID.js");
956
956
  const results = [];
957
957
  for (const [projectKey, specialists] of Object.entries(registry.projects)) for (const [registryKey, metadata] of Object.entries(specialists)) {
958
958
  const { specialistType, issueId, role } = parseSpecialistRegistryKey(registryKey);
@@ -1089,7 +1089,7 @@ async function getSpecialistStatus(name, projectKey) {
1089
1089
  const sessionId = readRecordedClaudeSessionId(getTmuxSessionName(name, projectKey));
1090
1090
  const running = await isRunning(name, projectKey);
1091
1091
  const contextTokens = countContextTokens(name);
1092
- const { getAgentRuntimeStateSync } = await import("./agents-C4kZ8a2r.js");
1092
+ const { getAgentRuntimeStateSync } = await import("./agents-CxbuBjID.js");
1093
1093
  const runtimeState = getAgentRuntimeStateSync(getTmuxSessionName(name, projectKey));
1094
1094
  let state;
1095
1095
  if (runtimeState) switch (runtimeState.state) {
@@ -1169,7 +1169,7 @@ async function sendFeedbackToAgent(feedback) {
1169
1169
  }
1170
1170
  const agentSession = `agent-${toIssueId.toLowerCase()}`;
1171
1171
  const feedbackMessage = formatFeedbackForAgent(fullFeedback);
1172
- const { writeFeedbackFile } = await import("./feedback-writer-DMBdS_jL.js");
1172
+ const { writeFeedbackFile } = await import("./feedback-writer-DCyd75yJ.js");
1173
1173
  const specialist = {
1174
1174
  "review-agent": "review-agent",
1175
1175
  "test-agent": "test-agent",
@@ -1188,7 +1188,7 @@ async function sendFeedbackToAgent(feedback) {
1188
1188
  return false;
1189
1189
  }
1190
1190
  try {
1191
- const { messageAgent } = await import("./agents-C4kZ8a2r.js");
1191
+ const { messageAgent } = await import("./agents-CxbuBjID.js");
1192
1192
  await messageAgent(agentSession, `SPECIALIST FEEDBACK: ${fromSpecialist} reported ${feedback.feedbackType.toUpperCase()} for ${toIssueId}.\n\nMUST READ: ${fileResult.filePath}\n\nUse your Read tool to open this file, read every line, then address the feedback and continue working. Do NOT stop at the prompt.`);
1193
1193
  console.log(`[specialist] Sent feedback from ${fromSpecialist} to ${agentSession} (file: ${fileResult.filePath})`);
1194
1194
  return true;
@@ -1307,4 +1307,4 @@ var init_specialists = __esmMin((() => {
1307
1307
  //#endregion
1308
1308
  export { updateRunMetadata as $, isEnabled as A, pauseGracePeriod as B, getSpecialistState as C, initSpecialistsDirectory as D, incrementProjectRunCount as E, listSpecialistsForProject as F, sendFeedbackToAgent as G, recordWake as H, loadRegistry as I, specialists_exports as J, setCurrentRun as K, makeSpecialistRegistryKey as L, isProjectSpecialistActivelyRunning as M, isRunning as N, init_specialists as O, listProjectsWithSpecialists as P, updateProjectSpecialistMetadata as Q, parseReviewerSessionName as R, getSpecialistMetadata as S, getTmuxSessionName as T, resumeGracePeriod as U, pruneSpecialistRegistryEntriesForIssue as V, saveRegistry as W, terminateSpecialist as X, startGracePeriod as Y, updateContextTokens as Z, getPendingFeedback as _, disableSpecialist as a, init_jsonl_parser as at, getReviewerSessionName as b, exitGracePeriod as c, getAllProjectSpecialistStatuses as d, updateRunStatus as et, getAllSpecialistStatus as f, getGracePeriodState as g, getFeedbackStats as h, countContextTokens as i, getSessionFilesSync as it, isInitialized as j, initializeEnabledSpecialists as k, findActiveRegistryKey as l, getEnabledSpecialists as m, buildSpecialistBaseCommand as n, getActiveSessionModelSync as nt, enableSpecialist as o, normalizeModelName as ot, getAllSpecialists as p, signalSpecialistCompletion as q, buildSpecialistCavemanExports as r, getProjectDirsSync as rt, ensureProjectSpecialistDir as s, parseClaudeSessionSync as st, REVIEWER_ROLES as t, updateSpecialistMetadata as tt, findSessionFile as u, getProjectSpecialistDir as v, getSpecialistStatus as w, getRunMetadata as x, getProjectSpecialistMetadata as y, parseSpecialistRegistryKey as z };
1309
1309
 
1310
- //# sourceMappingURL=specialists-DjHbwQ_p.js.map
1310
+ //# sourceMappingURL=specialists-BGNZ0_ZW.js.map