@overdeck/desktop 0.45.13 → 0.45.16
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-CfujPRrz.js → acceptance-criteria-BZ_nQS1f.js} +2 -2
- package/server/{advancing-selfheal-Bn5QiLtn.js → advancing-selfheal-DJYAvGv-.js} +6 -5
- package/server/{agent-gc-Cl9Nm0Zu.js → agent-gc-D0wDIeV1.js} +3 -3
- package/server/{agent-state-C6Rm6FPR.js → agent-state-lGvgPP4m.js} +1 -1
- package/server/{agent-state-service-U8feBf8t.js → agent-state-service-CZrayD_G.js} +1 -1
- package/server/{agent-state-service-JhFzYCP_.js → agent-state-service-DFslS5go.js} +9 -52
- package/server/{agents-DqQa4Dq_.js → agents-B9GwfCyp.js} +155 -153
- package/server/{agents-CxbuBjID.js → agents-CEcaxSkR.js} +1 -1
- package/server/{archive-planning-CPitEZo4.js → archive-planning-CbghE9-o.js} +5 -5
- package/server/{archive-planning-DmpT1_14.js → archive-planning-CoyIbgGK.js} +1 -1
- package/server/{artifact-index-jobs-sMnNtPhy.js → artifact-index-jobs-CcSrUoSE.js} +2 -2
- package/server/auto-commit-IW-eik_b.js +3 -0
- package/server/{backlog-auto-trigger-Cf9C8fwD.js → backlog-auto-trigger-BfgDsII0.js} +3 -3
- package/server/{bd-process-lock-D1aJxeYv.js → bd-process-lock-XAXAet9O.js} +32 -11
- package/server/{beads-CivpXztb.js → beads-B1u04n3o.js} +1 -1
- package/server/{beads-DRoj6-e1.js → beads-BeSMEjGT.js} +96 -196
- package/server/{beads-query-tOsAYP5h.js → beads-query-Dl4FhT8J.js} +24 -99
- package/server/beads-restore-BUItPOjI.js +23 -0
- package/server/behavior-BTpYbAv4.js +10 -0
- package/server/{briefing-freshness-BL3Q6p7R.js → briefing-freshness-DESTCWo-.js} +4 -4
- package/server/{checkpoint-manager-DCxjQvP_.js → checkpoint-manager-BwFdegJF.js} +2 -2
- package/server/{checkpoint-manager-j5URlFY7.js → checkpoint-manager-DWSXooZV.js} +1 -1
- package/server/checkpoint-worker.js +1 -1
- package/server/{checkpoints-BoX1H2Hf.js → checkpoints-BtUonbs3.js} +2 -2
- package/server/{checkpoints-Bu_M_Q9W.js → checkpoints-fjadfOKF.js} +1 -1
- package/server/{claude-hooks-provision-D-jGXmu1.js → claude-hooks-provision-DAtxutOs.js} +132 -114
- package/server/claude-hooks-provision-DiK62u0k.js +3 -0
- package/server/{claude-permissions-DxIjkOVl.js → claude-permissions-CThLgf8d.js} +2 -2
- package/server/{claude-settings-overlay-BPDS6GfE.js → claude-settings-overlay-BF9MPIwx.js} +2 -2
- package/server/{claude-settings-overlay-5b9X2S0C.js → claude-settings-overlay-Dx_Uqcmv.js} +1 -1
- package/server/{cli-s7bPWy-E.js → cli-ByKIIMfT.js} +9 -9
- package/server/cli-D9cUTbBr.js +3 -0
- package/server/{cliproxy-BituqWtR.js → cliproxy-B4c1BUvs.js} +2 -2
- package/server/{cliproxy-D3sHB0sI.js → cliproxy-C_GuT5DU.js} +1 -1
- package/server/{close-issue-CrBE7voz.js → close-issue-BOuLKr6e.js} +5 -5
- package/server/{closed-issue-reaper-BRQBc7Xa.js → closed-issue-reaper-CksfuiFD.js} +1 -1
- package/server/{closed-issue-reaper-DX9mYUji.js → closed-issue-reaper-DCAYzNXW.js} +102 -30
- package/server/{codex-Bi1ITSOo.js → codex-BYPz6ZdF.js} +1 -1
- package/server/{codex-CO0HrK3j.js → codex-BbqIRZjd.js} +6 -5
- package/server/{behavior-D3d2mVyD.js → codex-parser-mFYZh8vR.js} +3 -9
- package/server/{compact-beads-DUkCUFxA.js → compact-beads-CyJtoXJi.js} +15 -8
- package/server/{compact-beads-CrA8-k10.js → compact-beads-N00E4EVa.js} +1 -1
- package/server/{config-DsCxzjXK.js → config-DVLdmnMJ.js} +2 -2
- package/server/{config-B4_d7z7z.js → config-Dj6N8EP9.js} +1 -1
- package/server/{config-yaml-C_djSurJ.js → config-yaml-cNOZcEww.js} +118 -23
- package/server/{conflict-gate-D47Kl78u.js → conflict-gate-BMKm_5DV.js} +3 -3
- package/server/{conflict-gate-CpOn9KC-.js → conflict-gate-CuXUv-bP.js} +1 -1
- package/server/{context-layers-CHl3Nroz.js → context-layers-CeAwSYNt.js} +2 -2
- package/server/{context-layers-BNhUBTkf.js → context-layers-c0JqYHcS.js} +3 -3
- package/server/{control-settings-KyYNXZLv.js → control-settings-D4EFsRBd.js} +4 -4
- package/server/{conversation-compaction-D3aS5PnS.js → conversation-compaction-BCggyih4.js} +8 -8
- package/server/{conversation-compaction-D4Wed1BJ.js → conversation-compaction-kHVfVRg3.js} +1 -1
- package/server/{conversation-service-CFZIjs-M.js → conversation-service-B8LFQQm1.js} +6 -5
- package/server/{conversation-service-DcDB5usR.js → conversation-service-BTzObqGi.js} +1 -1
- package/server/{conversations-BSOU5qnu.js → conversations-B-lcHv-5.js} +4 -4
- package/server/{conversations-BbDPrz89.js → conversations-BM7zlXjr.js} +1 -1
- package/server/{cost-BE_ulOrw.js → cost-BcpRQ-7o.js} +3 -3
- package/server/{cost-CaiG63FG.js → cost-D9kPIY_5.js} +2 -2
- package/server/{cost-sync-D6AX8jv-.js → cost-sync-DF6odxK9.js} +3 -3
- package/server/{dag-BQFtXOuJ.js → dag-DKI3sOmX.js} +3 -3
- package/server/{dangerous-git-ops-04Ba-Qu3.js → dangerous-git-ops-Bn18PEcN.js} +1 -1
- package/server/dashboard-db-worker.js +6 -6
- package/server/{deacon-Bz-6Wjmn.js → deacon-DONuopff.js} +3 -3
- package/server/{deacon-2EvA9Ci3.js → deacon-DdARMjZq.js} +188 -1601
- package/server/{deacon-swarm-DYYOzHRH.js → deacon-swarm-BNGkmYR_.js} +12 -105
- package/server/deacon-swarm-CvdFekIO.js +2 -0
- package/server/deacon.js +7 -7
- package/server/{devcontainer-renderer-Dx0C7VWJ.js → devcontainer-renderer-C-34Sxyz.js} +3 -3
- package/server/{dist-ya66D9ze.js → dist-BMXvKiZP.js} +1 -1
- package/server/dist-BNwrgsUO.js +3 -0
- package/server/{dist-src-Byxt1ifL.js → dist-src-BgGUblXg.js} +1 -1
- package/server/{docker-D2TbXDO6.js → docker-apZ9pBYw.js} +67 -28
- package/server/{ensure-devcontainer-BTiMfFp5.js → ensure-devcontainer-Bqi1EF1P.js} +4 -4
- package/server/{ensure-devcontainer-BIShzs3M.js → ensure-devcontainer-Dq3KoOIl.js} +1 -1
- package/server/{esm-shims-DiV9jHa_.js → esm-shims-BEjvINX3.js} +1 -1
- package/server/{event-store-C02Gprug.js → event-store-CqDgfbAs.js} +1 -1
- package/server/{event-store-C71x6h0i.js → event-store-D89fMfXS.js} +3 -3
- package/server/{events-BFDuPV6n.js → events-S_C0pvl6.js} +3 -3
- package/server/{events-D2gP2-Yv.js → events-rIGncmP1.js} +1 -1
- package/server/export-BJHSVwKP.js +87 -0
- package/server/{factory-ByfbrCab.js → factory-DV18m0rc.js} +5 -5
- package/server/{feature-registry-population-CSH66UO8.js → feature-registry-population-CqZSnqQi.js} +4 -4
- package/server/{feature-registry-storage-DW7dUefc.js → feature-registry-storage-BeXmNBwK.js} +2 -2
- package/server/{features-x_aLR7U9.js → features-u5XeMaOK.js} +2 -2
- package/server/{feedback-target-BFo9fScH.js → feedback-target-CwyWf0Dg.js} +6 -6
- package/server/{feedback-target-C4VMPTZu.js → feedback-target-DDG1PWl3.js} +1 -1
- package/server/{feedback-writer-DCyd75yJ.js → feedback-writer-BsJiw5aT.js} +1 -1
- package/server/{feedback-writer-B9ZqnnX3.js → feedback-writer-D20HSXre.js} +4 -4
- package/server/{flywheel-DwQCoZQG.js → flywheel-9Y1X7IM-.js} +13 -13
- package/server/{flywheel-D9NKvWqb.js → flywheel-Dczmgchd.js} +23 -15
- package/server/{flywheel-DB48X7Nn.js → flywheel-RCnHAgc4.js} +1 -1
- package/server/{flywheel-merge-order-DrjmFXg4.js → flywheel-merge-order-CtCYsFJP.js} +7 -7
- package/server/{flywheel-merge-order-f1bi5XIf.js → flywheel-merge-order-DEtEd3aK.js} +1 -1
- package/server/forge-8y6aEPTB.js +2 -0
- package/server/{forge-C-SoKy8U.js → forge-DFDThFil.js} +2 -2
- package/server/{from-fu7ZumnY.js → from-NSJypkI8.js} +1 -1
- package/server/{fts-db-CL-YzSRG.js → fts-db-C5A_TTOM.js} +2 -2
- package/server/{fts-operations-Bylu5NjM.js → fts-operations-DvCSimfU.js} +2 -2
- package/server/{git-utils-Ym380hJZ.js → git-utils-C0neHvQx.js} +1 -1
- package/server/{git-utils-C8koBs8j.js → git-utils-Dr0L7mFk.js} +2 -2
- package/server/{github-app-DIr70YLg.js → github-app-Bwt9lK4A.js} +1 -1
- package/server/{github-app-DhycHVLF.js → github-app-u9-SX7Gc.js} +2 -2
- package/server/{github-client-7gkcXcBS.js → github-client-Btyy3uan.js} +3 -3
- package/server/{github-client-Ji9lUTNF.js → github-client-Do3k-N1W.js} +1 -1
- package/server/{github-pr-lookup-rt7T9FwA.js → github-pr-lookup-DOF1U2WW.js} +2 -2
- package/server/{harness-resolve-CvGXUnAF.js → harness-resolve-C6g2R0Cd.js} +3 -3
- package/server/{health-events-D4E1DLN-.js → health-events-B4u-2a9m.js} +2 -2
- package/server/{health-events-DDfkoO5a.js → health-events-Bos3sk5g.js} +1 -1
- package/server/{hooks-D_6pAbuJ.js → hooks-BCoOjL_R.js} +2 -2
- package/server/{hooks-DvdnCVv6.js → hooks-uEr8WTx_.js} +1 -1
- package/server/{hume-DkVOs1Qi.js → hume-BqxYKbUf.js} +2 -2
- package/server/hume-CerGi2RH.js +3 -0
- package/server/{idle-stack-reaper-cDRXDpgE.js → idle-stack-reaper-DbZ8ukMd.js} +2 -2
- package/server/{idle-stack-reaper-DNbV9-fj.js → idle-stack-reaper-H0W6XtHh.js} +1 -1
- package/server/{infra-Clew3DpF.js → infra-Ba9mS6e6.js} +3 -3
- package/server/{injection-QCIHOpk6.js → injection-C1DKXeIZ.js} +1 -1
- package/server/{injection-ql0Nddcn.js → injection-yrMBxzVq.js} +7 -7
- package/server/{inspect-agent-DY18KEx4.js → inspect-agent-B-mnb4uh.js} +9 -9
- package/server/inspect-agent-CWkeAB7J.js +2 -0
- package/server/{internal-token-C90jBp-y.js → internal-token-BPYEaXFh.js} +1 -1
- package/server/{internal-token-BeXjPLKy.js → internal-token-BtqSbKTx.js} +2 -2
- package/server/{io-CbAFXQge.js → io-VEGSAqsd.js} +15 -22
- package/server/{issue-closed-BYC2TCk-.js → issue-closed-BxcePXL-.js} +4 -4
- package/server/{issue-lifecycle-BoJa6qIt.js → issue-lifecycle--8MRxrG1.js} +22 -22
- package/server/{issue-lifecycle-CLHbj8RS.js → issue-lifecycle-CdMUauyb.js} +1 -1
- package/server/{issue-service-singleton-BS9NENuR.js → issue-service-singleton-CkTUI-eu.js} +10 -10
- package/server/{issue-service-singleton-3g_CCY-1.js → issue-service-singleton-MZsDhAob.js} +1 -1
- package/server/{issues-BPcqPqfV.js → issues-CBAsuoAO.js} +2 -2
- package/server/jsonl-parser-BUW5_sSK.js +245 -0
- package/server/{label-cleanup-CwiCSZrb.js → label-cleanup-htK6fBRU.js} +3 -3
- package/server/{layers-OHHLphl0.js → layers-jjL16At6.js} +2 -2
- package/server/{lifecycle-B8IdvUbt.js → lifecycle-Ck2UR27D.js} +7 -7
- package/server/{lifecycle-io-BMCH1Bxg.js → lifecycle-io-DXv8Utct.js} +1 -1
- package/server/{lifecycle-io-C73m5e6R.js → lifecycle-io-IehcRt2v.js} +36 -47
- package/server/{linear-client-BMxgycoy.js → linear-client-By7hjwuN.js} +1 -1
- package/server/{linear-client-CgQlM4aT.js → linear-client-D9cSQfvD.js} +3 -3
- package/server/memory-fts-worker.js +1 -1
- package/server/{merge-BRkVaIx-.js → merge-BLcEZNXz.js} +1 -1
- package/server/{merge-B7Oi-g6k.js → merge-BN8FGJ2q.js} +3 -3
- package/server/{merge-agent-DNFFsiEm.js → merge-agent-B3u2szOL.js} +29 -29
- package/server/{merge-agent-Bwm34MZ5.js → merge-agent-ejC7Wos8.js} +1 -1
- package/server/{merge-batch-BpYXUaqJ.js → merge-batch-DyqlgYGp.js} +1 -1
- package/server/{merge-blockers-DIOZmqdK.js → merge-blockers-cq-aS2KG.js} +2 -2
- package/server/merge-ops-CFkQtXEj.js +2 -0
- package/server/{merge-rebase-C8WH39MB.js → merge-rebase-Dl7yIxtV.js} +2 -2
- package/server/{merge-set-CsEE2CyQ.js → merge-set-CZ9Nbay0.js} +3 -3
- package/server/{merge-set-DOsBTBQc.js → merge-set-Dy0D0r3i.js} +1 -1
- package/server/{merge-sync-CcLM2vwW.js → merge-sync-CG9kDCdT.js} +1 -1
- package/server/{merge-sync-C2B322Ot.js → merge-sync-D7jWLgCC.js} +2 -2
- package/server/{merge-train-BIm7-7cy.js → merge-train-CH33XJOH.js} +3 -3
- package/server/{merge-train-deps-DG1oQ2DT.js → merge-train-deps-JoVdGnOg.js} +4 -4
- package/server/{merge-verification-BAbjxEd5.js → merge-verification-D4wTChdX.js} +4 -4
- package/server/{multipart-parser-jKtKAXtl.js → multipart-parser-Csn8U-K9.js} +2 -2
- package/server/{no-resume-mode-yrPEQ_pC.js → no-resume-mode-Gh5R_YLF.js} +1 -1
- package/server/node_modules/.package-lock.json +1 -1
- package/server/{orphan-proposed-reconciler-BqVGaOIj.js → orphan-proposed-reconciler-BIcNu4tl.js} +1 -1
- package/server/{orphan-proposed-reconciler-zHrwJ3xr.js → orphan-proposed-reconciler-DI_IS1p_.js} +15 -39
- package/server/package-lock.json +2 -2
- package/server/package.json +1 -1
- package/server/{pan-dir-BlNrLzW7.js → pan-dir-CQIfKG8c.js} +4 -4
- package/server/{paths-CiVeo4N_.js → paths-Blj6A9AJ.js} +2 -2
- package/server/{pickup-KLRUhThD.js → pickup-BtvRBbvI.js} +1 -1
- package/server/{pipeline-notifier-nkWCe042.js → pipeline-notifier-BH4PAi-w.js} +1 -1
- package/server/{pipeline-notifier-DBF6dHxH.js → pipeline-notifier-D_WYtEwl.js} +2 -2
- package/server/project-pipelines-jMTitpeO.js +162 -0
- package/server/projects-CrBE6IhN.js +3 -0
- package/server/{prompts-CXbQvevY.js → prompts-B3njaImU.js} +2 -2
- package/server/{providers-CUdAb5Qu.js → providers-BbEyFhPX.js} +7 -7
- package/server/providers-DnPxkHoG.js +3 -0
- package/server/public/assets/chunk-BO2N2NFS-3qh9TUJi.js +103 -0
- package/server/public/assets/{diagram-OG6HWLK6-NACO1xW5.js → diagram-OG6HWLK6-D8UVTPj7.js} +1 -1
- package/server/public/assets/{dist-DQD-ZjQY.js → dist-BvLLn1YC.js} +3 -3
- package/server/public/assets/{dist-D1FjqGgm.js → dist-CyubL7Wj.js} +1 -1
- package/server/public/assets/{ganttDiagram-6RSMTGT7-CEMAKgmE.js → ganttDiagram-6RSMTGT7-BI4E1LbQ.js} +1 -1
- package/server/public/assets/{highlighted-body-OFNGDK62-D5lC7FW8.js → highlighted-body-OFNGDK62-D_bapWkF.js} +1 -1
- package/server/public/assets/index-BAZxZ-8I.js +796 -0
- package/server/public/assets/index-FBG3JBfq.css +1 -0
- package/server/public/assets/{linear-DDHAMRPB.js → linear-CEdobObr.js} +1 -1
- package/server/public/assets/mermaid-GHXKKRXX-BYP8MI37.js +1 -0
- package/server/public/assets/{pieDiagram-4H26LBE5-DwBdeKBb.js → pieDiagram-4H26LBE5-DT79L01f.js} +1 -1
- package/server/public/assets/{prod-DAZt0c4G.js → prod-CR_K2DFV.js} +4 -4
- package/server/public/assets/{quadrantDiagram-W4KKPZXB-CNDLp-_m.js → quadrantDiagram-W4KKPZXB-BEkKXXrL.js} +1 -1
- package/server/public/assets/{sankeyDiagram-5OEKKPKP-oIUL_uO1.js → sankeyDiagram-5OEKKPKP-BxSCqn-j.js} +1 -1
- package/server/public/assets/{xychartDiagram-2RQKCTM6-B-IM6Cck.js → xychartDiagram-2RQKCTM6-DicwJGG_.js} +1 -1
- package/server/public/index.html +2 -2
- package/server/{pull-requests-DZ-V7_LB.js → pull-requests-43LPDfM8.js} +1 -1
- package/server/{pull-requests-kTRl7cWC.js → pull-requests-DyUkQl4W.js} +3 -3
- package/server/{rally-xCTZ-UcI.js → rally-BtWjybOa.js} +3 -3
- package/server/{rally-api-jOk4vit_.js → rally-api-B-YA_oXx.js} +1 -1
- package/server/{rally-api-DpZo3WwF.js → rally-api-B-osULNL.js} +2 -2
- package/server/{rally-client-BQjm3aaq.js → rally-client-CzFymP7P.js} +1 -1
- package/server/{rally-client-CoWZeVEj.js → rally-client-sErNQBO0.js} +5 -5
- package/server/rally-oggyp4cs.js +3 -0
- package/server/{reap-terminal-sessions-CAmURC2h.js → reap-terminal-sessions-2s-fvilz.js} +1 -1
- package/server/{reap-terminal-sessions-BwJb2DLJ.js → reap-terminal-sessions-DnDQ7pf9.js} +1 -1
- package/server/{rebuild-stack-BZ7j27xY.js → rebuild-stack-CoU-HqZj.js} +6 -6
- package/server/{rebuild-stack-r-cxcr26.js → rebuild-stack-nGD_nPZo.js} +1 -1
- package/server/{reconstruct-cache-13EkMg_i.js → reconstruct-cache-Wj8GrYB0.js} +6 -6
- package/server/record-lEYK__LD.js +3 -0
- package/server/recovery-trip-BT7nb9OV.js +98 -0
- package/server/{release-engine-YLTnEO_K.js → release-engine-CBLQXDlH.js} +5 -5
- package/server/{release-set-DwvT_Opu.js → release-set-BNiqi7hy.js} +3 -3
- package/server/{remote-B062S1Kc.js → remote-DW_TWQnr.js} +3 -3
- package/server/{remote-9u9WL0NJ.js → remote-DcO9An_f.js} +3 -3
- package/server/{remote-agents-BBTg-vLT.js → remote-agents-C4cyxHQS.js} +6 -6
- package/server/{remote-agents-B4eWgwNd.js → remote-agents-Cv-U-_V8.js} +1 -1
- package/server/{remote-completion-B0rmBnbL.js → remote-completion-PhXGGFQy.js} +13 -13
- package/server/resolver-C7dLn8OK.js +158 -0
- package/server/resume-BYZBIab-.js +3 -0
- package/server/{review-agent-tfR5RDzG.js → review-agent-Dn-yn7Zj.js} +23 -23
- package/server/{review-agent-Bf9XjLnl.js → review-agent-u5q3ip7H.js} +1 -1
- package/server/{review-artifacts-D0_IE6DQ.js → review-artifacts-D4T04aYI.js} +6 -6
- package/server/{review-context-CXO5ml5D.js → review-context-Rc0VDLG_.js} +8 -8
- package/server/{review-monitor-DfFUSx0J.js → review-monitor-BC--miCO.js} +2 -2
- package/server/{review-status-B0Axo-Ma.js → review-status-CG0iDuWa.js} +1 -1
- package/server/{review-status-BcfwcAcO.js → review-status-Dc1l4dVz.js} +18 -18
- package/server/{review-status-enrichment-Cp5kFTGl.js → review-status-enrichment-C1a1OG_1.js} +3 -3
- package/server/{review-status-sync-CEFty1pW.js → review-status-sync-CAr-hfnJ.js} +2 -2
- package/server/{review-status-sync-Bc0c_u12.js → review-status-sync-CfSixhhX.js} +1 -1
- package/server/{review-verdict-feedback-BOKRLLDf.js → review-verdict-feedback-CVDbIDBe.js} +7 -7
- package/server/{review-verdict-feedback-BnGtT0vN.js → review-verdict-feedback-D2Q960wX.js} +1 -1
- package/server/{rollup-BVqFuiS9.js → rollup-CakjztPl.js} +1 -1
- package/server/{rollup-C22QDVxh.js → rollup-DctoIu-A.js} +8 -8
- package/server/{scanner-BLCnuXqY.js → scanner-BTM1jc_u.js} +7 -7
- package/server/{sequence-io-BozlUb6f.js → sequence-io-pnoIDGv4.js} +4 -4
- package/server/{sequencer-agent-BEDEHfd2.js → sequencer-agent-9Soi-WL-.js} +10 -6
- package/server/server.js +1239 -1836
- package/server/{service-C8jKYZ0w.js → service-DfTVoqJg.js} +1668 -1408
- package/server/{session-fork-BDGksK4e.js → session-fork-C4jAFHj8.js} +2 -2
- package/server/session-history-DanhhiCw.js +168 -0
- package/server/{settings-CSLhh6qR.js → settings-Cuc12oP_.js} +2 -2
- package/server/settings-Cy7SCFO9.js +2 -0
- package/server/{settings-DrRQCren.js → settings-DfT3f86D.js} +3 -3
- package/server/{shadow-engineering-BMcBN-Of.js → shadow-engineering-bKuKTCn-.js} +3 -3
- package/server/{shadow-state-CHqWHD3T.js → shadow-state-CVHpRWlb.js} +1 -1
- package/server/{shadow-state-B4ayC7nx.js → shadow-state-DJz6_pb_.js} +2 -2
- package/server/{ship-log-CDVmOlZP.js → ship-log-CwqPFfqx.js} +1 -1
- package/server/{smart-compaction-V9DBrGcr.js → smart-compaction-B4KlpZGN.js} +1 -1
- package/server/{smart-compaction-C-F5sP9P.js → smart-compaction-CiWfGfRZ.js} +7 -7
- package/server/{spawn-planning-session-dSpOU0lP.js → spawn-planning-session-CU-DwyDl.js} +15 -15
- package/server/{spawn-planning-session-Bz4_JES2.js → spawn-planning-session-D5N3RuLG.js} +1 -1
- package/server/{specialist-completion-Coz3eTSr.js → specialist-completion-CJcv-NXH.js} +1 -1
- package/server/{specialist-context-fmb03vXQ.js → specialist-context-B2HlbNxS.js} +5 -5
- package/server/{specialist-handoff-logger-B9HK_lRu.js → specialist-handoff-logger-CQyF1ygu.js} +2 -2
- package/server/{specialist-logs-B24R2B9Y.js → specialist-logs-CdcUpfjj.js} +3 -3
- package/server/{specialists-CL7E8yUg.js → specialists-CFgw_0Q6.js} +1657 -113
- package/server/{specialists-BGNZ0_ZW.js → specialists-CwzFdapR.js} +20 -256
- package/server/{specialists-B6f5-5nG.js → specialists-D7AcFi1u.js} +1 -1
- package/server/{specialists-Chvvwf5z.js → specialists-k22_Btaq.js} +1 -1
- package/server/specs-RzcDgozr.js +3 -0
- package/server/{src-DGAEtABV.js → src-B4TTzNSr.js} +84 -2
- package/server/{src-BVxZuHMg.js → src-BvpMg4EB.js} +3 -3
- package/server/{src-D-VXCC9C.js → src-D4YUZrwR.js} +6 -6
- package/server/{stack-health-C-le5erA.js → stack-health-CSgcYcr8.js} +2 -2
- package/server/{stack-health-BKbTTOT2.js → stack-health-DVN7zRnL.js} +1 -1
- package/server/{state-home-CoyWsECg.js → state-home-CEvD_v5F.js} +6 -6
- package/server/{state-mapping-BvAgFK8n.js → state-mapping-C13UaCL7.js} +1 -1
- package/server/stuck-remediation-CxsyxwFO.js +1513 -0
- package/server/stuck-remediation-nTIvhGOR.js +2 -0
- package/server/{summary-fork-BF_0vxrq.js → summary-fork-CnRMPCYd.js} +2 -2
- package/server/{summary-fork-BlE30Q-I.js → summary-fork-gKSoFAnK.js} +8 -8
- package/server/{supervisor-BSeML_p0.js → supervisor-CZMs8s0M.js} +2 -2
- package/server/supervisor-CfX192ma.js +2 -0
- package/server/{swarm-readiness-CQ4sjrXc.js → swarm-readiness-h6-pwY8w.js} +3 -3
- package/server/{system-prerequisites-DnmLYOnU.js → system-prerequisites-DZZTi2G6.js} +1 -1
- package/server/{teardown-workspace-CpcjDrZ4.js → teardown-workspace-B4D-oCVg.js} +37 -68
- package/server/{test-agent-queue-Bq298zZl.js → test-agent-queue-CnuYku4B.js} +6 -6
- package/server/{test-verdict-CCDd25uN.js → test-verdict-CRsPpByy.js} +1 -1
- package/server/{test-verdict-Bm4uv_AA.js → test-verdict-CXMLATGc.js} +1 -1
- package/server/{tldr-daemon-Rn1Zue0P.js → tldr-daemon-CgZQ3jmZ.js} +1 -1
- package/server/{tldr-daemon-CaSUXd9r.js → tldr-daemon-CuA8hz21.js} +2 -2
- package/server/{tmux-CbcrkUx5.js → tmux-By8E_Yv_.js} +1 -1
- package/server/{tmux-BVc-NeKM.js → tmux-C3g9VFcg.js} +2 -2
- package/server/{token-D2OC_9ms.js → token-g_sJ19g3.js} +2 -2
- package/server/token-util-C9u4An3K.js +3 -0
- package/server/{token-util-CROoF5ic.js → token-util-DiwnnbJo.js} +1 -1
- package/server/{tracker-config-EsBoOWEy.js → tracker-config-BzfVj41Z.js} +1 -1
- package/server/{tracker-config-C1Y_2CIo.js → tracker-config-dQxC15vH.js} +2 -2
- package/server/{tracker-utils-lph9C3Pw.js → tracker-utils--z8FLSWn.js} +2 -2
- package/server/{tracker-utils-DSb9cfrF.js → tracker-utils-DkKyRT0H.js} +1 -1
- package/server/{traefik-connect-5EP1WS_Z.js → traefik-connect-CZYB3dlm.js} +1 -1
- package/server/{tunnel-BFBCeo97.js → tunnel-BpWZs0Jy.js} +3 -3
- package/server/{tunnel-DDe-ATFF.js → tunnel-CN2px87h.js} +1 -1
- package/server/{typed-errors-DSPn_xWP.js → typed-errors-CrN1AByg.js} +1 -1
- package/server/{typed-errors-BEJhbjJg.js → typed-errors-sLpGfegz.js} +1 -1
- package/server/{types-CE1m_daD.js → types-BLS_Zbmd.js} +1 -1
- package/server/{types-B5u3NxMl.js → types-tlXf80x3.js} +1 -1
- package/server/{uat-train-DtKHHy1U.js → uat-train-BRo6DM7p.js} +24 -24
- package/server/{uat-train-8T24rPzc.js → uat-train-utGVmqdm.js} +1 -1
- package/server/{validation-lyudzPvD.js → validation-CsPVsoA0.js} +4 -4
- package/server/{validation-COOXwNXU.js → validation-Dq_wwcw3.js} +1 -1
- package/server/{verification-runner-DO0nYTJx.js → verification-runner-CMT5WRMS.js} +12 -12
- package/server/{verification-runner-Dd1FX8Qk.js → verification-runner-D0Uh-9jc.js} +1 -1
- package/server/{vtt-parser-C57tEF7-.js → vtt-parser-C_XPlifj.js} +1 -1
- package/server/{work-agent-prompt-B2F3ZwKm.js → work-agent-prompt-ZTAb2Hyf.js} +12 -12
- package/server/workflows-BLwxUMP7.js +2 -0
- package/server/{workflows-Clz_AFwR.js → workflows-CXRwhw_o.js} +14 -14
- package/server/{workspace-D0rCFemz.js → workspace-9UEsKuiP.js} +1 -1
- package/server/{workspace-CY_2-Ddv.js → workspace-CNfuj1-5.js} +3 -3
- package/server/{workspace-config-DA8U97k9.js → workspace-config-ChWOECy0.js} +1 -1
- package/server/{workspace-manager-BIfpzqdU.js → workspace-manager-BO-6k3sP.js} +1 -1
- package/server/{workspace-manager-D6NgGkiF.js → workspace-manager-D8AByFIT.js} +13 -13
- package/server/{workspace-metadata-C8yn8kAH.js → workspace-metadata-CvC268MN.js} +2 -2
- package/server/{workspace-metadata-DfgR40YU.js → workspace-metadata-DZiJtnuF.js} +1 -1
- package/server/{workspaces-DOeHyKmA.js → workspaces-D-uIoqbg.js} +104 -122
- package/server/writer-BUweuRPx.js +3 -0
- package/server/writer-CrP2xuBn.js +251 -0
- package/sync-sources/hooks/ask-user-question-hook +7 -1
- package/sync-sources/hooks/record-cost-event.js +4 -3
- package/sync-sources/hooks/record-cost-event.js.map +1 -1
- package/server/agent-runtime-mirror-DrWxopNA.js +0 -37
- package/server/auto-commit-wZ9X7Isd.js +0 -3
- package/server/bd-mutex-BItGvLQ8.js +0 -35
- package/server/beads-restore-CMbDSB5R.js +0 -60
- package/server/cli-CqgiSAU8.js +0 -3
- package/server/deacon-swarm-B8pgK2a7.js +0 -2
- package/server/dist-BYSj075e.js +0 -3
- package/server/forge-CUCYK7h_.js +0 -2
- package/server/hume-x9voULey.js +0 -3
- package/server/inspect-agent-D8UBDgfR.js +0 -2
- package/server/merge-ops-B7m-hBEZ.js +0 -2
- package/server/projects-BqRMlDOv.js +0 -3
- package/server/providers-gZ0cUgQM.js +0 -3
- package/server/public/assets/chunk-BO2N2NFS-C-6y8VFI.js +0 -103
- package/server/public/assets/index-BDqWyuZQ.js +0 -796
- package/server/public/assets/index-CZiADHcL.css +0 -1
- package/server/public/assets/mermaid-GHXKKRXX-DRM2ANcR.js +0 -1
- package/server/rally-CRteqXe0.js +0 -3
- package/server/record-CJsjvRO4.js +0 -3
- package/server/resume-R7xkSmLW.js +0 -3
- package/server/settings-CSaXtkoA.js +0 -2
- package/server/specs-oaaYaA5c.js +0 -3
- package/server/supervisor-03Tj_Wra.js +0 -2
- package/server/token-util-xNaV-00f.js +0 -3
- package/server/workflows-B4fIN8VP.js +0 -2
|
@@ -1,40 +1,41 @@
|
|
|
1
1
|
import { n as __esmMin, o as __toESM } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import {
|
|
2
|
+
import { Br as encodeClaudeProjectDir, C as init_tier_table, En as getIssuePrefix, F as getBuiltInDefaultHarness, Fn as init_projects, H as setupCredentialFileAuthSync, It as resolveProjectForIssue, Jr as init_paths, L as getProviderEnvSync, Nt as readIssueRecordForWorkspaceSync, On as getProjectSwarmHotspots, P as clearCredentialFileAuthSync, Pt as readIssueRecordSync, Qr as sessionFilePath, R as getProviderForModelSync, Rt as writeAgentHarnessModelSync, Sn as findProjectByPathSync, Sr as AGENTS_DIR, T as resolveTieredExecutionEnabledForIssue, U as ensureOpenAICompatibleProxyRunning, W as init_openai_compatible_proxy, X as init_roles, Xr as packageRoot, Z as resolveModel, Zr as resolveOhmypiExtensionPath, ar as resolveBareNumericIdSync, at as resolveModelIdSync, b as DEFAULT_TIERED_EXECUTION_CONFIG, ct as init_percent, dr as FsError, et as getModelCapabilitySync, f as loadConfigSync, gn as shouldCommitLegacyWorkspaceArtifacts, jr as OVERDECK_HOME, kn as getProjectSync, kt as init_record, l as isClaudeCodeChannelsMcpEnabled, lr as ClaudeCredentialParseError, mn as init_state_read_home, nr as init_issue_id, nt as hasModelCapabilitySync, ot as fmix32, qn as resolveProjectFromIssueSync, qr as getOverdeckHome, rt as init_model_capabilities, sr as require_dist, st as fnv1a32, t as init_config_yaml, u as isTldrEnabledSync, ur as ConfigError, w as resolveTieredExecutionEnabled, x as TIERED_EXECUTION_DIFFICULTIES, xr as init_errors, z as init_providers } from "./config-yaml-cNOZcEww.js";
|
|
3
3
|
import { t as require_toml } from "./toml-CeLDATih.js";
|
|
4
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-
|
|
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 { 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-
|
|
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 {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
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 { r as isRoleTerminal, t as init_reap_terminal_sessions } from "./reap-terminal-sessions-
|
|
35
|
-
import {
|
|
36
|
-
import {
|
|
37
|
-
import {
|
|
5
|
+
import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-Ba9mS6e6.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-C3g9VFcg.js";
|
|
7
|
+
import { a as init_event_store, i as initEventStore } from "./event-store-D89fMfXS.js";
|
|
8
|
+
import { a as getHarnessBehavior, i as OHMYPI_BEHAVIOR } from "./src-B4TTzNSr.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-Dc1l4dVz.js";
|
|
10
|
+
import { d as init_agents$1, l as countAgentsByStatus, n as ensureSessionContextBriefingFile, r as init_briefing_freshness } from "./briefing-freshness-DESTCWo-.js";
|
|
11
|
+
import { o as getPricingSync, s as init_cost } from "./cost-D9kPIY_5.js";
|
|
12
|
+
import { _ as init_tier_metrics, g as estimateFeedDeliveryTokens, v as recordTierFeedDelivery } from "./cost-sync-DF6odxK9.js";
|
|
13
|
+
import { a as persistCurrentSessionId, d as isAgentStateServiceInProcess, i as logLauncherSessionPinned, l as getRuntimeSnapshot, n as createFreshSessionIdentity, o as init_persistent_logger, r as init_session_history, s as logAgentLifecycleSync, u as init_agent_runtime_mirror } from "./session-history-DanhhiCw.js";
|
|
14
|
+
import { t as init_behavior } from "./behavior-BTpYbAv4.js";
|
|
15
|
+
import { i as ensureInternalTokenSync, s as init_internal_token, t as INTERNAL_TOKEN_HEADER } from "./internal-token-BtqSbKTx.js";
|
|
16
|
+
import { m as readWorkspacePlanSync, o as init_io } from "./io-VEGSAqsd.js";
|
|
17
|
+
import { c as bridgeGeminiAuthToCliproxy, p as getCliproxyClientEnv, s as bridgeCodexAuthToCliproxySync, v as init_cliproxy } from "./cliproxy-B4c1BUvs.js";
|
|
18
|
+
import { f as init_config$1, m as loadConfigSync$1 } from "./config-DVLdmnMJ.js";
|
|
19
|
+
import { L as normalizeHarness, R as reactivateConversationForSpawn, S as getConversationByName, k as init_conversations, y as createConversation } from "./conversations-B-lcHv-5.js";
|
|
20
|
+
import { n as recordFeatureRegistryLifecycle, t as init_feature_registry_population } from "./feature-registry-population-CqZSnqQi.js";
|
|
21
|
+
import { a as readCavemanVariant, n as init_workspace } from "./workspace-CNfuj1-5.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-CEvD_v5F.js";
|
|
23
|
+
import { a as init_claude_permissions, r as getClaudePermissionFlagsStringSync } from "./claude-permissions-CThLgf8d.js";
|
|
24
|
+
import { h as workspaceContextFile, o as init_layers } from "./layers-jjL16At6.js";
|
|
25
|
+
import { a as extractThreadIdFromRollout, c as initCodexHome, l as init_codex, o as findLatestRollout } from "./codex-BbqIRZjd.js";
|
|
26
|
+
import { a as getFlywheelActiveRunIdSync, s as init_control_settings } from "./control-settings-D4EFsRBd.js";
|
|
27
|
+
import { n as createTrackerFromConfig, r as init_factory, t as createTracker } from "./factory-DV18m0rc.js";
|
|
28
|
+
import { a as init_stack_health, i as getWorkspaceStackHealth } from "./stack-health-CSgcYcr8.js";
|
|
29
|
+
import { a as createActiveSlice, c as groupItemsByWave, s as getDispatchableItems, u as init_dag } from "./dag-DKI3sOmX.js";
|
|
30
|
+
import { n as init_bd_process_lock, t as BdTransientFailure } from "./bd-process-lock-XAXAet9O.js";
|
|
31
|
+
import { n as assertIssueHasBeads, r as init_beads_query, t as BeadsMissingError } from "./beads-query-Dl4FhT8J.js";
|
|
32
|
+
import { c as generateFixedPointPromptSync, f as initHookSync, n as checkHookSync, p as init_hooks } from "./hooks-BCoOjL_R.js";
|
|
33
|
+
import { n as resolveHarness, t as init_harness_resolve } from "./harness-resolve-C6g2R0Cd.js";
|
|
34
|
+
import { r as isRoleTerminal, t as init_reap_terminal_sessions } from "./reap-terminal-sessions-2s-fvilz.js";
|
|
35
|
+
import { n as provisionClaudeHooks, t as init_claude_hooks_provision } from "./claude-hooks-provision-DAtxutOs.js";
|
|
36
|
+
import { a as init_lifecycle_io, t as appendContinueSessionEntryForIssue } from "./lifecycle-io-IehcRt2v.js";
|
|
37
|
+
import { r as init_swarm_readiness, t as analyzeSwarmReadiness } from "./swarm-readiness-h6-pwY8w.js";
|
|
38
|
+
import { delimiter, dirname, join, relative } from "node:path";
|
|
38
39
|
import { Data, Duration, Effect, FileSystem } from "effect";
|
|
39
40
|
import { appendFileSync, existsSync, mkdirSync, readFileSync, statSync, statfsSync, unlinkSync, writeFileSync } from "fs";
|
|
40
41
|
import { basename as basename$1, dirname as dirname$1, join as join$1, resolve as resolve$1 } from "path";
|
|
@@ -48,7 +49,7 @@ import { mkdir as mkdir$1, readFile as readFile$1, readdir as readdir$1, rename
|
|
|
48
49
|
import { platform as platform$2 } from "process";
|
|
49
50
|
import { exec, execFile } from "node:child_process";
|
|
50
51
|
import { promisify } from "node:util";
|
|
51
|
-
import { exec as exec$1, execSync
|
|
52
|
+
import { exec as exec$1, execSync } from "child_process";
|
|
52
53
|
import { promisify as promisify$1 } from "util";
|
|
53
54
|
import { createHash as createHash$1, randomBytes, randomUUID as randomUUID$1 } from "node:crypto";
|
|
54
55
|
import { fileURLToPath } from "node:url";
|
|
@@ -889,54 +890,6 @@ var init_agent_record_sync = __esmMin((() => {
|
|
|
889
890
|
init_record();
|
|
890
891
|
}));
|
|
891
892
|
//#endregion
|
|
892
|
-
//#region ../../lib/persistent-logger.ts
|
|
893
|
-
/**
|
|
894
|
-
* Append-only persistent logger for forensic audit trails.
|
|
895
|
-
*
|
|
896
|
-
* Complements the SQLite event store (activity-logger.ts) with flat-file logs
|
|
897
|
-
* that survive event-store resets and are greppable from the shell.
|
|
898
|
-
*
|
|
899
|
-
* Files:
|
|
900
|
-
* ~/.overdeck/logs/deacon.log — deacon startup recovery actions
|
|
901
|
-
* ~/.overdeck/agents/<id>/lifecycle.log — per-agent state transitions
|
|
902
|
-
*/
|
|
903
|
-
function logsDir() {
|
|
904
|
-
return join$1(getOverdeckHome(), "logs");
|
|
905
|
-
}
|
|
906
|
-
function agentDir(agentId) {
|
|
907
|
-
return join$1(getOverdeckHome(), "agents", agentId);
|
|
908
|
-
}
|
|
909
|
-
function ensureLogsDir() {
|
|
910
|
-
try {
|
|
911
|
-
mkdirSync(logsDir(), { recursive: true });
|
|
912
|
-
} catch {}
|
|
913
|
-
}
|
|
914
|
-
function ensureAgentDir(agentId) {
|
|
915
|
-
try {
|
|
916
|
-
mkdirSync(agentDir(agentId), { recursive: true });
|
|
917
|
-
} catch {}
|
|
918
|
-
}
|
|
919
|
-
function timestamp() {
|
|
920
|
-
return (/* @__PURE__ */ new Date()).toISOString();
|
|
921
|
-
}
|
|
922
|
-
/** Append a line to ~/.overdeck/logs/deacon.log */
|
|
923
|
-
function logDeaconEventSync(message) {
|
|
924
|
-
ensureLogsDir();
|
|
925
|
-
try {
|
|
926
|
-
appendFileSync(join$1(logsDir(), "deacon.log"), `[${timestamp()}] ${message}\n`);
|
|
927
|
-
} catch {}
|
|
928
|
-
}
|
|
929
|
-
/** Append a line to ~/.overdeck/agents/<agentId>/lifecycle.log */
|
|
930
|
-
function logAgentLifecycleSync(agentId, message) {
|
|
931
|
-
ensureAgentDir(agentId);
|
|
932
|
-
try {
|
|
933
|
-
appendFileSync(join$1(agentDir(agentId), "lifecycle.log"), `[${timestamp()}] ${message}\n`);
|
|
934
|
-
} catch {}
|
|
935
|
-
}
|
|
936
|
-
var init_persistent_logger = __esmMin((() => {
|
|
937
|
-
init_paths();
|
|
938
|
-
}));
|
|
939
|
-
//#endregion
|
|
940
893
|
//#region ../../lib/agents/agent-state.ts
|
|
941
894
|
function getAgentDir(agentId) {
|
|
942
895
|
return join$1(getOverdeckHome(), "agents", agentId);
|
|
@@ -2324,7 +2277,7 @@ async function createOhmypiFifoPromise(agentId, home) {
|
|
|
2324
2277
|
mode: 448
|
|
2325
2278
|
});
|
|
2326
2279
|
if (existsSync$1(paths.fifoPath)) unlinkSync$1(paths.fifoPath);
|
|
2327
|
-
await execAsync$
|
|
2280
|
+
await execAsync$7(`mkfifo -m 600 ${shellQuote$2(paths.fifoPath)}`);
|
|
2328
2281
|
return paths.fifoPath;
|
|
2329
2282
|
}
|
|
2330
2283
|
/**
|
|
@@ -2362,14 +2315,14 @@ function writeOhmypiCommandSync(agentId, command, home) {
|
|
|
2362
2315
|
closeSync$1(fd);
|
|
2363
2316
|
}
|
|
2364
2317
|
}
|
|
2365
|
-
function shellQuote$
|
|
2318
|
+
function shellQuote$2(s) {
|
|
2366
2319
|
if (/^[A-Za-z0-9._/-]+$/.test(s)) return s;
|
|
2367
2320
|
return `'${s.replace(/'/g, `'\\''`)}'`;
|
|
2368
2321
|
}
|
|
2369
|
-
var execAsync$
|
|
2322
|
+
var execAsync$7, OhmypiNotReady, OhmypiFifoError, createOhmypiFifo;
|
|
2370
2323
|
var init_ohmypi_fifo = __esmMin((() => {
|
|
2371
2324
|
init_paths();
|
|
2372
|
-
execAsync$
|
|
2325
|
+
execAsync$7 = promisify(exec);
|
|
2373
2326
|
OhmypiNotReady = class extends Error {
|
|
2374
2327
|
code = "OHMYPI_NOT_READY";
|
|
2375
2328
|
constructor(message) {
|
|
@@ -2429,12 +2382,12 @@ async function claudeSystemPromptFiles(workspace, harness) {
|
|
|
2429
2382
|
files.push(await ensureSessionContextBriefingFile());
|
|
2430
2383
|
const behavior = getHarnessBehavior(harness);
|
|
2431
2384
|
if (behavior.contextLayerKind === "pi") {
|
|
2432
|
-
const { piGlobalContextFile } = await import("./context-layers-
|
|
2385
|
+
const { piGlobalContextFile } = await import("./context-layers-CeAwSYNt.js");
|
|
2433
2386
|
const globalFile = piGlobalContextFile();
|
|
2434
2387
|
if (existsSync(globalFile)) files.unshift(globalFile);
|
|
2435
2388
|
}
|
|
2436
2389
|
if (behavior.contextLayerKind === "codex") {
|
|
2437
|
-
const { codexGlobalContextFile } = await import("./context-layers-
|
|
2390
|
+
const { codexGlobalContextFile } = await import("./context-layers-CeAwSYNt.js");
|
|
2438
2391
|
const globalFile = codexGlobalContextFile();
|
|
2439
2392
|
if (existsSync(globalFile)) files.unshift(globalFile);
|
|
2440
2393
|
}
|
|
@@ -2461,14 +2414,14 @@ async function hasAgentRuntimeInSubtree(rootPid, harness = "claude-code") {
|
|
|
2461
2414
|
if (seen.has(pid) || !/^\d+$/.test(pid)) continue;
|
|
2462
2415
|
seen.add(pid);
|
|
2463
2416
|
try {
|
|
2464
|
-
const { stdout: comm } = await execAsync$
|
|
2417
|
+
const { stdout: comm } = await execAsync$5(`ps -p ${pid} -o comm=`);
|
|
2465
2418
|
const name = comm.trim();
|
|
2466
2419
|
if (expectedProcessNames.has(name)) return true;
|
|
2467
2420
|
} catch {
|
|
2468
2421
|
continue;
|
|
2469
2422
|
}
|
|
2470
2423
|
try {
|
|
2471
|
-
const { stdout: kids } = await execAsync$
|
|
2424
|
+
const { stdout: kids } = await execAsync$5(`pgrep -P ${pid}`);
|
|
2472
2425
|
for (const kid of kids.trim().split("\n").filter(Boolean)) queue.push(kid);
|
|
2473
2426
|
} catch {}
|
|
2474
2427
|
}
|
|
@@ -2587,7 +2540,7 @@ async function injectPiPromptTimeMemory(agentId, prompt) {
|
|
|
2587
2540
|
agentRole: agentState.role ?? "work",
|
|
2588
2541
|
agentHarness: agentState.harness ?? "claude-code"
|
|
2589
2542
|
};
|
|
2590
|
-
const { injectPromptTimeMemory } = await import("./injection-
|
|
2543
|
+
const { injectPromptTimeMemory } = await import("./injection-C1DKXeIZ.js");
|
|
2591
2544
|
const result = await injectPromptTimeMemory({
|
|
2592
2545
|
prompt,
|
|
2593
2546
|
identity,
|
|
@@ -2621,7 +2574,7 @@ async function injectPiConversationMemory(opts, prompt) {
|
|
|
2621
2574
|
agentRole: "work",
|
|
2622
2575
|
agentHarness: "ohmypi"
|
|
2623
2576
|
};
|
|
2624
|
-
const { injectPromptTimeMemory } = await import("./injection-
|
|
2577
|
+
const { injectPromptTimeMemory } = await import("./injection-C1DKXeIZ.js");
|
|
2625
2578
|
const result = await injectPromptTimeMemory({
|
|
2626
2579
|
prompt,
|
|
2627
2580
|
identity,
|
|
@@ -2797,7 +2750,7 @@ async function getRoleRuntimeBaseCommand(model, agentName, role, harness = "clau
|
|
|
2797
2750
|
if (provider.name === "openai" && await getProviderAuthMode(validatedModel) === "subscription") return `claude${printFlag}${roleInject}${permissionFlags} --model ${shellQuoteModelIdSync(CLI_PROXY_MODEL_ALIASES[validatedModel] ?? validatedModel)}${effortFlag}${nameFlag}`;
|
|
2798
2751
|
return `claude${printFlag}${roleInject}${permissionFlags} --model ${quotedModel}${effortFlag}${nameFlag}`;
|
|
2799
2752
|
}
|
|
2800
|
-
var import_dist, execAsync$
|
|
2753
|
+
var import_dist, execAsync$5, missingRoleDefinitionWarnings, OHMYPI_AGENT_READY_TIMEOUT_SECONDS;
|
|
2801
2754
|
var init_runtime_command = __esmMin((() => {
|
|
2802
2755
|
import_dist = /* @__PURE__ */ __toESM(require_dist(), 1);
|
|
2803
2756
|
init_claude_permissions();
|
|
@@ -2817,7 +2770,7 @@ var init_runtime_command = __esmMin((() => {
|
|
|
2817
2770
|
init_agent_state();
|
|
2818
2771
|
init_identity();
|
|
2819
2772
|
init_provider_env();
|
|
2820
|
-
execAsync$
|
|
2773
|
+
execAsync$5 = promisify$1(exec$1);
|
|
2821
2774
|
missingRoleDefinitionWarnings = /* @__PURE__ */ new Set();
|
|
2822
2775
|
OHMYPI_AGENT_READY_TIMEOUT_SECONDS = 120;
|
|
2823
2776
|
}));
|
|
@@ -3125,7 +3078,7 @@ async function transitionIssueToInReview(issueId, workspacePath) {
|
|
|
3125
3078
|
async function buildAgentLaunchConfig(opts) {
|
|
3126
3079
|
const model = requireModelOverrideSync(opts.model);
|
|
3127
3080
|
try {
|
|
3128
|
-
const { injectOverdeckInfraDeny } = await import("./claude-settings-overlay-
|
|
3081
|
+
const { injectOverdeckInfraDeny } = await import("./claude-settings-overlay-Dx_Uqcmv.js");
|
|
3129
3082
|
await Effect.runPromise(injectOverdeckInfraDeny(opts.workspace));
|
|
3130
3083
|
} catch (err) {
|
|
3131
3084
|
console.warn(`[agents] injectOverdeckInfraDeny failed for ${opts.agentId} (non-fatal): ${err instanceof Error ? err.message : err}`);
|
|
@@ -3206,7 +3159,7 @@ async function retrieveSpawnTimeMemoryContext(input) {
|
|
|
3206
3159
|
agentRole: input.role,
|
|
3207
3160
|
agentHarness: input.harness
|
|
3208
3161
|
};
|
|
3209
|
-
const { injectPromptTimeMemory } = await import("./injection-
|
|
3162
|
+
const { injectPromptTimeMemory } = await import("./injection-C1DKXeIZ.js");
|
|
3210
3163
|
return (await injectPromptTimeMemory({
|
|
3211
3164
|
prompt: input.prompt,
|
|
3212
3165
|
identity,
|
|
@@ -3297,7 +3250,7 @@ async function assertWorkspaceStackHealthyForSpawn(issueId, role, allowHost = fa
|
|
|
3297
3250
|
record.attempts += 1;
|
|
3298
3251
|
spawnStackRebuildState.set(normalizedIssue, record);
|
|
3299
3252
|
console.log(`[agents] Workspace stack for ${normalizedIssue} unhealthy (${details}) — rebuilding before spawn (attempt ${record.attempts}/${SPAWN_STACK_REBUILD_MAX_ATTEMPTS})`);
|
|
3300
|
-
const { rebuildWorkspaceStack } = await import("./rebuild-stack-
|
|
3253
|
+
const { rebuildWorkspaceStack } = await import("./rebuild-stack-nGD_nPZo.js");
|
|
3301
3254
|
const result = await Effect.runPromise(rebuildWorkspaceStack(issueId, { onProgress: (m) => console.log(`[agents] ${normalizedIssue} stack rebuild: ${m}`) })).catch((err) => ({
|
|
3302
3255
|
success: false,
|
|
3303
3256
|
error: err instanceof Error ? err.message : String(err)
|
|
@@ -4210,7 +4163,7 @@ var init_config = __esmMin((() => {
|
|
|
4210
4163
|
close_out: {
|
|
4211
4164
|
remove_workspace: false,
|
|
4212
4165
|
delete_feature_branch: false,
|
|
4213
|
-
auto:
|
|
4166
|
+
auto: true,
|
|
4214
4167
|
auto_delay_minutes: 60
|
|
4215
4168
|
},
|
|
4216
4169
|
orphanProposedReconciler: {
|
|
@@ -4701,7 +4654,7 @@ function killLauncherProcessSync(agentId) {
|
|
|
4701
4654
|
const launcherPath = join$1(AGENTS_DIR, agentId, "launcher.sh");
|
|
4702
4655
|
let pidsOut;
|
|
4703
4656
|
try {
|
|
4704
|
-
pidsOut = execSync
|
|
4657
|
+
pidsOut = execSync(`pgrep -f ${JSON.stringify(launcherPath)}`, {
|
|
4705
4658
|
encoding: "utf-8",
|
|
4706
4659
|
stdio: [
|
|
4707
4660
|
"ignore",
|
|
@@ -4718,7 +4671,7 @@ function killLauncherProcessSync(agentId) {
|
|
|
4718
4671
|
process.kill(pid, "SIGTERM");
|
|
4719
4672
|
} catch {}
|
|
4720
4673
|
try {
|
|
4721
|
-
execSync
|
|
4674
|
+
execSync("sleep 0.5", { stdio: "ignore" });
|
|
4722
4675
|
} catch {}
|
|
4723
4676
|
const survivors = [];
|
|
4724
4677
|
for (const pid of pids) try {
|
|
@@ -4733,7 +4686,7 @@ async function killLauncherProcessAsync(agentId) {
|
|
|
4733
4686
|
const launcherPath = join$1(AGENTS_DIR, agentId, "launcher.sh");
|
|
4734
4687
|
let pidsOut;
|
|
4735
4688
|
try {
|
|
4736
|
-
const { stdout } = await execAsync$
|
|
4689
|
+
const { stdout } = await execAsync$4(`pgrep -f ${JSON.stringify(launcherPath)}`);
|
|
4737
4690
|
pidsOut = stdout.trim();
|
|
4738
4691
|
} catch {
|
|
4739
4692
|
return;
|
|
@@ -4777,14 +4730,14 @@ function stopAgentSync(agentId) {
|
|
|
4777
4730
|
lastActivity: (/* @__PURE__ */ new Date()).toISOString()
|
|
4778
4731
|
});
|
|
4779
4732
|
}
|
|
4780
|
-
var execAsync$
|
|
4733
|
+
var execAsync$4, stopAgent;
|
|
4781
4734
|
var init_termination = __esmMin((() => {
|
|
4782
4735
|
init_agents();
|
|
4783
4736
|
init_agent_runtime();
|
|
4784
4737
|
init_paths();
|
|
4785
4738
|
init_tmux();
|
|
4786
4739
|
init_errors();
|
|
4787
|
-
execAsync$
|
|
4740
|
+
execAsync$4 = promisify$1(exec$1);
|
|
4788
4741
|
stopAgent = (agentId) => {
|
|
4789
4742
|
const normalizedId = normalizeAgentId(agentId);
|
|
4790
4743
|
return Effect.gen(function* () {
|
|
@@ -4835,6 +4788,67 @@ var init_termination = __esmMin((() => {
|
|
|
4835
4788
|
};
|
|
4836
4789
|
}));
|
|
4837
4790
|
//#endregion
|
|
4791
|
+
//#region ../../lib/beads/bd-shim.ts
|
|
4792
|
+
function shellQuote$1(value) {
|
|
4793
|
+
return `'${value.replace(/'/g, `'"'"'`)}'`;
|
|
4794
|
+
}
|
|
4795
|
+
function installBdAgentShim(agentDir, realBdPath) {
|
|
4796
|
+
const binDir = join(agentDir, "bin");
|
|
4797
|
+
mkdirSync$1(binDir, { recursive: true });
|
|
4798
|
+
const path = join(binDir, "bd");
|
|
4799
|
+
writeFileSync$1(path, `#!/usr/bin/env bash
|
|
4800
|
+
set -euo pipefail
|
|
4801
|
+
verb="\${1:-}"
|
|
4802
|
+
subverb="\${2:-}"
|
|
4803
|
+
case "$verb:$subverb" in
|
|
4804
|
+
create:*|update:*|close:*|delete:*|import:*|init:*|migrate:*|batch:*|dep:add|dep:remove|dolt:push|dolt:commit|dolt:reset|config:set|config:unset|comments:add|comments:delete|admin:compact)
|
|
4805
|
+
echo "Raw mutating bd commands are blocked in agent sessions. Use pan beads claim|update|close|create|dep|delete so the canonical writer pulls, validates, exports, and pushes durably." >&2
|
|
4806
|
+
exit 64
|
|
4807
|
+
;;
|
|
4808
|
+
esac
|
|
4809
|
+
exec ${shellQuote$1(realBdPath)} "$@"
|
|
4810
|
+
`, { mode: 493 });
|
|
4811
|
+
chmodSync$1(path, 493);
|
|
4812
|
+
return {
|
|
4813
|
+
binDir,
|
|
4814
|
+
pathPrefix: `${binDir}${delimiter}${process.env.PATH ?? ""}`
|
|
4815
|
+
};
|
|
4816
|
+
}
|
|
4817
|
+
async function resolveBdAgentShimPath(agentDir) {
|
|
4818
|
+
try {
|
|
4819
|
+
const { stdout } = await execAsync$3("command -v bd", { encoding: "utf8" });
|
|
4820
|
+
const realBd = stdout.trim();
|
|
4821
|
+
return realBd ? installBdAgentShim(agentDir, realBd).pathPrefix : void 0;
|
|
4822
|
+
} catch {
|
|
4823
|
+
return;
|
|
4824
|
+
}
|
|
4825
|
+
}
|
|
4826
|
+
var execAsync$3;
|
|
4827
|
+
var init_bd_shim = __esmMin((() => {
|
|
4828
|
+
execAsync$3 = promisify(exec);
|
|
4829
|
+
}));
|
|
4830
|
+
//#endregion
|
|
4831
|
+
//#region ../../lib/agents/hook-readiness.ts
|
|
4832
|
+
/**
|
|
4833
|
+
* Ensure Claude's global lifecycle hooks are registered before the process can
|
|
4834
|
+
* emit SessionStart. This must be awaited: provisioning after launch races the
|
|
4835
|
+
* one event that writes ready.json and acknowledges kickoff delivery.
|
|
4836
|
+
*/
|
|
4837
|
+
async function ensureLifecycleHooksBeforeLaunch(agentId, harness) {
|
|
4838
|
+
if (harness !== "claude-code") return;
|
|
4839
|
+
const result = await provisionClaudeHooks();
|
|
4840
|
+
if (!result.ok) {
|
|
4841
|
+
const reason = result.reason ?? "unknown provisioning failure";
|
|
4842
|
+
logAgentLifecycleSync(agentId, `hook provisioning: failed harness=${harness} reason=${reason}`);
|
|
4843
|
+
throw new Error(`Claude Code lifecycle hooks are unavailable: ${reason}. Run \`pan up\` to install host prerequisites, then \`pan sync\` and retry.`);
|
|
4844
|
+
}
|
|
4845
|
+
logAgentLifecycleSync(agentId, `hook provisioning: ready harness=${harness} changed=${result.changed} binariesSynced=${result.binariesSynced} registered=${result.registered.length} pruned=${result.pruned.length}`);
|
|
4846
|
+
}
|
|
4847
|
+
var init_hook_readiness = __esmMin((() => {
|
|
4848
|
+
init_claude_hooks_provision();
|
|
4849
|
+
init_persistent_logger();
|
|
4850
|
+
}));
|
|
4851
|
+
//#endregion
|
|
4838
4852
|
//#region ../../lib/agents/spawn.ts
|
|
4839
4853
|
async function spawnRun(issueId, role, options = {}) {
|
|
4840
4854
|
const workspace = options.workspace ?? defaultRunWorkspace(issueId);
|
|
@@ -4883,18 +4897,18 @@ async function spawnRun(issueId, role, options = {}) {
|
|
|
4883
4897
|
let reapWarmIdle = false;
|
|
4884
4898
|
const advancing = role === "review" || role === "test" || role === "ship";
|
|
4885
4899
|
try {
|
|
4886
|
-
const { isPaneDead } = await import("./tmux-
|
|
4900
|
+
const { isPaneDead } = await import("./tmux-By8E_Yv_.js");
|
|
4887
4901
|
if (await Effect.runPromise(isPaneDead(agentId))) reapWarmIdle = true;
|
|
4888
4902
|
else if (advancing) {
|
|
4889
|
-
const { getReviewStatusSync } = await import("./review-status-
|
|
4890
|
-
const { isRoleTerminal } = await import("./reap-terminal-sessions-
|
|
4903
|
+
const { getReviewStatusSync } = await import("./review-status-CG0iDuWa.js");
|
|
4904
|
+
const { isRoleTerminal } = await import("./reap-terminal-sessions-DnDQ7pf9.js");
|
|
4891
4905
|
const status = getReviewStatusSync(issueId);
|
|
4892
4906
|
reapWarmIdle = !!status && isRoleTerminal(role, status);
|
|
4893
4907
|
}
|
|
4894
4908
|
} catch {}
|
|
4895
4909
|
if (!reapWarmIdle) throw new Error(`Role run ${agentId} already running. Use 'pan tell' to message it.`);
|
|
4896
4910
|
console.log(`[spawn] ${agentId} is warm-idle from the previous cycle — reaping it for the new ${role} dispatch (PAN-2579)`);
|
|
4897
|
-
const { killSession } = await import("./tmux-
|
|
4911
|
+
const { killSession } = await import("./tmux-By8E_Yv_.js");
|
|
4898
4912
|
await Effect.runPromise(killSession(agentId)).catch(() => {});
|
|
4899
4913
|
}
|
|
4900
4914
|
await assertWorkspaceStackHealthyForSpawn(issueId, role, options.allowHost, workspace);
|
|
@@ -4904,8 +4918,9 @@ async function spawnRun(issueId, role, options = {}) {
|
|
|
4904
4918
|
role,
|
|
4905
4919
|
model: selectedModel
|
|
4906
4920
|
});
|
|
4921
|
+
await ensureLifecycleHooksBeforeLaunch(agentId, resolvedHarness);
|
|
4907
4922
|
if (getProviderForModelSync(selectedModel).name === "openai" && await getProviderAuthMode(selectedModel) === "subscription") {
|
|
4908
|
-
const { isCliproxyRunning } = await import("./cliproxy-
|
|
4923
|
+
const { isCliproxyRunning } = await import("./cliproxy-C_GuT5DU.js");
|
|
4909
4924
|
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.");
|
|
4910
4925
|
}
|
|
4911
4926
|
const state = {
|
|
@@ -4946,7 +4961,6 @@ async function spawnRun(issueId, role, options = {}) {
|
|
|
4946
4961
|
await Effect.runPromise(saveAgentState(state));
|
|
4947
4962
|
}
|
|
4948
4963
|
}
|
|
4949
|
-
checkAndSetupHooks();
|
|
4950
4964
|
const provider = getProviderForModelSync(selectedModel);
|
|
4951
4965
|
if (provider.authType === "credential-file") setupCredentialFileAuthSync(provider, workspace);
|
|
4952
4966
|
else clearCredentialFileAuthSync(workspace);
|
|
@@ -5014,7 +5028,7 @@ async function spawnRun(issueId, role, options = {}) {
|
|
|
5014
5028
|
const claudeCmd = `bash ${launcherScript}`;
|
|
5015
5029
|
console.log(`[claude-invoke] purpose=role-run | role=${role} | model=${state.model} | source=agents.ts:spawnRun | session=${agentId} | command="${claudeCmd}"`);
|
|
5016
5030
|
try {
|
|
5017
|
-
const { preTrustDirectory } = await import("./workspace-manager-
|
|
5031
|
+
const { preTrustDirectory } = await import("./workspace-manager-BO-6k3sP.js");
|
|
5018
5032
|
preTrustDirectory(workspace);
|
|
5019
5033
|
} catch {}
|
|
5020
5034
|
clearReadySignal(agentId);
|
|
@@ -5102,7 +5116,7 @@ async function spawnAgent(options) {
|
|
|
5102
5116
|
});
|
|
5103
5117
|
console.log(`[DEBUG] Selected model: ${selectedModel}`);
|
|
5104
5118
|
if (getProviderForModelSync(selectedModel).name === "openai" && await getProviderAuthMode(selectedModel) === "subscription") {
|
|
5105
|
-
const { isCliproxyRunning } = await import("./cliproxy-
|
|
5119
|
+
const { isCliproxyRunning } = await import("./cliproxy-C_GuT5DU.js");
|
|
5106
5120
|
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.");
|
|
5107
5121
|
}
|
|
5108
5122
|
const resolvedHarness = await resolveHarness({
|
|
@@ -5110,6 +5124,7 @@ async function spawnAgent(options) {
|
|
|
5110
5124
|
role,
|
|
5111
5125
|
model: selectedModel
|
|
5112
5126
|
});
|
|
5127
|
+
await ensureLifecycleHooksBeforeLaunch(agentId, resolvedHarness);
|
|
5113
5128
|
const state = {
|
|
5114
5129
|
id: agentId,
|
|
5115
5130
|
issueId: options.issueId,
|
|
@@ -5121,14 +5136,15 @@ async function spawnAgent(options) {
|
|
|
5121
5136
|
status: "starting",
|
|
5122
5137
|
startedAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
5123
5138
|
costSoFar: 0,
|
|
5124
|
-
hostOverride: options.allowHost || void 0
|
|
5139
|
+
hostOverride: options.allowHost || void 0,
|
|
5140
|
+
sessionId: createFreshSessionIdentity(agentId, resolvedHarness)
|
|
5125
5141
|
};
|
|
5126
5142
|
const supervisorLaunch = await prepareSupervisorForFreshLaunch(agentId, options, state);
|
|
5127
5143
|
saveAgentStateSync(state);
|
|
5128
5144
|
if (role === "work") {
|
|
5129
5145
|
try {
|
|
5130
5146
|
if (resetPipelineVerdictsForWorkStartSync(options.issueId)) {
|
|
5131
|
-
const { resetPostMergeState } = await import("./merge-agent-
|
|
5147
|
+
const { resetPostMergeState } = await import("./merge-agent-ejC7Wos8.js");
|
|
5132
5148
|
resetPostMergeState(options.issueId);
|
|
5133
5149
|
}
|
|
5134
5150
|
} catch (err) {
|
|
@@ -5139,7 +5155,7 @@ async function spawnAgent(options) {
|
|
|
5139
5155
|
});
|
|
5140
5156
|
}
|
|
5141
5157
|
if (role === "work") try {
|
|
5142
|
-
const { writeStoryFeatureContext } = await import("./work-agent-prompt-
|
|
5158
|
+
const { writeStoryFeatureContext } = await import("./work-agent-prompt-ZTAb2Hyf.js");
|
|
5143
5159
|
await writeStoryFeatureContext(options.workspace, options.issueId);
|
|
5144
5160
|
} catch (ctxErr) {
|
|
5145
5161
|
console.warn(`[agents] Could not write story feature context for ${options.issueId}: ${ctxErr.message}`);
|
|
@@ -5185,11 +5201,10 @@ async function spawnAgent(options) {
|
|
|
5185
5201
|
saveAgentStateSync(state);
|
|
5186
5202
|
}
|
|
5187
5203
|
}
|
|
5188
|
-
checkAndSetupHooks();
|
|
5189
5204
|
try {
|
|
5190
5205
|
const venvPath = join$1(options.workspace, ".venv");
|
|
5191
5206
|
if (isTldrEnabledSync() && existsSync(venvPath)) {
|
|
5192
|
-
const { getTldrDaemonServiceSync } = await import("./tldr-daemon-
|
|
5207
|
+
const { getTldrDaemonServiceSync } = await import("./tldr-daemon-CgZQ3jmZ.js");
|
|
5193
5208
|
const tldrService = getTldrDaemonServiceSync(options.workspace, venvPath);
|
|
5194
5209
|
if (!(await tldrService.getStatus()).running) {
|
|
5195
5210
|
await tldrService.start(true);
|
|
@@ -5219,21 +5234,23 @@ async function spawnAgent(options) {
|
|
|
5219
5234
|
useSupervisor: supervisorLaunch.useSupervisor,
|
|
5220
5235
|
supervisorScriptPath: supervisorLaunch.supervisorScriptPath,
|
|
5221
5236
|
harness: state.harness ?? "claude-code",
|
|
5237
|
+
sessionId: state.sessionId,
|
|
5222
5238
|
extraEnvExports: flywheelEnvExports(flywheelEnv),
|
|
5223
5239
|
effort: options.effort
|
|
5224
5240
|
});
|
|
5225
5241
|
const launcherScript = join$1(getAgentDir(agentId), "launcher.sh");
|
|
5226
5242
|
await writeLauncherScriptAtomic(launcherScript, launcherContent);
|
|
5243
|
+
if (state.sessionId) logLauncherSessionPinned(agentId, state.sessionId, launcherScript);
|
|
5227
5244
|
const claudeCmd = `bash ${launcherScript}`;
|
|
5228
5245
|
console.log(`[claude-invoke] purpose=work-agent | model=${state.model} | source=agents.ts:spawnAgent | session=${agentId} | command="${claudeCmd}"`);
|
|
5229
5246
|
try {
|
|
5230
|
-
const { preTrustDirectory } = await import("./workspace-manager-
|
|
5247
|
+
const { preTrustDirectory } = await import("./workspace-manager-BO-6k3sP.js");
|
|
5231
5248
|
preTrustDirectory(options.workspace);
|
|
5232
5249
|
} catch {}
|
|
5233
5250
|
try {
|
|
5234
|
-
const { isGitHubAppConfigured, generateInstallationToken, configureWorkspaceForBot } = await import("./github-app-
|
|
5251
|
+
const { isGitHubAppConfigured, generateInstallationToken, configureWorkspaceForBot } = await import("./github-app-Bwt9lK4A.js");
|
|
5235
5252
|
if (isGitHubAppConfigured()) {
|
|
5236
|
-
const { findProjectByPathSync } = await import("./projects-
|
|
5253
|
+
const { findProjectByPathSync } = await import("./projects-CrBE6IhN.js");
|
|
5237
5254
|
const ghRepo = findProjectByPathSync(resolve$1(options.workspace, "..", ".."))?.github_repo;
|
|
5238
5255
|
if (ghRepo) {
|
|
5239
5256
|
const [owner, repo] = ghRepo.split("/");
|
|
@@ -5246,6 +5263,7 @@ async function spawnAgent(options) {
|
|
|
5246
5263
|
console.warn(`[${agentId}] GitHub App config failed (falling back to SSH): ${err.message}`);
|
|
5247
5264
|
}
|
|
5248
5265
|
clearReadySignal(agentId);
|
|
5266
|
+
const bdShimPath = role === "work" ? await resolveBdAgentShimPath(getAgentDir(agentId)) : void 0;
|
|
5249
5267
|
await Effect.runPromise(createSession(agentId, options.workspace, claudeCmd, { env: {
|
|
5250
5268
|
...BLANKED_PROVIDER_ENV,
|
|
5251
5269
|
TERM: "xterm-256color",
|
|
@@ -5254,10 +5272,12 @@ async function spawnAgent(options) {
|
|
|
5254
5272
|
OVERDECK_SESSION_TYPE: role,
|
|
5255
5273
|
CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION: "false",
|
|
5256
5274
|
GIT_SEQUENCE_EDITOR: "false",
|
|
5275
|
+
...bdShimPath ? { PATH: bdShimPath } : {},
|
|
5257
5276
|
...flywheelEnv,
|
|
5258
5277
|
...providerEnv
|
|
5259
5278
|
} }));
|
|
5260
5279
|
await saveAgentRuntimeState(agentId, {
|
|
5280
|
+
claudeSessionId: state.sessionId,
|
|
5261
5281
|
sessionModel: selectedModel,
|
|
5262
5282
|
sessionHarness: resolvedHarness
|
|
5263
5283
|
});
|
|
@@ -5301,7 +5321,7 @@ async function spawnAgent(options) {
|
|
|
5301
5321
|
const codexHomeForAgent = join$1(homedir(), ".overdeck", "agents", agentId, "codex-home");
|
|
5302
5322
|
(async () => {
|
|
5303
5323
|
try {
|
|
5304
|
-
const { waitForCodexRollout, extractThreadIdFromRollout, writeThreadId } = await import("./codex-
|
|
5324
|
+
const { waitForCodexRollout, extractThreadIdFromRollout, writeThreadId } = await import("./codex-BYPz6ZdF.js");
|
|
5305
5325
|
const rollout = await waitForCodexRollout(codexHomeForAgent, 12e4);
|
|
5306
5326
|
if (rollout) {
|
|
5307
5327
|
const threadId = extractThreadIdFromRollout(rollout);
|
|
@@ -5381,26 +5401,6 @@ function escapeRegExp$1(value) {
|
|
|
5381
5401
|
return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
5382
5402
|
}
|
|
5383
5403
|
/**
|
|
5384
|
-
* Check if Overdeck hooks are configured, and auto-setup if not
|
|
5385
|
-
*/
|
|
5386
|
-
function checkAndSetupHooks() {
|
|
5387
|
-
const settingsPath = join$1(homedir(), ".claude", "settings.json");
|
|
5388
|
-
const hookPath = join$1(homedir(), ".overdeck", "bin", "heartbeat-hook");
|
|
5389
|
-
if (existsSync(settingsPath)) try {
|
|
5390
|
-
const settingsContent = readFileSync(settingsPath, "utf-8");
|
|
5391
|
-
if ((JSON.parse(settingsContent)?.hooks?.PostToolUse || []).some((hookConfig) => hookConfig.hooks?.some((hook) => hook.command === hookPath || hook.command?.includes("overdeck") || hook.command?.includes("heartbeat-hook")))) return;
|
|
5392
|
-
} catch {}
|
|
5393
|
-
try {
|
|
5394
|
-
console.log("Configuring Overdeck heartbeat hooks...");
|
|
5395
|
-
exec$1("pan admin hooks install", (error) => {
|
|
5396
|
-
if (error) console.warn("⚠ Failed to auto-configure hooks. Run `pan admin hooks install` manually.");
|
|
5397
|
-
else console.log("✓ Heartbeat hooks configured");
|
|
5398
|
-
});
|
|
5399
|
-
} catch (error) {
|
|
5400
|
-
console.warn("⚠ Failed to auto-configure hooks. Run `pan admin hooks install` manually.");
|
|
5401
|
-
}
|
|
5402
|
-
}
|
|
5403
|
-
/**
|
|
5404
5404
|
* Write task cache for heartbeat hook to use
|
|
5405
5405
|
*/
|
|
5406
5406
|
function writeTaskCache(agentId, issueId) {
|
|
@@ -5444,6 +5444,9 @@ var init_spawn = __esmMin((() => {
|
|
|
5444
5444
|
init_state_read_home();
|
|
5445
5445
|
init_supervisor_channels();
|
|
5446
5446
|
init_termination();
|
|
5447
|
+
init_bd_shim();
|
|
5448
|
+
init_session_history();
|
|
5449
|
+
init_hook_readiness();
|
|
5447
5450
|
execAsync$2 = promisify$1(exec$1);
|
|
5448
5451
|
}));
|
|
5449
5452
|
//#endregion
|
|
@@ -5874,9 +5877,7 @@ function getActivity(agentId, limit = 100) {
|
|
|
5874
5877
|
* Save Claude session ID for later resume
|
|
5875
5878
|
*/
|
|
5876
5879
|
function saveSessionId(agentId, sessionId) {
|
|
5877
|
-
|
|
5878
|
-
mkdirSync(dir, { recursive: true });
|
|
5879
|
-
writeFileSync(join$1(dir, "session.id"), sessionId);
|
|
5880
|
+
persistCurrentSessionId(agentId, sessionId);
|
|
5880
5881
|
}
|
|
5881
5882
|
/**
|
|
5882
5883
|
* Get saved Claude session ID
|
|
@@ -5981,6 +5982,7 @@ var init_activity = __esmMin((() => {
|
|
|
5981
5982
|
init_ohmypi();
|
|
5982
5983
|
init_behavior();
|
|
5983
5984
|
init_errors();
|
|
5985
|
+
init_session_history();
|
|
5984
5986
|
getLatestSessionId = (agentId) => {
|
|
5985
5987
|
const agentDir = getAgentDir(agentId);
|
|
5986
5988
|
const sessionFile = join$1(agentDir, "session.id");
|
|
@@ -6078,7 +6080,7 @@ async function messageAgent(agentId, message, caller = "internal") {
|
|
|
6078
6080
|
return;
|
|
6079
6081
|
}
|
|
6080
6082
|
console.log(`[agents] Auto-resuming suspended agent ${normalizedId} to deliver message`);
|
|
6081
|
-
const { resumeAgent } = await import("./agents-
|
|
6083
|
+
const { resumeAgent } = await import("./agents-CEcaxSkR.js");
|
|
6082
6084
|
const result = await resumeAgent(normalizedId, message);
|
|
6083
6085
|
if (!result.success) throw new Error(`Failed to auto-resume agent: ${result.error}`);
|
|
6084
6086
|
if (result.messageDelivered === false) throw new Error(`Agent resumed but ready signal did not fire — message not delivered. Feedback is in the mail queue.`);
|
|
@@ -6094,7 +6096,7 @@ async function messageAgent(agentId, message, caller = "internal") {
|
|
|
6094
6096
|
return;
|
|
6095
6097
|
}
|
|
6096
6098
|
console.log(`[agents] Auto-resuming stopped agent ${normalizedId} to deliver feedback (session exists: ${await Effect.runPromise(sessionExists(normalizedId))})`);
|
|
6097
|
-
const { resumeAgent } = await import("./agents-
|
|
6099
|
+
const { resumeAgent } = await import("./agents-CEcaxSkR.js");
|
|
6098
6100
|
const resumeResult = await resumeAgent(normalizedId, message);
|
|
6099
6101
|
queueAgentMail(normalizedId, message);
|
|
6100
6102
|
if (resumeResult.success && resumeResult.messageDelivered !== false) {
|
|
@@ -6130,7 +6132,7 @@ async function messageAgent(agentId, message, caller = "internal") {
|
|
|
6130
6132
|
const resumeRole = agentState.role ?? "work";
|
|
6131
6133
|
const resumeModel = agentState.model || "claude-sonnet-4-6";
|
|
6132
6134
|
const fallbackHarness = agentState.harness ?? "claude-code";
|
|
6133
|
-
const { assertWorkspaceStackHealthyForSpawn } = await import("./agents-
|
|
6135
|
+
const { assertWorkspaceStackHealthyForSpawn } = await import("./agents-CEcaxSkR.js");
|
|
6134
6136
|
await assertWorkspaceStackHealthyForSpawn(agentState.issueId || normalizedId.replace(/^agent-/, "").toUpperCase(), resumeRole, agentState.hostOverride === true, agentState.workspace);
|
|
6135
6137
|
const fallbackPiFields = fallbackHarness === "ohmypi" ? await getOhmypiLauncherFields(normalizedId, resumeModel) : {};
|
|
6136
6138
|
const fallbackCodexFields = fallbackHarness === "codex" ? getCodexLauncherFields(normalizedId, resumeModel, agentState.workspace) : {};
|
|
@@ -6193,7 +6195,7 @@ async function messageAgent(agentId, message, caller = "internal") {
|
|
|
6193
6195
|
} else console.warn(`[agents] Fallback-restarted ${normalizedId} but ready signal not detected — feedback in mail queue`);
|
|
6194
6196
|
return;
|
|
6195
6197
|
}
|
|
6196
|
-
const { loadRemoteAgentState, sendToRemoteAgent } = await import("./remote-agents-
|
|
6198
|
+
const { loadRemoteAgentState, sendToRemoteAgent } = await import("./remote-agents-Cv-U-_V8.js");
|
|
6197
6199
|
const remoteState = loadRemoteAgentState(normalizedId);
|
|
6198
6200
|
if (remoteState && remoteState.vmName) {
|
|
6199
6201
|
console.log(`[agents] Sending message to remote agent ${normalizedId} on ${remoteState.vmName}`);
|
|
@@ -6207,7 +6209,7 @@ async function messageAgent(agentId, message, caller = "internal") {
|
|
|
6207
6209
|
const expectedHarness = agentState?.harness ?? "claude-code";
|
|
6208
6210
|
if (panePids.length > 0 && !await hasAgentRuntimeInSubtree(panePids[0], expectedHarness)) {
|
|
6209
6211
|
console.warn(`[agents] ${normalizedId} tmux session is a zombie (no ${expectedHarness} runtime) — attempting resume`);
|
|
6210
|
-
const { resumeAgent } = await import("./agents-
|
|
6212
|
+
const { resumeAgent } = await import("./agents-CEcaxSkR.js");
|
|
6211
6213
|
const resumeResult = await resumeAgent(normalizedId, message);
|
|
6212
6214
|
if (resumeResult.success) {
|
|
6213
6215
|
if (resumeResult.messageDelivered !== false) await appendTellInterventionForUserSource(normalizedId, caller);
|
|
@@ -6319,7 +6321,7 @@ async function buildCompactRecoverySeed(agentId) {
|
|
|
6319
6321
|
if (agentState?.workspace && sessionId) {
|
|
6320
6322
|
const sessionFile = sessionFilePath(agentState.workspace, sessionId);
|
|
6321
6323
|
try {
|
|
6322
|
-
const [{ getConversationCompactionSettings }, { generateSmartSummary }] = await Promise.all([import("./conversation-compaction-
|
|
6324
|
+
const [{ getConversationCompactionSettings }, { generateSmartSummary }] = await Promise.all([import("./conversation-compaction-kHVfVRg3.js"), import("./smart-compaction-B4KlpZGN.js")]);
|
|
6323
6325
|
const settings = getConversationCompactionSettings();
|
|
6324
6326
|
summary = (await Effect.runPromise(generateSmartSummary({
|
|
6325
6327
|
jsonlPath: sessionFile,
|
|
@@ -6330,7 +6332,7 @@ async function buildCompactRecoverySeed(agentId) {
|
|
|
6330
6332
|
} catch (err) {
|
|
6331
6333
|
logAgentLifecycleSync(normalizedId, `compact-recovery smart summary failed (${err instanceof Error ? err.message : String(err)}); trying heuristic fallback`);
|
|
6332
6334
|
try {
|
|
6333
|
-
const { generateFallbackSummary } = await import("./summary-fork-
|
|
6335
|
+
const { generateFallbackSummary } = await import("./summary-fork-CnRMPCYd.js");
|
|
6334
6336
|
summary = await Effect.runPromise(generateFallbackSummary(sessionFile));
|
|
6335
6337
|
} catch (fallbackErr) {
|
|
6336
6338
|
logAgentLifecycleSync(normalizedId, `compact-recovery fallback summary failed (${fallbackErr instanceof Error ? fallbackErr.message : String(fallbackErr)}); seeding with reseed instructions only`);
|
|
@@ -7872,6 +7874,6 @@ var init_agents = __esmMin((() => {
|
|
|
7872
7874
|
init_tier_replay();
|
|
7873
7875
|
}));
|
|
7874
7876
|
//#endregion
|
|
7875
|
-
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,
|
|
7877
|
+
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, init_agent_runtime as _r, init_config as _t, replayStandingAgent as a, init_claude_auth as an, resolvePtySupervisorScriptPath as ar, init_concurrency as at, autoRecoverAgents as b, writeChannelsBridgeMcpConfig as bn, saveCloisterConfigSync as bt, init_tier_supervisor as c, determineModel as cn, normalizeAgentId as cr, resetPatrolDispatchBudget as ct, spawnTierSupervisor as d, getProviderTmuxFlags as dn, waitForReadySignal as dr, workResumeSlotsAvailable as dt, init_pi_fifo as en, init_agent_record_sync as er, countRunningAgents as et, supervisorAgentId as f, init_provider_health as fn, getAgentRuntimeState as fr, getCachedMemoryVerdict as ft, init_tier_escalation as g, buildDefaultResumeContinueMessage as gn, getAgentRuntimeSnapshot as gr, getHealthThresholdsMs as gt, decideEscalation as h, init_openai_auth as hn, saveAgentRuntimeState as hr, DEFAULT_CLOISTER_CONFIG as ht, replayCrashedStandingAgent as i, getClaudeAuthStatus as in, init_pty_supervisor_locate 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, resolveAgentTargetSync as lr, tryReserveAdvancingSlot as lt, init_tier_feed as m, getOpenAIAuthStatus as mn, init_runtime_state as mr, setCachedMemoryVerdict as mt, compactAtTierRunBoundary as n, init_ohmypi_fifo as nn, init_pty_token as nr, describeRunningAgents as nt, shouldReplayCompactAtTierRunBoundary as o, buildCavemanExports as on, clearReadySignal as or, releaseAdvancingSlot as ot, broadcastCommit as p, validateProviderHealth as pn, getAgentRuntimeStateSync as pr, init_memory_verdict_cache as pt, stopAgentSync as q, saveAgentState as qn, getOhmypiLauncherFields as qt, contextWindowForModel as r, ohmypiFifoPaths as rn, writePtyToken as rr, emergencyBrake as rt, deliverCommitForReview as s, buildSpawnEnvForModel as sn, isQualifiedAgentId as sr, releaseSwarmSlot as st, init_agents as t, piFifoPaths as tn, readAgentHarnessModelRecordSync as tr, countRunningSwarmSlotsForIssue as tt, shouldSupervise as u, getProviderExportsForModel as un, waitForAgentIdle as ur, tryReserveSwarmSlot as ut, listSlotAssignments as v, decideSupervisorForWorkAgent as vn, init_ohmypi_parser 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, parseOhmypiSessionCostResultSync as yr, loadCloisterConfigSync as yt, saveSessionId as z, markAgentRunning as zn, init_staffing as zt };
|
|
7876
7878
|
|
|
7877
|
-
//# sourceMappingURL=agents-
|
|
7879
|
+
//# sourceMappingURL=agents-B9GwfCyp.js.map
|