@overdeck/desktop 0.45.21 → 0.45.22

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 (344) hide show
  1. package/package.json +1 -1
  2. package/server/{acceptance-criteria-CJIFA8Vg.js → acceptance-criteria-BH7ac_1G.js} +2 -2
  3. package/server/{advancing-selfheal-CPOBO5ZS.js → advancing-selfheal-cSvXNZLZ.js} +6 -6
  4. package/server/{agent-gc-D6PUckBB.js → agent-gc-Dj2gncak.js} +4 -4
  5. package/server/{agent-state-BV_6RHnO.js → agent-state-Co5Sy2Fw.js} +1 -1
  6. package/server/{agent-state-service-DHwemt96.js → agent-state-service-CsQ07Pxe.js} +1 -1
  7. package/server/{agent-state-service-6MFQqnFy.js → agent-state-service-DistflNn.js} +5 -5
  8. package/server/{agents-DbrHWunF.js → agents-DXdHmRTC.js} +4 -4
  9. package/server/{agents-Czz6R57Z.js → agents-DyHKlq1I.js} +1 -1
  10. package/server/{archive-planning-BOnwJq8M.js → archive-planning-BvDuWNMo.js} +5 -5
  11. package/server/{archive-planning-MPpvQJL4.js → archive-planning-Cp_DC1j-.js} +1 -1
  12. package/server/{artifact-index-jobs-BOoySTKD.js → artifact-index-jobs-CDBFL4OU.js} +2 -2
  13. package/server/{backlog-auto-trigger-BUaFI44J.js → backlog-auto-trigger-DmA1IbYf.js} +3 -3
  14. package/server/{behavior-Dg-D8eBG.js → behavior-CGj16clS.js} +2 -2
  15. package/server/{briefing-freshness-OouGbJ7d.js → briefing-freshness-C12WgkaB.js} +2 -2
  16. package/server/{build-info-Cv6CI7Gu.js → build-info-BRpqQvNd.js} +1 -1
  17. package/server/{build-info-27NlbKhV.js → build-info-NU3KbXYw.js} +3 -3
  18. package/server/{checkpoint-manager-D64fCC4p.js → checkpoint-manager-CTPjAmtH.js} +2 -2
  19. package/server/{checkpoint-manager-C7mFCY_E.js → checkpoint-manager-rOgT98WY.js} +1 -1
  20. package/server/checkpoint-worker.js +1 -1
  21. package/server/{checkpoints-DwZqT2qQ.js → checkpoints-B5jFNi2G.js} +1 -1
  22. package/server/{checkpoints-Vh-J15ge.js → checkpoints-BJum14fs.js} +2 -2
  23. package/server/{claude-hooks-provision-CS5W_dhI.js → claude-hooks-provision-BhwWK-TQ.js} +1 -1
  24. package/server/{claude-hooks-provision-BVLGfHrv.js → claude-hooks-provision-D7p5WcKZ.js} +2 -2
  25. package/server/{claude-permissions-C2OrLYKL.js → claude-permissions-nSFKH78M.js} +2 -2
  26. package/server/{claude-settings-overlay-DX-fMFpC.js → claude-settings-overlay-BI_UIke0.js} +2 -2
  27. package/server/{claude-settings-overlay-DWXjafJh.js → claude-settings-overlay-DHBwjS1X.js} +1 -1
  28. package/server/cli-BRORS9qY.js +3 -0
  29. package/server/{cli-mvpEOb3w.js → cli-CbKNkFE5.js} +9 -9
  30. package/server/{cliproxy-Dvsr4ZkW.js → cliproxy-Brf_5MuG.js} +2 -2
  31. package/server/{cliproxy-7g1nObvB.js → cliproxy-bONZDBbC.js} +1 -1
  32. package/server/{close-issue-8F6uawYj.js → close-issue-CxReRxIc.js} +5 -5
  33. package/server/{closed-issue-reaper-BaYQYF6w.js → closed-issue-reaper-CQ3kqha7.js} +9 -9
  34. package/server/{closed-issue-reaper-BhV-r-tC.js → closed-issue-reaper-DXP2Xyv3.js} +1 -1
  35. package/server/{codex-D_UBEOwL.js → codex-CbmztVcc.js} +9 -6
  36. package/server/{codex-BBeZ8c3s.js → codex-DNyiQDKW.js} +1 -1
  37. package/server/{codex-parser-BTzlOZiV.js → codex-parser-jl8AeAmB.js} +2 -2
  38. package/server/{config-nAB_F-Gp.js → config-BJKocXKd.js} +1 -1
  39. package/server/{config-G1TOMJZA.js → config-DeTsoZdR.js} +2 -2
  40. package/server/{config-CrduXs4a.js → config-q4Gvd8dq.js} +2 -2
  41. package/server/{config-yaml-Ciyp2mYe.js → config-yaml-ig8Nwtiw.js} +124 -27
  42. package/server/{conflict-gate-BLUNMs1i.js → conflict-gate-CFqPVxEg.js} +3 -3
  43. package/server/{conflict-gate-BKalpcjL.js → conflict-gate-CHU9K1vU.js} +1 -1
  44. package/server/{context-layers-Cg9ZgVfx.js → context-layers-15gDOk20.js} +3 -3
  45. package/server/{context-layers-YNpf6Q_I.js → context-layers-DlQKkHH2.js} +2 -2
  46. package/server/{control-settings-D_79A6gp.js → control-settings-D_odMIaC.js} +4 -4
  47. package/server/{conversation-compaction-DiuZbIUB.js → conversation-compaction-B6YSRLda.js} +8 -8
  48. package/server/{conversation-compaction-CMIeWW4_.js → conversation-compaction-CN4-5YYt.js} +1 -1
  49. package/server/{conversation-service-DQybSPUK.js → conversation-service-C3avRVEr.js} +6 -6
  50. package/server/{conversation-service-CWk8mEym.js → conversation-service-Dq33SYEj.js} +1 -1
  51. package/server/{conversations-BJ-t3BRm.js → conversations-H9if0bCQ.js} +1 -1
  52. package/server/{conversations-BUgGvqVL.js → conversations-bYpM9-kZ.js} +4 -4
  53. package/server/{cost-Drm7qeD5.js → cost-Codk1pc2.js} +2 -2
  54. package/server/{cost-sync-DzHP6zaR.js → cost-sync-D_cre6WM.js} +3 -3
  55. package/server/{cost-jJ2cgDcG.js → cost-wH46-WsJ.js} +3 -3
  56. package/server/{dag-DIji6O2b.js → dag-CJpgf9A3.js} +2 -2
  57. package/server/{dangerous-git-ops-BebB-61h.js → dangerous-git-ops-D6AF-Hg_.js} +1 -1
  58. package/server/dashboard-db-worker.js +7 -7
  59. package/server/{deacon-pleYrvIm.js → deacon-B8HbQdqU.js} +3 -3
  60. package/server/{deacon-1s7bM5zn.js → deacon-CkT_kznS.js} +1377 -407
  61. package/server/{deacon-nudge-log-C5VCKtyi.js → deacon-nudge-log-D6K9K-rE.js} +3 -3
  62. package/server/{deacon-swarm-DmA3rJ7k.js → deacon-swarm-BryRr6AO.js} +13 -13
  63. package/server/deacon-swarm-CV54eNmU.js +2 -0
  64. package/server/deacon.js +8 -8
  65. package/server/{deploy-patrol-DmM6F-yw.js → deploy-patrol-1IrZxicY.js} +6 -6
  66. package/server/{deploy-window-ClLq1RYf.js → deploy-window-7ZYHh7Zp.js} +1 -1
  67. package/server/{deploy-window-jw4S_Y-c.js → deploy-window-wDf4UgHt.js} +6 -6
  68. package/server/{dev-supervisor-Do2Stz49.js → dev-supervisor-C7p9kEpc.js} +2 -2
  69. package/server/{devcontainer-renderer-D8ylupco.js → devcontainer-renderer-CNmQy0pL.js} +3 -3
  70. package/server/{dist-yfR7G1BL.js → dist-D-Ed5yVw.js} +1 -1
  71. package/server/dist-j64RzSrQ.js +3 -0
  72. package/server/{docker-ClwPQaba.js → docker-BCZ89M9X.js} +2 -2
  73. package/server/{dod-BLphkhjs.js → dod-DbJLYcHv.js} +1 -1
  74. package/server/{ensure-devcontainer-BA3bICoY.js → ensure-devcontainer-Cs6W9Yzj.js} +1 -1
  75. package/server/{ensure-devcontainer-CFpQatOc.js → ensure-devcontainer-V5JWaAva.js} +4 -4
  76. package/server/{esm-shims-BZw-fTQ6.js → esm-shims-dTeNdq7X.js} +1 -1
  77. package/server/{event-store-DABarGNz.js → event-store-CpBGsO6_.js} +1 -1
  78. package/server/{event-store-BVnON3vf.js → event-store-TnWdydfB.js} +3 -3
  79. package/server/{events-CmERlnwn.js → events-DSUdR-04.js} +3 -3
  80. package/server/{events-LGeUehYW.js → events-Dsuv6qyB.js} +1 -1
  81. package/server/{factory-CQNprtHe.js → factory-BMrK4TrE.js} +4 -4
  82. package/server/{feature-registry-population-D9Z3tYSa.js → feature-registry-population-B-CI9hgE.js} +4 -4
  83. package/server/{feature-registry-storage-BWymOgXE.js → feature-registry-storage-B972ph_A.js} +2 -2
  84. package/server/{features--fOza5g5.js → features-Bc-Bmiye.js} +2 -2
  85. package/server/{feedback-target-Dn9vfPpz.js → feedback-target-DS6NUuSs.js} +1 -1
  86. package/server/{feedback-target-Dqik2WTe.js → feedback-target-DZ-iAnAa.js} +7 -7
  87. package/server/{feedback-writer-Wlq5-qgS.js → feedback-writer-BXP6g75N.js} +4 -4
  88. package/server/{feedback-writer-DDQNV8uc.js → feedback-writer-Bx5z11mF.js} +1 -1
  89. package/server/{flywheel-DPUc8r3V.js → flywheel-6WHU4O7A.js} +14 -14
  90. package/server/{flywheel-1Wd8WDlh.js → flywheel-COR0mbRI.js} +12 -12
  91. package/server/{flywheel-Q-38YhZG.js → flywheel-Ctr5uuvo.js} +1 -1
  92. package/server/{flywheel-merge-order-CeBuX0EJ.js → flywheel-merge-order-CNKAY489.js} +1 -1
  93. package/server/{flywheel-merge-order-4SqOXFAr.js → flywheel-merge-order-CTgHeg-W.js} +7 -7
  94. package/server/forge-B0_opi-V.js +2 -0
  95. package/server/{forge-DBbDpiYc.js → forge-B1S_KZv4.js} +2 -2
  96. package/server/{from-hh6vTBGl.js → from-DpwQ-sc3.js} +1 -1
  97. package/server/{fts-db-6ponMie2.js → fts-db-DmAcuCkV.js} +2 -2
  98. package/server/{fts-operations-KIRK165y.js → fts-operations-7d_RkmWp.js} +2 -2
  99. package/server/git-utils-Cc3FHDKd.js +198 -0
  100. package/server/{git-utils-DmF5xkj8.js → git-utils-CsKGnzFA.js} +1 -1
  101. package/server/{github-app-B3yfECo8.js → github-app-CDPtGF7J.js} +2 -2
  102. package/server/{github-app-CeSVFL6C.js → github-app-CU14oYzP.js} +1 -1
  103. package/server/{github-client-4A6FgA8O.js → github-client-CwBZZ3t7.js} +1 -1
  104. package/server/{github-client-Dslipypz.js → github-client-XjTJbBm7.js} +2 -2
  105. package/server/{github-pr-lookup-DBP0YHMr.js → github-pr-lookup-CFGeVhqv.js} +2 -2
  106. package/server/harness-binary-B2CTcD84.js +106 -0
  107. package/server/{harness-resolve-BGpO-OVM.js → harness-resolve-D5FVQTmy.js} +9 -15
  108. package/server/{health-events-CnwV_SSz.js → health-events-C1whmd58.js} +1 -1
  109. package/server/{health-events-CZGZ5I-A.js → health-events-DREeevle.js} +2 -2
  110. package/server/{hooks-DvX33gY_.js → hooks-B-HItBiS.js} +1 -1
  111. package/server/{hooks-CoNscX84.js → hooks-yxRsjk-z.js} +2 -2
  112. package/server/hume-BmhvfVbV.js +3 -0
  113. package/server/{hume-DSJt5eA_.js → hume-Dz_OymXE.js} +2 -2
  114. package/server/{idle-stack-reaper-5DVRoY6P.js → idle-stack-reaper-DrCv0OAG.js} +1 -1
  115. package/server/{idle-stack-reaper-BfL8HqYy.js → idle-stack-reaper-Yf34xXxY.js} +2 -2
  116. package/server/{in-flight-guard-tVGiI5ee.js → in-flight-guard-BoWm66Kh.js} +2 -2
  117. package/server/{infra-DN2wSxle.js → infra-D4iNWMA5.js} +4 -4
  118. package/server/{injection-DK9zh_HL.js → injection-BVNa4MQW.js} +1 -1
  119. package/server/{injection-DtlT8Akv.js → injection-D7T75Pye.js} +7 -7
  120. package/server/{inspect-agent-DKByUS_F.js → inspect-agent-BXCgNeZ4.js} +13 -9
  121. package/server/inspect-agent-Dq0z1k3H.js +2 -0
  122. package/server/{internal-token-7bYL5v6K.js → internal-token-C9DdEOKY.js} +1 -1
  123. package/server/{internal-token-DhfFiwW7.js → internal-token-CXsfxslp.js} +2 -2
  124. package/server/{io-BiM-7Zsx.js → io-DQR9PMgS.js} +3 -3
  125. package/server/{issue-closed-Dfw3QDyZ.js → issue-closed-DtmJM0D0.js} +7 -7
  126. package/server/{issue-lifecycle-ytsEdDlK.js → issue-lifecycle-8PSS9Anq.js} +1 -1
  127. package/server/{issue-lifecycle-B7HZWnTA.js → issue-lifecycle-CeyW_HoD.js} +21 -21
  128. package/server/{issue-service-singleton-D5EB5eYr.js → issue-service-singleton-DBZabEl7.js} +1 -1
  129. package/server/{issue-service-singleton-CPESc4Or.js → issue-service-singleton-D_RVYBuL.js} +8 -8
  130. package/server/{issues-XYtFMxrH.js → issues-pDW9VUNz.js} +2 -2
  131. package/server/{jsonl-parser-DJV2eZUP.js → jsonl-parser-C3HVNR5d.js} +3 -3
  132. package/server/{label-cleanup-CJ4m8iRU.js → label-cleanup-DPwiZlWo.js} +3 -3
  133. package/server/{label-reconciler-CNf3Ylm3.js → label-reconciler-Df1ZduPH.js} +4 -4
  134. package/server/{launcher-generator-5DJRiovn.js → launcher-generator-COgR2By1.js} +6 -6
  135. package/server/{layers-cZx7ibtV.js → layers-Cp1To4L8.js} +2 -2
  136. package/server/{lifecycle-CE7619Xw.js → lifecycle-CtPDcZ9u.js} +6 -6
  137. package/server/{lifecycle-io-CUpsxG0p.js → lifecycle-io-DmY2qwCn.js} +1 -1
  138. package/server/{lifecycle-io-DMurK4oM.js → lifecycle-io-taIb0PoH.js} +4 -4
  139. package/server/{linear-client-BLyN-NiP.js → linear-client-DsFkIxee.js} +2 -2
  140. package/server/{linear-client-Bj1l4FOA.js → linear-client-YwZMDIwQ.js} +1 -1
  141. package/server/memory-fts-worker.js +1 -1
  142. package/server/{merge-CwX2_AWm.js → merge-BwsyNRJV.js} +1 -1
  143. package/server/{merge-hSC2BENe.js → merge-C1t-bspg.js} +3 -3
  144. package/server/{merge-agent-CnORPiri.js → merge-agent-B-SnXOoc.js} +1 -1
  145. package/server/{merge-agent-DnBsms_V.js → merge-agent-DDiIjzk-.js} +369 -213
  146. package/server/{merge-batch-C2w2U2eK.js → merge-batch-Byt-QnEl.js} +1 -1
  147. package/server/{merge-blockers-DhRgh76x.js → merge-blockers-BYjeXrVN.js} +2 -2
  148. package/server/merge-ops-DwWCkSgo.js +2 -0
  149. package/server/{merge-rebase-CE-ZyOMY.js → merge-rebase-Cm6fXaZN.js} +2 -2
  150. package/server/{merge-set-DHkzPCJU.js → merge-set-6LEglm6o.js} +1 -1
  151. package/server/{merge-set-D7YNU1ZB.js → merge-set-DiISXcC-.js} +3 -3
  152. package/server/{merge-sync-CpGA9Kg7.js → merge-sync-B95_4in_.js} +1 -1
  153. package/server/{merge-sync-De1FYva5.js → merge-sync-Do8_q32h.js} +2 -2
  154. package/server/{merge-train-SvkRJZ-k.js → merge-train-CKana8EH.js} +3 -3
  155. package/server/{merge-train-deps-CECJTElu.js → merge-train-deps-BgmqwIfA.js} +4 -4
  156. package/server/{merge-verification-B3meGcXF.js → merge-verification-CqnUzGEK.js} +4 -4
  157. package/server/{multipart-parser-ByTMgYV5.js → multipart-parser-tdOQDJ3o.js} +2 -2
  158. package/server/{no-resume-mode-BnInAFKs.js → no-resume-mode-BWOSZjWd.js} +1 -1
  159. package/server/node_modules/.package-lock.json +5 -5
  160. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/README.md +3 -3
  161. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeChildProcessSpawner.d.ts.map +1 -1
  162. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeChildProcessSpawner.js +2 -2
  163. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeChildProcessSpawner.js.map +1 -1
  164. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/package.json +5 -5
  165. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/src/NodeChildProcessSpawner.ts +6 -8
  166. package/server/{orphan-proposed-reconciler-CAfuWTA1.js → orphan-proposed-reconciler-DSvsJ5M7.js} +1 -1
  167. package/server/{orphan-proposed-reconciler-AxAGUouN.js → orphan-proposed-reconciler-xklgvNA7.js} +19 -12
  168. package/server/package-lock.json +6 -6
  169. package/server/package.json +1 -1
  170. package/server/{pan-dir-Rw17YjT1.js → pan-dir-DOcf6ug3.js} +4 -4
  171. package/server/{paths-FP8v3lTz.js → paths-DooHpt9p.js} +2 -2
  172. package/server/{pickup-xi3KTLaJ.js → pickup-CaskQ7j6.js} +2 -2
  173. package/server/{pipeline-membership-BtKMNY7v.js → pipeline-membership-1LGRjo-k.js} +11 -8
  174. package/server/{pipeline-notifier-BM2HLF7B.js → pipeline-notifier-B6FVsYF9.js} +2 -2
  175. package/server/{pipeline-notifier-dQ-U4NSb.js → pipeline-notifier-CZsrU_nj.js} +1 -1
  176. package/server/{project-pipelines-B59NfN44.js → project-pipelines-CtNG_rvs.js} +2 -2
  177. package/server/projects-BKkwpH6q.js +3 -0
  178. package/server/{prompts-CbqaVjbe.js → prompts-EvhMeeHG.js} +2 -2
  179. package/server/{providers-d3pwXGVE.js → providers-BDDPULlp.js} +7 -7
  180. package/server/providers-DNSQqy2V.js +3 -0
  181. package/server/public/assets/{chunk-BO2N2NFS-BxYSL7J-.js → chunk-BO2N2NFS-sym_ufXe.js} +4 -4
  182. package/server/public/assets/{diagram-OG6HWLK6-C_F9Q2as.js → diagram-OG6HWLK6-CQJPBNBu.js} +1 -1
  183. package/server/public/assets/{dist-DQNg4CiF.js → dist-Bio7THQU.js} +1 -1
  184. package/server/public/assets/{dist-CLSlc6cV.js → dist-DukGS2YZ.js} +3 -3
  185. package/server/public/assets/{ganttDiagram-6RSMTGT7-Cq0my-0C.js → ganttDiagram-6RSMTGT7-D4lWwte3.js} +1 -1
  186. package/server/public/assets/{highlighted-body-OFNGDK62-eZC03dGh.js → highlighted-body-OFNGDK62-CaLboCt5.js} +1 -1
  187. package/server/public/assets/{index-C6NLz_1S.css → index-Bdc4V9ba.css} +1 -1
  188. package/server/public/assets/{index-SLYGA8AQ.js → index-Bwejq-5s.js} +147 -145
  189. package/server/public/assets/{linear-6Fi3qnGg.js → linear-qUWmMZ-c.js} +1 -1
  190. package/server/public/assets/mermaid-GHXKKRXX-B5v_r7cI.js +1 -0
  191. package/server/public/assets/{pieDiagram-4H26LBE5-Dpmc6xsv.js → pieDiagram-4H26LBE5-C4zYulEm.js} +1 -1
  192. package/server/public/assets/{prod-ojHllFvN.js → prod-C8VtLuWC.js} +4 -4
  193. package/server/public/assets/{quadrantDiagram-W4KKPZXB-Ulr9gON5.js → quadrantDiagram-W4KKPZXB-qP04zyZC.js} +1 -1
  194. package/server/public/assets/{sankeyDiagram-5OEKKPKP-CwdHGXfL.js → sankeyDiagram-5OEKKPKP-eMPTX_cG.js} +1 -1
  195. package/server/public/assets/{xychartDiagram-2RQKCTM6-r-bEDzJh.js → xychartDiagram-2RQKCTM6-Dme1PIt6.js} +1 -1
  196. package/server/public/index.html +54 -10
  197. package/server/{pull-requests-CjjPj7v6.js → pull-requests-8z2N1UOV.js} +3 -3
  198. package/server/{pull-requests-D3N6HQzI.js → pull-requests-By_BteaL.js} +1 -1
  199. package/server/{queries-B5hl7lMQ.js → queries-ZABd5aXP.js} +95 -71
  200. package/server/rally-OSJXdiHK.js +3 -0
  201. package/server/{rally-api-DGaFz5L5.js → rally-api-DqKqIMNR.js} +2 -2
  202. package/server/{rally-api-CKr0O4DJ.js → rally-api-xHazRk0d.js} +1 -1
  203. package/server/{rally-client-Cqf6EX_r.js → rally-client-CGWEHaPd.js} +1 -1
  204. package/server/{rally-client-SVbjGvqj.js → rally-client-COYz1vYR.js} +4 -4
  205. package/server/{rally-Dp0Gb1DN.js → rally-i_goYmiA.js} +3 -3
  206. package/server/reap-terminal-sessions-CaMkFOIH.js +4 -0
  207. package/server/{reap-terminal-sessions-CjqRAGw7.js → reap-terminal-sessions-DG9eiMVz.js} +11 -28
  208. package/server/{rebuild-stack-DjdpALr1.js → rebuild-stack-CKjJAI8L.js} +1 -1
  209. package/server/{rebuild-stack-DHqCLvLX.js → rebuild-stack-JUm0jqYP.js} +6 -6
  210. package/server/{reconstruct-cache-BqrCQt0o.js → reconstruct-cache-wU79aCee.js} +6 -6
  211. package/server/record-rwK-nKv_.js +3 -0
  212. package/server/{record-update-RviRDSNs.js → record-update-Crz74r-6.js} +2 -2
  213. package/server/{record-update-BlB8mpKO.js → record-update-D3N6WMFR.js} +1 -1
  214. package/server/{recovery-trip-l1Hsi37x.js → recovery-trip-DkzJSej9.js} +2 -2
  215. package/server/{release-engine-CSI4K6Oj.js → release-engine-DMINVN8S.js} +5 -5
  216. package/server/{release-set-BywwggrE.js → release-set-DeUSOEHy.js} +3 -3
  217. package/server/{remote-DYziAkiZ.js → remote-Dr5kGYSZ.js} +3 -3
  218. package/server/{remote-agents-CZ2rc8I0.js → remote-agents-Ct_WOyke.js} +6 -6
  219. package/server/{remote-agents-BNORDWAX.js → remote-agents-D6O_zETW.js} +1 -1
  220. package/server/{remote-cnoeuDWn.js → remote-b-c5bOce.js} +3 -3
  221. package/server/{remote-completion-W67FNQ-A.js → remote-completion-Dca3hAaa.js} +13 -13
  222. package/server/resume-wZZsWtzz.js +3 -0
  223. package/server/{review-agent-CSswH985.js → review-agent-CCum8sGe.js} +1 -1
  224. package/server/{review-agent-CqSqSHkU.js → review-agent-CThvgK2r.js} +23 -23
  225. package/server/{review-artifacts-BBgnd5df.js → review-artifacts-CXywD0F2.js} +5 -5
  226. package/server/{review-context-Ctp9BdNJ.js → review-context-OYfKUprb.js} +8 -8
  227. package/server/{review-status-DXeqFpk5.js → review-status-Bnh-rdkY.js} +1 -1
  228. package/server/{review-status-CCgPVK1h.js → review-status-DFRjDFef.js} +21 -37
  229. package/server/{review-status-enrichment-DtDRGpst.js → review-status-enrichment-crNAtIpL.js} +3 -3
  230. package/server/review-status-source-CxuEjLGg.js +39 -0
  231. package/server/{review-status-sync-C792ksoJ.js → review-status-sync-D60PJWNL.js} +1 -1
  232. package/server/{review-status-sync-jnLgd04F.js → review-status-sync-DpAMD_WO.js} +2 -2
  233. package/server/{review-verdict-feedback-CMsIpTpy.js → review-verdict-feedback-CpUZl5aE.js} +7 -7
  234. package/server/{review-verdict-feedback-D5lW0o3k.js → review-verdict-feedback-JImjut0z.js} +1 -1
  235. package/server/{rollup-B3kQmNpl.js → rollup-CZ02qgxk.js} +1 -1
  236. package/server/{rollup-CLj_AK9f.js → rollup-SyuF09e4.js} +8 -8
  237. package/server/{scanner-C4NeC4FE.js → scanner-Br0Z5S6R.js} +7 -7
  238. package/server/{sequence-io-Ce-6grIY.js → sequence-io-fxU0DlwW.js} +4 -4
  239. package/server/{sequencer-agent-Bpz0yGmG.js → sequencer-agent-B5YC5XVP.js} +5 -5
  240. package/server/server.js +583 -387
  241. package/server/{service-CqAY8Kmk.js → service-Bagb90KZ.js} +150 -47
  242. package/server/{session-fork-uNo4rMRA.js → session-fork-BqQxd-V6.js} +2 -2
  243. package/server/{session-history-DUehL3KN.js → session-history-XdS0JKp3.js} +4 -4
  244. package/server/{settings-DP2OYLXL.js → settings-BNbocWOg.js} +3 -3
  245. package/server/settings-BlUsVaUc.js +2 -0
  246. package/server/{settings-D9grjmaP.js → settings-uLc6DEYI.js} +2 -2
  247. package/server/{shadow-engineering-Bi_oIMtF.js → shadow-engineering-D4X_s3fA.js} +3 -3
  248. package/server/{shadow-state-a_ztFBJe.js → shadow-state-C_NkP-sa.js} +2 -2
  249. package/server/{shadow-state-CDxEuPlE.js → shadow-state-CbvsN3qG.js} +1 -1
  250. package/server/{shadow-utils-CyOg6_Xq.js → shadow-utils-CYMRPeRT.js} +2 -2
  251. package/server/{ship-log-DDcueaIR.js → ship-log-__QtAFXG.js} +1 -1
  252. package/server/{smart-compaction--Oj65Uov.js → smart-compaction-CLZOWin1.js} +7 -7
  253. package/server/{smart-compaction-C1_VVLEd.js → smart-compaction-jdMkG1vo.js} +1 -1
  254. package/server/{spawn-planning-session-LFtK2QCE.js → spawn-planning-session-8D6mE033.js} +1 -1
  255. package/server/{spawn-planning-session-AiUSsBnH.js → spawn-planning-session-D5OXo8pT.js} +19 -15
  256. package/server/{specialist-completion-qOgqdqXH.js → specialist-completion-CqmduO92.js} +1 -1
  257. package/server/{specialist-context-gjj8Z4Ii.js → specialist-context-CJ-QjFR-.js} +5 -5
  258. package/server/{specialist-handoff-logger-BsBNvVZv.js → specialist-handoff-logger-Dnjlwt7g.js} +2 -2
  259. package/server/{specialist-logs-CSLtvPx6.js → specialist-logs-CQnKzuZs.js} +3 -3
  260. package/server/{specialists-DAegTvRt.js → specialists-Bg9v4z3F.js} +122 -94
  261. package/server/{specialists-CYRwELzc.js → specialists-CwZHb5cb.js} +18 -18
  262. package/server/{specialists-D0VBf8g_.js → specialists-D0gGXMZx.js} +1 -1
  263. package/server/{specialists-C6WkeKFK.js → specialists-Dqe6_HE5.js} +1 -1
  264. package/server/specs-BhOKBzqk.js +3 -0
  265. package/server/{src-OLoJhUiJ.js → src-BMMoA_ba.js} +6 -6
  266. package/server/{src-BqTcrfO_.js → src-Bqdtd6po.js} +3 -3
  267. package/server/{src-Dpq1yFIl.js → src-k039WVYY.js} +337 -4
  268. package/server/{stack-health-I713ELld.js → stack-health-Bd06frFn.js} +1 -1
  269. package/server/{stack-health-DV_f-lK0.js → stack-health-C-ifC7b0.js} +2 -2
  270. package/server/{stale-task-claims-CQSKZVq0.js → stale-task-claims-L7pJkQFL.js} +4 -4
  271. package/server/{staleness-BbsGxmF2.js → staleness-BID1BKdr.js} +1 -1
  272. package/server/{staleness-zGp4P1hd.js → staleness-_Tr-GwdA.js} +1 -1
  273. package/server/{state-home-DixkE-up.js → state-home-CONQvZR0.js} +36 -23
  274. package/server/state-migrate-BeBW0KXA.js +478 -0
  275. package/server/{stuck-remediation-BWkK_O7A.js → stuck-remediation-CKnIryGT.js} +20 -18
  276. package/server/{stuck-remediation-CTPRC2S5.js → stuck-remediation-CsGD5Ksb.js} +1 -1
  277. package/server/{substrate-bug-weights-service-DXd0ID83.js → substrate-bug-weights-service-CpIZILj9.js} +3 -3
  278. package/server/{summary-fork-CdLn8Chr.js → summary-fork-agEMsPSo.js} +2 -2
  279. package/server/{summary-fork-f3DpgjXh.js → summary-fork-bX6ax6X7.js} +8 -8
  280. package/server/supervisor-COVHrBTg.js +2 -0
  281. package/server/{supervisor-Ch8CDuoF.js → supervisor-Ctt4eRYz.js} +3 -3
  282. package/server/{swarm-readiness-C9P2iPap.js → swarm-readiness-DdmJVX7y.js} +3 -3
  283. package/server/{system-prerequisites-DkoQBn1q.js → system-prerequisites-DSXBvffY.js} +24 -44
  284. package/server/{teardown-workspace-D-5yMyit.js → teardown-workspace-DDCf5n-a.js} +15 -15
  285. package/server/{test-agent-queue-BwpUpu-o.js → test-agent-queue-BJZ9Nfcc.js} +6 -6
  286. package/server/{test-verdict-BRiSu7eW.js → test-verdict-Cp5tljlJ.js} +1 -1
  287. package/server/{test-verdict-BQ1yx7d4.js → test-verdict-D_-sXIz_.js} +1 -1
  288. package/server/{tldr-daemon-BJA7TkqS.js → tldr-daemon-B8_oT5gx.js} +1 -1
  289. package/server/{tldr-daemon-DjxP5g6Y.js → tldr-daemon-BQFmmFp0.js} +2 -2
  290. package/server/{tmux-HQLgwo_C.js → tmux-BAvtac_u.js} +1 -1
  291. package/server/{tmux-y1blSxks.js → tmux-L5LgvGLp.js} +2 -2
  292. package/server/{token-LUrbM9sU.js → token-BkQLy4yS.js} +2 -2
  293. package/server/token-util-BArZLN6w.js +3 -0
  294. package/server/{token-util-BZaDAQ8S.js → token-util-DI8sGlmF.js} +1 -1
  295. package/server/{tracker-config-DSFZBdXP.js → tracker-config-DdT-nUAM.js} +2 -2
  296. package/server/{tracker-utils-DiceZN3a.js → tracker-utils-CawsPSS2.js} +2 -2
  297. package/server/{tracker-utils-WtP_V-yn.js → tracker-utils-DV3h1FYG.js} +1 -1
  298. package/server/{traefik-connect-BXqfOP4-.js → traefik-connect-C6mJckNs.js} +1 -1
  299. package/server/{tunnel-WcJImbAC.js → tunnel-BIFl98rc.js} +1 -1
  300. package/server/{tunnel-DTng1rfQ.js → tunnel-IdK1iTHx.js} +3 -3
  301. package/server/{types-BjaZ1oqH.js → types-7-GnJn0t.js} +1 -1
  302. package/server/{types-DqeBMmJN.js → types-hraoaQIp.js} +1 -1
  303. package/server/{uat-train-Wismge7h.js → uat-train-0Ujk8GCv.js} +1 -1
  304. package/server/{uat-train-BpLnp7Cx.js → uat-train-j0cPeMSj.js} +25 -25
  305. package/server/{validation-BA4e5EGm.js → validation-CabEISJT.js} +4 -4
  306. package/server/{validation-CUWamZ4X.js → validation-DcAgXTQp.js} +1 -1
  307. package/server/{verification-artifact-Dr_0g9nb.js → verification-artifact-BuTA1QbL.js} +1 -1
  308. package/server/{verification-artifact-CrbI4tJE.js → verification-artifact-Ck1tefmz.js} +1 -1
  309. package/server/{verification-runner-Dcksl_P-.js → verification-runner-DlJezzef.js} +1 -1
  310. package/server/{verification-runner-gAzh3cVD.js → verification-runner-FiuAZ-H2.js} +15 -14
  311. package/server/{vtt-parser-3VZKsmSm.js → vtt-parser-BnRsYzcz.js} +1 -1
  312. package/server/{work-agent-prompt-ULdcANl5.js → work-agent-prompt-DLthEPAq.js} +12 -11
  313. package/server/{workflows-B8ROFlfw.js → workflows-BZNNYkGC.js} +18 -18
  314. package/server/workflows-C4mR0Reb.js +2 -0
  315. package/server/{workspace-DSjUJaJN.js → workspace-3IC-UkAi.js} +1 -1
  316. package/server/{workspace-DhTDA8nB.js → workspace-D9ppycdg.js} +3 -3
  317. package/server/{workspace-config-BAAsAv-o.js → workspace-config-Bigl_-Lk.js} +1 -1
  318. package/server/{workspace-manager-CcujONCR.js → workspace-manager-B1WOfKvB.js} +1 -1
  319. package/server/{workspace-manager-DsN52IMG.js → workspace-manager-ClkCIWTe.js} +13 -13
  320. package/server/{workspace-metadata-CftOpNLs.js → workspace-metadata-BE0efUv_.js} +1 -1
  321. package/server/{workspace-metadata-DIL5_U4c.js → workspace-metadata-tiSRIWJP.js} +2 -2
  322. package/server/{workspaces-Dmlh1YXm.js → workspaces-CFPcL0vl.js} +96 -96
  323. package/sync-sources/skills/pan-start/SKILL.md +23 -0
  324. package/server/cli-ChErG518.js +0 -3
  325. package/server/deacon-swarm-uudlSCLM.js +0 -2
  326. package/server/dist-BEDL2alY.js +0 -3
  327. package/server/forge-DbhJyH6u.js +0 -2
  328. package/server/git-utils-Bkxzr1Xf.js +0 -129
  329. package/server/hume-BrA1tUuk.js +0 -3
  330. package/server/inspect-agent-CyXNo9fM.js +0 -2
  331. package/server/merge-ops-BpTtuO8x.js +0 -2
  332. package/server/projects-IRHJIPYC.js +0 -3
  333. package/server/providers-BqCdTryq.js +0 -3
  334. package/server/public/assets/mermaid-GHXKKRXX-BNwFoQsf.js +0 -1
  335. package/server/rally-DGimSRBQ.js +0 -3
  336. package/server/reap-terminal-sessions-C1mfzoZo.js +0 -3
  337. package/server/record-us0YECMO.js +0 -3
  338. package/server/resume-OyN3dEXE.js +0 -3
  339. package/server/settings-BaPXXJsT.js +0 -2
  340. package/server/specs-BsNcum0h.js +0 -3
  341. package/server/state-migrate-_zJJ6XKE.js +0 -362
  342. package/server/supervisor-Qy1QecAs.js +0 -2
  343. package/server/token-util-Cg-QnowA.js +0 -3
  344. package/server/workflows-C5c-RPsY.js +0 -2
