@overdeck/desktop 0.45.10 → 0.45.12
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 +6 -0
- package/package.json +1 -1
- package/server/{acceptance-criteria-l0DSvFFS.js → acceptance-criteria-1LHgD9vg.js} +2 -2
- package/server/{advancing-selfheal-CMlGznKv.js → advancing-selfheal-BqsLWqEM.js} +4 -4
- package/server/{agent-gc-BtAzj8QN.js → agent-gc-CUb52n7s.js} +3 -3
- package/server/{agent-state-xk_G8t90.js → agent-state-D-moNwhA.js} +1 -1
- package/server/{agent-state-service-C1iUF9Ft.js → agent-state-service-BaZH7sXJ.js} +1 -1
- package/server/{agent-state-service-5ge9xxhx.js → agent-state-service-BzESvLOf.js} +4 -4
- package/server/{agents-DHvsjsuP.js → agents-B5LfpLPv.js} +256 -185
- package/server/{agents-BIggLvi_.js → agents-C4kZ8a2r.js} +1 -1
- package/server/{archive-planning-B4Qi02bk.js → archive-planning-BbZe-8IK.js} +1 -1
- package/server/{archive-planning-zTvWWHG_.js → archive-planning-oX1pj6nY.js} +3 -3
- package/server/{artifact-index-jobs-BrByqVkB.js → artifact-index-jobs-DGr6bxev.js} +3 -3
- package/server/{auto-commit-DoIPFoEs.js → auto-commit-CGQlb4rV.js} +1 -1
- package/server/{backlog-auto-trigger-COm_R96V.js → backlog-auto-trigger-BlJHikOm.js} +2 -2
- package/server/{bd-process-lock-CJkoG7hW.js → bd-process-lock-i3CYMS-B.js} +3 -3
- package/server/{beads-AmCXEv_E.js → beads-BNU-fb48.js} +1 -1
- package/server/{beads-DlZm-vrG.js → beads-DD7fYCl5.js} +4 -4
- package/server/{beads-query-BrVNWoSL.js → beads-query-e6oku4P5.js} +2 -2
- package/server/{behavior-By-2Wipv.js → behavior-CPf0pbOt.js} +2 -2
- package/server/{briefing-freshness-CXhZdnB8.js → briefing-freshness-B2FdLwIv.js} +27 -15
- package/server/{checkpoint-manager-CfNpHOp4.js → checkpoint-manager-JryW6MpM.js} +2 -2
- package/server/{checkpoint-manager-CPw51H2n.js → checkpoint-manager-eFgaMMu4.js} +1 -1
- package/server/checkpoint-worker.js +1 -1
- package/server/{checkpoints-BjlBWOA8.js → checkpoints-BK17oicz.js} +1 -1
- package/server/{checkpoints-BbfH1EIy.js → checkpoints-qvOqvMuC.js} +2 -2
- package/server/{claude-permissions-DrRAs_0F.js → claude-permissions-B6bWGh9d.js} +3 -3
- package/server/{claude-settings-overlay-CEWlIFL-.js → claude-settings-overlay-BPdhTPjo.js} +1 -1
- package/server/{claude-settings-overlay-BSeS7Ki3.js → claude-settings-overlay-CRyyKKXQ.js} +2 -2
- package/server/{cli-CvK9xuSS.js → cli-B75AieAM.js} +9 -9
- package/server/cli-Ch_BWJB2.js +3 -0
- package/server/{cliproxy-J-_1iIXe.js → cliproxy-CCzwuSNe.js} +2 -2
- package/server/{cliproxy-BOcmOK6l.js → cliproxy-DOQf66G9.js} +1 -1
- package/server/{close-issue-BnpErnD1.js → close-issue-_X3MXJyG.js} +4 -4
- package/server/{closed-issue-reaper-DRqK5k39.js → closed-issue-reaper-BsUfBSjM.js} +13 -13
- package/server/{closed-issue-reaper-BLCQwTpF.js → closed-issue-reaper-CLR7ClsO.js} +1 -1
- package/server/{codex-DcInrhok.js → codex-B4KEpX5V.js} +5 -5
- package/server/{codex-BUZjrnqH.js → codex-CY-QRuU9.js} +1 -1
- package/server/{compact-beads-omhUgj5b.js → compact-beads-cZds2MTr.js} +1 -1
- package/server/{compact-beads-RFwdZFPA.js → compact-beads-uEDccC76.js} +3 -3
- package/server/{config-oWoKf5jO.js → config-8sjaU6jZ.js} +2 -2
- package/server/{config-CzcWQ24p.js → config-DARrpYWA.js} +1 -1
- package/server/{config-yaml-DPAieL_G.js → config-yaml-ClpGgrf6.js} +100 -99
- package/server/{conflict-gate-BhKvrPxn.js → conflict-gate-BtB_o-Vi.js} +3 -3
- package/server/{conflict-gate-JdFuhKuF.js → conflict-gate-Ds9_2yjd.js} +1 -1
- package/server/{context-layers-DxKsseHI.js → context-layers-CRCk1QG7.js} +2 -2
- package/server/{context-layers-CTjQwcEQ.js → context-layers-r2ywnQYA.js} +3 -3
- package/server/{control-settings-BMqUkXmR.js → control-settings-D1B3u6HP.js} +4 -4
- package/server/{conversation-compaction-Ba5aZdrb.js → conversation-compaction-CZRVk4hg.js} +1 -1
- package/server/{conversation-compaction-C5o_eKEm.js → conversation-compaction-D86Zo2Ci.js} +9 -9
- package/server/{conversation-service-WKl-sw58.js → conversation-service-CkL-6MuG.js} +1 -1
- package/server/{conversation-service-DvG8vZSV.js → conversation-service-CuTVU8dV.js} +5 -5
- package/server/{conversations-Dcx6LeIh.js → conversations-BmWEluPL.js} +1 -1
- package/server/{conversations-DL_BAWVk.js → conversations-DfJKBDwB.js} +5 -5
- package/server/{cost-C2CuA66z.js → cost-CCnqa5xK.js} +2 -2
- package/server/{cost-DaOG8sUB.js → cost-DAPYN6iA.js} +3 -3
- package/server/{cost-sync-8lkDeL9g.js → cost-sync-BDL10Nwu.js} +3 -3
- package/server/{dag-jH8ZkewR.js → dag-Dv2r5bVD.js} +3 -3
- package/server/dashboard-db-worker.js +6 -6
- package/server/{deacon-j3qSZ7--.js → deacon-CM0MxbS8.js} +235 -178
- package/server/{deacon-Cv2RMfHs.js → deacon-DYnZH7kC.js} +3 -3
- package/server/{deacon-nudge-log-CJGA6aSQ.js → deacon-nudge-log-B-naf89q.js} +2 -2
- package/server/{deacon-swarm-DadWNi5J.js → deacon-swarm-BstYoz8Q.js} +17 -17
- package/server/deacon-swarm-CSWGRfzr.js +2 -0
- package/server/deacon.js +7 -7
- package/server/{devcontainer-renderer-DUJYYRQB.js → devcontainer-renderer-CaYOG9JN.js} +2 -2
- package/server/{docker-Q4bphryk.js → docker-DDI1shu3.js} +2 -2
- package/server/{ensure-devcontainer-BCB6fHp9.js → ensure-devcontainer-CbSXvN9W.js} +1 -1
- package/server/{ensure-devcontainer-XLL0vtgV.js → ensure-devcontainer-DCAg3ksz.js} +3 -3
- package/server/{event-store-DTJXZjCl.js → event-store-DCMqyI07.js} +3 -3
- package/server/{event-store-DIk9wvnS.js → event-store-DU3HkZlN.js} +1 -1
- package/server/{events-DGWZzye2.js → events-BfiosVAn.js} +3 -3
- package/server/{events-BlzVUyTx.js → events-DLRxpSuV.js} +1 -1
- package/server/{factory-rG4T40su.js → factory-BMtWV9iv.js} +4 -4
- package/server/{feature-registry-population-Dwyj9gEM.js → feature-registry-population-DA7bO6Zn.js} +5 -5
- package/server/{feature-registry-storage-CnGyNgAq.js → feature-registry-storage-nAY1fbBt.js} +3 -3
- package/server/{features-CYY2_Eeh.js → features-DMu7eGmU.js} +2 -2
- package/server/{feedback-target-C4DaDSZ8.js → feedback-target-B2SEai8-.js} +1 -1
- package/server/{feedback-target-oE4-Esxl.js → feedback-target-DHqcw3cN.js} +6 -6
- package/server/{feedback-writer-thrdxYpK.js → feedback-writer-DMBdS_jL.js} +1 -1
- package/server/{feedback-writer-DMaO0XXa.js → feedback-writer-qvm7UON7.js} +4 -4
- package/server/{flywheel-DefHRzY4.js → flywheel-D2LdPSic.js} +13 -13
- package/server/{flywheel-ClMjGW_u.js → flywheel-Dfpx4bIV.js} +11 -11
- package/server/{flywheel-BqDdGvrQ.js → flywheel-k4FPtCQ_.js} +1 -1
- package/server/{flywheel-merge-order-CuDcqTRJ.js → flywheel-merge-order-CB4lbXeJ.js} +6 -6
- package/server/{flywheel-merge-order-B6YDSElh.js → flywheel-merge-order-CttTazRY.js} +1 -1
- package/server/{forge-BixzckB0.js → forge-CoPFXFyl.js} +3 -3
- package/server/forge-IgLR0Ist.js +2 -0
- package/server/{from-D4xmArTA.js → from-B0YoJl9-.js} +2 -2
- package/server/{fts-db-DPtxOAjp.js → fts-db-DAHW1yA_.js} +2 -2
- package/server/{fts-operations-VrGjsT0w.js → fts-operations-DDXDBi0d.js} +3 -3
- package/server/{git-utils-D_cax3fD.js → git-utils-B90Zjzfl.js} +2 -2
- package/server/{git-utils-RAmTwjFB.js → git-utils-DbfC0zls.js} +1 -1
- package/server/{github-app-FMXgo3vK.js → github-app-BecAnXRX.js} +2 -2
- package/server/{github-app-B5PDHMyn.js → github-app-C7lftMNj.js} +1 -1
- package/server/{github-client-VRiB6N-4.js → github-client-BwtKZtM0.js} +1 -1
- package/server/{github-client-yjbXaqpR.js → github-client-D21rCIXk.js} +2 -2
- package/server/{github-pr-lookup-t8X8R0c0.js → github-pr-lookup-CzVWuysl.js} +2 -2
- package/server/{harness-resolve-DKeSVsJL.js → harness-resolve-SkRJm4a7.js} +3 -3
- package/server/{health-events-DaLX4-0a.js → health-events-BT0aAfeA.js} +2 -2
- package/server/{health-events-CD6q47ub.js → health-events-DA_JLpgZ.js} +1 -1
- package/server/{hooks-D-cbMUzQ.js → hooks-BQxRXtRb.js} +1 -1
- package/server/{hooks-CmHFSj_Z.js → hooks-DxEn2BoY.js} +2 -2
- package/server/{idle-stack-reaper-DdnERp3G.js → idle-stack-reaper-C7fJL8jH.js} +1 -1
- package/server/{idle-stack-reaper-DBKQ9SKu.js → idle-stack-reaper-DGy7tvC9.js} +2 -2
- package/server/{infra-CpKlYZA9.js → infra-DE3C4PMr.js} +22 -4
- package/server/{injection-CszhePD2.js → injection-Cc4Qt8LZ.js} +7 -7
- package/server/{injection-DKzL2Axk.js → injection-Dt22tGvS.js} +1 -1
- package/server/inspect-agent-CYoWAeeB.js +2 -0
- package/server/{inspect-agent-BKKc0XnB.js → inspect-agent-DOaCDkCF.js} +9 -9
- package/server/{internal-token-CQUx9YLc.js → internal-token-B_1YLWLI.js} +3 -3
- package/server/{internal-token-DrGdpLFo.js → internal-token-nobT6FhA.js} +1 -1
- package/server/{io-Wy8YpFeP.js → io-A7ZuOBkz.js} +2 -2
- package/server/{issue-closed-BO84g03t.js → issue-closed-Da3DeomA.js} +4 -4
- package/server/{issue-lifecycle-DnhQgddB.js → issue-lifecycle-543pQX9D.js} +28 -28
- package/server/{issue-lifecycle-nY4esZn8.js → issue-lifecycle-Bd9XBJAQ.js} +1 -1
- package/server/{issue-service-singleton-Bnqv1uaa.js → issue-service-singleton-BC2JLZi7.js} +1 -1
- package/server/{issue-service-singleton-_AquSBTl.js → issue-service-singleton-Brc3t0SV.js} +8 -8
- package/server/{issues-ChNcfHta.js → issues-D3kt9UWE.js} +2 -2
- package/server/{label-cleanup-bVXCGWBM.js → label-cleanup-w9X_T3AQ.js} +2 -2
- package/server/{layers-vdvlpFki.js → layers-Cwe1J-9o.js} +2 -2
- package/server/{lifecycle-CGKm7doE.js → lifecycle-f1GbDK33.js} +6 -6
- package/server/{lifecycle-io-DSrv9xGh.js → lifecycle-io-Bqvj0m3i.js} +4 -4
- package/server/{lifecycle-io-CdqPkCyk.js → lifecycle-io-D56q8zlO.js} +1 -1
- package/server/{linear-client-BxKvL6U8.js → linear-client-Bh4T4S-c.js} +1 -1
- package/server/{linear-client-E0HdXtWs.js → linear-client-CfJMTAYd.js} +2 -2
- package/server/memory-fts-worker.js +1 -1
- package/server/{merge-D3wEbmUJ.js → merge-DRMPa8CQ.js} +1 -1
- package/server/{merge-UlAwCk80.js → merge-ZrXFM3jv.js} +3 -3
- package/server/{merge-agent-BcgAYStl.js → merge-agent-CHHs5S_0.js} +25 -25
- package/server/{merge-agent-Dh8Y9PDO.js → merge-agent-CfohxFWM.js} +1 -1
- package/server/{merge-blockers-DwdQNsYD.js → merge-blockers-BMhDpMl_.js} +2 -2
- package/server/merge-ops-Czke6UAp.js +2 -0
- package/server/{merge-rebase-CH12_ufi.js → merge-rebase-R7MfqpiE.js} +2 -2
- package/server/{merge-set-TRxJwR-w.js → merge-set-B3Breacq.js} +3 -3
- package/server/{merge-set-rXK3ehnB.js → merge-set-D-iXNP0I.js} +1 -1
- package/server/{merge-sync-CaLRt2cB.js → merge-sync-DHWbGtjR.js} +2 -2
- package/server/{merge-sync-BKLKu9kz.js → merge-sync-bOOtfeXR.js} +1 -1
- package/server/{merge-train-DmxlYbEo.js → merge-train-98ptZrPT.js} +3 -3
- package/server/{merge-train-deps-DBHsOWt9.js → merge-train-deps-B5FWJTE2.js} +4 -4
- package/server/{merge-verification-DA9rvqsE.js → merge-verification-BGiuiXAK.js} +4 -4
- package/server/{multipart-parser-DtIEUW2B.js → multipart-parser-D7mzNNDm.js} +2 -2
- package/server/node_modules/.package-lock.json +1 -0
- package/server/{orphan-proposed-reconciler-Db8tUhce.js → orphan-proposed-reconciler-BSGCNJ6X.js} +9 -9
- package/server/{orphan-proposed-reconciler-mXV--tcB.js → orphan-proposed-reconciler-CSuxivr9.js} +1 -1
- package/server/package-lock.json +2 -0
- package/server/package.json +1 -0
- package/server/{pan-dir-BgBeeZDX.js → pan-dir-DoPtdHrp.js} +3 -3
- package/server/{paths-TE1GOZDr.js → paths-CVDLPxXp.js} +2 -2
- package/server/{pipeline-notifier-lwMa--Gz.js → pipeline-notifier-BtYHbBPl.js} +1 -1
- package/server/{pipeline-notifier-aX_5EqQO.js → pipeline-notifier-WD2dnOsR.js} +2 -2
- package/server/{projects-BNmVxnNt.js → projects-Bqfwuqet.js} +1 -1
- package/server/{prompts-CelsUdrx.js → prompts-Cg7e9FPb.js} +2 -2
- package/server/{providers-BOnRq5XK.js → providers-JjK6izqX.js} +1 -1
- package/server/{providers-4-xOzHQu.js → providers-fLduChnX.js} +7 -7
- package/server/public/assets/{chunk-BO2N2NFS-BjULspib.js → chunk-BO2N2NFS-aNlsGDCu.js} +4 -4
- package/server/public/assets/{diagram-OG6HWLK6-4ER5ovy_.js → diagram-OG6HWLK6-CnjkrvT8.js} +1 -1
- package/server/public/assets/{dist-CBUe_1pC.js → dist-Bg3Sbsx4.js} +3 -3
- package/server/public/assets/{dist-DVM-OI65.js → dist-CGKBCieA.js} +1 -1
- package/server/public/assets/{ganttDiagram-6RSMTGT7-DQ3nocJU.js → ganttDiagram-6RSMTGT7-C8LLKj23.js} +1 -1
- package/server/public/assets/{highlighted-body-OFNGDK62-BcLOHe75.js → highlighted-body-OFNGDK62-BSDEUvhW.js} +1 -1
- package/server/public/assets/{index-B-m-cSFg.css → index-CZiADHcL.css} +1 -1
- package/server/public/assets/index-LQIfhmgI.js +796 -0
- package/server/public/assets/{linear-Acq5WFAt.js → linear-DEbYZoxg.js} +1 -1
- package/server/public/assets/mermaid-GHXKKRXX-CZOsRYoT.js +1 -0
- package/server/public/assets/{pieDiagram-4H26LBE5-BEmjmqLh.js → pieDiagram-4H26LBE5-BtZL5pXE.js} +1 -1
- package/server/public/assets/{prod-D-3YYika.js → prod-DYVvIyuh.js} +4 -4
- package/server/public/assets/{quadrantDiagram-W4KKPZXB-DyeZ0jBC.js → quadrantDiagram-W4KKPZXB-a7vS8Jc8.js} +1 -1
- package/server/public/assets/{sankeyDiagram-5OEKKPKP-DSD--Pbl.js → sankeyDiagram-5OEKKPKP-Ckbq2SWH.js} +1 -1
- package/server/public/assets/{xychartDiagram-2RQKCTM6-idS7x7Bb.js → xychartDiagram-2RQKCTM6-DJyeNa99.js} +1 -1
- package/server/public/index.html +2 -2
- package/server/{pull-requests-CH4iBFLl.js → pull-requests-1WXmTBlo.js} +3 -3
- package/server/{pull-requests-DL_4klIb.js → pull-requests-D2SjJIwY.js} +1 -1
- package/server/{rally-D0mKv2t8.js → rally-8aQlLLVj.js} +3 -3
- package/server/rally-Ba9QoNYc.js +3 -0
- package/server/{rally-api-CcCdecF-.js → rally-api-BtvwdX6d.js} +1 -1
- package/server/{rally-api-DgAt6FbN.js → rally-api-H5I2CBO0.js} +2 -2
- package/server/{rally-client-DYjtgTOu.js → rally-client-33CYZYYu.js} +4 -4
- package/server/{rally-client-X0bEEN2B.js → rally-client-Bt-qHiOh.js} +1 -1
- package/server/{rebuild-stack-ByFCMqTK.js → rebuild-stack-CXSgAGPR.js} +1 -1
- package/server/{rebuild-stack-BLG3rlWa.js → rebuild-stack-KHkkrGjx.js} +6 -6
- package/server/{reconstruct-cache-_tDZ2D72.js → reconstruct-cache-D_Ml65_6.js} +7 -7
- package/server/{record-DjPikotp.js → record-De2syxNB.js} +1 -1
- package/server/{remote-TN0cV8k-.js → remote-CGuognN3.js} +3 -3
- package/server/{remote-B1Trmr0N.js → remote-D0Old0Cv.js} +3 -3
- package/server/{remote-agents-CmbIKw7E.js → remote-agents-DfhMq6kQ.js} +5 -5
- package/server/{remote-agents-DNuaAgU6.js → remote-agents-UHoi4oGr.js} +1 -1
- package/server/{remote-completion-Bklh6loJ.js → remote-completion-RZYePR_0.js} +12 -12
- package/server/resume-CmxF3Kjz.js +3 -0
- package/server/{review-agent-phzqNqIs.js → review-agent-sZBCpEVv.js} +35 -26
- package/server/review-agent-uwVftH98.js +3 -0
- package/server/{review-artifacts-BGc69epg.js → review-artifacts-C7a45b1_.js} +7 -7
- package/server/{review-context-CCq56O_Y.js → review-context-CErbQpKL.js} +7 -7
- package/server/{review-monitor-BKG2ubt5.js → review-monitor-DHD9m_kh.js} +2 -2
- package/server/{review-status-bBkqUj5i.js → review-status-JhQ3qlDS.js} +1 -1
- package/server/{review-status-enrichment-CGlcApSn.js → review-status-enrichment-qWvWckYN.js} +3 -3
- package/server/{review-status-BQjqQXZG.js → review-status-gPndPUBc.js} +66 -30
- package/server/{review-status-sync-BxHBVH8s.js → review-status-sync-B_GrEke8.js} +1 -1
- package/server/{review-status-sync-BWHnrq-k.js → review-status-sync-D3A9KX95.js} +2 -2
- package/server/{review-verdict-feedback-wqnikhMK.js → review-verdict-feedback-4WZ5ZdbC.js} +7 -7
- package/server/{review-verdict-feedback-cZh9Wi9G.js → review-verdict-feedback-Zo0r_z4m.js} +1 -1
- package/server/{rollup-DBNy1yFB.js → rollup-Bmhn80tB.js} +1 -1
- package/server/{rollup-BJE-Vc7H.js → rollup-BrUIKMv_.js} +7 -7
- package/server/{scanner-CUGpdp4i.js → scanner-BIGumel_.js} +7 -7
- package/server/{sequence-io-B2GmilSI.js → sequence-io-DA0akEQN.js} +5 -5
- package/server/{sequencer-agent-D8pW2aU_.js → sequencer-agent-DeflKafB.js} +6 -6
- package/server/server.js +576 -552
- package/server/{service-CILd-uOt.js → service-V0sUK-OR.js} +64 -64
- package/server/{session-fork-DDSDVoIK.js → session-fork-Yx3UcAQf.js} +2 -2
- package/server/{settings-CBrei_kx.js → settings-CFEeQRj2.js} +2 -2
- package/server/{settings-D2wt4nku.js → settings-CxVate0h.js} +3 -3
- package/server/settings-DEhYpW0k.js +2 -0
- package/server/{shadow-engineering-Ba1D0QUN.js → shadow-engineering-BRxnVSDk.js} +2 -2
- package/server/{shadow-state-BOaq8BrD.js → shadow-state-1aS8FijU.js} +1 -1
- package/server/{shadow-state-DTC7AMHc.js → shadow-state-BiMwdyl1.js} +2 -2
- package/server/{smart-compaction-CrP90OFE.js → smart-compaction-Bw1K_Sbl.js} +7 -7
- package/server/{smart-compaction-Bgp_gwcA.js → smart-compaction-xblMyVpT.js} +1 -1
- package/server/{spawn-planning-session-D15KbPOy.js → spawn-planning-session-CzDFSKAQ.js} +1 -1
- package/server/{spawn-planning-session-BmJWHSCu.js → spawn-planning-session-DxLxcM7m.js} +15 -15
- package/server/{specialist-context-CwKkcXL9.js → specialist-context-BfkTA81h.js} +5 -5
- package/server/{specialist-handoff-logger-B_2VsWli.js → specialist-handoff-logger-BiKuLtNm.js} +2 -2
- package/server/{specialist-logs-CvDxquV_.js → specialist-logs-CFJjGsLC.js} +3 -3
- package/server/{specialists-D07ybnam.js → specialists-B4byf18k.js} +156 -156
- package/server/{specialists-BCjcG4uE.js → specialists-BLIreoE7.js} +1 -1
- package/server/{specialists-F2uMO4QS.js → specialists-DdvpFNt1.js} +1 -1
- package/server/{specialists-BYi0k8CZ.js → specialists-DjHbwQ_p.js} +18 -18
- package/server/specs-CVH1kvz3.js +3 -0
- package/server/{src-Dp0WHgDZ.js → src-CALBEUMX.js} +3 -3
- package/server/{src-BswtmojL.js → src-mK_M_ZIj.js} +3 -3
- package/server/{stack-health-Deel1mSW.js → stack-health-BFM8YlHw.js} +1 -1
- package/server/{stack-health-BJVh1TCg.js → stack-health-Qd7rPiVe.js} +3 -3
- package/server/{state-home-Bgj7i-C7.js → state-home-C2Bicw9N.js} +6 -6
- package/server/{summary-fork-EjvOkEPl.js → summary-fork-DezPkJSm.js} +16 -16
- package/server/{summary-fork-DedqguZb.js → summary-fork-EWWBvzgE.js} +2 -2
- package/server/supervisor/chunk-ruWRV7i3.js +30 -0
- package/server/supervisor/paths-3R6b989k.js +224 -0
- package/server/supervisor/pty-supervisor.js +391 -0
- package/server/supervisor/pty-token-CScQ32Rj.js +43 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/LICENSE +69 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/README.md +67 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/binding.gyp +123 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/.editorconfig +2 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/.drone.yml +17 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/.gitattributes +19 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/LICENSE +21 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/Makefile +166 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/README.md +151 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/RELEASES.md +280 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/VERSION.txt +1 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/configure +167 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/BufferResizeTests.cc +90 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/ChangeScreenBuffer.cc +53 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/ClearConsole.cc +72 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/ConinMode.cc +117 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/ConinMode.ps1 +116 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/ConoutMode.cc +113 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/DebugClient.py +42 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/DebugServer.py +63 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/DumpLines.py +5 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/EnableExtendedFlags.txt +46 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/Font-Report-June2016/CP437-Consolas.txt +528 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/Font-Report-June2016/CP437-Lucida.txt +633 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/Font-Report-June2016/CP932.txt +630 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/Font-Report-June2016/CP936.txt +630 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/Font-Report-June2016/CP949.txt +630 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/Font-Report-June2016/CP950.txt +630 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/Font-Report-June2016/MinimumWindowWidths.txt +16 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/Font-Report-June2016/Results.txt +4 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/Font-Report-June2016/Windows10SetFontBugginess.txt +144 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/FontSurvey.cc +100 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/FormatChar.h +21 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/FreezePerfTest.cc +62 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/GetCh.cc +20 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/GetConsolePos.cc +41 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/GetFont.cc +261 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/IdentifyConsoleWindow.ps1 +51 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/IsNewConsole.cc +87 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/MouseInputNotes.txt +90 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/MoveConsoleWindow.cc +34 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/Notes.txt +219 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/OSVersion.cc +27 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/ScreenBufferFreezeInactive.cc +101 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/ScreenBufferTest.cc +671 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/ScreenBufferTest2.cc +151 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/SelectAllTest.cc +45 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/SetBufferSize.cc +32 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/SetCursorPos.cc +10 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/SetFont.cc +145 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/SetWindowRect.cc +36 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/ShowArgv.cc +12 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/ShowConsoleInput.cc +40 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/Spew.py +5 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/TestUtil.cc +172 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/UnicodeDoubleWidthTest.cc +102 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/UnicodeWideTest1.cc +246 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/UnicodeWideTest2.cc +130 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/UnixEcho.cc +89 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/Utf16Echo.cc +46 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/VeryLargeRead.cc +122 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/VkEscapeTest.cc +56 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/Win10ResizeWhileFrozen.cc +52 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/Win10WrapTest1.cc +57 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/Win10WrapTest2.cc +30 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/Win32Echo1.cc +26 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/Win32Echo2.cc +19 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/Win32Test1.cc +46 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/Win32Test2.cc +70 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/Win32Test3.cc +78 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/Win32Write1.cc +44 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/WindowsBugCrashReader.cc +27 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/WriteConsole.cc +106 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/build32.sh +9 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/build64.sh +9 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/color-test.sh +212 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/font-notes.txt +300 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/misc/winbug-15048.cc +201 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/ship/build-pty4j-libpty.bat +36 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/ship/common_ship.py +53 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/ship/make_msvc_package.py +165 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/ship/ship.py +108 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/agent/Agent.cc +613 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/agent/Agent.h +103 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/agent/AgentCreateDesktop.cc +84 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/agent/AgentCreateDesktop.h +28 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/agent/ConsoleFont.cc +632 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/agent/ConsoleFont.h +28 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/agent/ConsoleInput.cc +852 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/agent/ConsoleInput.h +109 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/agent/ConsoleInputReencoding.cc +121 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/agent/ConsoleInputReencoding.h +36 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/agent/ConsoleLine.cc +152 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/agent/ConsoleLine.h +41 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/agent/Coord.h +87 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/agent/DebugShowInput.cc +239 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/agent/DebugShowInput.h +32 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/agent/DefaultInputMap.cc +422 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/agent/DefaultInputMap.h +28 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/agent/DsrSender.h +30 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/agent/EventLoop.cc +99 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/agent/EventLoop.h +47 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/agent/InputMap.cc +246 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/agent/InputMap.h +114 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/agent/LargeConsoleRead.cc +71 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/agent/LargeConsoleRead.h +68 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/agent/NamedPipe.cc +378 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/agent/NamedPipe.h +125 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/agent/Scraper.cc +699 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/agent/Scraper.h +103 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/agent/SimplePool.h +75 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/agent/SmallRect.h +143 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/agent/Terminal.cc +535 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/agent/Terminal.h +69 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/agent/UnicodeEncoding.h +157 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/agent/UnicodeEncodingTest.cc +189 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/agent/Win32Console.cc +107 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/agent/Win32Console.h +67 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/agent/Win32ConsoleBuffer.cc +193 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/agent/Win32ConsoleBuffer.h +99 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/agent/main.cc +114 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/agent/subdir.mk +61 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/configurations.gypi +60 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/debugserver/DebugServer.cc +117 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/debugserver/subdir.mk +41 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/include/winpty.h +242 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/include/winpty_constants.h +131 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/libwinpty/AgentLocation.cc +75 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/libwinpty/AgentLocation.h +28 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/libwinpty/LibWinptyException.h +54 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/libwinpty/WinptyInternal.h +72 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/libwinpty/subdir.mk +46 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/libwinpty/winpty.cc +970 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/shared/AgentMsg.h +38 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/shared/BackgroundDesktop.cc +122 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/shared/BackgroundDesktop.h +73 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/shared/Buffer.cc +103 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/shared/Buffer.h +102 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/shared/DebugClient.cc +187 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/shared/DebugClient.h +38 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/shared/GenRandom.cc +138 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/shared/GenRandom.h +55 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/shared/GetCommitHash.bat +13 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/shared/Mutex.h +54 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/shared/OsModule.h +63 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/shared/OwnedHandle.cc +36 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/shared/OwnedHandle.h +45 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/shared/PrecompiledHeader.h +43 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/shared/StringBuilder.h +227 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/shared/StringBuilderTest.cc +114 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/shared/StringUtil.cc +55 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/shared/StringUtil.h +80 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/shared/TimeMeasurement.h +63 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/shared/UnixCtrlChars.h +45 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/shared/UpdateGenVersion.bat +20 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/shared/WindowsSecurity.cc +460 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/shared/WindowsSecurity.h +104 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/shared/WindowsVersion.cc +252 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/shared/WindowsVersion.h +29 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/shared/WinptyAssert.cc +55 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/shared/WinptyAssert.h +64 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/shared/WinptyException.cc +57 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/shared/WinptyException.h +43 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/shared/WinptyVersion.cc +42 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/shared/WinptyVersion.h +27 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/shared/winpty_snprintf.h +99 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/subdir.mk +5 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/tests/subdir.mk +28 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/tests/trivial_test.cc +158 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/unix-adapter/InputHandler.cc +114 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/unix-adapter/InputHandler.h +56 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/unix-adapter/OutputHandler.cc +80 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/unix-adapter/OutputHandler.h +53 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/unix-adapter/Util.cc +86 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/unix-adapter/Util.h +31 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/unix-adapter/WakeupFd.cc +70 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/unix-adapter/WakeupFd.h +42 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/unix-adapter/main.cc +729 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/unix-adapter/subdir.mk +41 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/src/winpty.gyp +235 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/deps/winpty/vcbuild.bat +83 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/lib/conpty_console_list_agent.js +20 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/lib/conpty_console_list_agent.js.map +1 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/lib/eventEmitter2.js +47 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/lib/eventEmitter2.js.map +1 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/lib/eventEmitter2.test.js +30 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/lib/eventEmitter2.test.js.map +1 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/lib/index.js +52 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/lib/index.js.map +1 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/lib/interfaces.js +7 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/lib/interfaces.js.map +1 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/lib/prebuild-file-path.js +18 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/lib/prebuild-file-path.js.map +1 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/lib/prebuild-loader.js +19 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/lib/prebuild-loader.js.map +1 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/lib/shared/conout.js +11 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/lib/shared/conout.js.map +1 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/lib/terminal.js +190 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/lib/terminal.js.map +1 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/lib/terminal.test.js +139 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/lib/terminal.test.js.map +1 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/lib/testUtils.test.js +28 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/lib/testUtils.test.js.map +1 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/lib/types.js +7 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/lib/types.js.map +1 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/lib/unixTerminal.js +290 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/lib/unixTerminal.js.map +1 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/lib/unixTerminal.test.js +352 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/lib/unixTerminal.test.js.map +1 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/lib/utils.js +17 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/lib/utils.js.map +1 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/lib/windowsConoutConnection.js +125 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/lib/windowsConoutConnection.js.map +1 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/lib/windowsPtyAgent.js +345 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/lib/windowsPtyAgent.js.map +1 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/lib/windowsPtyAgent.test.js +90 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/lib/windowsPtyAgent.test.js.map +1 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/lib/windowsTerminal.js +201 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/lib/windowsTerminal.js.map +1 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/lib/windowsTerminal.test.js +217 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/lib/windowsTerminal.test.js.map +1 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/lib/worker/conoutSocketWorker.js +22 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/lib/worker/conoutSocketWorker.js.map +1 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/package.json +79 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/prebuilds/linux-arm/node.abi102.musl.node +0 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/prebuilds/linux-arm/node.abi102.node +0 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/prebuilds/linux-arm/node.abi108.musl.node +0 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/prebuilds/linux-arm/node.abi108.node +0 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/prebuilds/linux-arm/node.abi111.musl.node +0 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/prebuilds/linux-arm/node.abi111.node +0 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/prebuilds/linux-arm/node.abi115.musl.node +0 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/prebuilds/linux-arm/node.abi115.node +0 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/prebuilds/linux-arm/node.abi120.musl.node +0 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/prebuilds/linux-arm/node.abi120.node +0 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/prebuilds/linux-arm/node.abi127.musl.node +0 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/prebuilds/linux-arm/node.abi127.node +0 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/prebuilds/linux-arm/node.abi131.musl.node +0 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/prebuilds/linux-arm/node.abi131.node +0 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/prebuilds/linux-arm/node.abi137.musl.node +0 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/prebuilds/linux-arm/node.abi137.node +0 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/prebuilds/linux-arm64/node.abi102.musl.node +0 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/prebuilds/linux-arm64/node.abi108.musl.node +0 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/prebuilds/linux-arm64/node.abi108.node +0 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/prebuilds/linux-arm64/node.abi111.musl.node +0 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/prebuilds/linux-arm64/node.abi111.node +0 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/prebuilds/linux-arm64/node.abi115.musl.node +0 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/prebuilds/linux-arm64/node.abi115.node +0 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/prebuilds/linux-arm64/node.abi120.musl.node +0 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/prebuilds/linux-arm64/node.abi120.node +0 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/prebuilds/linux-arm64/node.abi127.musl.node +0 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/prebuilds/linux-arm64/node.abi127.node +0 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/prebuilds/linux-arm64/node.abi131.musl.node +0 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/prebuilds/linux-arm64/node.abi131.node +0 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/prebuilds/linux-arm64/node.abi137.musl.node +0 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/prebuilds/linux-arm64/node.abi137.node +0 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/prebuilds/linux-ia32/node.abi108.node +0 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/prebuilds/linux-ia32/node.abi111.node +0 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/prebuilds/linux-ia32/node.abi115.node +0 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/prebuilds/linux-ia32/node.abi120.node +0 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/prebuilds/linux-ia32/node.abi127.node +0 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/prebuilds/linux-ia32/node.abi131.node +0 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/prebuilds/linux-ia32/node.abi137.node +0 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/prebuilds/linux-x64/node.abi102.musl.node +0 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/prebuilds/linux-x64/node.abi108.musl.node +0 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/prebuilds/linux-x64/node.abi108.node +0 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/prebuilds/linux-x64/node.abi111.musl.node +0 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/prebuilds/linux-x64/node.abi111.node +0 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/prebuilds/linux-x64/node.abi115.musl.node +0 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/prebuilds/linux-x64/node.abi115.node +0 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/prebuilds/linux-x64/node.abi120.musl.node +0 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/prebuilds/linux-x64/node.abi120.node +0 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/prebuilds/linux-x64/node.abi127.musl.node +0 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/prebuilds/linux-x64/node.abi127.node +0 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/prebuilds/linux-x64/node.abi131.musl.node +0 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/prebuilds/linux-x64/node.abi131.node +0 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/prebuilds/linux-x64/node.abi137.musl.node +0 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/prebuilds/linux-x64/node.abi137.node +0 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/scripts/check-prebuild.js +15 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/scripts/increment-version.js +54 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/scripts/install.js +18 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/scripts/post-install.js +83 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/src/conpty_console_list_agent.ts +19 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/src/eventEmitter2.test.ts +30 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/src/eventEmitter2.ts +48 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/src/index.ts +53 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/src/interfaces.ts +130 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/src/native.d.ts +54 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/src/prebuild-file-path.ts +21 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/src/prebuild-loader.ts +17 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/src/shared/conout.ts +15 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/src/terminal.test.ts +119 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/src/terminal.ts +211 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/src/testUtils.test.ts +23 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/src/tsconfig.json +22 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/src/types.ts +15 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/src/unix/pty.cc +796 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/src/unix/spawn-helper.cc +23 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/src/unixTerminal.test.ts +368 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/src/unixTerminal.ts +318 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/src/utils.ts +9 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/src/win/conpty.cc +583 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/src/win/conpty.h +41 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/src/win/conpty_console_list.cc +44 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/src/win/path_util.cc +95 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/src/win/path_util.h +26 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/src/win/winpty.cc +333 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/src/windowsConoutConnection.ts +82 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/src/windowsPtyAgent.test.ts +94 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/src/windowsPtyAgent.ts +342 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/src/windowsTerminal.test.ts +227 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/src/windowsTerminal.ts +208 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/src/worker/conoutSocketWorker.ts +22 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/third_party/conpty/1.22.250204002/win10-arm64/OpenConsole.exe +0 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/third_party/conpty/1.22.250204002/win10-arm64/conpty.dll +0 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/third_party/conpty/1.22.250204002/win10-x64/OpenConsole.exe +0 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/third_party/conpty/1.22.250204002/win10-x64/conpty.dll +0 -0
- package/server/supervisor/vendor/@homebridge/node-pty-prebuilt-multiarch/typings/node-pty.d.ts +230 -0
- package/server/{supervisor-0oXvLwyC.js → supervisor-D5GC5jUM.js} +8 -8
- package/server/supervisor-DQMK2e3I.js +2 -0
- package/server/{swarm-readiness-OBgamRql.js → swarm-readiness-Cf9mommA.js} +3 -3
- package/server/system-prerequisites-BsI9hxh9.js +166 -0
- package/server/{teardown-workspace-5LCVbjfq.js → teardown-workspace-CWz1pbEK.js} +12 -12
- package/server/{test-agent-queue-qfsq6uaC.js → test-agent-queue-TiVXe3ZT.js} +6 -6
- package/server/{test-verdict-D3Il7cBK.js → test-verdict-Bm4uv_AA.js} +2 -2
- package/server/{test-verdict-BkubHtti.js → test-verdict-CCDd25uN.js} +1 -1
- package/server/{tldr-daemon-CJqGsDFh.js → tldr-daemon-Big5IZ_M.js} +1 -1
- package/server/{tldr-daemon-CJW_P4On.js → tldr-daemon-C_1frSDj.js} +2 -2
- package/server/{tmux-ePNhMIMU.js → tmux-D57f-XNv.js} +2 -2
- package/server/{tmux-CeDD14p1.js → tmux-DClqWwb8.js} +1 -1
- package/server/{tracker-config-Drt_tx4D.js → tracker-config-B_Ubts1Z.js} +1 -1
- package/server/{tracker-config-C3hiPVAM.js → tracker-config-BmdJU_w6.js} +2 -2
- package/server/{tracker-utils-D6B8scEw.js → tracker-utils-Bg-Sevcv.js} +1 -1
- package/server/{tracker-utils-bpWs7Xyx.js → tracker-utils-CWFt6jjV.js} +2 -2
- package/server/{tunnel-3Ve8BS4H.js → tunnel-UBf2vyAL.js} +2 -2
- package/server/{tunnel-AporWhoi.js → tunnel-hOBNQbmF.js} +1 -1
- package/server/{uat-train-C3hWXtip.js → uat-train-DGkIkLxu.js} +1 -1
- package/server/{uat-train-CtNGgXxj.js → uat-train-qNanv5hN.js} +54 -54
- package/server/{validation-CbqP_dze.js → validation-B0QaLIHP.js} +1 -1
- package/server/{validation-BmUB-26g.js → validation-C4wegCvH.js} +3 -3
- package/server/{verification-runner-BPAhPWR7.js → verification-runner-CntudBes.js} +11 -11
- package/server/{verification-runner-DuZRHjPU.js → verification-runner-DdleMNLq.js} +1 -1
- package/server/{work-agent-prompt-DCdHsm-V.js → work-agent-prompt-CG5jFV9A.js} +11 -11
- package/server/{workflows-H-COJ84X.js → workflows-BK2xs_a8.js} +13 -13
- package/server/workflows-pKw9yRSV.js +2 -0
- package/server/{workspace-DYv9kBg6.js → workspace-C9lC5o3E.js} +1 -1
- package/server/{workspace-4ZufqeMe.js → workspace-CLrSIRCx.js} +3 -3
- package/server/{workspace-manager-CEWK-OXd.js → workspace-manager-BJhW2sky.js} +10 -10
- package/server/{workspace-manager-B3PqQQSM.js → workspace-manager-Cb2a7bg9.js} +1 -1
- package/server/{workspace-metadata-C0I-nIDL.js → workspace-metadata-CTRnr323.js} +1 -1
- package/server/{workspace-metadata-1eu1RvAT.js → workspace-metadata-QQmo_Z0l.js} +2 -2
- package/server/{workspaces-CRU9_vRn.js → workspaces-Ca4zZs12.js} +223 -223
- package/server/cli-CJDWXE_Y.js +0 -3
- package/server/deacon-swarm-D1iAUX-P.js +0 -2
- package/server/forge-BfP7OJwK.js +0 -2
- package/server/inspect-agent-vm88mLYr.js +0 -2
- package/server/merge-ops-QdBiQ8XB.js +0 -2
- package/server/public/assets/index-DdqPXf3T.js +0 -796
- package/server/public/assets/mermaid-GHXKKRXX-BTHbMU88.js +0 -1
- package/server/rally-DffLLIdl.js +0 -3
- package/server/resume-DnIsmIgC.js +0 -3
- package/server/review-agent-DgySDb-G.js +0 -3
- package/server/settings-vLoKyghx.js +0 -2
- package/server/specs-DeS98l_p.js +0 -3
- package/server/supervisor-D1-XwmZ7.js +0 -2
- package/server/workflows-Cz8OtiB4.js +0 -2
|
@@ -1,46 +1,46 @@
|
|
|
1
1
|
import { n as __esmMin, o as __toESM } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import { $ as getModelCapabilitySync, Br as getOverdeckHome, C as resolveTieredExecutionEnabled, Dn as getProjectSync, En as getProjectSwarmHotspots, Ft as resolveProjectForIssue, Gn as resolveProjectFromIssueSync, Gr as sessionFilePath, H as ensureOpenAICompatibleProxyRunning, I as getProviderEnvSync, L as getProviderForModelSync, Lr as encodeClaudeProjectDir, Lt as writeAgentHarnessModelSync, Mt as readIssueRecordForWorkspaceSync, N as clearCredentialFileAuthSync, Nn as init_projects, Nt as readIssueRecordSync, Or as OVERDECK_HOME, Ot as init_record, P as getBuiltInDefaultHarness, R as init_providers, S as init_tier_table, U as init_openai_compatible_proxy, Ur as packageRoot, V as setupCredentialFileAuthSync, Vr as init_paths, Wr as resolveOhmypiExtensionPath, X as resolveModel, Y as init_roles, at as fmix32, b as TIERED_EXECUTION_DIFFICULTIES, bn as findProjectByPathSync, cr as FsError, er as init_issue_id, f as loadConfigSync, fn as init_state_read_home, ir as require_dist, it as resolveModelIdSync, l as isClaudeCodeChannelsMcpEnabled, mn as shouldCommitLegacyWorkspaceArtifacts, nt as init_model_capabilities, or as ClaudeCredentialParseError, ot as fnv1a32, rr as resolveBareNumericIdSync, sr as ConfigError, st as init_percent, t as init_config_yaml, tt as hasModelCapabilitySync, u as isTldrEnabledSync, vr as init_errors, w as resolveTieredExecutionEnabledForIssue, wn as getIssuePrefix, y as DEFAULT_TIERED_EXECUTION_CONFIG, yr as AGENTS_DIR } from "./config-yaml-
|
|
2
|
+
import { $ as getModelCapabilitySync, Br as getOverdeckHome, C as resolveTieredExecutionEnabled, Dn as getProjectSync, En as getProjectSwarmHotspots, Ft as resolveProjectForIssue, Gn as resolveProjectFromIssueSync, Gr as sessionFilePath, H as ensureOpenAICompatibleProxyRunning, I as getProviderEnvSync, L as getProviderForModelSync, Lr as encodeClaudeProjectDir, Lt as writeAgentHarnessModelSync, Mt as readIssueRecordForWorkspaceSync, N as clearCredentialFileAuthSync, Nn as init_projects, Nt as readIssueRecordSync, Or as OVERDECK_HOME, Ot as init_record, P as getBuiltInDefaultHarness, R as init_providers, S as init_tier_table, U as init_openai_compatible_proxy, Ur as packageRoot, V as setupCredentialFileAuthSync, Vr as init_paths, Wr as resolveOhmypiExtensionPath, X as resolveModel, Y as init_roles, at as fmix32, b as TIERED_EXECUTION_DIFFICULTIES, bn as findProjectByPathSync, cr as FsError, er as init_issue_id, f as loadConfigSync, fn as init_state_read_home, ir as require_dist, it as resolveModelIdSync, l as isClaudeCodeChannelsMcpEnabled, mn as shouldCommitLegacyWorkspaceArtifacts, nt as init_model_capabilities, or as ClaudeCredentialParseError, ot as fnv1a32, rr as resolveBareNumericIdSync, sr as ConfigError, st as init_percent, t as init_config_yaml, tt as hasModelCapabilitySync, u as isTldrEnabledSync, vr as init_errors, w as resolveTieredExecutionEnabledForIssue, wn as getIssuePrefix, y as DEFAULT_TIERED_EXECUTION_CONFIG, yr as AGENTS_DIR } from "./config-yaml-ClpGgrf6.js";
|
|
3
3
|
import { t as require_toml } from "./toml-CeLDATih.js";
|
|
4
4
|
import { a as init_activity_logger, n as emitActivityEntrySync, r as emitActivityTtsSync } from "./activity-logger-pcbf-e30.js";
|
|
5
|
-
import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-
|
|
6
|
-
import { A as listSessionsSync, C as isPaneDead, E as listPaneValues, I as sendRawKeystroke, L as sessionExists, N as sendEscapeKeyAsync, P as sendKeys, R as sessionExistsSync, T as killSessionSync, W as BLANKED_PROVIDER_ENV, a as capturePaneSync, d as exactPaneTarget, i as capturePane, k as listSessions, o as createSession, q as init_child_env, s as createSessionSync, w as killSession, x as init_tmux, z as setOption } from "./tmux-
|
|
7
|
-
import { a as init_event_store, i as initEventStore } from "./event-store-
|
|
5
|
+
import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-DE3C4PMr.js";
|
|
6
|
+
import { A as listSessionsSync, C as isPaneDead, E as listPaneValues, I as sendRawKeystroke, L as sessionExists, N as sendEscapeKeyAsync, P as sendKeys, R as sessionExistsSync, T as killSessionSync, W as BLANKED_PROVIDER_ENV, a as capturePaneSync, d as exactPaneTarget, i as capturePane, k as listSessions, o as createSession, q as init_child_env, s as createSessionSync, w as killSession, x as init_tmux, z as setOption } from "./tmux-D57f-XNv.js";
|
|
7
|
+
import { a as init_event_store, i as initEventStore } from "./event-store-DCMqyI07.js";
|
|
8
8
|
import { a as getHarnessBehavior, i as OHMYPI_BEHAVIOR } from "./src-fgbU-jJ-.js";
|
|
9
|
-
import { A as listOverdeckAgentStatesSync, E as readReviewStatusMap, O as getOverdeckAgentStateSync, T as init_review_status_source, c as init_review_status, j as saveOverdeckAgentStateSync, k as init_agent_state_sync, m as resetPipelineVerdictsForWorkStartSync } from "./review-status-
|
|
10
|
-
import { d as init_agents$1, l as countAgentsByStatus, n as ensureSessionContextBriefingFile, r as init_briefing_freshness } from "./briefing-freshness-
|
|
11
|
-
import { o as getPricingSync, s as init_cost } from "./cost-
|
|
12
|
-
import { t as init_behavior } from "./behavior-
|
|
13
|
-
import { _ as init_tier_metrics, g as estimateFeedDeliveryTokens, v as recordTierFeedDelivery } from "./cost-sync-
|
|
9
|
+
import { A as listOverdeckAgentStatesSync, E as readReviewStatusMap, O as getOverdeckAgentStateSync, T as init_review_status_source, c as init_review_status, j as saveOverdeckAgentStateSync, k as init_agent_state_sync, m as resetPipelineVerdictsForWorkStartSync } from "./review-status-gPndPUBc.js";
|
|
10
|
+
import { d as init_agents$1, l as countAgentsByStatus, n as ensureSessionContextBriefingFile, r as init_briefing_freshness } from "./briefing-freshness-B2FdLwIv.js";
|
|
11
|
+
import { o as getPricingSync, s as init_cost } from "./cost-CCnqa5xK.js";
|
|
12
|
+
import { t as init_behavior } from "./behavior-CPf0pbOt.js";
|
|
13
|
+
import { _ as init_tier_metrics, g as estimateFeedDeliveryTokens, v as recordTierFeedDelivery } from "./cost-sync-BDL10Nwu.js";
|
|
14
14
|
import { n as init_agent_runtime_mirror, r as isAgentStateServiceInProcess, t as getRuntimeSnapshot } from "./agent-runtime-mirror-DrWxopNA.js";
|
|
15
|
-
import { i as ensureInternalTokenSync, s as init_internal_token, t as INTERNAL_TOKEN_HEADER } from "./internal-token-
|
|
16
|
-
import { m as readWorkspacePlanSync, o as init_io } from "./io-
|
|
17
|
-
import { c as bridgeGeminiAuthToCliproxy, p as getCliproxyClientEnv, s as bridgeCodexAuthToCliproxySync, v as init_cliproxy } from "./cliproxy-
|
|
18
|
-
import { f as init_config$1, m as loadConfigSync$1 } from "./config-
|
|
19
|
-
import { L as normalizeHarness, R as reactivateConversationForSpawn, S as getConversationByName, k as init_conversations, y as createConversation } from "./conversations-
|
|
20
|
-
import { n as recordFeatureRegistryLifecycle, t as init_feature_registry_population } from "./feature-registry-population-
|
|
21
|
-
import { a as readCavemanVariant, n as init_workspace } from "./workspace-
|
|
22
|
-
import { a as init_launcher_generator, c as requireModelOverrideSync, i as generateLauncherScriptSync, l as shellQuoteModelIdSync, n as init_state_home, o as init_model_validation, r as isStateMigrated, s as normalizeModelOverrideSync } from "./state-home-
|
|
23
|
-
import { a as init_claude_permissions, r as getClaudePermissionFlagsStringSync } from "./claude-permissions-
|
|
24
|
-
import { h as workspaceContextFile, o as init_layers } from "./layers-
|
|
25
|
-
import { a as extractThreadIdFromRollout, c as initCodexHome, l as init_codex, o as findLatestRollout } from "./codex-
|
|
26
|
-
import { a as getFlywheelActiveRunIdSync, s as init_control_settings } from "./control-settings-
|
|
27
|
-
import { n as createTrackerFromConfig, r as init_factory, t as createTracker } from "./factory-
|
|
28
|
-
import { a as init_stack_health, i as getWorkspaceStackHealth } from "./stack-health-
|
|
29
|
-
import { a as createActiveSlice, c as groupItemsByWave, s as getDispatchableItems, u as init_dag } from "./dag-
|
|
30
|
-
import { n as init_bd_process_lock, t as BdTransientFailure } from "./bd-process-lock-
|
|
31
|
-
import { n as assertIssueHasBeads, r as init_beads_query, t as BeadsMissingError } from "./beads-query-
|
|
32
|
-
import { c as generateFixedPointPromptSync, f as initHookSync, n as checkHookSync, p as init_hooks } from "./hooks-
|
|
33
|
-
import { n as resolveHarness, t as init_harness_resolve } from "./harness-resolve-
|
|
15
|
+
import { i as ensureInternalTokenSync, s as init_internal_token, t as INTERNAL_TOKEN_HEADER } from "./internal-token-B_1YLWLI.js";
|
|
16
|
+
import { m as readWorkspacePlanSync, o as init_io } from "./io-A7ZuOBkz.js";
|
|
17
|
+
import { c as bridgeGeminiAuthToCliproxy, p as getCliproxyClientEnv, s as bridgeCodexAuthToCliproxySync, v as init_cliproxy } from "./cliproxy-CCzwuSNe.js";
|
|
18
|
+
import { f as init_config$1, m as loadConfigSync$1 } from "./config-8sjaU6jZ.js";
|
|
19
|
+
import { L as normalizeHarness, R as reactivateConversationForSpawn, S as getConversationByName, k as init_conversations, y as createConversation } from "./conversations-DfJKBDwB.js";
|
|
20
|
+
import { n as recordFeatureRegistryLifecycle, t as init_feature_registry_population } from "./feature-registry-population-DA7bO6Zn.js";
|
|
21
|
+
import { a as readCavemanVariant, n as init_workspace } from "./workspace-CLrSIRCx.js";
|
|
22
|
+
import { a as init_launcher_generator, c as requireModelOverrideSync, i as generateLauncherScriptSync, l as shellQuoteModelIdSync, n as init_state_home, o as init_model_validation, r as isStateMigrated, s as normalizeModelOverrideSync } from "./state-home-C2Bicw9N.js";
|
|
23
|
+
import { a as init_claude_permissions, r as getClaudePermissionFlagsStringSync } from "./claude-permissions-B6bWGh9d.js";
|
|
24
|
+
import { h as workspaceContextFile, o as init_layers } from "./layers-Cwe1J-9o.js";
|
|
25
|
+
import { a as extractThreadIdFromRollout, c as initCodexHome, l as init_codex, o as findLatestRollout } from "./codex-B4KEpX5V.js";
|
|
26
|
+
import { a as getFlywheelActiveRunIdSync, s as init_control_settings } from "./control-settings-D1B3u6HP.js";
|
|
27
|
+
import { n as createTrackerFromConfig, r as init_factory, t as createTracker } from "./factory-BMtWV9iv.js";
|
|
28
|
+
import { a as init_stack_health, i as getWorkspaceStackHealth } from "./stack-health-Qd7rPiVe.js";
|
|
29
|
+
import { a as createActiveSlice, c as groupItemsByWave, s as getDispatchableItems, u as init_dag } from "./dag-Dv2r5bVD.js";
|
|
30
|
+
import { n as init_bd_process_lock, t as BdTransientFailure } from "./bd-process-lock-i3CYMS-B.js";
|
|
31
|
+
import { n as assertIssueHasBeads, r as init_beads_query, t as BeadsMissingError } from "./beads-query-e6oku4P5.js";
|
|
32
|
+
import { c as generateFixedPointPromptSync, f as initHookSync, n as checkHookSync, p as init_hooks } from "./hooks-DxEn2BoY.js";
|
|
33
|
+
import { n as resolveHarness, t as init_harness_resolve } from "./harness-resolve-SkRJm4a7.js";
|
|
34
34
|
import { r as isRoleTerminal, t as init_reap_terminal_sessions } from "./reap-terminal-sessions-CAmURC2h.js";
|
|
35
|
-
import { a as init_lifecycle_io, t as appendContinueSessionEntryForIssue } from "./lifecycle-io-
|
|
36
|
-
import { r as init_swarm_readiness, t as analyzeSwarmReadiness } from "./swarm-readiness-
|
|
35
|
+
import { a as init_lifecycle_io, t as appendContinueSessionEntryForIssue } from "./lifecycle-io-Bqvj0m3i.js";
|
|
36
|
+
import { r as init_swarm_readiness, t as analyzeSwarmReadiness } from "./swarm-readiness-Cf9mommA.js";
|
|
37
|
+
import { dirname, join } from "node:path";
|
|
37
38
|
import { Data, Duration, Effect, FileSystem } from "effect";
|
|
38
39
|
import { appendFileSync, existsSync, mkdirSync, readFileSync, statSync, statfsSync, unlinkSync, writeFileSync } from "fs";
|
|
39
|
-
import { basename, dirname, join, resolve } from "path";
|
|
40
|
+
import { basename as basename$1, dirname as dirname$1, join as join$1, resolve as resolve$1 } from "path";
|
|
40
41
|
import { homedir } from "os";
|
|
41
42
|
import "node:os";
|
|
42
|
-
import { chmodSync as chmodSync$1, closeSync as closeSync$1, constants, createReadStream as createReadStream$1, existsSync as existsSync$1, mkdirSync as mkdirSync$1, openSync as openSync$1, readFileSync as readFileSync$1, readdirSync as readdirSync$1, statSync as statSync$1, unlinkSync as unlinkSync$1, writeFileSync as writeFileSync$1, writeSync } from "node:fs";
|
|
43
|
-
import { join as join$1 } from "node:path";
|
|
43
|
+
import { chmodSync as chmodSync$1, closeSync as closeSync$1, constants, cpSync, createReadStream as createReadStream$1, existsSync as existsSync$1, mkdirSync as mkdirSync$1, openSync as openSync$1, readFileSync as readFileSync$1, readdirSync as readdirSync$1, renameSync as renameSync$1, rmSync as rmSync$1, statSync as statSync$1, unlinkSync as unlinkSync$1, writeFileSync as writeFileSync$1, writeSync } from "node:fs";
|
|
44
44
|
import { chmod, mkdir, readFile, stat as stat$1, writeFile } from "node:fs/promises";
|
|
45
45
|
import { randomUUID } from "crypto";
|
|
46
46
|
import { ChildProcess } from "effect/unstable/process";
|
|
@@ -50,7 +50,8 @@ import { exec, execFile } from "node:child_process";
|
|
|
50
50
|
import { promisify } from "node:util";
|
|
51
51
|
import { exec as exec$1, execSync as execSync$1 } from "child_process";
|
|
52
52
|
import { promisify as promisify$1 } from "util";
|
|
53
|
-
import { randomBytes, randomUUID as randomUUID$1 } from "node:crypto";
|
|
53
|
+
import { createHash as createHash$1, randomBytes, randomUUID as randomUUID$1 } from "node:crypto";
|
|
54
|
+
import { fileURLToPath } from "node:url";
|
|
54
55
|
import { ChildProcessSpawner as ChildProcessSpawner$1 } from "effect/unstable/process/ChildProcessSpawner";
|
|
55
56
|
import { layer } from "@effect/platform-node/NodeServices";
|
|
56
57
|
import { request } from "node:http";
|
|
@@ -357,7 +358,7 @@ var init_ohmypi_parser = __esmMin((() => {
|
|
|
357
358
|
//#endregion
|
|
358
359
|
//#region ../../lib/overdeck/agent-rollback-state.ts
|
|
359
360
|
function getRollbackAgentStatePath(agentId) {
|
|
360
|
-
return join
|
|
361
|
+
return join(getOverdeckHome(), "agents", agentId, AGENT_STATE_ROLLBACK_FILE);
|
|
361
362
|
}
|
|
362
363
|
function readRollbackAgentStateSync(agentId, parse) {
|
|
363
364
|
const stateFile = getRollbackAgentStatePath(agentId);
|
|
@@ -366,7 +367,7 @@ function readRollbackAgentStateSync(agentId, parse) {
|
|
|
366
367
|
}
|
|
367
368
|
function writeRollbackAgentStateSync(state, serialize) {
|
|
368
369
|
const stateFile = getRollbackAgentStatePath(state.id);
|
|
369
|
-
mkdirSync$1(join
|
|
370
|
+
mkdirSync$1(join(getOverdeckHome(), "agents", state.id), { recursive: true });
|
|
370
371
|
writeFileSync$1(stateFile, serialize(state));
|
|
371
372
|
}
|
|
372
373
|
var AGENT_STATE_ROLLBACK_FILE;
|
|
@@ -504,7 +505,7 @@ function getAgentRuntimeStateSync(agentId) {
|
|
|
504
505
|
}
|
|
505
506
|
async function patchRuntimeJson(agentId, patch) {
|
|
506
507
|
const agentDir = getAgentDir(agentId);
|
|
507
|
-
const runtimeFile = join(agentDir, "runtime.json");
|
|
508
|
+
const runtimeFile = join$1(agentDir, "runtime.json");
|
|
508
509
|
let runtime = {};
|
|
509
510
|
try {
|
|
510
511
|
runtime = JSON.parse(await readFile$1(runtimeFile, "utf-8"));
|
|
@@ -629,7 +630,7 @@ function resolveAgentTargetSync(input) {
|
|
|
629
630
|
* Get path to agent's ready signal file (written by SessionStart hook)
|
|
630
631
|
*/
|
|
631
632
|
function getReadySignalPath(agentId) {
|
|
632
|
-
return join(getOverdeckHome(), "agents", agentId, "ready.json");
|
|
633
|
+
return join$1(getOverdeckHome(), "agents", agentId, "ready.json");
|
|
633
634
|
}
|
|
634
635
|
/**
|
|
635
636
|
* Clear ready signal before spawning (clean slate)
|
|
@@ -698,12 +699,87 @@ var init_identity = __esmMin((() => {
|
|
|
698
699
|
SINGLETON_AGENT_IDS = new Set(["flywheel-orchestrator", "sequencer-runner"]);
|
|
699
700
|
}));
|
|
700
701
|
//#endregion
|
|
702
|
+
//#region ../../lib/channels/pty-supervisor-locate.ts
|
|
703
|
+
/**
|
|
704
|
+
* Locate (and if necessary materialize) the PTY supervisor artifact.
|
|
705
|
+
*
|
|
706
|
+
* The supervisor (dist/pty-supervisor.js, built by the root tsdown config) is
|
|
707
|
+
* spawned inside the agent/conversation tmux session under the HOST `node`,
|
|
708
|
+
* and the session must outlive the process that spawned it. That rules out
|
|
709
|
+
* running it from inside a packaged desktop app: the Linux AppImage is a
|
|
710
|
+
* transient FUSE mount that disappears when the app quits, and the staged
|
|
711
|
+
* dashboard node_modules carry an Electron-ABI node-pty that host node cannot
|
|
712
|
+
* load. So the desktop packaging stages a host-runnable copy — the supervisor
|
|
713
|
+
* chunk closure plus a pristine multiarch-prebuilt node-pty — next to the
|
|
714
|
+
* server bundle (server/supervisor/, see
|
|
715
|
+
* apps/desktop/scripts/prepare-server-resources.mjs), and this module copies
|
|
716
|
+
* it onto real disk under ${OVERDECK_HOME}/runtime/ before first use
|
|
717
|
+
* (PAN-2592).
|
|
718
|
+
*
|
|
719
|
+
* Resolution order:
|
|
720
|
+
* 1. <packageRoot>/dist/pty-supervisor.js — dev checkouts, `pan up`, and
|
|
721
|
+
* npm-global @overdeck/core installs (node-pty resolves from the package
|
|
722
|
+
* root's own node_modules).
|
|
723
|
+
* 2. <bundleDir>/supervisor/pty-supervisor.js — desktop layouts; the staged
|
|
724
|
+
* tree is materialized to ${OVERDECK_HOME}/runtime/pty-supervisor/<hash>/
|
|
725
|
+
* (content-hash keyed, so an app upgrade refreshes it) and the vendored
|
|
726
|
+
* packages land under node_modules/ there for normal Node resolution.
|
|
727
|
+
*
|
|
728
|
+
* Missing everywhere is a build/packaging defect and throws — never silently
|
|
729
|
+
* degrade a spawn that the caller expects to be supervised.
|
|
730
|
+
*/
|
|
731
|
+
function resolvePtySupervisorScriptPath() {
|
|
732
|
+
const built = join(packageRoot, "dist", "pty-supervisor.js");
|
|
733
|
+
if (existsSync$1(built)) return built;
|
|
734
|
+
const staged = join(moduleDir, "supervisor");
|
|
735
|
+
if (existsSync$1(join(staged, "pty-supervisor.js"))) return materializePtySupervisorRuntime(staged);
|
|
736
|
+
throw new Error("pty-supervisor build artifact missing — run `npm run build`.");
|
|
737
|
+
}
|
|
738
|
+
/**
|
|
739
|
+
* Copy the staged supervisor tree to durable disk and return the entry path.
|
|
740
|
+
* Idempotent and race-safe: the copy lands in a temp dir and is renamed into
|
|
741
|
+
* place; the target is keyed by the entry file's content hash.
|
|
742
|
+
*/
|
|
743
|
+
function materializePtySupervisorRuntime(stagedDir, overdeckHome = getOverdeckHome()) {
|
|
744
|
+
const stagedEntry = join(stagedDir, "pty-supervisor.js");
|
|
745
|
+
const targetDir = join(overdeckHome, "runtime", "pty-supervisor", createHash$1("sha256").update(readFileSync$1(stagedEntry)).digest("hex").slice(0, 16));
|
|
746
|
+
const entry = join(targetDir, "pty-supervisor.js");
|
|
747
|
+
if (existsSync$1(entry)) return entry;
|
|
748
|
+
const tmpDir = `${targetDir}.tmp-${process.pid}`;
|
|
749
|
+
rmSync$1(tmpDir, {
|
|
750
|
+
recursive: true,
|
|
751
|
+
force: true
|
|
752
|
+
});
|
|
753
|
+
mkdirSync$1(tmpDir, { recursive: true });
|
|
754
|
+
for (const name of readdirSync$1(stagedDir)) {
|
|
755
|
+
if (name === "vendor") continue;
|
|
756
|
+
cpSync(join(stagedDir, name), join(tmpDir, name), { recursive: true });
|
|
757
|
+
}
|
|
758
|
+
const vendorDir = join(stagedDir, "vendor");
|
|
759
|
+
if (existsSync$1(vendorDir)) cpSync(vendorDir, join(tmpDir, "node_modules"), { recursive: true });
|
|
760
|
+
try {
|
|
761
|
+
renameSync$1(tmpDir, targetDir);
|
|
762
|
+
} catch (err) {
|
|
763
|
+
rmSync$1(tmpDir, {
|
|
764
|
+
recursive: true,
|
|
765
|
+
force: true
|
|
766
|
+
});
|
|
767
|
+
if (!existsSync$1(entry)) throw err;
|
|
768
|
+
}
|
|
769
|
+
return entry;
|
|
770
|
+
}
|
|
771
|
+
var moduleDir;
|
|
772
|
+
var init_pty_supervisor_locate = __esmMin((() => {
|
|
773
|
+
init_paths();
|
|
774
|
+
moduleDir = dirname(fileURLToPath(import.meta.url));
|
|
775
|
+
}));
|
|
776
|
+
//#endregion
|
|
701
777
|
//#region ../../lib/pty-token.ts
|
|
702
778
|
function ptyTokenDir(agentId) {
|
|
703
|
-
return join
|
|
779
|
+
return join(getOverdeckHome(), "agents", agentId);
|
|
704
780
|
}
|
|
705
781
|
function getPtyTokenPath(agentId) {
|
|
706
|
-
return join
|
|
782
|
+
return join(ptyTokenDir(agentId), "pty-token");
|
|
707
783
|
}
|
|
708
784
|
async function readPtyToken(agentId) {
|
|
709
785
|
try {
|
|
@@ -801,10 +877,10 @@ var init_agent_record_sync = __esmMin((() => {
|
|
|
801
877
|
* ~/.overdeck/agents/<id>/lifecycle.log — per-agent state transitions
|
|
802
878
|
*/
|
|
803
879
|
function logsDir() {
|
|
804
|
-
return join(getOverdeckHome(), "logs");
|
|
880
|
+
return join$1(getOverdeckHome(), "logs");
|
|
805
881
|
}
|
|
806
882
|
function agentDir(agentId) {
|
|
807
|
-
return join(getOverdeckHome(), "agents", agentId);
|
|
883
|
+
return join$1(getOverdeckHome(), "agents", agentId);
|
|
808
884
|
}
|
|
809
885
|
function ensureLogsDir() {
|
|
810
886
|
try {
|
|
@@ -823,14 +899,14 @@ function timestamp() {
|
|
|
823
899
|
function logDeaconEventSync(message) {
|
|
824
900
|
ensureLogsDir();
|
|
825
901
|
try {
|
|
826
|
-
appendFileSync(join(logsDir(), "deacon.log"), `[${timestamp()}] ${message}\n`);
|
|
902
|
+
appendFileSync(join$1(logsDir(), "deacon.log"), `[${timestamp()}] ${message}\n`);
|
|
827
903
|
} catch {}
|
|
828
904
|
}
|
|
829
905
|
/** Append a line to ~/.overdeck/agents/<agentId>/lifecycle.log */
|
|
830
906
|
function logAgentLifecycleSync(agentId, message) {
|
|
831
907
|
ensureAgentDir(agentId);
|
|
832
908
|
try {
|
|
833
|
-
appendFileSync(join(agentDir(agentId), "lifecycle.log"), `[${timestamp()}] ${message}\n`);
|
|
909
|
+
appendFileSync(join$1(agentDir(agentId), "lifecycle.log"), `[${timestamp()}] ${message}\n`);
|
|
834
910
|
} catch {}
|
|
835
911
|
}
|
|
836
912
|
var init_persistent_logger = __esmMin((() => {
|
|
@@ -839,7 +915,7 @@ var init_persistent_logger = __esmMin((() => {
|
|
|
839
915
|
//#endregion
|
|
840
916
|
//#region ../../lib/agents/agent-state.ts
|
|
841
917
|
function getAgentDir(agentId) {
|
|
842
|
-
return join(getOverdeckHome(), "agents", agentId);
|
|
918
|
+
return join$1(getOverdeckHome(), "agents", agentId);
|
|
843
919
|
}
|
|
844
920
|
function getAgentStateFilePath(agentId) {
|
|
845
921
|
return getRollbackAgentStatePath(agentId);
|
|
@@ -864,7 +940,7 @@ async function wipeAgentStateDirs(issueId, opts = {}) {
|
|
|
864
940
|
if (!issueId || !/^[A-Za-z]+-\d+$/.test(issueId)) throw new Error(`wipeAgentStateDirs: invalid issueId "${issueId}"`);
|
|
865
941
|
if (opts.rolePrefix !== void 0 && !/^[a-z][a-z0-9-]*$/.test(opts.rolePrefix)) throw new Error(`wipeAgentStateDirs: invalid rolePrefix "${opts.rolePrefix}"`);
|
|
866
942
|
const issueLower = issueId.toLowerCase();
|
|
867
|
-
const dirPath = join(AGENTS_DIR, `agent-${issueLower}${opts.rolePrefix ? `-${opts.rolePrefix}` : ""}`);
|
|
943
|
+
const dirPath = join$1(AGENTS_DIR, `agent-${issueLower}${opts.rolePrefix ? `-${opts.rolePrefix}` : ""}`);
|
|
868
944
|
let entries;
|
|
869
945
|
try {
|
|
870
946
|
entries = await readdir$1(AGENTS_DIR);
|
|
@@ -883,7 +959,7 @@ async function wipeAgentStateDirs(issueId, opts = {}) {
|
|
|
883
959
|
targets = entries.filter((name) => name === work);
|
|
884
960
|
}
|
|
885
961
|
for (const name of targets) try {
|
|
886
|
-
await rm$1(join(AGENTS_DIR, name), {
|
|
962
|
+
await rm$1(join$1(AGENTS_DIR, name), {
|
|
887
963
|
recursive: true,
|
|
888
964
|
force: true
|
|
889
965
|
});
|
|
@@ -1375,7 +1451,7 @@ async function buildResumeMessageForAgent(state, fallbackMessage, callerMessage)
|
|
|
1375
1451
|
message: callerMessage ?? fallbackMessage,
|
|
1376
1452
|
redeliveringKickoff: false
|
|
1377
1453
|
};
|
|
1378
|
-
const promptPath = join(getAgentDir(state.id), "initial-prompt.md");
|
|
1454
|
+
const promptPath = join$1(getAgentDir(state.id), "initial-prompt.md");
|
|
1379
1455
|
try {
|
|
1380
1456
|
return {
|
|
1381
1457
|
message: `${await readFile$1(promptPath, "utf-8")}${callerMessage ? `\n\n---\n\nAdditional message delivered during resume:\n\n${callerMessage}` : ""}`,
|
|
@@ -1445,7 +1521,6 @@ async function prepareSupervisorForFreshLaunch(agentId, options, state) {
|
|
|
1445
1521
|
return { useSupervisor: false };
|
|
1446
1522
|
}
|
|
1447
1523
|
const supervisorScriptPath = resolvePtySupervisorScriptPath();
|
|
1448
|
-
if (!existsSync(supervisorScriptPath)) throw new Error("pty-supervisor build artifact missing — run `npm run build`.");
|
|
1449
1524
|
await writePtyToken(agentId);
|
|
1450
1525
|
state.supervisorEnabled = true;
|
|
1451
1526
|
return {
|
|
@@ -1472,7 +1547,6 @@ async function prepareSupervisorForRelaunch(agentId, state, model, harness) {
|
|
|
1472
1547
|
return { useSupervisor: false };
|
|
1473
1548
|
}
|
|
1474
1549
|
const supervisorScriptPath = resolvePtySupervisorScriptPath();
|
|
1475
|
-
if (!existsSync(supervisorScriptPath)) throw new Error("pty-supervisor build artifact missing — run `npm run build`.");
|
|
1476
1550
|
await writePtyToken(agentId);
|
|
1477
1551
|
state.supervisorEnabled = true;
|
|
1478
1552
|
return {
|
|
@@ -1480,9 +1554,6 @@ async function prepareSupervisorForRelaunch(agentId, state, model, harness) {
|
|
|
1480
1554
|
supervisorScriptPath
|
|
1481
1555
|
};
|
|
1482
1556
|
}
|
|
1483
|
-
function resolvePtySupervisorScriptPath() {
|
|
1484
|
-
return join(packageRoot, "dist", "pty-supervisor.js");
|
|
1485
|
-
}
|
|
1486
1557
|
/**
|
|
1487
1558
|
* Decide whether to enable Claude Code Channels for a work-agent launch.
|
|
1488
1559
|
*
|
|
@@ -1554,13 +1625,13 @@ function decideChannelsForWorkAgent(agentId, _options, state) {
|
|
|
1554
1625
|
*/
|
|
1555
1626
|
async function writeChannelsBridgeMcpConfig(configPath, agentId) {
|
|
1556
1627
|
const fsp = await import("fs/promises");
|
|
1557
|
-
await fsp.mkdir(dirname(configPath), { recursive: true });
|
|
1628
|
+
await fsp.mkdir(dirname$1(configPath), { recursive: true });
|
|
1558
1629
|
const mcpConfig = { mcpServers: { "overdeck-bridge": {
|
|
1559
1630
|
command: "bun",
|
|
1560
|
-
args: ["run", join(join(dirname(import.meta.url.replace("file://", "")), "..", ".."), "src", "lib", "channels", "overdeck-bridge.ts")],
|
|
1631
|
+
args: ["run", join$1(join$1(dirname$1(import.meta.url.replace("file://", "")), "..", ".."), "src", "lib", "channels", "overdeck-bridge.ts")],
|
|
1561
1632
|
env: {
|
|
1562
1633
|
OVERDECK_AGENT_ID: agentId,
|
|
1563
|
-
OVERDECK_HOME: process.env.OVERDECK_HOME ?? join(homedir(), ".overdeck")
|
|
1634
|
+
OVERDECK_HOME: process.env.OVERDECK_HOME ?? join$1(homedir(), ".overdeck")
|
|
1564
1635
|
}
|
|
1565
1636
|
} } };
|
|
1566
1637
|
await fsp.writeFile(configPath, JSON.stringify(mcpConfig, null, 2), "utf-8");
|
|
@@ -1617,7 +1688,7 @@ var init_supervisor_channels = __esmMin((() => {
|
|
|
1617
1688
|
init_activity_logger();
|
|
1618
1689
|
init_config_yaml();
|
|
1619
1690
|
init_behavior();
|
|
1620
|
-
|
|
1691
|
+
init_pty_supervisor_locate();
|
|
1621
1692
|
init_providers();
|
|
1622
1693
|
init_pty_token();
|
|
1623
1694
|
init_tmux();
|
|
@@ -1635,7 +1706,7 @@ var init_supervisor_channels = __esmMin((() => {
|
|
|
1635
1706
|
* Anthropic-compatible /v1/messages endpoint.
|
|
1636
1707
|
*/
|
|
1637
1708
|
function getCodexAuthPath() {
|
|
1638
|
-
return join(homedir(), ".codex", "auth.json");
|
|
1709
|
+
return join$1(homedir(), ".codex", "auth.json");
|
|
1639
1710
|
}
|
|
1640
1711
|
function decodeBase64Url(value) {
|
|
1641
1712
|
try {
|
|
@@ -1694,7 +1765,7 @@ function buildStatus(raw, installed, bridgedFromCodex) {
|
|
|
1694
1765
|
};
|
|
1695
1766
|
}
|
|
1696
1767
|
async function getOpenAIAuthStatusPromise() {
|
|
1697
|
-
const codexDir = join(homedir(), ".codex");
|
|
1768
|
+
const codexDir = join$1(homedir(), ".codex");
|
|
1698
1769
|
const authPath = getCodexAuthPath();
|
|
1699
1770
|
const installed = existsSync(codexDir) || existsSync(authPath);
|
|
1700
1771
|
const raw = await readCodexAuthAsync(authPath);
|
|
@@ -2141,8 +2212,8 @@ var init_claude_auth = __esmMin((() => {
|
|
|
2141
2212
|
return yield* spawner.string(cmd).pipe(Effect.timeout(Duration.seconds(3)), Effect.map((s) => s.trim() || null), Effect.orElseSucceed(() => null));
|
|
2142
2213
|
});
|
|
2143
2214
|
getClaudeAuthStatusImpl = Effect.gen(function* () {
|
|
2144
|
-
const claudeDir = join(homedir(), ".claude");
|
|
2145
|
-
const credPath = join(claudeDir, ".credentials.json");
|
|
2215
|
+
const claudeDir = join$1(homedir(), ".claude");
|
|
2216
|
+
const credPath = join$1(claudeDir, ".credentials.json");
|
|
2146
2217
|
const installed = existsSync(claudeDir);
|
|
2147
2218
|
const hasAnthropicApiKey = !!process.env.ANTHROPIC_API_KEY;
|
|
2148
2219
|
let loggedIn = false;
|
|
@@ -2215,11 +2286,11 @@ var init_claude_auth = __esmMin((() => {
|
|
|
2215
2286
|
* from spawnAgent and killAgent paths that run on dedicated workers.
|
|
2216
2287
|
*/
|
|
2217
2288
|
function ohmypiFifoPaths(agentId, home) {
|
|
2218
|
-
const agentDir = join
|
|
2289
|
+
const agentDir = join(home === void 0 ? getOverdeckHome() : join(home, ".overdeck"), "agents", agentId);
|
|
2219
2290
|
return {
|
|
2220
2291
|
agentDir,
|
|
2221
|
-
readyPath: join
|
|
2222
|
-
fifoPath: join
|
|
2292
|
+
readyPath: join(agentDir, "ready.json"),
|
|
2293
|
+
fifoPath: join(agentDir, "rpc.in")
|
|
2223
2294
|
};
|
|
2224
2295
|
}
|
|
2225
2296
|
async function createOhmypiFifoPromise(agentId, home) {
|
|
@@ -2296,11 +2367,11 @@ var init_ohmypi_fifo = __esmMin((() => {
|
|
|
2296
2367
|
//#endregion
|
|
2297
2368
|
//#region ../../lib/runtimes/pi-fifo.ts
|
|
2298
2369
|
function piFifoPaths(agentId, home) {
|
|
2299
|
-
const agentDir = join
|
|
2370
|
+
const agentDir = join(home === void 0 ? getOverdeckHome() : join(home, ".overdeck"), "agents", agentId);
|
|
2300
2371
|
return {
|
|
2301
2372
|
agentDir,
|
|
2302
|
-
readyPath: join
|
|
2303
|
-
fifoPath: join
|
|
2373
|
+
readyPath: join(agentDir, "ready.json"),
|
|
2374
|
+
fifoPath: join(agentDir, "rpc.in")
|
|
2304
2375
|
};
|
|
2305
2376
|
}
|
|
2306
2377
|
var init_pi_fifo = __esmMin((() => {
|
|
@@ -2334,12 +2405,12 @@ async function claudeSystemPromptFiles(workspace, harness) {
|
|
|
2334
2405
|
files.push(await ensureSessionContextBriefingFile());
|
|
2335
2406
|
const behavior = getHarnessBehavior(harness);
|
|
2336
2407
|
if (behavior.contextLayerKind === "pi") {
|
|
2337
|
-
const { piGlobalContextFile } = await import("./context-layers-
|
|
2408
|
+
const { piGlobalContextFile } = await import("./context-layers-CRCk1QG7.js");
|
|
2338
2409
|
const globalFile = piGlobalContextFile();
|
|
2339
2410
|
if (existsSync(globalFile)) files.unshift(globalFile);
|
|
2340
2411
|
}
|
|
2341
2412
|
if (behavior.contextLayerKind === "codex") {
|
|
2342
|
-
const { codexGlobalContextFile } = await import("./context-layers-
|
|
2413
|
+
const { codexGlobalContextFile } = await import("./context-layers-CRCk1QG7.js");
|
|
2343
2414
|
const globalFile = codexGlobalContextFile();
|
|
2344
2415
|
if (existsSync(globalFile)) files.unshift(globalFile);
|
|
2345
2416
|
}
|
|
@@ -2396,7 +2467,7 @@ async function getOhmypiLauncherFields(agentId, model) {
|
|
|
2396
2467
|
};
|
|
2397
2468
|
}
|
|
2398
2469
|
function getCodexLauncherFields(agentId, model, workspacePath) {
|
|
2399
|
-
const codexHome = join(homedir(), ".overdeck", "agents", agentId, "codex-home");
|
|
2470
|
+
const codexHome = join$1(homedir(), ".overdeck", "agents", agentId, "codex-home");
|
|
2400
2471
|
const codexPermMode = loadConfigSync().config.codex?.permissionMode ?? "workspace";
|
|
2401
2472
|
initCodexHome(codexHome, {
|
|
2402
2473
|
trustedDir: workspacePath,
|
|
@@ -2408,7 +2479,7 @@ function getCodexLauncherFields(agentId, model, workspacePath) {
|
|
|
2408
2479
|
harness: "codex",
|
|
2409
2480
|
codexMode: "work-tui",
|
|
2410
2481
|
codexHome,
|
|
2411
|
-
codexSessionDir: join(codexHome, "sessions"),
|
|
2482
|
+
codexSessionDir: join$1(codexHome, "sessions"),
|
|
2412
2483
|
model
|
|
2413
2484
|
};
|
|
2414
2485
|
}
|
|
@@ -2441,7 +2512,7 @@ function describeOhmypiSpawnFailure(agentId) {
|
|
|
2441
2512
|
if (freeMb < 512) parts.push("(DISK NEARLY FULL — likely ENOSPC crash)");
|
|
2442
2513
|
} catch {}
|
|
2443
2514
|
try {
|
|
2444
|
-
const logPath = join(getAgentDir(agentId), "output.log");
|
|
2515
|
+
const logPath = join$1(getAgentDir(agentId), "output.log");
|
|
2445
2516
|
if (existsSync(logPath)) {
|
|
2446
2517
|
const tail = readFileSync(logPath, "utf8").slice(-1500).trim().split("\n").slice(-8).join("\n");
|
|
2447
2518
|
if (tail) parts.push(`output.log tail:\n${tail}`);
|
|
@@ -2469,8 +2540,8 @@ async function waitForPromptReady(agentId, harness, timeoutSec = 30) {
|
|
|
2469
2540
|
return waitForReadySignal(agentId, timeoutSec);
|
|
2470
2541
|
}
|
|
2471
2542
|
function inferMemoryProjectId(workspacePath) {
|
|
2472
|
-
const workspaceName = basename(workspacePath);
|
|
2473
|
-
if (workspaceName.startsWith("feature-")) return basename(dirname(dirname(workspacePath)));
|
|
2543
|
+
const workspaceName = basename$1(workspacePath);
|
|
2544
|
+
if (workspaceName.startsWith("feature-")) return basename$1(dirname$1(dirname$1(workspacePath)));
|
|
2474
2545
|
return workspaceName;
|
|
2475
2546
|
}
|
|
2476
2547
|
/**
|
|
@@ -2485,14 +2556,14 @@ async function injectPiPromptTimeMemory(agentId, prompt) {
|
|
|
2485
2556
|
try {
|
|
2486
2557
|
const identity = {
|
|
2487
2558
|
projectId: inferMemoryProjectId(agentState.workspace),
|
|
2488
|
-
workspaceId: basename(agentState.workspace),
|
|
2559
|
+
workspaceId: basename$1(agentState.workspace),
|
|
2489
2560
|
issueId: agentState.issueId,
|
|
2490
2561
|
runId: agentId,
|
|
2491
2562
|
sessionId: agentId,
|
|
2492
2563
|
agentRole: agentState.role ?? "work",
|
|
2493
2564
|
agentHarness: agentState.harness ?? "claude-code"
|
|
2494
2565
|
};
|
|
2495
|
-
const { injectPromptTimeMemory } = await import("./injection-
|
|
2566
|
+
const { injectPromptTimeMemory } = await import("./injection-Dt22tGvS.js");
|
|
2496
2567
|
const result = await injectPromptTimeMemory({
|
|
2497
2568
|
prompt,
|
|
2498
2569
|
identity,
|
|
@@ -2519,14 +2590,14 @@ async function injectPiConversationMemory(opts, prompt) {
|
|
|
2519
2590
|
try {
|
|
2520
2591
|
const identity = {
|
|
2521
2592
|
projectId: inferMemoryProjectId(opts.cwd),
|
|
2522
|
-
workspaceId: basename(opts.cwd),
|
|
2593
|
+
workspaceId: basename$1(opts.cwd),
|
|
2523
2594
|
issueId: opts.issueId,
|
|
2524
2595
|
runId: opts.conversationName,
|
|
2525
2596
|
sessionId: opts.conversationName,
|
|
2526
2597
|
agentRole: "work",
|
|
2527
2598
|
agentHarness: "ohmypi"
|
|
2528
2599
|
};
|
|
2529
|
-
const { injectPromptTimeMemory } = await import("./injection-
|
|
2600
|
+
const { injectPromptTimeMemory } = await import("./injection-Dt22tGvS.js");
|
|
2530
2601
|
const result = await injectPromptTimeMemory({
|
|
2531
2602
|
prompt,
|
|
2532
2603
|
identity,
|
|
@@ -2590,7 +2661,7 @@ async function getAgentRuntimeBaseCommand(model, agentName, agentDefinition, har
|
|
|
2590
2661
|
if (process.env.OVERDECK_TEST_HARNESS_COMMAND) return process.env.OVERDECK_TEST_HARNESS_COMMAND;
|
|
2591
2662
|
const provider = getProviderForModelSync(validatedModel);
|
|
2592
2663
|
const nameFlag = agentName ? ` --name ${agentName}` : "";
|
|
2593
|
-
const defIsRoleFile = !!agentDefinition && existsSync(resolve(agentDefinition)) && statSync(resolve(agentDefinition)).isFile();
|
|
2664
|
+
const defIsRoleFile = !!agentDefinition && existsSync(resolve$1(agentDefinition)) && statSync(resolve$1(agentDefinition)).isFile();
|
|
2594
2665
|
if (agentDefinition && !defIsRoleFile) {
|
|
2595
2666
|
const agentFlag = ` --agent ${agentDefinition}`;
|
|
2596
2667
|
const effortFlag = effort ? ` --effort ${effort}` : "";
|
|
@@ -2605,7 +2676,7 @@ async function getAgentRuntimeBaseCommand(model, agentName, agentDefinition, har
|
|
|
2605
2676
|
}
|
|
2606
2677
|
function roleAgentDefinitionPath(role, subRole) {
|
|
2607
2678
|
if (role === "review" && subRole) return null;
|
|
2608
|
-
return join(packageRoot, "roles", `${role}.md`);
|
|
2679
|
+
return join$1(packageRoot, "roles", `${role}.md`);
|
|
2609
2680
|
}
|
|
2610
2681
|
/**
|
|
2611
2682
|
* PAN-2087: Claude Code 2.1.195 removed support for passing an agent DEFINITION
|
|
@@ -2636,7 +2707,7 @@ function roleAgentDefinitionPath(role, subRole) {
|
|
|
2636
2707
|
* `--agent <file>` flag, or '' when the definition file is missing.
|
|
2637
2708
|
*/
|
|
2638
2709
|
function roleSystemPromptInjectionSync(definitionPath, explicitEffort) {
|
|
2639
|
-
const abs = resolve(definitionPath);
|
|
2710
|
+
const abs = resolve$1(definitionPath);
|
|
2640
2711
|
if (!existsSync(abs)) return "";
|
|
2641
2712
|
const raw = readFileSync(abs, "utf8");
|
|
2642
2713
|
let body = raw;
|
|
@@ -2649,10 +2720,10 @@ function roleSystemPromptInjectionSync(definitionPath, explicitEffort) {
|
|
|
2649
2720
|
if (parsed && typeof parsed === "object") frontmatter = parsed;
|
|
2650
2721
|
} catch {}
|
|
2651
2722
|
}
|
|
2652
|
-
const dir = join(getOverdeckHome(), "role-prompts");
|
|
2723
|
+
const dir = join$1(getOverdeckHome(), "role-prompts");
|
|
2653
2724
|
mkdirSync(dir, { recursive: true });
|
|
2654
|
-
const stem = basename(definitionPath).replace(/\.md$/, "");
|
|
2655
|
-
const outPath = join(dir, `${stem}.md`);
|
|
2725
|
+
const stem = basename$1(definitionPath).replace(/\.md$/, "");
|
|
2726
|
+
const outPath = join$1(dir, `${stem}.md`);
|
|
2656
2727
|
writeFileSync(outPath, body);
|
|
2657
2728
|
const flags = [` --append-system-prompt-file '${outPath}'`];
|
|
2658
2729
|
const effort = explicitEffort ?? (typeof frontmatter.effort === "string" ? frontmatter.effort : void 0);
|
|
@@ -2665,7 +2736,7 @@ function roleSystemPromptInjectionSync(definitionPath, explicitEffort) {
|
|
|
2665
2736
|
mcpNames.push(name);
|
|
2666
2737
|
}
|
|
2667
2738
|
if (Object.keys(servers).length > 0) {
|
|
2668
|
-
const mcpPath = join(dir, `${stem}.mcp.json`);
|
|
2739
|
+
const mcpPath = join$1(dir, `${stem}.mcp.json`);
|
|
2669
2740
|
writeFileSync(mcpPath, JSON.stringify({ mcpServers: servers }, null, 2));
|
|
2670
2741
|
flags.push(` --mcp-config '${mcpPath}'`);
|
|
2671
2742
|
}
|
|
@@ -2689,10 +2760,10 @@ async function getRoleRuntimeBaseCommand(model, agentName, role, harness = "clau
|
|
|
2689
2760
|
if (process.env.OVERDECK_TEST_HARNESS_COMMAND) return process.env.OVERDECK_TEST_HARNESS_COMMAND;
|
|
2690
2761
|
const provider = getProviderForModelSync(validatedModel);
|
|
2691
2762
|
const requestedDefinitionPath = roleAgentDefinitionPath(role, subRole);
|
|
2692
|
-
const definitionPath = requestedDefinitionPath && existsSync(resolve(requestedDefinitionPath)) ? requestedDefinitionPath : null;
|
|
2763
|
+
const definitionPath = requestedDefinitionPath && existsSync(resolve$1(requestedDefinitionPath)) ? requestedDefinitionPath : null;
|
|
2693
2764
|
if (requestedDefinitionPath && !definitionPath && !missingRoleDefinitionWarnings.has(requestedDefinitionPath)) {
|
|
2694
2765
|
missingRoleDefinitionWarnings.add(requestedDefinitionPath);
|
|
2695
|
-
console.warn(`[agents] Role definition ${resolve(requestedDefinitionPath)} does not exist; launching ${role} without its role system prompt`);
|
|
2766
|
+
console.warn(`[agents] Role definition ${resolve$1(requestedDefinitionPath)} does not exist; launching ${role} without its role system prompt`);
|
|
2696
2767
|
}
|
|
2697
2768
|
const roleInject = definitionPath ? roleSystemPromptInjectionSync(definitionPath, effort) : "";
|
|
2698
2769
|
const nameFlag = ` --name ${agentName}`;
|
|
@@ -2903,7 +2974,7 @@ function resolveSlotTierSpawnParams(baseWorkspace, slotItemId, explicitModel, sp
|
|
|
2903
2974
|
const doc = readWorkspacePlanSync(baseWorkspace);
|
|
2904
2975
|
if (!doc) return {};
|
|
2905
2976
|
const planMetadata = doc?.plan?.metadata;
|
|
2906
|
-
const issueIdMatch = basename(baseWorkspace).match(/^feature-(.+)$/i);
|
|
2977
|
+
const issueIdMatch = basename$1(baseWorkspace).match(/^feature-(.+)$/i);
|
|
2907
2978
|
const issueId = issueIdMatch ? issueIdMatch[1].toUpperCase() : null;
|
|
2908
2979
|
const config = loadConfigSync().config;
|
|
2909
2980
|
const tiered = config.tieredExecution;
|
|
@@ -2940,7 +3011,7 @@ function resolveSingleWorkTierSpawnParams(workspace, explicitModel, spawnKey) {
|
|
|
2940
3011
|
const planMetadata = doc?.plan?.metadata;
|
|
2941
3012
|
const item = getDispatchableItems(doc, /* @__PURE__ */ new Set())[0];
|
|
2942
3013
|
if (!item) return {};
|
|
2943
|
-
const issueIdMatch = basename(workspace).match(/^feature-(.+)$/i);
|
|
3014
|
+
const issueIdMatch = basename$1(workspace).match(/^feature-(.+)$/i);
|
|
2944
3015
|
const issueId = issueIdMatch ? issueIdMatch[1].toUpperCase() : null;
|
|
2945
3016
|
const config = loadConfigSync().config;
|
|
2946
3017
|
const tiered = config.tieredExecution;
|
|
@@ -3030,7 +3101,7 @@ async function transitionIssueToInReview(issueId, workspacePath) {
|
|
|
3030
3101
|
async function buildAgentLaunchConfig(opts) {
|
|
3031
3102
|
const model = requireModelOverrideSync(opts.model);
|
|
3032
3103
|
try {
|
|
3033
|
-
const { injectOverdeckInfraDeny } = await import("./claude-settings-overlay-
|
|
3104
|
+
const { injectOverdeckInfraDeny } = await import("./claude-settings-overlay-BPdhTPjo.js");
|
|
3034
3105
|
await Effect.runPromise(injectOverdeckInfraDeny(opts.workspace));
|
|
3035
3106
|
} catch (err) {
|
|
3036
3107
|
console.warn(`[agents] injectOverdeckInfraDeny failed for ${opts.agentId} (non-fatal): ${err instanceof Error ? err.message : err}`);
|
|
@@ -3097,21 +3168,21 @@ async function buildAgentLaunchConfig(opts) {
|
|
|
3097
3168
|
function defaultRunWorkspace(issueId) {
|
|
3098
3169
|
const project = resolveProjectFromIssueSync(issueId);
|
|
3099
3170
|
if (!project) throw new Error(`Cannot spawn role run for ${issueId}: no project is configured for this issue prefix`);
|
|
3100
|
-
return join(project.projectPath, "workspaces", `feature-${issueId.toLowerCase()}`);
|
|
3171
|
+
return join$1(project.projectPath, "workspaces", `feature-${issueId.toLowerCase()}`);
|
|
3101
3172
|
}
|
|
3102
3173
|
async function retrieveSpawnTimeMemoryContext(input) {
|
|
3103
3174
|
if (!input.prompt.trim()) return "";
|
|
3104
3175
|
try {
|
|
3105
3176
|
const identity = {
|
|
3106
3177
|
projectId: inferMemoryProjectId(input.workspace),
|
|
3107
|
-
workspaceId: basename(input.workspace),
|
|
3178
|
+
workspaceId: basename$1(input.workspace),
|
|
3108
3179
|
issueId: input.issueId,
|
|
3109
3180
|
runId: input.agentId,
|
|
3110
3181
|
sessionId: input.agentId,
|
|
3111
3182
|
agentRole: input.role,
|
|
3112
3183
|
agentHarness: input.harness
|
|
3113
3184
|
};
|
|
3114
|
-
const { injectPromptTimeMemory } = await import("./injection-
|
|
3185
|
+
const { injectPromptTimeMemory } = await import("./injection-Dt22tGvS.js");
|
|
3115
3186
|
return (await injectPromptTimeMemory({
|
|
3116
3187
|
prompt: input.prompt,
|
|
3117
3188
|
identity,
|
|
@@ -3202,7 +3273,7 @@ async function assertWorkspaceStackHealthyForSpawn(issueId, role, allowHost = fa
|
|
|
3202
3273
|
record.attempts += 1;
|
|
3203
3274
|
spawnStackRebuildState.set(normalizedIssue, record);
|
|
3204
3275
|
console.log(`[agents] Workspace stack for ${normalizedIssue} unhealthy (${details}) — rebuilding before spawn (attempt ${record.attempts}/${SPAWN_STACK_REBUILD_MAX_ATTEMPTS})`);
|
|
3205
|
-
const { rebuildWorkspaceStack } = await import("./rebuild-stack-
|
|
3276
|
+
const { rebuildWorkspaceStack } = await import("./rebuild-stack-CXSgAGPR.js");
|
|
3206
3277
|
const result = await Effect.runPromise(rebuildWorkspaceStack(issueId, { onProgress: (m) => console.log(`[agents] ${normalizedIssue} stack rebuild: ${m}`) })).catch((err) => ({
|
|
3207
3278
|
success: false,
|
|
3208
3279
|
error: err instanceof Error ? err.message : String(err)
|
|
@@ -3246,7 +3317,7 @@ var init_spawn_prep = __esmMin((() => {
|
|
|
3246
3317
|
//#endregion
|
|
3247
3318
|
//#region ../../lib/cv.ts
|
|
3248
3319
|
function getCVFile(agentId) {
|
|
3249
|
-
return join(AGENTS_DIR, agentId, "cv.json");
|
|
3320
|
+
return join$1(AGENTS_DIR, agentId, "cv.json");
|
|
3250
3321
|
}
|
|
3251
3322
|
/**
|
|
3252
3323
|
* Read an agent's CV without creating one.
|
|
@@ -3290,7 +3361,7 @@ function getAgentCVSync(agentId) {
|
|
|
3290
3361
|
* Save an agent's CV
|
|
3291
3362
|
*/
|
|
3292
3363
|
function saveAgentCVSync(cv) {
|
|
3293
|
-
mkdirSync(join(AGENTS_DIR, cv.agentId), { recursive: true });
|
|
3364
|
+
mkdirSync(join$1(AGENTS_DIR, cv.agentId), { recursive: true });
|
|
3294
3365
|
writeFileSync(getCVFile(cv.agentId), JSON.stringify(cv, null, 2));
|
|
3295
3366
|
}
|
|
3296
3367
|
/**
|
|
@@ -3320,10 +3391,10 @@ var init_cv = __esmMin((() => {
|
|
|
3320
3391
|
//#endregion
|
|
3321
3392
|
//#region ../../lib/bridge-token.ts
|
|
3322
3393
|
function bridgeTokensDir() {
|
|
3323
|
-
return join
|
|
3394
|
+
return join(getOverdeckHome(), "bridge-tokens");
|
|
3324
3395
|
}
|
|
3325
3396
|
function getBridgeTokenPath(agentId) {
|
|
3326
|
-
return join
|
|
3397
|
+
return join(bridgeTokensDir(), `${agentId}.token`);
|
|
3327
3398
|
}
|
|
3328
3399
|
function readBridgeTokenSync(agentId) {
|
|
3329
3400
|
const path = getBridgeTokenPath(agentId);
|
|
@@ -3544,7 +3615,7 @@ function resilientDeliveryMethod(method) {
|
|
|
3544
3615
|
* Resolve OVERDECK_HOME — same fallback semantics as overdeck-bridge.
|
|
3545
3616
|
*/
|
|
3546
3617
|
function overdeckHomeForSockets() {
|
|
3547
|
-
return process.env.OVERDECK_HOME ?? join(homedir(), ".overdeck");
|
|
3618
|
+
return process.env.OVERDECK_HOME ?? join$1(homedir(), ".overdeck");
|
|
3548
3619
|
}
|
|
3549
3620
|
function overdeckHomeForChannels() {
|
|
3550
3621
|
return overdeckHomeForSockets();
|
|
@@ -3554,14 +3625,14 @@ function overdeckHomeForChannels() {
|
|
|
3554
3625
|
*/
|
|
3555
3626
|
async function appendChannelDeliveryLog(agentId, entry) {
|
|
3556
3627
|
try {
|
|
3557
|
-
const dir = join(overdeckHomeForSockets(), "logs");
|
|
3628
|
+
const dir = join$1(overdeckHomeForSockets(), "logs");
|
|
3558
3629
|
await (await import("fs/promises")).mkdir(dir, { recursive: true });
|
|
3559
3630
|
const line = JSON.stringify({
|
|
3560
3631
|
ts: (/* @__PURE__ */ new Date()).toISOString(),
|
|
3561
3632
|
agentId,
|
|
3562
3633
|
...entry
|
|
3563
3634
|
});
|
|
3564
|
-
await (await import("fs/promises")).appendFile(join(dir, `bridge-${agentId}.log`), `${line}\n`, "utf-8");
|
|
3635
|
+
await (await import("fs/promises")).appendFile(join$1(dir, `bridge-${agentId}.log`), `${line}\n`, "utf-8");
|
|
3565
3636
|
} catch {}
|
|
3566
3637
|
}
|
|
3567
3638
|
/**
|
|
@@ -3658,7 +3729,7 @@ async function deliverAgentMessage(agentId, message, caller = "unknown", deliver
|
|
|
3658
3729
|
}
|
|
3659
3730
|
let supervisorFailure;
|
|
3660
3731
|
if (resolvedMethod === "auto" || resolvedMethod === "supervisor") {
|
|
3661
|
-
const supervisorSocketPath = join(overdeckHomeForSockets(), "sockets", `pty-${normalizedId}.sock`);
|
|
3732
|
+
const supervisorSocketPath = join$1(overdeckHomeForSockets(), "sockets", `pty-${normalizedId}.sock`);
|
|
3662
3733
|
const ptyToken = await readPtyToken(normalizedId);
|
|
3663
3734
|
if (!existsSync(supervisorSocketPath)) supervisorFailure = "socket-missing";
|
|
3664
3735
|
else if (!ptyToken) supervisorFailure = "pty-token-missing";
|
|
@@ -3682,7 +3753,7 @@ async function deliverAgentMessage(agentId, message, caller = "unknown", deliver
|
|
|
3682
3753
|
}
|
|
3683
3754
|
if (resolvedMethod === "auto" || resolvedMethod === "channels") {
|
|
3684
3755
|
let channelFailure;
|
|
3685
|
-
const socketPath = join(overdeckHomeForSockets(), "sockets", `agent-${normalizedId}.sock`);
|
|
3756
|
+
const socketPath = join$1(overdeckHomeForSockets(), "sockets", `agent-${normalizedId}.sock`);
|
|
3686
3757
|
if (!channelsEnabled) channelFailure = "channels-disabled";
|
|
3687
3758
|
else if (!existsSync(socketPath)) channelFailure = "socket-missing";
|
|
3688
3759
|
else {
|
|
@@ -3811,9 +3882,9 @@ async function deliverInitialPromptWithRetry(agentId, prompt, caller, deliveryMe
|
|
|
3811
3882
|
try {
|
|
3812
3883
|
if (state?.harness && getHarnessBehavior(state.harness).usesCodexHome) {
|
|
3813
3884
|
const ownsWorkspaceKickoff = state.workspace && (state.role === "work" || state.role === "strike");
|
|
3814
|
-
const kickoffPath = ownsWorkspaceKickoff ? join(state.workspace, ".pan", "kickoff.md") : join(getAgentDir(normalizedId), "kickoff.md");
|
|
3885
|
+
const kickoffPath = ownsWorkspaceKickoff ? join$1(state.workspace, ".pan", "kickoff.md") : join$1(getAgentDir(normalizedId), "kickoff.md");
|
|
3815
3886
|
const displayPath = ownsWorkspaceKickoff ? "`.pan/kickoff.md`" : `\`${kickoffPath}\``;
|
|
3816
|
-
mkdirSync(dirname(kickoffPath), { recursive: true });
|
|
3887
|
+
mkdirSync(dirname$1(kickoffPath), { recursive: true });
|
|
3817
3888
|
writeFileSync(kickoffPath, prompt, "utf-8");
|
|
3818
3889
|
deliveredPrompt = `Your complete task brief has been written to ${displayPath}. Read that file in full now and execute it exactly — it is your full set of work instructions. Begin immediately and keep working autonomously until done; do not wait for further input.`;
|
|
3819
3890
|
}
|
|
@@ -3866,7 +3937,7 @@ async function deliverAgentPermissionDecision(agentId, requestId, behavior) {
|
|
|
3866
3937
|
state = null;
|
|
3867
3938
|
}
|
|
3868
3939
|
if (!state?.channelsEnabled) throw new Error(`agent ${normalizedId} is not using Claude channels`);
|
|
3869
|
-
const socketPath = join(overdeckHomeForChannels(), "sockets", `agent-${normalizedId}.sock`);
|
|
3940
|
+
const socketPath = join$1(overdeckHomeForChannels(), "sockets", `agent-${normalizedId}.sock`);
|
|
3870
3941
|
if (!existsSync(socketPath)) throw new Error(`bridge socket missing for ${normalizedId}`);
|
|
3871
3942
|
const bridgeToken = readBridgeTokenSync(normalizedId);
|
|
3872
3943
|
if (!bridgeToken) throw new Error(`bridge token missing for ${normalizedId}`);
|
|
@@ -3978,7 +4049,7 @@ var init_config = __esmMin((() => {
|
|
|
3978
4049
|
import_toml = require_toml();
|
|
3979
4050
|
init_errors();
|
|
3980
4051
|
init_paths();
|
|
3981
|
-
CLOISTER_CONFIG_FILE = join(OVERDECK_HOME, "cloister.toml");
|
|
4052
|
+
CLOISTER_CONFIG_FILE = join$1(OVERDECK_HOME, "cloister.toml");
|
|
3982
4053
|
DEFAULT_CLOISTER_CONFIG = {
|
|
3983
4054
|
startup: {
|
|
3984
4055
|
auto_start: true,
|
|
@@ -4477,7 +4548,7 @@ async function dropLegacyAgentStatesMissingRoleAsync() {
|
|
|
4477
4548
|
}
|
|
4478
4549
|
let dropped = 0;
|
|
4479
4550
|
await Promise.all(entries.map(async (entry) => {
|
|
4480
|
-
const dirPath = join(AGENTS_DIR, entry);
|
|
4551
|
+
const dirPath = join$1(AGENTS_DIR, entry);
|
|
4481
4552
|
let stat;
|
|
4482
4553
|
try {
|
|
4483
4554
|
stat = await fsp.stat(dirPath);
|
|
@@ -4541,7 +4612,7 @@ async function warnOnBareNumericIssueIds() {
|
|
|
4541
4612
|
}
|
|
4542
4613
|
const legacy = [];
|
|
4543
4614
|
await Promise.all(entries.map(async (entry) => {
|
|
4544
|
-
const dirPath = join(AGENTS_DIR, entry);
|
|
4615
|
+
const dirPath = join$1(AGENTS_DIR, entry);
|
|
4545
4616
|
try {
|
|
4546
4617
|
if (!(await fsp.stat(dirPath)).isDirectory()) return;
|
|
4547
4618
|
} catch {
|
|
@@ -4603,7 +4674,7 @@ function isTmuxProcessSync(pid) {
|
|
|
4603
4674
|
* sync internals.
|
|
4604
4675
|
*/
|
|
4605
4676
|
function killLauncherProcessSync(agentId) {
|
|
4606
|
-
const launcherPath = join(AGENTS_DIR, agentId, "launcher.sh");
|
|
4677
|
+
const launcherPath = join$1(AGENTS_DIR, agentId, "launcher.sh");
|
|
4607
4678
|
let pidsOut;
|
|
4608
4679
|
try {
|
|
4609
4680
|
pidsOut = execSync$1(`pgrep -f ${JSON.stringify(launcherPath)}`, {
|
|
@@ -4635,7 +4706,7 @@ function killLauncherProcessSync(agentId) {
|
|
|
4635
4706
|
} catch {}
|
|
4636
4707
|
}
|
|
4637
4708
|
async function killLauncherProcessAsync(agentId) {
|
|
4638
|
-
const launcherPath = join(AGENTS_DIR, agentId, "launcher.sh");
|
|
4709
|
+
const launcherPath = join$1(AGENTS_DIR, agentId, "launcher.sh");
|
|
4639
4710
|
let pidsOut;
|
|
4640
4711
|
try {
|
|
4641
4712
|
const { stdout } = await execAsync$3(`pgrep -f ${JSON.stringify(launcherPath)}`);
|
|
@@ -4664,7 +4735,7 @@ function stopAgentSync(agentId) {
|
|
|
4664
4735
|
if (output) {
|
|
4665
4736
|
const agentDir = getAgentDir(normalizedId);
|
|
4666
4737
|
mkdirSync(agentDir, { recursive: true });
|
|
4667
|
-
writeFileSync(join(agentDir, "output.log"), output);
|
|
4738
|
+
writeFileSync(join$1(agentDir, "output.log"), output);
|
|
4668
4739
|
}
|
|
4669
4740
|
} catch {}
|
|
4670
4741
|
killSessionSync(normalizedId);
|
|
@@ -4698,7 +4769,7 @@ var init_termination = __esmMin((() => {
|
|
|
4698
4769
|
const output = yield* capturePane(normalizedId, 5e3);
|
|
4699
4770
|
if (!output) return;
|
|
4700
4771
|
const agentDir = getAgentDir(normalizedId);
|
|
4701
|
-
const outputFile = join(agentDir, "output.log");
|
|
4772
|
+
const outputFile = join$1(agentDir, "output.log");
|
|
4702
4773
|
yield* Effect.tryPromise({
|
|
4703
4774
|
try: () => mkdir$1(agentDir, { recursive: true }),
|
|
4704
4775
|
catch: (cause) => new FsError({
|
|
@@ -4788,10 +4859,10 @@ async function spawnRun(issueId, role, options = {}) {
|
|
|
4788
4859
|
let reapWarmIdle = false;
|
|
4789
4860
|
const advancing = role === "review" || role === "test" || role === "ship";
|
|
4790
4861
|
try {
|
|
4791
|
-
const { isPaneDead } = await import("./tmux-
|
|
4862
|
+
const { isPaneDead } = await import("./tmux-DClqWwb8.js");
|
|
4792
4863
|
if (await Effect.runPromise(isPaneDead(agentId))) reapWarmIdle = true;
|
|
4793
4864
|
else if (advancing) {
|
|
4794
|
-
const { getReviewStatusSync } = await import("./review-status-
|
|
4865
|
+
const { getReviewStatusSync } = await import("./review-status-JhQ3qlDS.js");
|
|
4795
4866
|
const { isRoleTerminal } = await import("./reap-terminal-sessions-BwJb2DLJ.js");
|
|
4796
4867
|
const status = getReviewStatusSync(issueId);
|
|
4797
4868
|
reapWarmIdle = !!status && isRoleTerminal(role, status);
|
|
@@ -4799,7 +4870,7 @@ async function spawnRun(issueId, role, options = {}) {
|
|
|
4799
4870
|
} catch {}
|
|
4800
4871
|
if (!reapWarmIdle) throw new Error(`Role run ${agentId} already running. Use 'pan tell' to message it.`);
|
|
4801
4872
|
console.log(`[spawn] ${agentId} is warm-idle from the previous cycle — reaping it for the new ${role} dispatch (PAN-2579)`);
|
|
4802
|
-
const { killSession } = await import("./tmux-
|
|
4873
|
+
const { killSession } = await import("./tmux-DClqWwb8.js");
|
|
4803
4874
|
await Effect.runPromise(killSession(agentId)).catch(() => {});
|
|
4804
4875
|
}
|
|
4805
4876
|
await assertWorkspaceStackHealthyForSpawn(issueId, role, options.allowHost, workspace);
|
|
@@ -4810,7 +4881,7 @@ async function spawnRun(issueId, role, options = {}) {
|
|
|
4810
4881
|
model: selectedModel
|
|
4811
4882
|
});
|
|
4812
4883
|
if (getProviderForModelSync(selectedModel).name === "openai" && await getProviderAuthMode(selectedModel) === "subscription") {
|
|
4813
|
-
const { isCliproxyRunning } = await import("./cliproxy-
|
|
4884
|
+
const { isCliproxyRunning } = await import("./cliproxy-DOQf66G9.js");
|
|
4814
4885
|
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.");
|
|
4815
4886
|
}
|
|
4816
4887
|
const state = {
|
|
@@ -4844,7 +4915,7 @@ async function spawnRun(issueId, role, options = {}) {
|
|
|
4844
4915
|
let promptFile;
|
|
4845
4916
|
const tracksKickoffDelivery = role === "flywheel";
|
|
4846
4917
|
if (prompt && (tracksKickoffDelivery || !shouldDeliverPromptViaTmux && !shouldDeliverPromptViaPi && !shouldDeliverPromptViaCodexTui)) {
|
|
4847
|
-
promptFile = join(getAgentDir(agentId), "initial-prompt.md");
|
|
4918
|
+
promptFile = join$1(getAgentDir(agentId), "initial-prompt.md");
|
|
4848
4919
|
await writeFile$1(promptFile, prompt);
|
|
4849
4920
|
if (tracksKickoffDelivery) {
|
|
4850
4921
|
state.kickoffDelivered = false;
|
|
@@ -4866,7 +4937,7 @@ async function spawnRun(issueId, role, options = {}) {
|
|
|
4866
4937
|
try {
|
|
4867
4938
|
const agentDir = getAgentDir(agentId);
|
|
4868
4939
|
await mkdir$1(agentDir, { recursive: true });
|
|
4869
|
-
await writeFile$1(join(agentDir, "session.id"), rawSessionId, "utf-8");
|
|
4940
|
+
await writeFile$1(join$1(agentDir, "session.id"), rawSessionId, "utf-8");
|
|
4870
4941
|
} catch (err) {
|
|
4871
4942
|
console.warn(`[spawnRun] Failed to persist session.id for ${agentId}:`, err instanceof Error ? err.message : String(err));
|
|
4872
4943
|
}
|
|
@@ -4914,12 +4985,12 @@ async function spawnRun(issueId, role, options = {}) {
|
|
|
4914
4985
|
...piLauncherFields,
|
|
4915
4986
|
...codexLauncherFields
|
|
4916
4987
|
});
|
|
4917
|
-
const launcherScript = join(getAgentDir(agentId), "launcher.sh");
|
|
4988
|
+
const launcherScript = join$1(getAgentDir(agentId), "launcher.sh");
|
|
4918
4989
|
await writeLauncherScriptAtomic(launcherScript, launcherContent);
|
|
4919
4990
|
const claudeCmd = `bash ${launcherScript}`;
|
|
4920
4991
|
console.log(`[claude-invoke] purpose=role-run | role=${role} | model=${state.model} | source=agents.ts:spawnRun | session=${agentId} | command="${claudeCmd}"`);
|
|
4921
4992
|
try {
|
|
4922
|
-
const { preTrustDirectory } = await import("./workspace-manager-
|
|
4993
|
+
const { preTrustDirectory } = await import("./workspace-manager-Cb2a7bg9.js");
|
|
4923
4994
|
preTrustDirectory(workspace);
|
|
4924
4995
|
} catch {}
|
|
4925
4996
|
clearReadySignal(agentId);
|
|
@@ -5007,7 +5078,7 @@ async function spawnAgent(options) {
|
|
|
5007
5078
|
});
|
|
5008
5079
|
console.log(`[DEBUG] Selected model: ${selectedModel}`);
|
|
5009
5080
|
if (getProviderForModelSync(selectedModel).name === "openai" && await getProviderAuthMode(selectedModel) === "subscription") {
|
|
5010
|
-
const { isCliproxyRunning } = await import("./cliproxy-
|
|
5081
|
+
const { isCliproxyRunning } = await import("./cliproxy-DOQf66G9.js");
|
|
5011
5082
|
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.");
|
|
5012
5083
|
}
|
|
5013
5084
|
const resolvedHarness = await resolveHarness({
|
|
@@ -5033,7 +5104,7 @@ async function spawnAgent(options) {
|
|
|
5033
5104
|
if (role === "work") {
|
|
5034
5105
|
try {
|
|
5035
5106
|
if (resetPipelineVerdictsForWorkStartSync(options.issueId)) {
|
|
5036
|
-
const { resetPostMergeState } = await import("./merge-agent-
|
|
5107
|
+
const { resetPostMergeState } = await import("./merge-agent-CfohxFWM.js");
|
|
5037
5108
|
resetPostMergeState(options.issueId);
|
|
5038
5109
|
}
|
|
5039
5110
|
} catch (err) {
|
|
@@ -5044,7 +5115,7 @@ async function spawnAgent(options) {
|
|
|
5044
5115
|
});
|
|
5045
5116
|
}
|
|
5046
5117
|
if (role === "work") try {
|
|
5047
|
-
const { writeStoryFeatureContext } = await import("./work-agent-prompt-
|
|
5118
|
+
const { writeStoryFeatureContext } = await import("./work-agent-prompt-CG5jFV9A.js");
|
|
5048
5119
|
await writeStoryFeatureContext(options.workspace, options.issueId);
|
|
5049
5120
|
} catch (ctxErr) {
|
|
5050
5121
|
console.warn(`[agents] Could not write story feature context for ${options.issueId}: ${ctxErr.message}`);
|
|
@@ -5081,7 +5152,7 @@ async function spawnAgent(options) {
|
|
|
5081
5152
|
role,
|
|
5082
5153
|
harness: resolvedHarness
|
|
5083
5154
|
});
|
|
5084
|
-
const promptFile = join(getAgentDir(agentId), "initial-prompt.md");
|
|
5155
|
+
const promptFile = join$1(getAgentDir(agentId), "initial-prompt.md");
|
|
5085
5156
|
const tracksKickoffDelivery = role === "work" || role === "strike";
|
|
5086
5157
|
if (prompt) {
|
|
5087
5158
|
await writeFile$1(promptFile, prompt);
|
|
@@ -5092,9 +5163,9 @@ async function spawnAgent(options) {
|
|
|
5092
5163
|
}
|
|
5093
5164
|
checkAndSetupHooks();
|
|
5094
5165
|
try {
|
|
5095
|
-
const venvPath = join(options.workspace, ".venv");
|
|
5166
|
+
const venvPath = join$1(options.workspace, ".venv");
|
|
5096
5167
|
if (isTldrEnabledSync() && existsSync(venvPath)) {
|
|
5097
|
-
const { getTldrDaemonServiceSync } = await import("./tldr-daemon-
|
|
5168
|
+
const { getTldrDaemonServiceSync } = await import("./tldr-daemon-Big5IZ_M.js");
|
|
5098
5169
|
const tldrService = getTldrDaemonServiceSync(options.workspace, venvPath);
|
|
5099
5170
|
if (!(await tldrService.getStatus()).running) {
|
|
5100
5171
|
await tldrService.start(true);
|
|
@@ -5107,7 +5178,7 @@ async function spawnAgent(options) {
|
|
|
5107
5178
|
const channelsDecision = decideChannelsForWorkAgent(agentId, options, state);
|
|
5108
5179
|
let channelsBridgeMcpConfig;
|
|
5109
5180
|
if (channelsDecision.eligible) {
|
|
5110
|
-
channelsBridgeMcpConfig = join(options.workspace, ".pan", "agent-mcp.json");
|
|
5181
|
+
channelsBridgeMcpConfig = join$1(options.workspace, ".pan", "agent-mcp.json");
|
|
5111
5182
|
writeBridgeTokenSync(agentId);
|
|
5112
5183
|
await writeChannelsBridgeMcpConfig(channelsBridgeMcpConfig, agentId);
|
|
5113
5184
|
state.channelsEnabled = true;
|
|
@@ -5127,19 +5198,19 @@ async function spawnAgent(options) {
|
|
|
5127
5198
|
extraEnvExports: flywheelEnvExports(flywheelEnv),
|
|
5128
5199
|
effort: options.effort
|
|
5129
5200
|
});
|
|
5130
|
-
const launcherScript = join(getAgentDir(agentId), "launcher.sh");
|
|
5201
|
+
const launcherScript = join$1(getAgentDir(agentId), "launcher.sh");
|
|
5131
5202
|
await writeLauncherScriptAtomic(launcherScript, launcherContent);
|
|
5132
5203
|
const claudeCmd = `bash ${launcherScript}`;
|
|
5133
5204
|
console.log(`[claude-invoke] purpose=work-agent | model=${state.model} | source=agents.ts:spawnAgent | session=${agentId} | command="${claudeCmd}"`);
|
|
5134
5205
|
try {
|
|
5135
|
-
const { preTrustDirectory } = await import("./workspace-manager-
|
|
5206
|
+
const { preTrustDirectory } = await import("./workspace-manager-Cb2a7bg9.js");
|
|
5136
5207
|
preTrustDirectory(options.workspace);
|
|
5137
5208
|
} catch {}
|
|
5138
5209
|
try {
|
|
5139
|
-
const { isGitHubAppConfigured, generateInstallationToken, configureWorkspaceForBot } = await import("./github-app-
|
|
5210
|
+
const { isGitHubAppConfigured, generateInstallationToken, configureWorkspaceForBot } = await import("./github-app-C7lftMNj.js");
|
|
5140
5211
|
if (isGitHubAppConfigured()) {
|
|
5141
|
-
const { findProjectByPathSync } = await import("./projects-
|
|
5142
|
-
const ghRepo = findProjectByPathSync(resolve(options.workspace, "..", ".."))?.github_repo;
|
|
5212
|
+
const { findProjectByPathSync } = await import("./projects-Bqfwuqet.js");
|
|
5213
|
+
const ghRepo = findProjectByPathSync(resolve$1(options.workspace, "..", ".."))?.github_repo;
|
|
5143
5214
|
if (ghRepo) {
|
|
5144
5215
|
const [owner, repo] = ghRepo.split("/");
|
|
5145
5216
|
const { token } = await Effect.runPromise(generateInstallationToken());
|
|
@@ -5203,10 +5274,10 @@ async function spawnAgent(options) {
|
|
|
5203
5274
|
}
|
|
5204
5275
|
}
|
|
5205
5276
|
if (resolvedHarness === "codex") {
|
|
5206
|
-
const codexHomeForAgent = join(homedir(), ".overdeck", "agents", agentId, "codex-home");
|
|
5277
|
+
const codexHomeForAgent = join$1(homedir(), ".overdeck", "agents", agentId, "codex-home");
|
|
5207
5278
|
(async () => {
|
|
5208
5279
|
try {
|
|
5209
|
-
const { waitForCodexRollout, extractThreadIdFromRollout, writeThreadId } = await import("./codex-
|
|
5280
|
+
const { waitForCodexRollout, extractThreadIdFromRollout, writeThreadId } = await import("./codex-CY-QRuU9.js");
|
|
5210
5281
|
const rollout = await waitForCodexRollout(codexHomeForAgent, 12e4);
|
|
5211
5282
|
if (rollout) {
|
|
5212
5283
|
const threadId = extractThreadIdFromRollout(rollout);
|
|
@@ -5268,7 +5339,7 @@ function buildRegisteredSlotPrompt(issueId, baseWorkspace, slot, extraPrompt) {
|
|
|
5268
5339
|
}
|
|
5269
5340
|
async function ensureRegisteredSlotWorktree(baseWorkspace, slot) {
|
|
5270
5341
|
if (existsSync(slot.workspace)) return;
|
|
5271
|
-
await mkdir$1(dirname(slot.workspace), { recursive: true });
|
|
5342
|
+
await mkdir$1(dirname$1(slot.workspace), { recursive: true });
|
|
5272
5343
|
const branchExists = await gitBranchExists(baseWorkspace, slot.branch);
|
|
5273
5344
|
const target = JSON.stringify(slot.workspace);
|
|
5274
5345
|
const branch = JSON.stringify(slot.branch);
|
|
@@ -5289,8 +5360,8 @@ function escapeRegExp$1(value) {
|
|
|
5289
5360
|
* Check if Overdeck hooks are configured, and auto-setup if not
|
|
5290
5361
|
*/
|
|
5291
5362
|
function checkAndSetupHooks() {
|
|
5292
|
-
const settingsPath = join(homedir(), ".claude", "settings.json");
|
|
5293
|
-
const hookPath = join(homedir(), ".overdeck", "bin", "heartbeat-hook");
|
|
5363
|
+
const settingsPath = join$1(homedir(), ".claude", "settings.json");
|
|
5364
|
+
const hookPath = join$1(homedir(), ".overdeck", "bin", "heartbeat-hook");
|
|
5294
5365
|
if (existsSync(settingsPath)) try {
|
|
5295
5366
|
const settingsContent = readFileSync(settingsPath, "utf-8");
|
|
5296
5367
|
if ((JSON.parse(settingsContent)?.hooks?.PostToolUse || []).some((hookConfig) => hookConfig.hooks?.some((hook) => hook.command === hookPath || hook.command?.includes("overdeck") || hook.command?.includes("heartbeat-hook")))) return;
|
|
@@ -5309,9 +5380,9 @@ function checkAndSetupHooks() {
|
|
|
5309
5380
|
* Write task cache for heartbeat hook to use
|
|
5310
5381
|
*/
|
|
5311
5382
|
function writeTaskCache(agentId, issueId) {
|
|
5312
|
-
const cacheDir = join(getAgentDir(agentId));
|
|
5383
|
+
const cacheDir = join$1(getAgentDir(agentId));
|
|
5313
5384
|
mkdirSync(cacheDir, { recursive: true });
|
|
5314
|
-
writeFileSync(join(cacheDir, "current-task.json"), JSON.stringify({
|
|
5385
|
+
writeFileSync(join$1(cacheDir, "current-task.json"), JSON.stringify({
|
|
5315
5386
|
id: issueId,
|
|
5316
5387
|
title: `Working on ${issueId}`,
|
|
5317
5388
|
updated_at: (/* @__PURE__ */ new Date()).toISOString()
|
|
@@ -5384,16 +5455,16 @@ function overdeckDir() {
|
|
|
5384
5455
|
return getOverdeckHome();
|
|
5385
5456
|
}
|
|
5386
5457
|
function heartbeatsDir() {
|
|
5387
|
-
return join
|
|
5458
|
+
return join(overdeckDir(), "heartbeats");
|
|
5388
5459
|
}
|
|
5389
5460
|
function agentsDir() {
|
|
5390
|
-
return join
|
|
5461
|
+
return join(overdeckDir(), "agents");
|
|
5391
5462
|
}
|
|
5392
5463
|
function agentDirFor(agentId) {
|
|
5393
|
-
return join
|
|
5464
|
+
return join(agentsDir(), agentId);
|
|
5394
5465
|
}
|
|
5395
5466
|
function describeSpawnFailure(agentId) {
|
|
5396
|
-
const outputPath = join
|
|
5467
|
+
const outputPath = join(agentDirFor(agentId), "output.log");
|
|
5397
5468
|
if (!existsSync$1(outputPath)) return "";
|
|
5398
5469
|
try {
|
|
5399
5470
|
const tail = readFileSync$1(outputPath, "utf8").slice(-1500).trim().split("\n").slice(-8).join("\n");
|
|
@@ -5403,13 +5474,13 @@ function describeSpawnFailure(agentId) {
|
|
|
5403
5474
|
}
|
|
5404
5475
|
}
|
|
5405
5476
|
function ohmypiSessionDirFor(agentId) {
|
|
5406
|
-
return join
|
|
5477
|
+
return join(agentDirFor(agentId), "sessions");
|
|
5407
5478
|
}
|
|
5408
5479
|
function readyPathFor(agentId) {
|
|
5409
5480
|
return ohmypiFifoPaths(agentId).readyPath;
|
|
5410
5481
|
}
|
|
5411
5482
|
function sessionIdPathFor(agentId) {
|
|
5412
|
-
return join
|
|
5483
|
+
return join(agentDirFor(agentId), "session.id");
|
|
5413
5484
|
}
|
|
5414
5485
|
/**
|
|
5415
5486
|
* Read the persisted omp session id for resume.
|
|
@@ -5464,12 +5535,12 @@ function cleanupOhmypiTransientFiles(agentId) {
|
|
|
5464
5535
|
} catch {}
|
|
5465
5536
|
const dir = agentDirFor(agentId);
|
|
5466
5537
|
for (const transient of ["ready.json", "completed"]) {
|
|
5467
|
-
const path = join
|
|
5538
|
+
const path = join(dir, transient);
|
|
5468
5539
|
if (existsSync$1(path)) try {
|
|
5469
5540
|
unlinkSync$1(path);
|
|
5470
5541
|
} catch {}
|
|
5471
5542
|
}
|
|
5472
|
-
const heartbeatPath = join
|
|
5543
|
+
const heartbeatPath = join(heartbeatsDir(), `${agentId}.json`);
|
|
5473
5544
|
if (existsSync$1(heartbeatPath)) try {
|
|
5474
5545
|
unlinkSync$1(heartbeatPath);
|
|
5475
5546
|
} catch {}
|
|
@@ -5493,7 +5564,7 @@ async function waitForReady(agentId, timeoutMs) {
|
|
|
5493
5564
|
throw new OhmypiSpawnTimeout(agentId);
|
|
5494
5565
|
}
|
|
5495
5566
|
function writeAgentPromptFile(agentId, prompt) {
|
|
5496
|
-
const promptPath = join
|
|
5567
|
+
const promptPath = join(agentDirFor(agentId), "prompt.txt");
|
|
5497
5568
|
writeFileSync$1(promptPath, prompt);
|
|
5498
5569
|
return promptPath;
|
|
5499
5570
|
}
|
|
@@ -5512,7 +5583,7 @@ function walkJsonl(dir, out) {
|
|
|
5512
5583
|
return;
|
|
5513
5584
|
}
|
|
5514
5585
|
for (const entry of entries) {
|
|
5515
|
-
const full = join
|
|
5586
|
+
const full = join(dir, entry);
|
|
5516
5587
|
let stat;
|
|
5517
5588
|
try {
|
|
5518
5589
|
stat = statSync$1(full);
|
|
@@ -5569,7 +5640,7 @@ var init_ohmypi = __esmMin((() => {
|
|
|
5569
5640
|
}
|
|
5570
5641
|
}
|
|
5571
5642
|
getHeartbeat(agentId) {
|
|
5572
|
-
const heartbeatPath = join
|
|
5643
|
+
const heartbeatPath = join(heartbeatsDir(), `${agentId}.json`);
|
|
5573
5644
|
if (existsSync$1(heartbeatPath)) try {
|
|
5574
5645
|
const data = JSON.parse(readFileSync$1(heartbeatPath, "utf-8"));
|
|
5575
5646
|
if (data.timestamp) {
|
|
@@ -5704,7 +5775,7 @@ var init_ohmypi = __esmMin((() => {
|
|
|
5704
5775
|
setTerminalEnv: true,
|
|
5705
5776
|
trapHup: true
|
|
5706
5777
|
});
|
|
5707
|
-
const launcherPath = join
|
|
5778
|
+
const launcherPath = join(dir, "ohmypi-launcher.sh");
|
|
5708
5779
|
writeFileSync$1(launcherPath, launcherScript);
|
|
5709
5780
|
chmodSync$1(launcherPath, 493);
|
|
5710
5781
|
await Effect.runPromise(createSession(agentId, config.workspace, `bash ${launcherPath}`, { env: { OVERDECK_AGENT_ID: agentId } }));
|
|
@@ -5756,7 +5827,7 @@ var init_ohmypi = __esmMin((() => {
|
|
|
5756
5827
|
function appendActivity(agentId, entry) {
|
|
5757
5828
|
const dir = getAgentDir(agentId);
|
|
5758
5829
|
mkdirSync(dir, { recursive: true });
|
|
5759
|
-
const activityFile = join(dir, "activity.jsonl");
|
|
5830
|
+
const activityFile = join$1(dir, "activity.jsonl");
|
|
5760
5831
|
appendFileSync(activityFile, JSON.stringify(entry) + "\n");
|
|
5761
5832
|
if (existsSync(activityFile)) try {
|
|
5762
5833
|
const lines = readFileSync(activityFile, "utf8").trim().split("\n");
|
|
@@ -5767,7 +5838,7 @@ function appendActivity(agentId, entry) {
|
|
|
5767
5838
|
* Read activity log (last N entries)
|
|
5768
5839
|
*/
|
|
5769
5840
|
function getActivity(agentId, limit = 100) {
|
|
5770
|
-
const activityFile = join(getAgentDir(agentId), "activity.jsonl");
|
|
5841
|
+
const activityFile = join$1(getAgentDir(agentId), "activity.jsonl");
|
|
5771
5842
|
if (!existsSync(activityFile)) return [];
|
|
5772
5843
|
try {
|
|
5773
5844
|
return readFileSync(activityFile, "utf8").trim().split("\n").filter((line) => line.trim()).map((line) => JSON.parse(line)).slice(-limit);
|
|
@@ -5781,13 +5852,13 @@ function getActivity(agentId, limit = 100) {
|
|
|
5781
5852
|
function saveSessionId(agentId, sessionId) {
|
|
5782
5853
|
const dir = getAgentDir(agentId);
|
|
5783
5854
|
mkdirSync(dir, { recursive: true });
|
|
5784
|
-
writeFileSync(join(dir, "session.id"), sessionId);
|
|
5855
|
+
writeFileSync(join$1(dir, "session.id"), sessionId);
|
|
5785
5856
|
}
|
|
5786
5857
|
/**
|
|
5787
5858
|
* Get saved Claude session ID
|
|
5788
5859
|
*/
|
|
5789
5860
|
function getSessionId(agentId) {
|
|
5790
|
-
const sessionFile = join(getAgentDir(agentId), "session.id");
|
|
5861
|
+
const sessionFile = join$1(getAgentDir(agentId), "session.id");
|
|
5791
5862
|
if (!existsSync(sessionFile)) return null;
|
|
5792
5863
|
try {
|
|
5793
5864
|
return readFileSync(sessionFile, "utf8").trim();
|
|
@@ -5804,10 +5875,10 @@ function getSessionId(agentId) {
|
|
|
5804
5875
|
*/
|
|
5805
5876
|
function resolveCodexThreadIdSync(agentId) {
|
|
5806
5877
|
const agentDir = getAgentDir(agentId);
|
|
5807
|
-
const codexHome = join(agentDir, "codex-home");
|
|
5878
|
+
const codexHome = join$1(agentDir, "codex-home");
|
|
5808
5879
|
if (!existsSync(codexHome)) return null;
|
|
5809
5880
|
try {
|
|
5810
|
-
const threadIdPath = join(agentDir, "codex-thread-id");
|
|
5881
|
+
const threadIdPath = join$1(agentDir, "codex-thread-id");
|
|
5811
5882
|
if (existsSync(threadIdPath)) {
|
|
5812
5883
|
const id = readFileSync(threadIdPath, "utf-8").trim();
|
|
5813
5884
|
if (id) return id;
|
|
@@ -5834,10 +5905,10 @@ function pickFreshestExistingSessionIdSync(agentId, candidates) {
|
|
|
5834
5905
|
if (valid.length === 0) return null;
|
|
5835
5906
|
const workspace = getAgentStateSync(agentId)?.workspace;
|
|
5836
5907
|
if (workspace) {
|
|
5837
|
-
const projectDir = join(homedir(), ".claude", "projects", encodeClaudeProjectDir(workspace));
|
|
5908
|
+
const projectDir = join$1(homedir(), ".claude", "projects", encodeClaudeProjectDir(workspace));
|
|
5838
5909
|
let best = null;
|
|
5839
5910
|
for (const id of valid) try {
|
|
5840
|
-
const s = statSync(join(projectDir, `${id}.jsonl`));
|
|
5911
|
+
const s = statSync(join$1(projectDir, `${id}.jsonl`));
|
|
5841
5912
|
if (!best || s.mtimeMs > best.mtimeMs) best = {
|
|
5842
5913
|
id,
|
|
5843
5914
|
mtimeMs: s.mtimeMs
|
|
@@ -5852,7 +5923,7 @@ function getLatestSessionIdSync(agentId) {
|
|
|
5852
5923
|
if (codexThreadId) return codexThreadId;
|
|
5853
5924
|
const fromSessionFile = getSessionId(agentId);
|
|
5854
5925
|
if (fromSessionFile) return fromSessionFile;
|
|
5855
|
-
const sessionsFile = join(getAgentDir(agentId), "sessions.json");
|
|
5926
|
+
const sessionsFile = join$1(getAgentDir(agentId), "sessions.json");
|
|
5856
5927
|
try {
|
|
5857
5928
|
if (existsSync(sessionsFile)) {
|
|
5858
5929
|
const sessions = JSON.parse(readFileSync(sessionsFile, "utf8"));
|
|
@@ -5864,7 +5935,7 @@ function getLatestSessionIdSync(agentId) {
|
|
|
5864
5935
|
} catch {}
|
|
5865
5936
|
const runtimeState = getAgentRuntimeStateSync(agentId);
|
|
5866
5937
|
if (runtimeState?.claudeSessionId) return runtimeState.claudeSessionId;
|
|
5867
|
-
const codexThreadIdPath = join(getAgentDir(agentId), "codex-thread-id");
|
|
5938
|
+
const codexThreadIdPath = join$1(getAgentDir(agentId), "codex-thread-id");
|
|
5868
5939
|
try {
|
|
5869
5940
|
if (existsSync(codexThreadIdPath)) {
|
|
5870
5941
|
const threadId = readFileSync(codexThreadIdPath, "utf-8").trim();
|
|
@@ -5888,8 +5959,8 @@ var init_activity = __esmMin((() => {
|
|
|
5888
5959
|
init_errors();
|
|
5889
5960
|
getLatestSessionId = (agentId) => {
|
|
5890
5961
|
const agentDir = getAgentDir(agentId);
|
|
5891
|
-
const sessionFile = join(agentDir, "session.id");
|
|
5892
|
-
const sessionsFile = join(agentDir, "sessions.json");
|
|
5962
|
+
const sessionFile = join$1(agentDir, "session.id");
|
|
5963
|
+
const sessionsFile = join$1(agentDir, "sessions.json");
|
|
5893
5964
|
return Effect.gen(function* () {
|
|
5894
5965
|
const sessionId = yield* Effect.tryPromise({
|
|
5895
5966
|
try: () => readFile$1(sessionFile, "utf8"),
|
|
@@ -5947,9 +6018,9 @@ var init_session_rotation = __esmMin((() => {}));
|
|
|
5947
6018
|
//#endregion
|
|
5948
6019
|
//#region ../../lib/agents/messaging.ts
|
|
5949
6020
|
function queueAgentMail(agentId, message) {
|
|
5950
|
-
const mailDir = join(getAgentDir(agentId), "mail");
|
|
6021
|
+
const mailDir = join$1(getAgentDir(agentId), "mail");
|
|
5951
6022
|
mkdirSync(mailDir, { recursive: true });
|
|
5952
|
-
writeFileSync(join(mailDir, `${(/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, "-")}.md`), `# Message\n\n${message}\n`);
|
|
6023
|
+
writeFileSync(join$1(mailDir, `${(/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, "-")}.md`), `# Message\n\n${message}\n`);
|
|
5953
6024
|
}
|
|
5954
6025
|
async function appendTellInterventionForUserSource(normalizedId, caller) {
|
|
5955
6026
|
if (!USER_MESSAGE_INTERVENTION_SOURCES.has(caller)) return;
|
|
@@ -5983,7 +6054,7 @@ async function messageAgent(agentId, message, caller = "internal") {
|
|
|
5983
6054
|
return;
|
|
5984
6055
|
}
|
|
5985
6056
|
console.log(`[agents] Auto-resuming suspended agent ${normalizedId} to deliver message`);
|
|
5986
|
-
const { resumeAgent } = await import("./agents-
|
|
6057
|
+
const { resumeAgent } = await import("./agents-C4kZ8a2r.js");
|
|
5987
6058
|
const result = await resumeAgent(normalizedId, message);
|
|
5988
6059
|
if (!result.success) throw new Error(`Failed to auto-resume agent: ${result.error}`);
|
|
5989
6060
|
if (result.messageDelivered === false) throw new Error(`Agent resumed but ready signal did not fire — message not delivered. Feedback is in the mail queue.`);
|
|
@@ -5999,7 +6070,7 @@ async function messageAgent(agentId, message, caller = "internal") {
|
|
|
5999
6070
|
return;
|
|
6000
6071
|
}
|
|
6001
6072
|
console.log(`[agents] Auto-resuming stopped agent ${normalizedId} to deliver feedback (session exists: ${await Effect.runPromise(sessionExists(normalizedId))})`);
|
|
6002
|
-
const { resumeAgent } = await import("./agents-
|
|
6073
|
+
const { resumeAgent } = await import("./agents-C4kZ8a2r.js");
|
|
6003
6074
|
const resumeResult = await resumeAgent(normalizedId, message);
|
|
6004
6075
|
queueAgentMail(normalizedId, message);
|
|
6005
6076
|
if (resumeResult.success && resumeResult.messageDelivered !== false) {
|
|
@@ -6031,11 +6102,11 @@ async function messageAgent(agentId, message, caller = "internal") {
|
|
|
6031
6102
|
await Effect.runPromise(killSession(normalizedId));
|
|
6032
6103
|
} catch {}
|
|
6033
6104
|
const providerExports = await getProviderExportsForModel(agentState.model || "claude-sonnet-4-6");
|
|
6034
|
-
const fallbackLauncher = join(getAgentDir(normalizedId), "launcher.sh");
|
|
6105
|
+
const fallbackLauncher = join$1(getAgentDir(normalizedId), "launcher.sh");
|
|
6035
6106
|
const resumeRole = agentState.role ?? "work";
|
|
6036
6107
|
const resumeModel = agentState.model || "claude-sonnet-4-6";
|
|
6037
6108
|
const fallbackHarness = agentState.harness ?? "claude-code";
|
|
6038
|
-
const { assertWorkspaceStackHealthyForSpawn } = await import("./agents-
|
|
6109
|
+
const { assertWorkspaceStackHealthyForSpawn } = await import("./agents-C4kZ8a2r.js");
|
|
6039
6110
|
await assertWorkspaceStackHealthyForSpawn(agentState.issueId || normalizedId.replace(/^agent-/, "").toUpperCase(), resumeRole, agentState.hostOverride === true, agentState.workspace);
|
|
6040
6111
|
const fallbackPiFields = fallbackHarness === "ohmypi" ? await getOhmypiLauncherFields(normalizedId, resumeModel) : {};
|
|
6041
6112
|
const fallbackCodexFields = fallbackHarness === "codex" ? getCodexLauncherFields(normalizedId, resumeModel, agentState.workspace) : {};
|
|
@@ -6098,7 +6169,7 @@ async function messageAgent(agentId, message, caller = "internal") {
|
|
|
6098
6169
|
} else console.warn(`[agents] Fallback-restarted ${normalizedId} but ready signal not detected — feedback in mail queue`);
|
|
6099
6170
|
return;
|
|
6100
6171
|
}
|
|
6101
|
-
const { loadRemoteAgentState, sendToRemoteAgent } = await import("./remote-agents-
|
|
6172
|
+
const { loadRemoteAgentState, sendToRemoteAgent } = await import("./remote-agents-UHoi4oGr.js");
|
|
6102
6173
|
const remoteState = loadRemoteAgentState(normalizedId);
|
|
6103
6174
|
if (remoteState && remoteState.vmName) {
|
|
6104
6175
|
console.log(`[agents] Sending message to remote agent ${normalizedId} on ${remoteState.vmName}`);
|
|
@@ -6112,7 +6183,7 @@ async function messageAgent(agentId, message, caller = "internal") {
|
|
|
6112
6183
|
const expectedHarness = agentState?.harness ?? "claude-code";
|
|
6113
6184
|
if (panePids.length > 0 && !await hasAgentRuntimeInSubtree(panePids[0], expectedHarness)) {
|
|
6114
6185
|
console.warn(`[agents] ${normalizedId} tmux session is a zombie (no ${expectedHarness} runtime) — attempting resume`);
|
|
6115
|
-
const { resumeAgent } = await import("./agents-
|
|
6186
|
+
const { resumeAgent } = await import("./agents-C4kZ8a2r.js");
|
|
6116
6187
|
const resumeResult = await resumeAgent(normalizedId, message);
|
|
6117
6188
|
if (resumeResult.success) {
|
|
6118
6189
|
if (resumeResult.messageDelivered !== false) await appendTellInterventionForUserSource(normalizedId, caller);
|
|
@@ -6224,7 +6295,7 @@ async function buildCompactRecoverySeed(agentId) {
|
|
|
6224
6295
|
if (agentState?.workspace && sessionId) {
|
|
6225
6296
|
const sessionFile = sessionFilePath(agentState.workspace, sessionId);
|
|
6226
6297
|
try {
|
|
6227
|
-
const [{ getConversationCompactionSettings }, { generateSmartSummary }] = await Promise.all([import("./conversation-compaction-
|
|
6298
|
+
const [{ getConversationCompactionSettings }, { generateSmartSummary }] = await Promise.all([import("./conversation-compaction-CZRVk4hg.js"), import("./smart-compaction-xblMyVpT.js")]);
|
|
6228
6299
|
const settings = getConversationCompactionSettings();
|
|
6229
6300
|
summary = (await Effect.runPromise(generateSmartSummary({
|
|
6230
6301
|
jsonlPath: sessionFile,
|
|
@@ -6235,7 +6306,7 @@ async function buildCompactRecoverySeed(agentId) {
|
|
|
6235
6306
|
} catch (err) {
|
|
6236
6307
|
logAgentLifecycleSync(normalizedId, `compact-recovery smart summary failed (${err instanceof Error ? err.message : String(err)}); trying heuristic fallback`);
|
|
6237
6308
|
try {
|
|
6238
|
-
const { generateFallbackSummary } = await import("./summary-fork-
|
|
6309
|
+
const { generateFallbackSummary } = await import("./summary-fork-EWWBvzgE.js");
|
|
6239
6310
|
summary = await Effect.runPromise(generateFallbackSummary(sessionFile));
|
|
6240
6311
|
} catch (fallbackErr) {
|
|
6241
6312
|
logAgentLifecycleSync(normalizedId, `compact-recovery fallback summary failed (${fallbackErr instanceof Error ? fallbackErr.message : String(fallbackErr)}); seeding with reseed instructions only`);
|
|
@@ -6320,7 +6391,7 @@ async function resumeAgent(agentId, message, opts) {
|
|
|
6320
6391
|
if (await Effect.runPromise(sessionExists(normalizedId))) try {
|
|
6321
6392
|
await Effect.runPromise(killSession(normalizedId));
|
|
6322
6393
|
} catch {}
|
|
6323
|
-
const completedFile = join(getAgentDir(normalizedId), "completed");
|
|
6394
|
+
const completedFile = join$1(getAgentDir(normalizedId), "completed");
|
|
6324
6395
|
if (existsSync(completedFile)) try {
|
|
6325
6396
|
unlinkSync(completedFile);
|
|
6326
6397
|
} catch {}
|
|
@@ -6382,7 +6453,7 @@ async function resumeAgent(agentId, message, opts) {
|
|
|
6382
6453
|
if (resumeDriftReasons.length > 0) logAgentLifecycleSync(normalizedId, `resumeAgent: starting fresh session instead of --resume because session origin drifted (${resumeDriftReasons.join(", ")})`);
|
|
6383
6454
|
if (freshSessionId) saveSessionId(normalizedId, freshSessionId);
|
|
6384
6455
|
else if (!shouldResumeSavedSession) try {
|
|
6385
|
-
unlinkSync(join(getAgentDir(normalizedId), "session.id"));
|
|
6456
|
+
unlinkSync(join$1(getAgentDir(normalizedId), "session.id"));
|
|
6386
6457
|
} catch {}
|
|
6387
6458
|
const issueId = agentState.issueId || normalizedId.replace(/^agent-/, "").toUpperCase();
|
|
6388
6459
|
const defaultResumeMessage = buildDefaultResumeContinueMessage(issueId);
|
|
@@ -6422,7 +6493,7 @@ async function resumeAgent(agentId, message, opts) {
|
|
|
6422
6493
|
useSupervisor: supervisorLaunch.useSupervisor,
|
|
6423
6494
|
supervisorScriptPath: supervisorLaunch.supervisorScriptPath
|
|
6424
6495
|
});
|
|
6425
|
-
const launcherScript = join(getAgentDir(normalizedId), "launcher.sh");
|
|
6496
|
+
const launcherScript = join$1(getAgentDir(normalizedId), "launcher.sh");
|
|
6426
6497
|
await writeLauncherScriptAtomic(launcherScript, launcherContent);
|
|
6427
6498
|
const claudeCmd = `bash ${launcherScript}`;
|
|
6428
6499
|
await Effect.runPromise(createSession(normalizedId, agentState.workspace, claudeCmd, { env: {
|
|
@@ -6571,7 +6642,7 @@ async function sendGracefulRestartWarning(agentId, harness, workspace) {
|
|
|
6571
6642
|
await Effect.runPromise(sendKeys(agentId, warning));
|
|
6572
6643
|
} catch {}
|
|
6573
6644
|
await new Promise((r) => setTimeout(r, GRACEFUL_RESTART_GRACE_MS));
|
|
6574
|
-
const continueFile = join(workspace, ".pan", "continue.json");
|
|
6645
|
+
const continueFile = join$1(workspace, ".pan", "continue.json");
|
|
6575
6646
|
if (existsSync(continueFile)) {
|
|
6576
6647
|
const mtime = statSync(continueFile).mtimeMs;
|
|
6577
6648
|
const ageMs = Date.now() - mtime;
|
|
@@ -6645,7 +6716,7 @@ async function restartAgent(agentId, opts = {}) {
|
|
|
6645
6716
|
useSupervisor: supervisorLaunch.useSupervisor,
|
|
6646
6717
|
supervisorScriptPath: supervisorLaunch.supervisorScriptPath
|
|
6647
6718
|
});
|
|
6648
|
-
const launcherScript = join(getAgentDir(normalizedId), "launcher.sh");
|
|
6719
|
+
const launcherScript = join$1(getAgentDir(normalizedId), "launcher.sh");
|
|
6649
6720
|
await writeLauncherScriptAtomic(launcherScript, launcherContent);
|
|
6650
6721
|
const claudeCmd = `bash ${launcherScript}`;
|
|
6651
6722
|
await Effect.runPromise(createSession(normalizedId, agentState.workspace, claudeCmd, { env: {
|
|
@@ -6749,7 +6820,7 @@ async function recoverAgent(agentId, opts = {}) {
|
|
|
6749
6820
|
killSessionSync(normalizedId);
|
|
6750
6821
|
} catch {}
|
|
6751
6822
|
}
|
|
6752
|
-
const healthFile = join(getAgentDir(normalizedId), "health.json");
|
|
6823
|
+
const healthFile = join$1(getAgentDir(normalizedId), "health.json");
|
|
6753
6824
|
let health = {
|
|
6754
6825
|
consecutiveFailures: 0,
|
|
6755
6826
|
killCount: 0,
|
|
@@ -6782,7 +6853,7 @@ async function recoverAgent(agentId, opts = {}) {
|
|
|
6782
6853
|
isPlanning: recoveryRole === "plan",
|
|
6783
6854
|
harness: "ohmypi"
|
|
6784
6855
|
});
|
|
6785
|
-
const launcherScript = join(getAgentDir(normalizedId), "launcher.sh");
|
|
6856
|
+
const launcherScript = join$1(getAgentDir(normalizedId), "launcher.sh");
|
|
6786
6857
|
await writeLauncherScriptAtomic(launcherScript, launcherContent);
|
|
6787
6858
|
await Effect.runPromise(createSession(normalizedId, state.workspace, `bash ${launcherScript}`, { env: {
|
|
6788
6859
|
...BLANKED_PROVIDER_ENV,
|
|
@@ -6817,7 +6888,7 @@ async function recoverAgent(agentId, opts = {}) {
|
|
|
6817
6888
|
supervisorScriptPath: recoverySupervisorLaunch.supervisorScriptPath,
|
|
6818
6889
|
...recoveryCodexFields
|
|
6819
6890
|
});
|
|
6820
|
-
const launcherScript = join(getAgentDir(normalizedId), "launcher.sh");
|
|
6891
|
+
const launcherScript = join$1(getAgentDir(normalizedId), "launcher.sh");
|
|
6821
6892
|
await writeLauncherScriptAtomic(launcherScript, recoveryLauncherContent);
|
|
6822
6893
|
createSessionSync(normalizedId, state.workspace, `bash ${launcherScript}`, { env: {
|
|
6823
6894
|
...BLANKED_PROVIDER_ENV,
|
|
@@ -7429,7 +7500,7 @@ function extractTracedFrText(prdMarkdown, traces) {
|
|
|
7429
7500
|
*/
|
|
7430
7501
|
async function loadPrdDraft(projectRoot, issueId) {
|
|
7431
7502
|
for (const name of [`${issueId.toUpperCase()}.md`, `${issueId.toLowerCase()}.md`]) try {
|
|
7432
|
-
return await readFile(join
|
|
7503
|
+
return await readFile(join(projectRoot, ".pan", "drafts", name), "utf-8");
|
|
7433
7504
|
} catch {}
|
|
7434
7505
|
}
|
|
7435
7506
|
/**
|
|
@@ -7777,6 +7848,6 @@ var init_agents = __esmMin((() => {
|
|
|
7777
7848
|
init_tier_replay();
|
|
7778
7849
|
}));
|
|
7779
7850
|
//#endregion
|
|
7780
|
-
export { warnOnBareNumericIssueIds as $, writeAgentStateJsonSync as $n, waitForPromptReady as $t, init_messaging as A, getAgentDir as An, init_bridge_token as At, createOhmypiRuntimeSync as B, markAgentRunningState as Bn, resolveStaffing as Bt, restartAgent as C, __testInternals as Cn, deliverAgentPermissionDecision as Ct, init_context_overflow as D, clearAgentTroubledSync as Dn, captureTranscriptUserRecordSnapshot as Dt, resumeAgent as E, clearAgentTroubled as En, setAgentDeliveryMethod as Et, getActivity as F, init_agent_state as Fn, init_spawn_prep as Ft, init_termination as G, recordStartupSessionExit as Gn, getAgentRuntimeBaseCommand as Gt, init_spawn as H, markAgentTroubled as Hn, resolveTier as Ht, getLatestSessionId as I, isAgentPaused as In, retrieveSpawnTimeMemoryContext as It, dropLegacyAgentStatesMissingRoleAsync as J, saveAgentStateSync as Jn, getProviderAuthMode as Jt, stopAgent as K, resetAgentFailureCount as Kn, getCodexLauncherFields as Kt, getLatestSessionIdSync as L, isAgentTroubled as Ln, transitionIssueToInProgress as Lt, init_operator_interventions as M, getAgentState as Mn, assertWorkspaceStackHealthyForSpawn as Mt, operatorInterventionEvent as N, getAgentStateFilePath as Nn, buildAgentLaunchConfig as Nt, isContextOverflowError as O, clearYieldForResumeSync as On, init_transcript_landing as Ot, appendActivity as P, getAgentStateSync as Pn, defaultRunWorkspace as Pt, listRunningAgentsSync as Q, wipeAgentStateDirs as Qn, roleAgentDefinitionPath as Qt, getSessionId as R, isRole as Rn, transitionIssueToInReview as Rt, recoverAgent as S, SESSION_EXITED_BEFORE_KICKOFF as Sn, deliverAgentMessage as St, init_resume as T, clearAgentPausedSync as Tn, deliverResumeMessageWithTranscriptConfirmation as Tt, spawnAgent as U, recordAgentFailure as Un, OHMYPI_AGENT_READY_TIMEOUT_SECONDS as Ut, init_ohmypi as V, markAgentStoppedState as Vn, init_resolve_tier as Vt, spawnRun as W, recordAgentFailureSync as Wn, describeOhmypiSpawnFailure as Wt, listAgentStates as X, setAgentPausedSync as Xn, init_runtime_command as Xt, init_queries as Y, setAgentPaused as Yn, getRoleRuntimeBaseCommand as Yt, listRunningAgents as Z, setAgentYieldedSync as Zn, injectPiConversationMemory as Zt, init_slot_reconcile as _, decideChannelsForWorkAgent as _n,
|
|
7851
|
+
export { warnOnBareNumericIssueIds as $, writeAgentStateJsonSync as $n, waitForPromptReady as $t, init_messaging as A, getAgentDir as An, init_bridge_token as At, createOhmypiRuntimeSync as B, markAgentRunningState as Bn, resolveStaffing as Bt, restartAgent as C, __testInternals as Cn, deliverAgentPermissionDecision as Ct, init_context_overflow as D, clearAgentTroubledSync as Dn, captureTranscriptUserRecordSnapshot as Dt, resumeAgent as E, clearAgentTroubled as En, setAgentDeliveryMethod as Et, getActivity as F, init_agent_state as Fn, init_spawn_prep as Ft, init_termination as G, recordStartupSessionExit as Gn, getAgentRuntimeBaseCommand as Gt, init_spawn as H, markAgentTroubled as Hn, resolveTier as Ht, getLatestSessionId as I, isAgentPaused as In, retrieveSpawnTimeMemoryContext as It, dropLegacyAgentStatesMissingRoleAsync as J, saveAgentStateSync as Jn, getProviderAuthMode as Jt, stopAgent as K, resetAgentFailureCount as Kn, getCodexLauncherFields as Kt, getLatestSessionIdSync as L, isAgentTroubled as Ln, transitionIssueToInProgress as Lt, init_operator_interventions as M, getAgentState as Mn, assertWorkspaceStackHealthyForSpawn as Mt, operatorInterventionEvent as N, getAgentStateFilePath as Nn, buildAgentLaunchConfig as Nt, isContextOverflowError as O, clearYieldForResumeSync as On, init_transcript_landing as Ot, appendActivity as P, getAgentStateSync as Pn, defaultRunWorkspace as Pt, listRunningAgentsSync as Q, wipeAgentStateDirs as Qn, roleAgentDefinitionPath as Qt, getSessionId as R, isRole as Rn, transitionIssueToInReview as Rt, recoverAgent as S, SESSION_EXITED_BEFORE_KICKOFF as Sn, parseOhmypiSessionCostResultSync as Sr, deliverAgentMessage as St, init_resume as T, clearAgentPausedSync as Tn, deliverResumeMessageWithTranscriptConfirmation as Tt, spawnAgent as U, recordAgentFailure as Un, OHMYPI_AGENT_READY_TIMEOUT_SECONDS as Ut, init_ohmypi as V, markAgentStoppedState as Vn, init_resolve_tier as Vt, spawnRun as W, recordAgentFailureSync as Wn, describeOhmypiSpawnFailure as Wt, listAgentStates as X, setAgentPausedSync as Xn, init_runtime_command as Xt, init_queries as Y, setAgentPaused as Yn, getRoleRuntimeBaseCommand as Yt, listRunningAgents as Z, setAgentYieldedSync as Zn, injectPiConversationMemory as Zt, init_slot_reconcile as _, decideChannelsForWorkAgent as _n, init_runtime_state as _r, init_config as _t, replayStandingAgent as a, init_claude_auth as an, init_pty_token as ar, init_concurrency as at, autoRecoverAgents as b, writeChannelsBridgeMcpConfig as bn, init_agent_runtime as br, saveCloisterConfigSync as bt, init_tier_supervisor as c, determineModel as cn, resolvePtySupervisorScriptPath as cr, resetPatrolDispatchBudget as ct, spawnTierSupervisor as d, getProviderTmuxFlags as dn, normalizeAgentId as dr, workResumeSlotsAvailable as dt, init_pi_fifo as en, init_persistent_logger as er, countRunningAgents as et, supervisorAgentId as f, init_provider_health as fn, resolveAgentTargetSync as fr, getCachedMemoryVerdict as ft, init_tier_escalation as g, buildDefaultResumeContinueMessage as gn, getAgentRuntimeStateSync as gr, getHealthThresholdsMs as gt, decideEscalation as h, init_openai_auth as hn, getAgentRuntimeState as hr, DEFAULT_CLOISTER_CONFIG as ht, replayCrashedStandingAgent as i, getClaudeAuthStatus as in, readAgentHarnessModelRecordSync as ir, getConcurrencyLimits as it, messageAgent as j, getAgentResumeGateBlockReason as jn, writeBridgeTokenSync as jt, isContextOverflowTail as k, decideResumeGate as kn, probeTranscriptSince as kt, loadPrdDraft as l, getProviderEnvForModel as ln, clearReadySignal as lr, tryReserveAdvancingSlot as lt, init_tier_feed as m, getOpenAIAuthStatus as mn, waitForReadySignal as mr, setCachedMemoryVerdict as mt, compactAtTierRunBoundary as n, init_ohmypi_fifo as nn, logDeaconEventSync as nr, describeRunningAgents as nt, shouldReplayCompactAtTierRunBoundary as o, buildCavemanExports as on, writePtyToken as or, releaseAdvancingSlot as ot, broadcastCommit as p, validateProviderHealth as pn, waitForAgentIdle as pr, init_memory_verdict_cache as pt, stopAgentSync as q, saveAgentState as qn, getOhmypiLauncherFields as qt, contextWindowForModel as r, ohmypiFifoPaths as rn, init_agent_record_sync as rr, emergencyBrake as rt, deliverCommitForReview as s, buildSpawnEnvForModel as sn, init_pty_supervisor_locate as sr, releaseSwarmSlot as st, init_agents as t, piFifoPaths as tn, logAgentLifecycleSync as tr, countRunningSwarmSlotsForIssue as tt, shouldSupervise as u, getProviderExportsForModel as un, isQualifiedAgentId as ur, tryReserveSwarmSlot as ut, listSlotAssignments as v, decideSupervisorForWorkAgent as vn, saveAgentRuntimeState as vr, loadCloisterConfig as vt, buildCompactRecoverySeed as w, clearAgentPaused as wn, deliverInitialPromptWithRetry as wt, detectCrashedAgents as x, GOVERNOR_SLOT_PAUSE_REASON_PREFIX as xn, init_ohmypi_parser as xr, shouldAutoStart as xt, reconcileSlotState as y, dismissDevChannelsDialog as yn, getAgentRuntimeSnapshot as yr, loadCloisterConfigSync as yt, saveSessionId as z, markAgentRunning as zn, init_staffing as zt };
|
|
7781
7852
|
|
|
7782
|
-
//# sourceMappingURL=agents-
|
|
7853
|
+
//# sourceMappingURL=agents-B5LfpLPv.js.map
|