@overdeck/desktop 0.45.22 → 0.45.23

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 (375) hide show
  1. package/package.json +1 -1
  2. package/server/{acceptance-criteria-BH7ac_1G.js → acceptance-criteria-DOA0KgXx.js} +5 -5
  3. package/server/{advancing-selfheal-cSvXNZLZ.js → advancing-selfheal-BBu6DSNm.js} +6 -6
  4. package/server/{agent-gc-Dj2gncak.js → agent-gc-BV1q_2EV.js} +4 -4
  5. package/server/agent-state-Bg0lhqwj.js +3 -0
  6. package/server/{agent-state-service-CsQ07Pxe.js → agent-state-service-CnzFKSAQ.js} +1 -1
  7. package/server/{agent-state-service-DistflNn.js → agent-state-service-HoK8U4jW.js} +5 -5
  8. package/server/{agents-DXdHmRTC.js → agents-B4Bjbkfv.js} +4 -4
  9. package/server/agents-FlIgQ3ql.js +3 -0
  10. package/server/{archive-planning-BvDuWNMo.js → archive-planning-DYrYojxl.js} +30 -6
  11. package/server/{archive-planning-Cp_DC1j-.js → archive-planning-zkJb3BeM.js} +1 -1
  12. package/server/{artifact-index-jobs-CDBFL4OU.js → artifact-index-jobs-C-xy7Z5v.js} +2 -2
  13. package/server/{backlog-auto-trigger-DmA1IbYf.js → backlog-auto-trigger-GtG71X8H.js} +3 -3
  14. package/server/{behavior-CGj16clS.js → behavior-B_-4EKF3.js} +2 -2
  15. package/server/{briefing-freshness-C12WgkaB.js → briefing-freshness-DWdW7vUm.js} +2 -2
  16. package/server/{build-info-NU3KbXYw.js → build-info-BT096lEl.js} +3 -3
  17. package/server/{build-info-BRpqQvNd.js → build-info-DgTqZkL5.js} +1 -1
  18. package/server/{checkpoint-manager-rOgT98WY.js → checkpoint-manager-B7Bt29J0.js} +1 -1
  19. package/server/{checkpoint-manager-CTPjAmtH.js → checkpoint-manager-DDqcGyu8.js} +2 -2
  20. package/server/checkpoint-worker.js +1 -1
  21. package/server/{checkpoints-BJum14fs.js → checkpoints-C-AXLfYT.js} +2 -2
  22. package/server/{checkpoints-B5jFNi2G.js → checkpoints-CpgCjAlN.js} +1 -1
  23. package/server/{claude-hooks-provision-BhwWK-TQ.js → claude-hooks-provision-C8wdRnN1.js} +1 -1
  24. package/server/{claude-hooks-provision-D7p5WcKZ.js → claude-hooks-provision-but-_qGY.js} +2 -2
  25. package/server/{claude-permissions-nSFKH78M.js → claude-permissions-H_5wHQZQ.js} +2 -2
  26. package/server/{claude-settings-overlay-DHBwjS1X.js → claude-settings-overlay-BTENVmYf.js} +1 -1
  27. package/server/{claude-settings-overlay-BI_UIke0.js → claude-settings-overlay-CbSz0Dvb.js} +2 -2
  28. package/server/cli-BsVIHwzC.js +3 -0
  29. package/server/{cli-CbKNkFE5.js → cli-vBeXbPrq.js} +9 -9
  30. package/server/{cliproxy-Brf_5MuG.js → cliproxy-Bgb2XCqi.js} +2 -2
  31. package/server/{cliproxy-bONZDBbC.js → cliproxy-DW0V86F8.js} +1 -1
  32. package/server/{close-issue-CxReRxIc.js → close-issue-Dn_4c4G8.js} +5 -5
  33. package/server/{closed-issue-reaper-DXP2Xyv3.js → closed-issue-reaper-CWpY2uBw.js} +1 -1
  34. package/server/{closed-issue-reaper-CQ3kqha7.js → closed-issue-reaper-hANY_ehE.js} +9 -9
  35. package/server/codex-Dg7Is5yb.js +3 -0
  36. package/server/{codex-CbmztVcc.js → codex-TmSi-yTv.js} +27 -8
  37. package/server/{codex-parser-jl8AeAmB.js → codex-parser-C4gSH-IR.js} +2 -2
  38. package/server/{config-q4Gvd8dq.js → config-CCvjQf27.js} +2 -2
  39. package/server/{config-BJKocXKd.js → config-DUIhMN_T.js} +1 -1
  40. package/server/{config-DeTsoZdR.js → config-DjLOdbgT.js} +2 -2
  41. package/server/{config-yaml-ig8Nwtiw.js → config-yaml-DvyMuOle.js} +55 -186
  42. package/server/{conflict-gate-CHU9K1vU.js → conflict-gate-BSJkNTdp.js} +1 -1
  43. package/server/{conflict-gate-CFqPVxEg.js → conflict-gate-CmrYpa47.js} +3 -3
  44. package/server/{context-layers-DlQKkHH2.js → context-layers-B3Nt58jl.js} +2 -2
  45. package/server/{context-layers-15gDOk20.js → context-layers-ZYFcWiyc.js} +3 -3
  46. package/server/{control-settings-D_odMIaC.js → control-settings-aP1ANIlI.js} +4 -4
  47. package/server/{conversation-compaction-B6YSRLda.js → conversation-compaction-CNbTLB86.js} +8 -8
  48. package/server/{conversation-compaction-CN4-5YYt.js → conversation-compaction-DiG5zWQq.js} +1 -1
  49. package/server/{conversation-service-C3avRVEr.js → conversation-service-Du-MTNpJ.js} +6 -6
  50. package/server/{conversation-service-Dq33SYEj.js → conversation-service-Up7FEzIC.js} +1 -1
  51. package/server/{conversations-H9if0bCQ.js → conversations-6mPANqvL.js} +1 -1
  52. package/server/{conversations-bYpM9-kZ.js → conversations-DbOs1e9Q.js} +4 -4
  53. package/server/{cost-wH46-WsJ.js → cost-CW4WSe72.js} +3 -3
  54. package/server/{cost-Codk1pc2.js → cost-Ca0YTWDw.js} +18 -2
  55. package/server/{cost-sync-D_cre6WM.js → cost-sync-C0VdGme1.js} +3 -3
  56. package/server/{dag-CJpgf9A3.js → dag-CdOjJVDT.js} +9 -9
  57. package/server/{dangerous-git-ops-D6AF-Hg_.js → dangerous-git-ops-CT-IypG3.js} +1 -1
  58. package/server/dashboard-db-worker.js +7 -7
  59. package/server/{deacon-B8HbQdqU.js → deacon-DYSEJb48.js} +3 -3
  60. package/server/{deacon-nudge-log-D6K9K-rE.js → deacon-nudge-log-Bjg8U4Y9.js} +3 -3
  61. package/server/{deacon-CkT_kznS.js → deacon-pRnyD5w9.js} +266 -577
  62. package/server/deacon-swarm-9jRLS5Ke.js +2 -0
  63. package/server/{deacon-swarm-BryRr6AO.js → deacon-swarm-DftYRDo8.js} +17 -17
  64. package/server/deacon.js +8 -8
  65. package/server/{deploy-patrol-1IrZxicY.js → deploy-patrol-Bjsho_ha.js} +136 -19
  66. package/server/{deploy-window-7ZYHh7Zp.js → deploy-window-CM6W1-c6.js} +1 -1
  67. package/server/{deploy-window-wDf4UgHt.js → deploy-window-DeP_OIRk.js} +77 -10
  68. package/server/{dev-supervisor-C7p9kEpc.js → dev-supervisor-BpMoHlkR.js} +2 -2
  69. package/server/{devcontainer-renderer-CNmQy0pL.js → devcontainer-renderer-CtUgrVKW.js} +3 -3
  70. package/server/dist-Bd3vn0Hw.js +3 -0
  71. package/server/{dist-D-Ed5yVw.js → dist-DyRx4cI7.js} +1 -1
  72. package/server/{docker-BCZ89M9X.js → docker-BK7HIcBj.js} +2 -2
  73. package/server/{dod-DbJLYcHv.js → dod-BrSfUHm0.js} +1 -1
  74. package/server/{ensure-devcontainer-Cs6W9Yzj.js → ensure-devcontainer-DRqaAkBR.js} +1 -1
  75. package/server/{ensure-devcontainer-V5JWaAva.js → ensure-devcontainer-DseivYEy.js} +4 -4
  76. package/server/{esm-shims-dTeNdq7X.js → esm-shims-CbI3BVkl.js} +1 -1
  77. package/server/{event-store-CpBGsO6_.js → event-store-Cr5PQwFC.js} +1 -1
  78. package/server/{event-store-TnWdydfB.js → event-store-tdiY5eDZ.js} +3 -3
  79. package/server/{events-DSUdR-04.js → events-CC1dgUpx.js} +3 -3
  80. package/server/{events-Dsuv6qyB.js → events-CvvGK6LT.js} +1 -1
  81. package/server/{factory-BMrK4TrE.js → factory-CynerjXO.js} +50 -13
  82. package/server/{feature-registry-population-B-CI9hgE.js → feature-registry-population-B0pmAz0a.js} +4 -4
  83. package/server/{feature-registry-storage-B972ph_A.js → feature-registry-storage-_wUBRD3J.js} +2 -2
  84. package/server/{features-Bc-Bmiye.js → features-Dhxz-wLc.js} +2 -2
  85. package/server/{feedback-target-DZ-iAnAa.js → feedback-target-CPS15Vte.js} +7 -7
  86. package/server/{feedback-target-DS6NUuSs.js → feedback-target-iygZwmMc.js} +1 -1
  87. package/server/{feedback-writer-BXP6g75N.js → feedback-writer-C9b6ccN1.js} +6 -5
  88. package/server/{feedback-writer-Bx5z11mF.js → feedback-writer-qmiMbqTZ.js} +1 -1
  89. package/server/{flywheel-Ctr5uuvo.js → flywheel-DMCUzDWg.js} +1 -1
  90. package/server/{flywheel-COR0mbRI.js → flywheel-DSSpWmqF.js} +13 -13
  91. package/server/{flywheel-6WHU4O7A.js → flywheel-DcBkQvgE.js} +14 -14
  92. package/server/{flywheel-merge-order-CNKAY489.js → flywheel-merge-order-C-6zRLvM.js} +1 -1
  93. package/server/{flywheel-merge-order-CTgHeg-W.js → flywheel-merge-order-DxbQKE1d.js} +8 -8
  94. package/server/forge-B-ZWyTRm.js +2 -0
  95. package/server/{forge-B1S_KZv4.js → forge-Ch9gCFod.js} +2 -2
  96. package/server/{from-DpwQ-sc3.js → from-CJ_aH5jD.js} +1 -1
  97. package/server/{fts-db-DmAcuCkV.js → fts-db-CKgg0VKg.js} +2 -2
  98. package/server/{fts-operations-7d_RkmWp.js → fts-operations-BrL_VTRr.js} +2 -2
  99. package/server/{git-utils-Cc3FHDKd.js → git-utils-BVa07a4a.js} +2 -2
  100. package/server/{git-utils-CsKGnzFA.js → git-utils-Dry_Ka_D.js} +1 -1
  101. package/server/{github-app-CDPtGF7J.js → github-app-CMBdIFBQ.js} +11 -3
  102. package/server/{github-app-CU14oYzP.js → github-app-CPfoFAdV.js} +1 -1
  103. package/server/{github-client-XjTJbBm7.js → github-client--XVlDpwM.js} +2 -2
  104. package/server/{github-client-CwBZZ3t7.js → github-client-B4QsdE-X.js} +1 -1
  105. package/server/{github-pr-lookup-CFGeVhqv.js → github-pr-lookup-BRbDW-qk.js} +2 -2
  106. package/server/{harness-binary-B2CTcD84.js → harness-binary-CVio2m-u.js} +1 -1
  107. package/server/{harness-resolve-D5FVQTmy.js → harness-resolve-qHJBhy3Z.js} +4 -4
  108. package/server/{health-events-DREeevle.js → health-events-C9B8y1Hm.js} +2 -2
  109. package/server/{health-events-C1whmd58.js → health-events-CpfvuVmm.js} +1 -1
  110. package/server/{hooks-yxRsjk-z.js → hooks-DUXw8A0-.js} +2 -2
  111. package/server/{hooks-B-HItBiS.js → hooks-ltecuFqZ.js} +1 -1
  112. package/server/{hume-Dz_OymXE.js → hume-BEq0bUDg.js} +2 -2
  113. package/server/hume-B_DbflNM.js +3 -0
  114. package/server/{idle-stack-reaper-DrCv0OAG.js → idle-stack-reaper-D7w9t3fE.js} +1 -1
  115. package/server/{idle-stack-reaper-Yf34xXxY.js → idle-stack-reaper-w1ISSlhs.js} +2 -2
  116. package/server/{in-flight-guard-BoWm66Kh.js → in-flight-guard-aQ1IxeI3.js} +2 -2
  117. package/server/{infra-D4iNWMA5.js → infra-CzaSOgul.js} +4 -4
  118. package/server/{injection-D7T75Pye.js → injection-DZ0PfYa4.js} +7 -7
  119. package/server/{injection-BVNa4MQW.js → injection-oNZeoDhL.js} +1 -1
  120. package/server/{inspect-agent-BXCgNeZ4.js → inspect-agent-DJKLWcVT.js} +12 -12
  121. package/server/inspect-agent-ch-F-5Ci.js +2 -0
  122. package/server/{internal-token-CXsfxslp.js → internal-token-Bb4XeV2x.js} +2 -2
  123. package/server/{internal-token-C9DdEOKY.js → internal-token-DXdfprGr.js} +1 -1
  124. package/server/{io-DQR9PMgS.js → io-B3_AHDfr.js} +160 -184
  125. package/server/{issue-closed-DtmJM0D0.js → issue-closed-zhdvQicO.js} +7 -7
  126. package/server/{issue-lifecycle-CeyW_HoD.js → issue-lifecycle-CreaCkjW.js} +22 -22
  127. package/server/{issue-lifecycle-8PSS9Anq.js → issue-lifecycle-Dy4vd0Oa.js} +1 -1
  128. package/server/{issue-service-singleton-D_RVYBuL.js → issue-service-singleton-B5ushCvE.js} +8 -8
  129. package/server/{issue-service-singleton-DBZabEl7.js → issue-service-singleton-DabvBWUp.js} +1 -1
  130. package/server/{issues-pDW9VUNz.js → issues-B6ToV6x1.js} +2 -2
  131. package/server/{jsonl-parser-C3HVNR5d.js → jsonl-parser-Dhflo1SH.js} +3 -3
  132. package/server/{label-cleanup-DPwiZlWo.js → label-cleanup-BKPJm4Hv.js} +3 -3
  133. package/server/{label-reconciler-Df1ZduPH.js → label-reconciler-DdWbHEBu.js} +4 -4
  134. package/server/{launcher-generator-COgR2By1.js → launcher-generator-CHVm7bGT.js} +10 -9
  135. package/server/{layers-Cp1To4L8.js → layers-DzxSTGNA.js} +2 -2
  136. package/server/lifecycle-DfeyBDwA.js +121 -0
  137. package/server/lifecycle-io-Bsnr2K4F.js +3 -0
  138. package/server/{lifecycle-io-taIb0PoH.js → lifecycle-io-D8iNBcux.js} +37 -37
  139. package/server/{lifecycle-CtPDcZ9u.js → lifecycle-sycO16hj.js} +6 -6
  140. package/server/{linear-client-DsFkIxee.js → linear-client-D4zqMnX7.js} +2 -2
  141. package/server/{linear-client-YwZMDIwQ.js → linear-client-DqhDQO9k.js} +1 -1
  142. package/server/memory-fts-worker.js +1 -1
  143. package/server/{merge-C1t-bspg.js → merge-C_ZEhbqI.js} +3 -3
  144. package/server/{merge-BwsyNRJV.js → merge-DK23JEdS.js} +1 -1
  145. package/server/{merge-agent-B-SnXOoc.js → merge-agent-BQM3a8z5.js} +1 -1
  146. package/server/{merge-agent-DDiIjzk-.js → merge-agent-XrB80vfT.js} +28 -28
  147. package/server/{merge-batch-Byt-QnEl.js → merge-batch-Bwoyr8Je.js} +1 -1
  148. package/server/{merge-blockers-BYjeXrVN.js → merge-blockers-BsFjGrQ8.js} +2 -2
  149. package/server/merge-ops-DlB1IM0Y.js +2 -0
  150. package/server/{merge-rebase-Cm6fXaZN.js → merge-rebase-C1KIVr0s.js} +2 -2
  151. package/server/{merge-set-DiISXcC-.js → merge-set-DLz0MkGT.js} +3 -3
  152. package/server/{merge-set-6LEglm6o.js → merge-set-DnSYdBEp.js} +1 -1
  153. package/server/{merge-sync-Do8_q32h.js → merge-sync-DZ9dojJn.js} +2 -2
  154. package/server/{merge-sync-B95_4in_.js → merge-sync-SSv3E-pl.js} +1 -1
  155. package/server/{merge-train-CKana8EH.js → merge-train-DxDfBTjr.js} +3 -3
  156. package/server/{merge-train-deps-BgmqwIfA.js → merge-train-deps-CyYQUksx.js} +4 -4
  157. package/server/{merge-verification-CqnUzGEK.js → merge-verification-CSizH3HY.js} +4 -4
  158. package/server/{multipart-parser-tdOQDJ3o.js → multipart-parser-Dt8YPN5S.js} +2 -2
  159. package/server/{no-resume-mode-BWOSZjWd.js → no-resume-mode-Cx3K0hHi.js} +11 -8
  160. package/server/node_modules/.package-lock.json +1 -1
  161. package/server/{orphan-proposed-reconciler-DSvsJ5M7.js → orphan-proposed-reconciler-BTkDrl4R.js} +1 -1
  162. package/server/{orphan-proposed-reconciler-xklgvNA7.js → orphan-proposed-reconciler-neK8dHQk.js} +15 -13
  163. package/server/package-lock.json +2 -2
  164. package/server/package.json +1 -1
  165. package/server/{pan-dir-DOcf6ug3.js → pan-dir-DeVUgwA7.js} +78 -58
  166. package/server/{paths-DooHpt9p.js → paths-_zEts6wc.js} +2 -2
  167. package/server/{pickup-CaskQ7j6.js → pickup-Dd0Znxxy.js} +1 -1
  168. package/server/{pipeline-membership-1LGRjo-k.js → pipeline-membership-0HaEGDlH.js} +186 -67
  169. package/server/{pipeline-notifier-CZsrU_nj.js → pipeline-notifier-6iCJplFZ.js} +1 -1
  170. package/server/{pipeline-notifier-B6FVsYF9.js → pipeline-notifier-D0ykk59O.js} +2 -2
  171. package/server/{project-pipelines-CtNG_rvs.js → project-pipelines-2sK1apsO.js} +2 -2
  172. package/server/projects-9SkRpES9.js +3 -0
  173. package/server/{prompts-EvhMeeHG.js → prompts-Dp4Tpk39.js} +2 -2
  174. package/server/{providers-DNSQqy2V.js → providers-DKkBXhxU.js} +1 -1
  175. package/server/{providers-BDDPULlp.js → providers-DV7ec8l7.js} +7 -7
  176. package/server/public/assets/{chunk-BO2N2NFS-sym_ufXe.js → chunk-BO2N2NFS-CltymLRg.js} +4 -4
  177. package/server/public/assets/{diagram-OG6HWLK6-CQJPBNBu.js → diagram-OG6HWLK6-D2f6pjgA.js} +1 -1
  178. package/server/public/assets/{dist-Bio7THQU.js → dist-BWR4qFiV.js} +1 -1
  179. package/server/public/assets/{dist-DukGS2YZ.js → dist-DEmlBBNQ.js} +3 -3
  180. package/server/public/assets/{ganttDiagram-6RSMTGT7-D4lWwte3.js → ganttDiagram-6RSMTGT7-DnfiViPK.js} +1 -1
  181. package/server/public/assets/{highlighted-body-OFNGDK62-CaLboCt5.js → highlighted-body-OFNGDK62-B8Wrmj9H.js} +1 -1
  182. package/server/public/assets/index-CUr1xv8w.css +1 -0
  183. package/server/public/assets/{index-Bwejq-5s.js → index-CsSuZQBI.js} +145 -144
  184. package/server/public/assets/{linear-qUWmMZ-c.js → linear-C9zFQpkX.js} +1 -1
  185. package/server/public/assets/mermaid-GHXKKRXX-BUAB8hqt.js +1 -0
  186. package/server/public/assets/{pieDiagram-4H26LBE5-C4zYulEm.js → pieDiagram-4H26LBE5-lR8H7Yjd.js} +1 -1
  187. package/server/public/assets/{prod-C8VtLuWC.js → prod-B1jCQihw.js} +4 -4
  188. package/server/public/assets/{quadrantDiagram-W4KKPZXB-qP04zyZC.js → quadrantDiagram-W4KKPZXB-CVQ2guem.js} +1 -1
  189. package/server/public/assets/{sankeyDiagram-5OEKKPKP-eMPTX_cG.js → sankeyDiagram-5OEKKPKP-eD1RB4gm.js} +1 -1
  190. package/server/public/assets/{xychartDiagram-2RQKCTM6-Dme1PIt6.js → xychartDiagram-2RQKCTM6-ChEC6dQn.js} +1 -1
  191. package/server/public/index.html +2 -2
  192. package/server/{pull-requests-By_BteaL.js → pull-requests--Ib2jTgy.js} +1 -1
  193. package/server/{pull-requests-8z2N1UOV.js → pull-requests-CXIhdCYD.js} +13 -11
  194. package/server/{queries-ZABd5aXP.js → queries-6d7Cdtm7.js} +693 -104
  195. package/server/{rally-i_goYmiA.js → rally-B708-nZn.js} +3 -3
  196. package/server/{rally-api-DqKqIMNR.js → rally-api-nY0ZANw3.js} +2 -2
  197. package/server/{rally-api-xHazRk0d.js → rally-api-yjQ0TfHd.js} +1 -1
  198. package/server/{rally-client-COYz1vYR.js → rally-client-B1EJhfV0.js} +4 -4
  199. package/server/{rally-client-CGWEHaPd.js → rally-client-CULK2XAY.js} +1 -1
  200. package/server/rally-njs_mJrt.js +3 -0
  201. package/server/{reap-terminal-sessions-CaMkFOIH.js → reap-terminal-sessions-MWnqdLCJ.js} +1 -1
  202. package/server/{reap-terminal-sessions-DG9eiMVz.js → reap-terminal-sessions-N3BTkmX_.js} +1 -1
  203. package/server/{rebuild-stack-JUm0jqYP.js → rebuild-stack-Dp4eLkt4.js} +6 -6
  204. package/server/{rebuild-stack-CKjJAI8L.js → rebuild-stack-kA7XngID.js} +1 -1
  205. package/server/{reconstruct-cache-wU79aCee.js → reconstruct-cache-uWbZfjms.js} +6 -6
  206. package/server/record-t6V-3Dcj.js +3 -0
  207. package/server/{record-update-D3N6WMFR.js → record-update-DACtKh6_.js} +1 -1
  208. package/server/record-update-Dq0t2uBG.js +310 -0
  209. package/server/{recovery-trip-DkzJSej9.js → recovery-trip-BJtIQuag.js} +2 -2
  210. package/server/{release-engine-DMINVN8S.js → release-engine-DZpmGGzb.js} +5 -5
  211. package/server/{release-set-DeUSOEHy.js → release-set-hnXd_kga.js} +3 -3
  212. package/server/{remote-Dr5kGYSZ.js → remote-4tiENDaI.js} +3 -3
  213. package/server/{remote-b-c5bOce.js → remote-Br-ZWVIP.js} +3 -3
  214. package/server/{remote-agents-D6O_zETW.js → remote-agents-CRCg1L4H.js} +1 -1
  215. package/server/{remote-agents-Ct_WOyke.js → remote-agents-nmty1mLu.js} +6 -6
  216. package/server/{remote-completion-Dca3hAaa.js → remote-completion-BbWNd10K.js} +12 -12
  217. package/server/resume-CcKqnTvE.js +3 -0
  218. package/server/{review-agent-CCum8sGe.js → review-agent-DJRO8EG8.js} +1 -1
  219. package/server/{review-agent-CThvgK2r.js → review-agent-sKkE1FEL.js} +22 -22
  220. package/server/{review-artifacts-CXywD0F2.js → review-artifacts-BLbSC4ke.js} +5 -5
  221. package/server/{review-context-OYfKUprb.js → review-context-BgX3lcCx.js} +8 -8
  222. package/server/{review-status-DFRjDFef.js → review-status-A7quS5KJ.js} +54 -21
  223. package/server/review-status-C6n6-9f_.js +3 -0
  224. package/server/{review-status-enrichment-crNAtIpL.js → review-status-enrichment-tbOn_A_u.js} +3 -3
  225. package/server/{review-status-sync-DpAMD_WO.js → review-status-sync-BhSQ0d0l.js} +2 -2
  226. package/server/{review-status-sync-D60PJWNL.js → review-status-sync-To3-iS-N.js} +1 -1
  227. package/server/{review-verdict-feedback-JImjut0z.js → review-verdict-feedback-C1Kg8n7t.js} +1 -1
  228. package/server/{review-verdict-feedback-CpUZl5aE.js → review-verdict-feedback-CTRNtzXO.js} +6 -6
  229. package/server/{rollup-CZ02qgxk.js → rollup-B53Y81xK.js} +1 -1
  230. package/server/{rollup-SyuF09e4.js → rollup-WA0VD-Rr.js} +8 -8
  231. package/server/{scanner-Br0Z5S6R.js → scanner-D2743cp8.js} +11 -7
  232. package/server/{sequence-io-fxU0DlwW.js → sequence-io-Cg0zYj_E.js} +4 -4
  233. package/server/{sequencer-agent-B5YC5XVP.js → sequencer-agent-BGY8gjg-.js} +5 -5
  234. package/server/server.js +941 -752
  235. package/server/{service-Bagb90KZ.js → service-DCpB_SGd.js} +53 -53
  236. package/server/{session-fork-BqQxd-V6.js → session-fork-BQ8_6H32.js} +2 -2
  237. package/server/{session-history-XdS0JKp3.js → session-history-CVZDpS3c.js} +4 -4
  238. package/server/{settings-BNbocWOg.js → settings-BZ5m1UCl.js} +3 -3
  239. package/server/settings-D0OSwos5.js +2 -0
  240. package/server/{settings-uLc6DEYI.js → settings-ylxwqwQG.js} +2 -2
  241. package/server/{shadow-engineering-D4X_s3fA.js → shadow-engineering-BlxG6Xye.js} +2 -2
  242. package/server/{shadow-state-CbvsN3qG.js → shadow-state-C2_epgx2.js} +1 -1
  243. package/server/{shadow-state-C_NkP-sa.js → shadow-state-Dh-HzF2J.js} +2 -2
  244. package/server/{shadow-utils-CYMRPeRT.js → shadow-utils-4bvjn9b3.js} +2 -2
  245. package/server/{ship-log-__QtAFXG.js → ship-log-ClSMIzZX.js} +1 -1
  246. package/server/{smart-compaction-jdMkG1vo.js → smart-compaction-CHIxLr_d.js} +1 -1
  247. package/server/{smart-compaction-CLZOWin1.js → smart-compaction-r4pHQBIr.js} +7 -7
  248. package/server/{spawn-planning-session-D5OXo8pT.js → spawn-planning-session-DWAorh2B.js} +22 -21
  249. package/server/{spawn-planning-session-8D6mE033.js → spawn-planning-session-KC_UduxD.js} +1 -1
  250. package/server/{specialist-completion-CqmduO92.js → specialist-completion-BXhav38U.js} +1 -1
  251. package/server/{specialist-context-CJ-QjFR-.js → specialist-context-DtrYvGJ-.js} +5 -5
  252. package/server/{specialist-handoff-logger-Dnjlwt7g.js → specialist-handoff-logger-C45ouoZ6.js} +2 -2
  253. package/server/{specialist-logs-CQnKzuZs.js → specialist-logs-DJ3RzKxW.js} +3 -3
  254. package/server/{specialists-D0gGXMZx.js → specialists-D5fRZXmN.js} +1 -1
  255. package/server/specialists-DVj0hvaL.js +3 -0
  256. package/server/{specialists-CwZHb5cb.js → specialists-DyFeedjn.js} +66 -76
  257. package/server/{specialists-Bg9v4z3F.js → specialists-JVO00bs7.js} +340 -214
  258. package/server/specs-nN45DG2X.js +3 -0
  259. package/server/{src-BMMoA_ba.js → src-CG9mCkP6.js} +6 -6
  260. package/server/{src-Bqdtd6po.js → src-CMTQGyCK.js} +3 -3
  261. package/server/{src-k039WVYY.js → src-U7_kTPEE.js} +2 -1
  262. package/server/{stack-health-Bd06frFn.js → stack-health-Df0YEZKa.js} +1 -1
  263. package/server/{stack-health-C-ifC7b0.js → stack-health-puygdaMd.js} +2 -2
  264. package/server/{stale-task-claims-L7pJkQFL.js → stale-task-claims-BbFwCTb0.js} +4 -4
  265. package/server/{staleness-BID1BKdr.js → staleness-Bpy41ngS.js} +15 -3
  266. package/server/{staleness-_Tr-GwdA.js → staleness-Cbl_w4Bw.js} +1 -1
  267. package/server/{state-home-CONQvZR0.js → state-home-CIGjwNfJ.js} +96 -44
  268. package/server/{state-migrate-BeBW0KXA.js → state-migrate-Dkzaxvny.js} +12 -3
  269. package/server/{stuck-remediation-CKnIryGT.js → stuck-remediation-CzEov_fq.js} +26 -22
  270. package/server/{stuck-remediation-CsGD5Ksb.js → stuck-remediation-sY_MHHgQ.js} +1 -1
  271. package/server/{substrate-bug-weights-service-CpIZILj9.js → substrate-bug-weights-service-BH66lhm7.js} +3 -3
  272. package/server/{summary-fork-agEMsPSo.js → summary-fork-D8bXjCr7.js} +2 -2
  273. package/server/{summary-fork-bX6ax6X7.js → summary-fork-DHhJIsAL.js} +8 -8
  274. package/server/{supervisor-Ctt4eRYz.js → supervisor-BO-Zk_h-.js} +3 -3
  275. package/server/supervisor-BPy-o1A8.js +2 -0
  276. package/server/{swarm-readiness-DdmJVX7y.js → swarm-readiness-CQ_fwUWF.js} +4 -4
  277. package/server/{system-prerequisites-DSXBvffY.js → system-prerequisites-Bza0ffAh.js} +2 -2
  278. package/server/{teardown-workspace-DDCf5n-a.js → teardown-workspace-CEgauF4U.js} +15 -15
  279. package/server/{test-agent-queue-BJZ9Nfcc.js → test-agent-queue-DXDt0Xa-.js} +7 -7
  280. package/server/{test-verdict-Cp5tljlJ.js → test-verdict-CmUBK5cT.js} +1 -1
  281. package/server/{test-verdict-D_-sXIz_.js → test-verdict-DFjjIHR5.js} +1 -1
  282. package/server/{tldr-daemon-BQFmmFp0.js → tldr-daemon-BDtLOIlO.js} +2 -2
  283. package/server/{tldr-daemon-B8_oT5gx.js → tldr-daemon-DL566HbH.js} +1 -1
  284. package/server/tmux-DoThH6aj.js +3 -0
  285. package/server/{tmux-L5LgvGLp.js → tmux-ftABRAmc.js} +76 -44
  286. package/server/{token-BkQLy4yS.js → token-CsOhvw42.js} +2 -2
  287. package/server/{token-util-DI8sGlmF.js → token-util-CTmczIfW.js} +1 -1
  288. package/server/token-util-DrHg8abn.js +3 -0
  289. package/server/{tracker-config-DdT-nUAM.js → tracker-config-B4itFzDo.js} +2 -2
  290. package/server/{tracker-utils-DV3h1FYG.js → tracker-utils-BePq_oj-.js} +1 -1
  291. package/server/{tracker-utils-CawsPSS2.js → tracker-utils-tnxxqROg.js} +2 -2
  292. package/server/{traefik-connect-C6mJckNs.js → traefik-connect-m73vGebA.js} +1 -1
  293. package/server/{tunnel-IdK1iTHx.js → tunnel-B2vxjx_b.js} +3 -3
  294. package/server/{tunnel-BIFl98rc.js → tunnel-Cgj-IGIl.js} +1 -1
  295. package/server/{types-7-GnJn0t.js → types-BBNjPcqU.js} +1 -1
  296. package/server/{uat-train-j0cPeMSj.js → uat-train-CuEn0t9M.js} +28 -28
  297. package/server/{uat-train-0Ujk8GCv.js → uat-train-cKfM-_WW.js} +1 -1
  298. package/server/{validation-CabEISJT.js → validation-B5JxoPUS.js} +259 -9
  299. package/server/{validation-DcAgXTQp.js → validation-CIi6pnI2.js} +1 -1
  300. package/server/{verification-artifact-BuTA1QbL.js → verification-artifact-BcnIbigL.js} +1 -1
  301. package/server/{verification-artifact-Ck1tefmz.js → verification-artifact-C-lIHfUa.js} +1 -1
  302. package/server/{verification-runner-FiuAZ-H2.js → verification-runner-Br0S_Ous.js} +102 -37
  303. package/server/{verification-runner-DlJezzef.js → verification-runner-CDj4lD4t.js} +1 -1
  304. package/server/{vtt-parser-BnRsYzcz.js → vtt-parser-DKpNNW5i.js} +1 -1
  305. package/server/{work-agent-prompt-DLthEPAq.js → work-agent-prompt-Yb2bd3Fq.js} +13 -13
  306. package/server/{workflows-BZNNYkGC.js → workflows-C9WmILql.js} +39 -77
  307. package/server/workflows-D90rMOya.js +2 -0
  308. package/server/{workspace-D9ppycdg.js → workspace-BVl4rihN.js} +3 -3
  309. package/server/{workspace-3IC-UkAi.js → workspace-DuUdndHe.js} +1 -1
  310. package/server/{workspace-config-Bigl_-Lk.js → workspace-config-cEGcO6UT.js} +1 -1
  311. package/server/{workspace-manager-B1WOfKvB.js → workspace-manager-ZTdJAy9M.js} +1 -1
  312. package/server/{workspace-manager-ClkCIWTe.js → workspace-manager-hLUv3ADC.js} +22 -15
  313. package/server/{workspace-metadata-tiSRIWJP.js → workspace-metadata-CskwzzhL.js} +2 -2
  314. package/server/{workspace-metadata-BE0efUv_.js → workspace-metadata-DNpMixRq.js} +1 -1
  315. package/server/{workspaces-CFPcL0vl.js → workspaces-hWvy9eKs.js} +275 -109
  316. package/sync-sources/agents/pan-inspect-agent.md +1 -1
  317. package/sync-sources/agents/pan-merge-agent.md +1 -1
  318. package/sync-sources/agents/pan-planning-agent.md +4 -4
  319. package/sync-sources/agents/pan-work-agent.md +1 -1
  320. package/sync-sources/dev-skills/pan-commit/SKILL.md +1 -1
  321. package/sync-sources/dev-skills/test-specialist-workflow/SKILL.md +1 -1
  322. package/sync-sources/hooks/record-cost-event.js +363 -71
  323. package/sync-sources/hooks/session-start-hook +7 -0
  324. package/sync-sources/hooks/work-agent-stop-hook +1 -1
  325. package/sync-sources/rules/per-bead-durability.md +1 -1
  326. package/sync-sources/rules/prd-authoring.md +1 -1
  327. package/sync-sources/skills/feature-work/SKILL.md +1 -1
  328. package/sync-sources/skills/pan/SKILL.md +2 -2
  329. package/sync-sources/skills/pan-admin-config/SKILL.md +1 -0
  330. package/sync-sources/skills/pan-approve/SKILL.md +1 -1
  331. package/sync-sources/skills/pan-close/SKILL.md +1 -1
  332. package/sync-sources/skills/pan-doctor/SKILL.md +1 -1
  333. package/sync-sources/skills/pan-new-project/SKILL.md +9 -11
  334. package/sync-sources/skills/pan-oversee/SKILL.md +5 -5
  335. package/sync-sources/skills/pan-plan/SKILL.md +6 -6
  336. package/sync-sources/skills/pan-quickstart/SKILL.md +1 -1
  337. package/sync-sources/skills/pan-recap/SKILL.md +2 -2
  338. package/sync-sources/skills/pan-review/SKILL.md +1 -1
  339. package/sync-sources/skills/pan-start/SKILL.md +3 -3
  340. package/sync-sources/skills/pan-swarm/SKILL.md +1 -1
  341. package/sync-sources/skills/pan-sync/SKILL.md +1 -1
  342. package/sync-sources/skills/pan-task/SKILL.md +2 -2
  343. package/sync-sources/skills/pan-wipe/SKILL.md +2 -2
  344. package/sync-sources/skills/pipeline-list/SKILL.md +1 -1
  345. package/sync-sources/skills/pipeline-status/SKILL.md +2 -2
  346. package/sync-sources/skills/plan/SKILL.md +11 -11
  347. package/sync-sources/skills/write-vbrief/SKILL.md +7 -282
  348. package/sync-sources/skills/write-xbrief/SKILL.md +295 -0
  349. package/sync-sources/templates/claude-md/sections/warnings.md +1 -1
  350. package/server/agent-state-Co5Sy2Fw.js +0 -3
  351. package/server/agents-DyHKlq1I.js +0 -3
  352. package/server/cli-BRORS9qY.js +0 -3
  353. package/server/codex-DNyiQDKW.js +0 -3
  354. package/server/deacon-swarm-CV54eNmU.js +0 -2
  355. package/server/dist-j64RzSrQ.js +0 -3
  356. package/server/forge-B0_opi-V.js +0 -2
  357. package/server/hume-BmhvfVbV.js +0 -3
  358. package/server/inspect-agent-Dq0z1k3H.js +0 -2
  359. package/server/lifecycle-io-DmY2qwCn.js +0 -3
  360. package/server/merge-ops-DwWCkSgo.js +0 -2
  361. package/server/projects-BKkwpH6q.js +0 -3
  362. package/server/public/assets/index-Bdc4V9ba.css +0 -1
  363. package/server/public/assets/mermaid-GHXKKRXX-B5v_r7cI.js +0 -1
  364. package/server/rally-OSJXdiHK.js +0 -3
  365. package/server/record-rwK-nKv_.js +0 -3
  366. package/server/record-update-Crz74r-6.js +0 -168
  367. package/server/resume-wZZsWtzz.js +0 -3
  368. package/server/review-status-Bnh-rdkY.js +0 -3
  369. package/server/settings-BlUsVaUc.js +0 -2
  370. package/server/specialists-Dqe6_HE5.js +0 -3
  371. package/server/specs-BhOKBzqk.js +0 -3
  372. package/server/supervisor-COVHrBTg.js +0 -2
  373. package/server/tmux-BAvtac_u.js +0 -3
  374. package/server/token-util-BArZLN6w.js +0 -3
  375. package/server/workflows-C4mR0Reb.js +0 -2