@@ -1,40 +1,42 @@
1
1
  import { n as __esmMin, o as __toESM } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { $n as resolveProjectFromIssueSync, An as getIssuePrefix, At as init_record, B as init_providers, C as init_tier_table, E as resolveTieredExecutionEnabledForIssue, En as findProjectByPathSync, F as clearCredentialFileAuthSync, Ft as readIssueRecordSync, G as init_openai_compatible_proxy, I as getBuiltInDefaultHarness, Lt as resolveProjectForIssue, Mn as getProjectSwarmHotspots, Nn as getProjectSync, Or as init_errors, Pt as readIssueRecordForWorkspaceSync, Q as resolveModel, R as getProviderEnvSync, T as resolveTieredExecutionEnabled, U as setupCredentialFileAuthSync, W as ensureOpenAICompatibleProxyRunning, Z as init_roles, ai as sessionFilePath, b as DEFAULT_TIERED_EXECUTION_CONFIG, ct as fnv1a32, ei as getOverdeckHome, f as loadConfigSync, fr as resolveBareNumericIdSync, gn as init_state_read_home, gr as ClaudeCredentialParseError, ii as resolveOhmypiExtensionPath, it as init_model_capabilities, kr as AGENTS_DIR, l as isClaudeCodeChannelsMcpEnabled, lr as init_issue_id, lt as init_percent, mr as require_dist, ot as resolveModelIdSync, qr as encodeClaudeProjectDir, ri as packageRoot, rt as hasModelCapabilitySync, st as fmix32, t as init_config_yaml, ti as init_paths, tt as getModelCapabilitySync, u as isTldrEnabledSync, vn as shouldCommitLegacyWorkspaceArtifacts, vr as FsError, x as TIERED_EXECUTION_DIFFICULTIES, z as getProviderForModelSync, zn as init_projects, zt as writeAgentHarnessModelSync } from "./config-yaml-Ciyp2mYe.js";
