@hienlh/ppm 0.23.12 → 0.23.14
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 +205 -0
- package/CLAUDE.md +42 -7
- package/THIRD-PARTY-NOTICES.md +2 -2
- package/assets/skills/ppm/SKILL.md +5 -4
- package/assets/skills/ppm/references/cli-reference.md +34 -8
- package/assets/skills/ppm/references/common-tasks.md +8 -4
- package/assets/skills/ppm/references/http-api.md +65 -17
- package/bun.lock +53 -41
- package/dist/web/assets/_basePickBy-DZsMzaag.js +1 -0
- package/dist/web/assets/_basePickBy-DZsMzaag.js.br +0 -0
- package/dist/web/assets/_basePickBy-DZsMzaag.js.gz +0 -0
- package/dist/web/assets/_baseUniq-BVfFdhnG.js +1 -0
- package/dist/web/assets/_baseUniq-BVfFdhnG.js.br +0 -0
- package/dist/web/assets/_baseUniq-BVfFdhnG.js.gz +0 -0
- package/dist/web/assets/accounts-settings-section-C3uzfcyx.js +1 -0
- package/dist/web/assets/accounts-settings-section-C3uzfcyx.js.br +0 -0
- package/dist/web/assets/accounts-settings-section-C3uzfcyx.js.gz +0 -0
- package/dist/web/assets/adaptive-context-menu-v544UeQs.js +1 -0
- package/dist/web/assets/adaptive-context-menu-v544UeQs.js.br +0 -0
- package/dist/web/assets/adaptive-context-menu-v544UeQs.js.gz +0 -0
- package/dist/web/assets/agent-session-sheet-BGM_TtXa.js +2 -0
- package/dist/web/assets/agent-session-sheet-BGM_TtXa.js.br +0 -0
- package/dist/web/assets/agent-session-sheet-BGM_TtXa.js.gz +0 -0
- package/dist/web/assets/agent-session-sheet-store-DXiGofzB.js +1 -0
- package/dist/web/assets/agent-session-window-content-DNa0uxco.js +1 -0
- package/dist/web/assets/agent-session-window-content-DNa0uxco.js.br +0 -0
- package/dist/web/assets/agent-session-window-content-DNa0uxco.js.gz +0 -0
- package/dist/web/assets/ai-resource-editor-Bjh12UJ5.js +1 -0
- package/dist/web/assets/ai-resource-editor-Bjh12UJ5.js.br +0 -0
- package/dist/web/assets/ai-resource-editor-Bjh12UJ5.js.gz +0 -0
- package/dist/web/assets/ai-settings-section-BUmAoa1c.js +1 -0
- package/dist/web/assets/ai-settings-section-BUmAoa1c.js.br +0 -0
- package/dist/web/assets/ai-settings-section-BUmAoa1c.js.gz +0 -0
- package/dist/web/assets/ai-settings-section-D18U_alH.js +1 -0
- package/dist/web/assets/android-tab-DkemOp4O.js +2 -0
- package/dist/web/assets/android-tab-DkemOp4O.js.br +0 -0
- package/dist/web/assets/android-tab-DkemOp4O.js.gz +0 -0
- package/dist/web/assets/angular-html-C-EXiYxF.js +1 -0
- package/dist/web/assets/angular-html-C-EXiYxF.js.br +0 -0
- package/dist/web/assets/angular-html-C-EXiYxF.js.gz +0 -0
- package/dist/web/assets/angular-ts-7vgQKHTG.js +1 -0
- package/dist/web/assets/angular-ts-7vgQKHTG.js.br +0 -0
- package/dist/web/assets/angular-ts-7vgQKHTG.js.gz +0 -0
- package/dist/web/assets/api-client-DAQfiXg0.js +1 -0
- package/dist/web/assets/api-client-OiA8Ida1.js +1 -0
- package/dist/web/assets/api-client-OiA8Ida1.js.br +0 -0
- package/dist/web/assets/api-client-OiA8Ida1.js.gz +0 -0
- package/dist/web/assets/api-settings-BD9LvTw-.js +1 -0
- package/dist/web/assets/api-settings-obEnPtdW.js +1 -0
- package/dist/web/assets/api-settings-obEnPtdW.js.br +0 -0
- package/dist/web/assets/api-settings-obEnPtdW.js.gz +0 -0
- package/dist/web/assets/api-themes-M86KsVMo.js +1 -0
- package/dist/web/assets/apl-5jVD2fgP.js +1 -0
- package/dist/web/assets/apl-5jVD2fgP.js.br +0 -0
- package/dist/web/assets/apl-5jVD2fgP.js.gz +0 -0
- package/dist/web/assets/appearance-settings-section-ZfH6MlPQ.js +1 -0
- package/dist/web/assets/appearance-settings-section-ZfH6MlPQ.js.br +0 -0
- package/dist/web/assets/appearance-settings-section-ZfH6MlPQ.js.gz +0 -0
- package/dist/web/assets/apps-panel-CqLd47PW.js +1 -0
- package/dist/web/assets/apps-panel-CqLd47PW.js.br +0 -0
- package/dist/web/assets/apps-panel-CqLd47PW.js.gz +0 -0
- package/dist/web/assets/arc-I7PUO0-e.js +1 -0
- package/dist/web/assets/arc-I7PUO0-e.js.br +0 -0
- package/dist/web/assets/arc-I7PUO0-e.js.gz +0 -0
- package/dist/web/assets/architecture-PBZL5I3N-B-Uky3bj.js +1 -0
- package/dist/web/assets/architectureDiagram-2XIMDMQ5-BRrtQjsr.js +36 -0
- package/dist/web/assets/architectureDiagram-2XIMDMQ5-BRrtQjsr.js.br +0 -0
- package/dist/web/assets/architectureDiagram-2XIMDMQ5-BRrtQjsr.js.gz +0 -0
- package/dist/web/assets/astro-QYZZ8yJJ.js +1 -0
- package/dist/web/assets/astro-QYZZ8yJJ.js.br +0 -0
- package/dist/web/assets/astro-QYZZ8yJJ.js.gz +0 -0
- package/dist/web/assets/audio-preview-COlIaXik.js +1 -0
- package/dist/web/assets/audio-preview-COlIaXik.js.br +2 -0
- package/dist/web/assets/audio-preview-COlIaXik.js.gz +0 -0
- package/dist/web/assets/blade-cgabhmsU.js +1 -0
- package/dist/web/assets/blade-cgabhmsU.js.br +0 -0
- package/dist/web/assets/blade-cgabhmsU.js.gz +0 -0
- package/dist/web/assets/blockDiagram-WCTKOSBZ-DGzimbRP.js +132 -0
- package/dist/web/assets/blockDiagram-WCTKOSBZ-DGzimbRP.js.br +0 -0
- package/dist/web/assets/blockDiagram-WCTKOSBZ-DGzimbRP.js.gz +0 -0
- package/dist/web/assets/branch-review-tab-D45ZjK7j.js +1 -0
- package/dist/web/assets/branch-review-tab-D45ZjK7j.js.br +0 -0
- package/dist/web/assets/branch-review-tab-D45ZjK7j.js.gz +0 -0
- package/dist/web/assets/bsl-CJ7_JlQ8.js +1 -0
- package/dist/web/assets/bsl-CJ7_JlQ8.js.br +0 -0
- package/dist/web/assets/bsl-CJ7_JlQ8.js.gz +0 -0
- package/dist/web/assets/button-DR4_Bprq.js +1 -0
- package/dist/web/assets/button-DR4_Bprq.js.br +0 -0
- package/dist/web/assets/button-DR4_Bprq.js.gz +0 -0
- package/dist/web/assets/c4Diagram-IC4MRINW-CYgja0Vj.js +10 -0
- package/dist/web/assets/c4Diagram-IC4MRINW-CYgja0Vj.js.br +0 -0
- package/dist/web/assets/c4Diagram-IC4MRINW-CYgja0Vj.js.gz +0 -0
- package/dist/web/assets/cairo-5CpV2T1P.js +1 -0
- package/dist/web/assets/cairo-5CpV2T1P.js.br +0 -0
- package/dist/web/assets/cairo-5CpV2T1P.js.gz +0 -0
- package/dist/web/assets/channel-DPtrFCA5.js +1 -0
- package/dist/web/assets/chat-preparation-cache-CRX9WAK5.js +1 -0
- package/dist/web/assets/chat-preparation-cache-CRX9WAK5.js.br +0 -0
- package/dist/web/assets/chat-preparation-cache-CRX9WAK5.js.gz +0 -0
- package/dist/web/assets/chat-tab-BxtuxnUo.js +17 -0
- package/dist/web/assets/chat-tab-BxtuxnUo.js.br +0 -0
- package/dist/web/assets/chat-tab-BxtuxnUo.js.gz +0 -0
- package/dist/web/assets/chat-tab-CWp56c6g.js +1 -0
- package/dist/web/assets/chat-tab-CWp56c6g.js.br +0 -0
- package/dist/web/assets/chat-tab-CWp56c6g.js.gz +0 -0
- package/dist/web/assets/chunk-4BX2VUAB-C34azZaK.js +1 -0
- package/dist/web/assets/chunk-55IACEB6-lLZt91qK.js +1 -0
- package/dist/web/assets/chunk-7E7YKBS2-C4ZO5Pu3.js +1 -0
- package/dist/web/assets/chunk-7R4GIKGN-D3k5MAee.js +80 -0
- package/dist/web/assets/chunk-7R4GIKGN-D3k5MAee.js.br +0 -0
- package/dist/web/assets/chunk-7R4GIKGN-D3k5MAee.js.gz +0 -0
- package/dist/web/assets/chunk-C72U2L5F-DJYrpKtC.js +1 -0
- package/dist/web/assets/chunk-EGIJ26TM-BWMmrqKU.js +1 -0
- package/dist/web/assets/chunk-FMBD7UC4-BQAL1rdi.js +15 -0
- package/dist/web/assets/chunk-GEFDOKGD-ClUT8N5D.js +2 -0
- package/dist/web/assets/chunk-GEFDOKGD-ClUT8N5D.js.br +0 -0
- package/dist/web/assets/chunk-GEFDOKGD-ClUT8N5D.js.gz +0 -0
- package/dist/web/assets/chunk-GLR3WWYH-BPnxz1C7.js +2 -0
- package/dist/web/assets/chunk-GLR3WWYH-BPnxz1C7.js.br +0 -0
- package/dist/web/assets/chunk-GLR3WWYH-BPnxz1C7.js.gz +0 -0
- package/dist/web/assets/chunk-HHEYEP7N-BuMrJGFc.js +1 -0
- package/dist/web/assets/chunk-JSJVCQXG-BtujOcXV.js +1 -0
- package/dist/web/assets/chunk-JSJVCQXG-BtujOcXV.js.br +0 -0
- package/dist/web/assets/chunk-JSJVCQXG-BtujOcXV.js.gz +0 -0
- package/dist/web/assets/chunk-KX2RTZJC-DUDiP7Yd.js +1 -0
- package/dist/web/assets/chunk-KYZI473N-DJeOp6mm.js +53 -0
- package/dist/web/assets/chunk-KYZI473N-DJeOp6mm.js.br +0 -0
- package/dist/web/assets/chunk-KYZI473N-DJeOp6mm.js.gz +0 -0
- package/dist/web/assets/chunk-L3YUKLVL-EJ6HIENH.js +1 -0
- package/dist/web/assets/chunk-MX3YWQON-D4w4VuVE.js +1 -0
- package/dist/web/assets/chunk-MX3YWQON-D4w4VuVE.js.br +0 -0
- package/dist/web/assets/chunk-MX3YWQON-D4w4VuVE.js.gz +0 -0
- package/dist/web/assets/chunk-NQ4KR5QH-CpKJy3xG.js +220 -0
- package/dist/web/assets/chunk-NQ4KR5QH-CpKJy3xG.js.br +0 -0
- package/dist/web/assets/chunk-NQ4KR5QH-CpKJy3xG.js.gz +0 -0
- package/dist/web/assets/chunk-O4XLMI2P-DxH8ZaVs.js +7 -0
- package/dist/web/assets/chunk-O4XLMI2P-DxH8ZaVs.js.br +0 -0
- package/dist/web/assets/chunk-O4XLMI2P-DxH8ZaVs.js.gz +0 -0
- package/dist/web/assets/chunk-OZEHJAEY-Y8-7O5Mi.js +1 -0
- package/dist/web/assets/chunk-OZEHJAEY-Y8-7O5Mi.js.br +0 -0
- package/dist/web/assets/chunk-OZEHJAEY-Y8-7O5Mi.js.gz +0 -0
- package/dist/web/assets/chunk-PQ6SQG4A-Dh4202bK.js +1 -0
- package/dist/web/assets/chunk-PQ6SQG4A-Dh4202bK.js.br +0 -0
- package/dist/web/assets/chunk-PQ6SQG4A-Dh4202bK.js.gz +0 -0
- package/dist/web/assets/chunk-PU5JKC2W-CKcDA1rA.js +11 -0
- package/dist/web/assets/chunk-PU5JKC2W-CKcDA1rA.js.br +0 -0
- package/dist/web/assets/chunk-PU5JKC2W-CKcDA1rA.js.gz +0 -0
- package/dist/web/assets/chunk-QZHKN3VN-L8x9oN54.js +1 -0
- package/dist/web/assets/chunk-R5LLSJPH-BCVA8OTp.js +1 -0
- package/dist/web/assets/chunk-WL4C6EOR-BBskKt7O.js +189 -0
- package/dist/web/assets/chunk-WL4C6EOR-BBskKt7O.js.br +0 -0
- package/dist/web/assets/chunk-WL4C6EOR-BBskKt7O.js.gz +0 -0
- package/dist/web/assets/chunk-XIRO2GV7-DdW94AiK.js +1 -0
- package/dist/web/assets/chunk-XPW4576I-CWknSB3b.js +32 -0
- package/dist/web/assets/chunk-XPW4576I-CWknSB3b.js.br +0 -0
- package/dist/web/assets/chunk-XPW4576I-CWknSB3b.js.gz +0 -0
- package/dist/web/assets/chunk-XZSTWKYB-BpHDY2Kb.js +94 -0
- package/dist/web/assets/chunk-XZSTWKYB-BpHDY2Kb.js.br +0 -0
- package/dist/web/assets/chunk-XZSTWKYB-BpHDY2Kb.js.gz +0 -0
- package/dist/web/assets/chunk-YBOYWFTD-bFqPImfF.js +1 -0
- package/dist/web/assets/classDiagram-VBA2DB6C-CIjURp-9.js +1 -0
- package/dist/web/assets/classDiagram-v2-RAHNMMFH-clKWjh1c.js +1 -0
- package/dist/web/assets/clipboard-D-VCry-F.js +1 -0
- package/dist/web/assets/clipboard-D-VCry-F.js.br +0 -0
- package/dist/web/assets/clipboard-D-VCry-F.js.gz +0 -0
- package/dist/web/assets/clone-Bi0DAQV-.js +1 -0
- package/dist/web/assets/cobol-Bd6KmX0J.js +1 -0
- package/dist/web/assets/cobol-Bd6KmX0J.js.br +0 -0
- package/dist/web/assets/cobol-Bd6KmX0J.js.gz +0 -0
- package/dist/web/assets/code-editor-Culc4-j-.js +10 -0
- package/dist/web/assets/code-editor-Culc4-j-.js.br +0 -0
- package/dist/web/assets/code-editor-Culc4-j-.js.gz +0 -0
- package/dist/web/assets/code-fence-C1cQ2ktb.js +1 -0
- package/dist/web/assets/codex-reset-credit-button-Dav3UqiJ.js +1 -0
- package/dist/web/assets/codex-reset-credit-button-Dav3UqiJ.js.br +0 -0
- package/dist/web/assets/codex-reset-credit-button-Dav3UqiJ.js.gz +0 -0
- package/dist/web/assets/coffee-DvwNSvU3.js +1 -0
- package/dist/web/assets/coffee-DvwNSvU3.js.br +0 -0
- package/dist/web/assets/coffee-DvwNSvU3.js.gz +0 -0
- package/dist/web/assets/conflict-editor-Hi-bm0vI.js +19 -0
- package/dist/web/assets/conflict-editor-Hi-bm0vI.js.br +0 -0
- package/dist/web/assets/conflict-editor-Hi-bm0vI.js.gz +0 -0
- package/dist/web/assets/connection-form-tab-DdOo2bzr.js +4 -0
- package/dist/web/assets/connection-form-tab-DdOo2bzr.js.br +0 -0
- package/dist/web/assets/connection-form-tab-DdOo2bzr.js.gz +0 -0
- package/dist/web/assets/context-menu-BoQ6lxte.js +1 -0
- package/dist/web/assets/context-menu-BoQ6lxte.js.br +0 -0
- package/dist/web/assets/context-menu-BoQ6lxte.js.gz +0 -0
- package/dist/web/assets/cose-bilkent-S5V4N54A-ClbAPz7l.js +1 -0
- package/dist/web/assets/cose-bilkent-S5V4N54A-ClbAPz7l.js.br +0 -0
- package/dist/web/assets/cose-bilkent-S5V4N54A-ClbAPz7l.js.gz +0 -0
- package/dist/web/assets/cpp-e2ra-IrU.js +1 -0
- package/dist/web/assets/cpp-e2ra-IrU.js.br +0 -0
- package/dist/web/assets/cpp-e2ra-IrU.js.gz +0 -0
- package/dist/web/assets/crystal-BxSLXYRc.js +1 -0
- package/dist/web/assets/crystal-BxSLXYRc.js.br +0 -0
- package/dist/web/assets/crystal-BxSLXYRc.js.gz +0 -0
- package/dist/web/assets/csv-preview-C4B9osB_.js +10 -0
- package/dist/web/assets/csv-preview-C4B9osB_.js.br +0 -0
- package/dist/web/assets/csv-preview-C4B9osB_.js.gz +0 -0
- package/dist/web/assets/dagre-DQKD3TcA.js +1 -0
- package/dist/web/assets/dagre-DQKD3TcA.js.br +0 -0
- package/dist/web/assets/dagre-DQKD3TcA.js.gz +0 -0
- package/dist/web/assets/dagre-KLK3FWXG-Dpb3uk5y.js +4 -0
- package/dist/web/assets/dagre-KLK3FWXG-Dpb3uk5y.js.br +0 -0
- package/dist/web/assets/dagre-KLK3FWXG-Dpb3uk5y.js.gz +0 -0
- package/dist/web/assets/database-drivers-section-BYNY-P18.js +1 -0
- package/dist/web/assets/database-drivers-section-BYNY-P18.js.br +0 -0
- package/dist/web/assets/database-drivers-section-BYNY-P18.js.gz +0 -0
- package/dist/web/assets/db-explorer-store-DWkvEWNP.js +1 -0
- package/dist/web/assets/db-explorer-store-DWkvEWNP.js.br +0 -0
- package/dist/web/assets/db-explorer-store-DWkvEWNP.js.gz +0 -0
- package/dist/web/assets/db-tab-parts-BrVgleMJ.js +1 -0
- package/dist/web/assets/db-tab-parts-BrVgleMJ.js.br +0 -0
- package/dist/web/assets/db-tab-parts-BrVgleMJ.js.gz +0 -0
- package/dist/web/assets/db-types-D0vYhq7b.js +1 -0
- package/dist/web/assets/db-types-D0vYhq7b.js.br +0 -0
- package/dist/web/assets/db-types-D0vYhq7b.js.gz +0 -0
- package/dist/web/assets/design-canvas-check-1-Rp0ZRx.js +1 -0
- package/dist/web/assets/design-canvas-check-1-Rp0ZRx.js.br +0 -0
- package/dist/web/assets/design-canvas-check-1-Rp0ZRx.js.gz +0 -0
- package/dist/web/assets/design-export-client-B8EySrNZ.js +1 -0
- package/dist/web/assets/design-export-client-B8EySrNZ.js.br +0 -0
- package/dist/web/assets/design-export-client-B8EySrNZ.js.gz +0 -0
- package/dist/web/assets/design-responsive-dialog-0naA94rr.js +1 -0
- package/dist/web/assets/design-responsive-dialog-0naA94rr.js.br +0 -0
- package/dist/web/assets/design-responsive-dialog-0naA94rr.js.gz +0 -0
- package/dist/web/assets/design-settings-section-BoFRA6B0.js +2 -0
- package/dist/web/assets/design-settings-section-BoFRA6B0.js.br +0 -0
- package/dist/web/assets/design-settings-section-BoFRA6B0.js.gz +0 -0
- package/dist/web/assets/design-skill-suggestion-BVWan1dm.js +3 -0
- package/dist/web/assets/design-skill-suggestion-BVWan1dm.js.br +0 -0
- package/dist/web/assets/design-skill-suggestion-BVWan1dm.js.gz +0 -0
- package/dist/web/assets/design-tab--pMbjoyJ.js +57 -0
- package/dist/web/assets/design-tab--pMbjoyJ.js.br +0 -0
- package/dist/web/assets/design-tab--pMbjoyJ.js.gz +0 -0
- package/dist/web/assets/designs-sidebar-panel-D4aHxvNM.js +1 -0
- package/dist/web/assets/designs-sidebar-panel-D4aHxvNM.js.br +0 -0
- package/dist/web/assets/designs-sidebar-panel-D4aHxvNM.js.gz +0 -0
- package/dist/web/assets/diagram-E7M64L7V-nFzFvVKn.js +24 -0
- package/dist/web/assets/diagram-E7M64L7V-nFzFvVKn.js.br +0 -0
- package/dist/web/assets/diagram-E7M64L7V-nFzFvVKn.js.gz +0 -0
- package/dist/web/assets/diagram-IFDJBPK2-DTz3twyY.js +43 -0
- package/dist/web/assets/diagram-IFDJBPK2-DTz3twyY.js.br +0 -0
- package/dist/web/assets/diagram-IFDJBPK2-DTz3twyY.js.gz +0 -0
- package/dist/web/assets/diagram-P4PSJMXO-DqAQw4f4.js +24 -0
- package/dist/web/assets/diagram-P4PSJMXO-DqAQw4f4.js.br +0 -0
- package/dist/web/assets/diagram-P4PSJMXO-DqAQw4f4.js.gz +0 -0
- package/dist/web/assets/dialog-DLrqSaHA.js +1 -0
- package/dist/web/assets/dialog-DLrqSaHA.js.br +0 -0
- package/dist/web/assets/dialog-DLrqSaHA.js.gz +0 -0
- package/dist/web/assets/diff-viewer-WZKDSphn.js +4 -0
- package/dist/web/assets/diff-viewer-WZKDSphn.js.br +0 -0
- package/dist/web/assets/diff-viewer-WZKDSphn.js.gz +0 -0
- package/dist/web/assets/docx-preview-DNNgfe62.js +12 -0
- package/dist/web/assets/docx-preview-DNNgfe62.js.br +0 -0
- package/dist/web/assets/docx-preview-DNNgfe62.js.gz +0 -0
- package/dist/web/assets/dropdown-menu-ByeFrLIJ.js +1 -0
- package/dist/web/assets/dropdown-menu-ByeFrLIJ.js.br +0 -0
- package/dist/web/assets/dropdown-menu-ByeFrLIJ.js.gz +0 -0
- package/dist/web/assets/edge-BMgSJ-Bj.js +1 -0
- package/dist/web/assets/edge-BMgSJ-Bj.js.br +0 -0
- package/dist/web/assets/edge-BMgSJ-Bj.js.gz +0 -0
- package/dist/web/assets/edit-diff-preview-jg2S1fk-.js +7 -0
- package/dist/web/assets/edit-diff-preview-jg2S1fk-.js.br +0 -0
- package/dist/web/assets/edit-diff-preview-jg2S1fk-.js.gz +0 -0
- package/dist/web/assets/editor-dialog-Dq-Haj3-.js +1 -0
- package/dist/web/assets/editor-dialog-Dq-Haj3-.js.br +0 -0
- package/dist/web/assets/editor-dialog-Dq-Haj3-.js.gz +0 -0
- package/dist/web/assets/editor-language-service-as9g04JJ.js +1 -0
- package/dist/web/assets/editor-language-service-as9g04JJ.js.br +0 -0
- package/dist/web/assets/editor-language-service-as9g04JJ.js.gz +0 -0
- package/dist/web/assets/elixir-C-vsifv7.js +1 -0
- package/dist/web/assets/elixir-C-vsifv7.js.br +0 -0
- package/dist/web/assets/elixir-C-vsifv7.js.gz +0 -0
- package/dist/web/assets/elm-AlQORVd6.js +1 -0
- package/dist/web/assets/elm-AlQORVd6.js.br +0 -0
- package/dist/web/assets/elm-AlQORVd6.js.gz +0 -0
- package/dist/web/assets/erDiagram-INFDFZHY-iXaSunsJ.js +70 -0
- package/dist/web/assets/erDiagram-INFDFZHY-iXaSunsJ.js.br +0 -0
- package/dist/web/assets/erDiagram-INFDFZHY-iXaSunsJ.js.gz +0 -0
- package/dist/web/assets/erb-Bl2JVWWG.js +1 -0
- package/dist/web/assets/erb-Bl2JVWWG.js.br +0 -0
- package/dist/web/assets/erb-Bl2JVWWG.js.gz +0 -0
- package/dist/web/assets/erlang-BRqOjXH9.js +1 -0
- package/dist/web/assets/erlang-BRqOjXH9.js.br +0 -0
- package/dist/web/assets/erlang-BRqOjXH9.js.gz +0 -0
- package/dist/web/assets/explorer-body-D4C2wOou.js +2 -0
- package/dist/web/assets/explorer-body-D4C2wOou.js.br +0 -0
- package/dist/web/assets/explorer-body-D4C2wOou.js.gz +0 -0
- package/dist/web/assets/explorer-model-DzQgZCjd.js +1 -0
- package/dist/web/assets/explorer-model-DzQgZCjd.js.br +0 -0
- package/dist/web/assets/explorer-model-DzQgZCjd.js.gz +0 -0
- package/dist/web/assets/explorer-window-content-8w4tzl-b.js +1 -0
- package/dist/web/assets/explorer-window-content-8w4tzl-b.js.br +0 -0
- package/dist/web/assets/explorer-window-content-8w4tzl-b.js.gz +0 -0
- package/dist/web/assets/extension-manager-section-iiuCXwd3.js +1 -0
- package/dist/web/assets/extension-manager-section-iiuCXwd3.js.br +0 -0
- package/dist/web/assets/extension-manager-section-iiuCXwd3.js.gz +0 -0
- package/dist/web/assets/extension-webview-DT1Y9bkz.js +12 -0
- package/dist/web/assets/extension-webview-DT1Y9bkz.js.br +0 -0
- package/dist/web/assets/extension-webview-DT1Y9bkz.js.gz +0 -0
- package/dist/web/assets/file-diff-lX1a7RLF.js +1 -0
- package/dist/web/assets/file-icons-B1-viqUQ.js +1 -0
- package/dist/web/assets/file-icons-B1-viqUQ.js.br +0 -0
- package/dist/web/assets/file-icons-B1-viqUQ.js.gz +0 -0
- package/dist/web/assets/file-icons.generated-BTxvyD8L.css +1 -0
- package/dist/web/assets/file-icons.generated-BTxvyD8L.css.br +0 -0
- package/dist/web/assets/file-icons.generated-BTxvyD8L.css.gz +0 -0
- package/dist/web/assets/file-store-Bk1WYfdy.js +1 -0
- package/dist/web/assets/file-store-Bk1WYfdy.js.br +0 -0
- package/dist/web/assets/file-store-Bk1WYfdy.js.gz +0 -0
- package/dist/web/assets/files-settings-section-C29D5TCc.js +1 -0
- package/dist/web/assets/files-settings-section-C29D5TCc.js.br +0 -0
- package/dist/web/assets/files-settings-section-C29D5TCc.js.gz +0 -0
- package/dist/web/assets/filter-dialog-frame-ZGzke_Zc.js +1 -0
- package/dist/web/assets/filter-dialog-frame-ZGzke_Zc.js.br +0 -0
- package/dist/web/assets/filter-dialog-frame-ZGzke_Zc.js.gz +0 -0
- package/dist/web/assets/flowDiagram-PKNHOUZH-Ds_IZGyf.js +162 -0
- package/dist/web/assets/flowDiagram-PKNHOUZH-Ds_IZGyf.js.br +0 -0
- package/dist/web/assets/flowDiagram-PKNHOUZH-Ds_IZGyf.js.gz +0 -0
- package/dist/web/assets/format-file-meta-CnLWYScm.js +1 -0
- package/dist/web/assets/format-file-meta-CnLWYScm.js.br +0 -0
- package/dist/web/assets/format-file-meta-CnLWYScm.js.gz +0 -0
- package/dist/web/assets/fortran-fixed-form-CWbxmDGR.js +1 -0
- package/dist/web/assets/fortran-fixed-form-CWbxmDGR.js.br +0 -0
- package/dist/web/assets/fortran-fixed-form-CWbxmDGR.js.gz +0 -0
- package/dist/web/assets/fs-api-ssn-HsD4.js +1 -0
- package/dist/web/assets/fs-api-ssn-HsD4.js.br +0 -0
- package/dist/web/assets/fs-api-ssn-HsD4.js.gz +0 -0
- package/dist/web/assets/fsharp-DKMYbq6I.js +1 -0
- package/dist/web/assets/fsharp-DKMYbq6I.js.br +0 -0
- package/dist/web/assets/fsharp-DKMYbq6I.js.gz +0 -0
- package/dist/web/assets/ganttDiagram-A5KZAMGK-CiIdbM3n.js +292 -0
- package/dist/web/assets/ganttDiagram-A5KZAMGK-CiIdbM3n.js.br +0 -0
- package/dist/web/assets/ganttDiagram-A5KZAMGK-CiIdbM3n.js.gz +0 -0
- package/dist/web/assets/gdresource-B3yFau4V.js +1 -0
- package/dist/web/assets/gdresource-B3yFau4V.js.br +0 -0
- package/dist/web/assets/gdresource-B3yFau4V.js.gz +0 -0
- package/dist/web/assets/general-settings-section-DVd5hmw7.js +1 -0
- package/dist/web/assets/general-settings-section-DVd5hmw7.js.br +0 -0
- package/dist/web/assets/general-settings-section-DVd5hmw7.js.gz +0 -0
- package/dist/web/assets/git-commit-BW0p3Ekk.js +1 -0
- package/dist/web/assets/git-commit-BW0p3Ekk.js.br +0 -0
- package/dist/web/assets/git-commit-BW0p3Ekk.js.gz +0 -0
- package/dist/web/assets/git-commit-horizontal-BVihXafd.js +1 -0
- package/dist/web/assets/git-log-panel-CcufNPXO.js +1 -0
- package/dist/web/assets/git-log-panel-CcufNPXO.js.br +0 -0
- package/dist/web/assets/git-log-panel-CcufNPXO.js.gz +0 -0
- package/dist/web/assets/git-rebase-CUSAK8_s.js +1 -0
- package/dist/web/assets/git-repo-store-BOYLnV67.js +1 -0
- package/dist/web/assets/git-repo-store-BOYLnV67.js.br +0 -0
- package/dist/web/assets/git-repo-store-BOYLnV67.js.gz +0 -0
- package/dist/web/assets/git-review-tab-Dfu5YxgC.js +3 -0
- package/dist/web/assets/git-review-tab-Dfu5YxgC.js.br +0 -0
- package/dist/web/assets/git-review-tab-Dfu5YxgC.js.gz +0 -0
- package/dist/web/assets/gitGraph-HDMCJU4V-YCo9XlXj.js +1 -0
- package/dist/web/assets/gitGraphDiagram-K3NZZRJ6-BbhjtccU.js +65 -0
- package/dist/web/assets/gitGraphDiagram-K3NZZRJ6-BbhjtccU.js.br +0 -0
- package/dist/web/assets/gitGraphDiagram-K3NZZRJ6-BbhjtccU.js.gz +0 -0
- package/dist/web/assets/glide-data-grid-B75J0oe4.js +177 -0
- package/dist/web/assets/glide-data-grid-B75J0oe4.js.br +0 -0
- package/dist/web/assets/glide-data-grid-B75J0oe4.js.gz +0 -0
- package/dist/web/assets/glimmer-js-Dn43Q3P1.js +1 -0
- package/dist/web/assets/glimmer-js-Dn43Q3P1.js.br +0 -0
- package/dist/web/assets/glimmer-js-Dn43Q3P1.js.gz +0 -0
- package/dist/web/assets/glimmer-ts-DZYYD22W.js +1 -0
- package/dist/web/assets/glimmer-ts-DZYYD22W.js.br +0 -0
- package/dist/web/assets/glimmer-ts-DZYYD22W.js.gz +0 -0
- package/dist/web/assets/glsl-pYErV1oY.js +1 -0
- package/dist/web/assets/glsl-pYErV1oY.js.br +0 -0
- package/dist/web/assets/glsl-pYErV1oY.js.gz +0 -0
- package/dist/web/assets/graphlib-pKiIWcwD.js +1 -0
- package/dist/web/assets/graphlib-pKiIWcwD.js.br +0 -0
- package/dist/web/assets/graphlib-pKiIWcwD.js.gz +0 -0
- package/dist/web/assets/graphql-VCU9SikS.js +1 -0
- package/dist/web/assets/graphql-VCU9SikS.js.br +0 -0
- package/dist/web/assets/graphql-VCU9SikS.js.gz +0 -0
- package/dist/web/assets/grid-save-dialog-DCZKjmfY.js +2 -0
- package/dist/web/assets/grid-save-dialog-DCZKjmfY.js.br +0 -0
- package/dist/web/assets/grid-save-dialog-DCZKjmfY.js.gz +0 -0
- package/dist/web/assets/group-chat-tab-CatWu-oT.js +1 -0
- package/dist/web/assets/group-chat-tab-CatWu-oT.js.br +0 -0
- package/dist/web/assets/group-chat-tab-CatWu-oT.js.gz +0 -0
- package/dist/web/assets/hack-MIhm1LlJ.js +1 -0
- package/dist/web/assets/hack-MIhm1LlJ.js.br +0 -0
- package/dist/web/assets/hack-MIhm1LlJ.js.gz +0 -0
- package/dist/web/assets/haml-D-ys61WH.js +1 -0
- package/dist/web/assets/haml-D-ys61WH.js.br +0 -0
- package/dist/web/assets/haml-D-ys61WH.js.gz +0 -0
- package/dist/web/assets/handlebars-Ci0Fz22e.js +1 -0
- package/dist/web/assets/handlebars-Ci0Fz22e.js.br +0 -0
- package/dist/web/assets/handlebars-Ci0Fz22e.js.gz +0 -0
- package/dist/web/assets/html-BfSqT2Ng.js +1 -0
- package/dist/web/assets/html-BfSqT2Ng.js.br +0 -0
- package/dist/web/assets/html-BfSqT2Ng.js.gz +0 -0
- package/dist/web/assets/html-derivative-mrGnBIXr.js +1 -0
- package/dist/web/assets/http-DwPxJWot.js +1 -0
- package/dist/web/assets/http-DwPxJWot.js.br +0 -0
- package/dist/web/assets/http-DwPxJWot.js.gz +0 -0
- package/dist/web/assets/hurl-G2E98JqX.js +1 -0
- package/dist/web/assets/hurl-G2E98JqX.js.br +0 -0
- package/dist/web/assets/hurl-G2E98JqX.js.gz +0 -0
- package/dist/web/assets/hxml-DAle7vtu.js +1 -0
- package/dist/web/assets/hxml-DAle7vtu.js.br +0 -0
- package/dist/web/assets/hxml-DAle7vtu.js.gz +0 -0
- package/dist/web/assets/icons-JMA45Ifw.js +1 -0
- package/dist/web/assets/icons-JMA45Ifw.js.br +0 -0
- package/dist/web/assets/icons-JMA45Ifw.js.gz +0 -0
- package/dist/web/assets/image-preview-Bhg1jHHQ.js +1 -0
- package/dist/web/assets/impexp-state-HapOpwYX.js +4 -0
- package/dist/web/assets/impexp-state-HapOpwYX.js.br +0 -0
- package/dist/web/assets/impexp-state-HapOpwYX.js.gz +0 -0
- package/dist/web/assets/impexp-tab-Cnr8ZIpb.js +1 -0
- package/dist/web/assets/impexp-tab-Cnr8ZIpb.js.br +0 -0
- package/dist/web/assets/impexp-tab-Cnr8ZIpb.js.gz +0 -0
- package/dist/web/assets/index-6UiaKItX.js +59 -0
- package/dist/web/assets/index-6UiaKItX.js.br +0 -0
- package/dist/web/assets/index-6UiaKItX.js.gz +0 -0
- package/dist/web/assets/index-Ch28kMx1.css +1 -0
- package/dist/web/assets/index-Ch28kMx1.css.br +0 -0
- package/dist/web/assets/index-Ch28kMx1.css.gz +0 -0
- package/dist/web/assets/info-3K5VOQVL-EeVpjyO8.js +1 -0
- package/dist/web/assets/infoDiagram-LFFYTUFH-Cqqn4BSQ.js +2 -0
- package/dist/web/assets/input-D-RG8dzb.js +1 -0
- package/dist/web/assets/isEmpty-DrA5f9p9.js +1 -0
- package/dist/web/assets/isEmpty-DrA5f9p9.js.br +0 -0
- package/dist/web/assets/isEmpty-DrA5f9p9.js.gz +0 -0
- package/dist/web/assets/ishikawaDiagram-PHBUUO56-DPS2-OUX.js +70 -0
- package/dist/web/assets/ishikawaDiagram-PHBUUO56-DPS2-OUX.js.br +0 -0
- package/dist/web/assets/ishikawaDiagram-PHBUUO56-DPS2-OUX.js.gz +0 -0
- package/dist/web/assets/jinja-ttwiOGfK.js +1 -0
- package/dist/web/assets/jinja-ttwiOGfK.js.br +0 -0
- package/dist/web/assets/jinja-ttwiOGfK.js.gz +0 -0
- package/dist/web/assets/jira-watcher-section-CPJaxMv3.js +1 -0
- package/dist/web/assets/jison-CBhlp18T.js +1 -0
- package/dist/web/assets/jison-CBhlp18T.js.br +0 -0
- package/dist/web/assets/jison-CBhlp18T.js.gz +0 -0
- package/dist/web/assets/journeyDiagram-4ABVD52K-DAxvmzHb.js +139 -0
- package/dist/web/assets/journeyDiagram-4ABVD52K-DAxvmzHb.js.br +0 -0
- package/dist/web/assets/journeyDiagram-4ABVD52K-DAxvmzHb.js.gz +0 -0
- package/dist/web/assets/julia-TzQ-uRbV.js +1 -0
- package/dist/web/assets/julia-TzQ-uRbV.js.br +0 -0
- package/dist/web/assets/julia-TzQ-uRbV.js.gz +0 -0
- package/dist/web/assets/just-_esTBNSS.js +1 -0
- package/dist/web/assets/just-_esTBNSS.js.br +0 -0
- package/dist/web/assets/just-_esTBNSS.js.gz +0 -0
- package/dist/web/assets/kanban-definition-K7BYSVSG-qY_uDl8T.js +89 -0
- package/dist/web/assets/kanban-definition-K7BYSVSG-qY_uDl8T.js.br +0 -0
- package/dist/web/assets/kanban-definition-K7BYSVSG-qY_uDl8T.js.gz +0 -0
- package/dist/web/assets/keybindings-store-DD1cJso2.js +1 -0
- package/dist/web/assets/keyboard-shortcuts-section-D4Bq_kJ6.js +1 -0
- package/dist/web/assets/keyboard-shortcuts-section-D4Bq_kJ6.js.br +0 -0
- package/dist/web/assets/keyboard-shortcuts-section-D4Bq_kJ6.js.gz +0 -0
- package/dist/web/assets/language-servers-section-D--Ji4HN.js +2 -0
- package/dist/web/assets/language-servers-section-D--Ji4HN.js.br +0 -0
- package/dist/web/assets/language-servers-section-D--Ji4HN.js.gz +0 -0
- package/dist/web/assets/latex-HI6kHIHG.js +1 -0
- package/dist/web/assets/latex-HI6kHIHG.js.br +0 -0
- package/dist/web/assets/latex-HI6kHIHG.js.gz +0 -0
- package/dist/web/assets/line-BN9s1Tpq.js +1 -0
- package/dist/web/assets/linear-Di4UGcbw.js +1 -0
- package/dist/web/assets/linear-Di4UGcbw.js.br +0 -0
- package/dist/web/assets/linear-Di4UGcbw.js.gz +0 -0
- package/dist/web/assets/liquid-BA8TlMtj.js +1 -0
- package/dist/web/assets/liquid-BA8TlMtj.js.br +0 -0
- package/dist/web/assets/liquid-BA8TlMtj.js.gz +0 -0
- package/dist/web/assets/logs-app-C4OVSXwd.css +1 -0
- package/dist/web/assets/logs-app-C4OVSXwd.css.br +0 -0
- package/dist/web/assets/logs-app-C4OVSXwd.css.gz +0 -0
- package/dist/web/assets/logs-app-DVwDWcnC.js +13 -0
- package/dist/web/assets/logs-app-DVwDWcnC.js.br +0 -0
- package/dist/web/assets/logs-app-DVwDWcnC.js.gz +0 -0
- package/dist/web/assets/logs-tab-BNaMLDde.js +1 -0
- package/dist/web/assets/logs-window-content-hjhdEgZx.js +1 -0
- package/dist/web/assets/lsp-client-FPx6oPde.js +1 -0
- package/dist/web/assets/lsp-client-FPx6oPde.js.br +0 -0
- package/dist/web/assets/lsp-client-FPx6oPde.js.gz +0 -0
- package/dist/web/assets/lua-2lvvhJ5i.js +1 -0
- package/dist/web/assets/lua-2lvvhJ5i.js.br +0 -0
- package/dist/web/assets/lua-2lvvhJ5i.js.gz +0 -0
- package/dist/web/assets/markdown-renderer-D9vn8m8E.js +1 -0
- package/dist/web/assets/markdown-renderer-PKijmP-6.js +5 -0
- package/dist/web/assets/markdown-renderer-PKijmP-6.js.br +0 -0
- package/dist/web/assets/markdown-renderer-PKijmP-6.js.gz +0 -0
- package/dist/web/assets/marko-DQFZDVmt.js +1 -0
- package/dist/web/assets/marko-DQFZDVmt.js.br +0 -0
- package/dist/web/assets/marko-DQFZDVmt.js.gz +0 -0
- package/dist/web/assets/mdc-DtRUqkf-.js +1 -0
- package/dist/web/assets/mdc-DtRUqkf-.js.br +0 -0
- package/dist/web/assets/mdc-DtRUqkf-.js.gz +0 -0
- package/dist/web/assets/media-url-524XBuIF.js +1 -0
- package/dist/web/assets/mermaid-parser.core-CAVW1Yfe.js +4 -0
- package/dist/web/assets/mermaid-parser.core-CAVW1Yfe.js.br +0 -0
- package/dist/web/assets/mermaid-parser.core-CAVW1Yfe.js.gz +0 -0
- package/dist/web/assets/mermaid.core-BXnr9nXf.js +11 -0
- package/dist/web/assets/mermaid.core-BXnr9nXf.js.br +0 -0
- package/dist/web/assets/mermaid.core-BXnr9nXf.js.gz +0 -0
- package/dist/web/assets/mindmap-definition-YRQLILUH-B4Wlz_59.js +68 -0
- package/dist/web/assets/mindmap-definition-YRQLILUH-B4Wlz_59.js.br +0 -0
- package/dist/web/assets/mindmap-definition-YRQLILUH-B4Wlz_59.js.gz +0 -0
- package/dist/web/assets/mobile-bottom-sheet-BdF6oawx.js +1 -0
- package/dist/web/assets/mobile-bottom-sheet-BdF6oawx.js.br +0 -0
- package/dist/web/assets/mobile-bottom-sheet-BdF6oawx.js.gz +0 -0
- package/dist/web/assets/mobile-explorer-sheet-1Gw9WsAM.js +1 -0
- package/dist/web/assets/mobile-explorer-sheet-1Gw9WsAM.js.br +0 -0
- package/dist/web/assets/mobile-explorer-sheet-1Gw9WsAM.js.gz +0 -0
- package/dist/web/assets/monaco-dotenv-language-BvSPgqNj.js +1 -0
- package/dist/web/assets/new-design-dialog-ChYww1VY.js +1 -0
- package/dist/web/assets/new-design-dialog-ChYww1VY.js.br +0 -0
- package/dist/web/assets/new-design-dialog-ChYww1VY.js.gz +0 -0
- package/dist/web/assets/nextflow-DBVZnnT_.js +1 -0
- package/dist/web/assets/nextflow-DBVZnnT_.js.br +0 -0
- package/dist/web/assets/nextflow-DBVZnnT_.js.gz +0 -0
- package/dist/web/assets/nginx-C4PeWBJv.js +1 -0
- package/dist/web/assets/nginx-C4PeWBJv.js.br +0 -0
- package/dist/web/assets/nginx-C4PeWBJv.js.gz +0 -0
- package/dist/web/assets/nim-DT5bnWs7.js +1 -0
- package/dist/web/assets/nim-DT5bnWs7.js.br +0 -0
- package/dist/web/assets/nim-DT5bnWs7.js.gz +0 -0
- package/dist/web/assets/notification-store-DqWBYQnQ.js +1 -0
- package/dist/web/assets/notifications-settings-section-BDKNseLC.js +1 -0
- package/dist/web/assets/notifications-settings-section-BDKNseLC.js.br +0 -0
- package/dist/web/assets/notifications-settings-section-BDKNseLC.js.gz +0 -0
- package/dist/web/assets/onboarding-entry-Ce587TR6.js +1 -0
- package/dist/web/assets/onboarding-entry-Ce587TR6.js.br +0 -0
- package/dist/web/assets/onboarding-entry-Ce587TR6.js.gz +0 -0
- package/dist/web/assets/onboarding-quick-orientation-BG3yKbth.js +1 -0
- package/dist/web/assets/onboarding-quick-orientation-BG3yKbth.js.br +0 -0
- package/dist/web/assets/onboarding-quick-orientation-BG3yKbth.js.gz +0 -0
- package/dist/web/assets/open-db-tabs-BWkvLJiI.js +1 -0
- package/dist/web/assets/open-db-tabs-BWkvLJiI.js.br +0 -0
- package/dist/web/assets/open-db-tabs-BWkvLJiI.js.gz +0 -0
- package/dist/web/assets/open-settings-CJ-BQ5Co.js +1 -0
- package/dist/web/assets/ordinal-BV0jQl_h.js +1 -0
- package/dist/web/assets/ordinal-BV0jQl_h.js.br +0 -0
- package/dist/web/assets/ordinal-BV0jQl_h.js.gz +0 -0
- package/dist/web/assets/overview-panel-CmFpdkp2.js +1 -0
- package/dist/web/assets/overview-panel-CmFpdkp2.js.br +0 -0
- package/dist/web/assets/overview-panel-CmFpdkp2.js.gz +0 -0
- package/dist/web/assets/packet-RMMSAZCW-DybThnCq.js +1 -0
- package/dist/web/assets/panel-store-DFurR27n.js +1 -0
- package/dist/web/assets/panel-store-DFurR27n.js.br +0 -0
- package/dist/web/assets/panel-store-DFurR27n.js.gz +0 -0
- package/dist/web/assets/patch-tab-metadata-BUNJESEQ.js +1 -0
- package/dist/web/assets/pdf-preview-B_okpfOG.js +1 -0
- package/dist/web/assets/pdf-preview-B_okpfOG.js.br +0 -0
- package/dist/web/assets/pdf-preview-B_okpfOG.js.gz +0 -0
- package/dist/web/assets/performance-panel-zJMhzM4W.js +3 -0
- package/dist/web/assets/performance-panel-zJMhzM4W.js.br +0 -0
- package/dist/web/assets/performance-panel-zJMhzM4W.js.gz +0 -0
- package/dist/web/assets/perl-BYfk64iB.js +1 -0
- package/dist/web/assets/perl-BYfk64iB.js.br +0 -0
- package/dist/web/assets/perl-BYfk64iB.js.gz +0 -0
- package/dist/web/assets/php-jITHM5rW.js +1 -0
- package/dist/web/assets/php-jITHM5rW.js.br +0 -0
- package/dist/web/assets/php-jITHM5rW.js.gz +0 -0
- package/dist/web/assets/pie-UPGHQEXC-BV0L1ST2.js +1 -0
- package/dist/web/assets/pieDiagram-SKSYHLDU-DywbOif1.js +30 -0
- package/dist/web/assets/pieDiagram-SKSYHLDU-DywbOif1.js.br +0 -0
- package/dist/web/assets/pieDiagram-SKSYHLDU-DywbOif1.js.gz +0 -0
- package/dist/web/assets/ppmbot-settings-section-DUqPA3XC.js +1 -0
- package/dist/web/assets/ppmbot-settings-section-DUqPA3XC.js.br +0 -0
- package/dist/web/assets/ppmbot-settings-section-DUqPA3XC.js.gz +0 -0
- package/dist/web/assets/pptx-export-BDJ7y1G6.js +111 -0
- package/dist/web/assets/pptx-export-BDJ7y1G6.js.br +0 -0
- package/dist/web/assets/pptx-export-BDJ7y1G6.js.gz +0 -0
- package/dist/web/assets/problems-panel-Cwsfn1St.js +1 -0
- package/dist/web/assets/problems-panel-Cwsfn1St.js.br +0 -0
- package/dist/web/assets/problems-panel-Cwsfn1St.js.gz +0 -0
- package/dist/web/assets/process-row-format-B1ix3LMo.js +1 -0
- package/dist/web/assets/process-table-l1-hFLUJ.js +1 -0
- package/dist/web/assets/process-table-l1-hFLUJ.js.br +0 -0
- package/dist/web/assets/process-table-l1-hFLUJ.js.gz +0 -0
- package/dist/web/assets/project-framework-store-Bi5dyHdx.js +1 -0
- package/dist/web/assets/project-store-CEGoLMOl.js +1 -0
- package/dist/web/assets/project-store-CEGoLMOl.js.br +0 -0
- package/dist/web/assets/project-store-CEGoLMOl.js.gz +0 -0
- package/dist/web/assets/proxy-settings-section-VZ6gpJkZ.js +1 -0
- package/dist/web/assets/proxy-settings-section-VZ6gpJkZ.js.br +0 -0
- package/dist/web/assets/proxy-settings-section-VZ6gpJkZ.js.gz +0 -0
- package/dist/web/assets/pug-C3C14waW.js +1 -0
- package/dist/web/assets/pug-C3C14waW.js.br +0 -0
- package/dist/web/assets/pug-C3C14waW.js.gz +0 -0
- package/dist/web/assets/qml-DMYSBRVt.js +1 -0
- package/dist/web/assets/qml-DMYSBRVt.js.br +0 -0
- package/dist/web/assets/qml-DMYSBRVt.js.gz +0 -0
- package/dist/web/assets/quadrantDiagram-337W2JSQ-CYGg6fRU.js +7 -0
- package/dist/web/assets/quadrantDiagram-337W2JSQ-CYGg6fRU.js.br +0 -0
- package/dist/web/assets/quadrantDiagram-337W2JSQ-CYGg6fRU.js.gz +0 -0
- package/dist/web/assets/query-audit-section-J5i6_AGL.js +1 -0
- package/dist/web/assets/query-audit-section-J5i6_AGL.js.br +0 -0
- package/dist/web/assets/query-audit-section-J5i6_AGL.js.gz +0 -0
- package/dist/web/assets/query-tab-Br2U5YPQ.js +22 -0
- package/dist/web/assets/query-tab-Br2U5YPQ.js.br +0 -0
- package/dist/web/assets/query-tab-Br2U5YPQ.js.gz +0 -0
- package/dist/web/assets/radar-KQ55EAFF-BZY71XNv.js +1 -0
- package/dist/web/assets/razor-C8pIPfbg.js +1 -0
- package/dist/web/assets/razor-C8pIPfbg.js.br +0 -0
- package/dist/web/assets/razor-C8pIPfbg.js.gz +0 -0
- package/dist/web/assets/remote-access-settings-section-CI-ZVbmv.js +1 -0
- package/dist/web/assets/remote-access-settings-section-CI-ZVbmv.js.br +0 -0
- package/dist/web/assets/remote-access-settings-section-CI-ZVbmv.js.gz +0 -0
- package/dist/web/assets/remote-desktop-clipboard-notice-B4_htemB.js +1 -0
- package/dist/web/assets/remote-desktop-clipboard-notice-B4_htemB.js.br +0 -0
- package/dist/web/assets/remote-desktop-clipboard-notice-B4_htemB.js.gz +0 -0
- package/dist/web/assets/remote-desktop-mobile-sheet-DJMad2gK.js +2 -0
- package/dist/web/assets/remote-desktop-mobile-sheet-DJMad2gK.js.br +0 -0
- package/dist/web/assets/remote-desktop-mobile-sheet-DJMad2gK.js.gz +0 -0
- package/dist/web/assets/remote-desktop-mobile-view-C3CDk2Fw.js +1 -0
- package/dist/web/assets/remote-desktop-mobile-view-C3CDk2Fw.js.br +0 -0
- package/dist/web/assets/remote-desktop-mobile-view-C3CDk2Fw.js.gz +0 -0
- package/dist/web/assets/remote-desktop-readiness-gate-Ch8Fuhfv.js +1 -0
- package/dist/web/assets/remote-desktop-readiness-gate-Ch8Fuhfv.js.br +0 -0
- package/dist/web/assets/remote-desktop-readiness-gate-Ch8Fuhfv.js.gz +0 -0
- package/dist/web/assets/remote-desktop-settings-section-BKM0nXJ7.js +1 -0
- package/dist/web/assets/remote-desktop-settings-section-BKM0nXJ7.js.br +0 -0
- package/dist/web/assets/remote-desktop-settings-section-BKM0nXJ7.js.gz +0 -0
- package/dist/web/assets/remote-desktop-window-content-Bty8zFfF.js +1 -0
- package/dist/web/assets/remote-desktop-window-content-Bty8zFfF.js.br +0 -0
- package/dist/web/assets/remote-desktop-window-content-Bty8zFfF.js.gz +0 -0
- package/dist/web/assets/rename-object-dialog-CyJMUdup.js +1 -0
- package/dist/web/assets/rename-object-dialog-CyJMUdup.js.br +0 -0
- package/dist/web/assets/rename-object-dialog-CyJMUdup.js.gz +0 -0
- package/dist/web/assets/requirementDiagram-Z7DCOOCP-BtAcFKFS.js +73 -0
- package/dist/web/assets/requirementDiagram-Z7DCOOCP-BtAcFKFS.js.br +0 -0
- package/dist/web/assets/requirementDiagram-Z7DCOOCP-BtAcFKFS.js.gz +0 -0
- package/dist/web/assets/review-code-YefYFbqb.js +5 -0
- package/dist/web/assets/review-code-YefYFbqb.js.br +0 -0
- package/dist/web/assets/review-code-YefYFbqb.js.gz +0 -0
- package/dist/web/assets/rst-BhZIcU_y.js +1 -0
- package/dist/web/assets/rst-BhZIcU_y.js.br +0 -0
- package/dist/web/assets/rst-BhZIcU_y.js.gz +0 -0
- package/dist/web/assets/ruby-DjnL4Qo1.js +1 -0
- package/dist/web/assets/ruby-DjnL4Qo1.js.br +0 -0
- package/dist/web/assets/ruby-DjnL4Qo1.js.gz +0 -0
- package/dist/web/assets/run-in-terminal-button-C-ensVoK.js +1 -0
- package/dist/web/assets/run-in-terminal-z_H3VtlO.js +1 -0
- package/dist/web/assets/sankeyDiagram-WA2Y5GQK-C1VJQsDx.js +10 -0
- package/dist/web/assets/sankeyDiagram-WA2Y5GQK-C1VJQsDx.js.br +0 -0
- package/dist/web/assets/sankeyDiagram-WA2Y5GQK-C1VJQsDx.js.gz +0 -0
- package/dist/web/assets/sas-TfkzbzI4.js +1 -0
- package/dist/web/assets/sas-TfkzbzI4.js.br +0 -0
- package/dist/web/assets/sas-TfkzbzI4.js.gz +0 -0
- package/dist/web/assets/save-as-dialog-B3UTyvHe.js +1 -0
- package/dist/web/assets/save-as-dialog-B3UTyvHe.js.br +0 -0
- package/dist/web/assets/save-as-dialog-B3UTyvHe.js.gz +0 -0
- package/dist/web/assets/schedules-settings-section-BE-0v3Tz.js +1 -0
- package/dist/web/assets/schedules-settings-section-BE-0v3Tz.js.br +0 -0
- package/dist/web/assets/schedules-settings-section-BE-0v3Tz.js.gz +0 -0
- package/dist/web/assets/scroll-area-B84ALpNT.js +1 -0
- package/dist/web/assets/scroll-area-B84ALpNT.js.br +0 -0
- package/dist/web/assets/scroll-area-B84ALpNT.js.gz +0 -0
- package/dist/web/assets/scss-nfidDCpi.js +1 -0
- package/dist/web/assets/scss-nfidDCpi.js.br +0 -0
- package/dist/web/assets/scss-nfidDCpi.js.gz +0 -0
- package/dist/web/assets/send-to-chat-B1pJKdHk.js +1 -0
- package/dist/web/assets/send-to-chat-B1pJKdHk.js.br +0 -0
- package/dist/web/assets/send-to-chat-B1pJKdHk.js.gz +0 -0
- package/dist/web/assets/separator-ClLtG2v5.js +1 -0
- package/dist/web/assets/sequenceDiagram-2WXFIKYE-nCGWX-jE.js +145 -0
- package/dist/web/assets/sequenceDiagram-2WXFIKYE-nCGWX-jE.js.br +0 -0
- package/dist/web/assets/sequenceDiagram-2WXFIKYE-nCGWX-jE.js.gz +0 -0
- package/dist/web/assets/services-panel-Dcog2FRz.js +1 -0
- package/dist/web/assets/services-panel-Dcog2FRz.js.br +0 -0
- package/dist/web/assets/services-panel-Dcog2FRz.js.gz +0 -0
- package/dist/web/assets/session-changes-bar-CQUTTdce.js +1 -0
- package/dist/web/assets/session-changes-bar-CQUTTdce.js.br +0 -0
- package/dist/web/assets/session-changes-bar-CQUTTdce.js.gz +0 -0
- package/dist/web/assets/session-list-sync-triggers-DitiR5h1.js +1 -0
- package/dist/web/assets/session-list-sync-triggers-DitiR5h1.js.br +0 -0
- package/dist/web/assets/session-list-sync-triggers-DitiR5h1.js.gz +0 -0
- package/dist/web/assets/session-review-tab-C_8fPRUA.js +6 -0
- package/dist/web/assets/session-review-tab-C_8fPRUA.js.br +0 -0
- package/dist/web/assets/session-review-tab-C_8fPRUA.js.gz +0 -0
- package/dist/web/assets/session-turns-NMVd_geJ.js +9 -0
- package/dist/web/assets/session-turns-NMVd_geJ.js.br +0 -0
- package/dist/web/assets/session-turns-NMVd_geJ.js.gz +0 -0
- package/dist/web/assets/settings-body-QXejvAs5.js +1 -0
- package/dist/web/assets/settings-body-QXejvAs5.js.br +0 -0
- package/dist/web/assets/settings-body-QXejvAs5.js.gz +0 -0
- package/dist/web/assets/settings-categories-CcR9eL3x.js +1 -0
- package/dist/web/assets/settings-categories-CcR9eL3x.js.br +0 -0
- package/dist/web/assets/settings-categories-CcR9eL3x.js.gz +0 -0
- package/dist/web/assets/settings-section-content-DEB1DoVo.js +2 -0
- package/dist/web/assets/settings-section-content-DEB1DoVo.js.br +0 -0
- package/dist/web/assets/settings-section-content-DEB1DoVo.js.gz +0 -0
- package/dist/web/assets/settings-section-content-DXvUKJ01.js +1 -0
- package/dist/web/assets/settings-store-DIPe0D2_.js +2 -0
- package/dist/web/assets/settings-store-DIPe0D2_.js.br +0 -0
- package/dist/web/assets/settings-store-DIPe0D2_.js.gz +0 -0
- package/dist/web/assets/settings-tab-Dytz_a6o.js +1 -0
- package/dist/web/assets/settings-window-content-DbaJYKWz.js +1 -0
- package/dist/web/assets/shaderlab-CPu31TpY.js +1 -0
- package/dist/web/assets/shaderlab-CPu31TpY.js.br +0 -0
- package/dist/web/assets/shaderlab-CPu31TpY.js.gz +0 -0
- package/dist/web/assets/shellsession-SNCEdFDb.js +1 -0
- package/dist/web/assets/slash-command-picker-CMgT1HB0.js +1 -0
- package/dist/web/assets/slash-command-picker-CMgT1HB0.js.br +0 -0
- package/dist/web/assets/slash-command-picker-CMgT1HB0.js.gz +0 -0
- package/dist/web/assets/sortable-header-CspLHJ89.js +1 -0
- package/dist/web/assets/sortable-header-CspLHJ89.js.br +0 -0
- package/dist/web/assets/sortable-header-CspLHJ89.js.gz +0 -0
- package/dist/web/assets/soy-CnTY51wD.js +1 -0
- package/dist/web/assets/soy-CnTY51wD.js.br +0 -0
- package/dist/web/assets/soy-CnTY51wD.js.gz +0 -0
- package/dist/web/assets/sparql-Bo8ZDeqE.js +1 -0
- package/dist/web/assets/sparql-Bo8ZDeqE.js.br +0 -0
- package/dist/web/assets/sparql-Bo8ZDeqE.js.gz +0 -0
- package/dist/web/assets/sql-completion-provider-DpYWIHib.js +5 -0
- package/dist/web/assets/sql-completion-provider-DpYWIHib.js.br +0 -0
- package/dist/web/assets/sql-completion-provider-DpYWIHib.js.gz +0 -0
- package/dist/web/assets/sql-identifiers-EJ-1Q-Yo.js +1 -0
- package/dist/web/assets/sql-identifiers-EJ-1Q-Yo.js.br +0 -0
- package/dist/web/assets/sql-identifiers-EJ-1Q-Yo.js.gz +0 -0
- package/dist/web/assets/sql-object-tab-BsWrC-2m.js +1 -0
- package/dist/web/assets/sql-object-tab-BsWrC-2m.js.br +0 -0
- package/dist/web/assets/sql-object-tab-BsWrC-2m.js.gz +0 -0
- package/dist/web/assets/sqlite-viewer-CIxKUQMo.js +1 -0
- package/dist/web/assets/sqlite-viewer-CIxKUQMo.js.br +0 -0
- package/dist/web/assets/sqlite-viewer-CIxKUQMo.js.gz +0 -0
- package/dist/web/assets/start-ellipsis-DoNrF95a.js +1 -0
- package/dist/web/assets/stata-CRPv34qR.js +1 -0
- package/dist/web/assets/stata-CRPv34qR.js.br +0 -0
- package/dist/web/assets/stata-CRPv34qR.js.gz +0 -0
- package/dist/web/assets/stateDiagram-RAJIS63D-BN4MhYz8.js +1 -0
- package/dist/web/assets/stateDiagram-RAJIS63D-BN4MhYz8.js.br +0 -0
- package/dist/web/assets/stateDiagram-RAJIS63D-BN4MhYz8.js.gz +0 -0
- package/dist/web/assets/stateDiagram-v2-FVOUBMTO-CYb4zl__.js +1 -0
- package/dist/web/assets/structure-save-dialog-CVWKQTIr.js +1 -0
- package/dist/web/assets/structure-save-dialog-CVWKQTIr.js.br +0 -0
- package/dist/web/assets/structure-save-dialog-CVWKQTIr.js.gz +0 -0
- package/dist/web/assets/structure-tab-rs2T0F7s.js +3 -0
- package/dist/web/assets/structure-tab-rs2T0F7s.js.br +0 -0
- package/dist/web/assets/structure-tab-rs2T0F7s.js.gz +0 -0
- package/dist/web/assets/surrealql-piKAap88.js +1 -0
- package/dist/web/assets/surrealql-piKAap88.js.br +0 -0
- package/dist/web/assets/surrealql-piKAap88.js.gz +0 -0
- package/dist/web/assets/svelte-CUBWC2AD.js +1 -0
- package/dist/web/assets/svelte-CUBWC2AD.js.br +0 -0
- package/dist/web/assets/svelte-CUBWC2AD.js.gz +0 -0
- package/dist/web/assets/system-monitor-body-DyocekjK.js +2 -0
- package/dist/web/assets/system-monitor-body-DyocekjK.js.br +0 -0
- package/dist/web/assets/system-monitor-body-DyocekjK.js.gz +0 -0
- package/dist/web/assets/system-monitor-tab-DvLaI7Nf.js +1 -0
- package/dist/web/assets/system-monitor-window-content-DCCUwpO7.js +1 -0
- package/dist/web/assets/tab-host-window-content-CwlNioCH.js +1 -0
- package/dist/web/assets/tab-host-window-content-CwlNioCH.js.br +0 -0
- package/dist/web/assets/tab-host-window-content-CwlNioCH.js.gz +0 -0
- package/dist/web/assets/tab-store-C8Zyikmj.js +1 -0
- package/dist/web/assets/table-tab-niRIXhm5.js +2 -0
- package/dist/web/assets/table-tab-niRIXhm5.js.br +0 -0
- package/dist/web/assets/table-tab-niRIXhm5.js.gz +0 -0
- package/dist/web/assets/telegram-bot-token-field-CcsMhJKq.js +1 -0
- package/dist/web/assets/telegram-bot-token-field-CcsMhJKq.js.br +0 -0
- package/dist/web/assets/telegram-bot-token-field-CcsMhJKq.js.gz +0 -0
- package/dist/web/assets/templ-Bz1re8GV.js +1 -0
- package/dist/web/assets/templ-Bz1re8GV.js.br +0 -0
- package/dist/web/assets/templ-Bz1re8GV.js.gz +0 -0
- package/dist/web/assets/terminal-tab-CfWWDWnb.js +3 -0
- package/dist/web/assets/terminal-tab-CfWWDWnb.js.br +0 -0
- package/dist/web/assets/terminal-tab-CfWWDWnb.js.gz +0 -0
- package/dist/web/assets/tex-BTSBmW-r.js +1 -0
- package/dist/web/assets/tex-BTSBmW-r.js.br +0 -0
- package/dist/web/assets/tex-BTSBmW-r.js.gz +0 -0
- package/dist/web/assets/timeline-definition-YZTLITO2-4W8EW7Yh.js +61 -0
- package/dist/web/assets/timeline-definition-YZTLITO2-4W8EW7Yh.js.br +0 -0
- package/dist/web/assets/timeline-definition-YZTLITO2-4W8EW7Yh.js.gz +0 -0
- package/dist/web/assets/tool-cards-BRiwHLQM.js +14 -0
- package/dist/web/assets/tool-cards-BRiwHLQM.js.br +0 -0
- package/dist/web/assets/tool-cards-BRiwHLQM.js.gz +0 -0
- package/dist/web/assets/treemap-KZPCXAKY-a0uFEvBV.js +1 -0
- package/dist/web/assets/ts-tags-BKvdq53h.js +1 -0
- package/dist/web/assets/ts-tags-BKvdq53h.js.br +0 -0
- package/dist/web/assets/ts-tags-BKvdq53h.js.gz +0 -0
- package/dist/web/assets/twig-g5pUi4QE.js +1 -0
- package/dist/web/assets/twig-g5pUi4QE.js.br +0 -0
- package/dist/web/assets/twig-g5pUi4QE.js.gz +0 -0
- package/dist/web/assets/use-at-most-wide-2yOBr4it.js +1 -0
- package/dist/web/assets/use-blob-url-CKz9HiVf.js +1 -0
- package/dist/web/assets/use-db-driver-installed-BHTdleJ4.js +1 -0
- package/dist/web/assets/use-db-read-BZxd05qt.js +1 -0
- package/dist/web/assets/use-db-read-BZxd05qt.js.br +0 -0
- package/dist/web/assets/use-db-read-BZxd05qt.js.gz +0 -0
- package/dist/web/assets/use-db-tab-Cr64E4jG.js +1 -0
- package/dist/web/assets/use-db-tab-Cr64E4jG.js.br +0 -0
- package/dist/web/assets/use-db-tab-Cr64E4jG.js.gz +0 -0
- package/dist/web/assets/use-design-canvas-check-BTaQQFE7.js +1 -0
- package/dist/web/assets/use-design-canvas-check-BTaQQFE7.js.br +0 -0
- package/dist/web/assets/use-design-canvas-check-BTaQQFE7.js.gz +0 -0
- package/dist/web/assets/use-inline-blame-CDwi3wup.js +16 -0
- package/dist/web/assets/use-inline-blame-CDwi3wup.js.br +0 -0
- package/dist/web/assets/use-inline-blame-CDwi3wup.js.gz +0 -0
- package/dist/web/assets/use-lsp-BLoLBdkC.js +6 -0
- package/dist/web/assets/use-lsp-BLoLBdkC.js.br +0 -0
- package/dist/web/assets/use-lsp-BLoLBdkC.js.gz +0 -0
- package/dist/web/assets/use-monaco-theme-CqVBeKOM.js +1 -0
- package/dist/web/assets/use-opener-focus-BJ2V4yOL.js +1 -0
- package/dist/web/assets/use-process-kill-DdZcs_r5.js +1 -0
- package/dist/web/assets/use-process-kill-DdZcs_r5.js.br +0 -0
- package/dist/web/assets/use-process-kill-DdZcs_r5.js.gz +0 -0
- package/dist/web/assets/use-sql-schema-info-eLYr9ZWT.js +4 -0
- package/dist/web/assets/use-sql-schema-info-eLYr9ZWT.js.br +0 -0
- package/dist/web/assets/use-sql-schema-info-eLYr9ZWT.js.gz +0 -0
- package/dist/web/assets/use-websocket-ClfTQqfz.js +1 -0
- package/dist/web/assets/vendor-ui-CS1GvlOm.js +45 -0
- package/dist/web/assets/vendor-ui-CS1GvlOm.js.br +0 -0
- package/dist/web/assets/vendor-ui-CS1GvlOm.js.gz +0 -0
- package/dist/web/assets/vennDiagram-LZ73GAT5-CSSSCLbo.js +34 -0
- package/dist/web/assets/vennDiagram-LZ73GAT5-CSSSCLbo.js.br +0 -0
- package/dist/web/assets/vennDiagram-LZ73GAT5-CSSSCLbo.js.gz +0 -0
- package/dist/web/assets/video-preview-CLgy5ToN.js +1 -0
- package/dist/web/assets/video-preview-CLgy5ToN.js.br +0 -0
- package/dist/web/assets/video-preview-CLgy5ToN.js.gz +0 -0
- package/dist/web/assets/voice-settings-section-Bjq-jjqt.js +1 -0
- package/dist/web/assets/voice-settings-section-Bjq-jjqt.js.br +0 -0
- package/dist/web/assets/voice-settings-section-Bjq-jjqt.js.gz +0 -0
- package/dist/web/assets/vue-B0IgDz6z.js +1 -0
- package/dist/web/assets/vue-B0IgDz6z.js.br +0 -0
- package/dist/web/assets/vue-B0IgDz6z.js.gz +0 -0
- package/dist/web/assets/vue-html-hcwjAVXX.js +1 -0
- package/dist/web/assets/vue-html-hcwjAVXX.js.br +0 -0
- package/dist/web/assets/vue-html-hcwjAVXX.js.gz +0 -0
- package/dist/web/assets/vue-vine-5lyGNA4R.js +1 -0
- package/dist/web/assets/vue-vine-5lyGNA4R.js.br +0 -0
- package/dist/web/assets/vue-vine-5lyGNA4R.js.gz +0 -0
- package/dist/web/assets/web-preview-tab-De1l63HH.js +1 -0
- package/dist/web/assets/web-preview-tab-De1l63HH.js.br +0 -0
- package/dist/web/assets/web-preview-tab-De1l63HH.js.gz +0 -0
- package/dist/web/assets/window-store-o2qUlxU1.js +1 -0
- package/dist/web/assets/window-store-o2qUlxU1.js.br +0 -0
- package/dist/web/assets/window-store-o2qUlxU1.js.gz +0 -0
- package/dist/web/assets/ws-auth-DISX8w5V.js +1 -0
- package/dist/web/assets/xml-DmDOybPe.js +1 -0
- package/dist/web/assets/xml-DmDOybPe.js.br +0 -0
- package/dist/web/assets/xml-DmDOybPe.js.gz +0 -0
- package/dist/web/assets/xsl-DIyZiiHl.js +1 -0
- package/dist/web/assets/xsl-DIyZiiHl.js.br +0 -0
- package/dist/web/assets/xsl-DIyZiiHl.js.gz +0 -0
- package/dist/web/assets/xychartDiagram-JWTSCODW-3FpyTslg.js +7 -0
- package/dist/web/assets/xychartDiagram-JWTSCODW-3FpyTslg.js.br +0 -0
- package/dist/web/assets/xychartDiagram-JWTSCODW-3FpyTslg.js.gz +0 -0
- package/dist/web/index.html +51 -35
- 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/ai-chat-and-providers.md +393 -1
- package/docs/architecture/data-and-storage.md +108 -172
- package/docs/architecture/integrations.md +12 -4
- package/docs/architecture/workspace-and-ui.md +192 -9
- package/docs/code-standards.md +30 -1
- package/docs/codebase-summary.md +36 -23
- package/docs/deployment-guide.md +56 -12
- package/docs/project-overview-pdr.md +2 -2
- package/docs/project-roadmap.md +21 -2
- package/docs/system-architecture.md +12 -7
- package/package.json +4 -3
- package/packages/ext-git-graph/src/checkout-pathspec.test.ts +52 -0
- package/packages/ext-git-graph/src/commit-detail-escaping.test.ts +84 -30
- package/packages/ext-git-graph/src/commit-detail-status.test.ts +83 -0
- package/packages/ext-git-graph/src/commit-keeps-typing.test.ts +54 -0
- package/packages/ext-git-graph/src/commit-paging.test.ts +93 -0
- package/packages/ext-git-graph/src/discard-undo-toast.test.ts +46 -0
- package/packages/ext-git-graph/src/extension.ts +517 -308
- package/packages/ext-git-graph/src/fetch-through-ppm.test.ts +152 -0
- package/packages/ext-git-graph/src/git-log-parser.ts +3 -1
- package/packages/ext-git-graph/src/gone-branch-filter.test.ts +65 -0
- package/packages/ext-git-graph/src/inspector-file-icons.test.ts +93 -0
- package/packages/ext-git-graph/src/log-args.test.ts +2 -2
- package/packages/ext-git-graph/src/outside-ref-changes.test.ts +185 -0
- package/packages/ext-git-graph/src/panel-test-harness.ts +242 -0
- package/packages/ext-git-graph/src/ppm-git.test.ts +76 -0
- package/packages/ext-git-graph/src/ppm-git.ts +151 -0
- package/packages/ext-git-graph/src/remote-head-refs.test.ts +32 -0
- package/packages/ext-git-graph/src/request-answers.test.ts +76 -0
- package/packages/ext-git-graph/src/search-marks.test.ts +53 -0
- package/packages/ext-git-graph/src/stash-list.test.ts +56 -0
- package/packages/ext-git-graph/src/types.ts +53 -16
- package/packages/ext-git-graph/src/undo-commit-webview.test.ts +82 -0
- package/packages/ext-git-graph/src/undo-targets-through-ppm.test.ts +164 -0
- package/packages/ext-git-graph/src/webview-html.test.ts +529 -595
- package/packages/ext-git-graph/src/webview-html.ts +144 -3765
- package/packages/ext-git-graph/src/webview-icons.generated.ts +69 -0
- package/packages/ext-git-graph/src/webview-protocol.test.ts +135 -0
- package/packages/ext-git-graph/src/webview-script-actions.ts +1291 -0
- package/packages/ext-git-graph/src/webview-script-core.ts +624 -0
- package/packages/ext-git-graph/src/webview-script-graph.ts +570 -0
- package/packages/ext-git-graph/src/webview-script-inspector.ts +571 -0
- package/packages/ext-git-graph/src/webview-script-list.ts +696 -0
- package/packages/ext-git-graph/src/webview-script-main.ts +279 -0
- package/packages/ext-git-graph/src/webview-script-settings.ts +285 -0
- package/packages/ext-git-graph/src/webview-styles.ts +615 -0
- package/packages/ext-git-graph/src/wip-model.ts +299 -0
- package/scripts/gen-db-driver-locks.ts +41 -0
- package/scripts/gen-file-icons.ts +27 -0
- package/scripts/gen-git-graph-icons.ts +135 -0
- package/scripts/gen-product-icons.ts +34 -0
- package/scripts/vite-glide-eager-editors.ts +37 -0
- package/src/cli/commands/config-cmd.ts +10 -0
- package/src/cli/commands/db-cmd.ts +279 -50
- package/src/cli/commands/logs.ts +26 -7
- package/src/cli/utils/tty-prompt.ts +51 -0
- package/src/index.ts +4 -0
- package/src/lib/account-crypto.ts +6 -0
- package/src/providers/claude-agent-sdk-query-options.ts +111 -0
- package/src/providers/claude-agent-sdk.ts +326 -133
- package/src/providers/claude-warm-spare.ts +26 -9
- package/src/providers/cli-provider-base.ts +28 -5
- package/src/providers/codex-app-server/codex-event-mapper.ts +4 -9
- package/src/providers/codex-app-server/codex-file-baselines.ts +47 -0
- package/src/providers/codex-app-server/codex-history.ts +1 -1
- package/src/providers/codex-app-server/codex-jsonrpc-client.ts +57 -11
- package/src/providers/codex-app-server/codex-patch.ts +68 -4
- package/src/providers/codex-app-server/codex-provider.ts +76 -14
- package/src/providers/codex-app-server/codex-rollout-header.ts +2 -1
- package/src/providers/codex-app-server/codex-rollout-items.ts +22 -0
- package/src/providers/codex-app-server/codex-thread-params.ts +34 -1
- package/src/providers/cursor-cli/cursor-history.ts +2 -1
- package/src/providers/registry.ts +12 -7
- package/src/server/index.ts +224 -103
- package/src/server/middleware/access-log.ts +127 -0
- package/src/server/middleware/auth.ts +8 -0
- package/src/server/routes/accounts.ts +13 -2
- package/src/server/routes/android.ts +6 -0
- package/src/server/routes/chat-file-changes.ts +215 -0
- package/src/server/routes/chat-history-page.ts +116 -0
- package/src/server/routes/chat.ts +125 -38
- package/src/server/routes/database-changeset.ts +178 -0
- package/src/server/routes/database-drivers.ts +36 -0
- package/src/server/routes/database-grid-export.ts +212 -0
- package/src/server/routes/database-grid.ts +317 -0
- package/src/server/routes/database-impexp.ts +317 -0
- package/src/server/routes/database-query.ts +186 -0
- package/src/server/routes/database-route-helpers.ts +130 -0
- package/src/server/routes/database-structure.ts +292 -0
- package/src/server/routes/database.ts +539 -280
- package/src/server/routes/design-settings.ts +30 -6
- package/src/server/routes/git.ts +254 -16
- package/src/server/routes/html-preview.ts +42 -9
- package/src/server/routes/jira-watcher-routes.ts +7 -1
- package/src/server/routes/logs.ts +158 -0
- package/src/server/routes/mcp.ts +11 -1
- package/src/server/routes/notifications.ts +192 -0
- package/src/server/routes/port-forwarding.ts +19 -19
- package/src/server/routes/project-scoped.ts +0 -2
- package/src/server/routes/query-audit-hook.ts +37 -31
- package/src/server/routes/remote-desktop.ts +19 -0
- package/src/server/routes/settings.ts +141 -45
- package/src/server/routes/system-services.ts +12 -6
- package/src/server/routes/tailscale.ts +70 -0
- package/src/server/routes/trace.ts +4 -1
- package/src/server/routes/tunnel-spawn.ts +55 -12
- package/src/server/routes/tunnel.ts +5 -0
- package/src/server/routes/tunnels.ts +63 -11
- package/src/server/routes/upgrade.ts +5 -1
- package/src/server/ws/android.ts +36 -11
- package/src/server/ws/chat.ts +294 -69
- package/src/server/ws/extensions.ts +13 -10
- package/src/server/ws/global.ts +14 -0
- package/src/server/ws/group-chat.ts +5 -0
- package/src/server/ws/lsp.ts +29 -4
- package/src/server/ws/remote-desktop.ts +25 -9
- package/src/server/ws/terminal.ts +8 -1
- package/src/services/account-pick.service.ts +1 -1
- package/src/services/account-selector.service.ts +76 -14
- package/src/services/account.service.ts +54 -23
- package/src/services/agent-transcript/agent-transcript-activity.ts +11 -4
- package/src/services/ai-chat-env.ts +28 -0
- package/src/services/android/android-operations.ts +10 -0
- package/src/services/android/android-session.ts +20 -0
- package/src/services/android/android-video.ts +41 -7
- package/src/services/android/avd-manager.ts +21 -3
- package/src/services/android/emulator-launcher.ts +40 -2
- package/src/services/autostart-register.ts +24 -8
- package/src/services/bash-output-spy.ts +6 -3
- package/src/services/binary-content.ts +8 -0
- package/src/services/binary-upgrade-apply.ts +5 -0
- package/src/services/binary-upgrade-download.ts +9 -1
- package/src/services/binary-upgrade-swap.ts +18 -3
- package/src/services/chat-prepare/chat-prepare.service.ts +4 -1
- package/src/services/chat-prepare/settle-within-budget.ts +10 -3
- package/src/services/chat-search.service.ts +4 -2
- package/src/services/chat.service.ts +115 -5
- package/src/services/claude-transcript-exists.ts +24 -0
- package/src/services/cloud-ws.service.ts +46 -12
- package/src/services/cloud.service.ts +40 -9
- package/src/services/cloudflared.service.ts +25 -3
- package/src/services/codex-account-cooldown.ts +4 -0
- package/src/services/codex-account-login.ts +15 -4
- package/src/services/compact-segment.ts +156 -0
- package/src/services/compaction-savings.ts +8 -2
- package/src/services/config-secret-keys.ts +2 -0
- package/src/services/config.service.ts +44 -6
- package/src/services/database/analyser-mysql.ts +384 -0
- package/src/services/database/analyser-postgres.ts +259 -0
- package/src/services/database/analyser-sqlite.ts +411 -0
- package/src/services/database/changeset.service.ts +60 -0
- package/src/services/database/changeset.ts +473 -0
- package/src/services/database/connection-config.ts +370 -0
- package/src/services/database/connection-database.ts +90 -0
- package/src/services/database/connection-endpoint.ts +160 -0
- package/src/services/database/connection-login.ts +144 -0
- package/src/services/database/connection-test.ts +191 -0
- package/src/services/database/db-errors.ts +57 -0
- package/src/services/database/db-values.ts +45 -0
- package/src/services/database/ddl/ddl-common.ts +47 -0
- package/src/services/database/ddl/ddl-mysql.ts +202 -0
- package/src/services/database/ddl/ddl-objects.ts +116 -0
- package/src/services/database/ddl/ddl-postgres.ts +208 -0
- package/src/services/database/ddl/ddl-sqlite.ts +172 -0
- package/src/services/database/ddl/ddl-types.ts +61 -0
- package/src/services/database/ddl/sqlite-alter-plan.ts +61 -0
- package/src/services/database/ddl/sqlite-apply.ts +112 -0
- package/src/services/database/ddl/sqlite-recreate.ts +202 -0
- package/src/services/database/ddl/table-diff.ts +187 -0
- package/src/services/database/dialect-mysql.ts +58 -0
- package/src/services/database/dialect-postgres.ts +52 -0
- package/src/services/database/dialect-sqlite.ts +30 -0
- package/src/services/database/dialect.ts +108 -0
- package/src/services/database/dialects.ts +20 -0
- package/src/services/database/drivers/db-driver-catalog.ts +99 -0
- package/src/services/database/drivers/db-driver-install.ts +348 -0
- package/src/services/database/drivers/db-driver-loader.ts +103 -0
- package/src/services/database/drivers/db-driver-locks.generated.json +201 -0
- package/src/services/database/drivers/db-driver-store.ts +75 -0
- package/src/services/database/export-batch.ts +68 -0
- package/src/services/database/file-database.ts +105 -0
- package/src/services/database/grid-cell.ts +80 -0
- package/src/services/database/grid-export-text.ts +318 -0
- package/src/services/database/grid-export-tickets.ts +61 -0
- package/src/services/database/grid-export-xlsx.ts +296 -0
- package/src/services/database/grid-export.ts +13 -0
- package/src/services/database/grid-query-builder.ts +397 -0
- package/src/services/database/grid.service.ts +157 -0
- package/src/services/database/host-files.ts +52 -0
- package/src/services/database/impexp/column-map.ts +58 -0
- package/src/services/database/impexp/export-job-runner.ts +281 -0
- package/src/services/database/impexp/impexp-files.ts +118 -0
- package/src/services/database/impexp/impexp-job-store.ts +195 -0
- package/src/services/database/impexp/impexp-request.ts +279 -0
- package/src/services/database/impexp/import-job-runner.ts +181 -0
- package/src/services/database/impexp/import-table-writer.ts +319 -0
- package/src/services/database/impexp/import-uploads.ts +167 -0
- package/src/services/database/impexp/readers/csv-reader.ts +359 -0
- package/src/services/database/impexp/readers/file-rows.ts +59 -0
- package/src/services/database/impexp/readers/file-text.ts +80 -0
- package/src/services/database/impexp/readers/json-reader.ts +505 -0
- package/src/services/database/impexp/zip-output.ts +55 -0
- package/src/services/database/init-adapters.ts +4 -0
- package/src/services/database/isolation-level.ts +18 -0
- package/src/services/database/mysql-adapter.ts +62 -0
- package/src/services/database/object-scripts.ts +20 -0
- package/src/services/database/object-sql-mysql.ts +53 -0
- package/src/services/database/object-sql-postgres.ts +265 -0
- package/src/services/database/object-sql-sqlite.ts +25 -0
- package/src/services/database/postgres-adapter.ts +93 -23
- package/src/services/database/postgres-array-nulls.ts +101 -0
- package/src/services/database/postgres-connect-options.ts +92 -0
- package/src/services/database/query-script-runner.ts +203 -0
- package/src/services/database/readonly-check.ts +39 -15
- package/src/services/database/sqlite-adapter.ts +100 -17
- package/src/services/database/ssh-agent-socket.ts +50 -0
- package/src/services/database/ssh-known-hosts.ts +113 -0
- package/src/services/database/ssh-tunnel.ts +613 -0
- package/src/services/database/structure-change-request.ts +214 -0
- package/src/services/database/structure-edit.service.ts +143 -0
- package/src/services/database/tls-identity-check.ts +81 -0
- package/src/services/db-backup/db-backup-restore.ts +14 -2
- package/src/services/db.service.ts +153 -54
- package/src/services/design/bridge/bridge-script.ts +14 -6
- package/src/services/design/bridge/html-preview-bridge.ts +23 -0
- package/src/services/design/comments/design-comments-store.ts +7 -2
- package/src/services/design/design-skill-install.service.ts +269 -0
- package/src/services/design/design-turn-snapshot.ts +5 -2
- package/src/services/design/mcp/design-mcp-endpoint.ts +15 -77
- package/src/services/design/mcp/design-mcp-tokens.ts +9 -65
- package/src/services/design/preview/design-preview-html.ts +1 -1
- package/src/services/draft.service.ts +10 -3
- package/src/services/edge-forwarder.ts +50 -3
- package/src/services/event-loop-lag.ts +37 -2
- package/src/services/extension-host-worker.ts +41 -6
- package/src/services/extension-installer.ts +13 -5
- package/src/services/extension-manifest.ts +9 -2
- package/src/services/extension-rpc-handlers.ts +39 -4
- package/src/services/extension-rpc.ts +31 -2
- package/src/services/extension.service.ts +48 -13
- package/src/services/file-lines.ts +2 -2
- package/src/services/file-list-index.service.ts +17 -1
- package/src/services/file-watcher/linux-inotify.ts +47 -6
- package/src/services/file-watcher/watch-tree.ts +42 -6
- package/src/services/file-watcher.service.ts +15 -7
- package/src/services/file.service.ts +6 -0
- package/src/services/fs-ops/fs-core-ops.ts +5 -1
- package/src/services/fs-ops/fs-git-init.service.ts +13 -1
- package/src/services/fs-ops/fs-ops-copy-move.service.ts +5 -0
- package/src/services/fs-ops/fs-ops-mutate.service.ts +6 -1
- package/src/services/fs-ops/fs-ops-trash.service.ts +17 -3
- package/src/services/git-changes/diff-sections.ts +230 -0
- package/src/services/git-changes/git-changes.service.ts +471 -0
- package/src/services/git-changes/git-events.ts +28 -0
- package/src/services/git-changes/git-operation.ts +86 -0
- package/src/services/git-changes/porcelain-v2.ts +117 -0
- package/src/services/git-commit-draft.service.ts +51 -0
- package/src/services/git-discard-journal/git-discard-journal.service.ts +412 -0
- package/src/services/git-hunks/git-hunks.service.ts +50 -11
- package/src/services/git-workflow/git-workflow.service.ts +198 -0
- package/src/services/git.service.ts +64 -8
- package/src/services/group-chat/group-chat.service.ts +31 -5
- package/src/services/group-chat/responder-router.ts +15 -3
- package/src/services/host-info/host-info.service.ts +16 -0
- package/src/services/host-info/spawn-runner.ts +25 -0
- package/src/services/jira-config.service.ts +13 -1
- package/src/services/jira-debug-session.service.ts +19 -4
- package/src/services/jira-watcher.service.ts +53 -11
- package/src/services/jsonl-transcript-parser.ts +49 -19
- package/src/services/log-level-config.ts +36 -0
- package/src/services/logger.ts +280 -0
- package/src/services/logs/browser-logs.ts +84 -0
- package/src/services/logs/github-issues.ts +76 -0
- package/src/services/logs/log-ai.ts +40 -0
- package/src/services/logs/log-columns.ts +160 -0
- package/src/services/logs/log-environment.ts +94 -0
- package/src/services/logs/log-file-index.ts +355 -0
- package/src/services/logs/log-issues.ts +390 -0
- package/src/services/logs/log-live.ts +82 -0
- package/src/services/logs/log-report-draft.ts +63 -0
- package/src/services/logs/log-store.ts +609 -0
- package/src/services/lsp/lsp-install.ts +199 -11
- package/src/services/lsp/lsp-manager.ts +31 -7
- package/src/services/lsp/lsp-release-catalog.ts +87 -0
- package/src/services/lsp/lsp-session.ts +29 -2
- package/src/services/lsp/server-registry.ts +85 -18
- package/src/services/mcp-http-endpoint.ts +127 -0
- package/src/services/mcp-oauth/mcp-oauth-flows.ts +11 -4
- package/src/services/mcp-session-tokens.ts +77 -0
- package/src/services/media-transcode/ffmpeg-capabilities.ts +33 -2
- package/src/services/media-transcode/transcode-stream.ts +7 -1
- package/src/services/memory-diagnostics.ts +86 -0
- package/src/services/mysql.service.ts +1065 -0
- package/src/services/named-tunnel/cloudflared-login-helpers.ts +4 -2
- package/src/services/named-tunnel/cloudflared-login.service.ts +15 -2
- package/src/services/named-tunnel/named-tunnel-setup-confirm.ts +7 -1
- package/src/services/named-tunnel/named-tunnel-setup.service.ts +9 -1
- package/src/services/nested-subagent-spy.ts +7 -4
- package/src/services/notification-format.ts +74 -0
- package/src/services/notification-link.ts +22 -0
- package/src/services/notification.service.ts +157 -12
- package/src/services/ntfy-notification.service.ts +134 -0
- package/src/services/picked-account-binding.ts +7 -1
- package/src/services/port-forward/forward-hop.ts +296 -0
- package/src/services/port-forward/frame-ancestors.ts +117 -0
- package/src/services/port-forward/tailscale-forward.ts +261 -0
- package/src/services/postgres.service.ts +815 -21
- package/src/services/ppmbot/cli-reference-default.ts +17 -4
- package/src/services/ppmbot/ppmbot-delegation.ts +8 -0
- package/src/services/ppmbot/ppmbot-service.ts +58 -46
- package/src/services/ppmbot/ppmbot-session.ts +14 -10
- package/src/services/ppmbot/ppmbot-streamer.ts +6 -3
- package/src/services/ppmbot/ppmbot-telegram.ts +45 -13
- package/src/services/project.service.ts +12 -1
- package/src/services/provider-usage/usage-registry.ts +12 -2
- package/src/services/proxy-agent-anthropic-bridge.ts +11 -1
- package/src/services/proxy-agent-bridge.ts +11 -1
- package/src/services/proxy-agent-turn.ts +25 -2
- package/src/services/proxy-image-bridge.ts +2 -2
- package/src/services/proxy-openai-bridge.ts +1 -1
- package/src/services/proxy-sdk-bridge.ts +1 -1
- package/src/services/proxy.service.ts +32 -9
- package/src/services/query-audit/query-audit.service.ts +10 -2
- package/src/services/read-lines.ts +16 -4
- package/src/services/redact-secrets.ts +23 -2
- package/src/services/remote-desktop/ffmpeg-install.ts +85 -0
- package/src/services/remote-desktop/mediamtx-install.service.ts +11 -2
- package/src/services/remote-desktop/mediamtx-process.ts +31 -2
- package/src/services/remote-desktop/remote-desktop-audio.ts +24 -7
- package/src/services/remote-desktop/remote-desktop-capture-input.ts +7 -4
- package/src/services/remote-desktop/remote-desktop-capture-wayland.ts +30 -10
- package/src/services/remote-desktop/remote-desktop-capture.ts +40 -6
- package/src/services/remote-desktop/remote-desktop-displays-win32.ts +92 -0
- package/src/services/remote-desktop/remote-desktop-displays.ts +8 -5
- package/src/services/remote-desktop/remote-desktop-input-uinput.ts +20 -1
- package/src/services/remote-desktop/remote-desktop-input-win32.ts +49 -9
- package/src/services/remote-desktop/remote-desktop-portal.ts +19 -3
- package/src/services/remote-desktop/remote-desktop-privacy.ts +8 -1
- package/src/services/remote-desktop/remote-desktop-requirements.ts +3 -2
- package/src/services/remote-desktop/remote-desktop-resolution.ts +6 -0
- package/src/services/remote-desktop/remote-desktop-session.ts +111 -27
- package/src/services/remote-desktop/remote-desktop-x11.ts +25 -2
- package/src/services/scheduler-core.ts +22 -10
- package/src/services/scheduler-runner.ts +28 -10
- package/src/services/sd-notify.ts +26 -2
- package/src/services/session-file-baselines/reverse-unified-diff.ts +85 -0
- package/src/services/session-file-baselines/session-file-baselines.service.ts +241 -0
- package/src/services/session-file-baselines/session-file-blame.ts +200 -0
- package/src/services/session-file-baselines/session-file-changes.service.ts +321 -0
- package/src/services/session-file-baselines/session-file-history.ts +347 -0
- package/src/services/session-file-baselines/session-review-actions.ts +560 -0
- package/src/services/session-file-baselines/session-review-blocks.ts +90 -0
- package/src/services/session-file-baselines/session-review-marks.ts +90 -0
- package/src/services/session-file-baselines/session-turn-revert.ts +374 -0
- package/src/services/session-file-baselines/shell-change-tracker.ts +489 -0
- package/src/services/session-trace/session-trace-db.ts +14 -1
- package/src/services/session-trace/session-trace-store.ts +56 -0
- package/src/services/session-trace/turn-stop-reader.ts +70 -0
- package/src/services/speech-to-text/whisper-install.service.ts +13 -1
- package/src/services/sqlite-types.ts +2 -0
- package/src/services/sqlite.service.ts +507 -13
- package/src/services/supervisor-state.ts +6 -4
- package/src/services/supervisor-stopped-page.ts +6 -6
- package/src/services/supervisor.ts +118 -44
- package/src/services/system-metrics/gpu-collector-nvidia.ts +13 -3
- package/src/services/system-metrics/kill-request-handler.ts +9 -8
- package/src/services/system-metrics/powershell-session.ts +40 -7
- package/src/services/system-metrics/process-collector-windows.ts +4 -3
- package/src/services/system-metrics/process-net-collector-darwin.ts +13 -5
- package/src/services/system-metrics/signal-request-handler.ts +9 -8
- package/src/services/system-metrics/system-metrics-platform.ts +11 -2
- package/src/services/system-metrics/system-metrics.service.ts +31 -4
- package/src/services/system-services/app-icon-service.ts +19 -1
- package/src/services/system-services/app-icons-windows.ts +105 -0
- package/src/services/system-services/apps-windows-native.ts +233 -0
- package/src/services/system-services/apps-windows.ts +156 -0
- package/src/services/system-services/launchd-collector.ts +12 -1
- package/src/services/system-services/service-backend.ts +6 -3
- package/src/services/system-services/systemd-collector.ts +9 -1
- package/src/services/system-services/windows-services-parse.ts +186 -0
- package/src/services/system-services/windows-services.ts +200 -0
- package/src/services/tab-tools-mcp/tab-open-broker.ts +135 -0
- package/src/services/tab-tools-mcp/tab-target.ts +88 -0
- package/src/services/tab-tools-mcp/tab-tools-mcp-endpoint.ts +116 -0
- package/src/services/tab-tools-mcp/tab-tools-mcp-tokens.ts +36 -0
- package/src/services/tab-tools-mcp/tab-tools-mcp-tool.ts +78 -0
- package/src/services/table-cache.service.ts +4 -2
- package/src/services/tailscale/tailscale-app-service.ts +239 -0
- package/src/services/tailscale/tailscale-cli.ts +48 -0
- package/src/services/tailscale/tailscale-login.ts +257 -0
- package/src/services/tailscale/tailscale-state.ts +198 -0
- package/src/services/telegram-bot-api.ts +80 -0
- package/src/services/telegram-bots.ts +131 -0
- package/src/services/telegram-connect.service.ts +262 -0
- package/src/services/telegram-notification.service.ts +48 -55
- package/src/services/terminal.service.ts +46 -11
- package/src/services/theme-import/fetch-url.ts +11 -2
- package/src/services/tunnel-registry-parse.ts +4 -0
- package/src/services/tunnel.service.ts +15 -0
- package/src/services/upgrade.service.ts +30 -2
- package/src/services/web-push/web-push-crypto.ts +150 -0
- package/src/services/web-push/web-push-store.ts +116 -0
- package/src/services/web-push/web-push.service.ts +240 -0
- package/src/shared/agent-transcript-protocol.ts +4 -1
- package/src/shared/chat-reply.ts +51 -0
- package/src/shared/db-changeset.ts +89 -0
- package/src/shared/db-column-kind.ts +90 -0
- package/src/shared/db-connection-config.ts +256 -0
- package/src/shared/db-connection-url.ts +252 -0
- package/src/shared/db-drivers.ts +36 -0
- package/src/shared/db-explorer-prefs.ts +123 -0
- package/src/shared/db-filter-parser.ts +534 -0
- package/src/shared/db-grid-export.ts +88 -0
- package/src/shared/db-grid.ts +234 -0
- package/src/shared/db-impexp.ts +313 -0
- package/src/shared/db-lookup-prefs.ts +37 -0
- package/src/shared/db-query-script.ts +110 -0
- package/src/shared/db-structure-change.ts +83 -0
- package/src/shared/db-structure.ts +195 -0
- package/src/shared/db-table-model.ts +500 -0
- package/src/shared/db-types.ts +31 -0
- package/src/shared/design-canvas-check-format.ts +23 -0
- package/src/shared/design-skill-suggestion.ts +20 -4
- package/src/shared/git-changes.ts +220 -0
- package/src/shared/log-fingerprint.ts +32 -0
- package/src/shared/log-levels.ts +41 -0
- package/src/shared/log-redact.ts +82 -0
- package/src/shared/logs-api.ts +145 -0
- package/src/shared/logs-model.ts +230 -0
- package/src/shared/notification-settings.ts +184 -0
- package/src/shared/ppmbot-telegram.ts +16 -0
- package/src/shared/review-blocks.ts +222 -0
- package/src/shared/session-file-changes.ts +136 -0
- package/src/shared/split-sql-statements.ts +388 -0
- package/src/shared/sql-identifiers.ts +97 -0
- package/src/shared/tab-open-protocol.ts +70 -0
- package/src/shared/tailscale-setup.ts +126 -0
- package/src/shared/terminal-size.ts +23 -0
- package/src/shared/tool-result-content.ts +5 -0
- package/src/shared/turn-stop.ts +30 -0
- package/src/shared/user-agent-label.ts +59 -0
- package/src/shared/web-push-payload.ts +41 -0
- package/src/types/api.ts +12 -3
- package/src/types/chat.ts +6 -0
- package/src/types/config.ts +25 -0
- package/src/types/database.ts +215 -7
- package/src/types/system-metrics.ts +9 -5
- package/src/types/system-services.ts +8 -3
- package/src/web/app.tsx +31 -7
- package/src/web/components/auth/login-screen.tsx +21 -10
- package/src/web/components/chat/change-file-row.tsx +1 -79
- package/src/web/components/chat/chat-history-bar.tsx +13 -8
- package/src/web/components/chat/chat-tab.tsx +186 -40
- package/src/web/components/chat/chat-toolbar-overflow-menu.tsx +7 -1
- package/src/web/components/chat/message-action-bar.tsx +3 -1
- package/src/web/components/chat/message-input.tsx +75 -14
- package/src/web/components/chat/message-list.tsx +146 -9
- package/src/web/components/chat/message-reply-reference.ts +43 -0
- package/src/web/components/chat/message-user-bubble.tsx +10 -3
- package/src/web/components/chat/model-thinking-selector.tsx +6 -4
- package/src/web/components/chat/prompt-cache-chip.tsx +1 -1
- package/src/web/components/chat/reply-card.tsx +28 -0
- package/src/web/components/chat/running-agents-bar.tsx +180 -58
- package/src/web/components/chat/session-change-row.tsx +118 -0
- package/src/web/components/chat/session-changes-bar.tsx +223 -0
- package/src/web/components/chat/session-changes-context.tsx +21 -0
- package/src/web/components/chat/tab-tool-card.tsx +93 -0
- package/src/web/components/chat/tool-cards.tsx +11 -0
- package/src/web/components/chat/turn-change-pill.tsx +20 -2
- package/src/web/components/chat/turn-change-review.tsx +383 -0
- package/src/web/components/chat/turn-change-rollup.tsx +15 -4
- package/src/web/components/chat/turn-change-sheet.tsx +103 -94
- package/src/web/components/chat/turn-change-tray.tsx +90 -93
- package/src/web/components/chat/turn-stop-bar.tsx +42 -0
- package/src/web/components/chat/user-message-parse.ts +5 -2
- package/src/web/components/database/connection-color-picker.tsx +42 -46
- package/src/web/components/database/connection-form/connection-advanced-pane.tsx +82 -0
- package/src/web/components/database/connection-form/connection-form-state.ts +719 -0
- package/src/web/components/database/connection-form/connection-form-tab.tsx +160 -0
- package/src/web/components/database/connection-form/connection-general-pane.tsx +231 -0
- package/src/web/components/database/connection-form/connection-ssh-pane.tsx +136 -0
- package/src/web/components/database/connection-form/connection-ssl-pane.tsx +68 -0
- package/src/web/components/database/connection-form/connection-test-result.tsx +90 -0
- package/src/web/components/database/connection-form/database-picker.tsx +136 -0
- package/src/web/components/database/connection-form/engine-tiles.tsx +72 -0
- package/src/web/components/database/connection-form/form-controls.tsx +219 -0
- package/src/web/components/database/connection-form/use-connection-form.ts +369 -0
- package/src/web/components/database/connection-import-export.tsx +6 -5
- package/src/web/components/database/connections-section/connection-menus.ts +100 -0
- package/src/web/components/database/connections-section/connection-tree-model.ts +113 -0
- package/src/web/components/database/connections-section/connections-section.tsx +432 -0
- package/src/web/components/database/connections-section/delete-connection-dialog.tsx +75 -0
- package/src/web/components/database/connections-section/folder-name-input.tsx +41 -0
- package/src/web/components/database/database-sidebar.tsx +55 -78
- package/src/web/components/database/db-login/db-login-dialog.tsx +255 -0
- package/src/web/components/database/db-login/db-login-store.ts +63 -0
- package/src/web/components/database/db-rows-status.tsx +32 -0
- package/src/web/components/database/db-sidebar-reveal.ts +66 -0
- package/src/web/components/database/db-tab-parts.tsx +117 -0
- package/src/web/components/database/driver-missing-notice.tsx +72 -0
- package/src/web/components/database/explorer/db-explorer-store.ts +658 -0
- package/src/web/components/database/explorer/explorer-menu.tsx +193 -0
- package/src/web/components/database/explorer/explorer-model.ts +341 -0
- package/src/web/components/database/explorer/open-db-tabs.ts +160 -0
- package/src/web/components/database/explorer/open-new-query.ts +22 -0
- package/src/web/components/database/explorer/open-new-table.ts +37 -0
- package/src/web/components/database/explorer/sql-templates.ts +110 -0
- package/src/web/components/database/explorer/tree-parts.tsx +109 -0
- package/src/web/components/database/explorer/use-db-explorer-sync.ts +25 -0
- package/src/web/components/database/explorer/use-row-menu.ts +37 -0
- package/src/web/components/database/explorer/use-tree-keys.ts +92 -0
- package/src/web/components/database/export-button.tsx +96 -113
- package/src/web/components/database/extract-query-table.ts +4 -3
- package/src/web/components/database/focused-database-prompt.tsx +85 -0
- package/src/web/components/database/glide-context-menu.tsx +52 -62
- package/src/web/components/database/glide-data-grid.tsx +1401 -157
- package/src/web/components/database/glide-grid-theme.ts +49 -2
- package/src/web/components/database/glide-grid-types.ts +222 -48
- package/src/web/components/database/glide-header-menu.tsx +52 -103
- package/src/web/components/database/glide-save-bar.tsx +4 -3
- package/src/web/components/database/grid/cell-context-menu.tsx +151 -0
- package/src/web/components/database/grid/cell-data-formats.ts +298 -0
- package/src/web/components/database/grid/cell-data-panel.tsx +662 -0
- package/src/web/components/database/grid/cell-display.ts +52 -0
- package/src/web/components/database/grid/cell-editor.tsx +55 -0
- package/src/web/components/database/grid/cell-menu.ts +210 -0
- package/src/web/components/database/grid/change-marks.ts +51 -0
- package/src/web/components/database/grid/column-filter-cell.ts +34 -0
- package/src/web/components/database/grid/column-menu.ts +51 -0
- package/src/web/components/database/grid/columns-panel.tsx +241 -0
- package/src/web/components/database/grid/columns-sheet.tsx +172 -0
- package/src/web/components/database/grid/copy-as.ts +170 -0
- package/src/web/components/database/grid/dictionary-lookup-dialog.tsx +169 -0
- package/src/web/components/database/grid/fetch-all-dialog.tsx +51 -0
- package/src/web/components/database/grid/filter-chips.tsx +107 -0
- package/src/web/components/database/grid/filter-dialog-frame.tsx +95 -0
- package/src/web/components/database/grid/filter-dialog-host.tsx +43 -0
- package/src/web/components/database/grid/filter-funnel-menu.ts +131 -0
- package/src/web/components/database/grid/filter-multiple-values-dialog.tsx +61 -0
- package/src/web/components/database/grid/filter-row.tsx +216 -0
- package/src/web/components/database/grid/filter-sheet.tsx +227 -0
- package/src/web/components/database/grid/filters-panel.tsx +163 -0
- package/src/web/components/database/grid/fk-cell-button.ts +67 -0
- package/src/web/components/database/grid/fk-cell-editor.tsx +36 -0
- package/src/web/components/database/grid/form-view-model.ts +263 -0
- package/src/web/components/database/grid/form-view.tsx +505 -0
- package/src/web/components/database/grid/generate-sql-dialog.tsx +135 -0
- package/src/web/components/database/grid/generate-sql.ts +101 -0
- package/src/web/components/database/grid/grid-changeset.ts +262 -0
- package/src/web/components/database/grid/grid-filters.ts +172 -0
- package/src/web/components/database/grid/grid-header-overlay.tsx +140 -0
- package/src/web/components/database/grid/grid-save-dialog.tsx +251 -0
- package/src/web/components/database/grid/grid-save-host.tsx +19 -0
- package/src/web/components/database/grid/grid-save-model.ts +64 -0
- package/src/web/components/database/grid/grid-save-store.ts +65 -0
- package/src/web/components/database/grid/grid-status-bar.tsx +54 -0
- package/src/web/components/database/grid/header-bands.ts +232 -0
- package/src/web/components/database/grid/json-document.ts +139 -0
- package/src/web/components/database/grid/json-tree.tsx +74 -0
- package/src/web/components/database/grid/load-more.ts +22 -0
- package/src/web/components/database/grid/master-detail-split.tsx +233 -0
- package/src/web/components/database/grid/pick-table.tsx +109 -0
- package/src/web/components/database/grid/reference-filter.ts +48 -0
- package/src/web/components/database/grid/references-panel.tsx +82 -0
- package/src/web/components/database/grid/references.ts +104 -0
- package/src/web/components/database/grid/refresh-menu.tsx +133 -0
- package/src/web/components/database/grid/row-form-sheet.tsx +234 -0
- package/src/web/components/database/grid/selection-commands.ts +124 -0
- package/src/web/components/database/grid/selection-stats.ts +131 -0
- package/src/web/components/database/grid/set-filter-dialog.tsx +93 -0
- package/src/web/components/database/grid/table-keys.ts +130 -0
- package/src/web/components/database/grid/table-toolbar.tsx +326 -0
- package/src/web/components/database/grid/table-view-state.ts +63 -0
- package/src/web/components/database/grid/text-value-dialog.tsx +80 -0
- package/src/web/components/database/grid/use-cell-long-press.ts +146 -0
- package/src/web/components/database/grid/use-changeset.ts +48 -0
- package/src/web/components/database/grid/use-filter-pickers.ts +76 -0
- package/src/web/components/database/grid/use-grid-copy.ts +99 -0
- package/src/web/components/database/grid/use-opener-focus.ts +17 -0
- package/src/web/components/database/grid/use-pick-search.ts +38 -0
- package/src/web/components/database/grid/use-table-filters.ts +84 -0
- package/src/web/components/database/grid/value-filter-text.ts +96 -0
- package/src/web/components/database/grid/value-lookup-dialog.tsx +91 -0
- package/src/web/components/database/impexp/impexp-columns-dialog.tsx +171 -0
- package/src/web/components/database/impexp/impexp-config.tsx +131 -0
- package/src/web/components/database/impexp/impexp-database-fields.tsx +107 -0
- package/src/web/components/database/impexp/impexp-file-input.tsx +118 -0
- package/src/web/components/database/impexp/impexp-format-options.tsx +127 -0
- package/src/web/components/database/impexp/impexp-map-table.tsx +187 -0
- package/src/web/components/database/impexp/impexp-parts.tsx +77 -0
- package/src/web/components/database/impexp/impexp-side-panes.tsx +191 -0
- package/src/web/components/database/impexp/impexp-state.ts +590 -0
- package/src/web/components/database/impexp/impexp-tab.tsx +222 -0
- package/src/web/components/database/impexp/impexp-tables-select.tsx +169 -0
- package/src/web/components/database/impexp/impexp-upload.ts +52 -0
- package/src/web/components/database/impexp/open-impexp-tab.ts +58 -0
- package/src/web/components/database/impexp/use-impexp-database.ts +75 -0
- package/src/web/components/database/impexp/use-impexp-job.ts +114 -0
- package/src/web/components/database/object-tree/object-menus.ts +141 -0
- package/src/web/components/database/object-tree/object-tree-model.ts +132 -0
- package/src/web/components/database/object-tree/objects-section.tsx +503 -0
- package/src/web/components/database/open-connection-form.ts +21 -0
- package/src/web/components/database/query/discard-result-edits-dialog.tsx +43 -0
- package/src/web/components/database/query/format-sql.ts +67 -0
- package/src/web/components/database/query/history-panel.tsx +177 -0
- package/src/web/components/database/query/messages-panel.tsx +98 -0
- package/src/web/components/database/query/query-file.ts +56 -0
- package/src/web/components/database/query/query-history.ts +56 -0
- package/src/web/components/database/query/query-run-state.ts +282 -0
- package/src/web/components/database/query/query-tab.tsx +397 -0
- package/src/web/components/database/query/query-target-picker.tsx +95 -0
- package/src/web/components/database/query/result-tabs.tsx +104 -0
- package/src/web/components/database/query/result-view.tsx +111 -0
- package/src/web/components/database/query/use-query-file-save.tsx +117 -0
- package/src/web/components/database/query/use-query-runner.ts +202 -0
- package/src/web/components/database/query/use-sql-schema-info.ts +40 -0
- package/src/web/components/database/reformat-cursor.ts +40 -0
- package/src/web/components/database/sidebar-split.tsx +89 -0
- package/src/web/components/database/sql-completion-provider.ts +149 -49
- package/src/web/components/database/sql-object/sql-object-model.ts +39 -0
- package/src/web/components/database/sql-object/sql-object-tab.tsx +138 -0
- package/src/web/components/database/sql-query-editor.tsx +203 -36
- package/src/web/components/database/sql-run.ts +40 -0
- package/src/web/components/database/structure/structure-model.ts +90 -0
- package/src/web/components/database/structure/structure-tab.tsx +326 -0
- package/src/web/components/database/table/table-tab.tsx +694 -0
- package/src/web/components/database/table-editor/column-dialog.tsx +129 -0
- package/src/web/components/database/table-editor/editor-dialog.tsx +122 -0
- package/src/web/components/database/table-editor/foreign-key-dialog.tsx +188 -0
- package/src/web/components/database/table-editor/key-dialog.tsx +197 -0
- package/src/web/components/database/table-editor/rename-object-dialog.tsx +45 -0
- package/src/web/components/database/table-editor/structure-save-dialog.tsx +167 -0
- package/src/web/components/database/table-editor/structure-save-host.tsx +24 -0
- package/src/web/components/database/table-editor/structure-save-model.ts +91 -0
- package/src/web/components/database/table-editor/structure-save-store.ts +52 -0
- package/src/web/components/database/table-editor/table-editor-commands.ts +27 -0
- package/src/web/components/database/table-editor/table-editor-dialogs.tsx +32 -0
- package/src/web/components/database/table-editor/table-editor-model.ts +252 -0
- package/src/web/components/database/table-editor/table-editor.tsx +485 -0
- package/src/web/components/database/table-editor/use-table-editor-tab.ts +145 -0
- package/src/web/components/database/use-connections.ts +39 -85
- package/src/web/components/database/use-database.ts +419 -214
- package/src/web/components/database/use-db-read.ts +88 -0
- package/src/web/components/database/use-db-tab.ts +68 -0
- package/src/web/components/database/use-glide-cell-content.ts +81 -88
- package/src/web/components/database/use-glide-columns.ts +16 -32
- package/src/web/components/database/use-glide-grid-actions.ts +44 -99
- package/src/web/components/database/use-glide-selection.ts +6 -18
- package/src/web/components/design/design-skill-suggestion.tsx +46 -11
- package/src/web/components/design/design-split-layout.tsx +106 -10
- package/src/web/components/design/design-tab-context.ts +2 -0
- package/src/web/components/design/design-tab.tsx +5 -1
- package/src/web/components/design/design-toolbar.tsx +13 -2
- package/src/web/components/design/use-design-layout.ts +7 -4
- package/src/web/components/editor/code-editor.tsx +81 -47
- package/src/web/components/editor/conflict-editor.tsx +4 -1
- package/src/web/components/editor/diff-viewer.tsx +40 -4
- package/src/web/components/editor/editor-fix-with-ai.tsx +111 -0
- package/src/web/components/editor/editor-selection-context.tsx +70 -0
- package/src/web/components/editor/html-preview.tsx +48 -9
- package/src/web/components/editor/lsp-status.tsx +18 -4
- package/src/web/components/editor/video-player/video-player-controls.tsx +19 -3
- package/src/web/components/editor/video-player/video-player.tsx +67 -14
- package/src/web/components/extensions/extension-webview.tsx +44 -9
- package/src/web/components/extensions/webview-external-link.ts +29 -0
- package/src/web/components/extensions/webview-file-icons.ts +87 -0
- package/src/web/components/extensions/webview-theme.ts +12 -0
- package/src/web/components/floating-window/close-window.ts +32 -0
- package/src/web/components/floating-window/floating-window.tsx +65 -24
- package/src/web/components/floating-window/open-tab-in-pip.ts +3 -0
- package/src/web/components/floating-window/use-window-drag.ts +33 -7
- package/src/web/components/floating-window/use-window-meta.ts +138 -0
- package/src/web/components/floating-window/window-chrome-contract.ts +19 -2
- package/src/web/components/floating-window/window-content-registry.ts +2 -0
- package/src/web/components/floating-window/window-dock-layout.ts +72 -0
- package/src/web/components/floating-window/window-dock-list.tsx +156 -0
- package/src/web/components/floating-window/window-dock.tsx +192 -0
- package/src/web/components/floating-window/window-geometry.ts +42 -4
- package/src/web/components/floating-window/window-layer.tsx +59 -23
- package/src/web/components/floating-window/window-persistence.ts +16 -3
- package/src/web/components/floating-window/window-store-types.ts +14 -3
- package/src/web/components/floating-window/window-store.ts +75 -8
- package/src/web/components/floating-window/window-title-identity.tsx +86 -0
- package/src/web/components/git/git-branch-row.tsx +138 -0
- package/src/web/components/git/git-change-parts.tsx +142 -0
- package/src/web/components/git/git-change-row.tsx +218 -0
- package/src/web/components/git/git-change-tree.tsx +190 -0
- package/src/web/components/git/git-commit-composer.tsx +126 -0
- package/src/web/components/git/git-confirm.tsx +84 -0
- package/src/web/components/git/git-operation-banner.tsx +48 -0
- package/src/web/components/git/git-stash-section.tsx +128 -0
- package/src/web/components/git/git-status-panel.tsx +588 -1043
- package/src/web/components/git/git-worktree-panel.tsx +7 -7
- package/src/web/components/git-review/git-review-block.tsx +356 -0
- package/src/web/components/git-review/git-review-desktop.tsx +355 -0
- package/src/web/components/git-review/git-review-parts.tsx +238 -0
- package/src/web/components/git-review/git-review-phone.tsx +230 -0
- package/src/web/components/git-review/git-review-tab.tsx +123 -0
- package/src/web/components/layout/cloud-share-named-tunnel-row.tsx +2 -2
- package/src/web/components/layout/command-palette-db-commands.ts +56 -0
- package/src/web/components/layout/command-palette.tsx +41 -16
- package/src/web/components/layout/draggable-tab.tsx +7 -0
- package/src/web/components/layout/mobile-drawer.tsx +27 -14
- package/src/web/components/layout/mobile-nav.tsx +4 -3
- package/src/web/components/layout/mobile-tab-switcher-sheet.tsx +8 -1
- package/src/web/components/layout/nav-section-rail.tsx +22 -6
- package/src/web/components/layout/sidebar.tsx +2 -2
- package/src/web/components/layout/status-bar.tsx +6 -0
- package/src/web/components/layout/tab-bar.tsx +5 -8
- package/src/web/components/layout/tab-close-confirm-dialog.tsx +62 -0
- package/src/web/components/layout/tab-content.tsx +47 -7
- package/src/web/components/layout/tab-pool.tsx +10 -2
- package/src/web/components/layout/tab-pop-out-menu-item.tsx +2 -2
- package/src/web/components/layout/upgrade-button.tsx +3 -2
- package/src/web/components/logs/logs-actions.ts +84 -0
- package/src/web/components/logs/logs-app.tsx +265 -0
- package/src/web/components/logs/logs-client.ts +31 -0
- package/src/web/components/logs/logs-issues-pane.tsx +214 -0
- package/src/web/components/logs/logs-pane.tsx +683 -0
- package/src/web/components/logs/logs-phone-pane.tsx +365 -0
- package/src/web/components/logs/logs-report-pane.tsx +440 -0
- package/src/web/components/logs/logs-report-store.ts +153 -0
- package/src/web/components/logs/logs-state.ts +93 -0
- package/src/web/components/logs/logs-tab.tsx +4 -0
- package/src/web/components/logs/logs-ui.tsx +104 -0
- package/src/web/components/logs/logs-window-content.tsx +13 -0
- package/src/web/components/logs/logs.css +440 -0
- package/src/web/components/logs/open-logs.ts +64 -0
- package/src/web/components/logs/use-follow-list.ts +90 -0
- package/src/web/components/logs/use-logs-badge.ts +57 -0
- package/src/web/components/logs/use-logs-feed.ts +251 -0
- package/src/web/components/logs/use-logs-issues.ts +61 -0
- package/src/web/components/onboarding/onboarding-quick-orientation.tsx +4 -4
- package/src/web/components/os-explorer/actions/explorer-actions-upload.ts +2 -1
- package/src/web/components/os-explorer/skins/macos-window-chrome.tsx +17 -11
- package/src/web/components/os-explorer/skins/windows-window-chrome.tsx +14 -5
- package/src/web/components/os-explorer/views/inline-name-input.tsx +13 -4
- package/src/web/components/remote-desktop/ffmpeg-install-button.tsx +59 -0
- package/src/web/components/remote-desktop/remote-desktop-readiness-gate.tsx +2 -0
- package/src/web/components/remote-desktop/use-remote-desktop-readiness.ts +1 -0
- package/src/web/components/session-review/review-code.tsx +507 -0
- package/src/web/components/session-review/review-desktop.tsx +256 -0
- package/src/web/components/session-review/review-parts.tsx +267 -0
- package/src/web/components/session-review/review-phone.tsx +206 -0
- package/src/web/components/session-review/review-tokens.tsx +70 -0
- package/src/web/components/session-review/review-view.tsx +158 -0
- package/src/web/components/session-review/session-review-tab.tsx +71 -0
- package/src/web/components/settings/ai-settings-section.tsx +20 -0
- package/src/web/components/settings/database-drivers-section.tsx +251 -0
- package/src/web/components/settings/design-settings-section.tsx +55 -3
- package/src/web/components/settings/design-window-setting.tsx +28 -0
- package/src/web/components/settings/language-servers-section.tsx +8 -2
- package/src/web/components/settings/notifications-settings-section.tsx +463 -24
- package/src/web/components/settings/ntfy-server-form.tsx +192 -0
- package/src/web/components/settings/open-settings.ts +11 -9
- package/src/web/components/settings/ppmbot-settings-section.tsx +6 -214
- package/src/web/components/settings/ppmbot-telegram-section.tsx +139 -0
- package/src/web/components/settings/remote-access/public-link-pane.tsx +282 -0
- package/src/web/components/settings/remote-access/remote-access-settings-section.tsx +49 -0
- package/src/web/components/settings/remote-access/remote-access-tab-store.ts +24 -0
- package/src/web/components/settings/run-in-terminal-button.tsx +32 -0
- package/src/web/components/settings/settings-body.tsx +14 -2
- package/src/web/components/settings/settings-categories.ts +14 -1
- package/src/web/components/settings/settings-rows.tsx +61 -0
- package/src/web/components/settings/settings-section-content.tsx +2 -0
- package/src/web/components/settings/tailscale/tailscale-settings-section.tsx +410 -0
- package/src/web/components/settings/tailscale/tailscale-setup-steps.tsx +248 -0
- package/src/web/components/settings/tailscale/tailscale-sign-in-dialog.tsx +98 -0
- package/src/web/components/settings/tailscale/tailscale-ui.tsx +81 -0
- package/src/web/components/settings/telegram-bot-token-field.tsx +129 -0
- package/src/web/components/settings/telegram-connect.tsx +147 -0
- package/src/web/components/settings/voice-settings-section.tsx +28 -3
- package/src/web/components/sqlite/sqlite-viewer.tsx +92 -134
- package/src/web/components/system/apps/app-rows.ts +19 -3
- package/src/web/components/system/apps/apps-panel.tsx +3 -1
- package/src/web/components/system/services/service-action-confirm.tsx +20 -1
- package/src/web/components/system/services/service-details-sheet.tsx +14 -4
- package/src/web/components/system/services/service-details-text.ts +5 -0
- package/src/web/components/system/services/services-panel.tsx +7 -5
- package/src/web/components/terminal/terminal-selection-chat.tsx +178 -0
- package/src/web/components/terminal/terminal-tab.tsx +10 -6
- package/src/web/components/tunnels/named-tunnel/named-tunnel-copy.ts +1 -20
- package/src/web/components/tunnels/named-tunnel/named-tunnel-setup-content.tsx +1 -1
- package/src/web/components/tunnels/named-tunnel/named-tunnel-setup-popup.tsx +2 -2
- package/src/web/components/tunnels/named-tunnel/use-named-tunnel-setup.ts +1 -1
- package/src/web/components/tunnels/open-port-forwarding.ts +17 -0
- package/src/web/components/tunnels/port-forwarding-panel.tsx +370 -0
- package/src/web/components/ui/adaptive-context-menu.tsx +32 -3
- package/src/web/components/ui/sidebar-header.tsx +1 -1
- package/src/web/components/web-preview/open-web-preview-tab.ts +14 -0
- package/src/web/components/web-preview/web-preview-tab.tsx +92 -0
- package/src/web/hooks/use-at-most-wide.ts +20 -0
- package/src/web/hooks/use-chat.ts +214 -11
- package/src/web/hooks/use-commit-draft.ts +59 -0
- package/src/web/hooks/use-db-driver-installed.ts +16 -0
- package/src/web/hooks/use-design-session-redirect.ts +3 -2
- package/src/web/hooks/use-draft.ts +25 -15
- package/src/web/hooks/use-extension-ws.ts +15 -1
- package/src/web/hooks/use-git-changes.ts +114 -0
- package/src/web/hooks/use-git-review.ts +617 -0
- package/src/web/hooks/use-global-events.ts +5 -0
- package/src/web/hooks/use-lsp.ts +4 -2
- package/src/web/hooks/use-notification-clicks.ts +43 -0
- package/src/web/hooks/use-session-file-changes.ts +100 -0
- package/src/web/hooks/use-session-review.ts +554 -0
- package/src/web/hooks/use-session-turns.ts +65 -0
- package/src/web/hooks/use-terminal.ts +19 -5
- package/src/web/hooks/use-turn-review.ts +204 -0
- package/src/web/hooks/use-url-sync.ts +15 -12
- package/src/web/lib/aggregate-turn-file-changes.ts +127 -35
- package/src/web/lib/ai-tab-placement.ts +102 -0
- package/src/web/lib/api-client.ts +113 -47
- package/src/web/lib/api-settings.ts +1 -0
- package/src/web/lib/api-tailscale.ts +12 -0
- package/src/web/lib/api-tunnels.ts +13 -1
- package/src/web/lib/chat-attempt-lifecycle.ts +3 -1
- package/src/web/lib/code-fence.ts +7 -0
- package/src/web/lib/db-drivers.ts +41 -0
- package/src/web/lib/db-table-edit.ts +94 -0
- package/src/web/lib/db-tabs.ts +273 -0
- package/src/web/lib/design/api-design-settings.ts +11 -0
- package/src/web/lib/design/design-layout-mode.ts +16 -1
- package/src/web/lib/design/design-view-prefs.ts +20 -1
- package/src/web/lib/design/open-design-tab.ts +54 -1
- package/src/web/lib/file-icon-name.ts +6 -0
- package/src/web/lib/file-icons.generated.ts +10 -1
- package/src/web/lib/file-icons.tsx +34 -6
- package/src/web/lib/git-changes-view.ts +292 -0
- package/src/web/lib/git-file-tree.ts +8 -8
- package/src/web/lib/git-review-model.ts +496 -0
- package/src/web/lib/html-preview-loads.ts +87 -0
- package/src/web/lib/icons.generated.tsx +41 -1
- package/src/web/lib/logs/logs-report.ts +128 -0
- package/src/web/lib/logs/logs-view-model.ts +201 -0
- package/src/web/lib/lsp/lsp-client.ts +1 -1
- package/src/web/lib/lsp/lsp-documents.ts +8 -0
- package/src/web/lib/lsp/register-providers.ts +5 -1
- package/src/web/lib/model-display-name.ts +16 -0
- package/src/web/lib/monaco-lightbulb-gutter.ts +32 -0
- package/src/web/lib/open-ai-tab.ts +160 -0
- package/src/web/lib/open-git-review.ts +24 -0
- package/src/web/lib/read-ndjson.ts +35 -0
- package/src/web/lib/running-agent-rows.ts +66 -16
- package/src/web/lib/send-to-chat.ts +55 -9
- package/src/web/lib/session-file-changes-client.ts +148 -0
- package/src/web/lib/session-file-changes.ts +69 -0
- package/src/web/lib/session-review-model.ts +379 -0
- package/src/web/lib/session-turns.ts +123 -0
- package/src/web/lib/sidebar-tabs/tab-registry.ts +1 -1
- package/src/web/lib/tab-tool-call.ts +69 -0
- package/src/web/lib/tab-type-icons.ts +12 -3
- package/src/web/lib/turn-review.ts +102 -0
- package/src/web/lib/web-preview-url.ts +31 -0
- package/src/web/lib/web-push-client.ts +91 -0
- package/src/web/lib/web-push-support.ts +88 -0
- package/src/web/stores/chat-jump-store.ts +31 -0
- package/src/web/stores/commit-draft-store.ts +119 -0
- package/src/web/stores/db-rows-status-store.ts +31 -0
- package/src/web/stores/git-status-store.ts +21 -2
- package/src/web/stores/panel-store.ts +47 -1
- package/src/web/stores/panel-utils.ts +77 -11
- package/src/web/stores/session-turns-store.ts +40 -0
- package/src/web/stores/settings-store.ts +86 -42
- package/src/web/stores/tab-close-confirm-store.ts +59 -0
- package/src/web/stores/tab-store.ts +10 -2
- package/src/web/stores/unsaved-grid-rows-store.ts +42 -0
- package/src/web/stores/window-panel-actions.ts +21 -3
- package/src/web/stores/window-panel-persistence.ts +25 -11
- package/src/web/styles/file-icons.generated.css +6 -0
- package/src/web/styles/globals.css +54 -0
- package/src/web/sw-notification-click.ts +51 -0
- package/src/web/sw.ts +35 -0
- package/src/web/theme/adapters/shiki-adapter.ts +55 -1
- package/templates/skill/SKILL.md.tmpl +4 -3
- package/templates/skill/common-tasks.md +8 -4
- package/vite.config.ts +3 -0
- package/dist/web/assets/_basePickBy-BEVUuplK.js +0 -1
- 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 +0 -1
- 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 +0 -1
- 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-store-_OeezCXB.js +0 -1
- package/dist/web/assets/agent-session-sheet-vBhfHYrC.js +0 -2
- 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 +0 -1
- 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 +0 -1
- 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 +0 -1
- package/dist/web/assets/ai-settings-section-Ck8uN_Bw.js +0 -1
- 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 +0 -2
- 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 +0 -1
- 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 +0 -1
- 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-client-CbrcysYC.js +0 -1
- package/dist/web/assets/api-client-F5Zi1sR0.js +0 -1
- package/dist/web/assets/api-client-F5Zi1sR0.js.br +0 -0
- package/dist/web/assets/api-client-F5Zi1sR0.js.gz +0 -0
- package/dist/web/assets/api-settings-Cc_CpfmC.js +0 -1
- 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 +0 -1
- package/dist/web/assets/api-themes-BtMBSjuM.js +0 -1
- package/dist/web/assets/apl-Bxk9ez2r.js +0 -1
- 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 +0 -1
- 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 +0 -1
- 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 +0 -1
- 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 +0 -1
- package/dist/web/assets/architectureDiagram-2XIMDMQ5-sFj2GCA0.js +0 -36
- 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 +0 -1
- 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 +0 -1
- 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 +0 -1
- 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 +0 -132
- 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 +0 -1
- 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 +0 -1
- package/dist/web/assets/bsl-DJPQP6gj.js.br +0 -0
- package/dist/web/assets/bsl-DJPQP6gj.js.gz +0 -0
- package/dist/web/assets/button-DeAyLH9U.js +0 -1
- package/dist/web/assets/button-DeAyLH9U.js.br +0 -0
- package/dist/web/assets/button-DeAyLH9U.js.gz +0 -0
- package/dist/web/assets/c4Diagram-IC4MRINW-Bs9OCCbR.js +0 -10
- 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 +0 -1
- 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 +0 -1
- package/dist/web/assets/chat-preparation-cache-BUCR58h4.js +0 -1
- package/dist/web/assets/chat-preparation-cache-BUCR58h4.js.br +0 -0
- package/dist/web/assets/chat-preparation-cache-BUCR58h4.js.gz +0 -0
- package/dist/web/assets/chat-tab-Bbe_77oJ.js +0 -15
- 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 +0 -1
- 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 +0 -1
- package/dist/web/assets/chunk-55IACEB6-BUOmRdCb.js +0 -1
- package/dist/web/assets/chunk-7E7YKBS2-D5i9aZ57.js +0 -1
- package/dist/web/assets/chunk-7R4GIKGN-DBr9s6EE.js +0 -80
- 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 +0 -1
- package/dist/web/assets/chunk-EGIJ26TM-BG89sF-p.js +0 -1
- package/dist/web/assets/chunk-FMBD7UC4-BDtpoO-Q.js +0 -15
- package/dist/web/assets/chunk-GEFDOKGD-lFQnV7FQ.js +0 -2
- 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 +0 -2
- 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 +0 -1
- package/dist/web/assets/chunk-JSJVCQXG-FBF1o1AC.js +0 -1
- 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 +0 -1
- package/dist/web/assets/chunk-KYZI473N-DQTRCz9g.js +0 -53
- 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 +0 -1
- package/dist/web/assets/chunk-MX3YWQON-Da7GPDei.js +0 -1
- 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 +0 -220
- 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 +0 -7
- 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 +0 -1
- 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 +0 -1
- 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 +0 -11
- 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 +0 -1
- package/dist/web/assets/chunk-R5LLSJPH-CZY_f--s.js +0 -1
- package/dist/web/assets/chunk-WL4C6EOR-BUFIzsiK.js +0 -189
- 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 +0 -1
- package/dist/web/assets/chunk-XPW4576I-DfOF_qdG.js +0 -32
- 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 +0 -94
- 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 +0 -1
- package/dist/web/assets/classDiagram-VBA2DB6C-HwLNQY_4.js +0 -1
- package/dist/web/assets/classDiagram-v2-RAHNMMFH-CLUQCcjH.js +0 -1
- package/dist/web/assets/clone-B5kRZECd.js +0 -1
- package/dist/web/assets/cobol-6JrtZ3xT.js +0 -1
- 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 +0 -7
- 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 +0 -1
- 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 +0 -1
- 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 +0 -19
- 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/context-menu-7OX80HDB.js +0 -1
- package/dist/web/assets/context-menu-7OX80HDB.js.br +0 -0
- package/dist/web/assets/context-menu-7OX80HDB.js.gz +0 -0
- package/dist/web/assets/cose-bilkent-S5V4N54A-CAPPRjYz.js +0 -1
- 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 +0 -1
- 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 +0 -1
- 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-parser-CoxPdyLw.js +0 -6
- package/dist/web/assets/csv-parser-CoxPdyLw.js.br +0 -0
- package/dist/web/assets/csv-parser-CoxPdyLw.js.gz +0 -0
- package/dist/web/assets/csv-preview-BuFdfLo3.js +0 -2
- 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 +0 -1
- 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 +0 -4
- 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 +0 -1
- 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/data-grid-types-CHD9-pon.js +0 -1
- package/dist/web/assets/data-grid-types-CHD9-pon.js.br +0 -0
- package/dist/web/assets/data-grid-types-CHD9-pon.js.gz +0 -0
- package/dist/web/assets/database-viewer-ChcbYn9E.js +0 -1
- 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 +0 -1
- 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 +0 -1
- 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 +0 -2
- 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 +0 -3
- 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-tab-BQSYJ4cS.js +0 -57
- 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 +0 -1
- 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 +0 -24
- 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 +0 -43
- 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 +0 -24
- 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 +0 -1
- 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 +0 -4
- 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/dist-CBtAY9iX.js +0 -1
- package/dist/web/assets/dist-CBtAY9iX.js.br +0 -0
- package/dist/web/assets/dist-CBtAY9iX.js.gz +0 -0
- package/dist/web/assets/dist-CWwUZUqE.js +0 -11
- package/dist/web/assets/dist-CWwUZUqE.js.br +0 -0
- package/dist/web/assets/dist-CWwUZUqE.js.gz +0 -0
- package/dist/web/assets/docx-preview-Dt6RQpfA.js +0 -12
- package/dist/web/assets/docx-preview-Dt6RQpfA.js.br +0 -0
- package/dist/web/assets/docx-preview-Dt6RQpfA.js.gz +0 -0
- package/dist/web/assets/edge-BxayftlC.js +0 -1
- 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 +0 -7
- 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 +0 -1
- 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 +0 -1
- 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 +0 -1
- 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 +0 -70
- 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 +0 -1
- 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 +0 -1
- 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 +0 -2
- 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 +0 -2
- 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 +0 -1
- 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 +0 -1
- 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 +0 -12
- 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-icons-CK0J4QSy.js +0 -1
- package/dist/web/assets/file-icons-CK0J4QSy.js.br +0 -0
- package/dist/web/assets/file-icons-CK0J4QSy.js.gz +0 -0
- package/dist/web/assets/file-icons.generated-BtBErEwb.css +0 -1
- package/dist/web/assets/file-icons.generated-BtBErEwb.css.br +0 -0
- package/dist/web/assets/file-icons.generated-BtBErEwb.css.gz +0 -0
- package/dist/web/assets/file-store-Cm7-pHux.js +0 -1
- 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 +0 -1
- 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 +0 -162
- 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 +0 -1
- 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 +0 -1
- 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/fs-api-IX9SHt5k.js +0 -1
- package/dist/web/assets/fs-api-IX9SHt5k.js.br +0 -0
- package/dist/web/assets/fs-api-IX9SHt5k.js.gz +0 -0
- package/dist/web/assets/fsharp-B5-po_gS.js +0 -1
- 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 +0 -292
- 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 +0 -1
- 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 +0 -1
- 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 +0 -1
- 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 +0 -1
- 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 +0 -1
- package/dist/web/assets/git-repo-store-B_u5RzIM.js +0 -1
- package/dist/web/assets/git-repo-store-B_u5RzIM.js.br +0 -0
- package/dist/web/assets/git-repo-store-B_u5RzIM.js.gz +0 -0
- package/dist/web/assets/gitGraph-HDMCJU4V-COyQftEp.js +0 -1
- package/dist/web/assets/gitGraphDiagram-K3NZZRJ6-C9g4d3bV.js +0 -65
- 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 +0 -141
- 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 +0 -1
- 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 +0 -1
- 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 +0 -1
- 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 +0 -1
- 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 +0 -1
- 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 +0 -1
- 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 +0 -1
- 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 +0 -1
- 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 +0 -1
- 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 +0 -1
- 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 +0 -1
- package/dist/web/assets/http-BI6PtTvX.js +0 -1
- 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 +0 -1
- 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 +0 -1
- package/dist/web/assets/hxml-B6i0QuF9.js.br +0 -0
- package/dist/web/assets/hxml-B6i0QuF9.js.gz +0 -0
- package/dist/web/assets/icons-CO_II6D-.js +0 -1
- package/dist/web/assets/icons-CO_II6D-.js.br +0 -0
- package/dist/web/assets/icons-CO_II6D-.js.gz +0 -0
- package/dist/web/assets/image-preview-Cjlps7Pt.js +0 -1
- package/dist/web/assets/index-CyDLBddf.js +0 -52
- 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 +0 -1
- 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 +0 -1
- package/dist/web/assets/infoDiagram-LFFYTUFH-BpJuT5o9.js +0 -2
- package/dist/web/assets/input-CG8PS8mS.js +0 -1
- package/dist/web/assets/isEmpty-BjAN1oSC.js +0 -1
- 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 +0 -70
- 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 +0 -1
- 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 +0 -1
- package/dist/web/assets/jison-F9rAmqyI.js +0 -1
- 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 +0 -139
- 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 +0 -1
- 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 +0 -1
- 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 +0 -89
- 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 +0 -1
- package/dist/web/assets/keyboard-shortcuts-section-Ba5NYwlG.js +0 -1
- 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 +0 -2
- 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 +0 -1
- 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/lib-6APiJkU3.js +0 -4
- package/dist/web/assets/lib-6APiJkU3.js.br +0 -0
- package/dist/web/assets/lib-6APiJkU3.js.gz +0 -0
- package/dist/web/assets/line-CYtSrseF.js +0 -1
- package/dist/web/assets/linear-DyCrWAir.js +0 -1
- 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 +0 -1
- 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 +0 -1
- 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 +0 -1
- 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 +0 -5
- 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 +0 -1
- package/dist/web/assets/marko-2g0T6atb.js +0 -1
- 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 +0 -1
- 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/media-url-CrT-qulZ.js +0 -1
- package/dist/web/assets/mermaid-parser.core-C5vBM3kO.js +0 -4
- 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 +0 -11
- 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 +0 -68
- 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 +0 -1
- 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 +0 -1
- 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/monaco-dotenv-language-DbSss7YR.js +0 -1
- package/dist/web/assets/new-design-dialog-DI_hxvFV.js +0 -1
- 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 +0 -1
- 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 +0 -1
- 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 +0 -1
- 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 +0 -1
- package/dist/web/assets/notifications-settings-section-0s-2OKRv.js +0 -1
- 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 +0 -9
- 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 +0 -1
- 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 +0 -1
- 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 +0 -1
- 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 +0 -1
- 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 +0 -1
- package/dist/web/assets/panel-store-B6PoCwBA.js +0 -1
- 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/pdf-preview-B8A4T-ES.js +0 -1
- package/dist/web/assets/pdf-preview-B8A4T-ES.js.br +0 -0
- package/dist/web/assets/pdf-preview-B8A4T-ES.js.gz +0 -0
- package/dist/web/assets/performance-panel-V8gpnnf7.js +0 -3
- 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 +0 -1
- 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 +0 -1
- 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 +0 -1
- package/dist/web/assets/pieDiagram-SKSYHLDU-CiJCYElI.js +0 -30
- 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 +0 -3
- 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 +0 -1
- 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 +0 -111
- 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 +0 -1
- 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 +0 -1
- package/dist/web/assets/process-table-BUTIp9Oy.js +0 -1
- 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/project-store-CCimwgGF.js +0 -1
- package/dist/web/assets/project-store-CCimwgGF.js.br +0 -0
- package/dist/web/assets/project-store-CCimwgGF.js.gz +0 -0
- package/dist/web/assets/proxy-settings-section-Buv_8y54.js +0 -1
- 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 +0 -1
- 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 +0 -1
- 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 +0 -7
- 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 +0 -1
- 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 +0 -1
- package/dist/web/assets/razor-CzV29vlj.js +0 -1
- 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 +0 -1
- 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 +0 -2
- 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 +0 -1
- 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 +0 -1
- 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 +0 -1
- 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 +0 -1
- 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 +0 -73
- 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 +0 -1
- 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 +0 -1
- 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 +0 -1
- package/dist/web/assets/sankeyDiagram-WA2Y5GQK-CxM5iAJY.js +0 -10
- 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 +0 -1
- 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 +0 -1
- 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/scroll-area-sjOeAfoD.js +0 -1
- package/dist/web/assets/scroll-area-sjOeAfoD.js.br +0 -0
- package/dist/web/assets/scroll-area-sjOeAfoD.js.gz +0 -0
- package/dist/web/assets/scss-d9PFDNvb.js +0 -1
- 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 +0 -1
- 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/separator-dHj3Km--.js +0 -1
- package/dist/web/assets/sequenceDiagram-2WXFIKYE-D4PdZNfQ.js +0 -145
- 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 +0 -1
- 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 +0 -1
- 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 +0 -1
- 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 +0 -1
- package/dist/web/assets/settings-section-content-U3mIx6hF.js +0 -2
- 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 +0 -2
- 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 +0 -1
- package/dist/web/assets/settings-window-content-CgZIMNX8.js +0 -1
- package/dist/web/assets/shaderlab-BkB57LhQ.js +0 -1
- 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 +0 -1
- package/dist/web/assets/slash-command-picker-CQlIqMW0.js +0 -1
- 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/sortable-header-BOa8o7NJ.js +0 -1
- package/dist/web/assets/sortable-header-BOa8o7NJ.js.br +0 -0
- package/dist/web/assets/sortable-header-BOa8o7NJ.js.gz +0 -0
- package/dist/web/assets/soy-CGmWpNZ2.js +0 -1
- 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 +0 -1
- 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 +0 -1
- 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 +0 -1
- 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 +0 -1
- 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 +0 -1
- 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 +0 -1
- package/dist/web/assets/surrealql-BhmbH4Yk.js +0 -1
- 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 +0 -1
- 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 +0 -2
- 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 +0 -1
- package/dist/web/assets/system-monitor-window-content-kLNW9Ln3.js +0 -1
- package/dist/web/assets/tab-host-window-content-II_FtOYM.js +0 -1
- 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 +0 -1
- package/dist/web/assets/templ-DuLJgZN8.js +0 -1
- 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 +0 -3
- 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 +0 -1
- 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 +0 -61
- 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 +0 -9
- 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 +0 -1
- package/dist/web/assets/ts-tags-BxVcUOvj.js +0 -1
- 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 +0 -1
- 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-blob-url-BC69n15x.js +0 -1
- package/dist/web/assets/use-inline-blame-CxZ_QWzS.js +0 -16
- 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 +0 -6
- 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 +0 -1
- package/dist/web/assets/use-process-kill-Cbiu1mbY.js +0 -1
- 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 +0 -1
- package/dist/web/assets/vendor-ui-P9Ym7hCv.js +0 -45
- package/dist/web/assets/vendor-ui-P9Ym7hCv.js.br +0 -0
- package/dist/web/assets/vendor-ui-P9Ym7hCv.js.gz +0 -0
- package/dist/web/assets/vennDiagram-LZ73GAT5-ITFNzHRx.js +0 -34
- 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 +0 -1
- 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 +0 -1
- 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 +0 -1
- 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 +0 -1
- 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 +0 -1
- 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 +0 -1
- package/dist/web/assets/window-store-vo1N70nK.js +0 -1
- package/dist/web/assets/window-store-vo1N70nK.js.br +0 -0
- package/dist/web/assets/window-store-vo1N70nK.js.gz +0 -0
- package/dist/web/assets/ws-auth-Ytui7dXP.js +0 -1
- package/dist/web/assets/xml-Zepcw_qF.js +0 -1
- 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 +0 -1
- 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 +0 -7
- package/dist/web/assets/xychartDiagram-JWTSCODW-Z12EI4TX.js.br +0 -0
- package/dist/web/assets/xychartDiagram-JWTSCODW-Z12EI4TX.js.gz +0 -0
- package/src/server/routes/fs-sqlite.ts +0 -129
- package/src/server/routes/postgres.ts +0 -92
- package/src/server/routes/sqlite.ts +0 -148
- package/src/services/database/split-sql-statements.ts +0 -95
- package/src/web/components/chat/change-edit-list.tsx +0 -50
- package/src/web/components/database/connection-form-dialog.tsx +0 -252
- package/src/web/components/database/connection-list.tsx +0 -192
- package/src/web/components/database/connection-row.tsx +0 -104
- package/src/web/components/database/database-viewer.tsx +0 -353
- package/src/web/components/database/glide-column-search.tsx +0 -81
- package/src/web/components/database/glide-data-preview-panel.tsx +0 -114
- package/src/web/components/database/glide-grid-pagination.tsx +0 -34
- package/src/web/components/database/glide-grid-toolbar.tsx +0 -105
- package/src/web/components/database/resolve-preview-data.ts +0 -62
- package/src/web/components/database/schema-table-tree.tsx +0 -98
- package/src/web/components/database/split-sql-statements.ts +0 -116
- package/src/web/components/database/use-db-tree-expansion.ts +0 -74
- package/src/web/components/database/use-glide-pending-edits.ts +0 -72
- package/src/web/components/database/use-glide-row-pinning.ts +0 -35
- package/src/web/components/postgres/postgres-viewer.tsx +0 -283
- package/src/web/components/postgres/use-postgres.ts +0 -161
- package/src/web/components/shared/bug-report-popup.tsx +0 -59
- package/src/web/components/sqlite/sqlite-data-grid.tsx +0 -213
- package/src/web/components/sqlite/sqlite-query-editor.tsx +0 -10
- package/src/web/components/sqlite/sqlite-table-list.tsx +0 -48
- package/src/web/components/sqlite/use-sqlite.ts +0 -135
- package/src/web/components/tunnels/named-tunnel/named-tunnel-section.tsx +0 -159
- package/src/web/components/tunnels/public-tunnel-switch.tsx +0 -82
- package/src/web/components/tunnels/tunnel-manager-tab.tsx +0 -207
- package/src/web/lib/report-bug.ts +0 -79
- /package/dist/web/assets/{__vite-browser-external-C5mXParC.js → __vite-browser-external-tODLo9mE.js} +0 -0
- /package/dist/web/assets/{abap-Ds6L4g_T.js → abap-D-o-bvtI.js} +0 -0
- /package/dist/web/assets/{abap-Ds6L4g_T.js.br → abap-D-o-bvtI.js.br} +0 -0
- /package/dist/web/assets/{abap-Ds6L4g_T.js.gz → abap-D-o-bvtI.js.gz} +0 -0
- /package/dist/web/assets/{actionscript-3-CLNiH4aj.js → actionscript-3-D2tIzAm8.js} +0 -0
- /package/dist/web/assets/{actionscript-3-CLNiH4aj.js.br → actionscript-3-D2tIzAm8.js.br} +0 -0
- /package/dist/web/assets/{actionscript-3-CLNiH4aj.js.gz → actionscript-3-D2tIzAm8.js.gz} +0 -0
- /package/dist/web/assets/{ada-BoiebnO1.js → ada-DxatBcxS.js} +0 -0
- /package/dist/web/assets/{ada-BoiebnO1.js.br → ada-DxatBcxS.js.br} +0 -0
- /package/dist/web/assets/{ada-BoiebnO1.js.gz → ada-DxatBcxS.js.gz} +0 -0
- /package/dist/web/assets/{andromeeda-CdMZLp1H.js → andromeeda-D0LK9YJ3.js} +0 -0
- /package/dist/web/assets/{andromeeda-CdMZLp1H.js.br → andromeeda-D0LK9YJ3.js.br} +0 -0
- /package/dist/web/assets/{andromeeda-CdMZLp1H.js.gz → andromeeda-D0LK9YJ3.js.gz} +0 -0
- /package/dist/web/assets/{apache-BKOdPQIP.js → apache-B7uMPNiW.js} +0 -0
- /package/dist/web/assets/{apache-BKOdPQIP.js.br → apache-B7uMPNiW.js.br} +0 -0
- /package/dist/web/assets/{apache-BKOdPQIP.js.gz → apache-B7uMPNiW.js.gz} +0 -0
- /package/dist/web/assets/{apex-kTmPDDVo.js → apex-B7GiXrAr.js} +0 -0
- /package/dist/web/assets/{apex-kTmPDDVo.js.br → apex-B7GiXrAr.js.br} +0 -0
- /package/dist/web/assets/{apex-kTmPDDVo.js.gz → apex-B7GiXrAr.js.gz} +0 -0
- /package/dist/web/assets/{applescript-C65SMPLe.js → applescript-D_SIFkKe.js} +0 -0
- /package/dist/web/assets/{applescript-C65SMPLe.js.br → applescript-D_SIFkKe.js.br} +0 -0
- /package/dist/web/assets/{applescript-C65SMPLe.js.gz → applescript-D_SIFkKe.js.gz} +0 -0
- /package/dist/web/assets/{apply-theme-Cc_cmrD5.js → apply-theme-ORrEdHKT.js} +0 -0
- /package/dist/web/assets/{ara-BKT6no2T.js → ara-C3iECgdg.js} +0 -0
- /package/dist/web/assets/{ara-BKT6no2T.js.br → ara-C3iECgdg.js.br} +0 -0
- /package/dist/web/assets/{ara-BKT6no2T.js.gz → ara-C3iECgdg.js.gz} +0 -0
- /package/dist/web/assets/{array-F4LNYbhF.js → array-Bn55RxR6.js} +0 -0
- /package/dist/web/assets/{asciidoc-BGur0ue3.js → asciidoc-gc8z_MMY.js} +0 -0
- /package/dist/web/assets/{asciidoc-BGur0ue3.js.br → asciidoc-gc8z_MMY.js.br} +0 -0
- /package/dist/web/assets/{asciidoc-BGur0ue3.js.gz → asciidoc-gc8z_MMY.js.gz} +0 -0
- /package/dist/web/assets/{asm-DOfgqCKD.js → asm-27qeoPOI.js} +0 -0
- /package/dist/web/assets/{asm-DOfgqCKD.js.br → asm-27qeoPOI.js.br} +0 -0
- /package/dist/web/assets/{asm-DOfgqCKD.js.gz → asm-27qeoPOI.js.gz} +0 -0
- /package/dist/web/assets/{aurora-x-D64MWGxe.js → aurora-x-C5J9fWe1.js} +0 -0
- /package/dist/web/assets/{aurora-x-D64MWGxe.js.br → aurora-x-C5J9fWe1.js.br} +0 -0
- /package/dist/web/assets/{aurora-x-D64MWGxe.js.gz → aurora-x-C5J9fWe1.js.gz} +0 -0
- /package/dist/web/assets/{awk-B_r8LcWp.js → awk-B7GBzF92.js} +0 -0
- /package/dist/web/assets/{awk-B_r8LcWp.js.br → awk-B7GBzF92.js.br} +0 -0
- /package/dist/web/assets/{awk-B_r8LcWp.js.gz → awk-B7GBzF92.js.gz} +0 -0
- /package/dist/web/assets/{ayu-dark-DlDyr9-5.js → ayu-dark-XlnQhuLL.js} +0 -0
- /package/dist/web/assets/{ayu-dark-DlDyr9-5.js.br → ayu-dark-XlnQhuLL.js.br} +0 -0
- /package/dist/web/assets/{ayu-dark-DlDyr9-5.js.gz → ayu-dark-XlnQhuLL.js.gz} +0 -0
- /package/dist/web/assets/{ayu-light-BF0a181n.js → ayu-light-DKLLilkU.js} +0 -0
- /package/dist/web/assets/{ayu-light-BF0a181n.js.br → ayu-light-DKLLilkU.js.br} +0 -0
- /package/dist/web/assets/{ayu-light-BF0a181n.js.gz → ayu-light-DKLLilkU.js.gz} +0 -0
- /package/dist/web/assets/{ayu-mirage-B6hnRsHM.js → ayu-mirage-Dv-XOprJ.js} +0 -0
- /package/dist/web/assets/{ayu-mirage-B6hnRsHM.js.br → ayu-mirage-Dv-XOprJ.js.br} +0 -0
- /package/dist/web/assets/{ayu-mirage-B6hnRsHM.js.gz → ayu-mirage-Dv-XOprJ.js.gz} +0 -0
- /package/dist/web/assets/{ballerina-CyhD34qA.js → ballerina-DACRT-sT.js} +0 -0
- /package/dist/web/assets/{ballerina-CyhD34qA.js.br → ballerina-DACRT-sT.js.br} +0 -0
- /package/dist/web/assets/{ballerina-CyhD34qA.js.gz → ballerina-DACRT-sT.js.gz} +0 -0
- /package/dist/web/assets/{bat-wHB_k1YG.js → bat-BlQCq2XE.js} +0 -0
- /package/dist/web/assets/{bat-wHB_k1YG.js.br → bat-BlQCq2XE.js.br} +0 -0
- /package/dist/web/assets/{bat-wHB_k1YG.js.gz → bat-BlQCq2XE.js.gz} +0 -0
- /package/dist/web/assets/{beancount-SUF8MnzM.js → beancount-DYDztRI0.js} +0 -0
- /package/dist/web/assets/{beancount-SUF8MnzM.js.br → beancount-DYDztRI0.js.br} +0 -0
- /package/dist/web/assets/{beancount-SUF8MnzM.js.gz → beancount-DYDztRI0.js.gz} +0 -0
- /package/dist/web/assets/{berry-BP_34_jr.js → berry-BE5YKqvx.js} +0 -0
- /package/dist/web/assets/{berry-BP_34_jr.js.br → berry-BE5YKqvx.js.br} +0 -0
- /package/dist/web/assets/{berry-BP_34_jr.js.gz → berry-BE5YKqvx.js.gz} +0 -0
- /package/dist/web/assets/{bibtex-DKgKw2bN.js → bibtex-CAm7mgEm.js} +0 -0
- /package/dist/web/assets/{bibtex-DKgKw2bN.js.br → bibtex-CAm7mgEm.js.br} +0 -0
- /package/dist/web/assets/{bibtex-DKgKw2bN.js.gz → bibtex-CAm7mgEm.js.gz} +0 -0
- /package/dist/web/assets/{bicep-BjU-KQeN.js → bicep-BKgAbfVa.js} +0 -0
- /package/dist/web/assets/{bicep-BjU-KQeN.js.br → bicep-BKgAbfVa.js.br} +0 -0
- /package/dist/web/assets/{bicep-BjU-KQeN.js.gz → bicep-BKgAbfVa.js.gz} +0 -0
- /package/dist/web/assets/{bird2-CCFmrT2P.js → bird2-yrBNbW1G.js} +0 -0
- /package/dist/web/assets/{bird2-CCFmrT2P.js.br → bird2-yrBNbW1G.js.br} +0 -0
- /package/dist/web/assets/{bird2-CCFmrT2P.js.gz → bird2-yrBNbW1G.js.gz} +0 -0
- /package/dist/web/assets/{c-BX-1170_.js → c-CD4cF1Lj.js} +0 -0
- /package/dist/web/assets/{c-BX-1170_.js.br → c-CD4cF1Lj.js.br} +0 -0
- /package/dist/web/assets/{c-BX-1170_.js.gz → c-CD4cF1Lj.js.gz} +0 -0
- /package/dist/web/assets/{c3-DSc4IcLQ.js → c3-D_DrzBUd.js} +0 -0
- /package/dist/web/assets/{c3-DSc4IcLQ.js.br → c3-D_DrzBUd.js.br} +0 -0
- /package/dist/web/assets/{c3-DSc4IcLQ.js.gz → c3-D_DrzBUd.js.gz} +0 -0
- /package/dist/web/assets/{cadence-CUaLlWyn.js → cadence-CUFCEgG9.js} +0 -0
- /package/dist/web/assets/{cadence-CUaLlWyn.js.br → cadence-CUFCEgG9.js.br} +0 -0
- /package/dist/web/assets/{cadence-CUaLlWyn.js.gz → cadence-CUFCEgG9.js.gz} +0 -0
- /package/dist/web/assets/{can-open-in-ppm-DeE2-kd5.js → can-open-in-ppm-7M6412iz.js} +0 -0
- /package/dist/web/assets/{can-open-in-ppm-DeE2-kd5.js.br → can-open-in-ppm-7M6412iz.js.br} +0 -0
- /package/dist/web/assets/{can-open-in-ppm-DeE2-kd5.js.gz → can-open-in-ppm-7M6412iz.js.gz} +0 -0
- /package/dist/web/assets/{catppuccin-frappe-BT3IMDYa.js → catppuccin-frappe-Dn32MuhA.js} +0 -0
- /package/dist/web/assets/{catppuccin-frappe-BT3IMDYa.js.br → catppuccin-frappe-Dn32MuhA.js.br} +0 -0
- /package/dist/web/assets/{catppuccin-frappe-BT3IMDYa.js.gz → catppuccin-frappe-Dn32MuhA.js.gz} +0 -0
- /package/dist/web/assets/{catppuccin-latte-DM9i15n3.js → catppuccin-latte-Dewo7yDf.js} +0 -0
- /package/dist/web/assets/{catppuccin-latte-DM9i15n3.js.br → catppuccin-latte-Dewo7yDf.js.br} +0 -0
- /package/dist/web/assets/{catppuccin-latte-DM9i15n3.js.gz → catppuccin-latte-Dewo7yDf.js.gz} +0 -0
- /package/dist/web/assets/{catppuccin-macchiato-CAEDr_h3.js → catppuccin-macchiato-D8WOWZeo.js} +0 -0
- /package/dist/web/assets/{catppuccin-macchiato-CAEDr_h3.js.br → catppuccin-macchiato-D8WOWZeo.js.br} +0 -0
- /package/dist/web/assets/{catppuccin-macchiato-CAEDr_h3.js.gz → catppuccin-macchiato-D8WOWZeo.js.gz} +0 -0
- /package/dist/web/assets/{catppuccin-mocha-BzOmDckq.js → catppuccin-mocha-b0md48XM.js} +0 -0
- /package/dist/web/assets/{catppuccin-mocha-BzOmDckq.js.br → catppuccin-mocha-b0md48XM.js.br} +0 -0
- /package/dist/web/assets/{catppuccin-mocha-BzOmDckq.js.gz → catppuccin-mocha-b0md48XM.js.gz} +0 -0
- /package/dist/web/assets/{clarity-BijZXjQ6.js → clarity-Ct3UqLBj.js} +0 -0
- /package/dist/web/assets/{clarity-BijZXjQ6.js.br → clarity-Ct3UqLBj.js.br} +0 -0
- /package/dist/web/assets/{clarity-BijZXjQ6.js.gz → clarity-Ct3UqLBj.js.gz} +0 -0
- /package/dist/web/assets/{clojure--ad2221W.js → clojure-CwP5aPEo.js} +0 -0
- /package/dist/web/assets/{clojure--ad2221W.js.br → clojure-CwP5aPEo.js.br} +0 -0
- /package/dist/web/assets/{clojure--ad2221W.js.gz → clojure-CwP5aPEo.js.gz} +0 -0
- /package/dist/web/assets/{cmake-DyjUMpXU.js → cmake-D5RF49e5.js} +0 -0
- /package/dist/web/assets/{cmake-DyjUMpXU.js.br → cmake-D5RF49e5.js.br} +0 -0
- /package/dist/web/assets/{cmake-DyjUMpXU.js.gz → cmake-D5RF49e5.js.gz} +0 -0
- /package/dist/web/assets/{codeowners-BeMhKnC9.js → codeowners-Cl5897L_.js} +0 -0
- /package/dist/web/assets/{codeql-BGtwwp5_.js → codeql-BKh1RCg0.js} +0 -0
- /package/dist/web/assets/{codeql-BGtwwp5_.js.br → codeql-BKh1RCg0.js.br} +0 -0
- /package/dist/web/assets/{codeql-BGtwwp5_.js.gz → codeql-BKh1RCg0.js.gz} +0 -0
- /package/dist/web/assets/{common-lisp--ldIKs5M.js → common-lisp-BhHuD6t0.js} +0 -0
- /package/dist/web/assets/{common-lisp--ldIKs5M.js.br → common-lisp-BhHuD6t0.js.br} +0 -0
- /package/dist/web/assets/{common-lisp--ldIKs5M.js.gz → common-lisp-BhHuD6t0.js.gz} +0 -0
- /package/dist/web/assets/{coq-CRn01_Db.js → coq-Dco3qwD8.js} +0 -0
- /package/dist/web/assets/{coq-CRn01_Db.js.br → coq-Dco3qwD8.js.br} +0 -0
- /package/dist/web/assets/{coq-CRn01_Db.js.gz → coq-Dco3qwD8.js.gz} +0 -0
- /package/dist/web/assets/{csharp-CuWM1IYq.js → csharp-Dpjw9ZA9.js} +0 -0
- /package/dist/web/assets/{csharp-CuWM1IYq.js.br → csharp-Dpjw9ZA9.js.br} +0 -0
- /package/dist/web/assets/{csharp-CuWM1IYq.js.gz → csharp-Dpjw9ZA9.js.gz} +0 -0
- /package/dist/web/assets/{css-CQ_jz6Vl.js → css-CJ8lnCAk.js} +0 -0
- /package/dist/web/assets/{css-CQ_jz6Vl.js.br → css-CJ8lnCAk.js.br} +0 -0
- /package/dist/web/assets/{css-CQ_jz6Vl.js.gz → css-CJ8lnCAk.js.gz} +0 -0
- /package/dist/web/assets/{csv-DP77pbR8.js → csv-BAcTN8Kt.js} +0 -0
- /package/dist/web/assets/{csv-DP77pbR8.js.br → csv-BAcTN8Kt.js.br} +0 -0
- /package/dist/web/assets/{csv-DP77pbR8.js.gz → csv-BAcTN8Kt.js.gz} +0 -0
- /package/dist/web/assets/{cue-DScL5ELc.js → cue-Cr6y60TA.js} +0 -0
- /package/dist/web/assets/{cue-DScL5ELc.js.br → cue-Cr6y60TA.js.br} +0 -0
- /package/dist/web/assets/{cue-DScL5ELc.js.gz → cue-Cr6y60TA.js.gz} +0 -0
- /package/dist/web/assets/{cypher-8ehI2vrw.js → cypher-DWtqXXFP.js} +0 -0
- /package/dist/web/assets/{cypher-8ehI2vrw.js.br → cypher-DWtqXXFP.js.br} +0 -0
- /package/dist/web/assets/{cypher-8ehI2vrw.js.gz → cypher-DWtqXXFP.js.gz} +0 -0
- /package/dist/web/assets/{cytoscape.esm-BokGhmK2.js → cytoscape.esm-C-5Awcry.js} +0 -0
- /package/dist/web/assets/{cytoscape.esm-BokGhmK2.js.br → cytoscape.esm-C-5Awcry.js.br} +0 -0
- /package/dist/web/assets/{cytoscape.esm-BokGhmK2.js.gz → cytoscape.esm-C-5Awcry.js.gz} +0 -0
- /package/dist/web/assets/{d-BvFZUewv.js → d-BASiTZk4.js} +0 -0
- /package/dist/web/assets/{d-BvFZUewv.js.br → d-BASiTZk4.js.br} +0 -0
- /package/dist/web/assets/{d-BvFZUewv.js.gz → d-BASiTZk4.js.gz} +0 -0
- /package/dist/web/assets/{dark-plus-DKLywSFP.js → dark-plus-56kmnrcl.js} +0 -0
- /package/dist/web/assets/{dark-plus-DKLywSFP.js.br → dark-plus-56kmnrcl.js.br} +0 -0
- /package/dist/web/assets/{dark-plus-DKLywSFP.js.gz → dark-plus-56kmnrcl.js.gz} +0 -0
- /package/dist/web/assets/{dart-Cs_NJAZ7.js → dart-C5mZnjoE.js} +0 -0
- /package/dist/web/assets/{dart-Cs_NJAZ7.js.br → dart-C5mZnjoE.js.br} +0 -0
- /package/dist/web/assets/{dart-Cs_NJAZ7.js.gz → dart-C5mZnjoE.js.gz} +0 -0
- /package/dist/web/assets/{dax-BB8KgXzI.js → dax-B4I2e7d8.js} +0 -0
- /package/dist/web/assets/{dax-BB8KgXzI.js.br → dax-B4I2e7d8.js.br} +0 -0
- /package/dist/web/assets/{dax-BB8KgXzI.js.gz → dax-B4I2e7d8.js.gz} +0 -0
- /package/dist/web/assets/{defaultLocale-4xAk2LVU.js → defaultLocale-DNG1xVq7.js} +0 -0
- /package/dist/web/assets/{defaultLocale-4xAk2LVU.js.br → defaultLocale-DNG1xVq7.js.br} +0 -0
- /package/dist/web/assets/{defaultLocale-4xAk2LVU.js.gz → defaultLocale-DNG1xVq7.js.gz} +0 -0
- /package/dist/web/assets/{design-system-status-label-ekiLyjKn.js → design-system-status-label-BRbs7m2y.js} +0 -0
- /package/dist/web/assets/{desktop-Cs6Sk5Pu.js → desktop-DekGg0BT.js} +0 -0
- /package/dist/web/assets/{desktop-Cs6Sk5Pu.js.br → desktop-DekGg0BT.js.br} +0 -0
- /package/dist/web/assets/{desktop-Cs6Sk5Pu.js.gz → desktop-DekGg0BT.js.gz} +0 -0
- /package/dist/web/assets/{diff-CXSq83h3.js → diff-CWnJBd73.js} +0 -0
- /package/dist/web/assets/{diff-CXSq83h3.js.br → diff-CWnJBd73.js.br} +0 -0
- /package/dist/web/assets/{diff-CXSq83h3.js.gz → diff-CWnJBd73.js.gz} +0 -0
- /package/dist/web/assets/{dist-0EbiTA3n.js → dist-BSIakJVz.js} +0 -0
- /package/dist/web/assets/{dist-0EbiTA3n.js.br → dist-BSIakJVz.js.br} +0 -0
- /package/dist/web/assets/{dist-0EbiTA3n.js.gz → dist-BSIakJVz.js.gz} +0 -0
- /package/dist/web/assets/{dist-D7mSb2HC.js → dist-BoIxGd-y.js} +0 -0
- /package/dist/web/assets/{dist-D7mSb2HC.js.br → dist-BoIxGd-y.js.br} +0 -0
- /package/dist/web/assets/{dist-D7mSb2HC.js.gz → dist-BoIxGd-y.js.gz} +0 -0
- /package/dist/web/assets/{docker-BX5p1mZ3.js → docker-DevchDxK.js} +0 -0
- /package/dist/web/assets/{docker-BX5p1mZ3.js.br → docker-DevchDxK.js.br} +0 -0
- /package/dist/web/assets/{docker-BX5p1mZ3.js.gz → docker-DevchDxK.js.gz} +0 -0
- /package/dist/web/assets/{dotenv-D8xdMiRo.js → dotenv-DCvtdaGJ.js} +0 -0
- /package/dist/web/assets/{dotenv-D8xdMiRo.js.br → dotenv-DCvtdaGJ.js.br} +0 -0
- /package/dist/web/assets/{dotenv-D8xdMiRo.js.gz → dotenv-DCvtdaGJ.js.gz} +0 -0
- /package/dist/web/assets/{dracula-BNPKmiGE.js → dracula-8U6Vkk3l.js} +0 -0
- /package/dist/web/assets/{dracula-BNPKmiGE.js.br → dracula-8U6Vkk3l.js.br} +0 -0
- /package/dist/web/assets/{dracula-BNPKmiGE.js.gz → dracula-8U6Vkk3l.js.gz} +0 -0
- /package/dist/web/assets/{dracula-soft-Bv4lLEFc.js → dracula-soft-Bfeew5Wg.js} +0 -0
- /package/dist/web/assets/{dracula-soft-Bv4lLEFc.js.br → dracula-soft-Bfeew5Wg.js.br} +0 -0
- /package/dist/web/assets/{dracula-soft-Bv4lLEFc.js.gz → dracula-soft-Bfeew5Wg.js.gz} +0 -0
- /package/dist/web/assets/{dream-maker-Yg8FPJu3.js → dream-maker-DDTJVuoy.js} +0 -0
- /package/dist/web/assets/{dream-maker-Yg8FPJu3.js.br → dream-maker-DDTJVuoy.js.br} +0 -0
- /package/dist/web/assets/{dream-maker-Yg8FPJu3.js.gz → dream-maker-DDTJVuoy.js.gz} +0 -0
- /package/dist/web/assets/{editor-font-CBszn6vt.js → editor-font-HIW3wb51.js} +0 -0
- /package/dist/web/assets/{emacs-lisp-kBgNJmB7.js → emacs-lisp-CEHJqI4m.js} +0 -0
- /package/dist/web/assets/{emacs-lisp-kBgNJmB7.js.br → emacs-lisp-CEHJqI4m.js.br} +0 -0
- /package/dist/web/assets/{emacs-lisp-kBgNJmB7.js.gz → emacs-lisp-CEHJqI4m.js.gz} +0 -0
- /package/dist/web/assets/{everforest-dark-7XTfQW4s.js → everforest-dark-CHHLt7cq.js} +0 -0
- /package/dist/web/assets/{everforest-dark-7XTfQW4s.js.br → everforest-dark-CHHLt7cq.js.br} +0 -0
- /package/dist/web/assets/{everforest-dark-7XTfQW4s.js.gz → everforest-dark-CHHLt7cq.js.gz} +0 -0
- /package/dist/web/assets/{everforest-light-CmPZPQmV.js → everforest-light-TcTbK1sM.js} +0 -0
- /package/dist/web/assets/{everforest-light-CmPZPQmV.js.br → everforest-light-TcTbK1sM.js.br} +0 -0
- /package/dist/web/assets/{everforest-light-CmPZPQmV.js.gz → everforest-light-TcTbK1sM.js.gz} +0 -0
- /package/dist/web/assets/{fennel-Dm71IPM6.js → fennel-Bh4vsA1A.js} +0 -0
- /package/dist/web/assets/{fennel-Dm71IPM6.js.br → fennel-Bh4vsA1A.js.br} +0 -0
- /package/dist/web/assets/{fennel-Dm71IPM6.js.gz → fennel-Bh4vsA1A.js.gz} +0 -0
- /package/dist/web/assets/{fish-CIzcfZjZ.js → fish-D0T0fILG.js} +0 -0
- /package/dist/web/assets/{fish-CIzcfZjZ.js.br → fish-D0T0fILG.js.br} +0 -0
- /package/dist/web/assets/{fish-CIzcfZjZ.js.gz → fish-D0T0fILG.js.gz} +0 -0
- /package/dist/web/assets/{fluent-DFSMEphj.js → fluent-CgXDXdyy.js} +0 -0
- /package/dist/web/assets/{fluent-DFSMEphj.js.br → fluent-CgXDXdyy.js.br} +0 -0
- /package/dist/web/assets/{fluent-DFSMEphj.js.gz → fluent-CgXDXdyy.js.gz} +0 -0
- /package/dist/web/assets/{format-bytes-FQmpZ25A.js → format-bytes-DRt-NOUN.js} +0 -0
- /package/dist/web/assets/{format-date-BMtvCeb9.js → format-date-CSHaU2wN.js} +0 -0
- /package/dist/web/assets/{fortran-free-form-xnlj2dLW.js → fortran-free-form-CUg3Xhz4.js} +0 -0
- /package/dist/web/assets/{fortran-free-form-xnlj2dLW.js.br → fortran-free-form-CUg3Xhz4.js.br} +0 -0
- /package/dist/web/assets/{fortran-free-form-xnlj2dLW.js.gz → fortran-free-form-CUg3Xhz4.js.gz} +0 -0
- /package/dist/web/assets/{gdscript-DFnznHD1.js → gdscript-Cx056p_k.js} +0 -0
- /package/dist/web/assets/{gdscript-DFnznHD1.js.br → gdscript-Cx056p_k.js.br} +0 -0
- /package/dist/web/assets/{gdscript-DFnznHD1.js.gz → gdscript-Cx056p_k.js.gz} +0 -0
- /package/dist/web/assets/{gdshader-B9wvgXVU.js → gdshader-Dj1qP4I5.js} +0 -0
- /package/dist/web/assets/{gdshader-B9wvgXVU.js.br → gdshader-Dj1qP4I5.js.br} +0 -0
- /package/dist/web/assets/{gdshader-B9wvgXVU.js.gz → gdshader-Dj1qP4I5.js.gz} +0 -0
- /package/dist/web/assets/{genie-Bz0RXdFf.js → genie-SBt15wn7.js} +0 -0
- /package/dist/web/assets/{genie-Bz0RXdFf.js.br → genie-SBt15wn7.js.br} +0 -0
- /package/dist/web/assets/{genie-Bz0RXdFf.js.gz → genie-SBt15wn7.js.gz} +0 -0
- /package/dist/web/assets/{gherkin-ZD8lWd_U.js → gherkin-bTJiHIrB.js} +0 -0
- /package/dist/web/assets/{gherkin-ZD8lWd_U.js.br → gherkin-bTJiHIrB.js.br} +0 -0
- /package/dist/web/assets/{gherkin-ZD8lWd_U.js.gz → gherkin-bTJiHIrB.js.gz} +0 -0
- /package/dist/web/assets/{github-dark-D8IE4lln.js → github-dark-BOPhyugs.js} +0 -0
- /package/dist/web/assets/{github-dark-D8IE4lln.js.br → github-dark-BOPhyugs.js.br} +0 -0
- /package/dist/web/assets/{github-dark-D8IE4lln.js.gz → github-dark-BOPhyugs.js.gz} +0 -0
- /package/dist/web/assets/{github-dark-default-Bv2-je5j.js → github-dark-default-Cktqe6NF.js} +0 -0
- /package/dist/web/assets/{github-dark-default-Bv2-je5j.js.br → github-dark-default-Cktqe6NF.js.br} +0 -0
- /package/dist/web/assets/{github-dark-default-Bv2-je5j.js.gz → github-dark-default-Cktqe6NF.js.gz} +0 -0
- /package/dist/web/assets/{github-dark-dimmed-Dn2Abfcl.js → github-dark-dimmed-CeWfII_B.js} +0 -0
- /package/dist/web/assets/{github-dark-dimmed-Dn2Abfcl.js.br → github-dark-dimmed-CeWfII_B.js.br} +0 -0
- /package/dist/web/assets/{github-dark-dimmed-Dn2Abfcl.js.gz → github-dark-dimmed-CeWfII_B.js.gz} +0 -0
- /package/dist/web/assets/{github-dark-high-contrast-CPYPXNHn.js → github-dark-high-contrast-CTx8LpdV.js} +0 -0
- /package/dist/web/assets/{github-dark-high-contrast-CPYPXNHn.js.br → github-dark-high-contrast-CTx8LpdV.js.br} +0 -0
- /package/dist/web/assets/{github-dark-high-contrast-CPYPXNHn.js.gz → github-dark-high-contrast-CTx8LpdV.js.gz} +0 -0
- /package/dist/web/assets/{github-light-CVOMBMvb.js → github-light-DVsO5Un1.js} +0 -0
- /package/dist/web/assets/{github-light-CVOMBMvb.js.br → github-light-DVsO5Un1.js.br} +0 -0
- /package/dist/web/assets/{github-light-CVOMBMvb.js.gz → github-light-DVsO5Un1.js.gz} +0 -0
- /package/dist/web/assets/{github-light-default-6Ayk6lJY.js → github-light-default-BiyPxicr.js} +0 -0
- /package/dist/web/assets/{github-light-default-6Ayk6lJY.js.br → github-light-default-BiyPxicr.js.br} +0 -0
- /package/dist/web/assets/{github-light-default-6Ayk6lJY.js.gz → github-light-default-BiyPxicr.js.gz} +0 -0
- /package/dist/web/assets/{github-light-high-contrast-BTGKd6JI.js → github-light-high-contrast-BPlnke0a.js} +0 -0
- /package/dist/web/assets/{github-light-high-contrast-BTGKd6JI.js.br → github-light-high-contrast-BPlnke0a.js.br} +0 -0
- /package/dist/web/assets/{github-light-high-contrast-BTGKd6JI.js.gz → github-light-high-contrast-BPlnke0a.js.gz} +0 -0
- /package/dist/web/assets/{gleam-UeA7_OU8.js → gleam-CWSxvD0C.js} +0 -0
- /package/dist/web/assets/{gleam-UeA7_OU8.js.br → gleam-CWSxvD0C.js.br} +0 -0
- /package/dist/web/assets/{gleam-UeA7_OU8.js.gz → gleam-CWSxvD0C.js.gz} +0 -0
- /package/dist/web/assets/{gn-DrdNDhFj.js → gn-D7NUVJuv.js} +0 -0
- /package/dist/web/assets/{gn-DrdNDhFj.js.br → gn-D7NUVJuv.js.br} +0 -0
- /package/dist/web/assets/{gn-DrdNDhFj.js.gz → gn-D7NUVJuv.js.gz} +0 -0
- /package/dist/web/assets/{gnuplot-D8vxhaGw.js → gnuplot-c5uXmJKc.js} +0 -0
- /package/dist/web/assets/{gnuplot-D8vxhaGw.js.br → gnuplot-c5uXmJKc.js.br} +0 -0
- /package/dist/web/assets/{gnuplot-D8vxhaGw.js.gz → gnuplot-c5uXmJKc.js.gz} +0 -0
- /package/dist/web/assets/{go-atNMhmH3.js → go-CRsHi4Cw.js} +0 -0
- /package/dist/web/assets/{go-atNMhmH3.js.br → go-CRsHi4Cw.js.br} +0 -0
- /package/dist/web/assets/{go-atNMhmH3.js.gz → go-CRsHi4Cw.js.gz} +0 -0
- /package/dist/web/assets/{groovy-CLRzHDW2.js → groovy-DpV0RA5r.js} +0 -0
- /package/dist/web/assets/{groovy-CLRzHDW2.js.br → groovy-DpV0RA5r.js.br} +0 -0
- /package/dist/web/assets/{groovy-CLRzHDW2.js.gz → groovy-DpV0RA5r.js.gz} +0 -0
- /package/dist/web/assets/{gruvbox-dark-hard-CMSNCrAk.js → gruvbox-dark-hard-DD9fguUN.js} +0 -0
- /package/dist/web/assets/{gruvbox-dark-hard-CMSNCrAk.js.br → gruvbox-dark-hard-DD9fguUN.js.br} +0 -0
- /package/dist/web/assets/{gruvbox-dark-hard-CMSNCrAk.js.gz → gruvbox-dark-hard-DD9fguUN.js.gz} +0 -0
- /package/dist/web/assets/{gruvbox-dark-medium-CR5wAM1c.js → gruvbox-dark-medium-BvcwpYJ-.js} +0 -0
- /package/dist/web/assets/{gruvbox-dark-medium-CR5wAM1c.js.br → gruvbox-dark-medium-BvcwpYJ-.js.br} +0 -0
- /package/dist/web/assets/{gruvbox-dark-medium-CR5wAM1c.js.gz → gruvbox-dark-medium-BvcwpYJ-.js.gz} +0 -0
- /package/dist/web/assets/{gruvbox-dark-soft-Ba1gP2O2.js → gruvbox-dark-soft-48dCxX9M.js} +0 -0
- /package/dist/web/assets/{gruvbox-dark-soft-Ba1gP2O2.js.br → gruvbox-dark-soft-48dCxX9M.js.br} +0 -0
- /package/dist/web/assets/{gruvbox-dark-soft-Ba1gP2O2.js.gz → gruvbox-dark-soft-48dCxX9M.js.gz} +0 -0
- /package/dist/web/assets/{gruvbox-light-hard-ChSY383t.js → gruvbox-light-hard-CjJ994Ip.js} +0 -0
- /package/dist/web/assets/{gruvbox-light-hard-ChSY383t.js.br → gruvbox-light-hard-CjJ994Ip.js.br} +0 -0
- /package/dist/web/assets/{gruvbox-light-hard-ChSY383t.js.gz → gruvbox-light-hard-CjJ994Ip.js.gz} +0 -0
- /package/dist/web/assets/{gruvbox-light-medium-DebZzeA2.js → gruvbox-light-medium-DQJQZ_rV.js} +0 -0
- /package/dist/web/assets/{gruvbox-light-medium-DebZzeA2.js.br → gruvbox-light-medium-DQJQZ_rV.js.br} +0 -0
- /package/dist/web/assets/{gruvbox-light-medium-DebZzeA2.js.gz → gruvbox-light-medium-DQJQZ_rV.js.gz} +0 -0
- /package/dist/web/assets/{gruvbox-light-soft-CEWqv8Ew.js → gruvbox-light-soft-AqsC9mKw.js} +0 -0
- /package/dist/web/assets/{gruvbox-light-soft-CEWqv8Ew.js.br → gruvbox-light-soft-AqsC9mKw.js.br} +0 -0
- /package/dist/web/assets/{gruvbox-light-soft-CEWqv8Ew.js.gz → gruvbox-light-soft-AqsC9mKw.js.gz} +0 -0
- /package/dist/web/assets/{haskell-CkgCblz9.js → haskell-B5V7yvmh.js} +0 -0
- /package/dist/web/assets/{haskell-CkgCblz9.js.br → haskell-B5V7yvmh.js.br} +0 -0
- /package/dist/web/assets/{haskell-CkgCblz9.js.gz → haskell-B5V7yvmh.js.gz} +0 -0
- /package/dist/web/assets/{haxe-DwOdNXRl.js → haxe-LWTKfPKr.js} +0 -0
- /package/dist/web/assets/{haxe-DwOdNXRl.js.br → haxe-LWTKfPKr.js.br} +0 -0
- /package/dist/web/assets/{haxe-DwOdNXRl.js.gz → haxe-LWTKfPKr.js.gz} +0 -0
- /package/dist/web/assets/{hcl-DXsxN8nX.js → hcl-QmNZdAtI.js} +0 -0
- /package/dist/web/assets/{hcl-DXsxN8nX.js.br → hcl-QmNZdAtI.js.br} +0 -0
- /package/dist/web/assets/{hcl-DXsxN8nX.js.gz → hcl-QmNZdAtI.js.gz} +0 -0
- /package/dist/web/assets/{hjson-oBOZxrL4.js → hjson-CboJsAzK.js} +0 -0
- /package/dist/web/assets/{hjson-oBOZxrL4.js.br → hjson-CboJsAzK.js.br} +0 -0
- /package/dist/web/assets/{hjson-oBOZxrL4.js.gz → hjson-CboJsAzK.js.gz} +0 -0
- /package/dist/web/assets/{hlsl-VEZxDU3L.js → hlsl-Bd-DO_WL.js} +0 -0
- /package/dist/web/assets/{hlsl-VEZxDU3L.js.br → hlsl-Bd-DO_WL.js.br} +0 -0
- /package/dist/web/assets/{hlsl-VEZxDU3L.js.gz → hlsl-Bd-DO_WL.js.gz} +0 -0
- /package/dist/web/assets/{horizon-C_xHTsMO.js → horizon-CU8Bi_ss.js} +0 -0
- /package/dist/web/assets/{horizon-C_xHTsMO.js.br → horizon-CU8Bi_ss.js.br} +0 -0
- /package/dist/web/assets/{horizon-C_xHTsMO.js.gz → horizon-CU8Bi_ss.js.gz} +0 -0
- /package/dist/web/assets/{horizon-bright-CJd-vMFG.js → horizon-bright-iSQ3_3jP.js} +0 -0
- /package/dist/web/assets/{horizon-bright-CJd-vMFG.js.br → horizon-bright-iSQ3_3jP.js.br} +0 -0
- /package/dist/web/assets/{horizon-bright-CJd-vMFG.js.gz → horizon-bright-iSQ3_3jP.js.gz} +0 -0
- /package/dist/web/assets/{houston-BYOfZpV9.js → houston-CTXv3Puz.js} +0 -0
- /package/dist/web/assets/{houston-BYOfZpV9.js.br → houston-CTXv3Puz.js.br} +0 -0
- /package/dist/web/assets/{houston-BYOfZpV9.js.gz → houston-CTXv3Puz.js.gz} +0 -0
- /package/dist/web/assets/{hy-DiruP4wR.js → hy-Cd4hTidD.js} +0 -0
- /package/dist/web/assets/{hy-DiruP4wR.js.br → hy-Cd4hTidD.js.br} +0 -0
- /package/dist/web/assets/{hy-DiruP4wR.js.gz → hy-Cd4hTidD.js.gz} +0 -0
- /package/dist/web/assets/{image-gallery-B16hO6Ab.js → image-gallery-CIrjkWxw.js} +0 -0
- /package/dist/web/assets/{image-preview-geometry-D4Ihz4UV.js → image-preview-geometry-DYxgeH3D.js} +0 -0
- /package/dist/web/assets/{imba-BBm5cmpQ.js → imba-BipCHEY2.js} +0 -0
- /package/dist/web/assets/{imba-BBm5cmpQ.js.br → imba-BipCHEY2.js.br} +0 -0
- /package/dist/web/assets/{imba-BBm5cmpQ.js.gz → imba-BipCHEY2.js.gz} +0 -0
- /package/dist/web/assets/{ini-DIjchSIH.js → ini-Dd1KkMrB.js} +0 -0
- /package/dist/web/assets/{ini-DIjchSIH.js.br → ini-Dd1KkMrB.js.br} +0 -0
- /package/dist/web/assets/{ini-DIjchSIH.js.gz → ini-Dd1KkMrB.js.gz} +0 -0
- /package/dist/web/assets/{init-Cf64k-PQ.js → init-D-92dhHm.js} +0 -0
- /package/dist/web/assets/{isArrayLikeObject-DoNOpNUH.js → isArrayLikeObject-DwIR3mpY.js} +0 -0
- /package/dist/web/assets/{isArrayLikeObject-DoNOpNUH.js.br → isArrayLikeObject-DwIR3mpY.js.br} +0 -0
- /package/dist/web/assets/{isArrayLikeObject-DoNOpNUH.js.gz → isArrayLikeObject-DwIR3mpY.js.gz} +0 -0
- /package/dist/web/assets/{java-BjdsRxXN.js → java-Dwvg585v.js} +0 -0
- /package/dist/web/assets/{java-BjdsRxXN.js.br → java-Dwvg585v.js.br} +0 -0
- /package/dist/web/assets/{java-BjdsRxXN.js.gz → java-Dwvg585v.js.gz} +0 -0
- /package/dist/web/assets/{javascript-R2SZ_OEC.js → javascript-C5Y3hfxg.js} +0 -0
- /package/dist/web/assets/{javascript-R2SZ_OEC.js.br → javascript-C5Y3hfxg.js.br} +0 -0
- /package/dist/web/assets/{javascript-R2SZ_OEC.js.gz → javascript-C5Y3hfxg.js.gz} +0 -0
- /package/dist/web/assets/{json-CYCJeTwK.js → json--kkpOdlG.js} +0 -0
- /package/dist/web/assets/{json-CYCJeTwK.js.br → json--kkpOdlG.js.br} +0 -0
- /package/dist/web/assets/{json-CYCJeTwK.js.gz → json--kkpOdlG.js.gz} +0 -0
- /package/dist/web/assets/{json5-0Pz845K0.js → json5-mPOwTOsB.js} +0 -0
- /package/dist/web/assets/{json5-0Pz845K0.js.br → json5-mPOwTOsB.js.br} +0 -0
- /package/dist/web/assets/{json5-0Pz845K0.js.gz → json5-mPOwTOsB.js.gz} +0 -0
- /package/dist/web/assets/{jsonc-B0jdT4uM.js → jsonc-Bie0E6D3.js} +0 -0
- /package/dist/web/assets/{jsonc-B0jdT4uM.js.br → jsonc-Bie0E6D3.js.br} +0 -0
- /package/dist/web/assets/{jsonc-B0jdT4uM.js.gz → jsonc-Bie0E6D3.js.gz} +0 -0
- /package/dist/web/assets/{jsonl-CdvFKZtz.js → jsonl-CpqHmtC1.js} +0 -0
- /package/dist/web/assets/{jsonl-CdvFKZtz.js.br → jsonl-CpqHmtC1.js.br} +0 -0
- /package/dist/web/assets/{jsonl-CdvFKZtz.js.gz → jsonl-CpqHmtC1.js.gz} +0 -0
- /package/dist/web/assets/{jsonnet-BYd5ZGqe.js → jsonnet-D21Ms51e.js} +0 -0
- /package/dist/web/assets/{jsonnet-BYd5ZGqe.js.br → jsonnet-D21Ms51e.js.br} +0 -0
- /package/dist/web/assets/{jsonnet-BYd5ZGqe.js.gz → jsonnet-D21Ms51e.js.gz} +0 -0
- /package/dist/web/assets/{jssm-BlBU_IK1.js → jssm-BXnl1nur.js} +0 -0
- /package/dist/web/assets/{jssm-BlBU_IK1.js.br → jssm-BXnl1nur.js.br} +0 -0
- /package/dist/web/assets/{jssm-BlBU_IK1.js.gz → jssm-BXnl1nur.js.gz} +0 -0
- /package/dist/web/assets/{jsx-CsWR7aMm.js → jsx-D4sv2qET.js} +0 -0
- /package/dist/web/assets/{jsx-CsWR7aMm.js.br → jsx-D4sv2qET.js.br} +0 -0
- /package/dist/web/assets/{jsx-CsWR7aMm.js.gz → jsx-D4sv2qET.js.gz} +0 -0
- /package/dist/web/assets/{kanagawa-dragon-C6ogFc3X.js → kanagawa-dragon-DhxR0UjL.js} +0 -0
- /package/dist/web/assets/{kanagawa-dragon-C6ogFc3X.js.br → kanagawa-dragon-DhxR0UjL.js.br} +0 -0
- /package/dist/web/assets/{kanagawa-dragon-C6ogFc3X.js.gz → kanagawa-dragon-DhxR0UjL.js.gz} +0 -0
- /package/dist/web/assets/{kanagawa-lotus-8esZNUbA.js → kanagawa-lotus-fupRg5wp.js} +0 -0
- /package/dist/web/assets/{kanagawa-lotus-8esZNUbA.js.br → kanagawa-lotus-fupRg5wp.js.br} +0 -0
- /package/dist/web/assets/{kanagawa-lotus-8esZNUbA.js.gz → kanagawa-lotus-fupRg5wp.js.gz} +0 -0
- /package/dist/web/assets/{kanagawa-wave-C-yWQ6RD.js → kanagawa-wave-DSWbRS9M.js} +0 -0
- /package/dist/web/assets/{kanagawa-wave-C-yWQ6RD.js.br → kanagawa-wave-DSWbRS9M.js.br} +0 -0
- /package/dist/web/assets/{kanagawa-wave-C-yWQ6RD.js.gz → kanagawa-wave-DSWbRS9M.js.gz} +0 -0
- /package/dist/web/assets/{katex-Cz0KLyXA.js → katex-CDEl5S5u.js} +0 -0
- /package/dist/web/assets/{katex-Cz0KLyXA.js.br → katex-CDEl5S5u.js.br} +0 -0
- /package/dist/web/assets/{katex-Cz0KLyXA.js.gz → katex-CDEl5S5u.js.gz} +0 -0
- /package/dist/web/assets/{kdl-D712OVXR.js → kdl-DirGHqUy.js} +0 -0
- /package/dist/web/assets/{kdl-D712OVXR.js.br → kdl-DirGHqUy.js.br} +0 -0
- /package/dist/web/assets/{kdl-D712OVXR.js.gz → kdl-DirGHqUy.js.gz} +0 -0
- /package/dist/web/assets/{kotlin-BEUa7XzN.js → kotlin-DkhUVMDC.js} +0 -0
- /package/dist/web/assets/{kotlin-BEUa7XzN.js.br → kotlin-DkhUVMDC.js.br} +0 -0
- /package/dist/web/assets/{kotlin-BEUa7XzN.js.gz → kotlin-DkhUVMDC.js.gz} +0 -0
- /package/dist/web/assets/{kusto-n4J6aIey.js → kusto-DU7OpovF.js} +0 -0
- /package/dist/web/assets/{kusto-n4J6aIey.js.br → kusto-DU7OpovF.js.br} +0 -0
- /package/dist/web/assets/{kusto-n4J6aIey.js.gz → kusto-DU7OpovF.js.gz} +0 -0
- /package/dist/web/assets/{laserwave-CddL9sH-.js → laserwave-iLKb1ZCT.js} +0 -0
- /package/dist/web/assets/{laserwave-CddL9sH-.js.br → laserwave-iLKb1ZCT.js.br} +0 -0
- /package/dist/web/assets/{laserwave-CddL9sH-.js.gz → laserwave-iLKb1ZCT.js.gz} +0 -0
- /package/dist/web/assets/{lean-CS8dnaPi.js → lean-Cuvh_QAP.js} +0 -0
- /package/dist/web/assets/{lean-CS8dnaPi.js.br → lean-Cuvh_QAP.js.br} +0 -0
- /package/dist/web/assets/{lean-CS8dnaPi.js.gz → lean-Cuvh_QAP.js.gz} +0 -0
- /package/dist/web/assets/{less-D7VWEXeK.js → less-B5tQZOdI.js} +0 -0
- /package/dist/web/assets/{less-D7VWEXeK.js.br → less-B5tQZOdI.js.br} +0 -0
- /package/dist/web/assets/{less-D7VWEXeK.js.gz → less-B5tQZOdI.js.gz} +0 -0
- /package/dist/web/assets/{libesm-5wREk7JN.js → libesm-o0l6OH-c.js} +0 -0
- /package/dist/web/assets/{libesm-5wREk7JN.js.br → libesm-o0l6OH-c.js.br} +0 -0
- /package/dist/web/assets/{libesm-5wREk7JN.js.gz → libesm-o0l6OH-c.js.gz} +0 -0
- /package/dist/web/assets/{light-plus-DUh-yC9k.js → light-plus-DiHU2KL5.js} +0 -0
- /package/dist/web/assets/{light-plus-DUh-yC9k.js.br → light-plus-DiHU2KL5.js.br} +0 -0
- /package/dist/web/assets/{light-plus-DUh-yC9k.js.gz → light-plus-DiHU2KL5.js.gz} +0 -0
- /package/dist/web/assets/{llvm-P1D8XyMB.js → llvm-sCBTKCKN.js} +0 -0
- /package/dist/web/assets/{llvm-P1D8XyMB.js.br → llvm-sCBTKCKN.js.br} +0 -0
- /package/dist/web/assets/{llvm-P1D8XyMB.js.gz → llvm-sCBTKCKN.js.gz} +0 -0
- /package/dist/web/assets/{log-BGft0RQz.js → log-DtyR34Ie.js} +0 -0
- /package/dist/web/assets/{log-BGft0RQz.js.br → log-DtyR34Ie.js.br} +0 -0
- /package/dist/web/assets/{log-BGft0RQz.js.gz → log-DtyR34Ie.js.gz} +0 -0
- /package/dist/web/assets/{logo-uFZx2JEw.js → logo-CP91aQyG.js} +0 -0
- /package/dist/web/assets/{logo-uFZx2JEw.js.br → logo-CP91aQyG.js.br} +0 -0
- /package/dist/web/assets/{logo-uFZx2JEw.js.gz → logo-CP91aQyG.js.gz} +0 -0
- /package/dist/web/assets/{luau-aDpnpIe3.js → luau-nfGo2ulP.js} +0 -0
- /package/dist/web/assets/{luau-aDpnpIe3.js.br → luau-nfGo2ulP.js.br} +0 -0
- /package/dist/web/assets/{luau-aDpnpIe3.js.gz → luau-nfGo2ulP.js.gz} +0 -0
- /package/dist/web/assets/{make-DwjpJeU5.js → make-XbDn9GHe.js} +0 -0
- /package/dist/web/assets/{make-DwjpJeU5.js.br → make-XbDn9GHe.js.br} +0 -0
- /package/dist/web/assets/{make-DwjpJeU5.js.gz → make-XbDn9GHe.js.gz} +0 -0
- /package/dist/web/assets/{markdown-DC-eWqXi.js → markdown-BB1_3xLr.js} +0 -0
- /package/dist/web/assets/{markdown-DC-eWqXi.js.br → markdown-BB1_3xLr.js.br} +0 -0
- /package/dist/web/assets/{markdown-DC-eWqXi.js.gz → markdown-BB1_3xLr.js.gz} +0 -0
- /package/dist/web/assets/{marked.esm-DDb9MclE.js → marked.esm-CWfigb9x.js} +0 -0
- /package/dist/web/assets/{marked.esm-DDb9MclE.js.br → marked.esm-CWfigb9x.js.br} +0 -0
- /package/dist/web/assets/{marked.esm-DDb9MclE.js.gz → marked.esm-CWfigb9x.js.gz} +0 -0
- /package/dist/web/assets/{material-theme-9BivM5cB.js → material-theme-CIx_sxAy.js} +0 -0
- /package/dist/web/assets/{material-theme-9BivM5cB.js.br → material-theme-CIx_sxAy.js.br} +0 -0
- /package/dist/web/assets/{material-theme-9BivM5cB.js.gz → material-theme-CIx_sxAy.js.gz} +0 -0
- /package/dist/web/assets/{material-theme-darker-Bg7I3WIw.js → material-theme-darker-DsQeueDD.js} +0 -0
- /package/dist/web/assets/{material-theme-darker-Bg7I3WIw.js.br → material-theme-darker-DsQeueDD.js.br} +0 -0
- /package/dist/web/assets/{material-theme-darker-Bg7I3WIw.js.gz → material-theme-darker-DsQeueDD.js.gz} +0 -0
- /package/dist/web/assets/{material-theme-lighter-BoEshpBb.js → material-theme-lighter-x_lMi74j.js} +0 -0
- /package/dist/web/assets/{material-theme-lighter-BoEshpBb.js.br → material-theme-lighter-x_lMi74j.js.br} +0 -0
- /package/dist/web/assets/{material-theme-lighter-BoEshpBb.js.gz → material-theme-lighter-x_lMi74j.js.gz} +0 -0
- /package/dist/web/assets/{material-theme-ocean-CmKcBlBP.js → material-theme-ocean-Bkgh25P8.js} +0 -0
- /package/dist/web/assets/{material-theme-ocean-CmKcBlBP.js.br → material-theme-ocean-Bkgh25P8.js.br} +0 -0
- /package/dist/web/assets/{material-theme-ocean-CmKcBlBP.js.gz → material-theme-ocean-Bkgh25P8.js.gz} +0 -0
- /package/dist/web/assets/{material-theme-palenight-CUyfHC0C.js → material-theme-palenight-CoOjdbti.js} +0 -0
- /package/dist/web/assets/{material-theme-palenight-CUyfHC0C.js.br → material-theme-palenight-CoOjdbti.js.br} +0 -0
- /package/dist/web/assets/{material-theme-palenight-CUyfHC0C.js.gz → material-theme-palenight-CoOjdbti.js.gz} +0 -0
- /package/dist/web/assets/{math-DAaFbMeh.js → math-CpYA_I4u.js} +0 -0
- /package/dist/web/assets/{matlab-CqBfVqYF.js → matlab-D6xZas_8.js} +0 -0
- /package/dist/web/assets/{matlab-CqBfVqYF.js.br → matlab-D6xZas_8.js.br} +0 -0
- /package/dist/web/assets/{matlab-CqBfVqYF.js.gz → matlab-D6xZas_8.js.gz} +0 -0
- /package/dist/web/assets/{mdx-CdC2mVzF.js → mdx-Cl5_YNoz.js} +0 -0
- /package/dist/web/assets/{mdx-CdC2mVzF.js.br → mdx-Cl5_YNoz.js.br} +0 -0
- /package/dist/web/assets/{mdx-CdC2mVzF.js.gz → mdx-Cl5_YNoz.js.gz} +0 -0
- /package/dist/web/assets/{mermaid-B542RnGP.js → mermaid-8Eow4jz_.js} +0 -0
- /package/dist/web/assets/{mermaid-B542RnGP.js.br → mermaid-8Eow4jz_.js.br} +0 -0
- /package/dist/web/assets/{mermaid-B542RnGP.js.gz → mermaid-8Eow4jz_.js.gz} +0 -0
- /package/dist/web/assets/{metric-chart-canvas-D7f-LQ8x.js → metric-chart-canvas-CigHBHid.js} +0 -0
- /package/dist/web/assets/{metric-chart-canvas-D7f-LQ8x.js.br → metric-chart-canvas-CigHBHid.js.br} +0 -0
- /package/dist/web/assets/{metric-chart-canvas-D7f-LQ8x.js.gz → metric-chart-canvas-CigHBHid.js.gz} +0 -0
- /package/dist/web/assets/{min-dark-uGP-9UE_.js → min-dark-D4DhjgRE.js} +0 -0
- /package/dist/web/assets/{min-dark-uGP-9UE_.js.br → min-dark-D4DhjgRE.js.br} +0 -0
- /package/dist/web/assets/{min-dark-uGP-9UE_.js.gz → min-dark-D4DhjgRE.js.gz} +0 -0
- /package/dist/web/assets/{min-light-BkFlXt3G.js → min-light-DzAckd0t.js} +0 -0
- /package/dist/web/assets/{min-light-BkFlXt3G.js.br → min-light-DzAckd0t.js.br} +0 -0
- /package/dist/web/assets/{min-light-BkFlXt3G.js.gz → min-light-DzAckd0t.js.gz} +0 -0
- /package/dist/web/assets/{mipsasm-CkaxcMA-.js → mipsasm-zI_zu0tj.js} +0 -0
- /package/dist/web/assets/{mipsasm-CkaxcMA-.js.br → mipsasm-zI_zu0tj.js.br} +0 -0
- /package/dist/web/assets/{mipsasm-CkaxcMA-.js.gz → mipsasm-zI_zu0tj.js.gz} +0 -0
- /package/dist/web/assets/{mojo-DDh7AQLv.js → mojo-DQnGGPHf.js} +0 -0
- /package/dist/web/assets/{mojo-DDh7AQLv.js.br → mojo-DQnGGPHf.js.br} +0 -0
- /package/dist/web/assets/{mojo-DDh7AQLv.js.gz → mojo-DQnGGPHf.js.gz} +0 -0
- /package/dist/web/assets/{monokai-BA4dkSrE.js → monokai-CrFoD2VD.js} +0 -0
- /package/dist/web/assets/{monokai-BA4dkSrE.js.br → monokai-CrFoD2VD.js.br} +0 -0
- /package/dist/web/assets/{monokai-BA4dkSrE.js.gz → monokai-CrFoD2VD.js.gz} +0 -0
- /package/dist/web/assets/{moonbit-DGxZDax4.js → moonbit-DdphIGs6.js} +0 -0
- /package/dist/web/assets/{moonbit-DGxZDax4.js.br → moonbit-DdphIGs6.js.br} +0 -0
- /package/dist/web/assets/{moonbit-DGxZDax4.js.gz → moonbit-DdphIGs6.js.gz} +0 -0
- /package/dist/web/assets/{move-C1HZaVNc.js → move-BUlkn0xW.js} +0 -0
- /package/dist/web/assets/{move-C1HZaVNc.js.br → move-BUlkn0xW.js.br} +0 -0
- /package/dist/web/assets/{move-C1HZaVNc.js.gz → move-BUlkn0xW.js.gz} +0 -0
- /package/dist/web/assets/{narrat-g4c9qhYS.js → narrat-CbOBdtCn.js} +0 -0
- /package/dist/web/assets/{narrat-g4c9qhYS.js.br → narrat-CbOBdtCn.js.br} +0 -0
- /package/dist/web/assets/{narrat-g4c9qhYS.js.gz → narrat-CbOBdtCn.js.gz} +0 -0
- /package/dist/web/assets/{nextflow-groovy-CisdbLPv.js → nextflow-groovy-CeVLUTuQ.js} +0 -0
- /package/dist/web/assets/{nextflow-groovy-CisdbLPv.js.br → nextflow-groovy-CeVLUTuQ.js.br} +0 -0
- /package/dist/web/assets/{nextflow-groovy-CisdbLPv.js.gz → nextflow-groovy-CeVLUTuQ.js.gz} +0 -0
- /package/dist/web/assets/{night-owl-ds7NNgBg.js → night-owl-Bm4LhUR1.js} +0 -0
- /package/dist/web/assets/{night-owl-ds7NNgBg.js.br → night-owl-Bm4LhUR1.js.br} +0 -0
- /package/dist/web/assets/{night-owl-ds7NNgBg.js.gz → night-owl-Bm4LhUR1.js.gz} +0 -0
- /package/dist/web/assets/{night-owl-light-DurCGAfC.js → night-owl-light-DtcBiMEf.js} +0 -0
- /package/dist/web/assets/{night-owl-light-DurCGAfC.js.br → night-owl-light-DtcBiMEf.js.br} +0 -0
- /package/dist/web/assets/{night-owl-light-DurCGAfC.js.gz → night-owl-light-DtcBiMEf.js.gz} +0 -0
- /package/dist/web/assets/{nix-D7kCv9F9.js → nix-DrdwQ70g.js} +0 -0
- /package/dist/web/assets/{nix-D7kCv9F9.js.br → nix-DrdwQ70g.js.br} +0 -0
- /package/dist/web/assets/{nix-D7kCv9F9.js.gz → nix-DrdwQ70g.js.gz} +0 -0
- /package/dist/web/assets/{nord-C-O3ceAv.js → nord-B0Head1v.js} +0 -0
- /package/dist/web/assets/{nord-C-O3ceAv.js.br → nord-B0Head1v.js.br} +0 -0
- /package/dist/web/assets/{nord-C-O3ceAv.js.gz → nord-B0Head1v.js.gz} +0 -0
- /package/dist/web/assets/{nushell-oUYTGkzu.js → nushell-CmUdltKn.js} +0 -0
- /package/dist/web/assets/{nushell-oUYTGkzu.js.br → nushell-CmUdltKn.js.br} +0 -0
- /package/dist/web/assets/{nushell-oUYTGkzu.js.gz → nushell-CmUdltKn.js.gz} +0 -0
- /package/dist/web/assets/{objective-c-CzqHoRSj.js → objective-c-BGDR33XN.js} +0 -0
- /package/dist/web/assets/{objective-c-CzqHoRSj.js.br → objective-c-BGDR33XN.js.br} +0 -0
- /package/dist/web/assets/{objective-c-CzqHoRSj.js.gz → objective-c-BGDR33XN.js.gz} +0 -0
- /package/dist/web/assets/{objective-cpp-DJ8fgF2d.js → objective-cpp-Buc1Zhd0.js} +0 -0
- /package/dist/web/assets/{objective-cpp-DJ8fgF2d.js.br → objective-cpp-Buc1Zhd0.js.br} +0 -0
- /package/dist/web/assets/{objective-cpp-DJ8fgF2d.js.gz → objective-cpp-Buc1Zhd0.js.gz} +0 -0
- /package/dist/web/assets/{ocaml-B_nWFfqA.js → ocaml-xdzl9rRD.js} +0 -0
- /package/dist/web/assets/{ocaml-B_nWFfqA.js.br → ocaml-xdzl9rRD.js.br} +0 -0
- /package/dist/web/assets/{ocaml-B_nWFfqA.js.gz → ocaml-xdzl9rRD.js.gz} +0 -0
- /package/dist/web/assets/{odin-BUQfWY13.js → odin-DiUFngnd.js} +0 -0
- /package/dist/web/assets/{odin-BUQfWY13.js.br → odin-DiUFngnd.js.br} +0 -0
- /package/dist/web/assets/{odin-BUQfWY13.js.gz → odin-DiUFngnd.js.gz} +0 -0
- /package/dist/web/assets/{one-dark-pro-DJQor_US.js → one-dark-pro-BURxmIp3.js} +0 -0
- /package/dist/web/assets/{one-dark-pro-DJQor_US.js.br → one-dark-pro-BURxmIp3.js.br} +0 -0
- /package/dist/web/assets/{one-dark-pro-DJQor_US.js.gz → one-dark-pro-BURxmIp3.js.gz} +0 -0
- /package/dist/web/assets/{one-light-BMvQ1R6M.js → one-light-BMRMInAj.js} +0 -0
- /package/dist/web/assets/{one-light-BMvQ1R6M.js.br → one-light-BMRMInAj.js.br} +0 -0
- /package/dist/web/assets/{one-light-BMvQ1R6M.js.gz → one-light-BMRMInAj.js.gz} +0 -0
- /package/dist/web/assets/{openscad-DTylcqP8.js → openscad-DAgLA5J3.js} +0 -0
- /package/dist/web/assets/{openscad-DTylcqP8.js.br → openscad-DAgLA5J3.js.br} +0 -0
- /package/dist/web/assets/{openscad-DTylcqP8.js.gz → openscad-DAgLA5J3.js.gz} +0 -0
- /package/dist/web/assets/{pascal-D0N_7LGg.js → pascal-CoDZxcRB.js} +0 -0
- /package/dist/web/assets/{pascal-D0N_7LGg.js.br → pascal-CoDZxcRB.js.br} +0 -0
- /package/dist/web/assets/{pascal-D0N_7LGg.js.gz → pascal-CoDZxcRB.js.gz} +0 -0
- /package/dist/web/assets/{path-LyOWnqX5.js → path-DdeW1k-W.js} +0 -0
- /package/dist/web/assets/{path-LyOWnqX5.js.br → path-DdeW1k-W.js.br} +0 -0
- /package/dist/web/assets/{path-LyOWnqX5.js.gz → path-DdeW1k-W.js.gz} +0 -0
- /package/dist/web/assets/{pkl-HQNdCmJT.js → pkl-DzKM6BuM.js} +0 -0
- /package/dist/web/assets/{pkl-HQNdCmJT.js.br → pkl-DzKM6BuM.js.br} +0 -0
- /package/dist/web/assets/{pkl-HQNdCmJT.js.gz → pkl-DzKM6BuM.js.gz} +0 -0
- /package/dist/web/assets/{plastic-QMrjD10f.js → plastic-vF15LmNS.js} +0 -0
- /package/dist/web/assets/{plastic-QMrjD10f.js.br → plastic-vF15LmNS.js.br} +0 -0
- /package/dist/web/assets/{plastic-QMrjD10f.js.gz → plastic-vF15LmNS.js.gz} +0 -0
- /package/dist/web/assets/{plsql-Ds9EzM4F.js → plsql-C1v07teA.js} +0 -0
- /package/dist/web/assets/{plsql-Ds9EzM4F.js.br → plsql-C1v07teA.js.br} +0 -0
- /package/dist/web/assets/{plsql-Ds9EzM4F.js.gz → plsql-C1v07teA.js.gz} +0 -0
- /package/dist/web/assets/{po-CM8JtETE.js → po-CLLC8BuA.js} +0 -0
- /package/dist/web/assets/{po-CM8JtETE.js.br → po-CLLC8BuA.js.br} +0 -0
- /package/dist/web/assets/{po-CM8JtETE.js.gz → po-CLLC8BuA.js.gz} +0 -0
- /package/dist/web/assets/{poimandres-fat7kglW.js → poimandres-Uq0xysxM.js} +0 -0
- /package/dist/web/assets/{poimandres-fat7kglW.js.br → poimandres-Uq0xysxM.js.br} +0 -0
- /package/dist/web/assets/{poimandres-fat7kglW.js.gz → poimandres-Uq0xysxM.js.gz} +0 -0
- /package/dist/web/assets/{polar-CnOzO2UD.js → polar-2-luY1Pc.js} +0 -0
- /package/dist/web/assets/{polar-CnOzO2UD.js.br → polar-2-luY1Pc.js.br} +0 -0
- /package/dist/web/assets/{polar-CnOzO2UD.js.gz → polar-2-luY1Pc.js.gz} +0 -0
- /package/dist/web/assets/{portal-container-context-NFSuymMu.js → portal-container-context-BXAsDqrB.js} +0 -0
- /package/dist/web/assets/{postcss-BaqfiaQC.js → postcss-lbFhe0rz.js} +0 -0
- /package/dist/web/assets/{postcss-BaqfiaQC.js.br → postcss-lbFhe0rz.js.br} +0 -0
- /package/dist/web/assets/{postcss-BaqfiaQC.js.gz → postcss-lbFhe0rz.js.gz} +0 -0
- /package/dist/web/assets/{powerquery-CtMX6ik_.js → powerquery-RL8O9Wie.js} +0 -0
- /package/dist/web/assets/{powerquery-CtMX6ik_.js.br → powerquery-RL8O9Wie.js.br} +0 -0
- /package/dist/web/assets/{powerquery-CtMX6ik_.js.gz → powerquery-RL8O9Wie.js.gz} +0 -0
- /package/dist/web/assets/{powershell-BaTgHUxS.js → powershell-upFWhb-b.js} +0 -0
- /package/dist/web/assets/{powershell-BaTgHUxS.js.br → powershell-upFWhb-b.js.br} +0 -0
- /package/dist/web/assets/{powershell-BaTgHUxS.js.gz → powershell-upFWhb-b.js.gz} +0 -0
- /package/dist/web/assets/{preload-helper-BEFjQwLd.js → preload-helper-CM8YhcCa.js} +0 -0
- /package/dist/web/assets/{preload-helper-BEFjQwLd.js.br → preload-helper-CM8YhcCa.js.br} +0 -0
- /package/dist/web/assets/{preload-helper-BEFjQwLd.js.gz → preload-helper-CM8YhcCa.js.gz} +0 -0
- /package/dist/web/assets/{prisma-BLaoUK-7.js → prisma-DBtYaWFk.js} +0 -0
- /package/dist/web/assets/{prisma-BLaoUK-7.js.br → prisma-DBtYaWFk.js.br} +0 -0
- /package/dist/web/assets/{prisma-BLaoUK-7.js.gz → prisma-DBtYaWFk.js.gz} +0 -0
- /package/dist/web/assets/{prolog-0I-GhZLt.js → prolog-D8jSMykJ.js} +0 -0
- /package/dist/web/assets/{prolog-0I-GhZLt.js.br → prolog-D8jSMykJ.js.br} +0 -0
- /package/dist/web/assets/{prolog-0I-GhZLt.js.gz → prolog-D8jSMykJ.js.gz} +0 -0
- /package/dist/web/assets/{proto-CHfg51WI.js → proto-BM4eadF7.js} +0 -0
- /package/dist/web/assets/{proto-CHfg51WI.js.br → proto-BM4eadF7.js.br} +0 -0
- /package/dist/web/assets/{proto-CHfg51WI.js.gz → proto-BM4eadF7.js.gz} +0 -0
- /package/dist/web/assets/{puppet-B0WZdEhx.js → puppet-BQDQ3Snu.js} +0 -0
- /package/dist/web/assets/{puppet-B0WZdEhx.js.br → puppet-BQDQ3Snu.js.br} +0 -0
- /package/dist/web/assets/{puppet-B0WZdEhx.js.gz → puppet-BQDQ3Snu.js.gz} +0 -0
- /package/dist/web/assets/{purescript-CrVZ4Uql.js → purescript-Cj2aTX4s.js} +0 -0
- /package/dist/web/assets/{purescript-CrVZ4Uql.js.br → purescript-Cj2aTX4s.js.br} +0 -0
- /package/dist/web/assets/{purescript-CrVZ4Uql.js.gz → purescript-Cj2aTX4s.js.gz} +0 -0
- /package/dist/web/assets/{python-aEpe7ZUF.js → python-BYpqq6u4.js} +0 -0
- /package/dist/web/assets/{python-aEpe7ZUF.js.br → python-BYpqq6u4.js.br} +0 -0
- /package/dist/web/assets/{python-aEpe7ZUF.js.gz → python-BYpqq6u4.js.gz} +0 -0
- /package/dist/web/assets/{qmldir-DxTPc3lc.js → qmldir-4uiTcwAu.js} +0 -0
- /package/dist/web/assets/{qss-D-nPbCGx.js → qss-D5xB-Mqo.js} +0 -0
- /package/dist/web/assets/{qss-D-nPbCGx.js.br → qss-D5xB-Mqo.js.br} +0 -0
- /package/dist/web/assets/{qss-D-nPbCGx.js.gz → qss-D5xB-Mqo.js.gz} +0 -0
- /package/dist/web/assets/{r-BLnTqw3q.js → r-Cepe6IuL.js} +0 -0
- /package/dist/web/assets/{r-BLnTqw3q.js.br → r-Cepe6IuL.js.br} +0 -0
- /package/dist/web/assets/{r-BLnTqw3q.js.gz → r-Cepe6IuL.js.gz} +0 -0
- /package/dist/web/assets/{racket-DNO4210g.js → racket-COKgCFuM.js} +0 -0
- /package/dist/web/assets/{racket-DNO4210g.js.br → racket-COKgCFuM.js.br} +0 -0
- /package/dist/web/assets/{racket-DNO4210g.js.gz → racket-COKgCFuM.js.gz} +0 -0
- /package/dist/web/assets/{raku-iZJO4hxf.js → raku-z14Q9i7K.js} +0 -0
- /package/dist/web/assets/{raku-iZJO4hxf.js.br → raku-z14Q9i7K.js.br} +0 -0
- /package/dist/web/assets/{raku-iZJO4hxf.js.gz → raku-z14Q9i7K.js.gz} +0 -0
- /package/dist/web/assets/{react-CzUPVyyG.js → react-PkBxFcos.js} +0 -0
- /package/dist/web/assets/{red-F3EQNsNx.js → red-ObAvgvQ5.js} +0 -0
- /package/dist/web/assets/{red-F3EQNsNx.js.br → red-ObAvgvQ5.js.br} +0 -0
- /package/dist/web/assets/{red-F3EQNsNx.js.gz → red-ObAvgvQ5.js.gz} +0 -0
- /package/dist/web/assets/{reg-DD_Uwu3t.js → reg-Qv4f0JFA.js} +0 -0
- /package/dist/web/assets/{reg-DD_Uwu3t.js.br → reg-Qv4f0JFA.js.br} +0 -0
- /package/dist/web/assets/{reg-DD_Uwu3t.js.gz → reg-Qv4f0JFA.js.gz} +0 -0
- /package/dist/web/assets/{regexp-D3RlqUxN.js → regexp-B2qGjhef.js} +0 -0
- /package/dist/web/assets/{regexp-D3RlqUxN.js.br → regexp-B2qGjhef.js.br} +0 -0
- /package/dist/web/assets/{regexp-D3RlqUxN.js.gz → regexp-B2qGjhef.js.gz} +0 -0
- /package/dist/web/assets/{rel-DM5GSHUR.js → rel-cWOyTUwd.js} +0 -0
- /package/dist/web/assets/{rel-DM5GSHUR.js.br → rel-cWOyTUwd.js.br} +0 -0
- /package/dist/web/assets/{rel-DM5GSHUR.js.gz → rel-cWOyTUwd.js.gz} +0 -0
- /package/dist/web/assets/{resolve-theme-STMsK2vc.js → resolve-theme-mnfVcSjJ.js} +0 -0
- /package/dist/web/assets/{resolve-theme-STMsK2vc.js.br → resolve-theme-mnfVcSjJ.js.br} +0 -0
- /package/dist/web/assets/{resolve-theme-STMsK2vc.js.gz → resolve-theme-mnfVcSjJ.js.gz} +0 -0
- /package/dist/web/assets/{riscv-C_jO4gJw.js → riscv-BZDwx-lv.js} +0 -0
- /package/dist/web/assets/{riscv-C_jO4gJw.js.br → riscv-BZDwx-lv.js.br} +0 -0
- /package/dist/web/assets/{riscv-C_jO4gJw.js.gz → riscv-BZDwx-lv.js.gz} +0 -0
- /package/dist/web/assets/{ron--r6_MG5U.js → ron-BpjosPS0.js} +0 -0
- /package/dist/web/assets/{ron--r6_MG5U.js.br → ron-BpjosPS0.js.br} +0 -0
- /package/dist/web/assets/{ron--r6_MG5U.js.gz → ron-BpjosPS0.js.gz} +0 -0
- /package/dist/web/assets/{rose-pine-NjvlliYf.js → rose-pine-DhxfJWcm.js} +0 -0
- /package/dist/web/assets/{rose-pine-NjvlliYf.js.br → rose-pine-DhxfJWcm.js.br} +0 -0
- /package/dist/web/assets/{rose-pine-NjvlliYf.js.gz → rose-pine-DhxfJWcm.js.gz} +0 -0
- /package/dist/web/assets/{rose-pine-dawn-DnsL01oA.js → rose-pine-dawn-BbGt9Wy_.js} +0 -0
- /package/dist/web/assets/{rose-pine-dawn-DnsL01oA.js.br → rose-pine-dawn-BbGt9Wy_.js.br} +0 -0
- /package/dist/web/assets/{rose-pine-dawn-DnsL01oA.js.gz → rose-pine-dawn-BbGt9Wy_.js.gz} +0 -0
- /package/dist/web/assets/{rose-pine-moon-DQTuCjVy.js → rose-pine-moon-dj4Zxgik.js} +0 -0
- /package/dist/web/assets/{rose-pine-moon-DQTuCjVy.js.br → rose-pine-moon-dj4Zxgik.js.br} +0 -0
- /package/dist/web/assets/{rose-pine-moon-DQTuCjVy.js.gz → rose-pine-moon-dj4Zxgik.js.gz} +0 -0
- /package/dist/web/assets/{rosmsg-BQrgxzms.js → rosmsg-EciOaHo2.js} +0 -0
- /package/dist/web/assets/{rosmsg-BQrgxzms.js.br → rosmsg-EciOaHo2.js.br} +0 -0
- /package/dist/web/assets/{rosmsg-BQrgxzms.js.gz → rosmsg-EciOaHo2.js.gz} +0 -0
- /package/dist/web/assets/{rough.esm-CSLcW3u5.js → rough.esm-HBESlUxy.js} +0 -0
- /package/dist/web/assets/{rough.esm-CSLcW3u5.js.br → rough.esm-HBESlUxy.js.br} +0 -0
- /package/dist/web/assets/{rough.esm-CSLcW3u5.js.gz → rough.esm-HBESlUxy.js.gz} +0 -0
- /package/dist/web/assets/{rust-CP39BBh-.js → rust-C_eH59O_.js} +0 -0
- /package/dist/web/assets/{rust-CP39BBh-.js.br → rust-C_eH59O_.js.br} +0 -0
- /package/dist/web/assets/{rust-CP39BBh-.js.gz → rust-C_eH59O_.js.gz} +0 -0
- /package/dist/web/assets/{sass-CMiN16ff.js → sass-Dos3R5lL.js} +0 -0
- /package/dist/web/assets/{sass-CMiN16ff.js.br → sass-Dos3R5lL.js.br} +0 -0
- /package/dist/web/assets/{sass-CMiN16ff.js.gz → sass-Dos3R5lL.js.gz} +0 -0
- /package/dist/web/assets/{scala-jm4Hro87.js → scala-8lVKsTvf.js} +0 -0
- /package/dist/web/assets/{scala-jm4Hro87.js.br → scala-8lVKsTvf.js.br} +0 -0
- /package/dist/web/assets/{scala-jm4Hro87.js.gz → scala-8lVKsTvf.js.gz} +0 -0
- /package/dist/web/assets/{scheme-Ct_BnC2r.js → scheme-Bd3VdaZj.js} +0 -0
- /package/dist/web/assets/{scheme-Ct_BnC2r.js.br → scheme-Bd3VdaZj.js.br} +0 -0
- /package/dist/web/assets/{scheme-Ct_BnC2r.js.gz → scheme-Bd3VdaZj.js.gz} +0 -0
- /package/dist/web/assets/{sdbl-CnOjqCoH.js → sdbl-C4Yrjlgh.js} +0 -0
- /package/dist/web/assets/{sdbl-CnOjqCoH.js.br → sdbl-C4Yrjlgh.js.br} +0 -0
- /package/dist/web/assets/{sdbl-CnOjqCoH.js.gz → sdbl-C4Yrjlgh.js.gz} +0 -0
- /package/dist/web/assets/{shellscript-C6sdrDvR.js → shellscript-BSi71kYk.js} +0 -0
- /package/dist/web/assets/{shellscript-C6sdrDvR.js.br → shellscript-BSi71kYk.js.br} +0 -0
- /package/dist/web/assets/{shellscript-C6sdrDvR.js.gz → shellscript-BSi71kYk.js.gz} +0 -0
- /package/dist/web/assets/{slack-dark-BOdgeH19.js → slack-dark-aL6vlxZs.js} +0 -0
- /package/dist/web/assets/{slack-dark-BOdgeH19.js.br → slack-dark-aL6vlxZs.js.br} +0 -0
- /package/dist/web/assets/{slack-dark-BOdgeH19.js.gz → slack-dark-aL6vlxZs.js.gz} +0 -0
- /package/dist/web/assets/{slack-ochin-DBMQIw0j.js → slack-ochin-BKt1E7sL.js} +0 -0
- /package/dist/web/assets/{slack-ochin-DBMQIw0j.js.br → slack-ochin-BKt1E7sL.js.br} +0 -0
- /package/dist/web/assets/{slack-ochin-DBMQIw0j.js.gz → slack-ochin-BKt1E7sL.js.gz} +0 -0
- /package/dist/web/assets/{smalltalk-BMQqYubg.js → smalltalk-D6qVBL1U.js} +0 -0
- /package/dist/web/assets/{smalltalk-BMQqYubg.js.br → smalltalk-D6qVBL1U.js.br} +0 -0
- /package/dist/web/assets/{smalltalk-BMQqYubg.js.gz → smalltalk-D6qVBL1U.js.gz} +0 -0
- /package/dist/web/assets/{snazzy-light-DwnLbrVG.js → snazzy-light-BrWerT0t.js} +0 -0
- /package/dist/web/assets/{snazzy-light-DwnLbrVG.js.br → snazzy-light-BrWerT0t.js.br} +0 -0
- /package/dist/web/assets/{snazzy-light-DwnLbrVG.js.gz → snazzy-light-BrWerT0t.js.gz} +0 -0
- /package/dist/web/assets/{solarized-dark-DXJnupYd.js → solarized-dark-CzxTJgVQ.js} +0 -0
- /package/dist/web/assets/{solarized-dark-DXJnupYd.js.br → solarized-dark-CzxTJgVQ.js.br} +0 -0
- /package/dist/web/assets/{solarized-dark-DXJnupYd.js.gz → solarized-dark-CzxTJgVQ.js.gz} +0 -0
- /package/dist/web/assets/{solarized-light-DqhyrtI4.js → solarized-light-BecaDAnG.js} +0 -0
- /package/dist/web/assets/{solarized-light-DqhyrtI4.js.br → solarized-light-BecaDAnG.js.br} +0 -0
- /package/dist/web/assets/{solarized-light-DqhyrtI4.js.gz → solarized-light-BecaDAnG.js.gz} +0 -0
- /package/dist/web/assets/{solidity-BM0p0sku.js → solidity-C9t7pZ84.js} +0 -0
- /package/dist/web/assets/{solidity-BM0p0sku.js.br → solidity-C9t7pZ84.js.br} +0 -0
- /package/dist/web/assets/{solidity-BM0p0sku.js.gz → solidity-C9t7pZ84.js.gz} +0 -0
- /package/dist/web/assets/{splunk-Cq6_jbaY.js → splunk-CtxfFKtF.js} +0 -0
- /package/dist/web/assets/{splunk-Cq6_jbaY.js.br → splunk-CtxfFKtF.js.br} +0 -0
- /package/dist/web/assets/{splunk-Cq6_jbaY.js.gz → splunk-CtxfFKtF.js.gz} +0 -0
- /package/dist/web/assets/{sql-CPfIb_cO.js → sql-CCsqbgCh.js} +0 -0
- /package/dist/web/assets/{sql-CPfIb_cO.js.br → sql-CCsqbgCh.js.br} +0 -0
- /package/dist/web/assets/{sql-CPfIb_cO.js.gz → sql-CCsqbgCh.js.gz} +0 -0
- /package/dist/web/assets/{src-C7A68uNq.js → src-BMgF6h1r.js} +0 -0
- /package/dist/web/assets/{src-C7A68uNq.js.br → src-BMgF6h1r.js.br} +0 -0
- /package/dist/web/assets/{src-C7A68uNq.js.gz → src-BMgF6h1r.js.gz} +0 -0
- /package/dist/web/assets/{ssh-config-GRgzMVtG.js → ssh-config-3Fr37ACC.js} +0 -0
- /package/dist/web/assets/{ssh-config-GRgzMVtG.js.br → ssh-config-3Fr37ACC.js.br} +0 -0
- /package/dist/web/assets/{ssh-config-GRgzMVtG.js.gz → ssh-config-3Fr37ACC.js.gz} +0 -0
- /package/dist/web/assets/{stylus-DNs7ubf9.js → stylus-BP4mE1sO.js} +0 -0
- /package/dist/web/assets/{stylus-DNs7ubf9.js.br → stylus-BP4mE1sO.js.br} +0 -0
- /package/dist/web/assets/{stylus-DNs7ubf9.js.gz → stylus-BP4mE1sO.js.gz} +0 -0
- /package/dist/web/assets/{swift-BQV34vng.js → swift-0uqTFouD.js} +0 -0
- /package/dist/web/assets/{swift-BQV34vng.js.br → swift-0uqTFouD.js.br} +0 -0
- /package/dist/web/assets/{swift-BQV34vng.js.gz → swift-0uqTFouD.js.gz} +0 -0
- /package/dist/web/assets/{synthwave-84-CypcdXbA.js → synthwave-84-DQaNM3DI.js} +0 -0
- /package/dist/web/assets/{synthwave-84-CypcdXbA.js.br → synthwave-84-DQaNM3DI.js.br} +0 -0
- /package/dist/web/assets/{synthwave-84-CypcdXbA.js.gz → synthwave-84-DQaNM3DI.js.gz} +0 -0
- /package/dist/web/assets/{system-verilog-DaLPjQ4v.js → system-verilog-DUIVrZHZ.js} +0 -0
- /package/dist/web/assets/{system-verilog-DaLPjQ4v.js.br → system-verilog-DUIVrZHZ.js.br} +0 -0
- /package/dist/web/assets/{system-verilog-DaLPjQ4v.js.gz → system-verilog-DUIVrZHZ.js.gz} +0 -0
- /package/dist/web/assets/{systemd-CXHFtmNc.js → systemd-CtNo_WIh.js} +0 -0
- /package/dist/web/assets/{systemd-CXHFtmNc.js.br → systemd-CtNo_WIh.js.br} +0 -0
- /package/dist/web/assets/{systemd-CXHFtmNc.js.gz → systemd-CtNo_WIh.js.gz} +0 -0
- /package/dist/web/assets/{talonscript-DI9nO5jX.js → talonscript-B0HXaCVT.js} +0 -0
- /package/dist/web/assets/{talonscript-DI9nO5jX.js.br → talonscript-B0HXaCVT.js.br} +0 -0
- /package/dist/web/assets/{talonscript-DI9nO5jX.js.gz → talonscript-B0HXaCVT.js.gz} +0 -0
- /package/dist/web/assets/{tasl-BAQyAl0c.js → tasl-Cb7RAl11.js} +0 -0
- /package/dist/web/assets/{tasl-BAQyAl0c.js.br → tasl-Cb7RAl11.js.br} +0 -0
- /package/dist/web/assets/{tasl-BAQyAl0c.js.gz → tasl-Cb7RAl11.js.gz} +0 -0
- /package/dist/web/assets/{tcl-BP_ozI58.js → tcl-B79aC6l5.js} +0 -0
- /package/dist/web/assets/{tcl-BP_ozI58.js.br → tcl-B79aC6l5.js.br} +0 -0
- /package/dist/web/assets/{tcl-BP_ozI58.js.gz → tcl-B79aC6l5.js.gz} +0 -0
- /package/dist/web/assets/{terraform-NrndR0yZ.js → terraform-75jJDjpW.js} +0 -0
- /package/dist/web/assets/{terraform-NrndR0yZ.js.br → terraform-75jJDjpW.js.br} +0 -0
- /package/dist/web/assets/{terraform-NrndR0yZ.js.gz → terraform-75jJDjpW.js.gz} +0 -0
- /package/dist/web/assets/{tokyo-night-CbUQlN8D.js → tokyo-night-Cz9Uh9qb.js} +0 -0
- /package/dist/web/assets/{tokyo-night-CbUQlN8D.js.br → tokyo-night-Cz9Uh9qb.js.br} +0 -0
- /package/dist/web/assets/{tokyo-night-CbUQlN8D.js.gz → tokyo-night-Cz9Uh9qb.js.gz} +0 -0
- /package/dist/web/assets/{toml-BM_zrMLj.js → toml-CD6y9A-z.js} +0 -0
- /package/dist/web/assets/{toml-BM_zrMLj.js.br → toml-CD6y9A-z.js.br} +0 -0
- /package/dist/web/assets/{toml-BM_zrMLj.js.gz → toml-CD6y9A-z.js.gz} +0 -0
- /package/dist/web/assets/{tsv-CfyllNPO.js → tsv-CXJMbBrb.js} +0 -0
- /package/dist/web/assets/{tsx-BROcpVjE.js → tsx-BWhuDCm8.js} +0 -0
- /package/dist/web/assets/{tsx-BROcpVjE.js.br → tsx-BWhuDCm8.js.br} +0 -0
- /package/dist/web/assets/{tsx-BROcpVjE.js.gz → tsx-BWhuDCm8.js.gz} +0 -0
- /package/dist/web/assets/{turtle-CHmyeS9k.js → turtle-DWH-Rjse.js} +0 -0
- /package/dist/web/assets/{turtle-CHmyeS9k.js.br → turtle-DWH-Rjse.js.br} +0 -0
- /package/dist/web/assets/{turtle-CHmyeS9k.js.gz → turtle-DWH-Rjse.js.gz} +0 -0
- /package/dist/web/assets/{typescript-BVwspRg8.js → typescript-BcravxO_.js} +0 -0
- /package/dist/web/assets/{typescript-BVwspRg8.js.br → typescript-BcravxO_.js.br} +0 -0
- /package/dist/web/assets/{typescript-BVwspRg8.js.gz → typescript-BcravxO_.js.gz} +0 -0
- /package/dist/web/assets/{typespec-DXRppCgc.js → typespec-B0wvVykx.js} +0 -0
- /package/dist/web/assets/{typespec-DXRppCgc.js.br → typespec-B0wvVykx.js.br} +0 -0
- /package/dist/web/assets/{typespec-DXRppCgc.js.gz → typespec-B0wvVykx.js.gz} +0 -0
- /package/dist/web/assets/{typst-L5uwArOj.js → typst-DWG2c48-.js} +0 -0
- /package/dist/web/assets/{typst-L5uwArOj.js.br → typst-DWG2c48-.js.br} +0 -0
- /package/dist/web/assets/{typst-L5uwArOj.js.gz → typst-DWG2c48-.js.gz} +0 -0
- /package/dist/web/assets/{use-h264-canvas-decoder-BfO9QrlH.js → use-h264-canvas-decoder-JIlkOcWX.js} +0 -0
- /package/dist/web/assets/{use-h264-canvas-decoder-BfO9QrlH.js.br → use-h264-canvas-decoder-JIlkOcWX.js.br} +0 -0
- /package/dist/web/assets/{use-h264-canvas-decoder-BfO9QrlH.js.gz → use-h264-canvas-decoder-JIlkOcWX.js.gz} +0 -0
- /package/dist/web/assets/{use-is-mobile-BClDZJP5.js → use-is-mobile-BXHbkfs9.js} +0 -0
- /package/dist/web/assets/{use-visual-viewport-BGpcMnIx.js → use-visual-viewport-CHm9umK0.js} +0 -0
- /package/dist/web/assets/{utils-btZ8C8-R.js → utils-Bslrbb-G.js} +0 -0
- /package/dist/web/assets/{utils-btZ8C8-R.js.br → utils-Bslrbb-G.js.br} +0 -0
- /package/dist/web/assets/{utils-btZ8C8-R.js.gz → utils-Bslrbb-G.js.gz} +0 -0
- /package/dist/web/assets/{v-Bz99d5uk.js → v-Ch6E4Egd.js} +0 -0
- /package/dist/web/assets/{v-Bz99d5uk.js.br → v-Ch6E4Egd.js.br} +0 -0
- /package/dist/web/assets/{v-Bz99d5uk.js.gz → v-Ch6E4Egd.js.gz} +0 -0
- /package/dist/web/assets/{vala-B-CtBLX1.js → vala-CGVKwbPx.js} +0 -0
- /package/dist/web/assets/{vala-B-CtBLX1.js.br → vala-CGVKwbPx.js.br} +0 -0
- /package/dist/web/assets/{vala-B-CtBLX1.js.gz → vala-CGVKwbPx.js.gz} +0 -0
- /package/dist/web/assets/{vb-DHqiz9Cp.js → vb-BIEbSxyT.js} +0 -0
- /package/dist/web/assets/{vb-DHqiz9Cp.js.br → vb-BIEbSxyT.js.br} +0 -0
- /package/dist/web/assets/{vb-DHqiz9Cp.js.gz → vb-BIEbSxyT.js.gz} +0 -0
- /package/dist/web/assets/{vendor-xterm-CfasyE0m.js → vendor-xterm-DCbcQFHk.js} +0 -0
- /package/dist/web/assets/{vendor-xterm-CfasyE0m.js.br → vendor-xterm-DCbcQFHk.js.br} +0 -0
- /package/dist/web/assets/{vendor-xterm-CfasyE0m.js.gz → vendor-xterm-DCbcQFHk.js.gz} +0 -0
- /package/dist/web/assets/{verilog-DbTkSkM7.js → verilog-A-3pYPad.js} +0 -0
- /package/dist/web/assets/{verilog-DbTkSkM7.js.br → verilog-A-3pYPad.js.br} +0 -0
- /package/dist/web/assets/{verilog-DbTkSkM7.js.gz → verilog-A-3pYPad.js.gz} +0 -0
- /package/dist/web/assets/{vesper-2aVei4Le.js → vesper-CK1naZAV.js} +0 -0
- /package/dist/web/assets/{vesper-2aVei4Le.js.br → vesper-CK1naZAV.js.br} +0 -0
- /package/dist/web/assets/{vesper-2aVei4Le.js.gz → vesper-CK1naZAV.js.gz} +0 -0
- /package/dist/web/assets/{vhdl-BJJSCnQQ.js → vhdl-CVawmgMg.js} +0 -0
- /package/dist/web/assets/{vhdl-BJJSCnQQ.js.br → vhdl-CVawmgMg.js.br} +0 -0
- /package/dist/web/assets/{vhdl-BJJSCnQQ.js.gz → vhdl-CVawmgMg.js.gz} +0 -0
- /package/dist/web/assets/{viml-qxSvRN8n.js → viml-CiWjaqBY.js} +0 -0
- /package/dist/web/assets/{viml-qxSvRN8n.js.br → viml-CiWjaqBY.js.br} +0 -0
- /package/dist/web/assets/{viml-qxSvRN8n.js.gz → viml-CiWjaqBY.js.gz} +0 -0
- /package/dist/web/assets/{vitesse-black-CjR1y0Bv.js → vitesse-black-PYXW4-BO.js} +0 -0
- /package/dist/web/assets/{vitesse-black-CjR1y0Bv.js.br → vitesse-black-PYXW4-BO.js.br} +0 -0
- /package/dist/web/assets/{vitesse-black-CjR1y0Bv.js.gz → vitesse-black-PYXW4-BO.js.gz} +0 -0
- /package/dist/web/assets/{vitesse-dark-jrcdsqkn.js → vitesse-dark-BU5s4AuG.js} +0 -0
- /package/dist/web/assets/{vitesse-dark-jrcdsqkn.js.br → vitesse-dark-BU5s4AuG.js.br} +0 -0
- /package/dist/web/assets/{vitesse-dark-jrcdsqkn.js.gz → vitesse-dark-BU5s4AuG.js.gz} +0 -0
- /package/dist/web/assets/{vitesse-light-DkC_qU0k.js → vitesse-light-DgkIT-N7.js} +0 -0
- /package/dist/web/assets/{vitesse-light-DkC_qU0k.js.br → vitesse-light-DgkIT-N7.js.br} +0 -0
- /package/dist/web/assets/{vitesse-light-DkC_qU0k.js.gz → vitesse-light-DgkIT-N7.js.gz} +0 -0
- /package/dist/web/assets/{vyper-WAhkfwIX.js → vyper-D8cRDPp3.js} +0 -0
- /package/dist/web/assets/{vyper-WAhkfwIX.js.br → vyper-D8cRDPp3.js.br} +0 -0
- /package/dist/web/assets/{vyper-WAhkfwIX.js.gz → vyper-D8cRDPp3.js.gz} +0 -0
- /package/dist/web/assets/{wasm-BYGI5YYa.js → wasm-Bu8IyVr8.js} +0 -0
- /package/dist/web/assets/{wasm-BYGI5YYa.js.br → wasm-Bu8IyVr8.js.br} +0 -0
- /package/dist/web/assets/{wasm-BYGI5YYa.js.gz → wasm-Bu8IyVr8.js.gz} +0 -0
- /package/dist/web/assets/{wasm-Miuao4O0.js → wasm-ClFJgzmT.js} +0 -0
- /package/dist/web/assets/{wasm-Miuao4O0.js.br → wasm-ClFJgzmT.js.br} +0 -0
- /package/dist/web/assets/{wasm-Miuao4O0.js.gz → wasm-ClFJgzmT.js.gz} +0 -0
- /package/dist/web/assets/{wenyan-Dd5qjF8u.js → wenyan-B8plxIr8.js} +0 -0
- /package/dist/web/assets/{wenyan-Dd5qjF8u.js.br → wenyan-B8plxIr8.js.br} +0 -0
- /package/dist/web/assets/{wenyan-Dd5qjF8u.js.gz → wenyan-B8plxIr8.js.gz} +0 -0
- /package/dist/web/assets/{wgsl-C3T5a0UO.js → wgsl-CVujtm3V.js} +0 -0
- /package/dist/web/assets/{wgsl-C3T5a0UO.js.br → wgsl-CVujtm3V.js.br} +0 -0
- /package/dist/web/assets/{wgsl-C3T5a0UO.js.gz → wgsl-CVujtm3V.js.gz} +0 -0
- /package/dist/web/assets/{wikitext-CvCJjxSa.js → wikitext-CmcG9B69.js} +0 -0
- /package/dist/web/assets/{wikitext-CvCJjxSa.js.br → wikitext-CmcG9B69.js.br} +0 -0
- /package/dist/web/assets/{wikitext-CvCJjxSa.js.gz → wikitext-CmcG9B69.js.gz} +0 -0
- /package/dist/web/assets/{wit-DybvG9BU.js → wit--gl2Jium.js} +0 -0
- /package/dist/web/assets/{wit-DybvG9BU.js.br → wit--gl2Jium.js.br} +0 -0
- /package/dist/web/assets/{wit-DybvG9BU.js.gz → wit--gl2Jium.js.gz} +0 -0
- /package/dist/web/assets/{wolfram-CdhnrpZ7.js → wolfram-6T_1D-NS.js} +0 -0
- /package/dist/web/assets/{wolfram-CdhnrpZ7.js.br → wolfram-6T_1D-NS.js.br} +0 -0
- /package/dist/web/assets/{wolfram-CdhnrpZ7.js.gz → wolfram-6T_1D-NS.js.gz} +0 -0
- /package/dist/web/assets/{yaml-B0HIje0z.js → yaml-CVFKoPnL.js} +0 -0
- /package/dist/web/assets/{yaml-B0HIje0z.js.br → yaml-CVFKoPnL.js.br} +0 -0
- /package/dist/web/assets/{yaml-B0HIje0z.js.gz → yaml-CVFKoPnL.js.gz} +0 -0
- /package/dist/web/assets/{zenscript-CcLSNTvD.js → zenscript-CoT4yNdA.js} +0 -0
- /package/dist/web/assets/{zenscript-CcLSNTvD.js.br → zenscript-CoT4yNdA.js.br} +0 -0
- /package/dist/web/assets/{zenscript-CcLSNTvD.js.gz → zenscript-CoT4yNdA.js.gz} +0 -0
- /package/dist/web/assets/{zig-dAelYAUr.js → zig-BWs2Qo3G.js} +0 -0
- /package/dist/web/assets/{zig-dAelYAUr.js.br → zig-BWs2Qo3G.js.br} +0 -0
- /package/dist/web/assets/{zig-dAelYAUr.js.gz → zig-BWs2Qo3G.js.gz} +0 -0
|
@@ -1,707 +1,641 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The Git Graph panel is one HTML string: a stylesheet and a script that no
|
|
3
|
+
* type checker or linter ever sees as code. Most of what can go wrong in it is
|
|
4
|
+
* silent — a renamed id the script no longer finds, an icon that renders as
|
|
5
|
+
* nothing, two numbers for one breakpoint that drift apart — so these tests
|
|
6
|
+
* read the shipped document and hold the pieces that have to agree together.
|
|
7
|
+
*/
|
|
1
8
|
import { describe, it, expect } from "bun:test";
|
|
2
9
|
import { getWebviewHtml } from "./webview-html.ts";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
10
|
+
import { WEBVIEW_ICONS } from "./webview-icons.generated.ts";
|
|
11
|
+
import { DEFAULT_SETTINGS } from "./types.ts";
|
|
12
|
+
|
|
13
|
+
const html = getWebviewHtml();
|
|
14
|
+
const css = html.slice(html.indexOf("<style>"), html.indexOf("</style>"));
|
|
15
|
+
/*
|
|
16
|
+
* The script as shipped. Bun writes every non-ASCII character of a template
|
|
17
|
+
* literal as a \uXXXX escape, and under String.raw that escape is what lands in
|
|
18
|
+
* the text — the same string at run time, a different one to search — so the
|
|
19
|
+
* expectations below match on ASCII only.
|
|
20
|
+
*/
|
|
21
|
+
const script = html.slice(html.lastIndexOf("<script>") + "<script>".length, html.lastIndexOf("</script>"));
|
|
22
|
+
|
|
23
|
+
/** The braced block that starts at `opening`, opening included. Throws when it is gone. */
|
|
24
|
+
function blockAt(source: string, opening: string, from = 0): string {
|
|
25
|
+
const start = source.indexOf(opening, from);
|
|
26
|
+
if (start === -1) throw new Error(`\`${opening}\` is not in the source`);
|
|
27
|
+
let depth = 0;
|
|
28
|
+
for (let i = source.indexOf("{", start); i < source.length; i++) {
|
|
29
|
+
if (source[i] === "{") depth++;
|
|
30
|
+
else if (source[i] === "}" && --depth === 0) return source.slice(start, i + 1);
|
|
31
|
+
}
|
|
32
|
+
throw new Error(`unbalanced braces after \`${opening}\``);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/** One function of the shipped script, as source. */
|
|
36
|
+
const fn = (name: string): string => blockAt(script, `function ${name}(`);
|
|
37
|
+
/** One top-level CSS rule, by its exact selector. */
|
|
38
|
+
const rule = (selector: string): string => blockAt(css, `\n${selector} {`);
|
|
39
|
+
/** A media or container block, by its exact condition. */
|
|
40
|
+
const media = (condition: string): string => blockAt(css, `${condition} {`);
|
|
41
|
+
|
|
42
|
+
describe("the document", () => {
|
|
43
|
+
it("carries its stylesheet and its one script inline", () => {
|
|
44
|
+
expect(html.startsWith("<!DOCTYPE html>")).toBe(true);
|
|
45
|
+
expect(html).toContain('<meta charset="utf-8">');
|
|
46
|
+
expect(html).toContain('<meta name="viewport" content="width=device-width, initial-scale=1">');
|
|
47
|
+
expect(html.split("<script").length - 1).toBe(1);
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
it("has every region the script fills in", () => {
|
|
51
|
+
for (const id of [
|
|
52
|
+
"toolbar", "op-banner", "gg-main", "graph-area", "graph-container", "graph-header", "commit-list-wrapper",
|
|
53
|
+
"graph-clip", "graph-svg-container", "commit-list", "loading", "graph-pan-bar", "scroll-markers",
|
|
54
|
+
"search-results", "sheet-scrim", "detail-panel", "status-bar", "status-text", "btn-load-more",
|
|
55
|
+
"settings-panel", "menu-scrim", "context-menu", "toast-host",
|
|
56
|
+
]) {
|
|
57
|
+
expect(html).toContain(`id="${id}"`);
|
|
58
|
+
}
|
|
46
59
|
});
|
|
60
|
+
});
|
|
47
61
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
expect(
|
|
53
|
-
|
|
54
|
-
|
|
62
|
+
describe("the script", () => {
|
|
63
|
+
it("parses as JavaScript", () => {
|
|
64
|
+
// A template literal is never type-checked: a stray brace ships as a blank
|
|
65
|
+
// panel with one console error. `new Function` parses without running.
|
|
66
|
+
expect(() => new Function(script)).not.toThrow();
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
it("contains nothing that would end the script element early", () => {
|
|
70
|
+
expect(script).not.toContain("</script");
|
|
71
|
+
expect(script).not.toContain("<!--");
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
it("finds every element it asks for by id", () => {
|
|
75
|
+
// A renamed id is a null the script dereferences on load — the whole panel
|
|
76
|
+
// stops, and nothing in review looks wrong.
|
|
77
|
+
const ids = new Set([...script.matchAll(/getElementById\('([\w-]+)'\)/g)].map((m) => m[1]!));
|
|
78
|
+
expect(ids.size).toBeGreaterThan(30);
|
|
79
|
+
const missing = [...ids].filter((id) => !html.includes(`id="${id}"`));
|
|
80
|
+
expect(missing).toEqual([]);
|
|
81
|
+
});
|
|
82
|
+
|
|
83
|
+
it("draws only icons that were generated", () => {
|
|
84
|
+
// An unknown name renders as an empty string, i.e. a button with no glyph.
|
|
85
|
+
const used = new Set<string>();
|
|
86
|
+
const literals = (text: string) => [...text.matchAll(/'([a-z][a-z0-9-]*)'/g)].map((m) => m[1]!);
|
|
87
|
+
for (const m of script.matchAll(/\bic\(([^,)]*)/g)) literals(m[1]!).forEach((n) => used.add(n));
|
|
88
|
+
for (const m of script.matchAll(/\bicon: '([a-z][a-z0-9-]*)'/g)) used.add(m[1]!);
|
|
89
|
+
// Names picked at run time — by a toast's kind, a ref pill's type, the sync
|
|
90
|
+
// button's mode — are the values after each `?` and `:`, not the keys compared.
|
|
91
|
+
for (const m of script.matchAll(/const icons? = ([^;]+);/g)) {
|
|
92
|
+
for (const v of m[1]!.matchAll(/[?:]\s*'([a-z][a-z0-9-]*)'/g)) used.add(v[1]!);
|
|
93
|
+
}
|
|
94
|
+
expect(used.size).toBeGreaterThan(40);
|
|
95
|
+
expect([...used].filter((name) => !(name in WEBVIEW_ICONS))).toEqual([]);
|
|
55
96
|
});
|
|
56
97
|
|
|
57
|
-
it("
|
|
58
|
-
|
|
59
|
-
expect(
|
|
98
|
+
it("never calls prompt, confirm or alert, which a sandboxed frame does not have", () => {
|
|
99
|
+
// They return null in silence there; every answer is collected by markup.
|
|
100
|
+
expect(script).not.toMatch(/(?<![\w.$])(?:window\.)?(?:prompt|confirm|alert)\s*\(/);
|
|
60
101
|
});
|
|
61
102
|
|
|
62
|
-
it("
|
|
63
|
-
const
|
|
64
|
-
expect(
|
|
65
|
-
expect(
|
|
103
|
+
it("hands links to the app, and only web ones", () => {
|
|
104
|
+
const open = fn("openExternal");
|
|
105
|
+
expect(open).toContain("/^https?:\\/\\//i.test(");
|
|
106
|
+
expect(open).toContain("command: '__ppm.openExternal'");
|
|
107
|
+
expect(script).toContain("e.target.closest('a[href]')");
|
|
66
108
|
});
|
|
67
109
|
|
|
68
|
-
it("
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
expect(
|
|
73
|
-
expect(
|
|
74
|
-
|
|
110
|
+
it("agrees with the stylesheet about every breakpoint it asks about", () => {
|
|
111
|
+
// Each width is written twice — once for the script, once for the CSS —
|
|
112
|
+
// and a mismatch leaves a band of widths where the two disagree about
|
|
113
|
+
// what is on screen.
|
|
114
|
+
expect(fn("isNarrowLayout")).toContain("'(max-width: 640px)'");
|
|
115
|
+
expect(css).toContain("@media (max-width: 640px) {");
|
|
116
|
+
// The inspector is a column from 901px: the CSS overlays it at 900 and below.
|
|
117
|
+
expect(fn("isColumnLayout")).toContain("'(min-width: 901px)'");
|
|
118
|
+
expect(media("@media (max-width: 900px)")).toContain("#detail-panel { position: absolute;");
|
|
119
|
+
// The toolbar drops its three list buttons at 700, and the View menu takes them in.
|
|
120
|
+
expect(fn("viewMenuItems")).toContain("'(max-width: 700px)'");
|
|
121
|
+
expect(media("@media (max-width: 700px)")).toContain("#toolbar .opt");
|
|
75
122
|
});
|
|
123
|
+
});
|
|
76
124
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
125
|
+
describe("the toolbar", () => {
|
|
126
|
+
it("has the scope, find, list, sync and view controls", () => {
|
|
127
|
+
for (const id of [
|
|
128
|
+
"branch-selector", "scope-label", "find-bar", "find-input", "find-count", "find-prev", "find-next",
|
|
129
|
+
"find-close", "find-mode", "btn-stash", "btn-worktree", "btn-submodule", "sync", "btn-fetch",
|
|
130
|
+
"btn-pull", "btn-push", "btn-sync-m", "btn-find", "btn-view", "btn-inspector",
|
|
131
|
+
]) {
|
|
132
|
+
expect(html).toContain(`id="${id}"`);
|
|
133
|
+
}
|
|
82
134
|
});
|
|
83
135
|
|
|
84
|
-
it("
|
|
85
|
-
|
|
86
|
-
expect(html).toContain('
|
|
136
|
+
it("keeps refresh and settings in the View menu rather than as buttons of their own", () => {
|
|
137
|
+
expect(html).not.toContain('id="btn-refresh"');
|
|
138
|
+
expect(html).not.toContain('id="btn-settings"');
|
|
139
|
+
const view = fn("viewMenuItems");
|
|
140
|
+
expect(view).toContain("label: 'Refresh', icon: 'sync', action: reloadEverything");
|
|
141
|
+
expect(view).toContain("label: 'Git Graph settings");
|
|
142
|
+
expect(view).toContain("icon: 'settings', action: openSettings");
|
|
87
143
|
});
|
|
88
144
|
|
|
89
|
-
it("
|
|
90
|
-
const
|
|
91
|
-
expect(
|
|
92
|
-
expect(
|
|
145
|
+
it("collapses fetch, pull and push into one button on a phone", () => {
|
|
146
|
+
const phone = media("@media (max-width: 640px)");
|
|
147
|
+
expect(phone).toContain("#sync");
|
|
148
|
+
expect(phone).toContain("#btn-sync-m, #btn-find { display: inline-flex; }");
|
|
93
149
|
});
|
|
94
150
|
|
|
95
|
-
it("
|
|
96
|
-
|
|
97
|
-
expect(html).toContain("Loading repository");
|
|
151
|
+
it("shows a list's count only when there is one", () => {
|
|
152
|
+
expect(css).toContain(".tool .n:empty { display: none; }");
|
|
98
153
|
});
|
|
99
154
|
|
|
100
|
-
it("
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
expect(html).toContain("<script>");
|
|
155
|
+
it("keeps a closed settings panel out of the Tab order, not only off-screen", () => {
|
|
156
|
+
expect(css).toMatch(/#settings-panel \{[^}]*transform: translateX\(105%\); visibility: hidden;/);
|
|
157
|
+
expect(css).toMatch(/#settings-panel\.open \{[^}]*visibility: visible;/);
|
|
104
158
|
});
|
|
159
|
+
});
|
|
105
160
|
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
expect(
|
|
111
|
-
expect(html).toContain("--yellow:");
|
|
112
|
-
expect(html).toContain("--purple:");
|
|
113
|
-
expect(html).toContain("--orange:");
|
|
161
|
+
describe("the theme", () => {
|
|
162
|
+
it("takes dark from the host attribute, not only from the OS", () => {
|
|
163
|
+
// The panel is a sandboxed iframe: prefers-color-scheme reports the
|
|
164
|
+
// desktop's setting, which has nothing to do with the app's theme.
|
|
165
|
+
expect(css).toContain(':root[data-ppm-theme="dark"] {');
|
|
114
166
|
});
|
|
115
167
|
|
|
116
|
-
it("
|
|
117
|
-
const
|
|
118
|
-
expect(
|
|
168
|
+
it("never lets the OS media query override an explicit light", () => {
|
|
169
|
+
const os = media("@media (prefers-color-scheme: dark)");
|
|
170
|
+
expect(os).toContain(':root:not([data-ppm-theme="light"])');
|
|
171
|
+
expect(/@media \(prefers-color-scheme: dark\) \{\s*:root \{/.test(css)).toBe(false);
|
|
119
172
|
});
|
|
120
173
|
|
|
121
|
-
it("
|
|
122
|
-
|
|
123
|
-
|
|
174
|
+
it("derives the hover surface from the text colour", () => {
|
|
175
|
+
// Some app themes give both panel surfaces one colour; a hover mapped from
|
|
176
|
+
// either would be invisible in exactly those themes.
|
|
177
|
+
expect(css).toContain("--surface-hover: color-mix(in srgb, var(--text)");
|
|
124
178
|
});
|
|
125
179
|
|
|
126
|
-
it("
|
|
127
|
-
|
|
128
|
-
//
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
const appDiv = html.indexOf('id="app"');
|
|
132
|
-
expect(bodyStart).toBeGreaterThan(-1);
|
|
133
|
-
expect(bodyEnd).toBeGreaterThan(bodyStart);
|
|
134
|
-
expect(appDiv).toBeGreaterThan(bodyStart);
|
|
135
|
-
expect(appDiv).toBeLessThan(bodyEnd);
|
|
180
|
+
it("gives the host's tokens the specificity to win", () => {
|
|
181
|
+
// webview-theme.ts appends ":root[data-ppm-theme]" last and wins the tie
|
|
182
|
+
// on source order — only while no panel rule is more specific than that.
|
|
183
|
+
expect(css).not.toContain("html[data-ppm-theme");
|
|
184
|
+
expect(css).not.toContain(':root[data-ppm-theme="dark"][');
|
|
136
185
|
});
|
|
137
186
|
|
|
138
|
-
it("
|
|
139
|
-
|
|
140
|
-
expect(
|
|
187
|
+
it("draws the checked-out branch in the accent and every other lane in a hue that is not a status", () => {
|
|
188
|
+
// Green, red and yellow already mean added, deleted and modified here.
|
|
189
|
+
expect(css).toContain("--ln-0: var(--accent);");
|
|
190
|
+
const lanes = [...css.matchAll(/--ln-[1-4]: ([^;]+);/g)].map((m) => m[1]!);
|
|
191
|
+
expect(lanes.length).toBeGreaterThanOrEqual(4);
|
|
192
|
+
for (const lane of lanes) expect(lane).not.toMatch(/--(green|red|yellow)/);
|
|
193
|
+
// The lane the head is on is swapped with lane 0, whatever index the layout gave it.
|
|
194
|
+
const laneVar = fn("laneVar");
|
|
195
|
+
expect(laneVar).toContain("if (k === gHeadColour) k = 0;");
|
|
196
|
+
expect(laneVar).toContain("else if (k === 0) k = gHeadColour;");
|
|
141
197
|
});
|
|
142
198
|
});
|
|
143
199
|
|
|
144
|
-
describe("
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
const
|
|
149
|
-
|
|
150
|
-
expect(
|
|
151
|
-
expect(
|
|
152
|
-
return html.slice(open + "<script>".length, close);
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
it("parses as JavaScript", () => {
|
|
156
|
-
// The script is a template literal, so nothing type-checks it and a stray
|
|
157
|
-
// brace or backtick ships as a blank panel with one console error. `new
|
|
158
|
-
// Function` parses without running, which is exactly the check wanted.
|
|
159
|
-
expect(() => new Function(scriptSource())).not.toThrow();
|
|
200
|
+
describe("the graph", () => {
|
|
201
|
+
it("draws one shape per kind of row", () => {
|
|
202
|
+
const draw = blockAt(script, "draw(svg, config) {", script.indexOf("class GVertex"));
|
|
203
|
+
expect(draw).toContain("this.isWip ? 'wip' : this.isStash ? 'stash' : this._isCurrent ? 'head' : this.isMerge() ? 'merge' : 'commit'");
|
|
204
|
+
for (const kind of ["commit", "merge", "head", "wip"]) expect(draw).toContain(`kind === '${kind}'`);
|
|
205
|
+
// Nothing is fetched to draw a node.
|
|
206
|
+
expect(script).not.toContain("gravatar");
|
|
207
|
+
expect(draw).not.toContain("'image'");
|
|
160
208
|
});
|
|
161
209
|
|
|
162
|
-
it("
|
|
163
|
-
|
|
164
|
-
expect(
|
|
165
|
-
expect(source).toContain("authorColor(this._author.email || this._author.name)");
|
|
166
|
-
expect(source).not.toContain("gravatar");
|
|
210
|
+
it("colours lines and nodes through style, because an attribute cannot hold var()", () => {
|
|
211
|
+
expect(fn("svgEl")).toContain("el.style[k] = style[k]");
|
|
212
|
+
expect(script).toContain("{ class: solid ? 'line' : 'line dash', d: path }, { stroke: colour }");
|
|
167
213
|
});
|
|
168
214
|
|
|
169
|
-
it("
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
// exist; a mismatch hides the badges at some widths.
|
|
173
|
-
expect(html).toContain("window.matchMedia('(max-width: 640px)')");
|
|
174
|
-
expect(html).toContain("@media (max-width: 640px)");
|
|
215
|
+
it("dashes a stash's lane and the line out of the uncommitted changes", () => {
|
|
216
|
+
expect(script).toContain("GBranch._drawPath(svg, curPath, pxLines[i - 1].isC && !this._isStash, colour)");
|
|
217
|
+
expect(css).toContain("#graph-svg-container path.dash { stroke-dasharray: 3 3; }");
|
|
175
218
|
});
|
|
176
219
|
|
|
177
|
-
it("
|
|
178
|
-
//
|
|
179
|
-
//
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
const html = getWebviewHtml();
|
|
184
|
-
expect(html).toContain("left: calc(var(--refs-col-w, 170px) + 6px)");
|
|
185
|
-
expect(html).toMatch(/#graph-svg-container \{[^}]*left: 2px/);
|
|
220
|
+
it("draws the grid at the height the rows really have", () => {
|
|
221
|
+
// Under browser zoom a row is fractional, and a rounded grid drifts the
|
|
222
|
+
// nodes off their rows by the bottom of the list.
|
|
223
|
+
const render = fn("graphRender");
|
|
224
|
+
expect(render).toContain("const rowH = measuredRowHeight() || graphConfig.grid.y;");
|
|
225
|
+
expect(render).toContain("grid: { ...graphConfig.grid, y: rowH, offsetY: rowH / 2 }");
|
|
186
226
|
});
|
|
187
227
|
});
|
|
188
228
|
|
|
189
|
-
describe("
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
it("does not qualify the banding rule with an id", () => {
|
|
193
|
-
// `#commit-list .commit-row:nth-child(even)` outranks `.commit-row:hover`
|
|
194
|
-
// and `.commit-row.selected`, so every other row silently stops responding
|
|
195
|
-
// to the pointer and to selection. Same specificity, earlier in the file,
|
|
196
|
-
// is what makes the three coexist.
|
|
197
|
-
expect(css).toContain(".commit-row:nth-child(even) {");
|
|
198
|
-
expect(css).not.toContain("#commit-list .commit-row:nth-child(even)");
|
|
199
|
-
});
|
|
200
|
-
|
|
201
|
-
it("declares banding before hover and selection, and selection after a search match", () => {
|
|
202
|
-
const banding = css.indexOf(".commit-row:nth-child(even) {");
|
|
203
|
-
const hover = css.indexOf(".commit-row:hover {");
|
|
204
|
-
const match = css.indexOf(".commit-row.search-match {");
|
|
205
|
-
const selected = css.indexOf(".commit-row.selected {");
|
|
206
|
-
expect(banding).toBeGreaterThan(-1);
|
|
207
|
-
expect(banding).toBeLessThan(hover);
|
|
208
|
-
expect(banding).toBeLessThan(selected);
|
|
209
|
-
// The row you clicked should look selected even when it is also a match.
|
|
210
|
-
expect(match).toBeLessThan(selected);
|
|
211
|
-
});
|
|
212
|
-
|
|
213
|
-
it("puts the phone layout after the coarse-pointer rules it has to beat", () => {
|
|
214
|
-
// The coarse block keeps all six columns and scrolls them sideways, which
|
|
215
|
-
// is right for a tablet and wrong for a phone.
|
|
216
|
-
expect(css.indexOf("@media (pointer: coarse)")).toBeLessThan(css.indexOf("@media (max-width: 640px)"));
|
|
217
|
-
});
|
|
218
|
-
});
|
|
219
|
-
|
|
220
|
-
describe("webview-html: columns", () => {
|
|
221
|
-
const html = getWebviewHtml();
|
|
222
|
-
|
|
223
|
-
/** The order the static header row declares its cells in. */
|
|
229
|
+
describe("the rows", () => {
|
|
230
|
+
/** The cells the static header declares, in order. */
|
|
224
231
|
function headerOrder(): string[] {
|
|
225
232
|
const header = html.slice(html.indexOf('id="graph-header"'), html.indexOf('id="commit-list-wrapper"'));
|
|
226
|
-
return [...header.matchAll(
|
|
233
|
+
return [...header.matchAll(/<div class="(col-[a-z]+)">/g)].map((m) => m[1]!);
|
|
227
234
|
}
|
|
228
235
|
|
|
229
|
-
/** The
|
|
236
|
+
/** The cells renderCommitList appends to a row, in order, by the class each was given. */
|
|
230
237
|
function rowOrder(): string[] {
|
|
231
|
-
const build =
|
|
232
|
-
const
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
return [...build.matchAll(/row\.appendChild\((\w+)\)/g)].map((m) => named[m[1]!] ?? m[1]!);
|
|
238
|
+
const build = fn("renderCommitList");
|
|
239
|
+
const classOf = new Map(
|
|
240
|
+
[...build.matchAll(/(\w+)\.className = '(col-[a-z]+)'/g)].map((m) => [m[1]!, m[2]!] as const),
|
|
241
|
+
);
|
|
242
|
+
return [...build.matchAll(/row\.appendChild\((\w+)\)/g)].map((m) => classOf.get(m[1]!) ?? m[1]!);
|
|
237
243
|
}
|
|
238
244
|
|
|
239
|
-
it("builds
|
|
240
|
-
// Two places declare this order
|
|
241
|
-
//
|
|
242
|
-
|
|
245
|
+
it("builds every row in the order the header labels it", () => {
|
|
246
|
+
// Two places declare this order; a column added to one and not the other
|
|
247
|
+
// puts every label over the wrong cell, and nothing throws.
|
|
248
|
+
expect(headerOrder()).toEqual(["col-graph", "col-message", "col-changes", "col-author", "col-date", "col-hash"]);
|
|
243
249
|
expect(rowOrder()).toEqual(headerOrder());
|
|
244
250
|
});
|
|
245
251
|
|
|
246
|
-
it("
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
252
|
+
it("layers hover, a search match and the selection in that order", () => {
|
|
253
|
+
// The row you clicked should look selected even when it is also a match,
|
|
254
|
+
// and no state rule may be qualified by an id, which would outrank the rest.
|
|
255
|
+
const hover = css.indexOf(".commit-row:hover {");
|
|
256
|
+
const match = css.indexOf(".commit-row.search-match {");
|
|
257
|
+
const selected = css.indexOf(".commit-row.selected {");
|
|
258
|
+
expect(hover).toBeGreaterThan(-1);
|
|
259
|
+
expect(hover).toBeLessThan(match);
|
|
260
|
+
expect(match).toBeLessThan(selected);
|
|
261
|
+
expect(css).not.toMatch(/#commit-list \.commit-row[:.]/);
|
|
250
262
|
});
|
|
251
263
|
|
|
252
264
|
it("puts the scroll markers beside the scroller rather than inside it", () => {
|
|
253
|
-
// Inside #graph-container they would scroll away with the rows
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
expect(area.
|
|
258
|
-
const markersInsideScroller = html.slice(
|
|
259
|
-
html.indexOf('id="graph-container"'), html.indexOf('id="loading"'),
|
|
260
|
-
).includes("scroll-markers");
|
|
261
|
-
expect(markersInsideScroller).toBe(false);
|
|
262
|
-
});
|
|
263
|
-
|
|
264
|
-
it("fills the stats in place instead of rebuilding every row", () => {
|
|
265
|
-
// A rebuild would discard the scroll position and the open detail panel,
|
|
266
|
-
// and the numbers arrive a moment after the rows are already on screen.
|
|
267
|
-
const handler = html.slice(html.indexOf("case 'loadCommitStats':"), html.indexOf("case 'commitDetails':"));
|
|
268
|
-
expect(handler).toContain("applyCommitStats()");
|
|
269
|
-
expect(handler).not.toContain("renderCommitList()");
|
|
265
|
+
// Inside #graph-container they would scroll away with the rows.
|
|
266
|
+
const scroller = html.slice(html.indexOf('id="graph-container"'), html.indexOf('id="loading"'));
|
|
267
|
+
expect(scroller).not.toContain("scroll-markers");
|
|
268
|
+
const area = html.slice(html.indexOf('id="graph-area"'), html.indexOf('id="sheet-scrim"'));
|
|
269
|
+
expect(area).toContain('id="scroll-markers"');
|
|
270
270
|
});
|
|
271
|
-
});
|
|
272
271
|
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
// desktop's setting and has nothing to do with the theme the app is on.
|
|
280
|
-
expect(css).toContain(':root[data-ppm-theme="dark"]');
|
|
272
|
+
it("fills the lines-changed column in place instead of rebuilding every row", () => {
|
|
273
|
+
// A rebuild would drop the scroll position and the open inspector, and
|
|
274
|
+
// the numbers arrive a moment after the rows are already on screen.
|
|
275
|
+
const handler = script.slice(script.indexOf("case 'loadCommitStats':"), script.indexOf("case 'commitDetails':"));
|
|
276
|
+
expect(handler).toContain("applyCommitStats()");
|
|
277
|
+
expect(handler).not.toContain("renderCommitList()");
|
|
281
278
|
});
|
|
282
279
|
|
|
283
|
-
it("
|
|
284
|
-
//
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
expect(
|
|
288
|
-
|
|
280
|
+
it("updates the uncommitted row in place on the five-second poll", () => {
|
|
281
|
+
// Rebuilding the list every five seconds would reset the scroll and redraw the graph.
|
|
282
|
+
const onChanges = fn("onChangesUpdated");
|
|
283
|
+
expect(onChanges).toContain("else updateWipRow();");
|
|
284
|
+
expect(fn("updateWipRow")).toContain("if (sig === wipRowSig) return;");
|
|
285
|
+
});
|
|
286
|
+
|
|
287
|
+
it("gives the uncommitted row a second line on a phone, with the file count the Author column carried", () => {
|
|
288
|
+
// One line cut "0 of 4 blocks staged" off mid-word, and the hidden Author column took the file count with it.
|
|
289
|
+
// Bun ships the middle dot as an escape, so match around it.
|
|
290
|
+
expect(fn("wipMessageHtml")).toMatch(/'<span class="wip-files"> \S+ ' \+ escHtml\(plural\(t\.files, 'file'\)\)/);
|
|
291
|
+
expect(css).toContain(".wip-files { display: none; }");
|
|
292
|
+
const phone = media("@media (max-width: 640px)");
|
|
293
|
+
expect(phone).toContain(".commit-row.wip .msg-subject { flex: 1 1 100%; }");
|
|
294
|
+
expect(phone).toContain(".commit-row.wip .wip-meta .segs { display: none; }");
|
|
295
|
+
expect(phone).toContain(".wip-files { display: inline; }");
|
|
296
|
+
});
|
|
297
|
+
|
|
298
|
+
it("gives every tick box a thumb-sized target on a phone", () => {
|
|
299
|
+
expect(rule(".cb-cell")).toContain("width: 30px;");
|
|
300
|
+
const phone = media("@media (max-width: 640px)");
|
|
301
|
+
expect(phone).toContain(".sc-row { min-height: 56px; }");
|
|
302
|
+
expect(phone).toContain(".cb-cell { width: 48px; }");
|
|
303
|
+
expect(phone).toContain(".linkbtn { height: 44px; }");
|
|
304
|
+
// The header's 1px top border comes out of its height; the select-all box gets the rest.
|
|
305
|
+
expect(rule(".sc-lh")).toContain("border-top: 1px solid");
|
|
306
|
+
expect(phone).toContain(".sc-lh { height: 45px; }");
|
|
307
|
+
});
|
|
308
|
+
|
|
309
|
+
it("reaches 44px to tap on the controls the design draws smaller on a phone", () => {
|
|
310
|
+
const phone = media("@media (max-width: 640px)");
|
|
311
|
+
// 36px tall, minus a 1px border each side, plus 5px each side: 44.
|
|
312
|
+
expect(phone).toContain(".gg-scope, .sc-sync { height: 36px; }");
|
|
313
|
+
expect(phone).toContain(".gg-scope::after, .sc-sync::after { content: \"\"; position: absolute; inset: -5px 0; }");
|
|
314
|
+
// 22px tall, minus the border, plus 12px each side: 44.
|
|
315
|
+
expect(rule(".hash")).toContain("height: 22px;");
|
|
316
|
+
expect(phone).toContain(".gi-meta .hash::after { content: \"\"; position: absolute; inset: -12px -2px; }");
|
|
317
|
+
expect(phone).toContain(".gg-scope, .sc-sync, .gi-meta .hash { position: relative; }");
|
|
318
|
+
// The find bar: the box is the input's label, and its buttons are real 44px squares.
|
|
319
|
+
expect(html).toMatch(/<label class="gg-find">[\s\S]*?<input id="find-input"/);
|
|
320
|
+
expect(phone).toContain("#toolbar.find-open .gg-find { height: 46px; }");
|
|
321
|
+
expect(phone).toContain("#toolbar.find-open .gg-find .clear, #toolbar.find-open .gg-find .step { width: 44px; height: 44px; }");
|
|
322
|
+
expect(phone).toContain("#toolbar.find-open .gg-find .mode::after { content: \"\"; position: absolute; inset: -12px 0; }");
|
|
323
|
+
});
|
|
324
|
+
|
|
325
|
+
it("says how many commits matched while the phone's find box is open", () => {
|
|
326
|
+
// The 420px tier hides the count for a box squeezed between other buttons; open on a phone it is alone.
|
|
327
|
+
expect(media("@media (max-width: 420px)")).toContain(".gg-find .count { display: none; }");
|
|
328
|
+
expect(media("@media (max-width: 640px)")).toContain("#toolbar.find-open .gg-find .count:not(:empty) { display: inline; }");
|
|
329
|
+
const phone = media("@media (max-width: 640px)");
|
|
330
|
+
// A short form beside four 44px buttons and the mode chip; the long one stays readable to a screen reader.
|
|
331
|
+
expect(fn("setFindCount")).toContain("'<span class=\"long\">' + escHtml(text) + '</span><span class=\"short\" aria-hidden=\"true\">' + escHtml(short || text) + '</span>'");
|
|
332
|
+
expect(css).toContain(".gg-find .count .short { display: none; }");
|
|
333
|
+
expect(phone).toContain("#toolbar.find-open .gg-find .count .short { display: inline; }");
|
|
334
|
+
expect(phone).toMatch(/#toolbar\.find-open \.gg-find \.count \.long \{ position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset\(50%\);/);
|
|
335
|
+
expect(fn("doSearch")).toContain("setFindCount(q ? (found ? found + ' found' : 'none') : '', found ? String(found) : 'none');");
|
|
336
|
+
expect(script).toContain("setFindCount((state.searchIndex + 1) + ' of ' + n, (state.searchIndex + 1) + '/' + n);");
|
|
337
|
+
});
|
|
338
|
+
|
|
339
|
+
it("keeps the current match marked on a phone, where a closed sheet otherwise clears the selection", () => {
|
|
340
|
+
// Stepping selects the match without opening the sheet; unmarked, it was the one match that did not stand out.
|
|
341
|
+
expect(rule(".commit-row.selected")).toContain("box-shadow: inset 2px 0 0 var(--accent);");
|
|
342
|
+
const phone = media("@media (max-width: 640px)");
|
|
343
|
+
expect(phone).toContain(".insp-closed .commit-row.selected:not(.find-current) { background: none; box-shadow: none; }");
|
|
344
|
+
expect(phone).not.toContain(".insp-closed .commit-row.selected { background: none;");
|
|
345
|
+
// Keyed on the step, not on matching: a row selected before the search that also matches
|
|
346
|
+
// showed as the current match while the count still read "4", not "1/4".
|
|
347
|
+
expect(phone).not.toContain(":not(.search-match)");
|
|
348
|
+
// Unmarked, that row keeps the tint every other match has, not a bare background.
|
|
349
|
+
const tint = rule(".commit-row.search-match").match(/background: ([^;]+);/)![1];
|
|
350
|
+
expect(phone).toContain(".insp-closed .commit-row.selected.search-match:not(.find-current) { background: " + tint + "; }");
|
|
351
|
+
expect(fn("applySearchToRows")).toContain("row.classList.toggle('find-current', hit && row.dataset.hash === current);");
|
|
352
|
+
expect(fn("applySearchToRows")).toContain("const current = state.searchIndex >= 0 ? state.searchMatches[state.searchIndex] : null;");
|
|
353
|
+
expect(fn("navigateSearch")).toContain("r.classList.toggle('find-current', r.dataset.hash === hash)");
|
|
354
|
+
});
|
|
355
|
+
|
|
356
|
+
it("shows the find count's short form only where the phone's box is open", () => {
|
|
357
|
+
// Every caller that sets a count must also say how it reads on a phone, or the phone shows the long one.
|
|
358
|
+
const calls = [...script.matchAll(/setFindCount\(([^;]*)\);/g)].map((m) => m[1]!).filter((args) => args !== "''");
|
|
359
|
+
expect(calls.length).toBeGreaterThanOrEqual(4);
|
|
360
|
+
for (const args of calls) expect(args).toMatch(/, /);
|
|
361
|
+
});
|
|
362
|
+
|
|
363
|
+
it("leaves a file row's 24px tools to the long-press menu on a phone, which has both of them", () => {
|
|
364
|
+
expect(media("@media (max-width: 640px)")).toContain(".sc-row .acts { display: none; }");
|
|
365
|
+
const menu = fn("wipFileMenuItems");
|
|
366
|
+
expect(menu).toContain("label: 'Open file'");
|
|
367
|
+
expect(menu).toContain("label: 'Discard changes");
|
|
368
|
+
expect(fn("inspectorMenuTarget")).toContain("if (f) return (anchor) => openMenu(wipFileMenuItems(f), anchor);");
|
|
369
|
+
});
|
|
370
|
+
|
|
371
|
+
it("marks a merge's and a stash's changes as not counted, and never claims zero", () => {
|
|
372
|
+
// git gives a merge no diffstat by default and a stash is not in the log:
|
|
373
|
+
// "+0" would be a wrong fact, and an empty cell would read as still loading.
|
|
374
|
+
expect(fn("fillChangesCell")).toContain("if (!stat) return;");
|
|
375
|
+
expect(script).toMatch(/const NOT_COUNTED = '<span class="muted">[^<]+<\/span>';/);
|
|
376
|
+
const render = fn("renderCommitList");
|
|
377
|
+
const stash = render.slice(render.indexOf("} else if (isStash) {"), render.indexOf("} else {", render.indexOf("} else if (isStash) {")));
|
|
378
|
+
expect(stash).toContain("changesCol.innerHTML = NOT_COUNTED;");
|
|
379
|
+
expect(render).toContain("if (commit.parents.length > 1) {\n changesCol.innerHTML = NOT_COUNTED;");
|
|
380
|
+
});
|
|
381
|
+
|
|
382
|
+
it("says who made a stash and when, as a commit row does", () => {
|
|
383
|
+
const render = fn("renderCommitList");
|
|
384
|
+
const stash = render.slice(render.indexOf("} else if (isStash) {"), render.indexOf("} else {", render.indexOf("} else if (isStash) {")));
|
|
385
|
+
expect(stash).toContain("avatarFor(commit.author, commit.authorEmail)");
|
|
386
|
+
expect(stash).toContain("dateCol.textContent = formatDate(commit.commitDate);");
|
|
387
|
+
expect(fn("getDisplayCommits")).toContain("commitDate: s.date || 0");
|
|
289
388
|
});
|
|
389
|
+
});
|
|
290
390
|
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
expect(
|
|
391
|
+
describe("the columns", () => {
|
|
392
|
+
it("offers every optional column in Settings, in the script and in the stylesheet", () => {
|
|
393
|
+
const keys = Object.keys(DEFAULT_SETTINGS).filter((k) => /^col[A-Z]/.test(k));
|
|
394
|
+
const optional = script.slice(script.indexOf("const OPTIONAL_COLUMNS = ["), script.indexOf("];", script.indexOf("const OPTIONAL_COLUMNS = [")));
|
|
395
|
+
expect(keys.length).toBe(4);
|
|
396
|
+
for (const key of keys) {
|
|
397
|
+
const col = key.slice(3).toLowerCase();
|
|
398
|
+
expect(html).toContain(`id="s-${key}"`);
|
|
399
|
+
expect(optional).toContain(`{ key: '${key}', cls: 'cols-no-${col}'`);
|
|
400
|
+
expect(css).toContain(`.cols-no-${col} .col-${col} { display: none; }`);
|
|
401
|
+
}
|
|
296
402
|
});
|
|
297
403
|
|
|
298
|
-
it("
|
|
299
|
-
//
|
|
300
|
-
//
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
404
|
+
it("marks a column the list's width already took away, at the width the stylesheet takes it", () => {
|
|
405
|
+
// The tiers are container queries on the list; the menu has to name the
|
|
406
|
+
// same widths, or a tick does nothing with nothing to say why.
|
|
407
|
+
const hiddenAt = new Map<string, number>();
|
|
408
|
+
for (const m of css.matchAll(/@container graphlist \(max-width: (\d+)px\) \{/g)) {
|
|
409
|
+
const tier = blockAt(css, m[0], m.index);
|
|
410
|
+
for (const hit of tier.matchAll(/^\s*\.col-([a-z]+) \{ display: none; \}/gm)) hiddenAt.set(hit[1]!, Number(m[1]));
|
|
411
|
+
}
|
|
412
|
+
const blocked = new Map(
|
|
413
|
+
[...fn("columnBlockedByWidth").matchAll(/key === 'col([A-Z][a-z]+)'\) return w <= (\d+);/g)]
|
|
414
|
+
.map((m) => [m[1]!.toLowerCase(), Number(m[2])] as const),
|
|
415
|
+
);
|
|
416
|
+
expect(hiddenAt.size).toBeGreaterThanOrEqual(2);
|
|
417
|
+
expect(blocked).toEqual(hiddenAt);
|
|
418
|
+
expect(fn("columnMenuItems")).toContain("needs a wider panel'");
|
|
419
|
+
// Measured on the list, which an open inspector narrows and the window does not.
|
|
420
|
+
expect(css).toContain("container: graphlist / inline-size;");
|
|
421
|
+
expect(fn("columnBlockedByWidth")).toContain("document.getElementById('graph-container')");
|
|
305
422
|
});
|
|
306
423
|
|
|
307
|
-
it("
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
const light = /--band: color-mix\(in srgb, var\(--text\) ([\d.]+)%/.exec(
|
|
311
|
-
css.slice(css.indexOf(":root {"), css.indexOf(':root[data-ppm-theme="dark"]')),
|
|
312
|
-
);
|
|
313
|
-
const dark = /--band: color-mix\(in srgb, var\(--text\) ([\d.]+)%/.exec(
|
|
314
|
-
css.slice(css.indexOf(':root[data-ppm-theme="dark"]')),
|
|
315
|
-
);
|
|
316
|
-
expect(Number(dark?.[1])).toBeGreaterThan(Number(light?.[1]));
|
|
424
|
+
it("opens the same column list from the header, by right-click or long press", () => {
|
|
425
|
+
expect(script).toContain("header.addEventListener('contextmenu'");
|
|
426
|
+
expect(script).toContain("setupLongPress(header, (x, y) => showColumnMenu(x, y))");
|
|
317
427
|
});
|
|
318
428
|
|
|
319
|
-
it("
|
|
320
|
-
|
|
429
|
+
it("hands a hidden column's width to the graph", () => {
|
|
430
|
+
// No resize fires for a hidden column, so the cap would keep its room.
|
|
431
|
+
expect(fn("applyColumnVisibility")).toContain("applyGraphColWidth()");
|
|
321
432
|
});
|
|
322
433
|
});
|
|
323
434
|
|
|
324
|
-
describe("
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
expect(
|
|
339
|
-
expect(
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
expect(
|
|
355
|
-
expect(
|
|
356
|
-
|
|
357
|
-
expect(render).not.toContain("sameHand");
|
|
435
|
+
describe("a list narrower than the table", () => {
|
|
436
|
+
it("caps the graph column against what the other columns measure", () => {
|
|
437
|
+
// The message is the only column that shrinks; from about twenty parallel
|
|
438
|
+
// branches on it used to pay for the graph — all of it, down to zero.
|
|
439
|
+
const cap = fn("graphColCap");
|
|
440
|
+
expect(cap).toContain("'.col-changes, .col-author, .col-date, .col-hash'");
|
|
441
|
+
expect(cap).toContain("fixed += cell.offsetWidth");
|
|
442
|
+
expect(cap).toContain("area.clientWidth - fixed - rowPadding - MESSAGE_MIN_W");
|
|
443
|
+
expect(fn("applyGraphColWidth")).toContain("Math.min(want || GRAPH_MIN_W, cap)");
|
|
444
|
+
});
|
|
445
|
+
|
|
446
|
+
it("uses one number for the message column's floor in the CSS and in the cap", () => {
|
|
447
|
+
const cssFloor = /\.col-message \{[^}]*min-width: (\d+)px/.exec(css)?.[1];
|
|
448
|
+
const jsFloor = /const MESSAGE_MIN_W = (\d+);/.exec(script)?.[1];
|
|
449
|
+
expect(cssFloor).toBeDefined();
|
|
450
|
+
expect(cssFloor).toBe(jsFloor);
|
|
451
|
+
// The cap leaves the row's own gap and padding too, as the stylesheet sets them.
|
|
452
|
+
const row = rule(".commit-row");
|
|
453
|
+
expect(row).toContain(`gap: ${/const ROW_GAP = (\d+);/.exec(script)?.[1]}px`);
|
|
454
|
+
expect(row).toContain(`padding-right: ${/const ROW_PAD = (\d+);/.exec(script)?.[1]}px`);
|
|
455
|
+
});
|
|
456
|
+
|
|
457
|
+
it("recomputes the cap when the list changes size", () => {
|
|
458
|
+
expect(script).toContain("new ResizeObserver(() => applyGraphColWidth()).observe(document.getElementById('graph-container'))");
|
|
459
|
+
});
|
|
460
|
+
|
|
461
|
+
it("clips the graph to its column", () => {
|
|
462
|
+
// The overlay is positioned and the rows are not, so unclipped it paints
|
|
463
|
+
// branch lines through the messages.
|
|
464
|
+
const clip = rule("#graph-clip");
|
|
465
|
+
expect(clip).toContain("width: var(--graph-col-w");
|
|
466
|
+
expect(clip).toContain("overflow: hidden");
|
|
467
|
+
expect(html).toContain('<div id="graph-clip"><div id="graph-svg-container"></div></div>');
|
|
358
468
|
});
|
|
359
469
|
|
|
360
|
-
it("
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
// that throw looks identical to a locale with no timezone to offer.
|
|
365
|
-
const fmt = html.slice(html.indexOf("const WHEN_FORMAT"), html.indexOf("function whenCell"));
|
|
366
|
-
expect(fmt).toContain("timeZoneName: 'short'");
|
|
367
|
-
expect(fmt).not.toContain("dateStyle");
|
|
368
|
-
expect(fmt).not.toContain("timeStyle");
|
|
470
|
+
it("pans what does not fit by dragging it, with a hint that takes no room", () => {
|
|
471
|
+
expect(rule("#graph-pan-bar")).toContain("position: absolute");
|
|
472
|
+
expect(rule("#graph-pan-bar")).toContain("pointer-events: none");
|
|
473
|
+
expect(rule("#graph-svg-container")).toContain("transform: translateX(calc(-1 * var(--graph-pan-x, 0px)))");
|
|
369
474
|
});
|
|
370
475
|
|
|
371
|
-
it("
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
const fmt = html.slice(html.indexOf("const WHEN_FORMAT = {"), html.indexOf("function whenCell"));
|
|
375
|
-
const options = new Function("return " + fmt.slice(fmt.indexOf("{"), fmt.lastIndexOf("}") + 1))();
|
|
376
|
-
const text = new Date(1788943142_000).toLocaleString(undefined, options);
|
|
377
|
-
expect(text).toMatch(/GMT|UTC/);
|
|
476
|
+
it("leaves vertical scrolling to the browser and takes only a sideways drag", () => {
|
|
477
|
+
expect(css).toContain(".commit-row:not(.header-row) .col-graph { align-self: stretch; touch-action: pan-y; }");
|
|
478
|
+
expect(script).toContain("Math.abs(dx) < 4 || Math.abs(dx) <= Math.abs(e.clientY - startY)");
|
|
378
479
|
});
|
|
379
480
|
|
|
380
|
-
it("
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
expect(
|
|
384
|
-
expect(render).toContain("'<p class=\"msg-p\">'");
|
|
385
|
-
expect(render).toContain("'<pre class=\"msg-pre\">'");
|
|
386
|
-
// Prose in the UI font, verbatim blocks in monospace.
|
|
387
|
-
const prose = css.slice(css.indexOf(".msg-p {"), css.indexOf(".msg-pre {"));
|
|
388
|
-
expect(prose).not.toContain("--mono-font");
|
|
389
|
-
expect(css.slice(css.indexOf(".msg-pre {"))).toContain("var(--mono-font)");
|
|
390
|
-
});
|
|
391
|
-
|
|
392
|
-
it("spaces the body's blocks itself, because the reset zeroed the defaults", () => {
|
|
393
|
-
// Every margin is zeroed at the top of this stylesheet, so a p element
|
|
394
|
-
// brings none of its own — the paragraphs would run together.
|
|
395
|
-
expect(css).toMatch(/\.msg-p \+ \.msg-p[^{]*\{[^}]*margin-top/);
|
|
481
|
+
it("does not open the commit a drag happened to end on", () => {
|
|
482
|
+
const click = script.slice(script.indexOf("list.addEventListener('click', (e) => {\n if (!panned) return;"));
|
|
483
|
+
expect(click.slice(0, 200)).toContain("e.stopPropagation()");
|
|
484
|
+
expect(click.slice(0, 200)).toContain("}, true)");
|
|
396
485
|
});
|
|
397
486
|
|
|
398
|
-
it("
|
|
399
|
-
|
|
400
|
-
// to be copied. A click still copies the whole thing.
|
|
401
|
-
expect(render).toContain("hashCell(detail.hash)");
|
|
402
|
-
expect(html).toContain('class="hash-lead"');
|
|
403
|
-
expect(html).toContain("String(hash).slice(0, 8)");
|
|
404
|
-
const lead = css.slice(css.indexOf(".hash-lead {"));
|
|
405
|
-
expect(lead.slice(0, lead.indexOf("}"))).toContain("var(--text)");
|
|
406
|
-
});
|
|
407
|
-
|
|
408
|
-
it("gives every field one label and one value, at every width", () => {
|
|
409
|
-
// The dates used to ride in a third column so that they lined up with each
|
|
410
|
-
// other, which put each one a name's width from the name it belonged to
|
|
411
|
-
// and against the far edge of the pane. Two columns, one row per field.
|
|
412
|
-
expect(css).toMatch(/\.detail-meta \{[^}]*grid-template-columns: max-content minmax\(0, 1fr\);/);
|
|
413
|
-
expect(wide).not.toContain("grid-template-columns: max-content minmax(0, 1fr) max-content");
|
|
414
|
-
expect(wide).not.toContain(".meta-when");
|
|
415
|
-
const when = css.slice(css.indexOf(".meta-when {"));
|
|
416
|
-
expect(when.slice(0, when.indexOf("}"))).not.toContain("grid-column");
|
|
417
|
-
});
|
|
418
|
-
|
|
419
|
-
it("closes from the header, because a tap is the only way in", () => {
|
|
420
|
-
// The panel opens on a tap and used to close on Escape or on tapping the
|
|
421
|
-
// same commit again — neither of which is findable, and the first of which
|
|
422
|
-
// a phone does not have. It took the chips' place rather than joining
|
|
423
|
-
// them: they were a convenience, and the grid below has both hashes whole.
|
|
424
|
-
expect(render).toContain('class="detail-close"');
|
|
425
|
-
expect(render).toContain("ICONS.x");
|
|
426
|
-
expect(render).not.toContain('class="chip copyable"');
|
|
427
|
-
expect(css).not.toContain(".chip {");
|
|
428
|
-
expect(render).toContain("metaRow('Commit'");
|
|
429
|
-
});
|
|
430
|
-
|
|
431
|
-
it("keeps that button on a phone, where the panel is a third of the screen", () => {
|
|
432
|
-
// This row used to be hidden below the breakpoint, because two hash chips
|
|
433
|
-
// took half a 390px header and left the author's name as "t." with an
|
|
434
|
-
// ellipsis. Hiding a close button is a different thing entirely: it is the
|
|
435
|
-
// only way out on the device with no Escape key.
|
|
436
|
-
const phone = css.slice(css.indexOf("@media (max-width: 640px)"));
|
|
437
|
-
expect(phone.slice(0, phone.indexOf("\n}"))).not.toContain(".detail-head-actions");
|
|
438
|
-
expect(css).not.toContain(".detail-head-actions { display: none; }");
|
|
439
|
-
});
|
|
440
|
-
|
|
441
|
-
it("closes the same way from the button and from Escape", () => {
|
|
442
|
-
// Two copies of this drift, and the way it shows is a row left marked
|
|
443
|
-
// selected — a highlight explaining a panel that is no longer there.
|
|
444
|
-
const close = html.slice(html.indexOf("function closeDetailPanel"));
|
|
445
|
-
const body = close.slice(0, close.indexOf("\n}"));
|
|
446
|
-
expect(body).toContain("state.selectedCommit = null");
|
|
447
|
-
expect(body).toContain("state.expandedCommit = null");
|
|
448
|
-
expect(body).toContain("classList.add('hidden')");
|
|
449
|
-
expect(body).toContain(".commit-row.selected");
|
|
450
|
-
expect(body).toContain("renderScrollMarkers()");
|
|
451
|
-
expect(html).toContain("else if (state.expandedCommit) closeDetailPanel();");
|
|
452
|
-
const handler = html.slice(html.indexOf("// The header's dismiss."), 0 + html.indexOf("const copySource"));
|
|
453
|
-
expect(handler).toContain("closest('.detail-close')");
|
|
454
|
-
expect(handler).toContain("closeDetailPanel()");
|
|
455
|
-
});
|
|
456
|
-
|
|
457
|
-
it("copies any value it shows, by one delegate", () => {
|
|
458
|
-
// The hash chips and the metadata values are the same affordance; two
|
|
459
|
-
// handlers would be two chances for one of them to stop working.
|
|
460
|
-
const handler = html.slice(html.indexOf("// Metadata values."));
|
|
461
|
-
expect(handler.slice(0, 400)).toContain("closest('[data-copy]')");
|
|
462
|
-
// Both helpers route through the same one, and a person copies as the
|
|
463
|
-
// canonical form git wants back rather than as what is on screen.
|
|
464
|
-
expect(html).toContain("function copyable(inner, text, cls)");
|
|
465
|
-
expect(html).toContain("name + ' <' + email + '>'");
|
|
466
|
-
});
|
|
467
|
-
|
|
468
|
-
/** The block that turns the panel into two panes. */
|
|
469
|
-
const wide = css.slice(css.indexOf("@media (min-width: 900px)"), css.indexOf("\n}", css.indexOf("@media (min-width: 900px)")));
|
|
470
|
-
|
|
471
|
-
it("puts the file list beside the message when there is room", () => {
|
|
472
|
-
// The message is hard-wrapped by whoever wrote it, so on a wide panel it
|
|
473
|
-
// fills half the width and the rest of the row is empty.
|
|
474
|
-
expect(wide).toMatch(/\.detail-grid\.has-files \{[^}]*grid-template-columns: minmax\(0, 1fr\) minmax/);
|
|
475
|
-
});
|
|
476
|
-
|
|
477
|
-
it("gives each pane its own scrollbar, and takes the panel's away", () => {
|
|
478
|
-
// A long message and a long file list are two lists of unrelated length.
|
|
479
|
-
// Scrolling them as one means reaching the twentieth file by pushing the
|
|
480
|
-
// message off the screen — and the panel keeping its own scrollbar as well
|
|
481
|
-
// would nest a scroller inside a scroller.
|
|
482
|
-
expect(wide).toMatch(/\.detail-panel\.split \{[^}]*overflow: hidden/);
|
|
483
|
-
expect(wide).toMatch(/\.detail-panel\.split \.detail-grid > \* \{[^}]*overflow-y: auto/);
|
|
484
|
-
const base = css.slice(css.indexOf(".detail-panel {"), css.indexOf(".detail-panel h3"));
|
|
485
|
-
expect(base).toContain("overflow-y: auto");
|
|
486
|
-
});
|
|
487
|
-
|
|
488
|
-
it("leaves no strip above the files header for rows to scroll through", () => {
|
|
489
|
-
// A sticky element sits at its container's *padding* edge, so the pane's
|
|
490
|
-
// own padding-top becomes a gap above the header that rows pass through in
|
|
491
|
-
// full view rather than under. The header carries that space instead.
|
|
492
|
-
expect(wide).toMatch(/\.detail-panel\.split \.detail-files \{[^}]*padding-top: 0/);
|
|
493
|
-
expect(wide).toMatch(/\.detail-panel\.split \.files-head \{[^}]*position: sticky[^}]*padding:/);
|
|
494
|
-
});
|
|
495
|
-
|
|
496
|
-
it("draws one rule in the left pane, under the metadata", () => {
|
|
497
|
-
// Two hairlines in a 360px panel is furniture; 14px semibold against
|
|
498
|
-
// 11.5px monospace already reads as two different things. And the rule
|
|
499
|
-
// cannot belong to the body, which is capped at a readable measure and
|
|
500
|
-
// would stop the border short of the pane edge for no visible reason.
|
|
501
|
-
expect(css).toMatch(/\.detail-meta \{[^}]*border-bottom: 1px solid var\(--border\)/);
|
|
502
|
-
const subject = css.slice(css.indexOf(".detail-subject {"));
|
|
503
|
-
expect(subject.slice(0, subject.indexOf("}"))).not.toContain("border-bottom");
|
|
504
|
-
const text = css.slice(css.indexOf(".detail-text {"));
|
|
505
|
-
expect(text.slice(0, text.indexOf("}"))).not.toContain("border");
|
|
506
|
-
});
|
|
507
|
-
|
|
508
|
-
it("only splits when a commit is showing, and hands the scrollbar back", () => {
|
|
509
|
-
// Uncommitted changes are one column with a commit box at the bottom; left
|
|
510
|
-
// split, the panel would clip them with no way to scroll to it.
|
|
511
|
-
expect(render).toContain("panel.classList.toggle('split', !!right)");
|
|
512
|
-
expect(uncommitted).toContain("panel.classList.remove('split')");
|
|
513
|
-
});
|
|
514
|
-
|
|
515
|
-
it("only splits the columns when there is a file list to put in one", () => {
|
|
516
|
-
// Otherwise the message would sit in a 62% column with nothing beside it.
|
|
517
|
-
expect(render).toContain("(right ? ' has-files' : '')");
|
|
518
|
-
});
|
|
519
|
-
|
|
520
|
-
it("leaves the panel unpadded and pads each view instead", () => {
|
|
521
|
-
// The header is a full-width sticky bar, so the padding cannot live on the
|
|
522
|
-
// scroller — which means every other thing written into the panel has to
|
|
523
|
-
// bring its own.
|
|
524
|
-
const panelRule = css.slice(css.indexOf(".detail-panel {"), css.indexOf(".detail-panel h3"));
|
|
525
|
-
expect(panelRule).not.toContain("padding");
|
|
526
|
-
expect(css).toContain(".detail-pad { padding:");
|
|
527
|
-
expect(uncommitted).toContain('detail-pad');
|
|
528
|
-
});
|
|
529
|
-
|
|
530
|
-
it("copies the whole hash from the cell that sets off its first eight", () => {
|
|
531
|
-
// A short hash is what you read; a full one is what you paste. Since the
|
|
532
|
-
// header's chips became the close button, this cell is where both are.
|
|
533
|
-
const cell = html.slice(html.indexOf("function hashCell(hash)"));
|
|
534
|
-
const body = cell.slice(0, cell.indexOf("\n}"));
|
|
535
|
-
expect(body).toContain("String(hash).slice(0, 8)");
|
|
536
|
-
expect(body).toContain("copyable(");
|
|
537
|
-
expect(body).toContain(", hash, 'mono')");
|
|
538
|
-
});
|
|
539
|
-
|
|
540
|
-
it("shows the file name before the directory it is in", () => {
|
|
541
|
-
// The list is a narrow column, so what has to survive the ellipsis is the
|
|
542
|
-
// name — which means it cannot be at the end.
|
|
543
|
-
const list = html.slice(html.indexOf("function renderFileListHtml"), html.indexOf("function renderFileActions"));
|
|
544
|
-
expect(list.indexOf("basename(f.path)")).toBeLessThan(list.indexOf("dirname(f.path)"));
|
|
545
|
-
});
|
|
546
|
-
|
|
547
|
-
it("gives the directory the slack so the stats and the buttons stay together", () => {
|
|
548
|
-
// Both .file-stat and .file-actions used to claim margin-left auto, which
|
|
549
|
-
// splits the leftover space and leaves the numbers floating mid-row.
|
|
550
|
-
expect(css).toMatch(/\.file-item \.file-dir \{[^}]*flex: 1/);
|
|
551
|
-
const actions = css.slice(css.indexOf(".file-actions {"));
|
|
552
|
-
expect(actions.slice(0, actions.indexOf("}"))).not.toContain("margin-left: auto");
|
|
487
|
+
it("drops the message's floor on a phone, where the row is the message", () => {
|
|
488
|
+
expect(media("@media (max-width: 640px)")).toContain(".col-message { min-width: 0; }");
|
|
553
489
|
});
|
|
554
|
-
});
|
|
555
|
-
|
|
556
|
-
describe("webview-html: a panel narrower than the table", () => {
|
|
557
|
-
const html = getWebviewHtml();
|
|
558
490
|
|
|
559
|
-
it("
|
|
560
|
-
|
|
561
|
-
// the only column that can shrink, so from about twenty parallel branches
|
|
562
|
-
// on it was the message that paid for the graph — all of it, down to zero.
|
|
563
|
-
expect(html).not.toContain("setProperty('--graph-col-w', gw + 'px')");
|
|
564
|
-
expect(html).toContain("function graphColCap()");
|
|
565
|
-
expect(html).toContain("area.clientWidth - fixed - rowPadding - MESSAGE_MIN_W");
|
|
566
|
-
expect(html).toContain("Math.min(want || GRAPH_MIN_W, cap)");
|
|
491
|
+
it("never holds the table open and scrolls it sideways", () => {
|
|
492
|
+
expect(css).not.toContain("min-width: 880px");
|
|
567
493
|
});
|
|
494
|
+
});
|
|
568
495
|
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
expect(
|
|
574
|
-
expect(
|
|
496
|
+
describe("the inspector", () => {
|
|
497
|
+
const detail = fn("renderDetailPanel");
|
|
498
|
+
|
|
499
|
+
it("is a column on a wide panel, a panel over the list below that, and a bottom sheet on a phone", () => {
|
|
500
|
+
expect(rule("#gg-main")).toContain("grid-template-columns: minmax(0, 1fr) var(--gg-inspector-w)");
|
|
501
|
+
expect(media("@media (max-width: 900px)")).toContain("#detail-panel { position: absolute;");
|
|
502
|
+
const phone = media("@media (max-width: 640px)");
|
|
503
|
+
expect(phone).toContain("#detail-panel { position: fixed; top: auto; left: 0; right: 0; bottom: 0;");
|
|
504
|
+
expect(phone).toContain(".detail-panel .grab { display: flex;");
|
|
505
|
+
});
|
|
506
|
+
|
|
507
|
+
it("closes the same way from its button, the scrim and Escape", () => {
|
|
508
|
+
for (const view of ["renderDetailPanel", "renderStashPanel", "renderWipPanel"]) expect(fn(view)).toContain("CLOSE_BUTTON");
|
|
509
|
+
expect(script).toContain("if (e.target.closest('.detail-close')) { e.stopPropagation(); closeDetailPanel(); return; }");
|
|
510
|
+
expect(script).toContain("document.getElementById('sheet-scrim').addEventListener('click', closeDetailPanel)");
|
|
511
|
+
expect(script).toContain("if (state.inspectorOpen) closeDetailPanel();");
|
|
512
|
+
});
|
|
513
|
+
|
|
514
|
+
it("draws each file with the app's icon for its type, asked for once the rows are in", () => {
|
|
515
|
+
expect(fn("renderFileListHtml")).toContain("fileIconHtml(f.path)");
|
|
516
|
+
expect(fn("wipFileRowHtml")).toContain("fileIconHtml(file.path)");
|
|
517
|
+
for (const [view, insert] of [
|
|
518
|
+
["renderDetailPanel", "panel.innerHTML ="],
|
|
519
|
+
["renderStashPanel", "panel.innerHTML ="],
|
|
520
|
+
["updateWipPanel", "getElementById('wip-list').innerHTML ="],
|
|
521
|
+
] as const) {
|
|
522
|
+
const body = fn(view);
|
|
523
|
+
expect(body.indexOf(insert)).toBeGreaterThan(-1);
|
|
524
|
+
expect(body.indexOf("requestFileIcons();")).toBeGreaterThan(body.indexOf(insert));
|
|
525
|
+
}
|
|
526
|
+
expect(script).toContain("case '__ppm.fileIcons':");
|
|
527
|
+
// The span has no content, so without a size of its own it is nothing at all.
|
|
528
|
+
expect(rule(".vsi")).toContain("display: inline-block; flex: none; width: 16px; height: 16px;");
|
|
575
529
|
});
|
|
576
530
|
|
|
577
|
-
it("
|
|
578
|
-
//
|
|
579
|
-
//
|
|
580
|
-
|
|
531
|
+
it("lists the same six fields every time, in the same order", () => {
|
|
532
|
+
// A field that comes and goes cannot be found by muscle memory, and a
|
|
533
|
+
// rebase or an amend is exactly what makes the two dates differ.
|
|
534
|
+
const order = [
|
|
535
|
+
"metaRow('Commit'", "metaRow(parentCount > 1 ? 'Parents' : 'Parent'", "metaRow('Author'",
|
|
536
|
+
"metaRow('Author date'", "metaRow('Committer'", "metaRow('Commit date'",
|
|
537
|
+
].map((call) => detail.indexOf(call));
|
|
538
|
+
expect(order.every((at) => at > -1)).toBe(true);
|
|
539
|
+
expect([...order].sort((a, b) => a - b)).toEqual(order);
|
|
540
|
+
expect(detail).toContain("whenCell(detail.authorDate)");
|
|
541
|
+
expect(detail).toContain("whenCell(detail.commitDate)");
|
|
542
|
+
});
|
|
543
|
+
|
|
544
|
+
it("says which timezone a time is in, with options Intl accepts together", () => {
|
|
545
|
+
// dateStyle or timeStyle plus timeZoneName is a TypeError, which behind a
|
|
546
|
+
// catch looks exactly like a locale with no zone to give.
|
|
547
|
+
const format = blockAt(script, "const WHEN_FORMAT = {");
|
|
548
|
+
expect(format).not.toContain("dateStyle");
|
|
549
|
+
expect(format).not.toContain("timeStyle");
|
|
550
|
+
const options = new Function(`return ${format.slice(format.indexOf("{"))}`)();
|
|
551
|
+
expect(new Date(1_788_943_142_000).toLocaleString(undefined, options)).toMatch(/GMT|UTC/);
|
|
581
552
|
});
|
|
582
553
|
|
|
583
|
-
it("
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
expect(
|
|
588
|
-
expect(
|
|
589
|
-
expect(
|
|
554
|
+
it("sets the body as blocks, reflowing only the ones that were wrapped", () => {
|
|
555
|
+
const body = fn("messageBodyHtml");
|
|
556
|
+
expect(body).toContain("splitCommitBody(body)");
|
|
557
|
+
expect(body).toContain("'<p class=\"msg-p\">'");
|
|
558
|
+
expect(body).toContain("'<pre class=\"msg-pre\">'");
|
|
559
|
+
expect(rule(".msg-p")).not.toContain("--mono-font");
|
|
560
|
+
expect(rule(".msg-pre")).toContain("var(--mono-font)");
|
|
561
|
+
// The reset zeroed every margin, so the blocks space themselves.
|
|
562
|
+
expect(css).toMatch(/\.msg-p \+ \.msg-p[^{]*\{[^}]*margin-top/);
|
|
590
563
|
});
|
|
591
564
|
|
|
592
|
-
it("
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
expect(html).not.toContain("graph-hscroll");
|
|
598
|
-
expect(html).toMatch(/#graph-pan-bar \{[^}]*position: absolute/);
|
|
599
|
-
expect(html).toMatch(/#graph-pan-bar \{[^}]*pointer-events: none/);
|
|
600
|
-
expect(html).toContain("transform: translateX(calc(-1 * var(--graph-pan-x, 0px)))");
|
|
565
|
+
it("copies any value it shows through one delegate, as git wants it back", () => {
|
|
566
|
+
expect(script).toContain("const copySource = e.target.closest('[data-copy]');");
|
|
567
|
+
expect(fn("personCell")).toContain("name + ' <' + email + '>'");
|
|
568
|
+
expect(fn("hashCell")).toContain("String(hash).slice(0, 8)");
|
|
569
|
+
expect(rule(".hash-lead")).toContain("var(--text)");
|
|
601
570
|
});
|
|
602
571
|
|
|
603
|
-
it("
|
|
604
|
-
//
|
|
605
|
-
|
|
606
|
-
expect(
|
|
607
|
-
expect(
|
|
572
|
+
it("puts a file's name first and cuts its folder from the start", () => {
|
|
573
|
+
// In a narrow column the part of a path that tells two files apart is its end.
|
|
574
|
+
const name = fn("nameAndDir");
|
|
575
|
+
expect(name.indexOf("'<b>' + name")).toBeLessThan(name.indexOf('<small class="sx">'));
|
|
576
|
+
expect(rule(".sx")).toContain("direction: rtl");
|
|
608
577
|
});
|
|
609
578
|
|
|
610
|
-
it("
|
|
611
|
-
//
|
|
612
|
-
//
|
|
613
|
-
|
|
614
|
-
expect(
|
|
615
|
-
expect(
|
|
579
|
+
it("isolates every start-ellipsized path, or its punctuation lands at the wrong end", () => {
|
|
580
|
+
// Outside an isolate the "." of ".gitignore" takes the box's right-to-left
|
|
581
|
+
// direction and renders as "gitignore.".
|
|
582
|
+
const uses = [...script.matchAll(/class="sx">(.{0,5})/g)].map((m) => m[1]!);
|
|
583
|
+
expect(uses.length).toBeGreaterThan(0);
|
|
584
|
+
for (const next of uses) expect(next).toBe("<bdi>");
|
|
616
585
|
});
|
|
617
586
|
|
|
618
|
-
it("
|
|
619
|
-
// The
|
|
620
|
-
|
|
621
|
-
expect(
|
|
622
|
-
expect(
|
|
587
|
+
it("builds the uncommitted view once and then updates it in parts", () => {
|
|
588
|
+
// The changes are read every five seconds; a rebuild would take the cursor
|
|
589
|
+
// out of the message box someone is typing in.
|
|
590
|
+
expect(fn("renderWipPanel")).toContain("if (panel.dataset.view !== 'wip') {");
|
|
591
|
+
expect(fn("updateWipPanel")).toContain("if (sig !== wipFilesSig) {");
|
|
592
|
+
expect(fn("applyDraft")).toContain("if (Date.now() - state.draftEditedAt < 3000) return;");
|
|
623
593
|
});
|
|
624
594
|
|
|
625
|
-
it("
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
const cssFloor = html.match(/\.col-message \{[^}]*min-width: (\d+)px/);
|
|
629
|
-
const jsFloor = html.match(/const MESSAGE_MIN_W = (\d+);/);
|
|
630
|
-
expect(cssFloor?.[1]).toBeDefined();
|
|
631
|
-
expect(cssFloor?.[1]).toBe(jsFloor?.[1]);
|
|
595
|
+
it("asks git for a commit's files and draws what the row already knows meanwhile", () => {
|
|
596
|
+
expect(fn("renderInspector")).toContain("renderDetailPanel(partialDetail(commit))");
|
|
597
|
+
expect(fn("receiveDetail")).toContain("if (!detail || detail.hash !== state.selectedCommit) return;");
|
|
632
598
|
});
|
|
599
|
+
});
|
|
633
600
|
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
expect(phone.slice(0, phone.indexOf("\n}"))).toContain(".col-message { min-width: 0; }");
|
|
601
|
+
describe("touch", () => {
|
|
602
|
+
it("disarms a long press on touchcancel, which is all a scroll sends", () => {
|
|
603
|
+
expect(fn("setupLongPress")).toContain("el.addEventListener('touchcancel'");
|
|
638
604
|
});
|
|
639
605
|
|
|
640
|
-
it("
|
|
641
|
-
|
|
642
|
-
expect(
|
|
606
|
+
it("hides row actions behind hover only where there is a hover", () => {
|
|
607
|
+
const hidden = css.indexOf(".sc-row .acts { opacity: 0; }");
|
|
608
|
+
expect(hidden).toBeGreaterThan(-1);
|
|
609
|
+
expect(blockAt(css, "@media (hover: hover)", css.lastIndexOf("@media (hover: hover)", hidden))).toContain(".sc-row .acts { opacity: 0; }");
|
|
643
610
|
});
|
|
644
611
|
|
|
645
|
-
it("
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
expect(
|
|
650
|
-
expect(
|
|
612
|
+
it("gives a phone 44px targets", () => {
|
|
613
|
+
const phone = media("@media (max-width: 640px)");
|
|
614
|
+
expect(phone).toContain(".tool { width: 44px; height: 44px;");
|
|
615
|
+
expect(phone).toContain(".dialog-actions .btn { width: 100%; height: 44px; }");
|
|
616
|
+
expect(phone).toContain(".op-banner .acts .btn { flex: 1 1 0; height: 44px;");
|
|
617
|
+
expect(phone).toContain(".menu.as-sheet .mi { min-height: 48px;");
|
|
651
618
|
});
|
|
652
619
|
|
|
653
|
-
it("declares the
|
|
654
|
-
|
|
655
|
-
const tier = html.indexOf("@media (max-width: 900px)");
|
|
656
|
-
const phone = html.indexOf("@media (max-width: 640px)");
|
|
657
|
-
expect(coarse).toBeLessThan(tier);
|
|
658
|
-
expect(tier).toBeLessThan(phone);
|
|
620
|
+
it("declares the phone block after the coarse-pointer one it has to beat", () => {
|
|
621
|
+
expect(css.indexOf("@media (pointer: coarse)")).toBeLessThan(css.indexOf("@media (max-width: 640px)"));
|
|
659
622
|
});
|
|
660
623
|
});
|
|
661
624
|
|
|
662
|
-
describe("
|
|
663
|
-
const
|
|
664
|
-
const columns = [
|
|
665
|
-
{ key: "colRefs", cls: "cols-no-refs", col: "col-refs" },
|
|
666
|
-
{ key: "colChanges", cls: "cols-no-changes", col: "col-changes" },
|
|
667
|
-
{ key: "colAuthor", cls: "cols-no-author", col: "col-author" },
|
|
668
|
-
{ key: "colDate", cls: "cols-no-date", col: "col-date" },
|
|
669
|
-
{ key: "colHash", cls: "cols-no-hash", col: "col-hash" },
|
|
670
|
-
];
|
|
671
|
-
|
|
672
|
-
it("offers every optional column in Settings, in the script, and in CSS", () => {
|
|
673
|
-
for (const c of columns) {
|
|
674
|
-
expect(html).toContain(`id="s-${c.key}"`);
|
|
675
|
-
expect(html).toContain(`{ key: '${c.key}', cls: '${c.cls}'`);
|
|
676
|
-
expect(html).toContain(`.${c.cls} .${c.col} { display: none; }`);
|
|
677
|
-
}
|
|
678
|
-
});
|
|
679
|
-
|
|
680
|
-
it("zeroes the refs variable when that column goes, not just the cell", () => {
|
|
681
|
-
// The variable is where the graph overlay starts, so hiding the cell alone
|
|
682
|
-
// would leave every node drawn 170px to the right of its row's dot.
|
|
683
|
-
expect(html).toContain(".cols-no-refs { --refs-col-w: 0px; }");
|
|
684
|
-
});
|
|
685
|
-
|
|
686
|
-
it("opens the same list from the header as from Settings", () => {
|
|
687
|
-
expect(html).toContain("header.addEventListener('contextmenu'");
|
|
688
|
-
expect(html).toContain("setupLongPress(header, (x, y) => showColumnMenu(x, y))");
|
|
689
|
-
expect(html).toContain("setColumnVisible(col.key, e.target.checked)");
|
|
690
|
-
});
|
|
625
|
+
describe("answers from the host", () => {
|
|
626
|
+
const onMessage = script.slice(script.indexOf("window.addEventListener('message'"));
|
|
691
627
|
|
|
692
|
-
it("
|
|
693
|
-
|
|
694
|
-
//
|
|
695
|
-
expect(
|
|
696
|
-
|
|
697
|
-
expect(
|
|
698
|
-
expect(html).toContain("window.matchMedia('(max-width: 760px)').matches");
|
|
628
|
+
it("hands each answer to the request that asked, and reports one nobody waited on", () => {
|
|
629
|
+
const answer = onMessage.slice(onMessage.indexOf("case 'actionResult':"), onMessage.indexOf("case 'error':"));
|
|
630
|
+
// By the request's id, which the host echoes: two of one action can finish in either order.
|
|
631
|
+
expect(answer).toContain("const cb = takePending(msg.action, msg.reqId);");
|
|
632
|
+
// null was asked for and deliberately unanswered (the silent fetch).
|
|
633
|
+
expect(answer).toContain("else if (cb === undefined && !result.ok) showActionError(");
|
|
699
634
|
});
|
|
700
635
|
|
|
701
|
-
it("
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
expect(apply.slice(0, apply.indexOf("\n}"))).toContain("applyGraphColWidth()");
|
|
636
|
+
it("fails the waiting request when the host could not even start it", () => {
|
|
637
|
+
const error = onMessage.slice(onMessage.indexOf("case 'error':"));
|
|
638
|
+
expect(error).toContain("const cb = takePending(msg.failed, msg.reqId);");
|
|
639
|
+
expect(error).toContain("cb({ ok: false, error: msg.message }, msg)");
|
|
706
640
|
});
|
|
707
641
|
});
|