@overdeck/desktop 0.45.18 → 0.45.19
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-aQFKQf-J.js → acceptance-criteria-DQqRIuQ-.js} +2 -2
- package/server/{advancing-selfheal-DgwQgm4D.js → advancing-selfheal-BYidNkmp.js} +5 -5
- package/server/{agent-gc-kpzxqT7P.js → agent-gc-ClNQLl_V.js} +3 -3
- package/server/{agent-state-C_6TG-Ad.js → agent-state-BMrpX7kU.js} +1 -1
- package/server/{agent-state-service-nUD3qfob.js → agent-state-service-BpAKmodj.js} +4 -4
- package/server/{agent-state-service-BUfovFfB.js → agent-state-service-CC9NMIWn.js} +1 -1
- package/server/{agents-BHBxr8c9.js → agents--ljN-wVY.js} +4 -4
- package/server/{agents-BA15AQqo.js → agents-DAUyr_Z1.js} +1 -1
- package/server/{archive-planning-D-QsBufn.js → archive-planning-2w8WQaeJ.js} +1 -1
- package/server/{archive-planning-CzCW9Ifl.js → archive-planning-BW3te5Vw.js} +3 -3
- package/server/{artifact-index-jobs-qqa51B2Z.js → artifact-index-jobs-DFO3eceF.js} +2 -2
- package/server/{backlog-auto-trigger-B7Bi0bvY.js → backlog-auto-trigger-DECBMxLq.js} +2 -2
- package/server/{briefing-freshness-DuxIE1yr.js → briefing-freshness-B1delh4l.js} +2 -2
- package/server/{checkpoint-manager-DixkLus7.js → checkpoint-manager-CjLY6A4r.js} +1 -1
- package/server/{checkpoint-manager-DF6hb9Jw.js → checkpoint-manager-D6_71Rpb.js} +2 -2
- package/server/checkpoint-worker.js +1 -1
- package/server/{checkpoints-BiviJqei.js → checkpoints-BYrLxVle.js} +2 -2
- package/server/{checkpoints-B1Z42tJE.js → checkpoints-xSuv4v4I.js} +1 -1
- package/server/{claude-hooks-provision-BeMGi4ty.js → claude-hooks-provision-DL6yfJB_.js} +1 -1
- package/server/{claude-hooks-provision-Du_PkMsp.js → claude-hooks-provision-DvfVZbbT.js} +2 -2
- package/server/{claude-permissions-BB6agcOZ.js → claude-permissions-CcncrTNF.js} +2 -2
- package/server/{claude-settings-overlay-CAq2oFSK.js → claude-settings-overlay-1IfYetv2.js} +2 -2
- package/server/{claude-settings-overlay-DUWWLd6M.js → claude-settings-overlay-Ca3LXjAC.js} +1 -1
- package/server/cli-BxZHwgRK.js +3 -0
- package/server/{cli-C33xPZNm.js → cli-DGZWYXio.js} +9 -9
- package/server/{cliproxy-CGBA1GzA.js → cliproxy-Dw42Xy3t.js} +2 -2
- package/server/{cliproxy-BQX1TL6N.js → cliproxy-DziJLbfo.js} +1 -1
- package/server/{close-issue-DNv8npc1.js → close-issue-DEGjxifn.js} +4 -4
- package/server/{closed-issue-reaper-LoMnnjtJ.js → closed-issue-reaper-BsJ3JqQy.js} +9 -9
- package/server/{closed-issue-reaper-DrqgBJlr.js → closed-issue-reaper-CNr7X4MB.js} +1 -1
- package/server/{codex-DxLivxri.js → codex-C8OlW-dN.js} +1 -1
- package/server/{codex-sgWVCGUd.js → codex-D5RyWzNL.js} +4 -4
- package/server/{codex-parser-DboQnEXN.js → codex-parser-BRxvUkk8.js} +2 -2
- package/server/{config-6MCHOZ2N.js → config-CQ2u44iP.js} +1 -1
- package/server/{config-DfaUXr6r.js → config-Cntj_tFu.js} +2 -2
- package/server/{config-yaml-CqaAyn8y.js → config-yaml-BQs6GbD_.js} +2 -1
- package/server/{conflict-gate-BubJprtD.js → conflict-gate-BE6JdfkO.js} +1 -1
- package/server/{conflict-gate-BF_zhcmb.js → conflict-gate-DdfwKgy0.js} +3 -3
- package/server/{context-layers-BFrxfl0l.js → context-layers-DFucrVVG.js} +3 -3
- package/server/{context-layers-DWL_8HhY.js → context-layers-DO0Eyq2E.js} +2 -2
- package/server/{control-settings-BguNQ1F_.js → control-settings-bxOCLsuE.js} +4 -4
- package/server/{conversation-compaction-DxSXl0pT.js → conversation-compaction-Dq6MfZdL.js} +8 -8
- package/server/{conversation-compaction-CRKAf2qP.js → conversation-compaction-lSlUb-cU.js} +1 -1
- package/server/{conversation-service-DzuY9qoH.js → conversation-service-BVt4MQ1_.js} +1 -1
- package/server/{conversation-service-mFVFdDQK.js → conversation-service-TZsQjkjT.js} +4 -4
- package/server/{conversations-BX5aD-6F.js → conversations-CxOWHNzv.js} +4 -4
- package/server/{conversations-BajHQ60c.js → conversations-DaF6elGK.js} +1 -1
- package/server/{cost-DuZ5vlv-.js → cost-Dlh0IEiv.js} +3 -3
- package/server/{cost-BoqD1Pxz.js → cost-oinpUqvE.js} +2 -2
- package/server/{cost-sync-BYnmnMkY.js → cost-sync-CVIAsrhB.js} +3 -3
- package/server/{dag-C6kYyF17.js → dag-ClFr7Bah.js} +2 -2
- package/server/dashboard-db-worker.js +6 -6
- package/server/{deacon-CwCiNuEZ.js → deacon-B8ygB3e8.js} +3 -3
- package/server/{deacon-Dru5onpk.js → deacon-D2-xTesT.js} +98 -98
- package/server/deacon-swarm-1vPLuj_l.js +2 -0
- package/server/{deacon-swarm-BPmBmSoU.js → deacon-swarm-yWKQhxiX.js} +12 -12
- package/server/deacon.js +8 -8
- package/server/{devcontainer-renderer-BqGNCzvN.js → devcontainer-renderer-xPhZHCrx.js} +2 -2
- package/server/{docker-CNjXS72x.js → docker-DPEglAwA.js} +2 -2
- package/server/{ensure-devcontainer-5e9xOve4.js → ensure-devcontainer-SzSvEdKq.js} +3 -3
- package/server/{ensure-devcontainer-C6gyUQdE.js → ensure-devcontainer-wU3ym1b5.js} +1 -1
- package/server/{event-store-D9UhQyMS.js → event-store-BZoXexYS.js} +1 -1
- package/server/{event-store-KZnWUKWh.js → event-store-D4s6eQ6o.js} +3 -3
- package/server/{events-BYbvqZky.js → events-Bn-wdUBF.js} +1 -1
- package/server/{events-2eFUPdqz.js → events-D1hMLl2a.js} +3 -3
- package/server/{factory-BtaRsHFC.js → factory-ltWnu0V_.js} +4 -4
- package/server/{feature-registry-population-Ca2UaV0U.js → feature-registry-population-xj-J1Wm7.js} +4 -4
- package/server/{feature-registry-storage-DaP-bQxO.js → feature-registry-storage-CQZukiLm.js} +2 -2
- package/server/{features-DqvaoQoa.js → features-Dyqi6N8f.js} +2 -2
- package/server/{feedback-target-BblmMe9P.js → feedback-target-Ba0zhSYI.js} +1 -1
- package/server/{feedback-target-BXWdOiYI.js → feedback-target-Chd5dm-Q.js} +7 -7
- package/server/{feedback-writer-CULeOOY4.js → feedback-writer-BtaoJGl2.js} +1 -1
- package/server/{feedback-writer-Dn8o9ZyE.js → feedback-writer-BujzReaQ.js} +4 -4
- package/server/{flywheel-CqkO3cDj.js → flywheel-FTInS73X.js} +10 -10
- package/server/{flywheel-BUWdcfhq.js → flywheel-bTImiVrk.js} +1 -1
- package/server/{flywheel-merge-order-VtjUweEb.js → flywheel-merge-order-DuenRJLZ.js} +6 -6
- package/server/{flywheel-merge-order-LDzQDwSg.js → flywheel-merge-order-O5Zu8iPw.js} +1 -1
- package/server/{flywheel-D9r1mw2U.js → flywheel-rmYbW-lh.js} +12 -12
- package/server/{forge-wEollMCi.js → forge-OWm99lie.js} +2 -2
- package/server/forge-x5lszTd0.js +2 -0
- package/server/{fts-db-Bgzn2RO7.js → fts-db-BRfS5ukG.js} +2 -2
- package/server/{fts-operations-Bj8yutnR.js → fts-operations-L5sNLoHl.js} +2 -2
- package/server/{git-utils-q8jNoBts.js → git-utils-BIEzv2Zp.js} +1 -1
- package/server/{git-utils-GxlL0tmt.js → git-utils-CP-bg-aM.js} +2 -2
- package/server/{github-app-tUbb8Ldr.js → github-app-CRUIvHuM.js} +2 -2
- package/server/{github-app-BrYwK_Gb.js → github-app-Dtn4ib6M.js} +1 -1
- package/server/{github-client-BwBU41jK.js → github-client-CWEFlCqL.js} +2 -2
- package/server/{github-client-D6CNsftm.js → github-client-DSVv6wX8.js} +1 -1
- package/server/{github-pr-lookup-BS5PqkJb.js → github-pr-lookup-D6CS9vtG.js} +2 -2
- package/server/{harness-resolve-Dx8hUsvC.js → harness-resolve-ScD6rV47.js} +3 -3
- package/server/{health-events-B0mj6Iae.js → health-events-DbcJmYmd.js} +1 -1
- package/server/{health-events-2DLp-5Xp.js → health-events-Dm1Vcvqe.js} +2 -2
- package/server/{hooks-BDcQJDUe.js → hooks-B6gaI6Kg.js} +1 -1
- package/server/{hooks-BS_JrvYP.js → hooks-VXuCnzCv.js} +2 -2
- package/server/{idle-stack-reaper-C1ymihno.js → idle-stack-reaper-Gv32ZCrQ.js} +1 -1
- package/server/{idle-stack-reaper-BCITXNW5.js → idle-stack-reaper-po700Lfg.js} +2 -2
- package/server/{infra-_Kx1m9pm.js → infra-DYwIXlK5.js} +4 -4
- package/server/{injection-Bvhyg_MV.js → injection-CTfFnpsG.js} +1 -1
- package/server/{injection-CCaYkofq.js → injection-DPsUoCJp.js} +7 -7
- package/server/inspect-agent-B25IP-0O.js +2 -0
- package/server/{inspect-agent-BqyZ4pCo.js → inspect-agent-CLkwfLRx.js} +9 -9
- package/server/{internal-token-Cl-1IxaE.js → internal-token--50JhWP7.js} +2 -2
- package/server/{internal-token-D-t28de5.js → internal-token-BOgxXMGy.js} +1 -1
- package/server/{io-DkC4sFSy.js → io-Cv9xQTks.js} +2 -2
- package/server/{issue-closed-Cpl4VDUM.js → issue-closed-CyqtoFUj.js} +7 -7
- package/server/{issue-lifecycle-YNTy3OT3.js → issue-lifecycle-Cm7ydBGK.js} +1 -1
- package/server/{issue-lifecycle-CFR8TJ22.js → issue-lifecycle-DR6n40bh.js} +20 -20
- package/server/{issue-service-singleton-D81mCts_.js → issue-service-singleton--LQ5c2zT.js} +1 -1
- package/server/{issue-service-singleton-ldvUUXi3.js → issue-service-singleton-DKKPneH4.js} +8 -8
- package/server/{issues-DIEHt9sq.js → issues-Cr-BLFLO.js} +2 -2
- package/server/{jsonl-parser-Cd5jIqh7.js → jsonl-parser-Bp_xCkX4.js} +3 -3
- package/server/{label-cleanup-Btny6Gyo.js → label-cleanup-BbLy2FZe.js} +2 -2
- package/server/{launcher-generator-BXLM9f4b.js → launcher-generator-C-FU4PNT.js} +4 -4
- package/server/{layers-gCJlK62m.js → layers-C-6lBDUE.js} +2 -2
- package/server/{lifecycle-D7aQUnTO.js → lifecycle-Bmw8yU_A.js} +5 -5
- package/server/{lifecycle-io-DQBF-GHO.js → lifecycle-io-B150XprC.js} +1 -1
- package/server/{lifecycle-io-FfPUtz-y.js → lifecycle-io-Dcu-_ktz.js} +4 -4
- package/server/{linear-client-CDH2D6Qy.js → linear-client-BHjs0luk.js} +2 -2
- package/server/{linear-client-WrYrUIAH.js → linear-client-s65LNmlG.js} +1 -1
- package/server/memory-fts-worker.js +1 -1
- package/server/{merge-Dervs4BF.js → merge-CM8swd2V.js} +1 -1
- package/server/{merge-BsDgUxFz.js → merge-CS0b-E3u.js} +3 -3
- package/server/{merge-agent-D6DNhe9j.js → merge-agent-Bu1hw9cz.js} +26 -26
- package/server/{merge-agent-DMQTJMP0.js → merge-agent-D6LRIW63.js} +1 -1
- package/server/{merge-blockers-WWWi6Ur2.js → merge-blockers-Dt43hJiW.js} +2 -2
- package/server/merge-ops-DwYi3U_x.js +2 -0
- package/server/{merge-rebase-Czth9ggm.js → merge-rebase-B3vQcTq1.js} +2 -2
- package/server/{merge-set-vuE3MEVt.js → merge-set-BMEGEKQg.js} +1 -1
- package/server/{merge-set-DNc4zBqd.js → merge-set-Pe3spe8k.js} +3 -3
- package/server/{merge-sync-B9nHdUGx.js → merge-sync-CpxFRIQ7.js} +1 -1
- package/server/{merge-sync-B2KSk54U.js → merge-sync-STpg1hk3.js} +2 -2
- package/server/{merge-train-DJgr81tF.js → merge-train-DLw2hDk0.js} +3 -3
- package/server/{merge-train-deps-B2OWS0k9.js → merge-train-deps-BlCGLqwy.js} +4 -4
- package/server/{merge-verification-BBIXUEqa.js → merge-verification-C4WMP40D.js} +4 -4
- package/server/node_modules/.package-lock.json +1 -1
- package/server/{orphan-proposed-reconciler-DbTmT7qy.js → orphan-proposed-reconciler-eetUXmmt.js} +1 -1
- package/server/{orphan-proposed-reconciler-B8H41C4a.js → orphan-proposed-reconciler-k9eydM1E.js} +9 -9
- package/server/package-lock.json +2 -2
- package/server/package.json +1 -1
- package/server/{pan-dir-BTw4MdSe.js → pan-dir-D3vABXMs.js} +3 -3
- package/server/{paths-Btkc8mzp.js → paths-DIoslfsu.js} +2 -2
- package/server/{pipeline-notifier-3frIvSi3.js → pipeline-notifier-Bgidcelx.js} +1 -1
- package/server/{pipeline-notifier-DTd19f18.js → pipeline-notifier-CuBONomU.js} +2 -2
- package/server/{project-pipelines-B95fcAek.js → project-pipelines-B9b_JVTS.js} +2 -2
- package/server/{projects-Dc9aoVoG.js → projects-DxMUi2eI.js} +1 -1
- package/server/{prompts-CIVmjHxn.js → prompts-CY1xnHS-.js} +2 -2
- package/server/{providers-BLLk5IIb.js → providers-B7BNcK_j.js} +1 -1
- package/server/{providers-C-yWibCk.js → providers-CAlK2If5.js} +7 -7
- package/server/{pull-requests-D7AL5woD.js → pull-requests-Cs4VLxiY.js} +1 -1
- package/server/{pull-requests-NDDNtqNq.js → pull-requests-CxfrQiWX.js} +3 -3
- package/server/{queries-C0LCGG21.js → queries-srgusoi8.js} +59 -59
- package/server/{rally-4oKvnxLG.js → rally-AKkjuGdi.js} +3 -3
- package/server/rally-BOza5j3_.js +3 -0
- package/server/{rally-api-41tT6ikZ.js → rally-api-BGxATnyr.js} +2 -2
- package/server/{rally-api-BsaQ8Vnz.js → rally-api-Dbqw1YW9.js} +1 -1
- package/server/{rally-client-b5PT1x5L.js → rally-client-B1U5ewpO.js} +1 -1
- package/server/{rally-client-Bo4hNcCZ.js → rally-client-D8h73ei_.js} +4 -4
- package/server/{rebuild-stack-Ddv6W017.js → rebuild-stack-BYdtwS6f.js} +5 -5
- package/server/{rebuild-stack-C7JPUom6.js → rebuild-stack-Dsm9WjKv.js} +1 -1
- package/server/{reconstruct-cache-Gqhm---K.js → reconstruct-cache-D7oM1lNv.js} +6 -6
- package/server/{record-DLOqfbkI.js → record-BeXdn9Ue.js} +1 -1
- package/server/{record-update-BltEmPge.js → record-update-Cb_pPM-F.js} +2 -2
- package/server/{record-update-CDp7aTaT.js → record-update-KFiISAmu.js} +1 -1
- package/server/{recovery-trip-Cn7KJVkS.js → recovery-trip-DwbsONZf.js} +2 -2
- package/server/{release-engine-BYzmIBf9.js → release-engine-CAai5W0V.js} +5 -5
- package/server/{release-set-7pnxFOWR.js → release-set-vNEAfyDH.js} +3 -3
- package/server/{remote-Cvu4CSDk.js → remote-8HlOfuF1.js} +3 -3
- package/server/{remote-rN0ecjHE.js → remote-RQMKOL_R.js} +3 -3
- package/server/{remote-agents-C2C6z9tj.js → remote-agents-C4a4DdTj.js} +6 -6
- package/server/{remote-agents-DYY5fFpd.js → remote-agents-_Z1SAaSK.js} +1 -1
- package/server/{remote-completion-2Kb4IDg_.js → remote-completion-CH3igKY8.js} +12 -12
- package/server/resume-Cr34JAXO.js +3 -0
- package/server/{review-agent-BZvk0N5G.js → review-agent-CQ7oRh_G.js} +22 -22
- package/server/{review-agent-CpSHLzed.js → review-agent-CUVj54v0.js} +1 -1
- package/server/{review-artifacts-PCo53YMn.js → review-artifacts-CC3yGv7o.js} +5 -5
- package/server/{review-context-M7QtJlJq.js → review-context-BuxaAgAd.js} +7 -7
- package/server/{review-monitor-BLC5mTTg.js → review-monitor-uogOppaW.js} +2 -2
- package/server/{review-status-77N3PoZr.js → review-status-BoJdyvUQ.js} +1 -1
- package/server/{review-status-DANr0t-v.js → review-status-By86XA6Z.js} +23 -21
- package/server/{review-status-enrichment-DwOg4UfL.js → review-status-enrichment-CRQAO27G.js} +3 -3
- package/server/{review-status-sync-Bd08OOFA.js → review-status-sync-BI4WhUkF.js} +1 -1
- package/server/{review-status-sync-BjTUJ5fx.js → review-status-sync-DUQmrLkK.js} +2 -2
- package/server/{review-verdict-feedback-CBf-J_wS.js → review-verdict-feedback-BNcGkBRD.js} +6 -6
- package/server/{review-verdict-feedback-BsFLjN_6.js → review-verdict-feedback-CWz9_9Kp.js} +1 -1
- package/server/{rollup-DTCCdEy4.js → rollup-B-K6PCbm.js} +1 -1
- package/server/{rollup-Bu0f2EyN.js → rollup-CqiFgtBp.js} +7 -7
- package/server/{scanner-BlZ2vB7j.js → scanner-BZmDUjyD.js} +7 -7
- package/server/{sequence-io-ylyDtz2J.js → sequence-io-BuUx1ZAY.js} +4 -4
- package/server/{sequencer-agent-DsWQ-87H.js → sequencer-agent-2uWOA_BC.js} +5 -5
- package/server/server.js +155 -153
- package/server/{service-CLVBC_1Y.js → service-COB19Uhm.js} +45 -45
- package/server/{session-fork-DlEIAhRy.js → session-fork-D18TscUZ.js} +2 -2
- package/server/{session-history-bnOFKMwf.js → session-history-DbWnzfo-.js} +2 -2
- package/server/settings-C3w2std9.js +2 -0
- package/server/{settings-Cqa-8nyj.js → settings-CFEdfovT.js} +2 -2
- package/server/{settings-gJrdLZy2.js → settings-DNPAf2X_.js} +3 -3
- package/server/{shadow-engineering-fq1YEKV3.js → shadow-engineering-D8xTtraU.js} +2 -2
- package/server/{shadow-state-RptE9Cau.js → shadow-state-CTgub0ME.js} +2 -2
- package/server/{shadow-state-BqeFAygK.js → shadow-state-fRDYhcyx.js} +1 -1
- package/server/{shadow-utils-BMWr5tRT.js → shadow-utils-DqMLnRgQ.js} +2 -2
- package/server/{smart-compaction-DldUel4B.js → smart-compaction-CL6yaFpc.js} +1 -1
- package/server/{smart-compaction-CmoXpjeU.js → smart-compaction-CsJDKM-N.js} +5 -5
- package/server/{spawn-planning-session-DT2tSMxo.js → spawn-planning-session-C_wIQ-Zg.js} +1 -1
- package/server/{spawn-planning-session-CoS6LTc6.js → spawn-planning-session-D0-NlNK1.js} +13 -13
- package/server/{specialist-context-CspI4Eog.js → specialist-context-DXj5Itg8.js} +5 -5
- package/server/{specialist-handoff-logger-Duz9RGvk.js → specialist-handoff-logger-BFH-IB0n.js} +2 -2
- package/server/{specialist-logs-DtSkPJZK.js → specialist-logs-B-rldhNg.js} +3 -3
- package/server/{specialists-Dax7tqXC.js → specialists-C6-b3YZb.js} +81 -81
- package/server/{specialists-CywEMwxk.js → specialists-CI_eqHAz.js} +1 -1
- package/server/{specialists-GF42OOqd.js → specialists-Dp8ABxVh.js} +18 -18
- package/server/{specialists-D9-dMUtI.js → specialists-Hq3EojmD.js} +1 -1
- package/server/specs-DPGNVh51.js +3 -0
- package/server/{stack-health-BsEVrJZ6.js → stack-health-Bxt-oGE6.js} +1 -1
- package/server/{stack-health-C-SnpRHh.js → stack-health-FtNYSTCS.js} +2 -2
- package/server/{stale-task-claims-vTxmRzLi.js → stale-task-claims-DnCHCATD.js} +4 -4
- package/server/{state-home-Bur1y4oH.js → state-home-BzzKVh_C.js} +2 -2
- package/server/{state-migrate-D3VveYfO.js → state-migrate-BS4IybIS.js} +3 -3
- package/server/{stuck-remediation-CaFYYTQW.js → stuck-remediation-CTNT4LUC.js} +1 -1
- package/server/{stuck-remediation-B699-p8v.js → stuck-remediation-DbwhGg3g.js} +15 -15
- package/server/{summary-fork-BxnF8Xh0.js → summary-fork-CloCB8dV.js} +2 -2
- package/server/{summary-fork-COqYpVa3.js → summary-fork-DaCs0tCq.js} +8 -8
- package/server/supervisor/{paths-Bk6hJRH9.js → paths-C1yU0jq4.js} +2 -1
- package/server/supervisor/pty-supervisor.js +2 -2
- package/server/supervisor/{pty-token-BZS5GYdG.js → pty-token-CSryb8Mb.js} +2 -2
- package/server/{supervisor-liMgIPDF.js → supervisor-CRED6PD6.js} +2 -2
- package/server/supervisor-DHwuClN_.js +2 -0
- package/server/{swarm-readiness-sXB1vhzo.js → swarm-readiness-CEOrP9rE.js} +3 -3
- package/server/{teardown-workspace-DvzqnmUF.js → teardown-workspace-Ckn7HGhp.js} +12 -12
- package/server/{test-agent-queue-hAU1Ah08.js → test-agent-queue-C8lE8r2j.js} +5 -5
- package/server/{tldr-daemon-DhGwd88s.js → tldr-daemon-BE5rqR90.js} +1 -1
- package/server/{tldr-daemon-Bam7Xhoo.js → tldr-daemon-CGwDr28O.js} +2 -2
- package/server/{tmux-U55cNGFG.js → tmux-C3X2XmV0.js} +2 -2
- package/server/{tmux-C-rgxRDA.js → tmux-DNaD06Gc.js} +1 -1
- package/server/{tracker-config-OkdbaUCm.js → tracker-config-5Cabf1MU.js} +2 -2
- package/server/{tracker-utils-CghXMF3q.js → tracker-utils-Cl-Eaqrv.js} +2 -2
- package/server/{tracker-utils-DdzUiPNU.js → tracker-utils-FexeJhyf.js} +1 -1
- package/server/{tunnel-DjlzgTl3.js → tunnel-D4px7sKc.js} +1 -1
- package/server/{tunnel-D1YxesBL.js → tunnel-KId6Z59z.js} +2 -2
- package/server/{uat-train-CqN34zFx.js → uat-train-B16skN7L.js} +23 -23
- package/server/{uat-train-CaaWs9Rp.js → uat-train-BBMrnecu.js} +1 -1
- package/server/{validation-DpTNakM6.js → validation-Zc4kAmqa.js} +1 -1
- package/server/{validation-4-z2Cw4z.js → validation-xAD7y5vW.js} +3 -3
- package/server/{verification-runner-BjHN80pJ.js → verification-runner-32y8NRfL.js} +13 -13
- package/server/{verification-runner-ShYu5Ph3.js → verification-runner-DAat1p1u.js} +1 -1
- package/server/{work-agent-prompt-BiJ43Der.js → work-agent-prompt-S3Fe1kpV.js} +9 -9
- package/server/{workflows-DkTotz_m.js → workflows-BNvk5gbE.js} +12 -12
- package/server/workflows-Cw2-a_hn.js +2 -0
- package/server/{workspace-CuN0ev4Z.js → workspace-BhUnCpcq.js} +3 -3
- package/server/{workspace-DQ4vVivd.js → workspace-C-gP6JAz.js} +1 -1
- package/server/{workspace-manager-Beeo2aKF.js → workspace-manager-BKiMmb0c.js} +10 -10
- package/server/{workspace-manager-B1mYn0lN.js → workspace-manager-DD6PDqV8.js} +1 -1
- package/server/{workspace-metadata-BZC5BmoP.js → workspace-metadata-Cnq0snrf.js} +2 -2
- package/server/{workspace-metadata-Cy7_ZACL.js → workspace-metadata-D5gNR61G.js} +1 -1
- package/server/{workspaces-CGuzW1Ia.js → workspaces-DiAwBsb9.js} +91 -91
- package/sync-sources/hooks/record-cost-event.js +1 -1
- package/sync-sources/hooks/record-cost-event.js.map +1 -1
- package/server/cli-BFgrSWKV.js +0 -3
- package/server/deacon-swarm-CKyGJng1.js +0 -2
- package/server/forge-DJy3Zx4s.js +0 -2
- package/server/inspect-agent-DCJQm9Wu.js +0 -2
- package/server/merge-ops-h9OCnIVz.js +0 -2
- package/server/rally-DF5a3ioP.js +0 -3
- package/server/resume-BFLl-yLn.js +0 -3
- package/server/settings-CP3GGon2.js +0 -2
- package/server/specs-VwcFtEDi.js +0 -3
- package/server/supervisor-eWAAmXKu.js +0 -2
- package/server/workflows-B4C3lY9E.js +0 -2
|
@@ -1,39 +1,39 @@
|
|
|
1
1
|
import { a as __toCommonJS } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import { B as piProviderForModel, C as init_tier_table, D as canUseHarnessSync, Fn as init_projects, Jr as getOverdeckHome, N as UnknownModelError, Qr as resolveOhmypiExtensionPath, R as getProviderForModelSync, Sr as init_errors, T as resolveTieredExecutionEnabledForIssue, Vr as encodeClaudeProjectDir, Yr as init_paths, Z as resolveModel, ar as parseIssueIdSync, c as isClaudeCodeChannelsEnabled, f as loadConfigSync, fr as FsError, hn as shouldCommitLegacyWorkspaceArtifacts, k as init_harness_policy, kn as getProjectSync, nr as extractPrefixSync, pn as init_state_read_home, qn as resolveProjectFromIssueSync, rr as init_issue_id, t as init_config_yaml, w as resolveTieredExecutionEnabled, z as init_providers, zn as listProjectsSync } from "./config-yaml-
|
|
2
|
+
import { B as piProviderForModel, C as init_tier_table, D as canUseHarnessSync, Fn as init_projects, Jr as getOverdeckHome, N as UnknownModelError, Qr as resolveOhmypiExtensionPath, R as getProviderForModelSync, Sr as init_errors, T as resolveTieredExecutionEnabledForIssue, Vr as encodeClaudeProjectDir, Yr as init_paths, Z as resolveModel, ar as parseIssueIdSync, c as isClaudeCodeChannelsEnabled, f as loadConfigSync, fr as FsError, hn as shouldCommitLegacyWorkspaceArtifacts, k as init_harness_policy, kn as getProjectSync, nr as extractPrefixSync, pn as init_state_read_home, qn as resolveProjectFromIssueSync, rr as init_issue_id, t as init_config_yaml, w as resolveTieredExecutionEnabled, z as init_providers, zn as listProjectsSync } from "./config-yaml-BQs6GbD_.js";
|
|
3
3
|
import { a as init_activity_logger, n as emitActivityEntrySync } from "./activity-logger-pcbf-e30.js";
|
|
4
|
-
import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-
|
|
5
|
-
import { A as listSessions, B as setOption, C as isHarnessProcessAlive, G as BLANKED_PROVIDER_ENV, I as sendKeysAsync, J as init_child_env, L as sendRawKeystroke, R as sessionExists, S as init_tmux, T as killSession, f as exactPaneTarget, i as capturePane, k as listSessionNames, m as findManagedServerPidSync, o as createSession, q as buildChildEnvWithoutTmuxSync, z as sessionExistsSync } from "./tmux-
|
|
6
|
-
import { a as init_event_store, n as getEventStore } from "./event-store-
|
|
4
|
+
import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-DYwIXlK5.js";
|
|
5
|
+
import { A as listSessions, B as setOption, C as isHarnessProcessAlive, G as BLANKED_PROVIDER_ENV, I as sendKeysAsync, J as init_child_env, L as sendRawKeystroke, R as sessionExists, S as init_tmux, T as killSession, f as exactPaneTarget, i as capturePane, k as listSessionNames, m as findManagedServerPidSync, o as createSession, q as buildChildEnvWithoutTmuxSync, z as sessionExistsSync } from "./tmux-C3X2XmV0.js";
|
|
6
|
+
import { a as init_event_store, n as getEventStore } from "./event-store-D4s6eQ6o.js";
|
|
7
7
|
import { C as normalizeChannelReplyPayload, a as getHarnessBehavior, b as DomainEvent, t as init_src } from "./src-By3D85Ry.js";
|
|
8
|
-
import { A as stateToOverdeckParamsForDb, D as init_agent_state_sync, T as AGENT_COLUMNS_FOR_DB, c as init_review_status, s as getReviewStatusSync, u as loadReviewStatuses, y as setReviewStatusSync } from "./review-status-
|
|
9
|
-
import { a as EventStoreService, c as ReadModelService, d as init_read_model, i as init_issue_lifecycle, s as init_domain_services, t as IssueLifecycle, u as getClosedIssueIdsForReadSource } from "./issue-lifecycle-
|
|
10
|
-
import { d as isTerminalIssueStage, o as init_agents, u as getIssueStageSync } from "./agents-
|
|
11
|
-
import { n as ensureSessionContextBriefingFile, r as init_briefing_freshness } from "./briefing-freshness-
|
|
12
|
-
import { o as getPricingSync, s as init_cost, t as calculateCostSync } from "./cost-
|
|
13
|
-
import { $n as wipeAgentStateDirs, At as init_bridge_token, Ct as deliverAgentPermissionDecision, Dn as clearAgentTroubled, Et as setAgentDeliveryMethod, Fn as getAgentStateSync, G as saveSessionId, H as getLatestSessionId, Hn as markAgentStoppedState, Jn as saveAgentState, Kt as getAgentRuntimeBaseCommand, L as messageAgent, Lt as transitionIssueToInProgress, M as resumeAgent, Nn as getAgentState, O as recoverAgent, Q as stopAgent, R as init_operator_interventions, S as init_tier_escalation, St as deliverAgentMessage, Tn as clearAgentPaused, U as getLatestSessionIdSync, V as getActivity, Vt as resolveStaffing, W as getSessionId, Xn as setAgentPaused, Yn as saveAgentStateSync, Yt as getProviderAuthMode, _t as init_config, ar as init_pty_supervisor_locate, bn as dismissDevChannelsDialog, br as checkCodexAuthStatus, dn as getProviderExportsForModel, er as writeAgentStateJsonSync, fr as waitForReadySignal, gr as saveAgentRuntimeState, i as listRunningAgents, in as ohmypiFifoPaths, ir as writePtyToken, jn as getAgentDir, jt as writeBridgeTokenSync, k as restartAgent, ln as determineModel, lr as normalizeAgentId, mn as validateProviderHealth, mr as getAgentRuntimeStateSync, n as init_queries, nn as piFifoPaths, or as resolvePtySupervisorScriptPath, pn as init_provider_health, pr as getAgentRuntimeState, r as listAgentStates, rn as init_ohmypi_fifo, rr as init_pty_token, s as init_agents$1, sr as clearReadySignal, tn as init_pi_fifo, un as getProviderEnvForModel, x as decideEscalation, xn as writeChannelsBridgeMcpConfig, xr as init_codex_auth, yt as loadCloisterConfigSync, z as operatorInterventionEvent, zt as init_staffing } from "./queries-
|
|
14
|
-
import { a as performHandoff, i as checkAllTriggers, s as getAgentHealth, t as getCloisterService } from "./service-
|
|
15
|
-
import { o as init_persistent_logger, s as logAgentLifecycleSync } from "./session-history-
|
|
8
|
+
import { A as stateToOverdeckParamsForDb, D as init_agent_state_sync, T as AGENT_COLUMNS_FOR_DB, c as init_review_status, s as getReviewStatusSync, u as loadReviewStatuses, y as setReviewStatusSync } from "./review-status-By86XA6Z.js";
|
|
9
|
+
import { a as EventStoreService, c as ReadModelService, d as init_read_model, i as init_issue_lifecycle, s as init_domain_services, t as IssueLifecycle, u as getClosedIssueIdsForReadSource } from "./issue-lifecycle-DR6n40bh.js";
|
|
10
|
+
import { d as isTerminalIssueStage, o as init_agents, u as getIssueStageSync } from "./agents--ljN-wVY.js";
|
|
11
|
+
import { n as ensureSessionContextBriefingFile, r as init_briefing_freshness } from "./briefing-freshness-B1delh4l.js";
|
|
12
|
+
import { o as getPricingSync, s as init_cost, t as calculateCostSync } from "./cost-oinpUqvE.js";
|
|
13
|
+
import { $n as wipeAgentStateDirs, At as init_bridge_token, Ct as deliverAgentPermissionDecision, Dn as clearAgentTroubled, Et as setAgentDeliveryMethod, Fn as getAgentStateSync, G as saveSessionId, H as getLatestSessionId, Hn as markAgentStoppedState, Jn as saveAgentState, Kt as getAgentRuntimeBaseCommand, L as messageAgent, Lt as transitionIssueToInProgress, M as resumeAgent, Nn as getAgentState, O as recoverAgent, Q as stopAgent, R as init_operator_interventions, S as init_tier_escalation, St as deliverAgentMessage, Tn as clearAgentPaused, U as getLatestSessionIdSync, V as getActivity, Vt as resolveStaffing, W as getSessionId, Xn as setAgentPaused, Yn as saveAgentStateSync, Yt as getProviderAuthMode, _t as init_config, ar as init_pty_supervisor_locate, bn as dismissDevChannelsDialog, br as checkCodexAuthStatus, dn as getProviderExportsForModel, er as writeAgentStateJsonSync, fr as waitForReadySignal, gr as saveAgentRuntimeState, i as listRunningAgents, in as ohmypiFifoPaths, ir as writePtyToken, jn as getAgentDir, jt as writeBridgeTokenSync, k as restartAgent, ln as determineModel, lr as normalizeAgentId, mn as validateProviderHealth, mr as getAgentRuntimeStateSync, n as init_queries, nn as piFifoPaths, or as resolvePtySupervisorScriptPath, pn as init_provider_health, pr as getAgentRuntimeState, r as listAgentStates, rn as init_ohmypi_fifo, rr as init_pty_token, s as init_agents$1, sr as clearReadySignal, tn as init_pi_fifo, un as getProviderEnvForModel, x as decideEscalation, xn as writeChannelsBridgeMcpConfig, xr as init_codex_auth, yt as loadCloisterConfigSync, z as operatorInterventionEvent, zt as init_staffing } from "./queries-srgusoi8.js";
|
|
14
|
+
import { a as performHandoff, i as checkAllTriggers, s as getAgentHealth, t as getCloisterService } from "./service-COB19Uhm.js";
|
|
15
|
+
import { o as init_persistent_logger, s as logAgentLifecycleSync } from "./session-history-DbWnzfo-.js";
|
|
16
16
|
import { t as init_behavior } from "./behavior-CWqNMqE5.js";
|
|
17
|
-
import { a as init_tracker_config, t as getGitHubConfig } from "./tracker-config-
|
|
18
|
-
import { n as init_issue_service_singleton, r as issue_service_singleton_exports } from "./issue-service-singleton-
|
|
17
|
+
import { a as init_tracker_config, t as getGitHubConfig } from "./tracker-config-5Cabf1MU.js";
|
|
18
|
+
import { n as init_issue_service_singleton, r as issue_service_singleton_exports } from "./issue-service-singleton-DKKPneH4.js";
|
|
19
19
|
import { a as PAN_DIRNAME, i as PAN_CONTINUE_FILENAME, p as init_types } from "./types-DOjWNv3Z.js";
|
|
20
|
-
import { F as init_lifecycle, P as generateVBriefFilename, f as readTierOverrides, g as serializeVBriefDocument, h as recordTierPromotion, m as readWorkspacePlanSync, o as init_io, r as findPlan, u as readPlan } from "./io-
|
|
21
|
-
import { B as removeFavorite, E as hasOtherActiveConversationOnTmuxSession, F as markConversationEnded, G as setConversationHarness, K as setConversationModel, M as listConversations, P as markConversationActive, Q as updateConversationDeliveryMethod, S as getConversationByName, W as setConversationEffort, g as backfillConversationModel, h as archiveConversation, k as init_conversations, nt as updateLastAttached, rt as updateSpawnError, x as getConversationById, y as createConversation } from "./conversations-
|
|
22
|
-
import { n as recordFeatureRegistryLifecycle, t as init_feature_registry_population } from "./feature-registry-population-
|
|
23
|
-
import { a as requireModelOverrideSync, i as normalizeModelOverrideSync, n as init_launcher_generator, r as init_model_validation, t as generateLauncherScriptSync } from "./launcher-generator-
|
|
24
|
-
import { a as init_claude_permissions, o as resolvePermissionModeSync, r as getClaudePermissionFlagsStringSync, t as BYPASS_PERMISSION_MODE } from "./claude-permissions-
|
|
25
|
-
import { h as workspaceContextFile, l as piGlobalContextFile, o as init_layers } from "./layers-
|
|
26
|
-
import { a as init_stack_health, i as getWorkspaceStackHealth } from "./stack-health-
|
|
27
|
-
import { l as init_dag, o as getDispatchableItems } from "./dag-
|
|
28
|
-
import { n as resolveHarness, t as init_harness_resolve } from "./harness-resolve-
|
|
29
|
-
import { c as isStateMigrated, o as init_state_home } from "./state-home-
|
|
30
|
-
import { a as init_lifecycle_io, c as updatePlanStatus, s as transitionVBriefOnMain } from "./lifecycle-io-
|
|
31
|
-
import { _ as init_codex_conversation_parser, c as parseEntireConversation, d as init_pi_conversation_parser, g as parseOhmypiConversationMessages, m as init_ohmypi_conversation_parser, p as parsePiConversationMessages, t as init_conversation_service, v as parseCodexConversationMessages } from "./conversation-service-
|
|
32
|
-
import { _ as parseCodexApprovalPrompt, d as getAgentPendingQuestions$1, f as getAgentWorkspace$1, g as normalizeAwaitingInputPrompt, m as detectAwaitingInputForAgent, o as getRuntimeForAgent, p as scanPendingInputsPromise, s as computeAgentEnrichment, u as getAgentJsonlPath$1 } from "./stuck-remediation-
|
|
33
|
-
import { Q as createInFlightGuard, Rt as classifyMemoryPressure, Ut as getResourceConfig, Wt as getSystemHealthSnapshot } from "./deacon-
|
|
34
|
-
import { o as stopWorkspaceDocker, r as init_workspace_manager } from "./workspace-manager-
|
|
35
|
-
import { a as init_jsonl_parser, o as normalizeModelName } from "./jsonl-parser-
|
|
36
|
-
import { a as loadWorkspaceMetadataSync } from "./workspace-metadata-
|
|
20
|
+
import { F as init_lifecycle, P as generateVBriefFilename, f as readTierOverrides, g as serializeVBriefDocument, h as recordTierPromotion, m as readWorkspacePlanSync, o as init_io, r as findPlan, u as readPlan } from "./io-Cv9xQTks.js";
|
|
21
|
+
import { B as removeFavorite, E as hasOtherActiveConversationOnTmuxSession, F as markConversationEnded, G as setConversationHarness, K as setConversationModel, M as listConversations, P as markConversationActive, Q as updateConversationDeliveryMethod, S as getConversationByName, W as setConversationEffort, g as backfillConversationModel, h as archiveConversation, k as init_conversations, nt as updateLastAttached, rt as updateSpawnError, x as getConversationById, y as createConversation } from "./conversations-CxOWHNzv.js";
|
|
22
|
+
import { n as recordFeatureRegistryLifecycle, t as init_feature_registry_population } from "./feature-registry-population-xj-J1Wm7.js";
|
|
23
|
+
import { a as requireModelOverrideSync, i as normalizeModelOverrideSync, n as init_launcher_generator, r as init_model_validation, t as generateLauncherScriptSync } from "./launcher-generator-C-FU4PNT.js";
|
|
24
|
+
import { a as init_claude_permissions, o as resolvePermissionModeSync, r as getClaudePermissionFlagsStringSync, t as BYPASS_PERMISSION_MODE } from "./claude-permissions-CcncrTNF.js";
|
|
25
|
+
import { h as workspaceContextFile, l as piGlobalContextFile, o as init_layers } from "./layers-C-6lBDUE.js";
|
|
26
|
+
import { a as init_stack_health, i as getWorkspaceStackHealth } from "./stack-health-FtNYSTCS.js";
|
|
27
|
+
import { l as init_dag, o as getDispatchableItems } from "./dag-ClFr7Bah.js";
|
|
28
|
+
import { n as resolveHarness, t as init_harness_resolve } from "./harness-resolve-ScD6rV47.js";
|
|
29
|
+
import { c as isStateMigrated, o as init_state_home } from "./state-home-BzzKVh_C.js";
|
|
30
|
+
import { a as init_lifecycle_io, c as updatePlanStatus, s as transitionVBriefOnMain } from "./lifecycle-io-Dcu-_ktz.js";
|
|
31
|
+
import { _ as init_codex_conversation_parser, c as parseEntireConversation, d as init_pi_conversation_parser, g as parseOhmypiConversationMessages, m as init_ohmypi_conversation_parser, p as parsePiConversationMessages, t as init_conversation_service, v as parseCodexConversationMessages } from "./conversation-service-TZsQjkjT.js";
|
|
32
|
+
import { _ as parseCodexApprovalPrompt, d as getAgentPendingQuestions$1, f as getAgentWorkspace$1, g as normalizeAwaitingInputPrompt, m as detectAwaitingInputForAgent, o as getRuntimeForAgent, p as scanPendingInputsPromise, s as computeAgentEnrichment, u as getAgentJsonlPath$1 } from "./stuck-remediation-DbwhGg3g.js";
|
|
33
|
+
import { Q as createInFlightGuard, Rt as classifyMemoryPressure, Ut as getResourceConfig, Wt as getSystemHealthSnapshot } from "./deacon-D2-xTesT.js";
|
|
34
|
+
import { o as stopWorkspaceDocker, r as init_workspace_manager } from "./workspace-manager-BKiMmb0c.js";
|
|
35
|
+
import { a as init_jsonl_parser, o as normalizeModelName } from "./jsonl-parser-Bp_xCkX4.js";
|
|
36
|
+
import { a as loadWorkspaceMetadataSync } from "./workspace-metadata-Cnq0snrf.js";
|
|
37
37
|
import { basename, delimiter, dirname, join, resolve } from "node:path";
|
|
38
38
|
import { Cause, Data, Effect, Layer, Option, Schema, Stream } from "effect";
|
|
39
39
|
import { join as join$1 } from "path";
|
|
@@ -576,7 +576,7 @@ async function resolveCodexRolloutPath(agentId, opts = {}) {
|
|
|
576
576
|
const agentDir = join(opts.agentsDirOverride ?? join(getOverdeckHome(), "agents"), agentId);
|
|
577
577
|
const codexHome = join(agentDir, "codex-home");
|
|
578
578
|
if (!await pathExists$1(codexHome)) return null;
|
|
579
|
-
const { findRolloutPath, findLatestRollout } = await import("./codex-
|
|
579
|
+
const { findRolloutPath, findLatestRollout } = await import("./codex-C8OlW-dN.js");
|
|
580
580
|
const threadId = (await readOptional(join(agentDir, "codex-thread-id")))?.trim();
|
|
581
581
|
if (threadId) {
|
|
582
582
|
const rollout = findRolloutPath(codexHome, threadId);
|
|
@@ -1676,7 +1676,7 @@ const getAgentOutputRoute = HttpRouter.add("GET", "/api/agents/:id/output", http
|
|
|
1676
1676
|
} catch {}
|
|
1677
1677
|
let stdout;
|
|
1678
1678
|
if (isRemote && vmName) {
|
|
1679
|
-
const { getRemoteAgentOutput } = await import("./remote-agents-
|
|
1679
|
+
const { getRemoteAgentOutput } = await import("./remote-agents-_Z1SAaSK.js");
|
|
1680
1680
|
stdout = await getRemoteAgentOutput(id, vmName, parseInt(String(lines), 10) || 100);
|
|
1681
1681
|
} else stdout = await Effect.runPromise(capturePane(id, parseInt(String(lines), 10) || 100));
|
|
1682
1682
|
if (!stdout || stdout.trim() === "" || stdout.trim() === "Session not found") {
|
|
@@ -2097,7 +2097,7 @@ async function cleanupConversationAttachments(name) {
|
|
|
2097
2097
|
* sessions that the lifecycle poller missed. */
|
|
2098
2098
|
async function cleanupOrphanedConversationAttachments() {
|
|
2099
2099
|
try {
|
|
2100
|
-
const { listConversations } = await import("./conversations-
|
|
2100
|
+
const { listConversations } = await import("./conversations-DaF6elGK.js");
|
|
2101
2101
|
const convNames = new Set(listConversations().map((c) => c.name));
|
|
2102
2102
|
const root = getConversationAttachmentsRoot();
|
|
2103
2103
|
await runInBatches((await readdir(root, { withFileTypes: true })).filter((entry) => entry.isDirectory() && !convNames.has(entry.name)).map((entry) => join(root, entry.name)), 10, (path) => rm(path, {
|
|
@@ -2671,7 +2671,7 @@ async function spawnConversationSession(tmuxSession, cwd, claudeSessionId, model
|
|
|
2671
2671
|
const codexApprovalPolicy = codexPermMode === "full-access" ? "never" : "on-request";
|
|
2672
2672
|
const codexSandboxMode = codexPermMode === "full-access" ? "danger-full-access" : codexPermMode === "read-only" ? "read-only" : "workspace-write";
|
|
2673
2673
|
const codexApprovalsReviewer = codexPermMode === "auto-review" ? "auto_review" : void 0;
|
|
2674
|
-
const { initCodexHome, extractThreadIdFromRollout } = await import("./codex-
|
|
2674
|
+
const { initCodexHome, extractThreadIdFromRollout } = await import("./codex-C8OlW-dN.js");
|
|
2675
2675
|
initCodexHome(codexHome, {
|
|
2676
2676
|
trustedDir: cwd,
|
|
2677
2677
|
approvalPolicy: codexApprovalPolicy,
|
|
@@ -2740,7 +2740,7 @@ async function spawnConversationSession(tmuxSession, cwd, claudeSessionId, model
|
|
|
2740
2740
|
} catch {}
|
|
2741
2741
|
console.log(`[claude-invoke] purpose=conversation-session | model=${model || "default"} | source=conversations.ts:spawnConversationSession | session=${tmuxSession} | resume=${resume} | command="${runtimeCommand}"`);
|
|
2742
2742
|
try {
|
|
2743
|
-
const { preTrustDirectory } = await import("./workspace-manager-
|
|
2743
|
+
const { preTrustDirectory } = await import("./workspace-manager-DD6PDqV8.js");
|
|
2744
2744
|
preTrustDirectory(cwd);
|
|
2745
2745
|
} catch {}
|
|
2746
2746
|
try {
|
|
@@ -2757,7 +2757,7 @@ async function spawnConversationSession(tmuxSession, cwd, claudeSessionId, model
|
|
|
2757
2757
|
const codexHomeDir = codexFields.codexHome;
|
|
2758
2758
|
(async () => {
|
|
2759
2759
|
try {
|
|
2760
|
-
const { waitForCodexRollout, extractThreadIdFromRollout, writeThreadId } = await import("./codex-
|
|
2760
|
+
const { waitForCodexRollout, extractThreadIdFromRollout, writeThreadId } = await import("./codex-C8OlW-dN.js");
|
|
2761
2761
|
const rollout = await waitForCodexRollout(codexHomeDir, 12e4);
|
|
2762
2762
|
if (rollout) {
|
|
2763
2763
|
const threadId = extractThreadIdFromRollout(rollout);
|
|
@@ -3511,7 +3511,7 @@ const postInternalAgentPermissionRequestRoute = HttpRouter.add("POST", "/api/int
|
|
|
3511
3511
|
error: "missing agent id"
|
|
3512
3512
|
}, { status: 400 });
|
|
3513
3513
|
const request = yield* HttpServerRequest.HttpServerRequest;
|
|
3514
|
-
const { INTERNAL_TOKEN_HEADER, getInternalTokenSync } = yield* Effect.promise(() => import("./internal-token-
|
|
3514
|
+
const { INTERNAL_TOKEN_HEADER, getInternalTokenSync } = yield* Effect.promise(() => import("./internal-token-BOgxXMGy.js"));
|
|
3515
3515
|
const expected = getInternalTokenSync();
|
|
3516
3516
|
if (!expected) return jsonResponse({
|
|
3517
3517
|
ok: false,
|
|
@@ -3778,7 +3778,7 @@ const getAgentHealthHistoryRoute = HttpRouter.add("GET", "/api/agents/:id/health
|
|
|
3778
3778
|
const request = yield* HttpServerRequest.HttpServerRequest;
|
|
3779
3779
|
const urlOpt = HttpServerRequest.toURL(request);
|
|
3780
3780
|
const hours = Option.isSome(urlOpt) ? urlOpt.value.searchParams.get("hours") ?? "24" : "24";
|
|
3781
|
-
const { getHealthHistory } = yield* Effect.promise(() => import("./health-events-
|
|
3781
|
+
const { getHealthHistory } = yield* Effect.promise(() => import("./health-events-DbcJmYmd.js"));
|
|
3782
3782
|
const endTime = /* @__PURE__ */ new Date();
|
|
3783
3783
|
const startTime = /* @__PURE__ */ new Date(endTime.getTime() - parseInt(hours) * 60 * 60 * 1e3);
|
|
3784
3784
|
const events = getHealthHistory(id, startTime.toISOString(), endTime.toISOString());
|
|
@@ -3819,7 +3819,7 @@ function emitAgentRuntimeEvent(id, body, timestamp) {
|
|
|
3819
3819
|
detail: String(decoded.failure)
|
|
3820
3820
|
}, { status: 400 })
|
|
3821
3821
|
};
|
|
3822
|
-
const { AgentStateService } = yield* Effect.promise(() => import("./agent-state-service-
|
|
3822
|
+
const { AgentStateService } = yield* Effect.promise(() => import("./agent-state-service-CC9NMIWn.js"));
|
|
3823
3823
|
yield* (yield* AgentStateService).emit(decoded.success);
|
|
3824
3824
|
return {
|
|
3825
3825
|
ok: true,
|
|
@@ -3901,7 +3901,7 @@ const getAgentRuntimeRoute = HttpRouter.add("GET", "/api/agents/:id/runtime", ht
|
|
|
3901
3901
|
success: false,
|
|
3902
3902
|
error: "missing agent id"
|
|
3903
3903
|
}, { status: 400 });
|
|
3904
|
-
const { AgentStateService } = yield* Effect.promise(() => import("./agent-state-service-
|
|
3904
|
+
const { AgentStateService } = yield* Effect.promise(() => import("./agent-state-service-CC9NMIWn.js"));
|
|
3905
3905
|
const snapshot = yield* (yield* AgentStateService).get(id);
|
|
3906
3906
|
if (!snapshot) return jsonResponse({
|
|
3907
3907
|
success: false,
|
|
@@ -4014,8 +4014,8 @@ function createAgentStopHandler(lifecycleEvent) {
|
|
|
4014
4014
|
yield* stopAgent(id);
|
|
4015
4015
|
if (stateBeforeStop?.issueId) yield* Effect.promise(async () => {
|
|
4016
4016
|
try {
|
|
4017
|
-
const { resolveProjectFromIssueSync } = await import("./projects-
|
|
4018
|
-
const { findWorkspacePath } = await import("./archive-planning-
|
|
4017
|
+
const { resolveProjectFromIssueSync } = await import("./projects-DxMUi2eI.js");
|
|
4018
|
+
const { findWorkspacePath } = await import("./archive-planning-2w8WQaeJ.js");
|
|
4019
4019
|
const issueLower = stateBeforeStop.issueId.toLowerCase();
|
|
4020
4020
|
const workspacePath = findWorkspacePath(resolveProjectFromIssueSync(stateBeforeStop.issueId)?.projectPath ?? process.cwd(), issueLower);
|
|
4021
4021
|
if (workspacePath) {
|
|
@@ -5116,15 +5116,15 @@ init_agents$1();
|
|
|
5116
5116
|
function handleRemoteAgentSpawn(input) {
|
|
5117
5117
|
return Effect.gen(function* () {
|
|
5118
5118
|
const { issueId, workspacePath, workspaceMetadata, spawnModel, projectPath, spawnGuardrails, lifecycle } = input;
|
|
5119
|
-
const { spawnRemoteAgent, checkRemoteSpendCap } = yield* Effect.promise(() => import("./remote-agents-
|
|
5120
|
-
const { createFlyProviderFromConfig } = yield* Effect.promise(() => import("./remote-
|
|
5121
|
-
const { loadConfigSync: loadPanConfig } = yield* Effect.promise(() => import("./config-
|
|
5119
|
+
const { spawnRemoteAgent, checkRemoteSpendCap } = yield* Effect.promise(() => import("./remote-agents-_Z1SAaSK.js"));
|
|
5120
|
+
const { createFlyProviderFromConfig } = yield* Effect.promise(() => import("./remote-8HlOfuF1.js"));
|
|
5121
|
+
const { loadConfigSync: loadPanConfig } = yield* Effect.promise(() => import("./config-CQ2u44iP.js"));
|
|
5122
5122
|
const panConfig = loadPanConfig();
|
|
5123
5123
|
const spendCap = checkRemoteSpendCap(panConfig);
|
|
5124
5124
|
if (!spendCap.allowed) return jsonResponse({ error: spendCap.message }, { status: 429 });
|
|
5125
5125
|
const fly = createFlyProviderFromConfig(panConfig.remote);
|
|
5126
5126
|
yield* Effect.promise(() => fly.syncAllCredentials(workspaceMetadata.vmName));
|
|
5127
|
-
const { buildWorkAgentPrompt, getTrackerContext } = yield* Effect.promise(() => import("./work-agent-prompt-
|
|
5127
|
+
const { buildWorkAgentPrompt, getTrackerContext } = yield* Effect.promise(() => import("./work-agent-prompt-S3Fe1kpV.js"));
|
|
5128
5128
|
const trackerContext = yield* Effect.promise(() => getTrackerContext(issueId, workspacePath));
|
|
5129
5129
|
const agentPrompt = yield* Effect.promise(() => buildWorkAgentPrompt({
|
|
5130
5130
|
issueId,
|
|
@@ -5760,7 +5760,7 @@ const postAgentsRoute = HttpRouter.add("POST", "/api/agents", httpHandler(Effect
|
|
|
5760
5760
|
console.warn(`[start-agent] Failed to set plan.status=running (non-fatal): ${planStatusErr?.message ?? planStatusErr}`);
|
|
5761
5761
|
}
|
|
5762
5762
|
try {
|
|
5763
|
-
const { appendSessionEntry, getProjectConfigFromWorkspacePath, resolveProjectForIssue } = yield* Effect.promise(() => import("./record-
|
|
5763
|
+
const { appendSessionEntry, getProjectConfigFromWorkspacePath, resolveProjectForIssue } = yield* Effect.promise(() => import("./record-BeXdn9Ue.js"));
|
|
5764
5764
|
const recordProject = resolveProjectForIssue(issueId) ?? getProjectConfigFromWorkspacePath(workspacePath);
|
|
5765
5765
|
yield* Effect.promise(() => appendSessionEntry(recordProject, issueId, {
|
|
5766
5766
|
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
@@ -6146,10 +6146,10 @@ const _serverManagedMerges = /* @__PURE__ */ new Set();
|
|
|
6146
6146
|
function firePostMergeLifecycle(issueId, options) {
|
|
6147
6147
|
const started = postMergeGuard.run(issueId, async () => {
|
|
6148
6148
|
const projectPath = getProjectPathForIssue(extractPrefixSync(issueId) ?? issueId.split("-")[0]);
|
|
6149
|
-
const { postMergeLifecycle } = await import("./merge-agent-
|
|
6149
|
+
const { postMergeLifecycle } = await import("./merge-agent-D6LRIW63.js");
|
|
6150
6150
|
await postMergeLifecycle(issueId, projectPath, options?.sourceBranch, options?.verifiedMergedRef ? { verifiedMergedRef: options.verifiedMergedRef } : void 0);
|
|
6151
6151
|
console.log(`[merge] post-merge lifecycle completed for ${issueId}`);
|
|
6152
|
-
const { runMergeTrainReconcile } = await import("./merge-train-
|
|
6152
|
+
const { runMergeTrainReconcile } = await import("./merge-train-DLw2hDk0.js");
|
|
6153
6153
|
const outcomes = await runMergeTrainReconcile(issueId);
|
|
6154
6154
|
if (outcomes.length > 0) console.log(`[merge-train] reconciled ${outcomes.length} sibling(s) after ${issueId}: ` + outcomes.map((o) => `${o.issueId}=${o.result}`).join(", "));
|
|
6155
6155
|
}, (err) => console.error(`[merge] post-merge lifecycle failed for ${issueId}:`, err));
|
|
@@ -6169,15 +6169,15 @@ init_review_status();
|
|
|
6169
6169
|
init_domain_services();
|
|
6170
6170
|
init_tmux();
|
|
6171
6171
|
const getSpecialistsRoute = HttpRouter.add("GET", "/api/specialists", httpHandler(Effect.gen(function* () {
|
|
6172
|
-
const { getAllSpecialistStatus, getAllProjectSpecialistStatuses } = yield* Effect.promise(() => import("./specialists-
|
|
6172
|
+
const { getAllSpecialistStatus, getAllProjectSpecialistStatuses } = yield* Effect.promise(() => import("./specialists-Hq3EojmD.js"));
|
|
6173
6173
|
return jsonResponse({
|
|
6174
6174
|
specialists: yield* Effect.promise(() => getAllSpecialistStatus()),
|
|
6175
6175
|
projects: yield* Effect.promise(() => getAllProjectSpecialistStatuses())
|
|
6176
6176
|
});
|
|
6177
6177
|
})));
|
|
6178
6178
|
const postSpecialistsResetAllRoute = HttpRouter.add("POST", "/api/specialists/reset-all", httpHandler(Effect.gen(function* () {
|
|
6179
|
-
const { getAllSpecialists, isRunning, getTmuxSessionName } = yield* Effect.promise(() => import("./specialists-
|
|
6180
|
-
const { clearHookSync } = yield* Effect.promise(() => import("./hooks-
|
|
6179
|
+
const { getAllSpecialists, isRunning, getTmuxSessionName } = yield* Effect.promise(() => import("./specialists-Hq3EojmD.js"));
|
|
6180
|
+
const { clearHookSync } = yield* Effect.promise(() => import("./hooks-B6gaI6Kg.js"));
|
|
6181
6181
|
const specialists = getAllSpecialists();
|
|
6182
6182
|
const results = [];
|
|
6183
6183
|
for (const specialist of specialists) {
|
|
@@ -6274,7 +6274,7 @@ const postSpecialistsDoneRoute = HttpRouter.add("POST", "/api/specialists/done",
|
|
|
6274
6274
|
if (specialist === "inspect" && status === "failed") yield* Effect.promise(() => reportTieredInspectFailureEscalation(normalizedIssueId, notes));
|
|
6275
6275
|
yield* Effect.promise(async () => {
|
|
6276
6276
|
try {
|
|
6277
|
-
const { getTmuxSessionName, updateRunMetadata, makeSpecialistRegistryKey } = await import("./specialists-
|
|
6277
|
+
const { getTmuxSessionName, updateRunMetadata, makeSpecialistRegistryKey } = await import("./specialists-Hq3EojmD.js");
|
|
6278
6278
|
const projectKey = resolveProjectFromIssueSync(normalizedIssueId)?.projectKey;
|
|
6279
6279
|
const tmuxSession = projectKey ? getTmuxSessionName(`${specialist}-agent`, projectKey, normalizedIssueId) : getTmuxSessionName(`${specialist}-agent`);
|
|
6280
6280
|
saveAgentRuntimeState(tmuxSession, {
|
|
@@ -6293,7 +6293,7 @@ const postSpecialistsDoneRoute = HttpRouter.add("POST", "/api/specialists/done",
|
|
|
6293
6293
|
});
|
|
6294
6294
|
console.log(`[specialists/done] Cleared registry lock for ${registryKey} (${projectKey})`);
|
|
6295
6295
|
}
|
|
6296
|
-
const { updateSpecialistHandoffStatus } = await import("./specialist-handoff-logger-
|
|
6296
|
+
const { updateSpecialistHandoffStatus } = await import("./specialist-handoff-logger-BFH-IB0n.js");
|
|
6297
6297
|
if (await Effect.runPromise(updateSpecialistHandoffStatus(normalizedIssueId, `${specialist}-agent`, status === "passed" ? "completed" : "failed", status === "passed" ? "success" : "failure"))) console.log(`[specialists/done] Updated handoff log: ${specialist}-agent ${normalizedIssueId} → ${status}`);
|
|
6298
6298
|
} catch (err) {
|
|
6299
6299
|
console.error(`[specialists/done] Error managing specialist state:`, err);
|
|
@@ -6305,7 +6305,7 @@ const postSpecialistsDoneRoute = HttpRouter.add("POST", "/api/specialists/done",
|
|
|
6305
6305
|
if (project) {
|
|
6306
6306
|
const workspacePath = join(project.projectPath, "workspaces", `feature-${normalizedIssueId.toLowerCase()}`);
|
|
6307
6307
|
if (existsSync(workspacePath)) {
|
|
6308
|
-
const { getWorkspaceGitInfo } = await import("./git-utils-
|
|
6308
|
+
const { getWorkspaceGitInfo } = await import("./git-utils-BIEzv2Zp.js");
|
|
6309
6309
|
const { HEAD } = await Effect.runPromise(getWorkspaceGitInfo(workspacePath));
|
|
6310
6310
|
setReviewStatusSync(normalizedIssueId, { reviewedAtCommit: HEAD });
|
|
6311
6311
|
console.log(`[specialists/done] Snapshotted reviewedAtCommit=${HEAD.substring(0, 8)} for ${normalizedIssueId}`);
|
|
@@ -6317,7 +6317,7 @@ const postSpecialistsDoneRoute = HttpRouter.add("POST", "/api/specialists/done",
|
|
|
6317
6317
|
});
|
|
6318
6318
|
if (specialist === "inspect" && status === "passed") yield* Effect.promise(async () => {
|
|
6319
6319
|
try {
|
|
6320
|
-
const { onInspectComplete } = await import("./inspect-agent-
|
|
6320
|
+
const { onInspectComplete } = await import("./inspect-agent-B25IP-0O.js");
|
|
6321
6321
|
const taskId = (notes?.match(/[Bb]ead\s+(\S+)/))?.[1] || "unknown";
|
|
6322
6322
|
const project = resolveProjectFromIssueSync(normalizedIssueId);
|
|
6323
6323
|
if (project) {
|
|
@@ -6334,7 +6334,7 @@ const postSpecialistsDoneRoute = HttpRouter.add("POST", "/api/specialists/done",
|
|
|
6334
6334
|
if (project) {
|
|
6335
6335
|
if (existsSync(join(project.projectPath, "workspaces", `feature-${normalizedIssueId.toLowerCase()}`))) {
|
|
6336
6336
|
setReviewStatusSync(normalizedIssueId, { testStatus: "passed" });
|
|
6337
|
-
const { initEventStore } = await import("./event-store-
|
|
6337
|
+
const { initEventStore } = await import("./event-store-BZoXexYS.js");
|
|
6338
6338
|
await (await initEventStore()).appendAsync({
|
|
6339
6339
|
type: "test.passed",
|
|
6340
6340
|
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
@@ -6387,8 +6387,8 @@ const postSpecialistsDoneRoute = HttpRouter.add("POST", "/api/specialists/done",
|
|
|
6387
6387
|
if (notes?.toLowerCase().includes("conflict")) yield* Effect.promise(async () => {
|
|
6388
6388
|
try {
|
|
6389
6389
|
const workAgentId = `agent-${normalizedIssueId.toLowerCase()}`;
|
|
6390
|
-
const { sessionExists } = await import("./tmux-
|
|
6391
|
-
const { messageAgent, spawnAgent, getAgentStateSync } = await import("./agents-
|
|
6390
|
+
const { sessionExists } = await import("./tmux-DNaD06Gc.js");
|
|
6391
|
+
const { messageAgent, spawnAgent, getAgentStateSync } = await import("./agents-DAUyr_Z1.js");
|
|
6392
6392
|
if (await Effect.runPromise(sessionExists(workAgentId))) {
|
|
6393
6393
|
await messageAgent(workAgentId, `MERGE CONFLICT: The merge-agent could not rebase your branch onto main due to conflicts. Please fix this now:\n\n1. git fetch origin main\n2. git rebase origin/main\n3. Resolve any conflicts (git add <file> && git rebase --continue)\n4. git push --force-with-lease\n5. Resubmit: curl -s -X POST http://localhost:3011/api/review/${normalizedIssueId}/request -H "Content-Type: application/json" -d "{}"\n\nConflict details: ${notes}`);
|
|
6394
6394
|
console.log(`[specialists/done] Sent rebase instructions to ${workAgentId}`);
|
|
@@ -6402,7 +6402,7 @@ const postSpecialistsDoneRoute = HttpRouter.add("POST", "/api/specialists/done",
|
|
|
6402
6402
|
try {
|
|
6403
6403
|
const project = resolveProjectFromIssueSync(normalizedIssueId);
|
|
6404
6404
|
const workspacePath = project ? join(project.projectPath, "workspaces", `feature-${normalizedIssueId.toLowerCase()}`) : void 0;
|
|
6405
|
-
const { deliverReviewVerdictFeedback } = await import("./review-verdict-feedback-
|
|
6405
|
+
const { deliverReviewVerdictFeedback } = await import("./review-verdict-feedback-CWz9_9Kp.js");
|
|
6406
6406
|
const result = await Effect.runPromise(deliverReviewVerdictFeedback({
|
|
6407
6407
|
issueId: normalizedIssueId,
|
|
6408
6408
|
verdict: status === "failed" ? "failed" : "blocked",
|
|
@@ -6443,7 +6443,7 @@ const postSpecialistsDoneRoute = HttpRouter.add("POST", "/api/specialists/done",
|
|
|
6443
6443
|
});
|
|
6444
6444
|
})));
|
|
6445
6445
|
const postSpecialistsLogsCleanupAllRoute = HttpRouter.add("POST", "/api/specialists/logs/cleanup-all", httpHandler(Effect.gen(function* () {
|
|
6446
|
-
const { cleanupAllLogsSync } = yield* Effect.promise(() => import("./specialist-logs-
|
|
6446
|
+
const { cleanupAllLogsSync } = yield* Effect.promise(() => import("./specialist-logs-B-rldhNg.js"));
|
|
6447
6447
|
const results = cleanupAllLogsSync();
|
|
6448
6448
|
return jsonResponse({
|
|
6449
6449
|
success: true,
|
|
@@ -6453,7 +6453,7 @@ const postSpecialistsLogsCleanupAllRoute = HttpRouter.add("POST", "/api/speciali
|
|
|
6453
6453
|
});
|
|
6454
6454
|
})));
|
|
6455
6455
|
const getSpecialistsProjectsRoute = HttpRouter.add("GET", "/api/specialists/projects", httpHandler(Effect.gen(function* () {
|
|
6456
|
-
const { getAllProjectSpecialistStatuses } = yield* Effect.promise(() => import("./specialists-
|
|
6456
|
+
const { getAllProjectSpecialistStatuses } = yield* Effect.promise(() => import("./specialists-Hq3EojmD.js"));
|
|
6457
6457
|
return jsonResponse(yield* Effect.promise(() => getAllProjectSpecialistStatuses()));
|
|
6458
6458
|
})));
|
|
6459
6459
|
const postSpecialistWakeRoute = HttpRouter.add("POST", "/api/specialists/:name/wake", httpHandler(Effect.gen(function* () {
|
|
@@ -6497,7 +6497,7 @@ const postSpecialistReportStatusRoute = HttpRouter.add("POST", "/api/specialists
|
|
|
6497
6497
|
"blocked",
|
|
6498
6498
|
"failed"
|
|
6499
6499
|
].includes(status)) {
|
|
6500
|
-
const { getTmuxSessionName } = yield* Effect.promise(() => import("./specialists-
|
|
6500
|
+
const { getTmuxSessionName } = yield* Effect.promise(() => import("./specialists-Hq3EojmD.js"));
|
|
6501
6501
|
saveAgentRuntimeState(getTmuxSessionName(name), {
|
|
6502
6502
|
state: "idle",
|
|
6503
6503
|
lastActivity: (/* @__PURE__ */ new Date()).toISOString()
|
|
@@ -6618,7 +6618,7 @@ const postProjectSpecialistKillRoute = HttpRouter.add("POST", "/api/specialists/
|
|
|
6618
6618
|
const issueId = params["issueId"];
|
|
6619
6619
|
const type = params["type"];
|
|
6620
6620
|
if (!validateSpecialistAgentName(type)) return jsonResponse({ error: "Invalid specialist type. Must be review-agent, test-agent, or merge-agent" }, { status: 400 });
|
|
6621
|
-
const { getTmuxSessionName, makeSpecialistRegistryKey, getRunMetadata } = yield* Effect.promise(() => import("./specialists-
|
|
6621
|
+
const { getTmuxSessionName, makeSpecialistRegistryKey, getRunMetadata } = yield* Effect.promise(() => import("./specialists-Hq3EojmD.js"));
|
|
6622
6622
|
const tmuxSession = getRunMetadata(project, makeSpecialistRegistryKey(type, issueId)).tmuxSession ?? getTmuxSessionName(type, project, issueId);
|
|
6623
6623
|
yield* Effect.promise(() => Effect.runPromise(killSession(tmuxSession)).catch(() => {}));
|
|
6624
6624
|
saveAgentRuntimeState(tmuxSession, {
|
|
@@ -6645,7 +6645,7 @@ const getProjectSpecialistRunsRoute = HttpRouter.add("GET", "/api/specialists/:p
|
|
|
6645
6645
|
if (limitParam) limit = parseInt(limitParam, 10);
|
|
6646
6646
|
if (offsetParam) offset = parseInt(offsetParam, 10);
|
|
6647
6647
|
}
|
|
6648
|
-
const { listRunLogsSync } = yield* Effect.promise(() => import("./specialist-logs-
|
|
6648
|
+
const { listRunLogsSync } = yield* Effect.promise(() => import("./specialist-logs-B-rldhNg.js"));
|
|
6649
6649
|
return jsonResponse(listRunLogsSync(project, type, {
|
|
6650
6650
|
limit,
|
|
6651
6651
|
offset
|
|
@@ -6656,7 +6656,7 @@ const getProjectSpecialistRunStreamRoute = HttpRouter.add("GET", "/api/specialis
|
|
|
6656
6656
|
const project = params["project"];
|
|
6657
6657
|
const type = params["type"];
|
|
6658
6658
|
const runId = params["runId"];
|
|
6659
|
-
const { getRunLogPath, isRunLogActive } = yield* Effect.promise(() => import("./specialist-logs-
|
|
6659
|
+
const { getRunLogPath, isRunLogActive } = yield* Effect.promise(() => import("./specialist-logs-B-rldhNg.js"));
|
|
6660
6660
|
const logPath = getRunLogPath(project, type, runId);
|
|
6661
6661
|
if (!existsSync(logPath)) return jsonResponse({ error: "Run log not found" }, { status: 404 });
|
|
6662
6662
|
const encoder = new TextEncoder();
|
|
@@ -6715,7 +6715,7 @@ const getProjectSpecialistRunRoute = HttpRouter.add("GET", "/api/specialists/:pr
|
|
|
6715
6715
|
const project = params["project"];
|
|
6716
6716
|
const type = params["type"];
|
|
6717
6717
|
const runId = params["runId"];
|
|
6718
|
-
const { getRunLogSync, parseLogMetadata } = yield* Effect.promise(() => import("./specialist-logs-
|
|
6718
|
+
const { getRunLogSync, parseLogMetadata } = yield* Effect.promise(() => import("./specialist-logs-B-rldhNg.js"));
|
|
6719
6719
|
const content = getRunLogSync(project, type, runId);
|
|
6720
6720
|
if (!content) return jsonResponse({ error: "Run log not found" }, { status: 404 });
|
|
6721
6721
|
return jsonResponse({
|
|
@@ -6729,7 +6729,7 @@ const postProjectSpecialistRunTerminateRoute = HttpRouter.add("POST", "/api/spec
|
|
|
6729
6729
|
const project = params["project"];
|
|
6730
6730
|
const type = params["type"];
|
|
6731
6731
|
if (!validateSpecialistAgentName(type)) return jsonResponse({ error: "Invalid specialist type. Must be review-agent, test-agent, or merge-agent" }, { status: 400 });
|
|
6732
|
-
const { terminateSpecialist } = yield* Effect.promise(() => import("./specialists-
|
|
6732
|
+
const { terminateSpecialist } = yield* Effect.promise(() => import("./specialists-Hq3EojmD.js"));
|
|
6733
6733
|
yield* Effect.promise(() => terminateSpecialist(project, type));
|
|
6734
6734
|
return jsonResponse({
|
|
6735
6735
|
success: true,
|
|
@@ -6741,7 +6741,7 @@ const postProjectSpecialistGracePauseRoute = HttpRouter.add("POST", "/api/specia
|
|
|
6741
6741
|
const project = params["project"];
|
|
6742
6742
|
const type = params["type"];
|
|
6743
6743
|
if (!validateSpecialistAgentName(type)) return jsonResponse({ error: "Invalid specialist type. Must be review-agent, test-agent, or merge-agent" }, { status: 400 });
|
|
6744
|
-
const { pauseGracePeriod } = yield* Effect.promise(() => import("./specialists-
|
|
6744
|
+
const { pauseGracePeriod } = yield* Effect.promise(() => import("./specialists-Hq3EojmD.js"));
|
|
6745
6745
|
if (pauseGracePeriod(project, type)) return jsonResponse({
|
|
6746
6746
|
success: true,
|
|
6747
6747
|
message: "Grace period paused"
|
|
@@ -6753,7 +6753,7 @@ const postProjectSpecialistGraceResumeRoute = HttpRouter.add("POST", "/api/speci
|
|
|
6753
6753
|
const project = params["project"];
|
|
6754
6754
|
const type = params["type"];
|
|
6755
6755
|
if (!validateSpecialistAgentName(type)) return jsonResponse({ error: "Invalid specialist type. Must be review-agent, test-agent, or merge-agent" }, { status: 400 });
|
|
6756
|
-
const { resumeGracePeriod } = yield* Effect.promise(() => import("./specialists-
|
|
6756
|
+
const { resumeGracePeriod } = yield* Effect.promise(() => import("./specialists-Hq3EojmD.js"));
|
|
6757
6757
|
if (resumeGracePeriod(project, type)) return jsonResponse({
|
|
6758
6758
|
success: true,
|
|
6759
6759
|
message: "Grace period resumed"
|
|
@@ -6765,7 +6765,7 @@ const postProjectSpecialistGraceExitRoute = HttpRouter.add("POST", "/api/special
|
|
|
6765
6765
|
const project = params["project"];
|
|
6766
6766
|
const type = params["type"];
|
|
6767
6767
|
if (!validateSpecialistAgentName(type)) return jsonResponse({ error: "Invalid specialist type. Must be review-agent, test-agent, or merge-agent" }, { status: 400 });
|
|
6768
|
-
const { exitGracePeriod } = yield* Effect.promise(() => import("./specialists-
|
|
6768
|
+
const { exitGracePeriod } = yield* Effect.promise(() => import("./specialists-Hq3EojmD.js"));
|
|
6769
6769
|
exitGracePeriod(project, type);
|
|
6770
6770
|
return jsonResponse({
|
|
6771
6771
|
success: true,
|
|
@@ -6777,7 +6777,7 @@ const getProjectSpecialistGraceRoute = HttpRouter.add("GET", "/api/specialists/:
|
|
|
6777
6777
|
const project = params["project"];
|
|
6778
6778
|
const type = params["type"];
|
|
6779
6779
|
if (!validateSpecialistAgentName(type)) return jsonResponse({ error: "Invalid specialist type. Must be review-agent, test-agent, or merge-agent" }, { status: 400 });
|
|
6780
|
-
const { getGracePeriodState } = yield* Effect.promise(() => import("./specialists-
|
|
6780
|
+
const { getGracePeriodState } = yield* Effect.promise(() => import("./specialists-Hq3EojmD.js"));
|
|
6781
6781
|
const state = getGracePeriodState(project, type);
|
|
6782
6782
|
if (state) return jsonResponse(state);
|
|
6783
6783
|
else return jsonResponse({ error: "No active grace period" }, { status: 404 });
|
|
@@ -6786,7 +6786,7 @@ const getProjectSpecialistContextRoute = HttpRouter.add("GET", "/api/specialists
|
|
|
6786
6786
|
const params = yield* HttpRouter.params;
|
|
6787
6787
|
const project = params["project"];
|
|
6788
6788
|
const type = params["type"];
|
|
6789
|
-
const { loadContextDigest } = yield* Effect.promise(() => import("./specialist-context-
|
|
6789
|
+
const { loadContextDigest } = yield* Effect.promise(() => import("./specialist-context-DXj5Itg8.js"));
|
|
6790
6790
|
const digest = loadContextDigest(project, type);
|
|
6791
6791
|
if (digest) return jsonResponse({ digest });
|
|
6792
6792
|
else return jsonResponse({ error: "No context digest found" }, { status: 404 });
|
|
@@ -6795,7 +6795,7 @@ const postProjectSpecialistContextRegenerateRoute = HttpRouter.add("POST", "/api
|
|
|
6795
6795
|
const params = yield* HttpRouter.params;
|
|
6796
6796
|
const project = params["project"];
|
|
6797
6797
|
const type = params["type"];
|
|
6798
|
-
const { regenerateContextDigest } = yield* Effect.promise(() => import("./specialist-context-
|
|
6798
|
+
const { regenerateContextDigest } = yield* Effect.promise(() => import("./specialist-context-DXj5Itg8.js"));
|
|
6799
6799
|
const digest = yield* Effect.promise(() => regenerateContextDigest(project, type));
|
|
6800
6800
|
if (digest) return jsonResponse({
|
|
6801
6801
|
digest,
|
|
@@ -6814,7 +6814,7 @@ const postProjectSpecialistCompleteRoute = HttpRouter.add("POST", "/api/speciali
|
|
|
6814
6814
|
"blocked"
|
|
6815
6815
|
].includes(status)) return jsonResponse({ error: "Valid status (passed/failed/blocked) is required" }, { status: 400 });
|
|
6816
6816
|
if (!validateSpecialistAgentName(type)) return jsonResponse({ error: "Invalid specialist type. Must be review-agent, test-agent, or merge-agent" }, { status: 400 });
|
|
6817
|
-
const { signalSpecialistCompletion } = yield* Effect.promise(() => import("./specialists-
|
|
6817
|
+
const { signalSpecialistCompletion } = yield* Effect.promise(() => import("./specialists-Hq3EojmD.js"));
|
|
6818
6818
|
signalSpecialistCompletion(project, type, {
|
|
6819
6819
|
status,
|
|
6820
6820
|
notes
|
|
@@ -6848,8 +6848,8 @@ const postProjectSpecialistLogsCleanupRoute = HttpRouter.add("POST", "/api/speci
|
|
|
6848
6848
|
const params = yield* HttpRouter.params;
|
|
6849
6849
|
const project = params["project"];
|
|
6850
6850
|
const type = params["type"];
|
|
6851
|
-
const { cleanupOldLogsSync } = yield* Effect.promise(() => import("./specialist-logs-
|
|
6852
|
-
const { getSpecialistRetention } = yield* Effect.promise(() => import("./projects-
|
|
6851
|
+
const { cleanupOldLogsSync } = yield* Effect.promise(() => import("./specialist-logs-B-rldhNg.js"));
|
|
6852
|
+
const { getSpecialistRetention } = yield* Effect.promise(() => import("./projects-DxMUi2eI.js"));
|
|
6853
6853
|
const retention = getSpecialistRetention(project);
|
|
6854
6854
|
const deleted = cleanupOldLogsSync(project, type, {
|
|
6855
6855
|
maxDays: retention.max_days,
|
|
@@ -6870,7 +6870,7 @@ const postProjectReviewRestartRoute = HttpRouter.add("POST", "/api/specialists/:
|
|
|
6870
6870
|
const project = params["project"];
|
|
6871
6871
|
const issueId = params["issueId"];
|
|
6872
6872
|
const { model, harness } = yield* readJsonBody;
|
|
6873
|
-
const { killAllReviewerSessions } = yield* Effect.promise(() => import("./review-agent-
|
|
6873
|
+
const { killAllReviewerSessions } = yield* Effect.promise(() => import("./review-agent-CUVj54v0.js"));
|
|
6874
6874
|
const killResult = yield* killAllReviewerSessions(project, issueId);
|
|
6875
6875
|
const projectConfig = resolveProjectFromIssueSync(issueId);
|
|
6876
6876
|
if (!projectConfig) return jsonResponse({ error: `Cannot resolve project for ${issueId}` }, { status: 404 });
|
|
@@ -6884,7 +6884,7 @@ const postProjectReviewRestartRoute = HttpRouter.add("POST", "/api/specialists/:
|
|
|
6884
6884
|
}));
|
|
6885
6885
|
branch = stdout.trim() || "unknown";
|
|
6886
6886
|
} catch {}
|
|
6887
|
-
const { spawnReviewRoleForIssue } = yield* Effect.promise(() => import("./review-agent-
|
|
6887
|
+
const { spawnReviewRoleForIssue } = yield* Effect.promise(() => import("./review-agent-CUVj54v0.js"));
|
|
6888
6888
|
const prUrl = getReviewStatusSync(issueId)?.prUrl;
|
|
6889
6889
|
const result = yield* spawnReviewRoleForIssue({
|
|
6890
6890
|
issueId,
|
|
@@ -7035,4 +7035,4 @@ const specialistsRouteLayer = Layer.mergeAll(specialistsLegacyRouteLayer, specia
|
|
|
7035
7035
|
//#endregion
|
|
7036
7036
|
export { readLauncherPinnedSessionId as $, resolveAllowedHarness as A, cleanupUnreferencedConversationAttachments as B, handleConversationCreate as C, handleConversationStop as D, handleConversationResume as E, tmuxSessionExists as F, isManagedConversationAttachmentPath as G, extractConversationAttachmentPaths as H, waitForPiTuiReady as I, evaluateSpawnGuardrails as J, removeConversationAttachment as K, waitForTmuxSession as L, spawnConversationSession as M, startConversationModelBackfill as N, handleConversationSwitchModel as O, stopConversationRuntime as P, getWorkAgentLifecycleStateSync as Q, cleanupConversationAttachments as R, conversationSessionAliveFromState as S, handleConversationRestartAll as T, getConversationAttachmentsRoot as U, ensureConversationAttachmentDir as V, hasConversationAttachment as W, resolveAgentGitInfo as X, invalidateAgentsCache as Y, resolveConversationGitInfo as Z, isPiControlChannelHarness as _, agentsRouteLayer as a, isRespawnPending as at, validateConversationControlAckOrigin as b, codexConversationPendingInput as c, getTrustedOrigins as ct, handleConversationCodexApproval as d, validateOrigin as dt, resolveAgentHarness as et, handleConversationCompact as f, validateOriginHeaders as ft, handleConversationThinkingLevel as g, jsonStringResponse as gt, handleConversationPlanAction as h, jsonResponse as ht, validateSpecialistAutoCompleteMetadata as i, resolvePiSessionPath as it, shouldReportUnresolvedLiveSession as j, isInsideGitWorkTree as k, deliverConversationViaControlChannel as l, isTrustedOriginForHost as lt, handleConversationDeliveryMethod as m, getDefaultCwd as mt, _serverManagedMerges as n, resolveCodexRolloutPath as nt, saveAgentStateAndEmitEvent as o, waitForSessionRespawn as ot, handleConversationControlAck as p, httpHandler as pt, runInBatches as q, firePostMergeLifecycle as r, resolveJsonlPath as rt, saveAgentStateAndEmitEventProgram as s, getHeaderFromMap as st, specialistsRouteLayer as t, resolveClaudeSessionId as tt, handleConversationAbort as u, normalizeOrigin as ut, pickDeliverAs as v, handleConversationDelete as w, conversationNeedsRunningRepair as x, resolveConversationDeliveryMethod as y, cleanupOrphanedConversationAttachments as z };
|
|
7037
7037
|
|
|
7038
|
-
//# sourceMappingURL=specialists-
|
|
7038
|
+
//# sourceMappingURL=specialists-C6-b3YZb.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { i as validateSpecialistAutoCompleteMetadata, n as _serverManagedMerges, r as firePostMergeLifecycle, t as specialistsRouteLayer } from "./specialists-
|
|
1
|
+
import { i as validateSpecialistAutoCompleteMetadata, n as _serverManagedMerges, r as firePostMergeLifecycle, t as specialistsRouteLayer } from "./specialists-C6-b3YZb.js";
|
|
2
2
|
export { _serverManagedMerges, specialistsRouteLayer as default, specialistsRouteLayer, firePostMergeLifecycle, validateSpecialistAutoCompleteMetadata };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { n as __esmMin, r as __exportAll } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import { Cr as AGENTS_DIR, Mr as OVERDECK_HOME, Yr as init_paths } from "./config-yaml-
|
|
3
|
-
import { D as listPaneValues, R as sessionExists, S as init_tmux, T as killSession } from "./tmux-
|
|
4
|
-
import { a as readCavemanVariant, n as init_workspace } from "./workspace-
|
|
5
|
-
import { n as resolveHarness, t as init_harness_resolve } from "./harness-resolve-
|
|
6
|
-
import { a as init_jsonl_parser, n as getAllSessionFilesSync, s as parseClaudeSessionSync } from "./jsonl-parser-
|
|
2
|
+
import { Cr as AGENTS_DIR, Mr as OVERDECK_HOME, Yr as init_paths } from "./config-yaml-BQs6GbD_.js";
|
|
3
|
+
import { D as listPaneValues, R as sessionExists, S as init_tmux, T as killSession } from "./tmux-C3X2XmV0.js";
|
|
4
|
+
import { a as readCavemanVariant, n as init_workspace } from "./workspace-BhUnCpcq.js";
|
|
5
|
+
import { n as resolveHarness, t as init_harness_resolve } from "./harness-resolve-ScD6rV47.js";
|
|
6
|
+
import { a as init_jsonl_parser, n as getAllSessionFilesSync, s as parseClaudeSessionSync } from "./jsonl-parser-Bp_xCkX4.js";
|
|
7
7
|
import { Effect } from "effect";
|
|
8
8
|
import { appendFileSync, existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
|
|
9
9
|
import { basename, join } from "path";
|
|
@@ -89,7 +89,7 @@ function roleForSpecialistModel(specialistType) {
|
|
|
89
89
|
return { role: "work" };
|
|
90
90
|
}
|
|
91
91
|
async function buildSpecialistBaseCommand(specialistType, model, sessionName) {
|
|
92
|
-
const { getAgentRuntimeBaseCommand } = await import("./agents-
|
|
92
|
+
const { getAgentRuntimeBaseCommand } = await import("./agents-DAUyr_Z1.js");
|
|
93
93
|
const role = roleForSpecialistModel(specialistType).role;
|
|
94
94
|
const harness = await resolveHarness({
|
|
95
95
|
model,
|
|
@@ -488,7 +488,7 @@ async function signalSpecialistCompletion(projectKey, specialistType, result, is
|
|
|
488
488
|
const resolvedTmuxSession = metadata.tmuxSession ?? getTmuxSessionName(specialistType, projectKey, issueId);
|
|
489
489
|
updateRunStatus(projectKey, registryKey, result.status);
|
|
490
490
|
if (metadata.currentRun) try {
|
|
491
|
-
const { finalizeRunLogSync } = await import("./specialist-logs-
|
|
491
|
+
const { finalizeRunLogSync } = await import("./specialist-logs-B-rldhNg.js");
|
|
492
492
|
finalizeRunLogSync(projectKey, specialistType, metadata.currentRun, {
|
|
493
493
|
status: result.status,
|
|
494
494
|
notes: result.notes
|
|
@@ -498,7 +498,7 @@ async function signalSpecialistCompletion(projectKey, specialistType, result, is
|
|
|
498
498
|
}
|
|
499
499
|
setCurrentRun(projectKey, registryKey, null);
|
|
500
500
|
updateRunMetadata(projectKey, registryKey, { currentActivity: null });
|
|
501
|
-
import("./agents-
|
|
501
|
+
import("./agents-DAUyr_Z1.js").then(({ saveAgentRuntimeState }) => {
|
|
502
502
|
saveAgentRuntimeState(resolvedTmuxSession, {
|
|
503
503
|
state: "idle",
|
|
504
504
|
lastActivity: (/* @__PURE__ */ new Date()).toISOString(),
|
|
@@ -529,7 +529,7 @@ async function terminateSpecialist(projectKey, specialistType, issueId) {
|
|
|
529
529
|
console.error(`[specialist] Failed to kill tmux session ${tmuxSession}:`, error);
|
|
530
530
|
}
|
|
531
531
|
if (metadata.currentRun) {
|
|
532
|
-
const { finalizeRunLogSync } = await import("./specialist-logs-
|
|
532
|
+
const { finalizeRunLogSync } = await import("./specialist-logs-B-rldhNg.js");
|
|
533
533
|
try {
|
|
534
534
|
finalizeRunLogSync(projectKey, specialistType, metadata.currentRun, {
|
|
535
535
|
status: metadata.lastRunStatus || "incomplete",
|
|
@@ -543,12 +543,12 @@ async function terminateSpecialist(projectKey, specialistType, issueId) {
|
|
|
543
543
|
updateRunMetadata(projectKey, registryKey, { currentActivity: null });
|
|
544
544
|
const key = `${projectKey}-${specialistType}`;
|
|
545
545
|
gracePeriodStates.delete(key);
|
|
546
|
-
const { saveAgentRuntimeState } = await import("./agents-
|
|
546
|
+
const { saveAgentRuntimeState } = await import("./agents-DAUyr_Z1.js");
|
|
547
547
|
saveAgentRuntimeState(tmuxSession, {
|
|
548
548
|
state: "suspended",
|
|
549
549
|
lastActivity: (/* @__PURE__ */ new Date()).toISOString()
|
|
550
550
|
});
|
|
551
|
-
const { scheduleDigestGeneration } = await import("./specialist-context-
|
|
551
|
+
const { scheduleDigestGeneration } = await import("./specialist-context-DXj5Itg8.js");
|
|
552
552
|
scheduleDigestGeneration(projectKey, specialistType);
|
|
553
553
|
scheduleLogCleanup(projectKey, specialistType);
|
|
554
554
|
}
|
|
@@ -561,8 +561,8 @@ async function terminateSpecialist(projectKey, specialistType, issueId) {
|
|
|
561
561
|
function scheduleLogCleanup(projectKey, specialistType) {
|
|
562
562
|
Promise.resolve().then(async () => {
|
|
563
563
|
try {
|
|
564
|
-
const { cleanupOldLogsSync } = await import("./specialist-logs-
|
|
565
|
-
const { getSpecialistRetention } = await import("./projects-
|
|
564
|
+
const { cleanupOldLogsSync } = await import("./specialist-logs-B-rldhNg.js");
|
|
565
|
+
const { getSpecialistRetention } = await import("./projects-DxMUi2eI.js");
|
|
566
566
|
const retention = getSpecialistRetention(projectKey);
|
|
567
567
|
const deleted = cleanupOldLogsSync(projectKey, specialistType, {
|
|
568
568
|
maxDays: retention.max_days,
|
|
@@ -716,7 +716,7 @@ function listSpecialistsForProject(projectKey) {
|
|
|
716
716
|
*/
|
|
717
717
|
async function getAllProjectSpecialistStatuses() {
|
|
718
718
|
const registry = loadRegistry();
|
|
719
|
-
const { getAgentRuntimeStateSync } = await import("./agents-
|
|
719
|
+
const { getAgentRuntimeStateSync } = await import("./agents-DAUyr_Z1.js");
|
|
720
720
|
const results = [];
|
|
721
721
|
for (const [projectKey, specialists] of Object.entries(registry.projects)) for (const [registryKey, metadata] of Object.entries(specialists)) {
|
|
722
722
|
const { specialistType, issueId, role } = parseSpecialistRegistryKey(registryKey);
|
|
@@ -853,7 +853,7 @@ async function getSpecialistStatus(name, projectKey) {
|
|
|
853
853
|
const sessionId = readRecordedClaudeSessionId(getTmuxSessionName(name, projectKey));
|
|
854
854
|
const running = await isRunning(name, projectKey);
|
|
855
855
|
const contextTokens = countContextTokens(name);
|
|
856
|
-
const { getAgentRuntimeStateSync } = await import("./agents-
|
|
856
|
+
const { getAgentRuntimeStateSync } = await import("./agents-DAUyr_Z1.js");
|
|
857
857
|
const runtimeState = getAgentRuntimeStateSync(getTmuxSessionName(name, projectKey));
|
|
858
858
|
let state;
|
|
859
859
|
if (runtimeState) switch (runtimeState.state) {
|
|
@@ -933,7 +933,7 @@ async function sendFeedbackToAgent(feedback) {
|
|
|
933
933
|
}
|
|
934
934
|
const agentSession = `agent-${toIssueId.toLowerCase()}`;
|
|
935
935
|
const feedbackMessage = formatFeedbackForAgent(fullFeedback);
|
|
936
|
-
const { writeFeedbackFile } = await import("./feedback-writer-
|
|
936
|
+
const { writeFeedbackFile } = await import("./feedback-writer-BtaoJGl2.js");
|
|
937
937
|
const specialist = {
|
|
938
938
|
"review-agent": "review-agent",
|
|
939
939
|
"test-agent": "test-agent",
|
|
@@ -952,7 +952,7 @@ async function sendFeedbackToAgent(feedback) {
|
|
|
952
952
|
return false;
|
|
953
953
|
}
|
|
954
954
|
try {
|
|
955
|
-
const { messageAgent } = await import("./agents-
|
|
955
|
+
const { messageAgent } = await import("./agents-DAUyr_Z1.js");
|
|
956
956
|
await messageAgent(agentSession, `SPECIALIST FEEDBACK: ${fromSpecialist} reported ${feedback.feedbackType.toUpperCase()} for ${toIssueId}.\n\nMUST READ: ${fileResult.filePath}\n\nUse your Read tool to open this file, read every line, then address the feedback and continue working. Do NOT stop at the prompt.`);
|
|
957
957
|
console.log(`[specialist] Sent feedback from ${fromSpecialist} to ${agentSession} (file: ${fileResult.filePath})`);
|
|
958
958
|
return true;
|
|
@@ -1071,4 +1071,4 @@ var init_specialists = __esmMin((() => {
|
|
|
1071
1071
|
//#endregion
|
|
1072
1072
|
export { updateRunMetadata as $, isEnabled as A, pauseGracePeriod as B, getSpecialistState as C, initSpecialistsDirectory as D, incrementProjectRunCount as E, listSpecialistsForProject as F, sendFeedbackToAgent as G, recordWake as H, loadRegistry as I, specialists_exports as J, setCurrentRun as K, makeSpecialistRegistryKey as L, isProjectSpecialistActivelyRunning as M, isRunning as N, init_specialists as O, listProjectsWithSpecialists as P, updateProjectSpecialistMetadata as Q, parseReviewerSessionName as R, getSpecialistMetadata as S, getTmuxSessionName as T, resumeGracePeriod as U, pruneSpecialistRegistryEntriesForIssue as V, saveRegistry as W, terminateSpecialist as X, startGracePeriod as Y, updateContextTokens as Z, getPendingFeedback as _, disableSpecialist as a, getReviewerSessionName as b, exitGracePeriod as c, getAllProjectSpecialistStatuses as d, updateRunStatus as et, getAllSpecialistStatus as f, getGracePeriodState as g, getFeedbackStats as h, countContextTokens as i, isInitialized as j, initializeEnabledSpecialists as k, findActiveRegistryKey as l, getEnabledSpecialists as m, buildSpecialistBaseCommand as n, enableSpecialist as o, getAllSpecialists as p, signalSpecialistCompletion as q, buildSpecialistCavemanExports as r, ensureProjectSpecialistDir as s, REVIEWER_ROLES as t, updateSpecialistMetadata as tt, findSessionFile as u, getProjectSpecialistDir as v, getSpecialistStatus as w, getRunMetadata as x, getProjectSpecialistMetadata as y, parseSpecialistRegistryKey as z };
|
|
1073
1073
|
|
|
1074
|
-
//# sourceMappingURL=specialists-
|
|
1074
|
+
//# sourceMappingURL=specialists-Dp8ABxVh.js.map
|