2
+ import { B as getProviderEnvSync, Bt as resolveProjectForIssue, C as TIERED_EXECUTION_DIFFICULTIES, D as resolveTieredExecutionEnabled, Fn as getProjectSwarmHotspots, G as setupCredentialFileAuthSync, H as init_providers, Hn as init_projects, Ht as writeAgentHarnessModelSync, In as getProjectSync, K as ensureOpenAICompatibleProxyRunning, L as clearCredentialFileAuthSync, Lt as readIssueRecordForWorkspaceSync, Mr as AGENTS_DIR, Nn as getIssuePrefix, Nt as init_record, O as resolveTieredExecutionEnabledForIssue, R as getBuiltInDefaultHarness, Rt as readIssueRecordSync, S as DEFAULT_TIERED_EXECUTION_CONFIG, T as init_tier_table, V as getProviderForModelSync, Xr as encodeClaudeProjectDir, _r as require_dist, ci as sessionFilePath, dt as fnv1a32, et as init_roles, f as loadConfigSync, fr as init_issue_id, ft as init_percent, hr as resolveBareNumericIdSync, ii as init_paths, it as getModelCapabilitySync, jr as init_errors, kn as findProjectByPathSync, l as isClaudeCodeChannelsMcpEnabled, lt as resolveModelIdSync, nr as resolveProjectFromIssueSync, oi as packageRoot, ot as hasModelCapabilitySync, q as init_openai_compatible_proxy, ri as getOverdeckHome, si as resolveOhmypiExtensionPath, st as init_model_capabilities, t as init_config_yaml, tt as resolveModel, u as isTldrEnabledSync, ut as fmix32, xn as shouldCommitLegacyWorkspaceArtifacts, xr as FsError, yn as init_state_read_home, yr as ClaudeCredentialParseError } from "./config-yaml-ig8Nwtiw.js";
3
3
  import { a as init_activity_logger, n as emitActivityEntrySync, r as emitActivityTtsSync } from "./activity-logger-DDlOIAML.js";
