@overdeck/desktop 0.45.18 → 0.45.19

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 (268) hide show
  1. package/package.json +1 -1
  2. package/server/{acceptance-criteria-aQFKQf-J.js → acceptance-criteria-DQqRIuQ-.js} +2 -2
  3. package/server/{advancing-selfheal-DgwQgm4D.js → advancing-selfheal-BYidNkmp.js} +5 -5
  4. package/server/{agent-gc-kpzxqT7P.js → agent-gc-ClNQLl_V.js} +3 -3
  5. package/server/{agent-state-C_6TG-Ad.js → agent-state-BMrpX7kU.js} +1 -1
  6. package/server/{agent-state-service-nUD3qfob.js → agent-state-service-BpAKmodj.js} +4 -4
  7. package/server/{agent-state-service-BUfovFfB.js → agent-state-service-CC9NMIWn.js} +1 -1
  8. package/server/{agents-BHBxr8c9.js → agents--ljN-wVY.js} +4 -4
  9. package/server/{agents-BA15AQqo.js → agents-DAUyr_Z1.js} +1 -1
  10. package/server/{archive-planning-D-QsBufn.js → archive-planning-2w8WQaeJ.js} +1 -1
  11. package/server/{archive-planning-CzCW9Ifl.js → archive-planning-BW3te5Vw.js} +3 -3
  12. package/server/{artifact-index-jobs-qqa51B2Z.js → artifact-index-jobs-DFO3eceF.js} +2 -2
  13. package/server/{backlog-auto-trigger-B7Bi0bvY.js → backlog-auto-trigger-DECBMxLq.js} +2 -2
  14. package/server/{briefing-freshness-DuxIE1yr.js → briefing-freshness-B1delh4l.js} +2 -2
  15. package/server/{checkpoint-manager-DixkLus7.js → checkpoint-manager-CjLY6A4r.js} +1 -1
  16. package/server/{checkpoint-manager-DF6hb9Jw.js → checkpoint-manager-D6_71Rpb.js} +2 -2
  17. package/server/checkpoint-worker.js +1 -1
  18. package/server/{checkpoints-BiviJqei.js → checkpoints-BYrLxVle.js} +2 -2
  19. package/server/{checkpoints-B1Z42tJE.js → checkpoints-xSuv4v4I.js} +1 -1
  20. package/server/{claude-hooks-provision-BeMGi4ty.js → claude-hooks-provision-DL6yfJB_.js} +1 -1
  21. package/server/{claude-hooks-provision-Du_PkMsp.js → claude-hooks-provision-DvfVZbbT.js} +2 -2
  22. package/server/{claude-permissions-BB6agcOZ.js → claude-permissions-CcncrTNF.js} +2 -2
  23. package/server/{claude-settings-overlay-CAq2oFSK.js → claude-settings-overlay-1IfYetv2.js} +2 -2
  24. package/server/{claude-settings-overlay-DUWWLd6M.js → claude-settings-overlay-Ca3LXjAC.js} +1 -1
  25. package/server/cli-BxZHwgRK.js +3 -0
  26. package/server/{cli-C33xPZNm.js → cli-DGZWYXio.js} +9 -9
  27. package/server/{cliproxy-CGBA1GzA.js → cliproxy-Dw42Xy3t.js} +2 -2
  28. package/server/{cliproxy-BQX1TL6N.js → cliproxy-DziJLbfo.js} +1 -1
  29. package/server/{close-issue-DNv8npc1.js → close-issue-DEGjxifn.js} +4 -4
  30. package/server/{closed-issue-reaper-LoMnnjtJ.js → closed-issue-reaper-BsJ3JqQy.js} +9 -9
  31. package/server/{closed-issue-reaper-DrqgBJlr.js → closed-issue-reaper-CNr7X4MB.js} +1 -1
  32. package/server/{codex-DxLivxri.js → codex-C8OlW-dN.js} +1 -1
  33. package/server/{codex-sgWVCGUd.js → codex-D5RyWzNL.js} +4 -4
  34. package/server/{codex-parser-DboQnEXN.js → codex-parser-BRxvUkk8.js} +2 -2
  35. package/server/{config-6MCHOZ2N.js → config-CQ2u44iP.js} +1 -1
  36. package/server/{config-DfaUXr6r.js → config-Cntj_tFu.js} +2 -2
  37. package/server/{config-yaml-CqaAyn8y.js → config-yaml-BQs6GbD_.js} +2 -1
  38. package/server/{conflict-gate-BubJprtD.js → conflict-gate-BE6JdfkO.js} +1 -1
  39. package/server/{conflict-gate-BF_zhcmb.js → conflict-gate-DdfwKgy0.js} +3 -3
  40. package/server/{context-layers-BFrxfl0l.js → context-layers-DFucrVVG.js} +3 -3
  41. package/server/{context-layers-DWL_8HhY.js → context-layers-DO0Eyq2E.js} +2 -2
  42. package/server/{control-settings-BguNQ1F_.js → control-settings-bxOCLsuE.js} +4 -4
  43. package/server/{conversation-compaction-DxSXl0pT.js → conversation-compaction-Dq6MfZdL.js} +8 -8
  44. package/server/{conversation-compaction-CRKAf2qP.js → conversation-compaction-lSlUb-cU.js} +1 -1
  45. package/server/{conversation-service-DzuY9qoH.js → conversation-service-BVt4MQ1_.js} +1 -1
  46. package/server/{conversation-service-mFVFdDQK.js → conversation-service-TZsQjkjT.js} +4 -4
  47. package/server/{conversations-BX5aD-6F.js → conversations-CxOWHNzv.js} +4 -4
  48. package/server/{conversations-BajHQ60c.js → conversations-DaF6elGK.js} +1 -1
  49. package/server/{cost-DuZ5vlv-.js → cost-Dlh0IEiv.js} +3 -3
  50. package/server/{cost-BoqD1Pxz.js → cost-oinpUqvE.js} +2 -2
  51. package/server/{cost-sync-BYnmnMkY.js → cost-sync-CVIAsrhB.js} +3 -3
  52. package/server/{dag-C6kYyF17.js → dag-ClFr7Bah.js} +2 -2
  53. package/server/dashboard-db-worker.js +6 -6
  54. package/server/{deacon-CwCiNuEZ.js → deacon-B8ygB3e8.js} +3 -3
  55. package/server/{deacon-Dru5onpk.js → deacon-D2-xTesT.js} +98 -98
  56. package/server/deacon-swarm-1vPLuj_l.js +2 -0
  57. package/server/{deacon-swarm-BPmBmSoU.js → deacon-swarm-yWKQhxiX.js} +12 -12
  58. package/server/deacon.js +8 -8
  59. package/server/{devcontainer-renderer-BqGNCzvN.js → devcontainer-renderer-xPhZHCrx.js} +2 -2
  60. package/server/{docker-CNjXS72x.js → docker-DPEglAwA.js} +2 -2
  61. package/server/{ensure-devcontainer-5e9xOve4.js → ensure-devcontainer-SzSvEdKq.js} +3 -3
  62. package/server/{ensure-devcontainer-C6gyUQdE.js → ensure-devcontainer-wU3ym1b5.js} +1 -1
  63. package/server/{event-store-D9UhQyMS.js → event-store-BZoXexYS.js} +1 -1
  64. package/server/{event-store-KZnWUKWh.js → event-store-D4s6eQ6o.js} +3 -3
  65. package/server/{events-BYbvqZky.js → events-Bn-wdUBF.js} +1 -1
  66. package/server/{events-2eFUPdqz.js → events-D1hMLl2a.js} +3 -3
  67. package/server/{factory-BtaRsHFC.js → factory-ltWnu0V_.js} +4 -4
  68. package/server/{feature-registry-population-Ca2UaV0U.js → feature-registry-population-xj-J1Wm7.js} +4 -4
  69. package/server/{feature-registry-storage-DaP-bQxO.js → feature-registry-storage-CQZukiLm.js} +2 -2
  70. package/server/{features-DqvaoQoa.js → features-Dyqi6N8f.js} +2 -2
  71. package/server/{feedback-target-BblmMe9P.js → feedback-target-Ba0zhSYI.js} +1 -1
  72. package/server/{feedback-target-BXWdOiYI.js → feedback-target-Chd5dm-Q.js} +7 -7
  73. package/server/{feedback-writer-CULeOOY4.js → feedback-writer-BtaoJGl2.js} +1 -1
  74. package/server/{feedback-writer-Dn8o9ZyE.js → feedback-writer-BujzReaQ.js} +4 -4
  75. package/server/{flywheel-CqkO3cDj.js → flywheel-FTInS73X.js} +10 -10
  76. package/server/{flywheel-BUWdcfhq.js → flywheel-bTImiVrk.js} +1 -1
  77. package/server/{flywheel-merge-order-VtjUweEb.js → flywheel-merge-order-DuenRJLZ.js} +6 -6
  78. package/server/{flywheel-merge-order-LDzQDwSg.js → flywheel-merge-order-O5Zu8iPw.js} +1 -1
  79. package/server/{flywheel-D9r1mw2U.js → flywheel-rmYbW-lh.js} +12 -12
  80. package/server/{forge-wEollMCi.js → forge-OWm99lie.js} +2 -2
  81. package/server/forge-x5lszTd0.js +2 -0
  82. package/server/{fts-db-Bgzn2RO7.js → fts-db-BRfS5ukG.js} +2 -2
  83. package/server/{fts-operations-Bj8yutnR.js → fts-operations-L5sNLoHl.js} +2 -2
  84. package/server/{git-utils-q8jNoBts.js → git-utils-BIEzv2Zp.js} +1 -1
  85. package/server/{git-utils-GxlL0tmt.js → git-utils-CP-bg-aM.js} +2 -2
  86. package/server/{github-app-tUbb8Ldr.js → github-app-CRUIvHuM.js} +2 -2
  87. package/server/{github-app-BrYwK_Gb.js → github-app-Dtn4ib6M.js} +1 -1
  88. package/server/{github-client-BwBU41jK.js → github-client-CWEFlCqL.js} +2 -2
  89. package/server/{github-client-D6CNsftm.js → github-client-DSVv6wX8.js} +1 -1
  90. package/server/{github-pr-lookup-BS5PqkJb.js → github-pr-lookup-D6CS9vtG.js} +2 -2
  91. package/server/{harness-resolve-Dx8hUsvC.js → harness-resolve-ScD6rV47.js} +3 -3
  92. package/server/{health-events-B0mj6Iae.js → health-events-DbcJmYmd.js} +1 -1
  93. package/server/{health-events-2DLp-5Xp.js → health-events-Dm1Vcvqe.js} +2 -2
  94. package/server/{hooks-BDcQJDUe.js → hooks-B6gaI6Kg.js} +1 -1
  95. package/server/{hooks-BS_JrvYP.js → hooks-VXuCnzCv.js} +2 -2
  96. package/server/{idle-stack-reaper-C1ymihno.js → idle-stack-reaper-Gv32ZCrQ.js} +1 -1
  97. package/server/{idle-stack-reaper-BCITXNW5.js → idle-stack-reaper-po700Lfg.js} +2 -2
  98. package/server/{infra-_Kx1m9pm.js → infra-DYwIXlK5.js} +4 -4
  99. package/server/{injection-Bvhyg_MV.js → injection-CTfFnpsG.js} +1 -1
  100. package/server/{injection-CCaYkofq.js → injection-DPsUoCJp.js} +7 -7
  101. package/server/inspect-agent-B25IP-0O.js +2 -0
  102. package/server/{inspect-agent-BqyZ4pCo.js → inspect-agent-CLkwfLRx.js} +9 -9
  103. package/server/{internal-token-Cl-1IxaE.js → internal-token--50JhWP7.js} +2 -2
  104. package/server/{internal-token-D-t28de5.js → internal-token-BOgxXMGy.js} +1 -1
  105. package/server/{io-DkC4sFSy.js → io-Cv9xQTks.js} +2 -2
  106. package/server/{issue-closed-Cpl4VDUM.js → issue-closed-CyqtoFUj.js} +7 -7
  107. package/server/{issue-lifecycle-YNTy3OT3.js → issue-lifecycle-Cm7ydBGK.js} +1 -1
  108. package/server/{issue-lifecycle-CFR8TJ22.js → issue-lifecycle-DR6n40bh.js} +20 -20
  109. package/server/{issue-service-singleton-D81mCts_.js → issue-service-singleton--LQ5c2zT.js} +1 -1
  110. package/server/{issue-service-singleton-ldvUUXi3.js → issue-service-singleton-DKKPneH4.js} +8 -8
  111. package/server/{issues-DIEHt9sq.js → issues-Cr-BLFLO.js} +2 -2
  112. package/server/{jsonl-parser-Cd5jIqh7.js → jsonl-parser-Bp_xCkX4.js} +3 -3
  113. package/server/{label-cleanup-Btny6Gyo.js → label-cleanup-BbLy2FZe.js} +2 -2
  114. package/server/{launcher-generator-BXLM9f4b.js → launcher-generator-C-FU4PNT.js} +4 -4
  115. package/server/{layers-gCJlK62m.js → layers-C-6lBDUE.js} +2 -2
  116. package/server/{lifecycle-D7aQUnTO.js → lifecycle-Bmw8yU_A.js} +5 -5
  117. package/server/{lifecycle-io-DQBF-GHO.js → lifecycle-io-B150XprC.js} +1 -1
  118. package/server/{lifecycle-io-FfPUtz-y.js → lifecycle-io-Dcu-_ktz.js} +4 -4
  119. package/server/{linear-client-CDH2D6Qy.js → linear-client-BHjs0luk.js} +2 -2
  120. package/server/{linear-client-WrYrUIAH.js → linear-client-s65LNmlG.js} +1 -1
  121. package/server/memory-fts-worker.js +1 -1
  122. package/server/{merge-Dervs4BF.js → merge-CM8swd2V.js} +1 -1
  123. package/server/{merge-BsDgUxFz.js → merge-CS0b-E3u.js} +3 -3
  124. package/server/{merge-agent-D6DNhe9j.js → merge-agent-Bu1hw9cz.js} +26 -26
  125. package/server/{merge-agent-DMQTJMP0.js → merge-agent-D6LRIW63.js} +1 -1
  126. package/server/{merge-blockers-WWWi6Ur2.js → merge-blockers-Dt43hJiW.js} +2 -2
  127. package/server/merge-ops-DwYi3U_x.js +2 -0
  128. package/server/{merge-rebase-Czth9ggm.js → merge-rebase-B3vQcTq1.js} +2 -2
  129. package/server/{merge-set-vuE3MEVt.js → merge-set-BMEGEKQg.js} +1 -1
  130. package/server/{merge-set-DNc4zBqd.js → merge-set-Pe3spe8k.js} +3 -3
  131. package/server/{merge-sync-B9nHdUGx.js → merge-sync-CpxFRIQ7.js} +1 -1
  132. package/server/{merge-sync-B2KSk54U.js → merge-sync-STpg1hk3.js} +2 -2
  133. package/server/{merge-train-DJgr81tF.js → merge-train-DLw2hDk0.js} +3 -3
  134. package/server/{merge-train-deps-B2OWS0k9.js → merge-train-deps-BlCGLqwy.js} +4 -4
  135. package/server/{merge-verification-BBIXUEqa.js → merge-verification-C4WMP40D.js} +4 -4
  136. package/server/node_modules/.package-lock.json +1 -1
  137. package/server/{orphan-proposed-reconciler-DbTmT7qy.js → orphan-proposed-reconciler-eetUXmmt.js} +1 -1
  138. package/server/{orphan-proposed-reconciler-B8H41C4a.js → orphan-proposed-reconciler-k9eydM1E.js} +9 -9
  139. package/server/package-lock.json +2 -2
  140. package/server/package.json +1 -1
  141. package/server/{pan-dir-BTw4MdSe.js → pan-dir-D3vABXMs.js} +3 -3
  142. package/server/{paths-Btkc8mzp.js → paths-DIoslfsu.js} +2 -2
  143. package/server/{pipeline-notifier-3frIvSi3.js → pipeline-notifier-Bgidcelx.js} +1 -1
  144. package/server/{pipeline-notifier-DTd19f18.js → pipeline-notifier-CuBONomU.js} +2 -2
  145. package/server/{project-pipelines-B95fcAek.js → project-pipelines-B9b_JVTS.js} +2 -2
  146. package/server/{projects-Dc9aoVoG.js → projects-DxMUi2eI.js} +1 -1
  147. package/server/{prompts-CIVmjHxn.js → prompts-CY1xnHS-.js} +2 -2
  148. package/server/{providers-BLLk5IIb.js → providers-B7BNcK_j.js} +1 -1
  149. package/server/{providers-C-yWibCk.js → providers-CAlK2If5.js} +7 -7
  150. package/server/{pull-requests-D7AL5woD.js → pull-requests-Cs4VLxiY.js} +1 -1
  151. package/server/{pull-requests-NDDNtqNq.js → pull-requests-CxfrQiWX.js} +3 -3
  152. package/server/{queries-C0LCGG21.js → queries-srgusoi8.js} +59 -59
  153. package/server/{rally-4oKvnxLG.js → rally-AKkjuGdi.js} +3 -3
  154. package/server/rally-BOza5j3_.js +3 -0
  155. package/server/{rally-api-41tT6ikZ.js → rally-api-BGxATnyr.js} +2 -2
  156. package/server/{rally-api-BsaQ8Vnz.js → rally-api-Dbqw1YW9.js} +1 -1
  157. package/server/{rally-client-b5PT1x5L.js → rally-client-B1U5ewpO.js} +1 -1
  158. package/server/{rally-client-Bo4hNcCZ.js → rally-client-D8h73ei_.js} +4 -4
  159. package/server/{rebuild-stack-Ddv6W017.js → rebuild-stack-BYdtwS6f.js} +5 -5
  160. package/server/{rebuild-stack-C7JPUom6.js → rebuild-stack-Dsm9WjKv.js} +1 -1
  161. package/server/{reconstruct-cache-Gqhm---K.js → reconstruct-cache-D7oM1lNv.js} +6 -6
  162. package/server/{record-DLOqfbkI.js → record-BeXdn9Ue.js} +1 -1
  163. package/server/{record-update-BltEmPge.js → record-update-Cb_pPM-F.js} +2 -2
  164. package/server/{record-update-CDp7aTaT.js → record-update-KFiISAmu.js} +1 -1
  165. package/server/{recovery-trip-Cn7KJVkS.js → recovery-trip-DwbsONZf.js} +2 -2
  166. package/server/{release-engine-BYzmIBf9.js → release-engine-CAai5W0V.js} +5 -5
  167. package/server/{release-set-7pnxFOWR.js → release-set-vNEAfyDH.js} +3 -3
  168. package/server/{remote-Cvu4CSDk.js → remote-8HlOfuF1.js} +3 -3
  169. package/server/{remote-rN0ecjHE.js → remote-RQMKOL_R.js} +3 -3
  170. package/server/{remote-agents-C2C6z9tj.js → remote-agents-C4a4DdTj.js} +6 -6
  171. package/server/{remote-agents-DYY5fFpd.js → remote-agents-_Z1SAaSK.js} +1 -1
  172. package/server/{remote-completion-2Kb4IDg_.js → remote-completion-CH3igKY8.js} +12 -12
  173. package/server/resume-Cr34JAXO.js +3 -0
  174. package/server/{review-agent-BZvk0N5G.js → review-agent-CQ7oRh_G.js} +22 -22
  175. package/server/{review-agent-CpSHLzed.js → review-agent-CUVj54v0.js} +1 -1
  176. package/server/{review-artifacts-PCo53YMn.js → review-artifacts-CC3yGv7o.js} +5 -5
  177. package/server/{review-context-M7QtJlJq.js → review-context-BuxaAgAd.js} +7 -7
  178. package/server/{review-monitor-BLC5mTTg.js → review-monitor-uogOppaW.js} +2 -2
  179. package/server/{review-status-77N3PoZr.js → review-status-BoJdyvUQ.js} +1 -1
  180. package/server/{review-status-DANr0t-v.js → review-status-By86XA6Z.js} +23 -21
  181. package/server/{review-status-enrichment-DwOg4UfL.js → review-status-enrichment-CRQAO27G.js} +3 -3
  182. package/server/{review-status-sync-Bd08OOFA.js → review-status-sync-BI4WhUkF.js} +1 -1
  183. package/server/{review-status-sync-BjTUJ5fx.js → review-status-sync-DUQmrLkK.js} +2 -2
  184. package/server/{review-verdict-feedback-CBf-J_wS.js → review-verdict-feedback-BNcGkBRD.js} +6 -6
  185. package/server/{review-verdict-feedback-BsFLjN_6.js → review-verdict-feedback-CWz9_9Kp.js} +1 -1
  186. package/server/{rollup-DTCCdEy4.js → rollup-B-K6PCbm.js} +1 -1
  187. package/server/{rollup-Bu0f2EyN.js → rollup-CqiFgtBp.js} +7 -7
  188. package/server/{scanner-BlZ2vB7j.js → scanner-BZmDUjyD.js} +7 -7
  189. package/server/{sequence-io-ylyDtz2J.js → sequence-io-BuUx1ZAY.js} +4 -4
  190. package/server/{sequencer-agent-DsWQ-87H.js → sequencer-agent-2uWOA_BC.js} +5 -5
  191. package/server/server.js +155 -153
  192. package/server/{service-CLVBC_1Y.js → service-COB19Uhm.js} +45 -45
  193. package/server/{session-fork-DlEIAhRy.js → session-fork-D18TscUZ.js} +2 -2
  194. package/server/{session-history-bnOFKMwf.js → session-history-DbWnzfo-.js} +2 -2
  195. package/server/settings-C3w2std9.js +2 -0
  196. package/server/{settings-Cqa-8nyj.js → settings-CFEdfovT.js} +2 -2
  197. package/server/{settings-gJrdLZy2.js → settings-DNPAf2X_.js} +3 -3
  198. package/server/{shadow-engineering-fq1YEKV3.js → shadow-engineering-D8xTtraU.js} +2 -2
  199. package/server/{shadow-state-RptE9Cau.js → shadow-state-CTgub0ME.js} +2 -2
  200. package/server/{shadow-state-BqeFAygK.js → shadow-state-fRDYhcyx.js} +1 -1
  201. package/server/{shadow-utils-BMWr5tRT.js → shadow-utils-DqMLnRgQ.js} +2 -2
  202. package/server/{smart-compaction-DldUel4B.js → smart-compaction-CL6yaFpc.js} +1 -1
  203. package/server/{smart-compaction-CmoXpjeU.js → smart-compaction-CsJDKM-N.js} +5 -5
  204. package/server/{spawn-planning-session-DT2tSMxo.js → spawn-planning-session-C_wIQ-Zg.js} +1 -1
  205. package/server/{spawn-planning-session-CoS6LTc6.js → spawn-planning-session-D0-NlNK1.js} +13 -13
  206. package/server/{specialist-context-CspI4Eog.js → specialist-context-DXj5Itg8.js} +5 -5
  207. package/server/{specialist-handoff-logger-Duz9RGvk.js → specialist-handoff-logger-BFH-IB0n.js} +2 -2
  208. package/server/{specialist-logs-DtSkPJZK.js → specialist-logs-B-rldhNg.js} +3 -3
  209. package/server/{specialists-Dax7tqXC.js → specialists-C6-b3YZb.js} +81 -81
  210. package/server/{specialists-CywEMwxk.js → specialists-CI_eqHAz.js} +1 -1
  211. package/server/{specialists-GF42OOqd.js → specialists-Dp8ABxVh.js} +18 -18
  212. package/server/{specialists-D9-dMUtI.js → specialists-Hq3EojmD.js} +1 -1
  213. package/server/specs-DPGNVh51.js +3 -0
  214. package/server/{stack-health-BsEVrJZ6.js → stack-health-Bxt-oGE6.js} +1 -1
  215. package/server/{stack-health-C-SnpRHh.js → stack-health-FtNYSTCS.js} +2 -2
  216. package/server/{stale-task-claims-vTxmRzLi.js → stale-task-claims-DnCHCATD.js} +4 -4
  217. package/server/{state-home-Bur1y4oH.js → state-home-BzzKVh_C.js} +2 -2
  218. package/server/{state-migrate-D3VveYfO.js → state-migrate-BS4IybIS.js} +3 -3
  219. package/server/{stuck-remediation-CaFYYTQW.js → stuck-remediation-CTNT4LUC.js} +1 -1
  220. package/server/{stuck-remediation-B699-p8v.js → stuck-remediation-DbwhGg3g.js} +15 -15
  221. package/server/{summary-fork-BxnF8Xh0.js → summary-fork-CloCB8dV.js} +2 -2
  222. package/server/{summary-fork-COqYpVa3.js → summary-fork-DaCs0tCq.js} +8 -8
  223. package/server/supervisor/{paths-Bk6hJRH9.js → paths-C1yU0jq4.js} +2 -1
  224. package/server/supervisor/pty-supervisor.js +2 -2
  225. package/server/supervisor/{pty-token-BZS5GYdG.js → pty-token-CSryb8Mb.js} +2 -2
  226. package/server/{supervisor-liMgIPDF.js → supervisor-CRED6PD6.js} +2 -2
  227. package/server/supervisor-DHwuClN_.js +2 -0
  228. package/server/{swarm-readiness-sXB1vhzo.js → swarm-readiness-CEOrP9rE.js} +3 -3
  229. package/server/{teardown-workspace-DvzqnmUF.js → teardown-workspace-Ckn7HGhp.js} +12 -12
  230. package/server/{test-agent-queue-hAU1Ah08.js → test-agent-queue-C8lE8r2j.js} +5 -5
  231. package/server/{tldr-daemon-DhGwd88s.js → tldr-daemon-BE5rqR90.js} +1 -1
  232. package/server/{tldr-daemon-Bam7Xhoo.js → tldr-daemon-CGwDr28O.js} +2 -2
  233. package/server/{tmux-U55cNGFG.js → tmux-C3X2XmV0.js} +2 -2
  234. package/server/{tmux-C-rgxRDA.js → tmux-DNaD06Gc.js} +1 -1
  235. package/server/{tracker-config-OkdbaUCm.js → tracker-config-5Cabf1MU.js} +2 -2
  236. package/server/{tracker-utils-CghXMF3q.js → tracker-utils-Cl-Eaqrv.js} +2 -2
  237. package/server/{tracker-utils-DdzUiPNU.js → tracker-utils-FexeJhyf.js} +1 -1
  238. package/server/{tunnel-DjlzgTl3.js → tunnel-D4px7sKc.js} +1 -1
  239. package/server/{tunnel-D1YxesBL.js → tunnel-KId6Z59z.js} +2 -2
  240. package/server/{uat-train-CqN34zFx.js → uat-train-B16skN7L.js} +23 -23
  241. package/server/{uat-train-CaaWs9Rp.js → uat-train-BBMrnecu.js} +1 -1
  242. package/server/{validation-DpTNakM6.js → validation-Zc4kAmqa.js} +1 -1
  243. package/server/{validation-4-z2Cw4z.js → validation-xAD7y5vW.js} +3 -3
  244. package/server/{verification-runner-BjHN80pJ.js → verification-runner-32y8NRfL.js} +13 -13
  245. package/server/{verification-runner-ShYu5Ph3.js → verification-runner-DAat1p1u.js} +1 -1
  246. package/server/{work-agent-prompt-BiJ43Der.js → work-agent-prompt-S3Fe1kpV.js} +9 -9
  247. package/server/{workflows-DkTotz_m.js → workflows-BNvk5gbE.js} +12 -12
  248. package/server/workflows-Cw2-a_hn.js +2 -0
  249. package/server/{workspace-CuN0ev4Z.js → workspace-BhUnCpcq.js} +3 -3
  250. package/server/{workspace-DQ4vVivd.js → workspace-C-gP6JAz.js} +1 -1
  251. package/server/{workspace-manager-Beeo2aKF.js → workspace-manager-BKiMmb0c.js} +10 -10
  252. package/server/{workspace-manager-B1mYn0lN.js → workspace-manager-DD6PDqV8.js} +1 -1
  253. package/server/{workspace-metadata-BZC5BmoP.js → workspace-metadata-Cnq0snrf.js} +2 -2
  254. package/server/{workspace-metadata-Cy7_ZACL.js → workspace-metadata-D5gNR61G.js} +1 -1
  255. package/server/{workspaces-CGuzW1Ia.js → workspaces-DiAwBsb9.js} +91 -91
  256. package/sync-sources/hooks/record-cost-event.js +1 -1
  257. package/sync-sources/hooks/record-cost-event.js.map +1 -1
  258. package/server/cli-BFgrSWKV.js +0 -3
  259. package/server/deacon-swarm-CKyGJng1.js +0 -2
  260. package/server/forge-DJy3Zx4s.js +0 -2
  261. package/server/inspect-agent-DCJQm9Wu.js +0 -2
  262. package/server/merge-ops-h9OCnIVz.js +0 -2
  263. package/server/rally-DF5a3ioP.js +0 -3
  264. package/server/resume-BFLl-yLn.js +0 -3
  265. package/server/settings-CP3GGon2.js +0 -2
  266. package/server/specs-VwcFtEDi.js +0 -3
  267. package/server/supervisor-eWAAmXKu.js +0 -2
  268. package/server/workflows-B4C3lY9E.js +0 -2
