@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
|
@@ -0,0 +1,852 @@
|
|
|
1
|
+
// Copyright (c) 2011-2015 Ryan Prichard
|
|
2
|
+
//
|
|
3
|
+
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
4
|
+
// of this software and associated documentation files (the "Software"), to
|
|
5
|
+
// deal in the Software without restriction, including without limitation the
|
|
6
|
+
// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
|
7
|
+
// sell copies of the Software, and to permit persons to whom the Software is
|
|
8
|
+
// furnished to do so, subject to the following conditions:
|
|
9
|
+
//
|
|
10
|
+
// The above copyright notice and this permission notice shall be included in
|
|
11
|
+
// all copies or substantial portions of the Software.
|
|
12
|
+
//
|
|
13
|
+
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
14
|
+
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
15
|
+
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
16
|
+
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
17
|
+
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
18
|
+
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
|
19
|
+
// IN THE SOFTWARE.
|
|
20
|
+
|
|
21
|
+
#include "ConsoleInput.h"
|
|
22
|
+
|
|
23
|
+
#include <stdio.h>
|
|
24
|
+
#include <string.h>
|
|
25
|
+
|
|
26
|
+
#include <algorithm>
|
|
27
|
+
#include <string>
|
|
28
|
+
|
|
29
|
+
#include "../include/winpty_constants.h"
|
|
30
|
+
|
|
31
|
+
#include "../shared/DebugClient.h"
|
|
32
|
+
#include "../shared/StringBuilder.h"
|
|
33
|
+
#include "../shared/UnixCtrlChars.h"
|
|
34
|
+
|
|
35
|
+
#include "ConsoleInputReencoding.h"
|
|
36
|
+
#include "DebugShowInput.h"
|
|
37
|
+
#include "DefaultInputMap.h"
|
|
38
|
+
#include "DsrSender.h"
|
|
39
|
+
#include "UnicodeEncoding.h"
|
|
40
|
+
#include "Win32Console.h"
|
|
41
|
+
|
|
42
|
+
// MAPVK_VK_TO_VSC isn't defined by the old MinGW.
|
|
43
|
+
#ifndef MAPVK_VK_TO_VSC
|
|
44
|
+
#define MAPVK_VK_TO_VSC 0
|
|
45
|
+
#endif
|
|
46
|
+
|
|
47
|
+
namespace {
|
|
48
|
+
|
|
49
|
+
struct MouseRecord {
|
|
50
|
+
bool release;
|
|
51
|
+
int flags;
|
|
52
|
+
COORD coord;
|
|
53
|
+
|
|
54
|
+
std::string toString() const;
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
std::string MouseRecord::toString() const {
|
|
58
|
+
StringBuilder sb(40);
|
|
59
|
+
sb << "pos=" << coord.X << ',' << coord.Y
|
|
60
|
+
<< " flags=0x" << hexOfInt(flags);
|
|
61
|
+
if (release) {
|
|
62
|
+
sb << " release";
|
|
63
|
+
}
|
|
64
|
+
return sb.str_moved();
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
const unsigned int kIncompleteEscapeTimeoutMs = 1000u;
|
|
68
|
+
|
|
69
|
+
#define CHECK(cond) \
|
|
70
|
+
do { \
|
|
71
|
+
if (!(cond)) { return 0; } \
|
|
72
|
+
} while(0)
|
|
73
|
+
|
|
74
|
+
#define ADVANCE() \
|
|
75
|
+
do { \
|
|
76
|
+
pch++; \
|
|
77
|
+
if (pch == stop) { return -1; } \
|
|
78
|
+
} while(0)
|
|
79
|
+
|
|
80
|
+
#define SCAN_INT(out, maxLen) \
|
|
81
|
+
do { \
|
|
82
|
+
(out) = 0; \
|
|
83
|
+
CHECK(isdigit(*pch)); \
|
|
84
|
+
const char *begin = pch; \
|
|
85
|
+
do { \
|
|
86
|
+
CHECK(pch - begin + 1 < maxLen); \
|
|
87
|
+
(out) = (out) * 10 + *pch - '0'; \
|
|
88
|
+
ADVANCE(); \
|
|
89
|
+
} while (isdigit(*pch)); \
|
|
90
|
+
} while(0)
|
|
91
|
+
|
|
92
|
+
#define SCAN_SIGNED_INT(out, maxLen) \
|
|
93
|
+
do { \
|
|
94
|
+
bool negative = false; \
|
|
95
|
+
if (*pch == '-') { \
|
|
96
|
+
negative = true; \
|
|
97
|
+
ADVANCE(); \
|
|
98
|
+
} \
|
|
99
|
+
SCAN_INT(out, maxLen); \
|
|
100
|
+
if (negative) { \
|
|
101
|
+
(out) = -(out); \
|
|
102
|
+
} \
|
|
103
|
+
} while(0)
|
|
104
|
+
|
|
105
|
+
// Match the Device Status Report console input: ESC [ nn ; mm R
|
|
106
|
+
// Returns:
|
|
107
|
+
// 0 no match
|
|
108
|
+
// >0 match, returns length of match
|
|
109
|
+
// -1 incomplete match
|
|
110
|
+
static int matchDsr(const char *input, int inputSize)
|
|
111
|
+
{
|
|
112
|
+
int32_t dummy = 0;
|
|
113
|
+
const char *pch = input;
|
|
114
|
+
const char *stop = input + inputSize;
|
|
115
|
+
CHECK(*pch == '\x1B'); ADVANCE();
|
|
116
|
+
CHECK(*pch == '['); ADVANCE();
|
|
117
|
+
SCAN_INT(dummy, 8);
|
|
118
|
+
CHECK(*pch == ';'); ADVANCE();
|
|
119
|
+
SCAN_INT(dummy, 8);
|
|
120
|
+
CHECK(*pch == 'R');
|
|
121
|
+
return pch - input + 1;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
static int matchMouseDefault(const char *input, int inputSize,
|
|
125
|
+
MouseRecord &out)
|
|
126
|
+
{
|
|
127
|
+
const char *pch = input;
|
|
128
|
+
const char *stop = input + inputSize;
|
|
129
|
+
CHECK(*pch == '\x1B'); ADVANCE();
|
|
130
|
+
CHECK(*pch == '['); ADVANCE();
|
|
131
|
+
CHECK(*pch == 'M'); ADVANCE();
|
|
132
|
+
out.flags = (*pch - 32) & 0xFF; ADVANCE();
|
|
133
|
+
out.coord.X = (*pch - '!') & 0xFF;
|
|
134
|
+
ADVANCE();
|
|
135
|
+
out.coord.Y = (*pch - '!') & 0xFF;
|
|
136
|
+
out.release = false;
|
|
137
|
+
return pch - input + 1;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
static int matchMouse1006(const char *input, int inputSize, MouseRecord &out)
|
|
141
|
+
{
|
|
142
|
+
const char *pch = input;
|
|
143
|
+
const char *stop = input + inputSize;
|
|
144
|
+
int32_t temp;
|
|
145
|
+
CHECK(*pch == '\x1B'); ADVANCE();
|
|
146
|
+
CHECK(*pch == '['); ADVANCE();
|
|
147
|
+
CHECK(*pch == '<'); ADVANCE();
|
|
148
|
+
SCAN_INT(out.flags, 8);
|
|
149
|
+
CHECK(*pch == ';'); ADVANCE();
|
|
150
|
+
SCAN_SIGNED_INT(temp, 8); out.coord.X = temp - 1;
|
|
151
|
+
CHECK(*pch == ';'); ADVANCE();
|
|
152
|
+
SCAN_SIGNED_INT(temp, 8); out.coord.Y = temp - 1;
|
|
153
|
+
CHECK(*pch == 'M' || *pch == 'm');
|
|
154
|
+
out.release = (*pch == 'm');
|
|
155
|
+
return pch - input + 1;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
static int matchMouse1015(const char *input, int inputSize, MouseRecord &out)
|
|
159
|
+
{
|
|
160
|
+
const char *pch = input;
|
|
161
|
+
const char *stop = input + inputSize;
|
|
162
|
+
int32_t temp;
|
|
163
|
+
CHECK(*pch == '\x1B'); ADVANCE();
|
|
164
|
+
CHECK(*pch == '['); ADVANCE();
|
|
165
|
+
SCAN_INT(out.flags, 8); out.flags -= 32;
|
|
166
|
+
CHECK(*pch == ';'); ADVANCE();
|
|
167
|
+
SCAN_SIGNED_INT(temp, 8); out.coord.X = temp - 1;
|
|
168
|
+
CHECK(*pch == ';'); ADVANCE();
|
|
169
|
+
SCAN_SIGNED_INT(temp, 8); out.coord.Y = temp - 1;
|
|
170
|
+
CHECK(*pch == 'M');
|
|
171
|
+
out.release = false;
|
|
172
|
+
return pch - input + 1;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
// Match a mouse input escape sequence of any kind.
|
|
176
|
+
// 0 no match
|
|
177
|
+
// >0 match, returns length of match
|
|
178
|
+
// -1 incomplete match
|
|
179
|
+
static int matchMouseRecord(const char *input, int inputSize, MouseRecord &out)
|
|
180
|
+
{
|
|
181
|
+
memset(&out, 0, sizeof(out));
|
|
182
|
+
int ret;
|
|
183
|
+
if ((ret = matchMouse1006(input, inputSize, out)) != 0) { return ret; }
|
|
184
|
+
if ((ret = matchMouse1015(input, inputSize, out)) != 0) { return ret; }
|
|
185
|
+
if ((ret = matchMouseDefault(input, inputSize, out)) != 0) { return ret; }
|
|
186
|
+
return 0;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
#undef CHECK
|
|
190
|
+
#undef ADVANCE
|
|
191
|
+
#undef SCAN_INT
|
|
192
|
+
|
|
193
|
+
} // anonymous namespace
|
|
194
|
+
|
|
195
|
+
ConsoleInput::ConsoleInput(HANDLE conin, int mouseMode, DsrSender &dsrSender,
|
|
196
|
+
Win32Console &console) :
|
|
197
|
+
m_console(console),
|
|
198
|
+
m_conin(conin),
|
|
199
|
+
m_mouseMode(mouseMode),
|
|
200
|
+
m_dsrSender(dsrSender)
|
|
201
|
+
{
|
|
202
|
+
addDefaultEntriesToInputMap(m_inputMap);
|
|
203
|
+
if (hasDebugFlag("dump_input_map")) {
|
|
204
|
+
m_inputMap.dumpInputMap();
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
// Configure Quick Edit mode according to the mouse mode. Enable
|
|
208
|
+
// InsertMode for two reasons:
|
|
209
|
+
// - If it's OFF, it's difficult for the user to turn it ON. The
|
|
210
|
+
// properties dialog is inaccesible. winpty still faithfully handles
|
|
211
|
+
// the Insert key, which toggles between the insertion and overwrite
|
|
212
|
+
// modes.
|
|
213
|
+
// - When we modify the QuickEdit setting, if ExtendedFlags is OFF,
|
|
214
|
+
// then we must choose the InsertMode setting. I don't *think* this
|
|
215
|
+
// case happens, though, because a new console always has ExtendedFlags
|
|
216
|
+
// ON.
|
|
217
|
+
// See misc/EnableExtendedFlags.txt.
|
|
218
|
+
DWORD mode = 0;
|
|
219
|
+
if (!GetConsoleMode(conin, &mode)) {
|
|
220
|
+
trace("Agent startup: GetConsoleMode failed");
|
|
221
|
+
} else {
|
|
222
|
+
mode |= ENABLE_EXTENDED_FLAGS;
|
|
223
|
+
mode |= ENABLE_INSERT_MODE;
|
|
224
|
+
if (m_mouseMode == WINPTY_MOUSE_MODE_AUTO) {
|
|
225
|
+
mode |= ENABLE_QUICK_EDIT_MODE;
|
|
226
|
+
} else {
|
|
227
|
+
mode &= ~ENABLE_QUICK_EDIT_MODE;
|
|
228
|
+
}
|
|
229
|
+
if (!SetConsoleMode(conin, mode)) {
|
|
230
|
+
trace("Agent startup: SetConsoleMode failed");
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
updateInputFlags(true);
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
void ConsoleInput::writeInput(const std::string &input)
|
|
238
|
+
{
|
|
239
|
+
if (input.size() == 0) {
|
|
240
|
+
return;
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
if (isTracingEnabled()) {
|
|
244
|
+
static bool debugInput = hasDebugFlag("input");
|
|
245
|
+
if (debugInput) {
|
|
246
|
+
std::string dumpString;
|
|
247
|
+
for (size_t i = 0; i < input.size(); ++i) {
|
|
248
|
+
const char ch = input[i];
|
|
249
|
+
const char ctrl = decodeUnixCtrlChar(ch);
|
|
250
|
+
if (ctrl != '\0') {
|
|
251
|
+
dumpString += '^';
|
|
252
|
+
dumpString += ctrl;
|
|
253
|
+
} else {
|
|
254
|
+
dumpString += ch;
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
dumpString += " (";
|
|
258
|
+
for (size_t i = 0; i < input.size(); ++i) {
|
|
259
|
+
if (i > 0) {
|
|
260
|
+
dumpString += ' ';
|
|
261
|
+
}
|
|
262
|
+
const unsigned char uch = input[i];
|
|
263
|
+
char buf[32];
|
|
264
|
+
winpty_snprintf(buf, "%02X", uch);
|
|
265
|
+
dumpString += buf;
|
|
266
|
+
}
|
|
267
|
+
dumpString += ')';
|
|
268
|
+
trace("input chars: %s", dumpString.c_str());
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
m_byteQueue.append(input);
|
|
273
|
+
doWrite(false);
|
|
274
|
+
if (!m_byteQueue.empty() && !m_dsrSent) {
|
|
275
|
+
trace("send DSR");
|
|
276
|
+
m_dsrSender.sendDsr();
|
|
277
|
+
m_dsrSent = true;
|
|
278
|
+
}
|
|
279
|
+
m_lastWriteTick = GetTickCount();
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
void ConsoleInput::flushIncompleteEscapeCode()
|
|
283
|
+
{
|
|
284
|
+
if (!m_byteQueue.empty() &&
|
|
285
|
+
(GetTickCount() - m_lastWriteTick) > kIncompleteEscapeTimeoutMs) {
|
|
286
|
+
doWrite(true);
|
|
287
|
+
m_byteQueue.clear();
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
void ConsoleInput::updateInputFlags(bool forceTrace)
|
|
292
|
+
{
|
|
293
|
+
const DWORD mode = inputConsoleMode();
|
|
294
|
+
const bool newFlagEE = (mode & ENABLE_EXTENDED_FLAGS) != 0;
|
|
295
|
+
const bool newFlagMI = (mode & ENABLE_MOUSE_INPUT) != 0;
|
|
296
|
+
const bool newFlagQE = (mode & ENABLE_QUICK_EDIT_MODE) != 0;
|
|
297
|
+
const bool newFlagEI = (mode & 0x200) != 0;
|
|
298
|
+
if (forceTrace ||
|
|
299
|
+
newFlagEE != m_enableExtendedEnabled ||
|
|
300
|
+
newFlagMI != m_mouseInputEnabled ||
|
|
301
|
+
newFlagQE != m_quickEditEnabled ||
|
|
302
|
+
newFlagEI != m_escapeInputEnabled) {
|
|
303
|
+
trace("CONIN modes: Extended=%s, MouseInput=%s QuickEdit=%s EscapeInput=%s",
|
|
304
|
+
newFlagEE ? "on" : "off",
|
|
305
|
+
newFlagMI ? "on" : "off",
|
|
306
|
+
newFlagQE ? "on" : "off",
|
|
307
|
+
newFlagEI ? "on" : "off");
|
|
308
|
+
}
|
|
309
|
+
m_enableExtendedEnabled = newFlagEE;
|
|
310
|
+
m_mouseInputEnabled = newFlagMI;
|
|
311
|
+
m_quickEditEnabled = newFlagQE;
|
|
312
|
+
m_escapeInputEnabled = newFlagEI;
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
bool ConsoleInput::shouldActivateTerminalMouse()
|
|
316
|
+
{
|
|
317
|
+
// Return whether the agent should activate the terminal's mouse mode.
|
|
318
|
+
if (m_mouseMode == WINPTY_MOUSE_MODE_AUTO) {
|
|
319
|
+
// Some programs (e.g. Cygwin command-line programs like bash.exe and
|
|
320
|
+
// python2.7.exe) turn off ENABLE_EXTENDED_FLAGS and turn on
|
|
321
|
+
// ENABLE_MOUSE_INPUT, but do not turn off QuickEdit mode and do not
|
|
322
|
+
// actually care about mouse input. Only enable the terminal mouse
|
|
323
|
+
// mode if ENABLE_EXTENDED_FLAGS is on. See
|
|
324
|
+
// misc/EnableExtendedFlags.txt.
|
|
325
|
+
return m_mouseInputEnabled && !m_quickEditEnabled &&
|
|
326
|
+
m_enableExtendedEnabled;
|
|
327
|
+
} else if (m_mouseMode == WINPTY_MOUSE_MODE_FORCE) {
|
|
328
|
+
return true;
|
|
329
|
+
} else {
|
|
330
|
+
return false;
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
void ConsoleInput::doWrite(bool isEof)
|
|
335
|
+
{
|
|
336
|
+
const char *data = m_byteQueue.c_str();
|
|
337
|
+
std::vector<INPUT_RECORD> records;
|
|
338
|
+
size_t idx = 0;
|
|
339
|
+
while (idx < m_byteQueue.size()) {
|
|
340
|
+
int charSize = scanInput(records, &data[idx], m_byteQueue.size() - idx, isEof);
|
|
341
|
+
if (charSize == -1)
|
|
342
|
+
break;
|
|
343
|
+
idx += charSize;
|
|
344
|
+
}
|
|
345
|
+
m_byteQueue.erase(0, idx);
|
|
346
|
+
flushInputRecords(records);
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
void ConsoleInput::flushInputRecords(std::vector<INPUT_RECORD> &records)
|
|
350
|
+
{
|
|
351
|
+
if (records.size() == 0) {
|
|
352
|
+
return;
|
|
353
|
+
}
|
|
354
|
+
DWORD actual = 0;
|
|
355
|
+
if (!WriteConsoleInputW(m_conin, records.data(), records.size(), &actual)) {
|
|
356
|
+
trace("WriteConsoleInputW failed");
|
|
357
|
+
}
|
|
358
|
+
records.clear();
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
// This behavior isn't strictly correct, because the keypresses (probably?)
|
|
362
|
+
// adopt the keyboard state (e.g. Ctrl/Alt/Shift modifiers) of the current
|
|
363
|
+
// window station's keyboard, which has no necessary relationship to the winpty
|
|
364
|
+
// instance. It's unlikely to be an issue in practice, but it's conceivable.
|
|
365
|
+
// (Imagine a foreground SSH server, where the local user holds down Ctrl,
|
|
366
|
+
// while the remote user tries to use WSL navigation keys.) I suspect using
|
|
367
|
+
// the BackgroundDesktop mechanism in winpty would fix the problem.
|
|
368
|
+
//
|
|
369
|
+
// https://github.com/rprichard/winpty/issues/116
|
|
370
|
+
static void sendKeyMessage(HWND hwnd, bool isKeyDown, uint16_t virtualKey)
|
|
371
|
+
{
|
|
372
|
+
uint32_t scanCode = MapVirtualKey(virtualKey, MAPVK_VK_TO_VSC);
|
|
373
|
+
if (scanCode > 255) {
|
|
374
|
+
scanCode = 0;
|
|
375
|
+
}
|
|
376
|
+
SendMessage(hwnd, isKeyDown ? WM_KEYDOWN : WM_KEYUP, virtualKey,
|
|
377
|
+
(scanCode << 16) | 1u | (isKeyDown ? 0u : 0xc0000000u));
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
int ConsoleInput::scanInput(std::vector<INPUT_RECORD> &records,
|
|
381
|
+
const char *input,
|
|
382
|
+
int inputSize,
|
|
383
|
+
bool isEof)
|
|
384
|
+
{
|
|
385
|
+
ASSERT(inputSize >= 1);
|
|
386
|
+
|
|
387
|
+
// Ctrl-C.
|
|
388
|
+
//
|
|
389
|
+
// In processed mode, use GenerateConsoleCtrlEvent so that Ctrl-C handlers
|
|
390
|
+
// are called. GenerateConsoleCtrlEvent unfortunately doesn't interrupt
|
|
391
|
+
// ReadConsole calls[1]. Using WM_KEYDOWN/UP fixes the ReadConsole
|
|
392
|
+
// problem, but breaks in background window stations/desktops.
|
|
393
|
+
//
|
|
394
|
+
// In unprocessed mode, there's an entry for Ctrl-C in the SimpleEncoding
|
|
395
|
+
// table in DefaultInputMap.
|
|
396
|
+
//
|
|
397
|
+
// [1] https://github.com/rprichard/winpty/issues/116
|
|
398
|
+
if (input[0] == '\x03' && (inputConsoleMode() & ENABLE_PROCESSED_INPUT)) {
|
|
399
|
+
flushInputRecords(records);
|
|
400
|
+
trace("Ctrl-C");
|
|
401
|
+
const BOOL ret = GenerateConsoleCtrlEvent(CTRL_C_EVENT, 0);
|
|
402
|
+
trace("GenerateConsoleCtrlEvent: %d", ret);
|
|
403
|
+
return 1;
|
|
404
|
+
}
|
|
405
|
+
|
|
406
|
+
if (input[0] == '\x1B') {
|
|
407
|
+
// Attempt to match the Device Status Report (DSR) reply.
|
|
408
|
+
int dsrLen = matchDsr(input, inputSize);
|
|
409
|
+
if (dsrLen > 0) {
|
|
410
|
+
trace("Received a DSR reply");
|
|
411
|
+
m_dsrSent = false;
|
|
412
|
+
return dsrLen;
|
|
413
|
+
} else if (!isEof && dsrLen == -1) {
|
|
414
|
+
// Incomplete DSR match.
|
|
415
|
+
trace("Incomplete DSR match");
|
|
416
|
+
return -1;
|
|
417
|
+
}
|
|
418
|
+
|
|
419
|
+
int mouseLen = scanMouseInput(records, input, inputSize);
|
|
420
|
+
if (mouseLen > 0 || (!isEof && mouseLen == -1)) {
|
|
421
|
+
return mouseLen;
|
|
422
|
+
}
|
|
423
|
+
}
|
|
424
|
+
|
|
425
|
+
// Search the input map.
|
|
426
|
+
InputMap::Key match;
|
|
427
|
+
bool incomplete;
|
|
428
|
+
int matchLen = m_inputMap.lookupKey(input, inputSize, match, incomplete);
|
|
429
|
+
if (!isEof && incomplete) {
|
|
430
|
+
// Incomplete match -- need more characters (or wait for a
|
|
431
|
+
// timeout to signify flushed input).
|
|
432
|
+
trace("Incomplete escape sequence");
|
|
433
|
+
return -1;
|
|
434
|
+
} else if (matchLen > 0) {
|
|
435
|
+
uint32_t winCodePointDn = match.unicodeChar;
|
|
436
|
+
if ((match.keyState & LEFT_CTRL_PRESSED) && (match.keyState & LEFT_ALT_PRESSED)) {
|
|
437
|
+
winCodePointDn = '\0';
|
|
438
|
+
}
|
|
439
|
+
uint32_t winCodePointUp = winCodePointDn;
|
|
440
|
+
if (match.keyState & LEFT_ALT_PRESSED) {
|
|
441
|
+
winCodePointUp = '\0';
|
|
442
|
+
}
|
|
443
|
+
appendKeyPress(records, match.virtualKey,
|
|
444
|
+
winCodePointDn, winCodePointUp, match.keyState,
|
|
445
|
+
match.unicodeChar, match.keyState);
|
|
446
|
+
return matchLen;
|
|
447
|
+
}
|
|
448
|
+
|
|
449
|
+
// Recognize Alt-<character>.
|
|
450
|
+
//
|
|
451
|
+
// This code doesn't match Alt-ESC, which is encoded as `ESC ESC`, but
|
|
452
|
+
// maybe it should. I was concerned that pressing ESC rapidly enough could
|
|
453
|
+
// accidentally trigger Alt-ESC. (e.g. The user would have to be faster
|
|
454
|
+
// than the DSR flushing mechanism or use a decrepit terminal. The user
|
|
455
|
+
// might be on a slow network connection.)
|
|
456
|
+
if (input[0] == '\x1B' && inputSize >= 2 && input[1] != '\x1B') {
|
|
457
|
+
const int len = utf8CharLength(input[1]);
|
|
458
|
+
if (len > 0) {
|
|
459
|
+
if (1 + len > inputSize) {
|
|
460
|
+
// Incomplete character.
|
|
461
|
+
trace("Incomplete UTF-8 character in Alt-<Char>");
|
|
462
|
+
return -1;
|
|
463
|
+
}
|
|
464
|
+
appendUtf8Char(records, &input[1], len, true);
|
|
465
|
+
return 1 + len;
|
|
466
|
+
}
|
|
467
|
+
}
|
|
468
|
+
|
|
469
|
+
// A UTF-8 character.
|
|
470
|
+
const int len = utf8CharLength(input[0]);
|
|
471
|
+
if (len == 0) {
|
|
472
|
+
static bool debugInput = isTracingEnabled() && hasDebugFlag("input");
|
|
473
|
+
if (debugInput) {
|
|
474
|
+
trace("Discarding invalid input byte: %02X",
|
|
475
|
+
static_cast<unsigned char>(input[0]));
|
|
476
|
+
}
|
|
477
|
+
return 1;
|
|
478
|
+
}
|
|
479
|
+
if (len > inputSize) {
|
|
480
|
+
// Incomplete character.
|
|
481
|
+
trace("Incomplete UTF-8 character");
|
|
482
|
+
return -1;
|
|
483
|
+
}
|
|
484
|
+
appendUtf8Char(records, &input[0], len, false);
|
|
485
|
+
return len;
|
|
486
|
+
}
|
|
487
|
+
|
|
488
|
+
int ConsoleInput::scanMouseInput(std::vector<INPUT_RECORD> &records,
|
|
489
|
+
const char *input,
|
|
490
|
+
int inputSize)
|
|
491
|
+
{
|
|
492
|
+
MouseRecord record;
|
|
493
|
+
const int len = matchMouseRecord(input, inputSize, record);
|
|
494
|
+
if (len <= 0) {
|
|
495
|
+
return len;
|
|
496
|
+
}
|
|
497
|
+
|
|
498
|
+
if (isTracingEnabled()) {
|
|
499
|
+
static bool debugInput = hasDebugFlag("input");
|
|
500
|
+
if (debugInput) {
|
|
501
|
+
trace("mouse input: %s", record.toString().c_str());
|
|
502
|
+
}
|
|
503
|
+
}
|
|
504
|
+
|
|
505
|
+
const int button = record.flags & 0x03;
|
|
506
|
+
INPUT_RECORD newRecord = {0};
|
|
507
|
+
newRecord.EventType = MOUSE_EVENT;
|
|
508
|
+
MOUSE_EVENT_RECORD &mer = newRecord.Event.MouseEvent;
|
|
509
|
+
|
|
510
|
+
mer.dwMousePosition.X =
|
|
511
|
+
m_mouseWindowRect.Left +
|
|
512
|
+
std::max(0, std::min<int>(record.coord.X,
|
|
513
|
+
m_mouseWindowRect.width() - 1));
|
|
514
|
+
|
|
515
|
+
mer.dwMousePosition.Y =
|
|
516
|
+
m_mouseWindowRect.Top +
|
|
517
|
+
std::max(0, std::min<int>(record.coord.Y,
|
|
518
|
+
m_mouseWindowRect.height() - 1));
|
|
519
|
+
|
|
520
|
+
// The modifier state is neatly independent of everything else.
|
|
521
|
+
if (record.flags & 0x04) { mer.dwControlKeyState |= SHIFT_PRESSED; }
|
|
522
|
+
if (record.flags & 0x08) { mer.dwControlKeyState |= LEFT_ALT_PRESSED; }
|
|
523
|
+
if (record.flags & 0x10) { mer.dwControlKeyState |= LEFT_CTRL_PRESSED; }
|
|
524
|
+
|
|
525
|
+
if (record.flags & 0x40) {
|
|
526
|
+
// Mouse wheel
|
|
527
|
+
mer.dwEventFlags |= MOUSE_WHEELED;
|
|
528
|
+
if (button == 0) {
|
|
529
|
+
// up
|
|
530
|
+
mer.dwButtonState |= 0x00780000;
|
|
531
|
+
} else if (button == 1) {
|
|
532
|
+
// down
|
|
533
|
+
mer.dwButtonState |= 0xff880000;
|
|
534
|
+
} else {
|
|
535
|
+
// Invalid -- do nothing
|
|
536
|
+
return len;
|
|
537
|
+
}
|
|
538
|
+
} else {
|
|
539
|
+
// Ordinary mouse event
|
|
540
|
+
if (record.flags & 0x20) { mer.dwEventFlags |= MOUSE_MOVED; }
|
|
541
|
+
if (button == 3) {
|
|
542
|
+
m_mouseButtonState = 0;
|
|
543
|
+
// Potentially advance double-click detection.
|
|
544
|
+
m_doubleClick.released = true;
|
|
545
|
+
} else {
|
|
546
|
+
const DWORD relevantFlag =
|
|
547
|
+
(button == 0) ? FROM_LEFT_1ST_BUTTON_PRESSED :
|
|
548
|
+
(button == 1) ? FROM_LEFT_2ND_BUTTON_PRESSED :
|
|
549
|
+
(button == 2) ? RIGHTMOST_BUTTON_PRESSED :
|
|
550
|
+
0;
|
|
551
|
+
ASSERT(relevantFlag != 0);
|
|
552
|
+
if (record.release) {
|
|
553
|
+
m_mouseButtonState &= ~relevantFlag;
|
|
554
|
+
if (relevantFlag == m_doubleClick.button) {
|
|
555
|
+
// Potentially advance double-click detection.
|
|
556
|
+
m_doubleClick.released = true;
|
|
557
|
+
} else {
|
|
558
|
+
// End double-click detection.
|
|
559
|
+
m_doubleClick = DoubleClickDetection();
|
|
560
|
+
}
|
|
561
|
+
} else if ((m_mouseButtonState & relevantFlag) == 0) {
|
|
562
|
+
// The button has been newly pressed.
|
|
563
|
+
m_mouseButtonState |= relevantFlag;
|
|
564
|
+
// Detect a double-click. This code looks for an exact
|
|
565
|
+
// coordinate match, which is stricter than what Windows does,
|
|
566
|
+
// but Windows has pixel coordinates, and we only have terminal
|
|
567
|
+
// coordinates.
|
|
568
|
+
if (m_doubleClick.button == relevantFlag &&
|
|
569
|
+
m_doubleClick.pos == record.coord &&
|
|
570
|
+
(GetTickCount() - m_doubleClick.tick <
|
|
571
|
+
GetDoubleClickTime())) {
|
|
572
|
+
// Record a double-click and end double-click detection.
|
|
573
|
+
mer.dwEventFlags |= DOUBLE_CLICK;
|
|
574
|
+
m_doubleClick = DoubleClickDetection();
|
|
575
|
+
} else {
|
|
576
|
+
// Begin double-click detection.
|
|
577
|
+
m_doubleClick.button = relevantFlag;
|
|
578
|
+
m_doubleClick.pos = record.coord;
|
|
579
|
+
m_doubleClick.tick = GetTickCount();
|
|
580
|
+
}
|
|
581
|
+
}
|
|
582
|
+
}
|
|
583
|
+
}
|
|
584
|
+
|
|
585
|
+
mer.dwButtonState |= m_mouseButtonState;
|
|
586
|
+
|
|
587
|
+
if (m_mouseInputEnabled && !m_quickEditEnabled) {
|
|
588
|
+
if (isTracingEnabled()) {
|
|
589
|
+
static bool debugInput = hasDebugFlag("input");
|
|
590
|
+
if (debugInput) {
|
|
591
|
+
trace("mouse event: %s", mouseEventToString(mer).c_str());
|
|
592
|
+
}
|
|
593
|
+
}
|
|
594
|
+
|
|
595
|
+
records.push_back(newRecord);
|
|
596
|
+
}
|
|
597
|
+
|
|
598
|
+
return len;
|
|
599
|
+
}
|
|
600
|
+
|
|
601
|
+
void ConsoleInput::appendUtf8Char(std::vector<INPUT_RECORD> &records,
|
|
602
|
+
const char *charBuffer,
|
|
603
|
+
const int charLen,
|
|
604
|
+
const bool terminalAltEscape)
|
|
605
|
+
{
|
|
606
|
+
const uint32_t codePoint = decodeUtf8(charBuffer);
|
|
607
|
+
if (codePoint == static_cast<uint32_t>(-1)) {
|
|
608
|
+
static bool debugInput = isTracingEnabled() && hasDebugFlag("input");
|
|
609
|
+
if (debugInput) {
|
|
610
|
+
StringBuilder error(64);
|
|
611
|
+
error << "Discarding invalid UTF-8 sequence:";
|
|
612
|
+
for (int i = 0; i < charLen; ++i) {
|
|
613
|
+
error << ' ';
|
|
614
|
+
error << hexOfInt<true, uint8_t>(charBuffer[i]);
|
|
615
|
+
}
|
|
616
|
+
trace("%s", error.c_str());
|
|
617
|
+
}
|
|
618
|
+
return;
|
|
619
|
+
}
|
|
620
|
+
|
|
621
|
+
const short charScan = codePoint > 0xFFFF ? -1 : VkKeyScan(codePoint);
|
|
622
|
+
uint16_t virtualKey = 0;
|
|
623
|
+
uint16_t winKeyState = 0;
|
|
624
|
+
uint32_t winCodePointDn = codePoint;
|
|
625
|
+
uint32_t winCodePointUp = codePoint;
|
|
626
|
+
uint16_t vtKeyState = 0;
|
|
627
|
+
|
|
628
|
+
if (charScan != -1) {
|
|
629
|
+
virtualKey = charScan & 0xFF;
|
|
630
|
+
if (charScan & 0x100) {
|
|
631
|
+
winKeyState |= SHIFT_PRESSED;
|
|
632
|
+
}
|
|
633
|
+
if (charScan & 0x200) {
|
|
634
|
+
winKeyState |= LEFT_CTRL_PRESSED;
|
|
635
|
+
}
|
|
636
|
+
if (charScan & 0x400) {
|
|
637
|
+
winKeyState |= RIGHT_ALT_PRESSED;
|
|
638
|
+
}
|
|
639
|
+
if (terminalAltEscape && (winKeyState & LEFT_CTRL_PRESSED)) {
|
|
640
|
+
// If the terminal escapes a Ctrl-<Key> with Alt, then set the
|
|
641
|
+
// codepoint to 0. On the other hand, if a character requires
|
|
642
|
+
// AltGr (like U+00B2 on a German layout), then VkKeyScan will
|
|
643
|
+
// report both Ctrl and Alt pressed, and we should keep the
|
|
644
|
+
// codepoint. See https://github.com/rprichard/winpty/issues/109.
|
|
645
|
+
winCodePointDn = 0;
|
|
646
|
+
winCodePointUp = 0;
|
|
647
|
+
}
|
|
648
|
+
}
|
|
649
|
+
if (terminalAltEscape) {
|
|
650
|
+
winCodePointUp = 0;
|
|
651
|
+
winKeyState |= LEFT_ALT_PRESSED;
|
|
652
|
+
vtKeyState |= LEFT_ALT_PRESSED;
|
|
653
|
+
}
|
|
654
|
+
|
|
655
|
+
appendKeyPress(records, virtualKey,
|
|
656
|
+
winCodePointDn, winCodePointUp, winKeyState,
|
|
657
|
+
codePoint, vtKeyState);
|
|
658
|
+
}
|
|
659
|
+
|
|
660
|
+
void ConsoleInput::appendKeyPress(std::vector<INPUT_RECORD> &records,
|
|
661
|
+
const uint16_t virtualKey,
|
|
662
|
+
const uint32_t winCodePointDn,
|
|
663
|
+
const uint32_t winCodePointUp,
|
|
664
|
+
const uint16_t winKeyState,
|
|
665
|
+
const uint32_t vtCodePoint,
|
|
666
|
+
const uint16_t vtKeyState)
|
|
667
|
+
{
|
|
668
|
+
const bool ctrl = (winKeyState & LEFT_CTRL_PRESSED) != 0;
|
|
669
|
+
const bool leftAlt = (winKeyState & LEFT_ALT_PRESSED) != 0;
|
|
670
|
+
const bool rightAlt = (winKeyState & RIGHT_ALT_PRESSED) != 0;
|
|
671
|
+
const bool shift = (winKeyState & SHIFT_PRESSED) != 0;
|
|
672
|
+
const bool enhanced = (winKeyState & ENHANCED_KEY) != 0;
|
|
673
|
+
bool hasDebugInput = false;
|
|
674
|
+
|
|
675
|
+
if (isTracingEnabled()) {
|
|
676
|
+
static bool debugInput = hasDebugFlag("input");
|
|
677
|
+
if (debugInput) {
|
|
678
|
+
hasDebugInput = true;
|
|
679
|
+
InputMap::Key key = { virtualKey, winCodePointDn, winKeyState };
|
|
680
|
+
trace("keypress: %s", key.toString().c_str());
|
|
681
|
+
}
|
|
682
|
+
}
|
|
683
|
+
|
|
684
|
+
if (m_escapeInputEnabled &&
|
|
685
|
+
(virtualKey == VK_UP ||
|
|
686
|
+
virtualKey == VK_DOWN ||
|
|
687
|
+
virtualKey == VK_LEFT ||
|
|
688
|
+
virtualKey == VK_RIGHT ||
|
|
689
|
+
virtualKey == VK_HOME ||
|
|
690
|
+
virtualKey == VK_END) &&
|
|
691
|
+
!ctrl && !leftAlt && !rightAlt && !shift) {
|
|
692
|
+
flushInputRecords(records);
|
|
693
|
+
if (hasDebugInput) {
|
|
694
|
+
trace("sending keypress to console HWND");
|
|
695
|
+
}
|
|
696
|
+
sendKeyMessage(m_console.hwnd(), true, virtualKey);
|
|
697
|
+
sendKeyMessage(m_console.hwnd(), false, virtualKey);
|
|
698
|
+
return;
|
|
699
|
+
}
|
|
700
|
+
|
|
701
|
+
uint16_t stepKeyState = 0;
|
|
702
|
+
if (ctrl) {
|
|
703
|
+
stepKeyState |= LEFT_CTRL_PRESSED;
|
|
704
|
+
appendInputRecord(records, TRUE, VK_CONTROL, 0, stepKeyState);
|
|
705
|
+
}
|
|
706
|
+
if (leftAlt) {
|
|
707
|
+
stepKeyState |= LEFT_ALT_PRESSED;
|
|
708
|
+
appendInputRecord(records, TRUE, VK_MENU, 0, stepKeyState);
|
|
709
|
+
}
|
|
710
|
+
if (rightAlt) {
|
|
711
|
+
stepKeyState |= RIGHT_ALT_PRESSED;
|
|
712
|
+
appendInputRecord(records, TRUE, VK_MENU, 0, stepKeyState | ENHANCED_KEY);
|
|
713
|
+
}
|
|
714
|
+
if (shift) {
|
|
715
|
+
stepKeyState |= SHIFT_PRESSED;
|
|
716
|
+
appendInputRecord(records, TRUE, VK_SHIFT, 0, stepKeyState);
|
|
717
|
+
}
|
|
718
|
+
if (enhanced) {
|
|
719
|
+
stepKeyState |= ENHANCED_KEY;
|
|
720
|
+
}
|
|
721
|
+
if (m_escapeInputEnabled) {
|
|
722
|
+
reencodeEscapedKeyPress(records, virtualKey, vtCodePoint, vtKeyState);
|
|
723
|
+
} else {
|
|
724
|
+
appendCPInputRecords(records, TRUE, virtualKey, winCodePointDn, stepKeyState);
|
|
725
|
+
}
|
|
726
|
+
appendCPInputRecords(records, FALSE, virtualKey, winCodePointUp, stepKeyState);
|
|
727
|
+
if (enhanced) {
|
|
728
|
+
stepKeyState &= ~ENHANCED_KEY;
|
|
729
|
+
}
|
|
730
|
+
if (shift) {
|
|
731
|
+
stepKeyState &= ~SHIFT_PRESSED;
|
|
732
|
+
appendInputRecord(records, FALSE, VK_SHIFT, 0, stepKeyState);
|
|
733
|
+
}
|
|
734
|
+
if (rightAlt) {
|
|
735
|
+
stepKeyState &= ~RIGHT_ALT_PRESSED;
|
|
736
|
+
appendInputRecord(records, FALSE, VK_MENU, 0, stepKeyState | ENHANCED_KEY);
|
|
737
|
+
}
|
|
738
|
+
if (leftAlt) {
|
|
739
|
+
stepKeyState &= ~LEFT_ALT_PRESSED;
|
|
740
|
+
appendInputRecord(records, FALSE, VK_MENU, 0, stepKeyState);
|
|
741
|
+
}
|
|
742
|
+
if (ctrl) {
|
|
743
|
+
stepKeyState &= ~LEFT_CTRL_PRESSED;
|
|
744
|
+
appendInputRecord(records, FALSE, VK_CONTROL, 0, stepKeyState);
|
|
745
|
+
}
|
|
746
|
+
}
|
|
747
|
+
|
|
748
|
+
void ConsoleInput::appendCPInputRecords(std::vector<INPUT_RECORD> &records,
|
|
749
|
+
BOOL keyDown,
|
|
750
|
+
uint16_t virtualKey,
|
|
751
|
+
uint32_t codePoint,
|
|
752
|
+
uint16_t keyState)
|
|
753
|
+
{
|
|
754
|
+
// This behavior really doesn't match that of the Windows console (in
|
|
755
|
+
// normal, non-escape-mode). Judging by the copy-and-paste behavior,
|
|
756
|
+
// Windows apparently handles everything outside of the keyboard layout by
|
|
757
|
+
// first sending a sequence of Alt+KeyPad events, then finally a key-up
|
|
758
|
+
// event whose UnicodeChar has the appropriate value. For U+00A2 (CENT
|
|
759
|
+
// SIGN):
|
|
760
|
+
//
|
|
761
|
+
// key: dn rpt=1 scn=56 LAlt-MENU ch=0
|
|
762
|
+
// key: dn rpt=1 scn=79 LAlt-NUMPAD1 ch=0
|
|
763
|
+
// key: up rpt=1 scn=79 LAlt-NUMPAD1 ch=0
|
|
764
|
+
// key: dn rpt=1 scn=76 LAlt-NUMPAD5 ch=0
|
|
765
|
+
// key: up rpt=1 scn=76 LAlt-NUMPAD5 ch=0
|
|
766
|
+
// key: dn rpt=1 scn=76 LAlt-NUMPAD5 ch=0
|
|
767
|
+
// key: up rpt=1 scn=76 LAlt-NUMPAD5 ch=0
|
|
768
|
+
// key: up rpt=1 scn=56 MENU ch=0xa2
|
|
769
|
+
//
|
|
770
|
+
// The Alt+155 value matches the encoding of U+00A2 in CP-437. Curiously,
|
|
771
|
+
// if I use "chcp 1252" to change the encoding, then copy-and-pasting
|
|
772
|
+
// produces Alt+162 instead. (U+00A2 is 162 in CP-1252.) However, typing
|
|
773
|
+
// Alt+155 or Alt+162 produce the same characters regardless of console
|
|
774
|
+
// code page. (That is, they use CP-437 and yield U+00A2 and U+00F3.)
|
|
775
|
+
//
|
|
776
|
+
// For characters outside the BMP, Windows repeats the process for both
|
|
777
|
+
// UTF-16 code units, e.g, for U+1F300 (CYCLONE):
|
|
778
|
+
//
|
|
779
|
+
// key: dn rpt=1 scn=56 LAlt-MENU ch=0
|
|
780
|
+
// key: dn rpt=1 scn=77 LAlt-NUMPAD6 ch=0
|
|
781
|
+
// key: up rpt=1 scn=77 LAlt-NUMPAD6 ch=0
|
|
782
|
+
// key: dn rpt=1 scn=81 LAlt-NUMPAD3 ch=0
|
|
783
|
+
// key: up rpt=1 scn=81 LAlt-NUMPAD3 ch=0
|
|
784
|
+
// key: up rpt=1 scn=56 MENU ch=0xd83c
|
|
785
|
+
// key: dn rpt=1 scn=56 LAlt-MENU ch=0
|
|
786
|
+
// key: dn rpt=1 scn=77 LAlt-NUMPAD6 ch=0
|
|
787
|
+
// key: up rpt=1 scn=77 LAlt-NUMPAD6 ch=0
|
|
788
|
+
// key: dn rpt=1 scn=81 LAlt-NUMPAD3 ch=0
|
|
789
|
+
// key: up rpt=1 scn=81 LAlt-NUMPAD3 ch=0
|
|
790
|
+
// key: up rpt=1 scn=56 MENU ch=0xdf00
|
|
791
|
+
//
|
|
792
|
+
// In this case, it sends Alt+63 twice, which signifies '?'. Apparently
|
|
793
|
+
// CMD and Cygwin bash are both able to decode this.
|
|
794
|
+
//
|
|
795
|
+
// Also note that typing Alt+NNN still works if NumLock is off, e.g.:
|
|
796
|
+
//
|
|
797
|
+
// key: dn rpt=1 scn=56 LAlt-MENU ch=0
|
|
798
|
+
// key: dn rpt=1 scn=79 LAlt-END ch=0
|
|
799
|
+
// key: up rpt=1 scn=79 LAlt-END ch=0
|
|
800
|
+
// key: dn rpt=1 scn=76 LAlt-CLEAR ch=0
|
|
801
|
+
// key: up rpt=1 scn=76 LAlt-CLEAR ch=0
|
|
802
|
+
// key: dn rpt=1 scn=76 LAlt-CLEAR ch=0
|
|
803
|
+
// key: up rpt=1 scn=76 LAlt-CLEAR ch=0
|
|
804
|
+
// key: up rpt=1 scn=56 MENU ch=0xa2
|
|
805
|
+
//
|
|
806
|
+
// Evidently, the Alt+NNN key events are not intended to be decoded to a
|
|
807
|
+
// character. Maybe programs are looking for a key-up ALT/MENU event with
|
|
808
|
+
// a non-zero character?
|
|
809
|
+
|
|
810
|
+
wchar_t ws[2];
|
|
811
|
+
const int wslen = encodeUtf16(ws, codePoint);
|
|
812
|
+
|
|
813
|
+
if (wslen == 1) {
|
|
814
|
+
appendInputRecord(records, keyDown, virtualKey, ws[0], keyState);
|
|
815
|
+
} else if (wslen == 2) {
|
|
816
|
+
appendInputRecord(records, keyDown, virtualKey, ws[0], keyState);
|
|
817
|
+
appendInputRecord(records, keyDown, virtualKey, ws[1], keyState);
|
|
818
|
+
} else {
|
|
819
|
+
// This situation isn't that bad, but it should never happen,
|
|
820
|
+
// because invalid codepoints shouldn't reach this point.
|
|
821
|
+
trace("INTERNAL ERROR: appendInputRecordCP: invalid codePoint: "
|
|
822
|
+
"U+%04X", codePoint);
|
|
823
|
+
}
|
|
824
|
+
}
|
|
825
|
+
|
|
826
|
+
void ConsoleInput::appendInputRecord(std::vector<INPUT_RECORD> &records,
|
|
827
|
+
BOOL keyDown,
|
|
828
|
+
uint16_t virtualKey,
|
|
829
|
+
wchar_t utf16Char,
|
|
830
|
+
uint16_t keyState)
|
|
831
|
+
{
|
|
832
|
+
INPUT_RECORD ir = {};
|
|
833
|
+
ir.EventType = KEY_EVENT;
|
|
834
|
+
ir.Event.KeyEvent.bKeyDown = keyDown;
|
|
835
|
+
ir.Event.KeyEvent.wRepeatCount = 1;
|
|
836
|
+
ir.Event.KeyEvent.wVirtualKeyCode = virtualKey;
|
|
837
|
+
ir.Event.KeyEvent.wVirtualScanCode =
|
|
838
|
+
MapVirtualKey(virtualKey, MAPVK_VK_TO_VSC);
|
|
839
|
+
ir.Event.KeyEvent.uChar.UnicodeChar = utf16Char;
|
|
840
|
+
ir.Event.KeyEvent.dwControlKeyState = keyState;
|
|
841
|
+
records.push_back(ir);
|
|
842
|
+
}
|
|
843
|
+
|
|
844
|
+
DWORD ConsoleInput::inputConsoleMode()
|
|
845
|
+
{
|
|
846
|
+
DWORD mode = 0;
|
|
847
|
+
if (!GetConsoleMode(m_conin, &mode)) {
|
|
848
|
+
trace("GetConsoleMode failed");
|
|
849
|
+
return 0;
|
|
850
|
+
}
|
|
851
|
+
return mode;
|
|
852
|
+
}
|