@overdeck/desktop 0.65.0 → 0.66.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (344) hide show
  1. package/package.json +1 -1
  2. package/server/{acceptance-criteria-BgED6Izb.js → acceptance-criteria-CNfqZWHE.js} +1 -1
  3. package/server/activity-CElPNdhJ.js +2 -0
  4. package/server/{activity-CVRFYPg-.js → activity-h2Q-pMa7.js} +4 -4
  5. package/server/{agent-pane-io-8U_dsHCf.js → agent-pane-io-CXPX0Kq3.js} +43 -5
  6. package/server/agent-pane-io-H-50g3Ze.js +2 -0
  7. package/server/{agent-state-service-CZjmcB3_.js → agent-state-service-CJB8_8Bp.js} +2 -2
  8. package/server/{agent-state-service-hbWznp6M.js → agent-state-service-Cs_Z_oHX.js} +1 -1
  9. package/server/{agent-status-events-HU33uOJc.js → agent-status-events-DfYAcfpo.js} +1 -1
  10. package/server/{agents-DfEYd_I0.js → agents-C9oho7kE.js} +3 -3
  11. package/server/{agents-CKFhKqJp.js → agents-DebP6rx9.js} +56 -46
  12. package/server/{agents-DNkpVGda.js → agents-dwMmsEQT.js} +2 -2
  13. package/server/archive-planning-DflA6GM1.js +2 -0
  14. package/server/{archive-planning-BvwP8nTs.js → archive-planning-vbycG6oX.js} +2 -2
  15. package/server/{artifact-index-jobs-CFe2p3St.js → artifact-index-jobs-C73RHIUN.js} +1 -1
  16. package/server/{auto-merge-eligibility-De2WgmQS.js → auto-merge-eligibility-f1D8TwAj.js} +1 -1
  17. package/server/{auto-merge-eligibility-DmUQEAws.js → auto-merge-eligibility-is6bTkrA.js} +1 -1
  18. package/server/{auto-spawn-consent-DRgQbl8k.js → auto-spawn-consent-BxXl-3y7.js} +2 -2
  19. package/server/{backend-inventory-CjCALqY9.js → backend-inventory-DsbeKiYY.js} +2 -2
  20. package/server/{backend-inventory-HZnm8K3m.js → backend-inventory-tUXKfgL_.js} +1 -1
  21. package/server/{backlog-auto-trigger-BZ9HqOh5.js → backlog-auto-trigger-EIBVGK3_.js} +2 -2
  22. package/server/checkpoint-worker.js +1 -1
  23. package/server/{checkpoints-BiGSCyKD.js → checkpoints-C-xh-Mv0.js} +1 -1
  24. package/server/{checkpoints-DEk_xKPI.js → checkpoints-SNuYbtl9.js} +1 -1
  25. package/server/{claude-hooks-provision-DOMp0nce.js → claude-hooks-provision-BGL61BFy.js} +1 -1
  26. package/server/{claude-hooks-provision-Cx-iNW3h.js → claude-hooks-provision-D60ldmh3.js} +1 -1
  27. package/server/{claude-settings-overlay-DX8SS3mU.js → claude-settings-overlay-BKk6aPyn.js} +1 -1
  28. package/server/{claude-settings-overlay-tccrSYWh.js → claude-settings-overlay-Z1wvGWrM.js} +1 -1
  29. package/server/{cli-BOQWA-ux.js → cli-CfYEyYsr.js} +3 -3
  30. package/server/cli-DHZ5Ecrt.js +2 -0
  31. package/server/{closed-issue-reaper-g1xev2lv.js → closed-issue-reaper-DkGIkI3v.js} +1 -1
  32. package/server/{closed-issue-reaper-DnaFCYJk.js → closed-issue-reaper-tjnA5V8Z.js} +3 -3
  33. package/server/{codex-BE1w7ARL.js → codex-BrY7aOvP.js} +2 -2
  34. package/server/{codex-CVOd_JEs.js → codex-vuXHqT53.js} +1 -1
  35. package/server/{conflict-gate-Domf8Fvr.js → conflict-gate-CPbG8VXI.js} +2 -2
  36. package/server/{constants-ZsF6FhcR.js → constants-DEItMRn6.js} +1 -1
  37. package/server/{conversation-compaction-Dm4_bCqZ.js → conversation-compaction-BLDpoKfB.js} +5 -5
  38. package/server/{conversation-compaction-sKyT07L1.js → conversation-compaction-D1aR4ytx.js} +1 -1
  39. package/server/{conversation-delivery-Dn6b4mUU.js → conversation-delivery-C0Q7Ew-t.js} +17 -17
  40. package/server/{conversation-liveness-DJzPiGPO.js → conversation-liveness-DO3e-N73.js} +1 -1
  41. package/server/{conversation-liveness-Cq4TNxqa.js → conversation-liveness-g3nFofTZ.js} +2 -2
  42. package/server/{conversation-pull-requests-Bu30dOQv.js → conversation-pull-requests-VQwME1F1.js} +1 -1
  43. package/server/{conversation-reads-CGepvSWx.js → conversation-reads-0fCsCPQe.js} +8 -8
  44. package/server/{conversation-reads-D-UfsYqf.js → conversation-reads-lMO8cWqw.js} +1 -1
  45. package/server/{conversation-runtime-DA_Famk_.js → conversation-runtime-Bh4Wj05k.js} +1 -1
  46. package/server/{conversations-search-CDvHCyYe.js → conversations-search-CS0COdna.js} +1 -1
  47. package/server/{cpu-psi-BN99YdGz.js → cpu-psi-DvzVl1bx.js} +1 -1
  48. package/server/{daemon-BX8hAPTC.js → daemon-DMVuHx-i.js} +2 -2
  49. package/server/daemon-d62dV_pO.js +2 -0
  50. package/server/{dag-DC0niH7i.js → dag-PPL-MAx0.js} +1 -1
  51. package/server/{dangerous-git-ops-GKdOQbOe.js → dangerous-git-ops-BcSMn_cv.js} +1 -1
  52. package/server/dashboard-db-worker.js +4 -4
  53. package/server/{deacon-swarm-record-4FGgybnL.js → deacon-swarm-record-BenMf1-5.js} +1 -1
  54. package/server/deacon.js +4 -4
  55. package/server/{derived-issue-state-BtoFumna.js → derived-issue-state-BaGJkxQq.js} +2 -2
  56. package/server/{derived-issue-state-DnKs1TXS.js → derived-issue-state-BqhN4lOl.js} +1 -1
  57. package/server/{derived-issue-state-CCHbqKjW.js → derived-issue-state-CmvMPi-R.js} +4 -4
  58. package/server/{derived-issue-state-QLhfZgf5.js → derived-issue-state-Dz7ti1og.js} +2 -2
  59. package/server/{dist-B5cmD5rC.js → dist-B-6_eqmp.js} +1 -1
  60. package/server/dist-rCsp8VVx.js +3 -0
  61. package/server/{dod-C6qNQ8O3.js → dod-BJP9kMFG.js} +1 -1
  62. package/server/{done-preflight-Bu3KGCAV.js → done-preflight-ZQMI79O0.js} +1 -1
  63. package/server/{done-preflight-BvmOQ64R.js → done-preflight-oy6Tja5C.js} +1 -1
  64. package/server/{ensure-devcontainer-HQ3fQD5V.js → ensure-devcontainer-CollbMTo.js} +2 -2
  65. package/server/ensure-devcontainer-bvZTPcBb.js +2 -0
  66. package/server/evict-LT5Wbo6F.js +2 -0
  67. package/server/{evict-Dhzce_bB.js → evict-l0JJZ11s.js} +2 -2
  68. package/server/{feedback-target-C6lpafxM.js → feedback-target-B0XBJvkz.js} +1 -1
  69. package/server/{feedback-target-DmQ249DE.js → feedback-target-BYLtF8vX.js} +3 -3
  70. package/server/{feedback-writer-pF7pA9Ei.js → feedback-writer-XmR1ZtVC.js} +1 -1
  71. package/server/{feedback-writer-DSEPHMwz.js → feedback-writer-g9cmlhQU.js} +1 -1
  72. package/server/{flywheel-Ib4Qp5x6.js → flywheel-C-t-XYUt.js} +3 -3
  73. package/server/{flywheel-merge-order-BjbLhtpF.js → flywheel-merge-order-qRslbYK3.js} +2 -2
  74. package/server/{format-QXO0qqJo.js → format-3trt48Iz.js} +1 -1
  75. package/server/{from-ufsGrQUf.js → from-Cdjxc_Sy.js} +1 -1
  76. package/server/{generation-ship-a14Tkc5B.js → generation-ship-BTyy05vO.js} +1 -1
  77. package/server/{harness-binary-DtPw6bEJ.js → harness-binary-BaN9N-sG.js} +2 -2
  78. package/server/harness-binary-DFBkr1Wg.js +2 -0
  79. package/server/{harness-resolve-BfOivkUY.js → harness-resolve-CimEYcpG.js} +4 -4
  80. package/server/{harness-resolve-PDc4GGnM.js → harness-resolve-DclBRYRh.js} +1 -1
  81. package/server/{herdr-agent-terminals-ffj8Zg3X.js → herdr-agent-terminals-Dm4HnKF7.js} +1 -1
  82. package/server/infer-tracker-BJR_ATzw.js +2 -0
  83. package/server/infer-tracker-CwOO7_gU.js +237 -0
  84. package/server/{issue-lifecycle-BlE7L0r7.js → issue-lifecycle-CmbQlAqW.js} +8 -8
  85. package/server/{issue-lifecycle-Y8IGkADf.js → issue-lifecycle-Dt9AFW70.js} +1 -1
  86. package/server/{issue-pause-9vXZZkOc.js → issue-pause-kvPBItCx.js} +5 -5
  87. package/server/{issue-service-singleton-DxTRf-RV.js → issue-service-singleton-BbERjqoV.js} +1 -1
  88. package/server/{issue-service-singleton-QPDr49TB.js → issue-service-singleton-DwYi9Oie.js} +3 -3
  89. package/server/{kimi-code-AcOc8X0U.js → kimi-code-DNNwP6FT.js} +1 -1
  90. package/server/{label-cleanup-CIoPmmbd.js → label-cleanup-C7weaJlZ.js} +2 -2
  91. package/server/{launch-DSEY_mt2.js → launch-DF_WD2-a.js} +10 -7
  92. package/server/{launch-DCAI36Nq.js → launch-DlClnoCc.js} +1 -1
  93. package/server/{launcher-generator-BofB3FX_.js → launcher-generator-COHAIhyH.js} +2 -2
  94. package/server/{legacy-tldr-cleanup-DJX9V9s4.js → legacy-tldr-cleanup-RqGuveuz.js} +1 -1
  95. package/server/{lifecycle-BT3aegwk.js → lifecycle-BHcU1hPs.js} +4 -4
  96. package/server/{linear-mcp-auth-ChV8Aqu4.js → linear-mcp-auth-C0qzNK0H.js} +1 -1
  97. package/server/{linear-mcp-auth-COqdLkXb.js → linear-mcp-auth-JIDCfEz0.js} +3 -3
  98. package/server/{memory-governor-BQg4GOEF.js → memory-governor-C3T769G6.js} +6 -6
  99. package/server/{merge-BS-9EAg0.js → merge-DaJul9Xt.js} +1 -1
  100. package/server/{merge-agent-CVjeg02H.js → merge-agent-C2UtoeTe.js} +1 -1
  101. package/server/{merge-agent-CkEA7spe.js → merge-agent-CCs-JQhC.js} +10 -10
  102. package/server/{merge-batch-CSWibuAl.js → merge-batch-BBxSLbaz.js} +1 -1
  103. package/server/merge-gate-3O9zdlWW.js +2 -0
  104. package/server/{merge-gate-LOtvWv5K.js → merge-gate-D5zTeaC0.js} +2 -2
  105. package/server/merge-ops-BP9-OIjU.js +2 -0
  106. package/server/{merge-ready-set-C0enElWu.js → merge-ready-set-C5TMtdGy.js} +1 -1
  107. package/server/{merge-ready-set-8yRGoXfN.js → merge-ready-set-DlKHumrb.js} +2 -2
  108. package/server/{merge-train-ClvHbVeP.js → merge-train-BOKRD6nt.js} +1 -1
  109. package/server/{merge-train-CfvTn1fw.js → merge-train-Cx7vXfxi.js} +2 -2
  110. package/server/{merge-train-Cee9LY5p.js → merge-train-Dg5cr8mS.js} +19 -19
  111. package/server/{merge-train-deps-BCvx9OJh.js → merge-train-deps-D1MTGotL.js} +3 -3
  112. package/server/messaging-Cbhf7pAu.js +2 -0
  113. package/server/{multipart-parser-Divdcrf4.js → multipart-parser-fgcPeL-R.js} +2 -2
  114. package/server/node_modules/.package-lock.json +1 -1
  115. package/server/package-lock.json +2 -2
  116. package/server/package.json +1 -1
  117. package/server/{pipeline-BxDHIXwk.js → pipeline-CZPx_h0w.js} +1 -1
  118. package/server/pipeline-membership-BbdiZQ2g.js +171 -0
  119. package/server/pipeline-membership-LZVPTNzz.js +2 -0
  120. package/server/{policy-context-De_w57FT.js → policy-context-CYqNhQra.js} +1 -1
  121. package/server/{policy-context-DlF2pBlT.js → policy-context-CebkQTkr.js} +2 -2
  122. package/server/{preemption-BseBG1Lx.js → preemption-D15-OfS-.js} +3 -3
  123. package/server/{prerequisites-report-D4DsEecP.js → prerequisites-report-BpRfGeIQ.js} +3 -3
  124. package/server/{project-pipelines-BV_6EeMm.js → project-pipelines-C0eawMQd.js} +1 -1
  125. package/server/{project-resource-refresh-queue-Dsha4mgg.js → project-resource-refresh-queue-DmNcMWIW.js} +1 -1
  126. package/server/{project-resource-refresh-queue-BD7xaiwB.js → project-resource-refresh-queue-Dx1QPkGs.js} +13 -173
  127. package/server/public/assets/{abnfDiagram-VCTEODGH-a5JXGj2O.js → abnfDiagram-VCTEODGH-Bkh8Qhhf.js} +1 -1
  128. package/server/public/assets/{ar-SA-G6X2FPQ2-DfwESDRS.js → ar-SA-G6X2FPQ2-Duv-fSqg.js} +1 -1
  129. package/server/public/assets/{architectureDiagram-5GKGNRK7-CNqDlS6j.js → architectureDiagram-5GKGNRK7-vm7gsvBp.js} +1 -1
  130. package/server/public/assets/{az-AZ-76LH7QW2-DcXSBniP.js → az-AZ-76LH7QW2-CqalVsAI.js} +1 -1
  131. package/server/public/assets/{bg-BG-XCXSNQG7-C9L0gaeE.js → bg-BG-XCXSNQG7-KojQTSIf.js} +1 -1
  132. package/server/public/assets/{bn-BD-2XOGV67Q-B53MN52O.js → bn-BD-2XOGV67Q-CGLJg39W.js} +1 -1
  133. package/server/public/assets/{ca-ES-6MX7JW3Y-BTZPNvIz.js → ca-ES-6MX7JW3Y-BG9DUCtc.js} +1 -1
  134. package/server/public/assets/{chunk-EIO257PC-S1ZezR1y.js → chunk-EIO257PC-vUssjuTB.js} +1 -1
  135. package/server/public/assets/{chunk-IMKFNOWR-CFhbID1F.js → chunk-IMKFNOWR-Dy5lrR0k.js} +1 -1
  136. package/server/public/assets/{chunk-SHT3W25Y-vRJiIXR_.js → chunk-SHT3W25Y-B1Ej75VE.js} +1 -1
  137. package/server/public/assets/{chunk-SVP7TREG-D-Pw_X2t.js → chunk-SVP7TREG-BBLmHGKS.js} +1 -1
  138. package/server/public/assets/{chunk-TICWLB2K-DzeVkrx_.js → chunk-TICWLB2K-BYF1_eFX.js} +1 -1
  139. package/server/public/assets/{classDiagram-ZZMXUADV-BYD5DQer.js → classDiagram-ZZMXUADV-BFooIsVI.js} +1 -1
  140. package/server/public/assets/{classDiagram-v2-VYDZK3BY-BYD5DQer.js → classDiagram-v2-VYDZK3BY-BFooIsVI.js} +1 -1
  141. package/server/public/assets/{cs-CZ-2BRQDIVT-CNtIRKDO.js → cs-CZ-2BRQDIVT-B7KdIXZX.js} +1 -1
  142. package/server/public/assets/{cynefinDiagram-5FMLGOSQ-BdxptoBH.js → cynefinDiagram-5FMLGOSQ-B74BPf3L.js} +1 -1
  143. package/server/public/assets/{da-DK-5WZEPLOC-CFH9B_XA.js → da-DK-5WZEPLOC-D4z-FQo3.js} +1 -1
  144. package/server/public/assets/{dagre-GXQ25YYZ-8A4ks-g0.js → dagre-GXQ25YYZ-CzGQ9RBh.js} +1 -1
  145. package/server/public/assets/{de-DE-XR44H4JA-SSAwqM2T.js → de-DE-XR44H4JA-BLHcSSpk.js} +1 -1
  146. package/server/public/assets/{diagram-S7CK7UJ4-BiEABFvq.js → diagram-S7CK7UJ4-BLVIehtN.js} +1 -1
  147. package/server/public/assets/{diagram-UQ7AKVKN-CbAQm8rt.js → diagram-UQ7AKVKN-CWBxQLwX.js} +1 -1
  148. package/server/public/assets/{diagram-VX7I27RA-CX6cTJ6m.js → diagram-VX7I27RA-D-nhHjqI.js} +1 -1
  149. package/server/public/assets/{diagram-Z3DM3KII-CUJMn-73.js → diagram-Z3DM3KII-t-PkDqPd.js} +1 -1
  150. package/server/public/assets/{dist-DB46JHIp.js → dist-7NqkUyWp.js} +4 -4
  151. package/server/public/assets/{ebnfDiagram-PWID7BFC-vIgmpIpC.js → ebnfDiagram-PWID7BFC-BqLhIpq3.js} +1 -1
  152. package/server/public/assets/{el-GR-BZB4AONW-CEWaQ14U.js → el-GR-BZB4AONW-CpB4PJtL.js} +1 -1
  153. package/server/public/assets/{en-B4ZKOASM-DPbmc81o.js → en-B4ZKOASM-BokeIfhD.js} +1 -1
  154. package/server/public/assets/{erDiagram-RLTQ6QDP-Bx76fbpv.js → erDiagram-RLTQ6QDP-CwsmK2oF.js} +1 -1
  155. package/server/public/assets/{es-ES-U4NZUMDT-D98PwSTw.js → es-ES-U4NZUMDT-7pdvQy8R.js} +1 -1
  156. package/server/public/assets/{eu-ES-A7QVB2H4-Covb8Ol-.js → eu-ES-A7QVB2H4-BvMoCige.js} +1 -1
  157. package/server/public/assets/{fa-IR-HGAKTJCU-Dtd-fEqq.js → fa-IR-HGAKTJCU-oqb9ngcA.js} +1 -1
  158. package/server/public/assets/{fi-FI-Z5N7JZ37-hfxveRFy.js → fi-FI-Z5N7JZ37-BWCKhxHc.js} +1 -1
  159. package/server/public/assets/{flowDiagram-HODETNUW-DfUL9mV5.js → flowDiagram-HODETNUW-BFLMpZi8.js} +1 -1
  160. package/server/public/assets/{fr-FR-RHASNOE6-SFarC5-9.js → fr-FR-RHASNOE6-lIqYd1Kh.js} +1 -1
  161. package/server/public/assets/{ganttDiagram-EL5Y4UJY-BWhqn10r.js → ganttDiagram-EL5Y4UJY-_hCoOnvJ.js} +1 -1
  162. package/server/public/assets/{gl-ES-HMX3MZ6V-B5E2hTiL.js → gl-ES-HMX3MZ6V-BuMMBxGa.js} +1 -1
  163. package/server/public/assets/{he-IL-6SHJWFNN-CtPUdyTg.js → he-IL-6SHJWFNN-CASskgj6.js} +1 -1
  164. package/server/public/assets/{hi-IN-IWLTKZ5I-Dno5smSQ.js → hi-IN-IWLTKZ5I-V8xvo9N_.js} +1 -1
  165. package/server/public/assets/{hu-HU-A5ZG7DT2-6fM9o4Vm.js → hu-HU-A5ZG7DT2-Dwz2tW9D.js} +1 -1
  166. package/server/public/assets/{id-ID-SAP4L64H-DqHxJ0od.js → id-ID-SAP4L64H-CsAKnonA.js} +1 -1
  167. package/server/public/assets/image-GAAHSSAO-DlRrB5ro.js +1 -0
  168. package/server/public/assets/{index-BAHYSdai.js → index-uxuGUUZm.js} +9 -9
  169. package/server/public/assets/{infoDiagram-27XIBGKW-B6REiikV.js → infoDiagram-27XIBGKW-Bq35vHxL.js} +1 -1
  170. package/server/public/assets/{ishikawaDiagram-5VMMS53U-CJ4FcDTi.js → ishikawaDiagram-5VMMS53U-BP8VkFPc.js} +1 -1
  171. package/server/public/assets/{it-IT-JPQ66NNP-COf0Mlpu.js → it-IT-JPQ66NNP-yPqYjuhl.js} +1 -1
  172. package/server/public/assets/{ja-JP-DBVTYXUO-CnmSZoYJ.js → ja-JP-DBVTYXUO-SIGkDKhH.js} +1 -1
  173. package/server/public/assets/{kaa-6HZHGXH3-psdaC7_Y.js → kaa-6HZHGXH3-DxnCb5Kc.js} +1 -1
  174. package/server/public/assets/{kab-KAB-ZGHBKWFO-DHcsec5D.js → kab-KAB-ZGHBKWFO-CVCxey_p.js} +1 -1
  175. package/server/public/assets/{kanban-definition-UXKFOSKX-CWOzrzwB.js → kanban-definition-UXKFOSKX-Cj2TVfn0.js} +1 -1
  176. package/server/public/assets/{kk-KZ-P5N5QNE5-ChxI9E6E.js → kk-KZ-P5N5QNE5-M9YAeME3.js} +1 -1
  177. package/server/public/assets/{km-KH-HSX4SM5Z-B75b52bE.js → km-KH-HSX4SM5Z-D3AhWnhV.js} +1 -1
  178. package/server/public/assets/{ko-KR-MTYHY66A-DS6CvLDO.js → ko-KR-MTYHY66A-Or_gIXhD.js} +1 -1
  179. package/server/public/assets/{ku-TR-6OUDTVRD-BS6Z0LpR.js → ku-TR-6OUDTVRD-DzxrabDk.js} +1 -1
  180. package/server/public/assets/{linear-DI0By7Db.js → linear-gEGsxSj1.js} +1 -1
  181. package/server/public/assets/{lt-LT-XHIRWOB4-DB6tYnhK.js → lt-LT-XHIRWOB4-_nyDG8BQ.js} +1 -1
  182. package/server/public/assets/{lv-LV-5QDEKY6T-Gz9wx9bk.js → lv-LV-5QDEKY6T-BuFYWU7T.js} +1 -1
  183. package/server/public/assets/{mindmap-definition-YA3MSWOX-CoXi3FPw.js → mindmap-definition-YA3MSWOX-D1eSwBX7.js} +1 -1
  184. package/server/public/assets/{mr-IN-CRQNXWMA-DmdIEQlN.js → mr-IN-CRQNXWMA-DYDxiULS.js} +1 -1
  185. package/server/public/assets/{my-MM-5M5IBNSE-CEZvJNBx.js → my-MM-5M5IBNSE-CESrtCUE.js} +1 -1
  186. package/server/public/assets/{nb-NO-T6EIAALU-CE-qhpnk.js → nb-NO-T6EIAALU-D89JFLrD.js} +1 -1
  187. package/server/public/assets/{nl-NL-IS3SIHDZ-CKhfMYRs.js → nl-NL-IS3SIHDZ-B5fTIJ0f.js} +1 -1
  188. package/server/public/assets/{nn-NO-6E72VCQL-_Q0hO_YM.js → nn-NO-6E72VCQL-BlZxpLDl.js} +1 -1
  189. package/server/public/assets/{oc-FR-POXYY2M6-BP_GWpdw.js → oc-FR-POXYY2M6-c2a5nnpF.js} +1 -1
  190. package/server/public/assets/{pa-IN-N4M65BXN-ImDjqKw6.js → pa-IN-N4M65BXN-DV1xiyB6.js} +1 -1
  191. package/server/public/assets/{pegDiagram-XKGWAZYB-D1tXITHn.js → pegDiagram-XKGWAZYB-BVNV8u8v.js} +1 -1
  192. package/server/public/assets/percentages-BXMCSKIN-CCSzzLCW.js +1 -0
  193. package/server/public/assets/{pieDiagram-E7YTZNPT-DNCuFpai.js → pieDiagram-E7YTZNPT-DgQFaD11.js} +1 -1
  194. package/server/public/assets/{pl-PL-T2D74RX3-yCxLpvKz.js → pl-PL-T2D74RX3-BYEPnwpR.js} +1 -1
  195. package/server/public/assets/{prod-DsNBMWxO.js → prod-DWloE-Tf.js} +7 -7
  196. package/server/public/assets/{pt-BR-5N22H2LF-CqNEOY9w.js → pt-BR-5N22H2LF-VzuifI42.js} +1 -1
  197. package/server/public/assets/{pt-PT-UZXXM6DQ-DBw4f0lS.js → pt-PT-UZXXM6DQ-Grmv30e9.js} +1 -1
  198. package/server/public/assets/{quadrantDiagram-AXDQQJYC-Bci1oSYb.js → quadrantDiagram-AXDQQJYC-431IKFV-.js} +1 -1
  199. package/server/public/assets/{railroadDiagram-O6MQD6OU-ikFAVJUY.js → railroadDiagram-O6MQD6OU-Borx2fG3.js} +1 -1
  200. package/server/public/assets/{requirementDiagram-BXWQKSXE-DKTszgVJ.js → requirementDiagram-BXWQKSXE-B_ifxbXC.js} +1 -1
  201. package/server/public/assets/{ro-RO-JPDTUUEW-BqgARQks.js → ro-RO-JPDTUUEW-BCcW97bo.js} +1 -1
  202. package/server/public/assets/{ru-RU-B4JR7IUQ-Q6Ic_n8I.js → ru-RU-B4JR7IUQ-jud8t1VI.js} +1 -1
  203. package/server/public/assets/{sankeyDiagram-P5KCCOFB-DWatmen5.js → sankeyDiagram-P5KCCOFB-BLpv-ZD0.js} +1 -1
  204. package/server/public/assets/{sequenceDiagram-WJ2MYXX4-J7gSm17h.js → sequenceDiagram-WJ2MYXX4-DAtQj3zB.js} +1 -1
  205. package/server/public/assets/{si-LK-N5RQ5JYF-ZVr3vkVm.js → si-LK-N5RQ5JYF-CslAaa-5.js} +1 -1
  206. package/server/public/assets/{sk-SK-C5VTKIMK-BSQsNJSS.js → sk-SK-C5VTKIMK-C9NvC7DU.js} +1 -1
  207. package/server/public/assets/{sl-SI-NN7IZMDC-CP8Z1otw.js → sl-SI-NN7IZMDC-Cy3n7hfM.js} +1 -1
  208. package/server/public/assets/{stateDiagram-D77RDMKH-yMPWEYtq.js → stateDiagram-D77RDMKH-oH2hEoN4.js} +1 -1
  209. package/server/public/assets/{stateDiagram-v2-MP3YSRHH-F5EGnPR_.js → stateDiagram-v2-MP3YSRHH-CIbAgOVy.js} +1 -1
  210. package/server/public/assets/subset-shared.chunk-Dba6DKdi.js +1 -0
  211. package/server/public/assets/{subset-worker.chunk-LpMaC50m.js → subset-worker.chunk-D5tg61BR.js} +1 -1
  212. package/server/public/assets/{sv-SE-XGPEYMSR-D8mOTDra.js → sv-SE-XGPEYMSR-DYf-SlR7.js} +1 -1
  213. package/server/public/assets/{swimlanes-42K2YHIH-JPQx_4qn.js → swimlanes-42K2YHIH-Do3SoYnq.js} +1 -1
  214. package/server/public/assets/{swimlanesDiagram-VR7AAH4N-CtNlg2el.js → swimlanesDiagram-VR7AAH4N-BYc814ml.js} +1 -1
  215. package/server/public/assets/{ta-IN-2NMHFXQM-ih9dhd8j.js → ta-IN-2NMHFXQM-iGF2eo5t.js} +1 -1
  216. package/server/public/assets/{th-TH-HPSO5L25-BhmRG3ne.js → th-TH-HPSO5L25-CGfN7mnR.js} +1 -1
  217. package/server/public/assets/{timeline-definition-24CTP7MA-lLCs5kg1.js → timeline-definition-24CTP7MA-DUI_xi15.js} +1 -1
  218. package/server/public/assets/{tr-TR-DEFEU3FU-B5teU_eL.js → tr-TR-DEFEU3FU-C1btuwU_.js} +1 -1
  219. package/server/public/assets/{uk-UA-QMV73CPH-CsUaR7s6.js → uk-UA-QMV73CPH-DLoTLQOx.js} +1 -1
  220. package/server/public/assets/{vennDiagram-4TSXK5OY-CsO1kQiW.js → vennDiagram-4TSXK5OY-DioINyLf.js} +1 -1
  221. package/server/public/assets/{vi-VN-M7AON7JQ-qfVnGZto.js → vi-VN-M7AON7JQ-CBwbwrm4.js} +1 -1
  222. package/server/public/assets/{wardleyDiagram-VM6X3IG4-C2ajkJrW.js → wardleyDiagram-VM6X3IG4-gd0gikXq.js} +1 -1
  223. package/server/public/assets/{xychartDiagram-S5SC5T6Z-oJOShKfW.js → xychartDiagram-S5SC5T6Z-Bx86zaAl.js} +1 -1
  224. package/server/public/assets/{zh-CN-LNUGB5OW-vDDEdkjv.js → zh-CN-LNUGB5OW-BcRNKoOf.js} +1 -1
  225. package/server/public/assets/{zh-HK-E62DVLB3-Fcvngm0F.js → zh-HK-E62DVLB3-Cu_ESPq6.js} +1 -1
  226. package/server/public/assets/{zh-TW-RAJ6MFWO-BCuionzc.js → zh-TW-RAJ6MFWO-CHnOC09j.js} +1 -1
  227. package/server/public/index.html +1 -1
  228. package/server/queries-qqOXiaNr.js +2 -0
  229. package/server/{ready-timeout-failure-C45bsjI2.js → ready-timeout-failure-BwzL5OKo.js} +2 -2
  230. package/server/{rebuild-stack-uaOTI93a.js → rebuild-stack-BtpTM6VR.js} +3 -3
  231. package/server/rebuild-stack-FjChJ9yi.js +3 -0
  232. package/server/{release-engine-C5d610mi.js → release-engine-Y29fEWE7.js} +2 -2
  233. package/server/{release-set-BFsZCA0J.js → release-set-BacZ1N_f.js} +1 -1
  234. package/server/{remote-xutkDygz.js → remote-BUaz6B3t.js} +2 -2
  235. package/server/{remote-qoNG2iir.js → remote-Day75qqe.js} +2 -2
  236. package/server/{remote-agents-CJYoW12q.js → remote-agents-BlqgB9dc.js} +1 -1
  237. package/server/{remote-agents-9UKtOTeT.js → remote-agents-D6G8Z0T_.js} +3 -3
  238. package/server/{requirements-tNHrKKgl.js → requirements-DM6TvCsN.js} +1 -1
  239. package/server/{requirements-COv0qjkH.js → requirements-GXRVCopE.js} +1 -1
  240. package/server/{resolver-Did8ZX_j.js → resolver-D6SskqKx.js} +1 -1
  241. package/server/{resolver-CAP4HecA.js → resolver-TNBoD1Lh.js} +2 -2
  242. package/server/resume-BvqNBf96.js +2 -0
  243. package/server/{review-agent-C6_zRhE-.js → review-agent-BS5R2OP1.js} +17 -17
  244. package/server/{review-agent-CTNzg6ag.js → review-agent-D7b3qt2U.js} +2 -2
  245. package/server/{review-artifacts-DFXkCDKn.js → review-artifacts-CwnJeObv.js} +2 -2
  246. package/server/{review-context-2LAh97tE.js → review-context-BXW1m3vK.js} +1 -1
  247. package/server/{review-convoy-BE7hwRKU.js → review-convoy-7EL6lofH.js} +9 -9
  248. package/server/{review-convoy-D4ddjcsE.js → review-convoy-BNYVD3y4.js} +1 -1
  249. package/server/{review-monitor-BRSWLITW.js → review-monitor-BoxMGLwm.js} +1 -1
  250. package/server/{review-request-route-fgWQMyrT.js → review-request-route-CMR7xtJK.js} +2 -2
  251. package/server/{review-rounds-wYEYRB2e.js → review-rounds-BrPtQK9g.js} +1 -1
  252. package/server/{review-rounds-C8S_nYSs.js → review-rounds-CcXAeFDu.js} +1 -1
  253. package/server/{review-synthesis-recovery-DKnQIwwI.js → review-synthesis-recovery-BVuPGjZM.js} +7 -7
  254. package/server/{review-verdict-feedback-CGHG6ZkU.js → review-verdict-feedback-Blt-Rdbt.js} +5 -5
  255. package/server/{rollup-Bm6X7jIb.js → rollup-8hDNviZE.js} +2 -2
  256. package/server/{rollup-C9m7LkEy.js → rollup-Cf7vF55-.js} +1 -1
  257. package/server/{runtime-command-D0JVmWKZ.js → runtime-command-0C3oTZGN.js} +5 -5
  258. package/server/runtime-command-D91mhWSL.js +2 -0
  259. package/server/runtimes-B7zJfZXo.js +6 -0
  260. package/server/{runtimes-DUvSjnkK.js → runtimes-CiPufB1e.js} +9 -9
  261. package/server/{sequencer-agent-BGwo_hJY.js → sequencer-agent-C_RaZl3z.js} +4 -4
  262. package/server/server.js +164 -249
  263. package/server/{service-DKHnfIwb.js → service-Bn8Zn0WW.js} +36 -36
  264. package/server/{session-fork-CaUxe-sI.js → session-fork-CKpcJBY3.js} +1 -1
  265. package/server/{settings-5VVqbwVL.js → settings-DNxbkedU.js} +1 -1
  266. package/server/settings-DeJQpBJZ.js +2 -0
  267. package/server/{ship-log-CfuRUZaI.js → ship-log-DhPEIcrG.js} +1 -1
  268. package/server/{ship-log-CRk1pL0V.js → ship-log-Di-_dljC.js} +1 -1
  269. package/server/{smart-compaction-BA2YGYS7.js → smart-compaction-CVIjvKaC.js} +2 -2
  270. package/server/{smart-compaction-ni-rHctf.js → smart-compaction-mz6E9fph.js} +1 -1
  271. package/server/{spawn-planning-session-Dp2FsjWk.js → spawn-planning-session-D9vDkQVz.js} +2 -2
  272. package/server/{spawn-planning-session-38jno6va.js → spawn-planning-session-DEr2g-vN.js} +9 -9
  273. package/server/{specialist-completion-DfoJQPHz.js → specialist-completion-ThQ5mCYp.js} +1 -1
  274. package/server/{specialists-DCUqID3m.js → specialists--u4Nwkwy.js} +1 -1
  275. package/server/{specialists-DPjE2JBt.js → specialists-BsiHHXL7.js} +51 -51
  276. package/server/{specialists-Dhqnld3A.js → specialists-C5WxILVV.js} +9 -9
  277. package/server/{specialists-BOMH7wlq.js → specialists-ChpiIuS7.js} +1 -1
  278. package/server/{src-DEWY9s_G.js → src-Bjf3_TJI.js} +7 -7
  279. package/server/{src-CUtp-SJF.js → src-Dc_h_m1_.js} +3 -3
  280. package/server/{strike-completion-OPcaVqFd.js → strike-completion-CIQA9E-C.js} +2 -2
  281. package/server/strike-completion-PiFiEtoo.js +2 -0
  282. package/server/{subagents-DNw4YyMa.js → subagents-P7wfucdb.js} +2 -2
  283. package/server/{substrate-stats-DuuksQHp.js → substrate-stats-0PCKLsMv.js} +18 -18
  284. package/server/summary-fork--LXvyQuT.js +3 -0
  285. package/server/{summary-fork-BfuGi-S2.js → summary-fork-DQGtPP_x.js} +5 -5
  286. package/server/supervisor-DRm9uLsZ.js +2 -0
  287. package/server/{supervisor-CWskvoz3.js → supervisor-De-GYL91.js} +1 -1
  288. package/server/{sync-startup-gate-Cz-taE5H.js → sync-startup-gate-BfacT-bh.js} +1 -1
  289. package/server/{system-health-service-7C9fafx7.js → system-health-service-CjdWgKic.js} +3 -3
  290. package/server/{system-health-service-SB_Kjxqf.js → system-health-service-Cqpct_Qo.js} +1 -1
  291. package/server/{system-prerequisites-N5usDkOl.js → system-prerequisites-Caf37eBm.js} +2 -2
  292. package/server/{system-prerequisites-CJzu1FQH.js → system-prerequisites-G9se0Lms.js} +1 -1
  293. package/server/{teardown-workspace-BOnPHDQi.js → teardown-workspace-Dvwa4r5M.js} +7 -7
  294. package/server/termination-DYiDx_bB.js +2 -0
  295. package/server/{test-agent-queue-D3koTErW.js → test-agent-queue-BZ57BL-z.js} +3 -3
  296. package/server/{test-verdict-DcQHIB36.js → test-verdict-DoCOnudE.js} +1 -1
  297. package/server/{test-verdict-D5MJ__S5.js → test-verdict-XI4egwYk.js} +1 -1
  298. package/server/{token-BXOsGOq0.js → token-BVSQ0ZbH.js} +1 -1
  299. package/server/{transcript-turn-DxkkFudJ.js → transcript-turn-yL1_qVmT.js} +1 -1
  300. package/server/{types-D4H9A_IK.js → types-8Bdo_m9Z.js} +1 -1
  301. package/server/{uat-train-qJFsN-X4.js → uat-train-BI6lNv6X.js} +11 -11
  302. package/server/{uat-train-C3g4eTwu.js → uat-train-BqMuW417.js} +1 -1
  303. package/server/{validation-BX4n3p5b.js → validation-B0CMIi5c.js} +2 -2
  304. package/server/{validation-C1j7--xs.js → validation-UgpT2GVW.js} +1 -1
  305. package/server/{verification-escalation-BOuG6ixX.js → verification-escalation-8_JfF7-z.js} +3 -3
  306. package/server/{verification-escalation-C76ZbMod.js → verification-escalation-DAjaXHwo.js} +1 -1
  307. package/server/{verification-runner-BMtIaVjU.js → verification-runner-D0DG7ixm.js} +10 -10
  308. package/server/{verification-runner-C-sxcxTO.js → verification-runner-D8-ijYmm.js} +2 -2
  309. package/server/{vtt-parser-DSX4wASE.js → vtt-parser-uNggfu87.js} +1 -1
  310. package/server/{work-agent-prompt-p9ir8Hid.js → work-agent-prompt-BNUi27LZ.js} +2 -2
  311. package/server/workflows-Dr-Yo76E.js +2 -0
  312. package/server/{workflows-DzA62y5W.js → workflows-kIv_z7zJ.js} +8 -8
  313. package/server/{workspace-manager-Nljndsty.js → workspace-manager-D0auAuId.js} +2 -2
  314. package/server/{workspace-manager-yEOe-AK7.js → workspace-manager-t2ylzCn0.js} +2 -2
  315. package/server/{workspaces-DVWUbrua.js → workspaces-C7sOgLNZ.js} +42 -42
  316. package/server/{worktree-ops-BvwkJJ--.js → worktree-ops-Cenxxhk2.js} +1 -1
  317. package/server/{worktree-ops-DzDaxzI6.js → worktree-ops-D_IXGBtP.js} +8 -8
  318. package/server/activity-H6Jf6jYF.js +0 -2
  319. package/server/agent-pane-io-BmNbvGUo.js +0 -2
  320. package/server/archive-planning-BJck5ngN.js +0 -2
  321. package/server/cli-DVDU4QF2.js +0 -2
  322. package/server/daemon-CWmWlc4E.js +0 -2
  323. package/server/dist-BGSAS-U9.js +0 -3
  324. package/server/ensure-devcontainer-C_OTsIz6.js +0 -2
  325. package/server/evict-CgFggY65.js +0 -2
  326. package/server/harness-binary-CF3OHJwR.js +0 -2
  327. package/server/merge-gate-Bq6XDCW9.js +0 -2
  328. package/server/merge-ops-C2DJ5UJh.js +0 -2
  329. package/server/messaging-CKpa4quh.js +0 -2
  330. package/server/public/assets/image-GAAHSSAO-CFdI_QVJ.js +0 -1
  331. package/server/public/assets/percentages-BXMCSKIN-BzJ4SOUv.js +0 -1
  332. package/server/public/assets/subset-shared.chunk-Crnl6u-o.js +0 -1
  333. package/server/queries-XNzQnDjP.js +0 -2
  334. package/server/rebuild-stack-CJBh6Pa6.js +0 -3
  335. package/server/resume-BRxpAyj3.js +0 -2
  336. package/server/runtime-command-BkQQs0N2.js +0 -2
  337. package/server/runtimes-D68npgJJ.js +0 -6
  338. package/server/settings-CFLNK2bY.js +0 -2
  339. package/server/strike-completion-DyPF_uhD.js +0 -2
  340. package/server/summary-fork-Dm46AXqo.js +0 -3
  341. package/server/supervisor-daYV0xlI.js +0 -2
  342. package/server/termination-DTOwIt3S.js +0 -2
  343. package/server/workflows-Dp8qhcha.js +0 -2
  344. /package/server/{merge-rebase-Cf3Dr76u.js → merge-rebase-D1nUZmH_.js} +0 -0
