@overdeck/desktop 0.45.16 → 0.45.18
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/dist-electron/main.js +149 -158
- package/dist-electron/main.js.map +1 -1
- package/dist-electron/preload.js +17 -2
- package/dist-electron/preload.js.map +1 -1
- package/package.json +5 -4
- package/server/acceptance-criteria-aQFKQf-J.js +62 -0
- package/server/{advancing-selfheal-DJYAvGv-.js → advancing-selfheal-DgwQgm4D.js} +6 -6
- package/server/{agent-gc-D0wDIeV1.js → agent-gc-kpzxqT7P.js} +3 -3
- package/server/agent-state-C_6TG-Ad.js +3 -0
- package/server/{agent-state-service-CZrayD_G.js → agent-state-service-BUfovFfB.js} +1 -1
- package/server/{agent-state-service-DFslS5go.js → agent-state-service-nUD3qfob.js} +5 -5
- package/server/agents-BA15AQqo.js +3 -0
- package/server/{briefing-freshness-DESTCWo-.js → agents-BHBxr8c9.js} +5 -131
- package/server/{archive-planning-CbghE9-o.js → archive-planning-CzCW9Ifl.js} +5 -10
- package/server/{archive-planning-CoyIbgGK.js → archive-planning-D-QsBufn.js} +1 -1
- package/server/{artifact-index-jobs-CcSrUoSE.js → artifact-index-jobs-qqa51B2Z.js} +2 -2
- package/server/{backlog-auto-trigger-BfgDsII0.js → backlog-auto-trigger-B7Bi0bvY.js} +2 -2
- package/server/{behavior-BTpYbAv4.js → behavior-CWqNMqE5.js} +2 -2
- package/server/briefing-freshness-DuxIE1yr.js +131 -0
- package/server/{checkpoint-manager-BwFdegJF.js → checkpoint-manager-DF6hb9Jw.js} +3 -3
- package/server/{checkpoint-manager-DWSXooZV.js → checkpoint-manager-DixkLus7.js} +1 -1
- package/server/checkpoint-worker.js +1 -1
- package/server/{checkpoints-fjadfOKF.js → checkpoints-B1Z42tJE.js} +1 -1
- package/server/{checkpoints-BtUonbs3.js → checkpoints-BiviJqei.js} +2 -2
- package/server/{claude-hooks-provision-DiK62u0k.js → claude-hooks-provision-BeMGi4ty.js} +1 -1
- package/server/{claude-hooks-provision-DAtxutOs.js → claude-hooks-provision-Du_PkMsp.js} +2 -2
- package/server/{claude-permissions-CThLgf8d.js → claude-permissions-BB6agcOZ.js} +2 -2
- package/server/{claude-settings-overlay-BF9MPIwx.js → claude-settings-overlay-CAq2oFSK.js} +2 -2
- package/server/{claude-settings-overlay-Dx_Uqcmv.js → claude-settings-overlay-DUWWLd6M.js} +1 -1
- package/server/cli-BFgrSWKV.js +3 -0
- package/server/{cli-ByKIIMfT.js → cli-C33xPZNm.js} +9 -9
- package/server/{cliproxy-C_GuT5DU.js → cliproxy-BQX1TL6N.js} +1 -1
- package/server/{cliproxy-B4c1BUvs.js → cliproxy-CGBA1GzA.js} +2 -2
- package/server/{close-issue-BOuLKr6e.js → close-issue-DNv8npc1.js} +5 -5
- package/server/{closed-issue-reaper-CksfuiFD.js → closed-issue-reaper-DrqgBJlr.js} +1 -1
- package/server/{closed-issue-reaper-DCAYzNXW.js → closed-issue-reaper-LoMnnjtJ.js} +9 -9
- package/server/codex-DxLivxri.js +3 -0
- package/server/{codex-parser-mFYZh8vR.js → codex-parser-DboQnEXN.js} +2 -2
- package/server/{codex-BbqIRZjd.js → codex-sgWVCGUd.js} +43 -18
- package/server/{config-Dj6N8EP9.js → config-6MCHOZ2N.js} +1 -1
- package/server/{config-DVLdmnMJ.js → config-DfaUXr6r.js} +2 -2
- package/server/{config-yaml-cNOZcEww.js → config-yaml-CqaAyn8y.js} +74 -74
- package/server/{conflict-gate-BMKm_5DV.js → conflict-gate-BF_zhcmb.js} +3 -3
- package/server/{conflict-gate-CuXUv-bP.js → conflict-gate-BubJprtD.js} +1 -1
- package/server/{context-layers-c0JqYHcS.js → context-layers-BFrxfl0l.js} +17 -3
- package/server/{context-layers-CeAwSYNt.js → context-layers-DWL_8HhY.js} +2 -2
- package/server/{control-settings-D4EFsRBd.js → control-settings-BguNQ1F_.js} +4 -4
- package/server/{conversation-compaction-kHVfVRg3.js → conversation-compaction-CRKAf2qP.js} +1 -1
- package/server/{conversation-compaction-BCggyih4.js → conversation-compaction-DxSXl0pT.js} +8 -8
- package/server/{conversation-service-BTzObqGi.js → conversation-service-DzuY9qoH.js} +1 -1
- package/server/{conversation-service-B8LFQQm1.js → conversation-service-mFVFdDQK.js} +6 -6
- package/server/{conversations-B-lcHv-5.js → conversations-BX5aD-6F.js} +4 -4
- package/server/{conversations-BM7zlXjr.js → conversations-BajHQ60c.js} +1 -1
- package/server/{cost-D9kPIY_5.js → cost-BoqD1Pxz.js} +2 -2
- package/server/{cost-BcpRQ-7o.js → cost-DuZ5vlv-.js} +3 -3
- package/server/{cost-sync-DF6odxK9.js → cost-sync-BYnmnMkY.js} +3 -3
- package/server/{dag-DKI3sOmX.js → dag-C6kYyF17.js} +7 -243
- package/server/{dangerous-git-ops-Bn18PEcN.js → dangerous-git-ops-q5OPtXMd.js} +1 -1
- package/server/dashboard-db-worker.js +6 -6
- package/server/{deacon-DONuopff.js → deacon-CwCiNuEZ.js} +3 -3
- package/server/{deacon-DdARMjZq.js → deacon-Dru5onpk.js} +233 -162
- package/server/{deacon-nudge-log-B-naf89q.js → deacon-nudge-log-ilDfxrhK.js} +1 -1
- package/server/{deacon-swarm-BNGkmYR_.js → deacon-swarm-BPmBmSoU.js} +298 -72
- package/server/deacon-swarm-CKyGJng1.js +2 -0
- package/server/deacon.js +14 -7
- package/server/{devcontainer-renderer-C-34Sxyz.js → devcontainer-renderer-BqGNCzvN.js} +3 -3
- package/server/{dist-BMXvKiZP.js → dist-BwlEiLCU.js} +1 -1
- package/server/dist-Bx4KkgYL.js +3 -0
- package/server/{dist-src-BgGUblXg.js → dist-src-BE0Denfs.js} +1 -1
- package/server/{docker-apZ9pBYw.js → docker-CNjXS72x.js} +2 -2
- package/server/{ensure-devcontainer-Bqi1EF1P.js → ensure-devcontainer-5e9xOve4.js} +4 -4
- package/server/{ensure-devcontainer-Dq3KoOIl.js → ensure-devcontainer-C6gyUQdE.js} +1 -1
- package/server/{esm-shims-BEjvINX3.js → esm-shims-Cso7IGBC.js} +1 -1
- package/server/{event-store-CqDgfbAs.js → event-store-D9UhQyMS.js} +1 -1
- package/server/{event-store-D89fMfXS.js → event-store-KZnWUKWh.js} +3 -3
- package/server/{events-S_C0pvl6.js → events-2eFUPdqz.js} +3 -3
- package/server/{events-rIGncmP1.js → events-BYbvqZky.js} +1 -1
- package/server/{factory-DV18m0rc.js → factory-BtaRsHFC.js} +20 -17
- package/server/{feature-registry-population-CqZSnqQi.js → feature-registry-population-Ca2UaV0U.js} +4 -4
- package/server/{feature-registry-storage-BeXmNBwK.js → feature-registry-storage-DaP-bQxO.js} +2 -2
- package/server/{features-u5XeMaOK.js → features-DqvaoQoa.js} +2 -2
- package/server/{feedback-target-CwyWf0Dg.js → feedback-target-BXWdOiYI.js} +9 -7
- package/server/{feedback-target-DDG1PWl3.js → feedback-target-BblmMe9P.js} +1 -1
- package/server/{feedback-writer-BsJiw5aT.js → feedback-writer-CULeOOY4.js} +1 -1
- package/server/{feedback-writer-D20HSXre.js → feedback-writer-Dn8o9ZyE.js} +4 -4
- package/server/{flywheel-RCnHAgc4.js → flywheel-BUWdcfhq.js} +1 -1
- package/server/{flywheel-Dczmgchd.js → flywheel-CqkO3cDj.js} +15 -28
- package/server/{flywheel-9Y1X7IM-.js → flywheel-D9r1mw2U.js} +13 -13
- package/server/{flywheel-merge-order-DEtEd3aK.js → flywheel-merge-order-LDzQDwSg.js} +1 -1
- package/server/{flywheel-merge-order-CtCYsFJP.js → flywheel-merge-order-VtjUweEb.js} +6 -6
- package/server/forge-DJy3Zx4s.js +2 -0
- package/server/{forge-DFDThFil.js → forge-wEollMCi.js} +22 -12
- package/server/{from-NSJypkI8.js → from-B2tOYhYV.js} +1 -1
- package/server/{fts-db-C5A_TTOM.js → fts-db-Bgzn2RO7.js} +2 -2
- package/server/{fts-operations-DvCSimfU.js → fts-operations-Bj8yutnR.js} +2 -2
- package/server/{git-utils-Dr0L7mFk.js → git-utils-GxlL0tmt.js} +2 -2
- package/server/{git-utils-C0neHvQx.js → git-utils-q8jNoBts.js} +1 -1
- package/server/{github-app-Bwt9lK4A.js → github-app-BrYwK_Gb.js} +1 -1
- package/server/{github-app-u9-SX7Gc.js → github-app-tUbb8Ldr.js} +8 -3
- package/server/{github-client-Btyy3uan.js → github-client-BwBU41jK.js} +3 -3
- package/server/{github-client-Do3k-N1W.js → github-client-D6CNsftm.js} +1 -1
- package/server/{github-pr-lookup-DOF1U2WW.js → github-pr-lookup-BS5PqkJb.js} +2 -2
- package/server/{harness-resolve-C6g2R0Cd.js → harness-resolve-Dx8hUsvC.js} +3 -3
- package/server/{health-events-B4u-2a9m.js → health-events-2DLp-5Xp.js} +2 -2
- package/server/{health-events-Bos3sk5g.js → health-events-B0mj6Iae.js} +1 -1
- package/server/{hooks-uEr8WTx_.js → hooks-BDcQJDUe.js} +1 -1
- package/server/{hooks-BCoOjL_R.js → hooks-BS_JrvYP.js} +3 -3
- package/server/hume-B4seN95Y.js +3 -0
- package/server/{hume-BqxYKbUf.js → hume-BRhNKyXQ.js} +2 -2
- package/server/{idle-stack-reaper-DbZ8ukMd.js → idle-stack-reaper-BCITXNW5.js} +2 -2
- package/server/{idle-stack-reaper-H0W6XtHh.js → idle-stack-reaper-C1ymihno.js} +1 -1
- package/server/{infra-Ba9mS6e6.js → infra-_Kx1m9pm.js} +9 -4
- package/server/{injection-C1DKXeIZ.js → injection-Bvhyg_MV.js} +1 -1
- package/server/{injection-yrMBxzVq.js → injection-CCaYkofq.js} +7 -7
- package/server/{inspect-agent-B-mnb4uh.js → inspect-agent-BqyZ4pCo.js} +35 -67
- package/server/inspect-agent-DCJQm9Wu.js +2 -0
- package/server/{internal-token-BtqSbKTx.js → internal-token-Cl-1IxaE.js} +2 -2
- package/server/{internal-token-BPYEaXFh.js → internal-token-D-t28de5.js} +1 -1
- package/server/{io-VEGSAqsd.js → io-DkC4sFSy.js} +36 -43
- package/server/{issue-closed-BxcePXL-.js → issue-closed-Cpl4VDUM.js} +41 -6
- package/server/{issue-lifecycle--8MRxrG1.js → issue-lifecycle-CFR8TJ22.js} +22 -37
- package/server/{issue-lifecycle-CdMUauyb.js → issue-lifecycle-YNTy3OT3.js} +1 -1
- package/server/{issue-service-singleton-MZsDhAob.js → issue-service-singleton-D81mCts_.js} +1 -1
- package/server/{issue-service-singleton-CkTUI-eu.js → issue-service-singleton-ldvUUXi3.js} +29 -29
- package/server/{issues-CBAsuoAO.js → issues-DIEHt9sq.js} +2 -2
- package/server/{jsonl-parser-BUW5_sSK.js → jsonl-parser-Cd5jIqh7.js} +3 -3
- package/server/{label-cleanup-htK6fBRU.js → label-cleanup-Btny6Gyo.js} +3 -3
- package/server/{state-home-CEvD_v5F.js → launcher-generator-BXLM9f4b.js} +7 -127
- package/server/{layers-jjL16At6.js → layers-gCJlK62m.js} +2 -2
- package/server/lifecycle-D7aQUnTO.js +12 -0
- package/server/{lifecycle-io-DXv8Utct.js → lifecycle-io-DQBF-GHO.js} +1 -1
- package/server/{lifecycle-io-IehcRt2v.js → lifecycle-io-FfPUtz-y.js} +4 -4
- package/server/{linear-client-D9cSQfvD.js → linear-client-CDH2D6Qy.js} +3 -3
- package/server/{linear-client-By7hjwuN.js → linear-client-WrYrUIAH.js} +1 -1
- package/server/memory-fts-worker.js +1 -1
- package/server/{merge-BN8FGJ2q.js → merge-BsDgUxFz.js} +3 -3
- package/server/{merge-BLcEZNXz.js → merge-Dervs4BF.js} +1 -1
- package/server/{merge-agent-B3u2szOL.js → merge-agent-D6DNhe9j.js} +64 -51
- package/server/{merge-agent-ejC7Wos8.js → merge-agent-DMQTJMP0.js} +1 -1
- package/server/{merge-batch-DyqlgYGp.js → merge-batch-Bv6Z5K2H.js} +1 -1
- package/server/{merge-blockers-cq-aS2KG.js → merge-blockers-WWWi6Ur2.js} +2 -2
- package/server/merge-ops-h9OCnIVz.js +2 -0
- package/server/{merge-rebase-Dl7yIxtV.js → merge-rebase-Czth9ggm.js} +2 -2
- package/server/{merge-set-CZ9Nbay0.js → merge-set-DNc4zBqd.js} +3 -3
- package/server/{merge-set-Dy0D0r3i.js → merge-set-vuE3MEVt.js} +1 -1
- package/server/{merge-sync-D7jWLgCC.js → merge-sync-B2KSk54U.js} +2 -2
- package/server/{merge-sync-CG9kDCdT.js → merge-sync-B9nHdUGx.js} +1 -1
- package/server/{merge-train-CH33XJOH.js → merge-train-DJgr81tF.js} +3 -3
- package/server/{merge-train-deps-JoVdGnOg.js → merge-train-deps-B2OWS0k9.js} +4 -4
- package/server/{merge-verification-D4wTChdX.js → merge-verification-BBIXUEqa.js} +4 -4
- package/server/{multipart-parser-Csn8U-K9.js → multipart-parser-9DhuAkPd.js} +2 -2
- package/server/node_modules/.package-lock.json +11 -11
- package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/package.json +3 -3
- package/server/node_modules/toml/README.md +54 -0
- package/server/node_modules/toml/index.d.ts +42 -1
- package/server/node_modules/toml/index.js +3 -3
- package/server/node_modules/toml/lib/compiler.js +35 -3
- package/server/node_modules/toml/lib/parser.js +224 -143
- package/server/node_modules/toml/package.json +3 -1
- package/server/node_modules/ws/lib/receiver.js +15 -32
- package/server/node_modules/ws/lib/websocket-server.js +4 -4
- package/server/node_modules/ws/lib/websocket.js +4 -4
- package/server/node_modules/ws/package.json +5 -1
- package/server/{orphan-proposed-reconciler-DI_IS1p_.js → orphan-proposed-reconciler-B8H41C4a.js} +14 -24
- package/server/{orphan-proposed-reconciler-BIcNu4tl.js → orphan-proposed-reconciler-DbTmT7qy.js} +1 -1
- package/server/package-lock.json +12 -12
- package/server/package.json +1 -1
- package/server/{pan-dir-CQIfKG8c.js → pan-dir-BTw4MdSe.js} +4 -4
- package/server/{paths-Blj6A9AJ.js → paths-Btkc8mzp.js} +2 -2
- package/server/{pipeline-notifier-BH4PAi-w.js → pipeline-notifier-3frIvSi3.js} +1 -1
- package/server/{pipeline-notifier-D_WYtEwl.js → pipeline-notifier-DTd19f18.js} +2 -2
- package/server/{project-pipelines-jMTitpeO.js → project-pipelines-B95fcAek.js} +2 -2
- package/server/projects-Dc9aoVoG.js +3 -0
- package/server/{prompts-B3njaImU.js → prompts-CIVmjHxn.js} +2 -2
- package/server/{providers-DnPxkHoG.js → providers-BLLk5IIb.js} +1 -1
- package/server/{providers-BbEyFhPX.js → providers-C-yWibCk.js} +7 -7
- package/server/public/assets/{chunk-BO2N2NFS-3qh9TUJi.js → chunk-BO2N2NFS-DzKZyoKY.js} +4 -4
- package/server/public/assets/{diagram-OG6HWLK6-D8UVTPj7.js → diagram-OG6HWLK6-Cx8mWUb8.js} +1 -1
- package/server/public/assets/{dist-BvLLn1YC.js → dist-BqccLhaw.js} +3 -3
- package/server/public/assets/{dist-CyubL7Wj.js → dist-rC3nAs_O.js} +1 -1
- package/server/public/assets/{ganttDiagram-6RSMTGT7-BI4E1LbQ.js → ganttDiagram-6RSMTGT7-DLYPLf5T.js} +1 -1
- package/server/public/assets/{highlighted-body-OFNGDK62-D_bapWkF.js → highlighted-body-OFNGDK62-D4DqixbV.js} +1 -1
- package/server/public/assets/index-CPcysUHk.js +796 -0
- package/server/public/assets/index-H5M0yhM4.css +1 -0
- package/server/public/assets/{linear-CEdobObr.js → linear-yqcXkDfj.js} +1 -1
- package/server/public/assets/mermaid-GHXKKRXX-CWdZ_heB.js +1 -0
- package/server/public/assets/{pieDiagram-4H26LBE5-DT79L01f.js → pieDiagram-4H26LBE5-DhraIOaV.js} +1 -1
- package/server/public/assets/{prod-CR_K2DFV.js → prod-DKUunUdN.js} +4 -4
- package/server/public/assets/{quadrantDiagram-W4KKPZXB-BEkKXXrL.js → quadrantDiagram-W4KKPZXB-DPiRcToa.js} +1 -1
- package/server/public/assets/{sankeyDiagram-5OEKKPKP-BxSCqn-j.js → sankeyDiagram-5OEKKPKP-3An5HNkZ.js} +1 -1
- package/server/public/assets/{xychartDiagram-2RQKCTM6-DicwJGG_.js → xychartDiagram-2RQKCTM6-lbEOjfqQ.js} +1 -1
- package/server/public/index.html +2 -2
- package/server/{pull-requests-43LPDfM8.js → pull-requests-D7AL5woD.js} +1 -1
- package/server/{pull-requests-DyUkQl4W.js → pull-requests-NDDNtqNq.js} +3 -3
- package/server/{agents-B9GwfCyp.js → queries-C0LCGG21.js} +710 -325
- package/server/{rally-BtWjybOa.js → rally-4oKvnxLG.js} +3 -3
- package/server/rally-DF5a3ioP.js +3 -0
- package/server/{rally-api-B-osULNL.js → rally-api-41tT6ikZ.js} +2 -2
- package/server/{rally-api-B-YA_oXx.js → rally-api-BsaQ8Vnz.js} +1 -1
- package/server/{rally-client-sErNQBO0.js → rally-client-Bo4hNcCZ.js} +5 -5
- package/server/{rally-client-CzFymP7P.js → rally-client-b5PT1x5L.js} +1 -1
- package/server/{reap-terminal-sessions-DnDQ7pf9.js → reap-terminal-sessions-BR39qflC.js} +1 -1
- package/server/{reap-terminal-sessions-2s-fvilz.js → reap-terminal-sessions-CFkuquQj.js} +1 -1
- package/server/{rebuild-stack-nGD_nPZo.js → rebuild-stack-C7JPUom6.js} +1 -1
- package/server/{rebuild-stack-CoU-HqZj.js → rebuild-stack-Ddv6W017.js} +5 -5
- package/server/{reconstruct-cache-Wj8GrYB0.js → reconstruct-cache-Gqhm---K.js} +6 -6
- package/server/record-DLOqfbkI.js +3 -0
- package/server/record-update-BltEmPge.js +168 -0
- package/server/record-update-CDp7aTaT.js +3 -0
- package/server/recovery-trip-Cn7KJVkS.js +44 -0
- package/server/{release-engine-CBLQXDlH.js → release-engine-BYzmIBf9.js} +5 -5
- package/server/{release-set-BNiqi7hy.js → release-set-7pnxFOWR.js} +3 -3
- package/server/{remote-DW_TWQnr.js → remote-Cvu4CSDk.js} +3 -3
- package/server/{remote-agents-C4cyxHQS.js → remote-agents-C2C6z9tj.js} +6 -33
- package/server/{remote-agents-Cv-U-_V8.js → remote-agents-DYY5fFpd.js} +1 -1
- package/server/{remote-completion-PhXGGFQy.js → remote-completion-2Kb4IDg_.js} +13 -13
- package/server/{remote-DcO9An_f.js → remote-rN0ecjHE.js} +3 -3
- package/server/resume-BFLl-yLn.js +3 -0
- package/server/{review-agent-Dn-yn7Zj.js → review-agent-BZvk0N5G.js} +31 -23
- package/server/{review-agent-u5q3ip7H.js → review-agent-CpSHLzed.js} +1 -1
- package/server/{review-artifacts-D4T04aYI.js → review-artifacts-PCo53YMn.js} +5 -19
- package/server/{review-context-Rc0VDLG_.js → review-context-M7QtJlJq.js} +8 -8
- package/server/{review-monitor-BC--miCO.js → review-monitor-BLC5mTTg.js} +2 -2
- package/server/{review-status-CG0iDuWa.js → review-status-77N3PoZr.js} +1 -1
- package/server/{review-status-Dc1l4dVz.js → review-status-DANr0t-v.js} +32 -58
- package/server/{review-status-enrichment-C1a1OG_1.js → review-status-enrichment-DwOg4UfL.js} +3 -3
- package/server/{review-status-sync-CfSixhhX.js → review-status-sync-Bd08OOFA.js} +1 -1
- package/server/{review-status-sync-CAr-hfnJ.js → review-status-sync-BjTUJ5fx.js} +2 -2
- package/server/{review-verdict-feedback-D2Q960wX.js → review-verdict-feedback-BsFLjN_6.js} +1 -1
- package/server/{review-verdict-feedback-CVDbIDBe.js → review-verdict-feedback-CBf-J_wS.js} +8 -8
- package/server/{rollup-DctoIu-A.js → rollup-Bu0f2EyN.js} +8 -8
- package/server/{rollup-CakjztPl.js → rollup-DTCCdEy4.js} +1 -1
- package/server/{scanner-BTM1jc_u.js → scanner-BlZ2vB7j.js} +7 -7
- package/server/{sequence-io-pnoIDGv4.js → sequence-io-ylyDtz2J.js} +4 -4
- package/server/{sequencer-agent-9Soi-WL-.js → sequencer-agent-DsWQ-87H.js} +6 -17
- package/server/server.js +4695 -4093
- package/server/{service-DfTVoqJg.js → service-CLVBC_1Y.js} +116 -90
- package/server/{session-fork-C4jAFHj8.js → session-fork-DlEIAhRy.js} +2 -2
- package/server/{session-history-DanhhiCw.js → session-history-bnOFKMwf.js} +4 -4
- package/server/settings-CP3GGon2.js +2 -0
- package/server/{settings-Cuc12oP_.js → settings-Cqa-8nyj.js} +2 -2
- package/server/{settings-DfT3f86D.js → settings-gJrdLZy2.js} +3 -3
- package/server/{shadow-engineering-bKuKTCn-.js → shadow-engineering-fq1YEKV3.js} +3 -3
- package/server/{shadow-state-CVHpRWlb.js → shadow-state-BqeFAygK.js} +1 -1
- package/server/{shadow-state-DJz6_pb_.js → shadow-state-RptE9Cau.js} +2 -2
- package/server/shadow-utils-BMWr5tRT.js +39 -0
- package/server/{ship-log-CwqPFfqx.js → ship-log-BRQQi2lU.js} +1 -1
- package/server/{smart-compaction-CiWfGfRZ.js → smart-compaction-CmoXpjeU.js} +7 -7
- package/server/{smart-compaction-B4KlpZGN.js → smart-compaction-DldUel4B.js} +1 -1
- package/server/{spawn-planning-session-CU-DwyDl.js → spawn-planning-session-CoS6LTc6.js} +16 -16
- package/server/{spawn-planning-session-D5N3RuLG.js → spawn-planning-session-DT2tSMxo.js} +1 -1
- package/server/{specialist-completion-CJcv-NXH.js → specialist-completion-pJtESo7m.js} +1 -1
- package/server/{specialist-context-B2HlbNxS.js → specialist-context-CspI4Eog.js} +5 -5
- package/server/{specialist-handoff-logger-CQyF1ygu.js → specialist-handoff-logger-Duz9RGvk.js} +2 -2
- package/server/{specialist-logs-CdcUpfjj.js → specialist-logs-DtSkPJZK.js} +3 -3
- package/server/{specialists-D7AcFi1u.js → specialists-CywEMwxk.js} +1 -1
- package/server/{specialists-k22_Btaq.js → specialists-D9-dMUtI.js} +1 -1
- package/server/{specialists-CFgw_0Q6.js → specialists-Dax7tqXC.js} +161 -448
- package/server/{specialists-CwzFdapR.js → specialists-GF42OOqd.js} +18 -18
- package/server/specs-VwcFtEDi.js +3 -0
- package/server/{src-B4TTzNSr.js → src-By3D85Ry.js} +6 -1
- package/server/{src-BvpMg4EB.js → src-CqyFg52C.js} +5 -5
- package/server/{src-D4YUZrwR.js → src-DhxM-eCb.js} +6 -6
- package/server/{stack-health-DVN7zRnL.js → stack-health-BsEVrJZ6.js} +1 -1
- package/server/{stack-health-CSgcYcr8.js → stack-health-C-SnpRHh.js} +2 -2
- package/server/stale-task-claims-vTxmRzLi.js +69 -0
- package/server/state-home-Bur1y4oH.js +213 -0
- package/server/{state-mapping-C13UaCL7.js → state-mapping-Ci0pkac4.js} +1 -1
- package/server/state-migrate-D3VveYfO.js +362 -0
- package/server/{stuck-remediation-CxsyxwFO.js → stuck-remediation-B699-p8v.js} +36 -41
- package/server/{stuck-remediation-nTIvhGOR.js → stuck-remediation-CaFYYTQW.js} +1 -1
- package/server/{summary-fork-CnRMPCYd.js → summary-fork-BxnF8Xh0.js} +2 -2
- package/server/{summary-fork-gKSoFAnK.js → summary-fork-COqYpVa3.js} +8 -8
- package/server/supervisor/{paths-3R6b989k.js → paths-Bk6hJRH9.js} +4 -3
- package/server/supervisor/pty-supervisor.js +2 -2
- package/server/supervisor/{pty-token-CScQ32Rj.js → pty-token-BZS5GYdG.js} +2 -2
- package/server/supervisor-eWAAmXKu.js +2 -0
- package/server/{supervisor-CZMs8s0M.js → supervisor-liMgIPDF.js} +2 -2
- package/server/{swarm-readiness-h6-pwY8w.js → swarm-readiness-sXB1vhzo.js} +3 -3
- package/server/{system-prerequisites-DZZTi2G6.js → system-prerequisites-Bz6KdkFJ.js} +1 -13
- package/server/{teardown-workspace-B4D-oCVg.js → teardown-workspace-DvzqnmUF.js} +14 -71
- package/server/{test-agent-queue-CnuYku4B.js → test-agent-queue-hAU1Ah08.js} +5 -5
- package/server/{tldr-daemon-CuA8hz21.js → tldr-daemon-Bam7Xhoo.js} +2 -2
- package/server/{tldr-daemon-CgZQ3jmZ.js → tldr-daemon-DhGwd88s.js} +1 -1
- package/server/tmux-C-rgxRDA.js +3 -0
- package/server/{tmux-C3g9VFcg.js → tmux-U55cNGFG.js} +92 -4
- package/server/{token-g_sJ19g3.js → token-Dsa-i36o.js} +2 -2
- package/server/{token-util-DiwnnbJo.js → token-util-BWNpH96m.js} +1 -1
- package/server/token-util-DRt0j2nQ.js +3 -0
- package/server/{tracker-config-dQxC15vH.js → tracker-config-OkdbaUCm.js} +2 -2
- package/server/{tracker-utils--z8FLSWn.js → tracker-utils-CghXMF3q.js} +2 -2
- package/server/{tracker-utils-DkKyRT0H.js → tracker-utils-DdzUiPNU.js} +1 -1
- package/server/{tunnel-BpWZs0Jy.js → tunnel-D1YxesBL.js} +3 -3
- package/server/{tunnel-CN2px87h.js → tunnel-DjlzgTl3.js} +1 -1
- package/server/typed-errors-CH4roFIj.js +3 -0
- package/server/{typed-errors-sLpGfegz.js → typed-errors-n_Tnb4Fh.js} +3 -4
- package/server/{types-BLS_Zbmd.js → types-DOjWNv3Z.js} +1 -1
- package/server/{types-tlXf80x3.js → types-DXBMm4mX.js} +1 -1
- package/server/{uat-train-utGVmqdm.js → uat-train-CaaWs9Rp.js} +1 -1
- package/server/{uat-train-BRo6DM7p.js → uat-train-CqN34zFx.js} +24 -25
- package/server/{validation-CsPVsoA0.js → validation-4-z2Cw4z.js} +70 -23
- package/server/validation-DpTNakM6.js +3 -0
- package/server/verification-artifact-DK1xb1zG.js +56 -0
- package/server/verification-artifact-JD_edpZ9.js +2 -0
- package/server/{verification-runner-CMT5WRMS.js → verification-runner-BjHN80pJ.js} +338 -58
- package/server/verification-runner-ShYu5Ph3.js +2 -0
- package/server/{vtt-parser-C_XPlifj.js → vtt-parser-QnRfcjiU.js} +1 -1
- package/server/{work-agent-prompt-ZTAb2Hyf.js → work-agent-prompt-BiJ43Der.js} +12 -88
- package/server/workflows-B4C3lY9E.js +2 -0
- package/server/{workflows-CXRwhw_o.js → workflows-DkTotz_m.js} +17 -24
- package/server/{workspace-CNfuj1-5.js → workspace-CuN0ev4Z.js} +3 -3
- package/server/{workspace-9UEsKuiP.js → workspace-DQ4vVivd.js} +1 -1
- package/server/{workspace-config-ChWOECy0.js → workspace-config-C77NKnsV.js} +1 -1
- package/server/{workspace-manager-BO-6k3sP.js → workspace-manager-B1mYn0lN.js} +1 -1
- package/server/{workspace-manager-D8AByFIT.js → workspace-manager-Beeo2aKF.js} +23 -48
- package/server/{workspace-metadata-CvC268MN.js → workspace-metadata-BZC5BmoP.js} +2 -2
- package/server/{workspace-metadata-DZiJtnuF.js → workspace-metadata-Cy7_ZACL.js} +1 -1
- package/server/{workspaces-D-uIoqbg.js → workspaces-CGuzW1Ia.js} +182 -152
- package/sync-sources/hooks/codex-notify-hook +64 -8
- package/sync-sources/hooks/record-cost-event.js +1109 -36
- package/sync-sources/hooks/record-cost-event.js.map +1 -1
- package/sync-sources/hooks/statusline.sh +2 -2
- package/sync-sources/hooks/work-agent-stop-hook +1 -2
- package/server/acceptance-criteria-BZ_nQS1f.js +0 -33
- package/server/agent-state-lGvgPP4m.js +0 -3
- package/server/agents-CEcaxSkR.js +0 -3
- package/server/auto-commit-IW-eik_b.js +0 -3
- package/server/bd-process-lock-XAXAet9O.js +0 -390
- package/server/beads-B1u04n3o.js +0 -2
- package/server/beads-BeSMEjGT.js +0 -649
- package/server/beads-query-Dl4FhT8J.js +0 -95
- package/server/beads-restore-BUItPOjI.js +0 -23
- package/server/cli-D9cUTbBr.js +0 -3
- package/server/codex-BYPz6ZdF.js +0 -3
- package/server/compact-beads-CyJtoXJi.js +0 -94
- package/server/compact-beads-N00E4EVa.js +0 -3
- package/server/deacon-swarm-CvdFekIO.js +0 -2
- package/server/dist-BNwrgsUO.js +0 -3
- package/server/export-BJHSVwKP.js +0 -87
- package/server/forge-8y6aEPTB.js +0 -2
- package/server/hume-CerGi2RH.js +0 -3
- package/server/inspect-agent-CWkeAB7J.js +0 -2
- package/server/lifecycle-Ck2UR27D.js +0 -14
- package/server/merge-ops-CFkQtXEj.js +0 -2
- package/server/projects-CrBE6IhN.js +0 -3
- package/server/public/assets/index-BAZxZ-8I.js +0 -796
- package/server/public/assets/index-FBG3JBfq.css +0 -1
- package/server/public/assets/mermaid-GHXKKRXX-BYP8MI37.js +0 -1
- package/server/rally-oggyp4cs.js +0 -3
- package/server/record-lEYK__LD.js +0 -3
- package/server/recovery-trip-BT7nb9OV.js +0 -98
- package/server/resolver-C7dLn8OK.js +0 -158
- package/server/resume-BYZBIab-.js +0 -3
- package/server/settings-Cy7SCFO9.js +0 -2
- package/server/specs-RzcDgozr.js +0 -3
- package/server/supervisor-CfX192ma.js +0 -2
- package/server/tmux-By8E_Yv_.js +0 -3
- package/server/token-util-C9u4An3K.js +0 -3
- package/server/tracker-config-BzfVj41Z.js +0 -3
- package/server/typed-errors-CrN1AByg.js +0 -3
- package/server/validation-Dq_wwcw3.js +0 -3
- package/server/verification-runner-D0Uh-9jc.js +0 -2
- package/server/workflows-BLwxUMP7.js +0 -2
- package/server/writer-BUweuRPx.js +0 -3
- package/server/writer-CrP2xuBn.js +0 -251
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
import { Fn as init_projects, Ft as readRecordContinueViewSync, It as resolveProjectForIssue, Jr as
|
|
1
|
+
import { Cr as AGENTS_DIR, Fn as init_projects, Ft as readRecordContinueViewSync, It as resolveProjectForIssue, Jr as getOverdeckHome, Mr as OVERDECK_HOME, Ot as getProjectConfigFromWorkspacePath, Sr as init_errors, Yr as init_paths, kt as init_record, qn as resolveProjectFromIssueSync } from "./config-yaml-CqaAyn8y.js";
|
|
2
2
|
import { a as init_activity_logger, n as emitActivityEntrySync } from "./activity-logger-pcbf-e30.js";
|
|
3
|
-
import { D as sql, E as like, S as gte, _ as integer, a as EventBus, b as and, f as init_infra, g as real, h as text, i as DbLive, m as sqliteTable, n as CostArchiveLive, o as EventBusLive, p as init_sqlite_core, r as Db, t as CostArchive, v as init_drizzle_orm, x as eq, y as desc } from "./infra-
|
|
4
|
-
import {
|
|
5
|
-
import { c as init_review_status, u as loadReviewStatuses, y as setReviewStatusSync } from "./review-status-
|
|
6
|
-
import { n as init_issues, t as IssueId } from "./issues-
|
|
7
|
-
import { a as getAllBudgetsSync, i as deleteBudgetSync, n as checkBudgetSync, r as createBudgetSync, s as init_cost } from "./cost-
|
|
8
|
-
import {
|
|
9
|
-
import { n as parseCodexSessionCostEventsSync, r as parseCodexSessionSync, t as init_codex_parser } from "./codex-parser-
|
|
10
|
-
import { _ as init_tier_metrics, c as getDailyTrendsSync, d as init_cost_sync, h as deriveTieredAgentCostRole, t as getAgentDailyCostSync } from "./cost-sync-
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import { n as checkHookSync, p as init_hooks } from "./hooks-
|
|
15
|
-
import { r as isRoleTerminal, t as init_reap_terminal_sessions } from "./reap-terminal-sessions-
|
|
16
|
-
import { o as getRuntimeForAgent } from "./stuck-remediation-
|
|
17
|
-
import "./flywheel-
|
|
18
|
-
import { C as getLastPatrolResult, D as isDeaconRunning, N as runPatrol, R as startDeacon, S as getDeaconStatus, n as assessDeaconPatrolFreshness, x as getDeaconLogs, z as stopDeacon } from "./deacon-
|
|
19
|
-
import { n as renderPrompt, t as init_prompts } from "./prompts-
|
|
20
|
-
import { O as init_specialists, T as getTmuxSessionName } from "./specialists-
|
|
21
|
-
import { n as init_issue_closed, r as isIssueClosed } from "./issue-closed-
|
|
22
|
-
import { n as shouldSkipDispatchAsMerged, t as init_merge_verification } from "./merge-verification-
|
|
23
|
-
import { r as writeHealthEvent } from "./health-events-
|
|
3
|
+
import { D as sql, E as like, S as gte, _ as integer, a as EventBus, b as and, f as init_infra, g as real, h as text, i as DbLive, m as sqliteTable, n as CostArchiveLive, o as EventBusLive, p as init_sqlite_core, r as Db, t as CostArchive, v as init_drizzle_orm, x as eq, y as desc } from "./infra-_Kx1m9pm.js";
|
|
4
|
+
import { R as sessionExists, S as init_tmux, T as killSession, f as exactPaneTarget, z as sessionExistsSync } from "./tmux-U55cNGFG.js";
|
|
5
|
+
import { c as init_review_status, u as loadReviewStatuses, y as setReviewStatusSync } from "./review-status-DANr0t-v.js";
|
|
6
|
+
import { n as init_issues, t as IssueId } from "./issues-DIEHt9sq.js";
|
|
7
|
+
import { a as getAllBudgetsSync, i as deleteBudgetSync, n as checkBudgetSync, r as createBudgetSync, s as init_cost } from "./cost-BoqD1Pxz.js";
|
|
8
|
+
import { $ as stopAgentSync, Cr as init_ohmypi_parser, F as isContextOverflowTail, Fn as getAgentStateSync, N as init_context_overflow, Nn as getAgentState, Y as spawnAgent, Yn as saveAgentStateSync, _t as init_config, a as listRunningAgentsSync, gr as saveAgentRuntimeState, gt as getHealthThresholdsMs, jn as getAgentDir, mr as getAgentRuntimeStateSync, s as init_agents, wr as parseOhmypiSessionCostResultSync, yt as loadCloisterConfigSync } from "./queries-C0LCGG21.js";
|
|
9
|
+
import { n as parseCodexSessionCostEventsSync, r as parseCodexSessionSync, t as init_codex_parser } from "./codex-parser-DboQnEXN.js";
|
|
10
|
+
import { _ as init_tier_metrics, c as getDailyTrendsSync, d as init_cost_sync, h as deriveTieredAgentCostRole, t as getAgentDailyCostSync } from "./cost-sync-BYnmnMkY.js";
|
|
11
|
+
import { m as readWorkspacePlanSync, o as init_io } from "./io-DkC4sFSy.js";
|
|
12
|
+
import { a as requireModelOverrideSync, r as init_model_validation } from "./launcher-generator-BXLM9f4b.js";
|
|
13
|
+
import { _ as setDeaconGloballyPaused, c as isCloisterSpawnsPausedSync, g as setCloisterSpawnsPausedSync, s as init_control_settings, x as setFlywheelGloballyPaused } from "./control-settings-BguNQ1F_.js";
|
|
14
|
+
import { n as checkHookSync, p as init_hooks } from "./hooks-BS_JrvYP.js";
|
|
15
|
+
import { r as isRoleTerminal, t as init_reap_terminal_sessions } from "./reap-terminal-sessions-CFkuquQj.js";
|
|
16
|
+
import { o as getRuntimeForAgent } from "./stuck-remediation-B699-p8v.js";
|
|
17
|
+
import "./flywheel-CqkO3cDj.js";
|
|
18
|
+
import { C as getLastPatrolResult, D as isDeaconRunning, N as runPatrol, R as startDeacon, S as getDeaconStatus, n as assessDeaconPatrolFreshness, x as getDeaconLogs, z as stopDeacon } from "./deacon-Dru5onpk.js";
|
|
19
|
+
import { n as renderPrompt, t as init_prompts } from "./prompts-CIVmjHxn.js";
|
|
20
|
+
import { O as init_specialists, T as getTmuxSessionName } from "./specialists-GF42OOqd.js";
|
|
21
|
+
import { n as init_issue_closed, r as isIssueClosed } from "./issue-closed-Cpl4VDUM.js";
|
|
22
|
+
import { n as shouldSkipDispatchAsMerged, t as init_merge_verification } from "./merge-verification-BBIXUEqa.js";
|
|
23
|
+
import { r as writeHealthEvent } from "./health-events-2DLp-5Xp.js";
|
|
24
24
|
import { join } from "node:path";
|
|
25
25
|
import { Context, Data, Effect, Layer, Schema } from "effect";
|
|
26
26
|
import { appendFileSync, existsSync, mkdirSync, readFileSync, readdirSync, renameSync, statSync, unlinkSync, writeFileSync } from "fs";
|
|
@@ -729,6 +729,7 @@ HttpApiGroup.make("costs").add(HttpApiEndpoint.get("summary", "/costs/summary",
|
|
|
729
729
|
//#region ../../lib/cloister/health.ts
|
|
730
730
|
init_cost_sync();
|
|
731
731
|
init_review_status();
|
|
732
|
+
init_io();
|
|
732
733
|
init_control_settings();
|
|
733
734
|
init_hooks();
|
|
734
735
|
init_agents();
|
|
@@ -857,7 +858,7 @@ async function captureHandoffContextPromise(agentState, targetModel, reason) {
|
|
|
857
858
|
};
|
|
858
859
|
await captureFiles(context, agentState.workspace, agentState.issueId);
|
|
859
860
|
await captureGitState(context, agentState.workspace);
|
|
860
|
-
|
|
861
|
+
captureTasks(context, agentState.workspace);
|
|
861
862
|
return context;
|
|
862
863
|
}
|
|
863
864
|
/**
|
|
@@ -900,18 +901,22 @@ async function captureGitState(context, workspace) {
|
|
|
900
901
|
}
|
|
901
902
|
}
|
|
902
903
|
/**
|
|
903
|
-
* Capture
|
|
904
|
+
* Capture merged vBRIEF task state.
|
|
904
905
|
*/
|
|
905
|
-
|
|
906
|
+
function captureTasks(context, workspace) {
|
|
906
907
|
try {
|
|
907
|
-
const
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
908
|
+
const tasks = (readWorkspacePlanSync(workspace)?.plan.items ?? []).map((item) => ({
|
|
909
|
+
id: item.id,
|
|
910
|
+
title: item.title,
|
|
911
|
+
status: item.status,
|
|
912
|
+
priority: typeof item.priority === "number" ? item.priority : 0
|
|
913
|
+
}));
|
|
914
|
+
context.activeTasks = tasks.filter((task) => task.status === "running");
|
|
915
|
+
context.remainingTasks = tasks.filter((task) => !["completed", "cancelled"].includes(task.status));
|
|
916
|
+
context.completedTasks = tasks.filter((task) => task.status === "completed");
|
|
912
917
|
} catch (error) {
|
|
913
|
-
console.error("Error capturing
|
|
914
|
-
context.
|
|
918
|
+
console.error("Error capturing tasks:", error);
|
|
919
|
+
context.activeTasks = [];
|
|
915
920
|
context.remainingTasks = [];
|
|
916
921
|
context.completedTasks = [];
|
|
917
922
|
}
|
|
@@ -953,10 +958,10 @@ function serializeHandoffContext(context) {
|
|
|
953
958
|
});
|
|
954
959
|
lines.push("");
|
|
955
960
|
}
|
|
956
|
-
if (context.
|
|
961
|
+
if (context.activeTasks && context.activeTasks.length > 0) {
|
|
957
962
|
lines.push("## Active Tasks");
|
|
958
963
|
lines.push("");
|
|
959
|
-
context.
|
|
964
|
+
context.activeTasks.forEach((task) => {
|
|
960
965
|
lines.push(`- [ ] ${task.title} (${task.id}) - IN PROGRESS`);
|
|
961
966
|
});
|
|
962
967
|
lines.push("");
|
|
@@ -1256,84 +1261,89 @@ function checkDailyReset() {
|
|
|
1256
1261
|
}
|
|
1257
1262
|
}
|
|
1258
1263
|
/**
|
|
1259
|
-
* Check if any cost limits are being approached or exceeded
|
|
1264
|
+
* Check if any cost limits are being approached or exceeded.
|
|
1265
|
+
*
|
|
1266
|
+
* Opt-in: with no operator-configured `cost_limits` this returns [] without
|
|
1267
|
+
* reading any cost data — there is deliberately no default limit (PAN-2642;
|
|
1268
|
+
* the old invented $10/$25/$100 fallback sat permanently exceeded and
|
|
1269
|
+
* produced pure alert noise, PAN-2319).
|
|
1260
1270
|
*
|
|
1261
1271
|
* @param agentId - Agent ID to check
|
|
1262
1272
|
* @param issueId - Optional issue ID to check
|
|
1263
1273
|
* @param config - Cost limits configuration
|
|
1264
|
-
* @returns Array of alerts (empty if no limits exceeded)
|
|
1265
|
-
*/
|
|
1266
|
-
function checkCostLimits(agentId, issueId, config = loadCloisterConfigSync().cost_limits
|
|
1267
|
-
per_agent_usd: 10,
|
|
1268
|
-
per_issue_usd: 25,
|
|
1269
|
-
daily_total_usd: 100,
|
|
1270
|
-
alert_threshold: .8
|
|
1271
|
-
}) {
|
|
1274
|
+
* @returns Array of alerts (empty if no limits configured or exceeded)
|
|
1275
|
+
*/
|
|
1276
|
+
function checkCostLimits(agentId, issueId, config = loadCloisterConfigSync().cost_limits) {
|
|
1272
1277
|
const alerts = [];
|
|
1278
|
+
if (!config) return alerts;
|
|
1279
|
+
const alertThreshold = config.alert_threshold ?? .8;
|
|
1280
|
+
const perAgentUsd = config.per_agent_usd ?? 0;
|
|
1281
|
+
const perIssueUsd = config.per_issue_usd ?? 0;
|
|
1282
|
+
const dailyTotalUsd = config.daily_total_usd ?? 0;
|
|
1273
1283
|
const now = (/* @__PURE__ */ new Date()).toISOString();
|
|
1274
|
-
if (
|
|
1284
|
+
if (perAgentUsd > 0) {
|
|
1275
1285
|
const agentCost = getAgentDailyCostSync(agentId);
|
|
1276
|
-
const agentPercent = agentCost /
|
|
1286
|
+
const agentPercent = agentCost / perAgentUsd;
|
|
1277
1287
|
if (agentPercent >= 1) alerts.push({
|
|
1278
1288
|
type: "per_agent",
|
|
1279
1289
|
level: "limit_reached",
|
|
1280
1290
|
agentId,
|
|
1281
1291
|
currentCost: agentCost,
|
|
1282
|
-
limit:
|
|
1292
|
+
limit: perAgentUsd,
|
|
1283
1293
|
percentUsed: agentPercent * 100,
|
|
1284
1294
|
timestamp: now
|
|
1285
1295
|
});
|
|
1286
|
-
else if (agentPercent >=
|
|
1296
|
+
else if (agentPercent >= alertThreshold) alerts.push({
|
|
1287
1297
|
type: "per_agent",
|
|
1288
1298
|
level: "warning",
|
|
1289
1299
|
agentId,
|
|
1290
1300
|
currentCost: agentCost,
|
|
1291
|
-
limit:
|
|
1301
|
+
limit: perAgentUsd,
|
|
1292
1302
|
percentUsed: agentPercent * 100,
|
|
1293
1303
|
timestamp: now
|
|
1294
1304
|
});
|
|
1295
1305
|
}
|
|
1296
|
-
if (issueId &&
|
|
1306
|
+
if (issueId && perIssueUsd > 0) {
|
|
1297
1307
|
const issueCost = getDailyTrendsSync({
|
|
1298
1308
|
days: 1,
|
|
1299
1309
|
issueId
|
|
1300
1310
|
}).reduce((sum, t) => sum + t.totalCost, 0);
|
|
1301
|
-
const issuePercent = issueCost /
|
|
1311
|
+
const issuePercent = issueCost / perIssueUsd;
|
|
1302
1312
|
if (issuePercent >= 1) alerts.push({
|
|
1303
1313
|
type: "per_issue",
|
|
1304
1314
|
level: "limit_reached",
|
|
1305
1315
|
issueId,
|
|
1306
1316
|
currentCost: issueCost,
|
|
1307
|
-
limit:
|
|
1317
|
+
limit: perIssueUsd,
|
|
1308
1318
|
percentUsed: issuePercent * 100,
|
|
1309
1319
|
timestamp: now
|
|
1310
1320
|
});
|
|
1311
|
-
else if (issuePercent >=
|
|
1321
|
+
else if (issuePercent >= alertThreshold) alerts.push({
|
|
1312
1322
|
type: "per_issue",
|
|
1313
1323
|
level: "warning",
|
|
1314
1324
|
issueId,
|
|
1315
1325
|
currentCost: issueCost,
|
|
1316
|
-
limit:
|
|
1326
|
+
limit: perIssueUsd,
|
|
1317
1327
|
percentUsed: issuePercent * 100,
|
|
1318
1328
|
timestamp: now
|
|
1319
1329
|
});
|
|
1320
1330
|
}
|
|
1321
|
-
if (
|
|
1331
|
+
if (dailyTotalUsd > 0) {
|
|
1322
1332
|
const dailyTotal = getDailyTrendsSync({ days: 1 }).reduce((sum, t) => sum + t.totalCost, 0);
|
|
1323
|
-
const dailyPercent = dailyTotal /
|
|
1333
|
+
const dailyPercent = dailyTotal / dailyTotalUsd;
|
|
1324
1334
|
if (dailyPercent >= 1) alerts.push({
|
|
1325
1335
|
type: "daily_total",
|
|
1326
1336
|
level: "limit_reached",
|
|
1327
1337
|
currentCost: dailyTotal,
|
|
1328
|
-
limit:
|
|
1338
|
+
limit: dailyTotalUsd,
|
|
1329
1339
|
percentUsed: dailyPercent * 100,
|
|
1330
1340
|
timestamp: now
|
|
1331
1341
|
});
|
|
1332
|
-
else if (dailyPercent >=
|
|
1342
|
+
else if (dailyPercent >= alertThreshold) alerts.push({
|
|
1333
1343
|
type: "daily_total",
|
|
1334
1344
|
level: "warning",
|
|
1335
1345
|
currentCost: dailyTotal,
|
|
1336
|
-
limit:
|
|
1346
|
+
limit: dailyTotalUsd,
|
|
1337
1347
|
percentUsed: dailyPercent * 100,
|
|
1338
1348
|
timestamp: now
|
|
1339
1349
|
});
|
|
@@ -1509,7 +1519,7 @@ async function onIssueStateChangePromise(issueId, newState) {
|
|
|
1509
1519
|
});
|
|
1510
1520
|
return;
|
|
1511
1521
|
}
|
|
1512
|
-
const { getReviewStatusSync } = await import("./review-status-
|
|
1522
|
+
const { getReviewStatusSync } = await import("./review-status-77N3PoZr.js");
|
|
1513
1523
|
if (getReviewStatusSync(normalizedIssueId)?.mergeStatus === "merged") {
|
|
1514
1524
|
const message = `${normalizedIssueId}: skipping ${role} dispatch — merge already landed (merge_status='merged' is terminal)`;
|
|
1515
1525
|
console.log(`[cloister] ${message}`);
|
|
@@ -1576,7 +1586,7 @@ async function onIssueStateChangePromise(issueId, newState) {
|
|
|
1576
1586
|
return;
|
|
1577
1587
|
}
|
|
1578
1588
|
const branch = `feature/${normalizedIssueId.toLowerCase()}`;
|
|
1579
|
-
const { spawnReviewRoleForIssue } = await import("./review-agent-
|
|
1589
|
+
const { spawnReviewRoleForIssue } = await import("./review-agent-CpSHLzed.js");
|
|
1580
1590
|
const result = await Effect.runPromise(spawnReviewRoleForIssue({
|
|
1581
1591
|
issueId: normalizedIssueId,
|
|
1582
1592
|
workspace,
|
|
@@ -1594,7 +1604,7 @@ async function onIssueStateChangePromise(issueId, newState) {
|
|
|
1594
1604
|
}
|
|
1595
1605
|
if (role === "test") {
|
|
1596
1606
|
const branch = `feature/${normalizedIssueId.toLowerCase()}`;
|
|
1597
|
-
const { dispatchTestAgentAndNotify } = await import("./test-agent-queue-
|
|
1607
|
+
const { dispatchTestAgentAndNotify } = await import("./test-agent-queue-hAU1Ah08.js");
|
|
1598
1608
|
await Effect.runPromise(dispatchTestAgentAndNotify(normalizedIssueId, workspace ?? void 0, branch));
|
|
1599
1609
|
const message = `${normalizedIssueId}: test role dispatched from lifecycle state '${newState}'`;
|
|
1600
1610
|
console.log(`[cloister] ${message}`);
|
|
@@ -1606,7 +1616,7 @@ async function onIssueStateChangePromise(issueId, newState) {
|
|
|
1606
1616
|
});
|
|
1607
1617
|
return;
|
|
1608
1618
|
}
|
|
1609
|
-
const { spawnRun } = await import("./agents-
|
|
1619
|
+
const { spawnRun } = await import("./agents-BA15AQqo.js");
|
|
1610
1620
|
const message = `${normalizedIssueId}: ${role} role started from lifecycle state '${newState}' as ${(await spawnRun(normalizedIssueId, role, { prompt: buildReactiveRolePrompt(normalizedIssueId, newState, role) })).id}`;
|
|
1611
1621
|
console.log(`[cloister] ${message}`);
|
|
1612
1622
|
emitActivityEntrySync({
|
|
@@ -1684,27 +1694,27 @@ async function handleCloisterDomainEventPromise(event) {
|
|
|
1684
1694
|
if (event.type === "agent.stopped") {
|
|
1685
1695
|
const agentId = event.payload?.agentId;
|
|
1686
1696
|
if (agentId) {
|
|
1687
|
-
const { handleAgentStoppedEvent, handleAgentStoppedForOrphanReviewerSessions } = await import("./deacon-
|
|
1688
|
-
const { handleAgentLifecycleEventForIdleStack } = await import("./idle-stack-reaper-
|
|
1697
|
+
const { handleAgentStoppedEvent, handleAgentStoppedForOrphanReviewerSessions } = await import("./deacon-CwCiNuEZ.js");
|
|
1698
|
+
const { handleAgentLifecycleEventForIdleStack } = await import("./idle-stack-reaper-C1ymihno.js");
|
|
1689
1699
|
handleAgentLifecycleEventForIdleStack(agentId);
|
|
1690
1700
|
const slotMatch = /^agent-(.+)-slot-\d+$/.exec(agentId);
|
|
1691
1701
|
await Promise.all([
|
|
1692
1702
|
handleAgentStoppedEvent(agentId),
|
|
1693
1703
|
handleAgentStoppedForOrphanReviewerSessions(agentId),
|
|
1694
|
-
slotMatch ? (await import("./deacon-swarm-
|
|
1704
|
+
slotMatch ? (await import("./deacon-swarm-CKyGJng1.js")).coordinateSwarmSlots({ issueId: slotMatch[1].toUpperCase() }) : Promise.resolve([])
|
|
1695
1705
|
]);
|
|
1696
1706
|
}
|
|
1697
1707
|
return;
|
|
1698
1708
|
}
|
|
1699
1709
|
if (event.type === "agent.started") {
|
|
1700
1710
|
const agentId = event.payload?.agentId;
|
|
1701
|
-
if (agentId) (await import("./idle-stack-reaper-
|
|
1711
|
+
if (agentId) (await import("./idle-stack-reaper-C1ymihno.js")).handleAgentLifecycleEventForIdleStack(agentId);
|
|
1702
1712
|
return;
|
|
1703
1713
|
}
|
|
1704
1714
|
if (event.type === "agent.heartbeat_dead") {
|
|
1705
1715
|
const agentId = event.payload?.agentId;
|
|
1706
1716
|
if (agentId) {
|
|
1707
|
-
const { handleAgentHeartbeatDeadEvent } = await import("./deacon-
|
|
1717
|
+
const { handleAgentHeartbeatDeadEvent } = await import("./deacon-CwCiNuEZ.js");
|
|
1708
1718
|
await handleAgentHeartbeatDeadEvent(agentId, "event");
|
|
1709
1719
|
}
|
|
1710
1720
|
return;
|
|
@@ -1713,7 +1723,7 @@ async function handleCloisterDomainEventPromise(event) {
|
|
|
1713
1723
|
const payload = event.payload;
|
|
1714
1724
|
const issueId = payload?.issueId;
|
|
1715
1725
|
if (issueId) {
|
|
1716
|
-
const { handleReviewCoordinatorDied } = await import("./deacon-
|
|
1726
|
+
const { handleReviewCoordinatorDied } = await import("./deacon-CwCiNuEZ.js");
|
|
1717
1727
|
await handleReviewCoordinatorDied(issueId, payload?.sessionName ?? "", payload?.reason ?? "");
|
|
1718
1728
|
}
|
|
1719
1729
|
return;
|
|
@@ -1721,7 +1731,7 @@ async function handleCloisterDomainEventPromise(event) {
|
|
|
1721
1731
|
if (event.type === "work.completed") {
|
|
1722
1732
|
const issueId = event.payload?.issueId;
|
|
1723
1733
|
if (issueId) {
|
|
1724
|
-
const { handleWorkCompleted } = await import("./deacon-
|
|
1734
|
+
const { handleWorkCompleted } = await import("./deacon-CwCiNuEZ.js");
|
|
1725
1735
|
await handleWorkCompleted(issueId);
|
|
1726
1736
|
}
|
|
1727
1737
|
}
|
|
@@ -1732,12 +1742,12 @@ async function handleCloisterDomainEventPromise(event) {
|
|
|
1732
1742
|
const status = payload?.status?.toLowerCase();
|
|
1733
1743
|
if (issueId) {
|
|
1734
1744
|
if (canonicalStatus === "closed" || status === "closed") {
|
|
1735
|
-
const { handleIssueStatusChangedClosed } = await import("./closed-issue-reaper-
|
|
1745
|
+
const { handleIssueStatusChangedClosed } = await import("./closed-issue-reaper-DrqgBJlr.js");
|
|
1736
1746
|
await handleIssueStatusChangedClosed(issueId);
|
|
1737
1747
|
return;
|
|
1738
1748
|
}
|
|
1739
1749
|
if (canonicalStatus === "todo" || status === "planned" || status === "todo") {
|
|
1740
|
-
const { handleOrphanProposedSpec } = await import("./orphan-proposed-reconciler-
|
|
1750
|
+
const { handleOrphanProposedSpec } = await import("./orphan-proposed-reconciler-DbTmT7qy.js");
|
|
1741
1751
|
await handleOrphanProposedSpec(issueId);
|
|
1742
1752
|
}
|
|
1743
1753
|
}
|
|
@@ -2193,7 +2203,7 @@ function checkAndRotateIfNeeded(specialistName, workingDir) {
|
|
|
2193
2203
|
//#endregion
|
|
2194
2204
|
//#region ../../lib/cloister/triggers.ts
|
|
2195
2205
|
init_config();
|
|
2196
|
-
|
|
2206
|
+
init_io();
|
|
2197
2207
|
/** Single-flight prevents concurrent dashboard polls from duplicating the canonical read. */
|
|
2198
2208
|
const taskCompletionInflight = /* @__PURE__ */ new Map();
|
|
2199
2209
|
/**
|
|
@@ -2335,10 +2345,10 @@ async function checkTaskCompletionPromise(issueId, config, workspace) {
|
|
|
2335
2345
|
confidence: "high"
|
|
2336
2346
|
};
|
|
2337
2347
|
try {
|
|
2338
|
-
const
|
|
2339
|
-
if (!
|
|
2340
|
-
if (
|
|
2341
|
-
const openTasks =
|
|
2348
|
+
const plan = readWorkspacePlanSync(workspace);
|
|
2349
|
+
if (!plan) throw new Error(`No readable plan for ${issueId}`);
|
|
2350
|
+
if (plan.plan.items.filter((task) => task.status === "completed").find((task) => task.title.toLowerCase().includes("implement"))) {
|
|
2351
|
+
const openTasks = plan.plan.items.filter((task) => !["completed", "cancelled"].includes(task.status));
|
|
2342
2352
|
if (openTasks.length === 0) return {
|
|
2343
2353
|
triggered: true,
|
|
2344
2354
|
type: "task_complete",
|
|
@@ -2435,7 +2445,7 @@ async function performHealthCheck(host) {
|
|
|
2435
2445
|
for (const health of needsAttention) {
|
|
2436
2446
|
const idleAgentState = getAgentStateSync(health.agentId);
|
|
2437
2447
|
if (idleAgentState?.role === "sequencer") continue;
|
|
2438
|
-
const { shouldSkipIdlePokeForAgent } = await import("./stuck-remediation-
|
|
2448
|
+
const { shouldSkipIdlePokeForAgent } = await import("./stuck-remediation-CaFYYTQW.js");
|
|
2439
2449
|
if (shouldSkipIdlePokeForAgent(idleAgentState)) {
|
|
2440
2450
|
host.pokeProgress.delete(health.agentId);
|
|
2441
2451
|
continue;
|
|
@@ -2597,23 +2607,35 @@ function checkFPPViolations(host, agentIds) {
|
|
|
2597
2607
|
}
|
|
2598
2608
|
}
|
|
2599
2609
|
/**
|
|
2600
|
-
* Check for cost limit alerts
|
|
2610
|
+
* Check for cost limit alerts.
|
|
2611
|
+
*
|
|
2612
|
+
* Each alert fires once per threshold crossing, not on every sweep — the
|
|
2613
|
+
* un-deduped shape wrote the same "COST LIMIT REACHED" line hundreds of
|
|
2614
|
+
* thousands of times (480k+ lines in one dashboard.log). Keys are cleared
|
|
2615
|
+
* when the alert stops firing so a fresh crossing alerts again.
|
|
2601
2616
|
*/
|
|
2602
2617
|
function checkCostAlerts(host, agentIds) {
|
|
2603
2618
|
const config = host.config.cost_limits;
|
|
2604
2619
|
if (!config) return;
|
|
2620
|
+
const active = host.activeCostAlertKeys;
|
|
2621
|
+
const firing = /* @__PURE__ */ new Set();
|
|
2605
2622
|
for (const agentId of agentIds) {
|
|
2606
2623
|
const alerts = checkCostLimits(agentId, agentId.startsWith("agent-") ? agentId.replace(/^agent-/, "") : agentId, config);
|
|
2607
2624
|
for (const alert of alerts) {
|
|
2625
|
+
const entityLabel = alert.agentId || alert.issueId || "(unattributed)";
|
|
2626
|
+
const key = `${alert.type}:${entityLabel}:${alert.level}`;
|
|
2627
|
+
firing.add(key);
|
|
2628
|
+
if (active.has(key)) continue;
|
|
2629
|
+
active.add(key);
|
|
2608
2630
|
host.emit({
|
|
2609
2631
|
type: "cost_alert",
|
|
2610
2632
|
alert
|
|
2611
2633
|
});
|
|
2612
|
-
const entityLabel = alert.agentId || alert.issueId || "(unattributed)";
|
|
2613
2634
|
if (alert.level === "limit_reached") console.error(`🔔 COST LIMIT REACHED: ${alert.type} for ${entityLabel} - $${alert.currentCost.toFixed(2)} / $${alert.limit.toFixed(2)}`);
|
|
2614
2635
|
else console.warn(`🔔 Cost warning: ${alert.type} for ${entityLabel} at ${alert.percentUsed.toFixed(0)}% ($${alert.currentCost.toFixed(2)} / $${alert.limit.toFixed(2)})`);
|
|
2615
2636
|
}
|
|
2616
2637
|
}
|
|
2638
|
+
for (const key of active) if (!firing.has(key)) active.delete(key);
|
|
2617
2639
|
}
|
|
2618
2640
|
/**
|
|
2619
2641
|
* Map heartbeat source to database source string
|
|
@@ -2670,7 +2692,7 @@ async function checkCompletionMarkers(host) {
|
|
|
2670
2692
|
if (retryCount === Infinity) host.processedCompletions.delete(dir.name);
|
|
2671
2693
|
else if (retryCount >= 3) continue;
|
|
2672
2694
|
const issueId = dir.name.replace("agent-", "").toUpperCase();
|
|
2673
|
-
const { getReviewStatusSync } = await import("./review-status-
|
|
2695
|
+
const { getReviewStatusSync } = await import("./review-status-77N3PoZr.js");
|
|
2674
2696
|
const existingReview = getReviewStatusSync(issueId);
|
|
2675
2697
|
if (existingReview && ["reviewing", "passed"].includes(existingReview.reviewStatus || "")) {
|
|
2676
2698
|
console.log(`🔔 Cloister: Completion marker for ${issueId} — review already ${existingReview.reviewStatus}, marking processed`);
|
|
@@ -2824,7 +2846,7 @@ async function pokeAgentWithEscalation(host, agentId) {
|
|
|
2824
2846
|
ineffective
|
|
2825
2847
|
});
|
|
2826
2848
|
if (ineffective >= 4) {
|
|
2827
|
-
const { setAgentPausedSync } = await import("./agent-state-
|
|
2849
|
+
const { setAgentPausedSync } = await import("./agent-state-C_6TG-Ad.js");
|
|
2828
2850
|
try {
|
|
2829
2851
|
setAgentPausedSync(agentId, `needs-you: idle-alive — no observable progress across ${ineffective + 1} pokes (idle-alive escalation)`);
|
|
2830
2852
|
host.emit({
|
|
@@ -2857,7 +2879,7 @@ async function pokeAgentWithEscalation(host, agentId) {
|
|
|
2857
2879
|
if (isContextOverflowTail(tail)) {
|
|
2858
2880
|
pokeMessage = "/compact";
|
|
2859
2881
|
console.log(`🔔 ${agentId}: overflow tail detected — delivering /compact instead of a poke`);
|
|
2860
|
-
} else pokeMessage = "You appear active but have made no observable progress (no new commits, unchanged output) across multiple checks. Do exactly one of: (1) work is done — commit, push, and run pan done; (2) blocked — state the blocker in one sentence and commit what you have as WIP; (3) lost context — re-read your
|
|
2882
|
+
} else pokeMessage = "You appear active but have made no observable progress (no new commits, unchanged output) across multiple checks. Do exactly one of: (1) work is done — commit, push, and run pan done; (2) blocked — state the blocker in one sentence and commit what you have as WIP; (3) lost context — re-read your vBRIEF item (`pan task show`), your latest .pan/feedback/ file, and git status, then resume. Act now.";
|
|
2861
2883
|
}
|
|
2862
2884
|
await Promise.resolve(runtime.sendMessage(agentId, pokeMessage)).catch((sendErr) => {
|
|
2863
2885
|
console.error(`Failed to send poke to ${agentId}:`, sendErr);
|
|
@@ -2915,7 +2937,7 @@ async function handleAgentCrash(host, agentId) {
|
|
|
2915
2937
|
if (skipReason) {
|
|
2916
2938
|
let recoverUnfinishedOneShot = false;
|
|
2917
2939
|
if (ONE_SHOT_ROLES.has(agentState.role) && agentState.sessionId && agentState.issueId) try {
|
|
2918
|
-
const { getReviewStatusSync } = await import("./review-status-
|
|
2940
|
+
const { getReviewStatusSync } = await import("./review-status-77N3PoZr.js");
|
|
2919
2941
|
const status = getReviewStatusSync(agentState.issueId);
|
|
2920
2942
|
recoverUnfinishedOneShot = !(status ? isRoleTerminal(agentState.role, {
|
|
2921
2943
|
reviewStatus: status.reviewStatus,
|
|
@@ -3185,6 +3207,7 @@ var CloisterService = class {
|
|
|
3185
3207
|
healthCheckCount = 0;
|
|
3186
3208
|
lastPokeTimestamps = /* @__PURE__ */ new Map();
|
|
3187
3209
|
pokeProgress = /* @__PURE__ */ new Map();
|
|
3210
|
+
activeCostAlertKeys = /* @__PURE__ */ new Set();
|
|
3188
3211
|
domainEventUnsubscribe = null;
|
|
3189
3212
|
eventStore = null;
|
|
3190
3213
|
_statusCache = null;
|
|
@@ -3226,6 +3249,9 @@ var CloisterService = class {
|
|
|
3226
3249
|
get previousStates() {
|
|
3227
3250
|
return service.previousStates;
|
|
3228
3251
|
},
|
|
3252
|
+
get activeCostAlertKeys() {
|
|
3253
|
+
return service.activeCostAlertKeys;
|
|
3254
|
+
},
|
|
3229
3255
|
handleAgentCrash: (agentId) => service.handleAgentCrash(agentId),
|
|
3230
3256
|
checkCompletionMarkers: () => service.checkCompletionMarkers(),
|
|
3231
3257
|
recordHealthEvent: (health) => service.recordHealthEvent(health),
|
|
@@ -3347,7 +3373,7 @@ var CloisterService = class {
|
|
|
3347
3373
|
let clearedSpecialistCount = 0;
|
|
3348
3374
|
try {
|
|
3349
3375
|
if (existsSync(AGENTS_DIR)) {
|
|
3350
|
-
const { isRunning: isSpecialistRunning } = await import("./specialists-
|
|
3376
|
+
const { isRunning: isSpecialistRunning } = await import("./specialists-D9-dMUtI.js");
|
|
3351
3377
|
const entries = readdirSync(AGENTS_DIR, { withFileTypes: true });
|
|
3352
3378
|
for (const entry of entries) {
|
|
3353
3379
|
if (!entry.isDirectory()) continue;
|
|
@@ -3382,8 +3408,8 @@ var CloisterService = class {
|
|
|
3382
3408
|
}
|
|
3383
3409
|
try {
|
|
3384
3410
|
const reviewStatuses = loadReviewStatuses();
|
|
3385
|
-
const { resolveProjectFromIssueSync } = await import("./projects-
|
|
3386
|
-
const { getTmuxSessionName, getAllProjectSpecialistStatuses } = await import("./specialists-
|
|
3411
|
+
const { resolveProjectFromIssueSync } = await import("./projects-Dc9aoVoG.js");
|
|
3412
|
+
const { getTmuxSessionName, getAllProjectSpecialistStatuses } = await import("./specialists-D9-dMUtI.js");
|
|
3387
3413
|
const activeReviewIssues = /* @__PURE__ */ new Set();
|
|
3388
3414
|
try {
|
|
3389
3415
|
const projSpecs = await getAllProjectSpecialistStatuses();
|
|
@@ -3394,7 +3420,7 @@ var CloisterService = class {
|
|
|
3394
3420
|
}
|
|
3395
3421
|
const globalRs = getAgentRuntimeStateSync(getTmuxSessionName("review-agent"));
|
|
3396
3422
|
if (globalRs?.state === "active" && globalRs.currentIssue) activeReviewIssues.add(globalRs.currentIssue.toUpperCase());
|
|
3397
|
-
const { listRunningAgents } = await import("./agents-
|
|
3423
|
+
const { listRunningAgents } = await import("./agents-BA15AQqo.js");
|
|
3398
3424
|
const agents = await Effect.runPromise(listRunningAgents());
|
|
3399
3425
|
for (const agent of agents) {
|
|
3400
3426
|
if (agent.status === "stopped" || agent.status === "error") continue;
|
|
@@ -3437,7 +3463,7 @@ var CloisterService = class {
|
|
|
3437
3463
|
continue;
|
|
3438
3464
|
}
|
|
3439
3465
|
const branch = `feature/${issueId.toLowerCase()}`;
|
|
3440
|
-
const { spawnReviewRoleForIssue } = await import("./review-agent-
|
|
3466
|
+
const { spawnReviewRoleForIssue } = await import("./review-agent-CpSHLzed.js");
|
|
3441
3467
|
const dispatchResult = await Effect.runPromise(spawnReviewRoleForIssue({
|
|
3442
3468
|
issueId,
|
|
3443
3469
|
workspace,
|
|
@@ -3525,7 +3551,7 @@ var CloisterService = class {
|
|
|
3525
3551
|
console.log(" ✓ Cloister event store provider installed");
|
|
3526
3552
|
return;
|
|
3527
3553
|
}
|
|
3528
|
-
const { initEventStore } = await import("./event-store-
|
|
3554
|
+
const { initEventStore } = await import("./event-store-D9UhQyMS.js");
|
|
3529
3555
|
const store = await initEventStore();
|
|
3530
3556
|
this.eventStore = store;
|
|
3531
3557
|
this.domainEventUnsubscribe = store.subscribe((event) => {
|
|
@@ -3875,4 +3901,4 @@ function getCloisterService() {
|
|
|
3875
3901
|
//#endregion
|
|
3876
3902
|
export { performHandoff as a, getAgentsNeedingAttention as c, CostResolverLive as d, CostWriter as f, checkAllTriggers as i, CostDoorLive as l, readCloisterStateFile as n, generateHealthSummary as o, setCloisterEventStoreProvider as r, getAgentHealth as s, getCloisterService as t, CostResolver as u };
|
|
3877
3903
|
|
|
3878
|
-
//# sourceMappingURL=service-
|
|
3904
|
+
//# sourceMappingURL=service-CLVBC_1Y.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import {
|
|
2
|
+
import { Vr as encodeClaudeProjectDir, Yr as init_paths } from "./config-yaml-CqaAyn8y.js";
|
|
3
3
|
import { join } from "node:path";
|
|
4
4
|
import { mkdir, readFile, writeFile } from "node:fs/promises";
|
|
5
5
|
import { randomUUID } from "node:crypto";
|
|
@@ -96,4 +96,4 @@ __esmMin((() => {
|
|
|
96
96
|
}))();
|
|
97
97
|
export { copySessionForFork, reserveForkSession };
|
|
98
98
|
|
|
99
|
-
//# sourceMappingURL=session-fork-
|
|
99
|
+
//# sourceMappingURL=session-fork-DlEIAhRy.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import { Jr as
|
|
3
|
-
import { a as getHarnessBehavior } from "./src-
|
|
4
|
-
import { t as init_behavior } from "./behavior-
|
|
2
|
+
import { Jr as getOverdeckHome, Yr as init_paths } from "./config-yaml-CqaAyn8y.js";
|
|
3
|
+
import { a as getHarnessBehavior } from "./src-By3D85Ry.js";
|
|
4
|
+
import { t as init_behavior } from "./behavior-CWqNMqE5.js";
|
|
5
5
|
import { Effect } from "effect";
|
|
6
6
|
import { appendFileSync, existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
|
|
7
7
|
import { join } from "path";
|
|
@@ -165,4 +165,4 @@ var init_session_history = __esmMin((() => {
|
|
|
165
165
|
//#endregion
|
|
166
166
|
export { persistCurrentSessionId as a, logDeaconEventSync as c, isAgentStateServiceInProcess as d, markAgentStateServiceInProcess as f, logLauncherSessionPinned as i, getRuntimeSnapshot as l, createFreshSessionIdentity as n, init_persistent_logger as o, setAgentRuntimeMirror as p, init_session_history as r, logAgentLifecycleSync as s, appendSessionIdToHistory as t, init_agent_runtime_mirror as u };
|
|
167
167
|
|
|
168
|
-
//# sourceMappingURL=session-history-
|
|
168
|
+
//# sourceMappingURL=session-history-bnOFKMwf.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Sr as init_errors, Yr as init_paths } from "./config-yaml-CqaAyn8y.js";
|
|
2
2
|
import "effect";
|
|
3
3
|
import "fs";
|
|
4
4
|
//#region ../../lib/settings.ts
|
|
@@ -45,4 +45,4 @@ function getAgentCommandSync(modelId) {
|
|
|
45
45
|
//#endregion
|
|
46
46
|
export { getClaudeModelFlagSync as n, isAnthropicModelSync as r, getAgentCommandSync as t };
|
|
47
47
|
|
|
48
|
-
//# sourceMappingURL=settings-
|
|
48
|
+
//# sourceMappingURL=settings-Cqa-8nyj.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import { h as jsYaml, m as init_js_yaml, o as getGlobalConfigPath, t as init_config_yaml } from "./config-yaml-
|
|
3
|
-
import { n as isBackgroundFeatureEnabled, t as init_features } from "./features-
|
|
2
|
+
import { h as jsYaml, m as init_js_yaml, o as getGlobalConfigPath, t as init_config_yaml } from "./config-yaml-CqaAyn8y.js";
|
|
3
|
+
import { n as isBackgroundFeatureEnabled, t as init_features } from "./features-DqvaoQoa.js";
|
|
4
4
|
import { readFile } from "fs/promises";
|
|
5
5
|
//#region ../../lib/memory/settings.ts
|
|
6
6
|
async function loadMemorySettings(configPath = getGlobalConfigPath()) {
|
|
@@ -101,4 +101,4 @@ var init_settings = __esmMin((() => {
|
|
|
101
101
|
//#endregion
|
|
102
102
|
export { isMemoryKnowledgeIndexEnabled as a, init_settings as i, getMemoryRollupPendingThreshold as n, isMemoryPromptTimeInjectionEnabled as o, getMemoryWorkerConcurrency as r, loadMemorySettings as s, areMemoryObservationsEnabled as t };
|
|
103
103
|
|
|
104
|
-
//# sourceMappingURL=settings-
|
|
104
|
+
//# sourceMappingURL=settings-gJrdLZy2.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { a as PAN_DIRNAME } from "./types-
|
|
2
|
-
import { t as init_pan_dir } from "./pan-dir-
|
|
1
|
+
import { a as PAN_DIRNAME } from "./types-DOjWNv3Z.js";
|
|
2
|
+
import { t as init_pan_dir } from "./pan-dir-BTw4MdSe.js";
|
|
3
3
|
import { Data, Effect } from "effect";
|
|
4
4
|
import { existsSync, mkdirSync, readFileSync, readdirSync, writeFileSync } from "fs";
|
|
5
5
|
import { join } from "path";
|
|
@@ -221,4 +221,4 @@ init_pan_dir();
|
|
|
221
221
|
//#endregion
|
|
222
222
|
export { gatherArtifacts, generateBasicInference, runObserverCycle, updateInferenceDocumentSync };
|
|
223
223
|
|
|
224
|
-
//# sourceMappingURL=shadow-engineering-
|
|
224
|
+
//# sourceMappingURL=shadow-engineering-fq1YEKV3.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { a as getShadowState, c as isShadowed, d as needsSync, f as removeShadowState, i as getPendingSyncCount, l as listShadowedIssues, m as updateTrackerStatusCache, n as createShadowState, o as getUnsyncedHistory, p as updateShadowState, r as getDisplayStatus, s as init_shadow_state, t as ShadowStateError, u as markAsSynced } from "./shadow-state-
|
|
1
|
+
import { a as getShadowState, c as isShadowed, d as needsSync, f as removeShadowState, i as getPendingSyncCount, l as listShadowedIssues, m as updateTrackerStatusCache, n as createShadowState, o as getUnsyncedHistory, p as updateShadowState, r as getDisplayStatus, s as init_shadow_state, t as ShadowStateError, u as markAsSynced } from "./shadow-state-RptE9Cau.js";
|
|
2
2
|
init_shadow_state();
|
|
3
3
|
export { ShadowStateError, createShadowState, getDisplayStatus, getPendingSyncCount, getShadowState, getUnsyncedHistory, isShadowed, listShadowedIssues, markAsSynced, needsSync, removeShadowState, updateShadowState, updateTrackerStatusCache };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import { Jr as
|
|
2
|
+
import { Jr as getOverdeckHome, Yr as init_paths } from "./config-yaml-CqaAyn8y.js";
|
|
3
3
|
import { Data, Effect } from "effect";
|
|
4
4
|
import { existsSync, mkdirSync, unlinkSync } from "fs";
|
|
5
5
|
import { join } from "path";
|
|
@@ -287,4 +287,4 @@ var init_shadow_state = __esmMin((() => {
|
|
|
287
287
|
//#endregion
|
|
288
288
|
export { getShadowState as a, isShadowed as c, needsSync as d, removeShadowState as f, getPendingSyncCount as i, listShadowedIssues as l, updateTrackerStatusCache as m, createShadowState as n, getUnsyncedHistory as o, updateShadowState as p, getDisplayStatus as r, init_shadow_state as s, ShadowStateError as t, markAsSynced as u };
|
|
289
289
|
|
|
290
|
-
//# sourceMappingURL=shadow-state-
|
|
290
|
+
//# sourceMappingURL=shadow-state-RptE9Cau.js.map
|