@overdeck/desktop 0.45.13 → 0.45.15

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 (321) hide show
  1. package/package.json +1 -1
  2. package/server/{acceptance-criteria-CfujPRrz.js → acceptance-criteria-DHZk2ceV.js} +2 -2
  3. package/server/{advancing-selfheal-Bn5QiLtn.js → advancing-selfheal-CSuZ31bB.js} +5 -5
  4. package/server/{agent-gc-Cl9Nm0Zu.js → agent-gc-D_DxfBHR.js} +3 -3
  5. package/server/{agent-state-C6Rm6FPR.js → agent-state-EP2QFV9n.js} +1 -1
  6. package/server/{agent-state-service-JhFzYCP_.js → agent-state-service-BZkvgQf4.js} +5 -5
  7. package/server/{agent-state-service-U8feBf8t.js → agent-state-service-C_2ZAQRP.js} +1 -1
  8. package/server/{agents-DqQa4Dq_.js → agents-CsOzAmRg.js} +117 -74
  9. package/server/{agents-CxbuBjID.js → agents-DCvyTXNU.js} +1 -1
  10. package/server/{archive-planning-DmpT1_14.js → archive-planning-CTILQRnV.js} +1 -1
  11. package/server/{archive-planning-CPitEZo4.js → archive-planning-DkivCk1A.js} +4 -4
  12. package/server/{artifact-index-jobs-sMnNtPhy.js → artifact-index-jobs-CmsvQ1ey.js} +2 -2
  13. package/server/auto-commit-QAfsu3Sb.js +3 -0
  14. package/server/{backlog-auto-trigger-Cf9C8fwD.js → backlog-auto-trigger-ueRaT8Dy.js} +2 -2
  15. package/server/{bd-process-lock-D1aJxeYv.js → bd-process-lock-D3S4T4o-.js} +32 -11
  16. package/server/{beads-DRoj6-e1.js → beads-BGGxrkZ5.js} +96 -196
  17. package/server/{beads-CivpXztb.js → beads-CYsLiyIM.js} +1 -1
  18. package/server/{beads-query-tOsAYP5h.js → beads-query-B1DlJVp9.js} +24 -99
  19. package/server/beads-restore-CyygSmmn.js +23 -0
  20. package/server/{behavior-D3d2mVyD.js → behavior-Cpj03N4v.js} +3 -3
  21. package/server/{briefing-freshness-BL3Q6p7R.js → briefing-freshness-Kh5V8RTh.js} +4 -4
  22. package/server/{checkpoint-manager-j5URlFY7.js → checkpoint-manager-CAFos8e1.js} +1 -1
  23. package/server/{checkpoint-manager-DCxjQvP_.js → checkpoint-manager-fu9oVsR-.js} +2 -2
  24. package/server/checkpoint-worker.js +1 -1
  25. package/server/{checkpoints-BoX1H2Hf.js → checkpoints-1BqOlS4q.js} +2 -2
  26. package/server/{checkpoints-Bu_M_Q9W.js → checkpoints-DvhGi8P_.js} +1 -1
  27. package/server/{claude-hooks-provision-D-jGXmu1.js → claude-hooks-provision-s_wdpeVj.js} +2 -2
  28. package/server/{claude-permissions-DxIjkOVl.js → claude-permissions-CaWqysff.js} +2 -2
  29. package/server/{claude-settings-overlay-5b9X2S0C.js → claude-settings-overlay-BbA4FbVI.js} +1 -1
  30. package/server/{claude-settings-overlay-BPDS6GfE.js → claude-settings-overlay-CcTf0xzG.js} +2 -2
  31. package/server/{cli-s7bPWy-E.js → cli-BwCvCUBK.js} +9 -9
  32. package/server/cli-ClIQwgMI.js +3 -0
  33. package/server/{cliproxy-BituqWtR.js → cliproxy-BsoNNDAj.js} +2 -2
  34. package/server/{cliproxy-D3sHB0sI.js → cliproxy-C2xC-3vH.js} +1 -1
  35. package/server/{close-issue-CrBE7voz.js → close-issue-BleIwP3f.js} +5 -5
  36. package/server/{closed-issue-reaper-BRQBc7Xa.js → closed-issue-reaper-BwUUvjEW.js} +1 -1
  37. package/server/{closed-issue-reaper-DX9mYUji.js → closed-issue-reaper-mC5pujeb.js} +102 -30
  38. package/server/{codex-Bi1ITSOo.js → codex-B7DTpwEw.js} +1 -1
  39. package/server/{codex-CO0HrK3j.js → codex-DW60_5j2.js} +5 -5
  40. package/server/{compact-beads-CrA8-k10.js → compact-beads-CK_hHEnB.js} +1 -1
  41. package/server/{compact-beads-DUkCUFxA.js → compact-beads-DKL54y6j.js} +15 -8
  42. package/server/{config-B4_d7z7z.js → config-BRNQJXhA.js} +1 -1
  43. package/server/{config-DsCxzjXK.js → config-ZNnMpIlh.js} +2 -2
  44. package/server/{config-yaml-C_djSurJ.js → config-yaml-Dcz-8uit.js} +29 -3
  45. package/server/{conflict-gate-CpOn9KC-.js → conflict-gate-DGT8jCLp.js} +1 -1
  46. package/server/{conflict-gate-D47Kl78u.js → conflict-gate-DTje2Ll7.js} +3 -3
  47. package/server/{context-layers-BNhUBTkf.js → context-layers-BdUCQ-cl.js} +3 -3
  48. package/server/{context-layers-CHl3Nroz.js → context-layers-ByOWUjUg.js} +2 -2
  49. package/server/{control-settings-KyYNXZLv.js → control-settings-DwkAeooY.js} +4 -4
  50. package/server/{conversation-compaction-D3aS5PnS.js → conversation-compaction-OTYgd6eg.js} +8 -8
  51. package/server/{conversation-compaction-D4Wed1BJ.js → conversation-compaction-WYQZUVDm.js} +1 -1
  52. package/server/{conversation-service-CFZIjs-M.js → conversation-service-BR1OgvxO.js} +5 -5
  53. package/server/{conversation-service-DcDB5usR.js → conversation-service-C_kNZPLx.js} +1 -1
  54. package/server/{conversations-BSOU5qnu.js → conversations-DG2M8WnT.js} +4 -4
  55. package/server/{conversations-BbDPrz89.js → conversations-izHvSoAR.js} +1 -1
  56. package/server/{cost-BE_ulOrw.js → cost-B2mj17iG.js} +3 -3
  57. package/server/{cost-CaiG63FG.js → cost-DQ2ajr_m.js} +2 -2
  58. package/server/{cost-sync-D6AX8jv-.js → cost-sync-gTayEuWP.js} +3 -3
  59. package/server/{dag-BQFtXOuJ.js → dag-CqTehWpY.js} +3 -3
  60. package/server/{dangerous-git-ops-04Ba-Qu3.js → dangerous-git-ops-DDWQlPC3.js} +1 -1
  61. package/server/dashboard-db-worker.js +6 -6
  62. package/server/{deacon-Bz-6Wjmn.js → deacon-BqW9HMew.js} +3 -3
  63. package/server/{deacon-2EvA9Ci3.js → deacon-DrKDBeJL.js} +161 -1594
  64. package/server/{deacon-nudge-log-B-naf89q.js → deacon-nudge-log-D1wEK6zF.js} +1 -1
  65. package/server/deacon-swarm-BY5hKNaU.js +2 -0
  66. package/server/{deacon-swarm-DYYOzHRH.js → deacon-swarm-CO_A7xyd.js} +12 -105
  67. package/server/deacon.js +7 -7
  68. package/server/{devcontainer-renderer-Dx0C7VWJ.js → devcontainer-renderer-BQolp_qZ.js} +3 -3
  69. package/server/{dist-ya66D9ze.js → dist-Bc32rWJB.js} +1 -1
  70. package/server/dist-DGTwcZhI.js +3 -0
  71. package/server/{docker-D2TbXDO6.js → docker-s-esqZ__.js} +67 -28
  72. package/server/{ensure-devcontainer-BTiMfFp5.js → ensure-devcontainer-DA4-jF6R.js} +4 -4
  73. package/server/{ensure-devcontainer-BIShzs3M.js → ensure-devcontainer-pUVaT0h3.js} +1 -1
  74. package/server/{esm-shims-DiV9jHa_.js → esm-shims-CJHy8CZY.js} +1 -1
  75. package/server/{event-store-C02Gprug.js → event-store-CcJAhKCl.js} +1 -1
  76. package/server/{event-store-C71x6h0i.js → event-store-DRte2Rwt.js} +3 -3
  77. package/server/{events-BFDuPV6n.js → events-Bej1w_k8.js} +3 -3
  78. package/server/{events-D2gP2-Yv.js → events-CtsLScn8.js} +1 -1
  79. package/server/export-Dx_qJ3h8.js +87 -0
  80. package/server/{factory-ByfbrCab.js → factory-FN727tWr.js} +4 -4
  81. package/server/{feature-registry-population-CSH66UO8.js → feature-registry-population-ie-yBcQC.js} +4 -4
  82. package/server/{feature-registry-storage-DW7dUefc.js → feature-registry-storage-CkZTFSsn.js} +2 -2
  83. package/server/{features-x_aLR7U9.js → features-Dtm9ABuz.js} +2 -2
  84. package/server/{feedback-target-BFo9fScH.js → feedback-target-BYtpyt1i.js} +6 -6
  85. package/server/{feedback-target-C4VMPTZu.js → feedback-target-DVJQDiE4.js} +1 -1
  86. package/server/{feedback-writer-DCyd75yJ.js → feedback-writer-DOUhyIW2.js} +1 -1
  87. package/server/{feedback-writer-B9ZqnnX3.js → feedback-writer-fdE1BzeL.js} +4 -4
  88. package/server/{flywheel-DB48X7Nn.js → flywheel-Bi82iiNl.js} +1 -1
  89. package/server/{flywheel-D9NKvWqb.js → flywheel-Bv3wv2S6.js} +23 -15
  90. package/server/{flywheel-DwQCoZQG.js → flywheel-CUErLAyN.js} +13 -13
  91. package/server/{flywheel-merge-order-DrjmFXg4.js → flywheel-merge-order-BaEN3iyN.js} +7 -7
  92. package/server/{flywheel-merge-order-f1bi5XIf.js → flywheel-merge-order-DXjeBnJ1.js} +1 -1
  93. package/server/{forge-C-SoKy8U.js → forge-ButEdJ31.js} +2 -2
  94. package/server/forge-XlDgPQWs.js +2 -0
  95. package/server/{from-fu7ZumnY.js → from-CbtTxftl.js} +1 -1
  96. package/server/{fts-db-CL-YzSRG.js → fts-db-CBgBLZcL.js} +2 -2
  97. package/server/{fts-operations-Bylu5NjM.js → fts-operations-CI9Xuo_1.js} +2 -2
  98. package/server/{git-utils-Ym380hJZ.js → git-utils-BCLRWQ-y.js} +1 -1
  99. package/server/{git-utils-C8koBs8j.js → git-utils-ClfpP47N.js} +2 -2
  100. package/server/{github-app-DIr70YLg.js → github-app-DRD2woO0.js} +1 -1
  101. package/server/{github-app-DhycHVLF.js → github-app-DscZ0_B6.js} +2 -2
  102. package/server/{github-client-7gkcXcBS.js → github-client-DpiZnxGH.js} +2 -2
  103. package/server/{github-client-Ji9lUTNF.js → github-client-iFRw8f7e.js} +1 -1
  104. package/server/{github-pr-lookup-rt7T9FwA.js → github-pr-lookup-D-EBexxC.js} +2 -2
  105. package/server/{harness-resolve-CvGXUnAF.js → harness-resolve-iMjyNUJ2.js} +3 -3
  106. package/server/{health-events-DDfkoO5a.js → health-events-B_WsQyYm.js} +1 -1
  107. package/server/{health-events-D4E1DLN-.js → health-events-CRdxDFN2.js} +2 -2
  108. package/server/{hooks-DvdnCVv6.js → hooks-C1ScyVxP.js} +1 -1
  109. package/server/{hooks-D_6pAbuJ.js → hooks-C9b7Vqpw.js} +2 -2
  110. package/server/hume-K1pi8jC4.js +3 -0
  111. package/server/{hume-DkVOs1Qi.js → hume-TQ5pvOZ_.js} +2 -2
  112. package/server/{idle-stack-reaper-cDRXDpgE.js → idle-stack-reaper-B1kG7B_X.js} +2 -2
  113. package/server/{idle-stack-reaper-DNbV9-fj.js → idle-stack-reaper-iFVOAoJy.js} +1 -1
  114. package/server/{infra-Clew3DpF.js → infra-bpq1MHKU.js} +3 -3
  115. package/server/{injection-QCIHOpk6.js → injection-BLWfwTVZ.js} +1 -1
  116. package/server/{injection-ql0Nddcn.js → injection-DJqWld1v.js} +7 -7
  117. package/server/inspect-agent-477VxQim.js +2 -0
  118. package/server/{inspect-agent-DY18KEx4.js → inspect-agent-DytCsltn.js} +9 -9
  119. package/server/{internal-token-C90jBp-y.js → internal-token-CCaWaTwE.js} +1 -1
  120. package/server/{internal-token-BeXjPLKy.js → internal-token-CjlhdufS.js} +2 -2
  121. package/server/{io-CbAFXQge.js → io-BiQ2Cs3k.js} +2 -2
  122. package/server/{issue-closed-BYC2TCk-.js → issue-closed-FApNiOOs.js} +4 -4
  123. package/server/{issue-lifecycle-CLHbj8RS.js → issue-lifecycle-BkFWNjlD.js} +1 -1
  124. package/server/{issue-lifecycle-BoJa6qIt.js → issue-lifecycle-C-K53ASY.js} +21 -21
  125. package/server/{issue-service-singleton-BS9NENuR.js → issue-service-singleton-CuHGpJJP.js} +8 -8
  126. package/server/{issue-service-singleton-3g_CCY-1.js → issue-service-singleton-bG1WdSdQ.js} +1 -1
  127. package/server/{issues-BPcqPqfV.js → issues-CwQMphDH.js} +2 -2
  128. package/server/jsonl-parser-dNIjHgym.js +245 -0
  129. package/server/{label-cleanup-CwiCSZrb.js → label-cleanup-DYvAZknd.js} +3 -3
  130. package/server/{layers-OHHLphl0.js → layers-CD6FysRU.js} +2 -2
  131. package/server/{lifecycle-B8IdvUbt.js → lifecycle-C_73gi-C.js} +7 -7
  132. package/server/{lifecycle-io-BMCH1Bxg.js → lifecycle-io-C_Wu0_i-.js} +1 -1
  133. package/server/{lifecycle-io-C73m5e6R.js → lifecycle-io-CeYxP3cE.js} +4 -4
  134. package/server/{linear-client-BMxgycoy.js → linear-client-4qoKnuQu.js} +1 -1
  135. package/server/{linear-client-CgQlM4aT.js → linear-client-EtVyblVz.js} +2 -2
  136. package/server/memory-fts-worker.js +1 -1
  137. package/server/{merge-B7Oi-g6k.js → merge-7rqkTUm2.js} +3 -3
  138. package/server/{merge-agent-Bwm34MZ5.js → merge-agent-36wfYm2u.js} +1 -1
  139. package/server/{merge-agent-DNFFsiEm.js → merge-agent-4Zhlgvqp.js} +28 -28
  140. package/server/{merge-batch-BpYXUaqJ.js → merge-batch-itfnwdsT.js} +1 -1
  141. package/server/{merge-blockers-DIOZmqdK.js → merge-blockers-Bto_Oe_o.js} +2 -2
  142. package/server/{merge-BRkVaIx-.js → merge-brm721Es.js} +1 -1
  143. package/server/merge-ops-PzqsW69V.js +2 -0
  144. package/server/{merge-rebase-C8WH39MB.js → merge-rebase-Czfqfe4q.js} +2 -2
  145. package/server/{merge-set-CsEE2CyQ.js → merge-set-BIkGQL9j.js} +3 -3
  146. package/server/{merge-set-DOsBTBQc.js → merge-set-G1RHcu3D.js} +1 -1
  147. package/server/{merge-sync-C2B322Ot.js → merge-sync-B43Dybea.js} +2 -2
  148. package/server/{merge-sync-CcLM2vwW.js → merge-sync-DIrmlZUr.js} +1 -1
  149. package/server/{merge-train-BIm7-7cy.js → merge-train-DGqVuNZV.js} +3 -3
  150. package/server/{merge-train-deps-DG1oQ2DT.js → merge-train-deps-q15XLnAS.js} +4 -4
  151. package/server/{merge-verification-BAbjxEd5.js → merge-verification-Cqfxx6bE.js} +4 -4
  152. package/server/{multipart-parser-jKtKAXtl.js → multipart-parser-CiPxxfUH.js} +2 -2
  153. package/server/node_modules/.package-lock.json +1 -1
  154. package/server/{orphan-proposed-reconciler-zHrwJ3xr.js → orphan-proposed-reconciler-BWWHn4Lr.js} +15 -39
  155. package/server/{orphan-proposed-reconciler-BqVGaOIj.js → orphan-proposed-reconciler-DAD9FJtQ.js} +1 -1
  156. package/server/package-lock.json +2 -2
  157. package/server/package.json +1 -1
  158. package/server/{pan-dir-BlNrLzW7.js → pan-dir-Bj7Hy8iu.js} +3 -3
  159. package/server/{paths-CiVeo4N_.js → paths-C9DkhIOT.js} +2 -2
  160. package/server/{pickup-KLRUhThD.js → pickup-CKRuGDsB.js} +1 -1
  161. package/server/{pipeline-notifier-nkWCe042.js → pipeline-notifier-BkKbQ8ji.js} +1 -1
  162. package/server/{pipeline-notifier-DBF6dHxH.js → pipeline-notifier-CAurUste.js} +2 -2
  163. package/server/project-pipelines-BRWaGmI4.js +162 -0
  164. package/server/projects-KJ94e50I.js +3 -0
  165. package/server/{prompts-CXbQvevY.js → prompts-DfI5qbTW.js} +2 -2
  166. package/server/{providers-CUdAb5Qu.js → providers-CWDXoaMA.js} +7 -7
  167. package/server/providers-D-5txBRc.js +3 -0
  168. package/server/public/assets/{chunk-BO2N2NFS-C-6y8VFI.js → chunk-BO2N2NFS-ClukPsZQ.js} +4 -4
  169. package/server/public/assets/{diagram-OG6HWLK6-NACO1xW5.js → diagram-OG6HWLK6-Avtvq2qI.js} +1 -1
  170. package/server/public/assets/{dist-DQD-ZjQY.js → dist-BEHQuasD.js} +3 -3
  171. package/server/public/assets/{dist-D1FjqGgm.js → dist-BvmY-qb1.js} +1 -1
  172. package/server/public/assets/{ganttDiagram-6RSMTGT7-CEMAKgmE.js → ganttDiagram-6RSMTGT7-7KhCd0fH.js} +1 -1
  173. package/server/public/assets/{highlighted-body-OFNGDK62-D5lC7FW8.js → highlighted-body-OFNGDK62-iQoBMTf0.js} +1 -1
  174. package/server/public/assets/index-DUFDmvmH.css +1 -0
  175. package/server/public/assets/{index-BDqWyuZQ.js → index-DnTZ2QeN.js} +132 -132
  176. package/server/public/assets/{linear-DDHAMRPB.js → linear-CiJHW9g5.js} +1 -1
  177. package/server/public/assets/mermaid-GHXKKRXX-DZJOwgBG.js +1 -0
  178. package/server/public/assets/{pieDiagram-4H26LBE5-DwBdeKBb.js → pieDiagram-4H26LBE5-BOhmvUhW.js} +1 -1
  179. package/server/public/assets/{prod-DAZt0c4G.js → prod-DmLBBqat.js} +4 -4
  180. package/server/public/assets/{quadrantDiagram-W4KKPZXB-CNDLp-_m.js → quadrantDiagram-W4KKPZXB-Cjku660G.js} +1 -1
  181. package/server/public/assets/{sankeyDiagram-5OEKKPKP-oIUL_uO1.js → sankeyDiagram-5OEKKPKP-D52w5oPh.js} +1 -1
  182. package/server/public/assets/{xychartDiagram-2RQKCTM6-B-IM6Cck.js → xychartDiagram-2RQKCTM6-BTO07_Iv.js} +1 -1
  183. package/server/public/index.html +2 -2
  184. package/server/{pull-requests-kTRl7cWC.js → pull-requests-Bmre-Xlz.js} +3 -3
  185. package/server/{pull-requests-DZ-V7_LB.js → pull-requests-CKZPWhjD.js} +1 -1
  186. package/server/{rally-xCTZ-UcI.js → rally-BBd9tQ__.js} +3 -3
  187. package/server/rally-Dc2Wnxw2.js +3 -0
  188. package/server/{rally-api-jOk4vit_.js → rally-api-DDc85HIz.js} +1 -1
  189. package/server/{rally-api-DpZo3WwF.js → rally-api-DxZFObI_.js} +2 -2
  190. package/server/{rally-client-BQjm3aaq.js → rally-client-BADHn0m_.js} +1 -1
  191. package/server/{rally-client-CoWZeVEj.js → rally-client-DvvLiAQP.js} +4 -4
  192. package/server/{reap-terminal-sessions-CAmURC2h.js → reap-terminal-sessions-D6JDJsqF.js} +1 -1
  193. package/server/{reap-terminal-sessions-BwJb2DLJ.js → reap-terminal-sessions-D_xvy-Mk.js} +1 -1
  194. package/server/{rebuild-stack-BZ7j27xY.js → rebuild-stack-D19i080j.js} +6 -6
  195. package/server/{rebuild-stack-r-cxcr26.js → rebuild-stack-GOsWqXi3.js} +1 -1
  196. package/server/{reconstruct-cache-13EkMg_i.js → reconstruct-cache-lQrG4xGg.js} +6 -6
  197. package/server/record-pyB6VA32.js +3 -0
  198. package/server/recovery-trip-Dfh1tNHn.js +98 -0
  199. package/server/{release-engine-YLTnEO_K.js → release-engine-DxcMWRuK.js} +5 -5
  200. package/server/{release-set-DwvT_Opu.js → release-set-BYsgX7o6.js} +3 -3
  201. package/server/{remote-9u9WL0NJ.js → remote-8W2Yhygw.js} +3 -3
  202. package/server/{remote-B062S1Kc.js → remote-DmeL21dF.js} +3 -3
  203. package/server/{remote-agents-BBTg-vLT.js → remote-agents-BfQBE6MN.js} +5 -5
  204. package/server/{remote-agents-B4eWgwNd.js → remote-agents-DlvbzO7m.js} +1 -1
  205. package/server/{remote-completion-B0rmBnbL.js → remote-completion-BgkiSQmx.js} +12 -12
  206. package/server/resolver-dTpSSzaH.js +158 -0
  207. package/server/resume-DhcIqsTm.js +3 -0
  208. package/server/{review-agent-tfR5RDzG.js → review-agent-D025Wt7w.js} +22 -22
  209. package/server/{review-agent-Bf9XjLnl.js → review-agent-Rub0OpZc.js} +1 -1
  210. package/server/{review-artifacts-D0_IE6DQ.js → review-artifacts-CX951jTU.js} +6 -6
  211. package/server/{review-context-CXO5ml5D.js → review-context-DGGGR_w5.js} +7 -7
  212. package/server/{review-monitor-DfFUSx0J.js → review-monitor-0_qqMcnS.js} +2 -2
  213. package/server/{review-status-BcfwcAcO.js → review-status-4qqLkRMu.js} +17 -17
  214. package/server/{review-status-B0Axo-Ma.js → review-status-Br6lAFGO.js} +1 -1
  215. package/server/{review-status-enrichment-Cp5kFTGl.js → review-status-enrichment-Cr8m3uVL.js} +3 -3
  216. package/server/{review-status-sync-Bc0c_u12.js → review-status-sync-D3KUhsdA.js} +1 -1
  217. package/server/{review-status-sync-CEFty1pW.js → review-status-sync-OC-l1lNt.js} +2 -2
  218. package/server/{review-verdict-feedback-BOKRLLDf.js → review-verdict-feedback-DrWMuRaj.js} +6 -6
  219. package/server/{review-verdict-feedback-BnGtT0vN.js → review-verdict-feedback-YOzmsq9G.js} +1 -1
  220. package/server/{rollup-C22QDVxh.js → rollup-CnxbwaLH.js} +8 -8
  221. package/server/{rollup-BVqFuiS9.js → rollup-DmazRY0j.js} +1 -1
  222. package/server/{scanner-BLCnuXqY.js → scanner-DE1MqAaF.js} +7 -7
  223. package/server/{sequence-io-BozlUb6f.js → sequence-io-C0uoqfGx.js} +4 -4
  224. package/server/{sequencer-agent-BEDEHfd2.js → sequencer-agent-i-b2u4SJ.js} +10 -6
  225. package/server/server.js +1020 -293
  226. package/server/{service-C8jKYZ0w.js → service-D0_gh2tl.js} +1668 -1408
  227. package/server/{session-fork-BDGksK4e.js → session-fork-DZ12vipL.js} +2 -2
  228. package/server/{settings-CSLhh6qR.js → settings-ByqjPtFO.js} +2 -2
  229. package/server/{settings-DrRQCren.js → settings-DCC4BAqj.js} +3 -3
  230. package/server/settings-yydgaqhv.js +2 -0
  231. package/server/{shadow-engineering-BMcBN-Of.js → shadow-engineering-BhnmtW5m.js} +2 -2
  232. package/server/{shadow-state-CHqWHD3T.js → shadow-state-ByXZehsy.js} +1 -1
  233. package/server/{shadow-state-B4ayC7nx.js → shadow-state-CKm8xWX9.js} +2 -2
  234. package/server/{ship-log-CDVmOlZP.js → ship-log-DE_0Cv_i.js} +1 -1
  235. package/server/{smart-compaction-C-F5sP9P.js → smart-compaction-D5Zen3AA.js} +7 -7
  236. package/server/{smart-compaction-V9DBrGcr.js → smart-compaction-h4_ca6Uk.js} +1 -1
  237. package/server/{spawn-planning-session-Bz4_JES2.js → spawn-planning-session-Bgi7Ub02.js} +1 -1
  238. package/server/{spawn-planning-session-dSpOU0lP.js → spawn-planning-session-Dueit4WX.js} +15 -15
  239. package/server/{specialist-completion-Coz3eTSr.js → specialist-completion-BZ8M-WZ0.js} +1 -1
  240. package/server/{specialist-context-fmb03vXQ.js → specialist-context-BMq83C58.js} +5 -5
  241. package/server/{specialist-handoff-logger-B9HK_lRu.js → specialist-handoff-logger-BxX1YefH.js} +2 -2
  242. package/server/{specialist-logs-B24R2B9Y.js → specialist-logs-BWZYcJ6P.js} +3 -3
  243. package/server/{specialists-Chvvwf5z.js → specialists-8ZAguXef.js} +1 -1
  244. package/server/{specialists-CL7E8yUg.js → specialists-BudKrjOu.js} +76 -76
  245. package/server/{specialists-BGNZ0_ZW.js → specialists-DrPrC9Y9.js} +20 -256
  246. package/server/{specialists-B6f5-5nG.js → specialists-ZkW4Mb7U.js} +1 -1
  247. package/server/specs-DwoAEGrW.js +3 -0
  248. package/server/{src-DGAEtABV.js → src-DHn4Rd2F.js} +13 -2
  249. package/server/{src-D-VXCC9C.js → src-DNUUqkec.js} +6 -6
  250. package/server/{src-BVxZuHMg.js → src-Dv6L03vW.js} +3 -3
  251. package/server/{stack-health-BKbTTOT2.js → stack-health-Dclm7_tu.js} +1 -1
  252. package/server/{stack-health-C-le5erA.js → stack-health-DxsTx7II.js} +2 -2
  253. package/server/{state-home-CoyWsECg.js → state-home-CRowbXqU.js} +6 -6
  254. package/server/stuck-remediation-CFWUP8_I.js +1491 -0
  255. package/server/stuck-remediation-CLHd-lrF.js +2 -0
  256. package/server/{summary-fork-BF_0vxrq.js → summary-fork-CKc01Our.js} +2 -2
  257. package/server/{summary-fork-BlE30Q-I.js → summary-fork-CtCwBJ2Z.js} +8 -8
  258. package/server/{supervisor-BSeML_p0.js → supervisor-BA5D72Qa.js} +2 -2
  259. package/server/supervisor-DHjumXlL.js +2 -0
  260. package/server/{swarm-readiness-CQ4sjrXc.js → swarm-readiness-CL5sM9B1.js} +3 -3
  261. package/server/{system-prerequisites-DnmLYOnU.js → system-prerequisites-DmFSXIE5.js} +1 -1
  262. package/server/{teardown-workspace-CpcjDrZ4.js → teardown-workspace-DWmFJzTw.js} +37 -68
  263. package/server/{test-agent-queue-Bq298zZl.js → test-agent-queue-DjsQoV5X.js} +6 -6
  264. package/server/{test-verdict-CCDd25uN.js → test-verdict-BSqsQp3G.js} +1 -1
  265. package/server/{test-verdict-Bm4uv_AA.js → test-verdict-D1AmZ2c0.js} +1 -1
  266. package/server/{tldr-daemon-CaSUXd9r.js → tldr-daemon-C-MGomL8.js} +2 -2
  267. package/server/{tldr-daemon-Rn1Zue0P.js → tldr-daemon-DD9rI5gA.js} +1 -1
  268. package/server/{tmux-BVc-NeKM.js → tmux-C_d-lSIq.js} +2 -2
  269. package/server/{tmux-CbcrkUx5.js → tmux-x291Gjjb.js} +1 -1
  270. package/server/{token-D2OC_9ms.js → token-DfBf1bsd.js} +1 -1
  271. package/server/{tracker-config-C1Y_2CIo.js → tracker-config-CNODpd11.js} +2 -2
  272. package/server/{tracker-config-EsBoOWEy.js → tracker-config-DItsdelv.js} +1 -1
  273. package/server/{tracker-utils-DSb9cfrF.js → tracker-utils-B9ZoVA9b.js} +1 -1
  274. package/server/{tracker-utils-lph9C3Pw.js → tracker-utils-Ch2_5GGf.js} +2 -2
  275. package/server/{traefik-connect-5EP1WS_Z.js → traefik-connect-BF4x_LUQ.js} +1 -1
  276. package/server/{tunnel-DDe-ATFF.js → tunnel-YD80_IHr.js} +1 -1
  277. package/server/{tunnel-BFBCeo97.js → tunnel-r_5nHAI6.js} +3 -3
  278. package/server/{types-B5u3NxMl.js → types-33JEP4LZ.js} +1 -1
  279. package/server/{uat-train-8T24rPzc.js → uat-train-DDI00aqD.js} +1 -1
  280. package/server/{uat-train-DtKHHy1U.js → uat-train-DjkFWXge.js} +25 -25
  281. package/server/{validation-lyudzPvD.js → validation-DUTiJnyz.js} +4 -4
  282. package/server/{validation-COOXwNXU.js → validation-ict8hnXk.js} +1 -1
  283. package/server/{verification-runner-Dd1FX8Qk.js → verification-runner-ATaLbpr5.js} +1 -1
  284. package/server/{verification-runner-DO0nYTJx.js → verification-runner-inLgeQux.js} +12 -12
  285. package/server/{vtt-parser-C57tEF7-.js → vtt-parser-QnRfcjiU.js} +1 -1
  286. package/server/{work-agent-prompt-B2F3ZwKm.js → work-agent-prompt-fZljjA1_.js} +12 -12
  287. package/server/{workflows-Clz_AFwR.js → workflows-oBnJ7Tm0.js} +14 -14
  288. package/server/workflows-tU7KKxQi.js +2 -0
  289. package/server/{workspace-D0rCFemz.js → workspace-B2WOW9Hw.js} +1 -1
  290. package/server/{workspace-CY_2-Ddv.js → workspace-CNuW2j41.js} +3 -3
  291. package/server/{workspace-config-DA8U97k9.js → workspace-config-CBgMGhWs.js} +1 -1
  292. package/server/{workspace-manager-D6NgGkiF.js → workspace-manager-CB-R07R3.js} +12 -12
  293. package/server/{workspace-manager-BIfpzqdU.js → workspace-manager-DjUAJCSs.js} +1 -1
  294. package/server/{workspace-metadata-C8yn8kAH.js → workspace-metadata-9Nn5kgRl.js} +2 -2
  295. package/server/{workspace-metadata-DfgR40YU.js → workspace-metadata-Fd58uUQG.js} +1 -1
  296. package/server/{workspaces-DOeHyKmA.js → workspaces-BjWXntty.js} +94 -120
  297. package/server/writer-CQMGzEkw.js +3 -0
  298. package/server/writer-fe1-8iGc.js +251 -0
  299. package/sync-sources/hooks/record-cost-event.js +2 -1
  300. package/sync-sources/hooks/record-cost-event.js.map +1 -1
  301. package/server/auto-commit-wZ9X7Isd.js +0 -3
  302. package/server/bd-mutex-BItGvLQ8.js +0 -35
  303. package/server/beads-restore-CMbDSB5R.js +0 -60
  304. package/server/cli-CqgiSAU8.js +0 -3
  305. package/server/deacon-swarm-B8pgK2a7.js +0 -2
  306. package/server/dist-BYSj075e.js +0 -3
  307. package/server/forge-CUCYK7h_.js +0 -2
  308. package/server/hume-x9voULey.js +0 -3
  309. package/server/inspect-agent-D8UBDgfR.js +0 -2
  310. package/server/merge-ops-B7m-hBEZ.js +0 -2
  311. package/server/projects-BqRMlDOv.js +0 -3
  312. package/server/providers-gZ0cUgQM.js +0 -3
  313. package/server/public/assets/index-CZiADHcL.css +0 -1
  314. package/server/public/assets/mermaid-GHXKKRXX-DRM2ANcR.js +0 -1
  315. package/server/rally-CRteqXe0.js +0 -3
  316. package/server/record-CJsjvRO4.js +0 -3
  317. package/server/resume-R7xkSmLW.js +0 -3
  318. package/server/settings-CSaXtkoA.js +0 -2
  319. package/server/specs-oaaYaA5c.js +0 -3
  320. package/server/supervisor-03Tj_Wra.js +0 -2
  321. package/server/workflows-B4fIN8VP.js +0 -2
