@overdeck/desktop 0.45.21 → 0.45.23
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-DOA0KgXx.js} +5 -5
- package/server/{advancing-selfheal-CPOBO5ZS.js → advancing-selfheal-BBu6DSNm.js} +6 -6
- package/server/{agent-gc-D6PUckBB.js → agent-gc-BV1q_2EV.js} +4 -4
- package/server/agent-state-Bg0lhqwj.js +3 -0
- package/server/{agent-state-service-DHwemt96.js → agent-state-service-CnzFKSAQ.js} +1 -1
- package/server/{agent-state-service-6MFQqnFy.js → agent-state-service-HoK8U4jW.js} +5 -5
- package/server/{agents-DbrHWunF.js → agents-B4Bjbkfv.js} +4 -4
- package/server/agents-FlIgQ3ql.js +3 -0
- package/server/{archive-planning-BOnwJq8M.js → archive-planning-DYrYojxl.js} +31 -7
- package/server/{archive-planning-MPpvQJL4.js → archive-planning-zkJb3BeM.js} +1 -1
- package/server/{artifact-index-jobs-BOoySTKD.js → artifact-index-jobs-C-xy7Z5v.js} +2 -2
- package/server/{backlog-auto-trigger-BUaFI44J.js → backlog-auto-trigger-GtG71X8H.js} +3 -3
- package/server/{behavior-Dg-D8eBG.js → behavior-B_-4EKF3.js} +2 -2
- package/server/{briefing-freshness-OouGbJ7d.js → briefing-freshness-DWdW7vUm.js} +2 -2
- package/server/{build-info-27NlbKhV.js → build-info-BT096lEl.js} +3 -3
- package/server/{build-info-Cv6CI7Gu.js → build-info-DgTqZkL5.js} +1 -1
- package/server/{checkpoint-manager-C7mFCY_E.js → checkpoint-manager-B7Bt29J0.js} +1 -1
- package/server/{checkpoint-manager-D64fCC4p.js → checkpoint-manager-DDqcGyu8.js} +2 -2
- package/server/checkpoint-worker.js +1 -1
- package/server/{checkpoints-Vh-J15ge.js → checkpoints-C-AXLfYT.js} +2 -2
- package/server/{checkpoints-DwZqT2qQ.js → checkpoints-CpgCjAlN.js} +1 -1
- package/server/{claude-hooks-provision-CS5W_dhI.js → claude-hooks-provision-C8wdRnN1.js} +1 -1
- package/server/{claude-hooks-provision-BVLGfHrv.js → claude-hooks-provision-but-_qGY.js} +2 -2
- package/server/{claude-permissions-C2OrLYKL.js → claude-permissions-H_5wHQZQ.js} +2 -2
- package/server/{claude-settings-overlay-DWXjafJh.js → claude-settings-overlay-BTENVmYf.js} +1 -1
- package/server/{claude-settings-overlay-DX-fMFpC.js → claude-settings-overlay-CbSz0Dvb.js} +2 -2
- package/server/cli-BsVIHwzC.js +3 -0
- package/server/{cli-mvpEOb3w.js → cli-vBeXbPrq.js} +9 -9
- package/server/{cliproxy-Dvsr4ZkW.js → cliproxy-Bgb2XCqi.js} +2 -2
- package/server/{cliproxy-7g1nObvB.js → cliproxy-DW0V86F8.js} +1 -1
- package/server/{close-issue-8F6uawYj.js → close-issue-Dn_4c4G8.js} +5 -5
- package/server/{closed-issue-reaper-BhV-r-tC.js → closed-issue-reaper-CWpY2uBw.js} +1 -1
- package/server/{closed-issue-reaper-BaYQYF6w.js → closed-issue-reaper-hANY_ehE.js} +9 -9
- package/server/codex-Dg7Is5yb.js +3 -0
- package/server/{codex-D_UBEOwL.js → codex-TmSi-yTv.js} +30 -8
- package/server/{codex-parser-BTzlOZiV.js → codex-parser-C4gSH-IR.js} +2 -2
- package/server/{config-CrduXs4a.js → config-CCvjQf27.js} +2 -2
- package/server/{config-nAB_F-Gp.js → config-DUIhMN_T.js} +1 -1
- package/server/{config-G1TOMJZA.js → config-DjLOdbgT.js} +2 -2
- package/server/{config-yaml-Ciyp2mYe.js → config-yaml-DvyMuOle.js} +177 -211
- package/server/{conflict-gate-BKalpcjL.js → conflict-gate-BSJkNTdp.js} +1 -1
- package/server/{conflict-gate-BLUNMs1i.js → conflict-gate-CmrYpa47.js} +3 -3
- package/server/{context-layers-YNpf6Q_I.js → context-layers-B3Nt58jl.js} +2 -2
- package/server/{context-layers-Cg9ZgVfx.js → context-layers-ZYFcWiyc.js} +3 -3
- package/server/{control-settings-D_79A6gp.js → control-settings-aP1ANIlI.js} +4 -4
- package/server/{conversation-compaction-DiuZbIUB.js → conversation-compaction-CNbTLB86.js} +8 -8
- package/server/{conversation-compaction-CMIeWW4_.js → conversation-compaction-DiG5zWQq.js} +1 -1
- package/server/{conversation-service-DQybSPUK.js → conversation-service-Du-MTNpJ.js} +6 -6
- package/server/{conversation-service-CWk8mEym.js → conversation-service-Up7FEzIC.js} +1 -1
- package/server/{conversations-BJ-t3BRm.js → conversations-6mPANqvL.js} +1 -1
- package/server/{conversations-BUgGvqVL.js → conversations-DbOs1e9Q.js} +4 -4
- package/server/{cost-jJ2cgDcG.js → cost-CW4WSe72.js} +3 -3
- package/server/{cost-Drm7qeD5.js → cost-Ca0YTWDw.js} +18 -2
- package/server/{cost-sync-DzHP6zaR.js → cost-sync-C0VdGme1.js} +3 -3
- package/server/{dag-DIji6O2b.js → dag-CdOjJVDT.js} +9 -9
- package/server/{dangerous-git-ops-BebB-61h.js → dangerous-git-ops-CT-IypG3.js} +1 -1
- package/server/dashboard-db-worker.js +7 -7
- package/server/{deacon-pleYrvIm.js → deacon-DYSEJb48.js} +3 -3
- package/server/{deacon-nudge-log-C5VCKtyi.js → deacon-nudge-log-Bjg8U4Y9.js} +3 -3
- package/server/{deacon-1s7bM5zn.js → deacon-pRnyD5w9.js} +1133 -474
- package/server/deacon-swarm-9jRLS5Ke.js +2 -0
- package/server/{deacon-swarm-DmA3rJ7k.js → deacon-swarm-DftYRDo8.js} +17 -17
- package/server/deacon.js +8 -8
- package/server/{deploy-patrol-DmM6F-yw.js → deploy-patrol-Bjsho_ha.js} +136 -19
- package/server/{deploy-window-ClLq1RYf.js → deploy-window-CM6W1-c6.js} +1 -1
- package/server/{deploy-window-jw4S_Y-c.js → deploy-window-DeP_OIRk.js} +77 -10
- package/server/{dev-supervisor-Do2Stz49.js → dev-supervisor-BpMoHlkR.js} +2 -2
- package/server/{devcontainer-renderer-D8ylupco.js → devcontainer-renderer-CtUgrVKW.js} +3 -3
- package/server/dist-Bd3vn0Hw.js +3 -0
- package/server/{dist-yfR7G1BL.js → dist-DyRx4cI7.js} +1 -1
- package/server/{docker-ClwPQaba.js → docker-BK7HIcBj.js} +2 -2
- package/server/{dod-BLphkhjs.js → dod-BrSfUHm0.js} +1 -1
- package/server/{ensure-devcontainer-BA3bICoY.js → ensure-devcontainer-DRqaAkBR.js} +1 -1
- package/server/{ensure-devcontainer-CFpQatOc.js → ensure-devcontainer-DseivYEy.js} +4 -4
- package/server/{esm-shims-BZw-fTQ6.js → esm-shims-CbI3BVkl.js} +1 -1
- package/server/{event-store-DABarGNz.js → event-store-Cr5PQwFC.js} +1 -1
- package/server/{event-store-BVnON3vf.js → event-store-tdiY5eDZ.js} +3 -3
- package/server/{events-CmERlnwn.js → events-CC1dgUpx.js} +3 -3
- package/server/{events-LGeUehYW.js → events-CvvGK6LT.js} +1 -1
- package/server/{factory-CQNprtHe.js → factory-CynerjXO.js} +50 -13
- package/server/{feature-registry-population-D9Z3tYSa.js → feature-registry-population-B0pmAz0a.js} +4 -4
- package/server/{feature-registry-storage-BWymOgXE.js → feature-registry-storage-_wUBRD3J.js} +2 -2
- package/server/{features--fOza5g5.js → features-Dhxz-wLc.js} +2 -2
- package/server/{feedback-target-Dqik2WTe.js → feedback-target-CPS15Vte.js} +7 -7
- package/server/{feedback-target-Dn9vfPpz.js → feedback-target-iygZwmMc.js} +1 -1
- package/server/{feedback-writer-Wlq5-qgS.js → feedback-writer-C9b6ccN1.js} +6 -5
- package/server/{feedback-writer-DDQNV8uc.js → feedback-writer-qmiMbqTZ.js} +1 -1
- package/server/{flywheel-Q-38YhZG.js → flywheel-DMCUzDWg.js} +1 -1
- package/server/{flywheel-1Wd8WDlh.js → flywheel-DSSpWmqF.js} +13 -13
- package/server/{flywheel-DPUc8r3V.js → flywheel-DcBkQvgE.js} +14 -14
- package/server/{flywheel-merge-order-CeBuX0EJ.js → flywheel-merge-order-C-6zRLvM.js} +1 -1
- package/server/{flywheel-merge-order-4SqOXFAr.js → flywheel-merge-order-DxbQKE1d.js} +8 -8
- package/server/forge-B-ZWyTRm.js +2 -0
- package/server/{forge-DBbDpiYc.js → forge-Ch9gCFod.js} +2 -2
- package/server/{from-hh6vTBGl.js → from-CJ_aH5jD.js} +1 -1
- package/server/{fts-db-6ponMie2.js → fts-db-CKgg0VKg.js} +2 -2
- package/server/{fts-operations-KIRK165y.js → fts-operations-BrL_VTRr.js} +2 -2
- package/server/git-utils-BVa07a4a.js +198 -0
- package/server/{git-utils-DmF5xkj8.js → git-utils-Dry_Ka_D.js} +1 -1
- package/server/{github-app-B3yfECo8.js → github-app-CMBdIFBQ.js} +11 -3
- package/server/{github-app-CeSVFL6C.js → github-app-CPfoFAdV.js} +1 -1
- package/server/{github-client-Dslipypz.js → github-client--XVlDpwM.js} +2 -2
- package/server/{github-client-4A6FgA8O.js → github-client-B4QsdE-X.js} +1 -1
- package/server/{github-pr-lookup-DBP0YHMr.js → github-pr-lookup-BRbDW-qk.js} +2 -2
- package/server/harness-binary-CVio2m-u.js +106 -0
- package/server/{harness-resolve-BGpO-OVM.js → harness-resolve-qHJBhy3Z.js} +9 -15
- package/server/{health-events-CZGZ5I-A.js → health-events-C9B8y1Hm.js} +2 -2
- package/server/{health-events-CnwV_SSz.js → health-events-CpfvuVmm.js} +1 -1
- package/server/{hooks-CoNscX84.js → hooks-DUXw8A0-.js} +2 -2
- package/server/{hooks-DvX33gY_.js → hooks-ltecuFqZ.js} +1 -1
- package/server/{hume-DSJt5eA_.js → hume-BEq0bUDg.js} +2 -2
- package/server/hume-B_DbflNM.js +3 -0
- package/server/{idle-stack-reaper-5DVRoY6P.js → idle-stack-reaper-D7w9t3fE.js} +1 -1
- package/server/{idle-stack-reaper-BfL8HqYy.js → idle-stack-reaper-w1ISSlhs.js} +2 -2
- package/server/{in-flight-guard-tVGiI5ee.js → in-flight-guard-aQ1IxeI3.js} +2 -2
- package/server/{infra-DN2wSxle.js → infra-CzaSOgul.js} +4 -4
- package/server/{injection-DtlT8Akv.js → injection-DZ0PfYa4.js} +7 -7
- package/server/{injection-DK9zh_HL.js → injection-oNZeoDhL.js} +1 -1
- package/server/{inspect-agent-DKByUS_F.js → inspect-agent-DJKLWcVT.js} +15 -11
- package/server/inspect-agent-ch-F-5Ci.js +2 -0
- package/server/{internal-token-DhfFiwW7.js → internal-token-Bb4XeV2x.js} +2 -2
- package/server/{internal-token-7bYL5v6K.js → internal-token-DXdfprGr.js} +1 -1
- package/server/{io-BiM-7Zsx.js → io-B3_AHDfr.js} +160 -184
- package/server/{issue-closed-Dfw3QDyZ.js → issue-closed-zhdvQicO.js} +7 -7
- package/server/{issue-lifecycle-B7HZWnTA.js → issue-lifecycle-CreaCkjW.js} +22 -22
- package/server/{issue-lifecycle-ytsEdDlK.js → issue-lifecycle-Dy4vd0Oa.js} +1 -1
- package/server/{issue-service-singleton-CPESc4Or.js → issue-service-singleton-B5ushCvE.js} +8 -8
- package/server/{issue-service-singleton-D5EB5eYr.js → issue-service-singleton-DabvBWUp.js} +1 -1
- package/server/{issues-XYtFMxrH.js → issues-B6ToV6x1.js} +2 -2
- package/server/{jsonl-parser-DJV2eZUP.js → jsonl-parser-Dhflo1SH.js} +3 -3
- package/server/{label-cleanup-CJ4m8iRU.js → label-cleanup-BKPJm4Hv.js} +3 -3
- package/server/{label-reconciler-CNf3Ylm3.js → label-reconciler-DdWbHEBu.js} +4 -4
- package/server/{launcher-generator-5DJRiovn.js → launcher-generator-CHVm7bGT.js} +10 -9
- package/server/{layers-cZx7ibtV.js → layers-DzxSTGNA.js} +2 -2
- package/server/lifecycle-DfeyBDwA.js +121 -0
- package/server/lifecycle-io-Bsnr2K4F.js +3 -0
- package/server/{lifecycle-io-DMurK4oM.js → lifecycle-io-D8iNBcux.js} +37 -37
- package/server/{lifecycle-CE7619Xw.js → lifecycle-sycO16hj.js} +6 -6
- package/server/{linear-client-BLyN-NiP.js → linear-client-D4zqMnX7.js} +2 -2
- package/server/{linear-client-Bj1l4FOA.js → linear-client-DqhDQO9k.js} +1 -1
- package/server/memory-fts-worker.js +1 -1
- package/server/{merge-hSC2BENe.js → merge-C_ZEhbqI.js} +3 -3
- package/server/{merge-CwX2_AWm.js → merge-DK23JEdS.js} +1 -1
- package/server/{merge-agent-CnORPiri.js → merge-agent-BQM3a8z5.js} +1 -1
- package/server/{merge-agent-DnBsms_V.js → merge-agent-XrB80vfT.js} +369 -213
- package/server/{merge-batch-C2w2U2eK.js → merge-batch-Bwoyr8Je.js} +1 -1
- package/server/{merge-blockers-DhRgh76x.js → merge-blockers-BsFjGrQ8.js} +2 -2
- package/server/merge-ops-DlB1IM0Y.js +2 -0
- package/server/{merge-rebase-CE-ZyOMY.js → merge-rebase-C1KIVr0s.js} +2 -2
- package/server/{merge-set-D7YNU1ZB.js → merge-set-DLz0MkGT.js} +3 -3
- package/server/{merge-set-DHkzPCJU.js → merge-set-DnSYdBEp.js} +1 -1
- package/server/{merge-sync-De1FYva5.js → merge-sync-DZ9dojJn.js} +2 -2
- package/server/{merge-sync-CpGA9Kg7.js → merge-sync-SSv3E-pl.js} +1 -1
- package/server/{merge-train-SvkRJZ-k.js → merge-train-DxDfBTjr.js} +3 -3
- package/server/{merge-train-deps-CECJTElu.js → merge-train-deps-CyYQUksx.js} +4 -4
- package/server/{merge-verification-B3meGcXF.js → merge-verification-CSizH3HY.js} +4 -4
- package/server/{multipart-parser-ByTMgYV5.js → multipart-parser-Dt8YPN5S.js} +2 -2
- package/server/{no-resume-mode-BnInAFKs.js → no-resume-mode-Cx3K0hHi.js} +11 -8
- 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-BTkDrl4R.js} +1 -1
- package/server/{orphan-proposed-reconciler-AxAGUouN.js → orphan-proposed-reconciler-neK8dHQk.js} +23 -14
- package/server/package-lock.json +6 -6
- package/server/package.json +1 -1
- package/server/{pan-dir-Rw17YjT1.js → pan-dir-DeVUgwA7.js} +78 -58
- package/server/{paths-FP8v3lTz.js → paths-_zEts6wc.js} +2 -2
- package/server/{pickup-xi3KTLaJ.js → pickup-Dd0Znxxy.js} +2 -2
- package/server/{pipeline-membership-BtKMNY7v.js → pipeline-membership-0HaEGDlH.js} +190 -68
- package/server/{pipeline-notifier-dQ-U4NSb.js → pipeline-notifier-6iCJplFZ.js} +1 -1
- package/server/{pipeline-notifier-BM2HLF7B.js → pipeline-notifier-D0ykk59O.js} +2 -2
- package/server/{project-pipelines-B59NfN44.js → project-pipelines-2sK1apsO.js} +2 -2
- package/server/projects-9SkRpES9.js +3 -0
- package/server/{prompts-CbqaVjbe.js → prompts-Dp4Tpk39.js} +2 -2
- package/server/providers-DKkBXhxU.js +3 -0
- package/server/{providers-d3pwXGVE.js → providers-DV7ec8l7.js} +7 -7
- package/server/public/assets/{chunk-BO2N2NFS-BxYSL7J-.js → chunk-BO2N2NFS-CltymLRg.js} +4 -4
- package/server/public/assets/{diagram-OG6HWLK6-C_F9Q2as.js → diagram-OG6HWLK6-D2f6pjgA.js} +1 -1
- package/server/public/assets/{dist-DQNg4CiF.js → dist-BWR4qFiV.js} +1 -1
- package/server/public/assets/{dist-CLSlc6cV.js → dist-DEmlBBNQ.js} +3 -3
- package/server/public/assets/{ganttDiagram-6RSMTGT7-Cq0my-0C.js → ganttDiagram-6RSMTGT7-DnfiViPK.js} +1 -1
- package/server/public/assets/{highlighted-body-OFNGDK62-eZC03dGh.js → highlighted-body-OFNGDK62-B8Wrmj9H.js} +1 -1
- package/server/public/assets/index-CUr1xv8w.css +1 -0
- package/server/public/assets/{index-SLYGA8AQ.js → index-CsSuZQBI.js} +148 -145
- package/server/public/assets/{linear-6Fi3qnGg.js → linear-C9zFQpkX.js} +1 -1
- package/server/public/assets/mermaid-GHXKKRXX-BUAB8hqt.js +1 -0
- package/server/public/assets/{pieDiagram-4H26LBE5-Dpmc6xsv.js → pieDiagram-4H26LBE5-lR8H7Yjd.js} +1 -1
- package/server/public/assets/{prod-ojHllFvN.js → prod-B1jCQihw.js} +4 -4
- package/server/public/assets/{quadrantDiagram-W4KKPZXB-Ulr9gON5.js → quadrantDiagram-W4KKPZXB-CVQ2guem.js} +1 -1
- package/server/public/assets/{sankeyDiagram-5OEKKPKP-CwdHGXfL.js → sankeyDiagram-5OEKKPKP-eD1RB4gm.js} +1 -1
- package/server/public/assets/{xychartDiagram-2RQKCTM6-r-bEDzJh.js → xychartDiagram-2RQKCTM6-ChEC6dQn.js} +1 -1
- package/server/public/index.html +54 -10
- package/server/{pull-requests-D3N6HQzI.js → pull-requests--Ib2jTgy.js} +1 -1
- package/server/{pull-requests-CjjPj7v6.js → pull-requests-CXIhdCYD.js} +13 -11
- package/server/{queries-B5hl7lMQ.js → queries-6d7Cdtm7.js} +723 -110
- package/server/{rally-Dp0Gb1DN.js → rally-B708-nZn.js} +3 -3
- package/server/{rally-api-DGaFz5L5.js → rally-api-nY0ZANw3.js} +2 -2
- package/server/{rally-api-CKr0O4DJ.js → rally-api-yjQ0TfHd.js} +1 -1
- package/server/{rally-client-SVbjGvqj.js → rally-client-B1EJhfV0.js} +4 -4
- package/server/{rally-client-Cqf6EX_r.js → rally-client-CULK2XAY.js} +1 -1
- package/server/rally-njs_mJrt.js +3 -0
- package/server/reap-terminal-sessions-MWnqdLCJ.js +4 -0
- package/server/{reap-terminal-sessions-CjqRAGw7.js → reap-terminal-sessions-N3BTkmX_.js} +11 -28
- package/server/{rebuild-stack-DHqCLvLX.js → rebuild-stack-Dp4eLkt4.js} +6 -6
- package/server/{rebuild-stack-DjdpALr1.js → rebuild-stack-kA7XngID.js} +1 -1
- package/server/{reconstruct-cache-BqrCQt0o.js → reconstruct-cache-uWbZfjms.js} +6 -6
- package/server/record-t6V-3Dcj.js +3 -0
- package/server/{record-update-BlB8mpKO.js → record-update-DACtKh6_.js} +1 -1
- package/server/record-update-Dq0t2uBG.js +310 -0
- package/server/{recovery-trip-l1Hsi37x.js → recovery-trip-BJtIQuag.js} +2 -2
- package/server/{release-engine-CSI4K6Oj.js → release-engine-DZpmGGzb.js} +5 -5
- package/server/{release-set-BywwggrE.js → release-set-hnXd_kga.js} +3 -3
- package/server/{remote-DYziAkiZ.js → remote-4tiENDaI.js} +3 -3
- package/server/{remote-cnoeuDWn.js → remote-Br-ZWVIP.js} +3 -3
- package/server/{remote-agents-BNORDWAX.js → remote-agents-CRCg1L4H.js} +1 -1
- package/server/{remote-agents-CZ2rc8I0.js → remote-agents-nmty1mLu.js} +6 -6
- package/server/{remote-completion-W67FNQ-A.js → remote-completion-BbWNd10K.js} +13 -13
- package/server/resume-CcKqnTvE.js +3 -0
- package/server/{review-agent-CSswH985.js → review-agent-DJRO8EG8.js} +1 -1
- package/server/{review-agent-CqSqSHkU.js → review-agent-sKkE1FEL.js} +23 -23
- package/server/{review-artifacts-BBgnd5df.js → review-artifacts-BLbSC4ke.js} +5 -5
- package/server/{review-context-Ctp9BdNJ.js → review-context-BgX3lcCx.js} +9 -9
- package/server/{review-status-CCgPVK1h.js → review-status-A7quS5KJ.js} +56 -39
- package/server/review-status-C6n6-9f_.js +3 -0
- package/server/{review-status-enrichment-DtDRGpst.js → review-status-enrichment-tbOn_A_u.js} +3 -3
- package/server/review-status-source-CxuEjLGg.js +39 -0
- package/server/{review-status-sync-jnLgd04F.js → review-status-sync-BhSQ0d0l.js} +2 -2
- package/server/{review-status-sync-C792ksoJ.js → review-status-sync-To3-iS-N.js} +1 -1
- package/server/{review-verdict-feedback-D5lW0o3k.js → review-verdict-feedback-C1Kg8n7t.js} +1 -1
- package/server/{review-verdict-feedback-CMsIpTpy.js → review-verdict-feedback-CTRNtzXO.js} +7 -7
- package/server/{rollup-B3kQmNpl.js → rollup-B53Y81xK.js} +1 -1
- package/server/{rollup-CLj_AK9f.js → rollup-WA0VD-Rr.js} +8 -8
- package/server/{scanner-C4NeC4FE.js → scanner-D2743cp8.js} +11 -7
- package/server/{sequence-io-Ce-6grIY.js → sequence-io-Cg0zYj_E.js} +4 -4
- package/server/{sequencer-agent-Bpz0yGmG.js → sequencer-agent-BGY8gjg-.js} +5 -5
- package/server/server.js +1348 -963
- package/server/{service-CqAY8Kmk.js → service-DCpB_SGd.js} +154 -51
- package/server/{session-fork-uNo4rMRA.js → session-fork-BQ8_6H32.js} +2 -2
- package/server/{session-history-DUehL3KN.js → session-history-CVZDpS3c.js} +4 -4
- package/server/{settings-DP2OYLXL.js → settings-BZ5m1UCl.js} +3 -3
- package/server/settings-D0OSwos5.js +2 -0
- package/server/{settings-D9grjmaP.js → settings-ylxwqwQG.js} +2 -2
- package/server/{shadow-engineering-Bi_oIMtF.js → shadow-engineering-BlxG6Xye.js} +3 -3
- package/server/{shadow-state-CDxEuPlE.js → shadow-state-C2_epgx2.js} +1 -1
- package/server/{shadow-state-a_ztFBJe.js → shadow-state-Dh-HzF2J.js} +2 -2
- package/server/{shadow-utils-CyOg6_Xq.js → shadow-utils-4bvjn9b3.js} +2 -2
- package/server/{ship-log-DDcueaIR.js → ship-log-ClSMIzZX.js} +1 -1
- package/server/{smart-compaction-C1_VVLEd.js → smart-compaction-CHIxLr_d.js} +1 -1
- package/server/{smart-compaction--Oj65Uov.js → smart-compaction-r4pHQBIr.js} +7 -7
- package/server/{spawn-planning-session-AiUSsBnH.js → spawn-planning-session-DWAorh2B.js} +25 -20
- package/server/{spawn-planning-session-LFtK2QCE.js → spawn-planning-session-KC_UduxD.js} +1 -1
- package/server/{specialist-completion-qOgqdqXH.js → specialist-completion-BXhav38U.js} +1 -1
- package/server/{specialist-context-gjj8Z4Ii.js → specialist-context-DtrYvGJ-.js} +5 -5
- package/server/{specialist-handoff-logger-BsBNvVZv.js → specialist-handoff-logger-C45ouoZ6.js} +2 -2
- package/server/{specialist-logs-CSLtvPx6.js → specialist-logs-DJ3RzKxW.js} +3 -3
- package/server/{specialists-D0VBf8g_.js → specialists-D5fRZXmN.js} +1 -1
- package/server/specialists-DVj0hvaL.js +3 -0
- package/server/{specialists-CYRwELzc.js → specialists-DyFeedjn.js} +66 -76
- package/server/{specialists-DAegTvRt.js → specialists-JVO00bs7.js} +374 -220
- package/server/specs-nN45DG2X.js +3 -0
- package/server/{src-OLoJhUiJ.js → src-CG9mCkP6.js} +6 -6
- package/server/{src-BqTcrfO_.js → src-CMTQGyCK.js} +3 -3
- package/server/{src-Dpq1yFIl.js → src-U7_kTPEE.js} +338 -4
- package/server/{stack-health-I713ELld.js → stack-health-Df0YEZKa.js} +1 -1
- package/server/{stack-health-DV_f-lK0.js → stack-health-puygdaMd.js} +2 -2
- package/server/{stale-task-claims-CQSKZVq0.js → stale-task-claims-BbFwCTb0.js} +4 -4
- package/server/{staleness-BbsGxmF2.js → staleness-Bpy41ngS.js} +15 -3
- package/server/{staleness-zGp4P1hd.js → staleness-Cbl_w4Bw.js} +1 -1
- package/server/{state-home-DixkE-up.js → state-home-CIGjwNfJ.js} +119 -54
- package/server/state-migrate-Dkzaxvny.js +487 -0
- package/server/{stuck-remediation-BWkK_O7A.js → stuck-remediation-CzEov_fq.js} +27 -21
- package/server/{stuck-remediation-CTPRC2S5.js → stuck-remediation-sY_MHHgQ.js} +1 -1
- package/server/{substrate-bug-weights-service-DXd0ID83.js → substrate-bug-weights-service-BH66lhm7.js} +3 -3
- package/server/{summary-fork-CdLn8Chr.js → summary-fork-D8bXjCr7.js} +2 -2
- package/server/{summary-fork-f3DpgjXh.js → summary-fork-DHhJIsAL.js} +8 -8
- package/server/{supervisor-Ch8CDuoF.js → supervisor-BO-Zk_h-.js} +3 -3
- package/server/supervisor-BPy-o1A8.js +2 -0
- package/server/{swarm-readiness-C9P2iPap.js → swarm-readiness-CQ_fwUWF.js} +4 -4
- package/server/{system-prerequisites-DkoQBn1q.js → system-prerequisites-Bza0ffAh.js} +24 -44
- package/server/{teardown-workspace-D-5yMyit.js → teardown-workspace-CEgauF4U.js} +15 -15
- package/server/{test-agent-queue-BwpUpu-o.js → test-agent-queue-DXDt0Xa-.js} +7 -7
- package/server/{test-verdict-BRiSu7eW.js → test-verdict-CmUBK5cT.js} +1 -1
- package/server/{test-verdict-BQ1yx7d4.js → test-verdict-DFjjIHR5.js} +1 -1
- package/server/{tldr-daemon-DjxP5g6Y.js → tldr-daemon-BDtLOIlO.js} +2 -2
- package/server/{tldr-daemon-BJA7TkqS.js → tldr-daemon-DL566HbH.js} +1 -1
- package/server/tmux-DoThH6aj.js +3 -0
- package/server/{tmux-y1blSxks.js → tmux-ftABRAmc.js} +76 -44
- package/server/{token-LUrbM9sU.js → token-CsOhvw42.js} +2 -2
- package/server/{token-util-BZaDAQ8S.js → token-util-CTmczIfW.js} +1 -1
- package/server/token-util-DrHg8abn.js +3 -0
- package/server/{tracker-config-DSFZBdXP.js → tracker-config-B4itFzDo.js} +2 -2
- package/server/{tracker-utils-WtP_V-yn.js → tracker-utils-BePq_oj-.js} +1 -1
- package/server/{tracker-utils-DiceZN3a.js → tracker-utils-tnxxqROg.js} +2 -2
- package/server/{traefik-connect-BXqfOP4-.js → traefik-connect-m73vGebA.js} +1 -1
- package/server/{tunnel-DTng1rfQ.js → tunnel-B2vxjx_b.js} +3 -3
- package/server/{tunnel-WcJImbAC.js → tunnel-Cgj-IGIl.js} +1 -1
- package/server/{types-BjaZ1oqH.js → types-BBNjPcqU.js} +1 -1
- package/server/{types-DqeBMmJN.js → types-hraoaQIp.js} +1 -1
- package/server/{uat-train-BpLnp7Cx.js → uat-train-CuEn0t9M.js} +28 -28
- package/server/{uat-train-Wismge7h.js → uat-train-cKfM-_WW.js} +1 -1
- package/server/{validation-BA4e5EGm.js → validation-B5JxoPUS.js} +259 -9
- package/server/{validation-CUWamZ4X.js → validation-CIi6pnI2.js} +1 -1
- package/server/{verification-artifact-Dr_0g9nb.js → verification-artifact-BcnIbigL.js} +1 -1
- package/server/{verification-artifact-CrbI4tJE.js → verification-artifact-C-lIHfUa.js} +1 -1
- package/server/{verification-runner-gAzh3cVD.js → verification-runner-Br0S_Ous.js} +103 -37
- package/server/{verification-runner-Dcksl_P-.js → verification-runner-CDj4lD4t.js} +1 -1
- package/server/{vtt-parser-3VZKsmSm.js → vtt-parser-DKpNNW5i.js} +1 -1
- package/server/{work-agent-prompt-ULdcANl5.js → work-agent-prompt-Yb2bd3Fq.js} +16 -15
- package/server/{workflows-B8ROFlfw.js → workflows-C9WmILql.js} +39 -77
- package/server/workflows-D90rMOya.js +2 -0
- package/server/{workspace-DhTDA8nB.js → workspace-BVl4rihN.js} +3 -3
- package/server/{workspace-DSjUJaJN.js → workspace-DuUdndHe.js} +1 -1
- package/server/{workspace-config-BAAsAv-o.js → workspace-config-cEGcO6UT.js} +1 -1
- package/server/{workspace-manager-CcujONCR.js → workspace-manager-ZTdJAy9M.js} +1 -1
- package/server/{workspace-manager-DsN52IMG.js → workspace-manager-hLUv3ADC.js} +23 -16
- package/server/{workspace-metadata-DIL5_U4c.js → workspace-metadata-CskwzzhL.js} +2 -2
- package/server/{workspace-metadata-CftOpNLs.js → workspace-metadata-DNpMixRq.js} +1 -1
- package/server/{workspaces-Dmlh1YXm.js → workspaces-hWvy9eKs.js} +276 -110
- package/sync-sources/agents/pan-inspect-agent.md +1 -1
- package/sync-sources/agents/pan-merge-agent.md +1 -1
- package/sync-sources/agents/pan-planning-agent.md +4 -4
- package/sync-sources/agents/pan-work-agent.md +1 -1
- package/sync-sources/dev-skills/pan-commit/SKILL.md +1 -1
- package/sync-sources/dev-skills/test-specialist-workflow/SKILL.md +1 -1
- package/sync-sources/hooks/record-cost-event.js +363 -71
- package/sync-sources/hooks/session-start-hook +7 -0
- package/sync-sources/hooks/work-agent-stop-hook +1 -1
- package/sync-sources/rules/per-bead-durability.md +1 -1
- package/sync-sources/rules/prd-authoring.md +1 -1
- package/sync-sources/skills/feature-work/SKILL.md +1 -1
- package/sync-sources/skills/pan/SKILL.md +2 -2
- package/sync-sources/skills/pan-admin-config/SKILL.md +1 -0
- package/sync-sources/skills/pan-approve/SKILL.md +1 -1
- package/sync-sources/skills/pan-close/SKILL.md +1 -1
- package/sync-sources/skills/pan-doctor/SKILL.md +1 -1
- package/sync-sources/skills/pan-new-project/SKILL.md +9 -11
- package/sync-sources/skills/pan-oversee/SKILL.md +5 -5
- package/sync-sources/skills/pan-plan/SKILL.md +6 -6
- package/sync-sources/skills/pan-quickstart/SKILL.md +1 -1
- package/sync-sources/skills/pan-recap/SKILL.md +2 -2
- package/sync-sources/skills/pan-review/SKILL.md +1 -1
- package/sync-sources/skills/pan-start/SKILL.md +26 -3
- package/sync-sources/skills/pan-swarm/SKILL.md +1 -1
- package/sync-sources/skills/pan-sync/SKILL.md +1 -1
- package/sync-sources/skills/pan-task/SKILL.md +2 -2
- package/sync-sources/skills/pan-wipe/SKILL.md +2 -2
- package/sync-sources/skills/pipeline-list/SKILL.md +1 -1
- package/sync-sources/skills/pipeline-status/SKILL.md +2 -2
- package/sync-sources/skills/plan/SKILL.md +11 -11
- package/sync-sources/skills/write-vbrief/SKILL.md +7 -282
- package/sync-sources/skills/write-xbrief/SKILL.md +295 -0
- package/sync-sources/templates/claude-md/sections/warnings.md +1 -1
- package/server/agent-state-BV_6RHnO.js +0 -3
- package/server/agents-Czz6R57Z.js +0 -3
- package/server/cli-ChErG518.js +0 -3
- package/server/codex-BBeZ8c3s.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/lifecycle-io-CUpsxG0p.js +0 -3
- 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/index-C6NLz_1S.css +0 -1
- 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-update-RviRDSNs.js +0 -168
- package/server/record-us0YECMO.js +0 -3
- package/server/resume-OyN3dEXE.js +0 -3
- package/server/review-status-DXeqFpk5.js +0 -3
- package/server/settings-BaPXXJsT.js +0 -2
- package/server/specialists-C6WkeKFK.js +0 -3
- package/server/specs-BsNcum0h.js +0 -3
- package/server/state-migrate-_zJJ6XKE.js +0 -362
- package/server/supervisor-Qy1QecAs.js +0 -2
- package/server/tmux-HQLgwo_C.js +0 -3
- package/server/token-util-Cg-QnowA.js +0 -3
- package/server/workflows-C5c-RPsY.js +0 -2
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { a as PAN_DIRNAME, i as PAN_CONTINUE_FILENAME } from "./types-
|
|
3
|
-
import { f as init_config, m as loadConfigSync } from "./config-
|
|
4
|
-
import { t as init_pan_dir } from "./pan-dir-
|
|
5
|
-
import { r as init_workspace_manager, t as createWorkspace } from "./workspace-manager-
|
|
6
|
-
import { _ as saveRemoteAgentState, f as listActiveRemoteAgentStates, m as loadRemoteAgentState, o as getRemoteAgentOutput, s as init_remote_agents, u as isRemoteAgentRunning, v as sendToRemoteAgent } from "./remote-agents-
|
|
7
|
-
import { t as createFlyProviderFromConfig } from "./remote-
|
|
1
|
+
import { Tn as init_projects, mn as findProjectByTeamSync, un as extractTeamPrefix, zn as resolveProjectFromIssueSync } from "./config-yaml-DvyMuOle.js";
|
|
2
|
+
import { a as PAN_DIRNAME, i as PAN_CONTINUE_FILENAME } from "./types-hraoaQIp.js";
|
|
3
|
+
import { f as init_config, m as loadConfigSync } from "./config-CCvjQf27.js";
|
|
4
|
+
import { t as init_pan_dir } from "./pan-dir-DeVUgwA7.js";
|
|
5
|
+
import { r as init_workspace_manager, t as createWorkspace } from "./workspace-manager-hLUv3ADC.js";
|
|
6
|
+
import { _ as saveRemoteAgentState, f as listActiveRemoteAgentStates, m as loadRemoteAgentState, o as getRemoteAgentOutput, s as init_remote_agents, u as isRemoteAgentRunning, v as sendToRemoteAgent } from "./remote-agents-nmty1mLu.js";
|
|
7
|
+
import { t as createFlyProviderFromConfig } from "./remote-Br-ZWVIP.js";
|
|
8
8
|
import { Effect } from "effect";
|
|
9
9
|
import { existsSync, mkdirSync, statSync, unlinkSync, writeFileSync } from "fs";
|
|
10
10
|
import { basename, join } from "path";
|
|
@@ -309,7 +309,7 @@ async function reapCompletedRemoteAgents(opts = {}) {
|
|
|
309
309
|
} catch {
|
|
310
310
|
details.push("No continue.json retrieved from VM (skipped)");
|
|
311
311
|
}
|
|
312
|
-
const { getAgentStateSync, saveAgentStateSync } = await import("./agents-
|
|
312
|
+
const { getAgentStateSync, saveAgentStateSync } = await import("./agents-FlIgQ3ql.js");
|
|
313
313
|
const existing = getAgentStateSync(agentId);
|
|
314
314
|
if (existing) {
|
|
315
315
|
existing.workspace = existing.workspace || workspacePath;
|
|
@@ -327,8 +327,8 @@ async function reapCompletedRemoteAgents(opts = {}) {
|
|
|
327
327
|
startedAt: remoteState.startedAt,
|
|
328
328
|
lastActivity: (/* @__PURE__ */ new Date()).toISOString()
|
|
329
329
|
});
|
|
330
|
-
const { createReviewArtifactsForIssue } = await import("./review-artifacts-
|
|
331
|
-
const { setReviewStatusSync } = await import("./review-status-
|
|
330
|
+
const { createReviewArtifactsForIssue } = await import("./review-artifacts-BLbSC4ke.js");
|
|
331
|
+
const { setReviewStatusSync } = await import("./review-status-C6n6-9f_.js");
|
|
332
332
|
const primaryArtifact = (await Effect.runPromise(createReviewArtifactsForIssue(issueId, workspacePath))).mergeSet?.repos.find((repo) => !!repo.artifactUrl);
|
|
333
333
|
if (primaryArtifact?.artifactUrl) {
|
|
334
334
|
setReviewStatusSync(issueId, { prUrl: primaryArtifact.artifactUrl });
|
|
@@ -349,7 +349,7 @@ async function reapCompletedRemoteAgents(opts = {}) {
|
|
|
349
349
|
try {
|
|
350
350
|
const fly = createFlyProviderFromConfig(loadConfigSync().remote);
|
|
351
351
|
if (sessionAlive) {
|
|
352
|
-
const { killRemoteAgent } = await import("./remote-agents-
|
|
352
|
+
const { killRemoteAgent } = await import("./remote-agents-CRCg1L4H.js");
|
|
353
353
|
await killRemoteAgent(agentId, vmName).catch(() => void 0);
|
|
354
354
|
}
|
|
355
355
|
await Effect.runPromise(fly.deleteVm(vmName));
|
|
@@ -357,7 +357,7 @@ async function reapCompletedRemoteAgents(opts = {}) {
|
|
|
357
357
|
} catch (err) {
|
|
358
358
|
details.push(`Warning: could not destroy machine: ${err.message}`);
|
|
359
359
|
}
|
|
360
|
-
const { deleteWorkspaceMetadataSync } = await import("./workspace-metadata-
|
|
360
|
+
const { deleteWorkspaceMetadataSync } = await import("./workspace-metadata-DNpMixRq.js");
|
|
361
361
|
deleteWorkspaceMetadataSync(issueId);
|
|
362
362
|
details.push("Removed remote workspace metadata (pipeline is local from here)");
|
|
363
363
|
saveRemoteAgentState({
|
|
@@ -386,4 +386,4 @@ async function reapCompletedRemoteAgents(opts = {}) {
|
|
|
386
386
|
//#endregion
|
|
387
387
|
export { reapCompletedRemoteAgents, refreshClaudeCredentialsForActiveRemoteAgents };
|
|
388
388
|
|
|
389
|
-
//# sourceMappingURL=remote-completion-
|
|
389
|
+
//# sourceMappingURL=remote-completion-BbWNd10K.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { a as isReviewStaleSync, c as purgeReviewAgentsForIssue, d as buildConvoyPrompt, f as handleReviewDiscoveryReady, h as reviewResumeDecision, i as isReviewSessionForIssue, l as resolveReviewMode, m as spawnReviewSubRoleForIssue, n as init_review_agent, o as killAllReviewSessions, p as resolveReReviewScope, r as isExtendedReviewEnabled, s as killAllReviewerSessions, t as PARENT_REVIEW_TIMEOUT_MS, u as spawnReviewRoleForIssue } from "./review-agent-
|
|
1
|
+
import { a as isReviewStaleSync, c as purgeReviewAgentsForIssue, d as buildConvoyPrompt, f as handleReviewDiscoveryReady, h as reviewResumeDecision, i as isReviewSessionForIssue, l as resolveReviewMode, m as spawnReviewSubRoleForIssue, n as init_review_agent, o as killAllReviewSessions, p as resolveReReviewScope, r as isExtendedReviewEnabled, s as killAllReviewerSessions, t as PARENT_REVIEW_TIMEOUT_MS, u as spawnReviewRoleForIssue } from "./review-agent-sKkE1FEL.js";
|
|
2
2
|
init_review_agent();
|
|
3
3
|
export { PARENT_REVIEW_TIMEOUT_MS, buildConvoyPrompt, handleReviewDiscoveryReady, isExtendedReviewEnabled, isReviewSessionForIssue, isReviewStaleSync, killAllReviewSessions, killAllReviewerSessions, purgeReviewAgentsForIssue, resolveReReviewScope, resolveReviewMode, reviewResumeDecision, spawnReviewRoleForIssue, spawnReviewSubRoleForIssue };
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import {
|
|
2
|
+
import { Ft as resolveProjectForIssue, Gr as sessionFilePath, Nt as readIssueRecordSync, Ot as init_record, Ur as packageRoot, Vr as init_paths, f as loadConfigSync, hr as AGENTS_DIR, t as init_config_yaml, tt as resolveModel } from "./config-yaml-DvyMuOle.js";
|
|
3
3
|
import { a as init_activity_logger, n as emitActivityEntrySync } from "./activity-logger-DDlOIAML.js";
|
|
4
|
-
import { D as killSession, E as isPaneDead,
|
|
5
|
-
import {
|
|
6
|
-
import { l as removeAgentSync, o as init_agents, s as listAgentIdsByPrefixSync } from "./agents-
|
|
7
|
-
import {
|
|
8
|
-
import { a as PAN_DIRNAME, p as init_types } from "./types-
|
|
9
|
-
import { a as init_review_convoy_liveness, c as init_review_monitor, i as evaluateReviewConvoyLiveness, n as createPromiseCoalescer, r as init_in_flight_guard, s as REVIEW_SUB_ROLES } from "./in-flight-guard-
|
|
10
|
-
import { n as shouldSkipDispatchAsMerged, t as init_merge_verification } from "./merge-verification-
|
|
11
|
-
import { n as formatTier1Summary, o as init_review_context, t as buildReviewContext } from "./review-context-
|
|
12
|
-
import { a as resolveConflictGate, i as init_conflict_gate, r as getCachedConflictGateMergeability, t as buildRealConflictGateDeps } from "./conflict-gate-
|
|
4
|
+
import { D as killSession, E as isPaneDead, M as listSessionNames, w as init_tmux } from "./tmux-ftABRAmc.js";
|
|
5
|
+
import { b as setReviewStatusSync, c as getReviewStatusSync, l as init_review_status } from "./review-status-A7quS5KJ.js";
|
|
6
|
+
import { l as removeAgentSync, o as init_agents, s as listAgentIdsByPrefixSync } from "./agents-B4Bjbkfv.js";
|
|
7
|
+
import { Gn as init_agent_state, Jt as providerDefaultHarnessSync, Wn as getAgentStateSync, b as init_agents$1, qt as init_staffing } from "./queries-6d7Cdtm7.js";
|
|
8
|
+
import { a as PAN_DIRNAME, p as init_types } from "./types-hraoaQIp.js";
|
|
9
|
+
import { a as init_review_convoy_liveness, c as init_review_monitor, i as evaluateReviewConvoyLiveness, n as createPromiseCoalescer, r as init_in_flight_guard, s as REVIEW_SUB_ROLES } from "./in-flight-guard-aQ1IxeI3.js";
|
|
10
|
+
import { n as shouldSkipDispatchAsMerged, t as init_merge_verification } from "./merge-verification-CSizH3HY.js";
|
|
11
|
+
import { n as formatTier1Summary, o as init_review_context, t as buildReviewContext } from "./review-context-BgX3lcCx.js";
|
|
12
|
+
import { a as resolveConflictGate, i as init_conflict_gate, r as getCachedConflictGateMergeability, t as buildRealConflictGateDeps } from "./conflict-gate-CmrYpa47.js";
|
|
13
13
|
import { Effect } from "effect";
|
|
14
14
|
import { existsSync } from "fs";
|
|
15
15
|
import { dirname, join } from "path";
|
|
@@ -151,7 +151,7 @@ async function buildConvoyPromptPromise(opts) {
|
|
|
151
151
|
}
|
|
152
152
|
async function spawnReviewSubRoleForIssuePromise(opts) {
|
|
153
153
|
try {
|
|
154
|
-
const { saveAgentState, spawnRun, getAgentStateSync, getLatestSessionIdSync, resumeAgent, stopAgent } = await import("./agents-
|
|
154
|
+
const { saveAgentState, spawnRun, getAgentStateSync, getLatestSessionIdSync, resumeAgent, stopAgent } = await import("./agents-FlIgQ3ql.js");
|
|
155
155
|
const cfg = loadConfigSync().config;
|
|
156
156
|
const outputPath = opts.outputPath ?? reviewerAgentOutputPath(opts.workspace, opts.runId, opts.subRole);
|
|
157
157
|
const synthesisAgentId = opts.synthesisAgentId ?? `agent-${opts.issueId.toLowerCase()}-review`;
|
|
@@ -239,7 +239,7 @@ async function spawnReviewSubRoleForIssuePromise(opts) {
|
|
|
239
239
|
if (opts.forkedSessionId) run.reviewForkedFromParent = true;
|
|
240
240
|
await Effect.runPromise(saveAgentState(run));
|
|
241
241
|
try {
|
|
242
|
-
const { notifyPipelineSync } = await import("./pipeline-notifier-
|
|
242
|
+
const { notifyPipelineSync } = await import("./pipeline-notifier-6iCJplFZ.js");
|
|
243
243
|
notifyPipelineSync({
|
|
244
244
|
type: "reviewer_started",
|
|
245
245
|
issueId: opts.issueId,
|
|
@@ -270,7 +270,7 @@ async function computeConvoyScope(issueId, workspace) {
|
|
|
270
270
|
let carried = [];
|
|
271
271
|
let scope = "changed";
|
|
272
272
|
try {
|
|
273
|
-
const { getReviewStatusSync } = await import("./review-status-
|
|
273
|
+
const { getReviewStatusSync } = await import("./review-status-C6n6-9f_.js");
|
|
274
274
|
scope = resolveReReviewScope(issueId);
|
|
275
275
|
const priorVerdicts = getReviewStatusSync(issueId)?.reviewerVerdicts;
|
|
276
276
|
let changedFiles;
|
|
@@ -313,13 +313,13 @@ async function computeConvoyScope(issueId, workspace) {
|
|
|
313
313
|
*/
|
|
314
314
|
async function forkParentSessionForReviewer(parentAgentId, workspace) {
|
|
315
315
|
try {
|
|
316
|
-
const { getLatestSessionIdSync } = await import("./agents-
|
|
316
|
+
const { getLatestSessionIdSync } = await import("./agents-FlIgQ3ql.js");
|
|
317
317
|
const parentSessionId = getLatestSessionIdSync(parentAgentId);
|
|
318
318
|
if (!parentSessionId) return null;
|
|
319
319
|
const src = sessionFilePath(workspace, parentSessionId);
|
|
320
320
|
const { existsSync } = await import("fs");
|
|
321
321
|
if (!existsSync(src)) return null;
|
|
322
|
-
const { reserveForkSession, copySessionForFork } = await import("./session-fork-
|
|
322
|
+
const { reserveForkSession, copySessionForFork } = await import("./session-fork-BQ8_6H32.js");
|
|
323
323
|
const reserved = await reserveForkSession(workspace);
|
|
324
324
|
await copySessionForFork(src, reserved.sessionFile, { fullHistory: true });
|
|
325
325
|
return reserved.sessionId;
|
|
@@ -357,13 +357,13 @@ async function launchConvoyReviewersPromise(params) {
|
|
|
357
357
|
}
|
|
358
358
|
}
|
|
359
359
|
const cfg = loadConfigSync().config;
|
|
360
|
-
const { getAgentStateSync } = await import("./agents-
|
|
360
|
+
const { getAgentStateSync } = await import("./agents-FlIgQ3ql.js");
|
|
361
361
|
const parentState = getAgentStateSync(params.synthesisAgentId);
|
|
362
362
|
const reviewerResults = await Promise.all(params.inScope.map(async (subRole) => {
|
|
363
363
|
const outputPath = reviewerAgentOutputPath(params.workspace, params.runId, subRole);
|
|
364
364
|
let forkedSessionId;
|
|
365
365
|
if (params.forkFromParent && parentState?.harness === "claude-code" && !params.harness) try {
|
|
366
|
-
const { getLatestSessionIdSync } = await import("./agents-
|
|
366
|
+
const { getLatestSessionIdSync } = await import("./agents-FlIgQ3ql.js");
|
|
367
367
|
const reviewerModel = params.model ?? resolveModel("review", subRole, cfg);
|
|
368
368
|
if (!!!getLatestSessionIdSync(reviewerAgentId(params.issueId, subRole)) && reviewerModel === parentState.model) {
|
|
369
369
|
forkedSessionId = await forkParentSessionForReviewer(params.synthesisAgentId, params.workspace) ?? void 0;
|
|
@@ -384,7 +384,7 @@ async function launchConvoyReviewersPromise(params) {
|
|
|
384
384
|
allowHost: params.allowHost ?? false
|
|
385
385
|
}));
|
|
386
386
|
if (!result.success) try {
|
|
387
|
-
const { messageAgent } = await import("./agents-
|
|
387
|
+
const { messageAgent } = await import("./agents-FlIgQ3ql.js");
|
|
388
388
|
await messageAgent(params.synthesisAgentId, `REVIEWER_FAILED ${subRole} ${result.error ?? result.message}`);
|
|
389
389
|
} catch (signalErr) {
|
|
390
390
|
console.warn(`[review-agent] Failed to signal ${subRole} spawn failure to ${params.synthesisAgentId}:`, signalErr);
|
|
@@ -411,7 +411,7 @@ async function launchConvoyReviewersPromise(params) {
|
|
|
411
411
|
async function handleReviewDiscoveryReady(issueId, opts = {}) {
|
|
412
412
|
const normalized = issueId.toUpperCase();
|
|
413
413
|
const parentId = `agent-${normalized.toLowerCase()}-review`;
|
|
414
|
-
const { saveAgentState, getAgentStateSync } = await import("./agents-
|
|
414
|
+
const { saveAgentState, getAgentStateSync } = await import("./agents-FlIgQ3ql.js");
|
|
415
415
|
const parent = getAgentStateSync(parentId);
|
|
416
416
|
if (!parent) return {
|
|
417
417
|
success: false,
|
|
@@ -826,7 +826,7 @@ async function spawnReviewRoleForIssuePromise(opts) {
|
|
|
826
826
|
};
|
|
827
827
|
}
|
|
828
828
|
try {
|
|
829
|
-
const { archiveFeedbackFiles } = await import("./feedback-writer-
|
|
829
|
+
const { archiveFeedbackFiles } = await import("./feedback-writer-qmiMbqTZ.js");
|
|
830
830
|
await Effect.runPromise(archiveFeedbackFiles(opts.workspace));
|
|
831
831
|
} catch {}
|
|
832
832
|
try {
|
|
@@ -843,7 +843,7 @@ async function spawnReviewRoleForIssuePromise(opts) {
|
|
|
843
843
|
};
|
|
844
844
|
}
|
|
845
845
|
try {
|
|
846
|
-
const { notifyPipelineSync } = await import("./pipeline-notifier-
|
|
846
|
+
const { notifyPipelineSync } = await import("./pipeline-notifier-6iCJplFZ.js");
|
|
847
847
|
notifyPipelineSync({
|
|
848
848
|
type: "task_queued",
|
|
849
849
|
specialist: "review-agent",
|
|
@@ -851,7 +851,7 @@ async function spawnReviewRoleForIssuePromise(opts) {
|
|
|
851
851
|
});
|
|
852
852
|
} catch {}
|
|
853
853
|
try {
|
|
854
|
-
const { spawnRun, saveAgentState, getAgentState, getAgentStateSync, getLatestSessionIdSync, resumeAgent, wipeAgentStateDirs } = await import("./agents-
|
|
854
|
+
const { spawnRun, saveAgentState, getAgentState, getAgentStateSync, getLatestSessionIdSync, resumeAgent, wipeAgentStateDirs } = await import("./agents-FlIgQ3ql.js");
|
|
855
855
|
const workAgentState = await Effect.runPromise(getAgentState(`agent-${opts.issueId.toLowerCase()}`));
|
|
856
856
|
const allowHost = opts.allowHost === true || workAgentState?.hostOverride === true;
|
|
857
857
|
let headSha = "unknown";
|
|
@@ -1225,4 +1225,4 @@ var init_review_agent = __esmMin((() => {
|
|
|
1225
1225
|
//#endregion
|
|
1226
1226
|
export { isReviewStaleSync as a, purgeReviewAgentsForIssue as c, buildConvoyPrompt as d, handleReviewDiscoveryReady as f, reviewResumeDecision as h, isReviewSessionForIssue as i, resolveReviewMode as l, spawnReviewSubRoleForIssue as m, init_review_agent as n, killAllReviewSessions as o, resolveReReviewScope as p, isExtendedReviewEnabled as r, killAllReviewerSessions as s, PARENT_REVIEW_TIMEOUT_MS as t, spawnReviewRoleForIssue as u };
|
|
1227
1227
|
|
|
1228
|
-
//# sourceMappingURL=review-agent-
|
|
1228
|
+
//# sourceMappingURL=review-agent-sKkE1FEL.js.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Yn as init_issue_id, qn as extractNumberSync } from "./config-yaml-DvyMuOle.js";
|
|
2
2
|
import { a as init_activity_logger, n as emitActivityEntrySync } from "./activity-logger-DDlOIAML.js";
|
|
3
|
-
import { a as upsertMergeSetSync, i as init_merge_set, n as ensureMergeSetForIssueSync, o as withRepoArtifactUrlSync, s as withRepoStateSync } from "./merge-set-
|
|
4
|
-
import { i as findPlanSync, o as init_io } from "./io-
|
|
5
|
-
import { n as getForgeAdapter } from "./forge-
|
|
3
|
+
import { a as upsertMergeSetSync, i as init_merge_set, n as ensureMergeSetForIssueSync, o as withRepoArtifactUrlSync, s as withRepoStateSync } from "./merge-set-DLz0MkGT.js";
|
|
4
|
+
import { i as findPlanSync, o as init_io } from "./io-B3_AHDfr.js";
|
|
5
|
+
import { n as getForgeAdapter } from "./forge-Ch9gCFod.js";
|
|
6
6
|
import { join } from "node:path";
|
|
7
7
|
import { Data, Effect } from "effect";
|
|
8
8
|
import { existsSync } from "node:fs";
|
|
@@ -153,4 +153,4 @@ const createReviewArtifactsForIssue = (issueId, workspacePath) => Effect.tryProm
|
|
|
153
153
|
//#endregion
|
|
154
154
|
export { createReviewArtifactsForIssue };
|
|
155
155
|
|
|
156
|
-
//# sourceMappingURL=review-artifacts-
|
|
156
|
+
//# sourceMappingURL=review-artifacts-BLbSC4ke.js.map
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import {
|
|
3
|
-
import { a as PAN_DIRNAME, p as init_types } from "./types-
|
|
4
|
-
import { i as findPlanSync, o as init_io, u as readPlan } from "./io-
|
|
5
|
-
import { d as getDevrootPathSync, f as init_config } from "./config-
|
|
6
|
-
import { a as init_lifecycle_io, i as
|
|
7
|
-
import { n as init_review_verdict_feedback } from "./review-verdict-feedback-
|
|
8
|
-
import { n as init_github_pr_lookup, r as lookupPullRequestNumberForBranch } from "./github-pr-lookup-
|
|
2
|
+
import { ir as FsError, mr as init_errors } from "./config-yaml-DvyMuOle.js";
|
|
3
|
+
import { a as PAN_DIRNAME, p as init_types } from "./types-hraoaQIp.js";
|
|
4
|
+
import { i as findPlanSync, o as init_io, u as readPlan } from "./io-B3_AHDfr.js";
|
|
5
|
+
import { d as getDevrootPathSync, f as init_config } from "./config-CCvjQf27.js";
|
|
6
|
+
import { a as init_lifecycle_io, i as findXBriefByIssueSync } from "./lifecycle-io-D8iNBcux.js";
|
|
7
|
+
import { n as init_review_verdict_feedback } from "./review-verdict-feedback-CTRNtzXO.js";
|
|
8
|
+
import { n as init_github_pr_lookup, r as lookupPullRequestNumberForBranch } from "./github-pr-lookup-BRbDW-qk.js";
|
|
9
9
|
import { Effect } from "effect";
|
|
10
10
|
import { existsSync } from "fs";
|
|
11
11
|
import { join } from "path";
|
|
@@ -444,7 +444,7 @@ async function extractPlanReviewRequirements(workspace, issueId) {
|
|
|
444
444
|
nonGoals: [],
|
|
445
445
|
traces: []
|
|
446
446
|
};
|
|
447
|
-
const found =
|
|
447
|
+
const found = findXBriefByIssueSync(projectRoot, issueId);
|
|
448
448
|
if (found) return {
|
|
449
449
|
acceptanceCriteria: flattenAC(found.document),
|
|
450
450
|
nonGoals: flattenNonGoals(found.document),
|
|
@@ -700,4 +700,4 @@ var init_review_context = __esmMin((() => {
|
|
|
700
700
|
//#endregion
|
|
701
701
|
export { getDiffStat as a, getDiffBase as i, formatTier1Summary as n, init_review_context as o, getChangedFiles as r, buildReviewContext as t };
|
|
702
702
|
|
|
703
|
-
//# sourceMappingURL=review-context-
|
|
703
|
+
//# sourceMappingURL=review-context-BgX3lcCx.js.map
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import {
|
|
2
|
+
import { Et as getIssueWorkspacePath, Nt as readIssueRecordSync, Ot as init_record, Tn as init_projects, fn as findProjectByPathSync, jt as readIssueRecord, nn as init_state_read_home, rn as resolveStateReadHomeSync, yn as getProjectSync, zn as resolveProjectFromIssueSync } from "./config-yaml-DvyMuOle.js";
|
|
3
3
|
import { a as init_activity_logger, n as emitActivityEntrySync, r as emitActivityTtsSync } from "./activity-logger-DDlOIAML.js";
|
|
4
|
-
import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-
|
|
5
|
-
import { n as updateIssueRecord, t as init_record_update } from "./record-update-
|
|
6
|
-
import { d as init_cost_sync, i as getCostBreakdownByStageAndModelSync, o as getCostForIssueSync } from "./cost-sync-
|
|
7
|
-
import { r as notifyPipelineSync, t as init_pipeline_notifier } from "./pipeline-notifier-
|
|
8
|
-
import { c as init_review_status_sync, d as init_review_status_normalize, f as normalizeReviewStatusSync, l as markWorkspaceStuck$1, n as deleteReviewStatus, o as getReviewStatusFromDbSync, r as getAllReviewStatusesFromDb, s as getReviewStatusesFromDb, u as upsertReviewStatusSync } from "./review-status-sync-
|
|
9
|
-
import { a as
|
|
10
|
-
import {
|
|
4
|
+
import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-CzaSOgul.js";
|
|
5
|
+
import { n as updateIssueRecord, t as init_record_update } from "./record-update-Dq0t2uBG.js";
|
|
6
|
+
import { d as init_cost_sync, i as getCostBreakdownByStageAndModelSync, o as getCostForIssueSync } from "./cost-sync-C0VdGme1.js";
|
|
7
|
+
import { r as notifyPipelineSync, t as init_pipeline_notifier } from "./pipeline-notifier-D0ykk59O.js";
|
|
8
|
+
import { c as init_review_status_sync, d as init_review_status_normalize, f as normalizeReviewStatusSync, l as markWorkspaceStuck$1, n as deleteReviewStatus, o as getReviewStatusFromDbSync, r as getAllReviewStatusesFromDb, s as getReviewStatusesFromDb, t as clearWorkspaceStuck$1, u as upsertReviewStatusSync } from "./review-status-sync-BhSQ0d0l.js";
|
|
9
|
+
import { a as registerReviewStatusMapReader, n as init_review_status_source } from "./review-status-source-CxuEjLGg.js";
|
|
10
|
+
import { a as PAN_DIRNAME, p as init_types, r as PAN_CONTINUES_DIRNAME } from "./types-hraoaQIp.js";
|
|
11
|
+
import { i as init_merge_set, r as getMergeSetSync } from "./merge-set-DLz0MkGT.js";
|
|
12
|
+
import { o as init_lifecycle, r as XBRIEF_FILENAME_SUFFIX, t as LEGACY_VBRIEF_FILENAME_SUFFIX } from "./lifecycle-DfeyBDwA.js";
|
|
11
13
|
import { dirname, join } from "node:path";
|
|
12
14
|
import { Data, Effect } from "effect";
|
|
13
15
|
import { join as join$1 } from "path";
|
|
@@ -209,23 +211,6 @@ var init_agent_state_sync = __esmMin((() => {
|
|
|
209
211
|
SELECT_AGENT_SQL = `SELECT ${AGENT_COLUMNS_FOR_DB.join(", ")} FROM agents`;
|
|
210
212
|
}));
|
|
211
213
|
//#endregion
|
|
212
|
-
//#region ../../lib/cloister/review-status-source.ts
|
|
213
|
-
function registerReviewStatusMapReader(fn) {
|
|
214
|
-
reader = fn;
|
|
215
|
-
}
|
|
216
|
-
function readReviewStatusMap() {
|
|
217
|
-
if (!reader) return null;
|
|
218
|
-
try {
|
|
219
|
-
return reader();
|
|
220
|
-
} catch {
|
|
221
|
-
return null;
|
|
222
|
-
}
|
|
223
|
-
}
|
|
224
|
-
var reader;
|
|
225
|
-
var init_review_status_source = __esmMin((() => {
|
|
226
|
-
reader = null;
|
|
227
|
-
}));
|
|
228
|
-
//#endregion
|
|
229
214
|
//#region ../../lib/pan-dir/records.ts
|
|
230
215
|
/**
|
|
231
216
|
* PAN-1908 / PAN-1919: per-issue permanent-record builder.
|
|
@@ -305,10 +290,21 @@ function projectMerges(issueId) {
|
|
|
305
290
|
if (!mergeSet) return [];
|
|
306
291
|
return mergeSet.repos.map((r) => r.artifactUrl).filter((url) => typeof url === "string" && url.length > 0);
|
|
307
292
|
}
|
|
293
|
+
function resolveContinuePath(projectRoot, issueId) {
|
|
294
|
+
const stateHome = resolveStateReadHomeSync(findProjectByPathSync(projectRoot) ?? {
|
|
295
|
+
name: projectRoot,
|
|
296
|
+
path: projectRoot
|
|
297
|
+
});
|
|
298
|
+
const basePath = join(stateHome.migrated ? join(stateHome.root, PAN_CONTINUES_DIRNAME) : join(stateHome.root, PAN_DIRNAME, PAN_CONTINUES_DIRNAME), issueId.toLowerCase());
|
|
299
|
+
const canonicalPath = `${basePath}${XBRIEF_FILENAME_SUFFIX}`;
|
|
300
|
+
const legacyPath = `${basePath}${LEGACY_VBRIEF_FILENAME_SUFFIX}`;
|
|
301
|
+
if (existsSync(canonicalPath)) return canonicalPath;
|
|
302
|
+
if (existsSync(legacyPath)) return legacyPath;
|
|
303
|
+
return canonicalPath;
|
|
304
|
+
}
|
|
308
305
|
async function readLegacyContinueText(projectRoot, issueId) {
|
|
309
|
-
const path = join(projectRoot, PAN_DIRNAME, PAN_CONTINUES_DIRNAME, `${issueId.toLowerCase()}.vbrief.json`);
|
|
310
306
|
try {
|
|
311
|
-
return await promises.readFile(
|
|
307
|
+
return await promises.readFile(resolveContinuePath(projectRoot, issueId), "utf-8");
|
|
312
308
|
} catch {
|
|
313
309
|
return null;
|
|
314
310
|
}
|
|
@@ -423,6 +419,8 @@ var init_records = __esmMin((() => {
|
|
|
423
419
|
init_cost_sync();
|
|
424
420
|
init_merge_set();
|
|
425
421
|
init_projects();
|
|
422
|
+
init_state_read_home();
|
|
423
|
+
init_lifecycle();
|
|
426
424
|
init_agent_state_sync();
|
|
427
425
|
init_record();
|
|
428
426
|
init_record_update();
|
|
@@ -804,7 +802,7 @@ function setReviewStatusSync(issueId, update, existing) {
|
|
|
804
802
|
});
|
|
805
803
|
if (readyForMerge && !status.readyForMerge && updated.prUrl) (async () => {
|
|
806
804
|
try {
|
|
807
|
-
const { isGitHubAppConfigured, reportCommitStatus } = await import("./github-app-
|
|
805
|
+
const { isGitHubAppConfigured, reportCommitStatus } = await import("./github-app-CPfoFAdV.js");
|
|
808
806
|
if (!isGitHubAppConfigured()) return;
|
|
809
807
|
const prMatch = updated.prUrl.match(/github\.com\/([^/]+)\/([^/]+)\/pull/);
|
|
810
808
|
if (!prMatch) return;
|
|
@@ -1087,7 +1085,7 @@ function resetPipelineVerdictsForWorkStartSync(issueId, options = {}) {
|
|
|
1087
1085
|
*/
|
|
1088
1086
|
async function deliverReviewVerdictFeedbackHostSide(issueId, status) {
|
|
1089
1087
|
try {
|
|
1090
|
-
const { deliverReviewVerdictFeedback } = await import("./review-verdict-feedback-
|
|
1088
|
+
const { deliverReviewVerdictFeedback } = await import("./review-verdict-feedback-C1Kg8n7t.js");
|
|
1091
1089
|
if ((await Effect.runPromise(deliverReviewVerdictFeedback({
|
|
1092
1090
|
issueId,
|
|
1093
1091
|
verdict: status.reviewStatus === "failed" ? "failed" : "blocked",
|
|
@@ -1120,7 +1118,7 @@ function maybeAutoDispatchReviewHostSide(issueId, status) {
|
|
|
1120
1118
|
}
|
|
1121
1119
|
async function dispatchReviewHostSide(issueId, prUrl) {
|
|
1122
1120
|
try {
|
|
1123
|
-
const { resolveProjectFromIssueSync } = await import("./projects-
|
|
1121
|
+
const { resolveProjectFromIssueSync } = await import("./projects-9SkRpES9.js");
|
|
1124
1122
|
const resolved = resolveProjectFromIssueSync(issueId);
|
|
1125
1123
|
if (!resolved) return;
|
|
1126
1124
|
const { existsSync } = await import("fs");
|
|
@@ -1136,7 +1134,7 @@ async function dispatchReviewHostSide(issueId, prUrl) {
|
|
|
1136
1134
|
});
|
|
1137
1135
|
branch = stdout.trim() || branch;
|
|
1138
1136
|
} catch {}
|
|
1139
|
-
const { spawnReviewRoleForIssue } = await import("./review-agent-
|
|
1137
|
+
const { spawnReviewRoleForIssue } = await import("./review-agent-DJRO8EG8.js");
|
|
1140
1138
|
const result = await Effect.runPromise(spawnReviewRoleForIssue({
|
|
1141
1139
|
issueId,
|
|
1142
1140
|
workspace,
|
|
@@ -1160,13 +1158,13 @@ function maybeRecoverTestVerdictHostSide(issueId, status) {
|
|
|
1160
1158
|
}
|
|
1161
1159
|
async function recoverTestVerdictHostSide(issueId) {
|
|
1162
1160
|
try {
|
|
1163
|
-
const { resolveProjectFromIssueSync } = await import("./projects-
|
|
1161
|
+
const { resolveProjectFromIssueSync } = await import("./projects-9SkRpES9.js");
|
|
1164
1162
|
const resolved = resolveProjectFromIssueSync(issueId);
|
|
1165
1163
|
if (!resolved) return;
|
|
1166
1164
|
const { existsSync } = await import("fs");
|
|
1167
1165
|
const workspace = join$1(resolved.projectPath, "workspaces", `feature-${issueId.toLowerCase()}`);
|
|
1168
1166
|
if (!existsSync(workspace)) return;
|
|
1169
|
-
const { readTestVerdictArtifact } = await import("./test-verdict-
|
|
1167
|
+
const { readTestVerdictArtifact } = await import("./test-verdict-DFjjIHR5.js");
|
|
1170
1168
|
const artifact = readTestVerdictArtifact(workspace);
|
|
1171
1169
|
if (!artifact) return;
|
|
1172
1170
|
setReviewStatusSync(issueId, {
|
|
@@ -1180,13 +1178,13 @@ async function recoverTestVerdictHostSide(issueId) {
|
|
|
1180
1178
|
}
|
|
1181
1179
|
async function deliverTestFailureToWorkAgentHostSide(issueId, status) {
|
|
1182
1180
|
try {
|
|
1183
|
-
const { resolveProjectFromIssueSync } = await import("./projects-
|
|
1181
|
+
const { resolveProjectFromIssueSync } = await import("./projects-9SkRpES9.js");
|
|
1184
1182
|
const resolved = resolveProjectFromIssueSync(issueId);
|
|
1185
1183
|
const workspace = resolved ? join$1(resolved.projectPath, "workspaces", `feature-${issueId.toLowerCase()}`) : void 0;
|
|
1186
1184
|
const notes = status.testNotes;
|
|
1187
1185
|
let feedbackPath;
|
|
1188
1186
|
try {
|
|
1189
|
-
const { writeFeedbackFile } = await import("./feedback-writer-
|
|
1187
|
+
const { writeFeedbackFile } = await import("./feedback-writer-qmiMbqTZ.js");
|
|
1190
1188
|
const r = await Effect.runPromise(writeFeedbackFile({
|
|
1191
1189
|
issueId,
|
|
1192
1190
|
workspacePath: workspace,
|
|
@@ -1198,10 +1196,10 @@ async function deliverTestFailureToWorkAgentHostSide(issueId, status) {
|
|
|
1198
1196
|
if (r.success) feedbackPath = r.filePath;
|
|
1199
1197
|
} catch {}
|
|
1200
1198
|
const message = `SPECIALIST FEEDBACK: test-agent reported FAILED for ${issueId}.\n\n${feedbackPath ? `MUST READ: ${feedbackPath}\n\n` : ""}${notes ? `${notes.slice(0, 400)}\n\n` : ""}Fix the failing tests, commit and push, then re-run pan done ${issueId}. Do NOT stop at the prompt.`;
|
|
1201
|
-
const { resolveIssueFeedbackTarget, surfaceIssueFeedbackNeedsYou } = await import("./feedback-target-
|
|
1199
|
+
const { resolveIssueFeedbackTarget, surfaceIssueFeedbackNeedsYou } = await import("./feedback-target-iygZwmMc.js");
|
|
1202
1200
|
const target = await resolveIssueFeedbackTarget(issueId);
|
|
1203
1201
|
if ("agentId" in target) {
|
|
1204
|
-
const { messageAgent } = await import("./agents-
|
|
1202
|
+
const { messageAgent } = await import("./agents-FlIgQ3ql.js");
|
|
1205
1203
|
await messageAgent(target.agentId, message, "internal", { owesRework: true });
|
|
1206
1204
|
console.log(`[review-status] delivered test failure to ${target.agentId} for ${issueId} (host-side)`);
|
|
1207
1205
|
} else await surfaceIssueFeedbackNeedsYou(issueId, target.reason, {
|
|
@@ -1359,6 +1357,25 @@ function markWorkspaceStuck(issueId, reason, details) {
|
|
|
1359
1357
|
}
|
|
1360
1358
|
}
|
|
1361
1359
|
/**
|
|
1360
|
+
* Clear the stuck flag for a workspace.
|
|
1361
|
+
* Called when the human clicks "Unstick" in the dashboard.
|
|
1362
|
+
* Re-enables Deacon patrol for this workspace.
|
|
1363
|
+
*/
|
|
1364
|
+
function clearWorkspaceStuck(issueId) {
|
|
1365
|
+
try {
|
|
1366
|
+
clearWorkspaceStuck$1(issueId);
|
|
1367
|
+
console.log(`[review-status] Cleared stuck state for ${issueId}`);
|
|
1368
|
+
const updated = getReviewStatusSync(issueId);
|
|
1369
|
+
if (updated) notifyPipelineSync({
|
|
1370
|
+
type: "status_changed",
|
|
1371
|
+
issueId,
|
|
1372
|
+
status: updated
|
|
1373
|
+
});
|
|
1374
|
+
} catch (err) {
|
|
1375
|
+
console.error(`[review-status] Failed to clear stuck state for ${issueId}:`, err);
|
|
1376
|
+
}
|
|
1377
|
+
}
|
|
1378
|
+
/**
|
|
1362
1379
|
* Set or clear the operator-requested deacon-ignore flag. When set, Deacon
|
|
1363
1380
|
* patrol skips the issue entirely on every cycle. Distinct from `stuck`, which
|
|
1364
1381
|
* is a system-set failure marker that also suppresses patrol.
|
|
@@ -1432,6 +1449,6 @@ var init_review_status = __esmMin((() => {
|
|
|
1432
1449
|
});
|
|
1433
1450
|
}));
|
|
1434
1451
|
//#endregion
|
|
1435
|
-
export {
|
|
1452
|
+
export { needsReviewDispatch as C, listOverdeckAgentStatesSync as D, init_agent_state_sync as E, saveOverdeckAgentStateSync as O, init_review_dispatch_decision as S, getOverdeckAgentStateSync as T, setAutoMerge as _, fixStuckCommentedReviews as a, setReviewStatusSync as b, getReviewStatusSync as c, loadReviewStatuses as d, loadReviewStatusesForIssues as f, reviewGatesPassedSync as g, resetPipelineVerdictsForWorkStartSync as h, clearWorkspaceStuck as i, stateToOverdeckParamsForDb as k, init_review_status as l, mergeGateEligibility as m, clearReviewStatus as n, fixStuckReadyForMerge as o, markWorkspaceStuck as p, clearStuckMergeStatuses as r, getReviewStatus as s, ReviewStatusError as t, loadReadyForMergeFlags as u, setDeaconIgnored as v, AGENT_COLUMNS_FOR_DB as w, verificationSatisfied as x, setReviewStatus as y };
|
|
1436
1453
|
|
|
1437
|
-
//# sourceMappingURL=review-status-
|
|
1454
|
+
//# sourceMappingURL=review-status-A7quS5KJ.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { b as setReviewStatusSync, c as getReviewStatusSync, d as loadReviewStatuses, l as init_review_status, m as mergeGateEligibility, n as clearReviewStatus, p as markWorkspaceStuck } from "./review-status-A7quS5KJ.js";
|
|
2
|
+
init_review_status();
|
|
3
|
+
export { clearReviewStatus, getReviewStatusSync, loadReviewStatuses, markWorkspaceStuck, mergeGateEligibility, setReviewStatusSync };
|
package/server/{review-status-enrichment-DtDRGpst.js → review-status-enrichment-tbOn_A_u.js}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { Tn as init_projects, zn as resolveProjectFromIssueSync } from "./config-yaml-DvyMuOle.js";
|
|
2
|
+
import { M as listSessionNames, w as init_tmux } from "./tmux-ftABRAmc.js";
|
|
3
3
|
import { Data, Effect } from "effect";
|
|
4
4
|
import { existsSync } from "fs";
|
|
5
5
|
import { join } from "path";
|
|
@@ -124,4 +124,4 @@ const enrichReviewStatus = (issueId, status) => Effect.tryPromise({
|
|
|
124
124
|
//#endregion
|
|
125
125
|
export { enrichReviewStatusFromSessions as n, enrichReviewStatus as t };
|
|
126
126
|
|
|
127
|
-
//# sourceMappingURL=review-status-enrichment-
|
|
127
|
+
//# sourceMappingURL=review-status-enrichment-tbOn_A_u.js.map
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
+
//#region ../../lib/cloister/review-status-source.ts
|
|
3
|
+
function isRoleTerminal(role, status) {
|
|
4
|
+
switch (role) {
|
|
5
|
+
case "review": return TERMINAL_REVIEW.has(status.reviewStatus ?? "");
|
|
6
|
+
case "test": return TERMINAL_TEST.has(status.testStatus ?? "");
|
|
7
|
+
case "ship": return status.readyForMerge === true || status.mergeStatus === "merged" || status.mergeStatus === "failed";
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
function classifyAdvancingSessionLifecycle(role, status, tmuxActive) {
|
|
11
|
+
if (!status || !tmuxActive) return "unknown";
|
|
12
|
+
if (status.mergeStatus === "merged") return "orphaned";
|
|
13
|
+
return isRoleTerminal(role, status) ? "warm" : "active";
|
|
14
|
+
}
|
|
15
|
+
function registerReviewStatusMapReader(fn) {
|
|
16
|
+
reader = fn;
|
|
17
|
+
}
|
|
18
|
+
function readReviewStatusMap() {
|
|
19
|
+
if (!reader) return null;
|
|
20
|
+
try {
|
|
21
|
+
return reader();
|
|
22
|
+
} catch {
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
var TERMINAL_REVIEW, TERMINAL_TEST, reader;
|
|
27
|
+
var init_review_status_source = __esmMin((() => {
|
|
28
|
+
TERMINAL_REVIEW = new Set([
|
|
29
|
+
"passed",
|
|
30
|
+
"failed",
|
|
31
|
+
"blocked"
|
|
32
|
+
]);
|
|
33
|
+
TERMINAL_TEST = new Set(["passed", "failed"]);
|
|
34
|
+
reader = null;
|
|
35
|
+
}));
|
|
36
|
+
//#endregion
|
|
37
|
+
export { registerReviewStatusMapReader as a, readReviewStatusMap as i, init_review_status_source as n, isRoleTerminal as r, classifyAdvancingSessionLifecycle as t };
|
|
38
|
+
|
|
39
|
+
//# sourceMappingURL=review-status-source-CxuEjLGg.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-
|
|
2
|
+
import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-CzaSOgul.js";
|
|
3
3
|
import { Effect } from "effect";
|
|
4
4
|
//#region ../../lib/review-status-normalize.ts
|
|
5
5
|
function normalizeReviewStatusSync(status) {
|
|
@@ -291,4 +291,4 @@ var init_review_status_sync = __esmMin((() => {
|
|
|
291
291
|
//#endregion
|
|
292
292
|
export { getMergeBlockerReconcileCandidatesSync as a, init_review_status_sync as c, init_review_status_normalize as d, normalizeReviewStatusSync as f, getMergeBlockerReconcileCandidates as i, markWorkspaceStuck as l, deleteReviewStatus as n, getReviewStatusFromDbSync as o, getAllReviewStatusesFromDb as r, getReviewStatusesFromDb as s, clearWorkspaceStuck as t, upsertReviewStatusSync as u };
|
|
293
293
|
|
|
294
|
-
//# sourceMappingURL=review-status-sync-
|
|
294
|
+
//# sourceMappingURL=review-status-sync-BhSQ0d0l.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { c as init_review_status_sync, t as clearWorkspaceStuck } from "./review-status-sync-
|
|
1
|
+
import { c as init_review_status_sync, t as clearWorkspaceStuck } from "./review-status-sync-BhSQ0d0l.js";
|
|
2
2
|
init_review_status_sync();
|
|
3
3
|
export { clearWorkspaceStuck };
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { n as init_review_verdict_feedback, t as deliverReviewVerdictFeedback } from "./review-verdict-feedback-
|
|
1
|
+
import { n as init_review_verdict_feedback, t as deliverReviewVerdictFeedback } from "./review-verdict-feedback-CTRNtzXO.js";
|
|
2
2
|
init_review_verdict_feedback();
|
|
3
3
|
export { deliverReviewVerdictFeedback };
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import {
|
|
3
|
-
import { c as
|
|
4
|
-
import {
|
|
5
|
-
import { a as PAN_DIRNAME, p as init_types } from "./types-
|
|
6
|
-
import { a as writeFeedbackFile, i as init_feedback_writer } from "./feedback-writer-
|
|
7
|
-
import { n as resolveIssueFeedbackTarget, r as surfaceIssueFeedbackNeedsYou, t as init_feedback_target } from "./feedback-target-
|
|
2
|
+
import { Tn as init_projects, zn as resolveProjectFromIssueSync } from "./config-yaml-DvyMuOle.js";
|
|
3
|
+
import { c as getReviewStatusSync, l as init_review_status } from "./review-status-A7quS5KJ.js";
|
|
4
|
+
import { X as messageAgent, b as init_agents } from "./queries-6d7Cdtm7.js";
|
|
5
|
+
import { a as PAN_DIRNAME, p as init_types } from "./types-hraoaQIp.js";
|
|
6
|
+
import { a as writeFeedbackFile, i as init_feedback_writer } from "./feedback-writer-C9b6ccN1.js";
|
|
7
|
+
import { n as resolveIssueFeedbackTarget, r as surfaceIssueFeedbackNeedsYou, t as init_feedback_target } from "./feedback-target-CPS15Vte.js";
|
|
8
8
|
import { join } from "node:path";
|
|
9
9
|
import { Effect } from "effect";
|
|
10
10
|
import { existsSync } from "node:fs";
|
|
@@ -144,4 +144,4 @@ var init_review_verdict_feedback = __esmMin((() => {
|
|
|
144
144
|
//#endregion
|
|
145
145
|
export { init_review_verdict_feedback as n, postPrComment as r, deliverReviewVerdictFeedback as t };
|
|
146
146
|
|
|
147
|
-
//# sourceMappingURL=review-verdict-feedback-
|
|
147
|
+
//# sourceMappingURL=review-verdict-feedback-CTRNtzXO.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { n as commitStatusRollup, r as init_rollup, s as synthesizeStatusRollup } from "./rollup-
|
|
1
|
+
import { n as commitStatusRollup, r as init_rollup, s as synthesizeStatusRollup } from "./rollup-WA0VD-Rr.js";
|
|
2
2
|
init_rollup();
|
|
3
3
|
export { commitStatusRollup, synthesizeStatusRollup };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import {
|
|
3
|
-
import { a as resolveArchiveDir, f as resolveStatusFile, i as init_paths, l as resolveObservationsFile, n as ensureDir, r as ensureParentDir, u as resolvePendingDir } from "./paths-
|
|
4
|
-
import { i as init_settings, n as getMemoryRollupPendingThreshold } from "./settings-
|
|
5
|
-
import { i as updateMemoryHealth, n as extractWithProviderPolicy, r as init_health, t as init_providers } from "./providers-
|
|
2
|
+
import { T as MemoryStatus, t as init_src } from "./src-U7_kTPEE.js";
|
|
3
|
+
import { a as resolveArchiveDir, f as resolveStatusFile, i as init_paths, l as resolveObservationsFile, n as ensureDir, r as ensureParentDir, u as resolvePendingDir } from "./paths-_zEts6wc.js";
|
|
4
|
+
import { i as init_settings, n as getMemoryRollupPendingThreshold } from "./settings-BZ5m1UCl.js";
|
|
5
|
+
import { i as updateMemoryHealth, n as extractWithProviderPolicy, r as init_health, t as init_providers } from "./providers-DV7ec8l7.js";
|
|
6
6
|
import { Result, Schema } from "effect";
|
|
7
7
|
import { dirname } from "path";
|
|
8
8
|
import { randomUUID } from "crypto";
|
|
@@ -98,8 +98,8 @@ async function enqueueStatusRollupEvent(job) {
|
|
|
98
98
|
await configuredStatusRollupProcessor(job);
|
|
99
99
|
return;
|
|
100
100
|
}
|
|
101
|
-
const { initEventStore } = await import("./event-store-
|
|
102
|
-
const { synthesizeStatusRollup, commitStatusRollup } = await import("./rollup-
|
|
101
|
+
const { initEventStore } = await import("./event-store-Cr5PQwFC.js");
|
|
102
|
+
const { synthesizeStatusRollup, commitStatusRollup } = await import("./rollup-B53Y81xK.js");
|
|
103
103
|
await (await initEventStore()).appendAsync({
|
|
104
104
|
type: "memory.rollup_triggered",
|
|
105
105
|
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
@@ -295,7 +295,7 @@ async function clearPendingTurns(projectId, issueId, pendingTurns) {
|
|
|
295
295
|
return cleared;
|
|
296
296
|
}
|
|
297
297
|
async function emitStatusUpdatedEvent(event) {
|
|
298
|
-
const { initEventStore } = await import("./event-store-
|
|
298
|
+
const { initEventStore } = await import("./event-store-Cr5PQwFC.js");
|
|
299
299
|
await (await initEventStore()).appendAsync({
|
|
300
300
|
type: "memory.status_updated",
|
|
301
301
|
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
@@ -446,4 +446,4 @@ var init_rollup = __esmMin((() => {
|
|
|
446
446
|
//#endregion
|
|
447
447
|
export { readCurrentStatus as a, init_pending as c, readArchivedStatuses as i, maybeTriggerStatusRollup as l, commitStatusRollup as n, readRecentObservations as o, init_rollup as r, synthesizeStatusRollup as s, buildStatusRollupPrompt as t, writePendingTurn as u };
|
|
448
448
|
|
|
449
|
-
//# sourceMappingURL=rollup-
|
|
449
|
+
//# sourceMappingURL=rollup-WA0VD-Rr.js.map
|