@overdeck/desktop 0.45.23 → 0.45.24

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 (388) hide show
  1. package/drizzle/overdeck/0000_overdeck_init.sql +2 -0
  2. package/package.json +1 -1
  3. package/server/{acceptance-criteria-DOA0KgXx.js → acceptance-criteria-DDCnXF58.js} +2 -2
  4. package/server/{advancing-selfheal-BBu6DSNm.js → advancing-selfheal-BVwW4qRn.js} +6 -6
  5. package/server/{agent-gc-BV1q_2EV.js → agent-gc-CHcnvonI.js} +4 -4
  6. package/server/agent-state-Bc3tzUC8.js +3 -0
  7. package/server/{agent-state-service-HoK8U4jW.js → agent-state-service-BsgWxZuB.js} +5 -5
  8. package/server/{agent-state-service-CnzFKSAQ.js → agent-state-service-D5UGKIJL.js} +1 -1
  9. package/server/{agents-B4Bjbkfv.js → agents-EbI0zCJl.js} +4 -4
  10. package/server/agents-wi9NWzs2.js +3 -0
  11. package/server/{archive-planning-zkJb3BeM.js → archive-planning-BZDgzoEj.js} +1 -1
  12. package/server/{archive-planning-DYrYojxl.js → archive-planning-Du25Jtst.js} +4 -4
  13. package/server/{artifact-index-jobs-C-xy7Z5v.js → artifact-index-jobs-CbEDfCDu.js} +2 -2
  14. package/server/assemble-J2ZZ2C15.js +339 -0
  15. package/server/{backlog-auto-trigger-GtG71X8H.js → backlog-auto-trigger-2R2jog7n.js} +3 -3
  16. package/server/{behavior-B_-4EKF3.js → behavior-B3exJ42O.js} +2 -2
  17. package/server/{briefing-freshness-DWdW7vUm.js → briefing-freshness-D1wzUIWv.js} +2 -2
  18. package/server/{build-info-DgTqZkL5.js → build-info-CZk_TITh.js} +1 -1
  19. package/server/{build-info-BT096lEl.js → build-info-Ie_D0_BT.js} +3 -3
  20. package/server/{checkpoint-manager-DDqcGyu8.js → checkpoint-manager-BI1Wxoku.js} +2 -2
  21. package/server/{checkpoint-manager-B7Bt29J0.js → checkpoint-manager-DwbQoqrC.js} +1 -1
  22. package/server/checkpoint-worker.js +1 -1
  23. package/server/{checkpoints-CpgCjAlN.js → checkpoints-BJIs5QIA.js} +1 -1
  24. package/server/{checkpoints-C-AXLfYT.js → checkpoints-CQB1h765.js} +2 -2
  25. package/server/{claude-hooks-provision-C8wdRnN1.js → claude-hooks-provision-8Ngo8TpT.js} +1 -1
  26. package/server/{claude-hooks-provision-but-_qGY.js → claude-hooks-provision-D8GXF3_s.js} +2 -2
  27. package/server/{claude-permissions-H_5wHQZQ.js → claude-permissions-DNWEVV6z.js} +2 -2
  28. package/server/{claude-settings-overlay-CbSz0Dvb.js → claude-settings-overlay-CEdaqpWI.js} +2 -2
  29. package/server/{claude-settings-overlay-BTENVmYf.js → claude-settings-overlay-DWy-Bb4Y.js} +1 -1
  30. package/server/cli-B86rejVV.js +3 -0
  31. package/server/{cli-vBeXbPrq.js → cli-RoOx5DUf.js} +9 -9
  32. package/server/{cliproxy-Bgb2XCqi.js → cliproxy-C8a1vtTU.js} +2 -2
  33. package/server/{cliproxy-DW0V86F8.js → cliproxy-fHfIeiGd.js} +1 -1
  34. package/server/{close-issue-Dn_4c4G8.js → close-issue-DoOifFIK.js} +5 -5
  35. package/server/{closed-issue-reaper-hANY_ehE.js → closed-issue-reaper-Bk3SU4RC.js} +9 -9
  36. package/server/{closed-issue-reaper-CWpY2uBw.js → closed-issue-reaper-CktPXo8m.js} +1 -1
  37. package/server/{codex-TmSi-yTv.js → codex-BZXGhUVB.js} +7 -7
  38. package/server/{codex-Dg7Is5yb.js → codex-GcHuUF-k.js} +1 -1
  39. package/server/{codex-parser-C4gSH-IR.js → codex-parser-CFZ1_1Jl.js} +2 -2
  40. package/server/{config-CCvjQf27.js → config-BZ0sHTju.js} +2 -2
  41. package/server/{config-DjLOdbgT.js → config-CKxYiCmX.js} +2 -2
  42. package/server/{config-DUIhMN_T.js → config-DzV30TOm.js} +1 -1
  43. package/server/{config-yaml-DvyMuOle.js → config-yaml-DySPNmKN.js} +23 -9
  44. package/server/{conflict-gate-CmrYpa47.js → conflict-gate-BaCVrH-N.js} +3 -3
  45. package/server/{conflict-gate-BSJkNTdp.js → conflict-gate-BhAY7TUd.js} +1 -1
  46. package/server/context-layers-BrPmE__h.js +4 -0
  47. package/server/context-layers-igZ4FI4_.js +37 -0
  48. package/server/{control-settings-aP1ANIlI.js → control-settings-BQp7_4uD.js} +4 -4
  49. package/server/{conversation-compaction-CNbTLB86.js → conversation-compaction-CgrR8YYp.js} +8 -8
  50. package/server/{conversation-compaction-DiG5zWQq.js → conversation-compaction-eQB5CkOe.js} +1 -1
  51. package/server/{conversation-service-Up7FEzIC.js → conversation-service-BLd3MYsG.js} +1 -1
  52. package/server/{conversation-service-Du-MTNpJ.js → conversation-service-DPJ71F33.js} +329 -19
  53. package/server/{conversations-DbOs1e9Q.js → conversations-6AfUfbwc.js} +5 -5
  54. package/server/{conversations-6mPANqvL.js → conversations-CAsJF9kh.js} +1 -1
  55. package/server/{cost-Ca0YTWDw.js → cost-B2ddP6wq.js} +2 -2
  56. package/server/{cost-CW4WSe72.js → cost-R-m6Yi-W.js} +3 -3
  57. package/server/{cost-sync-C0VdGme1.js → cost-sync-BsN6ER0n.js} +3 -3
  58. package/server/{dag-CdOjJVDT.js → dag-B1ucnjDU.js} +2 -2
  59. package/server/{dangerous-git-ops-CT-IypG3.js → dangerous-git-ops-BXqeWVSf.js} +1 -1
  60. package/server/dashboard-db-worker.js +7 -7
  61. package/server/{deacon-pRnyD5w9.js → deacon-CU_cAYSR.js} +254 -144
  62. package/server/{deacon-DYSEJb48.js → deacon-kiQrb4ZT.js} +3 -3
  63. package/server/{deacon-nudge-log-Bjg8U4Y9.js → deacon-nudge-log-6wVqAaqz.js} +3 -3
  64. package/server/{deacon-swarm-DftYRDo8.js → deacon-swarm-BXZZ1Z2-.js} +13 -13
  65. package/server/deacon-swarm-C-GwfjJy.js +2 -0
  66. package/server/deacon.js +8 -8
  67. package/server/{deploy-patrol-Bjsho_ha.js → deploy-patrol-AiFoP8dw.js} +6 -6
  68. package/server/{deploy-window-DeP_OIRk.js → deploy-window-C3F-tihF.js} +6 -6
  69. package/server/{deploy-window-CM6W1-c6.js → deploy-window-DkZraDyj.js} +1 -1
  70. package/server/{dev-supervisor-BpMoHlkR.js → dev-supervisor-bcOWqdQE.js} +2 -2
  71. package/server/{devcontainer-renderer-CtUgrVKW.js → devcontainer-renderer-_d6XhyND.js} +3 -3
  72. package/server/dist-Bzy0y69j.js +3 -0
  73. package/server/{dist-DyRx4cI7.js → dist-Cb_0uvpS.js} +1 -1
  74. package/server/{docker-BK7HIcBj.js → docker-DcMTFTUC.js} +2 -2
  75. package/server/{dod-BrSfUHm0.js → dod-C6n9RV3G.js} +1 -1
  76. package/server/{ensure-devcontainer-DRqaAkBR.js → ensure-devcontainer-BZgOhRo7.js} +1 -1
  77. package/server/{ensure-devcontainer-DseivYEy.js → ensure-devcontainer-DNi-ono3.js} +4 -4
  78. package/server/{esm-shims-CbI3BVkl.js → esm-shims-OSHAYaS1.js} +1 -1
  79. package/server/{event-store-tdiY5eDZ.js → event-store-CQL6NeqB.js} +3 -3
  80. package/server/{event-store-Cr5PQwFC.js → event-store-EV2cMiXj.js} +1 -1
  81. package/server/{events-CvvGK6LT.js → events-BTdrdEq8.js} +1 -1
  82. package/server/{events-CC1dgUpx.js → events-DTfAe4My.js} +3 -3
  83. package/server/{factory-CynerjXO.js → factory-CFibJuaw.js} +4 -4
  84. package/server/{feature-registry-population-B0pmAz0a.js → feature-registry-population-DKZFMbFt.js} +4 -4
  85. package/server/{feature-registry-storage-_wUBRD3J.js → feature-registry-storage-BdPuLcBX.js} +2 -2
  86. package/server/{features-Dhxz-wLc.js → features-ez2271oH.js} +2 -2
  87. package/server/{feedback-target-CPS15Vte.js → feedback-target-7mqqwrX6.js} +7 -7
  88. package/server/{feedback-target-iygZwmMc.js → feedback-target-CoFDHiM8.js} +1 -1
  89. package/server/{feedback-writer-C9b6ccN1.js → feedback-writer-CY5L1lB7.js} +5 -5
  90. package/server/{feedback-writer-qmiMbqTZ.js → feedback-writer-D3a22RCd.js} +1 -1
  91. package/server/flywheel-DHrgCphM.js +1084 -0
  92. package/server/flywheel-DzGtWnJ1.js +477 -0
  93. package/server/flywheel-SVF02Jpq.js +2 -0
  94. package/server/{flywheel-merge-order-DxbQKE1d.js → flywheel-merge-order-UU0tiUld.js} +9 -8
  95. package/server/{flywheel-merge-order-C-6zRLvM.js → flywheel-merge-order-UUcsCDb6.js} +1 -1
  96. package/server/{forge-Ch9gCFod.js → forge-CNFnyqps.js} +2 -2
  97. package/server/forge-DXnS_YFH.js +2 -0
  98. package/server/{from-CJ_aH5jD.js → from-kNxT0bZC.js} +1 -1
  99. package/server/{fts-db-CKgg0VKg.js → fts-db-CE46vDkZ.js} +2 -2
  100. package/server/{fts-operations-BrL_VTRr.js → fts-operations-CqY6zl-i.js} +2 -2
  101. package/server/{git-utils-BVa07a4a.js → git-utils-CRw2zLPC.js} +68 -3
  102. package/server/git-utils-D0_yhCgF.js +3 -0
  103. package/server/{github-app-CMBdIFBQ.js → github-app-C3QrAUd0.js} +18 -7
  104. package/server/{github-app-CPfoFAdV.js → github-app-ClZ2lk8D.js} +1 -1
  105. package/server/{github-client--XVlDpwM.js → github-client-BnIsSrEN.js} +2 -2
  106. package/server/{github-client-B4QsdE-X.js → github-client-DfQYVUaw.js} +1 -1
  107. package/server/{github-pr-lookup-BRbDW-qk.js → github-pr-lookup-D16NGsSO.js} +2 -2
  108. package/server/{harness-binary-CVio2m-u.js → harness-binary-DPUi-Pv8.js} +32 -6
  109. package/server/{harness-resolve-qHJBhy3Z.js → harness-resolve-3lNZkyT4.js} +18 -9
  110. package/server/{health-events-C9B8y1Hm.js → health-events-BBcTYQKU.js} +2 -2
  111. package/server/{health-events-CpfvuVmm.js → health-events-BDOHby5Q.js} +1 -1
  112. package/server/{hooks-DUXw8A0-.js → hooks-CKZgXlJb.js} +2 -2
  113. package/server/{hooks-ltecuFqZ.js → hooks-DPVX1rwQ.js} +1 -1
  114. package/server/{hume-BEq0bUDg.js → hume-Cz8igP9E.js} +2 -2
  115. package/server/hume-ccTf4wTX.js +3 -0
  116. package/server/{idle-stack-reaper-D7w9t3fE.js → idle-stack-reaper-CuLF0j2H.js} +1 -1
  117. package/server/{idle-stack-reaper-w1ISSlhs.js → idle-stack-reaper-DDIRwxUY.js} +2 -2
  118. package/server/{in-flight-guard-aQ1IxeI3.js → in-flight-guard-CAAkqPLu.js} +2 -2
  119. package/server/{infra-CzaSOgul.js → infra-BEqFxlJc.js} +14 -4
  120. package/server/{injection-DZ0PfYa4.js → injection-C8aiVJrF.js} +191 -183
  121. package/server/{injection-oNZeoDhL.js → injection-CPUIqNhI.js} +1 -1
  122. package/server/{inspect-agent-DJKLWcVT.js → inspect-agent-BLuJ1AkT.js} +135 -79
  123. package/server/inspect-agent-Brtz0URj.js +2 -0
  124. package/server/{internal-token-DXdfprGr.js → internal-token-BrcU6qfe.js} +1 -1
  125. package/server/{internal-token-Bb4XeV2x.js → internal-token-s0-oKybJ.js} +2 -2
  126. package/server/{io-B3_AHDfr.js → io-C9kF1wtJ.js} +3 -3
  127. package/server/{issue-closed-zhdvQicO.js → issue-closed-CDJk4pIp.js} +7 -7
  128. package/server/{issue-lifecycle-Dy4vd0Oa.js → issue-lifecycle-B8sZHVHh.js} +1 -1
  129. package/server/{issue-lifecycle-CreaCkjW.js → issue-lifecycle-ojZAzDBP.js} +21 -21
  130. package/server/{issue-service-singleton-DabvBWUp.js → issue-service-singleton-BvJ09SaR.js} +1 -1
  131. package/server/{issue-service-singleton-B5ushCvE.js → issue-service-singleton-Yx5DdmVJ.js} +8 -8
  132. package/server/{issues-B6ToV6x1.js → issues-BMmP_77e.js} +2 -2
  133. package/server/{jsonl-parser-Dhflo1SH.js → jsonl-parser-BXSlHwEh.js} +3 -3
  134. package/server/{label-cleanup-BKPJm4Hv.js → label-cleanup-B0UJwnv5.js} +3 -3
  135. package/server/{label-reconciler-DdWbHEBu.js → label-reconciler-B4iOAjlC.js} +4 -4
  136. package/server/{launcher-generator-CHVm7bGT.js → launcher-generator-BBWG_SiS.js} +101 -7
  137. package/server/{lifecycle-io-D8iNBcux.js → lifecycle-io-BREGpnLk.js} +5 -5
  138. package/server/{lifecycle-io-Bsnr2K4F.js → lifecycle-io-DPo7x11I.js} +1 -1
  139. package/server/{lifecycle-sycO16hj.js → lifecycle-xmBfK2GJ.js} +6 -6
  140. package/server/{lifecycle-DfeyBDwA.js → lifecycle-yPd___5E.js} +2 -2
  141. package/server/{linear-client-D4zqMnX7.js → linear-client-BsuUvkdA.js} +2 -2
  142. package/server/{linear-client-DqhDQO9k.js → linear-client-CTskEeT_.js} +1 -1
  143. package/server/memory-fts-worker.js +1 -1
  144. package/server/{merge-DK23JEdS.js → merge-B1DiziGU.js} +1 -1
  145. package/server/{merge-C_ZEhbqI.js → merge-CefQNAnq.js} +3 -3
  146. package/server/{merge-agent-XrB80vfT.js → merge-agent-4WOWlSYA.js} +28 -28
  147. package/server/{merge-agent-BQM3a8z5.js → merge-agent-CKkgIBPB.js} +1 -1
  148. package/server/{merge-batch-Bwoyr8Je.js → merge-batch-ClFn2T-y.js} +1 -1
  149. package/server/merge-ops-CR44oU9-.js +2 -0
  150. package/server/{merge-rebase-C1KIVr0s.js → merge-rebase-BfaTyXsw.js} +2 -2
  151. package/server/merge-set-DJ8-UErs.js +83 -0
  152. package/server/{merge-set-DnSYdBEp.js → merge-set-bUqbm3yc.js} +1 -1
  153. package/server/{merge-sync-SSv3E-pl.js → merge-sync-BJYeOODr.js} +1 -1
  154. package/server/{merge-sync-DZ9dojJn.js → merge-sync-VPV28g0g.js} +2 -2
  155. package/server/{merge-train-DxDfBTjr.js → merge-train-CHopycP0.js} +3 -3
  156. package/server/{merge-train-deps-CyYQUksx.js → merge-train-deps-D1cOZzy2.js} +4 -4
  157. package/server/{merge-verification-CSizH3HY.js → merge-verification-BkaOqPsw.js} +4 -4
  158. package/server/{multipart-parser-Dt8YPN5S.js → multipart-parser-duPAfSBw.js} +2 -2
  159. package/server/{no-resume-mode-Cx3K0hHi.js → no-resume-mode-Nw29vaFb.js} +1 -1
  160. package/server/node_modules/.package-lock.json +8 -8
  161. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/package.json +3 -3
  162. package/server/node_modules/undici/README.md +5 -0
  163. package/server/node_modules/undici/docs/docs/api/Client.md +4 -0
  164. package/server/node_modules/undici/docs/docs/api/Dispatcher.md +6 -0
  165. package/server/node_modules/undici/docs/docs/api/Interceptors.md +59 -0
  166. package/server/node_modules/undici/docs/docs/api/MockAgent.md +27 -0
  167. package/server/node_modules/undici/docs/docs/api/MockPool.md +28 -1
  168. package/server/node_modules/undici/docs/docs/index.md +5 -0
  169. package/server/node_modules/undici/lib/core/request.js +1 -1
  170. package/server/node_modules/undici/lib/core/util.js +6 -1
  171. package/server/node_modules/undici/lib/dispatcher/agent.js +3 -3
  172. package/server/node_modules/undici/lib/dispatcher/client-h1.js +31 -6
  173. package/server/node_modules/undici/lib/dispatcher/client-h2.js +34 -43
  174. package/server/node_modules/undici/lib/handler/cache-handler.js +93 -5
  175. package/server/node_modules/undici/lib/handler/cache-revalidation-handler.js +10 -0
  176. package/server/node_modules/undici/lib/handler/redirect-handler.js +5 -2
  177. package/server/node_modules/undici/lib/handler/retry-handler.js +6 -4
  178. package/server/node_modules/undici/lib/interceptor/cache.js +21 -4
  179. package/server/node_modules/undici/lib/interceptor/decompress.js +4 -0
  180. package/server/node_modules/undici/lib/mock/mock-interceptor.js +25 -7
  181. package/server/node_modules/undici/lib/mock/mock-utils.js +39 -10
  182. package/server/node_modules/undici/lib/util/cache.js +49 -7
  183. package/server/node_modules/undici/lib/web/fetch/body.js +2 -1
  184. package/server/node_modules/undici/lib/web/fetch/response.js +1 -3
  185. package/server/node_modules/undici/package.json +2 -2
  186. package/server/node_modules/undici/types/client.d.ts +2 -2
  187. package/server/node_modules/undici/types/dispatcher.d.ts +3 -3
  188. package/server/node_modules/undici/types/mock-interceptor.d.ts +5 -1
  189. package/server/{orphan-proposed-reconciler-neK8dHQk.js → orphan-proposed-reconciler-BvKkWMJQ.js} +12 -12
  190. package/server/{orphan-proposed-reconciler-BTkDrl4R.js → orphan-proposed-reconciler-CTSGcK8p.js} +1 -1
  191. package/server/package-lock.json +9 -9
  192. package/server/package.json +1 -1
  193. package/server/{pan-dir-DeVUgwA7.js → pan-dir-B0c3w0Ya.js} +3 -3
  194. package/server/{paths-_zEts6wc.js → paths-D-xWGHdh.js} +2 -2
  195. package/server/{pickup-Dd0Znxxy.js → pickup-DUCLWrJY.js} +17 -16
  196. package/server/{pipeline-membership-0HaEGDlH.js → pipeline-membership-mY3GprlK.js} +7 -7
  197. package/server/{pipeline-notifier-6iCJplFZ.js → pipeline-notifier-BJr8gQX6.js} +1 -1
  198. package/server/{pipeline-notifier-D0ykk59O.js → pipeline-notifier-BXkJzDC4.js} +2 -2
  199. package/server/{project-pipelines-2sK1apsO.js → project-pipelines-C0MWUeCU.js} +2 -2
  200. package/server/project-repos-B6GycDh9.js +94 -0
  201. package/server/project-repos-DXKQsc_m.js +3 -0
  202. package/server/{projects-9SkRpES9.js → projects-vjjcmiN8.js} +1 -1
  203. package/server/{prompts-Dp4Tpk39.js → prompts-DxzFXuLl.js} +2 -2
  204. package/server/{providers-DV7ec8l7.js → providers-qQAwGQDW.js} +7 -7
  205. package/server/{providers-DKkBXhxU.js → providers-u4Ga0jOr.js} +1 -1
  206. package/server/public/assets/{chunk-BO2N2NFS-CltymLRg.js → chunk-BO2N2NFS-BamJdinX.js} +4 -4
  207. package/server/public/assets/{diagram-OG6HWLK6-D2f6pjgA.js → diagram-OG6HWLK6-DfOB8-w4.js} +1 -1
  208. package/server/public/assets/{dist-DEmlBBNQ.js → dist-ByIuzMQW.js} +3 -3
  209. package/server/public/assets/{dist-BWR4qFiV.js → dist-D7zYSEA6.js} +1 -1
  210. package/server/public/assets/{ganttDiagram-6RSMTGT7-DnfiViPK.js → ganttDiagram-6RSMTGT7-EdmRyXL3.js} +1 -1
  211. package/server/public/assets/{highlighted-body-OFNGDK62-B8Wrmj9H.js → highlighted-body-OFNGDK62-MerOfTX8.js} +1 -1
  212. package/server/public/assets/{index-CsSuZQBI.js → index-CWeMerGO.js} +146 -144
  213. package/server/public/assets/{index-CUr1xv8w.css → index-CenuJ3Cw.css} +1 -1
  214. package/server/public/assets/{linear-C9zFQpkX.js → linear-BBbArIcK.js} +1 -1
  215. package/server/public/assets/mermaid-GHXKKRXX-CpPWAFwE.js +1 -0
  216. package/server/public/assets/{pieDiagram-4H26LBE5-lR8H7Yjd.js → pieDiagram-4H26LBE5-BKIddiJN.js} +1 -1
  217. package/server/public/assets/{prod-B1jCQihw.js → prod-B8vYiu52.js} +4 -4
  218. package/server/public/assets/{quadrantDiagram-W4KKPZXB-CVQ2guem.js → quadrantDiagram-W4KKPZXB-D6RtoULk.js} +1 -1
  219. package/server/public/assets/{sankeyDiagram-5OEKKPKP-eD1RB4gm.js → sankeyDiagram-5OEKKPKP-CLrCedZX.js} +1 -1
  220. package/server/public/assets/{xychartDiagram-2RQKCTM6-ChEC6dQn.js → xychartDiagram-2RQKCTM6-hznR8DYl.js} +1 -1
  221. package/server/public/index.html +2 -2
  222. package/server/{pull-requests--Ib2jTgy.js → pull-requests-7N8WKseP.js} +1 -1
  223. package/server/{pull-requests-CXIhdCYD.js → pull-requests-_lHueOHW.js} +3 -3
  224. package/server/{queries-6d7Cdtm7.js → queries-CjNIf-Ub.js} +576 -166
  225. package/server/{rally-B708-nZn.js → rally-CyWT_lNO.js} +3 -3
  226. package/server/{rally-api-nY0ZANw3.js → rally-api-C8e_1JRi.js} +2 -2
  227. package/server/{rally-api-yjQ0TfHd.js → rally-api-ClOSd-Tt.js} +1 -1
  228. package/server/{rally-client-B1EJhfV0.js → rally-client-lc-nokqr.js} +4 -4
  229. package/server/{rally-client-CULK2XAY.js → rally-client-sgtVqzNU.js} +1 -1
  230. package/server/rally-zhhtXuDP.js +3 -0
  231. package/server/{reap-terminal-sessions-MWnqdLCJ.js → reap-terminal-sessions-7KeHv1R1.js} +1 -1
  232. package/server/{reap-terminal-sessions-N3BTkmX_.js → reap-terminal-sessions-BtHPo6Xc.js} +1 -1
  233. package/server/rebuild-stack-CFvcBHsS.js +4 -0
  234. package/server/{rebuild-stack-Dp4eLkt4.js → rebuild-stack-lwtsW0GO.js} +26 -35
  235. package/server/{reconstruct-cache-uWbZfjms.js → reconstruct-cache-C3Ui7ojV.js} +6 -6
  236. package/server/{record-t6V-3Dcj.js → record-CN0pj4_5.js} +1 -1
  237. package/server/{record-update-DACtKh6_.js → record-update-bLJxAXH4.js} +1 -1
  238. package/server/{record-update-Dq0t2uBG.js → record-update-dE1Aw83j.js} +2 -2
  239. package/server/{recovery-trip-BJtIQuag.js → recovery-trip-BvRWfUXM.js} +2 -2
  240. package/server/{release-engine-DZpmGGzb.js → release-engine-Cx48W7z8.js} +5 -5
  241. package/server/{release-set-hnXd_kga.js → release-set-CQfuN9-v.js} +3 -3
  242. package/server/{remote-Br-ZWVIP.js → remote-C_2hasl7.js} +3 -3
  243. package/server/{remote-4tiENDaI.js → remote-ChgimyYa.js} +3 -3
  244. package/server/{remote-agents-nmty1mLu.js → remote-agents-By1ige5O.js} +6 -6
  245. package/server/{remote-agents-CRCg1L4H.js → remote-agents-CA3Ihlxj.js} +1 -1
  246. package/server/{remote-completion-BbWNd10K.js → remote-completion-fVe9e_3u.js} +12 -12
  247. package/server/resume-BFv1PGpA.js +3 -0
  248. package/server/{review-agent-sKkE1FEL.js → review-agent-CIGOQYBD.js} +29 -25
  249. package/server/{review-agent-DJRO8EG8.js → review-agent-DNboMyW4.js} +1 -1
  250. package/server/{review-artifacts-BLbSC4ke.js → review-artifacts-nRDPuMxd.js} +5 -5
  251. package/server/{review-context-BgX3lcCx.js → review-context-2uj-YQ8J.js} +69 -25
  252. package/server/{review-status-C6n6-9f_.js → review-status-btEYlaxA.js} +1 -1
  253. package/server/{review-status-enrichment-tbOn_A_u.js → review-status-enrichment-Dci-ZwEt.js} +3 -3
  254. package/server/{review-status-A7quS5KJ.js → review-status-kZj_KyCk.js} +42 -26
  255. package/server/{review-status-sync-BhSQ0d0l.js → review-status-sync-BTOpxtTC.js} +10 -5
  256. package/server/{review-status-sync-To3-iS-N.js → review-status-sync-DSDK3OMy.js} +1 -1
  257. package/server/{review-verdict-feedback-CTRNtzXO.js → review-verdict-feedback-CCjVA7Uk.js} +6 -6
  258. package/server/{review-verdict-feedback-C1Kg8n7t.js → review-verdict-feedback-CTd4QMBu.js} +1 -1
  259. package/server/{rollup-B53Y81xK.js → rollup-BKQC7jp4.js} +1 -1
  260. package/server/{rollup-WA0VD-Rr.js → rollup-FGsKki9R.js} +8 -8
  261. package/server/{scanner-D2743cp8.js → scanner-CnqEZeDy.js} +41 -14
  262. package/server/{sequence-io-Cg0zYj_E.js → sequence-io-D909zgeH.js} +4 -4
  263. package/server/{sequencer-agent-BGY8gjg-.js → sequencer-agent-CzkcK6P5.js} +5 -5
  264. package/server/server.js +2194 -341
  265. package/server/{service-DCpB_SGd.js → service-CLeAoU6G.js} +51 -50
  266. package/server/{session-fork-BQ8_6H32.js → session-fork-CHI1XvL9.js} +2 -2
  267. package/server/{session-history-CVZDpS3c.js → session-history-BT3IvqhC.js} +4 -4
  268. package/server/settings-66A6uvIA.js +2 -0
  269. package/server/{settings-BZ5m1UCl.js → settings-BTMvpNFU.js} +3 -3
  270. package/server/{settings-ylxwqwQG.js → settings-C0zgxOGf.js} +2 -2
  271. package/server/{shadow-engineering-BlxG6Xye.js → shadow-engineering-BJfgm-hX.js} +2 -2
  272. package/server/{shadow-state-Dh-HzF2J.js → shadow-state-7a-524T8.js} +2 -2
  273. package/server/{shadow-state-C2_epgx2.js → shadow-state-DnDyjujH.js} +1 -1
  274. package/server/{shadow-utils-4bvjn9b3.js → shadow-utils-Db3oroFG.js} +2 -2
  275. package/server/{ship-log-ClSMIzZX.js → ship-log-D9MlVzYU.js} +1 -1
  276. package/server/{smart-compaction-CHIxLr_d.js → smart-compaction-CV2ukKND.js} +1 -1
  277. package/server/{smart-compaction-r4pHQBIr.js → smart-compaction-KCYScAU1.js} +7 -7
  278. package/server/{spawn-planning-session-DWAorh2B.js → spawn-planning-session-DKpdFyOC.js} +30 -23
  279. package/server/{spawn-planning-session-KC_UduxD.js → spawn-planning-session-qUC2VWu3.js} +1 -1
  280. package/server/{specialist-completion-BXhav38U.js → specialist-completion-Ky9wCDpb.js} +1 -1
  281. package/server/{specialist-context-DtrYvGJ-.js → specialist-context-Bn3dCGS2.js} +5 -5
  282. package/server/{specialist-handoff-logger-C45ouoZ6.js → specialist-handoff-logger-CMEwYxa2.js} +2 -2
  283. package/server/{specialist-logs-DJ3RzKxW.js → specialist-logs-C5p8G7tx.js} +3 -3
  284. package/server/{specialists-JVO00bs7.js → specialists-CC4r-c2s.js} +776 -347
  285. package/server/{specialists-D5fRZXmN.js → specialists-CShuVGWT.js} +1 -1
  286. package/server/{specialists-DVj0hvaL.js → specialists-DM6bWjsi.js} +1 -1
  287. package/server/{specialists-DyFeedjn.js → specialists-jiuuyVkp.js} +21 -19
  288. package/server/specs-C8Wsn2XO.js +3 -0
  289. package/server/{src-CG9mCkP6.js → src-CXmtj0im.js} +6 -6
  290. package/server/{src-CMTQGyCK.js → src-CdmnTM2m.js} +5 -5
  291. package/server/{src-U7_kTPEE.js → src-DtcUOZCq.js} +111 -18
  292. package/server/stack-health-Bn3o8FBX.js +3 -0
  293. package/server/{stack-health-puygdaMd.js → stack-health-DxSdG9cW.js} +63 -9
  294. package/server/{stale-task-claims-BbFwCTb0.js → stale-task-claims-KJKxxiiQ.js} +4 -4
  295. package/server/{staleness-Cbl_w4Bw.js → staleness-CT34nwr9.js} +1 -1
  296. package/server/{staleness-Bpy41ngS.js → staleness-DPm7ClwA.js} +1 -1
  297. package/server/{state-home-CIGjwNfJ.js → state-home-Cn_Qu8IX.js} +2 -2
  298. package/server/{state-migrate-Dkzaxvny.js → state-migrate-BGg2ZaOt.js} +4 -4
  299. package/server/{stuck-remediation-CzEov_fq.js → stuck-remediation-DYuPRYYw.js} +300 -23
  300. package/server/{stuck-remediation-sY_MHHgQ.js → stuck-remediation-s9_2qfi6.js} +1 -1
  301. package/server/{substrate-bug-weights-service-BH66lhm7.js → substrate-bug-weights-service-B-FwCs5V.js} +3 -3
  302. package/server/{summary-fork-DHhJIsAL.js → summary-fork-D1RAk9rJ.js} +78 -12
  303. package/server/{summary-fork-D8bXjCr7.js → summary-fork-DpcxN9tf.js} +2 -2
  304. package/server/supervisor/{injection-budget-C1iPirFS.js → injection-budget-Csw5tqfJ.js} +2 -41
  305. package/server/supervisor/pty-supervisor.js +2 -1
  306. package/server/supervisor/pty-token-x-ea28Us.js +43 -0
  307. package/server/supervisor-FTJAIsAK.js +2 -0
  308. package/server/{supervisor-BO-Zk_h-.js → supervisor-wM4ooB5O.js} +3 -3
  309. package/server/{swarm-readiness-CQ_fwUWF.js → swarm-readiness-DlP_UjHq.js} +3 -3
  310. package/server/{system-prerequisites-Bza0ffAh.js → system-prerequisites-DUDj1YHf.js} +56 -29
  311. package/server/{teardown-workspace-CEgauF4U.js → teardown-workspace-DeTTImn-.js} +15 -15
  312. package/server/{test-agent-queue-DXDt0Xa-.js → test-agent-queue-MbxX5vqq.js} +6 -6
  313. package/server/{test-verdict-CmUBK5cT.js → test-verdict-bWYBtqBg.js} +1 -1
  314. package/server/{test-verdict-DFjjIHR5.js → test-verdict-gscuksPv.js} +1 -1
  315. package/server/{tldr-daemon-DL566HbH.js → tldr-daemon-BYFkts95.js} +1 -1
  316. package/server/{tldr-daemon-BDtLOIlO.js → tldr-daemon-C-69c3OI.js} +2 -2
  317. package/server/{tmux-DoThH6aj.js → tmux-B6z7h_vZ.js} +1 -1
  318. package/server/{tmux-ftABRAmc.js → tmux-R7N7y-Mh.js} +2 -2
  319. package/server/{token-CsOhvw42.js → token-BK6t8BIT.js} +2 -2
  320. package/server/token-util-DuPuNriz.js +3 -0
  321. package/server/{token-util-CTmczIfW.js → token-util-DxXu-vd1.js} +1 -1
  322. package/server/{tracker-config-B4itFzDo.js → tracker-config-G6latr8C.js} +2 -2
  323. package/server/{tracker-utils-BePq_oj-.js → tracker-utils-B4ylXZQK.js} +1 -1
  324. package/server/{tracker-utils-tnxxqROg.js → tracker-utils-DHv5pSDT.js} +2 -2
  325. package/server/{traefik-connect-m73vGebA.js → traefik-connect-Df2uXPsQ.js} +1 -1
  326. package/server/{tunnel-B2vxjx_b.js → tunnel-CDVKJpRv.js} +3 -3
  327. package/server/{tunnel-Cgj-IGIl.js → tunnel-DGdUkGoZ.js} +1 -1
  328. package/server/{types-BBNjPcqU.js → types-5M0lupud.js} +1 -1
  329. package/server/{uat-train-cKfM-_WW.js → uat-train-B05BWkp-.js} +1 -1
  330. package/server/{uat-train-CuEn0t9M.js → uat-train-DDSrSoV1.js} +25 -25
  331. package/server/validate-IfDGkaVR.js +177 -0
  332. package/server/{validation-CIi6pnI2.js → validation-CC9OPqJZ.js} +1 -1
  333. package/server/{validation-B5JxoPUS.js → validation-Dw1pzDzr.js} +4 -4
  334. package/server/{verification-artifact-C-lIHfUa.js → verification-artifact-B3itKTxu.js} +1 -1
  335. package/server/{verification-artifact-BcnIbigL.js → verification-artifact-TVFSz_q1.js} +1 -1
  336. package/server/{verification-runner-CDj4lD4t.js → verification-runner-BW4HOKAz.js} +1 -1
  337. package/server/{verification-runner-Br0S_Ous.js → verification-runner-CkgX6EtI.js} +91 -106
  338. package/server/{vtt-parser-DKpNNW5i.js → vtt-parser-DYPbKcIJ.js} +1 -1
  339. package/server/{work-agent-prompt-Yb2bd3Fq.js → work-agent-prompt-Du8Vh2aJ.js} +9 -9
  340. package/server/workflows-BQu4RFQ-.js +2 -0
  341. package/server/{workflows-C9WmILql.js → workflows-mbQzh6mQ.js} +18 -18
  342. package/server/{workspace-DuUdndHe.js → workspace--8tnhDI0.js} +1 -1
  343. package/server/{workspace-BVl4rihN.js → workspace-BPUws1-_.js} +3 -3
  344. package/server/{workspace-config-cEGcO6UT.js → workspace-config-CIVWZOQr.js} +1 -1
  345. package/server/{workspace-manager-hLUv3ADC.js → workspace-manager-CBhNdzE4.js} +66 -15
  346. package/server/workspace-manager-CWT55qeI.js +3 -0
  347. package/server/{workspace-metadata-DNpMixRq.js → workspace-metadata-BzHnwwX4.js} +1 -1
  348. package/server/{workspace-metadata-CskwzzhL.js → workspace-metadata-_WygnyoX.js} +2 -2
  349. package/server/{workspaces-hWvy9eKs.js → workspaces-Do_9J0LQ.js} +130 -111
  350. package/sync-sources/hooks/record-cost-event.js +6 -4
  351. package/sync-sources/skills/okf/README.md +11 -3
  352. package/sync-sources/skills/okf/SKILL.md +12 -1
  353. package/sync-sources/skills/okf/docs/USAGE.md +15 -0
  354. package/sync-sources/skills/okf/references/overdeck.md +28 -0
  355. package/sync-sources/skills/pan-flywheel/SKILL.md +18 -1
  356. package/sync-sources/skills/pan-knowledge/SKILL.md +10 -0
  357. package/sync-sources/skills/pan-orders/SKILL.md +33 -0
  358. package/sync-sources/skills/pan-start/SKILL.md +4 -0
  359. package/sync-sources/templates/traefik/dynamic/overdeck.yml.template +10 -0
  360. package/server/agent-state-Bg0lhqwj.js +0 -3
  361. package/server/agents-FlIgQ3ql.js +0 -3
  362. package/server/cli-BsVIHwzC.js +0 -3
  363. package/server/context-layers-B3Nt58jl.js +0 -4
  364. package/server/context-layers-ZYFcWiyc.js +0 -165
  365. package/server/deacon-swarm-9jRLS5Ke.js +0 -2
  366. package/server/dist-Bd3vn0Hw.js +0 -3
  367. package/server/flywheel-DMCUzDWg.js +0 -2
  368. package/server/flywheel-DSSpWmqF.js +0 -522
  369. package/server/flywheel-DcBkQvgE.js +0 -207
  370. package/server/forge-B-ZWyTRm.js +0 -2
  371. package/server/git-utils-Dry_Ka_D.js +0 -3
  372. package/server/hume-B_DbflNM.js +0 -3
  373. package/server/inspect-agent-ch-F-5Ci.js +0 -2
  374. package/server/layers-DzxSTGNA.js +0 -93
  375. package/server/merge-blockers-BsFjGrQ8.js +0 -41
  376. package/server/merge-ops-DlB1IM0Y.js +0 -2
  377. package/server/merge-set-DLz0MkGT.js +0 -139
  378. package/server/public/assets/mermaid-GHXKKRXX-BUAB8hqt.js +0 -1
  379. package/server/rally-njs_mJrt.js +0 -3
  380. package/server/rebuild-stack-kA7XngID.js +0 -3
  381. package/server/resume-CcKqnTvE.js +0 -3
  382. package/server/settings-D0OSwos5.js +0 -2
  383. package/server/specs-nN45DG2X.js +0 -3
  384. package/server/stack-health-Df0YEZKa.js +0 -3
  385. package/server/supervisor-BPy-o1A8.js +0 -2
  386. package/server/token-util-DrHg8abn.js +0 -3
  387. package/server/workflows-D90rMOya.js +0 -2
  388. package/server/workspace-manager-ZTdJAy9M.js +0 -3