@@ -1,251 +1,15 @@
1
1
  import { n as __esmMin, r as __exportAll } from "./rolldown-runtime-DNCzzKnI.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";
2
+ import { Ar as OVERDECK_HOME, qr as init_paths, xr as AGENTS_DIR } from "./config-yaml-Dcz-8uit.js";
3
+ import { E as listPaneValues, L as sessionExists, w as killSession, x as init_tmux } from "./tmux-C_d-lSIq.js";
4
+ import { a as readCavemanVariant, n as init_workspace } from "./workspace-CNuW2j41.js";
5
+ import { n as resolveHarness, t as init_harness_resolve } from "./harness-resolve-iMjyNUJ2.js";
6
+ import { a as init_jsonl_parser, n as getAllSessionFilesSync, s as parseClaudeSessionSync } from "./jsonl-parser-dNIjHgym.js";
7
7
  import { Effect } from "effect";
8
- import { appendFileSync, existsSync, mkdirSync, readFileSync, readdirSync, statSync, writeFileSync } from "fs";
8
+ import { appendFileSync, existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
9
9
  import { basename, join } from "path";
10
- import { homedir } from "os";
11
10
  import "crypto";
12
11
  import { exec } from "child_process";
13
12
  import { promisify } from "util";
14
- //#region ../../lib/cost-parsers/jsonl-parser.ts
15
- /**
16
- * Claude Code JSONL Parser
17
- *
18
- * Parse token usage from Claude Code session files.
19
- * Session files are stored at: ~/.claude/projects/<project-path-hash>/<session-id>.jsonl
20
- */
21
- function getClaudeProjectsDir() {
22
- return process.env.CLAUDE_PROJECTS_DIR || join(homedir(), ".claude", "projects");
23
- }
24
- /**
25
- * Get all Claude Code project directories
26
- */
27
- function getProjectDirsSync() {
28
- const claudeProjectsDir = getClaudeProjectsDir();
29
- if (!existsSync(claudeProjectsDir)) return [];
30
- return readdirSync(claudeProjectsDir).map((name) => join(claudeProjectsDir, name)).filter((path) => {
31
- try {
32
- return statSync(path).isDirectory();
33
- } catch {
34
- return false;
35
- }
36
- });
37
- }
38
- /**
39
- * Get session JSONL files for a project directory
40
- */
41
- function getSessionFilesSync(projectDir) {
42
- if (!existsSync(projectDir)) return [];
43
- return readdirSync(projectDir).filter((name) => name.endsWith(".jsonl")).map((name) => join(projectDir, name)).sort((a, b) => {
44
- try {
45
- return statSync(b).mtime.getTime() - statSync(a).mtime.getTime();
46
- } catch {
47
- return 0;
48
- }
49
- });
50
- }
51
- /**
52
- * Get all session files across all projects
53
- */
54
- function getAllSessionFilesSync() {
55
- const files = [];
56
- for (const projectDir of getProjectDirsSync()) files.push(...getSessionFilesSync(projectDir));
57
- return files.sort((a, b) => {
58
- try {
59
- return statSync(b).mtime.getTime() - statSync(a).mtime.getTime();
60
- } catch {
61
- return 0;
62
- }
63
- });
64
- }
65
- /**
66
- * Normalize model name for pricing lookup
67
- */
68
- function normalizeModelName(model) {
69
- if (model.includes("claude")) {
70
- let normalizedModel = model;
71
- if (model.includes("fable-5") || model.includes("fable.5") || model.includes("fable")) normalizedModel = "claude-fable-5";
72
- if (model.includes("opus-4-8") || model.includes("opus-4.8")) normalizedModel = "claude-opus-4-8";
73
- else if (model.includes("opus-4-7") || model.includes("opus-4.7")) normalizedModel = "claude-opus-4-7";
74
- else if (model.includes("opus-4-6") || model.includes("opus-4.6")) normalizedModel = "claude-opus-4-6";
75
- else if (model.includes("opus-4-1") || model.includes("opus-4.1")) normalizedModel = "claude-opus-4-1";
76
- else if (model.includes("opus-4") || model.includes("opus")) normalizedModel = "claude-opus-4";
77
- if (model.includes("sonnet-5") || model.includes("sonnet.5")) normalizedModel = "claude-sonnet-5";
78
- else if (model.includes("sonnet-4-6") || model.includes("sonnet-4.6")) normalizedModel = "claude-sonnet-4-6";
79
- else if (model.includes("sonnet-4-5") || model.includes("sonnet-4.5")) normalizedModel = "claude-sonnet-4-6";
80
- else if (model.includes("sonnet-4") || model.includes("sonnet")) normalizedModel = "claude-sonnet-4";
81
- if (model.includes("haiku-4-5") || model.includes("haiku-4.5")) normalizedModel = "claude-haiku-4-5";
82
- else if (model.includes("haiku-3")) normalizedModel = "claude-haiku-3";
83
- else if (model.includes("haiku")) normalizedModel = "claude-haiku-4-5";
84
- return {
85
- provider: "anthropic",
86
- model: normalizedModel
87
- };
88
- }
89
- if (model.includes("gpt")) return {
90
- provider: "openai",
91
- model
92
- };
93
- if (model.includes("gemini")) return {
94
- provider: "google",
95
- model
96
- };
97
- if (model.includes("minimax")) return {
98
- provider: "custom",
99
- model
100
- };
101
- return {
102
- provider: "anthropic",
103
- model: "claude-sonnet-4"
104
- };
105
- }
106
- /**
107
- * Parse a Claude Code session JSONL file and extract usage with per-message cost calculation
108
- *
109
- * This function calculates costs accurately for sessions that span multiple models
110
- * (e.g., when Claude Max auto-upgrades from Sonnet to Opus mid-conversation).
111
- *
112
- * Cost Calculation:
113
- * - `cost_v2`: Accurate per-message pricing. Each message is costed using its own model's pricing.
114
- * - `cost`: DEPRECATED. Uses first model's pricing for all messages (kept for backward compatibility).
115
- *
116
- * Model Display:
117
- * - Single model: "claude-sonnet-4-6" (normalized name)
118
- * - Multiple models: "claude-sonnet-4-6 → claude-opus-4-6" (progression of normalized names)
119
- *
120
- * Model Breakdown:
121
- * - Keys are exact model IDs (e.g., "claude-sonnet-4-5-20250929")
122
- * - Values contain per-model cost, token counts, and message count
123
- *
124
- * @param sessionFile - Path to the .jsonl session file
125
- * @returns Session usage summary with accurate multi-model costing, or null if no usage found
126
- */
127
- function parseClaudeSessionSync(sessionFile) {
128
- if (!existsSync(sessionFile)) return null;
129
- const lines = readFileSync(sessionFile, "utf-8").split("\n").filter((line) => line.trim());
130
- let sessionId = "";
131
- let startTime = "";
132
- let endTime = "";
133
- let primaryModel = "";
134
- let messageCount = 0;
135
- const totalUsage = {
136
- inputTokens: 0,
137
- outputTokens: 0,
138
- cacheReadTokens: 0,
139
- cacheWriteTokens: 0
140
- };
141
- const modelBreakdown = {};
142
- let totalCostV2 = 0;
143
- const countedUsageIds = /* @__PURE__ */ new Set();
144
- for (const line of lines) try {
145
- const msg = JSON.parse(line);
146
- if (msg.sessionId && !sessionId) sessionId = msg.sessionId;
147
- if (msg.timestamp) {
148
- if (!startTime || msg.timestamp < startTime) startTime = msg.timestamp;
149
- if (!endTime || msg.timestamp > endTime) endTime = msg.timestamp;
150
- }
151
- const usage = msg.message?.usage || msg.usage;
152
- const modelId = msg.message?.model || msg.model;
153
- const usageId = msg.requestId ?? msg.message?.id;
154
- if (usage && (usageId === void 0 || !countedUsageIds.has(usageId))) {
155
- if (usageId !== void 0) countedUsageIds.add(usageId);
156
- totalUsage.inputTokens += usage.input_tokens || 0;
157
- totalUsage.outputTokens += usage.output_tokens || 0;
158
- totalUsage.cacheReadTokens = (totalUsage.cacheReadTokens || 0) + (usage.cache_read_input_tokens || 0);
159
- totalUsage.cacheWriteTokens = (totalUsage.cacheWriteTokens || 0) + (usage.cache_creation_input_tokens || 0);
160
- messageCount++;
161
- if (modelId) {
162
- const { provider, model: normalizedModel } = normalizeModelName(modelId);
163
- const pricing = getPricingSync(provider, normalizedModel);
164
- if (pricing) {
165
- const msgUsage = {
166
- inputTokens: usage.input_tokens || 0,
167
- outputTokens: usage.output_tokens || 0,
168
- cacheReadTokens: usage.cache_read_input_tokens || 0,
169
- cacheWriteTokens: usage.cache_creation_input_tokens || 0,
170
- cacheTTL: usage.cache_creation?.ephemeral_1h_input_tokens && !usage.cache_creation?.ephemeral_5m_input_tokens ? "1h" : "5m"
171
- };
172
- const msgCost = calculateCostSync(msgUsage, pricing);
173
- totalCostV2 += msgCost;
174
- if (!modelBreakdown[modelId]) modelBreakdown[modelId] = {
175
- cost: 0,
176
- inputTokens: 0,
177
- outputTokens: 0,
178
- messageCount: 0
179
- };
180
- modelBreakdown[modelId].cost += msgCost;
181
- modelBreakdown[modelId].inputTokens += msgUsage.inputTokens;
182
- modelBreakdown[modelId].outputTokens += msgUsage.outputTokens;
183
- modelBreakdown[modelId].cacheReadTokens = (modelBreakdown[modelId].cacheReadTokens || 0) + (msgUsage.cacheReadTokens || 0);
184
- modelBreakdown[modelId].cacheWriteTokens = (modelBreakdown[modelId].cacheWriteTokens || 0) + (msgUsage.cacheWriteTokens || 0);
185
- modelBreakdown[modelId].messageCount++;
186
- }
187
- }
188
- }
189
- if (modelId && !primaryModel) primaryModel = modelId;
190
- } catch {}
191
- if (totalUsage.inputTokens === 0 && totalUsage.outputTokens === 0) return null;
192
- if (!sessionId) sessionId = basename(sessionFile, ".jsonl");
193
- if (!primaryModel) primaryModel = "claude-sonnet-4";
194
- const normalizedModels = Object.keys(modelBreakdown).map((id) => normalizeModelName(id).model);
195
- const modelDisplay = normalizedModels.length > 0 ? normalizedModels.length > 1 ? normalizedModels.join(" → ") : normalizedModels[0] : normalizeModelName(primaryModel).model;
196
- const { provider, model } = normalizeModelName(primaryModel);
197
- const pricing = getPricingSync(provider, model);
198
- const cost = pricing ? calculateCostSync(totalUsage, pricing) : 0;
199
- return {
200
- sessionId,
201
- sessionFile,
202
- startTime: startTime || (/* @__PURE__ */ new Date()).toISOString(),
203
- endTime: endTime || (/* @__PURE__ */ new Date()).toISOString(),
204
- model: modelDisplay,
205
- usage: totalUsage,
206
- cost,
207
- cost_v2: totalCostV2 > 0 ? totalCostV2 : void 0,
208
- messageCount,
209
- modelBreakdown: Object.keys(modelBreakdown).length > 0 ? modelBreakdown : void 0
210
- };
211
- }
212
- /**
213
- * Get the active session model for a workspace
214
- * Returns the full model ID (e.g., "claude-sonnet-4-5-20250929") from the most recent session file
215
- *
216
- * NOTE: Claude Max can auto-upgrade models mid-session (e.g., Sonnet → Opus).
217
- * We read from the END of the file to get the CURRENT model, not the initial one.
218
- */
219
- function getActiveSessionModelSync(workspacePath) {
220
- try {
221
- const projectDirName = encodeClaudeProjectDir(workspacePath);
222
- const sessions = getSessionFilesSync(join(getClaudeProjectsDir(), projectDirName));
223
- if (sessions.length === 0) return null;
224
- const mostRecentSession = sessions[0];
225
- const lines = readFileSync(mostRecentSession, "utf-8").split("\n").filter((line) => line.trim());
226
- const searchLines = lines.slice(-100);
227
- for (let i = searchLines.length - 1; i >= 0; i--) try {
228
- const msg = JSON.parse(searchLines[i]);
229
- const model = msg.message?.model || msg.model;
230
- if (model && model !== "<synthetic>") return model;
231
- } catch {}
232
- for (let i = 0; i < Math.min(lines.length, 10); i++) try {
233
- const msg = JSON.parse(lines[i]);
234
- const model = msg.message?.model || msg.model;
235
- if (model && model !== "<synthetic>") return model;
236
- } catch {}
237
- return null;
238
- } catch (error) {
239
- console.warn("Failed to get active session model:", error);
240
- return null;
241
- }
242
- }
243
- var init_jsonl_parser = __esmMin((() => {
244
- init_paths();
245
- init_cost();
246
- init_errors();
247
- }));
248
- //#endregion
249
13
  //#region ../../lib/cloister/specialists.ts
250
14
  /**
251
15
  * Cloister Specialist Agents
@@ -325,7 +89,7 @@ function roleForSpecialistModel(specialistType) {
325
89
  return { role: "work" };
326
90
  }
327
91
  async function buildSpecialistBaseCommand(specialistType, model, sessionName) {
328
- const { getAgentRuntimeBaseCommand } = await import("./agents-CxbuBjID.js");
92
+ const { getAgentRuntimeBaseCommand } = await import("./agents-DCvyTXNU.js");
329
93
  const role = roleForSpecialistModel(specialistType).role;
330
94
  const harness = await resolveHarness({
331
95
  model,
@@ -724,7 +488,7 @@ async function signalSpecialistCompletion(projectKey, specialistType, result, is
724
488
  const resolvedTmuxSession = metadata.tmuxSession ?? getTmuxSessionName(specialistType, projectKey, issueId);
725
489
  updateRunStatus(projectKey, registryKey, result.status);
726
490
  if (metadata.currentRun) try {
727
- const { finalizeRunLogSync } = await import("./specialist-logs-B24R2B9Y.js");
491
+ const { finalizeRunLogSync } = await import("./specialist-logs-BWZYcJ6P.js");
728
492
  finalizeRunLogSync(projectKey, specialistType, metadata.currentRun, {
729
493
  status: result.status,
730
494
  notes: result.notes
@@ -734,7 +498,7 @@ async function signalSpecialistCompletion(projectKey, specialistType, result, is
734
498
  }
735
499
  setCurrentRun(projectKey, registryKey, null);
736
500
  updateRunMetadata(projectKey, registryKey, { currentActivity: null });
737
- import("./agents-CxbuBjID.js").then(({ saveAgentRuntimeState }) => {
501
+ import("./agents-DCvyTXNU.js").then(({ saveAgentRuntimeState }) => {
738
502
  saveAgentRuntimeState(resolvedTmuxSession, {
739
503
  state: "idle",
740
504
  lastActivity: (/* @__PURE__ */ new Date()).toISOString(),