4
- import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-DN2wSxle.js";
5
- import { B as sendRawKeystroke, D as killSession, E as isPaneDead, H as sessionExistsSync, J as BLANKED_PROVIDER_ENV, L as sendEscapeKeyAsync, M as listSessions, N as listSessionsSync, O as killSessionSync, R as sendKeys, U as setOption, V as sessionExists, Z as init_child_env, a as capturePaneSync, c as createSessionSync, i as capturePane, k as listPaneValues, m as exactPaneTarget, s as createSession, w as init_tmux } from "./tmux-y1blSxks.js";
6
- import { a as init_event_store, i as initEventStore } from "./event-store-BVnON3vf.js";
7
- import { a as getHarnessBehavior, i as OHMYPI_BEHAVIOR } from "./src-Dpq1yFIl.js";
8
- import { C as init_review_status_source, D as init_agent_state_sync, E as getOverdeckAgentStateSync, O as listOverdeckAgentStatesSync, c as init_review_status, k as saveOverdeckAgentStateSync, m as resetPipelineVerdictsForWorkStartSync, w as readReviewStatusMap } from "./review-status-CCgPVK1h.js";
9
- import { i as countAgentsByStatus, o as init_agents$1 } from "./agents-DbrHWunF.js";
10
- import { n as ensureSessionContextBriefingFile, r as init_briefing_freshness } from "./briefing-freshness-OouGbJ7d.js";
11
- import { o as getPricingSync, s as init_cost } from "./cost-Drm7qeD5.js";
12
- import { _ as init_tier_metrics, g as estimateFeedDeliveryTokens, v as recordTierFeedDelivery } from "./cost-sync-DzHP6zaR.js";
13
- import { a as persistCurrentSessionId, d as isAgentStateServiceInProcess, i as logLauncherSessionPinned, l as getRuntimeSnapshot, n as createFreshSessionIdentity, o as init_persistent_logger, r as init_session_history, s as logAgentLifecycleSync, u as init_agent_runtime_mirror } from "./session-history-DUehL3KN.js";
14
- import { t as init_behavior } from "./behavior-Dg-D8eBG.js";
15
- import { i as ensureInternalTokenSync, s as init_internal_token, t as INTERNAL_TOKEN_HEADER } from "./internal-token-DhfFiwW7.js";
16
- import { m as readWorkspacePlanSync, o as init_io } from "./io-BiM-7Zsx.js";
17
- import { c as bridgeGeminiAuthToCliproxy, d as getCliproxyAuthDir, g as getCliproxyLogPath, l as decodeJwtPayload$1, p as getCliproxyClientEnv, s as bridgeCodexAuthToCliproxySync, v as init_cliproxy } from "./cliproxy-Dvsr4ZkW.js";
18
- import { L as normalizeHarness, R as reactivateConversationForSpawn, S as getConversationByName, k as init_conversations, y as createConversation } from "./conversations-BUgGvqVL.js";
19
- import { n as recordFeatureRegistryLifecycle, t as init_feature_registry_population } from "./feature-registry-population-D9Z3tYSa.js";
20
- import { a as readCavemanVariant, n as init_workspace } from "./workspace-DhTDA8nB.js";
21
- import { a as requireModelOverrideSync, i as normalizeModelOverrideSync, n as init_launcher_generator, o as shellQuoteModelIdSync, r as init_model_validation, t as generateLauncherScriptSync } from "./launcher-generator-5DJRiovn.js";
22
- import { a as init_claude_permissions, r as getClaudePermissionFlagsStringSync } from "./claude-permissions-C2OrLYKL.js";
23
- import { h as workspaceContextFile, o as init_layers } from "./layers-cZx7ibtV.js";
24
- import { a as extractThreadIdFromRollout, c as initCodexHome, l as init_codex, o as findLatestRollout } from "./codex-D_UBEOwL.js";
25
- import { f as init_config, m as loadConfigSync$1 } from "./config-CrduXs4a.js";
26
- import { a as getFlywheelActiveRunIdSync, s as init_control_settings } from "./control-settings-D_79A6gp.js";
27
- import { n as createTrackerFromConfig, r as init_factory, t as createTracker } from "./factory-CQNprtHe.js";
28
- import { a as init_stack_health, i as getWorkspaceStackHealth } from "./stack-health-DV_f-lK0.js";
29
- import { i as createActiveSlice, l as init_dag, o as getDispatchableItems, s as groupItemsByWave } from "./dag-DIji6O2b.js";
30
- import { c as generateFixedPointPromptSync, f as initHookSync, n as checkHookSync, p as init_hooks } from "./hooks-CoNscX84.js";
31
- import { n as resolveHarness, t as init_harness_resolve } from "./harness-resolve-BGpO-OVM.js";
32
- import { a as loadCloisterConfigSync, r as init_config$1 } from "./config-G1TOMJZA.js";
33
- import { r as isRoleTerminal, t as init_reap_terminal_sessions } from "./reap-terminal-sessions-CjqRAGw7.js";
34
- import { c as isStateMigrated, o as init_state_home } from "./state-home-DixkE-up.js";
35
- import { n as provisionClaudeHooks, t as init_claude_hooks_provision } from "./claude-hooks-provision-BVLGfHrv.js";
36
- import { a as init_lifecycle_io, t as appendContinueSessionEntryForIssue } from "./lifecycle-io-DMurK4oM.js";
37
- import { r as init_swarm_readiness, t as analyzeSwarmReadiness } from "./swarm-readiness-C9P2iPap.js";
4
+ import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-D4iNWMA5.js";
5
+ import { B as sendRawKeystroke, D as killSession, E as isPaneDead, H as sessionExistsSync, J as BLANKED_PROVIDER_ENV, L as sendEscapeKeyAsync, M as listSessions, N as listSessionsSync, O as killSessionSync, R as sendKeys, U as setOption, V as sessionExists, Z as init_child_env, a as capturePaneSync, c as createSessionSync, i as capturePane, k as listPaneValues, m as exactPaneTarget, s as createSession, w as init_tmux } from "./tmux-L5LgvGLp.js";
6
+ import { a as init_event_store, i as initEventStore } from "./event-store-TnWdydfB.js";
7
+ import { a as OHMYPI_BEHAVIOR, o as getHarnessBehavior } from "./src-k039WVYY.js";
8
+ import { D as saveOverdeckAgentStateSync, E as listOverdeckAgentStatesSync, T as init_agent_state_sync, c as init_review_status, m as resetPipelineVerdictsForWorkStartSync, w as getOverdeckAgentStateSync } from "./review-status-DFRjDFef.js";
9
+ import { i as countAgentsByStatus, o as init_agents$1 } from "./agents-DXdHmRTC.js";
10
+ import { n as ensureSessionContextBriefingFile, r as init_briefing_freshness } from "./briefing-freshness-C12WgkaB.js";
11
+ import { o as getPricingSync, s as init_cost } from "./cost-Codk1pc2.js";
12
+ import { _ as init_tier_metrics, g as estimateFeedDeliveryTokens, v as recordTierFeedDelivery } from "./cost-sync-D_cre6WM.js";
13
+ import { a as persistCurrentSessionId, d as isAgentStateServiceInProcess, i as logLauncherSessionPinned, l as getRuntimeSnapshot, n as createFreshSessionIdentity, o as init_persistent_logger, r as init_session_history, s as logAgentLifecycleSync, u as init_agent_runtime_mirror } from "./session-history-XdS0JKp3.js";
14
+ import { t as init_behavior } from "./behavior-CGj16clS.js";
15
+ import { i as ensureInternalTokenSync, s as init_internal_token, t as INTERNAL_TOKEN_HEADER } from "./internal-token-CXsfxslp.js";
16
+ import { i as readReviewStatusMap, n as init_review_status_source, r as isRoleTerminal } from "./review-status-source-CxuEjLGg.js";
17
+ import { m as readWorkspacePlanSync, o as init_io } from "./io-DQR9PMgS.js";
18
+ import { c as bridgeGeminiAuthToCliproxy, d as getCliproxyAuthDir, g as getCliproxyLogPath, l as decodeJwtPayload$1, p as getCliproxyClientEnv, s as bridgeCodexAuthToCliproxySync, v as init_cliproxy } from "./cliproxy-Brf_5MuG.js";
19
+ import { L as normalizeHarness, R as reactivateConversationForSpawn, S as getConversationByName, k as init_conversations, y as createConversation } from "./conversations-bYpM9-kZ.js";
20
+ import { n as recordFeatureRegistryLifecycle, t as init_feature_registry_population } from "./feature-registry-population-B-CI9hgE.js";
21
+ import { a as readCavemanVariant, n as init_workspace } from "./workspace-D9ppycdg.js";
22
+ import { a as requireModelOverrideSync, i as normalizeModelOverrideSync, n as init_launcher_generator, o as shellQuoteModelIdSync, r as init_model_validation, t as generateLauncherScriptSync } from "./launcher-generator-COgR2By1.js";
23
+ import { a as init_claude_permissions, r as getClaudePermissionFlagsStringSync } from "./claude-permissions-nSFKH78M.js";
24
+ import { h as workspaceContextFile, o as init_layers } from "./layers-Cp1To4L8.js";
25
+ import { a as extractThreadIdFromRollout, c as initCodexHome, l as init_codex, o as findLatestRollout } from "./codex-CbmztVcc.js";
26
+ import { n as init_harness_binary, r as prepareHarnessLaunch } from "./harness-binary-B2CTcD84.js";
27
+ import { f as init_config, m as loadConfigSync$1 } from "./config-q4Gvd8dq.js";
28
+ import { a as getFlywheelActiveRunIdSync, s as init_control_settings } from "./control-settings-D_odMIaC.js";
29
+ import { n as createTrackerFromConfig, r as init_factory, t as createTracker } from "./factory-BMrK4TrE.js";
30
+ import { a as init_stack_health, i as getWorkspaceStackHealth } from "./stack-health-C-ifC7b0.js";
31
+ import { i as createActiveSlice, l as init_dag, o as getDispatchableItems, s as groupItemsByWave } from "./dag-CJpgf9A3.js";
32
+ import { c as generateFixedPointPromptSync, f as initHookSync, n as checkHookSync, p as init_hooks } from "./hooks-yxRsjk-z.js";
33
+ import { n as resolveHarness, t as init_harness_resolve } from "./harness-resolve-D5FVQTmy.js";
34
+ import { a as loadCloisterConfigSync, r as init_config$1 } from "./config-DeTsoZdR.js";
35
+ import { t as init_reap_terminal_sessions } from "./reap-terminal-sessions-DG9eiMVz.js";
36
+ import { c as isStateMigrated, o as init_state_home } from "./state-home-CONQvZR0.js";
37
+ import { n as provisionClaudeHooks, t as init_claude_hooks_provision } from "./claude-hooks-provision-D7p5WcKZ.js";
38
+ import { a as init_lifecycle_io, t as appendContinueSessionEntryForIssue } from "./lifecycle-io-taIb0PoH.js";
39
+ import { r as init_swarm_readiness, t as analyzeSwarmReadiness } from "./swarm-readiness-DdmJVX7y.js";
38
40
  import { dirname, join, relative } from "node:path";