@@ -1,9 +1,9 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { H as init_providers, Ur as packageRoot, Vr as init_paths, W as qualifyPiModel } from "./config-yaml-DvyMuOle.js";
3
- import { J as init_ui_theme, K as colorFgBgForTheme, q as getUiThemeSync } from "./tmux-ftABRAmc.js";
4
- import { o as getHarnessBehavior } from "./src-U7_kTPEE.js";
5
- import { t as init_behavior } from "./behavior-B_-4EKF3.js";
6
- import { f as toCodexSandboxValue, l as init_codex } from "./codex-TmSi-yTv.js";
2
+ import { Br as getOverdeckHome, H as init_providers, Ur as packageRoot, Vr as init_paths, W as qualifyPiModel } from "./config-yaml-DySPNmKN.js";
3
+ import { J as init_ui_theme, K as colorFgBgForTheme, q as getUiThemeSync } from "./tmux-R7N7y-Mh.js";
4
+ import { o as getHarnessBehavior } from "./src-DtcUOZCq.js";
5
+ import { t as init_behavior } from "./behavior-B3exJ42O.js";
6
+ import { f as toCodexSandboxValue, l as init_codex } from "./codex-BZXGhUVB.js";
7
7
  import { dirname, join } from "node:path";
8
8
  import { Data } from "effect";