@@ -765,7 +529,7 @@ async function terminateSpecialist(projectKey, specialistType, issueId) {
765
529
  console.error(`[specialist] Failed to kill tmux session ${tmuxSession}:`, error);
766
530
  }
767
531
  if (metadata.currentRun) {
768
- const { finalizeRunLogSync } = await import("./specialist-logs-B24R2B9Y.js");
532
+ const { finalizeRunLogSync } = await import("./specialist-logs-BWZYcJ6P.js");
769
533
  try {
770
534
  finalizeRunLogSync(projectKey, specialistType, metadata.currentRun, {
771
535
  status: metadata.lastRunStatus || "incomplete",
@@ -779,12 +543,12 @@ async function terminateSpecialist(projectKey, specialistType, issueId) {
779
543
  updateRunMetadata(projectKey, registryKey, { currentActivity: null });
780
544
  const key = `${projectKey}-${specialistType}`;
781
545
  gracePeriodStates.delete(key);
782
- const { saveAgentRuntimeState } = await import("./agents-CxbuBjID.js");
546
+ const { saveAgentRuntimeState } = await import("./agents-DCvyTXNU.js");
783
547
  saveAgentRuntimeState(tmuxSession, {
784
548
  state: "suspended",
785
549
  lastActivity: (/* @__PURE__ */ new Date()).toISOString()
786
550
  });
787
- const { scheduleDigestGeneration } = await import("./specialist-context-fmb03vXQ.js");
551
+ const { scheduleDigestGeneration } = await import("./specialist-context-BMq83C58.js");
788
552
  scheduleDigestGeneration(projectKey, specialistType);
789
553
  scheduleLogCleanup(projectKey, specialistType);
790
554
  }
@@ -797,8 +561,8 @@ async function terminateSpecialist(projectKey, specialistType, issueId) {
797
561
  function scheduleLogCleanup(projectKey, specialistType) {
798
562
  Promise.resolve().then(async () => {
799
563
  try {
800
- const { cleanupOldLogsSync } = await import("./specialist-logs-B24R2B9Y.js");
801
- const { getSpecialistRetention } = await import("./projects-BqRMlDOv.js");
564
+ const { cleanupOldLogsSync } = await import("./specialist-logs-BWZYcJ6P.js");
565
+ const { getSpecialistRetention } = await import("./projects-KJ94e50I.js");
802
566
  const retention = getSpecialistRetention(projectKey);
803
567
  const deleted = cleanupOldLogsSync(projectKey, specialistType, {
804
568
  maxDays: retention.max_days,
@@ -952,7 +716,7 @@ function listSpecialistsForProject(projectKey) {
952
716
  */
953
717
  async function getAllProjectSpecialistStatuses() {
954
718
  const registry = loadRegistry();
955
- const { getAgentRuntimeStateSync } = await import("./agents-CxbuBjID.js");
719
+ const { getAgentRuntimeStateSync } = await import("./agents-DCvyTXNU.js");
956
720
  const results = [];
957
721
  for (const [projectKey, specialists] of Object.entries(registry.projects)) for (const [registryKey, metadata] of Object.entries(specialists)) {
958
722
  const { specialistType, issueId, role } = parseSpecialistRegistryKey(registryKey);
@@ -1089,7 +853,7 @@ async function getSpecialistStatus(name, projectKey) {
1089
853
  const sessionId = readRecordedClaudeSessionId(getTmuxSessionName(name, projectKey));
1090
854
  const running = await isRunning(name, projectKey);
1091
855
  const contextTokens = countContextTokens(name);
1092
- const { getAgentRuntimeStateSync } = await import("./agents-CxbuBjID.js");
856
+ const { getAgentRuntimeStateSync } = await import("./agents-DCvyTXNU.js");
1093
857
  const runtimeState = getAgentRuntimeStateSync(getTmuxSessionName(name, projectKey));
1094
858
  let state;
1095
859
  if (runtimeState) switch (runtimeState.state) {
@@ -1169,7 +933,7 @@ async function sendFeedbackToAgent(feedback) {
1169
933
  }
1170
934
  const agentSession = `agent-${toIssueId.toLowerCase()}`;
1171
935
  const feedbackMessage = formatFeedbackForAgent(fullFeedback);
1172
- const { writeFeedbackFile } = await import("./feedback-writer-DCyd75yJ.js");
936
+ const { writeFeedbackFile } = await import("./feedback-writer-DOUhyIW2.js");
1173
937
  const specialist = {
1174
938
  "review-agent": "review-agent",
1175
939
  "test-agent": "test-agent",
@@ -1188,7 +952,7 @@ async function sendFeedbackToAgent(feedback) {
1188
952
  return false;
1189
953
  }
1190
954
  try {
1191
- const { messageAgent } = await import("./agents-CxbuBjID.js");
955
+ const { messageAgent } = await import("./agents-DCvyTXNU.js");
1192
956
  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
957
  console.log(`[specialist] Sent feedback from ${fromSpecialist} to ${agentSession} (file: ${fileResult.filePath})`);
1194
958
  return true;
@@ -1305,6 +1069,6 @@ var init_specialists = __esmMin((() => {
1305
1069
  FEEDBACK_LOG = join(FEEDBACK_DIR, "feedback.jsonl");
1306
1070
  }));
1307
1071
  //#endregion
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 };
1072
+ 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, getReviewerSessionName as b, exitGracePeriod as c, getAllProjectSpecialistStatuses as d, updateRunStatus as et, getAllSpecialistStatus as f, getGracePeriodState as g, getFeedbackStats as h, countContextTokens as i, isInitialized as j, initializeEnabledSpecialists as k, findActiveRegistryKey as l, getEnabledSpecialists as m, buildSpecialistBaseCommand as n, enableSpecialist as o, getAllSpecialists as p, signalSpecialistCompletion as q, buildSpecialistCavemanExports as r, ensureProjectSpecialistDir as s, 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
1073
 
1310
- //# sourceMappingURL=specialists-BGNZ0_ZW.js.map
1074
+ //# sourceMappingURL=specialists-DrPrC9Y9.js.map
@@ -1,2 +1,2 @@
1
- import { i as validateSpecialistAutoCompleteMetadata, n as _serverManagedMerges, r as firePostMergeLifecycle, t as specialistsRouteLayer } from "./specialists-CL7E8yUg.js";
1
+ import { i as validateSpecialistAutoCompleteMetadata, n as _serverManagedMerges, r as firePostMergeLifecycle, t as specialistsRouteLayer } from "./specialists-BudKrjOu.js";
2
2
  export { _serverManagedMerges, specialistsRouteLayer as default, specialistsRouteLayer, firePostMergeLifecycle, validateSpecialistAutoCompleteMetadata };
@@ -0,0 +1,3 @@
1
+ import { C as findSpecByIssue, T as init_specs } from "./io-BiQ2Cs3k.js";
2
+ init_specs();
3
+ export { findSpecByIssue };
@@ -784,7 +784,7 @@ var init_memory = __esmMin((() => {
784
784
  }));
785
785
  //#endregion
786
786
  //#region ../../../packages/contracts/src/events.ts
787
- var SystemHeartbeatEvent, AgentStartedEvent, AgentStoppedEvent, AgentHeartbeatDeadEvent, WorkCompletedEvent, AgentCompletedEvent, ReviewApprovedEvent, TestPassedEvent, AgentStatusChangedEvent, AgentOutputReceivedEvent, AgentEnrichmentChangedEvent, AgentCreatedEvent, AgentActivityChangedEvent, AgentThinkingStartedEvent, AgentThinkingStoppedEvent, AgentWaitingStartedEvent, AgentWaitingClearedEvent, AgentPermissionRequestedEvent, AgentPermissionResolvedEvent, AgentMessageReceivedEvent, AgentChannelReplyEvent, AgentModelSetEvent, AgentCurrentIssueSetEvent, AgentContextSaturationChangedEvent, AgentResolutionChangedEvent, AgentStateRestoredEvent, AgentTurnDiffCompletedEvent, PlanningStartedEvent, PlanningFailedEvent, PlanningSyncEvent, PlanItemStatusChangedEvent, PlanSubitemStatusChangedEvent, PlanItemsUnblockedEvent, PipelineStatusChangedEvent, MergeReadyEvent, ReviewStatusChangedEvent, PipelineReviewStartedEvent, PipelineReviewCompletedEvent, PipelineTestStartedEvent, PipelineTestCompletedEvent, PipelineVerificationStartedEvent, PipelineVerificationFailedEvent, IssueTransitionedEvent, OperatorInterventionEvent, SubstrateBugFiledEvent, ReviewReviewerStartedEvent, ReviewReviewerCompletedEvent, ReviewSpecialistTimedOutEvent, ReviewCoordinatorStartedEvent, ReviewCoordinatorDiedEvent, SpecialistLifecycleState, SpecialistStartedEvent, SpecialistCompletedEvent, SpecialistFailedEvent, ResourcesUpdatedEvent, SystemHealthSeverityChangedEvent, IssuesSnapshotEvent, IssuesUpdatedEvent, IssueStatusChangedEvent, ActivityUpdatedEvent, ActivityEntryEvent, ActivityDetailedEvent, ActivityTtsEvent, DashboardLifecycleStartedEvent, DashboardLifecycleCompletedEvent, DashboardLifecycleFailedEvent, ShadowInferenceUpdateEvent, WorkspaceCreatedEvent, WorkspaceWipeStartedEvent, WorkspaceDestroyedEvent, WorkspaceDeletedEvent, WorkspaceAbortedEvent, MemoryObservationCreatedEvent, MemoryStatusUpdatedEvent, MemoryRollupTriggeredEvent, MemoryResetMarkerCreatedEvent, MemoryHealthChangedEvent, CostEventRecordedEvent, ConversationCompactingChangedEvent, ConversationCreatedEvent, ConversationTitleChangedEvent, ConversationPermissionChangedEvent, ScanStartedEvent, ScanProgressEvent, ScanCompleteEvent, EnrichProgressEvent, EnrichCompleteEvent, EmbedProgressEvent, DomainEvent;
787
+ var SystemHeartbeatEvent, BeadsFreshnessChangedEvent, AgentStartedEvent, AgentStoppedEvent, AgentHeartbeatDeadEvent, WorkCompletedEvent, AgentCompletedEvent, ReviewApprovedEvent, TestPassedEvent, AgentStatusChangedEvent, AgentOutputReceivedEvent, AgentEnrichmentChangedEvent, AgentCreatedEvent, AgentActivityChangedEvent, AgentThinkingStartedEvent, AgentThinkingStoppedEvent, AgentWaitingStartedEvent, AgentWaitingClearedEvent, AgentPermissionRequestedEvent, AgentPermissionResolvedEvent, AgentMessageReceivedEvent, AgentChannelReplyEvent, AgentModelSetEvent, AgentCurrentIssueSetEvent, AgentContextSaturationChangedEvent, AgentResolutionChangedEvent, AgentStateRestoredEvent, AgentTurnDiffCompletedEvent, PlanningStartedEvent, PlanningFailedEvent, PlanningSyncEvent, PlanItemStatusChangedEvent, PlanSubitemStatusChangedEvent, PlanItemsUnblockedEvent, PipelineStatusChangedEvent, MergeReadyEvent, ReviewStatusChangedEvent, PipelineReviewStartedEvent, PipelineReviewCompletedEvent, PipelineTestStartedEvent, PipelineTestCompletedEvent, PipelineVerificationStartedEvent, PipelineVerificationFailedEvent, IssueTransitionedEvent, OperatorInterventionEvent, SubstrateBugFiledEvent, ReviewReviewerStartedEvent, ReviewReviewerCompletedEvent, ReviewSpecialistTimedOutEvent, ReviewCoordinatorStartedEvent, ReviewCoordinatorDiedEvent, SpecialistLifecycleState, SpecialistStartedEvent, SpecialistCompletedEvent, SpecialistFailedEvent, ResourcesUpdatedEvent, SystemHealthSeverityChangedEvent, IssuesSnapshotEvent, IssuesUpdatedEvent, IssueStatusChangedEvent, ActivityUpdatedEvent, ActivityEntryEvent, ActivityDetailedEvent, ActivityTtsEvent, DashboardLifecycleStartedEvent, DashboardLifecycleCompletedEvent, DashboardLifecycleFailedEvent, ShadowInferenceUpdateEvent, WorkspaceCreatedEvent, WorkspaceWipeStartedEvent, WorkspaceDestroyedEvent, WorkspaceDeletedEvent, WorkspaceAbortedEvent, MemoryObservationCreatedEvent, MemoryStatusUpdatedEvent, MemoryRollupTriggeredEvent, MemoryResetMarkerCreatedEvent, MemoryHealthChangedEvent, CostEventRecordedEvent, ConversationCompactingChangedEvent, ConversationCreatedEvent, ConversationTitleChangedEvent, ConversationPermissionChangedEvent, ScanStartedEvent, ScanProgressEvent, ScanCompleteEvent, EnrichProgressEvent, EnrichCompleteEvent, EmbedProgressEvent, DomainEvent;
788
788
  var init_events = __esmMin((() => {
789
789
  init_types();
790
790
  init_memory();
@@ -793,6 +793,16 @@ var init_events = __esmMin((() => {
793
793
  timestamp: Schema.String,
794
794
  payload: Schema.Struct({ ts: Schema.Number })
795
795
  });
796
+ BeadsFreshnessChangedEvent = Schema.Struct({
797
+ type: Schema.Literal("beads.freshness_changed"),
798
+ sequence: SequenceNumber,
799
+ timestamp: Schema.String,
800
+ payload: Schema.Struct({
801
+ projectKey: Schema.String,
802
+ localHead: Schema.String,
803
+ lastSyncedAt: Schema.String
804
+ })
805
+ });
796
806
  AgentStartedEvent = Schema.Struct({
797
807
  type: Schema.Literal("agent.started"),
798
808
  sequence: SequenceNumber,
@@ -1720,6 +1730,7 @@ var init_events = __esmMin((() => {
1720
1730
  });
1721
1731
  DomainEvent = Schema.Union([
1722
1732
  SystemHeartbeatEvent,
1733
+ BeadsFreshnessChangedEvent,
1723
1734
  AgentCreatedEvent,
1724
1735
  AgentEnrichmentChangedEvent,
1725
1736
  AgentStartedEvent,
@@ -4302,4 +4313,4 @@ var init_src = __esmMin((() => {
4302
4313
  //#endregion
4303
4314
  export { normalizeChannelReplyPayload as C, MemoryStatus as S, FlywheelRunId as _, getHarnessBehavior as a, DomainEvent as b, FlywheelStats as c, getMaxTurnDiffSummariesPerAgent as d, isTerminalTurnDiffSummaryStatus as f, WS_METHODS as g, PanRpcGroup as h, OHMYPI_BEHAVIOR as i, INITIAL_READ_MODEL_STATE as l, PanRpcError as m, CLAUDE_CODE_BEHAVIOR as n, ContextLayerSaveRequest as o, trimTurnDiffSummaries as p, CODEX_BEHAVIOR as r, ContextPreviewRequest as s, init_src as t, applyEvent as u, FlywheelStatus as v, MemoryObservation as x, EDITORS as y };
4304
4315
 
4305
- //# sourceMappingURL=src-DGAEtABV.js.map
4316
+ //# sourceMappingURL=src-DHn4Rd2F.js.map
@@ -1,6 +1,6 @@
1
1
  import { i as __require, o as __toESM, t as __commonJSMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { r as init_esm_shims, t as __dirname } from "./esm-shims-DiV9jHa_.js";
3
- import { n as require_dist$1, r as require_src$14, t as require_dist$2 } from "./dist-ya66D9ze.js";
2
+ import { r as init_esm_shims, t as __dirname } from "./esm-shims-CJHy8CZY.js";
3
+ import { n as require_dist$1, r as require_src$14, t as require_dist$2 } from "./dist-Bc32rWJB.js";
4
4
  //#region ../../../node_modules/.bun/@google-cloud+promisify@4.1.0/node_modules/@google-cloud/promisify/build/src/index.js
5
5
  var require_src$13 = /* @__PURE__ */ __commonJSMin(((exports) => {
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
@@ -1198,12 +1198,12 @@ var require_gaxios = /* @__PURE__ */ __commonJSMin(((exports) => {
1198
1198
  * @returns A proxy agent
1199
1199
  */
1200
1200
  static async #getProxyAgent() {
1201
- this.#proxyAgent ||= (await import("./dist-BYSj075e.js").then((m) => /* @__PURE__ */ __toESM(m.default))).HttpsProxyAgent;
1201
+ this.#proxyAgent ||= (await import("./dist-DGTwcZhI.js").then((m) => /* @__PURE__ */ __toESM(m.default))).HttpsProxyAgent;
1202
1202
  return this.#proxyAgent;
1203
1203
  }
1204
1204
  static async #getFetch() {
1205
1205
  const hasWindow = typeof window !== "undefined" && !!window;
1206
- this.#fetch ||= hasWindow ? window.fetch : (await import("./src-BVxZuHMg.js")).default;
1206
+ this.#fetch ||= hasWindow ? window.fetch : (await import("./src-Dv6L03vW.js")).default;
1207
1207
  return this.#fetch;
1208
1208
  }
1209
1209
  /**
@@ -10601,7 +10601,7 @@ var require_src$7 = /* @__PURE__ */ __commonJSMin(((exports) => {
10601
10601
  const TeenyStatistics_1 = require_TeenyStatistics();
10602
10602
  const crypto_1 = __require("crypto");
10603
10603
  const streamEvents = require_stream_events();
10604
- const fetch = (...args) => import("./src-BVxZuHMg.js").then(({ default: fetch }) => fetch(...args));
10604
+ const fetch = (...args) => import("./src-Dv6L03vW.js").then(({ default: fetch }) => fetch(...args));
10605
10605
  var RequestError = class extends Error {
10606
10606
  code;
10607
10607
  };
@@ -133656,4 +133656,4 @@ var require_src = /* @__PURE__ */ __commonJSMin(((exports) => {
133656
133656
  export default require_src();
133657
133657
  export {};
133658
133658
 
133659
- //# sourceMappingURL=src-D-VXCC9C.js.map
133659
+ //# sourceMappingURL=src-DNUUqkec.js.map
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { i as init_esm_min, n as FormData, o as Blob, r as formDataToBlob, s as init_fetch_blob, t as init_from } from "./from-fu7ZumnY.js";
2
+ import { i as init_esm_min, n as FormData, o as Blob, r as formDataToBlob, s as init_fetch_blob, t as init_from } from "./from-CbtTxftl.js";
3
3
  import { deprecate, promisify, types } from "node:util";
4
4
  import { Buffer as Buffer$1 } from "node:buffer";
5
5
  import Stream, { PassThrough, pipeline } from "node:stream";
@@ -209,7 +209,7 @@ var init_body = __esmMin((() => {
209
209
  for (const [name, value] of parameters) formData.append(name, value);
210
210
  return formData;
211
211
  }
212
- const { toFormData } = await import("./multipart-parser-jKtKAXtl.js");
212
+ const { toFormData } = await import("./multipart-parser-CiPxxfUH.js");
213
213
  return toFormData(this.body, ct);
214
214
  }
215
215
  /**
@@ -1176,4 +1176,4 @@ __esmMin((() => {
1176
1176
  }))();
1177
1177
  export { fetch as default };
1178
1178
 
1179
- //# sourceMappingURL=src-BVxZuHMg.js.map
1179
+ //# sourceMappingURL=src-Dv6L03vW.js.map
@@ -1,3 +1,3 @@
1
- import { a as init_stack_health, i as getWorkspaceStackHealth } from "./stack-health-C-le5erA.js";
1
+ import { a as init_stack_health, i as getWorkspaceStackHealth } from "./stack-health-DxsTx7II.js";
2
2
  init_stack_health();
3
3
  export { getWorkspaceStackHealth };
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Dn as getProjectSync, Gn as resolveProjectFromIssueSync, Nn as init_projects, er as init_issue_id, nr as parseIssueIdSync } from "./config-yaml-C_djSurJ.js";
2
+ import { Kn as resolveProjectFromIssueSync, On as getProjectSync, Pn as init_projects, rr as parseIssueIdSync, tr as init_issue_id } from "./config-yaml-Dcz-8uit.js";
3
3
  import { a as init_activity_logger, n as emitActivityEntrySync } from "./activity-logger-pcbf-e30.js";
4
4
  import { join } from "node:path";
5
5
  import { Duration, Effect, Schedule, Stream } from "effect";
@@ -352,4 +352,4 @@ var init_stack_health = __esmMin((() => {
352
352
  //#endregion
353
353
  export { init_stack_health as a, init_docker_stats as c, getWorkspaceStackHealth as i, recordDockerContainerLifecycleSnapshot as l, collectDockerContainerLifecycleSnapshot as n, recordWorkspaceStackHealthTransition as o, evaluateWorkspaceStackHealth as r, DockerStatsCollector as s, DEFAULT_STUCK_CREATED_THRESHOLD_MS as t };
354
354
 
355
- //# sourceMappingURL=stack-health-C-le5erA.js.map
355
+ //# sourceMappingURL=stack-health-DxsTx7II.js.map
@@ -1,9 +1,9 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { B as qualifyPiModel, Hr as init_paths, Nn as init_projects, R as init_providers, Un as resolveInfraRepo, hn as init_project_key, ln as init_state_plane, on as STATE_BRANCH_PATHS } from "./config-yaml-C_djSurJ.js";
3
- import { B as colorFgBgForTheme, H as init_ui_theme, V as getUiThemeSync } from "./tmux-BVc-NeKM.js";
4
- import { a as getHarnessBehavior } from "./src-DGAEtABV.js";
5
- import { t as init_behavior } from "./behavior-D3d2mVyD.js";
6
- import { l as init_codex, u as toCodexSandboxValue } from "./codex-CO0HrK3j.js";
2
+ import { Pn as init_projects, V as qualifyPiModel, Wn as resolveInfraRepo, gn as init_project_key, qr as init_paths, sn as STATE_BRANCH_PATHS, un as init_state_plane, z as init_providers } from "./config-yaml-Dcz-8uit.js";
3
+ import { B as colorFgBgForTheme, H as init_ui_theme, V as getUiThemeSync } from "./tmux-C_d-lSIq.js";
4
+ import { a as getHarnessBehavior } from "./src-DHn4Rd2F.js";
5
+ import { t as init_behavior } from "./behavior-Cpj03N4v.js";
6
+ import { l as init_codex, u as toCodexSandboxValue } from "./codex-DW60_5j2.js";
7
7
  import { dirname, join } from "node:path";
8
8
  import { Data } from "effect";
9
9
  import { existsSync } from "node:fs";
@@ -487,4 +487,4 @@ var init_state_home = __esmMin((() => {
487
487
  //#endregion
488
488
  export { init_launcher_generator as a, requireModelOverrideSync as c, generateLauncherScriptSync as i, shellQuoteModelIdSync as l, init_state_home as n, init_model_validation as o, isStateMigrated as r, normalizeModelOverrideSync as s, findRecreatedLegacyStatePaths as t };
489
489
 
490
- //# sourceMappingURL=state-home-CoyWsECg.js.map
490
+ //# sourceMappingURL=state-home-CRowbXqU.js.map