@overdeck/desktop 0.45.21 → 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 (387) hide show
  1. package/package.json +1 -1
  2. package/server/{acceptance-criteria-CJIFA8Vg.js → acceptance-criteria-DOA0KgXx.js} +5 -5
  3. package/server/{advancing-selfheal-CPOBO5ZS.js → advancing-selfheal-BBu6DSNm.js} +6 -6
  4. package/server/{agent-gc-D6PUckBB.js → agent-gc-BV1q_2EV.js} +4 -4
  5. package/server/agent-state-Bg0lhqwj.js +3 -0
  6. package/server/{agent-state-service-DHwemt96.js → agent-state-service-CnzFKSAQ.js} +1 -1
  7. package/server/{agent-state-service-6MFQqnFy.js → agent-state-service-HoK8U4jW.js} +5 -5
  8. package/server/{agents-DbrHWunF.js → agents-B4Bjbkfv.js} +4 -4
  9. package/server/agents-FlIgQ3ql.js +3 -0
  10. package/server/{archive-planning-BOnwJq8M.js → archive-planning-DYrYojxl.js} +31 -7
  11. package/server/{archive-planning-MPpvQJL4.js → archive-planning-zkJb3BeM.js} +1 -1
  12. package/server/{artifact-index-jobs-BOoySTKD.js → artifact-index-jobs-C-xy7Z5v.js} +2 -2
  13. package/server/{backlog-auto-trigger-BUaFI44J.js → backlog-auto-trigger-GtG71X8H.js} +3 -3
  14. package/server/{behavior-Dg-D8eBG.js → behavior-B_-4EKF3.js} +2 -2
  15. package/server/{briefing-freshness-OouGbJ7d.js → briefing-freshness-DWdW7vUm.js} +2 -2
  16. package/server/{build-info-27NlbKhV.js → build-info-BT096lEl.js} +3 -3
  17. package/server/{build-info-Cv6CI7Gu.js → build-info-DgTqZkL5.js} +1 -1
  18. package/server/{checkpoint-manager-C7mFCY_E.js → checkpoint-manager-B7Bt29J0.js} +1 -1
  19. package/server/{checkpoint-manager-D64fCC4p.js → checkpoint-manager-DDqcGyu8.js} +2 -2
  20. package/server/checkpoint-worker.js +1 -1
  21. package/server/{checkpoints-Vh-J15ge.js → checkpoints-C-AXLfYT.js} +2 -2
  22. package/server/{checkpoints-DwZqT2qQ.js → checkpoints-CpgCjAlN.js} +1 -1
  23. package/server/{claude-hooks-provision-CS5W_dhI.js → claude-hooks-provision-C8wdRnN1.js} +1 -1
  24. package/server/{claude-hooks-provision-BVLGfHrv.js → claude-hooks-provision-but-_qGY.js} +2 -2
  25. package/server/{claude-permissions-C2OrLYKL.js → claude-permissions-H_5wHQZQ.js} +2 -2
  26. package/server/{claude-settings-overlay-DWXjafJh.js → claude-settings-overlay-BTENVmYf.js} +1 -1
  27. package/server/{claude-settings-overlay-DX-fMFpC.js → claude-settings-overlay-CbSz0Dvb.js} +2 -2
  28. package/server/cli-BsVIHwzC.js +3 -0
  29. package/server/{cli-mvpEOb3w.js → cli-vBeXbPrq.js} +9 -9
  30. package/server/{cliproxy-Dvsr4ZkW.js → cliproxy-Bgb2XCqi.js} +2 -2
  31. package/server/{cliproxy-7g1nObvB.js → cliproxy-DW0V86F8.js} +1 -1
  32. package/server/{close-issue-8F6uawYj.js → close-issue-Dn_4c4G8.js} +5 -5
  33. package/server/{closed-issue-reaper-BhV-r-tC.js → closed-issue-reaper-CWpY2uBw.js} +1 -1
  34. package/server/{closed-issue-reaper-BaYQYF6w.js → closed-issue-reaper-hANY_ehE.js} +9 -9
  35. package/server/codex-Dg7Is5yb.js +3 -0
  36. package/server/{codex-D_UBEOwL.js → codex-TmSi-yTv.js} +30 -8
  37. package/server/{codex-parser-BTzlOZiV.js → codex-parser-C4gSH-IR.js} +2 -2
  38. package/server/{config-CrduXs4a.js → config-CCvjQf27.js} +2 -2
  39. package/server/{config-nAB_F-Gp.js → config-DUIhMN_T.js} +1 -1
  40. package/server/{config-G1TOMJZA.js → config-DjLOdbgT.js} +2 -2
  41. package/server/{config-yaml-Ciyp2mYe.js → config-yaml-DvyMuOle.js} +177 -211
  42. package/server/{conflict-gate-BKalpcjL.js → conflict-gate-BSJkNTdp.js} +1 -1
  43. package/server/{conflict-gate-BLUNMs1i.js → conflict-gate-CmrYpa47.js} +3 -3
  44. package/server/{context-layers-YNpf6Q_I.js → context-layers-B3Nt58jl.js} +2 -2
  45. package/server/{context-layers-Cg9ZgVfx.js → context-layers-ZYFcWiyc.js} +3 -3
  46. package/server/{control-settings-D_79A6gp.js → control-settings-aP1ANIlI.js} +4 -4
  47. package/server/{conversation-compaction-DiuZbIUB.js → conversation-compaction-CNbTLB86.js} +8 -8
  48. package/server/{conversation-compaction-CMIeWW4_.js → conversation-compaction-DiG5zWQq.js} +1 -1
  49. package/server/{conversation-service-DQybSPUK.js → conversation-service-Du-MTNpJ.js} +6 -6
  50. package/server/{conversation-service-CWk8mEym.js → conversation-service-Up7FEzIC.js} +1 -1
  51. package/server/{conversations-BJ-t3BRm.js → conversations-6mPANqvL.js} +1 -1
  52. package/server/{conversations-BUgGvqVL.js → conversations-DbOs1e9Q.js} +4 -4
  53. package/server/{cost-jJ2cgDcG.js → cost-CW4WSe72.js} +3 -3
  54. package/server/{cost-Drm7qeD5.js → cost-Ca0YTWDw.js} +18 -2
  55. package/server/{cost-sync-DzHP6zaR.js → cost-sync-C0VdGme1.js} +3 -3
  56. package/server/{dag-DIji6O2b.js → dag-CdOjJVDT.js} +9 -9
  57. package/server/{dangerous-git-ops-BebB-61h.js → dangerous-git-ops-CT-IypG3.js} +1 -1
  58. package/server/dashboard-db-worker.js +7 -7
  59. package/server/{deacon-pleYrvIm.js → deacon-DYSEJb48.js} +3 -3
  60. package/server/{deacon-nudge-log-C5VCKtyi.js → deacon-nudge-log-Bjg8U4Y9.js} +3 -3
  61. package/server/{deacon-1s7bM5zn.js → deacon-pRnyD5w9.js} +1133 -474
  62. package/server/deacon-swarm-9jRLS5Ke.js +2 -0
  63. package/server/{deacon-swarm-DmA3rJ7k.js → deacon-swarm-DftYRDo8.js} +17 -17
  64. package/server/deacon.js +8 -8
  65. package/server/{deploy-patrol-DmM6F-yw.js → deploy-patrol-Bjsho_ha.js} +136 -19
  66. package/server/{deploy-window-ClLq1RYf.js → deploy-window-CM6W1-c6.js} +1 -1
  67. package/server/{deploy-window-jw4S_Y-c.js → deploy-window-DeP_OIRk.js} +77 -10
  68. package/server/{dev-supervisor-Do2Stz49.js → dev-supervisor-BpMoHlkR.js} +2 -2
  69. package/server/{devcontainer-renderer-D8ylupco.js → devcontainer-renderer-CtUgrVKW.js} +3 -3
  70. package/server/dist-Bd3vn0Hw.js +3 -0
  71. package/server/{dist-yfR7G1BL.js → dist-DyRx4cI7.js} +1 -1
  72. package/server/{docker-ClwPQaba.js → docker-BK7HIcBj.js} +2 -2
  73. package/server/{dod-BLphkhjs.js → dod-BrSfUHm0.js} +1 -1
  74. package/server/{ensure-devcontainer-BA3bICoY.js → ensure-devcontainer-DRqaAkBR.js} +1 -1
  75. package/server/{ensure-devcontainer-CFpQatOc.js → ensure-devcontainer-DseivYEy.js} +4 -4
  76. package/server/{esm-shims-BZw-fTQ6.js → esm-shims-CbI3BVkl.js} +1 -1
  77. package/server/{event-store-DABarGNz.js → event-store-Cr5PQwFC.js} +1 -1
  78. package/server/{event-store-BVnON3vf.js → event-store-tdiY5eDZ.js} +3 -3
  79. package/server/{events-CmERlnwn.js → events-CC1dgUpx.js} +3 -3
  80. package/server/{events-LGeUehYW.js → events-CvvGK6LT.js} +1 -1
  81. package/server/{factory-CQNprtHe.js → factory-CynerjXO.js} +50 -13
  82. package/server/{feature-registry-population-D9Z3tYSa.js → feature-registry-population-B0pmAz0a.js} +4 -4
  83. package/server/{feature-registry-storage-BWymOgXE.js → feature-registry-storage-_wUBRD3J.js} +2 -2
  84. package/server/{features--fOza5g5.js → features-Dhxz-wLc.js} +2 -2
  85. package/server/{feedback-target-Dqik2WTe.js → feedback-target-CPS15Vte.js} +7 -7
  86. package/server/{feedback-target-Dn9vfPpz.js → feedback-target-iygZwmMc.js} +1 -1
  87. package/server/{feedback-writer-Wlq5-qgS.js → feedback-writer-C9b6ccN1.js} +6 -5
  88. package/server/{feedback-writer-DDQNV8uc.js → feedback-writer-qmiMbqTZ.js} +1 -1
  89. package/server/{flywheel-Q-38YhZG.js → flywheel-DMCUzDWg.js} +1 -1
  90. package/server/{flywheel-1Wd8WDlh.js → flywheel-DSSpWmqF.js} +13 -13
  91. package/server/{flywheel-DPUc8r3V.js → flywheel-DcBkQvgE.js} +14 -14
  92. package/server/{flywheel-merge-order-CeBuX0EJ.js → flywheel-merge-order-C-6zRLvM.js} +1 -1
  93. package/server/{flywheel-merge-order-4SqOXFAr.js → flywheel-merge-order-DxbQKE1d.js} +8 -8
  94. package/server/forge-B-ZWyTRm.js +2 -0
  95. package/server/{forge-DBbDpiYc.js → forge-Ch9gCFod.js} +2 -2
  96. package/server/{from-hh6vTBGl.js → from-CJ_aH5jD.js} +1 -1
  97. package/server/{fts-db-6ponMie2.js → fts-db-CKgg0VKg.js} +2 -2
  98. package/server/{fts-operations-KIRK165y.js → fts-operations-BrL_VTRr.js} +2 -2
  99. package/server/git-utils-BVa07a4a.js +198 -0
  100. package/server/{git-utils-DmF5xkj8.js → git-utils-Dry_Ka_D.js} +1 -1
  101. package/server/{github-app-B3yfECo8.js → github-app-CMBdIFBQ.js} +11 -3
  102. package/server/{github-app-CeSVFL6C.js → github-app-CPfoFAdV.js} +1 -1
  103. package/server/{github-client-Dslipypz.js → github-client--XVlDpwM.js} +2 -2
  104. package/server/{github-client-4A6FgA8O.js → github-client-B4QsdE-X.js} +1 -1
  105. package/server/{github-pr-lookup-DBP0YHMr.js → github-pr-lookup-BRbDW-qk.js} +2 -2
  106. package/server/harness-binary-CVio2m-u.js +106 -0
  107. package/server/{harness-resolve-BGpO-OVM.js → harness-resolve-qHJBhy3Z.js} +9 -15
  108. package/server/{health-events-CZGZ5I-A.js → health-events-C9B8y1Hm.js} +2 -2
  109. package/server/{health-events-CnwV_SSz.js → health-events-CpfvuVmm.js} +1 -1
  110. package/server/{hooks-CoNscX84.js → hooks-DUXw8A0-.js} +2 -2
  111. package/server/{hooks-DvX33gY_.js → hooks-ltecuFqZ.js} +1 -1
  112. package/server/{hume-DSJt5eA_.js → hume-BEq0bUDg.js} +2 -2
  113. package/server/hume-B_DbflNM.js +3 -0
  114. package/server/{idle-stack-reaper-5DVRoY6P.js → idle-stack-reaper-D7w9t3fE.js} +1 -1
  115. package/server/{idle-stack-reaper-BfL8HqYy.js → idle-stack-reaper-w1ISSlhs.js} +2 -2
  116. package/server/{in-flight-guard-tVGiI5ee.js → in-flight-guard-aQ1IxeI3.js} +2 -2
  117. package/server/{infra-DN2wSxle.js → infra-CzaSOgul.js} +4 -4
  118. package/server/{injection-DtlT8Akv.js → injection-DZ0PfYa4.js} +7 -7
  119. package/server/{injection-DK9zh_HL.js → injection-oNZeoDhL.js} +1 -1
  120. package/server/{inspect-agent-DKByUS_F.js → inspect-agent-DJKLWcVT.js} +15 -11
  121. package/server/inspect-agent-ch-F-5Ci.js +2 -0
  122. package/server/{internal-token-DhfFiwW7.js → internal-token-Bb4XeV2x.js} +2 -2
  123. package/server/{internal-token-7bYL5v6K.js → internal-token-DXdfprGr.js} +1 -1
  124. package/server/{io-BiM-7Zsx.js → io-B3_AHDfr.js} +160 -184
  125. package/server/{issue-closed-Dfw3QDyZ.js → issue-closed-zhdvQicO.js} +7 -7
  126. package/server/{issue-lifecycle-B7HZWnTA.js → issue-lifecycle-CreaCkjW.js} +22 -22
  127. package/server/{issue-lifecycle-ytsEdDlK.js → issue-lifecycle-Dy4vd0Oa.js} +1 -1
  128. package/server/{issue-service-singleton-CPESc4Or.js → issue-service-singleton-B5ushCvE.js} +8 -8
  129. package/server/{issue-service-singleton-D5EB5eYr.js → issue-service-singleton-DabvBWUp.js} +1 -1
  130. package/server/{issues-XYtFMxrH.js → issues-B6ToV6x1.js} +2 -2
  131. package/server/{jsonl-parser-DJV2eZUP.js → jsonl-parser-Dhflo1SH.js} +3 -3
  132. package/server/{label-cleanup-CJ4m8iRU.js → label-cleanup-BKPJm4Hv.js} +3 -3
  133. package/server/{label-reconciler-CNf3Ylm3.js → label-reconciler-DdWbHEBu.js} +4 -4
  134. package/server/{launcher-generator-5DJRiovn.js → launcher-generator-CHVm7bGT.js} +10 -9
  135. package/server/{layers-cZx7ibtV.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-DMurK4oM.js → lifecycle-io-D8iNBcux.js} +37 -37
  139. package/server/{lifecycle-CE7619Xw.js → lifecycle-sycO16hj.js} +6 -6
  140. package/server/{linear-client-BLyN-NiP.js → linear-client-D4zqMnX7.js} +2 -2
  141. package/server/{linear-client-Bj1l4FOA.js → linear-client-DqhDQO9k.js} +1 -1
  142. package/server/memory-fts-worker.js +1 -1
  143. package/server/{merge-hSC2BENe.js → merge-C_ZEhbqI.js} +3 -3
  144. package/server/{merge-CwX2_AWm.js → merge-DK23JEdS.js} +1 -1
  145. package/server/{merge-agent-CnORPiri.js → merge-agent-BQM3a8z5.js} +1 -1
  146. package/server/{merge-agent-DnBsms_V.js → merge-agent-XrB80vfT.js} +369 -213
  147. package/server/{merge-batch-C2w2U2eK.js → merge-batch-Bwoyr8Je.js} +1 -1
  148. package/server/{merge-blockers-DhRgh76x.js → merge-blockers-BsFjGrQ8.js} +2 -2
  149. package/server/merge-ops-DlB1IM0Y.js +2 -0
  150. package/server/{merge-rebase-CE-ZyOMY.js → merge-rebase-C1KIVr0s.js} +2 -2
  151. package/server/{merge-set-D7YNU1ZB.js → merge-set-DLz0MkGT.js} +3 -3
  152. package/server/{merge-set-DHkzPCJU.js → merge-set-DnSYdBEp.js} +1 -1
  153. package/server/{merge-sync-De1FYva5.js → merge-sync-DZ9dojJn.js} +2 -2
  154. package/server/{merge-sync-CpGA9Kg7.js → merge-sync-SSv3E-pl.js} +1 -1
  155. package/server/{merge-train-SvkRJZ-k.js → merge-train-DxDfBTjr.js} +3 -3
  156. package/server/{merge-train-deps-CECJTElu.js → merge-train-deps-CyYQUksx.js} +4 -4
  157. package/server/{merge-verification-B3meGcXF.js → merge-verification-CSizH3HY.js} +4 -4
  158. package/server/{multipart-parser-ByTMgYV5.js → multipart-parser-Dt8YPN5S.js} +2 -2
  159. package/server/{no-resume-mode-BnInAFKs.js → no-resume-mode-Cx3K0hHi.js} +11 -8
  160. package/server/node_modules/.package-lock.json +5 -5
  161. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/README.md +3 -3
  162. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeChildProcessSpawner.d.ts.map +1 -1
  163. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeChildProcessSpawner.js +2 -2
  164. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeChildProcessSpawner.js.map +1 -1
  165. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/package.json +5 -5
  166. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/src/NodeChildProcessSpawner.ts +6 -8
  167. package/server/{orphan-proposed-reconciler-CAfuWTA1.js → orphan-proposed-reconciler-BTkDrl4R.js} +1 -1
  168. package/server/{orphan-proposed-reconciler-AxAGUouN.js → orphan-proposed-reconciler-neK8dHQk.js} +23 -14
  169. package/server/package-lock.json +6 -6
  170. package/server/package.json +1 -1
  171. package/server/{pan-dir-Rw17YjT1.js → pan-dir-DeVUgwA7.js} +78 -58
  172. package/server/{paths-FP8v3lTz.js → paths-_zEts6wc.js} +2 -2
  173. package/server/{pickup-xi3KTLaJ.js → pickup-Dd0Znxxy.js} +2 -2
  174. package/server/{pipeline-membership-BtKMNY7v.js → pipeline-membership-0HaEGDlH.js} +190 -68
  175. package/server/{pipeline-notifier-dQ-U4NSb.js → pipeline-notifier-6iCJplFZ.js} +1 -1
  176. package/server/{pipeline-notifier-BM2HLF7B.js → pipeline-notifier-D0ykk59O.js} +2 -2
  177. package/server/{project-pipelines-B59NfN44.js → project-pipelines-2sK1apsO.js} +2 -2
  178. package/server/projects-9SkRpES9.js +3 -0
  179. package/server/{prompts-CbqaVjbe.js → prompts-Dp4Tpk39.js} +2 -2
  180. package/server/providers-DKkBXhxU.js +3 -0
  181. package/server/{providers-d3pwXGVE.js → providers-DV7ec8l7.js} +7 -7
  182. package/server/public/assets/{chunk-BO2N2NFS-BxYSL7J-.js → chunk-BO2N2NFS-CltymLRg.js} +4 -4
  183. package/server/public/assets/{diagram-OG6HWLK6-C_F9Q2as.js → diagram-OG6HWLK6-D2f6pjgA.js} +1 -1
  184. package/server/public/assets/{dist-DQNg4CiF.js → dist-BWR4qFiV.js} +1 -1
  185. package/server/public/assets/{dist-CLSlc6cV.js → dist-DEmlBBNQ.js} +3 -3
  186. package/server/public/assets/{ganttDiagram-6RSMTGT7-Cq0my-0C.js → ganttDiagram-6RSMTGT7-DnfiViPK.js} +1 -1
  187. package/server/public/assets/{highlighted-body-OFNGDK62-eZC03dGh.js → highlighted-body-OFNGDK62-B8Wrmj9H.js} +1 -1
  188. package/server/public/assets/index-CUr1xv8w.css +1 -0
  189. package/server/public/assets/{index-SLYGA8AQ.js → index-CsSuZQBI.js} +148 -145
  190. package/server/public/assets/{linear-6Fi3qnGg.js → linear-C9zFQpkX.js} +1 -1
  191. package/server/public/assets/mermaid-GHXKKRXX-BUAB8hqt.js +1 -0
  192. package/server/public/assets/{pieDiagram-4H26LBE5-Dpmc6xsv.js → pieDiagram-4H26LBE5-lR8H7Yjd.js} +1 -1
  193. package/server/public/assets/{prod-ojHllFvN.js → prod-B1jCQihw.js} +4 -4
  194. package/server/public/assets/{quadrantDiagram-W4KKPZXB-Ulr9gON5.js → quadrantDiagram-W4KKPZXB-CVQ2guem.js} +1 -1
  195. package/server/public/assets/{sankeyDiagram-5OEKKPKP-CwdHGXfL.js → sankeyDiagram-5OEKKPKP-eD1RB4gm.js} +1 -1
  196. package/server/public/assets/{xychartDiagram-2RQKCTM6-r-bEDzJh.js → xychartDiagram-2RQKCTM6-ChEC6dQn.js} +1 -1
  197. package/server/public/index.html +54 -10
  198. package/server/{pull-requests-D3N6HQzI.js → pull-requests--Ib2jTgy.js} +1 -1
  199. package/server/{pull-requests-CjjPj7v6.js → pull-requests-CXIhdCYD.js} +13 -11
  200. package/server/{queries-B5hl7lMQ.js → queries-6d7Cdtm7.js} +723 -110
  201. package/server/{rally-Dp0Gb1DN.js → rally-B708-nZn.js} +3 -3
  202. package/server/{rally-api-DGaFz5L5.js → rally-api-nY0ZANw3.js} +2 -2
  203. package/server/{rally-api-CKr0O4DJ.js → rally-api-yjQ0TfHd.js} +1 -1
  204. package/server/{rally-client-SVbjGvqj.js → rally-client-B1EJhfV0.js} +4 -4
  205. package/server/{rally-client-Cqf6EX_r.js → rally-client-CULK2XAY.js} +1 -1
  206. package/server/rally-njs_mJrt.js +3 -0
  207. package/server/reap-terminal-sessions-MWnqdLCJ.js +4 -0
  208. package/server/{reap-terminal-sessions-CjqRAGw7.js → reap-terminal-sessions-N3BTkmX_.js} +11 -28
  209. package/server/{rebuild-stack-DHqCLvLX.js → rebuild-stack-Dp4eLkt4.js} +6 -6
  210. package/server/{rebuild-stack-DjdpALr1.js → rebuild-stack-kA7XngID.js} +1 -1
  211. package/server/{reconstruct-cache-BqrCQt0o.js → reconstruct-cache-uWbZfjms.js} +6 -6
  212. package/server/record-t6V-3Dcj.js +3 -0
  213. package/server/{record-update-BlB8mpKO.js → record-update-DACtKh6_.js} +1 -1
  214. package/server/record-update-Dq0t2uBG.js +310 -0
  215. package/server/{recovery-trip-l1Hsi37x.js → recovery-trip-BJtIQuag.js} +2 -2
  216. package/server/{release-engine-CSI4K6Oj.js → release-engine-DZpmGGzb.js} +5 -5
  217. package/server/{release-set-BywwggrE.js → release-set-hnXd_kga.js} +3 -3
  218. package/server/{remote-DYziAkiZ.js → remote-4tiENDaI.js} +3 -3
  219. package/server/{remote-cnoeuDWn.js → remote-Br-ZWVIP.js} +3 -3
  220. package/server/{remote-agents-BNORDWAX.js → remote-agents-CRCg1L4H.js} +1 -1
  221. package/server/{remote-agents-CZ2rc8I0.js → remote-agents-nmty1mLu.js} +6 -6
  222. package/server/{remote-completion-W67FNQ-A.js → remote-completion-BbWNd10K.js} +13 -13
  223. package/server/resume-CcKqnTvE.js +3 -0
  224. package/server/{review-agent-CSswH985.js → review-agent-DJRO8EG8.js} +1 -1
  225. package/server/{review-agent-CqSqSHkU.js → review-agent-sKkE1FEL.js} +23 -23
  226. package/server/{review-artifacts-BBgnd5df.js → review-artifacts-BLbSC4ke.js} +5 -5
  227. package/server/{review-context-Ctp9BdNJ.js → review-context-BgX3lcCx.js} +9 -9
  228. package/server/{review-status-CCgPVK1h.js → review-status-A7quS5KJ.js} +56 -39
  229. package/server/review-status-C6n6-9f_.js +3 -0
  230. package/server/{review-status-enrichment-DtDRGpst.js → review-status-enrichment-tbOn_A_u.js} +3 -3
  231. package/server/review-status-source-CxuEjLGg.js +39 -0
  232. package/server/{review-status-sync-jnLgd04F.js → review-status-sync-BhSQ0d0l.js} +2 -2
  233. package/server/{review-status-sync-C792ksoJ.js → review-status-sync-To3-iS-N.js} +1 -1
  234. package/server/{review-verdict-feedback-D5lW0o3k.js → review-verdict-feedback-C1Kg8n7t.js} +1 -1
  235. package/server/{review-verdict-feedback-CMsIpTpy.js → review-verdict-feedback-CTRNtzXO.js} +7 -7
  236. package/server/{rollup-B3kQmNpl.js → rollup-B53Y81xK.js} +1 -1
  237. package/server/{rollup-CLj_AK9f.js → rollup-WA0VD-Rr.js} +8 -8
  238. package/server/{scanner-C4NeC4FE.js → scanner-D2743cp8.js} +11 -7
  239. package/server/{sequence-io-Ce-6grIY.js → sequence-io-Cg0zYj_E.js} +4 -4
  240. package/server/{sequencer-agent-Bpz0yGmG.js → sequencer-agent-BGY8gjg-.js} +5 -5
  241. package/server/server.js +1348 -963
  242. package/server/{service-CqAY8Kmk.js → service-DCpB_SGd.js} +154 -51
  243. package/server/{session-fork-uNo4rMRA.js → session-fork-BQ8_6H32.js} +2 -2
  244. package/server/{session-history-DUehL3KN.js → session-history-CVZDpS3c.js} +4 -4
  245. package/server/{settings-DP2OYLXL.js → settings-BZ5m1UCl.js} +3 -3
  246. package/server/settings-D0OSwos5.js +2 -0
  247. package/server/{settings-D9grjmaP.js → settings-ylxwqwQG.js} +2 -2
  248. package/server/{shadow-engineering-Bi_oIMtF.js → shadow-engineering-BlxG6Xye.js} +3 -3
  249. package/server/{shadow-state-CDxEuPlE.js → shadow-state-C2_epgx2.js} +1 -1
  250. package/server/{shadow-state-a_ztFBJe.js → shadow-state-Dh-HzF2J.js} +2 -2
  251. package/server/{shadow-utils-CyOg6_Xq.js → shadow-utils-4bvjn9b3.js} +2 -2
  252. package/server/{ship-log-DDcueaIR.js → ship-log-ClSMIzZX.js} +1 -1
  253. package/server/{smart-compaction-C1_VVLEd.js → smart-compaction-CHIxLr_d.js} +1 -1
  254. package/server/{smart-compaction--Oj65Uov.js → smart-compaction-r4pHQBIr.js} +7 -7
  255. package/server/{spawn-planning-session-AiUSsBnH.js → spawn-planning-session-DWAorh2B.js} +25 -20
  256. package/server/{spawn-planning-session-LFtK2QCE.js → spawn-planning-session-KC_UduxD.js} +1 -1
  257. package/server/{specialist-completion-qOgqdqXH.js → specialist-completion-BXhav38U.js} +1 -1
  258. package/server/{specialist-context-gjj8Z4Ii.js → specialist-context-DtrYvGJ-.js} +5 -5
  259. package/server/{specialist-handoff-logger-BsBNvVZv.js → specialist-handoff-logger-C45ouoZ6.js} +2 -2
  260. package/server/{specialist-logs-CSLtvPx6.js → specialist-logs-DJ3RzKxW.js} +3 -3
  261. package/server/{specialists-D0VBf8g_.js → specialists-D5fRZXmN.js} +1 -1
  262. package/server/specialists-DVj0hvaL.js +3 -0
  263. package/server/{specialists-CYRwELzc.js → specialists-DyFeedjn.js} +66 -76
  264. package/server/{specialists-DAegTvRt.js → specialists-JVO00bs7.js} +374 -220
  265. package/server/specs-nN45DG2X.js +3 -0
  266. package/server/{src-OLoJhUiJ.js → src-CG9mCkP6.js} +6 -6
  267. package/server/{src-BqTcrfO_.js → src-CMTQGyCK.js} +3 -3
  268. package/server/{src-Dpq1yFIl.js → src-U7_kTPEE.js} +338 -4
  269. package/server/{stack-health-I713ELld.js → stack-health-Df0YEZKa.js} +1 -1
  270. package/server/{stack-health-DV_f-lK0.js → stack-health-puygdaMd.js} +2 -2
  271. package/server/{stale-task-claims-CQSKZVq0.js → stale-task-claims-BbFwCTb0.js} +4 -4
  272. package/server/{staleness-BbsGxmF2.js → staleness-Bpy41ngS.js} +15 -3
  273. package/server/{staleness-zGp4P1hd.js → staleness-Cbl_w4Bw.js} +1 -1
  274. package/server/{state-home-DixkE-up.js → state-home-CIGjwNfJ.js} +119 -54
  275. package/server/state-migrate-Dkzaxvny.js +487 -0
  276. package/server/{stuck-remediation-BWkK_O7A.js → stuck-remediation-CzEov_fq.js} +27 -21
  277. package/server/{stuck-remediation-CTPRC2S5.js → stuck-remediation-sY_MHHgQ.js} +1 -1
  278. package/server/{substrate-bug-weights-service-DXd0ID83.js → substrate-bug-weights-service-BH66lhm7.js} +3 -3
  279. package/server/{summary-fork-CdLn8Chr.js → summary-fork-D8bXjCr7.js} +2 -2
  280. package/server/{summary-fork-f3DpgjXh.js → summary-fork-DHhJIsAL.js} +8 -8
  281. package/server/{supervisor-Ch8CDuoF.js → supervisor-BO-Zk_h-.js} +3 -3
  282. package/server/supervisor-BPy-o1A8.js +2 -0
  283. package/server/{swarm-readiness-C9P2iPap.js → swarm-readiness-CQ_fwUWF.js} +4 -4
  284. package/server/{system-prerequisites-DkoQBn1q.js → system-prerequisites-Bza0ffAh.js} +24 -44
  285. package/server/{teardown-workspace-D-5yMyit.js → teardown-workspace-CEgauF4U.js} +15 -15
  286. package/server/{test-agent-queue-BwpUpu-o.js → test-agent-queue-DXDt0Xa-.js} +7 -7
  287. package/server/{test-verdict-BRiSu7eW.js → test-verdict-CmUBK5cT.js} +1 -1
  288. package/server/{test-verdict-BQ1yx7d4.js → test-verdict-DFjjIHR5.js} +1 -1
  289. package/server/{tldr-daemon-DjxP5g6Y.js → tldr-daemon-BDtLOIlO.js} +2 -2
  290. package/server/{tldr-daemon-BJA7TkqS.js → tldr-daemon-DL566HbH.js} +1 -1
  291. package/server/tmux-DoThH6aj.js +3 -0
  292. package/server/{tmux-y1blSxks.js → tmux-ftABRAmc.js} +76 -44
  293. package/server/{token-LUrbM9sU.js → token-CsOhvw42.js} +2 -2
  294. package/server/{token-util-BZaDAQ8S.js → token-util-CTmczIfW.js} +1 -1
  295. package/server/token-util-DrHg8abn.js +3 -0
  296. package/server/{tracker-config-DSFZBdXP.js → tracker-config-B4itFzDo.js} +2 -2
  297. package/server/{tracker-utils-WtP_V-yn.js → tracker-utils-BePq_oj-.js} +1 -1
  298. package/server/{tracker-utils-DiceZN3a.js → tracker-utils-tnxxqROg.js} +2 -2
  299. package/server/{traefik-connect-BXqfOP4-.js → traefik-connect-m73vGebA.js} +1 -1
  300. package/server/{tunnel-DTng1rfQ.js → tunnel-B2vxjx_b.js} +3 -3
  301. package/server/{tunnel-WcJImbAC.js → tunnel-Cgj-IGIl.js} +1 -1
  302. package/server/{types-BjaZ1oqH.js → types-BBNjPcqU.js} +1 -1
  303. package/server/{types-DqeBMmJN.js → types-hraoaQIp.js} +1 -1
  304. package/server/{uat-train-BpLnp7Cx.js → uat-train-CuEn0t9M.js} +28 -28
  305. package/server/{uat-train-Wismge7h.js → uat-train-cKfM-_WW.js} +1 -1
  306. package/server/{validation-BA4e5EGm.js → validation-B5JxoPUS.js} +259 -9
  307. package/server/{validation-CUWamZ4X.js → validation-CIi6pnI2.js} +1 -1
  308. package/server/{verification-artifact-Dr_0g9nb.js → verification-artifact-BcnIbigL.js} +1 -1
  309. package/server/{verification-artifact-CrbI4tJE.js → verification-artifact-C-lIHfUa.js} +1 -1
  310. package/server/{verification-runner-gAzh3cVD.js → verification-runner-Br0S_Ous.js} +103 -37
  311. package/server/{verification-runner-Dcksl_P-.js → verification-runner-CDj4lD4t.js} +1 -1
  312. package/server/{vtt-parser-3VZKsmSm.js → vtt-parser-DKpNNW5i.js} +1 -1
  313. package/server/{work-agent-prompt-ULdcANl5.js → work-agent-prompt-Yb2bd3Fq.js} +16 -15
  314. package/server/{workflows-B8ROFlfw.js → workflows-C9WmILql.js} +39 -77
  315. package/server/workflows-D90rMOya.js +2 -0
  316. package/server/{workspace-DhTDA8nB.js → workspace-BVl4rihN.js} +3 -3
  317. package/server/{workspace-DSjUJaJN.js → workspace-DuUdndHe.js} +1 -1
  318. package/server/{workspace-config-BAAsAv-o.js → workspace-config-cEGcO6UT.js} +1 -1
  319. package/server/{workspace-manager-CcujONCR.js → workspace-manager-ZTdJAy9M.js} +1 -1
  320. package/server/{workspace-manager-DsN52IMG.js → workspace-manager-hLUv3ADC.js} +23 -16
  321. package/server/{workspace-metadata-DIL5_U4c.js → workspace-metadata-CskwzzhL.js} +2 -2
  322. package/server/{workspace-metadata-CftOpNLs.js → workspace-metadata-DNpMixRq.js} +1 -1
  323. package/server/{workspaces-Dmlh1YXm.js → workspaces-hWvy9eKs.js} +276 -110
  324. package/sync-sources/agents/pan-inspect-agent.md +1 -1
  325. package/sync-sources/agents/pan-merge-agent.md +1 -1
  326. package/sync-sources/agents/pan-planning-agent.md +4 -4
  327. package/sync-sources/agents/pan-work-agent.md +1 -1
  328. package/sync-sources/dev-skills/pan-commit/SKILL.md +1 -1
  329. package/sync-sources/dev-skills/test-specialist-workflow/SKILL.md +1 -1
  330. package/sync-sources/hooks/record-cost-event.js +363 -71
  331. package/sync-sources/hooks/session-start-hook +7 -0
  332. package/sync-sources/hooks/work-agent-stop-hook +1 -1
  333. package/sync-sources/rules/per-bead-durability.md +1 -1
  334. package/sync-sources/rules/prd-authoring.md +1 -1
  335. package/sync-sources/skills/feature-work/SKILL.md +1 -1
  336. package/sync-sources/skills/pan/SKILL.md +2 -2
  337. package/sync-sources/skills/pan-admin-config/SKILL.md +1 -0
  338. package/sync-sources/skills/pan-approve/SKILL.md +1 -1
  339. package/sync-sources/skills/pan-close/SKILL.md +1 -1
  340. package/sync-sources/skills/pan-doctor/SKILL.md +1 -1
  341. package/sync-sources/skills/pan-new-project/SKILL.md +9 -11
  342. package/sync-sources/skills/pan-oversee/SKILL.md +5 -5
  343. package/sync-sources/skills/pan-plan/SKILL.md +6 -6
  344. package/sync-sources/skills/pan-quickstart/SKILL.md +1 -1
  345. package/sync-sources/skills/pan-recap/SKILL.md +2 -2
  346. package/sync-sources/skills/pan-review/SKILL.md +1 -1
  347. package/sync-sources/skills/pan-start/SKILL.md +26 -3
  348. package/sync-sources/skills/pan-swarm/SKILL.md +1 -1
  349. package/sync-sources/skills/pan-sync/SKILL.md +1 -1
  350. package/sync-sources/skills/pan-task/SKILL.md +2 -2
  351. package/sync-sources/skills/pan-wipe/SKILL.md +2 -2
  352. package/sync-sources/skills/pipeline-list/SKILL.md +1 -1
  353. package/sync-sources/skills/pipeline-status/SKILL.md +2 -2
  354. package/sync-sources/skills/plan/SKILL.md +11 -11
  355. package/sync-sources/skills/write-vbrief/SKILL.md +7 -282
  356. package/sync-sources/skills/write-xbrief/SKILL.md +295 -0
  357. package/sync-sources/templates/claude-md/sections/warnings.md +1 -1
  358. package/server/agent-state-BV_6RHnO.js +0 -3
  359. package/server/agents-Czz6R57Z.js +0 -3
  360. package/server/cli-ChErG518.js +0 -3
  361. package/server/codex-BBeZ8c3s.js +0 -3
  362. package/server/deacon-swarm-uudlSCLM.js +0 -2
  363. package/server/dist-BEDL2alY.js +0 -3
  364. package/server/forge-DbhJyH6u.js +0 -2
  365. package/server/git-utils-Bkxzr1Xf.js +0 -129
  366. package/server/hume-BrA1tUuk.js +0 -3
  367. package/server/inspect-agent-CyXNo9fM.js +0 -2
  368. package/server/lifecycle-io-CUpsxG0p.js +0 -3
  369. package/server/merge-ops-BpTtuO8x.js +0 -2
  370. package/server/projects-IRHJIPYC.js +0 -3
  371. package/server/providers-BqCdTryq.js +0 -3
  372. package/server/public/assets/index-C6NLz_1S.css +0 -1
  373. package/server/public/assets/mermaid-GHXKKRXX-BNwFoQsf.js +0 -1
  374. package/server/rally-DGimSRBQ.js +0 -3
  375. package/server/reap-terminal-sessions-C1mfzoZo.js +0 -3
  376. package/server/record-update-RviRDSNs.js +0 -168
  377. package/server/record-us0YECMO.js +0 -3
  378. package/server/resume-OyN3dEXE.js +0 -3
  379. package/server/review-status-DXeqFpk5.js +0 -3
  380. package/server/settings-BaPXXJsT.js +0 -2
  381. package/server/specialists-C6WkeKFK.js +0 -3
  382. package/server/specs-BsNcum0h.js +0 -3
  383. package/server/state-migrate-_zJJ6XKE.js +0 -362
  384. package/server/supervisor-Qy1QecAs.js +0 -2
  385. package/server/tmux-HQLgwo_C.js +0 -3
  386. package/server/token-util-Cg-QnowA.js +0 -3
  387. package/server/workflows-C5c-RPsY.js +0 -2
