@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
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import{s as e,t}from"./rolldown-runtime-C5c2KzVm.js";import{C as n,S as r}from"./vendor-markdown-QKPNiWEd.js";import"./vendor-ui-CS1GvlOm.js";import{Cn as i,Ht as a,M as o,Mr as s,P as c,Rr as l,Vn as u,Wr as d,an as f,br as p,ci as m,en as h,h as g,n as _,on as v,or as y,pt as b,qr as x,qt as ee,vr as te,xn as ne}from"./icons-JMA45Ifw.js";import{k as S,r as C}from"./api-client-OiA8Ida1.js";import"./settings-store-DIPe0D2_.js";import{n as w,r as T}from"./utils-Bslrbb-G.js";import"./portal-container-context-BXAsDqrB.js";import{K as E,Q as re,X as ie,et as D}from"./window-store-o2qUlxU1.js";import{t as O}from"./panel-store-DFurR27n.js";import"./project-store-CEGoLMOl.js";import"./project-framework-store-Bi5dyHdx.js";import"./session-list-sync-triggers-DitiR5h1.js";import{t as ae}from"./tab-store-C8Zyikmj.js";import"./context-menu-BoQ6lxte.js";import{n as oe}from"./use-is-mobile-BXHbkfs9.js";import"./settings-categories-CcR9eL3x.js";import"./open-settings-CJ-BQ5Co.js";import{t as k}from"./button-DR4_Bprq.js";import{a as se,i as ce,n as le,o as ue,r as de,t as fe}from"./dialog-DLrqSaHA.js";import"./file-icons-B1-viqUQ.js";import{n as pe,t as me}from"./patch-tab-metadata-BUNJESEQ.js";import"./dropdown-menu-ByeFrLIJ.js";import{t as he}from"./mobile-bottom-sheet-BdF6oawx.js";import"./use-visual-viewport-CHm9umK0.js";import"./adaptive-context-menu-v544UeQs.js";import"./fs-api-ssn-HsD4.js";import"./format-file-meta-CnLWYScm.js";import"./input-D-RG8dzb.js";import{i as ge,t as _e}from"./use-db-driver-installed-BHTdleJ4.js";import{r as ve}from"./db-types-D0vYhq7b.js";import{b as ye,g as be,k as xe}from"./explorer-model-DzQgZCjd.js";import{L as Se}from"./db-explorer-store-DWkvEWNP.js";import{I as Ce}from"./open-db-tabs-BWkvLJiI.js";import{S as we,m as Te,p as Ee}from"./impexp-state-HapOpwYX.js";import"./scroll-area-B84ALpNT.js";import{$n as De,Jn as Oe,Zn as ke,hr as Ae,s as je,tr as Me,vi as A,wi as Ne,xi as Pe}from"./index-6UiaKItX.js";import"./marked.esm-CWfigb9x.js";import"./use-monaco-theme-CqVBeKOM.js";import{t as Fe}from"./use-db-tab-Cr64E4jG.js";import{a as Ie,i as Le,n as Re,r as ze,t as Be}from"./db-tab-parts-BrVgleMJ.js";import"./use-opener-focus-BJ2V4yOL.js";import"./filter-dialog-frame-ZGzke_Zc.js";import{a as Ve,n as He,s as j}from"./sql-completion-provider-DpYWIHib.js";import{n as Ue,t as We}from"./use-sql-schema-info-eLYr9ZWT.js";import{t as Ge}from"./use-at-most-wide-2yOBr4it.js";import{t as Ke}from"./glide-data-grid-B75J0oe4.js";import{t as qe}from"./save-as-dialog-B3UTyvHe.js";var M=e(n(),1),Je=[100,1e3,1e4,1e5],Ye=1e3,Xe=/^\(*\s*(SELECT|WITH|VALUES|TABLE|EXPLAIN|SHOW|PRAGMA|DESCRIBE|DESC)\b/i,Ze=/\b(INSERT|UPDATE|DELETE|MERGE|DROP|CREATE|ALTER|TRUNCATE|INTO)\b/i,Qe=/^\(*\s*SHOW\b/i;function $e(e){return e===`mysql`?[{backslashEscapes:!0},{backslashEscapes:!1}]:[{}]}function et(e,t=`postgres`){return $e(t).every(n=>{let r=Ve(e,t,n).map(e=>j(e,t,n).trim()).filter(Boolean);return r.length===0?!1:r.every(e=>Qe.test(e)||Xe.test(e)&&!Ze.test(e))})}async function tt(e,t){let n=e.getReader(),r=new TextDecoder,i=``,a=e=>{let n=0;for(let r=e.indexOf(`
|
|
2
|
+
`);r!==-1;r=e.indexOf(`
|
|
3
|
+
`,n)){let a=i+e.slice(n,r);i=``,n=r+1,a.trim()&&t(JSON.parse(a))}i+=e.slice(n)};try{for(;;){let{done:e,value:t}=await n.read();if(e)break;a(r.decode(t,{stream:!0}))}a(r.decode()),i.trim()&&t(JSON.parse(i))}finally{n.releaseLock()}}var nt=`messages`;function rt(e,t){return{...e,startedAt:t,statements:[],running:null,results:[],tabs:[],messages:[{id:0,level:`info`,text:`Query execution started`,time:t}],errorLines:[],failed:!1,done:!1}}function it(e){return e===`sqlite`?`Stop before the next statement: SQLite cannot stop the one already running`:`Stop the statement running; the ones after it do not run`}function N(e,t){return`${e.toLocaleString(`en-US`)} ${t}${e===1?``:`s`}`}function at(e){return e.columns.length>0}function ot(e,t){return t===0?e:{...e,startLine:e.startLine+t,endLine:e.endLine+t,...e.errorLine===void 0?{}:{errorLine:e.errorLine+t}}}function st(e){let t={statement:e.index,line:e.startLine},n=(e.notices??[]).map(e=>({...t,level:`info`,text:e})),r=[];return e.resultSets.filter(at).forEach((n,i)=>{let a=N(n.rows.length,`row`),o=i===0?` in ${e.durationMs.toLocaleString(`en-US`)} ms`:``;r.push(n.truncated?{...t,level:`warning`,text:`Query returned the first ${a}${o}; the rest were cut off by the row limit`}:{...t,level:`success`,text:`Query returned ${a}${o}`})}),e.rowsAffected!==void 0&&r.push({...t,level:`success`,text:`${N(e.rowsAffected,`row`)} affected`}),e.error===void 0?e.stopped&&r.push({...t,level:`warning`,text:e.stopped===`user`?`Stopped`:`Stopped: the connection's query timeout was reached`}):r.push({...t,level:`error`,line:e.errorLine??e.startLine,text:e.stopped===`user`?`Stopped: ${e.error}`:e.error}),r.length===0&&r.push({...t,level:`success`,text:`${e.command??`Statement`} executed`}),[...n,...r]}function ct(e,t){return e===`explain`?t===1?`Plan`:`Plan ${t}`:`Result ${t}`}function lt(e,t){if(t.length===0)return e;let n={...e,results:[...e.results],tabs:[...e.tabs],messages:[...e.messages],errorLines:[...e.errorLines]};for(let{event:r,at:i}of t){let t=e=>{n.messages.push({...e,id:n.messages.length,time:i})};switch(r.type){case`start`:n.statements=r.statements.map(t=>({startLine:t.startLine+e.lineOffset,endLine:t.endLine+e.lineOffset}));break;case`running`:n.running={index:r.index,since:i};break;case`statement`:{let i=ot(r.result,e.lineOffset);n.results.push(i),n.running?.index===i.index&&(n.running=null),i.resultSets.forEach((t,r)=>{at(t)&&n.tabs.push({key:`${i.index}:${r}`,title:ct(e.kind,n.tabs.length+1),statement:i.index,set:r})});for(let e of st(i))t(e);(i.error!==void 0||i.stopped)&&(n.failed=!0),i.error!==void 0&&n.errorLines.push(i.errorLine??i.startLine);break}case`message`:t({level:r.level,text:r.text}),r.level===`error`&&(n.failed=!0);break;case`done`:{n.running=null,r.error!==void 0&&(t({level:`error`,text:r.error}),n.failed=!0);let e=n.statements.length-n.results.length;e>0&&t({level:`info`,text:`${N(e,`statement`)} did not run`}),t({level:`info`,text:`Query execution finished`}),n.done=!0,n.durationMs=r.durationMs;break}}}return n}function ut(e,t,n){return e.done?e:{...e,running:null,failed:!0,done:!0,durationMs:Math.max(0,Math.round(n-e.startedAt)),messages:[...e.messages,{id:e.messages.length,level:`error`,text:t,time:n}]}}function dt(e,t,n){return{...e,messages:[...e.messages,{...t,id:e.messages.length,time:n}]}}function ft(e,t){let n=e.results.find(e=>e.index===t.statement),r=n?.resultSets[t.set];return n&&r?{result:n,set:r}:null}function pt(e,t,n){let r=e.tabs.find(e=>e.key===t);return r?{...e,results:e.results.map(e=>e.index===r.statement?{...e,resultSets:e.resultSets.map((e,t)=>t===r.set?n:e)}:e)}:e}function mt(e,t){return e?t===`messages`||t&&e.tabs.some(e=>e.key===t)?t:e.tabs[0]?.key??`messages`:nt}function ht(e){if(e.readonly)return{editable:!1,reason:`read-only connection`};if(e.explain)return{editable:!1,reason:`read-only: a plan`};if(!e.table)return{editable:!1,reason:`read-only: not a single table`};if(e.tableColumns===void 0)return{editable:!1,reason:null};if(e.tableColumns===null)return{editable:!1,reason:`read-only: the table's columns could not be read`};if(e.tableColumns.length===0)return{editable:!1,reason:`read-only: not a single table`};let t=new Map(e.tableColumns.map(e=>[e.name,e]));if(new Set(e.columns).size!==e.columns.length)return{editable:!1,reason:`read-only: a column name repeats`};if(!e.columns.every(e=>t.has(e)))return{editable:!1,reason:`read-only: not every column is the table's`};let n=e.tableColumns.filter(e=>e.pk).map(e=>e.name);return n.length===0?{editable:!1,reason:`read-only: no primary key`}:n.every(t=>e.columns.includes(t))?{editable:!0,rowKey:n,schema:e.columns.map(e=>t.get(e))}:{editable:!1,reason:`read-only: the primary key is not in the result`}}var gt=50,_t=1e3;function vt(){return`${T()}${T()}`}function yt(e,t){let[n,r]=(0,M.useState)(null),[i,a]=(0,M.useState)(null),[o,s]=(0,M.useState)(!1),[c,l]=(0,M.useState)(null),[u,d]=(0,M.useState)(0),f=(0,M.useRef)(null),p=(0,M.useRef)(null),m=(0,M.useRef)(null),h=(0,M.useRef)(t);h.current=t;let g=(0,M.useRef)(!0),_=(0,M.useCallback)(e=>{f.current=e,r(e)},[]);(0,M.useEffect)(()=>(g.current=!0,()=>{g.current=!1,p.current?.abort.abort()}),[]);let v=(0,M.useCallback)(async t=>{if(!e||!t.sql.trim()||p.current)return;let{maxRows:n,continueOnError:r}=h.current,i={runId:vt(),target:e,abort:new AbortController,stopping:!1};p.current=i,_(rt({runId:i.runId,kind:t.kind,sql:t.sql,lineOffset:t.lineOffset,maxRows:n},Date.now())),a(null),s(!1);let o=[],c=null,l=()=>{if(c&&clearTimeout(c),c=null,o.length===0||!g.current||!f.current)return;let e=o;o=[],_(lt(f.current,e))},u={sql:t.sql,runId:i.runId,maxRows:n,...r?{continueOnError:!0}:{},...t.kind===`explain`?{explain:!0}:{}};try{await tt((await C.postStream(D(e,`/query/script`),u,{signal:i.abort.signal})).body,e=>{o.push({event:e,at:Date.now()}),e.type===`done`?l():c??=setTimeout(l,gt)}),l(),g.current&&f.current&&!f.current.done&&_(ut(f.current,`The connection to the server was lost before the run ended`,Date.now()))}catch(e){if(l(),!g.current||!f.current)return;let n=ge(e);a(n),m.current=n?()=>{v(t)}:null;let r=i.stopping&&i.abort.signal.aborted?`Stopped: the server did not answer Stop, so the run was dropped`:e.message;_(ut(f.current,r,Date.now()))}finally{c&&clearTimeout(c),p.current===i&&(p.current=null),g.current&&(s(!1),d(e=>e+1))}},[e,_]),y=(0,M.useCallback)(async()=>{let e=p.current;if(!e||e.stopping)return;e.stopping=!0,s(!0);let t=null;try{t=(await C.post(D(e.target,`/query/cancel`),{runId:e.runId})).stopped}catch{}t||setTimeout(()=>{p.current===e&&e.abort.abort()},t===!1?_t:0)},[]);_e(e=>{if(i?.id!==e)return;let t=m.current;m.current=null,t?.()});let b=(0,M.useCallback)(async t=>{let n=f.current,r=n?.tabs.find(e=>e.key===t),i=n&&r?ft(n,r):null;if(!e||!n||!r||!i)return;l(t);let a,o;try{await tt((await C.postStream(D(e,`/query/script`),{sql:i.result.sql,runId:vt(),maxRows:n.maxRows})).body,e=>{e.type===`statement`?a??=e.result:e.type===`done`&&e.error!==void 0&&(o=e.error)})}catch(e){o=e.message}if(!g.current)return;l(null);let s=f.current;if(!s||s.runId!==n.runId)return;let c=a?.resultSets[r.set],u=a?.error??o??(c?void 0:`the statement no longer returns that result`);_(u===void 0?pt(s,t,c):dt(s,{level:`warning`,text:`Saved, but reading the rows again failed: ${u}`,statement:r.statement},Date.now()))},[e,_]),x=(0,M.useCallback)(async(t,n,r,i,a)=>{e&&(await je({target:e,place:a,table:n,schema:r,changes:i}),b(t))},[e,b]);return{run:n,running:!!n&&!n.done,stopping:o,rereading:c,ended:u,driverMissing:i,start:v,stop:y,saveChangesIn:x}}var P=r(),bt=`h-[26px] w-full min-w-0 appearance-none rounded-[5px] border border-border bg-input pr-[26px] pl-2 text-xs text-foreground outline-none focus:border-primary max-md:h-11 max-md:text-sm`,xt=[`connectionId`,`database`,`dbFile`,`connectionName`,`dbType`,`connectionColor`];function St({target:e,conn:t,fileName:n,metadata:r,tabId:i}){let a=Se(e=>e.connections),o=Se(e=>t?e.databases[t.id]:void 0);if(e?.kind===`file`)return(0,P.jsxs)(`span`,{className:`flex min-w-0 shrink items-center gap-1.5 px-1 text-xs text-text-2 max-md:text-sm`,title:e.path,children:[(0,P.jsx)(b,{className:`size-4 shrink-0 text-text-subtle`}),(0,P.jsx)(`span`,{className:`truncate`,children:n})]});let s=(e,t)=>{if(!i)return;let n=Object.fromEntries(Object.entries(r??{}).filter(([e])=>!xt.includes(e)));ae.getState().updateTab(i,{metadata:{...n,...ie(e),...t?{connectionName:t.name,dbType:t.type,...t.color?{connectionColor:t.color}:{}}:{}}})},c=t?ye(t):null,l=e?.kind===`connection`?e.database??c:null,u=t&&!be(t)&&o?.state===`ready`?xe(t,o.data):null,d=u?l&&!u.includes(l)?[l,...u]:u:l?[l]:[];return(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(Ct,{className:`w-[190px] max-md:w-auto max-md:flex-1`,color:t?.color,children:(0,P.jsxs)(`select`,{"aria-label":`Connection`,value:t?.id??``,className:w(bt,t?.color&&`pl-6`),onChange:e=>{let t=a.find(t=>t.id===Number(e.target.value));t&&s({kind:`connection`,connectionId:t.id},t)},children:[!t&&(0,P.jsx)(`option`,{value:``,children:`Connection…`}),a.map(e=>(0,P.jsx)(`option`,{value:e.id,children:e.name},e.id))]})}),t&&!be(t)&&d.length>0&&(0,P.jsx)(Ct,{className:`w-[150px] max-md:w-auto max-md:flex-1`,children:(0,P.jsx)(`select`,{"aria-label":`Database`,value:l??``,className:bt,onChange:e=>{let n=e.target.value;s({kind:`connection`,connectionId:t.id,...n&&n!==c?{database:n}:{}},t)},children:d.map(e=>(0,P.jsx)(`option`,{value:e,children:e},e))})})]})}function Ct({children:e,className:t,color:n}){return(0,P.jsxs)(`span`,{className:w(`relative mx-0.5 flex shrink-0`,t),children:[n&&(0,P.jsx)(`span`,{"aria-hidden":!0,className:`pointer-events-none absolute top-1/2 left-2 size-2 -translate-y-1/2 rounded-full`,style:{backgroundColor:n}}),e,(0,P.jsx)(c,{className:`pointer-events-none absolute top-1/2 right-1.5 size-3.5 -translate-y-1/2 text-text-subtle`})]})}var wt=`grid grid-cols-[3rem_minmax(0,1fr)_4.5rem_4rem_4.5rem_3.5rem] max-md:grid-cols-[minmax(0,1fr)_4rem]`,F=`max-md:hidden`,Tt={info:{Icon:v,className:`text-text-subtle`},success:{Icon:o,className:`text-success`},warning:{Icon:x,className:`text-warning`},error:{Icon:_,className:`text-destructive`}};function Et({messages:e,onShowLine:t}){let n=e[0]?.time??0;return(0,P.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-auto text-xs`,role:`table`,"aria-label":`Messages`,children:[(0,P.jsxs)(`div`,{role:`row`,className:w(wt,`sticky top-0 z-[1] h-6 items-center border-b border-border bg-panel-2 px-1 text-[11px] font-medium text-text-2`),children:[(0,P.jsx)(`span`,{role:`columnheader`,className:w(`px-1 text-right`,F),children:`Number`}),(0,P.jsx)(`span`,{role:`columnheader`,className:`px-1`,children:`Message`}),(0,P.jsx)(`span`,{role:`columnheader`,className:w(`px-1`,F),children:`Time`}),(0,P.jsx)(`span`,{role:`columnheader`,className:w(`px-1 text-right`,F),children:`Delta`}),(0,P.jsx)(`span`,{role:`columnheader`,className:w(`px-1 text-right`,F),children:`Duration`}),(0,P.jsx)(`span`,{role:`columnheader`,className:`px-1 text-right`,children:`Line`})]}),e.map((r,i)=>(0,P.jsx)(Dt,{message:r,first:n,previous:i===0?null:e[i-1].time,onShowLine:t},r.id))]})}var Dt=(0,M.memo)(function({message:e,first:t,previous:n,onShowLine:r}){let{Icon:i,className:a}=Tt[e.level],o=e.line!==void 0&&r?()=>r(e.line):void 0;return(0,P.jsxs)(`div`,{role:`row`,className:w(wt,`items-start border-b border-border-soft px-1 py-1`,`max-md:min-h-11 max-md:items-center max-md:text-sm`,o&&`cursor-pointer can-hover:hover:bg-surface-hover`),onClick:o,children:[(0,P.jsx)(`span`,{role:`cell`,className:w(`px-1 text-right text-text-subtle tabular-nums`,F),children:e.id+1}),(0,P.jsxs)(`span`,{role:`cell`,className:w(`flex min-w-0 gap-1.5 px-1 break-words whitespace-pre-wrap`,e.level===`error`?`text-destructive`:e.level===`warning`?`text-warning`:`text-text-primary`),children:[(0,P.jsx)(i,{"aria-hidden":!0,className:w(`mt-px size-3.5 shrink-0 max-md:mt-0.5`,a)}),(0,P.jsx)(`span`,{className:`min-w-0`,children:e.text})]}),(0,P.jsx)(`span`,{role:`cell`,className:w(`px-1 whitespace-nowrap text-text-2 tabular-nums`,F),children:we(e.time)}),(0,P.jsx)(`span`,{role:`cell`,className:w(`px-1 text-right whitespace-nowrap text-text-2 tabular-nums`,F),children:Ee(e.time-t)}),(0,P.jsx)(`span`,{role:`cell`,className:w(`px-1 text-right whitespace-nowrap text-text-2 tabular-nums`,F),children:n===null?`n/a`:Ee(e.time-n)}),(0,P.jsx)(`span`,{role:`cell`,className:`px-1 text-right tabular-nums`,children:e.line!==void 0&&(o?(0,P.jsx)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),o()},title:`Show line ${e.line} in the editor`,className:`text-primary underline-offset-2 can-hover:hover:underline max-md:min-h-11 max-md:px-2`,children:e.line}):(0,P.jsx)(`span`,{className:`text-text-2`,children:e.line}))})]})});function Ot({run:e,shown:t,onPick:n,onShowLine:r,onStop:i,stopping:a,renderResult:o}){let s=(0,M.useRef)({runId:``,keys:new Set});s.current.runId!==e.runId&&(s.current={runId:e.runId,keys:new Set}),t!==`messages`&&s.current.keys.add(t);let c=e.messages.filter(e=>e.level===`error`).length;return(0,P.jsxs)(`div`,{className:`relative flex h-full min-h-0 flex-col overflow-hidden`,children:[(0,P.jsxs)(`div`,{role:`tablist`,"aria-label":`Results`,className:`flex h-8 shrink-0 items-stretch overflow-x-auto border-b border-border bg-panel pl-1 max-md:h-auto`,children:[(0,P.jsxs)(kt,{selected:t===nt,onClick:()=>n(nt),icon:(0,P.jsx)(p,{className:`size-3.5`}),children:[`Messages`,c>0&&(0,P.jsx)(`span`,{className:`rounded-full bg-destructive/15 px-1.5 font-mono text-[10.5px] text-destructive`,"aria-label":N(c,`error`),children:c})]}),e.tabs.map(r=>{let i=e.results.find(e=>e.index===r.statement)?.resultSets[r.set]?.rows.length??0;return(0,P.jsxs)(kt,{selected:t===r.key,onClick:()=>n(r.key),icon:(0,P.jsx)(l,{className:`size-3.5`}),children:[r.title,(0,P.jsx)(`span`,{className:`font-mono text-[10.5px] text-text-subtle`,"aria-label":N(i,`row`),children:i.toLocaleString(`en-US`)})]},r.key)})]}),(0,P.jsx)(`div`,{role:`tabpanel`,className:w(`min-h-0 flex-1 flex-col overflow-hidden`,t===`messages`?`flex`:`hidden`),children:(0,P.jsx)(Et,{messages:e.messages,onShowLine:r})}),e.tabs.filter(e=>s.current.keys.has(e.key)).map(e=>(0,P.jsx)(`div`,{role:`tabpanel`,"aria-label":e.title,className:w(`min-h-0 flex-1 flex-col overflow-hidden`,t===e.key?`flex`:`hidden`),children:o(e)},e.key)),!e.done&&(0,P.jsx)(At,{run:e,onStop:i,stopping:a})]})}function kt({selected:e,onClick:t,icon:n,children:r}){return(0,P.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":e,onClick:t,className:w(`flex shrink-0 items-center gap-1.5 border-b-2 px-3 text-xs whitespace-nowrap max-md:min-h-11 max-md:px-3.5 max-md:text-[13px]`,e?`border-primary text-text-primary`:`border-transparent text-text-2 can-hover:hover:text-text-primary`),children:[n,r]})}function At({run:e,onStop:t,stopping:n}){let r=e.running?.since??e.startedAt,[i,a]=(0,M.useState)(()=>Date.now());(0,M.useEffect)(()=>{let e=setInterval(()=>a(Date.now()),100);return()=>clearInterval(e)},[]);let o=e.statements.length,c=Math.max(0,(i-r)/1e3).toFixed(1);return(0,P.jsx)(`div`,{className:`pointer-events-none absolute inset-x-0 bottom-3 z-10 flex justify-center px-3`,children:(0,P.jsxs)(`div`,{className:`pointer-events-auto flex items-center gap-2.5 rounded-[10px] border border-border bg-panel px-3.5 py-2 text-xs shadow-lg max-md:text-sm`,children:[(0,P.jsx)(ne,{"aria-hidden":!0,className:`size-4 animate-spin text-text-subtle`}),(0,P.jsx)(`span`,{role:`status`,children:e.running?`Running statement ${e.running.index+1}${o>1?`/${o}`:``}`:`Running…`}),(0,P.jsxs)(`span`,{"aria-hidden":!0,className:`font-mono text-text-subtle tabular-nums`,children:[c,` s`]}),(0,P.jsxs)(`button`,{type:`button`,onClick:t,disabled:n,className:`flex h-7 items-center gap-1.5 rounded-md bg-destructive px-2.5 font-medium text-destructive-foreground disabled:opacity-60 max-md:h-11 max-md:px-3.5`,children:[(0,P.jsx)(s,{"aria-hidden":!0,className:`size-3.5`}),n?`Stopping…`:`Stop`]})]})})}function jt(e,t){let n=e.replace(/--[^\r\n]*/g,` `).replace(/\/\*[\s\S]*?\*\//g,` `).trim().replace(/;\s*$/,``);if(!/^select\s/i.test(n)||/\b(join|union|intersect|except|group\s+by|distinct)\b/i.test(n)||(n.match(/\bfrom\b/gi)??[]).length!==1)return null;let r=/\bfrom\s+(?:"([^"]+)"|`([^`]+)`|(\w+))\s*(?:\.\s*(?:"([^"]+)"|`([^`]+)`|(\w+)))?/i.exec(n);if(!r)return null;let i=r[1]??r[2]??r[3],a=r[4]??r[5]??r[6];return a?{schema:i,table:a}:{table:i,schema:t}}function Mt({tab:e,result:t,set:n,target:r,readonly:a,explain:o,connectionName:s,dialect:c,tabId:l,rereading:u,onSave:d,exporter:f}){let{keys:p,records:m}=(0,M.useMemo)(()=>Ce(n.columns,n.rows),[n]),h=(0,M.useMemo)(()=>n.columns.map(e=>e.name),[n]),g=(0,M.useMemo)(()=>o?null:jt(t.sql,``),[t.sql,o]),_=Nt(a||o?null:r,g),v=(0,M.useMemo)(()=>ht({readonly:a,explain:o,table:g,tableColumns:_,columns:h}),[a,o,g,_,h]),y=(0,M.useMemo)(()=>v.editable?v.schema:n.columns.map((e,t)=>({name:p[t],type:e.type,nullable:!0,pk:!1,defaultValue:null})),[v,n,p]),b=t.startLine===t.endLine?`line ${t.startLine}`:`lines ${t.startLine}–${t.endLine}`;return(0,P.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-hidden`,children:[(0,P.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden`,children:(0,P.jsx)(Ke,{columns:p,rows:m,schema:y,loading:u,rowKey:v.editable?v.rowKey:[],editOnly:!0,readOnly:!v.editable,onSaveChanges:v.editable&&g?e=>d(g,e):void 0,connectionName:s,dialect:c,tabId:l,tabSlot:e.key,exporter:f})}),(0,P.jsxs)(`div`,{className:w(`flex h-6 shrink-0 items-center gap-2 overflow-hidden border-t border-border px-3 text-[11px] whitespace-nowrap text-text-subtle`,`max-md:h-8 max-md:text-xs`),children:[(0,P.jsx)(`span`,{className:`text-text-2`,children:N(n.rows.length,`row`)}),(0,P.jsxs)(`span`,{className:`font-mono`,children:[t.durationMs.toLocaleString(`en-US`),` ms`]}),(0,P.jsxs)(`span`,{className:`truncate max-md:hidden`,children:[`· statement `,t.index+1,`, `,b]}),n.truncated&&(0,P.jsxs)(`span`,{className:`flex items-center gap-1 text-warning`,title:`Raise the row limit in the toolbar to read more`,children:[(0,P.jsx)(x,{"aria-hidden":!0,className:`size-3.5`}),`Cut off at `,n.rows.length.toLocaleString(`en-US`),` rows`]}),(0,P.jsx)(`span`,{className:`flex-1`}),!v.editable&&v.reason&&(0,P.jsxs)(`span`,{className:`flex shrink-0 items-center gap-1 rounded-full border border-border px-2 py-px`,title:`A result can be edited only when it holds one table's rows, its primary key among them`,children:[(0,P.jsx)(i,{"aria-hidden":!0,className:`size-3`}),v.reason]})]})]})}function Nt(e,t){let[n,r]=(0,M.useState)(null),i=e&&t?JSON.stringify([e,t]):null;return(0,M.useEffect)(()=>{if(!e||!t||!i)return;let n=!0,a=t.schema?`&schema=${encodeURIComponent(t.schema)}`:``;return C.get(D(e,`/schema?table=${encodeURIComponent(t.table)}${a}`)).then(e=>{n&&r({key:i,cols:e})}).catch(()=>{n&&r({key:i,cols:null})}),()=>{n=!1}},[i]),n&&n.key===i?n.cols:void 0}var Pt=`Discard unsaved changes?`,Ft=`Rows were changed in the results and not saved. Running again replaces the results and discards the changes.`;function It({onCancel:e,onDiscard:t}){let n=oe(),r=(0,P.jsxs)(`div`,{className:`flex flex-col-reverse gap-2 pt-2 md:flex-row md:justify-end`,children:[(0,P.jsx)(k,{variant:`outline`,onClick:e,className:`min-h-11 md:min-h-9`,autoFocus:!0,children:`Cancel`}),(0,P.jsx)(k,{variant:`destructive`,onClick:t,className:`min-h-11 md:min-h-9`,children:`Discard and run`})]});return n?(0,P.jsx)(he,{open:!0,onClose:e,children:(0,P.jsxs)(`div`,{className:`space-y-3 px-4 pb-4`,role:`alertdialog`,"aria-label":Pt,children:[(0,P.jsx)(`h2`,{className:`text-base font-semibold`,children:Pt}),(0,P.jsx)(`p`,{className:`text-sm text-text-secondary`,children:Ft}),r]})}):(0,P.jsx)(fe,{open:!0,onOpenChange:t=>{t||e()},children:(0,P.jsxs)(le,{role:`alertdialog`,children:[(0,P.jsxs)(se,{children:[(0,P.jsx)(ue,{children:Pt}),(0,P.jsx)(de,{children:Ft})]}),r]})})}function Lt(e,t,n){let r=D(e,`/history`),i=new URLSearchParams;t.trim()&&i.set(`search`,t.trim()),n>0&&i.set(`offset`,String(n));let a=i.toString();return a?`${r}${r.includes(`?`)?`&`:`?`}${a}`:r}function Rt(e,t,n){if(n===0)return[...t];let r=new Set(e.map(e=>e.id));return[...e,...t.filter(e=>!r.has(e.id))]}function zt(e){return e.length>=50}function Bt(e,t){let n=[Ae(Date.parse(e.ranAt),t)];return e.database&&n.push(e.database),e.status===`ok`&&e.rowCount!==null&&n.push(N(e.rowCount,`row`)),e.durationMs!==null&&n.push(`${e.durationMs.toLocaleString(`en-US`)} ms`),n}var Vt={ok:`Ran`,error:`Failed`,blocked:`Blocked`};function Ht(e,t){return`Read from the existing audit log. Kept as long as audit settings say (${N(e,`day`)} / ${t.toLocaleString(`en-US`)} MB).`}var Ut=290,Wt=300,Gt=6e4,Kt={ok:`bg-success`,error:`bg-error`,blocked:`bg-warning`};function qt({target:e,refreshKey:t,floating:n,onPick:r,onClose:i}){let[a,o]=(0,M.useState)(``),[s,c]=(0,M.useState)(``);(0,M.useEffect)(()=>{let e=setTimeout(()=>c(a),Wt);return()=>clearTimeout(e)},[a]);let[l,u]=(0,M.useState)({items:[],more:!1,retention:null,loading:!0,error:null}),[d,f]=(0,M.useState)(Date.now);(0,M.useEffect)(()=>{let e=setInterval(()=>f(Date.now()),Gt);return()=>clearInterval(e)},[]);let p=(0,M.useRef)(0),g=(0,M.useRef)([]),_=(0,M.useRef)(e);_.current=e;let v=(0,M.useCallback)(async e=>{let t=++p.current;u(e=>({...e,loading:!0,error:null}));try{let n=await C.get(Lt(_.current,s,e));if(t!==p.current)return;let r=Rt(g.current,n.items,e);g.current=r,f(Date.now()),u({items:r,more:zt(n.items),retention:{days:n.retentionDays,maxSizeMb:n.maxSizeMb},loading:!1,error:null})}catch(n){if(t!==p.current)return;u(t=>({...t,loading:!1,error:{message:n.message,offset:e}}))}},[s]);(0,M.useEffect)(()=>{v(0)},[v,D(e),t]);let y=(0,M.useRef)(null),b=(0,M.useRef)(null);(0,M.useEffect)(()=>{n&&(b.current=document.activeElement instanceof HTMLElement?document.activeElement:null,y.current?.focus())},[]);let x=()=>{i(),b.current?.focus()},ee=e=>{!n||e.key!==`Escape`||e.defaultPrevented||(e.preventDefault(),e.stopPropagation(),x())},{items:te,more:ne,retention:S,loading:T,error:E}=l;return(0,P.jsxs)(`aside`,{"aria-label":`Query history`,onKeyDown:ee,style:{width:n?`min(${Ut}px, 86%)`:Ut},className:w(`flex shrink-0 flex-col overflow-hidden border-l border-border bg-panel`,n&&`absolute inset-y-0 right-0 z-30 shadow-[-14px_0_34px_-14px_rgb(0_0_0/0.45)]`),children:[(0,P.jsxs)(`div`,{className:`flex h-9 shrink-0 items-center gap-1.5 border-b border-border-soft pr-1 pl-2.5 text-xs font-semibold text-text-primary`,children:[(0,P.jsx)(h,{"aria-hidden":!0,className:`size-4 shrink-0 text-text-2`}),`History`,(0,P.jsx)(`span`,{className:`flex-1`}),(0,P.jsx)(`button`,{type:`button`,onClick:x,"aria-label":`Close history`,title:`Close history`,className:`grid size-7 place-items-center rounded text-text-2 can-hover:hover:bg-surface-hover can-hover:hover:text-text-primary`,children:(0,P.jsx)(m,{className:`size-3.5`})})]}),(0,P.jsx)(`div`,{className:`flex shrink-0 px-2.5 py-2`,children:(0,P.jsx)(De,{value:a,onChange:o,placeholder:`Search history`,inputRef:y})}),(0,P.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto px-2 pb-2`,"aria-busy":T,children:[te.map(e=>(0,P.jsxs)(`button`,{type:`button`,onClick:()=>r(e.sql),title:e.sql,className:w(`mb-0.5 block w-full rounded-md border border-transparent px-2 py-1.5 text-left`,`can-hover:hover:border-border can-hover:hover:bg-surface-hover focus-visible:border-primary focus-visible:outline-none`),children:[(0,P.jsxs)(`span`,{className:`mb-0.5 flex min-w-0 items-center gap-1.5 text-[11px] text-text-subtle`,children:[(0,P.jsx)(`span`,{role:`img`,"aria-label":Vt[e.status],className:w(`size-[7px] shrink-0 rounded-full`,Kt[e.status])}),(0,P.jsx)(`span`,{className:`truncate`,children:Bt(e,d).join(` · `)}),e.byAgent&&(0,P.jsx)(`span`,{title:`An AI agent ran it`,className:`ml-auto shrink-0 rounded border border-border px-1 text-[10px] leading-4`,children:`agent`})]}),(0,P.jsx)(`span`,{className:`line-clamp-2 font-mono text-[11.5px] leading-[1.45] break-all text-text-primary`,children:e.sql}),e.status===`error`&&e.error&&(0,P.jsx)(`span`,{className:`mt-0.5 line-clamp-2 text-[11px] text-error`,children:e.error}),e.status===`blocked`&&(0,P.jsxs)(`span`,{className:`mt-0.5 line-clamp-2 text-[11px] text-warning`,children:[`Blocked: `,e.error??`not allowed on this connection`]})]},e.id)),E?(0,P.jsxs)(ke,{children:[(0,P.jsxs)(`span`,{role:`alert`,className:`text-error`,children:[`Could not read the history: `,E.message]}),(0,P.jsx)(`button`,{type:`button`,onClick:()=>void v(E.offset),className:Me,children:`Try again`})]}):T&&te.length===0?(0,P.jsx)(ke,{children:`Reading the history…`}):te.length===0?(0,P.jsx)(ke,{children:s.trim()?`No query run here matches.`:`Nothing has been run here yet.`}):ne?(0,P.jsx)(`button`,{type:`button`,onClick:()=>void v(te.length),disabled:T,className:`mt-1 h-7 w-full rounded-md border border-border text-xs text-text-2 can-hover:hover:bg-surface-hover disabled:opacity-50`,children:T?`Reading…`:`Load more`}):null]}),S&&(0,P.jsx)(`div`,{className:`shrink-0 border-t border-border-soft px-3 py-2 text-[11px] leading-snug text-text-subtle`,children:Ht(S.days,S.maxSizeMb)})]})}function Jt(e){let t=e?.savedPath;return typeof t==`string`&&t!==``?t:null}function Yt(e){return`${e.toLowerCase().replace(/[^\p{L}\p{N}]+/gu,`-`).replace(/^-+|-+$/g,``)||`query`}.sql`}function Xt(e){return/\.[^./\\]+$/.test(e)?e:`${e}.sql`}function Zt(e){let t=E(e);return t.replace(/\.sql$/i,``)||t}function Qt(e,t,n){return{title:Zt(t),metadata:{...e,savedPath:t,openedSql:n}}}function $t(e){let t=Math.max(e.lastIndexOf(`/`),e.lastIndexOf(`\\`));return t<0?{dir:``,name:e}:{dir:t===0||e[t-1]===`:`?e.slice(0,t+1):e.slice(0,t),name:e.slice(t+1)}}function en(e,t){let n=t.toLowerCase();return e.some(e=>e.type!==`directory`&&e.name.toLowerCase()===n)}async function tn(e){let{dir:t,name:n}=$t(e);if(!t)return!1;try{return en((await C.get(`/api/fs/browse?path=${encodeURIComponent(t)}&showHidden=true`)).entries,n)}catch{return!1}}function nn(e){let t=O.getState();return t.panels[t.focusedPanelId]?.activeTabId===e}function rn({tabId:e,keys:t,title:n,savedPath:r,sql:i,onSaved:a}){let[o,s]=(0,M.useState)(!1),[c,l]=(0,M.useState)(null),u=(0,M.useCallback)(async e=>{let t=i();try{await C.put(`/api/fs/write`,{path:e,content:t})}catch(t){S.error(`Could not save ${E(e)}: ${t.message}`);return}a(e,t)},[i,a]),d=(0,M.useCallback)(()=>{r?u(r):s(!0)},[r,u]),f=(0,M.useCallback)(async e=>{s(!1);let t=Xt(e);await tn(t)?l(t):u(t)},[u]),p=(0,M.useRef)(d);return p.current=d,(0,M.useEffect)(()=>{if(!t||!e)return;let n=t=>{t.repeat||!Pe.getState().matchesEvent(t,`save-prevent`)||!nn(e)||t.target?.closest?.(`[role="dialog"], [role="alertdialog"]`)||(t.preventDefault(),p.current())};return window.addEventListener(`keydown`,n),()=>window.removeEventListener(`keydown`,n)},[t,e]),{save:d,dialogs:(0,P.jsxs)(P.Fragment,{children:[o&&(0,P.jsx)(qe,{open:!0,defaultName:Yt(n),content:``,onSave:e=>void f(e),onCancel:()=>s(!1)}),c&&(0,P.jsx)(fe,{open:!0,onOpenChange:e=>{e||l(null)},children:(0,P.jsxs)(le,{role:`alertdialog`,className:`sm:max-w-md`,children:[(0,P.jsxs)(se,{children:[(0,P.jsx)(ue,{children:`Replace file?`}),(0,P.jsxs)(de,{children:[E(c),` is already in that folder. Replacing it writes this tab's SQL over what it holds.`]})]}),(0,P.jsxs)(ce,{children:[(0,P.jsx)(k,{variant:`outline`,onClick:()=>l(null),autoFocus:!0,children:`Cancel`}),(0,P.jsx)(k,{variant:`destructive`,onClick:()=>{let e=c;l(null),u(e)},children:`Replace`})]})]})})]})}}var I=e=>e.flatMap(an),an=e=>pn(sn(e)).map(on),on=e=>e.replace(/ +/g,` `).trim(),sn=e=>({type:`mandatory_block`,items:cn(e,0)[0]}),cn=(e,t,n)=>{let r=[];for(;e[t];){let[i,a]=ln(e,t);if(r.push(i),t=a,e[t]===`|`)t++;else if(e[t]===`}`||e[t]===`]`){if(n!==e[t])throw Error(`Unbalanced parenthesis in: ${e}`);return t++,[r,t]}else if(t===e.length){if(n)throw Error(`Unbalanced parenthesis in: ${e}`);return[r,t]}else throw Error(`Unexpected "${e[t]}"`)}return[r,t]},ln=(e,t)=>{let n=[];for(;;){let[r,i]=un(e,t);if(r)n.push(r),t=i;else break}return n.length===1?[n[0],t]:[{type:`concatenation`,items:n},t]},un=(e,t)=>{if(e[t]===`{`)return dn(e,t+1);if(e[t]===`[`)return fn(e,t+1);{let n=``;for(;e[t]&&/[A-Za-z0-9_ ]/.test(e[t]);)n+=e[t],t++;return[n,t]}},dn=(e,t)=>{let[n,r]=cn(e,t,`}`);return[{type:`mandatory_block`,items:n},r]},fn=(e,t)=>{let[n,r]=cn(e,t,`]`);return[{type:`optional_block`,items:n},r]},pn=e=>{if(typeof e==`string`)return[e];if(e.type===`concatenation`)return e.items.map(pn).reduce(mn,[``]);if(e.type===`mandatory_block`)return e.items.flatMap(pn);if(e.type===`optional_block`)return[``,...e.items.flatMap(pn)];throw Error(`Unknown node type: ${e}`)},mn=(e,t)=>{let n=[];for(let r of e)for(let e of t)n.push(r+e);return n},L;(function(e){e.QUOTED_IDENTIFIER=`QUOTED_IDENTIFIER`,e.IDENTIFIER=`IDENTIFIER`,e.STRING=`STRING`,e.VARIABLE=`VARIABLE`,e.RESERVED_DATA_TYPE=`RESERVED_DATA_TYPE`,e.RESERVED_PARAMETERIZED_DATA_TYPE=`RESERVED_PARAMETERIZED_DATA_TYPE`,e.RESERVED_KEYWORD=`RESERVED_KEYWORD`,e.RESERVED_FUNCTION_NAME=`RESERVED_FUNCTION_NAME`,e.RESERVED_KEYWORD_PHRASE=`RESERVED_KEYWORD_PHRASE`,e.RESERVED_DATA_TYPE_PHRASE=`RESERVED_DATA_TYPE_PHRASE`,e.RESERVED_SET_OPERATION=`RESERVED_SET_OPERATION`,e.RESERVED_CLAUSE=`RESERVED_CLAUSE`,e.RESERVED_SELECT=`RESERVED_SELECT`,e.RESERVED_JOIN=`RESERVED_JOIN`,e.ARRAY_IDENTIFIER=`ARRAY_IDENTIFIER`,e.ARRAY_KEYWORD=`ARRAY_KEYWORD`,e.CASE=`CASE`,e.END=`END`,e.WHEN=`WHEN`,e.ELSE=`ELSE`,e.THEN=`THEN`,e.LIMIT=`LIMIT`,e.BETWEEN=`BETWEEN`,e.AND=`AND`,e.OR=`OR`,e.XOR=`XOR`,e.OPERATOR=`OPERATOR`,e.COMMA=`COMMA`,e.ASTERISK=`ASTERISK`,e.PROPERTY_ACCESS_OPERATOR=`PROPERTY_ACCESS_OPERATOR`,e.OPEN_PAREN=`OPEN_PAREN`,e.CLOSE_PAREN=`CLOSE_PAREN`,e.LINE_COMMENT=`LINE_COMMENT`,e.BLOCK_COMMENT=`BLOCK_COMMENT`,e.DISABLE_COMMENT=`DISABLE_COMMENT`,e.NUMBER=`NUMBER`,e.NAMED_PARAMETER=`NAMED_PARAMETER`,e.QUOTED_PARAMETER=`QUOTED_PARAMETER`,e.NUMBERED_PARAMETER=`NUMBERED_PARAMETER`,e.POSITIONAL_PARAMETER=`POSITIONAL_PARAMETER`,e.CUSTOM_PARAMETER=`CUSTOM_PARAMETER`,e.DELIMITER=`DELIMITER`,e.EOF=`EOF`})(L=L||={});var hn=e=>({type:L.EOF,raw:`«EOF»`,text:`«EOF»`,start:e}),gn=hn(1/0),R=e=>t=>t.type===e.type&&t.text===e.text,_n={ARRAY:R({text:`ARRAY`,type:L.RESERVED_DATA_TYPE}),BY:R({text:`BY`,type:L.RESERVED_KEYWORD}),SET:R({text:`SET`,type:L.RESERVED_CLAUSE}),STRUCT:R({text:`STRUCT`,type:L.RESERVED_DATA_TYPE}),WINDOW:R({text:`WINDOW`,type:L.RESERVED_CLAUSE}),VALUES:R({text:`VALUES`,type:L.RESERVED_CLAUSE})},vn=e=>e===L.RESERVED_DATA_TYPE||e===L.RESERVED_KEYWORD||e===L.RESERVED_FUNCTION_NAME||e===L.RESERVED_KEYWORD_PHRASE||e===L.RESERVED_DATA_TYPE_PHRASE||e===L.RESERVED_CLAUSE||e===L.RESERVED_SELECT||e===L.RESERVED_SET_OPERATION||e===L.RESERVED_JOIN||e===L.ARRAY_KEYWORD||e===L.CASE||e===L.END||e===L.WHEN||e===L.ELSE||e===L.THEN||e===L.LIMIT||e===L.BETWEEN||e===L.AND||e===L.OR||e===L.XOR,yn=e=>e===L.AND||e===L.OR||e===L.XOR;function bn(e){return e.map((t,n)=>{let r=e[n+1]||gn;if(_n.SET(t)&&r.text===`(`)return Object.assign(Object.assign({},t),{type:L.RESERVED_FUNCTION_NAME});let i=e[n-1]||gn;return _n.VALUES(t)&&i.text===`=`?Object.assign(Object.assign({},t),{type:L.RESERVED_FUNCTION_NAME}):t})}var xn=`ACCESSIBLE.ADD.ALL.ALTER.ANALYZE.AND.AS.ASC.ASENSITIVE.BEFORE.BETWEEN.BOTH.BY.CALL.CASCADE.CASE.CHANGE.CHECK.COLLATE.COLUMN.CONDITION.CONSTRAINT.CONTINUE.CONVERT.CREATE.CROSS.CURRENT_DATE.CURRENT_ROLE.CURRENT_TIME.CURRENT_TIMESTAMP.CURRENT_USER.CURSOR.DATABASE.DATABASES.DAY_HOUR.DAY_MICROSECOND.DAY_MINUTE.DAY_SECOND.DECLARE.DEFAULT.DELAYED.DELETE.DELETE_DOMAIN_ID.DESC.DESCRIBE.DETERMINISTIC.DISTINCT.DISTINCTROW.DIV.DO_DOMAIN_IDS.DROP.DUAL.EACH.ELSE.ELSEIF.ENCLOSED.ESCAPED.EXCEPT.EXISTS.EXIT.EXPLAIN.FALSE.FETCH.FOR.FORCE.FOREIGN.FROM.FULLTEXT.GENERAL.GRANT.GROUP.HAVING.HIGH_PRIORITY.HOUR_MICROSECOND.HOUR_MINUTE.HOUR_SECOND.IF.IGNORE.IGNORE_DOMAIN_IDS.IGNORE_SERVER_IDS.IN.INDEX.INFILE.INNER.INOUT.INSENSITIVE.INSERT.INTERSECT.INTERVAL.INTO.IS.ITERATE.JOIN.KEY.KEYS.KILL.LEADING.LEAVE.LEFT.LIKE.LIMIT.LINEAR.LINES.LOAD.LOCALTIME.LOCALTIMESTAMP.LOCK.LOOP.LOW_PRIORITY.MASTER_HEARTBEAT_PERIOD.MASTER_SSL_VERIFY_SERVER_CERT.MATCH.MAXVALUE.MINUTE_MICROSECOND.MINUTE_SECOND.MOD.MODIFIES.NATURAL.NOT.NO_WRITE_TO_BINLOG.NULL.OFFSET.ON.OPTIMIZE.OPTION.OPTIONALLY.OR.ORDER.OUT.OUTER.OUTFILE.OVER.PAGE_CHECKSUM.PARSE_VCOL_EXPR.PARTITION.POSITION.PRIMARY.PROCEDURE.PURGE.RANGE.READ.READS.READ_WRITE.RECURSIVE.REF_SYSTEM_ID.REFERENCES.REGEXP.RELEASE.RENAME.REPEAT.REPLACE.REQUIRE.RESIGNAL.RESTRICT.RETURN.RETURNING.REVOKE.RIGHT.RLIKE.ROW_NUMBER.ROWS.SCHEMA.SCHEMAS.SECOND_MICROSECOND.SELECT.SENSITIVE.SEPARATOR.SET.SHOW.SIGNAL.SLOW.SPATIAL.SPECIFIC.SQL.SQLEXCEPTION.SQLSTATE.SQLWARNING.SQL_BIG_RESULT.SQL_CALC_FOUND_ROWS.SQL_SMALL_RESULT.SSL.STARTING.STATS_AUTO_RECALC.STATS_PERSISTENT.STATS_SAMPLE_PAGES.STRAIGHT_JOIN.TABLE.TERMINATED.THEN.TO.TRAILING.TRIGGER.TRUE.UNDO.UNION.UNIQUE.UNLOCK.UNSIGNED.UPDATE.USAGE.USE.USING.UTC_DATE.UTC_TIME.UTC_TIMESTAMP.VALUES.WHEN.WHERE.WHILE.WINDOW.WITH.WRITE.XOR.YEAR_MONTH.ZEROFILL`.split(`.`),Sn=`BIGINT.BINARY.BIT.BLOB.CHAR BYTE.CHAR.CHARACTER.DATETIME.DEC.DECIMAL.DOUBLE PRECISION.DOUBLE.ENUM.FIXED.FLOAT.FLOAT4.FLOAT8.INT.INT1.INT2.INT3.INT4.INT8.INTEGER.LONG.LONGBLOB.LONGTEXT.MEDIUMBLOB.MEDIUMINT.MEDIUMTEXT.MIDDLEINT.NATIONAL CHAR.NATIONAL VARCHAR.NUMERIC.PRECISION.REAL.SMALLINT.TEXT.TIMESTAMP.TINYBLOB.TINYINT.TINYTEXT.VARBINARY.VARCHAR.VARCHARACTER.VARYING.YEAR`.split(`.`),Cn=`ADDDATE.ADD_MONTHS.BIT_AND.BIT_OR.BIT_XOR.CAST.COUNT.CUME_DIST.CURDATE.CURTIME.DATE_ADD.DATE_SUB.DATE_FORMAT.DECODE.DENSE_RANK.EXTRACT.FIRST_VALUE.GROUP_CONCAT.JSON_ARRAYAGG.JSON_OBJECTAGG.LAG.LEAD.MAX.MEDIAN.MID.MIN.NOW.NTH_VALUE.NTILE.POSITION.PERCENT_RANK.PERCENTILE_CONT.PERCENTILE_DISC.RANK.ROW_NUMBER.SESSION_USER.STD.STDDEV.STDDEV_POP.STDDEV_SAMP.SUBDATE.SUBSTR.SUBSTRING.SUM.SYSTEM_USER.TRIM.TRIM_ORACLE.VARIANCE.VAR_POP.VAR_SAMP.ABS.ACOS.ADDTIME.AES_DECRYPT.AES_ENCRYPT.ASIN.ATAN.ATAN2.BENCHMARK.BIN.BINLOG_GTID_POS.BIT_COUNT.BIT_LENGTH.CEIL.CEILING.CHARACTER_LENGTH.CHAR_LENGTH.CHR.COERCIBILITY.COLUMN_CHECK.COLUMN_EXISTS.COLUMN_LIST.COLUMN_JSON.COMPRESS.CONCAT.CONCAT_OPERATOR_ORACLE.CONCAT_WS.CONNECTION_ID.CONV.CONVERT_TZ.COS.COT.CRC32.DATEDIFF.DAYNAME.DAYOFMONTH.DAYOFWEEK.DAYOFYEAR.DEGREES.DECODE_HISTOGRAM.DECODE_ORACLE.DES_DECRYPT.DES_ENCRYPT.ELT.ENCODE.ENCRYPT.EXP.EXPORT_SET.EXTRACTVALUE.FIELD.FIND_IN_SET.FLOOR.FORMAT.FOUND_ROWS.FROM_BASE64.FROM_DAYS.FROM_UNIXTIME.GET_LOCK.GREATEST.HEX.IFNULL.INSTR.ISNULL.IS_FREE_LOCK.IS_USED_LOCK.JSON_ARRAY.JSON_ARRAY_APPEND.JSON_ARRAY_INSERT.JSON_COMPACT.JSON_CONTAINS.JSON_CONTAINS_PATH.JSON_DEPTH.JSON_DETAILED.JSON_EXISTS.JSON_EXTRACT.JSON_INSERT.JSON_KEYS.JSON_LENGTH.JSON_LOOSE.JSON_MERGE.JSON_MERGE_PATCH.JSON_MERGE_PRESERVE.JSON_QUERY.JSON_QUOTE.JSON_OBJECT.JSON_REMOVE.JSON_REPLACE.JSON_SET.JSON_SEARCH.JSON_TYPE.JSON_UNQUOTE.JSON_VALID.JSON_VALUE.LAST_DAY.LAST_INSERT_ID.LCASE.LEAST.LENGTH.LENGTHB.LN.LOAD_FILE.LOCATE.LOG.LOG10.LOG2.LOWER.LPAD.LPAD_ORACLE.LTRIM.LTRIM_ORACLE.MAKEDATE.MAKETIME.MAKE_SET.MASTER_GTID_WAIT.MASTER_POS_WAIT.MD5.MONTHNAME.NAME_CONST.NVL.NVL2.OCT.OCTET_LENGTH.ORD.PERIOD_ADD.PERIOD_DIFF.PI.POW.POWER.QUOTE.REGEXP_INSTR.REGEXP_REPLACE.REGEXP_SUBSTR.RADIANS.RAND.RELEASE_ALL_LOCKS.RELEASE_LOCK.REPLACE_ORACLE.REVERSE.ROUND.RPAD.RPAD_ORACLE.RTRIM.RTRIM_ORACLE.SEC_TO_TIME.SHA.SHA1.SHA2.SIGN.SIN.SLEEP.SOUNDEX.SPACE.SQRT.STRCMP.STR_TO_DATE.SUBSTR_ORACLE.SUBSTRING_INDEX.SUBTIME.SYS_GUID.TAN.TIMEDIFF.TIME_FORMAT.TIME_TO_SEC.TO_BASE64.TO_CHAR.TO_DAYS.TO_SECONDS.UCASE.UNCOMPRESS.UNCOMPRESSED_LENGTH.UNHEX.UNIX_TIMESTAMP.UPDATEXML.UPPER.UUID.UUID_SHORT.VERSION.WEEKDAY.WEEKOFYEAR.WSREP_LAST_WRITTEN_GTID.WSREP_LAST_SEEN_GTID.WSREP_SYNC_WAIT_UPTO_GTID.YEARWEEK.COALESCE.NULLIF`.split(`.`),wn=I([`SELECT [ALL | DISTINCT | DISTINCTROW]`]),Tn=I([`WITH [RECURSIVE]`,`FROM`,`WHERE`,`GROUP BY`,`HAVING`,`PARTITION BY`,`ORDER BY`,`LIMIT`,`OFFSET`,`FETCH {FIRST | NEXT}`,`INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO]`,`REPLACE [LOW_PRIORITY | DELAYED] [INTO]`,`VALUES`,`ON DUPLICATE KEY UPDATE`,`SET`,`RETURNING`]),En=I([`CREATE [OR REPLACE] [TEMPORARY] TABLE [IF NOT EXISTS]`]),Dn=I(`CREATE [OR REPLACE] [SQL SECURITY DEFINER | SQL SECURITY INVOKER] VIEW [IF NOT EXISTS].UPDATE [LOW_PRIORITY] [IGNORE].DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM.DROP [TEMPORARY] TABLE [IF EXISTS].ALTER [ONLINE] [IGNORE] TABLE [IF EXISTS].ADD [COLUMN] [IF NOT EXISTS].{CHANGE | MODIFY} [COLUMN] [IF EXISTS].DROP [COLUMN] [IF EXISTS].RENAME [TO].RENAME COLUMN.ALTER [COLUMN].{SET | DROP} DEFAULT.SET {VISIBLE | INVISIBLE}.TRUNCATE [TABLE].ALTER DATABASE.ALTER DATABASE COMMENT.ALTER EVENT.ALTER FUNCTION.ALTER PROCEDURE.ALTER SCHEMA.ALTER SCHEMA COMMENT.ALTER SEQUENCE.ALTER SERVER.ALTER USER.ALTER VIEW.ANALYZE.ANALYZE TABLE.BACKUP LOCK.BACKUP STAGE.BACKUP UNLOCK.BEGIN.BINLOG.CACHE INDEX.CALL.CHANGE MASTER TO.CHECK TABLE.CHECK VIEW.CHECKSUM TABLE.COMMIT.CREATE AGGREGATE FUNCTION.CREATE DATABASE.CREATE EVENT.CREATE FUNCTION.CREATE INDEX.CREATE PROCEDURE.CREATE ROLE.CREATE SEQUENCE.CREATE SERVER.CREATE SPATIAL INDEX.CREATE TRIGGER.CREATE UNIQUE INDEX.CREATE USER.DEALLOCATE PREPARE.DESCRIBE.DROP DATABASE.DROP EVENT.DROP FUNCTION.DROP INDEX.DROP PREPARE.DROP PROCEDURE.DROP ROLE.DROP SEQUENCE.DROP SERVER.DROP TRIGGER.DROP USER.DROP VIEW.EXECUTE.EXPLAIN.FLUSH.GET DIAGNOSTICS.GET DIAGNOSTICS CONDITION.GRANT.HANDLER.HELP.INSTALL PLUGIN.INSTALL SONAME.KILL.LOAD DATA INFILE.LOAD INDEX INTO CACHE.LOAD XML INFILE.LOCK TABLE.OPTIMIZE TABLE.PREPARE.PURGE BINARY LOGS.PURGE MASTER LOGS.RELEASE SAVEPOINT.RENAME TABLE.RENAME USER.REPAIR TABLE.REPAIR VIEW.RESET MASTER.RESET QUERY CACHE.RESET REPLICA.RESET SLAVE.RESIGNAL.REVOKE.ROLLBACK.SAVEPOINT.SET CHARACTER SET.SET DEFAULT ROLE.SET GLOBAL TRANSACTION.SET NAMES.SET PASSWORD.SET ROLE.SET STATEMENT.SET TRANSACTION.SHOW.SHOW ALL REPLICAS STATUS.SHOW ALL SLAVES STATUS.SHOW AUTHORS.SHOW BINARY LOGS.SHOW BINLOG EVENTS.SHOW BINLOG STATUS.SHOW CHARACTER SET.SHOW CLIENT_STATISTICS.SHOW COLLATION.SHOW COLUMNS.SHOW CONTRIBUTORS.SHOW CREATE DATABASE.SHOW CREATE EVENT.SHOW CREATE FUNCTION.SHOW CREATE PACKAGE.SHOW CREATE PACKAGE BODY.SHOW CREATE PROCEDURE.SHOW CREATE SEQUENCE.SHOW CREATE TABLE.SHOW CREATE TRIGGER.SHOW CREATE USER.SHOW CREATE VIEW.SHOW DATABASES.SHOW ENGINE.SHOW ENGINE INNODB STATUS.SHOW ENGINES.SHOW ERRORS.SHOW EVENTS.SHOW EXPLAIN.SHOW FUNCTION CODE.SHOW FUNCTION STATUS.SHOW GRANTS.SHOW INDEX.SHOW INDEXES.SHOW INDEX_STATISTICS.SHOW KEYS.SHOW LOCALES.SHOW MASTER LOGS.SHOW MASTER STATUS.SHOW OPEN TABLES.SHOW PACKAGE BODY CODE.SHOW PACKAGE BODY STATUS.SHOW PACKAGE STATUS.SHOW PLUGINS.SHOW PLUGINS SONAME.SHOW PRIVILEGES.SHOW PROCEDURE CODE.SHOW PROCEDURE STATUS.SHOW PROCESSLIST.SHOW PROFILE.SHOW PROFILES.SHOW QUERY_RESPONSE_TIME.SHOW RELAYLOG EVENTS.SHOW REPLICA.SHOW REPLICA HOSTS.SHOW REPLICA STATUS.SHOW SCHEMAS.SHOW SLAVE.SHOW SLAVE HOSTS.SHOW SLAVE STATUS.SHOW STATUS.SHOW STORAGE ENGINES.SHOW TABLE STATUS.SHOW TABLES.SHOW TRIGGERS.SHOW USER_STATISTICS.SHOW VARIABLES.SHOW WARNINGS.SHOW WSREP_MEMBERSHIP.SHOW WSREP_STATUS.SHUTDOWN.SIGNAL.START ALL REPLICAS.START ALL SLAVES.START REPLICA.START SLAVE.START TRANSACTION.STOP ALL REPLICAS.STOP ALL SLAVES.STOP REPLICA.STOP SLAVE.UNINSTALL PLUGIN.UNINSTALL SONAME.UNLOCK TABLE.USE.XA BEGIN.XA COMMIT.XA END.XA PREPARE.XA RECOVER.XA ROLLBACK.XA START`.split(`.`)),On=I([`UNION [ALL | DISTINCT]`,`EXCEPT [ALL | DISTINCT]`,`INTERSECT [ALL | DISTINCT]`,`MINUS [ALL | DISTINCT]`]),kn=I([`JOIN`,`{LEFT | RIGHT} [OUTER] JOIN`,`{INNER | CROSS} JOIN`,`NATURAL JOIN`,`NATURAL {LEFT | RIGHT} [OUTER] JOIN`,`STRAIGHT_JOIN`]),An=I([`ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]`,`CHARACTER SET`,`{ROWS | RANGE} BETWEEN`,`IDENTIFIED BY`]),jn=I([]),Mn={name:`mariadb`,tokenizerOptions:{reservedSelect:wn,reservedClauses:[...Tn,...En,...Dn],reservedSetOperations:On,reservedJoins:kn,reservedKeywordPhrases:An,reservedDataTypePhrases:jn,supportsXor:!0,reservedKeywords:xn,reservedDataTypes:Sn,reservedFunctionNames:Cn,stringTypes:[`""-qq-bs`,`''-qq-bs`,{quote:`''-raw`,prefixes:[`B`,`X`],requirePrefix:!0}],identTypes:["``"],identChars:{first:`$`,rest:`$`,allowFirstCharNumber:!0},variableTypes:[{regex:`@@?[A-Za-z0-9_.$]+`},{quote:`""-qq-bs`,prefixes:[`@`],requirePrefix:!0},{quote:`''-qq-bs`,prefixes:[`@`],requirePrefix:!0},{quote:"``",prefixes:[`@`],requirePrefix:!0}],paramTypes:{positional:!0},lineCommentTypes:[`--`,`#`],operators:[`%`,`:=`,`&`,`|`,`^`,`~`,`<<`,`>>`,`<=>`,`&&`,`||`,`!`,`*.*`],postProcess:bn},formatOptions:{onelineClauses:[...En,...Dn],tabularOnelineClauses:Dn}},Nn=`ACCESSIBLE.ADD.ALL.ALTER.ANALYZE.AND.AS.ASC.ASENSITIVE.BEFORE.BETWEEN.BOTH.BY.CALL.CASCADE.CASE.CHANGE.CHECK.COLLATE.COLUMN.CONDITION.CONSTRAINT.CONTINUE.CONVERT.CREATE.CROSS.CUBE.CUME_DIST.CURRENT_DATE.CURRENT_TIME.CURRENT_TIMESTAMP.CURRENT_USER.CURSOR.DATABASE.DATABASES.DAY_HOUR.DAY_MICROSECOND.DAY_MINUTE.DAY_SECOND.DECLARE.DEFAULT.DELAYED.DELETE.DENSE_RANK.DESC.DESCRIBE.DETERMINISTIC.DISTINCT.DISTINCTROW.DIV.DROP.DUAL.EACH.ELSE.ELSEIF.EMPTY.ENCLOSED.ESCAPED.EXCEPT.EXISTS.EXIT.EXPLAIN.FALSE.FETCH.FIRST_VALUE.FOR.FORCE.FOREIGN.FROM.FULLTEXT.FUNCTION.GENERATED.GET.GRANT.GROUP.GROUPING.GROUPS.HAVING.HIGH_PRIORITY.HOUR_MICROSECOND.HOUR_MINUTE.HOUR_SECOND.IF.IGNORE.IN.INDEX.INFILE.INNER.INOUT.INSENSITIVE.INSERT.IN.INTERSECT.INTERVAL.INTO.IO_AFTER_GTIDS.IO_BEFORE_GTIDS.IS.ITERATE.JOIN.JSON_TABLE.KEY.KEYS.KILL.LAG.LAST_VALUE.LATERAL.LEAD.LEADING.LEAVE.LEFT.LIKE.LIMIT.LINEAR.LINES.LOAD.LOCALTIME.LOCALTIMESTAMP.LOCK.LONG.LOOP.LOW_PRIORITY.MASTER_BIND.MASTER_SSL_VERIFY_SERVER_CERT.MATCH.MAXVALUE.MINUTE_MICROSECOND.MINUTE_SECOND.MOD.MODIFIES.NATURAL.NOT.NO_WRITE_TO_BINLOG.NTH_VALUE.NTILE.NULL.OF.ON.OPTIMIZE.OPTIMIZER_COSTS.OPTION.OPTIONALLY.OR.ORDER.OUT.OUTER.OUTFILE.OVER.PARTITION.PERCENT_RANK.PRIMARY.PROCEDURE.PURGE.RANGE.RANK.READ.READS.READ_WRITE.RECURSIVE.REFERENCES.REGEXP.RELEASE.RENAME.REPEAT.REPLACE.REQUIRE.RESIGNAL.RESTRICT.RETURN.REVOKE.RIGHT.RLIKE.ROW.ROWS.ROW_NUMBER.SCHEMA.SCHEMAS.SECOND_MICROSECOND.SELECT.SENSITIVE.SEPARATOR.SET.SHOW.SIGNAL.SPATIAL.SPECIFIC.SQL.SQLEXCEPTION.SQLSTATE.SQLWARNING.SQL_BIG_RESULT.SQL_CALC_FOUND_ROWS.SQL_SMALL_RESULT.SSL.STARTING.STORED.STRAIGHT_JOIN.SYSTEM.TABLE.TERMINATED.THEN.TO.TRAILING.TRIGGER.TRUE.UNDO.UNION.UNIQUE.UNLOCK.UNSIGNED.UPDATE.USAGE.USE.USING.UTC_DATE.UTC_TIME.UTC_TIMESTAMP.VALUES.VIRTUAL.WHEN.WHERE.WHILE.WINDOW.WITH.WRITE.XOR.YEAR_MONTH.ZEROFILL`.split(`.`),Pn=`BIGINT.BINARY.BIT.BLOB.BOOL.BOOLEAN.CHAR.CHARACTER.DATE.DATETIME.DEC.DECIMAL.DOUBLE PRECISION.DOUBLE.ENUM.FIXED.FLOAT.FLOAT4.FLOAT8.INT.INT1.INT2.INT3.INT4.INT8.INTEGER.LONGBLOB.LONGTEXT.MEDIUMBLOB.MEDIUMINT.MEDIUMTEXT.MIDDLEINT.NATIONAL CHAR.NATIONAL VARCHAR.NUMERIC.PRECISION.REAL.SMALLINT.TEXT.TIME.TIMESTAMP.TINYBLOB.TINYINT.TINYTEXT.VARBINARY.VARCHAR.VARCHARACTER.VARYING.YEAR`.split(`.`),Fn=`ABS.ACOS.ADDDATE.ADDTIME.AES_DECRYPT.AES_ENCRYPT.ANY_VALUE.ASCII.ASIN.ATAN.ATAN2.AVG.BENCHMARK.BIN.BIN_TO_UUID.BINARY.BIT_AND.BIT_COUNT.BIT_LENGTH.BIT_OR.BIT_XOR.CAN_ACCESS_COLUMN.CAN_ACCESS_DATABASE.CAN_ACCESS_TABLE.CAN_ACCESS_USER.CAN_ACCESS_VIEW.CAST.CEIL.CEILING.CHAR.CHAR_LENGTH.CHARACTER_LENGTH.CHARSET.COALESCE.COERCIBILITY.COLLATION.COMPRESS.CONCAT.CONCAT_WS.CONNECTION_ID.CONV.CONVERT.CONVERT_TZ.COS.COT.COUNT.CRC32.CUME_DIST.CURDATE.CURRENT_DATE.CURRENT_ROLE.CURRENT_TIME.CURRENT_TIMESTAMP.CURRENT_USER.CURTIME.DATABASE.DATE.DATE_ADD.DATE_FORMAT.DATE_SUB.DATEDIFF.DAY.DAYNAME.DAYOFMONTH.DAYOFWEEK.DAYOFYEAR.DEFAULT.DEGREES.DENSE_RANK.DIV.ELT.EXP.EXPORT_SET.EXTRACT.EXTRACTVALUE.FIELD.FIND_IN_SET.FIRST_VALUE.FLOOR.FORMAT.FORMAT_BYTES.FORMAT_PICO_TIME.FOUND_ROWS.FROM_BASE64.FROM_DAYS.FROM_UNIXTIME.GEOMCOLLECTION.GEOMETRYCOLLECTION.GET_DD_COLUMN_PRIVILEGES.GET_DD_CREATE_OPTIONS.GET_DD_INDEX_SUB_PART_LENGTH.GET_FORMAT.GET_LOCK.GREATEST.GROUP_CONCAT.GROUPING.GTID_SUBSET.GTID_SUBTRACT.HEX.HOUR.ICU_VERSION.IF.IFNULL.INET_ATON.INET_NTOA.INET6_ATON.INET6_NTOA.INSERT.INSTR.INTERNAL_AUTO_INCREMENT.INTERNAL_AVG_ROW_LENGTH.INTERNAL_CHECK_TIME.INTERNAL_CHECKSUM.INTERNAL_DATA_FREE.INTERNAL_DATA_LENGTH.INTERNAL_DD_CHAR_LENGTH.INTERNAL_GET_COMMENT_OR_ERROR.INTERNAL_GET_ENABLED_ROLE_JSON.INTERNAL_GET_HOSTNAME.INTERNAL_GET_USERNAME.INTERNAL_GET_VIEW_WARNING_OR_ERROR.INTERNAL_INDEX_COLUMN_CARDINALITY.INTERNAL_INDEX_LENGTH.INTERNAL_IS_ENABLED_ROLE.INTERNAL_IS_MANDATORY_ROLE.INTERNAL_KEYS_DISABLED.INTERNAL_MAX_DATA_LENGTH.INTERNAL_TABLE_ROWS.INTERNAL_UPDATE_TIME.INTERVAL.IS.IS_FREE_LOCK.IS_IPV4.IS_IPV4_COMPAT.IS_IPV4_MAPPED.IS_IPV6.IS NOT.IS NOT NULL.IS NULL.IS_USED_LOCK.IS_UUID.ISNULL.JSON_ARRAY.JSON_ARRAY_APPEND.JSON_ARRAY_INSERT.JSON_ARRAYAGG.JSON_CONTAINS.JSON_CONTAINS_PATH.JSON_DEPTH.JSON_EXTRACT.JSON_INSERT.JSON_KEYS.JSON_LENGTH.JSON_MERGE.JSON_MERGE_PATCH.JSON_MERGE_PRESERVE.JSON_OBJECT.JSON_OBJECTAGG.JSON_OVERLAPS.JSON_PRETTY.JSON_QUOTE.JSON_REMOVE.JSON_REPLACE.JSON_SCHEMA_VALID.JSON_SCHEMA_VALIDATION_REPORT.JSON_SEARCH.JSON_SET.JSON_STORAGE_FREE.JSON_STORAGE_SIZE.JSON_TABLE.JSON_TYPE.JSON_UNQUOTE.JSON_VALID.JSON_VALUE.LAG.LAST_DAY.LAST_INSERT_ID.LAST_VALUE.LCASE.LEAD.LEAST.LEFT.LENGTH.LIKE.LINESTRING.LN.LOAD_FILE.LOCALTIME.LOCALTIMESTAMP.LOCATE.LOG.LOG10.LOG2.LOWER.LPAD.LTRIM.MAKE_SET.MAKEDATE.MAKETIME.MASTER_POS_WAIT.MATCH.MAX.MBRCONTAINS.MBRCOVEREDBY.MBRCOVERS.MBRDISJOINT.MBREQUALS.MBRINTERSECTS.MBROVERLAPS.MBRTOUCHES.MBRWITHIN.MD5.MICROSECOND.MID.MIN.MINUTE.MOD.MONTH.MONTHNAME.MULTILINESTRING.MULTIPOINT.MULTIPOLYGON.NAME_CONST.NOW.NTH_VALUE.NTILE.NULLIF.OCT.OCTET_LENGTH.ORD.PERCENT_RANK.PERIOD_ADD.PERIOD_DIFF.PI.POINT.POLYGON.POSITION.POW.POWER.PS_CURRENT_THREAD_ID.PS_THREAD_ID.QUARTER.QUOTE.RADIANS.RAND.RANDOM_BYTES.RANK.REGEXP.REGEXP_INSTR.REGEXP_LIKE.REGEXP_REPLACE.REGEXP_SUBSTR.RELEASE_ALL_LOCKS.RELEASE_LOCK.REPEAT.REPLACE.REVERSE.RIGHT.RLIKE.ROLES_GRAPHML.ROUND.ROW_COUNT.ROW_NUMBER.RPAD.RTRIM.SCHEMA.SEC_TO_TIME.SECOND.SESSION_USER.SHA1.SHA2.SIGN.SIN.SLEEP.SOUNDEX.SOUNDS LIKE.SOURCE_POS_WAIT.SPACE.SQRT.ST_AREA.ST_ASBINARY.ST_ASGEOJSON.ST_ASTEXT.ST_BUFFER.ST_BUFFER_STRATEGY.ST_CENTROID.ST_COLLECT.ST_CONTAINS.ST_CONVEXHULL.ST_CROSSES.ST_DIFFERENCE.ST_DIMENSION.ST_DISJOINT.ST_DISTANCE.ST_DISTANCE_SPHERE.ST_ENDPOINT.ST_ENVELOPE.ST_EQUALS.ST_EXTERIORRING.ST_FRECHETDISTANCE.ST_GEOHASH.ST_GEOMCOLLFROMTEXT.ST_GEOMCOLLFROMWKB.ST_GEOMETRYN.ST_GEOMETRYTYPE.ST_GEOMFROMGEOJSON.ST_GEOMFROMTEXT.ST_GEOMFROMWKB.ST_HAUSDORFFDISTANCE.ST_INTERIORRINGN.ST_INTERSECTION.ST_INTERSECTS.ST_ISCLOSED.ST_ISEMPTY.ST_ISSIMPLE.ST_ISVALID.ST_LATFROMGEOHASH.ST_LATITUDE.ST_LENGTH.ST_LINEFROMTEXT.ST_LINEFROMWKB.ST_LINEINTERPOLATEPOINT.ST_LINEINTERPOLATEPOINTS.ST_LONGFROMGEOHASH.ST_LONGITUDE.ST_MAKEENVELOPE.ST_MLINEFROMTEXT.ST_MLINEFROMWKB.ST_MPOINTFROMTEXT.ST_MPOINTFROMWKB.ST_MPOLYFROMTEXT.ST_MPOLYFROMWKB.ST_NUMGEOMETRIES.ST_NUMINTERIORRING.ST_NUMPOINTS.ST_OVERLAPS.ST_POINTATDISTANCE.ST_POINTFROMGEOHASH.ST_POINTFROMTEXT.ST_POINTFROMWKB.ST_POINTN.ST_POLYFROMTEXT.ST_POLYFROMWKB.ST_SIMPLIFY.ST_SRID.ST_STARTPOINT.ST_SWAPXY.ST_SYMDIFFERENCE.ST_TOUCHES.ST_TRANSFORM.ST_UNION.ST_VALIDATE.ST_WITHIN.ST_X.ST_Y.STATEMENT_DIGEST.STATEMENT_DIGEST_TEXT.STD.STDDEV.STDDEV_POP.STDDEV_SAMP.STR_TO_DATE.STRCMP.SUBDATE.SUBSTR.SUBSTRING.SUBSTRING_INDEX.SUBTIME.SUM.SYSDATE.SYSTEM_USER.TAN.TIME.TIME_FORMAT.TIME_TO_SEC.TIMEDIFF.TIMESTAMP.TIMESTAMPADD.TIMESTAMPDIFF.TO_BASE64.TO_DAYS.TO_SECONDS.TRIM.TRUNCATE.UCASE.UNCOMPRESS.UNCOMPRESSED_LENGTH.UNHEX.UNIX_TIMESTAMP.UPDATEXML.UPPER.UTC_DATE.UTC_TIME.UTC_TIMESTAMP.UUID.UUID_SHORT.UUID_TO_BIN.VALIDATE_PASSWORD_STRENGTH.VALUES.VAR_POP.VAR_SAMP.VARIANCE.VERSION.WAIT_FOR_EXECUTED_GTID_SET.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS.WEEK.WEEKDAY.WEEKOFYEAR.WEIGHT_STRING.YEAR.YEARWEEK`.split(`.`),In=I([`SELECT [ALL | DISTINCT | DISTINCTROW]`]),Ln=I([`WITH [RECURSIVE]`,`FROM`,`WHERE`,`GROUP BY`,`HAVING`,`WINDOW`,`PARTITION BY`,`ORDER BY`,`LIMIT`,`OFFSET`,`INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO]`,`REPLACE [LOW_PRIORITY | DELAYED] [INTO]`,`VALUES`,`ON DUPLICATE KEY UPDATE`,`SET`]),Rn=I([`CREATE [TEMPORARY] TABLE [IF NOT EXISTS]`]),zn=I(`CREATE [OR REPLACE] [SQL SECURITY DEFINER | SQL SECURITY INVOKER] VIEW [IF NOT EXISTS].UPDATE [LOW_PRIORITY] [IGNORE].DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM.DROP [TEMPORARY] TABLE [IF EXISTS].ALTER TABLE.ADD [COLUMN].{CHANGE | MODIFY} [COLUMN].DROP [COLUMN].RENAME [TO | AS].RENAME COLUMN.ALTER [COLUMN].{SET | DROP} DEFAULT.TRUNCATE [TABLE].ALTER DATABASE.ALTER EVENT.ALTER FUNCTION.ALTER INSTANCE.ALTER LOGFILE GROUP.ALTER PROCEDURE.ALTER RESOURCE GROUP.ALTER SERVER.ALTER TABLESPACE.ALTER USER.ALTER VIEW.ANALYZE TABLE.BINLOG.CACHE INDEX.CALL.CHANGE MASTER TO.CHANGE REPLICATION FILTER.CHANGE REPLICATION SOURCE TO.CHECK TABLE.CHECKSUM TABLE.CLONE.COMMIT.CREATE DATABASE.CREATE EVENT.CREATE FUNCTION.CREATE FUNCTION.CREATE INDEX.CREATE LOGFILE GROUP.CREATE PROCEDURE.CREATE RESOURCE GROUP.CREATE ROLE.CREATE SERVER.CREATE SPATIAL REFERENCE SYSTEM.CREATE TABLESPACE.CREATE TRIGGER.CREATE USER.DEALLOCATE PREPARE.DESCRIBE.DROP DATABASE.DROP EVENT.DROP FUNCTION.DROP FUNCTION.DROP INDEX.DROP LOGFILE GROUP.DROP PROCEDURE.DROP RESOURCE GROUP.DROP ROLE.DROP SERVER.DROP SPATIAL REFERENCE SYSTEM.DROP TABLESPACE.DROP TRIGGER.DROP USER.DROP VIEW.EXECUTE.EXPLAIN.FLUSH.GRANT.HANDLER.HELP.IMPORT TABLE.INSTALL COMPONENT.INSTALL PLUGIN.KILL.LOAD DATA.LOAD INDEX INTO CACHE.LOAD XML.LOCK INSTANCE FOR BACKUP.LOCK TABLES.MASTER_POS_WAIT.OPTIMIZE TABLE.PREPARE.PURGE BINARY LOGS.RELEASE SAVEPOINT.RENAME TABLE.RENAME USER.REPAIR TABLE.RESET.RESET MASTER.RESET PERSIST.RESET REPLICA.RESET SLAVE.RESTART.REVOKE.ROLLBACK.ROLLBACK TO SAVEPOINT.SAVEPOINT.SET CHARACTER SET.SET DEFAULT ROLE.SET NAMES.SET PASSWORD.SET RESOURCE GROUP.SET ROLE.SET TRANSACTION.SHOW.SHOW BINARY LOGS.SHOW BINLOG EVENTS.SHOW CHARACTER SET.SHOW COLLATION.SHOW COLUMNS.SHOW CREATE DATABASE.SHOW CREATE EVENT.SHOW CREATE FUNCTION.SHOW CREATE PROCEDURE.SHOW CREATE TABLE.SHOW CREATE TRIGGER.SHOW CREATE USER.SHOW CREATE VIEW.SHOW DATABASES.SHOW ENGINE.SHOW ENGINES.SHOW ERRORS.SHOW EVENTS.SHOW FUNCTION CODE.SHOW FUNCTION STATUS.SHOW GRANTS.SHOW INDEX.SHOW MASTER STATUS.SHOW OPEN TABLES.SHOW PLUGINS.SHOW PRIVILEGES.SHOW PROCEDURE CODE.SHOW PROCEDURE STATUS.SHOW PROCESSLIST.SHOW PROFILE.SHOW PROFILES.SHOW RELAYLOG EVENTS.SHOW REPLICA STATUS.SHOW REPLICAS.SHOW SLAVE.SHOW SLAVE HOSTS.SHOW STATUS.SHOW TABLE STATUS.SHOW TABLES.SHOW TRIGGERS.SHOW VARIABLES.SHOW WARNINGS.SHUTDOWN.SOURCE_POS_WAIT.START GROUP_REPLICATION.START REPLICA.START SLAVE.START TRANSACTION.STOP GROUP_REPLICATION.STOP REPLICA.STOP SLAVE.TABLE.UNINSTALL COMPONENT.UNINSTALL PLUGIN.UNLOCK INSTANCE.UNLOCK TABLES.USE.XA.ITERATE.LEAVE.LOOP.REPEAT.RETURN.WHILE`.split(`.`)),Bn=I([`UNION [ALL | DISTINCT]`]),Vn=I([`JOIN`,`{LEFT | RIGHT} [OUTER] JOIN`,`{INNER | CROSS} JOIN`,`NATURAL [INNER] JOIN`,`NATURAL {LEFT | RIGHT} [OUTER] JOIN`,`STRAIGHT_JOIN`]),Hn=I([`ON {UPDATE | DELETE} [SET NULL]`,`CHARACTER SET`,`{ROWS | RANGE} BETWEEN`,`IDENTIFIED BY`]),Un=I([]),Wn={name:`mysql`,tokenizerOptions:{reservedSelect:In,reservedClauses:[...Ln,...Rn,...zn],reservedSetOperations:Bn,reservedJoins:Vn,reservedKeywordPhrases:Hn,reservedDataTypePhrases:Un,supportsXor:!0,reservedKeywords:Nn,reservedDataTypes:Pn,reservedFunctionNames:Fn,stringTypes:[`""-qq-bs`,{quote:`''-qq-bs`,prefixes:[`N`]},{quote:`''-raw`,prefixes:[`B`,`X`],requirePrefix:!0}],identTypes:["``"],identChars:{first:`$`,rest:`$`,allowFirstCharNumber:!0},variableTypes:[{regex:`@@?[A-Za-z0-9_.$]+`},{quote:`""-qq-bs`,prefixes:[`@`],requirePrefix:!0},{quote:`''-qq-bs`,prefixes:[`@`],requirePrefix:!0},{quote:"``",prefixes:[`@`],requirePrefix:!0}],paramTypes:{positional:!0},lineCommentTypes:[`--`,`#`],operators:[`%`,`:=`,`&`,`|`,`^`,`~`,`<<`,`>>`,`<=>`,`->`,`->>`,`&&`,`||`,`!`,`*.*`],postProcess:bn},formatOptions:{onelineClauses:[...Rn,...zn],tabularOnelineClauses:zn}},Gn=`ABS.ACOS.ACOSD.ACOSH.ASIN.ASIND.ASINH.ATAN.ATAN2.ATAN2D.ATAND.ATANH.CBRT.CEIL.CEILING.COS.COSD.COSH.COT.COTD.DEGREES.DIV.EXP.FACTORIAL.FLOOR.GCD.LCM.LN.LOG.LOG10.MIN_SCALE.MOD.PI.POWER.RADIANS.RANDOM.ROUND.SCALE.SETSEED.SIGN.SIN.SIND.SINH.SQRT.TAN.TAND.TANH.TRIM_SCALE.TRUNC.WIDTH_BUCKET.ABS.ASCII.BIT_LENGTH.BTRIM.CHARACTER_LENGTH.CHAR_LENGTH.CHR.CONCAT.CONCAT_WS.FORMAT.INITCAP.LEFT.LENGTH.LOWER.LPAD.LTRIM.MD5.NORMALIZE.OCTET_LENGTH.OVERLAY.PARSE_IDENT.PG_CLIENT_ENCODING.POSITION.QUOTE_IDENT.QUOTE_LITERAL.QUOTE_NULLABLE.REGEXP_MATCH.REGEXP_MATCHES.REGEXP_REPLACE.REGEXP_SPLIT_TO_ARRAY.REGEXP_SPLIT_TO_TABLE.REPEAT.REPLACE.REVERSE.RIGHT.RPAD.RTRIM.SPLIT_PART.SPRINTF.STARTS_WITH.STRING_AGG.STRING_TO_ARRAY.STRING_TO_TABLE.STRPOS.SUBSTR.SUBSTRING.TO_ASCII.TO_HEX.TRANSLATE.TRIM.UNISTR.UPPER.BIT_COUNT.BIT_LENGTH.BTRIM.CONVERT.CONVERT_FROM.CONVERT_TO.DECODE.ENCODE.GET_BIT.GET_BYTE.LENGTH.LTRIM.MD5.OCTET_LENGTH.OVERLAY.POSITION.RTRIM.SET_BIT.SET_BYTE.SHA224.SHA256.SHA384.SHA512.STRING_AGG.SUBSTR.SUBSTRING.TRIM.BIT_COUNT.BIT_LENGTH.GET_BIT.LENGTH.OCTET_LENGTH.OVERLAY.POSITION.SET_BIT.SUBSTRING.REGEXP_MATCH.REGEXP_MATCHES.REGEXP_REPLACE.REGEXP_SPLIT_TO_ARRAY.REGEXP_SPLIT_TO_TABLE.TO_CHAR.TO_DATE.TO_NUMBER.TO_TIMESTAMP.CLOCK_TIMESTAMP.CURRENT_DATE.CURRENT_TIME.CURRENT_TIMESTAMP.DATE_BIN.DATE_PART.DATE_TRUNC.EXTRACT.ISFINITE.JUSTIFY_DAYS.JUSTIFY_HOURS.JUSTIFY_INTERVAL.LOCALTIME.LOCALTIMESTAMP.MAKE_DATE.MAKE_INTERVAL.MAKE_TIME.MAKE_TIMESTAMP.MAKE_TIMESTAMPTZ.NOW.PG_SLEEP.PG_SLEEP_FOR.PG_SLEEP_UNTIL.STATEMENT_TIMESTAMP.TIMEOFDAY.TO_TIMESTAMP.TRANSACTION_TIMESTAMP.ENUM_FIRST.ENUM_LAST.ENUM_RANGE.AREA.BOUND_BOX.BOX.CENTER.CIRCLE.DIAGONAL.DIAMETER.HEIGHT.ISCLOSED.ISOPEN.LENGTH.LINE.LSEG.NPOINTS.PATH.PCLOSE.POINT.POLYGON.POPEN.RADIUS.SLOPE.WIDTH.ABBREV.BROADCAST.FAMILY.HOST.HOSTMASK.INET_MERGE.INET_SAME_FAMILY.MACADDR8_SET7BIT.MASKLEN.NETMASK.NETWORK.SET_MASKLEN.TRUNC.ARRAY_TO_TSVECTOR.GET_CURRENT_TS_CONFIG.JSONB_TO_TSVECTOR.JSON_TO_TSVECTOR.LENGTH.NUMNODE.PHRASETO_TSQUERY.PLAINTO_TSQUERY.QUERYTREE.SETWEIGHT.STRIP.TO_TSQUERY.TO_TSVECTOR.TSQUERY_PHRASE.TSVECTOR_TO_ARRAY.TS_DEBUG.TS_DELETE.TS_FILTER.TS_HEADLINE.TS_LEXIZE.TS_PARSE.TS_RANK.TS_RANK_CD.TS_REWRITE.TS_STAT.TS_TOKEN_TYPE.WEBSEARCH_TO_TSQUERY.GEN_RANDOM_UUID.UUIDV4.UUIDV7.UUID_EXTRACT_TIMESTAMP.UUID_EXTRACT_VERSION.CURSOR_TO_XML.CURSOR_TO_XMLSCHEMA.DATABASE_TO_XML.DATABASE_TO_XMLSCHEMA.DATABASE_TO_XML_AND_XMLSCHEMA.NEXTVAL.QUERY_TO_XML.QUERY_TO_XMLSCHEMA.QUERY_TO_XML_AND_XMLSCHEMA.SCHEMA_TO_XML.SCHEMA_TO_XMLSCHEMA.SCHEMA_TO_XML_AND_XMLSCHEMA.STRING.TABLE_TO_XML.TABLE_TO_XMLSCHEMA.TABLE_TO_XML_AND_XMLSCHEMA.XMLAGG.XMLCOMMENT.XMLCONCAT.XMLELEMENT.XMLEXISTS.XMLFOREST.XMLPARSE.XMLPI.XMLROOT.XMLSERIALIZE.XMLTABLE.XML_IS_WELL_FORMED.XML_IS_WELL_FORMED_CONTENT.XML_IS_WELL_FORMED_DOCUMENT.XPATH.XPATH_EXISTS.ARRAY_TO_JSON.JSONB_AGG.JSONB_ARRAY_ELEMENTS.JSONB_ARRAY_ELEMENTS_TEXT.JSONB_ARRAY_LENGTH.JSONB_BUILD_ARRAY.JSONB_BUILD_OBJECT.JSONB_EACH.JSONB_EACH_TEXT.JSONB_EXTRACT_PATH.JSONB_EXTRACT_PATH_TEXT.JSONB_INSERT.JSONB_OBJECT.JSONB_OBJECT_AGG.JSONB_OBJECT_KEYS.JSONB_PATH_EXISTS.JSONB_PATH_EXISTS_TZ.JSONB_PATH_MATCH.JSONB_PATH_MATCH_TZ.JSONB_PATH_QUERY.JSONB_PATH_QUERY_ARRAY.JSONB_PATH_QUERY_ARRAY_TZ.JSONB_PATH_QUERY_FIRST.JSONB_PATH_QUERY_FIRST_TZ.JSONB_PATH_QUERY_TZ.JSONB_POPULATE_RECORD.JSONB_POPULATE_RECORDSET.JSONB_PRETTY.JSONB_SET.JSONB_SET_LAX.JSONB_STRIP_NULLS.JSONB_TO_RECORD.JSONB_TO_RECORDSET.JSONB_TYPEOF.JSON_AGG.JSON_ARRAY_ELEMENTS.JSON_ARRAY_ELEMENTS_TEXT.JSON_ARRAY_LENGTH.JSON_BUILD_ARRAY.JSON_BUILD_OBJECT.JSON_EACH.JSON_EACH_TEXT.JSON_EXTRACT_PATH.JSON_EXTRACT_PATH_TEXT.JSON_OBJECT.JSON_OBJECT_AGG.JSON_OBJECT_KEYS.JSON_POPULATE_RECORD.JSON_POPULATE_RECORDSET.JSON_STRIP_NULLS.JSON_TO_RECORD.JSON_TO_RECORDSET.JSON_TYPEOF.ROW_TO_JSON.TO_JSON.TO_JSONB.TO_TIMESTAMP.CURRVAL.LASTVAL.NEXTVAL.SETVAL.COALESCE.GREATEST.LEAST.NULLIF.ARRAY_AGG.ARRAY_APPEND.ARRAY_CAT.ARRAY_DIMS.ARRAY_FILL.ARRAY_LENGTH.ARRAY_LOWER.ARRAY_NDIMS.ARRAY_POSITION.ARRAY_POSITIONS.ARRAY_PREPEND.ARRAY_REMOVE.ARRAY_REPLACE.ARRAY_TO_STRING.ARRAY_UPPER.CARDINALITY.STRING_TO_ARRAY.TRIM_ARRAY.UNNEST.ISEMPTY.LOWER.LOWER_INC.LOWER_INF.MULTIRANGE.RANGE_MERGE.UPPER.UPPER_INC.UPPER_INF.ARRAY_AGG.AVG.BIT_AND.BIT_OR.BIT_XOR.BOOL_AND.BOOL_OR.COALESCE.CORR.COUNT.COVAR_POP.COVAR_SAMP.CUME_DIST.DENSE_RANK.EVERY.GROUPING.JSONB_AGG.JSONB_OBJECT_AGG.JSON_AGG.JSON_OBJECT_AGG.MAX.MIN.MODE.PERCENTILE_CONT.PERCENTILE_DISC.PERCENT_RANK.RANGE_AGG.RANGE_INTERSECT_AGG.RANK.REGR_AVGX.REGR_AVGY.REGR_COUNT.REGR_INTERCEPT.REGR_R2.REGR_SLOPE.REGR_SXX.REGR_SXY.REGR_SYY.STDDEV.STDDEV_POP.STDDEV_SAMP.STRING_AGG.SUM.TO_JSON.TO_JSONB.VARIANCE.VAR_POP.VAR_SAMP.XMLAGG.CUME_DIST.DENSE_RANK.FIRST_VALUE.LAG.LAST_VALUE.LEAD.NTH_VALUE.NTILE.PERCENT_RANK.RANK.ROW_NUMBER.GENERATE_SERIES.GENERATE_SUBSCRIPTS.ACLDEFAULT.ACLEXPLODE.COL_DESCRIPTION.CURRENT_CATALOG.CURRENT_DATABASE.CURRENT_QUERY.CURRENT_ROLE.CURRENT_SCHEMA.CURRENT_SCHEMAS.CURRENT_USER.FORMAT_TYPE.HAS_ANY_COLUMN_PRIVILEGE.HAS_COLUMN_PRIVILEGE.HAS_DATABASE_PRIVILEGE.HAS_FOREIGN_DATA_WRAPPER_PRIVILEGE.HAS_FUNCTION_PRIVILEGE.HAS_LANGUAGE_PRIVILEGE.HAS_SCHEMA_PRIVILEGE.HAS_SEQUENCE_PRIVILEGE.HAS_SERVER_PRIVILEGE.HAS_TABLESPACE_PRIVILEGE.HAS_TABLE_PRIVILEGE.HAS_TYPE_PRIVILEGE.INET_CLIENT_ADDR.INET_CLIENT_PORT.INET_SERVER_ADDR.INET_SERVER_PORT.MAKEACLITEM.OBJ_DESCRIPTION.PG_BACKEND_PID.PG_BLOCKING_PIDS.PG_COLLATION_IS_VISIBLE.PG_CONF_LOAD_TIME.PG_CONTROL_CHECKPOINT.PG_CONTROL_INIT.PG_CONTROL_SYSTEM.PG_CONVERSION_IS_VISIBLE.PG_CURRENT_LOGFILE.PG_CURRENT_SNAPSHOT.PG_CURRENT_XACT_ID.PG_CURRENT_XACT_ID_IF_ASSIGNED.PG_DESCRIBE_OBJECT.PG_FUNCTION_IS_VISIBLE.PG_GET_CATALOG_FOREIGN_KEYS.PG_GET_CONSTRAINTDEF.PG_GET_EXPR.PG_GET_FUNCTIONDEF.PG_GET_FUNCTION_ARGUMENTS.PG_GET_FUNCTION_IDENTITY_ARGUMENTS.PG_GET_FUNCTION_RESULT.PG_GET_INDEXDEF.PG_GET_KEYWORDS.PG_GET_OBJECT_ADDRESS.PG_GET_OWNED_SEQUENCE.PG_GET_RULEDEF.PG_GET_SERIAL_SEQUENCE.PG_GET_STATISTICSOBJDEF.PG_GET_TRIGGERDEF.PG_GET_USERBYID.PG_GET_VIEWDEF.PG_HAS_ROLE.PG_IDENTIFY_OBJECT.PG_IDENTIFY_OBJECT_AS_ADDRESS.PG_INDEXAM_HAS_PROPERTY.PG_INDEX_COLUMN_HAS_PROPERTY.PG_INDEX_HAS_PROPERTY.PG_IS_OTHER_TEMP_SCHEMA.PG_JIT_AVAILABLE.PG_LAST_COMMITTED_XACT.PG_LISTENING_CHANNELS.PG_MY_TEMP_SCHEMA.PG_NOTIFICATION_QUEUE_USAGE.PG_OPCLASS_IS_VISIBLE.PG_OPERATOR_IS_VISIBLE.PG_OPFAMILY_IS_VISIBLE.PG_OPTIONS_TO_TABLE.PG_POSTMASTER_START_TIME.PG_SAFE_SNAPSHOT_BLOCKING_PIDS.PG_SNAPSHOT_XIP.PG_SNAPSHOT_XMAX.PG_SNAPSHOT_XMIN.PG_STATISTICS_OBJ_IS_VISIBLE.PG_TABLESPACE_DATABASES.PG_TABLESPACE_LOCATION.PG_TABLE_IS_VISIBLE.PG_TRIGGER_DEPTH.PG_TS_CONFIG_IS_VISIBLE.PG_TS_DICT_IS_VISIBLE.PG_TS_PARSER_IS_VISIBLE.PG_TS_TEMPLATE_IS_VISIBLE.PG_TYPEOF.PG_TYPE_IS_VISIBLE.PG_VISIBLE_IN_SNAPSHOT.PG_XACT_COMMIT_TIMESTAMP.PG_XACT_COMMIT_TIMESTAMP_ORIGIN.PG_XACT_STATUS.PQSERVERVERSION.ROW_SECURITY_ACTIVE.SESSION_USER.SHOBJ_DESCRIPTION.TO_REGCLASS.TO_REGCOLLATION.TO_REGNAMESPACE.TO_REGOPER.TO_REGOPERATOR.TO_REGPROC.TO_REGPROCEDURE.TO_REGROLE.TO_REGTYPE.TXID_CURRENT.TXID_CURRENT_IF_ASSIGNED.TXID_CURRENT_SNAPSHOT.TXID_SNAPSHOT_XIP.TXID_SNAPSHOT_XMAX.TXID_SNAPSHOT_XMIN.TXID_STATUS.TXID_VISIBLE_IN_SNAPSHOT.USER.VERSION.BRIN_DESUMMARIZE_RANGE.BRIN_SUMMARIZE_NEW_VALUES.BRIN_SUMMARIZE_RANGE.CONVERT_FROM.CURRENT_SETTING.GIN_CLEAN_PENDING_LIST.PG_ADVISORY_LOCK.PG_ADVISORY_LOCK_SHARED.PG_ADVISORY_UNLOCK.PG_ADVISORY_UNLOCK_ALL.PG_ADVISORY_UNLOCK_SHARED.PG_ADVISORY_XACT_LOCK.PG_ADVISORY_XACT_LOCK_SHARED.PG_BACKUP_START_TIME.PG_CANCEL_BACKEND.PG_COLLATION_ACTUAL_VERSION.PG_COLUMN_COMPRESSION.PG_COLUMN_SIZE.PG_COPY_LOGICAL_REPLICATION_SLOT.PG_COPY_PHYSICAL_REPLICATION_SLOT.PG_CREATE_LOGICAL_REPLICATION_SLOT.PG_CREATE_PHYSICAL_REPLICATION_SLOT.PG_CREATE_RESTORE_POINT.PG_CURRENT_WAL_FLUSH_LSN.PG_CURRENT_WAL_INSERT_LSN.PG_CURRENT_WAL_LSN.PG_DATABASE_SIZE.PG_DROP_REPLICATION_SLOT.PG_EXPORT_SNAPSHOT.PG_FILENODE_RELATION.PG_GET_WAL_REPLAY_PAUSE_STATE.PG_IMPORT_SYSTEM_COLLATIONS.PG_INDEXES_SIZE.PG_IS_IN_BACKUP.PG_IS_IN_RECOVERY.PG_IS_WAL_REPLAY_PAUSED.PG_LAST_WAL_RECEIVE_LSN.PG_LAST_WAL_REPLAY_LSN.PG_LAST_XACT_REPLAY_TIMESTAMP.PG_LOGICAL_EMIT_MESSAGE.PG_LOGICAL_SLOT_GET_BINARY_CHANGES.PG_LOGICAL_SLOT_GET_CHANGES.PG_LOGICAL_SLOT_PEEK_BINARY_CHANGES.PG_LOGICAL_SLOT_PEEK_CHANGES.PG_LOG_BACKEND_MEMORY_CONTEXTS.PG_LS_ARCHIVE_STATUSDIR.PG_LS_DIR.PG_LS_LOGDIR.PG_LS_TMPDIR.PG_LS_WALDIR.PG_PARTITION_ANCESTORS.PG_PARTITION_ROOT.PG_PARTITION_TREE.PG_PROMOTE.PG_READ_BINARY_FILE.PG_READ_FILE.PG_RELATION_FILENODE.PG_RELATION_FILEPATH.PG_RELATION_SIZE.PG_RELOAD_CONF.PG_REPLICATION_ORIGIN_ADVANCE.PG_REPLICATION_ORIGIN_CREATE.PG_REPLICATION_ORIGIN_DROP.PG_REPLICATION_ORIGIN_OID.PG_REPLICATION_ORIGIN_PROGRESS.PG_REPLICATION_ORIGIN_SESSION_IS_SETUP.PG_REPLICATION_ORIGIN_SESSION_PROGRESS.PG_REPLICATION_ORIGIN_SESSION_RESET.PG_REPLICATION_ORIGIN_SESSION_SETUP.PG_REPLICATION_ORIGIN_XACT_RESET.PG_REPLICATION_ORIGIN_XACT_SETUP.PG_REPLICATION_SLOT_ADVANCE.PG_ROTATE_LOGFILE.PG_SIZE_BYTES.PG_SIZE_PRETTY.PG_START_BACKUP.PG_STAT_FILE.PG_STOP_BACKUP.PG_SWITCH_WAL.PG_TABLESPACE_SIZE.PG_TABLE_SIZE.PG_TERMINATE_BACKEND.PG_TOTAL_RELATION_SIZE.PG_TRY_ADVISORY_LOCK.PG_TRY_ADVISORY_LOCK_SHARED.PG_TRY_ADVISORY_XACT_LOCK.PG_TRY_ADVISORY_XACT_LOCK_SHARED.PG_WALFILE_NAME.PG_WALFILE_NAME_OFFSET.PG_WAL_LSN_DIFF.PG_WAL_REPLAY_PAUSE.PG_WAL_REPLAY_RESUME.SET_CONFIG.SUPPRESS_REDUNDANT_UPDATES_TRIGGER.TSVECTOR_UPDATE_TRIGGER.TSVECTOR_UPDATE_TRIGGER_COLUMN.PG_EVENT_TRIGGER_DDL_COMMANDS.PG_EVENT_TRIGGER_DROPPED_OBJECTS.PG_EVENT_TRIGGER_TABLE_REWRITE_OID.PG_EVENT_TRIGGER_TABLE_REWRITE_REASON.PG_GET_OBJECT_ADDRESS.PG_MCV_LIST_ITEMS.CAST`.split(`.`),Kn=`ALL.ANALYSE.ANALYZE.AND.ANY.AS.ASC.ASYMMETRIC.AUTHORIZATION.BETWEEN.BINARY.BOTH.CASE.CAST.CHECK.COLLATE.COLLATION.COLUMN.CONCURRENTLY.CONSTRAINT.CREATE.CROSS.CURRENT_CATALOG.CURRENT_DATE.CURRENT_ROLE.CURRENT_SCHEMA.CURRENT_TIME.CURRENT_TIMESTAMP.CURRENT_USER.DAY.DEFAULT.DEFERRABLE.DESC.DISTINCT.DO.ELSE.END.EXCEPT.EXISTS.FALSE.FETCH.FILTER.FOR.FOREIGN.FREEZE.FROM.FULL.GRANT.GROUP.HAVING.HOUR.ILIKE.IN.INITIALLY.INNER.INOUT.INTERSECT.INTO.IS.ISNULL.JOIN.LATERAL.LEADING.LEFT.LIKE.LIMIT.LOCALTIME.LOCALTIMESTAMP.MINUTE.MONTH.NATURAL.NOT.NOTNULL.NULL.NULLIF.OFFSET.ON.ONLY.OR.ORDER.OUT.OUTER.OVER.OVERLAPS.PLACING.PRIMARY.REFERENCES.RETURNING.RIGHT.ROW.SECOND.SELECT.SESSION_USER.SIMILAR.SOME.SYMMETRIC.TABLE.TABLESAMPLE.THEN.TO.TRAILING.TRUE.UNION.UNIQUE.USER.USING.VALUES.VARIADIC.VERBOSE.WHEN.WHERE.WINDOW.WITH.WITHIN.WITHOUT.YEAR`.split(`.`),qn=`ARRAY.BIGINT.BIT.BIT VARYING.BOOL.BOOLEAN.CHAR.CHARACTER.CHARACTER VARYING.DECIMAL.DEC.DOUBLE.ENUM.FLOAT.INT.INTEGER.INTERVAL.NCHAR.NUMERIC.JSON.JSONB.PRECISION.REAL.SMALLINT.TEXT.TIME.TIMESTAMP.TIMESTAMPTZ.UUID.VARCHAR.XML.ZONE`.split(`.`),Jn=I([`SELECT [ALL | DISTINCT]`]),Yn=I([`WITH [RECURSIVE]`,`FROM`,`WHERE`,`GROUP BY [ALL | DISTINCT]`,`HAVING`,`WINDOW`,`PARTITION BY`,`ORDER BY`,`LIMIT`,`OFFSET`,`FETCH {FIRST | NEXT}`,`FOR {UPDATE | NO KEY UPDATE | SHARE | KEY SHARE} [OF]`,`INSERT INTO`,`VALUES`,`DEFAULT VALUES`,`SET`,`RETURNING`]),Xn=I([`CREATE [GLOBAL | LOCAL] [TEMPORARY | TEMP | UNLOGGED] TABLE [IF NOT EXISTS]`]),Zn=I(`CREATE [OR REPLACE] [TEMP | TEMPORARY] [RECURSIVE] VIEW.CREATE [MATERIALIZED] VIEW [IF NOT EXISTS].UPDATE [ONLY].WHERE CURRENT OF.ON CONFLICT.DELETE FROM [ONLY].DROP TABLE [IF EXISTS].ALTER TABLE [IF EXISTS] [ONLY].ALTER TABLE ALL IN TABLESPACE.RENAME [COLUMN].RENAME TO.ADD [COLUMN] [IF NOT EXISTS].DROP [COLUMN] [IF EXISTS].ALTER [COLUMN].SET DATA TYPE.{SET | DROP} DEFAULT.{SET | DROP} NOT NULL.TRUNCATE [TABLE] [ONLY].SET SCHEMA.{BEFORE | AFTER | INSTEAD OF} {INSERT | UPDATE [OF] | DELETE | TRUNCATE}.[NOT] DEFERRABLE.INITIALLY {DEFERRED | IMMEDIATE}.[NOT] DEFERRABLE INITIALLY {DEFERRED | IMMEDIATE}.ABORT.ALTER AGGREGATE.ALTER COLLATION.ALTER CONVERSION.ALTER DATABASE.ALTER DEFAULT PRIVILEGES.ALTER DOMAIN.ALTER EVENT TRIGGER.ALTER EXTENSION.ALTER FOREIGN DATA WRAPPER.ALTER FOREIGN TABLE.ALTER FUNCTION.ALTER GROUP.ALTER INDEX.ALTER LANGUAGE.ALTER LARGE OBJECT.ALTER MATERIALIZED VIEW.ALTER OPERATOR.ALTER OPERATOR CLASS.ALTER OPERATOR FAMILY.ALTER POLICY.ALTER PROCEDURE.ALTER PUBLICATION.ALTER ROLE.ALTER ROUTINE.ALTER RULE.ALTER SCHEMA.ALTER SEQUENCE.ALTER SERVER.ALTER STATISTICS.ALTER SUBSCRIPTION.ALTER SYSTEM.ALTER TABLESPACE.ALTER TEXT SEARCH CONFIGURATION.ALTER TEXT SEARCH DICTIONARY.ALTER TEXT SEARCH PARSER.ALTER TEXT SEARCH TEMPLATE.ALTER TRIGGER.ALTER TYPE.ALTER USER.ALTER USER MAPPING.ALTER VIEW.ANALYZE.BEGIN.CALL.CHECKPOINT.CLOSE.CLUSTER.COMMENT ON.COMMIT.COMMIT PREPARED.COPY.CREATE ACCESS METHOD.CREATE [OR REPLACE] AGGREGATE.CREATE CAST.CREATE COLLATION.CREATE [DEFAULT] CONVERSION.CREATE DATABASE.CREATE DOMAIN.CREATE EVENT TRIGGER.CREATE EXTENSION.CREATE FOREIGN DATA WRAPPER.CREATE FOREIGN TABLE.CREATE [OR REPLACE] FUNCTION.CREATE GROUP.CREATE [UNIQUE] INDEX.CREATE [OR REPLACE] [TRUSTED] [PROCEDURAL] LANGUAGE.CREATE OPERATOR.CREATE OPERATOR CLASS.CREATE OPERATOR FAMILY.CREATE POLICY.CREATE [OR REPLACE] PROCEDURE.CREATE PUBLICATION.CREATE ROLE.CREATE [OR REPLACE] RULE.CREATE SCHEMA [AUTHORIZATION].CREATE [TEMPORARY | TEMP | UNLOGGED] SEQUENCE.CREATE SERVER.CREATE STATISTICS.CREATE SUBSCRIPTION.CREATE TABLESPACE.CREATE TEXT SEARCH CONFIGURATION.CREATE TEXT SEARCH DICTIONARY.CREATE TEXT SEARCH PARSER.CREATE TEXT SEARCH TEMPLATE.CREATE [OR REPLACE] TRANSFORM.CREATE [OR REPLACE] [CONSTRAINT] TRIGGER.CREATE TYPE.CREATE USER.CREATE USER MAPPING.DEALLOCATE.DECLARE.DISCARD.DROP ACCESS METHOD.DROP AGGREGATE.DROP CAST.DROP COLLATION.DROP CONVERSION.DROP DATABASE.DROP DOMAIN.DROP EVENT TRIGGER.DROP EXTENSION.DROP FOREIGN DATA WRAPPER.DROP FOREIGN TABLE.DROP FUNCTION.DROP GROUP.DROP IDENTITY.DROP INDEX.DROP LANGUAGE.DROP MATERIALIZED VIEW [IF EXISTS].DROP OPERATOR.DROP OPERATOR CLASS.DROP OPERATOR FAMILY.DROP OWNED.DROP POLICY.DROP PROCEDURE.DROP PUBLICATION.DROP ROLE.DROP ROUTINE.DROP RULE.DROP SCHEMA.DROP SEQUENCE.DROP SERVER.DROP STATISTICS.DROP SUBSCRIPTION.DROP TABLESPACE.DROP TEXT SEARCH CONFIGURATION.DROP TEXT SEARCH DICTIONARY.DROP TEXT SEARCH PARSER.DROP TEXT SEARCH TEMPLATE.DROP TRANSFORM.DROP TRIGGER.DROP TYPE.DROP USER.DROP USER MAPPING.DROP VIEW.EXECUTE [FUNCTION | PROCEDURE].EXPLAIN.FETCH.GRANT.IMPORT FOREIGN SCHEMA.LISTEN.LOAD.LOCK.MOVE.NOTIFY.OVERRIDING SYSTEM VALUE.PREPARE.PREPARE TRANSACTION.REASSIGN OWNED.REFRESH MATERIALIZED VIEW.REINDEX.RELEASE SAVEPOINT.RESET [ALL|ROLE|SESSION AUTHORIZATION].REVOKE.ROLLBACK.ROLLBACK PREPARED.ROLLBACK TO SAVEPOINT.SAVEPOINT.SECURITY LABEL.SELECT INTO.SET CONSTRAINTS.SET ROLE.SET SESSION AUTHORIZATION.SET TRANSACTION.SHOW.START TRANSACTION.UNLISTEN.VACUUM`.split(`.`)),Qn=I([`UNION [ALL | DISTINCT]`,`EXCEPT [ALL | DISTINCT]`,`INTERSECT [ALL | DISTINCT]`]),$n=I([`JOIN`,`{LEFT | RIGHT | FULL} [OUTER] JOIN`,`{INNER | CROSS} JOIN`,`NATURAL [INNER] JOIN`,`NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN`]),er=I([`PRIMARY KEY`,`GENERATED {ALWAYS | BY DEFAULT} AS IDENTITY`,`ON {UPDATE | DELETE} [NO ACTION | RESTRICT | CASCADE | SET NULL | SET DEFAULT]`,`DO {NOTHING | UPDATE}`,`AS MATERIALIZED`,`FOR EACH ROW`,`OR {INSERT | UPDATE [OF] | DELETE | TRUNCATE}`,`{ROWS | RANGE | GROUPS} BETWEEN`,`IS [NOT] DISTINCT FROM`,`NULLS {FIRST | LAST}`,`WITH ORDINALITY`]),tr=I([`[TIMESTAMP | TIME] {WITH | WITHOUT} TIME ZONE`]),nr={name:`postgresql`,tokenizerOptions:{reservedSelect:Jn,reservedClauses:[...Yn,...Xn,...Zn],reservedSetOperations:Qn,reservedJoins:$n,reservedKeywordPhrases:er,reservedDataTypePhrases:tr,reservedKeywords:Kn,reservedDataTypes:qn,reservedFunctionNames:Gn,nestedBlockComments:!0,lineCommentTypes:[`--`,`\\restrict `,`\\unrestrict `],extraParens:[`[]`],underscoresInNumbers:!0,stringTypes:[`$$`,{quote:`''-qq`,prefixes:[`U&`]},{quote:`''-qq-bs`,prefixes:[`E`],requirePrefix:!0},{quote:`''-raw`,prefixes:[`B`,`X`],requirePrefix:!0}],identTypes:[{quote:`""-qq`,prefixes:[`U&`]}],identChars:{rest:`$`},paramTypes:{numbered:[`$`]},operators:`%.^.|/.||/.@.:=.&.|.#.~.<<.>>.~>~.~<~.~>=~.~<=~.@-@.@@.##.<->.&&.&<.&>.<<|.&<|.|>>.|&>.<^.>^.?#.?-.?|.?-|.?||.@>.<@.<@>.~=.?.@?.?&.->.->>.#>.#>>.#-.=>.>>=.<<=.~~.~~*.!~~.!~~*.~.~*.!~.!~*.-|-.||.@@@.!!.^@.<%.%>.<<%.%>>.<<->.<->>.<<<->.<->>>.~>.#=.::.:.<#>.<=>.<+>.<~>.<%>.&&&.|=|`.split(`.`),operatorKeyword:!0},formatOptions:{alwaysDenseOperators:[`::`,`:`],onelineClauses:[...Xn,...Zn],tabularOnelineClauses:Zn}},rr=`ABS.CHANGES.CHAR.COALESCE.FORMAT.GLOB.HEX.IFNULL.IIF.INSTR.LAST_INSERT_ROWID.LENGTH.LIKE.LIKELIHOOD.LIKELY.LOAD_EXTENSION.LOWER.LTRIM.NULLIF.PRINTF.QUOTE.RANDOM.RANDOMBLOB.REPLACE.ROUND.RTRIM.SIGN.SOUNDEX.SQLITE_COMPILEOPTION_GET.SQLITE_COMPILEOPTION_USED.SQLITE_OFFSET.SQLITE_SOURCE_ID.SQLITE_VERSION.SUBSTR.SUBSTRING.TOTAL_CHANGES.TRIM.TYPEOF.UNICODE.UNLIKELY.UPPER.ZEROBLOB.AVG.COUNT.GROUP_CONCAT.MAX.MIN.SUM.TOTAL.DATE.TIME.DATETIME.JULIANDAY.UNIXEPOCH.STRFTIME.row_number.rank.dense_rank.percent_rank.cume_dist.ntile.lag.lead.first_value.last_value.nth_value.ACOS.ACOSH.ASIN.ASINH.ATAN.ATAN2.ATANH.CEIL.CEILING.COS.COSH.DEGREES.EXP.FLOOR.LN.LOG.LOG.LOG10.LOG2.MOD.PI.POW.POWER.RADIANS.SIN.SINH.SQRT.TAN.TANH.TRUNC.JSON.JSON_ARRAY.JSON_ARRAY_LENGTH.JSON_ARRAY_LENGTH.JSON_EXTRACT.JSON_INSERT.JSON_OBJECT.JSON_PATCH.JSON_REMOVE.JSON_REPLACE.JSON_SET.JSON_TYPE.JSON_TYPE.JSON_VALID.JSON_QUOTE.JSON_GROUP_ARRAY.JSON_GROUP_OBJECT.JSON_EACH.JSON_TREE.CAST`.split(`.`),ir=`ABORT.ACTION.ADD.AFTER.ALL.ALTER.AND.ARE.ALWAYS.ANALYZE.AS.ASC.ATTACH.AUTOINCREMENT.BEFORE.BEGIN.BETWEEN.BY.CASCADE.CASE.CAST.CHECK.COLLATE.COLUMN.COMMIT.CONFLICT.CONSTRAINT.CREATE.CROSS.CURRENT.CURRENT_DATE.CURRENT_TIME.CURRENT_TIMESTAMP.DATABASE.DEFAULT.DEFERRABLE.DEFERRED.DELETE.DESC.DETACH.DISTINCT.DO.DROP.EACH.ELSE.END.ESCAPE.EXCEPT.EXCLUDE.EXCLUSIVE.EXISTS.EXPLAIN.FAIL.FILTER.FIRST.FOLLOWING.FOR.FOREIGN.FROM.FULL.GENERATED.GLOB.GROUP.HAVING.IF.IGNORE.IMMEDIATE.IN.INDEX.INDEXED.INITIALLY.INNER.INSERT.INSTEAD.INTERSECT.INTO.IS.ISNULL.JOIN.KEY.LAST.LEFT.LIKE.LIMIT.MATCH.MATERIALIZED.NATURAL.NO.NOT.NOTHING.NOTNULL.NULL.NULLS.OF.OFFSET.ON.ONLY.OPEN.OR.ORDER.OTHERS.OUTER.OVER.PARTITION.PLAN.PRAGMA.PRECEDING.PRIMARY.QUERY.RAISE.RANGE.RECURSIVE.REFERENCES.REGEXP.REINDEX.RELEASE.RENAME.REPLACE.RESTRICT.RETURNING.RIGHT.ROLLBACK.ROW.ROWS.SAVEPOINT.SELECT.SET.TABLE.TEMP.TEMPORARY.THEN.TIES.TO.TRANSACTION.TRIGGER.UNBOUNDED.UNION.UNIQUE.UPDATE.USING.VACUUM.VALUES.VIEW.VIRTUAL.WHEN.WHERE.WINDOW.WITH.WITHOUT`.split(`.`),ar=[`ANY`,`ARRAY`,`BLOB`,`CHARACTER`,`DECIMAL`,`INT`,`INTEGER`,`NATIVE CHARACTER`,`NCHAR`,`NUMERIC`,`NVARCHAR`,`REAL`,`TEXT`,`VARCHAR`,`VARYING CHARACTER`],or=I([`SELECT [ALL | DISTINCT]`]),sr=I([`WITH [RECURSIVE]`,`FROM`,`WHERE`,`GROUP BY`,`HAVING`,`WINDOW`,`PARTITION BY`,`ORDER BY`,`LIMIT`,`OFFSET`,`INSERT [OR ABORT | OR FAIL | OR IGNORE | OR REPLACE | OR ROLLBACK] INTO`,`REPLACE INTO`,`VALUES`,`SET`,`RETURNING`]),cr=I([`CREATE [TEMPORARY | TEMP] TABLE [IF NOT EXISTS]`]),lr=I([`CREATE [TEMPORARY | TEMP] VIEW [IF NOT EXISTS]`,`UPDATE [OR ABORT | OR FAIL | OR IGNORE | OR REPLACE | OR ROLLBACK]`,`ON CONFLICT`,`DELETE FROM`,`DROP TABLE [IF EXISTS]`,`ALTER TABLE`,`ADD [COLUMN]`,`DROP [COLUMN]`,`RENAME [COLUMN]`,`RENAME TO`,`SET SCHEMA`]),ur=I([`UNION [ALL]`,`EXCEPT`,`INTERSECT`]),dr=I([`JOIN`,`{LEFT | RIGHT | FULL} [OUTER] JOIN`,`{INNER | CROSS} JOIN`,`NATURAL [INNER] JOIN`,`NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN`]),fr=I([`ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]`,`{ROWS | RANGE | GROUPS} BETWEEN`,`DO UPDATE`]),pr=I([]),mr={name:`sqlite`,tokenizerOptions:{reservedSelect:or,reservedClauses:[...sr,...cr,...lr],reservedSetOperations:ur,reservedJoins:dr,reservedKeywordPhrases:fr,reservedDataTypePhrases:pr,reservedKeywords:ir,reservedDataTypes:ar,reservedFunctionNames:rr,stringTypes:[`''-qq`,{quote:`''-raw`,prefixes:[`X`],requirePrefix:!0}],identTypes:[`""-qq`,"``",`[]`],paramTypes:{positional:!0,numbered:[`?`],named:[`:`,`@`],custom:[{regex:String.raw`\$[a-zA-Z_][a-zA-Z0-9_]*(?:::[a-zA-Z_][a-zA-Z0-9_]*)*(?:\([^)]*\))?`,key:e=>e.slice(1)}]},operators:[`%`,`~`,`&`,`|`,`<<`,`>>`,`==`,`->`,`->>`,`||`]},formatOptions:{onelineClauses:[...cr,...lr],tabularOnelineClauses:lr}},z=e=>e[e.length-1],hr=e=>e.sort((e,t)=>t.length-e.length||e.localeCompare(t)),gr=e=>e.replace(/\s+/gu,` `),_r=e=>/\n/.test(e),B=e=>e.replace(/[.*+?^${}()|[\]\\]/gu,`\\$&`),vr=/\s+/uy,V=e=>RegExp(`(?:${e})`,`uy`),yr=e=>e.split(``).map(e=>/ /gu.test(e)?`\\s+`:`[${e.toUpperCase()}${e.toLowerCase()}]`).join(``),br=e=>e+`(?:-`+e+`)*`,xr=({prefixes:e,requirePrefix:t})=>`(?:${e.map(yr).join(`|`)}${t?``:`|`})`,Sr=e=>RegExp(`(?:${e.map(B).join(`|`)}).*?(?=\r\n|\r|\n|$)`,`uy`),Cr=(e,t=[])=>{let n=e===`open`?0:1;return V([`()`,...t].map(e=>e[n]).map(B).join(`|`))},wr=e=>V(`${hr(e).map(B).join(`|`)}`),Tr=({rest:e,dashes:t})=>e||t?`(?![${e||``}${t?`-`:``}])`:``,H=(e,t={})=>{if(e.length===0)return/^\b$/u;let n=Tr(t),r=hr(e).map(B).join(`|`).replace(/ /gu,`\\s+`);return RegExp(`(?:${r})${n}\\b`,`iuy`)},Er=(e,t)=>{if(e.length)return V(`(?:${e.map(B).join(`|`)})(?:${t})`)},Dr=()=>{let e={"<":`>`,"[":`]`,"(":`)`,"{":`}`},t=Object.entries(e).map(([e,t])=>`{left}(?:(?!{right}').)*?{right}`.replace(/{left}/g,B(e)).replace(/{right}/g,B(t))),n=B(Object.keys(e).join(``));return`[Qq]'(?:${String.raw`(?<tag>[^\s${n}])(?:(?!\k<tag>').)*?\k<tag>`}|${t.join(`|`)})'`},Or={"``":"(?:`[^`]*`)+","[]":String.raw`(?:\[[^\]]*\])(?:\][^\]]*\])*`,'""-qq':String.raw`(?:"[^"]*")+`,'""-bs':String.raw`(?:"[^"\\]*(?:\\.[^"\\]*)*")`,'""-qq-bs':String.raw`(?:"[^"\\]*(?:\\.[^"\\]*)*")+`,'""-raw':String.raw`(?:"[^"]*")`,"''-qq":String.raw`(?:'[^']*')+`,"''-bs":String.raw`(?:'[^'\\]*(?:\\.[^'\\]*)*')`,"''-qq-bs":String.raw`(?:'[^'\\]*(?:\\.[^'\\]*)*')+`,"''-raw":String.raw`(?:'[^']*')`,$$:String.raw`(?<tag>\$\w*\$)[\s\S]*?\k<tag>`,"'''..'''":String.raw`'''[^\\]*?(?:\\.[^\\]*?)*?'''`,'""".."""':String.raw`"""[^\\]*?(?:\\.[^\\]*?)*?"""`,"{}":String.raw`(?:\{[^\}]*\})`,"q''":Dr()},kr=e=>typeof e==`string`?Or[e]:`regex`in e?e.regex:xr(e)+Or[e.quote],Ar=e=>V(e.map(e=>`regex`in e?e.regex:kr(e)).join(`|`)),jr=e=>e.map(kr).join(`|`),Mr=e=>V(jr(e)),Nr=(e={})=>V(Pr(e)),Pr=({first:e,rest:t,dashes:n,allowFirstCharNumber:r}={})=>{let i=`\\p{Alphabetic}\\p{Mark}_`,a=`\\p{Decimal_Number}`,o=B(e??``),s=B(t??``),c=r?`[${i}${a}${o}][${i}${a}${s}]*`:`[${i}${o}][${i}${a}${s}]*`;return n?br(c):c};function Fr(e,t){let n=e.slice(0,t).split(/\n/);return{line:n.length,col:n[n.length-1].length+1}}var Ir=class{constructor(e,t){this.rules=e,this.dialectName=t,this.input=``,this.index=0}tokenize(e){this.input=e,this.index=0;let t=[],n;for(;this.index<this.input.length;){let e=this.getWhitespace();if(this.index<this.input.length){if(n=this.getNextToken(),!n)throw this.createParseError();t.push(Object.assign(Object.assign({},n),{precedingWhitespace:e}))}}return t}createParseError(){let e=this.input.slice(this.index,this.index+10),{line:t,col:n}=Fr(this.input,this.index);return Error(`Parse error: Unexpected "${e}" at line ${t} column ${n}.\n${this.dialectInfo()}`)}dialectInfo(){return this.dialectName===`sql`?`This likely happens because you're using the default "sql" dialect.
|
|
4
|
+
If possible, please select a more specific dialect (like sqlite, postgresql, etc).`:`SQL dialect used: "${this.dialectName}".`}getWhitespace(){vr.lastIndex=this.index;let e=vr.exec(this.input);if(e)return this.index+=e[0].length,e[0]}getNextToken(){for(let e of this.rules){let t=this.match(e);if(t)return t}}match(e){e.regex.lastIndex=this.index;let t=e.regex.exec(this.input);if(t){let n=t[0],r={type:e.type,raw:n,text:e.text?e.text(n):n,start:this.index};return e.key&&(r.key=e.key(n)),this.index+=n.length,r}}},Lr=/\/\*/uy,Rr=/[\s\S]/uy,zr=/\*\//uy,Br=class{constructor(){this.lastIndex=0}exec(e){let t=``,n,r=0;if(n=this.matchSection(Lr,e))t+=n,r++;else return null;for(;r>0;)if(n=this.matchSection(Lr,e))t+=n,r++;else if(n=this.matchSection(zr,e))t+=n,r--;else if(n=this.matchSection(Rr,e))t+=n;else return null;return[t]}matchSection(e,t){e.lastIndex=this.lastIndex;let n=e.exec(t);return n&&(this.lastIndex+=n[0].length),n?n[0]:null}},Vr=class{constructor(e,t){this.cfg=e,this.dialectName=t,this.rulesBeforeParams=this.buildRulesBeforeParams(e),this.rulesAfterParams=this.buildRulesAfterParams(e)}tokenize(e,t){let n=new Ir([...this.rulesBeforeParams,...this.buildParamRules(this.cfg,t),...this.rulesAfterParams],this.dialectName).tokenize(e);return this.cfg.postProcess?this.cfg.postProcess(n):n}buildRulesBeforeParams(e){return this.validRules([{type:L.DISABLE_COMMENT,regex:/(\/\* *sql-formatter-disable *\*\/[\s\S]*?(?:\/\* *sql-formatter-enable *\*\/|$))/uy},{type:L.BLOCK_COMMENT,regex:e.nestedBlockComments?new Br:/(\/\*[^]*?\*\/)/uy},{type:L.LINE_COMMENT,regex:Sr(e.lineCommentTypes??[`--`])},{type:L.QUOTED_IDENTIFIER,regex:Mr(e.identTypes)},{type:L.NUMBER,regex:e.underscoresInNumbers?/(?:0x[0-9a-fA-F_]+|0b[01_]+|(?:-\s*)?(?:[0-9_]*\.[0-9_]+|[0-9_]+(?:\.[0-9_]*)?)(?:[eE][-+]?[0-9_]+(?:\.[0-9_]+)?)?)(?![\w\p{Alphabetic}])/uy:/(?:0x[0-9a-fA-F]+|0b[01]+|(?:-\s*)?(?:[0-9]*\.[0-9]+|[0-9]+(?:\.[0-9]*)?)(?:[eE][-+]?[0-9]+(?:\.[0-9]+)?)?)(?![\w\p{Alphabetic}])/uy},{type:L.RESERVED_KEYWORD_PHRASE,regex:H(e.reservedKeywordPhrases??[],e.identChars),text:U},{type:L.RESERVED_DATA_TYPE_PHRASE,regex:H(e.reservedDataTypePhrases??[],e.identChars),text:U},{type:L.CASE,regex:/CASE\b/iuy,text:U},{type:L.END,regex:/END\b/iuy,text:U},{type:L.BETWEEN,regex:/BETWEEN\b/iuy,text:U},{type:L.LIMIT,regex:e.reservedClauses.includes(`LIMIT`)?/LIMIT\b/iuy:void 0,text:U},{type:L.RESERVED_CLAUSE,regex:H(e.reservedClauses,e.identChars),text:U},{type:L.RESERVED_SELECT,regex:H(e.reservedSelect,e.identChars),text:U},{type:L.RESERVED_SET_OPERATION,regex:H(e.reservedSetOperations,e.identChars),text:U},{type:L.WHEN,regex:/WHEN\b/iuy,text:U},{type:L.ELSE,regex:/ELSE\b/iuy,text:U},{type:L.THEN,regex:/THEN\b/iuy,text:U},{type:L.RESERVED_JOIN,regex:H(e.reservedJoins,e.identChars),text:U},{type:L.AND,regex:/AND\b/iuy,text:U},{type:L.OR,regex:/OR\b/iuy,text:U},{type:L.XOR,regex:e.supportsXor?/XOR\b/iuy:void 0,text:U},...e.operatorKeyword?[{type:L.OPERATOR,regex:/OPERATOR *\([^)]+\)/iuy}]:[],{type:L.RESERVED_FUNCTION_NAME,regex:H(e.reservedFunctionNames,e.identChars),text:U},{type:L.RESERVED_DATA_TYPE,regex:H(e.reservedDataTypes,e.identChars),text:U},{type:L.RESERVED_KEYWORD,regex:H(e.reservedKeywords,e.identChars),text:U}])}buildRulesAfterParams(e){return this.validRules([{type:L.VARIABLE,regex:e.variableTypes?Ar(e.variableTypes):void 0},{type:L.STRING,regex:Mr(e.stringTypes)},{type:L.IDENTIFIER,regex:Nr(e.identChars)},{type:L.DELIMITER,regex:/[;]/uy},{type:L.COMMA,regex:/[,]/y},{type:L.OPEN_PAREN,regex:Cr(`open`,e.extraParens)},{type:L.CLOSE_PAREN,regex:Cr(`close`,e.extraParens)},{type:L.OPERATOR,regex:wr([`+`,`-`,`/`,`>`,`<`,`=`,`<>`,`<=`,`>=`,`!=`,...e.operators??[]])},{type:L.ASTERISK,regex:/[*]/uy},{type:L.PROPERTY_ACCESS_OPERATOR,regex:wr([`.`,...e.propertyAccessOperators??[]])}])}buildParamRules(e,t){let n={named:t?.named||e.paramTypes?.named||[],quoted:t?.quoted||e.paramTypes?.quoted||[],numbered:t?.numbered||e.paramTypes?.numbered||[],positional:typeof t?.positional==`boolean`?t.positional:e.paramTypes?.positional,custom:t?.custom||e.paramTypes?.custom||[]};return this.validRules([{type:L.NAMED_PARAMETER,regex:Er(n.named,Pr(e.paramChars||e.identChars)),key:e=>e.slice(1)},{type:L.QUOTED_PARAMETER,regex:Er(n.quoted,jr(e.identTypes)),key:e=>(({tokenKey:e,quoteChar:t})=>e.replace(new RegExp(B(`\\`+t),`gu`),t))({tokenKey:e.slice(2,-1),quoteChar:e.slice(-1)})},{type:L.NUMBERED_PARAMETER,regex:Er(n.numbered,`[0-9]+`),key:e=>e.slice(1)},{type:L.POSITIONAL_PARAMETER,regex:n.positional?/[?]/y:void 0},...n.custom.map(e=>({type:L.CUSTOM_PARAMETER,regex:V(e.regex),key:e.key??(e=>e)}))])}validRules(e){return e.filter(e=>!!e.regex)}},U=e=>gr(e.toUpperCase()),Hr=new Map,Ur=e=>{let t=Hr.get(e);return t||(t=Wr(e),Hr.set(e,t)),t},Wr=e=>({tokenizer:new Vr(e.tokenizerOptions,e.name),formatOptions:Gr(e)}),Gr=({tokenizerOptions:e,formatOptions:t})=>({alwaysDenseOperators:t.alwaysDenseOperators||[],onelineClauses:Object.fromEntries(t.onelineClauses.map(e=>[e,!0])),tabularOnelineClauses:Object.fromEntries((t.tabularOnelineClauses??t.onelineClauses).map(e=>[e,!0])),identifierDashes:!!e.identChars?.dashes});function Kr(e){return e.indentStyle===`tabularLeft`||e.indentStyle===`tabularRight`?` `.repeat(10):e.useTabs?` `:` `.repeat(e.tabWidth)}function W(e){return e.indentStyle===`tabularLeft`||e.indentStyle===`tabularRight`}var qr=class{constructor(e){this.params=e,this.index=0}get({key:e,text:t}){return this.params?e?this.params[e]:this.params[this.index++]:t}getPositionalParameterIndex(){return this.index}setPositionalParameterIndex(e){this.index=e}},Jr=t(((e,t)=>{(function(e,n){typeof t==`object`&&t.exports?t.exports=n():e.nearley=n()})(e,function(){function e(t,n,r){return this.id=++e.highestId,this.name=t,this.symbols=n,this.postprocess=r,this}e.highestId=0,e.prototype.toString=function(e){var t=e===void 0?this.symbols.map(s).join(` `):this.symbols.slice(0,e).map(s).join(` `)+` ● `+this.symbols.slice(e).map(s).join(` `);return this.name+` → `+t};function t(e,t,n,r){this.rule=e,this.dot=t,this.reference=n,this.data=[],this.wantedBy=r,this.isComplete=this.dot===e.symbols.length}t.prototype.toString=function(){return`{`+this.rule.toString(this.dot)+`}, from: `+(this.reference||0)},t.prototype.nextState=function(e){var n=new t(this.rule,this.dot+1,this.reference,this.wantedBy);return n.left=this,n.right=e,n.isComplete&&(n.data=n.build(),n.right=void 0),n},t.prototype.build=function(){var e=[],t=this;do e.push(t.right.data),t=t.left;while(t.left);return e.reverse(),e},t.prototype.finish=function(){this.rule.postprocess&&(this.data=this.rule.postprocess(this.data,this.reference,a.fail))};function n(e,t){this.grammar=e,this.index=t,this.states=[],this.wants={},this.scannable=[],this.completed={}}n.prototype.process=function(e){for(var t=this.states,n=this.wants,r=this.completed,i=0;i<t.length;i++){var o=t[i];if(o.isComplete){if(o.finish(),o.data!==a.fail){for(var s=o.wantedBy,c=s.length;c--;){var l=s[c];this.complete(l,o)}if(o.reference===this.index){var u=o.rule.name;(this.completed[u]=this.completed[u]||[]).push(o)}}}else{var u=o.rule.symbols[o.dot];if(typeof u!=`string`){this.scannable.push(o);continue}if(n[u]){if(n[u].push(o),r.hasOwnProperty(u))for(var d=r[u],c=0;c<d.length;c++){var f=d[c];this.complete(o,f)}}else n[u]=[o],this.predict(u)}}},n.prototype.predict=function(e){for(var n=this.grammar.byName[e]||[],r=0;r<n.length;r++){var i=n[r],a=this.wants[e],o=new t(i,0,this.index,a);this.states.push(o)}},n.prototype.complete=function(e,t){var n=e.nextState(t);this.states.push(n)};function r(e,t){this.rules=e,this.start=t||this.rules[0].name;var n=this.byName={};this.rules.forEach(function(e){n.hasOwnProperty(e.name)||(n[e.name]=[]),n[e.name].push(e)})}r.fromCompiled=function(t,n){var i=t.Lexer;t.ParserStart&&(n=t.ParserStart,t=t.ParserRules);var t=t.map(function(t){return new e(t.name,t.symbols,t.postprocess)}),a=new r(t,n);return a.lexer=i,a};function i(){this.reset(``)}i.prototype.reset=function(e,t){this.buffer=e,this.index=0,this.line=t?t.line:1,this.lastLineBreak=t?-t.col:0},i.prototype.next=function(){if(this.index<this.buffer.length){var e=this.buffer[this.index++];return e===`
|
|
5
|
+
`&&(this.line+=1,this.lastLineBreak=this.index),{value:e}}},i.prototype.save=function(){return{line:this.line,col:this.index-this.lastLineBreak}},i.prototype.formatError=function(e,t){var n=this.buffer;if(typeof n==`string`){var r=n.split(`
|
|
6
|
+
`).slice(Math.max(0,this.line-5),this.line),i=n.indexOf(`
|
|
7
|
+
`,this.index);i===-1&&(i=n.length);var a=this.index-this.lastLineBreak,o=String(this.line).length;return t+=` at line `+this.line+` col `+a+`:
|
|
8
|
+
|
|
9
|
+
`,t+=r.map(function(e,t){return s(this.line-r.length+t+1,o)+` `+e},this).join(`
|
|
10
|
+
`),t+=`
|
|
11
|
+
`+s(``,o+a)+`^
|
|
12
|
+
`,t}else return t+` at index `+(this.index-1);function s(e,t){var n=String(e);return Array(t-n.length+1).join(` `)+n}};function a(e,t,a){if(e instanceof r)var o=e,a=t;else var o=r.fromCompiled(e,t);for(var s in this.grammar=o,this.options={keepHistory:!1,lexer:o.lexer||new i},a||{})this.options[s]=a[s];this.lexer=this.options.lexer,this.lexerState=void 0;var c=new n(o,0);this.table=[c],c.wants[o.start]=[],c.predict(o.start),c.process(),this.current=0}a.fail={},a.prototype.feed=function(e){var t=this.lexer;t.reset(e,this.lexerState);for(var r;;){try{if(r=t.next(),!r)break}catch(e){var a=new n(this.grammar,this.current+1);this.table.push(a);var o=Error(this.reportLexerError(e));throw o.offset=this.current,o.token=e.token,o}var s=this.table[this.current];this.options.keepHistory||delete this.table[this.current-1];var c=this.current+1,a=new n(this.grammar,c);this.table.push(a);for(var l=r.text===void 0?r.value:r.text,u=t.constructor===i?r.value:r,d=s.scannable,f=d.length;f--;){var p=d[f],m=p.rule.symbols[p.dot];if(m.test?m.test(u):m.type?m.type===r.type:m.literal===l){var h=p.nextState({data:u,token:r,isToken:!0,reference:c-1});a.states.push(h)}}if(a.process(),a.states.length===0){var o=Error(this.reportError(r));throw o.offset=this.current,o.token=r,o}this.options.keepHistory&&(s.lexerState=t.save()),this.current++}return s&&(this.lexerState=t.save()),this.results=this.finish(),this},a.prototype.reportLexerError=function(e){var t,n,r=e.token;return r?(t=`input `+JSON.stringify(r.text[0])+` (lexer error)`,n=this.lexer.formatError(r,`Syntax error`)):(t=`input (lexer error)`,n=e.message),this.reportErrorCommon(n,t)},a.prototype.reportError=function(e){var t=(e.type?e.type+` token: `:``)+JSON.stringify(e.value===void 0?e:e.value),n=this.lexer.formatError(e,`Syntax error`);return this.reportErrorCommon(n,t)},a.prototype.reportErrorCommon=function(e,t){var n=[];n.push(e);var r=this.table.length-2,i=this.table[r],a=i.states.filter(function(e){var t=e.rule.symbols[e.dot];return t&&typeof t!=`string`});return a.length===0?(n.push(`Unexpected `+t+`. I did not expect any more input. Here is the state of my parse table:
|
|
13
|
+
`),this.displayStateStack(i.states,n)):(n.push(`Unexpected `+t+`. Instead, I was expecting to see one of the following:
|
|
14
|
+
`),a.map(function(e){return this.buildFirstStateStack(e,[])||[e]},this).forEach(function(e){var t=e[0],r=t.rule.symbols[t.dot],i=this.getSymbolDisplay(r);n.push(`A `+i+` based on:`),this.displayStateStack(e,n)},this)),n.push(``),n.join(`
|
|
15
|
+
`)},a.prototype.displayStateStack=function(e,t){for(var n,r=0,i=0;i<e.length;i++){var a=e[i],o=a.rule.toString(a.dot);o===n?r++:(r>0&&t.push(` ^ `+r+` more lines identical to this`),r=0,t.push(` `+o)),n=o}},a.prototype.getSymbolDisplay=function(e){return o(e)},a.prototype.buildFirstStateStack=function(e,t){if(t.indexOf(e)!==-1)return null;if(e.wantedBy.length===0)return[e];var n=e.wantedBy[0],r=[e].concat(t),i=this.buildFirstStateStack(n,r);return i===null?null:[e].concat(i)},a.prototype.save=function(){var e=this.table[this.current];return e.lexerState=this.lexerState,e},a.prototype.restore=function(e){var t=e.index;this.current=t,this.table[t]=e,this.table.splice(t+1),this.lexerState=e.lexerState,this.results=this.finish()},a.prototype.rewind=function(e){if(!this.options.keepHistory)throw Error("set option `keepHistory` to enable rewinding");this.restore(this.table[e])},a.prototype.finish=function(){var e=[],t=this.grammar.start;return this.table[this.table.length-1].states.forEach(function(n){n.rule.name===t&&n.dot===n.rule.symbols.length&&n.reference===0&&n.data!==a.fail&&e.push(n)}),e.map(function(e){return e.data})};function o(e){var t=typeof e;if(t===`string`)return e;if(t===`object`){if(e.literal)return JSON.stringify(e.literal);if(e instanceof RegExp)return`character matching `+e;if(e.type)return e.type+` token`;if(e.test)return`token matching `+String(e.test);throw Error(`Unknown symbol type: `+e)}}function s(e){var t=typeof e;if(t===`string`)return e;if(t===`object`){if(e.literal)return JSON.stringify(e.literal);if(e instanceof RegExp)return e.toString();if(e.type)return`%`+e.type;if(e.test)return`<`+String(e.test)+`>`;throw Error(`Unknown symbol type: `+e)}}return{Parser:a,Grammar:r,Rule:e}})}));function Yr(e){return e.map(Xr).map(Zr).map(ei).map(ti).map(ni).map(ri)}var Xr=(e,t,n)=>{if(vn(e.type)){let r=ii(n,t);if(r&&r.type===L.PROPERTY_ACCESS_OPERATOR)return Object.assign(Object.assign({},e),{type:L.IDENTIFIER,text:e.raw});let i=G(n,t);if(i&&i.type===L.PROPERTY_ACCESS_OPERATOR)return Object.assign(Object.assign({},e),{type:L.IDENTIFIER,text:e.raw})}return e},Zr=(e,t,n)=>{if($r(e)){let r=ii(n,t);if(r&&Qr(r))return Object.assign(Object.assign({},e),{type:L.IDENTIFIER,text:e.raw})}return e},Qr=e=>e.type===L.RESERVED_KEYWORD&&e.text===`AS`,$r=e=>e.type===L.RESERVED_SET_OPERATION||e.type===L.RESERVED_JOIN||e.type===L.LIMIT||e.type===L.BETWEEN||e.type===L.CASE||e.type===L.END||e.type===L.WHEN||e.type===L.ELSE||e.type===L.THEN||e.type===L.AND||e.type===L.OR||e.type===L.XOR||e.type===L.RESERVED_CLAUSE&&e.text===`SET`,ei=(e,t,n)=>{if(e.type===L.RESERVED_FUNCTION_NAME){let r=G(n,t);if(!r||!ai(r))return Object.assign(Object.assign({},e),{type:L.IDENTIFIER,text:e.raw})}return e},ti=(e,t,n)=>{if(e.type===L.RESERVED_DATA_TYPE){let r=G(n,t);if(r&&ai(r))return Object.assign(Object.assign({},e),{type:L.RESERVED_PARAMETERIZED_DATA_TYPE})}return e},ni=(e,t,n)=>{if(e.type===L.IDENTIFIER){let r=G(n,t);if(r&&oi(r))return Object.assign(Object.assign({},e),{type:L.ARRAY_IDENTIFIER})}return e},ri=(e,t,n)=>{if(e.type===L.RESERVED_DATA_TYPE){let r=G(n,t);if(r&&oi(r))return Object.assign(Object.assign({},e),{type:L.ARRAY_KEYWORD})}return e},ii=(e,t)=>G(e,t,-1),G=(e,t,n=1)=>{let r=1;for(;e[t+r*n]&&si(e[t+r*n]);)r++;return e[t+r*n]},ai=e=>e.type===L.OPEN_PAREN&&e.text===`(`,oi=e=>e.type===L.OPEN_PAREN&&e.text===`[`,si=e=>e.type===L.BLOCK_COMMENT||e.type===L.LINE_COMMENT,ci=class{constructor(e){this.tokenize=e,this.index=0,this.tokens=[],this.input=``}reset(e,t){this.input=e,this.index=0,this.tokens=this.tokenize(e)}next(){return this.tokens[this.index++]}save(){}formatError(e){let{line:t,col:n}=Fr(this.input,e.start);return`Parse error at token: ${e.text} at line ${t} column ${n}`}has(e){return e in L}},K;(function(e){e.statement=`statement`,e.clause=`clause`,e.set_operation=`set_operation`,e.function_call=`function_call`,e.parameterized_data_type=`parameterized_data_type`,e.array_subscript=`array_subscript`,e.property_access=`property_access`,e.parenthesis=`parenthesis`,e.between_predicate=`between_predicate`,e.case_expression=`case_expression`,e.case_when=`case_when`,e.case_else=`case_else`,e.limit_clause=`limit_clause`,e.all_columns_asterisk=`all_columns_asterisk`,e.literal=`literal`,e.identifier=`identifier`,e.keyword=`keyword`,e.data_type=`data_type`,e.parameter=`parameter`,e.operator=`operator`,e.comma=`comma`,e.line_comment=`line_comment`,e.block_comment=`block_comment`,e.disable_comment=`disable_comment`})(K=K||={});function li(e){return e[0]}var q=new ci(e=>[]),J=([[e]])=>e,Y=e=>({type:K.keyword,tokenType:e.type,text:e.text,raw:e.raw}),ui=e=>({type:K.data_type,text:e.text,raw:e.raw}),X=e=>{let t=[];for(let n=e;n;n=n.previous)t.push(n.value);return t.reverse(),t},Z=(e,{leading:t,trailing:n})=>(t?.length&&(e=Object.assign(Object.assign({},e),{leadingComments:t})),n?.length&&(e=Object.assign(Object.assign({},e),{trailingComments:n})),e),di=(e,{leading:t,trailing:n})=>{if(t?.length){let[n,...r]=e;e=[Z(n,{leading:t}),...r]}if(n?.length){let t=e.slice(0,-1),r=e[e.length-1];e=[...t,Z(r,{trailing:n})]}return e},fi={Lexer:q,ParserRules:[{name:`main$ebnf$1`,symbols:[]},{name:`main$ebnf$1`,symbols:[`main$ebnf$1`,`statement`],postprocess:e=>e[0].concat([e[1]])},{name:`main`,symbols:[`main$ebnf$1`],postprocess:([e])=>{let t=e[e.length-1];return t&&!t.hasSemicolon?t.children.length>0?e:e.slice(0,-1):e}},{name:`statement$subexpression$1`,symbols:[q.has(`DELIMITER`)?{type:`DELIMITER`}:DELIMITER]},{name:`statement$subexpression$1`,symbols:[q.has(`EOF`)?{type:`EOF`}:EOF]},{name:`statement`,symbols:[`expressions_or_clauses`,`statement$subexpression$1`],postprocess:([e,[t]])=>({type:K.statement,children:X(e),hasSemicolon:t.type===L.DELIMITER})},{name:`expressions_or_clauses`,symbols:[`expression_list`],postprocess:li},{name:`expressions_or_clauses`,symbols:[`expressions_or_clauses`,`clause`],postprocess:([e,t])=>({previous:e,value:t})},{name:`expression_list`,symbols:[],postprocess:()=>void 0},{name:`expression_list`,symbols:[`expression_list`,`free_form_sql`],postprocess:([e,t])=>({previous:e,value:t})},{name:`clause$subexpression$1`,symbols:[`limit_clause`]},{name:`clause$subexpression$1`,symbols:[`select_clause`]},{name:`clause$subexpression$1`,symbols:[`other_clause`]},{name:`clause$subexpression$1`,symbols:[`set_operation`]},{name:`clause`,symbols:[`clause$subexpression$1`],postprocess:J},{name:`limit_clause$ebnf$1$subexpression$1$ebnf$1`,symbols:[`free_form_sql`]},{name:`limit_clause$ebnf$1$subexpression$1$ebnf$1`,symbols:[`limit_clause$ebnf$1$subexpression$1$ebnf$1`,`free_form_sql`],postprocess:e=>e[0].concat([e[1]])},{name:`limit_clause$ebnf$1$subexpression$1`,symbols:[q.has(`COMMA`)?{type:`COMMA`}:COMMA,`limit_clause$ebnf$1$subexpression$1$ebnf$1`]},{name:`limit_clause$ebnf$1`,symbols:[`limit_clause$ebnf$1$subexpression$1`],postprocess:li},{name:`limit_clause$ebnf$1`,symbols:[],postprocess:()=>null},{name:`limit_clause`,symbols:[q.has(`LIMIT`)?{type:`LIMIT`}:LIMIT,`_`,`expression_chain_`,`limit_clause$ebnf$1`],postprocess:([e,t,n,r])=>{if(r){let[i,a]=r;return{type:K.limit_clause,limitKw:Z(Y(e),{trailing:t}),offset:n,count:a}}else return{type:K.limit_clause,limitKw:Z(Y(e),{trailing:t}),count:n}}},{name:`select_clause$subexpression$1`,symbols:[`all_columns_asterisk`,`expression_list`]},{name:`select_clause$subexpression$1`,symbols:[`asteriskless_free_form_sql`,`expression_list`]},{name:`select_clause`,symbols:[q.has(`RESERVED_SELECT`)?{type:`RESERVED_SELECT`}:RESERVED_SELECT,`select_clause$subexpression$1`],postprocess:([e,[t,n]])=>({type:K.clause,nameKw:Y(e),get children(){return[t,...X(n)]}})},{name:`select_clause`,symbols:[q.has(`RESERVED_SELECT`)?{type:`RESERVED_SELECT`}:RESERVED_SELECT],postprocess:([e])=>({type:K.clause,nameKw:Y(e),children:[]})},{name:`all_columns_asterisk`,symbols:[q.has(`ASTERISK`)?{type:`ASTERISK`}:ASTERISK],postprocess:()=>({type:K.all_columns_asterisk})},{name:`other_clause`,symbols:[q.has(`RESERVED_CLAUSE`)?{type:`RESERVED_CLAUSE`}:RESERVED_CLAUSE,`expression_list`],postprocess:([e,t])=>({type:K.clause,nameKw:Y(e),get children(){return X(t)}})},{name:`set_operation`,symbols:[q.has(`RESERVED_SET_OPERATION`)?{type:`RESERVED_SET_OPERATION`}:RESERVED_SET_OPERATION,`expression_list`],postprocess:([e,t])=>({type:K.set_operation,nameKw:Y(e),get children(){return X(t)}})},{name:`expression_chain_$ebnf$1`,symbols:[`expression_with_comments_`]},{name:`expression_chain_$ebnf$1`,symbols:[`expression_chain_$ebnf$1`,`expression_with_comments_`],postprocess:e=>e[0].concat([e[1]])},{name:`expression_chain_`,symbols:[`expression_chain_$ebnf$1`],postprocess:li},{name:`expression_chain$ebnf$1`,symbols:[]},{name:`expression_chain$ebnf$1`,symbols:[`expression_chain$ebnf$1`,`_expression_with_comments`],postprocess:e=>e[0].concat([e[1]])},{name:`expression_chain`,symbols:[`expression`,`expression_chain$ebnf$1`],postprocess:([e,t])=>[e,...t]},{name:`andless_expression_chain$ebnf$1`,symbols:[]},{name:`andless_expression_chain$ebnf$1`,symbols:[`andless_expression_chain$ebnf$1`,`_andless_expression_with_comments`],postprocess:e=>e[0].concat([e[1]])},{name:`andless_expression_chain`,symbols:[`andless_expression`,`andless_expression_chain$ebnf$1`],postprocess:([e,t])=>[e,...t]},{name:`expression_with_comments_`,symbols:[`expression`,`_`],postprocess:([e,t])=>Z(e,{trailing:t})},{name:`_expression_with_comments`,symbols:[`_`,`expression`],postprocess:([e,t])=>Z(t,{leading:e})},{name:`_andless_expression_with_comments`,symbols:[`_`,`andless_expression`],postprocess:([e,t])=>Z(t,{leading:e})},{name:`free_form_sql$subexpression$1`,symbols:[`asteriskless_free_form_sql`]},{name:`free_form_sql$subexpression$1`,symbols:[`asterisk`]},{name:`free_form_sql`,symbols:[`free_form_sql$subexpression$1`],postprocess:J},{name:`asteriskless_free_form_sql$subexpression$1`,symbols:[`asteriskless_andless_expression`]},{name:`asteriskless_free_form_sql$subexpression$1`,symbols:[`logic_operator`]},{name:`asteriskless_free_form_sql$subexpression$1`,symbols:[`comma`]},{name:`asteriskless_free_form_sql$subexpression$1`,symbols:[`comment`]},{name:`asteriskless_free_form_sql$subexpression$1`,symbols:[`other_keyword`]},{name:`asteriskless_free_form_sql`,symbols:[`asteriskless_free_form_sql$subexpression$1`],postprocess:J},{name:`expression$subexpression$1`,symbols:[`andless_expression`]},{name:`expression$subexpression$1`,symbols:[`logic_operator`]},{name:`expression`,symbols:[`expression$subexpression$1`],postprocess:J},{name:`andless_expression$subexpression$1`,symbols:[`asteriskless_andless_expression`]},{name:`andless_expression$subexpression$1`,symbols:[`asterisk`]},{name:`andless_expression`,symbols:[`andless_expression$subexpression$1`],postprocess:J},{name:`asteriskless_andless_expression$subexpression$1`,symbols:[`atomic_expression`]},{name:`asteriskless_andless_expression$subexpression$1`,symbols:[`between_predicate`]},{name:`asteriskless_andless_expression$subexpression$1`,symbols:[`case_expression`]},{name:`asteriskless_andless_expression`,symbols:[`asteriskless_andless_expression$subexpression$1`],postprocess:J},{name:`atomic_expression$subexpression$1`,symbols:[`array_subscript`]},{name:`atomic_expression$subexpression$1`,symbols:[`function_call`]},{name:`atomic_expression$subexpression$1`,symbols:[`property_access`]},{name:`atomic_expression$subexpression$1`,symbols:[`parenthesis`]},{name:`atomic_expression$subexpression$1`,symbols:[`curly_braces`]},{name:`atomic_expression$subexpression$1`,symbols:[`square_brackets`]},{name:`atomic_expression$subexpression$1`,symbols:[`operator`]},{name:`atomic_expression$subexpression$1`,symbols:[`identifier`]},{name:`atomic_expression$subexpression$1`,symbols:[`parameter`]},{name:`atomic_expression$subexpression$1`,symbols:[`literal`]},{name:`atomic_expression$subexpression$1`,symbols:[`data_type`]},{name:`atomic_expression$subexpression$1`,symbols:[`keyword`]},{name:`atomic_expression`,symbols:[`atomic_expression$subexpression$1`],postprocess:J},{name:`array_subscript`,symbols:[q.has(`ARRAY_IDENTIFIER`)?{type:`ARRAY_IDENTIFIER`}:ARRAY_IDENTIFIER,`_`,`square_brackets`],postprocess:([e,t,n])=>({type:K.array_subscript,array:Z({type:K.identifier,quoted:!1,text:e.text},{trailing:t}),parenthesis:n})},{name:`array_subscript`,symbols:[q.has(`ARRAY_KEYWORD`)?{type:`ARRAY_KEYWORD`}:ARRAY_KEYWORD,`_`,`square_brackets`],postprocess:([e,t,n])=>({type:K.array_subscript,array:Z(Y(e),{trailing:t}),parenthesis:n})},{name:`function_call`,symbols:[q.has(`RESERVED_FUNCTION_NAME`)?{type:`RESERVED_FUNCTION_NAME`}:RESERVED_FUNCTION_NAME,`_`,`parenthesis`],postprocess:([e,t,n])=>({type:K.function_call,nameKw:Z(Y(e),{trailing:t}),parenthesis:n})},{name:`parenthesis`,symbols:[{literal:`(`},`expressions_or_clauses`,{literal:`)`}],postprocess:([e,t,n])=>({type:K.parenthesis,children:X(t),openParen:`(`,closeParen:`)`})},{name:`curly_braces`,symbols:[{literal:`{`},`expression_list`,{literal:`}`}],postprocess:([e,t,n])=>({type:K.parenthesis,children:X(t),openParen:`{`,closeParen:`}`})},{name:`square_brackets`,symbols:[{literal:`[`},`expression_list`,{literal:`]`}],postprocess:([e,t,n])=>({type:K.parenthesis,children:X(t),openParen:`[`,closeParen:`]`})},{name:`property_access$subexpression$1`,symbols:[`identifier`]},{name:`property_access$subexpression$1`,symbols:[`array_subscript`]},{name:`property_access$subexpression$1`,symbols:[`all_columns_asterisk`]},{name:`property_access$subexpression$1`,symbols:[`parameter`]},{name:`property_access`,symbols:[`atomic_expression`,`_`,q.has(`PROPERTY_ACCESS_OPERATOR`)?{type:`PROPERTY_ACCESS_OPERATOR`}:PROPERTY_ACCESS_OPERATOR,`_`,`property_access$subexpression$1`],postprocess:([e,t,n,r,[i]])=>({type:K.property_access,object:Z(e,{trailing:t}),operator:n.text,property:Z(i,{leading:r})})},{name:`between_predicate`,symbols:[q.has(`BETWEEN`)?{type:`BETWEEN`}:BETWEEN,`_`,`andless_expression_chain`,`_`,q.has(`AND`)?{type:`AND`}:AND,`_`,`andless_expression`],postprocess:([e,t,n,r,i,a,o])=>({type:K.between_predicate,betweenKw:Y(e),expr1:di(n,{leading:t,trailing:r}),andKw:Y(i),expr2:[Z(o,{leading:a})]})},{name:`case_expression$ebnf$1`,symbols:[`expression_chain_`],postprocess:li},{name:`case_expression$ebnf$1`,symbols:[],postprocess:()=>null},{name:`case_expression$ebnf$2`,symbols:[]},{name:`case_expression$ebnf$2`,symbols:[`case_expression$ebnf$2`,`case_clause`],postprocess:e=>e[0].concat([e[1]])},{name:`case_expression`,symbols:[q.has(`CASE`)?{type:`CASE`}:CASE,`_`,`case_expression$ebnf$1`,`case_expression$ebnf$2`,q.has(`END`)?{type:`END`}:END],postprocess:([e,t,n,r,i])=>({type:K.case_expression,caseKw:Z(Y(e),{trailing:t}),endKw:Y(i),expr:n||[],clauses:r})},{name:`case_clause`,symbols:[q.has(`WHEN`)?{type:`WHEN`}:WHEN,`_`,`expression_chain_`,q.has(`THEN`)?{type:`THEN`}:THEN,`_`,`expression_chain_`],postprocess:([e,t,n,r,i,a])=>({type:K.case_when,whenKw:Z(Y(e),{trailing:t}),thenKw:Z(Y(r),{trailing:i}),condition:n,result:a})},{name:`case_clause`,symbols:[q.has(`ELSE`)?{type:`ELSE`}:ELSE,`_`,`expression_chain_`],postprocess:([e,t,n])=>({type:K.case_else,elseKw:Z(Y(e),{trailing:t}),result:n})},{name:`comma$subexpression$1`,symbols:[q.has(`COMMA`)?{type:`COMMA`}:COMMA]},{name:`comma`,symbols:[`comma$subexpression$1`],postprocess:([[e]])=>({type:K.comma})},{name:`asterisk$subexpression$1`,symbols:[q.has(`ASTERISK`)?{type:`ASTERISK`}:ASTERISK]},{name:`asterisk`,symbols:[`asterisk$subexpression$1`],postprocess:([[e]])=>({type:K.operator,text:e.text})},{name:`operator$subexpression$1`,symbols:[q.has(`OPERATOR`)?{type:`OPERATOR`}:OPERATOR]},{name:`operator`,symbols:[`operator$subexpression$1`],postprocess:([[e]])=>({type:K.operator,text:e.text})},{name:`identifier$subexpression$1`,symbols:[q.has(`IDENTIFIER`)?{type:`IDENTIFIER`}:IDENTIFIER]},{name:`identifier$subexpression$1`,symbols:[q.has(`QUOTED_IDENTIFIER`)?{type:`QUOTED_IDENTIFIER`}:QUOTED_IDENTIFIER]},{name:`identifier$subexpression$1`,symbols:[q.has(`VARIABLE`)?{type:`VARIABLE`}:VARIABLE]},{name:`identifier`,symbols:[`identifier$subexpression$1`],postprocess:([[e]])=>({type:K.identifier,quoted:e.type!==`IDENTIFIER`,text:e.text})},{name:`parameter$subexpression$1`,symbols:[q.has(`NAMED_PARAMETER`)?{type:`NAMED_PARAMETER`}:NAMED_PARAMETER]},{name:`parameter$subexpression$1`,symbols:[q.has(`QUOTED_PARAMETER`)?{type:`QUOTED_PARAMETER`}:QUOTED_PARAMETER]},{name:`parameter$subexpression$1`,symbols:[q.has(`NUMBERED_PARAMETER`)?{type:`NUMBERED_PARAMETER`}:NUMBERED_PARAMETER]},{name:`parameter$subexpression$1`,symbols:[q.has(`POSITIONAL_PARAMETER`)?{type:`POSITIONAL_PARAMETER`}:POSITIONAL_PARAMETER]},{name:`parameter$subexpression$1`,symbols:[q.has(`CUSTOM_PARAMETER`)?{type:`CUSTOM_PARAMETER`}:CUSTOM_PARAMETER]},{name:`parameter`,symbols:[`parameter$subexpression$1`],postprocess:([[e]])=>({type:K.parameter,key:e.key,text:e.text})},{name:`literal$subexpression$1`,symbols:[q.has(`NUMBER`)?{type:`NUMBER`}:NUMBER]},{name:`literal$subexpression$1`,symbols:[q.has(`STRING`)?{type:`STRING`}:STRING]},{name:`literal`,symbols:[`literal$subexpression$1`],postprocess:([[e]])=>({type:K.literal,text:e.text})},{name:`keyword$subexpression$1`,symbols:[q.has(`RESERVED_KEYWORD`)?{type:`RESERVED_KEYWORD`}:RESERVED_KEYWORD]},{name:`keyword$subexpression$1`,symbols:[q.has(`RESERVED_KEYWORD_PHRASE`)?{type:`RESERVED_KEYWORD_PHRASE`}:RESERVED_KEYWORD_PHRASE]},{name:`keyword$subexpression$1`,symbols:[q.has(`RESERVED_JOIN`)?{type:`RESERVED_JOIN`}:RESERVED_JOIN]},{name:`keyword`,symbols:[`keyword$subexpression$1`],postprocess:([[e]])=>Y(e)},{name:`data_type$subexpression$1`,symbols:[q.has(`RESERVED_DATA_TYPE`)?{type:`RESERVED_DATA_TYPE`}:RESERVED_DATA_TYPE]},{name:`data_type$subexpression$1`,symbols:[q.has(`RESERVED_DATA_TYPE_PHRASE`)?{type:`RESERVED_DATA_TYPE_PHRASE`}:RESERVED_DATA_TYPE_PHRASE]},{name:`data_type`,symbols:[`data_type$subexpression$1`],postprocess:([[e]])=>ui(e)},{name:`data_type`,symbols:[q.has(`RESERVED_PARAMETERIZED_DATA_TYPE`)?{type:`RESERVED_PARAMETERIZED_DATA_TYPE`}:RESERVED_PARAMETERIZED_DATA_TYPE,`_`,`parenthesis`],postprocess:([e,t,n])=>({type:K.parameterized_data_type,dataType:Z(ui(e),{trailing:t}),parenthesis:n})},{name:`logic_operator$subexpression$1`,symbols:[q.has(`AND`)?{type:`AND`}:AND]},{name:`logic_operator$subexpression$1`,symbols:[q.has(`OR`)?{type:`OR`}:OR]},{name:`logic_operator$subexpression$1`,symbols:[q.has(`XOR`)?{type:`XOR`}:XOR]},{name:`logic_operator`,symbols:[`logic_operator$subexpression$1`],postprocess:([[e]])=>Y(e)},{name:`other_keyword$subexpression$1`,symbols:[q.has(`WHEN`)?{type:`WHEN`}:WHEN]},{name:`other_keyword$subexpression$1`,symbols:[q.has(`THEN`)?{type:`THEN`}:THEN]},{name:`other_keyword$subexpression$1`,symbols:[q.has(`ELSE`)?{type:`ELSE`}:ELSE]},{name:`other_keyword$subexpression$1`,symbols:[q.has(`END`)?{type:`END`}:END]},{name:`other_keyword`,symbols:[`other_keyword$subexpression$1`],postprocess:([[e]])=>Y(e)},{name:`_$ebnf$1`,symbols:[]},{name:`_$ebnf$1`,symbols:[`_$ebnf$1`,`comment`],postprocess:e=>e[0].concat([e[1]])},{name:`_`,symbols:[`_$ebnf$1`],postprocess:([e])=>e},{name:`comment`,symbols:[q.has(`LINE_COMMENT`)?{type:`LINE_COMMENT`}:LINE_COMMENT],postprocess:([e])=>({type:K.line_comment,text:e.text,precedingWhitespace:e.precedingWhitespace})},{name:`comment`,symbols:[q.has(`BLOCK_COMMENT`)?{type:`BLOCK_COMMENT`}:BLOCK_COMMENT],postprocess:([e])=>({type:K.block_comment,text:e.text,precedingWhitespace:e.precedingWhitespace})},{name:`comment`,symbols:[q.has(`DISABLE_COMMENT`)?{type:`DISABLE_COMMENT`}:DISABLE_COMMENT],postprocess:([e])=>({type:K.disable_comment,text:e.text,precedingWhitespace:e.precedingWhitespace})}],ParserStart:`main`},{Parser:pi,Grammar:mi}=e(Jr(),1).default;function hi(e){let t={},n=new ci(n=>[...Yr(e.tokenize(n,t)),hn(n.length)]),r=new pi(mi.fromCompiled(fi),{lexer:n});return{parse:(e,n)=>{t=n;let{results:i}=r.feed(e);if(i.length===1)return i[0];throw i.length===0?Error(`Parse error: Invalid SQL`):Error(`Parse error: Ambiguous grammar\n${JSON.stringify(i,void 0,2)}`)}}}var Q;(function(e){e[e.SPACE=0]=`SPACE`,e[e.NO_SPACE=1]=`NO_SPACE`,e[e.NO_NEWLINE=2]=`NO_NEWLINE`,e[e.NEWLINE=3]=`NEWLINE`,e[e.MANDATORY_NEWLINE=4]=`MANDATORY_NEWLINE`,e[e.INDENT=5]=`INDENT`,e[e.SINGLE_INDENT=6]=`SINGLE_INDENT`})(Q=Q||={});var gi=class{constructor(e){this.indentation=e,this.items=[]}add(...e){for(let t of e)switch(t){case Q.SPACE:this.items.push(Q.SPACE);break;case Q.NO_SPACE:this.trimHorizontalWhitespace();break;case Q.NO_NEWLINE:this.trimWhitespace();break;case Q.NEWLINE:this.trimHorizontalWhitespace(),this.addNewline(Q.NEWLINE);break;case Q.MANDATORY_NEWLINE:this.trimHorizontalWhitespace(),this.addNewline(Q.MANDATORY_NEWLINE);break;case Q.INDENT:this.addIndentation();break;case Q.SINGLE_INDENT:this.items.push(Q.SINGLE_INDENT);break;default:t.startsWith(`-`)&&this.lastItemEndsWith(`-`)&&this.items.push(Q.SPACE),this.items.push(t)}}lastItemEndsWith(e){let t=z(this.items);return typeof t==`string`&&t.endsWith(e)}trimHorizontalWhitespace(){for(;_i(z(this.items));)this.items.pop()}trimWhitespace(){for(;vi(z(this.items));)this.items.pop()}addNewline(e){if(this.items.length>0)switch(z(this.items)){case Q.NEWLINE:this.items.pop(),this.items.push(e);break;case Q.MANDATORY_NEWLINE:break;default:this.items.push(e);break}}addIndentation(){for(let e=0;e<this.indentation.getLevel();e++)this.items.push(Q.SINGLE_INDENT)}toString(){return this.items.map(e=>this.itemToString(e)).join(``)}getLayoutItems(){return this.items}isAtStartOfLine(){for(let e=this.items.length-1;e>=0;e--){let t=this.items[e];if(t!==Q.SINGLE_INDENT)return t===Q.NEWLINE||t===Q.MANDATORY_NEWLINE}return!1}itemToString(e){switch(e){case Q.SPACE:return` `;case Q.NEWLINE:case Q.MANDATORY_NEWLINE:return`
|
|
16
|
+
`;case Q.SINGLE_INDENT:return this.indentation.getSingleIndent();default:return e}}},_i=e=>e===Q.SPACE||e===Q.SINGLE_INDENT,vi=e=>e===Q.SPACE||e===Q.SINGLE_INDENT||e===Q.NEWLINE;function yi(e,t){if(t===`standard`)return e;let n=[];return e.length>=10&&e.includes(` `)&&([e,...n]=e.split(` `)),e=t===`tabularLeft`?e.padEnd(9,` `):e.padStart(9,` `),e+[``,...n].join(` `)}function bi(e){return yn(e)||e===L.RESERVED_CLAUSE||e===L.RESERVED_SELECT||e===L.RESERVED_SET_OPERATION||e===L.RESERVED_JOIN||e===L.LIMIT}var xi=`top-level`,Si=`block-level`,Ci=class{constructor(e){this.indent=e,this.indentTypes=[]}getSingleIndent(){return this.indent}getLevel(){return this.indentTypes.length}increaseTopLevel(){this.indentTypes.push(xi)}increaseBlockLevel(){this.indentTypes.push(Si)}decreaseTopLevel(){this.indentTypes.length>0&&z(this.indentTypes)===xi&&this.indentTypes.pop()}decreaseBlockLevel(){for(;this.indentTypes.length>0&&this.indentTypes.pop()===xi;);}},wi=class extends gi{constructor(e){super(new Ci(``)),this.expressionWidth=e,this.length=0,this.trailingSpace=!1}add(...e){if(e.forEach(e=>this.addToLength(e)),this.length>this.expressionWidth)throw new Ti;super.add(...e)}addToLength(e){if(typeof e==`string`)this.length+=e.length,this.trailingSpace=!1;else if(e===Q.MANDATORY_NEWLINE||e===Q.NEWLINE)throw new Ti;else e===Q.INDENT||e===Q.SINGLE_INDENT||e===Q.SPACE?this.trailingSpace||=(this.length++,!0):(e===Q.NO_NEWLINE||e===Q.NO_SPACE)&&this.trailingSpace&&(this.trailingSpace=!1,this.length--)}},Ti=class extends Error{},Ei=class e{constructor({cfg:e,dialectCfg:t,params:n,layout:r,inline:i=!1,enclosingParenthesis:a}){this.inline=!1,this.nodes=[],this.index=-1,this.cfg=e,this.dialectCfg=t,this.inline=i,this.params=n,this.layout=r,this.enclosingParenthesis=a}format(e){for(this.nodes=e,this.index=0;this.index<this.nodes.length;this.index++)this.formatNode(this.nodes[this.index]);return this.layout}formatNode(e){this.formatComments(e.leadingComments),this.formatNodeWithoutComments(e),this.formatComments(e.trailingComments)}formatNodeWithoutComments(e){switch(e.type){case K.function_call:return this.formatFunctionCall(e);case K.parameterized_data_type:return this.formatParameterizedDataType(e);case K.array_subscript:return this.formatArraySubscript(e);case K.property_access:return this.formatPropertyAccess(e);case K.parenthesis:return this.formatParenthesis(e);case K.between_predicate:return this.formatBetweenPredicate(e);case K.case_expression:return this.formatCaseExpression(e);case K.case_when:return this.formatCaseWhen(e);case K.case_else:return this.formatCaseElse(e);case K.clause:return this.formatClause(e);case K.set_operation:return this.formatSetOperation(e);case K.limit_clause:return this.formatLimitClause(e);case K.all_columns_asterisk:return this.formatAllColumnsAsterisk(e);case K.literal:return this.formatLiteral(e);case K.identifier:return this.formatIdentifier(e);case K.parameter:return this.formatParameter(e);case K.operator:return this.formatOperator(e);case K.comma:return this.formatComma(e);case K.line_comment:return this.formatLineComment(e);case K.block_comment:return this.formatBlockComment(e);case K.disable_comment:return this.formatBlockComment(e);case K.data_type:return this.formatDataType(e);case K.keyword:return this.formatKeywordNode(e)}}formatFunctionCall(e){this.withComments(e.nameKw,()=>{this.layout.add(this.showFunctionKw(e.nameKw))}),this.formatNode(e.parenthesis)}formatParameterizedDataType(e){this.withComments(e.dataType,()=>{this.layout.add(this.showDataType(e.dataType))}),this.formatNode(e.parenthesis)}formatArraySubscript(e){let t;switch(e.array.type){case K.data_type:t=this.showDataType(e.array);break;case K.keyword:t=this.showKw(e.array);break;default:t=this.showIdentifier(e.array);break}this.withComments(e.array,()=>{this.layout.add(t)}),this.formatNode(e.parenthesis)}formatPropertyAccess(e){this.formatNode(e.object),this.layout.add(Q.NO_SPACE,e.operator),this.formatNode(e.property)}formatParenthesis(e){let t=this.formatInlineExpression(e.children,e.openParen);t?(this.layout.add(e.openParen),this.layout.add(...t.getLayoutItems()),this.layout.add(Q.NO_SPACE,e.closeParen,Q.SPACE)):(this.layout.add(e.openParen,Q.NEWLINE),W(this.cfg)?(this.layout.add(Q.INDENT),this.layout=this.formatSubExpression(e.children,e.openParen)):(this.layout.indentation.increaseBlockLevel(),this.layout.add(Q.INDENT),this.layout=this.formatSubExpression(e.children,e.openParen),this.layout.indentation.decreaseBlockLevel()),this.layout.add(Q.NEWLINE,Q.INDENT,e.closeParen,Q.SPACE))}formatBetweenPredicate(e){this.layout.add(this.showKw(e.betweenKw),Q.SPACE),this.layout=this.formatSubExpression(e.expr1),this.layout.add(Q.NO_SPACE,Q.SPACE,this.showNonTabularKw(e.andKw),Q.SPACE),this.layout=this.formatSubExpression(e.expr2),this.layout.add(Q.NO_SPACE,Q.SPACE)}formatCaseExpression(e){this.formatNode(e.caseKw),this.layout.indentation.increaseBlockLevel(),this.layout=this.formatSubExpression(e.expr),this.layout=this.formatSubExpression(e.clauses),this.layout.indentation.decreaseBlockLevel(),this.layout.add(Q.NEWLINE,Q.INDENT),this.formatNode(e.endKw)}formatCaseWhen(e){this.layout.add(Q.NEWLINE,Q.INDENT),this.formatNode(e.whenKw),this.layout=this.formatSubExpression(e.condition),this.formatNode(e.thenKw),this.layout=this.formatSubExpression(e.result)}formatCaseElse(e){this.layout.add(Q.NEWLINE,Q.INDENT),this.formatNode(e.elseKw),this.layout=this.formatSubExpression(e.result)}formatClause(e){this.isOnelineClause(e)?this.formatClauseInOnelineStyle(e):W(this.cfg)?this.formatClauseInTabularStyle(e):this.formatClauseInIndentedStyle(e)}isOnelineClause(e){return W(this.cfg)?this.dialectCfg.tabularOnelineClauses[e.nameKw.text]:this.dialectCfg.onelineClauses[e.nameKw.text]}formatClauseInIndentedStyle(e){this.layout.add(Q.NEWLINE,Q.INDENT,this.showKw(e.nameKw),Q.NEWLINE),this.layout.indentation.increaseTopLevel(),this.layout.add(Q.INDENT),this.layout=this.formatSubExpression(e.children),this.layout.indentation.decreaseTopLevel()}formatClauseInOnelineStyle(e){this.layout.add(Q.NEWLINE,Q.INDENT,this.showKw(e.nameKw),Q.SPACE),this.layout=this.formatSubExpression(e.children)}formatClauseInTabularStyle(e){this.layout.add(Q.NEWLINE,Q.INDENT,this.showKw(e.nameKw),Q.SPACE),this.layout.indentation.increaseTopLevel(),this.layout=this.formatSubExpression(e.children),this.layout.indentation.decreaseTopLevel()}formatSetOperation(e){this.layout.add(Q.NEWLINE,Q.INDENT,this.showKw(e.nameKw),Q.NEWLINE),this.layout.add(Q.INDENT),this.layout=this.formatSubExpression(e.children)}formatLimitClause(e){this.withComments(e.limitKw,()=>{this.layout.add(Q.NEWLINE,Q.INDENT,this.showKw(e.limitKw))}),this.layout.indentation.increaseTopLevel(),W(this.cfg)?this.layout.add(Q.SPACE):this.layout.add(Q.NEWLINE,Q.INDENT),e.offset?(this.layout=this.formatSubExpression(e.offset),this.layout.add(Q.NO_SPACE,`,`,Q.SPACE),this.layout=this.formatSubExpression(e.count)):this.layout=this.formatSubExpression(e.count),this.layout.indentation.decreaseTopLevel()}formatAllColumnsAsterisk(e){this.layout.add(`*`,Q.SPACE)}formatLiteral(e){this.layout.add(e.text,Q.SPACE)}formatIdentifier(e){this.layout.add(this.showIdentifier(e),Q.SPACE)}formatParameter(e){this.layout.add(this.params.get(e),Q.SPACE)}formatOperator({text:e}){e===`-`&&this.dialectCfg.identifierDashes||/^OPERATOR\s*\(/iu.test(e)?this.layout.add(e,Q.SPACE):this.cfg.denseOperators||this.dialectCfg.alwaysDenseOperators.includes(e)||e===`:`&&this.enclosingParenthesis===`[`?this.layout.add(Q.NO_SPACE,e):e===`:`?this.layout.add(Q.NO_SPACE,e,Q.SPACE):this.layout.add(e,Q.SPACE)}formatComma(e){this.inline?this.layout.add(Q.NO_SPACE,`,`,Q.SPACE):this.layout.add(Q.NO_SPACE,`,`,Q.NEWLINE,Q.INDENT)}withComments(e,t){this.formatComments(e.leadingComments),t(),this.formatComments(e.trailingComments)}formatComments(e){e&&e.forEach(e=>{e.type===K.line_comment?this.formatLineComment(e):this.formatBlockComment(e)})}formatLineComment(e){_r(e.precedingWhitespace||``)?this.layout.add(Q.NEWLINE,Q.INDENT,e.text,Q.MANDATORY_NEWLINE,Q.INDENT):this.layout.getLayoutItems().length>0?this.layout.add(Q.NO_NEWLINE,Q.SPACE,e.text,Q.MANDATORY_NEWLINE,Q.INDENT):this.layout.add(e.text,Q.MANDATORY_NEWLINE,Q.INDENT)}formatBlockComment(e){e.type===K.block_comment&&this.isStandaloneBlockComment(e)?(this.splitBlockComment(e.text).forEach(e=>{this.layout.add(Q.NEWLINE,Q.INDENT,e)}),this.layout.add(Q.NEWLINE,Q.INDENT)):this.layout.add(e.text,Q.SPACE)}isStandaloneBlockComment(e){return _r(e.text)||_r(e.precedingWhitespace||``)||this.layout.isAtStartOfLine()}isDocComment(e){let t=e.split(/\n/);return/^\/\*\*?$/.test(t[0])&&t.slice(1,t.length-1).every(e=>/^\s*\*/.test(e))&&/^\s*\*\/$/.test(z(t))}splitBlockComment(e){return this.isDocComment(e)?e.split(/\n/).map(e=>/^\s*\*/.test(e)?` `+e.replace(/^\s*/,``):e):e.split(/\n/).map(e=>e.replace(/^\s*/,``))}formatSubExpression(t,n=this.enclosingParenthesis){return new e({cfg:this.cfg,dialectCfg:this.dialectCfg,params:this.params,layout:this.layout,inline:this.inline,enclosingParenthesis:n}).format(t)}formatInlineExpression(t,n=this.enclosingParenthesis){let r=this.params.getPositionalParameterIndex();try{return new e({cfg:this.cfg,dialectCfg:this.dialectCfg,params:this.params,layout:new wi(this.cfg.expressionWidth),inline:!0,enclosingParenthesis:n}).format(t)}catch(e){if(e instanceof Ti){this.params.setPositionalParameterIndex(r);return}else throw e}}formatKeywordNode(e){switch(e.tokenType){case L.RESERVED_JOIN:return this.formatJoin(e);case L.AND:case L.OR:case L.XOR:return this.formatLogicalOperator(e);default:return this.formatKeyword(e)}}formatJoin(e){W(this.cfg)?(this.layout.indentation.decreaseTopLevel(),this.layout.add(Q.NEWLINE,Q.INDENT,this.showKw(e),Q.SPACE),this.layout.indentation.increaseTopLevel()):this.layout.add(Q.NEWLINE,Q.INDENT,this.showKw(e),Q.SPACE)}formatKeyword(e){this.layout.add(this.showKw(e),Q.SPACE)}formatLogicalOperator(e){this.cfg.logicalOperatorNewline===`before`?W(this.cfg)?(this.layout.indentation.decreaseTopLevel(),this.layout.add(Q.NEWLINE,Q.INDENT,this.showKw(e),Q.SPACE),this.layout.indentation.increaseTopLevel()):this.layout.add(Q.NEWLINE,Q.INDENT,this.showKw(e),Q.SPACE):this.layout.add(this.showKw(e),Q.NEWLINE,Q.INDENT)}formatDataType(e){this.layout.add(this.showDataType(e),Q.SPACE)}showKw(e){return bi(e.tokenType)?yi(this.showNonTabularKw(e),this.cfg.indentStyle):this.showNonTabularKw(e)}showNonTabularKw(e){switch(this.cfg.keywordCase){case`preserve`:return gr(e.raw);case`upper`:return e.text;case`lower`:return e.text.toLowerCase()}}showFunctionKw(e){return bi(e.tokenType)?yi(this.showNonTabularFunctionKw(e),this.cfg.indentStyle):this.showNonTabularFunctionKw(e)}showNonTabularFunctionKw(e){switch(this.cfg.functionCase){case`preserve`:return gr(e.raw);case`upper`:return e.text;case`lower`:return e.text.toLowerCase()}}showIdentifier(e){if(e.quoted)return e.text;switch(this.cfg.identifierCase){case`preserve`:return e.text;case`upper`:return e.text.toUpperCase();case`lower`:return e.text.toLowerCase()}}showDataType(e){switch(this.cfg.dataTypeCase){case`preserve`:return gr(e.raw);case`upper`:return e.text;case`lower`:return e.text.toLowerCase()}}},Di=class{constructor(e,t){this.dialect=e,this.cfg=t,this.params=new qr(this.cfg.params)}format(e){let t=this.parse(e);return this.formatAst(t).trimEnd()}parse(e){return hi(this.dialect.tokenizer).parse(e,this.cfg.paramTypes||{})}formatAst(e){return e.map(e=>this.formatStatement(e)).join(`
|
|
17
|
+
`.repeat(this.cfg.linesBetweenQueries+1))}formatStatement(e){let t=new Ei({cfg:this.cfg,dialectCfg:this.dialect.formatOptions,params:this.params,layout:new gi(new Ci(Kr(this.cfg)))}).format(e.children);return e.hasSemicolon&&(this.cfg.newlineBeforeSemicolon?t.add(Q.NEWLINE,`;`):t.add(Q.NO_NEWLINE,`;`)),t.toString()}},Oi=class extends Error{};function ki(e){for(let t of[`multilineLists`,`newlineBeforeOpenParen`,`newlineBeforeCloseParen`,`aliasAs`,`commaPosition`,`tabulateAlias`])if(t in e)throw new Oi(`${t} config is no more supported.`);if(e.expressionWidth<=0)throw new Oi(`expressionWidth config must be positive number. Received ${e.expressionWidth} instead.`);if(e.params&&!Ai(e.params)&&console.warn(`WARNING: All "params" option values should be strings.`),e.paramTypes&&!ji(e.paramTypes))throw new Oi(`Empty regex given in custom paramTypes. That would result in matching infinite amount of parameters.`);return e}function Ai(e){return(e instanceof Array?e:Object.values(e)).every(e=>typeof e==`string`)}function ji(e){return e.custom&&Array.isArray(e.custom)?e.custom.every(e=>e.regex!==``):!0}var Mi=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n},Ni={tabWidth:2,useTabs:!1,keywordCase:`preserve`,identifierCase:`preserve`,dataTypeCase:`preserve`,functionCase:`preserve`,indentStyle:`standard`,logicalOperatorNewline:`before`,expressionWidth:50,linesBetweenQueries:1,denseOperators:!1,newlineBeforeSemicolon:!1},Pi=(e,t)=>{var{dialect:n}=t,r=Mi(t,[`dialect`]);if(typeof e!=`string`)throw Error(`Invalid query argument. Expected string, instead got `+typeof e);let i=ki(Object.assign(Object.assign({},Ni),r));return new Di(Ur(n),i).format(e)},Fi={postgres:nr,mysql:Wn,mariadb:Mn,sqlite:mr},Ii=5e5;function Li(e){let t=0;for(let n=e.indexOf(`
|
|
18
|
+
`);n!==-1;n=e.indexOf(`
|
|
19
|
+
`,n+1))t++;return t}function Ri(e,t,n){if(!e.trim())return e;let r;try{r=Pi(e,{dialect:t,tabWidth:2})}catch(e){let t=(e instanceof Error?e.message:String(e)).split(`
|
|
20
|
+
`)[0];throw Error(t.replace(/at line (\d+)/,(e,t)=>`at line ${Number(t)+n}`))}let i=e.slice(0,e.length-e.trimStart().length),a=e.slice(e.trimEnd().length);return`
|
|
21
|
+
`.repeat(Li(i))+r+`
|
|
22
|
+
`.repeat(Li(a))}function zi(e,t){if(e.length>5e5)throw Error(`The script is longer than ${Ii.toLocaleString(`en-US`)} characters.`);let n=Fi[t],r=``,i=0,a=`;`,o=t=>{let o=e.slice(i,t);r+=a===`;`?Ri(o,n,Li(e.slice(0,i))):o};for(let n of He(e,ve(t)))o(n.start),r+=e.slice(n.start,n.end),i=n.end,a=n.delimiter;return o(e.length),r}var Bi=80,Vi=`@max-[1120px]:hidden`,$=`@max-[1020px]:hidden`,Hi=`@max-[720px]:hidden`;function Ui(e){let t=e?.rowLimit;return typeof t==`number`&&Je.includes(t)?t:Ye}var Wi={script:`script`,selection:`selection`,statement:`statement`};function Gi({metadata:e,tabId:t}){let n=Fe(e,t),r=oe(),i=Jt(e),o=i?Zt(i):typeof e?.queryNumber==`number`?`Query ${e.queryNumber}`:`Query`,c=Ui(e),l=e?.continueOnError===!0,p=yt(n.target,{maxRows:c,continueOnError:l}),{run:m}=p,_=ae(e=>e.updateTab),v=(0,M.useRef)(e);v.current=e;let b=(0,M.useCallback)(e=>{t&&pe(t,e)},[t]),x=(0,M.useRef)(typeof e?.currentSql==`string`?e.currentSql:``),[ne]=(0,M.useState)(x.current),C=(0,M.useCallback)(e=>{x.current=e,b({currentSql:e})},[b]),[T,E]=(0,M.useState)(null),ie=(0,M.useCallback)(e=>{p.running||(t&&Ne(t)>0?E(e):p.start(e))},[p.running,p.start,t]),D=(0,M.useCallback)((e,t)=>{e&&ie({sql:e.sql,lineOffset:e.lineOffset,kind:t??Wi[e.from]})},[ie]);(0,M.useEffect)(()=>{if(v.current?.runOnOpen!==!0||!n.target)return;let{runOnOpen:e,...r}=v.current;t&&_(t,{metadata:r}),p.start({sql:x.current,lineOffset:0,kind:`script`})},[n.target]);let O=(0,M.useRef)(null),k=We(n.target),se=(0,M.useCallback)(e=>O.current?.revealLine(e),[]),[ce,le]=(0,M.useState)(null),ue=mt(m,ce&&m&&ce.runId===m.runId?ce.key:null),de=(0,M.useCallback)(e=>{m&&le({runId:m.runId,key:e})},[m]),fe=(0,M.useCallback)(e=>{if(r||!n.target||!et(e,n.dialect))return;let t=n.target;return()=>{Oe(Te({target:t,schema:null},``,e))}},[r,n.target,n.dialect]),ge=m?.done&&m.kind!==`explain`&&m.tabs.length===1?ft(m,m.tabs[0]):null,_e=ge?fe(ge.result.sql):void 0,ve=(0,M.useCallback)(e=>{let r=m?ft(m,e):null;if(!m||!r)return null;let i=m.kind===`explain`?void 0:fe(r.result.sql),a=i?{busy:!1,advanced:i}:void 0;return(0,P.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col`,onKeyDown:e=>{!i||e.altKey||e.shiftKey||!(e.ctrlKey||e.metaKey)||e.key.toLowerCase()!==`e`||(e.preventDefault(),e.stopPropagation(),i())},children:(0,P.jsx)(Mt,{tab:e,result:r.result,set:r.set,target:n.target,readonly:n.readonly,explain:m.kind===`explain`,connectionName:n.name,dialect:n.dialect,tabId:t,rereading:p.rereading===e.key,exporter:a,onSave:(t,r)=>p.saveChangesIn(e.key,t.table,t.schema,r,n.place)})})},[m,fe,n.target,n.readonly,n.name,n.dialect,n.place,t,p.rereading,p.saveChangesIn]),[ye,be]=(0,M.useState)(220),xe=(0,M.useRef)(null),Se=e=>{e.preventDefault();let t=e.clientY,n=ye,r=(xe.current?.clientHeight??600)-100,i=e=>be(Math.max(Bi,Math.min(n+e.clientY-t,r))),a=()=>{window.removeEventListener(`pointermove`,i),window.removeEventListener(`pointerup`,a)};window.addEventListener(`pointermove`,i),window.addEventListener(`pointerup`,a)},[Ce,we]=(0,M.useState)(!1),Ee=(0,M.useCallback)((e,n)=>{t&&_(t,Qt(me(t),e,n))},[t,_]),De=rn({tabId:t,keys:!r,title:o,savedPath:i,sql:()=>x.current,onSaved:Ee}),ke=(0,M.useRef)(null),Ae=Ge(ke,860),[je,Me]=(0,M.useState)(null),Pe=!r&&!!n.target&&(je??!Ae),Ve=(0,M.useCallback)(e=>{O.current?.insertText(e),Ae&&Me(!1)},[Ae]);if(n.missing)return(0,P.jsx)(Re,{empty:`This connection no longer exists.`});let He=re(n.target,n.name),j=!!n.target&&!p.running,Ke=()=>O.current?.runScript(),qe=()=>O.current?.runAtCursor(),Je=()=>D(O.current?.selectionOrStatement()??null,`explain`),Ye=n.dbType,Xe=()=>{if(Ye)try{O.current?.reformat(e=>zi(e,Ye))}catch(e){S.error(`Could not format the SQL`,{description:e instanceof Error?e.message:String(e)})}};return(0,P.jsxs)(`div`,{ref:ke,className:`flex h-full w-full flex-col overflow-hidden`,children:[(0,P.jsx)(Be,{title:o,subtitle:He,color:n.conn?.color??e?.connectionColor,children:(0,P.jsx)(`button`,{type:`button`,onClick:()=>we(!0),"aria-label":`Run options`,className:`grid size-11 shrink-0 place-items-center rounded-md text-text-2`,children:(0,P.jsx)(u,{className:`size-5`})})}),(0,P.jsxs)(Le,{label:o,children:[(0,P.jsx)(St,{target:n.target,conn:n.conn,fileName:n.name,metadata:e,tabId:t}),(0,P.jsxs)(`div`,{className:`@container flex min-w-0 flex-1 items-center gap-0.5 max-md:gap-1`,children:[(0,P.jsx)(`span`,{"aria-hidden":!0,className:`mx-1 h-4 w-px shrink-0 bg-border max-md:hidden`}),(0,P.jsxs)(`button`,{type:`button`,onClick:Ke,disabled:!j,title:`Run the whole script, or the selection (${A(`F5`)})`,className:`flex h-7 shrink-0 items-center gap-1.5 rounded bg-primary px-2.5 text-xs font-medium text-primary-foreground can-hover:hover:opacity-90 disabled:opacity-50 max-md:hidden`,children:[(0,P.jsx)(y,{className:`size-4`}),`Run`,(0,P.jsx)(`kbd`,{className:w(`rounded bg-black/15 px-1 font-mono text-[10px]`,Vi),children:`F5`})]}),(0,P.jsxs)(`button`,{type:`button`,onClick:qe,disabled:!j,title:`Run the statement at the cursor (${A(`Mod+Enter`)}, also ${A(`Mod+Shift+Enter`)})`,className:w(Ie,`max-md:hidden`),children:[(0,P.jsx)(d,{className:`size-4 shrink-0`}),(0,P.jsx)(`span`,{className:Hi,children:`Current statement`}),(0,P.jsx)(`kbd`,{className:w(`rounded border border-border px-1 font-mono text-[10px] text-text-subtle`,Vi),children:A(`Mod+Enter`)})]}),(0,P.jsx)(ze,{icon:s,label:`Stop`,title:it(n.dialect),onClick:()=>void p.stop(),disabled:!p.running||p.stopping,className:`max-md:hidden`,labelClassName:$}),(0,P.jsx)(ze,{icon:te,label:`Save`,onClick:De.save,className:`max-md:hidden`,labelClassName:$,title:`${i?`Save the SQL to ${i}`:`Save the SQL to a .sql file`} (${A(`Mod+S`)})`}),(0,P.jsx)(ze,{icon:f,label:`Format`,title:`Format the SQL (${A(`Shift+Alt+F`)})`,onClick:Xe,disabled:!Ye,className:`max-md:hidden`,labelClassName:$}),(0,P.jsx)(`span`,{"aria-hidden":!0,className:`mx-1 h-4 w-px shrink-0 bg-border max-md:hidden`}),(0,P.jsx)(ze,{icon:a,label:`Explain`,title:`EXPLAIN the selection, or the statement at the cursor — without ANALYZE, which would run it`,onClick:Je,disabled:!j,className:`max-md:hidden`,labelClassName:$}),(0,P.jsxs)(`label`,{className:w(Ie,`cursor-pointer max-md:hidden`),title:`Go on with the statements after one that fails`,children:[(0,P.jsx)(`input`,{type:`checkbox`,checked:l,onChange:e=>b({continueOnError:e.target.checked}),className:`size-3.5 accent-[var(--accent)]`}),(0,P.jsx)(`span`,{className:Hi,children:`Continue on error`})]}),(0,P.jsx)(`span`,{className:`flex-1`}),(0,P.jsx)(Ki,{value:c,onChange:e=>b({rowLimit:e}),className:`max-md:hidden`}),!r&&(0,P.jsx)(ze,{icon:g,label:`Export result`,opensTab:!0,onClick:()=>_e?.(),disabled:!_e,title:_e?`Export the result to a file, in the Import/Export tab`:`Export needs a run with one result, of a statement that only reads`,labelClassName:$,arrowClassName:$}),!r&&(0,P.jsxs)(`button`,{type:`button`,onClick:()=>Me(!Pe),"aria-pressed":Pe,disabled:!n.target,title:`Query history: what was run on this connection`,"aria-label":`History`,className:w(Ie,Pe&&`bg-accent-wash text-primary can-hover:hover:bg-accent-wash can-hover:hover:text-primary`),children:[(0,P.jsx)(h,{className:`size-4 shrink-0`}),(0,P.jsx)(`span`,{className:$,children:`History`})]})]})]}),(0,P.jsxs)(`div`,{className:`relative flex min-h-0 flex-1 overflow-hidden`,children:[(0,P.jsxs)(`div`,{ref:xe,className:`flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden`,children:[(0,P.jsx)(`div`,{className:w(`shrink-0`,r&&`h-[38%]`),style:r?void 0:{height:ye},children:(0,P.jsx)(Ue,{onExecute:e=>D(e),loading:p.running,defaultValue:ne,persistedSql:ne,onSqlChange:C,schemaInfo:k,dialect:n.dialect,handleRef:O,queryTab:!0,errorLines:m?.errorLines,onFormat:Xe})}),(0,P.jsx)(`div`,{role:`separator`,"aria-orientation":`horizontal`,"aria-label":`Resize the editor`,onPointerDown:Se,className:`flex h-1.5 shrink-0 cursor-row-resize touch-none items-center justify-center bg-border/50 can-hover:hover:bg-primary/30 max-md:hidden`,children:(0,P.jsx)(ee,{className:`size-3 text-text-subtle/50`})}),(0,P.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden border-t border-border md:border-t-0`,children:p.driverMissing?(0,P.jsx)(Re,{driver:p.driverMissing}):m?(0,P.jsx)(Ot,{run:m,shown:ue,onPick:de,onShowLine:se,onStop:()=>void p.stop(),stopping:p.stopping,renderResult:ve}):(0,P.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-1 p-4 text-center text-xs text-text-subtle`,children:[(0,P.jsx)(`span`,{children:`Run a statement to see its result`}),(0,P.jsxs)(`span`,{className:`max-md:hidden`,children:[A(`F5`),` runs the script or the selection · `,A(`Mod+Enter`),` runs the statement at the cursor`]})]})})]}),Pe&&n.target&&(0,P.jsx)(qt,{target:n.target,refreshKey:p.ended,floating:Ae,onPick:Ve,onClose:()=>Me(!1)})]}),(0,P.jsx)(`div`,{className:`flex shrink-0 gap-2 border-t border-border bg-panel-2 p-2 pb-[max(0.5rem,env(safe-area-inset-bottom))] md:hidden`,children:p.running?(0,P.jsxs)(`button`,{type:`button`,onClick:()=>void p.stop(),disabled:p.stopping,className:`flex h-11 flex-1 items-center justify-center gap-2 rounded-md bg-destructive text-sm font-medium text-destructive-foreground disabled:opacity-60`,children:[(0,P.jsx)(s,{className:`size-4`}),p.stopping?`Stopping…`:`Stop`]}):(0,P.jsxs)(P.Fragment,{children:[(0,P.jsxs)(`button`,{type:`button`,onClick:Ke,disabled:!j,className:`flex h-11 shrink-0 items-center justify-center gap-2 rounded-md border border-border px-3.5 text-sm text-text-2 disabled:opacity-50`,children:[(0,P.jsx)(y,{className:`size-4`}),`Whole script`]}),(0,P.jsxs)(`button`,{type:`button`,onClick:qe,disabled:!j,className:`flex h-11 flex-1 items-center justify-center gap-2 rounded-md bg-primary text-sm font-medium text-primary-foreground disabled:opacity-50`,children:[(0,P.jsx)(d,{className:`size-4`}),`Run current statement`]})]})}),(0,P.jsx)(he,{open:Ce,onClose:()=>we(!1),children:(0,P.jsxs)(`div`,{className:`space-y-1 px-4 pb-4`,role:`dialog`,"aria-label":`Run options`,children:[(0,P.jsx)(`h2`,{className:`pb-2 text-base font-semibold`,children:`Run options`}),(0,P.jsxs)(`label`,{className:`flex min-h-11 items-center justify-between gap-3 text-sm`,children:[`Rows per result`,(0,P.jsx)(Ki,{value:c,onChange:e=>b({rowLimit:e})})]}),(0,P.jsxs)(`label`,{className:`flex min-h-11 items-center justify-between gap-3 text-sm`,children:[`Continue on error`,(0,P.jsx)(`input`,{type:`checkbox`,checked:l,onChange:e=>b({continueOnError:e.target.checked}),className:`size-5 accent-[var(--accent)]`})]}),(0,P.jsx)(`p`,{className:`text-xs text-text-subtle`,children:`A statement that fails stops the script, unless Continue on error is on.`})]})}),T&&(0,P.jsx)(It,{onCancel:()=>E(null),onDiscard:()=>{let e=T;E(null),p.start(e)}}),De.dialogs]})}function Ki({value:e,onChange:t,className:n}){let r=(0,M.useMemo)(()=>Je.map(e=>({n:e,label:`≤ ${e.toLocaleString(`en-US`)} rows`})),[]);return(0,P.jsxs)(`span`,{className:w(`relative flex shrink-0`,n),children:[(0,P.jsx)(`select`,{"aria-label":`Most rows per result`,title:`Most rows each result keeps`,value:e,onChange:e=>t(Number(e.target.value)),className:`h-[26px] appearance-none rounded-[5px] border border-border bg-input pr-[26px] pl-2 text-xs text-foreground outline-none focus:border-primary max-md:h-11 max-md:text-sm`,children:r.map(e=>(0,P.jsx)(`option`,{value:e.n,children:e.label},e.n))}),(0,P.jsx)(c,{"aria-hidden":!0,className:`pointer-events-none absolute top-1/2 right-1.5 size-3.5 -translate-y-1/2 text-text-subtle`})]})}export{Gi as QueryTab};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./chunk-XZSTWKYB-BpHDY2Kb.js";import{n as e}from"./chunk-L3YUKLVL-EJ6HIENH.js";export{e as createRadarServices};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./html-BfSqT2Ng.js";import t from"./csharp-Dpjw9ZA9.js";var n=Object.freeze(JSON.parse(`{"displayName":"ASP.NET Razor","fileTypes":["razor","cshtml"],"injections":{"source.cs":{"patterns":[{"include":"#inline-template"}]},"string.quoted.double.html":{"patterns":[{"include":"#explicit-razor-expression"},{"include":"#implicit-expression"}]},"string.quoted.single.html":{"patterns":[{"include":"#explicit-razor-expression"},{"include":"#implicit-expression"}]}},"name":"razor","patterns":[{"include":"#razor-control-structures"},{"include":"text.html.basic"}],"repository":{"addTagHelper-directive":{"captures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.addTagHelper"},"3":{"patterns":[{"include":"#tagHelper-directive-argument"}]}},"match":"(@)(addTagHelper)\\\\s+([^$]+)?","name":"meta.directive"},"attribute-directive":{"begin":"(@)(attribute)\\\\b\\\\s+","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.attribute"}},"end":"(?<=])|$","name":"meta.directive","patterns":[{"include":"source.cs#attribute-section"}]},"await-prefix":{"match":"(await)\\\\s+","name":"keyword.other.await.cs"},"balanced-brackets-csharp":{"begin":"(\\\\[)","beginCaptures":{"1":{"name":"punctuation.squarebracket.open.cs"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.squarebracket.close.cs"}},"name":"razor.test.balanced.brackets","patterns":[{"include":"source.cs"}]},"balanced-parenthesis-csharp":{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.parenthesis.open.cs"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.parenthesis.close.cs"}},"name":"razor.test.balanced.parenthesis","patterns":[{"include":"source.cs"}]},"catch-clause":{"begin":"(?:^|(?<=}))\\\\s*(catch)\\\\b\\\\s*?(?=[\\\\n({])","beginCaptures":{"1":{"name":"keyword.control.try.catch.cs"}},"end":"(?<=})|(?<=;)|(?=^\\\\s*})","name":"meta.statement.catch.razor","patterns":[{"include":"#catch-condition"},{"include":"source.cs#when-clause"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"catch-condition":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"captures":{"1":{"patterns":[{"include":"source.cs#type"}]},"6":{"name":"entity.name.variable.local.cs"}},"match":"(?<type-name>(?:(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?<name-and-type-args>\\\\g<identifier>\\\\s*(?<type-args>\\\\s*<(?:[^<>]|\\\\g<type-args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name-and-type-args>)*|(?<tuple>\\\\s*\\\\((?:[^()]|\\\\g<tuple>)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*)*)\\\\s*(?:(\\\\g<identifier>)\\\\b)?"}]},"code-directive":{"begin":"(@)(code)((?=\\\\{)|\\\\s+)","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.code"}},"end":"(?<=})|\\\\s","patterns":[{"include":"#directive-codeblock"}]},"csharp-code-block":{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"punctuation.curlybrace.open.cs"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.curlybrace.close.cs"}},"name":"meta.structure.razor.csharp.codeblock","patterns":[{"include":"#razor-codeblock-body"}]},"csharp-condition":{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.parenthesis.open.cs"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"source.cs#local-variable-declaration"},{"include":"source.cs#expression"},{"include":"source.cs#punctuation-comma"},{"include":"source.cs#punctuation-semicolon"}]},"directive-codeblock":{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"keyword.control.razor.directive.codeblock.open"}},"contentName":"source.cs","end":"(})","endCaptures":{"1":{"name":"keyword.control.razor.directive.codeblock.close"}},"name":"meta.structure.razor.directive.codeblock","patterns":[{"include":"source.cs#class-or-struct-members"}]},"directive-markupblock":{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"keyword.control.razor.directive.codeblock.open"}},"end":"(})","endCaptures":{"1":{"name":"keyword.control.razor.directive.codeblock.close"}},"name":"meta.structure.razor.directive.markblock","patterns":[{"include":"$self"}]},"directives":{"patterns":[{"include":"#code-directive"},{"include":"#functions-directive"},{"include":"#page-directive"},{"include":"#addTagHelper-directive"},{"include":"#removeTagHelper-directive"},{"include":"#tagHelperPrefix-directive"},{"include":"#model-directive"},{"include":"#inherits-directive"},{"include":"#implements-directive"},{"include":"#namespace-directive"},{"include":"#inject-directive"},{"include":"#attribute-directive"},{"include":"#section-directive"},{"include":"#layout-directive"},{"include":"#using-directive"},{"include":"#rendermode-directive"},{"include":"#preservewhitespace-directive"},{"include":"#typeparam-directive"}]},"do-statement":{"begin":"(@)(do)\\\\b\\\\s","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.loop.do.cs"}},"end":"(?<=})|(?<=;)|(?=^\\\\s*})","name":"meta.statement.do.razor","patterns":[{"include":"#csharp-condition"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"do-statement-with-optional-transition":{"begin":"(?:^\\\\s*|(@))(do)\\\\b\\\\s","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.loop.do.cs"}},"end":"(?<=})|(?<=;)|(?=^\\\\s*})","name":"meta.statement.do.razor","patterns":[{"include":"#csharp-condition"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"else-part":{"begin":"(?:^|(?<=}))\\\\s*(else)\\\\b\\\\s*?(?: (if))?\\\\s*?(?=[\\\\n({])","beginCaptures":{"1":{"name":"keyword.control.conditional.else.cs"},"2":{"name":"keyword.control.conditional.if.cs"}},"end":"(?<=})|(?<=;)|(?=^\\\\s*})","name":"meta.statement.else.razor","patterns":[{"include":"#csharp-condition"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"escaped-transition":{"match":"@@","name":"constant.character.escape.razor.transition"},"explicit-razor-expression":{"begin":"(@)\\\\(","beginCaptures":{"0":{"name":"keyword.control.cshtml"},"1":{"patterns":[{"include":"#transition"}]}},"end":"\\\\)","endCaptures":{"0":{"name":"keyword.control.cshtml"}},"name":"meta.expression.explicit.cshtml","patterns":[{"include":"source.cs#expression"}]},"finally-clause":{"begin":"(?:^|(?<=}))\\\\s*(finally)\\\\b\\\\s*?(?=[\\\\n{])","beginCaptures":{"1":{"name":"keyword.control.try.finally.cs"}},"end":"(?<=})|(?<=;)|(?=^\\\\s*})","name":"meta.statement.finally.razor","patterns":[{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"for-statement":{"begin":"(@)(for)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.loop.for.cs"}},"end":"(?<=})|(?<=;)|(?=^\\\\s*})","name":"meta.statement.for.razor","patterns":[{"include":"#csharp-condition"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"for-statement-with-optional-transition":{"begin":"(?:^\\\\s*|(@))(for)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.loop.for.cs"}},"end":"(?<=})|(?<=;)|(?=^\\\\s*})","name":"meta.statement.for.razor","patterns":[{"include":"#csharp-condition"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"foreach-condition":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"captures":{"1":{"name":"keyword.other.var.cs"},"2":{"patterns":[{"include":"source.cs#type"}]},"7":{"name":"entity.name.variable.local.cs"},"8":{"name":"keyword.control.loop.in.cs"}},"match":"(?:\\\\b(var)\\\\b|(?<type-name>(?:(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?<name-and-type-args>\\\\g<identifier>\\\\s*(?<type-args>\\\\s*<(?:[^<>]|\\\\g<type-args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name-and-type-args>)*|(?<tuple>\\\\s*\\\\((?:[^()]|\\\\g<tuple>)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*)*))\\\\s+(\\\\g<identifier>)\\\\s+\\\\b(in)\\\\b"},{"captures":{"1":{"name":"keyword.other.var.cs"},"2":{"patterns":[{"include":"source.cs#tuple-declaration-deconstruction-element-list"}]},"3":{"name":"keyword.control.loop.in.cs"}},"match":"(?:\\\\b(var)\\\\b\\\\s*)?(?<tuple>\\\\((?:[^()]|\\\\g<tuple>)+\\\\))\\\\s+\\\\b(in)\\\\b"},{"include":"source.cs#expression"}]},"foreach-statement":{"begin":"(@)(await\\\\s+)?(foreach)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"patterns":[{"include":"#await-prefix"}]},"3":{"name":"keyword.control.loop.foreach.cs"}},"end":"(?<=})|(?<=;)|(?=^\\\\s*})","name":"meta.statement.foreach.razor","patterns":[{"include":"#foreach-condition"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"foreach-statement-with-optional-transition":{"begin":"(?:^\\\\s*|(@)(await\\\\s+)?)(foreach)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"patterns":[{"include":"#await-prefix"}]},"3":{"name":"keyword.control.loop.foreach.cs"}},"end":"(?<=})|(?<=;)|(?=^\\\\s*})","name":"meta.statement.foreach.razor","patterns":[{"include":"#foreach-condition"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"functions-directive":{"begin":"(@)(functions)((?=\\\\{)|\\\\s+)","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.functions"}},"end":"(?<=})|\\\\s","patterns":[{"include":"#directive-codeblock"}]},"if-statement":{"begin":"(@)(if)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.conditional.if.cs"}},"end":"(?<=})|(?<=;)|(?=^\\\\s*})","name":"meta.statement.if.razor","patterns":[{"include":"#csharp-condition"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"if-statement-with-optional-transition":{"begin":"(?:^\\\\s*|(@))(if)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.conditional.if.cs"}},"end":"(?<=})|(?<=;)|(?=^\\\\s*})","name":"meta.statement.if.razor","patterns":[{"include":"#csharp-condition"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"implements-directive":{"captures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.implements"},"3":{"patterns":[{"include":"source.cs#type"}]}},"match":"(@)(implements)\\\\s+([^$]+)?","name":"meta.directive"},"implicit-expression":{"begin":"(?<![[:alpha:][:alnum:]])(@)","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]}},"contentName":"source.cs","end":"(?=[]\\"')<>{}\\\\s])","name":"meta.expression.implicit.cshtml","patterns":[{"include":"#await-prefix"},{"include":"#implicit-expression-body"}]},"implicit-expression-accessor":{"match":"(?<=\\\\.)[_[:alpha:]][_[:alnum:]]*","name":"variable.other.object.property.cs"},"implicit-expression-accessor-start":{"begin":"([_[:alpha:]][_[:alnum:]]*)","beginCaptures":{"1":{"name":"variable.other.object.cs"}},"end":"(?=[]\\"')<>{}\\\\s])","patterns":[{"include":"#implicit-expression-continuation"}]},"implicit-expression-body":{"end":"(?=[]\\"')<>{}\\\\s])","patterns":[{"include":"#implicit-expression-invocation-start"},{"include":"#implicit-expression-accessor-start"}]},"implicit-expression-continuation":{"end":"(?=[]\\"')<>{}\\\\s])","patterns":[{"include":"#balanced-parenthesis-csharp"},{"include":"#balanced-brackets-csharp"},{"include":"#implicit-expression-invocation"},{"include":"#implicit-expression-accessor"},{"include":"#implicit-expression-extension"}]},"implicit-expression-dot-operator":{"captures":{"1":{"name":"punctuation.accessor.cs"}},"match":"(\\\\.)(?=[_[:alpha:]][_[:alnum:]]*)"},"implicit-expression-invocation":{"match":"(?<=\\\\.)[_[:alpha:]][_[:alnum:]]*(?=\\\\()","name":"entity.name.function.cs"},"implicit-expression-invocation-start":{"begin":"([_[:alpha:]][_[:alnum:]]*)(?=\\\\()","beginCaptures":{"1":{"name":"entity.name.function.cs"}},"end":"(?=[]\\"')<>{}\\\\s])","patterns":[{"include":"#implicit-expression-continuation"}]},"implicit-expression-null-conditional-operator":{"captures":{"1":{"name":"keyword.operator.null-conditional.cs"}},"match":"(\\\\?)(?=[.\\\\[])"},"implicit-expression-null-forgiveness-operator":{"captures":{"1":{"name":"keyword.operator.logical.cs"}},"match":"(!)(?=\\\\.[_[:alpha:]][_[:alnum:]]*|[(?\\\\[])"},"implicit-expression-operator":{"patterns":[{"include":"#implicit-expression-dot-operator"},{"include":"#implicit-expression-null-conditional-operator"},{"include":"#implicit-expression-null-forgiveness-operator"}]},"inherits-directive":{"captures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.inherits"},"3":{"patterns":[{"include":"source.cs#type"}]}},"match":"(@)(inherits)\\\\s+([^$]+)?","name":"meta.directive"},"inject-directive":{"captures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.inject"},"3":{"patterns":[{"include":"source.cs#type"}]},"4":{"name":"entity.name.variable.property.cs"}},"match":"(@)(inject)\\\\s*([\\\\S\\\\s]+?)?\\\\s*([_[:alpha:]][_[:alnum:]]*)?\\\\s*(?=$)","name":"meta.directive"},"inline-template":{"patterns":[{"include":"#inline-template-void-tag"},{"include":"#inline-template-non-void-tag"}]},"inline-template-non-void-tag":{"begin":"(@)(<)(!)?([^/>\\\\s]+)(?=\\\\s|/?>)","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"punctuation.definition.tag.begin.html"},"3":{"name":"constant.character.escape.razor.tagHelperOptOut"},"4":{"name":"entity.name.tag.html"}},"end":"(</)(\\\\4)\\\\s*(>)|(/>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"punctuation.definition.tag.end.html"},"4":{"name":"punctuation.definition.tag.end.html"}},"patterns":[{"begin":"(?<=>)(?!$)","end":"(?=</)","patterns":[{"include":"#inline-template"},{"include":"#wellformed-html"},{"include":"#razor-control-structures"}]},{"include":"#razor-control-structures"},{"include":"text.html.basic#attribute"}]},"inline-template-void-tag":{"begin":"(?i)(@)(<)(!)?(area|base|br|col|command|embed|hr|img|input|keygen|link|meta|param|source|track|wbr)(?=\\\\s|/?>)","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"punctuation.definition.tag.begin.html"},"3":{"name":"constant.character.escape.razor.tagHelperOptOut"},"4":{"name":"entity.name.tag.html"}},"end":"/?>","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.structure.$4.void.html","patterns":[{"include":"#razor-control-structures"},{"include":"text.html.basic#attribute"}]},"layout-directive":{"captures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.layout"},"3":{"patterns":[{"include":"source.cs#type"}]}},"match":"(@)(layout)\\\\s+([^$]+)?","name":"meta.directive"},"lock-statement":{"begin":"(@)(lock)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.other.lock.cs"}},"end":"(?<=})|(?<=;)|(?=^\\\\s*})","name":"meta.statement.lock.razor","patterns":[{"include":"#csharp-condition"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"lock-statement-with-optional-transition":{"begin":"(?:^\\\\s*|(@))(lock)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.other.lock.cs"}},"end":"(?<=})|(?<=;)|(?=^\\\\s*})","name":"meta.statement.lock.razor","patterns":[{"include":"#csharp-condition"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"model-directive":{"captures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.model"},"3":{"patterns":[{"include":"source.cs#type"}]}},"match":"(@)(model)\\\\s+([^$]+)?","name":"meta.directive"},"namespace-directive":{"captures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.namespace"},"3":{"patterns":[{"include":"#namespace-directive-argument"}]}},"match":"(@)(namespace)\\\\s+(\\\\S+)?","name":"meta.directive"},"namespace-directive-argument":{"captures":{"1":{"name":"entity.name.type.namespace.cs"},"2":{"name":"punctuation.accessor.cs"}},"match":"([_[:alpha:]][_[:alnum:]]*)(\\\\.)?"},"non-void-tag":{"begin":"(?=<(!)?([^/>\\\\s]+)(\\\\s|/?>))","end":"(</)(\\\\2)\\\\s*(>)|(/>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"punctuation.definition.tag.end.html"},"4":{"name":"punctuation.definition.tag.end.html"}},"patterns":[{"begin":"(<)(!)?([^/>\\\\s]+)(?=\\\\s|/?>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"constant.character.escape.razor.tagHelperOptOut"},"3":{"name":"entity.name.tag.html"}},"end":"(?=/?>)","patterns":[{"include":"#razor-control-structures"},{"include":"text.html.basic#attribute"}]},{"begin":">","beginCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"end":"(?=</)","patterns":[{"include":"#wellformed-html"},{"include":"$self"}]}]},"optionally-transitioned-csharp-control-structures":{"patterns":[{"include":"#using-statement-with-optional-transition"},{"include":"#if-statement-with-optional-transition"},{"include":"#else-part"},{"include":"#foreach-statement-with-optional-transition"},{"include":"#for-statement-with-optional-transition"},{"include":"#while-statement"},{"include":"#switch-statement-with-optional-transition"},{"include":"#lock-statement-with-optional-transition"},{"include":"#do-statement-with-optional-transition"},{"include":"#try-statement-with-optional-transition"}]},"optionally-transitioned-razor-control-structures":{"patterns":[{"include":"#razor-comment"},{"include":"#razor-codeblock"},{"include":"#explicit-razor-expression"},{"include":"#escaped-transition"},{"include":"#directives"},{"include":"#optionally-transitioned-csharp-control-structures"},{"include":"#implicit-expression"}]},"page-directive":{"captures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.page"},"3":{"patterns":[{"include":"source.cs#string-literal"}]}},"match":"(@)(page)\\\\s+([^$]+)?","name":"meta.directive"},"preservewhitespace-directive":{"captures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.preservewhitespace"},"3":{"patterns":[{"include":"source.cs#boolean-literal"}]}},"match":"(@)(preservewhitespace)\\\\s+([^$]+)?","name":"meta.directive"},"razor-codeblock":{"begin":"(@)(\\\\{)","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.codeblock.open"}},"contentName":"source.cs","end":"(})","endCaptures":{"1":{"name":"keyword.control.razor.directive.codeblock.close"}},"name":"meta.structure.razor.codeblock","patterns":[{"include":"#razor-codeblock-body"}]},"razor-codeblock-body":{"patterns":[{"include":"#text-tag"},{"include":"#inline-template"},{"include":"#wellformed-html"},{"include":"#razor-single-line-markup"},{"include":"#optionally-transitioned-razor-control-structures"},{"include":"source.cs"}]},"razor-comment":{"begin":"(@)(\\\\*)","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.comment.star"}},"contentName":"comment.block.razor","end":"(\\\\*)(@)","endCaptures":{"1":{"name":"keyword.control.razor.comment.star"},"2":{"patterns":[{"include":"#transition"}]}},"name":"meta.comment.razor"},"razor-control-structures":{"patterns":[{"include":"#razor-comment"},{"include":"#razor-codeblock"},{"include":"#explicit-razor-expression"},{"include":"#escaped-transition"},{"include":"#directives"},{"include":"#transitioned-csharp-control-structures"},{"include":"#implicit-expression"}]},"razor-single-line-markup":{"captures":{"1":{"name":"keyword.control.razor.singleLineMarkup"},"2":{"patterns":[{"include":"#razor-control-structures"},{"include":"text.html.basic"}]}},"match":"(@:)([^$]*)$"},"removeTagHelper-directive":{"captures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.removeTagHelper"},"3":{"patterns":[{"include":"#tagHelper-directive-argument"}]}},"match":"(@)(removeTagHelper)\\\\s+([^$]+)?","name":"meta.directive"},"rendermode-directive":{"captures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.rendermode"},"3":{"patterns":[{"include":"source.cs#type"}]}},"match":"(@)(rendermode)\\\\s+([^$]+)?","name":"meta.directive"},"section-directive":{"begin":"(@)(section)\\\\b\\\\s+([_[:alpha:]][_[:alnum:]]*)?","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.section"},"3":{"name":"variable.other.razor.directive.sectionName"}},"end":"(?<=})","name":"meta.directive.block","patterns":[{"include":"#directive-markupblock"}]},"switch-code-block":{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"punctuation.curlybrace.open.cs"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.curlybrace.close.cs"}},"name":"meta.structure.razor.csharp.codeblock.switch","patterns":[{"include":"source.cs#switch-label"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"switch-statement":{"begin":"(@)(switch)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.switch.cs"}},"end":"(?<=})|(?<=;)|(?=^\\\\s*})","name":"meta.statement.switch.razor","patterns":[{"include":"#csharp-condition"},{"include":"#switch-code-block"},{"include":"#razor-codeblock-body"}]},"switch-statement-with-optional-transition":{"begin":"(?:^\\\\s*|(@))(switch)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.switch.cs"}},"end":"(?<=})|(?<=;)|(?=^\\\\s*})","name":"meta.statement.switch.razor","patterns":[{"include":"#csharp-condition"},{"include":"#switch-code-block"},{"include":"#razor-codeblock-body"}]},"tagHelper-directive-argument":{"patterns":[{"include":"source.cs#string-literal"},{"include":"#unquoted-string-argument"}]},"tagHelperPrefix-directive":{"captures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.tagHelperPrefix"},"3":{"patterns":[{"include":"#tagHelper-directive-argument"}]}},"match":"(@)(tagHelperPrefix)\\\\s+([^$]+)?","name":"meta.directive"},"text-tag":{"begin":"(<text\\\\s*>)","beginCaptures":{"1":{"name":"keyword.control.cshtml.transition.textTag.open"}},"end":"(</text>)","endCaptures":{"1":{"name":"keyword.control.cshtml.transition.textTag.close"}},"patterns":[{"include":"#wellformed-html"},{"include":"$self"}]},"transition":{"match":"@","name":"keyword.control.cshtml.transition"},"transitioned-csharp-control-structures":{"patterns":[{"include":"#using-statement"},{"include":"#if-statement"},{"include":"#else-part"},{"include":"#foreach-statement"},{"include":"#for-statement"},{"include":"#while-statement"},{"include":"#switch-statement"},{"include":"#lock-statement"},{"include":"#do-statement"},{"include":"#try-statement"}]},"try-block":{"begin":"(@)(try)\\\\b\\\\s*","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.try.cs"}},"end":"(?<=})|(?<=;)|(?=^\\\\s*})","name":"meta.statement.try.razor","patterns":[{"include":"#csharp-condition"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"try-block-with-optional-transition":{"begin":"(?:^\\\\s*|(@))(try)\\\\b\\\\s*","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.try.cs"}},"end":"(?<=})|(?<=;)|(?=^\\\\s*})","name":"meta.statement.try.razor","patterns":[{"include":"#csharp-condition"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"try-statement":{"patterns":[{"include":"#try-block"},{"include":"#catch-clause"},{"include":"#finally-clause"}]},"try-statement-with-optional-transition":{"patterns":[{"include":"#try-block-with-optional-transition"},{"include":"#catch-clause"},{"include":"#finally-clause"}]},"typeparam-directive":{"captures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.typeparam"},"3":{"patterns":[{"include":"source.cs#type"}]}},"match":"(@)(typeparam)\\\\s+([^$]+)?","name":"meta.directive"},"unquoted-string-argument":{"match":"[^$]+","name":"string.quoted.double.cs"},"using-alias-directive":{"captures":{"1":{"name":"entity.name.type.alias.cs"},"2":{"name":"keyword.operator.assignment.cs"},"3":{"patterns":[{"include":"source.cs#type"}]}},"match":"([_[:alpha:]][_[:alnum:]]*)\\\\b\\\\s*(=)\\\\s*(.+)\\\\s*"},"using-directive":{"captures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.other.using.cs"},"3":{"patterns":[{"include":"#using-static-directive"},{"include":"#using-alias-directive"},{"include":"#using-standard-directive"}]},"4":{"name":"keyword.control.razor.optionalSemicolon"}},"match":"(@)(using)\\\\b\\\\s+(?![(\\\\s])(.+?)?(;)?$","name":"meta.directive"},"using-standard-directive":{"captures":{"1":{"name":"entity.name.type.namespace.cs"}},"match":"([_[:alpha:]][_[:alnum:]]*)\\\\s*"},"using-statement":{"begin":"(@)(using)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.other.using.cs"}},"end":"(?<=})|(?<=;)|(?=^\\\\s*})","name":"meta.statement.using.razor","patterns":[{"include":"#csharp-condition"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"using-statement-with-optional-transition":{"begin":"(?:^\\\\s*|(@))(using)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.other.using.cs"}},"end":"(?<=})|(?<=;)|(?=^\\\\s*})","name":"meta.statement.using.razor","patterns":[{"include":"#csharp-condition"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"using-static-directive":{"captures":{"1":{"name":"keyword.other.static.cs"},"2":{"patterns":[{"include":"source.cs#type"}]}},"match":"(static)\\\\b\\\\s+(.+)"},"void-tag":{"begin":"(?i)(<)(!)?(area|base|br|col|command|embed|hr|img|input|keygen|link|meta|param|source|track|wbr)(?=\\\\s|/?>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"constant.character.escape.razor.tagHelperOptOut"},"3":{"name":"entity.name.tag.html"}},"end":"/?>","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.structure.$3.void.html","patterns":[{"include":"text.html.basic#attribute"}]},"wellformed-html":{"patterns":[{"include":"#void-tag"},{"include":"#non-void-tag"}]},"while-statement":{"begin":"(?:(@)|^\\\\s*|(?<=})\\\\s*)(while)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.loop.while.cs"}},"end":"(?<=})|(;)","endCaptures":{"1":{"name":"punctuation.terminator.statement.cs"}},"name":"meta.statement.while.razor","patterns":[{"include":"#csharp-condition"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]}},"scopeName":"text.aspnetcorerazor","embeddedLangs":["html","csharp"]}`)),r=[...e,...t,n];export{r as default};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{s as e}from"./rolldown-runtime-C5c2KzVm.js";import{C as t,S as n}from"./vendor-markdown-QKPNiWEd.js";import"./vendor-ui-CS1GvlOm.js";import{A as r,Cn as i,gt as a,hr as o,j as s,pr as c,qr as l,ut as u,wn as d,xn as f}from"./icons-JMA45Ifw.js";import{k as p,n as m,r as h}from"./api-client-OiA8Ida1.js";import{n as g}from"./utils-Bslrbb-G.js";import"./portal-container-context-BXAsDqrB.js";import"./window-store-o2qUlxU1.js";import"./panel-store-DFurR27n.js";import"./project-store-CEGoLMOl.js";import"./project-framework-store-Bi5dyHdx.js";import"./session-list-sync-triggers-DitiR5h1.js";import"./tab-store-C8Zyikmj.js";import"./use-is-mobile-BXHbkfs9.js";import"./settings-categories-CcR9eL3x.js";import{t as _}from"./open-settings-CJ-BQ5Co.js";import{r as v}from"./clipboard-D-VCry-F.js";import{t as y}from"./button-DR4_Bprq.js";import"./dialog-DLrqSaHA.js";import"./mobile-bottom-sheet-BdF6oawx.js";import"./use-visual-viewport-CHm9umK0.js";import{Cn as b,Dn as x,En as S,Hn as ee,On as C,Sr as w,Tn as T,a as E,an as D,i as O,kn as k,xn as A}from"./index-6UiaKItX.js";import"./run-in-terminal-z_H3VtlO.js";import{t as j}from"./run-in-terminal-button-C-ensVoK.js";var M=e(t(),1),N={state:()=>h.get(`/api/tailscale/state`),login:()=>h.post(`/api/tailscale/login`),cancelLogin:()=>h.post(`/api/tailscale/login/cancel`),setService:e=>h.post(`/api/tailscale/service`,e)};function P(e){return e.installed?e.backendState===null?`start`:e.canManage===!1?`operator`:e.backendState===`Running`?!e.magicDns||!e.httpsCertificates?`dns`:e.device?.tags.length?e.service.defined?null:`service`:`tag`:`sign-in`:`install`}function F(e){let t=P(e);return t===`service`?null:t}var I=/^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$/;function L(e){return e?e.length>63?`Use at most 63 characters.`:I.test(e)?null:`Use lowercase letters, digits and dashes, starting and ending with a letter or digit.`:`Enter a name.`}var R={dns:`https://login.tailscale.com/admin/dns`,accessControls:`https://login.tailscale.com/admin/acls/file`,machines:`https://login.tailscale.com/admin/machines`,services:`https://login.tailscale.com/admin/services`},z=n(),B=[`install`,`start`,`operator`,`sign-in`,`dns`,`tag`,`service`],V={install:`Install Tailscale`,start:`Start Tailscale`,operator:`Let PPM manage Tailscale`,"sign-in":`Sign in to Tailscale`,dns:`Turn on MagicDNS and HTTPS`,tag:`Tag this machine`,service:`Create the service`},H={darwin:`https://tailscale.com/download/mac`,win32:`https://tailscale.com/download/windows`},U=`curl -fsSL https://tailscale.com/install.sh | sh`,te=`sudo systemctl enable --now tailscaled`,W=e=>`sudo tailscale set --operator=${/^[\w.@-]+$/.test(e)?e:`'${e.replace(/'/g,`'\\''`)}'`}`,G=`tag:ppm`,ne=e=>`"tagOwners": {\n "${e}": ["autogroup:admin"]\n}`;function re({state:e,onRefresh:t,onSignIn:n,onShowSignIn:r}){let i=P(e),a=i?B.indexOf(i):B.length,s=B.filter(t=>t===`start`?i===`start`:t===`operator`?e.platform===`linux`:!0),c=e=>B.indexOf(e)<a?`done`:e===i?`current`:`todo`,l=(0,z.jsxs)(y,{variant:`outline`,onClick:t,className:`min-h-11 cursor-pointer md:min-h-9`,children:[(0,z.jsx)(o,{className:`size-3.5`}),`Check again`]}),u=e.device?.name||`this machine`,p=e.service.name,m=e.osUser&&e.osUser!==`root`?` && ${W(e.osUser)}`:``,h=`${U}${m}`,_=`${te}${m}`,v=`PPM types it into a terminal on this machine; press Enter there and give your password once.`,b={install:()=>e.platform===`linux`?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(K,{children:[`This installs Tailscale, starts it`,m?` and lets PPM manage it`:``,`. `,v]}),(0,z.jsx)(C,{code:h}),(0,z.jsxs)(J,{children:[(0,z.jsx)(j,{command:h,label:`Install in terminal`}),l]})]}):(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(K,{children:`Install the Tailscale app on the machine PPM runs on and open it once.`}),(0,z.jsxs)(J,{children:[(0,z.jsx)(k,{href:H[e.platform]??`https://tailscale.com/download`,children:`Download Tailscale`}),l]})]}),start:()=>e.platform===`linux`?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(K,{children:[`Tailscale is installed, but its service is not running. `,v]}),(0,z.jsx)(C,{code:_}),(0,z.jsxs)(J,{children:[(0,z.jsx)(j,{command:_,label:`Start in terminal`}),l]})]}):(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(K,{children:`Tailscale is installed, but not running. Open the Tailscale app on this machine.`}),(0,z.jsx)(J,{children:l})]}),operator:()=>(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(K,{children:[`On Linux, Tailscale only takes changes from root and from one user it trusts. PPM runs as `,(0,z.jsx)(q,{children:e.osUser}),`, which has to be named once. `,v]}),(0,z.jsx)(C,{code:W(e.osUser)}),(0,z.jsxs)(J,{children:[(0,z.jsx)(j,{command:W(e.osUser),label:`Run in terminal`}),l]})]}),"sign-in":()=>{if(e.login.state===`starting`||e.login.state===`waiting`)return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(K,{children:`Waiting for you to finish signing in.`}),(0,z.jsx)(J,{children:(0,z.jsx)(y,{onClick:r,className:`min-h-11 cursor-pointer md:min-h-9`,children:`Show sign-in link`})})]});if(e.backendState===`NeedsMachineAuth`)return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(K,{children:[`Signed in. An admin has to approve `,u,` before it joins the tailnet.`]}),(0,z.jsxs)(J,{children:[(0,z.jsx)(k,{href:R.machines,children:`Open machines`}),l]})]});if(e.backendState===`Starting`)return(0,z.jsxs)(K,{children:[(0,z.jsx)(f,{className:`mr-2 inline size-4 animate-spin`}),`Connecting to Tailscale…`]});let t=e.backendState===`Stopped`;return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(K,{children:t?`Tailscale is turned off on this machine.`:`Sign this machine in with the account that owns your tailnet.`}),(0,z.jsx)(J,{children:(0,z.jsxs)(y,{onClick:n,className:`min-h-11 cursor-pointer md:min-h-9`,children:[(0,z.jsx)(d,{className:`size-4`}),t?`Turn on`:`Sign in`]})})]})},dns:()=>(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(K,{children:[`In `,(0,z.jsx)(`b`,{children:`DNS`}),`, turn on `,(0,z.jsx)(`b`,{children:`MagicDNS`}),`, then choose `,(0,z.jsx)(`b`,{children:`Enable HTTPS`}),` under HTTPS Certificates. Every .ts.net address needs both.`]}),(0,z.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`MagicDNS `,e.magicDns?`on`:`off`,` · HTTPS `,e.httpsCertificates?`on`:`off`]}),(0,z.jsxs)(J,{children:[(0,z.jsx)(k,{href:R.dns,children:`Open DNS settings`}),l]})]}),tag:()=>(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(K,{children:`Tailscale only lets a tagged machine host a service.`}),(0,z.jsxs)(`ol`,{className:`list-decimal space-y-3 pl-5 text-sm leading-relaxed text-muted-foreground`,children:[(0,z.jsxs)(`li`,{className:`space-y-2`,children:[(0,z.jsxs)(`p`,{children:[`In `,(0,z.jsx)(`b`,{children:`Access controls`}),`, let admins hand out the tag (once per tailnet):`]}),(0,z.jsx)(C,{code:ne(G)}),(0,z.jsx)(k,{href:R.accessControls,children:`Open access controls`})]}),(0,z.jsxs)(`li`,{className:`space-y-2`,children:[(0,z.jsxs)(`p`,{children:[`In `,(0,z.jsx)(`b`,{children:`Machines`}),`, open the menu of `,u,`, choose `,(0,z.jsx)(`b`,{children:`Edit tags`}),` and add `,(0,z.jsx)(q,{children:G}),`.`]}),(0,z.jsx)(k,{href:R.machines,children:`Open machines`})]})]}),(0,z.jsx)(`p`,{className:`text-xs leading-relaxed text-muted-foreground`,children:`A tagged machine belongs to the tag rather than to your account.`}),(0,z.jsx)(J,{children:l})]}),service:()=>(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(K,{children:[`In `,(0,z.jsx)(`b`,{children:`Services`}),`, choose `,(0,z.jsx)(`b`,{children:`Advertise`}),`, then `,(0,z.jsx)(`b`,{children:`Define a Service`}),`: name it `,(0,z.jsx)(q,{children:p}),` and give it the port `,(0,z.jsx)(q,{children:`tcp:443`}),`.`]}),(0,z.jsx)(`p`,{className:`text-xs leading-relaxed text-muted-foreground`,children:`The address can be turned on before this; it then waits for the service and for an admin to approve this machine.`}),(0,z.jsxs)(J,{children:[(0,z.jsx)(k,{href:R.services,children:`Open services`}),l]})]})},x={operator:`PPM can change Tailscale's settings.`,"sign-in":e.device?.dnsName?`Signed in as ${e.device.dnsName}`:void 0,dns:`MagicDNS and HTTPS are on.`,tag:e.device?.tags.length?`Tagged ${e.device.tags.join(`, `)}`:void 0,service:`svc:${p} exists in your tailnet.`};return(0,z.jsx)(`ol`,{className:`space-y-1`,"data-testid":`tailscale-steps`,children:s.map((e,t)=>{let n=c(e);return(0,z.jsxs)(`li`,{className:`flex gap-3`,"data-step":e,"data-status":n,children:[(0,z.jsx)(ie,{n:t+1,status:n}),(0,z.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-2 pb-4`,children:[(0,z.jsx)(`div`,{className:g(`pt-0.5 text-sm`,n===`todo`?`text-muted-foreground`:`font-medium`),children:V[e]}),n===`done`&&x[e]&&(0,z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:x[e]}),n===`current`&&b[e]()]})]},e)})})}function ie({n:e,status:t}){return t===`done`?(0,z.jsx)(s,{className:`mt-0.5 size-5 shrink-0 text-success`}):(0,z.jsx)(`span`,{className:g(`mt-0.5 flex size-5 shrink-0 items-center justify-center rounded-full border text-[11px] font-medium`,t===`current`?`border-primary text-primary`:`border-border text-muted-foreground`),children:e})}function K({children:e}){return(0,z.jsx)(`p`,{className:`text-sm leading-relaxed text-muted-foreground`,children:e})}function q({children:e}){return(0,z.jsx)(`code`,{className:`rounded bg-muted px-1 py-0.5 text-xs text-foreground`,children:e})}function J({children:e}){return(0,z.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:e})}var Y=`text-sm leading-relaxed text-muted-foreground`;function ae({open:e,login:t,osUser:n,onRetry:r,onCancel:i,onClose:a}){let o=(0,z.jsx)(y,{variant:`outline`,onClick:a,className:`min-h-11 cursor-pointer md:min-h-9`,children:`Close`}),s=(0,z.jsx)(y,{onClick:r,className:`min-h-11 cursor-pointer md:min-h-9`,children:`Try again`}),c,l;if(t.state===`waiting`&&t.url)c=(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(`p`,{className:Y,children:`Sign in with the account that owns your tailnet. This machine joins as soon as you finish.`}),(0,z.jsxs)(`div`,{className:`flex flex-col items-center gap-2`,children:[(0,z.jsx)(`div`,{className:`rounded-lg p-3`,style:{backgroundColor:`#ffffff`,colorScheme:`light`},children:(0,z.jsx)(D,{value:t.url,size:168,bgColor:`#ffffff`,fgColor:`#000000`,level:`L`,style:{display:`block`}})}),(0,z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Or scan it with your phone`})]})]}),l=(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(y,{variant:`outline`,onClick:i,className:`min-h-11 cursor-pointer md:min-h-9`,children:`Cancel sign-in`}),(0,z.jsx)(k,{href:t.url,primary:!0,children:`Open sign-in page`})]});else if(t.state===`idle`||t.state===`starting`)c=(0,z.jsxs)(`p`,{className:`flex items-center gap-2 ${Y}`,children:[(0,z.jsx)(f,{className:`size-4 animate-spin`}),`Asking Tailscale for a sign-in link…`]}),l=(0,z.jsx)(y,{variant:`outline`,onClick:i,className:`min-h-11 cursor-pointer md:min-h-9`,children:`Cancel`});else if(t.state===`success`)c=(0,z.jsx)(`p`,{className:Y,children:`Signed in.`}),l=o;else if(t.state===`needs-approval`)c=(0,z.jsx)(`p`,{className:Y,children:`Signed in. An admin has to approve this machine before it joins the tailnet.`}),l=(0,z.jsxs)(z.Fragment,{children:[o,(0,z.jsx)(k,{href:R.machines,primary:!0,children:`Open machines`})]});else if(t.state===`needs-operator`){let e=W(n);c=(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(`p`,{className:Y,children:`Tailscale on this machine only takes changes from root and from one user it trusts. This has to be run once, with your password. PPM types it into a terminal; press Enter there, then sign in again.`}),(0,z.jsx)(C,{code:e})]}),l=(0,z.jsxs)(z.Fragment,{children:[o,(0,z.jsx)(y,{variant:`outline`,onClick:r,className:`min-h-11 cursor-pointer md:min-h-9`,children:`Try again`}),(0,z.jsx)(j,{command:e,label:`Run in terminal`,onRun:a})]})}else c=(0,z.jsx)(`p`,{className:Y,children:t.message??`The sign-in was cancelled.`}),l=(0,z.jsxs)(z.Fragment,{children:[o,s]});return(0,z.jsx)(x,{open:e,title:`Sign in to Tailscale`,onClose:a,children:(0,z.jsxs)(`div`,{className:`space-y-4`,"data-testid":`tailscale-sign-in`,children:[c,(0,z.jsx)(`div`,{className:`flex flex-col-reverse gap-2 pt-2 md:flex-row md:justify-end`,children:l})]})})}var oe=4e3,X=e=>e instanceof Error?e.message:String(e);function se(e){return e.login.state===`starting`||e.login.state===`waiting`||P(e)!==null||e.enabled&&!e.service.approved}function ce(e){if(!e)return!1;try{return new URL(e).hostname===window.location.hostname}catch{return!1}}function le(e){return e.enabled?e.backendState===`Running`?e.service.pointsAtPpm?e.service.approved?`On. Open it from any device signed in to your tailnet.`:`On, waiting for an admin to approve this machine.`:`On, but Tailscale is not serving it right now.`:`On, but this machine is not connected to Tailscale.`:`Off.`}function ue(){let[e,t]=(0,M.useState)(null),[n,r]=(0,M.useState)(null),[a,o]=(0,M.useState)(!1),[s,c]=(0,M.useState)(!1),[u,d]=(0,M.useState)(!1),[f,h]=(0,M.useState)(!1),[v,b]=(0,M.useState)(``),S=(0,M.useRef)(0),C=(0,M.useRef)(null),T=(0,M.useCallback)(e=>{S.current++,t(e),r(null)},[]),E=(0,M.useCallback)(e=>{S.current++,t(t=>t&&{...t,login:e})},[]),D=(0,M.useCallback)(async()=>{let e=++S.current;try{let n=await N.state();e===S.current&&(t(n),r(null))}catch(t){e===S.current&&r(X(t))}},[]);(0,M.useEffect)(()=>{D()},[D]),(0,M.useEffect)(()=>{let e=()=>void D(),t=()=>{document.visibilityState===`visible`&&D()};return window.addEventListener(`tailscale:changed`,e),window.addEventListener(`focus`,e),document.addEventListener(`visibilitychange`,t),()=>{window.removeEventListener(`tailscale:changed`,e),window.removeEventListener(`focus`,e),document.removeEventListener(`visibilitychange`,t)}},[D]);let O=!!e&&se(e);(0,M.useEffect)(()=>{if(!O)return;let e=setInterval(()=>{document.visibilityState===`visible`&&D()},oe);return()=>clearInterval(e)},[O,D]);let k=e?.service.name??``;(0,M.useEffect)(()=>{b(k)},[k]);let A=e?.login.state;(0,M.useEffect)(()=>{s&&A===`success`&&(c(!1),p.success(`Signed in to Tailscale`))},[s,A]);let j=async()=>{E({state:`starting`,url:null,message:null}),c(!0);try{E(await N.login())}catch(e){E({state:`error`,url:null,message:X(e)})}},I=async()=>{c(!1);try{E(await N.cancelLogin())}catch{}},R=L(v),B=()=>{!e||v===e.service.name||R||(C.current=(async()=>{o(!0);try{T(await N.setService({name:v}))}catch(t){p.error(`Could not rename the address`,{description:X(t)}),b(e.service.name)}finally{o(!1)}})())},V=async(e,t=!1)=>{await C.current,o(!0);try{T(await N.setService(e?{enabled:!0,replace:t}:{enabled:!1}))}catch(t){let n=t instanceof m?t.body?.code:void 0;e&&n===`conflict`?d(!0):p.error(e?`Could not turn the address on`:`Could not turn the address off`,{description:X(t)})}finally{o(!1)}};if(!e)return(0,z.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:n?`Could not read Tailscale's state: ${n}`:`Reading Tailscale's state…`});let H=F(e)!==null,U=e.backendState===`Running`,te=e.authEnabled&&!H&&!R,W=P(e)===null,G=(0,z.jsx)(re,{state:e,onRefresh:()=>void D(),onSignIn:()=>void j(),onShowSignIn:()=>c(!0)});return(0,z.jsxs)(`div`,{className:`space-y-6`,"data-testid":`tailscale-settings`,children:[(0,z.jsx)(`p`,{className:`text-sm leading-relaxed text-muted-foreground`,children:`Reach PPM at a private https address from any device signed in to your tailnet. Nothing is opened to the internet, and PPM still asks for its password.`}),(0,z.jsxs)(`section`,{className:`space-y-4 rounded-lg border border-border p-4`,"data-testid":`tailscale-address`,children:[(0,z.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,z.jsxs)(`div`,{className:`min-w-0 space-y-1`,children:[(0,z.jsx)(w,{htmlFor:`tailscale-address-switch`,className:`text-sm font-medium`,children:`Private address`}),(0,z.jsx)(`p`,{className:`text-sm leading-relaxed text-muted-foreground`,"data-testid":`tailscale-address-status`,children:le(e)})]}),(0,z.jsx)(`div`,{className:`flex min-h-11 shrink-0 items-center`,children:(0,z.jsx)(ee,{id:`tailscale-address-switch`,checked:e.enabled,disabled:a||!e.enabled&&!te,onCheckedChange:t=>{!t&&ce(e.service.url)?h(!0):V(t)}})})]}),e.enabled&&e.service.url?(0,z.jsx)(de,{url:e.service.url}):(0,z.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,z.jsx)(w,{htmlFor:`tailscale-service-name`,className:`text-xs text-muted-foreground`,children:`Address`}),(0,z.jsxs)(`div`,{className:g(`flex min-h-11 items-center rounded-md border border-input bg-background focus-within:border-ring focus-within:ring-[3px] focus-within:ring-ring/50`,R&&`border-destructive`),children:[(0,z.jsx)(`input`,{id:`tailscale-service-name`,value:v,onChange:e=>b(e.target.value.toLowerCase()),onBlur:B,onKeyDown:e=>{e.key===`Enter`&&e.currentTarget.blur()},disabled:a||e.enabled,"aria-invalid":!!R,spellCheck:!1,autoCapitalize:`none`,autoComplete:`off`,className:`w-20 min-w-20 flex-1 bg-transparent py-2 pl-3 text-sm outline-none`}),(0,z.jsxs)(`span`,{className:`min-w-0 truncate pr-3 text-sm text-muted-foreground`,children:[`.`,e.dnsSuffix??`your-tailnet.ts.net`]})]}),(0,z.jsx)(`p`,{className:g(`text-xs`,R?`text-destructive`:`text-muted-foreground`),children:R??(e.enabled?`Turn the address off to rename it.`:`The address keeps this name when the machine is renamed.`)})]}),!e.enabled&&!e.authEnabled&&(0,z.jsxs)(Q,{icon:(0,z.jsx)(i,{className:`size-4`}),children:[(0,z.jsx)(`p`,{children:`PPM's password is off. Turn it on first: anyone in your tailnet could otherwise open PPM.`}),(0,z.jsx)(y,{variant:`outline`,onClick:()=>_(`general`),className:`min-h-11 cursor-pointer md:min-h-9`,children:`Open General`})]}),!e.enabled&&e.authEnabled&&H&&(0,z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Finish the setup below to turn it on.`}),e.enabled&&U&&!e.service.pointsAtPpm&&(0,z.jsxs)(Q,{icon:(0,z.jsx)(l,{className:`size-4 text-warning`}),children:[(0,z.jsx)(`p`,{children:`Tailscale is not serving this address right now.`}),(0,z.jsx)(y,{variant:`outline`,onClick:()=>void V(!0),disabled:a,className:`min-h-11 cursor-pointer md:min-h-9`,children:`Apply again`})]}),e.enabled&&U&&e.service.pointsAtPpm&&!e.service.approved&&(0,z.jsx)(fe,{state:e})]}),W?(0,z.jsxs)(`details`,{className:`group`,children:[(0,z.jsx)(`summary`,{className:`flex min-h-11 cursor-pointer items-center text-sm font-medium`,children:`Setup: every step is done`}),(0,z.jsx)(`div`,{className:`pt-2`,children:G})]}):(0,z.jsxs)(`section`,{className:`space-y-3`,children:[(0,z.jsx)(`h3`,{className:`text-sm font-medium`,children:`Setup`}),G]}),(0,z.jsx)(ae,{open:s,login:e.login,osUser:e.osUser,onRetry:()=>void j(),onCancel:()=>void I(),onClose:()=>c(!1)}),(0,z.jsx)(x,{open:f,title:`Turn off the address you are using?`,onClose:()=>h(!1),children:(0,z.jsxs)(`div`,{className:`space-y-4`,children:[(0,z.jsxs)(`p`,{className:`text-sm leading-relaxed text-muted-foreground`,children:[`This page is open at `,e.service.url,`. Turning the address off disconnects it; reach PPM another way to turn it back on.`]}),(0,z.jsxs)(`div`,{className:`flex flex-col-reverse gap-2 pt-2 md:flex-row md:justify-end`,children:[(0,z.jsx)(y,{variant:`outline`,onClick:()=>h(!1),className:`min-h-11 cursor-pointer md:min-h-9`,children:`Cancel`}),(0,z.jsx)(y,{variant:`destructive`,onClick:()=>{h(!1),V(!1)},className:`min-h-11 cursor-pointer md:min-h-9`,children:`Turn off`})]})]})}),(0,z.jsx)(x,{open:u,title:`Replace svc:${e.service.name}?`,onClose:()=>d(!1),children:(0,z.jsxs)(`div`,{className:`space-y-4`,children:[(0,z.jsxs)(`p`,{className:`text-sm leading-relaxed text-muted-foreground`,children:[`On this machine, svc:`,e.service.name,` already serves `,(0,z.jsx)(`code`,{className:`text-xs text-foreground`,children:e.service.target??`something else`}),`. Replacing it points the address at PPM, and what it served stops answering there.`]}),(0,z.jsxs)(`div`,{className:`flex flex-col-reverse gap-2 pt-2 md:flex-row md:justify-end`,children:[(0,z.jsx)(y,{variant:`outline`,onClick:()=>d(!1),className:`min-h-11 cursor-pointer md:min-h-9`,children:`Cancel`}),(0,z.jsx)(y,{variant:`destructive`,onClick:()=>{d(!1),V(!0,!0)},className:`min-h-11 cursor-pointer md:min-h-9`,children:`Replace`})]})]})})]})}var Z=`flex size-11 shrink-0 cursor-pointer items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-surface-hover hover:text-foreground`;function de({url:e,qrHint:t=`Scan with a phone that is signed in to your tailnet`}){let[n,i]=(0,M.useState)(!1),[o,s]=(0,M.useState)(!1),l=async()=>{await v(e)&&(i(!0),setTimeout(()=>i(!1),1500))};return(0,z.jsxs)(`div`,{className:`space-y-3`,children:[(0,z.jsxs)(`div`,{className:`flex items-center rounded-md border border-border bg-muted pl-3`,"data-testid":`tailscale-address-url`,children:[(0,z.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-sm`,children:e}),(0,z.jsx)(`button`,{type:`button`,onClick:()=>void l(),"aria-label":`Copy address`,title:`Copy address`,className:Z,children:n?(0,z.jsx)(r,{className:`size-4 text-success`}):(0,z.jsx)(u,{className:`size-4`})}),(0,z.jsx)(`button`,{type:`button`,onClick:()=>s(e=>!e),"aria-label":`Show QR code`,"aria-pressed":o,title:`Show QR code`,className:g(Z,o&&`text-foreground`),children:(0,z.jsx)(c,{className:`size-4`})}),(0,z.jsx)(`a`,{href:e,target:`_blank`,rel:`noopener noreferrer`,"aria-label":`Open address`,title:`Open address`,className:Z,children:(0,z.jsx)(a,{className:`size-4`})})]}),o&&(0,z.jsxs)(`div`,{className:`flex flex-col items-center gap-2`,children:[(0,z.jsx)(`div`,{className:`rounded-lg p-3`,style:{backgroundColor:`#ffffff`,colorScheme:`light`},children:(0,z.jsx)(D,{value:e,size:168,bgColor:`#ffffff`,fgColor:`#000000`,level:`L`,style:{display:`block`}})}),(0,z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:t})]})]})}function fe({state:e}){let t=`svc:${e.service.name}`,n=e.device?.name||`this machine`,r=`"autoApprovers": {\n "services": {\n "${t}": ["${e.device?.tags[0]??`tag:ppm`}"]\n }\n}`;return(0,z.jsxs)(Q,{icon:(0,z.jsx)(l,{className:`size-4 text-warning`}),children:[(0,z.jsx)(`p`,{children:e.service.defined?(0,z.jsxs)(z.Fragment,{children:[`Waiting for approval. In `,(0,z.jsx)(`b`,{children:`Services`}),`, open `,t,` and approve `,n,` under Service hosts.`]}):(0,z.jsxs)(z.Fragment,{children:[`Waiting for the service. Create `,t,` in `,(0,z.jsx)(`b`,{children:`Services`}),` (the last step below), then approve `,n,` as its host.`]})}),(0,z.jsx)(k,{href:R.services,children:`Open services`}),(0,z.jsx)(`p`,{className:`pt-1`,children:`To approve machines with this tag automatically, add this to your access controls:`}),(0,z.jsx)(C,{code:r})]})}function Q({icon:e,children:t}){return(0,z.jsxs)(`div`,{className:`flex gap-3 rounded-md border border-border bg-muted px-4 py-3`,children:[(0,z.jsx)(`span`,{className:`mt-0.5 shrink-0 text-muted-foreground`,children:e}),(0,z.jsx)(`div`,{className:`min-w-0 flex-1 space-y-2 text-sm leading-relaxed text-muted-foreground`,children:t})]})}var pe=1e4,me=2e3,$=e=>e instanceof Error?e.message:String(e);function he(e){if(!e)return!1;try{return new URL(e).hostname===window.location.hostname}catch{return!1}}function ge(){let[e,t]=(0,M.useState)(null),[n,r]=(0,M.useState)(null),[a,o]=(0,M.useState)(!1),[s,c]=(0,M.useState)(!1),[u,d]=(0,M.useState)(!1),[m,h]=(0,M.useState)(!1),g=E(),v=(0,M.useCallback)(async()=>{try{t(await A.status()),r(null)}catch(e){r($(e))}},[]),S=e?e.enabled??!0:!1,C=S&&!!e&&!e.active;(0,M.useEffect)(()=>{v()},[v]),(0,M.useEffect)(()=>{let e=setInterval(()=>{document.visibilityState===`visible`&&v()},C?me:pe);return()=>clearInterval(e)},[C,v]),(0,M.useEffect)(()=>{let e=()=>{v(),g.refreshStatus()};return window.addEventListener(`focus`,e),()=>window.removeEventListener(`focus`,e)},[v,g.refreshStatus]);let T=async e=>{o(!0),t(t=>t&&{...t,enabled:e});try{await A.setEnabled(e),await v()}catch(n){t(t=>t&&{...t,enabled:!e}),p.error(e?`Could not turn the public link on`:`Could not turn the public link off`,{description:$(n)})}finally{o(!1)}},D=async()=>{d(!1),h(!0);try{await b.disable(),p.success(`Switched to a temporary address`),await Promise.all([g.refreshStatus(),v()])}catch(e){p.error(`Could not switch to a temporary address`,{description:$(e)})}finally{h(!1)}};if(!e)return(0,z.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:n?`Could not read the public link's state: ${n}`:`Reading the public link's state…`});let k=g.status,j=k?.authEnabled??!0,N=k?.mode??`quick`,P=N===`named`?k?.hostname??null:null,F=!!P&&window.location.hostname===P,I=g.step.k!==`hidden`&&g.step.k!==`ask-domain`,L=N===`named`&&k?.liveMode===`quick`;return(0,z.jsxs)(`div`,{className:`space-y-6`,"data-testid":`public-link-pane`,children:[(0,z.jsx)(`p`,{className:`text-sm leading-relaxed text-muted-foreground`,children:`Open PPM from anywhere through a public https link, served by Cloudflare. Anyone who has the link reaches PPM's sign-in page, so keep the password on. For a link only your own devices can open, use Tailscale instead.`}),(0,z.jsxs)(`section`,{className:`space-y-4 rounded-lg border border-border p-4`,"data-testid":`public-link-switch-card`,children:[(0,z.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,z.jsxs)(`div`,{className:`min-w-0 space-y-1`,children:[(0,z.jsx)(w,{htmlFor:`public-link-switch`,className:`text-sm font-medium`,children:`Public link`}),(0,z.jsx)(`p`,{className:`text-sm leading-relaxed text-muted-foreground`,"data-testid":`public-link-status`,children:S?C?`On. Waiting for Cloudflare to hand out the link…`:`On. Anyone with the link reaches PPM's sign-in page.`:`Off.`})]}),(0,z.jsxs)(`div`,{className:`flex min-h-11 shrink-0 items-center gap-2`,children:[(a||C)&&(0,z.jsx)(f,{className:`size-4 animate-spin text-muted-foreground`}),(0,z.jsx)(ee,{id:`public-link-switch`,checked:S,disabled:a||!S&&!j,onCheckedChange:t=>{!t&&he(e.url)?c(!0):T(t)}})]})]}),S&&e.url&&(0,z.jsx)(de,{url:e.url,qrHint:`Scan to open PPM on a phone`}),!j&&(0,z.jsxs)(Q,{icon:(0,z.jsx)(i,{className:`size-4`}),children:[(0,z.jsx)(`p`,{children:S?`PPM's password is off while the link is on: anyone who has the link can open PPM. Turn the password on, or the link off.`:`PPM's password is off. Turn it on first: anyone with the link could otherwise open PPM.`}),(0,z.jsx)(y,{variant:`outline`,onClick:()=>_(`general`),className:`min-h-11 cursor-pointer md:min-h-9`,children:`Open General`})]})]}),(0,z.jsxs)(`section`,{className:`space-y-3`,"data-testid":`public-link-address`,children:[(0,z.jsx)(`h3`,{className:`text-sm font-medium`,children:`Address`}),I?(0,z.jsx)(`div`,{className:`rounded-lg border border-border p-4`,children:(0,z.jsx)(O,{step:g.step,t:g})}):(0,z.jsxs)(`div`,{className:`divide-y divide-border rounded-lg border border-border`,children:[(0,z.jsx)(_e,{title:`Temporary address`,inUse:N===`quick`,description:`A random trycloudflare.com address. It changes every time PPM restarts.`,action:N===`named`&&(0,z.jsx)(y,{variant:`outline`,onClick:()=>d(!0),disabled:m||F,className:`min-h-11 cursor-pointer md:min-h-9`,children:m?(0,z.jsx)(f,{className:`size-4 animate-spin`}):`Switch`})}),(0,z.jsx)(_e,{title:`Your own domain`,inUse:N===`named`,description:P?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(`span`,{className:`break-all font-medium text-foreground`,children:[`https://`,P]}),`. It stays the same after a restart.`]}):`One fixed address on a domain you have on Cloudflare, like ppm.example.com.`,action:N===`quick`&&j&&(0,z.jsx)(y,{onClick:g.answerYes,className:`min-h-11 cursor-pointer md:min-h-9`,children:`Set up`})})]}),!I&&N===`quick`&&!j&&(0,z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Turn on PPM's password to use your own domain.`}),!I&&F&&(0,z.jsx)(`p`,{className:`text-xs leading-relaxed text-muted-foreground`,children:`This page is open through your domain, so switching would cut it off before the new address could show. Open PPM another way first (Tailscale, or on this machine), then switch.`}),(L||k?.tunnelWarning)&&(0,z.jsxs)(Q,{icon:(0,z.jsx)(l,{className:`size-4 text-warning`}),children:[L&&(0,z.jsx)(`p`,{children:`PPM could not use your domain and is on a temporary address for now.`}),k?.tunnelWarning&&(0,z.jsx)(`p`,{children:k.tunnelWarning})]})]}),(0,z.jsx)(x,{open:s,title:`Turn off the link you are using?`,onClose:()=>c(!1),children:(0,z.jsxs)(`div`,{className:`space-y-4`,children:[(0,z.jsxs)(`p`,{className:`text-sm leading-relaxed text-muted-foreground`,children:[`This page is open at `,e.url,`. Turning the link off disconnects it; reach PPM another way to turn it back on.`]}),(0,z.jsxs)(`div`,{className:`flex flex-col-reverse gap-2 pt-2 md:flex-row md:justify-end`,children:[(0,z.jsx)(y,{variant:`outline`,onClick:()=>c(!1),className:`min-h-11 cursor-pointer md:min-h-9`,children:`Cancel`}),(0,z.jsx)(y,{variant:`destructive`,onClick:()=>{c(!1),T(!1)},className:`min-h-11 cursor-pointer md:min-h-9`,children:`Turn off`})]})]})}),(0,z.jsx)(x,{open:u,title:`Switch to a temporary address?`,onClose:()=>d(!1),children:(0,z.jsxs)(`div`,{className:`space-y-4`,children:[(0,z.jsxs)(`p`,{className:`text-sm leading-relaxed text-muted-foreground`,children:[`PPM stops answering at https://`,P,` and gets a new random address instead. Links that use your domain stop working until you set it up again.`]}),(0,z.jsxs)(`div`,{className:`flex flex-col-reverse gap-2 pt-2 md:flex-row md:justify-end`,children:[(0,z.jsx)(y,{variant:`outline`,onClick:()=>d(!1),className:`min-h-11 cursor-pointer md:min-h-9`,children:`Cancel`}),(0,z.jsx)(y,{variant:`destructive`,onClick:()=>void D(),className:`min-h-11 cursor-pointer md:min-h-9`,children:`Switch`})]})]})})]})}function _e({title:e,description:t,inUse:n,action:r}){return(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3 p-3`,"data-in-use":n||void 0,children:[(0,z.jsxs)(`div`,{className:`min-w-0 flex-[1_1_14rem] space-y-0.5`,children:[(0,z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,z.jsx)(`span`,{className:`text-sm font-medium`,children:e}),n&&(0,z.jsx)(`span`,{className:`rounded bg-primary/10 px-1.5 py-0.5 text-[10px] font-medium uppercase tracking-wide text-primary`,children:`In use`})]}),(0,z.jsx)(`p`,{className:`text-sm leading-relaxed text-muted-foreground`,children:t})]}),r&&(0,z.jsx)(`div`,{className:`shrink-0`,children:r})]})}function ve(){let e=S(e=>e.tab),t=S(e=>e.setTab);return(0,z.jsxs)(`div`,{className:`space-y-5`,"data-testid":`remote-access`,"data-tab":e,children:[(0,z.jsx)(`div`,{role:`tablist`,"aria-label":`Remote access`,className:`flex gap-1 overflow-x-auto border-b border-border/50`,children:T.map(n=>(0,z.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":e===n.id,"data-testid":`remote-access-tab-${n.id}`,onClick:()=>t(n.id),className:g(`flex min-h-11 shrink-0 cursor-pointer items-center whitespace-nowrap rounded-t px-3 text-sm transition-colors md:min-h-9 md:text-xs`,e===n.id?`border-b-2 border-primary font-medium text-primary`:`text-text-subtle hover:text-text-secondary`),children:n.label},n.id))}),(0,z.jsxs)(`div`,{role:`tabpanel`,children:[e===`tailscale`&&(0,z.jsx)(ue,{}),e===`public-link`&&(0,z.jsx)(ge,{})]})]})}export{ve as RemoteAccessSettingsSection};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{s as e}from"./rolldown-runtime-C5c2KzVm.js";import{C as t,S as n}from"./vendor-markdown-QKPNiWEd.js";import{Q as r,Ur as i,Z as a,ci as o}from"./icons-JMA45Ifw.js";import{a as s,r as c}from"./api-client-OiA8Ida1.js";import{k as l,t as u}from"./settings-store-DIPe0D2_.js";import{n as d}from"./utils-Bslrbb-G.js";import{t as f}from"./ws-auth-DISX8w5V.js";import{on as p}from"./index-6UiaKItX.js";import{n as m}from"./use-h264-canvas-decoder-JIlkOcWX.js";import{r as h}from"./run-in-terminal-z_H3VtlO.js";function g(e,t,n=`8081`){let r=f(`/ws/remote-desktop`),i=e.protocol===`https:`?`wss:`:`ws:`;return t&&e.protocol!==`https:`?`ws://${e.hostname}:${n}${r}`:`${i}//${e.host}${r}`}var _=e(t(),1),v=400,y=25,b=6e3;function x(e,{onFailure:t}={}){let[n,r]=(0,_.useState)(`idle`),[i,a]=(0,_.useState)(null),[o,c]=(0,_.useState)({width:0,height:0}),l=(0,_.useRef)(null),u=(0,_.useRef)(null),d=(0,_.useRef)(null),f=(0,_.useRef)(0),p=(0,_.useRef)(0),m=(0,_.useRef)(null),h=(0,_.useRef)(null),g=(0,_.useRef)(0),v=(0,_.useRef)(t);v.current=t;let y=(0,_.useCallback)(()=>{g.current+=1,m.current&&=(clearInterval(m.current),null),h.current&&=(clearTimeout(h.current),null);try{l.current?.close()}catch{}l.current=null;let e=u.current;e&&(e.srcObject=null,e.remove(),u.current=null),d.current=null},[]),x=(0,_.useCallback)(()=>{y(),r(`idle`),a(null)},[y]);return{status:n,errorMessage:i,start:(0,_.useCallback)(t=>{y();let n=g.current,i=()=>n!==g.current,o=!1,_=(e,t=`error`)=>{i()||o||(o=!0,r(t),a(e),v.current?.())};if(typeof RTCPeerConnection>`u`){_(`This browser has no WebRTC support.`,`unsupported`);return}let x=document.createElement(`video`);x.autoplay=!0,x.muted=!0,x.playsInline=!0,x.setAttribute(`aria-hidden`,`true`),x.style.cssText=`position:fixed;top:0;left:0;width:1px;height:1px;opacity:0;pointer-events:none`,document.body.appendChild(x),u.current=x;let w=()=>{if(i())return;let t=e.current;t&&x.videoWidth>0&&((t.width!==x.videoWidth||t.height!==x.videoHeight)&&(t.width=x.videoWidth,t.height=x.videoHeight,c({width:x.videoWidth,height:x.videoHeight})),d.current||=t.getContext(`2d`),d.current?.drawImage(x,0,0,t.width,t.height),f.current+=1),T()},T=()=>typeof x.requestVideoFrameCallback==`function`?x.requestVideoFrameCallback(()=>w()):requestAnimationFrame(()=>w()),E=new RTCPeerConnection({iceServers:[]});l.current=E,E.addTransceiver(`video`,{direction:`recvonly`}),E.ontrack=e=>{let t=new MediaStream;t.addTrack(e.track),x.srcObject=t,x.play().catch(()=>{}),T()},E.onconnectionstatechange=()=>{i()||(E.connectionState===`connected`&&(h.current&&=(clearTimeout(h.current),null),r(`ready`),a(null)),E.connectionState===`failed`&&_(`The WebRTC connection failed.`))},m.current=setInterval(async()=>{if(!(i()||!l.current))try{(await l.current.getStats()).forEach(e=>{e.type===`inbound-rtp`&&e.kind===`video`&&(p.current=e.bytesReceived??0)})}catch{}},1e3),(async()=>{try{if(await E.setLocalDescription(await E.createOffer()),await S(E),i())return;let e=s(),n=await C(t,E.localDescription.sdp,e,i);if(i())return;if(!n){_(`The host's WebRTC relay never produced a stream.`);return}if(await E.setRemoteDescription({type:`answer`,sdp:n}),i()||E.connectionState===`connected`)return;h.current=setTimeout(()=>{h.current=null,E.connectionState!==`connected`&&_(`The WebRTC connection did not come up.`)},b)}catch(e){_(e.message)}})()},[e,y]),stop:x,getFrameCount:()=>f.current,getTotalBytes:()=>p.current,frameSize:o}}function S(e){return e.iceGatheringState===`complete`?Promise.resolve():new Promise(t=>{let n=()=>{e.iceGatheringState===`complete`&&(e.removeEventListener(`icegatheringstatechange`,n),t())};e.addEventListener(`icegatheringstatechange`,n),setTimeout(()=>{e.removeEventListener(`icegatheringstatechange`,n),t()},2e3)})}async function C(e,t,n,r){for(let i=0;i<y;i++){if(r())return null;let i=await fetch(e,{method:`POST`,headers:{"Content-Type":`application/sdp`,...n?{Authorization:`Bearer ${n}`}:{},"x-ppm-client":`web`},body:t});if(i.ok)return await i.text();if(i.status!==404&&i.status!==502)throw Error(`the host refused the WebRTC handshake (${i.status})`);await new Promise(e=>setTimeout(e,v))}return null}function w(e){return e.code===`KeyV`&&(e.ctrlKey||e.metaKey)}function T(e){return(e.code===`KeyC`||e.code===`KeyX`)&&(e.ctrlKey||e.metaKey)}function E(e){let t=document.createElement(`textarea`);t.value=e,t.style.cssText=`position:fixed;top:0;left:-9999px;opacity:0`,t.setAttribute(`aria-hidden`,`true`),document.body.appendChild(t);let n=document.activeElement,r=!1;try{t.focus({preventScroll:!0}),t.setSelectionRange(0,e.length),t.select(),r=document.execCommand(`copy`)}catch{r=!1}t.remove();try{n?.focus({preventScroll:!0})}catch{}return r}async function ee(e){try{return navigator.clipboard?.writeText?(await navigator.clipboard.writeText(e),!0):!1}catch{return!1}}var D=120,O=400;function te(){let e=(0,_.useRef)(null),t=(0,_.useRef)(null),n=(0,_.useRef)(null),r=(0,_.useRef)(0),i=(0,_.useRef)(0),[a,o]=(0,_.useState)(`idle`),s=(0,_.useCallback)(()=>{try{t.current?.close()}catch{}t.current=null,n.current=null;let a=e.current;e.current=null,a&&a.close().catch(()=>{}),r.current=0,i.current=0,o(e=>e===`unsupported`?e:`idle`)},[]),c=(0,_.useCallback)(t=>{let i=e.current;if(!i){t.close();return}let a=t.numberOfFrames,o=t.numberOfChannels,s=i.createBuffer(o,a,t.sampleRate);for(let e=0;e<o;e++){let n=new Float32Array(a);t.copyTo(n,{planeIndex:e,format:`f32-planar`}),s.copyToChannel(n,e)}t.close();let c=i.currentTime,l=(r.current-c)*1e3;(l<0||l>O)&&(r.current=c+D/1e3);let u=i.createBufferSource();u.buffer=s,u.connect(i.destination),n.current&&u.connect(n.current),u.start(r.current),r.current+=s.duration},[]),l=(0,_.useCallback)(async(a,l)=>{if(typeof AudioDecoder>`u`||typeof AudioContext>`u`){o(`unsupported`);return}s();let u=new AudioContext({sampleRate:l,latencyHint:`interactive`});e.current=u,u.state===`suspended`&&await u.resume().catch(()=>{}),n.current=u.createMediaStreamDestination();let d=new AudioDecoder({output:c,error:()=>{try{t.current?.reset()}catch{}}});try{d.configure({codec:`opus`,sampleRate:l,numberOfChannels:a})}catch{o(`unsupported`);return}t.current=d,r.current=0,i.current=0,o(`playing`)},[c,s]),u=(0,_.useCallback)(e=>{let n=t.current;if(!n||n.state!==`configured`)return;let r=i.current;i.current+=2e4;try{n.decode(new EncodedAudioChunk({type:`key`,timestamp:r,data:e}))}catch{}},[]),d=(0,_.useCallback)(()=>n.current?n.current.stream.getAudioTracks():[],[]);return(0,_.useEffect)(()=>()=>s(),[s]),{status:a,configure:l,decodePacket:u,reset:s,getTracks:d}}var ne=5e3,re=2,k=`ppm.remoteDesktop.webrtcUnusable`;function ie(){try{return sessionStorage.getItem(k)===`1`}catch{return!1}}function ae(){try{sessionStorage.setItem(k,`1`)}catch{}}function A(e,{displayId:t}={}){let n=(0,_.useRef)(null),r=(0,_.useRef)(0),[i,a]=(0,_.useState)(`connecting`),[o,s]=(0,_.useState)(null),[d,f]=(0,_.useState)(0),[p,h]=(0,_.useState)(()=>({preset:l(u.getState().remoteDesktopQuality)??`balanced`,held:1})),v=(0,_.useRef)(l(u.getState().remoteDesktopQuality)),[y,b]=(0,_.useState)(null),S=(0,_.useRef)(null),C=u(e=>e.remoteDesktopShowCursor),w=u(e=>e.remoteDesktopClipboardSync),T=(0,_.useRef)(C),E=(0,_.useRef)(w);(0,_.useEffect)(()=>{T.current=C},[C]),(0,_.useEffect)(()=>{E.current=w},[w]);let D=(0,_.useRef)(u.getState().remoteDesktopCodec),[O,k]=(0,_.useState)(D.current),A=m(e),j=(0,_.useRef)(!1),M=x(e,{onFailure:(0,_.useCallback)(()=>{typeof VideoDecoder>`u`||j.current||(j.current=!0,ae(),f(e=>e+1))},[])}),[N,P]=(0,_.useState)(`websocket`),F=te(),[I,L]=(0,_.useState)(!1),[R,z]=(0,_.useState)(!1),[oe,B]=(0,_.useState)(null),[V,H]=(0,_.useState)(null),[U,W]=(0,_.useState)(null),[G,K]=(0,_.useState)(null),q=(0,_.useCallback)(e=>{let t=n.current;t?.readyState===WebSocket.OPEN&&t.send(JSON.stringify(e))},[]),J=(0,_.useCallback)(e=>{let t=l(e.preset);t&&h({preset:t,held:typeof e.held==`number`&&e.held>0&&e.held<1?e.held:1})},[]),Y=(0,_.useCallback)(e=>{if(e!==`custom`)return{type:`quality`,preset:e};let t=u.getState();return{type:`quality`,preset:`custom`,percent:t.remoteDesktopCustomQualityPercent,fps:t.remoteDesktopCustomFps}},[]),X=(0,_.useCallback)(e=>{v.current=e,u.getState().setRemoteDesktopQuality(e),q(Y(e))},[Y,q]),Z=(0,_.useCallback)((e,t)=>{let n=u.getState();n.setRemoteDesktopCustomQuality(e,t),n.setRemoteDesktopQuality(`custom`),v.current=`custom`,q(Y(`custom`))},[Y,q]),Q=(0,_.useCallback)(e=>{B(null),q({type:`privacy`,enabled:e})},[q]),$=(0,_.useCallback)(e=>{L(e),e||F.reset(),q({type:`audio`,enabled:e})},[F,q]),se=(0,_.useCallback)(e=>{D.current=e,u.getState().setRemoteDesktopCodec(e),k(e),e&&q({type:`codec`,encoder:e})},[q]),ce=(0,_.useCallback)(e=>{K(null),q({type:`resolution`,modeId:e})},[q]),le=(0,_.useCallback)(e=>{T.current=e,u.getState().setRemoteDesktopShowCursor(e),q({type:`cursor`,show:e})},[q]),ue=(0,_.useCallback)((e,t,n=!1)=>{q({type:`clipboard`,text:e,paste:t,shift:n})},[q]),de=(0,_.useCallback)(()=>{S.current&&clearTimeout(S.current),S.current=setTimeout(()=>{S.current=null,q({type:`clipboardRead`})},350)},[q]),fe=(0,_.useCallback)(()=>b(null),[]);(0,_.useEffect)(()=>()=>{S.current&&clearTimeout(S.current)},[]),(0,_.useEffect)(()=>{let e=!1,i=null;a(`connecting`),s(null),P(`websocket`),z(!1),B(null),r.current=0,A.reset(),(async()=>{let o;try{o=(await c.post(`/api/remote-desktop/session`)).nonce}catch(t){e||(a(`error`),s(t.message));return}if(e)return;let l=g(window.location,!1,void 0),u=new WebSocket(l);u.binaryType=`arraybuffer`,n.current=u,u.onopen=()=>{u.send(JSON.stringify({type:`auth`,nonce:o,...t?{displayId:t}:{},cursor:T.current,...D.current?{codec:D.current}:{},webrtc:!(j.current||ie())})),v.current&&u.send(JSON.stringify(Y(v.current))),i=setInterval(()=>q({type:`ping`}),ne)},u.onmessage=t=>{if(typeof t.data==`string`){let n;try{n=JSON.parse(t.data)}catch{return}if(n.type===`webrtc`&&typeof n.whepPath==`string`)P(`webrtc`),J(n),k(typeof n.encoder==`string`?n.encoder:null),M.start(n.whepPath),a(`streaming`);else if(n.type===`config`&&typeof n.codec==`string`)J(n),k(typeof n.encoder==`string`?n.encoder:null),A.configure(n.codec).then(()=>{e||a(`streaming`)});else if(n.type===`quality`)J(n);else if(n.type===`codec`)k(typeof n.encoder==`string`?n.encoder:null);else if(n.type===`resolution`)H(typeof n.modeId==`string`?n.modeId:null),W(typeof n.original==`string`?n.original:null),K(null);else if(n.type===`resolutionError`)K(typeof n.message==`string`?n.message:`The host refused the mode.`);else if(n.type===`privacy`)z(n.enabled===!0),B(typeof n.reason==`string`?n.reason:null);else if(n.type===`audio`){let e=n.enabled===!0;if(L(e),!e){F.reset();return}let t=typeof n.channels==`number`?n.channels:2,r=typeof n.sampleRate==`number`?n.sampleRate:48e3;F.configure(t,r)}else if(n.type===`clipboard`&&typeof n.text==`string`){if(!E.current)return;let t=n.text;ee(t).then(n=>{!n&&!e&&b(t)})}else n.type===`error`&&(a(`error`),s(typeof n.message==`string`?n.message:`Server error`));return}let n=new Uint8Array(t.data);if(!(n.length<1)){if(r.current+=n.length,n[0]===re){F.decodePacket(n.subarray(1));return}A.decodeAccessUnit(n.subarray(1),n[0]===1)}},u.onerror=()=>{e||(a(`error`),s(`WebSocket error`))},u.onclose=()=>{e||a(e=>e===`error`?e:`closed`)}})();let o=()=>{if(document.hidden||e)return;let t=n.current;t&&t.readyState===WebSocket.OPEN?t.send(JSON.stringify({type:`ping`})):f(e=>e+1)};return document.addEventListener(`visibilitychange`,o),()=>{e=!0,document.removeEventListener(`visibilitychange`,o),i&&clearInterval(i);try{n.current?.close()}catch{}n.current=null;try{A.reset()}catch{}try{M.stop()}catch{}try{F.reset()}catch{}}},[d,t]);let pe=(0,_.useCallback)(()=>f(e=>e+1),[]),me=(0,_.useCallback)(()=>N===`webrtc`?M.getTotalBytes():r.current,[N,M]);return{connState:i,errorMessage:o,transport:N,decoderStatus:N===`webrtc`?M.status:A.status,decoderErrorMessage:N===`webrtc`?M.errorMessage:A.errorMessage,sendMessage:q,reconnect:pe,getTotalBytes:me,getFrameCount:N===`webrtc`?M.getFrameCount:A.getFrameCount,frameSize:N===`webrtc`?M.frameSize:A.frameSize,quality:p,setQuality:X,setCustomQuality:Z,showCursor:C,setShowCursor:le,codec:O,setCodec:se,audioOn:I,setAudioOn:$,getAudioTracks:F.getTracks,privacyOn:R,privacyError:oe,setPrivacyOn:Q,hostModeId:V,hostOriginalModeId:U,resolutionError:G,setHostMode:ce,pendingHostClipboard:y,clearHostClipboard:fe,sendClipboard:ue,requestHostClipboard:de}}function j(e){return Math.min(Math.max(e,0),1)}function M(e,t,n){let r=n.width>0?(e-n.left)/n.width:0,i=n.height>0?(t-n.top)/n.height:0;return{xFrac:j(r),yFrac:j(i)}}function N(e,t,n,r){let i=r.scale||1,a=n.left+n.width/2,o=n.top+n.height/2;return M(a+(e-a-r.panX)/i,o+(t-o-r.panY)/i,n)}function P(e,t,n){if(t<=0||n<=0||e.width<=0||e.height<=0)return e;let r=e.width/e.height,i=t/n;if(i>r){let t=e.width/i;return{left:e.left,top:e.top+(e.height-t)/2,width:e.width,height:t}}let a=e.height*i;return{left:e.left+(e.width-a)/2,top:e.top,width:a,height:e.height}}function F(e){let t=new Map;for(let n of e){if(n.width<=0||n.height<=0)continue;let e=`${n.width}x${n.height}`,r=t.get(e);(!r||I(n,r))&&t.set(e,n)}return[...t.values()].sort((e,t)=>t.width*t.height-e.width*e.height||t.refresh-e.refresh).map(e=>({id:e.id,width:e.width,height:e.height,refresh:e.refresh,current:e.current,preferred:e.preferred}))}function I(e,t){return e.current===t.current?e.preferred===t.preferred?e.refresh>t.refresh:e.preferred:e.current}function L(e,t,n){if(!t||t.width<=0||t.height<=0)return null;let r=e.filter(e=>e.width===t.width&&e.height===t.height);if(r.length===0)return null;let i=e.find(e=>e.id===n)??e.find(e=>e.current)??null;return i&&i.width===t.width&&i.height===t.height?null:r.reduce((e,t)=>I(t,e)?t:e)}function R(){if(typeof window>`u`||!window.screen)return null;let e=Math.round(window.screen.width),t=Math.round(window.screen.height);return e>0&&t>0?{width:e,height:t}:null}function z(e){let t=`${e.width} × ${e.height}`;return e.refresh>0?`${t} · ${e.refresh} Hz`:t}var oe=[`video/mp4;codecs=avc1.42E01E,mp4a.40.2`,`video/mp4`,`video/webm;codecs=vp9,opus`,`video/webm;codecs=vp8,opus`,`video/webm`];function B(e=e=>typeof MediaRecorder<`u`&&MediaRecorder.isTypeSupported(e)){return typeof MediaRecorder>`u`?null:oe.find(e)??null}function V(e){return e.startsWith(`video/mp4`)?`mp4`:`webm`}function H(e,t=new Date){let n=e=>String(e).padStart(2,`0`);return`ppm-remote-${`${t.getFullYear()}-${n(t.getMonth()+1)}-${n(t.getDate())}_${n(t.getHours())}-${n(t.getMinutes())}-${n(t.getSeconds())}`}.${e}`}function U(e,t){let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,r.rel=`noopener`,document.body.appendChild(r),r.click(),r.remove(),setTimeout(()=>URL.revokeObjectURL(n),1e4)}async function W(e){if(!e||e.width===0||e.height===0)return!1;let t=await new Promise(t=>e.toBlob(t,`image/png`));return t?(U(t,H(`png`)),!0):!1}function G(e,t){let n=(0,_.useRef)(null),r=(0,_.useRef)([]),[i,a]=(0,_.useState)(!1),[o,s]=(0,_.useState)(0),c=(0,_.useRef)(null);c.current===null&&(c.current=B());let l=(0,_.useCallback)(()=>{n.current?.stop()},[]),u=(0,_.useCallback)(()=>{let i=e.current,o=c.current;if(!i||!o||n.current)return;let l=i.captureStream();for(let e of t?.()??[])l.addTrack(e);let u;try{u=new MediaRecorder(l,{mimeType:o})}catch{return}r.current=[],u.ondataavailable=e=>{e.data.size>0&&r.current.push(e.data)},u.onstop=()=>{let e=new Blob(r.current,{type:o});r.current=[],n.current=null,a(!1),s(0),e.size>0&&U(e,H(V(o)))},u.start(1e3),n.current=u,a(!0),s(0)},[e,t]),d=(0,_.useCallback)(()=>{n.current?l():u()},[u,l]);return(0,_.useEffect)(()=>{if(!i)return;let e=Date.now(),t=setInterval(()=>{let t=Date.now()-e;s(Math.floor(t/1e3)),t>=72e5&&l()},1e3);return()=>clearInterval(t)},[i,l]),(0,_.useEffect)(()=>()=>{n.current?.stop()},[]),{recording:i,elapsedSec:o,supported:c.current!==null,toggle:d}}var K={fps:0,kbps:0};function q(e,t){let n=t.atMs-e.atMs;if(n<=0)return K;let r=n/1e3,i=Math.max(0,t.frameCount-e.frameCount),a=Math.max(0,t.totalBytes-e.totalBytes);return{fps:i/r,kbps:a/1024/r}}var J=n(),Y=500;function X({canvasRef:e,getFrameCount:t,getTotalBytes:n,positionClassName:r=`left-1 top-1`}){let i=u(e=>e.remoteDesktopStatsVisible),[a,o]=(0,_.useState)({fps:0,kbps:0,width:0,height:0}),s=(0,_.useRef)({frameCount:0,totalBytes:0,atMs:0});return(0,_.useEffect)(()=>{if(!i)return;s.current={frameCount:t(),totalBytes:n(),atMs:performance.now()};let r=setInterval(()=>{let r={frameCount:t(),totalBytes:n(),atMs:performance.now()},{fps:i,kbps:a}=q(s.current,r);s.current=r;let c=e.current;o({fps:i,kbps:a,width:c?.width??0,height:c?.height??0})},Y);return()=>clearInterval(r)},[i,e,t,n]),i?(0,J.jsxs)(`div`,{className:`pointer-events-none absolute z-40 rounded bg-black/60 px-1.5 py-0.5 font-mono text-[10px] text-white/80 ${r}`,"data-testid":`remote-desktop-stats-overlay`,children:[Math.round(a.fps),` fps · `,Math.round(a.kbps),` KB/s · `,a.width,`×`,a.height]}):null}function Z(){let{caps:e}=p(!1),t=e?.displays??[],[n,r]=(0,_.useState)(void 0),i=t.find(e=>e.id===n)??t.find(e=>e.primary)??t[0];return{displays:t,displayId:n,current:i,select:r,next:(0,_.useCallback)(()=>{t.length<2||r(t[(t.findIndex(e=>e.id===i?.id)+1)%t.length]?.id)},[t,i])}}function Q({pendingText:e,onDismiss:t,missingToolAction:n,onDismissMissingTool:o,positionClassName:s=`absolute bottom-2 left-1/2 max-w-[92%] -translate-x-1/2`}){let[c,l]=(0,_.useState)(!1);return e===null?n==null?null:(0,J.jsxs)($,{onDismiss:o??(()=>{}),testId:`remote-desktop-clipboard-missing-tool`,positionClassName:s,children:[(0,J.jsx)(a,{className:`size-4 shrink-0 text-amber-300`}),(0,J.jsx)(`span`,{className:`min-w-0 flex-1`,children:`The host has no clipboard tool installed.`}),n.kind===`terminal`&&(0,J.jsxs)(`button`,{type:`button`,onClick:()=>h(n.command),title:n.command,className:`inline-flex min-h-8 shrink-0 items-center gap-1.5 rounded bg-white/15 px-2.5 text-xs hover:bg-white/25`,children:[(0,J.jsx)(i,{className:`size-3.5`}),` `,n.label]})]}):(0,J.jsxs)($,{onDismiss:t,testId:`remote-desktop-clipboard-pending`,positionClassName:s,children:[(0,J.jsx)(r,{className:`size-4 shrink-0 text-emerald-400`}),(0,J.jsxs)(`span`,{className:`min-w-0 flex-1 truncate`,children:[c?`Could not copy — select the text manually:`:`Copied on the host:`,(0,J.jsx)(`span`,{className:`ml-1 text-white/60`,children:se(e)})]}),(0,J.jsx)(`button`,{type:`button`,onClick:()=>{E(e)?t():l(!0)},className:`min-h-8 shrink-0 rounded bg-white/15 px-2.5 text-xs hover:bg-white/25`,"data-testid":`remote-desktop-clipboard-copy`,children:`Copy here`})]})}function $({children:e,onDismiss:t,testId:n,positionClassName:r}){return(0,J.jsxs)(`div`,{className:d(`z-50 flex items-center gap-2 rounded-lg border border-white/10 bg-black/85 px-3 py-2 text-xs text-white shadow-lg`,r),"data-testid":n,children:[e,(0,J.jsx)(`button`,{type:`button`,onClick:t,"aria-label":`Dismiss`,className:`flex size-8 shrink-0 items-center justify-center rounded text-white/60 hover:bg-white/10 hover:text-white`,children:(0,J.jsx)(o,{className:`size-3.5`})})]})}function se(e){let t=e.replace(/\s+/g,` `).trim();return t.length>60?`${t.slice(0,60)}…`:t}export{W as a,F as c,N as d,P as f,w as h,G as i,z as l,T as m,Z as n,L as o,A as p,X as r,R as s,Q as t,M as u};
|
|
Binary file
|