@overdeck/desktop 0.45.22 → 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-BH7ac_1G.js → acceptance-criteria-DOA0KgXx.js} +5 -5
- package/server/{advancing-selfheal-cSvXNZLZ.js → advancing-selfheal-BBu6DSNm.js} +6 -6
- package/server/{agent-gc-Dj2gncak.js → agent-gc-BV1q_2EV.js} +4 -4
- package/server/agent-state-Bg0lhqwj.js +3 -0
- package/server/{agent-state-service-CsQ07Pxe.js → agent-state-service-CnzFKSAQ.js} +1 -1
- package/server/{agent-state-service-DistflNn.js → agent-state-service-HoK8U4jW.js} +5 -5
- package/server/{agents-DXdHmRTC.js → agents-B4Bjbkfv.js} +4 -4
- package/server/agents-FlIgQ3ql.js +3 -0
- package/server/{archive-planning-BvDuWNMo.js → archive-planning-DYrYojxl.js} +30 -6
- package/server/{archive-planning-Cp_DC1j-.js → archive-planning-zkJb3BeM.js} +1 -1
- package/server/{artifact-index-jobs-CDBFL4OU.js → artifact-index-jobs-C-xy7Z5v.js} +2 -2
- package/server/{backlog-auto-trigger-DmA1IbYf.js → backlog-auto-trigger-GtG71X8H.js} +3 -3
- package/server/{behavior-CGj16clS.js → behavior-B_-4EKF3.js} +2 -2
- package/server/{briefing-freshness-C12WgkaB.js → briefing-freshness-DWdW7vUm.js} +2 -2
- package/server/{build-info-NU3KbXYw.js → build-info-BT096lEl.js} +3 -3
- package/server/{build-info-BRpqQvNd.js → build-info-DgTqZkL5.js} +1 -1
- package/server/{checkpoint-manager-rOgT98WY.js → checkpoint-manager-B7Bt29J0.js} +1 -1
- package/server/{checkpoint-manager-CTPjAmtH.js → checkpoint-manager-DDqcGyu8.js} +2 -2
- package/server/checkpoint-worker.js +1 -1
- package/server/{checkpoints-BJum14fs.js → checkpoints-C-AXLfYT.js} +2 -2
- package/server/{checkpoints-B5jFNi2G.js → checkpoints-CpgCjAlN.js} +1 -1
- package/server/{claude-hooks-provision-BhwWK-TQ.js → claude-hooks-provision-C8wdRnN1.js} +1 -1
- package/server/{claude-hooks-provision-D7p5WcKZ.js → claude-hooks-provision-but-_qGY.js} +2 -2
- package/server/{claude-permissions-nSFKH78M.js → claude-permissions-H_5wHQZQ.js} +2 -2
- package/server/{claude-settings-overlay-DHBwjS1X.js → claude-settings-overlay-BTENVmYf.js} +1 -1
- package/server/{claude-settings-overlay-BI_UIke0.js → claude-settings-overlay-CbSz0Dvb.js} +2 -2
- package/server/cli-BsVIHwzC.js +3 -0
- package/server/{cli-CbKNkFE5.js → cli-vBeXbPrq.js} +9 -9
- package/server/{cliproxy-Brf_5MuG.js → cliproxy-Bgb2XCqi.js} +2 -2
- package/server/{cliproxy-bONZDBbC.js → cliproxy-DW0V86F8.js} +1 -1
- package/server/{close-issue-CxReRxIc.js → close-issue-Dn_4c4G8.js} +5 -5
- package/server/{closed-issue-reaper-DXP2Xyv3.js → closed-issue-reaper-CWpY2uBw.js} +1 -1
- package/server/{closed-issue-reaper-CQ3kqha7.js → closed-issue-reaper-hANY_ehE.js} +9 -9
- package/server/codex-Dg7Is5yb.js +3 -0
- package/server/{codex-CbmztVcc.js → codex-TmSi-yTv.js} +27 -8
- package/server/{codex-parser-jl8AeAmB.js → codex-parser-C4gSH-IR.js} +2 -2
- package/server/{config-q4Gvd8dq.js → config-CCvjQf27.js} +2 -2
- package/server/{config-BJKocXKd.js → config-DUIhMN_T.js} +1 -1
- package/server/{config-DeTsoZdR.js → config-DjLOdbgT.js} +2 -2
- package/server/{config-yaml-ig8Nwtiw.js → config-yaml-DvyMuOle.js} +55 -186
- package/server/{conflict-gate-CHU9K1vU.js → conflict-gate-BSJkNTdp.js} +1 -1
- package/server/{conflict-gate-CFqPVxEg.js → conflict-gate-CmrYpa47.js} +3 -3
- package/server/{context-layers-DlQKkHH2.js → context-layers-B3Nt58jl.js} +2 -2
- package/server/{context-layers-15gDOk20.js → context-layers-ZYFcWiyc.js} +3 -3
- package/server/{control-settings-D_odMIaC.js → control-settings-aP1ANIlI.js} +4 -4
- package/server/{conversation-compaction-B6YSRLda.js → conversation-compaction-CNbTLB86.js} +8 -8
- package/server/{conversation-compaction-CN4-5YYt.js → conversation-compaction-DiG5zWQq.js} +1 -1
- package/server/{conversation-service-C3avRVEr.js → conversation-service-Du-MTNpJ.js} +6 -6
- package/server/{conversation-service-Dq33SYEj.js → conversation-service-Up7FEzIC.js} +1 -1
- package/server/{conversations-H9if0bCQ.js → conversations-6mPANqvL.js} +1 -1
- package/server/{conversations-bYpM9-kZ.js → conversations-DbOs1e9Q.js} +4 -4
- package/server/{cost-wH46-WsJ.js → cost-CW4WSe72.js} +3 -3
- package/server/{cost-Codk1pc2.js → cost-Ca0YTWDw.js} +18 -2
- package/server/{cost-sync-D_cre6WM.js → cost-sync-C0VdGme1.js} +3 -3
- package/server/{dag-CJpgf9A3.js → dag-CdOjJVDT.js} +9 -9
- package/server/{dangerous-git-ops-D6AF-Hg_.js → dangerous-git-ops-CT-IypG3.js} +1 -1
- package/server/dashboard-db-worker.js +7 -7
- package/server/{deacon-B8HbQdqU.js → deacon-DYSEJb48.js} +3 -3
- package/server/{deacon-nudge-log-D6K9K-rE.js → deacon-nudge-log-Bjg8U4Y9.js} +3 -3
- package/server/{deacon-CkT_kznS.js → deacon-pRnyD5w9.js} +266 -577
- package/server/deacon-swarm-9jRLS5Ke.js +2 -0
- package/server/{deacon-swarm-BryRr6AO.js → deacon-swarm-DftYRDo8.js} +17 -17
- package/server/deacon.js +8 -8
- package/server/{deploy-patrol-1IrZxicY.js → deploy-patrol-Bjsho_ha.js} +136 -19
- package/server/{deploy-window-7ZYHh7Zp.js → deploy-window-CM6W1-c6.js} +1 -1
- package/server/{deploy-window-wDf4UgHt.js → deploy-window-DeP_OIRk.js} +77 -10
- package/server/{dev-supervisor-C7p9kEpc.js → dev-supervisor-BpMoHlkR.js} +2 -2
- package/server/{devcontainer-renderer-CNmQy0pL.js → devcontainer-renderer-CtUgrVKW.js} +3 -3
- package/server/dist-Bd3vn0Hw.js +3 -0
- package/server/{dist-D-Ed5yVw.js → dist-DyRx4cI7.js} +1 -1
- package/server/{docker-BCZ89M9X.js → docker-BK7HIcBj.js} +2 -2
- package/server/{dod-DbJLYcHv.js → dod-BrSfUHm0.js} +1 -1
- package/server/{ensure-devcontainer-Cs6W9Yzj.js → ensure-devcontainer-DRqaAkBR.js} +1 -1
- package/server/{ensure-devcontainer-V5JWaAva.js → ensure-devcontainer-DseivYEy.js} +4 -4
- package/server/{esm-shims-dTeNdq7X.js → esm-shims-CbI3BVkl.js} +1 -1
- package/server/{event-store-CpBGsO6_.js → event-store-Cr5PQwFC.js} +1 -1
- package/server/{event-store-TnWdydfB.js → event-store-tdiY5eDZ.js} +3 -3
- package/server/{events-DSUdR-04.js → events-CC1dgUpx.js} +3 -3
- package/server/{events-Dsuv6qyB.js → events-CvvGK6LT.js} +1 -1
- package/server/{factory-BMrK4TrE.js → factory-CynerjXO.js} +50 -13
- package/server/{feature-registry-population-B-CI9hgE.js → feature-registry-population-B0pmAz0a.js} +4 -4
- package/server/{feature-registry-storage-B972ph_A.js → feature-registry-storage-_wUBRD3J.js} +2 -2
- package/server/{features-Bc-Bmiye.js → features-Dhxz-wLc.js} +2 -2
- package/server/{feedback-target-DZ-iAnAa.js → feedback-target-CPS15Vte.js} +7 -7
- package/server/{feedback-target-DS6NUuSs.js → feedback-target-iygZwmMc.js} +1 -1
- package/server/{feedback-writer-BXP6g75N.js → feedback-writer-C9b6ccN1.js} +6 -5
- package/server/{feedback-writer-Bx5z11mF.js → feedback-writer-qmiMbqTZ.js} +1 -1
- package/server/{flywheel-Ctr5uuvo.js → flywheel-DMCUzDWg.js} +1 -1
- package/server/{flywheel-COR0mbRI.js → flywheel-DSSpWmqF.js} +13 -13
- package/server/{flywheel-6WHU4O7A.js → flywheel-DcBkQvgE.js} +14 -14
- package/server/{flywheel-merge-order-CNKAY489.js → flywheel-merge-order-C-6zRLvM.js} +1 -1
- package/server/{flywheel-merge-order-CTgHeg-W.js → flywheel-merge-order-DxbQKE1d.js} +8 -8
- package/server/forge-B-ZWyTRm.js +2 -0
- package/server/{forge-B1S_KZv4.js → forge-Ch9gCFod.js} +2 -2
- package/server/{from-DpwQ-sc3.js → from-CJ_aH5jD.js} +1 -1
- package/server/{fts-db-DmAcuCkV.js → fts-db-CKgg0VKg.js} +2 -2
- package/server/{fts-operations-7d_RkmWp.js → fts-operations-BrL_VTRr.js} +2 -2
- package/server/{git-utils-Cc3FHDKd.js → git-utils-BVa07a4a.js} +2 -2
- package/server/{git-utils-CsKGnzFA.js → git-utils-Dry_Ka_D.js} +1 -1
- package/server/{github-app-CDPtGF7J.js → github-app-CMBdIFBQ.js} +11 -3
- package/server/{github-app-CU14oYzP.js → github-app-CPfoFAdV.js} +1 -1
- package/server/{github-client-XjTJbBm7.js → github-client--XVlDpwM.js} +2 -2
- package/server/{github-client-CwBZZ3t7.js → github-client-B4QsdE-X.js} +1 -1
- package/server/{github-pr-lookup-CFGeVhqv.js → github-pr-lookup-BRbDW-qk.js} +2 -2
- package/server/{harness-binary-B2CTcD84.js → harness-binary-CVio2m-u.js} +1 -1
- package/server/{harness-resolve-D5FVQTmy.js → harness-resolve-qHJBhy3Z.js} +4 -4
- package/server/{health-events-DREeevle.js → health-events-C9B8y1Hm.js} +2 -2
- package/server/{health-events-C1whmd58.js → health-events-CpfvuVmm.js} +1 -1
- package/server/{hooks-yxRsjk-z.js → hooks-DUXw8A0-.js} +2 -2
- package/server/{hooks-B-HItBiS.js → hooks-ltecuFqZ.js} +1 -1
- package/server/{hume-Dz_OymXE.js → hume-BEq0bUDg.js} +2 -2
- package/server/hume-B_DbflNM.js +3 -0
- package/server/{idle-stack-reaper-DrCv0OAG.js → idle-stack-reaper-D7w9t3fE.js} +1 -1
- package/server/{idle-stack-reaper-Yf34xXxY.js → idle-stack-reaper-w1ISSlhs.js} +2 -2
- package/server/{in-flight-guard-BoWm66Kh.js → in-flight-guard-aQ1IxeI3.js} +2 -2
- package/server/{infra-D4iNWMA5.js → infra-CzaSOgul.js} +4 -4
- package/server/{injection-D7T75Pye.js → injection-DZ0PfYa4.js} +7 -7
- package/server/{injection-BVNa4MQW.js → injection-oNZeoDhL.js} +1 -1
- package/server/{inspect-agent-BXCgNeZ4.js → inspect-agent-DJKLWcVT.js} +12 -12
- package/server/inspect-agent-ch-F-5Ci.js +2 -0
- package/server/{internal-token-CXsfxslp.js → internal-token-Bb4XeV2x.js} +2 -2
- package/server/{internal-token-C9DdEOKY.js → internal-token-DXdfprGr.js} +1 -1
- package/server/{io-DQR9PMgS.js → io-B3_AHDfr.js} +160 -184
- package/server/{issue-closed-DtmJM0D0.js → issue-closed-zhdvQicO.js} +7 -7
- package/server/{issue-lifecycle-CeyW_HoD.js → issue-lifecycle-CreaCkjW.js} +22 -22
- package/server/{issue-lifecycle-8PSS9Anq.js → issue-lifecycle-Dy4vd0Oa.js} +1 -1
- package/server/{issue-service-singleton-D_RVYBuL.js → issue-service-singleton-B5ushCvE.js} +8 -8
- package/server/{issue-service-singleton-DBZabEl7.js → issue-service-singleton-DabvBWUp.js} +1 -1
- package/server/{issues-pDW9VUNz.js → issues-B6ToV6x1.js} +2 -2
- package/server/{jsonl-parser-C3HVNR5d.js → jsonl-parser-Dhflo1SH.js} +3 -3
- package/server/{label-cleanup-DPwiZlWo.js → label-cleanup-BKPJm4Hv.js} +3 -3
- package/server/{label-reconciler-Df1ZduPH.js → label-reconciler-DdWbHEBu.js} +4 -4
- package/server/{launcher-generator-COgR2By1.js → launcher-generator-CHVm7bGT.js} +10 -9
- package/server/{layers-Cp1To4L8.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-taIb0PoH.js → lifecycle-io-D8iNBcux.js} +37 -37
- package/server/{lifecycle-CtPDcZ9u.js → lifecycle-sycO16hj.js} +6 -6
- package/server/{linear-client-DsFkIxee.js → linear-client-D4zqMnX7.js} +2 -2
- package/server/{linear-client-YwZMDIwQ.js → linear-client-DqhDQO9k.js} +1 -1
- package/server/memory-fts-worker.js +1 -1
- package/server/{merge-C1t-bspg.js → merge-C_ZEhbqI.js} +3 -3
- package/server/{merge-BwsyNRJV.js → merge-DK23JEdS.js} +1 -1
- package/server/{merge-agent-B-SnXOoc.js → merge-agent-BQM3a8z5.js} +1 -1
- package/server/{merge-agent-DDiIjzk-.js → merge-agent-XrB80vfT.js} +28 -28
- package/server/{merge-batch-Byt-QnEl.js → merge-batch-Bwoyr8Je.js} +1 -1
- package/server/{merge-blockers-BYjeXrVN.js → merge-blockers-BsFjGrQ8.js} +2 -2
- package/server/merge-ops-DlB1IM0Y.js +2 -0
- package/server/{merge-rebase-Cm6fXaZN.js → merge-rebase-C1KIVr0s.js} +2 -2
- package/server/{merge-set-DiISXcC-.js → merge-set-DLz0MkGT.js} +3 -3
- package/server/{merge-set-6LEglm6o.js → merge-set-DnSYdBEp.js} +1 -1
- package/server/{merge-sync-Do8_q32h.js → merge-sync-DZ9dojJn.js} +2 -2
- package/server/{merge-sync-B95_4in_.js → merge-sync-SSv3E-pl.js} +1 -1
- package/server/{merge-train-CKana8EH.js → merge-train-DxDfBTjr.js} +3 -3
- package/server/{merge-train-deps-BgmqwIfA.js → merge-train-deps-CyYQUksx.js} +4 -4
- package/server/{merge-verification-CqnUzGEK.js → merge-verification-CSizH3HY.js} +4 -4
- package/server/{multipart-parser-tdOQDJ3o.js → multipart-parser-Dt8YPN5S.js} +2 -2
- package/server/{no-resume-mode-BWOSZjWd.js → no-resume-mode-Cx3K0hHi.js} +11 -8
- package/server/node_modules/.package-lock.json +1 -1
- package/server/{orphan-proposed-reconciler-DSvsJ5M7.js → orphan-proposed-reconciler-BTkDrl4R.js} +1 -1
- package/server/{orphan-proposed-reconciler-xklgvNA7.js → orphan-proposed-reconciler-neK8dHQk.js} +15 -13
- package/server/package-lock.json +2 -2
- package/server/package.json +1 -1
- package/server/{pan-dir-DOcf6ug3.js → pan-dir-DeVUgwA7.js} +78 -58
- package/server/{paths-DooHpt9p.js → paths-_zEts6wc.js} +2 -2
- package/server/{pickup-CaskQ7j6.js → pickup-Dd0Znxxy.js} +1 -1
- package/server/{pipeline-membership-1LGRjo-k.js → pipeline-membership-0HaEGDlH.js} +186 -67
- package/server/{pipeline-notifier-CZsrU_nj.js → pipeline-notifier-6iCJplFZ.js} +1 -1
- package/server/{pipeline-notifier-B6FVsYF9.js → pipeline-notifier-D0ykk59O.js} +2 -2
- package/server/{project-pipelines-CtNG_rvs.js → project-pipelines-2sK1apsO.js} +2 -2
- package/server/projects-9SkRpES9.js +3 -0
- package/server/{prompts-EvhMeeHG.js → prompts-Dp4Tpk39.js} +2 -2
- package/server/{providers-DNSQqy2V.js → providers-DKkBXhxU.js} +1 -1
- package/server/{providers-BDDPULlp.js → providers-DV7ec8l7.js} +7 -7
- package/server/public/assets/{chunk-BO2N2NFS-sym_ufXe.js → chunk-BO2N2NFS-CltymLRg.js} +4 -4
- package/server/public/assets/{diagram-OG6HWLK6-CQJPBNBu.js → diagram-OG6HWLK6-D2f6pjgA.js} +1 -1
- package/server/public/assets/{dist-Bio7THQU.js → dist-BWR4qFiV.js} +1 -1
- package/server/public/assets/{dist-DukGS2YZ.js → dist-DEmlBBNQ.js} +3 -3
- package/server/public/assets/{ganttDiagram-6RSMTGT7-D4lWwte3.js → ganttDiagram-6RSMTGT7-DnfiViPK.js} +1 -1
- package/server/public/assets/{highlighted-body-OFNGDK62-CaLboCt5.js → highlighted-body-OFNGDK62-B8Wrmj9H.js} +1 -1
- package/server/public/assets/index-CUr1xv8w.css +1 -0
- package/server/public/assets/{index-Bwejq-5s.js → index-CsSuZQBI.js} +145 -144
- package/server/public/assets/{linear-qUWmMZ-c.js → linear-C9zFQpkX.js} +1 -1
- package/server/public/assets/mermaid-GHXKKRXX-BUAB8hqt.js +1 -0
- package/server/public/assets/{pieDiagram-4H26LBE5-C4zYulEm.js → pieDiagram-4H26LBE5-lR8H7Yjd.js} +1 -1
- package/server/public/assets/{prod-C8VtLuWC.js → prod-B1jCQihw.js} +4 -4
- package/server/public/assets/{quadrantDiagram-W4KKPZXB-qP04zyZC.js → quadrantDiagram-W4KKPZXB-CVQ2guem.js} +1 -1
- package/server/public/assets/{sankeyDiagram-5OEKKPKP-eMPTX_cG.js → sankeyDiagram-5OEKKPKP-eD1RB4gm.js} +1 -1
- package/server/public/assets/{xychartDiagram-2RQKCTM6-Dme1PIt6.js → xychartDiagram-2RQKCTM6-ChEC6dQn.js} +1 -1
- package/server/public/index.html +2 -2
- package/server/{pull-requests-By_BteaL.js → pull-requests--Ib2jTgy.js} +1 -1
- package/server/{pull-requests-8z2N1UOV.js → pull-requests-CXIhdCYD.js} +13 -11
- package/server/{queries-ZABd5aXP.js → queries-6d7Cdtm7.js} +693 -104
- package/server/{rally-i_goYmiA.js → rally-B708-nZn.js} +3 -3
- package/server/{rally-api-DqKqIMNR.js → rally-api-nY0ZANw3.js} +2 -2
- package/server/{rally-api-xHazRk0d.js → rally-api-yjQ0TfHd.js} +1 -1
- package/server/{rally-client-COYz1vYR.js → rally-client-B1EJhfV0.js} +4 -4
- package/server/{rally-client-CGWEHaPd.js → rally-client-CULK2XAY.js} +1 -1
- package/server/rally-njs_mJrt.js +3 -0
- package/server/{reap-terminal-sessions-CaMkFOIH.js → reap-terminal-sessions-MWnqdLCJ.js} +1 -1
- package/server/{reap-terminal-sessions-DG9eiMVz.js → reap-terminal-sessions-N3BTkmX_.js} +1 -1
- package/server/{rebuild-stack-JUm0jqYP.js → rebuild-stack-Dp4eLkt4.js} +6 -6
- package/server/{rebuild-stack-CKjJAI8L.js → rebuild-stack-kA7XngID.js} +1 -1
- package/server/{reconstruct-cache-wU79aCee.js → reconstruct-cache-uWbZfjms.js} +6 -6
- package/server/record-t6V-3Dcj.js +3 -0
- package/server/{record-update-D3N6WMFR.js → record-update-DACtKh6_.js} +1 -1
- package/server/record-update-Dq0t2uBG.js +310 -0
- package/server/{recovery-trip-DkzJSej9.js → recovery-trip-BJtIQuag.js} +2 -2
- package/server/{release-engine-DMINVN8S.js → release-engine-DZpmGGzb.js} +5 -5
- package/server/{release-set-DeUSOEHy.js → release-set-hnXd_kga.js} +3 -3
- package/server/{remote-Dr5kGYSZ.js → remote-4tiENDaI.js} +3 -3
- package/server/{remote-b-c5bOce.js → remote-Br-ZWVIP.js} +3 -3
- package/server/{remote-agents-D6O_zETW.js → remote-agents-CRCg1L4H.js} +1 -1
- package/server/{remote-agents-Ct_WOyke.js → remote-agents-nmty1mLu.js} +6 -6
- package/server/{remote-completion-Dca3hAaa.js → remote-completion-BbWNd10K.js} +12 -12
- package/server/resume-CcKqnTvE.js +3 -0
- package/server/{review-agent-CCum8sGe.js → review-agent-DJRO8EG8.js} +1 -1
- package/server/{review-agent-CThvgK2r.js → review-agent-sKkE1FEL.js} +22 -22
- package/server/{review-artifacts-CXywD0F2.js → review-artifacts-BLbSC4ke.js} +5 -5
- package/server/{review-context-OYfKUprb.js → review-context-BgX3lcCx.js} +8 -8
- package/server/{review-status-DFRjDFef.js → review-status-A7quS5KJ.js} +54 -21
- package/server/review-status-C6n6-9f_.js +3 -0
- package/server/{review-status-enrichment-crNAtIpL.js → review-status-enrichment-tbOn_A_u.js} +3 -3
- package/server/{review-status-sync-DpAMD_WO.js → review-status-sync-BhSQ0d0l.js} +2 -2
- package/server/{review-status-sync-D60PJWNL.js → review-status-sync-To3-iS-N.js} +1 -1
- package/server/{review-verdict-feedback-JImjut0z.js → review-verdict-feedback-C1Kg8n7t.js} +1 -1
- package/server/{review-verdict-feedback-CpUZl5aE.js → review-verdict-feedback-CTRNtzXO.js} +6 -6
- package/server/{rollup-CZ02qgxk.js → rollup-B53Y81xK.js} +1 -1
- package/server/{rollup-SyuF09e4.js → rollup-WA0VD-Rr.js} +8 -8
- package/server/{scanner-Br0Z5S6R.js → scanner-D2743cp8.js} +11 -7
- package/server/{sequence-io-fxU0DlwW.js → sequence-io-Cg0zYj_E.js} +4 -4
- package/server/{sequencer-agent-B5YC5XVP.js → sequencer-agent-BGY8gjg-.js} +5 -5
- package/server/server.js +941 -752
- package/server/{service-Bagb90KZ.js → service-DCpB_SGd.js} +53 -53
- package/server/{session-fork-BqQxd-V6.js → session-fork-BQ8_6H32.js} +2 -2
- package/server/{session-history-XdS0JKp3.js → session-history-CVZDpS3c.js} +4 -4
- package/server/{settings-BNbocWOg.js → settings-BZ5m1UCl.js} +3 -3
- package/server/settings-D0OSwos5.js +2 -0
- package/server/{settings-uLc6DEYI.js → settings-ylxwqwQG.js} +2 -2
- package/server/{shadow-engineering-D4X_s3fA.js → shadow-engineering-BlxG6Xye.js} +2 -2
- package/server/{shadow-state-CbvsN3qG.js → shadow-state-C2_epgx2.js} +1 -1
- package/server/{shadow-state-C_NkP-sa.js → shadow-state-Dh-HzF2J.js} +2 -2
- package/server/{shadow-utils-CYMRPeRT.js → shadow-utils-4bvjn9b3.js} +2 -2
- package/server/{ship-log-__QtAFXG.js → ship-log-ClSMIzZX.js} +1 -1
- package/server/{smart-compaction-jdMkG1vo.js → smart-compaction-CHIxLr_d.js} +1 -1
- package/server/{smart-compaction-CLZOWin1.js → smart-compaction-r4pHQBIr.js} +7 -7
- package/server/{spawn-planning-session-D5OXo8pT.js → spawn-planning-session-DWAorh2B.js} +22 -21
- package/server/{spawn-planning-session-8D6mE033.js → spawn-planning-session-KC_UduxD.js} +1 -1
- package/server/{specialist-completion-CqmduO92.js → specialist-completion-BXhav38U.js} +1 -1
- package/server/{specialist-context-CJ-QjFR-.js → specialist-context-DtrYvGJ-.js} +5 -5
- package/server/{specialist-handoff-logger-Dnjlwt7g.js → specialist-handoff-logger-C45ouoZ6.js} +2 -2
- package/server/{specialist-logs-CQnKzuZs.js → specialist-logs-DJ3RzKxW.js} +3 -3
- package/server/{specialists-D0gGXMZx.js → specialists-D5fRZXmN.js} +1 -1
- package/server/specialists-DVj0hvaL.js +3 -0
- package/server/{specialists-CwZHb5cb.js → specialists-DyFeedjn.js} +66 -76
- package/server/{specialists-Bg9v4z3F.js → specialists-JVO00bs7.js} +340 -214
- package/server/specs-nN45DG2X.js +3 -0
- package/server/{src-BMMoA_ba.js → src-CG9mCkP6.js} +6 -6
- package/server/{src-Bqdtd6po.js → src-CMTQGyCK.js} +3 -3
- package/server/{src-k039WVYY.js → src-U7_kTPEE.js} +2 -1
- package/server/{stack-health-Bd06frFn.js → stack-health-Df0YEZKa.js} +1 -1
- package/server/{stack-health-C-ifC7b0.js → stack-health-puygdaMd.js} +2 -2
- package/server/{stale-task-claims-L7pJkQFL.js → stale-task-claims-BbFwCTb0.js} +4 -4
- package/server/{staleness-BID1BKdr.js → staleness-Bpy41ngS.js} +15 -3
- package/server/{staleness-_Tr-GwdA.js → staleness-Cbl_w4Bw.js} +1 -1
- package/server/{state-home-CONQvZR0.js → state-home-CIGjwNfJ.js} +96 -44
- package/server/{state-migrate-BeBW0KXA.js → state-migrate-Dkzaxvny.js} +12 -3
- package/server/{stuck-remediation-CKnIryGT.js → stuck-remediation-CzEov_fq.js} +26 -22
- package/server/{stuck-remediation-CsGD5Ksb.js → stuck-remediation-sY_MHHgQ.js} +1 -1
- package/server/{substrate-bug-weights-service-CpIZILj9.js → substrate-bug-weights-service-BH66lhm7.js} +3 -3
- package/server/{summary-fork-agEMsPSo.js → summary-fork-D8bXjCr7.js} +2 -2
- package/server/{summary-fork-bX6ax6X7.js → summary-fork-DHhJIsAL.js} +8 -8
- package/server/{supervisor-Ctt4eRYz.js → supervisor-BO-Zk_h-.js} +3 -3
- package/server/supervisor-BPy-o1A8.js +2 -0
- package/server/{swarm-readiness-DdmJVX7y.js → swarm-readiness-CQ_fwUWF.js} +4 -4
- package/server/{system-prerequisites-DSXBvffY.js → system-prerequisites-Bza0ffAh.js} +2 -2
- package/server/{teardown-workspace-DDCf5n-a.js → teardown-workspace-CEgauF4U.js} +15 -15
- package/server/{test-agent-queue-BJZ9Nfcc.js → test-agent-queue-DXDt0Xa-.js} +7 -7
- package/server/{test-verdict-Cp5tljlJ.js → test-verdict-CmUBK5cT.js} +1 -1
- package/server/{test-verdict-D_-sXIz_.js → test-verdict-DFjjIHR5.js} +1 -1
- package/server/{tldr-daemon-BQFmmFp0.js → tldr-daemon-BDtLOIlO.js} +2 -2
- package/server/{tldr-daemon-B8_oT5gx.js → tldr-daemon-DL566HbH.js} +1 -1
- package/server/tmux-DoThH6aj.js +3 -0
- package/server/{tmux-L5LgvGLp.js → tmux-ftABRAmc.js} +76 -44
- package/server/{token-BkQLy4yS.js → token-CsOhvw42.js} +2 -2
- package/server/{token-util-DI8sGlmF.js → token-util-CTmczIfW.js} +1 -1
- package/server/token-util-DrHg8abn.js +3 -0
- package/server/{tracker-config-DdT-nUAM.js → tracker-config-B4itFzDo.js} +2 -2
- package/server/{tracker-utils-DV3h1FYG.js → tracker-utils-BePq_oj-.js} +1 -1
- package/server/{tracker-utils-CawsPSS2.js → tracker-utils-tnxxqROg.js} +2 -2
- package/server/{traefik-connect-C6mJckNs.js → traefik-connect-m73vGebA.js} +1 -1
- package/server/{tunnel-IdK1iTHx.js → tunnel-B2vxjx_b.js} +3 -3
- package/server/{tunnel-BIFl98rc.js → tunnel-Cgj-IGIl.js} +1 -1
- package/server/{types-7-GnJn0t.js → types-BBNjPcqU.js} +1 -1
- package/server/{uat-train-j0cPeMSj.js → uat-train-CuEn0t9M.js} +28 -28
- package/server/{uat-train-0Ujk8GCv.js → uat-train-cKfM-_WW.js} +1 -1
- package/server/{validation-CabEISJT.js → validation-B5JxoPUS.js} +259 -9
- package/server/{validation-DcAgXTQp.js → validation-CIi6pnI2.js} +1 -1
- package/server/{verification-artifact-BuTA1QbL.js → verification-artifact-BcnIbigL.js} +1 -1
- package/server/{verification-artifact-Ck1tefmz.js → verification-artifact-C-lIHfUa.js} +1 -1
- package/server/{verification-runner-FiuAZ-H2.js → verification-runner-Br0S_Ous.js} +102 -37
- package/server/{verification-runner-DlJezzef.js → verification-runner-CDj4lD4t.js} +1 -1
- package/server/{vtt-parser-BnRsYzcz.js → vtt-parser-DKpNNW5i.js} +1 -1
- package/server/{work-agent-prompt-DLthEPAq.js → work-agent-prompt-Yb2bd3Fq.js} +13 -13
- package/server/{workflows-BZNNYkGC.js → workflows-C9WmILql.js} +39 -77
- package/server/workflows-D90rMOya.js +2 -0
- package/server/{workspace-D9ppycdg.js → workspace-BVl4rihN.js} +3 -3
- package/server/{workspace-3IC-UkAi.js → workspace-DuUdndHe.js} +1 -1
- package/server/{workspace-config-Bigl_-Lk.js → workspace-config-cEGcO6UT.js} +1 -1
- package/server/{workspace-manager-B1WOfKvB.js → workspace-manager-ZTdJAy9M.js} +1 -1
- package/server/{workspace-manager-ClkCIWTe.js → workspace-manager-hLUv3ADC.js} +22 -15
- package/server/{workspace-metadata-tiSRIWJP.js → workspace-metadata-CskwzzhL.js} +2 -2
- package/server/{workspace-metadata-BE0efUv_.js → workspace-metadata-DNpMixRq.js} +1 -1
- package/server/{workspaces-CFPcL0vl.js → workspaces-hWvy9eKs.js} +275 -109
- 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 +3 -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-Co5Sy2Fw.js +0 -3
- package/server/agents-DyHKlq1I.js +0 -3
- package/server/cli-BRORS9qY.js +0 -3
- package/server/codex-DNyiQDKW.js +0 -3
- package/server/deacon-swarm-CV54eNmU.js +0 -2
- package/server/dist-j64RzSrQ.js +0 -3
- package/server/forge-B0_opi-V.js +0 -2
- package/server/hume-BmhvfVbV.js +0 -3
- package/server/inspect-agent-Dq0z1k3H.js +0 -2
- package/server/lifecycle-io-DmY2qwCn.js +0 -3
- package/server/merge-ops-DwWCkSgo.js +0 -2
- package/server/projects-BKkwpH6q.js +0 -3
- package/server/public/assets/index-Bdc4V9ba.css +0 -1
- package/server/public/assets/mermaid-GHXKKRXX-B5v_r7cI.js +0 -1
- package/server/rally-OSJXdiHK.js +0 -3
- package/server/record-rwK-nKv_.js +0 -3
- package/server/record-update-Crz74r-6.js +0 -168
- package/server/resume-wZZsWtzz.js +0 -3
- package/server/review-status-Bnh-rdkY.js +0 -3
- package/server/settings-BlUsVaUc.js +0 -2
- package/server/specialists-Dqe6_HE5.js +0 -3
- package/server/specs-BhOKBzqk.js +0 -3
- package/server/supervisor-COVHrBTg.js +0 -2
- package/server/tmux-BAvtac_u.js +0 -3
- package/server/token-util-BArZLN6w.js +0 -3
- package/server/workflows-C4mR0Reb.js +0 -2
|
@@ -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
|