@@ -0,0 +1,487 @@
1
+ import { $t as acquireStateMigrationLock, Ht as flushAutoCommits, Kt as STATE_BRANCH_PATHS, Ln as resolveInfraRepo, Tn as init_projects, Ut as init_auto_commit, Yt as init_state_plane, en as init_state_migration_lock, yn as getProjectSync } from "./config-yaml-DvyMuOle.js";
2
+ import { o as init_lifecycle } from "./lifecycle-DfeyBDwA.js";
3
+ import { l as stateWorktreePath, n as STATE_BRANCH, o as init_state_home, r as clearStateMigrationCache, t as MIGRATION_COMPLETE_MARKER } from "./state-home-CIGjwNfJ.js";
4
+ import { dirname, join } from "node:path";
5
+ import { Effect } from "effect";
6
+ import { tmpdir } from "node:os";
7
+ import { createReadStream, createWriteStream, existsSync, lstatSync, mkdirSync, readFileSync, readdirSync, renameSync, rmSync, writeFileSync } from "node:fs";
8
+ import { chmod, lstat, mkdir, readdir, rename, rm, utimes } from "node:fs/promises";
9
+ import { execFile } from "node:child_process";
10
+ import { promisify } from "node:util";
11
+ import { createHash } from "node:crypto";
12
+ import { pipeline } from "node:stream/promises";
13
+ //#region ../../lib/state-migration-manifest.ts
14
+ init_projects();
15
+ init_state_migration_lock();
16
+ init_state_plane();
17
+ init_auto_commit();
18
+ init_state_home();
19
+ async function sha256(path, signal) {
20
+ const hash = createHash("sha256");
21
+ for await (const chunk of createReadStream(path, { signal })) {
22
+ signal?.throwIfAborted();
23
+ hash.update(chunk);
24
+ }
25
+ return hash.digest("hex");
26
+ }
27
+ async function manifestEntry(source, destination, signal) {
28
+ signal?.throwIfAborted();
29
+ const [stat, digest] = await Promise.all([lstat(source), sha256(source, signal)]);
30
+ signal?.throwIfAborted();
31
+ return {
32
+ source,
33
+ destination,
34
+ mode: stat.mode & 511,
35
+ size: stat.size,
36
+ sha256: digest
37
+ };
38
+ }
39
+ async function verifyStateMigrationManifest(entries) {
40
+ for (const expected of entries) {
41
+ const actual = await manifestEntry(expected.destination, expected.destination);
42
+ if ((actual.mode & 64) !== (expected.mode & 64) || actual.size !== expected.size || actual.sha256 !== expected.sha256) throw new Error(`State migration no-loss mismatch: ${expected.source} -> ${expected.destination}`);
43
+ }
44
+ }
45
+ //#endregion
46
+ //#region ../../cli/commands/admin/xbrief-state-migrate.ts
47
+ init_lifecycle();
48
+ promisify(execFile);
49
+ //#endregion
50
+ //#region ../../cli/commands/admin/state-migrate.ts
51
+ init_auto_commit();
52
+ init_projects();
53
+ init_state_home();
54
+ const GIT_COMMAND_TIMEOUT_MS = 3e4;
55
+ const execFileDetached = execFile;
56
+ function killProcessTree(child) {
57
+ if (!child?.pid) return;
58
+ try {
59
+ if (process.platform === "win32") child.kill("SIGKILL");
60
+ else process.kill(-child.pid, "SIGKILL");
61
+ } catch {
62
+ try {
63
+ child.kill("SIGKILL");
64
+ } catch {}
65
+ }
66
+ }
67
+ async function git(cwd, args, signal, env) {
68
+ signal?.throwIfAborted();
69
+ const command = `git ${args.join(" ")}`;
70
+ return new Promise((resolve, reject) => {
71
+ let child;
72
+ let termination;
73
+ const terminate = (kind) => {
74
+ if (termination) return;
75
+ termination = kind;
76
+ killProcessTree(child);
77
+ };
78
+ const timeout = setTimeout(() => terminate("timeout"), GIT_COMMAND_TIMEOUT_MS);
79
+ const onAbort = () => terminate("abort");
80
+ signal?.addEventListener("abort", onAbort, { once: true });
81
+ child = execFileDetached("git", args, {
82
+ cwd,
83
+ env: {
84
+ ...process.env,
85
+ ...env
86
+ },
87
+ encoding: "utf8",
88
+ maxBuffer: 32 * 1024 * 1024,
89
+ detached: process.platform !== "win32"
90
+ }, (error, stdout, stderr) => {
91
+ clearTimeout(timeout);
92
+ signal?.removeEventListener("abort", onAbort);
93
+ if (termination === "abort") reject(signal?.reason ?? new DOMException(`${command} was cancelled`, "AbortError"));
94
+ else if (termination === "timeout") reject(/* @__PURE__ */ new Error(`${command} timed out after ${GIT_COMMAND_TIMEOUT_MS / 1e3}s`));
95
+ else if (error) reject(Object.assign(error, {
96
+ stdout,
97
+ stderr
98
+ }));
99
+ else resolve(stdout.trim());
100
+ });
101
+ if (signal?.aborted) terminate("abort");
102
+ });
103
+ }
104
+ function destinationForTracked(path) {
105
+ if (!path.startsWith(".pan/")) return null;
106
+ const flat = path.slice(5);
107
+ return STATE_BRANCH_PATHS.some((prefix) => flat.startsWith(prefix)) ? flat : null;
108
+ }
109
+ async function trackedManifest(repo, sourceSha, stateRoot, signal, copyFile = copyFileAbortable) {
110
+ const paths = (await git(repo, [
111
+ "ls-tree",
112
+ "-r",
113
+ "--name-only",
114
+ sourceSha,
115
+ "--",
116
+ ".pan"
117
+ ], signal)).split("\n").filter(Boolean);
118
+ const manifest = [];
119
+ for (const path of paths) {
120
+ signal?.throwIfAborted();
121
+ const destination = destinationForTracked(path);
122
+ if (!destination) continue;
123
+ const source = join(repo, path);
124
+ const target = join(stateRoot, destination);
125
+ if (!existsSync(target)) await copyFile(source, target, signal);
126
+ manifest.push(await manifestEntry(source, target, signal));
127
+ }
128
+ return manifest;
129
+ }
130
+ async function createOrphanStateCommit(repo, sourceSha, signal) {
131
+ const index = join(tmpdir(), `overdeck-state-index-${process.pid}-${Date.now()}`);
132
+ const env = { GIT_INDEX_FILE: index };
133
+ try {
134
+ await git(repo, ["read-tree", "--empty"], signal, env);
135
+ const rows = (await git(repo, [
136
+ "ls-tree",
137
+ "-r",
138
+ sourceSha,
139
+ "--",
140
+ ".pan"
141
+ ], signal)).split("\n").filter(Boolean);
142
+ for (const row of rows) {
143
+ const match = row.match(/^(\d+)\s+\w+\s+([0-9a-f]+)\t(.+)$/);
144
+ if (!match) continue;
145
+ const destination = destinationForTracked(match[3]);
146
+ if (destination) await git(repo, [
147
+ "update-index",
148
+ "--add",
149
+ "--cacheinfo",
150
+ `${match[1]},${match[2]},${destination}`
151
+ ], signal, env);
152
+ }
153
+ return await git(repo, [
154
+ "commit-tree",
155
+ await git(repo, ["write-tree"], signal, env),
156
+ "-m",
157
+ "chore(state): seed overdeck-state"
158
+ ], signal, env);
159
+ } finally {
160
+ rmSync(index, { force: true });
161
+ }
162
+ }
163
+ let copySequence = 0;
164
+ async function copyFileAbortable(source, destination, signal) {
165
+ signal?.throwIfAborted();
166
+ const stat = await lstat(source);
167
+ const temporary = join(dirname(destination), `.overdeck-migrate-${process.pid}-${copySequence++}`);
168
+ await mkdir(dirname(destination), { recursive: true });
169
+ try {
170
+ await pipeline(createReadStream(source, { signal }), createWriteStream(temporary, { mode: stat.mode & 511 }), { signal });
171
+ signal?.throwIfAborted();
172
+ await chmod(temporary, stat.mode & 511);
173
+ await utimes(temporary, stat.atime, stat.mtime);
174
+ signal?.throwIfAborted();
175
+ await rename(temporary, destination);
176
+ } catch (error) {
177
+ if (signal?.aborted) throw signal.reason;
178
+ throw error;
179
+ } finally {
180
+ await rm(temporary, { force: true });
181
+ }
182
+ }
183
+ async function filesEqualAbortable(source, destination, signal) {
184
+ const [sourceEntry, destinationEntry] = await Promise.all([manifestEntry(source, source, signal), manifestEntry(destination, destination, signal)]);
185
+ return sourceEntry.size === destinationEntry.size && sourceEntry.sha256 === destinationEntry.sha256;
186
+ }
187
+ async function preserveUntrackedNotes(legacyStateSource, stateRoot, paths, signal, copyFile = copyFileAbortable) {
188
+ const manifest = [];
189
+ for (const path of paths) {
190
+ signal?.throwIfAborted();
191
+ const source = join(legacyStateSource, path);
192
+ let sourceStat;
193
+ try {
194
+ sourceStat = await lstat(source);
195
+ } catch (error) {
196
+ if (error.code === "ENOENT") continue;
197
+ throw error;
198
+ }
199
+ if (sourceStat.isSymbolicLink()) throw new Error(`Legacy state changed during migration: symbolic link appeared at ${source}`);
200
+ if (!sourceStat.isFile()) continue;
201
+ const destination = join(stateRoot, "notes", path.slice(5));
202
+ if (existsSync(destination)) {
203
+ if (!await filesEqualAbortable(source, destination, signal)) throw new Error(`Untracked-note destination collision: ${destination}`);
204
+ } else await copyFile(source, destination, signal);
205
+ manifest.push(await manifestEntry(source, destination, signal));
206
+ }
207
+ return manifest;
208
+ }
209
+ async function assertNoLegacySymlinks(source, signal, allowMissing = false) {
210
+ signal?.throwIfAborted();
211
+ let stat;
212
+ try {
213
+ stat = await lstat(source);
214
+ } catch (error) {
215
+ if (allowMissing && error.code === "ENOENT") return;
216
+ throw error;
217
+ }
218
+ if (stat.isSymbolicLink()) throw new Error(`Legacy state contains unsupported symbolic link: ${source}. Resolve it before migrating so canonical state cannot depend on the legacy tree.`);
219
+ if (!stat.isDirectory()) return;
220
+ for (const entry of await readdir(source, { withFileTypes: true })) await assertNoLegacySymlinks(join(source, entry.name), signal);
221
+ }
222
+ async function copyLegacyState(sourceRoot, stateRoot, signal, copyFile = copyFileAbortable) {
223
+ const manifest = [];
224
+ const sources = STATE_BRANCH_PATHS.map((sourcePath) => ({
225
+ source: join(sourceRoot, ".pan", sourcePath),
226
+ destination: join(stateRoot, sourcePath)
227
+ })).filter(({ source }) => existsSync(source));
228
+ await assertNoLegacySymlinks(join(sourceRoot, ".pan"), signal, true);
229
+ const visit = async (sourceDir, destinationDir) => {
230
+ await mkdir(destinationDir, { recursive: true });
231
+ for (const entry of await readdir(sourceDir, { withFileTypes: true })) {
232
+ signal?.throwIfAborted();
233
+ const sourceEntry = join(sourceDir, entry.name);
234
+ const destinationEntry = join(destinationDir, entry.name);
235
+ if (entry.isDirectory()) await visit(sourceEntry, destinationEntry);
236
+ else if (entry.isFile()) {
237
+ await copyFile(sourceEntry, destinationEntry, signal);
238
+ signal?.throwIfAborted();
239
+ manifest.push(await manifestEntry(sourceEntry, destinationEntry, signal));
240
+ } else if (entry.isSymbolicLink()) throw new Error(`Legacy state changed during migration: symbolic link appeared at ${sourceEntry}`);
241
+ }
242
+ };
243
+ for (const { source, destination } of sources) {
244
+ signal?.throwIfAborted();
245
+ await visit(source, destination);
246
+ }
247
+ return manifest;
248
+ }
249
+ function hasNonStateDirtyState(porcelain) {
250
+ return porcelain.split("\n").filter(Boolean).some((line) => {
251
+ const path = line.slice(3).split(" -> ").at(-1) ?? "";
252
+ if (path === ".pan" || path.startsWith(".pan/")) return false;
253
+ return true;
254
+ });
255
+ }
256
+ function dedupeManifest(entries) {
257
+ return [...new Map(entries.map((entry) => [entry.destination, entry])).values()];
258
+ }
259
+ const GITIGNORE_MANAGED_LINES = [
260
+ "# PAN-2541: permanent state is on overdeck-state; workspace runtime stays local.",
261
+ ".pan/",
262
+ ".overdeck/continue.json",
263
+ ".overdeck/spec.vbrief.json",
264
+ ".overdeck/sessions.jsonl",
265
+ ".overdeck/feedback/",
266
+ ".overdeck/review/",
267
+ ".overdeck/test/",
268
+ ".overdeck/kickoff.md",
269
+ ".overdeck/agent-mcp.json"
270
+ ];
271
+ function rewriteGitignore(repo) {
272
+ const path = join(repo, ".gitignore");
273
+ const prior = existsSync(path) ? readFileSync(path, "utf8") : "";
274
+ const managed = new Set([...GITIGNORE_MANAGED_LINES, ".overdeck/"]);
275
+ const kept = prior.split("\n").filter((line) => !managed.has(line.trim()));
276
+ while (kept.length > 0 && kept[kept.length - 1]?.trim() === "") kept.pop();
277
+ writeFileSync(path, [
278
+ ...kept,
279
+ "",
280
+ ...GITIGNORE_MANAGED_LINES,
281
+ ""
282
+ ].join("\n"));
283
+ }
284
+ async function migrateProjectState(projectKey, options = {}, projectOverride) {
285
+ const project = projectOverride ?? getProjectSync(projectKey);
286
+ if (!project) throw new Error(`Unknown project: ${projectKey}`);
287
+ const { repoPath: repo } = resolveInfraRepo(project);
288
+ const legacyStateSource = project.path;
289
+ const sourceIsHostRepo = legacyStateSource === repo;
290
+ const stateRoot = stateWorktreePath(project, { projectKey });
291
+ console.log(`PAN-2541 state migration plan for ${projectKey}:`);
292
+ console.log(` ${legacyStateSource}/.pan/{${STATE_BRANCH_PATHS.map((p) => p.slice(0, -1)).join(",")}} -> ${stateRoot}/`);
293
+ console.log(` ${legacyStateSource}/.pan/context -> ${legacyStateSource}/.overdeck/context`);
294
+ if (options.dryRun) return;
295
+ options.signal?.throwIfAborted();
296
+ const release = acquireStateMigrationLock(projectKey);
297
+ try {
298
+ const flush = await Effect.runPromise(flushAutoCommits(repo, options.signal));
299
+ if (flush.errored) throw new Error(`State writer did not quiesce before migration: ${flush.reason ?? "unknown error"}`);
300
+ options.signal?.throwIfAborted();
301
+ await assertNoLegacySymlinks(join(legacyStateSource, ".pan"), options.signal, true);
302
+ if (hasNonStateDirtyState(await git(repo, ["status", "--porcelain"], options.signal))) throw new Error("Primary checkout is dirty outside legacy state paths; migration refused before mutation");
303
+ await git(repo, [
304
+ "fetch",
305
+ "--prune",
306
+ "origin"
307
+ ], options.signal);
308
+ const sourceMainSha = await git(repo, ["rev-parse", "main"], options.signal);
309
+ if (sourceMainSha !== await git(repo, ["rev-parse", "origin/main"], options.signal)) throw new Error("main is not exactly at origin/main; migration refused");
310
+ if (await git(repo, ["show", `origin/overdeck-state:migration-complete.json`], options.signal).catch(() => {
311
+ options.signal?.throwIfAborted();
312
+ return "";
313
+ })) {
314
+ console.log("State migration already complete on origin; nothing to do.");
315
+ return;
316
+ }
317
+ let stateSha = await git(repo, ["rev-parse", STATE_BRANCH], options.signal).catch(() => {
318
+ options.signal?.throwIfAborted();
319
+ return "";
320
+ });
321
+ const remoteStateSha = await git(repo, ["rev-parse", `origin/${STATE_BRANCH}`], options.signal).catch(() => {
322
+ options.signal?.throwIfAborted();
323
+ return "";
324
+ });
325
+ if (stateSha && remoteStateSha && stateSha !== remoteStateSha) throw new Error("Local and remote overdeck-state diverged; refusing non-fast-forward migration");
326
+ if (!stateSha) {
327
+ stateSha = remoteStateSha || await createOrphanStateCommit(repo, sourceMainSha, options.signal);
328
+ await git(repo, [
329
+ "update-ref",
330
+ `refs/heads/${STATE_BRANCH}`,
331
+ stateSha
332
+ ], options.signal);
333
+ }
334
+ if (!remoteStateSha) await git(repo, [
335
+ "push",
336
+ "origin",
337
+ STATE_BRANCH
338
+ ], options.signal);
339
+ if (!existsSync(stateRoot)) {
340
+ options.signal?.throwIfAborted();
341
+ mkdirSync(dirname(stateRoot), { recursive: true });
342
+ await git(repo, [
343
+ "worktree",
344
+ "add",
345
+ stateRoot,
346
+ STATE_BRANCH
347
+ ], options.signal);
348
+ }
349
+ const manifest = sourceIsHostRepo ? dedupeManifest([...await trackedManifest(repo, sourceMainSha, stateRoot, options.signal), ...await copyLegacyState(legacyStateSource, stateRoot, options.signal)]) : await copyLegacyState(legacyStateSource, stateRoot, options.signal);
350
+ if (manifest.length > 0) {
351
+ await git(stateRoot, ["add", "--all"], options.signal);
352
+ if (await git(stateRoot, [
353
+ "diff",
354
+ "--cached",
355
+ "--name-only"
356
+ ], options.signal)) await git(stateRoot, [
357
+ "commit",
358
+ "-m",
359
+ "chore(state): seed legacy project state"
360
+ ], options.signal);
361
+ await git(stateRoot, [
362
+ "push",
363
+ "origin",
364
+ STATE_BRANCH
365
+ ], options.signal);
366
+ }
367
+ const untracked = sourceIsHostRepo ? (await git(repo, [
368
+ "ls-files",
369
+ "--others",
370
+ "--",
371
+ ".pan"
372
+ ], options.signal)).split("\n").filter((path) => path.split("/").length === 2 && existsSync(join(repo, path)) && lstatSync(join(repo, path)).isFile()) : existsSync(join(legacyStateSource, ".pan")) ? readdirSync(join(legacyStateSource, ".pan"), { withFileTypes: true }).filter((entry) => entry.isFile()).map((entry) => `.pan/${entry.name}`) : [];
373
+ manifest.push(...await preserveUntrackedNotes(legacyStateSource, stateRoot, untracked, options.signal));
374
+ if (untracked.length > 0) {
375
+ await git(stateRoot, ["add", "notes"], options.signal);
376
+ if (await git(stateRoot, [
377
+ "diff",
378
+ "--cached",
379
+ "--name-only"
380
+ ], options.signal)) await git(stateRoot, [
381
+ "commit",
382
+ "-m",
383
+ "chore(state): preserve untracked operator notes"
384
+ ], options.signal);
385
+ await git(stateRoot, [
386
+ "push",
387
+ "origin",
388
+ STATE_BRANCH
389
+ ], options.signal);
390
+ }
391
+ if (await git(repo, ["rev-parse", "main"], options.signal) !== sourceMainSha) throw new Error("main advanced during migration; refusing cleanup");
392
+ options.signal?.throwIfAborted();
393
+ if (sourceIsHostRepo) await git(repo, [
394
+ "rm",
395
+ "-r",
396
+ "--cached",
397
+ "--ignore-unmatch",
398
+ ".pan/records",
399
+ ".pan/continues",
400
+ ".pan/specs",
401
+ ".pan/drafts",
402
+ ".pan/review",
403
+ ".pan/test",
404
+ ".pan/feedback",
405
+ ".pan/backlog",
406
+ ".pan/notes"
407
+ ]);
408
+ const oldContext = join(legacyStateSource, ".pan", "context");
409
+ const newContext = join(legacyStateSource, ".overdeck", "context");
410
+ let movedContext = false;
411
+ if (existsSync(oldContext) && !existsSync(newContext)) {
412
+ mkdirSync(dirname(newContext), { recursive: true });
413
+ renameSync(oldContext, newContext);
414
+ movedContext = true;
415
+ }
416
+ rewriteGitignore(legacyStateSource);
417
+ if (sourceIsHostRepo) {
418
+ if (await git(repo, [
419
+ "ls-files",
420
+ "--",
421
+ ".pan/context"
422
+ ])) await git(repo, [
423
+ "add",
424
+ "-u",
425
+ "--",
426
+ ".pan/context"
427
+ ]);
428
+ const addPaths = [".gitignore"];
429
+ if (movedContext || existsSync(newContext)) addPaths.push(".overdeck/context");
430
+ await git(repo, [
431
+ "add",
432
+ "--",
433
+ ...addPaths
434
+ ]);
435
+ if (await git(repo, [
436
+ "diff",
437
+ "--cached",
438
+ "--name-only"
439
+ ])) await git(repo, [
440
+ "commit",
441
+ "-m",
442
+ "chore(state): move permanent state to overdeck-state"
443
+ ]);
444
+ }
445
+ await verifyStateMigrationManifest(manifest);
446
+ for (const entry of manifest) rmSync(entry.source, { force: true });
447
+ if (!sourceIsHostRepo) rmSync(join(legacyStateSource, ".pan"), {
448
+ recursive: true,
449
+ force: true
450
+ });
451
+ stateSha = await git(stateRoot, ["rev-parse", "HEAD"]);
452
+ writeFileSync(join(stateRoot, MIGRATION_COMPLETE_MARKER), `${JSON.stringify({
453
+ sourceMainSha,
454
+ stateBranchSha: stateSha,
455
+ completedAt: (/* @__PURE__ */ new Date()).toISOString(),
456
+ version: 1
457
+ }, null, 2)}\n`);
458
+ await git(stateRoot, ["add", MIGRATION_COMPLETE_MARKER]);
459
+ await git(stateRoot, [
460
+ "commit",
461
+ "-m",
462
+ "chore(state): complete state migration"
463
+ ]);
464
+ await git(repo, [
465
+ "push",
466
+ "--atomic",
467
+ "--dry-run",
468
+ "origin",
469
+ "main",
470
+ STATE_BRANCH
471
+ ]);
472
+ await git(repo, [
473
+ "push",
474
+ "--atomic",
475
+ "origin",
476
+ "main",
477
+ STATE_BRANCH
478
+ ]);
479
+ clearStateMigrationCache();
480
+ } finally {
481
+ release();
482
+ }
483
+ }
484
+ //#endregion
485
+ export { migrateProjectState };
486
+
487
+ //# sourceMappingURL=state-migrate-Dkzaxvny.js.map
@@ -1,19 +1,20 @@
1
- import { $n as resolveProjectFromIssueSync, Or as init_errors, Tr as TmuxError, cr as extractPrefixSync, ei as getOverdeckHome, lr as init_issue_id, qr as encodeClaudeProjectDir, ti as init_paths, vr as FsError, zn as init_projects } from "./config-yaml-Ciyp2mYe.js";
2
- import { A as listPaneValuesSync, H as sessionExistsSync, O as killSessionSync, R as sendKeys, a as capturePaneSync, i as capturePane, u as detectTerminalApiErrorSync, w as init_tmux } from "./tmux-y1blSxks.js";
3
- import { n as CLAUDE_CODE_BEHAVIOR } from "./src-Dpq1yFIl.js";
4
- import { c as init_review_status, s as getReviewStatusSync } from "./review-status-CCgPVK1h.js";
5
- import { Dn as getAgentDir, G as init_activity, Gn as saveAgentStateSync, J as init_ohmypi, L as messageAgent, M as resumeAgent, U as getLatestSessionIdSync, X as spawnAgent, Zt as init_pi_fifo, a as listRunningAgentsSync, an as determineModel, fr as saveAgentRuntimeState, jn as getAgentStateSync, lr as getAgentRuntimeState, q as createOhmypiRuntimeSync, s as init_agents, ur as getAgentRuntimeStateSync, zn as markAgentTroubled } from "./queries-B5hl7lMQ.js";
6
- import { c as logDeaconEventSync, o as init_persistent_logger } from "./session-history-DUehL3KN.js";
7
- import { t as init_behavior } from "./behavior-Dg-D8eBG.js";
8
- import { a as init_tracker_config, t as getGitHubConfig } from "./tracker-config-DSFZBdXP.js";
9
- import { m as readWorkspacePlanSync, o as init_io } from "./io-BiM-7Zsx.js";
10
- import { n as init_launcher_generator } from "./launcher-generator-5DJRiovn.js";
11
- import { i as createCodexRuntimeSync, l as init_codex } from "./codex-D_UBEOwL.js";
12
- import { f as isFlywheelGloballyPaused, i as getFlywheelActiveRunId, s as init_control_settings } from "./control-settings-D_79A6gp.js";
13
- import { l as init_dag, o as getDispatchableItems } from "./dag-DIji6O2b.js";
14
- import { a as loadCloisterConfigSync, r as init_config, t as DEFAULT_CLOISTER_CONFIG } from "./config-G1TOMJZA.js";
15
- import { a as init_jsonl_parser, i as getSessionFilesSync, r as getProjectDirsSync, s as parseClaudeSessionSync } from "./jsonl-parser-DJV2eZUP.js";
16
- import { t as recordRecoveryFailure } from "./recovery-trip-l1Hsi37x.js";
1
+ import { Br as getOverdeckHome, Jn as extractPrefixSync, Nr as encodeClaudeProjectDir, Tn as init_projects, Vr as init_paths, Yn as init_issue_id, dr as TmuxError, ir as FsError, mr as init_errors, zn as resolveProjectFromIssueSync } from "./config-yaml-DvyMuOle.js";
2
+ import { O as killSessionSync, U as sessionExistsSync, a as capturePaneSync, i as capturePane, j as listPaneValuesSync, u as detectTerminalApiErrorSync, w as init_tmux, z as sendKeys } from "./tmux-ftABRAmc.js";
3
+ import { r as CLAUDE_CODE_BEHAVIOR } from "./src-U7_kTPEE.js";
4
+ import { c as getReviewStatusSync, l as init_review_status } from "./review-status-A7quS5KJ.js";
5
+ import { Bn as getAgentDir, Cr as getAgentRuntimeStateSync, G as resumeAgent, Qn as markAgentTroubled, Sr as getAgentRuntimeState, Tr as saveAgentRuntimeState, Wn as getAgentStateSync, X as messageAgent, a as listRunningAgentsSync, b as init_agents, ir as saveAgentStateSync, it as init_activity, lt as spawnAgent, nt as getLatestSessionIdSync, ot as createOhmypiRuntimeSync, st as init_ohmypi, un as init_pi_fifo, vn as determineModel } from "./queries-6d7Cdtm7.js";
6
+ import { c as logDeaconEventSync, o as init_persistent_logger } from "./session-history-CVZDpS3c.js";
7
+ import { t as init_behavior } from "./behavior-B_-4EKF3.js";
8
+ import { a as init_tracker_config, t as getGitHubConfig } from "./tracker-config-B4itFzDo.js";
9
+ import { m as readWorkspacePlanSync, o as init_io } from "./io-B3_AHDfr.js";
10
+ import { n as init_launcher_generator } from "./launcher-generator-CHVm7bGT.js";
11
+ import { i as createCodexRuntimeSync, l as init_codex } from "./codex-TmSi-yTv.js";
12
+ import { n as init_harness_binary } from "./harness-binary-CVio2m-u.js";
13
+ import { f as isFlywheelGloballyPaused, i as getFlywheelActiveRunId, s as init_control_settings } from "./control-settings-aP1ANIlI.js";
14
+ import { l as init_dag, o as getDispatchableItems } from "./dag-CdOjJVDT.js";
15
+ import { a as loadCloisterConfigSync, r as init_config, t as DEFAULT_CLOISTER_CONFIG } from "./config-DjLOdbgT.js";
16
+ import { a as init_jsonl_parser, i as getSessionFilesSync, r as getProjectDirsSync, s as parseClaudeSessionSync } from "./jsonl-parser-Dhflo1SH.js";
17
+ import { t as recordRecoveryFailure } from "./recovery-trip-BJtIQuag.js";
17
18
  import "node:path";
