@overdeck/desktop 0.45.23 → 0.45.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/drizzle/overdeck/0000_overdeck_init.sql +2 -0
- package/package.json +1 -1
- package/server/{acceptance-criteria-DOA0KgXx.js → acceptance-criteria-DDCnXF58.js} +2 -2
- package/server/{advancing-selfheal-BBu6DSNm.js → advancing-selfheal-BVwW4qRn.js} +6 -6
- package/server/{agent-gc-BV1q_2EV.js → agent-gc-CHcnvonI.js} +4 -4
- package/server/agent-state-Bc3tzUC8.js +3 -0
- package/server/{agent-state-service-HoK8U4jW.js → agent-state-service-BsgWxZuB.js} +5 -5
- package/server/{agent-state-service-CnzFKSAQ.js → agent-state-service-D5UGKIJL.js} +1 -1
- package/server/{agents-B4Bjbkfv.js → agents-EbI0zCJl.js} +4 -4
- package/server/agents-wi9NWzs2.js +3 -0
- package/server/{archive-planning-zkJb3BeM.js → archive-planning-BZDgzoEj.js} +1 -1
- package/server/{archive-planning-DYrYojxl.js → archive-planning-Du25Jtst.js} +4 -4
- package/server/{artifact-index-jobs-C-xy7Z5v.js → artifact-index-jobs-CbEDfCDu.js} +2 -2
- package/server/assemble-J2ZZ2C15.js +339 -0
- package/server/{backlog-auto-trigger-GtG71X8H.js → backlog-auto-trigger-2R2jog7n.js} +3 -3
- package/server/{behavior-B_-4EKF3.js → behavior-B3exJ42O.js} +2 -2
- package/server/{briefing-freshness-DWdW7vUm.js → briefing-freshness-D1wzUIWv.js} +2 -2
- package/server/{build-info-DgTqZkL5.js → build-info-CZk_TITh.js} +1 -1
- package/server/{build-info-BT096lEl.js → build-info-Ie_D0_BT.js} +3 -3
- package/server/{checkpoint-manager-DDqcGyu8.js → checkpoint-manager-BI1Wxoku.js} +2 -2
- package/server/{checkpoint-manager-B7Bt29J0.js → checkpoint-manager-DwbQoqrC.js} +1 -1
- package/server/checkpoint-worker.js +1 -1
- package/server/{checkpoints-CpgCjAlN.js → checkpoints-BJIs5QIA.js} +1 -1
- package/server/{checkpoints-C-AXLfYT.js → checkpoints-CQB1h765.js} +2 -2
- package/server/{claude-hooks-provision-C8wdRnN1.js → claude-hooks-provision-8Ngo8TpT.js} +1 -1
- package/server/{claude-hooks-provision-but-_qGY.js → claude-hooks-provision-D8GXF3_s.js} +2 -2
- package/server/{claude-permissions-H_5wHQZQ.js → claude-permissions-DNWEVV6z.js} +2 -2
- package/server/{claude-settings-overlay-CbSz0Dvb.js → claude-settings-overlay-CEdaqpWI.js} +2 -2
- package/server/{claude-settings-overlay-BTENVmYf.js → claude-settings-overlay-DWy-Bb4Y.js} +1 -1
- package/server/cli-B86rejVV.js +3 -0
- package/server/{cli-vBeXbPrq.js → cli-RoOx5DUf.js} +9 -9
- package/server/{cliproxy-Bgb2XCqi.js → cliproxy-C8a1vtTU.js} +2 -2
- package/server/{cliproxy-DW0V86F8.js → cliproxy-fHfIeiGd.js} +1 -1
- package/server/{close-issue-Dn_4c4G8.js → close-issue-DoOifFIK.js} +5 -5
- package/server/{closed-issue-reaper-hANY_ehE.js → closed-issue-reaper-Bk3SU4RC.js} +9 -9
- package/server/{closed-issue-reaper-CWpY2uBw.js → closed-issue-reaper-CktPXo8m.js} +1 -1
- package/server/{codex-TmSi-yTv.js → codex-BZXGhUVB.js} +7 -7
- package/server/{codex-Dg7Is5yb.js → codex-GcHuUF-k.js} +1 -1
- package/server/{codex-parser-C4gSH-IR.js → codex-parser-CFZ1_1Jl.js} +2 -2
- package/server/{config-CCvjQf27.js → config-BZ0sHTju.js} +2 -2
- package/server/{config-DjLOdbgT.js → config-CKxYiCmX.js} +2 -2
- package/server/{config-DUIhMN_T.js → config-DzV30TOm.js} +1 -1
- package/server/{config-yaml-DvyMuOle.js → config-yaml-DySPNmKN.js} +23 -9
- package/server/{conflict-gate-CmrYpa47.js → conflict-gate-BaCVrH-N.js} +3 -3
- package/server/{conflict-gate-BSJkNTdp.js → conflict-gate-BhAY7TUd.js} +1 -1
- package/server/context-layers-BrPmE__h.js +4 -0
- package/server/context-layers-igZ4FI4_.js +37 -0
- package/server/{control-settings-aP1ANIlI.js → control-settings-BQp7_4uD.js} +4 -4
- package/server/{conversation-compaction-CNbTLB86.js → conversation-compaction-CgrR8YYp.js} +8 -8
- package/server/{conversation-compaction-DiG5zWQq.js → conversation-compaction-eQB5CkOe.js} +1 -1
- package/server/{conversation-service-Up7FEzIC.js → conversation-service-BLd3MYsG.js} +1 -1
- package/server/{conversation-service-Du-MTNpJ.js → conversation-service-DPJ71F33.js} +329 -19
- package/server/{conversations-DbOs1e9Q.js → conversations-6AfUfbwc.js} +5 -5
- package/server/{conversations-6mPANqvL.js → conversations-CAsJF9kh.js} +1 -1
- package/server/{cost-Ca0YTWDw.js → cost-B2ddP6wq.js} +2 -2
- package/server/{cost-CW4WSe72.js → cost-R-m6Yi-W.js} +3 -3
- package/server/{cost-sync-C0VdGme1.js → cost-sync-BsN6ER0n.js} +3 -3
- package/server/{dag-CdOjJVDT.js → dag-B1ucnjDU.js} +2 -2
- package/server/{dangerous-git-ops-CT-IypG3.js → dangerous-git-ops-BXqeWVSf.js} +1 -1
- package/server/dashboard-db-worker.js +7 -7
- package/server/{deacon-pRnyD5w9.js → deacon-CU_cAYSR.js} +254 -144
- package/server/{deacon-DYSEJb48.js → deacon-kiQrb4ZT.js} +3 -3
- package/server/{deacon-nudge-log-Bjg8U4Y9.js → deacon-nudge-log-6wVqAaqz.js} +3 -3
- package/server/{deacon-swarm-DftYRDo8.js → deacon-swarm-BXZZ1Z2-.js} +13 -13
- package/server/deacon-swarm-C-GwfjJy.js +2 -0
- package/server/deacon.js +8 -8
- package/server/{deploy-patrol-Bjsho_ha.js → deploy-patrol-AiFoP8dw.js} +6 -6
- package/server/{deploy-window-DeP_OIRk.js → deploy-window-C3F-tihF.js} +6 -6
- package/server/{deploy-window-CM6W1-c6.js → deploy-window-DkZraDyj.js} +1 -1
- package/server/{dev-supervisor-BpMoHlkR.js → dev-supervisor-bcOWqdQE.js} +2 -2
- package/server/{devcontainer-renderer-CtUgrVKW.js → devcontainer-renderer-_d6XhyND.js} +3 -3
- package/server/dist-Bzy0y69j.js +3 -0
- package/server/{dist-DyRx4cI7.js → dist-Cb_0uvpS.js} +1 -1
- package/server/{docker-BK7HIcBj.js → docker-DcMTFTUC.js} +2 -2
- package/server/{dod-BrSfUHm0.js → dod-C6n9RV3G.js} +1 -1
- package/server/{ensure-devcontainer-DRqaAkBR.js → ensure-devcontainer-BZgOhRo7.js} +1 -1
- package/server/{ensure-devcontainer-DseivYEy.js → ensure-devcontainer-DNi-ono3.js} +4 -4
- package/server/{esm-shims-CbI3BVkl.js → esm-shims-OSHAYaS1.js} +1 -1
- package/server/{event-store-tdiY5eDZ.js → event-store-CQL6NeqB.js} +3 -3
- package/server/{event-store-Cr5PQwFC.js → event-store-EV2cMiXj.js} +1 -1
- package/server/{events-CvvGK6LT.js → events-BTdrdEq8.js} +1 -1
- package/server/{events-CC1dgUpx.js → events-DTfAe4My.js} +3 -3
- package/server/{factory-CynerjXO.js → factory-CFibJuaw.js} +4 -4
- package/server/{feature-registry-population-B0pmAz0a.js → feature-registry-population-DKZFMbFt.js} +4 -4
- package/server/{feature-registry-storage-_wUBRD3J.js → feature-registry-storage-BdPuLcBX.js} +2 -2
- package/server/{features-Dhxz-wLc.js → features-ez2271oH.js} +2 -2
- package/server/{feedback-target-CPS15Vte.js → feedback-target-7mqqwrX6.js} +7 -7
- package/server/{feedback-target-iygZwmMc.js → feedback-target-CoFDHiM8.js} +1 -1
- package/server/{feedback-writer-C9b6ccN1.js → feedback-writer-CY5L1lB7.js} +5 -5
- package/server/{feedback-writer-qmiMbqTZ.js → feedback-writer-D3a22RCd.js} +1 -1
- package/server/flywheel-DHrgCphM.js +1084 -0
- package/server/flywheel-DzGtWnJ1.js +477 -0
- package/server/flywheel-SVF02Jpq.js +2 -0
- package/server/{flywheel-merge-order-DxbQKE1d.js → flywheel-merge-order-UU0tiUld.js} +9 -8
- package/server/{flywheel-merge-order-C-6zRLvM.js → flywheel-merge-order-UUcsCDb6.js} +1 -1
- package/server/{forge-Ch9gCFod.js → forge-CNFnyqps.js} +2 -2
- package/server/forge-DXnS_YFH.js +2 -0
- package/server/{from-CJ_aH5jD.js → from-kNxT0bZC.js} +1 -1
- package/server/{fts-db-CKgg0VKg.js → fts-db-CE46vDkZ.js} +2 -2
- package/server/{fts-operations-BrL_VTRr.js → fts-operations-CqY6zl-i.js} +2 -2
- package/server/{git-utils-BVa07a4a.js → git-utils-CRw2zLPC.js} +68 -3
- package/server/git-utils-D0_yhCgF.js +3 -0
- package/server/{github-app-CMBdIFBQ.js → github-app-C3QrAUd0.js} +18 -7
- package/server/{github-app-CPfoFAdV.js → github-app-ClZ2lk8D.js} +1 -1
- package/server/{github-client--XVlDpwM.js → github-client-BnIsSrEN.js} +2 -2
- package/server/{github-client-B4QsdE-X.js → github-client-DfQYVUaw.js} +1 -1
- package/server/{github-pr-lookup-BRbDW-qk.js → github-pr-lookup-D16NGsSO.js} +2 -2
- package/server/{harness-binary-CVio2m-u.js → harness-binary-DPUi-Pv8.js} +32 -6
- package/server/{harness-resolve-qHJBhy3Z.js → harness-resolve-3lNZkyT4.js} +18 -9
- package/server/{health-events-C9B8y1Hm.js → health-events-BBcTYQKU.js} +2 -2
- package/server/{health-events-CpfvuVmm.js → health-events-BDOHby5Q.js} +1 -1
- package/server/{hooks-DUXw8A0-.js → hooks-CKZgXlJb.js} +2 -2
- package/server/{hooks-ltecuFqZ.js → hooks-DPVX1rwQ.js} +1 -1
- package/server/{hume-BEq0bUDg.js → hume-Cz8igP9E.js} +2 -2
- package/server/hume-ccTf4wTX.js +3 -0
- package/server/{idle-stack-reaper-D7w9t3fE.js → idle-stack-reaper-CuLF0j2H.js} +1 -1
- package/server/{idle-stack-reaper-w1ISSlhs.js → idle-stack-reaper-DDIRwxUY.js} +2 -2
- package/server/{in-flight-guard-aQ1IxeI3.js → in-flight-guard-CAAkqPLu.js} +2 -2
- package/server/{infra-CzaSOgul.js → infra-BEqFxlJc.js} +14 -4
- package/server/{injection-DZ0PfYa4.js → injection-C8aiVJrF.js} +191 -183
- package/server/{injection-oNZeoDhL.js → injection-CPUIqNhI.js} +1 -1
- package/server/{inspect-agent-DJKLWcVT.js → inspect-agent-BLuJ1AkT.js} +135 -79
- package/server/inspect-agent-Brtz0URj.js +2 -0
- package/server/{internal-token-DXdfprGr.js → internal-token-BrcU6qfe.js} +1 -1
- package/server/{internal-token-Bb4XeV2x.js → internal-token-s0-oKybJ.js} +2 -2
- package/server/{io-B3_AHDfr.js → io-C9kF1wtJ.js} +3 -3
- package/server/{issue-closed-zhdvQicO.js → issue-closed-CDJk4pIp.js} +7 -7
- package/server/{issue-lifecycle-Dy4vd0Oa.js → issue-lifecycle-B8sZHVHh.js} +1 -1
- package/server/{issue-lifecycle-CreaCkjW.js → issue-lifecycle-ojZAzDBP.js} +21 -21
- package/server/{issue-service-singleton-DabvBWUp.js → issue-service-singleton-BvJ09SaR.js} +1 -1
- package/server/{issue-service-singleton-B5ushCvE.js → issue-service-singleton-Yx5DdmVJ.js} +8 -8
- package/server/{issues-B6ToV6x1.js → issues-BMmP_77e.js} +2 -2
- package/server/{jsonl-parser-Dhflo1SH.js → jsonl-parser-BXSlHwEh.js} +3 -3
- package/server/{label-cleanup-BKPJm4Hv.js → label-cleanup-B0UJwnv5.js} +3 -3
- package/server/{label-reconciler-DdWbHEBu.js → label-reconciler-B4iOAjlC.js} +4 -4
- package/server/{launcher-generator-CHVm7bGT.js → launcher-generator-BBWG_SiS.js} +101 -7
- package/server/{lifecycle-io-D8iNBcux.js → lifecycle-io-BREGpnLk.js} +5 -5
- package/server/{lifecycle-io-Bsnr2K4F.js → lifecycle-io-DPo7x11I.js} +1 -1
- package/server/{lifecycle-sycO16hj.js → lifecycle-xmBfK2GJ.js} +6 -6
- package/server/{lifecycle-DfeyBDwA.js → lifecycle-yPd___5E.js} +2 -2
- package/server/{linear-client-D4zqMnX7.js → linear-client-BsuUvkdA.js} +2 -2
- package/server/{linear-client-DqhDQO9k.js → linear-client-CTskEeT_.js} +1 -1
- package/server/memory-fts-worker.js +1 -1
- package/server/{merge-DK23JEdS.js → merge-B1DiziGU.js} +1 -1
- package/server/{merge-C_ZEhbqI.js → merge-CefQNAnq.js} +3 -3
- package/server/{merge-agent-XrB80vfT.js → merge-agent-4WOWlSYA.js} +28 -28
- package/server/{merge-agent-BQM3a8z5.js → merge-agent-CKkgIBPB.js} +1 -1
- package/server/{merge-batch-Bwoyr8Je.js → merge-batch-ClFn2T-y.js} +1 -1
- package/server/merge-ops-CR44oU9-.js +2 -0
- package/server/{merge-rebase-C1KIVr0s.js → merge-rebase-BfaTyXsw.js} +2 -2
- package/server/merge-set-DJ8-UErs.js +83 -0
- package/server/{merge-set-DnSYdBEp.js → merge-set-bUqbm3yc.js} +1 -1
- package/server/{merge-sync-SSv3E-pl.js → merge-sync-BJYeOODr.js} +1 -1
- package/server/{merge-sync-DZ9dojJn.js → merge-sync-VPV28g0g.js} +2 -2
- package/server/{merge-train-DxDfBTjr.js → merge-train-CHopycP0.js} +3 -3
- package/server/{merge-train-deps-CyYQUksx.js → merge-train-deps-D1cOZzy2.js} +4 -4
- package/server/{merge-verification-CSizH3HY.js → merge-verification-BkaOqPsw.js} +4 -4
- package/server/{multipart-parser-Dt8YPN5S.js → multipart-parser-duPAfSBw.js} +2 -2
- package/server/{no-resume-mode-Cx3K0hHi.js → no-resume-mode-Nw29vaFb.js} +1 -1
- package/server/node_modules/.package-lock.json +8 -8
- package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/package.json +3 -3
- package/server/node_modules/undici/README.md +5 -0
- package/server/node_modules/undici/docs/docs/api/Client.md +4 -0
- package/server/node_modules/undici/docs/docs/api/Dispatcher.md +6 -0
- package/server/node_modules/undici/docs/docs/api/Interceptors.md +59 -0
- package/server/node_modules/undici/docs/docs/api/MockAgent.md +27 -0
- package/server/node_modules/undici/docs/docs/api/MockPool.md +28 -1
- package/server/node_modules/undici/docs/docs/index.md +5 -0
- package/server/node_modules/undici/lib/core/request.js +1 -1
- package/server/node_modules/undici/lib/core/util.js +6 -1
- package/server/node_modules/undici/lib/dispatcher/agent.js +3 -3
- package/server/node_modules/undici/lib/dispatcher/client-h1.js +31 -6
- package/server/node_modules/undici/lib/dispatcher/client-h2.js +34 -43
- package/server/node_modules/undici/lib/handler/cache-handler.js +93 -5
- package/server/node_modules/undici/lib/handler/cache-revalidation-handler.js +10 -0
- package/server/node_modules/undici/lib/handler/redirect-handler.js +5 -2
- package/server/node_modules/undici/lib/handler/retry-handler.js +6 -4
- package/server/node_modules/undici/lib/interceptor/cache.js +21 -4
- package/server/node_modules/undici/lib/interceptor/decompress.js +4 -0
- package/server/node_modules/undici/lib/mock/mock-interceptor.js +25 -7
- package/server/node_modules/undici/lib/mock/mock-utils.js +39 -10
- package/server/node_modules/undici/lib/util/cache.js +49 -7
- package/server/node_modules/undici/lib/web/fetch/body.js +2 -1
- package/server/node_modules/undici/lib/web/fetch/response.js +1 -3
- package/server/node_modules/undici/package.json +2 -2
- package/server/node_modules/undici/types/client.d.ts +2 -2
- package/server/node_modules/undici/types/dispatcher.d.ts +3 -3
- package/server/node_modules/undici/types/mock-interceptor.d.ts +5 -1
- package/server/{orphan-proposed-reconciler-neK8dHQk.js → orphan-proposed-reconciler-BvKkWMJQ.js} +12 -12
- package/server/{orphan-proposed-reconciler-BTkDrl4R.js → orphan-proposed-reconciler-CTSGcK8p.js} +1 -1
- package/server/package-lock.json +9 -9
- package/server/package.json +1 -1
- package/server/{pan-dir-DeVUgwA7.js → pan-dir-B0c3w0Ya.js} +3 -3
- package/server/{paths-_zEts6wc.js → paths-D-xWGHdh.js} +2 -2
- package/server/{pickup-Dd0Znxxy.js → pickup-DUCLWrJY.js} +17 -16
- package/server/{pipeline-membership-0HaEGDlH.js → pipeline-membership-mY3GprlK.js} +7 -7
- package/server/{pipeline-notifier-6iCJplFZ.js → pipeline-notifier-BJr8gQX6.js} +1 -1
- package/server/{pipeline-notifier-D0ykk59O.js → pipeline-notifier-BXkJzDC4.js} +2 -2
- package/server/{project-pipelines-2sK1apsO.js → project-pipelines-C0MWUeCU.js} +2 -2
- package/server/project-repos-B6GycDh9.js +94 -0
- package/server/project-repos-DXKQsc_m.js +3 -0
- package/server/{projects-9SkRpES9.js → projects-vjjcmiN8.js} +1 -1
- package/server/{prompts-Dp4Tpk39.js → prompts-DxzFXuLl.js} +2 -2
- package/server/{providers-DV7ec8l7.js → providers-qQAwGQDW.js} +7 -7
- package/server/{providers-DKkBXhxU.js → providers-u4Ga0jOr.js} +1 -1
- package/server/public/assets/{chunk-BO2N2NFS-CltymLRg.js → chunk-BO2N2NFS-BamJdinX.js} +4 -4
- package/server/public/assets/{diagram-OG6HWLK6-D2f6pjgA.js → diagram-OG6HWLK6-DfOB8-w4.js} +1 -1
- package/server/public/assets/{dist-DEmlBBNQ.js → dist-ByIuzMQW.js} +3 -3
- package/server/public/assets/{dist-BWR4qFiV.js → dist-D7zYSEA6.js} +1 -1
- package/server/public/assets/{ganttDiagram-6RSMTGT7-DnfiViPK.js → ganttDiagram-6RSMTGT7-EdmRyXL3.js} +1 -1
- package/server/public/assets/{highlighted-body-OFNGDK62-B8Wrmj9H.js → highlighted-body-OFNGDK62-MerOfTX8.js} +1 -1
- package/server/public/assets/{index-CsSuZQBI.js → index-CWeMerGO.js} +146 -144
- package/server/public/assets/{index-CUr1xv8w.css → index-CenuJ3Cw.css} +1 -1
- package/server/public/assets/{linear-C9zFQpkX.js → linear-BBbArIcK.js} +1 -1
- package/server/public/assets/mermaid-GHXKKRXX-CpPWAFwE.js +1 -0
- package/server/public/assets/{pieDiagram-4H26LBE5-lR8H7Yjd.js → pieDiagram-4H26LBE5-BKIddiJN.js} +1 -1
- package/server/public/assets/{prod-B1jCQihw.js → prod-B8vYiu52.js} +4 -4
- package/server/public/assets/{quadrantDiagram-W4KKPZXB-CVQ2guem.js → quadrantDiagram-W4KKPZXB-D6RtoULk.js} +1 -1
- package/server/public/assets/{sankeyDiagram-5OEKKPKP-eD1RB4gm.js → sankeyDiagram-5OEKKPKP-CLrCedZX.js} +1 -1
- package/server/public/assets/{xychartDiagram-2RQKCTM6-ChEC6dQn.js → xychartDiagram-2RQKCTM6-hznR8DYl.js} +1 -1
- package/server/public/index.html +2 -2
- package/server/{pull-requests--Ib2jTgy.js → pull-requests-7N8WKseP.js} +1 -1
- package/server/{pull-requests-CXIhdCYD.js → pull-requests-_lHueOHW.js} +3 -3
- package/server/{queries-6d7Cdtm7.js → queries-CjNIf-Ub.js} +576 -166
- package/server/{rally-B708-nZn.js → rally-CyWT_lNO.js} +3 -3
- package/server/{rally-api-nY0ZANw3.js → rally-api-C8e_1JRi.js} +2 -2
- package/server/{rally-api-yjQ0TfHd.js → rally-api-ClOSd-Tt.js} +1 -1
- package/server/{rally-client-B1EJhfV0.js → rally-client-lc-nokqr.js} +4 -4
- package/server/{rally-client-CULK2XAY.js → rally-client-sgtVqzNU.js} +1 -1
- package/server/rally-zhhtXuDP.js +3 -0
- package/server/{reap-terminal-sessions-MWnqdLCJ.js → reap-terminal-sessions-7KeHv1R1.js} +1 -1
- package/server/{reap-terminal-sessions-N3BTkmX_.js → reap-terminal-sessions-BtHPo6Xc.js} +1 -1
- package/server/rebuild-stack-CFvcBHsS.js +4 -0
- package/server/{rebuild-stack-Dp4eLkt4.js → rebuild-stack-lwtsW0GO.js} +26 -35
- package/server/{reconstruct-cache-uWbZfjms.js → reconstruct-cache-C3Ui7ojV.js} +6 -6
- package/server/{record-t6V-3Dcj.js → record-CN0pj4_5.js} +1 -1
- package/server/{record-update-DACtKh6_.js → record-update-bLJxAXH4.js} +1 -1
- package/server/{record-update-Dq0t2uBG.js → record-update-dE1Aw83j.js} +2 -2
- package/server/{recovery-trip-BJtIQuag.js → recovery-trip-BvRWfUXM.js} +2 -2
- package/server/{release-engine-DZpmGGzb.js → release-engine-Cx48W7z8.js} +5 -5
- package/server/{release-set-hnXd_kga.js → release-set-CQfuN9-v.js} +3 -3
- package/server/{remote-Br-ZWVIP.js → remote-C_2hasl7.js} +3 -3
- package/server/{remote-4tiENDaI.js → remote-ChgimyYa.js} +3 -3
- package/server/{remote-agents-nmty1mLu.js → remote-agents-By1ige5O.js} +6 -6
- package/server/{remote-agents-CRCg1L4H.js → remote-agents-CA3Ihlxj.js} +1 -1
- package/server/{remote-completion-BbWNd10K.js → remote-completion-fVe9e_3u.js} +12 -12
- package/server/resume-BFv1PGpA.js +3 -0
- package/server/{review-agent-sKkE1FEL.js → review-agent-CIGOQYBD.js} +29 -25
- package/server/{review-agent-DJRO8EG8.js → review-agent-DNboMyW4.js} +1 -1
- package/server/{review-artifacts-BLbSC4ke.js → review-artifacts-nRDPuMxd.js} +5 -5
- package/server/{review-context-BgX3lcCx.js → review-context-2uj-YQ8J.js} +69 -25
- package/server/{review-status-C6n6-9f_.js → review-status-btEYlaxA.js} +1 -1
- package/server/{review-status-enrichment-tbOn_A_u.js → review-status-enrichment-Dci-ZwEt.js} +3 -3
- package/server/{review-status-A7quS5KJ.js → review-status-kZj_KyCk.js} +42 -26
- package/server/{review-status-sync-BhSQ0d0l.js → review-status-sync-BTOpxtTC.js} +10 -5
- package/server/{review-status-sync-To3-iS-N.js → review-status-sync-DSDK3OMy.js} +1 -1
- package/server/{review-verdict-feedback-CTRNtzXO.js → review-verdict-feedback-CCjVA7Uk.js} +6 -6
- package/server/{review-verdict-feedback-C1Kg8n7t.js → review-verdict-feedback-CTd4QMBu.js} +1 -1
- package/server/{rollup-B53Y81xK.js → rollup-BKQC7jp4.js} +1 -1
- package/server/{rollup-WA0VD-Rr.js → rollup-FGsKki9R.js} +8 -8
- package/server/{scanner-D2743cp8.js → scanner-CnqEZeDy.js} +41 -14
- package/server/{sequence-io-Cg0zYj_E.js → sequence-io-D909zgeH.js} +4 -4
- package/server/{sequencer-agent-BGY8gjg-.js → sequencer-agent-CzkcK6P5.js} +5 -5
- package/server/server.js +2194 -341
- package/server/{service-DCpB_SGd.js → service-CLeAoU6G.js} +51 -50
- package/server/{session-fork-BQ8_6H32.js → session-fork-CHI1XvL9.js} +2 -2
- package/server/{session-history-CVZDpS3c.js → session-history-BT3IvqhC.js} +4 -4
- package/server/settings-66A6uvIA.js +2 -0
- package/server/{settings-BZ5m1UCl.js → settings-BTMvpNFU.js} +3 -3
- package/server/{settings-ylxwqwQG.js → settings-C0zgxOGf.js} +2 -2
- package/server/{shadow-engineering-BlxG6Xye.js → shadow-engineering-BJfgm-hX.js} +2 -2
- package/server/{shadow-state-Dh-HzF2J.js → shadow-state-7a-524T8.js} +2 -2
- package/server/{shadow-state-C2_epgx2.js → shadow-state-DnDyjujH.js} +1 -1
- package/server/{shadow-utils-4bvjn9b3.js → shadow-utils-Db3oroFG.js} +2 -2
- package/server/{ship-log-ClSMIzZX.js → ship-log-D9MlVzYU.js} +1 -1
- package/server/{smart-compaction-CHIxLr_d.js → smart-compaction-CV2ukKND.js} +1 -1
- package/server/{smart-compaction-r4pHQBIr.js → smart-compaction-KCYScAU1.js} +7 -7
- package/server/{spawn-planning-session-DWAorh2B.js → spawn-planning-session-DKpdFyOC.js} +30 -23
- package/server/{spawn-planning-session-KC_UduxD.js → spawn-planning-session-qUC2VWu3.js} +1 -1
- package/server/{specialist-completion-BXhav38U.js → specialist-completion-Ky9wCDpb.js} +1 -1
- package/server/{specialist-context-DtrYvGJ-.js → specialist-context-Bn3dCGS2.js} +5 -5
- package/server/{specialist-handoff-logger-C45ouoZ6.js → specialist-handoff-logger-CMEwYxa2.js} +2 -2
- package/server/{specialist-logs-DJ3RzKxW.js → specialist-logs-C5p8G7tx.js} +3 -3
- package/server/{specialists-JVO00bs7.js → specialists-CC4r-c2s.js} +776 -347
- package/server/{specialists-D5fRZXmN.js → specialists-CShuVGWT.js} +1 -1
- package/server/{specialists-DVj0hvaL.js → specialists-DM6bWjsi.js} +1 -1
- package/server/{specialists-DyFeedjn.js → specialists-jiuuyVkp.js} +21 -19
- package/server/specs-C8Wsn2XO.js +3 -0
- package/server/{src-CG9mCkP6.js → src-CXmtj0im.js} +6 -6
- package/server/{src-CMTQGyCK.js → src-CdmnTM2m.js} +5 -5
- package/server/{src-U7_kTPEE.js → src-DtcUOZCq.js} +111 -18
- package/server/stack-health-Bn3o8FBX.js +3 -0
- package/server/{stack-health-puygdaMd.js → stack-health-DxSdG9cW.js} +63 -9
- package/server/{stale-task-claims-BbFwCTb0.js → stale-task-claims-KJKxxiiQ.js} +4 -4
- package/server/{staleness-Cbl_w4Bw.js → staleness-CT34nwr9.js} +1 -1
- package/server/{staleness-Bpy41ngS.js → staleness-DPm7ClwA.js} +1 -1
- package/server/{state-home-CIGjwNfJ.js → state-home-Cn_Qu8IX.js} +2 -2
- package/server/{state-migrate-Dkzaxvny.js → state-migrate-BGg2ZaOt.js} +4 -4
- package/server/{stuck-remediation-CzEov_fq.js → stuck-remediation-DYuPRYYw.js} +300 -23
- package/server/{stuck-remediation-sY_MHHgQ.js → stuck-remediation-s9_2qfi6.js} +1 -1
- package/server/{substrate-bug-weights-service-BH66lhm7.js → substrate-bug-weights-service-B-FwCs5V.js} +3 -3
- package/server/{summary-fork-DHhJIsAL.js → summary-fork-D1RAk9rJ.js} +78 -12
- package/server/{summary-fork-D8bXjCr7.js → summary-fork-DpcxN9tf.js} +2 -2
- package/server/supervisor/{injection-budget-C1iPirFS.js → injection-budget-Csw5tqfJ.js} +2 -41
- package/server/supervisor/pty-supervisor.js +2 -1
- package/server/supervisor/pty-token-x-ea28Us.js +43 -0
- package/server/supervisor-FTJAIsAK.js +2 -0
- package/server/{supervisor-BO-Zk_h-.js → supervisor-wM4ooB5O.js} +3 -3
- package/server/{swarm-readiness-CQ_fwUWF.js → swarm-readiness-DlP_UjHq.js} +3 -3
- package/server/{system-prerequisites-Bza0ffAh.js → system-prerequisites-DUDj1YHf.js} +56 -29
- package/server/{teardown-workspace-CEgauF4U.js → teardown-workspace-DeTTImn-.js} +15 -15
- package/server/{test-agent-queue-DXDt0Xa-.js → test-agent-queue-MbxX5vqq.js} +6 -6
- package/server/{test-verdict-CmUBK5cT.js → test-verdict-bWYBtqBg.js} +1 -1
- package/server/{test-verdict-DFjjIHR5.js → test-verdict-gscuksPv.js} +1 -1
- package/server/{tldr-daemon-DL566HbH.js → tldr-daemon-BYFkts95.js} +1 -1
- package/server/{tldr-daemon-BDtLOIlO.js → tldr-daemon-C-69c3OI.js} +2 -2
- package/server/{tmux-DoThH6aj.js → tmux-B6z7h_vZ.js} +1 -1
- package/server/{tmux-ftABRAmc.js → tmux-R7N7y-Mh.js} +2 -2
- package/server/{token-CsOhvw42.js → token-BK6t8BIT.js} +2 -2
- package/server/token-util-DuPuNriz.js +3 -0
- package/server/{token-util-CTmczIfW.js → token-util-DxXu-vd1.js} +1 -1
- package/server/{tracker-config-B4itFzDo.js → tracker-config-G6latr8C.js} +2 -2
- package/server/{tracker-utils-BePq_oj-.js → tracker-utils-B4ylXZQK.js} +1 -1
- package/server/{tracker-utils-tnxxqROg.js → tracker-utils-DHv5pSDT.js} +2 -2
- package/server/{traefik-connect-m73vGebA.js → traefik-connect-Df2uXPsQ.js} +1 -1
- package/server/{tunnel-B2vxjx_b.js → tunnel-CDVKJpRv.js} +3 -3
- package/server/{tunnel-Cgj-IGIl.js → tunnel-DGdUkGoZ.js} +1 -1
- package/server/{types-BBNjPcqU.js → types-5M0lupud.js} +1 -1
- package/server/{uat-train-cKfM-_WW.js → uat-train-B05BWkp-.js} +1 -1
- package/server/{uat-train-CuEn0t9M.js → uat-train-DDSrSoV1.js} +25 -25
- package/server/validate-IfDGkaVR.js +177 -0
- package/server/{validation-CIi6pnI2.js → validation-CC9OPqJZ.js} +1 -1
- package/server/{validation-B5JxoPUS.js → validation-Dw1pzDzr.js} +4 -4
- package/server/{verification-artifact-C-lIHfUa.js → verification-artifact-B3itKTxu.js} +1 -1
- package/server/{verification-artifact-BcnIbigL.js → verification-artifact-TVFSz_q1.js} +1 -1
- package/server/{verification-runner-CDj4lD4t.js → verification-runner-BW4HOKAz.js} +1 -1
- package/server/{verification-runner-Br0S_Ous.js → verification-runner-CkgX6EtI.js} +91 -106
- package/server/{vtt-parser-DKpNNW5i.js → vtt-parser-DYPbKcIJ.js} +1 -1
- package/server/{work-agent-prompt-Yb2bd3Fq.js → work-agent-prompt-Du8Vh2aJ.js} +9 -9
- package/server/workflows-BQu4RFQ-.js +2 -0
- package/server/{workflows-C9WmILql.js → workflows-mbQzh6mQ.js} +18 -18
- package/server/{workspace-DuUdndHe.js → workspace--8tnhDI0.js} +1 -1
- package/server/{workspace-BVl4rihN.js → workspace-BPUws1-_.js} +3 -3
- package/server/{workspace-config-cEGcO6UT.js → workspace-config-CIVWZOQr.js} +1 -1
- package/server/{workspace-manager-hLUv3ADC.js → workspace-manager-CBhNdzE4.js} +66 -15
- package/server/workspace-manager-CWT55qeI.js +3 -0
- package/server/{workspace-metadata-DNpMixRq.js → workspace-metadata-BzHnwwX4.js} +1 -1
- package/server/{workspace-metadata-CskwzzhL.js → workspace-metadata-_WygnyoX.js} +2 -2
- package/server/{workspaces-hWvy9eKs.js → workspaces-Do_9J0LQ.js} +130 -111
- package/sync-sources/hooks/record-cost-event.js +6 -4
- package/sync-sources/skills/okf/README.md +11 -3
- package/sync-sources/skills/okf/SKILL.md +12 -1
- package/sync-sources/skills/okf/docs/USAGE.md +15 -0
- package/sync-sources/skills/okf/references/overdeck.md +28 -0
- package/sync-sources/skills/pan-flywheel/SKILL.md +18 -1
- package/sync-sources/skills/pan-knowledge/SKILL.md +10 -0
- package/sync-sources/skills/pan-orders/SKILL.md +33 -0
- package/sync-sources/skills/pan-start/SKILL.md +4 -0
- package/sync-sources/templates/traefik/dynamic/overdeck.yml.template +10 -0
- package/server/agent-state-Bg0lhqwj.js +0 -3
- package/server/agents-FlIgQ3ql.js +0 -3
- package/server/cli-BsVIHwzC.js +0 -3
- package/server/context-layers-B3Nt58jl.js +0 -4
- package/server/context-layers-ZYFcWiyc.js +0 -165
- package/server/deacon-swarm-9jRLS5Ke.js +0 -2
- package/server/dist-Bd3vn0Hw.js +0 -3
- package/server/flywheel-DMCUzDWg.js +0 -2
- package/server/flywheel-DSSpWmqF.js +0 -522
- package/server/flywheel-DcBkQvgE.js +0 -207
- package/server/forge-B-ZWyTRm.js +0 -2
- package/server/git-utils-Dry_Ka_D.js +0 -3
- package/server/hume-B_DbflNM.js +0 -3
- package/server/inspect-agent-ch-F-5Ci.js +0 -2
- package/server/layers-DzxSTGNA.js +0 -93
- package/server/merge-blockers-BsFjGrQ8.js +0 -41
- package/server/merge-ops-DlB1IM0Y.js +0 -2
- package/server/merge-set-DLz0MkGT.js +0 -139
- package/server/public/assets/mermaid-GHXKKRXX-BUAB8hqt.js +0 -1
- package/server/rally-njs_mJrt.js +0 -3
- package/server/rebuild-stack-kA7XngID.js +0 -3
- package/server/resume-CcKqnTvE.js +0 -3
- package/server/settings-D0OSwos5.js +0 -2
- package/server/specs-nN45DG2X.js +0 -3
- package/server/stack-health-Df0YEZKa.js +0 -3
- package/server/supervisor-BPy-o1A8.js +0 -2
- package/server/token-util-DrHg8abn.js +0 -3
- package/server/workflows-D90rMOya.js +0 -2
- package/server/workspace-manager-ZTdJAy9M.js +0 -3
|
@@ -1,44 +1,44 @@
|
|
|
1
|
-
import { $n as resolveIssueIdSync, Br as getOverdeckHome, Jn as extractPrefixSync, Nr as encodeClaudeProjectDir, Tn as init_projects, Vr as init_paths, Xt as isStatePlaneOnlyStatus, Yn as init_issue_id, Yt as init_state_plane, Zn as parseIssueIdSync, ar as GitError, ir as FsError, kn as listProjectsSync, mn as findProjectByTeamSync, mr as init_errors, qn as extractNumberSync, t as init_config_yaml, tt as resolveModel, un as extractTeamPrefix, yn as getProjectSync, zn as resolveProjectFromIssueSync } from "./config-yaml-
|
|
2
|
-
import {
|
|
1
|
+
import { $n as resolveIssueIdSync, Br as getOverdeckHome, Jn as extractPrefixSync, Nr as encodeClaudeProjectDir, Tn as init_projects, Vr as init_paths, Xt as isStatePlaneOnlyStatus, Yn as init_issue_id, Yt as init_state_plane, Zn as parseIssueIdSync, ar as GitError, ir as FsError, kn as listProjectsSync, mn as findProjectByTeamSync, mr as init_errors, qn as extractNumberSync, t as init_config_yaml, tt as resolveModel, un as extractTeamPrefix, yn as getProjectSync, zn as resolveProjectFromIssueSync } from "./config-yaml-DySPNmKN.js";
|
|
2
|
+
import { Q as getWorkAgentLifecycleStateSync, St as jsonResponse, bt as httpHandler, dt as rejectUnauthorizedDashboardRequest, et as spawnPanCli, gt as getHeaderFromMap, n as _serverManagedMerges, pt as rejectUnsafeDashboardMutationRequest } from "./specialists-CC4r-c2s.js";
|
|
3
3
|
import { a as init_activity_logger, n as emitActivityEntrySync } from "./activity-logger-DDlOIAML.js";
|
|
4
|
-
import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-
|
|
5
|
-
import { $ as init_child_env, H as sessionExists, M as listSessionNames, Q as buildChildEnvWithoutTmuxSync, i as capturePane, w as init_tmux } from "./tmux-
|
|
6
|
-
import { a as init_event_store, n as getEventStore } from "./event-store-
|
|
7
|
-
import { _ as setAutoMerge, b as setReviewStatusSync, c as getReviewStatusSync, d as loadReviewStatuses, l as init_review_status, p as markWorkspaceStuck, v as setDeaconIgnored } from "./review-status-
|
|
8
|
-
import { _ as init_queue_position, a as EventStoreService, g as findPositionInQueueSync, h as computeQueuePositionFromStatusSync, s as init_domain_services } from "./issue-lifecycle-
|
|
9
|
-
import { o as getPricingSync, s as init_cost, t as calculateCostSync } from "./cost-
|
|
10
|
-
import {
|
|
11
|
-
import { f as CostWriter, l as CostDoorLive } from "./service-
|
|
12
|
-
import { a as init_tracker_config, t as getGitHubConfig } from "./tracker-config-
|
|
13
|
-
import { i as resolveGitHubIssueSync, n as init_tracker_utils } from "./tracker-utils-
|
|
14
|
-
import { o as getInternalTokenSync, s as init_internal_token, t as INTERNAL_TOKEN_HEADER } from "./internal-token-
|
|
4
|
+
import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-BEqFxlJc.js";
|
|
5
|
+
import { $ as init_child_env, H as sessionExists, M as listSessionNames, Q as buildChildEnvWithoutTmuxSync, i as capturePane, w as init_tmux } from "./tmux-R7N7y-Mh.js";
|
|
6
|
+
import { a as init_event_store, n as getEventStore } from "./event-store-CQL6NeqB.js";
|
|
7
|
+
import { _ as setAutoMerge, b as setReviewStatusSync, c as getReviewStatusSync, d as loadReviewStatuses, l as init_review_status, p as markWorkspaceStuck, v as setDeaconIgnored } from "./review-status-kZj_KyCk.js";
|
|
8
|
+
import { _ as init_queue_position, a as EventStoreService, g as findPositionInQueueSync, h as computeQueuePositionFromStatusSync, s as init_domain_services } from "./issue-lifecycle-ojZAzDBP.js";
|
|
9
|
+
import { o as getPricingSync, s as init_cost, t as calculateCostSync } from "./cost-B2ddP6wq.js";
|
|
10
|
+
import { Ar as saveAgentRuntimeState, Kt as transitionIssueToInReview, Or as getAgentRuntimeStateSync, X as messageAgent, b as init_agents, i as listRunningAgents, lt as spawnAgent, qn as getAgentState } from "./queries-CjNIf-Ub.js";
|
|
11
|
+
import { f as CostWriter, l as CostDoorLive } from "./service-CLeAoU6G.js";
|
|
12
|
+
import { a as init_tracker_config, t as getGitHubConfig } from "./tracker-config-G6latr8C.js";
|
|
13
|
+
import { i as resolveGitHubIssueSync, n as init_tracker_utils } from "./tracker-utils-DHv5pSDT.js";
|
|
14
|
+
import { o as getInternalTokenSync, s as init_internal_token, t as INTERNAL_TOKEN_HEADER } from "./internal-token-s0-oKybJ.js";
|
|
15
15
|
import { a as PAN_DIRNAME, i as PAN_CONTINUE_FILENAME, p as init_types } from "./types-hraoaQIp.js";
|
|
16
|
-
import { o as init_merge_sync, r as getAllActiveQueues } from "./merge-sync-
|
|
17
|
-
import { A as init_xbrief_index, M as readXBriefDocument, _ as XBRIEF_INSPECTION_POLICIES, c as mergeRecordStatusOverrides, g as serializeXBriefDocument, k as findXBriefByIssue, o as init_io, r as findPlan, s as isPlanningComplete, u as readPlan, v as init_types$1 } from "./io-
|
|
18
|
-
import { it as findConversationForCostSessionSync, k as init_conversations } from "./conversations-
|
|
19
|
-
import {
|
|
20
|
-
import { f as init_config, m as loadConfigSync$1 } from "./config-
|
|
21
|
-
import { a as
|
|
22
|
-
import { a as criticalPath, l as init_dag, t as actionableDoc } from "./dag-
|
|
23
|
-
import {
|
|
24
|
-
import { a as readEventsFromLineSync, i as init_events, l as init_wal, o as readEventsSync, r as getLastEventMetadataSync, t as appendCostEventSync } from "./events-
|
|
25
|
-
import { n as getContainersReferencingWorkspacePath, r as init_workspace_manager } from "./workspace-manager-
|
|
26
|
-
import { r as init_devcontainer_renderer, t as DEVCONTAINER_DIRNAME } from "./devcontainer-renderer-
|
|
27
|
-
import { a as init_jsonl_parser, t as getActiveSessionModelSync } from "./jsonl-parser-
|
|
28
|
-
import { r as init_in_flight_guard, t as createInFlightGuard } from "./in-flight-guard-
|
|
29
|
-
import { i as findWorkspacePath, o as init_archive_planning } from "./archive-planning-
|
|
30
|
-
import { a as loadWorkspaceMetadataSync, i as listWorkspaceMetadataSync } from "./workspace-metadata-
|
|
31
|
-
import { n as enrichReviewStatusFromSessions } from "./review-status-enrichment-
|
|
32
|
-
import { n as generateDailySummary, r as init_cli } from "./cli-
|
|
33
|
-
import { a as getDiffStat, i as getDiffBase, o as init_review_context, r as getChangedFiles } from "./review-context-
|
|
34
|
-
import { n as getTldrDaemonServiceSync, r as init_tldr_daemon } from "./tldr-daemon-
|
|
35
|
-
import { C as init_operations, S as gitPush, T as listGitOperationsSync, a as init_merge_agent, w as init_git_activity, x as MainDivergedError, y as syncMainIntoWorkspace } from "./merge-agent-
|
|
36
|
-
import { F as enqueueMerge, I as getAllActiveQueues$1, L as getCurrentMerge, P as dequeueMerge, z as markMergeProcessing } from "./merge-
|
|
37
|
-
import { n as init_release_set, t as getReleaseSetSync } from "./release-set-
|
|
38
|
-
import { i as init_conflict_gate, r as getCachedConflictGateMergeability } from "./conflict-gate-
|
|
39
|
-
import { r as runVerificationForIssue } from "./verification-runner-
|
|
40
|
-
import { t as teardownWorkspace } from "./teardown-workspace-
|
|
41
|
-
import {
|
|
16
|
+
import { o as init_merge_sync, r as getAllActiveQueues } from "./merge-sync-VPV28g0g.js";
|
|
17
|
+
import { A as init_xbrief_index, M as readXBriefDocument, _ as XBRIEF_INSPECTION_POLICIES, c as mergeRecordStatusOverrides, g as serializeXBriefDocument, k as findXBriefByIssue, o as init_io, r as findPlan, s as isPlanningComplete, u as readPlan, v as init_types$1 } from "./io-C9kF1wtJ.js";
|
|
18
|
+
import { it as findConversationForCostSessionSync, k as init_conversations } from "./conversations-6AfUfbwc.js";
|
|
19
|
+
import { a as normalizeModelOverrideSync, i as init_model_validation } from "./launcher-generator-BBWG_SiS.js";
|
|
20
|
+
import { f as init_config, m as loadConfigSync$1 } from "./config-BZ0sHTju.js";
|
|
21
|
+
import { a as getWorkspaceStackHealth, n as collectDockerContainerLifecycleSnapshot, r as composeProjectNameForWorkspace, s as init_stack_health } from "./stack-health-DxSdG9cW.js";
|
|
22
|
+
import { a as criticalPath, l as init_dag, t as actionableDoc } from "./dag-B1ucnjDU.js";
|
|
23
|
+
import { E as verifyAppCanMerge, M as withConcurrencyLimit, f as init_github_app, j as init_concurrency, m as isIntegrationPermissionError } from "./github-app-C3QrAUd0.js";
|
|
24
|
+
import { a as readEventsFromLineSync, i as init_events, l as init_wal, o as readEventsSync, r as getLastEventMetadataSync, t as appendCostEventSync } from "./events-DTfAe4My.js";
|
|
25
|
+
import { n as getContainersReferencingWorkspacePath, r as init_workspace_manager } from "./workspace-manager-CBhNdzE4.js";
|
|
26
|
+
import { r as init_devcontainer_renderer, t as DEVCONTAINER_DIRNAME } from "./devcontainer-renderer-_d6XhyND.js";
|
|
27
|
+
import { a as init_jsonl_parser, t as getActiveSessionModelSync } from "./jsonl-parser-BXSlHwEh.js";
|
|
28
|
+
import { r as init_in_flight_guard, t as createInFlightGuard } from "./in-flight-guard-CAAkqPLu.js";
|
|
29
|
+
import { i as findWorkspacePath, o as init_archive_planning } from "./archive-planning-Du25Jtst.js";
|
|
30
|
+
import { a as loadWorkspaceMetadataSync, i as listWorkspaceMetadataSync } from "./workspace-metadata-_WygnyoX.js";
|
|
31
|
+
import { n as enrichReviewStatusFromSessions } from "./review-status-enrichment-Dci-ZwEt.js";
|
|
32
|
+
import { n as generateDailySummary, r as init_cli } from "./cli-RoOx5DUf.js";
|
|
33
|
+
import { a as getDiffStat, i as getDiffBase, o as init_review_context, r as getChangedFiles } from "./review-context-2uj-YQ8J.js";
|
|
34
|
+
import { n as getTldrDaemonServiceSync, r as init_tldr_daemon } from "./tldr-daemon-C-69c3OI.js";
|
|
35
|
+
import { C as init_operations, S as gitPush, T as listGitOperationsSync, a as init_merge_agent, w as init_git_activity, x as MainDivergedError, y as syncMainIntoWorkspace } from "./merge-agent-4WOWlSYA.js";
|
|
36
|
+
import { F as enqueueMerge, I as getAllActiveQueues$1, L as getCurrentMerge, P as dequeueMerge, z as markMergeProcessing } from "./merge-CefQNAnq.js";
|
|
37
|
+
import { n as init_release_set, t as getReleaseSetSync } from "./release-set-CQfuN9-v.js";
|
|
38
|
+
import { i as init_conflict_gate, r as getCachedConflictGateMergeability } from "./conflict-gate-BaCVrH-N.js";
|
|
39
|
+
import { r as runVerificationForIssue } from "./verification-runner-CkgX6EtI.js";
|
|
40
|
+
import { t as teardownWorkspace } from "./teardown-workspace-DeTTImn-.js";
|
|
41
|
+
import { t as init_rebuild_stack } from "./rebuild-stack-lwtsW0GO.js";
|
|
42
42
|
import { basename, dirname, join, resolve, sep } from "node:path";
|
|
43
43
|
import { Effect, Layer, Option, Stream } from "effect";
|
|
44
44
|
import { closeSync, existsSync, fstatSync, mkdirSync, openSync, readFileSync, readSync, readdirSync, renameSync, writeFileSync } from "fs";
|
|
@@ -97,7 +97,7 @@ async function captureInterestedAgent(state, agentId) {
|
|
|
97
97
|
try {
|
|
98
98
|
const remoteState = await readFile(join(homedir$1(), ".overdeck", "agents", agentId, "remote-state.json"), "utf-8").then((text) => JSON.parse(text)).catch(() => null);
|
|
99
99
|
if (remoteState?.location === "remote" && remoteState?.vmName) {
|
|
100
|
-
const { getRemoteAgentOutput } = await import("./remote-agents-
|
|
100
|
+
const { getRemoteAgentOutput } = await import("./remote-agents-CA3Ihlxj.js");
|
|
101
101
|
stdout = await getRemoteAgentOutput(agentId, remoteState.vmName, 50);
|
|
102
102
|
} else stdout = await Effect.runPromise(capturePane(agentId, 50));
|
|
103
103
|
} catch {
|
|
@@ -931,7 +931,7 @@ const postWorkspaceContainerActionRoute = HttpRouter.add("POST", "/api/workspace
|
|
|
931
931
|
}
|
|
932
932
|
if (!workspacePath) return jsonResponse({ error: `Workspace not found for ${issueId}` }, { status: 404 });
|
|
933
933
|
if (!composeFile && ["start", "restart"].includes(action)) {
|
|
934
|
-
const { ensureDevcontainerSync } = yield* Effect.promise(() => import("./ensure-devcontainer-
|
|
934
|
+
const { ensureDevcontainerSync } = yield* Effect.promise(() => import("./ensure-devcontainer-BZgOhRo7.js"));
|
|
935
935
|
if (ensureDevcontainerSync({
|
|
936
936
|
workspacePath,
|
|
937
937
|
issueId
|
|
@@ -2777,7 +2777,9 @@ function mergeCompletionStatus(request) {
|
|
|
2777
2777
|
return request.kind === "strike" ? {
|
|
2778
2778
|
strikeLandingState: "landed",
|
|
2779
2779
|
strikeReadyHead: void 0,
|
|
2780
|
-
strikeReadyAt: void 0
|
|
2780
|
+
strikeReadyAt: void 0,
|
|
2781
|
+
strikeTransportRetryCount: void 0,
|
|
2782
|
+
strikeNextAttemptAt: void 0
|
|
2781
2783
|
} : {};
|
|
2782
2784
|
}
|
|
2783
2785
|
function activeStrikeMerge(currentMerge, pendingOperation) {
|
|
@@ -2989,7 +2991,7 @@ async function reconcileGitHubMergeStatus(issueId, status) {
|
|
|
2989
2991
|
const prRef = parseGitHubPullRequestUrl(status.prUrl);
|
|
2990
2992
|
if (!prRef) return false;
|
|
2991
2993
|
try {
|
|
2992
|
-
const { getPullRequestState, isGitHubAppConfigured } = await import("./github-app-
|
|
2994
|
+
const { getPullRequestState, isGitHubAppConfigured } = await import("./github-app-ClZ2lk8D.js");
|
|
2993
2995
|
if (!isGitHubAppConfigured()) return false;
|
|
2994
2996
|
const prState = await Effect.runPromise(getPullRequestState(prRef.owner, prRef.repo, prRef.number));
|
|
2995
2997
|
console.log(`[merge] reconcileGitHubMergeStatus: ${issueId} PR #${prRef.number} merged=${prState.merged} state=${prState.state}`);
|
|
@@ -3256,8 +3258,8 @@ async function triggerMerge(issueId, request = { kind: "normal" }) {
|
|
|
3256
3258
|
try {
|
|
3257
3259
|
if (request.kind === "normal" && workspaceInfo.isRemote && workspaceInfo.vmName) {
|
|
3258
3260
|
console.log(`[merge] Remote workspace detected for ${issueId}, using review artifact merge...`);
|
|
3259
|
-
const { getMergeSetSync, ensureMergeSetForIssueSync } = await import("./merge-set-
|
|
3260
|
-
const { getForgeAdapter } = await import("./forge-
|
|
3261
|
+
const { getMergeSetSync, ensureMergeSetForIssueSync } = await import("./merge-set-bUqbm3yc.js");
|
|
3262
|
+
const { getForgeAdapter } = await import("./forge-DXnS_YFH.js");
|
|
3261
3263
|
const remotePrimaryRepo = (getMergeSetSync(issueId) || ensureMergeSetForIssueSync(issueId))?.repos[0];
|
|
3262
3264
|
const remoteTargetBranch = remotePrimaryRepo?.targetBranch || "main";
|
|
3263
3265
|
const remoteForge = remotePrimaryRepo?.forge || "github";
|
|
@@ -3293,7 +3295,7 @@ async function triggerMerge(issueId, request = { kind: "normal" }) {
|
|
|
3293
3295
|
...mergeCompletionStatus(request)
|
|
3294
3296
|
});
|
|
3295
3297
|
completePendingOperation(issueId, null);
|
|
3296
|
-
const { postMergeLifecycle } = await import("./merge-agent-
|
|
3298
|
+
const { postMergeLifecycle } = await import("./merge-agent-CKkgIBPB.js");
|
|
3297
3299
|
await postMergeLifecycle(issueId, projectPath);
|
|
3298
3300
|
return {
|
|
3299
3301
|
success: true,
|
|
@@ -3330,10 +3332,10 @@ async function triggerMerge(issueId, request = { kind: "normal" }) {
|
|
|
3330
3332
|
const projectConfig = findProjectByTeamSync(issuePrefix);
|
|
3331
3333
|
if (projectConfig?.workspace?.type === "polyrepo" && projectConfig?.workspace?.repos) {
|
|
3332
3334
|
console.log(`[merge] Polyrepo detected for ${issueId}, coordinating merge set...`);
|
|
3333
|
-
const { getMergeSetSync, ensureMergeSetForIssueSync, upsertMergeSetSync, withRepoStateSync } = await import("./merge-set-
|
|
3334
|
-
const { runQualityGates } = await import("./validation-
|
|
3335
|
-
const { getForgeAdapter } = await import("./forge-
|
|
3336
|
-
const { messageAgent } = await import("./agents-
|
|
3335
|
+
const { getMergeSetSync, ensureMergeSetForIssueSync, upsertMergeSetSync, withRepoStateSync } = await import("./merge-set-bUqbm3yc.js");
|
|
3336
|
+
const { runQualityGates } = await import("./validation-CC9OPqJZ.js");
|
|
3337
|
+
const { getForgeAdapter } = await import("./forge-DXnS_YFH.js");
|
|
3338
|
+
const { messageAgent } = await import("./agents-wi9NWzs2.js");
|
|
3337
3339
|
let mergeSet = getMergeSetSync(issueId) || ensureMergeSetForIssueSync(issueId);
|
|
3338
3340
|
if (!mergeSet) {
|
|
3339
3341
|
const error = `No merge set found for ${issueId}`;
|
|
@@ -3604,7 +3606,7 @@ async function triggerMerge(issueId, request = { kind: "normal" }) {
|
|
|
3604
3606
|
...mergeCompletionStatus(request)
|
|
3605
3607
|
});
|
|
3606
3608
|
completePendingOperation(issueId, null);
|
|
3607
|
-
const { postMergeLifecycle } = await import("./merge-agent-
|
|
3609
|
+
const { postMergeLifecycle } = await import("./merge-agent-CKkgIBPB.js");
|
|
3608
3610
|
advanceQueue();
|
|
3609
3611
|
await postMergeLifecycle(issueId, projectPath);
|
|
3610
3612
|
return {
|
|
@@ -3615,8 +3617,8 @@ async function triggerMerge(issueId, request = { kind: "normal" }) {
|
|
|
3615
3617
|
repos: mergeResults
|
|
3616
3618
|
};
|
|
3617
3619
|
}
|
|
3618
|
-
const { getMergeSetSync, ensureMergeSetForIssueSync } = await import("./merge-set-
|
|
3619
|
-
const { getForgeAdapter } = await import("./forge-
|
|
3620
|
+
const { getMergeSetSync, ensureMergeSetForIssueSync } = await import("./merge-set-bUqbm3yc.js");
|
|
3621
|
+
const { getForgeAdapter } = await import("./forge-DXnS_YFH.js");
|
|
3620
3622
|
const primaryRepo = (getMergeSetSync(issueId) || ensureMergeSetForIssueSync(issueId))?.repos[0];
|
|
3621
3623
|
const targetBranch = primaryRepo?.targetBranch || "main";
|
|
3622
3624
|
const primaryForge = primaryRepo?.forge || "github";
|
|
@@ -3658,7 +3660,7 @@ async function triggerMerge(issueId, request = { kind: "normal" }) {
|
|
|
3658
3660
|
};
|
|
3659
3661
|
}
|
|
3660
3662
|
if (githubPrRef) try {
|
|
3661
|
-
const { getPullRequestState, isGitHubAppConfigured } = await import("./github-app-
|
|
3663
|
+
const { getPullRequestState, isGitHubAppConfigured } = await import("./github-app-ClZ2lk8D.js");
|
|
3662
3664
|
if (isGitHubAppConfigured()) {
|
|
3663
3665
|
const prState = await Effect.runPromise(getPullRequestState(githubPrRef.owner, githubPrRef.repo, githubPrRef.number));
|
|
3664
3666
|
if (prState.state !== "OPEN" && !prState.merged) {
|
|
@@ -3720,7 +3722,7 @@ async function triggerMerge(issueId, request = { kind: "normal" }) {
|
|
|
3720
3722
|
...mergeCompletionStatus(request)
|
|
3721
3723
|
});
|
|
3722
3724
|
completePendingOperation(issueId, null);
|
|
3723
|
-
const { postMergeLifecycle } = await import("./merge-agent-
|
|
3725
|
+
const { postMergeLifecycle } = await import("./merge-agent-CKkgIBPB.js");
|
|
3724
3726
|
await postMergeLifecycle(issueId, projectPath, branchName);
|
|
3725
3727
|
return {
|
|
3726
3728
|
success: true,
|
|
@@ -3734,13 +3736,13 @@ async function triggerMerge(issueId, request = { kind: "normal" }) {
|
|
|
3734
3736
|
} catch (prStateErr) {
|
|
3735
3737
|
console.warn(`[merge] Pre-merge PR state check failed for ${issueId}: ${prStateErr.message} — proceeding (check is best-effort)`);
|
|
3736
3738
|
}
|
|
3737
|
-
const { postMergeLifecycle } = await import("./merge-agent-
|
|
3739
|
+
const { postMergeLifecycle } = await import("./merge-agent-CKkgIBPB.js");
|
|
3738
3740
|
const agentId = request.kind === "strike" ? request.recoveryTarget : `agent-${issueId.toLowerCase()}`;
|
|
3739
3741
|
const rebaseMsg = request.kind === "strike" ? `STRIKE LANDING REQUEST: Rebase ${branchName} onto ${targetBranch}, resolve conflicts, run the full quality gates, push ${branchName}, then run pan strike-ready ${issueId} to persist the new HEAD. Do NOT merge or push main.` : `MERGE REQUESTED: The human has clicked MERGE for ${issueId}. Please rebase onto ${targetBranch} and push:\n\n1. git fetch origin ${targetBranch}\n2. git rebase origin/${targetBranch}\n3. If conflicts: resolve them, git add, git rebase --continue\n4. git push --force-with-lease\n\nAfter pushing, the server will handle verification and merge automatically. Do NOT run gh pr merge yourself.`;
|
|
3740
3742
|
setReviewStatus(issueId, { mergeStep: "rebasing" });
|
|
3741
3743
|
console.log(`[merge] Rebasing ${branchName} onto ${targetBranch} for ${issueId} (agent=${await Effect.runPromise(sessionExists(agentId)) ? "running" : "stopped"})...`);
|
|
3742
3744
|
{
|
|
3743
|
-
const { beginShipLog, appendShipLog } = await import("./ship-log-
|
|
3745
|
+
const { beginShipLog, appendShipLog } = await import("./ship-log-D9MlVzYU.js");
|
|
3744
3746
|
beginShipLog(issueId);
|
|
3745
3747
|
appendShipLog(issueId, `Ship started: rebasing ${branchName} onto ${targetBranch}…`, "rebasing");
|
|
3746
3748
|
}
|
|
@@ -3871,7 +3873,7 @@ async function triggerMerge(issueId, request = { kind: "normal" }) {
|
|
|
3871
3873
|
});
|
|
3872
3874
|
let skipLocalVerification = false;
|
|
3873
3875
|
if (primaryForge === "github" && artifactUrl) try {
|
|
3874
|
-
const { parsePullRequestRef, getCiCheckRunsStatePromise, isGitHubAppConfigured } = await import("./github-app-
|
|
3876
|
+
const { parsePullRequestRef, getCiCheckRunsStatePromise, isGitHubAppConfigured } = await import("./github-app-ClZ2lk8D.js");
|
|
3875
3877
|
if (isGitHubAppConfigured()) {
|
|
3876
3878
|
const ref = parsePullRequestRef({ url: artifactUrl });
|
|
3877
3879
|
if (ref) {
|
|
@@ -3892,12 +3894,12 @@ async function triggerMerge(issueId, request = { kind: "normal" }) {
|
|
|
3892
3894
|
} catch (ciErr) {
|
|
3893
3895
|
console.warn(`[merge] CI-state check failed (${ciErr.message?.slice(0, 120)}) — falling back to local verification for ${issueId}`);
|
|
3894
3896
|
}
|
|
3895
|
-
const { appendShipLog } = await import("./ship-log-
|
|
3897
|
+
const { appendShipLog } = await import("./ship-log-D9MlVzYU.js");
|
|
3896
3898
|
if (skipLocalVerification) appendShipLog(issueId, "✓ Local verification skipped — CI already green on this exact commit", "verifying");
|
|
3897
3899
|
const verifyResult = skipLocalVerification ? { outcome: "passed" } : await (async () => {
|
|
3898
3900
|
console.log(`[merge] Running post-rebase verification for ${issueId}...`);
|
|
3899
3901
|
appendShipLog(issueId, "Running post-rebase verification (full quality-gate suite)…", "verifying");
|
|
3900
|
-
const { runVerificationForIssue } = await import("./verification-runner-
|
|
3902
|
+
const { runVerificationForIssue } = await import("./verification-runner-BW4HOKAz.js");
|
|
3901
3903
|
return Effect.runPromise(runVerificationForIssue(issueId, workspacePath, { isRemote: false }, "merge-verify", {
|
|
3902
3904
|
...mergeVerificationOptions(request),
|
|
3903
3905
|
onGateLog: (line) => appendShipLog(issueId, line, "verifying")
|
|
@@ -3930,7 +3932,7 @@ async function triggerMerge(issueId, request = { kind: "normal" }) {
|
|
|
3930
3932
|
console.log(`[merge] Post-rebase verification ${verifyResult.outcome} for ${issueId}`);
|
|
3931
3933
|
setReviewStatus(issueId, { mergeStep: "reporting-statuses" });
|
|
3932
3934
|
try {
|
|
3933
|
-
const { getPullRequestState, isGitHubAppConfigured, reportCommitStatus } = await import("./github-app-
|
|
3935
|
+
const { getPullRequestState, isGitHubAppConfigured, reportCommitStatus } = await import("./github-app-ClZ2lk8D.js");
|
|
3934
3936
|
if (githubPrRef && isGitHubAppConfigured()) {
|
|
3935
3937
|
const sha = (await Effect.runPromise(getPullRequestState(githubPrRef.owner, githubPrRef.repo, githubPrRef.number))).headSha.trim();
|
|
3936
3938
|
if (sha) {
|
|
@@ -3958,7 +3960,7 @@ async function triggerMerge(issueId, request = { kind: "normal" }) {
|
|
|
3958
3960
|
} catch (prMergeErr) {
|
|
3959
3961
|
console.error(`[merge] Review artifact merge threw for ${issueId}:`, prMergeErr);
|
|
3960
3962
|
try {
|
|
3961
|
-
const { getPullRequestState, isGitHubAppConfigured } = await import("./github-app-
|
|
3963
|
+
const { getPullRequestState, isGitHubAppConfigured } = await import("./github-app-ClZ2lk8D.js");
|
|
3962
3964
|
if (githubPrRef && isGitHubAppConfigured()) {
|
|
3963
3965
|
artifactMerged = (await Effect.runPromise(getPullRequestState(githubPrRef.owner, githubPrRef.repo, githubPrRef.number))).merged;
|
|
3964
3966
|
if (artifactMerged) console.log(`[merge] Race-detected: PR #${githubPrRef.number} for ${issueId} was already merged despite thrown error; proceeding`);
|
|
@@ -4077,8 +4079,8 @@ const postForgeApproveRoute = HttpRouter.add("POST", "/api/issues/:issueId/forge
|
|
|
4077
4079
|
if (!parseIssueIdSync(issueId)) return jsonResponse({ error: "Invalid issue ID" }, { status: 400 });
|
|
4078
4080
|
if (!/^[A-Z]+-\d+$/i.test(issueId)) return jsonResponse({ error: "Invalid issue ID format" }, { status: 400 });
|
|
4079
4081
|
return yield* Effect.promise(async () => {
|
|
4080
|
-
const { getMergeSetSync, upsertMergeSetSync, withRepoArtifactUrlSync, withRepoStateSync } = await import("./merge-set-
|
|
4081
|
-
const { getForgeAdapter } = await import("./forge-
|
|
4082
|
+
const { getMergeSetSync, upsertMergeSetSync, withRepoArtifactUrlSync, withRepoStateSync } = await import("./merge-set-bUqbm3yc.js");
|
|
4083
|
+
const { getForgeAdapter } = await import("./forge-DXnS_YFH.js");
|
|
4082
4084
|
let mergeSet = getMergeSetSync(issueId);
|
|
4083
4085
|
if (!mergeSet) return jsonResponse({ error: `No merge set found for ${issueId}` }, { status: 404 });
|
|
4084
4086
|
const results = [];
|
|
@@ -4166,8 +4168,8 @@ const postForgeMergeRoute = HttpRouter.add("POST", "/api/issues/:issueId/forge-m
|
|
|
4166
4168
|
if (!parseIssueIdSync(issueId)) return jsonResponse({ error: "Invalid issue ID" }, { status: 400 });
|
|
4167
4169
|
if (!/^[A-Z]+-\d+$/i.test(issueId)) return jsonResponse({ error: "Invalid issue ID format" }, { status: 400 });
|
|
4168
4170
|
return yield* Effect.promise(async () => {
|
|
4169
|
-
const { getMergeSetSync, upsertMergeSetSync, withRepoArtifactUrlSync, withRepoStateSync } = await import("./merge-set-
|
|
4170
|
-
const { getForgeAdapter } = await import("./forge-
|
|
4171
|
+
const { getMergeSetSync, upsertMergeSetSync, withRepoArtifactUrlSync, withRepoStateSync } = await import("./merge-set-bUqbm3yc.js");
|
|
4172
|
+
const { getForgeAdapter } = await import("./forge-DXnS_YFH.js");
|
|
4171
4173
|
let mergeSet = getMergeSetSync(issueId);
|
|
4172
4174
|
if (!mergeSet) return jsonResponse({ error: `No merge set found for ${issueId}` }, { status: 404 });
|
|
4173
4175
|
const results = [];
|
|
@@ -4360,7 +4362,7 @@ const postWorkspaceApproveRoute = HttpRouter.add("POST", "/api/issues/:issueId/a
|
|
|
4360
4362
|
console.log(`[approve] Starting role pipeline for ${issueId}...`);
|
|
4361
4363
|
let reviewResult;
|
|
4362
4364
|
try {
|
|
4363
|
-
const { spawnReviewRoleForIssue } = await import("./review-agent-
|
|
4365
|
+
const { spawnReviewRoleForIssue } = await import("./review-agent-DNboMyW4.js");
|
|
4364
4366
|
reviewResult = await Effect.runPromise(spawnReviewRoleForIssue({
|
|
4365
4367
|
issueId,
|
|
4366
4368
|
workspace: workspacePath,
|
|
@@ -4407,7 +4409,7 @@ const postWorkspaceApproveRoute = HttpRouter.add("POST", "/api/issues/:issueId/a
|
|
|
4407
4409
|
}
|
|
4408
4410
|
console.log(`[approve] Step 3/3: Running server-side rebase for ${issueId}...`);
|
|
4409
4411
|
try {
|
|
4410
|
-
const { rebaseFeatureBranch } = await import("./merge-rebase-
|
|
4412
|
+
const { rebaseFeatureBranch } = await import("./merge-rebase-BfaTyXsw.js");
|
|
4411
4413
|
const workspacePathForRebase = join(projectPath, "workspaces", `feature-${issueId.toLowerCase()}`);
|
|
4412
4414
|
const rebaseResult = await Effect.runPromise(rebaseFeatureBranch(workspacePathForRebase, branchName, "main", issueId));
|
|
4413
4415
|
if (!rebaseResult.success) {
|
|
@@ -4427,7 +4429,7 @@ const postWorkspaceApproveRoute = HttpRouter.add("POST", "/api/issues/:issueId/a
|
|
|
4427
4429
|
completePendingOperation(issueId, pushResult.error);
|
|
4428
4430
|
return jsonResponse({ error: pushResult.error }, { status: pushResult.httpStatus });
|
|
4429
4431
|
}
|
|
4430
|
-
const { approve: lifecycleApprove } = await import("./lifecycle-
|
|
4432
|
+
const { approve: lifecycleApprove } = await import("./lifecycle-xmBfK2GJ.js");
|
|
4431
4433
|
const ghResolved = resolveGitHubIssueSync(issueId);
|
|
4432
4434
|
const isGitHubIssueFlag = ghResolved.isGitHub;
|
|
4433
4435
|
const lifecycleCtx = {
|
|
@@ -4461,7 +4463,7 @@ const getMergeQueueRoute = HttpRouter.add("GET", "/api/merge-queue", httpHandler
|
|
|
4461
4463
|
})));
|
|
4462
4464
|
const postInternalPipelineNotifyRoute = HttpRouter.add("POST", "/api/internal/pipeline/notify", httpHandler(Effect.gen(function* () {
|
|
4463
4465
|
const request = yield* HttpServerRequest.HttpServerRequest;
|
|
4464
|
-
const { INTERNAL_TOKEN_HEADER, getInternalTokenSync } = yield* Effect.promise(() => import("./internal-token-
|
|
4466
|
+
const { INTERNAL_TOKEN_HEADER, getInternalTokenSync } = yield* Effect.promise(() => import("./internal-token-BrcU6qfe.js"));
|
|
4465
4467
|
const expected = getInternalTokenSync();
|
|
4466
4468
|
if (!expected) return jsonResponse({
|
|
4467
4469
|
ok: false,
|
|
@@ -4475,7 +4477,7 @@ const postInternalPipelineNotifyRoute = HttpRouter.add("POST", "/api/internal/pi
|
|
|
4475
4477
|
}, 403);
|
|
4476
4478
|
const event = yield* readJsonBody;
|
|
4477
4479
|
const type = event.type;
|
|
4478
|
-
const { notifyPipelineSync } = yield* Effect.promise(() => import("./pipeline-notifier-
|
|
4480
|
+
const { notifyPipelineSync } = yield* Effect.promise(() => import("./pipeline-notifier-BJr8gQX6.js"));
|
|
4479
4481
|
switch (type) {
|
|
4480
4482
|
case "status_changed": {
|
|
4481
4483
|
const issueId = event.issueId;
|
|
@@ -5250,7 +5252,7 @@ const patchWorkspaceTieredExecutionRoute = HttpRouter.add("PATCH", "/api/workspa
|
|
|
5250
5252
|
if (override !== "on" && override !== "off" && override !== null && override !== void 0) return jsonResponse({ error: "Invalid tiered-execution override" }, { status: 400 });
|
|
5251
5253
|
const project = getProjectSync(extractPrefixSync(issueId) ?? issueId.split("-")[0]);
|
|
5252
5254
|
if (!project) return jsonResponse({ error: "Project not found" }, { status: 404 });
|
|
5253
|
-
yield* Effect.promise(() => import("./record-
|
|
5255
|
+
yield* Effect.promise(() => import("./record-CN0pj4_5.js").then((m) => m.writeRecordTieredExecutionOverride(project, issueId, override)));
|
|
5254
5256
|
const projectPath = project.path;
|
|
5255
5257
|
const location = yield* resolvePlanLocation(projectPath, issueId);
|
|
5256
5258
|
if (!location) return jsonResponse({ error: "No xBRIEF plan found for this workspace" }, { status: 404 });
|
|
@@ -5597,6 +5599,33 @@ const MAX_AUTO_REQUEUE = 25;
|
|
|
5597
5599
|
const requestReviewPipeline = createRequestReviewPipeline();
|
|
5598
5600
|
/** Safe `.message` read for caught values of unknown shape. */
|
|
5599
5601
|
const errorMessage = (e) => e instanceof Error ? e.message : void 0;
|
|
5602
|
+
/**
|
|
5603
|
+
* Push the feature branch of every repo in the workspace (PAN-2948).
|
|
5604
|
+
*
|
|
5605
|
+
* A polyrepo workspace root is a one-commit wrapper repo with no remote and no
|
|
5606
|
+
* feature branch — pushing there fails and, on the verified-dispatch path,
|
|
5607
|
+
* kills the whole re-review pipeline. Loop the resolved repo roots instead
|
|
5608
|
+
* (mirrors rebase-helper.ts), skipping repos whose feature branch doesn't
|
|
5609
|
+
* exist locally (untouched sub-repos). Monorepo resolves to a single root at
|
|
5610
|
+
* the workspace path, preserving the previous behavior.
|
|
5611
|
+
*/
|
|
5612
|
+
async function pushFeatureBranches(issueId, workspacePath) {
|
|
5613
|
+
const { resolveWorkspaceRepoRootsSync } = await import("./project-repos-DXKQsc_m.js");
|
|
5614
|
+
for (const root of resolveWorkspaceRepoRootsSync(issueId, workspacePath)) {
|
|
5615
|
+
try {
|
|
5616
|
+
await execAsync$2(`git rev-parse --verify --quiet refs/heads/${root.sourceBranch}`, {
|
|
5617
|
+
cwd: root.dir,
|
|
5618
|
+
encoding: "utf-8"
|
|
5619
|
+
});
|
|
5620
|
+
} catch {
|
|
5621
|
+
continue;
|
|
5622
|
+
}
|
|
5623
|
+
await execAsync$2(`git push origin ${root.sourceBranch}`, {
|
|
5624
|
+
cwd: root.dir,
|
|
5625
|
+
encoding: "utf-8"
|
|
5626
|
+
});
|
|
5627
|
+
}
|
|
5628
|
+
}
|
|
5600
5629
|
function shouldTreatAsRerun(status) {
|
|
5601
5630
|
if (!status) return false;
|
|
5602
5631
|
return status.readyForMerge === true || status.reviewStatus === "passed" || status.testStatus === "passed" || status.mergeStatus === "failed";
|
|
@@ -5708,15 +5737,12 @@ const postWorkspaceReviewRoute = HttpRouter.add("POST", "/api/review/:issueId/tr
|
|
|
5708
5737
|
console.warn(`[review] Could not transition ${issueId} to in_review: ${errorMessage(err)}`);
|
|
5709
5738
|
});
|
|
5710
5739
|
try {
|
|
5711
|
-
await
|
|
5712
|
-
cwd: workspacePath,
|
|
5713
|
-
encoding: "utf-8"
|
|
5714
|
-
});
|
|
5740
|
+
await pushFeatureBranches(issueId, workspacePath);
|
|
5715
5741
|
} catch (pushErr) {
|
|
5716
5742
|
console.log(`Feature branch push note: ${errorMessage(pushErr)}`);
|
|
5717
5743
|
}
|
|
5718
5744
|
try {
|
|
5719
|
-
const { createReviewArtifactsForIssue } = await import("./review-artifacts-
|
|
5745
|
+
const { createReviewArtifactsForIssue } = await import("./review-artifacts-nRDPuMxd.js");
|
|
5720
5746
|
const artifactResult = await Effect.runPromise(createReviewArtifactsForIssue(issueId, workspacePath));
|
|
5721
5747
|
const primaryArtifact = artifactResult.mergeSet?.repos.find((repo) => !!repo.artifactUrl);
|
|
5722
5748
|
artifactResult.mergeSet?.repos.find((repo) => repo.mergeStatus !== "skipped")?.targetBranch;
|
|
@@ -5771,7 +5797,7 @@ const postWorkspaceReviewRoute = HttpRouter.add("POST", "/api/review/:issueId/tr
|
|
|
5771
5797
|
} catch {}
|
|
5772
5798
|
return;
|
|
5773
5799
|
}
|
|
5774
|
-
const { spawnReviewRoleForIssue } = await import("./review-agent-
|
|
5800
|
+
const { spawnReviewRoleForIssue } = await import("./review-agent-DNboMyW4.js");
|
|
5775
5801
|
const prUrl = getReviewStatusSync(issueId)?.prUrl;
|
|
5776
5802
|
const reviewResult = await Effect.runPromise(spawnReviewRoleForIssue({
|
|
5777
5803
|
issueId,
|
|
@@ -5902,15 +5928,12 @@ const postWorkspaceRequestReviewRoute = HttpRouter.add("POST", "/api/review/:iss
|
|
|
5902
5928
|
console.warn(`[request-review] Could not transition ${issueId} to in_review: ${errorMessage(err)}`);
|
|
5903
5929
|
});
|
|
5904
5930
|
try {
|
|
5905
|
-
await
|
|
5906
|
-
cwd: workspacePathRerun,
|
|
5907
|
-
encoding: "utf-8"
|
|
5908
|
-
});
|
|
5931
|
+
await pushFeatureBranches(issueId, workspacePathRerun);
|
|
5909
5932
|
} catch (pushErr) {
|
|
5910
5933
|
console.log(`[request-review] Feature branch push note: ${errorMessage(pushErr)}`);
|
|
5911
5934
|
}
|
|
5912
5935
|
const prUrl = getReviewStatusSync(issueId)?.prUrl;
|
|
5913
|
-
const { spawnReviewRoleForIssue } = await import("./review-agent-
|
|
5936
|
+
const { spawnReviewRoleForIssue } = await import("./review-agent-DNboMyW4.js");
|
|
5914
5937
|
const result = await Effect.runPromise(spawnReviewRoleForIssue({
|
|
5915
5938
|
issueId,
|
|
5916
5939
|
workspace: workspacePathRerun,
|
|
@@ -5960,7 +5983,7 @@ const postWorkspaceRequestReviewRoute = HttpRouter.add("POST", "/api/review/:iss
|
|
|
5960
5983
|
});
|
|
5961
5984
|
} else {
|
|
5962
5985
|
const workspacePath = join(resolved.projectPath, "workspaces", `feature-${issueId.toLowerCase()}`);
|
|
5963
|
-
const { spawnRun } = yield* Effect.promise(() => import("./agents-
|
|
5986
|
+
const { spawnRun } = yield* Effect.promise(() => import("./agents-wi9NWzs2.js"));
|
|
5964
5987
|
try {
|
|
5965
5988
|
const testRun = yield* Effect.promise(() => spawnRun(issueId, "test", { workspace: workspacePath }));
|
|
5966
5989
|
setReviewStatus(issueId, { testStatus: "testing" });
|
|
@@ -6056,12 +6079,8 @@ const postWorkspaceRequestReviewRoute = HttpRouter.add("POST", "/api/review/:iss
|
|
|
6056
6079
|
});
|
|
6057
6080
|
},
|
|
6058
6081
|
pushBranch: async () => {
|
|
6059
|
-
|
|
6060
|
-
|
|
6061
|
-
else await execAsync$2(pushCommand, {
|
|
6062
|
-
cwd: workspacePath,
|
|
6063
|
-
encoding: "utf-8"
|
|
6064
|
-
});
|
|
6082
|
+
if (workspaceInfo.isRemote && workspaceInfo.vmName) await execAsync$2(flyExecCmd(workspaceInfo.vmName, `cd ${workspacePath} && git push origin ${branchName}`), { encoding: "utf-8" });
|
|
6083
|
+
else await pushFeatureBranches(issueId, workspacePath);
|
|
6065
6084
|
console.log(`[request-review] Pushed verified branch ${branchName} for ${issueId}`);
|
|
6066
6085
|
},
|
|
6067
6086
|
dispatchReview: async () => {
|
|
@@ -6070,7 +6089,7 @@ const postWorkspaceRequestReviewRoute = HttpRouter.add("POST", "/api/review/:iss
|
|
|
6070
6089
|
testStatus: "pending",
|
|
6071
6090
|
reviewNotes
|
|
6072
6091
|
});
|
|
6073
|
-
const { spawnReviewRoleForIssue } = await import("./review-agent-
|
|
6092
|
+
const { spawnReviewRoleForIssue } = await import("./review-agent-DNboMyW4.js");
|
|
6074
6093
|
const result = await Effect.runPromise(spawnReviewRoleForIssue({
|
|
6075
6094
|
issueId,
|
|
6076
6095
|
workspace: workspacePath,
|
|
@@ -6379,7 +6398,7 @@ const postWorkspaceResetReviewRoute = HttpRouter.add("POST", "/api/review/:issue
|
|
|
6379
6398
|
const result = processResetReviewPipeline(issueId, resetWorkspace.exists);
|
|
6380
6399
|
if (result.httpStatus !== 200) return jsonResponse(result.body, { status: result.httpStatus });
|
|
6381
6400
|
try {
|
|
6382
|
-
const { resetPostMergeState } = yield* Effect.promise(() => import("./merge-agent-
|
|
6401
|
+
const { resetPostMergeState } = yield* Effect.promise(() => import("./merge-agent-CKkgIBPB.js"));
|
|
6383
6402
|
resetPostMergeState(issueId);
|
|
6384
6403
|
} catch (err) {
|
|
6385
6404
|
console.warn(`[reset-review] resetPostMergeState best-effort failed for ${issueId}:`, err);
|
|
@@ -6388,7 +6407,7 @@ const postWorkspaceResetReviewRoute = HttpRouter.add("POST", "/api/review/:issue
|
|
|
6388
6407
|
const rerun = body?.rerun === true;
|
|
6389
6408
|
if (rerun) try {
|
|
6390
6409
|
yield* Effect.promise(async () => {
|
|
6391
|
-
const { spawnReviewRoleForIssue } = await import("./review-agent-
|
|
6410
|
+
const { spawnReviewRoleForIssue } = await import("./review-agent-DNboMyW4.js");
|
|
6392
6411
|
const dispatchArgs = buildReviewRedispatchArgs(issueId, resetWorkspace, workspaceInfo, resolved);
|
|
6393
6412
|
if (dispatchArgs) {
|
|
6394
6413
|
const result = await Effect.runPromise(spawnReviewRoleForIssue({
|
|
@@ -6417,7 +6436,7 @@ const postWorkspaceResetReviewRoute = HttpRouter.add("POST", "/api/review/:issue
|
|
|
6417
6436
|
const postWorkspaceReviewPurgeRoute = HttpRouter.add("POST", "/api/review/:issueId/purge", httpHandler(Effect.gen(function* () {
|
|
6418
6437
|
const issueId = (yield* HttpRouter.params)["issueId"] ?? "";
|
|
6419
6438
|
if (!parseIssueIdSync(issueId)) return jsonResponse({ error: "Invalid issue ID" }, { status: 400 });
|
|
6420
|
-
const { purgeReviewAgentsForIssue } = yield* Effect.promise(() => import("./review-agent-
|
|
6439
|
+
const { purgeReviewAgentsForIssue } = yield* Effect.promise(() => import("./review-agent-DNboMyW4.js"));
|
|
6421
6440
|
const projectKey = resolveProjectFromIssueSync(issueId)?.projectKey;
|
|
6422
6441
|
const purge = yield* Effect.promise(() => purgeReviewAgentsForIssue(projectKey, issueId));
|
|
6423
6442
|
const workspaceInfo = getWorkspaceInfoForIssue(issueId);
|
|
@@ -6447,8 +6466,8 @@ const postWorkspaceAbortReviewRoute = HttpRouter.add("POST", "/api/review/:issue
|
|
|
6447
6466
|
success: false,
|
|
6448
6467
|
error: "Workspace does not exist"
|
|
6449
6468
|
}, { status: 400 });
|
|
6450
|
-
const { resolveProjectFromIssueSync } = yield* Effect.promise(() => import("./projects-
|
|
6451
|
-
const { killAllReviewerSessions } = yield* Effect.promise(() => import("./review-agent-
|
|
6469
|
+
const { resolveProjectFromIssueSync } = yield* Effect.promise(() => import("./projects-vjjcmiN8.js"));
|
|
6470
|
+
const { killAllReviewerSessions } = yield* Effect.promise(() => import("./review-agent-DNboMyW4.js"));
|
|
6452
6471
|
const { killed, failed } = yield* killAllReviewerSessions(resolveProjectFromIssueSync(issueId)?.projectKey, issueId);
|
|
6453
6472
|
setReviewStatus(issueId, {
|
|
6454
6473
|
reviewStatus: "pending",
|
|
@@ -6520,8 +6539,8 @@ const getReviewConfigRoute = HttpRouter.add("GET", "/api/review/:issueId/config"
|
|
|
6520
6539
|
const issueId = ((yield* HttpRouter.params)["issueId"] ?? "").toUpperCase();
|
|
6521
6540
|
if (!parseIssueIdSync(issueId)) return jsonResponse({ error: "Invalid issue ID" }, { status: 400 });
|
|
6522
6541
|
return jsonResponse(yield* Effect.promise(async () => {
|
|
6523
|
-
const { readIssueRecordSync, resolveProjectForIssue } = await import("./record-
|
|
6524
|
-
const { resolveReviewMode, resolveReReviewScope } = await import("./review-agent-
|
|
6542
|
+
const { readIssueRecordSync, resolveProjectForIssue } = await import("./record-CN0pj4_5.js");
|
|
6543
|
+
const { resolveReviewMode, resolveReReviewScope } = await import("./review-agent-DNboMyW4.js");
|
|
6525
6544
|
const project = resolveProjectForIssue(issueId);
|
|
6526
6545
|
const record = project ? readIssueRecordSync(project, issueId) : null;
|
|
6527
6546
|
return {
|
|
@@ -6556,9 +6575,9 @@ const postReviewConfigRoute = HttpRouter.add("POST", "/api/review/:issueId/confi
|
|
|
6556
6575
|
return jsonResponse({ error: error instanceof Error ? error.message : String(error) }, { status: 400 });
|
|
6557
6576
|
}
|
|
6558
6577
|
return jsonResponse(yield* Effect.promise(async () => {
|
|
6559
|
-
const { resolveProjectForIssue } = await import("./record-
|
|
6560
|
-
const { updateIssueRecord } = await import("./record-update-
|
|
6561
|
-
const { resolveReviewMode, resolveReReviewScope } = await import("./review-agent-
|
|
6578
|
+
const { resolveProjectForIssue } = await import("./record-CN0pj4_5.js");
|
|
6579
|
+
const { updateIssueRecord } = await import("./record-update-bLJxAXH4.js");
|
|
6580
|
+
const { resolveReviewMode, resolveReReviewScope } = await import("./review-agent-DNboMyW4.js");
|
|
6562
6581
|
const record = await updateIssueRecord(resolveProjectForIssue(issueId), issueId, (current) => {
|
|
6563
6582
|
if (hasMode) if (body.reviewMode === null) delete current.reviewMode;
|
|
6564
6583
|
else current.reviewMode = body.reviewMode;
|
|
@@ -6991,7 +7010,7 @@ async function readWorkspacePlanningMarkdown(issueId, fileName) {
|
|
|
6991
7010
|
*/
|
|
6992
7011
|
async function readWorkspaceContinueFile(_projectPath, workspacePath, issueId) {
|
|
6993
7012
|
try {
|
|
6994
|
-
const { readRecordContinueViewSync, getProjectConfigFromWorkspacePath, resolveProjectForIssue } = await import("./record-
|
|
7013
|
+
const { readRecordContinueViewSync, getProjectConfigFromWorkspacePath, resolveProjectForIssue } = await import("./record-CN0pj4_5.js");
|
|
6995
7014
|
const recordView = readRecordContinueViewSync(resolveProjectForIssue(issueId) ?? getProjectConfigFromWorkspacePath(workspacePath), issueId);
|
|
6996
7015
|
return recordView ? JSON.stringify(recordView, null, 2) : null;
|
|
6997
7016
|
} catch {
|
|
@@ -7750,7 +7769,7 @@ const getWorkspaceReviewStatusRoute = HttpRouter.add("GET", "/api/review/:issueI
|
|
|
7750
7769
|
if (queuePosition === null) try {
|
|
7751
7770
|
const resolved = resolveProjectFromIssueSync(issueId);
|
|
7752
7771
|
if (resolved) {
|
|
7753
|
-
const { getQueueForProject } = yield* Effect.promise(() => import("./merge-
|
|
7772
|
+
const { getQueueForProject } = yield* Effect.promise(() => import("./merge-B1DiziGU.js"));
|
|
7754
7773
|
const mergePos = findPositionInQueueSync(issueId, getQueueForProject(resolved.projectKey).map((e) => ({
|
|
7755
7774
|
id: String(e.id),
|
|
7756
7775
|
type: "task",
|
|
@@ -7788,7 +7807,7 @@ const postWorkspaceReviewStatusRoute = HttpRouter.add("POST", "/api/review/:issu
|
|
|
7788
7807
|
const workspaceInfo = getWorkspaceInfoForIssue(issueId);
|
|
7789
7808
|
if (workspaceInfo.exists && workspaceInfo.localPath) {
|
|
7790
7809
|
const localPath = workspaceInfo.localPath;
|
|
7791
|
-
const { getWorkspaceGitInfo } = yield* Effect.promise(() => import("./git-utils-
|
|
7810
|
+
const { getWorkspaceGitInfo } = yield* Effect.promise(() => import("./git-utils-D0_yhCgF.js"));
|
|
7792
7811
|
try {
|
|
7793
7812
|
const gitInfo = yield* getWorkspaceGitInfo(localPath);
|
|
7794
7813
|
if (gitInfo.HEAD) update.reviewedAtCommit = gitInfo.HEAD;
|
|
@@ -7803,7 +7822,7 @@ const postWorkspaceReviewStatusRoute = HttpRouter.add("POST", "/api/review/:issu
|
|
|
7803
7822
|
if (verificationStatus) update.verificationStatus = verificationStatus;
|
|
7804
7823
|
if (readyForMerge !== void 0) update.readyForMerge = readyForMerge;
|
|
7805
7824
|
const status = setReviewStatus(issueId, update);
|
|
7806
|
-
const { getTmuxSessionName } = yield* Effect.promise(() => import("./specialists-
|
|
7825
|
+
const { getTmuxSessionName } = yield* Effect.promise(() => import("./specialists-DM6bWjsi.js"));
|
|
7807
7826
|
const projectKey = resolveProjectFromIssueSync(issueId)?.projectKey;
|
|
7808
7827
|
if (reviewStatus && [
|
|
7809
7828
|
"passed",
|
|
@@ -7821,7 +7840,7 @@ const postWorkspaceReviewStatusRoute = HttpRouter.add("POST", "/api/review/:issu
|
|
|
7821
7840
|
const agentId = `agent-${issueId.toLowerCase()}`;
|
|
7822
7841
|
const feedbackBody = `CODE REVIEW ${reviewStatus.toUpperCase()} for ${issueId}:\n\n${reviewNotes}\n\n## REQUIRED: Fix ALL issues above, then invoke the /rebase-and-submit skill\n\n1. Read each blocking issue carefully\n2. Fix the code for EVERY issue listed\n3. Run tests locally to verify your fixes\n4. Commit every change\n5. Invoke the /rebase-and-submit skill for ${issueId} — this is an atomic task that runs pan done (which handles rebase + push + re-submit internally)\n\nDo NOT stop between steps. Do NOT run git push manually — the skill handles it. Do NOT stop until pan done has completed successfully.`;
|
|
7823
7842
|
try {
|
|
7824
|
-
const { writeFeedbackFile } = yield* Effect.promise(() => import("./feedback-writer-
|
|
7843
|
+
const { writeFeedbackFile } = yield* Effect.promise(() => import("./feedback-writer-D3a22RCd.js"));
|
|
7825
7844
|
const wsInfo = getWorkspaceInfoForIssue(issueId);
|
|
7826
7845
|
const fileResult = yield* Effect.promise(() => writeFeedbackFile({
|
|
7827
7846
|
issueId,
|
|
@@ -7885,7 +7904,7 @@ const postWorkspaceReviewStatusRoute = HttpRouter.add("POST", "/api/review/:issu
|
|
|
7885
7904
|
const agentId = `agent-${issueId.toLowerCase()}`;
|
|
7886
7905
|
const feedbackBody = `TESTS FAILED for ${issueId}:\n\n${testNotes}\n\n## REQUIRED: Fix ALL test failures, then invoke the /rebase-and-submit skill\n\n1. Read each test failure carefully\n2. Fix the code causing EVERY failure\n3. Run the test suite locally to verify your fixes pass\n4. Commit every change\n5. Invoke the /rebase-and-submit skill for ${issueId} — this is an atomic task that runs pan done (which handles rebase + push + re-submit internally)\n\nDo NOT stop between steps. Do NOT run git push manually — the skill handles it. Do NOT stop until pan done has completed successfully.`;
|
|
7887
7906
|
try {
|
|
7888
|
-
const { writeFeedbackFile } = yield* Effect.promise(() => import("./feedback-writer-
|
|
7907
|
+
const { writeFeedbackFile } = yield* Effect.promise(() => import("./feedback-writer-D3a22RCd.js"));
|
|
7889
7908
|
const wsInfo = getWorkspaceInfoForIssue(issueId);
|
|
7890
7909
|
const fileResult = yield* Effect.promise(() => writeFeedbackFile({
|
|
7891
7910
|
issueId,
|
|
@@ -7918,14 +7937,14 @@ const postWorkspaceReviewStatusRoute = HttpRouter.add("POST", "/api/review/:issu
|
|
|
7918
7937
|
});
|
|
7919
7938
|
yield* Effect.promise(async () => {
|
|
7920
7939
|
try {
|
|
7921
|
-
const { resolveProjectFromIssueSync, getProjectSync } = await import("./projects-
|
|
7940
|
+
const { resolveProjectFromIssueSync, getProjectSync } = await import("./projects-vjjcmiN8.js");
|
|
7922
7941
|
const project = resolveProjectFromIssueSync(issueId);
|
|
7923
7942
|
const repo = (project ? getProjectSync(project.projectKey) : null)?.github_repo;
|
|
7924
7943
|
if (!repo || !repo.includes("/")) return;
|
|
7925
7944
|
const [owner, name] = repo.split("/");
|
|
7926
7945
|
const wsInfo = getWorkspaceInfoForIssue(issueId);
|
|
7927
7946
|
if (!wsInfo?.localPath) return;
|
|
7928
|
-
const { postOverdeckTestsStatus } = await import("./github-app-
|
|
7947
|
+
const { postOverdeckTestsStatus } = await import("./github-app-ClZ2lk8D.js");
|
|
7929
7948
|
await postOverdeckTestsStatus(wsInfo.localPath, owner, name, "success", "Test specialist passed");
|
|
7930
7949
|
} catch (err) {
|
|
7931
7950
|
console.warn(`[review-status] Failed to post overdeck/tests for ${issueId}: ${err.message}`);
|
|
@@ -7967,7 +7986,7 @@ const postWorkspaceRefreshTokenRoute = HttpRouter.add("POST", "/api/workspaces/:
|
|
|
7967
7986
|
if (!parseIssueIdSync(issueId)) return jsonResponse({ error: "Invalid issue ID" }, { status: 400 });
|
|
7968
7987
|
const issueLower = issueId.toLowerCase();
|
|
7969
7988
|
const workspacePath = join(getProjectPath(void 0, extractPrefixSync(issueId) ?? issueId.split("-")[0]), "workspaces", `feature-${issueLower}`);
|
|
7970
|
-
const { refreshWorkspaceToken, isGitHubAppConfigured } = yield* Effect.promise(() => import("./github-app-
|
|
7989
|
+
const { refreshWorkspaceToken, isGitHubAppConfigured } = yield* Effect.promise(() => import("./github-app-ClZ2lk8D.js"));
|
|
7971
7990
|
if (!isGitHubAppConfigured()) return jsonResponse({
|
|
7972
7991
|
success: false,
|
|
7973
7992
|
error: "GitHub App not configured"
|
|
@@ -7982,4 +8001,4 @@ const workspacesRouteLayer = Layer.mergeAll(workspaceDataRouteLayer, postWorkspa
|
|
|
7982
8001
|
//#endregion
|
|
7983
8002
|
export { getWorkspacePathForIssue as C, stopAgentOutputService as E, resolveIssueHeadlineCost as S, startAgentOutputService as T, getCostsForIssueSync as _, pushApproveMain as a, processPendingFeedbackDeliveries as b, triggerMerge as c, resumeQueuedMerges as d, syncWalFromAllProjects as f, migrateAllSessionsSync as g, reclassifyUnknownCostEventsSync as h, mergeOpsRouteLayer as i, internalEventsRouteLayer as l, reconcilePiTranscripts as m, buildRichPRBody as n, reconcileGitHubMergeStatus as o, reconcile as p, isBranchAlreadyRebased as r, shouldBlockApproveForDirtyStatus as s, workspacesRouteLayer as t, eventsRouteLayer as u, rebuildCacheSync as v, retainAgentOutputInterest as w, getCachedRunningAgents as x, syncCacheSync as y };
|
|
7984
8003
|
|
|
7985
|
-
//# sourceMappingURL=workspaces-
|
|
8004
|
+
//# sourceMappingURL=workspaces-Do_9J0LQ.js.map
|