@overdeck/desktop 0.45.15 → 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-DHZk2ceV.js → acceptance-criteria-BZ_nQS1f.js} +2 -2
- package/server/{advancing-selfheal-CSuZ31bB.js → advancing-selfheal-DJYAvGv-.js} +6 -5
- package/server/{agent-gc-D_DxfBHR.js → agent-gc-D0wDIeV1.js} +3 -3
- package/server/{agent-state-EP2QFV9n.js → agent-state-lGvgPP4m.js} +1 -1
- package/server/{agent-state-service-C_2ZAQRP.js → agent-state-service-CZrayD_G.js} +1 -1
- package/server/{agent-state-service-BZkvgQf4.js → agent-state-service-DFslS5go.js} +9 -52
- package/server/{agents-CsOzAmRg.js → agents-B9GwfCyp.js} +99 -140
- package/server/{agents-DCvyTXNU.js → agents-CEcaxSkR.js} +1 -1
- package/server/{archive-planning-DkivCk1A.js → archive-planning-CbghE9-o.js} +5 -5
- package/server/{archive-planning-CTILQRnV.js → archive-planning-CoyIbgGK.js} +1 -1
- package/server/{artifact-index-jobs-CmsvQ1ey.js → artifact-index-jobs-CcSrUoSE.js} +2 -2
- package/server/{auto-commit-QAfsu3Sb.js → auto-commit-IW-eik_b.js} +1 -1
- package/server/{backlog-auto-trigger-ueRaT8Dy.js → backlog-auto-trigger-BfgDsII0.js} +3 -3
- package/server/{bd-process-lock-D3S4T4o-.js → bd-process-lock-XAXAet9O.js} +2 -2
- package/server/{beads-CYsLiyIM.js → beads-B1u04n3o.js} +1 -1
- package/server/{beads-BGGxrkZ5.js → beads-BeSMEjGT.js} +7 -7
- package/server/{beads-query-B1DlJVp9.js → beads-query-Dl4FhT8J.js} +2 -2
- package/server/{beads-restore-CyygSmmn.js → beads-restore-BUItPOjI.js} +2 -2
- package/server/behavior-BTpYbAv4.js +10 -0
- package/server/{briefing-freshness-Kh5V8RTh.js → briefing-freshness-DESTCWo-.js} +4 -4
- package/server/{checkpoint-manager-fu9oVsR-.js → checkpoint-manager-BwFdegJF.js} +2 -2
- package/server/{checkpoint-manager-CAFos8e1.js → checkpoint-manager-DWSXooZV.js} +1 -1
- package/server/checkpoint-worker.js +1 -1
- package/server/{checkpoints-1BqOlS4q.js → checkpoints-BtUonbs3.js} +2 -2
- package/server/{checkpoints-DvhGi8P_.js → checkpoints-fjadfOKF.js} +1 -1
- package/server/{claude-hooks-provision-s_wdpeVj.js → claude-hooks-provision-DAtxutOs.js} +132 -114
- package/server/claude-hooks-provision-DiK62u0k.js +3 -0
- package/server/{claude-permissions-CaWqysff.js → claude-permissions-CThLgf8d.js} +2 -2
- package/server/{claude-settings-overlay-CcTf0xzG.js → claude-settings-overlay-BF9MPIwx.js} +2 -2
- package/server/{claude-settings-overlay-BbA4FbVI.js → claude-settings-overlay-Dx_Uqcmv.js} +1 -1
- package/server/{cli-BwCvCUBK.js → cli-ByKIIMfT.js} +9 -9
- package/server/cli-D9cUTbBr.js +3 -0
- package/server/{cliproxy-BsoNNDAj.js → cliproxy-B4c1BUvs.js} +2 -2
- package/server/{cliproxy-C2xC-3vH.js → cliproxy-C_GuT5DU.js} +1 -1
- package/server/{close-issue-BleIwP3f.js → close-issue-BOuLKr6e.js} +5 -5
- package/server/{closed-issue-reaper-BwUUvjEW.js → closed-issue-reaper-CksfuiFD.js} +1 -1
- package/server/{closed-issue-reaper-mC5pujeb.js → closed-issue-reaper-DCAYzNXW.js} +9 -9
- package/server/{codex-B7DTpwEw.js → codex-BYPz6ZdF.js} +1 -1
- package/server/{codex-DW60_5j2.js → codex-BbqIRZjd.js} +6 -5
- package/server/{behavior-Cpj03N4v.js → codex-parser-mFYZh8vR.js} +3 -9
- package/server/{compact-beads-DKL54y6j.js → compact-beads-CyJtoXJi.js} +5 -5
- package/server/{compact-beads-CK_hHEnB.js → compact-beads-N00E4EVa.js} +1 -1
- package/server/{config-ZNnMpIlh.js → config-DVLdmnMJ.js} +2 -2
- package/server/{config-BRNQJXhA.js → config-Dj6N8EP9.js} +1 -1
- package/server/{config-yaml-Dcz-8uit.js → config-yaml-cNOZcEww.js} +91 -22
- package/server/{conflict-gate-DTje2Ll7.js → conflict-gate-BMKm_5DV.js} +3 -3
- package/server/{conflict-gate-DGT8jCLp.js → conflict-gate-CuXUv-bP.js} +1 -1
- package/server/{context-layers-ByOWUjUg.js → context-layers-CeAwSYNt.js} +2 -2
- package/server/{context-layers-BdUCQ-cl.js → context-layers-c0JqYHcS.js} +3 -3
- package/server/{control-settings-DwkAeooY.js → control-settings-D4EFsRBd.js} +4 -4
- package/server/{conversation-compaction-OTYgd6eg.js → conversation-compaction-BCggyih4.js} +8 -8
- package/server/{conversation-compaction-WYQZUVDm.js → conversation-compaction-kHVfVRg3.js} +1 -1
- package/server/{conversation-service-BR1OgvxO.js → conversation-service-B8LFQQm1.js} +6 -5
- package/server/{conversation-service-C_kNZPLx.js → conversation-service-BTzObqGi.js} +1 -1
- package/server/{conversations-DG2M8WnT.js → conversations-B-lcHv-5.js} +4 -4
- package/server/{conversations-izHvSoAR.js → conversations-BM7zlXjr.js} +1 -1
- package/server/{cost-B2mj17iG.js → cost-BcpRQ-7o.js} +3 -3
- package/server/{cost-DQ2ajr_m.js → cost-D9kPIY_5.js} +2 -2
- package/server/{cost-sync-gTayEuWP.js → cost-sync-DF6odxK9.js} +3 -3
- package/server/{dag-CqTehWpY.js → dag-DKI3sOmX.js} +3 -3
- package/server/{dangerous-git-ops-DDWQlPC3.js → dangerous-git-ops-Bn18PEcN.js} +1 -1
- package/server/dashboard-db-worker.js +6 -6
- package/server/{deacon-BqW9HMew.js → deacon-DONuopff.js} +3 -3
- package/server/{deacon-DrKDBeJL.js → deacon-DdARMjZq.js} +127 -107
- package/server/{deacon-nudge-log-D1wEK6zF.js → deacon-nudge-log-B-naf89q.js} +1 -1
- package/server/{deacon-swarm-CO_A7xyd.js → deacon-swarm-BNGkmYR_.js} +11 -11
- package/server/deacon-swarm-CvdFekIO.js +2 -0
- package/server/deacon.js +7 -7
- package/server/{devcontainer-renderer-BQolp_qZ.js → devcontainer-renderer-C-34Sxyz.js} +3 -3
- package/server/{dist-Bc32rWJB.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-s-esqZ__.js → docker-apZ9pBYw.js} +2 -2
- package/server/{ensure-devcontainer-DA4-jF6R.js → ensure-devcontainer-Bqi1EF1P.js} +4 -4
- package/server/{ensure-devcontainer-pUVaT0h3.js → ensure-devcontainer-Dq3KoOIl.js} +1 -1
- package/server/{esm-shims-CJHy8CZY.js → esm-shims-BEjvINX3.js} +1 -1
- package/server/{event-store-CcJAhKCl.js → event-store-CqDgfbAs.js} +1 -1
- package/server/{event-store-DRte2Rwt.js → event-store-D89fMfXS.js} +3 -3
- package/server/{events-Bej1w_k8.js → events-S_C0pvl6.js} +3 -3
- package/server/{events-CtsLScn8.js → events-rIGncmP1.js} +1 -1
- package/server/{export-Dx_qJ3h8.js → export-BJHSVwKP.js} +2 -2
- package/server/{factory-FN727tWr.js → factory-DV18m0rc.js} +5 -5
- package/server/{feature-registry-population-ie-yBcQC.js → feature-registry-population-CqZSnqQi.js} +4 -4
- package/server/{feature-registry-storage-CkZTFSsn.js → feature-registry-storage-BeXmNBwK.js} +2 -2
- package/server/{features-Dtm9ABuz.js → features-u5XeMaOK.js} +2 -2
- package/server/{feedback-target-BYtpyt1i.js → feedback-target-CwyWf0Dg.js} +6 -6
- package/server/{feedback-target-DVJQDiE4.js → feedback-target-DDG1PWl3.js} +1 -1
- package/server/{feedback-writer-DOUhyIW2.js → feedback-writer-BsJiw5aT.js} +1 -1
- package/server/{feedback-writer-fdE1BzeL.js → feedback-writer-D20HSXre.js} +4 -4
- package/server/{flywheel-CUErLAyN.js → flywheel-9Y1X7IM-.js} +13 -13
- package/server/{flywheel-Bv3wv2S6.js → flywheel-Dczmgchd.js} +12 -12
- package/server/{flywheel-Bi82iiNl.js → flywheel-RCnHAgc4.js} +1 -1
- package/server/{flywheel-merge-order-BaEN3iyN.js → flywheel-merge-order-CtCYsFJP.js} +7 -7
- package/server/{flywheel-merge-order-DXjeBnJ1.js → flywheel-merge-order-DEtEd3aK.js} +1 -1
- package/server/forge-8y6aEPTB.js +2 -0
- package/server/{forge-ButEdJ31.js → forge-DFDThFil.js} +2 -2
- package/server/{from-CbtTxftl.js → from-NSJypkI8.js} +1 -1
- package/server/{fts-db-CBgBLZcL.js → fts-db-C5A_TTOM.js} +2 -2
- package/server/{fts-operations-CI9Xuo_1.js → fts-operations-DvCSimfU.js} +2 -2
- package/server/{git-utils-BCLRWQ-y.js → git-utils-C0neHvQx.js} +1 -1
- package/server/{git-utils-ClfpP47N.js → git-utils-Dr0L7mFk.js} +2 -2
- package/server/{github-app-DRD2woO0.js → github-app-Bwt9lK4A.js} +1 -1
- package/server/{github-app-DscZ0_B6.js → github-app-u9-SX7Gc.js} +2 -2
- package/server/{github-client-DpiZnxGH.js → github-client-Btyy3uan.js} +3 -3
- package/server/{github-client-iFRw8f7e.js → github-client-Do3k-N1W.js} +1 -1
- package/server/{github-pr-lookup-D-EBexxC.js → github-pr-lookup-DOF1U2WW.js} +2 -2
- package/server/{harness-resolve-iMjyNUJ2.js → harness-resolve-C6g2R0Cd.js} +3 -3
- package/server/{health-events-CRdxDFN2.js → health-events-B4u-2a9m.js} +2 -2
- package/server/{health-events-B_WsQyYm.js → health-events-Bos3sk5g.js} +1 -1
- package/server/{hooks-C9b7Vqpw.js → hooks-BCoOjL_R.js} +2 -2
- package/server/{hooks-C1ScyVxP.js → hooks-uEr8WTx_.js} +1 -1
- package/server/{hume-TQ5pvOZ_.js → hume-BqxYKbUf.js} +2 -2
- package/server/hume-CerGi2RH.js +3 -0
- package/server/{idle-stack-reaper-B1kG7B_X.js → idle-stack-reaper-DbZ8ukMd.js} +2 -2
- package/server/{idle-stack-reaper-iFVOAoJy.js → idle-stack-reaper-H0W6XtHh.js} +1 -1
- package/server/{infra-bpq1MHKU.js → infra-Ba9mS6e6.js} +3 -3
- package/server/{injection-BLWfwTVZ.js → injection-C1DKXeIZ.js} +1 -1
- package/server/{injection-DJqWld1v.js → injection-yrMBxzVq.js} +7 -7
- package/server/{inspect-agent-DytCsltn.js → inspect-agent-B-mnb4uh.js} +9 -9
- package/server/inspect-agent-CWkeAB7J.js +2 -0
- package/server/{internal-token-CCaWaTwE.js → internal-token-BPYEaXFh.js} +1 -1
- package/server/{internal-token-CjlhdufS.js → internal-token-BtqSbKTx.js} +2 -2
- package/server/{io-BiQ2Cs3k.js → io-VEGSAqsd.js} +15 -22
- package/server/{issue-closed-FApNiOOs.js → issue-closed-BxcePXL-.js} +4 -4
- package/server/{issue-lifecycle-C-K53ASY.js → issue-lifecycle--8MRxrG1.js} +22 -22
- package/server/{issue-lifecycle-BkFWNjlD.js → issue-lifecycle-CdMUauyb.js} +1 -1
- package/server/{issue-service-singleton-CuHGpJJP.js → issue-service-singleton-CkTUI-eu.js} +10 -10
- package/server/{issue-service-singleton-bG1WdSdQ.js → issue-service-singleton-MZsDhAob.js} +1 -1
- package/server/{issues-CwQMphDH.js → issues-CBAsuoAO.js} +2 -2
- package/server/{jsonl-parser-dNIjHgym.js → jsonl-parser-BUW5_sSK.js} +3 -3
- package/server/{label-cleanup-DYvAZknd.js → label-cleanup-htK6fBRU.js} +3 -3
- package/server/{layers-CD6FysRU.js → layers-jjL16At6.js} +2 -2
- package/server/{lifecycle-C_73gi-C.js → lifecycle-Ck2UR27D.js} +7 -7
- package/server/{lifecycle-io-C_Wu0_i-.js → lifecycle-io-DXv8Utct.js} +1 -1
- package/server/{lifecycle-io-CeYxP3cE.js → lifecycle-io-IehcRt2v.js} +36 -47
- package/server/{linear-client-4qoKnuQu.js → linear-client-By7hjwuN.js} +1 -1
- package/server/{linear-client-EtVyblVz.js → linear-client-D9cSQfvD.js} +3 -3
- package/server/memory-fts-worker.js +1 -1
- package/server/{merge-brm721Es.js → merge-BLcEZNXz.js} +1 -1
- package/server/{merge-7rqkTUm2.js → merge-BN8FGJ2q.js} +3 -3
- package/server/{merge-agent-4Zhlgvqp.js → merge-agent-B3u2szOL.js} +29 -29
- package/server/{merge-agent-36wfYm2u.js → merge-agent-ejC7Wos8.js} +1 -1
- package/server/{merge-batch-itfnwdsT.js → merge-batch-DyqlgYGp.js} +1 -1
- package/server/{merge-blockers-Bto_Oe_o.js → merge-blockers-cq-aS2KG.js} +2 -2
- package/server/merge-ops-CFkQtXEj.js +2 -0
- package/server/{merge-rebase-Czfqfe4q.js → merge-rebase-Dl7yIxtV.js} +2 -2
- package/server/{merge-set-BIkGQL9j.js → merge-set-CZ9Nbay0.js} +3 -3
- package/server/{merge-set-G1RHcu3D.js → merge-set-Dy0D0r3i.js} +1 -1
- package/server/{merge-sync-DIrmlZUr.js → merge-sync-CG9kDCdT.js} +1 -1
- package/server/{merge-sync-B43Dybea.js → merge-sync-D7jWLgCC.js} +2 -2
- package/server/{merge-train-DGqVuNZV.js → merge-train-CH33XJOH.js} +3 -3
- package/server/{merge-train-deps-q15XLnAS.js → merge-train-deps-JoVdGnOg.js} +4 -4
- package/server/{merge-verification-Cqfxx6bE.js → merge-verification-D4wTChdX.js} +4 -4
- package/server/{multipart-parser-CiPxxfUH.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-DAD9FJtQ.js → orphan-proposed-reconciler-BIcNu4tl.js} +1 -1
- package/server/{orphan-proposed-reconciler-BWWHn4Lr.js → orphan-proposed-reconciler-DI_IS1p_.js} +10 -10
- package/server/package-lock.json +2 -2
- package/server/package.json +1 -1
- package/server/{pan-dir-Bj7Hy8iu.js → pan-dir-CQIfKG8c.js} +4 -4
- package/server/{paths-C9DkhIOT.js → paths-Blj6A9AJ.js} +2 -2
- package/server/{pickup-CKRuGDsB.js → pickup-BtvRBbvI.js} +1 -1
- package/server/{pipeline-notifier-BkKbQ8ji.js → pipeline-notifier-BH4PAi-w.js} +1 -1
- package/server/{pipeline-notifier-CAurUste.js → pipeline-notifier-D_WYtEwl.js} +2 -2
- package/server/{project-pipelines-BRWaGmI4.js → project-pipelines-jMTitpeO.js} +2 -2
- package/server/projects-CrBE6IhN.js +3 -0
- package/server/{prompts-DfI5qbTW.js → prompts-B3njaImU.js} +2 -2
- package/server/{providers-CWDXoaMA.js → providers-BbEyFhPX.js} +7 -7
- package/server/{providers-D-5txBRc.js → providers-DnPxkHoG.js} +1 -1
- package/server/public/assets/chunk-BO2N2NFS-3qh9TUJi.js +103 -0
- package/server/public/assets/{diagram-OG6HWLK6-Avtvq2qI.js → diagram-OG6HWLK6-D8UVTPj7.js} +1 -1
- package/server/public/assets/{dist-BEHQuasD.js → dist-BvLLn1YC.js} +3 -3
- package/server/public/assets/{dist-BvmY-qb1.js → dist-CyubL7Wj.js} +1 -1
- package/server/public/assets/{ganttDiagram-6RSMTGT7-7KhCd0fH.js → ganttDiagram-6RSMTGT7-BI4E1LbQ.js} +1 -1
- package/server/public/assets/{highlighted-body-OFNGDK62-iQoBMTf0.js → highlighted-body-OFNGDK62-D_bapWkF.js} +1 -1
- package/server/public/assets/index-BAZxZ-8I.js +796 -0
- package/server/public/assets/{index-DUFDmvmH.css → index-FBG3JBfq.css} +1 -1
- package/server/public/assets/{linear-CiJHW9g5.js → linear-CEdobObr.js} +1 -1
- package/server/public/assets/mermaid-GHXKKRXX-BYP8MI37.js +1 -0
- package/server/public/assets/{pieDiagram-4H26LBE5-BOhmvUhW.js → pieDiagram-4H26LBE5-DT79L01f.js} +1 -1
- package/server/public/assets/{prod-DmLBBqat.js → prod-CR_K2DFV.js} +4 -4
- package/server/public/assets/{quadrantDiagram-W4KKPZXB-Cjku660G.js → quadrantDiagram-W4KKPZXB-BEkKXXrL.js} +1 -1
- package/server/public/assets/{sankeyDiagram-5OEKKPKP-D52w5oPh.js → sankeyDiagram-5OEKKPKP-BxSCqn-j.js} +1 -1
- package/server/public/assets/{xychartDiagram-2RQKCTM6-BTO07_Iv.js → xychartDiagram-2RQKCTM6-DicwJGG_.js} +1 -1
- package/server/public/index.html +2 -2
- package/server/{pull-requests-CKZPWhjD.js → pull-requests-43LPDfM8.js} +1 -1
- package/server/{pull-requests-Bmre-Xlz.js → pull-requests-DyUkQl4W.js} +3 -3
- package/server/{rally-BBd9tQ__.js → rally-BtWjybOa.js} +3 -3
- package/server/{rally-api-DDc85HIz.js → rally-api-B-YA_oXx.js} +1 -1
- package/server/{rally-api-DxZFObI_.js → rally-api-B-osULNL.js} +2 -2
- package/server/{rally-client-BADHn0m_.js → rally-client-CzFymP7P.js} +1 -1
- package/server/{rally-client-DvvLiAQP.js → rally-client-sErNQBO0.js} +5 -5
- package/server/rally-oggyp4cs.js +3 -0
- package/server/{reap-terminal-sessions-D6JDJsqF.js → reap-terminal-sessions-2s-fvilz.js} +1 -1
- package/server/{reap-terminal-sessions-D_xvy-Mk.js → reap-terminal-sessions-DnDQ7pf9.js} +1 -1
- package/server/{rebuild-stack-D19i080j.js → rebuild-stack-CoU-HqZj.js} +6 -6
- package/server/{rebuild-stack-GOsWqXi3.js → rebuild-stack-nGD_nPZo.js} +1 -1
- package/server/{reconstruct-cache-lQrG4xGg.js → reconstruct-cache-Wj8GrYB0.js} +6 -6
- package/server/{record-pyB6VA32.js → record-lEYK__LD.js} +1 -1
- package/server/{recovery-trip-Dfh1tNHn.js → recovery-trip-BT7nb9OV.js} +2 -2
- package/server/{release-engine-DxcMWRuK.js → release-engine-CBLQXDlH.js} +5 -5
- package/server/{release-set-BYsgX7o6.js → release-set-BNiqi7hy.js} +3 -3
- package/server/{remote-DmeL21dF.js → remote-DW_TWQnr.js} +3 -3
- package/server/{remote-8W2Yhygw.js → remote-DcO9An_f.js} +3 -3
- package/server/{remote-agents-BfQBE6MN.js → remote-agents-C4cyxHQS.js} +6 -6
- package/server/{remote-agents-DlvbzO7m.js → remote-agents-Cv-U-_V8.js} +1 -1
- package/server/{remote-completion-BgkiSQmx.js → remote-completion-PhXGGFQy.js} +13 -13
- package/server/{resolver-dTpSSzaH.js → resolver-C7dLn8OK.js} +2 -2
- package/server/resume-BYZBIab-.js +3 -0
- package/server/{review-agent-D025Wt7w.js → review-agent-Dn-yn7Zj.js} +23 -23
- package/server/{review-agent-Rub0OpZc.js → review-agent-u5q3ip7H.js} +1 -1
- package/server/{review-artifacts-CX951jTU.js → review-artifacts-D4T04aYI.js} +6 -6
- package/server/{review-context-DGGGR_w5.js → review-context-Rc0VDLG_.js} +8 -8
- package/server/{review-monitor-0_qqMcnS.js → review-monitor-BC--miCO.js} +2 -2
- package/server/{review-status-Br6lAFGO.js → review-status-CG0iDuWa.js} +1 -1
- package/server/{review-status-4qqLkRMu.js → review-status-Dc1l4dVz.js} +18 -18
- package/server/{review-status-enrichment-Cr8m3uVL.js → review-status-enrichment-C1a1OG_1.js} +3 -3
- package/server/{review-status-sync-OC-l1lNt.js → review-status-sync-CAr-hfnJ.js} +2 -2
- package/server/{review-status-sync-D3KUhsdA.js → review-status-sync-CfSixhhX.js} +1 -1
- package/server/{review-verdict-feedback-DrWMuRaj.js → review-verdict-feedback-CVDbIDBe.js} +7 -7
- package/server/{review-verdict-feedback-YOzmsq9G.js → review-verdict-feedback-D2Q960wX.js} +1 -1
- package/server/{rollup-DmazRY0j.js → rollup-CakjztPl.js} +1 -1
- package/server/{rollup-CnxbwaLH.js → rollup-DctoIu-A.js} +8 -8
- package/server/{scanner-DE1MqAaF.js → scanner-BTM1jc_u.js} +7 -7
- package/server/{sequence-io-C0uoqfGx.js → sequence-io-pnoIDGv4.js} +4 -4
- package/server/{sequencer-agent-i-b2u4SJ.js → sequencer-agent-9Soi-WL-.js} +6 -6
- package/server/server.js +422 -1746
- package/server/{service-D0_gh2tl.js → service-DfTVoqJg.js} +46 -46
- package/server/{session-fork-DZ12vipL.js → session-fork-C4jAFHj8.js} +2 -2
- package/server/session-history-DanhhiCw.js +168 -0
- package/server/{settings-ByqjPtFO.js → settings-Cuc12oP_.js} +2 -2
- package/server/settings-Cy7SCFO9.js +2 -0
- package/server/{settings-DCC4BAqj.js → settings-DfT3f86D.js} +3 -3
- package/server/{shadow-engineering-BhnmtW5m.js → shadow-engineering-bKuKTCn-.js} +3 -3
- package/server/{shadow-state-ByXZehsy.js → shadow-state-CVHpRWlb.js} +1 -1
- package/server/{shadow-state-CKm8xWX9.js → shadow-state-DJz6_pb_.js} +2 -2
- package/server/{ship-log-DE_0Cv_i.js → ship-log-CwqPFfqx.js} +1 -1
- package/server/{smart-compaction-h4_ca6Uk.js → smart-compaction-B4KlpZGN.js} +1 -1
- package/server/{smart-compaction-D5Zen3AA.js → smart-compaction-CiWfGfRZ.js} +7 -7
- package/server/{spawn-planning-session-Dueit4WX.js → spawn-planning-session-CU-DwyDl.js} +15 -15
- package/server/{spawn-planning-session-Bgi7Ub02.js → spawn-planning-session-D5N3RuLG.js} +1 -1
- package/server/{specialist-completion-BZ8M-WZ0.js → specialist-completion-CJcv-NXH.js} +1 -1
- package/server/{specialist-context-BMq83C58.js → specialist-context-B2HlbNxS.js} +5 -5
- package/server/{specialist-handoff-logger-BxX1YefH.js → specialist-handoff-logger-CQyF1ygu.js} +2 -2
- package/server/{specialist-logs-BWZYcJ6P.js → specialist-logs-CdcUpfjj.js} +3 -3
- package/server/{specialists-BudKrjOu.js → specialists-CFgw_0Q6.js} +1657 -113
- package/server/{specialists-DrPrC9Y9.js → specialists-CwzFdapR.js} +18 -18
- package/server/{specialists-ZkW4Mb7U.js → specialists-D7AcFi1u.js} +1 -1
- package/server/{specialists-8ZAguXef.js → specialists-k22_Btaq.js} +1 -1
- package/server/specs-RzcDgozr.js +3 -0
- package/server/{src-DHn4Rd2F.js → src-B4TTzNSr.js} +72 -1
- package/server/{src-Dv6L03vW.js → src-BvpMg4EB.js} +3 -3
- package/server/{src-DNUUqkec.js → src-D4YUZrwR.js} +6 -6
- package/server/{stack-health-DxsTx7II.js → stack-health-CSgcYcr8.js} +2 -2
- package/server/{stack-health-Dclm7_tu.js → stack-health-DVN7zRnL.js} +1 -1
- package/server/{state-home-CRowbXqU.js → state-home-CEvD_v5F.js} +6 -6
- package/server/{state-mapping-BvAgFK8n.js → state-mapping-C13UaCL7.js} +1 -1
- package/server/{stuck-remediation-CFWUP8_I.js → stuck-remediation-CxsyxwFO.js} +43 -21
- package/server/{stuck-remediation-CLHd-lrF.js → stuck-remediation-nTIvhGOR.js} +1 -1
- package/server/{summary-fork-CKc01Our.js → summary-fork-CnRMPCYd.js} +2 -2
- package/server/{summary-fork-CtCwBJ2Z.js → summary-fork-gKSoFAnK.js} +8 -8
- package/server/{supervisor-BA5D72Qa.js → supervisor-CZMs8s0M.js} +2 -2
- package/server/supervisor-CfX192ma.js +2 -0
- package/server/{swarm-readiness-CL5sM9B1.js → swarm-readiness-h6-pwY8w.js} +3 -3
- package/server/{system-prerequisites-DmFSXIE5.js → system-prerequisites-DZZTi2G6.js} +1 -1
- package/server/{teardown-workspace-DWmFJzTw.js → teardown-workspace-B4D-oCVg.js} +17 -17
- package/server/{test-agent-queue-DjsQoV5X.js → test-agent-queue-CnuYku4B.js} +6 -6
- package/server/{test-verdict-BSqsQp3G.js → test-verdict-CRsPpByy.js} +1 -1
- package/server/{test-verdict-D1AmZ2c0.js → test-verdict-CXMLATGc.js} +1 -1
- package/server/{tldr-daemon-DD9rI5gA.js → tldr-daemon-CgZQ3jmZ.js} +1 -1
- package/server/{tldr-daemon-C-MGomL8.js → tldr-daemon-CuA8hz21.js} +2 -2
- package/server/{tmux-x291Gjjb.js → tmux-By8E_Yv_.js} +1 -1
- package/server/{tmux-C_d-lSIq.js → tmux-C3g9VFcg.js} +2 -2
- package/server/{token-DfBf1bsd.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-DItsdelv.js → tracker-config-BzfVj41Z.js} +1 -1
- package/server/{tracker-config-CNODpd11.js → tracker-config-dQxC15vH.js} +2 -2
- package/server/{tracker-utils-Ch2_5GGf.js → tracker-utils--z8FLSWn.js} +2 -2
- package/server/{tracker-utils-B9ZoVA9b.js → tracker-utils-DkKyRT0H.js} +1 -1
- package/server/{traefik-connect-BF4x_LUQ.js → traefik-connect-CZYB3dlm.js} +1 -1
- package/server/{tunnel-r_5nHAI6.js → tunnel-BpWZs0Jy.js} +3 -3
- package/server/{tunnel-YD80_IHr.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-33JEP4LZ.js → types-tlXf80x3.js} +1 -1
- package/server/{uat-train-DjkFWXge.js → uat-train-BRo6DM7p.js} +24 -24
- package/server/{uat-train-DDI00aqD.js → uat-train-utGVmqdm.js} +1 -1
- package/server/{validation-DUTiJnyz.js → validation-CsPVsoA0.js} +4 -4
- package/server/{validation-ict8hnXk.js → validation-Dq_wwcw3.js} +1 -1
- package/server/{verification-runner-inLgeQux.js → verification-runner-CMT5WRMS.js} +11 -11
- package/server/{verification-runner-ATaLbpr5.js → verification-runner-D0Uh-9jc.js} +1 -1
- package/server/{vtt-parser-QnRfcjiU.js → vtt-parser-C_XPlifj.js} +1 -1
- package/server/{work-agent-prompt-fZljjA1_.js → work-agent-prompt-ZTAb2Hyf.js} +11 -11
- package/server/workflows-BLwxUMP7.js +2 -0
- package/server/{workflows-oBnJ7Tm0.js → workflows-CXRwhw_o.js} +14 -14
- package/server/{workspace-B2WOW9Hw.js → workspace-9UEsKuiP.js} +1 -1
- package/server/{workspace-CNuW2j41.js → workspace-CNfuj1-5.js} +3 -3
- package/server/{workspace-config-CBgMGhWs.js → workspace-config-ChWOECy0.js} +1 -1
- package/server/{workspace-manager-DjUAJCSs.js → workspace-manager-BO-6k3sP.js} +1 -1
- package/server/{workspace-manager-CB-R07R3.js → workspace-manager-D8AByFIT.js} +13 -13
- package/server/{workspace-metadata-9Nn5kgRl.js → workspace-metadata-CvC268MN.js} +2 -2
- package/server/{workspace-metadata-Fd58uUQG.js → workspace-metadata-DZiJtnuF.js} +1 -1
- package/server/{workspaces-BjWXntty.js → workspaces-D-uIoqbg.js} +103 -95
- package/server/{writer-CQMGzEkw.js → writer-BUweuRPx.js} +1 -1
- package/server/{writer-fe1-8iGc.js → writer-CrP2xuBn.js} +3 -3
- package/sync-sources/hooks/ask-user-question-hook +7 -1
- package/sync-sources/hooks/record-cost-event.js +2 -2
- package/sync-sources/hooks/record-cost-event.js.map +1 -1
- package/server/agent-runtime-mirror-DrWxopNA.js +0 -37
- package/server/cli-ClIQwgMI.js +0 -3
- package/server/deacon-swarm-BY5hKNaU.js +0 -2
- package/server/dist-DGTwcZhI.js +0 -3
- package/server/forge-XlDgPQWs.js +0 -2
- package/server/hume-K1pi8jC4.js +0 -3
- package/server/inspect-agent-477VxQim.js +0 -2
- package/server/merge-ops-PzqsW69V.js +0 -2
- package/server/projects-KJ94e50I.js +0 -3
- package/server/public/assets/chunk-BO2N2NFS-ClukPsZQ.js +0 -103
- package/server/public/assets/index-DnTZ2QeN.js +0 -796
- package/server/public/assets/mermaid-GHXKKRXX-DZJOwgBG.js +0 -1
- package/server/rally-Dc2Wnxw2.js +0 -3
- package/server/resume-DhcIqsTm.js +0 -3
- package/server/settings-yydgaqhv.js +0 -2
- package/server/specs-DwoAEGrW.js +0 -3
- package/server/supervisor-DHjumXlL.js +0 -2
- package/server/token-util-xNaV-00f.js +0 -3
- package/server/workflows-tU7KKxQi.js +0 -2
|
@@ -1,38 +1,39 @@
|
|
|
1
1
|
import { i as __require, t as __commonJSMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import {
|
|
2
|
+
import { Bt as writeIssueRecordSync, Ct as ensureIssueRecordSync, En as getIssuePrefix, Fn as init_projects, Jr as init_paths, Nt as readIssueRecordForWorkspaceSync, Pt as readIssueRecordSync, Qr as sessionFilePath, Sr as AGENTS_DIR, dn as init_state_plane, f as loadConfigSync, in as init_auto_commit, jr as OVERDECK_HOME, kn as getProjectSync, kt as init_record, ln as STATE_PLANE_PATHS, on as queueBeadsAutoCommit, pn as isStatePlanePath, qn as resolveProjectFromIssueSync, s as init_load, sn as reconcileStatePlaneDrift, un as getMainDivergence, xr as init_errors, zn as listProjectsSync } from "./config-yaml-cNOZcEww.js";
|
|
3
3
|
import { a as init_activity_logger, n as emitActivityEntrySync, r as emitActivityTtsSync } from "./activity-logger-pcbf-e30.js";
|
|
4
|
-
import { C as isPaneDead, E as listPaneValues, F as sendKeysAsync, L as sessionExists, O as listSessionNames, P as sendKeys, R as sessionExistsSync, i as capturePane, k as listSessions, w as killSession, x as init_tmux } from "./tmux-
|
|
5
|
-
import { a as init_event_store, i as initEventStore } from "./event-store-
|
|
6
|
-
import { C as init_record_lock, S as needsReviewDispatch, c as init_review_status, h as reviewGatesPassedSync, s as getReviewStatusSync, u as loadReviewStatuses, w as withIssueRecordLock, x as init_review_dispatch_decision, y as setReviewStatusSync } from "./review-status-
|
|
7
|
-
import { d as init_agents, g as isTerminalIssueStage, h as getIssueStageSync, p as listAllAgentsSync } from "./briefing-freshness-
|
|
8
|
-
import { An as getAgentDir, Bn as markAgentRunningState, D as init_context_overflow, Dn as clearAgentTroubledSync, Dt as captureTranscriptUserRecordSnapshot, E as resumeAgent, Fn as init_agent_state, G as init_termination, Jn as saveAgentStateSync, K as stopAgent, Kn as resetAgentFailureCount, Mn as getAgentState, On as clearYieldForResumeSync, Ot as init_transcript_landing, Pn as getAgentStateSync, Q as listRunningAgentsSync, Un as recordAgentFailure, X as listAgentStates, Xn as setAgentPausedSync, Y as init_queries, Z as listRunningAgents, Zn as setAgentYieldedSync,
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import { a as
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
22
|
-
import {
|
|
23
|
-
import {
|
|
24
|
-
import { n as
|
|
25
|
-
import { n as
|
|
26
|
-
import { n as
|
|
27
|
-
import {
|
|
28
|
-
import {
|
|
29
|
-
import {
|
|
30
|
-
import { n as
|
|
31
|
-
import {
|
|
32
|
-
import { n as
|
|
33
|
-
import {
|
|
34
|
-
import {
|
|
35
|
-
import {
|
|
4
|
+
import { C as isPaneDead, E as listPaneValues, F as sendKeysAsync, L as sessionExists, O as listSessionNames, P as sendKeys, R as sessionExistsSync, i as capturePane, k as listSessions, w as killSession, x as init_tmux } from "./tmux-C3g9VFcg.js";
|
|
5
|
+
import { a as init_event_store, i as initEventStore } from "./event-store-D89fMfXS.js";
|
|
6
|
+
import { C as init_record_lock, S as needsReviewDispatch, c as init_review_status, h as reviewGatesPassedSync, s as getReviewStatusSync, u as loadReviewStatuses, w as withIssueRecordLock, x as init_review_dispatch_decision, y as setReviewStatusSync } from "./review-status-Dc1l4dVz.js";
|
|
7
|
+
import { d as init_agents, g as isTerminalIssueStage, h as getIssueStageSync, p as listAllAgentsSync } from "./briefing-freshness-DESTCWo-.js";
|
|
8
|
+
import { An as getAgentDir, Bn as markAgentRunningState, D as init_context_overflow, Dn as clearAgentTroubledSync, Dt as captureTranscriptUserRecordSnapshot, E as resumeAgent, Fn as init_agent_state, G as init_termination, Jn as saveAgentStateSync, K as stopAgent, Kn as resetAgentFailureCount, Mn as getAgentState, On as clearYieldForResumeSync, Ot as init_transcript_landing, Pn as getAgentStateSync, Q as listRunningAgentsSync, Un as recordAgentFailure, X as listAgentStates, Xn as setAgentPausedSync, Y as init_queries, Z as listRunningAgents, Zn as setAgentYieldedSync, _t as init_config, at as init_concurrency, ct as resetPatrolDispatchBudget, dt as workResumeSlotsAvailable, et as countRunningAgents, fr as getAgentRuntimeState, gn as buildDefaultResumeContinueMessage, hr as saveAgentRuntimeState, it as getConcurrencyLimits, k as isContextOverflowTail, lt as tryReserveAdvancingSlot, mr as init_runtime_state, mt as setCachedMemoryVerdict, nt as describeRunningAgents, ot as releaseAdvancingSlot, pr as getAgentRuntimeStateSync, pt as init_memory_verdict_cache, qn as saveAgentState, t as init_agents$1, vt as loadCloisterConfig, wt as deliverInitialPromptWithRetry, yt as loadCloisterConfigSync } from "./agents-B9GwfCyp.js";
|
|
9
|
+
import { c as logDeaconEventSync, o as init_persistent_logger, s as logAgentLifecycleSync } from "./session-history-DanhhiCw.js";
|
|
10
|
+
import { i as resolveGitHubIssueSync, n as init_tracker_utils } from "./tracker-utils--z8FLSWn.js";
|
|
11
|
+
import { n as mapGitHubStateToCanonical, t as init_state_mapping } from "./state-mapping-C13UaCL7.js";
|
|
12
|
+
import { c as init_review_status_sync, l as markWorkspaceStuck } from "./review-status-sync-CAr-hfnJ.js";
|
|
13
|
+
import { f as init_config$1, m as loadConfigSync$1, p as loadConfig$1 } from "./config-DVLdmnMJ.js";
|
|
14
|
+
import { n as init_state_home, t as findRecreatedLegacyStatePaths } from "./state-home-CEvD_v5F.js";
|
|
15
|
+
import { T as stampBootReconciliation, h as setBootReconciliationDecision, l as isDeaconGloballyPaused, r as getBootReconciliationState, s as init_control_settings } from "./control-settings-D4EFsRBd.js";
|
|
16
|
+
import { c as init_docker_stats, s as DockerStatsCollector } from "./stack-health-CSgcYcr8.js";
|
|
17
|
+
import { a as queryBeadsForIssue, o as queryReadyBeadsByIssueLabels, r as init_beads_query, s as resolveBeadsQueryRoot } from "./beads-query-Dl4FhT8J.js";
|
|
18
|
+
import { a as isAgentIdleForNudge, t as checkStuckAgentRemediation } from "./stuck-remediation-CxsyxwFO.js";
|
|
19
|
+
import { n as __filename, r as init_esm_shims } from "./esm-shims-BEjvINX3.js";
|
|
20
|
+
import { t as recordDeaconNudge } from "./deacon-nudge-log-B-naf89q.js";
|
|
21
|
+
import { n as init_review_monitor, t as REVIEW_SUB_ROLES } from "./review-monitor-BC--miCO.js";
|
|
22
|
+
import { O as init_specialists, R as parseReviewerSessionName, T as getTmuxSessionName, d as getAllProjectSpecialistStatuses } from "./specialists-CwzFdapR.js";
|
|
23
|
+
import { a as inferBranchFromWorkspace, i as findWorkspacePath, o as init_archive_planning } from "./archive-planning-CbghE9-o.js";
|
|
24
|
+
import { n as init_issue_closed, r as isIssueClosed } from "./issue-closed-BxcePXL-.js";
|
|
25
|
+
import { n as shouldSkipDispatchAsMerged, t as init_merge_verification } from "./merge-verification-D4wTChdX.js";
|
|
26
|
+
import { n as init_review_verdict_feedback, t as deliverReviewVerdictFeedback } from "./review-verdict-feedback-CVDbIDBe.js";
|
|
27
|
+
import { n as reconcileTraefikNetworks, t as init_traefik_connect } from "./traefik-connect-CZYB3dlm.js";
|
|
28
|
+
import { g as decideAgentAutonomousRedrive, r as coordinateSwarmSlots, y as listFeatureWorkspaces } from "./deacon-swarm-BNGkmYR_.js";
|
|
29
|
+
import { t as recordRecoveryFailure } from "./recovery-trip-BT7nb9OV.js";
|
|
30
|
+
import { n as isExplicitNoResumeRequest, t as init_no_resume_mode } from "./no-resume-mode-Gh5R_YLF.js";
|
|
31
|
+
import { n as reconcileClosedIssueAgents } from "./closed-issue-reaper-DCAYzNXW.js";
|
|
32
|
+
import { a as RELEASED_LABEL, i as READY_LABEL, n as OBJECTION_LABEL, o as VETOED_LABEL, r as PARKED_LABEL, t as BLOCKS_MAIN_LABEL } from "./pickup-BtvRBbvI.js";
|
|
33
|
+
import { n as pruneTerminalStoppedAgents } from "./agent-gc-D0wDIeV1.js";
|
|
34
|
+
import { a as spawnWorkAgentThroughAgentsEndpoint, i as reconcileOrphanProposedSpecs, o as triggerRebuildAndStart } from "./orphan-proposed-reconciler-DI_IS1p_.js";
|
|
35
|
+
import { n as reconcileIdleWorkspaceStacks } from "./idle-stack-reaper-DbZ8ukMd.js";
|
|
36
|
+
import { i as readTestVerdictArtifact, n as decideUnsignaledTestAction, r as init_test_verdict } from "./test-verdict-CXMLATGc.js";
|
|
36
37
|
import { createRequire } from "node:module";
|
|
37
38
|
import { join } from "node:path";
|
|
38
39
|
import { Effect } from "effect";
|
|
@@ -21636,11 +21637,11 @@ init_activity_logger();
|
|
|
21636
21637
|
init_projects();
|
|
21637
21638
|
init_tmux();
|
|
21638
21639
|
init_agents();
|
|
21640
|
+
init_persistent_logger();
|
|
21639
21641
|
init_review_status_sync();
|
|
21640
21642
|
init_review_dispatch_decision();
|
|
21641
21643
|
init_review_status();
|
|
21642
21644
|
init_runtime_state();
|
|
21643
|
-
init_persistent_logger();
|
|
21644
21645
|
init_agent_state();
|
|
21645
21646
|
init_transcript_landing();
|
|
21646
21647
|
init_config();
|
|
@@ -22537,7 +22538,7 @@ async function checkInspectAgentTimeouts(now = /* @__PURE__ */ new Date()) {
|
|
|
22537
22538
|
console.warn(`[deacon] Failed to kill inspect session ${sessionName}: ${msg}`);
|
|
22538
22539
|
});
|
|
22539
22540
|
try {
|
|
22540
|
-
const { messageAgent } = await import("./agents-
|
|
22541
|
+
const { messageAgent } = await import("./agents-CEcaxSkR.js");
|
|
22541
22542
|
await messageAgent(`agent-${issueId.toLowerCase()}`, verdict, "deacon:inspect-watchdog");
|
|
22542
22543
|
} catch (err) {
|
|
22543
22544
|
const msg = err instanceof Error ? err.message : String(err);
|
|
@@ -22680,7 +22681,7 @@ async function maybeProactivelyCompactContext(sessionName, now) {
|
|
|
22680
22681
|
if (!agentState?.workspace || !sessionId || !agentState.model) return null;
|
|
22681
22682
|
let usage = null;
|
|
22682
22683
|
try {
|
|
22683
|
-
const { computeContextUsage } = await import("./conversation-service-
|
|
22684
|
+
const { computeContextUsage } = await import("./conversation-service-BTzObqGi.js");
|
|
22684
22685
|
usage = await computeContextUsage(sessionFilePath(agentState.workspace, sessionId), agentState.model);
|
|
22685
22686
|
} catch {
|
|
22686
22687
|
return null;
|
|
@@ -22777,13 +22778,13 @@ async function checkApiErrorAgents() {
|
|
|
22777
22778
|
const st = getAgentStateSync(sessionName);
|
|
22778
22779
|
const sid = st?.sessionId ?? runtimeState?.claudeSessionId;
|
|
22779
22780
|
if (st?.workspace && sid && st.model) {
|
|
22780
|
-
const { computeContextUsage } = await import("./conversation-service-
|
|
22781
|
+
const { computeContextUsage } = await import("./conversation-service-BTzObqGi.js");
|
|
22781
22782
|
const usage = await computeContextUsage(sessionFilePath(st.workspace, sid), st.model);
|
|
22782
22783
|
if (usage && usage.percentUsed < 85) recoveredPct = usage.percentUsed;
|
|
22783
22784
|
}
|
|
22784
22785
|
} catch {}
|
|
22785
22786
|
if (recoveredPct !== null) {
|
|
22786
|
-
const { clearWorkspaceStuck } = await import("./review-status-sync-
|
|
22787
|
+
const { clearWorkspaceStuck } = await import("./review-status-sync-CfSixhhX.js");
|
|
22787
22788
|
clearWorkspaceStuck(issueId);
|
|
22788
22789
|
stuckOverflowNativeRecoveryState.delete(sessionName);
|
|
22789
22790
|
actions.push(`Context overflow recovery: cleared stuck flag for ${sessionName} (context back to ${Math.round(recoveredPct)}%)`);
|
|
@@ -22799,7 +22800,7 @@ async function checkApiErrorAgents() {
|
|
|
22799
22800
|
rec.attempts += 1;
|
|
22800
22801
|
rec.lastAttempt = now;
|
|
22801
22802
|
stuckOverflowNativeRecoveryState.set(sessionName, rec);
|
|
22802
|
-
const { resumeAgent } = await import("./agents-
|
|
22803
|
+
const { resumeAgent } = await import("./agents-CEcaxSkR.js");
|
|
22803
22804
|
const recovered = await resumeAgent(sessionName, void 0, { compact: true });
|
|
22804
22805
|
if (recovered.success) {
|
|
22805
22806
|
stuckOverflowNativeRecoveryState.delete(sessionName);
|
|
@@ -22847,7 +22848,7 @@ async function checkApiErrorAgents() {
|
|
|
22847
22848
|
}
|
|
22848
22849
|
const compactAttempts = (ov?.compactAttempts ?? 0) + 1;
|
|
22849
22850
|
if (issueId !== null) {
|
|
22850
|
-
const { resumeAgent } = await import("./agents-
|
|
22851
|
+
const { resumeAgent } = await import("./agents-CEcaxSkR.js");
|
|
22851
22852
|
const resumeResult = await resumeAgent(sessionName, void 0, { compact: true });
|
|
22852
22853
|
contextOverflowRecoveryState.set(sessionName, {
|
|
22853
22854
|
lastAttempt: now,
|
|
@@ -23214,7 +23215,7 @@ function reviewConvoyLiveness(issueId) {
|
|
|
23214
23215
|
*/
|
|
23215
23216
|
async function recoverUnhealthyTestStack(issueId, workspacePath) {
|
|
23216
23217
|
const key = issueId.toUpperCase();
|
|
23217
|
-
const { getWorkspaceStackHealth } = await import("./stack-health-
|
|
23218
|
+
const { getWorkspaceStackHealth } = await import("./stack-health-DVN7zRnL.js");
|
|
23218
23219
|
const health = await Effect.runPromise(getWorkspaceStackHealth(issueId, { workspacePath }));
|
|
23219
23220
|
if (health.healthy) {
|
|
23220
23221
|
testStackRebuildState.delete(key);
|
|
@@ -23246,7 +23247,7 @@ async function recoverUnhealthyTestStack(issueId, workspacePath) {
|
|
|
23246
23247
|
record.attempts += 1;
|
|
23247
23248
|
testStackRebuildState.set(key, record);
|
|
23248
23249
|
console.log(`[deacon] Test stack for ${key} unhealthy (${health.reasons.join("; ")}) — rebuilding (attempt ${record.attempts}/${TEST_STACK_REBUILD_MAX_ATTEMPTS})`);
|
|
23249
|
-
const { rebuildWorkspaceStack } = await import("./rebuild-stack-
|
|
23250
|
+
const { rebuildWorkspaceStack } = await import("./rebuild-stack-nGD_nPZo.js");
|
|
23250
23251
|
const result = await Effect.runPromise(rebuildWorkspaceStack(issueId, { onProgress: (m) => console.log(`[deacon] ${key} stack rebuild: ${m}`) }));
|
|
23251
23252
|
if (!result.success) {
|
|
23252
23253
|
console.warn(`[deacon] Test stack rebuild failed for ${key}: ${result.error}`);
|
|
@@ -23374,7 +23375,7 @@ async function handleReviewCoordinatorDied(issueId, _sessionName, _reason) {
|
|
|
23374
23375
|
return actions;
|
|
23375
23376
|
}
|
|
23376
23377
|
try {
|
|
23377
|
-
const { spawnReviewRoleForIssue } = await import("./review-agent-
|
|
23378
|
+
const { spawnReviewRoleForIssue } = await import("./review-agent-u5q3ip7H.js");
|
|
23378
23379
|
const dispatchResult = await Effect.runPromise(spawnReviewRoleForIssue({
|
|
23379
23380
|
issueId,
|
|
23380
23381
|
workspace,
|
|
@@ -23504,7 +23505,7 @@ async function reconcileReviewStatusOrphan(issueId, rawStatus) {
|
|
|
23504
23505
|
const workspace = agentState?.workspace || (resolved ? findWorkspacePath(resolved.projectPath, issueLower) : null);
|
|
23505
23506
|
if (workspace && resolved && !tryReserveAdvancingSlot() && !await tryYieldForAdvancingDispatch("review", issueId)) actions.push(`Deferred review re-dispatch for ${issueId} — advancing-role concurrency ceiling reached`);
|
|
23506
23507
|
else if (workspace && resolved) try {
|
|
23507
|
-
const { spawnReviewRoleForIssue } = await import("./review-agent-
|
|
23508
|
+
const { spawnReviewRoleForIssue } = await import("./review-agent-u5q3ip7H.js");
|
|
23508
23509
|
const dispatchResult = await Effect.runPromise(spawnReviewRoleForIssue({
|
|
23509
23510
|
issueId,
|
|
23510
23511
|
workspace,
|
|
@@ -23529,8 +23530,8 @@ async function reconcileReviewStatusOrphan(issueId, rawStatus) {
|
|
|
23529
23530
|
const workspace = agentState?.workspace || (resolved ? findWorkspacePath(resolved.projectPath, issueLower) : null);
|
|
23530
23531
|
if (workspace && resolved) {
|
|
23531
23532
|
const branch = `feature/${issueLower}`;
|
|
23532
|
-
const { spawnRun } = await import("./agents-
|
|
23533
|
-
const { buildTestRolePrompt } = await import("./test-agent-queue-
|
|
23533
|
+
const { spawnRun } = await import("./agents-CEcaxSkR.js");
|
|
23534
|
+
const { buildTestRolePrompt } = await import("./test-agent-queue-CnuYku4B.js");
|
|
23534
23535
|
const stackRecovery = await recoverUnhealthyTestStack(issueId, workspace);
|
|
23535
23536
|
if (stackRecovery === "cooldown" || stackRecovery === "exhausted") {
|
|
23536
23537
|
setReviewStatusSync(issueId, { testStatus: "dispatch_failed" });
|
|
@@ -23668,7 +23669,7 @@ async function recoverStalledReviewConvoys(getCanonicalState = getAutoCloseOutCa
|
|
|
23668
23669
|
record.lastAttempt = now;
|
|
23669
23670
|
record.attempts += 1;
|
|
23670
23671
|
stalledReviewConvoyRecoveryState.set(key, record);
|
|
23671
|
-
const { spawnReviewRoleForIssue } = await import("./review-agent-
|
|
23672
|
+
const { spawnReviewRoleForIssue } = await import("./review-agent-u5q3ip7H.js");
|
|
23672
23673
|
try {
|
|
23673
23674
|
const result = await Effect.runPromise(spawnReviewRoleForIssue({
|
|
23674
23675
|
issueId,
|
|
@@ -23739,7 +23740,7 @@ async function checkMissingReviewStatuses() {
|
|
|
23739
23740
|
continue;
|
|
23740
23741
|
}
|
|
23741
23742
|
try {
|
|
23742
|
-
const { spawnReviewRoleForIssue } = await import("./review-agent-
|
|
23743
|
+
const { spawnReviewRoleForIssue } = await import("./review-agent-u5q3ip7H.js");
|
|
23743
23744
|
await Effect.runPromise(spawnReviewRoleForIssue({
|
|
23744
23745
|
issueId,
|
|
23745
23746
|
workspace,
|
|
@@ -23790,7 +23791,7 @@ async function checkStuckReviewing() {
|
|
|
23790
23791
|
const actions = [];
|
|
23791
23792
|
const REVIEW_STUCK_THRESHOLD_MS = 1800 * 1e3;
|
|
23792
23793
|
try {
|
|
23793
|
-
const { loadReviewStatuses, setReviewStatusSync } = await import("./review-status-
|
|
23794
|
+
const { loadReviewStatuses, setReviewStatusSync } = await import("./review-status-CG0iDuWa.js");
|
|
23794
23795
|
const statuses = loadReviewStatuses();
|
|
23795
23796
|
const now = Date.now();
|
|
23796
23797
|
const activeReviewIssues = /* @__PURE__ */ new Set();
|
|
@@ -23806,7 +23807,7 @@ async function checkStuckReviewing() {
|
|
|
23806
23807
|
if (rState?.state === "active" && rState.currentIssue) activeReviewIssues.add(rState.currentIssue.toUpperCase());
|
|
23807
23808
|
}
|
|
23808
23809
|
try {
|
|
23809
|
-
const { listRunningAgents } = await import("./agents-
|
|
23810
|
+
const { listRunningAgents } = await import("./agents-CEcaxSkR.js");
|
|
23810
23811
|
const agents = await Effect.runPromise(listRunningAgents());
|
|
23811
23812
|
for (const agent of agents) {
|
|
23812
23813
|
if (agent.status === "stopped" || agent.status === "error") continue;
|
|
@@ -23939,7 +23940,7 @@ async function checkCompletedButUnsignaledReviews() {
|
|
|
23939
23940
|
}
|
|
23940
23941
|
const nudge = `Your review synthesis is already written and saved. Your ONLY remaining task is to execute this Bash command immediately — do not analyze, do not summarize, do not ask questions, just run it:\n\n${`pan admin specialists done review ${issueId} --status ${verdict}${verdict === "blocked" || verdict === "failed" ? ` --notes "${topBlocker || "See synthesis.md"}"` : ""}`}\n\nRun this command NOW. Do not write any other response before executing it.`;
|
|
23941
23942
|
try {
|
|
23942
|
-
const { messageAgent } = await import("./agents-
|
|
23943
|
+
const { messageAgent } = await import("./agents-CEcaxSkR.js");
|
|
23943
23944
|
await messageAgent(reviewSession, nudge);
|
|
23944
23945
|
unsignaledReviewNudges.set(latestDir, now);
|
|
23945
23946
|
actions.push(`Nudged ${reviewSession} to signal ${verdict} (synthesis written ${Math.round((now - latestMtime) / 6e4)}min ago)`);
|
|
@@ -24060,7 +24061,7 @@ async function respawnIdleReviewer(state, agentId) {
|
|
|
24060
24061
|
return false;
|
|
24061
24062
|
}
|
|
24062
24063
|
try {
|
|
24063
|
-
const { spawnReviewSubRoleForIssue } = await import("./review-agent-
|
|
24064
|
+
const { spawnReviewSubRoleForIssue } = await import("./review-agent-u5q3ip7H.js");
|
|
24064
24065
|
const contextManifestPath = join$1(dirname$1(outputPath), "context.json");
|
|
24065
24066
|
const result = await Effect.runPromise(spawnReviewSubRoleForIssue({
|
|
24066
24067
|
issueId: state.issueId,
|
|
@@ -24189,7 +24190,7 @@ async function nudgeSynthesisForCompleteReviewerReports(states) {
|
|
|
24189
24190
|
"Read the four reports, write synthesis.md, then signal review status exactly as roles/review.md instructs."
|
|
24190
24191
|
].join("\n");
|
|
24191
24192
|
try {
|
|
24192
|
-
const { messageAgent } = await import("./agents-
|
|
24193
|
+
const { messageAgent } = await import("./agents-CEcaxSkR.js");
|
|
24193
24194
|
await messageAgent(state.id, message);
|
|
24194
24195
|
reviewReportsPresentNudges.set(nudgeKey, now);
|
|
24195
24196
|
const action = `Nudged ${state.id} to synthesize from ${REVIEW_SUB_ROLES.length} reviewer reports`;
|
|
@@ -24268,7 +24269,7 @@ async function monitorReviewConvoySignals() {
|
|
|
24268
24269
|
if (!signal) continue;
|
|
24269
24270
|
const message = signal === "ready" ? `REVIEWER_READY ${state.reviewSubRole} ${outputPath}` : signal === "timeout" ? `REVIEWER_TIMEOUT ${state.reviewSubRole} ${reason}` : `REVIEWER_FAILED ${state.reviewSubRole} ${reason}`;
|
|
24270
24271
|
try {
|
|
24271
|
-
const { messageAgent } = await import("./agents-
|
|
24272
|
+
const { messageAgent } = await import("./agents-CEcaxSkR.js");
|
|
24272
24273
|
await messageAgent(state.reviewSynthesisAgentId, message);
|
|
24273
24274
|
state.reviewMonitorSignaled = signal;
|
|
24274
24275
|
saveAgentStateSync(state);
|
|
@@ -24276,7 +24277,7 @@ async function monitorReviewConvoySignals() {
|
|
|
24276
24277
|
actions.push(action);
|
|
24277
24278
|
logDeaconEventSync(`monitorReviewConvoySignals: ${action}`);
|
|
24278
24279
|
if (signal === "ready") try {
|
|
24279
|
-
const { notifyPipelineSync } = await import("./pipeline-notifier-
|
|
24280
|
+
const { notifyPipelineSync } = await import("./pipeline-notifier-BH4PAi-w.js");
|
|
24280
24281
|
notifyPipelineSync({
|
|
24281
24282
|
type: "reviewer_completed",
|
|
24282
24283
|
issueId: state.issueId,
|
|
@@ -24284,7 +24285,7 @@ async function monitorReviewConvoySignals() {
|
|
|
24284
24285
|
});
|
|
24285
24286
|
} catch {}
|
|
24286
24287
|
else if (signal === "timeout") try {
|
|
24287
|
-
const { notifyPipelineSync } = await import("./pipeline-notifier-
|
|
24288
|
+
const { notifyPipelineSync } = await import("./pipeline-notifier-BH4PAi-w.js");
|
|
24288
24289
|
notifyPipelineSync({
|
|
24289
24290
|
type: "reviewer_timed_out",
|
|
24290
24291
|
issueId: state.issueId,
|
|
@@ -24384,7 +24385,7 @@ const FORK_CACHE_CHECK_DELAY_MS = 180 * 1e3;
|
|
|
24384
24385
|
async function checkStalledReviewDiscovery() {
|
|
24385
24386
|
const actions = [];
|
|
24386
24387
|
try {
|
|
24387
|
-
const { listAgentStates } = await import("./agents-
|
|
24388
|
+
const { listAgentStates } = await import("./agents-CEcaxSkR.js");
|
|
24388
24389
|
const states = listAgentStates();
|
|
24389
24390
|
const now = Date.now();
|
|
24390
24391
|
for (const state of states) {
|
|
@@ -24393,7 +24394,7 @@ async function checkStalledReviewDiscovery() {
|
|
|
24393
24394
|
const aged = Number.isFinite(startedMs) && now - startedMs > 48e4;
|
|
24394
24395
|
const dead = !await Effect.runPromise(sessionExists(state.id)).catch(() => false) || await Effect.runPromise(isPaneDead(state.id)).catch(() => true);
|
|
24395
24396
|
if (!aged && !dead) continue;
|
|
24396
|
-
const { handleReviewDiscoveryReady } = await import("./review-agent-
|
|
24397
|
+
const { handleReviewDiscoveryReady } = await import("./review-agent-u5q3ip7H.js");
|
|
24397
24398
|
const result = await handleReviewDiscoveryReady(state.issueId, { source: dead ? "deacon-backstop (parent dead)" : "deacon-backstop (discovery timeout)" });
|
|
24398
24399
|
actions.push(result.message);
|
|
24399
24400
|
logDeaconEventSync(`checkStalledReviewDiscovery: ${result.message}`);
|
|
@@ -24416,8 +24417,8 @@ async function checkStalledReviewDiscovery() {
|
|
|
24416
24417
|
async function checkStalledReviewParents() {
|
|
24417
24418
|
const actions = [];
|
|
24418
24419
|
try {
|
|
24419
|
-
const { listAgentStates, markAgentStoppedState } = await import("./agents-
|
|
24420
|
-
const { PARENT_REVIEW_TIMEOUT_MS } = await import("./review-agent-
|
|
24420
|
+
const { listAgentStates, markAgentStoppedState } = await import("./agents-CEcaxSkR.js");
|
|
24421
|
+
const { PARENT_REVIEW_TIMEOUT_MS } = await import("./review-agent-u5q3ip7H.js");
|
|
24421
24422
|
const states = listAgentStates();
|
|
24422
24423
|
const now = Date.now();
|
|
24423
24424
|
for (const state of states) {
|
|
@@ -24466,8 +24467,8 @@ async function checkStalledReviewParents() {
|
|
|
24466
24467
|
async function checkReviewForkCacheMisses() {
|
|
24467
24468
|
const actions = [];
|
|
24468
24469
|
try {
|
|
24469
|
-
const { listAgentStates, saveAgentState } = await import("./agents-
|
|
24470
|
-
const { readEventsSync } = await import("./events-
|
|
24470
|
+
const { listAgentStates, saveAgentState } = await import("./agents-CEcaxSkR.js");
|
|
24471
|
+
const { readEventsSync } = await import("./events-rIGncmP1.js");
|
|
24471
24472
|
const { emitActivityEntrySync } = await import("./activity-logger-DvYvFhwZ.js");
|
|
24472
24473
|
const states = listAgentStates();
|
|
24473
24474
|
const now = Date.now();
|
|
@@ -24614,7 +24615,7 @@ async function reconcileStaleMergeStatus() {
|
|
|
24614
24615
|
if (!project) continue;
|
|
24615
24616
|
let specStatus;
|
|
24616
24617
|
try {
|
|
24617
|
-
const { findSpecByIssue } = await import("./specs-
|
|
24618
|
+
const { findSpecByIssue } = await import("./specs-RzcDgozr.js");
|
|
24618
24619
|
const spec = await Effect.runPromise(findSpecByIssue(project.projectPath, issueId));
|
|
24619
24620
|
specStatus = spec?.status;
|
|
24620
24621
|
if (spec && (spec.status === "completed" || spec.status === "cancelled")) {
|
|
@@ -24629,7 +24630,7 @@ async function reconcileStaleMergeStatus() {
|
|
|
24629
24630
|
if (branchTip.stdout.trim() === mainTip.stdout.trim()) console.log(`[deacon] ${issueId}: branch ${branch} points at main; not treating zero-commit branch as merged`);
|
|
24630
24631
|
} catch {}
|
|
24631
24632
|
if (!isMerged) {
|
|
24632
|
-
const { resolveGitHubIssueSync: _resolveGitHubIssue } = await import("./tracker-utils-
|
|
24633
|
+
const { resolveGitHubIssueSync: _resolveGitHubIssue } = await import("./tracker-utils-DkKyRT0H.js");
|
|
24633
24634
|
const ghResolved = _resolveGitHubIssue(issueId);
|
|
24634
24635
|
if (ghResolved.isGitHub) try {
|
|
24635
24636
|
const { stdout } = await execFileAsync$4("gh", [
|
|
@@ -24666,7 +24667,7 @@ async function reconcileStaleMergeStatus() {
|
|
|
24666
24667
|
actions.push(msg);
|
|
24667
24668
|
console.log(`[deacon] ${msg}`);
|
|
24668
24669
|
try {
|
|
24669
|
-
const { postMergeLifecycle } = await import("./merge-agent-
|
|
24670
|
+
const { postMergeLifecycle } = await import("./merge-agent-ejC7Wos8.js");
|
|
24670
24671
|
postMergeLifecycle(issueId, project.projectPath, branch, { skipDeploy: true }).catch((err) => console.warn(`[deacon] postMergeLifecycle (reconcile) failed for ${issueId}: ${err}`));
|
|
24671
24672
|
} catch (err) {
|
|
24672
24673
|
console.warn(`[deacon] Could not import postMergeLifecycle: ${err}`);
|
|
@@ -24691,7 +24692,7 @@ const falseMergedReset = /* @__PURE__ */ new Set();
|
|
|
24691
24692
|
async function reconcileFalseMerged() {
|
|
24692
24693
|
const actions = [];
|
|
24693
24694
|
try {
|
|
24694
|
-
const { getPullRequestState, isGitHubAppConfigured } = await import("./github-app-
|
|
24695
|
+
const { getPullRequestState, isGitHubAppConfigured } = await import("./github-app-Bwt9lK4A.js");
|
|
24695
24696
|
if (!isGitHubAppConfigured()) return actions;
|
|
24696
24697
|
const statuses = loadReviewStatuses();
|
|
24697
24698
|
for (const [issueId, status] of Object.entries(statuses)) {
|
|
@@ -24736,7 +24737,7 @@ const CLOSED_PR_RECONCILE_COOLDOWN_MS = 600 * 1e3;
|
|
|
24736
24737
|
async function reconcileClosedPrReadyForMerge() {
|
|
24737
24738
|
const actions = [];
|
|
24738
24739
|
try {
|
|
24739
|
-
const { getPullRequestState, isGitHubAppConfigured } = await import("./github-app-
|
|
24740
|
+
const { getPullRequestState, isGitHubAppConfigured } = await import("./github-app-Bwt9lK4A.js");
|
|
24740
24741
|
if (!isGitHubAppConfigured()) return actions;
|
|
24741
24742
|
const statuses = loadReviewStatuses();
|
|
24742
24743
|
const now = Date.now();
|
|
@@ -24808,7 +24809,7 @@ const STALE_MERGE_BLOCKER_COOLDOWN_MS = 120 * 1e3;
|
|
|
24808
24809
|
async function reconcileStaleMergeBlockers() {
|
|
24809
24810
|
const actions = [];
|
|
24810
24811
|
try {
|
|
24811
|
-
const { resolveConflictGate, buildRealConflictGateDeps } = await import("./conflict-gate-
|
|
24812
|
+
const { resolveConflictGate, buildRealConflictGateDeps } = await import("./conflict-gate-CuXUv-bP.js");
|
|
24812
24813
|
const statuses = loadReviewStatuses();
|
|
24813
24814
|
const now = Date.now();
|
|
24814
24815
|
const deps = buildRealConflictGateDeps();
|
|
@@ -24951,7 +24952,7 @@ async function checkFailedMergeRetry() {
|
|
|
24951
24952
|
if (ciEntry.count === 5) {
|
|
24952
24953
|
console.log(`[deacon] CI check failure for ${issueId} — retries exhausted, notifying work agent`);
|
|
24953
24954
|
const ciNotes = status.mergeNotes || "CI checks are failing on the PR";
|
|
24954
|
-
const { writeFeedbackFile } = await import("./feedback-writer-
|
|
24955
|
+
const { writeFeedbackFile } = await import("./feedback-writer-BsJiw5aT.js");
|
|
24955
24956
|
const ciFileResult = await Effect.runPromise(writeFeedbackFile({
|
|
24956
24957
|
issueId,
|
|
24957
24958
|
specialist: "merge-agent",
|
|
@@ -24983,7 +24984,7 @@ async function checkFailedMergeRetry() {
|
|
|
24983
24984
|
ciRetryMap.set(issueId, ciEntry);
|
|
24984
24985
|
console.log(`[deacon] CI check failure for ${issueId} — notifying agent to re-submit (attempt ${ciEntry.count}/5)`);
|
|
24985
24986
|
const ciNotes = status.mergeNotes || "CI checks are failing on the PR";
|
|
24986
|
-
const { writeFeedbackFile } = await import("./feedback-writer-
|
|
24987
|
+
const { writeFeedbackFile } = await import("./feedback-writer-BsJiw5aT.js");
|
|
24987
24988
|
const ciFileResult2 = await Effect.runPromise(writeFeedbackFile({
|
|
24988
24989
|
issueId,
|
|
24989
24990
|
specialist: "merge-agent",
|
|
@@ -25011,7 +25012,7 @@ async function checkFailedMergeRetry() {
|
|
|
25011
25012
|
const lastNudge = timeoutNudgeCooldowns.get(issueIdForFb);
|
|
25012
25013
|
if (!lastNudge || now - lastNudge >= TIMEOUT_NUDGE_COOLDOWN_MS) {
|
|
25013
25014
|
const timeoutNotes = status.mergeNotes;
|
|
25014
|
-
const { writeFeedbackFile } = await import("./feedback-writer-
|
|
25015
|
+
const { writeFeedbackFile } = await import("./feedback-writer-BsJiw5aT.js");
|
|
25015
25016
|
await Effect.runPromise(writeFeedbackFile({
|
|
25016
25017
|
issueId: issueIdForFb,
|
|
25017
25018
|
specialist: "merge-agent",
|
|
@@ -25116,7 +25117,7 @@ async function autoCloseOut(now = /* @__PURE__ */ new Date()) {
|
|
|
25116
25117
|
} } : {}
|
|
25117
25118
|
};
|
|
25118
25119
|
try {
|
|
25119
|
-
const { closeOut } = await import("./workflows-
|
|
25120
|
+
const { closeOut } = await import("./workflows-BLwxUMP7.js");
|
|
25120
25121
|
const result = await Effect.runPromise(closeOut(ctx));
|
|
25121
25122
|
if (!result.success) {
|
|
25122
25123
|
const failed = result.steps.find((step) => !step.success && !step.skipped);
|
|
@@ -25680,7 +25681,7 @@ async function nudgeStalledResumeWorkAgents() {
|
|
|
25680
25681
|
const message = buildStalledResumePrompt(state);
|
|
25681
25682
|
if (!message) continue;
|
|
25682
25683
|
try {
|
|
25683
|
-
const { messageAgent } = await import("./agents-
|
|
25684
|
+
const { messageAgent } = await import("./agents-CEcaxSkR.js");
|
|
25684
25685
|
await messageAgent(agentId, message);
|
|
25685
25686
|
recordCooldown(agentId, ".last-stalled-resume-nudge");
|
|
25686
25687
|
const action = `Re-sent stalled resume prompt to ${agentId} (${state.issueId})`;
|
|
@@ -25798,7 +25799,7 @@ async function nudgeIdleWorkAgentsWithOpenBeads() {
|
|
|
25798
25799
|
"Continue the per-bead workflow without asking — claim it (`pan beads claim <bead-id>`), implement, commit, close through `pan beads close`. Inspection is conditional on metadata.requiresInspection (default false; check the plan item before deciding to call `pan inspect`). Do NOT end your turn with a multi-paragraph summary; just advance to the next bead."
|
|
25799
25800
|
].join("\n");
|
|
25800
25801
|
try {
|
|
25801
|
-
const { messageAgent } = await import("./agents-
|
|
25802
|
+
const { messageAgent } = await import("./agents-CEcaxSkR.js");
|
|
25802
25803
|
await messageAgent(agentId, message);
|
|
25803
25804
|
writeFileSync(join$1(getAgentDir(agentId), ".last-bead-nudge"), String(Date.now()), "utf-8");
|
|
25804
25805
|
const action = `Nudged idle ${agentId} (${state.issueId}) — ${openBeads.length} open bead(s)`;
|
|
@@ -26229,10 +26230,26 @@ async function gitStdout(workspacePath, args) {
|
|
|
26229
26230
|
return String(result.stdout ?? "");
|
|
26230
26231
|
}
|
|
26231
26232
|
//#endregion
|
|
26232
|
-
//#region ../../lib/cloister/state-
|
|
26233
|
-
init_auto_commit();
|
|
26233
|
+
//#region ../../lib/cloister/state-plane-patrol.ts
|
|
26234
26234
|
init_record();
|
|
26235
26235
|
init_state_home();
|
|
26236
|
+
init_auto_commit();
|
|
26237
|
+
async function reconcileProjectStatePlanes(projects) {
|
|
26238
|
+
const actions = [];
|
|
26239
|
+
for (const { config } of projects) {
|
|
26240
|
+
if (!config.path) continue;
|
|
26241
|
+
queueBeadsAutoCommit(config.path);
|
|
26242
|
+
const write = await Effect.runPromise(reconcileStatePlaneDrift(config.path));
|
|
26243
|
+
if (!write.committed) continue;
|
|
26244
|
+
actions.push({
|
|
26245
|
+
message: `Reconciled pending spec/record state for ${config.name ?? config.path}`,
|
|
26246
|
+
level: write.pushed === false ? "warn" : "action"
|
|
26247
|
+
});
|
|
26248
|
+
}
|
|
26249
|
+
return actions;
|
|
26250
|
+
}
|
|
26251
|
+
//#endregion
|
|
26252
|
+
//#region ../../lib/cloister/state-recreation-patrol.ts
|
|
26236
26253
|
async function recreatedStateWarnings(projects) {
|
|
26237
26254
|
const warnings = [];
|
|
26238
26255
|
for (const { config } of projects) {
|
|
@@ -27175,8 +27192,8 @@ async function cleanupStaleAgentState() {
|
|
|
27175
27192
|
*/
|
|
27176
27193
|
async function cleanupAbandonedFeedback() {
|
|
27177
27194
|
const actions = [];
|
|
27178
|
-
const { getReviewStatusSync } = await import("./review-status-
|
|
27179
|
-
const { clearFeedbackFiles } = await import("./feedback-writer-
|
|
27195
|
+
const { getReviewStatusSync } = await import("./review-status-CG0iDuWa.js");
|
|
27196
|
+
const { clearFeedbackFiles } = await import("./feedback-writer-BsJiw5aT.js");
|
|
27180
27197
|
for (const { issueId, workspacePath } of listFeatureWorkspaces()) {
|
|
27181
27198
|
const panFeedbackDir = join$1(workspacePath, ".pan", "feedback");
|
|
27182
27199
|
if (!existsSync(panFeedbackDir)) continue;
|
|
@@ -27247,7 +27264,7 @@ async function handleOrphanReviewerSession(sessionName, sessions, creationTimes,
|
|
|
27247
27264
|
if (!issueId) return null;
|
|
27248
27265
|
const agentSession = `agent-${issueId.toLowerCase()}`;
|
|
27249
27266
|
if (sessions.includes(agentSession)) return null;
|
|
27250
|
-
const { getReviewStatusSync } = await import("./review-status-
|
|
27267
|
+
const { getReviewStatusSync } = await import("./review-status-CG0iDuWa.js");
|
|
27251
27268
|
try {
|
|
27252
27269
|
if (getReviewStatusSync(issueId)?.reviewStatus === "reviewing") return null;
|
|
27253
27270
|
} catch {}
|
|
@@ -27367,7 +27384,7 @@ async function checkOrphanedCompletions() {
|
|
|
27367
27384
|
async function checkPendingTestDispatch() {
|
|
27368
27385
|
const actions = [];
|
|
27369
27386
|
try {
|
|
27370
|
-
const { loadReviewStatuses, setReviewStatusSync } = await import("./review-status-
|
|
27387
|
+
const { loadReviewStatuses, setReviewStatusSync } = await import("./review-status-CG0iDuWa.js");
|
|
27371
27388
|
const statuses = loadReviewStatuses();
|
|
27372
27389
|
const now = Date.now();
|
|
27373
27390
|
for (const [issueId, status] of Object.entries(statuses)) {
|
|
@@ -27400,7 +27417,7 @@ async function checkPendingTestDispatch() {
|
|
|
27400
27417
|
console.log(`[deacon] ${issueId}: skipping test re-dispatch — issue is closed`);
|
|
27401
27418
|
continue;
|
|
27402
27419
|
}
|
|
27403
|
-
const { resolveProjectFromIssueSync } = await import("./projects-
|
|
27420
|
+
const { resolveProjectFromIssueSync } = await import("./projects-CrBE6IhN.js");
|
|
27404
27421
|
const resolved = resolveProjectFromIssueSync(issueId);
|
|
27405
27422
|
if (!resolved) continue;
|
|
27406
27423
|
const issueLower = issueId.toLowerCase();
|
|
@@ -27415,8 +27432,8 @@ async function checkPendingTestDispatch() {
|
|
|
27415
27432
|
logDeaconEventSync(`checkPendingTestDispatch: deferred test for ${issueId} — advancing ceiling reached (PAN-1665) — ${describeRunningAgents()}`);
|
|
27416
27433
|
continue;
|
|
27417
27434
|
}
|
|
27418
|
-
const { spawnRun } = await import("./agents-
|
|
27419
|
-
const { buildTestRolePrompt } = await import("./test-agent-queue-
|
|
27435
|
+
const { spawnRun } = await import("./agents-CEcaxSkR.js");
|
|
27436
|
+
const { buildTestRolePrompt } = await import("./test-agent-queue-CnuYku4B.js");
|
|
27420
27437
|
try {
|
|
27421
27438
|
const run = await spawnRun(issueId, "test", {
|
|
27422
27439
|
workspace,
|
|
@@ -27539,7 +27556,7 @@ async function checkCompletedButUnsignaledTests() {
|
|
|
27539
27556
|
const cmd = `pan admin specialists done test ${issueId} --status ${decision.status}${noteArg}`;
|
|
27540
27557
|
const nudge = `Your test verdict (${decision.status}) is already written to .pan/test/result.json. Your ONLY remaining task is to execute this Bash command immediately — do not analyze, do not summarize, do not ask questions, just run it:\n\n${cmd}\n\nRun this command NOW. Do not write any other response before executing it.`;
|
|
27541
27558
|
try {
|
|
27542
|
-
const { messageAgent } = await import("./agents-
|
|
27559
|
+
const { messageAgent } = await import("./agents-CEcaxSkR.js");
|
|
27543
27560
|
await messageAgent(testSession, nudge);
|
|
27544
27561
|
unsignaledTestNudges.set(testSession, now);
|
|
27545
27562
|
const msg = `Nudged ${testSession} to signal ${decision.status} (verdict artifact present)`;
|
|
@@ -27553,7 +27570,7 @@ async function checkCompletedButUnsignaledTests() {
|
|
|
27553
27570
|
case "nudge-write": {
|
|
27554
27571
|
const nudge = `Your test run for ${issueId} looks finished but no verdict was recorded. Decide the verdict from the gates/UAT you ran, then do BOTH of these now: (1) write the workspace file .pan/test/result.json as {"status":"passed"|"failed","notes":"<evidence>"}, and (2) run: pan admin specialists done test ${issueId} --status passed|failed. Do this immediately — do not summarize or ask questions, just write the file and run the command.`;
|
|
27555
27572
|
try {
|
|
27556
|
-
const { messageAgent } = await import("./agents-
|
|
27573
|
+
const { messageAgent } = await import("./agents-CEcaxSkR.js");
|
|
27557
27574
|
await messageAgent(testSession, nudge);
|
|
27558
27575
|
unsignaledTestNudges.set(testSession, now);
|
|
27559
27576
|
const msg = `Nudged ${testSession} to write+signal a test verdict (no artifact yet)`;
|
|
@@ -27576,8 +27593,8 @@ async function checkCompletedButUnsignaledTests() {
|
|
|
27576
27593
|
async function checkVerificationReviewContradiction() {
|
|
27577
27594
|
const actions = [];
|
|
27578
27595
|
try {
|
|
27579
|
-
const { loadReviewStatuses, setReviewStatusSync } = await import("./review-status-
|
|
27580
|
-
const { resolveProjectFromIssueSync } = await import("./projects-
|
|
27596
|
+
const { loadReviewStatuses, setReviewStatusSync } = await import("./review-status-CG0iDuWa.js");
|
|
27597
|
+
const { resolveProjectFromIssueSync } = await import("./projects-CrBE6IhN.js");
|
|
27581
27598
|
const statuses = loadReviewStatuses();
|
|
27582
27599
|
for (const [issueId, status] of Object.entries(statuses)) if (status.verificationStatus === "passed" && status.reviewStatus === "reviewing" && status.stuckReason === "review_infrastructure_failure") {
|
|
27583
27600
|
let reviewedAtCommit;
|
|
@@ -27626,7 +27643,7 @@ async function checkPostReviewCommits() {
|
|
|
27626
27643
|
const actions = [];
|
|
27627
27644
|
try {
|
|
27628
27645
|
const statuses = loadReviewStatuses();
|
|
27629
|
-
const { resolveProjectFromIssueSync } = await import("./projects-
|
|
27646
|
+
const { resolveProjectFromIssueSync } = await import("./projects-CrBE6IhN.js");
|
|
27630
27647
|
for (const [issueId, status] of Object.entries(statuses)) {
|
|
27631
27648
|
if (status.mergeStatus === "merged") continue;
|
|
27632
27649
|
if (!status.reviewedAtCommit) continue;
|
|
@@ -27681,7 +27698,7 @@ async function checkPostReviewCommits() {
|
|
|
27681
27698
|
actions.push(`Deferred post-review re-dispatch for ${issueId} — advancing-role concurrency ceiling reached`);
|
|
27682
27699
|
logDeaconEventSync(`checkPostReviewCommits: deferred review for ${issueId} — advancing ceiling reached (PAN-1665) — ${describeRunningAgents()}`);
|
|
27683
27700
|
} else if (freshStatus?.reviewStatus === "pending") {
|
|
27684
|
-
const { spawnReviewRoleForIssue } = await import("./review-agent-
|
|
27701
|
+
const { spawnReviewRoleForIssue } = await import("./review-agent-u5q3ip7H.js");
|
|
27685
27702
|
const branch = `feature/${issueId.toLowerCase()}`;
|
|
27686
27703
|
const dispatchResult = await Effect.runPromise(spawnReviewRoleForIssue({
|
|
27687
27704
|
issueId,
|
|
@@ -27781,7 +27798,7 @@ async function checkReadyForMergeStuck() {
|
|
|
27781
27798
|
const testStatusGreenCiReconcileCooldowns = /* @__PURE__ */ new Map();
|
|
27782
27799
|
const TEST_STATUS_GREEN_CI_RECONCILE_COOLDOWN_MS = 300 * 1e3;
|
|
27783
27800
|
async function reconcileTestStatusFromGreenCi() {
|
|
27784
|
-
const { getCiCheckRunsState, getPullRequestHeadState, isGitHubAppConfigured } = await import("./github-app-
|
|
27801
|
+
const { getCiCheckRunsState, getPullRequestHeadState, isGitHubAppConfigured } = await import("./github-app-Bwt9lK4A.js");
|
|
27785
27802
|
return reconcileTestStatusFromGreenCiWithDeps({
|
|
27786
27803
|
isGitHubAppConfigured,
|
|
27787
27804
|
loadReviewStatuses,
|
|
@@ -27802,7 +27819,7 @@ async function reconcileTestStatusFromGreenCi() {
|
|
|
27802
27819
|
*/
|
|
27803
27820
|
async function clearStaleCiFeedback(issueId) {
|
|
27804
27821
|
const { readdir, rm } = await import("fs/promises");
|
|
27805
|
-
const { resolveProjectFromIssueSync } = await import("./projects-
|
|
27822
|
+
const { resolveProjectFromIssueSync } = await import("./projects-CrBE6IhN.js");
|
|
27806
27823
|
const projectConfig = resolveProjectFromIssueSync(issueId);
|
|
27807
27824
|
if (!projectConfig) return;
|
|
27808
27825
|
const repoDir = projectConfig.projectPath;
|
|
@@ -28102,7 +28119,7 @@ async function checkWorkspaceContainerHealth(sharedState) {
|
|
|
28102
28119
|
}
|
|
28103
28120
|
}
|
|
28104
28121
|
try {
|
|
28105
|
-
const { resolveProjectFromIssueSync } = await import("./projects-
|
|
28122
|
+
const { resolveProjectFromIssueSync } = await import("./projects-CrBE6IhN.js");
|
|
28106
28123
|
const resolved = resolveProjectFromIssueSync(issueLower.toUpperCase());
|
|
28107
28124
|
if (resolved) await killOrphanedWorkspaceProcesses(`${resolved.projectPath}/workspaces/feature-${issueLower}`);
|
|
28108
28125
|
} catch {}
|
|
@@ -28151,8 +28168,8 @@ async function checkWorkspaceContainerHealth(sharedState) {
|
|
|
28151
28168
|
async function checkMergedWorkSessions() {
|
|
28152
28169
|
const actions = [];
|
|
28153
28170
|
try {
|
|
28154
|
-
const { selectMergedWorkSessions } = await import("./reap-terminal-sessions-
|
|
28155
|
-
const { setAgentPaused } = await import("./agents-
|
|
28171
|
+
const { selectMergedWorkSessions } = await import("./reap-terminal-sessions-DnDQ7pf9.js");
|
|
28172
|
+
const { setAgentPaused } = await import("./agents-CEcaxSkR.js");
|
|
28156
28173
|
const toKill = selectMergedWorkSessions(loadReviewStatuses(), [...await Effect.runPromise(listSessionNames())]);
|
|
28157
28174
|
for (const session of toKill) try {
|
|
28158
28175
|
await Effect.runPromise(setAgentPaused(session, "merged — awaiting close-out (verify on main)", true));
|
|
@@ -28192,7 +28209,7 @@ const AWAITING_TEST_IDLE_REAP_MS = 600 * 1e3;
|
|
|
28192
28209
|
async function checkAwaitingTestWorkSessions() {
|
|
28193
28210
|
const actions = [];
|
|
28194
28211
|
try {
|
|
28195
|
-
const { selectAwaitingTestWorkSessions } = await import("./reap-terminal-sessions-
|
|
28212
|
+
const { selectAwaitingTestWorkSessions } = await import("./reap-terminal-sessions-DnDQ7pf9.js");
|
|
28196
28213
|
const candidates = selectAwaitingTestWorkSessions(loadReviewStatuses(), [...await Effect.runPromise(listSessionNames())]);
|
|
28197
28214
|
const now = Date.now();
|
|
28198
28215
|
for (const session of candidates) {
|
|
@@ -28248,7 +28265,7 @@ async function runPatrol() {
|
|
|
28248
28265
|
const stuckRemediationActions = await checkStuckAgentRemediation();
|
|
28249
28266
|
actions.push(...stuckRemediationActions);
|
|
28250
28267
|
for (const a of stuckRemediationActions) addLog("action", a, state.patrolCycle);
|
|
28251
|
-
const { reconcileInFlightJournals } = await import("./advancing-selfheal-
|
|
28268
|
+
const { reconcileInFlightJournals } = await import("./advancing-selfheal-DJYAvGv-.js");
|
|
28252
28269
|
const reconciledJournalActions = await reconcileInFlightJournals();
|
|
28253
28270
|
actions.push(...reconciledJournalActions);
|
|
28254
28271
|
for (const a of reconciledJournalActions) addLog("action", a, state.patrolCycle);
|
|
@@ -28260,7 +28277,7 @@ async function runPatrol() {
|
|
|
28260
28277
|
const age = Date.now() - (pending.timestamp ?? 0);
|
|
28261
28278
|
if (age < 3600 * 1e3) {
|
|
28262
28279
|
console.log(`[deacon] Processing pending post-merge lifecycle for ${pending.issueId} (age: ${Math.round(age / 1e3)}s)`);
|
|
28263
|
-
const { postMergeLifecycle } = await import("./merge-agent-
|
|
28280
|
+
const { postMergeLifecycle } = await import("./merge-agent-ejC7Wos8.js");
|
|
28264
28281
|
const { unlinkSync } = await import("fs");
|
|
28265
28282
|
unlinkSync(pendingFile);
|
|
28266
28283
|
await postMergeLifecycle(pending.issueId, pending.projectPath, pending.sourceBranch, { skipDeploy: true });
|
|
@@ -28305,7 +28322,7 @@ async function runPatrol() {
|
|
|
28305
28322
|
actions.push(...suspendActions);
|
|
28306
28323
|
for (const a of suspendActions) addLog("action", a, state.patrolCycle);
|
|
28307
28324
|
try {
|
|
28308
|
-
const { resolveProjectFromIssueSync } = await import("./projects-
|
|
28325
|
+
const { resolveProjectFromIssueSync } = await import("./projects-CrBE6IhN.js");
|
|
28309
28326
|
const allStatuses = loadReviewStatuses();
|
|
28310
28327
|
for (const [issueId, status] of Object.entries(allStatuses)) {
|
|
28311
28328
|
if (!status.readyForMerge || status.mergeStatus === "merged") continue;
|
|
@@ -28325,7 +28342,7 @@ async function runPatrol() {
|
|
|
28325
28342
|
} catch (err) {
|
|
28326
28343
|
console.warn(`[deacon] Failed to check workspace existence: ${err.message}`);
|
|
28327
28344
|
}
|
|
28328
|
-
const { checkMergedAdvancingSessions } = await import("./advancing-selfheal-
|
|
28345
|
+
const { checkMergedAdvancingSessions } = await import("./advancing-selfheal-DJYAvGv-.js");
|
|
28329
28346
|
const reapedWorkActions = await checkMergedWorkSessions();
|
|
28330
28347
|
actions.push(...reapedWorkActions);
|
|
28331
28348
|
for (const a of reapedWorkActions) addLog("action", a, state.patrolCycle);
|
|
@@ -28333,7 +28350,7 @@ async function runPatrol() {
|
|
|
28333
28350
|
actions.push(...reapedMergedAdvancingActions);
|
|
28334
28351
|
for (const a of reapedMergedAdvancingActions) addLog("action", a, state.patrolCycle);
|
|
28335
28352
|
try {
|
|
28336
|
-
const { refreshClaudeCredentialsForActiveRemoteAgents } = await import("./remote-completion-
|
|
28353
|
+
const { refreshClaudeCredentialsForActiveRemoteAgents } = await import("./remote-completion-PhXGGFQy.js");
|
|
28337
28354
|
const remoteCredentialActions = await refreshClaudeCredentialsForActiveRemoteAgents();
|
|
28338
28355
|
actions.push(...remoteCredentialActions);
|
|
28339
28356
|
for (const a of remoteCredentialActions) addLog(a.includes("failed") ? "warn" : "action", a, state.patrolCycle);
|
|
@@ -28341,7 +28358,7 @@ async function runPatrol() {
|
|
|
28341
28358
|
addLog("warn", `Remote credential refresh patrol failed: ${err.message}`, state.patrolCycle);
|
|
28342
28359
|
}
|
|
28343
28360
|
try {
|
|
28344
|
-
const { refreshHostHeartbeatForEphemeralVms } = await import("./remote-agents-
|
|
28361
|
+
const { refreshHostHeartbeatForEphemeralVms } = await import("./remote-agents-Cv-U-_V8.js");
|
|
28345
28362
|
const heartbeatActions = await refreshHostHeartbeatForEphemeralVms();
|
|
28346
28363
|
actions.push(...heartbeatActions);
|
|
28347
28364
|
for (const a of heartbeatActions) addLog(a.includes("failed") ? "warn" : "action", a, state.patrolCycle);
|
|
@@ -28349,7 +28366,7 @@ async function runPatrol() {
|
|
|
28349
28366
|
addLog("warn", `Remote heartbeat refresh patrol failed: ${err.message}`, state.patrolCycle);
|
|
28350
28367
|
}
|
|
28351
28368
|
try {
|
|
28352
|
-
const { reapCompletedRemoteAgents } = await import("./remote-completion-
|
|
28369
|
+
const { reapCompletedRemoteAgents } = await import("./remote-completion-PhXGGFQy.js");
|
|
28353
28370
|
const remoteReap = await reapCompletedRemoteAgents();
|
|
28354
28371
|
for (const r of remoteReap) if (r.status === "handed-off" || r.status === "error") {
|
|
28355
28372
|
const msg = `Remote reap ${r.issueId}: ${r.status} (${r.details.join("; ")})`;
|
|
@@ -28484,7 +28501,10 @@ async function runPatrol() {
|
|
|
28484
28501
|
for (const a of playwrightActions) addLog("action", a, state.patrolCycle);
|
|
28485
28502
|
}
|
|
28486
28503
|
const projectConfigs = listProjectsSync();
|
|
28487
|
-
for (const
|
|
28504
|
+
for (const result of await reconcileProjectStatePlanes(projectConfigs)) {
|
|
28505
|
+
actions.push(result.message);
|
|
28506
|
+
addLog(result.level, result.message, state.patrolCycle);
|
|
28507
|
+
}
|
|
28488
28508
|
for (const warning of await recreatedStateWarnings(projectConfigs)) addLog("error", warning, state.patrolCycle);
|
|
28489
28509
|
const divergenceWarnings = await recordMainDivergenceHealth(state, projectConfigs);
|
|
28490
28510
|
for (const warning of divergenceWarnings) addLog("warn", warning, state.patrolCycle);
|
|
@@ -28527,7 +28547,7 @@ async function runPatrol() {
|
|
|
28527
28547
|
const issueId = runtimeState.currentIssue;
|
|
28528
28548
|
try {
|
|
28529
28549
|
if (getReviewStatusSync(issueId)?.mergeStatus === "merging") {
|
|
28530
|
-
const { resolveProjectFromIssueSync } = await import("./projects-
|
|
28550
|
+
const { resolveProjectFromIssueSync } = await import("./projects-CrBE6IhN.js");
|
|
28531
28551
|
const resolved = resolveProjectFromIssueSync(issueId);
|
|
28532
28552
|
if (resolved) {
|
|
28533
28553
|
const branch = `feature/${issueId.toLowerCase()}`;
|
|
@@ -28541,7 +28561,7 @@ async function runPatrol() {
|
|
|
28541
28561
|
mergeStatus: "merged",
|
|
28542
28562
|
readyForMerge: false
|
|
28543
28563
|
});
|
|
28544
|
-
const { postMergeLifecycle } = await import("./merge-agent-
|
|
28564
|
+
const { postMergeLifecycle } = await import("./merge-agent-ejC7Wos8.js");
|
|
28545
28565
|
postMergeLifecycle(issueId, resolved.projectPath).catch((err) => console.warn(`[deacon] postMergeLifecycle failed for ${issueId}: ${err}`));
|
|
28546
28566
|
actions.push(`Auto-completed stale merge for ${issueId}`);
|
|
28547
28567
|
} else {
|
|
@@ -28721,7 +28741,7 @@ function startDeacon() {
|
|
|
28721
28741
|
logDeaconEventSync(`startDeacon: health monitor starting (patrol every ${config.patrolIntervalMs / 1e3}s)`);
|
|
28722
28742
|
(async () => {
|
|
28723
28743
|
await reconcileAgentLiveness();
|
|
28724
|
-
const { runBootAdvancingSelfHeal } = await import("./advancing-selfheal-
|
|
28744
|
+
const { runBootAdvancingSelfHeal } = await import("./advancing-selfheal-DJYAvGv-.js");
|
|
28725
28745
|
await runBootAdvancingSelfHeal();
|
|
28726
28746
|
runScheduledPatrol("startup");
|
|
28727
28747
|
})().catch((err) => {
|
|
@@ -28793,4 +28813,4 @@ function assessDeaconPatrolFreshness(params) {
|
|
|
28793
28813
|
//#endregion
|
|
28794
28814
|
export { isPreKickoffLaunchDeath as $, reconcileAgentLiveness as A, stalledReviewConvoyRecoveryState as At, applyIssueBlocksMainLabel as B, getContainerHistory as Bt, getLastPatrolResult as C, isSynthesisForActiveReviewRun as Ct, isDeaconRunning as D, handleWorkCompleted as Dt, handleAgentStoppedForOrphanReviewerSessions as E, handleReviewCoordinatorDied as Et, setAgentStatusChangedNotifier as F, INSPECT_TIMEOUT_MS as Ft, applyIssueVetoedLabel as G, startSmeeProcessSync as Gt, applyIssueParkedLabel as H, getResourceConfig as Ht, setAgentStoppedNotifier as I, checkInspectAgentTimeouts as It, removeIssueParkedLabel as J, removeIssueBlocksMainLabel as K, setMergeReadyNotifier as L, classifyMemoryPressure as Lt, resetPatrolHeartbeatForStartup as M, contextOverflowRecoveryState as Mt, runPatrol as N, contextProactiveCompactState as Nt, loadConfig as O, recoverStalledReviewConvoys as Ot, saveState as P, stuckOverflowNativeRecoveryState as Pt, createInFlightGuard as Q, startDeacon as R, getResourceStacks as Rt, getDeaconStatus as S, checkStuckReviewing as St, handleAgentStoppedEvent as T, checkOrphanedReviewStatuses as Tt, applyIssueReadyLabel as U, getSystemHealthSnapshot as Ut, applyIssueObjectionLabel as V, getCurrentDockerStats as Vt, applyIssueReleasedLabel as W, isSmeeConfiguredSync as Wt, removeIssueReleasedLabel as X, removeIssueReadyLabel as Y, removeIssueVetoedLabel as Z, cleanupOrphanReviewerSessions as _, withConcurrencyLimit as _t, checkCompletedButUnsignaledTests as a, listBootReconciliationCandidates as at, containerRestartBackoffMs as b, synthesizeReviewFromReports as bt, checkMergedWorkSessions as c, checkFailedMergeRetry as ct, checkPostReviewCommits as d, reconcileClosedPrReadyForMerge as dt, isRapidPostResumeDeath as et, checkReadyForMergeStuck as f, reconcileFalseMerged as ft, cleanupAbandonedFeedback as g, reconcileStuckReadyForMerge as gt, checkWorkspaceContainerHealth as h, reconcileStaleMergeStatus as ht, checkAwaitingTestWorkSessions as i, isBootReconciliationCandidate as it, reconcileTestStatusFromGreenCi as j, checkApiErrorAgents as jt, loadState as k, reviewConvoyLiveness as kt, checkOrphanedCompletions as l, checkFirstCompletionAgents as lt, checkVerificationReviewContradiction as m, reconcileStaleMergeBlockers as mt, assessDeaconPatrolFreshness as n, nudgeStalledResumeWorkAgents as nt, checkDeadEndAgents as o, startBootReconciliation as ot, checkStuckWorkAgents as p, reconcileMergedButReviewing as pt, removeIssueObjectionLabel as q, checkAndSuspendIdleAgents as r, redeliverUndeliveredKickoffs as rt, checkMassDeath as s, autoCloseOut as st, applyBootReconciliationDecision as t, nudgeIdleWorkAgentsWithOpenBeads as tt, checkPendingTestDispatch as u, ciRetryMap as ut, cleanupOrphanedPlanningSessions as v, cleanupOrphanedReviewSessions as vt, handleAgentHeartbeatDeadEvent as w, checkMissingReviewStatuses as wt, getDeaconLogs as x, checkCompletedButUnsignaledReviews as xt, cleanupStaleAgentState as y, monitorReviewConvoySignals as yt, stopDeacon as z, formatUptime as zt };
|
|
28795
28815
|
|
|
28796
|
-
//# sourceMappingURL=deacon-
|
|
28816
|
+
//# sourceMappingURL=deacon-DdARMjZq.js.map
|