18
19
  import { Effect } from "effect";
19
20
  import { existsSync, mkdirSync, readFileSync, statSync, unlinkSync, writeFileSync } from "fs";
@@ -35,6 +36,7 @@ init_behavior();
35
36
  init_persistent_logger();
36
37
  init_review_status();
37
38
  init_io();
39
+ init_harness_binary();
38
40
  init_codex();
39
41
  init_launcher_generator();
40
42
  init_dag();
@@ -359,13 +361,17 @@ async function getAgentWorkspacePromise(agentId) {
359
361
  const trimmed = paneCwd.trim();
360
362
  if (trimmed && existsSync(trimmed)) return trimmed;
361
363
  } catch {}
362
- const issueId = agentId.replace(/^(agent-|planning-)/, "").toUpperCase();
364
+ const isStrikeAgent = agentId.startsWith("strike-");
365
+ const issueId = agentId.replace(/^(agent-|planning-|strike-)/, "").toUpperCase();
363
366
  const prefix = extractPrefixSync(issueId);
364
367
  if (!prefix) return null;
365
368
  try {
366
369
  const projectPath = getProjectPathByPrefix(prefix);
367
- const workspacePath = join$1(projectPath, "workspaces", `feature-${issueId.toLowerCase()}`);
368
- if (existsSync(workspacePath)) return workspacePath;
370
+ const workspaceNames = isStrikeAgent ? [`feature-${issueId.toLowerCase()}-strike`, `feature-${issueId.toLowerCase()}`] : [`feature-${issueId.toLowerCase()}`];
371
+ for (const workspaceName of workspaceNames) {
372
+ const workspacePath = join$1(projectPath, "workspaces", workspaceName);
373
+ if (existsSync(workspacePath)) return workspacePath;
374
+ }
369
375
  return projectPath;
370
376
  } catch {
371
377
  return null;
@@ -1415,7 +1421,7 @@ async function remediateFlywheelOrchestrator(agentId, now, actions, reason) {
1415
1421
  now
1416
1422
  });
