@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.
- package/package.json +1 -1
- package/server/{acceptance-criteria-BgED6Izb.js → acceptance-criteria-CNfqZWHE.js} +1 -1
- package/server/activity-CElPNdhJ.js +2 -0
- package/server/{activity-CVRFYPg-.js → activity-h2Q-pMa7.js} +4 -4
- package/server/{agent-pane-io-8U_dsHCf.js → agent-pane-io-CXPX0Kq3.js} +43 -5
- package/server/agent-pane-io-H-50g3Ze.js +2 -0
- package/server/{agent-state-service-CZjmcB3_.js → agent-state-service-CJB8_8Bp.js} +2 -2
- package/server/{agent-state-service-hbWznp6M.js → agent-state-service-Cs_Z_oHX.js} +1 -1
- package/server/{agent-status-events-HU33uOJc.js → agent-status-events-DfYAcfpo.js} +1 -1
- package/server/{agents-DfEYd_I0.js → agents-C9oho7kE.js} +3 -3
- package/server/{agents-CKFhKqJp.js → agents-DebP6rx9.js} +56 -46
- package/server/{agents-DNkpVGda.js → agents-dwMmsEQT.js} +2 -2
- package/server/archive-planning-DflA6GM1.js +2 -0
- package/server/{archive-planning-BvwP8nTs.js → archive-planning-vbycG6oX.js} +2 -2
- package/server/{artifact-index-jobs-CFe2p3St.js → artifact-index-jobs-C73RHIUN.js} +1 -1
- package/server/{auto-merge-eligibility-De2WgmQS.js → auto-merge-eligibility-f1D8TwAj.js} +1 -1
- package/server/{auto-merge-eligibility-DmUQEAws.js → auto-merge-eligibility-is6bTkrA.js} +1 -1
- package/server/{auto-spawn-consent-DRgQbl8k.js → auto-spawn-consent-BxXl-3y7.js} +2 -2
- package/server/{backend-inventory-CjCALqY9.js → backend-inventory-DsbeKiYY.js} +2 -2
- package/server/{backend-inventory-HZnm8K3m.js → backend-inventory-tUXKfgL_.js} +1 -1
- package/server/{backlog-auto-trigger-BZ9HqOh5.js → backlog-auto-trigger-EIBVGK3_.js} +2 -2
- package/server/checkpoint-worker.js +1 -1
- package/server/{checkpoints-BiGSCyKD.js → checkpoints-C-xh-Mv0.js} +1 -1
- package/server/{checkpoints-DEk_xKPI.js → checkpoints-SNuYbtl9.js} +1 -1
- package/server/{claude-hooks-provision-DOMp0nce.js → claude-hooks-provision-BGL61BFy.js} +1 -1
- package/server/{claude-hooks-provision-Cx-iNW3h.js → claude-hooks-provision-D60ldmh3.js} +1 -1
- package/server/{claude-settings-overlay-DX8SS3mU.js → claude-settings-overlay-BKk6aPyn.js} +1 -1
- package/server/{claude-settings-overlay-tccrSYWh.js → claude-settings-overlay-Z1wvGWrM.js} +1 -1
- package/server/{cli-BOQWA-ux.js → cli-CfYEyYsr.js} +3 -3
- package/server/cli-DHZ5Ecrt.js +2 -0
- package/server/{closed-issue-reaper-g1xev2lv.js → closed-issue-reaper-DkGIkI3v.js} +1 -1
- package/server/{closed-issue-reaper-DnaFCYJk.js → closed-issue-reaper-tjnA5V8Z.js} +3 -3
- package/server/{codex-BE1w7ARL.js → codex-BrY7aOvP.js} +2 -2
- package/server/{codex-CVOd_JEs.js → codex-vuXHqT53.js} +1 -1
- package/server/{conflict-gate-Domf8Fvr.js → conflict-gate-CPbG8VXI.js} +2 -2
- package/server/{constants-ZsF6FhcR.js → constants-DEItMRn6.js} +1 -1
- package/server/{conversation-compaction-Dm4_bCqZ.js → conversation-compaction-BLDpoKfB.js} +5 -5
- package/server/{conversation-compaction-sKyT07L1.js → conversation-compaction-D1aR4ytx.js} +1 -1
- package/server/{conversation-delivery-Dn6b4mUU.js → conversation-delivery-C0Q7Ew-t.js} +17 -17
- package/server/{conversation-liveness-DJzPiGPO.js → conversation-liveness-DO3e-N73.js} +1 -1
- package/server/{conversation-liveness-Cq4TNxqa.js → conversation-liveness-g3nFofTZ.js} +2 -2
- package/server/{conversation-pull-requests-Bu30dOQv.js → conversation-pull-requests-VQwME1F1.js} +1 -1
- package/server/{conversation-reads-CGepvSWx.js → conversation-reads-0fCsCPQe.js} +8 -8
- package/server/{conversation-reads-D-UfsYqf.js → conversation-reads-lMO8cWqw.js} +1 -1
- package/server/{conversation-runtime-DA_Famk_.js → conversation-runtime-Bh4Wj05k.js} +1 -1
- package/server/{conversations-search-CDvHCyYe.js → conversations-search-CS0COdna.js} +1 -1
- package/server/{cpu-psi-BN99YdGz.js → cpu-psi-DvzVl1bx.js} +1 -1
- package/server/{daemon-BX8hAPTC.js → daemon-DMVuHx-i.js} +2 -2
- package/server/daemon-d62dV_pO.js +2 -0
- package/server/{dag-DC0niH7i.js → dag-PPL-MAx0.js} +1 -1
- package/server/{dangerous-git-ops-GKdOQbOe.js → dangerous-git-ops-BcSMn_cv.js} +1 -1
- package/server/dashboard-db-worker.js +4 -4
- package/server/{deacon-swarm-record-4FGgybnL.js → deacon-swarm-record-BenMf1-5.js} +1 -1
- package/server/deacon.js +4 -4
- package/server/{derived-issue-state-BtoFumna.js → derived-issue-state-BaGJkxQq.js} +2 -2
- package/server/{derived-issue-state-DnKs1TXS.js → derived-issue-state-BqhN4lOl.js} +1 -1
- package/server/{derived-issue-state-CCHbqKjW.js → derived-issue-state-CmvMPi-R.js} +4 -4
- package/server/{derived-issue-state-QLhfZgf5.js → derived-issue-state-Dz7ti1og.js} +2 -2
- package/server/{dist-B5cmD5rC.js → dist-B-6_eqmp.js} +1 -1
- package/server/dist-rCsp8VVx.js +3 -0
- package/server/{dod-C6qNQ8O3.js → dod-BJP9kMFG.js} +1 -1
- package/server/{done-preflight-Bu3KGCAV.js → done-preflight-ZQMI79O0.js} +1 -1
- package/server/{done-preflight-BvmOQ64R.js → done-preflight-oy6Tja5C.js} +1 -1
- package/server/{ensure-devcontainer-HQ3fQD5V.js → ensure-devcontainer-CollbMTo.js} +2 -2
- package/server/ensure-devcontainer-bvZTPcBb.js +2 -0
- package/server/evict-LT5Wbo6F.js +2 -0
- package/server/{evict-Dhzce_bB.js → evict-l0JJZ11s.js} +2 -2
- package/server/{feedback-target-C6lpafxM.js → feedback-target-B0XBJvkz.js} +1 -1
- package/server/{feedback-target-DmQ249DE.js → feedback-target-BYLtF8vX.js} +3 -3
- package/server/{feedback-writer-pF7pA9Ei.js → feedback-writer-XmR1ZtVC.js} +1 -1
- package/server/{feedback-writer-DSEPHMwz.js → feedback-writer-g9cmlhQU.js} +1 -1
- package/server/{flywheel-Ib4Qp5x6.js → flywheel-C-t-XYUt.js} +3 -3
- package/server/{flywheel-merge-order-BjbLhtpF.js → flywheel-merge-order-qRslbYK3.js} +2 -2
- package/server/{format-QXO0qqJo.js → format-3trt48Iz.js} +1 -1
- package/server/{from-ufsGrQUf.js → from-Cdjxc_Sy.js} +1 -1
- package/server/{generation-ship-a14Tkc5B.js → generation-ship-BTyy05vO.js} +1 -1
- package/server/{harness-binary-DtPw6bEJ.js → harness-binary-BaN9N-sG.js} +2 -2
- package/server/harness-binary-DFBkr1Wg.js +2 -0
- package/server/{harness-resolve-BfOivkUY.js → harness-resolve-CimEYcpG.js} +4 -4
- package/server/{harness-resolve-PDc4GGnM.js → harness-resolve-DclBRYRh.js} +1 -1
- package/server/{herdr-agent-terminals-ffj8Zg3X.js → herdr-agent-terminals-Dm4HnKF7.js} +1 -1
- package/server/infer-tracker-BJR_ATzw.js +2 -0
- package/server/infer-tracker-CwOO7_gU.js +237 -0
- package/server/{issue-lifecycle-BlE7L0r7.js → issue-lifecycle-CmbQlAqW.js} +8 -8
- package/server/{issue-lifecycle-Y8IGkADf.js → issue-lifecycle-Dt9AFW70.js} +1 -1
- package/server/{issue-pause-9vXZZkOc.js → issue-pause-kvPBItCx.js} +5 -5
- package/server/{issue-service-singleton-DxTRf-RV.js → issue-service-singleton-BbERjqoV.js} +1 -1
- package/server/{issue-service-singleton-QPDr49TB.js → issue-service-singleton-DwYi9Oie.js} +3 -3
- package/server/{kimi-code-AcOc8X0U.js → kimi-code-DNNwP6FT.js} +1 -1
- package/server/{label-cleanup-CIoPmmbd.js → label-cleanup-C7weaJlZ.js} +2 -2
- package/server/{launch-DSEY_mt2.js → launch-DF_WD2-a.js} +10 -7
- package/server/{launch-DCAI36Nq.js → launch-DlClnoCc.js} +1 -1
- package/server/{launcher-generator-BofB3FX_.js → launcher-generator-COHAIhyH.js} +2 -2
- package/server/{legacy-tldr-cleanup-DJX9V9s4.js → legacy-tldr-cleanup-RqGuveuz.js} +1 -1
- package/server/{lifecycle-BT3aegwk.js → lifecycle-BHcU1hPs.js} +4 -4
- package/server/{linear-mcp-auth-ChV8Aqu4.js → linear-mcp-auth-C0qzNK0H.js} +1 -1
- package/server/{linear-mcp-auth-COqdLkXb.js → linear-mcp-auth-JIDCfEz0.js} +3 -3
- package/server/{memory-governor-BQg4GOEF.js → memory-governor-C3T769G6.js} +6 -6
- package/server/{merge-BS-9EAg0.js → merge-DaJul9Xt.js} +1 -1
- package/server/{merge-agent-CVjeg02H.js → merge-agent-C2UtoeTe.js} +1 -1
- package/server/{merge-agent-CkEA7spe.js → merge-agent-CCs-JQhC.js} +10 -10
- package/server/{merge-batch-CSWibuAl.js → merge-batch-BBxSLbaz.js} +1 -1
- package/server/merge-gate-3O9zdlWW.js +2 -0
- package/server/{merge-gate-LOtvWv5K.js → merge-gate-D5zTeaC0.js} +2 -2
- package/server/merge-ops-BP9-OIjU.js +2 -0
- package/server/{merge-ready-set-C0enElWu.js → merge-ready-set-C5TMtdGy.js} +1 -1
- package/server/{merge-ready-set-8yRGoXfN.js → merge-ready-set-DlKHumrb.js} +2 -2
- package/server/{merge-train-ClvHbVeP.js → merge-train-BOKRD6nt.js} +1 -1
- package/server/{merge-train-CfvTn1fw.js → merge-train-Cx7vXfxi.js} +2 -2
- package/server/{merge-train-Cee9LY5p.js → merge-train-Dg5cr8mS.js} +19 -19
- package/server/{merge-train-deps-BCvx9OJh.js → merge-train-deps-D1MTGotL.js} +3 -3
- package/server/messaging-Cbhf7pAu.js +2 -0
- package/server/{multipart-parser-Divdcrf4.js → multipart-parser-fgcPeL-R.js} +2 -2
- package/server/node_modules/.package-lock.json +1 -1
- package/server/package-lock.json +2 -2
- package/server/package.json +1 -1
- package/server/{pipeline-BxDHIXwk.js → pipeline-CZPx_h0w.js} +1 -1
- package/server/pipeline-membership-BbdiZQ2g.js +171 -0
- package/server/pipeline-membership-LZVPTNzz.js +2 -0
- package/server/{policy-context-De_w57FT.js → policy-context-CYqNhQra.js} +1 -1
- package/server/{policy-context-DlF2pBlT.js → policy-context-CebkQTkr.js} +2 -2
- package/server/{preemption-BseBG1Lx.js → preemption-D15-OfS-.js} +3 -3
- package/server/{prerequisites-report-D4DsEecP.js → prerequisites-report-BpRfGeIQ.js} +3 -3
- package/server/{project-pipelines-BV_6EeMm.js → project-pipelines-C0eawMQd.js} +1 -1
- package/server/{project-resource-refresh-queue-Dsha4mgg.js → project-resource-refresh-queue-DmNcMWIW.js} +1 -1
- package/server/{project-resource-refresh-queue-BD7xaiwB.js → project-resource-refresh-queue-Dx1QPkGs.js} +13 -173
- package/server/public/assets/{abnfDiagram-VCTEODGH-a5JXGj2O.js → abnfDiagram-VCTEODGH-Bkh8Qhhf.js} +1 -1
- package/server/public/assets/{ar-SA-G6X2FPQ2-DfwESDRS.js → ar-SA-G6X2FPQ2-Duv-fSqg.js} +1 -1
- package/server/public/assets/{architectureDiagram-5GKGNRK7-CNqDlS6j.js → architectureDiagram-5GKGNRK7-vm7gsvBp.js} +1 -1
- package/server/public/assets/{az-AZ-76LH7QW2-DcXSBniP.js → az-AZ-76LH7QW2-CqalVsAI.js} +1 -1
- package/server/public/assets/{bg-BG-XCXSNQG7-C9L0gaeE.js → bg-BG-XCXSNQG7-KojQTSIf.js} +1 -1
- package/server/public/assets/{bn-BD-2XOGV67Q-B53MN52O.js → bn-BD-2XOGV67Q-CGLJg39W.js} +1 -1
- package/server/public/assets/{ca-ES-6MX7JW3Y-BTZPNvIz.js → ca-ES-6MX7JW3Y-BG9DUCtc.js} +1 -1
- package/server/public/assets/{chunk-EIO257PC-S1ZezR1y.js → chunk-EIO257PC-vUssjuTB.js} +1 -1
- package/server/public/assets/{chunk-IMKFNOWR-CFhbID1F.js → chunk-IMKFNOWR-Dy5lrR0k.js} +1 -1
- package/server/public/assets/{chunk-SHT3W25Y-vRJiIXR_.js → chunk-SHT3W25Y-B1Ej75VE.js} +1 -1
- package/server/public/assets/{chunk-SVP7TREG-D-Pw_X2t.js → chunk-SVP7TREG-BBLmHGKS.js} +1 -1
- package/server/public/assets/{chunk-TICWLB2K-DzeVkrx_.js → chunk-TICWLB2K-BYF1_eFX.js} +1 -1
- package/server/public/assets/{classDiagram-ZZMXUADV-BYD5DQer.js → classDiagram-ZZMXUADV-BFooIsVI.js} +1 -1
- package/server/public/assets/{classDiagram-v2-VYDZK3BY-BYD5DQer.js → classDiagram-v2-VYDZK3BY-BFooIsVI.js} +1 -1
- package/server/public/assets/{cs-CZ-2BRQDIVT-CNtIRKDO.js → cs-CZ-2BRQDIVT-B7KdIXZX.js} +1 -1
- package/server/public/assets/{cynefinDiagram-5FMLGOSQ-BdxptoBH.js → cynefinDiagram-5FMLGOSQ-B74BPf3L.js} +1 -1
- package/server/public/assets/{da-DK-5WZEPLOC-CFH9B_XA.js → da-DK-5WZEPLOC-D4z-FQo3.js} +1 -1
- package/server/public/assets/{dagre-GXQ25YYZ-8A4ks-g0.js → dagre-GXQ25YYZ-CzGQ9RBh.js} +1 -1
- package/server/public/assets/{de-DE-XR44H4JA-SSAwqM2T.js → de-DE-XR44H4JA-BLHcSSpk.js} +1 -1
- package/server/public/assets/{diagram-S7CK7UJ4-BiEABFvq.js → diagram-S7CK7UJ4-BLVIehtN.js} +1 -1
- package/server/public/assets/{diagram-UQ7AKVKN-CbAQm8rt.js → diagram-UQ7AKVKN-CWBxQLwX.js} +1 -1
- package/server/public/assets/{diagram-VX7I27RA-CX6cTJ6m.js → diagram-VX7I27RA-D-nhHjqI.js} +1 -1
- package/server/public/assets/{diagram-Z3DM3KII-CUJMn-73.js → diagram-Z3DM3KII-t-PkDqPd.js} +1 -1
- package/server/public/assets/{dist-DB46JHIp.js → dist-7NqkUyWp.js} +4 -4
- package/server/public/assets/{ebnfDiagram-PWID7BFC-vIgmpIpC.js → ebnfDiagram-PWID7BFC-BqLhIpq3.js} +1 -1
- package/server/public/assets/{el-GR-BZB4AONW-CEWaQ14U.js → el-GR-BZB4AONW-CpB4PJtL.js} +1 -1
- package/server/public/assets/{en-B4ZKOASM-DPbmc81o.js → en-B4ZKOASM-BokeIfhD.js} +1 -1
- package/server/public/assets/{erDiagram-RLTQ6QDP-Bx76fbpv.js → erDiagram-RLTQ6QDP-CwsmK2oF.js} +1 -1
- package/server/public/assets/{es-ES-U4NZUMDT-D98PwSTw.js → es-ES-U4NZUMDT-7pdvQy8R.js} +1 -1
- package/server/public/assets/{eu-ES-A7QVB2H4-Covb8Ol-.js → eu-ES-A7QVB2H4-BvMoCige.js} +1 -1
- package/server/public/assets/{fa-IR-HGAKTJCU-Dtd-fEqq.js → fa-IR-HGAKTJCU-oqb9ngcA.js} +1 -1
- package/server/public/assets/{fi-FI-Z5N7JZ37-hfxveRFy.js → fi-FI-Z5N7JZ37-BWCKhxHc.js} +1 -1
- package/server/public/assets/{flowDiagram-HODETNUW-DfUL9mV5.js → flowDiagram-HODETNUW-BFLMpZi8.js} +1 -1
- package/server/public/assets/{fr-FR-RHASNOE6-SFarC5-9.js → fr-FR-RHASNOE6-lIqYd1Kh.js} +1 -1
- package/server/public/assets/{ganttDiagram-EL5Y4UJY-BWhqn10r.js → ganttDiagram-EL5Y4UJY-_hCoOnvJ.js} +1 -1
- package/server/public/assets/{gl-ES-HMX3MZ6V-B5E2hTiL.js → gl-ES-HMX3MZ6V-BuMMBxGa.js} +1 -1
- package/server/public/assets/{he-IL-6SHJWFNN-CtPUdyTg.js → he-IL-6SHJWFNN-CASskgj6.js} +1 -1
- package/server/public/assets/{hi-IN-IWLTKZ5I-Dno5smSQ.js → hi-IN-IWLTKZ5I-V8xvo9N_.js} +1 -1
- package/server/public/assets/{hu-HU-A5ZG7DT2-6fM9o4Vm.js → hu-HU-A5ZG7DT2-Dwz2tW9D.js} +1 -1
- package/server/public/assets/{id-ID-SAP4L64H-DqHxJ0od.js → id-ID-SAP4L64H-CsAKnonA.js} +1 -1
- package/server/public/assets/image-GAAHSSAO-DlRrB5ro.js +1 -0
- package/server/public/assets/{index-BAHYSdai.js → index-uxuGUUZm.js} +9 -9
- package/server/public/assets/{infoDiagram-27XIBGKW-B6REiikV.js → infoDiagram-27XIBGKW-Bq35vHxL.js} +1 -1
- package/server/public/assets/{ishikawaDiagram-5VMMS53U-CJ4FcDTi.js → ishikawaDiagram-5VMMS53U-BP8VkFPc.js} +1 -1
- package/server/public/assets/{it-IT-JPQ66NNP-COf0Mlpu.js → it-IT-JPQ66NNP-yPqYjuhl.js} +1 -1
- package/server/public/assets/{ja-JP-DBVTYXUO-CnmSZoYJ.js → ja-JP-DBVTYXUO-SIGkDKhH.js} +1 -1
- package/server/public/assets/{kaa-6HZHGXH3-psdaC7_Y.js → kaa-6HZHGXH3-DxnCb5Kc.js} +1 -1
- package/server/public/assets/{kab-KAB-ZGHBKWFO-DHcsec5D.js → kab-KAB-ZGHBKWFO-CVCxey_p.js} +1 -1
- package/server/public/assets/{kanban-definition-UXKFOSKX-CWOzrzwB.js → kanban-definition-UXKFOSKX-Cj2TVfn0.js} +1 -1
- package/server/public/assets/{kk-KZ-P5N5QNE5-ChxI9E6E.js → kk-KZ-P5N5QNE5-M9YAeME3.js} +1 -1
- package/server/public/assets/{km-KH-HSX4SM5Z-B75b52bE.js → km-KH-HSX4SM5Z-D3AhWnhV.js} +1 -1
- package/server/public/assets/{ko-KR-MTYHY66A-DS6CvLDO.js → ko-KR-MTYHY66A-Or_gIXhD.js} +1 -1
- package/server/public/assets/{ku-TR-6OUDTVRD-BS6Z0LpR.js → ku-TR-6OUDTVRD-DzxrabDk.js} +1 -1
- package/server/public/assets/{linear-DI0By7Db.js → linear-gEGsxSj1.js} +1 -1
- package/server/public/assets/{lt-LT-XHIRWOB4-DB6tYnhK.js → lt-LT-XHIRWOB4-_nyDG8BQ.js} +1 -1
- package/server/public/assets/{lv-LV-5QDEKY6T-Gz9wx9bk.js → lv-LV-5QDEKY6T-BuFYWU7T.js} +1 -1
- package/server/public/assets/{mindmap-definition-YA3MSWOX-CoXi3FPw.js → mindmap-definition-YA3MSWOX-D1eSwBX7.js} +1 -1
- package/server/public/assets/{mr-IN-CRQNXWMA-DmdIEQlN.js → mr-IN-CRQNXWMA-DYDxiULS.js} +1 -1
- package/server/public/assets/{my-MM-5M5IBNSE-CEZvJNBx.js → my-MM-5M5IBNSE-CESrtCUE.js} +1 -1
- package/server/public/assets/{nb-NO-T6EIAALU-CE-qhpnk.js → nb-NO-T6EIAALU-D89JFLrD.js} +1 -1
- package/server/public/assets/{nl-NL-IS3SIHDZ-CKhfMYRs.js → nl-NL-IS3SIHDZ-B5fTIJ0f.js} +1 -1
- package/server/public/assets/{nn-NO-6E72VCQL-_Q0hO_YM.js → nn-NO-6E72VCQL-BlZxpLDl.js} +1 -1
- package/server/public/assets/{oc-FR-POXYY2M6-BP_GWpdw.js → oc-FR-POXYY2M6-c2a5nnpF.js} +1 -1
- package/server/public/assets/{pa-IN-N4M65BXN-ImDjqKw6.js → pa-IN-N4M65BXN-DV1xiyB6.js} +1 -1
- package/server/public/assets/{pegDiagram-XKGWAZYB-D1tXITHn.js → pegDiagram-XKGWAZYB-BVNV8u8v.js} +1 -1
- package/server/public/assets/percentages-BXMCSKIN-CCSzzLCW.js +1 -0
- package/server/public/assets/{pieDiagram-E7YTZNPT-DNCuFpai.js → pieDiagram-E7YTZNPT-DgQFaD11.js} +1 -1
- package/server/public/assets/{pl-PL-T2D74RX3-yCxLpvKz.js → pl-PL-T2D74RX3-BYEPnwpR.js} +1 -1
- package/server/public/assets/{prod-DsNBMWxO.js → prod-DWloE-Tf.js} +7 -7
- package/server/public/assets/{pt-BR-5N22H2LF-CqNEOY9w.js → pt-BR-5N22H2LF-VzuifI42.js} +1 -1
- package/server/public/assets/{pt-PT-UZXXM6DQ-DBw4f0lS.js → pt-PT-UZXXM6DQ-Grmv30e9.js} +1 -1
- package/server/public/assets/{quadrantDiagram-AXDQQJYC-Bci1oSYb.js → quadrantDiagram-AXDQQJYC-431IKFV-.js} +1 -1
- package/server/public/assets/{railroadDiagram-O6MQD6OU-ikFAVJUY.js → railroadDiagram-O6MQD6OU-Borx2fG3.js} +1 -1
- package/server/public/assets/{requirementDiagram-BXWQKSXE-DKTszgVJ.js → requirementDiagram-BXWQKSXE-B_ifxbXC.js} +1 -1
- package/server/public/assets/{ro-RO-JPDTUUEW-BqgARQks.js → ro-RO-JPDTUUEW-BCcW97bo.js} +1 -1
- package/server/public/assets/{ru-RU-B4JR7IUQ-Q6Ic_n8I.js → ru-RU-B4JR7IUQ-jud8t1VI.js} +1 -1
- package/server/public/assets/{sankeyDiagram-P5KCCOFB-DWatmen5.js → sankeyDiagram-P5KCCOFB-BLpv-ZD0.js} +1 -1
- package/server/public/assets/{sequenceDiagram-WJ2MYXX4-J7gSm17h.js → sequenceDiagram-WJ2MYXX4-DAtQj3zB.js} +1 -1
- package/server/public/assets/{si-LK-N5RQ5JYF-ZVr3vkVm.js → si-LK-N5RQ5JYF-CslAaa-5.js} +1 -1
- package/server/public/assets/{sk-SK-C5VTKIMK-BSQsNJSS.js → sk-SK-C5VTKIMK-C9NvC7DU.js} +1 -1
- package/server/public/assets/{sl-SI-NN7IZMDC-CP8Z1otw.js → sl-SI-NN7IZMDC-Cy3n7hfM.js} +1 -1
- package/server/public/assets/{stateDiagram-D77RDMKH-yMPWEYtq.js → stateDiagram-D77RDMKH-oH2hEoN4.js} +1 -1
- package/server/public/assets/{stateDiagram-v2-MP3YSRHH-F5EGnPR_.js → stateDiagram-v2-MP3YSRHH-CIbAgOVy.js} +1 -1
- package/server/public/assets/subset-shared.chunk-Dba6DKdi.js +1 -0
- package/server/public/assets/{subset-worker.chunk-LpMaC50m.js → subset-worker.chunk-D5tg61BR.js} +1 -1
- package/server/public/assets/{sv-SE-XGPEYMSR-D8mOTDra.js → sv-SE-XGPEYMSR-DYf-SlR7.js} +1 -1
- package/server/public/assets/{swimlanes-42K2YHIH-JPQx_4qn.js → swimlanes-42K2YHIH-Do3SoYnq.js} +1 -1
- package/server/public/assets/{swimlanesDiagram-VR7AAH4N-CtNlg2el.js → swimlanesDiagram-VR7AAH4N-BYc814ml.js} +1 -1
- package/server/public/assets/{ta-IN-2NMHFXQM-ih9dhd8j.js → ta-IN-2NMHFXQM-iGF2eo5t.js} +1 -1
- package/server/public/assets/{th-TH-HPSO5L25-BhmRG3ne.js → th-TH-HPSO5L25-CGfN7mnR.js} +1 -1
- package/server/public/assets/{timeline-definition-24CTP7MA-lLCs5kg1.js → timeline-definition-24CTP7MA-DUI_xi15.js} +1 -1
- package/server/public/assets/{tr-TR-DEFEU3FU-B5teU_eL.js → tr-TR-DEFEU3FU-C1btuwU_.js} +1 -1
- package/server/public/assets/{uk-UA-QMV73CPH-CsUaR7s6.js → uk-UA-QMV73CPH-DLoTLQOx.js} +1 -1
- package/server/public/assets/{vennDiagram-4TSXK5OY-CsO1kQiW.js → vennDiagram-4TSXK5OY-DioINyLf.js} +1 -1
- package/server/public/assets/{vi-VN-M7AON7JQ-qfVnGZto.js → vi-VN-M7AON7JQ-CBwbwrm4.js} +1 -1
- package/server/public/assets/{wardleyDiagram-VM6X3IG4-C2ajkJrW.js → wardleyDiagram-VM6X3IG4-gd0gikXq.js} +1 -1
- package/server/public/assets/{xychartDiagram-S5SC5T6Z-oJOShKfW.js → xychartDiagram-S5SC5T6Z-Bx86zaAl.js} +1 -1
- package/server/public/assets/{zh-CN-LNUGB5OW-vDDEdkjv.js → zh-CN-LNUGB5OW-BcRNKoOf.js} +1 -1
- package/server/public/assets/{zh-HK-E62DVLB3-Fcvngm0F.js → zh-HK-E62DVLB3-Cu_ESPq6.js} +1 -1
- package/server/public/assets/{zh-TW-RAJ6MFWO-BCuionzc.js → zh-TW-RAJ6MFWO-CHnOC09j.js} +1 -1
- package/server/public/index.html +1 -1
- package/server/queries-qqOXiaNr.js +2 -0
- package/server/{ready-timeout-failure-C45bsjI2.js → ready-timeout-failure-BwzL5OKo.js} +2 -2
- package/server/{rebuild-stack-uaOTI93a.js → rebuild-stack-BtpTM6VR.js} +3 -3
- package/server/rebuild-stack-FjChJ9yi.js +3 -0
- package/server/{release-engine-C5d610mi.js → release-engine-Y29fEWE7.js} +2 -2
- package/server/{release-set-BFsZCA0J.js → release-set-BacZ1N_f.js} +1 -1
- package/server/{remote-xutkDygz.js → remote-BUaz6B3t.js} +2 -2
- package/server/{remote-qoNG2iir.js → remote-Day75qqe.js} +2 -2
- package/server/{remote-agents-CJYoW12q.js → remote-agents-BlqgB9dc.js} +1 -1
- package/server/{remote-agents-9UKtOTeT.js → remote-agents-D6G8Z0T_.js} +3 -3
- package/server/{requirements-tNHrKKgl.js → requirements-DM6TvCsN.js} +1 -1
- package/server/{requirements-COv0qjkH.js → requirements-GXRVCopE.js} +1 -1
- package/server/{resolver-Did8ZX_j.js → resolver-D6SskqKx.js} +1 -1
- package/server/{resolver-CAP4HecA.js → resolver-TNBoD1Lh.js} +2 -2
- package/server/resume-BvqNBf96.js +2 -0
- package/server/{review-agent-C6_zRhE-.js → review-agent-BS5R2OP1.js} +17 -17
- package/server/{review-agent-CTNzg6ag.js → review-agent-D7b3qt2U.js} +2 -2
- package/server/{review-artifacts-DFXkCDKn.js → review-artifacts-CwnJeObv.js} +2 -2
- package/server/{review-context-2LAh97tE.js → review-context-BXW1m3vK.js} +1 -1
- package/server/{review-convoy-BE7hwRKU.js → review-convoy-7EL6lofH.js} +9 -9
- package/server/{review-convoy-D4ddjcsE.js → review-convoy-BNYVD3y4.js} +1 -1
- package/server/{review-monitor-BRSWLITW.js → review-monitor-BoxMGLwm.js} +1 -1
- package/server/{review-request-route-fgWQMyrT.js → review-request-route-CMR7xtJK.js} +2 -2
- package/server/{review-rounds-wYEYRB2e.js → review-rounds-BrPtQK9g.js} +1 -1
- package/server/{review-rounds-C8S_nYSs.js → review-rounds-CcXAeFDu.js} +1 -1
- package/server/{review-synthesis-recovery-DKnQIwwI.js → review-synthesis-recovery-BVuPGjZM.js} +7 -7
- package/server/{review-verdict-feedback-CGHG6ZkU.js → review-verdict-feedback-Blt-Rdbt.js} +5 -5
- package/server/{rollup-Bm6X7jIb.js → rollup-8hDNviZE.js} +2 -2
- package/server/{rollup-C9m7LkEy.js → rollup-Cf7vF55-.js} +1 -1
- package/server/{runtime-command-D0JVmWKZ.js → runtime-command-0C3oTZGN.js} +5 -5
- package/server/runtime-command-D91mhWSL.js +2 -0
- package/server/runtimes-B7zJfZXo.js +6 -0
- package/server/{runtimes-DUvSjnkK.js → runtimes-CiPufB1e.js} +9 -9
- package/server/{sequencer-agent-BGwo_hJY.js → sequencer-agent-C_RaZl3z.js} +4 -4
- package/server/server.js +164 -249
- package/server/{service-DKHnfIwb.js → service-Bn8Zn0WW.js} +36 -36
- package/server/{session-fork-CaUxe-sI.js → session-fork-CKpcJBY3.js} +1 -1
- package/server/{settings-5VVqbwVL.js → settings-DNxbkedU.js} +1 -1
- package/server/settings-DeJQpBJZ.js +2 -0
- package/server/{ship-log-CfuRUZaI.js → ship-log-DhPEIcrG.js} +1 -1
- package/server/{ship-log-CRk1pL0V.js → ship-log-Di-_dljC.js} +1 -1
- package/server/{smart-compaction-BA2YGYS7.js → smart-compaction-CVIjvKaC.js} +2 -2
- package/server/{smart-compaction-ni-rHctf.js → smart-compaction-mz6E9fph.js} +1 -1
- package/server/{spawn-planning-session-Dp2FsjWk.js → spawn-planning-session-D9vDkQVz.js} +2 -2
- package/server/{spawn-planning-session-38jno6va.js → spawn-planning-session-DEr2g-vN.js} +9 -9
- package/server/{specialist-completion-DfoJQPHz.js → specialist-completion-ThQ5mCYp.js} +1 -1
- package/server/{specialists-DCUqID3m.js → specialists--u4Nwkwy.js} +1 -1
- package/server/{specialists-DPjE2JBt.js → specialists-BsiHHXL7.js} +51 -51
- package/server/{specialists-Dhqnld3A.js → specialists-C5WxILVV.js} +9 -9
- package/server/{specialists-BOMH7wlq.js → specialists-ChpiIuS7.js} +1 -1
- package/server/{src-DEWY9s_G.js → src-Bjf3_TJI.js} +7 -7
- package/server/{src-CUtp-SJF.js → src-Dc_h_m1_.js} +3 -3
- package/server/{strike-completion-OPcaVqFd.js → strike-completion-CIQA9E-C.js} +2 -2
- package/server/strike-completion-PiFiEtoo.js +2 -0
- package/server/{subagents-DNw4YyMa.js → subagents-P7wfucdb.js} +2 -2
- package/server/{substrate-stats-DuuksQHp.js → substrate-stats-0PCKLsMv.js} +18 -18
- package/server/summary-fork--LXvyQuT.js +3 -0
- package/server/{summary-fork-BfuGi-S2.js → summary-fork-DQGtPP_x.js} +5 -5
- package/server/supervisor-DRm9uLsZ.js +2 -0
- package/server/{supervisor-CWskvoz3.js → supervisor-De-GYL91.js} +1 -1
- package/server/{sync-startup-gate-Cz-taE5H.js → sync-startup-gate-BfacT-bh.js} +1 -1
- package/server/{system-health-service-7C9fafx7.js → system-health-service-CjdWgKic.js} +3 -3
- package/server/{system-health-service-SB_Kjxqf.js → system-health-service-Cqpct_Qo.js} +1 -1
- package/server/{system-prerequisites-N5usDkOl.js → system-prerequisites-Caf37eBm.js} +2 -2
- package/server/{system-prerequisites-CJzu1FQH.js → system-prerequisites-G9se0Lms.js} +1 -1
- package/server/{teardown-workspace-BOnPHDQi.js → teardown-workspace-Dvwa4r5M.js} +7 -7
- package/server/termination-DYiDx_bB.js +2 -0
- package/server/{test-agent-queue-D3koTErW.js → test-agent-queue-BZ57BL-z.js} +3 -3
- package/server/{test-verdict-DcQHIB36.js → test-verdict-DoCOnudE.js} +1 -1
- package/server/{test-verdict-D5MJ__S5.js → test-verdict-XI4egwYk.js} +1 -1
- package/server/{token-BXOsGOq0.js → token-BVSQ0ZbH.js} +1 -1
- package/server/{transcript-turn-DxkkFudJ.js → transcript-turn-yL1_qVmT.js} +1 -1
- package/server/{types-D4H9A_IK.js → types-8Bdo_m9Z.js} +1 -1
- package/server/{uat-train-qJFsN-X4.js → uat-train-BI6lNv6X.js} +11 -11
- package/server/{uat-train-C3g4eTwu.js → uat-train-BqMuW417.js} +1 -1
- package/server/{validation-BX4n3p5b.js → validation-B0CMIi5c.js} +2 -2
- package/server/{validation-C1j7--xs.js → validation-UgpT2GVW.js} +1 -1
- package/server/{verification-escalation-BOuG6ixX.js → verification-escalation-8_JfF7-z.js} +3 -3
- package/server/{verification-escalation-C76ZbMod.js → verification-escalation-DAjaXHwo.js} +1 -1
- package/server/{verification-runner-BMtIaVjU.js → verification-runner-D0DG7ixm.js} +10 -10
- package/server/{verification-runner-C-sxcxTO.js → verification-runner-D8-ijYmm.js} +2 -2
- package/server/{vtt-parser-DSX4wASE.js → vtt-parser-uNggfu87.js} +1 -1
- package/server/{work-agent-prompt-p9ir8Hid.js → work-agent-prompt-BNUi27LZ.js} +2 -2
- package/server/workflows-Dr-Yo76E.js +2 -0
- package/server/{workflows-DzA62y5W.js → workflows-kIv_z7zJ.js} +8 -8
- package/server/{workspace-manager-Nljndsty.js → workspace-manager-D0auAuId.js} +2 -2
- package/server/{workspace-manager-yEOe-AK7.js → workspace-manager-t2ylzCn0.js} +2 -2
- package/server/{workspaces-DVWUbrua.js → workspaces-C7sOgLNZ.js} +42 -42
- package/server/{worktree-ops-BvwkJJ--.js → worktree-ops-Cenxxhk2.js} +1 -1
- package/server/{worktree-ops-DzDaxzI6.js → worktree-ops-D_IXGBtP.js} +8 -8
- package/server/activity-H6Jf6jYF.js +0 -2
- package/server/agent-pane-io-BmNbvGUo.js +0 -2
- package/server/archive-planning-BJck5ngN.js +0 -2
- package/server/cli-DVDU4QF2.js +0 -2
- package/server/daemon-CWmWlc4E.js +0 -2
- package/server/dist-BGSAS-U9.js +0 -3
- package/server/ensure-devcontainer-C_OTsIz6.js +0 -2
- package/server/evict-CgFggY65.js +0 -2
- package/server/harness-binary-CF3OHJwR.js +0 -2
- package/server/merge-gate-Bq6XDCW9.js +0 -2
- package/server/merge-ops-C2DJ5UJh.js +0 -2
- package/server/messaging-CKpa4quh.js +0 -2
- package/server/public/assets/image-GAAHSSAO-CFdI_QVJ.js +0 -1
- package/server/public/assets/percentages-BXMCSKIN-BzJ4SOUv.js +0 -1
- package/server/public/assets/subset-shared.chunk-Crnl6u-o.js +0 -1
- package/server/queries-XNzQnDjP.js +0 -2
- package/server/rebuild-stack-CJBh6Pa6.js +0 -3
- package/server/resume-BRxpAyj3.js +0 -2
- package/server/runtime-command-BkQQs0N2.js +0 -2
- package/server/runtimes-D68npgJJ.js +0 -6
- package/server/settings-CFLNK2bY.js +0 -2
- package/server/strike-completion-DyPF_uhD.js +0 -2
- package/server/summary-fork-Dm46AXqo.js +0 -3
- package/server/supervisor-daYV0xlI.js +0 -2
- package/server/termination-DTOwIt3S.js +0 -2
- package/server/workflows-Dp8qhcha.js +0 -2
- /package/server/{merge-rebase-Cf3Dr76u.js → merge-rebase-D1nUZmH_.js} +0 -0
package/server/server.js
CHANGED
|
@@ -2,7 +2,7 @@ import { a as __toCommonJS, o as __toESM, t as __commonJSMin } from "./rolldown-
|
|
|
2
2
|
import { $n as getHarnessBehavior, $t as resolveModel, An as init_src, Ar as PIPELINE_MEMBERSHIP_LOADING_CODE, B as getDefaultTtsDaemonConfig, Bn as isAgentRole, Bt as init_openai_compatible_proxy, Cr as SystemHealthSnapshot, Dn as PARENT_MODEL_REF, Dr as resolveEffectivePullRequest, En as COMPLIANCE_MODES, Et as UnknownModelError, F as yaml, Fn as parsePullRequestRef, Gn as ACP_BEHAVIOR, Gr as OVERDECK_HOME, Gt as DEFAULT_ROLES, Hn as bucketQuotaPoints, Ht as init_registry, I as init_merge, In as repoFromRemoteUrl, Ir as indexPanesByAgentKey, Jn as KIMI_CODE_BEHAVIOR, Kn as CLAUDE_CODE_BEHAVIOR, Kt as DEFAULT_WORKHORSES, L as mergeConfigs, Ln as COMPANION_TERMINAL_CLOSE_BODY_KEYS, Lr as paneAgentKey, M as init_errors, Mr as GITHUB_QUOTA_BUCKETS, Mt as init_providers, N as require_dist$1, Nn as laneActivityOf, Nr as GITHUB_QUOTA_CALLERS, O as ProcessSpawnError, Or as AgentRuntimeSnapshot, Ot as getBuiltInDefaultHarness, P as init_js_yaml, Pn as isConfiguredPullRequestRepo, Pr as GITHUB_QUOTA_POOLS, Qn as PRIME_AGENT_BEHAVIOR, Qr as SYNC_SOURCES, Rn as COMPANION_TERMINAL_OPEN_BODY_KEYS, Rr as AGENTS_DIR, Sr as DomainEvent, St as init_model_floors, Tr as MemoryObservation, Un as bucketQuotaRemaining, Vn as COMPOSER_COMMAND_MANIFEST, Vt as defaultBackgroundAiFeatures, Wn as compareIssueIds, Wr as LOGS_DIR, X as mergeTtsDaemonConfigs, Xn as OHMYPI_BEHAVIOR, Xt as derefWorkhorse, Yn as MUSE_BEHAVIOR, Yt as computeModelOrigin, Z as DEFAULT_CONFIG$1, Zn as OPENCODE_BEHAVIOR, Zt as init_roles, _r as EFFORT_LEVELS, _t as canUseHarness, a as getGlobalConfigPath, ai as getDocsTelemetryPath, an as MODEL_CAPABILITIES, br as isEffortLevel, bt as CODEX_CLI_INSTALL_COMMAND, ci as init_paths, cn as init_model_capabilities, di as packageRoot, dn as resolveModelId, dt as TieredExecutionConfigError, ei as activeDeploymentRepoRoot, ft as init_tier_table, g as updateConversationsConfig, gt as validateTieredExecutionConfig, hr as WS_METHODS, i as getConversationsConfig, ii as getDocsIndexPath, in as init_effort_support, jn as EnvironmentDescriptor, jt as getProviderForModel, kr as AgentSnapshot, kt as getKimiAnthropicBaseUrl, li as isDeploymentGenerationRoot, ln as modelSupportsImages, m as loadConfigSync, mr as PanRpcGroup, n as clearConfigCache, ni as getDocsBudgetStatePath, nr as ContextLayerSaveRequest, nt as DEFAULT_JEV_TIMEOUT_MS, o as getOpenInEditorCommand, p as loadConfigNoMigration, pr as PanRpcError, pt as resolveTieredExecutionBlock, qn as CODEX_BEHAVIOR, qt as RETIRED_SUB_ROLES, r as getConversationSearchConfig, ri as getDocsDisableStatePath, rn as effortConfigErrors, rr as ContextPreviewRequest, rt as init_jev, si as getOverdeckHome, sn as hasModelCapability, t as init_config_yaml, tr as isAgentSessionName, tt as DEFAULT_JEV_API_KEY_REF, u as init_load, ui as isDevMode, un as modelSupportsSamplingParams, vn as MODEL_DEPRECATIONS, x as FsError, xr as EDITORS, yt as init_harness_policy, z as getDefaultDocsConfig, zt as getDashScopeUpstreamBaseUrl } from "./config-yaml-IYiKufOR.js";
|
|
3
3
|
import { t as require_toml } from "./toml-CeLDATih.js";
|
|
4
4
|
import { A as init_boot_gates, D as getOverdeckDatabasePath, E as OVERDECK_MIGRATION_PATH, M as resolveBootGates, O as init_paths$1, d as dropPipelineStateMirrorTables, f as getOverdeckDatabase, i as DbLive, j as isPeerDashboardProcess, k as formatBootGateState, l as TmuxLive, p as init_infra, u as dropDeadIssuesForeignKeys } from "./infra-BIeUUG_A.js";
|
|
5
|
-
import { d as getDashboardIdentity, f as isNonPrimaryCheckoutRoot, l as startUatTrainReconciler, m as shouldRefuseHostDashboardPort, p as readHostDashboardApiPort, u as stopUatTrainReconciler } from "./uat-train-
|
|
5
|
+
import { d as getDashboardIdentity, f as isNonPrimaryCheckoutRoot, l as startUatTrainReconciler, m as shouldRefuseHostDashboardPort, p as readHostDashboardApiPort, u as stopUatTrainReconciler } from "./uat-train-BI6lNv6X.js";
|
|
6
6
|
import { _ as jsonResponse, a as validateOrigin$1, c as isLoopbackOrigin$1, d as parseAccessTokenScopes, f as refreshAccessTokens, h as startAccessTokenRefresh, l as createAccessToken, m as scopeSatisfies, n as getTrustedOrigins, o as validateOriginHeaders, p as revokeAccessToken, r as invalidateTrustedOriginsCache, s as addSavedTrustedOrigin, t as getHeaderFromMap, u as listAccessTokens, v as jsonStringResponse } from "./origin-validation-FA-4ExJV.js";
|
|
7
7
|
import { c as loadConfigSync$1, n as getDashboardApiUrl, o as init_config } from "./config-ChcpWpGd.js";
|
|
8
8
|
import { a as emitActivityTts, o as emitDashboardLifecycle, r as emitActivityEntry, s as init_activity_logger, t as appendDomainEventAsync } from "./activity-logger-64dEonKB.js";
|
|
@@ -26,18 +26,18 @@ import { $ as updateConversationTitle, A as listFavoritedIds, B as resolveEffect
|
|
|
26
26
|
import { O as saveAgentStateSync, m as init_agent_state, p as getIssuePause } from "./agent-state-e9n26qYW.js";
|
|
27
27
|
import { a as sessionFilePath, i as encodeClaudeProjectDir, n as claudeProjectsRoot, t as claudeProjectDir } from "./claude-code-D1t9sdHM.js";
|
|
28
28
|
import { a as codexHomeDir, l as findRolloutPath, o as codexSessionsRoot, t as codexAgentHome } from "./codex-CVdzfsKh.js";
|
|
29
|
-
import { i as recordCodexRolloutSession } from "./codex-
|
|
30
|
-
import { a as prepareHarnessLaunch, c as resolveHarnessBinary } from "./harness-binary-
|
|
29
|
+
import { i as recordCodexRolloutSession } from "./codex-BrY7aOvP.js";
|
|
30
|
+
import { a as prepareHarnessLaunch, c as resolveHarnessBinary } from "./harness-binary-BaN9N-sG.js";
|
|
31
31
|
import { o as resolveMuseSessionPath } from "./muse-DxPGs9oz.js";
|
|
32
32
|
import { n as shellQuote, r as shellQuoteArg, t as init_shell_quote } from "./shell-quote-DhKDnhqg.js";
|
|
33
|
-
import { n as generateLauncherScript } from "./launcher-generator-
|
|
33
|
+
import { n as generateLauncherScript } from "./launcher-generator-COHAIhyH.js";
|
|
34
34
|
import { i as requireModelOverride, n as MODEL_ID_PATTERN } from "./kimi-claude-routing-C53_lRiN.js";
|
|
35
35
|
import { a as init_ledger, i as getGitHubQuotaDir, n as appendLedgerEntry, r as computeOwnUsageLow, s as readLedgerWindow, t as aggregateLedger } from "./ledger-DBTb1duE.js";
|
|
36
36
|
import { A as setProjectSwarmPolicy, B as init_projects_config_write, C as resolveProjectFromIssue, E as resolveProjectPath, F as canonicalPathAsync, I as findContainingProject, L as init_path_containment, M as updateProjectsConfigAsync, N as validateGauntletConfig, O as setProjectAutoMergeDefault, P as validateVersionSyncConfig, R as init_projects_cache_events, S as resolveInfraRepo, T as resolveProjectKeyForCwdAsync, V as updateProjectsConfigText, _ as listProjectsSync, a as findProjectByPath, b as registerProject, c as getIssuePrefix, d as getProjectSync, g as listProjectsAsync, h as invalidateProjectsConfigCache, i as extractTeamPrefix, k as setProjectMergeTrain, n as PROJECTS_CONFIG_FILE, o as findProjectByTeam, p as init_projects, r as ProjectRenameError, w as resolveProjectFromIssueSync, x as renameProject, y as loadProjectsConfigSync, z as subscribeProjectsConfigInvalidation } from "./projects-CvLJPQjr.js";
|
|
37
37
|
import { n as resolveEffort } from "./resolve-effort-CJ9JcWwm.js";
|
|
38
|
-
import { o as resolveLatestSessionId } from "./activity-
|
|
39
|
-
import { n as AgentsResolverLive } from "./agents-
|
|
40
|
-
import { a as EventStoreServiceLive, c as ReadModelServiceLive, d as toAgentStatus, f as toRole, i as EventStoreService, l as activityEntriesFromStoredEvents, n as IssueLifecycleLive, o as startProjectCiRefillAfterProjectionReady, s as ReadModelService, t as IssueLifecycle, u as toAgentResolution } from "./issue-lifecycle-
|
|
38
|
+
import { o as resolveLatestSessionId } from "./activity-h2Q-pMa7.js";
|
|
39
|
+
import { n as AgentsResolverLive } from "./agents-dwMmsEQT.js";
|
|
40
|
+
import { a as EventStoreServiceLive, c as ReadModelServiceLive, d as toAgentStatus, f as toRole, i as EventStoreService, l as activityEntriesFromStoredEvents, n as IssueLifecycleLive, o as startProjectCiRefillAfterProjectionReady, s as ReadModelService, t as IssueLifecycle, u as toAgentResolution } from "./issue-lifecycle-CmbQlAqW.js";
|
|
41
41
|
import { n as ensureSessionContextBriefingFile, r as recordBriefingSessionStart, t as appendFreshBriefingUpdate } from "./briefing-freshness-DGGAxLgu.js";
|
|
42
42
|
import { a as init_pause_gate, c as reconcileGitHubPauseWithSample, m as withGitHubCaller, o as onGitHubRefusal, p as init_caller_context, r as activeGitHubPause, s as readActivePause } from "./pause-gate-D_9Vdcz5.js";
|
|
43
43
|
import { n as runGh, t as init_run_gh } from "./run-gh-pNdoe2og.js";
|
|
@@ -54,11 +54,11 @@ import { i as getRepoTargetBranch, l as resolveDefaultBranchForRepo, o as init_p
|
|
|
54
54
|
import { r as setPipelineHandler, t as init_pipeline_notifier } from "./pipeline-notifier-DbQqFmJ6.js";
|
|
55
55
|
import { n as init_pipeline_journal, o as readPipelineJournal, t as appendPipelineEntry } from "./pipeline-journal-BXAwr-6f.js";
|
|
56
56
|
import { i as init_operator_decision, s as readOpenOperatorDecision } from "./operator-decision-BijGjqPE.js";
|
|
57
|
-
import { C as toChecksState, T as toReviewState, a as forgeForProject, s as init_derived_issue_state, x as readRepoPullRequests } from "./derived-issue-state-
|
|
58
|
-
import { f as init_backend_inventory, l as getBackendPanes, p as isBackendInventoryDegraded, u as getBackendPanesForIssue } from "./backend-inventory-
|
|
59
|
-
import { n as AgentStateServiceLive } from "./agent-state-service-
|
|
57
|
+
import { C as toChecksState, T as toReviewState, a as forgeForProject, s as init_derived_issue_state, x as readRepoPullRequests } from "./derived-issue-state-Dz7ti1og.js";
|
|
58
|
+
import { f as init_backend_inventory, l as getBackendPanes, p as isBackendInventoryDegraded, u as getBackendPanesForIssue } from "./backend-inventory-DsbeKiYY.js";
|
|
59
|
+
import { n as AgentStateServiceLive } from "./agent-state-service-CJB8_8Bp.js";
|
|
60
60
|
import { S as observeTerminal, b as controlTerminal, o as init_herdr, r as findHerdrAgent, s as listHerdrAgents, x as init_herdr_stream } from "./herdr-JDVS0aDm.js";
|
|
61
|
-
import { d as resolveLaunchBackend, l as launchAgentPane, n as closeAgentPane, r as closeAgentPaneDetailed, s as init_launch, t as agentPaneExists } from "./launch-
|
|
61
|
+
import { d as resolveLaunchBackend, l as launchAgentPane, n as closeAgentPane, r as closeAgentPaneDetailed, s as init_launch, t as agentPaneExists } from "./launch-DF_WD2-a.js";
|
|
62
62
|
import { i as isAlive, o as isConfirmedDead, r as init_liveness } from "./liveness-tAwIFT67.js";
|
|
63
63
|
import { a as init_tracker_config, i as initTrackerConfigCache, n as getLinearApiKey, r as getRallyConfig, t as getGitHubConfig } from "./tracker-config-CSqqOWAc.js";
|
|
64
64
|
import { i as PlanEmpty, l as WorkspaceCreateError, n as AgentStartError, s as TrackerApiError, t as AgentAlreadyRunning, u as WorkspaceNotFound } from "./typed-errors-C_Gz6KlC.js";
|
|
@@ -66,13 +66,13 @@ import { r as LinearClientOptionalLive, t as LinearClient } from "./linear-clien
|
|
|
66
66
|
import { r as GitHubClientOptionalLive, t as GitHubClient } from "./github-client-Cal2eOrK.js";
|
|
67
67
|
import { r as RallyClientOptionalLive, t as RallyClient } from "./rally-client-CPk3PfRQ.js";
|
|
68
68
|
import { i as resolveTrackerType, r as resolveGitHubIssue, t as init_tracker_utils } from "./tracker-utils-vzr-2-12.js";
|
|
69
|
-
import { a as startSharedIssueService, i as issue_service_singleton_exports, n as init_issue_service_singleton, t as getSharedIssueService } from "./issue-service-singleton-
|
|
70
|
-
import { a as createWorkspace, c as setWorkspaceRunCommand, d as updateWorkspaceLayout, f as upsertProjectFromConfig, h as detectPlatform, i as archiveWorkspace, l as touchWorkspaceAccessed, m as writeWorkspaceIdentity, n as installGitHooksInDir, o as relocateWorkspace, p as readWorkspaceIdentity, s as setWorkspaceFavorite, u as unarchiveWorkspace, y as workspaceNeedsSetup } from "./workspace-manager-
|
|
71
|
-
import { $ as deliverMandatoryKimiResumeContext, A as handleConversationSwitchModel, B as tmuxSessionExists, Ct as isValidConversationEffort, D as handleConversationDelete, Dt as sessionOwners, E as handleConversationCreate, Et as isSupersededConversation, G as waitForTmuxSession$1, H as waitForPiTuiReady, I as spawnConversationSession, J as isCoreSkill, L as startConversationModelBackfill, Mt as getDefaultCwd, N as resolveAllowedHarness, O as handleConversationResume, Ot as isRespawnPending, P as shouldReportUnresolvedLiveSession, Q as resolveSkillStates, R as startConversationRuntime, T as handleConversationClearForkState, V as waitForConversationRuntimeReady, X as resolvePackSkill, Y as isPackSkillId, Z as resolvePackToggle, _ as SAFE_EFFORT_PATTERN, _t as validateCwdContainment, a as handleConversationCodexApproval, at as ensureConversationAttachmentDir, c as handleConversationDeliveryMethod, ct as hasConversationAttachment, d as handleConversationThinkingLevel, dt as resolveConversationImageAttachment, et as closeCompanionTerminalForOwner, f as isPiControlChannelHarness, ft as runInBatches, g as validateConversationControlAckOrigin, gt as vaultIdFromBrowseName, h as resolveConversationDeliveryMethod, ht as vaultBrowseConversationName, i as handleConversationAbort, it as cleanupUnreferencedConversationAttachments, j as isInsideGitWorkTree, jt as waitForSessionRespawn, k as handleConversationStop, kt as markRespawnPending, l as handleConversationPiAskAnswer, lt as isManagedConversationAttachmentPath, m as postCodexAppServerOp, mt as upsertVaultBrowseRow, n as deliverConversationViaControlChannel, nt as cleanupConversationAttachments, o as handleConversationCompact, ot as extractConversationAttachmentPaths, p as pickDeliverAs, pt as removeVaultBrowseRow, q as resolveRegisteredProject, rt as cleanupOrphanedConversationAttachments, s as handleConversationControlAck, st as getConversationAttachmentsRoot, t as codexConversationPendingInput, tt as getCompanionTerminalLifecycle, u as handleConversationPlanAction, ut as removeConversationAttachment, vt as writeConversationPaneRole, w as generateConversationName, wt as resolveConversationEffort, x as conversationSessionAliveFromState, y as conversationNeedsRunningRepair, z as stopConversationRuntime } from "./conversation-delivery-
|
|
72
|
-
import { i as import_websocket_server, r as import_websocket } from "./policy-context-
|
|
69
|
+
import { a as startSharedIssueService, i as issue_service_singleton_exports, n as init_issue_service_singleton, t as getSharedIssueService } from "./issue-service-singleton-DwYi9Oie.js";
|
|
70
|
+
import { a as createWorkspace, c as setWorkspaceRunCommand, d as updateWorkspaceLayout, f as upsertProjectFromConfig, h as detectPlatform, i as archiveWorkspace, l as touchWorkspaceAccessed, m as writeWorkspaceIdentity, n as installGitHooksInDir, o as relocateWorkspace, p as readWorkspaceIdentity, s as setWorkspaceFavorite, u as unarchiveWorkspace, y as workspaceNeedsSetup } from "./workspace-manager-t2ylzCn0.js";
|
|
71
|
+
import { $ as deliverMandatoryKimiResumeContext, A as handleConversationSwitchModel, B as tmuxSessionExists, Ct as isValidConversationEffort, D as handleConversationDelete, Dt as sessionOwners, E as handleConversationCreate, Et as isSupersededConversation, G as waitForTmuxSession$1, H as waitForPiTuiReady, I as spawnConversationSession, J as isCoreSkill, L as startConversationModelBackfill, Mt as getDefaultCwd, N as resolveAllowedHarness, O as handleConversationResume, Ot as isRespawnPending, P as shouldReportUnresolvedLiveSession, Q as resolveSkillStates, R as startConversationRuntime, T as handleConversationClearForkState, V as waitForConversationRuntimeReady, X as resolvePackSkill, Y as isPackSkillId, Z as resolvePackToggle, _ as SAFE_EFFORT_PATTERN, _t as validateCwdContainment, a as handleConversationCodexApproval, at as ensureConversationAttachmentDir, c as handleConversationDeliveryMethod, ct as hasConversationAttachment, d as handleConversationThinkingLevel, dt as resolveConversationImageAttachment, et as closeCompanionTerminalForOwner, f as isPiControlChannelHarness, ft as runInBatches, g as validateConversationControlAckOrigin, gt as vaultIdFromBrowseName, h as resolveConversationDeliveryMethod, ht as vaultBrowseConversationName, i as handleConversationAbort, it as cleanupUnreferencedConversationAttachments, j as isInsideGitWorkTree, jt as waitForSessionRespawn, k as handleConversationStop, kt as markRespawnPending, l as handleConversationPiAskAnswer, lt as isManagedConversationAttachmentPath, m as postCodexAppServerOp, mt as upsertVaultBrowseRow, n as deliverConversationViaControlChannel, nt as cleanupConversationAttachments, o as handleConversationCompact, ot as extractConversationAttachmentPaths, p as pickDeliverAs, pt as removeVaultBrowseRow, q as resolveRegisteredProject, rt as cleanupOrphanedConversationAttachments, s as handleConversationControlAck, st as getConversationAttachmentsRoot, t as codexConversationPendingInput, tt as getCompanionTerminalLifecycle, u as handleConversationPlanAction, ut as removeConversationAttachment, vt as writeConversationPaneRole, w as generateConversationName, wt as resolveConversationEffort, x as conversationSessionAliveFromState, y as conversationNeedsRunningRepair, z as stopConversationRuntime } from "./conversation-delivery-C0Q7Ew-t.js";
|
|
72
|
+
import { i as import_websocket_server, r as import_websocket } from "./policy-context-CebkQTkr.js";
|
|
73
73
|
import { _ as requiredScopeFor, a as dashboardSessionCookieHeader, c as isLoopbackPeer, d as rejectUnsafeDashboardMutationRequest, f as resolveDashboardCredential, g as gatePathname, h as WS_TERMINAL_SCOPE, i as dashboardDeviceTokenFromHeaders, l as rejectUnauthorizedDashboardRequest, m as readRemoteAccessConfig, n as dashboardCsrfToken, o as hasDashboardInternalToken, p as invalidateRemoteAccessConfig, r as dashboardDeviceCookieHeader, s as hasProxyForwardingHeader, t as credentialScopes, u as rejectUnauthorizedDashboardSessionMintRequest, v as httpHandler } from "./dashboard-auth-DmNykD8y.js";
|
|
74
|
-
import { $t as CodexAuthCheckError, E as messageAgent, Gt as probeTranscriptSince, Jt as captureLiveAgentPaneText, K as assessCpuPressure, M as operatorInterventionEvent, Ot as resolveImplicitStaffing, Wt as captureTranscriptUserRecordSnapshot, Xt as listLiveAgentIds, Yt as isListedOrRunning, Zt as listLiveAgentPanes, c as countPendingAskUserQuestionsForAgent, dt as saveCloisterConfigSync, en as checkCodexAuthStatus, f as getAgentWorkspace, ft as shouldAutoStart, g as detectAwaitingInputFromPane, h as detectAwaitingInputForAgent, it as listRunningAgentsSync, k as ensureMainInputTarget, l as getAgentJsonlMtime, m as scanPendingInputs, mt as deliverAgentMessage, nt as listAgentStates, ot as emergencyBrake, qt as subagentsDirFor, rt as listRunningAgents, s as computeAgentEnrichment, st as DEFAULT_CLOISTER_CONFIG, ut as loadCloisterConfigSync, yt as waitForManagedKimiSessionId } from "./agents-
|
|
75
|
-
import { i as listLiveConversationSessions$1, n as conversationHarnessAlive, r as conversationSessionAlive, t as closeConversationPane } from "./conversation-liveness-
|
|
74
|
+
import { $t as CodexAuthCheckError, E as messageAgent, Gt as probeTranscriptSince, Jt as captureLiveAgentPaneText, K as assessCpuPressure, M as operatorInterventionEvent, Ot as resolveImplicitStaffing, Wt as captureTranscriptUserRecordSnapshot, Xt as listLiveAgentIds, Yt as isListedOrRunning, Zt as listLiveAgentPanes, c as countPendingAskUserQuestionsForAgent, dt as saveCloisterConfigSync, en as checkCodexAuthStatus, f as getAgentWorkspace, ft as shouldAutoStart, g as detectAwaitingInputFromPane, h as detectAwaitingInputForAgent, it as listRunningAgentsSync, k as ensureMainInputTarget, l as getAgentJsonlMtime, m as scanPendingInputs, mt as deliverAgentMessage, nt as listAgentStates, ot as emergencyBrake, qt as subagentsDirFor, rt as listRunningAgents, s as computeAgentEnrichment, st as DEFAULT_CLOISTER_CONFIG, tn as getNativeCodexAuthPath, ut as loadCloisterConfigSync, yt as waitForManagedKimiSessionId } from "./agents-DebP6rx9.js";
|
|
75
|
+
import { i as listLiveConversationSessions$1, n as conversationHarnessAlive, r as conversationSessionAlive, t as closeConversationPane } from "./conversation-liveness-g3nFofTZ.js";
|
|
76
76
|
import { i as clearQueryExpansionCache, n as injectPromptTimeMemory, r as resolveKnowledgeBundleRoot } from "./injection-DYeP27Hj.js";
|
|
77
77
|
import { a as runMemoryFtsStatement, i as closeMemoryFtsDatabases, o as runMemoryFtsTransaction, t as buildMatchQuery } from "./search-KiZEDKkO.js";
|
|
78
78
|
import { t as spawnModuleWorker } from "./module-worker-FeMSTv6L.js";
|
|
@@ -84,82 +84,84 @@ import { a as refreshRuntimeCensus, i as panePidsForSession, n as getRuntimeCens
|
|
|
84
84
|
import { a as scan, c as CostThresholdError, d as parseRelativeTime, i as reclassifyUnknownCostEvents, n as reconcile, p as embed, r as recordCostEventsThroughOverdeck } from "./reconciler-1FAEr8GF.js";
|
|
85
85
|
import { c as readEventsSince, l as tailEvents, o as readEvents, r as deduplicateEvents, t as recordBackgroundAiCost } from "./cost-Bd4NL5Rf.js";
|
|
86
86
|
import { c as isCloisterSpawnsPaused, d as isFlywheelAutoPickupBacklog, f as isFlywheelRequireUatBeforeMerge, h as setDeaconGloballyPaused, l as isConversationsAutoArchiveOnMerge, m as setCloisterSpawnsPaused, p as isMergeTrainEnabled, s as getSetting, u as isDeaconGloballyPaused, x as setSetting, y as setLastCleanShutdownAt } from "./control-settings-RLL3FPGD.js";
|
|
87
|
-
import { A as recordExternalTranscript, B as validateAgentRuntimeEventAuth, C as cachedTranscriptTurnComplete, D as listExternalRegistrations, E as hasRecordedTranscript, F as AUTOMATIC_SPAWN_GUARDRAIL_ACKNOWLEDGEMENT, G as sharedTranscriptParser, I as evaluateSpawnGuardrails, K as runDashboardDbJob, L as invalidateAgentsCache, M as checkRegularFileUnder, N as checkTranscriptPath, O as readExternalRegistration, P as readRegularFile, R as isInternalAgentRequest, S as RESERVED_EXTERNAL_SOURCES, T as externalLiveness, V as panCliInvocation, W as parseStateFromSnapshot, _ as listTranscriptSubagents, b as EXTERNAL_SOURCE_RE, c as saveAgentStateAndEmitEventProgram, d as resolvePolicy, f as ComposerCommandParseError, g as listAgentSubagents, i as readJsonBody$26, j as registerExternalAgent, k as readPidStartTime, l as composerCommandResultHttpStatus, m as composerCommandConfirmationFromBody, o as agentsRouteLayer, p as ComposerCommandConfirmationError, s as saveAgentStateAndEmitEvent, t as specialistsRouteLayer, u as handleComposerCommandMessage, v as EXTERNAL_AGENT_PREFIX, w as externalAgentId, x as ExternalPathError, y as EXTERNAL_FIELD_ID_RE, z as resolveRequestedStartedBy } from "./specialists-
|
|
88
|
-
import { _ as processPendingFeedbackDeliveries, b as getWorkspacePathForIssue, d as listGitOperations, f as syncWalFromAllProjects, g as syncCache, h as rebuildCache, m as getCostsForIssue, p as migrateAllSessions, t as workspacesRouteLayer, u as resumeQueuedMerges, v as getCachedRunningAgents, y as resolveIssueHeadlineCost } from "./workspaces-
|
|
89
|
-
import { a as listCodexSubagents, n as startSubagentListPolling, o as resolveCodexSubagentTranscript, r as subagentTranscriptPath } from "./subagents-
|
|
87
|
+
import { A as recordExternalTranscript, B as validateAgentRuntimeEventAuth, C as cachedTranscriptTurnComplete, D as listExternalRegistrations, E as hasRecordedTranscript, F as AUTOMATIC_SPAWN_GUARDRAIL_ACKNOWLEDGEMENT, G as sharedTranscriptParser, I as evaluateSpawnGuardrails, K as runDashboardDbJob, L as invalidateAgentsCache, M as checkRegularFileUnder, N as checkTranscriptPath, O as readExternalRegistration, P as readRegularFile, R as isInternalAgentRequest, S as RESERVED_EXTERNAL_SOURCES, T as externalLiveness, V as panCliInvocation, W as parseStateFromSnapshot, _ as listTranscriptSubagents, b as EXTERNAL_SOURCE_RE, c as saveAgentStateAndEmitEventProgram, d as resolvePolicy, f as ComposerCommandParseError, g as listAgentSubagents, i as readJsonBody$26, j as registerExternalAgent, k as readPidStartTime, l as composerCommandResultHttpStatus, m as composerCommandConfirmationFromBody, o as agentsRouteLayer, p as ComposerCommandConfirmationError, s as saveAgentStateAndEmitEvent, t as specialistsRouteLayer, u as handleComposerCommandMessage, v as EXTERNAL_AGENT_PREFIX, w as externalAgentId, x as ExternalPathError, y as EXTERNAL_FIELD_ID_RE, z as resolveRequestedStartedBy } from "./specialists-BsiHHXL7.js";
|
|
88
|
+
import { _ as processPendingFeedbackDeliveries, b as getWorkspacePathForIssue, d as listGitOperations, f as syncWalFromAllProjects, g as syncCache, h as rebuildCache, m as getCostsForIssue, p as migrateAllSessions, t as workspacesRouteLayer, u as resumeQueuedMerges, v as getCachedRunningAgents, y as resolveIssueHeadlineCost } from "./workspaces-C7sOgLNZ.js";
|
|
89
|
+
import { a as listCodexSubagents, n as startSubagentListPolling, o as resolveCodexSubagentTranscript, r as subagentTranscriptPath } from "./subagents-P7wfucdb.js";
|
|
90
90
|
import { t as readActiveDashboardBundle } from "./active-dashboard-bundle-uChaT_M9.js";
|
|
91
91
|
import { n as getOpenAIAuthStatus, t as getCodexAuthPath } from "./openai-auth-BypG5FGt.js";
|
|
92
92
|
import { i as getClaudePermissionFlagsString, l as getProviderEnvForModel } from "./claude-permissions-BT90X1o5.js";
|
|
93
93
|
import { t as getClaudeAuthStatus } from "./claude-auth-DawrVBwQ.js";
|
|
94
|
-
import { A as configDisabledRuleNames, F as workspaceContextWithoutProjectLayer, N as renderForHarness, P as validateTemplate, f as injectPiConversationMemory, l as getProviderAuthMode } from "./runtime-command-
|
|
94
|
+
import { A as configDisabledRuleNames, F as workspaceContextWithoutProjectLayer, N as renderForHarness, P as validateTemplate, f as injectPiConversationMemory, l as getProviderAuthMode } from "./runtime-command-0C3oTZGN.js";
|
|
95
95
|
import { a as piGlobalContextFile, c as resolveWorkspaceContextFile, i as globalContextFile$1, l as workspaceContextFile, n as codexGlobalContextFile, r as ensureProjectLayer, s as resolveProjectContextFile, t as claudeGlobalContextFile } from "./layers-DKHBGSsn.js";
|
|
96
96
|
import { D as isAdvisoryCheckName, E as verifyAppCanMerge, a as getAppRateLimit, f as isGitHubAppConfigured, u as getMergeBackendStatus } from "./github-app-B2_6crSm.js";
|
|
97
97
|
import { r as lookupPullRequestNumberForBranch, t as githubPrLookupSource } from "./github-pr-lookup-Dcm7imyp.js";
|
|
98
98
|
import { a as fetchIssuePullRequestDiff, c as getCachedIssuePrTabResponse, i as fetchIssuePullRequestDetails, l as getIssuePrTabCacheGeneration, n as fetchIssueCheckRuns, r as fetchIssuePullRequest, s as bumpIssuePrTabCacheGeneration, u as setCachedIssuePrTabResponse } from "./pull-requests-CRXySAoR.js";
|
|
99
99
|
import { a as getPrFacts } from "./pr-facts-C9jNdDiz.js";
|
|
100
100
|
import { i as resolveVerificationTestsMode, n as isCiTestCheckName, t as TEST_GATE_NAME } from "./verification-tests-mode-CCTmNT_N.js";
|
|
101
|
-
import { m as planningHandoffStartedBy } from "./auto-spawn-consent-
|
|
102
|
-
import { t as readCpuPsi } from "./cpu-psi-
|
|
101
|
+
import { m as planningHandoffStartedBy } from "./auto-spawn-consent-BxXl-3y7.js";
|
|
102
|
+
import { t as readCpuPsi } from "./cpu-psi-DvzVl1bx.js";
|
|
103
103
|
import { t as appendContinueSessionEntryForIssue } from "./lifecycle-io-D4t1Xhjj.js";
|
|
104
104
|
import { n as resolveConversationGitInfo } from "./git-info-CMizfKid.js";
|
|
105
|
-
import { r as loadIssueStatesForProject, t as getDerivedIssueState } from "./derived-issue-state-
|
|
106
|
-
import { _ as classifyAgentHealth, g as startSmeeProcess, h as isSmeeConfigured, l as getSystemHealthEvidenceSnapshot, o as getAcceptedSystemHealthSnapshot, s as getDeployStaleness } from "./system-health-service-
|
|
107
|
-
import { c as formatUptime, l as getContainerHistory, o as buildResourceStacks, s as loadStackIssueStates, u as getCurrentDockerStats } from "./memory-governor-
|
|
108
|
-
import { a as init_worktree_ops, p as validateFeatureName, s as isPreWorktreeMetadataOnlyDir } from "./worktree-ops-
|
|
105
|
+
import { r as loadIssueStatesForProject, t as getDerivedIssueState } from "./derived-issue-state-CmvMPi-R.js";
|
|
106
|
+
import { _ as classifyAgentHealth, g as startSmeeProcess, h as isSmeeConfigured, l as getSystemHealthEvidenceSnapshot, o as getAcceptedSystemHealthSnapshot, s as getDeployStaleness } from "./system-health-service-CjdWgKic.js";
|
|
107
|
+
import { c as formatUptime, l as getContainerHistory, o as buildResourceStacks, s as loadStackIssueStates, u as getCurrentDockerStats } from "./memory-governor-C3T769G6.js";
|
|
108
|
+
import { a as init_worktree_ops, p as validateFeatureName, s as isPreWorktreeMetadataOnlyDir } from "./worktree-ops-D_IXGBtP.js";
|
|
109
109
|
import { n as init_workspace_config, t as getDefaultWorkspaceConfig } from "./workspace-config-C47auFin.js";
|
|
110
110
|
import { o as promoteWorkspacePrdDraft, r as checkPrdGate } from "./pan-dir-Dhqz-1n-.js";
|
|
111
111
|
import { t as createInFlightGuard } from "./in-flight-guard-CxK3Tq0I.js";
|
|
112
112
|
import { n as getGuardedReviewRequester } from "./request-review-pipeline-BsiltUUm.js";
|
|
113
|
-
import { _ as getAgentHealth, a as cleanupClosedIssueAgentDirectories, c as setAgentStoppedNotifier, d as getWorkspaceGitState, f as pullWorkspaceFastForward, g as generateHealthSummary, i as analyzeSwarmReadiness, n as readCloisterStateFile, o as DEACON_LITE_INTERVAL_MS, t as getCloisterService, u as recordHandoffDeferred, v as getAgentsNeedingAttention } from "./service-
|
|
113
|
+
import { _ as getAgentHealth, a as cleanupClosedIssueAgentDirectories, c as setAgentStoppedNotifier, d as getWorkspaceGitState, f as pullWorkspaceFastForward, g as generateHealthSummary, i as analyzeSwarmReadiness, n as readCloisterStateFile, o as DEACON_LITE_INTERVAL_MS, t as getCloisterService, u as recordHandoffDeferred, v as getAgentsNeedingAttention } from "./service-Bn8Zn0WW.js";
|
|
114
114
|
import { t as getIssueWorkspacePath } from "./issue-projects-CWtGfhcl.js";
|
|
115
115
|
import { i as init_git_utils, r as formatAnchorShort, s as snapshotWorkspaceHeads } from "./git-utils-BxC6cp8c.js";
|
|
116
116
|
import { n as isIssueClosed, r as isTrackerIssueClosed, t as clearIssueClosedCache } from "./issue-closed-EPXrH2QX.js";
|
|
117
|
-
import { i as isBranchMerged } from "./closed-issue-reaper-
|
|
117
|
+
import { i as isBranchMerged } from "./closed-issue-reaper-tjnA5V8Z.js";
|
|
118
118
|
import { a as writeVerificationArtifact, r as readVerificationArtifact } from "./verification-artifact-Cj3hHxpA.js";
|
|
119
|
-
import { C as computeWaves, S as computeStats, T as selectNeedsPlanning, _ as VETOED_LABEL, a as liveOrderIssueLookup, b as computeEpicGroups, c as orderIssueStoreStatus, g as RELEASED_LABEL, h as READY_LABEL, i as listBooks, l as writeOrderBookState, m as PARKED_LABEL, n as computeBookProgress, o as membership, p as OBJECTION_LABEL, r as getBookAsync, s as normalizeOrderIssueId, t as backlogCandidates, u as BLOCKS_MAIN_LABEL, v as classifyIssue, w as normalizeGate, x as computeLanes, y as computeCohort } from "./resolver-
|
|
120
|
-
import { a as spawnPlanningSession, r as resolveAutoSpawnOnFinalize } from "./spawn-planning-session-
|
|
119
|
+
import { C as computeWaves, S as computeStats, T as selectNeedsPlanning, _ as VETOED_LABEL, a as liveOrderIssueLookup, b as computeEpicGroups, c as orderIssueStoreStatus, g as RELEASED_LABEL, h as READY_LABEL, i as listBooks, l as writeOrderBookState, m as PARKED_LABEL, n as computeBookProgress, o as membership, p as OBJECTION_LABEL, r as getBookAsync, s as normalizeOrderIssueId, t as backlogCandidates, u as BLOCKS_MAIN_LABEL, v as classifyIssue, w as normalizeGate, x as computeLanes, y as computeCohort } from "./resolver-TNBoD1Lh.js";
|
|
120
|
+
import { a as spawnPlanningSession, r as resolveAutoSpawnOnFinalize } from "./spawn-planning-session-DEr2g-vN.js";
|
|
121
121
|
import { n as writeSequenceMd, t as parseSequenceMd } from "./sequence-io-TLazzrgD.js";
|
|
122
122
|
import { D as listUatGenerations, d as listDuePendingAutoMerges, g as markMerged, h as markMergeRetriesExhausted, m as markFailed, p as markBlocked, v as requeueToPending, x as transitionToMerging } from "./merge-sync-B0eZ0QwC.js";
|
|
123
123
|
import "./forge-Dda6MokF.js";
|
|
124
|
-
import { r as getRuntimeForAgent } from "./runtimes-
|
|
125
|
-
import "./specialists-
|
|
124
|
+
import { r as getRuntimeForAgent } from "./runtimes-CiPufB1e.js";
|
|
125
|
+
import "./specialists-C5WxILVV.js";
|
|
126
126
|
import { a as getReviewerSessionName } from "./specialists-registry-DMdyaBq4.js";
|
|
127
127
|
import { a as loadWorkspaceMetadata } from "./workspace-metadata-Bw3zviR6.js";
|
|
128
|
-
import { c as readTestSkipWaiver, d as planFinalizedHash, f as stableStringify, l as waiverCoversHead, o as buildFinalFailureInstructions, p as stripAllowedFields, s as grantTestSkipWaiver, u as formatPlanFinalizedTrailer } from "./verification-runner-
|
|
128
|
+
import { c as readTestSkipWaiver, d as planFinalizedHash, f as stableStringify, l as waiverCoversHead, o as buildFinalFailureInstructions, p as stripAllowedFields, s as grantTestSkipWaiver, u as formatPlanFinalizedTrailer } from "./verification-runner-D0DG7ixm.js";
|
|
129
129
|
import { i as pushPlanArtifacts, n as commitPlanArtifacts, r as planArtifactCommitMessage } from "./merge-rebase-CfIE1tcQ.js";
|
|
130
|
-
import { _ as spawnRemoteAgent, a as getRemoteAgentOutput, f as loadRemoteAgentState, g as sendToRemoteAgent, l as killRemoteAgent, n as checkRemoteSpendCap } from "./remote-agents-
|
|
131
|
-
import {
|
|
130
|
+
import { _ as spawnRemoteAgent, a as getRemoteAgentOutput, f as loadRemoteAgentState, g as sendToRemoteAgent, l as killRemoteAgent, n as checkRemoteSpendCap } from "./remote-agents-D6G8Z0T_.js";
|
|
131
|
+
import { _ as isDiscoverableAgentSession, c as enqueueProjectsResourceRefreshStaggered, d as startProjectResourceConvergence, f as stopProjectResourceRefreshQueue, g as groupResourceAllocatedIssuesByProject, h as getResourceDetailIdentifiers, l as getProjectResourceRefreshQueueState, m as getCachedResourceAllocatedIssues, p as whenProjectResourceRefreshIdle, s as enqueueProjectsResourceRefresh, t as PROJECT_RESOURCE_BOOT_STAGGER_WINDOW_MS, v as sanitizeResourceAllocatedIssues } from "./project-resource-refresh-queue-Dx1QPkGs.js";
|
|
132
132
|
import { a as readPrdContent, r as findPrdAnywhere } from "./prd-locations-C_I2h6ui.js";
|
|
133
133
|
import { h as parseIssueIdFromText } from "./pipeline-membership-gather-STT4bndD.js";
|
|
134
|
-
import {
|
|
135
|
-
import {
|
|
136
|
-
import { a as
|
|
137
|
-
import {
|
|
138
|
-
import { a as
|
|
139
|
-
import {
|
|
140
|
-
import { n as
|
|
141
|
-
import { n as
|
|
142
|
-
import {
|
|
143
|
-
import {
|
|
144
|
-
import { a as
|
|
145
|
-
import {
|
|
146
|
-
import {
|
|
147
|
-
import {
|
|
148
|
-
import { n as
|
|
149
|
-
import { t as
|
|
150
|
-
import {
|
|
151
|
-
import {
|
|
152
|
-
import {
|
|
153
|
-
import {
|
|
154
|
-
import { r as
|
|
155
|
-
import {
|
|
156
|
-
import {
|
|
157
|
-
import {
|
|
158
|
-
import { i as
|
|
159
|
-
import {
|
|
160
|
-
import "./
|
|
161
|
-
import { t as
|
|
162
|
-
import
|
|
134
|
+
import { a as refreshMembershipSnapshotsForProjects, i as readPipelineMembershipSnapshotsForProjects, o as summarizePipelineMembership, s as unavailablePipelineMembership } from "./pipeline-membership-BbdiZQ2g.js";
|
|
135
|
+
import { n as DOD_ROWS } from "./dod-BJP9kMFG.js";
|
|
136
|
+
import { a as generateFallbackSummary, c as handoffPreconditionFallbackReason, f as requestHandoffFromAgent, h as getTranscriptAdapter, i as copySessionFromCompactBoundary, l as logHandoffFallback, o as generateSummaryForFork, p as reserveSummaryForkSession, r as authorHandoffExternal, s as handoffFailureReason, t as HandoffAuthorModelNotConfiguredError, u as prependFallbackFocus } from "./summary-fork-DQGtPP_x.js";
|
|
137
|
+
import { a as isCompacting, n as compactConversationNative, s as shouldInterceptManualCompact } from "./conversation-compaction-BLDpoKfB.js";
|
|
138
|
+
import { C as derivePromptTitle, D as readConversationInputTarget, E as resolveDiscoveredSessionFile, S as handleConversationPaneChoiceAnswer, T as summarizeTranscriptTitle, _ as conversationPendingPermission, a as generateAiTitle, b as listPermissionRequests, c as getConversationMessageLocator, d as getConversationsPendingInputFeed, f as handleConversationMove, g as refreshBrowseCache, h as retitleConversation, i as conversationTranscriptMissing, l as getConversationMessagesRead, m as resolveSessionFile, n as configuredTitleModel, o as getCachedMessages, p as patchConversationTitle, r as conversationNeedsTerminal, s as getConversationAbout, t as askUserQuestionSnapshotFromScan, u as getConversationRead, v as handleConversationPermissionAnswer, w as serializeConversationTranscript, x as recordPermissionRequest, y as clearPermissionRequest } from "./conversation-reads-0fCsCPQe.js";
|
|
139
|
+
import { a as listConversationPullRequests, c as listPullRequestLinksForConversations, d as upsertBranchPullRequestLink, i as listAllPullRequestLinks, l as setPullRequestLinkSnapshot, n as linkConversationPullRequest, o as listConversationsForPullRequestSync, s as listConversationsLinkedToPullRequest, t as emitConversationPullRequestsChanged, u as unlinkConversationPullRequest } from "./conversation-pull-requests-VQwME1F1.js";
|
|
140
|
+
import { A as vaultDir, D as withFileLock, E as setOwnedTail, O as VAULT_OFF_MESSAGE, S as listOwned, T as replaceListCache, a as decryptRef, b as tailOf, c as encryptRef, d as parseKeyRing, f as readMachineRecord, h as refName, i as decodeWipParts, j as writeVaultConfig, k as readVaultConfig, l as isTombstone, m as readVaultHeader, n as VaultAuthenticationError, p as readSessionRecord, t as HEADER_REF_NAME, u as newVaultHeader, w as readLocalIndex } from "./format-3trt48Iz.js";
|
|
141
|
+
import { n as pidsWithCwdUnder } from "./teardown-workspace-Dvwa4r5M.js";
|
|
142
|
+
import { n as writeFeedbackFile } from "./feedback-writer-g9cmlhQU.js";
|
|
143
|
+
import { c as isFinalVerificationAttempt, d as readVerificationCycleState, f as shouldEscalateVerificationFailure, l as readCiTestFailureStreak, u as readLatestCiTestResult } from "./verification-escalation-8_JfF7-z.js";
|
|
144
|
+
import { a as getAnalyticsService, c as ensureOperatorHash, d as resolveTelemetryEnabled, f as telemetryEnvironmentForcesOff, i as getAnalyticsClientTypeForProcess, l as getOperatorHashIfEnabled, o as synchronizeAnalyticsServices, s as trackAnalyticsTask, u as getOrCreateInstallId } from "./pipeline-CZPx_h0w.js";
|
|
145
|
+
import { a as readCurrentStatus, l as maybeTriggerStatusRollup, s as readRecentObservations, u as writePendingTurn } from "./rollup-8hDNviZE.js";
|
|
146
|
+
import { r as probeBranchConflictPaths } from "./conflict-gate-CPbG8VXI.js";
|
|
147
|
+
import { o as isAutoMergeEligible } from "./auto-merge-eligibility-f1D8TwAj.js";
|
|
148
|
+
import { n as evaluateConflictRepairGate, r as evaluateIssueMergeGate } from "./merge-gate-D5zTeaC0.js";
|
|
149
|
+
import { n as surfaceIssueFeedbackNeedsYou, t as resolveIssueFeedbackTarget } from "./feedback-target-BYLtF8vX.js";
|
|
150
|
+
import { t as getAgentCommand } from "./settings-DNxbkedU.js";
|
|
151
|
+
import { n as isRemoteAvailable, t as createFlyProviderFromConfig } from "./remote-Day75qqe.js";
|
|
152
|
+
import { A as assertRefName, C as writeMaterialization, D as VaultOfflineError, E as VAULT_FORMAT_MARKER_FILE, M as objectRelativePath, N as ensureEnvironmentIdentity, O as assertDistinctRefNames, S as planMaterialization, T as VAULT_FORMAT_MARKER, _ as isPathUnder$1, a as confirmEviction, b as nativeFileContent, c as readEvictionBatch, f as settle$1, g as runWipGit, h as latestWipEntry, i as clearBatch, j as assertSlotName, k as assertNotSlotName, l as reofferEntry, m as buildWipCommit, n as batchFingerprint, o as declineEntry, p as WipGitError, u as scanEligible, v as compareCwdState, w as KEYWRAP_OBJECT_NAME, x as planCodexMaterialization, y as readCwdState } from "./evict-l0JJZ11s.js";
|
|
153
|
+
import { t as detectProviderEnvConflicts } from "./claude-settings-overlay-BKk6aPyn.js";
|
|
154
|
+
import { a as projectIdFromPath, i as parentSessionIdFromPath, n as dimensionsForModel, o as sessionIdFromPath, r as openEmbeddingsDb } from "./conversations-search-CS0COdna.js";
|
|
155
|
+
import { a as parseRepoUrl, i as inferProjectGithubRepo } from "./infer-tracker-CwOO7_gU.js";
|
|
156
|
+
import { r as getShipLog } from "./ship-log-Di-_dljC.js";
|
|
157
|
+
import { l as mergeTrainRouteLayer } from "./merge-train-Dg5cr8mS.js";
|
|
158
|
+
import { a as resumeFlywheel, c as readFlywheelReportFile, d as FlywheelNotRunning, f as FlywheelOrphanSession, g as resolveFlywheelProjectRoot, h as readFlywheelRun, i as requestFlywheelReport, l as readFlywheelStateFile, m as deriveFlywheelStatus, n as abortFlywheel, o as startFlywheel, p as FlywheelPausedExists, r as pauseFlywheel, s as stopFlywheel, t as computeSubstrateStats, u as FlywheelAlreadyRunning } from "./substrate-stats-0PCKLsMv.js";
|
|
159
|
+
import { a as listConfiguredModels, c as detectClaudeInstall, l as listClaudeBinariesOnPath, r as evaluateClaudeCodeRequirements, s as claudeCodeUpgradePlan, u as readClaudeCodeVersion } from "./requirements-GXRVCopE.js";
|
|
160
|
+
import { i as appendLinearMcpAuthHealthyEvent, r as appendLinearMcpAuthCallbackRelayedEvent, s as resolveLinearMcpAuthIntervention } from "./linear-mcp-auth-JIDCfEz0.js";
|
|
161
|
+
import { n as getSequencerRunStatus, r as spawnSequencerAgent, t as SEQUENCER_AGENT_ID } from "./sequencer-agent-C_RaZl3z.js";
|
|
162
|
+
import "./supervisor-De-GYL91.js";
|
|
163
|
+
import { t as buildConfirmedDeadAgentEvents } from "./agent-status-events-DfYAcfpo.js";
|
|
164
|
+
import { i as listTranscriptCheckpoints, r as getTranscriptCheckpoint$1 } from "./checkpoints-C-xh-Mv0.js";
|
|
163
165
|
import { basename, delimiter, dirname, extname, isAbsolute, join, normalize, posix, relative, resolve, sep, win32 } from "node:path";
|
|
164
166
|
import { Cause, Context, Data, Deferred, Duration, Effect, FileSystem, Layer, Option, Path, Queue, Result, Schedule, Schema, Stream } from "effect";
|
|
165
167
|
import { createReadStream, createWriteStream, existsSync, fstatSync, mkdirSync, readFileSync, readdirSync, statSync } from "fs";
|
|
@@ -895,7 +897,7 @@ const AgentSpawnerLive = Layer.effect(AgentSpawner, Effect.sync(() => ({
|
|
|
895
897
|
if (!existsSync$1(workspacePath)) throw new WorkspaceNotFound({ id: issueId });
|
|
896
898
|
const plan = readWorkspacePlanSync(workspacePath);
|
|
897
899
|
if (!plan || plan.plan.items.length === 0) throw new PlanEmpty({ id: issueId });
|
|
898
|
-
const { getAgentState, spawnAgent, normalizeAgentId } = await import("./agents-
|
|
900
|
+
const { getAgentState, spawnAgent, normalizeAgentId } = await import("./agents-C9oho7kE.js");
|
|
899
901
|
const normalizedId = normalizeAgentId(issueId);
|
|
900
902
|
if (getAgentState(normalizedId)?.status === "running") throw new AgentAlreadyRunning({ id: issueId });
|
|
901
903
|
return {
|
|
@@ -927,7 +929,7 @@ const AgentSpawnerLive = Layer.effect(AgentSpawner, Effect.sync(() => ({
|
|
|
927
929
|
const { workspacePath, projectPath, issue } = opts;
|
|
928
930
|
if (!existsSync$1(workspacePath)) throw new WorkspaceNotFound({ id: issueId });
|
|
929
931
|
const sessionName = opts.sessionName ?? `planning-${issueId.toLowerCase()}`;
|
|
930
|
-
const { spawnPlanningSession } = await import("./spawn-planning-session-
|
|
932
|
+
const { spawnPlanningSession } = await import("./spawn-planning-session-D9vDkQVz.js");
|
|
931
933
|
const result = await spawnPlanningSession({
|
|
932
934
|
issue: {
|
|
933
935
|
id: issue.id,
|
|
@@ -961,14 +963,14 @@ const AgentSpawnerLive = Layer.effect(AgentSpawner, Effect.sync(() => ({
|
|
|
961
963
|
}),
|
|
962
964
|
kill: (agentId) => Effect.tryPromise({
|
|
963
965
|
try: async () => {
|
|
964
|
-
const { stopAgent } = await import("./agents-
|
|
966
|
+
const { stopAgent } = await import("./agents-C9oho7kE.js");
|
|
965
967
|
await Effect.runPromise(stopAgent(agentId));
|
|
966
968
|
},
|
|
967
969
|
catch: () => void 0
|
|
968
970
|
}).pipe(Effect.ignore),
|
|
969
971
|
message: (agentId, msg) => Effect.tryPromise({
|
|
970
972
|
try: async () => {
|
|
971
|
-
const { messageAgent } = await import("./agents-
|
|
973
|
+
const { messageAgent } = await import("./agents-C9oho7kE.js");
|
|
972
974
|
await messageAgent(agentId, msg);
|
|
973
975
|
},
|
|
974
976
|
catch: (err) => new AgentStartError({
|
|
@@ -979,7 +981,7 @@ const AgentSpawnerLive = Layer.effect(AgentSpawner, Effect.sync(() => ({
|
|
|
979
981
|
}),
|
|
980
982
|
deepWipe: (issueId, opts) => Effect.tryPromise({
|
|
981
983
|
try: async () => {
|
|
982
|
-
const { deepWipe } = await import("./workflows-
|
|
984
|
+
const { deepWipe } = await import("./workflows-Dr-Yo76E.js");
|
|
983
985
|
const { resolveProjectFromIssueSync } = await import("./projects-CjRKDa9o.js");
|
|
984
986
|
const project = resolveProjectFromIssueSync(issueId);
|
|
985
987
|
const projectPath = project?.projectPath ?? process.cwd();
|
|
@@ -1045,7 +1047,7 @@ const WorkspaceServiceLive = Layer.effect(WorkspaceService, Effect.sync(() => {
|
|
|
1045
1047
|
const { workspacePath, branch } = getWorkspacePath(issueId);
|
|
1046
1048
|
const issueLower = issueId.toLowerCase();
|
|
1047
1049
|
if (!workspaceNeedsSetup(workspacePath)) return workspacePath;
|
|
1048
|
-
const { createWorkspace } = await import("./workspace-manager-
|
|
1050
|
+
const { createWorkspace } = await import("./workspace-manager-D0auAuId.js");
|
|
1049
1051
|
const { loadProjectsConfigSync } = await import("./projects-CjRKDa9o.js");
|
|
1050
1052
|
const { projects } = loadProjectsConfigSync();
|
|
1051
1053
|
const project = resolveProjectFromIssueSync(issueId);
|
|
@@ -1080,7 +1082,7 @@ const WorkspaceServiceLive = Layer.effect(WorkspaceService, Effect.sync(() => {
|
|
|
1080
1082
|
const { workspacePath } = getWorkspacePath(issueId);
|
|
1081
1083
|
const issueLower = issueId.toLowerCase();
|
|
1082
1084
|
if (!existsSync$1(workspacePath)) throw new WorkspaceNotFound({ id: issueId });
|
|
1083
|
-
const { removeWorkspace } = await import("./workspace-manager-
|
|
1085
|
+
const { removeWorkspace } = await import("./workspace-manager-D0auAuId.js");
|
|
1084
1086
|
const project = resolveProjectFromIssueSync(issueId);
|
|
1085
1087
|
if (!project) throw new WorkspaceCreateError({
|
|
1086
1088
|
id: issueId,
|
|
@@ -1111,7 +1113,7 @@ const WorkspaceServiceLive = Layer.effect(WorkspaceService, Effect.sync(() => {
|
|
|
1111
1113
|
try: async () => {
|
|
1112
1114
|
const { workspacePath } = getWorkspacePath(issueId);
|
|
1113
1115
|
const issueLower = issueId.toLowerCase();
|
|
1114
|
-
const { stopWorkspaceDocker } = await import("./workspace-manager-
|
|
1116
|
+
const { stopWorkspaceDocker } = await import("./workspace-manager-D0auAuId.js");
|
|
1115
1117
|
await stopWorkspaceDocker(workspacePath, issueLower);
|
|
1116
1118
|
},
|
|
1117
1119
|
catch: () => void 0
|
|
@@ -1180,7 +1182,7 @@ const WorkspaceServiceLive = Layer.effect(WorkspaceService, Effect.sync(() => {
|
|
|
1180
1182
|
join(workspacePath, ".devcontainer", "docker-compose.devcontainer.yml")
|
|
1181
1183
|
];
|
|
1182
1184
|
if (!composePaths.find((p) => existsSync$1(p))) {
|
|
1183
|
-
const { ensureDevcontainer } = await import("./ensure-devcontainer-
|
|
1185
|
+
const { ensureDevcontainer } = await import("./ensure-devcontainer-bvZTPcBb.js");
|
|
1184
1186
|
const ensure = ensureDevcontainer({
|
|
1185
1187
|
workspacePath,
|
|
1186
1188
|
issueId
|
|
@@ -1605,6 +1607,28 @@ async function readBridgedCodexCredential() {
|
|
|
1605
1607
|
};
|
|
1606
1608
|
}
|
|
1607
1609
|
}
|
|
1610
|
+
async function mtimeMsOrNull(path) {
|
|
1611
|
+
try {
|
|
1612
|
+
return (await stat(path)).mtimeMs;
|
|
1613
|
+
} catch {
|
|
1614
|
+
return null;
|
|
1615
|
+
}
|
|
1616
|
+
}
|
|
1617
|
+
/**
|
|
1618
|
+
* Re-bridge ~/.codex/auth.json into CLIProxy's codex-primary.json when the native
|
|
1619
|
+
* store was written after the bridged copy (or the copy is missing). A `codex
|
|
1620
|
+
* login` run in the operator's own terminal heals only the native store; without
|
|
1621
|
+
* this the stale bridged copy keeps the banner red until a dashboard restart.
|
|
1622
|
+
* Two stats per poll; best effort, never fails the status read.
|
|
1623
|
+
*/
|
|
1624
|
+
async function rebridgeCodexAuthIfNativeNewer() {
|
|
1625
|
+
const [nativeMtimeMs, bridgedMtimeMs] = await Promise.all([mtimeMsOrNull(getNativeCodexAuthPath()), mtimeMsOrNull(join(getCliproxyAuthDir(), "codex-primary.json"))]);
|
|
1626
|
+
if (nativeMtimeMs === null) return;
|
|
1627
|
+
if (bridgedMtimeMs !== null && bridgedMtimeMs >= nativeMtimeMs) return;
|
|
1628
|
+
try {
|
|
1629
|
+
await bridgeCodexAuthToCliproxy();
|
|
1630
|
+
} catch {}
|
|
1631
|
+
}
|
|
1608
1632
|
/** Bridge checkCodexAuthStatus into a route, keeping its message in a 500 body. */
|
|
1609
1633
|
const checkCodexAuth = (options) => Effect.tryPromise({
|
|
1610
1634
|
try: () => checkCodexAuthStatus(options),
|
|
@@ -1614,6 +1638,7 @@ const checkCodexAuth = (options) => Effect.tryPromise({
|
|
|
1614
1638
|
})
|
|
1615
1639
|
});
|
|
1616
1640
|
const getCodexAuthRoute = HttpRouter.add("GET", "/api/settings/codex-auth", httpHandler(Effect.gen(function* () {
|
|
1641
|
+
yield* Effect.promise(() => rebridgeCodexAuthIfNativeNewer());
|
|
1617
1642
|
return jsonResponse(yield* checkCodexAuth({}));
|
|
1618
1643
|
})));
|
|
1619
1644
|
async function getExistingLiveReauthSession() {
|
|
@@ -15767,7 +15792,7 @@ var require_get_vercel_oidc_token = /* @__PURE__ */ __commonJSMin(((exports, mod
|
|
|
15767
15792
|
err = error;
|
|
15768
15793
|
}
|
|
15769
15794
|
try {
|
|
15770
|
-
const [{ getTokenPayload, isExpired }, { refreshToken }] = await Promise.all([await import("./token-util-DSDGsD95.js").then((m) => /* @__PURE__ */ __toESM(m.default)), await import("./token-
|
|
15795
|
+
const [{ getTokenPayload, isExpired }, { refreshToken }] = await Promise.all([await import("./token-util-DSDGsD95.js").then((m) => /* @__PURE__ */ __toESM(m.default)), await import("./token-BVSQ0ZbH.js").then((m) => /* @__PURE__ */ __toESM(m.default))]);
|
|
15771
15796
|
if (!token || isExpired(getTokenPayload(token), options?.expirationBufferMs)) {
|
|
15772
15797
|
await refreshToken(options);
|
|
15773
15798
|
token = getVercelOidcTokenSync();
|
|
@@ -30254,7 +30279,7 @@ var GoogleCloudTranscription = class {
|
|
|
30254
30279
|
}
|
|
30255
30280
|
async start(apiKey, model) {
|
|
30256
30281
|
try {
|
|
30257
|
-
const { SpeechClient } = await import("./src-
|
|
30282
|
+
const { SpeechClient } = await import("./src-Bjf3_TJI.js").then((m) => /* @__PURE__ */ __toESM(m.default, 1)).then((module) => module.v1p1beta1 ?? module.v1);
|
|
30258
30283
|
if (this.closed) return;
|
|
30259
30284
|
const stream = new SpeechClient({ apiKey }).streamingRecognize({
|
|
30260
30285
|
config: {
|
|
@@ -30950,7 +30975,7 @@ async function captureInterestedAgent(state, agentId, pane) {
|
|
|
30950
30975
|
try {
|
|
30951
30976
|
const remoteState = await readFile(join(homedir$1(), ".overdeck", "agents", agentId, "remote-state.json"), "utf-8").then((text) => JSON.parse(text)).catch(() => null);
|
|
30952
30977
|
if (remoteState?.location === "remote" && remoteState?.vmName) {
|
|
30953
|
-
const { getRemoteAgentOutput } = await import("./remote-agents-
|
|
30978
|
+
const { getRemoteAgentOutput } = await import("./remote-agents-BlqgB9dc.js");
|
|
30954
30979
|
stdout = await getRemoteAgentOutput(agentId, remoteState.vmName, 50);
|
|
30955
30980
|
} else stdout = await captureAgentPane(agentId, pane);
|
|
30956
30981
|
} catch {
|
|
@@ -32271,7 +32296,7 @@ const PanRpcLayer = PanRpcGroup.toLayer(Effect.gen(function* () {
|
|
|
32271
32296
|
},
|
|
32272
32297
|
[WS_METHODS.subscribeIssueEvents]: (input) => {
|
|
32273
32298
|
console.log(`[ws-rpc] subscribeIssueEvents invoked issueId=${input.issueId}`);
|
|
32274
|
-
import("./issue-service-singleton-
|
|
32299
|
+
import("./issue-service-singleton-BbERjqoV.js").then(({ getSharedIssueService }) => getSharedIssueService().backfillIssue(input.issueId)).catch(() => {});
|
|
32275
32300
|
return eventStore.streamEvents.pipe(Stream.filter(shouldBroadcastDashboardEvent), Stream.map(storedToDomainEvent), Stream.filter(passesDomainEventSchema), Stream.mapEffect((event) => getCachedAgentIssueLookup(readModel).pipe(Effect.map((lookup) => filterDomainEventForIssue(event, input.issueId, lookup)))), Stream.filter((event) => event !== null));
|
|
32276
32301
|
},
|
|
32277
32302
|
[WS_METHODS.subscribeTerminal]: (input) => terminalService.streamSession(input.sessionName, input.cols, input.rows),
|
|
@@ -32695,7 +32720,7 @@ const defaultExecFile = async (file, args, options) => {
|
|
|
32695
32720
|
return { stdout };
|
|
32696
32721
|
};
|
|
32697
32722
|
async function defaultGetLabels(issueId) {
|
|
32698
|
-
const { defaultGetIssueLabels } = await import("./auto-merge-eligibility-
|
|
32723
|
+
const { defaultGetIssueLabels } = await import("./auto-merge-eligibility-is6bTkrA.js");
|
|
32699
32724
|
return defaultGetIssueLabels(issueId);
|
|
32700
32725
|
}
|
|
32701
32726
|
/** The workspace PRD: `.pan/drafts/<ISSUE-UPPER>.md`, then `<issue-lower>.md`. */
|
|
@@ -34248,7 +34273,7 @@ async function runDestructiveIssueLifecycle(id, mode, opts = {}) {
|
|
|
34248
34273
|
cancelPlanHome = resolveIssueWorkspacePlanHome(ctx.projectPath, id);
|
|
34249
34274
|
}
|
|
34250
34275
|
cleanupLog.push(...await closeIssuePullRequest(id, mode === "cancel" ? "Canceled via Overdeck" : "Reset to Todo via Overdeck"));
|
|
34251
|
-
const { resetToTodo, cancelIssueWorkflow } = await import("./lifecycle-
|
|
34276
|
+
const { resetToTodo, cancelIssueWorkflow } = await import("./lifecycle-BHcU1hPs.js");
|
|
34252
34277
|
const workflow = mode === "cancel" ? cancelIssueWorkflow : resetToTodo;
|
|
34253
34278
|
const result = await Effect.runPromise(workflow(ctx, {
|
|
34254
34279
|
deleteWorkspace,
|
|
@@ -34264,7 +34289,7 @@ async function runDestructiveIssueLifecycle(id, mode, opts = {}) {
|
|
|
34264
34289
|
cleanupLog.push(...result.steps.flatMap((step) => step.details || [step.error].filter(Boolean)));
|
|
34265
34290
|
if (mode === "cancel") cleanupLog.push(await transitionCancelledSpec(id, cancelPlanHome));
|
|
34266
34291
|
try {
|
|
34267
|
-
const { killAllReviewerSessions } = await import("./review-agent-
|
|
34292
|
+
const { killAllReviewerSessions } = await import("./review-agent-D7b3qt2U.js");
|
|
34268
34293
|
const { resolveProjectFromIssueSync } = await import("./projects-CjRKDa9o.js");
|
|
34269
34294
|
const projectKey = resolveProjectFromIssueSync(id)?.projectKey;
|
|
34270
34295
|
if (projectKey) {
|
|
@@ -34275,7 +34300,7 @@ async function runDestructiveIssueLifecycle(id, mode, opts = {}) {
|
|
|
34275
34300
|
cleanupLog.push(`Reviewer session cleanup failed (non-fatal): ${err instanceof Error ? err.message : String(err)}`);
|
|
34276
34301
|
}
|
|
34277
34302
|
try {
|
|
34278
|
-
const { resetPostMergeState } = await import("./merge-agent-
|
|
34303
|
+
const { resetPostMergeState } = await import("./merge-agent-C2UtoeTe.js");
|
|
34279
34304
|
resetPostMergeState(id);
|
|
34280
34305
|
resetPostMergeState(id.toUpperCase());
|
|
34281
34306
|
cleanupLog.push("Cleared merge state");
|
|
@@ -34295,7 +34320,7 @@ function closeIssueTransition(options) {
|
|
|
34295
34320
|
const { issueId, body, eventStore } = options;
|
|
34296
34321
|
const { reason } = body;
|
|
34297
34322
|
const projectPath = getProjectPath$3(void 0, extractPrefix(issueId) ?? issueId.split("-")[0]);
|
|
34298
|
-
const { close: closeWorkflow } = yield* Effect.promise(() => import("./lifecycle-
|
|
34323
|
+
const { close: closeWorkflow } = yield* Effect.promise(() => import("./lifecycle-BHcU1hPs.js"));
|
|
34299
34324
|
const githubCheck = isGitHubIssue$4(issueId);
|
|
34300
34325
|
const issueDataService = getIssueDataService$8();
|
|
34301
34326
|
const issueSource = issueDataService.getIssueSource(issueId);
|
|
@@ -34566,7 +34591,7 @@ function reopenIssueTransition(options) {
|
|
|
34566
34591
|
if (workspacePath) await reopenWorkspaceState(id.toUpperCase(), workspacePath, { reason: body?.reason });
|
|
34567
34592
|
} catch {}
|
|
34568
34593
|
try {
|
|
34569
|
-
const { resetPostMergeState } = await import("./merge-agent-
|
|
34594
|
+
const { resetPostMergeState } = await import("./merge-agent-C2UtoeTe.js");
|
|
34570
34595
|
resetPostMergeState(id);
|
|
34571
34596
|
resetPostMergeState(id.toUpperCase());
|
|
34572
34597
|
} catch {}
|
|
@@ -34873,7 +34898,7 @@ async function copySettingsToWorkspace(id) {
|
|
|
34873
34898
|
success: false,
|
|
34874
34899
|
error: "Workspace not found"
|
|
34875
34900
|
}, { status: 404 });
|
|
34876
|
-
const { copyOverdeckSettingsToWorkspace } = await import("./workspace-manager-
|
|
34901
|
+
const { copyOverdeckSettingsToWorkspace } = await import("./workspace-manager-D0auAuId.js");
|
|
34877
34902
|
const result = copyOverdeckSettingsToWorkspace(workspacePath);
|
|
34878
34903
|
return jsonResponse({
|
|
34879
34904
|
success: result.errors.length === 0 || result.copied.length > 0,
|
|
@@ -35364,7 +35389,7 @@ function restartFromPlan(options) {
|
|
|
35364
35389
|
});
|
|
35365
35390
|
const resetResult = yield* Effect.promise(async () => {
|
|
35366
35391
|
try {
|
|
35367
|
-
const { runGitResetHard } = await import("./dangerous-git-ops-
|
|
35392
|
+
const { runGitResetHard } = await import("./dangerous-git-ops-BcSMn_cv.js");
|
|
35368
35393
|
async function findPlanningCommit(grep, label) {
|
|
35369
35394
|
try {
|
|
35370
35395
|
const { stdout } = await execAsync$6(`git log --grep="${grep.replace(/"/g, "\\\"")}" --format=%H -1`, {
|
|
@@ -35797,7 +35822,7 @@ function closeOutIssue(id, opts = {}) {
|
|
|
35797
35822
|
}
|
|
35798
35823
|
const closeOutResult = yield* Effect.promise(async () => {
|
|
35799
35824
|
try {
|
|
35800
|
-
const { closeOut } = await import("./lifecycle-
|
|
35825
|
+
const { closeOut } = await import("./lifecycle-BHcU1hPs.js");
|
|
35801
35826
|
return {
|
|
35802
35827
|
ok: true,
|
|
35803
35828
|
result: await Effect.runPromise(closeOut(ctx, {
|
|
@@ -35886,7 +35911,7 @@ function bulkCloseOut(body) {
|
|
|
35886
35911
|
const invalidIds = issueIds.filter((id) => !isValidIssueId(id));
|
|
35887
35912
|
if (invalidIds.length > 0) return jsonResponse({ error: `Invalid issue ID format: ${invalidIds.join(", ")}` }, { status: 400 });
|
|
35888
35913
|
const eventStore = yield* EventStoreService;
|
|
35889
|
-
const { closeOut } = yield* Effect.promise(() => import("./lifecycle-
|
|
35914
|
+
const { closeOut } = yield* Effect.promise(() => import("./lifecycle-BHcU1hPs.js"));
|
|
35890
35915
|
const issueDataService = getIssueDataService$5();
|
|
35891
35916
|
const tasks = [];
|
|
35892
35917
|
const agentChecks = yield* Effect.all(issueIds.map((id) => Effect.promise(async () => {
|
|
@@ -39224,7 +39249,7 @@ async function defaultReadRemoteState(agentId) {
|
|
|
39224
39249
|
*/
|
|
39225
39250
|
async function defaultIssueTitles() {
|
|
39226
39251
|
try {
|
|
39227
|
-
const { getSharedIssueService } = await import("./issue-service-singleton-
|
|
39252
|
+
const { getSharedIssueService } = await import("./issue-service-singleton-BbERjqoV.js");
|
|
39228
39253
|
const titles = /* @__PURE__ */ new Map();
|
|
39229
39254
|
for (const issue of getSharedIssueService().getIssues({ includeCompleted: true })) {
|
|
39230
39255
|
if (typeof issue !== "object" || issue === null) continue;
|
|
@@ -39239,7 +39264,7 @@ async function defaultIssueTitles() {
|
|
|
39239
39264
|
/** Derived pipeline states from the shared issue service's cache; empty on any error. */
|
|
39240
39265
|
async function defaultDerivedIssueStates() {
|
|
39241
39266
|
try {
|
|
39242
|
-
const { getSharedIssueService } = await import("./issue-service-singleton-
|
|
39267
|
+
const { getSharedIssueService } = await import("./issue-service-singleton-BbERjqoV.js");
|
|
39243
39268
|
return new Map(getSharedIssueService().listDerivedStates().map((derived) => [derived.issueId.toUpperCase(), derived]));
|
|
39244
39269
|
} catch {
|
|
39245
39270
|
return /* @__PURE__ */ new Map();
|
|
@@ -42463,7 +42488,7 @@ async function surfaceNeedsYou(issueId, reason, details, deps) {
|
|
|
42463
42488
|
await deps.surfaceNeedsYou(issueId, reason, details);
|
|
42464
42489
|
return;
|
|
42465
42490
|
}
|
|
42466
|
-
const { surfaceIssueFeedbackNeedsYou } = await import("./feedback-target-
|
|
42491
|
+
const { surfaceIssueFeedbackNeedsYou } = await import("./feedback-target-B0XBJvkz.js");
|
|
42467
42492
|
await surfaceIssueFeedbackNeedsYou(issueId, reason, details);
|
|
42468
42493
|
} catch (err) {
|
|
42469
42494
|
console.warn(`[ci-failure-feedback] Could not surface needs-you for ${issueId}: ${err instanceof Error ? err.message : String(err)}`);
|
|
@@ -42506,7 +42531,7 @@ async function recordCiTestGatePassInQueue(opts, deps = {}) {
|
|
|
42506
42531
|
return false;
|
|
42507
42532
|
}
|
|
42508
42533
|
try {
|
|
42509
|
-
const { liftVerificationStuckPause } = await import("./verification-escalation-
|
|
42534
|
+
const { liftVerificationStuckPause } = await import("./verification-escalation-DAjaXHwo.js");
|
|
42510
42535
|
await liftVerificationStuckPause(issueId, "ci-failure-feedback");
|
|
42511
42536
|
} catch (err) {
|
|
42512
42537
|
console.warn(`[ci-failure-feedback] Could not lift the verification-stuck pause for ${issueId}: ${err instanceof Error ? err.message : String(err)}`);
|
|
@@ -42618,7 +42643,7 @@ function buildFeedbackBody(opts) {
|
|
|
42618
42643
|
* needs-you when nothing can be reached).
|
|
42619
42644
|
*/
|
|
42620
42645
|
async function deliverCiTestGateFeedback(issueId, opts, feedbackPath, counted, deps) {
|
|
42621
|
-
const { announceVerificationFailure, deliverVerificationFeedback, escalateVerificationStuck } = await import("./verification-escalation-
|
|
42646
|
+
const { announceVerificationFailure, deliverVerificationFeedback, escalateVerificationStuck } = await import("./verification-escalation-DAjaXHwo.js");
|
|
42622
42647
|
const head8 = opts.headSha.slice(0, 8);
|
|
42623
42648
|
const { cycleCount } = counted;
|
|
42624
42649
|
const summary = `CI test job failed on PR head ${head8} (attempt ${cycleCount}/3).\n\nFeedback: ${feedbackPath}`;
|
|
@@ -43013,7 +43038,7 @@ async function handlePullRequest(payload) {
|
|
|
43013
43038
|
const resolved = resolveProjectFromIssueSync(issueId);
|
|
43014
43039
|
const project = resolved ? listProjectsSync().find((entry) => entry.key === resolved.projectKey)?.config : void 0;
|
|
43015
43040
|
if (project) {
|
|
43016
|
-
const { enqueueProjectResourceRefresh } = await import("./project-resource-refresh-queue-
|
|
43041
|
+
const { enqueueProjectResourceRefresh } = await import("./project-resource-refresh-queue-DmNcMWIW.js");
|
|
43017
43042
|
enqueueProjectResourceRefresh(project, `pull_request:${payload.action}`);
|
|
43018
43043
|
}
|
|
43019
43044
|
} catch (err) {
|
|
@@ -43034,14 +43059,14 @@ async function handlePullRequest(payload) {
|
|
|
43034
43059
|
console.warn(`[webhook] Failed to start the review pipeline for ${issueId}: ${err?.message ?? err}`);
|
|
43035
43060
|
}
|
|
43036
43061
|
if (payload.action === "closed" && pr.merged === true) try {
|
|
43037
|
-
const { postMergeLifecycle } = await import("./merge-agent-
|
|
43062
|
+
const { postMergeLifecycle } = await import("./merge-agent-C2UtoeTe.js");
|
|
43038
43063
|
const { resolveProjectFromIssueSync } = await import("./projects-CjRKDa9o.js");
|
|
43039
43064
|
const project = resolveProjectFromIssueSync(issueId);
|
|
43040
43065
|
if (project) {
|
|
43041
43066
|
const branchName = pr.head.ref;
|
|
43042
43067
|
postMergeLifecycle(issueId, project.projectPath, branchName).catch((err) => console.warn(`[webhook] postMergeLifecycle failed for ${issueId} (${branchName}): ${err?.message ?? err}`));
|
|
43043
43068
|
if (branchName.toLowerCase().startsWith("strike/")) {
|
|
43044
|
-
const { finishStrike } = await import("./strike-completion-
|
|
43069
|
+
const { finishStrike } = await import("./strike-completion-PiFiEtoo.js");
|
|
43045
43070
|
finishStrike(issueId, project.projectPath, {
|
|
43046
43071
|
source: "webhook",
|
|
43047
43072
|
...pr.number != null ? { prRef: prUrlFor(repo, pr.number) } : {}
|
|
@@ -51668,7 +51693,7 @@ const postMissionControlUploadRoute = HttpRouter.add("POST", "/api/command-deck/
|
|
|
51668
51693
|
let safeName = filename.replace(/[^a-zA-Z0-9._-]/g, "-");
|
|
51669
51694
|
let processedContent = content;
|
|
51670
51695
|
if (safeName.endsWith(".vtt")) {
|
|
51671
|
-
const { vttToMarkdown } = yield* Effect.promise(() => import("./vtt-parser-
|
|
51696
|
+
const { vttToMarkdown } = yield* Effect.promise(() => import("./vtt-parser-uNggfu87.js"));
|
|
51672
51697
|
processedContent = vttToMarkdown(content);
|
|
51673
51698
|
safeName = safeName.replace(/\.vtt$/, ".md");
|
|
51674
51699
|
}
|
|
@@ -57325,15 +57350,15 @@ const defaultPresetPlanDeps = {
|
|
|
57325
57350
|
readConfigText: readGlobalConfigText,
|
|
57326
57351
|
hasCredentials: providerHasCredentials,
|
|
57327
57352
|
async resolveHarnessBinary(harness) {
|
|
57328
|
-
const { resolveHarnessBinary } = await import("./harness-binary-
|
|
57353
|
+
const { resolveHarnessBinary } = await import("./harness-binary-DFBkr1Wg.js");
|
|
57329
57354
|
return resolveHarnessBinary(harness);
|
|
57330
57355
|
},
|
|
57331
57356
|
async getAuthMode(model) {
|
|
57332
|
-
const { getProviderAuthMode } = await import("./runtime-command-
|
|
57357
|
+
const { getProviderAuthMode } = await import("./runtime-command-D91mhWSL.js");
|
|
57333
57358
|
return getProviderAuthMode(model);
|
|
57334
57359
|
},
|
|
57335
57360
|
async resolveCodexContext(harness, model, authMode) {
|
|
57336
|
-
const { resolveCodexPolicyContext } = await import("./policy-context-
|
|
57361
|
+
const { resolveCodexPolicyContext } = await import("./policy-context-CYqNhQra.js");
|
|
57337
57362
|
return resolveCodexPolicyContext(harness, model, authMode);
|
|
57338
57363
|
}
|
|
57339
57364
|
};
|
|
@@ -58543,7 +58568,7 @@ async function syncOnce(options) {
|
|
|
58543
58568
|
}
|
|
58544
58569
|
if (options.afterSettle) await options.afterSettle(report);
|
|
58545
58570
|
else if (config.evict) {
|
|
58546
|
-
const { scanEligible } = await import("./evict-
|
|
58571
|
+
const { scanEligible } = await import("./evict-LT5Wbo6F.js");
|
|
58547
58572
|
await scanEligible({
|
|
58548
58573
|
store,
|
|
58549
58574
|
keys,
|
|
@@ -59565,131 +59590,6 @@ async function launchVaultContinuedConversation(conv, note) {
|
|
|
59565
59590
|
})());
|
|
59566
59591
|
}
|
|
59567
59592
|
//#endregion
|
|
59568
|
-
//#region ../../lib/projects/repo-url.ts
|
|
59569
|
-
/** Schemes we are willing to hand to `git clone` from a dashboard request. */
|
|
59570
|
-
const SUPPORTED_SCHEMES = new Set([
|
|
59571
|
-
"https:",
|
|
59572
|
-
"http:",
|
|
59573
|
-
"ssh:"
|
|
59574
|
-
]);
|
|
59575
|
-
/** Control characters and NUL, which have no business in a URL we spawn with. */
|
|
59576
|
-
const CONTROL_CHARS = /[\u0000-\u001f\u007f]/;
|
|
59577
|
-
/**
|
|
59578
|
-
* `user@host:path/repo.git` — SCP syntax, not a URL.
|
|
59579
|
-
*
|
|
59580
|
-
* The host group excludes `:` and `/` so a scheme URL can never reach here, and
|
|
59581
|
-
* the path must be non-empty. Any user is accepted, not just `git`: deploy keys
|
|
59582
|
-
* routinely use another account.
|
|
59583
|
-
*/
|
|
59584
|
-
const SCP_SOURCE = /^([^\s@/:]+)@([^\s@/:]+):(.+)$/;
|
|
59585
|
-
/** Bare `owner/repo`, the only form we are allowed to invent a URL for. */
|
|
59586
|
-
const GITHUB_SHORTHAND = /^([A-Za-z0-9._-]+)\/([A-Za-z0-9._-]+)$/;
|
|
59587
|
-
/** Detect provider by host name. */
|
|
59588
|
-
function providerForHostname(hostname) {
|
|
59589
|
-
const host = hostname.toLowerCase();
|
|
59590
|
-
if (host === "github.com" || host === "www.github.com") return "github";
|
|
59591
|
-
if (host === "gitlab.com" || host === "www.gitlab.com") return "gitlab";
|
|
59592
|
-
return null;
|
|
59593
|
-
}
|
|
59594
|
-
/**
|
|
59595
|
-
* Strip the decoration that is metadata-only: surrounding slashes and one
|
|
59596
|
-
* trailing `.git`. Exactly one, so `repo.git.git` keeps its odd-but-real name.
|
|
59597
|
-
*/
|
|
59598
|
-
function normalizeRepoPath(rawPath) {
|
|
59599
|
-
return rawPath.replace(/^\/+/, "").replace(/\/+$/, "").replace(/\.git$/, "");
|
|
59600
|
-
}
|
|
59601
|
-
/**
|
|
59602
|
-
* The last path segment, decoded, or null when it cannot safely name a folder.
|
|
59603
|
-
*
|
|
59604
|
-
* Decoding matters because `%2F` and `%2E%2E` survive the segment split and
|
|
59605
|
-
* would otherwise become a path separator or a traversal in a directory name.
|
|
59606
|
-
*/
|
|
59607
|
-
function folderNameFor(repoPath) {
|
|
59608
|
-
const segments = repoPath.split("/").filter(Boolean);
|
|
59609
|
-
const last = segments[segments.length - 1];
|
|
59610
|
-
if (!last) return null;
|
|
59611
|
-
let decoded;
|
|
59612
|
-
try {
|
|
59613
|
-
decoded = decodeURIComponent(last);
|
|
59614
|
-
} catch {
|
|
59615
|
-
return null;
|
|
59616
|
-
}
|
|
59617
|
-
if (!decoded || decoded === "." || decoded === "..") return null;
|
|
59618
|
-
if (decoded.includes("/") || decoded.includes("\\")) return null;
|
|
59619
|
-
if (CONTROL_CHARS.test(decoded)) return null;
|
|
59620
|
-
return decoded;
|
|
59621
|
-
}
|
|
59622
|
-
/** A repo path is usable when it names at least one non-empty, non-dot segment. */
|
|
59623
|
-
function isUsableRepoPath(repoPath) {
|
|
59624
|
-
const segments = repoPath.split("/").filter(Boolean);
|
|
59625
|
-
if (segments.length === 0) return false;
|
|
59626
|
-
const last = segments[segments.length - 1];
|
|
59627
|
-
return last !== "." && last !== "..";
|
|
59628
|
-
}
|
|
59629
|
-
/** Parse an explicit scheme URL (`https://…`, `ssh://…`). */
|
|
59630
|
-
function parseSchemeSource(source) {
|
|
59631
|
-
let url;
|
|
59632
|
-
try {
|
|
59633
|
-
url = new URL(source);
|
|
59634
|
-
} catch {
|
|
59635
|
-
return null;
|
|
59636
|
-
}
|
|
59637
|
-
if (!SUPPORTED_SCHEMES.has(url.protocol)) return null;
|
|
59638
|
-
if (!url.hostname) return null;
|
|
59639
|
-
const repoPath = normalizeRepoPath(url.pathname);
|
|
59640
|
-
if (!isUsableRepoPath(repoPath)) return null;
|
|
59641
|
-
return {
|
|
59642
|
-
hostname: url.hostname,
|
|
59643
|
-
repoPath
|
|
59644
|
-
};
|
|
59645
|
-
}
|
|
59646
|
-
/** Parse SCP syntax (`git@github.com:acme/private.git`). */
|
|
59647
|
-
function parseScpSource(source) {
|
|
59648
|
-
const match = SCP_SOURCE.exec(source);
|
|
59649
|
-
if (!match) return null;
|
|
59650
|
-
const hostname = match[2];
|
|
59651
|
-
const repoPath = normalizeRepoPath(match[3]);
|
|
59652
|
-
if (!isUsableRepoPath(repoPath)) return null;
|
|
59653
|
-
return {
|
|
59654
|
-
hostname,
|
|
59655
|
-
repoPath
|
|
59656
|
-
};
|
|
59657
|
-
}
|
|
59658
|
-
/**
|
|
59659
|
-
* Parse a repository source into a transport URL plus best-effort metadata.
|
|
59660
|
-
*
|
|
59661
|
-
* Returns null when the input cannot become a clone source at all, which the
|
|
59662
|
-
* caller renders as a `url-invalid` finding against the field.
|
|
59663
|
-
*/
|
|
59664
|
-
function parseRepoUrl(raw) {
|
|
59665
|
-
const source = raw.trim();
|
|
59666
|
-
if (!source) return null;
|
|
59667
|
-
if (CONTROL_CHARS.test(source)) return null;
|
|
59668
|
-
if (source.startsWith("-")) return null;
|
|
59669
|
-
const shorthand = GITHUB_SHORTHAND.exec(source);
|
|
59670
|
-
if (shorthand) {
|
|
59671
|
-
const owner = shorthand[1];
|
|
59672
|
-
const repo = normalizeRepoPath(shorthand[2]);
|
|
59673
|
-
if (!repo || repo === "." || repo === "..") return null;
|
|
59674
|
-
return {
|
|
59675
|
-
provider: "github",
|
|
59676
|
-
slug: `${owner}/${repo}`,
|
|
59677
|
-
folderName: repo,
|
|
59678
|
-
cloneUrl: `https://github.com/${owner}/${repo}.git`
|
|
59679
|
-
};
|
|
59680
|
-
}
|
|
59681
|
-
const parts = parseSchemeSource(source) ?? parseScpSource(source);
|
|
59682
|
-
if (!parts) return null;
|
|
59683
|
-
const provider = providerForHostname(parts.hostname);
|
|
59684
|
-
if (provider && parts.repoPath.split("/").filter(Boolean).length < 2) return null;
|
|
59685
|
-
return {
|
|
59686
|
-
provider,
|
|
59687
|
-
slug: provider ? parts.repoPath : null,
|
|
59688
|
-
folderName: folderNameFor(parts.repoPath),
|
|
59689
|
-
cloneUrl: source
|
|
59690
|
-
};
|
|
59691
|
-
}
|
|
59692
|
-
//#endregion
|
|
59693
59593
|
//#region ../../lib/projects/origin-match.ts
|
|
59694
59594
|
function findProjectForGitOrigin(gitOrigin, projects) {
|
|
59695
59595
|
const parsed = gitOrigin ? parseRepoUrl(gitOrigin) : null;
|
|
@@ -61751,7 +61651,7 @@ Continue the PLANNING session. Do NOT implement anything.
|
|
|
61751
61651
|
const agentCwd = workspacePath;
|
|
61752
61652
|
const harnessLaunch = await prepareHarnessLaunch("claude-code", { model: msgPlanningModel });
|
|
61753
61653
|
if (existsSync$1(outputFile)) await rename(outputFile, join(planningDir, `output-${Date.now()}.jsonl`));
|
|
61754
|
-
const { getAgentCommand } = await import("./settings-
|
|
61654
|
+
const { getAgentCommand } = await import("./settings-DeJQpBJZ.js");
|
|
61755
61655
|
const msgAgentCmd = getAgentCommand(msgPlanningModel);
|
|
61756
61656
|
const msgPermissionFlags = getClaudePermissionFlagsString();
|
|
61757
61657
|
const msgCmdWithArgs = msgAgentCmd.args.length > 0 ? `${msgAgentCmd.command} ${msgAgentCmd.args.join(" ")} ${msgPermissionFlags}` : `${msgAgentCmd.command} ${msgPermissionFlags}`;
|
|
@@ -62195,7 +62095,7 @@ const BANNER_STATES = new Set([
|
|
|
62195
62095
|
]);
|
|
62196
62096
|
const defaultDeps$1 = {
|
|
62197
62097
|
readStatus: async () => {
|
|
62198
|
-
const { readSyncInputStatus } = await import("./sync-startup-gate-
|
|
62098
|
+
const { readSyncInputStatus } = await import("./sync-startup-gate-BfacT-bh.js");
|
|
62199
62099
|
return readSyncInputStatus();
|
|
62200
62100
|
},
|
|
62201
62101
|
runPanSync: async (args) => {
|
|
@@ -62415,7 +62315,7 @@ const getVersionRoute = HttpRouter.add("GET", "/api/version", Effect.promise(asy
|
|
|
62415
62315
|
const version = await getOverdeckVersion();
|
|
62416
62316
|
let supervisorUrl = null;
|
|
62417
62317
|
try {
|
|
62418
|
-
const { getSupervisorUrl } = await import("./supervisor-
|
|
62318
|
+
const { getSupervisorUrl } = await import("./supervisor-DRm9uLsZ.js");
|
|
62419
62319
|
supervisorUrl = getSupervisorUrl();
|
|
62420
62320
|
} catch {}
|
|
62421
62321
|
return jsonResponse({
|
|
@@ -62427,11 +62327,11 @@ const getVersionRoute = HttpRouter.add("GET", "/api/version", Effect.promise(asy
|
|
|
62427
62327
|
const getPrerequisitesRoute = HttpRouter.add("GET", "/api/prerequisites", Effect.gen(function* () {
|
|
62428
62328
|
const request = yield* HttpServerRequest.HttpServerRequest;
|
|
62429
62329
|
const refresh = new URL(request.url, "http://localhost").searchParams.get("refresh") === "1";
|
|
62430
|
-
const { buildPrerequisitesReport } = yield* Effect.promise(() => import("./prerequisites-report-
|
|
62330
|
+
const { buildPrerequisitesReport } = yield* Effect.promise(() => import("./prerequisites-report-BpRfGeIQ.js"));
|
|
62431
62331
|
return jsonResponse(yield* Effect.promise(() => buildPrerequisitesReport({ refresh })));
|
|
62432
62332
|
}));
|
|
62433
62333
|
const getSetupDiagnosticsRoute = HttpRouter.add("GET", "/api/diagnostics/setup", Effect.promise(async () => {
|
|
62434
|
-
const { collectSetupDiagnostics } = await import("./system-prerequisites-
|
|
62334
|
+
const { collectSetupDiagnostics } = await import("./system-prerequisites-G9se0Lms.js");
|
|
62435
62335
|
return jsonResponse(await collectSetupDiagnostics(await getOverdeckVersion()));
|
|
62436
62336
|
}));
|
|
62437
62337
|
const getSyncStatusRoute = HttpRouter.add("GET", "/api/sync-status", Effect.sync(() => jsonResponse(getSyncStatus())));
|
|
@@ -67336,7 +67236,7 @@ async function registerProjectFromPath(opts) {
|
|
|
67336
67236
|
registerProject(key, projectConfig);
|
|
67337
67237
|
const seededContextLayer = ensureProjectLayer(fullPath);
|
|
67338
67238
|
try {
|
|
67339
|
-
const { preTrustDirectory } = await import("./workspace-manager-
|
|
67239
|
+
const { preTrustDirectory } = await import("./workspace-manager-D0auAuId.js");
|
|
67340
67240
|
await preTrustDirectory(fullPath);
|
|
67341
67241
|
} catch {}
|
|
67342
67242
|
let hooksInstalled = 0;
|
|
@@ -67550,7 +67450,7 @@ async function finishProjectSetup(args) {
|
|
|
67550
67450
|
});
|
|
67551
67451
|
const seededContextLayer = ensureProjectLayer(canonicalRegistered);
|
|
67552
67452
|
try {
|
|
67553
|
-
const { preTrustDirectory } = await import("./workspace-manager-
|
|
67453
|
+
const { preTrustDirectory } = await import("./workspace-manager-D0auAuId.js");
|
|
67554
67454
|
await preTrustDirectory(canonicalRegistered);
|
|
67555
67455
|
} catch {}
|
|
67556
67456
|
let hooksInstalled = 0;
|
|
@@ -67566,6 +67466,9 @@ async function finishProjectSetup(args) {
|
|
|
67566
67466
|
} catch {}
|
|
67567
67467
|
}
|
|
67568
67468
|
await excludeWorkspacesDir(canonicalRegistered, config.workspace?.workspaces_dir || "workspaces");
|
|
67469
|
+
try {
|
|
67470
|
+
await inferProjectGithubRepo(args.key, config);
|
|
67471
|
+
} catch {}
|
|
67569
67472
|
const existingMain = getMainWorkspace(args.key);
|
|
67570
67473
|
if (existingMain) {
|
|
67571
67474
|
const canonicalMain = await canonicalizePath(existingMain.path);
|
|
@@ -68348,7 +68251,7 @@ init_io();
|
|
|
68348
68251
|
init_specs();
|
|
68349
68252
|
init_paths();
|
|
68350
68253
|
async function getIssueDataService() {
|
|
68351
|
-
const { getSharedIssueService } = await import("./issue-service-singleton-
|
|
68254
|
+
const { getSharedIssueService } = await import("./issue-service-singleton-BbERjqoV.js");
|
|
68352
68255
|
return getSharedIssueService();
|
|
68353
68256
|
}
|
|
68354
68257
|
/** Returns true if the path exists (any type). */
|
|
@@ -68741,7 +68644,7 @@ const getProjectReleaseStatusRoute = HttpRouter.add("GET", "/api/projects/:proje
|
|
|
68741
68644
|
const projectKey = (yield* HttpRouter.params)["projectKey"] ?? "";
|
|
68742
68645
|
return jsonResponse(yield* Effect.tryPromise({
|
|
68743
68646
|
try: async () => {
|
|
68744
|
-
const { fetchProjectReleaseStatus } = await import("./project-pipelines-
|
|
68647
|
+
const { fetchProjectReleaseStatus } = await import("./project-pipelines-C0eawMQd.js");
|
|
68745
68648
|
return fetchProjectReleaseStatus(projectKey);
|
|
68746
68649
|
},
|
|
68747
68650
|
catch: (err) => new Error(err instanceof Error ? err.message : String(err))
|
|
@@ -70973,7 +70876,7 @@ function checkpointWorkerUrl(moduleUrl = import.meta.url) {
|
|
|
70973
70876
|
return new URL("./checkpoint-worker.js", moduleUrl);
|
|
70974
70877
|
}
|
|
70975
70878
|
async function runInline(operation, payload) {
|
|
70976
|
-
const { claimTranscriptRange, commitTranscriptRange, releaseTranscriptRange, getTranscriptCheckpoint, listTranscriptCheckpoints } = await import("./checkpoints-
|
|
70879
|
+
const { claimTranscriptRange, commitTranscriptRange, releaseTranscriptRange, getTranscriptCheckpoint, listTranscriptCheckpoints } = await import("./checkpoints-SNuYbtl9.js");
|
|
70977
70880
|
switch (operation) {
|
|
70978
70881
|
case "claimTranscriptRange": return claimTranscriptRange(payload);
|
|
70979
70882
|
case "commitTranscriptRange": return commitTranscriptRange(payload);
|
|
@@ -75839,7 +75742,7 @@ function previewBrief(book) {
|
|
|
75839
75742
|
return `${lines.join("\n")}\n`;
|
|
75840
75743
|
}
|
|
75841
75744
|
async function defaultStartOrderBook(book, project) {
|
|
75842
|
-
const { startFlywheelRun } = await import("./flywheel-
|
|
75745
|
+
const { startFlywheelRun } = await import("./flywheel-C-t-XYUt.js");
|
|
75843
75746
|
return startFlywheelRun({
|
|
75844
75747
|
cwd: resolveProjectPath(project),
|
|
75845
75748
|
orders: book.id
|
|
@@ -78952,7 +78855,7 @@ function issueIdFromGateBranch(branch) {
|
|
|
78952
78855
|
* without branch protection. The merge gate reads the verdict marker comments.
|
|
78953
78856
|
*/
|
|
78954
78857
|
async function listScheduleCandidates(projectPath, deps = {}) {
|
|
78955
|
-
const { listRepoPullRequests: listPrs, toChecksState } = await import("./derived-issue-state-
|
|
78858
|
+
const { listRepoPullRequests: listPrs, toChecksState } = await import("./derived-issue-state-BaGJkxQq.js");
|
|
78956
78859
|
const rows = await (deps.listPullRequests ?? listPrs)(projectPath);
|
|
78957
78860
|
const candidates = /* @__PURE__ */ new Set();
|
|
78958
78861
|
for (const row of rows) {
|
|
@@ -78966,7 +78869,7 @@ async function listScheduleCandidates(projectPath, deps = {}) {
|
|
|
78966
78869
|
return [...candidates];
|
|
78967
78870
|
}
|
|
78968
78871
|
async function defaultForgeOf() {
|
|
78969
|
-
const { forgeForProject } = await import("./derived-issue-state-
|
|
78872
|
+
const { forgeForProject } = await import("./derived-issue-state-BaGJkxQq.js");
|
|
78970
78873
|
return forgeForProject;
|
|
78971
78874
|
}
|
|
78972
78875
|
/** True when two SHAs (full or abbreviated) name the same commit. */
|
|
@@ -79001,15 +78904,15 @@ function latestAutoMergeAllowsSchedule(latest, pr) {
|
|
|
79001
78904
|
return latest.status === "blocked";
|
|
79002
78905
|
}
|
|
79003
78906
|
async function defaultMergeGate(issueId) {
|
|
79004
|
-
const { evaluateIssueMergeGate } = await import("./merge-gate-
|
|
78907
|
+
const { evaluateIssueMergeGate } = await import("./merge-gate-3O9zdlWW.js");
|
|
79005
78908
|
return evaluateIssueMergeGate(issueId);
|
|
79006
78909
|
}
|
|
79007
78910
|
async function defaultPolicyRefusal() {
|
|
79008
|
-
const { autoMergePolicyRefusal } = await import("./merge-train-
|
|
78911
|
+
const { autoMergePolicyRefusal } = await import("./merge-train-BOKRD6nt.js");
|
|
79009
78912
|
return (issueId) => autoMergePolicyRefusal(issueId);
|
|
79010
78913
|
}
|
|
79011
78914
|
async function defaultSchedule(issueId, canSchedule) {
|
|
79012
|
-
const [{ postAutoMergeSchedulePayload }, { scheduleAutoMergeWithResult }] = await Promise.all([import("./merge-train-
|
|
78915
|
+
const [{ postAutoMergeSchedulePayload }, { scheduleAutoMergeWithResult }] = await Promise.all([import("./merge-train-BOKRD6nt.js"), import("./merge-sync-BlUTLyjT.js")]);
|
|
79013
78916
|
return postAutoMergeSchedulePayload({ issueId }, { schedule: (input) => scheduleAutoMergeWithResult({
|
|
79014
78917
|
...input,
|
|
79015
78918
|
canSchedule
|
|
@@ -79355,7 +79258,7 @@ const RESTART_MARKER = join$1(homedir(), ".overdeck", "dashboard-restarting.json
|
|
|
79355
79258
|
* loads new content-hashed chunk filenames (no ERR_MODULE_NOT_FOUND after rebuild).
|
|
79356
79259
|
*/
|
|
79357
79260
|
async function defaultLifecycleRunner(pending) {
|
|
79358
|
-
const { postMergeLifecycle } = await import("./merge-agent-
|
|
79261
|
+
const { postMergeLifecycle } = await import("./merge-agent-C2UtoeTe.js");
|
|
79359
79262
|
await postMergeLifecycle(pending.issueId, pending.projectPath, pending.sourceBranch);
|
|
79360
79263
|
}
|
|
79361
79264
|
async function runClaimedPendingLifecycle(claim, pending, runner, lifecycleDelayMs, startTime) {
|
|
@@ -79823,12 +79726,12 @@ function sameCommit(a, b) {
|
|
|
79823
79726
|
return x.startsWith(y) || y.startsWith(x);
|
|
79824
79727
|
}
|
|
79825
79728
|
async function defaultReadTrackerIssue(issueId) {
|
|
79826
|
-
const { readIssueFromTracker } = await import("./derived-issue-state-
|
|
79729
|
+
const { readIssueFromTracker } = await import("./derived-issue-state-BaGJkxQq.js");
|
|
79827
79730
|
return readIssueFromTracker(issueId);
|
|
79828
79731
|
}
|
|
79829
79732
|
async function defaultCachedTrackerIssue(issueId) {
|
|
79830
79733
|
try {
|
|
79831
|
-
const { getSharedIssueService } = await import("./issue-service-singleton-
|
|
79734
|
+
const { getSharedIssueService } = await import("./issue-service-singleton-BbERjqoV.js");
|
|
79832
79735
|
return getSharedIssueService().getTrackerIssue(issueId);
|
|
79833
79736
|
} catch {
|
|
79834
79737
|
return null;
|
|
@@ -79853,7 +79756,7 @@ function failureReason(result) {
|
|
|
79853
79756
|
return result.error ?? result.message ?? `merge returned status ${result.statusCode ?? "unknown"}`;
|
|
79854
79757
|
}
|
|
79855
79758
|
async function defaultMergeIssue(issueId, headSha) {
|
|
79856
|
-
const { triggerMerge } = await import("./merge-ops-
|
|
79759
|
+
const { triggerMerge } = await import("./merge-ops-BP9-OIjU.js");
|
|
79857
79760
|
return triggerMerge(issueId, {
|
|
79858
79761
|
kind: "normal",
|
|
79859
79762
|
expectedHeadSha: headSha
|
|
@@ -81586,7 +81489,7 @@ startAgentOutputService();
|
|
|
81586
81489
|
console.log("[overdeck] AgentOutputService started");
|
|
81587
81490
|
if (process.env.OVERDECK_MODE === "desktop") (async () => {
|
|
81588
81491
|
try {
|
|
81589
|
-
const { provisionClaudeHooks } = await import("./claude-hooks-provision-
|
|
81492
|
+
const { provisionClaudeHooks } = await import("./claude-hooks-provision-BGL61BFy.js");
|
|
81590
81493
|
const result = await provisionClaudeHooks();
|
|
81591
81494
|
if (!result.ok) console.warn(`[overdeck] Claude hook provisioning skipped: ${result.reason}`);
|
|
81592
81495
|
else if (result.changed) console.log(`[overdeck] Claude hooks provisioned: ${result.binariesSynced} scripts, registered ${result.registered.length} hook(s)${result.pruned.length ? `, pruned ${result.pruned.length} stale` : ""}`);
|
|
@@ -81787,10 +81690,22 @@ const stopGitHubRateLimitedTelemetry = registerGitHubRateLimitedTelemetry();
|
|
|
81787
81690
|
ensureOperatorHash();
|
|
81788
81691
|
let stopResourceRefreshServices = () => void 0;
|
|
81789
81692
|
whenDashboardListening().then(async () => {
|
|
81790
|
-
const { stopLegacyTldrDaemons } = await import("./legacy-tldr-cleanup-
|
|
81693
|
+
const { stopLegacyTldrDaemons } = await import("./legacy-tldr-cleanup-RqGuveuz.js");
|
|
81791
81694
|
const pids = await stopLegacyTldrDaemons();
|
|
81792
81695
|
if (pids.length) console.log(`[overdeck] Stopped ${pids.length} legacy TLDR daemon(s) (PAN-4429)`);
|
|
81793
81696
|
}).catch((err) => console.warn("[overdeck] Legacy TLDR daemon stop failed (non-fatal):", err));
|
|
81697
|
+
if (!isPeerDashboard) whenDashboardListening().then(async () => {
|
|
81698
|
+
const { inferMissingProjectTrackers } = await import("./infer-tracker-BJR_ATzw.js");
|
|
81699
|
+
const configured = await inferMissingProjectTrackers();
|
|
81700
|
+
if (configured.length === 0) return;
|
|
81701
|
+
await initTrackerConfigCache();
|
|
81702
|
+
const { getProjectPipelineMembership } = await import("./pipeline-membership-LZVPTNzz.js");
|
|
81703
|
+
for (const project of configured) {
|
|
81704
|
+
console.log(`[overdeck] Configured ${project.name}: github_repo ${project.githubRepo} (from its origin remote)`);
|
|
81705
|
+
getProjectPipelineMembership.invalidate(project.path);
|
|
81706
|
+
}
|
|
81707
|
+
await getSharedIssueService().invalidateTracker("github");
|
|
81708
|
+
}).catch((err) => console.warn("[overdeck] Tracker auto-detection failed (non-fatal):", err));
|
|
81794
81709
|
(async () => {
|
|
81795
81710
|
const store = await initEventStore();
|
|
81796
81711
|
whenDashboardListening().then(async () => {
|
|
@@ -81896,7 +81811,7 @@ const handleShutdownSignal = async (signal) => {
|
|
|
81896
81811
|
await stopAllKnowledgeViewers().catch((err) => console.warn("[knowledge-viewer] shutdown failed:", err?.message ?? err));
|
|
81897
81812
|
await stopDeaconChild().catch((err) => console.warn("[deacon-supervisor] child shutdown failed:", err?.message ?? err));
|
|
81898
81813
|
try {
|
|
81899
|
-
const { killAllGateProcessGroups } = await import("./validation-
|
|
81814
|
+
const { killAllGateProcessGroups } = await import("./validation-UgpT2GVW.js");
|
|
81900
81815
|
const reaped = killAllGateProcessGroups();
|
|
81901
81816
|
if (reaped > 0) console.log(`[overdeck] reaped ${reaped} in-flight gate process group(s)`);
|
|
81902
81817
|
} catch (err) {
|