@overdeck/desktop 0.46.0 → 0.47.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/drizzle/overdeck/0000_overdeck_init.sql +4 -1
- package/package.json +1 -1
- package/server/{acceptance-criteria-CCwFGICj.js → acceptance-criteria-10Ur5Dne.js} +2 -2
- package/server/{advancing-selfheal-De1L-Sb4.js → advancing-selfheal-BNwqxseD.js} +6 -6
- package/server/{agent-gc-CBULruzm.js → agent-gc-C3h9Or3a.js} +5 -5
- package/server/{agent-state-VQk8fY9F.js → agent-state-CYXJVG72.js} +1 -1
- package/server/agent-state-service-C63p_ftq.js +2 -0
- package/server/{agent-state-service-BlnSkRFA.js → agent-state-service-Ds6OeFvo.js} +15 -9
- package/server/{agents-C5rWYhb6.js → agents-J5mEnekq.js} +23 -16
- package/server/{agents-BKKkxKgK.js → agents-ePFVoZbu.js} +1 -1
- package/server/archive-planning-B2XplFzT.js +2 -0
- package/server/{archive-planning-C0lAbNB_.js → archive-planning-BwhxeP7C.js} +10 -6
- package/server/{artifact-index-jobs-ug6ZxIP5.js → artifact-index-jobs-D1q_vR3V.js} +2 -2
- package/server/{assemble-DnffNpOo.js → assemble-Bgwqv-Ro.js} +2 -2
- package/server/{tmux-dedup-DbN6MGzM.js → auto-spawn-consent-CQ9Bi9q6.js} +262 -13
- package/server/{backlog-auto-trigger-Dh-i9PQf.js → backlog-auto-trigger-n1lzPgN4.js} +3 -3
- package/server/{behavior-CfIg6pKp.js → behavior-td6-xhQk.js} +2 -2
- package/server/boot-reconciled-stop-events-C7gGe3oB.js +44 -0
- package/server/{bridge-pool-patrol-CUFmjVDN.js → bridge-pool-patrol-CYH2OLb5.js} +1 -1
- package/server/{briefing-freshness-DHmCSLar.js → briefing-freshness-DRqZ8lAz.js} +2 -2
- package/server/{build-info-CuFfxZxp.js → build-info-7yiEpl6u.js} +3 -3
- package/server/{build-info-BP160gU7.js → build-info-CpG__c63.js} +1 -1
- package/server/{checkpoint-manager-Dxh0FYsv.js → checkpoint-manager-CkKmB0wZ.js} +1 -1
- package/server/{checkpoint-manager-DEWD82qK.js → checkpoint-manager-DBcyNR8w.js} +2 -2
- package/server/checkpoint-worker.js +1 -1
- package/server/{checkpoints-CZvbtLnr.js → checkpoints-D95apurL.js} +2 -2
- package/server/{checkpoints-DMTgXuLG.js → checkpoints-Wm963lm8.js} +1 -1
- package/server/{claude-hooks-provision-CN-xo-do.js → claude-hooks-provision-4RPxNkE8.js} +1 -1
- package/server/{claude-hooks-provision-fvy4RD2b.js → claude-hooks-provision-Bjitl9aI.js} +2 -2
- package/server/{claude-permissions-CN0cSCPp.js → claude-permissions-CpbpvUQ2.js} +2 -2
- package/server/{claude-settings-overlay-Dabi9slj.js → claude-settings-overlay-BzkHYDwR.js} +1 -1
- package/server/{claude-settings-overlay-CJn35FHQ.js → claude-settings-overlay-_H9Yrzab.js} +2 -2
- package/server/cli-CjOCSnfj.js +3 -0
- package/server/{cli-oCWYA1pE.js → cli-Cte9ZFGn.js} +9 -9
- package/server/{cliproxy-C8mB3KuB.js → cliproxy-C5fMJ7rY.js} +2 -2
- package/server/{cliproxy-PGwTX_o8.js → cliproxy-DaAbWMjC.js} +1 -1
- package/server/{close-issue-D5MF5GqF.js → close-issue-BPh1ARCF.js} +5 -5
- package/server/{closed-issue-reaper-CJ24u0Zt.js → closed-issue-reaper-DHRfRMrp.js} +1 -1
- package/server/{closed-issue-reaper-Cltx86x5.js → closed-issue-reaper-DoOZqGFK.js} +62 -12
- package/server/{codex-Drlf5Xhf.js → codex-BzGDW_d3.js} +6 -6
- package/server/{codex-BdEsUFWh.js → codex-o8FJwzmy.js} +1 -1
- package/server/{codex-parser-DpB89Vqa.js → codex-parser-Dt-ycU8L.js} +2 -2
- package/server/{compaction-continuation-K2AxQX4H.js → compaction-continuation-CvXpbZ4w.js} +3 -3
- package/server/{config-B2IMcBxx.js → config-Bi3u1VK7.js} +2 -2
- package/server/{config-Dr3pW6w6.js → config-BvLe652W.js} +2 -2
- package/server/{config-DV-grfQc.js → config-CL3Gyvja.js} +1 -1
- package/server/{config-yaml-CmOPzmBb.js → config-yaml-CxdwhAIA.js} +10 -2
- package/server/conflict-gate-CX80JYYS.js +3 -0
- package/server/{conflict-gate-B9cN3SBi.js → conflict-gate-E4nt7ZeS.js} +59 -13
- package/server/{context-layers-dR5YxHYB.js → context-layers-C_IIysnm.js} +3 -3
- package/server/{context-layers-D6LZo3l1.js → context-layers-DAG83UZt.js} +2 -2
- package/server/{control-settings-C7DUehE1.js → control-settings-CiqGxXnc.js} +13 -6
- package/server/{conversation-compaction-Dj4FAKoZ.js → conversation-compaction-BE3CNtHF.js} +1 -1
- package/server/{conversation-compaction-BoqdDXWF.js → conversation-compaction-D6-yLtqt.js} +8 -8
- package/server/{conversation-service-5aCnq1zR.js → conversation-service-DBxoYMDl.js} +8 -7
- package/server/{conversation-service-BCxl4f8Z.js → conversation-service-D_TS2b1r.js} +1 -1
- package/server/{conversations-C34dyIb9.js → conversations-BKDVpB-3.js} +1 -1
- package/server/{conversations-BUpYsOZg.js → conversations-D0UEdLtk.js} +4 -4
- package/server/{cost-CvxRrucd.js → cost-DS1s0DbG.js} +3 -3
- package/server/{cost-Bgcub5kW.js → cost-DpgYmYqR.js} +2 -2
- package/server/{cost-sync-Dv3LUaNW.js → cost-sync-tOCCGnEt.js} +3 -3
- package/server/{dag-ombYYt4s.js → dag-BtkgLeqY.js} +2 -2
- package/server/{dangerous-git-ops-BcJPC5Rr.js → dangerous-git-ops-CFLykHWt.js} +1 -1
- package/server/dashboard-db-worker.js +7 -7
- package/server/{deacon-DrXqT9LQ.js → deacon-BIblC-WX.js} +3 -3
- package/server/{deacon-nudge-log-BNBebzeL.js → deacon-nudge-log-B08gF0mh.js} +3 -3
- package/server/{deacon-hi9KLPLT.js → deacon-pLRLbPvR.js} +548 -176
- package/server/{deacon-pending-lifecycle-Cpk0k7Hi.js → deacon-pending-lifecycle-B-Io84AP.js} +3 -3
- package/server/deacon-swarm-B1XkIvfr.js +2 -0
- package/server/{deacon-swarm-DBxUaO-A.js → deacon-swarm-v5PMun-m.js} +15 -14
- package/server/deacon.js +8 -8
- package/server/{dead-end-trip-CQcP70ND.js → dead-end-trip-D8A3msX9.js} +3 -3
- package/server/{delivery-Da0zEMY4.js → delivery-BX9HR4wQ.js} +1 -1
- package/server/{deploy-patrol-Df-Tmaq0.js → deploy-patrol-sYgOxLeb.js} +8 -8
- package/server/{deploy-queue-UjKGYsDe.js → deploy-queue-VfohaPN_.js} +2 -2
- package/server/{deploy-queue-9SrhZR63.js → deploy-queue-gHJBycaF.js} +1 -1
- package/server/{deploy-window-jOiPRHL0.js → deploy-window-CFRZ0-kt.js} +1 -1
- package/server/{deploy-window-rpqpWqHA.js → deploy-window-D4DQb8VP.js} +6 -6
- package/server/{dev-supervisor-CC46Ig8q.js → dev-supervisor-DiOBDM1c.js} +2 -2
- package/server/{devcontainer-renderer-68CSCRnu.js → devcontainer-renderer-BUOIlfgD.js} +3 -3
- package/server/dist-B3YPQa5A.js +3 -0
- package/server/{dist-CJy72uEg.js → dist-C3A8B8wM.js} +1 -1
- package/server/{dist-src-Bik83hFi.js → dist-src-C0adpegX.js} +1 -1
- package/server/{docker-Dam7mbIB.js → docker-BJzlkqYB.js} +2 -2
- package/server/{docker-BMVTSFL5.js → docker-Y3PElJb0.js} +1 -1
- package/server/{dod-Dar-yheg.js → dod-DlNtcH6n.js} +26 -5
- package/server/{durable-review-pipeline-CGZ5QBxh.js → durable-review-pipeline-Cibps-Rg.js} +5 -2
- package/server/durable-review-pipeline-DP6bIcOY.js +3 -0
- package/server/{ensure-devcontainer-B057YA81.js → ensure-devcontainer-BAofzBPv.js} +4 -4
- package/server/{ensure-devcontainer-C98V8yW-.js → ensure-devcontainer-DMAbWqtQ.js} +1 -1
- package/server/{esm-shims-Br9BPdkR.js → esm-shims-BeObUkaw.js} +1 -1
- package/server/{event-store-ELqkVOn0.js → event-store-5UKzh9Jf.js} +1 -1
- package/server/{event-store-zY5MJHgF.js → event-store-CrHcVC5_.js} +3 -3
- package/server/{events-D9PR1IC0.js → events-BNrvchBg.js} +3 -3
- package/server/{events-D6pyqhzM.js → events-CF8QDbuV.js} +1 -1
- package/server/{factory-CRoOpGsF.js → factory-Cmm9Hsho.js} +5 -5
- package/server/{feature-registry-population--YUXU999.js → feature-registry-population-B6HpNWRy.js} +4 -4
- package/server/{feature-registry-storage-BORBTo0y.js → feature-registry-storage-DJEFx1Pf.js} +2 -2
- package/server/{features--nFkJY8v.js → features-D5km80UI.js} +2 -2
- package/server/{feedback-target-C0ZzyHvU.js → feedback-target-BJ5ZADsu.js} +1 -1
- package/server/{feedback-target-Dt9BsapX.js → feedback-target-DSxEL6lP.js} +7 -7
- package/server/{feedback-writer-BG0RUZiu.js → feedback-writer-C27Hak8a.js} +5 -5
- package/server/{feedback-writer-D1fm-5Z8.js → feedback-writer-CoB9Z6aU.js} +1 -1
- package/server/{flywheel-BiT3odRb.js → flywheel-BHx8XuMr.js} +38 -19
- package/server/{flywheel-BekukH4i.js → flywheel-DZZdtiOL.js} +1 -1
- package/server/{flywheel-CLVB55Be.js → flywheel-f662Q-y2.js} +14 -14
- package/server/{flywheel-merge-order-BJv1DZz1.js → flywheel-merge-order-D_xLMbJU.js} +7 -7
- package/server/{flywheel-merge-order-BKw9o6ku.js → flywheel-merge-order-Dil0LmdN.js} +1 -1
- package/server/forge-B5o319qI.js +3 -0
- package/server/{forge-CZbSg6Ds.js → forge-BaKGCya6.js} +2 -2
- package/server/{from-D_4_dk7i.js → from-B3tZbB55.js} +1 -1
- package/server/fs-lock-Bre3sGoz.js +130 -0
- package/server/{fts-db-BeOomFa-.js → fts-db-IVc4_M3f.js} +2 -2
- package/server/{fts-operations-BdewJ_g9.js → fts-operations-B9jG8wa3.js} +2 -2
- package/server/{git-utils-ameCgDdy.js → git-utils-CsvYfJU3.js} +4 -4
- package/server/{git-utils-CI6cwyyC.js → git-utils-Xg4PFN45.js} +1 -1
- package/server/{github-app-DtAsvwzK.js → github-app-Bmg4R9mv.js} +1 -1
- package/server/{github-app-CQ1Lo6LA.js → github-app-CmNk0zLU.js} +2 -2
- package/server/{github-client-Cj0yl_07.js → github-client-B6KM9_wA.js} +1 -1
- package/server/{github-client-BfyDxuRN.js → github-client-qazkPrg0.js} +3 -3
- package/server/{github-pr-lookup-BDq6Wznz.js → github-pr-lookup-DAcVeRLK.js} +2 -2
- package/server/{harness-binary-DqkftwTb.js → harness-binary-BSpiXaLw.js} +2 -2
- package/server/{harness-resolve-CqMqM1Mb.js → harness-resolve-BAJu5MX8.js} +4 -4
- package/server/{health-events-_xfTaOUs.js → health-events-2Z6Wa9SM.js} +1 -1
- package/server/{health-events-CazRxJUS.js → health-events-BwX32k8d.js} +2 -2
- package/server/{hooks-BnJsxlSq.js → hooks-D1g1jKLI.js} +1 -1
- package/server/{hooks-BO3QT1sn.js → hooks-DbtbimEf.js} +2 -2
- package/server/{hume-CDYJxqx-.js → hume-DXNiu6nQ.js} +2 -2
- package/server/hume-VUCNbTgn.js +3 -0
- package/server/{idle-stack-reaper-BYqERdkE.js → idle-stack-reaper-CRA1e0jr.js} +1 -1
- package/server/{idle-stack-reaper-CnGx_PO_.js → idle-stack-reaper-Cy-dQzW4.js} +2 -2
- package/server/{in-flight-guard-Bq3epG58.js → in-flight-guard-D-sSkADM.js} +1 -1
- package/server/{infra-BjuxvjdS.js → infra-BDQDRopn.js} +15 -4
- package/server/{injection-UCf8EsjX.js → injection-6AGnXxlj.js} +7 -7
- package/server/{injection-DZxlV2al.js → injection-Bl8d_jHZ.js} +1 -1
- package/server/inspect-agent-CUwVmr2h.js +2 -0
- package/server/{inspect-agent-6kylZnrm.js → inspect-agent-nXdIptyh.js} +12 -12
- package/server/{internal-token-DvMTQSOS.js → internal-token-DzK385vD.js} +2 -2
- package/server/{internal-token-M9omeXM1.js → internal-token-Ias7N8Kg.js} +1 -1
- package/server/{io-VHvc0Ssp.js → io-B00PBNku.js} +4 -4
- package/server/{issue-closed-B6KJkmHZ.js → issue-closed-BehTG1be.js} +8 -8
- package/server/{issue-lifecycle-C4Zj0WmE.js → issue-lifecycle-Birk-ifu.js} +29 -23
- package/server/{issue-lifecycle-9gk3fnXN.js → issue-lifecycle-BqSuQvbn.js} +1 -1
- package/server/{issue-service-singleton-PMx8F1jr.js → issue-service-singleton-B2wXiIlw.js} +1 -1
- package/server/{issue-service-singleton-DmCh7EHj.js → issue-service-singleton-C6ZduvuY.js} +10 -10
- package/server/{issues-CgnQ1OGQ.js → issues-DQ5-LatB.js} +2 -2
- package/server/{jsonl-parser-DJOH_O-w.js → jsonl-parser-BDpnGFCl.js} +3 -3
- package/server/{label-cleanup-Dv7AV_R1.js → label-cleanup-Dwnky8FG.js} +3 -3
- package/server/{lifecycle-DDN8ApVY.js → lifecycle-B3s4sM1G.js} +6 -6
- package/server/{lifecycle-CTdOWYMi.js → lifecycle-B4Xdb4cY.js} +2 -2
- package/server/{lifecycle-io-D_zTLvP1.js → lifecycle-io-CzTHEooc.js} +1 -1
- package/server/{lifecycle-io-D-lGdzK3.js → lifecycle-io-DCo6s6ks.js} +5 -5
- package/server/{linear-client-BQU36QqE.js → linear-client-9uq7fhiV.js} +3 -3
- package/server/{linear-client-CY4O_Tu3.js → linear-client-CnbtHiic.js} +1 -1
- package/server/{linear-mcp-auth-BnU4TYfY.js → linear-mcp-auth-BxUOzswy.js} +5 -5
- package/server/{linear-mcp-auth-NYBq_oHZ.js → linear-mcp-auth-D46fBCLf.js} +1 -1
- package/server/memory-fts-worker.js +1 -1
- package/server/{merge-Bpx4jjht.js → merge-DiW9RdSB.js} +3 -3
- package/server/{merge-agent-DdMVSV2Y.js → merge-agent-BLUgRsz3.js} +31 -31
- package/server/{merge-agent-DrXa1CpW.js → merge-agent-DQTXZk8z.js} +1 -1
- package/server/{merge-batch-C5q1c1GX.js → merge-batch-Cp_j9BGk.js} +1 -1
- package/server/{merge-completeness-BMm8tMyZ.js → merge-completeness-B46KqhtY.js} +4 -4
- package/server/{merge-completeness-D0ljXbk3.js → merge-completeness-BLbB5-6n.js} +1 -1
- package/server/merge-ops-1abz6O_P.js +2 -0
- package/server/merge-rebase-CJJVAJuz.js +2 -0
- package/server/{merge-rebase-xLnMlw5h.js → merge-rebase-DIkBjgwq.js} +2 -2
- package/server/{merge-set-DH7ot3yz.js → merge-set-CBgHfwM0.js} +4 -4
- package/server/{merge-set-DzsOTBg5.js → merge-set-DeUxFsC3.js} +1 -1
- package/server/{merge-idOG--29.js → merge-sr8Nrnmi.js} +1 -1
- package/server/merge-sync-CpGmk6Ch.js +3 -0
- package/server/{merge-sync-CQ-LgZ1_.js → merge-sync-kr4vqyjM.js} +7 -4
- package/server/{merge-train-DTEMyIu4.js → merge-train-Dmrcus12.js} +4 -4
- package/server/{merge-train-deps-CNPJzepw.js → merge-train-deps-D_uGX91G.js} +21 -15
- package/server/{merge-verification-x3JO8Dtz.js → merge-verification-NvaAd8CZ.js} +6 -6
- package/server/{merged-docker-cleanup-worker-Cdi9apm-.js → merged-docker-cleanup-worker-DH_hrGPI.js} +1 -1
- package/server/{merged-docker-cleanup-worker-CTpC27Bs.js → merged-docker-cleanup-worker-Y1R06TEl.js} +3 -3
- package/server/{multipart-parser-IMSBfePV.js → multipart-parser-R-oC8dQg.js} +2 -2
- package/server/{no-resume-mode-C5ULAXwO.js → no-resume-mode-BgD0JUmM.js} +1 -1
- package/server/node_modules/.package-lock.json +4 -4
- package/server/node_modules/@types/node/README.md +1 -1
- package/server/node_modules/@types/node/crypto.d.ts +1 -1
- package/server/node_modules/@types/node/package.json +2 -2
- package/server/{orphan-proposed-reconciler-Dg6U4ADZ.js → orphan-proposed-reconciler-B6vJHxtX.js} +230 -31
- package/server/{orphan-proposed-reconciler-CWmOdM9-.js → orphan-proposed-reconciler-DcgTPPFY.js} +1 -1
- package/server/package-lock.json +5 -5
- package/server/package.json +1 -1
- package/server/{pan-dir-ubraCiUg.js → pan-dir-DMzF5wne.js} +4 -4
- package/server/{paths-cXmOwSbh.js → paths-sJBSb7Ul.js} +2 -2
- package/server/{pending-lifecycle-claim-DEteYdS9.js → pending-lifecycle-claim-DilzGfgk.js} +2 -2
- package/server/persistent-logger-H_VjuOu7.js +57 -0
- package/server/{pickup-D8xtG1J2.js → pickup-DWhqzliO.js} +4 -3
- package/server/{pipeline-membership-BGSvkT2M.js → pipeline-membership-C88VBnhJ.js} +1 -1
- package/server/{pipeline-membership-CrAPLYtf.js → pipeline-membership-D9SBvItj.js} +1 -1
- package/server/{pipeline-membership-gather-DTfcgxLl.js → pipeline-membership-gather-4eR-7Tqy.js} +1 -1
- package/server/{pipeline-membership-gather-CET40frr.js → pipeline-membership-gather-CeVGnNJ2.js} +114 -9
- package/server/{pipeline-notifier-BuQ0e4hF.js → pipeline-notifier-D0ALV6Nw.js} +2 -2
- package/server/{pipeline-notifier-ImNXknf0.js → pipeline-notifier-DT6xLFao.js} +1 -1
- package/server/{post-merge-lifecycle-worker-DbO10pum.js → post-merge-lifecycle-worker-8HIeS_J6.js} +3 -3
- package/server/{project-pipelines-Bim6bThI.js → project-pipelines-9SKt2bEc.js} +2 -2
- package/server/{project-repos-C0nuoBGv.js → project-repos-B5pIphKg.js} +2 -2
- package/server/{project-repos-CRE6Ykow.js → project-repos-DPjOdfPa.js} +1 -1
- package/server/{projects-B03Wr-xc.js → projects-_n3Zui6K.js} +1 -1
- package/server/{prompts-BEx08AIu.js → prompts-CgzMBvQF.js} +2 -2
- package/server/{providers-D7IluJe0.js → providers-BI1mOBQ4.js} +1 -1
- package/server/{providers-evXhiQeg.js → providers-BJQSnAAp.js} +7 -7
- package/server/public/assets/{chunk-BO2N2NFS-D1s4-Sqp.js → chunk-BO2N2NFS-D_pGACYN.js} +4 -4
- package/server/public/assets/{diagram-OG6HWLK6-1gdMoSF7.js → diagram-OG6HWLK6-BO6fe3hH.js} +1 -1
- package/server/public/assets/{dist-DqDRYW6P.js → dist-5zingMiA.js} +3 -3
- package/server/public/assets/{dist-CxAOHbil.js → dist-CVxhbI2E.js} +1 -1
- package/server/public/assets/{ganttDiagram-6RSMTGT7-BYex-Ec7.js → ganttDiagram-6RSMTGT7-Bgj4A7kp.js} +1 -1
- package/server/public/assets/{highlighted-body-OFNGDK62-DlVkiG0S.js → highlighted-body-OFNGDK62-DNPK7_cm.js} +1 -1
- package/server/public/assets/{index-K0hAYCgV.js → index-DEpY-D1O.js} +148 -148
- package/server/public/assets/index-Ddkcz3WT.css +1 -0
- package/server/public/assets/{linear-B4cuEFmO.js → linear-BB0jQT16.js} +1 -1
- package/server/public/assets/mermaid-GHXKKRXX-BzPfaQJ1.js +1 -0
- package/server/public/assets/{pieDiagram-4H26LBE5-CBHNBIJQ.js → pieDiagram-4H26LBE5-DeGIzzpZ.js} +1 -1
- package/server/public/assets/{prod-CN2nHBvX.js → prod-XBLvikex.js} +4 -4
- package/server/public/assets/{quadrantDiagram-W4KKPZXB-Bom87VOQ.js → quadrantDiagram-W4KKPZXB-BV9SLeWz.js} +1 -1
- package/server/public/assets/{sankeyDiagram-5OEKKPKP-UrBeyLxk.js → sankeyDiagram-5OEKKPKP-Dwja0gj8.js} +1 -1
- package/server/public/assets/{xychartDiagram-2RQKCTM6-DhkbrIxR.js → xychartDiagram-2RQKCTM6-DCB4qvfw.js} +1 -1
- package/server/public/index.html +2 -2
- package/server/{pull-requests-DHWiKxo7.js → pull-requests-7BgLDsIo.js} +3 -3
- package/server/{pull-requests-Cv7LxzUN.js → pull-requests-Dq0y6IxE.js} +1 -1
- package/server/{queries-DHJm7bTd.js → queries-C-MUZaIy.js} +266 -155
- package/server/{rally-B71M9f4o.js → rally-CPysR4T_.js} +3 -3
- package/server/rally-D_VW4bJv.js +3 -0
- package/server/{rally-api-Dkqmok65.js → rally-api-8Ptlp2os.js} +2 -2
- package/server/{rally-api-D5uXN08-.js → rally-api-CgosKdKL.js} +1 -1
- package/server/{rally-client-CxsA6ExK.js → rally-client-CCX0hADj.js} +1 -1
- package/server/{rally-client-Bfqm6XI4.js → rally-client-iYMHWQD7.js} +5 -5
- package/server/{reap-terminal-sessions-BQ23nriz.js → reap-terminal-sessions-4Xg9NGA8.js} +2 -2
- package/server/{reap-terminal-sessions-CvmwaqKv.js → reap-terminal-sessions-Qf-9LVQc.js} +2 -2
- package/server/{rebuild-stack-0EEYReVZ.js → rebuild-stack-CMdgaylx.js} +7 -7
- package/server/{rebuild-stack-qeRqHZxH.js → rebuild-stack-DqcOVmJO.js} +2 -2
- package/server/{reconstruct-cache-BbYFsqLa.js → reconstruct-cache-CMZJ_Vjq.js} +9 -8
- package/server/{record-CtroO946.js → record-BTwWhtBb.js} +1 -1
- package/server/{record-update-Z0QCxmMp.js → record-update-DaOKS7Wb.js} +5 -128
- package/server/{record-update-DH6dLJID.js → record-update-DhI7eySG.js} +1 -1
- package/server/{recovery-trip-eJe26h-f.js → recovery-trip-DDH-02ng.js} +2 -2
- package/server/{release-engine-lPUp-MTd.js → release-engine-B2X9AfFC.js} +5 -5
- package/server/{release-set-BwGeyZKX.js → release-set-G4XKyQ8K.js} +3 -3
- package/server/{remote-BCd02Es1.js → remote-BXarMvqf.js} +3 -3
- package/server/{remote-CVGUhXMV.js → remote-CUhyqjXk.js} +3 -3
- package/server/{remote-agents-C_VxssLU.js → remote-agents-Bba-MgSA.js} +17 -8
- package/server/{remote-agents-C1bssi41.js → remote-agents-CLZB3Coc.js} +1 -1
- package/server/{remote-completion-DAB0P706.js → remote-completion-CwAp79EC.js} +13 -13
- package/server/resume-mOREjlYu.js +3 -0
- package/server/{review-agent-CHhI66UP.js → review-agent--pOptAEV.js} +31 -29
- package/server/{review-agent-CD4RCI0Y.js → review-agent-BTCNkq2h.js} +1 -1
- package/server/{review-artifacts-DSMRIfuJ.js → review-artifacts-BNmw8dWE.js} +5 -5
- package/server/{review-context-oFuBbiEE.js → review-context-DFxYOOJW.js} +9 -9
- package/server/{review-convoy-liveness-CpzrcJ5F.js → review-convoy-liveness-BgU_1jJf.js} +2 -2
- package/server/{review-status-yljtTd-q.js → review-status-CGvlA4o_.js} +326 -110
- package/server/review-status-Dma9SFaN.js +3 -0
- package/server/{review-status-emit-CUExtHd5.js → review-status-emit-DURrmGYX.js} +3 -3
- package/server/{review-status-enrichment-QV_hQkgS.js → review-status-enrichment-8NiNXi5W.js} +3 -3
- package/server/{review-status-source-ylw5QZUR.js → review-status-source-BLx_1siH.js} +1 -1
- package/server/{review-status-source-CpvJnvnQ.js → review-status-source-DIk1JSow.js} +1 -1
- package/server/{review-status-sync-483sujRo.js → review-status-sync-0GxOqeqF.js} +11 -6
- package/server/{review-status-sync-NaWvI9Xf.js → review-status-sync-muT-EBp2.js} +1 -1
- package/server/{review-verdict-feedback-BPDn4li_.js → review-verdict-feedback-HwF6ODFy.js} +1 -1
- package/server/{review-verdict-feedback-CELeUinh.js → review-verdict-feedback-xJNdqBnX.js} +23 -9
- package/server/{rollup-DTNvelz9.js → rollup-BQaol5TX.js} +8 -8
- package/server/{rollup-DYZfq1c4.js → rollup-BR4t_wck.js} +1 -1
- package/server/{scanner-CV35oSn4.js → scanner-C-D2cFdX.js} +7 -7
- package/server/{sequence-io-DF_8iuhV.js → sequence-io-Bmf1EZM5.js} +4 -4
- package/server/{sequencer-agent-B2WeCtGi.js → sequencer-agent-CigMyKh2.js} +7 -6
- package/server/server.js +435 -418
- package/server/{service-Br9rpBNA.js → service-CD0DvFvD.js} +88 -59
- package/server/{session-fork-D0LY152N.js → session-fork-B6cQ5eya.js} +2 -2
- package/server/{session-history-BUyK29eq.js → session-history-3ON_IJjm.js} +7 -55
- package/server/settings-CVmWiJ-r.js +2 -0
- package/server/{settings-CvVGqNEs.js → settings-PilbFZAM.js} +2 -2
- package/server/{settings-Bse1Pdcj.js → settings-VN0qOh4U.js} +3 -3
- package/server/{shadow-engineering-BWLa8ODz.js → shadow-engineering-DXvx77oE.js} +3 -3
- package/server/{shadow-state-B4fpKxOO.js → shadow-state-BBk_zacw.js} +2 -2
- package/server/{shadow-state-FV6PHfEW.js → shadow-state-CZBp7pwq.js} +1 -1
- package/server/{shadow-utils-D7asqxOZ.js → shadow-utils-DdZ05AJS.js} +2 -2
- package/server/{ship-log-xplJ8t75.js → ship-log-7kJfjUX2.js} +1 -1
- package/server/{smart-compaction-CPp2Ykf6.js → smart-compaction-8fA5k5XN.js} +1 -1
- package/server/{smart-compaction-D3U_79f-.js → smart-compaction-ByhL9cRS.js} +7 -7
- package/server/{spawn-planning-session-DGfZ5B8D.js → spawn-planning-session-pcF-YeFE.js} +38 -50
- package/server/spawn-planning-session-vLUJoFjy.js +3 -0
- package/server/{specialist-completion-Br48eiDP.js → specialist-completion-B07XjWD2.js} +1 -1
- package/server/{specialist-context-cVbGnTa3.js → specialist-context-DJ-zFyL3.js} +5 -5
- package/server/{specialist-handoff-logger-DK-GTz4s.js → specialist-handoff-logger-aKSxbIgD.js} +2 -2
- package/server/{specialist-logs-Cl5-hqT8.js → specialist-logs-Dae-n52_.js} +3 -3
- package/server/{specialists-CNfYO3G2.js → specialists-6PWdtWcg.js} +298 -180
- package/server/{specialists-Tdezg_6N.js → specialists-Bz-wFT7R.js} +1 -1
- package/server/{specialists-Cicieuzu.js → specialists-DUiExaxb.js} +18 -18
- package/server/{specialists-JHsdU3pA.js → specialists-KR3pKulN.js} +1 -1
- package/server/specs--enInima.js +3 -0
- package/server/{src-CRmCHlma.js → src-B948bGVR.js} +57 -13
- package/server/{src-Ck028hjO.js → src-rac0Mepv.js} +6 -6
- package/server/{src-UWcGe0Ix.js → src-vHy2-oCv.js} +3 -3
- package/server/{stack-health-CJLMrLBl.js → stack-health-BikqHSjn.js} +1 -1
- package/server/{stack-health-DqSqx0zv.js → stack-health-DqLTiEu4.js} +2 -2
- package/server/{stale-task-claims-CYFOUNlT.js → stale-task-claims-Cab_Fo_Z.js} +5 -4
- package/server/{staleness-D47CUJok.js → staleness-C-a5rBxF.js} +1 -1
- package/server/{staleness-BQ-0gMYK.js → staleness-CGTZyp6V.js} +1 -1
- package/server/{state-home-BYV7qZTW.js → state-home-722Dkx92.js} +2 -2
- package/server/{state-mapping-BVldLhBf.js → state-mapping-CybR81Uf.js} +1 -1
- package/server/{state-migrate-CvvBtS0Y.js → state-migrate-2u8wIpoL.js} +4 -4
- package/server/{stuck-remediation-mkLC6G_t.js → stuck-remediation-CC6q3eqQ.js} +24 -23
- package/server/{stuck-remediation-Wt0UVvu1.js → stuck-remediation-r1TJu68G.js} +1 -1
- package/server/{substrate-bug-weights-service-XfLAKnmK.js → substrate-bug-weights-service-CzIyyWFT.js} +3 -3
- package/server/{summary-fork-CD7GOts0.js → summary-fork-BqgmgPDt.js} +2 -2
- package/server/{summary-fork-xiXBnWG9.js → summary-fork-Df2WFijM.js} +8 -8
- package/server/supervisor/{injection-budget-B5SbvDx2.js → injection-budget-Cg_KIb3o.js} +1 -1
- package/server/supervisor/{paths-K3noE4N_.js → paths-BBOnCYlO.js} +10 -2
- package/server/supervisor/pty-supervisor.js +4 -4
- package/server/supervisor/{pty-token-B7lp0ElT.js → pty-token-BbjwEUUM.js} +3 -3
- package/server/supervisor-B4anCCSm.js +2 -0
- package/server/{supervisor-DL788vos.js → supervisor-BxqSpjcN.js} +3 -3
- package/server/{swarm-readiness-BV14DF5N.js → swarm-readiness-DfFxa9-n.js} +3 -3
- package/server/{system-prerequisites-pdWG6ZQs.js → system-prerequisites-ICLSkhhZ.js} +2 -2
- package/server/{teardown-workspace-l2F4_zim.js → teardown-workspace-DRdi_CPa.js} +15 -15
- package/server/{test-agent-queue-qakFIIGz.js → test-agent-queue-A_-p-i0I.js} +8 -7
- package/server/{test-verdict-Gw-btEfb.js → test-verdict-BHgTAwIG.js} +1 -1
- package/server/{test-verdict-BJYDggMm.js → test-verdict-C4i9aqEP.js} +1 -1
- package/server/{tldr-daemon-BKOYB616.js → tldr-daemon-CvWXBhX1.js} +1 -1
- package/server/{tldr-daemon-CBaWkV9k.js → tldr-daemon-wvsU6bKv.js} +2 -2
- package/server/{tmux-B1Wbxz5o.js → tmux-CfDHob9M.js} +174 -4
- package/server/{tmux-DQ6jB76i.js → tmux-Ctk6RV5l.js} +1 -1
- package/server/{token-Cxbk023d.js → token-DrxwytsZ.js} +2 -2
- package/server/{token-util-CLq2MmQt.js → token-util-B48BlCba.js} +1 -1
- package/server/token-util-D411CAq9.js +3 -0
- package/server/{tracker-config-DZ8Zn2nQ.js → tracker-config-BcPMElRB.js} +2 -2
- package/server/{tracker-utils-L0FKtjq2.js → tracker-utils-CJ6BHjcD.js} +2 -2
- package/server/{traefik-connect-bNX6jKkb.js → traefik-connect-DZ6nMYMj.js} +1 -1
- package/server/{tunnel-CjSnHdTc.js → tunnel-Bp-dRHZz.js} +1 -1
- package/server/{tunnel-BAm1XgjG.js → tunnel-DUbUPElU.js} +3 -3
- package/server/{typed-errors-BHhE85Ul.js → typed-errors-CKeoDdU3.js} +1 -1
- package/server/{typed-errors-2BTMxkZq.js → typed-errors-DyjseiB6.js} +1 -1
- package/server/{types-hraoaQIp.js → types-Cm5ASJbq.js} +1 -1
- package/server/{types-q67TYYg5.js → types-Di8wdakq.js} +1 -1
- package/server/{uat-promote-verification-CKB9ZrKC.js → uat-promote-verification-CoJuh7XO.js} +5 -5
- package/server/{uat-train-D5UjcyAa.js → uat-train-4Q0k06CQ.js} +0 -0
- package/server/{uat-train-Cu-4nvbf.js → uat-train-Dewoatps.js} +1 -1
- package/server/{validate-Cxsx5Uz1.js → validate-B0C8p66t.js} +3 -3
- package/server/{validation-VZgJxmqc.js → validation-B_kIRfNe.js} +4 -4
- package/server/{validation-DEaTZafj.js → validation-hVOwQk8T.js} +1 -1
- package/server/{verification-artifact-C85cRTc_.js → verification-artifact-BxlxTiYK.js} +1 -1
- package/server/{verification-artifact-g3yuxQDL.js → verification-artifact-D70AtckY.js} +1 -1
- package/server/{verification-runner-DlZI8yhw.js → verification-runner-Bc3cJvpC.js} +1 -1
- package/server/{verification-runner-KDZIsBj4.js → verification-runner-KZTz6u72.js} +19 -19
- package/server/{vtt-parser-Jr94BF3Y.js → vtt-parser-CE_i3Bcw.js} +1 -1
- package/server/{work-agent-prompt-C-vuP3_J.js → work-agent-prompt-ByrPAzOy.js} +9 -9
- package/server/{workflows-D0oip4eV.js → workflows-D0vP1WrK.js} +113 -43
- package/server/workflows-DtDX08ed.js +2 -0
- package/server/{workspace-BqFg__wH.js → workspace-COWvdibH.js} +1 -1
- package/server/{workspace-C0fH3aek.js → workspace-DQkRPLlQ.js} +3 -3
- package/server/{workspace-anchor-drift-CZKofakh.js → workspace-anchor-drift-DXYIAHzr.js} +4 -4
- package/server/{workspace-anchor-drift-B4gMRHl4.js → workspace-anchor-drift-pwz23TI1.js} +1 -1
- package/server/{workspace-config-B123aZl-.js → workspace-config-BdZM4PvZ.js} +1 -1
- package/server/{workspace-manager-CwO-Hek7.js → workspace-manager-BPgTrG66.js} +13 -13
- package/server/{workspace-manager-CDTKjjdU.js → workspace-manager-C1F3XsnS.js} +1 -1
- package/server/{workspace-metadata-D4M8BM4W.js → workspace-metadata-CdjzAP8x.js} +1 -1
- package/server/{workspace-metadata-CQv00QwK.js → workspace-metadata-DkO_iTLo.js} +2 -2
- package/server/{workspaces-j1e_6aAT.js → workspaces-CRBJikLp.js} +136 -113
- package/sync-sources/skills/pan-merge/SKILL.md +7 -5
- package/sync-sources/skills/pan-release/SKILL.md +57 -0
- package/server/agent-state-service-hZpxIw1E.js +0 -2
- package/server/archive-planning-0FJ6Xd3b.js +0 -2
- package/server/cli-DmXETsw-.js +0 -3
- package/server/conflict-gate-Dh754uyA.js +0 -3
- package/server/deacon-swarm-I2JfX5Tg.js +0 -2
- package/server/dist-DSlxIU1H.js +0 -3
- package/server/durable-review-pipeline-jpgCJZFp.js +0 -3
- package/server/forge-DK3blQb_.js +0 -3
- package/server/hume-Dq--7rOQ.js +0 -3
- package/server/inspect-agent-BVwDrVrz.js +0 -2
- package/server/label-reconciler--F85rufp.js +0 -113
- package/server/merge-ops-DdpTiEMt.js +0 -2
- package/server/merge-rebase-DGQpYJU3.js +0 -2
- package/server/merge-sync-Ca7F5JnQ.js +0 -3
- package/server/public/assets/index-Cc7cnFC4.css +0 -1
- package/server/public/assets/mermaid-GHXKKRXX-DyDHFXHV.js +0 -1
- package/server/rally-YDjU513q.js +0 -3
- package/server/resume-u9byntrq.js +0 -3
- package/server/review-status-BZH8h-6W.js +0 -3
- package/server/settings-CdvIF84R.js +0 -2
- package/server/spawn-planning-session-1nFi3gfk.js +0 -2
- package/server/specs-Bt7WJDoC.js +0 -3
- package/server/supervisor-UWiQNK-y.js +0 -2
- package/server/token-util-zlz9U0ki.js +0 -3
- package/server/workflows-CHrx_hcW.js +0 -2
|
@@ -1,44 +1,45 @@
|
|
|
1
1
|
import { n as __esmMin, o as __toESM } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import { B as getProviderEnvSync, C as TIERED_EXECUTION_DIFFICULTIES, Cr as ClaudeCredentialParseError, D as resolveTieredExecutionEnabled, Fr as init_errors, G as setupCredentialFileAuthSync, Gn as init_projects, H as init_providers, In as getIssuePrefix, Ir as AGENTS_DIR, K as ensureOpenAICompatibleProxyRunning, L as clearCredentialFileAuthSync, Mn as findProjectByPathSync, O as resolveTieredExecutionEnabledForIssue, Pt as init_record, R as getBuiltInDefaultHarness, Rn as getProjectSwarmHotspots, Rt as readIssueRecordForWorkspaceSync, S as DEFAULT_TIERED_EXECUTION_CONFIG, Sn as init_state_read_home, T as init_tier_table, Tr as FsError, Ut as writeAgentHarnessModelSync, V as getProviderForModelSync, Vt as resolveProjectForIssue, ar as resolveProjectFromIssueSync, ci as
|
|
2
|
+
import { B as getProviderEnvSync, C as TIERED_EXECUTION_DIFFICULTIES, Cr as ClaudeCredentialParseError, D as resolveTieredExecutionEnabled, Fr as init_errors, G as setupCredentialFileAuthSync, Gn as init_projects, H as init_providers, In as getIssuePrefix, Ir as AGENTS_DIR, K as ensureOpenAICompatibleProxyRunning, L as clearCredentialFileAuthSync, Mn as findProjectByPathSync, O as resolveTieredExecutionEnabledForIssue, Pt as init_record, R as getBuiltInDefaultHarness, Rn as getProjectSwarmHotspots, Rt as readIssueRecordForWorkspaceSync, S as DEFAULT_TIERED_EXECUTION_CONFIG, Sn as init_state_read_home, T as init_tier_table, Tr as FsError, Ut as writeAgentHarnessModelSync, V as getProviderForModelSync, Vt as resolveProjectForIssue, ar as resolveProjectFromIssueSync, ci as getOverdeckHome, di as packageRoot, dt as fmix32, ei as claudeSessionTranscriptExists, et as init_roles, f as loadConfigSync, fi as resolveOhmypiExtensionPath, ft as fnv1a32, gr as init_issue_id, it as getModelCapabilitySync, l as isClaudeCodeChannelsMcpEnabled, li as init_paths, lt as resolveModelIdSync, ot as hasModelCapabilitySync, pi as sessionFilePath, pt as init_percent, q as init_openai_compatible_proxy, st as init_model_capabilities, t as init_config_yaml, ti as encodeClaudeProjectDir, tt as resolveModel, u as isTldrEnabledSync, ui as isDevMode, ut as CLIPROXY_GPT56_CONTEXT_WINDOW, wn as shouldCommitLegacyWorkspaceArtifacts, xr as require_dist, yr as resolveBareNumericIdSync, zn as getProjectSync, zt as readIssueRecordSync } from "./config-yaml-CxdwhAIA.js";
|
|
3
3
|
import { i as emitActivityTtsSync, o as init_activity_logger, r as emitActivityEntrySync } from "./activity-logger-CyteR4JO.js";
|
|
4
|
-
import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-
|
|
5
|
-
import { A as listPaneValues, D as killSession, E as isPaneDead, H as sessionExists, O as killSessionSync, P as listSessionsSync,
|
|
6
|
-
import { a as init_event_store, i as initEventStore } from "./event-store-
|
|
7
|
-
import { o as OHMYPI_BEHAVIOR, s as getHarnessBehavior } from "./src-
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import { i as
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
22
|
-
import {
|
|
23
|
-
import {
|
|
24
|
-
import {
|
|
25
|
-
import {
|
|
26
|
-
import {
|
|
27
|
-
import {
|
|
28
|
-
import {
|
|
29
|
-
import {
|
|
30
|
-
import {
|
|
31
|
-
import {
|
|
32
|
-
import {
|
|
33
|
-
import {
|
|
34
|
-
import {
|
|
35
|
-
import { n as
|
|
36
|
-
import {
|
|
37
|
-
import {
|
|
38
|
-
import {
|
|
39
|
-
import {
|
|
40
|
-
import {
|
|
41
|
-
import {
|
|
4
|
+
import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-BDQDRopn.js";
|
|
5
|
+
import { A as listPaneValues, D as killSession, E as isPaneDead, H as sessionExists, O as killSessionSync, P as listSessionsSync, R as sendEscapeKeyAsync, U as sessionExistsSync, V as sendRawKeystroke, W as setOption, a as capturePaneSync, c as createSessionSync, i as capturePane, m as exactPaneTarget, ot as init_child_env, rt as BLANKED_PROVIDER_ENV, s as createSession, w as init_tmux, z as sendKeys } from "./tmux-CfDHob9M.js";
|
|
6
|
+
import { a as init_event_store, i as initEventStore } from "./event-store-CrHcVC5_.js";
|
|
7
|
+
import { o as OHMYPI_BEHAVIOR, s as getHarnessBehavior } from "./src-B948bGVR.js";
|
|
8
|
+
import { C as setReviewStatusSync, I as init_pipeline_agent_reader, J as getOverdeckAgentStateSync, L as registerPipelineTelemetryAgentReader, X as listOverdeckAgentStatesSync, Y as init_agent_state_sync, Z as saveOverdeckAgentStateSync, d as getReviewStatusSync, p as init_review_status, y as resetPipelineVerdictsForWorkStartSync } from "./review-status-CGvlA4o_.js";
|
|
9
|
+
import { n as logAgentLifecycleSync, t as init_persistent_logger } from "./persistent-logger-H_VjuOu7.js";
|
|
10
|
+
import { i as countAgentsByStatus, o as init_agents$1 } from "./agents-J5mEnekq.js";
|
|
11
|
+
import { n as ensureSessionContextBriefingFile, r as init_briefing_freshness } from "./briefing-freshness-DRqZ8lAz.js";
|
|
12
|
+
import { o as getPricingSync, s as init_cost } from "./cost-DpgYmYqR.js";
|
|
13
|
+
import { _ as init_tier_metrics, g as estimateFeedDeliveryTokens, v as recordTierFeedDelivery } from "./cost-sync-tOCCGnEt.js";
|
|
14
|
+
import { a as persistCurrentSessionId, c as isAgentStateServiceInProcess, i as logLauncherSessionPinned, n as createFreshSessionIdentity, o as getRuntimeSnapshot, r as init_session_history, s as init_agent_runtime_mirror } from "./session-history-3ON_IJjm.js";
|
|
15
|
+
import { t as init_behavior } from "./behavior-td6-xhQk.js";
|
|
16
|
+
import { i as ensureInternalTokenSync, s as init_internal_token, t as INTERNAL_TOKEN_HEADER } from "./internal-token-DzK385vD.js";
|
|
17
|
+
import { i as readReviewStatusMap, n as init_review_status_source, r as isRoleTerminal } from "./review-status-source-DIk1JSow.js";
|
|
18
|
+
import { m as readWorkspacePlanSync, o as init_io } from "./io-B00PBNku.js";
|
|
19
|
+
import { c as bridgeGeminiAuthToCliproxy, d as getCliproxyAuthDir, g as getCliproxyLogPath, l as decodeJwtPayload$1, p as getCliproxyClientEnv, s as bridgeCodexAuthToCliproxySync, v as init_cliproxy } from "./cliproxy-C5fMJ7rY.js";
|
|
20
|
+
import { L as normalizeHarness, R as reactivateConversationForSpawn, S as getConversationByName, k as init_conversations, y as createConversation } from "./conversations-D0UEdLtk.js";
|
|
21
|
+
import { n as recordFeatureRegistryLifecycle, t as init_feature_registry_population } from "./feature-registry-population-B6HpNWRy.js";
|
|
22
|
+
import { a as readCavemanVariant, n as init_workspace } from "./workspace-DQkRPLlQ.js";
|
|
23
|
+
import { C as init_launcher_generator, D as requireModelOverrideSync, E as normalizeModelOverrideSync, O as shellQuoteModelIdSync, S as generateLauncherScriptSync, T as init_model_validation, _ as init_tmux_dedup, b as isOperatorStartedBy, f as completeKeyedSubmit, i as init_auto_spawn_consent, s as withAutoSpawnConsentClaim, v as sendKeysDedup, x as normalizeFlywheelRunId, y as init_provenance } from "./auto-spawn-consent-CQ9Bi9q6.js";
|
|
24
|
+
import { a as init_claude_permissions, r as getClaudePermissionFlagsStringSync } from "./claude-permissions-CpbpvUQ2.js";
|
|
25
|
+
import { E as init_layers, I as workspaceContextFile, P as resolveWorkspaceContextFile, c as init_render, i as workspaceContextWithoutProjectLayer, l as renderGlobalLayer, r as init_assemble, u as renderProjectLayer, v as init_harness, y as renderForHarness } from "./assemble-Bgwqv-Ro.js";
|
|
26
|
+
import { a as extractThreadIdFromRollout, c as initCodexHome, l as init_codex, o as findLatestRollout } from "./codex-BzGDW_d3.js";
|
|
27
|
+
import { i as prepareHarnessLaunch, r as init_harness_binary } from "./harness-binary-BSpiXaLw.js";
|
|
28
|
+
import { f as init_config, m as loadConfigSync$1 } from "./config-BvLe652W.js";
|
|
29
|
+
import { a as getFlywheelActiveRunIdSync, c as init_control_settings } from "./control-settings-CiqGxXnc.js";
|
|
30
|
+
import { n as createTrackerFromConfig, r as init_factory, t as createTracker } from "./factory-Cmm9Hsho.js";
|
|
31
|
+
import { a as getWorkspaceStackHealth, s as init_stack_health } from "./stack-health-DqLTiEu4.js";
|
|
32
|
+
import { i as createActiveSlice, l as init_dag, o as getDispatchableItems, s as groupItemsByWave } from "./dag-BtkgLeqY.js";
|
|
33
|
+
import { c as generateFixedPointPromptSync, f as initHookSync, n as checkHookSync, p as init_hooks } from "./hooks-DbtbimEf.js";
|
|
34
|
+
import { a as init_git_utils, c as rehydrateHeadAnchor, l as renderWorkspaceGitShowPromise } from "./git-utils-CsvYfJU3.js";
|
|
35
|
+
import { n as init_workspace_anchor_drift, t as evaluateWorkspaceAnchorDrift } from "./workspace-anchor-drift-DXYIAHzr.js";
|
|
36
|
+
import { n as resolveHarness, t as init_harness_resolve } from "./harness-resolve-BAJu5MX8.js";
|
|
37
|
+
import { a as loadCloisterConfigSync, r as init_config$1 } from "./config-Bi3u1VK7.js";
|
|
38
|
+
import { t as init_reap_terminal_sessions } from "./reap-terminal-sessions-Qf-9LVQc.js";
|
|
39
|
+
import { c as isStateMigrated, o as init_state_home } from "./state-home-722Dkx92.js";
|
|
40
|
+
import { n as provisionClaudeHooks, t as init_claude_hooks_provision } from "./claude-hooks-provision-Bjitl9aI.js";
|
|
41
|
+
import { a as init_lifecycle_io, t as appendContinueSessionEntryForIssue } from "./lifecycle-io-DCo6s6ks.js";
|
|
42
|
+
import { r as init_swarm_readiness, t as analyzeSwarmReadiness } from "./swarm-readiness-DfFxa9-n.js";
|
|
42
43
|
import { createRequire } from "node:module";
|
|
43
44
|
import { dirname, join, relative } from "node:path";
|
|
44
45
|
import { Data, Duration, Effect, FileSystem } from "effect";
|
|
@@ -1310,6 +1311,12 @@ var init_pty_token = __esmMin((() => {
|
|
|
1310
1311
|
PTY_TOKEN_HEADER = "x-overdeck-pty-token";
|
|
1311
1312
|
}));
|
|
1312
1313
|
//#endregion
|
|
1314
|
+
//#region ../../lib/resume-contract.ts
|
|
1315
|
+
function buildResumeContract(cause) {
|
|
1316
|
+
return `${cause === "operator" ? "The operator resumed this session after stopping or pausing it." : cause === "message" ? "This session was resumed because a new message arrived while it was stopped." : "This session was restored after its prior process ended unexpectedly, such as during a crash or reboot."} The conversation transcript was restored, but process-local machinery was not. Re-establish any timers or wakeups, monitors, background processes, loops, or cron work you still need before continuing. If this session runs a recurring tick loop, explicitly arm its next wakeup now.`;
|
|
1317
|
+
}
|
|
1318
|
+
var init_resume_contract = __esmMin((() => {}));
|
|
1319
|
+
//#endregion
|
|
1313
1320
|
//#region ../../lib/cloister/auto-resume-config.ts
|
|
1314
1321
|
function positiveNumber(value) {
|
|
1315
1322
|
return typeof value === "number" && Number.isFinite(value) && value > 0;
|
|
@@ -1459,6 +1466,8 @@ function cleanAgentState(raw) {
|
|
|
1459
1466
|
costSoFar: raw.costSoFar,
|
|
1460
1467
|
sessionId: raw.sessionId,
|
|
1461
1468
|
roleRunHead: raw.roleRunHead,
|
|
1469
|
+
flywheelRunId: raw.flywheelRunId,
|
|
1470
|
+
startedBy: raw.startedBy,
|
|
1462
1471
|
channelsEnabled: raw.channelsEnabled,
|
|
1463
1472
|
supervisorEnabled: raw.supervisorEnabled,
|
|
1464
1473
|
deliveryMethod: raw.deliveryMethod,
|
|
@@ -1962,15 +1971,16 @@ function buildResumeContinueMessage(state) {
|
|
|
1962
1971
|
].join(" ");
|
|
1963
1972
|
return buildDefaultResumeContinueMessage(issueId);
|
|
1964
1973
|
}
|
|
1965
|
-
async function buildResumeMessageForAgent(state, fallbackMessage, callerMessage) {
|
|
1974
|
+
async function buildResumeMessageForAgent(state, fallbackMessage, callerMessage, cause = state.stoppedByUser === true ? "operator" : callerMessage ? "message" : "system") {
|
|
1975
|
+
const contract = buildResumeContract(cause);
|
|
1966
1976
|
if (state.role !== "work" || state.kickoffDelivered !== false) return {
|
|
1967
|
-
message: callerMessage ?? fallbackMessage
|
|
1977
|
+
message: `${callerMessage ?? fallbackMessage}\n\n${contract}`,
|
|
1968
1978
|
redeliveringKickoff: false
|
|
1969
1979
|
};
|
|
1970
1980
|
const promptPath = join$1(getAgentDir(state.id), "initial-prompt.md");
|
|
1971
1981
|
try {
|
|
1972
1982
|
return {
|
|
1973
|
-
message: `${await readFile$1(promptPath, "utf-8")}${callerMessage ? `\n\n---\n\nAdditional message delivered during resume:\n\n${callerMessage}` : ""}`,
|
|
1983
|
+
message: `${await readFile$1(promptPath, "utf-8")}${callerMessage ? `\n\n---\n\nAdditional message delivered during resume:\n\n${callerMessage}` : ""}\n\n${contract}`,
|
|
1974
1984
|
redeliveringKickoff: true
|
|
1975
1985
|
};
|
|
1976
1986
|
} catch (err) {
|
|
@@ -2207,6 +2217,7 @@ var init_supervisor_channels = __esmMin((() => {
|
|
|
2207
2217
|
init_pty_supervisor_locate();
|
|
2208
2218
|
init_providers();
|
|
2209
2219
|
init_pty_token();
|
|
2220
|
+
init_resume_contract();
|
|
2210
2221
|
init_tmux();
|
|
2211
2222
|
init_agent_state();
|
|
2212
2223
|
}));
|
|
@@ -2863,7 +2874,7 @@ async function createOhmypiFifoPromise(agentId, home) {
|
|
|
2863
2874
|
mode: 448
|
|
2864
2875
|
});
|
|
2865
2876
|
if (existsSync$1(paths.fifoPath)) unlinkSync$1(paths.fifoPath);
|
|
2866
|
-
await execAsync$
|
|
2877
|
+
await execAsync$7(`mkfifo -m 600 ${shellQuote$1(paths.fifoPath)}`);
|
|
2867
2878
|
return paths.fifoPath;
|
|
2868
2879
|
}
|
|
2869
2880
|
/**
|
|
@@ -2905,10 +2916,10 @@ function shellQuote$1(s) {
|
|
|
2905
2916
|
if (/^[A-Za-z0-9._/-]+$/.test(s)) return s;
|
|
2906
2917
|
return `'${s.replace(/'/g, `'\\''`)}'`;
|
|
2907
2918
|
}
|
|
2908
|
-
var execAsync$
|
|
2919
|
+
var execAsync$7, OhmypiNotReady, OhmypiFifoError, createOhmypiFifo;
|
|
2909
2920
|
var init_ohmypi_fifo = __esmMin((() => {
|
|
2910
2921
|
init_paths();
|
|
2911
|
-
execAsync$
|
|
2922
|
+
execAsync$7 = promisify(exec);
|
|
2912
2923
|
OhmypiNotReady = class extends Error {
|
|
2913
2924
|
code = "OHMYPI_NOT_READY";
|
|
2914
2925
|
constructor(message) {
|
|
@@ -2990,12 +3001,12 @@ async function claudeSystemPromptFiles(workspace, harness) {
|
|
|
2990
3001
|
}
|
|
2991
3002
|
files.push(await ensureSessionContextBriefingFile());
|
|
2992
3003
|
if (behavior.contextLayerKind === "pi") {
|
|
2993
|
-
const { piGlobalContextFile } = await import("./context-layers-
|
|
3004
|
+
const { piGlobalContextFile } = await import("./context-layers-DAG83UZt.js");
|
|
2994
3005
|
const globalFile = piGlobalContextFile();
|
|
2995
3006
|
if (existsSync(globalFile)) files.unshift(globalFile);
|
|
2996
3007
|
}
|
|
2997
3008
|
if (behavior.contextLayerKind === "codex") {
|
|
2998
|
-
const { codexGlobalContextFile } = await import("./context-layers-
|
|
3009
|
+
const { codexGlobalContextFile } = await import("./context-layers-DAG83UZt.js");
|
|
2999
3010
|
const globalFile = codexGlobalContextFile();
|
|
3000
3011
|
if (existsSync(globalFile)) files.unshift(globalFile);
|
|
3001
3012
|
}
|
|
@@ -3022,14 +3033,14 @@ async function hasAgentRuntimeInSubtree(rootPid, harness = "claude-code") {
|
|
|
3022
3033
|
if (seen.has(pid) || !/^\d+$/.test(pid)) continue;
|
|
3023
3034
|
seen.add(pid);
|
|
3024
3035
|
try {
|
|
3025
|
-
const { stdout: comm } = await execAsync$
|
|
3036
|
+
const { stdout: comm } = await execAsync$5(`ps -p ${pid} -o comm=`);
|
|
3026
3037
|
const name = comm.trim();
|
|
3027
3038
|
if (expectedProcessNames.has(name)) return true;
|
|
3028
3039
|
} catch {
|
|
3029
3040
|
continue;
|
|
3030
3041
|
}
|
|
3031
3042
|
try {
|
|
3032
|
-
const { stdout: kids } = await execAsync$
|
|
3043
|
+
const { stdout: kids } = await execAsync$5(`pgrep -P ${pid}`);
|
|
3033
3044
|
for (const kid of kids.trim().split("\n").filter(Boolean)) queue.push(kid);
|
|
3034
3045
|
} catch {}
|
|
3035
3046
|
}
|
|
@@ -3290,7 +3301,7 @@ async function injectPiPromptTimeMemory(agentId, prompt) {
|
|
|
3290
3301
|
agentRole: agentState.role ?? "work",
|
|
3291
3302
|
agentHarness: agentState.harness ?? "claude-code"
|
|
3292
3303
|
};
|
|
3293
|
-
const { injectPromptTimeMemory } = await import("./injection-
|
|
3304
|
+
const { injectPromptTimeMemory } = await import("./injection-Bl8d_jHZ.js");
|
|
3294
3305
|
const result = await injectPromptTimeMemory({
|
|
3295
3306
|
prompt,
|
|
3296
3307
|
identity,
|
|
@@ -3324,7 +3335,7 @@ async function injectPiConversationMemory(opts, prompt) {
|
|
|
3324
3335
|
agentRole: "work",
|
|
3325
3336
|
agentHarness: "ohmypi"
|
|
3326
3337
|
};
|
|
3327
|
-
const { injectPromptTimeMemory } = await import("./injection-
|
|
3338
|
+
const { injectPromptTimeMemory } = await import("./injection-Bl8d_jHZ.js");
|
|
3328
3339
|
const result = await injectPromptTimeMemory({
|
|
3329
3340
|
prompt,
|
|
3330
3341
|
identity,
|
|
@@ -3500,7 +3511,7 @@ async function getRoleRuntimeBaseCommand(model, agentName, role, harness = "clau
|
|
|
3500
3511
|
if (provider.name === "openai" && await getProviderAuthMode(validatedModel) === "subscription") return `claude${printFlag}${roleInject}${permissionFlags} --model ${shellQuoteModelIdSync(CLI_PROXY_MODEL_ALIASES[validatedModel] ?? validatedModel)}${effortFlag}${nameFlag}`;
|
|
3501
3512
|
return `claude${printFlag}${roleInject}${permissionFlags} --model ${quotedModel}${effortFlag}${nameFlag}`;
|
|
3502
3513
|
}
|
|
3503
|
-
var import_dist, execAsync$
|
|
3514
|
+
var import_dist, execAsync$5, missingRoleDefinitionWarnings, OHMYPI_AGENT_READY_TIMEOUT_SECONDS;
|
|
3504
3515
|
var init_runtime_command = __esmMin((() => {
|
|
3505
3516
|
import_dist = /* @__PURE__ */ __toESM(require_dist(), 1);
|
|
3506
3517
|
init_claude_permissions();
|
|
@@ -3521,7 +3532,7 @@ var init_runtime_command = __esmMin((() => {
|
|
|
3521
3532
|
init_agent_state();
|
|
3522
3533
|
init_identity();
|
|
3523
3534
|
init_provider_env();
|
|
3524
|
-
execAsync$
|
|
3535
|
+
execAsync$5 = promisify$1(exec$1);
|
|
3525
3536
|
missingRoleDefinitionWarnings = /* @__PURE__ */ new Set();
|
|
3526
3537
|
OHMYPI_AGENT_READY_TIMEOUT_SECONDS = 120;
|
|
3527
3538
|
}));
|
|
@@ -3671,11 +3682,6 @@ var init_staffing = __esmMin((() => {
|
|
|
3671
3682
|
}));
|
|
3672
3683
|
//#endregion
|
|
3673
3684
|
//#region ../../lib/agents/spawn-prep.ts
|
|
3674
|
-
function normalizeFlywheelRunId(runId) {
|
|
3675
|
-
if (!runId) return void 0;
|
|
3676
|
-
const trimmed = runId.trim();
|
|
3677
|
-
return /^RUN-\d+$/.test(trimmed) ? trimmed : void 0;
|
|
3678
|
-
}
|
|
3679
3685
|
function resolveFlywheelSpawnEnv(role, runIdOverride) {
|
|
3680
3686
|
const runId = normalizeFlywheelRunId(runIdOverride ?? getFlywheelActiveRunIdSync());
|
|
3681
3687
|
return runId ? {
|
|
@@ -3683,6 +3689,11 @@ function resolveFlywheelSpawnEnv(role, runIdOverride) {
|
|
|
3683
3689
|
OVERDECK_FLYWHEEL_AGENT_ROLE: role
|
|
3684
3690
|
} : {};
|
|
3685
3691
|
}
|
|
3692
|
+
function resolveAgentStartedBy(explicit, flywheelRunId, environmentToken = process.env["OVERDECK_AGENT_STARTED_BY"]) {
|
|
3693
|
+
const resolved = explicit?.trim() || environmentToken?.trim() || (flywheelRunId ? `flywheel:${flywheelRunId}` : "");
|
|
3694
|
+
if (!resolved) throw new Error("Agent spawn provenance is required: pass startedBy at the launch entry point.");
|
|
3695
|
+
return resolved;
|
|
3696
|
+
}
|
|
3686
3697
|
function flywheelEnvExports(env) {
|
|
3687
3698
|
return [env.OVERDECK_FLYWHEEL_RUN_ID ? `export OVERDECK_FLYWHEEL_RUN_ID=${env.OVERDECK_FLYWHEEL_RUN_ID}` : void 0, env.OVERDECK_FLYWHEEL_AGENT_ROLE ? `export OVERDECK_FLYWHEEL_AGENT_ROLE=${env.OVERDECK_FLYWHEEL_AGENT_ROLE}` : void 0].filter((value) => value !== void 0);
|
|
3688
3699
|
}
|
|
@@ -3851,7 +3862,7 @@ async function transitionIssueToInReview(issueId, workspacePath) {
|
|
|
3851
3862
|
async function buildAgentLaunchConfig(opts) {
|
|
3852
3863
|
const model = requireModelOverrideSync(opts.model);
|
|
3853
3864
|
try {
|
|
3854
|
-
const { injectOverdeckInfraDeny } = await import("./claude-settings-overlay-
|
|
3865
|
+
const { injectOverdeckInfraDeny } = await import("./claude-settings-overlay-BzkHYDwR.js");
|
|
3855
3866
|
await Effect.runPromise(injectOverdeckInfraDeny(opts.workspace));
|
|
3856
3867
|
} catch (err) {
|
|
3857
3868
|
console.warn(`[agents] injectOverdeckInfraDeny failed for ${opts.agentId} (non-fatal): ${err instanceof Error ? err.message : err}`);
|
|
@@ -3880,6 +3891,7 @@ async function buildAgentLaunchConfig(opts) {
|
|
|
3880
3891
|
providerExports,
|
|
3881
3892
|
baseCommand: behavior.launchCommandKind !== "claude-code" ? await getAgentRuntimeBaseCommand(model, opts.agentId, launchRole, opts.harness) : `claude ${getClaudePermissionFlagsStringSync()}${roleSystemPromptInjectionSync(roleAgentDefinitionPath(launchRole))}`,
|
|
3882
3893
|
resumeSessionId: opts.resumeSessionId,
|
|
3894
|
+
overdeckEnv: { agentId: opts.agentId },
|
|
3883
3895
|
model: behavior.launchCommandKind !== "claude-code" || providerExports?.includes("ANTHROPIC_BASE_URL") ? model : void 0,
|
|
3884
3896
|
extraArgs: behavior.launchCommandKind !== "claude-code" ? void 0 : `--name ${opts.agentId}`,
|
|
3885
3897
|
appendSystemPromptFiles: await claudeSystemPromptFiles(opts.workspace, opts.harness),
|
|
@@ -3905,6 +3917,7 @@ async function buildAgentLaunchConfig(opts) {
|
|
|
3905
3917
|
providerExports,
|
|
3906
3918
|
cavemanExports,
|
|
3907
3919
|
baseCommand: await getAgentRuntimeBaseCommand(model, opts.agentId, agentDefinition, opts.harness ?? "claude-code", opts.effort),
|
|
3920
|
+
overdeckEnv: { agentId: opts.agentId },
|
|
3908
3921
|
sessionId: behavior.sessionIdSource === "launcher-session-id" ? opts.sessionId : void 0,
|
|
3909
3922
|
appendSystemPromptFiles: await claudeSystemPromptFiles(opts.workspace, opts.harness),
|
|
3910
3923
|
extraEnvExports: opts.extraEnvExports,
|
|
@@ -3939,7 +3952,7 @@ async function retrieveSpawnTimeMemoryContext(input) {
|
|
|
3939
3952
|
agentRole: input.role,
|
|
3940
3953
|
agentHarness: input.harness
|
|
3941
3954
|
};
|
|
3942
|
-
const { injectPromptTimeMemory } = await import("./injection-
|
|
3955
|
+
const { injectPromptTimeMemory } = await import("./injection-Bl8d_jHZ.js");
|
|
3943
3956
|
return (await injectPromptTimeMemory({
|
|
3944
3957
|
prompt: input.prompt,
|
|
3945
3958
|
identity,
|
|
@@ -4030,7 +4043,7 @@ async function assertWorkspaceStackHealthyForSpawn(issueId, role, allowHost = fa
|
|
|
4030
4043
|
record.attempts += 1;
|
|
4031
4044
|
spawnStackRebuildState.set(normalizedIssue, record);
|
|
4032
4045
|
console.log(`[agents] Workspace stack for ${normalizedIssue} unhealthy (${details}) — rebuilding before spawn (attempt ${record.attempts}/${SPAWN_STACK_REBUILD_MAX_ATTEMPTS})`);
|
|
4033
|
-
const { rebuildWorkspaceStack } = await import("./rebuild-stack-
|
|
4046
|
+
const { rebuildWorkspaceStack } = await import("./rebuild-stack-DqcOVmJO.js");
|
|
4034
4047
|
const result = await Effect.runPromise(rebuildWorkspaceStack(issueId, { onProgress: (m) => console.log(`[agents] ${normalizedIssue} stack rebuild: ${m}`) })).catch((err) => ({
|
|
4035
4048
|
success: false,
|
|
4036
4049
|
error: err instanceof Error ? err.message : String(err)
|
|
@@ -4063,6 +4076,7 @@ var init_spawn_prep = __esmMin((() => {
|
|
|
4063
4076
|
init_behavior();
|
|
4064
4077
|
init_io();
|
|
4065
4078
|
init_dag();
|
|
4079
|
+
init_provenance();
|
|
4066
4080
|
init_staffing();
|
|
4067
4081
|
init_tier_table();
|
|
4068
4082
|
init_provider_env();
|
|
@@ -5298,7 +5312,7 @@ async function killLauncherProcessAsync(agentId) {
|
|
|
5298
5312
|
const launcherPath = join$1(AGENTS_DIR, agentId, "launcher.sh");
|
|
5299
5313
|
let pidsOut;
|
|
5300
5314
|
try {
|
|
5301
|
-
const { stdout } = await execAsync$
|
|
5315
|
+
const { stdout } = await execAsync$4(`pgrep -f ${JSON.stringify(launcherPath)}`);
|
|
5302
5316
|
pidsOut = stdout.trim();
|
|
5303
5317
|
} catch {
|
|
5304
5318
|
return;
|
|
@@ -5348,14 +5362,14 @@ function stopAgentSync(agentId) {
|
|
|
5348
5362
|
lastActivity: (/* @__PURE__ */ new Date()).toISOString()
|
|
5349
5363
|
});
|
|
5350
5364
|
}
|
|
5351
|
-
var execAsync$
|
|
5365
|
+
var execAsync$4, stopAgent;
|
|
5352
5366
|
var init_termination = __esmMin((() => {
|
|
5353
5367
|
init_agents();
|
|
5354
5368
|
init_agent_runtime();
|
|
5355
5369
|
init_paths();
|
|
5356
5370
|
init_tmux();
|
|
5357
5371
|
init_errors();
|
|
5358
|
-
execAsync$
|
|
5372
|
+
execAsync$4 = promisify$1(exec$1);
|
|
5359
5373
|
stopAgent = (agentId) => {
|
|
5360
5374
|
const normalizedId = normalizeAgentId(agentId);
|
|
5361
5375
|
return Effect.gen(function* () {
|
|
@@ -5435,8 +5449,68 @@ var init_hook_readiness = __esmMin((() => {
|
|
|
5435
5449
|
init_persistent_logger();
|
|
5436
5450
|
}));
|
|
5437
5451
|
//#endregion
|
|
5452
|
+
//#region ../../lib/agents/registered-slot-spawn.ts
|
|
5453
|
+
function buildRegisteredSlotPrompt(issueId, baseWorkspace, slot, extraPrompt) {
|
|
5454
|
+
const doc = readWorkspacePlanSync(baseWorkspace);
|
|
5455
|
+
if (!doc) throw new Error(`Registered slot spawn for ${issueId} requires a readable xBRIEF plan in ${baseWorkspace}.`);
|
|
5456
|
+
const slice = createActiveSlice(doc, {
|
|
5457
|
+
issueId: issueId.toUpperCase(),
|
|
5458
|
+
itemId: slot.slotItemId,
|
|
5459
|
+
currentItemIds: [slot.slotItemId]
|
|
5460
|
+
});
|
|
5461
|
+
const lines = [
|
|
5462
|
+
`# Registered Slot Assignment: ${slot.slotItemId}`,
|
|
5463
|
+
"",
|
|
5464
|
+
`Issue: ${issueId}`,
|
|
5465
|
+
`Slot: ${slot.slotIndex}`,
|
|
5466
|
+
`Agent: ${slot.agentId}`,
|
|
5467
|
+
`Branch: ${slot.branch}`,
|
|
5468
|
+
`Workspace: ${slot.workspace}`,
|
|
5469
|
+
"",
|
|
5470
|
+
"You are a registered slot work agent. Implement only the target xBRIEF item below, keep changes scoped to that item, and do not merge this slot branch yourself.",
|
|
5471
|
+
"",
|
|
5472
|
+
slice.prompt
|
|
5473
|
+
];
|
|
5474
|
+
const trimmedExtra = extraPrompt?.trim();
|
|
5475
|
+
if (trimmedExtra) lines.push("", "## Additional Foreman Instructions", trimmedExtra);
|
|
5476
|
+
return lines.join("\n");
|
|
5477
|
+
}
|
|
5478
|
+
async function ensureRegisteredSlotWorktree(baseWorkspace, slot) {
|
|
5479
|
+
if (existsSync$1(slot.workspace)) return;
|
|
5480
|
+
await mkdir(dirname(slot.workspace), { recursive: true });
|
|
5481
|
+
const branchExists = await gitBranchExists(baseWorkspace, slot.branch);
|
|
5482
|
+
const target = JSON.stringify(slot.workspace);
|
|
5483
|
+
const branch = JSON.stringify(slot.branch);
|
|
5484
|
+
await execAsync$3(branchExists ? `git worktree add ${target} ${branch}` : `git worktree add -b ${branch} ${target} HEAD`, { cwd: baseWorkspace });
|
|
5485
|
+
}
|
|
5486
|
+
async function gitBranchExists(workspace, branch) {
|
|
5487
|
+
try {
|
|
5488
|
+
await execAsync$3(`git show-ref --verify --quiet ${JSON.stringify(`refs/heads/${branch}`)}`, { cwd: workspace });
|
|
5489
|
+
return true;
|
|
5490
|
+
} catch {
|
|
5491
|
+
return false;
|
|
5492
|
+
}
|
|
5493
|
+
}
|
|
5494
|
+
var execAsync$3;
|
|
5495
|
+
var init_registered_slot_spawn = __esmMin((() => {
|
|
5496
|
+
init_dag();
|
|
5497
|
+
init_io();
|
|
5498
|
+
execAsync$3 = promisify(exec);
|
|
5499
|
+
}));
|
|
5500
|
+
//#endregion
|
|
5438
5501
|
//#region ../../lib/agents/spawn.ts
|
|
5439
|
-
async function spawnRun(issueId, role, options
|
|
5502
|
+
async function spawnRun(issueId, role, options) {
|
|
5503
|
+
if (role !== "work") return spawnRunWithoutConsentClaim(issueId, role, options);
|
|
5504
|
+
const flywheelRunId = resolveFlywheelSpawnEnv(role, options.flywheelRunId).OVERDECK_FLYWHEEL_RUN_ID;
|
|
5505
|
+
const startedBy = resolveAgentStartedBy(options.startedBy, flywheelRunId);
|
|
5506
|
+
const resolvedOptions = {
|
|
5507
|
+
...options,
|
|
5508
|
+
startedBy
|
|
5509
|
+
};
|
|
5510
|
+
if (isOperatorStartedBy(startedBy) || options.autoSpawnConsentRequired !== true) return spawnRunWithoutConsentClaim(issueId, role, resolvedOptions);
|
|
5511
|
+
return withAutoSpawnConsentClaim(issueId, (acceptConsent) => spawnRunWithoutConsentClaim(issueId, role, resolvedOptions, acceptConsent), { isAccepted: (state) => state.status === "running" && state.kickoffDelivered !== false });
|
|
5512
|
+
}
|
|
5513
|
+
async function spawnRunWithoutConsentClaim(issueId, role, options, acceptConsent) {
|
|
5440
5514
|
const workspace = options.workspace ?? defaultRunWorkspace(issueId);
|
|
5441
5515
|
const modelSpawnKey = `${role}:${issueId}`;
|
|
5442
5516
|
const selectedModel = determineModel({
|
|
@@ -5462,7 +5536,7 @@ async function spawnRun(issueId, role, options = {}) {
|
|
|
5462
5536
|
await ensureRegisteredSlotWorktree(workspace, slot);
|
|
5463
5537
|
}
|
|
5464
5538
|
const prompt = slot ? buildRegisteredSlotPrompt(issueId, workspace, slot, options.prompt) : options.prompt;
|
|
5465
|
-
return
|
|
5539
|
+
return spawnAgentWithoutConsentClaim({
|
|
5466
5540
|
issueId,
|
|
5467
5541
|
workspace: slot?.workspace ?? workspace,
|
|
5468
5542
|
agentId: slot?.agentId,
|
|
@@ -5472,29 +5546,32 @@ async function spawnRun(issueId, role, options = {}) {
|
|
|
5472
5546
|
role: "work",
|
|
5473
5547
|
allowHost: options.allowHost,
|
|
5474
5548
|
flywheelRunId: options.flywheelRunId,
|
|
5549
|
+
startedBy: options.startedBy,
|
|
5550
|
+
autoSpawnConsentRequired: options.autoSpawnConsentRequired,
|
|
5475
5551
|
effort: options.effort,
|
|
5476
5552
|
slotIndex: slot?.slotIndex,
|
|
5477
5553
|
slotItemId: slot?.slotItemId
|
|
5478
|
-
});
|
|
5554
|
+
}, acceptConsent);
|
|
5479
5555
|
}
|
|
5480
5556
|
const flywheelEnv = resolveFlywheelSpawnEnv(role, options.flywheelRunId);
|
|
5557
|
+
const startedBy = resolveAgentStartedBy(options.startedBy, flywheelEnv.OVERDECK_FLYWHEEL_RUN_ID);
|
|
5481
5558
|
const agentId = options.agentId ?? runAgentId(issueId, role, options.subRole);
|
|
5482
5559
|
if (await Effect.runPromise(sessionExists(agentId))) {
|
|
5483
5560
|
let reapWarmIdle = false;
|
|
5484
5561
|
const advancing = role === "review" || role === "test" || role === "ship";
|
|
5485
5562
|
try {
|
|
5486
|
-
const { isPaneDead } = await import("./tmux-
|
|
5563
|
+
const { isPaneDead } = await import("./tmux-Ctk6RV5l.js");
|
|
5487
5564
|
if (await Effect.runPromise(isPaneDead(agentId))) reapWarmIdle = true;
|
|
5488
5565
|
else if (advancing) {
|
|
5489
|
-
const { getReviewStatusSync } = await import("./review-status-
|
|
5490
|
-
const { isRoleTerminal } = await import("./reap-terminal-sessions-
|
|
5566
|
+
const { getReviewStatusSync } = await import("./review-status-Dma9SFaN.js");
|
|
5567
|
+
const { isRoleTerminal } = await import("./reap-terminal-sessions-4Xg9NGA8.js");
|
|
5491
5568
|
const status = getReviewStatusSync(issueId);
|
|
5492
5569
|
reapWarmIdle = !!status && isRoleTerminal(role, status);
|
|
5493
5570
|
}
|
|
5494
5571
|
} catch {}
|
|
5495
5572
|
if (!reapWarmIdle) throw new Error(`Role run ${agentId} already running. Use 'pan tell' to message it.`);
|
|
5496
5573
|
console.log(`[spawn] ${agentId} is warm-idle from the previous cycle — reaping it for the new ${role} dispatch (PAN-2579)`);
|
|
5497
|
-
const { killSession } = await import("./tmux-
|
|
5574
|
+
const { killSession } = await import("./tmux-Ctk6RV5l.js");
|
|
5498
5575
|
await Effect.runPromise(killSession(agentId)).catch(() => {});
|
|
5499
5576
|
}
|
|
5500
5577
|
await assertWorkspaceStackHealthyForSpawn(issueId, role, options.allowHost, workspace);
|
|
@@ -5509,7 +5586,7 @@ async function spawnRun(issueId, role, options = {}) {
|
|
|
5509
5586
|
assertCodexNativeAuthForSpawn(resolvedHarness, listAgentStates());
|
|
5510
5587
|
await ensureLifecycleHooksBeforeLaunch(agentId, resolvedHarness);
|
|
5511
5588
|
if (getProviderForModelSync(selectedModel).name === "openai" && await getProviderAuthMode(selectedModel) === "subscription") {
|
|
5512
|
-
const { isCliproxyRunning } = await import("./cliproxy-
|
|
5589
|
+
const { isCliproxyRunning } = await import("./cliproxy-DaAbWMjC.js");
|
|
5513
5590
|
if (!await Effect.runPromise(isCliproxyRunning())) throw new Error("CLIProxyAPI sidecar is not running. GPT subscription role runs route through a local cliproxy process managed by `pan up`. Run `pan up` (or restart the dashboard) before spawning a GPT role run.");
|
|
5514
5591
|
}
|
|
5515
5592
|
const state = {
|
|
@@ -5525,7 +5602,9 @@ async function spawnRun(issueId, role, options = {}) {
|
|
|
5525
5602
|
...resolvedHarness === "codex" ? {} : { costSoFar: 0 },
|
|
5526
5603
|
hostOverride: options.allowHost || void 0,
|
|
5527
5604
|
slotIndex: options.slotIndex,
|
|
5528
|
-
slotItemId: options.slotItemId
|
|
5605
|
+
slotItemId: options.slotItemId,
|
|
5606
|
+
flywheelRunId: flywheelEnv.OVERDECK_FLYWHEEL_RUN_ID,
|
|
5607
|
+
startedBy
|
|
5529
5608
|
};
|
|
5530
5609
|
await Effect.runPromise(saveAgentState(state));
|
|
5531
5610
|
const shouldRegisterConversation = role === "review" || role === "test" || role === "ship" || role === "knowledge" || options.registerConversation === true;
|
|
@@ -5626,7 +5705,7 @@ async function spawnRun(issueId, role, options = {}) {
|
|
|
5626
5705
|
const claudeCmd = `bash ${launcherScript}`;
|
|
5627
5706
|
console.log(`[claude-invoke] purpose=role-run | role=${role} | model=${state.model} | source=agents.ts:spawnRun | session=${agentId} | command="${claudeCmd}"`);
|
|
5628
5707
|
try {
|
|
5629
|
-
const { preTrustDirectory } = await import("./workspace-manager-
|
|
5708
|
+
const { preTrustDirectory } = await import("./workspace-manager-C1F3XsnS.js");
|
|
5630
5709
|
preTrustDirectory(workspace);
|
|
5631
5710
|
} catch {}
|
|
5632
5711
|
clearReadySignal(agentId);
|
|
@@ -5636,6 +5715,7 @@ async function spawnRun(issueId, role, options = {}) {
|
|
|
5636
5715
|
OVERDECK_AGENT_ID: agentId,
|
|
5637
5716
|
OVERDECK_ISSUE_ID: issueId,
|
|
5638
5717
|
OVERDECK_SESSION_TYPE: role,
|
|
5718
|
+
OVERDECK_AGENT_STARTED_BY: startedBy,
|
|
5639
5719
|
CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION: "false",
|
|
5640
5720
|
GIT_SEQUENCE_EDITOR: "false",
|
|
5641
5721
|
...flywheelEnv,
|
|
@@ -5691,7 +5771,7 @@ async function spawnRun(issueId, role, options = {}) {
|
|
|
5691
5771
|
}
|
|
5692
5772
|
markAgentRunning(state);
|
|
5693
5773
|
try {
|
|
5694
|
-
const { snapshotWorkspaceHeadsPromise } = await import("./git-utils-
|
|
5774
|
+
const { snapshotWorkspaceHeadsPromise } = await import("./git-utils-Xg4PFN45.js");
|
|
5695
5775
|
const headAnchor = await snapshotWorkspaceHeadsPromise(issueId, workspace);
|
|
5696
5776
|
if (headAnchor) state.roleRunHead = headAnchor;
|
|
5697
5777
|
} catch {}
|
|
@@ -5705,6 +5785,18 @@ async function spawnRun(issueId, role, options = {}) {
|
|
|
5705
5785
|
return state;
|
|
5706
5786
|
}
|
|
5707
5787
|
async function spawnAgent(options) {
|
|
5788
|
+
const role = options.role ?? "work";
|
|
5789
|
+
if (role !== "work") return spawnAgentWithoutConsentClaim(options);
|
|
5790
|
+
const flywheelRunId = resolveFlywheelSpawnEnv(role, options.flywheelRunId).OVERDECK_FLYWHEEL_RUN_ID;
|
|
5791
|
+
const startedBy = resolveAgentStartedBy(options.startedBy, flywheelRunId);
|
|
5792
|
+
const resolvedOptions = {
|
|
5793
|
+
...options,
|
|
5794
|
+
startedBy
|
|
5795
|
+
};
|
|
5796
|
+
if (isOperatorStartedBy(startedBy) || options.autoSpawnConsentRequired !== true) return spawnAgentWithoutConsentClaim(resolvedOptions);
|
|
5797
|
+
return withAutoSpawnConsentClaim(options.issueId, (acceptConsent) => spawnAgentWithoutConsentClaim(resolvedOptions, acceptConsent), { isAccepted: (state) => state.status === "running" && state.kickoffDelivered !== false });
|
|
5798
|
+
}
|
|
5799
|
+
async function spawnAgentWithoutConsentClaim(options, acceptConsent) {
|
|
5708
5800
|
const role = options.role ?? "work";
|
|
5709
5801
|
const sessionPrefix = role === "strike" ? "strike" : "agent";
|
|
5710
5802
|
const agentId = options.agentId ?? `${sessionPrefix}-${options.issueId.toLowerCase()}`;
|
|
@@ -5721,7 +5813,7 @@ async function spawnAgent(options) {
|
|
|
5721
5813
|
});
|
|
5722
5814
|
console.log(`[DEBUG] Selected model: ${selectedModel}`);
|
|
5723
5815
|
if (getProviderForModelSync(selectedModel).name === "openai" && await getProviderAuthMode(selectedModel) === "subscription") {
|
|
5724
|
-
const { isCliproxyRunning } = await import("./cliproxy-
|
|
5816
|
+
const { isCliproxyRunning } = await import("./cliproxy-DaAbWMjC.js");
|
|
5725
5817
|
if (!await Effect.runPromise(isCliproxyRunning())) throw new Error("CLIProxyAPI sidecar is not running. GPT subscription agents route through a local cliproxy process managed by `pan up`. Run `pan up` (or restart the dashboard) before spawning a GPT agent.");
|
|
5726
5818
|
}
|
|
5727
5819
|
const resolvedHarness = await resolveHarness({
|
|
@@ -5733,6 +5825,8 @@ async function spawnAgent(options) {
|
|
|
5733
5825
|
const harnessLaunch = await prepareHarnessLaunch(resolvedHarness);
|
|
5734
5826
|
assertCodexNativeAuthForSpawn(resolvedHarness, listAgentStates());
|
|
5735
5827
|
await ensureLifecycleHooksBeforeLaunch(agentId, resolvedHarness);
|
|
5828
|
+
const flywheelEnv = resolveFlywheelSpawnEnv(role, options.flywheelRunId);
|
|
5829
|
+
const startedBy = resolveAgentStartedBy(options.startedBy, flywheelEnv.OVERDECK_FLYWHEEL_RUN_ID);
|
|
5736
5830
|
const state = {
|
|
5737
5831
|
id: agentId,
|
|
5738
5832
|
issueId: options.issueId,
|
|
@@ -5745,7 +5839,9 @@ async function spawnAgent(options) {
|
|
|
5745
5839
|
startedAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
5746
5840
|
...resolvedHarness === "codex" ? {} : { costSoFar: 0 },
|
|
5747
5841
|
hostOverride: options.allowHost || void 0,
|
|
5748
|
-
sessionId: createFreshSessionIdentity(agentId, resolvedHarness)
|
|
5842
|
+
sessionId: createFreshSessionIdentity(agentId, resolvedHarness),
|
|
5843
|
+
flywheelRunId: flywheelEnv.OVERDECK_FLYWHEEL_RUN_ID,
|
|
5844
|
+
startedBy
|
|
5749
5845
|
};
|
|
5750
5846
|
const supervisorLaunch = await prepareSupervisorForFreshLaunch(agentId, options, state);
|
|
5751
5847
|
saveAgentStateSync(state);
|
|
@@ -5755,7 +5851,7 @@ async function spawnAgent(options) {
|
|
|
5755
5851
|
if (preservation.preserve) {
|
|
5756
5852
|
if (preservation.refreshedAnchor) setReviewStatusSync(options.issueId, { reviewedAtCommit: preservation.refreshedAnchor });
|
|
5757
5853
|
console.log(`[spawn] Preserved pipeline verdicts for ${options.issueId} — ${preservation.reason}`);
|
|
5758
|
-
} else if (resetPipelineVerdictsForWorkStartSync(options.issueId)) (await import("./merge-agent-
|
|
5854
|
+
} else if (resetPipelineVerdictsForWorkStartSync(options.issueId)) (await import("./merge-agent-DQTXZk8z.js")).resetPostMergeState(options.issueId);
|
|
5759
5855
|
} catch (err) {
|
|
5760
5856
|
console.warn(`[agents] Could not reset stale pipeline verdicts for ${options.issueId}: ${err instanceof Error ? err.message : String(err)}`);
|
|
5761
5857
|
}
|
|
@@ -5764,7 +5860,7 @@ async function spawnAgent(options) {
|
|
|
5764
5860
|
});
|
|
5765
5861
|
}
|
|
5766
5862
|
if (role === "work") try {
|
|
5767
|
-
const { writeStoryFeatureContext } = await import("./work-agent-prompt-
|
|
5863
|
+
const { writeStoryFeatureContext } = await import("./work-agent-prompt-ByrPAzOy.js");
|
|
5768
5864
|
await writeStoryFeatureContext(options.workspace, options.issueId);
|
|
5769
5865
|
} catch (ctxErr) {
|
|
5770
5866
|
console.warn(`[agents] Could not write story feature context for ${options.issueId}: ${ctxErr.message}`);
|
|
@@ -5811,7 +5907,7 @@ async function spawnAgent(options) {
|
|
|
5811
5907
|
try {
|
|
5812
5908
|
const venvPath = join$1(options.workspace, ".venv");
|
|
5813
5909
|
if (isTldrEnabledSync() && existsSync(venvPath)) {
|
|
5814
|
-
const { getTldrDaemonServiceSync } = await import("./tldr-daemon-
|
|
5910
|
+
const { getTldrDaemonServiceSync } = await import("./tldr-daemon-CvWXBhX1.js");
|
|
5815
5911
|
const tldrService = getTldrDaemonServiceSync(options.workspace, venvPath);
|
|
5816
5912
|
if (!(await tldrService.getStatus()).running) {
|
|
5817
5913
|
await tldrService.start(true);
|
|
@@ -5830,7 +5926,6 @@ async function spawnAgent(options) {
|
|
|
5830
5926
|
state.channelsEnabled = true;
|
|
5831
5927
|
saveAgentStateSync(state);
|
|
5832
5928
|
}
|
|
5833
|
-
const flywheelEnv = resolveFlywheelSpawnEnv(role, options.flywheelRunId);
|
|
5834
5929
|
const { launcherContent, providerEnv } = await buildAgentLaunchConfig({
|
|
5835
5930
|
agentId,
|
|
5836
5931
|
model: selectedModel,
|
|
@@ -5852,13 +5947,13 @@ async function spawnAgent(options) {
|
|
|
5852
5947
|
const claudeCmd = `bash ${launcherScript}`;
|
|
5853
5948
|
console.log(`[claude-invoke] purpose=work-agent | model=${state.model} | source=agents.ts:spawnAgent | session=${agentId} | command="${claudeCmd}"`);
|
|
5854
5949
|
try {
|
|
5855
|
-
const { preTrustDirectory } = await import("./workspace-manager-
|
|
5950
|
+
const { preTrustDirectory } = await import("./workspace-manager-C1F3XsnS.js");
|
|
5856
5951
|
preTrustDirectory(options.workspace);
|
|
5857
5952
|
} catch {}
|
|
5858
5953
|
try {
|
|
5859
|
-
const { isGitHubAppConfigured, generateInstallationToken, configureWorkspaceForBot } = await import("./github-app-
|
|
5954
|
+
const { isGitHubAppConfigured, generateInstallationToken, configureWorkspaceForBot } = await import("./github-app-Bmg4R9mv.js");
|
|
5860
5955
|
if (isGitHubAppConfigured()) {
|
|
5861
|
-
const { findProjectByPathSync } = await import("./projects-
|
|
5956
|
+
const { findProjectByPathSync } = await import("./projects-_n3Zui6K.js");
|
|
5862
5957
|
const ghRepo = findProjectByPathSync(resolve$1(options.workspace, "..", ".."))?.github_repo;
|
|
5863
5958
|
if (ghRepo) {
|
|
5864
5959
|
const [owner, repo] = ghRepo.split("/");
|
|
@@ -5877,11 +5972,13 @@ async function spawnAgent(options) {
|
|
|
5877
5972
|
OVERDECK_AGENT_ID: agentId,
|
|
5878
5973
|
OVERDECK_ISSUE_ID: options.issueId,
|
|
5879
5974
|
OVERDECK_SESSION_TYPE: role,
|
|
5975
|
+
OVERDECK_AGENT_STARTED_BY: startedBy,
|
|
5880
5976
|
CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION: "false",
|
|
5881
5977
|
GIT_SEQUENCE_EDITOR: "false",
|
|
5882
5978
|
...flywheelEnv,
|
|
5883
5979
|
...providerEnv
|
|
5884
5980
|
} }));
|
|
5981
|
+
await acceptConsent?.();
|
|
5885
5982
|
await saveAgentRuntimeState(agentId, {
|
|
5886
5983
|
claudeSessionId: state.sessionId,
|
|
5887
5984
|
sessionModel: selectedModel,
|
|
@@ -5936,7 +6033,7 @@ async function spawnAgent(options) {
|
|
|
5936
6033
|
const codexHomeForAgent = join$1(homedir(), ".overdeck", "agents", agentId, "codex-home");
|
|
5937
6034
|
(async () => {
|
|
5938
6035
|
try {
|
|
5939
|
-
const { waitForCodexRollout, extractThreadIdFromRollout, writeThreadId } = await import("./codex-
|
|
6036
|
+
const { waitForCodexRollout, extractThreadIdFromRollout, writeThreadId } = await import("./codex-o8FJwzmy.js");
|
|
5940
6037
|
const rollout = await waitForCodexRollout(codexHomeForAgent, 12e4);
|
|
5941
6038
|
if (rollout) {
|
|
5942
6039
|
const threadId = extractThreadIdFromRollout(rollout);
|
|
@@ -5971,47 +6068,6 @@ function assertRegisteredSlotCap(issueId, configuredCap) {
|
|
|
5971
6068
|
const activeSlots = listAgentStates({ role: "work" }).filter((agent) => slotAgentPattern.test(agent.id) && (agent.status === "starting" || agent.status === "running"));
|
|
5972
6069
|
if (activeSlots.length >= cap) throw new Error(`Registered slot cap reached for ${issueId}: ${activeSlots.length}/${cap} active slot agents.`);
|
|
5973
6070
|
}
|
|
5974
|
-
function buildRegisteredSlotPrompt(issueId, baseWorkspace, slot, extraPrompt) {
|
|
5975
|
-
const doc = readWorkspacePlanSync(baseWorkspace);
|
|
5976
|
-
if (!doc) throw new Error(`Registered slot spawn for ${issueId} requires a readable xBRIEF plan in ${baseWorkspace}.`);
|
|
5977
|
-
const slice = createActiveSlice(doc, {
|
|
5978
|
-
issueId: issueId.toUpperCase(),
|
|
5979
|
-
itemId: slot.slotItemId,
|
|
5980
|
-
currentItemIds: [slot.slotItemId]
|
|
5981
|
-
});
|
|
5982
|
-
const lines = [
|
|
5983
|
-
`# Registered Slot Assignment: ${slot.slotItemId}`,
|
|
5984
|
-
"",
|
|
5985
|
-
`Issue: ${issueId}`,
|
|
5986
|
-
`Slot: ${slot.slotIndex}`,
|
|
5987
|
-
`Agent: ${slot.agentId}`,
|
|
5988
|
-
`Branch: ${slot.branch}`,
|
|
5989
|
-
`Workspace: ${slot.workspace}`,
|
|
5990
|
-
"",
|
|
5991
|
-
"You are a registered slot work agent. Implement only the target xBRIEF item below, keep changes scoped to that item, and do not merge this slot branch yourself.",
|
|
5992
|
-
"",
|
|
5993
|
-
slice.prompt
|
|
5994
|
-
];
|
|
5995
|
-
const trimmedExtra = extraPrompt?.trim();
|
|
5996
|
-
if (trimmedExtra) lines.push("", "## Additional Foreman Instructions", trimmedExtra);
|
|
5997
|
-
return lines.join("\n");
|
|
5998
|
-
}
|
|
5999
|
-
async function ensureRegisteredSlotWorktree(baseWorkspace, slot) {
|
|
6000
|
-
if (existsSync(slot.workspace)) return;
|
|
6001
|
-
await mkdir$1(dirname$1(slot.workspace), { recursive: true });
|
|
6002
|
-
const branchExists = await gitBranchExists(baseWorkspace, slot.branch);
|
|
6003
|
-
const target = JSON.stringify(slot.workspace);
|
|
6004
|
-
const branch = JSON.stringify(slot.branch);
|
|
6005
|
-
await execAsync$2(branchExists ? `git worktree add ${target} ${branch}` : `git worktree add -b ${branch} ${target} HEAD`, { cwd: baseWorkspace });
|
|
6006
|
-
}
|
|
6007
|
-
async function gitBranchExists(workspace, branch) {
|
|
6008
|
-
try {
|
|
6009
|
-
await execAsync$2(`git show-ref --verify --quiet ${JSON.stringify(`refs/heads/${branch}`)}`, { cwd: workspace });
|
|
6010
|
-
return true;
|
|
6011
|
-
} catch {
|
|
6012
|
-
return false;
|
|
6013
|
-
}
|
|
6014
|
-
}
|
|
6015
6071
|
function escapeRegExp$1(value) {
|
|
6016
6072
|
return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
6017
6073
|
}
|
|
@@ -6045,7 +6101,6 @@ var init_spawn = __esmMin((() => {
|
|
|
6045
6101
|
init_behavior();
|
|
6046
6102
|
init_bridge_token();
|
|
6047
6103
|
init_tmux();
|
|
6048
|
-
init_dag();
|
|
6049
6104
|
init_io();
|
|
6050
6105
|
init_agent_state();
|
|
6051
6106
|
init_runtime_state();
|
|
@@ -6063,6 +6118,9 @@ var init_spawn = __esmMin((() => {
|
|
|
6063
6118
|
init_termination();
|
|
6064
6119
|
init_session_history();
|
|
6065
6120
|
init_hook_readiness();
|
|
6121
|
+
init_auto_spawn_consent();
|
|
6122
|
+
init_provenance();
|
|
6123
|
+
init_registered_slot_spawn();
|
|
6066
6124
|
execAsync$2 = promisify$1(exec$1);
|
|
6067
6125
|
}));
|
|
6068
6126
|
//#endregion
|
|
@@ -6779,7 +6837,7 @@ function deliverWithOptionalKey(normalizedId, message, caller, deliveryMethod, d
|
|
|
6779
6837
|
* at-most-once across the whole replay window.
|
|
6780
6838
|
*/
|
|
6781
6839
|
async function resumeThenDeliverKeyed(normalizedId, message, caller, agentState, dedupKey) {
|
|
6782
|
-
const { resumeAgent } = await import("./agents-
|
|
6840
|
+
const { resumeAgent } = await import("./agents-ePFVoZbu.js");
|
|
6783
6841
|
const result = await resumeAgent(normalizedId);
|
|
6784
6842
|
if (!result.success) throw new Error(`Failed to auto-resume agent: ${result.error}`);
|
|
6785
6843
|
const delivery = await deliverAgentMessage(normalizedId, message, `messageAgent:${caller}`, resolveAgentDeliveryMethod(agentState), { dedupKey });
|
|
@@ -6834,7 +6892,7 @@ async function messageAgent(agentId, message, caller = "internal", opts = {}) {
|
|
|
6834
6892
|
}
|
|
6835
6893
|
console.log(`[agents] Auto-resuming suspended agent ${normalizedId} to deliver message`);
|
|
6836
6894
|
if (opts.dedupKey !== void 0) return resumeThenDeliverKeyed(normalizedId, message, caller, agentState, opts.dedupKey);
|
|
6837
|
-
const { resumeAgent } = await import("./agents-
|
|
6895
|
+
const { resumeAgent } = await import("./agents-ePFVoZbu.js");
|
|
6838
6896
|
const result = await resumeAgent(normalizedId, message);
|
|
6839
6897
|
if (!result.success) throw new Error(`Failed to auto-resume agent: ${result.error}`);
|
|
6840
6898
|
if (result.messageDelivered === false) throw new Error(`Agent resumed but ready signal did not fire — message not delivered. Feedback is in the mail queue.`);
|
|
@@ -6859,7 +6917,7 @@ async function messageAgent(agentId, message, caller = "internal", opts = {}) {
|
|
|
6859
6917
|
}
|
|
6860
6918
|
console.log(`[agents] Auto-resuming stopped agent ${normalizedId} to deliver feedback (session exists: ${await Effect.runPromise(sessionExists(normalizedId))})`);
|
|
6861
6919
|
if (opts.dedupKey !== void 0) return resumeThenDeliverKeyed(normalizedId, message, caller, agentState, opts.dedupKey);
|
|
6862
|
-
const { resumeAgent } = await import("./agents-
|
|
6920
|
+
const { resumeAgent } = await import("./agents-ePFVoZbu.js");
|
|
6863
6921
|
const resumeResult = await resumeAgent(normalizedId, message);
|
|
6864
6922
|
queueAgentMail(normalizedId, message, false);
|
|
6865
6923
|
if (resumeResult.success && resumeResult.messageDelivered !== false) {
|
|
@@ -6903,7 +6961,7 @@ async function messageAgent(agentId, message, caller = "internal", opts = {}) {
|
|
|
6903
6961
|
const resumeModel = agentState.model || "claude-sonnet-4-6";
|
|
6904
6962
|
const fallbackHarness = agentState.harness ?? "claude-code";
|
|
6905
6963
|
const harnessLaunch = await prepareHarnessLaunch(fallbackHarness);
|
|
6906
|
-
const { assertWorkspaceStackHealthyForSpawn } = await import("./agents-
|
|
6964
|
+
const { assertWorkspaceStackHealthyForSpawn } = await import("./agents-ePFVoZbu.js");
|
|
6907
6965
|
await assertWorkspaceStackHealthyForSpawn(agentState.issueId || normalizedId.replace(/^agent-/, "").toUpperCase(), resumeRole, agentState.hostOverride === true, agentState.workspace);
|
|
6908
6966
|
const fallbackPiFields = fallbackHarness === "ohmypi" ? await getOhmypiLauncherFields(normalizedId, resumeModel) : {};
|
|
6909
6967
|
const fallbackCodexFields = fallbackHarness === "codex" ? getCodexLauncherFields(normalizedId, resumeModel, agentState.workspace, resumeRole) : {};
|
|
@@ -6986,12 +7044,12 @@ async function messageAgent(agentId, message, caller = "internal", opts = {}) {
|
|
|
6986
7044
|
...reason ? { reason } : {}
|
|
6987
7045
|
};
|
|
6988
7046
|
}
|
|
6989
|
-
const { loadRemoteAgentState, sendToRemoteAgent } = await import("./remote-agents-
|
|
7047
|
+
const { loadRemoteAgentState, sendToRemoteAgent } = await import("./remote-agents-CLZB3Coc.js");
|
|
6990
7048
|
const remoteState = loadRemoteAgentState(normalizedId);
|
|
6991
7049
|
if (remoteState && remoteState.vmName) {
|
|
6992
7050
|
console.log(`[agents] Sending message to remote agent ${normalizedId} on ${remoteState.vmName}`);
|
|
6993
7051
|
if (opts.dedupKey !== void 0) {
|
|
6994
|
-
const { sendToRemoteAgentKeyed } = await import("./remote-agents-
|
|
7052
|
+
const { sendToRemoteAgentKeyed } = await import("./remote-agents-CLZB3Coc.js");
|
|
6995
7053
|
const remoteOutcome = await sendToRemoteAgentKeyed(normalizedId, remoteState.vmName, message, opts.dedupKey);
|
|
6996
7054
|
queueAgentMail(normalizedId, message, false, opts.dedupKey);
|
|
6997
7055
|
await appendTellInterventionForUserSource(normalizedId, caller);
|
|
@@ -7055,7 +7113,7 @@ async function messageAgent(agentId, message, caller = "internal", opts = {}) {
|
|
|
7055
7113
|
if (panePids.length > 0 && !await hasAgentRuntimeInSubtree(panePids[0], expectedHarness)) {
|
|
7056
7114
|
console.warn(`[agents] ${normalizedId} tmux session is a zombie (no ${expectedHarness} runtime) — attempting resume`);
|
|
7057
7115
|
if (opts.dedupKey !== void 0) return resumeThenDeliverKeyed(normalizedId, message, caller, agentState, opts.dedupKey);
|
|
7058
|
-
const { resumeAgent } = await import("./agents-
|
|
7116
|
+
const { resumeAgent } = await import("./agents-ePFVoZbu.js");
|
|
7059
7117
|
const resumeResult = await resumeAgent(normalizedId, message);
|
|
7060
7118
|
if (resumeResult.success) {
|
|
7061
7119
|
const delivered = resumeResult.messageDelivered !== false;
|
|
@@ -7197,6 +7255,47 @@ var init_session_pointers = __esmMin((() => {
|
|
|
7197
7255
|
init_agent_state();
|
|
7198
7256
|
}));
|
|
7199
7257
|
//#endregion
|
|
7258
|
+
//#region ../../lib/agents/resume-spawn-plan.ts
|
|
7259
|
+
function decideResumeSpawnPlan(input) {
|
|
7260
|
+
const rotationRefused = sessionRotationRefused({
|
|
7261
|
+
compactSeed: input.compactSeed,
|
|
7262
|
+
driftReasons: input.driftReasons,
|
|
7263
|
+
allowExplicitRecovery: input.allowExplicitRecovery
|
|
7264
|
+
});
|
|
7265
|
+
if (input.compactSeed) return {
|
|
7266
|
+
mode: "fresh",
|
|
7267
|
+
freshReason: "compact",
|
|
7268
|
+
clearSessionPointers: false,
|
|
7269
|
+
rotationRefused
|
|
7270
|
+
};
|
|
7271
|
+
if (input.driftReasons.length > 0) return {
|
|
7272
|
+
mode: "fresh",
|
|
7273
|
+
freshReason: "drift",
|
|
7274
|
+
clearSessionPointers: false,
|
|
7275
|
+
rotationRefused
|
|
7276
|
+
};
|
|
7277
|
+
if (input.harness === "ohmypi" && !input.piProcessWasAlive) return {
|
|
7278
|
+
mode: "fresh",
|
|
7279
|
+
freshReason: "pi-dead-recovery",
|
|
7280
|
+
clearSessionPointers: false,
|
|
7281
|
+
rotationRefused: false
|
|
7282
|
+
};
|
|
7283
|
+
if (input.harness === "claude-code" && !input.transcriptExists) return {
|
|
7284
|
+
mode: "fresh",
|
|
7285
|
+
freshReason: "claude-jsonl-missing",
|
|
7286
|
+
clearSessionPointers: true,
|
|
7287
|
+
rotationRefused: false
|
|
7288
|
+
};
|
|
7289
|
+
return {
|
|
7290
|
+
mode: "resume-saved",
|
|
7291
|
+
clearSessionPointers: false,
|
|
7292
|
+
rotationRefused: false
|
|
7293
|
+
};
|
|
7294
|
+
}
|
|
7295
|
+
var init_resume_spawn_plan = __esmMin((() => {
|
|
7296
|
+
init_session_rotation();
|
|
7297
|
+
}));
|
|
7298
|
+
//#endregion
|
|
7200
7299
|
//#region ../../lib/agents/resume.ts
|
|
7201
7300
|
/**
|
|
7202
7301
|
* Resume a suspended agent (PAN-80)
|
|
@@ -7229,7 +7328,7 @@ async function buildCompactRecoverySeed(agentId) {
|
|
|
7229
7328
|
if (agentState?.workspace && sessionId) {
|
|
7230
7329
|
const sessionFile = sessionFilePath(agentState.workspace, sessionId);
|
|
7231
7330
|
try {
|
|
7232
|
-
const [{ getConversationCompactionSettings }, { generateSmartSummary }] = await Promise.all([import("./conversation-compaction-
|
|
7331
|
+
const [{ getConversationCompactionSettings }, { generateSmartSummary }] = await Promise.all([import("./conversation-compaction-BE3CNtHF.js"), import("./smart-compaction-8fA5k5XN.js")]);
|
|
7233
7332
|
const settings = getConversationCompactionSettings();
|
|
7234
7333
|
summary = (await Effect.runPromise(generateSmartSummary({
|
|
7235
7334
|
jsonlPath: sessionFile,
|
|
@@ -7240,7 +7339,7 @@ async function buildCompactRecoverySeed(agentId) {
|
|
|
7240
7339
|
} catch (err) {
|
|
7241
7340
|
logAgentLifecycleSync(normalizedId, `compact-recovery smart summary failed (${err instanceof Error ? err.message : String(err)}); trying heuristic fallback`);
|
|
7242
7341
|
try {
|
|
7243
|
-
const { generateFallbackSummary } = await import("./summary-fork-
|
|
7342
|
+
const { generateFallbackSummary } = await import("./summary-fork-BqgmgPDt.js");
|
|
7244
7343
|
summary = await Effect.runPromise(generateFallbackSummary(sessionFile));
|
|
7245
7344
|
} catch (fallbackErr) {
|
|
7246
7345
|
logAgentLifecycleSync(normalizedId, `compact-recovery fallback summary failed (${fallbackErr instanceof Error ? fallbackErr.message : String(fallbackErr)}); seeding with reseed instructions only`);
|
|
@@ -7343,6 +7442,8 @@ async function resumeAgent(agentId, message, opts) {
|
|
|
7343
7442
|
}
|
|
7344
7443
|
try {
|
|
7345
7444
|
const resumeStartedAt = (/* @__PURE__ */ new Date()).toISOString();
|
|
7445
|
+
const startedBy = opts?.startedBy?.trim() || agentState.startedBy?.trim() || "resume-agent";
|
|
7446
|
+
agentState.startedBy = startedBy;
|
|
7346
7447
|
clearReadySignal(normalizedId);
|
|
7347
7448
|
const model = requestedModel || requireModelOverrideSync(agentState.model || "claude-sonnet-4-6");
|
|
7348
7449
|
if (requestedModel && requestedModel !== agentState.model) {
|
|
@@ -7363,20 +7464,24 @@ async function resumeAgent(agentId, message, opts) {
|
|
|
7363
7464
|
saveAgentStateSync(agentState);
|
|
7364
7465
|
const resumeDriftReasons = sessionResumeDriftReasons(runtimeState, model, effectiveHarness);
|
|
7365
7466
|
if (legacyHarnessMigrated) resumeDriftReasons.push(`legacy harness ${priorHarness}→${effectiveHarness} (PAN-1797 re-default)`);
|
|
7366
|
-
const piDeadRecovery = effectiveHarness === "ohmypi" && !piProcessWasAlive && !compactSeed && resumeDriftReasons.length === 0;
|
|
7367
|
-
if (piDeadRecovery) logAgentLifecycleSync(normalizedId, "resumeAgent: dead ohmypi process — fresh-launching for recovery instead of omp --resume (PAN-2009)");
|
|
7368
7467
|
const expectedClaudeJsonl = sessionFilePath(agentState.workspace, sessionId);
|
|
7369
|
-
const
|
|
7370
|
-
|
|
7371
|
-
logAgentLifecycleSync(normalizedId, `resumeAgent: saved Claude transcript is missing at ${expectedClaudeJsonl} — clearing stale pointers and fresh-launching (PAN-2895)`);
|
|
7372
|
-
await clearAgentSessionPointers(normalizedId);
|
|
7373
|
-
}
|
|
7374
|
-
const shouldResumeSavedSession = !compactSeed && resumeDriftReasons.length === 0 && !piDeadRecovery && !claudeJsonlMissingRecovery;
|
|
7375
|
-
if (sessionRotationRefused({
|
|
7468
|
+
const spawnPlan = decideResumeSpawnPlan({
|
|
7469
|
+
harness: effectiveHarness,
|
|
7376
7470
|
compactSeed: Boolean(compactSeed),
|
|
7377
7471
|
driftReasons: resumeDriftReasons,
|
|
7472
|
+
piProcessWasAlive,
|
|
7473
|
+
transcriptExists: effectiveHarness !== "claude-code" || claudeSessionTranscriptExists(agentState.workspace, sessionId),
|
|
7378
7474
|
allowExplicitRecovery: opts?.compact === true && opts.recoverGated === true
|
|
7379
|
-
})
|
|
7475
|
+
});
|
|
7476
|
+
const piDeadRecovery = spawnPlan.freshReason === "pi-dead-recovery";
|
|
7477
|
+
if (piDeadRecovery) logAgentLifecycleSync(normalizedId, "resumeAgent: dead ohmypi process — fresh-launching for recovery instead of omp --resume (PAN-2009)");
|
|
7478
|
+
const claudeJsonlMissingRecovery = spawnPlan.freshReason === "claude-jsonl-missing";
|
|
7479
|
+
if (spawnPlan.clearSessionPointers) {
|
|
7480
|
+
logAgentLifecycleSync(normalizedId, `resumeAgent: saved Claude transcript is missing at ${expectedClaudeJsonl} — clearing stale pointers and fresh-launching (PAN-2895)`);
|
|
7481
|
+
await clearAgentSessionPointers(normalizedId);
|
|
7482
|
+
}
|
|
7483
|
+
const shouldResumeSavedSession = spawnPlan.mode === "resume-saved";
|
|
7484
|
+
if (spawnPlan.rotationRefused) {
|
|
7380
7485
|
const errMsg = `Refusing to rotate ${normalizedId} to a new session — ${compactSeed ? "context-overflow compaction would respawn a fresh session" : `session drift (${resumeDriftReasons.join(", ")})`}; session rotation is disabled (PAN-1980). Agent left stopped.`;
|
|
7381
7486
|
logAgentLifecycleSync(normalizedId, `resumeAgent: ${errMsg}`);
|
|
7382
7487
|
emitActivityEntrySync({
|
|
@@ -7399,14 +7504,15 @@ async function resumeAgent(agentId, message, opts) {
|
|
|
7399
7504
|
unlinkSync(join$1(getAgentDir(normalizedId), "session.id"));
|
|
7400
7505
|
} catch {}
|
|
7401
7506
|
const issueId = agentState.issueId || normalizedId.replace(/^agent-/, "").toUpperCase();
|
|
7507
|
+
const resumeCause = opts?.resumeCause ?? (agentState.stoppedByUser === true ? "operator" : message ? "message" : "system");
|
|
7402
7508
|
const defaultResumeMessage = buildResumeContinueMessage(agentState);
|
|
7403
7509
|
const resumeMessage = compactSeed ? {
|
|
7404
|
-
message: message ? `${compactSeed}\n\n${message}` : compactSeed
|
|
7510
|
+
message: `${message ? `${compactSeed}\n\n${message}` : compactSeed}\n\n${buildResumeContract(resumeCause)}`,
|
|
7405
7511
|
redeliveringKickoff: false
|
|
7406
7512
|
} : resumeDriftReasons.length > 0 ? {
|
|
7407
|
-
message: message ?? defaultResumeMessage
|
|
7513
|
+
message: `${message ?? defaultResumeMessage}\n\n${buildResumeContract(resumeCause)}`,
|
|
7408
7514
|
redeliveringKickoff: false
|
|
7409
|
-
} : await buildResumeMessageForAgent(agentState, defaultResumeMessage, message);
|
|
7515
|
+
} : await buildResumeMessageForAgent(agentState, defaultResumeMessage, message, resumeCause);
|
|
7410
7516
|
if (resumeMessage.error) {
|
|
7411
7517
|
console.error(`[resumeAgent] ${resumeMessage.error}`);
|
|
7412
7518
|
emitActivityEntrySync({
|
|
@@ -7446,6 +7552,7 @@ async function resumeAgent(agentId, message, opts) {
|
|
|
7446
7552
|
OVERDECK_AGENT_ID: normalizedId,
|
|
7447
7553
|
OVERDECK_ISSUE_ID: agentState.issueId || "",
|
|
7448
7554
|
OVERDECK_SESSION_TYPE: agentState.role,
|
|
7555
|
+
OVERDECK_AGENT_STARTED_BY: startedBy,
|
|
7449
7556
|
CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION: "false",
|
|
7450
7557
|
...providerEnv
|
|
7451
7558
|
} }));
|
|
@@ -7583,7 +7690,6 @@ var init_resume = __esmMin((() => {
|
|
|
7583
7690
|
init_persistent_logger();
|
|
7584
7691
|
init_projects();
|
|
7585
7692
|
init_behavior();
|
|
7586
|
-
init_session_rotation();
|
|
7587
7693
|
init_lifecycle_io();
|
|
7588
7694
|
init_tmux();
|
|
7589
7695
|
init_agent_state();
|
|
@@ -7592,9 +7698,11 @@ var init_resume = __esmMin((() => {
|
|
|
7592
7698
|
init_delivery();
|
|
7593
7699
|
init_identity();
|
|
7594
7700
|
init_runtime_state();
|
|
7701
|
+
init_resume_spawn_plan();
|
|
7595
7702
|
init_runtime_command();
|
|
7596
7703
|
init_supervisor_channels();
|
|
7597
7704
|
init_spawn_prep();
|
|
7705
|
+
init_resume_contract();
|
|
7598
7706
|
}));
|
|
7599
7707
|
//#endregion
|
|
7600
7708
|
//#region ../../lib/graceful-restart.ts
|
|
@@ -8449,7 +8557,8 @@ async function spawnTierSupervisor(issueId, supervisor, options = {}) {
|
|
|
8449
8557
|
model: supervisor.model,
|
|
8450
8558
|
harness: supervisor.harness,
|
|
8451
8559
|
workspace: options.workspace,
|
|
8452
|
-
prompt: options.prompt ?? buildSupervisorPrompt(issueId, supervisor.subscribe)
|
|
8560
|
+
prompt: options.prompt ?? buildSupervisorPrompt(issueId, supervisor.subscribe),
|
|
8561
|
+
startedBy: "tier-supervisor"
|
|
8453
8562
|
});
|
|
8454
8563
|
}
|
|
8455
8564
|
function buildSupervisorPrompt(issueId, subscribe) {
|
|
@@ -8687,13 +8796,15 @@ async function spawnReplayTarget(target, deps) {
|
|
|
8687
8796
|
model: target.supervisor.model,
|
|
8688
8797
|
harness: target.supervisor.harness,
|
|
8689
8798
|
workspace: target.workspace,
|
|
8690
|
-
prompt: target.prompt
|
|
8799
|
+
prompt: target.prompt,
|
|
8800
|
+
startedBy: "tier-replay"
|
|
8691
8801
|
});
|
|
8692
8802
|
const slot = resolveReplaySlot(target, deps);
|
|
8693
8803
|
const spawnOptions = {
|
|
8694
8804
|
slotIndex: slot.slotIndex,
|
|
8695
8805
|
slotItemId: slot.slotItemId,
|
|
8696
8806
|
prompt: target.prompt,
|
|
8807
|
+
startedBy: "tier-replay",
|
|
8697
8808
|
...currentTierSpawnOverride(target)
|
|
8698
8809
|
};
|
|
8699
8810
|
return deps.spawn(target.issueId, "work", spawnOptions);
|
|
@@ -9575,7 +9686,7 @@ var init_runtime_census = __esmMin((() => {
|
|
|
9575
9686
|
]);
|
|
9576
9687
|
runtimeCensusService = createRuntimeCensusService({
|
|
9577
9688
|
listPanes: async () => {
|
|
9578
|
-
const { listAllPaneRecords } = await import("./tmux-
|
|
9689
|
+
const { listAllPaneRecords } = await import("./tmux-Ctk6RV5l.js");
|
|
9579
9690
|
return Effect.runPromise(listAllPaneRecords());
|
|
9580
9691
|
},
|
|
9581
9692
|
readProcesses: readRuntimeProcessTable
|
|
@@ -9729,6 +9840,6 @@ var init_queries = __esmMin((() => {
|
|
|
9729
9840
|
});
|
|
9730
9841
|
}));
|
|
9731
9842
|
//#endregion
|
|
9732
|
-
export { operatorInterventionEvent as $, getAgentDir as $n, providerDefaultHarnessSync as $t, spawnTierSupervisor as A, getProviderExportsForModel as An,
|
|
9843
|
+
export { operatorInterventionEvent as $, getAgentDir as $n, providerDefaultHarnessSync as $t, spawnTierSupervisor as A, getProviderExportsForModel as An, resolvePtySupervisorScriptPath as Ar, AmbiguousKeyedDeliveryError as At, detectCrashedAgents as B, dismissDevChannelsDialog as Bn, saveAgentRuntimeState as Br, init_transcript_landing as Bt, replayCrashedStandingAgent as C, materializeAcpContextFile as Cn, init_agent_record_sync as Cr, resetPatrolDispatchBudget as Ct, init_tier_supervisor as D, buildSpawnEnvForModel as Dn, init_pty_token as Dr, getCachedMemoryVerdict as Dt, deliverCommitForReview as E, buildCavemanExports as En, init_resume_contract as Er, workResumeSlotsAvailable as Et, init_tier_escalation as F, init_openai_auth as Fn, waitForAgentIdle as Fr, deliverResumeMessageWithTranscriptConfirmation as Ft, resumeAgent as G, SESSION_EXITED_BEFORE_KICKOFF as Gn, init_codex_auth as Gr, assertWorkspaceStackHealthyForSpawn as Gt, restartAgent as H, init_supervisor_channels as Hn, init_agent_runtime as Hr, BRIDGE_TOKEN_HEADER as Ht, init_slot_reconcile as I, buildDefaultResumeContinueMessage as In, waitForReadySignal as Ir, init_delivery as It, isContextOverflowTail as J, clearAgentPausedSync as Jn, parseOhmypiSessionCostResultSync as Jr, init_spawn_prep as Jt, init_context_overflow as K, __testInternals as Kn, paneShowsCodexAuthBurn as Kr, buildAgentLaunchConfig as Kt, listSlotAssignments as L, buildResumeContinueMessage as Ln, getAgentRuntimeState as Lr, resilientDeliveryMethod as Lt, broadcastCommit as M, init_provider_health as Mn, isQualifiedAgentId as Mr, deliverAgentMessage as Mt, init_tier_feed as N, validateProviderHealth as Nn, normalizeAgentId as Nr, deliverAgentPermissionDecision as Nt, loadPrdDraft as O, determineModel as On, writePtyToken as Or, init_memory_verdict_cache as Ot, decideEscalation as P, getOpenAIAuthStatus as Pn, resolveAgentTargetSync as Pr, deliverInitialPromptWithRetry as Pt, init_operator_interventions as Q, decideResumeGate as Qn, init_staffing as Qt, reconcileSlotState as R, decideChannelsForWorkAgent as Rn, getAgentRuntimeStateSync as Rr, setAgentDeliveryMethod as Rt, contextWindowForModel as S, init_context as Sn, writeAgentStateJsonSync as Sr, releaseSwarmSlot as St, shouldReplayCompactAtTierRunBoundary as T, init_claude_auth as Tn, buildResumeContract as Tr, tryReserveSwarmSlot as Tt, buildCompactRecoverySeed as U, writeChannelsBridgeMcpConfig as Un, applyCodexAuthBurnFlag as Ur, init_bridge_token as Ut, recoverAgent as V, hasCompletionMarkerForAgent as Vn, getAgentRuntimeSnapshot as Vr, probeTranscriptSince as Vt, init_resume as W, GOVERNOR_SLOT_PAUSE_REASON_PREFIX as Wn, checkCodexAuthStatus as Wr, writeBridgeTokenSync as Wt, messageAgent as X, clearAgentTroubledSync as Xn, transitionIssueToInProgress as Xt, init_messaging as Y, clearAgentTroubled as Yn, retrieveSpawnTimeMemoryContext as Yt, messageAgentWithOutcome as Z, clearYieldForResumeSync as Zn, transitionIssueToInReview as Zt, init_linux as _, waitForPromptReady as _n, saveAgentStateSync as _r, describeRunningAgents as _t, listRunningAgentsSync as a, OHMYPI_AGENT_READY_TIMEOUT_SECONDS as an, isAgentPaused as ar, init_activity as at, init_agents as b, init_ohmypi_fifo as bn, setAgentYieldedSync as br, init_concurrency as bt, getRuntimeCensus as c, getAgentRuntimeBaseCommand as cn, markAgentRunning as cr, init_ohmypi as ct, panePidsForSession as d, getProviderAuthMode as dn, markAgentTroubled as dr, spawnRun as dt, resolveImplicitStaffing as en, getAgentResumeGateBlockReason as er, appendActivity as et, refreshRuntimeCensus as f, getRoleRuntimeBaseCommand as fn, recordAgentFailure as fr, init_termination as ft, LINUX_MEMORY_PRESSURE_DEFAULTS as g, waitForAcpHostReady as gn, saveAgentState as gr, countRunningSwarmSlotsForIssue as gt, init_collector as h, roleAgentDefinitionPath as hn, resetAgentFailureCount as hr, countRunningAgents as ht, listRunningAgents as i, resolveTier as in, init_agent_state as ir, getSessionId as it, supervisorAgentId as j, getProviderTmuxFlags as jn, clearReadySignal as jr, SocketPostStatusError as jt, shouldSupervise as k, getProviderEnvForModel as kn, init_pty_supervisor_locate as kr, setCachedMemoryVerdict as kt, getRuntimeCensusSnapshot as l, getCodexLauncherFields as ln, markAgentRunningState as lr, init_spawn as lt, createHostHealthCollector as m, injectPiConversationMemory as mn, recordStartupSessionExit as mr, stopAgentSync as mt, init_queries as n, resolveStaffing as nn, getAgentStateFilePath as nr, getLatestSessionId as nt, warnOnBareNumericIssueIds as o, describeOhmypiSpawnFailure as on, isAgentTroubled as or, saveSessionId as ot, runtimeCensusHasHarnessProcess as p, init_runtime_command as pn, recordAgentFailureSync as pr, stopAgent as pt, isContextOverflowError as q, clearAgentPaused as qn, init_ohmypi_parser as qr, defaultRunWorkspace as qt, listAgentStates as r, init_resolve_tier as rn, getAgentStateSync as rr, getLatestSessionIdSync as rt, descendantPidsForSession as s, getAcpLauncherFields as sn, isRole as sr, createOhmypiRuntimeSync as st, dropLegacyAgentStatesMissingRoleAsync as t, resolveIssueWorkModel as tn, getAgentState as tr, getActivity as tt, init_runtime_census as u, getOhmypiLauncherFields as un, markAgentStoppedState as ur, spawnAgent as ut, DARWIN_MEMORY_PRESSURE_DEFAULTS as v, init_pi_fifo as vn, setAgentPaused as vr, emergencyBrake as vt, replayStandingAgent as w, getClaudeAuthStatus as wn, readAgentHarnessModelRecordSync as wr, tryReserveAdvancingSlot as wt, compactAtTierRunBoundary as x, ohmypiFifoPaths as xn, wipeAgentStateDirs as xr, releaseAdvancingSlot as xt, init_darwin as y, piFifoPaths as yn, setAgentPausedSync as yr, getConcurrencyLimits as yt, autoRecoverAgents as z, decideSupervisorForWorkAgent as zn, init_runtime_state as zr, captureTranscriptUserRecordSnapshot as zt };
|
|
9733
9844
|
|
|
9734
|
-
//# sourceMappingURL=queries-
|
|
9845
|
+
//# sourceMappingURL=queries-C-MUZaIy.js.map
|