9
9
  //#region ../../lib/model-validation.ts
@@ -29,6 +29,73 @@ var init_model_validation = __esmMin((() => {
29
29
  Data.TaggedError("ModelValidationError");
30
30
  }));
31
31
  //#endregion
32
+ //#region ../../lib/launcher-git-guard.ts
33
+ function shellQuote$1(value) {
34
+ return `'${value.replace(/'/g, `'\\''`)}'`;
35
+ }
36
+ function buildGitGuardLines(agentId) {
37
+ const guardDir = join(getOverdeckHome(), "agents", agentId, "git-guard");
38
+ const guardPath = join(guardDir, "git");
39
+ const pathForDoubleQuotes = guardDir.replace(/([\\"$`])/g, "\\$1");
40
+ return [
41
+ "_OVERDECK_REAL_GIT=\"$(command -v git)\"",
42
+ `mkdir -p ${shellQuote$1(guardDir)}`,
43
+ `cat > ${shellQuote$1(guardPath)} <<EOF`,
44
+ "#!/bin/sh",
45
+ "_OVERDECK_REAL_GIT=\"$_OVERDECK_REAL_GIT\"",
46
+ "if [ \"\\$OVERDECK_PAN_GIT_OP\" = \"1\" ]; then",
47
+ " exec \"\\$_OVERDECK_REAL_GIT\" \"\\$@\"",
48
+ "fi",
49
+ "_overdeck_git_find_command() {",
50
+ " while [ \"\\$#\" -gt 0 ]; do",
51
+ " case \"\\$1\" in",
52
+ " -C|-c|--git-dir|--work-tree|--namespace|--config-env|--super-prefix|--attr-source)",
53
+ " shift",
54
+ " [ \"\\$#\" -gt 0 ] && shift",
55
+ " ;;",
56
+ " -C?*|-c?*|--git-dir=*|--work-tree=*|--namespace=*|--config-env=*|--super-prefix=*|--attr-source=*)",
57
+ " shift",
58
+ " ;;",
59
+ " --)",
60
+ " shift",
61
+ " break",
62
+ " ;;",
63
+ " -*)",
64
+ " shift",
65
+ " ;;",
66
+ " *)",
67
+ " printf \"%s\\n\" \"\\$1\"",
68
+ " return",
69
+ " ;;",
70
+ " esac",
71
+ " done",
72
+ " [ \"\\$#\" -gt 0 ] && printf \"%s\\n\" \"\\$1\"",
73
+ "}",
74
+ "_overdeck_git_command=\"\\$(_overdeck_git_find_command \"\\$@\")\"",
75
+ "case \"\\$_overdeck_git_command\" in",
76
+ " rebase|stash)",
77
+ " echo \"Overdeck agents must not run git \\$_overdeck_git_command directly. Use pan sync-main to sync main or pan done to submit.\" >&2",
78
+ " exit 1",
79
+ " ;;",
80
+ " reset)",
81
+ " for _overdeck_git_arg in \"\\$@\"; do",
82
+ " if [ \"\\$_overdeck_git_arg\" = \"--hard\" ]; then",
83
+ " echo \"Overdeck agents must not run git reset --hard. Commit, explicitly discard, or surface the state instead.\" >&2",
84
+ " exit 1",
85
+ " fi",
86
+ " done",
87
+ " ;;",
88
+ "esac",
89
+ "exec \"\\$_OVERDECK_REAL_GIT\" \"\\$@\"",
90
+ "EOF",
91
+ `chmod 0755 ${shellQuote$1(guardPath)}`,
92
+ `export PATH="${pathForDoubleQuotes}:$PATH"`
93
+ ];
94
+ }
95
+ var init_launcher_git_guard = __esmMin((() => {
96
+ init_paths();
97
+ }));
98
+ //#endregion
32
99
  //#region ../../lib/launcher-generator.ts