package/server/server.js CHANGED
@@ -1,99 +1,99 @@
1
1
  import { a as __toCommonJS, i as __require, n as __esmMin, o as __toESM, r as __exportAll, t as __commonJSMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { $ as MODEL_DEPRECATIONS, $r as sessionFilePath, C as init_tier_table, Cr as AGENTS_DIR, D as canUseHarnessSync, Dt as getIssueWorkspacePath, E as validateTieredExecutionConfig, En as getIssuePrefix, F as getBuiltInDefaultHarness, Fn as init_projects, G as defaultBackgroundAiFeatures, Gn as resolveInfraRepo, Gr as getDocsTelemetryPath, Hr as getDocsBudgetStatePath, I as getKimiAnthropicBaseUrl, J as DEFAULT_WORKHORSES, Jr as getOverdeckHome, K as init_registry, Kn as resolveProjectFromIssue, Mr as OVERDECK_HOME, N as UnknownModelError, Or as CLAUDE_DIR, Pt as readIssueRecordSync, Q as MODEL_CAPABILITIES, Qn as setProjectSwarmPolicySync, R as getProviderForModelSync, Rn as listProjects, S as TieredExecutionConfigError, Sn as findProjectByPathSync, Sr as init_errors, T as resolveTieredExecutionEnabledForIssue, Ur as getDocsDisableStatePath, Vr as encodeClaudeProjectDir, Wn as registerProjectSync, Wr as getDocsIndexPath, Xr as isDevMode, Y as computeModelOrigin, Yr as init_paths, Z as resolveModel, Zn as setProjectAutoMergeDefaultSync, Zr as packageRoot, _ as getDefaultDocsConfig, ar as parseIssueIdSync, at as resolveModelIdSync, bn as extractTeamPrefix, br as TrackerError, cr as require_dist$1, d as loadConfigNoMigration, dt as ROLE_EFFORTS, en as flushAllPendingAutoCommits, f as loadConfigSync, fr as FsError, g as mergeConfigs, h as jsYaml, i as getConversationsConfig, it as modelSupportsImagesSync, jr as LOGS_DIR, k as init_harness_policy, kn as getProjectSync, kt as init_record, lt as COMPLIANCE_MODES, m as init_js_yaml, mr as GitHubApiError, n as clearConfigCache, nn as init_auto_commit, nr as extractPrefixSync, nt as hasModelCapabilitySync, o as getGlobalConfigPath, p as updateConversationsConfig, q as DEFAULT_ROLES, qn as resolveProjectFromIssueSync, qr as getLegacyHome, r as getConversationSearchConfigSync, rr as init_issue_id, rt as init_model_capabilities, s as init_load, t as init_config_yaml, tn as flushAutoCommits, tt as getModelEffortLevelsSync, u as isTldrEnabledSync, ut as PARENT_MODEL_REF, v as getDefaultTtsDaemonConfig, vr as ProcessSpawnError, w as resolveTieredExecutionEnabled, wn as findProjectByTeamSync, y as mergeTtsDaemonConfigs, z as init_providers, zn as listProjectsSync, zr as SYNC_SOURCES } from "./config-yaml-CqaAyn8y.js";
3
- import { _ as getDashboardIdentity, b as shouldRefuseHostDashboardPort, c as startUatTrainReconciler, d as openFlywheelRunReportForDashboard, f as pauseFlywheelRunForDashboard, g as runDashboardDbJob, h as startFlywheelRunForDashboard, l as stopUatTrainReconciler, m as resumeFlywheelRunForDashboard, p as readCurrentFlywheelStatusForDashboard, u as abortFlywheelRunForDashboard, v as isWorkspaceRepoRoot, y as readHostDashboardApiPort } from "./uat-train-CqN34zFx.js";
4
- import { $ as readLauncherPinnedSessionId, A as resolveAllowedHarness, B as cleanupUnreferencedConversationAttachments, C as handleConversationCreate, D as handleConversationStop, E as handleConversationResume, F as tmuxSessionExists, G as isManagedConversationAttachmentPath, H as extractConversationAttachmentPaths, I as waitForPiTuiReady, J as evaluateSpawnGuardrails, K as removeConversationAttachment, L as waitForTmuxSession$1, M as spawnConversationSession, N as startConversationModelBackfill, O as handleConversationSwitchModel, P as stopConversationRuntime, R as cleanupConversationAttachments, S as conversationSessionAliveFromState, T as handleConversationRestartAll, U as getConversationAttachmentsRoot, V as ensureConversationAttachmentDir, W as hasConversationAttachment, X as resolveAgentGitInfo, Y as invalidateAgentsCache, Z as resolveConversationGitInfo, _ as isPiControlChannelHarness, a as agentsRouteLayer, at as isRespawnPending, b as validateConversationControlAckOrigin, c as codexConversationPendingInput, d as handleConversationCodexApproval, dt as validateOrigin$1, et as resolveAgentHarness, f as handleConversationCompact, ft as validateOriginHeaders, g as handleConversationThinkingLevel, gt as jsonStringResponse, h as handleConversationPlanAction, ht as jsonResponse, it as resolvePiSessionPath, j as shouldReportUnresolvedLiveSession, k as isInsideGitWorkTree, l as deliverConversationViaControlChannel, lt as isTrustedOriginForHost, m as handleConversationDeliveryMethod, mt as getDefaultCwd, nt as resolveCodexRolloutPath, o as saveAgentStateAndEmitEvent, ot as waitForSessionRespawn, p as handleConversationControlAck, pt as httpHandler, q as runInBatches, rt as resolveJsonlPath, s as saveAgentStateAndEmitEventProgram, st as getHeaderFromMap, t as specialistsRouteLayer, tt as resolveClaudeSessionId, u as handleConversationAbort, v as pickDeliverAs, w as handleConversationDelete, x as conversationNeedsRunningRepair, y as resolveConversationDeliveryMethod, z as cleanupOrphanedConversationAttachments } from "./specialists-Dax7tqXC.js";
2
+ import { $ as MODEL_DEPRECATIONS, $r as sessionFilePath, C as init_tier_table, Cr as AGENTS_DIR, D as canUseHarnessSync, Dt as getIssueWorkspacePath, E as validateTieredExecutionConfig, En as getIssuePrefix, F as getBuiltInDefaultHarness, Fn as init_projects, G as defaultBackgroundAiFeatures, Gn as resolveInfraRepo, Gr as getDocsTelemetryPath, Hr as getDocsBudgetStatePath, I as getKimiAnthropicBaseUrl, J as DEFAULT_WORKHORSES, Jr as getOverdeckHome, K as init_registry, Kn as resolveProjectFromIssue, Mr as OVERDECK_HOME, N as UnknownModelError, Or as CLAUDE_DIR, Pt as readIssueRecordSync, Q as MODEL_CAPABILITIES, Qn as setProjectSwarmPolicySync, R as getProviderForModelSync, Rn as listProjects, S as TieredExecutionConfigError, Sn as findProjectByPathSync, Sr as init_errors, T as resolveTieredExecutionEnabledForIssue, Ur as getDocsDisableStatePath, Vr as encodeClaudeProjectDir, Wn as registerProjectSync, Wr as getDocsIndexPath, Xr as isDevMode, Y as computeModelOrigin, Yr as init_paths, Z as resolveModel, Zn as setProjectAutoMergeDefaultSync, Zr as packageRoot, _ as getDefaultDocsConfig, ar as parseIssueIdSync, at as resolveModelIdSync, bn as extractTeamPrefix, br as TrackerError, cr as require_dist$1, d as loadConfigNoMigration, dt as ROLE_EFFORTS, en as flushAllPendingAutoCommits, f as loadConfigSync, fr as FsError, g as mergeConfigs, h as jsYaml, i as getConversationsConfig, it as modelSupportsImagesSync, jr as LOGS_DIR, k as init_harness_policy, kn as getProjectSync, kt as init_record, lt as COMPLIANCE_MODES, m as init_js_yaml, mr as GitHubApiError, n as clearConfigCache, nn as init_auto_commit, nr as extractPrefixSync, nt as hasModelCapabilitySync, o as getGlobalConfigPath, p as updateConversationsConfig, q as DEFAULT_ROLES, qn as resolveProjectFromIssueSync, qr as getLegacyHome, r as getConversationSearchConfigSync, rr as init_issue_id, rt as init_model_capabilities, s as init_load, t as init_config_yaml, tn as flushAutoCommits, tt as getModelEffortLevelsSync, u as isTldrEnabledSync, ut as PARENT_MODEL_REF, v as getDefaultTtsDaemonConfig, vr as ProcessSpawnError, w as resolveTieredExecutionEnabled, wn as findProjectByTeamSync, y as mergeTtsDaemonConfigs, z as init_providers, zn as listProjectsSync, zr as SYNC_SOURCES } from "./config-yaml-BQs6GbD_.js";
3
+ import { _ as getDashboardIdentity, b as shouldRefuseHostDashboardPort, c as startUatTrainReconciler, d as openFlywheelRunReportForDashboard, f as pauseFlywheelRunForDashboard, g as runDashboardDbJob, h as startFlywheelRunForDashboard, l as stopUatTrainReconciler, m as resumeFlywheelRunForDashboard, p as readCurrentFlywheelStatusForDashboard, u as abortFlywheelRunForDashboard, v as isWorkspaceRepoRoot, y as readHostDashboardApiPort } from "./uat-train-B16skN7L.js";
4
+ import { $ as readLauncherPinnedSessionId, A as resolveAllowedHarness, B as cleanupUnreferencedConversationAttachments, C as handleConversationCreate, D as handleConversationStop, E as handleConversationResume, F as tmuxSessionExists, G as isManagedConversationAttachmentPath, H as extractConversationAttachmentPaths, I as waitForPiTuiReady, J as evaluateSpawnGuardrails, K as removeConversationAttachment, L as waitForTmuxSession$1, M as spawnConversationSession, N as startConversationModelBackfill, O as handleConversationSwitchModel, P as stopConversationRuntime, R as cleanupConversationAttachments, S as conversationSessionAliveFromState, T as handleConversationRestartAll, U as getConversationAttachmentsRoot, V as ensureConversationAttachmentDir, W as hasConversationAttachment, X as resolveAgentGitInfo, Y as invalidateAgentsCache, Z as resolveConversationGitInfo, _ as isPiControlChannelHarness, a as agentsRouteLayer, at as isRespawnPending, b as validateConversationControlAckOrigin, c as codexConversationPendingInput, d as handleConversationCodexApproval, dt as validateOrigin$1, et as resolveAgentHarness, f as handleConversationCompact, ft as validateOriginHeaders, g as handleConversationThinkingLevel, gt as jsonStringResponse, h as handleConversationPlanAction, ht as jsonResponse, it as resolvePiSessionPath, j as shouldReportUnresolvedLiveSession, k as isInsideGitWorkTree, l as deliverConversationViaControlChannel, lt as isTrustedOriginForHost, m as handleConversationDeliveryMethod, mt as getDefaultCwd, nt as resolveCodexRolloutPath, o as saveAgentStateAndEmitEvent, ot as waitForSessionRespawn, p as handleConversationControlAck, pt as httpHandler, q as runInBatches, rt as resolveJsonlPath, s as saveAgentStateAndEmitEventProgram, st as getHeaderFromMap, t as specialistsRouteLayer, tt as resolveClaudeSessionId, u as handleConversationAbort, v as pickDeliverAs, w as handleConversationDelete, x as conversationNeedsRunningRepair, y as resolveConversationDeliveryMethod, z as cleanupOrphanedConversationAttachments } from "./specialists-C6-b3YZb.js";
5
5
  import { a as init_activity_logger, i as emitDashboardLifecycleSync, n as emitActivityEntrySync, r as emitActivityTtsSync } from "./activity-logger-pcbf-e30.js";
6
- import { A as init_paths$1, O as OVERDECK_MIGRATION_PATH, d as getOverdeckDatabaseSync, f as init_infra, i as DbLive, k as getOverdeckDatabasePath, u as TmuxLive } from "./infra-_Kx1m9pm.js";
6
+ import { A as init_paths$1, O as OVERDECK_MIGRATION_PATH, d as getOverdeckDatabaseSync, f as init_infra, i as DbLive, k as getOverdeckDatabasePath, u as TmuxLive } from "./infra-DYwIXlK5.js";
7
7
  import { n as openDatabase, t as init_driver } from "./driver-D-HBOQa_.js";
8
- import { n as updateIssueRecord, t as init_record_update } from "./record-update-BltEmPge.js";
9
- import { A as listSessions, C as isHarnessProcessAlive, D as listPaneValues, F as sendKeys, J as init_child_env, K as buildChildEnvSync, N as resizeWindow, R as sessionExists, S as init_tmux, T as killSession, U as init_ui_theme, W as setUiTheme, i as capturePane, k as listSessionNames, l as ensureManagedTmuxContextOnce, n as buildTmuxArgs, o as createSession, q as buildChildEnvWithoutTmuxSync, x as getWindowDimensions } from "./tmux-U55cNGFG.js";
10
- import { a as init_event_store, i as initEventStore, n as getEventStore, r as getSharedDb } from "./event-store-KZnWUKWh.js";
8
+ import { n as updateIssueRecord, t as init_record_update } from "./record-update-Cb_pPM-F.js";
9
+ import { A as listSessions, C as isHarnessProcessAlive, D as listPaneValues, F as sendKeys, J as init_child_env, K as buildChildEnvSync, N as resizeWindow, R as sessionExists, S as init_tmux, T as killSession, U as init_ui_theme, W as setUiTheme, i as capturePane, k as listSessionNames, l as ensureManagedTmuxContextOnce, n as buildTmuxArgs, o as createSession, q as buildChildEnvWithoutTmuxSync, x as getWindowDimensions } from "./tmux-C3X2XmV0.js";
10
+ import { a as init_event_store, i as initEventStore, n as getEventStore, r as getSharedDb } from "./event-store-D4s6eQ6o.js";
11
11
  import { _ as FlywheelRunId, a as getHarnessBehavior, b as DomainEvent, c as FlywheelStats, g as WS_METHODS, h as PanRpcGroup, m as PanRpcError, o as ContextLayerSaveRequest, s as ContextPreviewRequest, t as init_src, v as FlywheelStatus, x as MemoryObservation, y as EDITORS } from "./src-By3D85Ry.js";
12
- import { a as fixStuckReadyForMerge, c as init_review_status, i as fixStuckCommentedReviews, l as loadReadyForMergeFlags, n as clearReviewStatus, o as getReviewStatus, r as clearStuckMergeStatuses, s as getReviewStatusSync, u as loadReviewStatuses, v as setReviewStatus, y as setReviewStatusSync } from "./review-status-DANr0t-v.js";
13
- import { a as EventStoreService, c as ReadModelService, d as init_read_model, f as toAgentResolution, i as init_issue_lifecycle, l as ReadModelServiceLive, m as toRole, n as IssueLifecycleLive, o as EventStoreServiceLive, p as toAgentStatus, s as init_domain_services, t as IssueLifecycle } from "./issue-lifecycle-CFR8TJ22.js";
14
- import { c as listAllAgentsSync, n as AgentsResolverLive, o as init_agents } from "./agents-BHBxr8c9.js";
15
- import { i as init_paths$2, l as resolveObservationsFile, r as ensureParentDir, s as resolveIssueMemoryRoot, t as assertMemorySafeSegment } from "./paths-Btkc8mzp.js";
16
- import { i as recordBriefingSessionStart, n as ensureSessionContextBriefingFile, r as init_briefing_freshness, t as appendFreshBriefingUpdate } from "./briefing-freshness-DuxIE1yr.js";
17
- import { n as listFeatureRegistryEntries, t as init_feature_registry_storage } from "./feature-registry-storage-DaP-bQxO.js";
18
- import { a as diffAgainstMain, c as diffCheckpoints, d as diffPatchSinceCommit, f as findCommitAtTime, h as listCheckpoints, l as diffFilesAgainstHead, m as init_checkpoint_manager, o as diffAgainstMainFiles, s as diffCheckpointFiles, t as captureCheckpoint, u as diffPatchFilesAgainstHead } from "./checkpoint-manager-DF6hb9Jw.js";
19
- import { Bt as resolveImplicitStaffing, Dt as captureTranscriptUserRecordSnapshot, Fn as getAgentStateSync, L as messageAgent, Nn as getAgentState, Ot as init_transcript_landing, Pn as getAgentStateFilePath, Qt as injectPiConversationMemory, R as init_operator_interventions, St as deliverAgentMessage, Yn as saveAgentStateSync, Yt as getProviderAuthMode, _t as init_config, a as listRunningAgentsSync, an as getClaudeAuthStatus, at as init_concurrency, br as checkCodexAuthStatus, bt as saveCloisterConfigSync, fr as waitForReadySignal, gn as init_openai_auth, hn as getOpenAIAuthStatus, i as listRunningAgents, jn as getAgentDir, kt as probeTranscriptSince, lr as normalizeAgentId, m as init_tier_supervisor, mr as getAgentRuntimeStateSync, n as init_queries, nr as readAgentHarnessModelRecordSync, on as init_claude_auth, p as deliverCommitForReview, pr as getAgentRuntimeState, r as listAgentStates, rt as emergencyBrake, s as init_agents$1, tr as init_agent_record_sync, un as getProviderEnvForModel, v as supervisorAgentId, vt as loadCloisterConfig, xr as init_codex_auth, xt as shouldAutoStart, yt as loadCloisterConfigSync, z as operatorInterventionEvent, zt as init_staffing } from "./queries-C0LCGG21.js";
20
- import { a as getCostForIssueAggregateSync, c as getDailyTrendsSync, d as init_cost_sync, l as getModelRollupSync, n as getBackgroundCostBySourceSync, p as queryCostEventsSync, r as getCavemanExperimentDataSync, s as getCostsByIssueSync, u as getTodayCostSync } from "./cost-sync-BYnmnMkY.js";
21
- import { c as getAgentsNeedingAttention, d as CostResolverLive, f as CostWriter, l as CostDoorLive, n as readCloisterStateFile, o as generateHealthSummary, s as getAgentHealth, t as getCloisterService, u as CostResolver } from "./service-CLVBC_1Y.js";
12
+ import { a as fixStuckReadyForMerge, c as init_review_status, i as fixStuckCommentedReviews, l as loadReadyForMergeFlags, n as clearReviewStatus, o as getReviewStatus, r as clearStuckMergeStatuses, s as getReviewStatusSync, u as loadReviewStatuses, v as setReviewStatus, y as setReviewStatusSync } from "./review-status-By86XA6Z.js";
13
+ import { a as EventStoreService, c as ReadModelService, d as init_read_model, f as toAgentResolution, i as init_issue_lifecycle, l as ReadModelServiceLive, m as toRole, n as IssueLifecycleLive, o as EventStoreServiceLive, p as toAgentStatus, s as init_domain_services, t as IssueLifecycle } from "./issue-lifecycle-DR6n40bh.js";
14
+ import { c as listAllAgentsSync, n as AgentsResolverLive, o as init_agents } from "./agents--ljN-wVY.js";
15
+ import { i as init_paths$2, l as resolveObservationsFile, r as ensureParentDir, s as resolveIssueMemoryRoot, t as assertMemorySafeSegment } from "./paths-DIoslfsu.js";
16
+ import { i as recordBriefingSessionStart, n as ensureSessionContextBriefingFile, r as init_briefing_freshness, t as appendFreshBriefingUpdate } from "./briefing-freshness-B1delh4l.js";
17
+ import { n as listFeatureRegistryEntries, t as init_feature_registry_storage } from "./feature-registry-storage-CQZukiLm.js";
18
+ import { a as diffAgainstMain, c as diffCheckpoints, d as diffPatchSinceCommit, f as findCommitAtTime, h as listCheckpoints, l as diffFilesAgainstHead, m as init_checkpoint_manager, o as diffAgainstMainFiles, s as diffCheckpointFiles, t as captureCheckpoint, u as diffPatchFilesAgainstHead } from "./checkpoint-manager-D6_71Rpb.js";
19
+ import { Bt as resolveImplicitStaffing, Dt as captureTranscriptUserRecordSnapshot, Fn as getAgentStateSync, L as messageAgent, Nn as getAgentState, Ot as init_transcript_landing, Pn as getAgentStateFilePath, Qt as injectPiConversationMemory, R as init_operator_interventions, St as deliverAgentMessage, Yn as saveAgentStateSync, Yt as getProviderAuthMode, _t as init_config, a as listRunningAgentsSync, an as getClaudeAuthStatus, at as init_concurrency, br as checkCodexAuthStatus, bt as saveCloisterConfigSync, fr as waitForReadySignal, gn as init_openai_auth, hn as getOpenAIAuthStatus, i as listRunningAgents, jn as getAgentDir, kt as probeTranscriptSince, lr as normalizeAgentId, m as init_tier_supervisor, mr as getAgentRuntimeStateSync, n as init_queries, nr as readAgentHarnessModelRecordSync, on as init_claude_auth, p as deliverCommitForReview, pr as getAgentRuntimeState, r as listAgentStates, rt as emergencyBrake, s as init_agents$1, tr as init_agent_record_sync, un as getProviderEnvForModel, v as supervisorAgentId, vt as loadCloisterConfig, xr as init_codex_auth, xt as shouldAutoStart, yt as loadCloisterConfigSync, z as operatorInterventionEvent, zt as init_staffing } from "./queries-srgusoi8.js";
20
+ import { a as getCostForIssueAggregateSync, c as getDailyTrendsSync, d as init_cost_sync, l as getModelRollupSync, n as getBackgroundCostBySourceSync, p as queryCostEventsSync, r as getCavemanExperimentDataSync, s as getCostsByIssueSync, u as getTodayCostSync } from "./cost-sync-CVIAsrhB.js";
21
+ import { c as getAgentsNeedingAttention, d as CostResolverLive, f as CostWriter, l as CostDoorLive, n as readCloisterStateFile, o as generateHealthSummary, s as getAgentHealth, t as getCloisterService, u as CostResolver } from "./service-COB19Uhm.js";
22
22
  import { t as init_behavior } from "./behavior-CWqNMqE5.js";
23
- import { n as AgentStateServiceLive } from "./agent-state-service-nUD3qfob.js";
24
- import { a as init_tracker_config, i as initTrackerConfigCache, n as getLinearApiKey, r as getRallyConfig, t as getGitHubConfig } from "./tracker-config-OkdbaUCm.js";
23
+ import { n as AgentStateServiceLive } from "./agent-state-service-BpAKmodj.js";
24
+ import { a as init_tracker_config, i as initTrackerConfigCache, n as getLinearApiKey, r as getRallyConfig, t as getGitHubConfig } from "./tracker-config-5Cabf1MU.js";
25
25
  import { c as WorkspaceCreateError, i as PlanEmpty, l as WorkspaceNotFound, n as AgentStartError, o as TrackerApiError, t as AgentAlreadyRunning, u as init_typed_errors } from "./typed-errors-n_Tnb4Fh.js";
26
- import { i as init_linear_client, r as LinearClientOptionalLive, t as LinearClient } from "./linear-client-CDH2D6Qy.js";
27
- import { i as init_github_client, r as GitHubClientOptionalLive, t as GitHubClient } from "./github-client-BwBU41jK.js";
28
- import { i as init_rally_client, r as RallyClientOptionalLive, t as RallyClient } from "./rally-client-Bo4hNcCZ.js";
29
- import { a as resolveTrackerTypeSync, i as resolveGitHubIssueSync, n as init_tracker_utils } from "./tracker-utils-CghXMF3q.js";
30
- import { a as CacheService, i as startSharedIssueService, n as init_issue_service_singleton, o as init_cache_service, r as issue_service_singleton_exports, s as parseIntegerHeader, t as getSharedIssueService } from "./issue-service-singleton-ldvUUXi3.js";
31
- import { i as ensureInternalTokenSync, o as getInternalTokenSync, s as init_internal_token, t as INTERNAL_TOKEN_HEADER } from "./internal-token-Cl-1IxaE.js";
32
- import { a as setPipelineHandlerSync, t as init_pipeline_notifier } from "./pipeline-notifier-DTd19f18.js";
33
- import { c as init_review_status_sync, i as getMergeBlockerReconcileCandidates } from "./review-status-sync-BjTUJ5fx.js";
26
+ import { i as init_linear_client, r as LinearClientOptionalLive, t as LinearClient } from "./linear-client-BHjs0luk.js";
27
+ import { i as init_github_client, r as GitHubClientOptionalLive, t as GitHubClient } from "./github-client-CWEFlCqL.js";
28
+ import { i as init_rally_client, r as RallyClientOptionalLive, t as RallyClient } from "./rally-client-D8h73ei_.js";
29
+ import { a as resolveTrackerTypeSync, i as resolveGitHubIssueSync, n as init_tracker_utils } from "./tracker-utils-Cl-Eaqrv.js";
30
+ import { a as CacheService, i as startSharedIssueService, n as init_issue_service_singleton, o as init_cache_service, r as issue_service_singleton_exports, s as parseIntegerHeader, t as getSharedIssueService } from "./issue-service-singleton-DKKPneH4.js";
31
+ import { i as ensureInternalTokenSync, o as getInternalTokenSync, s as init_internal_token, t as INTERNAL_TOKEN_HEADER } from "./internal-token--50JhWP7.js";
32
+ import { a as setPipelineHandlerSync, t as init_pipeline_notifier } from "./pipeline-notifier-CuBONomU.js";
33
+ import { c as init_review_status_sync, i as getMergeBlockerReconcileCandidates } from "./review-status-sync-DUQmrLkK.js";
34
34
  import { a as PAN_DIRNAME, f as asPanSpecDocument, i as PAN_CONTINUE_FILENAME, p as init_types } from "./types-DOjWNv3Z.js";
35
- import { C as transitionToMerging, _ as markFailed, c as isFlywheelGloballyPaused, d as listDuePendingAutoMerges, f as listProblemAutoMerges, g as markBlocked, n as getActionableAutoMerge, o as init_merge_sync, t as cancelPending, u as listActiveAutoMerges, v as markMerged, x as scheduleAutoMergeWithResult, y as requeueToPending } from "./merge-sync-B2KSk54U.js";
36
- import { C as init_specs, D as writeSpecForIssue, E as writeSpecDocument, a as findWorkspaceDraftPlan, m as readWorkspacePlanSync, o as init_io, p as readWorkspacePlan, r as findPlan, s as isPlanningComplete, u as readPlan, v as init_types$1, x as findSpecByIssue, y as subItemsOf } from "./io-DkC4sFSy.js";
37
- import { C as restartCliproxy, S as readPidFile, T as stopCliproxy, b as isCliproxyInstalled, d as getCliproxyAuthDir, o as bridgeCodexAuthToCliproxy, v as init_cliproxy, w as startCliproxy, x as isCliproxyRunning, y as installCliproxy } from "./cliproxy-CGBA1GzA.js";
38
- import { $ as updateConversationForkFallbackReason, A as isAgentConversationName, B as removeFavorite, C as getConversationByTmuxSession, D as importLegacyConversation, F as markConversationEnded, H as setClearedToConvId, I as markConversationRunning, J as setForkRequest, M as listConversations, N as listFavoritedIds, O as incrementForkRetryCount, P as markConversationActive, S as getConversationByName, T as getStuckForks, U as setConversationClaudeSessionId, X as unarchiveConversation, Y as setImportedConversationLinks, Z as updateConversationCost, _ as canRefineTitle, b as getConversationByClaudeSessionId, et as updateConversationTitle, gt as getDiscoveredSessionBySessionId, h as archiveConversation, j as listArchivedConversationsWithEnrichment, k as init_conversations, q as setFavorite, tt as updateForkStatus, v as canReplaceTitle, w as getConversationLedgerCosts, x as getConversationById, y as createConversation, yt as init_discovered_sessions, z as recordConversationHandoff } from "./conversations-BX5aD-6F.js";
39
- import { n as isBackgroundFeatureEnabled, t as init_features } from "./features-DqvaoQoa.js";
40
- import { i as init_settings, r as getMemoryWorkerConcurrency, t as areMemoryObservationsEnabled } from "./settings-gJrdLZy2.js";
41
- import { i as updateMemoryHealth, n as extractWithProviderPolicy, r as init_health, t as init_providers$1 } from "./providers-C-yWibCk.js";
42
- import { i as normalizeModelOverrideSync, n as init_launcher_generator, r as init_model_validation, t as generateLauncherScriptSync } from "./launcher-generator-BXLM9f4b.js";
43
- import { a as init_claude_permissions, r as getClaudePermissionFlagsStringSync } from "./claude-permissions-BB6agcOZ.js";
44
- import { a as globalContextFile$1, f as resolveProjectContextFile, h as workspaceContextFile, n as codexGlobalContextFile, o as init_layers, p as resolveWorkspaceContextFile, r as ensureProjectLayer } from "./layers-gCJlK62m.js";
45
- import { l as init_codex, s as findRolloutPath } from "./codex-sgWVCGUd.js";
46
- import { f as init_config$1, m as loadConfigSync$1, s as getDashboardApiUrlSync } from "./config-DfaUXr6r.js";
47
- import { C as setMergeTrainEnabled, S as setFlywheelRequireUatBeforeMerge, b as setFlywheelAutoPickupBacklog, c as isCloisterSpawnsPausedSync, d as isFlywheelAutoPickupBacklog, f as isFlywheelGloballyPaused$1, g as setCloisterSpawnsPausedSync, h as setBootReconciliationDecision, m as isMergeTrainEnabled, o as getSetting, p as isFlywheelRequireUatBeforeMerge, r as getBootReconciliationState, s as init_control_settings, u as isDeaconGloballyPausedSync, v as setDeaconGloballyPausedSync, w as setSetting } from "./control-settings-BguNQ1F_.js";
48
- import { c as isStateMigrated, i as ensureStateWorktree, o as init_state_home, r as clearStateMigrationCache, s as inspectStateMigration } from "./state-home-Bur1y4oH.js";
49
- import { i as checkPrdGateSync, t as init_pan_dir } from "./pan-dir-BTw4MdSe.js";
50
- import { a as init_lifecycle_io, t as appendContinueSessionEntryForIssue } from "./lifecycle-io-FfPUtz-y.js";
51
- import { r as init_swarm_readiness, t as analyzeSwarmReadiness } from "./swarm-readiness-sXB1vhzo.js";
35
+ import { C as transitionToMerging, _ as markFailed, c as isFlywheelGloballyPaused, d as listDuePendingAutoMerges, f as listProblemAutoMerges, g as markBlocked, n as getActionableAutoMerge, o as init_merge_sync, t as cancelPending, u as listActiveAutoMerges, v as markMerged, x as scheduleAutoMergeWithResult, y as requeueToPending } from "./merge-sync-STpg1hk3.js";
36
+ import { C as init_specs, D as writeSpecForIssue, E as writeSpecDocument, a as findWorkspaceDraftPlan, m as readWorkspacePlanSync, o as init_io, p as readWorkspacePlan, r as findPlan, s as isPlanningComplete, u as readPlan, v as init_types$1, x as findSpecByIssue, y as subItemsOf } from "./io-Cv9xQTks.js";
37
+ import { C as restartCliproxy, S as readPidFile, T as stopCliproxy, b as isCliproxyInstalled, d as getCliproxyAuthDir, o as bridgeCodexAuthToCliproxy, v as init_cliproxy, w as startCliproxy, x as isCliproxyRunning, y as installCliproxy } from "./cliproxy-Dw42Xy3t.js";
38
+ import { $ as updateConversationForkFallbackReason, A as isAgentConversationName, B as removeFavorite, C as getConversationByTmuxSession, D as importLegacyConversation, F as markConversationEnded, H as setClearedToConvId, I as markConversationRunning, J as setForkRequest, M as listConversations, N as listFavoritedIds, O as incrementForkRetryCount, P as markConversationActive, S as getConversationByName, T as getStuckForks, U as setConversationClaudeSessionId, X as unarchiveConversation, Y as setImportedConversationLinks, Z as updateConversationCost, _ as canRefineTitle, b as getConversationByClaudeSessionId, et as updateConversationTitle, gt as getDiscoveredSessionBySessionId, h as archiveConversation, j as listArchivedConversationsWithEnrichment, k as init_conversations, q as setFavorite, tt as updateForkStatus, v as canReplaceTitle, w as getConversationLedgerCosts, x as getConversationById, y as createConversation, yt as init_discovered_sessions, z as recordConversationHandoff } from "./conversations-CxOWHNzv.js";
39
+ import { n as isBackgroundFeatureEnabled, t as init_features } from "./features-Dyqi6N8f.js";
40
+ import { i as init_settings, r as getMemoryWorkerConcurrency, t as areMemoryObservationsEnabled } from "./settings-DNPAf2X_.js";
41
+ import { i as updateMemoryHealth, n as extractWithProviderPolicy, r as init_health, t as init_providers$1 } from "./providers-CAlK2If5.js";
42
+ import { i as normalizeModelOverrideSync, n as init_launcher_generator, r as init_model_validation, t as generateLauncherScriptSync } from "./launcher-generator-C-FU4PNT.js";
43
+ import { a as init_claude_permissions, r as getClaudePermissionFlagsStringSync } from "./claude-permissions-CcncrTNF.js";
44
+ import { a as globalContextFile$1, f as resolveProjectContextFile, h as workspaceContextFile, n as codexGlobalContextFile, o as init_layers, p as resolveWorkspaceContextFile, r as ensureProjectLayer } from "./layers-C-6lBDUE.js";
45
+ import { l as init_codex, s as findRolloutPath } from "./codex-D5RyWzNL.js";
46
+ import { f as init_config$1, m as loadConfigSync$1, s as getDashboardApiUrlSync } from "./config-Cntj_tFu.js";
47
+ import { C as setMergeTrainEnabled, S as setFlywheelRequireUatBeforeMerge, b as setFlywheelAutoPickupBacklog, c as isCloisterSpawnsPausedSync, d as isFlywheelAutoPickupBacklog, f as isFlywheelGloballyPaused$1, g as setCloisterSpawnsPausedSync, h as setBootReconciliationDecision, m as isMergeTrainEnabled, o as getSetting, p as isFlywheelRequireUatBeforeMerge, r as getBootReconciliationState, s as init_control_settings, u as isDeaconGloballyPausedSync, v as setDeaconGloballyPausedSync, w as setSetting } from "./control-settings-bxOCLsuE.js";
48
+ import { c as isStateMigrated, i as ensureStateWorktree, o as init_state_home, r as clearStateMigrationCache, s as inspectStateMigration } from "./state-home-BzzKVh_C.js";
49
+ import { i as checkPrdGateSync, t as init_pan_dir } from "./pan-dir-D3vABXMs.js";
50
+ import { a as init_lifecycle_io, t as appendContinueSessionEntryForIssue } from "./lifecycle-io-Dcu-_ktz.js";
51
+ import { r as init_swarm_readiness, t as analyzeSwarmReadiness } from "./swarm-readiness-CEOrP9rE.js";
52
52
  import { n as require_auth_errors, r as require_token_error, t as require_token_util } from "./token-util-BWNpH96m.js";
53
- import { _ as init_codex_conversation_parser, a as contextUsageFromParseResult, c as parseEntireConversation, d as init_pi_conversation_parser, f as isPiSessionFile, g as parseOhmypiConversationMessages, h as isOhmypiSessionFile, i as computeContextUsage, l as parseFromLastCompactBoundary, m as init_ohmypi_conversation_parser, n as gateSnapshotEmission, o as summarizeConversationActivity, p as parsePiConversationMessages, r as watchConversation, s as parseConversationMessages, t as init_conversation_service, v as parseCodexConversationMessages } from "./conversation-service-mFVFdDQK.js";
54
- import { c as countPendingAskUserQuestionsForAgent, h as detectAwaitingInputFromPaneSync, l as getAgentJsonlMtime, m as detectAwaitingInputForAgent, o as getRuntimeForAgent, p as scanPendingInputsPromise, s as computeAgentEnrichment } from "./stuck-remediation-B699-p8v.js";
55
- import { i as CostThresholdError, l as embed, s as parseRelativeTime } from "./scanner-BlZ2vB7j.js";
56
- import { c as tailEventsSync, n as deduplicateEventsSync, o as readEventsSync } from "./events-2eFUPdqz.js";
57
- import { n as recordBackgroundAiCost, t as init_cost } from "./cost-DuZ5vlv-.js";
58
- import { S as writeLatestFlywheelStatus, _ as readCurrentLatestFlywheelStatus, b as subscribeLatestFlywheelStatus, f as getFlywheelRunDetail, h as listFlywheelRuns, l as buildClassifyLookups, m as isFlywheelRunId, y as resolveLiveFlywheelRunId } from "./flywheel-CqkO3cDj.js";
59
- import { C as hasDashboardInternalToken, D as getWorkspacePathForIssue, E as rejectUnsafeDashboardMutationRequest, S as dashboardSessionCookieHeader, T as rejectUnauthorizedDashboardSessionMintRequest, _ as syncCacheSync, b as resolveIssueHeadlineCost, d as reconcile$1, f as reconcilePiTranscripts, g as rebuildCacheSync, h as getCostsForIssueSync, l as resumeQueuedMerges, m as migrateAllSessionsSync, p as reclassifyUnknownCostEventsSync, t as workspacesRouteLayer, u as syncWalFromAllProjects, v as processPendingFeedbackDeliveries, w as rejectUnauthorizedDashboardRequest, x as dashboardCsrfToken, y as getCachedRunningAgents } from "./workspaces-CGuzW1Ia.js";
60
- import { B as applyIssueBlocksMainLabel, Bt as formatUptime, F as setAgentStatusChangedNotifier, Ft as paneShowsClaudeBootBlockingScreen, G as applyIssueVetoedLabel, Gt as isSmeeConfiguredSync, H as applyIssueParkedLabel, Ht as getCurrentDockerStats, I as setAgentStoppedNotifier, J as removeIssueParkedLabel, K as removeIssueBlocksMainLabel, Kt as startSmeeProcessSync, L as setMergeReadyNotifier, O as loadConfig, Q as createInFlightGuard, U as applyIssueReadyLabel, V as applyIssueObjectionLabel, Vt as getContainerHistory, W as applyIssueReleasedLabel, Wt as getSystemHealthSnapshot, X as removeIssueReleasedLabel, Y as removeIssueReadyLabel, Z as removeIssueVetoedLabel, _t as withConcurrencyLimit, at as listBootReconciliationCandidates, it as isBootReconciliationCandidate, k as loadState, n as assessDeaconPatrolFreshness, ot as startBootReconciliation, q as removeIssueObjectionLabel, t as applyBootReconciliationDecision, x as getDeaconLogs, zt as getResourceStacks } from "./deacon-Dru5onpk.js";
61
- import { l as detectPlatform, u as init_platform } from "./workspace-manager-Beeo2aKF.js";
62
- import { O as init_specialists, b as getReviewerSessionName } from "./specialists-GF42OOqd.js";
63
- import { c as findPrdAtStatusSync, l as init_prd_locations } from "./archive-planning-CzCW9Ifl.js";
64
- import { a as getShadowState, s as init_shadow_state } from "./shadow-state-RptE9Cau.js";
65
- import { T as verifyAppCanMerge, d as getPullRequestState, f as init_github_app, l as getMergeBackendStatus, p as isGitHubAppConfigured } from "./github-app-tUbb8Ldr.js";
66
- import { n as init_issue_closed, t as clearIssueClosedCache } from "./issue-closed-Cpl4VDUM.js";
67
- import { a as writeFeedbackFile, i as init_feedback_writer } from "./feedback-writer-Dn8o9ZyE.js";
68
- import { b as resolveSwarmPolicy } from "./deacon-swarm-BPmBmSoU.js";
53
+ import { _ as init_codex_conversation_parser, a as contextUsageFromParseResult, c as parseEntireConversation, d as init_pi_conversation_parser, f as isPiSessionFile, g as parseOhmypiConversationMessages, h as isOhmypiSessionFile, i as computeContextUsage, l as parseFromLastCompactBoundary, m as init_ohmypi_conversation_parser, n as gateSnapshotEmission, o as summarizeConversationActivity, p as parsePiConversationMessages, r as watchConversation, s as parseConversationMessages, t as init_conversation_service, v as parseCodexConversationMessages } from "./conversation-service-TZsQjkjT.js";
54
+ import { c as countPendingAskUserQuestionsForAgent, h as detectAwaitingInputFromPaneSync, l as getAgentJsonlMtime, m as detectAwaitingInputForAgent, o as getRuntimeForAgent, p as scanPendingInputsPromise, s as computeAgentEnrichment } from "./stuck-remediation-DbwhGg3g.js";
55
+ import { i as CostThresholdError, l as embed, s as parseRelativeTime } from "./scanner-BZmDUjyD.js";
56
+ import { c as tailEventsSync, n as deduplicateEventsSync, o as readEventsSync } from "./events-D1hMLl2a.js";
57
+ import { n as recordBackgroundAiCost, t as init_cost } from "./cost-Dlh0IEiv.js";
58
+ import { S as writeLatestFlywheelStatus, _ as readCurrentLatestFlywheelStatus, b as subscribeLatestFlywheelStatus, f as getFlywheelRunDetail, h as listFlywheelRuns, l as buildClassifyLookups, m as isFlywheelRunId, y as resolveLiveFlywheelRunId } from "./flywheel-FTInS73X.js";
59
+ import { C as hasDashboardInternalToken, D as getWorkspacePathForIssue, E as rejectUnsafeDashboardMutationRequest, S as dashboardSessionCookieHeader, T as rejectUnauthorizedDashboardSessionMintRequest, _ as syncCacheSync, b as resolveIssueHeadlineCost, d as reconcile$1, f as reconcilePiTranscripts, g as rebuildCacheSync, h as getCostsForIssueSync, l as resumeQueuedMerges, m as migrateAllSessionsSync, p as reclassifyUnknownCostEventsSync, t as workspacesRouteLayer, u as syncWalFromAllProjects, v as processPendingFeedbackDeliveries, w as rejectUnauthorizedDashboardRequest, x as dashboardCsrfToken, y as getCachedRunningAgents } from "./workspaces-DiAwBsb9.js";
60
+ import { B as applyIssueBlocksMainLabel, Bt as formatUptime, F as setAgentStatusChangedNotifier, Ft as paneShowsClaudeBootBlockingScreen, G as applyIssueVetoedLabel, Gt as isSmeeConfiguredSync, H as applyIssueParkedLabel, Ht as getCurrentDockerStats, I as setAgentStoppedNotifier, J as removeIssueParkedLabel, K as removeIssueBlocksMainLabel, Kt as startSmeeProcessSync, L as setMergeReadyNotifier, O as loadConfig, Q as createInFlightGuard, U as applyIssueReadyLabel, V as applyIssueObjectionLabel, Vt as getContainerHistory, W as applyIssueReleasedLabel, Wt as getSystemHealthSnapshot, X as removeIssueReleasedLabel, Y as removeIssueReadyLabel, Z as removeIssueVetoedLabel, _t as withConcurrencyLimit, at as listBootReconciliationCandidates, it as isBootReconciliationCandidate, k as loadState, n as assessDeaconPatrolFreshness, ot as startBootReconciliation, q as removeIssueObjectionLabel, t as applyBootReconciliationDecision, x as getDeaconLogs, zt as getResourceStacks } from "./deacon-D2-xTesT.js";
61
+ import { l as detectPlatform, u as init_platform } from "./workspace-manager-BKiMmb0c.js";
62
+ import { O as init_specialists, b as getReviewerSessionName } from "./specialists-Dp8ABxVh.js";
63
+ import { c as findPrdAtStatusSync, l as init_prd_locations } from "./archive-planning-BW3te5Vw.js";
64
+ import { a as getShadowState, s as init_shadow_state } from "./shadow-state-CTgub0ME.js";
65
+ import { T as verifyAppCanMerge, d as getPullRequestState, f as init_github_app, l as getMergeBackendStatus, p as isGitHubAppConfigured } from "./github-app-CRUIvHuM.js";
66
+ import { n as init_issue_closed, t as clearIssueClosedCache } from "./issue-closed-CyqtoFUj.js";
67
+ import { a as writeFeedbackFile, i as init_feedback_writer } from "./feedback-writer-BujzReaQ.js";
68
+ import { b as resolveSwarmPolicy } from "./deacon-swarm-yWKQhxiX.js";
69
69
  import { a as init_boot_gates, i as formatBootGateState, o as resolveBootGates } from "./no-resume-mode-Gh5R_YLF.js";
70
70
  import { c as computeCohort, d as computeStats, f as computeWaves, h as selectNeedsPlanning, l as computeEpicGroups, m as normalizeGate, s as classifyIssue, u as computeLanes } from "./pickup-BtvRBbvI.js";
71
- import { n as parseSequenceMd, r as writeSequenceMd, t as init_sequence_io } from "./sequence-io-ylyDtz2J.js";
72
- import { a as loadWorkspaceMetadataSync } from "./workspace-metadata-BZC5BmoP.js";
73
- import { i as resolveAutoSpawnOnFinalize, o as spawnPlanningSession } from "./spawn-planning-session-CoS6LTc6.js";
74
- import { d as killRemoteAgent, m as loadRemoteAgentState, o as getRemoteAgentOutput, r as checkRemoteSpendCap, s as init_remote_agents, v as sendToRemoteAgent, y as spawnRemoteAgent } from "./remote-agents-C2C6z9tj.js";
75
- import { r as spawnInspectAgent } from "./inspect-agent-BqyZ4pCo.js";
76
- import { n as init_github_pr_lookup, r as lookupPullRequestNumberForBranch, t as githubPrLookupSource } from "./github-pr-lookup-BS5PqkJb.js";
77
- import { a as init_pull_requests, c as getIssuePrTabCacheGeneration, i as fetchIssuePullRequestDiff, l as init_pr_tab_cache, n as fetchIssuePullRequest, o as bumpIssuePrTabCacheGeneration, r as fetchIssuePullRequestDetails, s as getCachedIssuePrTabResponse, t as fetchIssueCheckRuns, u as setCachedIssuePrTabResponse } from "./pull-requests-NDDNtqNq.js";
78
- import { t as enrichReviewStatus } from "./review-status-enrichment-DwOg4UfL.js";
79
- import { i as runMemoryFtsTransaction, n as init_fts_db, r as runMemoryFtsStatement, t as closeMemoryFtsDatabases } from "./fts-db-Bgzn2RO7.js";
80
- import { c as init_pending, l as maybeTriggerStatusRollup, o as readRecentObservations, r as init_rollup, u as writePendingTurn } from "./rollup-Bu0f2EyN.js";
81
- import { n as getTldrDaemonServiceSync, r as init_tldr_daemon } from "./tldr-daemon-Bam7Xhoo.js";
82
- import { T as listGitOperationsSync, w as init_git_activity } from "./merge-agent-D6DNhe9j.js";
71
+ import { n as parseSequenceMd, r as writeSequenceMd, t as init_sequence_io } from "./sequence-io-BuUx1ZAY.js";
72
+ import { a as loadWorkspaceMetadataSync } from "./workspace-metadata-Cnq0snrf.js";
73
+ import { i as resolveAutoSpawnOnFinalize, o as spawnPlanningSession } from "./spawn-planning-session-D0-NlNK1.js";
74
+ import { d as killRemoteAgent, m as loadRemoteAgentState, o as getRemoteAgentOutput, r as checkRemoteSpendCap, s as init_remote_agents, v as sendToRemoteAgent, y as spawnRemoteAgent } from "./remote-agents-C4a4DdTj.js";
75
+ import { r as spawnInspectAgent } from "./inspect-agent-CLkwfLRx.js";
76
+ import { n as init_github_pr_lookup, r as lookupPullRequestNumberForBranch, t as githubPrLookupSource } from "./github-pr-lookup-D6CS9vtG.js";
77
+ import { a as init_pull_requests, c as getIssuePrTabCacheGeneration, i as fetchIssuePullRequestDiff, l as init_pr_tab_cache, n as fetchIssuePullRequest, o as bumpIssuePrTabCacheGeneration, r as fetchIssuePullRequestDetails, s as getCachedIssuePrTabResponse, t as fetchIssueCheckRuns, u as setCachedIssuePrTabResponse } from "./pull-requests-CxfrQiWX.js";
78
+ import { t as enrichReviewStatus } from "./review-status-enrichment-CRQAO27G.js";
79
+ import { i as runMemoryFtsTransaction, n as init_fts_db, r as runMemoryFtsStatement, t as closeMemoryFtsDatabases } from "./fts-db-BRfS5ukG.js";
80
+ import { c as init_pending, l as maybeTriggerStatusRollup, o as readRecentObservations, r as init_rollup, u as writePendingTurn } from "./rollup-CqiFgtBp.js";
81
+ import { n as getTldrDaemonServiceSync, r as init_tldr_daemon } from "./tldr-daemon-CGwDr28O.js";
82
+ import { T as listGitOperationsSync, w as init_git_activity } from "./merge-agent-Bu1hw9cz.js";
83
83
  import { t as readVerificationArtifact } from "./verification-artifact-DK1xb1zG.js";
84
- import { t as getAgentCommandSync } from "./settings-Cqa-8nyj.js";
85
- import { n as init_review_agent, r as isExtendedReviewEnabled } from "./review-agent-BZvk0N5G.js";
86
- import { r as isRemoteAvailable, t as createFlyProviderFromConfig } from "./remote-rN0ecjHE.js";
87
- import { n as init_claude_settings_overlay, t as detectProviderEnvConflicts } from "./claude-settings-overlay-CAq2oFSK.js";
88
- import { a as init_query_expansion, i as clearQueryExpansionCache, n as init_injection, o as buildMatchQuery, r as injectPromptTimeMemory, s as init_search } from "./injection-CCaYkofq.js";
89
- import { _ as init_transcript_adapter, a as generateFallbackSummary, c as handoffPreconditionFallbackReason, d as prependFallbackFocus, f as requestHandoffFromAgent, g as getTranscriptAdapter, i as copySessionFromCompactBoundary, l as init_summary_fork, o as generateSummaryForFork, p as reserveSummaryForkSession, r as authorHandoffExternal, s as handoffFailureReason, u as logHandoffFallback } from "./summary-fork-COqYpVa3.js";
90
- import { a as init_conversation_compaction, c as shouldInterceptManualCompact, n as compactConversationNative, o as isCompacting } from "./conversation-compaction-DxSXl0pT.js";
91
- import { a as init_render, d as validateTemplate, i as hasManagedRegion, l as init_harness, o as userContentOutsideRegion, t as init_context_layers, u as renderForHarness } from "./context-layers-BFrxfl0l.js";
92
- import { r as parseArtifactRef } from "./forge-wEollMCi.js";
93
- import { t as getMergeBlockersPayload } from "./merge-blockers-WWWi6Ur2.js";
94
- import { a as spawnSequencerAgent, i as init_sequencer_agent, n as clearFinishedSequencerRun, r as getSequencerRunStatus, t as SEQUENCER_AGENT_ID } from "./sequencer-agent-DsWQ-87H.js";
95
- import "./supervisor-liMgIPDF.js";
96
- import { i as listTranscriptCheckpoints, r as getTranscriptCheckpoint$1 } from "./checkpoints-BiviJqei.js";
84
+ import { t as getAgentCommandSync } from "./settings-CFEdfovT.js";
85
+ import { n as init_review_agent, r as isExtendedReviewEnabled } from "./review-agent-CQ7oRh_G.js";
86
+ import { r as isRemoteAvailable, t as createFlyProviderFromConfig } from "./remote-RQMKOL_R.js";
87
+ import { n as init_claude_settings_overlay, t as detectProviderEnvConflicts } from "./claude-settings-overlay-1IfYetv2.js";
88
+ import { a as init_query_expansion, i as clearQueryExpansionCache, n as init_injection, o as buildMatchQuery, r as injectPromptTimeMemory, s as init_search } from "./injection-DPsUoCJp.js";
89
+ import { _ as init_transcript_adapter, a as generateFallbackSummary, c as handoffPreconditionFallbackReason, d as prependFallbackFocus, f as requestHandoffFromAgent, g as getTranscriptAdapter, i as copySessionFromCompactBoundary, l as init_summary_fork, o as generateSummaryForFork, p as reserveSummaryForkSession, r as authorHandoffExternal, s as handoffFailureReason, u as logHandoffFallback } from "./summary-fork-DaCs0tCq.js";
90
+ import { a as init_conversation_compaction, c as shouldInterceptManualCompact, n as compactConversationNative, o as isCompacting } from "./conversation-compaction-Dq6MfZdL.js";
91
+ import { a as init_render, d as validateTemplate, i as hasManagedRegion, l as init_harness, o as userContentOutsideRegion, t as init_context_layers, u as renderForHarness } from "./context-layers-DFucrVVG.js";
92
+ import { r as parseArtifactRef } from "./forge-OWm99lie.js";
93
+ import { t as getMergeBlockersPayload } from "./merge-blockers-Dt43hJiW.js";
94
+ import { a as spawnSequencerAgent, i as init_sequencer_agent, n as clearFinishedSequencerRun, r as getSequencerRunStatus, t as SEQUENCER_AGENT_ID } from "./sequencer-agent-2uWOA_BC.js";
95
+ import "./supervisor-CRED6PD6.js";
96
+ import { i as listTranscriptCheckpoints, r as getTranscriptCheckpoint$1 } from "./checkpoints-BYrLxVle.js";
97
97
  import { createRequire } from "node:module";
98
98
  import * as sp from "node:path";
99
99
  import { basename, delimiter, dirname, extname, isAbsolute, join, normalize, relative, resolve, sep } from "node:path";
@@ -679,7 +679,7 @@ const AgentSpawnerLive = Layer.effect(AgentSpawner, Effect.sync(() => ({
679
679
  if (!existsSync$1(workspacePath)) throw new WorkspaceNotFound({ id: issueId });
680
680
  const plan = readWorkspacePlanSync(workspacePath);
681
681
  if (!plan || plan.plan.items.length === 0) throw new PlanEmpty({ id: issueId });
682
- const { getAgentState, spawnAgent, normalizeAgentId } = await import("./agents-BA15AQqo.js");
682
+ const { getAgentState, spawnAgent, normalizeAgentId } = await import("./agents-DAUyr_Z1.js");
683
683
  const normalizedId = normalizeAgentId(issueId);
684
684
  if ((await Effect.runPromise(getAgentState(normalizedId)))?.status === "running") throw new AgentAlreadyRunning({ id: issueId });
685
685
  return {
@@ -710,7 +710,7 @@ const AgentSpawnerLive = Layer.effect(AgentSpawner, Effect.sync(() => ({
710
710
  const { workspacePath, projectPath, issue } = opts;
711
711
  if (!existsSync$1(workspacePath)) throw new WorkspaceNotFound({ id: issueId });
712
712
  const sessionName = opts.sessionName ?? `planning-${issueId.toLowerCase()}`;
713
- const { spawnPlanningSession } = await import("./spawn-planning-session-DT2tSMxo.js");
713
+ const { spawnPlanningSession } = await import("./spawn-planning-session-C_wIQ-Zg.js");
714
714
  const result = await spawnPlanningSession({
715
715
  issue: {
716
716
  id: issue.id,
@@ -743,14 +743,14 @@ const AgentSpawnerLive = Layer.effect(AgentSpawner, Effect.sync(() => ({
743
743
  }),
744
744
  kill: (agentId) => Effect.tryPromise({
745
745
  try: async () => {
746
- const { stopAgent } = await import("./agents-BA15AQqo.js");
746
+ const { stopAgent } = await import("./agents-DAUyr_Z1.js");
747
747
  await Effect.runPromise(stopAgent(agentId));
748
748
  },
749
749
  catch: () => void 0
750
750
  }).pipe(Effect.ignore),
751
751
  message: (agentId, msg) => Effect.tryPromise({
752
752
  try: async () => {
753
- const { messageAgent } = await import("./agents-BA15AQqo.js");
753
+ const { messageAgent } = await import("./agents-DAUyr_Z1.js");
754
754
  await messageAgent(agentId, msg);
755
755
  },
756
756
  catch: (err) => new AgentStartError({
@@ -761,8 +761,8 @@ const AgentSpawnerLive = Layer.effect(AgentSpawner, Effect.sync(() => ({
761
761
  }),
762
762
  deepWipe: (issueId, opts) => Effect.tryPromise({
763
763
  try: async () => {
764
- const { deepWipe } = await import("./workflows-B4C3lY9E.js");
765
- const { resolveProjectFromIssueSync } = await import("./projects-Dc9aoVoG.js");
764
+ const { deepWipe } = await import("./workflows-Cw2-a_hn.js");
765
+ const { resolveProjectFromIssueSync } = await import("./projects-DxMUi2eI.js");
766
766
  const project = resolveProjectFromIssueSync(issueId);
767
767
  const projectPath = project?.projectPath ?? process.cwd();
768
768
  await Effect.runPromise(deepWipe({
@@ -821,8 +821,8 @@ const WorkspaceServiceLive = Layer.effect(WorkspaceService, Effect.sync(() => {
821
821
  const { workspacePath, branch } = getWorkspacePath(issueId);
822
822
  const issueLower = issueId.toLowerCase();
823
823
  if (existsSync$1(workspacePath)) return workspacePath;
824
- const { createWorkspace } = await import("./workspace-manager-B1mYn0lN.js");
825
- const { loadProjectsConfigSync } = await import("./projects-Dc9aoVoG.js");
824
+ const { createWorkspace } = await import("./workspace-manager-DD6PDqV8.js");
825
+ const { loadProjectsConfigSync } = await import("./projects-DxMUi2eI.js");
826
826
  const { projects } = loadProjectsConfigSync();
827
827
  const project = resolveProjectFromIssueSync(issueId);
828
828
  if (!project) throw new WorkspaceCreateError({
@@ -857,7 +857,7 @@ const WorkspaceServiceLive = Layer.effect(WorkspaceService, Effect.sync(() => {
857
857
  const { workspacePath } = getWorkspacePath(issueId);
858
858
  const issueLower = issueId.toLowerCase();
859
859
  if (!existsSync$1(workspacePath)) throw new WorkspaceNotFound({ id: issueId });
860
- const { removeWorkspace } = await import("./workspace-manager-B1mYn0lN.js");
860
+ const { removeWorkspace } = await import("./workspace-manager-DD6PDqV8.js");
861
861
  const project = resolveProjectFromIssueSync(issueId);
862
862
  if (!project) throw new WorkspaceCreateError({
863
863
  id: issueId,
@@ -888,7 +888,7 @@ const WorkspaceServiceLive = Layer.effect(WorkspaceService, Effect.sync(() => {
888
888
  try: async () => {
889
889
  const { workspacePath } = getWorkspacePath(issueId);
890
890
  const issueLower = issueId.toLowerCase();
891
- const { stopWorkspaceDocker } = await import("./workspace-manager-B1mYn0lN.js");
891
+ const { stopWorkspaceDocker } = await import("./workspace-manager-DD6PDqV8.js");
892
892
  await Effect.runPromise(stopWorkspaceDocker(workspacePath, issueLower));
893
893
  },
894
894
  catch: () => void 0
@@ -957,7 +957,7 @@ const WorkspaceServiceLive = Layer.effect(WorkspaceService, Effect.sync(() => {
957
957
  join(workspacePath, ".devcontainer", "docker-compose.devcontainer.yml")
958
958
  ];
959
959
  if (!composePaths.find((p) => existsSync$1(p))) {
960
- const { ensureDevcontainerSync } = await import("./ensure-devcontainer-C6gyUQdE.js");
960
+ const { ensureDevcontainerSync } = await import("./ensure-devcontainer-wU3ym1b5.js");
961
961
  const ensure = ensureDevcontainerSync({
962
962
  workspacePath,
963
963
  issueId
@@ -30458,7 +30458,7 @@ function isDiscoverableAgentSession(sessionName) {
30458
30458
  async function loadTrackerIssues() {
30459
30459
  const map = /* @__PURE__ */ new Map();
30460
30460
  try {
30461
- const { getSharedIssueService } = await import("./issue-service-singleton-D81mCts_.js");
30461
+ const { getSharedIssueService } = await import("./issue-service-singleton--LQ5c2zT.js");
30462
30462
  const issues = (await getSharedIssueService()).getIssues();
30463
30463
  for (const issue of issues) if (issue.identifier) map.set(issue.identifier.toUpperCase(), issue);
30464
30464
  } catch {
@@ -30733,7 +30733,7 @@ async function computeResourceAllocatedIssues() {
30733
30733
  });
30734
30734
  }
30735
30735
  try {
30736
- const { listActiveRemoteAgentStates } = await import("./remote-agents-DYY5fFpd.js");
30736
+ const { listActiveRemoteAgentStates } = await import("./remote-agents-_Z1SAaSK.js");
30737
30737
  for (const remoteState of listActiveRemoteAgentStates()) {
30738
30738
  const issue = ensureIssue(remoteState.issueId);
30739
30739
  if (!issue) continue;
@@ -31944,7 +31944,7 @@ async function closeIssuePullRequest(issueId, reason = "Canceled via Overdeck")
31944
31944
  timeout: 15e3
31945
31945
  });
31946
31946
  try {
31947
- const { setReviewStatusSync } = await import("./review-status-77N3PoZr.js");
31947
+ const { setReviewStatusSync } = await import("./review-status-BoJdyvUQ.js");
31948
31948
  setReviewStatusSync(issueId.toUpperCase(), { prUrl: void 0 });
31949
31949
  } catch {}
31950
31950
  return [`Closed PR #${prNumber} on ${githubCheck.owner}/${githubCheck.repo}`];
@@ -31998,7 +31998,7 @@ async function runDestructiveIssueLifecycle(id, mode, opts = {}) {
31998
31998
  const { ctx, projectConfig } = buildLifecycleContext(id, getIssueDataService$8().getIssueSource(id) ?? void 0);
31999
31999
  const deleteWorkspace = opts.deleteWorkspace ?? true;
32000
32000
  cleanupLog.push(...await closeIssuePullRequest(id, mode === "cancel" ? "Canceled via Overdeck" : "Reset to Todo via Overdeck"));
32001
- const { resetToTodo, cancelIssueWorkflow } = await import("./lifecycle-D7aQUnTO.js");
32001
+ const { resetToTodo, cancelIssueWorkflow } = await import("./lifecycle-Bmw8yU_A.js");
32002
32002
  const workflow = mode === "cancel" ? cancelIssueWorkflow : resetToTodo;
32003
32003
  const result = await Effect.runPromise(workflow(ctx, {
32004
32004
  deleteWorkspace,
@@ -32013,7 +32013,7 @@ async function runDestructiveIssueLifecycle(id, mode, opts = {}) {
32013
32013
  }));
32014
32014
  cleanupLog.push(...result.steps.flatMap((step) => step.details || [step.error].filter(Boolean)));
32015
32015
  if (mode === "cancel") try {
32016
- const { transitionVBriefOnMain } = await import("./lifecycle-io-DQBF-GHO.js");
32016
+ const { transitionVBriefOnMain } = await import("./lifecycle-io-B150XprC.js");
32017
32017
  const tx = await Effect.runPromise(transitionVBriefOnMain(ctx.projectPath, id, "cancelled", "cancelled", `scope: cancel ${id.toUpperCase()} vBRIEF`));
32018
32018
  if (tx.moved) cleanupLog.push(`vBRIEF moved ${tx.fromDir} → cancelled`);
32019
32019
  if (tx.committed) cleanupLog.push(`Committed vBRIEF cancellation on main`);
@@ -32021,8 +32021,8 @@ async function runDestructiveIssueLifecycle(id, mode, opts = {}) {
32021
32021
  cleanupLog.push(`vBRIEF cancel transition failed (non-fatal): ${err?.message ?? err}`);
32022
32022
  }
32023
32023
  try {
32024
- const { killAllReviewerSessions } = await import("./review-agent-CpSHLzed.js");
32025
- const { resolveProjectFromIssueSync } = await import("./projects-Dc9aoVoG.js");
32024
+ const { killAllReviewerSessions } = await import("./review-agent-CUVj54v0.js");
32025
+ const { resolveProjectFromIssueSync } = await import("./projects-DxMUi2eI.js");
32026
32026
  const projectKey = resolveProjectFromIssueSync(id)?.projectKey;
32027
32027
  if (projectKey) {
32028
32028
  const { killed } = await Effect.runPromise(killAllReviewerSessions(projectKey, id.toUpperCase()));
@@ -32036,7 +32036,7 @@ async function runDestructiveIssueLifecycle(id, mode, opts = {}) {
32036
32036
  cleanupLog.push("Cleared review status");
32037
32037
  } catch {}
32038
32038
  try {
32039
- const { resetPostMergeState } = await import("./merge-agent-DMQTJMP0.js");
32039
+ const { resetPostMergeState } = await import("./merge-agent-D6LRIW63.js");
32040
32040
  resetPostMergeState(id);
32041
32041
  resetPostMergeState(id.toUpperCase());
32042
32042
  cleanupLog.push("Cleared merge state");
@@ -32056,7 +32056,7 @@ function closeIssueTransition(options) {
32056
32056
  const { issueId, body, eventStore } = options;
32057
32057
  const { reason } = body;
32058
32058
  const projectPath = getProjectPath$3(void 0, extractPrefixSync(issueId) ?? issueId.split("-")[0]);
32059
- const { close: closeWorkflow } = yield* Effect.promise(() => import("./lifecycle-D7aQUnTO.js"));
32059
+ const { close: closeWorkflow } = yield* Effect.promise(() => import("./lifecycle-Bmw8yU_A.js"));
32060
32060
  const githubCheck = isGitHubIssue$4(issueId);
32061
32061
  const issueDataService = getIssueDataService$8();
32062
32062
  const issueSource = issueDataService.getIssueSource(issueId);
@@ -32323,7 +32323,7 @@ function reopenIssueTransition(options) {
32323
32323
  else clearReviewStatus(id.toUpperCase());
32324
32324
  } catch {}
32325
32325
  try {
32326
- const { resetPostMergeState } = await import("./merge-agent-DMQTJMP0.js");
32326
+ const { resetPostMergeState } = await import("./merge-agent-D6LRIW63.js");
32327
32327
  resetPostMergeState(id);
32328
32328
  resetPostMergeState(id.toUpperCase());
32329
32329
  } catch {}
@@ -32387,7 +32387,7 @@ function moveIssueStatus(options) {
32387
32387
  "done"
32388
32388
  ];
32389
32389
  if (!targetStatus || !validStatuses.includes(targetStatus)) return jsonResponse({ error: `Invalid targetStatus. Must be one of: ${validStatuses.join(", ")}` }, { status: 400 });
32390
- const { updateShadowState } = yield* Effect.promise(() => import("./shadow-state-BqeFAygK.js"));
32390
+ const { updateShadowState } = yield* Effect.promise(() => import("./shadow-state-fRDYhcyx.js"));
32391
32391
  const issueState = {
32392
32392
  backlog: "open",
32393
32393
  todo: "open",
@@ -32614,7 +32614,7 @@ async function copySettingsToWorkspace(id) {
32614
32614
  success: false,
32615
32615
  error: "Workspace not found"
32616
32616
  }, { status: 404 });
32617
- const { copyOverdeckSettingsToWorkspaceSync } = await import("./workspace-manager-B1mYn0lN.js");
32617
+ const { copyOverdeckSettingsToWorkspaceSync } = await import("./workspace-manager-DD6PDqV8.js");
32618
32618
  const result = copyOverdeckSettingsToWorkspaceSync(workspacePath);
32619
32619
  return jsonResponse({
32620
32620
  success: result.errors.length === 0 || result.copied.length > 0,
@@ -33530,7 +33530,7 @@ function closeOutIssue(id) {
33530
33530
  }
33531
33531
  const closeOutResult = yield* Effect.promise(async () => {
33532
33532
  try {
33533
- const { closeOut } = await import("./lifecycle-D7aQUnTO.js");
33533
+ const { closeOut } = await import("./lifecycle-Bmw8yU_A.js");
33534
33534
  return {
33535
33535
  ok: true,
33536
33536
  result: await Effect.runPromise(closeOut(ctx))
@@ -33616,7 +33616,7 @@ function bulkCloseOut(body) {
33616
33616
  const invalidIds = issueIds.filter((id) => !isValidIssueId(id));
33617
33617
  if (invalidIds.length > 0) return jsonResponse({ error: `Invalid issue ID format: ${invalidIds.join(", ")}` }, { status: 400 });
33618
33618
  const eventStore = yield* EventStoreService;
33619
- const { closeOut } = yield* Effect.promise(() => import("./lifecycle-D7aQUnTO.js"));
33619
+ const { closeOut } = yield* Effect.promise(() => import("./lifecycle-Bmw8yU_A.js"));
33620
33620
  const issueDataService = getIssueDataService$5();
33621
33621
  const tasks = [];
33622
33622
  const agentChecks = yield* withConcurrencyLimit(issueIds.map((id) => Effect.promise(async () => {
@@ -33814,7 +33814,7 @@ const getIssueShipLogRoute = HttpRouter.add("GET", "/api/issues/:id/ship-log", h
33814
33814
  if (!parseIssueIdSync(id)) return jsonResponse({ error: "Invalid issue ID" }, { status: 400 });
33815
33815
  return yield* Effect.promise(async () => {
33816
33816
  const { getShipLog } = await import("./ship-log-BRQQi2lU.js");
33817
- const { getReviewStatusSync } = await import("./review-status-77N3PoZr.js");
33817
+ const { getReviewStatusSync } = await import("./review-status-BoJdyvUQ.js");
33818
33818
  const log = getShipLog(id);
33819
33819
  const rs = getReviewStatusSync(id);
33820
33820
  return jsonResponse({
@@ -33830,7 +33830,7 @@ const getIssueVerificationRoute = HttpRouter.add("GET", "/api/issues/:id/verific
33830
33830
  if (!parseIssueIdSync(id)) return jsonResponse({ error: "Invalid issue ID" }, { status: 400 });
33831
33831
  return yield* Effect.promise(async () => {
33832
33832
  const { readVerificationArtifact } = await import("./verification-artifact-JD_edpZ9.js");
33833
- const { getReviewStatusSync } = await import("./review-status-77N3PoZr.js");
33833
+ const { getReviewStatusSync } = await import("./review-status-BoJdyvUQ.js");
33834
33834
  const { join } = await import("node:path");
33835
33835
  const resolved = resolveProjectFromIssueSync(id);
33836
33836
  const workspacePath = resolved ? join(resolved.projectPath, "workspaces", `feature-${id.toLowerCase()}`) : null;
@@ -38324,7 +38324,7 @@ Be specific: reference actual file names, function names, requirement text, disc
38324
38324
  const { command: cliCmd, args: cliArgs } = getAgentCommandSync(statusModelId);
38325
38325
  const modelFlag = cliArgs.length > 0 ? ` ${cliArgs.join(" ")}` : "";
38326
38326
  const promptFile = join(planningDir, ".status-review-prompt.tmp");
38327
- const { getProviderForModelSync, getProviderEnvSync } = await import("./providers-BLLk5IIb.js");
38327
+ const { getProviderForModelSync, getProviderEnvSync } = await import("./providers-B7BNcK_j.js");
38328
38328
  let providerEnvStr = "";
38329
38329
  let providerEnv = {};
38330
38330
  const statusProvider = getProviderForModelSync(statusModelId);
@@ -44234,7 +44234,7 @@ const postRallyValidateRoute = HttpRouter.add("POST", "/api/rally/validate", Eff
44234
44234
  }, { status: 400 });
44235
44235
  return yield* Effect.promise(async () => {
44236
44236
  try {
44237
- const { RallyRestApi } = await import("./rally-api-BsaQ8Vnz.js");
44237
+ const { RallyRestApi } = await import("./rally-api-Dbqw1YW9.js");
44238
44238
  const api = new RallyRestApi({
44239
44239
  apiKey,
44240
44240
  server: server || "https://rally1.rallydev.com"
@@ -44562,7 +44562,7 @@ const getPlanningStatusRoute = HttpRouter.add("GET", "/api/planning/:issueId/sta
44562
44562
  const remoteState = loadRemoteAgentState(sessionName);
44563
44563
  const isRemote = !!remoteState;
44564
44564
  const vmName = remoteState?.vmName ?? "";
44565
- const { getAgentStateSync } = await import("./agents-BA15AQqo.js");
44565
+ const { getAgentStateSync } = await import("./agents-DAUyr_Z1.js");
44566
44566
  const agentStarting = getAgentStateSync(sessionName)?.status === "starting";
44567
44567
  let tmuxSessionAlive = false;
44568
44568
  if (!isRemote) try {
@@ -44705,7 +44705,7 @@ Continue the PLANNING session. Do NOT implement anything.
44705
44705
  `);
44706
44706
  const agentCwd = workspacePath;
44707
44707
  if (existsSync$1(outputFile)) await rename(outputFile, join(planningDir, `output-${Date.now()}.jsonl`));
44708
- const { getAgentCommandSync } = await import("./settings-CP3GGon2.js");
44708
+ const { getAgentCommandSync } = await import("./settings-C3w2std9.js");
44709
44709
  let msgPlanningModel = "claude-sonnet-5";
44710
44710
  try {
44711
44711
  msgPlanningModel = resolveModel("plan", void 0, loadConfigSync().config);
@@ -44826,7 +44826,7 @@ async function getIndexStats(rootPath, isMain) {
44826
44826
  }
44827
44827
  const getTldrStatusRoute = HttpRouter.add("GET", "/api/services/tldr/status", Effect.promise(async () => {
44828
44828
  try {
44829
- const { getTldrDaemonServiceSync } = await import("./tldr-daemon-DhGwd88s.js");
44829
+ const { getTldrDaemonServiceSync } = await import("./tldr-daemon-BE5rqR90.js");
44830
44830
  const projectRoot = process.cwd();
44831
44831
  const venvPath = join(projectRoot, ".venv");
44832
44832
  const results = [];
@@ -44871,7 +44871,7 @@ const getTldrStatusRoute = HttpRouter.add("GET", "/api/services/tldr/status", Ef
44871
44871
  }));
44872
44872
  const postTldrStartRoute = HttpRouter.add("POST", "/api/services/tldr/start", Effect.promise(async () => {
44873
44873
  try {
44874
- const { getTldrDaemonServiceSync } = await import("./tldr-daemon-DhGwd88s.js");
44874
+ const { getTldrDaemonServiceSync } = await import("./tldr-daemon-BE5rqR90.js");
44875
44875
  const projectRoot = process.cwd();
44876
44876
  const venvPath = join(projectRoot, ".venv");
44877
44877
  if (!existsSync$1(venvPath)) return jsonResponse({ error: "No .venv found in project root" }, { status: 404 });
@@ -44888,7 +44888,7 @@ const postTldrStartRoute = HttpRouter.add("POST", "/api/services/tldr/start", Ef
44888
44888
  }));
44889
44889
  const postTldrStopRoute = HttpRouter.add("POST", "/api/services/tldr/stop", Effect.promise(async () => {
44890
44890
  try {
44891
- const { getTldrDaemonServiceSync } = await import("./tldr-daemon-DhGwd88s.js");
44891
+ const { getTldrDaemonServiceSync } = await import("./tldr-daemon-BE5rqR90.js");
44892
44892
  const projectRoot = process.cwd();
44893
44893
  const venvPath = join(projectRoot, ".venv");
44894
44894
  if (!existsSync$1(venvPath)) return jsonResponse({ error: "No .venv found in project root" }, { status: 404 });
@@ -44905,7 +44905,7 @@ const postTldrStopRoute = HttpRouter.add("POST", "/api/services/tldr/stop", Effe
44905
44905
  }));
44906
44906
  const postTldrReloadRoute = HttpRouter.add("POST", "/api/services/tldr/reload", Effect.promise(async () => {
44907
44907
  try {
44908
- const { getTldrDaemonServiceSync } = await import("./tldr-daemon-DhGwd88s.js");
44908
+ const { getTldrDaemonServiceSync } = await import("./tldr-daemon-BE5rqR90.js");
44909
44909
  const enabled = isTldrEnabledSync();
44910
44910
  const projectRoot = process.cwd();
44911
44911
  const targets = [];
@@ -44968,9 +44968,10 @@ function computeSyncInputHash() {
44968
44968
  hash.update(process.cwd());
44969
44969
  const cwdSkillsRoot = resolveTopLevelSkillsRoot(process.cwd());
44970
44970
  if (cwdSkillsRoot) updateHashFromDirectory(hash, join$1(cwdSkillsRoot, "skills"));
44971
- for (const [key, dir] of Object.entries(SYNC_SOURCES)) {
44972
- if (!existsSync(dir)) throw new Error(`missing sync input: ${key} at ${dir}`);
44973
- updateHashFromDirectory(hash, dir);
44971
+ for (const [key, sourcePath] of Object.entries(SYNC_SOURCES)) {
44972
+ if (!existsSync(sourcePath)) throw new Error(`missing sync input: ${key} at ${sourcePath}`);
44973
+ if (statSync(sourcePath).isDirectory()) updateHashFromDirectory(hash, sourcePath);
44974
+ else updateHashFromFile(hash, sourcePath);
44974
44975
  }
44975
44976
  const globalMd = join$1(OVERDECK_HOME, "context", "global.md");
44976
44977
  if (!existsSync(globalMd)) throw new Error("missing global context layer");
@@ -45092,7 +45093,7 @@ const getVersionRoute = HttpRouter.add("GET", "/api/version", Effect.promise(asy
45092
45093
  const version = await getOverdeckVersion();
45093
45094
  let supervisorUrl = null;
45094
45095
  try {
45095
- const { getSupervisorUrlSync } = await import("./supervisor-eWAAmXKu.js");
45096
+ const { getSupervisorUrlSync } = await import("./supervisor-DHwuClN_.js");
45096
45097
  supervisorUrl = getSupervisorUrlSync();
45097
45098
  } catch {}
45098
45099
  return jsonResponse({
@@ -45281,7 +45282,7 @@ const postShadowMonitorRoute = HttpRouter.add("POST", "/api/shadow/:issueId/moni
45281
45282
  const projectPath = await getProjectPath(issuePrefix);
45282
45283
  const workspacePath = join(projectPath, "workspaces", `feature-${issueLower}`);
45283
45284
  if (!existsSync$1(workspacePath)) return jsonResponse({ error: "Workspace not found" }, { status: 404 });
45284
- const { gatherArtifacts, generateBasicInference, updateInferenceDocumentSync } = await import("./shadow-engineering-fq1YEKV3.js");
45285
+ const { gatherArtifacts, generateBasicInference, updateInferenceDocumentSync } = await import("./shadow-engineering-D8xTtraU.js");
45285
45286
  const config = {
45286
45287
  issueId,
45287
45288
  workspacePath,
@@ -45311,7 +45312,7 @@ const postShadowObserveRoute = HttpRouter.add("POST", "/api/shadow/:issueId/obse
45311
45312
  if (!existsSync$1(workspacePath)) return jsonResponse({ error: "Workspace not found" }, { status: 404 });
45312
45313
  const ghConfig = getGitHubConfig();
45313
45314
  if (!ghConfig) return jsonResponse({ error: "GitHub not configured - Observer requires GitHub" }, { status: 400 });
45314
- const { runObserverCycle } = await import("./shadow-engineering-fq1YEKV3.js");
45315
+ const { runObserverCycle } = await import("./shadow-engineering-D8xTtraU.js");
45315
45316
  const firstRepo = ghConfig.repos[0];
45316
45317
  const config = {
45317
45318
  issueId,
@@ -48476,7 +48477,7 @@ async function refreshMergeStateFromGitHub(issueId, repo, prNumber) {
48476
48477
  let mergeState;
48477
48478
  let isDraft;
48478
48479
  let checksFailed;
48479
- const { isGitHubAppConfigured, getPullRequestState } = await import("./github-app-BrYwK_Gb.js");
48480
+ const { isGitHubAppConfigured, getPullRequestState } = await import("./github-app-Dtn4ib6M.js");
48480
48481
  if (isGitHubAppConfigured()) {
48481
48482
  const prState = await Effect.runPromise(getPullRequestState(owner, repoName, prNumber));
48482
48483
  mergeable = prState.mergeable === null ? "UNKNOWN" : prState.mergeable ? "MERGEABLE" : "CONFLICTING";
@@ -48625,8 +48626,8 @@ async function handlePullRequestPromise(payload) {
48625
48626
  bumpIssuePrTabCacheGeneration(issueId);
48626
48627
  const repo = payload.repository.full_name;
48627
48628
  if (payload.action === "closed" && pr.merged === true) try {
48628
- const { postMergeLifecycle } = await import("./merge-agent-DMQTJMP0.js");
48629
- const { resolveProjectFromIssueSync } = await import("./projects-Dc9aoVoG.js");
48629
+ const { postMergeLifecycle } = await import("./merge-agent-D6LRIW63.js");
48630
+ const { resolveProjectFromIssueSync } = await import("./projects-DxMUi2eI.js");
48630
48631
  const project = resolveProjectFromIssueSync(issueId);
48631
48632
  if (project) {
48632
48633
  const branchName = pr.head.ref;
@@ -50152,7 +50153,7 @@ async function registerProjectFromPath(opts) {
50152
50153
  registerProjectSync(key, projectConfig);
50153
50154
  const seededContextLayer = ensureProjectLayer(fullPath);
50154
50155
  try {
50155
- const { preTrustDirectorySync } = await import("./workspace-manager-B1mYn0lN.js");
50156
+ const { preTrustDirectorySync } = await import("./workspace-manager-DD6PDqV8.js");
50156
50157
  preTrustDirectorySync(fullPath);
50157
50158
  } catch {}
50158
50159
  let hooksInstalled = 0;
@@ -50191,7 +50192,7 @@ init_pan_dir();
50191
50192
  init_paths();
50192
50193
  const execAsync$2 = promisify(exec);
50193
50194
  async function getIssueDataService() {
50194
- const { getSharedIssueService } = await import("./issue-service-singleton-D81mCts_.js");
50195
+ const { getSharedIssueService } = await import("./issue-service-singleton--LQ5c2zT.js");
50195
50196
  return getSharedIssueService();
50196
50197
  }
50197
50198
  /** Returns true if the path exists (any type). */
@@ -50597,7 +50598,7 @@ const getProjectReleaseStatusRoute = HttpRouter.add("GET", "/api/projects/:proje
50597
50598
  const projectKey = (yield* HttpRouter.params)["projectKey"] ?? "";
50598
50599
  return jsonResponse(yield* Effect.tryPromise({
50599
50600
  try: async () => {
50600
- const { fetchProjectReleaseStatus } = await import("./project-pipelines-B95fcAek.js");
50601
+ const { fetchProjectReleaseStatus } = await import("./project-pipelines-B9b_JVTS.js");
50601
50602
  return fetchProjectReleaseStatus(projectKey);
50602
50603
  },
50603
50604
  catch: (err) => new Error(err instanceof Error ? err.message : String(err))
@@ -50676,13 +50677,14 @@ function getIssueStaffingPayload(project, issueId) {
50676
50677
  const config = loadConfigSync().config;
50677
50678
  const tiered = resolveTieredExecutionEnabledForIssue(config.tieredExecution, issueId);
50678
50679
  const implicit = resolveImplicitStaffing(config, `work:${issueId.toLowerCase()}`);
50680
+ const liveModel = getAgentStateSync(`agent-${issueId.toLowerCase()}`)?.model;
50679
50681
  return {
50680
50682
  override: { workModel: record?.workModel ?? null },
50681
50683
  resolved: {
50682
50684
  model: record?.workModel ?? implicit.model,
50683
50685
  tiered,
50684
50686
  source: record?.workModel ? "issue" : "default",
50685
- recordedModel: record?.model ?? null
50687
+ recordedModel: (liveModel && liveModel !== "pending-work-spawn" ? liveModel : void 0) ?? record?.model ?? null
50686
50688
  }
50687
50689
  };
50688
50690
  }
@@ -52236,7 +52238,7 @@ function getCheckpointWorker() {
52236
52238
  return worker;
52237
52239
  }
52238
52240
  async function runInline(operation, payload) {
52239
- const { claimTranscriptRange, commitTranscriptRange, releaseTranscriptRange, getTranscriptCheckpoint, listTranscriptCheckpoints } = await import("./checkpoints-B1Z42tJE.js");
52241
+ const { claimTranscriptRange, commitTranscriptRange, releaseTranscriptRange, getTranscriptCheckpoint, listTranscriptCheckpoints } = await import("./checkpoints-xSuv4v4I.js");
52240
52242
  switch (operation) {
52241
52243
  case "claimTranscriptRange": return claimTranscriptRange(payload);
52242
52244
  case "commitTranscriptRange": return commitTranscriptRange(payload);
@@ -53390,7 +53392,7 @@ function buildPendingTurn(input, fromOffset, toOffset, compressed) {
53390
53392
  };
53391
53393
  }
53392
53394
  async function emitMemoryObservationCreated(observation, timestamp) {
53393
- const { initEventStore } = await import("./event-store-D9UhQyMS.js");
53395
+ const { initEventStore } = await import("./event-store-BZoXexYS.js");
53394
53396
  await (await initEventStore()).appendAsync({
53395
53397
  type: "memory.observation_created",
53396
53398
  timestamp,
@@ -57044,7 +57046,7 @@ async function getFlywheelConversationPayload() {
57044
57046
  };
57045
57047
  }
57046
57048
  async function postFlywheelReportPayload() {
57047
- const { flywheelReportCommand } = await import("./flywheel-D9r1mw2U.js");
57049
+ const { flywheelReportCommand } = await import("./flywheel-rmYbW-lh.js");
57048
57050
  await flywheelReportCommand({ cwd: process.cwd() });
57049
57051
  return {
57050
57052
  status: 200,
@@ -57202,11 +57204,11 @@ const getMergeBlockersRoute = HttpRouter.add("GET", "/api/flywheel/merge-blocker
57202
57204
  async function defaultGetOrderedIssueIds() {
57203
57205
  const status = await readCurrentFlywheelStatusForDashboard();
57204
57206
  if (!status) return [];
57205
- const { computeMergeQueue } = await import("./flywheel-merge-order-LDzQDwSg.js");
57207
+ const { computeMergeQueue } = await import("./flywheel-merge-order-O5Zu8iPw.js");
57206
57208
  return (await Effect.runPromise(computeMergeQueue(status.activePipeline, process.cwd()).pipe(Effect.provide(layer)))).map((i) => i.issueId);
57207
57209
  }
57208
57210
  async function defaultMergeOne(issueId) {
57209
- const { triggerMerge } = await import("./merge-ops-h9OCnIVz.js");
57211
+ const { triggerMerge } = await import("./merge-ops-DwYi3U_x.js");
57210
57212
  const r = await triggerMerge(issueId);
57211
57213
  return r.success ? { ok: true } : {
57212
57214
  ok: false,
@@ -57383,7 +57385,7 @@ const getFlywheelMergeQueueRoute = HttpRouter.add("GET", "/api/flywheel/merge-qu
57383
57385
  return yield* Effect.promise(async () => {
57384
57386
  const status = await readCurrentFlywheelStatusForDashboard();
57385
57387
  if (!status) return jsonResponse([]);
57386
- const { computeMergeQueue, resolveMergeQueuePrUrl } = await import("./flywheel-merge-order-LDzQDwSg.js");
57388
+ const { computeMergeQueue, resolveMergeQueuePrUrl } = await import("./flywheel-merge-order-O5Zu8iPw.js");
57387
57389
  return jsonResponse(await Effect.runPromise(computeMergeQueue(status.activePipeline, process.cwd(), { getPrUrl: resolveMergeQueuePrUrl }).pipe(Effect.provide(layer))));
57388
57390
  });
57389
57391
  })));
@@ -57397,18 +57399,18 @@ function uatGenerationNameFromParam(param) {
57397
57399
  return decoded.startsWith("uat/") ? decoded : `uat/${decoded}`;
57398
57400
  }
57399
57401
  const getUatGenerationsRoute = HttpRouter.add("GET", "/api/flywheel/uat-generations", httpHandler(Effect.gen(function* () {
57400
- const { getUatGenerationsPayload } = yield* Effect.promise(() => import("./uat-train-CaaWs9Rp.js"));
57402
+ const { getUatGenerationsPayload } = yield* Effect.promise(() => import("./uat-train-BBMrnecu.js"));
57401
57403
  return jsonResponse(yield* Effect.promise(() => getUatGenerationsPayload()));
57402
57404
  })));
57403
57405
  const getUatCandidateRoute = HttpRouter.add("GET", "/api/flywheel/uat-candidate", httpHandler(Effect.gen(function* () {
57404
- const { getUatCandidatePayload } = yield* Effect.promise(() => import("./uat-train-CaaWs9Rp.js"));
57406
+ const { getUatCandidatePayload } = yield* Effect.promise(() => import("./uat-train-BBMrnecu.js"));
57405
57407
  return jsonResponse(yield* Effect.promise(() => getUatCandidatePayload()));
57406
57408
  })));
57407
57409
  const postUatGenerationStackRoute = HttpRouter.add("POST", "/api/flywheel/uat-generations/:name/stack", httpHandler(Effect.gen(function* () {
57408
57410
  const authError = rejectUnsafeDashboardMutationRequest(yield* HttpServerRequest.HttpServerRequest);
57409
57411
  if (authError) return authError;
57410
57412
  const name = uatGenerationNameFromParam((yield* HttpRouter.params)["name"] ?? "");
57411
- const { postUatGenerationStackPayload } = yield* Effect.promise(() => import("./uat-train-CaaWs9Rp.js"));
57413
+ const { postUatGenerationStackPayload } = yield* Effect.promise(() => import("./uat-train-BBMrnecu.js"));
57412
57414
  const result = yield* Effect.promise(() => postUatGenerationStackPayload(name));
57413
57415
  if (!result.ok) return jsonResponse({ error: result.error }, { status: result.status });
57414
57416
  return jsonResponse({
@@ -57420,8 +57422,8 @@ const postUatGenerationPromoteRoute = HttpRouter.add("POST", "/api/flywheel/uat-
57420
57422
  const authError = rejectUnsafeDashboardMutationRequest(yield* HttpServerRequest.HttpServerRequest);
57421
57423
  if (authError) return authError;
57422
57424
  const name = uatGenerationNameFromParam((yield* HttpRouter.params)["name"] ?? "");
57423
- const { postUatGenerationPromotePayload } = yield* Effect.promise(() => import("./uat-train-CaaWs9Rp.js"));
57424
- const { firePostMergeLifecycle } = yield* Effect.promise(() => import("./specialists-CywEMwxk.js"));
57425
+ const { postUatGenerationPromotePayload } = yield* Effect.promise(() => import("./uat-train-BBMrnecu.js"));
57426
+ const { firePostMergeLifecycle } = yield* Effect.promise(() => import("./specialists-CI_eqHAz.js"));
57425
57427
  const result = yield* Effect.promise(() => postUatGenerationPromotePayload(name, firePostMergeLifecycle));
57426
57428
  if (!result.success) return jsonResponse(result, { status: result.reason === "not-found" ? 404 : result.reason === "merge-failed" ? 500 : 409 });
57427
57429
  return jsonResponse(result);
@@ -57434,7 +57436,7 @@ const postUatGenerationPromoteRoute = HttpRouter.add("POST", "/api/flywheel/uat-
57434
57436
  const postFlywheelAssembleUatRoute = HttpRouter.add("POST", "/api/flywheel/assemble-uat", httpHandler(Effect.gen(function* () {
57435
57437
  const authError = rejectUnsafeDashboardMutationRequest(yield* HttpServerRequest.HttpServerRequest);
57436
57438
  if (authError) return authError;
57437
- const { runUatTrainReconcile } = yield* Effect.promise(() => import("./uat-train-CaaWs9Rp.js"));
57439
+ const { runUatTrainReconcile } = yield* Effect.promise(() => import("./uat-train-BBMrnecu.js"));
57438
57440
  return jsonResponse(yield* Effect.promise(() => runUatTrainReconcile({ force: true })));
57439
57441
  })));
57440
57442
  const getFlywheelStateRoute = HttpRouter.add("GET", "/api/flywheel/state", httpHandler(Effect.gen(function* () {
@@ -61018,7 +61020,7 @@ async function pollOnce(state) {
61018
61020
  try {
61019
61021
  const remoteState = await readFile(join(homedir$1(), ".overdeck", "agents", agentId, "remote-state.json"), "utf-8").then((text) => JSON.parse(text)).catch(() => null);
61020
61022
  if (remoteState?.location === "remote" && remoteState?.vmName) {
61021
- const { getRemoteAgentOutput } = await import("./remote-agents-DYY5fFpd.js");
61023
+ const { getRemoteAgentOutput } = await import("./remote-agents-_Z1SAaSK.js");
61022
61024
  stdout = await getRemoteAgentOutput(agentId, remoteState.vmName, 50);
61023
61025
  } else stdout = await Effect.runPromise(capturePane(agentId, 50));
61024
61026
  } catch {
@@ -62202,7 +62204,7 @@ const RESTART_MARKER = join$1(homedir(), ".overdeck", "dashboard-restarting.json
62202
62204
  * loads new content-hashed chunk filenames (no ERR_MODULE_NOT_FOUND after rebuild).
62203
62205
  */
62204
62206
  async function defaultLifecycleRunner(pending) {
62205
- const { postMergeLifecycle, notifyTldrDaemon } = await import("./merge-agent-DMQTJMP0.js");
62207
+ const { postMergeLifecycle, notifyTldrDaemon } = await import("./merge-agent-D6LRIW63.js");
62206
62208
  await postMergeLifecycle(pending.issueId, pending.projectPath, pending.sourceBranch, { skipDeploy: true });
62207
62209
  if (pending.sourceBranch) await notifyTldrDaemon(pending.projectPath, pending.sourceBranch);
62208
62210
  }
@@ -62523,7 +62525,7 @@ function failureReason(result) {
62523
62525
  return result.error ?? result.message ?? `merge returned status ${result.statusCode ?? "unknown"}`;
62524
62526
  }
62525
62527
  async function defaultMergeIssue(issueId) {
62526
- const { triggerMerge } = await import("./merge-ops-h9OCnIVz.js");
62528
+ const { triggerMerge } = await import("./merge-ops-DwYi3U_x.js");
62527
62529
  return triggerMerge(issueId);
62528
62530
  }
62529
62531
  function defaultAnnounceFailure(issueId, reason) {
@@ -62767,7 +62769,7 @@ const defaultDependencies = {
62767
62769
  inspect: inspectStateMigration,
62768
62770
  ensureWorktree: ensureStateWorktree,
62769
62771
  migrate: async (projectKey, project) => {
62770
- const { migrateProjectState } = await import("./state-migrate-D3VveYfO.js");
62772
+ const { migrateProjectState } = await import("./state-migrate-BS4IybIS.js");
62771
62773
  await migrateProjectState(projectKey, {}, project);
62772
62774
  },
62773
62775
  clearCache: clearStateMigrationCache,
@@ -62922,7 +62924,7 @@ startMergeBlockerReconcileService();
62922
62924
  console.log("[overdeck] MergeBlockerReconcileService started");
62923
62925
  if (process.env.OVERDECK_MODE === "desktop") (async () => {
62924
62926
  try {
62925
- const { provisionClaudeHooks } = await import("./claude-hooks-provision-BeMGi4ty.js");
62927
+ const { provisionClaudeHooks } = await import("./claude-hooks-provision-DL6yfJB_.js");
62926
62928
  const result = await provisionClaudeHooks();
62927
62929
  if (!result.ok) console.warn(`[overdeck] Claude hook provisioning skipped: ${result.reason}`);
62928
62930
  else if (result.changed) console.log(`[overdeck] Claude hooks provisioned: ${result.binariesSynced} scripts, registered ${result.registered.length} hook(s)${result.pruned.length ? `, pruned ${result.pruned.length} stale` : ""}`);
@@ -63233,7 +63235,7 @@ const handleShutdownSignal = async (signal) => {
63233
63235
  stopRestartAnnouncer();
63234
63236
  await stopDeaconChild().catch((err) => console.warn("[deacon-supervisor] child shutdown failed:", err?.message ?? err));
63235
63237
  try {
63236
- const { killAllGateProcessGroups } = await import("./validation-DpTNakM6.js");
63238
+ const { killAllGateProcessGroups } = await import("./validation-Zc4kAmqa.js");
63237
63239
  const reaped = killAllGateProcessGroups();
63238
63240
  if (reaped > 0) console.log(`[overdeck] reaped ${reaped} in-flight gate process group(s)`);
63239
63241
  } catch (err) {
@@ -63288,7 +63290,7 @@ reconcileStaleGitHubBlockers().then((n) => {
63288
63290
  }
63289
63291
  }).catch((err) => console.warn(`[overdeck] Startup blocker reconciliation failed: ${err.message}`));
63290
63292
  try {
63291
- const { resetProcessingToQueued } = await import("./merge-sync-B9nHdUGx.js");
63293
+ const { resetProcessingToQueued } = await import("./merge-sync-CpxFRIQ7.js");
63292
63294
  const resetCount = resetProcessingToQueued();
63293
63295
  if (resetCount > 0) {
63294
63296
  console.log(`[overdeck] Reset ${resetCount} stuck merge queue entries to queued`);
@@ -63310,7 +63312,7 @@ else {
63310
63312
  console.log("[overdeck] Auto-merge executor started");
63311
63313
  }
63312
63314
  try {
63313
- const { reconcileInterruptedVerifications } = await import("./verification-runner-ShYu5Ph3.js");
63315
+ const { reconcileInterruptedVerifications } = await import("./verification-runner-DAat1p1u.js");
63314
63316
  const interrupted = reconcileInterruptedVerifications();
63315
63317
  if (interrupted > 0) console.log(`[overdeck] recovered ${interrupted} orphaned verification worker(s)`);
63316
63318
  } catch (err) {