@hienlh/ppm 0.23.10 → 0.23.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/CHANGELOG.md +43 -1
- package/CLAUDE.md +23 -3
- package/assets/skills/ppm/SKILL.md +1 -1
- package/assets/skills/ppm/references/cli-reference.md +4 -4
- package/assets/skills/ppm/references/http-api.md +43 -1
- package/bun.lock +34 -0
- package/dist/web/assets/_basePickBy-BEVUuplK.js +1 -0
- package/dist/web/assets/_basePickBy-BEVUuplK.js.br +0 -0
- package/dist/web/assets/_basePickBy-BEVUuplK.js.gz +0 -0
- package/dist/web/assets/_baseUniq-qb_BgEfK.js +1 -0
- package/dist/web/assets/_baseUniq-qb_BgEfK.js.br +0 -0
- package/dist/web/assets/_baseUniq-qb_BgEfK.js.gz +0 -0
- package/dist/web/assets/accounts-settings-section-CGe5ikvs.js +1 -0
- package/dist/web/assets/accounts-settings-section-CGe5ikvs.js.br +0 -0
- package/dist/web/assets/accounts-settings-section-CGe5ikvs.js.gz +0 -0
- package/dist/web/assets/agent-session-sheet-vBhfHYrC.js +2 -0
- package/dist/web/assets/agent-session-sheet-vBhfHYrC.js.br +0 -0
- package/dist/web/assets/agent-session-sheet-vBhfHYrC.js.gz +0 -0
- package/dist/web/assets/agent-session-window-content-BxIxDN5i.js +1 -0
- package/dist/web/assets/agent-session-window-content-BxIxDN5i.js.br +0 -0
- package/dist/web/assets/agent-session-window-content-BxIxDN5i.js.gz +0 -0
- package/dist/web/assets/ai-resource-editor-Y8clBPRv.js +1 -0
- package/dist/web/assets/ai-resource-editor-Y8clBPRv.js.br +0 -0
- package/dist/web/assets/ai-resource-editor-Y8clBPRv.js.gz +0 -0
- package/dist/web/assets/ai-settings-section-BB8vscte.js +1 -0
- package/dist/web/assets/ai-settings-section-Ck8uN_Bw.js +1 -0
- package/dist/web/assets/ai-settings-section-Ck8uN_Bw.js.br +0 -0
- package/dist/web/assets/ai-settings-section-Ck8uN_Bw.js.gz +0 -0
- package/dist/web/assets/android-tab-BIOUVVoW.js +2 -0
- package/dist/web/assets/android-tab-BIOUVVoW.js.br +0 -0
- package/dist/web/assets/android-tab-BIOUVVoW.js.gz +0 -0
- package/dist/web/assets/angular-html-Djm1KT_p.js +1 -0
- package/dist/web/assets/angular-html-Djm1KT_p.js.br +0 -0
- package/dist/web/assets/angular-html-Djm1KT_p.js.gz +0 -0
- package/dist/web/assets/angular-ts-D8ZYU4i0.js +1 -0
- package/dist/web/assets/angular-ts-D8ZYU4i0.js.br +0 -0
- package/dist/web/assets/angular-ts-D8ZYU4i0.js.gz +0 -0
- package/dist/web/assets/api-settings-Cc_CpfmC.js +1 -0
- package/dist/web/assets/api-settings-Cc_CpfmC.js.br +0 -0
- package/dist/web/assets/api-settings-Cc_CpfmC.js.gz +0 -0
- package/dist/web/assets/api-settings-D1axn9vm.js +1 -0
- package/dist/web/assets/apl-Bxk9ez2r.js +1 -0
- package/dist/web/assets/apl-Bxk9ez2r.js.br +0 -0
- package/dist/web/assets/apl-Bxk9ez2r.js.gz +0 -0
- package/dist/web/assets/appearance-settings-section-Bv5_n9lH.js +1 -0
- package/dist/web/assets/appearance-settings-section-Bv5_n9lH.js.br +0 -0
- package/dist/web/assets/appearance-settings-section-Bv5_n9lH.js.gz +0 -0
- package/dist/web/assets/apps-panel-DXHF0QEv.js +1 -0
- package/dist/web/assets/apps-panel-DXHF0QEv.js.br +0 -0
- package/dist/web/assets/apps-panel-DXHF0QEv.js.gz +0 -0
- package/dist/web/assets/arc-CrBOnruw.js +1 -0
- package/dist/web/assets/arc-CrBOnruw.js.br +0 -0
- package/dist/web/assets/arc-CrBOnruw.js.gz +0 -0
- package/dist/web/assets/architecture-PBZL5I3N-bv6Z6ZTl.js +1 -0
- package/dist/web/assets/architectureDiagram-2XIMDMQ5-sFj2GCA0.js +36 -0
- package/dist/web/assets/architectureDiagram-2XIMDMQ5-sFj2GCA0.js.br +0 -0
- package/dist/web/assets/architectureDiagram-2XIMDMQ5-sFj2GCA0.js.gz +0 -0
- package/dist/web/assets/astro-CCE8GTuJ.js +1 -0
- package/dist/web/assets/astro-CCE8GTuJ.js.br +0 -0
- package/dist/web/assets/astro-CCE8GTuJ.js.gz +0 -0
- package/dist/web/assets/audio-preview-DpjOKEm4.js +1 -0
- package/dist/web/assets/audio-preview-DpjOKEm4.js.br +0 -0
- package/dist/web/assets/audio-preview-DpjOKEm4.js.gz +0 -0
- package/dist/web/assets/blade-pJLFJ0pe.js +1 -0
- package/dist/web/assets/blade-pJLFJ0pe.js.br +0 -0
- package/dist/web/assets/blade-pJLFJ0pe.js.gz +0 -0
- package/dist/web/assets/blockDiagram-WCTKOSBZ-DFag_MHk.js +132 -0
- package/dist/web/assets/blockDiagram-WCTKOSBZ-DFag_MHk.js.br +0 -0
- package/dist/web/assets/blockDiagram-WCTKOSBZ-DFag_MHk.js.gz +0 -0
- package/dist/web/assets/branch-review-tab-4dgMNadQ.js +1 -0
- package/dist/web/assets/branch-review-tab-4dgMNadQ.js.br +0 -0
- package/dist/web/assets/branch-review-tab-4dgMNadQ.js.gz +0 -0
- package/dist/web/assets/bsl-DJPQP6gj.js +1 -0
- package/dist/web/assets/bsl-DJPQP6gj.js.br +0 -0
- package/dist/web/assets/bsl-DJPQP6gj.js.gz +0 -0
- package/dist/web/assets/c4Diagram-IC4MRINW-Bs9OCCbR.js +10 -0
- package/dist/web/assets/c4Diagram-IC4MRINW-Bs9OCCbR.js.br +0 -0
- package/dist/web/assets/c4Diagram-IC4MRINW-Bs9OCCbR.js.gz +0 -0
- package/dist/web/assets/cairo-6pdze4qN.js +1 -0
- package/dist/web/assets/cairo-6pdze4qN.js.br +0 -0
- package/dist/web/assets/cairo-6pdze4qN.js.gz +0 -0
- package/dist/web/assets/channel-C97aABFT.js +1 -0
- package/dist/web/assets/chat-tab-Bbe_77oJ.js +15 -0
- package/dist/web/assets/chat-tab-Bbe_77oJ.js.br +0 -0
- package/dist/web/assets/chat-tab-Bbe_77oJ.js.gz +0 -0
- package/dist/web/assets/chat-tab-D3i5O3dO.js +1 -0
- package/dist/web/assets/chat-tab-D3i5O3dO.js.br +0 -0
- package/dist/web/assets/chat-tab-D3i5O3dO.js.gz +0 -0
- package/dist/web/assets/chunk-4BX2VUAB-Dd8hGWzs.js +1 -0
- package/dist/web/assets/chunk-55IACEB6-BUOmRdCb.js +1 -0
- package/dist/web/assets/chunk-7E7YKBS2-D5i9aZ57.js +1 -0
- package/dist/web/assets/chunk-7R4GIKGN-DBr9s6EE.js +80 -0
- package/dist/web/assets/chunk-7R4GIKGN-DBr9s6EE.js.br +0 -0
- package/dist/web/assets/chunk-7R4GIKGN-DBr9s6EE.js.gz +0 -0
- package/dist/web/assets/chunk-C72U2L5F-CEUvONYx.js +1 -0
- package/dist/web/assets/chunk-EGIJ26TM-BG89sF-p.js +1 -0
- package/dist/web/assets/chunk-FMBD7UC4-BDtpoO-Q.js +15 -0
- package/dist/web/assets/chunk-GEFDOKGD-lFQnV7FQ.js +2 -0
- package/dist/web/assets/chunk-GEFDOKGD-lFQnV7FQ.js.br +0 -0
- package/dist/web/assets/chunk-GEFDOKGD-lFQnV7FQ.js.gz +0 -0
- package/dist/web/assets/chunk-GLR3WWYH-CBQYONd8.js +2 -0
- package/dist/web/assets/chunk-GLR3WWYH-CBQYONd8.js.br +0 -0
- package/dist/web/assets/chunk-GLR3WWYH-CBQYONd8.js.gz +0 -0
- package/dist/web/assets/chunk-HHEYEP7N-Cz5o2sXg.js +1 -0
- package/dist/web/assets/chunk-JSJVCQXG-FBF1o1AC.js +1 -0
- package/dist/web/assets/chunk-JSJVCQXG-FBF1o1AC.js.br +0 -0
- package/dist/web/assets/chunk-JSJVCQXG-FBF1o1AC.js.gz +0 -0
- package/dist/web/assets/chunk-KX2RTZJC-Dfwu46M7.js +1 -0
- package/dist/web/assets/chunk-KYZI473N-DQTRCz9g.js +53 -0
- package/dist/web/assets/chunk-KYZI473N-DQTRCz9g.js.br +0 -0
- package/dist/web/assets/chunk-KYZI473N-DQTRCz9g.js.gz +0 -0
- package/dist/web/assets/chunk-L3YUKLVL-DytBx0nd.js +1 -0
- package/dist/web/assets/chunk-MX3YWQON-Da7GPDei.js +1 -0
- package/dist/web/assets/chunk-MX3YWQON-Da7GPDei.js.br +0 -0
- package/dist/web/assets/chunk-MX3YWQON-Da7GPDei.js.gz +0 -0
- package/dist/web/assets/chunk-NQ4KR5QH-D9-qngPN.js +220 -0
- package/dist/web/assets/chunk-NQ4KR5QH-D9-qngPN.js.br +0 -0
- package/dist/web/assets/chunk-NQ4KR5QH-D9-qngPN.js.gz +0 -0
- package/dist/web/assets/chunk-O4XLMI2P-BFAbMP-p.js +7 -0
- package/dist/web/assets/chunk-O4XLMI2P-BFAbMP-p.js.br +0 -0
- package/dist/web/assets/chunk-O4XLMI2P-BFAbMP-p.js.gz +0 -0
- package/dist/web/assets/chunk-OZEHJAEY-DM7Vtv5V.js +1 -0
- package/dist/web/assets/chunk-OZEHJAEY-DM7Vtv5V.js.br +0 -0
- package/dist/web/assets/chunk-OZEHJAEY-DM7Vtv5V.js.gz +0 -0
- package/dist/web/assets/chunk-PQ6SQG4A-CfSY-HG3.js +1 -0
- package/dist/web/assets/chunk-PQ6SQG4A-CfSY-HG3.js.br +0 -0
- package/dist/web/assets/chunk-PQ6SQG4A-CfSY-HG3.js.gz +0 -0
- package/dist/web/assets/chunk-PU5JKC2W-BFI9jx5F.js +11 -0
- package/dist/web/assets/chunk-PU5JKC2W-BFI9jx5F.js.br +0 -0
- package/dist/web/assets/chunk-PU5JKC2W-BFI9jx5F.js.gz +0 -0
- package/dist/web/assets/chunk-QZHKN3VN-_jIwYKZ3.js +1 -0
- package/dist/web/assets/chunk-R5LLSJPH-CZY_f--s.js +1 -0
- package/dist/web/assets/chunk-WL4C6EOR-BUFIzsiK.js +189 -0
- package/dist/web/assets/chunk-WL4C6EOR-BUFIzsiK.js.br +0 -0
- package/dist/web/assets/chunk-WL4C6EOR-BUFIzsiK.js.gz +0 -0
- package/dist/web/assets/chunk-XIRO2GV7-BxPFOPRI.js +1 -0
- package/dist/web/assets/chunk-XPW4576I-DfOF_qdG.js +32 -0
- package/dist/web/assets/chunk-XPW4576I-DfOF_qdG.js.br +0 -0
- package/dist/web/assets/chunk-XPW4576I-DfOF_qdG.js.gz +0 -0
- package/dist/web/assets/chunk-XZSTWKYB-BNlQ8dIW.js +94 -0
- package/dist/web/assets/chunk-XZSTWKYB-BNlQ8dIW.js.br +0 -0
- package/dist/web/assets/chunk-XZSTWKYB-BNlQ8dIW.js.gz +0 -0
- package/dist/web/assets/chunk-YBOYWFTD-0Is1vHmh.js +1 -0
- package/dist/web/assets/classDiagram-VBA2DB6C-HwLNQY_4.js +1 -0
- package/dist/web/assets/classDiagram-v2-RAHNMMFH-CLUQCcjH.js +1 -0
- package/dist/web/assets/clone-B5kRZECd.js +1 -0
- package/dist/web/assets/cobol-6JrtZ3xT.js +1 -0
- package/dist/web/assets/cobol-6JrtZ3xT.js.br +0 -0
- package/dist/web/assets/cobol-6JrtZ3xT.js.gz +0 -0
- package/dist/web/assets/code-editor-DXsIWoQ1.js +7 -0
- package/dist/web/assets/code-editor-DXsIWoQ1.js.br +0 -0
- package/dist/web/assets/code-editor-DXsIWoQ1.js.gz +0 -0
- package/dist/web/assets/codex-reset-credit-button-DRhievFQ.js +1 -0
- package/dist/web/assets/codex-reset-credit-button-DRhievFQ.js.br +0 -0
- package/dist/web/assets/codex-reset-credit-button-DRhievFQ.js.gz +0 -0
- package/dist/web/assets/coffee-eR0Qd-vR.js +1 -0
- package/dist/web/assets/coffee-eR0Qd-vR.js.br +0 -0
- package/dist/web/assets/coffee-eR0Qd-vR.js.gz +0 -0
- package/dist/web/assets/conflict-editor-D_RImo_V.js +19 -0
- package/dist/web/assets/conflict-editor-D_RImo_V.js.br +0 -0
- package/dist/web/assets/conflict-editor-D_RImo_V.js.gz +0 -0
- package/dist/web/assets/cose-bilkent-S5V4N54A-CAPPRjYz.js +1 -0
- package/dist/web/assets/cose-bilkent-S5V4N54A-CAPPRjYz.js.br +0 -0
- package/dist/web/assets/cose-bilkent-S5V4N54A-CAPPRjYz.js.gz +0 -0
- package/dist/web/assets/cpp-Bp_Laxmd.js +1 -0
- package/dist/web/assets/cpp-Bp_Laxmd.js.br +0 -0
- package/dist/web/assets/cpp-Bp_Laxmd.js.gz +0 -0
- package/dist/web/assets/crystal-bc0lS6i8.js +1 -0
- package/dist/web/assets/crystal-bc0lS6i8.js.br +0 -0
- package/dist/web/assets/crystal-bc0lS6i8.js.gz +0 -0
- package/dist/web/assets/csv-preview-BuFdfLo3.js +2 -0
- package/dist/web/assets/csv-preview-BuFdfLo3.js.br +0 -0
- package/dist/web/assets/csv-preview-BuFdfLo3.js.gz +0 -0
- package/dist/web/assets/dagre-D__SE4Ki.js +1 -0
- package/dist/web/assets/dagre-D__SE4Ki.js.br +0 -0
- package/dist/web/assets/dagre-D__SE4Ki.js.gz +0 -0
- package/dist/web/assets/dagre-KLK3FWXG-By-0HuN_.js +4 -0
- package/dist/web/assets/dagre-KLK3FWXG-By-0HuN_.js.br +0 -0
- package/dist/web/assets/dagre-KLK3FWXG-By-0HuN_.js.gz +0 -0
- package/dist/web/assets/data-grid-overlay-editor-CeZoduke.js +1 -0
- package/dist/web/assets/data-grid-overlay-editor-CeZoduke.js.br +0 -0
- package/dist/web/assets/data-grid-overlay-editor-CeZoduke.js.gz +0 -0
- package/dist/web/assets/database-viewer-ChcbYn9E.js +1 -0
- package/dist/web/assets/database-viewer-ChcbYn9E.js.br +0 -0
- package/dist/web/assets/database-viewer-ChcbYn9E.js.gz +0 -0
- package/dist/web/assets/design-export-client-BfdZB7xK.js +1 -0
- package/dist/web/assets/design-export-client-BfdZB7xK.js.br +0 -0
- package/dist/web/assets/design-export-client-BfdZB7xK.js.gz +0 -0
- package/dist/web/assets/design-responsive-dialog-BiYy3ibS.js +1 -0
- package/dist/web/assets/design-responsive-dialog-BiYy3ibS.js.br +0 -0
- package/dist/web/assets/design-responsive-dialog-BiYy3ibS.js.gz +0 -0
- package/dist/web/assets/design-settings-section-B_xOf51h.js +2 -0
- package/dist/web/assets/design-settings-section-B_xOf51h.js.br +0 -0
- package/dist/web/assets/design-settings-section-B_xOf51h.js.gz +0 -0
- package/dist/web/assets/design-skill-suggestion-BbEDg15Z.js +3 -0
- package/dist/web/assets/design-skill-suggestion-BbEDg15Z.js.br +0 -0
- package/dist/web/assets/design-skill-suggestion-BbEDg15Z.js.gz +0 -0
- package/dist/web/assets/design-system-status-label-ekiLyjKn.js +1 -0
- package/dist/web/assets/design-tab-BQSYJ4cS.js +57 -0
- package/dist/web/assets/design-tab-BQSYJ4cS.js.br +0 -0
- package/dist/web/assets/design-tab-BQSYJ4cS.js.gz +0 -0
- package/dist/web/assets/designs-sidebar-panel-AiPaYfSU.js +1 -0
- package/dist/web/assets/designs-sidebar-panel-AiPaYfSU.js.br +0 -0
- package/dist/web/assets/designs-sidebar-panel-AiPaYfSU.js.gz +0 -0
- package/dist/web/assets/diagram-E7M64L7V-w1uoD2zJ.js +24 -0
- package/dist/web/assets/diagram-E7M64L7V-w1uoD2zJ.js.br +0 -0
- package/dist/web/assets/diagram-E7M64L7V-w1uoD2zJ.js.gz +0 -0
- package/dist/web/assets/diagram-IFDJBPK2-DIZ1Hm8C.js +43 -0
- package/dist/web/assets/diagram-IFDJBPK2-DIZ1Hm8C.js.br +0 -0
- package/dist/web/assets/diagram-IFDJBPK2-DIZ1Hm8C.js.gz +0 -0
- package/dist/web/assets/diagram-P4PSJMXO-DJg8_uM2.js +24 -0
- package/dist/web/assets/diagram-P4PSJMXO-DJg8_uM2.js.br +0 -0
- package/dist/web/assets/diagram-P4PSJMXO-DJg8_uM2.js.gz +0 -0
- package/dist/web/assets/dialog-Bocc0Fgb.js +1 -0
- package/dist/web/assets/dialog-Bocc0Fgb.js.br +0 -0
- package/dist/web/assets/dialog-Bocc0Fgb.js.gz +0 -0
- package/dist/web/assets/diff-viewer-BZ6glGK-.js +4 -0
- package/dist/web/assets/diff-viewer-BZ6glGK-.js.br +0 -0
- package/dist/web/assets/diff-viewer-BZ6glGK-.js.gz +0 -0
- package/dist/web/assets/edge-BxayftlC.js +1 -0
- package/dist/web/assets/edge-BxayftlC.js.br +0 -0
- package/dist/web/assets/edge-BxayftlC.js.gz +0 -0
- package/dist/web/assets/edit-diff-preview-D-FNLOU2.js +7 -0
- package/dist/web/assets/edit-diff-preview-D-FNLOU2.js.br +0 -0
- package/dist/web/assets/edit-diff-preview-D-FNLOU2.js.gz +0 -0
- package/dist/web/assets/editor-language-service-4sbsdqBV.js +1 -0
- package/dist/web/assets/editor-language-service-4sbsdqBV.js.br +0 -0
- package/dist/web/assets/editor-language-service-4sbsdqBV.js.gz +0 -0
- package/dist/web/assets/elixir-CncTBq2d.js +1 -0
- package/dist/web/assets/elixir-CncTBq2d.js.br +0 -0
- package/dist/web/assets/elixir-CncTBq2d.js.gz +0 -0
- package/dist/web/assets/elm-1uJDe5N1.js +1 -0
- package/dist/web/assets/elm-1uJDe5N1.js.br +0 -0
- package/dist/web/assets/elm-1uJDe5N1.js.gz +0 -0
- package/dist/web/assets/erDiagram-INFDFZHY-CXGHzu5w.js +70 -0
- package/dist/web/assets/erDiagram-INFDFZHY-CXGHzu5w.js.br +0 -0
- package/dist/web/assets/erDiagram-INFDFZHY-CXGHzu5w.js.gz +0 -0
- package/dist/web/assets/erb-dH8FUiNl.js +1 -0
- package/dist/web/assets/erb-dH8FUiNl.js.br +0 -0
- package/dist/web/assets/erb-dH8FUiNl.js.gz +0 -0
- package/dist/web/assets/erlang-D0F-1O48.js +1 -0
- package/dist/web/assets/erlang-D0F-1O48.js.br +0 -0
- package/dist/web/assets/erlang-D0F-1O48.js.gz +0 -0
- package/dist/web/assets/esm-C3TeLjGW.js +2 -0
- package/dist/web/assets/esm-C3TeLjGW.js.br +0 -0
- package/dist/web/assets/esm-C3TeLjGW.js.gz +0 -0
- package/dist/web/assets/explorer-body-DbgrG1fe.js +2 -0
- package/dist/web/assets/explorer-body-DbgrG1fe.js.br +0 -0
- package/dist/web/assets/explorer-body-DbgrG1fe.js.gz +0 -0
- package/dist/web/assets/explorer-window-content-BCjWvHpp.js +1 -0
- package/dist/web/assets/explorer-window-content-BCjWvHpp.js.br +0 -0
- package/dist/web/assets/explorer-window-content-BCjWvHpp.js.gz +0 -0
- package/dist/web/assets/extension-manager-section-DiMF4RnT.js +1 -0
- package/dist/web/assets/extension-manager-section-DiMF4RnT.js.br +0 -0
- package/dist/web/assets/extension-manager-section-DiMF4RnT.js.gz +0 -0
- package/dist/web/assets/extension-webview-Coti6Vfw.js +12 -0
- package/dist/web/assets/extension-webview-Coti6Vfw.js.br +0 -0
- package/dist/web/assets/extension-webview-Coti6Vfw.js.gz +0 -0
- package/dist/web/assets/file-store-Cm7-pHux.js +1 -0
- package/dist/web/assets/file-store-Cm7-pHux.js.br +0 -0
- package/dist/web/assets/file-store-Cm7-pHux.js.gz +0 -0
- package/dist/web/assets/files-settings-section-ZTVwOwx0.js +1 -0
- package/dist/web/assets/files-settings-section-ZTVwOwx0.js.br +0 -0
- package/dist/web/assets/files-settings-section-ZTVwOwx0.js.gz +0 -0
- package/dist/web/assets/flowDiagram-PKNHOUZH-CZmY6JEk.js +162 -0
- package/dist/web/assets/flowDiagram-PKNHOUZH-CZmY6JEk.js.br +0 -0
- package/dist/web/assets/flowDiagram-PKNHOUZH-CZmY6JEk.js.gz +0 -0
- package/dist/web/assets/format-file-meta-Drxf2J-k.js +1 -0
- package/dist/web/assets/format-file-meta-Drxf2J-k.js.br +0 -0
- package/dist/web/assets/format-file-meta-Drxf2J-k.js.gz +0 -0
- package/dist/web/assets/fortran-fixed-form-DB7wVefV.js +1 -0
- package/dist/web/assets/fortran-fixed-form-DB7wVefV.js.br +0 -0
- package/dist/web/assets/fortran-fixed-form-DB7wVefV.js.gz +0 -0
- package/dist/web/assets/fsharp-B5-po_gS.js +1 -0
- package/dist/web/assets/fsharp-B5-po_gS.js.br +0 -0
- package/dist/web/assets/fsharp-B5-po_gS.js.gz +0 -0
- package/dist/web/assets/ganttDiagram-A5KZAMGK-CZbyfmux.js +292 -0
- package/dist/web/assets/ganttDiagram-A5KZAMGK-CZbyfmux.js.br +0 -0
- package/dist/web/assets/ganttDiagram-A5KZAMGK-CZbyfmux.js.gz +0 -0
- package/dist/web/assets/gdresource-DkWx6_xT.js +1 -0
- package/dist/web/assets/gdresource-DkWx6_xT.js.br +0 -0
- package/dist/web/assets/gdresource-DkWx6_xT.js.gz +0 -0
- package/dist/web/assets/general-settings-section-B7Hjx_fb.js +1 -0
- package/dist/web/assets/general-settings-section-B7Hjx_fb.js.br +0 -0
- package/dist/web/assets/general-settings-section-B7Hjx_fb.js.gz +0 -0
- package/dist/web/assets/git-commit-XsMhdamD.js +1 -0
- package/dist/web/assets/git-commit-XsMhdamD.js.br +0 -0
- package/dist/web/assets/git-commit-XsMhdamD.js.gz +0 -0
- package/dist/web/assets/git-log-panel-CbcJ_YEH.js +1 -0
- package/dist/web/assets/git-log-panel-CbcJ_YEH.js.br +0 -0
- package/dist/web/assets/git-log-panel-CbcJ_YEH.js.gz +0 -0
- package/dist/web/assets/git-rebase-CXs4QunZ.js +1 -0
- package/dist/web/assets/gitGraph-HDMCJU4V-COyQftEp.js +1 -0
- package/dist/web/assets/gitGraphDiagram-K3NZZRJ6-C9g4d3bV.js +65 -0
- package/dist/web/assets/gitGraphDiagram-K3NZZRJ6-C9g4d3bV.js.br +0 -0
- package/dist/web/assets/gitGraphDiagram-K3NZZRJ6-C9g4d3bV.js.gz +0 -0
- package/dist/web/assets/glide-data-grid-BfByGSf1.js +141 -0
- package/dist/web/assets/glide-data-grid-BfByGSf1.js.br +0 -0
- package/dist/web/assets/glide-data-grid-BfByGSf1.js.gz +0 -0
- package/dist/web/assets/glimmer-js-CHoxSy4K.js +1 -0
- package/dist/web/assets/glimmer-js-CHoxSy4K.js.br +0 -0
- package/dist/web/assets/glimmer-js-CHoxSy4K.js.gz +0 -0
- package/dist/web/assets/glimmer-ts-DY0DCf-r.js +1 -0
- package/dist/web/assets/glimmer-ts-DY0DCf-r.js.br +0 -0
- package/dist/web/assets/glimmer-ts-DY0DCf-r.js.gz +0 -0
- package/dist/web/assets/glsl-E9hxFBBJ.js +1 -0
- package/dist/web/assets/glsl-E9hxFBBJ.js.br +0 -0
- package/dist/web/assets/glsl-E9hxFBBJ.js.gz +0 -0
- package/dist/web/assets/graphlib-eYluCODn.js +1 -0
- package/dist/web/assets/graphlib-eYluCODn.js.br +0 -0
- package/dist/web/assets/graphlib-eYluCODn.js.gz +0 -0
- package/dist/web/assets/graphql-DAalq3Uo.js +1 -0
- package/dist/web/assets/graphql-DAalq3Uo.js.br +0 -0
- package/dist/web/assets/graphql-DAalq3Uo.js.gz +0 -0
- package/dist/web/assets/group-chat-tab-DCo9OP3D.js +1 -0
- package/dist/web/assets/group-chat-tab-DCo9OP3D.js.br +0 -0
- package/dist/web/assets/group-chat-tab-DCo9OP3D.js.gz +0 -0
- package/dist/web/assets/hack-e6ehmpqx.js +1 -0
- package/dist/web/assets/hack-e6ehmpqx.js.br +0 -0
- package/dist/web/assets/hack-e6ehmpqx.js.gz +0 -0
- package/dist/web/assets/haml-Pr4yq62b.js +1 -0
- package/dist/web/assets/haml-Pr4yq62b.js.br +0 -0
- package/dist/web/assets/haml-Pr4yq62b.js.gz +0 -0
- package/dist/web/assets/handlebars-ZERVZ8gn.js +1 -0
- package/dist/web/assets/handlebars-ZERVZ8gn.js.br +0 -0
- package/dist/web/assets/handlebars-ZERVZ8gn.js.gz +0 -0
- package/dist/web/assets/html-BmwVFf5D.js +1 -0
- package/dist/web/assets/html-BmwVFf5D.js.br +0 -0
- package/dist/web/assets/html-BmwVFf5D.js.gz +0 -0
- package/dist/web/assets/html-derivative-C1JIrmAY.js +1 -0
- package/dist/web/assets/http-BI6PtTvX.js +1 -0
- package/dist/web/assets/http-BI6PtTvX.js.br +0 -0
- package/dist/web/assets/http-BI6PtTvX.js.gz +0 -0
- package/dist/web/assets/hurl-CJGLGxAF.js +1 -0
- package/dist/web/assets/hurl-CJGLGxAF.js.br +0 -0
- package/dist/web/assets/hurl-CJGLGxAF.js.gz +0 -0
- package/dist/web/assets/hxml-B6i0QuF9.js +1 -0
- package/dist/web/assets/hxml-B6i0QuF9.js.br +0 -0
- package/dist/web/assets/hxml-B6i0QuF9.js.gz +0 -0
- package/dist/web/assets/image-preview-Cjlps7Pt.js +1 -0
- package/dist/web/assets/index-CyDLBddf.js +52 -0
- package/dist/web/assets/index-CyDLBddf.js.br +0 -0
- package/dist/web/assets/index-CyDLBddf.js.gz +0 -0
- package/dist/web/assets/index-Dh5apC3I.css +1 -0
- package/dist/web/assets/index-Dh5apC3I.css.br +0 -0
- package/dist/web/assets/index-Dh5apC3I.css.gz +0 -0
- package/dist/web/assets/info-3K5VOQVL-M5BVLjMe.js +1 -0
- package/dist/web/assets/infoDiagram-LFFYTUFH-BpJuT5o9.js +2 -0
- package/dist/web/assets/isEmpty-BjAN1oSC.js +1 -0
- package/dist/web/assets/isEmpty-BjAN1oSC.js.br +0 -0
- package/dist/web/assets/isEmpty-BjAN1oSC.js.gz +0 -0
- package/dist/web/assets/ishikawaDiagram-PHBUUO56-JbOmOY2f.js +70 -0
- package/dist/web/assets/ishikawaDiagram-PHBUUO56-JbOmOY2f.js.br +0 -0
- package/dist/web/assets/ishikawaDiagram-PHBUUO56-JbOmOY2f.js.gz +0 -0
- package/dist/web/assets/jinja-CM-duDMo.js +1 -0
- package/dist/web/assets/jinja-CM-duDMo.js.br +0 -0
- package/dist/web/assets/jinja-CM-duDMo.js.gz +0 -0
- package/dist/web/assets/jira-watcher-section-Dz_-sUC2.js +1 -0
- package/dist/web/assets/jison-F9rAmqyI.js +1 -0
- package/dist/web/assets/jison-F9rAmqyI.js.br +0 -0
- package/dist/web/assets/jison-F9rAmqyI.js.gz +0 -0
- package/dist/web/assets/journeyDiagram-4ABVD52K-C7_tilrE.js +139 -0
- package/dist/web/assets/journeyDiagram-4ABVD52K-C7_tilrE.js.br +0 -0
- package/dist/web/assets/journeyDiagram-4ABVD52K-C7_tilrE.js.gz +0 -0
- package/dist/web/assets/julia-AVSSuAUz.js +1 -0
- package/dist/web/assets/julia-AVSSuAUz.js.br +0 -0
- package/dist/web/assets/julia-AVSSuAUz.js.gz +0 -0
- package/dist/web/assets/just-Dw8IR-fy.js +1 -0
- package/dist/web/assets/just-Dw8IR-fy.js.br +0 -0
- package/dist/web/assets/just-Dw8IR-fy.js.gz +0 -0
- package/dist/web/assets/kanban-definition-K7BYSVSG-DvbxKeXt.js +89 -0
- package/dist/web/assets/kanban-definition-K7BYSVSG-DvbxKeXt.js.br +0 -0
- package/dist/web/assets/kanban-definition-K7BYSVSG-DvbxKeXt.js.gz +0 -0
- package/dist/web/assets/keybindings-store-BTq5Z7XP.js +1 -0
- package/dist/web/assets/keyboard-shortcuts-section-Ba5NYwlG.js +1 -0
- package/dist/web/assets/keyboard-shortcuts-section-Ba5NYwlG.js.br +0 -0
- package/dist/web/assets/keyboard-shortcuts-section-Ba5NYwlG.js.gz +0 -0
- package/dist/web/assets/language-servers-section-DJJ7SFXo.js +2 -0
- package/dist/web/assets/language-servers-section-DJJ7SFXo.js.br +0 -0
- package/dist/web/assets/language-servers-section-DJJ7SFXo.js.gz +0 -0
- package/dist/web/assets/latex-37_9fLdz.js +1 -0
- package/dist/web/assets/latex-37_9fLdz.js.br +0 -0
- package/dist/web/assets/latex-37_9fLdz.js.gz +0 -0
- package/dist/web/assets/line-CYtSrseF.js +1 -0
- package/dist/web/assets/linear-DyCrWAir.js +1 -0
- package/dist/web/assets/linear-DyCrWAir.js.br +0 -0
- package/dist/web/assets/linear-DyCrWAir.js.gz +0 -0
- package/dist/web/assets/liquid-CaR1gaJt.js +1 -0
- package/dist/web/assets/liquid-CaR1gaJt.js.br +0 -0
- package/dist/web/assets/liquid-CaR1gaJt.js.gz +0 -0
- package/dist/web/assets/lsp-client-Dr3vQ1bb.js +1 -0
- package/dist/web/assets/lsp-client-Dr3vQ1bb.js.br +0 -0
- package/dist/web/assets/lsp-client-Dr3vQ1bb.js.gz +0 -0
- package/dist/web/assets/lua-IFhrYmKl.js +1 -0
- package/dist/web/assets/lua-IFhrYmKl.js.br +0 -0
- package/dist/web/assets/lua-IFhrYmKl.js.gz +0 -0
- package/dist/web/assets/markdown-renderer-CmnqFfTU.js +5 -0
- package/dist/web/assets/markdown-renderer-CmnqFfTU.js.br +0 -0
- package/dist/web/assets/markdown-renderer-CmnqFfTU.js.gz +0 -0
- package/dist/web/assets/markdown-renderer-LJdVMbGl.js +1 -0
- package/dist/web/assets/marko-2g0T6atb.js +1 -0
- package/dist/web/assets/marko-2g0T6atb.js.br +0 -0
- package/dist/web/assets/marko-2g0T6atb.js.gz +0 -0
- package/dist/web/assets/mdc-Dku_3sTh.js +1 -0
- package/dist/web/assets/mdc-Dku_3sTh.js.br +0 -0
- package/dist/web/assets/mdc-Dku_3sTh.js.gz +0 -0
- package/dist/web/assets/mermaid-parser.core-C5vBM3kO.js +4 -0
- package/dist/web/assets/mermaid-parser.core-C5vBM3kO.js.br +0 -0
- package/dist/web/assets/mermaid-parser.core-C5vBM3kO.js.gz +0 -0
- package/dist/web/assets/mermaid.core-D5SAzB7L.js +11 -0
- package/dist/web/assets/mermaid.core-D5SAzB7L.js.br +0 -0
- package/dist/web/assets/mermaid.core-D5SAzB7L.js.gz +0 -0
- package/dist/web/assets/mindmap-definition-YRQLILUH-juNCbDFr.js +68 -0
- package/dist/web/assets/mindmap-definition-YRQLILUH-juNCbDFr.js.br +0 -0
- package/dist/web/assets/mindmap-definition-YRQLILUH-juNCbDFr.js.gz +0 -0
- package/dist/web/assets/mobile-bottom-sheet-D4UyOatB.js +1 -0
- package/dist/web/assets/mobile-bottom-sheet-D4UyOatB.js.br +0 -0
- package/dist/web/assets/mobile-bottom-sheet-D4UyOatB.js.gz +0 -0
- package/dist/web/assets/mobile-explorer-sheet-BiIhZtJ2.js +1 -0
- package/dist/web/assets/mobile-explorer-sheet-BiIhZtJ2.js.br +0 -0
- package/dist/web/assets/mobile-explorer-sheet-BiIhZtJ2.js.gz +0 -0
- package/dist/web/assets/new-design-dialog-DI_hxvFV.js +1 -0
- package/dist/web/assets/new-design-dialog-DI_hxvFV.js.br +0 -0
- package/dist/web/assets/new-design-dialog-DI_hxvFV.js.gz +0 -0
- package/dist/web/assets/nextflow-DwUrPV3b.js +1 -0
- package/dist/web/assets/nextflow-DwUrPV3b.js.br +0 -0
- package/dist/web/assets/nextflow-DwUrPV3b.js.gz +0 -0
- package/dist/web/assets/nginx-D10J2vrQ.js +1 -0
- package/dist/web/assets/nginx-D10J2vrQ.js.br +0 -0
- package/dist/web/assets/nginx-D10J2vrQ.js.gz +0 -0
- package/dist/web/assets/nim-BonDnBCZ.js +1 -0
- package/dist/web/assets/nim-BonDnBCZ.js.br +0 -0
- package/dist/web/assets/nim-BonDnBCZ.js.gz +0 -0
- package/dist/web/assets/notification-store-9lBSplOV.js +1 -0
- package/dist/web/assets/notifications-settings-section-0s-2OKRv.js +1 -0
- package/dist/web/assets/notifications-settings-section-0s-2OKRv.js.br +0 -0
- package/dist/web/assets/notifications-settings-section-0s-2OKRv.js.gz +0 -0
- package/dist/web/assets/number-overlay-editor-CHqPl6Pv.js +9 -0
- package/dist/web/assets/number-overlay-editor-CHqPl6Pv.js.br +0 -0
- package/dist/web/assets/number-overlay-editor-CHqPl6Pv.js.gz +0 -0
- package/dist/web/assets/onboarding-entry-CGFdGLLP.js +1 -0
- package/dist/web/assets/onboarding-entry-CGFdGLLP.js.br +0 -0
- package/dist/web/assets/onboarding-entry-CGFdGLLP.js.gz +0 -0
- package/dist/web/assets/onboarding-quick-orientation-DPHYFMbA.js +1 -0
- package/dist/web/assets/onboarding-quick-orientation-DPHYFMbA.js.br +0 -0
- package/dist/web/assets/onboarding-quick-orientation-DPHYFMbA.js.gz +0 -0
- package/dist/web/assets/ordinal-CEpaoDoJ.js +1 -0
- package/dist/web/assets/ordinal-CEpaoDoJ.js.br +0 -0
- package/dist/web/assets/ordinal-CEpaoDoJ.js.gz +0 -0
- package/dist/web/assets/overview-panel-3htxfZS2.js +1 -0
- package/dist/web/assets/overview-panel-3htxfZS2.js.br +0 -0
- package/dist/web/assets/overview-panel-3htxfZS2.js.gz +0 -0
- package/dist/web/assets/packet-RMMSAZCW-DCgVLum2.js +1 -0
- package/dist/web/assets/panel-store-B6PoCwBA.js +1 -0
- package/dist/web/assets/panel-store-B6PoCwBA.js.br +0 -0
- package/dist/web/assets/panel-store-B6PoCwBA.js.gz +0 -0
- package/dist/web/assets/performance-panel-V8gpnnf7.js +3 -0
- package/dist/web/assets/performance-panel-V8gpnnf7.js.br +0 -0
- package/dist/web/assets/performance-panel-V8gpnnf7.js.gz +0 -0
- package/dist/web/assets/perl-DmdIiZTm.js +1 -0
- package/dist/web/assets/perl-DmdIiZTm.js.br +0 -0
- package/dist/web/assets/perl-DmdIiZTm.js.gz +0 -0
- package/dist/web/assets/php-DXGvCIY0.js +1 -0
- package/dist/web/assets/php-DXGvCIY0.js.br +0 -0
- package/dist/web/assets/php-DXGvCIY0.js.gz +0 -0
- package/dist/web/assets/pie-UPGHQEXC-pxihnmef.js +1 -0
- package/dist/web/assets/pieDiagram-SKSYHLDU-CiJCYElI.js +30 -0
- package/dist/web/assets/pieDiagram-SKSYHLDU-CiJCYElI.js.br +0 -0
- package/dist/web/assets/pieDiagram-SKSYHLDU-CiJCYElI.js.gz +0 -0
- package/dist/web/assets/postgres-viewer-sWS-ogTC.js +3 -0
- package/dist/web/assets/postgres-viewer-sWS-ogTC.js.br +0 -0
- package/dist/web/assets/postgres-viewer-sWS-ogTC.js.gz +0 -0
- package/dist/web/assets/ppmbot-settings-section-CT8vvlzk.js +1 -0
- package/dist/web/assets/ppmbot-settings-section-CT8vvlzk.js.br +0 -0
- package/dist/web/assets/ppmbot-settings-section-CT8vvlzk.js.gz +0 -0
- package/dist/web/assets/pptx-export-Ugjv0hso.js +111 -0
- package/dist/web/assets/pptx-export-Ugjv0hso.js.br +0 -0
- package/dist/web/assets/pptx-export-Ugjv0hso.js.gz +0 -0
- package/dist/web/assets/problems-panel-Gcy79pSS.js +1 -0
- package/dist/web/assets/problems-panel-Gcy79pSS.js.br +0 -0
- package/dist/web/assets/problems-panel-Gcy79pSS.js.gz +0 -0
- package/dist/web/assets/process-row-format-u6y7lOee.js +1 -0
- package/dist/web/assets/process-table-BUTIp9Oy.js +1 -0
- package/dist/web/assets/process-table-BUTIp9Oy.js.br +0 -0
- package/dist/web/assets/process-table-BUTIp9Oy.js.gz +0 -0
- package/dist/web/assets/proxy-settings-section-Buv_8y54.js +1 -0
- package/dist/web/assets/proxy-settings-section-Buv_8y54.js.br +0 -0
- package/dist/web/assets/proxy-settings-section-Buv_8y54.js.gz +0 -0
- package/dist/web/assets/pug-BgMlgmpT.js +1 -0
- package/dist/web/assets/pug-BgMlgmpT.js.br +0 -0
- package/dist/web/assets/pug-BgMlgmpT.js.gz +0 -0
- package/dist/web/assets/qml-DjqBS8bc.js +1 -0
- package/dist/web/assets/qml-DjqBS8bc.js.br +0 -0
- package/dist/web/assets/qml-DjqBS8bc.js.gz +0 -0
- package/dist/web/assets/quadrantDiagram-337W2JSQ-D3q5dHQe.js +7 -0
- package/dist/web/assets/quadrantDiagram-337W2JSQ-D3q5dHQe.js.br +0 -0
- package/dist/web/assets/quadrantDiagram-337W2JSQ-D3q5dHQe.js.gz +0 -0
- package/dist/web/assets/query-audit-section-N2DQtgJx.js +1 -0
- package/dist/web/assets/query-audit-section-N2DQtgJx.js.br +0 -0
- package/dist/web/assets/query-audit-section-N2DQtgJx.js.gz +0 -0
- package/dist/web/assets/radar-KQ55EAFF-CeeNXQSm.js +1 -0
- package/dist/web/assets/razor-CzV29vlj.js +1 -0
- package/dist/web/assets/razor-CzV29vlj.js.br +0 -0
- package/dist/web/assets/razor-CzV29vlj.js.gz +0 -0
- package/dist/web/assets/remote-desktop-clipboard-notice-CRvJqmaz.js +1 -0
- package/dist/web/assets/remote-desktop-clipboard-notice-CRvJqmaz.js.br +0 -0
- package/dist/web/assets/remote-desktop-clipboard-notice-CRvJqmaz.js.gz +0 -0
- package/dist/web/assets/remote-desktop-mobile-sheet-BoYINLbJ.js +2 -0
- package/dist/web/assets/remote-desktop-mobile-sheet-BoYINLbJ.js.br +0 -0
- package/dist/web/assets/remote-desktop-mobile-sheet-BoYINLbJ.js.gz +0 -0
- package/dist/web/assets/remote-desktop-mobile-view-DPdP0yYu.js +1 -0
- package/dist/web/assets/remote-desktop-mobile-view-DPdP0yYu.js.br +0 -0
- package/dist/web/assets/remote-desktop-mobile-view-DPdP0yYu.js.gz +0 -0
- package/dist/web/assets/remote-desktop-readiness-gate-BeQ_Jrp7.js +1 -0
- package/dist/web/assets/remote-desktop-readiness-gate-BeQ_Jrp7.js.br +0 -0
- package/dist/web/assets/remote-desktop-readiness-gate-BeQ_Jrp7.js.gz +0 -0
- package/dist/web/assets/remote-desktop-settings-section-Bs4sHS3l.js +1 -0
- package/dist/web/assets/remote-desktop-settings-section-Bs4sHS3l.js.br +0 -0
- package/dist/web/assets/remote-desktop-settings-section-Bs4sHS3l.js.gz +0 -0
- package/dist/web/assets/remote-desktop-window-content-DDr__JxQ.js +1 -0
- package/dist/web/assets/remote-desktop-window-content-DDr__JxQ.js.br +0 -0
- package/dist/web/assets/remote-desktop-window-content-DDr__JxQ.js.gz +0 -0
- package/dist/web/assets/requirementDiagram-Z7DCOOCP-BZfeEsxv.js +73 -0
- package/dist/web/assets/requirementDiagram-Z7DCOOCP-BZfeEsxv.js.br +0 -0
- package/dist/web/assets/requirementDiagram-Z7DCOOCP-BZfeEsxv.js.gz +0 -0
- package/dist/web/assets/rst-DffOOLD7.js +1 -0
- package/dist/web/assets/rst-DffOOLD7.js.br +0 -0
- package/dist/web/assets/rst-DffOOLD7.js.gz +0 -0
- package/dist/web/assets/ruby-C5DczJCc.js +1 -0
- package/dist/web/assets/ruby-C5DczJCc.js.br +0 -0
- package/dist/web/assets/ruby-C5DczJCc.js.gz +0 -0
- package/dist/web/assets/run-in-terminal-DCBNtYHQ.js +1 -0
- package/dist/web/assets/sankeyDiagram-WA2Y5GQK-CxM5iAJY.js +10 -0
- package/dist/web/assets/sankeyDiagram-WA2Y5GQK-CxM5iAJY.js.br +0 -0
- package/dist/web/assets/sankeyDiagram-WA2Y5GQK-CxM5iAJY.js.gz +0 -0
- package/dist/web/assets/sas-CoO1xLdH.js +1 -0
- package/dist/web/assets/sas-CoO1xLdH.js.br +0 -0
- package/dist/web/assets/sas-CoO1xLdH.js.gz +0 -0
- package/dist/web/assets/schedules-settings-section-_cHX2qOa.js +1 -0
- package/dist/web/assets/schedules-settings-section-_cHX2qOa.js.br +0 -0
- package/dist/web/assets/schedules-settings-section-_cHX2qOa.js.gz +0 -0
- package/dist/web/assets/scss-d9PFDNvb.js +1 -0
- package/dist/web/assets/scss-d9PFDNvb.js.br +0 -0
- package/dist/web/assets/scss-d9PFDNvb.js.gz +0 -0
- package/dist/web/assets/send-to-chat-dNqNV7Y4.js +1 -0
- package/dist/web/assets/send-to-chat-dNqNV7Y4.js.br +0 -0
- package/dist/web/assets/send-to-chat-dNqNV7Y4.js.gz +0 -0
- package/dist/web/assets/sequenceDiagram-2WXFIKYE-D4PdZNfQ.js +145 -0
- package/dist/web/assets/sequenceDiagram-2WXFIKYE-D4PdZNfQ.js.br +0 -0
- package/dist/web/assets/sequenceDiagram-2WXFIKYE-D4PdZNfQ.js.gz +0 -0
- package/dist/web/assets/services-panel-Dm54cnW3.js +1 -0
- package/dist/web/assets/services-panel-Dm54cnW3.js.br +0 -0
- package/dist/web/assets/services-panel-Dm54cnW3.js.gz +0 -0
- package/dist/web/assets/session-list-sync-triggers-ATvz-1g3.js +1 -0
- package/dist/web/assets/session-list-sync-triggers-ATvz-1g3.js.br +0 -0
- package/dist/web/assets/session-list-sync-triggers-ATvz-1g3.js.gz +0 -0
- package/dist/web/assets/settings-body-DRRQNaDA.js +1 -0
- package/dist/web/assets/settings-body-DRRQNaDA.js.br +0 -0
- package/dist/web/assets/settings-body-DRRQNaDA.js.gz +0 -0
- package/dist/web/assets/settings-section-content-DRaHfvm8.js +1 -0
- package/dist/web/assets/settings-section-content-U3mIx6hF.js +2 -0
- package/dist/web/assets/settings-section-content-U3mIx6hF.js.br +0 -0
- package/dist/web/assets/settings-section-content-U3mIx6hF.js.gz +0 -0
- package/dist/web/assets/settings-store-Cyuo8ceh.js +2 -0
- package/dist/web/assets/settings-store-Cyuo8ceh.js.br +0 -0
- package/dist/web/assets/settings-store-Cyuo8ceh.js.gz +0 -0
- package/dist/web/assets/settings-tab-CB_BhHTK.js +1 -0
- package/dist/web/assets/settings-window-content-CgZIMNX8.js +1 -0
- package/dist/web/assets/shaderlab-BkB57LhQ.js +1 -0
- package/dist/web/assets/shaderlab-BkB57LhQ.js.br +0 -0
- package/dist/web/assets/shaderlab-BkB57LhQ.js.gz +0 -0
- package/dist/web/assets/shellsession-CTpUym8_.js +1 -0
- package/dist/web/assets/slash-command-picker-CQlIqMW0.js +1 -0
- package/dist/web/assets/slash-command-picker-CQlIqMW0.js.br +0 -0
- package/dist/web/assets/slash-command-picker-CQlIqMW0.js.gz +0 -0
- package/dist/web/assets/soy-CGmWpNZ2.js +1 -0
- package/dist/web/assets/soy-CGmWpNZ2.js.br +0 -0
- package/dist/web/assets/soy-CGmWpNZ2.js.gz +0 -0
- package/dist/web/assets/sparql-DtdOj_MX.js +1 -0
- package/dist/web/assets/sparql-DtdOj_MX.js.br +0 -0
- package/dist/web/assets/sparql-DtdOj_MX.js.gz +0 -0
- package/dist/web/assets/sql-query-editor--Z4bcqd8.js +1 -0
- package/dist/web/assets/sql-query-editor--Z4bcqd8.js.br +0 -0
- package/dist/web/assets/sql-query-editor--Z4bcqd8.js.gz +0 -0
- package/dist/web/assets/sqlite-viewer-CSmX3qaj.js +1 -0
- package/dist/web/assets/sqlite-viewer-CSmX3qaj.js.br +0 -0
- package/dist/web/assets/sqlite-viewer-CSmX3qaj.js.gz +0 -0
- package/dist/web/assets/stata-6W_BX14b.js +1 -0
- package/dist/web/assets/stata-6W_BX14b.js.br +0 -0
- package/dist/web/assets/stata-6W_BX14b.js.gz +0 -0
- package/dist/web/assets/stateDiagram-RAJIS63D-BasP-g7l.js +1 -0
- package/dist/web/assets/stateDiagram-RAJIS63D-BasP-g7l.js.br +0 -0
- package/dist/web/assets/stateDiagram-RAJIS63D-BasP-g7l.js.gz +0 -0
- package/dist/web/assets/stateDiagram-v2-FVOUBMTO-DH7CpDey.js +1 -0
- package/dist/web/assets/surrealql-BhmbH4Yk.js +1 -0
- package/dist/web/assets/surrealql-BhmbH4Yk.js.br +0 -0
- package/dist/web/assets/surrealql-BhmbH4Yk.js.gz +0 -0
- package/dist/web/assets/svelte-D6EOFdO-.js +1 -0
- package/dist/web/assets/svelte-D6EOFdO-.js.br +0 -0
- package/dist/web/assets/svelte-D6EOFdO-.js.gz +0 -0
- package/dist/web/assets/system-monitor-body-LannpU6H.js +2 -0
- package/dist/web/assets/system-monitor-body-LannpU6H.js.br +0 -0
- package/dist/web/assets/system-monitor-body-LannpU6H.js.gz +0 -0
- package/dist/web/assets/system-monitor-tab-BfVucwEF.js +1 -0
- package/dist/web/assets/system-monitor-window-content-kLNW9Ln3.js +1 -0
- package/dist/web/assets/tab-host-window-content-II_FtOYM.js +1 -0
- package/dist/web/assets/tab-host-window-content-II_FtOYM.js.br +0 -0
- package/dist/web/assets/tab-host-window-content-II_FtOYM.js.gz +0 -0
- package/dist/web/assets/tab-store-DCpc0g0Q.js +1 -0
- package/dist/web/assets/templ-DuLJgZN8.js +1 -0
- package/dist/web/assets/templ-DuLJgZN8.js.br +0 -0
- package/dist/web/assets/templ-DuLJgZN8.js.gz +0 -0
- package/dist/web/assets/terminal-tab-CTe2polt.js +3 -0
- package/dist/web/assets/terminal-tab-CTe2polt.js.br +0 -0
- package/dist/web/assets/terminal-tab-CTe2polt.js.gz +0 -0
- package/dist/web/assets/tex-D8IJD2J1.js +1 -0
- package/dist/web/assets/tex-D8IJD2J1.js.br +0 -0
- package/dist/web/assets/tex-D8IJD2J1.js.gz +0 -0
- package/dist/web/assets/timeline-definition-YZTLITO2-Do92I8eh.js +61 -0
- package/dist/web/assets/timeline-definition-YZTLITO2-Do92I8eh.js.br +0 -0
- package/dist/web/assets/timeline-definition-YZTLITO2-Do92I8eh.js.gz +0 -0
- package/dist/web/assets/tool-cards-rxLXbBSm.js +9 -0
- package/dist/web/assets/tool-cards-rxLXbBSm.js.br +0 -0
- package/dist/web/assets/tool-cards-rxLXbBSm.js.gz +0 -0
- package/dist/web/assets/treemap-KZPCXAKY-OVcqjFQG.js +1 -0
- package/dist/web/assets/ts-tags-BxVcUOvj.js +1 -0
- package/dist/web/assets/ts-tags-BxVcUOvj.js.br +0 -0
- package/dist/web/assets/ts-tags-BxVcUOvj.js.gz +0 -0
- package/dist/web/assets/twig-BT8vDHa2.js +1 -0
- package/dist/web/assets/twig-BT8vDHa2.js.br +0 -0
- package/dist/web/assets/twig-BT8vDHa2.js.gz +0 -0
- package/dist/web/assets/use-h264-canvas-decoder-BfO9QrlH.js +1 -0
- package/dist/web/assets/use-h264-canvas-decoder-BfO9QrlH.js.br +0 -0
- package/dist/web/assets/use-h264-canvas-decoder-BfO9QrlH.js.gz +0 -0
- package/dist/web/assets/use-inline-blame-CxZ_QWzS.js +16 -0
- package/dist/web/assets/use-inline-blame-CxZ_QWzS.js.br +0 -0
- package/dist/web/assets/use-inline-blame-CxZ_QWzS.js.gz +0 -0
- package/dist/web/assets/use-lsp-gCNE5A9K.js +6 -0
- package/dist/web/assets/use-lsp-gCNE5A9K.js.br +0 -0
- package/dist/web/assets/use-lsp-gCNE5A9K.js.gz +0 -0
- package/dist/web/assets/use-monaco-theme-DvNGcCvz.js +1 -0
- package/dist/web/assets/use-process-kill-Cbiu1mbY.js +1 -0
- package/dist/web/assets/use-process-kill-Cbiu1mbY.js.br +0 -0
- package/dist/web/assets/use-process-kill-Cbiu1mbY.js.gz +0 -0
- package/dist/web/assets/use-websocket-AC7EG1LK.js +1 -0
- package/dist/web/assets/vennDiagram-LZ73GAT5-ITFNzHRx.js +34 -0
- package/dist/web/assets/vennDiagram-LZ73GAT5-ITFNzHRx.js.br +0 -0
- package/dist/web/assets/vennDiagram-LZ73GAT5-ITFNzHRx.js.gz +0 -0
- package/dist/web/assets/video-preview-C2Y61WUE.js +1 -0
- package/dist/web/assets/video-preview-C2Y61WUE.js.br +0 -0
- package/dist/web/assets/video-preview-C2Y61WUE.js.gz +0 -0
- package/dist/web/assets/voice-settings-section-DCXZeLYI.js +1 -0
- package/dist/web/assets/voice-settings-section-DCXZeLYI.js.br +0 -0
- package/dist/web/assets/voice-settings-section-DCXZeLYI.js.gz +0 -0
- package/dist/web/assets/vue-BcyG2SyR.js +1 -0
- package/dist/web/assets/vue-BcyG2SyR.js.br +0 -0
- package/dist/web/assets/vue-BcyG2SyR.js.gz +0 -0
- package/dist/web/assets/vue-html-D8iVjZTe.js +1 -0
- package/dist/web/assets/vue-html-D8iVjZTe.js.br +0 -0
- package/dist/web/assets/vue-html-D8iVjZTe.js.gz +0 -0
- package/dist/web/assets/vue-vine-DxBjHHk4.js +1 -0
- package/dist/web/assets/vue-vine-DxBjHHk4.js.br +0 -0
- package/dist/web/assets/vue-vine-DxBjHHk4.js.gz +0 -0
- package/dist/web/assets/window-pip-registry-9Y9LQQYS.js +1 -0
- package/dist/web/assets/xml-Zepcw_qF.js +1 -0
- package/dist/web/assets/xml-Zepcw_qF.js.br +0 -0
- package/dist/web/assets/xml-Zepcw_qF.js.gz +0 -0
- package/dist/web/assets/xsl-_m-WMWv3.js +1 -0
- package/dist/web/assets/xsl-_m-WMWv3.js.br +0 -0
- package/dist/web/assets/xsl-_m-WMWv3.js.gz +0 -0
- package/dist/web/assets/xychartDiagram-JWTSCODW-Z12EI4TX.js +7 -0
- package/dist/web/assets/xychartDiagram-JWTSCODW-Z12EI4TX.js.br +0 -0
- package/dist/web/assets/xychartDiagram-JWTSCODW-Z12EI4TX.js.gz +0 -0
- package/dist/web/index.html +70 -26
- package/dist/web/index.html.br +0 -0
- package/dist/web/index.html.gz +0 -0
- package/dist/web/sw.js +1 -1
- package/dist/web/sw.js.br +0 -0
- package/dist/web/sw.js.gz +0 -0
- package/docs/architecture/android-emulator-phase0-report-260921.md +310 -0
- package/docs/architecture/android-emulator-phase2-report-260921.md +163 -0
- package/docs/architecture/android-emulator-phase3-report-260921.md +203 -0
- package/docs/architecture/android-emulator-phase4-report-260921.md +191 -0
- package/docs/architecture/android-emulator-plan-260920.md +376 -0
- package/docs/architecture/data-and-storage.md +1 -1
- package/docs/architecture/plugins-and-tracing.md +48 -7
- package/docs/architecture/workspace-and-ui.md +18 -8
- package/docs/deployment-guide.md +17 -0
- package/package.json +4 -2
- package/scripts/gen-android-proto.ts +37 -0
- package/scripts/release.sh +3 -1
- package/src/cli/commands/chat-cmd.ts +2 -2
- package/src/providers/claude-agent-sdk-query-options.ts +28 -0
- package/src/providers/claude-agent-sdk.ts +153 -71
- package/src/providers/claude-warm-spare.ts +176 -0
- package/src/providers/codex-app-server/codex-provider.ts +7 -4
- package/src/providers/provider.interface.ts +1 -0
- package/src/server/index.ts +55 -0
- package/src/server/middleware/gzip-json.ts +13 -1
- package/src/server/routes/android.ts +616 -0
- package/src/server/routes/chat.ts +31 -0
- package/src/server/routes/design-preview.ts +8 -2
- package/src/server/routes/design-settings.ts +88 -0
- package/src/server/routes/design-systems.ts +81 -0
- package/src/server/routes/designs.ts +11 -6
- package/src/server/routes/files.ts +52 -5
- package/src/server/routes/remote-desktop.ts +95 -2
- package/src/server/routes/resources.ts +2 -2
- package/src/server/routes/system-services.ts +15 -13
- package/src/server/routes/trace.ts +66 -0
- package/src/server/ws/android.ts +101 -0
- package/src/server/ws/chat.ts +12 -17
- package/src/server/ws/global.ts +13 -1
- package/src/server/ws/remote-desktop.ts +6 -1
- package/src/services/android/android-apk.ts +387 -0
- package/src/services/android/android-capabilities.ts +154 -0
- package/src/services/android/android-flag.ts +12 -0
- package/src/services/android/android-grpc.ts +124 -0
- package/src/services/android/android-input.ts +129 -0
- package/src/services/android/android-logcat.ts +169 -0
- package/src/services/android/android-nonce.ts +50 -0
- package/src/services/android/android-operations.ts +124 -0
- package/src/services/android/android-screenshot.ts +53 -0
- package/src/services/android/android-session.ts +510 -0
- package/src/services/android/android-video.ts +495 -0
- package/src/services/android/avd-list.ts +131 -0
- package/src/services/android/avd-manager.ts +397 -0
- package/src/services/android/device-registry.ts +223 -0
- package/src/services/android/emulator-discovery.ts +160 -0
- package/src/services/android/emulator-launcher.ts +290 -0
- package/src/services/android/proto/emulator-controller-descriptor.ts +10 -0
- package/src/services/android/proto/emulator_controller.proto +1791 -0
- package/src/services/android/sdk-discovery.ts +178 -0
- package/src/services/android/system-images.ts +124 -0
- package/src/services/chat.service.ts +106 -10
- package/src/services/config.service.ts +1 -1
- package/src/services/design/design-edit-undo-journal.ts +9 -0
- package/src/services/design/design-instructions-auto-setup-block.ts +36 -0
- package/src/services/design/design-instructions-system-block.ts +49 -0
- package/src/services/design/design-instructions.ts +59 -15
- package/src/services/design/design-manifest-system.ts +30 -0
- package/src/services/design/design-settings.service.ts +25 -0
- package/src/services/design/design-skill-sources.ts +70 -0
- package/src/services/design/design-slug.ts +4 -1
- package/src/services/design/design-starter-template.ts +4 -4
- package/src/services/design/design-store.service.ts +33 -17
- package/src/services/design/design-systems-paths.ts +119 -0
- package/src/services/design/design-systems-showcase-template.ts +42 -0
- package/src/services/design/design-systems-showcase.ts +76 -0
- package/src/services/design/design-systems-stale.ts +85 -0
- package/src/services/design/design-systems.service.ts +246 -0
- package/src/services/design/design-turn-snapshot.ts +5 -0
- package/src/services/design/design-tweaks-commit.service.ts +1 -1
- package/src/services/design/design-user-instructions.ts +92 -0
- package/src/services/design/design-user-section.ts +96 -0
- package/src/services/design/design-variants-resolve.ts +24 -0
- package/src/services/design/export/css-url-inline.ts +4 -3
- package/src/services/design/export/design-export-asset-reader.ts +23 -9
- package/src/services/design/export/design-zip-export.ts +51 -3
- package/src/services/design/preview/design-preview-scope.ts +27 -5
- package/src/services/design/preview/design-systems-alias.ts +20 -0
- package/src/services/design/source/design-style-sources.ts +16 -7
- package/src/services/file-filter.service.ts +2 -61
- package/src/services/file-glob.ts +67 -0
- package/src/services/file-index/file-index-runner.ts +169 -0
- package/src/services/file-index/file-index-worker.ts +73 -0
- package/src/services/file-index/index-search.ts +152 -0
- package/src/services/file-index/index-walk.ts +109 -0
- package/src/services/file-list-index.service.ts +189 -70
- package/src/services/file-watcher/linux-inotify.ts +238 -0
- package/src/services/file-watcher/watch-tree.ts +37 -6
- package/src/services/file-watcher.service.ts +40 -8
- package/src/services/file.service.ts +17 -6
- package/src/services/fs-credential-path-guard.ts +57 -20
- package/src/services/group-chat/group-chat.service.ts +1 -1
- package/src/services/jira-debug-session.service.ts +1 -1
- package/src/services/ppmbot/ppmbot-delegation.ts +1 -1
- package/src/services/ppmbot/ppmbot-service.ts +1 -1
- package/src/services/project-content-search.service.ts +45 -11
- package/src/services/proxy-agent-turn.ts +7 -3
- package/src/services/remote-desktop/mediamtx-catalog.ts +89 -0
- package/src/services/remote-desktop/mediamtx-config.ts +91 -0
- package/src/services/remote-desktop/mediamtx-install.service.ts +191 -0
- package/src/services/remote-desktop/mediamtx-paths.ts +51 -0
- package/src/services/remote-desktop/mediamtx-process.ts +152 -0
- package/src/services/remote-desktop/remote-desktop-capture-wayland.ts +312 -0
- package/src/services/remote-desktop/remote-desktop-capture.ts +60 -4
- package/src/services/remote-desktop/remote-desktop-portal.ts +529 -0
- package/src/services/remote-desktop/remote-desktop-requirements.ts +56 -20
- package/src/services/remote-desktop/remote-desktop-session.ts +77 -3
- package/src/services/remote-desktop/remote-desktop-whep-registry.ts +36 -0
- package/src/services/scheduler-runner.ts +2 -3
- package/src/services/session-trace/browser-trace-ingest.ts +131 -0
- package/src/services/session-trace/session-trace-cleanup.ts +65 -0
- package/src/services/session-trace/session-trace-db.ts +89 -0
- package/src/services/session-trace/session-trace-store.ts +132 -0
- package/src/services/session-trace/trace-coalescer.ts +86 -0
- package/src/services/session-trace/trace-recorder.ts +304 -0
- package/src/services/session-trace/trace-writer.ts +83 -0
- package/src/services/system-metrics/core-foundation-darwin.ts +98 -0
- package/src/services/system-metrics/cpu-details-darwin.ts +268 -0
- package/src/services/system-metrics/cpu-memory-collector.ts +26 -11
- package/src/services/system-metrics/darwin-ffi.ts +232 -0
- package/src/services/system-metrics/darwin-tool-reads.ts +111 -0
- package/src/services/system-metrics/device-collector-darwin.ts +78 -0
- package/src/services/system-metrics/device-collector-types.ts +4 -3
- package/src/services/system-metrics/disk-devices-darwin.ts +194 -0
- package/src/services/system-metrics/disk-inventory-darwin.ts +222 -0
- package/src/services/system-metrics/disk-net-collector-darwin.ts +16 -64
- package/src/services/system-metrics/gpu-darwin.ts +327 -0
- package/src/services/system-metrics/hardware-inventory.ts +50 -4
- package/src/services/system-metrics/hid-temperature-darwin.ts +148 -0
- package/src/services/system-metrics/ioreport-darwin.ts +389 -0
- package/src/services/system-metrics/memory-darwin.ts +200 -20
- package/src/services/system-metrics/net-devices-darwin.ts +207 -0
- package/src/services/system-metrics/net-inventory-darwin.ts +67 -0
- package/src/services/system-metrics/plist-binary.ts +236 -0
- package/src/services/system-metrics/plist-xml.ts +204 -0
- package/src/services/system-metrics/process-collector-darwin.ts +72 -15
- package/src/services/system-metrics/process-collector-types.ts +7 -2
- package/src/services/system-metrics/process-io-darwin.ts +62 -0
- package/src/services/system-metrics/process-net-collector-darwin.ts +7 -3
- package/src/services/system-metrics/process-path-darwin.ts +43 -0
- package/src/services/system-metrics/sensors-darwin.ts +93 -0
- package/src/services/system-metrics/smc-darwin.ts +574 -0
- package/src/services/system-metrics/system-metrics-platform.ts +21 -5
- package/src/services/system-metrics/system-metrics-tick.ts +8 -7
- package/src/services/system-metrics/wifi-darwin.ts +224 -0
- package/src/services/system-services/app-icon-service.ts +32 -6
- package/src/services/system-services/app-icons-darwin.ts +88 -0
- package/src/services/system-services/apps-darwin.ts +275 -0
- package/src/services/system-services/apps-linux.ts +3 -0
- package/src/services/system-services/launchd-collector.ts +273 -0
- package/src/services/system-services/launchd-guard.ts +125 -0
- package/src/services/system-services/launchd-job-index.ts +80 -0
- package/src/services/system-services/launchd-logs.ts +317 -0
- package/src/services/system-services/launchd-parse.ts +259 -0
- package/src/services/system-services/service-backend.ts +39 -0
- package/src/services/system-services/systemd-collector.ts +1 -0
- package/src/shared/android-avd.ts +53 -0
- package/src/shared/android-protocol.ts +184 -0
- package/src/shared/design-canvas-check-format.ts +8 -2
- package/src/shared/design-skill-mentions.ts +112 -0
- package/src/shared/design-skill-suggestion.ts +50 -0
- package/src/shared/design-system-init-prompt.ts +73 -18
- package/src/shared/design-types.ts +53 -4
- package/src/shared/design-variants.ts +101 -0
- package/src/shared/file-index-limits.ts +17 -0
- package/src/shared/session-trace.ts +61 -0
- package/src/types/chat.ts +19 -1
- package/src/types/config.ts +27 -0
- package/src/types/project.ts +9 -0
- package/src/types/system-hardware.ts +10 -1
- package/src/types/system-metrics.ts +38 -14
- package/src/types/system-services.ts +63 -16
- package/src/web/app.tsx +5 -0
- package/src/web/components/android/android-apk-upload.ts +75 -0
- package/src/web/components/android/android-avd-create-dialog.tsx +305 -0
- package/src/web/components/android/android-avd-destroy-dialog.tsx +151 -0
- package/src/web/components/android/android-clipboard-panel.tsx +94 -0
- package/src/web/components/android/android-controls.tsx +128 -0
- package/src/web/components/android/android-coords.ts +99 -0
- package/src/web/components/android/android-device-list.tsx +329 -0
- package/src/web/components/android/android-install-panel.tsx +280 -0
- package/src/web/components/android/android-log-filter.ts +75 -0
- package/src/web/components/android/android-logcat-panel.tsx +214 -0
- package/src/web/components/android/android-screenshot-download.ts +56 -0
- package/src/web/components/android/android-tab.tsx +66 -0
- package/src/web/components/android/android-tools-drawer.tsx +76 -0
- package/src/web/components/android/android-viewer.tsx +200 -0
- package/src/web/components/android/android-ws-url.ts +21 -0
- package/src/web/components/android/open-android.ts +21 -0
- package/src/web/components/android/use-android-available.ts +29 -0
- package/src/web/components/android/use-android-keyboard.ts +111 -0
- package/src/web/components/android/use-android-session.ts +277 -0
- package/src/web/components/android/use-android-touch.ts +123 -0
- package/src/web/components/chat/chat-tab.tsx +52 -3
- package/src/web/components/chat/message-input.tsx +8 -15
- package/src/web/components/design/canvas/design-canvas-pane.tsx +21 -37
- package/src/web/components/design/canvas/design-issues-badge.tsx +7 -4
- package/src/web/components/design/canvas/use-design-canvas.ts +15 -9
- package/src/web/components/design/canvas/use-design-frame.ts +36 -0
- package/src/web/components/design/canvas/use-design-live-reload.ts +23 -3
- package/src/web/components/design/canvas/use-design-preview-url.ts +33 -8
- package/src/web/components/design/design-skill-suggestion.tsx +79 -0
- package/src/web/components/design/design-system-setup-banner.tsx +116 -0
- package/src/web/components/design/design-systems-sidebar-group.tsx +68 -0
- package/src/web/components/design/design-tab.tsx +12 -6
- package/src/web/components/design/design-toolbar-badge.tsx +11 -0
- package/src/web/components/design/design-toolbar-list.tsx +5 -2
- package/src/web/components/design/design-toolbar.tsx +21 -21
- package/src/web/components/design/designs-sidebar-panel.tsx +34 -14
- package/src/web/components/design/dialogs/new-design-dialog.tsx +46 -4
- package/src/web/components/design/export/use-design-export.ts +46 -26
- package/src/web/components/design/use-design-auto-check.ts +2 -1
- package/src/web/components/design/variants/design-variant-controls.tsx +67 -0
- package/src/web/components/design/variants/use-design-variants.ts +62 -0
- package/src/web/components/editor/compare-picker.tsx +12 -2
- package/src/web/components/explorer/file-tree.tsx +6 -7
- package/src/web/components/explorer/use-tree-row-dnd.ts +0 -2
- package/src/web/components/floating-window/window-content-registry.ts +8 -8
- package/src/web/components/layout/command-palette.tsx +31 -9
- package/src/web/components/layout/mobile-drawer.tsx +8 -1
- package/src/web/components/layout/nav-section-rail.tsx +8 -1
- package/src/web/components/layout/reparenting-tab.tsx +2 -2
- package/src/web/components/layout/tab-content.tsx +5 -0
- package/src/web/components/layout/tab-pool.tsx +31 -20
- package/src/web/components/remote-desktop/use-h264-canvas-decoder.ts +23 -1
- package/src/web/components/remote-desktop/use-remote-desktop-connection.ts +64 -6
- package/src/web/components/remote-desktop/use-webrtc-canvas-video.ts +255 -0
- package/src/web/components/root-error-boundary.tsx +5 -0
- package/src/web/components/settings/design-app-form-dialog.tsx +87 -0
- package/src/web/components/settings/design-app-remove-dialog.tsx +51 -0
- package/src/web/components/settings/design-apps-settings-section.tsx +108 -0
- package/src/web/components/settings/design-instructions-editor.tsx +97 -0
- package/src/web/components/settings/design-settings-section.tsx +132 -0
- package/src/web/components/settings/design-skill-mention-status.tsx +41 -0
- package/src/web/components/settings/remote-desktop-settings-section.tsx +176 -0
- package/src/web/components/settings/settings-categories.ts +6 -0
- package/src/web/components/settings/settings-section-content.tsx +25 -17
- package/src/web/components/system/performance/cpu-detail.tsx +29 -8
- package/src/web/components/system/performance/fans-detail.tsx +20 -6
- package/src/web/components/system/performance/gpu-detail.tsx +36 -17
- package/src/web/components/system/performance/memory-detail.tsx +48 -25
- package/src/web/components/system/performance/nic-detail.tsx +6 -4
- package/src/web/components/system/performance/performance-panel.tsx +25 -9
- package/src/web/components/system/performance/use-hardware-inventory.ts +21 -1
- package/src/web/components/system/process-group-row.tsx +1 -1
- package/src/web/components/system/process-row-format.ts +6 -3
- package/src/web/components/system/process-row.tsx +1 -1
- package/src/web/components/system/process-table-toolbar.tsx +1 -1
- package/src/web/components/system/services/service-action-confirm.tsx +39 -5
- package/src/web/components/system/services/service-details-sheet.tsx +36 -12
- package/src/web/components/system/services/service-details-text.ts +44 -0
- package/src/web/components/system/services/service-resources.ts +10 -3
- package/src/web/components/system/services/service-row.tsx +14 -6
- package/src/web/components/system/services/service-rows.ts +15 -3
- package/src/web/components/system/services/services-panel.tsx +20 -12
- package/src/web/components/system/system-monitor-body.tsx +1 -0
- package/src/web/hooks/use-chat-prewarm.ts +53 -0
- package/src/web/hooks/use-chat.ts +18 -4
- package/src/web/hooks/use-file-index-invalidation.ts +7 -5
- package/src/web/hooks/use-global-events.ts +12 -1
- package/src/web/hooks/use-remote-file-search.ts +39 -0
- package/src/web/hooks/use-ui-preload.ts +38 -0
- package/src/web/index.html +43 -0
- package/src/web/lib/chunk-recovery.ts +5 -1
- package/src/web/lib/design/api-design-settings.ts +48 -0
- package/src/web/lib/design/api-design-systems.ts +49 -0
- package/src/web/lib/design/api-designs.ts +14 -10
- package/src/web/lib/design/design-change-filter.ts +12 -0
- package/src/web/lib/design/design-export-client.ts +5 -3
- package/src/web/lib/design/design-handoff-prompt.ts +8 -1
- package/src/web/lib/design/design-system-banner-state.ts +42 -0
- package/src/web/lib/design/design-system-status-label.ts +10 -0
- package/src/web/lib/design/design-view-prefs.ts +33 -9
- package/src/web/lib/design/last-used-design-system.ts +22 -0
- package/src/web/lib/design/run-design-system-setup.ts +52 -0
- package/src/web/lib/device-id.ts +39 -0
- package/src/web/lib/feature-badges.ts +2 -0
- package/src/web/lib/lazy-with-preload.tsx +43 -0
- package/src/web/lib/preload-ui.ts +60 -0
- package/src/web/lib/score-file-search.ts +27 -14
- package/src/web/lib/send-to-chat.ts +12 -3
- package/src/web/lib/slash-trigger.ts +27 -0
- package/src/web/lib/tab-type-icons.ts +2 -1
- package/src/web/lib/trace-boot.ts +8 -0
- package/src/web/lib/trace-client.ts +516 -0
- package/src/web/main.tsx +12 -0
- package/src/web/stores/file-store.ts +124 -18
- package/src/web/stores/panel-utils.ts +3 -0
- package/src/web/stores/tab-store.ts +2 -1
- package/src/web/stores/window-panel-persistence.ts +3 -0
- package/vite.config.ts +15 -1
- package/dist/web/assets/_basePickBy-Bw69zEQE.js +0 -1
- package/dist/web/assets/_basePickBy-Bw69zEQE.js.br +0 -0
- package/dist/web/assets/_basePickBy-Bw69zEQE.js.gz +0 -0
- package/dist/web/assets/_baseUniq-DAyolJ43.js +0 -1
- package/dist/web/assets/_baseUniq-DAyolJ43.js.br +0 -0
- package/dist/web/assets/_baseUniq-DAyolJ43.js.gz +0 -0
- package/dist/web/assets/accounts-settings-section-BOBJbG7i.js +0 -1
- package/dist/web/assets/accounts-settings-section-BOBJbG7i.js.br +0 -0
- package/dist/web/assets/accounts-settings-section-BOBJbG7i.js.gz +0 -0
- package/dist/web/assets/agent-session-sheet-CjD4hBZV.js +0 -2
- package/dist/web/assets/agent-session-sheet-CjD4hBZV.js.br +0 -0
- package/dist/web/assets/agent-session-sheet-CjD4hBZV.js.gz +0 -0
- package/dist/web/assets/agent-session-window-content-Drm1HsSn.js +0 -1
- package/dist/web/assets/agent-session-window-content-Drm1HsSn.js.br +0 -0
- package/dist/web/assets/agent-session-window-content-Drm1HsSn.js.gz +0 -0
- package/dist/web/assets/ai-resource-editor-M1Eax2Hc.js +0 -1
- package/dist/web/assets/ai-resource-editor-M1Eax2Hc.js.br +0 -0
- package/dist/web/assets/ai-resource-editor-M1Eax2Hc.js.gz +0 -0
- package/dist/web/assets/ai-settings-section-B73t9SXm.js +0 -1
- package/dist/web/assets/ai-settings-section-H173dm1k.js +0 -1
- package/dist/web/assets/ai-settings-section-H173dm1k.js.br +0 -0
- package/dist/web/assets/ai-settings-section-H173dm1k.js.gz +0 -0
- package/dist/web/assets/angular-html-J6Ms52K8.js +0 -1
- package/dist/web/assets/angular-html-J6Ms52K8.js.br +0 -0
- package/dist/web/assets/angular-html-J6Ms52K8.js.gz +0 -0
- package/dist/web/assets/angular-ts-CAhRz96e.js +0 -1
- package/dist/web/assets/angular-ts-CAhRz96e.js.br +0 -0
- package/dist/web/assets/angular-ts-CAhRz96e.js.gz +0 -0
- package/dist/web/assets/api-settings-BA_n8cPt.js +0 -1
- package/dist/web/assets/api-settings-BWgfXl7o.js +0 -1
- package/dist/web/assets/api-settings-BWgfXl7o.js.br +0 -0
- package/dist/web/assets/api-settings-BWgfXl7o.js.gz +0 -0
- package/dist/web/assets/apl-2MCcXlWR.js +0 -1
- package/dist/web/assets/apl-2MCcXlWR.js.br +0 -0
- package/dist/web/assets/apl-2MCcXlWR.js.gz +0 -0
- package/dist/web/assets/appearance-settings-section-Dqu20pt8.js +0 -1
- package/dist/web/assets/appearance-settings-section-Dqu20pt8.js.br +0 -0
- package/dist/web/assets/appearance-settings-section-Dqu20pt8.js.gz +0 -0
- package/dist/web/assets/apps-panel-mkrzY7K0.js +0 -1
- package/dist/web/assets/apps-panel-mkrzY7K0.js.br +0 -0
- package/dist/web/assets/apps-panel-mkrzY7K0.js.gz +0 -0
- package/dist/web/assets/arc-tdiKo2LM.js +0 -1
- package/dist/web/assets/arc-tdiKo2LM.js.br +0 -0
- package/dist/web/assets/arc-tdiKo2LM.js.gz +0 -0
- package/dist/web/assets/architecture-PBZL5I3N-Dd8ecdVL.js +0 -1
- package/dist/web/assets/architectureDiagram-2XIMDMQ5-D3Kyv-1E.js +0 -36
- package/dist/web/assets/architectureDiagram-2XIMDMQ5-D3Kyv-1E.js.br +0 -0
- package/dist/web/assets/architectureDiagram-2XIMDMQ5-D3Kyv-1E.js.gz +0 -0
- package/dist/web/assets/astro-Df1OdN4m.js +0 -1
- package/dist/web/assets/astro-Df1OdN4m.js.br +0 -0
- package/dist/web/assets/astro-Df1OdN4m.js.gz +0 -0
- package/dist/web/assets/audio-preview-BrS2qNK0.js +0 -1
- package/dist/web/assets/audio-preview-BrS2qNK0.js.br +0 -0
- package/dist/web/assets/audio-preview-BrS2qNK0.js.gz +0 -0
- package/dist/web/assets/blade-Cd63UVub.js +0 -1
- package/dist/web/assets/blade-Cd63UVub.js.br +0 -0
- package/dist/web/assets/blade-Cd63UVub.js.gz +0 -0
- package/dist/web/assets/blockDiagram-WCTKOSBZ-BMAZdvRi.js +0 -132
- package/dist/web/assets/blockDiagram-WCTKOSBZ-BMAZdvRi.js.br +0 -0
- package/dist/web/assets/blockDiagram-WCTKOSBZ-BMAZdvRi.js.gz +0 -0
- package/dist/web/assets/branch-review-tab-Dw3bNixU.js +0 -1
- package/dist/web/assets/branch-review-tab-Dw3bNixU.js.br +0 -0
- package/dist/web/assets/branch-review-tab-Dw3bNixU.js.gz +0 -0
- package/dist/web/assets/bsl-1CuDa_M4.js +0 -1
- package/dist/web/assets/bsl-1CuDa_M4.js.br +0 -0
- package/dist/web/assets/bsl-1CuDa_M4.js.gz +0 -0
- package/dist/web/assets/c4Diagram-IC4MRINW-CAjD3Gn8.js +0 -10
- package/dist/web/assets/c4Diagram-IC4MRINW-CAjD3Gn8.js.br +0 -0
- package/dist/web/assets/c4Diagram-IC4MRINW-CAjD3Gn8.js.gz +0 -0
- package/dist/web/assets/cairo-DU1PMYXA.js +0 -1
- package/dist/web/assets/cairo-DU1PMYXA.js.br +0 -0
- package/dist/web/assets/cairo-DU1PMYXA.js.gz +0 -0
- package/dist/web/assets/channel-BKByU_R7.js +0 -1
- package/dist/web/assets/chat-tab-BAbcVFzD.js +0 -15
- package/dist/web/assets/chat-tab-BAbcVFzD.js.br +0 -0
- package/dist/web/assets/chat-tab-BAbcVFzD.js.gz +0 -0
- package/dist/web/assets/chat-tab-BaXGaBEC.js +0 -1
- package/dist/web/assets/chat-tab-BaXGaBEC.js.br +0 -4
- package/dist/web/assets/chat-tab-BaXGaBEC.js.gz +0 -0
- package/dist/web/assets/chunk-4BX2VUAB-Bn-YX9SD.js +0 -1
- package/dist/web/assets/chunk-55IACEB6-BF1QUNzF.js +0 -1
- package/dist/web/assets/chunk-7E7YKBS2-Y8i842vs.js +0 -1
- package/dist/web/assets/chunk-7R4GIKGN-aYUi4Dg7.js +0 -80
- package/dist/web/assets/chunk-7R4GIKGN-aYUi4Dg7.js.br +0 -0
- package/dist/web/assets/chunk-7R4GIKGN-aYUi4Dg7.js.gz +0 -0
- package/dist/web/assets/chunk-C72U2L5F-DePb5v0g.js +0 -1
- package/dist/web/assets/chunk-EGIJ26TM-Cf91EBG8.js +0 -1
- package/dist/web/assets/chunk-FMBD7UC4-DBgmdGFu.js +0 -15
- package/dist/web/assets/chunk-GEFDOKGD-ChmKs9PJ.js +0 -2
- package/dist/web/assets/chunk-GEFDOKGD-ChmKs9PJ.js.br +0 -0
- package/dist/web/assets/chunk-GEFDOKGD-ChmKs9PJ.js.gz +0 -0
- package/dist/web/assets/chunk-GLR3WWYH-B1nZul8I.js +0 -2
- package/dist/web/assets/chunk-GLR3WWYH-B1nZul8I.js.br +0 -0
- package/dist/web/assets/chunk-GLR3WWYH-B1nZul8I.js.gz +0 -0
- package/dist/web/assets/chunk-HHEYEP7N-CoR3TyGL.js +0 -1
- package/dist/web/assets/chunk-JSJVCQXG-BpatlovW.js +0 -1
- package/dist/web/assets/chunk-JSJVCQXG-BpatlovW.js.br +0 -0
- package/dist/web/assets/chunk-JSJVCQXG-BpatlovW.js.gz +0 -0
- package/dist/web/assets/chunk-KX2RTZJC-CTJV1WGB.js +0 -1
- package/dist/web/assets/chunk-KYZI473N-BxfmPzFJ.js +0 -53
- package/dist/web/assets/chunk-KYZI473N-BxfmPzFJ.js.br +0 -0
- package/dist/web/assets/chunk-KYZI473N-BxfmPzFJ.js.gz +0 -0
- package/dist/web/assets/chunk-L3YUKLVL-BExrHOyg.js +0 -1
- package/dist/web/assets/chunk-MX3YWQON-BG9ObxKs.js +0 -1
- package/dist/web/assets/chunk-MX3YWQON-BG9ObxKs.js.br +0 -0
- package/dist/web/assets/chunk-MX3YWQON-BG9ObxKs.js.gz +0 -0
- package/dist/web/assets/chunk-NQ4KR5QH-B8xmieTd.js +0 -220
- package/dist/web/assets/chunk-NQ4KR5QH-B8xmieTd.js.br +0 -0
- package/dist/web/assets/chunk-NQ4KR5QH-B8xmieTd.js.gz +0 -0
- package/dist/web/assets/chunk-O4XLMI2P-Cf2YvmZo.js +0 -7
- package/dist/web/assets/chunk-O4XLMI2P-Cf2YvmZo.js.br +0 -0
- package/dist/web/assets/chunk-O4XLMI2P-Cf2YvmZo.js.gz +0 -0
- package/dist/web/assets/chunk-OZEHJAEY-wW-79da1.js +0 -1
- package/dist/web/assets/chunk-OZEHJAEY-wW-79da1.js.br +0 -0
- package/dist/web/assets/chunk-OZEHJAEY-wW-79da1.js.gz +0 -0
- package/dist/web/assets/chunk-PQ6SQG4A-BhCLzZ_8.js +0 -1
- package/dist/web/assets/chunk-PQ6SQG4A-BhCLzZ_8.js.br +0 -0
- package/dist/web/assets/chunk-PQ6SQG4A-BhCLzZ_8.js.gz +0 -0
- package/dist/web/assets/chunk-PU5JKC2W-CKUcSNda.js +0 -11
- package/dist/web/assets/chunk-PU5JKC2W-CKUcSNda.js.br +0 -0
- package/dist/web/assets/chunk-PU5JKC2W-CKUcSNda.js.gz +0 -0
- package/dist/web/assets/chunk-QZHKN3VN-CxEEroyy.js +0 -1
- package/dist/web/assets/chunk-R5LLSJPH-C6YJaeiQ.js +0 -1
- package/dist/web/assets/chunk-WL4C6EOR-fpGz5Qkt.js +0 -189
- package/dist/web/assets/chunk-WL4C6EOR-fpGz5Qkt.js.br +0 -0
- package/dist/web/assets/chunk-WL4C6EOR-fpGz5Qkt.js.gz +0 -0
- package/dist/web/assets/chunk-XIRO2GV7-D4mb9uez.js +0 -1
- package/dist/web/assets/chunk-XPW4576I-BsnVFuiw.js +0 -32
- package/dist/web/assets/chunk-XPW4576I-BsnVFuiw.js.br +0 -0
- package/dist/web/assets/chunk-XPW4576I-BsnVFuiw.js.gz +0 -0
- package/dist/web/assets/chunk-XZSTWKYB-C5ZAMBUL.js +0 -94
- package/dist/web/assets/chunk-XZSTWKYB-C5ZAMBUL.js.br +0 -0
- package/dist/web/assets/chunk-XZSTWKYB-C5ZAMBUL.js.gz +0 -0
- package/dist/web/assets/chunk-YBOYWFTD-D_MZS495.js +0 -1
- package/dist/web/assets/classDiagram-VBA2DB6C-C8hWXhiY.js +0 -1
- package/dist/web/assets/classDiagram-v2-RAHNMMFH-CagMLDTJ.js +0 -1
- package/dist/web/assets/clone-BqgSwKma.js +0 -1
- package/dist/web/assets/cobol-Bf7PNJa-.js +0 -1
- package/dist/web/assets/cobol-Bf7PNJa-.js.br +0 -0
- package/dist/web/assets/cobol-Bf7PNJa-.js.gz +0 -0
- package/dist/web/assets/code-editor-CXLANXnI.js +0 -7
- package/dist/web/assets/code-editor-CXLANXnI.js.br +0 -0
- package/dist/web/assets/code-editor-CXLANXnI.js.gz +0 -0
- package/dist/web/assets/codex-reset-credit-button-CB8Dfhki.js +0 -1
- package/dist/web/assets/codex-reset-credit-button-CB8Dfhki.js.br +0 -0
- package/dist/web/assets/codex-reset-credit-button-CB8Dfhki.js.gz +0 -0
- package/dist/web/assets/coffee-DWtdhq5t.js +0 -1
- package/dist/web/assets/coffee-DWtdhq5t.js.br +0 -0
- package/dist/web/assets/coffee-DWtdhq5t.js.gz +0 -0
- package/dist/web/assets/conflict-editor-CKsxIw3v.js +0 -19
- package/dist/web/assets/conflict-editor-CKsxIw3v.js.br +0 -0
- package/dist/web/assets/conflict-editor-CKsxIw3v.js.gz +0 -0
- package/dist/web/assets/cose-bilkent-S5V4N54A-Bl1C2PtT.js +0 -1
- package/dist/web/assets/cose-bilkent-S5V4N54A-Bl1C2PtT.js.br +0 -0
- package/dist/web/assets/cose-bilkent-S5V4N54A-Bl1C2PtT.js.gz +0 -0
- package/dist/web/assets/cpp-tzJ6DEF8.js +0 -1
- package/dist/web/assets/cpp-tzJ6DEF8.js.br +0 -0
- package/dist/web/assets/cpp-tzJ6DEF8.js.gz +0 -0
- package/dist/web/assets/crystal-D3O_7u8O.js +0 -1
- package/dist/web/assets/crystal-D3O_7u8O.js.br +0 -0
- package/dist/web/assets/crystal-D3O_7u8O.js.gz +0 -0
- package/dist/web/assets/csv-preview-U0v_r_-7.js +0 -2
- package/dist/web/assets/csv-preview-U0v_r_-7.js.br +0 -0
- package/dist/web/assets/csv-preview-U0v_r_-7.js.gz +0 -0
- package/dist/web/assets/dagre-KLK3FWXG-Dk_l3Pes.js +0 -4
- package/dist/web/assets/dagre-KLK3FWXG-Dk_l3Pes.js.br +0 -0
- package/dist/web/assets/dagre-KLK3FWXG-Dk_l3Pes.js.gz +0 -0
- package/dist/web/assets/dagre-Xi7wK-JA.js +0 -1
- package/dist/web/assets/dagre-Xi7wK-JA.js.br +0 -0
- package/dist/web/assets/dagre-Xi7wK-JA.js.gz +0 -0
- package/dist/web/assets/data-grid-overlay-editor-BtbgZvja.js +0 -1
- package/dist/web/assets/data-grid-overlay-editor-BtbgZvja.js.br +0 -0
- package/dist/web/assets/data-grid-overlay-editor-BtbgZvja.js.gz +0 -0
- package/dist/web/assets/database-viewer-xQyUcBoL.js +0 -1
- package/dist/web/assets/database-viewer-xQyUcBoL.js.br +0 -0
- package/dist/web/assets/database-viewer-xQyUcBoL.js.gz +0 -0
- package/dist/web/assets/design-export-client-D9h9wJ3e.js +0 -1
- package/dist/web/assets/design-export-client-D9h9wJ3e.js.br +0 -0
- package/dist/web/assets/design-export-client-D9h9wJ3e.js.gz +0 -0
- package/dist/web/assets/design-responsive-dialog-BhyR-zhE.js +0 -1
- package/dist/web/assets/design-responsive-dialog-BhyR-zhE.js.br +0 -0
- package/dist/web/assets/design-responsive-dialog-BhyR-zhE.js.gz +0 -0
- package/dist/web/assets/design-tab-aaAt2_QE.js +0 -33
- package/dist/web/assets/design-tab-aaAt2_QE.js.br +0 -0
- package/dist/web/assets/design-tab-aaAt2_QE.js.gz +0 -0
- package/dist/web/assets/designs-sidebar-panel-CTzO4Thu.js +0 -1
- package/dist/web/assets/designs-sidebar-panel-CTzO4Thu.js.br +0 -0
- package/dist/web/assets/designs-sidebar-panel-CTzO4Thu.js.gz +0 -0
- package/dist/web/assets/diagram-E7M64L7V-CMHanwJ6.js +0 -24
- package/dist/web/assets/diagram-E7M64L7V-CMHanwJ6.js.br +0 -0
- package/dist/web/assets/diagram-E7M64L7V-CMHanwJ6.js.gz +0 -0
- package/dist/web/assets/diagram-IFDJBPK2-C7JWw7ZZ.js +0 -43
- package/dist/web/assets/diagram-IFDJBPK2-C7JWw7ZZ.js.br +0 -0
- package/dist/web/assets/diagram-IFDJBPK2-C7JWw7ZZ.js.gz +0 -0
- package/dist/web/assets/diagram-P4PSJMXO-C7U4pK7W.js +0 -24
- package/dist/web/assets/diagram-P4PSJMXO-C7U4pK7W.js.br +0 -0
- package/dist/web/assets/diagram-P4PSJMXO-C7U4pK7W.js.gz +0 -0
- package/dist/web/assets/dialog-z8PLkL8n.js +0 -1
- package/dist/web/assets/dialog-z8PLkL8n.js.br +0 -0
- package/dist/web/assets/dialog-z8PLkL8n.js.gz +0 -0
- package/dist/web/assets/diff-viewer-CSE2-OE7.js +0 -4
- package/dist/web/assets/diff-viewer-CSE2-OE7.js.br +0 -0
- package/dist/web/assets/diff-viewer-CSE2-OE7.js.gz +0 -0
- package/dist/web/assets/edge-Ken4Hk5e.js +0 -1
- package/dist/web/assets/edge-Ken4Hk5e.js.br +0 -0
- package/dist/web/assets/edge-Ken4Hk5e.js.gz +0 -0
- package/dist/web/assets/edit-diff-preview-gH6pRk4S.js +0 -7
- package/dist/web/assets/edit-diff-preview-gH6pRk4S.js.br +0 -0
- package/dist/web/assets/edit-diff-preview-gH6pRk4S.js.gz +0 -0
- package/dist/web/assets/editor-language-service-CYl04pUy.js +0 -1
- package/dist/web/assets/editor-language-service-CYl04pUy.js.br +0 -0
- package/dist/web/assets/editor-language-service-CYl04pUy.js.gz +0 -0
- package/dist/web/assets/elixir-qzSsEy1Q.js +0 -1
- package/dist/web/assets/elixir-qzSsEy1Q.js.br +0 -0
- package/dist/web/assets/elixir-qzSsEy1Q.js.gz +0 -0
- package/dist/web/assets/elm-BKU79v-o.js +0 -1
- package/dist/web/assets/elm-BKU79v-o.js.br +0 -0
- package/dist/web/assets/elm-BKU79v-o.js.gz +0 -0
- package/dist/web/assets/erDiagram-INFDFZHY-D1kHE5Qj.js +0 -70
- package/dist/web/assets/erDiagram-INFDFZHY-D1kHE5Qj.js.br +0 -0
- package/dist/web/assets/erDiagram-INFDFZHY-D1kHE5Qj.js.gz +0 -0
- package/dist/web/assets/erb-CUMr2kDy.js +0 -1
- package/dist/web/assets/erb-CUMr2kDy.js.br +0 -0
- package/dist/web/assets/erb-CUMr2kDy.js.gz +0 -0
- package/dist/web/assets/erlang-DPA9imAd.js +0 -1
- package/dist/web/assets/erlang-DPA9imAd.js.br +0 -0
- package/dist/web/assets/erlang-DPA9imAd.js.gz +0 -0
- package/dist/web/assets/esm-DShyAo_4.js +0 -2
- package/dist/web/assets/esm-DShyAo_4.js.br +0 -0
- package/dist/web/assets/esm-DShyAo_4.js.gz +0 -0
- package/dist/web/assets/explorer-body-BBOcvwmV.js +0 -2
- package/dist/web/assets/explorer-body-BBOcvwmV.js.br +0 -0
- package/dist/web/assets/explorer-body-BBOcvwmV.js.gz +0 -0
- package/dist/web/assets/explorer-window-content-juCGcrkc.js +0 -1
- package/dist/web/assets/explorer-window-content-juCGcrkc.js.br +0 -0
- package/dist/web/assets/explorer-window-content-juCGcrkc.js.gz +0 -0
- package/dist/web/assets/extension-manager-section-poMRmwvg.js +0 -1
- package/dist/web/assets/extension-manager-section-poMRmwvg.js.br +0 -0
- package/dist/web/assets/extension-manager-section-poMRmwvg.js.gz +0 -0
- package/dist/web/assets/extension-webview-0QfzTI6s.js +0 -12
- package/dist/web/assets/extension-webview-0QfzTI6s.js.br +0 -0
- package/dist/web/assets/extension-webview-0QfzTI6s.js.gz +0 -0
- package/dist/web/assets/file-store-DCU7_YyB.js +0 -1
- package/dist/web/assets/file-store-DCU7_YyB.js.br +0 -0
- package/dist/web/assets/file-store-DCU7_YyB.js.gz +0 -0
- package/dist/web/assets/files-settings-section-DJptxRgH.js +0 -1
- package/dist/web/assets/files-settings-section-DJptxRgH.js.br +0 -0
- package/dist/web/assets/files-settings-section-DJptxRgH.js.gz +0 -0
- package/dist/web/assets/flowDiagram-PKNHOUZH-5j6r0h8E.js +0 -162
- package/dist/web/assets/flowDiagram-PKNHOUZH-5j6r0h8E.js.br +0 -0
- package/dist/web/assets/flowDiagram-PKNHOUZH-5j6r0h8E.js.gz +0 -0
- package/dist/web/assets/format-file-meta-B0ZpqzSM.js +0 -1
- package/dist/web/assets/format-file-meta-B0ZpqzSM.js.br +0 -0
- package/dist/web/assets/format-file-meta-B0ZpqzSM.js.gz +0 -0
- package/dist/web/assets/fortran-fixed-form-BnRe75vJ.js +0 -1
- package/dist/web/assets/fortran-fixed-form-BnRe75vJ.js.br +0 -0
- package/dist/web/assets/fortran-fixed-form-BnRe75vJ.js.gz +0 -0
- package/dist/web/assets/fsharp-C0D14cqr.js +0 -1
- package/dist/web/assets/fsharp-C0D14cqr.js.br +0 -0
- package/dist/web/assets/fsharp-C0D14cqr.js.gz +0 -0
- package/dist/web/assets/ganttDiagram-A5KZAMGK-CJX_hRxO.js +0 -292
- package/dist/web/assets/ganttDiagram-A5KZAMGK-CJX_hRxO.js.br +0 -0
- package/dist/web/assets/ganttDiagram-A5KZAMGK-CJX_hRxO.js.gz +0 -0
- package/dist/web/assets/gdresource-DDQStAPx.js +0 -1
- package/dist/web/assets/gdresource-DDQStAPx.js.br +0 -0
- package/dist/web/assets/gdresource-DDQStAPx.js.gz +0 -0
- package/dist/web/assets/general-settings-section-BFNbdDNv.js +0 -1
- package/dist/web/assets/general-settings-section-BFNbdDNv.js.br +0 -0
- package/dist/web/assets/general-settings-section-BFNbdDNv.js.gz +0 -0
- package/dist/web/assets/git-commit-BcF7ip8n.js +0 -1
- package/dist/web/assets/git-commit-BcF7ip8n.js.br +0 -2
- package/dist/web/assets/git-commit-BcF7ip8n.js.gz +0 -0
- package/dist/web/assets/git-log-panel-SMMIbjSe.js +0 -1
- package/dist/web/assets/git-log-panel-SMMIbjSe.js.br +0 -0
- package/dist/web/assets/git-log-panel-SMMIbjSe.js.gz +0 -0
- package/dist/web/assets/git-rebase-DQ-DGs9P.js +0 -1
- package/dist/web/assets/gitGraph-HDMCJU4V-Dwqx7AzH.js +0 -1
- package/dist/web/assets/gitGraphDiagram-K3NZZRJ6-DnkwBYek.js +0 -65
- package/dist/web/assets/gitGraphDiagram-K3NZZRJ6-DnkwBYek.js.br +0 -0
- package/dist/web/assets/gitGraphDiagram-K3NZZRJ6-DnkwBYek.js.gz +0 -0
- package/dist/web/assets/glide-data-grid-DZVmgu0T.js +0 -141
- package/dist/web/assets/glide-data-grid-DZVmgu0T.js.br +0 -0
- package/dist/web/assets/glide-data-grid-DZVmgu0T.js.gz +0 -0
- package/dist/web/assets/glimmer-js-Cn05Qf4f.js +0 -1
- package/dist/web/assets/glimmer-js-Cn05Qf4f.js.br +0 -0
- package/dist/web/assets/glimmer-js-Cn05Qf4f.js.gz +0 -0
- package/dist/web/assets/glimmer-ts-ukNFxH-o.js +0 -1
- package/dist/web/assets/glimmer-ts-ukNFxH-o.js.br +0 -0
- package/dist/web/assets/glimmer-ts-ukNFxH-o.js.gz +0 -0
- package/dist/web/assets/glsl-D7XHVdFd.js +0 -1
- package/dist/web/assets/glsl-D7XHVdFd.js.br +0 -0
- package/dist/web/assets/glsl-D7XHVdFd.js.gz +0 -0
- package/dist/web/assets/graphlib-otYit1an.js +0 -1
- package/dist/web/assets/graphlib-otYit1an.js.br +0 -0
- package/dist/web/assets/graphlib-otYit1an.js.gz +0 -0
- package/dist/web/assets/graphql-BujSBt9z.js +0 -1
- package/dist/web/assets/graphql-BujSBt9z.js.br +0 -0
- package/dist/web/assets/graphql-BujSBt9z.js.gz +0 -0
- package/dist/web/assets/group-chat-tab-d_aaYuK_.js +0 -1
- package/dist/web/assets/group-chat-tab-d_aaYuK_.js.br +0 -0
- package/dist/web/assets/group-chat-tab-d_aaYuK_.js.gz +0 -0
- package/dist/web/assets/hack-zmnOVU3R.js +0 -1
- package/dist/web/assets/hack-zmnOVU3R.js.br +0 -0
- package/dist/web/assets/hack-zmnOVU3R.js.gz +0 -0
- package/dist/web/assets/haml-DIs8wmxP.js +0 -1
- package/dist/web/assets/haml-DIs8wmxP.js.br +0 -0
- package/dist/web/assets/haml-DIs8wmxP.js.gz +0 -0
- package/dist/web/assets/handlebars-BjIyUuCC.js +0 -1
- package/dist/web/assets/handlebars-BjIyUuCC.js.br +0 -0
- package/dist/web/assets/handlebars-BjIyUuCC.js.gz +0 -0
- package/dist/web/assets/html-Dgrt7dRq.js +0 -1
- package/dist/web/assets/html-Dgrt7dRq.js.br +0 -0
- package/dist/web/assets/html-Dgrt7dRq.js.gz +0 -0
- package/dist/web/assets/html-derivative-CsPUnWon.js +0 -1
- package/dist/web/assets/http-CUl13kbR.js +0 -1
- package/dist/web/assets/http-CUl13kbR.js.br +0 -0
- package/dist/web/assets/http-CUl13kbR.js.gz +0 -0
- package/dist/web/assets/hurl-BXqL73E2.js +0 -1
- package/dist/web/assets/hurl-BXqL73E2.js.br +0 -0
- package/dist/web/assets/hurl-BXqL73E2.js.gz +0 -0
- package/dist/web/assets/hxml-DXKLhcpl.js +0 -1
- package/dist/web/assets/hxml-DXKLhcpl.js.br +0 -0
- package/dist/web/assets/hxml-DXKLhcpl.js.gz +0 -0
- package/dist/web/assets/image-preview-DuODZoNO.js +0 -1
- package/dist/web/assets/index-BmsPSBtF.css +0 -1
- package/dist/web/assets/index-BmsPSBtF.css.br +0 -0
- package/dist/web/assets/index-BmsPSBtF.css.gz +0 -0
- package/dist/web/assets/index-CIscPw4g.js +0 -52
- package/dist/web/assets/index-CIscPw4g.js.br +0 -0
- package/dist/web/assets/index-CIscPw4g.js.gz +0 -0
- package/dist/web/assets/info-3K5VOQVL-BNTEA-rE.js +0 -1
- package/dist/web/assets/infoDiagram-LFFYTUFH-Cy0n0rSo.js +0 -2
- package/dist/web/assets/isEmpty-BDA3VnUk.js +0 -1
- package/dist/web/assets/isEmpty-BDA3VnUk.js.br +0 -2
- package/dist/web/assets/isEmpty-BDA3VnUk.js.gz +0 -0
- package/dist/web/assets/ishikawaDiagram-PHBUUO56-C5OufTs3.js +0 -70
- package/dist/web/assets/ishikawaDiagram-PHBUUO56-C5OufTs3.js.br +0 -0
- package/dist/web/assets/ishikawaDiagram-PHBUUO56-C5OufTs3.js.gz +0 -0
- package/dist/web/assets/jinja-BcLcRUjT.js +0 -1
- package/dist/web/assets/jinja-BcLcRUjT.js.br +0 -0
- package/dist/web/assets/jinja-BcLcRUjT.js.gz +0 -0
- package/dist/web/assets/jira-watcher-section-CsbhnLLn.js +0 -1
- package/dist/web/assets/jison-B9yzZVz4.js +0 -1
- package/dist/web/assets/jison-B9yzZVz4.js.br +0 -0
- package/dist/web/assets/jison-B9yzZVz4.js.gz +0 -0
- package/dist/web/assets/journeyDiagram-4ABVD52K-CEF5TlV8.js +0 -139
- package/dist/web/assets/journeyDiagram-4ABVD52K-CEF5TlV8.js.br +0 -0
- package/dist/web/assets/journeyDiagram-4ABVD52K-CEF5TlV8.js.gz +0 -0
- package/dist/web/assets/julia-CJkZzFKP.js +0 -1
- package/dist/web/assets/julia-CJkZzFKP.js.br +0 -0
- package/dist/web/assets/julia-CJkZzFKP.js.gz +0 -0
- package/dist/web/assets/just-C44GS86E.js +0 -1
- package/dist/web/assets/just-C44GS86E.js.br +0 -0
- package/dist/web/assets/just-C44GS86E.js.gz +0 -0
- package/dist/web/assets/kanban-definition-K7BYSVSG-BPtiCSi5.js +0 -89
- package/dist/web/assets/kanban-definition-K7BYSVSG-BPtiCSi5.js.br +0 -0
- package/dist/web/assets/kanban-definition-K7BYSVSG-BPtiCSi5.js.gz +0 -0
- package/dist/web/assets/keybindings-store-BPs0pM0r.js +0 -1
- package/dist/web/assets/keyboard-shortcuts-section-CXqc2OtM.js +0 -1
- package/dist/web/assets/keyboard-shortcuts-section-CXqc2OtM.js.br +0 -0
- package/dist/web/assets/keyboard-shortcuts-section-CXqc2OtM.js.gz +0 -0
- package/dist/web/assets/language-servers-section-B4FsBVvZ.js +0 -2
- package/dist/web/assets/language-servers-section-B4FsBVvZ.js.br +0 -0
- package/dist/web/assets/language-servers-section-B4FsBVvZ.js.gz +0 -0
- package/dist/web/assets/latex-DInNvJDf.js +0 -1
- package/dist/web/assets/latex-DInNvJDf.js.br +0 -0
- package/dist/web/assets/latex-DInNvJDf.js.gz +0 -0
- package/dist/web/assets/line-CM_Cil_v.js +0 -1
- package/dist/web/assets/linear-uttzXe-M.js +0 -1
- package/dist/web/assets/linear-uttzXe-M.js.br +0 -0
- package/dist/web/assets/linear-uttzXe-M.js.gz +0 -0
- package/dist/web/assets/liquid-CBcFjKJU.js +0 -1
- package/dist/web/assets/liquid-CBcFjKJU.js.br +0 -0
- package/dist/web/assets/liquid-CBcFjKJU.js.gz +0 -0
- package/dist/web/assets/lsp-client-MQ4mjDfT.js +0 -1
- package/dist/web/assets/lsp-client-MQ4mjDfT.js.br +0 -0
- package/dist/web/assets/lsp-client-MQ4mjDfT.js.gz +0 -0
- package/dist/web/assets/lua-BZXtZv2R.js +0 -1
- package/dist/web/assets/lua-BZXtZv2R.js.br +0 -0
- package/dist/web/assets/lua-BZXtZv2R.js.gz +0 -0
- package/dist/web/assets/markdown-renderer-BvCZZlue.js +0 -1
- package/dist/web/assets/markdown-renderer-CjPb5pns.js +0 -5
- package/dist/web/assets/markdown-renderer-CjPb5pns.js.br +0 -0
- package/dist/web/assets/markdown-renderer-CjPb5pns.js.gz +0 -0
- package/dist/web/assets/marko-rw0cyptA.js +0 -1
- package/dist/web/assets/marko-rw0cyptA.js.br +0 -0
- package/dist/web/assets/marko-rw0cyptA.js.gz +0 -0
- package/dist/web/assets/mdc-DlEHJVBz.js +0 -1
- package/dist/web/assets/mdc-DlEHJVBz.js.br +0 -0
- package/dist/web/assets/mdc-DlEHJVBz.js.gz +0 -0
- package/dist/web/assets/mermaid-parser.core-D15K-OQt.js +0 -4
- package/dist/web/assets/mermaid-parser.core-D15K-OQt.js.br +0 -0
- package/dist/web/assets/mermaid-parser.core-D15K-OQt.js.gz +0 -0
- package/dist/web/assets/mermaid.core-CzH9eDdk.js +0 -11
- package/dist/web/assets/mermaid.core-CzH9eDdk.js.br +0 -0
- package/dist/web/assets/mermaid.core-CzH9eDdk.js.gz +0 -0
- package/dist/web/assets/mindmap-definition-YRQLILUH-Bs0uMwX_.js +0 -68
- package/dist/web/assets/mindmap-definition-YRQLILUH-Bs0uMwX_.js.br +0 -0
- package/dist/web/assets/mindmap-definition-YRQLILUH-Bs0uMwX_.js.gz +0 -0
- package/dist/web/assets/mobile-bottom-sheet-CLic9ovp.js +0 -1
- package/dist/web/assets/mobile-bottom-sheet-CLic9ovp.js.br +0 -0
- package/dist/web/assets/mobile-bottom-sheet-CLic9ovp.js.gz +0 -0
- package/dist/web/assets/mobile-explorer-sheet-0aGhVQtI.js +0 -1
- package/dist/web/assets/mobile-explorer-sheet-0aGhVQtI.js.br +0 -0
- package/dist/web/assets/mobile-explorer-sheet-0aGhVQtI.js.gz +0 -0
- package/dist/web/assets/new-design-dialog-2oT2oc_F.js +0 -1
- package/dist/web/assets/new-design-dialog-2oT2oc_F.js.br +0 -0
- package/dist/web/assets/new-design-dialog-2oT2oc_F.js.gz +0 -0
- package/dist/web/assets/nextflow-DxkUhMdp.js +0 -1
- package/dist/web/assets/nextflow-DxkUhMdp.js.br +0 -0
- package/dist/web/assets/nextflow-DxkUhMdp.js.gz +0 -0
- package/dist/web/assets/nginx-62Ft1TFn.js +0 -1
- package/dist/web/assets/nginx-62Ft1TFn.js.br +0 -0
- package/dist/web/assets/nginx-62Ft1TFn.js.gz +0 -0
- package/dist/web/assets/nim-DcHjQWnX.js +0 -1
- package/dist/web/assets/nim-DcHjQWnX.js.br +0 -0
- package/dist/web/assets/nim-DcHjQWnX.js.gz +0 -0
- package/dist/web/assets/notification-store-Dd25PMPQ.js +0 -1
- package/dist/web/assets/notifications-settings-section-QeNYQwV1.js +0 -1
- package/dist/web/assets/notifications-settings-section-QeNYQwV1.js.br +0 -3
- package/dist/web/assets/notifications-settings-section-QeNYQwV1.js.gz +0 -0
- package/dist/web/assets/number-overlay-editor-xzM7GhYV.js +0 -9
- package/dist/web/assets/number-overlay-editor-xzM7GhYV.js.br +0 -0
- package/dist/web/assets/number-overlay-editor-xzM7GhYV.js.gz +0 -0
- package/dist/web/assets/onboarding-entry-Bh-WE3vq.js +0 -1
- package/dist/web/assets/onboarding-entry-Bh-WE3vq.js.br +0 -0
- package/dist/web/assets/onboarding-entry-Bh-WE3vq.js.gz +0 -0
- package/dist/web/assets/onboarding-quick-orientation-WLKI95GY.js +0 -1
- package/dist/web/assets/onboarding-quick-orientation-WLKI95GY.js.br +0 -0
- package/dist/web/assets/onboarding-quick-orientation-WLKI95GY.js.gz +0 -0
- package/dist/web/assets/ordinal-tB7t1fBX.js +0 -1
- package/dist/web/assets/ordinal-tB7t1fBX.js.br +0 -0
- package/dist/web/assets/ordinal-tB7t1fBX.js.gz +0 -0
- package/dist/web/assets/overview-panel-jYyiDmut.js +0 -1
- package/dist/web/assets/overview-panel-jYyiDmut.js.br +0 -0
- package/dist/web/assets/overview-panel-jYyiDmut.js.gz +0 -0
- package/dist/web/assets/packet-RMMSAZCW-PexBvQKN.js +0 -1
- package/dist/web/assets/panel-store-1X6yM3XZ.js +0 -1
- package/dist/web/assets/panel-store-1X6yM3XZ.js.br +0 -0
- package/dist/web/assets/panel-store-1X6yM3XZ.js.gz +0 -0
- package/dist/web/assets/performance-panel-Ub96qrEH.js +0 -3
- package/dist/web/assets/performance-panel-Ub96qrEH.js.br +0 -0
- package/dist/web/assets/performance-panel-Ub96qrEH.js.gz +0 -0
- package/dist/web/assets/perl-Ceq8UFIR.js +0 -1
- package/dist/web/assets/perl-Ceq8UFIR.js.br +0 -0
- package/dist/web/assets/perl-Ceq8UFIR.js.gz +0 -0
- package/dist/web/assets/php-1Lsklgkb.js +0 -1
- package/dist/web/assets/php-1Lsklgkb.js.br +0 -0
- package/dist/web/assets/php-1Lsklgkb.js.gz +0 -0
- package/dist/web/assets/pie-UPGHQEXC-Cnk03D15.js +0 -1
- package/dist/web/assets/pieDiagram-SKSYHLDU-C6kQJeXW.js +0 -30
- package/dist/web/assets/pieDiagram-SKSYHLDU-C6kQJeXW.js.br +0 -0
- package/dist/web/assets/pieDiagram-SKSYHLDU-C6kQJeXW.js.gz +0 -0
- package/dist/web/assets/postgres-viewer-DiI6yvzb.js +0 -3
- package/dist/web/assets/postgres-viewer-DiI6yvzb.js.br +0 -0
- package/dist/web/assets/postgres-viewer-DiI6yvzb.js.gz +0 -0
- package/dist/web/assets/ppmbot-settings-section-CPMGP66g.js +0 -1
- package/dist/web/assets/ppmbot-settings-section-CPMGP66g.js.br +0 -0
- package/dist/web/assets/ppmbot-settings-section-CPMGP66g.js.gz +0 -0
- package/dist/web/assets/pptx-export-D378qi81.js +0 -111
- package/dist/web/assets/pptx-export-D378qi81.js.br +0 -0
- package/dist/web/assets/pptx-export-D378qi81.js.gz +0 -0
- package/dist/web/assets/problems-panel-CWwzZIP3.js +0 -1
- package/dist/web/assets/problems-panel-CWwzZIP3.js.br +0 -0
- package/dist/web/assets/problems-panel-CWwzZIP3.js.gz +0 -0
- package/dist/web/assets/process-row-format-Dbs_tAZ2.js +0 -1
- package/dist/web/assets/process-table-BwPws3zS.js +0 -1
- package/dist/web/assets/process-table-BwPws3zS.js.br +0 -0
- package/dist/web/assets/process-table-BwPws3zS.js.gz +0 -0
- package/dist/web/assets/proxy-settings-section-nS8VbxI_.js +0 -1
- package/dist/web/assets/proxy-settings-section-nS8VbxI_.js.br +0 -0
- package/dist/web/assets/proxy-settings-section-nS8VbxI_.js.gz +0 -0
- package/dist/web/assets/pug-Baa_KKxu.js +0 -1
- package/dist/web/assets/pug-Baa_KKxu.js.br +0 -0
- package/dist/web/assets/pug-Baa_KKxu.js.gz +0 -0
- package/dist/web/assets/qml-DkxSUM4O.js +0 -1
- package/dist/web/assets/qml-DkxSUM4O.js.br +0 -0
- package/dist/web/assets/qml-DkxSUM4O.js.gz +0 -0
- package/dist/web/assets/quadrantDiagram-337W2JSQ-CpNJp34_.js +0 -7
- package/dist/web/assets/quadrantDiagram-337W2JSQ-CpNJp34_.js.br +0 -0
- package/dist/web/assets/quadrantDiagram-337W2JSQ-CpNJp34_.js.gz +0 -0
- package/dist/web/assets/query-audit-section-Dv5Pxn-w.js +0 -1
- package/dist/web/assets/query-audit-section-Dv5Pxn-w.js.br +0 -0
- package/dist/web/assets/query-audit-section-Dv5Pxn-w.js.gz +0 -0
- package/dist/web/assets/radar-KQ55EAFF-DAKOTfGS.js +0 -1
- package/dist/web/assets/razor-DXiIfWAM.js +0 -1
- package/dist/web/assets/razor-DXiIfWAM.js.br +0 -0
- package/dist/web/assets/razor-DXiIfWAM.js.gz +0 -0
- package/dist/web/assets/remote-desktop-clipboard-notice-DEbdu0hC.js +0 -1
- package/dist/web/assets/remote-desktop-clipboard-notice-DEbdu0hC.js.br +0 -0
- package/dist/web/assets/remote-desktop-clipboard-notice-DEbdu0hC.js.gz +0 -0
- package/dist/web/assets/remote-desktop-mobile-sheet-BJm-akVY.js +0 -2
- package/dist/web/assets/remote-desktop-mobile-sheet-BJm-akVY.js.br +0 -0
- package/dist/web/assets/remote-desktop-mobile-sheet-BJm-akVY.js.gz +0 -0
- package/dist/web/assets/remote-desktop-mobile-view-DPdGFD6C.js +0 -1
- package/dist/web/assets/remote-desktop-mobile-view-DPdGFD6C.js.br +0 -0
- package/dist/web/assets/remote-desktop-mobile-view-DPdGFD6C.js.gz +0 -0
- package/dist/web/assets/remote-desktop-readiness-gate-DV7YgSpP.js +0 -1
- package/dist/web/assets/remote-desktop-readiness-gate-DV7YgSpP.js.br +0 -0
- package/dist/web/assets/remote-desktop-readiness-gate-DV7YgSpP.js.gz +0 -0
- package/dist/web/assets/remote-desktop-window-content-BktcWMjD.js +0 -1
- package/dist/web/assets/remote-desktop-window-content-BktcWMjD.js.br +0 -0
- package/dist/web/assets/remote-desktop-window-content-BktcWMjD.js.gz +0 -0
- package/dist/web/assets/requirementDiagram-Z7DCOOCP-DDJk4m9N.js +0 -73
- package/dist/web/assets/requirementDiagram-Z7DCOOCP-DDJk4m9N.js.br +0 -0
- package/dist/web/assets/requirementDiagram-Z7DCOOCP-DDJk4m9N.js.gz +0 -0
- package/dist/web/assets/rst-D-Y9n5Co.js +0 -1
- package/dist/web/assets/rst-D-Y9n5Co.js.br +0 -0
- package/dist/web/assets/rst-D-Y9n5Co.js.gz +0 -0
- package/dist/web/assets/ruby-B-F9BwY7.js +0 -1
- package/dist/web/assets/ruby-B-F9BwY7.js.br +0 -0
- package/dist/web/assets/ruby-B-F9BwY7.js.gz +0 -0
- package/dist/web/assets/run-in-terminal-B_PCeBqG.js +0 -1
- package/dist/web/assets/sankeyDiagram-WA2Y5GQK-BwS5Ty3s.js +0 -10
- package/dist/web/assets/sankeyDiagram-WA2Y5GQK-BwS5Ty3s.js.br +0 -0
- package/dist/web/assets/sankeyDiagram-WA2Y5GQK-BwS5Ty3s.js.gz +0 -0
- package/dist/web/assets/sas-fuBUrPyY.js +0 -1
- package/dist/web/assets/sas-fuBUrPyY.js.br +0 -0
- package/dist/web/assets/sas-fuBUrPyY.js.gz +0 -0
- package/dist/web/assets/schedules-settings-section-B3HYKSVh.js +0 -1
- package/dist/web/assets/schedules-settings-section-B3HYKSVh.js.br +0 -0
- package/dist/web/assets/schedules-settings-section-B3HYKSVh.js.gz +0 -0
- package/dist/web/assets/scss-D-S9GOOa.js +0 -1
- package/dist/web/assets/scss-D-S9GOOa.js.br +0 -0
- package/dist/web/assets/scss-D-S9GOOa.js.gz +0 -0
- package/dist/web/assets/send-to-chat-Bjg6c8Ld.js +0 -1
- package/dist/web/assets/send-to-chat-Bjg6c8Ld.js.br +0 -0
- package/dist/web/assets/send-to-chat-Bjg6c8Ld.js.gz +0 -0
- package/dist/web/assets/sequenceDiagram-2WXFIKYE-Bzj80L9s.js +0 -145
- package/dist/web/assets/sequenceDiagram-2WXFIKYE-Bzj80L9s.js.br +0 -0
- package/dist/web/assets/sequenceDiagram-2WXFIKYE-Bzj80L9s.js.gz +0 -0
- package/dist/web/assets/services-panel-D6k6AVS4.js +0 -1
- package/dist/web/assets/services-panel-D6k6AVS4.js.br +0 -0
- package/dist/web/assets/services-panel-D6k6AVS4.js.gz +0 -0
- package/dist/web/assets/settings-body-Cu0mNA5x.js +0 -2
- package/dist/web/assets/settings-body-Cu0mNA5x.js.br +0 -0
- package/dist/web/assets/settings-body-Cu0mNA5x.js.gz +0 -0
- package/dist/web/assets/settings-store-DIV25PM_.js +0 -2
- package/dist/web/assets/settings-store-DIV25PM_.js.br +0 -0
- package/dist/web/assets/settings-store-DIV25PM_.js.gz +0 -0
- package/dist/web/assets/settings-tab-C-A6RNQ3.js +0 -1
- package/dist/web/assets/settings-window-content-48e5FJAq.js +0 -1
- package/dist/web/assets/shaderlab-CbKXv2hc.js +0 -1
- package/dist/web/assets/shaderlab-CbKXv2hc.js.br +0 -0
- package/dist/web/assets/shaderlab-CbKXv2hc.js.gz +0 -0
- package/dist/web/assets/shellsession-QyLVGGSs.js +0 -1
- package/dist/web/assets/soy-D3jPyr8y.js +0 -1
- package/dist/web/assets/soy-D3jPyr8y.js.br +0 -0
- package/dist/web/assets/soy-D3jPyr8y.js.gz +0 -0
- package/dist/web/assets/sparql-CYT9glll.js +0 -1
- package/dist/web/assets/sparql-CYT9glll.js.br +0 -0
- package/dist/web/assets/sparql-CYT9glll.js.gz +0 -0
- package/dist/web/assets/sql-query-editor-CgGWYu9K.js +0 -1
- package/dist/web/assets/sql-query-editor-CgGWYu9K.js.br +0 -0
- package/dist/web/assets/sql-query-editor-CgGWYu9K.js.gz +0 -0
- package/dist/web/assets/sqlite-viewer-Co1Oi3dv.js +0 -1
- package/dist/web/assets/sqlite-viewer-Co1Oi3dv.js.br +0 -0
- package/dist/web/assets/sqlite-viewer-Co1Oi3dv.js.gz +0 -0
- package/dist/web/assets/stata-CuZibPbZ.js +0 -1
- package/dist/web/assets/stata-CuZibPbZ.js.br +0 -0
- package/dist/web/assets/stata-CuZibPbZ.js.gz +0 -0
- package/dist/web/assets/stateDiagram-RAJIS63D-BFSaNtAC.js +0 -1
- package/dist/web/assets/stateDiagram-RAJIS63D-BFSaNtAC.js.br +0 -0
- package/dist/web/assets/stateDiagram-RAJIS63D-BFSaNtAC.js.gz +0 -0
- package/dist/web/assets/stateDiagram-v2-FVOUBMTO-Dq5o5Edc.js +0 -1
- package/dist/web/assets/surrealql-DCt_HqT_.js +0 -1
- package/dist/web/assets/surrealql-DCt_HqT_.js.br +0 -0
- package/dist/web/assets/surrealql-DCt_HqT_.js.gz +0 -0
- package/dist/web/assets/svelte-Dxef3zzb.js +0 -1
- package/dist/web/assets/svelte-Dxef3zzb.js.br +0 -0
- package/dist/web/assets/svelte-Dxef3zzb.js.gz +0 -0
- package/dist/web/assets/system-monitor-body-DxPKVa-W.js +0 -2
- package/dist/web/assets/system-monitor-body-DxPKVa-W.js.br +0 -0
- package/dist/web/assets/system-monitor-body-DxPKVa-W.js.gz +0 -0
- package/dist/web/assets/system-monitor-tab-4miOZuQQ.js +0 -1
- package/dist/web/assets/system-monitor-window-content-B-A7DdML.js +0 -1
- package/dist/web/assets/tab-host-window-content-CChcpg1v.js +0 -1
- package/dist/web/assets/tab-host-window-content-CChcpg1v.js.br +0 -0
- package/dist/web/assets/tab-host-window-content-CChcpg1v.js.gz +0 -0
- package/dist/web/assets/tab-store-D33icgdA.js +0 -1
- package/dist/web/assets/templ-BxPyLSW3.js +0 -1
- package/dist/web/assets/templ-BxPyLSW3.js.br +0 -0
- package/dist/web/assets/templ-BxPyLSW3.js.gz +0 -0
- package/dist/web/assets/terminal-tab-BDqlyBLK.js +0 -3
- package/dist/web/assets/terminal-tab-BDqlyBLK.js.br +0 -0
- package/dist/web/assets/terminal-tab-BDqlyBLK.js.gz +0 -0
- package/dist/web/assets/tex-X8wxt-z9.js +0 -1
- package/dist/web/assets/tex-X8wxt-z9.js.br +0 -0
- package/dist/web/assets/tex-X8wxt-z9.js.gz +0 -0
- package/dist/web/assets/timeline-definition-YZTLITO2-DeyGFXdF.js +0 -61
- package/dist/web/assets/timeline-definition-YZTLITO2-DeyGFXdF.js.br +0 -0
- package/dist/web/assets/timeline-definition-YZTLITO2-DeyGFXdF.js.gz +0 -0
- package/dist/web/assets/tool-cards-iJ8tyrLq.js +0 -9
- package/dist/web/assets/tool-cards-iJ8tyrLq.js.br +0 -0
- package/dist/web/assets/tool-cards-iJ8tyrLq.js.gz +0 -0
- package/dist/web/assets/treemap-KZPCXAKY-CWZwaAa2.js +0 -1
- package/dist/web/assets/ts-tags-xWmciEKa.js +0 -1
- package/dist/web/assets/ts-tags-xWmciEKa.js.br +0 -0
- package/dist/web/assets/ts-tags-xWmciEKa.js.gz +0 -0
- package/dist/web/assets/twig-B62mBY9Q.js +0 -1
- package/dist/web/assets/twig-B62mBY9Q.js.br +0 -0
- package/dist/web/assets/twig-B62mBY9Q.js.gz +0 -0
- package/dist/web/assets/use-inline-blame-D9js570a.js +0 -16
- package/dist/web/assets/use-inline-blame-D9js570a.js.br +0 -0
- package/dist/web/assets/use-inline-blame-D9js570a.js.gz +0 -0
- package/dist/web/assets/use-lsp-BYtylZId.js +0 -6
- package/dist/web/assets/use-lsp-BYtylZId.js.br +0 -0
- package/dist/web/assets/use-lsp-BYtylZId.js.gz +0 -0
- package/dist/web/assets/use-monaco-theme-DJ8y_7IZ.js +0 -1
- package/dist/web/assets/use-process-kill-BS84S-kD.js +0 -1
- package/dist/web/assets/use-process-kill-BS84S-kD.js.br +0 -0
- package/dist/web/assets/use-process-kill-BS84S-kD.js.gz +0 -0
- package/dist/web/assets/use-websocket-Mqj27umG.js +0 -1
- package/dist/web/assets/vennDiagram-LZ73GAT5-Bbwf0YLL.js +0 -34
- package/dist/web/assets/vennDiagram-LZ73GAT5-Bbwf0YLL.js.br +0 -0
- package/dist/web/assets/vennDiagram-LZ73GAT5-Bbwf0YLL.js.gz +0 -0
- package/dist/web/assets/video-preview-BuzUAIma.js +0 -1
- package/dist/web/assets/video-preview-BuzUAIma.js.br +0 -0
- package/dist/web/assets/video-preview-BuzUAIma.js.gz +0 -0
- package/dist/web/assets/voice-settings-section-DnwQjBbw.js +0 -1
- package/dist/web/assets/voice-settings-section-DnwQjBbw.js.br +0 -0
- package/dist/web/assets/voice-settings-section-DnwQjBbw.js.gz +0 -0
- package/dist/web/assets/vue-Dx8GG0dF.js +0 -1
- package/dist/web/assets/vue-Dx8GG0dF.js.br +0 -0
- package/dist/web/assets/vue-Dx8GG0dF.js.gz +0 -0
- package/dist/web/assets/vue-html-Dg_kQiUk.js +0 -1
- package/dist/web/assets/vue-html-Dg_kQiUk.js.br +0 -0
- package/dist/web/assets/vue-html-Dg_kQiUk.js.gz +0 -0
- package/dist/web/assets/vue-vine-Da7b1CgK.js +0 -1
- package/dist/web/assets/vue-vine-Da7b1CgK.js.br +0 -0
- package/dist/web/assets/vue-vine-Da7b1CgK.js.gz +0 -0
- package/dist/web/assets/window-pip-registry-Bl--fK8-.js +0 -1
- package/dist/web/assets/xml-Gz-NM9x2.js +0 -1
- package/dist/web/assets/xml-Gz-NM9x2.js.br +0 -0
- package/dist/web/assets/xml-Gz-NM9x2.js.gz +0 -0
- package/dist/web/assets/xsl-DkiCKXu5.js +0 -1
- package/dist/web/assets/xsl-DkiCKXu5.js.br +0 -0
- package/dist/web/assets/xsl-DkiCKXu5.js.gz +0 -0
- package/dist/web/assets/xychartDiagram-JWTSCODW-BtHgREli.js +0 -7
- package/dist/web/assets/xychartDiagram-JWTSCODW-BtHgREli.js.br +0 -0
- package/dist/web/assets/xychartDiagram-JWTSCODW-BtHgREli.js.gz +0 -0
- /package/dist/web/assets/{__vite-browser-external-BMqZFa_k.js → __vite-browser-external-C5mXParC.js} +0 -0
- /package/dist/web/assets/{abap-DEWZ8BfO.js → abap-Ds6L4g_T.js} +0 -0
- /package/dist/web/assets/{abap-DEWZ8BfO.js.br → abap-Ds6L4g_T.js.br} +0 -0
- /package/dist/web/assets/{abap-DEWZ8BfO.js.gz → abap-Ds6L4g_T.js.gz} +0 -0
- /package/dist/web/assets/{actionscript-3-Csfd4JWP.js → actionscript-3-CLNiH4aj.js} +0 -0
- /package/dist/web/assets/{actionscript-3-Csfd4JWP.js.br → actionscript-3-CLNiH4aj.js.br} +0 -0
- /package/dist/web/assets/{actionscript-3-Csfd4JWP.js.gz → actionscript-3-CLNiH4aj.js.gz} +0 -0
- /package/dist/web/assets/{ada-DV_KFgBU.js → ada-BoiebnO1.js} +0 -0
- /package/dist/web/assets/{ada-DV_KFgBU.js.br → ada-BoiebnO1.js.br} +0 -0
- /package/dist/web/assets/{ada-DV_KFgBU.js.gz → ada-BoiebnO1.js.gz} +0 -0
- /package/dist/web/assets/{agent-session-sheet-store-BcQbnaV2.js → agent-session-sheet-store-_OeezCXB.js} +0 -0
- /package/dist/web/assets/{andromeeda-wg0iUpxt.js → andromeeda-CdMZLp1H.js} +0 -0
- /package/dist/web/assets/{andromeeda-wg0iUpxt.js.br → andromeeda-CdMZLp1H.js.br} +0 -0
- /package/dist/web/assets/{andromeeda-wg0iUpxt.js.gz → andromeeda-CdMZLp1H.js.gz} +0 -0
- /package/dist/web/assets/{apache-CdwViB2Y.js → apache-BKOdPQIP.js} +0 -0
- /package/dist/web/assets/{apache-CdwViB2Y.js.br → apache-BKOdPQIP.js.br} +0 -0
- /package/dist/web/assets/{apache-CdwViB2Y.js.gz → apache-BKOdPQIP.js.gz} +0 -0
- /package/dist/web/assets/{apex-DjpPrCTU.js → apex-kTmPDDVo.js} +0 -0
- /package/dist/web/assets/{apex-DjpPrCTU.js.br → apex-kTmPDDVo.js.br} +0 -0
- /package/dist/web/assets/{apex-DjpPrCTU.js.gz → apex-kTmPDDVo.js.gz} +0 -0
- /package/dist/web/assets/{api-themes-DiF-wuKh.js → api-themes-BtMBSjuM.js} +0 -0
- /package/dist/web/assets/{applescript-CGbSGD4R.js → applescript-C65SMPLe.js} +0 -0
- /package/dist/web/assets/{applescript-CGbSGD4R.js.br → applescript-C65SMPLe.js.br} +0 -0
- /package/dist/web/assets/{applescript-CGbSGD4R.js.gz → applescript-C65SMPLe.js.gz} +0 -0
- /package/dist/web/assets/{apply-theme-aVoqSG0I.js → apply-theme-Cc_cmrD5.js} +0 -0
- /package/dist/web/assets/{ara-1-9TqW15.js → ara-BKT6no2T.js} +0 -0
- /package/dist/web/assets/{ara-1-9TqW15.js.br → ara-BKT6no2T.js.br} +0 -0
- /package/dist/web/assets/{ara-1-9TqW15.js.gz → ara-BKT6no2T.js.gz} +0 -0
- /package/dist/web/assets/{array-fwuN0Fua.js → array-F4LNYbhF.js} +0 -0
- /package/dist/web/assets/{asciidoc-DzSPlQkC.js → asciidoc-BGur0ue3.js} +0 -0
- /package/dist/web/assets/{asciidoc-DzSPlQkC.js.br → asciidoc-BGur0ue3.js.br} +0 -0
- /package/dist/web/assets/{asciidoc-DzSPlQkC.js.gz → asciidoc-BGur0ue3.js.gz} +0 -0
- /package/dist/web/assets/{asm-C3PsH5OJ.js → asm-DOfgqCKD.js} +0 -0
- /package/dist/web/assets/{asm-C3PsH5OJ.js.br → asm-DOfgqCKD.js.br} +0 -0
- /package/dist/web/assets/{asm-C3PsH5OJ.js.gz → asm-DOfgqCKD.js.gz} +0 -0
- /package/dist/web/assets/{aurora-x--713kWoQ.js → aurora-x-D64MWGxe.js} +0 -0
- /package/dist/web/assets/{aurora-x--713kWoQ.js.br → aurora-x-D64MWGxe.js.br} +0 -0
- /package/dist/web/assets/{aurora-x--713kWoQ.js.gz → aurora-x-D64MWGxe.js.gz} +0 -0
- /package/dist/web/assets/{awk-DmvCNQFQ.js → awk-B_r8LcWp.js} +0 -0
- /package/dist/web/assets/{awk-DmvCNQFQ.js.br → awk-B_r8LcWp.js.br} +0 -0
- /package/dist/web/assets/{awk-DmvCNQFQ.js.gz → awk-B_r8LcWp.js.gz} +0 -0
- /package/dist/web/assets/{ayu-dark-8co70cPM.js → ayu-dark-DlDyr9-5.js} +0 -0
- /package/dist/web/assets/{ayu-dark-8co70cPM.js.br → ayu-dark-DlDyr9-5.js.br} +0 -0
- /package/dist/web/assets/{ayu-dark-8co70cPM.js.gz → ayu-dark-DlDyr9-5.js.gz} +0 -0
- /package/dist/web/assets/{ayu-light-CAGFfaLb.js → ayu-light-BF0a181n.js} +0 -0
- /package/dist/web/assets/{ayu-light-CAGFfaLb.js.br → ayu-light-BF0a181n.js.br} +0 -0
- /package/dist/web/assets/{ayu-light-CAGFfaLb.js.gz → ayu-light-BF0a181n.js.gz} +0 -0
- /package/dist/web/assets/{ayu-mirage-Bpbk4keR.js → ayu-mirage-B6hnRsHM.js} +0 -0
- /package/dist/web/assets/{ayu-mirage-Bpbk4keR.js.br → ayu-mirage-B6hnRsHM.js.br} +0 -0
- /package/dist/web/assets/{ayu-mirage-Bpbk4keR.js.gz → ayu-mirage-B6hnRsHM.js.gz} +0 -0
- /package/dist/web/assets/{ballerina-BHbHOl8y.js → ballerina-CyhD34qA.js} +0 -0
- /package/dist/web/assets/{ballerina-BHbHOl8y.js.br → ballerina-CyhD34qA.js.br} +0 -0
- /package/dist/web/assets/{ballerina-BHbHOl8y.js.gz → ballerina-CyhD34qA.js.gz} +0 -0
- /package/dist/web/assets/{bat-BcnkOgri.js → bat-wHB_k1YG.js} +0 -0
- /package/dist/web/assets/{bat-BcnkOgri.js.br → bat-wHB_k1YG.js.br} +0 -0
- /package/dist/web/assets/{bat-BcnkOgri.js.gz → bat-wHB_k1YG.js.gz} +0 -0
- /package/dist/web/assets/{beancount-952ROYkl.js → beancount-SUF8MnzM.js} +0 -0
- /package/dist/web/assets/{beancount-952ROYkl.js.br → beancount-SUF8MnzM.js.br} +0 -0
- /package/dist/web/assets/{beancount-952ROYkl.js.gz → beancount-SUF8MnzM.js.gz} +0 -0
- /package/dist/web/assets/{berry-yDQfynXd.js → berry-BP_34_jr.js} +0 -0
- /package/dist/web/assets/{berry-yDQfynXd.js.br → berry-BP_34_jr.js.br} +0 -0
- /package/dist/web/assets/{berry-yDQfynXd.js.gz → berry-BP_34_jr.js.gz} +0 -0
- /package/dist/web/assets/{bibtex-TdWMdJVz.js → bibtex-DKgKw2bN.js} +0 -0
- /package/dist/web/assets/{bibtex-TdWMdJVz.js.br → bibtex-DKgKw2bN.js.br} +0 -0
- /package/dist/web/assets/{bibtex-TdWMdJVz.js.gz → bibtex-DKgKw2bN.js.gz} +0 -0
- /package/dist/web/assets/{bicep-CFQHR1PY.js → bicep-BjU-KQeN.js} +0 -0
- /package/dist/web/assets/{bicep-CFQHR1PY.js.br → bicep-BjU-KQeN.js.br} +0 -0
- /package/dist/web/assets/{bicep-CFQHR1PY.js.gz → bicep-BjU-KQeN.js.gz} +0 -0
- /package/dist/web/assets/{bird2-BdRJM4BV.js → bird2-CCFmrT2P.js} +0 -0
- /package/dist/web/assets/{bird2-BdRJM4BV.js.br → bird2-CCFmrT2P.js.br} +0 -0
- /package/dist/web/assets/{bird2-BdRJM4BV.js.gz → bird2-CCFmrT2P.js.gz} +0 -0
- /package/dist/web/assets/{button-CsmGH5xa.js → button-DeAyLH9U.js} +0 -0
- /package/dist/web/assets/{button-CsmGH5xa.js.br → button-DeAyLH9U.js.br} +0 -0
- /package/dist/web/assets/{button-CsmGH5xa.js.gz → button-DeAyLH9U.js.gz} +0 -0
- /package/dist/web/assets/{c-Bc2eqPiL.js → c-BX-1170_.js} +0 -0
- /package/dist/web/assets/{c-Bc2eqPiL.js.br → c-BX-1170_.js.br} +0 -0
- /package/dist/web/assets/{c-Bc2eqPiL.js.gz → c-BX-1170_.js.gz} +0 -0
- /package/dist/web/assets/{c3-CRxq42OE.js → c3-DSc4IcLQ.js} +0 -0
- /package/dist/web/assets/{c3-CRxq42OE.js.br → c3-DSc4IcLQ.js.br} +0 -0
- /package/dist/web/assets/{c3-CRxq42OE.js.gz → c3-DSc4IcLQ.js.gz} +0 -0
- /package/dist/web/assets/{cadence-CvKiCJ6i.js → cadence-CUaLlWyn.js} +0 -0
- /package/dist/web/assets/{cadence-CvKiCJ6i.js.br → cadence-CUaLlWyn.js.br} +0 -0
- /package/dist/web/assets/{cadence-CvKiCJ6i.js.gz → cadence-CUaLlWyn.js.gz} +0 -0
- /package/dist/web/assets/{can-open-in-ppm-B9ZwTOGE.js → can-open-in-ppm-DeE2-kd5.js} +0 -0
- /package/dist/web/assets/{can-open-in-ppm-B9ZwTOGE.js.br → can-open-in-ppm-DeE2-kd5.js.br} +0 -0
- /package/dist/web/assets/{can-open-in-ppm-B9ZwTOGE.js.gz → can-open-in-ppm-DeE2-kd5.js.gz} +0 -0
- /package/dist/web/assets/{catppuccin-frappe-CYln5D8J.js → catppuccin-frappe-BT3IMDYa.js} +0 -0
- /package/dist/web/assets/{catppuccin-frappe-CYln5D8J.js.br → catppuccin-frappe-BT3IMDYa.js.br} +0 -0
- /package/dist/web/assets/{catppuccin-frappe-CYln5D8J.js.gz → catppuccin-frappe-BT3IMDYa.js.gz} +0 -0
- /package/dist/web/assets/{catppuccin-latte-Dw_yaLRM.js → catppuccin-latte-DM9i15n3.js} +0 -0
- /package/dist/web/assets/{catppuccin-latte-Dw_yaLRM.js.br → catppuccin-latte-DM9i15n3.js.br} +0 -0
- /package/dist/web/assets/{catppuccin-latte-Dw_yaLRM.js.gz → catppuccin-latte-DM9i15n3.js.gz} +0 -0
- /package/dist/web/assets/{catppuccin-macchiato-CO6892Hz.js → catppuccin-macchiato-CAEDr_h3.js} +0 -0
- /package/dist/web/assets/{catppuccin-macchiato-CO6892Hz.js.br → catppuccin-macchiato-CAEDr_h3.js.br} +0 -0
- /package/dist/web/assets/{catppuccin-macchiato-CO6892Hz.js.gz → catppuccin-macchiato-CAEDr_h3.js.gz} +0 -0
- /package/dist/web/assets/{catppuccin-mocha-CKpp7FzS.js → catppuccin-mocha-BzOmDckq.js} +0 -0
- /package/dist/web/assets/{catppuccin-mocha-CKpp7FzS.js.br → catppuccin-mocha-BzOmDckq.js.br} +0 -0
- /package/dist/web/assets/{catppuccin-mocha-CKpp7FzS.js.gz → catppuccin-mocha-BzOmDckq.js.gz} +0 -0
- /package/dist/web/assets/{chat-preparation-cache-DoS7sdal.js → chat-preparation-cache-BUCR58h4.js} +0 -0
- /package/dist/web/assets/{chat-preparation-cache-DoS7sdal.js.br → chat-preparation-cache-BUCR58h4.js.br} +0 -0
- /package/dist/web/assets/{chat-preparation-cache-DoS7sdal.js.gz → chat-preparation-cache-BUCR58h4.js.gz} +0 -0
- /package/dist/web/assets/{clarity-CEkTmKo1.js → clarity-BijZXjQ6.js} +0 -0
- /package/dist/web/assets/{clarity-CEkTmKo1.js.br → clarity-BijZXjQ6.js.br} +0 -0
- /package/dist/web/assets/{clarity-CEkTmKo1.js.gz → clarity-BijZXjQ6.js.gz} +0 -0
- /package/dist/web/assets/{clojure-DtkOZ-xf.js → clojure--ad2221W.js} +0 -0
- /package/dist/web/assets/{clojure-DtkOZ-xf.js.br → clojure--ad2221W.js.br} +0 -0
- /package/dist/web/assets/{clojure-DtkOZ-xf.js.gz → clojure--ad2221W.js.gz} +0 -0
- /package/dist/web/assets/{cmake-DVVDhwHM.js → cmake-DyjUMpXU.js} +0 -0
- /package/dist/web/assets/{cmake-DVVDhwHM.js.br → cmake-DyjUMpXU.js.br} +0 -0
- /package/dist/web/assets/{cmake-DVVDhwHM.js.gz → cmake-DyjUMpXU.js.gz} +0 -0
- /package/dist/web/assets/{codeowners-Dg3cj8f_.js → codeowners-BeMhKnC9.js} +0 -0
- /package/dist/web/assets/{codeql-DExLR_AI.js → codeql-BGtwwp5_.js} +0 -0
- /package/dist/web/assets/{codeql-DExLR_AI.js.br → codeql-BGtwwp5_.js.br} +0 -0
- /package/dist/web/assets/{codeql-DExLR_AI.js.gz → codeql-BGtwwp5_.js.gz} +0 -0
- /package/dist/web/assets/{common-lisp-Cy8I242f.js → common-lisp--ldIKs5M.js} +0 -0
- /package/dist/web/assets/{common-lisp-Cy8I242f.js.br → common-lisp--ldIKs5M.js.br} +0 -0
- /package/dist/web/assets/{common-lisp-Cy8I242f.js.gz → common-lisp--ldIKs5M.js.gz} +0 -0
- /package/dist/web/assets/{context-menu-CH1mvCwA.js → context-menu-7OX80HDB.js} +0 -0
- /package/dist/web/assets/{context-menu-CH1mvCwA.js.br → context-menu-7OX80HDB.js.br} +0 -0
- /package/dist/web/assets/{context-menu-CH1mvCwA.js.gz → context-menu-7OX80HDB.js.gz} +0 -0
- /package/dist/web/assets/{coq-2MKB1MCt.js → coq-CRn01_Db.js} +0 -0
- /package/dist/web/assets/{coq-2MKB1MCt.js.br → coq-CRn01_Db.js.br} +0 -0
- /package/dist/web/assets/{coq-2MKB1MCt.js.gz → coq-CRn01_Db.js.gz} +0 -0
- /package/dist/web/assets/{csharp-B23liTj2.js → csharp-CuWM1IYq.js} +0 -0
- /package/dist/web/assets/{csharp-B23liTj2.js.br → csharp-CuWM1IYq.js.br} +0 -0
- /package/dist/web/assets/{csharp-B23liTj2.js.gz → csharp-CuWM1IYq.js.gz} +0 -0
- /package/dist/web/assets/{css-Dclh0w-I.js → css-CQ_jz6Vl.js} +0 -0
- /package/dist/web/assets/{css-Dclh0w-I.js.br → css-CQ_jz6Vl.js.br} +0 -0
- /package/dist/web/assets/{css-Dclh0w-I.js.gz → css-CQ_jz6Vl.js.gz} +0 -0
- /package/dist/web/assets/{csv-BSGq6VGV.js → csv-DP77pbR8.js} +0 -0
- /package/dist/web/assets/{csv-BSGq6VGV.js.br → csv-DP77pbR8.js.br} +0 -0
- /package/dist/web/assets/{csv-BSGq6VGV.js.gz → csv-DP77pbR8.js.gz} +0 -0
- /package/dist/web/assets/{csv-parser-CoLcPhFa.js → csv-parser-CoxPdyLw.js} +0 -0
- /package/dist/web/assets/{csv-parser-CoLcPhFa.js.br → csv-parser-CoxPdyLw.js.br} +0 -0
- /package/dist/web/assets/{csv-parser-CoLcPhFa.js.gz → csv-parser-CoxPdyLw.js.gz} +0 -0
- /package/dist/web/assets/{cue-DoNxdOeO.js → cue-DScL5ELc.js} +0 -0
- /package/dist/web/assets/{cue-DoNxdOeO.js.br → cue-DScL5ELc.js.br} +0 -0
- /package/dist/web/assets/{cue-DoNxdOeO.js.gz → cue-DScL5ELc.js.gz} +0 -0
- /package/dist/web/assets/{cypher-CMv1bDcv.js → cypher-8ehI2vrw.js} +0 -0
- /package/dist/web/assets/{cypher-CMv1bDcv.js.br → cypher-8ehI2vrw.js.br} +0 -0
- /package/dist/web/assets/{cypher-CMv1bDcv.js.gz → cypher-8ehI2vrw.js.gz} +0 -0
- /package/dist/web/assets/{cytoscape.esm-BJRTLoyA.js → cytoscape.esm-BokGhmK2.js} +0 -0
- /package/dist/web/assets/{cytoscape.esm-BJRTLoyA.js.br → cytoscape.esm-BokGhmK2.js.br} +0 -0
- /package/dist/web/assets/{cytoscape.esm-BJRTLoyA.js.gz → cytoscape.esm-BokGhmK2.js.gz} +0 -0
- /package/dist/web/assets/{d-Bm0b9fys.js → d-BvFZUewv.js} +0 -0
- /package/dist/web/assets/{d-Bm0b9fys.js.br → d-BvFZUewv.js.br} +0 -0
- /package/dist/web/assets/{d-Bm0b9fys.js.gz → d-BvFZUewv.js.gz} +0 -0
- /package/dist/web/assets/{dark-plus-82qvJDG3.js → dark-plus-DKLywSFP.js} +0 -0
- /package/dist/web/assets/{dark-plus-82qvJDG3.js.br → dark-plus-DKLywSFP.js.br} +0 -0
- /package/dist/web/assets/{dark-plus-82qvJDG3.js.gz → dark-plus-DKLywSFP.js.gz} +0 -0
- /package/dist/web/assets/{dart-DLmCeCvv.js → dart-Cs_NJAZ7.js} +0 -0
- /package/dist/web/assets/{dart-DLmCeCvv.js.br → dart-Cs_NJAZ7.js.br} +0 -0
- /package/dist/web/assets/{dart-DLmCeCvv.js.gz → dart-Cs_NJAZ7.js.gz} +0 -0
- /package/dist/web/assets/{data-grid-types-DatI2Wee.js → data-grid-types-CHD9-pon.js} +0 -0
- /package/dist/web/assets/{data-grid-types-DatI2Wee.js.br → data-grid-types-CHD9-pon.js.br} +0 -0
- /package/dist/web/assets/{data-grid-types-DatI2Wee.js.gz → data-grid-types-CHD9-pon.js.gz} +0 -0
- /package/dist/web/assets/{dax-hmEu7gn8.js → dax-BB8KgXzI.js} +0 -0
- /package/dist/web/assets/{dax-hmEu7gn8.js.br → dax-BB8KgXzI.js.br} +0 -0
- /package/dist/web/assets/{dax-hmEu7gn8.js.gz → dax-BB8KgXzI.js.gz} +0 -0
- /package/dist/web/assets/{defaultLocale-DlBUp7Bx.js → defaultLocale-4xAk2LVU.js} +0 -0
- /package/dist/web/assets/{defaultLocale-DlBUp7Bx.js.br → defaultLocale-4xAk2LVU.js.br} +0 -0
- /package/dist/web/assets/{defaultLocale-DlBUp7Bx.js.gz → defaultLocale-4xAk2LVU.js.gz} +0 -0
- /package/dist/web/assets/{desktop-87mPFqP1.js → desktop-Cs6Sk5Pu.js} +0 -0
- /package/dist/web/assets/{desktop-87mPFqP1.js.br → desktop-Cs6Sk5Pu.js.br} +0 -0
- /package/dist/web/assets/{desktop-87mPFqP1.js.gz → desktop-Cs6Sk5Pu.js.gz} +0 -0
- /package/dist/web/assets/{diff-BWtbKGfD.js → diff-CXSq83h3.js} +0 -0
- /package/dist/web/assets/{diff-BWtbKGfD.js.br → diff-CXSq83h3.js.br} +0 -0
- /package/dist/web/assets/{diff-BWtbKGfD.js.gz → diff-CXSq83h3.js.gz} +0 -0
- /package/dist/web/assets/{dist-BqxPR6NU.js → dist-0EbiTA3n.js} +0 -0
- /package/dist/web/assets/{dist-BqxPR6NU.js.br → dist-0EbiTA3n.js.br} +0 -0
- /package/dist/web/assets/{dist-BqxPR6NU.js.gz → dist-0EbiTA3n.js.gz} +0 -0
- /package/dist/web/assets/{dist-wmDsBD_Z.js → dist-CBtAY9iX.js} +0 -0
- /package/dist/web/assets/{dist-wmDsBD_Z.js.br → dist-CBtAY9iX.js.br} +0 -0
- /package/dist/web/assets/{dist-wmDsBD_Z.js.gz → dist-CBtAY9iX.js.gz} +0 -0
- /package/dist/web/assets/{dist-XSD1JRzx.js → dist-CWwUZUqE.js} +0 -0
- /package/dist/web/assets/{dist-XSD1JRzx.js.br → dist-CWwUZUqE.js.br} +0 -0
- /package/dist/web/assets/{dist-XSD1JRzx.js.gz → dist-CWwUZUqE.js.gz} +0 -0
- /package/dist/web/assets/{dist-C0dQXa-d.js → dist-D7mSb2HC.js} +0 -0
- /package/dist/web/assets/{dist-C0dQXa-d.js.br → dist-D7mSb2HC.js.br} +0 -0
- /package/dist/web/assets/{dist-C0dQXa-d.js.gz → dist-D7mSb2HC.js.gz} +0 -0
- /package/dist/web/assets/{docker-RfG6N-zU.js → docker-BX5p1mZ3.js} +0 -0
- /package/dist/web/assets/{docker-RfG6N-zU.js.br → docker-BX5p1mZ3.js.br} +0 -0
- /package/dist/web/assets/{docker-RfG6N-zU.js.gz → docker-BX5p1mZ3.js.gz} +0 -0
- /package/dist/web/assets/{docx-preview-b-Ui9jDq.js → docx-preview-Dt6RQpfA.js} +0 -0
- /package/dist/web/assets/{docx-preview-b-Ui9jDq.js.br → docx-preview-Dt6RQpfA.js.br} +0 -0
- /package/dist/web/assets/{docx-preview-b-Ui9jDq.js.gz → docx-preview-Dt6RQpfA.js.gz} +0 -0
- /package/dist/web/assets/{dotenv-trsAOvRf.js → dotenv-D8xdMiRo.js} +0 -0
- /package/dist/web/assets/{dotenv-trsAOvRf.js.br → dotenv-D8xdMiRo.js.br} +0 -0
- /package/dist/web/assets/{dotenv-trsAOvRf.js.gz → dotenv-D8xdMiRo.js.gz} +0 -0
- /package/dist/web/assets/{dracula-C6ZiL3YY.js → dracula-BNPKmiGE.js} +0 -0
- /package/dist/web/assets/{dracula-C6ZiL3YY.js.br → dracula-BNPKmiGE.js.br} +0 -0
- /package/dist/web/assets/{dracula-C6ZiL3YY.js.gz → dracula-BNPKmiGE.js.gz} +0 -0
- /package/dist/web/assets/{dracula-soft-C6kVBbXm.js → dracula-soft-Bv4lLEFc.js} +0 -0
- /package/dist/web/assets/{dracula-soft-C6kVBbXm.js.br → dracula-soft-Bv4lLEFc.js.br} +0 -0
- /package/dist/web/assets/{dracula-soft-C6kVBbXm.js.gz → dracula-soft-Bv4lLEFc.js.gz} +0 -0
- /package/dist/web/assets/{dream-maker-CRh_7vvZ.js → dream-maker-Yg8FPJu3.js} +0 -0
- /package/dist/web/assets/{dream-maker-CRh_7vvZ.js.br → dream-maker-Yg8FPJu3.js.br} +0 -0
- /package/dist/web/assets/{dream-maker-CRh_7vvZ.js.gz → dream-maker-Yg8FPJu3.js.gz} +0 -0
- /package/dist/web/assets/{editor-font-BWW2uS94.js → editor-font-CBszn6vt.js} +0 -0
- /package/dist/web/assets/{emacs-lisp-BiU1bqgK.js → emacs-lisp-kBgNJmB7.js} +0 -0
- /package/dist/web/assets/{emacs-lisp-BiU1bqgK.js.br → emacs-lisp-kBgNJmB7.js.br} +0 -0
- /package/dist/web/assets/{emacs-lisp-BiU1bqgK.js.gz → emacs-lisp-kBgNJmB7.js.gz} +0 -0
- /package/dist/web/assets/{everforest-dark-BtuvbpkD.js → everforest-dark-7XTfQW4s.js} +0 -0
- /package/dist/web/assets/{everforest-dark-BtuvbpkD.js.br → everforest-dark-7XTfQW4s.js.br} +0 -0
- /package/dist/web/assets/{everforest-dark-BtuvbpkD.js.gz → everforest-dark-7XTfQW4s.js.gz} +0 -0
- /package/dist/web/assets/{everforest-light-CsYaHRi1.js → everforest-light-CmPZPQmV.js} +0 -0
- /package/dist/web/assets/{everforest-light-CsYaHRi1.js.br → everforest-light-CmPZPQmV.js.br} +0 -0
- /package/dist/web/assets/{everforest-light-CsYaHRi1.js.gz → everforest-light-CmPZPQmV.js.gz} +0 -0
- /package/dist/web/assets/{fennel-Dtsq8ZYv.js → fennel-Dm71IPM6.js} +0 -0
- /package/dist/web/assets/{fennel-Dtsq8ZYv.js.br → fennel-Dm71IPM6.js.br} +0 -0
- /package/dist/web/assets/{fennel-Dtsq8ZYv.js.gz → fennel-Dm71IPM6.js.gz} +0 -0
- /package/dist/web/assets/{file-icons-Ed_yLyef.js → file-icons-CK0J4QSy.js} +0 -0
- /package/dist/web/assets/{file-icons-Ed_yLyef.js.br → file-icons-CK0J4QSy.js.br} +0 -0
- /package/dist/web/assets/{file-icons-Ed_yLyef.js.gz → file-icons-CK0J4QSy.js.gz} +0 -0
- /package/dist/web/assets/{fish-BEGdv5E9.js → fish-CIzcfZjZ.js} +0 -0
- /package/dist/web/assets/{fish-BEGdv5E9.js.br → fish-CIzcfZjZ.js.br} +0 -0
- /package/dist/web/assets/{fish-BEGdv5E9.js.gz → fish-CIzcfZjZ.js.gz} +0 -0
- /package/dist/web/assets/{fluent-DC8BEF1H.js → fluent-DFSMEphj.js} +0 -0
- /package/dist/web/assets/{fluent-DC8BEF1H.js.br → fluent-DFSMEphj.js.br} +0 -0
- /package/dist/web/assets/{fluent-DC8BEF1H.js.gz → fluent-DFSMEphj.js.gz} +0 -0
- /package/dist/web/assets/{format-bytes-DZ8bW_uF.js → format-bytes-FQmpZ25A.js} +0 -0
- /package/dist/web/assets/{format-date-Fd9tpNaw.js → format-date-BMtvCeb9.js} +0 -0
- /package/dist/web/assets/{fortran-free-form-CbCf7Hhd.js → fortran-free-form-xnlj2dLW.js} +0 -0
- /package/dist/web/assets/{fortran-free-form-CbCf7Hhd.js.br → fortran-free-form-xnlj2dLW.js.br} +0 -0
- /package/dist/web/assets/{fortran-free-form-CbCf7Hhd.js.gz → fortran-free-form-xnlj2dLW.js.gz} +0 -0
- /package/dist/web/assets/{fs-api-vF_bQoeL.js → fs-api-IX9SHt5k.js} +0 -0
- /package/dist/web/assets/{fs-api-vF_bQoeL.js.br → fs-api-IX9SHt5k.js.br} +0 -0
- /package/dist/web/assets/{fs-api-vF_bQoeL.js.gz → fs-api-IX9SHt5k.js.gz} +0 -0
- /package/dist/web/assets/{gdscript-BsZ85lP7.js → gdscript-DFnznHD1.js} +0 -0
- /package/dist/web/assets/{gdscript-BsZ85lP7.js.br → gdscript-DFnznHD1.js.br} +0 -0
- /package/dist/web/assets/{gdscript-BsZ85lP7.js.gz → gdscript-DFnznHD1.js.gz} +0 -0
- /package/dist/web/assets/{gdshader-BA91hZRm.js → gdshader-B9wvgXVU.js} +0 -0
- /package/dist/web/assets/{gdshader-BA91hZRm.js.br → gdshader-B9wvgXVU.js.br} +0 -0
- /package/dist/web/assets/{gdshader-BA91hZRm.js.gz → gdshader-B9wvgXVU.js.gz} +0 -0
- /package/dist/web/assets/{genie-enEetKUw.js → genie-Bz0RXdFf.js} +0 -0
- /package/dist/web/assets/{genie-enEetKUw.js.br → genie-Bz0RXdFf.js.br} +0 -0
- /package/dist/web/assets/{genie-enEetKUw.js.gz → genie-Bz0RXdFf.js.gz} +0 -0
- /package/dist/web/assets/{gherkin-COZUwJIo.js → gherkin-ZD8lWd_U.js} +0 -0
- /package/dist/web/assets/{gherkin-COZUwJIo.js.br → gherkin-ZD8lWd_U.js.br} +0 -0
- /package/dist/web/assets/{gherkin-COZUwJIo.js.gz → gherkin-ZD8lWd_U.js.gz} +0 -0
- /package/dist/web/assets/{git-repo-store-CdoOpvmf.js → git-repo-store-B_u5RzIM.js} +0 -0
- /package/dist/web/assets/{git-repo-store-CdoOpvmf.js.br → git-repo-store-B_u5RzIM.js.br} +0 -0
- /package/dist/web/assets/{git-repo-store-CdoOpvmf.js.gz → git-repo-store-B_u5RzIM.js.gz} +0 -0
- /package/dist/web/assets/{github-dark-t2tfi1SJ.js → github-dark-D8IE4lln.js} +0 -0
- /package/dist/web/assets/{github-dark-t2tfi1SJ.js.br → github-dark-D8IE4lln.js.br} +0 -0
- /package/dist/web/assets/{github-dark-t2tfi1SJ.js.gz → github-dark-D8IE4lln.js.gz} +0 -0
- /package/dist/web/assets/{github-dark-default-D2yZVLvM.js → github-dark-default-Bv2-je5j.js} +0 -0
- /package/dist/web/assets/{github-dark-default-D2yZVLvM.js.br → github-dark-default-Bv2-je5j.js.br} +0 -0
- /package/dist/web/assets/{github-dark-default-D2yZVLvM.js.gz → github-dark-default-Bv2-je5j.js.gz} +0 -0
- /package/dist/web/assets/{github-dark-dimmed-BgC9vtNW.js → github-dark-dimmed-Dn2Abfcl.js} +0 -0
- /package/dist/web/assets/{github-dark-dimmed-BgC9vtNW.js.br → github-dark-dimmed-Dn2Abfcl.js.br} +0 -0
- /package/dist/web/assets/{github-dark-dimmed-BgC9vtNW.js.gz → github-dark-dimmed-Dn2Abfcl.js.gz} +0 -0
- /package/dist/web/assets/{github-dark-high-contrast-BKl-163d.js → github-dark-high-contrast-CPYPXNHn.js} +0 -0
- /package/dist/web/assets/{github-dark-high-contrast-BKl-163d.js.br → github-dark-high-contrast-CPYPXNHn.js.br} +0 -0
- /package/dist/web/assets/{github-dark-high-contrast-BKl-163d.js.gz → github-dark-high-contrast-CPYPXNHn.js.gz} +0 -0
- /package/dist/web/assets/{github-light-DEwlVIuj.js → github-light-CVOMBMvb.js} +0 -0
- /package/dist/web/assets/{github-light-DEwlVIuj.js.br → github-light-CVOMBMvb.js.br} +0 -0
- /package/dist/web/assets/{github-light-DEwlVIuj.js.gz → github-light-CVOMBMvb.js.gz} +0 -0
- /package/dist/web/assets/{github-light-default-HMg-nrfE.js → github-light-default-6Ayk6lJY.js} +0 -0
- /package/dist/web/assets/{github-light-default-HMg-nrfE.js.br → github-light-default-6Ayk6lJY.js.br} +0 -0
- /package/dist/web/assets/{github-light-default-HMg-nrfE.js.gz → github-light-default-6Ayk6lJY.js.gz} +0 -0
- /package/dist/web/assets/{github-light-high-contrast-CuR1V74b.js → github-light-high-contrast-BTGKd6JI.js} +0 -0
- /package/dist/web/assets/{github-light-high-contrast-CuR1V74b.js.br → github-light-high-contrast-BTGKd6JI.js.br} +0 -0
- /package/dist/web/assets/{github-light-high-contrast-CuR1V74b.js.gz → github-light-high-contrast-BTGKd6JI.js.gz} +0 -0
- /package/dist/web/assets/{gleam-tHyKijM-.js → gleam-UeA7_OU8.js} +0 -0
- /package/dist/web/assets/{gleam-tHyKijM-.js.br → gleam-UeA7_OU8.js.br} +0 -0
- /package/dist/web/assets/{gleam-tHyKijM-.js.gz → gleam-UeA7_OU8.js.gz} +0 -0
- /package/dist/web/assets/{gn-B3FY6J2p.js → gn-DrdNDhFj.js} +0 -0
- /package/dist/web/assets/{gn-B3FY6J2p.js.br → gn-DrdNDhFj.js.br} +0 -0
- /package/dist/web/assets/{gn-B3FY6J2p.js.gz → gn-DrdNDhFj.js.gz} +0 -0
- /package/dist/web/assets/{gnuplot-Cje7PcKl.js → gnuplot-D8vxhaGw.js} +0 -0
- /package/dist/web/assets/{gnuplot-Cje7PcKl.js.br → gnuplot-D8vxhaGw.js.br} +0 -0
- /package/dist/web/assets/{gnuplot-Cje7PcKl.js.gz → gnuplot-D8vxhaGw.js.gz} +0 -0
- /package/dist/web/assets/{go-atStgiph.js → go-atNMhmH3.js} +0 -0
- /package/dist/web/assets/{go-atStgiph.js.br → go-atNMhmH3.js.br} +0 -0
- /package/dist/web/assets/{go-atStgiph.js.gz → go-atNMhmH3.js.gz} +0 -0
- /package/dist/web/assets/{groovy-D-N79UJ6.js → groovy-CLRzHDW2.js} +0 -0
- /package/dist/web/assets/{groovy-D-N79UJ6.js.br → groovy-CLRzHDW2.js.br} +0 -0
- /package/dist/web/assets/{groovy-D-N79UJ6.js.gz → groovy-CLRzHDW2.js.gz} +0 -0
- /package/dist/web/assets/{gruvbox-dark-hard-CHgWXjNO.js → gruvbox-dark-hard-CMSNCrAk.js} +0 -0
- /package/dist/web/assets/{gruvbox-dark-hard-CHgWXjNO.js.br → gruvbox-dark-hard-CMSNCrAk.js.br} +0 -0
- /package/dist/web/assets/{gruvbox-dark-hard-CHgWXjNO.js.gz → gruvbox-dark-hard-CMSNCrAk.js.gz} +0 -0
- /package/dist/web/assets/{gruvbox-dark-medium-CiWfpHxH.js → gruvbox-dark-medium-CR5wAM1c.js} +0 -0
- /package/dist/web/assets/{gruvbox-dark-medium-CiWfpHxH.js.br → gruvbox-dark-medium-CR5wAM1c.js.br} +0 -0
- /package/dist/web/assets/{gruvbox-dark-medium-CiWfpHxH.js.gz → gruvbox-dark-medium-CR5wAM1c.js.gz} +0 -0
- /package/dist/web/assets/{gruvbox-dark-soft-B6jtjdRS.js → gruvbox-dark-soft-Ba1gP2O2.js} +0 -0
- /package/dist/web/assets/{gruvbox-dark-soft-B6jtjdRS.js.br → gruvbox-dark-soft-Ba1gP2O2.js.br} +0 -0
- /package/dist/web/assets/{gruvbox-dark-soft-B6jtjdRS.js.gz → gruvbox-dark-soft-Ba1gP2O2.js.gz} +0 -0
- /package/dist/web/assets/{gruvbox-light-hard-B28dnJUc.js → gruvbox-light-hard-ChSY383t.js} +0 -0
- /package/dist/web/assets/{gruvbox-light-hard-B28dnJUc.js.br → gruvbox-light-hard-ChSY383t.js.br} +0 -0
- /package/dist/web/assets/{gruvbox-light-hard-B28dnJUc.js.gz → gruvbox-light-hard-ChSY383t.js.gz} +0 -0
- /package/dist/web/assets/{gruvbox-light-medium-BGYycI_C.js → gruvbox-light-medium-DebZzeA2.js} +0 -0
- /package/dist/web/assets/{gruvbox-light-medium-BGYycI_C.js.br → gruvbox-light-medium-DebZzeA2.js.br} +0 -0
- /package/dist/web/assets/{gruvbox-light-medium-BGYycI_C.js.gz → gruvbox-light-medium-DebZzeA2.js.gz} +0 -0
- /package/dist/web/assets/{gruvbox-light-soft-D34Ny5x-.js → gruvbox-light-soft-CEWqv8Ew.js} +0 -0
- /package/dist/web/assets/{gruvbox-light-soft-D34Ny5x-.js.br → gruvbox-light-soft-CEWqv8Ew.js.br} +0 -0
- /package/dist/web/assets/{gruvbox-light-soft-D34Ny5x-.js.gz → gruvbox-light-soft-CEWqv8Ew.js.gz} +0 -0
- /package/dist/web/assets/{haskell-Dd7RWo7q.js → haskell-CkgCblz9.js} +0 -0
- /package/dist/web/assets/{haskell-Dd7RWo7q.js.br → haskell-CkgCblz9.js.br} +0 -0
- /package/dist/web/assets/{haskell-Dd7RWo7q.js.gz → haskell-CkgCblz9.js.gz} +0 -0
- /package/dist/web/assets/{haxe-BZTENFeU.js → haxe-DwOdNXRl.js} +0 -0
- /package/dist/web/assets/{haxe-BZTENFeU.js.br → haxe-DwOdNXRl.js.br} +0 -0
- /package/dist/web/assets/{haxe-BZTENFeU.js.gz → haxe-DwOdNXRl.js.gz} +0 -0
- /package/dist/web/assets/{hcl-B2-pv_Um.js → hcl-DXsxN8nX.js} +0 -0
- /package/dist/web/assets/{hcl-B2-pv_Um.js.br → hcl-DXsxN8nX.js.br} +0 -0
- /package/dist/web/assets/{hcl-B2-pv_Um.js.gz → hcl-DXsxN8nX.js.gz} +0 -0
- /package/dist/web/assets/{hjson-DuEq9Q4E.js → hjson-oBOZxrL4.js} +0 -0
- /package/dist/web/assets/{hjson-DuEq9Q4E.js.br → hjson-oBOZxrL4.js.br} +0 -0
- /package/dist/web/assets/{hjson-DuEq9Q4E.js.gz → hjson-oBOZxrL4.js.gz} +0 -0
- /package/dist/web/assets/{hlsl-Cktd6biI.js → hlsl-VEZxDU3L.js} +0 -0
- /package/dist/web/assets/{hlsl-Cktd6biI.js.br → hlsl-VEZxDU3L.js.br} +0 -0
- /package/dist/web/assets/{hlsl-Cktd6biI.js.gz → hlsl-VEZxDU3L.js.gz} +0 -0
- /package/dist/web/assets/{horizon-CBC77M7h.js → horizon-C_xHTsMO.js} +0 -0
- /package/dist/web/assets/{horizon-CBC77M7h.js.br → horizon-C_xHTsMO.js.br} +0 -0
- /package/dist/web/assets/{horizon-CBC77M7h.js.gz → horizon-C_xHTsMO.js.gz} +0 -0
- /package/dist/web/assets/{horizon-bright-D4Nxn_E0.js → horizon-bright-CJd-vMFG.js} +0 -0
- /package/dist/web/assets/{horizon-bright-D4Nxn_E0.js.br → horizon-bright-CJd-vMFG.js.br} +0 -0
- /package/dist/web/assets/{horizon-bright-D4Nxn_E0.js.gz → horizon-bright-CJd-vMFG.js.gz} +0 -0
- /package/dist/web/assets/{houston-CeUPsuAw.js → houston-BYOfZpV9.js} +0 -0
- /package/dist/web/assets/{houston-CeUPsuAw.js.br → houston-BYOfZpV9.js.br} +0 -0
- /package/dist/web/assets/{houston-CeUPsuAw.js.gz → houston-BYOfZpV9.js.gz} +0 -0
- /package/dist/web/assets/{hy-C2Krcc1P.js → hy-DiruP4wR.js} +0 -0
- /package/dist/web/assets/{hy-C2Krcc1P.js.br → hy-DiruP4wR.js.br} +0 -0
- /package/dist/web/assets/{hy-C2Krcc1P.js.gz → hy-DiruP4wR.js.gz} +0 -0
- /package/dist/web/assets/{image-gallery-FN-9YT5_.js → image-gallery-B16hO6Ab.js} +0 -0
- /package/dist/web/assets/{image-preview-geometry-CC7s9J5U.js → image-preview-geometry-D4Ihz4UV.js} +0 -0
- /package/dist/web/assets/{imba-BGyTjryK.js → imba-BBm5cmpQ.js} +0 -0
- /package/dist/web/assets/{imba-BGyTjryK.js.br → imba-BBm5cmpQ.js.br} +0 -0
- /package/dist/web/assets/{imba-BGyTjryK.js.gz → imba-BBm5cmpQ.js.gz} +0 -0
- /package/dist/web/assets/{ini-BU3tDmkh.js → ini-DIjchSIH.js} +0 -0
- /package/dist/web/assets/{ini-BU3tDmkh.js.br → ini-DIjchSIH.js.br} +0 -0
- /package/dist/web/assets/{ini-BU3tDmkh.js.gz → ini-DIjchSIH.js.gz} +0 -0
- /package/dist/web/assets/{init-C8iN2fqI.js → init-Cf64k-PQ.js} +0 -0
- /package/dist/web/assets/{input-CP31LZnN.js → input-CG8PS8mS.js} +0 -0
- /package/dist/web/assets/{isArrayLikeObject-Brn5jPfX.js → isArrayLikeObject-DoNOpNUH.js} +0 -0
- /package/dist/web/assets/{isArrayLikeObject-Brn5jPfX.js.br → isArrayLikeObject-DoNOpNUH.js.br} +0 -0
- /package/dist/web/assets/{isArrayLikeObject-Brn5jPfX.js.gz → isArrayLikeObject-DoNOpNUH.js.gz} +0 -0
- /package/dist/web/assets/{java-DLdTpwDa.js → java-BjdsRxXN.js} +0 -0
- /package/dist/web/assets/{java-DLdTpwDa.js.br → java-BjdsRxXN.js.br} +0 -0
- /package/dist/web/assets/{java-DLdTpwDa.js.gz → java-BjdsRxXN.js.gz} +0 -0
- /package/dist/web/assets/{javascript-C8bwxWiO.js → javascript-R2SZ_OEC.js} +0 -0
- /package/dist/web/assets/{javascript-C8bwxWiO.js.br → javascript-R2SZ_OEC.js.br} +0 -0
- /package/dist/web/assets/{javascript-C8bwxWiO.js.gz → javascript-R2SZ_OEC.js.gz} +0 -0
- /package/dist/web/assets/{json-CLNZq64B.js → json-CYCJeTwK.js} +0 -0
- /package/dist/web/assets/{json-CLNZq64B.js.br → json-CYCJeTwK.js.br} +0 -0
- /package/dist/web/assets/{json-CLNZq64B.js.gz → json-CYCJeTwK.js.gz} +0 -0
- /package/dist/web/assets/{json5-hP9gUO92.js → json5-0Pz845K0.js} +0 -0
- /package/dist/web/assets/{json5-hP9gUO92.js.br → json5-0Pz845K0.js.br} +0 -0
- /package/dist/web/assets/{json5-hP9gUO92.js.gz → json5-0Pz845K0.js.gz} +0 -0
- /package/dist/web/assets/{jsonc-BxRoxKXl.js → jsonc-B0jdT4uM.js} +0 -0
- /package/dist/web/assets/{jsonc-BxRoxKXl.js.br → jsonc-B0jdT4uM.js.br} +0 -0
- /package/dist/web/assets/{jsonc-BxRoxKXl.js.gz → jsonc-B0jdT4uM.js.gz} +0 -0
- /package/dist/web/assets/{jsonl-CVi8ZVNj.js → jsonl-CdvFKZtz.js} +0 -0
- /package/dist/web/assets/{jsonl-CVi8ZVNj.js.br → jsonl-CdvFKZtz.js.br} +0 -0
- /package/dist/web/assets/{jsonl-CVi8ZVNj.js.gz → jsonl-CdvFKZtz.js.gz} +0 -0
- /package/dist/web/assets/{jsonnet-BN-joSvb.js → jsonnet-BYd5ZGqe.js} +0 -0
- /package/dist/web/assets/{jsonnet-BN-joSvb.js.br → jsonnet-BYd5ZGqe.js.br} +0 -0
- /package/dist/web/assets/{jsonnet-BN-joSvb.js.gz → jsonnet-BYd5ZGqe.js.gz} +0 -0
- /package/dist/web/assets/{jssm-AsgbjMDo.js → jssm-BlBU_IK1.js} +0 -0
- /package/dist/web/assets/{jssm-AsgbjMDo.js.br → jssm-BlBU_IK1.js.br} +0 -0
- /package/dist/web/assets/{jssm-AsgbjMDo.js.gz → jssm-BlBU_IK1.js.gz} +0 -0
- /package/dist/web/assets/{jsx-CCOY790H.js → jsx-CsWR7aMm.js} +0 -0
- /package/dist/web/assets/{jsx-CCOY790H.js.br → jsx-CsWR7aMm.js.br} +0 -0
- /package/dist/web/assets/{jsx-CCOY790H.js.gz → jsx-CsWR7aMm.js.gz} +0 -0
- /package/dist/web/assets/{kanagawa-dragon-CX1DyNVl.js → kanagawa-dragon-C6ogFc3X.js} +0 -0
- /package/dist/web/assets/{kanagawa-dragon-CX1DyNVl.js.br → kanagawa-dragon-C6ogFc3X.js.br} +0 -0
- /package/dist/web/assets/{kanagawa-dragon-CX1DyNVl.js.gz → kanagawa-dragon-C6ogFc3X.js.gz} +0 -0
- /package/dist/web/assets/{kanagawa-lotus-BVeyRHCu.js → kanagawa-lotus-8esZNUbA.js} +0 -0
- /package/dist/web/assets/{kanagawa-lotus-BVeyRHCu.js.br → kanagawa-lotus-8esZNUbA.js.br} +0 -0
- /package/dist/web/assets/{kanagawa-lotus-BVeyRHCu.js.gz → kanagawa-lotus-8esZNUbA.js.gz} +0 -0
- /package/dist/web/assets/{kanagawa-wave-5mUx8ANY.js → kanagawa-wave-C-yWQ6RD.js} +0 -0
- /package/dist/web/assets/{kanagawa-wave-5mUx8ANY.js.br → kanagawa-wave-C-yWQ6RD.js.br} +0 -0
- /package/dist/web/assets/{kanagawa-wave-5mUx8ANY.js.gz → kanagawa-wave-C-yWQ6RD.js.gz} +0 -0
- /package/dist/web/assets/{katex-ChDYIJeh.js → katex-Cz0KLyXA.js} +0 -0
- /package/dist/web/assets/{katex-ChDYIJeh.js.br → katex-Cz0KLyXA.js.br} +0 -0
- /package/dist/web/assets/{katex-ChDYIJeh.js.gz → katex-Cz0KLyXA.js.gz} +0 -0
- /package/dist/web/assets/{kdl-Chk5I0ya.js → kdl-D712OVXR.js} +0 -0
- /package/dist/web/assets/{kdl-Chk5I0ya.js.br → kdl-D712OVXR.js.br} +0 -0
- /package/dist/web/assets/{kdl-Chk5I0ya.js.gz → kdl-D712OVXR.js.gz} +0 -0
- /package/dist/web/assets/{kotlin--vOpGKe5.js → kotlin-BEUa7XzN.js} +0 -0
- /package/dist/web/assets/{kotlin--vOpGKe5.js.br → kotlin-BEUa7XzN.js.br} +0 -0
- /package/dist/web/assets/{kotlin--vOpGKe5.js.gz → kotlin-BEUa7XzN.js.gz} +0 -0
- /package/dist/web/assets/{kusto-CKcW11Xh.js → kusto-n4J6aIey.js} +0 -0
- /package/dist/web/assets/{kusto-CKcW11Xh.js.br → kusto-n4J6aIey.js.br} +0 -0
- /package/dist/web/assets/{kusto-CKcW11Xh.js.gz → kusto-n4J6aIey.js.gz} +0 -0
- /package/dist/web/assets/{laserwave-BvQ5sNh2.js → laserwave-CddL9sH-.js} +0 -0
- /package/dist/web/assets/{laserwave-BvQ5sNh2.js.br → laserwave-CddL9sH-.js.br} +0 -0
- /package/dist/web/assets/{laserwave-BvQ5sNh2.js.gz → laserwave-CddL9sH-.js.gz} +0 -0
- /package/dist/web/assets/{lean-8_xcSRiB.js → lean-CS8dnaPi.js} +0 -0
- /package/dist/web/assets/{lean-8_xcSRiB.js.br → lean-CS8dnaPi.js.br} +0 -0
- /package/dist/web/assets/{lean-8_xcSRiB.js.gz → lean-CS8dnaPi.js.gz} +0 -0
- /package/dist/web/assets/{less-By3o8hyi.js → less-D7VWEXeK.js} +0 -0
- /package/dist/web/assets/{less-By3o8hyi.js.br → less-D7VWEXeK.js.br} +0 -0
- /package/dist/web/assets/{less-By3o8hyi.js.gz → less-D7VWEXeK.js.gz} +0 -0
- /package/dist/web/assets/{lib-g-qFlogj.js → lib-6APiJkU3.js} +0 -0
- /package/dist/web/assets/{lib-g-qFlogj.js.br → lib-6APiJkU3.js.br} +0 -0
- /package/dist/web/assets/{lib-g-qFlogj.js.gz → lib-6APiJkU3.js.gz} +0 -0
- /package/dist/web/assets/{libesm-DAF5_F99.js → libesm-5wREk7JN.js} +0 -0
- /package/dist/web/assets/{libesm-DAF5_F99.js.br → libesm-5wREk7JN.js.br} +0 -0
- /package/dist/web/assets/{libesm-DAF5_F99.js.gz → libesm-5wREk7JN.js.gz} +0 -0
- /package/dist/web/assets/{light-plus-DLxZxwR2.js → light-plus-DUh-yC9k.js} +0 -0
- /package/dist/web/assets/{light-plus-DLxZxwR2.js.br → light-plus-DUh-yC9k.js.br} +0 -0
- /package/dist/web/assets/{light-plus-DLxZxwR2.js.gz → light-plus-DUh-yC9k.js.gz} +0 -0
- /package/dist/web/assets/{llvm-1Hx1tyeu.js → llvm-P1D8XyMB.js} +0 -0
- /package/dist/web/assets/{llvm-1Hx1tyeu.js.br → llvm-P1D8XyMB.js.br} +0 -0
- /package/dist/web/assets/{llvm-1Hx1tyeu.js.gz → llvm-P1D8XyMB.js.gz} +0 -0
- /package/dist/web/assets/{log-DqC4fyM8.js → log-BGft0RQz.js} +0 -0
- /package/dist/web/assets/{log-DqC4fyM8.js.br → log-BGft0RQz.js.br} +0 -0
- /package/dist/web/assets/{log-DqC4fyM8.js.gz → log-BGft0RQz.js.gz} +0 -0
- /package/dist/web/assets/{logo-CRRMYYoS.js → logo-uFZx2JEw.js} +0 -0
- /package/dist/web/assets/{logo-CRRMYYoS.js.br → logo-uFZx2JEw.js.br} +0 -0
- /package/dist/web/assets/{logo-CRRMYYoS.js.gz → logo-uFZx2JEw.js.gz} +0 -0
- /package/dist/web/assets/{luau-B_3cEvun.js → luau-aDpnpIe3.js} +0 -0
- /package/dist/web/assets/{luau-B_3cEvun.js.br → luau-aDpnpIe3.js.br} +0 -0
- /package/dist/web/assets/{luau-B_3cEvun.js.gz → luau-aDpnpIe3.js.gz} +0 -0
- /package/dist/web/assets/{make-BZXWV-XK.js → make-DwjpJeU5.js} +0 -0
- /package/dist/web/assets/{make-BZXWV-XK.js.br → make-DwjpJeU5.js.br} +0 -0
- /package/dist/web/assets/{make-BZXWV-XK.js.gz → make-DwjpJeU5.js.gz} +0 -0
- /package/dist/web/assets/{markdown-Cl7yApmu.js → markdown-DC-eWqXi.js} +0 -0
- /package/dist/web/assets/{markdown-Cl7yApmu.js.br → markdown-DC-eWqXi.js.br} +0 -0
- /package/dist/web/assets/{markdown-Cl7yApmu.js.gz → markdown-DC-eWqXi.js.gz} +0 -0
- /package/dist/web/assets/{marked.esm-BHcxKPtl.js → marked.esm-DDb9MclE.js} +0 -0
- /package/dist/web/assets/{marked.esm-BHcxKPtl.js.br → marked.esm-DDb9MclE.js.br} +0 -0
- /package/dist/web/assets/{marked.esm-BHcxKPtl.js.gz → marked.esm-DDb9MclE.js.gz} +0 -0
- /package/dist/web/assets/{material-theme-BHubOdNd.js → material-theme-9BivM5cB.js} +0 -0
- /package/dist/web/assets/{material-theme-BHubOdNd.js.br → material-theme-9BivM5cB.js.br} +0 -0
- /package/dist/web/assets/{material-theme-BHubOdNd.js.gz → material-theme-9BivM5cB.js.gz} +0 -0
- /package/dist/web/assets/{material-theme-darker-KB-xfYQj.js → material-theme-darker-Bg7I3WIw.js} +0 -0
- /package/dist/web/assets/{material-theme-darker-KB-xfYQj.js.br → material-theme-darker-Bg7I3WIw.js.br} +0 -0
- /package/dist/web/assets/{material-theme-darker-KB-xfYQj.js.gz → material-theme-darker-Bg7I3WIw.js.gz} +0 -0
- /package/dist/web/assets/{material-theme-lighter-BIAYveG-.js → material-theme-lighter-BoEshpBb.js} +0 -0
- /package/dist/web/assets/{material-theme-lighter-BIAYveG-.js.br → material-theme-lighter-BoEshpBb.js.br} +0 -0
- /package/dist/web/assets/{material-theme-lighter-BIAYveG-.js.gz → material-theme-lighter-BoEshpBb.js.gz} +0 -0
- /package/dist/web/assets/{material-theme-ocean-IXLiJMmJ.js → material-theme-ocean-CmKcBlBP.js} +0 -0
- /package/dist/web/assets/{material-theme-ocean-IXLiJMmJ.js.br → material-theme-ocean-CmKcBlBP.js.br} +0 -0
- /package/dist/web/assets/{material-theme-ocean-IXLiJMmJ.js.gz → material-theme-ocean-CmKcBlBP.js.gz} +0 -0
- /package/dist/web/assets/{material-theme-palenight-CKBeKmDI.js → material-theme-palenight-CUyfHC0C.js} +0 -0
- /package/dist/web/assets/{material-theme-palenight-CKBeKmDI.js.br → material-theme-palenight-CUyfHC0C.js.br} +0 -0
- /package/dist/web/assets/{material-theme-palenight-CKBeKmDI.js.gz → material-theme-palenight-CUyfHC0C.js.gz} +0 -0
- /package/dist/web/assets/{math-BSR_MMrJ.js → math-DAaFbMeh.js} +0 -0
- /package/dist/web/assets/{matlab-CVke_bIU.js → matlab-CqBfVqYF.js} +0 -0
- /package/dist/web/assets/{matlab-CVke_bIU.js.br → matlab-CqBfVqYF.js.br} +0 -0
- /package/dist/web/assets/{matlab-CVke_bIU.js.gz → matlab-CqBfVqYF.js.gz} +0 -0
- /package/dist/web/assets/{mdx-BoM6tA01.js → mdx-CdC2mVzF.js} +0 -0
- /package/dist/web/assets/{mdx-BoM6tA01.js.br → mdx-CdC2mVzF.js.br} +0 -0
- /package/dist/web/assets/{mdx-BoM6tA01.js.gz → mdx-CdC2mVzF.js.gz} +0 -0
- /package/dist/web/assets/{media-url-mOPwQ_ey.js → media-url-CrT-qulZ.js} +0 -0
- /package/dist/web/assets/{mermaid-dj9LCxrU.js → mermaid-B542RnGP.js} +0 -0
- /package/dist/web/assets/{mermaid-dj9LCxrU.js.br → mermaid-B542RnGP.js.br} +0 -0
- /package/dist/web/assets/{mermaid-dj9LCxrU.js.gz → mermaid-B542RnGP.js.gz} +0 -0
- /package/dist/web/assets/{metric-chart-canvas-CVd7LO3m.js → metric-chart-canvas-D7f-LQ8x.js} +0 -0
- /package/dist/web/assets/{metric-chart-canvas-CVd7LO3m.js.br → metric-chart-canvas-D7f-LQ8x.js.br} +0 -0
- /package/dist/web/assets/{metric-chart-canvas-CVd7LO3m.js.gz → metric-chart-canvas-D7f-LQ8x.js.gz} +0 -0
- /package/dist/web/assets/{min-dark-CRi7sS-5.js → min-dark-uGP-9UE_.js} +0 -0
- /package/dist/web/assets/{min-dark-CRi7sS-5.js.br → min-dark-uGP-9UE_.js.br} +0 -0
- /package/dist/web/assets/{min-dark-CRi7sS-5.js.gz → min-dark-uGP-9UE_.js.gz} +0 -0
- /package/dist/web/assets/{min-light-Dgp1R_pl.js → min-light-BkFlXt3G.js} +0 -0
- /package/dist/web/assets/{min-light-Dgp1R_pl.js.br → min-light-BkFlXt3G.js.br} +0 -0
- /package/dist/web/assets/{min-light-Dgp1R_pl.js.gz → min-light-BkFlXt3G.js.gz} +0 -0
- /package/dist/web/assets/{mipsasm-n1Jay_kN.js → mipsasm-CkaxcMA-.js} +0 -0
- /package/dist/web/assets/{mipsasm-n1Jay_kN.js.br → mipsasm-CkaxcMA-.js.br} +0 -0
- /package/dist/web/assets/{mipsasm-n1Jay_kN.js.gz → mipsasm-CkaxcMA-.js.gz} +0 -0
- /package/dist/web/assets/{mojo-DY4XpIlH.js → mojo-DDh7AQLv.js} +0 -0
- /package/dist/web/assets/{mojo-DY4XpIlH.js.br → mojo-DDh7AQLv.js.br} +0 -0
- /package/dist/web/assets/{mojo-DY4XpIlH.js.gz → mojo-DDh7AQLv.js.gz} +0 -0
- /package/dist/web/assets/{monaco-dotenv-language-CQpgAhmX.js → monaco-dotenv-language-DbSss7YR.js} +0 -0
- /package/dist/web/assets/{monokai-MPQsLu-o.js → monokai-BA4dkSrE.js} +0 -0
- /package/dist/web/assets/{monokai-MPQsLu-o.js.br → monokai-BA4dkSrE.js.br} +0 -0
- /package/dist/web/assets/{monokai-MPQsLu-o.js.gz → monokai-BA4dkSrE.js.gz} +0 -0
- /package/dist/web/assets/{moonbit-M5su_7_F.js → moonbit-DGxZDax4.js} +0 -0
- /package/dist/web/assets/{moonbit-M5su_7_F.js.br → moonbit-DGxZDax4.js.br} +0 -0
- /package/dist/web/assets/{moonbit-M5su_7_F.js.gz → moonbit-DGxZDax4.js.gz} +0 -0
- /package/dist/web/assets/{move-CYYhJ2zp.js → move-C1HZaVNc.js} +0 -0
- /package/dist/web/assets/{move-CYYhJ2zp.js.br → move-C1HZaVNc.js.br} +0 -0
- /package/dist/web/assets/{move-CYYhJ2zp.js.gz → move-C1HZaVNc.js.gz} +0 -0
- /package/dist/web/assets/{narrat-CL2YcnxD.js → narrat-g4c9qhYS.js} +0 -0
- /package/dist/web/assets/{narrat-CL2YcnxD.js.br → narrat-g4c9qhYS.js.br} +0 -0
- /package/dist/web/assets/{narrat-CL2YcnxD.js.gz → narrat-g4c9qhYS.js.gz} +0 -0
- /package/dist/web/assets/{nextflow-groovy-Gol2hLKv.js → nextflow-groovy-CisdbLPv.js} +0 -0
- /package/dist/web/assets/{nextflow-groovy-Gol2hLKv.js.br → nextflow-groovy-CisdbLPv.js.br} +0 -0
- /package/dist/web/assets/{nextflow-groovy-Gol2hLKv.js.gz → nextflow-groovy-CisdbLPv.js.gz} +0 -0
- /package/dist/web/assets/{night-owl-k4Wf6vT5.js → night-owl-ds7NNgBg.js} +0 -0
- /package/dist/web/assets/{night-owl-k4Wf6vT5.js.br → night-owl-ds7NNgBg.js.br} +0 -0
- /package/dist/web/assets/{night-owl-k4Wf6vT5.js.gz → night-owl-ds7NNgBg.js.gz} +0 -0
- /package/dist/web/assets/{night-owl-light-BFys3GTP.js → night-owl-light-DurCGAfC.js} +0 -0
- /package/dist/web/assets/{night-owl-light-BFys3GTP.js.br → night-owl-light-DurCGAfC.js.br} +0 -0
- /package/dist/web/assets/{night-owl-light-BFys3GTP.js.gz → night-owl-light-DurCGAfC.js.gz} +0 -0
- /package/dist/web/assets/{nix--Y3Gk7HX.js → nix-D7kCv9F9.js} +0 -0
- /package/dist/web/assets/{nix--Y3Gk7HX.js.br → nix-D7kCv9F9.js.br} +0 -0
- /package/dist/web/assets/{nix--Y3Gk7HX.js.gz → nix-D7kCv9F9.js.gz} +0 -0
- /package/dist/web/assets/{nord-BeZnxDcj.js → nord-C-O3ceAv.js} +0 -0
- /package/dist/web/assets/{nord-BeZnxDcj.js.br → nord-C-O3ceAv.js.br} +0 -0
- /package/dist/web/assets/{nord-BeZnxDcj.js.gz → nord-C-O3ceAv.js.gz} +0 -0
- /package/dist/web/assets/{nushell-BzCnhP84.js → nushell-oUYTGkzu.js} +0 -0
- /package/dist/web/assets/{nushell-BzCnhP84.js.br → nushell-oUYTGkzu.js.br} +0 -0
- /package/dist/web/assets/{nushell-BzCnhP84.js.gz → nushell-oUYTGkzu.js.gz} +0 -0
- /package/dist/web/assets/{objective-c-Dp7k0at7.js → objective-c-CzqHoRSj.js} +0 -0
- /package/dist/web/assets/{objective-c-Dp7k0at7.js.br → objective-c-CzqHoRSj.js.br} +0 -0
- /package/dist/web/assets/{objective-c-Dp7k0at7.js.gz → objective-c-CzqHoRSj.js.gz} +0 -0
- /package/dist/web/assets/{objective-cpp-DlP31ffn.js → objective-cpp-DJ8fgF2d.js} +0 -0
- /package/dist/web/assets/{objective-cpp-DlP31ffn.js.br → objective-cpp-DJ8fgF2d.js.br} +0 -0
- /package/dist/web/assets/{objective-cpp-DlP31ffn.js.gz → objective-cpp-DJ8fgF2d.js.gz} +0 -0
- /package/dist/web/assets/{ocaml-6zqfFlDt.js → ocaml-B_nWFfqA.js} +0 -0
- /package/dist/web/assets/{ocaml-6zqfFlDt.js.br → ocaml-B_nWFfqA.js.br} +0 -0
- /package/dist/web/assets/{ocaml-6zqfFlDt.js.gz → ocaml-B_nWFfqA.js.gz} +0 -0
- /package/dist/web/assets/{odin-Cwj0GwxV.js → odin-BUQfWY13.js} +0 -0
- /package/dist/web/assets/{odin-Cwj0GwxV.js.br → odin-BUQfWY13.js.br} +0 -0
- /package/dist/web/assets/{odin-Cwj0GwxV.js.gz → odin-BUQfWY13.js.gz} +0 -0
- /package/dist/web/assets/{one-dark-pro-9ZCBq-1e.js → one-dark-pro-DJQor_US.js} +0 -0
- /package/dist/web/assets/{one-dark-pro-9ZCBq-1e.js.br → one-dark-pro-DJQor_US.js.br} +0 -0
- /package/dist/web/assets/{one-dark-pro-9ZCBq-1e.js.gz → one-dark-pro-DJQor_US.js.gz} +0 -0
- /package/dist/web/assets/{one-light-Cph_d1Z-.js → one-light-BMvQ1R6M.js} +0 -0
- /package/dist/web/assets/{one-light-Cph_d1Z-.js.br → one-light-BMvQ1R6M.js.br} +0 -0
- /package/dist/web/assets/{one-light-Cph_d1Z-.js.gz → one-light-BMvQ1R6M.js.gz} +0 -0
- /package/dist/web/assets/{openscad-xKXlLDww.js → openscad-DTylcqP8.js} +0 -0
- /package/dist/web/assets/{openscad-xKXlLDww.js.br → openscad-DTylcqP8.js.br} +0 -0
- /package/dist/web/assets/{openscad-xKXlLDww.js.gz → openscad-DTylcqP8.js.gz} +0 -0
- /package/dist/web/assets/{pascal-D8Ly58pC.js → pascal-D0N_7LGg.js} +0 -0
- /package/dist/web/assets/{pascal-D8Ly58pC.js.br → pascal-D0N_7LGg.js.br} +0 -0
- /package/dist/web/assets/{pascal-D8Ly58pC.js.gz → pascal-D0N_7LGg.js.gz} +0 -0
- /package/dist/web/assets/{path-BBZ3nmRT.js → path-LyOWnqX5.js} +0 -0
- /package/dist/web/assets/{path-BBZ3nmRT.js.br → path-LyOWnqX5.js.br} +0 -0
- /package/dist/web/assets/{path-BBZ3nmRT.js.gz → path-LyOWnqX5.js.gz} +0 -0
- /package/dist/web/assets/{pdf-preview-PWDBbNwt.js → pdf-preview-B8A4T-ES.js} +0 -0
- /package/dist/web/assets/{pdf-preview-PWDBbNwt.js.br → pdf-preview-B8A4T-ES.js.br} +0 -0
- /package/dist/web/assets/{pdf-preview-PWDBbNwt.js.gz → pdf-preview-B8A4T-ES.js.gz} +0 -0
- /package/dist/web/assets/{pkl-Ckef1qFU.js → pkl-HQNdCmJT.js} +0 -0
- /package/dist/web/assets/{pkl-Ckef1qFU.js.br → pkl-HQNdCmJT.js.br} +0 -0
- /package/dist/web/assets/{pkl-Ckef1qFU.js.gz → pkl-HQNdCmJT.js.gz} +0 -0
- /package/dist/web/assets/{plastic-IckJTiFF.js → plastic-QMrjD10f.js} +0 -0
- /package/dist/web/assets/{plastic-IckJTiFF.js.br → plastic-QMrjD10f.js.br} +0 -0
- /package/dist/web/assets/{plastic-IckJTiFF.js.gz → plastic-QMrjD10f.js.gz} +0 -0
- /package/dist/web/assets/{plsql-DvrKSOLR.js → plsql-Ds9EzM4F.js} +0 -0
- /package/dist/web/assets/{plsql-DvrKSOLR.js.br → plsql-Ds9EzM4F.js.br} +0 -0
- /package/dist/web/assets/{plsql-DvrKSOLR.js.gz → plsql-Ds9EzM4F.js.gz} +0 -0
- /package/dist/web/assets/{po-CAU2W5ki.js → po-CM8JtETE.js} +0 -0
- /package/dist/web/assets/{po-CAU2W5ki.js.br → po-CM8JtETE.js.br} +0 -0
- /package/dist/web/assets/{po-CAU2W5ki.js.gz → po-CM8JtETE.js.gz} +0 -0
- /package/dist/web/assets/{poimandres-Bgni5euO.js → poimandres-fat7kglW.js} +0 -0
- /package/dist/web/assets/{poimandres-Bgni5euO.js.br → poimandres-fat7kglW.js.br} +0 -0
- /package/dist/web/assets/{poimandres-Bgni5euO.js.gz → poimandres-fat7kglW.js.gz} +0 -0
- /package/dist/web/assets/{polar-CM5bsdfq.js → polar-CnOzO2UD.js} +0 -0
- /package/dist/web/assets/{polar-CM5bsdfq.js.br → polar-CnOzO2UD.js.br} +0 -0
- /package/dist/web/assets/{polar-CM5bsdfq.js.gz → polar-CnOzO2UD.js.gz} +0 -0
- /package/dist/web/assets/{postcss-B_FJDLw-.js → postcss-BaqfiaQC.js} +0 -0
- /package/dist/web/assets/{postcss-B_FJDLw-.js.br → postcss-BaqfiaQC.js.br} +0 -0
- /package/dist/web/assets/{postcss-B_FJDLw-.js.gz → postcss-BaqfiaQC.js.gz} +0 -0
- /package/dist/web/assets/{powerquery-CQl458mG.js → powerquery-CtMX6ik_.js} +0 -0
- /package/dist/web/assets/{powerquery-CQl458mG.js.br → powerquery-CtMX6ik_.js.br} +0 -0
- /package/dist/web/assets/{powerquery-CQl458mG.js.gz → powerquery-CtMX6ik_.js.gz} +0 -0
- /package/dist/web/assets/{powershell-XkQNRD_d.js → powershell-BaTgHUxS.js} +0 -0
- /package/dist/web/assets/{powershell-XkQNRD_d.js.br → powershell-BaTgHUxS.js.br} +0 -0
- /package/dist/web/assets/{powershell-XkQNRD_d.js.gz → powershell-BaTgHUxS.js.gz} +0 -0
- /package/dist/web/assets/{prisma-CAYa37xo.js → prisma-BLaoUK-7.js} +0 -0
- /package/dist/web/assets/{prisma-CAYa37xo.js.br → prisma-BLaoUK-7.js.br} +0 -0
- /package/dist/web/assets/{prisma-CAYa37xo.js.gz → prisma-BLaoUK-7.js.gz} +0 -0
- /package/dist/web/assets/{prolog-DhrbUCR0.js → prolog-0I-GhZLt.js} +0 -0
- /package/dist/web/assets/{prolog-DhrbUCR0.js.br → prolog-0I-GhZLt.js.br} +0 -0
- /package/dist/web/assets/{prolog-DhrbUCR0.js.gz → prolog-0I-GhZLt.js.gz} +0 -0
- /package/dist/web/assets/{proto-Djemj7Is.js → proto-CHfg51WI.js} +0 -0
- /package/dist/web/assets/{proto-Djemj7Is.js.br → proto-CHfg51WI.js.br} +0 -0
- /package/dist/web/assets/{proto-Djemj7Is.js.gz → proto-CHfg51WI.js.gz} +0 -0
- /package/dist/web/assets/{puppet-OeZAIY0k.js → puppet-B0WZdEhx.js} +0 -0
- /package/dist/web/assets/{puppet-OeZAIY0k.js.br → puppet-B0WZdEhx.js.br} +0 -0
- /package/dist/web/assets/{puppet-OeZAIY0k.js.gz → puppet-B0WZdEhx.js.gz} +0 -0
- /package/dist/web/assets/{purescript-B1goqZLW.js → purescript-CrVZ4Uql.js} +0 -0
- /package/dist/web/assets/{purescript-B1goqZLW.js.br → purescript-CrVZ4Uql.js.br} +0 -0
- /package/dist/web/assets/{purescript-B1goqZLW.js.gz → purescript-CrVZ4Uql.js.gz} +0 -0
- /package/dist/web/assets/{python-DV-HoFeK.js → python-aEpe7ZUF.js} +0 -0
- /package/dist/web/assets/{python-DV-HoFeK.js.br → python-aEpe7ZUF.js.br} +0 -0
- /package/dist/web/assets/{python-DV-HoFeK.js.gz → python-aEpe7ZUF.js.gz} +0 -0
- /package/dist/web/assets/{qmldir--lp1j2AJ.js → qmldir-DxTPc3lc.js} +0 -0
- /package/dist/web/assets/{qss-Yi2yczza.js → qss-D-nPbCGx.js} +0 -0
- /package/dist/web/assets/{qss-Yi2yczza.js.br → qss-D-nPbCGx.js.br} +0 -0
- /package/dist/web/assets/{qss-Yi2yczza.js.gz → qss-D-nPbCGx.js.gz} +0 -0
- /package/dist/web/assets/{r-7ZmKRlHm.js → r-BLnTqw3q.js} +0 -0
- /package/dist/web/assets/{r-7ZmKRlHm.js.br → r-BLnTqw3q.js.br} +0 -0
- /package/dist/web/assets/{r-7ZmKRlHm.js.gz → r-BLnTqw3q.js.gz} +0 -0
- /package/dist/web/assets/{racket-fwmwNOYz.js → racket-DNO4210g.js} +0 -0
- /package/dist/web/assets/{racket-fwmwNOYz.js.br → racket-DNO4210g.js.br} +0 -0
- /package/dist/web/assets/{racket-fwmwNOYz.js.gz → racket-DNO4210g.js.gz} +0 -0
- /package/dist/web/assets/{raku-DV8ZvXLi.js → raku-iZJO4hxf.js} +0 -0
- /package/dist/web/assets/{raku-DV8ZvXLi.js.br → raku-iZJO4hxf.js.br} +0 -0
- /package/dist/web/assets/{raku-DV8ZvXLi.js.gz → raku-iZJO4hxf.js.gz} +0 -0
- /package/dist/web/assets/{red-njAFcCD-.js → red-F3EQNsNx.js} +0 -0
- /package/dist/web/assets/{red-njAFcCD-.js.br → red-F3EQNsNx.js.br} +0 -0
- /package/dist/web/assets/{red-njAFcCD-.js.gz → red-F3EQNsNx.js.gz} +0 -0
- /package/dist/web/assets/{reg-B0zsm4Ng.js → reg-DD_Uwu3t.js} +0 -0
- /package/dist/web/assets/{reg-B0zsm4Ng.js.br → reg-DD_Uwu3t.js.br} +0 -0
- /package/dist/web/assets/{reg-B0zsm4Ng.js.gz → reg-DD_Uwu3t.js.gz} +0 -0
- /package/dist/web/assets/{regexp-BxNvyxL0.js → regexp-D3RlqUxN.js} +0 -0
- /package/dist/web/assets/{regexp-BxNvyxL0.js.br → regexp-D3RlqUxN.js.br} +0 -0
- /package/dist/web/assets/{regexp-BxNvyxL0.js.gz → regexp-D3RlqUxN.js.gz} +0 -0
- /package/dist/web/assets/{rel-BkCYIlpx.js → rel-DM5GSHUR.js} +0 -0
- /package/dist/web/assets/{rel-BkCYIlpx.js.br → rel-DM5GSHUR.js.br} +0 -0
- /package/dist/web/assets/{rel-BkCYIlpx.js.gz → rel-DM5GSHUR.js.gz} +0 -0
- /package/dist/web/assets/{resolve-theme-B87m6l4i.js → resolve-theme-STMsK2vc.js} +0 -0
- /package/dist/web/assets/{resolve-theme-B87m6l4i.js.br → resolve-theme-STMsK2vc.js.br} +0 -0
- /package/dist/web/assets/{resolve-theme-B87m6l4i.js.gz → resolve-theme-STMsK2vc.js.gz} +0 -0
- /package/dist/web/assets/{riscv-BkIhxDPz.js → riscv-C_jO4gJw.js} +0 -0
- /package/dist/web/assets/{riscv-BkIhxDPz.js.br → riscv-C_jO4gJw.js.br} +0 -0
- /package/dist/web/assets/{riscv-BkIhxDPz.js.gz → riscv-C_jO4gJw.js.gz} +0 -0
- /package/dist/web/assets/{ron-Dz2XANaL.js → ron--r6_MG5U.js} +0 -0
- /package/dist/web/assets/{ron-Dz2XANaL.js.br → ron--r6_MG5U.js.br} +0 -0
- /package/dist/web/assets/{ron-Dz2XANaL.js.gz → ron--r6_MG5U.js.gz} +0 -0
- /package/dist/web/assets/{rose-pine-eIr8UZ5b.js → rose-pine-NjvlliYf.js} +0 -0
- /package/dist/web/assets/{rose-pine-eIr8UZ5b.js.br → rose-pine-NjvlliYf.js.br} +0 -0
- /package/dist/web/assets/{rose-pine-eIr8UZ5b.js.gz → rose-pine-NjvlliYf.js.gz} +0 -0
- /package/dist/web/assets/{rose-pine-dawn-DN9kWMIp.js → rose-pine-dawn-DnsL01oA.js} +0 -0
- /package/dist/web/assets/{rose-pine-dawn-DN9kWMIp.js.br → rose-pine-dawn-DnsL01oA.js.br} +0 -0
- /package/dist/web/assets/{rose-pine-dawn-DN9kWMIp.js.gz → rose-pine-dawn-DnsL01oA.js.gz} +0 -0
- /package/dist/web/assets/{rose-pine-moon-CARJbo1N.js → rose-pine-moon-DQTuCjVy.js} +0 -0
- /package/dist/web/assets/{rose-pine-moon-CARJbo1N.js.br → rose-pine-moon-DQTuCjVy.js.br} +0 -0
- /package/dist/web/assets/{rose-pine-moon-CARJbo1N.js.gz → rose-pine-moon-DQTuCjVy.js.gz} +0 -0
- /package/dist/web/assets/{rosmsg-CvdFrq8H.js → rosmsg-BQrgxzms.js} +0 -0
- /package/dist/web/assets/{rosmsg-CvdFrq8H.js.br → rosmsg-BQrgxzms.js.br} +0 -0
- /package/dist/web/assets/{rosmsg-CvdFrq8H.js.gz → rosmsg-BQrgxzms.js.gz} +0 -0
- /package/dist/web/assets/{rough.esm-DjDoC3p1.js → rough.esm-CSLcW3u5.js} +0 -0
- /package/dist/web/assets/{rough.esm-DjDoC3p1.js.br → rough.esm-CSLcW3u5.js.br} +0 -0
- /package/dist/web/assets/{rough.esm-DjDoC3p1.js.gz → rough.esm-CSLcW3u5.js.gz} +0 -0
- /package/dist/web/assets/{rust-Dn0IvdCe.js → rust-CP39BBh-.js} +0 -0
- /package/dist/web/assets/{rust-Dn0IvdCe.js.br → rust-CP39BBh-.js.br} +0 -0
- /package/dist/web/assets/{rust-Dn0IvdCe.js.gz → rust-CP39BBh-.js.gz} +0 -0
- /package/dist/web/assets/{sass-DuXbHlxS.js → sass-CMiN16ff.js} +0 -0
- /package/dist/web/assets/{sass-DuXbHlxS.js.br → sass-CMiN16ff.js.br} +0 -0
- /package/dist/web/assets/{sass-DuXbHlxS.js.gz → sass-CMiN16ff.js.gz} +0 -0
- /package/dist/web/assets/{scala-f9V3Hdhj.js → scala-jm4Hro87.js} +0 -0
- /package/dist/web/assets/{scala-f9V3Hdhj.js.br → scala-jm4Hro87.js.br} +0 -0
- /package/dist/web/assets/{scala-f9V3Hdhj.js.gz → scala-jm4Hro87.js.gz} +0 -0
- /package/dist/web/assets/{scheme-mmNiztuh.js → scheme-Ct_BnC2r.js} +0 -0
- /package/dist/web/assets/{scheme-mmNiztuh.js.br → scheme-Ct_BnC2r.js.br} +0 -0
- /package/dist/web/assets/{scheme-mmNiztuh.js.gz → scheme-Ct_BnC2r.js.gz} +0 -0
- /package/dist/web/assets/{scroll-area-Dp-P38kg.js → scroll-area-sjOeAfoD.js} +0 -0
- /package/dist/web/assets/{scroll-area-Dp-P38kg.js.br → scroll-area-sjOeAfoD.js.br} +0 -0
- /package/dist/web/assets/{scroll-area-Dp-P38kg.js.gz → scroll-area-sjOeAfoD.js.gz} +0 -0
- /package/dist/web/assets/{sdbl-C-Dtt518.js → sdbl-CnOjqCoH.js} +0 -0
- /package/dist/web/assets/{sdbl-C-Dtt518.js.br → sdbl-CnOjqCoH.js.br} +0 -0
- /package/dist/web/assets/{sdbl-C-Dtt518.js.gz → sdbl-CnOjqCoH.js.gz} +0 -0
- /package/dist/web/assets/{separator-B0xYRplF.js → separator-dHj3Km--.js} +0 -0
- /package/dist/web/assets/{shellscript-DqPlhOxY.js → shellscript-C6sdrDvR.js} +0 -0
- /package/dist/web/assets/{shellscript-DqPlhOxY.js.br → shellscript-C6sdrDvR.js.br} +0 -0
- /package/dist/web/assets/{shellscript-DqPlhOxY.js.gz → shellscript-C6sdrDvR.js.gz} +0 -0
- /package/dist/web/assets/{slack-dark-CcJuw2GE.js → slack-dark-BOdgeH19.js} +0 -0
- /package/dist/web/assets/{slack-dark-CcJuw2GE.js.br → slack-dark-BOdgeH19.js.br} +0 -0
- /package/dist/web/assets/{slack-dark-CcJuw2GE.js.gz → slack-dark-BOdgeH19.js.gz} +0 -0
- /package/dist/web/assets/{slack-ochin-DhF5J4kG.js → slack-ochin-DBMQIw0j.js} +0 -0
- /package/dist/web/assets/{slack-ochin-DhF5J4kG.js.br → slack-ochin-DBMQIw0j.js.br} +0 -0
- /package/dist/web/assets/{slack-ochin-DhF5J4kG.js.gz → slack-ochin-DBMQIw0j.js.gz} +0 -0
- /package/dist/web/assets/{smalltalk-I7kpfF3K.js → smalltalk-BMQqYubg.js} +0 -0
- /package/dist/web/assets/{smalltalk-I7kpfF3K.js.br → smalltalk-BMQqYubg.js.br} +0 -0
- /package/dist/web/assets/{smalltalk-I7kpfF3K.js.gz → smalltalk-BMQqYubg.js.gz} +0 -0
- /package/dist/web/assets/{snazzy-light-C7twsQ2A.js → snazzy-light-DwnLbrVG.js} +0 -0
- /package/dist/web/assets/{snazzy-light-C7twsQ2A.js.br → snazzy-light-DwnLbrVG.js.br} +0 -0
- /package/dist/web/assets/{snazzy-light-C7twsQ2A.js.gz → snazzy-light-DwnLbrVG.js.gz} +0 -0
- /package/dist/web/assets/{solarized-dark-BNugyimf.js → solarized-dark-DXJnupYd.js} +0 -0
- /package/dist/web/assets/{solarized-dark-BNugyimf.js.br → solarized-dark-DXJnupYd.js.br} +0 -0
- /package/dist/web/assets/{solarized-dark-BNugyimf.js.gz → solarized-dark-DXJnupYd.js.gz} +0 -0
- /package/dist/web/assets/{solarized-light-CvgUnQ1w.js → solarized-light-DqhyrtI4.js} +0 -0
- /package/dist/web/assets/{solarized-light-CvgUnQ1w.js.br → solarized-light-DqhyrtI4.js.br} +0 -0
- /package/dist/web/assets/{solarized-light-CvgUnQ1w.js.gz → solarized-light-DqhyrtI4.js.gz} +0 -0
- /package/dist/web/assets/{solidity-BDgrLeJ1.js → solidity-BM0p0sku.js} +0 -0
- /package/dist/web/assets/{solidity-BDgrLeJ1.js.br → solidity-BM0p0sku.js.br} +0 -0
- /package/dist/web/assets/{solidity-BDgrLeJ1.js.gz → solidity-BM0p0sku.js.gz} +0 -0
- /package/dist/web/assets/{sortable-header-IH47XuRI.js → sortable-header-BOa8o7NJ.js} +0 -0
- /package/dist/web/assets/{sortable-header-IH47XuRI.js.br → sortable-header-BOa8o7NJ.js.br} +0 -0
- /package/dist/web/assets/{sortable-header-IH47XuRI.js.gz → sortable-header-BOa8o7NJ.js.gz} +0 -0
- /package/dist/web/assets/{splunk-CNuF6KkM.js → splunk-Cq6_jbaY.js} +0 -0
- /package/dist/web/assets/{splunk-CNuF6KkM.js.br → splunk-Cq6_jbaY.js.br} +0 -0
- /package/dist/web/assets/{splunk-CNuF6KkM.js.gz → splunk-Cq6_jbaY.js.gz} +0 -0
- /package/dist/web/assets/{sql-D48c69Jw.js → sql-CPfIb_cO.js} +0 -0
- /package/dist/web/assets/{sql-D48c69Jw.js.br → sql-CPfIb_cO.js.br} +0 -0
- /package/dist/web/assets/{sql-D48c69Jw.js.gz → sql-CPfIb_cO.js.gz} +0 -0
- /package/dist/web/assets/{src-BbwyNwWE.js → src-C7A68uNq.js} +0 -0
- /package/dist/web/assets/{src-BbwyNwWE.js.br → src-C7A68uNq.js.br} +0 -0
- /package/dist/web/assets/{src-BbwyNwWE.js.gz → src-C7A68uNq.js.gz} +0 -0
- /package/dist/web/assets/{ssh-config-B1wBqiS9.js → ssh-config-GRgzMVtG.js} +0 -0
- /package/dist/web/assets/{ssh-config-B1wBqiS9.js.br → ssh-config-GRgzMVtG.js.br} +0 -0
- /package/dist/web/assets/{ssh-config-B1wBqiS9.js.gz → ssh-config-GRgzMVtG.js.gz} +0 -0
- /package/dist/web/assets/{stylus-OJB8j7V7.js → stylus-DNs7ubf9.js} +0 -0
- /package/dist/web/assets/{stylus-OJB8j7V7.js.br → stylus-DNs7ubf9.js.br} +0 -0
- /package/dist/web/assets/{stylus-OJB8j7V7.js.gz → stylus-DNs7ubf9.js.gz} +0 -0
- /package/dist/web/assets/{swift-7GM5UsQV.js → swift-BQV34vng.js} +0 -0
- /package/dist/web/assets/{swift-7GM5UsQV.js.br → swift-BQV34vng.js.br} +0 -0
- /package/dist/web/assets/{swift-7GM5UsQV.js.gz → swift-BQV34vng.js.gz} +0 -0
- /package/dist/web/assets/{synthwave-84-D68U5tV6.js → synthwave-84-CypcdXbA.js} +0 -0
- /package/dist/web/assets/{synthwave-84-D68U5tV6.js.br → synthwave-84-CypcdXbA.js.br} +0 -0
- /package/dist/web/assets/{synthwave-84-D68U5tV6.js.gz → synthwave-84-CypcdXbA.js.gz} +0 -0
- /package/dist/web/assets/{system-verilog-BMr6tYGp.js → system-verilog-DaLPjQ4v.js} +0 -0
- /package/dist/web/assets/{system-verilog-BMr6tYGp.js.br → system-verilog-DaLPjQ4v.js.br} +0 -0
- /package/dist/web/assets/{system-verilog-BMr6tYGp.js.gz → system-verilog-DaLPjQ4v.js.gz} +0 -0
- /package/dist/web/assets/{systemd-EuUPsqCT.js → systemd-CXHFtmNc.js} +0 -0
- /package/dist/web/assets/{systemd-EuUPsqCT.js.br → systemd-CXHFtmNc.js.br} +0 -0
- /package/dist/web/assets/{systemd-EuUPsqCT.js.gz → systemd-CXHFtmNc.js.gz} +0 -0
- /package/dist/web/assets/{talonscript-DjUAMefb.js → talonscript-DI9nO5jX.js} +0 -0
- /package/dist/web/assets/{talonscript-DjUAMefb.js.br → talonscript-DI9nO5jX.js.br} +0 -0
- /package/dist/web/assets/{talonscript-DjUAMefb.js.gz → talonscript-DI9nO5jX.js.gz} +0 -0
- /package/dist/web/assets/{tasl-fq_y40Gw.js → tasl-BAQyAl0c.js} +0 -0
- /package/dist/web/assets/{tasl-fq_y40Gw.js.br → tasl-BAQyAl0c.js.br} +0 -0
- /package/dist/web/assets/{tasl-fq_y40Gw.js.gz → tasl-BAQyAl0c.js.gz} +0 -0
- /package/dist/web/assets/{tcl-C_4KPJpi.js → tcl-BP_ozI58.js} +0 -0
- /package/dist/web/assets/{tcl-C_4KPJpi.js.br → tcl-BP_ozI58.js.br} +0 -0
- /package/dist/web/assets/{tcl-C_4KPJpi.js.gz → tcl-BP_ozI58.js.gz} +0 -0
- /package/dist/web/assets/{terraform-D2x4kIoh.js → terraform-NrndR0yZ.js} +0 -0
- /package/dist/web/assets/{terraform-D2x4kIoh.js.br → terraform-NrndR0yZ.js.br} +0 -0
- /package/dist/web/assets/{terraform-D2x4kIoh.js.gz → terraform-NrndR0yZ.js.gz} +0 -0
- /package/dist/web/assets/{tokyo-night-CUGo2Zr_.js → tokyo-night-CbUQlN8D.js} +0 -0
- /package/dist/web/assets/{tokyo-night-CUGo2Zr_.js.br → tokyo-night-CbUQlN8D.js.br} +0 -0
- /package/dist/web/assets/{tokyo-night-CUGo2Zr_.js.gz → tokyo-night-CbUQlN8D.js.gz} +0 -0
- /package/dist/web/assets/{toml-BcDWUUhX.js → toml-BM_zrMLj.js} +0 -0
- /package/dist/web/assets/{toml-BcDWUUhX.js.br → toml-BM_zrMLj.js.br} +0 -0
- /package/dist/web/assets/{toml-BcDWUUhX.js.gz → toml-BM_zrMLj.js.gz} +0 -0
- /package/dist/web/assets/{tsv-C8SvedcS.js → tsv-CfyllNPO.js} +0 -0
- /package/dist/web/assets/{tsx-lkr-nm_S.js → tsx-BROcpVjE.js} +0 -0
- /package/dist/web/assets/{tsx-lkr-nm_S.js.br → tsx-BROcpVjE.js.br} +0 -0
- /package/dist/web/assets/{tsx-lkr-nm_S.js.gz → tsx-BROcpVjE.js.gz} +0 -0
- /package/dist/web/assets/{turtle-B_e2j7qe.js → turtle-CHmyeS9k.js} +0 -0
- /package/dist/web/assets/{turtle-B_e2j7qe.js.br → turtle-CHmyeS9k.js.br} +0 -0
- /package/dist/web/assets/{turtle-B_e2j7qe.js.gz → turtle-CHmyeS9k.js.gz} +0 -0
- /package/dist/web/assets/{typescript-kiqZ6P0m.js → typescript-BVwspRg8.js} +0 -0
- /package/dist/web/assets/{typescript-kiqZ6P0m.js.br → typescript-BVwspRg8.js.br} +0 -0
- /package/dist/web/assets/{typescript-kiqZ6P0m.js.gz → typescript-BVwspRg8.js.gz} +0 -0
- /package/dist/web/assets/{typespec-C_5SOJR4.js → typespec-DXRppCgc.js} +0 -0
- /package/dist/web/assets/{typespec-C_5SOJR4.js.br → typespec-DXRppCgc.js.br} +0 -0
- /package/dist/web/assets/{typespec-C_5SOJR4.js.gz → typespec-DXRppCgc.js.gz} +0 -0
- /package/dist/web/assets/{typst-C_MV14-S.js → typst-L5uwArOj.js} +0 -0
- /package/dist/web/assets/{typst-C_MV14-S.js.br → typst-L5uwArOj.js.br} +0 -0
- /package/dist/web/assets/{typst-C_MV14-S.js.gz → typst-L5uwArOj.js.gz} +0 -0
- /package/dist/web/assets/{use-blob-url-B3R1DMZ0.js → use-blob-url-BC69n15x.js} +0 -0
- /package/dist/web/assets/{use-is-mobile-CkO33jqU.js → use-is-mobile-BClDZJP5.js} +0 -0
- /package/dist/web/assets/{use-visual-viewport-C307OVeV.js → use-visual-viewport-BGpcMnIx.js} +0 -0
- /package/dist/web/assets/{v-DaGxeDE4.js → v-Bz99d5uk.js} +0 -0
- /package/dist/web/assets/{v-DaGxeDE4.js.br → v-Bz99d5uk.js.br} +0 -0
- /package/dist/web/assets/{v-DaGxeDE4.js.gz → v-Bz99d5uk.js.gz} +0 -0
- /package/dist/web/assets/{vala-og0dxQci.js → vala-B-CtBLX1.js} +0 -0
- /package/dist/web/assets/{vala-og0dxQci.js.br → vala-B-CtBLX1.js.br} +0 -0
- /package/dist/web/assets/{vala-og0dxQci.js.gz → vala-B-CtBLX1.js.gz} +0 -0
- /package/dist/web/assets/{vb-6CaJs6KS.js → vb-DHqiz9Cp.js} +0 -0
- /package/dist/web/assets/{vb-6CaJs6KS.js.br → vb-DHqiz9Cp.js.br} +0 -0
- /package/dist/web/assets/{vb-6CaJs6KS.js.gz → vb-DHqiz9Cp.js.gz} +0 -0
- /package/dist/web/assets/{vendor-xterm-DHxOhwwM.js → vendor-xterm-CfasyE0m.js} +0 -0
- /package/dist/web/assets/{vendor-xterm-DHxOhwwM.js.br → vendor-xterm-CfasyE0m.js.br} +0 -0
- /package/dist/web/assets/{vendor-xterm-DHxOhwwM.js.gz → vendor-xterm-CfasyE0m.js.gz} +0 -0
- /package/dist/web/assets/{verilog-DITuWErO.js → verilog-DbTkSkM7.js} +0 -0
- /package/dist/web/assets/{verilog-DITuWErO.js.br → verilog-DbTkSkM7.js.br} +0 -0
- /package/dist/web/assets/{verilog-DITuWErO.js.gz → verilog-DbTkSkM7.js.gz} +0 -0
- /package/dist/web/assets/{vesper-lpvVk8gJ.js → vesper-2aVei4Le.js} +0 -0
- /package/dist/web/assets/{vesper-lpvVk8gJ.js.br → vesper-2aVei4Le.js.br} +0 -0
- /package/dist/web/assets/{vesper-lpvVk8gJ.js.gz → vesper-2aVei4Le.js.gz} +0 -0
- /package/dist/web/assets/{vhdl-BH7O0w5d.js → vhdl-BJJSCnQQ.js} +0 -0
- /package/dist/web/assets/{vhdl-BH7O0w5d.js.br → vhdl-BJJSCnQQ.js.br} +0 -0
- /package/dist/web/assets/{vhdl-BH7O0w5d.js.gz → vhdl-BJJSCnQQ.js.gz} +0 -0
- /package/dist/web/assets/{viml-BAdOLdlU.js → viml-qxSvRN8n.js} +0 -0
- /package/dist/web/assets/{viml-BAdOLdlU.js.br → viml-qxSvRN8n.js.br} +0 -0
- /package/dist/web/assets/{viml-BAdOLdlU.js.gz → viml-qxSvRN8n.js.gz} +0 -0
- /package/dist/web/assets/{vitesse-black-CVq0tV6W.js → vitesse-black-CjR1y0Bv.js} +0 -0
- /package/dist/web/assets/{vitesse-black-CVq0tV6W.js.br → vitesse-black-CjR1y0Bv.js.br} +0 -0
- /package/dist/web/assets/{vitesse-black-CVq0tV6W.js.gz → vitesse-black-CjR1y0Bv.js.gz} +0 -0
- /package/dist/web/assets/{vitesse-dark-C5igeaQr.js → vitesse-dark-jrcdsqkn.js} +0 -0
- /package/dist/web/assets/{vitesse-dark-C5igeaQr.js.br → vitesse-dark-jrcdsqkn.js.br} +0 -0
- /package/dist/web/assets/{vitesse-dark-C5igeaQr.js.gz → vitesse-dark-jrcdsqkn.js.gz} +0 -0
- /package/dist/web/assets/{vitesse-light-BYsPg_gN.js → vitesse-light-DkC_qU0k.js} +0 -0
- /package/dist/web/assets/{vitesse-light-BYsPg_gN.js.br → vitesse-light-DkC_qU0k.js.br} +0 -0
- /package/dist/web/assets/{vitesse-light-BYsPg_gN.js.gz → vitesse-light-DkC_qU0k.js.gz} +0 -0
- /package/dist/web/assets/{vyper-BrpU-131.js → vyper-WAhkfwIX.js} +0 -0
- /package/dist/web/assets/{vyper-BrpU-131.js.br → vyper-WAhkfwIX.js.br} +0 -0
- /package/dist/web/assets/{vyper-BrpU-131.js.gz → vyper-WAhkfwIX.js.gz} +0 -0
- /package/dist/web/assets/{wasm-BTWJu1hM.js → wasm-BYGI5YYa.js} +0 -0
- /package/dist/web/assets/{wasm-BTWJu1hM.js.br → wasm-BYGI5YYa.js.br} +0 -0
- /package/dist/web/assets/{wasm-BTWJu1hM.js.gz → wasm-BYGI5YYa.js.gz} +0 -0
- /package/dist/web/assets/{wasm-WCHstPNa.js → wasm-Miuao4O0.js} +0 -0
- /package/dist/web/assets/{wasm-WCHstPNa.js.br → wasm-Miuao4O0.js.br} +0 -0
- /package/dist/web/assets/{wasm-WCHstPNa.js.gz → wasm-Miuao4O0.js.gz} +0 -0
- /package/dist/web/assets/{wenyan-OcBsGWgI.js → wenyan-Dd5qjF8u.js} +0 -0
- /package/dist/web/assets/{wenyan-OcBsGWgI.js.br → wenyan-Dd5qjF8u.js.br} +0 -0
- /package/dist/web/assets/{wenyan-OcBsGWgI.js.gz → wenyan-Dd5qjF8u.js.gz} +0 -0
- /package/dist/web/assets/{wgsl-BHOPLF5w.js → wgsl-C3T5a0UO.js} +0 -0
- /package/dist/web/assets/{wgsl-BHOPLF5w.js.br → wgsl-C3T5a0UO.js.br} +0 -0
- /package/dist/web/assets/{wgsl-BHOPLF5w.js.gz → wgsl-C3T5a0UO.js.gz} +0 -0
- /package/dist/web/assets/{wikitext-BF6KBxPK.js → wikitext-CvCJjxSa.js} +0 -0
- /package/dist/web/assets/{wikitext-BF6KBxPK.js.br → wikitext-CvCJjxSa.js.br} +0 -0
- /package/dist/web/assets/{wikitext-BF6KBxPK.js.gz → wikitext-CvCJjxSa.js.gz} +0 -0
- /package/dist/web/assets/{wit-CIP-bHDR.js → wit-DybvG9BU.js} +0 -0
- /package/dist/web/assets/{wit-CIP-bHDR.js.br → wit-DybvG9BU.js.br} +0 -0
- /package/dist/web/assets/{wit-CIP-bHDR.js.gz → wit-DybvG9BU.js.gz} +0 -0
- /package/dist/web/assets/{wolfram-DX3pie6r.js → wolfram-CdhnrpZ7.js} +0 -0
- /package/dist/web/assets/{wolfram-DX3pie6r.js.br → wolfram-CdhnrpZ7.js.br} +0 -0
- /package/dist/web/assets/{wolfram-DX3pie6r.js.gz → wolfram-CdhnrpZ7.js.gz} +0 -0
- /package/dist/web/assets/{ws-auth-J3hw0Mhc.js → ws-auth-Ytui7dXP.js} +0 -0
- /package/dist/web/assets/{yaml-CtIxN55b.js → yaml-B0HIje0z.js} +0 -0
- /package/dist/web/assets/{yaml-CtIxN55b.js.br → yaml-B0HIje0z.js.br} +0 -0
- /package/dist/web/assets/{yaml-CtIxN55b.js.gz → yaml-B0HIje0z.js.gz} +0 -0
- /package/dist/web/assets/{zenscript-BYsmNQ3N.js → zenscript-CcLSNTvD.js} +0 -0
- /package/dist/web/assets/{zenscript-BYsmNQ3N.js.br → zenscript-CcLSNTvD.js.br} +0 -0
- /package/dist/web/assets/{zenscript-BYsmNQ3N.js.gz → zenscript-CcLSNTvD.js.gz} +0 -0
- /package/dist/web/assets/{zig-Bj2fs45Q.js → zig-dAelYAUr.js} +0 -0
- /package/dist/web/assets/{zig-Bj2fs45Q.js.br → zig-dAelYAUr.js.br} +0 -0
- /package/dist/web/assets/{zig-Bj2fs45Q.js.gz → zig-dAelYAUr.js.gz} +0 -0
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* "Can this host run an Android emulator, and if not, exactly what is missing?"
|
|
3
|
+
*
|
|
4
|
+
* Every negative answer carries a reason and, where one exists, the command that fixes it. Plan
|
|
5
|
+
* §6: the empty state must distinguish no SDK, no emulator/system image, no AVD, and unusable
|
|
6
|
+
* acceleration — never an indefinite spinner.
|
|
7
|
+
*/
|
|
8
|
+
import { discoverSdk, resolveAvdHome, type AndroidSdk } from "./sdk-discovery.ts";
|
|
9
|
+
import { listAvds } from "./avd-list.ts";
|
|
10
|
+
import { workingEncoders } from "../media-transcode/ffmpeg-capabilities.ts";
|
|
11
|
+
|
|
12
|
+
export interface AndroidRequirement {
|
|
13
|
+
id: string;
|
|
14
|
+
label: string;
|
|
15
|
+
met: boolean;
|
|
16
|
+
detail: string;
|
|
17
|
+
/** A command the user can run to fix it, when one exists. Never executed by PPM. */
|
|
18
|
+
fix: string | null;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export interface AndroidCapabilities {
|
|
22
|
+
enabled: boolean;
|
|
23
|
+
sdk: AndroidSdk;
|
|
24
|
+
avdCount: number;
|
|
25
|
+
/** H.264 encoders that really encode on this host, preference order. */
|
|
26
|
+
encoders: string[];
|
|
27
|
+
accelerationOk: boolean;
|
|
28
|
+
accelerationDetail: string;
|
|
29
|
+
requirements: AndroidRequirement[];
|
|
30
|
+
ready: boolean;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* `emulator -accel-check` reports whether the host's hypervisor is usable. Without it an
|
|
35
|
+
* emulator still "starts" and then runs at a speed nobody would call working, so this is a
|
|
36
|
+
* requirement rather than a hint.
|
|
37
|
+
*/
|
|
38
|
+
async function checkAcceleration(emulatorPath: string | null): Promise<{ ok: boolean; detail: string }> {
|
|
39
|
+
if (!emulatorPath) return { ok: false, detail: "no emulator binary" };
|
|
40
|
+
try {
|
|
41
|
+
const proc = Bun.spawn([emulatorPath, "-accel-check"], { stdout: "pipe", stderr: "pipe", windowsHide: true });
|
|
42
|
+
const [out, errOut] = await Promise.all([
|
|
43
|
+
new Response(proc.stdout).text(),
|
|
44
|
+
new Response(proc.stderr).text(),
|
|
45
|
+
]);
|
|
46
|
+
const code = await proc.exited;
|
|
47
|
+
// `-accel-check` prints a marker line, an exit code, the human-readable verdict, then the
|
|
48
|
+
// marker again — e.g. "accel:", "0", "KVM (version 12) is installed and usable.", "accel".
|
|
49
|
+
// Taking the last line yields the bare marker, so pick the sentence instead.
|
|
50
|
+
const lines = `${out}${errOut}`.split("\n").map((l) => l.trim()).filter(Boolean);
|
|
51
|
+
const sentence = lines.filter((l) => l !== "accel" && l !== "accel:" && !/^-?\d+$/.test(l))
|
|
52
|
+
.sort((a, b) => b.length - a.length)[0];
|
|
53
|
+
return { ok: code === 0, detail: sentence || (code === 0 ? "usable" : "not usable") };
|
|
54
|
+
} catch {
|
|
55
|
+
// Bun.spawn throws synchronously when the binary is missing.
|
|
56
|
+
return { ok: false, detail: "emulator binary could not be run" };
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export async function androidCapabilities(
|
|
61
|
+
opts: { enabled: boolean; configuredSdkRoot?: string | null },
|
|
62
|
+
): Promise<AndroidCapabilities> {
|
|
63
|
+
// Off — the default — answers without looking at the SDK at all. Every page load asks (the nav
|
|
64
|
+
// rail and the mobile drawer decide from `enabled` whether to show the entry), and looking runs
|
|
65
|
+
// `emulator` twice, `adb` and two JVMs (`avdmanager`, `sdkmanager`) on a host that has an SDK.
|
|
66
|
+
if (!opts.enabled) return disabledCapabilities();
|
|
67
|
+
|
|
68
|
+
const sdk = await discoverSdk(opts.configuredSdkRoot ?? null);
|
|
69
|
+
const avds = sdk.root ? listAvds(sdk.avdHome) : [];
|
|
70
|
+
const [accel, encoders] = await Promise.all([
|
|
71
|
+
checkAcceleration(sdk.emulator.path),
|
|
72
|
+
workingEncoders(),
|
|
73
|
+
]);
|
|
74
|
+
|
|
75
|
+
const requirements: AndroidRequirement[] = [
|
|
76
|
+
{
|
|
77
|
+
id: "sdk",
|
|
78
|
+
label: "Android SDK",
|
|
79
|
+
met: !!sdk.root,
|
|
80
|
+
detail: sdk.root ? `${sdk.root} (found via ${sdk.source})` : "no SDK found",
|
|
81
|
+
fix: sdk.root ? null : "Install Android Studio, or set ANDROID_HOME to an existing SDK",
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
id: "emulator",
|
|
85
|
+
label: "Emulator",
|
|
86
|
+
met: !!sdk.emulator.path,
|
|
87
|
+
detail: sdk.emulator.version ?? "not installed",
|
|
88
|
+
fix: sdk.emulator.path ? null : "sdkmanager --install emulator",
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
id: "adb",
|
|
92
|
+
label: "adb",
|
|
93
|
+
met: !!sdk.adb.path,
|
|
94
|
+
detail: sdk.adb.version ?? "not installed",
|
|
95
|
+
fix: sdk.adb.path ? null : "sdkmanager --install platform-tools",
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
id: "acceleration",
|
|
99
|
+
label: "Hardware acceleration",
|
|
100
|
+
met: accel.ok,
|
|
101
|
+
detail: accel.detail,
|
|
102
|
+
fix: accel.ok ? null : "Enable virtualisation in the BIOS, and KVM/HAXM/Hypervisor.Framework for your OS",
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
id: "avd",
|
|
106
|
+
label: "At least one AVD",
|
|
107
|
+
met: avds.length > 0,
|
|
108
|
+
detail: avds.length ? `${avds.length} available` : "none created yet",
|
|
109
|
+
fix: avds.length ? null : "Create one in Android Studio's Device Manager, or with avdmanager",
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
id: "encoder",
|
|
113
|
+
label: "H.264 encoder",
|
|
114
|
+
met: encoders.length > 0,
|
|
115
|
+
detail: encoders.length ? encoders.join(", ") : "ffmpeg has no working H.264 encoder here",
|
|
116
|
+
fix: encoders.length ? null : "Install ffmpeg with libx264, or a VAAPI/QSV/NVENC-capable build",
|
|
117
|
+
},
|
|
118
|
+
];
|
|
119
|
+
|
|
120
|
+
return {
|
|
121
|
+
enabled: opts.enabled,
|
|
122
|
+
sdk,
|
|
123
|
+
avdCount: avds.length,
|
|
124
|
+
encoders,
|
|
125
|
+
accelerationOk: accel.ok,
|
|
126
|
+
accelerationDetail: accel.detail,
|
|
127
|
+
requirements,
|
|
128
|
+
ready: opts.enabled && requirements.every((r) => r.met),
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
function disabledCapabilities(): AndroidCapabilities {
|
|
133
|
+
const none = { path: null, version: null };
|
|
134
|
+
const avdHome = resolveAvdHome();
|
|
135
|
+
return {
|
|
136
|
+
enabled: false,
|
|
137
|
+
sdk: {
|
|
138
|
+
root: null, source: "not-found", emulator: none, adb: none, avdmanager: none, sdkmanager: none,
|
|
139
|
+
avdHome: avdHome.dir, avdHomeFromEnv: avdHome.fromEnv,
|
|
140
|
+
},
|
|
141
|
+
avdCount: 0,
|
|
142
|
+
encoders: [],
|
|
143
|
+
accelerationOk: false,
|
|
144
|
+
accelerationDetail: "not checked while Android emulator support is off",
|
|
145
|
+
requirements: [{
|
|
146
|
+
id: "enabled",
|
|
147
|
+
label: "Android emulator support",
|
|
148
|
+
met: false,
|
|
149
|
+
detail: "off on this host: it runs emulators, so it has to be asked for",
|
|
150
|
+
fix: "Start PPM with ANDROID_EMULATOR_ENABLED=1",
|
|
151
|
+
}],
|
|
152
|
+
ready: false,
|
|
153
|
+
};
|
|
154
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Feature switch. Android emulator support is **off by default** — unlike Remote Desktop, which
|
|
3
|
+
* ships on, because this surface spawns multi-gigabyte emulator processes on the host and most
|
|
4
|
+
* PPM installs have no Android SDK at all. `ANDROID_EMULATOR_ENABLED=1` (or `true`) turns it on.
|
|
5
|
+
*
|
|
6
|
+
* Every entry point (REST routes, WS upgrade) checks this independently rather than trusting a
|
|
7
|
+
* single call site to stay correct as routing evolves — same rule as `remote-desktop-flag.ts`.
|
|
8
|
+
*/
|
|
9
|
+
export function isAndroidEmulatorEnabled(): boolean {
|
|
10
|
+
const v = process.env.ANDROID_EMULATOR_ENABLED?.trim().toLowerCase();
|
|
11
|
+
return v === "1" || v === "true";
|
|
12
|
+
}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The EmulatorController gRPC channel.
|
|
3
|
+
*
|
|
4
|
+
* Two rules this file exists to enforce, both of them measured in Phase 0:
|
|
5
|
+
*
|
|
6
|
+
* - **Never `protoLoader.loadSync()`.** It reads the .proto off disk at call time, and in a
|
|
7
|
+
* compiled PPM that path resolves under `file:///$bunfs/root/` and throws ENOENT. The
|
|
8
|
+
* descriptor is generated at build time (`scripts/gen-android-proto.ts`) and imported, so the
|
|
9
|
+
* bundler embeds it. Same trap family as `bundledServerEntry` in CLAUDE.md.
|
|
10
|
+
* - **Never dial anything but loopback.** The endpoint comes from the emulator's own discovery
|
|
11
|
+
* file and nothing else; the browser can neither supply a gRPC URL nor name a host.
|
|
12
|
+
*
|
|
13
|
+
* grpc-js refuses call credentials on an insecure channel ("Cannot create secure credentials
|
|
14
|
+
* with an insecure channel"), so the bearer token travels as per-call metadata instead. That is
|
|
15
|
+
* safe here precisely because the channel never leaves 127.0.0.1.
|
|
16
|
+
*/
|
|
17
|
+
import * as grpc from "@grpc/grpc-js";
|
|
18
|
+
import * as protoLoader from "@grpc/proto-loader";
|
|
19
|
+
import { emulatorControllerDescriptor } from "./proto/emulator-controller-descriptor.ts";
|
|
20
|
+
import type { RunningEmulator } from "./emulator-discovery.ts";
|
|
21
|
+
|
|
22
|
+
/** A full-resolution RGB888 frame at 1080x2400 is 7.8 MB; grpc-js caps receives at 4 MB by
|
|
23
|
+
* default and would fail the stream with RESOURCE_EXHAUSTED without naming the size. */
|
|
24
|
+
const MAX_RECEIVE_BYTES = 64 * 1024 * 1024;
|
|
25
|
+
|
|
26
|
+
const DEFAULT_DEADLINE_MS = 5_000;
|
|
27
|
+
|
|
28
|
+
let cachedCtor: any = null;
|
|
29
|
+
|
|
30
|
+
function controllerCtor(): any {
|
|
31
|
+
if (cachedCtor) return cachedCtor;
|
|
32
|
+
const def = protoLoader.fromJSON(
|
|
33
|
+
emulatorControllerDescriptor as unknown as Parameters<typeof protoLoader.fromJSON>[0],
|
|
34
|
+
{
|
|
35
|
+
keepCase: true,
|
|
36
|
+
longs: String,
|
|
37
|
+
enums: String,
|
|
38
|
+
defaults: true,
|
|
39
|
+
oneofs: true,
|
|
40
|
+
// Buffer, not base64: the screenshot path must not pay a string round trip per frame.
|
|
41
|
+
bytes: Buffer,
|
|
42
|
+
},
|
|
43
|
+
);
|
|
44
|
+
const pkg = grpc.loadPackageDefinition(def) as any;
|
|
45
|
+
cachedCtor = pkg.android.emulation.control.EmulatorController;
|
|
46
|
+
return cachedCtor;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export interface EmulatorChannel {
|
|
50
|
+
readonly client: any;
|
|
51
|
+
readonly metadata: grpc.Metadata;
|
|
52
|
+
readonly target: string;
|
|
53
|
+
close(): void;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export function connectToEmulator(emulator: RunningEmulator): EmulatorChannel {
|
|
57
|
+
const target = `127.0.0.1:${emulator.grpcPort}`;
|
|
58
|
+
const client = new (controllerCtor())(target, grpc.credentials.createInsecure(), {
|
|
59
|
+
"grpc.max_receive_message_length": MAX_RECEIVE_BYTES,
|
|
60
|
+
// Keepalive so a wedged emulator surfaces as a broken channel instead of a silent stall.
|
|
61
|
+
"grpc.keepalive_time_ms": 20_000,
|
|
62
|
+
"grpc.keepalive_timeout_ms": 5_000,
|
|
63
|
+
"grpc.keepalive_permit_without_calls": 1,
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
const metadata = new grpc.Metadata();
|
|
67
|
+
if (emulator.grpcToken) metadata.set("authorization", `Bearer ${emulator.grpcToken}`);
|
|
68
|
+
|
|
69
|
+
return {
|
|
70
|
+
client,
|
|
71
|
+
metadata,
|
|
72
|
+
target,
|
|
73
|
+
close: () => grpc.closeClient(client),
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/** One unary call with a deadline, promisified. A hung emulator can never wedge a caller. */
|
|
78
|
+
export function unaryCall<T = any>(
|
|
79
|
+
channel: EmulatorChannel,
|
|
80
|
+
method: string,
|
|
81
|
+
arg: unknown = {},
|
|
82
|
+
timeoutMs = DEFAULT_DEADLINE_MS,
|
|
83
|
+
): Promise<T> {
|
|
84
|
+
return new Promise((resolve, reject) => {
|
|
85
|
+
const deadline = new Date(Date.now() + timeoutMs);
|
|
86
|
+
channel.client[method](arg, channel.metadata, { deadline }, (e: Error | null, res: T) => {
|
|
87
|
+
if (e) reject(e); else resolve(res);
|
|
88
|
+
});
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
export interface EmulatorStatus {
|
|
93
|
+
booted: boolean;
|
|
94
|
+
uptimeMs: number;
|
|
95
|
+
displayWidth: number | null;
|
|
96
|
+
displayHeight: number | null;
|
|
97
|
+
displayDensity: number | null;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
function hardwareEntry(status: any, key: string): string | undefined {
|
|
101
|
+
return (status?.hardwareConfig?.entry ?? []).find((e: any) => e.key === key)?.value;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
export async function getEmulatorStatus(channel: EmulatorChannel): Promise<EmulatorStatus> {
|
|
105
|
+
const s = await unaryCall(channel, "getStatus");
|
|
106
|
+
const num = (k: string) => {
|
|
107
|
+
const v = Number(hardwareEntry(s, k));
|
|
108
|
+
return Number.isFinite(v) && v > 0 ? v : null;
|
|
109
|
+
};
|
|
110
|
+
return {
|
|
111
|
+
booted: !!s.booted,
|
|
112
|
+
uptimeMs: Number(s.uptime ?? 0),
|
|
113
|
+
displayWidth: num("hw.lcd.width"),
|
|
114
|
+
displayHeight: num("hw.lcd.height"),
|
|
115
|
+
displayDensity: num("hw.lcd.density"),
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
/** Ask the VM to shut down. Graceful: measured, the process is gone in 1-3 seconds, so nothing
|
|
120
|
+
* here ever needs to signal a pid — and never by process *name*, which on this very host
|
|
121
|
+
* matches Docker Desktop's qemu. */
|
|
122
|
+
export async function requestShutdown(channel: EmulatorChannel, timeoutMs = 10_000): Promise<void> {
|
|
123
|
+
await unaryCall(channel, "setVmState", { state: "SHUTDOWN" }, timeoutMs);
|
|
124
|
+
}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Turning viewer gestures into emulator input.
|
|
3
|
+
*
|
|
4
|
+
* The one rule that shapes this file: **`sendKey.text` carries printable ASCII [32,127) and
|
|
5
|
+
* nothing else.** Measured in Phase 0 — `"café"` arrives as `"caf"`, and Vietnamese, emoji and
|
|
6
|
+
* CJK vanish entirely, with no error and no log. So text is split: ASCII goes through `text`,
|
|
7
|
+
* and everything else goes through the clipboard plus a paste combo, which was verified to
|
|
8
|
+
* carry `"Tiếng Việt 😀"` intact into the guest.
|
|
9
|
+
*/
|
|
10
|
+
import { unaryCall, type EmulatorChannel } from "./android-grpc.ts";
|
|
11
|
+
import type { AndroidTouchPoint } from "../../shared/android-protocol.ts";
|
|
12
|
+
|
|
13
|
+
/** The emulator accepts at most this many simultaneous contacts. */
|
|
14
|
+
export const MAX_TOUCH_POINTS = 10;
|
|
15
|
+
|
|
16
|
+
export function isInjectableAscii(text: string): boolean {
|
|
17
|
+
for (const ch of text) {
|
|
18
|
+
const code = ch.codePointAt(0)!;
|
|
19
|
+
if (code < 32 || code >= 127) return false;
|
|
20
|
+
}
|
|
21
|
+
return true;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Send one touch update.
|
|
26
|
+
*
|
|
27
|
+
* `pressure: 0` is how a finger is released, and it is mandatory: the proto states an identifier
|
|
28
|
+
* that never sees zero is not unregistered. The emulator does expire a slot on its own, but only
|
|
29
|
+
* after 120 seconds — far too long to rely on, which is why the session has its own release path.
|
|
30
|
+
*/
|
|
31
|
+
export async function sendTouch(channel: EmulatorChannel, touches: AndroidTouchPoint[]): Promise<void> {
|
|
32
|
+
const clamped = touches.slice(0, MAX_TOUCH_POINTS).map((t) => ({
|
|
33
|
+
x: Math.round(t.x),
|
|
34
|
+
y: Math.round(t.y),
|
|
35
|
+
identifier: Math.max(0, Math.round(t.id)),
|
|
36
|
+
pressure: t.pressure > 0 ? Math.max(1, Math.round(t.pressure)) : 0,
|
|
37
|
+
}));
|
|
38
|
+
await unaryCall(channel, "sendTouch", { touches: clamped }, 2000);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/** Release every contact. Called on blur, tab hide, lost control and disconnect. */
|
|
42
|
+
export async function releaseAllTouches(channel: EmulatorChannel): Promise<void> {
|
|
43
|
+
const release = Array.from({ length: MAX_TOUCH_POINTS }, (_, i) => ({
|
|
44
|
+
x: 0, y: 0, identifier: i, pressure: 0,
|
|
45
|
+
}));
|
|
46
|
+
await unaryCall(channel, "sendTouch", { touches: release }, 2000);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/** The w3c `KeyboardEvent.key` values the emulator maps to Android's own buttons. */
|
|
50
|
+
const HARDWARE_KEYS = {
|
|
51
|
+
home: "GoHome",
|
|
52
|
+
back: "GoBack",
|
|
53
|
+
recent: "AppSwitch",
|
|
54
|
+
power: "Power",
|
|
55
|
+
"volume-up": "AudioVolumeUp",
|
|
56
|
+
"volume-down": "AudioVolumeDown",
|
|
57
|
+
} as const;
|
|
58
|
+
|
|
59
|
+
export type HardwareKey = keyof typeof HARDWARE_KEYS;
|
|
60
|
+
|
|
61
|
+
export async function sendHardwareKey(channel: EmulatorChannel, key: HardwareKey): Promise<void> {
|
|
62
|
+
await unaryCall(channel, "sendKey", { key: HARDWARE_KEYS[key], eventType: "keypress" }, 2000);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/** `key` takes the browser's own `KeyboardEvent.key` value — the proto follows the w3c list. */
|
|
66
|
+
export async function sendKey(
|
|
67
|
+
channel: EmulatorChannel,
|
|
68
|
+
key: string,
|
|
69
|
+
action: "down" | "up" | "press",
|
|
70
|
+
): Promise<void> {
|
|
71
|
+
const eventType = action === "down" ? "keydown" : action === "up" ? "keyup" : "keypress";
|
|
72
|
+
await unaryCall(channel, "sendKey", { key, eventType }, 2000);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/** ASCII only — the caller must have checked. Anything else is silently dropped by the emulator. */
|
|
76
|
+
export async function sendAsciiText(channel: EmulatorChannel, text: string): Promise<void> {
|
|
77
|
+
// The proto warns the keyboard buffer can be overrun by >1 KB at a time, and points at the
|
|
78
|
+
// clipboard for bulk text. Chunking keeps ordinary typing on this path either way.
|
|
79
|
+
for (let i = 0; i < text.length; i += 256) {
|
|
80
|
+
await unaryCall(channel, "sendKey", { text: text.slice(i, i + 256) }, 3000);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* The path for anything not ASCII: put it on the guest clipboard and paste.
|
|
86
|
+
*
|
|
87
|
+
* Verified end to end in Phase 0 — `setClipboard` carried `"Tiếng Việt 😀"` into the guest
|
|
88
|
+
* exactly, confirmed both by reading it back and by Android's own paste suggestion rendering it.
|
|
89
|
+
*/
|
|
90
|
+
export async function pasteText(channel: EmulatorChannel, text: string): Promise<void> {
|
|
91
|
+
await unaryCall(channel, "setClipboard", { text }, 3000);
|
|
92
|
+
await unaryCall(channel, "sendKey", { key: "Control", eventType: "keydown" }, 2000);
|
|
93
|
+
await unaryCall(channel, "sendKey", { key: "v", eventType: "keypress" }, 2000);
|
|
94
|
+
await unaryCall(channel, "sendKey", { key: "Control", eventType: "keyup" }, 2000);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/** Send text by whichever path can actually carry it. */
|
|
98
|
+
export async function sendText(channel: EmulatorChannel, text: string): Promise<"typed" | "pasted"> {
|
|
99
|
+
if (isInjectableAscii(text)) {
|
|
100
|
+
await sendAsciiText(channel, text);
|
|
101
|
+
return "typed";
|
|
102
|
+
}
|
|
103
|
+
await pasteText(channel, text);
|
|
104
|
+
return "pasted";
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Rotate the guest.
|
|
109
|
+
*
|
|
110
|
+
* `setPhysicalModel` with `ROTATION` takes three angles in degrees as [x, y, z], and the proto's
|
|
111
|
+
* own `Rotation.SkinRotation` enum names what each z angle means: PORTRAIT 0, LANDSCAPE 90,
|
|
112
|
+
* REVERSE_PORTRAIT -180, REVERSE_LANDSCAPE -90. So 270 is sent as **-90**, not 270 — the proto
|
|
113
|
+
* documents the angle as being in [-180, 180] and a value outside it has no defined meaning.
|
|
114
|
+
*
|
|
115
|
+
* Nothing here tracks the resulting orientation: every screenshot frame carries the emulator's
|
|
116
|
+
* own `format.rotation`, which is the authority (see `android-video.ts`).
|
|
117
|
+
*/
|
|
118
|
+
export async function setRotation(channel: EmulatorChannel, degrees: 0 | 90 | 180 | 270): Promise<void> {
|
|
119
|
+
const z = degrees === 270 ? -90 : degrees;
|
|
120
|
+
await unaryCall(channel, "setPhysicalModel", {
|
|
121
|
+
target: "ROTATION",
|
|
122
|
+
value: { data: [0, 0, z] },
|
|
123
|
+
}, 3000);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
export async function getClipboard(channel: EmulatorChannel): Promise<string> {
|
|
127
|
+
const res = await unaryCall(channel, "getClipboard", {}, 3000);
|
|
128
|
+
return typeof res?.text === "string" ? res.text : "";
|
|
129
|
+
}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-device logcat: one gRPC stream, many watchers, a bounded ring buffer and nothing on disk.
|
|
3
|
+
*
|
|
4
|
+
* Plan §Phase 3 is specific about the shape: filter, pause, clear-view and a ring buffer, with
|
|
5
|
+
* **nothing written to the database**. So this holds a fixed number of entries in memory and
|
|
6
|
+
* hands a new watcher that backlog; filtering, pausing and clearing the view are the client's,
|
|
7
|
+
* because all three are about what one person is looking at, not about what the device said.
|
|
8
|
+
*
|
|
9
|
+
* ## `sort: Parsed` does not work, and fails by being silently empty
|
|
10
|
+
*
|
|
11
|
+
* The proto offers `LogMessage.LogType.Parsed`, which would deliver `LogcatEntry` records with
|
|
12
|
+
* level, tag, pid and tid already separated — exactly what this file wants. Measured against
|
|
13
|
+
* emulator **36.5.10.0** it is not implemented:
|
|
14
|
+
*
|
|
15
|
+
* - `streamLogcat({sort: "Parsed"})` → **334 messages in 8 seconds, every one of them with an
|
|
16
|
+
* empty `entries` list AND an empty `contents` string**, each echoing `sort: Text` back. Not
|
|
17
|
+
* an error, not `UNIMPLEMENTED`: a busy stream of nothing, which reads exactly like a device
|
|
18
|
+
* that is not logging.
|
|
19
|
+
* - The same with the numeric enum value (`sort: 1`) — 57 empty messages in 8 seconds.
|
|
20
|
+
* - `streamLogcat({})` — the default, `Text` — delivers the real log.
|
|
21
|
+
* - The deprecated unary `getLogcat` answers **12 UNIMPLEMENTED** outright, so there is no
|
|
22
|
+
* snapshot RPC either; the ring buffer is the only backlog there is.
|
|
23
|
+
*
|
|
24
|
+
* So the lines are parsed here. Two more measured details that shape the parser: each gRPC
|
|
25
|
+
* message carries **exactly one line** with **no trailing newline** (so nothing has to buffer a
|
|
26
|
+
* partial line across messages — though the split still handles it, since a future build
|
|
27
|
+
* batching lines would otherwise silently concatenate them into one entry), and the format is
|
|
28
|
+
* logcat's `threadtime`, which carries no year.
|
|
29
|
+
*/
|
|
30
|
+
import type { EmulatorChannel } from "./android-grpc.ts";
|
|
31
|
+
import type { AndroidLogEntry, AndroidLogLevel } from "../../shared/android-protocol.ts";
|
|
32
|
+
|
|
33
|
+
/** Enough to scroll back through a crash, far too little to be a storage decision. */
|
|
34
|
+
export const LOGCAT_RING_SIZE = 2_000;
|
|
35
|
+
|
|
36
|
+
/** logcat's one-letter levels. `A` is assert, which Android also calls FATAL. */
|
|
37
|
+
const LEVELS: Record<string, AndroidLogLevel> = {
|
|
38
|
+
V: "verbose", D: "debug", I: "info", W: "warn", E: "error", F: "fatal", A: "fatal", S: "verbose",
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
/** `MM-DD HH:MM:SS.mmm PID TID L TAG: message` — logcat's `threadtime`, which is the default. */
|
|
42
|
+
const THREADTIME = /^(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})\.(\d{3})\s+(\d+)\s+(\d+)\s+([A-Z])\s+([^:]*?)\s*:\s?(.*)$/;
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Turn one logcat line into an entry.
|
|
46
|
+
*
|
|
47
|
+
* A line that does not parse is **kept**, not dropped: it is a continuation of the line above
|
|
48
|
+
* (a stack trace written with embedded newlines) or a banner like `--------- beginning of main`,
|
|
49
|
+
* and losing either would quietly cut a crash in half. It gets no level and no tag rather than
|
|
50
|
+
* an invented one.
|
|
51
|
+
*/
|
|
52
|
+
export function parseLogcatLine(line: string, id: number, now = new Date()): AndroidLogEntry | null {
|
|
53
|
+
if (line.length === 0) return null;
|
|
54
|
+
const m = THREADTIME.exec(line);
|
|
55
|
+
if (!m) return { id, timestamp: now.getTime(), pid: 0, tid: 0, level: "verbose", tag: "", message: line };
|
|
56
|
+
|
|
57
|
+
const [, mo, day, hh, mm, ss, ms, pid, tid, level, tag, message] = m;
|
|
58
|
+
// threadtime has no year. Assume this one, and step back if that puts the line in the future
|
|
59
|
+
// by more than a day — which is what reading a December log on January 1st looks like.
|
|
60
|
+
let at = new Date(now.getFullYear(), Number(mo) - 1, Number(day), Number(hh), Number(mm), Number(ss), Number(ms));
|
|
61
|
+
if (at.getTime() - now.getTime() > 24 * 60 * 60_000) at = new Date(at.getTime() - 365 * 24 * 60 * 60_000);
|
|
62
|
+
|
|
63
|
+
return {
|
|
64
|
+
id,
|
|
65
|
+
timestamp: at.getTime(),
|
|
66
|
+
pid: Number(pid),
|
|
67
|
+
tid: Number(tid),
|
|
68
|
+
level: LEVELS[level!] ?? "verbose",
|
|
69
|
+
tag: tag ?? "",
|
|
70
|
+
message: message ?? "",
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
export type LogcatListener = (entries: AndroidLogEntry[]) => void;
|
|
75
|
+
|
|
76
|
+
interface DeviceLogcat {
|
|
77
|
+
channel: EmulatorChannel;
|
|
78
|
+
/** The live gRPC stream, or null while nobody is watching. */
|
|
79
|
+
call: any;
|
|
80
|
+
ring: AndroidLogEntry[];
|
|
81
|
+
listeners: Set<LogcatListener>;
|
|
82
|
+
nextId: number;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
const streams = new Map<string, DeviceLogcat>();
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Start watching a device's logcat.
|
|
89
|
+
*
|
|
90
|
+
* The channel is the caller's and is NOT closed here: it belongs to the session, which may still
|
|
91
|
+
* be sending input on it long after the log panel is closed.
|
|
92
|
+
*/
|
|
93
|
+
export function subscribeLogcat(
|
|
94
|
+
deviceId: string,
|
|
95
|
+
channel: EmulatorChannel,
|
|
96
|
+
listener: LogcatListener,
|
|
97
|
+
): () => void {
|
|
98
|
+
let stream = streams.get(deviceId);
|
|
99
|
+
if (!stream) {
|
|
100
|
+
stream = { channel, call: null, ring: [], listeners: new Set(), nextId: 1 };
|
|
101
|
+
streams.set(deviceId, stream);
|
|
102
|
+
}
|
|
103
|
+
// A session that reconnected has a new channel; the ring belongs to the device, not to it.
|
|
104
|
+
stream.channel = channel;
|
|
105
|
+
if (!stream.call) openStream(deviceId, stream);
|
|
106
|
+
stream.listeners.add(listener);
|
|
107
|
+
// Hand over what has already been said, so opening the panel does not show an empty box on a
|
|
108
|
+
// device that has been running for an hour.
|
|
109
|
+
if (stream.ring.length > 0) listener([...stream.ring]);
|
|
110
|
+
|
|
111
|
+
return () => {
|
|
112
|
+
const s = streams.get(deviceId);
|
|
113
|
+
if (!s) return;
|
|
114
|
+
s.listeners.delete(listener);
|
|
115
|
+
// Plan gate: "logs hidden ngừng subscription". Nobody watching means nothing streaming.
|
|
116
|
+
if (s.listeners.size === 0) closeStream(deviceId);
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
function openStream(deviceId: string, stream: DeviceLogcat): void {
|
|
121
|
+
// No `sort` field: the default is Text, and Parsed is the empty-stream trap described above.
|
|
122
|
+
const call = stream.channel.client.streamLogcat({}, stream.channel.metadata);
|
|
123
|
+
stream.call = call;
|
|
124
|
+
call.on("data", (msg: any) => {
|
|
125
|
+
const contents: string = msg?.contents ?? "";
|
|
126
|
+
if (contents.length === 0) return;
|
|
127
|
+
const entries: AndroidLogEntry[] = [];
|
|
128
|
+
for (const line of contents.split("\n")) {
|
|
129
|
+
const entry = parseLogcatLine(line.replace(/\r$/, ""), stream.nextId);
|
|
130
|
+
if (entry) { stream.nextId++; entries.push(entry); }
|
|
131
|
+
}
|
|
132
|
+
if (entries.length === 0) return;
|
|
133
|
+
stream.ring.push(...entries);
|
|
134
|
+
if (stream.ring.length > LOGCAT_RING_SIZE) {
|
|
135
|
+
stream.ring.splice(0, stream.ring.length - LOGCAT_RING_SIZE);
|
|
136
|
+
}
|
|
137
|
+
for (const l of stream.listeners) l(entries);
|
|
138
|
+
});
|
|
139
|
+
call.on("error", (e: any) => {
|
|
140
|
+
// code 1 is CANCELLED, which is how the last watcher leaving ends it.
|
|
141
|
+
if (e?.code !== 1) console.warn(`[android] logcat stream for ${deviceId} failed: ${e?.details ?? e?.message ?? e}`);
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
/**
|
|
146
|
+
* Stop the gRPC stream but **keep the ring**.
|
|
147
|
+
*
|
|
148
|
+
* The plan's gate is that hiding the log stops the subscription, which this does. Throwing the
|
|
149
|
+
* backlog away as well is a different thing and a worse one: closing the panel to read a stack
|
|
150
|
+
* trace on another screen and reopening it would show an empty box. The cost is that a reopened
|
|
151
|
+
* panel has a gap where nothing was being watched — the timestamps say so.
|
|
152
|
+
*/
|
|
153
|
+
function closeStream(deviceId: string): void {
|
|
154
|
+
const stream = streams.get(deviceId);
|
|
155
|
+
if (!stream?.call) return;
|
|
156
|
+
try { stream.call.cancel(); } catch { /* already gone */ }
|
|
157
|
+
stream.call = null;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
/** Tear everything down for a device — the session closing, or the emulator stopping. */
|
|
161
|
+
export function closeDeviceLogcat(deviceId: string): void {
|
|
162
|
+
closeStream(deviceId);
|
|
163
|
+
streams.delete(deviceId);
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
/** What a watcher would be handed right now. Exposed for tests and for a snapshot download. */
|
|
167
|
+
export function logcatBacklog(deviceId: string): AndroidLogEntry[] {
|
|
168
|
+
return [...(streams.get(deviceId)?.ring ?? [])];
|
|
169
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Single-use, short-lived nonces for `/ws/android`.
|
|
3
|
+
*
|
|
4
|
+
* The coarse PPM token already travels as `?token=` on every WS URL and proves only "holds the
|
|
5
|
+
* one reusable app token". A session that hands over touch and keyboard control of a running
|
|
6
|
+
* VM needs more than that, so `POST /api/android/devices/:id/sessions` mints a nonce that must
|
|
7
|
+
* be the client's *first* WS message and can be spent exactly once.
|
|
8
|
+
*/
|
|
9
|
+
const TTL_MS = 30_000;
|
|
10
|
+
const MAX_OUTSTANDING = 32;
|
|
11
|
+
|
|
12
|
+
interface Nonce {
|
|
13
|
+
value: string;
|
|
14
|
+
deviceId: string;
|
|
15
|
+
expiresAt: number;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
const outstanding = new Map<string, Nonce>();
|
|
19
|
+
|
|
20
|
+
function sweep(): void {
|
|
21
|
+
const now = Date.now();
|
|
22
|
+
for (const [k, n] of outstanding) if (n.expiresAt <= now) outstanding.delete(k);
|
|
23
|
+
// A client that mints and never connects must not be able to grow this without bound.
|
|
24
|
+
while (outstanding.size > MAX_OUTSTANDING) {
|
|
25
|
+
const oldest = [...outstanding.values()].sort((a, b) => a.expiresAt - b.expiresAt)[0];
|
|
26
|
+
if (!oldest) break;
|
|
27
|
+
outstanding.delete(oldest.value);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export function mintAndroidNonce(deviceId: string): string {
|
|
32
|
+
sweep();
|
|
33
|
+
const value = crypto.randomUUID().replace(/-/g, "");
|
|
34
|
+
outstanding.set(value, { value, deviceId, expiresAt: Date.now() + TTL_MS });
|
|
35
|
+
return value;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/** Spend a nonce. Returns the device it was minted for, or null if unknown/expired/already used. */
|
|
39
|
+
export function consumeAndroidNonce(value: string): string | null {
|
|
40
|
+
sweep();
|
|
41
|
+
const n = outstanding.get(value);
|
|
42
|
+
if (!n) return null;
|
|
43
|
+
outstanding.delete(value); // single use, even if the rest of the handshake fails
|
|
44
|
+
return n.expiresAt > Date.now() ? n.deviceId : null;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/** Revoke everything — used when the PPM token changes or auth is turned off. */
|
|
48
|
+
export function revokeAllAndroidNonces(): void {
|
|
49
|
+
outstanding.clear();
|
|
50
|
+
}
|