1417
1423
  if (decision.kind === "noop") return;
1418
- const { resumeFlywheel, pauseFlywheel } = await import("./flywheel-Q-38YhZG.js");
1424
+ const { resumeFlywheel, pauseFlywheel } = await import("./flywheel-DMCUzDWg.js");
1419
1425
  const prev = readStuckRemediationState(agentId);
1420
1426
  const nowIso = new Date(now).toISOString();
1421
1427
  if (decision.kind === "escalate") {
@@ -1521,4 +1527,4 @@ async function checkStuckAgentRemediation(opts = {}) {
1521
1527
  //#endregion
1522
1528
  export { parseCodexApprovalPrompt as _, isAgentIdleForNudge as a, countPendingAskUserQuestionsForAgent as c, getAgentPendingQuestions as d, getAgentWorkspace as f, normalizeAwaitingInputPrompt as g, detectAwaitingInputFromPaneSync as h, shouldSkipReviewStatus as i, getAgentJsonlMtime as l, detectAwaitingInputForAgent as m, decideFlywheelRemediation as n, getRuntimeForAgent as o, scanPendingInputsPromise as p, shouldSkipIdlePokeForAgent as r, computeAgentEnrichment as s, checkStuckAgentRemediation as t, getAgentJsonlPath as u };
1523
1529
 
1524
- //# sourceMappingURL=stuck-remediation-BWkK_O7A.js.map
1530
+ //# sourceMappingURL=stuck-remediation-CzEov_fq.js.map
@@ -1,2 +1,2 @@
1
- import { r as shouldSkipIdlePokeForAgent } from "./stuck-remediation-BWkK_O7A.js";
1
+ import { r as shouldSkipIdlePokeForAgent } from "./stuck-remediation-CzEov_fq.js";
2
2
  export { shouldSkipIdlePokeForAgent };
@@ -1,5 +1,5 @@
1
- import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-DN2wSxle.js";
2
- import { a as init_event_store, i as initEventStore, r as getSharedDb } from "./event-store-BVnON3vf.js";
1
+ import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-CzaSOgul.js";
2
+ import { a as init_event_store, i as initEventStore, r as getSharedDb } from "./event-store-tdiY5eDZ.js";
3
3
  //#region ../../lib/overdeck/flywheel-substrate-bugs.ts
4
4
  init_infra();
5
5
  function parseAffectedCriteriaColumn(value) {
@@ -871,4 +871,4 @@ async function listSubstrateBugWeights(window = "30d", deps = {}) {
871
871
  //#endregion
872
872
  export { getByIssueId as a, parseFlywheelStatsWindow as i, derivePipelineRunStatsInputs as n, markFixed as o, computeFlywheelStats as r, upsert as s, listSubstrateBugWeights as t };
873
873
 
874
- //# sourceMappingURL=substrate-bug-weights-service-DXd0ID83.js.map
874
+ //# sourceMappingURL=substrate-bug-weights-service-BH66lhm7.js.map
@@ -1,4 +1,4 @@
1
- import "./smart-compaction--Oj65Uov.js";
2
- import { a as generateFallbackSummary, l as init_summary_fork } from "./summary-fork-f3DpgjXh.js";
1
+ import "./smart-compaction-r4pHQBIr.js";
2
+ import { a as generateFallbackSummary, l as init_summary_fork } from "./summary-fork-DHhJIsAL.js";
3
3
  init_summary_fork();
4
4
  export { generateFallbackSummary };
@@ -1,9 +1,9 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Or as init_errors, Qr as getHandoffsDir, ai as sessionFilePath, f as loadConfigSync, ri as packageRoot, t as init_config_yaml, ti as init_paths, vr as FsError } from "./config-yaml-Ciyp2mYe.js";
3
- import { gt as deliverAgentMessage, s as init_agents } from "./queries-B5hl7lMQ.js";
4
- import { k as init_conversations } from "./conversations-BUgGvqVL.js";
5
- import { a as init_stack_health, i as getWorkspaceStackHealth } from "./stack-health-DV_f-lK0.js";
6
- import { a as runModelSummary, i as parseEntries, o as serializeConversation, r as init_smart_compaction, s as summarizeSerializedText, t as generateSmartSummary } from "./smart-compaction--Oj65Uov.js";
2
+ import { Gr as sessionFilePath, Rr as getHandoffsDir, Ur as packageRoot, Vr as init_paths, f as loadConfigSync, ir as FsError, mr as init_errors, t as init_config_yaml } from "./config-yaml-DvyMuOle.js";
3
+ import { b as init_agents, kt as deliverAgentMessage } from "./queries-6d7Cdtm7.js";
4
+ import { k as init_conversations } from "./conversations-DbOs1e9Q.js";
5
+ import { a as init_stack_health, i as getWorkspaceStackHealth } from "./stack-health-puygdaMd.js";
6
+ import { a as runModelSummary, i as parseEntries, o as serializeConversation, r as init_smart_compaction, s as summarizeSerializedText, t as generateSmartSummary } from "./smart-compaction-r4pHQBIr.js";
7
7
  import { join } from "node:path";
8
8
  import { Effect } from "effect";
9
9
  import { join as join$1 } from "path";
@@ -442,11 +442,11 @@ async function generateSummaryForFork(jsonlPath, summaryModel, includeThinkingIn
442
442
  }
443
443
  }
444
444
  async function reserveSummaryForkSessionPromise(cwd) {
445
- const { reserveForkSession } = await import("./session-fork-uNo4rMRA.js");
445
+ const { reserveForkSession } = await import("./session-fork-BQ8_6H32.js");
446
446
  return reserveForkSession(cwd);
447
447
  }
448
448
  async function copySessionFromCompactBoundaryPromise(sourcePath, destPath) {
449
- const { copySessionForFork } = await import("./session-fork-uNo4rMRA.js");
449
+ const { copySessionForFork } = await import("./session-fork-BQ8_6H32.js");
450
450
  return copySessionForFork(sourcePath, destPath, { fullHistory: false });
451
451
  }
452
452
  /** Effect variant of generateFallbackSummary. */
@@ -521,4 +521,4 @@ var init_summary_fork = __esmMin((() => {
521
521
  //#endregion
522
522
  export { init_transcript_adapter as _, generateFallbackSummary as a, handoffPreconditionFallbackReason as c, prependFallbackFocus as d, requestHandoffFromAgent as f, getTranscriptAdapter as g, validateHandoffDoc as h, copySessionFromCompactBoundary as i, init_summary_fork as l, sanitizeHandoffDoc as m, HandoffValidationError as n, generateSummaryForFork as o, reserveSummaryForkSession as p, authorHandoffExternal as r, handoffFailureReason as s, HandoffStallError as t, logHandoffFallback as u };
523
523
 
524
- //# sourceMappingURL=summary-fork-f3DpgjXh.js.map
524
+ //# sourceMappingURL=summary-fork-DHhJIsAL.js.map
@@ -1,6 +1,6 @@
1
- import { Fr as CONFIG_FILE, Kr as TRAEFIK_DIR, Lr as LOGS_DIR, Or as init_errors, Rr as OVERDECK_HOME, ti as init_paths } from "./config-yaml-Ciyp2mYe.js";
1
+ import { Cr as LOGS_DIR, Mr as TRAEFIK_DIR, Vr as init_paths, mr as init_errors, wr as OVERDECK_HOME, xr as CONFIG_FILE } from "./config-yaml-DvyMuOle.js";
2
2
  import { t as require_toml } from "./toml-CeLDATih.js";
3
- import { t as init_dev_supervisor } from "./dev-supervisor-Do2Stz49.js";
3
+ import { t as init_dev_supervisor } from "./dev-supervisor-BpMoHlkR.js";
4
4
  import { join } from "node:path";
5
5
  import "effect";
6
6
  import { existsSync, readFileSync } from "fs";
@@ -72,4 +72,4 @@ function getSupervisorUrlSync() {
72
72
  //#endregion
73
73
  export { getSupervisorUrlSync as n, getSupervisorPortSync as t };
74
74
 
75
- //# sourceMappingURL=supervisor-Ch8CDuoF.js.map
75
+ //# sourceMappingURL=supervisor-BO-Zk_h-.js.map
@@ -0,0 +1,2 @@
1
+ import { n as getSupervisorUrlSync } from "./supervisor-BO-Zk_h-.js";
2
+ export { getSupervisorUrlSync };