@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,251 +1,15 @@
|
|
|
1
1
|
import { n as __esmMin, r as __exportAll } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import {
|
|
3
|
-
import { E as listPaneValues, L as sessionExists, w as killSession, x as init_tmux } from "./tmux-
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { n as
|
|
2
|
+
import { Jr as init_paths, Sr as AGENTS_DIR, jr as OVERDECK_HOME } from "./config-yaml-cNOZcEww.js";
|
|
3
|
+
import { E as listPaneValues, L as sessionExists, w as killSession, x as init_tmux } from "./tmux-C3g9VFcg.js";
|
|
4
|
+
import { a as readCavemanVariant, n as init_workspace } from "./workspace-CNfuj1-5.js";
|
|
5
|
+
import { n as resolveHarness, t as init_harness_resolve } from "./harness-resolve-C6g2R0Cd.js";
|
|
6
|
+
import { a as init_jsonl_parser, n as getAllSessionFilesSync, s as parseClaudeSessionSync } from "./jsonl-parser-BUW5_sSK.js";
|
|
7
7
|
import { Effect } from "effect";
|
|
8
|
-
import { appendFileSync, existsSync, mkdirSync, readFileSync,
|
|
8
|
+
import { appendFileSync, existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
|
|
9
9
|
import { basename, join } from "path";
|
|
10
|
-
import { homedir } from "os";
|
|
11
10
|
import "crypto";
|
|
12
11
|
import { exec } from "child_process";
|
|
13
12
|
import { promisify } from "util";
|
|
14
|
-
//#region ../../lib/cost-parsers/jsonl-parser.ts
|
|
15
|
-
/**
|
|
16
|
-
* Claude Code JSONL Parser
|
|
17
|
-
*
|
|
18
|
-
* Parse token usage from Claude Code session files.
|
|
19
|
-
* Session files are stored at: ~/.claude/projects/<project-path-hash>/<session-id>.jsonl
|
|
20
|
-
*/
|
|
21
|
-
function getClaudeProjectsDir() {
|
|
22
|
-
return process.env.CLAUDE_PROJECTS_DIR || join(homedir(), ".claude", "projects");
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Get all Claude Code project directories
|
|
26
|
-
*/
|
|
27
|
-
function getProjectDirsSync() {
|
|
28
|
-
const claudeProjectsDir = getClaudeProjectsDir();
|
|
29
|
-
if (!existsSync(claudeProjectsDir)) return [];
|
|
30
|
-
return readdirSync(claudeProjectsDir).map((name) => join(claudeProjectsDir, name)).filter((path) => {
|
|
31
|
-
try {
|
|
32
|
-
return statSync(path).isDirectory();
|
|
33
|
-
} catch {
|
|
34
|
-
return false;
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Get session JSONL files for a project directory
|
|
40
|
-
*/
|
|
41
|
-
function getSessionFilesSync(projectDir) {
|
|
42
|
-
if (!existsSync(projectDir)) return [];
|
|
43
|
-
return readdirSync(projectDir).filter((name) => name.endsWith(".jsonl")).map((name) => join(projectDir, name)).sort((a, b) => {
|
|
44
|
-
try {
|
|
45
|
-
return statSync(b).mtime.getTime() - statSync(a).mtime.getTime();
|
|
46
|
-
} catch {
|
|
47
|
-
return 0;
|
|
48
|
-
}
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Get all session files across all projects
|
|
53
|
-
*/
|
|
54
|
-
function getAllSessionFilesSync() {
|
|
55
|
-
const files = [];
|
|
56
|
-
for (const projectDir of getProjectDirsSync()) files.push(...getSessionFilesSync(projectDir));
|
|
57
|
-
return files.sort((a, b) => {
|
|
58
|
-
try {
|
|
59
|
-
return statSync(b).mtime.getTime() - statSync(a).mtime.getTime();
|
|
60
|
-
} catch {
|
|
61
|
-
return 0;
|
|
62
|
-
}
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Normalize model name for pricing lookup
|
|
67
|
-
*/
|
|
68
|
-
function normalizeModelName(model) {
|
|
69
|
-
if (model.includes("claude")) {
|
|
70
|
-
let normalizedModel = model;
|
|
71
|
-
if (model.includes("fable-5") || model.includes("fable.5") || model.includes("fable")) normalizedModel = "claude-fable-5";
|
|
72
|
-
if (model.includes("opus-4-8") || model.includes("opus-4.8")) normalizedModel = "claude-opus-4-8";
|
|
73
|
-
else if (model.includes("opus-4-7") || model.includes("opus-4.7")) normalizedModel = "claude-opus-4-7";
|
|
74
|
-
else if (model.includes("opus-4-6") || model.includes("opus-4.6")) normalizedModel = "claude-opus-4-6";
|
|
75
|
-
else if (model.includes("opus-4-1") || model.includes("opus-4.1")) normalizedModel = "claude-opus-4-1";
|
|
76
|
-
else if (model.includes("opus-4") || model.includes("opus")) normalizedModel = "claude-opus-4";
|
|
77
|
-
if (model.includes("sonnet-5") || model.includes("sonnet.5")) normalizedModel = "claude-sonnet-5";
|
|
78
|
-
else if (model.includes("sonnet-4-6") || model.includes("sonnet-4.6")) normalizedModel = "claude-sonnet-4-6";
|
|
79
|
-
else if (model.includes("sonnet-4-5") || model.includes("sonnet-4.5")) normalizedModel = "claude-sonnet-4-6";
|
|
80
|
-
else if (model.includes("sonnet-4") || model.includes("sonnet")) normalizedModel = "claude-sonnet-4";
|
|
81
|
-
if (model.includes("haiku-4-5") || model.includes("haiku-4.5")) normalizedModel = "claude-haiku-4-5";
|
|
82
|
-
else if (model.includes("haiku-3")) normalizedModel = "claude-haiku-3";
|
|
83
|
-
else if (model.includes("haiku")) normalizedModel = "claude-haiku-4-5";
|
|
84
|
-
return {
|
|
85
|
-
provider: "anthropic",
|
|
86
|
-
model: normalizedModel
|
|
87
|
-
};
|
|
88
|
-
}
|
|
89
|
-
if (model.includes("gpt")) return {
|
|
90
|
-
provider: "openai",
|
|
91
|
-
model
|
|
92
|
-
};
|
|
93
|
-
if (model.includes("gemini")) return {
|
|
94
|
-
provider: "google",
|
|
95
|
-
model
|
|
96
|
-
};
|
|
97
|
-
if (model.includes("minimax")) return {
|
|
98
|
-
provider: "custom",
|
|
99
|
-
model
|
|
100
|
-
};
|
|
101
|
-
return {
|
|
102
|
-
provider: "anthropic",
|
|
103
|
-
model: "claude-sonnet-4"
|
|
104
|
-
};
|
|
105
|
-
}
|
|
106
|
-
/**
|
|
107
|
-
* Parse a Claude Code session JSONL file and extract usage with per-message cost calculation
|
|
108
|
-
*
|
|
109
|
-
* This function calculates costs accurately for sessions that span multiple models
|
|
110
|
-
* (e.g., when Claude Max auto-upgrades from Sonnet to Opus mid-conversation).
|
|
111
|
-
*
|
|
112
|
-
* Cost Calculation:
|
|
113
|
-
* - `cost_v2`: Accurate per-message pricing. Each message is costed using its own model's pricing.
|
|
114
|
-
* - `cost`: DEPRECATED. Uses first model's pricing for all messages (kept for backward compatibility).
|
|
115
|
-
*
|
|
116
|
-
* Model Display:
|
|
117
|
-
* - Single model: "claude-sonnet-4-6" (normalized name)
|
|
118
|
-
* - Multiple models: "claude-sonnet-4-6 → claude-opus-4-6" (progression of normalized names)
|
|
119
|
-
*
|
|
120
|
-
* Model Breakdown:
|
|
121
|
-
* - Keys are exact model IDs (e.g., "claude-sonnet-4-5-20250929")
|
|
122
|
-
* - Values contain per-model cost, token counts, and message count
|
|
123
|
-
*
|
|
124
|
-
* @param sessionFile - Path to the .jsonl session file
|
|
125
|
-
* @returns Session usage summary with accurate multi-model costing, or null if no usage found
|
|
126
|
-
*/
|
|
127
|
-
function parseClaudeSessionSync(sessionFile) {
|
|
128
|
-
if (!existsSync(sessionFile)) return null;
|
|
129
|
-
const lines = readFileSync(sessionFile, "utf-8").split("\n").filter((line) => line.trim());
|
|
130
|
-
let sessionId = "";
|
|
131
|
-
let startTime = "";
|
|
132
|
-
let endTime = "";
|
|
133
|
-
let primaryModel = "";
|
|
134
|
-
let messageCount = 0;
|
|
135
|
-
const totalUsage = {
|
|
136
|
-
inputTokens: 0,
|
|
137
|
-
outputTokens: 0,
|
|
138
|
-
cacheReadTokens: 0,
|
|
139
|
-
cacheWriteTokens: 0
|
|
140
|
-
};
|
|
141
|
-
const modelBreakdown = {};
|
|
142
|
-
let totalCostV2 = 0;
|
|
143
|
-
const countedUsageIds = /* @__PURE__ */ new Set();
|
|
144
|
-
for (const line of lines) try {
|
|
145
|
-
const msg = JSON.parse(line);
|
|
146
|
-
if (msg.sessionId && !sessionId) sessionId = msg.sessionId;
|
|
147
|
-
if (msg.timestamp) {
|
|
148
|
-
if (!startTime || msg.timestamp < startTime) startTime = msg.timestamp;
|
|
149
|
-
if (!endTime || msg.timestamp > endTime) endTime = msg.timestamp;
|
|
150
|
-
}
|
|
151
|
-
const usage = msg.message?.usage || msg.usage;
|
|
152
|
-
const modelId = msg.message?.model || msg.model;
|
|
153
|
-
const usageId = msg.requestId ?? msg.message?.id;
|
|
154
|
-
if (usage && (usageId === void 0 || !countedUsageIds.has(usageId))) {
|
|
155
|
-
if (usageId !== void 0) countedUsageIds.add(usageId);
|
|
156
|
-
totalUsage.inputTokens += usage.input_tokens || 0;
|
|
157
|
-
totalUsage.outputTokens += usage.output_tokens || 0;
|
|
158
|
-
totalUsage.cacheReadTokens = (totalUsage.cacheReadTokens || 0) + (usage.cache_read_input_tokens || 0);
|
|
159
|
-
totalUsage.cacheWriteTokens = (totalUsage.cacheWriteTokens || 0) + (usage.cache_creation_input_tokens || 0);
|
|
160
|
-
messageCount++;
|
|
161
|
-
if (modelId) {
|
|
162
|
-
const { provider, model: normalizedModel } = normalizeModelName(modelId);
|
|
163
|
-
const pricing = getPricingSync(provider, normalizedModel);
|
|
164
|
-
if (pricing) {
|
|
165
|
-
const msgUsage = {
|
|
166
|
-
inputTokens: usage.input_tokens || 0,
|
|
167
|
-
outputTokens: usage.output_tokens || 0,
|
|
168
|
-
cacheReadTokens: usage.cache_read_input_tokens || 0,
|
|
169
|
-
cacheWriteTokens: usage.cache_creation_input_tokens || 0,
|
|
170
|
-
cacheTTL: usage.cache_creation?.ephemeral_1h_input_tokens && !usage.cache_creation?.ephemeral_5m_input_tokens ? "1h" : "5m"
|
|
171
|
-
};
|
|
172
|
-
const msgCost = calculateCostSync(msgUsage, pricing);
|
|
173
|
-
totalCostV2 += msgCost;
|
|
174
|
-
if (!modelBreakdown[modelId]) modelBreakdown[modelId] = {
|
|
175
|
-
cost: 0,
|
|
176
|
-
inputTokens: 0,
|
|
177
|
-
outputTokens: 0,
|
|
178
|
-
messageCount: 0
|
|
179
|
-
};
|
|
180
|
-
modelBreakdown[modelId].cost += msgCost;
|
|
181
|
-
modelBreakdown[modelId].inputTokens += msgUsage.inputTokens;
|
|
182
|
-
modelBreakdown[modelId].outputTokens += msgUsage.outputTokens;
|
|
183
|
-
modelBreakdown[modelId].cacheReadTokens = (modelBreakdown[modelId].cacheReadTokens || 0) + (msgUsage.cacheReadTokens || 0);
|
|
184
|
-
modelBreakdown[modelId].cacheWriteTokens = (modelBreakdown[modelId].cacheWriteTokens || 0) + (msgUsage.cacheWriteTokens || 0);
|
|
185
|
-
modelBreakdown[modelId].messageCount++;
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
if (modelId && !primaryModel) primaryModel = modelId;
|
|
190
|
-
} catch {}
|
|
191
|
-
if (totalUsage.inputTokens === 0 && totalUsage.outputTokens === 0) return null;
|
|
192
|
-
if (!sessionId) sessionId = basename(sessionFile, ".jsonl");
|
|
193
|
-
if (!primaryModel) primaryModel = "claude-sonnet-4";
|
|
194
|
-
const normalizedModels = Object.keys(modelBreakdown).map((id) => normalizeModelName(id).model);
|
|
195
|
-
const modelDisplay = normalizedModels.length > 0 ? normalizedModels.length > 1 ? normalizedModels.join(" → ") : normalizedModels[0] : normalizeModelName(primaryModel).model;
|
|
196
|
-
const { provider, model } = normalizeModelName(primaryModel);
|
|
197
|
-
const pricing = getPricingSync(provider, model);
|
|
198
|
-
const cost = pricing ? calculateCostSync(totalUsage, pricing) : 0;
|
|
199
|
-
return {
|
|
200
|
-
sessionId,
|
|
201
|
-
sessionFile,
|
|
202
|
-
startTime: startTime || (/* @__PURE__ */ new Date()).toISOString(),
|
|
203
|
-
endTime: endTime || (/* @__PURE__ */ new Date()).toISOString(),
|
|
204
|
-
model: modelDisplay,
|
|
205
|
-
usage: totalUsage,
|
|
206
|
-
cost,
|
|
207
|
-
cost_v2: totalCostV2 > 0 ? totalCostV2 : void 0,
|
|
208
|
-
messageCount,
|
|
209
|
-
modelBreakdown: Object.keys(modelBreakdown).length > 0 ? modelBreakdown : void 0
|
|
210
|
-
};
|
|
211
|
-
}
|
|
212
|
-
/**
|
|
213
|
-
* Get the active session model for a workspace
|
|
214
|
-
* Returns the full model ID (e.g., "claude-sonnet-4-5-20250929") from the most recent session file
|
|
215
|
-
*
|
|
216
|
-
* NOTE: Claude Max can auto-upgrade models mid-session (e.g., Sonnet → Opus).
|
|
217
|
-
* We read from the END of the file to get the CURRENT model, not the initial one.
|
|
218
|
-
*/
|
|
219
|
-
function getActiveSessionModelSync(workspacePath) {
|
|
220
|
-
try {
|
|
221
|
-
const projectDirName = encodeClaudeProjectDir(workspacePath);
|
|
222
|
-
const sessions = getSessionFilesSync(join(getClaudeProjectsDir(), projectDirName));
|
|
223
|
-
if (sessions.length === 0) return null;
|
|
224
|
-
const mostRecentSession = sessions[0];
|
|
225
|
-
const lines = readFileSync(mostRecentSession, "utf-8").split("\n").filter((line) => line.trim());
|
|
226
|
-
const searchLines = lines.slice(-100);
|
|
227
|
-
for (let i = searchLines.length - 1; i >= 0; i--) try {
|
|
228
|
-
const msg = JSON.parse(searchLines[i]);
|
|
229
|
-
const model = msg.message?.model || msg.model;
|
|
230
|
-
if (model && model !== "<synthetic>") return model;
|
|
231
|
-
} catch {}
|
|
232
|
-
for (let i = 0; i < Math.min(lines.length, 10); i++) try {
|
|
233
|
-
const msg = JSON.parse(lines[i]);
|
|
234
|
-
const model = msg.message?.model || msg.model;
|
|
235
|
-
if (model && model !== "<synthetic>") return model;
|
|
236
|
-
} catch {}
|
|
237
|
-
return null;
|
|
238
|
-
} catch (error) {
|
|
239
|
-
console.warn("Failed to get active session model:", error);
|
|
240
|
-
return null;
|
|
241
|
-
}
|
|
242
|
-
}
|
|
243
|
-
var init_jsonl_parser = __esmMin((() => {
|
|
244
|
-
init_paths();
|
|
245
|
-
init_cost();
|
|
246
|
-
init_errors();
|
|
247
|
-
}));
|
|
248
|
-
//#endregion
|
|
249
13
|
//#region ../../lib/cloister/specialists.ts
|
|
250
14
|
/**
|
|
251
15
|
* Cloister Specialist Agents
|
|
@@ -325,7 +89,7 @@ function roleForSpecialistModel(specialistType) {
|
|
|
325
89
|
return { role: "work" };
|
|
326
90
|
}
|
|
327
91
|
async function buildSpecialistBaseCommand(specialistType, model, sessionName) {
|
|
328
|
-
const { getAgentRuntimeBaseCommand } = await import("./agents-
|
|
92
|
+
const { getAgentRuntimeBaseCommand } = await import("./agents-CEcaxSkR.js");
|
|
329
93
|
const role = roleForSpecialistModel(specialistType).role;
|
|
330
94
|
const harness = await resolveHarness({
|
|
331
95
|
model,
|
|
@@ -724,7 +488,7 @@ async function signalSpecialistCompletion(projectKey, specialistType, result, is
|
|
|
724
488
|
const resolvedTmuxSession = metadata.tmuxSession ?? getTmuxSessionName(specialistType, projectKey, issueId);
|
|
725
489
|
updateRunStatus(projectKey, registryKey, result.status);
|
|
726
490
|
if (metadata.currentRun) try {
|
|
727
|
-
const { finalizeRunLogSync } = await import("./specialist-logs-
|
|
491
|
+
const { finalizeRunLogSync } = await import("./specialist-logs-CdcUpfjj.js");
|
|
728
492
|
finalizeRunLogSync(projectKey, specialistType, metadata.currentRun, {
|
|
729
493
|
status: result.status,
|
|
730
494
|
notes: result.notes
|
|
@@ -734,7 +498,7 @@ async function signalSpecialistCompletion(projectKey, specialistType, result, is
|
|
|
734
498
|
}
|
|
735
499
|
setCurrentRun(projectKey, registryKey, null);
|
|
736
500
|
updateRunMetadata(projectKey, registryKey, { currentActivity: null });
|
|
737
|
-
import("./agents-
|
|
501
|
+
import("./agents-CEcaxSkR.js").then(({ saveAgentRuntimeState }) => {
|
|
738
502
|
saveAgentRuntimeState(resolvedTmuxSession, {
|
|
739
503
|
state: "idle",
|
|
740
504
|
lastActivity: (/* @__PURE__ */ new Date()).toISOString(),
|
|
@@ -765,7 +529,7 @@ async function terminateSpecialist(projectKey, specialistType, issueId) {
|
|
|
765
529
|
console.error(`[specialist] Failed to kill tmux session ${tmuxSession}:`, error);
|
|
766
530
|
}
|
|
767
531
|
if (metadata.currentRun) {
|
|
768
|
-
const { finalizeRunLogSync } = await import("./specialist-logs-
|
|
532
|
+
const { finalizeRunLogSync } = await import("./specialist-logs-CdcUpfjj.js");
|
|
769
533
|
try {
|
|
770
534
|
finalizeRunLogSync(projectKey, specialistType, metadata.currentRun, {
|
|
771
535
|
status: metadata.lastRunStatus || "incomplete",
|
|
@@ -779,12 +543,12 @@ async function terminateSpecialist(projectKey, specialistType, issueId) {
|
|
|
779
543
|
updateRunMetadata(projectKey, registryKey, { currentActivity: null });
|
|
780
544
|
const key = `${projectKey}-${specialistType}`;
|
|
781
545
|
gracePeriodStates.delete(key);
|
|
782
|
-
const { saveAgentRuntimeState } = await import("./agents-
|
|
546
|
+
const { saveAgentRuntimeState } = await import("./agents-CEcaxSkR.js");
|
|
783
547
|
saveAgentRuntimeState(tmuxSession, {
|
|
784
548
|
state: "suspended",
|
|
785
549
|
lastActivity: (/* @__PURE__ */ new Date()).toISOString()
|
|
786
550
|
});
|
|
787
|
-
const { scheduleDigestGeneration } = await import("./specialist-context-
|
|
551
|
+
const { scheduleDigestGeneration } = await import("./specialist-context-B2HlbNxS.js");
|
|
788
552
|
scheduleDigestGeneration(projectKey, specialistType);
|
|
789
553
|
scheduleLogCleanup(projectKey, specialistType);
|
|
790
554
|
}
|
|
@@ -797,8 +561,8 @@ async function terminateSpecialist(projectKey, specialistType, issueId) {
|
|
|
797
561
|
function scheduleLogCleanup(projectKey, specialistType) {
|
|
798
562
|
Promise.resolve().then(async () => {
|
|
799
563
|
try {
|
|
800
|
-
const { cleanupOldLogsSync } = await import("./specialist-logs-
|
|
801
|
-
const { getSpecialistRetention } = await import("./projects-
|
|
564
|
+
const { cleanupOldLogsSync } = await import("./specialist-logs-CdcUpfjj.js");
|
|
565
|
+
const { getSpecialistRetention } = await import("./projects-CrBE6IhN.js");
|
|
802
566
|
const retention = getSpecialistRetention(projectKey);
|
|
803
567
|
const deleted = cleanupOldLogsSync(projectKey, specialistType, {
|
|
804
568
|
maxDays: retention.max_days,
|
|
@@ -952,7 +716,7 @@ function listSpecialistsForProject(projectKey) {
|
|
|
952
716
|
*/
|
|
953
717
|
async function getAllProjectSpecialistStatuses() {
|
|
954
718
|
const registry = loadRegistry();
|
|
955
|
-
const { getAgentRuntimeStateSync } = await import("./agents-
|
|
719
|
+
const { getAgentRuntimeStateSync } = await import("./agents-CEcaxSkR.js");
|
|
956
720
|
const results = [];
|
|
957
721
|
for (const [projectKey, specialists] of Object.entries(registry.projects)) for (const [registryKey, metadata] of Object.entries(specialists)) {
|
|
958
722
|
const { specialistType, issueId, role } = parseSpecialistRegistryKey(registryKey);
|
|
@@ -1089,7 +853,7 @@ async function getSpecialistStatus(name, projectKey) {
|
|
|
1089
853
|
const sessionId = readRecordedClaudeSessionId(getTmuxSessionName(name, projectKey));
|
|
1090
854
|
const running = await isRunning(name, projectKey);
|
|
1091
855
|
const contextTokens = countContextTokens(name);
|
|
1092
|
-
const { getAgentRuntimeStateSync } = await import("./agents-
|
|
856
|
+
const { getAgentRuntimeStateSync } = await import("./agents-CEcaxSkR.js");
|
|
1093
857
|
const runtimeState = getAgentRuntimeStateSync(getTmuxSessionName(name, projectKey));
|
|
1094
858
|
let state;
|
|
1095
859
|
if (runtimeState) switch (runtimeState.state) {
|
|
@@ -1169,7 +933,7 @@ async function sendFeedbackToAgent(feedback) {
|
|
|
1169
933
|
}
|
|
1170
934
|
const agentSession = `agent-${toIssueId.toLowerCase()}`;
|
|
1171
935
|
const feedbackMessage = formatFeedbackForAgent(fullFeedback);
|
|
1172
|
-
const { writeFeedbackFile } = await import("./feedback-writer-
|
|
936
|
+
const { writeFeedbackFile } = await import("./feedback-writer-BsJiw5aT.js");
|
|
1173
937
|
const specialist = {
|
|
1174
938
|
"review-agent": "review-agent",
|
|
1175
939
|
"test-agent": "test-agent",
|
|
@@ -1188,7 +952,7 @@ async function sendFeedbackToAgent(feedback) {
|
|
|
1188
952
|
return false;
|
|
1189
953
|
}
|
|
1190
954
|
try {
|
|
1191
|
-
const { messageAgent } = await import("./agents-
|
|
955
|
+
const { messageAgent } = await import("./agents-CEcaxSkR.js");
|
|
1192
956
|
await messageAgent(agentSession, `SPECIALIST FEEDBACK: ${fromSpecialist} reported ${feedback.feedbackType.toUpperCase()} for ${toIssueId}.\n\nMUST READ: ${fileResult.filePath}\n\nUse your Read tool to open this file, read every line, then address the feedback and continue working. Do NOT stop at the prompt.`);
|
|
1193
957
|
console.log(`[specialist] Sent feedback from ${fromSpecialist} to ${agentSession} (file: ${fileResult.filePath})`);
|
|
1194
958
|
return true;
|
|
@@ -1305,6 +1069,6 @@ var init_specialists = __esmMin((() => {
|
|
|
1305
1069
|
FEEDBACK_LOG = join(FEEDBACK_DIR, "feedback.jsonl");
|
|
1306
1070
|
}));
|
|
1307
1071
|
//#endregion
|
|
1308
|
-
export { updateRunMetadata as $, isEnabled as A, pauseGracePeriod as B, getSpecialistState as C, initSpecialistsDirectory as D, incrementProjectRunCount as E, listSpecialistsForProject as F, sendFeedbackToAgent as G, recordWake as H, loadRegistry as I, specialists_exports as J, setCurrentRun as K, makeSpecialistRegistryKey as L, isProjectSpecialistActivelyRunning as M, isRunning as N, init_specialists as O, listProjectsWithSpecialists as P, updateProjectSpecialistMetadata as Q, parseReviewerSessionName as R, getSpecialistMetadata as S, getTmuxSessionName as T, resumeGracePeriod as U, pruneSpecialistRegistryEntriesForIssue as V, saveRegistry as W, terminateSpecialist as X, startGracePeriod as Y, updateContextTokens as Z, getPendingFeedback as _, disableSpecialist as a,
|
|
1072
|
+
export { updateRunMetadata as $, isEnabled as A, pauseGracePeriod as B, getSpecialistState as C, initSpecialistsDirectory as D, incrementProjectRunCount as E, listSpecialistsForProject as F, sendFeedbackToAgent as G, recordWake as H, loadRegistry as I, specialists_exports as J, setCurrentRun as K, makeSpecialistRegistryKey as L, isProjectSpecialistActivelyRunning as M, isRunning as N, init_specialists as O, listProjectsWithSpecialists as P, updateProjectSpecialistMetadata as Q, parseReviewerSessionName as R, getSpecialistMetadata as S, getTmuxSessionName as T, resumeGracePeriod as U, pruneSpecialistRegistryEntriesForIssue as V, saveRegistry as W, terminateSpecialist as X, startGracePeriod as Y, updateContextTokens as Z, getPendingFeedback as _, disableSpecialist as a, getReviewerSessionName as b, exitGracePeriod as c, getAllProjectSpecialistStatuses as d, updateRunStatus as et, getAllSpecialistStatus as f, getGracePeriodState as g, getFeedbackStats as h, countContextTokens as i, isInitialized as j, initializeEnabledSpecialists as k, findActiveRegistryKey as l, getEnabledSpecialists as m, buildSpecialistBaseCommand as n, enableSpecialist as o, getAllSpecialists as p, signalSpecialistCompletion as q, buildSpecialistCavemanExports as r, ensureProjectSpecialistDir as s, REVIEWER_ROLES as t, updateSpecialistMetadata as tt, findSessionFile as u, getProjectSpecialistDir as v, getSpecialistStatus as w, getRunMetadata as x, getProjectSpecialistMetadata as y, parseSpecialistRegistryKey as z };
|
|
1309
1073
|
|
|
1310
|
-
//# sourceMappingURL=specialists-
|
|
1074
|
+
//# sourceMappingURL=specialists-CwzFdapR.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { i as validateSpecialistAutoCompleteMetadata, n as _serverManagedMerges, r as firePostMergeLifecycle, t as specialistsRouteLayer } from "./specialists-
|
|
1
|
+
import { i as validateSpecialistAutoCompleteMetadata, n as _serverManagedMerges, r as firePostMergeLifecycle, t as specialistsRouteLayer } from "./specialists-CFgw_0Q6.js";
|
|
2
2
|
export { _serverManagedMerges, specialistsRouteLayer as default, specialistsRouteLayer, firePostMergeLifecycle, validateSpecialistAutoCompleteMetadata };
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { $ as updateRunMetadata, A as isEnabled, B as pauseGracePeriod, C as getSpecialistState, D as initSpecialistsDirectory, E as incrementProjectRunCount, F as listSpecialistsForProject, G as sendFeedbackToAgent, H as recordWake, I as loadRegistry, K as setCurrentRun, L as makeSpecialistRegistryKey, M as isProjectSpecialistActivelyRunning, N as isRunning, O as init_specialists, P as listProjectsWithSpecialists, Q as updateProjectSpecialistMetadata, R as parseReviewerSessionName, S as getSpecialistMetadata, T as getTmuxSessionName, U as resumeGracePeriod, V as pruneSpecialistRegistryEntriesForIssue, W as saveRegistry, X as terminateSpecialist, Y as startGracePeriod, Z as updateContextTokens, _ as getPendingFeedback, a as disableSpecialist, b as getReviewerSessionName, c as exitGracePeriod, d as getAllProjectSpecialistStatuses, et as updateRunStatus, f as getAllSpecialistStatus, g as getGracePeriodState, h as getFeedbackStats, i as countContextTokens, j as isInitialized, k as initializeEnabledSpecialists, l as findActiveRegistryKey, m as getEnabledSpecialists, n as buildSpecialistBaseCommand, o as enableSpecialist, p as getAllSpecialists, q as signalSpecialistCompletion, r as buildSpecialistCavemanExports, s as ensureProjectSpecialistDir, t as REVIEWER_ROLES, tt as updateSpecialistMetadata, u as findSessionFile, v as getProjectSpecialistDir, w as getSpecialistStatus, x as getRunMetadata, y as getProjectSpecialistMetadata, z as parseSpecialistRegistryKey } from "./specialists-
|
|
1
|
+
import { $ as updateRunMetadata, A as isEnabled, B as pauseGracePeriod, C as getSpecialistState, D as initSpecialistsDirectory, E as incrementProjectRunCount, F as listSpecialistsForProject, G as sendFeedbackToAgent, H as recordWake, I as loadRegistry, K as setCurrentRun, L as makeSpecialistRegistryKey, M as isProjectSpecialistActivelyRunning, N as isRunning, O as init_specialists, P as listProjectsWithSpecialists, Q as updateProjectSpecialistMetadata, R as parseReviewerSessionName, S as getSpecialistMetadata, T as getTmuxSessionName, U as resumeGracePeriod, V as pruneSpecialistRegistryEntriesForIssue, W as saveRegistry, X as terminateSpecialist, Y as startGracePeriod, Z as updateContextTokens, _ as getPendingFeedback, a as disableSpecialist, b as getReviewerSessionName, c as exitGracePeriod, d as getAllProjectSpecialistStatuses, et as updateRunStatus, f as getAllSpecialistStatus, g as getGracePeriodState, h as getFeedbackStats, i as countContextTokens, j as isInitialized, k as initializeEnabledSpecialists, l as findActiveRegistryKey, m as getEnabledSpecialists, n as buildSpecialistBaseCommand, o as enableSpecialist, p as getAllSpecialists, q as signalSpecialistCompletion, r as buildSpecialistCavemanExports, s as ensureProjectSpecialistDir, t as REVIEWER_ROLES, tt as updateSpecialistMetadata, u as findSessionFile, v as getProjectSpecialistDir, w as getSpecialistStatus, x as getRunMetadata, y as getProjectSpecialistMetadata, z as parseSpecialistRegistryKey } from "./specialists-CwzFdapR.js";
|
|
2
2
|
init_specialists();
|
|
3
3
|
export { REVIEWER_ROLES, buildSpecialistBaseCommand, buildSpecialistCavemanExports, countContextTokens, disableSpecialist, enableSpecialist, ensureProjectSpecialistDir, exitGracePeriod, findActiveRegistryKey, findSessionFile, getAllProjectSpecialistStatuses, getAllSpecialistStatus, getAllSpecialists, getEnabledSpecialists, getFeedbackStats, getGracePeriodState, getPendingFeedback, getProjectSpecialistDir, getProjectSpecialistMetadata, getReviewerSessionName, getRunMetadata, getSpecialistMetadata, getSpecialistState, getSpecialistStatus, getTmuxSessionName, incrementProjectRunCount, initSpecialistsDirectory, initializeEnabledSpecialists, isEnabled, isInitialized, isProjectSpecialistActivelyRunning, isRunning, listProjectsWithSpecialists, listSpecialistsForProject, loadRegistry, makeSpecialistRegistryKey, parseReviewerSessionName, parseSpecialistRegistryKey, pauseGracePeriod, pruneSpecialistRegistryEntriesForIssue, recordWake, resumeGracePeriod, saveRegistry, sendFeedbackToAgent, setCurrentRun, signalSpecialistCompletion, startGracePeriod, terminateSpecialist, updateContextTokens, updateProjectSpecialistMetadata, updateRunMetadata, updateRunStatus, updateSpecialistMetadata };
|
|
@@ -237,6 +237,11 @@ var init_types = __esmMin((() => {
|
|
|
237
237
|
}))
|
|
238
238
|
}))
|
|
239
239
|
})),
|
|
240
|
+
pendingProposedPlan: Schema.optional(Schema.Struct({
|
|
241
|
+
toolUseId: Schema.String,
|
|
242
|
+
askedAt: Schema.String,
|
|
243
|
+
plan: Schema.String
|
|
244
|
+
})),
|
|
240
245
|
resolution: Schema.optional(AgentResolution),
|
|
241
246
|
resolutionCount: Schema.optional(Schema.Number),
|
|
242
247
|
runtimeSnapshotSequence: Schema.optional(SequenceNumber)
|
|
@@ -784,7 +789,7 @@ var init_memory = __esmMin((() => {
|
|
|
784
789
|
}));
|
|
785
790
|
//#endregion
|
|
786
791
|
//#region ../../../packages/contracts/src/events.ts
|
|
787
|
-
var SystemHeartbeatEvent, AgentStartedEvent, AgentStoppedEvent, AgentHeartbeatDeadEvent, WorkCompletedEvent, AgentCompletedEvent, ReviewApprovedEvent, TestPassedEvent, AgentStatusChangedEvent, AgentOutputReceivedEvent, AgentEnrichmentChangedEvent, AgentCreatedEvent, AgentActivityChangedEvent, AgentThinkingStartedEvent, AgentThinkingStoppedEvent, AgentWaitingStartedEvent, AgentWaitingClearedEvent, AgentPermissionRequestedEvent, AgentPermissionResolvedEvent, AgentMessageReceivedEvent, AgentChannelReplyEvent, AgentModelSetEvent, AgentCurrentIssueSetEvent, AgentContextSaturationChangedEvent, AgentResolutionChangedEvent, AgentStateRestoredEvent, AgentTurnDiffCompletedEvent, PlanningStartedEvent, PlanningFailedEvent, PlanningSyncEvent, PlanItemStatusChangedEvent, PlanSubitemStatusChangedEvent, PlanItemsUnblockedEvent, PipelineStatusChangedEvent, MergeReadyEvent, ReviewStatusChangedEvent, PipelineReviewStartedEvent, PipelineReviewCompletedEvent, PipelineTestStartedEvent, PipelineTestCompletedEvent, PipelineVerificationStartedEvent, PipelineVerificationFailedEvent, IssueTransitionedEvent, OperatorInterventionEvent, SubstrateBugFiledEvent, ReviewReviewerStartedEvent, ReviewReviewerCompletedEvent, ReviewSpecialistTimedOutEvent, ReviewCoordinatorStartedEvent, ReviewCoordinatorDiedEvent, SpecialistLifecycleState, SpecialistStartedEvent, SpecialistCompletedEvent, SpecialistFailedEvent, ResourcesUpdatedEvent, SystemHealthSeverityChangedEvent, IssuesSnapshotEvent, IssuesUpdatedEvent, IssueStatusChangedEvent, ActivityUpdatedEvent, ActivityEntryEvent, ActivityDetailedEvent, ActivityTtsEvent, DashboardLifecycleStartedEvent, DashboardLifecycleCompletedEvent, DashboardLifecycleFailedEvent, ShadowInferenceUpdateEvent, WorkspaceCreatedEvent, WorkspaceWipeStartedEvent, WorkspaceDestroyedEvent, WorkspaceDeletedEvent, WorkspaceAbortedEvent, MemoryObservationCreatedEvent, MemoryStatusUpdatedEvent, MemoryRollupTriggeredEvent, MemoryResetMarkerCreatedEvent, MemoryHealthChangedEvent, CostEventRecordedEvent, ConversationCompactingChangedEvent, ConversationCreatedEvent, ConversationTitleChangedEvent, ConversationPermissionChangedEvent, ScanStartedEvent, ScanProgressEvent, ScanCompleteEvent, EnrichProgressEvent, EnrichCompleteEvent, EmbedProgressEvent, DomainEvent;
|
|
792
|
+
var SystemHeartbeatEvent, BeadsFreshnessChangedEvent, AgentStartedEvent, AgentStoppedEvent, AgentHeartbeatDeadEvent, WorkCompletedEvent, AgentCompletedEvent, ReviewApprovedEvent, TestPassedEvent, AgentStatusChangedEvent, AgentOutputReceivedEvent, AgentEnrichmentChangedEvent, AgentCreatedEvent, AgentActivityChangedEvent, AgentThinkingStartedEvent, AgentThinkingStoppedEvent, AgentWaitingStartedEvent, AgentWaitingClearedEvent, AgentPermissionRequestedEvent, AgentPermissionResolvedEvent, AgentMessageReceivedEvent, AgentChannelReplyEvent, AgentModelSetEvent, AgentCurrentIssueSetEvent, AgentContextSaturationChangedEvent, AgentResolutionChangedEvent, AgentStateRestoredEvent, AgentTurnDiffCompletedEvent, PlanningStartedEvent, PlanningFailedEvent, PlanningSyncEvent, PlanItemStatusChangedEvent, PlanSubitemStatusChangedEvent, PlanItemsUnblockedEvent, PipelineStatusChangedEvent, MergeReadyEvent, ReviewStatusChangedEvent, PipelineReviewStartedEvent, PipelineReviewCompletedEvent, PipelineTestStartedEvent, PipelineTestCompletedEvent, PipelineVerificationStartedEvent, PipelineVerificationFailedEvent, IssueTransitionedEvent, OperatorInterventionEvent, SubstrateBugFiledEvent, ReviewReviewerStartedEvent, ReviewReviewerCompletedEvent, ReviewSpecialistTimedOutEvent, ReviewCoordinatorStartedEvent, ReviewCoordinatorDiedEvent, SpecialistLifecycleState, SpecialistStartedEvent, SpecialistCompletedEvent, SpecialistFailedEvent, ResourcesUpdatedEvent, SystemHealthSeverityChangedEvent, IssuesSnapshotEvent, IssuesUpdatedEvent, IssueStatusChangedEvent, ActivityUpdatedEvent, ActivityEntryEvent, ActivityDetailedEvent, ActivityTtsEvent, DashboardLifecycleStartedEvent, DashboardLifecycleCompletedEvent, DashboardLifecycleFailedEvent, ShadowInferenceUpdateEvent, WorkspaceCreatedEvent, WorkspaceWipeStartedEvent, WorkspaceDestroyedEvent, WorkspaceDeletedEvent, WorkspaceAbortedEvent, MemoryObservationCreatedEvent, MemoryStatusUpdatedEvent, MemoryRollupTriggeredEvent, MemoryResetMarkerCreatedEvent, MemoryHealthChangedEvent, CostEventRecordedEvent, ConversationCompactingChangedEvent, ConversationCreatedEvent, ConversationTitleChangedEvent, ConversationPermissionChangedEvent, ScanStartedEvent, ScanProgressEvent, ScanCompleteEvent, EnrichProgressEvent, EnrichCompleteEvent, EmbedProgressEvent, DomainEvent;
|
|
788
793
|
var init_events = __esmMin((() => {
|
|
789
794
|
init_types();
|
|
790
795
|
init_memory();
|
|
@@ -793,6 +798,16 @@ var init_events = __esmMin((() => {
|
|
|
793
798
|
timestamp: Schema.String,
|
|
794
799
|
payload: Schema.Struct({ ts: Schema.Number })
|
|
795
800
|
});
|
|
801
|
+
BeadsFreshnessChangedEvent = Schema.Struct({
|
|
802
|
+
type: Schema.Literal("beads.freshness_changed"),
|
|
803
|
+
sequence: SequenceNumber,
|
|
804
|
+
timestamp: Schema.String,
|
|
805
|
+
payload: Schema.Struct({
|
|
806
|
+
projectKey: Schema.String,
|
|
807
|
+
localHead: Schema.String,
|
|
808
|
+
lastSyncedAt: Schema.String
|
|
809
|
+
})
|
|
810
|
+
});
|
|
796
811
|
AgentStartedEvent = Schema.Struct({
|
|
797
812
|
type: Schema.Literal("agent.started"),
|
|
798
813
|
sequence: SequenceNumber,
|
|
@@ -939,6 +954,11 @@ var init_events = __esmMin((() => {
|
|
|
939
954
|
}))
|
|
940
955
|
}))
|
|
941
956
|
})),
|
|
957
|
+
pendingProposedPlan: Schema.optional(Schema.Struct({
|
|
958
|
+
toolUseId: Schema.String,
|
|
959
|
+
askedAt: Schema.String,
|
|
960
|
+
plan: Schema.String
|
|
961
|
+
})),
|
|
942
962
|
resolution: Schema.optional(AgentResolution),
|
|
943
963
|
resolutionCount: Schema.optional(Schema.Number)
|
|
944
964
|
})
|
|
@@ -1720,6 +1740,7 @@ var init_events = __esmMin((() => {
|
|
|
1720
1740
|
});
|
|
1721
1741
|
DomainEvent = Schema.Union([
|
|
1722
1742
|
SystemHeartbeatEvent,
|
|
1743
|
+
BeadsFreshnessChangedEvent,
|
|
1723
1744
|
AgentCreatedEvent,
|
|
1724
1745
|
AgentEnrichmentChangedEvent,
|
|
1725
1746
|
AgentStartedEvent,
|
|
@@ -2725,6 +2746,7 @@ function applyEvent(state, event) {
|
|
|
2725
2746
|
pendingInputCount: event.payload.pendingInputCount,
|
|
2726
2747
|
pendingInputKinds: event.payload.pendingInputKinds,
|
|
2727
2748
|
pendingAskUserQuestion: event.payload.pendingAskUserQuestion,
|
|
2749
|
+
pendingProposedPlan: event.payload.pendingProposedPlan,
|
|
2728
2750
|
resolution: event.payload.resolution,
|
|
2729
2751
|
resolutionCount: event.payload.resolutionCount
|
|
2730
2752
|
}
|
|
@@ -2842,6 +2864,7 @@ function applyEvent(state, event) {
|
|
|
2842
2864
|
delete base["pendingInputCount"];
|
|
2843
2865
|
delete base["pendingInputKinds"];
|
|
2844
2866
|
delete base["pendingAskUserQuestion"];
|
|
2867
|
+
delete base["pendingProposedPlan"];
|
|
2845
2868
|
}
|
|
2846
2869
|
return base;
|
|
2847
2870
|
})();
|
|
@@ -4282,6 +4305,64 @@ var init_harness_behavior = __esmMin((() => {
|
|
|
4282
4305
|
workAgentMode: "codex-work-tui",
|
|
4283
4306
|
readyTimeoutSeconds: 30
|
|
4284
4307
|
};
|
|
4308
|
+
})), HygieneFinding, HygienePullRequest;
|
|
4309
|
+
var init_hygiene = __esmMin((() => {
|
|
4310
|
+
HygieneFinding = Schema.Struct({
|
|
4311
|
+
id: Schema.String,
|
|
4312
|
+
summary: Schema.String,
|
|
4313
|
+
detail: Schema.optional(Schema.String),
|
|
4314
|
+
urgent: Schema.optional(Schema.Boolean)
|
|
4315
|
+
});
|
|
4316
|
+
HygienePullRequest = Schema.Struct({
|
|
4317
|
+
number: Schema.Number,
|
|
4318
|
+
branch: Schema.String,
|
|
4319
|
+
url: Schema.String,
|
|
4320
|
+
blocking: Schema.Literals([
|
|
4321
|
+
"review-pending",
|
|
4322
|
+
"test-pending",
|
|
4323
|
+
"failing-checks",
|
|
4324
|
+
"awaiting-UAT",
|
|
4325
|
+
"clean"
|
|
4326
|
+
])
|
|
4327
|
+
});
|
|
4328
|
+
Schema.Struct({
|
|
4329
|
+
generatedAt: Schema.String,
|
|
4330
|
+
root: Schema.String,
|
|
4331
|
+
needsAttention: Schema.Boolean,
|
|
4332
|
+
skipped: Schema.Array(Schema.String),
|
|
4333
|
+
push: Schema.Struct({
|
|
4334
|
+
ahead: Schema.Number,
|
|
4335
|
+
commits: Schema.Array(Schema.String)
|
|
4336
|
+
}),
|
|
4337
|
+
tree: Schema.Struct({
|
|
4338
|
+
files: Schema.Array(Schema.String),
|
|
4339
|
+
backups: Schema.Array(Schema.String)
|
|
4340
|
+
}),
|
|
4341
|
+
prs: Schema.Array(HygienePullRequest),
|
|
4342
|
+
agents: Schema.Struct({
|
|
4343
|
+
counts: Schema.Record(Schema.String, Schema.Number),
|
|
4344
|
+
problems: Schema.Array(HygieneFinding)
|
|
4345
|
+
}),
|
|
4346
|
+
sessions: Schema.Struct({
|
|
4347
|
+
total: Schema.Number,
|
|
4348
|
+
zombies: Schema.Array(Schema.String)
|
|
4349
|
+
}),
|
|
4350
|
+
branches: Schema.Struct({ stale: Schema.Array(Schema.String) }),
|
|
4351
|
+
workspaces: Schema.Struct({ stale: Schema.Array(Schema.String) }),
|
|
4352
|
+
disk: Schema.Struct({
|
|
4353
|
+
availableGb: Schema.Number,
|
|
4354
|
+
thresholdGb: Schema.Number,
|
|
4355
|
+
urgent: Schema.Boolean
|
|
4356
|
+
}),
|
|
4357
|
+
fixes: Schema.Struct({
|
|
4358
|
+
branchesDeleted: Schema.Array(Schema.String),
|
|
4359
|
+
workspacesRemoved: Schema.Array(Schema.Struct({
|
|
4360
|
+
path: Schema.String,
|
|
4361
|
+
freedBytes: Schema.Number
|
|
4362
|
+
})),
|
|
4363
|
+
errors: Schema.Array(Schema.String)
|
|
4364
|
+
})
|
|
4365
|
+
});
|
|
4285
4366
|
}));
|
|
4286
4367
|
//#endregion
|
|
4287
4368
|
//#region ../../../packages/contracts/src/index.ts
|
|
@@ -4298,8 +4379,9 @@ var init_src = __esmMin((() => {
|
|
|
4298
4379
|
init_artifacts();
|
|
4299
4380
|
init_feature_registry();
|
|
4300
4381
|
init_harness_behavior();
|
|
4382
|
+
init_hygiene();
|
|
4301
4383
|
}));
|
|
4302
4384
|
//#endregion
|
|
4303
4385
|
export { normalizeChannelReplyPayload as C, MemoryStatus as S, FlywheelRunId as _, getHarnessBehavior as a, DomainEvent as b, FlywheelStats as c, getMaxTurnDiffSummariesPerAgent as d, isTerminalTurnDiffSummaryStatus as f, WS_METHODS as g, PanRpcGroup as h, OHMYPI_BEHAVIOR as i, INITIAL_READ_MODEL_STATE as l, PanRpcError as m, CLAUDE_CODE_BEHAVIOR as n, ContextLayerSaveRequest as o, trimTurnDiffSummaries as p, CODEX_BEHAVIOR as r, ContextPreviewRequest as s, init_src as t, applyEvent as u, FlywheelStatus as v, MemoryObservation as x, EDITORS as y };
|
|
4304
4386
|
|
|
4305
|
-
//# sourceMappingURL=src-
|
|
4387
|
+
//# sourceMappingURL=src-B4TTzNSr.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import { i as init_esm_min, n as FormData, o as Blob, r as formDataToBlob, s as init_fetch_blob, t as init_from } from "./from-
|
|
2
|
+
import { i as init_esm_min, n as FormData, o as Blob, r as formDataToBlob, s as init_fetch_blob, t as init_from } from "./from-NSJypkI8.js";
|
|
3
3
|
import { deprecate, promisify, types } from "node:util";
|
|
4
4
|
import { Buffer as Buffer$1 } from "node:buffer";
|
|
5
5
|
import Stream, { PassThrough, pipeline } from "node:stream";
|
|
@@ -209,7 +209,7 @@ var init_body = __esmMin((() => {
|
|
|
209
209
|
for (const [name, value] of parameters) formData.append(name, value);
|
|
210
210
|
return formData;
|
|
211
211
|
}
|
|
212
|
-
const { toFormData } = await import("./multipart-parser-
|
|
212
|
+
const { toFormData } = await import("./multipart-parser-Csn8U-K9.js");
|
|
213
213
|
return toFormData(this.body, ct);
|
|
214
214
|
}
|
|
215
215
|
/**
|
|
@@ -1176,4 +1176,4 @@ __esmMin((() => {
|
|
|
1176
1176
|
}))();
|
|
1177
1177
|
export { fetch as default };
|
|
1178
1178
|
|
|
1179
|
-
//# sourceMappingURL=src-
|
|
1179
|
+
//# sourceMappingURL=src-BvpMg4EB.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { i as __require, o as __toESM, t as __commonJSMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import { r as init_esm_shims, t as __dirname } from "./esm-shims-
|
|
3
|
-
import { n as require_dist$1, r as require_src$14, t as require_dist$2 } from "./dist-
|
|
2
|
+
import { r as init_esm_shims, t as __dirname } from "./esm-shims-BEjvINX3.js";
|
|
3
|
+
import { n as require_dist$1, r as require_src$14, t as require_dist$2 } from "./dist-BMXvKiZP.js";
|
|
4
4
|
//#region ../../../node_modules/.bun/@google-cloud+promisify@4.1.0/node_modules/@google-cloud/promisify/build/src/index.js
|
|
5
5
|
var require_src$13 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -1198,12 +1198,12 @@ var require_gaxios = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
1198
1198
|
* @returns A proxy agent
|
|
1199
1199
|
*/
|
|
1200
1200
|
static async #getProxyAgent() {
|
|
1201
|
-
this.#proxyAgent ||= (await import("./dist-
|
|
1201
|
+
this.#proxyAgent ||= (await import("./dist-BNwrgsUO.js").then((m) => /* @__PURE__ */ __toESM(m.default))).HttpsProxyAgent;
|
|
1202
1202
|
return this.#proxyAgent;
|
|
1203
1203
|
}
|
|
1204
1204
|
static async #getFetch() {
|
|
1205
1205
|
const hasWindow = typeof window !== "undefined" && !!window;
|
|
1206
|
-
this.#fetch ||= hasWindow ? window.fetch : (await import("./src-
|
|
1206
|
+
this.#fetch ||= hasWindow ? window.fetch : (await import("./src-BvpMg4EB.js")).default;
|
|
1207
1207
|
return this.#fetch;
|
|
1208
1208
|
}
|
|
1209
1209
|
/**
|
|
@@ -10601,7 +10601,7 @@ var require_src$7 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
10601
10601
|
const TeenyStatistics_1 = require_TeenyStatistics();
|
|
10602
10602
|
const crypto_1 = __require("crypto");
|
|
10603
10603
|
const streamEvents = require_stream_events();
|
|
10604
|
-
const fetch = (...args) => import("./src-
|
|
10604
|
+
const fetch = (...args) => import("./src-BvpMg4EB.js").then(({ default: fetch }) => fetch(...args));
|
|
10605
10605
|
var RequestError = class extends Error {
|
|
10606
10606
|
code;
|
|
10607
10607
|
};
|
|
@@ -133656,4 +133656,4 @@ var require_src = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
133656
133656
|
export default require_src();
|
|
133657
133657
|
export {};
|
|
133658
133658
|
|
|
133659
|
-
//# sourceMappingURL=src-
|
|
133659
|
+
//# sourceMappingURL=src-D4YUZrwR.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import {
|
|
2
|
+
import { Fn as init_projects, ir as parseIssueIdSync, kn as getProjectSync, nr as init_issue_id, qn as resolveProjectFromIssueSync } from "./config-yaml-cNOZcEww.js";
|
|
3
3
|
import { a as init_activity_logger, n as emitActivityEntrySync } from "./activity-logger-pcbf-e30.js";
|
|
4
4
|
import { join } from "node:path";
|
|
5
5
|
import { Duration, Effect, Schedule, Stream } from "effect";
|
|
@@ -352,4 +352,4 @@ var init_stack_health = __esmMin((() => {
|
|
|
352
352
|
//#endregion
|
|
353
353
|
export { init_stack_health as a, init_docker_stats as c, getWorkspaceStackHealth as i, recordDockerContainerLifecycleSnapshot as l, collectDockerContainerLifecycleSnapshot as n, recordWorkspaceStackHealthTransition as o, evaluateWorkspaceStackHealth as r, DockerStatsCollector as s, DEFAULT_STUCK_CREATED_THRESHOLD_MS as t };
|
|
354
354
|
|
|
355
|
-
//# sourceMappingURL=stack-health-
|
|
355
|
+
//# sourceMappingURL=stack-health-CSgcYcr8.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import {
|
|
3
|
-
import { B as colorFgBgForTheme, H as init_ui_theme, V as getUiThemeSync } from "./tmux-
|
|
4
|
-
import { a as getHarnessBehavior } from "./src-
|
|
5
|
-
import { t as init_behavior } from "./behavior-
|
|
6
|
-
import { l as init_codex, u as toCodexSandboxValue } from "./codex-
|
|
2
|
+
import { Fn as init_projects, Gn as resolveInfraRepo, Jr as init_paths, V as qualifyPiModel, _n as init_project_key, cn as STATE_BRANCH_PATHS, dn as init_state_plane, z as init_providers } from "./config-yaml-cNOZcEww.js";
|
|
3
|
+
import { B as colorFgBgForTheme, H as init_ui_theme, V as getUiThemeSync } from "./tmux-C3g9VFcg.js";
|
|
4
|
+
import { a as getHarnessBehavior } from "./src-B4TTzNSr.js";
|
|
5
|
+
import { t as init_behavior } from "./behavior-BTpYbAv4.js";
|
|
6
|
+
import { l as init_codex, u as toCodexSandboxValue } from "./codex-BbqIRZjd.js";
|
|
7
7
|
import { dirname, join } from "node:path";
|
|
8
8
|
import { Data } from "effect";
|
|
9
9
|
import { existsSync } from "node:fs";
|
|
@@ -487,4 +487,4 @@ var init_state_home = __esmMin((() => {
|
|
|
487
487
|
//#endregion
|
|
488
488
|
export { init_launcher_generator as a, requireModelOverrideSync as c, generateLauncherScriptSync as i, shellQuoteModelIdSync as l, init_state_home as n, init_model_validation as o, isStateMigrated as r, normalizeModelOverrideSync as s, findRecreatedLegacyStatePaths as t };
|
|
489
489
|
|
|
490
|
-
//# sourceMappingURL=state-home-
|
|
490
|
+
//# sourceMappingURL=state-home-CEvD_v5F.js.map
|