@overdeck/desktop 0.45.7 → 0.45.8
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 +10 -3
- package/server/{acceptance-criteria-DYffaKI9.js → acceptance-criteria-l0DSvFFS.js} +2 -2
- package/server/{activity-logger-DO27GsPa.js → activity-logger-DvYvFhwZ.js} +1 -1
- package/server/{activity-logger-Dm95Ua07.js → activity-logger-pcbf-e30.js} +3 -2
- package/server/{advancing-selfheal-n8tAeFwE.js → advancing-selfheal-CMlGznKv.js} +11 -66
- package/server/{agent-gc-CIFaa2vJ.js → agent-gc-BtAzj8QN.js} +3 -3
- package/server/{agent-state-service-BqVDA9b8.js → agent-state-service-5ge9xxhx.js} +5 -5
- package/server/{agent-state-service-CLifyinO.js → agent-state-service-C1iUF9Ft.js} +1 -1
- package/server/agent-state-xk_G8t90.js +3 -0
- package/server/{agents-KaEsWZ8D.js → agents-BIggLvi_.js} +1 -1
- package/server/{agents-D_x5BSZM.js → agents-DHvsjsuP.js} +129 -61
- package/server/{archive-planning-CFxmeFKh.js → archive-planning-B4Qi02bk.js} +1 -1
- package/server/{archive-planning-DVUXlRBs.js → archive-planning-zTvWWHG_.js} +4 -4
- package/server/{artifact-index-jobs-ChUgzZah.js → artifact-index-jobs-BrByqVkB.js} +2 -2
- package/server/{auto-commit-2KiBFh-K.js → auto-commit-DoIPFoEs.js} +1 -1
- package/server/{backlog-auto-trigger-DoTEMZMl.js → backlog-auto-trigger-COm_R96V.js} +3 -3
- package/server/{bd-mutex-CE6P_MlD.js → bd-mutex-BItGvLQ8.js} +2 -2
- package/server/{bd-process-lock-Ch3WNHS9.js → bd-process-lock-CJkoG7hW.js} +2 -2
- package/server/{beads-B43pgBIy.js → beads-AmCXEv_E.js} +1 -1
- package/server/{beads-BugPvtWp.js → beads-DlZm-vrG.js} +5 -5
- package/server/{beads-query-CtqWakL6.js → beads-query-BrVNWoSL.js} +2 -2
- package/server/{beads-restore-BqTMSQi-.js → beads-restore-CMbDSB5R.js} +1 -1
- package/server/{behavior-vk1sixby.js → behavior-By-2Wipv.js} +3 -3
- package/server/{briefing-freshness-B3YxHQ-L.js → briefing-freshness-CXhZdnB8.js} +4 -4
- package/server/{checkpoint-manager-CdrwLsQh.js → checkpoint-manager-CPw51H2n.js} +1 -1
- package/server/{checkpoint-manager-Dg6cWZz3.js → checkpoint-manager-CfNpHOp4.js} +11 -2
- package/server/checkpoint-worker.js +1 -1
- package/server/{checkpoints-DDd-0doa.js → checkpoints-BbfH1EIy.js} +2 -2
- package/server/{checkpoints-dBCJr0dC.js → checkpoints-BjlBWOA8.js} +1 -1
- package/server/{claude-permissions-BpwIcIR7.js → claude-permissions-DrRAs_0F.js} +3 -3
- package/server/{claude-settings-overlay-DnraWcz6.js → claude-settings-overlay-BSeS7Ki3.js} +2 -2
- package/server/{claude-settings-overlay-xD_Vu420.js → claude-settings-overlay-CEWlIFL-.js} +1 -1
- package/server/cli-CJDWXE_Y.js +3 -0
- package/server/{cli-BmzYZZKi.js → cli-CvK9xuSS.js} +9 -9
- package/server/{cliproxy-DYWdJKZ1.js → cliproxy-BOcmOK6l.js} +1 -1
- package/server/{cliproxy-CE2GDY7x.js → cliproxy-J-_1iIXe.js} +2 -2
- package/server/{close-issue-CpJd4SOL.js → close-issue-BnpErnD1.js} +5 -5
- package/server/{closed-issue-reaper-QpcvCDeE.js → closed-issue-reaper-BLCQwTpF.js} +1 -1
- package/server/{closed-issue-reaper-DubXY9Zg.js → closed-issue-reaper-DRqK5k39.js} +10 -10
- package/server/{codex-j8aVgRou.js → codex-BUZjrnqH.js} +1 -1
- package/server/{codex-B3J1TXo7.js → codex-DcInrhok.js} +5 -5
- package/server/{compact-beads-CqhLqG-k.js → compact-beads-RFwdZFPA.js} +4 -4
- package/server/{compact-beads-BeilHCdj.js → compact-beads-omhUgj5b.js} +1 -1
- package/server/{config-DHU0j_pS.js → config-CzcWQ24p.js} +1 -1
- package/server/{config-DkEhJM0h.js → config-oWoKf5jO.js} +4 -4
- package/server/{config-yaml-DbdN9Fuq.js → config-yaml-DPAieL_G.js} +3 -2
- package/server/{conflict-gate-CgOtMo8i.js → conflict-gate-BhKvrPxn.js} +4 -4
- package/server/{conflict-gate-D00zFjeu.js → conflict-gate-JdFuhKuF.js} +1 -1
- package/server/{context-layers-BHEjT8Cn.js → context-layers-CTjQwcEQ.js} +3 -3
- package/server/{context-layers-0Lgq-SE_.js → context-layers-DxKsseHI.js} +2 -2
- package/server/{control-settings-CYv732Gs.js → control-settings-BMqUkXmR.js} +4 -4
- package/server/{conversation-compaction-Dbw03b-X.js → conversation-compaction-Ba5aZdrb.js} +1 -1
- package/server/{conversation-compaction-DKXvmX50.js → conversation-compaction-C5o_eKEm.js} +8 -8
- package/server/{conversation-service-BwKUeEvn.js → conversation-service-DvG8vZSV.js} +5 -5
- package/server/{conversation-service-kYYeRp9B.js → conversation-service-WKl-sw58.js} +1 -1
- package/server/{conversations-Dwr1jHrO.js → conversations-DL_BAWVk.js} +4 -4
- package/server/{conversations-D-uOnA8T.js → conversations-Dcx6LeIh.js} +1 -1
- package/server/{cost-DiSDkYe7.js → cost-C2CuA66z.js} +2 -2
- package/server/{cost-DNIyZH1X.js → cost-DaOG8sUB.js} +3 -3
- package/server/{cost-sync-CfXu-3TF.js → cost-sync-8lkDeL9g.js} +3 -3
- package/server/{dag-DZBowTd2.js → dag-jH8ZkewR.js} +3 -3
- package/server/{dangerous-git-ops-Pongxg2d.js → dangerous-git-ops-Dcw7PbYo.js} +1 -1
- package/server/dashboard-db-worker.js +6 -6
- package/server/{deacon-DT0BsVyE.js → deacon-Cv2RMfHs.js} +3 -3
- package/server/{deacon-f0yvsG5S.js → deacon-j3qSZ7--.js} +222 -110
- package/server/{deacon-nudge-log-Cmcch2Av.js → deacon-nudge-log-CJGA6aSQ.js} +1 -1
- package/server/deacon-swarm-D1iAUX-P.js +2 -0
- package/server/{deacon-swarm-BBGnhvD2.js → deacon-swarm-DadWNi5J.js} +88 -43
- package/server/deacon.js +8 -8
- package/server/{devcontainer-renderer-Cpz7XBj0.js → devcontainer-renderer-DUJYYRQB.js} +3 -3
- package/server/{dist-DypOkJv9.js → dist-BIC8spJ0.js} +1 -1
- package/server/dist-BUplB3Od.js +3 -0
- package/server/{docker-DARVx0OZ.js → docker-Q4bphryk.js} +2 -2
- package/server/{ensure-devcontainer-Dmdw4BxF.js → ensure-devcontainer-BCB6fHp9.js} +1 -1
- package/server/{ensure-devcontainer-BJssuBG6.js → ensure-devcontainer-XLL0vtgV.js} +4 -4
- package/server/{esm-shims-Crmvo9Ln.js → esm-shims-DiV9jHa_.js} +1 -1
- package/server/{event-store-BeEE8pW5.js → event-store-DIk9wvnS.js} +1 -1
- package/server/{event-store-DrfTJZ1_.js → event-store-DTJXZjCl.js} +4 -4
- package/server/events-BlzVUyTx.js +3 -0
- package/server/{events-BbClwoM-.js → events-DGWZzye2.js} +4 -4
- package/server/{factory-DVv9cpG5.js → factory-rG4T40su.js} +4 -4
- package/server/{feature-registry-population-C6eVdq4J.js → feature-registry-population-Dwyj9gEM.js} +4 -4
- package/server/{feature-registry-storage-ByBosRId.js → feature-registry-storage-CnGyNgAq.js} +2 -2
- package/server/{features-EZfSwuqq.js → features-CYY2_Eeh.js} +2 -2
- package/server/{feedback-target-DENaINE6.js → feedback-target-C4DaDSZ8.js} +1 -1
- package/server/{feedback-target-Dv4VnbQl.js → feedback-target-oE4-Esxl.js} +48 -17
- package/server/{feedback-writer-Dxg8qM8i.js → feedback-writer-DMaO0XXa.js} +4 -4
- package/server/{feedback-writer-BvHE1I-3.js → feedback-writer-thrdxYpK.js} +1 -1
- package/server/{flywheel-Akbd9VNM.js → flywheel-BqDdGvrQ.js} +1 -1
- package/server/{flywheel-B4KN9BmW.js → flywheel-ClMjGW_u.js} +11 -11
- package/server/{flywheel-ByZyAv3P.js → flywheel-DefHRzY4.js} +13 -13
- package/server/{flywheel-merge-order-DPFZbt-w.js → flywheel-merge-order-B6YDSElh.js} +1 -1
- package/server/{flywheel-merge-order-BYUPxqgx.js → flywheel-merge-order-CuDcqTRJ.js} +7 -7
- package/server/forge-BfP7OJwK.js +2 -0
- package/server/{forge-BnTExkbK.js → forge-BixzckB0.js} +2 -2
- package/server/{from-B2i_NgIH.js → from-D4xmArTA.js} +1 -1
- package/server/{fts-db-dnCj-PD3.js → fts-db-DPtxOAjp.js} +2 -2
- package/server/{fts-operations-CAAofsTQ.js → fts-operations-VrGjsT0w.js} +2 -2
- package/server/{git-utils-CB3gDSM-.js → git-utils-D_cax3fD.js} +2 -2
- package/server/{git-utils-Bk7sJZru.js → git-utils-RAmTwjFB.js} +1 -1
- package/server/{github-app-CIhMNI4C.js → github-app-B5PDHMyn.js} +1 -1
- package/server/{github-app-BIU8a93o.js → github-app-FMXgo3vK.js} +2 -2
- package/server/{github-client-DmZgsnYP.js → github-client-VRiB6N-4.js} +1 -1
- package/server/{github-client-zREpj5HA.js → github-client-yjbXaqpR.js} +2 -2
- package/server/{github-pr-lookup-CPri6JR1.js → github-pr-lookup-t8X8R0c0.js} +2 -2
- package/server/{harness-resolve-TzYAiXzZ.js → harness-resolve-DKeSVsJL.js} +3 -3
- package/server/{health-events-CDWk8Oz4.js → health-events-CD6q47ub.js} +1 -1
- package/server/{health-events-Dd0FuKrE.js → health-events-DaLX4-0a.js} +2 -2
- package/server/{hooks-C6HBXlVm.js → hooks-CmHFSj_Z.js} +2 -2
- package/server/{hooks-DRLzoFof.js → hooks-D-cbMUzQ.js} +1 -1
- package/server/{hume-Bb91r_2I.js → hume-DkVOs1Qi.js} +2 -2
- package/server/hume-x9voULey.js +3 -0
- package/server/{idle-stack-reaper-BPHnItVj.js → idle-stack-reaper-DBKQ9SKu.js} +3 -3
- package/server/{idle-stack-reaper-D5bwmuwX.js → idle-stack-reaper-DdnERp3G.js} +1 -1
- package/server/{infra-CCTzpcuJ.js → infra-CpKlYZA9.js} +3 -3
- package/server/{injection-D6L7D_w0.js → injection-CszhePD2.js} +7 -7
- package/server/{injection-CBrN8UxB.js → injection-DKzL2Axk.js} +1 -1
- package/server/{inspect-agent-CSYyFWqP.js → inspect-agent-BKKc0XnB.js} +9 -9
- package/server/inspect-agent-vm88mLYr.js +2 -0
- package/server/{internal-token-DWhBqgIk.js → internal-token-CQUx9YLc.js} +2 -2
- package/server/{internal-token-DCrCAG_M.js → internal-token-DrGdpLFo.js} +1 -1
- package/server/{io-DtAQ_2hp.js → io-Wy8YpFeP.js} +2 -2
- package/server/{issue-closed-0Zx72zXf.js → issue-closed-BO84g03t.js} +4 -4
- package/server/{issue-lifecycle-ZTt6kP_K.js → issue-lifecycle-DnhQgddB.js} +22 -22
- package/server/{issue-lifecycle-CJ7-D4XX.js → issue-lifecycle-nY4esZn8.js} +1 -1
- package/server/{issue-service-singleton-DNh4RRI7.js → issue-service-singleton-Bnqv1uaa.js} +1 -1
- package/server/{issue-service-singleton-DRE7S-Zg.js → issue-service-singleton-_AquSBTl.js} +8 -8
- package/server/{issues-CGc8Aaxm.js → issues-ChNcfHta.js} +2 -2
- package/server/{label-cleanup-CNsPlXy6.js → label-cleanup-bVXCGWBM.js} +3 -3
- package/server/{layers-CO_VLcSv.js → layers-vdvlpFki.js} +2 -2
- package/server/{lifecycle-B_NFvTj9.js → lifecycle-CGKm7doE.js} +7 -7
- package/server/{lifecycle-io-D0FftBLy.js → lifecycle-io-CdqPkCyk.js} +1 -1
- package/server/{lifecycle-io-WDGwa1vV.js → lifecycle-io-DSrv9xGh.js} +4 -4
- package/server/{linear-client-MvjflCXs.js → linear-client-BxKvL6U8.js} +1 -1
- package/server/{linear-client-CSgH24Ym.js → linear-client-E0HdXtWs.js} +2 -2
- package/server/memory-fts-worker.js +1 -1
- package/server/{merge-DltB-RGV.js → merge-D3wEbmUJ.js} +1 -1
- package/server/{merge-Ce9DHBXM.js → merge-UlAwCk80.js} +4 -4
- package/server/{merge-agent-Rv0bNQNU.js → merge-agent-BcgAYStl.js} +27 -27
- package/server/{merge-agent-DRXwKxmb.js → merge-agent-Dh8Y9PDO.js} +1 -1
- package/server/{merge-batch-LLp_cXUR.js → merge-batch-BwhGdlh4.js} +1 -1
- package/server/{merge-blockers-BqYUtLBd.js → merge-blockers-DwdQNsYD.js} +2 -2
- package/server/merge-ops-QdBiQ8XB.js +2 -0
- package/server/{merge-rebase-AiSEs4QB.js → merge-rebase-CH12_ufi.js} +2 -2
- package/server/{merge-set-CUY9msG9.js → merge-set-TRxJwR-w.js} +3 -3
- package/server/{merge-set-CSJoIpKB.js → merge-set-rXK3ehnB.js} +1 -1
- package/server/{merge-sync-CAjbJeTp.js → merge-sync-BKLKu9kz.js} +1 -1
- package/server/{merge-sync-CuyWzzZK.js → merge-sync-CaLRt2cB.js} +2 -2
- package/server/{merge-train-DndZCAiv.js → merge-train-DmxlYbEo.js} +3 -3
- package/server/{merge-train-deps-Bsy90Q7t.js → merge-train-deps-DBHsOWt9.js} +4 -4
- package/server/{merge-verification-Kvh4WViS.js → merge-verification-DA9rvqsE.js} +4 -4
- package/server/{multipart-parser-BWnfyoyz.js → multipart-parser-DtIEUW2B.js} +2 -2
- package/server/{no-resume-mode-CKy2bwZL.js → no-resume-mode-yrPEQ_pC.js} +1 -1
- package/server/{orphan-proposed-reconciler-Cg5_uVy1.js → orphan-proposed-reconciler-Db8tUhce.js} +10 -10
- package/server/{orphan-proposed-reconciler-CjUuBs6J.js → orphan-proposed-reconciler-mXV--tcB.js} +1 -1
- package/server/{pan-dir-Cn3NUnxU.js → pan-dir-BgBeeZDX.js} +3 -3
- package/server/{paths-Bo-kA9ta.js → paths-TE1GOZDr.js} +2 -2
- package/server/{pickup-DRn-XNXS.js → pickup-KLRUhThD.js} +1 -1
- package/server/{pipeline-notifier-BbGQtvKM.js → pipeline-notifier-aX_5EqQO.js} +2 -2
- package/server/{pipeline-notifier-DQsOtdjZ.js → pipeline-notifier-lwMa--Gz.js} +1 -1
- package/server/{projects-CKTA6Klk.js → projects-BNmVxnNt.js} +1 -1
- package/server/{prompts-CVncQg4P.js → prompts-CelsUdrx.js} +2 -2
- package/server/{providers-uPI9uU7Q.js → providers-4-xOzHQu.js} +7 -7
- package/server/{providers-CapuDkKX.js → providers-BOnRq5XK.js} +1 -1
- package/server/public/assets/{chunk-BO2N2NFS-CaAvtgHW.js → chunk-BO2N2NFS-jJsbVwoD.js} +4 -4
- package/server/public/assets/{diagram-OG6HWLK6-C4flU2X9.js → diagram-OG6HWLK6-Cp1aNi3v.js} +1 -1
- package/server/public/assets/{dist-DXAnG2e9.js → dist-B2-Oc7J1.js} +1 -1
- package/server/public/assets/{dist-DygIHsen.js → dist-Dbb8vdyE.js} +3 -3
- package/server/public/assets/{ganttDiagram-6RSMTGT7-BJY25etK.js → ganttDiagram-6RSMTGT7-rujV2mSn.js} +1 -1
- package/server/public/assets/{highlighted-body-OFNGDK62-DIEQLSG_.js → highlighted-body-OFNGDK62-Df3Exbbt.js} +1 -1
- package/server/public/assets/{index-BsKNi2y5.js → index-rQPa7qlV.js} +88 -88
- package/server/public/assets/{linear-CRa2o9KP.js → linear-Ctp3LAJ5.js} +1 -1
- package/server/public/assets/mermaid-GHXKKRXX-BnC2HrDq.js +1 -0
- package/server/public/assets/{pieDiagram-4H26LBE5-Cb6OrK_c.js → pieDiagram-4H26LBE5-K-m6VCum.js} +1 -1
- package/server/public/assets/{prod-DWpuiL-y.js → prod-jqZ3zqVg.js} +4 -4
- package/server/public/assets/{quadrantDiagram-W4KKPZXB-DhZzzcAO.js → quadrantDiagram-W4KKPZXB-DXcFax_1.js} +1 -1
- package/server/public/assets/{sankeyDiagram-5OEKKPKP-CVe6lE5A.js → sankeyDiagram-5OEKKPKP-DnD_J_rB.js} +1 -1
- package/server/public/assets/{xychartDiagram-2RQKCTM6-zukUz5pI.js → xychartDiagram-2RQKCTM6-Dx25iKVp.js} +1 -1
- package/server/public/index.html +1 -1
- package/server/{pull-requests-C3csHJsc.js → pull-requests-CH4iBFLl.js} +3 -3
- package/server/{pull-requests-MeAgb3Ax.js → pull-requests-DL_4klIb.js} +1 -1
- package/server/{rally-nalS21zz.js → rally-D0mKv2t8.js} +3 -3
- package/server/rally-DffLLIdl.js +3 -0
- package/server/{rally-api-DzQryQi8.js → rally-api-CcCdecF-.js} +1 -1
- package/server/{rally-api-DdY4ebu3.js → rally-api-DgAt6FbN.js} +2 -2
- package/server/{rally-client-9duSds1_.js → rally-client-DYjtgTOu.js} +4 -4
- package/server/{rally-client-B16-bZk9.js → rally-client-X0bEEN2B.js} +1 -1
- package/server/reap-terminal-sessions-BwJb2DLJ.js +3 -0
- package/server/{reap-terminal-sessions-C6rD1pDT.js → reap-terminal-sessions-CAmURC2h.js} +12 -62
- package/server/{rebuild-stack-D9qBmVcM.js → rebuild-stack-BLG3rlWa.js} +6 -6
- package/server/{rebuild-stack-DrWMHxoY.js → rebuild-stack-ByFCMqTK.js} +1 -1
- package/server/{reconstruct-cache--H2QBooC.js → reconstruct-cache-_tDZ2D72.js} +6 -6
- package/server/{record-fn7uPjsl.js → record-DjPikotp.js} +1 -1
- package/server/{remote-BEkHf2HO.js → remote-B1Trmr0N.js} +3 -3
- package/server/{remote-Dl6Hn0zz.js → remote-TN0cV8k-.js} +3 -3
- package/server/{remote-agents-DNdP4sew.js → remote-agents-CmbIKw7E.js} +5 -5
- package/server/{remote-agents-OB4zwVHz.js → remote-agents-DNuaAgU6.js} +1 -1
- package/server/{remote-completion-BINc1Y8c.js → remote-completion-Bklh6loJ.js} +12 -12
- package/server/resume-DnIsmIgC.js +3 -0
- package/server/review-agent-DgySDb-G.js +3 -0
- package/server/{review-agent-C-A6IgXc.js → review-agent-phzqNqIs.js} +599 -197
- package/server/{review-artifacts-DTTdAYsU.js → review-artifacts-BGc69epg.js} +7 -7
- package/server/{review-context-De14xPtc.js → review-context-CCq56O_Y.js} +7 -7
- package/server/{review-monitor-BNV3kjLq.js → review-monitor-BKG2ubt5.js} +2 -2
- package/server/{review-status-DWAsTqfJ.js → review-status-BQjqQXZG.js} +160 -52
- package/server/{review-status-mo3tyc8L.js → review-status-bBkqUj5i.js} +1 -1
- package/server/{review-status-enrichment-C6sr9wOI.js → review-status-enrichment-CGlcApSn.js} +3 -3
- package/server/{review-status-sync-D-p7TQit.js → review-status-sync-BWHnrq-k.js} +3 -3
- package/server/{review-status-sync-MvYGQLDD.js → review-status-sync-BxHBVH8s.js} +1 -1
- package/server/{review-verdict-feedback-BbIfN5Vg.js → review-verdict-feedback-cZh9Wi9G.js} +1 -1
- package/server/{review-verdict-feedback-Cfc-THvz.js → review-verdict-feedback-wqnikhMK.js} +16 -36
- package/server/{rollup-DgWlrSBc.js → rollup-BJE-Vc7H.js} +8 -8
- package/server/{rollup-CxR6GMTe.js → rollup-DBNy1yFB.js} +1 -1
- package/server/{scanner-6OmIn5XE.js → scanner-CUGpdp4i.js} +7 -7
- package/server/{sequence-io-CxiPMMKM.js → sequence-io-B2GmilSI.js} +4 -4
- package/server/{sequencer-agent--xPlSfR2.js → sequencer-agent-D8pW2aU_.js} +5 -5
- package/server/server.js +166 -162
- package/server/{service-CXje28KS.js → service-CILd-uOt.js} +46 -45
- package/server/session-fork-DDSDVoIK.js +99 -0
- package/server/{settings-ChvoXExM.js → settings-CBrei_kx.js} +2 -2
- package/server/{settings-DZq_bi-B.js → settings-D2wt4nku.js} +3 -3
- package/server/settings-vLoKyghx.js +2 -0
- package/server/{shadow-engineering-BHeyD5bL.js → shadow-engineering-Ba1D0QUN.js} +2 -2
- package/server/{shadow-state-p3YTxrJ5.js → shadow-state-BOaq8BrD.js} +1 -1
- package/server/{shadow-state-3L0eHQNE.js → shadow-state-DTC7AMHc.js} +2 -2
- package/server/{ship-log-B2EEH__n.js → ship-log-CMWH3H5-.js} +1 -1
- package/server/{smart-compaction-DRXK5_io.js → smart-compaction-Bgp_gwcA.js} +1 -1
- package/server/{smart-compaction-DMB4hv07.js → smart-compaction-CrP90OFE.js} +7 -7
- package/server/{spawn-planning-session-BZfVvIi3.js → spawn-planning-session-BmJWHSCu.js} +15 -15
- package/server/{spawn-planning-session-BBUzeHJQ.js → spawn-planning-session-D15KbPOy.js} +1 -1
- package/server/{specialist-completion-BAZHHbmp.js → specialist-completion-BiEXUHfD.js} +1 -1
- package/server/{specialist-context-DgdhI7rm.js → specialist-context-CwKkcXL9.js} +5 -5
- package/server/{specialist-handoff-logger-CH1nC8fq.js → specialist-handoff-logger-B_2VsWli.js} +2 -2
- package/server/{specialist-logs-DynFhFXg.js → specialist-logs-CvDxquV_.js} +3 -3
- package/server/{specialists-LJ9MZMCz.js → specialists-BCjcG4uE.js} +1 -1
- package/server/{specialists-BUKBHtmQ.js → specialists-BYi0k8CZ.js} +18 -18
- package/server/{specialists-e0Jmecc1.js → specialists-D07ybnam.js} +78 -85
- package/server/{specialists-CF02f9p2.js → specialists-F2uMO4QS.js} +1 -1
- package/server/specs-DeS98l_p.js +3 -0
- package/server/{src-CNLON0co.js → src-BswtmojL.js} +6 -6
- package/server/{src-DhJeCV1p.js → src-Dp0WHgDZ.js} +3 -3
- package/server/{src-AXK4mjue.js → src-fgbU-jJ-.js} +6 -3
- package/server/{stack-health-8jZH0Lgk.js → stack-health-BJVh1TCg.js} +3 -3
- package/server/{stack-health-CXYHwv5D.js → stack-health-Deel1mSW.js} +1 -1
- package/server/{state-home-XkLSsJCD.js → state-home-Bgj7i-C7.js} +8 -7
- package/server/{summary-fork-shfA2XOf.js → summary-fork-DedqguZb.js} +2 -2
- package/server/{summary-fork-BWa0ECGL.js → summary-fork-EjvOkEPl.js} +12 -91
- package/server/{supervisor-owMkHcx8.js → supervisor-0oXvLwyC.js} +3 -3
- package/server/supervisor-D1-XwmZ7.js +2 -0
- package/server/{swarm-readiness-BACUsKOx.js → swarm-readiness-OBgamRql.js} +3 -3
- package/server/{teardown-workspace-CYt_PBaq.js → teardown-workspace-5LCVbjfq.js} +14 -14
- package/server/{test-agent-queue-C1s6mB8C.js → test-agent-queue-qfsq6uaC.js} +6 -6
- package/server/{test-verdict-CmxX3KEf.js → test-verdict-BkubHtti.js} +1 -1
- package/server/{test-verdict-njEv9ZY2.js → test-verdict-D3Il7cBK.js} +1 -1
- package/server/{tldr-daemon-CEUflKr2.js → tldr-daemon-CJW_P4On.js} +2 -2
- package/server/{tldr-daemon-HIo0dwDB.js → tldr-daemon-CJqGsDFh.js} +1 -1
- package/server/tmux-CeDD14p1.js +3 -0
- package/server/{tmux-CBYZ5lKF.js → tmux-ePNhMIMU.js} +2 -2
- package/server/{token-CiS3w6Ma.js → token-_qujO3JZ.js} +1 -1
- package/server/{tracker-config-CVCoeaaL.js → tracker-config-C3hiPVAM.js} +2 -2
- package/server/{tracker-config-Bx50plWp.js → tracker-config-Drt_tx4D.js} +1 -1
- package/server/{tracker-utils-C2Lg4RoB.js → tracker-utils-D6B8scEw.js} +1 -1
- package/server/{tracker-utils-mI4d-vh8.js → tracker-utils-bpWs7Xyx.js} +2 -2
- package/server/{traefik-connect-D21-YEyX.js → traefik-connect-5EP1WS_Z.js} +1 -1
- package/server/{tunnel-BK4PVyb0.js → tunnel-3Ve8BS4H.js} +3 -3
- package/server/{tunnel-CcHkuRIS.js → tunnel-AporWhoi.js} +1 -1
- package/server/{types-DoPMvws2.js → types-B5u3NxMl.js} +1 -1
- package/server/{uat-train-BLFPxqLx.js → uat-train-C3hWXtip.js} +1 -1
- package/server/{uat-train-CQ_E-2ei.js → uat-train-CtNGgXxj.js} +27 -27
- package/server/{validation-Dab3bnSN.js → validation-BmUB-26g.js} +4 -4
- package/server/{validation-1QnjDMc0.js → validation-CbqP_dze.js} +1 -1
- package/server/{verification-runner-BO8TgZWA.js → verification-runner-BPAhPWR7.js} +11 -11
- package/server/{verification-runner-UhAAqOio.js → verification-runner-DuZRHjPU.js} +1 -1
- package/server/{vtt-parser-D-q5-8il.js → vtt-parser-CKc-smWM.js} +1 -1
- package/server/{work-agent-prompt-D_7T1xw5.js → work-agent-prompt-DCdHsm-V.js} +11 -11
- package/server/workflows-Cz8OtiB4.js +2 -0
- package/server/{workflows-CB5SWd0B.js → workflows-H-COJ84X.js} +14 -14
- package/server/{workspace-C4Avf_Tp.js → workspace-4ZufqeMe.js} +3 -3
- package/server/{workspace--XWYPbn1.js → workspace-DYv9kBg6.js} +1 -1
- package/server/{workspace-config-BwJB-bLH.js → workspace-config-DA8U97k9.js} +1 -1
- package/server/{workspace-manager-_6zbrhNF.js → workspace-manager-B3PqQQSM.js} +1 -1
- package/server/{workspace-manager-BE3OznLY.js → workspace-manager-CEWK-OXd.js} +12 -12
- package/server/{workspace-metadata-BCgODi1j.js → workspace-metadata-1eu1RvAT.js} +2 -2
- package/server/{workspace-metadata-wKPgY8PN.js → workspace-metadata-C0I-nIDL.js} +1 -1
- package/server/{workspaces-DpMiZ9BP.js → workspaces-CRU9_vRn.js} +154 -106
- package/server/agent-state-DTZCqWx5.js +0 -3
- package/server/cli-wyiCmp7b.js +0 -3
- package/server/deacon-swarm-jDiQ0kKk.js +0 -2
- package/server/dist-CnkaBMG-.js +0 -3
- package/server/forge-D2QLGWK9.js +0 -2
- package/server/hume-sCsuupWb.js +0 -3
- package/server/inspect-agent-DnspoIls.js +0 -2
- package/server/merge-ops-B6xc_Irj.js +0 -2
- package/server/public/assets/mermaid-GHXKKRXX-uIkd-n0c.js +0 -1
- package/server/rally-BJiyvz3w.js +0 -3
- package/server/reap-terminal-sessions-mW7SPDtP.js +0 -2
- package/server/resume-Pur3Z2e8.js +0 -3
- package/server/review-agent-BRSSFv7e.js +0 -3
- package/server/settings-D0XXIUQ0.js +0 -2
- package/server/specs-COn3zZ2Q.js +0 -3
- package/server/supervisor-DwGIhpXk.js +0 -2
- package/server/tmux-DNmHGMEv.js +0 -3
- package/server/workflows-Plo_VxeO.js +0 -2
|
@@ -1,38 +1,39 @@
|
|
|
1
1
|
import { n as __esmMin, o as __toESM } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import { $ as getModelCapabilitySync, Br as getOverdeckHome, C as resolveTieredExecutionEnabled, Dn as getProjectSync, En as getProjectSwarmHotspots, Ft as resolveProjectForIssue, Gn as resolveProjectFromIssueSync, Gr as sessionFilePath, H as ensureOpenAICompatibleProxyRunning, I as getProviderEnvSync, L as getProviderForModelSync, Lr as encodeClaudeProjectDir, Lt as writeAgentHarnessModelSync, Mt as readIssueRecordForWorkspaceSync, N as clearCredentialFileAuthSync, Nn as init_projects, Nt as readIssueRecordSync, Or as OVERDECK_HOME, Ot as init_record, P as getBuiltInDefaultHarness, R as init_providers, S as init_tier_table, U as init_openai_compatible_proxy, Ur as packageRoot, V as setupCredentialFileAuthSync, Vr as init_paths, Wr as resolveOhmypiExtensionPath, X as resolveModel, Y as init_roles, at as fmix32, b as TIERED_EXECUTION_DIFFICULTIES, bn as findProjectByPathSync, cr as FsError, er as init_issue_id, f as loadConfigSync, fn as init_state_read_home, ir as require_dist, it as resolveModelIdSync, l as isClaudeCodeChannelsMcpEnabled, mn as shouldCommitLegacyWorkspaceArtifacts, nt as init_model_capabilities, or as ClaudeCredentialParseError, ot as fnv1a32, rr as resolveBareNumericIdSync, sr as ConfigError, st as init_percent, t as init_config_yaml, tt as hasModelCapabilitySync, u as isTldrEnabledSync, vr as init_errors, w as resolveTieredExecutionEnabledForIssue, wn as getIssuePrefix, y as DEFAULT_TIERED_EXECUTION_CONFIG, yr as AGENTS_DIR } from "./config-yaml-
|
|
2
|
+
import { $ as getModelCapabilitySync, Br as getOverdeckHome, C as resolveTieredExecutionEnabled, Dn as getProjectSync, En as getProjectSwarmHotspots, Ft as resolveProjectForIssue, Gn as resolveProjectFromIssueSync, Gr as sessionFilePath, H as ensureOpenAICompatibleProxyRunning, I as getProviderEnvSync, L as getProviderForModelSync, Lr as encodeClaudeProjectDir, Lt as writeAgentHarnessModelSync, Mt as readIssueRecordForWorkspaceSync, N as clearCredentialFileAuthSync, Nn as init_projects, Nt as readIssueRecordSync, Or as OVERDECK_HOME, Ot as init_record, P as getBuiltInDefaultHarness, R as init_providers, S as init_tier_table, U as init_openai_compatible_proxy, Ur as packageRoot, V as setupCredentialFileAuthSync, Vr as init_paths, Wr as resolveOhmypiExtensionPath, X as resolveModel, Y as init_roles, at as fmix32, b as TIERED_EXECUTION_DIFFICULTIES, bn as findProjectByPathSync, cr as FsError, er as init_issue_id, f as loadConfigSync, fn as init_state_read_home, ir as require_dist, it as resolveModelIdSync, l as isClaudeCodeChannelsMcpEnabled, mn as shouldCommitLegacyWorkspaceArtifacts, nt as init_model_capabilities, or as ClaudeCredentialParseError, ot as fnv1a32, rr as resolveBareNumericIdSync, sr as ConfigError, st as init_percent, t as init_config_yaml, tt as hasModelCapabilitySync, u as isTldrEnabledSync, vr as init_errors, w as resolveTieredExecutionEnabledForIssue, wn as getIssuePrefix, y as DEFAULT_TIERED_EXECUTION_CONFIG, yr as AGENTS_DIR } from "./config-yaml-DPAieL_G.js";
|
|
3
3
|
import { t as require_toml } from "./toml-CeLDATih.js";
|
|
4
|
-
import { a as init_activity_logger, n as emitActivityEntrySync, r as emitActivityTtsSync } from "./activity-logger-
|
|
5
|
-
import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-
|
|
6
|
-
import { A as listSessionsSync, C as isPaneDead, E as listPaneValues, I as sendRawKeystroke, L as sessionExists, N as sendEscapeKeyAsync, P as sendKeys, R as sessionExistsSync, T as killSessionSync, W as BLANKED_PROVIDER_ENV, a as capturePaneSync, d as exactPaneTarget, i as capturePane, k as listSessions, o as createSession, q as init_child_env, s as createSessionSync, w as killSession, x as init_tmux, z as setOption } from "./tmux-
|
|
7
|
-
import { a as init_event_store, i as initEventStore } from "./event-store-
|
|
8
|
-
import { a as getHarnessBehavior, i as OHMYPI_BEHAVIOR } from "./src-
|
|
9
|
-
import {
|
|
10
|
-
import { d as init_agents$1, l as countAgentsByStatus, n as ensureSessionContextBriefingFile, r as init_briefing_freshness } from "./briefing-freshness-
|
|
11
|
-
import { o as getPricingSync, s as init_cost } from "./cost-
|
|
12
|
-
import { t as init_behavior } from "./behavior-
|
|
13
|
-
import { _ as init_tier_metrics, g as estimateFeedDeliveryTokens, v as recordTierFeedDelivery } from "./cost-sync-
|
|
4
|
+
import { a as init_activity_logger, n as emitActivityEntrySync, r as emitActivityTtsSync } from "./activity-logger-pcbf-e30.js";
|
|
5
|
+
import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-CpKlYZA9.js";
|
|
6
|
+
import { A as listSessionsSync, C as isPaneDead, E as listPaneValues, I as sendRawKeystroke, L as sessionExists, N as sendEscapeKeyAsync, P as sendKeys, R as sessionExistsSync, T as killSessionSync, W as BLANKED_PROVIDER_ENV, a as capturePaneSync, d as exactPaneTarget, i as capturePane, k as listSessions, o as createSession, q as init_child_env, s as createSessionSync, w as killSession, x as init_tmux, z as setOption } from "./tmux-ePNhMIMU.js";
|
|
7
|
+
import { a as init_event_store, i as initEventStore } from "./event-store-DTJXZjCl.js";
|
|
8
|
+
import { a as getHarnessBehavior, i as OHMYPI_BEHAVIOR } from "./src-fgbU-jJ-.js";
|
|
9
|
+
import { A as listOverdeckAgentStatesSync, E as readReviewStatusMap, O as getOverdeckAgentStateSync, T as init_review_status_source, c as init_review_status, j as saveOverdeckAgentStateSync, k as init_agent_state_sync, m as resetPipelineVerdictsForWorkStartSync } from "./review-status-BQjqQXZG.js";
|
|
10
|
+
import { d as init_agents$1, l as countAgentsByStatus, n as ensureSessionContextBriefingFile, r as init_briefing_freshness } from "./briefing-freshness-CXhZdnB8.js";
|
|
11
|
+
import { o as getPricingSync, s as init_cost } from "./cost-C2CuA66z.js";
|
|
12
|
+
import { t as init_behavior } from "./behavior-By-2Wipv.js";
|
|
13
|
+
import { _ as init_tier_metrics, g as estimateFeedDeliveryTokens, v as recordTierFeedDelivery } from "./cost-sync-8lkDeL9g.js";
|
|
14
14
|
import { n as init_agent_runtime_mirror, r as isAgentStateServiceInProcess, t as getRuntimeSnapshot } from "./agent-runtime-mirror-DrWxopNA.js";
|
|
15
|
-
import { i as ensureInternalTokenSync, s as init_internal_token, t as INTERNAL_TOKEN_HEADER } from "./internal-token-
|
|
16
|
-
import { m as readWorkspacePlanSync, o as init_io } from "./io-
|
|
17
|
-
import { c as bridgeGeminiAuthToCliproxy, p as getCliproxyClientEnv, s as bridgeCodexAuthToCliproxySync, v as init_cliproxy } from "./cliproxy-
|
|
18
|
-
import { f as init_config$1, m as loadConfigSync$1 } from "./config-
|
|
19
|
-
import { L as normalizeHarness, R as reactivateConversationForSpawn, S as getConversationByName, k as init_conversations, y as createConversation } from "./conversations-
|
|
20
|
-
import { n as recordFeatureRegistryLifecycle, t as init_feature_registry_population } from "./feature-registry-population-
|
|
21
|
-
import { a as readCavemanVariant, n as init_workspace } from "./workspace-
|
|
22
|
-
import { a as init_launcher_generator, c as requireModelOverrideSync, i as generateLauncherScriptSync, l as shellQuoteModelIdSync, n as init_state_home, o as init_model_validation, r as isStateMigrated, s as normalizeModelOverrideSync } from "./state-home-
|
|
23
|
-
import { a as init_claude_permissions, r as getClaudePermissionFlagsStringSync } from "./claude-permissions-
|
|
24
|
-
import { h as workspaceContextFile, o as init_layers } from "./layers-
|
|
25
|
-
import { a as extractThreadIdFromRollout, c as initCodexHome, l as init_codex, o as findLatestRollout } from "./codex-
|
|
26
|
-
import { a as getFlywheelActiveRunIdSync, s as init_control_settings } from "./control-settings-
|
|
27
|
-
import { n as createTrackerFromConfig, r as init_factory, t as createTracker } from "./factory-
|
|
28
|
-
import { a as init_stack_health, i as getWorkspaceStackHealth } from "./stack-health-
|
|
29
|
-
import { a as createActiveSlice, c as groupItemsByWave, s as getDispatchableItems, u as init_dag } from "./dag-
|
|
30
|
-
import { n as init_bd_process_lock, t as BdTransientFailure } from "./bd-process-lock-
|
|
31
|
-
import { n as assertIssueHasBeads, r as init_beads_query, t as BeadsMissingError } from "./beads-query-
|
|
32
|
-
import { c as generateFixedPointPromptSync, f as initHookSync, n as checkHookSync, p as init_hooks } from "./hooks-
|
|
33
|
-
import { n as resolveHarness, t as init_harness_resolve } from "./harness-resolve-
|
|
34
|
-
import {
|
|
35
|
-
import {
|
|
15
|
+
import { i as ensureInternalTokenSync, s as init_internal_token, t as INTERNAL_TOKEN_HEADER } from "./internal-token-CQUx9YLc.js";
|
|
16
|
+
import { m as readWorkspacePlanSync, o as init_io } from "./io-Wy8YpFeP.js";
|
|
17
|
+
import { c as bridgeGeminiAuthToCliproxy, p as getCliproxyClientEnv, s as bridgeCodexAuthToCliproxySync, v as init_cliproxy } from "./cliproxy-J-_1iIXe.js";
|
|
18
|
+
import { f as init_config$1, m as loadConfigSync$1 } from "./config-oWoKf5jO.js";
|
|
19
|
+
import { L as normalizeHarness, R as reactivateConversationForSpawn, S as getConversationByName, k as init_conversations, y as createConversation } from "./conversations-DL_BAWVk.js";
|
|
20
|
+
import { n as recordFeatureRegistryLifecycle, t as init_feature_registry_population } from "./feature-registry-population-Dwyj9gEM.js";
|
|
21
|
+
import { a as readCavemanVariant, n as init_workspace } from "./workspace-4ZufqeMe.js";
|
|
22
|
+
import { a as init_launcher_generator, c as requireModelOverrideSync, i as generateLauncherScriptSync, l as shellQuoteModelIdSync, n as init_state_home, o as init_model_validation, r as isStateMigrated, s as normalizeModelOverrideSync } from "./state-home-Bgj7i-C7.js";
|
|
23
|
+
import { a as init_claude_permissions, r as getClaudePermissionFlagsStringSync } from "./claude-permissions-DrRAs_0F.js";
|
|
24
|
+
import { h as workspaceContextFile, o as init_layers } from "./layers-vdvlpFki.js";
|
|
25
|
+
import { a as extractThreadIdFromRollout, c as initCodexHome, l as init_codex, o as findLatestRollout } from "./codex-DcInrhok.js";
|
|
26
|
+
import { a as getFlywheelActiveRunIdSync, s as init_control_settings } from "./control-settings-BMqUkXmR.js";
|
|
27
|
+
import { n as createTrackerFromConfig, r as init_factory, t as createTracker } from "./factory-rG4T40su.js";
|
|
28
|
+
import { a as init_stack_health, i as getWorkspaceStackHealth } from "./stack-health-BJVh1TCg.js";
|
|
29
|
+
import { a as createActiveSlice, c as groupItemsByWave, s as getDispatchableItems, u as init_dag } from "./dag-jH8ZkewR.js";
|
|
30
|
+
import { n as init_bd_process_lock, t as BdTransientFailure } from "./bd-process-lock-CJkoG7hW.js";
|
|
31
|
+
import { n as assertIssueHasBeads, r as init_beads_query, t as BeadsMissingError } from "./beads-query-BrVNWoSL.js";
|
|
32
|
+
import { c as generateFixedPointPromptSync, f as initHookSync, n as checkHookSync, p as init_hooks } from "./hooks-CmHFSj_Z.js";
|
|
33
|
+
import { n as resolveHarness, t as init_harness_resolve } from "./harness-resolve-DKeSVsJL.js";
|
|
34
|
+
import { r as isRoleTerminal, t as init_reap_terminal_sessions } from "./reap-terminal-sessions-CAmURC2h.js";
|
|
35
|
+
import { a as init_lifecycle_io, t as appendContinueSessionEntryForIssue } from "./lifecycle-io-DSrv9xGh.js";
|
|
36
|
+
import { r as init_swarm_readiness, t as analyzeSwarmReadiness } from "./swarm-readiness-OBgamRql.js";
|
|
36
37
|
import { Data, Duration, Effect, FileSystem } from "effect";
|
|
37
38
|
import { appendFileSync, existsSync, mkdirSync, readFileSync, statSync, statfsSync, unlinkSync, writeFileSync } from "fs";
|
|
38
39
|
import { basename, dirname, join, resolve } from "path";
|
|
@@ -938,6 +939,12 @@ function cleanAgentState(raw) {
|
|
|
938
939
|
reviewDeadlineAt: raw.reviewDeadlineAt,
|
|
939
940
|
reviewMonitorSignaled: raw.reviewMonitorSignaled,
|
|
940
941
|
reviewRetryAttempt: raw.reviewRetryAttempt,
|
|
942
|
+
reviewDiscoveryPending: raw.reviewDiscoveryPending,
|
|
943
|
+
reviewContextManifestPath: raw.reviewContextManifestPath,
|
|
944
|
+
reviewDiscoveryReadyAt: raw.reviewDiscoveryReadyAt,
|
|
945
|
+
reviewConvoyForkedAt: raw.reviewConvoyForkedAt,
|
|
946
|
+
reviewForkCacheChecked: raw.reviewForkCacheChecked,
|
|
947
|
+
reviewForkedFromParent: raw.reviewForkedFromParent,
|
|
941
948
|
hostOverride: raw.hostOverride,
|
|
942
949
|
inspectSubRole: raw.inspectSubRole,
|
|
943
950
|
slotIndex: raw.slotIndex,
|
|
@@ -2327,12 +2334,12 @@ async function claudeSystemPromptFiles(workspace, harness) {
|
|
|
2327
2334
|
files.push(await ensureSessionContextBriefingFile());
|
|
2328
2335
|
const behavior = getHarnessBehavior(harness);
|
|
2329
2336
|
if (behavior.contextLayerKind === "pi") {
|
|
2330
|
-
const { piGlobalContextFile } = await import("./context-layers-
|
|
2337
|
+
const { piGlobalContextFile } = await import("./context-layers-DxKsseHI.js");
|
|
2331
2338
|
const globalFile = piGlobalContextFile();
|
|
2332
2339
|
if (existsSync(globalFile)) files.unshift(globalFile);
|
|
2333
2340
|
}
|
|
2334
2341
|
if (behavior.contextLayerKind === "codex") {
|
|
2335
|
-
const { codexGlobalContextFile } = await import("./context-layers-
|
|
2342
|
+
const { codexGlobalContextFile } = await import("./context-layers-DxKsseHI.js");
|
|
2336
2343
|
const globalFile = codexGlobalContextFile();
|
|
2337
2344
|
if (existsSync(globalFile)) files.unshift(globalFile);
|
|
2338
2345
|
}
|
|
@@ -2485,7 +2492,7 @@ async function injectPiPromptTimeMemory(agentId, prompt) {
|
|
|
2485
2492
|
agentRole: agentState.role ?? "work",
|
|
2486
2493
|
agentHarness: agentState.harness ?? "claude-code"
|
|
2487
2494
|
};
|
|
2488
|
-
const { injectPromptTimeMemory } = await import("./injection-
|
|
2495
|
+
const { injectPromptTimeMemory } = await import("./injection-DKzL2Axk.js");
|
|
2489
2496
|
const result = await injectPromptTimeMemory({
|
|
2490
2497
|
prompt,
|
|
2491
2498
|
identity,
|
|
@@ -2519,7 +2526,7 @@ async function injectPiConversationMemory(opts, prompt) {
|
|
|
2519
2526
|
agentRole: "work",
|
|
2520
2527
|
agentHarness: "ohmypi"
|
|
2521
2528
|
};
|
|
2522
|
-
const { injectPromptTimeMemory } = await import("./injection-
|
|
2529
|
+
const { injectPromptTimeMemory } = await import("./injection-DKzL2Axk.js");
|
|
2523
2530
|
const result = await injectPromptTimeMemory({
|
|
2524
2531
|
prompt,
|
|
2525
2532
|
identity,
|
|
@@ -3023,7 +3030,7 @@ async function transitionIssueToInReview(issueId, workspacePath) {
|
|
|
3023
3030
|
async function buildAgentLaunchConfig(opts) {
|
|
3024
3031
|
const model = requireModelOverrideSync(opts.model);
|
|
3025
3032
|
try {
|
|
3026
|
-
const { injectOverdeckInfraDeny } = await import("./claude-settings-overlay-
|
|
3033
|
+
const { injectOverdeckInfraDeny } = await import("./claude-settings-overlay-CEWlIFL-.js");
|
|
3027
3034
|
await Effect.runPromise(injectOverdeckInfraDeny(opts.workspace));
|
|
3028
3035
|
} catch (err) {
|
|
3029
3036
|
console.warn(`[agents] injectOverdeckInfraDeny failed for ${opts.agentId} (non-fatal): ${err instanceof Error ? err.message : err}`);
|
|
@@ -3104,7 +3111,7 @@ async function retrieveSpawnTimeMemoryContext(input) {
|
|
|
3104
3111
|
agentRole: input.role,
|
|
3105
3112
|
agentHarness: input.harness
|
|
3106
3113
|
};
|
|
3107
|
-
const { injectPromptTimeMemory } = await import("./injection-
|
|
3114
|
+
const { injectPromptTimeMemory } = await import("./injection-DKzL2Axk.js");
|
|
3108
3115
|
return (await injectPromptTimeMemory({
|
|
3109
3116
|
prompt: input.prompt,
|
|
3110
3117
|
identity,
|
|
@@ -3195,7 +3202,7 @@ async function assertWorkspaceStackHealthyForSpawn(issueId, role, allowHost = fa
|
|
|
3195
3202
|
record.attempts += 1;
|
|
3196
3203
|
spawnStackRebuildState.set(normalizedIssue, record);
|
|
3197
3204
|
console.log(`[agents] Workspace stack for ${normalizedIssue} unhealthy (${details}) — rebuilding before spawn (attempt ${record.attempts}/${SPAWN_STACK_REBUILD_MAX_ATTEMPTS})`);
|
|
3198
|
-
const { rebuildWorkspaceStack } = await import("./rebuild-stack-
|
|
3205
|
+
const { rebuildWorkspaceStack } = await import("./rebuild-stack-ByFCMqTK.js");
|
|
3199
3206
|
const result = await Effect.runPromise(rebuildWorkspaceStack(issueId, { onProgress: (m) => console.log(`[agents] ${normalizedIssue} stack rebuild: ${m}`) })).catch((err) => ({
|
|
3200
3207
|
success: false,
|
|
3201
3208
|
error: err instanceof Error ? err.message : String(err)
|
|
@@ -3642,6 +3649,7 @@ async function deliverAgentMessage(agentId, message, caller = "unknown", deliver
|
|
|
3642
3649
|
resolvedMethod ??= "auto";
|
|
3643
3650
|
}
|
|
3644
3651
|
if (resolvedMethod === "tmux") {
|
|
3652
|
+
await assertTmuxTargetCanReceive(normalizedId, caller);
|
|
3645
3653
|
await Effect.runPromise(sendKeys(normalizedId, message));
|
|
3646
3654
|
return {
|
|
3647
3655
|
ok: true,
|
|
@@ -3706,6 +3714,7 @@ async function deliverAgentMessage(agentId, message, caller = "unknown", deliver
|
|
|
3706
3714
|
...supervisorFailure ? { "pty-supervisor": supervisorFailure } : {},
|
|
3707
3715
|
...channelFailure ? { channels: channelFailure } : {}
|
|
3708
3716
|
});
|
|
3717
|
+
await assertTmuxTargetCanReceive(normalizedId, caller);
|
|
3709
3718
|
await Effect.runPromise(sendKeys(normalizedId, message));
|
|
3710
3719
|
return {
|
|
3711
3720
|
ok: true,
|
|
@@ -3713,12 +3722,27 @@ async function deliverAgentMessage(agentId, message, caller = "unknown", deliver
|
|
|
3713
3722
|
failure: channelFailure ?? supervisorFailure
|
|
3714
3723
|
};
|
|
3715
3724
|
}
|
|
3725
|
+
await assertTmuxTargetCanReceive(normalizedId, caller);
|
|
3716
3726
|
await Effect.runPromise(sendKeys(normalizedId, message));
|
|
3717
3727
|
return {
|
|
3718
3728
|
ok: true,
|
|
3719
3729
|
path: "tmux"
|
|
3720
3730
|
};
|
|
3721
3731
|
}
|
|
3732
|
+
/**
|
|
3733
|
+
* PAN-2228: loud failure semantics for the tmux tier. `tmux send-keys` into a
|
|
3734
|
+
* session whose pane process has EXITED (a remain-on-exit corpse) succeeds at the
|
|
3735
|
+
* tmux level while the message lands nowhere — the zombie-kickoff failure mode
|
|
3736
|
+
* (PAN-2179): callers saw ok:true, treated feedback as delivered, and the issue
|
|
3737
|
+
* silently stalled. Verify a live pane BEFORE pasting, and throw the same
|
|
3738
|
+
* MessageDeliveryFailed shape the strict socket methods use so every caller's
|
|
3739
|
+
* existing failure path fires instead of a false success. (A fully MISSING
|
|
3740
|
+
* session needs no check here — tmux send-keys itself errors loudly on it.)
|
|
3741
|
+
*/
|
|
3742
|
+
async function assertTmuxTargetCanReceive(normalizedId, caller) {
|
|
3743
|
+
if (!await Effect.runPromise(sessionExists(normalizedId))) return;
|
|
3744
|
+
if (await Effect.runPromise(isPaneDead(normalizedId))) throw new Error(`MessageDeliveryFailed: tmux delivery failed for ${normalizedId} (${caller}): pane-dead (session alive but the harness process has exited)`);
|
|
3745
|
+
}
|
|
3722
3746
|
async function waitForTranscriptUserRecordLanding(workspace, sessionId, before, snapshot, timeoutMs = RESUME_TRANSCRIPT_CONFIRM_TIMEOUT_MS, intervalMs = RESUME_TRANSCRIPT_CONFIRM_INTERVAL_MS) {
|
|
3723
3747
|
const deadline = Date.now() + timeoutMs;
|
|
3724
3748
|
const fromByteOffset = before.readOffset ?? before.fileSize;
|
|
@@ -4206,8 +4230,9 @@ function describeRunningAgents() {
|
|
|
4206
4230
|
const swarm = alive.filter((a) => a.role === "work" && SWARM_SLOT_ID.test(a.id)).map((a) => a.id);
|
|
4207
4231
|
const work = alive.filter((a) => a.role === "work" && !SWARM_SLOT_ID.test(a.id)).map((a) => a.id);
|
|
4208
4232
|
const advancing = alive.filter((a) => a.role && ADVANCING_ROLES.has(a.role)).map((a) => a.id);
|
|
4233
|
+
const warmIdle = countWarmIdleAdvancingAgents(alive);
|
|
4209
4234
|
const { totalCeiling } = getConcurrencyLimits();
|
|
4210
|
-
return `counts: work=${work.length} advancing=${advancing.length} swarm=${swarm.length} total=${work.length + advancing.length}/${totalCeiling} | advancing=[${advancing.join(", ")}] work=[${work.join(", ")}] swarm=[${swarm.join(", ")}]`;
|
|
4235
|
+
return `counts: work=${work.length} advancing=${advancing.length} (warm-idle=${warmIdle}, excluded) swarm=${swarm.length} total=${work.length + Math.max(0, advancing.length - warmIdle)}/${totalCeiling} | advancing=[${advancing.join(", ")}] work=[${work.join(", ")}] swarm=[${swarm.join(", ")}]`;
|
|
4211
4236
|
}
|
|
4212
4237
|
/** Count currently-running agents by role class.
|
|
4213
4238
|
*
|
|
@@ -4228,13 +4253,37 @@ function countRunningSwarmSlotsForIssue(issueId, agents = listRunningAgentsSync(
|
|
|
4228
4253
|
const prefix = `agent-${issueId.toLowerCase()}-slot-`;
|
|
4229
4254
|
return agents.filter((a) => a.tmuxActive && a.role === "work" && SWARM_SLOT_ID.test(a.id) && a.id.startsWith(prefix)).length;
|
|
4230
4255
|
}
|
|
4256
|
+
/**
|
|
4257
|
+
* PAN-2579: count running advancing-role agents whose issue's phase verdict is
|
|
4258
|
+
* already terminal — "warm-idle" sessions kept alive for fast re-review under
|
|
4259
|
+
* the warm-by-default lifecycle. They are free capacity, not load: excluding
|
|
4260
|
+
* them from the ceiling is what lets warm sessions persist without recreating
|
|
4261
|
+
* the PAN-1716 livelock (completed reviewers starving every new dispatch).
|
|
4262
|
+
* Best-effort: if the review-status source is unregistered or unreadable,
|
|
4263
|
+
* count nothing as warm-idle (the ceiling stays conservative). The status map
|
|
4264
|
+
* is read through the cycle-free review-status-source leaf, registered by
|
|
4265
|
+
* review-status.ts at module load.
|
|
4266
|
+
*/
|
|
4267
|
+
function countWarmIdleAdvancingAgents(agents = listRunningAgentsSync()) {
|
|
4268
|
+
const advancingRows = agents.filter((a) => a.role && ADVANCING_ROLES.has(a.role) && a.issueId);
|
|
4269
|
+
if (advancingRows.length === 0) return 0;
|
|
4270
|
+
const statuses = readReviewStatusMap();
|
|
4271
|
+
if (!statuses) return 0;
|
|
4272
|
+
let warmIdle = 0;
|
|
4273
|
+
for (const row of advancingRows) {
|
|
4274
|
+
const status = statuses[row.issueId.toUpperCase()];
|
|
4275
|
+
if (status && isRoleTerminal(row.role, status)) warmIdle++;
|
|
4276
|
+
}
|
|
4277
|
+
return warmIdle;
|
|
4278
|
+
}
|
|
4231
4279
|
function countRunningAgents() {
|
|
4232
4280
|
const counts = countAgentsByStatus("running");
|
|
4233
4281
|
const workTotal = counts["work"] ?? 0;
|
|
4234
|
-
let
|
|
4235
|
-
for (const role of ADVANCING_ROLES)
|
|
4282
|
+
let advancingTotal = 0;
|
|
4283
|
+
for (const role of ADVANCING_ROLES) advancingTotal += counts[role] ?? 0;
|
|
4236
4284
|
const swarm = countRunningSwarmSlots();
|
|
4237
4285
|
const work = Math.max(0, workTotal - swarm);
|
|
4286
|
+
const advancing = Math.max(0, advancingTotal - countWarmIdleAdvancingAgents());
|
|
4238
4287
|
return {
|
|
4239
4288
|
work,
|
|
4240
4289
|
advancing,
|
|
@@ -4363,6 +4412,8 @@ var init_concurrency = __esmMin((() => {
|
|
|
4363
4412
|
init_agents();
|
|
4364
4413
|
init_agents$1();
|
|
4365
4414
|
init_memory_verdict_cache();
|
|
4415
|
+
init_reap_terminal_sessions();
|
|
4416
|
+
init_review_status_source();
|
|
4366
4417
|
DEFAULT_MAX_WORK_AGENTS = 6;
|
|
4367
4418
|
DEFAULT_RESERVED_ADVANCING_SLOTS = 3;
|
|
4368
4419
|
DEFAULT_RESERVED_SWARM_SLOTS = 3;
|
|
@@ -4733,7 +4784,24 @@ async function spawnRun(issueId, role, options = {}) {
|
|
|
4733
4784
|
}
|
|
4734
4785
|
const flywheelEnv = resolveFlywheelSpawnEnv(role, options.flywheelRunId);
|
|
4735
4786
|
const agentId = options.agentId ?? runAgentId(issueId, role, options.subRole);
|
|
4736
|
-
if (await Effect.runPromise(sessionExists(agentId)))
|
|
4787
|
+
if (await Effect.runPromise(sessionExists(agentId))) {
|
|
4788
|
+
let reapWarmIdle = false;
|
|
4789
|
+
const advancing = role === "review" || role === "test" || role === "ship";
|
|
4790
|
+
try {
|
|
4791
|
+
const { isPaneDead } = await import("./tmux-CeDD14p1.js");
|
|
4792
|
+
if (await Effect.runPromise(isPaneDead(agentId))) reapWarmIdle = true;
|
|
4793
|
+
else if (advancing) {
|
|
4794
|
+
const { getReviewStatusSync } = await import("./review-status-bBkqUj5i.js");
|
|
4795
|
+
const { isRoleTerminal } = await import("./reap-terminal-sessions-BwJb2DLJ.js");
|
|
4796
|
+
const status = getReviewStatusSync(issueId);
|
|
4797
|
+
reapWarmIdle = !!status && isRoleTerminal(role, status);
|
|
4798
|
+
}
|
|
4799
|
+
} catch {}
|
|
4800
|
+
if (!reapWarmIdle) throw new Error(`Role run ${agentId} already running. Use 'pan tell' to message it.`);
|
|
4801
|
+
console.log(`[spawn] ${agentId} is warm-idle from the previous cycle — reaping it for the new ${role} dispatch (PAN-2579)`);
|
|
4802
|
+
const { killSession } = await import("./tmux-CeDD14p1.js");
|
|
4803
|
+
await Effect.runPromise(killSession(agentId)).catch(() => {});
|
|
4804
|
+
}
|
|
4737
4805
|
await assertWorkspaceStackHealthyForSpawn(issueId, role, options.allowHost, workspace);
|
|
4738
4806
|
initHookSync(agentId);
|
|
4739
4807
|
const resolvedHarness = await resolveHarness({
|
|
@@ -4742,7 +4810,7 @@ async function spawnRun(issueId, role, options = {}) {
|
|
|
4742
4810
|
model: selectedModel
|
|
4743
4811
|
});
|
|
4744
4812
|
if (getProviderForModelSync(selectedModel).name === "openai" && await getProviderAuthMode(selectedModel) === "subscription") {
|
|
4745
|
-
const { isCliproxyRunning } = await import("./cliproxy-
|
|
4813
|
+
const { isCliproxyRunning } = await import("./cliproxy-BOcmOK6l.js");
|
|
4746
4814
|
if (!await Effect.runPromise(isCliproxyRunning())) throw new Error("CLIProxyAPI sidecar is not running. GPT subscription role runs route through a local cliproxy process managed by `pan up`. Run `pan up` (or restart the dashboard) before spawning a GPT role run.");
|
|
4747
4815
|
}
|
|
4748
4816
|
const state = {
|
|
@@ -4851,7 +4919,7 @@ async function spawnRun(issueId, role, options = {}) {
|
|
|
4851
4919
|
const claudeCmd = `bash ${launcherScript}`;
|
|
4852
4920
|
console.log(`[claude-invoke] purpose=role-run | role=${role} | model=${state.model} | source=agents.ts:spawnRun | session=${agentId} | command="${claudeCmd}"`);
|
|
4853
4921
|
try {
|
|
4854
|
-
const { preTrustDirectory } = await import("./workspace-manager-
|
|
4922
|
+
const { preTrustDirectory } = await import("./workspace-manager-B3PqQQSM.js");
|
|
4855
4923
|
preTrustDirectory(workspace);
|
|
4856
4924
|
} catch {}
|
|
4857
4925
|
clearReadySignal(agentId);
|
|
@@ -4939,7 +5007,7 @@ async function spawnAgent(options) {
|
|
|
4939
5007
|
});
|
|
4940
5008
|
console.log(`[DEBUG] Selected model: ${selectedModel}`);
|
|
4941
5009
|
if (getProviderForModelSync(selectedModel).name === "openai" && await getProviderAuthMode(selectedModel) === "subscription") {
|
|
4942
|
-
const { isCliproxyRunning } = await import("./cliproxy-
|
|
5010
|
+
const { isCliproxyRunning } = await import("./cliproxy-BOcmOK6l.js");
|
|
4943
5011
|
if (!await Effect.runPromise(isCliproxyRunning())) throw new Error("CLIProxyAPI sidecar is not running. GPT subscription agents route through a local cliproxy process managed by `pan up`. Run `pan up` (or restart the dashboard) before spawning a GPT agent.");
|
|
4944
5012
|
}
|
|
4945
5013
|
const resolvedHarness = await resolveHarness({
|
|
@@ -4965,7 +5033,7 @@ async function spawnAgent(options) {
|
|
|
4965
5033
|
if (role === "work") {
|
|
4966
5034
|
try {
|
|
4967
5035
|
if (resetPipelineVerdictsForWorkStartSync(options.issueId)) {
|
|
4968
|
-
const { resetPostMergeState } = await import("./merge-agent-
|
|
5036
|
+
const { resetPostMergeState } = await import("./merge-agent-Dh8Y9PDO.js");
|
|
4969
5037
|
resetPostMergeState(options.issueId);
|
|
4970
5038
|
}
|
|
4971
5039
|
} catch (err) {
|
|
@@ -4976,7 +5044,7 @@ async function spawnAgent(options) {
|
|
|
4976
5044
|
});
|
|
4977
5045
|
}
|
|
4978
5046
|
if (role === "work") try {
|
|
4979
|
-
const { writeStoryFeatureContext } = await import("./work-agent-prompt-
|
|
5047
|
+
const { writeStoryFeatureContext } = await import("./work-agent-prompt-DCdHsm-V.js");
|
|
4980
5048
|
await writeStoryFeatureContext(options.workspace, options.issueId);
|
|
4981
5049
|
} catch (ctxErr) {
|
|
4982
5050
|
console.warn(`[agents] Could not write story feature context for ${options.issueId}: ${ctxErr.message}`);
|
|
@@ -5026,7 +5094,7 @@ async function spawnAgent(options) {
|
|
|
5026
5094
|
try {
|
|
5027
5095
|
const venvPath = join(options.workspace, ".venv");
|
|
5028
5096
|
if (isTldrEnabledSync() && existsSync(venvPath)) {
|
|
5029
|
-
const { getTldrDaemonServiceSync } = await import("./tldr-daemon-
|
|
5097
|
+
const { getTldrDaemonServiceSync } = await import("./tldr-daemon-CJqGsDFh.js");
|
|
5030
5098
|
const tldrService = getTldrDaemonServiceSync(options.workspace, venvPath);
|
|
5031
5099
|
if (!(await tldrService.getStatus()).running) {
|
|
5032
5100
|
await tldrService.start(true);
|
|
@@ -5064,13 +5132,13 @@ async function spawnAgent(options) {
|
|
|
5064
5132
|
const claudeCmd = `bash ${launcherScript}`;
|
|
5065
5133
|
console.log(`[claude-invoke] purpose=work-agent | model=${state.model} | source=agents.ts:spawnAgent | session=${agentId} | command="${claudeCmd}"`);
|
|
5066
5134
|
try {
|
|
5067
|
-
const { preTrustDirectory } = await import("./workspace-manager-
|
|
5135
|
+
const { preTrustDirectory } = await import("./workspace-manager-B3PqQQSM.js");
|
|
5068
5136
|
preTrustDirectory(options.workspace);
|
|
5069
5137
|
} catch {}
|
|
5070
5138
|
try {
|
|
5071
|
-
const { isGitHubAppConfigured, generateInstallationToken, configureWorkspaceForBot } = await import("./github-app-
|
|
5139
|
+
const { isGitHubAppConfigured, generateInstallationToken, configureWorkspaceForBot } = await import("./github-app-B5PDHMyn.js");
|
|
5072
5140
|
if (isGitHubAppConfigured()) {
|
|
5073
|
-
const { findProjectByPathSync } = await import("./projects-
|
|
5141
|
+
const { findProjectByPathSync } = await import("./projects-BNmVxnNt.js");
|
|
5074
5142
|
const ghRepo = findProjectByPathSync(resolve(options.workspace, "..", ".."))?.github_repo;
|
|
5075
5143
|
if (ghRepo) {
|
|
5076
5144
|
const [owner, repo] = ghRepo.split("/");
|
|
@@ -5138,7 +5206,7 @@ async function spawnAgent(options) {
|
|
|
5138
5206
|
const codexHomeForAgent = join(homedir(), ".overdeck", "agents", agentId, "codex-home");
|
|
5139
5207
|
(async () => {
|
|
5140
5208
|
try {
|
|
5141
|
-
const { waitForCodexRollout, extractThreadIdFromRollout, writeThreadId } = await import("./codex-
|
|
5209
|
+
const { waitForCodexRollout, extractThreadIdFromRollout, writeThreadId } = await import("./codex-BUZjrnqH.js");
|
|
5142
5210
|
const rollout = await waitForCodexRollout(codexHomeForAgent, 12e4);
|
|
5143
5211
|
if (rollout) {
|
|
5144
5212
|
const threadId = extractThreadIdFromRollout(rollout);
|
|
@@ -5915,7 +5983,7 @@ async function messageAgent(agentId, message, caller = "internal") {
|
|
|
5915
5983
|
return;
|
|
5916
5984
|
}
|
|
5917
5985
|
console.log(`[agents] Auto-resuming suspended agent ${normalizedId} to deliver message`);
|
|
5918
|
-
const { resumeAgent } = await import("./agents-
|
|
5986
|
+
const { resumeAgent } = await import("./agents-BIggLvi_.js");
|
|
5919
5987
|
const result = await resumeAgent(normalizedId, message);
|
|
5920
5988
|
if (!result.success) throw new Error(`Failed to auto-resume agent: ${result.error}`);
|
|
5921
5989
|
if (result.messageDelivered === false) throw new Error(`Agent resumed but ready signal did not fire — message not delivered. Feedback is in the mail queue.`);
|
|
@@ -5931,7 +5999,7 @@ async function messageAgent(agentId, message, caller = "internal") {
|
|
|
5931
5999
|
return;
|
|
5932
6000
|
}
|
|
5933
6001
|
console.log(`[agents] Auto-resuming stopped agent ${normalizedId} to deliver feedback (session exists: ${await Effect.runPromise(sessionExists(normalizedId))})`);
|
|
5934
|
-
const { resumeAgent } = await import("./agents-
|
|
6002
|
+
const { resumeAgent } = await import("./agents-BIggLvi_.js");
|
|
5935
6003
|
const resumeResult = await resumeAgent(normalizedId, message);
|
|
5936
6004
|
queueAgentMail(normalizedId, message);
|
|
5937
6005
|
if (resumeResult.success && resumeResult.messageDelivered !== false) {
|
|
@@ -5967,7 +6035,7 @@ async function messageAgent(agentId, message, caller = "internal") {
|
|
|
5967
6035
|
const resumeRole = agentState.role ?? "work";
|
|
5968
6036
|
const resumeModel = agentState.model || "claude-sonnet-4-6";
|
|
5969
6037
|
const fallbackHarness = agentState.harness ?? "claude-code";
|
|
5970
|
-
const { assertWorkspaceStackHealthyForSpawn } = await import("./agents-
|
|
6038
|
+
const { assertWorkspaceStackHealthyForSpawn } = await import("./agents-BIggLvi_.js");
|
|
5971
6039
|
await assertWorkspaceStackHealthyForSpawn(agentState.issueId || normalizedId.replace(/^agent-/, "").toUpperCase(), resumeRole, agentState.hostOverride === true, agentState.workspace);
|
|
5972
6040
|
const fallbackPiFields = fallbackHarness === "ohmypi" ? await getOhmypiLauncherFields(normalizedId, resumeModel) : {};
|
|
5973
6041
|
const fallbackCodexFields = fallbackHarness === "codex" ? getCodexLauncherFields(normalizedId, resumeModel, agentState.workspace) : {};
|
|
@@ -6030,7 +6098,7 @@ async function messageAgent(agentId, message, caller = "internal") {
|
|
|
6030
6098
|
} else console.warn(`[agents] Fallback-restarted ${normalizedId} but ready signal not detected — feedback in mail queue`);
|
|
6031
6099
|
return;
|
|
6032
6100
|
}
|
|
6033
|
-
const { loadRemoteAgentState, sendToRemoteAgent } = await import("./remote-agents-
|
|
6101
|
+
const { loadRemoteAgentState, sendToRemoteAgent } = await import("./remote-agents-DNuaAgU6.js");
|
|
6034
6102
|
const remoteState = loadRemoteAgentState(normalizedId);
|
|
6035
6103
|
if (remoteState && remoteState.vmName) {
|
|
6036
6104
|
console.log(`[agents] Sending message to remote agent ${normalizedId} on ${remoteState.vmName}`);
|
|
@@ -6044,7 +6112,7 @@ async function messageAgent(agentId, message, caller = "internal") {
|
|
|
6044
6112
|
const expectedHarness = agentState?.harness ?? "claude-code";
|
|
6045
6113
|
if (panePids.length > 0 && !await hasAgentRuntimeInSubtree(panePids[0], expectedHarness)) {
|
|
6046
6114
|
console.warn(`[agents] ${normalizedId} tmux session is a zombie (no ${expectedHarness} runtime) — attempting resume`);
|
|
6047
|
-
const { resumeAgent } = await import("./agents-
|
|
6115
|
+
const { resumeAgent } = await import("./agents-BIggLvi_.js");
|
|
6048
6116
|
const resumeResult = await resumeAgent(normalizedId, message);
|
|
6049
6117
|
if (resumeResult.success) {
|
|
6050
6118
|
if (resumeResult.messageDelivered !== false) await appendTellInterventionForUserSource(normalizedId, caller);
|
|
@@ -6156,7 +6224,7 @@ async function buildCompactRecoverySeed(agentId) {
|
|
|
6156
6224
|
if (agentState?.workspace && sessionId) {
|
|
6157
6225
|
const sessionFile = sessionFilePath(agentState.workspace, sessionId);
|
|
6158
6226
|
try {
|
|
6159
|
-
const [{ getConversationCompactionSettings }, { generateSmartSummary }] = await Promise.all([import("./conversation-compaction-
|
|
6227
|
+
const [{ getConversationCompactionSettings }, { generateSmartSummary }] = await Promise.all([import("./conversation-compaction-Ba5aZdrb.js"), import("./smart-compaction-Bgp_gwcA.js")]);
|
|
6160
6228
|
const settings = getConversationCompactionSettings();
|
|
6161
6229
|
summary = (await Effect.runPromise(generateSmartSummary({
|
|
6162
6230
|
jsonlPath: sessionFile,
|
|
@@ -6167,7 +6235,7 @@ async function buildCompactRecoverySeed(agentId) {
|
|
|
6167
6235
|
} catch (err) {
|
|
6168
6236
|
logAgentLifecycleSync(normalizedId, `compact-recovery smart summary failed (${err instanceof Error ? err.message : String(err)}); trying heuristic fallback`);
|
|
6169
6237
|
try {
|
|
6170
|
-
const { generateFallbackSummary } = await import("./summary-fork-
|
|
6238
|
+
const { generateFallbackSummary } = await import("./summary-fork-DedqguZb.js");
|
|
6171
6239
|
summary = await Effect.runPromise(generateFallbackSummary(sessionFile));
|
|
6172
6240
|
} catch (fallbackErr) {
|
|
6173
6241
|
logAgentLifecycleSync(normalizedId, `compact-recovery fallback summary failed (${fallbackErr instanceof Error ? fallbackErr.message : String(fallbackErr)}); seeding with reseed instructions only`);
|
|
@@ -7711,4 +7779,4 @@ var init_agents = __esmMin((() => {
|
|
|
7711
7779
|
//#endregion
|
|
7712
7780
|
export { warnOnBareNumericIssueIds as $, writeAgentStateJsonSync as $n, waitForPromptReady as $t, init_messaging as A, getAgentDir as An, init_bridge_token as At, createOhmypiRuntimeSync as B, markAgentRunningState as Bn, resolveStaffing as Bt, restartAgent as C, __testInternals as Cn, deliverAgentPermissionDecision as Ct, init_context_overflow as D, clearAgentTroubledSync as Dn, captureTranscriptUserRecordSnapshot as Dt, resumeAgent as E, clearAgentTroubled as En, setAgentDeliveryMethod as Et, getActivity as F, init_agent_state as Fn, init_spawn_prep as Ft, init_termination as G, recordStartupSessionExit as Gn, getAgentRuntimeBaseCommand as Gt, init_spawn as H, markAgentTroubled as Hn, resolveTier as Ht, getLatestSessionId as I, isAgentPaused as In, retrieveSpawnTimeMemoryContext as It, dropLegacyAgentStatesMissingRoleAsync as J, saveAgentStateSync as Jn, getProviderAuthMode as Jt, stopAgent as K, resetAgentFailureCount as Kn, getCodexLauncherFields as Kt, getLatestSessionIdSync as L, isAgentTroubled as Ln, transitionIssueToInProgress as Lt, init_operator_interventions as M, getAgentState as Mn, assertWorkspaceStackHealthyForSpawn as Mt, operatorInterventionEvent as N, getAgentStateFilePath as Nn, buildAgentLaunchConfig as Nt, isContextOverflowError as O, clearYieldForResumeSync as On, init_transcript_landing as Ot, appendActivity as P, getAgentStateSync as Pn, defaultRunWorkspace as Pt, listRunningAgentsSync as Q, wipeAgentStateDirs as Qn, roleAgentDefinitionPath as Qt, getSessionId as R, isRole as Rn, transitionIssueToInReview as Rt, recoverAgent as S, SESSION_EXITED_BEFORE_KICKOFF as Sn, deliverAgentMessage as St, init_resume as T, clearAgentPausedSync as Tn, deliverResumeMessageWithTranscriptConfirmation as Tt, spawnAgent as U, recordAgentFailure as Un, OHMYPI_AGENT_READY_TIMEOUT_SECONDS as Ut, init_ohmypi as V, markAgentStoppedState as Vn, init_resolve_tier as Vt, spawnRun as W, recordAgentFailureSync as Wn, describeOhmypiSpawnFailure as Wt, listAgentStates as X, setAgentPausedSync as Xn, init_runtime_command as Xt, init_queries as Y, setAgentPaused as Yn, getRoleRuntimeBaseCommand as Yt, listRunningAgents as Z, setAgentYieldedSync as Zn, injectPiConversationMemory as Zt, init_slot_reconcile as _, decideChannelsForWorkAgent as _n, getAgentRuntimeSnapshot as _r, init_config as _t, replayStandingAgent as a, init_claude_auth as an, init_pty_token as ar, init_concurrency as at, autoRecoverAgents as b, writeChannelsBridgeMcpConfig as bn, parseOhmypiSessionCostResultSync as br, saveCloisterConfigSync as bt, init_tier_supervisor as c, determineModel as cn, isQualifiedAgentId as cr, resetPatrolDispatchBudget as ct, spawnTierSupervisor as d, getProviderTmuxFlags as dn, waitForAgentIdle as dr, workResumeSlotsAvailable as dt, init_pi_fifo as en, init_persistent_logger as er, countRunningAgents as et, supervisorAgentId as f, init_provider_health as fn, waitForReadySignal as fr, getCachedMemoryVerdict as ft, init_tier_escalation as g, buildDefaultResumeContinueMessage as gn, saveAgentRuntimeState as gr, getHealthThresholdsMs as gt, decideEscalation as h, init_openai_auth as hn, init_runtime_state as hr, DEFAULT_CLOISTER_CONFIG as ht, replayCrashedStandingAgent as i, getClaudeAuthStatus as in, readAgentHarnessModelRecordSync as ir, getConcurrencyLimits as it, messageAgent as j, getAgentResumeGateBlockReason as jn, writeBridgeTokenSync as jt, isContextOverflowTail as k, decideResumeGate as kn, probeTranscriptSince as kt, loadPrdDraft as l, getProviderEnvForModel as ln, normalizeAgentId as lr, tryReserveAdvancingSlot as lt, init_tier_feed as m, getOpenAIAuthStatus as mn, getAgentRuntimeStateSync as mr, setCachedMemoryVerdict as mt, compactAtTierRunBoundary as n, init_ohmypi_fifo as nn, logDeaconEventSync as nr, describeRunningAgents as nt, shouldReplayCompactAtTierRunBoundary as o, buildCavemanExports as on, writePtyToken as or, releaseAdvancingSlot as ot, broadcastCommit as p, validateProviderHealth as pn, getAgentRuntimeState as pr, init_memory_verdict_cache as pt, stopAgentSync as q, saveAgentState as qn, getOhmypiLauncherFields as qt, contextWindowForModel as r, ohmypiFifoPaths as rn, init_agent_record_sync as rr, emergencyBrake as rt, deliverCommitForReview as s, buildSpawnEnvForModel as sn, clearReadySignal as sr, releaseSwarmSlot as st, init_agents as t, piFifoPaths as tn, logAgentLifecycleSync as tr, countRunningSwarmSlotsForIssue as tt, shouldSupervise as u, getProviderExportsForModel as un, resolveAgentTargetSync as ur, tryReserveSwarmSlot as ut, listSlotAssignments as v, decideSupervisorForWorkAgent as vn, init_agent_runtime as vr, loadCloisterConfig as vt, buildCompactRecoverySeed as w, clearAgentPaused as wn, deliverInitialPromptWithRetry as wt, detectCrashedAgents as x, GOVERNOR_SLOT_PAUSE_REASON_PREFIX as xn, shouldAutoStart as xt, reconcileSlotState as y, dismissDevChannelsDialog as yn, init_ohmypi_parser as yr, loadCloisterConfigSync as yt, saveSessionId as z, markAgentRunning as zn, init_staffing as zt };
|
|
7713
7781
|
|
|
7714
|
-
//# sourceMappingURL=agents-
|
|
7782
|
+
//# sourceMappingURL=agents-DHvsjsuP.js.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import { Ar as PROJECT_PRDS_ACTIVE_SUBDIR, Mr as PROJECT_PRDS_PLANNED_SUBDIR, Nr as PROJECT_PRDS_SUBDIR, Vr as init_paths, br as ARCHIVES_DIR, jr as PROJECT_PRDS_COMPLETED_SUBDIR, kr as PROJECT_DOCS_SUBDIR } from "./config-yaml-
|
|
2
|
+
import { Ar as PROJECT_PRDS_ACTIVE_SUBDIR, Mr as PROJECT_PRDS_PLANNED_SUBDIR, Nr as PROJECT_PRDS_SUBDIR, Vr as init_paths, br as ARCHIVES_DIR, jr as PROJECT_PRDS_COMPLETED_SUBDIR, kr as PROJECT_DOCS_SUBDIR } from "./config-yaml-DPAieL_G.js";
|
|
3
3
|
import { a as PAN_DIRNAME, c as PAN_SESSIONS_FILENAME, i as PAN_CONTINUE_FILENAME, n as PAN_CONTEXT_FILENAME, s as PAN_FEEDBACK_DIRNAME, u as PAN_SPEC_FILENAME } from "./types-CE1m_daD.js";
|
|
4
|
-
import { t as init_pan_dir } from "./pan-dir-
|
|
5
|
-
import { a as stepSkipped, i as stepOk, n as init_types, r as stepFailed } from "./types-
|
|
4
|
+
import { t as init_pan_dir } from "./pan-dir-BgBeeZDX.js";
|
|
5
|
+
import { a as stepSkipped, i as stepOk, n as init_types, r as stepFailed } from "./types-B5u3NxMl.js";
|
|
6
6
|
import { Effect } from "effect";
|
|
7
7
|
import { existsSync, readdirSync } from "fs";
|
|
8
8
|
import { dirname, join } from "path";
|
|
@@ -271,4 +271,4 @@ var init_archive_planning = __esmMin((() => {
|
|
|
271
271
|
//#endregion
|
|
272
272
|
export { inferBranchFromWorkspace as a, findPrdAtStatusSync as c, findWorkspacePath as i, init_prd_locations as l, archiveWorkspaceArtifacts as n, init_archive_planning as o, findAllWorkspacePaths as r, movePrd as s, archivePlanning as t };
|
|
273
273
|
|
|
274
|
-
//# sourceMappingURL=archive-planning-
|
|
274
|
+
//# sourceMappingURL=archive-planning-zTvWWHG_.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Br as getOverdeckHome, Vr as init_paths } from "./config-yaml-
|
|
1
|
+
import { Br as getOverdeckHome, Vr as init_paths } from "./config-yaml-DPAieL_G.js";
|
|
2
2
|
import { n as openDatabase, t as init_driver } from "./driver-D-HBOQa_.js";
|
|
3
3
|
import { mkdirSync } from "node:fs";
|
|
4
4
|
import { dirname, join } from "node:path";
|
|
@@ -208,4 +208,4 @@ function unshareArtifactBySlugJob(slug) {
|
|
|
208
208
|
//#endregion
|
|
209
209
|
export { getArtifactBySlugJob, listArtifactsForWorkspaceOrIssueJob, unshareArtifactBySlugJob };
|
|
210
210
|
|
|
211
|
-
//# sourceMappingURL=artifact-index-jobs-
|
|
211
|
+
//# sourceMappingURL=artifact-index-jobs-BrByqVkB.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { an as queueBeadsAutoCommit, nn as flushAutoCommits, rn as init_auto_commit } from "./config-yaml-
|
|
1
|
+
import { an as queueBeadsAutoCommit, nn as flushAutoCommits, rn as init_auto_commit } from "./config-yaml-DPAieL_G.js";
|
|
2
2
|
init_auto_commit();
|
|
3
3
|
export { flushAutoCommits, queueBeadsAutoCommit };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import { r as isNoResumeValueEnabled, t as init_no_resume_mode } from "./no-resume-mode-
|
|
3
|
-
import { a as spawnSequencerAgent, i as init_sequencer_agent } from "./sequencer-agent
|
|
2
|
+
import { r as isNoResumeValueEnabled, t as init_no_resume_mode } from "./no-resume-mode-yrPEQ_pC.js";
|
|
3
|
+
import { a as spawnSequencerAgent, i as init_sequencer_agent } from "./sequencer-agent-D8pW2aU_.js";
|
|
4
4
|
//#region ../../lib/backlog/backlog-auto-trigger.ts
|
|
5
5
|
/**
|
|
6
6
|
* PAN-2396: --no-resume is the operator's full-quiescence escape hatch —
|
|
@@ -37,4 +37,4 @@ __esmMin((() => {
|
|
|
37
37
|
}))();
|
|
38
38
|
export { triggerDebouncedIncrementalPass };
|
|
39
39
|
|
|
40
|
-
//# sourceMappingURL=backlog-auto-trigger-
|
|
40
|
+
//# sourceMappingURL=backlog-auto-trigger-COm_R96V.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as init_beads_restore } from "./beads-restore-
|
|
1
|
+
import { t as init_beads_restore } from "./beads-restore-CMbDSB5R.js";
|
|
2
2
|
import { Effect } from "effect";
|
|
3
3
|
//#region ../../lib/bd-mutex.ts
|
|
4
4
|
/**
|
|
@@ -32,4 +32,4 @@ const withBdMutex = (fn) => Effect.tryPromise({
|
|
|
32
32
|
//#endregion
|
|
33
33
|
export { withBdMutexPromise as n, withBdMutex as t };
|
|
34
34
|
|
|
35
|
-
//# sourceMappingURL=bd-mutex-
|
|
35
|
+
//# sourceMappingURL=bd-mutex-BItGvLQ8.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import { Br as getOverdeckHome, Vr as init_paths } from "./config-yaml-
|
|
2
|
+
import { Br as getOverdeckHome, Vr as init_paths } from "./config-yaml-DPAieL_G.js";
|
|
3
3
|
import { Data } from "effect";
|
|
4
4
|
import { dirname, isAbsolute, join, resolve } from "node:path";
|
|
5
5
|
import { mkdir, open, readFile, realpath, unlink } from "node:fs/promises";
|
|
@@ -366,4 +366,4 @@ var init_bd_process_lock = __esmMin((() => {
|
|
|
366
366
|
//#endregion
|
|
367
367
|
export { withBdProcessLock as a, runBdWithRetry as i, init_bd_process_lock as n, readBdProcessLockHolder as r, BdTransientFailure as t };
|
|
368
368
|
|
|
369
|
-
//# sourceMappingURL=bd-process-lock-
|
|
369
|
+
//# sourceMappingURL=bd-process-lock-CJkoG7hW.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as getVBriefACStatusSync, c as syncBeadStatusToVBrief, i as getVBriefACStatus, n as clearBeadsForIssue, o as resolveBdTimeout, r as createBeadsFromVBrief, s as retryBd, t as BeadsOperationError } from "./beads-
|
|
1
|
+
import { a as getVBriefACStatusSync, c as syncBeadStatusToVBrief, i as getVBriefACStatus, n as clearBeadsForIssue, o as resolveBdTimeout, r as createBeadsFromVBrief, s as retryBd, t as BeadsOperationError } from "./beads-DlZm-vrG.js";
|
|
2
2
|
export { BeadsOperationError, clearBeadsForIssue, createBeadsFromVBrief, getVBriefACStatus, getVBriefACStatusSync, resolveBdTimeout, retryBd, syncBeadStatusToVBrief };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { _ as updateItemStatus, b as init_types, d as readPlanSync, m as readWorkspacePlanSync, o as init_io, v as updateSubItemStatus, x as subItemsOf } from "./io-
|
|
2
|
-
import { a as withBdProcessLock, i as runBdWithRetry, n as init_bd_process_lock, t as BdTransientFailure } from "./bd-process-lock-
|
|
3
|
-
import { n as withBdMutexPromise } from "./bd-mutex-
|
|
4
|
-
import { n as init_acceptance_criteria, t as extractACFromDocument } from "./acceptance-criteria-
|
|
1
|
+
import { _ as updateItemStatus, b as init_types, d as readPlanSync, m as readWorkspacePlanSync, o as init_io, v as updateSubItemStatus, x as subItemsOf } from "./io-Wy8YpFeP.js";
|
|
2
|
+
import { a as withBdProcessLock, i as runBdWithRetry, n as init_bd_process_lock, t as BdTransientFailure } from "./bd-process-lock-CJkoG7hW.js";
|
|
3
|
+
import { n as withBdMutexPromise } from "./bd-mutex-BItGvLQ8.js";
|
|
4
|
+
import { n as init_acceptance_criteria, t as extractACFromDocument } from "./acceptance-criteria-l0DSvFFS.js";
|
|
5
5
|
import { Data, Effect } from "effect";
|
|
6
6
|
import { chmodSync, existsSync, mkdirSync, writeFileSync } from "fs";
|
|
7
7
|
import { basename, join, resolve } from "path";
|
|
@@ -746,4 +746,4 @@ const getVBriefACStatus = (workspacePath) => Effect.try({
|
|
|
746
746
|
//#endregion
|
|
747
747
|
export { getVBriefACStatusSync as a, syncBeadStatusToVBrief as c, getVBriefACStatus as i, clearBeadsForIssue as n, resolveBdTimeout as o, createBeadsFromVBrief as r, retryBd as s, BeadsOperationError as t };
|
|
748
748
|
|
|
749
|
-
//# sourceMappingURL=beads-
|
|
749
|
+
//# sourceMappingURL=beads-DlZm-vrG.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import { i as runBdWithRetry, n as init_bd_process_lock, r as readBdProcessLockHolder, t as BdTransientFailure } from "./bd-process-lock-
|
|
2
|
+
import { i as runBdWithRetry, n as init_bd_process_lock, r as readBdProcessLockHolder, t as BdTransientFailure } from "./bd-process-lock-CJkoG7hW.js";
|
|
3
3
|
import { Data, Effect } from "effect";
|
|
4
4
|
import { existsSync } from "fs";
|
|
5
5
|
import { basename, dirname, join } from "path";
|
|
@@ -167,4 +167,4 @@ var init_beads_query = __esmMin((() => {
|
|
|
167
167
|
//#endregion
|
|
168
168
|
export { queryBeadsForIssue as a, queryBeadById as i, assertIssueHasBeads as n, queryReadyBeadsByIssueLabels as o, init_beads_query as r, resolveBeadsQueryRoot as s, BeadsMissingError as t };
|
|
169
169
|
|
|
170
|
-
//# sourceMappingURL=beads-query-
|
|
170
|
+
//# sourceMappingURL=beads-query-BrVNWoSL.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import { t as init_src } from "./src-
|
|
3
|
-
import { o as getPricingSync, s as init_cost } from "./cost-
|
|
2
|
+
import { t as init_src } from "./src-fgbU-jJ-.js";
|
|
3
|
+
import { o as getPricingSync, s as init_cost } from "./cost-C2CuA66z.js";
|
|
4
4
|
import { existsSync, readFileSync } from "node:fs";
|
|
5
5
|
//#region ../../lib/cost-parsers/codex-parser.ts
|
|
6
6
|
/**
|
|
@@ -250,4 +250,4 @@ var init_behavior = __esmMin((() => {
|
|
|
250
250
|
//#endregion
|
|
251
251
|
export { parseCodexSessionSync as i, init_codex_parser as n, parseCodexSessionCostEventsSync as r, init_behavior as t };
|
|
252
252
|
|
|
253
|
-
//# sourceMappingURL=behavior-
|
|
253
|
+
//# sourceMappingURL=behavior-By-2Wipv.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import { Br as getOverdeckHome, Vr as init_paths } from "./config-yaml-
|
|
3
|
-
import { _ as integer, a as EventBus, b as and, c as Records, d as getOverdeckDatabaseSync, f as init_infra, h as text, l as Tmux, m as sqliteTable, p as init_sqlite_core, r as Db, v as init_drizzle_orm, x as eq } from "./infra-
|
|
4
|
-
import { n as init_issues, t as IssueId } from "./issues-
|
|
2
|
+
import { Br as getOverdeckHome, Vr as init_paths } from "./config-yaml-DPAieL_G.js";
|
|
3
|
+
import { _ as integer, a as EventBus, b as and, c as Records, d as getOverdeckDatabaseSync, f as init_infra, h as text, l as Tmux, m as sqliteTable, p as init_sqlite_core, r as Db, v as init_drizzle_orm, x as eq } from "./infra-CpKlYZA9.js";
|
|
4
|
+
import { n as init_issues, t as IssueId } from "./issues-ChNcfHta.js";
|
|
5
5
|
import { Context, Effect, Layer, Schema } from "effect";
|
|
6
6
|
import { dirname, join } from "path";
|
|
7
7
|
import { readFileSync, readdirSync, rmSync, statSync } from "node:fs";
|
|
@@ -1086,4 +1086,4 @@ var init_briefing_freshness = __esmMin((() => {
|
|
|
1086
1086
|
//#endregion
|
|
1087
1087
|
export { resolveSessionContextBriefingPath as a, backfillAgentsSync as c, init_agents as d, listAgentIdsByPrefixSync as f, isTerminalIssueStage as g, getIssueStageSync as h, recordBriefingSessionStart as i, countAgentsByStatus as l, removeAgentSync as m, ensureSessionContextBriefingFile as n, AgentsResolver as o, listAllAgentsSync as p, init_briefing_freshness as r, AgentsResolverLive as s, appendFreshBriefingUpdate as t, countAgentsByStatusRole as u };
|
|
1088
1088
|
|
|
1089
|
-
//# sourceMappingURL=briefing-freshness-
|
|
1089
|
+
//# sourceMappingURL=briefing-freshness-CXhZdnB8.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { _ as pruneStaleCheckpointRefs, g as pruneCheckpointRefsForAgents, h as listCheckpoints, i as deleteLegacyCheckpointRefs, m as init_checkpoint_manager, p as getCheckpointTimestamp, s as diffCheckpointFiles } from "./checkpoint-manager-
|
|
1
|
+
import { _ as pruneStaleCheckpointRefs, g as pruneCheckpointRefsForAgents, h as listCheckpoints, i as deleteLegacyCheckpointRefs, m as init_checkpoint_manager, p as getCheckpointTimestamp, s as diffCheckpointFiles } from "./checkpoint-manager-CfNpHOp4.js";
|
|
2
2
|
init_checkpoint_manager();
|
|
3
3
|
export { deleteLegacyCheckpointRefs, diffCheckpointFiles, getCheckpointTimestamp, listCheckpoints, pruneCheckpointRefsForAgents, pruneStaleCheckpointRefs };
|