@@ -1,6 +1,6 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.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";
2
+ import { fr as TrackerError, mr as init_errors } from "./config-yaml-DvyMuOle.js";
3
+ import { a as TrackerAuthError, n as init_rally_api, o as init_interface, r as IssueNotFoundError, t as RallyRestApi } from "./rally-api-nY0ZANw3.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-i_goYmiA.js.map
507
+ //# sourceMappingURL=rally-B708-nZn.js.map
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { jr as init_errors, kr as TrackerError } from "./config-yaml-ig8Nwtiw.js";
2
+ import { fr as TrackerError, mr as init_errors } from "./config-yaml-DvyMuOle.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-DqKqIMNR.js.map
165
+ //# sourceMappingURL=rally-api-nY0ZANw3.js.map
@@ -1,3 +1,3 @@
1
- import { n as init_rally_api, t as RallyRestApi } from "./rally-api-DqKqIMNR.js";
1
+ import { n as init_rally_api, t as RallyRestApi } from "./rally-api-nY0ZANw3.js";
2
2
  init_rally_api();
3
3
  export { RallyRestApi };
@@ -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-DdT-nUAM.js";
2
+ import { a as init_tracker_config, r as getRallyConfig } from "./tracker-config-B4itFzDo.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-OSJXdiHK.js");
49
+ const { RallyTracker } = await import("./rally-njs_mJrt.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-OSJXdiHK.js"));
109
+ const { RallyTracker } = yield* Effect.promise(() => import("./rally-njs_mJrt.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-COYz1vYR.js.map
161
+ //# sourceMappingURL=rally-client-B1EJhfV0.js.map
@@ -1,3 +1,3 @@
1
- import { i as init_rally_client, n as RallyClientLive, r as RallyClientOptionalLive, t as RallyClient } from "./rally-client-COYz1vYR.js";
1
+ import { i as init_rally_client, n as RallyClientLive, r as RallyClientOptionalLive, t as RallyClient } from "./rally-client-B1EJhfV0.js";
2
2
  init_rally_client();
3
3
  export { RallyClient, RallyClientLive, RallyClientOptionalLive };
@@ -0,0 +1,3 @@
1
+ import { n as init_rally, t as RallyTracker } from "./rally-B708-nZn.js";
2
+ init_rally();
3
+ export { RallyTracker };
@@ -1,4 +1,4 @@
1
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";
2
+ import { i as selectAwaitingTestWorkSessions, o as selectMergedWorkSessions, s as selectNonMergedTerminalAdvancingSessions, t as init_reap_terminal_sessions } from "./reap-terminal-sessions-N3BTkmX_.js";
3
3
  init_reap_terminal_sessions();
4
4
  export { isRoleTerminal, selectAwaitingTestWorkSessions, selectMergedWorkSessions, selectNonMergedTerminalAdvancingSessions };
@@ -128,4 +128,4 @@ var init_reap_terminal_sessions = __esmMin((() => {
128
128
  //#endregion
129
129
  export { selectMergedAdvancingSessions as a, sessionsToReapForRole as c, selectAwaitingTestWorkSessions as i, isAwaitingTestReapable as n, selectMergedWorkSessions as o, isWorkReapable as r, selectNonMergedTerminalAdvancingSessions as s, init_reap_terminal_sessions as t };
130
130
 
131
- //# sourceMappingURL=reap-terminal-sessions-DG9eiMVz.js.map
131
+ //# sourceMappingURL=reap-terminal-sessions-N3BTkmX_.js.map
@@ -1,9 +1,9 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Hn as init_projects, In as getProjectSync, nr as resolveProjectFromIssueSync } from "./config-yaml-ig8Nwtiw.js";
3
- import { a as init_stack_health, c as init_docker_stats, l as recordDockerContainerLifecycleSnapshot, n as collectDockerContainerLifecycleSnapshot } from "./stack-health-C-ifC7b0.js";
4
- import { n as init_issue_closed, r as isIssueClosed } from "./issue-closed-DtmJM0D0.js";
5
- import { n as reconcileTraefikNetworks, t as init_traefik_connect } from "./traefik-connect-C6mJckNs.js";
6
- import { n as ensureDevcontainerSync, r as init_ensure_devcontainer } from "./ensure-devcontainer-V5JWaAva.js";
2
+ import { Tn as init_projects, yn as getProjectSync, zn as resolveProjectFromIssueSync } from "./config-yaml-DvyMuOle.js";
3
+ import { a as init_stack_health, c as init_docker_stats, l as recordDockerContainerLifecycleSnapshot, n as collectDockerContainerLifecycleSnapshot } from "./stack-health-puygdaMd.js";
4
+ import { n as init_issue_closed, r as isIssueClosed } from "./issue-closed-zhdvQicO.js";
5
+ import { n as reconcileTraefikNetworks, t as init_traefik_connect } from "./traefik-connect-m73vGebA.js";
6
+ import { n as ensureDevcontainerSync, r as init_ensure_devcontainer } from "./ensure-devcontainer-DseivYEy.js";
7
7
  import { dirname, join } from "node:path";
8
8
  import { Effect } from "effect";
9
9
  import { existsSync, readFileSync, rmSync } from "node:fs";
@@ -184,4 +184,4 @@ var init_rebuild_stack = __esmMin((() => {
184
184
  //#endregion
185
185
  export { init_rebuild_stack as n, rebuildWorkspaceStack as r, composeProjectNameForWorkspace as t };
186
186
 
187
- //# sourceMappingURL=rebuild-stack-JUm0jqYP.js.map
187
+ //# sourceMappingURL=rebuild-stack-Dp4eLkt4.js.map
@@ -1,3 +1,3 @@
1
- import { n as init_rebuild_stack, r as rebuildWorkspaceStack } from "./rebuild-stack-JUm0jqYP.js";
1
+ import { n as init_rebuild_stack, r as rebuildWorkspaceStack } from "./rebuild-stack-Dp4eLkt4.js";
2
2
  init_rebuild_stack();
3
3
  export { rebuildWorkspaceStack };
@@ -1,8 +1,8 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Bt as resolveProjectForIssue, Hn as init_projects, It as readIssueRecord, Kn as listProjectsSync, Nt as init_record } from "./config-yaml-ig8Nwtiw.js";
3
- import { c as listAllAgentsSync, o as init_agents, r as backfillAgentsSync } from "./agents-DXdHmRTC.js";
4
- import { i as listRunningAgents, s as init_agents$1 } from "./queries-ZABd5aXP.js";
5
- import { a as gatherProjectLensSignalsForProjects, i as gatherProjectLensSignals, n as init_pipeline_membership, o as init_pipeline_membership_gather, r as resolvePipelineMembership } from "./pipeline-membership-1LGRjo-k.js";
2
+ import { Ft as resolveProjectForIssue, Ot as init_record, Tn as init_projects, jt as readIssueRecord, kn as listProjectsSync } from "./config-yaml-DvyMuOle.js";
3
+ import { c as listAllAgentsSync, o as init_agents, r as backfillAgentsSync } from "./agents-B4Bjbkfv.js";
4
+ import { b as init_agents$1, i as listRunningAgents } from "./queries-6d7Cdtm7.js";
5
+ import { a as gatherProjectLensSignalsForProjects, i as gatherProjectLensSignals, n as init_pipeline_membership, o as init_pipeline_membership_gather, r as resolvePipelineMembership } from "./pipeline-membership-0HaEGDlH.js";
6
6
  import { Effect } from "effect";
7
7
  //#region ../../lib/reconstruct/enumerate-in-flight.ts
8
8
  async function enumerateInFlightIssuesFromSources(projects, gather = gatherProjectLensSignals) {
@@ -138,7 +138,7 @@ async function loadInFlightIssueIds(projects) {
138
138
  return enumerateInFlightIssuesFromSources(projects);
139
139
  }
140
140
  async function fetchPrState(issueId) {
141
- const { fetchIssuePullRequest } = await import("./pull-requests-By_BteaL.js");
141
+ const { fetchIssuePullRequest } = await import("./pull-requests--Ib2jTgy.js");
142
142
  const result = await fetchIssuePullRequest(issueId);
143
143
  if (!result.pr) return {
144
144
  hasPr: false,
@@ -269,4 +269,4 @@ __esmMin((() => {
269
269
  }))();
270
270
  export { reconstructCache, reconstructCacheAuto };
271
271
 
272
- //# sourceMappingURL=reconstruct-cache-wU79aCee.js.map
272
+ //# sourceMappingURL=reconstruct-cache-uWbZfjms.js.map
@@ -0,0 +1,3 @@
1
+ import { Dt as getProjectConfigFromWorkspacePath, Ft as resolveProjectForIssue, Nt as readIssueRecordSync, Ot as init_record, Pt as readRecordContinueViewSync, vt as appendSessionEntry, zt as writeRecordTieredExecutionOverride } from "./config-yaml-DvyMuOle.js";
2
+ init_record();
3
+ export { appendSessionEntry, getProjectConfigFromWorkspacePath, readIssueRecordSync, readRecordContinueViewSync, resolveProjectForIssue, writeRecordTieredExecutionOverride };
@@ -1,3 +1,3 @@
1
- import { n as updateIssueRecord, t as init_record_update } from "./record-update-Crz74r-6.js";
1
+ import { n as updateIssueRecord, t as init_record_update } from "./record-update-Dq0t2uBG.js";
2
2
  init_record_update();
3
3
  export { updateIssueRecord };
@@ -0,0 +1,310 @@
1
+ import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
+ import { At as queueIssueRecordCommit, Br as getOverdeckHome, Dt as getProjectConfigFromWorkspacePath, Ft as resolveProjectForIssue, Ht as flushAutoCommits, Nt as readIssueRecordSync, Ot as init_record, Rt as writeIssueRecordSync, St as ensureIssueRecordSync, Tn as init_projects, Ut as init_auto_commit, Vr as init_paths, kn as listProjectsSync, nn as init_state_read_home, rn as resolveStateReadHomeSync, tn as STATE_BRANCH, wt as getIssueRecordPath } from "./config-yaml-DvyMuOle.js";
3
+ import { dirname, join, relative } from "node:path";
4
+ import { Effect } from "effect";
5
+ import { hostname } from "node:os";
6
+ import { mkdir, readFile, readdir, rm, writeFile } from "node:fs/promises";
7
+ import { execFile } from "node:child_process";
8
+ import { promisify } from "node:util";
9
+ //#region ../../lib/pan-dir/fs-lock.ts
10
+ /** Cross-process per-issue record locking (PAN-2648 CD-2). */
11
+ function safeSegment(value) {
12
+ return value.trim().toLowerCase().replace(/[^a-z0-9._-]+/g, "-");
13
+ }
14
+ function recordLockPath(project, issueId) {
15
+ const configuredKey = listProjectsSync().find(({ config }) => config.path === project.path)?.key;
16
+ const projectKey = safeSegment(configuredKey ?? project.name ?? project.path) || "unknown-project";
17
+ return join(getOverdeckHome(), "locks", "records", projectKey, `${issueId.toUpperCase()}.lock`);
18
+ }
19
+ function isPidDead(pid) {
20
+ if (!pid || pid <= 0 || pid === process.pid) return false;
21
+ try {
22
+ process.kill(pid, 0);
23
+ return false;
24
+ } catch (error) {
25
+ return error.code === "ESRCH";
26
+ }
27
+ }
28
+ async function sweepRecordTmpFiles(recordPath) {
29
+ try {
30
+ const dir = dirname(recordPath);
31
+ const base = recordPath.slice(dir.length + 1);
32
+ const entries = await readdir(dir);
33
+ await Promise.all(entries.filter((entry) => entry.startsWith(`${base}.`) && entry.endsWith(".tmp")).map((entry) => rm(join(dir, entry), { force: true })));
34
+ } catch {}
35
+ }
36
+ async function readOwner(lockPath) {
37
+ try {
38
+ const owner = JSON.parse(await readFile(join(lockPath, "owner.json"), "utf8"));
39
+ return {
40
+ description: `${owner.writerId ?? "unknown writer"} pid=${owner.pid ?? "unknown"} acquiredAt=${owner.acquiredAt ?? "unknown"}`,
41
+ pid: owner.pid
42
+ };
43
+ } catch {
44
+ return { description: "unknown writer" };
45
+ }
46
+ }
47
+ async function acquireRecordLock(lockPath, options) {
48
+ await mkdir(dirname(lockPath), {
49
+ recursive: true,
50
+ mode: 448
51
+ });
52
+ const delays = options.retryDelaysMs ?? RECORD_LOCK_RETRY_DELAYS_MS;
53
+ let lastOwner = "unknown writer";
54
+ for (let attempt = 0; attempt <= delays.length; attempt += 1) {
55
+ try {
56
+ await mkdir(lockPath, { mode: 448 });
57
+ const owner = {
58
+ writerId: options.writerId,
59
+ pid: process.pid,
60
+ acquiredAt: (/* @__PURE__ */ new Date()).toISOString()
61
+ };
62
+ try {
63
+ await writeFile(join(lockPath, "owner.json"), JSON.stringify(owner, null, 2), "utf8");
64
+ } catch (error) {
65
+ try {
66
+ await rm(lockPath, {
67
+ recursive: true,
68
+ force: true
69
+ });
70
+ } catch {}
71
+ throw error;
72
+ }
73
+ await sweepRecordTmpFiles(options.recordPath);
74
+ return owner;
75
+ } catch (error) {
76
+ if (error.code !== "EEXIST") throw error;
77
+ const owner = await readOwner(lockPath);
78
+ lastOwner = owner.description;
79
+ if (isPidDead(owner.pid)) {
80
+ await rm(lockPath, {
81
+ recursive: true,
82
+ force: true
83
+ });
84
+ continue;
85
+ }
86
+ }
87
+ const delay = delays[attempt];
88
+ if (delay === void 0) break;
89
+ await new Promise((resolve) => setTimeout(resolve, delay));
90
+ }
91
+ throw new RecordLockError(lockPath, lastOwner);
92
+ }
93
+ async function releaseRecordLock(lockPath) {
94
+ await rm(lockPath, {
95
+ recursive: true,
96
+ force: true
97
+ });
98
+ }
99
+ async function withRecordFsLock(project, issueId, options, operation) {
100
+ const lockPath = recordLockPath(project, issueId);
101
+ await acquireRecordLock(lockPath, options);
102
+ try {
103
+ return await operation();
104
+ } finally {
105
+ await releaseRecordLock(lockPath);
106
+ }
107
+ }
108
+ var RECORD_LOCK_RETRY_DELAYS_MS, RecordLockError;
109
+ var init_fs_lock = __esmMin((() => {
110
+ init_paths();
111
+ init_projects();
112
+ RECORD_LOCK_RETRY_DELAYS_MS = [
113
+ 5,
114
+ 10,
115
+ 20,
116
+ 40,
117
+ 80,
118
+ 160,
119
+ 320,
120
+ 360
121
+ ];
122
+ RecordLockError = class extends Error {
123
+ constructor(lockPath, owner) {
124
+ super(`The per-issue record lock at ${lockPath} is held by ${owner}. Retry the command after that writer finishes.`);
125
+ this.lockPath = lockPath;
126
+ this.owner = owner;
127
+ this.name = "RecordLockError";
128
+ }
129
+ };
130
+ }));
131
+ //#endregion
132
+ //#region ../../lib/pan-dir/record-update.ts
133
+ /** The single locked read-modify-write door for per-issue records. */
134
+ function updateIssueRecordForWorkspace(workspacePath, issueId, mutator, options = {}) {
135
+ return updateIssueRecord(resolveProjectForIssue(issueId) ?? getProjectConfigFromWorkspacePath(workspacePath), issueId, mutator, options);
136
+ }
137
+ async function git(gitRoot, args) {
138
+ return (await execFileAsync("git", args, {
139
+ cwd: gitRoot,
140
+ encoding: "utf8",
141
+ timeout: 3e4,
142
+ maxBuffer: 16 * 1024 * 1024,
143
+ env: {
144
+ ...process.env,
145
+ HUSKY: "0"
146
+ }
147
+ })).stdout.trim();
148
+ }
149
+ function gitFailureMessage(error) {
150
+ if (error && typeof error === "object") {
151
+ const failure = error;
152
+ return failure.stderr?.trim() || failure.stdout?.trim() || failure.message;
153
+ }
154
+ return String(error);
155
+ }
156
+ function isRemoteRefRaceError(message) {
157
+ return /non-fast-forward|fetch first|stale info|cannot lock ref.*expected|failed to update ref/i.test(message);
158
+ }
159
+ async function abortRebase(gitRoot) {
160
+ try {
161
+ await git(gitRoot, ["rebase", "--abort"]);
162
+ } catch {}
163
+ }
164
+ async function replayConflictedRecord(project, issueId, mutator, gitRoot, recordPath) {
165
+ const relativeRecordPath = relative(gitRoot, recordPath).replace(/\\/g, "/");
166
+ const conflicts = (await git(gitRoot, [
167
+ "diff",
168
+ "--name-only",
169
+ "--diff-filter=U"
170
+ ])).split("\n").map((path) => path.trim()).filter(Boolean);
171
+ if (conflicts.length !== 1 || conflicts[0] !== relativeRecordPath) throw new Error(`state rebase conflicted outside ${relativeRecordPath}: ${conflicts.join(", ") || "unknown conflict"}`);
172
+ await git(gitRoot, [
173
+ "restore",
174
+ `--source=origin/${STATE_BRANCH}`,
175
+ "--worktree",
176
+ "--",
177
+ relativeRecordPath
178
+ ]);
179
+ const remoteRecord = readIssueRecordSync(project, issueId);
180
+ if (!remoteRecord) throw new Error(`Remote ${issueId} state record is unreadable`);
181
+ writeIssueRecordSync(project, issueId, await mutator(remoteRecord) ?? remoteRecord);
182
+ await git(gitRoot, [
183
+ "add",
184
+ "--",
185
+ relativeRecordPath
186
+ ]);
187
+ await git(gitRoot, [
188
+ "-c",
189
+ "core.editor=true",
190
+ "rebase",
191
+ "--continue"
192
+ ]);
193
+ }
194
+ async function restoreRetryableRecord(project, issueId, original, recordPath) {
195
+ const stateHome = resolveStateReadHomeSync(project);
196
+ const gitRoot = stateHome.root;
197
+ const relativeRecordPath = relative(gitRoot, recordPath).replace(/\\/g, "/");
198
+ await abortRebase(gitRoot);
199
+ let restored = structuredClone(original);
200
+ const branch = stateHome.migrated ? STATE_BRANCH : await git(gitRoot, ["branch", "--show-current"]);
201
+ try {
202
+ await git(gitRoot, [
203
+ "fetch",
204
+ "origin",
205
+ branch
206
+ ]);
207
+ restored = JSON.parse(await git(gitRoot, ["show", `origin/${branch}:${relativeRecordPath}`]));
208
+ } catch {}
209
+ writeIssueRecordSync(project, issueId, restored);
210
+ await git(gitRoot, [
211
+ "add",
212
+ "--",
213
+ relativeRecordPath
214
+ ]);
215
+ try {
216
+ await git(gitRoot, [
217
+ "diff",
218
+ "--cached",
219
+ "--quiet",
220
+ "--",
221
+ relativeRecordPath
222
+ ]);
223
+ return;
224
+ } catch {}
225
+ await git(gitRoot, [
226
+ "commit",
227
+ "-m",
228
+ `chore(records): restore ${issueId} after failed state push`,
229
+ "--",
230
+ relativeRecordPath
231
+ ]);
232
+ }
233
+ async function reconcileStatePush(project, issueId, mutator, recordPath) {
234
+ const gitRoot = resolveStateReadHomeSync(project).root;
235
+ for (let attempt = 0; attempt < MAX_STATE_PUSH_RECONCILIATIONS; attempt += 1) {
236
+ await git(gitRoot, [
237
+ "fetch",
238
+ "origin",
239
+ STATE_BRANCH
240
+ ]);
241
+ try {
242
+ await git(gitRoot, ["rebase", `origin/${STATE_BRANCH}`]);
243
+ } catch (error) {
244
+ try {
245
+ await replayConflictedRecord(project, issueId, mutator, gitRoot, recordPath);
246
+ } catch (replayError) {
247
+ await abortRebase(gitRoot);
248
+ throw new Error(`Failed to reconcile ${issueId} state after push race: ${gitFailureMessage(replayError)}`, { cause: error });
249
+ }
250
+ }
251
+ try {
252
+ await git(gitRoot, [
253
+ "push",
254
+ "origin",
255
+ STATE_BRANCH
256
+ ]);
257
+ const record = readIssueRecordSync(project, issueId);
258
+ if (!record) throw new Error(`Reconciled ${issueId} state record is unreadable`);
259
+ return record;
260
+ } catch (error) {
261
+ const message = gitFailureMessage(error);
262
+ if (!isRemoteRefRaceError(message)) throw new Error(`Failed to push reconciled ${issueId} state: ${message}`, { cause: error });
263
+ }
264
+ }
265
+ throw new Error(`Failed to push ${issueId} state after ${MAX_STATE_PUSH_RECONCILIATIONS} reconciliation attempts`);
266
+ }
267
+ async function updateIssueRecord(project, issueId, mutator, options = {}) {
268
+ const normalizedIssueId = issueId.toUpperCase();
269
+ const recordPath = getIssueRecordPath(project, normalizedIssueId);
270
+ return withRecordFsLock(project, normalizedIssueId, {
271
+ writerId: options.writerId ?? process.env.OVERDECK_AGENT_ID ?? `process-${process.pid}@${hostname()}`,
272
+ recordPath
273
+ }, async () => {
274
+ const current = readIssueRecordSync(project, normalizedIssueId) ?? ensureIssueRecordSync(project, normalizedIssueId);
275
+ const original = structuredClone(current);
276
+ const next = await mutator(current) ?? current;
277
+ const path = writeIssueRecordSync(project, normalizedIssueId, next);
278
+ if (options.autoCommit === false) return readIssueRecordSync(project, normalizedIssueId) ?? next;
279
+ try {
280
+ const commitRoot = queueIssueRecordCommit(project, normalizedIssueId, path);
281
+ const flushed = await Effect.runPromise(flushAutoCommits(commitRoot));
282
+ if (flushed.pushed === false) {
283
+ if (resolveStateReadHomeSync(project).migrated && isRemoteRefRaceError(flushed.reason ?? "")) return await reconcileStatePush(project, normalizedIssueId, mutator, path);
284
+ throw new Error(`Failed to push ${normalizedIssueId} state: ${flushed.reason ?? "unknown push failure"}`);
285
+ }
286
+ if (!flushed.committed && !["no diff", "no pending"].includes(flushed.reason ?? "")) throw new Error(`Failed to commit ${normalizedIssueId} state: ${flushed.reason ?? "unknown commit failure"}`);
287
+ return readIssueRecordSync(project, normalizedIssueId) ?? next;
288
+ } catch (error) {
289
+ try {
290
+ await restoreRetryableRecord(project, normalizedIssueId, original, path);
291
+ } catch (restoreError) {
292
+ throw new Error(`Failed to persist ${normalizedIssueId} state and restore retryability: ${gitFailureMessage(restoreError)}`, { cause: error });
293
+ }
294
+ throw error;
295
+ }
296
+ });
297
+ }
298
+ var execFileAsync, MAX_STATE_PUSH_RECONCILIATIONS;
299
+ var init_record_update = __esmMin((() => {
300
+ init_state_read_home();
301
+ init_auto_commit();
302
+ init_fs_lock();
303
+ init_record();
304
+ execFileAsync = promisify(execFile);
305
+ MAX_STATE_PUSH_RECONCILIATIONS = 3;
306
+ }));
307
+ //#endregion
308
+ export { isPidDead as a, init_fs_lock as i, updateIssueRecord as n, updateIssueRecordForWorkspace as r, init_record_update as t };
309
+
310
+ //# sourceMappingURL=record-update-Dq0t2uBG.js.map
@@ -1,4 +1,4 @@
1
- import { r as updateIssueRecordForWorkspace, t as init_record_update } from "./record-update-Crz74r-6.js";
1
+ import { r as updateIssueRecordForWorkspace, t as init_record_update } from "./record-update-Dq0t2uBG.js";
2
2
  //#region ../../lib/cloister/recovery-trip.ts
3
3
  init_record_update();
4
4
  async function recordRecoveryFailure(workspacePath, issue, recoveryPath, obligationGeneration, threshold = 25, now = /* @__PURE__ */ new Date()) {
@@ -41,4 +41,4 @@ async function recordRecoveryFailure(workspacePath, issue, recoveryPath, obligat
41
41
  //#endregion
42
42
  export { recordRecoveryFailure as t };
43
43
 
44
- //# sourceMappingURL=recovery-trip-DkzJSej9.js.map
44
+ //# sourceMappingURL=recovery-trip-BJtIQuag.js.map
@@ -1,8 +1,8 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Hn as init_projects, In as getProjectSync, kn as findProjectByPathSync } from "./config-yaml-ig8Nwtiw.js";
3
- import { c as init_review_status, y as setReviewStatusSync } from "./review-status-DFRjDFef.js";
4
- import { i as init_merge_set, r as getMergeSetSync } from "./merge-set-DiISXcC-.js";
5
- import { i as withComponentStateSync, n as init_release_set, r as upsertReleaseSetSync } from "./release-set-DeUSOEHy.js";
2
+ import { Tn as init_projects, fn as findProjectByPathSync, yn as getProjectSync } from "./config-yaml-DvyMuOle.js";
3
+ import { b as setReviewStatusSync, l as init_review_status } from "./review-status-A7quS5KJ.js";
4
+ import { i as init_merge_set, r as getMergeSetSync } from "./merge-set-DLz0MkGT.js";
5
+ import { i as withComponentStateSync, n as init_release_set, r as upsertReleaseSetSync } from "./release-set-hnXd_kga.js";
6
6
  import { exec } from "node:child_process";
7
7
  import { promisify } from "node:util";
8
8
  //#region ../../lib/release/release-plan.ts
@@ -303,4 +303,4 @@ __esmMin((() => {
303
303
  }))();
304
304
  export { runRelease };
305
305
 
306
- //# sourceMappingURL=release-engine-DMINVN8S.js.map
306
+ //# sourceMappingURL=release-engine-DZpmGGzb.js.map
@@ -1,6 +1,6 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { fr as init_issue_id, gr as resolveIssueIdSync } from "./config-yaml-ig8Nwtiw.js";
3
- import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-D4iNWMA5.js";
2
+ import { $n as resolveIssueIdSync, Yn as init_issue_id } from "./config-yaml-DvyMuOle.js";
3
+ import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-CzaSOgul.js";
4
4
  import "effect";
5
5
  //#region ../../lib/overdeck/release-sync.ts
6
6
  function isoFromMillis(value) {
@@ -122,4 +122,4 @@ var init_release_set = __esmMin((() => {
122
122
  //#endregion
123
123
  export { withComponentStateSync as i, init_release_set as n, upsertReleaseSetSync as r, getReleaseSetSync as t };
124
124
 
125
- //# sourceMappingURL=release-set-DeUSOEHy.js.map
125
+ //# sourceMappingURL=release-set-hnXd_kga.js.map
@@ -1,4 +1,4 @@
1
- import { a as loadWorkspaceMetadataSync, i as listWorkspaceMetadataSync, n as deleteWorkspaceMetadataSync, o as saveWorkspaceMetadataSync, r as findRemoteWorkspaceMetadataSync, t as WORKSPACES_DIR } from "./workspace-metadata-tiSRIWJP.js";
2
- import { S as createFlyProvider, d as killRemoteAgent, g as refreshHostHeartbeatForEphemeralVms, h as pollRemoteAgentStatus, m as loadRemoteAgentState, o as getRemoteAgentOutput, p as listRemoteAgents, r as checkRemoteSpendCap, u as isRemoteAgentRunning, v as sendToRemoteAgent, x as FlyProvider, y as spawnRemoteAgent } from "./remote-agents-Ct_WOyke.js";
3
- import { n as getRemoteProvider, r as isRemoteAvailable, t as createFlyProviderFromConfig } from "./remote-b-c5bOce.js";
1
+ import { a as loadWorkspaceMetadataSync, i as listWorkspaceMetadataSync, n as deleteWorkspaceMetadataSync, o as saveWorkspaceMetadataSync, r as findRemoteWorkspaceMetadataSync, t as WORKSPACES_DIR } from "./workspace-metadata-CskwzzhL.js";
2
+ import { S as createFlyProvider, d as killRemoteAgent, g as refreshHostHeartbeatForEphemeralVms, h as pollRemoteAgentStatus, m as loadRemoteAgentState, o as getRemoteAgentOutput, p as listRemoteAgents, r as checkRemoteSpendCap, u as isRemoteAgentRunning, v as sendToRemoteAgent, x as FlyProvider, y as spawnRemoteAgent } from "./remote-agents-nmty1mLu.js";
3
+ import { n as getRemoteProvider, r as isRemoteAvailable, t as createFlyProviderFromConfig } from "./remote-Br-ZWVIP.js";
4
4
  export { FlyProvider, WORKSPACES_DIR, checkRemoteSpendCap, createFlyProvider, createFlyProviderFromConfig, deleteWorkspaceMetadataSync, findRemoteWorkspaceMetadataSync, getRemoteAgentOutput, getRemoteProvider, isRemoteAgentRunning, isRemoteAvailable, killRemoteAgent, listRemoteAgents, listWorkspaceMetadataSync, loadRemoteAgentState, loadWorkspaceMetadataSync, pollRemoteAgentStatus, refreshHostHeartbeatForEphemeralVms, saveWorkspaceMetadataSync, sendToRemoteAgent, spawnRemoteAgent };
@@ -1,5 +1,5 @@
1
- import "./workspace-metadata-tiSRIWJP.js";
2
- import { C as init_fly_provider, S as createFlyProvider, s as init_remote_agents } from "./remote-agents-Ct_WOyke.js";
1
+ import "./workspace-metadata-CskwzzhL.js";
2
+ import { C as init_fly_provider, S as createFlyProvider, s as init_remote_agents } from "./remote-agents-nmty1mLu.js";
3
3
  import { Effect } from "effect";
4
4
  //#region ../../lib/remote/index.ts
5
5
  init_fly_provider();
@@ -52,4 +52,4 @@ function createFlyProviderFromConfig(remoteConfig, tierOverride) {
52
52
  //#endregion
53
53
  export { getRemoteProvider as n, isRemoteAvailable as r, createFlyProviderFromConfig as t };
54
54
 
55
- //# sourceMappingURL=remote-b-c5bOce.js.map
55
+ //# sourceMappingURL=remote-Br-ZWVIP.js.map
@@ -1,3 +1,3 @@
1
- import { _ as saveRemoteAgentState, a as generatePushDaemonScript, b as writeRemoteFile, c as installEphemeralWatchdog, d as killRemoteAgent, f as listActiveRemoteAgentStates, g as refreshHostHeartbeatForEphemeralVms, h as pollRemoteAgentStatus, i as generateEphemeralWatchdogScript, l as installPushDaemon, m as loadRemoteAgentState, n as checkRemoteDurabilityPreflight, o as getRemoteAgentOutput, p as listRemoteAgents, r as checkRemoteSpendCap, s as init_remote_agents, t as assertFlyRemoteStateSupported, u as isRemoteAgentRunning, v as sendToRemoteAgent, y as spawnRemoteAgent } from "./remote-agents-Ct_WOyke.js";
1
+ import { _ as saveRemoteAgentState, a as generatePushDaemonScript, b as writeRemoteFile, c as installEphemeralWatchdog, d as killRemoteAgent, f as listActiveRemoteAgentStates, g as refreshHostHeartbeatForEphemeralVms, h as pollRemoteAgentStatus, i as generateEphemeralWatchdogScript, l as installPushDaemon, m as loadRemoteAgentState, n as checkRemoteDurabilityPreflight, o as getRemoteAgentOutput, p as listRemoteAgents, r as checkRemoteSpendCap, s as init_remote_agents, t as assertFlyRemoteStateSupported, u as isRemoteAgentRunning, v as sendToRemoteAgent, y as spawnRemoteAgent } from "./remote-agents-nmty1mLu.js";
2
2
  init_remote_agents();
3
3
  export { assertFlyRemoteStateSupported, checkRemoteDurabilityPreflight, checkRemoteSpendCap, generateEphemeralWatchdogScript, generatePushDaemonScript, getRemoteAgentOutput, installEphemeralWatchdog, installPushDaemon, isRemoteAgentRunning, killRemoteAgent, listActiveRemoteAgentStates, listRemoteAgents, loadRemoteAgentState, pollRemoteAgentStatus, refreshHostHeartbeatForEphemeralVms, saveRemoteAgentState, sendToRemoteAgent, spawnRemoteAgent, writeRemoteFile };
@@ -1,9 +1,9 @@
1
1
  import { n as __esmMin, o as __toESM } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Bt as resolveProjectForIssue, Nt as init_record, _r as require_dist, jr as init_errors } from "./config-yaml-ig8Nwtiw.js";
3
- import { w as init_tmux, y as getManagedTmuxSocketName } from "./tmux-L5LgvGLp.js";
4
- import { n as init_launcher_generator, t as generateLauncherScriptSync } from "./launcher-generator-COgR2By1.js";
5
- import { a as init_claude_permissions, i as getClaudePermissionFlagsSync, n as buildClaudeUserSettingsSync, r as getClaudePermissionFlagsStringSync } from "./claude-permissions-nSFKH78M.js";
6
- import { c as isStateMigrated, o as init_state_home } from "./state-home-CONQvZR0.js";
2
+ import { Ft as resolveProjectForIssue, Ot as init_record, er as require_dist, mr as init_errors } from "./config-yaml-DvyMuOle.js";
3
+ import { w as init_tmux, y as getManagedTmuxSocketName } from "./tmux-ftABRAmc.js";
4
+ import { n as init_launcher_generator, t as generateLauncherScriptSync } from "./launcher-generator-CHVm7bGT.js";
5
+ import { a as init_claude_permissions, i as getClaudePermissionFlagsSync, n as buildClaudeUserSettingsSync, r as getClaudePermissionFlagsStringSync } from "./claude-permissions-H_5wHQZQ.js";
6
+ import { c as isStateMigrated, o as init_state_home } from "./state-home-CIGjwNfJ.js";
7
7
  import { Data, Effect, Stream } from "effect";
8
8
  import { existsSync, mkdirSync, readFileSync, readdirSync, writeFileSync } from "fs";
9
9
  import { join } from "path";
@@ -1232,4 +1232,4 @@ var init_remote_agents = __esmMin((() => {
1232
1232
  //#endregion
1233
1233
  export { init_fly_provider as C, createFlyProvider as S, saveRemoteAgentState as _, generatePushDaemonScript as a, writeRemoteFile as b, installEphemeralWatchdog as c, killRemoteAgent as d, listActiveRemoteAgentStates as f, refreshHostHeartbeatForEphemeralVms as g, pollRemoteAgentStatus as h, generateEphemeralWatchdogScript as i, installPushDaemon as l, loadRemoteAgentState as m, checkRemoteDurabilityPreflight as n, getRemoteAgentOutput as o, listRemoteAgents as p, checkRemoteSpendCap as r, init_remote_agents as s, assertFlyRemoteStateSupported as t, isRemoteAgentRunning as u, sendToRemoteAgent as v, FlyProvider as x, spawnRemoteAgent as y };
1234
1234
 
1235
- //# sourceMappingURL=remote-agents-Ct_WOyke.js.map
1235
+ //# sourceMappingURL=remote-agents-nmty1mLu.js.map
@@ -1,10 +1,10 @@
1
- import { Dn as extractTeamPrefix, Hn as init_projects, jn as findProjectByTeamSync, nr as resolveProjectFromIssueSync } from "./config-yaml-ig8Nwtiw.js";
1
+ import { Tn as init_projects, mn as findProjectByTeamSync, un as extractTeamPrefix, zn as resolveProjectFromIssueSync } from "./config-yaml-DvyMuOle.js";
2
2
  import { a as PAN_DIRNAME, i as PAN_CONTINUE_FILENAME } from "./types-hraoaQIp.js";
3
- import { f as init_config, m as loadConfigSync } from "./config-q4Gvd8dq.js";
4
- import { t as init_pan_dir } from "./pan-dir-DOcf6ug3.js";
5
- import { r as init_workspace_manager, t as createWorkspace } from "./workspace-manager-ClkCIWTe.js";
6
- import { _ as saveRemoteAgentState, f as listActiveRemoteAgentStates, m as loadRemoteAgentState, o as getRemoteAgentOutput, s as init_remote_agents, u as isRemoteAgentRunning, v as sendToRemoteAgent } from "./remote-agents-Ct_WOyke.js";
7
- import { t as createFlyProviderFromConfig } from "./remote-b-c5bOce.js";
3
+ import { f as init_config, m as loadConfigSync } from "./config-CCvjQf27.js";
4
+ import { t as init_pan_dir } from "./pan-dir-DeVUgwA7.js";
5
+ import { r as init_workspace_manager, t as createWorkspace } from "./workspace-manager-hLUv3ADC.js";
6
+ import { _ as saveRemoteAgentState, f as listActiveRemoteAgentStates, m as loadRemoteAgentState, o as getRemoteAgentOutput, s as init_remote_agents, u as isRemoteAgentRunning, v as sendToRemoteAgent } from "./remote-agents-nmty1mLu.js";
7
+ import { t as createFlyProviderFromConfig } from "./remote-Br-ZWVIP.js";
8
8
  import { Effect } from "effect";
9
9
  import { existsSync, mkdirSync, statSync, unlinkSync, writeFileSync } from "fs";
10
10
  import { basename, join } from "path";
@@ -309,7 +309,7 @@ async function reapCompletedRemoteAgents(opts = {}) {
309
309
  } catch {
310
310
  details.push("No continue.json retrieved from VM (skipped)");
311
311
  }
312
- const { getAgentStateSync, saveAgentStateSync } = await import("./agents-DyHKlq1I.js");
312
+ const { getAgentStateSync, saveAgentStateSync } = await import("./agents-FlIgQ3ql.js");
313
313
  const existing = getAgentStateSync(agentId);
314
314
  if (existing) {
315
315
  existing.workspace = existing.workspace || workspacePath;
@@ -327,8 +327,8 @@ async function reapCompletedRemoteAgents(opts = {}) {
327
327
  startedAt: remoteState.startedAt,
328
328
  lastActivity: (/* @__PURE__ */ new Date()).toISOString()
329
329
  });
330
- const { createReviewArtifactsForIssue } = await import("./review-artifacts-CXywD0F2.js");
331
- const { setReviewStatusSync } = await import("./review-status-Bnh-rdkY.js");
330
+ const { createReviewArtifactsForIssue } = await import("./review-artifacts-BLbSC4ke.js");
331
+ const { setReviewStatusSync } = await import("./review-status-C6n6-9f_.js");
332
332
  const primaryArtifact = (await Effect.runPromise(createReviewArtifactsForIssue(issueId, workspacePath))).mergeSet?.repos.find((repo) => !!repo.artifactUrl);
333
333
  if (primaryArtifact?.artifactUrl) {
334
334
  setReviewStatusSync(issueId, { prUrl: primaryArtifact.artifactUrl });
@@ -349,7 +349,7 @@ async function reapCompletedRemoteAgents(opts = {}) {
349
349
  try {
350
350
  const fly = createFlyProviderFromConfig(loadConfigSync().remote);
351
351
  if (sessionAlive) {
352
- const { killRemoteAgent } = await import("./remote-agents-D6O_zETW.js");
352
+ const { killRemoteAgent } = await import("./remote-agents-CRCg1L4H.js");
353
353
  await killRemoteAgent(agentId, vmName).catch(() => void 0);
354
354
  }
355
355
  await Effect.runPromise(fly.deleteVm(vmName));
@@ -357,7 +357,7 @@ async function reapCompletedRemoteAgents(opts = {}) {
357
357
  } catch (err) {
358
358
  details.push(`Warning: could not destroy machine: ${err.message}`);
359
359
  }
360
- const { deleteWorkspaceMetadataSync } = await import("./workspace-metadata-BE0efUv_.js");
360
+ const { deleteWorkspaceMetadataSync } = await import("./workspace-metadata-DNpMixRq.js");
361
361
  deleteWorkspaceMetadataSync(issueId);
362
362
  details.push("Removed remote workspace metadata (pipeline is local from here)");
363
363
  saveRemoteAgentState({
@@ -386,4 +386,4 @@ async function reapCompletedRemoteAgents(opts = {}) {
386
386
  //#endregion
387
387
  export { reapCompletedRemoteAgents, refreshClaudeCredentialsForActiveRemoteAgents };
388
388
 
389
- //# sourceMappingURL=remote-completion-Dca3hAaa.js.map
389
+ //# sourceMappingURL=remote-completion-BbWNd10K.js.map
@@ -0,0 +1,3 @@
1
+ import { G as resumeAgent, W as init_resume } from "./queries-6d7Cdtm7.js";
2
+ init_resume();
3
+ export { resumeAgent };