33
100
  /**
34
101
  * Quote a string for safe use as a shell literal in single quotes.
@@ -94,6 +161,7 @@ function generateLauncherScriptSync(config) {
94
161
  explicitlySetOverdeckKeys.add("OVERDECK_SESSION_TYPE");
95
162
  }
96
163
  }
164
+ if (config.overdeckEnv?.agentId && config.spawnMode !== "conversation") lines.push(...buildGitGuardLines(config.overdeckEnv.agentId));
97
165
  if (config.extraEnvExports) for (const expr of config.extraEnvExports) lines.push(expr);
98
166
  if (config.codexHome) lines.push(`export CODEX_HOME=${shellQuote(config.codexHome)}`);
99
167
  if (config.changeDir !== false) lines.push(`cd -- ${shellQuote(config.workingDir)}`);
@@ -144,6 +212,7 @@ function buildCommand(config) {
144
212
  if (config.spawnMode === "conversation") {
145
213
  if (behavior.launchCommandKind === "ohmypi-rpc") return buildOhmypiCommand(config, false);
146
214
  if (behavior.launchCommandKind === "codex-work-tui") return buildCodexCommand(config, false);
215
+ if (behavior.launchCommandKind === "acp-host") return buildAcpCommand(config, false);
147
216
  if (config.baseCommand) {
148
217
  let cmd = config.baseCommand;
149
218
  cmd += buildChannelsArgs(config);
@@ -203,6 +272,7 @@ function buildNonConversationCommand(config, useExec) {
203
272
  const behavior = getHarnessBehavior(config.harness ?? "claude-code");
204
273
  if (behavior.launchCommandKind === "ohmypi-rpc") return buildOhmypiCommand(config, useExec);
205
274
  if (behavior.launchCommandKind === "codex-work-tui") return buildCodexCommand(config, useExec);
275
+ if (behavior.launchCommandKind === "acp-host") return buildAcpCommand(config, useExec);
206
276
  const parts = [];
207
277
  if (!config.baseCommand) return parts;
208
278
  let cmd = config.baseCommand;
@@ -306,6 +376,29 @@ function buildOhmypiCommand(config, useExec) {
306
376
  function systemPromptFiles(config) {
307
377
  return [...config.appendSystemPromptFile ? [config.appendSystemPromptFile] : [], ...config.appendSystemPromptFiles ?? []];
308
378
  }
379
+ function buildAcpCommand(config, useExec) {
380
+ if (!config.acpAgentId) throw new Error("acp launcher requires acpAgentId");
381
+ if (!config.acpProvider) throw new Error("acp launcher requires acpProvider");
382
+ if (!config.acpWorkspace) throw new Error("acp launcher requires acpWorkspace");
383
+ if (!config.acpBinaryPath) throw new Error("acp launcher requires acpBinaryPath");
384
+ const tokens = [
385
+ "node",
386
+ shellQuote(join(packageRoot, "dist", "acp-host.js")),
387
+ "--agent",
388
+ shellQuote(config.acpAgentId),
389
+ "--provider",
390
+ shellQuote(config.acpProvider),
391
+ "--workspace",
392
+ shellQuote(config.acpWorkspace),
393
+ "--binary-path",
394
+ shellQuote(config.acpBinaryPath)
395
+ ];
396
+ if (config.resumeSessionId) tokens.push("--resume", shellQuote(config.resumeSessionId));
397
+ if (config.model) tokens.push("--model", shellQuoteModelIdSync(config.model));
398
+ if (config.acpContextFile) tokens.push("--context-file", shellQuote(config.acpContextFile));
399
+ const cmd = tokens.join(" ");
400
+ return [useExec ? `exec ${cmd}` : cmd];
401
+ }
309
402
  function buildCodexCommand(config, useExec) {
310
403
  const cmd = computeCodexCommandTokens(config, useExec);
311
404
  const flat = cmd.join(" ").replace(/\s+/g, " ");
@@ -361,6 +454,7 @@ var init_launcher_generator = __esmMin((() => {
361
454
  init_model_validation();
362
455
  init_ui_theme();
363
456
  init_paths();
457
+ init_launcher_git_guard();
364
458
  PROVIDER_ENV_UNSETS = [
365
459
  "ANTHROPIC_API_KEY",
366
460
  "ANTHROPIC_BASE_URL",
@@ -374,6 +468,6 @@ var init_launcher_generator = __esmMin((() => {
374
468
  ];
375
469
  }));
376
470
  //#endregion
377
- export { requireModelOverrideSync as a, normalizeModelOverrideSync as i, init_launcher_generator as n, shellQuoteModelIdSync as o, init_model_validation as r, generateLauncherScriptSync as t };
471
+ export { normalizeModelOverrideSync as a, init_model_validation as i, init_launcher_generator as n, requireModelOverrideSync as o, MODEL_ID_PATTERN as r, shellQuoteModelIdSync as s, generateLauncherScriptSync as t };
378
472
 
379
- //# sourceMappingURL=launcher-generator-CHVm7bGT.js.map
473
+ //# sourceMappingURL=launcher-generator-BBWG_SiS.js.map
@@ -1,8 +1,8 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Ht as flushAutoCommits, Ot as init_record, Pt as readRecordContinueViewSync, Ut as init_auto_commit, Wt as queueAutoCommit, _t as appendFeedbackEntrySync, bt as clearRecordFeedbackSync, ir as FsError, mr as init_errors, yt as appendSessionEntrySync } from "./config-yaml-DvyMuOle.js";
3
- import { a as generateXBriefFilename, c as parseXBriefFilename, i as ensureXBriefDirsSync, l as resolveXBriefDir, n as LEGACY_VBRIEF_LIFECYCLE_DIRS, o as init_lifecycle, u as slugify } from "./lifecycle-DfeyBDwA.js";
4
- import { A as init_xbrief_index, C as init_specs, S as getProjectPanPaths, d as readPlanSync, g as serializeXBriefDocument, j as invalidateXBriefIndex, l as normalizeXBriefEnvelope, o as init_io } from "./io-B3_AHDfr.js";
5
- import { t as init_pan_dir } from "./pan-dir-DeVUgwA7.js";
2
+ import { Ht as flushAutoCommits, Ot as init_record, Pt as readRecordContinueViewSync, Ut as init_auto_commit, Wt as queueAutoCommit, _t as appendFeedbackEntrySync, bt as clearRecordFeedbackSync, ir as FsError, mr as init_errors, yt as appendSessionEntrySync } from "./config-yaml-DySPNmKN.js";
3
+ import { a as generateXBriefFilename, c as parseXBriefFilename, i as ensureXBriefDirsSync, l as resolveXBriefDir, n as LEGACY_VBRIEF_LIFECYCLE_DIRS, o as init_lifecycle, u as slugify } from "./lifecycle-yPd___5E.js";
4
+ import { A as init_xbrief_index, C as init_specs, S as getProjectPanPaths, d as readPlanSync, g as serializeXBriefDocument, j as invalidateXBriefIndex, l as normalizeXBriefEnvelope, o as init_io } from "./io-C9kF1wtJ.js";
5
+ import { t as init_pan_dir } from "./pan-dir-B0c3w0Ya.js";
6
6
  import { Effect } from "effect";
7
7
  import { existsSync, mkdirSync, readFileSync, readdirSync, renameSync, unlinkSync, writeFileSync } from "fs";
8
8
  import { basename, join } from "path";
@@ -264,4 +264,4 @@ var init_lifecycle_io = __esmMin((() => {
264
264
  //#endregion
265
265
  export { init_lifecycle_io as a, updatePlanStatus as c, findXBriefByIssueSync as i, appendFeedbackEntryForIssue as n, readContinueStateForIssue as o, clearFeedbackForIssue as r, transitionXBriefOnMain as s, appendContinueSessionEntryForIssue as t };
266
266
 
267
- //# sourceMappingURL=lifecycle-io-D8iNBcux.js.map
267
+ //# sourceMappingURL=lifecycle-io-BREGpnLk.js.map
@@ -1,3 +1,3 @@
1
- import { a as init_lifecycle_io, s as transitionXBriefOnMain } from "./lifecycle-io-D8iNBcux.js";
1
+ import { a as init_lifecycle_io, s as transitionXBriefOnMain } from "./lifecycle-io-BREGpnLk.js";
2
2
  init_lifecycle_io();
3
3
  export { transitionXBriefOnMain };
@@ -1,12 +1,12 @@
1
- import { o as init_archive_planning, t as archivePlanning } from "./archive-planning-DYrYojxl.js";
2
- import { a as stepSkipped, i as stepOk, n as init_types, r as stepFailed } from "./types-BBNjPcqU.js";
3
- import { t as closeIssue } from "./close-issue-Dn_4c4G8.js";
4
- import { t as teardownWorkspace } from "./teardown-workspace-CEgauF4U.js";
5
- import { a as deepWipe, i as closeOut, n as cancelIssueWorkflow, o as resetToTodo, r as close, t as approve } from "./workflows-C9WmILql.js";
1
+ import { o as init_archive_planning, t as archivePlanning } from "./archive-planning-Du25Jtst.js";
2
+ import { a as stepSkipped, i as stepOk, n as init_types, r as stepFailed } from "./types-5M0lupud.js";
3
+ import { t as closeIssue } from "./close-issue-DoOifFIK.js";
4
+ import { t as teardownWorkspace } from "./teardown-workspace-DeTTImn-.js";
5
+ import { a as deepWipe, i as closeOut, n as cancelIssueWorkflow, o as resetToTodo, r as close, t as approve } from "./workflows-mbQzh6mQ.js";
6
6
  //#region ../../lib/lifecycle/index.ts
7
7
  init_types();
8
8
  init_archive_planning();
9
9
  //#endregion
10
10
  export { approve, archivePlanning, cancelIssueWorkflow, close, closeIssue, closeOut, deepWipe, resetToTodo, stepFailed, stepOk, stepSkipped, teardownWorkspace };
11
11
 
12
- //# sourceMappingURL=lifecycle-sycO16hj.js.map
12
+ //# sourceMappingURL=lifecycle-xmBfK2GJ.js.map
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { mr as init_errors } from "./config-yaml-DvyMuOle.js";
2
+ import { mr as init_errors } from "./config-yaml-DySPNmKN.js";
3
3
  import "effect";
4
4
  import { mkdirSync } from "fs";
5
5
  import { join } from "path";
@@ -118,4 +118,4 @@ var init_lifecycle = __esmMin((() => {
118
118
  //#endregion
119
119
  export { generateXBriefFilename as a, parseXBriefFilename as c, ensureXBriefDirsSync as i, resolveXBriefDir as l, LEGACY_VBRIEF_LIFECYCLE_DIRS as n, init_lifecycle as o, XBRIEF_FILENAME_SUFFIX as r, isXBriefFilename as s, LEGACY_VBRIEF_FILENAME_SUFFIX as t, slugify as u };
120
120
 
121
- //# sourceMappingURL=lifecycle-DfeyBDwA.js.map
121
+ //# sourceMappingURL=lifecycle-yPd___5E.js.map
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { a as init_tracker_config, n as getLinearApiKey } from "./tracker-config-B4itFzDo.js";
2
+ import { a as init_tracker_config, n as getLinearApiKey } from "./tracker-config-G6latr8C.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, Duration, Effect, Layer, Schedule } from "effect";
5
5
  import { LinearClient } from "@linear/sdk";
@@ -192,4 +192,4 @@ var init_linear_client = __esmMin((() => {
192
192
  //#endregion
193
193
  export { init_linear_client as i, LinearClientLive as n, LinearClientOptionalLive as r, LinearClient$1 as t };
194
194
 
195
- //# sourceMappingURL=linear-client-D4zqMnX7.js.map
195
+ //# sourceMappingURL=linear-client-BsuUvkdA.js.map
@@ -1,3 +1,3 @@
1
- import { i as init_linear_client, n as LinearClientLive, r as LinearClientOptionalLive, t as LinearClient } from "./linear-client-D4zqMnX7.js";
1
+ import { i as init_linear_client, n as LinearClientLive, r as LinearClientOptionalLive, t as LinearClient } from "./linear-client-BsuUvkdA.js";
2
2
  init_linear_client();
3
3
  export { LinearClient, LinearClientLive, LinearClientOptionalLive };
@@ -1,4 +1,4 @@
1
- import { a as runMemoryFtsTransactionSync, i as runMemoryFtsStatementSync, n as getMemoryFtsDatabaseSync, r as init_fts_operations, t as closeMemoryFtsDatabasesInProcess } from "./fts-operations-BrL_VTRr.js";
1
+ import { a as runMemoryFtsTransactionSync, i as runMemoryFtsStatementSync, n as getMemoryFtsDatabaseSync, r as init_fts_operations, t as closeMemoryFtsDatabasesInProcess } from "./fts-operations-CqY6zl-i.js";
2
2
  import { parentPort } from "node:worker_threads";
3
3
  //#region ../../lib/memory/fts-worker.ts
4
4
  init_fts_operations();
@@ -1,2 +1,2 @@
1
- import { A as UatNotPromotable, B as readyForMerge, C as RepoMergeStatus, D as UatMember, E as UatGenerationNotFound, F as enqueueMerge, I as getAllActiveQueues, L as getCurrentMerge, M as UatStatus, N as WorkspaceType, O as UatMemberRole, P as dequeueMerge, R as getQueueForProject, S as RepoKey, T as UatGenerationFilter, _ as NotReadyForMerge, a as ForgeMergeFailed, b as QueueView, c as MergeInProgress, d as MergeSet, f as MergeSetNotFound, g as MergeWriterLive, h as MergeWriter, i as AutoMergeStatus, j as UatResolution, k as UatName, l as MergeResolver, m as MergeSetStatus, n as AutoMergeFilter, o as GateStatus, p as MergeSetRepo, r as AutoMergeNotFound, s as MergeApi, t as AutoMerge, u as MergeResolverLive, v as ProjectKey, w as UatGeneration, x as RebaseStatus, y as QueueEntryStatus, z as markMergeProcessing } from "./merge-C_ZEhbqI.js";
1
+ import { A as UatNotPromotable, B as readyForMerge, C as RepoMergeStatus, D as UatMember, E as UatGenerationNotFound, F as enqueueMerge, I as getAllActiveQueues, L as getCurrentMerge, M as UatStatus, N as WorkspaceType, O as UatMemberRole, P as dequeueMerge, R as getQueueForProject, S as RepoKey, T as UatGenerationFilter, _ as NotReadyForMerge, a as ForgeMergeFailed, b as QueueView, c as MergeInProgress, d as MergeSet, f as MergeSetNotFound, g as MergeWriterLive, h as MergeWriter, i as AutoMergeStatus, j as UatResolution, k as UatName, l as MergeResolver, m as MergeSetStatus, n as AutoMergeFilter, o as GateStatus, p as MergeSetRepo, r as AutoMergeNotFound, s as MergeApi, t as AutoMerge, u as MergeResolverLive, v as ProjectKey, w as UatGeneration, x as RebaseStatus, y as QueueEntryStatus, z as markMergeProcessing } from "./merge-CefQNAnq.js";
2
2
  export { AutoMerge, AutoMergeFilter, AutoMergeNotFound, AutoMergeStatus, ForgeMergeFailed, GateStatus, MergeApi, MergeInProgress, MergeResolver, MergeResolverLive, MergeSet, MergeSetNotFound, MergeSetRepo, MergeSetStatus, MergeWriter, MergeWriterLive, NotReadyForMerge, ProjectKey, QueueEntryStatus, QueueView, RebaseStatus, RepoKey, RepoMergeStatus, UatGeneration, UatGenerationFilter, UatGenerationNotFound, UatMember, UatMemberRole, UatName, UatNotPromotable, UatResolution, UatStatus, WorkspaceType, dequeueMerge, enqueueMerge, getAllActiveQueues, getCurrentMerge, getQueueForProject, markMergeProcessing, readyForMerge };
@@ -1,5 +1,5 @@
1
- import { C as inArray, _ as integer, a as EventBus, b as and, d as getOverdeckDatabaseSync, f as init_infra, h as text, m as sqliteTable, p as init_sqlite_core, r as Db, s as Forge, v as init_drizzle_orm, x as eq } from "./infra-CzaSOgul.js";
2
- import { n as init_issues, t as IssueId } from "./issues-B6ToV6x1.js";
1
+ import { C as inArray, _ as integer, a as EventBus, b as and, d as getOverdeckDatabaseSync, f as init_infra, h as text, m as sqliteTable, p as init_sqlite_core, r as Db, s as Forge, v as init_drizzle_orm, x as eq } from "./infra-BEqFxlJc.js";
2
+ import { n as init_issues, t as IssueId } from "./issues-BMmP_77e.js";
3
3
  import { Context, Effect, Layer, Schema } from "effect";
4
4
  import { HttpApiEndpoint, HttpApiGroup } from "effect/unstable/httpapi";
5
5
  //#region ../../lib/overdeck/merge.ts
@@ -700,4 +700,4 @@ function getAllActiveQueues() {
700
700
  //#endregion
701
701
  export { UatNotPromotable as A, readyForMerge as B, RepoMergeStatus as C, UatMember as D, UatGenerationNotFound as E, enqueueMerge as F, getAllActiveQueues as I, getCurrentMerge as L, UatStatus as M, WorkspaceType as N, UatMemberRole as O, dequeueMerge as P, getQueueForProject as R, RepoKey as S, UatGenerationFilter as T, NotReadyForMerge as _, ForgeMergeFailed as a, QueueView as b, MergeInProgress as c, MergeSet as d, MergeSetNotFound as f, MergeWriterLive as g, MergeWriter as h, AutoMergeStatus as i, UatResolution as j, UatName as k, MergeResolver as l, MergeSetStatus as m, AutoMergeFilter as n, GateStatus as o, MergeSetRepo as p, AutoMergeNotFound as r, MergeApi as s, AutoMerge as t, MergeResolverLive as u, ProjectKey as v, UatGeneration as w, RebaseStatus as x, QueueEntryStatus as y, markMergeProcessing as z };
702
702
 
703
- //# sourceMappingURL=merge-C_ZEhbqI.js.map
703
+ //# sourceMappingURL=merge-CefQNAnq.js.map
@@ -1,14 +1,14 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Tn as init_projects, Vr as init_paths, ar as GitError, f as loadConfigSync, jn as loadProjectsConfigSync, mr as init_errors, pr as VcsError, t as init_config_yaml, wr as OVERDECK_HOME } from "./config-yaml-DvyMuOle.js";
2
+ import { Tn as init_projects, Vr as init_paths, ar as GitError, f as loadConfigSync, jn as loadProjectsConfigSync, mr as init_errors, pr as VcsError, t as init_config_yaml, wr as OVERDECK_HOME } from "./config-yaml-DySPNmKN.js";
3
3
  import { a as init_activity_logger, n as emitActivityEntrySync, r as emitActivityTtsSync } from "./activity-logger-DDlOIAML.js";
4
- import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-CzaSOgul.js";
5
- import { D as killSession, H as sessionExists, M as listSessionNames, i as capturePane, w as init_tmux, z as sendKeys } from "./tmux-ftABRAmc.js";
6
- import { b as setReviewStatusSync, c as getReviewStatusSync, l as init_review_status, p as markWorkspaceStuck } from "./review-status-A7quS5KJ.js";
7
- import { i as resolveGitHubIssueSync, n as init_tracker_utils } from "./tracker-utils-tnxxqROg.js";
8
- import { n as recordFeatureRegistryLifecycle, t as init_feature_registry_population } from "./feature-registry-population-B0pmAz0a.js";
9
- import { r as verifyMergedBeforeLifecycle, t as init_merge_verification } from "./merge-verification-CSizH3HY.js";
10
- import { i as init_git_utils, t as cleanupStaleLocks } from "./git-utils-BVa07a4a.js";
11
- import { i as runQualityGates, n as init_validation } from "./validation-B5JxoPUS.js";
4
+ import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-BEqFxlJc.js";
5
+ import { D as killSession, H as sessionExists, M as listSessionNames, i as capturePane, w as init_tmux, z as sendKeys } from "./tmux-R7N7y-Mh.js";
6
+ import { b as setReviewStatusSync, c as getReviewStatusSync, l as init_review_status, p as markWorkspaceStuck } from "./review-status-kZj_KyCk.js";
7
+ import { i as resolveGitHubIssueSync, n as init_tracker_utils } from "./tracker-utils-DHv5pSDT.js";
8
+ import { n as recordFeatureRegistryLifecycle, t as init_feature_registry_population } from "./feature-registry-population-DKZFMbFt.js";
9
+ import { i as init_git_utils, t as cleanupStaleLocks } from "./git-utils-CRw2zLPC.js";
10
+ import { r as verifyMergedBeforeLifecycle, t as init_merge_verification } from "./merge-verification-BkaOqPsw.js";
11
+ import { i as runQualityGates, n as init_validation } from "./validation-Dw1pzDzr.js";
12
12
  import { Data, Effect } from "effect";
13
13
  import { appendFileSync, existsSync, mkdirSync } from "fs";
14
14
  import { basename, dirname, join, relative } from "path";
@@ -19,7 +19,7 @@ import { promisify } from "util";
19
19
  //#region ../../lib/cloister/merge-agent-step0.ts
20
20
  async function shouldRestartForPostMerge(repoRoot, dependencies = {}) {
21
21
  if ((await (dependencies.computeStaleness ?? (async () => {
22
- const [{ getBuildInfo }, { computeBuildStaleness }] = await Promise.all([import("./build-info-DgTqZkL5.js"), import("./staleness-Cbl_w4Bw.js")]);
22
+ const [{ getBuildInfo }, { computeBuildStaleness }] = await Promise.all([import("./build-info-CZk_TITh.js"), import("./staleness-CT34nwr9.js")]);
23
23
  return computeBuildStaleness({
24
24
  repoRoot,
25
25
  buildCommit: getBuildInfo().buildCommit
@@ -28,7 +28,7 @@ async function shouldRestartForPostMerge(repoRoot, dependencies = {}) {
28
28
  (dependencies.log ?? console.log)("Running build already contains origin/main build inputs — skipping deploy restart");
29
29
  return false;
30
30
  }
31
- const reason = await (dependencies.getBlockReason ?? (async () => (await import("./deploy-window-CM6W1-c6.js")).getDeployBlockReason()))();
31
+ const reason = await (dependencies.getBlockReason ?? (async () => (await import("./deploy-window-DkZraDyj.js")).getDeployBlockReason()))();
32
32
  if (reason) {
33
33
  (dependencies.log ?? console.log)(`Deploy window unsafe (${reason}) — deferring deploy to the staleness patrol`);
34
34
  return false;
@@ -599,7 +599,7 @@ async function notifyTldrDaemon(projectPath, _sourceBranch) {
599
599
  return;
600
600
  }
601
601
  console.log(`[merge-agent] Found ${changedFiles.length} changed source files to reindex`);
602
- const { getTldrDaemonServiceSync } = await import("./tldr-daemon-DL566HbH.js");
602
+ const { getTldrDaemonServiceSync } = await import("./tldr-daemon-BYFkts95.js");
603
603
  const tldrService = getTldrDaemonServiceSync(projectPath, venvPath);
604
604
  if (!(await tldrService.getStatus()).running) {
605
605
  console.log(`[merge-agent] TLDR daemon not running, skipping notification`);
@@ -629,7 +629,7 @@ async function postMergeLifecycle(issueId, projectPath, sourceBranch, options) {
629
629
  }
630
630
  const run = (async () => {
631
631
  try {
632
- const { findSpecByIssue } = await import("./specs-nN45DG2X.js");
632
+ const { findSpecByIssue } = await import("./specs-C8Wsn2XO.js");
633
633
  const spec = await Effect.runPromise(findSpecByIssue(projectPath, issueId));
634
634
  if (spec && (spec.status === "completed" || spec.status === "cancelled")) {
635
635
  console.log(`[merge-agent] ${issueId} is closed out (spec ${spec.status}) — skipping post-merge lifecycle`);
@@ -691,7 +691,7 @@ async function postMergeLifecycle(issueId, projectPath, sourceBranch, options) {
691
691
  }
692
692
  console.log(`[merge-agent] Running post-merge verify handoff for ${issueId}`);
693
693
  try {
694
- const { cleanupMergedLabels } = await import("./label-cleanup-BKPJm4Hv.js");
694
+ const { cleanupMergedLabels } = await import("./label-cleanup-B0UJwnv5.js");
695
695
  const ghResolved = resolveGitHubIssueSync(issueId);
696
696
  const labelCtx = ghResolved.isGitHub ? {
697
697
  issueId,
@@ -740,8 +740,8 @@ async function postMergeLifecycle(issueId, projectPath, sourceBranch, options) {
740
740
  console.warn(`[merge-agent] Async post-merge release trigger failed for ${issueId}: ${err instanceof Error ? err.message : String(err)}`);
741
741
  });
742
742
  try {
743
- const { setAgentPaused, getAgentState } = await import("./agents-FlIgQ3ql.js");
744
- const { killSession, sessionExists } = await import("./tmux-DoThH6aj.js");
743
+ const { setAgentPaused, getAgentState } = await import("./agents-wi9NWzs2.js");
744
+ const { killSession, sessionExists } = await import("./tmux-B6z7h_vZ.js");
745
745
  const issueLower = issueId.toLowerCase();
746
746
  const reason = "awaiting close-out (verify on main)";
747
747
  for (const agentId of [`agent-${issueLower}`, `planning-${issueLower}`]) {
@@ -766,8 +766,8 @@ async function postMergeLifecycle(issueId, projectPath, sourceBranch, options) {
766
766
  console.warn(`[merge-agent] Could not pause or kill agent sessions: ${err}`);
767
767
  }
768
768
  try {
769
- const { killAllReviewerSessions } = await import("./review-agent-DJRO8EG8.js");
770
- const { resolveProjectFromIssueSync } = await import("./projects-9SkRpES9.js");
769
+ const { killAllReviewerSessions } = await import("./review-agent-DNboMyW4.js");
770
+ const { resolveProjectFromIssueSync } = await import("./projects-vjjcmiN8.js");
771
771
  const projectKey = resolveProjectFromIssueSync(issueId)?.projectKey;
772
772
  if (projectKey) {
773
773
  const { killed } = await Effect.runPromise(killAllReviewerSessions(projectKey, issueId));
@@ -781,7 +781,7 @@ async function postMergeLifecycle(issueId, projectPath, sourceBranch, options) {
781
781
  }
782
782
  await killPostMergeRoleSessions(issueId);
783
783
  try {
784
- const { createResetMarker } = await import("./cli-BsVIHwzC.js");
784
+ const { createResetMarker } = await import("./cli-B86rejVV.js");
785
785
  const timestamp = (/* @__PURE__ */ new Date()).toISOString();
