@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,15 +1,17 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { n as ensureSessionContextBriefingFile, r as init_briefing_freshness } from "./briefing-freshness-
|
|
5
|
-
import {
|
|
6
|
-
import { t as init_behavior } from "./behavior-
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
1
|
+
import { Dt as getProjectConfigFromWorkspacePath, Ft as resolveProjectForIssue, Ot as init_record, Tn as init_projects, f as loadConfigSync, fn as findProjectByPathSync, mn as findProjectByTeamSync, t as init_config_yaml, tt as resolveModel, un as extractTeamPrefix, wt as getIssueRecordPath, yt as appendSessionEntrySync } from "./config-yaml-DvyMuOle.js";
|
|
2
|
+
import { $ as init_child_env, D as killSession, H as sessionExists, W as setOption, X as BLANKED_PROVIDER_ENV, m as exactPaneTarget, r as buildTmuxCommandString, s as createSession, w as init_tmux } from "./tmux-ftABRAmc.js";
|
|
3
|
+
import { o as getHarnessBehavior } from "./src-U7_kTPEE.js";
|
|
4
|
+
import { n as ensureSessionContextBriefingFile, r as init_briefing_freshness } from "./briefing-freshness-DWdW7vUm.js";
|
|
5
|
+
import { Wn as getAgentStateSync, Wt as retrieveSpawnTimeMemoryContext, b as init_agents, bn as getProviderExportsForModel, cn as roleAgentDefinitionPath, ir as saveAgentStateSync, jt as deliverInitialPromptWithRetry, nn as getCodexLauncherFields, on as init_runtime_command, rn as getOhmypiLauncherFields, tn as getAgentRuntimeBaseCommand } from "./queries-6d7Cdtm7.js";
|
|
6
|
+
import { t as init_behavior } from "./behavior-B_-4EKF3.js";
|
|
7
|
+
import { N as ensureWorkspacePanDir } from "./io-B3_AHDfr.js";
|
|
8
|
+
import { n as init_launcher_generator, t as generateLauncherScriptSync } from "./launcher-generator-CHVm7bGT.js";
|
|
9
|
+
import { h as workspaceContextFile, o as init_layers } from "./layers-DzxSTGNA.js";
|
|
10
|
+
import { n as init_harness_binary, r as prepareHarnessLaunch } from "./harness-binary-CVio2m-u.js";
|
|
11
|
+
import { n as resolveHarness, t as init_harness_resolve } from "./harness-resolve-qHJBhy3Z.js";
|
|
12
|
+
import { r as writeWorkspaceContext, t as init_pan_dir } from "./pan-dir-DeVUgwA7.js";
|
|
13
|
+
import { r as init_workspace_manager, t as createWorkspace } from "./workspace-manager-hLUv3ADC.js";
|
|
14
|
+
import { n as renderPrompt, t as init_prompts } from "./prompts-Dp4Tpk39.js";
|
|
13
15
|
import { join, resolve } from "node:path";
|
|
14
16
|
import { Effect } from "effect";
|
|
15
17
|
import { homedir } from "node:os";
|
|
@@ -37,6 +39,7 @@ init_agents();
|
|
|
37
39
|
init_runtime_command();
|
|
38
40
|
init_config_yaml();
|
|
39
41
|
init_harness_resolve();
|
|
42
|
+
init_harness_binary();
|
|
40
43
|
init_behavior();
|
|
41
44
|
init_launcher_generator();
|
|
42
45
|
init_child_env();
|
|
@@ -205,7 +208,7 @@ ${repos.map((r) => `| \`${r.name}/\` | Git worktree for ${r.path} |`).join("\n")
|
|
|
205
208
|
let childStoriesSection = "";
|
|
206
209
|
if (issue.childStories && issue.childStories.length > 0) {
|
|
207
210
|
const storyLines = issue.childStories.map((s) => `- **${s.ref}**: ${s.title} (status: ${s.status})\n ${s.description || ""}`.trim());
|
|
208
|
-
childStoriesSection = `\n## Child Stories\n\n**This Rally Feature has ${issue.childStories.length} child story(ies).** Reference these existing stories during planning — do NOT create new ones.\n\n${storyLines.join("\n\n")}\n\n**Cross-story dependencies:** If any child story must be completed before another, encode this as a \\\`blocks\\\` edge in the
|
|
211
|
+
childStoriesSection = `\n## Child Stories\n\n**This Rally Feature has ${issue.childStories.length} child story(ies).** Reference these existing stories during planning — do NOT create new ones.\n\n${storyLines.join("\n\n")}\n\n**Cross-story dependencies:** If any child story must be completed before another, encode this as a \\\`blocks\\\` edge in the xBRIEF plan between the corresponding beads. Use \\\`informs\\\` for softer ordering hints.\n`;
|
|
209
212
|
}
|
|
210
213
|
const effortSection = effort && effort !== "medium" ? `
|
|
211
214
|
## Planning Effort: ${effort === "high" ? "High (Deep Analysis)" : "Low (Quick Planning)"}
|
|
@@ -232,12 +235,12 @@ The user invoked \`pan plan --auto\`. Complete planning end-to-end without askin
|
|
|
232
235
|
- When normal planning would ask a question, choose the most defensible default and record it in \`plan.autoDecisions[]\` as \`{ "summary": "...", "rationale": "..." }\`.
|
|
233
236
|
- If the issue body, PRD, or comments list options and name a recommended/default/smallest acceptable option, choose that option and record it in \`plan.autoDecisions[]\`; do not ask the operator to choose among already-documented options.
|
|
234
237
|
- Halt only for a genuine contradiction between authoritative inputs, such as the issue body requiring one behavior while a linked PRD requires the opposite. If that happens, write the contradiction into continue.json hazards and stop with a clear escalation message so the dashboard surfaces it.
|
|
235
|
-
- Still produce the same complete
|
|
238
|
+
- Still produce the same complete xBRIEF and beads via \`pan plan finalize\` when no contradiction exists.
|
|
236
239
|
` : "";
|
|
237
240
|
const probeSection = probe || effort === "high" ? `
|
|
238
241
|
## Probe Pass (required before finalize)
|
|
239
242
|
|
|
240
|
-
After drafting the
|
|
243
|
+
After drafting the xBRIEF and BEFORE running \`pan plan finalize\`, attack your own plan:
|
|
241
244
|
- For each item: what hidden assumption would make this item wrong? Name it or clear it.
|
|
242
245
|
- Which item could produce two very different diffs that both look "done"? Tighten its
|
|
243
246
|
ACs or set requiresInspection: true.
|
|
@@ -286,12 +289,12 @@ async function claudePlanningSystemPromptFiles(workspacePath, harness) {
|
|
|
286
289
|
files.push(await ensureSessionContextBriefingFile());
|
|
287
290
|
const behavior = getHarnessBehavior(harness);
|
|
288
291
|
if (behavior.contextLayerKind === "pi") {
|
|
289
|
-
const { piGlobalContextFile } = await import("./context-layers-
|
|
292
|
+
const { piGlobalContextFile } = await import("./context-layers-B3Nt58jl.js");
|
|
290
293
|
const globalFile = piGlobalContextFile();
|
|
291
294
|
if (existsSync(globalFile)) files.unshift(globalFile);
|
|
292
295
|
}
|
|
293
296
|
if (behavior.contextLayerKind === "codex") {
|
|
294
|
-
const { codexGlobalContextFile } = await import("./context-layers-
|
|
297
|
+
const { codexGlobalContextFile } = await import("./context-layers-B3Nt58jl.js");
|
|
295
298
|
const globalFile = codexGlobalContextFile();
|
|
296
299
|
if (existsSync(globalFile)) files.unshift(globalFile);
|
|
297
300
|
}
|
|
@@ -385,7 +388,7 @@ async function spawnPlanningSession(opts) {
|
|
|
385
388
|
};
|
|
386
389
|
}
|
|
387
390
|
progress(1, "Creating workspace", workspaceCreated ? "Workspace ready" : "Already exists", "complete");
|
|
388
|
-
progress(2, "Preparing planning environment", ".
|
|
391
|
+
progress(2, "Preparing planning environment", ".overdeck/ workspace artifacts");
|
|
389
392
|
await Effect.runPromise(killSession(sessionName)).catch(() => {});
|
|
390
393
|
const workspacePanPaths = await Effect.runPromise(ensureWorkspacePanDir(workspacePath));
|
|
391
394
|
await Promise.all([
|
|
@@ -394,7 +397,7 @@ async function spawnPlanningSession(opts) {
|
|
|
394
397
|
"notes"
|
|
395
398
|
].map((subdir) => mkdir(join(workspacePanPaths.panDir, subdir), { recursive: true })));
|
|
396
399
|
if (existsSync(workspacePanPaths.continuePath)) {
|
|
397
|
-
console.log("[start-planning] Clearing stale .
|
|
400
|
+
console.log("[start-planning] Clearing stale .overdeck/continue.json");
|
|
398
401
|
await rm(workspacePanPaths.continuePath, { force: true });
|
|
399
402
|
}
|
|
400
403
|
if (shadowMode) {
|
|
@@ -418,6 +421,7 @@ async function spawnPlanningSession(opts) {
|
|
|
418
421
|
}
|
|
419
422
|
const planningModel = modelOverride || settingsModel;
|
|
420
423
|
const effectiveHarness = await resolvePlanningSessionHarness(planningModel, opts.harness);
|
|
424
|
+
const harnessLaunch = await prepareHarnessLaunch(effectiveHarness);
|
|
421
425
|
console.log(`[start-planning] Final planning model: ${planningModel} (override=${modelOverride || "(none)"} settings=${settingsModel} source=${modelSource}) harness=${effectiveHarness}`);
|
|
422
426
|
const prdFiles = await discoverPrdFiles(workspacePath, issue.identifier);
|
|
423
427
|
if (prdFiles.length > 0) {
|
|
@@ -469,6 +473,7 @@ async function spawnPlanningSession(opts) {
|
|
|
469
473
|
sessionType: "plan"
|
|
470
474
|
},
|
|
471
475
|
providerExports,
|
|
476
|
+
extraEnvExports: [harnessLaunch.pathExport],
|
|
472
477
|
promptFile,
|
|
473
478
|
baseCommand: cmdWithArgs,
|
|
474
479
|
appendSystemPromptFiles: await claudePlanningSystemPromptFiles(workspacePath, effectiveHarness),
|
|
@@ -541,4 +546,4 @@ async function spawnPlanningSession(opts) {
|
|
|
541
546
|
//#endregion
|
|
542
547
|
export { resolvePlanningSessionHarness as a, resolveAutoSpawnOnFinalize as i, buildPlanningPrompt as n, spawnPlanningSession as o, readAutoSpawnOnFinalizeFlag as r, writeFeatureContext as s, autoSpawnOnFinalizeFlagPath as t };
|
|
543
548
|
|
|
544
|
-
//# sourceMappingURL=spawn-planning-session-
|
|
549
|
+
//# sourceMappingURL=spawn-planning-session-DWAorh2B.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { o as spawnPlanningSession } from "./spawn-planning-session-
|
|
1
|
+
import { o as spawnPlanningSession } from "./spawn-planning-session-DWAorh2B.js";
|
|
2
2
|
export { spawnPlanningSession };
|
|
@@ -85,4 +85,4 @@ function cancelAllPendingCompletions() {
|
|
|
85
85
|
//#endregion
|
|
86
86
|
export { SpecialistCancelledError, SpecialistCompletionTimeoutError, SpecialistSupersededError, cancelAllPendingCompletions, hasPendingCompletion, reportSpecialistCompletion, waitForSpecialistCompletion };
|
|
87
87
|
|
|
88
|
-
//# sourceMappingURL=specialist-completion-
|
|
88
|
+
//# sourceMappingURL=specialist-completion-BXhav38U.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import {
|
|
3
|
-
import { a as init_claude_permissions, r as getClaudePermissionFlagsStringSync } from "./claude-permissions-
|
|
2
|
+
import { Br as getOverdeckHome, Tn as init_projects, Vr as init_paths, f as loadConfigSync, t as init_config_yaml, tt as resolveModel, yn as getProjectSync } from "./config-yaml-DvyMuOle.js";
|
|
3
|
+
import { a as init_claude_permissions, r as getClaudePermissionFlagsStringSync } from "./claude-permissions-H_5wHQZQ.js";
|
|
4
4
|
import { Effect } from "effect";
|
|
5
5
|
import { existsSync, mkdirSync, readFileSync, unlinkSync, writeFileSync } from "fs";
|
|
6
6
|
import { join } from "path";
|
|
@@ -114,7 +114,7 @@ function getDigestModel(projectKey, specialistType) {
|
|
|
114
114
|
async function generateContextDigestPromise(projectKey, specialistType, options = {}) {
|
|
115
115
|
ensureContextDirectory(projectKey, specialistType);
|
|
116
116
|
const runCount = options.runCount ?? getContextRunsCount(projectKey);
|
|
117
|
-
const { getRecentRunLogs } = await import("./specialist-logs-
|
|
117
|
+
const { getRecentRunLogs } = await import("./specialist-logs-DJ3RzKxW.js");
|
|
118
118
|
const recentRuns = getRecentRunLogs(projectKey, specialistType, runCount);
|
|
119
119
|
if (recentRuns.length === 0 && !options.force) {
|
|
120
120
|
console.log(`[specialist-context] No recent runs for ${projectKey}/${specialistType}, skipping digest generation`);
|
|
@@ -128,7 +128,7 @@ async function generateContextDigestPromise(projectKey, specialistType, options
|
|
|
128
128
|
if (!existsSync(tempDir)) mkdirSync(tempDir, { recursive: true });
|
|
129
129
|
const promptFile = join(tempDir, `digest-prompt-${Date.now()}.md`);
|
|
130
130
|
writeFileSync(promptFile, prompt, "utf-8");
|
|
131
|
-
const { getProviderEnvForModel } = await import("./agents-
|
|
131
|
+
const { getProviderEnvForModel } = await import("./agents-FlIgQ3ql.js");
|
|
132
132
|
const providerEnv = await getProviderEnvForModel(model);
|
|
133
133
|
const envPrefix = Object.entries(providerEnv).map(([k, v]) => `${k}="${v}"`).join(" ");
|
|
134
134
|
const permissionFlags = getClaudePermissionFlagsStringSync();
|
|
@@ -283,4 +283,4 @@ __esmMin((() => {
|
|
|
283
283
|
}))();
|
|
284
284
|
export { deleteContextDigest, generateContextDigest, getContextDigestPath, getContextDirectory, hasContextDigest, loadContextDigest, regenerateContextDigest, scheduleDigestGeneration };
|
|
285
285
|
|
|
286
|
-
//# sourceMappingURL=specialist-context-
|
|
286
|
+
//# sourceMappingURL=specialist-context-DtrYvGJ-.js.map
|
package/server/{specialist-handoff-logger-BsBNvVZv.js → specialist-handoff-logger-C45ouoZ6.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Br as getOverdeckHome, Vr as init_paths } from "./config-yaml-DvyMuOle.js";
|
|
2
2
|
import { Effect } from "effect";
|
|
3
3
|
import { existsSync } from "fs";
|
|
4
4
|
import { join } from "path";
|
|
@@ -52,4 +52,4 @@ const updateSpecialistHandoffStatus = (issueId, toSpecialist, status, result) =>
|
|
|
52
52
|
//#endregion
|
|
53
53
|
export { updateSpecialistHandoffStatus };
|
|
54
54
|
|
|
55
|
-
//# sourceMappingURL=specialist-handoff-logger-
|
|
55
|
+
//# sourceMappingURL=specialist-handoff-logger-C45ouoZ6.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { a as __toCommonJS, n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import {
|
|
3
|
-
import { n as specialists_exports, t as init_specialists } from "./specialists-
|
|
2
|
+
import { Br as getOverdeckHome, Mn as projects_exports, Tn as init_projects, Vr as init_paths } from "./config-yaml-DvyMuOle.js";
|
|
3
|
+
import { n as specialists_exports, t as init_specialists } from "./specialists-DyFeedjn.js";
|
|
4
4
|
import { Data, Effect } from "effect";
|
|
5
5
|
import { appendFileSync, existsSync, mkdirSync, readFileSync, readdirSync, statSync, unlinkSync, writeFileSync } from "fs";
|
|
6
6
|
import { basename, join } from "path";
|
|
@@ -380,4 +380,4 @@ __esmMin((() => {
|
|
|
380
380
|
}))();
|
|
381
381
|
export { MAX_LOG_SIZE, SpecialistLogError, appendToRunLog, appendToRunLogSync, checkLogSizeLimit, cleanupAllLogs, cleanupAllLogsSync, cleanupOldLogs, cleanupOldLogsSync, createRunLog, createRunLogSync, finalizeRunLog, finalizeRunLogSync, generateRunId, getRecentRunLogs, getRunLog, getRunLogPath, getRunLogSize, getRunLogSync, getRunsDirectory, isRunLogActive, listRunLogs, listRunLogsSync, parseLogMetadata };
|
|
382
382
|
|
|
383
|
-
//# sourceMappingURL=specialist-logs-
|
|
383
|
+
//# sourceMappingURL=specialist-logs-DJ3RzKxW.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { i as validateSpecialistAutoCompleteMetadata, n as _serverManagedMerges, r as firePostMergeLifecycle, t as specialistsRouteLayer } from "./specialists-
|
|
1
|
+
import { i as validateSpecialistAutoCompleteMetadata, n as _serverManagedMerges, r as firePostMergeLifecycle, t as specialistsRouteLayer } from "./specialists-JVO00bs7.js";
|
|
2
2
|
export { _serverManagedMerges, specialistsRouteLayer as default, specialistsRouteLayer, firePostMergeLifecycle, validateSpecialistAutoCompleteMetadata };
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { $ as updateSpecialistMetadata, A as findSessionFile, B as getProjectSpecialistDir, C as listSpecialistsForProject, D as updateRunMetadata, E as updateProjectSpecialistMetadata, F as isInitialized, G as isProjectSpecialistActivelyRunning, H as getSpecialistMetadata, I as isRunning, J as parseReviewerSessionName, K as loadRegistry, L as REVIEWER_ROLES, M as getSpecialistState, N as getSpecialistStatus, O as updateRunStatus, P as initializeEnabledSpecialists, Q as saveRegistry, R as ensureProjectSpecialistDir, S as listProjectsWithSpecialists, T as updateContextTokens, U as getTmuxSessionName, V as getReviewerSessionName, W as initSpecialistsDirectory, X as pruneSpecialistRegistryEntriesForIssue, Y as parseSpecialistRegistryKey, Z as recordWake, _ as getEnabledSpecialists, a as sendFeedbackToAgent, b as incrementProjectRunCount, c as getGracePeriodState, d as signalSpecialistCompletion, et as buildSpecialistBaseCommand, f as startGracePeriod, g as getAllProjectSpecialistStatuses, h as enableSpecialist, i as getPendingFeedback, j as getAllSpecialistStatus, k as countContextTokens, l as pauseGracePeriod, m as disableSpecialist, o as exitGracePeriod, p as terminateSpecialist, q as makeSpecialistRegistryKey, r as getFeedbackStats, s as findActiveRegistryKey, t as init_specialists, tt as buildSpecialistCavemanExports, u as resumeGracePeriod, v as getProjectSpecialistMetadata, w as setCurrentRun, x as isEnabled, y as getRunMetadata, z as getAllSpecialists } from "./specialists-DyFeedjn.js";
|
|
2
|
+
init_specialists();
|
|
3
|
+
export { REVIEWER_ROLES, buildSpecialistBaseCommand, buildSpecialistCavemanExports, countContextTokens, disableSpecialist, enableSpecialist, ensureProjectSpecialistDir, exitGracePeriod, findActiveRegistryKey, findSessionFile, getAllProjectSpecialistStatuses, getAllSpecialistStatus, getAllSpecialists, getEnabledSpecialists, getFeedbackStats, getGracePeriodState, getPendingFeedback, getProjectSpecialistDir, getProjectSpecialistMetadata, getReviewerSessionName, getRunMetadata, getSpecialistMetadata, getSpecialistState, getSpecialistStatus, getTmuxSessionName, incrementProjectRunCount, initSpecialistsDirectory, initializeEnabledSpecialists, isEnabled, isInitialized, isProjectSpecialistActivelyRunning, isRunning, listProjectsWithSpecialists, listSpecialistsForProject, loadRegistry, makeSpecialistRegistryKey, parseReviewerSessionName, parseSpecialistRegistryKey, pauseGracePeriod, pruneSpecialistRegistryEntriesForIssue, recordWake, resumeGracePeriod, saveRegistry, sendFeedbackToAgent, setCurrentRun, signalSpecialistCompletion, startGracePeriod, terminateSpecialist, updateContextTokens, updateProjectSpecialistMetadata, updateRunMetadata, updateRunStatus, updateSpecialistMetadata };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { n as __esmMin, r as __exportAll } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { a as readCavemanVariant, n as init_workspace } from "./workspace-
|
|
5
|
-
import { n as resolveHarness, t as init_harness_resolve } from "./harness-resolve-
|
|
6
|
-
import { a as init_jsonl_parser, n as getAllSessionFilesSync, s as parseClaudeSessionSync } from "./jsonl-parser-
|
|
2
|
+
import { Vr as init_paths, hr as AGENTS_DIR, wr as OVERDECK_HOME } from "./config-yaml-DvyMuOle.js";
|
|
3
|
+
import { A as listPaneValues, D as killSession, H as sessionExists, w as init_tmux } from "./tmux-ftABRAmc.js";
|
|
4
|
+
import { a as readCavemanVariant, n as init_workspace } from "./workspace-BVl4rihN.js";
|
|
5
|
+
import { n as resolveHarness, t as init_harness_resolve } from "./harness-resolve-qHJBhy3Z.js";
|
|
6
|
+
import { a as init_jsonl_parser, n as getAllSessionFilesSync, s as parseClaudeSessionSync } from "./jsonl-parser-Dhflo1SH.js";
|
|
7
7
|
import { Effect } from "effect";
|
|
8
8
|
import { appendFileSync, existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
|
|
9
9
|
import { basename, join } from "path";
|
|
@@ -11,9 +11,6 @@ import "crypto";
|
|
|
11
11
|
import { exec } from "child_process";
|
|
12
12
|
import { promisify } from "util";
|
|
13
13
|
//#region ../../lib/cloister/specialists-spawn.ts
|
|
14
|
-
/**
|
|
15
|
-
* Cloister specialist spawn command and environment helpers.
|
|
16
|
-
*/
|
|
17
14
|
function roleForSpecialistModel(specialistType) {
|
|
18
15
|
const normalized = specialistType.replace(/-agent$/, "");
|
|
19
16
|
if (normalized === "inspect") return {
|
|
@@ -31,7 +28,7 @@ function roleForSpecialistModel(specialistType) {
|
|
|
31
28
|
return { role: "work" };
|
|
32
29
|
}
|
|
33
30
|
async function buildSpecialistBaseCommand(specialistType, model, sessionName) {
|
|
34
|
-
const { getAgentRuntimeBaseCommand } = await import("./agents-
|
|
31
|
+
const { getAgentRuntimeBaseCommand } = await import("./agents-FlIgQ3ql.js");
|
|
35
32
|
const role = roleForSpecialistModel(specialistType).role;
|
|
36
33
|
const harness = await resolveHarness({
|
|
37
34
|
model,
|
|
@@ -39,15 +36,6 @@ async function buildSpecialistBaseCommand(specialistType, model, sessionName) {
|
|
|
39
36
|
});
|
|
40
37
|
return getAgentRuntimeBaseCommand(model, sessionName, specialistType.startsWith("pan-") ? specialistType : `pan-${specialistType.endsWith("-agent") ? specialistType.slice(0, -6) : specialistType}-agent`, harness);
|
|
41
38
|
}
|
|
42
|
-
function readRecordedClaudeSessionId(tmuxSession) {
|
|
43
|
-
const sessionFile = join(AGENTS_DIR, tmuxSession, "session.id");
|
|
44
|
-
if (!existsSync(sessionFile)) return null;
|
|
45
|
-
try {
|
|
46
|
-
return readFileSync(sessionFile, "utf-8").trim() || null;
|
|
47
|
-
} catch {
|
|
48
|
-
return null;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
39
|
/**
|
|
52
40
|
* Build shell export lines for caveman compression for specialist agents.
|
|
53
41
|
*
|
|
@@ -75,7 +63,6 @@ async function buildSpecialistCavemanExports(specialistType, workspacePath, conf
|
|
|
75
63
|
return `export CAVEMAN_DEFAULT_MODE="${mode}"\nexport OVERDECK_CAVEMAN_VARIANT="${variant}"\n`;
|
|
76
64
|
}
|
|
77
65
|
var init_specialists_spawn = __esmMin((() => {
|
|
78
|
-
init_paths();
|
|
79
66
|
init_workspace();
|
|
80
67
|
init_harness_resolve();
|
|
81
68
|
promisify(exec);
|
|
@@ -95,6 +82,22 @@ var init_specialists_spawn = __esmMin((() => {
|
|
|
95
82
|
*
|
|
96
83
|
* Manages specialist metadata, registry persistence, and session naming.
|
|
97
84
|
*/
|
|
85
|
+
/**
|
|
86
|
+
* Get the directory for a project's specialist
|
|
87
|
+
*/
|
|
88
|
+
function getProjectSpecialistDir(projectKey, specialistType) {
|
|
89
|
+
return join(SPECIALISTS_DIR, projectKey, specialistType);
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Ensure per-project specialist directory structure exists
|
|
93
|
+
*/
|
|
94
|
+
function ensureProjectSpecialistDir(projectKey, specialistType) {
|
|
95
|
+
const specialistDir = getProjectSpecialistDir(projectKey, specialistType);
|
|
96
|
+
const runsDir = join(specialistDir, "runs");
|
|
97
|
+
const contextDir = join(specialistDir, "context");
|
|
98
|
+
if (!existsSync(runsDir)) mkdirSync(runsDir, { recursive: true });
|
|
99
|
+
if (!existsSync(contextDir)) mkdirSync(contextDir, { recursive: true });
|
|
100
|
+
}
|
|
98
101
|
function isProjectSpecialistActivelyRunning(runtimeState, fallbackRunning = false) {
|
|
99
102
|
if (runtimeState?.state === "active") return true;
|
|
100
103
|
if (runtimeState?.state === "idle" || runtimeState?.state === "suspended" || runtimeState?.state === "stopped" || runtimeState?.state === "waiting-on-human") return false;
|
|
@@ -205,27 +208,6 @@ function getAllSpecialists() {
|
|
|
205
208
|
return loadRegistry().specialists ?? [];
|
|
206
209
|
}
|
|
207
210
|
/**
|
|
208
|
-
* Check if a legacy specialist has a recorded Claude session.
|
|
209
|
-
*
|
|
210
|
-
* @param name - Specialist name
|
|
211
|
-
* @returns True if the specialist has a recorded session id in its agent directory
|
|
212
|
-
*/
|
|
213
|
-
function isInitialized(name) {
|
|
214
|
-
return readRecordedClaudeSessionId(getTmuxSessionName(name)) !== null;
|
|
215
|
-
}
|
|
216
|
-
/**
|
|
217
|
-
* Get the state of a specialist from recorded agent metadata.
|
|
218
|
-
*
|
|
219
|
-
* Note: This only checks whether a recorded Claude session exists, not if it's actually running.
|
|
220
|
-
* Use getSpecialistStatus() for runtime state.
|
|
221
|
-
*
|
|
222
|
-
* @param name - Specialist name
|
|
223
|
-
* @returns Specialist state
|
|
224
|
-
*/
|
|
225
|
-
function getSpecialistState(name) {
|
|
226
|
-
return isInitialized(name) ? "sleeping" : "uninitialized";
|
|
227
|
-
}
|
|
228
|
-
/**
|
|
229
211
|
* Get tmux session name for a specialist
|
|
230
212
|
*
|
|
231
213
|
* @param name - Specialist name
|
|
@@ -333,7 +315,6 @@ function recordWake(name, sessionId) {
|
|
|
333
315
|
var SPECIALISTS_DIR, REGISTRY_FILE, DEFAULT_SPECIALISTS, REVIEWER_ROLES;
|
|
334
316
|
var init_specialists_registry = __esmMin((() => {
|
|
335
317
|
init_paths();
|
|
336
|
-
init_specialists_spawn();
|
|
337
318
|
SPECIALISTS_DIR = join(OVERDECK_HOME, "specialists");
|
|
338
319
|
REGISTRY_FILE = join(SPECIALISTS_DIR, "registry.json");
|
|
339
320
|
DEFAULT_SPECIALISTS = [];
|
|
@@ -352,6 +333,36 @@ var init_specialists_registry = __esmMin((() => {
|
|
|
352
333
|
*
|
|
353
334
|
* Resolves specialist session state, token usage, and startup status.
|
|
354
335
|
*/
|
|
336
|
+
function readRecordedClaudeSessionId(tmuxSession) {
|
|
337
|
+
const sessionFile = join(AGENTS_DIR, tmuxSession, "session.id");
|
|
338
|
+
if (!existsSync(sessionFile)) return null;
|
|
339
|
+
try {
|
|
340
|
+
return readFileSync(sessionFile, "utf-8").trim() || null;
|
|
341
|
+
} catch {
|
|
342
|
+
return null;
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
/**
|
|
346
|
+
* Check if a legacy specialist has a recorded Claude session.
|
|
347
|
+
*
|
|
348
|
+
* @param name - Specialist name
|
|
349
|
+
* @returns True if the specialist has a recorded session id in its agent directory
|
|
350
|
+
*/
|
|
351
|
+
function isInitialized(name) {
|
|
352
|
+
return readRecordedClaudeSessionId(getTmuxSessionName(name)) !== null;
|
|
353
|
+
}
|
|
354
|
+
/**
|
|
355
|
+
* Get the state of a specialist from recorded agent metadata.
|
|
356
|
+
*
|
|
357
|
+
* Note: This only checks whether a recorded Claude session exists, not if it's actually running.
|
|
358
|
+
* Use getSpecialistStatus() for runtime state.
|
|
359
|
+
*
|
|
360
|
+
* @param name - Specialist name
|
|
361
|
+
* @returns Specialist state
|
|
362
|
+
*/
|
|
363
|
+
function getSpecialistState(name) {
|
|
364
|
+
return isInitialized(name) ? "sleeping" : "uninitialized";
|
|
365
|
+
}
|
|
355
366
|
/**
|
|
356
367
|
* Find JSONL file for a session ID
|
|
357
368
|
*
|
|
@@ -424,7 +435,7 @@ async function getSpecialistStatus(name, projectKey) {
|
|
|
424
435
|
const sessionId = readRecordedClaudeSessionId(getTmuxSessionName(name, projectKey));
|
|
425
436
|
const running = await isRunning(name, projectKey);
|
|
426
437
|
const contextTokens = countContextTokens(name);
|
|
427
|
-
const { getAgentRuntimeStateSync } = await import("./agents-
|
|
438
|
+
const { getAgentRuntimeStateSync } = await import("./agents-FlIgQ3ql.js");
|
|
428
439
|
const runtimeState = getAgentRuntimeStateSync(getTmuxSessionName(name, projectKey));
|
|
429
440
|
let state;
|
|
430
441
|
if (runtimeState) switch (runtimeState.state) {
|
|
@@ -482,41 +493,20 @@ async function initializeEnabledSpecialists() {
|
|
|
482
493
|
}
|
|
483
494
|
var execAsync;
|
|
484
495
|
var init_specialists_status = __esmMin((() => {
|
|
496
|
+
init_paths();
|
|
485
497
|
init_jsonl_parser();
|
|
486
498
|
init_tmux();
|
|
487
499
|
init_specialists_registry();
|
|
488
|
-
init_specialists_spawn();
|
|
489
500
|
execAsync = promisify(exec);
|
|
490
501
|
}));
|
|
491
502
|
//#endregion
|
|
492
503
|
//#region ../../lib/cloister/specialists-project-meta.ts
|
|
493
504
|
/**
|
|
494
|
-
* Cloister Specialist Project Metadata
|
|
495
|
-
*
|
|
496
|
-
* Manages per-project specialist run metadata and configuration.
|
|
497
|
-
*/
|
|
498
|
-
/**
|
|
499
505
|
* ===========================================================================
|
|
500
506
|
* Per-Project Specialist Functions
|
|
501
507
|
* ===========================================================================
|
|
502
508
|
*/
|
|
503
509
|
/**
|
|
504
|
-
* Get the directory for a project's specialist
|
|
505
|
-
*/
|
|
506
|
-
function getProjectSpecialistDir(projectKey, specialistType) {
|
|
507
|
-
return join(SPECIALISTS_DIR, projectKey, specialistType);
|
|
508
|
-
}
|
|
509
|
-
/**
|
|
510
|
-
* Ensure per-project specialist directory structure exists
|
|
511
|
-
*/
|
|
512
|
-
function ensureProjectSpecialistDir(projectKey, specialistType) {
|
|
513
|
-
const specialistDir = getProjectSpecialistDir(projectKey, specialistType);
|
|
514
|
-
const runsDir = join(specialistDir, "runs");
|
|
515
|
-
const contextDir = join(specialistDir, "context");
|
|
516
|
-
if (!existsSync(runsDir)) mkdirSync(runsDir, { recursive: true });
|
|
517
|
-
if (!existsSync(contextDir)) mkdirSync(contextDir, { recursive: true });
|
|
518
|
-
}
|
|
519
|
-
/**
|
|
520
510
|
* Get metadata for a specific (projectKey, registryKey) pair.
|
|
521
511
|
* registryKey is either a plain specialistType (legacy) or a compound key from makeSpecialistRegistryKey().
|
|
522
512
|
*/
|
|
@@ -637,7 +627,7 @@ function listSpecialistsForProject(projectKey) {
|
|
|
637
627
|
*/
|
|
638
628
|
async function getAllProjectSpecialistStatuses() {
|
|
639
629
|
const registry = loadRegistry();
|
|
640
|
-
const { getAgentRuntimeStateSync } = await import("./agents-
|
|
630
|
+
const { getAgentRuntimeStateSync } = await import("./agents-FlIgQ3ql.js");
|
|
641
631
|
const results = [];
|
|
642
632
|
for (const [projectKey, specialists] of Object.entries(registry.projects)) for (const [registryKey, metadata] of Object.entries(specialists)) {
|
|
643
633
|
const { specialistType, issueId, role } = parseSpecialistRegistryKey(registryKey);
|
|
@@ -834,7 +824,7 @@ async function signalSpecialistCompletion(projectKey, specialistType, result, is
|
|
|
834
824
|
const resolvedTmuxSession = metadata.tmuxSession ?? getTmuxSessionName(specialistType, projectKey, issueId);
|
|
835
825
|
updateRunStatus(projectKey, registryKey, result.status);
|
|
836
826
|
if (metadata.currentRun) try {
|
|
837
|
-
const { finalizeRunLogSync } = await import("./specialist-logs-
|
|
827
|
+
const { finalizeRunLogSync } = await import("./specialist-logs-DJ3RzKxW.js");
|
|
838
828
|
finalizeRunLogSync(projectKey, specialistType, metadata.currentRun, {
|
|
839
829
|
status: result.status,
|
|
840
830
|
notes: result.notes
|
|
@@ -844,7 +834,7 @@ async function signalSpecialistCompletion(projectKey, specialistType, result, is
|
|
|
844
834
|
}
|
|
845
835
|
setCurrentRun(projectKey, registryKey, null);
|
|
846
836
|
updateRunMetadata(projectKey, registryKey, { currentActivity: null });
|
|
847
|
-
import("./agents-
|
|
837
|
+
import("./agents-FlIgQ3ql.js").then(({ saveAgentRuntimeState }) => {
|
|
848
838
|
saveAgentRuntimeState(resolvedTmuxSession, {
|
|
849
839
|
state: "idle",
|
|
850
840
|
lastActivity: (/* @__PURE__ */ new Date()).toISOString(),
|
|
@@ -875,7 +865,7 @@ async function terminateSpecialist(projectKey, specialistType, issueId) {
|
|
|
875
865
|
console.error(`[specialist] Failed to kill tmux session ${tmuxSession}:`, error);
|
|
876
866
|
}
|
|
877
867
|
if (metadata.currentRun) {
|
|
878
|
-
const { finalizeRunLogSync } = await import("./specialist-logs-
|
|
868
|
+
const { finalizeRunLogSync } = await import("./specialist-logs-DJ3RzKxW.js");
|
|
879
869
|
try {
|
|
880
870
|
finalizeRunLogSync(projectKey, specialistType, metadata.currentRun, {
|
|
881
871
|
status: metadata.lastRunStatus || "incomplete",
|
|
@@ -889,12 +879,12 @@ async function terminateSpecialist(projectKey, specialistType, issueId) {
|
|
|
889
879
|
updateRunMetadata(projectKey, registryKey, { currentActivity: null });
|
|
890
880
|
const key = `${projectKey}-${specialistType}`;
|
|
891
881
|
gracePeriodStates.delete(key);
|
|
892
|
-
const { saveAgentRuntimeState } = await import("./agents-
|
|
882
|
+
const { saveAgentRuntimeState } = await import("./agents-FlIgQ3ql.js");
|
|
893
883
|
saveAgentRuntimeState(tmuxSession, {
|
|
894
884
|
state: "suspended",
|
|
895
885
|
lastActivity: (/* @__PURE__ */ new Date()).toISOString()
|
|
896
886
|
});
|
|
897
|
-
const { scheduleDigestGeneration } = await import("./specialist-context-
|
|
887
|
+
const { scheduleDigestGeneration } = await import("./specialist-context-DtrYvGJ-.js");
|
|
898
888
|
scheduleDigestGeneration(projectKey, specialistType);
|
|
899
889
|
scheduleLogCleanup(projectKey, specialistType);
|
|
900
890
|
}
|
|
@@ -907,8 +897,8 @@ async function terminateSpecialist(projectKey, specialistType, issueId) {
|
|
|
907
897
|
function scheduleLogCleanup(projectKey, specialistType) {
|
|
908
898
|
Promise.resolve().then(async () => {
|
|
909
899
|
try {
|
|
910
|
-
const { cleanupOldLogsSync } = await import("./specialist-logs-
|
|
911
|
-
const { getSpecialistRetention } = await import("./projects-
|
|
900
|
+
const { cleanupOldLogsSync } = await import("./specialist-logs-DJ3RzKxW.js");
|
|
901
|
+
const { getSpecialistRetention } = await import("./projects-9SkRpES9.js");
|
|
912
902
|
const retention = getSpecialistRetention(projectKey);
|
|
913
903
|
const deleted = cleanupOldLogsSync(projectKey, specialistType, {
|
|
914
904
|
maxDays: retention.max_days,
|
|
@@ -958,7 +948,7 @@ async function sendFeedbackToAgent(feedback) {
|
|
|
958
948
|
}
|
|
959
949
|
const agentSession = `agent-${toIssueId.toLowerCase()}`;
|
|
960
950
|
const feedbackMessage = formatFeedbackForAgent(fullFeedback);
|
|
961
|
-
const { writeFeedbackFile } = await import("./feedback-writer-
|
|
951
|
+
const { writeFeedbackFile } = await import("./feedback-writer-qmiMbqTZ.js");
|
|
962
952
|
const specialist = {
|
|
963
953
|
"review-agent": "review-agent",
|
|
964
954
|
"test-agent": "test-agent",
|
|
@@ -977,7 +967,7 @@ async function sendFeedbackToAgent(feedback) {
|
|
|
977
967
|
return false;
|
|
978
968
|
}
|
|
979
969
|
try {
|
|
980
|
-
const { messageAgent } = await import("./agents-
|
|
970
|
+
const { messageAgent } = await import("./agents-FlIgQ3ql.js");
|
|
981
971
|
await messageAgent(agentSession, `SPECIALIST FEEDBACK: ${fromSpecialist} reported ${feedback.feedbackType.toUpperCase()} for ${toIssueId}.\n\nMUST READ: ${fileResult.filePath}\n\nUse your Read tool to open this file, read every line, then address the feedback and continue working. Do NOT stop at the prompt.`);
|
|
982
972
|
console.log(`[specialist] Sent feedback from ${fromSpecialist} to ${agentSession} (file: ${fileResult.filePath})`);
|
|
983
973
|
return true;
|
|
@@ -1135,6 +1125,6 @@ var init_specialists = __esmMin((() => {
|
|
|
1135
1125
|
init_specialists_feedback();
|
|
1136
1126
|
}));
|
|
1137
1127
|
//#endregion
|
|
1138
|
-
export { updateSpecialistMetadata as $,
|
|
1128
|
+
export { updateSpecialistMetadata as $, findSessionFile as A, getProjectSpecialistDir as B, listSpecialistsForProject as C, updateRunMetadata as D, updateProjectSpecialistMetadata as E, isInitialized as F, isProjectSpecialistActivelyRunning as G, getSpecialistMetadata as H, isRunning as I, parseReviewerSessionName as J, loadRegistry as K, REVIEWER_ROLES as L, getSpecialistState as M, getSpecialistStatus as N, updateRunStatus as O, initializeEnabledSpecialists as P, saveRegistry as Q, ensureProjectSpecialistDir as R, listProjectsWithSpecialists as S, updateContextTokens as T, getTmuxSessionName as U, getReviewerSessionName as V, initSpecialistsDirectory as W, pruneSpecialistRegistryEntriesForIssue as X, parseSpecialistRegistryKey as Y, recordWake as Z, getEnabledSpecialists as _, sendFeedbackToAgent as a, incrementProjectRunCount as b, getGracePeriodState as c, signalSpecialistCompletion as d, buildSpecialistBaseCommand as et, startGracePeriod as f, getAllProjectSpecialistStatuses as g, enableSpecialist as h, getPendingFeedback as i, getAllSpecialistStatus as j, countContextTokens as k, pauseGracePeriod as l, disableSpecialist as m, specialists_exports as n, exitGracePeriod as o, terminateSpecialist as p, makeSpecialistRegistryKey as q, getFeedbackStats as r, findActiveRegistryKey as s, init_specialists as t, buildSpecialistCavemanExports as tt, resumeGracePeriod as u, getProjectSpecialistMetadata as v, setCurrentRun as w, isEnabled as x, getRunMetadata as y, getAllSpecialists as z };
|
|
1139
1129
|
|
|
1140
|
-
//# sourceMappingURL=specialists-
|
|
1130
|
+
//# sourceMappingURL=specialists-DyFeedjn.js.map
|