@@ -1,7 +1,7 @@
1
1
  import { $n as getHarnessBehavior, Bt as init_openai_compatible_proxy, Ft as resolveKimiCodeModelAlias, Mt as init_providers, Pt as qualifyPiModel, ci as init_paths, di as packageRoot, jt as getProviderForModel, si as getOverdeckHome, zt as getDashScopeUpstreamBaseUrl } from "./config-yaml-IYiKufOR.js";
2
2
  import { G as getUiThemeSync, K as init_ui_theme, W as colorFgBgForTheme } from "./tmux-DEMhsmUK.js";
3
3
  import { t as init_behavior } from "./behavior-CGx3qOPV.js";
4
- import { a as toCodexSandboxValue } from "./codex-BE1w7ARL.js";
4
+ import { a as toCodexSandboxValue } from "./codex-BrY7aOvP.js";
5
5
  import { r as museDataHome } from "./muse-DxPGs9oz.js";
6
6
  import { n as shellQuote$1, t as init_shell_quote } from "./shell-quote-DhKDnhqg.js";
7
7
  import { a as shellQuoteModelId, t as getClaudeCodeLaunchModel } from "./kimi-claude-routing-C53_lRiN.js";
@@ -1476,4 +1476,4 @@ function buildMuseCommand(config, useExec) {
1476
1476
  //#endregion
1477
1477
  export { generateLauncherScript as n, resolveKimiNativeEffort as r, CONVERSATION_SESSION_ENDED_MARKER as t };
1478
1478
 
1479
- //# sourceMappingURL=launcher-generator-BofB3FX_.js.map
1479
+ //# sourceMappingURL=launcher-generator-COHAIhyH.js.map
@@ -98,4 +98,4 @@ async function stopLegacyTldrDaemons(checkouts = listCandidateCheckouts(), deps
98
98
  //#endregion
99
99
  export { stopLegacyTldrDaemons };
100
100
 
101
- //# sourceMappingURL=legacy-tldr-cleanup-DJX9V9s4.js.map
101
+ //# sourceMappingURL=legacy-tldr-cleanup-RqGuveuz.js.map
@@ -1,5 +1,5 @@
1
- import { t as teardownWorkspace } from "./teardown-workspace-BOnPHDQi.js";
2
- import { i as stepSkipped, n as stepFailed, r as stepOk } from "./types-D4H9A_IK.js";
3
- import { t as archivePlanning } from "./archive-planning-BvwP8nTs.js";
4
- import { a as deepWipe, i as closeOut, l as closeIssue, n as cancelIssueWorkflow, o as resetToTodo, r as close, t as approve } from "./workflows-DzA62y5W.js";
1
+ import { t as teardownWorkspace } from "./teardown-workspace-Dvwa4r5M.js";
2
+ import { i as stepSkipped, n as stepFailed, r as stepOk } from "./types-8Bdo_m9Z.js";
3
+ import { t as archivePlanning } from "./archive-planning-vbycG6oX.js";
4
+ import { a as deepWipe, i as closeOut, l as closeIssue, n as cancelIssueWorkflow, o as resetToTodo, r as close, t as approve } from "./workflows-kIv_z7zJ.js";
5
5
  export { approve, archivePlanning, cancelIssueWorkflow, close, closeIssue, closeOut, deepWipe, resetToTodo, stepFailed, stepOk, stepSkipped, teardownWorkspace };
@@ -1,2 +1,2 @@
1
- import { o as processLinearMcpAuthWake } from "./linear-mcp-auth-COqdLkXb.js";
1
+ import { o as processLinearMcpAuthWake } from "./linear-mcp-auth-JIDCfEz0.js";
2
2
  export { processLinearMcpAuthWake };
@@ -1,8 +1,8 @@
1
1
  import { a as init_event_store, i as initEventStore } from "./event-store-C2bwt7eZ.js";
2
2
  import { n as getAgentDir } from "./agent-state-read-DU7FNlQV.js";
3
3
  import { m as init_agent_state } from "./agent-state-e9n26qYW.js";
4
- import { D as messageAgentWithOutcome, pt as AmbiguousKeyedDeliveryError } from "./agents-CKFhKqJp.js";
5
- import { C as isKeyedSubmitBlockedMenuError, g as KeyedSubmitTargetDeadError, h as KeyedMarkerVerificationError } from "./auto-spawn-consent-DRgQbl8k.js";
4
+ import { D as messageAgentWithOutcome, pt as AmbiguousKeyedDeliveryError } from "./agents-DebP6rx9.js";
5
+ import { C as isKeyedSubmitBlockedMenuError, g as KeyedSubmitTargetDeadError, h as KeyedMarkerVerificationError } from "./auto-spawn-consent-BxXl-3y7.js";
6
6
  import { n as createPromiseCoalescer } from "./in-flight-guard-CxK3Tq0I.js";
7
7
  import { join } from "node:path";
8
8
  import { mkdir, readFile, rename, writeFile } from "node:fs/promises";
@@ -275,4 +275,4 @@ function processLinearMcpAuthWake() {
275
275
  //#endregion
276
276
  export { computeLinearMcpAuthWakeSet as a, appendLinearMcpAuthHealthyEvent as i, LINEAR_MCP_AUTH_WAKE_COPY as n, processLinearMcpAuthWake as o, appendLinearMcpAuthCallbackRelayedEvent as r, resolveLinearMcpAuthIntervention as s, LINEAR_MCP_AUTH_URL_TTL_MS as t };
277
277
 
278
- //# sourceMappingURL=linear-mcp-auth-COqdLkXb.js.map
278
+ //# sourceMappingURL=linear-mcp-auth-JIDCfEz0.js.map
@@ -2,12 +2,12 @@ import { m as loadConfigSync, u as init_load } from "./config-yaml-IYiKufOR.js";
2
2
  import { b as init_runtime_state } from "./agent-state-read-DU7FNlQV.js";
3
3
  import { m as init_agent_state } from "./agent-state-e9n26qYW.js";
4
4
  import { p as init_projects, w as resolveProjectFromIssueSync } from "./projects-CvLJPQjr.js";
5
- import "./agents-CKFhKqJp.js";
5
+ import "./agents-DebP6rx9.js";
6
6
  import "./docker-stats-Byk0vwkY.js";
7
- import "./auto-spawn-consent-DRgQbl8k.js";
8
- import { t as readCpuPsi } from "./cpu-psi-BN99YdGz.js";
9
- import { r as loadIssueStatesForProject } from "./derived-issue-state-CCHbqKjW.js";
10
- import { m as readProcMemory } from "./system-health-service-7C9fafx7.js";
7
+ import "./auto-spawn-consent-BxXl-3y7.js";
8
+ import { t as readCpuPsi } from "./cpu-psi-DvzVl1bx.js";
9
+ import { r as loadIssueStatesForProject } from "./derived-issue-state-CmvMPi-R.js";
10
+ import { m as readProcMemory } from "./system-health-service-CjdWgKic.js";
11
11
  import "effect";
12
12
  import { cpus, loadavg } from "node:os";
13
13
  import { execFile } from "node:child_process";
@@ -337,4 +337,4 @@ async function assessMemoryPressure() {
337
337
  //#endregion
338
338
  export { readGovernorWatchReserveBytes as a, formatUptime as c, readGovernorReserves as i, getContainerHistory as l, classifyMemoryPressure as n, buildResourceStacks as o, readGovernorPsiCalmConfig as r, loadStackIssueStates as s, assessMemoryPressure as t, getCurrentDockerStats as u };
339
339
 
340
- //# sourceMappingURL=memory-governor-BQg4GOEF.js.map
340
+ //# sourceMappingURL=memory-governor-C3T769G6.js.map
@@ -232,4 +232,4 @@ function getAllActiveQueues() {
232
232
  //#endregion
233
233
  export { markMergeProcessing as a, getCurrentMerge as i, enqueueMerge as n, removeQueuedMerge as o, getAllActiveQueues as r, dequeueMerge as t };
234
234
 
235
- //# sourceMappingURL=merge-BS-9EAg0.js.map
235
+ //# sourceMappingURL=merge-DaJul9Xt.js.map
@@ -1,2 +1,2 @@
1
- import { a as postMergeLifecycle, c as resetPostMergeState } from "./merge-agent-CkEA7spe.js";
1
+ import { a as postMergeLifecycle, c as resetPostMergeState } from "./merge-agent-CCs-JQhC.js";
2
2
  export { postMergeLifecycle, resetPostMergeState };
@@ -8,7 +8,7 @@ import { i as init_git_utils, n as cleanupStaleLocks } from "./git-utils-BxC6cp8
8
8
  import { a as runSyncGitCommand, i as probeGitOperationHeads, n as SyncGitCommandTimeoutError, r as ensureSyncGitQuiescent, t as SyncGitCommandAbortError } from "./sync-main-git-zxjbQnFG.js";
9
9
  import { t as enqueueMergedDockerCleanup } from "./merged-docker-cleanup-worker-B-9m8RA6.js";
10
10
  import { n as verifyMergedBeforeLifecycle } from "./merge-verification-BrNT_8-c.js";
11
- import { n as capturePipelineStageForIssue } from "./pipeline-BxDHIXwk.js";
11
+ import { n as capturePipelineStageForIssue } from "./pipeline-CZPx_h0w.js";
12
12
  import { Effect } from "effect";
13
13
  import { basename, dirname } from "path";
14
14
  import { fileURLToPath } from "url";
@@ -269,7 +269,7 @@ async function postMergeLifecycle(issueId, projectPath, sourceBranch, options) {
269
269
  }
270
270
  console.log(`[merge-agent] Running post-merge verify handoff for ${issueId}`);
271
271
  try {
272
- const { cleanupMergedLabels } = await import("./label-cleanup-CIoPmmbd.js");
272
+ const { cleanupMergedLabels } = await import("./label-cleanup-C7weaJlZ.js");
273
273
  const ghResolved = resolveGitHubIssue(issueId);
274
274
  const labelCtx = ghResolved.isGitHub ? {
275
275
  issueId,
@@ -309,10 +309,10 @@ async function postMergeLifecycle(issueId, projectPath, sourceBranch, options) {
309
309
  console.warn(`[merge-agent] Async post-merge release trigger failed for ${issueId}: ${err instanceof Error ? err.message : String(err)}`);
310
310
  });
311
311
  try {
312
- const { setAgentPaused, getAgentState } = await import("./agents-DfEYd_I0.js");
312
+ const { setAgentPaused, getAgentState } = await import("./agents-C9oho7kE.js");
313
313
  const closeAgentTerminal = async (agentId) => {
314
314
  try {
315
- const { closeAgentPane } = await import("./launch-DCAI36Nq.js");
315
+ const { closeAgentPane } = await import("./launch-DlClnoCc.js");
316
316
  return await closeAgentPane(agentId);
317
317
  } catch (err) {
318
318
  console.warn(`[merge-agent] Could not close ${agentId} terminal: ${err}`);
@@ -346,7 +346,7 @@ async function postMergeLifecycle(issueId, projectPath, sourceBranch, options) {
346
346
  console.warn(`[merge-agent] Could not pause or kill agent sessions: ${err}`);
347
347
  }
348
348
  try {
349
- const { killAllReviewerSessions } = await import("./review-agent-CTNzg6ag.js");
349
+ const { killAllReviewerSessions } = await import("./review-agent-D7b3qt2U.js");
350
350
  const { resolveProjectFromIssueSync } = await import("./projects-CjRKDa9o.js");
351
351
  const projectKey = resolveProjectFromIssueSync(issueId)?.projectKey;
352
352
  if (projectKey) {
@@ -361,7 +361,7 @@ async function postMergeLifecycle(issueId, projectPath, sourceBranch, options) {
361
361
  }
362
362
  await killPostMergeRoleSessions(issueId);
363
363
  try {
364
- const { createResetMarker } = await import("./cli-DVDU4QF2.js");
364
+ const { createResetMarker } = await import("./cli-DHZ5Ecrt.js");
365
365
  const timestamp = (/* @__PURE__ */ new Date()).toISOString();
366
366
  const marker = await createResetMarker({
367
367
  projectId: basename(projectPath),
@@ -408,7 +408,7 @@ async function triggerPostMergeReleaseIfConfigured(issueId, projectPath) {
408
408
  return;
409
409
  }
410
410
  _releaseTriggered.add(issueId);
411
- const { runRelease } = await import("./release-engine-C5d610mi.js");
411
+ const { runRelease } = await import("./release-engine-Y29fEWE7.js");
412
412
  try {
413
413
  await runRelease(issueId, projectPath);
414
414
  } catch (err) {
@@ -420,7 +420,7 @@ async function triggerPostMergeReleaseIfConfigured(issueId, projectPath) {
420
420
  async function transitionIssueToVerifyingOnMain(issueId, projectPath) {
421
421
  const [effectModule, issueLifecycleModule, githubModule, linearModule, rallyModule, errorsModule] = await Promise.all([
422
422
  import("effect"),
423
- import("./issue-lifecycle-Y8IGkADf.js"),
423
+ import("./issue-lifecycle-Dt9AFW70.js"),
424
424
  import("./github-client-CYT-GIqq.js"),
425
425
  import("./linear-client-TiTV8mbD.js"),
426
426
  import("./rally-client-CG_z2-r2.js"),
@@ -505,7 +505,7 @@ async function killPostMergeRoleSessions(issueId) {
505
505
  console.warn(`[merge-agent] Could not kill role sessions for ${issueId}: ${err}`);
506
506
  }
507
507
  try {
508
- const { closeIssuePanes } = await import("./launch-DCAI36Nq.js");
508
+ const { closeIssuePanes } = await import("./launch-DlClnoCc.js");
509
509
  const closed = await closeIssuePanes(issueId, { roles: POST_MERGE_PANE_ROLES });
510
510
  if (closed.length > 0) {
511
511
  console.log(`[merge-agent] ✓ Closed ${closed.length} review/test/uat pane(s) for ${issueId}: ${closed.join(", ")}`);
@@ -806,4 +806,4 @@ async function syncMainIntoWorkspace(projectPath, issueId, signal) {
806
806
  //#endregion
807
807
  export { postMergeLifecycle as a, resetPostMergeState as c, isSyncMainMainPreferredPath as i, autoCommitWorkspaceChangesBeforeSync as n, syncMainIntoWorkspace as o, isAutoCommitExcludedPath as r, triggerPostMergeReleaseIfConfigured as s, AUTO_COMMIT_EXCLUDED_PATHS as t };
808
808
 
809
- //# sourceMappingURL=merge-agent-CkEA7spe.js.map
809
+ //# sourceMappingURL=merge-agent-CCs-JQhC.js.map
@@ -44,4 +44,4 @@ async function shipMergeBatch(issueIds, deps) {
44
44
  //#endregion
45
45
  export { shipMergeBatch };
46
46
 
47
- //# sourceMappingURL=merge-batch-CSWibuAl.js.map
47
+ //# sourceMappingURL=merge-batch-BBxSLbaz.js.map
@@ -0,0 +1,2 @@
1
+ import { r as evaluateIssueMergeGate } from "./merge-gate-D5zTeaC0.js";
2
+ export { evaluateIssueMergeGate };
@@ -2,7 +2,7 @@ import { d as getProjectSync, p as init_projects, w as resolveProjectFromIssueSy
2
2
  import { a as recordApprovalAtHead } from "./approval-at-head-D9bCfETL.js";
3
3
  import { a as getPrFacts, n as evaluateMergeReadiness, p as withForgeApprovalAtHead, r as forgeApprovalAtHead } from "./pr-facts-C9jNdDiz.js";
4
4
  import { r as issueRunsTestsOnCi } from "./verification-tests-mode-CCTmNT_N.js";
5
- import { s as issueHoldsForUat } from "./auto-merge-eligibility-De2WgmQS.js";
5
+ import { s as issueHoldsForUat } from "./auto-merge-eligibility-f1D8TwAj.js";
6
6
  //#region ../../lib/cloister/merge-gate.ts
7
7
  init_projects();
8
8
  /** The issue's project config, or null when no project claims the issue. */
@@ -148,4 +148,4 @@ async function readApprovalStandsAtHead(issueId, deps = {}) {
148
148
  //#endregion
149
149
  export { readApprovalStandsAtHead as i, evaluateConflictRepairGate as n, evaluateIssueMergeGate as r, defaultUatRequired as t };
150
150
 
151
- //# sourceMappingURL=merge-gate-LOtvWv5K.js.map
151
+ //# sourceMappingURL=merge-gate-D5zTeaC0.js.map
@@ -0,0 +1,2 @@
1
+ import { l as triggerMerge } from "./workspaces-C7sOgLNZ.js";
2
+ export { triggerMerge };
@@ -1,2 +1,2 @@
1
- import { n as listInFlightIssuesWithPr, t as getMergeReadyIssues } from "./merge-ready-set-8yRGoXfN.js";
1
+ import { n as listInFlightIssuesWithPr, t as getMergeReadyIssues } from "./merge-ready-set-DlKHumrb.js";
2
2
  export { getMergeReadyIssues, listInFlightIssuesWithPr };
@@ -1,5 +1,5 @@
1
1
  import { n as resolvePipelineMembership } from "./pipeline-membership-DcD4z-wd.js";
2
- import { r as evaluateIssueMergeGate } from "./merge-gate-LOtvWv5K.js";
2
+ import { r as evaluateIssueMergeGate } from "./merge-gate-D5zTeaC0.js";
3
3
  //#region ../../lib/cloister/merge-ready-set.ts
4
4
  /**
5
5
  * The merge-ready set, computed rather than stored (PAN-3917, FR-9).
@@ -41,4 +41,4 @@ async function getMergeReadyIssues(deps = {}) {
41
41
  //#endregion
42
42
  export { listInFlightIssuesWithPr as n, getMergeReadyIssues as t };
43
43
 
44
- //# sourceMappingURL=merge-ready-set-8yRGoXfN.js.map
44
+ //# sourceMappingURL=merge-ready-set-DlKHumrb.js.map
@@ -1,2 +1,2 @@
1
- import { a as getMergeTrainConfigPayload, c as getPendingAutoMergePayload, d as postMergeTrainAssemblePayload, f as postMergeTrainConfigPayload, i as getAutoMergeProblemPayload, l as mergeTrainRouteLayer, m as postMergeTrainMergeNextPayload, n as deleteAutoMergePayload, o as getMergeTrainGenerationsPayload, p as postMergeTrainGenerationShipPayload, r as getAutoMergePolicyPayload, s as getMergeTrainQueuesPayload, t as autoMergePolicyRefusal, u as postAutoMergeSchedulePayload } from "./merge-train-Cee9LY5p.js";
1
+ import { a as getMergeTrainConfigPayload, c as getPendingAutoMergePayload, d as postMergeTrainAssemblePayload, f as postMergeTrainConfigPayload, i as getAutoMergeProblemPayload, l as mergeTrainRouteLayer, m as postMergeTrainMergeNextPayload, n as deleteAutoMergePayload, o as getMergeTrainGenerationsPayload, p as postMergeTrainGenerationShipPayload, r as getAutoMergePolicyPayload, s as getMergeTrainQueuesPayload, t as autoMergePolicyRefusal, u as postAutoMergeSchedulePayload } from "./merge-train-Dg5cr8mS.js";
2
2
  export { autoMergePolicyRefusal, mergeTrainRouteLayer as default, mergeTrainRouteLayer, deleteAutoMergePayload, getAutoMergePolicyPayload, getAutoMergeProblemPayload, getMergeTrainConfigPayload, getMergeTrainGenerationsPayload, getMergeTrainQueuesPayload, getPendingAutoMergePayload, postAutoMergeSchedulePayload, postMergeTrainAssemblePayload, postMergeTrainConfigPayload, postMergeTrainGenerationShipPayload, postMergeTrainMergeNextPayload };
@@ -71,9 +71,9 @@ async function runMergeTrainReconcile(mergedIssueId, opts = {}) {
71
71
  if (!config) return false;
72
72
  return isMergeTrainEnabledForProject(config);
73
73
  }))()) return [];
74
- return reconcileStaleSiblings(mergedIssueId, opts.deps ?? (await import("./merge-train-deps-BCvx9OJh.js")).buildRealReconcileDeps());
74
+ return reconcileStaleSiblings(mergedIssueId, opts.deps ?? (await import("./merge-train-deps-D1MTGotL.js")).buildRealReconcileDeps());
75
75
  }
76
76
  //#endregion
77
77
  export { runMergeTrainReconcile };
78
78
 
79
- //# sourceMappingURL=merge-train-CfvTn1fw.js.map
79
+ //# sourceMappingURL=merge-train-Cx7vXfxi.js.map
@@ -1,20 +1,20 @@
1
1
  import { _ as jsonResponse, a as validateOrigin } from "./origin-validation-FA-4ExJV.js";
2
2
  import { a as emitActivityTts, s as init_activity_logger } from "./activity-logger-64dEonKB.js";
3
3
  import { _ as listProjectsSync, d as getProjectSync, p as init_projects, w as resolveProjectFromIssueSync } from "./projects-CvLJPQjr.js";
4
- import { d as listReadyIssuesForProject, l as issueIdFromBranch, p as listRepoPullRequestsStaleOk } from "./derived-issue-state-QLhfZgf5.js";
5
- import { n as init_issue_service_singleton, t as getSharedIssueService } from "./issue-service-singleton-QPDr49TB.js";
4
+ import { d as listReadyIssuesForProject, l as issueIdFromBranch, p as listRepoPullRequestsStaleOk } from "./derived-issue-state-Dz7ti1og.js";
5
+ import { n as init_issue_service_singleton, t as getSharedIssueService } from "./issue-service-singleton-DwYi9Oie.js";
6
6
  import { d as rejectUnsafeDashboardMutationRequest, o as hasDashboardInternalToken, v as httpHandler } from "./dashboard-auth-DmNykD8y.js";
7
7
  import { b as setMergeTrainEnabled, d as isFlywheelAutoPickupBacklog, f as isFlywheelRequireUatBeforeMerge, g as setFlywheelAutoPickupBacklog, p as isMergeTrainEnabled, v as setFlywheelRequireUatBeforeMerge } from "./control-settings-RLL3FPGD.js";
8
8
  import { a as getPrFacts } from "./pr-facts-C9jNdDiz.js";
9
- import { r as loadIssueStatesForProject } from "./derived-issue-state-CCHbqKjW.js";
9
+ import { r as loadIssueStatesForProject } from "./derived-issue-state-CmvMPi-R.js";
10
10
  import { b as scheduleAutoMergeWithResult, f as listProblemAutoMerges, n as countActionableAutoMerges, r as getActionableAutoMerge, t as cancelPending, u as listActiveAutoMerges } from "./merge-sync-B0eZ0QwC.js";
11
11
  import { i as parseArtifactRef } from "./forge-Dda6MokF.js";
12
12
  import { n as resolvePipelineMembership } from "./pipeline-membership-DcD4z-wd.js";
13
13
  import { i as gatherProjectLensSignals } from "./pipeline-membership-gather-STT4bndD.js";
14
- import { c as getProjectAutoMergeDefault, i as autoMergeFromLabels, l as projectHoldsForUat, o as isAutoMergeEligible, s as issueHoldsForUat, u as shouldHoldForUat } from "./auto-merge-eligibility-De2WgmQS.js";
15
- import { r as evaluateIssueMergeGate } from "./merge-gate-LOtvWv5K.js";
16
- import { o as removeQueuedMerge } from "./merge-BS-9EAg0.js";
17
- import { n as listInFlightIssuesWithPr } from "./merge-ready-set-8yRGoXfN.js";
14
+ import { c as getProjectAutoMergeDefault, i as autoMergeFromLabels, l as projectHoldsForUat, o as isAutoMergeEligible, s as issueHoldsForUat, u as shouldHoldForUat } from "./auto-merge-eligibility-f1D8TwAj.js";
15
+ import { r as evaluateIssueMergeGate } from "./merge-gate-D5zTeaC0.js";
16
+ import { o as removeQueuedMerge } from "./merge-DaJul9Xt.js";
17
+ import { n as listInFlightIssuesWithPr } from "./merge-ready-set-DlKHumrb.js";
18
18
  import { resolve } from "node:path";
19
19
  import { Effect, Layer } from "effect";
20
20
  import { HttpRouter, HttpServerRequest } from "effect/unstable/http";
@@ -182,7 +182,7 @@ async function queueEntryForProject(key, config, enabled) {
182
182
  ...base,
183
183
  queue: []
184
184
  };
185
- const { computeMergeQueueFromCandidates } = await import("./flywheel-merge-order-BjbLhtpF.js");
185
+ const { computeMergeQueueFromCandidates } = await import("./flywheel-merge-order-qRslbYK3.js");
186
186
  const queue = await Effect.runPromise(computeMergeQueueFromCandidates(candidates, projectPath).pipe(Effect.provide(layer)));
187
187
  if (queue.length === 1) return {
188
188
  ...base,
@@ -220,7 +220,7 @@ async function getMergeTrainQueuesPayload() {
220
220
  /** PAN-1696 AC2: per-project generation chains across every tracked project. */
221
221
  async function getMergeTrainGenerationsPayload() {
222
222
  const { isMergeTrainEnabledForProject } = await import("./merge-sync-BlUTLyjT.js");
223
- const { getUatGenerationsPayload } = await import("./uat-train-C3g4eTwu.js");
223
+ const { getUatGenerationsPayload } = await import("./uat-train-BqMuW417.js");
224
224
  return (await Promise.allSettled(listProjectsSync().map(async ({ key, config }) => ({
225
225
  projectKey: key,
226
226
  projectName: config.name,
@@ -231,11 +231,11 @@ async function getMergeTrainGenerationsPayload() {
231
231
  async function defaultOrderedIssueIdsForProject(projectPath) {
232
232
  const candidates = await listReadyIssuesForProject(projectPath);
233
233
  if (candidates.length === 0) return [];
234
- const { computeMergeQueueFromCandidates } = await import("./flywheel-merge-order-BjbLhtpF.js");
234
+ const { computeMergeQueueFromCandidates } = await import("./flywheel-merge-order-qRslbYK3.js");
235
235
  return (await Effect.runPromise(computeMergeQueueFromCandidates(candidates, projectPath).pipe(Effect.provide(layer)))).map((item) => item.issueId);
236
236
  }
237
237
  async function defaultMergeOne(issueId) {
238
- const { triggerMerge } = await import("./merge-ops-C2DJ5UJh.js");
238
+ const { triggerMerge } = await import("./merge-ops-BP9-OIjU.js");
239
239
  const r = await triggerMerge(issueId);
240
240
  return r.success ? { ok: true } : {
241
241
  ok: false,
@@ -277,7 +277,7 @@ async function postMergeTrainMergeNextPayload(payload, deps = {}) {
277
277
  body: { error: `${issueId} is not merge-eligible: ${membership?.reasons.join("; ") || "pipeline membership unavailable"}` }
278
278
  };
279
279
  }
280
- const { shipMergeBatch } = await import("./merge-batch-CSWibuAl.js");
280
+ const { shipMergeBatch } = await import("./merge-batch-BBxSLbaz.js");
281
281
  return {
282
282
  status: 200,
283
283
  body: {
@@ -307,7 +307,7 @@ async function postMergeTrainAssemblePayload(payload) {
307
307
  status: 404,
308
308
  body: { error: `Unknown project key: ${projectKey}` }
309
309
  };
310
- const { runUatTrainReconcile } = await import("./uat-train-C3g4eTwu.js");
310
+ const { runUatTrainReconcile } = await import("./uat-train-BqMuW417.js");
311
311
  return {
312
312
  status: 200,
313
313
  body: { projects: [{
@@ -319,7 +319,7 @@ async function postMergeTrainAssemblePayload(payload) {
319
319
  }] }
320
320
  };
321
321
  }
322
- const { runUatTrainReconcileAllProjects } = await import("./uat-train-C3g4eTwu.js");
322
+ const { runUatTrainReconcileAllProjects } = await import("./uat-train-BqMuW417.js");
323
323
  return {
324
324
  status: 200,
325
325
  body: { projects: await runUatTrainReconcileAllProjects({ force: true }) }
@@ -341,7 +341,7 @@ async function postMergeTrainGenerationShipPayload(name, version) {
341
341
  status: 404,
342
342
  body: { error: `No UAT generation named ${name}` }
343
343
  };
344
- const { shipPromotedBatch, ShipPromotedBatchError } = await import("./generation-ship-a14Tkc5B.js");
344
+ const { shipPromotedBatch, ShipPromotedBatchError } = await import("./generation-ship-BTyy05vO.js");
345
345
  try {
346
346
  return {
347
347
  status: 200,
@@ -369,7 +369,7 @@ const postMergeTrainGenerationStackRoute = HttpRouter.add("POST", "/api/merge-tr
369
369
  const authError = rejectUnsafeDashboardMutationRequest(yield* HttpServerRequest.HttpServerRequest);
370
370
  if (authError) return authError;
371
371
  const name = uatGenerationNameFromParam((yield* HttpRouter.params)["name"] ?? "");
372
- const { postUatGenerationStackPayload } = yield* Effect.promise(() => import("./uat-train-C3g4eTwu.js"));
372
+ const { postUatGenerationStackPayload } = yield* Effect.promise(() => import("./uat-train-BqMuW417.js"));
373
373
  const result = yield* Effect.promise(() => postUatGenerationStackPayload(name));
374
374
  if (!result.ok) return jsonResponse({ error: result.error }, { status: result.status });
375
375
  return jsonResponse({
@@ -386,8 +386,8 @@ const postMergeTrainGenerationPromoteRoute = HttpRouter.add("POST", "/api/merge-
386
386
  const rawShipVersion = parsed.body["shipVersion"];
387
387
  if (rawShipVersion !== void 0 && (typeof rawShipVersion !== "string" || !/^\d+\.\d+\.\d+$/.test(rawShipVersion))) return jsonResponse({ error: "shipVersion must look like 48.8.0" }, { status: 400 });
388
388
  const name = uatGenerationNameFromParam((yield* HttpRouter.params)["name"] ?? "");
389
- const { postUatGenerationPromotePayload } = yield* Effect.promise(() => import("./uat-train-C3g4eTwu.js"));
390
- const { firePostMergeLifecycle } = yield* Effect.promise(() => import("./specialists-BOMH7wlq.js"));
389
+ const { postUatGenerationPromotePayload } = yield* Effect.promise(() => import("./uat-train-BqMuW417.js"));
390
+ const { firePostMergeLifecycle } = yield* Effect.promise(() => import("./specialists-ChpiIuS7.js"));
391
391
  const result = yield* Effect.promise(() => postUatGenerationPromotePayload(name, firePostMergeLifecycle, rawShipVersion));
392
392
  if (!result.success) return jsonResponse(result, { status: result.reason === "not-found" ? 404 : result.reason === "merge-failed" ? 500 : 409 });
393
393
  return jsonResponse(result);
@@ -725,4 +725,4 @@ const mergeTrainRouteLayer = Layer.mergeAll(getMergeTrainQueuesRoute, getMergeTr
725
725
  //#endregion
726
726
  export { getMergeTrainConfigPayload as a, getPendingAutoMergePayload as c, postMergeTrainAssemblePayload as d, postMergeTrainConfigPayload as f, getAutoMergeProblemPayload as i, mergeTrainRouteLayer as l, postMergeTrainMergeNextPayload as m, deleteAutoMergePayload as n, getMergeTrainGenerationsPayload as o, postMergeTrainGenerationShipPayload as p, getAutoMergePolicyPayload as r, getMergeTrainQueuesPayload as s, autoMergePolicyRefusal as t, postAutoMergeSchedulePayload as u };
727
727
 
728
- //# sourceMappingURL=merge-train-Cee9LY5p.js.map
728
+ //# sourceMappingURL=merge-train-Dg5cr8mS.js.map
@@ -1,6 +1,6 @@
1
1
  import { p as init_projects, w as resolveProjectFromIssueSync } from "./projects-CvLJPQjr.js";
2
2
  import { n as resolveEffort } from "./resolve-effort-CJ9JcWwm.js";
3
- import { P as spawnRun } from "./agents-CKFhKqJp.js";
3
+ import { P as spawnRun } from "./agents-DebP6rx9.js";
4
4
  import { join } from "path";
5
5
  import { exec } from "child_process";
6
6
  import { promisify } from "util";
@@ -26,7 +26,7 @@ function buildRealReconcileDeps() {
26
26
  return {
27
27
  getReadySiblings: async (mergedIssueId) => {
28
28
  const merged = mergedIssueId.toUpperCase();
29
- const [{ getMergeReadyIssues }] = await Promise.all([import("./merge-ready-set-C0enElWu.js")]);
29
+ const [{ getMergeReadyIssues }] = await Promise.all([import("./merge-ready-set-C5TMtdGy.js")]);
30
30
  return (await getMergeReadyIssues()).filter((issueId) => issueId.toUpperCase() !== merged);
31
31
  },
32
32
  rebaseSibling: async (issueId) => {
@@ -77,4 +77,4 @@ function buildRealReconcileDeps() {
77
77
  //#endregion
78
78
  export { buildRealReconcileDeps };
79
79
 
80
- //# sourceMappingURL=merge-train-deps-BCvx9OJh.js.map
80
+ //# sourceMappingURL=merge-train-deps-D1MTGotL.js.map
@@ -0,0 +1,2 @@
1
+ import { E as messageAgent } from "./agents-DebP6rx9.js";
2
+ export { messageAgent };
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { a as File, i as init_esm_min, n as FormData, t as init_from } from "./from-ufsGrQUf.js";
2
+ import { a as File, i as init_esm_min, n as FormData, t as init_from } from "./from-Cdjxc_Sy.js";
3
3
  //#region ../../../node_modules/.bun/node-fetch@3.3.2/node_modules/node-fetch/src/utils/multipart-parser.js
4
4
  function _fileName(headerValue) {
5
5
  const m = headerValue.match(/\bfilename=("(.*?)"|([^()<>@,;:\\"/[\]?={}\s\t]+))($|;\s)/i);
@@ -293,4 +293,4 @@ __esmMin((() => {
293
293
  }))();
294
294
  export { toFormData };
295
295
 
296
- //# sourceMappingURL=multipart-parser-Divdcrf4.js.map
296
+ //# sourceMappingURL=multipart-parser-fgcPeL-R.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@overdeck/desktop-server",
3
- "version": "0.65.0",
3
+ "version": "0.66.0",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@overdeck/desktop-server",
3
- "version": "0.65.0",
3
+ "version": "0.66.0",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@overdeck/desktop-server",
9
- "version": "0.65.0",
9
+ "version": "0.66.0",
10
10
  "dependencies": {
11
11
  "@effect/platform-node": "4.0.0-beta.73",
12
12
  "@google-cloud/speech": "7.5.0",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@overdeck/desktop-server",
3
- "version": "0.65.0",
3
+ "version": "0.66.0",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -8160,4 +8160,4 @@ function capturePipelineStageForIssue(issueId, stage) {
8160
8160
  //#endregion
8161
8161
  export { getAnalyticsService as a, ensureOperatorHash as c, resolveTelemetryEnabled as d, telemetryEnvironmentForcesOff as f, getAnalyticsClientTypeForProcess as i, getOperatorHashIfEnabled as l, capturePipelineStageForIssue as n, synchronizeAnalyticsServices as o, resolvePipelineTelemetryContext as r, trackAnalyticsTask as s, capturePipelineStage as t, getOrCreateInstallId as u };
8162
8162
 
8163
- //# sourceMappingURL=pipeline-BxDHIXwk.js.map
8163
+ //# sourceMappingURL=pipeline-CZPx_h0w.js.map
@@ -0,0 +1,171 @@
1
+ import { ci as init_paths, si as getOverdeckHome } from "./config-yaml-IYiKufOR.js";
2
+ import { a as init_ledger, i as getGitHubQuotaDir } from "./ledger-DBTb1duE.js";
3
+ import { n as createSettledTtlPromiseCache, r as init_concurrency, t as createPromiseConcurrencyLimiter } from "./concurrency-ChKkEOaM.js";
4
+ import { n as tryResolveProjectTrackerType } from "./project-tracker-type-BZBJgHlr.js";
5
+ import { n as resolvePipelineMembership } from "./pipeline-membership-DcD4z-wd.js";
6
+ import { i as gatherProjectLensSignals, n as PipelineMembershipUnavailableError } from "./pipeline-membership-gather-STT4bndD.js";
7
+ import { join } from "node:path";
8
+ import { statSync } from "node:fs";
9
+ import { mkdir, rename, writeFile } from "node:fs/promises";
10
+ //#region ../../lib/github-quota/skipped-projects.ts
11
+ init_concurrency();
12
+ /**
13
+ * PAN-4264: projects whose tracker cannot be resolved from projects.yaml.
14
+ *
15
+ * Membership refresh skips them instead of failing (and logging) on every
16
+ * refresh. The skip is logged once per project per projects.yaml mtime, so
17
+ * editing projects.yaml re-announces it, and the current list is written to
18
+ * `~/.overdeck/github-quota/skipped-projects.json` for `pan doctor
19
+ * github-quota`. Plain `pan doctor` computes the same predicate itself.
20
+ */
21
+ init_paths();
22
+ init_ledger();
23
+ const skipped = /* @__PURE__ */ new Map();
24
+ const loggedAtMtime = /* @__PURE__ */ new Map();
25
+ function skippedProjectsFile() {
26
+ return join(getGitHubQuotaDir(), "skipped-projects.json");
27
+ }
28
+ function projectsYamlMtimeMs() {
29
+ try {
30
+ return statSync(join(getOverdeckHome(), "projects.yaml")).mtimeMs;
31
+ } catch {
32
+ return 0;
33
+ }
34
+ }
35
+ async function persist(records) {
36
+ const file = skippedProjectsFile();
37
+ await mkdir(getGitHubQuotaDir(), { recursive: true });
38
+ const tmp = `${file}.${process.pid}.${Date.now()}.tmp`;
39
+ await writeFile(tmp, `${JSON.stringify({
40
+ updatedAt: (/* @__PURE__ */ new Date()).toISOString(),
41
+ projects: records
42
+ }, null, 2)}\n`);
43
+ await rename(tmp, file);
44
+ }
45
+ /**
46
+ * Record whether a membership refresh skipped `project` for having no
47
+ * resolvable tracker. Logs a newly skipped project once per projects.yaml
48
+ * mtime and rewrites the skipped list when it changed. Never throws.
49
+ */
50
+ function recordMembershipTrackerSkip(project, isSkipped) {
51
+ try {
52
+ let changed = false;
53
+ if (isSkipped) {
54
+ const name = project.name ?? project.path;
55
+ const mtime = projectsYamlMtimeMs();
56
+ if (loggedAtMtime.get(project.path) !== mtime) {
57
+ loggedAtMtime.set(project.path, mtime);
58
+ console.log(`[resource-discovery] skipping membership for ${name}: no tracker configured and no GitHub origin remote detected (set github_repo: owner/repo or tracker: in projects.yaml)`);
59
+ }
60
+ if (!skipped.has(project.path)) {
61
+ skipped.set(project.path, {
62
+ name,
63
+ path: project.path
64
+ });
65
+ changed = true;
66
+ }
67
+ } else if (skipped.delete(project.path)) {
68
+ loggedAtMtime.delete(project.path);
69
+ changed = true;
70
+ }
71
+ if (changed) persist([...skipped.values()]).catch(() => void 0);
72
+ } catch {}
73
+ }
74
+ //#endregion
75
+ //#region services/pipeline-membership.ts
76
+ const PIPELINE_MEMBERSHIP_TTL_MS = 3e4;
77
+ function createPipelineMembershipService(deps = {
78
+ gather: gatherProjectLensSignals,
79
+ now: () => Date.now()
80
+ }) {
81
+ const cachedGather = createSettledTtlPromiseCache(PIPELINE_MEMBERSHIP_TTL_MS, deps.now);
82
+ const service = async (project) => cachedGather(project.path, () => deps.gather(project).then((signals) => signals.map(resolvePipelineMembership)));
83
+ service.invalidate = (projectPath) => cachedGather.invalidate(projectPath);
84
+ return service;
85
+ }
86
+ const getProjectPipelineMembership = createPipelineMembershipService();
87
+ const membershipSnapshots = /* @__PURE__ */ new Map();
88
+ const scheduleMembershipRefresh = createPromiseConcurrencyLimiter(3);
89
+ function refreshMembershipSnapshot(project, snapshot, getMembership, now) {
90
+ if (snapshot.refresh) return snapshot.refresh;
91
+ const trackerUnresolvable = tryResolveProjectTrackerType(project) === null;
92
+ recordMembershipTrackerSkip(project, trackerUnresolvable);
93
+ if (trackerUnresolvable) {
94
+ snapshot.lastError = `No tracker configured for ${project.name ?? project.path}: Overdeck could not detect a GitHub origin remote (set github_repo: owner/repo for a GitHub project, or tracker:, in projects.yaml)`;
95
+ snapshot.lastErrorReason = "tracker_unconfigured";
96
+ snapshot.lastErrorAt = now();
97
+ return Promise.resolve();
98
+ }
99
+ snapshot.refresh = scheduleMembershipRefresh(() => getMembership(project)).then((value) => {
100
+ snapshot.value = value;
101
+ snapshot.refreshedAt = now();
102
+ snapshot.lastError = void 0;
103
+ snapshot.lastErrorReason = void 0;
104
+ snapshot.lastErrorAt = void 0;
105
+ }).catch((error) => {
106
+ snapshot.lastError = error instanceof Error ? error.message : String(error);
107
+ snapshot.lastErrorReason = error instanceof PipelineMembershipUnavailableError ? error.reason : "gather_failed";
108
+ snapshot.lastErrorAt = now();
109
+ console.warn(`[pipeline-membership] refresh failed for ${project.name ?? project.path}; keeping last-good snapshot:`, snapshot.lastError);
110
+ }).finally(() => {
111
+ snapshot.refresh = void 0;
112
+ });
113
+ return snapshot.refresh;
114
+ }
115
+ /** Read the latest successful snapshots without scheduling tracker or git work. */
116
+ function readPipelineMembershipSnapshotsForProjects(projects) {
117
+ return projects.map((project) => {
118
+ const snapshot = membershipSnapshots.get(project.path);
119
+ if (snapshot?.refreshedAt) return {
120
+ project,
121
+ memberships: snapshot.value
122
+ };
123
+ return {
124
+ project,
125
+ error: /* @__PURE__ */ new Error(snapshot?.lastError ? `Pipeline membership refresh failed: ${snapshot.lastError}` : "Pipeline membership snapshot is loading"),
126
+ unavailableReason: snapshot?.lastErrorReason
127
+ };
128
+ });
129
+ }
130
+ /**
131
+ * PAN-2893 — event-driven refresh. Invalidate the per-project TTL cache and
132
+ * force a snapshot re-gather NOW for the given projects, so agent lifecycle
133
+ * changes reach membership consumers without waiting out the 5-minute TTL.
134
+ * Refresh failures keep the last good snapshot (same policy as TTL refreshes).
135
+ */
136
+ async function refreshMembershipSnapshotsForProjects(projects, getMembership = getProjectPipelineMembership, now = () => Date.now()) {
137
+ await Promise.all(projects.map(async (project) => {
138
+ getMembership.invalidate(project.path);
139
+ const snapshot = membershipSnapshots.get(project.path) ?? {
140
+ value: [],
141
+ refreshedAt: 0
142
+ };
143
+ membershipSnapshots.set(project.path, snapshot);
144
+ const inFlight = snapshot.refresh;
145
+ if (inFlight) {
146
+ await inFlight;
147
+ getMembership.invalidate(project.path);
148
+ }
149
+ await refreshMembershipSnapshot(project, snapshot, getMembership, now);
150
+ }));
151
+ }
152
+ function summarizePipelineMembership(membership) {
153
+ return {
154
+ available: true,
155
+ inPipeline: membership.inPipeline,
156
+ bucket: membership.bucket,
157
+ labelDrift: membership.labelDrift
158
+ };
159
+ }
160
+ function unavailablePipelineMembership() {
161
+ return {
162
+ available: false,
163
+ inPipeline: false,
164
+ bucket: "clean_terminal",
165
+ labelDrift: null
166
+ };
167
+ }
168
+ //#endregion
169
+ export { refreshMembershipSnapshotsForProjects as a, readPipelineMembershipSnapshotsForProjects as i, createPipelineMembershipService as n, summarizePipelineMembership as o, getProjectPipelineMembership as r, unavailablePipelineMembership as s, PIPELINE_MEMBERSHIP_TTL_MS as t };
170
+
171
+ //# sourceMappingURL=pipeline-membership-BbdiZQ2g.js.map
@@ -0,0 +1,2 @@
1
+ import { r as getProjectPipelineMembership } from "./pipeline-membership-BbdiZQ2g.js";
2
+ export { getProjectPipelineMembership };
@@ -1,2 +1,2 @@
1
- import { t as resolveCodexPolicyContext } from "./policy-context-DlF2pBlT.js";
1
+ import { t as resolveCodexPolicyContext } from "./policy-context-CebkQTkr.js";
2
2
  export { resolveCodexPolicyContext };