786
786
  const marker = await createResetMarker({
787
787
  projectId: basename(projectPath),
@@ -796,8 +796,8 @@ async function postMergeLifecycle(issueId, projectPath, sourceBranch, options) {
796
796
  console.warn(`[merge-agent] Memory reset marker creation failed (non-fatal): ${err}`);
797
797
  }
798
798
  try {
799
- const { findWorkspacePath } = await import("./archive-planning-zkJb3BeM.js");
800
- const { stopWorkspaceDocker } = await import("./workspace-manager-ZTdJAy9M.js");
799
+ const { findWorkspacePath } = await import("./archive-planning-BZDgzoEj.js");
800
+ const { stopWorkspaceDocker } = await import("./workspace-manager-CWT55qeI.js");
801
801
  const issueLower = issueId.toLowerCase();
802
802
  const workspacePath = findWorkspacePath(projectPath, issueLower);
803
803
  if (workspacePath) {
@@ -828,7 +828,7 @@ async function triggerPostMergeReleaseIfConfigured(issueId, projectPath) {
828
828
  console.log(`[merge-agent] Release already started or completed for ${issueId} (${currentStatus}), skipping`);
829
829
  return;
830
830
  }
831
- const { resolveProjectFromIssueSync, getProjectSync } = await import("./projects-9SkRpES9.js");
831
+ const { resolveProjectFromIssueSync, getProjectSync } = await import("./projects-vjjcmiN8.js");
832
832
  const resolved = resolveProjectFromIssueSync(issueId);
833
833
  if (!(resolved ? getProjectSync(resolved.projectKey) : null)?.release) {
834
834
  setReviewStatusSync(issueId, {
@@ -838,7 +838,7 @@ async function triggerPostMergeReleaseIfConfigured(issueId, projectPath) {
838
838
  console.log(`[merge-agent] No release config for ${issueId}; marked release skipped`);
839
839
  return;
840
840
  }
841
- const { runRelease } = await import("./release-engine-DZpmGGzb.js");
841
+ const { runRelease } = await import("./release-engine-Cx48W7z8.js");
842
842
  try {
843
843
  await runRelease(issueId, projectPath);
844
844
  } catch (err) {
@@ -857,10 +857,10 @@ async function triggerPostMergeReleaseIfConfigured(issueId, projectPath) {
857
857
  async function transitionIssueToVerifyingOnMain(issueId, projectPath) {
858
858
  const [effectModule, issueLifecycleModule, githubModule, linearModule, rallyModule, errorsModule] = await Promise.all([
859
859
  import("effect"),
860
- import("./issue-lifecycle-Dy4vd0Oa.js"),
861
- import("./github-client-B4QsdE-X.js"),
862
- import("./linear-client-DqhDQO9k.js"),
863
- import("./rally-client-CULK2XAY.js"),
860
+ import("./issue-lifecycle-B8sZHVHh.js"),
861
+ import("./github-client-DfQYVUaw.js"),
862
+ import("./linear-client-CTskEeT_.js"),
863
+ import("./rally-client-sgtVqzNU.js"),
864
864
  import("./typed-errors-BHhE85Ul.js")
865
865
  ]);
866
866
  const { Effect, Layer } = effectModule;
@@ -1592,4 +1592,4 @@ var init_merge_agent = __esmMin((() => {
1592
1592
  //#endregion
1593
1593
  export { init_operations as C, gitPush as S, listGitOperationsSync as T, scanGitPatterns as _, init_merge_agent as a, triggerPostMergeReleaseIfConfigured as b, isSyncMainMainPreferredPath as c, parseAgentOutput as d, postMergeLifecycle as f, scanForConflictMarkers as g, salvageStrandedMerge as h, captureTmuxOutput as i, logMergeHistory as l, runProjectQualityGates as m, GIT_PATTERNS as n, isAutoCommitExcludedPath as o, resetPostMergeState as p, autoCommitWorkspaceChangesBeforeSync as r, isMergeAgentRunning as s, AUTO_COMMIT_EXCLUDED_PATHS as t, notifyTldrDaemon as u, sendMessageToAgent as v, init_git_activity as w, MainDivergedError as x, syncMainIntoWorkspace as y };
1594
1594
 
1595
- //# sourceMappingURL=merge-agent-XrB80vfT.js.map
1595
+ //# sourceMappingURL=merge-agent-4WOWlSYA.js.map
@@ -1,3 +1,3 @@
1
- import { _ as scanGitPatterns, a as init_merge_agent, b as triggerPostMergeReleaseIfConfigured, c as isSyncMainMainPreferredPath, d as parseAgentOutput, f as postMergeLifecycle, g as scanForConflictMarkers, h as salvageStrandedMerge, i as captureTmuxOutput, l as logMergeHistory, m as runProjectQualityGates, n as GIT_PATTERNS, o as isAutoCommitExcludedPath, p as resetPostMergeState, r as autoCommitWorkspaceChangesBeforeSync, s as isMergeAgentRunning, t as AUTO_COMMIT_EXCLUDED_PATHS, u as notifyTldrDaemon, v as sendMessageToAgent, y as syncMainIntoWorkspace } from "./merge-agent-XrB80vfT.js";
1
+ import { _ as scanGitPatterns, a as init_merge_agent, b as triggerPostMergeReleaseIfConfigured, c as isSyncMainMainPreferredPath, d as parseAgentOutput, f as postMergeLifecycle, g as scanForConflictMarkers, h as salvageStrandedMerge, i as captureTmuxOutput, l as logMergeHistory, m as runProjectQualityGates, n as GIT_PATTERNS, o as isAutoCommitExcludedPath, p as resetPostMergeState, r as autoCommitWorkspaceChangesBeforeSync, s as isMergeAgentRunning, t as AUTO_COMMIT_EXCLUDED_PATHS, u as notifyTldrDaemon, v as sendMessageToAgent, y as syncMainIntoWorkspace } from "./merge-agent-4WOWlSYA.js";
2
2
  init_merge_agent();
3
3
  export { AUTO_COMMIT_EXCLUDED_PATHS, GIT_PATTERNS, autoCommitWorkspaceChangesBeforeSync, captureTmuxOutput, isAutoCommitExcludedPath, isMergeAgentRunning, isSyncMainMainPreferredPath, logMergeHistory, notifyTldrDaemon, parseAgentOutput, postMergeLifecycle, resetPostMergeState, runProjectQualityGates, salvageStrandedMerge, scanForConflictMarkers, scanGitPatterns, sendMessageToAgent, syncMainIntoWorkspace, triggerPostMergeReleaseIfConfigured };
@@ -44,4 +44,4 @@ async function shipMergeBatch(issueIds, deps) {
44
44
  //#endregion
45
45
  export { shipMergeBatch };
46
46
 
47
- //# sourceMappingURL=merge-batch-Bwoyr8Je.js.map
47
+ //# sourceMappingURL=merge-batch-ClFn2T-y.js.map
@@ -0,0 +1,2 @@
1
+ import { c as triggerMerge } from "./workspaces-Do_9J0LQ.js";
2
+ export { triggerMerge };
@@ -1,4 +1,4 @@
1
- import { ar as GitError, lr as MergeConflictError, mr as init_errors } from "./config-yaml-DvyMuOle.js";
1
+ import { ar as GitError, lr as MergeConflictError, mr as init_errors } from "./config-yaml-DySPNmKN.js";
2
2
  import { Effect } from "effect";
3
3
  import { existsSync } from "fs";
4
4
  import { join } from "path";
@@ -131,4 +131,4 @@ function rebaseFeatureBranch(workspacePath, featureBranch, baseBranch, issueId)
131
131
  //#endregion
132
132
  export { rebaseFeatureBranch };
133
133
 
134
- //# sourceMappingURL=merge-rebase-C1KIVr0s.js.map
134
+ //# sourceMappingURL=merge-rebase-BfaTyXsw.js.map
@@ -0,0 +1,83 @@
1
+ import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
+ import { $n as resolveIssueIdSync, Tn as init_projects, Yn as init_issue_id, zn as resolveProjectFromIssueSync } from "./config-yaml-DySPNmKN.js";
3
+ import { T as upsertMergeSet, i as getMergeSetFromDb, o as init_merge_sync } from "./merge-sync-VPV28g0g.js";
4
+ import { r as init_project_repos, s as resolveProjectReposFromResolvedIssueSync } from "./project-repos-B6GycDh9.js";
5
+ import "effect";
6
+ //#region ../../lib/merge-set.ts
7
+ function upsertMergeSetSync(mergeSet) {
8
+ upsertMergeSet({
9
+ ...mergeSet,
10
+ issueId: resolveIssueIdSync(mergeSet.issueId)
11
+ });
12
+ }
13
+ function getMergeSetSync(issueId) {
14
+ return getMergeSetFromDb(resolveIssueIdSync(issueId));
15
+ }
16
+ function buildMergeSetForIssueSync(issueId, labels = []) {
17
+ const resolved = resolveProjectFromIssueSync(issueId, labels);
18
+ if (!resolved) return null;
19
+ const repos = resolveProjectReposFromResolvedIssueSync(issueId, resolved);
20
+ if (!repos) return null;
21
+ const now = (/* @__PURE__ */ new Date()).toISOString();
22
+ return {
23
+ issueId,
24
+ projectKey: resolved.projectKey,
25
+ projectPath: resolved.projectPath,
26
+ workspaceType: repos.length > 1 ? "polyrepo" : "monorepo",
27
+ status: "draft",
28
+ createdAt: now,
29
+ updatedAt: now,
30
+ repos: repos.map((repo) => ({
31
+ repoKey: repo.repoKey,
32
+ repoPath: repo.repoPath,
33
+ forge: repo.forge,
34
+ sourceBranch: repo.sourceBranch,
35
+ targetBranch: repo.targetBranch,
36
+ reviewStatus: "pending",
37
+ testStatus: "pending",
38
+ rebaseStatus: "pending",
39
+ verificationStatus: "pending",
40
+ mergeStatus: "pending",
41
+ mergeOrder: repo.mergeOrder,
42
+ required: repo.required
43
+ }))
44
+ };
45
+ }
46
+ function ensureMergeSetForIssueSync(issueId, labels = []) {
47
+ const existing = getMergeSetSync(issueId);
48
+ if (existing) return existing;
49
+ const built = buildMergeSetForIssueSync(issueId, labels);
50
+ if (built) upsertMergeSetSync(built);
51
+ return built;
52
+ }
53
+ function withRepoArtifactUrlSync(mergeSet, repoKey, artifactUrl, artifactId) {
54
+ return {
55
+ ...mergeSet,
56
+ updatedAt: (/* @__PURE__ */ new Date()).toISOString(),
57
+ repos: mergeSet.repos.map((repo) => repo.repoKey === repoKey ? {
58
+ ...repo,
59
+ artifactUrl,
60
+ artifactId
61
+ } : repo)
62
+ };
63
+ }
64
+ function withRepoStateSync(mergeSet, repoKey, patch) {
65
+ return {
66
+ ...mergeSet,
67
+ updatedAt: (/* @__PURE__ */ new Date()).toISOString(),
68
+ repos: mergeSet.repos.map((repo) => repo.repoKey === repoKey ? {
69
+ ...repo,
70
+ ...patch
71
+ } : repo)
72
+ };
73
+ }
74
+ var init_merge_set = __esmMin((() => {
75
+ init_merge_sync();
76
+ init_projects();
77
+ init_project_repos();
78
+ init_issue_id();
79
+ }));
80
+ //#endregion
81
+ export { upsertMergeSetSync as a, init_merge_set as i, ensureMergeSetForIssueSync as n, withRepoArtifactUrlSync as o, getMergeSetSync as r, withRepoStateSync as s, buildMergeSetForIssueSync as t };
82
+
83
+ //# sourceMappingURL=merge-set-DJ8-UErs.js.map
@@ -1,3 +1,3 @@
1
- import { a as upsertMergeSetSync, i as init_merge_set, n as ensureMergeSetForIssueSync, o as withRepoArtifactUrlSync, r as getMergeSetSync, s as withRepoStateSync } from "./merge-set-DLz0MkGT.js";
1
+ import { a as upsertMergeSetSync, i as init_merge_set, n as ensureMergeSetForIssueSync, o as withRepoArtifactUrlSync, r as getMergeSetSync, s as withRepoStateSync } from "./merge-set-DJ8-UErs.js";
2
2
  init_merge_set();
3
3
  export { ensureMergeSetForIssueSync, getMergeSetSync, upsertMergeSetSync, withRepoArtifactUrlSync, withRepoStateSync };
@@ -1,3 +1,3 @@
1
- import { b as resetProcessingToQueued, o as init_merge_sync } from "./merge-sync-DZ9dojJn.js";
1
+ import { b as resetProcessingToQueued, o as init_merge_sync } from "./merge-sync-VPV28g0g.js";
2
2
  init_merge_sync();
3
3
  export { resetProcessingToQueued };
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-CzaSOgul.js";
2
+ import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-BEqFxlJc.js";
3
3
  //#region ../../lib/overdeck/merge-sync.ts
4
4
  function isoFromMillis(value) {
5
5
  return value == null ? void 0 : new Date(value).toISOString();
@@ -401,4 +401,4 @@ var init_merge_sync = __esmMin((() => {
401
401
  //#endregion
402
402
  export { transitionToMerging as C, setUatGenerationStackStartedAtSync as S, upsertMergeSet as T, markFailed as _, getUatGenerationSync as a, resetProcessingToQueued as b, isFlywheelGloballyPaused as c, listDuePendingAutoMerges as d, listProblemAutoMerges as f, markBlocked as g, listUatGenerationsWithStacksSync as h, getMergeSetFromDb as i, isMergeTrainEnabled as l, listUatGenerationsSync as m, getActionableAutoMerge as n, init_merge_sync as o, listUatGenerationNamesSync as p, getAllActiveQueues as r, insertUatGenerationSync as s, cancelPending as t, listActiveAutoMerges as u, markMerged as v, updateUatGenerationSync as w, scheduleAutoMergeWithResult as x, requeueToPending as y };
403
403
 
404
- //# sourceMappingURL=merge-sync-DZ9dojJn.js.map
404
+ //# sourceMappingURL=merge-sync-VPV28g0g.js.map
@@ -1,4 +1,4 @@
1
- import { l as isMergeTrainEnabled, o as init_merge_sync } from "./merge-sync-DZ9dojJn.js";
1
+ import { l as isMergeTrainEnabled, o as init_merge_sync } from "./merge-sync-VPV28g0g.js";
2
2
  //#region ../../lib/cloister/merge-train-reconciler.ts
3
3
  init_merge_sync();
4
4
  /**
@@ -62,9 +62,9 @@ async function reconcileStaleSiblings(mergedIssueId, deps) {
62
62
  */
63
63
  async function runMergeTrainReconcile(mergedIssueId, opts = {}) {
64
64
  if (!(opts.enabled ?? isMergeTrainEnabled)()) return [];
65
- return reconcileStaleSiblings(mergedIssueId, opts.deps ?? (await import("./merge-train-deps-CyYQUksx.js")).buildRealReconcileDeps());
65
+ return reconcileStaleSiblings(mergedIssueId, opts.deps ?? (await import("./merge-train-deps-D1cOZzy2.js")).buildRealReconcileDeps());
66
66
  }
67
67
  //#endregion
68
68
  export { runMergeTrainReconcile };
69
69
 
70
- //# sourceMappingURL=merge-train-DxDfBTjr.js.map
70
+ //# sourceMappingURL=merge-train-CHopycP0.js.map
@@ -1,6 +1,6 @@
1
- import { Tn as init_projects, zn as resolveProjectFromIssueSync } from "./config-yaml-DvyMuOle.js";
2
- import { b as init_agents, ut as spawnRun } from "./queries-6d7Cdtm7.js";
3
- import { c as init_review_status_sync, r as getAllReviewStatusesFromDb } from "./review-status-sync-BhSQ0d0l.js";
1
+ import { Tn as init_projects, zn as resolveProjectFromIssueSync } from "./config-yaml-DySPNmKN.js";
2
+ import { b as init_agents, ut as spawnRun } from "./queries-CjNIf-Ub.js";
3
+ import { c as init_review_status_sync, r as getAllReviewStatusesFromDb } from "./review-status-sync-BTOpxtTC.js";
4
4
  import { join } from "path";
5
5
  import { exec } from "child_process";
6
6
  import { promisify } from "util";
@@ -66,4 +66,4 @@ function buildRealReconcileDeps() {
66
66
  //#endregion
67
67
  export { buildRealReconcileDeps };
68
68
 
69
- //# sourceMappingURL=merge-train-deps-CyYQUksx.js.map
69
+ //# sourceMappingURL=merge-train-deps-D1cOZzy2.js.map
@@ -1,7 +1,7 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Tn as init_projects, zn as resolveProjectFromIssueSync } from "./config-yaml-DvyMuOle.js";
3
- import { i as resolveGitHubIssueSync, n as init_tracker_utils } from "./tracker-utils-tnxxqROg.js";
4
- import { f as init_github_app, p as isGitHubAppConfigured, v as listPullRequestsForHead } from "./github-app-CMBdIFBQ.js";
2
+ import { Tn as init_projects, zn as resolveProjectFromIssueSync } from "./config-yaml-DySPNmKN.js";
3
+ import { i as resolveGitHubIssueSync, n as init_tracker_utils } from "./tracker-utils-DHv5pSDT.js";
4
+ import { f as init_github_app, p as isGitHubAppConfigured, v as listPullRequestsForHead } from "./github-app-C3QrAUd0.js";
5
5
  import { Effect } from "effect";
6
6
  import { exec } from "node:child_process";
7
7
  import { promisify } from "node:util";
@@ -121,4 +121,4 @@ var init_merge_verification = __esmMin((() => {
121
121
  //#endregion
122
122
  export { shouldSkipDispatchAsMerged as n, verifyMergedBeforeLifecycle as r, init_merge_verification as t };
123
123
 
124
- //# sourceMappingURL=merge-verification-CSizH3HY.js.map
124
+ //# sourceMappingURL=merge-verification-BkaOqPsw.js.map