39
41
  import { Data, Duration, Effect, FileSystem } from "effect";
40
42
  import { appendFileSync, existsSync, mkdirSync, readFileSync, statSync, statfsSync, unlinkSync, writeFileSync } from "fs";
@@ -2805,12 +2807,12 @@ async function claudeSystemPromptFiles(workspace, harness) {
2805
2807
  files.push(await ensureSessionContextBriefingFile());
2806
2808
  const behavior = getHarnessBehavior(harness);
2807
2809
  if (behavior.contextLayerKind === "pi") {
2808
- const { piGlobalContextFile } = await import("./context-layers-YNpf6Q_I.js");
2810
+ const { piGlobalContextFile } = await import("./context-layers-DlQKkHH2.js");
2809
2811
  const globalFile = piGlobalContextFile();
2810
2812
  if (existsSync(globalFile)) files.unshift(globalFile);
2811
2813
  }
2812
2814
  if (behavior.contextLayerKind === "codex") {
2813
- const { codexGlobalContextFile } = await import("./context-layers-YNpf6Q_I.js");
2815
+ const { codexGlobalContextFile } = await import("./context-layers-DlQKkHH2.js");
2814
2816
  const globalFile = codexGlobalContextFile();
2815
2817
  if (existsSync(globalFile)) files.unshift(globalFile);
2816
2818
  }
@@ -3060,7 +3062,7 @@ async function injectPiPromptTimeMemory(agentId, prompt) {
3060
3062
  agentRole: agentState.role ?? "work",
3061
3063
  agentHarness: agentState.harness ?? "claude-code"
3062
3064
  };
3063
- const { injectPromptTimeMemory } = await import("./injection-DK9zh_HL.js");
3065
+ const { injectPromptTimeMemory } = await import("./injection-BVNa4MQW.js");
3064
3066
  const result = await injectPromptTimeMemory({
3065
3067
  prompt,
3066
3068
  identity,
@@ -3094,7 +3096,7 @@ async function injectPiConversationMemory(opts, prompt) {
3094
3096
  agentRole: "work",
3095
3097
  agentHarness: "ohmypi"
3096
3098
  };
3097
- const { injectPromptTimeMemory } = await import("./injection-DK9zh_HL.js");
3099
+ const { injectPromptTimeMemory } = await import("./injection-BVNa4MQW.js");
3098
3100
  const result = await injectPromptTimeMemory({
3099
3101
  prompt,
3100
3102
  identity,
@@ -3618,7 +3620,7 @@ async function transitionIssueToInReview(issueId, workspacePath) {
3618
3620
  async function buildAgentLaunchConfig(opts) {
3619
3621
  const model = requireModelOverrideSync(opts.model);
3620
3622
  try {
3621
- const { injectOverdeckInfraDeny } = await import("./claude-settings-overlay-DWXjafJh.js");
3623
+ const { injectOverdeckInfraDeny } = await import("./claude-settings-overlay-DHBwjS1X.js");
3622
3624
  await Effect.runPromise(injectOverdeckInfraDeny(opts.workspace));
3623
3625
  } catch (err) {
3624
3626
  console.warn(`[agents] injectOverdeckInfraDeny failed for ${opts.agentId} (non-fatal): ${err instanceof Error ? err.message : err}`);
@@ -3699,7 +3701,7 @@ async function retrieveSpawnTimeMemoryContext(input) {
3699
3701
  agentRole: input.role,
3700
3702
  agentHarness: input.harness
3701
3703
  };
3702
- const { injectPromptTimeMemory } = await import("./injection-DK9zh_HL.js");
3704
+ const { injectPromptTimeMemory } = await import("./injection-BVNa4MQW.js");
3703
3705
  return (await injectPromptTimeMemory({
3704
3706
  prompt: input.prompt,
3705
3707
  identity,
@@ -3790,7 +3792,7 @@ async function assertWorkspaceStackHealthyForSpawn(issueId, role, allowHost = fa
3790
3792
  record.attempts += 1;
3791
3793
  spawnStackRebuildState.set(normalizedIssue, record);
3792
3794
  console.log(`[agents] Workspace stack for ${normalizedIssue} unhealthy (${details}) — rebuilding before spawn (attempt ${record.attempts}/${SPAWN_STACK_REBUILD_MAX_ATTEMPTS})`);
3793
- const { rebuildWorkspaceStack } = await import("./rebuild-stack-DjdpALr1.js");
3795
+ const { rebuildWorkspaceStack } = await import("./rebuild-stack-CKjJAI8L.js");
3794
3796
  const result = await Effect.runPromise(rebuildWorkspaceStack(issueId, { onProgress: (m) => console.log(`[agents] ${normalizedIssue} stack rebuild: ${m}`) })).catch((err) => ({
3795
3797
  success: false,
3796
3798
  error: err instanceof Error ? err.message : String(err)
@@ -5033,18 +5035,18 @@ async function spawnRun(issueId, role, options = {}) {
5033
5035
  let reapWarmIdle = false;
5034
5036
  const advancing = role === "review" || role === "test" || role === "ship";
5035
5037
  try {
5036
- const { isPaneDead } = await import("./tmux-HQLgwo_C.js");
5038
+ const { isPaneDead } = await import("./tmux-BAvtac_u.js");
5037
5039
  if (await Effect.runPromise(isPaneDead(agentId))) reapWarmIdle = true;
5038
5040
  else if (advancing) {
5039
- const { getReviewStatusSync } = await import("./review-status-DXeqFpk5.js");
5040
- const { isRoleTerminal } = await import("./reap-terminal-sessions-C1mfzoZo.js");
5041
+ const { getReviewStatusSync } = await import("./review-status-Bnh-rdkY.js");
5042
+ const { isRoleTerminal } = await import("./reap-terminal-sessions-CaMkFOIH.js");
5041
5043
  const status = getReviewStatusSync(issueId);
5042
5044
  reapWarmIdle = !!status && isRoleTerminal(role, status);
5043
5045
  }
5044
5046
  } catch {}
5045
5047
  if (!reapWarmIdle) throw new Error(`Role run ${agentId} already running. Use 'pan tell' to message it.`);
5046
5048
  console.log(`[spawn] ${agentId} is warm-idle from the previous cycle — reaping it for the new ${role} dispatch (PAN-2579)`);
5047
- const { killSession } = await import("./tmux-HQLgwo_C.js");
5049
+ const { killSession } = await import("./tmux-BAvtac_u.js");
5048
5050
  await Effect.runPromise(killSession(agentId)).catch(() => {});
5049
5051
  }
5050
5052
  await assertWorkspaceStackHealthyForSpawn(issueId, role, options.allowHost, workspace);
@@ -5054,10 +5056,11 @@ async function spawnRun(issueId, role, options = {}) {
5054
5056
  role,
5055
5057
  model: selectedModel
5056
5058
  });
5059
+ const harnessLaunch = await prepareHarnessLaunch(resolvedHarness);
5057
5060
  assertCodexNativeAuthForSpawn(resolvedHarness, listAgentStates());
5058
5061
  await ensureLifecycleHooksBeforeLaunch(agentId, resolvedHarness);
5059
5062
  if (getProviderForModelSync(selectedModel).name === "openai" && await getProviderAuthMode(selectedModel) === "subscription") {
5060
- const { isCliproxyRunning } = await import("./cliproxy-7g1nObvB.js");
5063
+ const { isCliproxyRunning } = await import("./cliproxy-bONZDBbC.js");
5061
5064
  if (!await Effect.runPromise(isCliproxyRunning())) throw new Error("CLIProxyAPI sidecar is not running. GPT subscription role runs route through a local cliproxy process managed by `pan up`. Run `pan up` (or restart the dashboard) before spawning a GPT role run.");
5062
5065
  }
5063
5066
  const state = {
@@ -5135,7 +5138,11 @@ async function spawnRun(issueId, role, options = {}) {
5135
5138
  }
5136
5139
  if (options.reviewSynthesisAgentId) state.reviewSynthesisAgentId = options.reviewSynthesisAgentId;
5137
5140
  if (options.reviewOutputPath) state.reviewOutputPath = options.reviewOutputPath;
5138
- const extraEnvExports = [...flywheelEnvExports(flywheelEnv), ...options.extraEnvExports ?? []];
5141
+ const extraEnvExports = [
5142
+ harnessLaunch.pathExport,
5143
+ ...flywheelEnvExports(flywheelEnv),
5144
+ ...options.extraEnvExports ?? []
5145
+ ];
5139
5146
  if (role === "knowledge" && !extraEnvExports.includes("export PATH=\"$HOME/.overdeck/bin:$PATH\"")) extraEnvExports.push("export PATH=\"$HOME/.overdeck/bin:$PATH\"");
5140
5147
  const launcherContent = generateLauncherScriptSync({
5141
5148
  role,
@@ -5165,7 +5172,7 @@ async function spawnRun(issueId, role, options = {}) {
5165
5172
  const claudeCmd = `bash ${launcherScript}`;
5166
5173
  console.log(`[claude-invoke] purpose=role-run | role=${role} | model=${state.model} | source=agents.ts:spawnRun | session=${agentId} | command="${claudeCmd}"`);
5167
5174
  try {
5168
- const { preTrustDirectory } = await import("./workspace-manager-CcujONCR.js");
5175
+ const { preTrustDirectory } = await import("./workspace-manager-B1WOfKvB.js");
5169
5176
  preTrustDirectory(workspace);
5170
5177
  } catch {}
5171
5178
  clearReadySignal(agentId);
@@ -5245,7 +5252,7 @@ async function spawnAgent(options) {
5245
5252
  });
5246
5253
  console.log(`[DEBUG] Selected model: ${selectedModel}`);
5247
5254
  if (getProviderForModelSync(selectedModel).name === "openai" && await getProviderAuthMode(selectedModel) === "subscription") {
5248
- const { isCliproxyRunning } = await import("./cliproxy-7g1nObvB.js");
5255
+ const { isCliproxyRunning } = await import("./cliproxy-bONZDBbC.js");
5249
5256
  if (!await Effect.runPromise(isCliproxyRunning())) throw new Error("CLIProxyAPI sidecar is not running. GPT subscription agents route through a local cliproxy process managed by `pan up`. Run `pan up` (or restart the dashboard) before spawning a GPT agent.");
5250
5257
  }
5251
5258
  const resolvedHarness = await resolveHarness({
@@ -5253,6 +5260,7 @@ async function spawnAgent(options) {
5253
5260
  role,
5254
5261
  model: selectedModel
5255
5262
  });
5263
+ const harnessLaunch = await prepareHarnessLaunch(resolvedHarness);
5256
5264
  assertCodexNativeAuthForSpawn(resolvedHarness, listAgentStates());
5257
5265
  await ensureLifecycleHooksBeforeLaunch(agentId, resolvedHarness);
5258
5266
  const state = {
@@ -5274,7 +5282,7 @@ async function spawnAgent(options) {
5274
5282
  if (role === "work") {
5275
5283
  try {
5276
5284
  if (resetPipelineVerdictsForWorkStartSync(options.issueId)) {
5277
- const { resetPostMergeState } = await import("./merge-agent-CnORPiri.js");
5285
+ const { resetPostMergeState } = await import("./merge-agent-B-SnXOoc.js");
5278
5286
  resetPostMergeState(options.issueId);
5279
5287
  }
5280
5288
  } catch (err) {
@@ -5285,7 +5293,7 @@ async function spawnAgent(options) {
5285
5293
  });
5286
5294
  }
5287
5295
  if (role === "work") try {
5288
- const { writeStoryFeatureContext } = await import("./work-agent-prompt-ULdcANl5.js");
5296
+ const { writeStoryFeatureContext } = await import("./work-agent-prompt-DLthEPAq.js");
5289
5297
  await writeStoryFeatureContext(options.workspace, options.issueId);
5290
5298
  } catch (ctxErr) {
5291
5299
  console.warn(`[agents] Could not write story feature context for ${options.issueId}: ${ctxErr.message}`);
@@ -5334,7 +5342,7 @@ async function spawnAgent(options) {
5334
5342
  try {
5335
5343
  const venvPath = join$1(options.workspace, ".venv");
5336
5344
  if (isTldrEnabledSync() && existsSync(venvPath)) {
5337
- const { getTldrDaemonServiceSync } = await import("./tldr-daemon-BJA7TkqS.js");
5345
+ const { getTldrDaemonServiceSync } = await import("./tldr-daemon-B8_oT5gx.js");
5338
5346
  const tldrService = getTldrDaemonServiceSync(options.workspace, venvPath);
5339
5347
  if (!(await tldrService.getStatus()).running) {
5340
5348
  await tldrService.start(true);
@@ -5365,7 +5373,7 @@ async function spawnAgent(options) {
5365
5373
  supervisorScriptPath: supervisorLaunch.supervisorScriptPath,
5366
5374
  harness: state.harness ?? "claude-code",
5367
5375
  sessionId: state.sessionId,
5368
- extraEnvExports: flywheelEnvExports(flywheelEnv),
5376
+ extraEnvExports: [harnessLaunch.pathExport, ...flywheelEnvExports(flywheelEnv)],
5369
5377
  effort: options.effort
5370
5378
  });
5371
5379
  const launcherScript = join$1(getAgentDir(agentId), "launcher.sh");
@@ -5374,13 +5382,13 @@ async function spawnAgent(options) {
5374
5382
  const claudeCmd = `bash ${launcherScript}`;
5375
5383
  console.log(`[claude-invoke] purpose=work-agent | model=${state.model} | source=agents.ts:spawnAgent | session=${agentId} | command="${claudeCmd}"`);
5376
5384
  try {
5377
- const { preTrustDirectory } = await import("./workspace-manager-CcujONCR.js");
5385
+ const { preTrustDirectory } = await import("./workspace-manager-B1WOfKvB.js");
5378
5386
  preTrustDirectory(options.workspace);
5379
5387
  } catch {}
5380
5388
  try {
5381
- const { isGitHubAppConfigured, generateInstallationToken, configureWorkspaceForBot } = await import("./github-app-CeSVFL6C.js");
5389
+ const { isGitHubAppConfigured, generateInstallationToken, configureWorkspaceForBot } = await import("./github-app-CU14oYzP.js");
5382
5390
  if (isGitHubAppConfigured()) {
5383
- const { findProjectByPathSync } = await import("./projects-IRHJIPYC.js");
5391
+ const { findProjectByPathSync } = await import("./projects-BKkwpH6q.js");
5384
5392
  const ghRepo = findProjectByPathSync(resolve$1(options.workspace, "..", ".."))?.github_repo;
5385
5393
  if (ghRepo) {
5386
5394
  const [owner, repo] = ghRepo.split("/");
@@ -5443,7 +5451,7 @@ async function spawnAgent(options) {
5443
5451
  const codexHomeForAgent = join$1(homedir(), ".overdeck", "agents", agentId, "codex-home");
5444
5452
  (async () => {
5445
5453
  try {
5446
- const { waitForCodexRollout, extractThreadIdFromRollout, writeThreadId } = await import("./codex-BBeZ8c3s.js");
5454
+ const { waitForCodexRollout, extractThreadIdFromRollout, writeThreadId } = await import("./codex-DNyiQDKW.js");
5447
5455
  const rollout = await waitForCodexRollout(codexHomeForAgent, 12e4);
5448
5456
  if (rollout) {
5449
5457
  const threadId = extractThreadIdFromRollout(rollout);
@@ -5546,6 +5554,7 @@ var init_spawn = __esmMin((() => {
5546
5554
  init_providers();
5547
5555
  init_review_status();
5548
5556
  init_harness_resolve();
5557
+ init_harness_binary();
5549
5558
  init_codex_auth();
5550
5559
  init_behavior();
5551
5560
  init_bridge_token();
@@ -5750,6 +5759,7 @@ var init_ohmypi = __esmMin((() => {
5750
5759
  init_behavior();
5751
5760
  init_tmux();
5752
5761
  init_ohmypi_parser();
5762
+ init_harness_binary();
5753
5763
  init_launcher_generator();
5754
5764
  init_ohmypi_fifo();
5755
5765
  init_errors();
@@ -5893,6 +5903,7 @@ var init_ohmypi = __esmMin((() => {
5893
5903
  async spawnAgent(config) {
5894
5904
  const piExtensionPath = config.piExtensionPath;
5895
5905
  if (!piExtensionPath) throw new Error("OhmypiRuntime.spawnAgent requires piExtensionPath in config");
5906
+ const harnessLaunch = await prepareHarnessLaunch("ohmypi");
5896
5907
  const agentId = config.agentId;
5897
5908
  const dir = agentDirFor(agentId);
5898
5909
  const sessionDir = ohmypiSessionDirFor(agentId);
@@ -5921,6 +5932,7 @@ var init_ohmypi = __esmMin((() => {
5921
5932
  resumeSessionId,
5922
5933
  overdeckEnv: { agentId },
5923
5934
  setTerminalEnv: true,
5935
+ extraEnvExports: [harnessLaunch.pathExport],
5924
5936
  trapHup: true
5925
5937
  });
5926
5938
  const launcherPath = join(dir, "ohmypi-launcher.sh");
@@ -6225,7 +6237,7 @@ async function messageAgent(agentId, message, caller = "internal", opts = {}) {
6225
6237
  return;
6226
6238
  }
6227
6239
  console.log(`[agents] Auto-resuming suspended agent ${normalizedId} to deliver message`);
6228
- const { resumeAgent } = await import("./agents-Czz6R57Z.js");
6240
+ const { resumeAgent } = await import("./agents-DyHKlq1I.js");
6229
6241
  const result = await resumeAgent(normalizedId, message);
6230
6242
  if (!result.success) throw new Error(`Failed to auto-resume agent: ${result.error}`);
6231
6243
  if (result.messageDelivered === false) throw new Error(`Agent resumed but ready signal did not fire — message not delivered. Feedback is in the mail queue.`);
@@ -6242,7 +6254,7 @@ async function messageAgent(agentId, message, caller = "internal", opts = {}) {
6242
6254
  return;
6243
6255
  }
6244
6256
  console.log(`[agents] Auto-resuming stopped agent ${normalizedId} to deliver feedback (session exists: ${await Effect.runPromise(sessionExists(normalizedId))})`);
6245
- const { resumeAgent } = await import("./agents-Czz6R57Z.js");
6257
+ const { resumeAgent } = await import("./agents-DyHKlq1I.js");
6246
6258
  const resumeResult = await resumeAgent(normalizedId, message);
6247
6259
  queueAgentMail(normalizedId, message);
6248
6260
  if (resumeResult.success && resumeResult.messageDelivered !== false) {
@@ -6278,7 +6290,8 @@ async function messageAgent(agentId, message, caller = "internal", opts = {}) {
6278
6290
  const resumeRole = agentState.role ?? "work";
6279
6291
  const resumeModel = agentState.model || "claude-sonnet-4-6";
6280
6292
  const fallbackHarness = agentState.harness ?? "claude-code";
6281
- const { assertWorkspaceStackHealthyForSpawn } = await import("./agents-Czz6R57Z.js");
6293
+ const harnessLaunch = await prepareHarnessLaunch(fallbackHarness);
6294
+ const { assertWorkspaceStackHealthyForSpawn } = await import("./agents-DyHKlq1I.js");
6282
6295
  await assertWorkspaceStackHealthyForSpawn(agentState.issueId || normalizedId.replace(/^agent-/, "").toUpperCase(), resumeRole, agentState.hostOverride === true, agentState.workspace);
6283
6296
  const fallbackPiFields = fallbackHarness === "ohmypi" ? await getOhmypiLauncherFields(normalizedId, resumeModel) : {};
6284
6297
  const fallbackCodexFields = fallbackHarness === "codex" ? getCodexLauncherFields(normalizedId, resumeModel, agentState.workspace, resumeRole) : {};
@@ -6289,6 +6302,7 @@ async function messageAgent(agentId, message, caller = "internal", opts = {}) {
6289
6302
  changeDir: false,
6290
6303
  setTerminalEnv: true,
6291
6304
  providerExports,
6305
+ extraEnvExports: [harnessLaunch.pathExport],
6292
6306
  baseCommand: await getRoleRuntimeBaseCommand(resumeModel, normalizedId, resumeRole, fallbackHarness),
6293
6307
  appendSystemPromptFiles: await claudeSystemPromptFiles(agentState.workspace, fallbackHarness),
6294
6308
  useSupervisor: fallbackSupervisorLaunch.useSupervisor,
@@ -6341,7 +6355,7 @@ async function messageAgent(agentId, message, caller = "internal", opts = {}) {
6341
6355
  } else console.warn(`[agents] Fallback-restarted ${normalizedId} but ready signal not detected — feedback in mail queue`);
6342
6356
  return;
6343
6357
  }
6344
- const { loadRemoteAgentState, sendToRemoteAgent } = await import("./remote-agents-BNORDWAX.js");
6358
+ const { loadRemoteAgentState, sendToRemoteAgent } = await import("./remote-agents-D6O_zETW.js");
6345
6359
  const remoteState = loadRemoteAgentState(normalizedId);
6346
6360
  if (remoteState && remoteState.vmName) {
6347
6361
  console.log(`[agents] Sending message to remote agent ${normalizedId} on ${remoteState.vmName}`);
@@ -6373,7 +6387,7 @@ async function messageAgent(agentId, message, caller = "internal", opts = {}) {
6373
6387
  const panePids = await Effect.runPromise(listPaneValues(normalizedId, "#{pane_pid}"));
6374
6388
  if (panePids.length > 0 && !await hasAgentRuntimeInSubtree(panePids[0], expectedHarness)) {
6375
6389
  console.warn(`[agents] ${normalizedId} tmux session is a zombie (no ${expectedHarness} runtime) — attempting resume`);
6376
- const { resumeAgent } = await import("./agents-Czz6R57Z.js");
6390
+ const { resumeAgent } = await import("./agents-DyHKlq1I.js");
6377
6391
  const resumeResult = await resumeAgent(normalizedId, message);
6378
6392
  if (resumeResult.success) {
6379
6393
  if (resumeResult.messageDelivered !== false) await appendTellInterventionForUserSource(normalizedId, caller);
@@ -6392,6 +6406,7 @@ var init_messaging = __esmMin((() => {
6392
6406
  init_activity_logger();
6393
6407
  init_child_env();
6394
6408
  init_launcher_generator();
6409
+ init_harness_binary();
6395
6410
  init_operator_interventions();
6396
6411
  init_persistent_logger();
6397
6412
  init_providers();
@@ -6485,7 +6500,7 @@ async function buildCompactRecoverySeed(agentId) {
6485
6500
  if (agentState?.workspace && sessionId) {
6486
6501
  const sessionFile = sessionFilePath(agentState.workspace, sessionId);
6487
6502
  try {
6488
- const [{ getConversationCompactionSettings }, { generateSmartSummary }] = await Promise.all([import("./conversation-compaction-CMIeWW4_.js"), import("./smart-compaction-C1_VVLEd.js")]);
6503
+ const [{ getConversationCompactionSettings }, { generateSmartSummary }] = await Promise.all([import("./conversation-compaction-CN4-5YYt.js"), import("./smart-compaction-jdMkG1vo.js")]);
6489
6504
  const settings = getConversationCompactionSettings();
6490
6505
  summary = (await Effect.runPromise(generateSmartSummary({
6491
6506
  jsonlPath: sessionFile,
@@ -6496,7 +6511,7 @@ async function buildCompactRecoverySeed(agentId) {
6496
6511
  } catch (err) {
6497
6512
  logAgentLifecycleSync(normalizedId, `compact-recovery smart summary failed (${err instanceof Error ? err.message : String(err)}); trying heuristic fallback`);
6498
6513
  try {
6499
- const { generateFallbackSummary } = await import("./summary-fork-CdLn8Chr.js");
6514
+ const { generateFallbackSummary } = await import("./summary-fork-agEMsPSo.js");
6500
6515
  summary = await Effect.runPromise(generateFallbackSummary(sessionFile));
6501
6516
  } catch (fallbackErr) {
6502
6517
  logAgentLifecycleSync(normalizedId, `compact-recovery fallback summary failed (${fallbackErr instanceof Error ? fallbackErr.message : String(fallbackErr)}); seeding with reseed instructions only`);
@@ -6612,6 +6627,7 @@ async function resumeAgent(agentId, message, opts) {
6612
6627
  role: agentState.role,
6613
6628
  model
6614
6629
  });
6630
+ const harnessLaunch = await prepareHarnessLaunch(effectiveHarness);
6615
6631
  const legacyHarnessMigrated = !hasSessionOrigin && priorHarness !== void 0 && priorHarness !== effectiveHarness;
6616
6632
  agentState.harness = effectiveHarness;
6617
6633
  const supervisorLaunch = await prepareSupervisorForRelaunch(normalizedId, agentState, model, effectiveHarness);
@@ -6681,7 +6697,8 @@ async function resumeAgent(agentId, message, opts) {
6681
6697
  sessionId: freshSessionId,
6682
6698
  harness: effectiveHarness,
6683
6699
  useSupervisor: supervisorLaunch.useSupervisor,
6684
- supervisorScriptPath: supervisorLaunch.supervisorScriptPath
6700
+ supervisorScriptPath: supervisorLaunch.supervisorScriptPath,
6701
+ extraEnvExports: [harnessLaunch.pathExport]
6685
6702
  });
6686
6703
  const launcherScript = join$1(getAgentDir(normalizedId), "launcher.sh");
6687
6704
  await writeLauncherScriptAtomic(launcherScript, launcherContent);
@@ -6802,6 +6819,7 @@ var init_resume = __esmMin((() => {
6802
6819
  init_child_env();
6803
6820
  init_context_overflow();
6804
6821
  init_harness_resolve();
6822
+ init_harness_binary();
6805
6823
  init_model_validation();
6806
6824
  init_infra();
6807
6825
  init_paths();
@@ -6884,14 +6902,15 @@ async function restartAgent(agentId, opts = {}) {
6884
6902
  error: reason
6885
6903
  };
6886
6904
  }
6887
- if (graceful && await Effect.runPromise(sessionExists(normalizedId))) await sendGracefulRestartWarning(normalizedId, agentState.harness, agentState.workspace);
6888
- await Effect.runPromise(stopAgent(normalizedId));
6889
6905
  const effectiveModel = newModel || requireModelOverrideSync(agentState.model || "claude-sonnet-4-6");
6890
6906
  const effectiveHarness = await resolveHarness({
6891
6907
  explicit: newHarness ?? agentState.harness,
6892
6908
  role: agentState.role,
6893
6909
  model: effectiveModel
6894
6910
  });
6911
+ const harnessLaunch = await prepareHarnessLaunch(effectiveHarness);
6912
+ if (graceful && await Effect.runPromise(sessionExists(normalizedId))) await sendGracefulRestartWarning(normalizedId, agentState.harness, agentState.workspace);
6913
+ await Effect.runPromise(stopAgent(normalizedId));
6895
6914
  if (newModel && newModel !== agentState.model) agentState.model = newModel;
6896
6915
  agentState.harness = effectiveHarness;
6897
6916
  agentState.status = "starting";
@@ -6908,7 +6927,8 @@ async function restartAgent(agentId, opts = {}) {
6908
6927
  isPlanning: agentState.role === "plan",
6909
6928
  harness: effectiveHarness,
6910
6929
  useSupervisor: supervisorLaunch.useSupervisor,
6911
- supervisorScriptPath: supervisorLaunch.supervisorScriptPath
6930
+ supervisorScriptPath: supervisorLaunch.supervisorScriptPath,
6931
+ extraEnvExports: [harnessLaunch.pathExport]
6912
6932
  });
6913
6933
  const launcherScript = join$1(getAgentDir(normalizedId), "launcher.sh");
6914
6934
  await writeLauncherScriptAtomic(launcherScript, launcherContent);
@@ -7036,6 +7056,7 @@ async function recoverAgent(agentId, opts = {}) {
7036
7056
  else clearCredentialFileAuthSync(state.workspace);
7037
7057
  }
7038
7058
  const recoveryHarness = normalizeHarness(state.harness ?? null) ?? "claude-code";
7059
+ const harnessLaunch = await prepareHarnessLaunch(recoveryHarness);
7039
7060
  const recoverySupervisorLaunch = await prepareSupervisorForRelaunch(normalizedId, state, state.model, recoveryHarness);
7040
7061
  saveAgentStateSync(state);
7041
7062
  if (recoveryHarness === "ohmypi") {
@@ -7045,7 +7066,8 @@ async function recoverAgent(agentId, opts = {}) {
7045
7066
  workspace: state.workspace,
7046
7067
  role: recoveryRole,
7047
7068
  isPlanning: recoveryRole === "plan",
7048
- harness: "ohmypi"
7069
+ harness: "ohmypi",
7070
+ extraEnvExports: [harnessLaunch.pathExport]
7049
7071
  });
7050
7072
  const launcherScript = join$1(getAgentDir(normalizedId), "launcher.sh");
7051
7073
  await writeLauncherScriptAtomic(launcherScript, launcherContent);
@@ -7075,6 +7097,7 @@ async function recoverAgent(agentId, opts = {}) {
7075
7097
  changeDir: false,
7076
7098
  setTerminalEnv: true,
7077
7099
  providerExports: (await getProviderExportsForModel(state.model)).trimEnd(),
7100
+ extraEnvExports: [harnessLaunch.pathExport],
7078
7101
  baseCommand: await getRoleRuntimeBaseCommand(state.model, normalizedId, recoveryRole, recoveryHarness),
7079
7102
  appendSystemPromptFiles: await claudeSystemPromptFiles(state.workspace, recoveryHarness),
7080
7103
  ...recoveryHarness === "codex" ? {} : { promptInline: recoveryPrompt },
@@ -7163,6 +7186,7 @@ var init_recovery = __esmMin((() => {
7163
7186
  init_hooks();
7164
7187
  init_launcher_generator();
7165
7188
  init_harness_resolve();
7189
+ init_harness_binary();
7166
7190
  init_model_validation();
7167
7191
  init_persistent_logger();
7168
7192
  init_providers();
@@ -8187,4 +8211,4 @@ var init_queries = __esmMin((() => {
8187
8211
  //#endregion
8188
8212
  export { stopAgent as $, init_pty_token as $n, init_ohmypi_fifo as $t, buildCompactRecoverySeed as A, getAgentStateFilePath as An, init_spawn_prep as At, appendActivity as B, recordAgentFailure as Bn, OHMYPI_AGENT_READY_TIMEOUT_SECONDS as Bt, init_slot_reconcile as C, clearAgentTroubled as Cn, probeTranscriptSince as Ct, detectCrashedAgents as D, getAgentDir as Dn, assertWorkspaceStackHealthyForSpawn as Dt, autoRecoverAgents as E, decideResumeGate as En, writeBridgeTokenSync as Et, isContextOverflowTail as F, isRole as Fn, providerDefaultHarnessSync as Ft, init_activity as G, saveAgentStateSync as Gn, getProviderAuthMode as Gt, getLatestSessionId as H, recordStartupSessionExit as Hn, getAgentRuntimeBaseCommand as Ht, init_messaging as I, markAgentRunning as In, resolveImplicitStaffing as It, init_ohmypi as J, setAgentYieldedSync as Jn, injectPiConversationMemory as Jt, saveSessionId as K, setAgentPaused as Kn, getRoleRuntimeBaseCommand as Kt, messageAgent as L, markAgentRunningState as Ln, resolveStaffing as Lt, resumeAgent as M, init_agent_state as Mn, transitionIssueToInProgress as Mt, init_context_overflow as N, isAgentPaused as Nn, transitionIssueToInReview as Nt, recoverAgent as O, getAgentResumeGateBlockReason as On, buildAgentLaunchConfig as Ot, isContextOverflowError as P, isAgentTroubled as Pn, init_staffing as Pt, init_termination as Q, readAgentHarnessModelRecordSync as Qn, piFifoPaths as Qt, init_operator_interventions as R, markAgentStoppedState as Rn, init_resolve_tier as Rt, init_tier_escalation as S, clearAgentPausedSync as Sn, init_transcript_landing as St, reconcileSlotState as T, clearYieldForResumeSync as Tn, init_bridge_token as Tt, getLatestSessionIdSync as U, resetAgentFailureCount as Un, getCodexLauncherFields as Ut, getActivity as V, recordAgentFailureSync as Vn, describeOhmypiSpawnFailure as Vt, getSessionId as W, saveAgentState as Wn, getOhmypiLauncherFields as Wt, spawnAgent as X, writeAgentStateJsonSync as Xn, waitForPromptReady as Xt, init_spawn as Y, wipeAgentStateDirs as Yn, roleAgentDefinitionPath as Yt, spawnRun as Z, init_agent_record_sync as Zn, init_pi_fifo as Zt, spawnTierSupervisor as _, writeChannelsBridgeMcpConfig as _n, init_codex_auth as _r, deliverAgentPermissionDecision as _t, listRunningAgentsSync as a, determineModel as an, normalizeAgentId as ar, getConcurrencyLimits as at, init_tier_feed as b, __testInternals as bn, parseOhmypiSessionCostResultSync as br, setAgentDeliveryMethod as bt, compactAtTierRunBoundary as c, getProviderTmuxFlags as cn, waitForReadySignal as cr, releaseSwarmSlot as ct, replayStandingAgent as d, getOpenAIAuthStatus as dn, init_runtime_state as dr, tryReserveSwarmSlot as dt, ohmypiFifoPaths as en, writePtyToken as er, stopAgentSync as et, shouldReplayCompactAtTierRunBoundary as f, init_openai_auth as fn, saveAgentRuntimeState as fr, workResumeSlotsAvailable as ft, shouldSupervise as g, dismissDevChannelsDialog as gn, checkCodexAuthStatus as gr, deliverAgentMessage as gt, loadPrdDraft as h, decideSupervisorForWorkAgent as hn, applyCodexAuthBurnFlag as hr, setCachedMemoryVerdict as ht, listRunningAgents as i, buildSpawnEnvForModel as in, isQualifiedAgentId as ir, emergencyBrake as it, init_resume as j, getAgentStateSync as jn, retrieveSpawnTimeMemoryContext as jt, restartAgent as k, getAgentState as kn, defaultRunWorkspace as kt, contextWindowForModel as l, init_provider_health as ln, getAgentRuntimeState as lr, resetPatrolDispatchBudget as lt, init_tier_supervisor as m, decideChannelsForWorkAgent as mn, init_agent_runtime as mr, init_memory_verdict_cache as mt, init_queries as n, init_claude_auth as nn, resolvePtySupervisorScriptPath as nr, countRunningSwarmSlotsForIssue as nt, warnOnBareNumericIssueIds as o, getProviderEnvForModel as on, resolveAgentTargetSync as or, init_concurrency as ot, deliverCommitForReview as p, buildDefaultResumeContinueMessage as pn, getAgentRuntimeSnapshot as pr, getCachedMemoryVerdict as pt, createOhmypiRuntimeSync as q, setAgentPausedSync as qn, init_runtime_command as qt, listAgentStates as r, buildCavemanExports as rn, clearReadySignal as rr, describeRunningAgents as rt, init_agents as s, getProviderExportsForModel as sn, waitForAgentIdle as sr, releaseAdvancingSlot as st, dropLegacyAgentStatesMissingRoleAsync as t, getClaudeAuthStatus as tn, init_pty_supervisor_locate as tr, countRunningAgents as tt, replayCrashedStandingAgent as u, validateProviderHealth as un, getAgentRuntimeStateSync as ur, tryReserveAdvancingSlot as ut, supervisorAgentId as v, GOVERNOR_SLOT_PAUSE_REASON_PREFIX as vn, paneShowsCodexAuthBurn as vr, deliverInitialPromptWithRetry as vt, listSlotAssignments as w, clearAgentTroubledSync as wn, BRIDGE_TOKEN_HEADER as wt, decideEscalation as x, clearAgentPaused as xn, captureTranscriptUserRecordSnapshot as xt, broadcastCommit as y, SESSION_EXITED_BEFORE_KICKOFF as yn, init_ohmypi_parser as yr, deliverResumeMessageWithTranscriptConfirmation as yt, operatorInterventionEvent as z, markAgentTroubled as zn, resolveTier as zt };
8189
8213
 
8190
- //# sourceMappingURL=queries-B5hl7lMQ.js.map
8214
+ //# sourceMappingURL=queries-ZABd5aXP.js.map
@@ -0,0 +1,3 @@
1
+ import { n as init_rally, t as RallyTracker } from "./rally-i_goYmiA.js";
2
+ init_rally();
3
+ export { RallyTracker };
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Er as TrackerError, Or as init_errors } from "./config-yaml-Ciyp2mYe.js";
2
+ import { jr as init_errors, kr as TrackerError } from "./config-yaml-ig8Nwtiw.js";
3
3
  import { Data, Effect } from "effect";
4
4
  //#region ../../lib/tracker/interface.ts
5
5
  /**
@@ -162,4 +162,4 @@ var init_rally_api = __esmMin((() => {
162
162
  //#endregion
163
163
  export { TrackerAuthError as a, NotImplementedError as i, init_rally_api as n, init_interface as o, IssueNotFoundError as r, RallyRestApi as t };
164
164
 
165
- //# sourceMappingURL=rally-api-DGaFz5L5.js.map
165
+ //# sourceMappingURL=rally-api-DqKqIMNR.js.map
@@ -1,3 +1,3 @@
1
- import { n as init_rally_api, t as RallyRestApi } from "./rally-api-DGaFz5L5.js";
1
+ import { n as init_rally_api, t as RallyRestApi } from "./rally-api-DqKqIMNR.js";
2
2
  init_rally_api();
3
3
  export { RallyRestApi };
@@ -1,3 +1,3 @@
1
- import { i as init_rally_client, n as RallyClientLive, r as RallyClientOptionalLive, t as RallyClient } from "./rally-client-SVbjGvqj.js";
1
+ import { i as init_rally_client, n as RallyClientLive, r as RallyClientOptionalLive, t as RallyClient } from "./rally-client-COYz1vYR.js";
2
2
  init_rally_client();
3
3
  export { RallyClient, RallyClientLive, RallyClientOptionalLive };
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { a as init_tracker_config, r as getRallyConfig } from "./tracker-config-DSFZBdXP.js";
2
+ import { a as init_tracker_config, r as getRallyConfig } from "./tracker-config-DdT-nUAM.js";
3
3
  import { a as RateLimited, c as TrackerNotConfigured, d as init_typed_errors, r as IssueNotFound, s as TrackerApiError } from "./typed-errors-2BTMxkZq.js";
4
4
  import { Context, Effect, Layer } from "effect";
5
5
  //#region services/rally-client.ts
@@ -46,7 +46,7 @@ function makeRallyClientImpl(config) {
46
46
  let tracker = null;
47
47
  async function getTracker() {
48
48
  if (!tracker) {
49
- const { RallyTracker } = await import("./rally-DGimSRBQ.js");
49
+ const { RallyTracker } = await import("./rally-OSJXdiHK.js");
50
50
  tracker = new RallyTracker({
51
51
  apiKey: config.apiKey,
52
52
  server: config.server,
@@ -106,7 +106,7 @@ var init_rally_client = __esmMin((() => {
106
106
  RallyClientLive = Layer.effect(RallyClient, Effect.gen(function* () {
107
107
  const config = getRallyConfig();
108
108
  if (!config) return yield* Effect.fail(new TrackerNotConfigured({ tracker: "rally" }));
109
- const { RallyTracker } = yield* Effect.promise(() => import("./rally-DGimSRBQ.js"));
109
+ const { RallyTracker } = yield* Effect.promise(() => import("./rally-OSJXdiHK.js"));
110
110
  const tracker = new RallyTracker({
111
111
  apiKey: config.apiKey,
112
112
  server: config.server,
@@ -158,4 +158,4 @@ var init_rally_client = __esmMin((() => {
158
158
  //#endregion
159
159
  export { init_rally_client as i, RallyClientLive as n, RallyClientOptionalLive as r, RallyClient as t };
160
160
 
161
- //# sourceMappingURL=rally-client-SVbjGvqj.js.map
161
+ //# sourceMappingURL=rally-client-COYz1vYR.js.map
@@ -1,6 +1,6 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Er as TrackerError, Or as init_errors } from "./config-yaml-Ciyp2mYe.js";
3
- import { a as TrackerAuthError, n as init_rally_api, o as init_interface, r as IssueNotFoundError, t as RallyRestApi } from "./rally-api-DGaFz5L5.js";
2
+ import { jr as init_errors, kr as TrackerError } from "./config-yaml-ig8Nwtiw.js";
3
+ import { a as TrackerAuthError, n as init_rally_api, o as init_interface, r as IssueNotFoundError, t as RallyRestApi } from "./rally-api-DqKqIMNR.js";
4
4
  import { Effect } from "effect";
5
5
  //#region ../../lib/tracker/rally.ts
6
6
  /**
@@ -504,4 +504,4 @@ var init_rally = __esmMin((() => {
504
504
  //#endregion
505
505
  export { init_rally as n, RallyTracker as t };
506
506
 
507
- //# sourceMappingURL=rally-Dp0Gb1DN.js.map
507
+ //# sourceMappingURL=rally-i_goYmiA.js.map
@@ -0,0 +1,4 @@
1
+ import { r as isRoleTerminal } from "./review-status-source-CxuEjLGg.js";
2
+ import { i as selectAwaitingTestWorkSessions, o as selectMergedWorkSessions, s as selectNonMergedTerminalAdvancingSessions, t as init_reap_terminal_sessions } from "./reap-terminal-sessions-DG9eiMVz.js";
3
+ init_reap_terminal_sessions();
4
+ export { isRoleTerminal, selectAwaitingTestWorkSessions, selectMergedWorkSessions, selectNonMergedTerminalAdvancingSessions };