@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,23 +1,37 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Source Control: the branch and its sync button, the shared commit message,
|
|
3
|
+
* and the working tree as one list of changed files.
|
|
4
|
+
*
|
|
5
|
+
* One list rather than VS Code's "Staged" and "Changes" groups, because a
|
|
6
|
+
* file is not one or the other — staging works block by block, so a file is
|
|
7
|
+
* often partly staged. Each row says how much with a dot per block and a
|
|
8
|
+
* three-state checkbox; ticking it stages the rest of the file, and the Review
|
|
9
|
+
* tab (or Lines…) is where a single block is picked.
|
|
10
|
+
*
|
|
11
|
+
* Read from `GET /git/changes` (`useGitChanges`), which also keeps the sidebar
|
|
12
|
+
* badge, the explorer's decorations and the status bar current while this
|
|
13
|
+
* panel is open. Every discard can be undone from its toast for a day: the
|
|
14
|
+
* server keeps what it threw away (`git-discard-journal`).
|
|
15
|
+
*/
|
|
16
|
+
import { useEffect, useMemo, useRef, useState } from "react";
|
|
17
|
+
import { toast } from "sonner";
|
|
2
18
|
import { emitOnboardingEvidence } from "@/lib/onboarding/onboarding-types";
|
|
3
19
|
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
RefreshCw,
|
|
7
|
-
ArrowUpFromLine,
|
|
20
|
+
AlertCircle,
|
|
21
|
+
Archive,
|
|
8
22
|
ArrowDownToLine,
|
|
9
|
-
Loader2,
|
|
10
|
-
Undo2,
|
|
11
|
-
List,
|
|
12
|
-
FolderTree,
|
|
13
|
-
ChevronRight,
|
|
14
|
-
ChevronDown,
|
|
15
|
-
FileText,
|
|
16
|
-
GitCommitHorizontal,
|
|
17
|
-
GitBranch,
|
|
18
23
|
Check,
|
|
19
|
-
SquareDashedMousePointer,
|
|
20
24
|
FileDiff,
|
|
25
|
+
FolderTree,
|
|
26
|
+
GitBranch,
|
|
27
|
+
History,
|
|
28
|
+
List,
|
|
29
|
+
Loader2,
|
|
30
|
+
MoreHorizontal,
|
|
31
|
+
RefreshCw,
|
|
32
|
+
Trash2,
|
|
33
|
+
Undo2,
|
|
34
|
+
X,
|
|
21
35
|
} from "@/lib/icons";
|
|
22
36
|
import { SidebarHeader } from "@/components/ui/sidebar-header";
|
|
23
37
|
import { api, projectUrl } from "@/lib/api-client";
|
|
@@ -26,22 +40,26 @@ import { useShallow } from "zustand/react/shallow";
|
|
|
26
40
|
import { useTabStore } from "@/stores/tab-store";
|
|
27
41
|
import { useSettingsStore } from "@/stores/settings-store";
|
|
28
42
|
import { useProjectStore } from "@/stores/project-store";
|
|
29
|
-
import { useGitStatusStore } from "@/stores/git-status-store";
|
|
30
43
|
import { useGitRepo } from "@/hooks/use-git-repo";
|
|
31
|
-
import {
|
|
44
|
+
import { useGitChanges } from "@/hooks/use-git-changes";
|
|
45
|
+
import { useIsMobile } from "@/hooks/use-is-mobile";
|
|
32
46
|
import { useExtensionStore } from "@/stores/extension-store";
|
|
33
|
-
import {
|
|
34
|
-
import { HunkStageDialog, type HunkStageTarget } from "./hunk-stage-dialog";
|
|
35
|
-
import { GitRepoBar, GitRepoChoice, GitNoRepo } from "./git-repo-picker";
|
|
36
|
-
import { Button } from "@/components/ui/button";
|
|
37
|
-
import { ScrollArea } from "@/components/ui/scroll-area";
|
|
47
|
+
import { openGitReview } from "@/lib/open-git-review";
|
|
38
48
|
import {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
49
|
+
allCheckState,
|
|
50
|
+
changeTotals,
|
|
51
|
+
discardSummary,
|
|
52
|
+
fileCheckState,
|
|
53
|
+
hasConflictMarkers,
|
|
54
|
+
hasUnstaged,
|
|
55
|
+
OPERATION_NOUN,
|
|
56
|
+
splitPath,
|
|
57
|
+
syncMode,
|
|
58
|
+
unstagePaths,
|
|
59
|
+
type SyncMode,
|
|
60
|
+
} from "@/lib/git-changes-view";
|
|
61
|
+
import { formatRelativeDate } from "@/lib/format-date";
|
|
62
|
+
import { Button } from "@/components/ui/button";
|
|
45
63
|
import {
|
|
46
64
|
DropdownMenu,
|
|
47
65
|
DropdownMenuContent,
|
|
@@ -49,16 +67,18 @@ import {
|
|
|
49
67
|
DropdownMenuSeparator,
|
|
50
68
|
DropdownMenuTrigger,
|
|
51
69
|
} from "@/components/ui/dropdown-menu";
|
|
52
|
-
import {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
} from "
|
|
60
|
-
import
|
|
61
|
-
import {
|
|
70
|
+
import type { ChangedFile, DiscardRecord, GitChanges, StashEntry } from "../../../shared/git-changes";
|
|
71
|
+
import { GitWorktreePanel } from "./git-worktree-panel";
|
|
72
|
+
import { HunkStageDialog, type HunkStageTarget } from "./hunk-stage-dialog";
|
|
73
|
+
import { GitRepoBar, GitRepoChoice, GitNoRepo } from "./git-repo-picker";
|
|
74
|
+
import { GitBranchRow } from "./git-branch-row";
|
|
75
|
+
import { GitCommitComposer, type CommitOptions } from "./git-commit-composer";
|
|
76
|
+
import { GitOperationBanner } from "./git-operation-banner";
|
|
77
|
+
import { GitStashSection, type StashAction } from "./git-stash-section";
|
|
78
|
+
import { GitChangeRow, type ChangeRowActions } from "./git-change-row";
|
|
79
|
+
import { GitChangeTree, type FolderActions } from "./git-change-tree";
|
|
80
|
+
import { CheckCell, CountChip, GroupLabel } from "./git-change-parts";
|
|
81
|
+
import { GitConfirm, type GitConfirmRequest } from "./git-confirm";
|
|
62
82
|
|
|
63
83
|
interface GitStatusPanelProps {
|
|
64
84
|
metadata?: Record<string, unknown>;
|
|
@@ -67,61 +87,17 @@ interface GitStatusPanelProps {
|
|
|
67
87
|
onNavigate?: () => void;
|
|
68
88
|
}
|
|
69
89
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
const STATUS_COLORS: Record<string, string> = {
|
|
73
|
-
M: "text-warning",
|
|
74
|
-
A: "text-success",
|
|
75
|
-
D: "text-error",
|
|
76
|
-
R: "text-primary",
|
|
77
|
-
C: "text-accent-2",
|
|
78
|
-
"?": "text-text-3",
|
|
79
|
-
};
|
|
80
|
-
|
|
81
|
-
/** Indent per nesting level, and where that level's guide line sits inside it. */
|
|
82
|
-
const TREE_INDENT = 14;
|
|
83
|
-
const TREE_GUIDE_X = 7;
|
|
84
|
-
|
|
85
|
-
/**
|
|
86
|
-
* Ellipsize a name from its *start* instead of its end.
|
|
87
|
-
*
|
|
88
|
-
* These names are distinguished by their suffix, and `text-overflow: ellipsis`
|
|
89
|
-
* cuts the wrong end: `remote-desktop-capture-input.ts` and
|
|
90
|
-
* `remote-desktop-capture-args.ts` are identical for 23 characters, so a column
|
|
91
|
-
* of right-truncated siblings renders as the same row repeated — which is the
|
|
92
|
-
* bug this replaced.
|
|
93
|
-
*
|
|
94
|
-
* A right-to-left box ellipsizes at its end edge, which is the left one, and
|
|
95
|
-
* `<bdi>` isolates the name so it still *reads* left to right. That matters for
|
|
96
|
-
* a leading dot: outside an isolate, the `.` of `.gitignore` is a neutral
|
|
97
|
-
* character at a run boundary and takes the paragraph's direction, so it hops
|
|
98
|
-
* to the other end and the name renders as `gitignore.`.
|
|
99
|
-
*
|
|
100
|
-
* Preferred over splitting the name in two and pinning the tail beside an
|
|
101
|
-
* ellipsized head: flex hands the head a fractional width while the ellipsis
|
|
102
|
-
* lands on a whole character, and the remainder shows as a ragged gap in the
|
|
103
|
-
* middle of every truncated name. Measured — `text-align` does not close it,
|
|
104
|
-
* because alignment does not apply to overflowing content.
|
|
105
|
-
*/
|
|
106
|
-
function StartEllipsis({ children, className }: { children: string; className?: string }) {
|
|
107
|
-
return (
|
|
108
|
-
<span dir="rtl" className={`truncate text-left ${className ?? ""}`}>
|
|
109
|
-
<bdi>{children}</bdi>
|
|
110
|
-
</span>
|
|
111
|
-
);
|
|
112
|
-
}
|
|
90
|
+
const plural = (n: number, word: string) => `${n} ${n === 1 ? word : `${word}s`}`;
|
|
91
|
+
const errorText = (e: unknown) => (e instanceof Error ? e.message : String(e));
|
|
113
92
|
|
|
114
93
|
export function GitStatusPanel({ metadata, tabId, onNavigate }: GitStatusPanelProps) {
|
|
115
94
|
const projectName = metadata?.projectName as string | undefined;
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
const
|
|
119
|
-
const
|
|
120
|
-
const [
|
|
121
|
-
const [
|
|
122
|
-
label: string;
|
|
123
|
-
files: string[];
|
|
124
|
-
} | null>(null);
|
|
95
|
+
// A project folder is not always the repository: it is often a container
|
|
96
|
+
// whose children are. This resolves which one every call below talks to.
|
|
97
|
+
const gitRepo = useGitRepo(projectName);
|
|
98
|
+
const { changes, error, refresh } = useGitChanges(projectName);
|
|
99
|
+
const [busy, setBusy] = useState<string | null>(null);
|
|
100
|
+
const [confirm, setConfirm] = useState<GitConfirmRequest | null>(null);
|
|
125
101
|
// Non-null while the hunk picker is open, for the file it was opened on.
|
|
126
102
|
const [hunkTarget, setHunkTarget] = useState<HunkStageTarget | null>(null);
|
|
127
103
|
const { openTab } = useTabStore(useShallow((s) => ({ openTab: s.openTab })));
|
|
@@ -130,203 +106,107 @@ export function GitStatusPanel({ metadata, tabId, onNavigate }: GitStatusPanelPr
|
|
|
130
106
|
const activeProjectPath = useProjectStore((s) =>
|
|
131
107
|
s.projects.find((p) => p.name === projectName)?.path,
|
|
132
108
|
);
|
|
133
|
-
const setGitChangesCount = useGitStatusStore((s) => s.setCount);
|
|
134
|
-
// A project folder is not always the repository: it is often a container
|
|
135
|
-
// whose children are. This resolves which one every call below talks to.
|
|
136
|
-
const gitRepo = useGitRepo(projectName);
|
|
137
109
|
const gitRoot = gitRepo.repo?.path ?? activeProjectPath;
|
|
110
|
+
const isMobile = useIsMobile();
|
|
138
111
|
const panelRef = useRef<HTMLDivElement>(null);
|
|
139
|
-
const
|
|
140
|
-
|
|
141
|
-
const
|
|
142
|
-
|
|
143
|
-
currentRepoKey.current = repoKey;
|
|
144
|
-
requestId.current++;
|
|
145
|
-
}
|
|
146
|
-
const [loadedRepoKey, setLoadedRepoKey] = useState<string | null>(null);
|
|
112
|
+
const moreRef = useRef<HTMLButtonElement>(null);
|
|
113
|
+
// The write under way, for a toast's Undo: it outlives the render it was made in.
|
|
114
|
+
const running = useRef<string | null>(null);
|
|
115
|
+
|
|
147
116
|
const activeProjectName = useProjectStore((s) => s.activeProject?.name);
|
|
148
117
|
const activeTabId = useTabStore((s) => s.activeTabId);
|
|
149
118
|
const [onboardingRefresh, setOnboardingRefresh] = useState(0);
|
|
150
119
|
useEffect(() => {
|
|
151
|
-
const
|
|
152
|
-
window.addEventListener("ppm:onboarding-refresh",
|
|
153
|
-
return () => window.removeEventListener("ppm:onboarding-refresh",
|
|
120
|
+
const onRefresh = () => setOnboardingRefresh((n) => n + 1);
|
|
121
|
+
window.addEventListener("ppm:onboarding-refresh", onRefresh);
|
|
122
|
+
return () => window.removeEventListener("ppm:onboarding-refresh", onRefresh);
|
|
154
123
|
}, []);
|
|
155
124
|
useEffect(() => {
|
|
156
125
|
if (!projectName || projectName !== activeProjectName || (tabId && tabId !== activeTabId) ||
|
|
157
|
-
!gitRepo.repo ||
|
|
126
|
+
!gitRepo.repo || !changes) return;
|
|
158
127
|
const visible = !!panelRef.current?.checkVisibility({ checkOpacity: true, checkVisibilityCSS: true });
|
|
159
128
|
if (visible) emitOnboardingEvidence({ type: "git-ready", projectName, visible });
|
|
160
|
-
}, [onboardingRefresh, projectName, activeProjectName, tabId, activeTabId, gitRepo.repo,
|
|
129
|
+
}, [onboardingRefresh, projectName, activeProjectName, tabId, activeTabId, gitRepo.repo, changes]);
|
|
161
130
|
// Git Graph extension is available when it has registered its command.
|
|
162
131
|
const gitGraphAvailable = useExtensionStore(
|
|
163
132
|
(s) => s.contributions?.commands?.some((c) => c.command === "git-graph.view") ?? false,
|
|
164
133
|
);
|
|
165
134
|
|
|
166
|
-
const
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
try {
|
|
172
|
-
setLoading(true);
|
|
173
|
-
const data = await api.get<GitStatus>(
|
|
174
|
-
gitRepo.gitUrl("/status"),
|
|
175
|
-
);
|
|
176
|
-
if (id !== requestId.current) return;
|
|
177
|
-
setStatus(data);
|
|
178
|
-
setLoadedRepoKey(`${projectName}:${gitRepo.repo.path}`);
|
|
179
|
-
setGitChangesCount(
|
|
180
|
-
projectName,
|
|
181
|
-
data.staged.length + data.unstaged.length + data.untracked.length,
|
|
182
|
-
);
|
|
183
|
-
useGitStatusStore.getState().setMeta(projectName, data);
|
|
184
|
-
setError(null);
|
|
185
|
-
} catch (e) {
|
|
186
|
-
if (id !== requestId.current) return;
|
|
187
|
-
setError(e instanceof Error ? e.message : "Failed to fetch status");
|
|
188
|
-
} finally {
|
|
189
|
-
if (id === requestId.current) setLoading(false);
|
|
190
|
-
}
|
|
191
|
-
}, [projectName, gitRepo, setGitChangesCount]);
|
|
192
|
-
|
|
193
|
-
useEffect(() => {
|
|
194
|
-
fetchStatus();
|
|
195
|
-
// Auto-reload every 5 seconds
|
|
196
|
-
const interval = setInterval(fetchStatus, 5000);
|
|
197
|
-
return () => { requestId.current++; clearInterval(interval); };
|
|
198
|
-
}, [fetchStatus]);
|
|
199
|
-
|
|
200
|
-
const stageFiles = async (files: string[]) => {
|
|
201
|
-
if (!projectName) return;
|
|
202
|
-
setActing(true);
|
|
203
|
-
try {
|
|
204
|
-
await api.post(gitRepo.gitUrl("/stage"), { files });
|
|
205
|
-
await fetchStatus();
|
|
206
|
-
} catch (e) {
|
|
207
|
-
setError(e instanceof Error ? e.message : "Stage failed");
|
|
208
|
-
} finally {
|
|
209
|
-
setActing(false);
|
|
210
|
-
}
|
|
211
|
-
};
|
|
212
|
-
|
|
213
|
-
const unstageFiles = async (files: string[]) => {
|
|
214
|
-
if (!projectName) return;
|
|
215
|
-
setActing(true);
|
|
216
|
-
try {
|
|
217
|
-
await api.post(gitRepo.gitUrl("/unstage"), { files });
|
|
218
|
-
await fetchStatus();
|
|
219
|
-
} catch (e) {
|
|
220
|
-
setError(e instanceof Error ? e.message : "Unstage failed");
|
|
221
|
-
} finally {
|
|
222
|
-
setActing(false);
|
|
223
|
-
}
|
|
224
|
-
};
|
|
135
|
+
const files = useMemo(() => changes?.files ?? [], [changes]);
|
|
136
|
+
const totals = useMemo(() => changeTotals(files), [files]);
|
|
137
|
+
const conflicts = useMemo(() => files.filter((f) => f.conflict), [files]);
|
|
138
|
+
const others = useMemo(() => files.filter((f) => !f.conflict), [files]);
|
|
139
|
+
const url = gitRepo.gitUrl;
|
|
225
140
|
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
141
|
+
/** One git write at a time; a failure is a toast, and the list is read again either way. */
|
|
142
|
+
async function run<T>(name: string, fn: () => Promise<T>, failure: string): Promise<{ value: T } | null> {
|
|
143
|
+
setBusy(name);
|
|
144
|
+
running.current = name;
|
|
229
145
|
try {
|
|
230
|
-
await
|
|
231
|
-
await fetchStatus();
|
|
146
|
+
return { value: await fn() };
|
|
232
147
|
} catch (e) {
|
|
233
|
-
|
|
148
|
+
toast.error(failure, { description: errorText(e) });
|
|
149
|
+
return null;
|
|
234
150
|
} finally {
|
|
235
|
-
|
|
151
|
+
setBusy(null);
|
|
152
|
+
running.current = null;
|
|
153
|
+
void refresh();
|
|
236
154
|
}
|
|
237
|
-
}
|
|
155
|
+
}
|
|
238
156
|
|
|
239
|
-
const
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
157
|
+
const stage = (paths: string[]) =>
|
|
158
|
+
run("stage", () => api.post(url("/stage"), { files: paths }), "Could not stage");
|
|
159
|
+
const unstage = (paths: string[]) =>
|
|
160
|
+
run("unstage", () => api.post(url("/unstage"), { files: paths }), "Could not unstage");
|
|
161
|
+
/** Tick: stage the rest; untick once it is all staged. Conflicts are only ever staged one by one. */
|
|
162
|
+
const toggleMany = (targets: ChangedFile[]) =>
|
|
163
|
+
allCheckState(targets) === "all"
|
|
164
|
+
? unstage(targets.flatMap(unstagePaths))
|
|
165
|
+
: stage(targets.filter((f) => !f.conflict).map((f) => f.path));
|
|
166
|
+
|
|
167
|
+
const undoDiscard = async (record: DiscardRecord, what: string) => {
|
|
168
|
+
const done = await run("undo", () => api.post(url("/discard/undo"), { id: record.id }), "Could not undo the discard");
|
|
169
|
+
if (done) toast.success(`Restored ${what}`);
|
|
243
170
|
};
|
|
244
171
|
|
|
245
|
-
const
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
172
|
+
const discard = async (targets: ChangedFile[]) => {
|
|
173
|
+
const what = targets.length === 1 ? splitPath(targets[0]!.path)[1] : plural(targets.length, "file");
|
|
174
|
+
const done = await run(
|
|
175
|
+
"discard",
|
|
176
|
+
() => api.post<{ discarded: string[]; undo: DiscardRecord | null }>(url("/discard"), { files: targets.map((f) => f.path) }),
|
|
177
|
+
"Could not discard",
|
|
178
|
+
);
|
|
179
|
+
const record = done?.value.undo;
|
|
180
|
+
if (!record) return;
|
|
181
|
+
// Undo brings back what was kept, and nothing else: a file too large to copy is gone
|
|
182
|
+
// for good, so a discard that kept nothing offers no Undo at all.
|
|
183
|
+
if (record.paths.length) {
|
|
184
|
+
const kept = record.paths.length === 1 ? splitPath(record.paths[0]!)[1] : plural(record.paths.length, "file");
|
|
185
|
+
toast(`Discarded changes to ${what}`, {
|
|
186
|
+
action: { label: "Undo", onClick: () => void undoDiscard(record, kept) },
|
|
187
|
+
duration: 8000,
|
|
251
188
|
});
|
|
252
|
-
setCommitMsg("");
|
|
253
|
-
await fetchStatus();
|
|
254
|
-
} catch (e) {
|
|
255
|
-
setError(e instanceof Error ? e.message : "Commit failed");
|
|
256
|
-
} finally {
|
|
257
|
-
setActing(false);
|
|
258
|
-
}
|
|
259
|
-
};
|
|
260
|
-
|
|
261
|
-
const handlePush = async () => {
|
|
262
|
-
if (!projectName) return;
|
|
263
|
-
setActing(true);
|
|
264
|
-
try {
|
|
265
|
-
await api.post(gitRepo.gitUrl("/push"), {});
|
|
266
|
-
await fetchStatus();
|
|
267
|
-
} catch (e) {
|
|
268
|
-
setError(e instanceof Error ? e.message : "Push failed");
|
|
269
|
-
} finally {
|
|
270
|
-
setActing(false);
|
|
271
|
-
}
|
|
272
|
-
};
|
|
273
|
-
|
|
274
|
-
const handlePull = async () => {
|
|
275
|
-
if (!projectName) return;
|
|
276
|
-
setActing(true);
|
|
277
|
-
try {
|
|
278
|
-
await api.post(gitRepo.gitUrl("/pull"), {});
|
|
279
|
-
await fetchStatus();
|
|
280
|
-
} catch (e) {
|
|
281
|
-
setError(e instanceof Error ? e.message : "Pull failed");
|
|
282
|
-
} finally {
|
|
283
|
-
setActing(false);
|
|
284
189
|
}
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
if (!projectName) return;
|
|
289
|
-
setActing(true);
|
|
290
|
-
try {
|
|
291
|
-
await api.post(gitRepo.gitUrl("/commit"), {
|
|
292
|
-
message: commitMsg.trim(),
|
|
293
|
-
amend: true,
|
|
190
|
+
if (record.skipped?.length) {
|
|
191
|
+
toast.warning(`${record.skipped.join(", ")} could not be kept, so it cannot be restored`, {
|
|
192
|
+
description: "Files over 20 MB are discarded without a copy.",
|
|
294
193
|
});
|
|
295
|
-
setCommitMsg("");
|
|
296
|
-
await fetchStatus();
|
|
297
|
-
} catch (e) {
|
|
298
|
-
setError(e instanceof Error ? e.message : "Amend failed");
|
|
299
|
-
} finally {
|
|
300
|
-
setActing(false);
|
|
301
194
|
}
|
|
302
195
|
};
|
|
303
196
|
|
|
304
|
-
const
|
|
305
|
-
if (!
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
}
|
|
315
|
-
};
|
|
316
|
-
|
|
317
|
-
// Composite actions sequence existing handlers (each guards on `acting` itself).
|
|
318
|
-
const handleCommitPush = async () => {
|
|
319
|
-
await handleCommit();
|
|
320
|
-
await handlePush();
|
|
321
|
-
};
|
|
322
|
-
|
|
323
|
-
const handleCommitSync = async () => {
|
|
324
|
-
await handleCommit();
|
|
325
|
-
await handlePull();
|
|
326
|
-
await handlePush();
|
|
197
|
+
const askDiscard = (targets: ChangedFile[], anchor: HTMLElement) => {
|
|
198
|
+
if (!targets.length) return;
|
|
199
|
+
const summary = discardSummary(targets);
|
|
200
|
+
setConfirm({
|
|
201
|
+
anchor,
|
|
202
|
+
title: summary.title,
|
|
203
|
+
body: summary.body,
|
|
204
|
+
confirmLabel: summary.confirm,
|
|
205
|
+
onConfirm: () => void discard(targets),
|
|
206
|
+
});
|
|
327
207
|
};
|
|
328
208
|
|
|
329
|
-
const openDiff = (file:
|
|
209
|
+
const openDiff = (file: ChangedFile) => {
|
|
330
210
|
openTab({
|
|
331
211
|
type: "git-diff",
|
|
332
212
|
title: basename(file.path),
|
|
@@ -342,31 +222,250 @@ export function GitStatusPanel({ metadata, tabId, onNavigate }: GitStatusPanelPr
|
|
|
342
222
|
onNavigate?.();
|
|
343
223
|
};
|
|
344
224
|
|
|
345
|
-
|
|
225
|
+
/** The Review changes tab, on `file` when one is given (a repository path, as git named it). */
|
|
226
|
+
const review = (file?: ChangedFile) => {
|
|
227
|
+
if (!projectName) return;
|
|
228
|
+
openGitReview(projectName, file?.path);
|
|
229
|
+
onNavigate?.();
|
|
230
|
+
};
|
|
231
|
+
|
|
232
|
+
const openFile = (file: ChangedFile) => {
|
|
346
233
|
openTab({
|
|
347
234
|
type: "editor",
|
|
348
235
|
title: basename(file.path),
|
|
349
236
|
closable: true,
|
|
350
|
-
metadata: {
|
|
351
|
-
projectName,
|
|
352
|
-
// git named this relative to the repository; a tab's filePath is
|
|
353
|
-
// relative to the project, and one directory up is an empty buffer.
|
|
354
|
-
filePath: gitRepo.projectFile(file.path),
|
|
355
|
-
},
|
|
237
|
+
metadata: { projectName, filePath: gitRepo.projectFile(file.path) },
|
|
356
238
|
projectId: projectName ?? null,
|
|
357
239
|
});
|
|
358
240
|
onNavigate?.();
|
|
359
241
|
};
|
|
360
242
|
|
|
361
|
-
const
|
|
362
|
-
(
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
243
|
+
const resolve = (file: ChangedFile) => {
|
|
244
|
+
openTab({
|
|
245
|
+
type: "conflict-editor",
|
|
246
|
+
title: `Conflict: ${basename(file.path)}`,
|
|
247
|
+
closable: true,
|
|
248
|
+
metadata: { projectName, filePath: gitRepo.projectFile(file.path) },
|
|
249
|
+
projectId: projectName ?? null,
|
|
250
|
+
});
|
|
251
|
+
onNavigate?.();
|
|
252
|
+
};
|
|
253
|
+
|
|
254
|
+
/**
|
|
255
|
+
* Staging a conflict is what marks it resolved, markers or not — so with
|
|
256
|
+
* git's markers still in the file, ask first, as VS Code does.
|
|
257
|
+
*/
|
|
258
|
+
const markResolved = async (file: ChangedFile, anchor?: HTMLElement) => {
|
|
259
|
+
const text = projectName
|
|
260
|
+
? await api
|
|
261
|
+
.get<{ content: string }>(`${projectUrl(projectName)}/files/read?path=${encodeURIComponent(gitRepo.projectFile(file.path))}`)
|
|
262
|
+
.then((r) => r.content, () => "")
|
|
263
|
+
: "";
|
|
264
|
+
if (!anchor || !hasConflictMarkers(text)) return void stage([file.path]);
|
|
265
|
+
setConfirm({
|
|
266
|
+
anchor,
|
|
267
|
+
title: `${basename(file.path)} still has conflict markers`,
|
|
268
|
+
body: "Marking it resolved stages the file as it is, markers and all.",
|
|
269
|
+
confirmLabel: "Mark resolved",
|
|
270
|
+
confirmIcon: <Check />,
|
|
271
|
+
onConfirm: () => void stage([file.path]),
|
|
272
|
+
});
|
|
273
|
+
};
|
|
274
|
+
|
|
275
|
+
const rowActions: ChangeRowActions = {
|
|
276
|
+
onOpen: review,
|
|
277
|
+
onOpenDiff: openDiff,
|
|
278
|
+
onOpenFile: openFile,
|
|
279
|
+
onToggle: (file, anchor) => {
|
|
280
|
+
if (file.conflict) void markResolved(file, anchor);
|
|
281
|
+
else if (fileCheckState(file) === "all") void unstage(unstagePaths(file));
|
|
282
|
+
else void stage([file.path]);
|
|
283
|
+
},
|
|
284
|
+
onStage: (file, anchor) => (file.conflict ? void markResolved(file, anchor) : void stage([file.path])),
|
|
285
|
+
onUnstage: (file) => unstage(unstagePaths(file)),
|
|
286
|
+
onPickLines: (file, scope) => setHunkTarget({ filePath: file.path, scope }),
|
|
287
|
+
onDiscard: (file, anchor) => askDiscard([file], anchor),
|
|
288
|
+
onResolve: resolve,
|
|
289
|
+
};
|
|
290
|
+
const folderActions: FolderActions = {
|
|
291
|
+
onToggleFolder: toggleMany,
|
|
292
|
+
onDiscardFolder: (targets, _folder, anchor) => askDiscard(targets, anchor),
|
|
293
|
+
};
|
|
294
|
+
|
|
295
|
+
/** Undo the commit `hash` names: the server refuses once it is no longer the last one. */
|
|
296
|
+
const undoCommit = async (hash: string | undefined) => {
|
|
297
|
+
// A push still going out could carry the commit to the remote after it was taken back here.
|
|
298
|
+
if (running.current) return void toast.warning("Wait for git to finish", { description: "Undo the commit once it is done." });
|
|
299
|
+
if (!hash) return;
|
|
300
|
+
const done = await run("undo-commit", () => api.post(url("/commit/undo"), { hash }), "Could not undo the commit");
|
|
301
|
+
if (done) toast("Commit undone — its changes are staged again");
|
|
302
|
+
};
|
|
303
|
+
|
|
304
|
+
async function sync(mode: SyncMode, branch = changes?.branch): Promise<boolean> {
|
|
305
|
+
if (!branch) return false;
|
|
306
|
+
const upstream = branch.upstream ?? "the remote";
|
|
307
|
+
switch (mode) {
|
|
308
|
+
case "push": {
|
|
309
|
+
const done = await run("push", () => api.post(url("/push"), {}), "Push failed");
|
|
310
|
+
if (done) toast.success(branch.ahead ? `Pushed ${plural(branch.ahead, "commit")} to ${upstream}` : `Pushed to ${upstream}`);
|
|
311
|
+
return !!done;
|
|
312
|
+
}
|
|
313
|
+
case "pull": {
|
|
314
|
+
const done = await run("pull", () => api.post(url("/pull"), {}), "Pull failed");
|
|
315
|
+
if (done) toast.success(`Pulled ${plural(branch.behind, "commit")} from ${upstream}`);
|
|
316
|
+
return !!done;
|
|
317
|
+
}
|
|
318
|
+
case "sync": {
|
|
319
|
+
const done = await run("sync", async () => {
|
|
320
|
+
await api.post(url("/pull"), {});
|
|
321
|
+
await api.post(url("/push"), {});
|
|
322
|
+
}, "Sync failed");
|
|
323
|
+
if (done) toast.success(`In sync with ${upstream}`);
|
|
324
|
+
return !!done;
|
|
325
|
+
}
|
|
326
|
+
case "publish": {
|
|
327
|
+
const done = await run("publish", () => api.post<{ remote: string; branch: string }>(url("/publish"), {}), "Publish failed");
|
|
328
|
+
if (done) toast.success(`Published ${done.value.branch} to ${done.value.remote}`);
|
|
329
|
+
return !!done;
|
|
330
|
+
}
|
|
331
|
+
case "synced": {
|
|
332
|
+
const done = await run("fetch", () => api.post(url("/fetch"), {}), "Fetch failed");
|
|
333
|
+
if (!done) return false;
|
|
334
|
+
const next = await refresh();
|
|
335
|
+
const behind = next?.branch.behind ?? 0;
|
|
336
|
+
toast(behind ? `Fetched — ${plural(behind, "new commit")} to pull` : "Fetched — nothing new");
|
|
337
|
+
return true;
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
const commit = async (message: string, options: CommitOptions): Promise<boolean> => {
|
|
343
|
+
const before: GitChanges | null = changes;
|
|
344
|
+
const filesStaged = totals.filesStaged;
|
|
345
|
+
const done = await run(
|
|
346
|
+
"commit",
|
|
347
|
+
() => api.post<{ hash: string }>(url("/commit"), { message, amend: !!options.amend, signoff: !!options.signoff }),
|
|
348
|
+
options.amend ? "Could not amend the commit" : "Could not commit",
|
|
349
|
+
);
|
|
350
|
+
if (!done) return false;
|
|
351
|
+
const short = done.value.hash.slice(0, 7);
|
|
352
|
+
if (options.amend) {
|
|
353
|
+
// Undo takes a commit back whole, which for an amend is more than the amend.
|
|
354
|
+
toast(`Amended ${short}`);
|
|
355
|
+
} else {
|
|
356
|
+
const hash = done.value.hash;
|
|
357
|
+
toast(`Committed ${short} · ${plural(filesStaged, "file")}`, {
|
|
358
|
+
action: { label: "Undo", onClick: () => void undoCommit(hash) },
|
|
359
|
+
});
|
|
360
|
+
}
|
|
361
|
+
if (options.push && before) {
|
|
362
|
+
// A branch with no upstream yet is published, not pushed.
|
|
363
|
+
const mode = syncMode(before.branch) === "publish" ? "publish" : "push";
|
|
364
|
+
await sync(mode, { ...before.branch, ahead: before.branch.ahead + 1 });
|
|
365
|
+
}
|
|
366
|
+
return true;
|
|
367
|
+
};
|
|
368
|
+
|
|
369
|
+
const stashAll = async () => {
|
|
370
|
+
const done = await run(
|
|
371
|
+
"stash",
|
|
372
|
+
() => api.post<{ stash: StashEntry | null }>(url("/stash"), { includeUntracked: true }),
|
|
373
|
+
"Could not stash",
|
|
374
|
+
);
|
|
375
|
+
if (!done) return;
|
|
376
|
+
// The stash this made, never the one on top: with nothing it could save, git
|
|
377
|
+
// still succeeds, and the stash on top is then an older one.
|
|
378
|
+
const top = done.value.stash;
|
|
379
|
+
if (!top) return void toast("Nothing was stashed", { description: "git found no change it could save." });
|
|
380
|
+
toast(`Stashed ${plural(totals.files, "file")}`, {
|
|
381
|
+
action: { label: "Undo", onClick: () => void stashAction("pop", top) },
|
|
382
|
+
});
|
|
383
|
+
};
|
|
384
|
+
|
|
385
|
+
const stashAction = async (action: StashAction, stash: StashEntry) => {
|
|
386
|
+
const done = await run(
|
|
387
|
+
`stash-${action}`,
|
|
388
|
+
() => api.post<{ indexRestored?: boolean }>(url(`/stash/${action}`), { index: stash.index, hash: stash.hash }),
|
|
389
|
+
`Could not ${action} the stash`,
|
|
390
|
+
);
|
|
391
|
+
if (!done) return;
|
|
392
|
+
const what = action === "apply" ? "Stash applied" : action === "pop" ? "Stash applied and dropped" : "Stash dropped";
|
|
393
|
+
if (done.value.indexRestored === false) {
|
|
394
|
+
toast.warning(what, { description: "Its staged changes no longer fit the index, so they came back unstaged." });
|
|
395
|
+
} else {
|
|
396
|
+
toast.success(what);
|
|
397
|
+
}
|
|
398
|
+
};
|
|
399
|
+
const onStash = (action: StashAction, stash: StashEntry, anchor: HTMLElement) => {
|
|
400
|
+
if (action !== "drop") return void stashAction(action, stash);
|
|
401
|
+
setConfirm({
|
|
402
|
+
anchor,
|
|
403
|
+
title: `Drop “${stash.message || `stash@{${stash.index}}`}”?`,
|
|
404
|
+
body: "The stash is deleted for good: nothing in PPM can bring it back.",
|
|
405
|
+
confirmLabel: "Drop stash",
|
|
406
|
+
onConfirm: () => void stashAction("drop", stash),
|
|
407
|
+
});
|
|
408
|
+
};
|
|
409
|
+
|
|
410
|
+
const abortOperation = (anchor: HTMLElement) => {
|
|
411
|
+
const op = changes?.operation;
|
|
412
|
+
if (!op) return;
|
|
413
|
+
const noun = OPERATION_NOUN[op.kind];
|
|
414
|
+
setConfirm({
|
|
415
|
+
anchor,
|
|
416
|
+
title: `Abort the ${noun}?`,
|
|
417
|
+
body: `This puts the branch back where it was before the ${noun} started. Conflicts you resolved so far are lost.`,
|
|
418
|
+
confirmLabel: `Abort ${noun}`,
|
|
419
|
+
confirmIcon: <X />,
|
|
420
|
+
onConfirm: () => void run("abort", () => api.post(url("/operation/abort"), {}), `Could not abort the ${noun}`),
|
|
421
|
+
});
|
|
422
|
+
};
|
|
423
|
+
const continueOperation = async () => {
|
|
424
|
+
const op = changes?.operation;
|
|
425
|
+
if (!op) return;
|
|
426
|
+
const done = await run("continue", () => api.post(url("/operation/continue"), {}), `Could not continue the ${OPERATION_NOUN[op.kind]}`);
|
|
427
|
+
if (done) toast.success(`The ${OPERATION_NOUN[op.kind]} is finished`);
|
|
428
|
+
};
|
|
429
|
+
|
|
430
|
+
const openGraph = () => {
|
|
431
|
+
if (gitGraphAvailable) {
|
|
432
|
+
const args: unknown[] = [];
|
|
433
|
+
// The repository, not the project folder: the graph runs git in
|
|
434
|
+
// whatever path it is handed.
|
|
435
|
+
if (gitRoot) args.push(gitRoot);
|
|
436
|
+
window.dispatchEvent(
|
|
437
|
+
new CustomEvent("ext:command:execute", {
|
|
438
|
+
detail: { command: "git-graph.view", args },
|
|
439
|
+
}),
|
|
440
|
+
);
|
|
441
|
+
} else {
|
|
442
|
+
openTab({
|
|
443
|
+
type: "git-log",
|
|
444
|
+
title: "Git Log",
|
|
445
|
+
projectId: projectName ?? null,
|
|
446
|
+
closable: true,
|
|
447
|
+
metadata: { projectName },
|
|
448
|
+
});
|
|
449
|
+
}
|
|
450
|
+
onNavigate?.();
|
|
451
|
+
};
|
|
452
|
+
|
|
453
|
+
/*
|
|
454
|
+
* Review the whole branch at once, rather than one commit at a time. Core
|
|
455
|
+
* rather than the Git Graph extension's compare panel: a review is the one
|
|
456
|
+
* git surface that wants Monaco, and a webview cannot have it. The tab picks
|
|
457
|
+
* its own defaults — main/master against the current branch.
|
|
458
|
+
*/
|
|
459
|
+
const openBranchReview = () => {
|
|
460
|
+
openTab({
|
|
461
|
+
type: "branch-review",
|
|
462
|
+
title: "Branch Review",
|
|
463
|
+
projectId: projectName ?? null,
|
|
464
|
+
closable: true,
|
|
465
|
+
metadata: { projectName },
|
|
466
|
+
});
|
|
467
|
+
onNavigate?.();
|
|
468
|
+
};
|
|
370
469
|
|
|
371
470
|
if (!projectName) {
|
|
372
471
|
return (
|
|
@@ -376,10 +475,10 @@ export function GitStatusPanel({ metadata, tabId, onNavigate }: GitStatusPanelPr
|
|
|
376
475
|
);
|
|
377
476
|
}
|
|
378
477
|
|
|
379
|
-
// Which repository comes first: a container workspace has no
|
|
478
|
+
// Which repository comes first: a container workspace has no changes of its
|
|
380
479
|
// own, and the panel's body renders the chooser. Both spinners below have to
|
|
381
|
-
// let that through, or the panel sits on
|
|
382
|
-
//
|
|
480
|
+
// let that through, or the panel sits on a spinner forever waiting for a
|
|
481
|
+
// fetch that deliberately never runs.
|
|
383
482
|
if (!gitRepo.repo && !gitRepo.needsPick && !gitRepo.noRepo) {
|
|
384
483
|
return (
|
|
385
484
|
<div className="flex items-center justify-center h-full gap-2 text-muted-foreground">
|
|
@@ -389,192 +488,167 @@ export function GitStatusPanel({ metadata, tabId, onNavigate }: GitStatusPanelPr
|
|
|
389
488
|
);
|
|
390
489
|
}
|
|
391
490
|
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
491
|
+
const discardable = others.filter(hasUnstaged);
|
|
492
|
+
const operation = changes?.operation ?? null;
|
|
493
|
+
const headerButton = "max-md:size-11";
|
|
494
|
+
|
|
495
|
+
const composer = changes && files.length > 0 && !operation && (
|
|
496
|
+
<GitCommitComposer
|
|
497
|
+
projectName={projectName}
|
|
498
|
+
branch={changes.branch.head}
|
|
499
|
+
totals={totals}
|
|
500
|
+
lastCommit={changes.lastCommit}
|
|
501
|
+
busy={busy}
|
|
502
|
+
onCommit={commit}
|
|
503
|
+
onUndoCommit={() => undoCommit(changes.lastCommit?.hash)}
|
|
504
|
+
className={isMobile ? "shrink-0 border-t border-border-soft" : "shrink-0"}
|
|
505
|
+
/>
|
|
506
|
+
);
|
|
400
507
|
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
508
|
+
const list = changes && (
|
|
509
|
+
files.length > 0 ? (
|
|
510
|
+
<>
|
|
511
|
+
{conflicts.length > 0 && (
|
|
512
|
+
<>
|
|
513
|
+
<GroupLabel count={conflicts.length} tone="error">
|
|
514
|
+
<AlertCircle className="size-3.5" />
|
|
515
|
+
Conflicts
|
|
516
|
+
</GroupLabel>
|
|
517
|
+
{conflicts.map((file) => (
|
|
518
|
+
<GitChangeRow key={file.path} file={file} busy={!!busy} actions={rowActions} />
|
|
519
|
+
))}
|
|
520
|
+
</>
|
|
521
|
+
)}
|
|
522
|
+
{others.length > 0 && (
|
|
523
|
+
<>
|
|
524
|
+
{/* On a phone the border sits outside the 44px, which the select-all box stretches to fill. */}
|
|
525
|
+
<div className="flex h-11 md:h-[34px] max-md:box-content shrink-0 items-center gap-1.5 border-t border-border-soft pl-2.5 first:border-t-0">
|
|
526
|
+
<span className="text-[10.5px] font-semibold uppercase tracking-[.07em] text-text-3">
|
|
527
|
+
{operation?.kind === "merge" ? "Merged" : "Changes"}
|
|
528
|
+
</span>
|
|
529
|
+
<CountChip count={others.length} />
|
|
530
|
+
<span className="flex-1" />
|
|
531
|
+
<Button
|
|
532
|
+
variant="ghost"
|
|
533
|
+
size="xs"
|
|
534
|
+
className="text-text-2 max-md:h-11"
|
|
535
|
+
title="Review block by block"
|
|
536
|
+
onClick={() => review()}
|
|
537
|
+
>
|
|
538
|
+
<FileDiff className="size-3.5" />
|
|
539
|
+
Review
|
|
540
|
+
</Button>
|
|
541
|
+
{/* Mid-merge these are the merge's own result: unticking them all
|
|
542
|
+
would quietly leave them out of the merge commit. */}
|
|
543
|
+
{!operation && (
|
|
544
|
+
<CheckCell
|
|
545
|
+
state={allCheckState(others)}
|
|
546
|
+
disabled={!!busy}
|
|
547
|
+
label={allCheckState(others) === "all" ? "Unstage everything" : "Stage everything"}
|
|
548
|
+
title={allCheckState(others) === "all" ? "Unstage everything" : "Stage everything"}
|
|
549
|
+
onToggle={() => void toggleMany(others)}
|
|
550
|
+
/>
|
|
551
|
+
)}
|
|
552
|
+
</div>
|
|
553
|
+
{viewMode === "tree" ? (
|
|
554
|
+
<GitChangeTree files={others} busy={!!busy} actions={rowActions} folderActions={folderActions} />
|
|
555
|
+
) : (
|
|
556
|
+
others.map((file) => (
|
|
557
|
+
<GitChangeRow key={file.path} file={file} busy={!!busy} actions={rowActions} />
|
|
558
|
+
))
|
|
559
|
+
)}
|
|
560
|
+
</>
|
|
561
|
+
)}
|
|
562
|
+
{changes.truncated && (
|
|
563
|
+
<p className="px-2.5 py-2 text-xs text-text-3">Only the first {files.length.toLocaleString()} changes are listed.</p>
|
|
564
|
+
)}
|
|
565
|
+
</>
|
|
566
|
+
) : (
|
|
567
|
+
<CleanState changes={changes} busy={busy} onUndoCommit={() => void undoCommit(changes.lastCommit?.hash)} />
|
|
568
|
+
)
|
|
569
|
+
);
|
|
411
570
|
|
|
412
|
-
const
|
|
413
|
-
|
|
571
|
+
const folds = projectName && changes && (
|
|
572
|
+
<div className="border-t border-border-soft">
|
|
573
|
+
<GitStashSection projectName={projectName} count={changes.stashes} busy={busy} onAction={onStash} />
|
|
574
|
+
<GitWorktreePanel projectName={projectName} projectPath={gitRoot} />
|
|
575
|
+
</div>
|
|
576
|
+
);
|
|
414
577
|
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
<div className="p-2 flex flex-col gap-2">
|
|
419
|
-
<textarea
|
|
420
|
-
className="w-full h-10 px-3 py-2 text-base md:text-sm text-foreground bg-surface border border-border rounded-lg resize-none focus:outline-none focus:border-ring placeholder:text-muted-foreground"
|
|
421
|
-
placeholder="Message (⌘↵)"
|
|
422
|
-
value={commitMsg}
|
|
423
|
-
onChange={(e) => setCommitMsg(e.target.value)}
|
|
424
|
-
onKeyDown={(e) => {
|
|
425
|
-
if (e.key === "Enter" && (e.metaKey || e.ctrlKey)) {
|
|
426
|
-
handleCommit();
|
|
427
|
-
}
|
|
428
|
-
}}
|
|
429
|
-
/>
|
|
430
|
-
<div className="flex h-8">
|
|
578
|
+
return (
|
|
579
|
+
<div ref={panelRef} data-onboarding="git" className="flex flex-col h-full overflow-hidden">
|
|
580
|
+
<SidebarHeader icon={GitBranch} title="Source Control">
|
|
431
581
|
<Button
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
onClick={
|
|
582
|
+
variant="ghost"
|
|
583
|
+
size="icon-xs"
|
|
584
|
+
className={headerButton}
|
|
585
|
+
onClick={() => setViewMode(viewMode === "tree" ? "flat" : "tree")}
|
|
586
|
+
title={viewMode === "tree" ? "Show as a list" : "Group by folder"}
|
|
587
|
+
aria-label={viewMode === "tree" ? "Show as a list" : "Group by folder"}
|
|
436
588
|
>
|
|
437
|
-
{
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
)}
|
|
589
|
+
{viewMode === "tree" ? <List className="size-3.5" /> : <FolderTree className="size-3.5" />}
|
|
590
|
+
</Button>
|
|
591
|
+
<Button
|
|
592
|
+
variant="ghost"
|
|
593
|
+
size="icon-xs"
|
|
594
|
+
className={headerButton}
|
|
595
|
+
onClick={openGraph}
|
|
596
|
+
title={gitGraphAvailable ? "Open Git Graph (⌘G)" : "View Git Log"}
|
|
597
|
+
>
|
|
598
|
+
<History className="size-3.5" />
|
|
445
599
|
</Button>
|
|
446
600
|
<DropdownMenu>
|
|
447
601
|
<DropdownMenuTrigger asChild>
|
|
448
602
|
<Button
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
603
|
+
ref={moreRef}
|
|
604
|
+
variant="ghost"
|
|
605
|
+
size="icon-xs"
|
|
606
|
+
className={headerButton}
|
|
607
|
+
title="More actions"
|
|
608
|
+
aria-label="More actions"
|
|
453
609
|
>
|
|
454
|
-
<
|
|
610
|
+
<MoreHorizontal className="size-3.5" />
|
|
455
611
|
</Button>
|
|
456
612
|
</DropdownMenuTrigger>
|
|
457
|
-
<DropdownMenuContent align="end" className="w-
|
|
458
|
-
<DropdownMenuItem onClick={
|
|
459
|
-
<
|
|
460
|
-
|
|
613
|
+
<DropdownMenuContent align="end" className="w-60">
|
|
614
|
+
<DropdownMenuItem onClick={() => void sync("synced")} disabled={!!busy || !changes?.branch.hasRemote}>
|
|
615
|
+
<RefreshCw />
|
|
616
|
+
Fetch
|
|
461
617
|
</DropdownMenuItem>
|
|
462
|
-
<DropdownMenuItem
|
|
463
|
-
|
|
464
|
-
|
|
618
|
+
<DropdownMenuItem
|
|
619
|
+
onClick={() => void run("pull", () => api.post(url("/pull"), { rebase: true }), "Pull failed")}
|
|
620
|
+
disabled={!!busy || !changes?.branch.upstream || changes.branch.upstreamGone}
|
|
621
|
+
>
|
|
622
|
+
<ArrowDownToLine />
|
|
623
|
+
Pull with rebase
|
|
465
624
|
</DropdownMenuItem>
|
|
466
|
-
<
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
Amend Last Commit
|
|
625
|
+
<DropdownMenuItem onClick={() => void stashAll()} disabled={!!busy || !files.length}>
|
|
626
|
+
<Archive />
|
|
627
|
+
Stash all changes
|
|
470
628
|
</DropdownMenuItem>
|
|
471
|
-
<
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
Push
|
|
629
|
+
<DropdownMenuItem onClick={openBranchReview}>
|
|
630
|
+
<FileDiff />
|
|
631
|
+
Review branch…
|
|
475
632
|
</DropdownMenuItem>
|
|
476
|
-
<DropdownMenuItem onClick={
|
|
477
|
-
<
|
|
478
|
-
|
|
633
|
+
<DropdownMenuItem onClick={() => void refresh()}>
|
|
634
|
+
<RefreshCw />
|
|
635
|
+
Refresh
|
|
479
636
|
</DropdownMenuItem>
|
|
480
|
-
<
|
|
481
|
-
|
|
482
|
-
|
|
637
|
+
<DropdownMenuSeparator />
|
|
638
|
+
<DropdownMenuItem
|
|
639
|
+
variant="destructive"
|
|
640
|
+
disabled={!!busy || !discardable.length}
|
|
641
|
+
onClick={() => {
|
|
642
|
+
if (moreRef.current) askDiscard(discardable, moreRef.current);
|
|
643
|
+
}}
|
|
644
|
+
>
|
|
645
|
+
<Trash2 />
|
|
646
|
+
Discard all changes…
|
|
483
647
|
</DropdownMenuItem>
|
|
484
648
|
</DropdownMenuContent>
|
|
485
649
|
</DropdownMenu>
|
|
486
|
-
</div>
|
|
487
|
-
</div>
|
|
488
|
-
);
|
|
489
|
-
|
|
490
|
-
return (
|
|
491
|
-
<div ref={panelRef} data-onboarding="git" className="flex flex-col h-full overflow-hidden">
|
|
492
|
-
<SidebarHeader icon={GitBranch} title={status?.current ? `On: ${status.current}` : "Source Control"}>
|
|
493
|
-
<Button
|
|
494
|
-
variant={viewMode === "flat" ? "secondary" : "ghost"}
|
|
495
|
-
size="icon-xs"
|
|
496
|
-
onClick={() => setViewMode("flat")}
|
|
497
|
-
title="Flat view"
|
|
498
|
-
>
|
|
499
|
-
<List className="size-3.5" />
|
|
500
|
-
</Button>
|
|
501
|
-
<Button
|
|
502
|
-
variant={viewMode === "tree" ? "secondary" : "ghost"}
|
|
503
|
-
size="icon-xs"
|
|
504
|
-
onClick={() => setViewMode("tree")}
|
|
505
|
-
title="Tree view"
|
|
506
|
-
>
|
|
507
|
-
<FolderTree className="size-3.5" />
|
|
508
|
-
</Button>
|
|
509
|
-
<Button
|
|
510
|
-
variant="ghost"
|
|
511
|
-
size="icon-xs"
|
|
512
|
-
onClick={() => {
|
|
513
|
-
if (gitGraphAvailable) {
|
|
514
|
-
const args: unknown[] = [];
|
|
515
|
-
// The repository, not the project folder: the graph runs git in
|
|
516
|
-
// whatever path it is handed.
|
|
517
|
-
if (gitRoot) args.push(gitRoot);
|
|
518
|
-
window.dispatchEvent(
|
|
519
|
-
new CustomEvent("ext:command:execute", {
|
|
520
|
-
detail: { command: "git-graph.view", args },
|
|
521
|
-
}),
|
|
522
|
-
);
|
|
523
|
-
} else {
|
|
524
|
-
openTab({
|
|
525
|
-
type: "git-log",
|
|
526
|
-
title: "Git Log",
|
|
527
|
-
projectId: projectName ?? null,
|
|
528
|
-
closable: true,
|
|
529
|
-
metadata: { projectName },
|
|
530
|
-
});
|
|
531
|
-
}
|
|
532
|
-
onNavigate?.();
|
|
533
|
-
}}
|
|
534
|
-
title={gitGraphAvailable ? "Open Git Graph (⌘G)" : "View Git Log"}
|
|
535
|
-
>
|
|
536
|
-
<GitBranch className="size-3.5" />
|
|
537
|
-
</Button>
|
|
538
|
-
{/*
|
|
539
|
-
Review the whole branch at once, rather than one commit at a time.
|
|
540
|
-
Core rather than the Git Graph extension's compare panel: a review is
|
|
541
|
-
the one git surface that wants Monaco, and a webview cannot have it.
|
|
542
|
-
The tab picks its own defaults — main/master against the current
|
|
543
|
-
branch — so there is nothing to pass here.
|
|
544
|
-
*/}
|
|
545
|
-
<Button
|
|
546
|
-
variant="ghost"
|
|
547
|
-
size="icon-xs"
|
|
548
|
-
onClick={() => {
|
|
549
|
-
openTab({
|
|
550
|
-
type: "branch-review",
|
|
551
|
-
title: "Branch Review",
|
|
552
|
-
projectId: projectName ?? null,
|
|
553
|
-
closable: true,
|
|
554
|
-
metadata: { projectName },
|
|
555
|
-
});
|
|
556
|
-
onNavigate?.();
|
|
557
|
-
}}
|
|
558
|
-
title="Review this branch against another"
|
|
559
|
-
>
|
|
560
|
-
<FileDiff className="size-3.5" />
|
|
561
|
-
</Button>
|
|
562
|
-
<Button
|
|
563
|
-
variant="ghost"
|
|
564
|
-
size="icon-xs"
|
|
565
|
-
onClick={fetchStatus}
|
|
566
|
-
disabled={acting}
|
|
567
|
-
>
|
|
568
|
-
<RefreshCw className={loading ? "animate-spin" : ""} />
|
|
569
|
-
</Button>
|
|
570
650
|
</SidebarHeader>
|
|
571
651
|
|
|
572
|
-
{error && (
|
|
573
|
-
<div className="px-3 py-1.5 text-xs text-destructive bg-destructive/10 shrink-0">
|
|
574
|
-
{error}
|
|
575
|
-
</div>
|
|
576
|
-
)}
|
|
577
|
-
|
|
578
652
|
{/* Which repository, when the project folder is not one itself. */}
|
|
579
653
|
{gitRepo.isNested && gitRepo.repo && (
|
|
580
654
|
<GitRepoBar repo={gitRepo.repo} repos={gitRepo.repos} onChoose={gitRepo.choose} />
|
|
@@ -585,81 +659,51 @@ export function GitStatusPanel({ metadata, tabId, onNavigate }: GitStatusPanelPr
|
|
|
585
659
|
<GitRepoChoice repos={gitRepo.repos} onChoose={gitRepo.choose} />
|
|
586
660
|
) : gitRepo.noRepo ? (
|
|
587
661
|
<GitNoRepo onReload={gitRepo.reload} />
|
|
662
|
+
) : !changes ? (
|
|
663
|
+
error ? (
|
|
664
|
+
<div className="flex flex-col items-center justify-center h-full gap-2 px-4 text-center text-destructive text-sm">
|
|
665
|
+
<p>{error}</p>
|
|
666
|
+
<Button variant="outline" size="sm" onClick={() => void refresh()}>
|
|
667
|
+
Retry
|
|
668
|
+
</Button>
|
|
669
|
+
</div>
|
|
670
|
+
) : (
|
|
671
|
+
<div className="flex items-center justify-center h-full gap-2 text-muted-foreground">
|
|
672
|
+
<Loader2 className="size-5 animate-spin" />
|
|
673
|
+
<span className="text-sm">Loading git status...</span>
|
|
674
|
+
</div>
|
|
675
|
+
)
|
|
588
676
|
) : (
|
|
589
677
|
<>
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
projectPath={gitRoot}
|
|
598
|
-
/>
|
|
599
|
-
)}
|
|
600
|
-
|
|
601
|
-
<ScrollArea className="flex-1 overflow-hidden">
|
|
602
|
-
<div className="p-1.5 space-y-2 overflow-hidden">
|
|
603
|
-
{/* Staged Changes */}
|
|
604
|
-
<FileSection
|
|
605
|
-
title="Staged Changes"
|
|
606
|
-
count={status?.staged.length ?? 0}
|
|
607
|
-
files={status?.staged ?? []}
|
|
608
|
-
viewMode={viewMode}
|
|
609
|
-
actionIcon={<Minus className="size-3" />}
|
|
610
|
-
actionAllIcon={<Minus className="size-3" />}
|
|
611
|
-
actionTitle="Unstage"
|
|
612
|
-
onAction={(f) => unstageFiles([f.path])}
|
|
613
|
-
onActionAll={
|
|
614
|
-
status?.staged.length
|
|
615
|
-
? () => unstageFiles(status.staged.map((f) => f.path))
|
|
616
|
-
: undefined
|
|
617
|
-
}
|
|
618
|
-
actionAllLabel="Unstage All"
|
|
619
|
-
onFolderAction={(files) => unstageFiles(files.map((f) => f.path))}
|
|
620
|
-
onClickFile={openDiff}
|
|
621
|
-
onOpenFile={openFile}
|
|
622
|
-
onPickHunks={(f) => setHunkTarget({ filePath: f.path, scope: "index" })}
|
|
623
|
-
disabled={acting}
|
|
678
|
+
<GitBranchRow
|
|
679
|
+
projectName={projectName}
|
|
680
|
+
branch={changes.branch}
|
|
681
|
+
operation={operation}
|
|
682
|
+
files={files.length}
|
|
683
|
+
busy={busy}
|
|
684
|
+
onSync={(mode) => void sync(mode)}
|
|
624
685
|
/>
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
disabled={acting}
|
|
647
|
-
showRevert
|
|
648
|
-
onRevert={(f) =>
|
|
649
|
-
setRevertTarget({ label: f.path, files: [f.path] })
|
|
650
|
-
}
|
|
651
|
-
onFolderRevert={(files, folderName) =>
|
|
652
|
-
setRevertTarget({
|
|
653
|
-
label: `${folderName}/ (${files.length} files)`,
|
|
654
|
-
files: files.map((f) => f.path),
|
|
655
|
-
})
|
|
656
|
-
}
|
|
657
|
-
/>
|
|
658
|
-
</div>
|
|
659
|
-
</ScrollArea>
|
|
660
|
-
|
|
661
|
-
{/* Commit block — bottom on mobile */}
|
|
662
|
-
<div className="md:hidden border-t border-border shrink-0">{commitBox}</div>
|
|
686
|
+
{error && (
|
|
687
|
+
<div className="shrink-0 bg-destructive/10 px-3 py-1.5 text-xs text-destructive">{error}</div>
|
|
688
|
+
)}
|
|
689
|
+
{operation && (
|
|
690
|
+
<GitOperationBanner
|
|
691
|
+
operation={operation}
|
|
692
|
+
branch={changes.branch.head}
|
|
693
|
+
conflicts={conflicts.length}
|
|
694
|
+
busy={busy}
|
|
695
|
+
onAbort={abortOperation}
|
|
696
|
+
onContinue={() => void continueOperation()}
|
|
697
|
+
/>
|
|
698
|
+
)}
|
|
699
|
+
{/* The message box: under the branch where there is a pointer, in the thumb zone on a phone. */}
|
|
700
|
+
{!isMobile && composer}
|
|
701
|
+
<div className="flex min-h-0 flex-1 flex-col overflow-y-auto overflow-x-hidden">
|
|
702
|
+
{list}
|
|
703
|
+
{isMobile && folds}
|
|
704
|
+
</div>
|
|
705
|
+
{!isMobile && folds}
|
|
706
|
+
{isMobile && composer}
|
|
663
707
|
</>
|
|
664
708
|
)}
|
|
665
709
|
|
|
@@ -668,552 +712,53 @@ export function GitStatusPanel({ metadata, tabId, onNavigate }: GitStatusPanelPr
|
|
|
668
712
|
projectName={projectName}
|
|
669
713
|
target={hunkTarget}
|
|
670
714
|
onClose={() => setHunkTarget(null)}
|
|
671
|
-
onApplied={
|
|
715
|
+
onApplied={() => void refresh()}
|
|
672
716
|
/>
|
|
673
|
-
|
|
674
|
-
{/* Revert confirmation dialog */}
|
|
675
|
-
<Dialog
|
|
676
|
-
open={!!revertTarget}
|
|
677
|
-
onOpenChange={(open) => !open && setRevertTarget(null)}
|
|
678
|
-
>
|
|
679
|
-
<DialogContent showCloseButton={false}>
|
|
680
|
-
<DialogHeader>
|
|
681
|
-
<DialogTitle>Discard Changes</DialogTitle>
|
|
682
|
-
<DialogDescription>
|
|
683
|
-
Are you sure you want to discard all changes to{" "}
|
|
684
|
-
<code className="px-1 py-0.5 rounded bg-muted text-sm font-mono">
|
|
685
|
-
{revertTarget?.label}
|
|
686
|
-
</code>
|
|
687
|
-
? This action cannot be undone.
|
|
688
|
-
</DialogDescription>
|
|
689
|
-
</DialogHeader>
|
|
690
|
-
<DialogFooter>
|
|
691
|
-
<Button
|
|
692
|
-
variant="outline"
|
|
693
|
-
onClick={() => setRevertTarget(null)}
|
|
694
|
-
>
|
|
695
|
-
Cancel
|
|
696
|
-
</Button>
|
|
697
|
-
<Button
|
|
698
|
-
variant="destructive"
|
|
699
|
-
onClick={handleConfirmRevert}
|
|
700
|
-
disabled={acting}
|
|
701
|
-
>
|
|
702
|
-
{acting ? (
|
|
703
|
-
<Loader2 className="size-3 animate-spin" />
|
|
704
|
-
) : (
|
|
705
|
-
"Discard"
|
|
706
|
-
)}
|
|
707
|
-
</Button>
|
|
708
|
-
</DialogFooter>
|
|
709
|
-
</DialogContent>
|
|
710
|
-
</Dialog>
|
|
711
|
-
</div>
|
|
712
|
-
);
|
|
713
|
-
}
|
|
714
|
-
|
|
715
|
-
/* ------------------------------------------------------------------ */
|
|
716
|
-
/* Action buttons */
|
|
717
|
-
/* ------------------------------------------------------------------ */
|
|
718
|
-
|
|
719
|
-
/** Overlay action buttons — visible on desktop hover, hidden on mobile */
|
|
720
|
-
function ActionButtons({
|
|
721
|
-
showRevert,
|
|
722
|
-
onRevert,
|
|
723
|
-
onAction,
|
|
724
|
-
onOpenFile,
|
|
725
|
-
onPickHunks,
|
|
726
|
-
actionIcon,
|
|
727
|
-
actionTitle,
|
|
728
|
-
disabled,
|
|
729
|
-
}: {
|
|
730
|
-
showRevert?: boolean;
|
|
731
|
-
onRevert?: () => void;
|
|
732
|
-
onAction: () => void;
|
|
733
|
-
onOpenFile?: () => void;
|
|
734
|
-
onPickHunks?: () => void;
|
|
735
|
-
actionIcon: React.ReactNode;
|
|
736
|
-
actionTitle: string;
|
|
737
|
-
disabled: boolean;
|
|
738
|
-
}) {
|
|
739
|
-
return (
|
|
740
|
-
<div className="hidden md:flex absolute right-0 top-0 bottom-0 items-center gap-0.5 pl-6 pr-1 bg-gradient-to-l from-background from-70% to-transparent can-hover:opacity-0 can-hover:group-hover:opacity-100 transition-opacity">
|
|
741
|
-
{onOpenFile && (
|
|
742
|
-
<button
|
|
743
|
-
type="button"
|
|
744
|
-
className="flex items-center justify-center size-5 rounded text-muted-foreground hover:text-primary active:scale-95 transition-colors"
|
|
745
|
-
onClick={(e) => { e.stopPropagation(); onOpenFile(); }}
|
|
746
|
-
disabled={disabled}
|
|
747
|
-
title="Open file"
|
|
748
|
-
>
|
|
749
|
-
<FileText className="size-3" />
|
|
750
|
-
</button>
|
|
751
|
-
)}
|
|
752
|
-
{onPickHunks && (
|
|
753
|
-
<button
|
|
754
|
-
type="button"
|
|
755
|
-
className="flex items-center justify-center size-5 rounded text-muted-foreground hover:text-primary active:scale-95 transition-colors"
|
|
756
|
-
onClick={(e) => { e.stopPropagation(); onPickHunks(); }}
|
|
757
|
-
disabled={disabled}
|
|
758
|
-
title={`${actionTitle} lines…`}
|
|
759
|
-
>
|
|
760
|
-
<SquareDashedMousePointer className="size-3" />
|
|
761
|
-
</button>
|
|
762
|
-
)}
|
|
763
|
-
{showRevert && onRevert && (
|
|
764
|
-
<button
|
|
765
|
-
type="button"
|
|
766
|
-
className="flex items-center justify-center size-5 rounded text-muted-foreground hover:text-destructive active:scale-95 transition-colors"
|
|
767
|
-
onClick={(e) => { e.stopPropagation(); onRevert(); }}
|
|
768
|
-
disabled={disabled}
|
|
769
|
-
title="Discard changes"
|
|
770
|
-
>
|
|
771
|
-
<Undo2 className="size-3" />
|
|
772
|
-
</button>
|
|
773
|
-
)}
|
|
774
|
-
<button
|
|
775
|
-
type="button"
|
|
776
|
-
className="flex items-center justify-center size-5 rounded text-muted-foreground hover:text-accent-foreground active:scale-95 transition-colors"
|
|
777
|
-
onClick={(e) => { e.stopPropagation(); onAction(); }}
|
|
778
|
-
disabled={disabled}
|
|
779
|
-
title={actionTitle}
|
|
780
|
-
>
|
|
781
|
-
{actionIcon}
|
|
782
|
-
</button>
|
|
717
|
+
<GitConfirm request={confirm} onClose={() => setConfirm(null)} />
|
|
783
718
|
</div>
|
|
784
719
|
);
|
|
785
720
|
}
|
|
786
721
|
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
title,
|
|
793
|
-
count,
|
|
794
|
-
files,
|
|
795
|
-
viewMode,
|
|
796
|
-
actionIcon,
|
|
797
|
-
actionAllIcon,
|
|
798
|
-
actionTitle,
|
|
799
|
-
onAction,
|
|
800
|
-
onActionAll,
|
|
801
|
-
actionAllLabel,
|
|
802
|
-
onFolderAction,
|
|
803
|
-
onClickFile,
|
|
804
|
-
onOpenFile,
|
|
805
|
-
onPickHunks,
|
|
806
|
-
disabled,
|
|
807
|
-
showRevert,
|
|
808
|
-
onRevert,
|
|
809
|
-
onFolderRevert,
|
|
810
|
-
}: {
|
|
811
|
-
title: string;
|
|
812
|
-
count: number;
|
|
813
|
-
files: GitFileChange[];
|
|
814
|
-
viewMode: ViewMode;
|
|
815
|
-
actionIcon: React.ReactNode;
|
|
816
|
-
actionAllIcon?: React.ReactNode;
|
|
817
|
-
actionTitle: string;
|
|
818
|
-
onAction: (f: GitFileChange) => void;
|
|
819
|
-
onActionAll?: () => void;
|
|
820
|
-
actionAllLabel: string;
|
|
821
|
-
onFolderAction?: (files: GitFileChange[]) => void;
|
|
822
|
-
onClickFile: (f: GitFileChange) => void;
|
|
823
|
-
onOpenFile?: (f: GitFileChange) => void;
|
|
824
|
-
onPickHunks?: (f: GitFileChange) => void;
|
|
825
|
-
disabled: boolean;
|
|
826
|
-
showRevert?: boolean;
|
|
827
|
-
onRevert?: (f: GitFileChange) => void;
|
|
828
|
-
onFolderRevert?: (files: GitFileChange[], folderName: string) => void;
|
|
722
|
+
/** Nothing to commit: say so, and show the last commit with its Undo while that is still safe. */
|
|
723
|
+
function CleanState({ changes, busy, onUndoCommit }: {
|
|
724
|
+
changes: GitChanges;
|
|
725
|
+
busy: string | null;
|
|
726
|
+
onUndoCommit: () => void;
|
|
829
727
|
}) {
|
|
728
|
+
const last = changes.lastCommit;
|
|
729
|
+
const undoable = !!last && !last.pushed && last.hasParent && !changes.operation;
|
|
830
730
|
return (
|
|
831
|
-
|
|
832
|
-
<div className="
|
|
833
|
-
<
|
|
834
|
-
|
|
835
|
-
</span>
|
|
836
|
-
{onActionAll && count > 0 && (
|
|
837
|
-
<button
|
|
838
|
-
type="button"
|
|
839
|
-
className="flex items-center justify-center size-5 rounded text-muted-foreground hover:text-accent-foreground active:scale-95 transition-colors"
|
|
840
|
-
onClick={onActionAll}
|
|
841
|
-
disabled={disabled}
|
|
842
|
-
title={actionAllLabel}
|
|
843
|
-
>
|
|
844
|
-
{actionAllIcon}
|
|
845
|
-
</button>
|
|
846
|
-
)}
|
|
847
|
-
</div>
|
|
848
|
-
{files.length === 0 ? (
|
|
849
|
-
<p className="text-xs text-muted-foreground px-1">No changes</p>
|
|
850
|
-
) : viewMode === "flat" ? (
|
|
851
|
-
<div className="w-full overflow-hidden">
|
|
852
|
-
{files.map((f) => (
|
|
853
|
-
<FileRow
|
|
854
|
-
key={f.path}
|
|
855
|
-
file={f}
|
|
856
|
-
actionIcon={actionIcon}
|
|
857
|
-
actionTitle={actionTitle}
|
|
858
|
-
onAction={onAction}
|
|
859
|
-
onClickFile={onClickFile}
|
|
860
|
-
onOpenFile={onOpenFile}
|
|
861
|
-
onPickHunks={onPickHunks}
|
|
862
|
-
disabled={disabled}
|
|
863
|
-
showRevert={showRevert}
|
|
864
|
-
onRevert={onRevert}
|
|
865
|
-
/>
|
|
866
|
-
))}
|
|
731
|
+
<>
|
|
732
|
+
<div className="px-[18px] py-[26px] text-center text-[12.5px] text-text-2">
|
|
733
|
+
<div className="mx-auto mb-2.5 grid size-10 place-items-center rounded-full bg-success/14 text-success">
|
|
734
|
+
<Check className="size-4" />
|
|
867
735
|
</div>
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
files={files}
|
|
871
|
-
actionIcon={actionIcon}
|
|
872
|
-
actionTitle={actionTitle}
|
|
873
|
-
onAction={onAction}
|
|
874
|
-
onFolderAction={onFolderAction}
|
|
875
|
-
onClickFile={onClickFile}
|
|
876
|
-
onOpenFile={onOpenFile}
|
|
877
|
-
onPickHunks={onPickHunks}
|
|
878
|
-
disabled={disabled}
|
|
879
|
-
showRevert={showRevert}
|
|
880
|
-
onRevert={onRevert}
|
|
881
|
-
onFolderRevert={onFolderRevert}
|
|
882
|
-
/>
|
|
883
|
-
)}
|
|
884
|
-
</div>
|
|
885
|
-
);
|
|
886
|
-
}
|
|
887
|
-
|
|
888
|
-
/* ------------------------------------------------------------------ */
|
|
889
|
-
/* FileRow */
|
|
890
|
-
/* ------------------------------------------------------------------ */
|
|
891
|
-
|
|
892
|
-
function FileRow({
|
|
893
|
-
file,
|
|
894
|
-
actionIcon,
|
|
895
|
-
actionTitle,
|
|
896
|
-
onAction,
|
|
897
|
-
onClickFile,
|
|
898
|
-
onOpenFile,
|
|
899
|
-
onPickHunks,
|
|
900
|
-
disabled,
|
|
901
|
-
showRevert,
|
|
902
|
-
onRevert,
|
|
903
|
-
displayName,
|
|
904
|
-
}: {
|
|
905
|
-
file: GitFileChange;
|
|
906
|
-
actionIcon: React.ReactNode;
|
|
907
|
-
actionTitle: string;
|
|
908
|
-
onAction: (f: GitFileChange) => void;
|
|
909
|
-
onClickFile: (f: GitFileChange) => void;
|
|
910
|
-
onOpenFile?: (f: GitFileChange) => void;
|
|
911
|
-
onPickHunks?: (f: GitFileChange) => void;
|
|
912
|
-
disabled: boolean;
|
|
913
|
-
showRevert?: boolean;
|
|
914
|
-
onRevert?: (f: GitFileChange) => void;
|
|
915
|
-
displayName?: string;
|
|
916
|
-
}) {
|
|
917
|
-
return (
|
|
918
|
-
<ContextMenu>
|
|
919
|
-
<ContextMenuTrigger asChild>
|
|
920
|
-
{/* One row for both platforms: the adaptive menu is what differs, and
|
|
921
|
-
the tap that opens the diff is the filename button itself rather
|
|
922
|
-
than a hand-rolled tap detector — so a press that became a scroll,
|
|
923
|
-
or one that opened the sheet, cannot also open a diff. */}
|
|
924
|
-
{/* 44px of row on a touch screen, compact where there is a pointer. */}
|
|
925
|
-
<div className="group relative flex items-center gap-1.5 hover:bg-muted/50 rounded pl-1 py-3 md:py-1 w-full min-w-0 select-none">
|
|
926
|
-
<span
|
|
927
|
-
className={`text-xs font-mono w-3.5 text-center shrink-0 ${STATUS_COLORS[file.status] ?? ""}`}
|
|
928
|
-
>
|
|
929
|
-
{file.status}
|
|
930
|
-
</span>
|
|
931
|
-
<FileIcon name={file.path} className="size-4 shrink-0" />
|
|
932
|
-
<button
|
|
933
|
-
type="button"
|
|
934
|
-
className="flex-1 flex min-w-0 text-left text-sm can-hover:hover:underline"
|
|
935
|
-
onClick={() => onClickFile(file)}
|
|
936
|
-
title={file.path}
|
|
937
|
-
>
|
|
938
|
-
<StartEllipsis className="min-w-0 flex-1">
|
|
939
|
-
{displayName ?? file.path}
|
|
940
|
-
</StartEllipsis>
|
|
941
|
-
</button>
|
|
942
|
-
<ActionButtons
|
|
943
|
-
showRevert={showRevert}
|
|
944
|
-
onRevert={onRevert ? () => onRevert(file) : undefined}
|
|
945
|
-
onOpenFile={onOpenFile ? () => onOpenFile(file) : undefined}
|
|
946
|
-
onPickHunks={onPickHunks ? () => onPickHunks(file) : undefined}
|
|
947
|
-
onAction={() => onAction(file)}
|
|
948
|
-
actionIcon={actionIcon}
|
|
949
|
-
actionTitle={actionTitle}
|
|
950
|
-
disabled={disabled}
|
|
951
|
-
/>
|
|
952
|
-
</div>
|
|
953
|
-
</ContextMenuTrigger>
|
|
954
|
-
<ContextMenuContent className="min-w-40">
|
|
955
|
-
<ContextMenuItem onClick={() => onClickFile(file)}>View Diff</ContextMenuItem>
|
|
956
|
-
{onOpenFile && (
|
|
957
|
-
<ContextMenuItem onClick={() => onOpenFile(file)}>Open File</ContextMenuItem>
|
|
958
|
-
)}
|
|
959
|
-
<ContextMenuItem onClick={() => onAction(file)} disabled={disabled}>
|
|
960
|
-
{actionTitle}
|
|
961
|
-
</ContextMenuItem>
|
|
962
|
-
{onPickHunks && (
|
|
963
|
-
<ContextMenuItem onClick={() => onPickHunks(file)} disabled={disabled}>
|
|
964
|
-
{actionTitle} Lines…
|
|
965
|
-
</ContextMenuItem>
|
|
966
|
-
)}
|
|
967
|
-
{showRevert && onRevert && (
|
|
968
|
-
<>
|
|
969
|
-
{/* Set apart, because on a sheet these rows are 44px tall and sit
|
|
970
|
-
where the thumb already is. */}
|
|
971
|
-
<ContextMenuSeparator />
|
|
972
|
-
<ContextMenuItem
|
|
973
|
-
variant="destructive"
|
|
974
|
-
onClick={() => onRevert(file)}
|
|
975
|
-
disabled={disabled}
|
|
976
|
-
>
|
|
977
|
-
Discard Changes
|
|
978
|
-
</ContextMenuItem>
|
|
979
|
-
</>
|
|
980
|
-
)}
|
|
981
|
-
</ContextMenuContent>
|
|
982
|
-
</ContextMenu>
|
|
983
|
-
);
|
|
984
|
-
}
|
|
985
|
-
|
|
986
|
-
/* ------------------------------------------------------------------ */
|
|
987
|
-
/* TreeView */
|
|
988
|
-
/* ------------------------------------------------------------------ */
|
|
989
|
-
|
|
990
|
-
function TreeView({
|
|
991
|
-
files,
|
|
992
|
-
actionIcon,
|
|
993
|
-
actionTitle,
|
|
994
|
-
onAction,
|
|
995
|
-
onFolderAction,
|
|
996
|
-
onClickFile,
|
|
997
|
-
onOpenFile,
|
|
998
|
-
onPickHunks,
|
|
999
|
-
disabled,
|
|
1000
|
-
showRevert,
|
|
1001
|
-
onRevert,
|
|
1002
|
-
onFolderRevert,
|
|
1003
|
-
}: {
|
|
1004
|
-
files: GitFileChange[];
|
|
1005
|
-
actionIcon: React.ReactNode;
|
|
1006
|
-
actionTitle: string;
|
|
1007
|
-
onAction: (f: GitFileChange) => void;
|
|
1008
|
-
onFolderAction?: (files: GitFileChange[]) => void;
|
|
1009
|
-
onClickFile: (f: GitFileChange) => void;
|
|
1010
|
-
onOpenFile?: (f: GitFileChange) => void;
|
|
1011
|
-
onPickHunks?: (f: GitFileChange) => void;
|
|
1012
|
-
disabled: boolean;
|
|
1013
|
-
showRevert?: boolean;
|
|
1014
|
-
onRevert?: (f: GitFileChange) => void;
|
|
1015
|
-
onFolderRevert?: (files: GitFileChange[], folderName: string) => void;
|
|
1016
|
-
}) {
|
|
1017
|
-
const tree = useMemo(() => compactTree(buildTree(files)), [files]);
|
|
1018
|
-
|
|
1019
|
-
return (
|
|
1020
|
-
<div>
|
|
1021
|
-
{tree.map((node, i) => (
|
|
1022
|
-
<TreeNodeView
|
|
1023
|
-
key={node.fullPath}
|
|
1024
|
-
node={node}
|
|
1025
|
-
depth={0}
|
|
1026
|
-
actionIcon={actionIcon}
|
|
1027
|
-
actionTitle={actionTitle}
|
|
1028
|
-
onAction={onAction}
|
|
1029
|
-
onFolderAction={onFolderAction}
|
|
1030
|
-
onClickFile={onClickFile}
|
|
1031
|
-
onOpenFile={onOpenFile}
|
|
1032
|
-
onPickHunks={onPickHunks}
|
|
1033
|
-
disabled={disabled}
|
|
1034
|
-
showRevert={showRevert}
|
|
1035
|
-
onRevert={onRevert}
|
|
1036
|
-
onFolderRevert={onFolderRevert}
|
|
1037
|
-
/>
|
|
1038
|
-
))}
|
|
1039
|
-
</div>
|
|
1040
|
-
);
|
|
1041
|
-
}
|
|
1042
|
-
|
|
1043
|
-
/* ------------------------------------------------------------------ */
|
|
1044
|
-
/* TreeNodeView */
|
|
1045
|
-
/* ------------------------------------------------------------------ */
|
|
1046
|
-
|
|
1047
|
-
function TreeNodeView({
|
|
1048
|
-
node,
|
|
1049
|
-
depth,
|
|
1050
|
-
actionIcon,
|
|
1051
|
-
actionTitle,
|
|
1052
|
-
onAction,
|
|
1053
|
-
onFolderAction,
|
|
1054
|
-
onClickFile,
|
|
1055
|
-
onOpenFile,
|
|
1056
|
-
onPickHunks,
|
|
1057
|
-
disabled,
|
|
1058
|
-
showRevert,
|
|
1059
|
-
onRevert,
|
|
1060
|
-
onFolderRevert,
|
|
1061
|
-
}: {
|
|
1062
|
-
node: TreeNode;
|
|
1063
|
-
depth: number;
|
|
1064
|
-
actionIcon: React.ReactNode;
|
|
1065
|
-
actionTitle: string;
|
|
1066
|
-
onAction: (f: GitFileChange) => void;
|
|
1067
|
-
onFolderAction?: (files: GitFileChange[]) => void;
|
|
1068
|
-
onClickFile: (f: GitFileChange) => void;
|
|
1069
|
-
onOpenFile?: (f: GitFileChange) => void;
|
|
1070
|
-
onPickHunks?: (f: GitFileChange) => void;
|
|
1071
|
-
disabled: boolean;
|
|
1072
|
-
showRevert?: boolean;
|
|
1073
|
-
onRevert?: (f: GitFileChange) => void;
|
|
1074
|
-
onFolderRevert?: (files: GitFileChange[], folderName: string) => void;
|
|
1075
|
-
}) {
|
|
1076
|
-
const [expanded, setExpanded] = useState(true);
|
|
1077
|
-
const isDir = node.children.length > 0 && !node.file;
|
|
1078
|
-
|
|
1079
|
-
if (node.file) {
|
|
1080
|
-
return (
|
|
1081
|
-
<div style={{ paddingLeft: depth * TREE_INDENT }}>
|
|
1082
|
-
<FileRow
|
|
1083
|
-
file={node.file}
|
|
1084
|
-
displayName={node.name}
|
|
1085
|
-
actionIcon={actionIcon}
|
|
1086
|
-
actionTitle={actionTitle}
|
|
1087
|
-
onAction={onAction}
|
|
1088
|
-
onClickFile={onClickFile}
|
|
1089
|
-
onOpenFile={onOpenFile}
|
|
1090
|
-
onPickHunks={onPickHunks}
|
|
1091
|
-
disabled={disabled}
|
|
1092
|
-
showRevert={showRevert}
|
|
1093
|
-
onRevert={onRevert}
|
|
1094
|
-
/>
|
|
736
|
+
<b className="mb-1 block text-[13px] font-semibold text-text">Nothing to commit</b>
|
|
737
|
+
The working tree matches the last commit.
|
|
1095
738
|
</div>
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
return (
|
|
1106
|
-
<div>
|
|
1107
|
-
{/* Folder row. The menu used to be a plain dropdown whose trigger was
|
|
1108
|
-
the whole row, which on a touch screen opens on *tap* — so tapping
|
|
1109
|
-
a folder opened a menu instead of expanding it, and there was no
|
|
1110
|
-
way to expand one at all. Long-press is the gesture for a menu. */}
|
|
1111
|
-
<ContextMenu>
|
|
1112
|
-
<ContextMenuTrigger asChild>
|
|
1113
|
-
<div
|
|
1114
|
-
// 44px of row on a touch screen, compact where there is a pointer.
|
|
1115
|
-
className="group relative flex items-center hover:bg-muted/50 rounded py-3 md:py-1 select-none"
|
|
1116
|
-
style={{ paddingLeft: depth * TREE_INDENT }}
|
|
1117
|
-
>
|
|
739
|
+
{last && (
|
|
740
|
+
<div className="mx-2.5 mb-2.5 rounded-[10px] border border-border-soft bg-background px-3 py-2.5 text-xs text-text-2">
|
|
741
|
+
<span className="text-text-3">Last commit</span>
|
|
742
|
+
<b className="block truncate font-medium text-text" title={last.subject}>{last.subject}</b>
|
|
743
|
+
<div className="mt-1.5 flex items-center gap-2 whitespace-nowrap text-text-3">
|
|
744
|
+
<span className="font-mono">{last.hash.slice(0, 7)}</span>
|
|
745
|
+
<span>{formatRelativeDate(last.date)}</span>
|
|
746
|
+
<span className="flex-1" />
|
|
747
|
+
{undoable && (
|
|
1118
748
|
<button
|
|
1119
749
|
type="button"
|
|
1120
|
-
className="flex items-center gap-1.5
|
|
1121
|
-
|
|
750
|
+
className="inline-flex h-11 md:h-6 items-center gap-1 rounded-[5px] px-1.5 text-[11.5px] font-medium text-text-2 hover:bg-surface-hover hover:text-text disabled:opacity-50"
|
|
751
|
+
disabled={!!busy}
|
|
752
|
+
onClick={onUndoCommit}
|
|
753
|
+
title="Take the commit back, keeping its changes staged"
|
|
1122
754
|
>
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
) : (
|
|
1126
|
-
<ChevronRight className="size-4 shrink-0" />
|
|
1127
|
-
)}
|
|
1128
|
-
{/*
|
|
1129
|
-
* A compacted name is a path, and for a path the last segment is
|
|
1130
|
-
* the specific one — so the leading ones are what may be dropped,
|
|
1131
|
-
* and they are dimmed to read as context rather than as the
|
|
1132
|
-
* folder's own name. One inline flow inside the isolate, not two
|
|
1133
|
-
* flex children: the row's `gap-1.5` would otherwise open a space
|
|
1134
|
-
* inside the path, between `web/` and `components`.
|
|
1135
|
-
*/}
|
|
1136
|
-
<span dir="rtl" className="flex-1 min-w-0 truncate text-left">
|
|
1137
|
-
<bdi>
|
|
1138
|
-
{folderPrefix && <span className="opacity-55">{folderPrefix}</span>}
|
|
1139
|
-
<span className="font-medium">{folderLeaf}</span>
|
|
1140
|
-
</bdi>
|
|
1141
|
-
</span>
|
|
1142
|
-
<span className="text-xs opacity-55 shrink-0">
|
|
1143
|
-
({folderFiles.length})
|
|
1144
|
-
</span>
|
|
755
|
+
<Undo2 className="size-3.5" />
|
|
756
|
+
Undo
|
|
1145
757
|
</button>
|
|
1146
|
-
<ActionButtons
|
|
1147
|
-
showRevert={showRevert}
|
|
1148
|
-
onRevert={
|
|
1149
|
-
onFolderRevert
|
|
1150
|
-
? () => onFolderRevert(folderFiles, node.fullPath)
|
|
1151
|
-
: undefined
|
|
1152
|
-
}
|
|
1153
|
-
onAction={() => onFolderAction?.(folderFiles)}
|
|
1154
|
-
actionIcon={actionIcon}
|
|
1155
|
-
actionTitle={`${actionTitle} ${node.name}/`}
|
|
1156
|
-
disabled={disabled}
|
|
1157
|
-
/>
|
|
1158
|
-
</div>
|
|
1159
|
-
</ContextMenuTrigger>
|
|
1160
|
-
<ContextMenuContent className="min-w-40">
|
|
1161
|
-
<ContextMenuItem onClick={() => onFolderAction?.(folderFiles)} disabled={disabled}>
|
|
1162
|
-
{actionTitle} {node.name}/
|
|
1163
|
-
</ContextMenuItem>
|
|
1164
|
-
{onFolderRevert && (
|
|
1165
|
-
<>
|
|
1166
|
-
<ContextMenuSeparator />
|
|
1167
|
-
<ContextMenuItem
|
|
1168
|
-
variant="destructive"
|
|
1169
|
-
onClick={() => onFolderRevert(folderFiles, node.fullPath)}
|
|
1170
|
-
disabled={disabled}
|
|
1171
|
-
>
|
|
1172
|
-
Discard Changes
|
|
1173
|
-
</ContextMenuItem>
|
|
1174
|
-
</>
|
|
1175
758
|
)}
|
|
1176
|
-
</ContextMenuContent>
|
|
1177
|
-
</ContextMenu>
|
|
1178
|
-
{/*
|
|
1179
|
-
* One continuous guide per level, drawn here by the parent rather than
|
|
1180
|
-
* as a segment per child. The old version gave every row its own elbow
|
|
1181
|
-
* positioned by hand — a file's branch at `top: 50%`, a folder's at a
|
|
1182
|
-
* fixed `top: 13`, against rows of two different heights — so the
|
|
1183
|
-
* pieces never met and the rails read as broken. A single line owned by
|
|
1184
|
-
* the container it groups cannot drift from it, and dropping the elbows
|
|
1185
|
-
* is what VS Code's own tree does.
|
|
1186
|
-
*/}
|
|
1187
|
-
{expanded && (
|
|
1188
|
-
<div className="relative">
|
|
1189
|
-
<span
|
|
1190
|
-
aria-hidden
|
|
1191
|
-
className="absolute top-0 bottom-0 w-px bg-border/70"
|
|
1192
|
-
style={{ left: depth * TREE_INDENT + TREE_GUIDE_X }}
|
|
1193
|
-
/>
|
|
1194
|
-
{node.children.map((child, i) => (
|
|
1195
|
-
<TreeNodeView
|
|
1196
|
-
key={child.fullPath}
|
|
1197
|
-
node={child}
|
|
1198
|
-
depth={depth + 1}
|
|
1199
|
-
actionIcon={actionIcon}
|
|
1200
|
-
actionTitle={actionTitle}
|
|
1201
|
-
onAction={onAction}
|
|
1202
|
-
onFolderAction={onFolderAction}
|
|
1203
|
-
onClickFile={onClickFile}
|
|
1204
|
-
onOpenFile={onOpenFile}
|
|
1205
|
-
onPickHunks={onPickHunks}
|
|
1206
|
-
disabled={disabled}
|
|
1207
|
-
showRevert={showRevert}
|
|
1208
|
-
onRevert={onRevert}
|
|
1209
|
-
onFolderRevert={onFolderRevert}
|
|
1210
|
-
/>
|
|
1211
|
-
))}
|
|
1212
759
|
</div>
|
|
1213
|
-
|
|
1214
|
-
|
|
1215
|
-
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
return null;
|
|
760
|
+
</div>
|
|
761
|
+
)}
|
|
762
|
+
</>
|
|
763
|
+
);
|
|
1219
764
|
}
|