@overdeck/desktop 0.45.6 → 0.45.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/drizzle/overdeck/0000_overdeck_init.sql +483 -0
- package/package.json +16 -4
- package/server/{acceptance-criteria-DYffaKI9.js → acceptance-criteria-l0DSvFFS.js} +2 -2
- package/server/{activity-logger-DO27GsPa.js → activity-logger-DvYvFhwZ.js} +1 -1
- package/server/{activity-logger-Dm95Ua07.js → activity-logger-pcbf-e30.js} +3 -2
- package/server/{advancing-selfheal-n8tAeFwE.js → advancing-selfheal-CMlGznKv.js} +11 -66
- package/server/{agent-gc-CIFaa2vJ.js → agent-gc-BtAzj8QN.js} +3 -3
- package/server/{agent-state-service-BqVDA9b8.js → agent-state-service-5ge9xxhx.js} +5 -5
- package/server/{agent-state-service-CLifyinO.js → agent-state-service-C1iUF9Ft.js} +1 -1
- package/server/agent-state-xk_G8t90.js +3 -0
- package/server/{agents-KaEsWZ8D.js → agents-BIggLvi_.js} +1 -1
- package/server/{agents-D_x5BSZM.js → agents-DHvsjsuP.js} +129 -61
- package/server/{archive-planning-CFxmeFKh.js → archive-planning-B4Qi02bk.js} +1 -1
- package/server/{archive-planning-DVUXlRBs.js → archive-planning-zTvWWHG_.js} +4 -4
- package/server/{artifact-index-jobs-ChUgzZah.js → artifact-index-jobs-BrByqVkB.js} +2 -2
- package/server/{auto-commit-2KiBFh-K.js → auto-commit-DoIPFoEs.js} +1 -1
- package/server/{backlog-auto-trigger-DoTEMZMl.js → backlog-auto-trigger-COm_R96V.js} +3 -3
- package/server/{bd-mutex-CE6P_MlD.js → bd-mutex-BItGvLQ8.js} +2 -2
- package/server/{bd-process-lock-Ch3WNHS9.js → bd-process-lock-CJkoG7hW.js} +2 -2
- package/server/{beads-B43pgBIy.js → beads-AmCXEv_E.js} +1 -1
- package/server/{beads-BugPvtWp.js → beads-DlZm-vrG.js} +5 -5
- package/server/{beads-query-CtqWakL6.js → beads-query-BrVNWoSL.js} +2 -2
- package/server/{beads-restore-BqTMSQi-.js → beads-restore-CMbDSB5R.js} +1 -1
- package/server/{behavior-vk1sixby.js → behavior-By-2Wipv.js} +3 -3
- package/server/{briefing-freshness-B3YxHQ-L.js → briefing-freshness-CXhZdnB8.js} +4 -4
- package/server/{checkpoint-manager-CdrwLsQh.js → checkpoint-manager-CPw51H2n.js} +1 -1
- package/server/{checkpoint-manager-Dg6cWZz3.js → checkpoint-manager-CfNpHOp4.js} +11 -2
- package/server/checkpoint-worker.js +1 -1
- package/server/{checkpoints-DDd-0doa.js → checkpoints-BbfH1EIy.js} +2 -2
- package/server/{checkpoints-dBCJr0dC.js → checkpoints-BjlBWOA8.js} +1 -1
- package/server/{claude-permissions-BpwIcIR7.js → claude-permissions-DrRAs_0F.js} +3 -3
- package/server/{claude-settings-overlay-DnraWcz6.js → claude-settings-overlay-BSeS7Ki3.js} +2 -2
- package/server/{claude-settings-overlay-xD_Vu420.js → claude-settings-overlay-CEWlIFL-.js} +1 -1
- package/server/cli-CJDWXE_Y.js +3 -0
- package/server/{cli-BmzYZZKi.js → cli-CvK9xuSS.js} +9 -9
- package/server/{cliproxy-DYWdJKZ1.js → cliproxy-BOcmOK6l.js} +1 -1
- package/server/{cliproxy-CE2GDY7x.js → cliproxy-J-_1iIXe.js} +2 -2
- package/server/{close-issue-CpJd4SOL.js → close-issue-BnpErnD1.js} +5 -5
- package/server/{closed-issue-reaper-QpcvCDeE.js → closed-issue-reaper-BLCQwTpF.js} +1 -1
- package/server/{closed-issue-reaper-DubXY9Zg.js → closed-issue-reaper-DRqK5k39.js} +10 -10
- package/server/{codex-j8aVgRou.js → codex-BUZjrnqH.js} +1 -1
- package/server/{codex-B3J1TXo7.js → codex-DcInrhok.js} +5 -5
- package/server/{compact-beads-CqhLqG-k.js → compact-beads-RFwdZFPA.js} +4 -4
- package/server/{compact-beads-BeilHCdj.js → compact-beads-omhUgj5b.js} +1 -1
- package/server/{config-DHU0j_pS.js → config-CzcWQ24p.js} +1 -1
- package/server/{config-DkEhJM0h.js → config-oWoKf5jO.js} +4 -4
- package/server/{config-yaml-DbdN9Fuq.js → config-yaml-DPAieL_G.js} +3 -2
- package/server/{conflict-gate-CgOtMo8i.js → conflict-gate-BhKvrPxn.js} +4 -4
- package/server/{conflict-gate-D00zFjeu.js → conflict-gate-JdFuhKuF.js} +1 -1
- package/server/{context-layers-BHEjT8Cn.js → context-layers-CTjQwcEQ.js} +3 -3
- package/server/{context-layers-0Lgq-SE_.js → context-layers-DxKsseHI.js} +2 -2
- package/server/{control-settings-CYv732Gs.js → control-settings-BMqUkXmR.js} +4 -4
- package/server/{conversation-compaction-Dbw03b-X.js → conversation-compaction-Ba5aZdrb.js} +1 -1
- package/server/{conversation-compaction-DKXvmX50.js → conversation-compaction-C5o_eKEm.js} +8 -8
- package/server/{conversation-service-BwKUeEvn.js → conversation-service-DvG8vZSV.js} +5 -5
- package/server/{conversation-service-kYYeRp9B.js → conversation-service-WKl-sw58.js} +1 -1
- package/server/{conversations-Dwr1jHrO.js → conversations-DL_BAWVk.js} +4 -4
- package/server/{conversations-D-uOnA8T.js → conversations-Dcx6LeIh.js} +1 -1
- package/server/{cost-DiSDkYe7.js → cost-C2CuA66z.js} +2 -2
- package/server/{cost-DNIyZH1X.js → cost-DaOG8sUB.js} +3 -3
- package/server/{cost-sync-CfXu-3TF.js → cost-sync-8lkDeL9g.js} +3 -3
- package/server/{dag-DZBowTd2.js → dag-jH8ZkewR.js} +3 -3
- package/server/{dangerous-git-ops-Pongxg2d.js → dangerous-git-ops-Dcw7PbYo.js} +1 -1
- package/server/dashboard-db-worker.js +6 -6
- package/server/{deacon-DT0BsVyE.js → deacon-Cv2RMfHs.js} +3 -3
- package/server/{deacon-f0yvsG5S.js → deacon-j3qSZ7--.js} +222 -110
- package/server/{deacon-nudge-log-Cmcch2Av.js → deacon-nudge-log-CJGA6aSQ.js} +1 -1
- package/server/deacon-swarm-D1iAUX-P.js +2 -0
- package/server/{deacon-swarm-BBGnhvD2.js → deacon-swarm-DadWNi5J.js} +88 -43
- package/server/deacon.js +8 -8
- package/server/{devcontainer-renderer-Cpz7XBj0.js → devcontainer-renderer-DUJYYRQB.js} +3 -3
- package/server/{dist-DypOkJv9.js → dist-BIC8spJ0.js} +1 -1
- package/server/dist-BUplB3Od.js +3 -0
- package/server/{docker-DARVx0OZ.js → docker-Q4bphryk.js} +2 -2
- package/server/{ensure-devcontainer-Dmdw4BxF.js → ensure-devcontainer-BCB6fHp9.js} +1 -1
- package/server/{ensure-devcontainer-BJssuBG6.js → ensure-devcontainer-XLL0vtgV.js} +4 -4
- package/server/{esm-shims-Crmvo9Ln.js → esm-shims-DiV9jHa_.js} +1 -1
- package/server/{event-store-BeEE8pW5.js → event-store-DIk9wvnS.js} +1 -1
- package/server/{event-store-DrfTJZ1_.js → event-store-DTJXZjCl.js} +4 -4
- package/server/events-BlzVUyTx.js +3 -0
- package/server/{events-BbClwoM-.js → events-DGWZzye2.js} +4 -4
- package/server/{factory-DVv9cpG5.js → factory-rG4T40su.js} +4 -4
- package/server/{feature-registry-population-C6eVdq4J.js → feature-registry-population-Dwyj9gEM.js} +4 -4
- package/server/{feature-registry-storage-ByBosRId.js → feature-registry-storage-CnGyNgAq.js} +2 -2
- package/server/{features-EZfSwuqq.js → features-CYY2_Eeh.js} +2 -2
- package/server/{feedback-target-DENaINE6.js → feedback-target-C4DaDSZ8.js} +1 -1
- package/server/{feedback-target-Dv4VnbQl.js → feedback-target-oE4-Esxl.js} +48 -17
- package/server/{feedback-writer-Dxg8qM8i.js → feedback-writer-DMaO0XXa.js} +4 -4
- package/server/{feedback-writer-BvHE1I-3.js → feedback-writer-thrdxYpK.js} +1 -1
- package/server/{flywheel-Akbd9VNM.js → flywheel-BqDdGvrQ.js} +1 -1
- package/server/{flywheel-B4KN9BmW.js → flywheel-ClMjGW_u.js} +11 -11
- package/server/{flywheel-ByZyAv3P.js → flywheel-DefHRzY4.js} +13 -13
- package/server/{flywheel-merge-order-DPFZbt-w.js → flywheel-merge-order-B6YDSElh.js} +1 -1
- package/server/{flywheel-merge-order-BYUPxqgx.js → flywheel-merge-order-CuDcqTRJ.js} +7 -7
- package/server/forge-BfP7OJwK.js +2 -0
- package/server/{forge-BnTExkbK.js → forge-BixzckB0.js} +2 -2
- package/server/{from-B2i_NgIH.js → from-D4xmArTA.js} +1 -1
- package/server/{fts-db-dnCj-PD3.js → fts-db-DPtxOAjp.js} +2 -2
- package/server/{fts-operations-CAAofsTQ.js → fts-operations-VrGjsT0w.js} +2 -2
- package/server/{git-utils-CB3gDSM-.js → git-utils-D_cax3fD.js} +2 -2
- package/server/{git-utils-Bk7sJZru.js → git-utils-RAmTwjFB.js} +1 -1
- package/server/{github-app-CIhMNI4C.js → github-app-B5PDHMyn.js} +1 -1
- package/server/{github-app-BIU8a93o.js → github-app-FMXgo3vK.js} +2 -2
- package/server/{github-client-DmZgsnYP.js → github-client-VRiB6N-4.js} +1 -1
- package/server/{github-client-zREpj5HA.js → github-client-yjbXaqpR.js} +2 -2
- package/server/{github-pr-lookup-CPri6JR1.js → github-pr-lookup-t8X8R0c0.js} +2 -2
- package/server/{harness-resolve-TzYAiXzZ.js → harness-resolve-DKeSVsJL.js} +3 -3
- package/server/{health-events-CDWk8Oz4.js → health-events-CD6q47ub.js} +1 -1
- package/server/{health-events-Dd0FuKrE.js → health-events-DaLX4-0a.js} +2 -2
- package/server/{hooks-C6HBXlVm.js → hooks-CmHFSj_Z.js} +2 -2
- package/server/{hooks-DRLzoFof.js → hooks-D-cbMUzQ.js} +1 -1
- package/server/{hume-Bb91r_2I.js → hume-DkVOs1Qi.js} +2 -2
- package/server/hume-x9voULey.js +3 -0
- package/server/{idle-stack-reaper-BPHnItVj.js → idle-stack-reaper-DBKQ9SKu.js} +3 -3
- package/server/{idle-stack-reaper-D5bwmuwX.js → idle-stack-reaper-DdnERp3G.js} +1 -1
- package/server/{infra-CCTzpcuJ.js → infra-CpKlYZA9.js} +3 -3
- package/server/{injection-D6L7D_w0.js → injection-CszhePD2.js} +7 -7
- package/server/{injection-CBrN8UxB.js → injection-DKzL2Axk.js} +1 -1
- package/server/{inspect-agent-CSYyFWqP.js → inspect-agent-BKKc0XnB.js} +9 -9
- package/server/inspect-agent-vm88mLYr.js +2 -0
- package/server/{internal-token-DWhBqgIk.js → internal-token-CQUx9YLc.js} +2 -2
- package/server/{internal-token-DCrCAG_M.js → internal-token-DrGdpLFo.js} +1 -1
- package/server/{io-DtAQ_2hp.js → io-Wy8YpFeP.js} +2 -2
- package/server/{issue-closed-0Zx72zXf.js → issue-closed-BO84g03t.js} +4 -4
- package/server/{issue-lifecycle-ZTt6kP_K.js → issue-lifecycle-DnhQgddB.js} +22 -22
- package/server/{issue-lifecycle-CJ7-D4XX.js → issue-lifecycle-nY4esZn8.js} +1 -1
- package/server/{issue-service-singleton-DNh4RRI7.js → issue-service-singleton-Bnqv1uaa.js} +1 -1
- package/server/{issue-service-singleton-DRE7S-Zg.js → issue-service-singleton-_AquSBTl.js} +8 -8
- package/server/{issues-CGc8Aaxm.js → issues-ChNcfHta.js} +2 -2
- package/server/{label-cleanup-CNsPlXy6.js → label-cleanup-bVXCGWBM.js} +3 -3
- package/server/{layers-CO_VLcSv.js → layers-vdvlpFki.js} +2 -2
- package/server/{lifecycle-B_NFvTj9.js → lifecycle-CGKm7doE.js} +7 -7
- package/server/{lifecycle-io-D0FftBLy.js → lifecycle-io-CdqPkCyk.js} +1 -1
- package/server/{lifecycle-io-WDGwa1vV.js → lifecycle-io-DSrv9xGh.js} +4 -4
- package/server/{linear-client-MvjflCXs.js → linear-client-BxKvL6U8.js} +1 -1
- package/server/{linear-client-CSgH24Ym.js → linear-client-E0HdXtWs.js} +2 -2
- package/server/memory-fts-worker.js +1 -1
- package/server/{merge-DltB-RGV.js → merge-D3wEbmUJ.js} +1 -1
- package/server/{merge-Ce9DHBXM.js → merge-UlAwCk80.js} +4 -4
- package/server/{merge-agent-Rv0bNQNU.js → merge-agent-BcgAYStl.js} +27 -27
- package/server/{merge-agent-DRXwKxmb.js → merge-agent-Dh8Y9PDO.js} +1 -1
- package/server/{merge-batch-LLp_cXUR.js → merge-batch-BwhGdlh4.js} +1 -1
- package/server/{merge-blockers-BqYUtLBd.js → merge-blockers-DwdQNsYD.js} +2 -2
- package/server/merge-ops-QdBiQ8XB.js +2 -0
- package/server/{merge-rebase-AiSEs4QB.js → merge-rebase-CH12_ufi.js} +2 -2
- package/server/{merge-set-CUY9msG9.js → merge-set-TRxJwR-w.js} +3 -3
- package/server/{merge-set-CSJoIpKB.js → merge-set-rXK3ehnB.js} +1 -1
- package/server/{merge-sync-CAjbJeTp.js → merge-sync-BKLKu9kz.js} +1 -1
- package/server/{merge-sync-CuyWzzZK.js → merge-sync-CaLRt2cB.js} +2 -2
- package/server/{merge-train-DndZCAiv.js → merge-train-DmxlYbEo.js} +3 -3
- package/server/{merge-train-deps-Bsy90Q7t.js → merge-train-deps-DBHsOWt9.js} +4 -4
- package/server/{merge-verification-Kvh4WViS.js → merge-verification-DA9rvqsE.js} +4 -4
- package/server/{multipart-parser-BWnfyoyz.js → multipart-parser-DtIEUW2B.js} +2 -2
- package/server/{no-resume-mode-CKy2bwZL.js → no-resume-mode-yrPEQ_pC.js} +1 -1
- package/server/{orphan-proposed-reconciler-Cg5_uVy1.js → orphan-proposed-reconciler-Db8tUhce.js} +10 -10
- package/server/{orphan-proposed-reconciler-CjUuBs6J.js → orphan-proposed-reconciler-mXV--tcB.js} +1 -1
- package/server/{pan-dir-Cn3NUnxU.js → pan-dir-BgBeeZDX.js} +3 -3
- package/server/{paths-Bo-kA9ta.js → paths-TE1GOZDr.js} +2 -2
- package/server/{pickup-DRn-XNXS.js → pickup-KLRUhThD.js} +1 -1
- package/server/{pipeline-notifier-BbGQtvKM.js → pipeline-notifier-aX_5EqQO.js} +2 -2
- package/server/{pipeline-notifier-DQsOtdjZ.js → pipeline-notifier-lwMa--Gz.js} +1 -1
- package/server/{projects-CKTA6Klk.js → projects-BNmVxnNt.js} +1 -1
- package/server/{prompts-CVncQg4P.js → prompts-CelsUdrx.js} +2 -2
- package/server/{providers-uPI9uU7Q.js → providers-4-xOzHQu.js} +7 -7
- package/server/{providers-CapuDkKX.js → providers-BOnRq5XK.js} +1 -1
- package/server/public/assets/{chunk-BO2N2NFS-CaAvtgHW.js → chunk-BO2N2NFS-jJsbVwoD.js} +4 -4
- package/server/public/assets/{diagram-OG6HWLK6-C4flU2X9.js → diagram-OG6HWLK6-Cp1aNi3v.js} +1 -1
- package/server/public/assets/{dist-DXAnG2e9.js → dist-B2-Oc7J1.js} +1 -1
- package/server/public/assets/{dist-DygIHsen.js → dist-Dbb8vdyE.js} +3 -3
- package/server/public/assets/{ganttDiagram-6RSMTGT7-BJY25etK.js → ganttDiagram-6RSMTGT7-rujV2mSn.js} +1 -1
- package/server/public/assets/{highlighted-body-OFNGDK62-DIEQLSG_.js → highlighted-body-OFNGDK62-Df3Exbbt.js} +1 -1
- package/server/public/assets/{index-BsKNi2y5.js → index-rQPa7qlV.js} +88 -88
- package/server/public/assets/{linear-CRa2o9KP.js → linear-Ctp3LAJ5.js} +1 -1
- package/server/public/assets/mermaid-GHXKKRXX-BnC2HrDq.js +1 -0
- package/server/public/assets/{pieDiagram-4H26LBE5-Cb6OrK_c.js → pieDiagram-4H26LBE5-K-m6VCum.js} +1 -1
- package/server/public/assets/{prod-DWpuiL-y.js → prod-jqZ3zqVg.js} +4 -4
- package/server/public/assets/{quadrantDiagram-W4KKPZXB-DhZzzcAO.js → quadrantDiagram-W4KKPZXB-DXcFax_1.js} +1 -1
- package/server/public/assets/{sankeyDiagram-5OEKKPKP-CVe6lE5A.js → sankeyDiagram-5OEKKPKP-DnD_J_rB.js} +1 -1
- package/server/public/assets/{xychartDiagram-2RQKCTM6-zukUz5pI.js → xychartDiagram-2RQKCTM6-Dx25iKVp.js} +1 -1
- package/server/public/index.html +1 -1
- package/server/{pull-requests-C3csHJsc.js → pull-requests-CH4iBFLl.js} +3 -3
- package/server/{pull-requests-MeAgb3Ax.js → pull-requests-DL_4klIb.js} +1 -1
- package/server/{rally-nalS21zz.js → rally-D0mKv2t8.js} +3 -3
- package/server/rally-DffLLIdl.js +3 -0
- package/server/{rally-api-DzQryQi8.js → rally-api-CcCdecF-.js} +1 -1
- package/server/{rally-api-DdY4ebu3.js → rally-api-DgAt6FbN.js} +2 -2
- package/server/{rally-client-9duSds1_.js → rally-client-DYjtgTOu.js} +4 -4
- package/server/{rally-client-B16-bZk9.js → rally-client-X0bEEN2B.js} +1 -1
- package/server/reap-terminal-sessions-BwJb2DLJ.js +3 -0
- package/server/{reap-terminal-sessions-C6rD1pDT.js → reap-terminal-sessions-CAmURC2h.js} +12 -62
- package/server/{rebuild-stack-D9qBmVcM.js → rebuild-stack-BLG3rlWa.js} +6 -6
- package/server/{rebuild-stack-DrWMHxoY.js → rebuild-stack-ByFCMqTK.js} +1 -1
- package/server/{reconstruct-cache--H2QBooC.js → reconstruct-cache-_tDZ2D72.js} +6 -6
- package/server/{record-fn7uPjsl.js → record-DjPikotp.js} +1 -1
- package/server/{remote-BEkHf2HO.js → remote-B1Trmr0N.js} +3 -3
- package/server/{remote-Dl6Hn0zz.js → remote-TN0cV8k-.js} +3 -3
- package/server/{remote-agents-DNdP4sew.js → remote-agents-CmbIKw7E.js} +5 -5
- package/server/{remote-agents-OB4zwVHz.js → remote-agents-DNuaAgU6.js} +1 -1
- package/server/{remote-completion-BINc1Y8c.js → remote-completion-Bklh6loJ.js} +12 -12
- package/server/resume-DnIsmIgC.js +3 -0
- package/server/review-agent-DgySDb-G.js +3 -0
- package/server/{review-agent-C-A6IgXc.js → review-agent-phzqNqIs.js} +599 -197
- package/server/{review-artifacts-DTTdAYsU.js → review-artifacts-BGc69epg.js} +7 -7
- package/server/{review-context-De14xPtc.js → review-context-CCq56O_Y.js} +7 -7
- package/server/{review-monitor-BNV3kjLq.js → review-monitor-BKG2ubt5.js} +2 -2
- package/server/{review-status-DWAsTqfJ.js → review-status-BQjqQXZG.js} +160 -52
- package/server/{review-status-mo3tyc8L.js → review-status-bBkqUj5i.js} +1 -1
- package/server/{review-status-enrichment-C6sr9wOI.js → review-status-enrichment-CGlcApSn.js} +3 -3
- package/server/{review-status-sync-D-p7TQit.js → review-status-sync-BWHnrq-k.js} +3 -3
- package/server/{review-status-sync-MvYGQLDD.js → review-status-sync-BxHBVH8s.js} +1 -1
- package/server/{review-verdict-feedback-BbIfN5Vg.js → review-verdict-feedback-cZh9Wi9G.js} +1 -1
- package/server/{review-verdict-feedback-Cfc-THvz.js → review-verdict-feedback-wqnikhMK.js} +16 -36
- package/server/{rollup-DgWlrSBc.js → rollup-BJE-Vc7H.js} +8 -8
- package/server/{rollup-CxR6GMTe.js → rollup-DBNy1yFB.js} +1 -1
- package/server/{scanner-6OmIn5XE.js → scanner-CUGpdp4i.js} +7 -7
- package/server/{sequence-io-CxiPMMKM.js → sequence-io-B2GmilSI.js} +4 -4
- package/server/{sequencer-agent--xPlSfR2.js → sequencer-agent-D8pW2aU_.js} +5 -5
- package/server/server.js +166 -162
- package/server/{service-CXje28KS.js → service-CILd-uOt.js} +46 -45
- package/server/session-fork-DDSDVoIK.js +99 -0
- package/server/{settings-ChvoXExM.js → settings-CBrei_kx.js} +2 -2
- package/server/{settings-DZq_bi-B.js → settings-D2wt4nku.js} +3 -3
- package/server/settings-vLoKyghx.js +2 -0
- package/server/{shadow-engineering-BHeyD5bL.js → shadow-engineering-Ba1D0QUN.js} +2 -2
- package/server/{shadow-state-p3YTxrJ5.js → shadow-state-BOaq8BrD.js} +1 -1
- package/server/{shadow-state-3L0eHQNE.js → shadow-state-DTC7AMHc.js} +2 -2
- package/server/{ship-log-B2EEH__n.js → ship-log-CMWH3H5-.js} +1 -1
- package/server/{smart-compaction-DRXK5_io.js → smart-compaction-Bgp_gwcA.js} +1 -1
- package/server/{smart-compaction-DMB4hv07.js → smart-compaction-CrP90OFE.js} +7 -7
- package/server/{spawn-planning-session-BZfVvIi3.js → spawn-planning-session-BmJWHSCu.js} +15 -15
- package/server/{spawn-planning-session-BBUzeHJQ.js → spawn-planning-session-D15KbPOy.js} +1 -1
- package/server/{specialist-completion-BAZHHbmp.js → specialist-completion-BiEXUHfD.js} +1 -1
- package/server/{specialist-context-DgdhI7rm.js → specialist-context-CwKkcXL9.js} +5 -5
- package/server/{specialist-handoff-logger-CH1nC8fq.js → specialist-handoff-logger-B_2VsWli.js} +2 -2
- package/server/{specialist-logs-DynFhFXg.js → specialist-logs-CvDxquV_.js} +3 -3
- package/server/{specialists-LJ9MZMCz.js → specialists-BCjcG4uE.js} +1 -1
- package/server/{specialists-BUKBHtmQ.js → specialists-BYi0k8CZ.js} +18 -18
- package/server/{specialists-e0Jmecc1.js → specialists-D07ybnam.js} +78 -85
- package/server/{specialists-CF02f9p2.js → specialists-F2uMO4QS.js} +1 -1
- package/server/specs-DeS98l_p.js +3 -0
- package/server/{src-CNLON0co.js → src-BswtmojL.js} +6 -6
- package/server/{src-DhJeCV1p.js → src-Dp0WHgDZ.js} +3 -3
- package/server/{src-AXK4mjue.js → src-fgbU-jJ-.js} +6 -3
- package/server/{stack-health-8jZH0Lgk.js → stack-health-BJVh1TCg.js} +3 -3
- package/server/{stack-health-CXYHwv5D.js → stack-health-Deel1mSW.js} +1 -1
- package/server/{state-home-XkLSsJCD.js → state-home-Bgj7i-C7.js} +8 -7
- package/server/{summary-fork-shfA2XOf.js → summary-fork-DedqguZb.js} +2 -2
- package/server/{summary-fork-BWa0ECGL.js → summary-fork-EjvOkEPl.js} +12 -91
- package/server/{supervisor-owMkHcx8.js → supervisor-0oXvLwyC.js} +3 -3
- package/server/supervisor-D1-XwmZ7.js +2 -0
- package/server/{swarm-readiness-BACUsKOx.js → swarm-readiness-OBgamRql.js} +3 -3
- package/server/{teardown-workspace-CYt_PBaq.js → teardown-workspace-5LCVbjfq.js} +14 -14
- package/server/{test-agent-queue-C1s6mB8C.js → test-agent-queue-qfsq6uaC.js} +6 -6
- package/server/{test-verdict-CmxX3KEf.js → test-verdict-BkubHtti.js} +1 -1
- package/server/{test-verdict-njEv9ZY2.js → test-verdict-D3Il7cBK.js} +1 -1
- package/server/{tldr-daemon-CEUflKr2.js → tldr-daemon-CJW_P4On.js} +2 -2
- package/server/{tldr-daemon-HIo0dwDB.js → tldr-daemon-CJqGsDFh.js} +1 -1
- package/server/tmux-CeDD14p1.js +3 -0
- package/server/{tmux-CBYZ5lKF.js → tmux-ePNhMIMU.js} +2 -2
- package/server/{token-CiS3w6Ma.js → token-_qujO3JZ.js} +1 -1
- package/server/{tracker-config-CVCoeaaL.js → tracker-config-C3hiPVAM.js} +2 -2
- package/server/{tracker-config-Bx50plWp.js → tracker-config-Drt_tx4D.js} +1 -1
- package/server/{tracker-utils-C2Lg4RoB.js → tracker-utils-D6B8scEw.js} +1 -1
- package/server/{tracker-utils-mI4d-vh8.js → tracker-utils-bpWs7Xyx.js} +2 -2
- package/server/{traefik-connect-D21-YEyX.js → traefik-connect-5EP1WS_Z.js} +1 -1
- package/server/{tunnel-BK4PVyb0.js → tunnel-3Ve8BS4H.js} +3 -3
- package/server/{tunnel-CcHkuRIS.js → tunnel-AporWhoi.js} +1 -1
- package/server/{types-DoPMvws2.js → types-B5u3NxMl.js} +1 -1
- package/server/{uat-train-BLFPxqLx.js → uat-train-C3hWXtip.js} +1 -1
- package/server/{uat-train-CQ_E-2ei.js → uat-train-CtNGgXxj.js} +27 -27
- package/server/{validation-Dab3bnSN.js → validation-BmUB-26g.js} +4 -4
- package/server/{validation-1QnjDMc0.js → validation-CbqP_dze.js} +1 -1
- package/server/{verification-runner-BO8TgZWA.js → verification-runner-BPAhPWR7.js} +11 -11
- package/server/{verification-runner-UhAAqOio.js → verification-runner-DuZRHjPU.js} +1 -1
- package/server/{vtt-parser-D-q5-8il.js → vtt-parser-CKc-smWM.js} +1 -1
- package/server/{work-agent-prompt-D_7T1xw5.js → work-agent-prompt-DCdHsm-V.js} +11 -11
- package/server/workflows-Cz8OtiB4.js +2 -0
- package/server/{workflows-CB5SWd0B.js → workflows-H-COJ84X.js} +14 -14
- package/server/{workspace-C4Avf_Tp.js → workspace-4ZufqeMe.js} +3 -3
- package/server/{workspace--XWYPbn1.js → workspace-DYv9kBg6.js} +1 -1
- package/server/{workspace-config-BwJB-bLH.js → workspace-config-DA8U97k9.js} +1 -1
- package/server/{workspace-manager-_6zbrhNF.js → workspace-manager-B3PqQQSM.js} +1 -1
- package/server/{workspace-manager-BE3OznLY.js → workspace-manager-CEWK-OXd.js} +12 -12
- package/server/{workspace-metadata-BCgODi1j.js → workspace-metadata-1eu1RvAT.js} +2 -2
- package/server/{workspace-metadata-wKPgY8PN.js → workspace-metadata-C0I-nIDL.js} +1 -1
- package/server/{workspaces-DpMiZ9BP.js → workspaces-CRU9_vRn.js} +154 -106
- package/server/agent-state-DTZCqWx5.js +0 -3
- package/server/cli-wyiCmp7b.js +0 -3
- package/server/deacon-swarm-jDiQ0kKk.js +0 -2
- package/server/dist-CnkaBMG-.js +0 -3
- package/server/forge-D2QLGWK9.js +0 -2
- package/server/hume-sCsuupWb.js +0 -3
- package/server/inspect-agent-DnspoIls.js +0 -2
- package/server/merge-ops-B6xc_Irj.js +0 -2
- package/server/public/assets/mermaid-GHXKKRXX-uIkd-n0c.js +0 -1
- package/server/rally-BJiyvz3w.js +0 -3
- package/server/reap-terminal-sessions-mW7SPDtP.js +0 -2
- package/server/resume-Pur3Z2e8.js +0 -3
- package/server/review-agent-BRSSFv7e.js +0 -3
- package/server/settings-D0XXIUQ0.js +0 -2
- package/server/specs-COn3zZ2Q.js +0 -3
- package/server/supervisor-DwGIhpXk.js +0 -2
- package/server/tmux-DNmHGMEv.js +0 -3
- package/server/workflows-Plo_VxeO.js +0 -2
|
@@ -0,0 +1,483 @@
|
|
|
1
|
+
CREATE TABLE `agents` (
|
|
2
|
+
`id` text PRIMARY KEY NOT NULL,
|
|
3
|
+
`issue_id` text NOT NULL,
|
|
4
|
+
`role` text NOT NULL,
|
|
5
|
+
`status` text NOT NULL,
|
|
6
|
+
`workspace` text NOT NULL,
|
|
7
|
+
`session_id` text,
|
|
8
|
+
`harness` text NOT NULL,
|
|
9
|
+
`model` text NOT NULL,
|
|
10
|
+
`host_override` text,
|
|
11
|
+
`delivery_method` text,
|
|
12
|
+
`started_at` integer,
|
|
13
|
+
`last_resume_at` integer,
|
|
14
|
+
`stopped_by_user` integer,
|
|
15
|
+
`stopped_by_pause` integer,
|
|
16
|
+
`kickoff_delivered` integer,
|
|
17
|
+
`paused` integer,
|
|
18
|
+
`paused_reason` text,
|
|
19
|
+
`yielded_by_scheduler` integer,
|
|
20
|
+
`yielded_at` integer,
|
|
21
|
+
`last_yield_resume_at` integer,
|
|
22
|
+
`troubled` integer,
|
|
23
|
+
`channels_enabled` integer,
|
|
24
|
+
`consecutive_failures` integer DEFAULT 0,
|
|
25
|
+
`first_failure_in_run_at` integer,
|
|
26
|
+
`last_failure_next_retry_at` integer,
|
|
27
|
+
`stopped_at` integer,
|
|
28
|
+
`paused_at` integer,
|
|
29
|
+
`troubled_at` integer,
|
|
30
|
+
`last_activity` integer,
|
|
31
|
+
`last_failure_reason` text,
|
|
32
|
+
`phase` text,
|
|
33
|
+
`role_run_head` text,
|
|
34
|
+
`flywheel_run_id` text,
|
|
35
|
+
`cost_so_far` real,
|
|
36
|
+
`review_sub_role` text,
|
|
37
|
+
`review_run_id` text,
|
|
38
|
+
`review_synthesis_agent_id` text,
|
|
39
|
+
`review_output_path` text,
|
|
40
|
+
`review_deadline_at` integer,
|
|
41
|
+
`review_monitor_signaled` text,
|
|
42
|
+
`review_retry_attempt` integer,
|
|
43
|
+
`updated_at` integer NOT NULL,
|
|
44
|
+
FOREIGN KEY (`issue_id`) REFERENCES `issues`(`id`) ON UPDATE no action ON DELETE no action
|
|
45
|
+
);
|
|
46
|
+
--> statement-breakpoint
|
|
47
|
+
CREATE INDEX `agents_issue_idx` ON `agents` (`issue_id`);--> statement-breakpoint
|
|
48
|
+
CREATE TABLE `app_settings` (
|
|
49
|
+
`key` text PRIMARY KEY NOT NULL,
|
|
50
|
+
`value` text,
|
|
51
|
+
`updated_at` integer
|
|
52
|
+
);
|
|
53
|
+
--> statement-breakpoint
|
|
54
|
+
CREATE TABLE `conversation_files` (
|
|
55
|
+
`id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
|
|
56
|
+
`conversation_id` text NOT NULL,
|
|
57
|
+
`harness` text NOT NULL,
|
|
58
|
+
`locator` text NOT NULL,
|
|
59
|
+
`created_at` integer NOT NULL,
|
|
60
|
+
FOREIGN KEY (`conversation_id`) REFERENCES `conversations`(`id`) ON UPDATE no action ON DELETE no action
|
|
61
|
+
);
|
|
62
|
+
--> statement-breakpoint
|
|
63
|
+
CREATE INDEX `conv_files_conv_idx` ON `conversation_files` (`conversation_id`);--> statement-breakpoint
|
|
64
|
+
CREATE TABLE `conversations` (
|
|
65
|
+
`id` text PRIMARY KEY NOT NULL,
|
|
66
|
+
`name` text NOT NULL,
|
|
67
|
+
`cwd` text NOT NULL,
|
|
68
|
+
`issue_id` text,
|
|
69
|
+
`harness` text,
|
|
70
|
+
`model` text,
|
|
71
|
+
`effort` text,
|
|
72
|
+
`title` text,
|
|
73
|
+
`title_source` text,
|
|
74
|
+
`created_at` integer NOT NULL,
|
|
75
|
+
`archived_at` integer,
|
|
76
|
+
`handoff_doc_path` text,
|
|
77
|
+
`handoff_target_conv_id` text,
|
|
78
|
+
`cleared_to_conv_id` text,
|
|
79
|
+
`tmux_session` text,
|
|
80
|
+
`status` text NOT NULL DEFAULT 'active',
|
|
81
|
+
`ended_at` integer,
|
|
82
|
+
`last_attached_at` integer,
|
|
83
|
+
`session_file` text,
|
|
84
|
+
`total_cost` real DEFAULT 0,
|
|
85
|
+
`total_tokens` integer DEFAULT 0,
|
|
86
|
+
`fork_status` text,
|
|
87
|
+
`fork_error` text,
|
|
88
|
+
`fork_retry_count` integer NOT NULL DEFAULT 0,
|
|
89
|
+
`fork_request` text,
|
|
90
|
+
`fork_fallback_reason` text,
|
|
91
|
+
`delivery_method` text,
|
|
92
|
+
`spawn_error` text,
|
|
93
|
+
FOREIGN KEY (`handoff_target_conv_id`) REFERENCES `conversations`(`id`) ON UPDATE no action ON DELETE no action,
|
|
94
|
+
FOREIGN KEY (`cleared_to_conv_id`) REFERENCES `conversations`(`id`) ON UPDATE no action ON DELETE no action
|
|
95
|
+
);
|
|
96
|
+
--> statement-breakpoint
|
|
97
|
+
CREATE UNIQUE INDEX `conversations_name_unique` ON `conversations` (`name`);--> statement-breakpoint
|
|
98
|
+
CREATE INDEX `conversations_issue_idx` ON `conversations` (`issue_id`);--> statement-breakpoint
|
|
99
|
+
CREATE TABLE `cost_events` (
|
|
100
|
+
`id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
|
|
101
|
+
`ts` integer NOT NULL,
|
|
102
|
+
`issue_id` text,
|
|
103
|
+
`agent_id` text,
|
|
104
|
+
`session_id` text,
|
|
105
|
+
`session_type` text,
|
|
106
|
+
`provider` text,
|
|
107
|
+
`model` text,
|
|
108
|
+
`input` integer,
|
|
109
|
+
`output` integer,
|
|
110
|
+
`cache_read` integer,
|
|
111
|
+
`cache_write` integer,
|
|
112
|
+
`cost` real,
|
|
113
|
+
`request_id` text,
|
|
114
|
+
`source_file` text
|
|
115
|
+
);
|
|
116
|
+
--> statement-breakpoint
|
|
117
|
+
CREATE INDEX `cost_issue_idx` ON `cost_events` (`issue_id`);--> statement-breakpoint
|
|
118
|
+
CREATE INDEX `cost_ts_idx` ON `cost_events` (`ts`);--> statement-breakpoint
|
|
119
|
+
CREATE INDEX `cost_session_id_idx` ON `cost_events` (`session_id`);--> statement-breakpoint
|
|
120
|
+
CREATE UNIQUE INDEX `cost_request_id_idx` ON `cost_events` (`request_id`) WHERE request_id IS NOT NULL;--> statement-breakpoint
|
|
121
|
+
CREATE TABLE `events` (
|
|
122
|
+
`sequence` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
|
|
123
|
+
`type` text NOT NULL,
|
|
124
|
+
`timestamp` integer NOT NULL,
|
|
125
|
+
`payload` text
|
|
126
|
+
);
|
|
127
|
+
--> statement-breakpoint
|
|
128
|
+
CREATE INDEX `events_type_ts_idx` ON `events` (`type`,`timestamp`);--> statement-breakpoint
|
|
129
|
+
CREATE TABLE `favorites` (
|
|
130
|
+
`type` text NOT NULL,
|
|
131
|
+
`item_id` text NOT NULL,
|
|
132
|
+
`created_at` integer NOT NULL,
|
|
133
|
+
PRIMARY KEY(`type`, `item_id`)
|
|
134
|
+
);
|
|
135
|
+
--> statement-breakpoint
|
|
136
|
+
CREATE TABLE `health_events` (
|
|
137
|
+
`id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
|
|
138
|
+
`agent_id` text,
|
|
139
|
+
`timestamp` integer NOT NULL,
|
|
140
|
+
`state` text NOT NULL,
|
|
141
|
+
`source` text,
|
|
142
|
+
`metadata` text
|
|
143
|
+
);
|
|
144
|
+
--> statement-breakpoint
|
|
145
|
+
CREATE INDEX `health_agent_ts_idx` ON `health_events` (`agent_id`,`timestamp`);--> statement-breakpoint
|
|
146
|
+
CREATE TABLE `issue_policy` (
|
|
147
|
+
`issue_id` text PRIMARY KEY NOT NULL,
|
|
148
|
+
`deacon_ignored` integer,
|
|
149
|
+
`deacon_ignored_reason` text,
|
|
150
|
+
`auto_merge` integer,
|
|
151
|
+
`updated_at` integer,
|
|
152
|
+
FOREIGN KEY (`issue_id`) REFERENCES `issues`(`id`) ON UPDATE no action ON DELETE no action
|
|
153
|
+
);
|
|
154
|
+
--> statement-breakpoint
|
|
155
|
+
CREATE TABLE `issues` (
|
|
156
|
+
`id` text PRIMARY KEY NOT NULL,
|
|
157
|
+
`stage` text NOT NULL,
|
|
158
|
+
`review_outcome` text,
|
|
159
|
+
`test_outcome` text,
|
|
160
|
+
`verification_outcome` text,
|
|
161
|
+
`verdict_commit` text,
|
|
162
|
+
`blockers` text,
|
|
163
|
+
`plan_ref` text,
|
|
164
|
+
`pr_url` text,
|
|
165
|
+
`pr_number` integer,
|
|
166
|
+
`pr_head_sha` text,
|
|
167
|
+
`updated_at` integer NOT NULL
|
|
168
|
+
);
|
|
169
|
+
--> statement-breakpoint
|
|
170
|
+
CREATE INDEX `issues_stage_idx` ON `issues` (`stage`);--> statement-breakpoint
|
|
171
|
+
CREATE TABLE `merge_queue` (
|
|
172
|
+
`id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
|
|
173
|
+
`project_key` text NOT NULL,
|
|
174
|
+
`issue_id` text NOT NULL,
|
|
175
|
+
`position` integer NOT NULL,
|
|
176
|
+
`status` text DEFAULT 'queued' NOT NULL,
|
|
177
|
+
`queued_at` integer NOT NULL,
|
|
178
|
+
`started_at` integer,
|
|
179
|
+
FOREIGN KEY (`issue_id`) REFERENCES `issues`(`id`) ON UPDATE no action ON DELETE no action
|
|
180
|
+
);
|
|
181
|
+
--> statement-breakpoint
|
|
182
|
+
CREATE UNIQUE INDEX `merge_queue_issue_id_unique` ON `merge_queue` (`issue_id`);--> statement-breakpoint
|
|
183
|
+
CREATE INDEX `merge_queue_project_idx` ON `merge_queue` (`project_key`,`position`);--> statement-breakpoint
|
|
184
|
+
CREATE TABLE `merge_set_repos` (
|
|
185
|
+
`id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
|
|
186
|
+
`issue_id` text NOT NULL,
|
|
187
|
+
`repo_key` text NOT NULL,
|
|
188
|
+
`repo_path` text NOT NULL,
|
|
189
|
+
`forge` text NOT NULL,
|
|
190
|
+
`source_branch` text NOT NULL,
|
|
191
|
+
`target_branch` text NOT NULL,
|
|
192
|
+
`artifact_url` text,
|
|
193
|
+
`artifact_id` text,
|
|
194
|
+
`review_status` text DEFAULT 'pending' NOT NULL,
|
|
195
|
+
`test_status` text DEFAULT 'pending' NOT NULL,
|
|
196
|
+
`rebase_status` text DEFAULT 'pending' NOT NULL,
|
|
197
|
+
`verification_status` text DEFAULT 'pending' NOT NULL,
|
|
198
|
+
`merge_status` text DEFAULT 'pending' NOT NULL,
|
|
199
|
+
`merge_order` integer DEFAULT 0 NOT NULL,
|
|
200
|
+
`required` integer DEFAULT true NOT NULL,
|
|
201
|
+
FOREIGN KEY (`issue_id`) REFERENCES `merge_sets`(`issue_id`) ON UPDATE no action ON DELETE no action
|
|
202
|
+
);
|
|
203
|
+
--> statement-breakpoint
|
|
204
|
+
CREATE INDEX `merge_set_repos_issue_idx` ON `merge_set_repos` (`issue_id`);--> statement-breakpoint
|
|
205
|
+
CREATE TABLE `merge_sets` (
|
|
206
|
+
`issue_id` text PRIMARY KEY NOT NULL,
|
|
207
|
+
`project_key` text NOT NULL,
|
|
208
|
+
`project_path` text NOT NULL,
|
|
209
|
+
`workspace_type` text NOT NULL,
|
|
210
|
+
`status` text DEFAULT 'draft' NOT NULL,
|
|
211
|
+
`created_at` integer NOT NULL,
|
|
212
|
+
`updated_at` integer NOT NULL,
|
|
213
|
+
FOREIGN KEY (`issue_id`) REFERENCES `issues`(`id`) ON UPDATE no action ON DELETE no action
|
|
214
|
+
);
|
|
215
|
+
--> statement-breakpoint
|
|
216
|
+
CREATE INDEX `merge_sets_project_idx` ON `merge_sets` (`project_key`,`updated_at`);--> statement-breakpoint
|
|
217
|
+
CREATE TABLE `pending_auto_merges` (
|
|
218
|
+
`id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
|
|
219
|
+
`issue_id` text NOT NULL,
|
|
220
|
+
`pr_url` text NOT NULL,
|
|
221
|
+
`project_key` text NOT NULL,
|
|
222
|
+
`forge` text DEFAULT 'github' NOT NULL,
|
|
223
|
+
`status` text NOT NULL,
|
|
224
|
+
`scheduled_merge_at` integer NOT NULL,
|
|
225
|
+
`scheduled_at` integer NOT NULL,
|
|
226
|
+
`merged_at` integer,
|
|
227
|
+
`failure_reason` text,
|
|
228
|
+
`cancelled_at` integer,
|
|
229
|
+
`cancelled_by` text,
|
|
230
|
+
FOREIGN KEY (`issue_id`) REFERENCES `issues`(`id`) ON UPDATE no action ON DELETE no action
|
|
231
|
+
);
|
|
232
|
+
--> statement-breakpoint
|
|
233
|
+
CREATE INDEX `pending_auto_merges_issue_idx` ON `pending_auto_merges` (`issue_id`);--> statement-breakpoint
|
|
234
|
+
CREATE UNIQUE INDEX `pending_auto_merges_active_issue_idx` ON `pending_auto_merges` (`issue_id`) WHERE status IN ('pending','merging');--> statement-breakpoint
|
|
235
|
+
CREATE TABLE `review_run_agents` (
|
|
236
|
+
`id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
|
|
237
|
+
`run_id` text NOT NULL,
|
|
238
|
+
`agent_id` text,
|
|
239
|
+
`sub_role` text,
|
|
240
|
+
`output_path` text,
|
|
241
|
+
`deadline_at` integer,
|
|
242
|
+
`monitor_signaled` text,
|
|
243
|
+
`retry_attempt` integer,
|
|
244
|
+
FOREIGN KEY (`run_id`) REFERENCES `review_runs`(`run_id`) ON UPDATE no action ON DELETE no action
|
|
245
|
+
);
|
|
246
|
+
--> statement-breakpoint
|
|
247
|
+
CREATE INDEX `review_run_agents_run_idx` ON `review_run_agents` (`run_id`);--> statement-breakpoint
|
|
248
|
+
CREATE TABLE `review_runs` (
|
|
249
|
+
`run_id` text PRIMARY KEY NOT NULL,
|
|
250
|
+
`issue_id` text NOT NULL,
|
|
251
|
+
`review_synthesis_agent_id` text,
|
|
252
|
+
`verification_cycle_count` integer DEFAULT 0,
|
|
253
|
+
`auto_requeue_count` integer DEFAULT 0,
|
|
254
|
+
`merge_retry_count` integer DEFAULT 0,
|
|
255
|
+
`test_retry_count` integer DEFAULT 0,
|
|
256
|
+
`review_retry_count` integer DEFAULT 0,
|
|
257
|
+
`stuck` integer DEFAULT false NOT NULL,
|
|
258
|
+
`stuck_reason` text,
|
|
259
|
+
`review_spawned_at` integer,
|
|
260
|
+
`conflict_resolution_dispatched_at` integer,
|
|
261
|
+
`recovery_started_at` integer,
|
|
262
|
+
FOREIGN KEY (`issue_id`) REFERENCES `issues`(`id`) ON UPDATE no action ON DELETE no action
|
|
263
|
+
);
|
|
264
|
+
--> statement-breakpoint
|
|
265
|
+
CREATE INDEX `review_runs_issue_idx` ON `review_runs` (`issue_id`);--> statement-breakpoint
|
|
266
|
+
CREATE TABLE `review_status` (
|
|
267
|
+
`issue_id` text PRIMARY KEY NOT NULL,
|
|
268
|
+
`review_status` text DEFAULT 'pending' NOT NULL,
|
|
269
|
+
`test_status` text DEFAULT 'pending' NOT NULL,
|
|
270
|
+
`merge_status` text,
|
|
271
|
+
`inspect_status` text,
|
|
272
|
+
`inspect_notes` text,
|
|
273
|
+
`inspect_started_at` integer,
|
|
274
|
+
`inspect_bead_id` text,
|
|
275
|
+
`verification_status` text,
|
|
276
|
+
`verification_notes` text,
|
|
277
|
+
`verification_cycle_count` integer DEFAULT 0,
|
|
278
|
+
`verification_max_cycles` integer,
|
|
279
|
+
`review_notes` text,
|
|
280
|
+
`test_notes` text,
|
|
281
|
+
`merge_notes` text,
|
|
282
|
+
`updated_at` integer NOT NULL,
|
|
283
|
+
`ready_for_merge` integer DEFAULT 0 NOT NULL,
|
|
284
|
+
`auto_requeue_count` integer DEFAULT 0,
|
|
285
|
+
`merge_retry_count` integer DEFAULT 0,
|
|
286
|
+
`pr_url` text,
|
|
287
|
+
`pr_head_sha` text,
|
|
288
|
+
`pr_number` integer,
|
|
289
|
+
`stuck` integer DEFAULT 0 NOT NULL,
|
|
290
|
+
`stuck_reason` text,
|
|
291
|
+
`stuck_at` integer,
|
|
292
|
+
`stuck_details` text,
|
|
293
|
+
`reviewed_at_commit` text,
|
|
294
|
+
`review_spawned_at` integer,
|
|
295
|
+
`conflict_resolution_dispatched_at` integer,
|
|
296
|
+
`test_retry_count` integer DEFAULT 0,
|
|
297
|
+
`review_retry_count` integer DEFAULT 0,
|
|
298
|
+
`recovery_started_at` integer,
|
|
299
|
+
`deacon_ignored` integer DEFAULT 0 NOT NULL,
|
|
300
|
+
`deacon_ignored_at` integer,
|
|
301
|
+
`deacon_ignored_reason` text,
|
|
302
|
+
`blocker_reasons` text,
|
|
303
|
+
`last_verified_commit` text,
|
|
304
|
+
`merge_step` text,
|
|
305
|
+
`auto_merge` integer
|
|
306
|
+
);
|
|
307
|
+
--> statement-breakpoint
|
|
308
|
+
CREATE INDEX `review_status_updated_idx` ON `review_status` (`updated_at`);--> statement-breakpoint
|
|
309
|
+
CREATE TABLE `status_history` (
|
|
310
|
+
`id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
|
|
311
|
+
`issue_id` text NOT NULL,
|
|
312
|
+
`type` text NOT NULL,
|
|
313
|
+
`status` text NOT NULL,
|
|
314
|
+
`timestamp` integer NOT NULL,
|
|
315
|
+
`notes` text,
|
|
316
|
+
FOREIGN KEY (`issue_id`) REFERENCES `issues`(`id`) ON UPDATE no action ON DELETE no action
|
|
317
|
+
);
|
|
318
|
+
--> statement-breakpoint
|
|
319
|
+
CREATE INDEX `status_history_issue_idx` ON `status_history` (`issue_id`,`timestamp`);--> statement-breakpoint
|
|
320
|
+
CREATE UNIQUE INDEX `status_history_unique_idx` ON `status_history` (`issue_id`,`type`,`status`,`timestamp`);--> statement-breakpoint
|
|
321
|
+
CREATE TABLE `transcript_checkpoints` (
|
|
322
|
+
`session_id` text PRIMARY KEY NOT NULL,
|
|
323
|
+
`transcript_path` text NOT NULL,
|
|
324
|
+
`last_offset` integer DEFAULT 0 NOT NULL,
|
|
325
|
+
`claim_owner` text,
|
|
326
|
+
`claim_from` integer,
|
|
327
|
+
`claim_to` integer,
|
|
328
|
+
`claim_expires_at` integer,
|
|
329
|
+
`mid_turn_count_in_current_turn` integer DEFAULT 0,
|
|
330
|
+
`last_mid_turn_at` integer,
|
|
331
|
+
`project_id` text,
|
|
332
|
+
`workspace_id` text,
|
|
333
|
+
`issue_id` text,
|
|
334
|
+
`updated_at` integer NOT NULL
|
|
335
|
+
);
|
|
336
|
+
--> statement-breakpoint
|
|
337
|
+
CREATE TABLE `transcripts` (
|
|
338
|
+
`backing_file_path` text PRIMARY KEY NOT NULL,
|
|
339
|
+
`session_id` text,
|
|
340
|
+
`harness` text,
|
|
341
|
+
`workspace_path` text,
|
|
342
|
+
`message_count` integer,
|
|
343
|
+
`models` text,
|
|
344
|
+
`token_input` integer,
|
|
345
|
+
`token_output` integer,
|
|
346
|
+
`first_ts` integer,
|
|
347
|
+
`last_ts` integer,
|
|
348
|
+
`pan_issue_id` text,
|
|
349
|
+
`pan_agent_id` text,
|
|
350
|
+
`file_mtime` integer,
|
|
351
|
+
`scanned_at` integer
|
|
352
|
+
);
|
|
353
|
+
--> statement-breakpoint
|
|
354
|
+
CREATE TABLE `uat_generation_members` (
|
|
355
|
+
`uat_name` text NOT NULL,
|
|
356
|
+
`issue_id` text NOT NULL,
|
|
357
|
+
`role` text DEFAULT 'member' NOT NULL,
|
|
358
|
+
`title` text,
|
|
359
|
+
`branch` text,
|
|
360
|
+
`head_sha` text,
|
|
361
|
+
`merge_order` integer,
|
|
362
|
+
`pr` integer,
|
|
363
|
+
`pr_url` text,
|
|
364
|
+
`reason` text,
|
|
365
|
+
PRIMARY KEY(`uat_name`, `issue_id`),
|
|
366
|
+
FOREIGN KEY (`uat_name`) REFERENCES `uat_generations`(`name`) ON UPDATE no action ON DELETE no action,
|
|
367
|
+
FOREIGN KEY (`issue_id`) REFERENCES `issues`(`id`) ON UPDATE no action ON DELETE no action
|
|
368
|
+
);
|
|
369
|
+
--> statement-breakpoint
|
|
370
|
+
CREATE TABLE `uat_generation_resolutions` (
|
|
371
|
+
`id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
|
|
372
|
+
`uat_name` text NOT NULL,
|
|
373
|
+
`issue_ids` text NOT NULL,
|
|
374
|
+
`files` text NOT NULL,
|
|
375
|
+
`commit_sha` text NOT NULL,
|
|
376
|
+
FOREIGN KEY (`uat_name`) REFERENCES `uat_generations`(`name`) ON UPDATE no action ON DELETE no action
|
|
377
|
+
);
|
|
378
|
+
--> statement-breakpoint
|
|
379
|
+
CREATE INDEX `uat_resolutions_uat_idx` ON `uat_generation_resolutions` (`uat_name`);--> statement-breakpoint
|
|
380
|
+
CREATE TABLE `uat_generations` (
|
|
381
|
+
`name` text PRIMARY KEY NOT NULL,
|
|
382
|
+
`worktree_path` text NOT NULL,
|
|
383
|
+
`project_root` text NOT NULL,
|
|
384
|
+
`base_sha` text NOT NULL,
|
|
385
|
+
`status` text DEFAULT 'assembling' NOT NULL,
|
|
386
|
+
`stack_started_at` integer,
|
|
387
|
+
`cleaned_at` integer,
|
|
388
|
+
`created_at` integer NOT NULL,
|
|
389
|
+
`updated_at` integer NOT NULL
|
|
390
|
+
);
|
|
391
|
+
--> statement-breakpoint
|
|
392
|
+
CREATE INDEX `uat_status_idx` ON `uat_generations` (`status`);--> statement-breakpoint
|
|
393
|
+
CREATE TABLE `discovered_sessions` (
|
|
394
|
+
`id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
|
|
395
|
+
`jsonl_path` text NOT NULL UNIQUE,
|
|
396
|
+
`harness` text,
|
|
397
|
+
`session_id` text,
|
|
398
|
+
`workspace_path` text,
|
|
399
|
+
`workspace_hash` text,
|
|
400
|
+
`message_count` integer NOT NULL DEFAULT 0,
|
|
401
|
+
`first_ts` integer,
|
|
402
|
+
`last_ts` integer,
|
|
403
|
+
`models_used` text,
|
|
404
|
+
`primary_model` text,
|
|
405
|
+
`token_input` integer NOT NULL DEFAULT 0,
|
|
406
|
+
`token_output` integer NOT NULL DEFAULT 0,
|
|
407
|
+
`estimated_cost` real NOT NULL DEFAULT 0,
|
|
408
|
+
`tools_used` text,
|
|
409
|
+
`files_touched` text,
|
|
410
|
+
`tags` text,
|
|
411
|
+
`summary` text,
|
|
412
|
+
`summary_detailed` text,
|
|
413
|
+
`enrichment_level` integer NOT NULL DEFAULT 0,
|
|
414
|
+
`enrichment_model` text,
|
|
415
|
+
`enriched_at` integer,
|
|
416
|
+
`enrichment_failed` integer NOT NULL DEFAULT 0,
|
|
417
|
+
`overdeck_managed` integer NOT NULL DEFAULT 0,
|
|
418
|
+
`pan_issue_id` text,
|
|
419
|
+
`pan_agent_id` text,
|
|
420
|
+
`file_size` integer,
|
|
421
|
+
`file_mtime` integer,
|
|
422
|
+
`scanned_at` integer NOT NULL
|
|
423
|
+
);--> statement-breakpoint
|
|
424
|
+
CREATE INDEX `idx_discovered_workspace` ON `discovered_sessions` (`workspace_path`);--> statement-breakpoint
|
|
425
|
+
CREATE INDEX `idx_discovered_last_ts` ON `discovered_sessions` (`last_ts`);--> statement-breakpoint
|
|
426
|
+
CREATE INDEX `idx_discovered_enrichment` ON `discovered_sessions` (`enrichment_level`,`enriched_at`);--> statement-breakpoint
|
|
427
|
+
CREATE INDEX `idx_discovered_managed` ON `discovered_sessions` (`overdeck_managed`,`pan_issue_id`);--> statement-breakpoint
|
|
428
|
+
CREATE INDEX `idx_discovered_model` ON `discovered_sessions` (`primary_model`);--> statement-breakpoint
|
|
429
|
+
CREATE INDEX `idx_discovered_session_id` ON `discovered_sessions` (`session_id`) WHERE session_id IS NOT NULL;--> statement-breakpoint
|
|
430
|
+
CREATE TABLE `discovered_session_tags` (
|
|
431
|
+
`session_id` integer NOT NULL REFERENCES `discovered_sessions`(`id`) ON DELETE CASCADE,
|
|
432
|
+
`tag` text NOT NULL,
|
|
433
|
+
PRIMARY KEY (`session_id`, `tag`)
|
|
434
|
+
);--> statement-breakpoint
|
|
435
|
+
CREATE INDEX `idx_discovered_session_tags_tag` ON `discovered_session_tags` (`tag`,`session_id`);--> statement-breakpoint
|
|
436
|
+
CREATE TABLE `discovered_session_tools` (
|
|
437
|
+
`session_id` integer NOT NULL REFERENCES `discovered_sessions`(`id`) ON DELETE CASCADE,
|
|
438
|
+
`tool` text NOT NULL,
|
|
439
|
+
PRIMARY KEY (`session_id`, `tool`)
|
|
440
|
+
);--> statement-breakpoint
|
|
441
|
+
CREATE INDEX `idx_discovered_session_tools_tool` ON `discovered_session_tools` (`tool`,`session_id`);--> statement-breakpoint
|
|
442
|
+
CREATE TABLE `discovered_session_files` (
|
|
443
|
+
`session_id` integer NOT NULL REFERENCES `discovered_sessions`(`id`) ON DELETE CASCADE,
|
|
444
|
+
`file_path` text NOT NULL,
|
|
445
|
+
PRIMARY KEY (`session_id`, `file_path`)
|
|
446
|
+
);--> statement-breakpoint
|
|
447
|
+
CREATE INDEX `idx_discovered_session_files_file_path` ON `discovered_session_files` (`file_path`,`session_id`);--> statement-breakpoint
|
|
448
|
+
CREATE TABLE `session_embeddings` (
|
|
449
|
+
`session_id` integer NOT NULL REFERENCES `discovered_sessions`(`id`) ON DELETE CASCADE,
|
|
450
|
+
`model` text NOT NULL,
|
|
451
|
+
`dim` integer NOT NULL,
|
|
452
|
+
`embedding` blob NOT NULL,
|
|
453
|
+
`created_at` integer NOT NULL,
|
|
454
|
+
PRIMARY KEY (`session_id`, `model`)
|
|
455
|
+
);--> statement-breakpoint
|
|
456
|
+
CREATE TABLE `git_operations` (
|
|
457
|
+
`id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
|
|
458
|
+
`operation` text NOT NULL,
|
|
459
|
+
`branch` text,
|
|
460
|
+
`issue_id` text,
|
|
461
|
+
`before_sha` text,
|
|
462
|
+
`after_sha` text,
|
|
463
|
+
`remote_sha` text,
|
|
464
|
+
`status` text NOT NULL,
|
|
465
|
+
`error` text,
|
|
466
|
+
`ts` integer NOT NULL
|
|
467
|
+
);--> statement-breakpoint
|
|
468
|
+
CREATE INDEX `idx_git_ops_ts` ON `git_operations` (`ts`);--> statement-breakpoint
|
|
469
|
+
CREATE INDEX `idx_git_ops_issue` ON `git_operations` (`issue_id`,`ts`);--> statement-breakpoint
|
|
470
|
+
CREATE TABLE `flywheel_substrate_bugs` (
|
|
471
|
+
`issue_id` text PRIMARY KEY NOT NULL,
|
|
472
|
+
`filed_at` integer NOT NULL,
|
|
473
|
+
`run_id` text,
|
|
474
|
+
`filed_by` text NOT NULL,
|
|
475
|
+
`discovered_in_issue_id` text,
|
|
476
|
+
`severity` text NOT NULL DEFAULT 'P2',
|
|
477
|
+
`status` text NOT NULL DEFAULT 'open',
|
|
478
|
+
`fix_merged_at` integer,
|
|
479
|
+
`fix_commit_sha` text,
|
|
480
|
+
`updated_at` integer NOT NULL
|
|
481
|
+
);--> statement-breakpoint
|
|
482
|
+
CREATE INDEX `idx_fsb_filed_at` ON `flywheel_substrate_bugs` (`filed_at`);--> statement-breakpoint
|
|
483
|
+
CREATE INDEX `idx_fsb_status` ON `flywheel_substrate_bugs` (`status`);--> statement-breakpoint
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@overdeck/desktop",
|
|
3
|
-
"version": "0.45.
|
|
3
|
+
"version": "0.45.8",
|
|
4
4
|
"description": "Overdeck Command Deck — AI agent monitoring desktop app",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -18,7 +18,8 @@
|
|
|
18
18
|
"bin",
|
|
19
19
|
"dist-electron",
|
|
20
20
|
"server",
|
|
21
|
-
"resources"
|
|
21
|
+
"resources",
|
|
22
|
+
"drizzle"
|
|
22
23
|
],
|
|
23
24
|
"engines": {
|
|
24
25
|
"node": ">=22.0.0"
|
|
@@ -44,6 +45,7 @@
|
|
|
44
45
|
"electron": "40.6.0"
|
|
45
46
|
},
|
|
46
47
|
"devDependencies": {
|
|
48
|
+
"@electron/notarize": "^2.5.0",
|
|
47
49
|
"@overdeck/contracts": "workspace:*",
|
|
48
50
|
"@types/node": "^22.0.0",
|
|
49
51
|
"electron-builder": "^25.1.8",
|
|
@@ -65,6 +67,10 @@
|
|
|
65
67
|
"!dist-electron/**/*.map"
|
|
66
68
|
],
|
|
67
69
|
"extraResources": [
|
|
70
|
+
{
|
|
71
|
+
"from": "drizzle",
|
|
72
|
+
"to": "drizzle"
|
|
73
|
+
},
|
|
68
74
|
{
|
|
69
75
|
"from": "server",
|
|
70
76
|
"to": "server",
|
|
@@ -100,7 +106,12 @@
|
|
|
100
106
|
}
|
|
101
107
|
],
|
|
102
108
|
"icon": "resources/icon.png",
|
|
103
|
-
"category": "public.app-category.developer-tools"
|
|
109
|
+
"category": "public.app-category.developer-tools",
|
|
110
|
+
"hardenedRuntime": true,
|
|
111
|
+
"gatekeeperAssess": false,
|
|
112
|
+
"entitlements": "build/entitlements.mac.plist",
|
|
113
|
+
"entitlementsInherit": "build/entitlements.mac.plist",
|
|
114
|
+
"notarize": false
|
|
104
115
|
},
|
|
105
116
|
"dmg": {
|
|
106
117
|
"title": "Overdeck",
|
|
@@ -121,6 +132,7 @@
|
|
|
121
132
|
"oneClick": false,
|
|
122
133
|
"allowToChangeInstallationDirectory": true
|
|
123
134
|
},
|
|
124
|
-
"afterPack": "scripts/afterPack.cjs"
|
|
135
|
+
"afterPack": "scripts/afterPack.cjs",
|
|
136
|
+
"afterSign": "scripts/notarize.cjs"
|
|
125
137
|
}
|
|
126
138
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import { b as init_types, o as init_io, x as subItemsOf } from "./io-
|
|
2
|
+
import { b as init_types, o as init_io, x as subItemsOf } from "./io-Wy8YpFeP.js";
|
|
3
3
|
import "effect";
|
|
4
4
|
//#region ../../lib/vbrief/acceptance-criteria.ts
|
|
5
5
|
/**
|
|
@@ -30,4 +30,4 @@ var init_acceptance_criteria = __esmMin((() => {
|
|
|
30
30
|
//#endregion
|
|
31
31
|
export { init_acceptance_criteria as n, extractACFromDocument as t };
|
|
32
32
|
|
|
33
|
-
//# sourceMappingURL=acceptance-criteria-
|
|
33
|
+
//# sourceMappingURL=acceptance-criteria-l0DSvFFS.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { a as init_activity_logger, n as emitActivityEntrySync, r as emitActivityTtsSync } from "./activity-logger-
|
|
1
|
+
import { a as init_activity_logger, n as emitActivityEntrySync, r as emitActivityTtsSync } from "./activity-logger-pcbf-e30.js";
|
|
2
2
|
init_activity_logger();
|
|
3
3
|
export { emitActivityEntrySync, emitActivityTtsSync };
|
|
@@ -56,7 +56,8 @@ function emitActivityEntrySync(options) {
|
|
|
56
56
|
message: options.message,
|
|
57
57
|
details: options.details,
|
|
58
58
|
issueId: options.issueId,
|
|
59
|
-
link: options.link
|
|
59
|
+
link: options.link,
|
|
60
|
+
desktop: options.desktop
|
|
60
61
|
}
|
|
61
62
|
});
|
|
62
63
|
}
|
|
@@ -186,4 +187,4 @@ var init_activity_logger = __esmMin((() => {
|
|
|
186
187
|
//#endregion
|
|
187
188
|
export { init_activity_logger as a, emitDashboardLifecycleSync as i, emitActivityEntrySync as n, setActivityEventStoreProvider as o, emitActivityTtsSync as r, emitActivityDetailedSync as t };
|
|
188
189
|
|
|
189
|
-
//# sourceMappingURL=activity-logger-
|
|
190
|
+
//# sourceMappingURL=activity-logger-pcbf-e30.js.map
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import { O as listSessionNames, w as killSession, x as init_tmux } from "./tmux-
|
|
2
|
-
import { c as init_review_status, s as getReviewStatusSync, u as loadReviewStatuses } from "./review-status-
|
|
3
|
-
import { Jn as saveAgentStateSync, Pn as getAgentStateSync, Vn as markAgentStoppedState, er as init_persistent_logger,
|
|
4
|
-
import {
|
|
1
|
+
import { O as listSessionNames, w as killSession, x as init_tmux } from "./tmux-ePNhMIMU.js";
|
|
2
|
+
import { c as init_review_status, s as getReviewStatusSync, u as loadReviewStatuses } from "./review-status-BQjqQXZG.js";
|
|
3
|
+
import { Jn as saveAgentStateSync, Pn as getAgentStateSync, Vn as markAgentStoppedState, er as init_persistent_logger, nr as logDeaconEventSync, t as init_agents } from "./agents-DHvsjsuP.js";
|
|
4
|
+
import { o as selectMergedAdvancingSessions, t as init_reap_terminal_sessions } from "./reap-terminal-sessions-CAmURC2h.js";
|
|
5
5
|
import { Effect } from "effect";
|
|
6
6
|
//#region ../../lib/cloister/advancing-selfheal.ts
|
|
7
7
|
init_agents();
|
|
8
8
|
init_persistent_logger();
|
|
9
9
|
init_review_status();
|
|
10
10
|
init_tmux();
|
|
11
|
+
init_reap_terminal_sessions();
|
|
11
12
|
const JOURNAL_RECONCILE_STATES = new Set([
|
|
12
13
|
"pending",
|
|
13
14
|
"reviewing",
|
|
@@ -84,33 +85,11 @@ function markAdvancingSessionStopped(session, deps = defaultDeps) {
|
|
|
84
85
|
return true;
|
|
85
86
|
}
|
|
86
87
|
/**
|
|
87
|
-
* PAN-1716: Reap completed advancing-role sessions that have a recorded
|
|
88
|
-
* terminal verdict but are still tmux-alive.
|
|
89
|
-
*/
|
|
90
|
-
async function checkTerminalAdvancingSessions() {
|
|
91
|
-
const actions = [];
|
|
92
|
-
try {
|
|
93
|
-
const toKill = selectTerminalAdvancingSessions(loadReviewStatuses(), [...await Effect.runPromise(listSessionNames())]);
|
|
94
|
-
for (const session of toKill) try {
|
|
95
|
-
await Effect.runPromise(killSession(session));
|
|
96
|
-
actions.push(`Reaped terminal advancing session ${session} (verdict recorded, session idle)`);
|
|
97
|
-
console.log(`[deacon] Reaped terminal advancing session ${session} (PAN-1716)`);
|
|
98
|
-
logDeaconEventSync(`checkTerminalAdvancingSessions: reaped ${session} — phase verdict terminal but session alive (PAN-1716)`);
|
|
99
|
-
} catch (err) {
|
|
100
|
-
console.warn(`[deacon] Failed to reap terminal session ${session}: ${err instanceof Error ? err.message : String(err)}`);
|
|
101
|
-
}
|
|
102
|
-
} catch (error) {
|
|
103
|
-
const msg = error instanceof Error ? error.message : String(error);
|
|
104
|
-
console.error("[deacon] Error reaping terminal advancing sessions:", msg);
|
|
105
|
-
}
|
|
106
|
-
return actions;
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
88
|
* PAN-2341: Reap advancing-role sessions for already-merged issues.
|
|
110
89
|
*
|
|
111
|
-
*
|
|
112
|
-
*
|
|
113
|
-
* the pipeline
|
|
90
|
+
* The warm-by-default lifecycle (PAN-2579) intentionally leaves review/test/ship
|
|
91
|
+
* panes alive, but once the issue is MERGED those sessions have no remaining role
|
|
92
|
+
* in the pipeline (close-out territory). Kill the tmux session and
|
|
114
93
|
* mark the agents-table row stopped so countRunningAgents() frees the slot.
|
|
115
94
|
*/
|
|
116
95
|
async function checkMergedAdvancingSessions() {
|
|
@@ -134,48 +113,14 @@ async function checkMergedAdvancingSessions() {
|
|
|
134
113
|
}
|
|
135
114
|
return actions;
|
|
136
115
|
}
|
|
137
|
-
/**
|
|
138
|
-
* PAN-2341: Reap non-merged terminal advancing sessions after a short idle
|
|
139
|
-
* window. This bypasses specialist keep-alive only after the pane has sat idle
|
|
140
|
-
* long enough for operator inspection, then marks the agents row stopped so the
|
|
141
|
-
* advancing ceiling frees in the same patrol.
|
|
142
|
-
*/
|
|
143
|
-
async function checkIdleTerminalAdvancingSessions() {
|
|
144
|
-
const actions = [];
|
|
145
|
-
try {
|
|
146
|
-
const candidates = selectNonMergedTerminalAdvancingSessions(loadReviewStatuses(), [...await Effect.runPromise(listSessionNames())]);
|
|
147
|
-
const now = Date.now();
|
|
148
|
-
for (const session of candidates) {
|
|
149
|
-
if (!isIdlePastThreshold(getAgentRuntimeStateSync(session), 6e5, now)) continue;
|
|
150
|
-
try {
|
|
151
|
-
await Effect.runPromise(killSession(session));
|
|
152
|
-
} catch (err) {
|
|
153
|
-
console.warn(`[deacon] Failed to reap idle terminal advancing session ${session}: ${err instanceof Error ? err.message : String(err)}`);
|
|
154
|
-
}
|
|
155
|
-
const markedStopped = markAdvancingSessionStopped(session);
|
|
156
|
-
actions.push(markedStopped ? `Reaped idle terminal advancing session ${session} (verdict recorded, idle >=10m, row stopped)` : `Reaped idle terminal advancing session ${session} (verdict recorded, idle >=10m)`);
|
|
157
|
-
console.log(`[deacon] Reaped idle terminal advancing session ${session} (PAN-2341)`);
|
|
158
|
-
logDeaconEventSync(`checkIdleTerminalAdvancingSessions: reaped ${session} — terminal verdict idle >=10m (PAN-2341)`);
|
|
159
|
-
}
|
|
160
|
-
} catch (error) {
|
|
161
|
-
const msg = error instanceof Error ? error.message : String(error);
|
|
162
|
-
console.error("[deacon] Error reaping idle terminal advancing sessions:", msg);
|
|
163
|
-
}
|
|
164
|
-
return actions;
|
|
165
|
-
}
|
|
166
116
|
const defaultBootAdvancingSelfHealDeps = {
|
|
167
117
|
reconcileInFlightJournals,
|
|
168
118
|
checkMergedAdvancingSessions,
|
|
169
|
-
checkIdleTerminalAdvancingSessions,
|
|
170
119
|
log: logDeaconEventSync
|
|
171
120
|
};
|
|
172
121
|
async function runBootAdvancingSelfHeal(deps = defaultBootAdvancingSelfHealDeps) {
|
|
173
122
|
const actions = [];
|
|
174
|
-
const steps = [
|
|
175
|
-
["reconcileInFlightJournals", deps.reconcileInFlightJournals],
|
|
176
|
-
["checkMergedAdvancingSessions", deps.checkMergedAdvancingSessions],
|
|
177
|
-
["checkIdleTerminalAdvancingSessions", deps.checkIdleTerminalAdvancingSessions]
|
|
178
|
-
];
|
|
123
|
+
const steps = [["reconcileInFlightJournals", deps.reconcileInFlightJournals], ["checkMergedAdvancingSessions", deps.checkMergedAdvancingSessions]];
|
|
179
124
|
for (const [name, step] of steps) try {
|
|
180
125
|
const stepActions = await step();
|
|
181
126
|
actions.push(...stepActions);
|
|
@@ -187,6 +132,6 @@ async function runBootAdvancingSelfHeal(deps = defaultBootAdvancingSelfHealDeps)
|
|
|
187
132
|
return actions;
|
|
188
133
|
}
|
|
189
134
|
//#endregion
|
|
190
|
-
export {
|
|
135
|
+
export { checkMergedAdvancingSessions, markAdvancingSessionStopped, reconcileInFlightJournals, runBootAdvancingSelfHeal };
|
|
191
136
|
|
|
192
|
-
//# sourceMappingURL=advancing-selfheal-
|
|
137
|
+
//# sourceMappingURL=advancing-selfheal-CMlGznKv.js.map
|