@overdeck/desktop 0.45.21 → 0.45.22
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-CJIFA8Vg.js → acceptance-criteria-BH7ac_1G.js} +2 -2
- package/server/{advancing-selfheal-CPOBO5ZS.js → advancing-selfheal-cSvXNZLZ.js} +6 -6
- package/server/{agent-gc-D6PUckBB.js → agent-gc-Dj2gncak.js} +4 -4
- package/server/{agent-state-BV_6RHnO.js → agent-state-Co5Sy2Fw.js} +1 -1
- package/server/{agent-state-service-DHwemt96.js → agent-state-service-CsQ07Pxe.js} +1 -1
- package/server/{agent-state-service-6MFQqnFy.js → agent-state-service-DistflNn.js} +5 -5
- package/server/{agents-DbrHWunF.js → agents-DXdHmRTC.js} +4 -4
- package/server/{agents-Czz6R57Z.js → agents-DyHKlq1I.js} +1 -1
- package/server/{archive-planning-BOnwJq8M.js → archive-planning-BvDuWNMo.js} +5 -5
- package/server/{archive-planning-MPpvQJL4.js → archive-planning-Cp_DC1j-.js} +1 -1
- package/server/{artifact-index-jobs-BOoySTKD.js → artifact-index-jobs-CDBFL4OU.js} +2 -2
- package/server/{backlog-auto-trigger-BUaFI44J.js → backlog-auto-trigger-DmA1IbYf.js} +3 -3
- package/server/{behavior-Dg-D8eBG.js → behavior-CGj16clS.js} +2 -2
- package/server/{briefing-freshness-OouGbJ7d.js → briefing-freshness-C12WgkaB.js} +2 -2
- package/server/{build-info-Cv6CI7Gu.js → build-info-BRpqQvNd.js} +1 -1
- package/server/{build-info-27NlbKhV.js → build-info-NU3KbXYw.js} +3 -3
- package/server/{checkpoint-manager-D64fCC4p.js → checkpoint-manager-CTPjAmtH.js} +2 -2
- package/server/{checkpoint-manager-C7mFCY_E.js → checkpoint-manager-rOgT98WY.js} +1 -1
- package/server/checkpoint-worker.js +1 -1
- package/server/{checkpoints-DwZqT2qQ.js → checkpoints-B5jFNi2G.js} +1 -1
- package/server/{checkpoints-Vh-J15ge.js → checkpoints-BJum14fs.js} +2 -2
- package/server/{claude-hooks-provision-CS5W_dhI.js → claude-hooks-provision-BhwWK-TQ.js} +1 -1
- package/server/{claude-hooks-provision-BVLGfHrv.js → claude-hooks-provision-D7p5WcKZ.js} +2 -2
- package/server/{claude-permissions-C2OrLYKL.js → claude-permissions-nSFKH78M.js} +2 -2
- package/server/{claude-settings-overlay-DX-fMFpC.js → claude-settings-overlay-BI_UIke0.js} +2 -2
- package/server/{claude-settings-overlay-DWXjafJh.js → claude-settings-overlay-DHBwjS1X.js} +1 -1
- package/server/cli-BRORS9qY.js +3 -0
- package/server/{cli-mvpEOb3w.js → cli-CbKNkFE5.js} +9 -9
- package/server/{cliproxy-Dvsr4ZkW.js → cliproxy-Brf_5MuG.js} +2 -2
- package/server/{cliproxy-7g1nObvB.js → cliproxy-bONZDBbC.js} +1 -1
- package/server/{close-issue-8F6uawYj.js → close-issue-CxReRxIc.js} +5 -5
- package/server/{closed-issue-reaper-BaYQYF6w.js → closed-issue-reaper-CQ3kqha7.js} +9 -9
- package/server/{closed-issue-reaper-BhV-r-tC.js → closed-issue-reaper-DXP2Xyv3.js} +1 -1
- package/server/{codex-D_UBEOwL.js → codex-CbmztVcc.js} +9 -6
- package/server/{codex-BBeZ8c3s.js → codex-DNyiQDKW.js} +1 -1
- package/server/{codex-parser-BTzlOZiV.js → codex-parser-jl8AeAmB.js} +2 -2
- package/server/{config-nAB_F-Gp.js → config-BJKocXKd.js} +1 -1
- package/server/{config-G1TOMJZA.js → config-DeTsoZdR.js} +2 -2
- package/server/{config-CrduXs4a.js → config-q4Gvd8dq.js} +2 -2
- package/server/{config-yaml-Ciyp2mYe.js → config-yaml-ig8Nwtiw.js} +124 -27
- package/server/{conflict-gate-BLUNMs1i.js → conflict-gate-CFqPVxEg.js} +3 -3
- package/server/{conflict-gate-BKalpcjL.js → conflict-gate-CHU9K1vU.js} +1 -1
- package/server/{context-layers-Cg9ZgVfx.js → context-layers-15gDOk20.js} +3 -3
- package/server/{context-layers-YNpf6Q_I.js → context-layers-DlQKkHH2.js} +2 -2
- package/server/{control-settings-D_79A6gp.js → control-settings-D_odMIaC.js} +4 -4
- package/server/{conversation-compaction-DiuZbIUB.js → conversation-compaction-B6YSRLda.js} +8 -8
- package/server/{conversation-compaction-CMIeWW4_.js → conversation-compaction-CN4-5YYt.js} +1 -1
- package/server/{conversation-service-DQybSPUK.js → conversation-service-C3avRVEr.js} +6 -6
- package/server/{conversation-service-CWk8mEym.js → conversation-service-Dq33SYEj.js} +1 -1
- package/server/{conversations-BJ-t3BRm.js → conversations-H9if0bCQ.js} +1 -1
- package/server/{conversations-BUgGvqVL.js → conversations-bYpM9-kZ.js} +4 -4
- package/server/{cost-Drm7qeD5.js → cost-Codk1pc2.js} +2 -2
- package/server/{cost-sync-DzHP6zaR.js → cost-sync-D_cre6WM.js} +3 -3
- package/server/{cost-jJ2cgDcG.js → cost-wH46-WsJ.js} +3 -3
- package/server/{dag-DIji6O2b.js → dag-CJpgf9A3.js} +2 -2
- package/server/{dangerous-git-ops-BebB-61h.js → dangerous-git-ops-D6AF-Hg_.js} +1 -1
- package/server/dashboard-db-worker.js +7 -7
- package/server/{deacon-pleYrvIm.js → deacon-B8HbQdqU.js} +3 -3
- package/server/{deacon-1s7bM5zn.js → deacon-CkT_kznS.js} +1377 -407
- package/server/{deacon-nudge-log-C5VCKtyi.js → deacon-nudge-log-D6K9K-rE.js} +3 -3
- package/server/{deacon-swarm-DmA3rJ7k.js → deacon-swarm-BryRr6AO.js} +13 -13
- package/server/deacon-swarm-CV54eNmU.js +2 -0
- package/server/deacon.js +8 -8
- package/server/{deploy-patrol-DmM6F-yw.js → deploy-patrol-1IrZxicY.js} +6 -6
- package/server/{deploy-window-ClLq1RYf.js → deploy-window-7ZYHh7Zp.js} +1 -1
- package/server/{deploy-window-jw4S_Y-c.js → deploy-window-wDf4UgHt.js} +6 -6
- package/server/{dev-supervisor-Do2Stz49.js → dev-supervisor-C7p9kEpc.js} +2 -2
- package/server/{devcontainer-renderer-D8ylupco.js → devcontainer-renderer-CNmQy0pL.js} +3 -3
- package/server/{dist-yfR7G1BL.js → dist-D-Ed5yVw.js} +1 -1
- package/server/dist-j64RzSrQ.js +3 -0
- package/server/{docker-ClwPQaba.js → docker-BCZ89M9X.js} +2 -2
- package/server/{dod-BLphkhjs.js → dod-DbJLYcHv.js} +1 -1
- package/server/{ensure-devcontainer-BA3bICoY.js → ensure-devcontainer-Cs6W9Yzj.js} +1 -1
- package/server/{ensure-devcontainer-CFpQatOc.js → ensure-devcontainer-V5JWaAva.js} +4 -4
- package/server/{esm-shims-BZw-fTQ6.js → esm-shims-dTeNdq7X.js} +1 -1
- package/server/{event-store-DABarGNz.js → event-store-CpBGsO6_.js} +1 -1
- package/server/{event-store-BVnON3vf.js → event-store-TnWdydfB.js} +3 -3
- package/server/{events-CmERlnwn.js → events-DSUdR-04.js} +3 -3
- package/server/{events-LGeUehYW.js → events-Dsuv6qyB.js} +1 -1
- package/server/{factory-CQNprtHe.js → factory-BMrK4TrE.js} +4 -4
- package/server/{feature-registry-population-D9Z3tYSa.js → feature-registry-population-B-CI9hgE.js} +4 -4
- package/server/{feature-registry-storage-BWymOgXE.js → feature-registry-storage-B972ph_A.js} +2 -2
- package/server/{features--fOza5g5.js → features-Bc-Bmiye.js} +2 -2
- package/server/{feedback-target-Dn9vfPpz.js → feedback-target-DS6NUuSs.js} +1 -1
- package/server/{feedback-target-Dqik2WTe.js → feedback-target-DZ-iAnAa.js} +7 -7
- package/server/{feedback-writer-Wlq5-qgS.js → feedback-writer-BXP6g75N.js} +4 -4
- package/server/{feedback-writer-DDQNV8uc.js → feedback-writer-Bx5z11mF.js} +1 -1
- package/server/{flywheel-DPUc8r3V.js → flywheel-6WHU4O7A.js} +14 -14
- package/server/{flywheel-1Wd8WDlh.js → flywheel-COR0mbRI.js} +12 -12
- package/server/{flywheel-Q-38YhZG.js → flywheel-Ctr5uuvo.js} +1 -1
- package/server/{flywheel-merge-order-CeBuX0EJ.js → flywheel-merge-order-CNKAY489.js} +1 -1
- package/server/{flywheel-merge-order-4SqOXFAr.js → flywheel-merge-order-CTgHeg-W.js} +7 -7
- package/server/forge-B0_opi-V.js +2 -0
- package/server/{forge-DBbDpiYc.js → forge-B1S_KZv4.js} +2 -2
- package/server/{from-hh6vTBGl.js → from-DpwQ-sc3.js} +1 -1
- package/server/{fts-db-6ponMie2.js → fts-db-DmAcuCkV.js} +2 -2
- package/server/{fts-operations-KIRK165y.js → fts-operations-7d_RkmWp.js} +2 -2
- package/server/git-utils-Cc3FHDKd.js +198 -0
- package/server/{git-utils-DmF5xkj8.js → git-utils-CsKGnzFA.js} +1 -1
- package/server/{github-app-B3yfECo8.js → github-app-CDPtGF7J.js} +2 -2
- package/server/{github-app-CeSVFL6C.js → github-app-CU14oYzP.js} +1 -1
- package/server/{github-client-4A6FgA8O.js → github-client-CwBZZ3t7.js} +1 -1
- package/server/{github-client-Dslipypz.js → github-client-XjTJbBm7.js} +2 -2
- package/server/{github-pr-lookup-DBP0YHMr.js → github-pr-lookup-CFGeVhqv.js} +2 -2
- package/server/harness-binary-B2CTcD84.js +106 -0
- package/server/{harness-resolve-BGpO-OVM.js → harness-resolve-D5FVQTmy.js} +9 -15
- package/server/{health-events-CnwV_SSz.js → health-events-C1whmd58.js} +1 -1
- package/server/{health-events-CZGZ5I-A.js → health-events-DREeevle.js} +2 -2
- package/server/{hooks-DvX33gY_.js → hooks-B-HItBiS.js} +1 -1
- package/server/{hooks-CoNscX84.js → hooks-yxRsjk-z.js} +2 -2
- package/server/hume-BmhvfVbV.js +3 -0
- package/server/{hume-DSJt5eA_.js → hume-Dz_OymXE.js} +2 -2
- package/server/{idle-stack-reaper-5DVRoY6P.js → idle-stack-reaper-DrCv0OAG.js} +1 -1
- package/server/{idle-stack-reaper-BfL8HqYy.js → idle-stack-reaper-Yf34xXxY.js} +2 -2
- package/server/{in-flight-guard-tVGiI5ee.js → in-flight-guard-BoWm66Kh.js} +2 -2
- package/server/{infra-DN2wSxle.js → infra-D4iNWMA5.js} +4 -4
- package/server/{injection-DK9zh_HL.js → injection-BVNa4MQW.js} +1 -1
- package/server/{injection-DtlT8Akv.js → injection-D7T75Pye.js} +7 -7
- package/server/{inspect-agent-DKByUS_F.js → inspect-agent-BXCgNeZ4.js} +13 -9
- package/server/inspect-agent-Dq0z1k3H.js +2 -0
- package/server/{internal-token-7bYL5v6K.js → internal-token-C9DdEOKY.js} +1 -1
- package/server/{internal-token-DhfFiwW7.js → internal-token-CXsfxslp.js} +2 -2
- package/server/{io-BiM-7Zsx.js → io-DQR9PMgS.js} +3 -3
- package/server/{issue-closed-Dfw3QDyZ.js → issue-closed-DtmJM0D0.js} +7 -7
- package/server/{issue-lifecycle-ytsEdDlK.js → issue-lifecycle-8PSS9Anq.js} +1 -1
- package/server/{issue-lifecycle-B7HZWnTA.js → issue-lifecycle-CeyW_HoD.js} +21 -21
- package/server/{issue-service-singleton-D5EB5eYr.js → issue-service-singleton-DBZabEl7.js} +1 -1
- package/server/{issue-service-singleton-CPESc4Or.js → issue-service-singleton-D_RVYBuL.js} +8 -8
- package/server/{issues-XYtFMxrH.js → issues-pDW9VUNz.js} +2 -2
- package/server/{jsonl-parser-DJV2eZUP.js → jsonl-parser-C3HVNR5d.js} +3 -3
- package/server/{label-cleanup-CJ4m8iRU.js → label-cleanup-DPwiZlWo.js} +3 -3
- package/server/{label-reconciler-CNf3Ylm3.js → label-reconciler-Df1ZduPH.js} +4 -4
- package/server/{launcher-generator-5DJRiovn.js → launcher-generator-COgR2By1.js} +6 -6
- package/server/{layers-cZx7ibtV.js → layers-Cp1To4L8.js} +2 -2
- package/server/{lifecycle-CE7619Xw.js → lifecycle-CtPDcZ9u.js} +6 -6
- package/server/{lifecycle-io-CUpsxG0p.js → lifecycle-io-DmY2qwCn.js} +1 -1
- package/server/{lifecycle-io-DMurK4oM.js → lifecycle-io-taIb0PoH.js} +4 -4
- package/server/{linear-client-BLyN-NiP.js → linear-client-DsFkIxee.js} +2 -2
- package/server/{linear-client-Bj1l4FOA.js → linear-client-YwZMDIwQ.js} +1 -1
- package/server/memory-fts-worker.js +1 -1
- package/server/{merge-CwX2_AWm.js → merge-BwsyNRJV.js} +1 -1
- package/server/{merge-hSC2BENe.js → merge-C1t-bspg.js} +3 -3
- package/server/{merge-agent-CnORPiri.js → merge-agent-B-SnXOoc.js} +1 -1
- package/server/{merge-agent-DnBsms_V.js → merge-agent-DDiIjzk-.js} +369 -213
- package/server/{merge-batch-C2w2U2eK.js → merge-batch-Byt-QnEl.js} +1 -1
- package/server/{merge-blockers-DhRgh76x.js → merge-blockers-BYjeXrVN.js} +2 -2
- package/server/merge-ops-DwWCkSgo.js +2 -0
- package/server/{merge-rebase-CE-ZyOMY.js → merge-rebase-Cm6fXaZN.js} +2 -2
- package/server/{merge-set-DHkzPCJU.js → merge-set-6LEglm6o.js} +1 -1
- package/server/{merge-set-D7YNU1ZB.js → merge-set-DiISXcC-.js} +3 -3
- package/server/{merge-sync-CpGA9Kg7.js → merge-sync-B95_4in_.js} +1 -1
- package/server/{merge-sync-De1FYva5.js → merge-sync-Do8_q32h.js} +2 -2
- package/server/{merge-train-SvkRJZ-k.js → merge-train-CKana8EH.js} +3 -3
- package/server/{merge-train-deps-CECJTElu.js → merge-train-deps-BgmqwIfA.js} +4 -4
- package/server/{merge-verification-B3meGcXF.js → merge-verification-CqnUzGEK.js} +4 -4
- package/server/{multipart-parser-ByTMgYV5.js → multipart-parser-tdOQDJ3o.js} +2 -2
- package/server/{no-resume-mode-BnInAFKs.js → no-resume-mode-BWOSZjWd.js} +1 -1
- package/server/node_modules/.package-lock.json +5 -5
- package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/README.md +3 -3
- package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeChildProcessSpawner.d.ts.map +1 -1
- package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeChildProcessSpawner.js +2 -2
- package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeChildProcessSpawner.js.map +1 -1
- package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/package.json +5 -5
- package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/src/NodeChildProcessSpawner.ts +6 -8
- package/server/{orphan-proposed-reconciler-CAfuWTA1.js → orphan-proposed-reconciler-DSvsJ5M7.js} +1 -1
- package/server/{orphan-proposed-reconciler-AxAGUouN.js → orphan-proposed-reconciler-xklgvNA7.js} +19 -12
- package/server/package-lock.json +6 -6
- package/server/package.json +1 -1
- package/server/{pan-dir-Rw17YjT1.js → pan-dir-DOcf6ug3.js} +4 -4
- package/server/{paths-FP8v3lTz.js → paths-DooHpt9p.js} +2 -2
- package/server/{pickup-xi3KTLaJ.js → pickup-CaskQ7j6.js} +2 -2
- package/server/{pipeline-membership-BtKMNY7v.js → pipeline-membership-1LGRjo-k.js} +11 -8
- package/server/{pipeline-notifier-BM2HLF7B.js → pipeline-notifier-B6FVsYF9.js} +2 -2
- package/server/{pipeline-notifier-dQ-U4NSb.js → pipeline-notifier-CZsrU_nj.js} +1 -1
- package/server/{project-pipelines-B59NfN44.js → project-pipelines-CtNG_rvs.js} +2 -2
- package/server/projects-BKkwpH6q.js +3 -0
- package/server/{prompts-CbqaVjbe.js → prompts-EvhMeeHG.js} +2 -2
- package/server/{providers-d3pwXGVE.js → providers-BDDPULlp.js} +7 -7
- package/server/providers-DNSQqy2V.js +3 -0
- package/server/public/assets/{chunk-BO2N2NFS-BxYSL7J-.js → chunk-BO2N2NFS-sym_ufXe.js} +4 -4
- package/server/public/assets/{diagram-OG6HWLK6-C_F9Q2as.js → diagram-OG6HWLK6-CQJPBNBu.js} +1 -1
- package/server/public/assets/{dist-DQNg4CiF.js → dist-Bio7THQU.js} +1 -1
- package/server/public/assets/{dist-CLSlc6cV.js → dist-DukGS2YZ.js} +3 -3
- package/server/public/assets/{ganttDiagram-6RSMTGT7-Cq0my-0C.js → ganttDiagram-6RSMTGT7-D4lWwte3.js} +1 -1
- package/server/public/assets/{highlighted-body-OFNGDK62-eZC03dGh.js → highlighted-body-OFNGDK62-CaLboCt5.js} +1 -1
- package/server/public/assets/{index-C6NLz_1S.css → index-Bdc4V9ba.css} +1 -1
- package/server/public/assets/{index-SLYGA8AQ.js → index-Bwejq-5s.js} +147 -145
- package/server/public/assets/{linear-6Fi3qnGg.js → linear-qUWmMZ-c.js} +1 -1
- package/server/public/assets/mermaid-GHXKKRXX-B5v_r7cI.js +1 -0
- package/server/public/assets/{pieDiagram-4H26LBE5-Dpmc6xsv.js → pieDiagram-4H26LBE5-C4zYulEm.js} +1 -1
- package/server/public/assets/{prod-ojHllFvN.js → prod-C8VtLuWC.js} +4 -4
- package/server/public/assets/{quadrantDiagram-W4KKPZXB-Ulr9gON5.js → quadrantDiagram-W4KKPZXB-qP04zyZC.js} +1 -1
- package/server/public/assets/{sankeyDiagram-5OEKKPKP-CwdHGXfL.js → sankeyDiagram-5OEKKPKP-eMPTX_cG.js} +1 -1
- package/server/public/assets/{xychartDiagram-2RQKCTM6-r-bEDzJh.js → xychartDiagram-2RQKCTM6-Dme1PIt6.js} +1 -1
- package/server/public/index.html +54 -10
- package/server/{pull-requests-CjjPj7v6.js → pull-requests-8z2N1UOV.js} +3 -3
- package/server/{pull-requests-D3N6HQzI.js → pull-requests-By_BteaL.js} +1 -1
- package/server/{queries-B5hl7lMQ.js → queries-ZABd5aXP.js} +95 -71
- package/server/rally-OSJXdiHK.js +3 -0
- package/server/{rally-api-DGaFz5L5.js → rally-api-DqKqIMNR.js} +2 -2
- package/server/{rally-api-CKr0O4DJ.js → rally-api-xHazRk0d.js} +1 -1
- package/server/{rally-client-Cqf6EX_r.js → rally-client-CGWEHaPd.js} +1 -1
- package/server/{rally-client-SVbjGvqj.js → rally-client-COYz1vYR.js} +4 -4
- package/server/{rally-Dp0Gb1DN.js → rally-i_goYmiA.js} +3 -3
- package/server/reap-terminal-sessions-CaMkFOIH.js +4 -0
- package/server/{reap-terminal-sessions-CjqRAGw7.js → reap-terminal-sessions-DG9eiMVz.js} +11 -28
- package/server/{rebuild-stack-DjdpALr1.js → rebuild-stack-CKjJAI8L.js} +1 -1
- package/server/{rebuild-stack-DHqCLvLX.js → rebuild-stack-JUm0jqYP.js} +6 -6
- package/server/{reconstruct-cache-BqrCQt0o.js → reconstruct-cache-wU79aCee.js} +6 -6
- package/server/record-rwK-nKv_.js +3 -0
- package/server/{record-update-RviRDSNs.js → record-update-Crz74r-6.js} +2 -2
- package/server/{record-update-BlB8mpKO.js → record-update-D3N6WMFR.js} +1 -1
- package/server/{recovery-trip-l1Hsi37x.js → recovery-trip-DkzJSej9.js} +2 -2
- package/server/{release-engine-CSI4K6Oj.js → release-engine-DMINVN8S.js} +5 -5
- package/server/{release-set-BywwggrE.js → release-set-DeUSOEHy.js} +3 -3
- package/server/{remote-DYziAkiZ.js → remote-Dr5kGYSZ.js} +3 -3
- package/server/{remote-agents-CZ2rc8I0.js → remote-agents-Ct_WOyke.js} +6 -6
- package/server/{remote-agents-BNORDWAX.js → remote-agents-D6O_zETW.js} +1 -1
- package/server/{remote-cnoeuDWn.js → remote-b-c5bOce.js} +3 -3
- package/server/{remote-completion-W67FNQ-A.js → remote-completion-Dca3hAaa.js} +13 -13
- package/server/resume-wZZsWtzz.js +3 -0
- package/server/{review-agent-CSswH985.js → review-agent-CCum8sGe.js} +1 -1
- package/server/{review-agent-CqSqSHkU.js → review-agent-CThvgK2r.js} +23 -23
- package/server/{review-artifacts-BBgnd5df.js → review-artifacts-CXywD0F2.js} +5 -5
- package/server/{review-context-Ctp9BdNJ.js → review-context-OYfKUprb.js} +8 -8
- package/server/{review-status-DXeqFpk5.js → review-status-Bnh-rdkY.js} +1 -1
- package/server/{review-status-CCgPVK1h.js → review-status-DFRjDFef.js} +21 -37
- package/server/{review-status-enrichment-DtDRGpst.js → review-status-enrichment-crNAtIpL.js} +3 -3
- package/server/review-status-source-CxuEjLGg.js +39 -0
- package/server/{review-status-sync-C792ksoJ.js → review-status-sync-D60PJWNL.js} +1 -1
- package/server/{review-status-sync-jnLgd04F.js → review-status-sync-DpAMD_WO.js} +2 -2
- package/server/{review-verdict-feedback-CMsIpTpy.js → review-verdict-feedback-CpUZl5aE.js} +7 -7
- package/server/{review-verdict-feedback-D5lW0o3k.js → review-verdict-feedback-JImjut0z.js} +1 -1
- package/server/{rollup-B3kQmNpl.js → rollup-CZ02qgxk.js} +1 -1
- package/server/{rollup-CLj_AK9f.js → rollup-SyuF09e4.js} +8 -8
- package/server/{scanner-C4NeC4FE.js → scanner-Br0Z5S6R.js} +7 -7
- package/server/{sequence-io-Ce-6grIY.js → sequence-io-fxU0DlwW.js} +4 -4
- package/server/{sequencer-agent-Bpz0yGmG.js → sequencer-agent-B5YC5XVP.js} +5 -5
- package/server/server.js +583 -387
- package/server/{service-CqAY8Kmk.js → service-Bagb90KZ.js} +150 -47
- package/server/{session-fork-uNo4rMRA.js → session-fork-BqQxd-V6.js} +2 -2
- package/server/{session-history-DUehL3KN.js → session-history-XdS0JKp3.js} +4 -4
- package/server/{settings-DP2OYLXL.js → settings-BNbocWOg.js} +3 -3
- package/server/settings-BlUsVaUc.js +2 -0
- package/server/{settings-D9grjmaP.js → settings-uLc6DEYI.js} +2 -2
- package/server/{shadow-engineering-Bi_oIMtF.js → shadow-engineering-D4X_s3fA.js} +3 -3
- package/server/{shadow-state-a_ztFBJe.js → shadow-state-C_NkP-sa.js} +2 -2
- package/server/{shadow-state-CDxEuPlE.js → shadow-state-CbvsN3qG.js} +1 -1
- package/server/{shadow-utils-CyOg6_Xq.js → shadow-utils-CYMRPeRT.js} +2 -2
- package/server/{ship-log-DDcueaIR.js → ship-log-__QtAFXG.js} +1 -1
- package/server/{smart-compaction--Oj65Uov.js → smart-compaction-CLZOWin1.js} +7 -7
- package/server/{smart-compaction-C1_VVLEd.js → smart-compaction-jdMkG1vo.js} +1 -1
- package/server/{spawn-planning-session-LFtK2QCE.js → spawn-planning-session-8D6mE033.js} +1 -1
- package/server/{spawn-planning-session-AiUSsBnH.js → spawn-planning-session-D5OXo8pT.js} +19 -15
- package/server/{specialist-completion-qOgqdqXH.js → specialist-completion-CqmduO92.js} +1 -1
- package/server/{specialist-context-gjj8Z4Ii.js → specialist-context-CJ-QjFR-.js} +5 -5
- package/server/{specialist-handoff-logger-BsBNvVZv.js → specialist-handoff-logger-Dnjlwt7g.js} +2 -2
- package/server/{specialist-logs-CSLtvPx6.js → specialist-logs-CQnKzuZs.js} +3 -3
- package/server/{specialists-DAegTvRt.js → specialists-Bg9v4z3F.js} +122 -94
- package/server/{specialists-CYRwELzc.js → specialists-CwZHb5cb.js} +18 -18
- package/server/{specialists-D0VBf8g_.js → specialists-D0gGXMZx.js} +1 -1
- package/server/{specialists-C6WkeKFK.js → specialists-Dqe6_HE5.js} +1 -1
- package/server/specs-BhOKBzqk.js +3 -0
- package/server/{src-OLoJhUiJ.js → src-BMMoA_ba.js} +6 -6
- package/server/{src-BqTcrfO_.js → src-Bqdtd6po.js} +3 -3
- package/server/{src-Dpq1yFIl.js → src-k039WVYY.js} +337 -4
- package/server/{stack-health-I713ELld.js → stack-health-Bd06frFn.js} +1 -1
- package/server/{stack-health-DV_f-lK0.js → stack-health-C-ifC7b0.js} +2 -2
- package/server/{stale-task-claims-CQSKZVq0.js → stale-task-claims-L7pJkQFL.js} +4 -4
- package/server/{staleness-BbsGxmF2.js → staleness-BID1BKdr.js} +1 -1
- package/server/{staleness-zGp4P1hd.js → staleness-_Tr-GwdA.js} +1 -1
- package/server/{state-home-DixkE-up.js → state-home-CONQvZR0.js} +36 -23
- package/server/state-migrate-BeBW0KXA.js +478 -0
- package/server/{stuck-remediation-BWkK_O7A.js → stuck-remediation-CKnIryGT.js} +20 -18
- package/server/{stuck-remediation-CTPRC2S5.js → stuck-remediation-CsGD5Ksb.js} +1 -1
- package/server/{substrate-bug-weights-service-DXd0ID83.js → substrate-bug-weights-service-CpIZILj9.js} +3 -3
- package/server/{summary-fork-CdLn8Chr.js → summary-fork-agEMsPSo.js} +2 -2
- package/server/{summary-fork-f3DpgjXh.js → summary-fork-bX6ax6X7.js} +8 -8
- package/server/supervisor-COVHrBTg.js +2 -0
- package/server/{supervisor-Ch8CDuoF.js → supervisor-Ctt4eRYz.js} +3 -3
- package/server/{swarm-readiness-C9P2iPap.js → swarm-readiness-DdmJVX7y.js} +3 -3
- package/server/{system-prerequisites-DkoQBn1q.js → system-prerequisites-DSXBvffY.js} +24 -44
- package/server/{teardown-workspace-D-5yMyit.js → teardown-workspace-DDCf5n-a.js} +15 -15
- package/server/{test-agent-queue-BwpUpu-o.js → test-agent-queue-BJZ9Nfcc.js} +6 -6
- package/server/{test-verdict-BRiSu7eW.js → test-verdict-Cp5tljlJ.js} +1 -1
- package/server/{test-verdict-BQ1yx7d4.js → test-verdict-D_-sXIz_.js} +1 -1
- package/server/{tldr-daemon-BJA7TkqS.js → tldr-daemon-B8_oT5gx.js} +1 -1
- package/server/{tldr-daemon-DjxP5g6Y.js → tldr-daemon-BQFmmFp0.js} +2 -2
- package/server/{tmux-HQLgwo_C.js → tmux-BAvtac_u.js} +1 -1
- package/server/{tmux-y1blSxks.js → tmux-L5LgvGLp.js} +2 -2
- package/server/{token-LUrbM9sU.js → token-BkQLy4yS.js} +2 -2
- package/server/token-util-BArZLN6w.js +3 -0
- package/server/{token-util-BZaDAQ8S.js → token-util-DI8sGlmF.js} +1 -1
- package/server/{tracker-config-DSFZBdXP.js → tracker-config-DdT-nUAM.js} +2 -2
- package/server/{tracker-utils-DiceZN3a.js → tracker-utils-CawsPSS2.js} +2 -2
- package/server/{tracker-utils-WtP_V-yn.js → tracker-utils-DV3h1FYG.js} +1 -1
- package/server/{traefik-connect-BXqfOP4-.js → traefik-connect-C6mJckNs.js} +1 -1
- package/server/{tunnel-WcJImbAC.js → tunnel-BIFl98rc.js} +1 -1
- package/server/{tunnel-DTng1rfQ.js → tunnel-IdK1iTHx.js} +3 -3
- package/server/{types-BjaZ1oqH.js → types-7-GnJn0t.js} +1 -1
- package/server/{types-DqeBMmJN.js → types-hraoaQIp.js} +1 -1
- package/server/{uat-train-Wismge7h.js → uat-train-0Ujk8GCv.js} +1 -1
- package/server/{uat-train-BpLnp7Cx.js → uat-train-j0cPeMSj.js} +25 -25
- package/server/{validation-BA4e5EGm.js → validation-CabEISJT.js} +4 -4
- package/server/{validation-CUWamZ4X.js → validation-DcAgXTQp.js} +1 -1
- package/server/{verification-artifact-Dr_0g9nb.js → verification-artifact-BuTA1QbL.js} +1 -1
- package/server/{verification-artifact-CrbI4tJE.js → verification-artifact-Ck1tefmz.js} +1 -1
- package/server/{verification-runner-Dcksl_P-.js → verification-runner-DlJezzef.js} +1 -1
- package/server/{verification-runner-gAzh3cVD.js → verification-runner-FiuAZ-H2.js} +15 -14
- package/server/{vtt-parser-3VZKsmSm.js → vtt-parser-BnRsYzcz.js} +1 -1
- package/server/{work-agent-prompt-ULdcANl5.js → work-agent-prompt-DLthEPAq.js} +12 -11
- package/server/{workflows-B8ROFlfw.js → workflows-BZNNYkGC.js} +18 -18
- package/server/workflows-C4mR0Reb.js +2 -0
- package/server/{workspace-DSjUJaJN.js → workspace-3IC-UkAi.js} +1 -1
- package/server/{workspace-DhTDA8nB.js → workspace-D9ppycdg.js} +3 -3
- package/server/{workspace-config-BAAsAv-o.js → workspace-config-Bigl_-Lk.js} +1 -1
- package/server/{workspace-manager-CcujONCR.js → workspace-manager-B1WOfKvB.js} +1 -1
- package/server/{workspace-manager-DsN52IMG.js → workspace-manager-ClkCIWTe.js} +13 -13
- package/server/{workspace-metadata-CftOpNLs.js → workspace-metadata-BE0efUv_.js} +1 -1
- package/server/{workspace-metadata-DIL5_U4c.js → workspace-metadata-tiSRIWJP.js} +2 -2
- package/server/{workspaces-Dmlh1YXm.js → workspaces-CFPcL0vl.js} +96 -96
- package/sync-sources/skills/pan-start/SKILL.md +23 -0
- package/server/cli-ChErG518.js +0 -3
- package/server/deacon-swarm-uudlSCLM.js +0 -2
- package/server/dist-BEDL2alY.js +0 -3
- package/server/forge-DbhJyH6u.js +0 -2
- package/server/git-utils-Bkxzr1Xf.js +0 -129
- package/server/hume-BrA1tUuk.js +0 -3
- package/server/inspect-agent-CyXNo9fM.js +0 -2
- package/server/merge-ops-BpTtuO8x.js +0 -2
- package/server/projects-IRHJIPYC.js +0 -3
- package/server/providers-BqCdTryq.js +0 -3
- package/server/public/assets/mermaid-GHXKKRXX-BNwFoQsf.js +0 -1
- package/server/rally-DGimSRBQ.js +0 -3
- package/server/reap-terminal-sessions-C1mfzoZo.js +0 -3
- package/server/record-us0YECMO.js +0 -3
- package/server/resume-OyN3dEXE.js +0 -3
- package/server/settings-BaPXXJsT.js +0 -2
- package/server/specs-BsNcum0h.js +0 -3
- package/server/state-migrate-_zJJ6XKE.js +0 -362
- package/server/supervisor-Qy1QecAs.js +0 -2
- package/server/token-util-Cg-QnowA.js +0 -3
- package/server/workflows-C5c-RPsY.js +0 -2
|
@@ -1,42 +1,43 @@
|
|
|
1
1
|
import { a as __toCommonJS } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import {
|
|
2
|
+
import { A as canUseHarnessSync, D as resolveTieredExecutionEnabled, H as init_providers, Hn as init_projects, I as UnknownModelError, In as getProjectSync, Kn as listProjectsSync, M as init_harness_policy, O as resolveTieredExecutionEnabledForIssue, T as init_tier_table, U as piProviderForModel, V as getProviderForModelSync, Xr as encodeClaudeProjectDir, c as isClaudeCodeChannelsEnabled, dr as extractPrefixSync, f as loadConfigSync, fr as init_issue_id, ii as init_paths, jr as init_errors, mr as parseIssueIdSync, nr as resolveProjectFromIssueSync, oi as packageRoot, ri as getOverdeckHome, si as resolveOhmypiExtensionPath, t as init_config_yaml, tt as resolveModel, xn as shouldCommitLegacyWorkspaceArtifacts, xr as FsError, yn as init_state_read_home } from "./config-yaml-ig8Nwtiw.js";
|
|
3
3
|
import { a as init_activity_logger, n as emitActivityEntrySync } from "./activity-logger-DDlOIAML.js";
|
|
4
|
-
import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-
|
|
5
|
-
import { B as sendRawKeystroke, D as killSession, H as sessionExistsSync, J as BLANKED_PROVIDER_ENV, M as listSessions, T as isHarnessProcessAlive, U as setOption, V as sessionExists, X as buildChildEnvWithoutTmuxSync, Z as init_child_env, g as findManagedServerPidSync, i as capturePane, j as listSessionNames, m as exactPaneTarget, s as createSession, w as init_tmux, z as sendKeysAsync } from "./tmux-
|
|
6
|
-
import { a as init_event_store, n as getEventStore } from "./event-store-
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
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 { $ as stopAgent, $n as init_pty_token, $t as init_ohmypi_fifo, Cn as clearAgentTroubled, Dn as getAgentDir, Et as writeBridgeTokenSync, Gn as saveAgentStateSync, Gt as getProviderAuthMode, H as getLatestSessionId, Ht as getAgentRuntimeBaseCommand, K as saveSessionId, Kn as setAgentPaused, L as messageAgent, Lt as resolveStaffing, M as resumeAgent, Mt as transitionIssueToInProgress, O as recoverAgent, Pt as init_staffing, Qt as piFifoPaths, R as init_operator_interventions, Rn as markAgentStoppedState, S as init_tier_escalation, Tt as init_bridge_token, U as getLatestSessionIdSync, V as getActivity, W as getSessionId, Wn as saveAgentState, Xn as writeAgentStateJsonSync, Yn as wipeAgentStateDirs, Zt as init_pi_fifo, _n as writeChannelsBridgeMcpConfig, _r as init_codex_auth, _t as deliverAgentPermissionDecision, an as determineModel, ar as normalizeAgentId, bt as setAgentDeliveryMethod, cr as waitForReadySignal, en as ohmypiFifoPaths, er as writePtyToken, fr as saveAgentRuntimeState, gn as dismissDevChannelsDialog, gr as checkCodexAuthStatus, gt as deliverAgentMessage, i as listRunningAgents, jn as getAgentStateSync, k as restartAgent, kn as getAgentState, ln as init_provider_health, lr as getAgentRuntimeState, nr as resolvePtySupervisorScriptPath, on as getProviderEnvForModel, r as listAgentStates, rr as clearReadySignal, s as init_agents$1, sn as getProviderExportsForModel, tr as init_pty_supervisor_locate, un as validateProviderHealth, ur as getAgentRuntimeStateSync, wt as BRIDGE_TOKEN_HEADER, x as decideEscalation, xn as clearAgentPaused, z as operatorInterventionEvent } 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-
|
|
16
|
-
import { t as init_behavior } from "./behavior-
|
|
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-
|
|
19
|
-
import { o as getInternalTokenSync, s as init_internal_token } from "./internal-token-
|
|
20
|
-
import { a as PAN_DIRNAME, i as PAN_CONTINUE_FILENAME, p as init_types } from "./types-
|
|
21
|
-
import { F as generateVBriefFilename, I as init_lifecycle, f as readTierOverrides, g as serializeVBriefDocument, h as recordTierPromotion, m as readWorkspacePlanSync, o as init_io, r as findPlan, u as readPlan } from "./io-
|
|
22
|
-
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-
|
|
23
|
-
import { n as recordFeatureRegistryLifecycle, t as init_feature_registry_population } from "./feature-registry-population-
|
|
24
|
-
import { a as requireModelOverrideSync, i as normalizeModelOverrideSync, n as init_launcher_generator, r as init_model_validation, t as generateLauncherScriptSync } from "./launcher-generator-
|
|
25
|
-
import { a as init_claude_permissions, o as resolvePermissionModeSync, r as getClaudePermissionFlagsStringSync, t as BYPASS_PERMISSION_MODE } from "./claude-permissions-
|
|
26
|
-
import { h as workspaceContextFile, l as piGlobalContextFile, o as init_layers } from "./layers-
|
|
27
|
-
import {
|
|
28
|
-
import {
|
|
29
|
-
import {
|
|
30
|
-
import {
|
|
31
|
-
import {
|
|
32
|
-
import {
|
|
33
|
-
import {
|
|
34
|
-
import { _ as
|
|
35
|
-
import {
|
|
36
|
-
import {
|
|
37
|
-
import {
|
|
38
|
-
import {
|
|
39
|
-
import {
|
|
4
|
+
import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-D4iNWMA5.js";
|
|
5
|
+
import { B as sendRawKeystroke, D as killSession, H as sessionExistsSync, J as BLANKED_PROVIDER_ENV, M as listSessions, T as isHarnessProcessAlive, U as setOption, V as sessionExists, X as buildChildEnvWithoutTmuxSync, Z as init_child_env, g as findManagedServerPidSync, i as capturePane, j as listSessionNames, m as exactPaneTarget, s as createSession, w as init_tmux, z as sendKeysAsync } from "./tmux-L5LgvGLp.js";
|
|
6
|
+
import { a as init_event_store, n as getEventStore } from "./event-store-TnWdydfB.js";
|
|
7
|
+
import { k as normalizeChannelReplyPayload, o as getHarnessBehavior, t as init_src, x as DomainEvent } from "./src-k039WVYY.js";
|
|
8
|
+
import { C as AGENT_COLUMNS_FOR_DB, O as stateToOverdeckParamsForDb, T as init_agent_state_sync, c as init_review_status, s as getReviewStatusSync, u as loadReviewStatuses, y as setReviewStatusSync } from "./review-status-DFRjDFef.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-CeyW_HoD.js";
|
|
10
|
+
import { d as isTerminalIssueStage, o as init_agents, u as getIssueStageSync } from "./agents-DXdHmRTC.js";
|
|
11
|
+
import { n as ensureSessionContextBriefingFile, r as init_briefing_freshness } from "./briefing-freshness-C12WgkaB.js";
|
|
12
|
+
import { o as getPricingSync, s as init_cost, t as calculateCostSync } from "./cost-Codk1pc2.js";
|
|
13
|
+
import { $ as stopAgent, $n as init_pty_token, $t as init_ohmypi_fifo, Cn as clearAgentTroubled, Dn as getAgentDir, Et as writeBridgeTokenSync, Gn as saveAgentStateSync, Gt as getProviderAuthMode, H as getLatestSessionId, Ht as getAgentRuntimeBaseCommand, K as saveSessionId, Kn as setAgentPaused, L as messageAgent, Lt as resolveStaffing, M as resumeAgent, Mt as transitionIssueToInProgress, O as recoverAgent, Pt as init_staffing, Qt as piFifoPaths, R as init_operator_interventions, Rn as markAgentStoppedState, S as init_tier_escalation, Tt as init_bridge_token, U as getLatestSessionIdSync, V as getActivity, W as getSessionId, Wn as saveAgentState, Xn as writeAgentStateJsonSync, Yn as wipeAgentStateDirs, Zt as init_pi_fifo, _n as writeChannelsBridgeMcpConfig, _r as init_codex_auth, _t as deliverAgentPermissionDecision, an as determineModel, ar as normalizeAgentId, bt as setAgentDeliveryMethod, cr as waitForReadySignal, en as ohmypiFifoPaths, er as writePtyToken, fr as saveAgentRuntimeState, gn as dismissDevChannelsDialog, gr as checkCodexAuthStatus, gt as deliverAgentMessage, i as listRunningAgents, jn as getAgentStateSync, k as restartAgent, kn as getAgentState, ln as init_provider_health, lr as getAgentRuntimeState, nr as resolvePtySupervisorScriptPath, on as getProviderEnvForModel, r as listAgentStates, rr as clearReadySignal, s as init_agents$1, sn as getProviderExportsForModel, tr as init_pty_supervisor_locate, un as validateProviderHealth, ur as getAgentRuntimeStateSync, wt as BRIDGE_TOKEN_HEADER, x as decideEscalation, xn as clearAgentPaused, z as operatorInterventionEvent } from "./queries-ZABd5aXP.js";
|
|
14
|
+
import { a as performHandoff, i as checkAllTriggers, s as getAgentHealth, t as getCloisterService } from "./service-Bagb90KZ.js";
|
|
15
|
+
import { o as init_persistent_logger, s as logAgentLifecycleSync } from "./session-history-XdS0JKp3.js";
|
|
16
|
+
import { t as init_behavior } from "./behavior-CGj16clS.js";
|
|
17
|
+
import { a as init_tracker_config, t as getGitHubConfig } from "./tracker-config-DdT-nUAM.js";
|
|
18
|
+
import { n as init_issue_service_singleton, r as issue_service_singleton_exports } from "./issue-service-singleton-D_RVYBuL.js";
|
|
19
|
+
import { o as getInternalTokenSync, s as init_internal_token } from "./internal-token-CXsfxslp.js";
|
|
20
|
+
import { a as PAN_DIRNAME, i as PAN_CONTINUE_FILENAME, p as init_types } from "./types-hraoaQIp.js";
|
|
21
|
+
import { F as generateVBriefFilename, I as init_lifecycle, f as readTierOverrides, g as serializeVBriefDocument, h as recordTierPromotion, m as readWorkspacePlanSync, o as init_io, r as findPlan, u as readPlan } from "./io-DQR9PMgS.js";
|
|
22
|
+
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-bYpM9-kZ.js";
|
|
23
|
+
import { n as recordFeatureRegistryLifecycle, t as init_feature_registry_population } from "./feature-registry-population-B-CI9hgE.js";
|
|
24
|
+
import { a as requireModelOverrideSync, i as normalizeModelOverrideSync, n as init_launcher_generator, r as init_model_validation, t as generateLauncherScriptSync } from "./launcher-generator-COgR2By1.js";
|
|
25
|
+
import { a as init_claude_permissions, o as resolvePermissionModeSync, r as getClaudePermissionFlagsStringSync, t as BYPASS_PERMISSION_MODE } from "./claude-permissions-nSFKH78M.js";
|
|
26
|
+
import { h as workspaceContextFile, l as piGlobalContextFile, o as init_layers } from "./layers-Cp1To4L8.js";
|
|
27
|
+
import { n as init_harness_binary, r as prepareHarnessLaunch } from "./harness-binary-B2CTcD84.js";
|
|
28
|
+
import { a as init_stack_health, i as getWorkspaceStackHealth } from "./stack-health-C-ifC7b0.js";
|
|
29
|
+
import { l as init_dag, o as getDispatchableItems } from "./dag-CJpgf9A3.js";
|
|
30
|
+
import { n as resolveHarness, t as init_harness_resolve } from "./harness-resolve-D5FVQTmy.js";
|
|
31
|
+
import { a as loadCloisterConfigSync, r as init_config } from "./config-DeTsoZdR.js";
|
|
32
|
+
import { c as isStateMigrated, o as init_state_home } from "./state-home-CONQvZR0.js";
|
|
33
|
+
import { a as init_lifecycle_io, c as updatePlanStatus, s as transitionVBriefOnMain } from "./lifecycle-io-taIb0PoH.js";
|
|
34
|
+
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-C3avRVEr.js";
|
|
35
|
+
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-CKnIryGT.js";
|
|
36
|
+
import { Mt as getResourceConfig, Pt as getSystemHealthSnapshot, Tt as classifyMemoryPressure } from "./deacon-CkT_kznS.js";
|
|
37
|
+
import { o as stopWorkspaceDocker, r as init_workspace_manager } from "./workspace-manager-ClkCIWTe.js";
|
|
38
|
+
import { a as init_jsonl_parser, o as normalizeModelName } from "./jsonl-parser-C3HVNR5d.js";
|
|
39
|
+
import { r as init_in_flight_guard, t as createInFlightGuard } from "./in-flight-guard-BoWm66Kh.js";
|
|
40
|
+
import { a as loadWorkspaceMetadataSync } from "./workspace-metadata-tiSRIWJP.js";
|
|
40
41
|
import { basename, delimiter, dirname, join, resolve } from "node:path";
|
|
41
42
|
import { Cause, Data, Effect, Layer, Option, Schema, Stream } from "effect";
|
|
42
43
|
import { join as join$1 } from "path";
|
|
@@ -196,6 +197,7 @@ init_model_validation();
|
|
|
196
197
|
init_provider_health();
|
|
197
198
|
init_claude_permissions();
|
|
198
199
|
init_layers();
|
|
200
|
+
init_harness_binary();
|
|
199
201
|
init_ohmypi_fifo();
|
|
200
202
|
init_pi_fifo();
|
|
201
203
|
init_stack_health();
|
|
@@ -579,7 +581,7 @@ async function resolveCodexRolloutPath(agentId, opts = {}) {
|
|
|
579
581
|
const agentDir = join(opts.agentsDirOverride ?? join(getOverdeckHome(), "agents"), agentId);
|
|
580
582
|
const codexHome = join(agentDir, "codex-home");
|
|
581
583
|
if (!await pathExists$1(codexHome)) return null;
|
|
582
|
-
const { findRolloutPath, findLatestRollout } = await import("./codex-
|
|
584
|
+
const { findRolloutPath, findLatestRollout } = await import("./codex-DNyiQDKW.js");
|
|
583
585
|
const threadId = (await readOptional(join(agentDir, "codex-thread-id")))?.trim();
|
|
584
586
|
if (threadId) {
|
|
585
587
|
const rollout = findRolloutPath(codexHome, threadId);
|
|
@@ -1375,8 +1377,31 @@ function hasActiveAgentGateOrRetry(state, nowMs = Date.now()) {
|
|
|
1375
1377
|
}
|
|
1376
1378
|
function evaluateSpawnGuardrails(health) {
|
|
1377
1379
|
const warnings = [];
|
|
1380
|
+
if (health.freshness.status !== "fresh") {
|
|
1381
|
+
const message = health.freshness.status === "stale" ? `System health evidence is stale: ${health.freshness.reason.message}` : "System health is still measuring; fresh admission evidence is not available yet.";
|
|
1382
|
+
warnings.push({
|
|
1383
|
+
severity: "critical",
|
|
1384
|
+
code: "health_snapshot_unavailable",
|
|
1385
|
+
message
|
|
1386
|
+
});
|
|
1387
|
+
return {
|
|
1388
|
+
blocked: true,
|
|
1389
|
+
requiresAcknowledgement: false,
|
|
1390
|
+
status: 503,
|
|
1391
|
+
error: message,
|
|
1392
|
+
hint: "Wait for a fresh system health assessment before starting this agent.",
|
|
1393
|
+
warnings,
|
|
1394
|
+
health: {
|
|
1395
|
+
severity: health.severity,
|
|
1396
|
+
summary: health.summary,
|
|
1397
|
+
reasons: health.reasons,
|
|
1398
|
+
leakedSpecialists: health.leakedSpecialists,
|
|
1399
|
+
freshness: health.freshness
|
|
1400
|
+
}
|
|
1401
|
+
};
|
|
1402
|
+
}
|
|
1378
1403
|
const availableGb = Math.round(health.summary.availableMemoryBytes / 1024 ** 3 * 10) / 10;
|
|
1379
|
-
const workAgentCount = health.
|
|
1404
|
+
const workAgentCount = health.admission.admittedWorkAgentCount;
|
|
1380
1405
|
const leakedSpecialists = health.leakedSpecialists;
|
|
1381
1406
|
const resourceConfig = getResourceConfig();
|
|
1382
1407
|
const hardWorkAgentLimit = resolveAgentCountEnv("PAN_AGENT_BLOCK_COUNT", resourceConfig.agentBlockCount);
|
|
@@ -1424,7 +1449,8 @@ function evaluateSpawnGuardrails(health) {
|
|
|
1424
1449
|
severity: health.severity,
|
|
1425
1450
|
summary: health.summary,
|
|
1426
1451
|
reasons: health.reasons,
|
|
1427
|
-
leakedSpecialists: health.leakedSpecialists
|
|
1452
|
+
leakedSpecialists: health.leakedSpecialists,
|
|
1453
|
+
freshness: health.freshness
|
|
1428
1454
|
}
|
|
1429
1455
|
};
|
|
1430
1456
|
}
|
|
@@ -1438,7 +1464,8 @@ function evaluateSpawnGuardrails(health) {
|
|
|
1438
1464
|
severity: health.severity,
|
|
1439
1465
|
summary: health.summary,
|
|
1440
1466
|
reasons: health.reasons,
|
|
1441
|
-
leakedSpecialists: health.leakedSpecialists
|
|
1467
|
+
leakedSpecialists: health.leakedSpecialists,
|
|
1468
|
+
freshness: health.freshness
|
|
1442
1469
|
}
|
|
1443
1470
|
};
|
|
1444
1471
|
}
|
|
@@ -1700,7 +1727,7 @@ const getAgentOutputRoute = HttpRouter.add("GET", "/api/agents/:id/output", http
|
|
|
1700
1727
|
} catch {}
|
|
1701
1728
|
let stdout;
|
|
1702
1729
|
if (isRemote && vmName) {
|
|
1703
|
-
const { getRemoteAgentOutput } = await import("./remote-agents-
|
|
1730
|
+
const { getRemoteAgentOutput } = await import("./remote-agents-D6O_zETW.js");
|
|
1704
1731
|
stdout = await getRemoteAgentOutput(id, vmName, parseInt(String(lines), 10) || 100);
|
|
1705
1732
|
} else stdout = await Effect.runPromise(capturePane(id, parseInt(String(lines), 10) || 100));
|
|
1706
1733
|
if (!stdout || stdout.trim() === "" || stdout.trim() === "Session not found") {
|
|
@@ -2121,7 +2148,7 @@ async function cleanupConversationAttachments(name) {
|
|
|
2121
2148
|
* sessions that the lifecycle poller missed. */
|
|
2122
2149
|
async function cleanupOrphanedConversationAttachments() {
|
|
2123
2150
|
try {
|
|
2124
|
-
const { listConversations } = await import("./conversations-
|
|
2151
|
+
const { listConversations } = await import("./conversations-H9if0bCQ.js");
|
|
2125
2152
|
const convNames = new Set(listConversations().map((c) => c.name));
|
|
2126
2153
|
const root = getConversationAttachmentsRoot();
|
|
2127
2154
|
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, {
|
|
@@ -2652,6 +2679,7 @@ function isNotFound(error) {
|
|
|
2652
2679
|
}
|
|
2653
2680
|
async function spawnConversationSession(tmuxSession, cwd, claudeSessionId, model, effort, issueId, resume = false, harness = "claude-code", plainFork = false) {
|
|
2654
2681
|
const behavior = getHarnessBehavior(harness);
|
|
2682
|
+
const harnessLaunch = await prepareHarnessLaunch(harness);
|
|
2655
2683
|
const stateDir = join(getOverdeckHome(), "conversations", tmuxSession);
|
|
2656
2684
|
await mkdir(stateDir, { recursive: true });
|
|
2657
2685
|
clearReadySignal(tmuxSession);
|
|
@@ -2699,7 +2727,7 @@ async function spawnConversationSession(tmuxSession, cwd, claudeSessionId, model
|
|
|
2699
2727
|
const codexApprovalPolicy = codexPermMode === "full-access" ? "never" : "on-request";
|
|
2700
2728
|
const codexSandboxMode = codexPermMode === "full-access" ? "danger-full-access" : codexPermMode === "read-only" ? "read-only" : "workspace-write";
|
|
2701
2729
|
const codexApprovalsReviewer = codexPermMode === "auto-review" ? "auto_review" : void 0;
|
|
2702
|
-
const { initCodexHome, extractThreadIdFromRollout } = await import("./codex-
|
|
2730
|
+
const { initCodexHome, extractThreadIdFromRollout } = await import("./codex-DNyiQDKW.js");
|
|
2703
2731
|
initCodexHome(codexHome, {
|
|
2704
2732
|
trustedDir: cwd,
|
|
2705
2733
|
approvalPolicy: codexApprovalPolicy,
|
|
@@ -2745,7 +2773,7 @@ async function spawnConversationSession(tmuxSession, cwd, claudeSessionId, model
|
|
|
2745
2773
|
...issueId ? { issueId } : {},
|
|
2746
2774
|
...piFields || codexFields || useSupervisor ? { agentId: tmuxSession } : {}
|
|
2747
2775
|
},
|
|
2748
|
-
extraEnvExports: [`export OVERDECK_DASHBOARD_URL="http://127.0.0.1:${process.env["API_PORT"] ?? process.env["PORT"] ?? "3011"}"`],
|
|
2776
|
+
extraEnvExports: [harnessLaunch.pathExport, `export OVERDECK_DASHBOARD_URL="http://127.0.0.1:${process.env["API_PORT"] ?? process.env["PORT"] ?? "3011"}"`],
|
|
2749
2777
|
providerExports: providerExportsStr || void 0,
|
|
2750
2778
|
trapHup: true,
|
|
2751
2779
|
baseCommand: runtimeCommand,
|
|
@@ -2768,7 +2796,7 @@ async function spawnConversationSession(tmuxSession, cwd, claudeSessionId, model
|
|
|
2768
2796
|
} catch {}
|
|
2769
2797
|
console.log(`[claude-invoke] purpose=conversation-session | model=${model || "default"} | source=conversations.ts:spawnConversationSession | session=${tmuxSession} | resume=${resume} | command="${runtimeCommand}"`);
|
|
2770
2798
|
try {
|
|
2771
|
-
const { preTrustDirectory } = await import("./workspace-manager-
|
|
2799
|
+
const { preTrustDirectory } = await import("./workspace-manager-B1WOfKvB.js");
|
|
2772
2800
|
preTrustDirectory(cwd);
|
|
2773
2801
|
} catch {}
|
|
2774
2802
|
try {
|
|
@@ -2785,7 +2813,7 @@ async function spawnConversationSession(tmuxSession, cwd, claudeSessionId, model
|
|
|
2785
2813
|
const codexHomeDir = codexFields.codexHome;
|
|
2786
2814
|
(async () => {
|
|
2787
2815
|
try {
|
|
2788
|
-
const { waitForCodexRollout, extractThreadIdFromRollout, writeThreadId } = await import("./codex-
|
|
2816
|
+
const { waitForCodexRollout, extractThreadIdFromRollout, writeThreadId } = await import("./codex-DNyiQDKW.js");
|
|
2789
2817
|
const rollout = await waitForCodexRollout(codexHomeDir, 12e4);
|
|
2790
2818
|
if (rollout) {
|
|
2791
2819
|
const threadId = extractThreadIdFromRollout(rollout);
|
|
@@ -3664,7 +3692,7 @@ const postInternalAgentPermissionRequestRoute = HttpRouter.add("POST", "/api/int
|
|
|
3664
3692
|
error: "missing agent id"
|
|
3665
3693
|
}, { status: 400 });
|
|
3666
3694
|
const request = yield* HttpServerRequest.HttpServerRequest;
|
|
3667
|
-
const { INTERNAL_TOKEN_HEADER, getInternalTokenSync } = yield* Effect.promise(() => import("./internal-token-
|
|
3695
|
+
const { INTERNAL_TOKEN_HEADER, getInternalTokenSync } = yield* Effect.promise(() => import("./internal-token-C9DdEOKY.js"));
|
|
3668
3696
|
const expected = getInternalTokenSync();
|
|
3669
3697
|
if (!expected) return jsonResponse({
|
|
3670
3698
|
ok: false,
|
|
@@ -3931,7 +3959,7 @@ const getAgentHealthHistoryRoute = HttpRouter.add("GET", "/api/agents/:id/health
|
|
|
3931
3959
|
const request = yield* HttpServerRequest.HttpServerRequest;
|
|
3932
3960
|
const urlOpt = HttpServerRequest.toURL(request);
|
|
3933
3961
|
const hours = Option.isSome(urlOpt) ? urlOpt.value.searchParams.get("hours") ?? "24" : "24";
|
|
3934
|
-
const { getHealthHistory } = yield* Effect.promise(() => import("./health-events-
|
|
3962
|
+
const { getHealthHistory } = yield* Effect.promise(() => import("./health-events-C1whmd58.js"));
|
|
3935
3963
|
const endTime = /* @__PURE__ */ new Date();
|
|
3936
3964
|
const startTime = /* @__PURE__ */ new Date(endTime.getTime() - parseInt(hours) * 60 * 60 * 1e3);
|
|
3937
3965
|
const events = getHealthHistory(id, startTime.toISOString(), endTime.toISOString());
|
|
@@ -3972,7 +4000,7 @@ function emitAgentRuntimeEvent(id, body, timestamp) {
|
|
|
3972
4000
|
detail: String(decoded.failure)
|
|
3973
4001
|
}, { status: 400 })
|
|
3974
4002
|
};
|
|
3975
|
-
const { AgentStateService } = yield* Effect.promise(() => import("./agent-state-service-
|
|
4003
|
+
const { AgentStateService } = yield* Effect.promise(() => import("./agent-state-service-CsQ07Pxe.js"));
|
|
3976
4004
|
yield* (yield* AgentStateService).emit(decoded.success);
|
|
3977
4005
|
return {
|
|
3978
4006
|
ok: true,
|
|
@@ -4054,7 +4082,7 @@ const getAgentRuntimeRoute = HttpRouter.add("GET", "/api/agents/:id/runtime", ht
|
|
|
4054
4082
|
success: false,
|
|
4055
4083
|
error: "missing agent id"
|
|
4056
4084
|
}, { status: 400 });
|
|
4057
|
-
const { AgentStateService } = yield* Effect.promise(() => import("./agent-state-service-
|
|
4085
|
+
const { AgentStateService } = yield* Effect.promise(() => import("./agent-state-service-CsQ07Pxe.js"));
|
|
4058
4086
|
const snapshot = yield* (yield* AgentStateService).get(id);
|
|
4059
4087
|
if (!snapshot) return jsonResponse({
|
|
4060
4088
|
success: false,
|
|
@@ -4167,8 +4195,8 @@ function createAgentStopHandler(lifecycleEvent) {
|
|
|
4167
4195
|
yield* stopAgent(id);
|
|
4168
4196
|
if (stateBeforeStop?.issueId) yield* Effect.promise(async () => {
|
|
4169
4197
|
try {
|
|
4170
|
-
const { resolveProjectFromIssueSync } = await import("./projects-
|
|
4171
|
-
const { findWorkspacePath } = await import("./archive-planning-
|
|
4198
|
+
const { resolveProjectFromIssueSync } = await import("./projects-BKkwpH6q.js");
|
|
4199
|
+
const { findWorkspacePath } = await import("./archive-planning-Cp_DC1j-.js");
|
|
4172
4200
|
const issueLower = stateBeforeStop.issueId.toLowerCase();
|
|
4173
4201
|
const workspacePath = findWorkspacePath(resolveProjectFromIssueSync(stateBeforeStop.issueId)?.projectPath ?? process.cwd(), issueLower);
|
|
4174
4202
|
if (workspacePath) {
|
|
@@ -5472,15 +5500,15 @@ init_agents$1();
|
|
|
5472
5500
|
function handleRemoteAgentSpawn(input) {
|
|
5473
5501
|
return Effect.gen(function* () {
|
|
5474
5502
|
const { issueId, workspacePath, workspaceMetadata, spawnModel, projectPath, spawnGuardrails, lifecycle } = input;
|
|
5475
|
-
const { spawnRemoteAgent, checkRemoteSpendCap } = yield* Effect.promise(() => import("./remote-agents-
|
|
5476
|
-
const { createFlyProviderFromConfig } = yield* Effect.promise(() => import("./remote-
|
|
5477
|
-
const { loadConfigSync: loadPanConfig } = yield* Effect.promise(() => import("./config-
|
|
5503
|
+
const { spawnRemoteAgent, checkRemoteSpendCap } = yield* Effect.promise(() => import("./remote-agents-D6O_zETW.js"));
|
|
5504
|
+
const { createFlyProviderFromConfig } = yield* Effect.promise(() => import("./remote-Dr5kGYSZ.js"));
|
|
5505
|
+
const { loadConfigSync: loadPanConfig } = yield* Effect.promise(() => import("./config-BJKocXKd.js"));
|
|
5478
5506
|
const panConfig = loadPanConfig();
|
|
5479
5507
|
const spendCap = checkRemoteSpendCap(panConfig);
|
|
5480
5508
|
if (!spendCap.allowed) return jsonResponse({ error: spendCap.message }, { status: 429 });
|
|
5481
5509
|
const fly = createFlyProviderFromConfig(panConfig.remote);
|
|
5482
5510
|
yield* Effect.promise(() => fly.syncAllCredentials(workspaceMetadata.vmName));
|
|
5483
|
-
const { buildWorkAgentPrompt, getTrackerContext } = yield* Effect.promise(() => import("./work-agent-prompt-
|
|
5511
|
+
const { buildWorkAgentPrompt, getTrackerContext } = yield* Effect.promise(() => import("./work-agent-prompt-DLthEPAq.js"));
|
|
5484
5512
|
const trackerContext = yield* Effect.promise(() => getTrackerContext(issueId, workspacePath));
|
|
5485
5513
|
const agentPrompt = yield* Effect.promise(() => buildWorkAgentPrompt({
|
|
5486
5514
|
issueId,
|
|
@@ -5850,7 +5878,7 @@ const postAgentsRoute = HttpRouter.add("POST", "/api/agents", httpHandler(Effect
|
|
|
5850
5878
|
const body = yield* readJsonBody$1;
|
|
5851
5879
|
const eventStore = yield* EventStoreService;
|
|
5852
5880
|
const lifecycle = yield* IssueLifecycle;
|
|
5853
|
-
|
|
5881
|
+
yield* ReadModelService;
|
|
5854
5882
|
const { issueId, projectId } = body;
|
|
5855
5883
|
const autoStart = body.auto === true;
|
|
5856
5884
|
const guardrailAcknowledged = body.guardrailAcknowledged === true;
|
|
@@ -5973,7 +6001,7 @@ const postAgentsRoute = HttpRouter.add("POST", "/api/agents", httpHandler(Effect
|
|
|
5973
6001
|
hint: "Re-run planning to produce a plan with tasks and acceptance criteria.",
|
|
5974
6002
|
issueId
|
|
5975
6003
|
}, { status: 422 });
|
|
5976
|
-
const health = yield*
|
|
6004
|
+
const health = yield* Effect.promise(() => getSystemHealthSnapshot());
|
|
5977
6005
|
emitStartAgentPhase(issueId, "guardrails", "start", "evaluating spawn guardrails");
|
|
5978
6006
|
const spawnGuardrails = evaluateSpawnGuardrails(health);
|
|
5979
6007
|
if (spawnGuardrails.blocked) {
|
|
@@ -6134,7 +6162,7 @@ const postAgentsRoute = HttpRouter.add("POST", "/api/agents", httpHandler(Effect
|
|
|
6134
6162
|
console.warn(`[start-agent] Failed to set plan.status=running (non-fatal): ${planStatusErr?.message ?? planStatusErr}`);
|
|
6135
6163
|
}
|
|
6136
6164
|
try {
|
|
6137
|
-
const { appendSessionEntry, getProjectConfigFromWorkspacePath, resolveProjectForIssue } = yield* Effect.promise(() => import("./record-
|
|
6165
|
+
const { appendSessionEntry, getProjectConfigFromWorkspacePath, resolveProjectForIssue } = yield* Effect.promise(() => import("./record-rwK-nKv_.js"));
|
|
6138
6166
|
const recordProject = resolveProjectForIssue(issueId) ?? getProjectConfigFromWorkspacePath(workspacePath);
|
|
6139
6167
|
yield* Effect.promise(() => appendSessionEntry(recordProject, issueId, {
|
|
6140
6168
|
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
@@ -6561,10 +6589,10 @@ const _serverManagedMerges = /* @__PURE__ */ new Set();
|
|
|
6561
6589
|
function firePostMergeLifecycle(issueId, options) {
|
|
6562
6590
|
const started = postMergeGuard.run(issueId, async () => {
|
|
6563
6591
|
const projectPath = getProjectPathForIssue(extractPrefixSync(issueId) ?? issueId.split("-")[0]);
|
|
6564
|
-
const { postMergeLifecycle } = await import("./merge-agent-
|
|
6592
|
+
const { postMergeLifecycle } = await import("./merge-agent-B-SnXOoc.js");
|
|
6565
6593
|
await postMergeLifecycle(issueId, projectPath, options?.sourceBranch, options?.verifiedMergedRef ? { verifiedMergedRef: options.verifiedMergedRef } : void 0);
|
|
6566
6594
|
console.log(`[merge] post-merge lifecycle completed for ${issueId}`);
|
|
6567
|
-
const { runMergeTrainReconcile } = await import("./merge-train-
|
|
6595
|
+
const { runMergeTrainReconcile } = await import("./merge-train-CKana8EH.js");
|
|
6568
6596
|
const outcomes = await runMergeTrainReconcile(issueId);
|
|
6569
6597
|
if (outcomes.length > 0) console.log(`[merge-train] reconciled ${outcomes.length} sibling(s) after ${issueId}: ` + outcomes.map((o) => `${o.issueId}=${o.result}`).join(", "));
|
|
6570
6598
|
}, (err) => console.error(`[merge] post-merge lifecycle failed for ${issueId}:`, err));
|
|
@@ -6585,15 +6613,15 @@ init_io();
|
|
|
6585
6613
|
init_domain_services();
|
|
6586
6614
|
init_tmux();
|
|
6587
6615
|
const getSpecialistsRoute = HttpRouter.add("GET", "/api/specialists", httpHandler(Effect.gen(function* () {
|
|
6588
|
-
const { getAllSpecialistStatus, getAllProjectSpecialistStatuses } = yield* Effect.promise(() => import("./specialists-
|
|
6616
|
+
const { getAllSpecialistStatus, getAllProjectSpecialistStatuses } = yield* Effect.promise(() => import("./specialists-Dqe6_HE5.js"));
|
|
6589
6617
|
return jsonResponse({
|
|
6590
6618
|
specialists: yield* Effect.promise(() => getAllSpecialistStatus()),
|
|
6591
6619
|
projects: yield* Effect.promise(() => getAllProjectSpecialistStatuses())
|
|
6592
6620
|
});
|
|
6593
6621
|
})));
|
|
6594
6622
|
const postSpecialistsResetAllRoute = HttpRouter.add("POST", "/api/specialists/reset-all", httpHandler(Effect.gen(function* () {
|
|
6595
|
-
const { getAllSpecialists, isRunning, getTmuxSessionName } = yield* Effect.promise(() => import("./specialists-
|
|
6596
|
-
const { clearHookSync } = yield* Effect.promise(() => import("./hooks-
|
|
6623
|
+
const { getAllSpecialists, isRunning, getTmuxSessionName } = yield* Effect.promise(() => import("./specialists-Dqe6_HE5.js"));
|
|
6624
|
+
const { clearHookSync } = yield* Effect.promise(() => import("./hooks-B-HItBiS.js"));
|
|
6597
6625
|
const specialists = getAllSpecialists();
|
|
6598
6626
|
const results = [];
|
|
6599
6627
|
for (const specialist of specialists) {
|
|
@@ -6649,7 +6677,7 @@ const postSpecialistsDoneRoute = HttpRouter.add("POST", "/api/specialists/done",
|
|
|
6649
6677
|
}
|
|
6650
6678
|
console.log(`[specialists/done] ${specialist} signaling ${status} for ${normalizedIssueId}`);
|
|
6651
6679
|
if (specialist === "merge") {
|
|
6652
|
-
const { reportSpecialistCompletion } = yield* Effect.promise(() => import("./specialist-completion-
|
|
6680
|
+
const { reportSpecialistCompletion } = yield* Effect.promise(() => import("./specialist-completion-CqmduO92.js"));
|
|
6653
6681
|
if (yield* reportSpecialistCompletion(normalizedIssueId, {
|
|
6654
6682
|
status,
|
|
6655
6683
|
notes
|
|
@@ -6696,7 +6724,7 @@ const postSpecialistsDoneRoute = HttpRouter.add("POST", "/api/specialists/done",
|
|
|
6696
6724
|
if (specialist === "inspect" && status === "failed") yield* Effect.promise(() => reportTieredInspectFailureEscalation(normalizedIssueId, notes));
|
|
6697
6725
|
yield* Effect.promise(async () => {
|
|
6698
6726
|
try {
|
|
6699
|
-
const { getTmuxSessionName, updateRunMetadata, makeSpecialistRegistryKey } = await import("./specialists-
|
|
6727
|
+
const { getTmuxSessionName, updateRunMetadata, makeSpecialistRegistryKey } = await import("./specialists-Dqe6_HE5.js");
|
|
6700
6728
|
const projectKey = resolveProjectFromIssueSync(normalizedIssueId)?.projectKey;
|
|
6701
6729
|
const tmuxSession = projectKey ? getTmuxSessionName(`${specialist}-agent`, projectKey, normalizedIssueId) : getTmuxSessionName(`${specialist}-agent`);
|
|
6702
6730
|
saveAgentRuntimeState(tmuxSession, {
|
|
@@ -6715,7 +6743,7 @@ const postSpecialistsDoneRoute = HttpRouter.add("POST", "/api/specialists/done",
|
|
|
6715
6743
|
});
|
|
6716
6744
|
console.log(`[specialists/done] Cleared registry lock for ${registryKey} (${projectKey})`);
|
|
6717
6745
|
}
|
|
6718
|
-
const { updateSpecialistHandoffStatus } = await import("./specialist-handoff-logger-
|
|
6746
|
+
const { updateSpecialistHandoffStatus } = await import("./specialist-handoff-logger-Dnjlwt7g.js");
|
|
6719
6747
|
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}`);
|
|
6720
6748
|
} catch (err) {
|
|
6721
6749
|
console.error(`[specialists/done] Error managing specialist state:`, err);
|
|
@@ -6727,7 +6755,7 @@ const postSpecialistsDoneRoute = HttpRouter.add("POST", "/api/specialists/done",
|
|
|
6727
6755
|
if (project) {
|
|
6728
6756
|
const workspacePath = join(project.projectPath, "workspaces", `feature-${normalizedIssueId.toLowerCase()}`);
|
|
6729
6757
|
if (existsSync(workspacePath)) {
|
|
6730
|
-
const { getWorkspaceGitInfo } = await import("./git-utils-
|
|
6758
|
+
const { getWorkspaceGitInfo } = await import("./git-utils-CsKGnzFA.js");
|
|
6731
6759
|
const { HEAD } = await Effect.runPromise(getWorkspaceGitInfo(workspacePath));
|
|
6732
6760
|
setReviewStatusSync(normalizedIssueId, { reviewedAtCommit: HEAD });
|
|
6733
6761
|
console.log(`[specialists/done] Snapshotted reviewedAtCommit=${HEAD.substring(0, 8)} for ${normalizedIssueId}`);
|
|
@@ -6739,7 +6767,7 @@ const postSpecialistsDoneRoute = HttpRouter.add("POST", "/api/specialists/done",
|
|
|
6739
6767
|
});
|
|
6740
6768
|
if (specialist === "inspect" && status === "passed") yield* Effect.promise(async () => {
|
|
6741
6769
|
try {
|
|
6742
|
-
const { onInspectComplete } = await import("./inspect-agent-
|
|
6770
|
+
const { onInspectComplete } = await import("./inspect-agent-Dq0z1k3H.js");
|
|
6743
6771
|
const project = resolveProjectFromIssueSync(normalizedIssueId);
|
|
6744
6772
|
if (project) {
|
|
6745
6773
|
const workspacePath = join(project.projectPath, "workspaces", `feature-${normalizedIssueId.toLowerCase()}`);
|
|
@@ -6755,7 +6783,7 @@ const postSpecialistsDoneRoute = HttpRouter.add("POST", "/api/specialists/done",
|
|
|
6755
6783
|
if (project) {
|
|
6756
6784
|
if (existsSync(join(project.projectPath, "workspaces", `feature-${normalizedIssueId.toLowerCase()}`))) {
|
|
6757
6785
|
setReviewStatusSync(normalizedIssueId, { testStatus: "passed" });
|
|
6758
|
-
const { initEventStore } = await import("./event-store-
|
|
6786
|
+
const { initEventStore } = await import("./event-store-CpBGsO6_.js");
|
|
6759
6787
|
await (await initEventStore()).appendAsync({
|
|
6760
6788
|
type: "test.passed",
|
|
6761
6789
|
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
@@ -6808,8 +6836,8 @@ const postSpecialistsDoneRoute = HttpRouter.add("POST", "/api/specialists/done",
|
|
|
6808
6836
|
if (notes?.toLowerCase().includes("conflict")) yield* Effect.promise(async () => {
|
|
6809
6837
|
try {
|
|
6810
6838
|
const workAgentId = `agent-${normalizedIssueId.toLowerCase()}`;
|
|
6811
|
-
const { sessionExists } = await import("./tmux-
|
|
6812
|
-
const { messageAgent, spawnAgent, getAgentStateSync } = await import("./agents-
|
|
6839
|
+
const { sessionExists } = await import("./tmux-BAvtac_u.js");
|
|
6840
|
+
const { messageAgent, spawnAgent, getAgentStateSync } = await import("./agents-DyHKlq1I.js");
|
|
6813
6841
|
if (await Effect.runPromise(sessionExists(workAgentId))) {
|
|
6814
6842
|
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}`);
|
|
6815
6843
|
console.log(`[specialists/done] Sent rebase instructions to ${workAgentId}`);
|
|
@@ -6823,7 +6851,7 @@ const postSpecialistsDoneRoute = HttpRouter.add("POST", "/api/specialists/done",
|
|
|
6823
6851
|
try {
|
|
6824
6852
|
const project = resolveProjectFromIssueSync(normalizedIssueId);
|
|
6825
6853
|
const workspacePath = project ? join(project.projectPath, "workspaces", `feature-${normalizedIssueId.toLowerCase()}`) : void 0;
|
|
6826
|
-
const { deliverReviewVerdictFeedback } = await import("./review-verdict-feedback-
|
|
6854
|
+
const { deliverReviewVerdictFeedback } = await import("./review-verdict-feedback-JImjut0z.js");
|
|
6827
6855
|
const result = await Effect.runPromise(deliverReviewVerdictFeedback({
|
|
6828
6856
|
issueId: normalizedIssueId,
|
|
6829
6857
|
verdict: status === "failed" ? "failed" : "blocked",
|
|
@@ -6864,7 +6892,7 @@ const postSpecialistsDoneRoute = HttpRouter.add("POST", "/api/specialists/done",
|
|
|
6864
6892
|
});
|
|
6865
6893
|
})));
|
|
6866
6894
|
const postSpecialistsLogsCleanupAllRoute = HttpRouter.add("POST", "/api/specialists/logs/cleanup-all", httpHandler(Effect.gen(function* () {
|
|
6867
|
-
const { cleanupAllLogsSync } = yield* Effect.promise(() => import("./specialist-logs-
|
|
6895
|
+
const { cleanupAllLogsSync } = yield* Effect.promise(() => import("./specialist-logs-CQnKzuZs.js"));
|
|
6868
6896
|
const results = cleanupAllLogsSync();
|
|
6869
6897
|
return jsonResponse({
|
|
6870
6898
|
success: true,
|
|
@@ -6874,7 +6902,7 @@ const postSpecialistsLogsCleanupAllRoute = HttpRouter.add("POST", "/api/speciali
|
|
|
6874
6902
|
});
|
|
6875
6903
|
})));
|
|
6876
6904
|
const getSpecialistsProjectsRoute = HttpRouter.add("GET", "/api/specialists/projects", httpHandler(Effect.gen(function* () {
|
|
6877
|
-
const { getAllProjectSpecialistStatuses } = yield* Effect.promise(() => import("./specialists-
|
|
6905
|
+
const { getAllProjectSpecialistStatuses } = yield* Effect.promise(() => import("./specialists-Dqe6_HE5.js"));
|
|
6878
6906
|
return jsonResponse(yield* Effect.promise(() => getAllProjectSpecialistStatuses()));
|
|
6879
6907
|
})));
|
|
6880
6908
|
const postSpecialistWakeRoute = HttpRouter.add("POST", "/api/specialists/:name/wake", httpHandler(Effect.gen(function* () {
|
|
@@ -6918,7 +6946,7 @@ const postSpecialistReportStatusRoute = HttpRouter.add("POST", "/api/specialists
|
|
|
6918
6946
|
"blocked",
|
|
6919
6947
|
"failed"
|
|
6920
6948
|
].includes(status)) {
|
|
6921
|
-
const { getTmuxSessionName } = yield* Effect.promise(() => import("./specialists-
|
|
6949
|
+
const { getTmuxSessionName } = yield* Effect.promise(() => import("./specialists-Dqe6_HE5.js"));
|
|
6922
6950
|
saveAgentRuntimeState(getTmuxSessionName(name), {
|
|
6923
6951
|
state: "idle",
|
|
6924
6952
|
lastActivity: (/* @__PURE__ */ new Date()).toISOString()
|
|
@@ -7039,7 +7067,7 @@ const postProjectSpecialistKillRoute = HttpRouter.add("POST", "/api/specialists/
|
|
|
7039
7067
|
const issueId = params["issueId"];
|
|
7040
7068
|
const type = params["type"];
|
|
7041
7069
|
if (!validateSpecialistAgentName(type)) return jsonResponse({ error: "Invalid specialist type. Must be review-agent, test-agent, or merge-agent" }, { status: 400 });
|
|
7042
|
-
const { getTmuxSessionName, makeSpecialistRegistryKey, getRunMetadata } = yield* Effect.promise(() => import("./specialists-
|
|
7070
|
+
const { getTmuxSessionName, makeSpecialistRegistryKey, getRunMetadata } = yield* Effect.promise(() => import("./specialists-Dqe6_HE5.js"));
|
|
7043
7071
|
const tmuxSession = getRunMetadata(project, makeSpecialistRegistryKey(type, issueId)).tmuxSession ?? getTmuxSessionName(type, project, issueId);
|
|
7044
7072
|
yield* Effect.promise(() => Effect.runPromise(killSession(tmuxSession)).catch(() => {}));
|
|
7045
7073
|
saveAgentRuntimeState(tmuxSession, {
|
|
@@ -7066,7 +7094,7 @@ const getProjectSpecialistRunsRoute = HttpRouter.add("GET", "/api/specialists/:p
|
|
|
7066
7094
|
if (limitParam) limit = parseInt(limitParam, 10);
|
|
7067
7095
|
if (offsetParam) offset = parseInt(offsetParam, 10);
|
|
7068
7096
|
}
|
|
7069
|
-
const { listRunLogsSync } = yield* Effect.promise(() => import("./specialist-logs-
|
|
7097
|
+
const { listRunLogsSync } = yield* Effect.promise(() => import("./specialist-logs-CQnKzuZs.js"));
|
|
7070
7098
|
return jsonResponse(listRunLogsSync(project, type, {
|
|
7071
7099
|
limit,
|
|
7072
7100
|
offset
|
|
@@ -7077,7 +7105,7 @@ const getProjectSpecialistRunStreamRoute = HttpRouter.add("GET", "/api/specialis
|
|
|
7077
7105
|
const project = params["project"];
|
|
7078
7106
|
const type = params["type"];
|
|
7079
7107
|
const runId = params["runId"];
|
|
7080
|
-
const { getRunLogPath, isRunLogActive } = yield* Effect.promise(() => import("./specialist-logs-
|
|
7108
|
+
const { getRunLogPath, isRunLogActive } = yield* Effect.promise(() => import("./specialist-logs-CQnKzuZs.js"));
|
|
7081
7109
|
const logPath = getRunLogPath(project, type, runId);
|
|
7082
7110
|
if (!existsSync(logPath)) return jsonResponse({ error: "Run log not found" }, { status: 404 });
|
|
7083
7111
|
const encoder = new TextEncoder();
|
|
@@ -7136,7 +7164,7 @@ const getProjectSpecialistRunRoute = HttpRouter.add("GET", "/api/specialists/:pr
|
|
|
7136
7164
|
const project = params["project"];
|
|
7137
7165
|
const type = params["type"];
|
|
7138
7166
|
const runId = params["runId"];
|
|
7139
|
-
const { getRunLogSync, parseLogMetadata } = yield* Effect.promise(() => import("./specialist-logs-
|
|
7167
|
+
const { getRunLogSync, parseLogMetadata } = yield* Effect.promise(() => import("./specialist-logs-CQnKzuZs.js"));
|
|
7140
7168
|
const content = getRunLogSync(project, type, runId);
|
|
7141
7169
|
if (!content) return jsonResponse({ error: "Run log not found" }, { status: 404 });
|
|
7142
7170
|
return jsonResponse({
|
|
@@ -7150,7 +7178,7 @@ const postProjectSpecialistRunTerminateRoute = HttpRouter.add("POST", "/api/spec
|
|
|
7150
7178
|
const project = params["project"];
|
|
7151
7179
|
const type = params["type"];
|
|
7152
7180
|
if (!validateSpecialistAgentName(type)) return jsonResponse({ error: "Invalid specialist type. Must be review-agent, test-agent, or merge-agent" }, { status: 400 });
|
|
7153
|
-
const { terminateSpecialist } = yield* Effect.promise(() => import("./specialists-
|
|
7181
|
+
const { terminateSpecialist } = yield* Effect.promise(() => import("./specialists-Dqe6_HE5.js"));
|
|
7154
7182
|
yield* Effect.promise(() => terminateSpecialist(project, type));
|
|
7155
7183
|
return jsonResponse({
|
|
7156
7184
|
success: true,
|
|
@@ -7162,7 +7190,7 @@ const postProjectSpecialistGracePauseRoute = HttpRouter.add("POST", "/api/specia
|
|
|
7162
7190
|
const project = params["project"];
|
|
7163
7191
|
const type = params["type"];
|
|
7164
7192
|
if (!validateSpecialistAgentName(type)) return jsonResponse({ error: "Invalid specialist type. Must be review-agent, test-agent, or merge-agent" }, { status: 400 });
|
|
7165
|
-
const { pauseGracePeriod } = yield* Effect.promise(() => import("./specialists-
|
|
7193
|
+
const { pauseGracePeriod } = yield* Effect.promise(() => import("./specialists-Dqe6_HE5.js"));
|
|
7166
7194
|
if (pauseGracePeriod(project, type)) return jsonResponse({
|
|
7167
7195
|
success: true,
|
|
7168
7196
|
message: "Grace period paused"
|
|
@@ -7174,7 +7202,7 @@ const postProjectSpecialistGraceResumeRoute = HttpRouter.add("POST", "/api/speci
|
|
|
7174
7202
|
const project = params["project"];
|
|
7175
7203
|
const type = params["type"];
|
|
7176
7204
|
if (!validateSpecialistAgentName(type)) return jsonResponse({ error: "Invalid specialist type. Must be review-agent, test-agent, or merge-agent" }, { status: 400 });
|
|
7177
|
-
const { resumeGracePeriod } = yield* Effect.promise(() => import("./specialists-
|
|
7205
|
+
const { resumeGracePeriod } = yield* Effect.promise(() => import("./specialists-Dqe6_HE5.js"));
|
|
7178
7206
|
if (resumeGracePeriod(project, type)) return jsonResponse({
|
|
7179
7207
|
success: true,
|
|
7180
7208
|
message: "Grace period resumed"
|
|
@@ -7186,7 +7214,7 @@ const postProjectSpecialistGraceExitRoute = HttpRouter.add("POST", "/api/special
|
|
|
7186
7214
|
const project = params["project"];
|
|
7187
7215
|
const type = params["type"];
|
|
7188
7216
|
if (!validateSpecialistAgentName(type)) return jsonResponse({ error: "Invalid specialist type. Must be review-agent, test-agent, or merge-agent" }, { status: 400 });
|
|
7189
|
-
const { exitGracePeriod } = yield* Effect.promise(() => import("./specialists-
|
|
7217
|
+
const { exitGracePeriod } = yield* Effect.promise(() => import("./specialists-Dqe6_HE5.js"));
|
|
7190
7218
|
exitGracePeriod(project, type);
|
|
7191
7219
|
return jsonResponse({
|
|
7192
7220
|
success: true,
|
|
@@ -7198,7 +7226,7 @@ const getProjectSpecialistGraceRoute = HttpRouter.add("GET", "/api/specialists/:
|
|
|
7198
7226
|
const project = params["project"];
|
|
7199
7227
|
const type = params["type"];
|
|
7200
7228
|
if (!validateSpecialistAgentName(type)) return jsonResponse({ error: "Invalid specialist type. Must be review-agent, test-agent, or merge-agent" }, { status: 400 });
|
|
7201
|
-
const { getGracePeriodState } = yield* Effect.promise(() => import("./specialists-
|
|
7229
|
+
const { getGracePeriodState } = yield* Effect.promise(() => import("./specialists-Dqe6_HE5.js"));
|
|
7202
7230
|
const state = getGracePeriodState(project, type);
|
|
7203
7231
|
if (state) return jsonResponse(state);
|
|
7204
7232
|
else return jsonResponse({ error: "No active grace period" }, { status: 404 });
|
|
@@ -7207,7 +7235,7 @@ const getProjectSpecialistContextRoute = HttpRouter.add("GET", "/api/specialists
|
|
|
7207
7235
|
const params = yield* HttpRouter.params;
|
|
7208
7236
|
const project = params["project"];
|
|
7209
7237
|
const type = params["type"];
|
|
7210
|
-
const { loadContextDigest } = yield* Effect.promise(() => import("./specialist-context-
|
|
7238
|
+
const { loadContextDigest } = yield* Effect.promise(() => import("./specialist-context-CJ-QjFR-.js"));
|
|
7211
7239
|
const digest = loadContextDigest(project, type);
|
|
7212
7240
|
if (digest) return jsonResponse({ digest });
|
|
7213
7241
|
else return jsonResponse({ error: "No context digest found" }, { status: 404 });
|
|
@@ -7216,7 +7244,7 @@ const postProjectSpecialistContextRegenerateRoute = HttpRouter.add("POST", "/api
|
|
|
7216
7244
|
const params = yield* HttpRouter.params;
|
|
7217
7245
|
const project = params["project"];
|
|
7218
7246
|
const type = params["type"];
|
|
7219
|
-
const { regenerateContextDigest } = yield* Effect.promise(() => import("./specialist-context-
|
|
7247
|
+
const { regenerateContextDigest } = yield* Effect.promise(() => import("./specialist-context-CJ-QjFR-.js"));
|
|
7220
7248
|
const digest = yield* Effect.promise(() => regenerateContextDigest(project, type));
|
|
7221
7249
|
if (digest) return jsonResponse({
|
|
7222
7250
|
digest,
|
|
@@ -7235,7 +7263,7 @@ const postProjectSpecialistCompleteRoute = HttpRouter.add("POST", "/api/speciali
|
|
|
7235
7263
|
"blocked"
|
|
7236
7264
|
].includes(status)) return jsonResponse({ error: "Valid status (passed/failed/blocked) is required" }, { status: 400 });
|
|
7237
7265
|
if (!validateSpecialistAgentName(type)) return jsonResponse({ error: "Invalid specialist type. Must be review-agent, test-agent, or merge-agent" }, { status: 400 });
|
|
7238
|
-
const { signalSpecialistCompletion } = yield* Effect.promise(() => import("./specialists-
|
|
7266
|
+
const { signalSpecialistCompletion } = yield* Effect.promise(() => import("./specialists-Dqe6_HE5.js"));
|
|
7239
7267
|
signalSpecialistCompletion(project, type, {
|
|
7240
7268
|
status,
|
|
7241
7269
|
notes
|
|
@@ -7269,8 +7297,8 @@ const postProjectSpecialistLogsCleanupRoute = HttpRouter.add("POST", "/api/speci
|
|
|
7269
7297
|
const params = yield* HttpRouter.params;
|
|
7270
7298
|
const project = params["project"];
|
|
7271
7299
|
const type = params["type"];
|
|
7272
|
-
const { cleanupOldLogsSync } = yield* Effect.promise(() => import("./specialist-logs-
|
|
7273
|
-
const { getSpecialistRetention } = yield* Effect.promise(() => import("./projects-
|
|
7300
|
+
const { cleanupOldLogsSync } = yield* Effect.promise(() => import("./specialist-logs-CQnKzuZs.js"));
|
|
7301
|
+
const { getSpecialistRetention } = yield* Effect.promise(() => import("./projects-BKkwpH6q.js"));
|
|
7274
7302
|
const retention = getSpecialistRetention(project);
|
|
7275
7303
|
const deleted = cleanupOldLogsSync(project, type, {
|
|
7276
7304
|
maxDays: retention.max_days,
|
|
@@ -7291,7 +7319,7 @@ const postProjectReviewRestartRoute = HttpRouter.add("POST", "/api/specialists/:
|
|
|
7291
7319
|
const project = params["project"];
|
|
7292
7320
|
const issueId = params["issueId"];
|
|
7293
7321
|
const { model, harness } = yield* readJsonBody;
|
|
7294
|
-
const { killAllReviewerSessions } = yield* Effect.promise(() => import("./review-agent-
|
|
7322
|
+
const { killAllReviewerSessions } = yield* Effect.promise(() => import("./review-agent-CCum8sGe.js"));
|
|
7295
7323
|
const killResult = yield* killAllReviewerSessions(project, issueId);
|
|
7296
7324
|
const projectConfig = resolveProjectFromIssueSync(issueId);
|
|
7297
7325
|
if (!projectConfig) return jsonResponse({ error: `Cannot resolve project for ${issueId}` }, { status: 404 });
|
|
@@ -7305,7 +7333,7 @@ const postProjectReviewRestartRoute = HttpRouter.add("POST", "/api/specialists/:
|
|
|
7305
7333
|
}));
|
|
7306
7334
|
branch = stdout.trim() || "unknown";
|
|
7307
7335
|
} catch {}
|
|
7308
|
-
const { spawnReviewRoleForIssue } = yield* Effect.promise(() => import("./review-agent-
|
|
7336
|
+
const { spawnReviewRoleForIssue } = yield* Effect.promise(() => import("./review-agent-CCum8sGe.js"));
|
|
7309
7337
|
const prUrl = getReviewStatusSync(issueId)?.prUrl;
|
|
7310
7338
|
const result = yield* spawnReviewRoleForIssue({
|
|
7311
7339
|
issueId,
|
|
@@ -7456,4 +7484,4 @@ const specialistsRouteLayer = Layer.mergeAll(specialistsLegacyRouteLayer, specia
|
|
|
7456
7484
|
//#endregion
|
|
7457
7485
|
export { runInBatches as $, handleConversationDelete as A, stopConversationRuntime as B, isPiControlChannelHarness as C, conversationNeedsRunningRepair as D, validateConversationControlAckOrigin as E, isInsideGitWorkTree as F, cleanupOrphanedConversationAttachments as G, waitForPiTuiReady as H, resolveAllowedHarness as I, extractConversationAttachmentPaths as J, cleanupUnreferencedConversationAttachments as K, shouldReportUnresolvedLiveSession as L, handleConversationResume as M, handleConversationStop as N, conversationSessionAliveFromState as O, handleConversationSwitchModel as P, removeConversationAttachment as Q, spawnConversationSession as R, handleConversationThinkingLevel as S, resolveConversationDeliveryMethod as T, waitForTmuxSession as U, tmuxSessionExists as V, cleanupConversationAttachments as W, hasConversationAttachment as X, getConversationAttachmentsRoot as Y, isManagedConversationAttachmentPath as Z, handleConversationCodexApproval as _, validateOrigin as _t, agentsRouteLayer as a, panCliInvocation as at, handleConversationDeliveryMethod as b, getDefaultCwd as bt, hasDashboardInternalToken as c, resolveAgentHarness as ct, rejectUnsafeDashboardMutationRequest as d, resolveJsonlPath as dt, evaluateSpawnGuardrails as et, saveAgentStateAndEmitEvent as f, resolvePiSessionPath as ft, handleConversationAbort as g, isTrustedOriginForHost as gt, deliverConversationViaControlChannel as h, getHeaderFromMap as ht, validateSpecialistAutoCompleteMetadata as i, getWorkAgentLifecycleStateSync as it, handleConversationRestartAll as j, handleConversationCreate as k, rejectUnauthorizedDashboardRequest as l, resolveClaudeSessionId as lt, codexConversationPendingInput as m, waitForSessionRespawn as mt, _serverManagedMerges as n, resolveAgentGitInfo as nt, dashboardCsrfToken as o, spawnPanCli as ot, saveAgentStateAndEmitEventProgram as p, isRespawnPending as pt, ensureConversationAttachmentDir as q, firePostMergeLifecycle as r, resolveConversationGitInfo as rt, dashboardSessionCookieHeader as s, readLauncherPinnedSessionId as st, specialistsRouteLayer as t, invalidateAgentsCache as tt, rejectUnauthorizedDashboardSessionMintRequest as u, resolveCodexRolloutPath as ut, handleConversationCompact as v, validateOriginHeaders as vt, pickDeliverAs as w, handleConversationPlanAction as x, jsonResponse as xt, handleConversationControlAck as y, httpHandler as yt, startConversationModelBackfill as z };
|
|
7458
7486
|
|
|
7459
|
-
//# sourceMappingURL=specialists-
|
|
7487
|
+
//# sourceMappingURL=specialists-Bg9v4z3F.js.map
|