@overdeck/desktop 0.45.21 → 0.45.22
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-CJIFA8Vg.js → acceptance-criteria-BH7ac_1G.js} +2 -2
- package/server/{advancing-selfheal-CPOBO5ZS.js → advancing-selfheal-cSvXNZLZ.js} +6 -6
- package/server/{agent-gc-D6PUckBB.js → agent-gc-Dj2gncak.js} +4 -4
- package/server/{agent-state-BV_6RHnO.js → agent-state-Co5Sy2Fw.js} +1 -1
- package/server/{agent-state-service-DHwemt96.js → agent-state-service-CsQ07Pxe.js} +1 -1
- package/server/{agent-state-service-6MFQqnFy.js → agent-state-service-DistflNn.js} +5 -5
- package/server/{agents-DbrHWunF.js → agents-DXdHmRTC.js} +4 -4
- package/server/{agents-Czz6R57Z.js → agents-DyHKlq1I.js} +1 -1
- package/server/{archive-planning-BOnwJq8M.js → archive-planning-BvDuWNMo.js} +5 -5
- package/server/{archive-planning-MPpvQJL4.js → archive-planning-Cp_DC1j-.js} +1 -1
- package/server/{artifact-index-jobs-BOoySTKD.js → artifact-index-jobs-CDBFL4OU.js} +2 -2
- package/server/{backlog-auto-trigger-BUaFI44J.js → backlog-auto-trigger-DmA1IbYf.js} +3 -3
- package/server/{behavior-Dg-D8eBG.js → behavior-CGj16clS.js} +2 -2
- package/server/{briefing-freshness-OouGbJ7d.js → briefing-freshness-C12WgkaB.js} +2 -2
- package/server/{build-info-Cv6CI7Gu.js → build-info-BRpqQvNd.js} +1 -1
- package/server/{build-info-27NlbKhV.js → build-info-NU3KbXYw.js} +3 -3
- package/server/{checkpoint-manager-D64fCC4p.js → checkpoint-manager-CTPjAmtH.js} +2 -2
- package/server/{checkpoint-manager-C7mFCY_E.js → checkpoint-manager-rOgT98WY.js} +1 -1
- package/server/checkpoint-worker.js +1 -1
- package/server/{checkpoints-DwZqT2qQ.js → checkpoints-B5jFNi2G.js} +1 -1
- package/server/{checkpoints-Vh-J15ge.js → checkpoints-BJum14fs.js} +2 -2
- package/server/{claude-hooks-provision-CS5W_dhI.js → claude-hooks-provision-BhwWK-TQ.js} +1 -1
- package/server/{claude-hooks-provision-BVLGfHrv.js → claude-hooks-provision-D7p5WcKZ.js} +2 -2
- package/server/{claude-permissions-C2OrLYKL.js → claude-permissions-nSFKH78M.js} +2 -2
- package/server/{claude-settings-overlay-DX-fMFpC.js → claude-settings-overlay-BI_UIke0.js} +2 -2
- package/server/{claude-settings-overlay-DWXjafJh.js → claude-settings-overlay-DHBwjS1X.js} +1 -1
- package/server/cli-BRORS9qY.js +3 -0
- package/server/{cli-mvpEOb3w.js → cli-CbKNkFE5.js} +9 -9
- package/server/{cliproxy-Dvsr4ZkW.js → cliproxy-Brf_5MuG.js} +2 -2
- package/server/{cliproxy-7g1nObvB.js → cliproxy-bONZDBbC.js} +1 -1
- package/server/{close-issue-8F6uawYj.js → close-issue-CxReRxIc.js} +5 -5
- package/server/{closed-issue-reaper-BaYQYF6w.js → closed-issue-reaper-CQ3kqha7.js} +9 -9
- package/server/{closed-issue-reaper-BhV-r-tC.js → closed-issue-reaper-DXP2Xyv3.js} +1 -1
- package/server/{codex-D_UBEOwL.js → codex-CbmztVcc.js} +9 -6
- package/server/{codex-BBeZ8c3s.js → codex-DNyiQDKW.js} +1 -1
- package/server/{codex-parser-BTzlOZiV.js → codex-parser-jl8AeAmB.js} +2 -2
- package/server/{config-nAB_F-Gp.js → config-BJKocXKd.js} +1 -1
- package/server/{config-G1TOMJZA.js → config-DeTsoZdR.js} +2 -2
- package/server/{config-CrduXs4a.js → config-q4Gvd8dq.js} +2 -2
- package/server/{config-yaml-Ciyp2mYe.js → config-yaml-ig8Nwtiw.js} +124 -27
- package/server/{conflict-gate-BLUNMs1i.js → conflict-gate-CFqPVxEg.js} +3 -3
- package/server/{conflict-gate-BKalpcjL.js → conflict-gate-CHU9K1vU.js} +1 -1
- package/server/{context-layers-Cg9ZgVfx.js → context-layers-15gDOk20.js} +3 -3
- package/server/{context-layers-YNpf6Q_I.js → context-layers-DlQKkHH2.js} +2 -2
- package/server/{control-settings-D_79A6gp.js → control-settings-D_odMIaC.js} +4 -4
- package/server/{conversation-compaction-DiuZbIUB.js → conversation-compaction-B6YSRLda.js} +8 -8
- package/server/{conversation-compaction-CMIeWW4_.js → conversation-compaction-CN4-5YYt.js} +1 -1
- package/server/{conversation-service-DQybSPUK.js → conversation-service-C3avRVEr.js} +6 -6
- package/server/{conversation-service-CWk8mEym.js → conversation-service-Dq33SYEj.js} +1 -1
- package/server/{conversations-BJ-t3BRm.js → conversations-H9if0bCQ.js} +1 -1
- package/server/{conversations-BUgGvqVL.js → conversations-bYpM9-kZ.js} +4 -4
- package/server/{cost-Drm7qeD5.js → cost-Codk1pc2.js} +2 -2
- package/server/{cost-sync-DzHP6zaR.js → cost-sync-D_cre6WM.js} +3 -3
- package/server/{cost-jJ2cgDcG.js → cost-wH46-WsJ.js} +3 -3
- package/server/{dag-DIji6O2b.js → dag-CJpgf9A3.js} +2 -2
- package/server/{dangerous-git-ops-BebB-61h.js → dangerous-git-ops-D6AF-Hg_.js} +1 -1
- package/server/dashboard-db-worker.js +7 -7
- package/server/{deacon-pleYrvIm.js → deacon-B8HbQdqU.js} +3 -3
- package/server/{deacon-1s7bM5zn.js → deacon-CkT_kznS.js} +1377 -407
- package/server/{deacon-nudge-log-C5VCKtyi.js → deacon-nudge-log-D6K9K-rE.js} +3 -3
- package/server/{deacon-swarm-DmA3rJ7k.js → deacon-swarm-BryRr6AO.js} +13 -13
- package/server/deacon-swarm-CV54eNmU.js +2 -0
- package/server/deacon.js +8 -8
- package/server/{deploy-patrol-DmM6F-yw.js → deploy-patrol-1IrZxicY.js} +6 -6
- package/server/{deploy-window-ClLq1RYf.js → deploy-window-7ZYHh7Zp.js} +1 -1
- package/server/{deploy-window-jw4S_Y-c.js → deploy-window-wDf4UgHt.js} +6 -6
- package/server/{dev-supervisor-Do2Stz49.js → dev-supervisor-C7p9kEpc.js} +2 -2
- package/server/{devcontainer-renderer-D8ylupco.js → devcontainer-renderer-CNmQy0pL.js} +3 -3
- package/server/{dist-yfR7G1BL.js → dist-D-Ed5yVw.js} +1 -1
- package/server/dist-j64RzSrQ.js +3 -0
- package/server/{docker-ClwPQaba.js → docker-BCZ89M9X.js} +2 -2
- package/server/{dod-BLphkhjs.js → dod-DbJLYcHv.js} +1 -1
- package/server/{ensure-devcontainer-BA3bICoY.js → ensure-devcontainer-Cs6W9Yzj.js} +1 -1
- package/server/{ensure-devcontainer-CFpQatOc.js → ensure-devcontainer-V5JWaAva.js} +4 -4
- package/server/{esm-shims-BZw-fTQ6.js → esm-shims-dTeNdq7X.js} +1 -1
- package/server/{event-store-DABarGNz.js → event-store-CpBGsO6_.js} +1 -1
- package/server/{event-store-BVnON3vf.js → event-store-TnWdydfB.js} +3 -3
- package/server/{events-CmERlnwn.js → events-DSUdR-04.js} +3 -3
- package/server/{events-LGeUehYW.js → events-Dsuv6qyB.js} +1 -1
- package/server/{factory-CQNprtHe.js → factory-BMrK4TrE.js} +4 -4
- package/server/{feature-registry-population-D9Z3tYSa.js → feature-registry-population-B-CI9hgE.js} +4 -4
- package/server/{feature-registry-storage-BWymOgXE.js → feature-registry-storage-B972ph_A.js} +2 -2
- package/server/{features--fOza5g5.js → features-Bc-Bmiye.js} +2 -2
- package/server/{feedback-target-Dn9vfPpz.js → feedback-target-DS6NUuSs.js} +1 -1
- package/server/{feedback-target-Dqik2WTe.js → feedback-target-DZ-iAnAa.js} +7 -7
- package/server/{feedback-writer-Wlq5-qgS.js → feedback-writer-BXP6g75N.js} +4 -4
- package/server/{feedback-writer-DDQNV8uc.js → feedback-writer-Bx5z11mF.js} +1 -1
- package/server/{flywheel-DPUc8r3V.js → flywheel-6WHU4O7A.js} +14 -14
- package/server/{flywheel-1Wd8WDlh.js → flywheel-COR0mbRI.js} +12 -12
- package/server/{flywheel-Q-38YhZG.js → flywheel-Ctr5uuvo.js} +1 -1
- package/server/{flywheel-merge-order-CeBuX0EJ.js → flywheel-merge-order-CNKAY489.js} +1 -1
- package/server/{flywheel-merge-order-4SqOXFAr.js → flywheel-merge-order-CTgHeg-W.js} +7 -7
- package/server/forge-B0_opi-V.js +2 -0
- package/server/{forge-DBbDpiYc.js → forge-B1S_KZv4.js} +2 -2
- package/server/{from-hh6vTBGl.js → from-DpwQ-sc3.js} +1 -1
- package/server/{fts-db-6ponMie2.js → fts-db-DmAcuCkV.js} +2 -2
- package/server/{fts-operations-KIRK165y.js → fts-operations-7d_RkmWp.js} +2 -2
- package/server/git-utils-Cc3FHDKd.js +198 -0
- package/server/{git-utils-DmF5xkj8.js → git-utils-CsKGnzFA.js} +1 -1
- package/server/{github-app-B3yfECo8.js → github-app-CDPtGF7J.js} +2 -2
- package/server/{github-app-CeSVFL6C.js → github-app-CU14oYzP.js} +1 -1
- package/server/{github-client-4A6FgA8O.js → github-client-CwBZZ3t7.js} +1 -1
- package/server/{github-client-Dslipypz.js → github-client-XjTJbBm7.js} +2 -2
- package/server/{github-pr-lookup-DBP0YHMr.js → github-pr-lookup-CFGeVhqv.js} +2 -2
- package/server/harness-binary-B2CTcD84.js +106 -0
- package/server/{harness-resolve-BGpO-OVM.js → harness-resolve-D5FVQTmy.js} +9 -15
- package/server/{health-events-CnwV_SSz.js → health-events-C1whmd58.js} +1 -1
- package/server/{health-events-CZGZ5I-A.js → health-events-DREeevle.js} +2 -2
- package/server/{hooks-DvX33gY_.js → hooks-B-HItBiS.js} +1 -1
- package/server/{hooks-CoNscX84.js → hooks-yxRsjk-z.js} +2 -2
- package/server/hume-BmhvfVbV.js +3 -0
- package/server/{hume-DSJt5eA_.js → hume-Dz_OymXE.js} +2 -2
- package/server/{idle-stack-reaper-5DVRoY6P.js → idle-stack-reaper-DrCv0OAG.js} +1 -1
- package/server/{idle-stack-reaper-BfL8HqYy.js → idle-stack-reaper-Yf34xXxY.js} +2 -2
- package/server/{in-flight-guard-tVGiI5ee.js → in-flight-guard-BoWm66Kh.js} +2 -2
- package/server/{infra-DN2wSxle.js → infra-D4iNWMA5.js} +4 -4
- package/server/{injection-DK9zh_HL.js → injection-BVNa4MQW.js} +1 -1
- package/server/{injection-DtlT8Akv.js → injection-D7T75Pye.js} +7 -7
- package/server/{inspect-agent-DKByUS_F.js → inspect-agent-BXCgNeZ4.js} +13 -9
- package/server/inspect-agent-Dq0z1k3H.js +2 -0
- package/server/{internal-token-7bYL5v6K.js → internal-token-C9DdEOKY.js} +1 -1
- package/server/{internal-token-DhfFiwW7.js → internal-token-CXsfxslp.js} +2 -2
- package/server/{io-BiM-7Zsx.js → io-DQR9PMgS.js} +3 -3
- package/server/{issue-closed-Dfw3QDyZ.js → issue-closed-DtmJM0D0.js} +7 -7
- package/server/{issue-lifecycle-ytsEdDlK.js → issue-lifecycle-8PSS9Anq.js} +1 -1
- package/server/{issue-lifecycle-B7HZWnTA.js → issue-lifecycle-CeyW_HoD.js} +21 -21
- package/server/{issue-service-singleton-D5EB5eYr.js → issue-service-singleton-DBZabEl7.js} +1 -1
- package/server/{issue-service-singleton-CPESc4Or.js → issue-service-singleton-D_RVYBuL.js} +8 -8
- package/server/{issues-XYtFMxrH.js → issues-pDW9VUNz.js} +2 -2
- package/server/{jsonl-parser-DJV2eZUP.js → jsonl-parser-C3HVNR5d.js} +3 -3
- package/server/{label-cleanup-CJ4m8iRU.js → label-cleanup-DPwiZlWo.js} +3 -3
- package/server/{label-reconciler-CNf3Ylm3.js → label-reconciler-Df1ZduPH.js} +4 -4
- package/server/{launcher-generator-5DJRiovn.js → launcher-generator-COgR2By1.js} +6 -6
- package/server/{layers-cZx7ibtV.js → layers-Cp1To4L8.js} +2 -2
- package/server/{lifecycle-CE7619Xw.js → lifecycle-CtPDcZ9u.js} +6 -6
- package/server/{lifecycle-io-CUpsxG0p.js → lifecycle-io-DmY2qwCn.js} +1 -1
- package/server/{lifecycle-io-DMurK4oM.js → lifecycle-io-taIb0PoH.js} +4 -4
- package/server/{linear-client-BLyN-NiP.js → linear-client-DsFkIxee.js} +2 -2
- package/server/{linear-client-Bj1l4FOA.js → linear-client-YwZMDIwQ.js} +1 -1
- package/server/memory-fts-worker.js +1 -1
- package/server/{merge-CwX2_AWm.js → merge-BwsyNRJV.js} +1 -1
- package/server/{merge-hSC2BENe.js → merge-C1t-bspg.js} +3 -3
- package/server/{merge-agent-CnORPiri.js → merge-agent-B-SnXOoc.js} +1 -1
- package/server/{merge-agent-DnBsms_V.js → merge-agent-DDiIjzk-.js} +369 -213
- package/server/{merge-batch-C2w2U2eK.js → merge-batch-Byt-QnEl.js} +1 -1
- package/server/{merge-blockers-DhRgh76x.js → merge-blockers-BYjeXrVN.js} +2 -2
- package/server/merge-ops-DwWCkSgo.js +2 -0
- package/server/{merge-rebase-CE-ZyOMY.js → merge-rebase-Cm6fXaZN.js} +2 -2
- package/server/{merge-set-DHkzPCJU.js → merge-set-6LEglm6o.js} +1 -1
- package/server/{merge-set-D7YNU1ZB.js → merge-set-DiISXcC-.js} +3 -3
- package/server/{merge-sync-CpGA9Kg7.js → merge-sync-B95_4in_.js} +1 -1
- package/server/{merge-sync-De1FYva5.js → merge-sync-Do8_q32h.js} +2 -2
- package/server/{merge-train-SvkRJZ-k.js → merge-train-CKana8EH.js} +3 -3
- package/server/{merge-train-deps-CECJTElu.js → merge-train-deps-BgmqwIfA.js} +4 -4
- package/server/{merge-verification-B3meGcXF.js → merge-verification-CqnUzGEK.js} +4 -4
- package/server/{multipart-parser-ByTMgYV5.js → multipart-parser-tdOQDJ3o.js} +2 -2
- package/server/{no-resume-mode-BnInAFKs.js → no-resume-mode-BWOSZjWd.js} +1 -1
- package/server/node_modules/.package-lock.json +5 -5
- package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/README.md +3 -3
- package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeChildProcessSpawner.d.ts.map +1 -1
- package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeChildProcessSpawner.js +2 -2
- package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeChildProcessSpawner.js.map +1 -1
- package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/package.json +5 -5
- package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/src/NodeChildProcessSpawner.ts +6 -8
- package/server/{orphan-proposed-reconciler-CAfuWTA1.js → orphan-proposed-reconciler-DSvsJ5M7.js} +1 -1
- package/server/{orphan-proposed-reconciler-AxAGUouN.js → orphan-proposed-reconciler-xklgvNA7.js} +19 -12
- package/server/package-lock.json +6 -6
- package/server/package.json +1 -1
- package/server/{pan-dir-Rw17YjT1.js → pan-dir-DOcf6ug3.js} +4 -4
- package/server/{paths-FP8v3lTz.js → paths-DooHpt9p.js} +2 -2
- package/server/{pickup-xi3KTLaJ.js → pickup-CaskQ7j6.js} +2 -2
- package/server/{pipeline-membership-BtKMNY7v.js → pipeline-membership-1LGRjo-k.js} +11 -8
- package/server/{pipeline-notifier-BM2HLF7B.js → pipeline-notifier-B6FVsYF9.js} +2 -2
- package/server/{pipeline-notifier-dQ-U4NSb.js → pipeline-notifier-CZsrU_nj.js} +1 -1
- package/server/{project-pipelines-B59NfN44.js → project-pipelines-CtNG_rvs.js} +2 -2
- package/server/projects-BKkwpH6q.js +3 -0
- package/server/{prompts-CbqaVjbe.js → prompts-EvhMeeHG.js} +2 -2
- package/server/{providers-d3pwXGVE.js → providers-BDDPULlp.js} +7 -7
- package/server/providers-DNSQqy2V.js +3 -0
- package/server/public/assets/{chunk-BO2N2NFS-BxYSL7J-.js → chunk-BO2N2NFS-sym_ufXe.js} +4 -4
- package/server/public/assets/{diagram-OG6HWLK6-C_F9Q2as.js → diagram-OG6HWLK6-CQJPBNBu.js} +1 -1
- package/server/public/assets/{dist-DQNg4CiF.js → dist-Bio7THQU.js} +1 -1
- package/server/public/assets/{dist-CLSlc6cV.js → dist-DukGS2YZ.js} +3 -3
- package/server/public/assets/{ganttDiagram-6RSMTGT7-Cq0my-0C.js → ganttDiagram-6RSMTGT7-D4lWwte3.js} +1 -1
- package/server/public/assets/{highlighted-body-OFNGDK62-eZC03dGh.js → highlighted-body-OFNGDK62-CaLboCt5.js} +1 -1
- package/server/public/assets/{index-C6NLz_1S.css → index-Bdc4V9ba.css} +1 -1
- package/server/public/assets/{index-SLYGA8AQ.js → index-Bwejq-5s.js} +147 -145
- package/server/public/assets/{linear-6Fi3qnGg.js → linear-qUWmMZ-c.js} +1 -1
- package/server/public/assets/mermaid-GHXKKRXX-B5v_r7cI.js +1 -0
- package/server/public/assets/{pieDiagram-4H26LBE5-Dpmc6xsv.js → pieDiagram-4H26LBE5-C4zYulEm.js} +1 -1
- package/server/public/assets/{prod-ojHllFvN.js → prod-C8VtLuWC.js} +4 -4
- package/server/public/assets/{quadrantDiagram-W4KKPZXB-Ulr9gON5.js → quadrantDiagram-W4KKPZXB-qP04zyZC.js} +1 -1
- package/server/public/assets/{sankeyDiagram-5OEKKPKP-CwdHGXfL.js → sankeyDiagram-5OEKKPKP-eMPTX_cG.js} +1 -1
- package/server/public/assets/{xychartDiagram-2RQKCTM6-r-bEDzJh.js → xychartDiagram-2RQKCTM6-Dme1PIt6.js} +1 -1
- package/server/public/index.html +54 -10
- package/server/{pull-requests-CjjPj7v6.js → pull-requests-8z2N1UOV.js} +3 -3
- package/server/{pull-requests-D3N6HQzI.js → pull-requests-By_BteaL.js} +1 -1
- package/server/{queries-B5hl7lMQ.js → queries-ZABd5aXP.js} +95 -71
- package/server/rally-OSJXdiHK.js +3 -0
- package/server/{rally-api-DGaFz5L5.js → rally-api-DqKqIMNR.js} +2 -2
- package/server/{rally-api-CKr0O4DJ.js → rally-api-xHazRk0d.js} +1 -1
- package/server/{rally-client-Cqf6EX_r.js → rally-client-CGWEHaPd.js} +1 -1
- package/server/{rally-client-SVbjGvqj.js → rally-client-COYz1vYR.js} +4 -4
- package/server/{rally-Dp0Gb1DN.js → rally-i_goYmiA.js} +3 -3
- package/server/reap-terminal-sessions-CaMkFOIH.js +4 -0
- package/server/{reap-terminal-sessions-CjqRAGw7.js → reap-terminal-sessions-DG9eiMVz.js} +11 -28
- package/server/{rebuild-stack-DjdpALr1.js → rebuild-stack-CKjJAI8L.js} +1 -1
- package/server/{rebuild-stack-DHqCLvLX.js → rebuild-stack-JUm0jqYP.js} +6 -6
- package/server/{reconstruct-cache-BqrCQt0o.js → reconstruct-cache-wU79aCee.js} +6 -6
- package/server/record-rwK-nKv_.js +3 -0
- package/server/{record-update-RviRDSNs.js → record-update-Crz74r-6.js} +2 -2
- package/server/{record-update-BlB8mpKO.js → record-update-D3N6WMFR.js} +1 -1
- package/server/{recovery-trip-l1Hsi37x.js → recovery-trip-DkzJSej9.js} +2 -2
- package/server/{release-engine-CSI4K6Oj.js → release-engine-DMINVN8S.js} +5 -5
- package/server/{release-set-BywwggrE.js → release-set-DeUSOEHy.js} +3 -3
- package/server/{remote-DYziAkiZ.js → remote-Dr5kGYSZ.js} +3 -3
- package/server/{remote-agents-CZ2rc8I0.js → remote-agents-Ct_WOyke.js} +6 -6
- package/server/{remote-agents-BNORDWAX.js → remote-agents-D6O_zETW.js} +1 -1
- package/server/{remote-cnoeuDWn.js → remote-b-c5bOce.js} +3 -3
- package/server/{remote-completion-W67FNQ-A.js → remote-completion-Dca3hAaa.js} +13 -13
- package/server/resume-wZZsWtzz.js +3 -0
- package/server/{review-agent-CSswH985.js → review-agent-CCum8sGe.js} +1 -1
- package/server/{review-agent-CqSqSHkU.js → review-agent-CThvgK2r.js} +23 -23
- package/server/{review-artifacts-BBgnd5df.js → review-artifacts-CXywD0F2.js} +5 -5
- package/server/{review-context-Ctp9BdNJ.js → review-context-OYfKUprb.js} +8 -8
- package/server/{review-status-DXeqFpk5.js → review-status-Bnh-rdkY.js} +1 -1
- package/server/{review-status-CCgPVK1h.js → review-status-DFRjDFef.js} +21 -37
- package/server/{review-status-enrichment-DtDRGpst.js → review-status-enrichment-crNAtIpL.js} +3 -3
- package/server/review-status-source-CxuEjLGg.js +39 -0
- package/server/{review-status-sync-C792ksoJ.js → review-status-sync-D60PJWNL.js} +1 -1
- package/server/{review-status-sync-jnLgd04F.js → review-status-sync-DpAMD_WO.js} +2 -2
- package/server/{review-verdict-feedback-CMsIpTpy.js → review-verdict-feedback-CpUZl5aE.js} +7 -7
- package/server/{review-verdict-feedback-D5lW0o3k.js → review-verdict-feedback-JImjut0z.js} +1 -1
- package/server/{rollup-B3kQmNpl.js → rollup-CZ02qgxk.js} +1 -1
- package/server/{rollup-CLj_AK9f.js → rollup-SyuF09e4.js} +8 -8
- package/server/{scanner-C4NeC4FE.js → scanner-Br0Z5S6R.js} +7 -7
- package/server/{sequence-io-Ce-6grIY.js → sequence-io-fxU0DlwW.js} +4 -4
- package/server/{sequencer-agent-Bpz0yGmG.js → sequencer-agent-B5YC5XVP.js} +5 -5
- package/server/server.js +583 -387
- package/server/{service-CqAY8Kmk.js → service-Bagb90KZ.js} +150 -47
- package/server/{session-fork-uNo4rMRA.js → session-fork-BqQxd-V6.js} +2 -2
- package/server/{session-history-DUehL3KN.js → session-history-XdS0JKp3.js} +4 -4
- package/server/{settings-DP2OYLXL.js → settings-BNbocWOg.js} +3 -3
- package/server/settings-BlUsVaUc.js +2 -0
- package/server/{settings-D9grjmaP.js → settings-uLc6DEYI.js} +2 -2
- package/server/{shadow-engineering-Bi_oIMtF.js → shadow-engineering-D4X_s3fA.js} +3 -3
- package/server/{shadow-state-a_ztFBJe.js → shadow-state-C_NkP-sa.js} +2 -2
- package/server/{shadow-state-CDxEuPlE.js → shadow-state-CbvsN3qG.js} +1 -1
- package/server/{shadow-utils-CyOg6_Xq.js → shadow-utils-CYMRPeRT.js} +2 -2
- package/server/{ship-log-DDcueaIR.js → ship-log-__QtAFXG.js} +1 -1
- package/server/{smart-compaction--Oj65Uov.js → smart-compaction-CLZOWin1.js} +7 -7
- package/server/{smart-compaction-C1_VVLEd.js → smart-compaction-jdMkG1vo.js} +1 -1
- package/server/{spawn-planning-session-LFtK2QCE.js → spawn-planning-session-8D6mE033.js} +1 -1
- package/server/{spawn-planning-session-AiUSsBnH.js → spawn-planning-session-D5OXo8pT.js} +19 -15
- package/server/{specialist-completion-qOgqdqXH.js → specialist-completion-CqmduO92.js} +1 -1
- package/server/{specialist-context-gjj8Z4Ii.js → specialist-context-CJ-QjFR-.js} +5 -5
- package/server/{specialist-handoff-logger-BsBNvVZv.js → specialist-handoff-logger-Dnjlwt7g.js} +2 -2
- package/server/{specialist-logs-CSLtvPx6.js → specialist-logs-CQnKzuZs.js} +3 -3
- package/server/{specialists-DAegTvRt.js → specialists-Bg9v4z3F.js} +122 -94
- package/server/{specialists-CYRwELzc.js → specialists-CwZHb5cb.js} +18 -18
- package/server/{specialists-D0VBf8g_.js → specialists-D0gGXMZx.js} +1 -1
- package/server/{specialists-C6WkeKFK.js → specialists-Dqe6_HE5.js} +1 -1
- package/server/specs-BhOKBzqk.js +3 -0
- package/server/{src-OLoJhUiJ.js → src-BMMoA_ba.js} +6 -6
- package/server/{src-BqTcrfO_.js → src-Bqdtd6po.js} +3 -3
- package/server/{src-Dpq1yFIl.js → src-k039WVYY.js} +337 -4
- package/server/{stack-health-I713ELld.js → stack-health-Bd06frFn.js} +1 -1
- package/server/{stack-health-DV_f-lK0.js → stack-health-C-ifC7b0.js} +2 -2
- package/server/{stale-task-claims-CQSKZVq0.js → stale-task-claims-L7pJkQFL.js} +4 -4
- package/server/{staleness-BbsGxmF2.js → staleness-BID1BKdr.js} +1 -1
- package/server/{staleness-zGp4P1hd.js → staleness-_Tr-GwdA.js} +1 -1
- package/server/{state-home-DixkE-up.js → state-home-CONQvZR0.js} +36 -23
- package/server/state-migrate-BeBW0KXA.js +478 -0
- package/server/{stuck-remediation-BWkK_O7A.js → stuck-remediation-CKnIryGT.js} +20 -18
- package/server/{stuck-remediation-CTPRC2S5.js → stuck-remediation-CsGD5Ksb.js} +1 -1
- package/server/{substrate-bug-weights-service-DXd0ID83.js → substrate-bug-weights-service-CpIZILj9.js} +3 -3
- package/server/{summary-fork-CdLn8Chr.js → summary-fork-agEMsPSo.js} +2 -2
- package/server/{summary-fork-f3DpgjXh.js → summary-fork-bX6ax6X7.js} +8 -8
- package/server/supervisor-COVHrBTg.js +2 -0
- package/server/{supervisor-Ch8CDuoF.js → supervisor-Ctt4eRYz.js} +3 -3
- package/server/{swarm-readiness-C9P2iPap.js → swarm-readiness-DdmJVX7y.js} +3 -3
- package/server/{system-prerequisites-DkoQBn1q.js → system-prerequisites-DSXBvffY.js} +24 -44
- package/server/{teardown-workspace-D-5yMyit.js → teardown-workspace-DDCf5n-a.js} +15 -15
- package/server/{test-agent-queue-BwpUpu-o.js → test-agent-queue-BJZ9Nfcc.js} +6 -6
- package/server/{test-verdict-BRiSu7eW.js → test-verdict-Cp5tljlJ.js} +1 -1
- package/server/{test-verdict-BQ1yx7d4.js → test-verdict-D_-sXIz_.js} +1 -1
- package/server/{tldr-daemon-BJA7TkqS.js → tldr-daemon-B8_oT5gx.js} +1 -1
- package/server/{tldr-daemon-DjxP5g6Y.js → tldr-daemon-BQFmmFp0.js} +2 -2
- package/server/{tmux-HQLgwo_C.js → tmux-BAvtac_u.js} +1 -1
- package/server/{tmux-y1blSxks.js → tmux-L5LgvGLp.js} +2 -2
- package/server/{token-LUrbM9sU.js → token-BkQLy4yS.js} +2 -2
- package/server/token-util-BArZLN6w.js +3 -0
- package/server/{token-util-BZaDAQ8S.js → token-util-DI8sGlmF.js} +1 -1
- package/server/{tracker-config-DSFZBdXP.js → tracker-config-DdT-nUAM.js} +2 -2
- package/server/{tracker-utils-DiceZN3a.js → tracker-utils-CawsPSS2.js} +2 -2
- package/server/{tracker-utils-WtP_V-yn.js → tracker-utils-DV3h1FYG.js} +1 -1
- package/server/{traefik-connect-BXqfOP4-.js → traefik-connect-C6mJckNs.js} +1 -1
- package/server/{tunnel-WcJImbAC.js → tunnel-BIFl98rc.js} +1 -1
- package/server/{tunnel-DTng1rfQ.js → tunnel-IdK1iTHx.js} +3 -3
- package/server/{types-BjaZ1oqH.js → types-7-GnJn0t.js} +1 -1
- package/server/{types-DqeBMmJN.js → types-hraoaQIp.js} +1 -1
- package/server/{uat-train-Wismge7h.js → uat-train-0Ujk8GCv.js} +1 -1
- package/server/{uat-train-BpLnp7Cx.js → uat-train-j0cPeMSj.js} +25 -25
- package/server/{validation-BA4e5EGm.js → validation-CabEISJT.js} +4 -4
- package/server/{validation-CUWamZ4X.js → validation-DcAgXTQp.js} +1 -1
- package/server/{verification-artifact-Dr_0g9nb.js → verification-artifact-BuTA1QbL.js} +1 -1
- package/server/{verification-artifact-CrbI4tJE.js → verification-artifact-Ck1tefmz.js} +1 -1
- package/server/{verification-runner-Dcksl_P-.js → verification-runner-DlJezzef.js} +1 -1
- package/server/{verification-runner-gAzh3cVD.js → verification-runner-FiuAZ-H2.js} +15 -14
- package/server/{vtt-parser-3VZKsmSm.js → vtt-parser-BnRsYzcz.js} +1 -1
- package/server/{work-agent-prompt-ULdcANl5.js → work-agent-prompt-DLthEPAq.js} +12 -11
- package/server/{workflows-B8ROFlfw.js → workflows-BZNNYkGC.js} +18 -18
- package/server/workflows-C4mR0Reb.js +2 -0
- package/server/{workspace-DSjUJaJN.js → workspace-3IC-UkAi.js} +1 -1
- package/server/{workspace-DhTDA8nB.js → workspace-D9ppycdg.js} +3 -3
- package/server/{workspace-config-BAAsAv-o.js → workspace-config-Bigl_-Lk.js} +1 -1
- package/server/{workspace-manager-CcujONCR.js → workspace-manager-B1WOfKvB.js} +1 -1
- package/server/{workspace-manager-DsN52IMG.js → workspace-manager-ClkCIWTe.js} +13 -13
- package/server/{workspace-metadata-CftOpNLs.js → workspace-metadata-BE0efUv_.js} +1 -1
- package/server/{workspace-metadata-DIL5_U4c.js → workspace-metadata-tiSRIWJP.js} +2 -2
- package/server/{workspaces-Dmlh1YXm.js → workspaces-CFPcL0vl.js} +96 -96
- package/sync-sources/skills/pan-start/SKILL.md +23 -0
- package/server/cli-ChErG518.js +0 -3
- package/server/deacon-swarm-uudlSCLM.js +0 -2
- package/server/dist-BEDL2alY.js +0 -3
- package/server/forge-DbhJyH6u.js +0 -2
- package/server/git-utils-Bkxzr1Xf.js +0 -129
- package/server/hume-BrA1tUuk.js +0 -3
- package/server/inspect-agent-CyXNo9fM.js +0 -2
- package/server/merge-ops-BpTtuO8x.js +0 -2
- package/server/projects-IRHJIPYC.js +0 -3
- package/server/providers-BqCdTryq.js +0 -3
- package/server/public/assets/mermaid-GHXKKRXX-BNwFoQsf.js +0 -1
- package/server/rally-DGimSRBQ.js +0 -3
- package/server/reap-terminal-sessions-C1mfzoZo.js +0 -3
- package/server/record-us0YECMO.js +0 -3
- package/server/resume-OyN3dEXE.js +0 -3
- package/server/settings-BaPXXJsT.js +0 -2
- package/server/specs-BsNcum0h.js +0 -3
- package/server/state-migrate-_zJJ6XKE.js +0 -362
- package/server/supervisor-Qy1QecAs.js +0 -2
- package/server/token-util-Cg-QnowA.js +0 -3
- package/server/workflows-C5c-RPsY.js +0 -2
|
@@ -1,44 +1,44 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { d as rejectUnsafeDashboardMutationRequest, ht as getHeaderFromMap, it as getWorkAgentLifecycleStateSync, l as rejectUnauthorizedDashboardRequest, n as _serverManagedMerges, ot as spawnPanCli, xt as jsonResponse, yt as httpHandler } from "./specialists-
|
|
1
|
+
import { Dn as extractTeamPrefix, Hn as init_projects, In as getProjectSync, Kn as listProjectsSync, Sr as GitError, Xr as encodeClaudeProjectDir, dr as extractPrefixSync, fr as init_issue_id, gr as resolveIssueIdSync, hn as isStatePlaneOnlyStatus, ii as init_paths, jn as findProjectByTeamSync, jr as init_errors, mn as init_state_plane, mr as parseIssueIdSync, nr as resolveProjectFromIssueSync, ri as getOverdeckHome, t as init_config_yaml, tt as resolveModel, ur as extractNumberSync, xr as FsError } from "./config-yaml-ig8Nwtiw.js";
|
|
2
|
+
import { d as rejectUnsafeDashboardMutationRequest, ht as getHeaderFromMap, it as getWorkAgentLifecycleStateSync, l as rejectUnauthorizedDashboardRequest, n as _serverManagedMerges, ot as spawnPanCli, xt as jsonResponse, yt as httpHandler } from "./specialists-Bg9v4z3F.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 { V as sessionExists, X as buildChildEnvWithoutTmuxSync, Z as init_child_env, i as capturePane, j as listSessionNames, w as init_tmux } from "./tmux-
|
|
6
|
-
import { a as init_event_store, n as getEventStore } from "./event-store-
|
|
7
|
-
import { _ as setDeaconIgnored, c as init_review_status, f as markWorkspaceStuck, g as setAutoMerge, s as getReviewStatusSync, u as loadReviewStatuses, y as setReviewStatusSync } 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 { L as messageAgent, Nt as transitionIssueToInReview, X as spawnAgent, fr as saveAgentRuntimeState, i as listRunningAgents, kn as getAgentState, s as init_agents, ur as getAgentRuntimeStateSync } from "./queries-
|
|
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-
|
|
15
|
-
import { a as PAN_DIRNAME, i as PAN_CONTINUE_FILENAME, p as init_types } from "./types-
|
|
16
|
-
import { o as init_merge_sync, r as getAllActiveQueues } from "./merge-sync-
|
|
17
|
-
import { A as init_vbrief_index, M as readVBriefDocument, _ as VBRIEF_INSPECTION_POLICIES, c as mergeRecordStatusOverrides, k as findVBriefByIssue, 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 { i as normalizeModelOverrideSync, r as init_model_validation } from "./launcher-generator-
|
|
20
|
-
import { f as init_config, m as loadConfigSync$1 } from "./config-
|
|
21
|
-
import { a as init_stack_health, i as getWorkspaceStackHealth, n as collectDockerContainerLifecycleSnapshot } from "./stack-health-
|
|
22
|
-
import { a as criticalPath, l as init_dag, t as actionableDoc } from "./dag-
|
|
23
|
-
import { a as readEventsFromLineSync, i as init_events, l as init_wal, o as readEventsSync, r as getLastEventMetadataSync, t as appendCostEventSync } from "./events-
|
|
24
|
-
import { n as getContainersReferencingWorkspacePath, r as init_workspace_manager } from "./workspace-manager-
|
|
25
|
-
import { r as init_devcontainer_renderer, t as DEVCONTAINER_DIRNAME } from "./devcontainer-renderer-
|
|
26
|
-
import { a as init_jsonl_parser, t as getActiveSessionModelSync } from "./jsonl-parser-
|
|
27
|
-
import { r as init_in_flight_guard, t as createInFlightGuard } from "./in-flight-guard-
|
|
28
|
-
import { i as findWorkspacePath, o as init_archive_planning } from "./archive-planning-
|
|
29
|
-
import { E as verifyAppCanMerge, f as init_github_app, m as isIntegrationPermissionError } from "./github-app-
|
|
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 { n as init_rebuild_stack, t as composeProjectNameForWorkspace } from "./rebuild-stack-
|
|
4
|
+
import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-D4iNWMA5.js";
|
|
5
|
+
import { V as sessionExists, X as buildChildEnvWithoutTmuxSync, Z as init_child_env, i as capturePane, j as listSessionNames, w as init_tmux } from "./tmux-L5LgvGLp.js";
|
|
6
|
+
import { a as init_event_store, n as getEventStore } from "./event-store-TnWdydfB.js";
|
|
7
|
+
import { _ as setDeaconIgnored, c as init_review_status, f as markWorkspaceStuck, g as setAutoMerge, s as getReviewStatusSync, u as loadReviewStatuses, y as setReviewStatusSync } from "./review-status-DFRjDFef.js";
|
|
8
|
+
import { _ as init_queue_position, a as EventStoreService, g as findPositionInQueueSync, h as computeQueuePositionFromStatusSync, s as init_domain_services } from "./issue-lifecycle-CeyW_HoD.js";
|
|
9
|
+
import { o as getPricingSync, s as init_cost, t as calculateCostSync } from "./cost-Codk1pc2.js";
|
|
10
|
+
import { L as messageAgent, Nt as transitionIssueToInReview, X as spawnAgent, fr as saveAgentRuntimeState, i as listRunningAgents, kn as getAgentState, s as init_agents, ur as getAgentRuntimeStateSync } from "./queries-ZABd5aXP.js";
|
|
11
|
+
import { f as CostWriter, l as CostDoorLive } from "./service-Bagb90KZ.js";
|
|
12
|
+
import { a as init_tracker_config, t as getGitHubConfig } from "./tracker-config-DdT-nUAM.js";
|
|
13
|
+
import { i as resolveGitHubIssueSync, n as init_tracker_utils } from "./tracker-utils-CawsPSS2.js";
|
|
14
|
+
import { o as getInternalTokenSync, s as init_internal_token, t as INTERNAL_TOKEN_HEADER } from "./internal-token-CXsfxslp.js";
|
|
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-Do8_q32h.js";
|
|
17
|
+
import { A as init_vbrief_index, M as readVBriefDocument, _ as VBRIEF_INSPECTION_POLICIES, c as mergeRecordStatusOverrides, k as findVBriefByIssue, o as init_io, r as findPlan, s as isPlanningComplete, u as readPlan, v as init_types$1 } from "./io-DQR9PMgS.js";
|
|
18
|
+
import { it as findConversationForCostSessionSync, k as init_conversations } from "./conversations-bYpM9-kZ.js";
|
|
19
|
+
import { i as normalizeModelOverrideSync, r as init_model_validation } from "./launcher-generator-COgR2By1.js";
|
|
20
|
+
import { f as init_config, m as loadConfigSync$1 } from "./config-q4Gvd8dq.js";
|
|
21
|
+
import { a as init_stack_health, i as getWorkspaceStackHealth, n as collectDockerContainerLifecycleSnapshot } from "./stack-health-C-ifC7b0.js";
|
|
22
|
+
import { a as criticalPath, l as init_dag, t as actionableDoc } from "./dag-CJpgf9A3.js";
|
|
23
|
+
import { a as readEventsFromLineSync, i as init_events, l as init_wal, o as readEventsSync, r as getLastEventMetadataSync, t as appendCostEventSync } from "./events-DSUdR-04.js";
|
|
24
|
+
import { n as getContainersReferencingWorkspacePath, r as init_workspace_manager } from "./workspace-manager-ClkCIWTe.js";
|
|
25
|
+
import { r as init_devcontainer_renderer, t as DEVCONTAINER_DIRNAME } from "./devcontainer-renderer-CNmQy0pL.js";
|
|
26
|
+
import { a as init_jsonl_parser, t as getActiveSessionModelSync } from "./jsonl-parser-C3HVNR5d.js";
|
|
27
|
+
import { r as init_in_flight_guard, t as createInFlightGuard } from "./in-flight-guard-BoWm66Kh.js";
|
|
28
|
+
import { i as findWorkspacePath, o as init_archive_planning } from "./archive-planning-BvDuWNMo.js";
|
|
29
|
+
import { E as verifyAppCanMerge, f as init_github_app, m as isIntegrationPermissionError } from "./github-app-CDPtGF7J.js";
|
|
30
|
+
import { a as loadWorkspaceMetadataSync, i as listWorkspaceMetadataSync } from "./workspace-metadata-tiSRIWJP.js";
|
|
31
|
+
import { n as enrichReviewStatusFromSessions } from "./review-status-enrichment-crNAtIpL.js";
|
|
32
|
+
import { n as generateDailySummary, r as init_cli } from "./cli-CbKNkFE5.js";
|
|
33
|
+
import { a as getDiffStat, i as getDiffBase, o as init_review_context, r as getChangedFiles } from "./review-context-OYfKUprb.js";
|
|
34
|
+
import { n as getTldrDaemonServiceSync, r as init_tldr_daemon } from "./tldr-daemon-BQFmmFp0.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-DDiIjzk-.js";
|
|
36
|
+
import { F as enqueueMerge, I as getAllActiveQueues$1, L as getCurrentMerge, P as dequeueMerge, z as markMergeProcessing } from "./merge-C1t-bspg.js";
|
|
37
|
+
import { n as init_release_set, t as getReleaseSetSync } from "./release-set-DeUSOEHy.js";
|
|
38
|
+
import { i as init_conflict_gate, r as getCachedConflictGateMergeability } from "./conflict-gate-CFqPVxEg.js";
|
|
39
|
+
import { r as runVerificationForIssue } from "./verification-runner-FiuAZ-H2.js";
|
|
40
|
+
import { t as teardownWorkspace } from "./teardown-workspace-DDCf5n-a.js";
|
|
41
|
+
import { n as init_rebuild_stack, t as composeProjectNameForWorkspace } from "./rebuild-stack-JUm0jqYP.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";
|
|
@@ -775,7 +775,7 @@ const postWorkspaceContainerActionRoute = HttpRouter.add("POST", "/api/workspace
|
|
|
775
775
|
}
|
|
776
776
|
if (!workspacePath) return jsonResponse({ error: `Workspace not found for ${issueId}` }, { status: 404 });
|
|
777
777
|
if (!composeFile && ["start", "restart"].includes(action)) {
|
|
778
|
-
const { ensureDevcontainerSync } = yield* Effect.promise(() => import("./ensure-devcontainer-
|
|
778
|
+
const { ensureDevcontainerSync } = yield* Effect.promise(() => import("./ensure-devcontainer-Cs6W9Yzj.js"));
|
|
779
779
|
if (ensureDevcontainerSync({
|
|
780
780
|
workspacePath,
|
|
781
781
|
issueId
|
|
@@ -2823,7 +2823,7 @@ async function reconcileGitHubMergeStatus(issueId, status) {
|
|
|
2823
2823
|
const prRef = parseGitHubPullRequestUrl(status.prUrl);
|
|
2824
2824
|
if (!prRef) return false;
|
|
2825
2825
|
try {
|
|
2826
|
-
const { getPullRequestState, isGitHubAppConfigured } = await import("./github-app-
|
|
2826
|
+
const { getPullRequestState, isGitHubAppConfigured } = await import("./github-app-CU14oYzP.js");
|
|
2827
2827
|
if (!isGitHubAppConfigured()) return false;
|
|
2828
2828
|
const prState = await Effect.runPromise(getPullRequestState(prRef.owner, prRef.repo, prRef.number));
|
|
2829
2829
|
console.log(`[merge] reconcileGitHubMergeStatus: ${issueId} PR #${prRef.number} merged=${prState.merged} state=${prState.state}`);
|
|
@@ -3090,8 +3090,8 @@ async function triggerMerge(issueId, request = { kind: "normal" }) {
|
|
|
3090
3090
|
try {
|
|
3091
3091
|
if (request.kind === "normal" && workspaceInfo.isRemote && workspaceInfo.vmName) {
|
|
3092
3092
|
console.log(`[merge] Remote workspace detected for ${issueId}, using review artifact merge...`);
|
|
3093
|
-
const { getMergeSetSync, ensureMergeSetForIssueSync } = await import("./merge-set-
|
|
3094
|
-
const { getForgeAdapter } = await import("./forge-
|
|
3093
|
+
const { getMergeSetSync, ensureMergeSetForIssueSync } = await import("./merge-set-6LEglm6o.js");
|
|
3094
|
+
const { getForgeAdapter } = await import("./forge-B0_opi-V.js");
|
|
3095
3095
|
const remotePrimaryRepo = (getMergeSetSync(issueId) || ensureMergeSetForIssueSync(issueId))?.repos[0];
|
|
3096
3096
|
const remoteTargetBranch = remotePrimaryRepo?.targetBranch || "main";
|
|
3097
3097
|
const remoteForge = remotePrimaryRepo?.forge || "github";
|
|
@@ -3127,7 +3127,7 @@ async function triggerMerge(issueId, request = { kind: "normal" }) {
|
|
|
3127
3127
|
...mergeCompletionStatus(request)
|
|
3128
3128
|
});
|
|
3129
3129
|
completePendingOperation(issueId, null);
|
|
3130
|
-
const { postMergeLifecycle } = await import("./merge-agent-
|
|
3130
|
+
const { postMergeLifecycle } = await import("./merge-agent-B-SnXOoc.js");
|
|
3131
3131
|
await postMergeLifecycle(issueId, projectPath);
|
|
3132
3132
|
return {
|
|
3133
3133
|
success: true,
|
|
@@ -3164,10 +3164,10 @@ async function triggerMerge(issueId, request = { kind: "normal" }) {
|
|
|
3164
3164
|
const projectConfig = findProjectByTeamSync(issuePrefix);
|
|
3165
3165
|
if (projectConfig?.workspace?.type === "polyrepo" && projectConfig?.workspace?.repos) {
|
|
3166
3166
|
console.log(`[merge] Polyrepo detected for ${issueId}, coordinating merge set...`);
|
|
3167
|
-
const { getMergeSetSync, ensureMergeSetForIssueSync, upsertMergeSetSync, withRepoStateSync } = await import("./merge-set-
|
|
3168
|
-
const { runQualityGates } = await import("./validation-
|
|
3169
|
-
const { getForgeAdapter } = await import("./forge-
|
|
3170
|
-
const { messageAgent } = await import("./agents-
|
|
3167
|
+
const { getMergeSetSync, ensureMergeSetForIssueSync, upsertMergeSetSync, withRepoStateSync } = await import("./merge-set-6LEglm6o.js");
|
|
3168
|
+
const { runQualityGates } = await import("./validation-DcAgXTQp.js");
|
|
3169
|
+
const { getForgeAdapter } = await import("./forge-B0_opi-V.js");
|
|
3170
|
+
const { messageAgent } = await import("./agents-DyHKlq1I.js");
|
|
3171
3171
|
let mergeSet = getMergeSetSync(issueId) || ensureMergeSetForIssueSync(issueId);
|
|
3172
3172
|
if (!mergeSet) {
|
|
3173
3173
|
const error = `No merge set found for ${issueId}`;
|
|
@@ -3438,7 +3438,7 @@ async function triggerMerge(issueId, request = { kind: "normal" }) {
|
|
|
3438
3438
|
...mergeCompletionStatus(request)
|
|
3439
3439
|
});
|
|
3440
3440
|
completePendingOperation(issueId, null);
|
|
3441
|
-
const { postMergeLifecycle } = await import("./merge-agent-
|
|
3441
|
+
const { postMergeLifecycle } = await import("./merge-agent-B-SnXOoc.js");
|
|
3442
3442
|
advanceQueue();
|
|
3443
3443
|
await postMergeLifecycle(issueId, projectPath);
|
|
3444
3444
|
return {
|
|
@@ -3449,8 +3449,8 @@ async function triggerMerge(issueId, request = { kind: "normal" }) {
|
|
|
3449
3449
|
repos: mergeResults
|
|
3450
3450
|
};
|
|
3451
3451
|
}
|
|
3452
|
-
const { getMergeSetSync, ensureMergeSetForIssueSync } = await import("./merge-set-
|
|
3453
|
-
const { getForgeAdapter } = await import("./forge-
|
|
3452
|
+
const { getMergeSetSync, ensureMergeSetForIssueSync } = await import("./merge-set-6LEglm6o.js");
|
|
3453
|
+
const { getForgeAdapter } = await import("./forge-B0_opi-V.js");
|
|
3454
3454
|
const primaryRepo = (getMergeSetSync(issueId) || ensureMergeSetForIssueSync(issueId))?.repos[0];
|
|
3455
3455
|
const targetBranch = primaryRepo?.targetBranch || "main";
|
|
3456
3456
|
const primaryForge = primaryRepo?.forge || "github";
|
|
@@ -3492,7 +3492,7 @@ async function triggerMerge(issueId, request = { kind: "normal" }) {
|
|
|
3492
3492
|
};
|
|
3493
3493
|
}
|
|
3494
3494
|
if (githubPrRef) try {
|
|
3495
|
-
const { getPullRequestState, isGitHubAppConfigured } = await import("./github-app-
|
|
3495
|
+
const { getPullRequestState, isGitHubAppConfigured } = await import("./github-app-CU14oYzP.js");
|
|
3496
3496
|
if (isGitHubAppConfigured()) {
|
|
3497
3497
|
const prState = await Effect.runPromise(getPullRequestState(githubPrRef.owner, githubPrRef.repo, githubPrRef.number));
|
|
3498
3498
|
if (prState.state !== "OPEN" && !prState.merged) {
|
|
@@ -3554,7 +3554,7 @@ async function triggerMerge(issueId, request = { kind: "normal" }) {
|
|
|
3554
3554
|
...mergeCompletionStatus(request)
|
|
3555
3555
|
});
|
|
3556
3556
|
completePendingOperation(issueId, null);
|
|
3557
|
-
const { postMergeLifecycle } = await import("./merge-agent-
|
|
3557
|
+
const { postMergeLifecycle } = await import("./merge-agent-B-SnXOoc.js");
|
|
3558
3558
|
await postMergeLifecycle(issueId, projectPath, branchName);
|
|
3559
3559
|
return {
|
|
3560
3560
|
success: true,
|
|
@@ -3568,13 +3568,13 @@ async function triggerMerge(issueId, request = { kind: "normal" }) {
|
|
|
3568
3568
|
} catch (prStateErr) {
|
|
3569
3569
|
console.warn(`[merge] Pre-merge PR state check failed for ${issueId}: ${prStateErr.message} — proceeding (check is best-effort)`);
|
|
3570
3570
|
}
|
|
3571
|
-
const { postMergeLifecycle } = await import("./merge-agent-
|
|
3571
|
+
const { postMergeLifecycle } = await import("./merge-agent-B-SnXOoc.js");
|
|
3572
3572
|
const agentId = request.kind === "strike" ? request.recoveryTarget : `agent-${issueId.toLowerCase()}`;
|
|
3573
3573
|
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.`;
|
|
3574
3574
|
setReviewStatus(issueId, { mergeStep: "rebasing" });
|
|
3575
3575
|
console.log(`[merge] Rebasing ${branchName} onto ${targetBranch} for ${issueId} (agent=${await Effect.runPromise(sessionExists(agentId)) ? "running" : "stopped"})...`);
|
|
3576
3576
|
{
|
|
3577
|
-
const { beginShipLog, appendShipLog } = await import("./ship-log-
|
|
3577
|
+
const { beginShipLog, appendShipLog } = await import("./ship-log-__QtAFXG.js");
|
|
3578
3578
|
beginShipLog(issueId);
|
|
3579
3579
|
appendShipLog(issueId, `Ship started: rebasing ${branchName} onto ${targetBranch}…`, "rebasing");
|
|
3580
3580
|
}
|
|
@@ -3705,7 +3705,7 @@ async function triggerMerge(issueId, request = { kind: "normal" }) {
|
|
|
3705
3705
|
});
|
|
3706
3706
|
let skipLocalVerification = false;
|
|
3707
3707
|
if (primaryForge === "github" && artifactUrl) try {
|
|
3708
|
-
const { parsePullRequestRef, getCiCheckRunsStatePromise, isGitHubAppConfigured } = await import("./github-app-
|
|
3708
|
+
const { parsePullRequestRef, getCiCheckRunsStatePromise, isGitHubAppConfigured } = await import("./github-app-CU14oYzP.js");
|
|
3709
3709
|
if (isGitHubAppConfigured()) {
|
|
3710
3710
|
const ref = parsePullRequestRef({ url: artifactUrl });
|
|
3711
3711
|
if (ref) {
|
|
@@ -3726,12 +3726,12 @@ async function triggerMerge(issueId, request = { kind: "normal" }) {
|
|
|
3726
3726
|
} catch (ciErr) {
|
|
3727
3727
|
console.warn(`[merge] CI-state check failed (${ciErr.message?.slice(0, 120)}) — falling back to local verification for ${issueId}`);
|
|
3728
3728
|
}
|
|
3729
|
-
const { appendShipLog } = await import("./ship-log-
|
|
3729
|
+
const { appendShipLog } = await import("./ship-log-__QtAFXG.js");
|
|
3730
3730
|
if (skipLocalVerification) appendShipLog(issueId, "✓ Local verification skipped — CI already green on this exact commit", "verifying");
|
|
3731
3731
|
const verifyResult = skipLocalVerification ? { outcome: "passed" } : await (async () => {
|
|
3732
3732
|
console.log(`[merge] Running post-rebase verification for ${issueId}...`);
|
|
3733
3733
|
appendShipLog(issueId, "Running post-rebase verification (full quality-gate suite)…", "verifying");
|
|
3734
|
-
const { runVerificationForIssue } = await import("./verification-runner-
|
|
3734
|
+
const { runVerificationForIssue } = await import("./verification-runner-DlJezzef.js");
|
|
3735
3735
|
return Effect.runPromise(runVerificationForIssue(issueId, workspacePath, { isRemote: false }, "merge-verify", {
|
|
3736
3736
|
syncTargetBranch: false,
|
|
3737
3737
|
onGateLog: (line) => appendShipLog(issueId, line, "verifying")
|
|
@@ -3764,7 +3764,7 @@ async function triggerMerge(issueId, request = { kind: "normal" }) {
|
|
|
3764
3764
|
console.log(`[merge] Post-rebase verification ${verifyResult.outcome} for ${issueId}`);
|
|
3765
3765
|
setReviewStatus(issueId, { mergeStep: "reporting-statuses" });
|
|
3766
3766
|
try {
|
|
3767
|
-
const { getPullRequestState, isGitHubAppConfigured, reportCommitStatus } = await import("./github-app-
|
|
3767
|
+
const { getPullRequestState, isGitHubAppConfigured, reportCommitStatus } = await import("./github-app-CU14oYzP.js");
|
|
3768
3768
|
if (githubPrRef && isGitHubAppConfigured()) {
|
|
3769
3769
|
const sha = (await Effect.runPromise(getPullRequestState(githubPrRef.owner, githubPrRef.repo, githubPrRef.number))).headSha.trim();
|
|
3770
3770
|
if (sha) {
|
|
@@ -3792,7 +3792,7 @@ async function triggerMerge(issueId, request = { kind: "normal" }) {
|
|
|
3792
3792
|
} catch (prMergeErr) {
|
|
3793
3793
|
console.error(`[merge] Review artifact merge threw for ${issueId}:`, prMergeErr);
|
|
3794
3794
|
try {
|
|
3795
|
-
const { getPullRequestState, isGitHubAppConfigured } = await import("./github-app-
|
|
3795
|
+
const { getPullRequestState, isGitHubAppConfigured } = await import("./github-app-CU14oYzP.js");
|
|
3796
3796
|
if (githubPrRef && isGitHubAppConfigured()) {
|
|
3797
3797
|
artifactMerged = (await Effect.runPromise(getPullRequestState(githubPrRef.owner, githubPrRef.repo, githubPrRef.number))).merged;
|
|
3798
3798
|
if (artifactMerged) console.log(`[merge] Race-detected: PR #${githubPrRef.number} for ${issueId} was already merged despite thrown error; proceeding`);
|
|
@@ -3911,8 +3911,8 @@ const postForgeApproveRoute = HttpRouter.add("POST", "/api/issues/:issueId/forge
|
|
|
3911
3911
|
if (!parseIssueIdSync(issueId)) return jsonResponse({ error: "Invalid issue ID" }, { status: 400 });
|
|
3912
3912
|
if (!/^[A-Z]+-\d+$/i.test(issueId)) return jsonResponse({ error: "Invalid issue ID format" }, { status: 400 });
|
|
3913
3913
|
return yield* Effect.promise(async () => {
|
|
3914
|
-
const { getMergeSetSync, upsertMergeSetSync, withRepoArtifactUrlSync, withRepoStateSync } = await import("./merge-set-
|
|
3915
|
-
const { getForgeAdapter } = await import("./forge-
|
|
3914
|
+
const { getMergeSetSync, upsertMergeSetSync, withRepoArtifactUrlSync, withRepoStateSync } = await import("./merge-set-6LEglm6o.js");
|
|
3915
|
+
const { getForgeAdapter } = await import("./forge-B0_opi-V.js");
|
|
3916
3916
|
let mergeSet = getMergeSetSync(issueId);
|
|
3917
3917
|
if (!mergeSet) return jsonResponse({ error: `No merge set found for ${issueId}` }, { status: 404 });
|
|
3918
3918
|
const results = [];
|
|
@@ -4000,8 +4000,8 @@ const postForgeMergeRoute = HttpRouter.add("POST", "/api/issues/:issueId/forge-m
|
|
|
4000
4000
|
if (!parseIssueIdSync(issueId)) return jsonResponse({ error: "Invalid issue ID" }, { status: 400 });
|
|
4001
4001
|
if (!/^[A-Z]+-\d+$/i.test(issueId)) return jsonResponse({ error: "Invalid issue ID format" }, { status: 400 });
|
|
4002
4002
|
return yield* Effect.promise(async () => {
|
|
4003
|
-
const { getMergeSetSync, upsertMergeSetSync, withRepoArtifactUrlSync, withRepoStateSync } = await import("./merge-set-
|
|
4004
|
-
const { getForgeAdapter } = await import("./forge-
|
|
4003
|
+
const { getMergeSetSync, upsertMergeSetSync, withRepoArtifactUrlSync, withRepoStateSync } = await import("./merge-set-6LEglm6o.js");
|
|
4004
|
+
const { getForgeAdapter } = await import("./forge-B0_opi-V.js");
|
|
4005
4005
|
let mergeSet = getMergeSetSync(issueId);
|
|
4006
4006
|
if (!mergeSet) return jsonResponse({ error: `No merge set found for ${issueId}` }, { status: 404 });
|
|
4007
4007
|
const results = [];
|
|
@@ -4194,7 +4194,7 @@ const postWorkspaceApproveRoute = HttpRouter.add("POST", "/api/issues/:issueId/a
|
|
|
4194
4194
|
console.log(`[approve] Starting role pipeline for ${issueId}...`);
|
|
4195
4195
|
let reviewResult;
|
|
4196
4196
|
try {
|
|
4197
|
-
const { spawnReviewRoleForIssue } = await import("./review-agent-
|
|
4197
|
+
const { spawnReviewRoleForIssue } = await import("./review-agent-CCum8sGe.js");
|
|
4198
4198
|
reviewResult = await Effect.runPromise(spawnReviewRoleForIssue({
|
|
4199
4199
|
issueId,
|
|
4200
4200
|
workspace: workspacePath,
|
|
@@ -4241,7 +4241,7 @@ const postWorkspaceApproveRoute = HttpRouter.add("POST", "/api/issues/:issueId/a
|
|
|
4241
4241
|
}
|
|
4242
4242
|
console.log(`[approve] Step 3/3: Running server-side rebase for ${issueId}...`);
|
|
4243
4243
|
try {
|
|
4244
|
-
const { rebaseFeatureBranch } = await import("./merge-rebase-
|
|
4244
|
+
const { rebaseFeatureBranch } = await import("./merge-rebase-Cm6fXaZN.js");
|
|
4245
4245
|
const workspacePathForRebase = join(projectPath, "workspaces", `feature-${issueId.toLowerCase()}`);
|
|
4246
4246
|
const rebaseResult = await Effect.runPromise(rebaseFeatureBranch(workspacePathForRebase, branchName, "main", issueId));
|
|
4247
4247
|
if (!rebaseResult.success) {
|
|
@@ -4261,7 +4261,7 @@ const postWorkspaceApproveRoute = HttpRouter.add("POST", "/api/issues/:issueId/a
|
|
|
4261
4261
|
completePendingOperation(issueId, pushResult.error);
|
|
4262
4262
|
return jsonResponse({ error: pushResult.error }, { status: pushResult.httpStatus });
|
|
4263
4263
|
}
|
|
4264
|
-
const { approve: lifecycleApprove } = await import("./lifecycle-
|
|
4264
|
+
const { approve: lifecycleApprove } = await import("./lifecycle-CtPDcZ9u.js");
|
|
4265
4265
|
const ghResolved = resolveGitHubIssueSync(issueId);
|
|
4266
4266
|
const isGitHubIssueFlag = ghResolved.isGitHub;
|
|
4267
4267
|
const lifecycleCtx = {
|
|
@@ -4295,7 +4295,7 @@ const getMergeQueueRoute = HttpRouter.add("GET", "/api/merge-queue", httpHandler
|
|
|
4295
4295
|
})));
|
|
4296
4296
|
const postInternalPipelineNotifyRoute = HttpRouter.add("POST", "/api/internal/pipeline/notify", httpHandler(Effect.gen(function* () {
|
|
4297
4297
|
const request = yield* HttpServerRequest.HttpServerRequest;
|
|
4298
|
-
const { INTERNAL_TOKEN_HEADER, getInternalTokenSync } = yield* Effect.promise(() => import("./internal-token-
|
|
4298
|
+
const { INTERNAL_TOKEN_HEADER, getInternalTokenSync } = yield* Effect.promise(() => import("./internal-token-C9DdEOKY.js"));
|
|
4299
4299
|
const expected = getInternalTokenSync();
|
|
4300
4300
|
if (!expected) return jsonResponse({
|
|
4301
4301
|
ok: false,
|
|
@@ -4309,7 +4309,7 @@ const postInternalPipelineNotifyRoute = HttpRouter.add("POST", "/api/internal/pi
|
|
|
4309
4309
|
}, 403);
|
|
4310
4310
|
const event = yield* readJsonBody;
|
|
4311
4311
|
const type = event.type;
|
|
4312
|
-
const { notifyPipelineSync } = yield* Effect.promise(() => import("./pipeline-notifier-
|
|
4312
|
+
const { notifyPipelineSync } = yield* Effect.promise(() => import("./pipeline-notifier-CZsrU_nj.js"));
|
|
4313
4313
|
switch (type) {
|
|
4314
4314
|
case "status_changed": {
|
|
4315
4315
|
const issueId = event.issueId;
|
|
@@ -5084,7 +5084,7 @@ const patchWorkspaceTieredExecutionRoute = HttpRouter.add("PATCH", "/api/workspa
|
|
|
5084
5084
|
if (override !== "on" && override !== "off" && override !== null && override !== void 0) return jsonResponse({ error: "Invalid tiered-execution override" }, { status: 400 });
|
|
5085
5085
|
const project = getProjectSync(extractPrefixSync(issueId) ?? issueId.split("-")[0]);
|
|
5086
5086
|
if (!project) return jsonResponse({ error: "Project not found" }, { status: 404 });
|
|
5087
|
-
yield* Effect.promise(() => import("./record-
|
|
5087
|
+
yield* Effect.promise(() => import("./record-rwK-nKv_.js").then((m) => m.writeRecordTieredExecutionOverride(project, issueId, override)));
|
|
5088
5088
|
const projectPath = project.path;
|
|
5089
5089
|
const location = yield* resolvePlanLocation(projectPath, issueId);
|
|
5090
5090
|
if (!location) return jsonResponse({ error: "No vBRIEF plan found for this workspace" }, { status: 404 });
|
|
@@ -5550,7 +5550,7 @@ const postWorkspaceReviewRoute = HttpRouter.add("POST", "/api/review/:issueId/tr
|
|
|
5550
5550
|
console.log(`Feature branch push note: ${errorMessage(pushErr)}`);
|
|
5551
5551
|
}
|
|
5552
5552
|
try {
|
|
5553
|
-
const { createReviewArtifactsForIssue } = await import("./review-artifacts-
|
|
5553
|
+
const { createReviewArtifactsForIssue } = await import("./review-artifacts-CXywD0F2.js");
|
|
5554
5554
|
const artifactResult = await Effect.runPromise(createReviewArtifactsForIssue(issueId, workspacePath));
|
|
5555
5555
|
const primaryArtifact = artifactResult.mergeSet?.repos.find((repo) => !!repo.artifactUrl);
|
|
5556
5556
|
artifactResult.mergeSet?.repos.find((repo) => repo.mergeStatus !== "skipped")?.targetBranch;
|
|
@@ -5605,7 +5605,7 @@ const postWorkspaceReviewRoute = HttpRouter.add("POST", "/api/review/:issueId/tr
|
|
|
5605
5605
|
} catch {}
|
|
5606
5606
|
return;
|
|
5607
5607
|
}
|
|
5608
|
-
const { spawnReviewRoleForIssue } = await import("./review-agent-
|
|
5608
|
+
const { spawnReviewRoleForIssue } = await import("./review-agent-CCum8sGe.js");
|
|
5609
5609
|
const prUrl = getReviewStatusSync(issueId)?.prUrl;
|
|
5610
5610
|
const reviewResult = await Effect.runPromise(spawnReviewRoleForIssue({
|
|
5611
5611
|
issueId,
|
|
@@ -5744,7 +5744,7 @@ const postWorkspaceRequestReviewRoute = HttpRouter.add("POST", "/api/review/:iss
|
|
|
5744
5744
|
console.log(`[request-review] Feature branch push note: ${errorMessage(pushErr)}`);
|
|
5745
5745
|
}
|
|
5746
5746
|
const prUrl = getReviewStatusSync(issueId)?.prUrl;
|
|
5747
|
-
const { spawnReviewRoleForIssue } = await import("./review-agent-
|
|
5747
|
+
const { spawnReviewRoleForIssue } = await import("./review-agent-CCum8sGe.js");
|
|
5748
5748
|
const result = await Effect.runPromise(spawnReviewRoleForIssue({
|
|
5749
5749
|
issueId,
|
|
5750
5750
|
workspace: workspacePathRerun,
|
|
@@ -5794,7 +5794,7 @@ const postWorkspaceRequestReviewRoute = HttpRouter.add("POST", "/api/review/:iss
|
|
|
5794
5794
|
});
|
|
5795
5795
|
} else {
|
|
5796
5796
|
const workspacePath = join(resolved.projectPath, "workspaces", `feature-${issueId.toLowerCase()}`);
|
|
5797
|
-
const { spawnRun } = yield* Effect.promise(() => import("./agents-
|
|
5797
|
+
const { spawnRun } = yield* Effect.promise(() => import("./agents-DyHKlq1I.js"));
|
|
5798
5798
|
try {
|
|
5799
5799
|
const testRun = yield* Effect.promise(() => spawnRun(issueId, "test", { workspace: workspacePath }));
|
|
5800
5800
|
setReviewStatus(issueId, { testStatus: "testing" });
|
|
@@ -5904,7 +5904,7 @@ const postWorkspaceRequestReviewRoute = HttpRouter.add("POST", "/api/review/:iss
|
|
|
5904
5904
|
testStatus: "pending",
|
|
5905
5905
|
reviewNotes
|
|
5906
5906
|
});
|
|
5907
|
-
const { spawnReviewRoleForIssue } = await import("./review-agent-
|
|
5907
|
+
const { spawnReviewRoleForIssue } = await import("./review-agent-CCum8sGe.js");
|
|
5908
5908
|
const result = await Effect.runPromise(spawnReviewRoleForIssue({
|
|
5909
5909
|
issueId,
|
|
5910
5910
|
workspace: workspacePath,
|
|
@@ -6213,7 +6213,7 @@ const postWorkspaceResetReviewRoute = HttpRouter.add("POST", "/api/review/:issue
|
|
|
6213
6213
|
const result = processResetReviewPipeline(issueId, resetWorkspace.exists);
|
|
6214
6214
|
if (result.httpStatus !== 200) return jsonResponse(result.body, { status: result.httpStatus });
|
|
6215
6215
|
try {
|
|
6216
|
-
const { resetPostMergeState } = yield* Effect.promise(() => import("./merge-agent-
|
|
6216
|
+
const { resetPostMergeState } = yield* Effect.promise(() => import("./merge-agent-B-SnXOoc.js"));
|
|
6217
6217
|
resetPostMergeState(issueId);
|
|
6218
6218
|
} catch (err) {
|
|
6219
6219
|
console.warn(`[reset-review] resetPostMergeState best-effort failed for ${issueId}:`, err);
|
|
@@ -6222,7 +6222,7 @@ const postWorkspaceResetReviewRoute = HttpRouter.add("POST", "/api/review/:issue
|
|
|
6222
6222
|
const rerun = body?.rerun === true;
|
|
6223
6223
|
if (rerun) try {
|
|
6224
6224
|
yield* Effect.promise(async () => {
|
|
6225
|
-
const { spawnReviewRoleForIssue } = await import("./review-agent-
|
|
6225
|
+
const { spawnReviewRoleForIssue } = await import("./review-agent-CCum8sGe.js");
|
|
6226
6226
|
const dispatchArgs = buildReviewRedispatchArgs(issueId, resetWorkspace, workspaceInfo, resolved);
|
|
6227
6227
|
if (dispatchArgs) {
|
|
6228
6228
|
const result = await Effect.runPromise(spawnReviewRoleForIssue({
|
|
@@ -6251,7 +6251,7 @@ const postWorkspaceResetReviewRoute = HttpRouter.add("POST", "/api/review/:issue
|
|
|
6251
6251
|
const postWorkspaceReviewPurgeRoute = HttpRouter.add("POST", "/api/review/:issueId/purge", httpHandler(Effect.gen(function* () {
|
|
6252
6252
|
const issueId = (yield* HttpRouter.params)["issueId"] ?? "";
|
|
6253
6253
|
if (!parseIssueIdSync(issueId)) return jsonResponse({ error: "Invalid issue ID" }, { status: 400 });
|
|
6254
|
-
const { purgeReviewAgentsForIssue } = yield* Effect.promise(() => import("./review-agent-
|
|
6254
|
+
const { purgeReviewAgentsForIssue } = yield* Effect.promise(() => import("./review-agent-CCum8sGe.js"));
|
|
6255
6255
|
const projectKey = resolveProjectFromIssueSync(issueId)?.projectKey;
|
|
6256
6256
|
const purge = yield* Effect.promise(() => purgeReviewAgentsForIssue(projectKey, issueId));
|
|
6257
6257
|
const workspaceInfo = getWorkspaceInfoForIssue(issueId);
|
|
@@ -6281,8 +6281,8 @@ const postWorkspaceAbortReviewRoute = HttpRouter.add("POST", "/api/review/:issue
|
|
|
6281
6281
|
success: false,
|
|
6282
6282
|
error: "Workspace does not exist"
|
|
6283
6283
|
}, { status: 400 });
|
|
6284
|
-
const { resolveProjectFromIssueSync } = yield* Effect.promise(() => import("./projects-
|
|
6285
|
-
const { killAllReviewerSessions } = yield* Effect.promise(() => import("./review-agent-
|
|
6284
|
+
const { resolveProjectFromIssueSync } = yield* Effect.promise(() => import("./projects-BKkwpH6q.js"));
|
|
6285
|
+
const { killAllReviewerSessions } = yield* Effect.promise(() => import("./review-agent-CCum8sGe.js"));
|
|
6286
6286
|
const { killed, failed } = yield* killAllReviewerSessions(resolveProjectFromIssueSync(issueId)?.projectKey, issueId);
|
|
6287
6287
|
setReviewStatus(issueId, {
|
|
6288
6288
|
reviewStatus: "pending",
|
|
@@ -6354,8 +6354,8 @@ const getReviewConfigRoute = HttpRouter.add("GET", "/api/review/:issueId/config"
|
|
|
6354
6354
|
const issueId = ((yield* HttpRouter.params)["issueId"] ?? "").toUpperCase();
|
|
6355
6355
|
if (!parseIssueIdSync(issueId)) return jsonResponse({ error: "Invalid issue ID" }, { status: 400 });
|
|
6356
6356
|
return jsonResponse(yield* Effect.promise(async () => {
|
|
6357
|
-
const { readIssueRecordSync, resolveProjectForIssue } = await import("./record-
|
|
6358
|
-
const { resolveReviewMode, resolveReReviewScope } = await import("./review-agent-
|
|
6357
|
+
const { readIssueRecordSync, resolveProjectForIssue } = await import("./record-rwK-nKv_.js");
|
|
6358
|
+
const { resolveReviewMode, resolveReReviewScope } = await import("./review-agent-CCum8sGe.js");
|
|
6359
6359
|
const project = resolveProjectForIssue(issueId);
|
|
6360
6360
|
const record = project ? readIssueRecordSync(project, issueId) : null;
|
|
6361
6361
|
return {
|
|
@@ -6390,9 +6390,9 @@ const postReviewConfigRoute = HttpRouter.add("POST", "/api/review/:issueId/confi
|
|
|
6390
6390
|
return jsonResponse({ error: error instanceof Error ? error.message : String(error) }, { status: 400 });
|
|
6391
6391
|
}
|
|
6392
6392
|
return jsonResponse(yield* Effect.promise(async () => {
|
|
6393
|
-
const { resolveProjectForIssue } = await import("./record-
|
|
6394
|
-
const { updateIssueRecord } = await import("./record-update-
|
|
6395
|
-
const { resolveReviewMode, resolveReReviewScope } = await import("./review-agent-
|
|
6393
|
+
const { resolveProjectForIssue } = await import("./record-rwK-nKv_.js");
|
|
6394
|
+
const { updateIssueRecord } = await import("./record-update-D3N6WMFR.js");
|
|
6395
|
+
const { resolveReviewMode, resolveReReviewScope } = await import("./review-agent-CCum8sGe.js");
|
|
6396
6396
|
const record = await updateIssueRecord(resolveProjectForIssue(issueId), issueId, (current) => {
|
|
6397
6397
|
if (hasMode) if (body.reviewMode === null) delete current.reviewMode;
|
|
6398
6398
|
else current.reviewMode = body.reviewMode;
|
|
@@ -6825,7 +6825,7 @@ async function readWorkspacePlanningMarkdown(issueId, fileName) {
|
|
|
6825
6825
|
*/
|
|
6826
6826
|
async function readWorkspaceContinueFile(_projectPath, workspacePath, issueId) {
|
|
6827
6827
|
try {
|
|
6828
|
-
const { readRecordContinueViewSync, getProjectConfigFromWorkspacePath, resolveProjectForIssue } = await import("./record-
|
|
6828
|
+
const { readRecordContinueViewSync, getProjectConfigFromWorkspacePath, resolveProjectForIssue } = await import("./record-rwK-nKv_.js");
|
|
6829
6829
|
const recordView = readRecordContinueViewSync(resolveProjectForIssue(issueId) ?? getProjectConfigFromWorkspacePath(workspacePath), issueId);
|
|
6830
6830
|
return recordView ? JSON.stringify(recordView, null, 2) : null;
|
|
6831
6831
|
} catch {
|
|
@@ -7584,7 +7584,7 @@ const getWorkspaceReviewStatusRoute = HttpRouter.add("GET", "/api/review/:issueI
|
|
|
7584
7584
|
if (queuePosition === null) try {
|
|
7585
7585
|
const resolved = resolveProjectFromIssueSync(issueId);
|
|
7586
7586
|
if (resolved) {
|
|
7587
|
-
const { getQueueForProject } = yield* Effect.promise(() => import("./merge-
|
|
7587
|
+
const { getQueueForProject } = yield* Effect.promise(() => import("./merge-BwsyNRJV.js"));
|
|
7588
7588
|
const mergePos = findPositionInQueueSync(issueId, getQueueForProject(resolved.projectKey).map((e) => ({
|
|
7589
7589
|
id: String(e.id),
|
|
7590
7590
|
type: "task",
|
|
@@ -7622,7 +7622,7 @@ const postWorkspaceReviewStatusRoute = HttpRouter.add("POST", "/api/review/:issu
|
|
|
7622
7622
|
const workspaceInfo = getWorkspaceInfoForIssue(issueId);
|
|
7623
7623
|
if (workspaceInfo.exists && workspaceInfo.localPath) {
|
|
7624
7624
|
const localPath = workspaceInfo.localPath;
|
|
7625
|
-
const { getWorkspaceGitInfo } = yield* Effect.promise(() => import("./git-utils-
|
|
7625
|
+
const { getWorkspaceGitInfo } = yield* Effect.promise(() => import("./git-utils-CsKGnzFA.js"));
|
|
7626
7626
|
try {
|
|
7627
7627
|
const gitInfo = yield* getWorkspaceGitInfo(localPath);
|
|
7628
7628
|
if (gitInfo.HEAD) update.reviewedAtCommit = gitInfo.HEAD;
|
|
@@ -7637,7 +7637,7 @@ const postWorkspaceReviewStatusRoute = HttpRouter.add("POST", "/api/review/:issu
|
|
|
7637
7637
|
if (verificationStatus) update.verificationStatus = verificationStatus;
|
|
7638
7638
|
if (readyForMerge !== void 0) update.readyForMerge = readyForMerge;
|
|
7639
7639
|
const status = setReviewStatus(issueId, update);
|
|
7640
|
-
const { getTmuxSessionName } = yield* Effect.promise(() => import("./specialists-
|
|
7640
|
+
const { getTmuxSessionName } = yield* Effect.promise(() => import("./specialists-Dqe6_HE5.js"));
|
|
7641
7641
|
const projectKey = resolveProjectFromIssueSync(issueId)?.projectKey;
|
|
7642
7642
|
if (reviewStatus && [
|
|
7643
7643
|
"passed",
|
|
@@ -7655,7 +7655,7 @@ const postWorkspaceReviewStatusRoute = HttpRouter.add("POST", "/api/review/:issu
|
|
|
7655
7655
|
const agentId = `agent-${issueId.toLowerCase()}`;
|
|
7656
7656
|
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.`;
|
|
7657
7657
|
try {
|
|
7658
|
-
const { writeFeedbackFile } = yield* Effect.promise(() => import("./feedback-writer-
|
|
7658
|
+
const { writeFeedbackFile } = yield* Effect.promise(() => import("./feedback-writer-Bx5z11mF.js"));
|
|
7659
7659
|
const wsInfo = getWorkspaceInfoForIssue(issueId);
|
|
7660
7660
|
const fileResult = yield* Effect.promise(() => writeFeedbackFile({
|
|
7661
7661
|
issueId,
|
|
@@ -7719,7 +7719,7 @@ const postWorkspaceReviewStatusRoute = HttpRouter.add("POST", "/api/review/:issu
|
|
|
7719
7719
|
const agentId = `agent-${issueId.toLowerCase()}`;
|
|
7720
7720
|
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.`;
|
|
7721
7721
|
try {
|
|
7722
|
-
const { writeFeedbackFile } = yield* Effect.promise(() => import("./feedback-writer-
|
|
7722
|
+
const { writeFeedbackFile } = yield* Effect.promise(() => import("./feedback-writer-Bx5z11mF.js"));
|
|
7723
7723
|
const wsInfo = getWorkspaceInfoForIssue(issueId);
|
|
7724
7724
|
const fileResult = yield* Effect.promise(() => writeFeedbackFile({
|
|
7725
7725
|
issueId,
|
|
@@ -7752,14 +7752,14 @@ const postWorkspaceReviewStatusRoute = HttpRouter.add("POST", "/api/review/:issu
|
|
|
7752
7752
|
});
|
|
7753
7753
|
yield* Effect.promise(async () => {
|
|
7754
7754
|
try {
|
|
7755
|
-
const { resolveProjectFromIssueSync, getProjectSync } = await import("./projects-
|
|
7755
|
+
const { resolveProjectFromIssueSync, getProjectSync } = await import("./projects-BKkwpH6q.js");
|
|
7756
7756
|
const project = resolveProjectFromIssueSync(issueId);
|
|
7757
7757
|
const repo = (project ? getProjectSync(project.projectKey) : null)?.github_repo;
|
|
7758
7758
|
if (!repo || !repo.includes("/")) return;
|
|
7759
7759
|
const [owner, name] = repo.split("/");
|
|
7760
7760
|
const wsInfo = getWorkspaceInfoForIssue(issueId);
|
|
7761
7761
|
if (!wsInfo?.localPath) return;
|
|
7762
|
-
const { postOverdeckTestsStatus } = await import("./github-app-
|
|
7762
|
+
const { postOverdeckTestsStatus } = await import("./github-app-CU14oYzP.js");
|
|
7763
7763
|
await postOverdeckTestsStatus(wsInfo.localPath, owner, name, "success", "Test specialist passed");
|
|
7764
7764
|
} catch (err) {
|
|
7765
7765
|
console.warn(`[review-status] Failed to post overdeck/tests for ${issueId}: ${err.message}`);
|
|
@@ -7801,7 +7801,7 @@ const postWorkspaceRefreshTokenRoute = HttpRouter.add("POST", "/api/workspaces/:
|
|
|
7801
7801
|
if (!parseIssueIdSync(issueId)) return jsonResponse({ error: "Invalid issue ID" }, { status: 400 });
|
|
7802
7802
|
const issueLower = issueId.toLowerCase();
|
|
7803
7803
|
const workspacePath = join(getProjectPath(void 0, extractPrefixSync(issueId) ?? issueId.split("-")[0]), "workspaces", `feature-${issueLower}`);
|
|
7804
|
-
const { refreshWorkspaceToken, isGitHubAppConfigured } = yield* Effect.promise(() => import("./github-app-
|
|
7804
|
+
const { refreshWorkspaceToken, isGitHubAppConfigured } = yield* Effect.promise(() => import("./github-app-CU14oYzP.js"));
|
|
7805
7805
|
if (!isGitHubAppConfigured()) return jsonResponse({
|
|
7806
7806
|
success: false,
|
|
7807
7807
|
error: "GitHub App not configured"
|
|
@@ -7816,4 +7816,4 @@ const workspacesRouteLayer = Layer.mergeAll(workspaceDataRouteLayer, postWorkspa
|
|
|
7816
7816
|
//#endregion
|
|
7817
7817
|
export { getWorkspacePathForIssue as C, resolveIssueHeadlineCost as S, 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, getCachedRunningAgents as x, syncCacheSync as y };
|
|
7818
7818
|
|
|
7819
|
-
//# sourceMappingURL=workspaces-
|
|
7819
|
+
//# sourceMappingURL=workspaces-CFPcL0vl.js.map
|
|
@@ -78,6 +78,29 @@ different model, where the existing session can't resume under different provide
|
|
|
78
78
|
`--fresh` is non-destructive: it clears only the resume pointer, never the JSONL transcript,
|
|
79
79
|
and refuses while the agent is still running (stop it first with `pan kill <id>`).
|
|
80
80
|
|
|
81
|
+
## Slow or hanging workspace prep
|
|
82
|
+
|
|
83
|
+
Workspace preparation bounds its slow external phases with these default budgets:
|
|
84
|
+
|
|
85
|
+
| Phase | Budget | Timeout behavior |
|
|
86
|
+
| --- | ---: | --- |
|
|
87
|
+
| `state-reconcile` | 60s | Fail fast |
|
|
88
|
+
| `sync-main` | 240s | Warn and continue to spawn |
|
|
89
|
+
| `tracker-context` | 60s | Warn, use empty tracker context, and continue to spawn |
|
|
90
|
+
| `spawn` | 600s | Fail fast |
|
|
91
|
+
|
|
92
|
+
Ora spinner text updates render only on a TTY, so non-interactive callers receive plain
|
|
93
|
+
progress lines and a heartbeat every 15 seconds while a phase is still running:
|
|
94
|
+
|
|
95
|
+
```text
|
|
96
|
+
[prep] still running: sync-main (45s elapsed)
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
A fail-fast timeout exits with the step name and budget. A degraded timeout warns and keeps
|
|
100
|
+
preparation moving toward agent spawn. Supervisors that invoke `pan start` non-interactively
|
|
101
|
+
should allow an outer budget of at least 300 seconds under load; RUN-35 completed after earlier
|
|
102
|
+
120-second and 200-second supervisors timed out while workspace preparation was still making progress.
|
|
103
|
+
|
|
81
104
|
## When to Use
|
|
82
105
|
|
|
83
106
|
- Starting work on a new issue
|
package/server/cli-ChErG518.js
DELETED
package/server/dist-BEDL2alY.js
DELETED
package/server/forge-DbhJyH6u.js
DELETED