@hienlh/ppm 0.23.12 → 0.23.13
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 +186 -0
- package/CLAUDE.md +41 -6
- 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-CPcPjurU.js +1 -0
- package/dist/web/assets/_basePickBy-CPcPjurU.js.br +0 -0
- package/dist/web/assets/_basePickBy-CPcPjurU.js.gz +0 -0
- package/dist/web/assets/_baseUniq-DI0z-mx3.js +1 -0
- package/dist/web/assets/_baseUniq-DI0z-mx3.js.br +0 -0
- package/dist/web/assets/_baseUniq-DI0z-mx3.js.gz +0 -0
- package/dist/web/assets/accounts-settings-section-DU-lTifs.js +1 -0
- package/dist/web/assets/accounts-settings-section-DU-lTifs.js.br +0 -0
- package/dist/web/assets/accounts-settings-section-DU-lTifs.js.gz +0 -0
- package/dist/web/assets/adaptive-context-menu-Cq7ynvIn.js +1 -0
- package/dist/web/assets/adaptive-context-menu-Cq7ynvIn.js.br +0 -0
- package/dist/web/assets/adaptive-context-menu-Cq7ynvIn.js.gz +0 -0
- package/dist/web/assets/agent-session-sheet-At6Rt-Yf.js +2 -0
- package/dist/web/assets/agent-session-sheet-At6Rt-Yf.js.br +0 -0
- package/dist/web/assets/agent-session-sheet-At6Rt-Yf.js.gz +0 -0
- package/dist/web/assets/agent-session-sheet-store-BoBrAw5i.js +1 -0
- package/dist/web/assets/agent-session-window-content-CB_uvabH.js +1 -0
- package/dist/web/assets/agent-session-window-content-CB_uvabH.js.br +0 -0
- package/dist/web/assets/agent-session-window-content-CB_uvabH.js.gz +0 -0
- package/dist/web/assets/ai-resource-editor-Czearm3I.js +1 -0
- package/dist/web/assets/ai-resource-editor-Czearm3I.js.br +0 -0
- package/dist/web/assets/ai-resource-editor-Czearm3I.js.gz +0 -0
- package/dist/web/assets/ai-settings-section-AOgAUCgH.js +1 -0
- package/dist/web/assets/ai-settings-section-B_OFMlrt.js +1 -0
- package/dist/web/assets/ai-settings-section-B_OFMlrt.js.br +0 -0
- package/dist/web/assets/ai-settings-section-B_OFMlrt.js.gz +0 -0
- package/dist/web/assets/android-tab-L7DmLfHG.js +2 -0
- package/dist/web/assets/android-tab-L7DmLfHG.js.br +0 -0
- package/dist/web/assets/android-tab-L7DmLfHG.js.gz +0 -0
- package/dist/web/assets/angular-html-DUhpSne7.js +1 -0
- package/dist/web/assets/angular-html-DUhpSne7.js.br +0 -0
- package/dist/web/assets/angular-html-DUhpSne7.js.gz +0 -0
- package/dist/web/assets/angular-ts-_PmhBAvx.js +1 -0
- package/dist/web/assets/angular-ts-_PmhBAvx.js.br +0 -0
- package/dist/web/assets/angular-ts-_PmhBAvx.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-D2H6gjen.js +1 -0
- package/dist/web/assets/api-settings-D2H6gjen.js.br +0 -0
- package/dist/web/assets/api-settings-D2H6gjen.js.gz +0 -0
- package/dist/web/assets/api-settings-DHhcUHtx.js +1 -0
- package/dist/web/assets/api-themes-CE8gPZ3X.js +1 -0
- package/dist/web/assets/apl-Qu0ab_nv.js +1 -0
- package/dist/web/assets/apl-Qu0ab_nv.js.br +0 -0
- package/dist/web/assets/apl-Qu0ab_nv.js.gz +0 -0
- package/dist/web/assets/appearance-settings-section-s3KWKTBm.js +1 -0
- package/dist/web/assets/appearance-settings-section-s3KWKTBm.js.br +0 -0
- package/dist/web/assets/appearance-settings-section-s3KWKTBm.js.gz +0 -0
- package/dist/web/assets/apps-panel-DaojtUvh.js +1 -0
- package/dist/web/assets/apps-panel-DaojtUvh.js.br +0 -0
- package/dist/web/assets/apps-panel-DaojtUvh.js.gz +0 -0
- package/dist/web/assets/arc-Cbj2MTZU.js +1 -0
- package/dist/web/assets/arc-Cbj2MTZU.js.br +0 -0
- package/dist/web/assets/arc-Cbj2MTZU.js.gz +0 -0
- package/dist/web/assets/architecture-PBZL5I3N-BsjZHebV.js +1 -0
- package/dist/web/assets/architectureDiagram-2XIMDMQ5-B5N-uzUB.js +36 -0
- package/dist/web/assets/architectureDiagram-2XIMDMQ5-B5N-uzUB.js.br +0 -0
- package/dist/web/assets/architectureDiagram-2XIMDMQ5-B5N-uzUB.js.gz +0 -0
- package/dist/web/assets/astro-6xSNo-2E.js +1 -0
- package/dist/web/assets/astro-6xSNo-2E.js.br +0 -0
- package/dist/web/assets/astro-6xSNo-2E.js.gz +0 -0
- package/dist/web/assets/audio-preview-CWcPZqTA.js +1 -0
- package/dist/web/assets/audio-preview-CWcPZqTA.js.br +4 -0
- package/dist/web/assets/audio-preview-CWcPZqTA.js.gz +0 -0
- package/dist/web/assets/blade-p7SMjkdK.js +1 -0
- package/dist/web/assets/blade-p7SMjkdK.js.br +0 -0
- package/dist/web/assets/blade-p7SMjkdK.js.gz +0 -0
- package/dist/web/assets/blockDiagram-WCTKOSBZ-CNZJl-ap.js +132 -0
- package/dist/web/assets/blockDiagram-WCTKOSBZ-CNZJl-ap.js.br +0 -0
- package/dist/web/assets/blockDiagram-WCTKOSBZ-CNZJl-ap.js.gz +0 -0
- package/dist/web/assets/branch-review-tab-9UB4ccpF.js +1 -0
- package/dist/web/assets/branch-review-tab-9UB4ccpF.js.br +0 -0
- package/dist/web/assets/branch-review-tab-9UB4ccpF.js.gz +0 -0
- package/dist/web/assets/bsl-D0bT3Wjp.js +1 -0
- package/dist/web/assets/bsl-D0bT3Wjp.js.br +0 -0
- package/dist/web/assets/bsl-D0bT3Wjp.js.gz +0 -0
- package/dist/web/assets/button-Br60hGkw.js +1 -0
- package/dist/web/assets/button-Br60hGkw.js.br +0 -0
- package/dist/web/assets/button-Br60hGkw.js.gz +0 -0
- package/dist/web/assets/c4Diagram-IC4MRINW-hDrfu-4_.js +10 -0
- package/dist/web/assets/c4Diagram-IC4MRINW-hDrfu-4_.js.br +0 -0
- package/dist/web/assets/c4Diagram-IC4MRINW-hDrfu-4_.js.gz +0 -0
- package/dist/web/assets/cairo-DTuGb2w7.js +1 -0
- package/dist/web/assets/cairo-DTuGb2w7.js.br +0 -0
- package/dist/web/assets/cairo-DTuGb2w7.js.gz +0 -0
- package/dist/web/assets/channel-BYWG7Wl4.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-DMVb_mgx.js +1 -0
- package/dist/web/assets/chat-tab-DMVb_mgx.js.br +0 -0
- package/dist/web/assets/chat-tab-DMVb_mgx.js.gz +0 -0
- package/dist/web/assets/chat-tab-s7uAnh-h.js +17 -0
- package/dist/web/assets/chat-tab-s7uAnh-h.js.br +0 -0
- package/dist/web/assets/chat-tab-s7uAnh-h.js.gz +0 -0
- package/dist/web/assets/chunk-4BX2VUAB-hVAt6yvs.js +1 -0
- package/dist/web/assets/chunk-55IACEB6-C01pkYAe.js +1 -0
- package/dist/web/assets/chunk-7E7YKBS2-DzI9lMJG.js +1 -0
- package/dist/web/assets/chunk-7R4GIKGN-vQspoIwd.js +80 -0
- package/dist/web/assets/chunk-7R4GIKGN-vQspoIwd.js.br +0 -0
- package/dist/web/assets/chunk-7R4GIKGN-vQspoIwd.js.gz +0 -0
- package/dist/web/assets/chunk-C72U2L5F-B6xz3XVo.js +1 -0
- package/dist/web/assets/chunk-EGIJ26TM-piMHBD4l.js +1 -0
- package/dist/web/assets/chunk-FMBD7UC4-e6MPEMRh.js +15 -0
- package/dist/web/assets/chunk-GEFDOKGD-DnsnpeGb.js +2 -0
- package/dist/web/assets/chunk-GEFDOKGD-DnsnpeGb.js.br +0 -0
- package/dist/web/assets/chunk-GEFDOKGD-DnsnpeGb.js.gz +0 -0
- package/dist/web/assets/chunk-GLR3WWYH-Co8QL50g.js +2 -0
- package/dist/web/assets/chunk-GLR3WWYH-Co8QL50g.js.br +0 -0
- package/dist/web/assets/chunk-GLR3WWYH-Co8QL50g.js.gz +0 -0
- package/dist/web/assets/chunk-HHEYEP7N-CErk3LHZ.js +1 -0
- package/dist/web/assets/chunk-JSJVCQXG-B8pwPgsI.js +1 -0
- package/dist/web/assets/chunk-JSJVCQXG-B8pwPgsI.js.br +0 -0
- package/dist/web/assets/chunk-JSJVCQXG-B8pwPgsI.js.gz +0 -0
- package/dist/web/assets/chunk-KX2RTZJC-DeYfi-Vl.js +1 -0
- package/dist/web/assets/chunk-KYZI473N-B6LAvX90.js +53 -0
- package/dist/web/assets/chunk-KYZI473N-B6LAvX90.js.br +0 -0
- package/dist/web/assets/chunk-KYZI473N-B6LAvX90.js.gz +0 -0
- package/dist/web/assets/chunk-L3YUKLVL-BM-EQ2IR.js +1 -0
- package/dist/web/assets/chunk-MX3YWQON-EGGLXe7u.js +1 -0
- package/dist/web/assets/chunk-MX3YWQON-EGGLXe7u.js.br +0 -0
- package/dist/web/assets/chunk-MX3YWQON-EGGLXe7u.js.gz +0 -0
- package/dist/web/assets/chunk-NQ4KR5QH-BHn5FEPA.js +220 -0
- package/dist/web/assets/chunk-NQ4KR5QH-BHn5FEPA.js.br +0 -0
- package/dist/web/assets/chunk-NQ4KR5QH-BHn5FEPA.js.gz +0 -0
- package/dist/web/assets/chunk-O4XLMI2P-DeFJl-l6.js +7 -0
- package/dist/web/assets/chunk-O4XLMI2P-DeFJl-l6.js.br +0 -0
- package/dist/web/assets/chunk-O4XLMI2P-DeFJl-l6.js.gz +0 -0
- package/dist/web/assets/chunk-OZEHJAEY-BwMHWpJ8.js +1 -0
- package/dist/web/assets/chunk-OZEHJAEY-BwMHWpJ8.js.br +0 -0
- package/dist/web/assets/chunk-OZEHJAEY-BwMHWpJ8.js.gz +0 -0
- package/dist/web/assets/chunk-PQ6SQG4A-B9GHRcOM.js +1 -0
- package/dist/web/assets/chunk-PQ6SQG4A-B9GHRcOM.js.br +0 -0
- package/dist/web/assets/chunk-PQ6SQG4A-B9GHRcOM.js.gz +0 -0
- package/dist/web/assets/chunk-PU5JKC2W-DJY3yjhJ.js +11 -0
- package/dist/web/assets/chunk-PU5JKC2W-DJY3yjhJ.js.br +0 -0
- package/dist/web/assets/chunk-PU5JKC2W-DJY3yjhJ.js.gz +0 -0
- package/dist/web/assets/chunk-QZHKN3VN--KxlfM05.js +1 -0
- package/dist/web/assets/chunk-R5LLSJPH-B8fEAHWI.js +1 -0
- package/dist/web/assets/chunk-WL4C6EOR-CTOYdnLV.js +189 -0
- package/dist/web/assets/chunk-WL4C6EOR-CTOYdnLV.js.br +0 -0
- package/dist/web/assets/chunk-WL4C6EOR-CTOYdnLV.js.gz +0 -0
- package/dist/web/assets/chunk-XIRO2GV7-CzjzQGr1.js +1 -0
- package/dist/web/assets/chunk-XPW4576I-CYBtYKPi.js +32 -0
- package/dist/web/assets/chunk-XPW4576I-CYBtYKPi.js.br +0 -0
- package/dist/web/assets/chunk-XPW4576I-CYBtYKPi.js.gz +0 -0
- package/dist/web/assets/chunk-XZSTWKYB-CkPHeT47.js +94 -0
- package/dist/web/assets/chunk-XZSTWKYB-CkPHeT47.js.br +0 -0
- package/dist/web/assets/chunk-XZSTWKYB-CkPHeT47.js.gz +0 -0
- package/dist/web/assets/chunk-YBOYWFTD-DVV5zPYi.js +1 -0
- package/dist/web/assets/classDiagram-VBA2DB6C-fXft2ivd.js +1 -0
- package/dist/web/assets/classDiagram-v2-RAHNMMFH-3Pc0szA4.js +1 -0
- package/dist/web/assets/clipboard-D3XnL7CB.js +1 -0
- package/dist/web/assets/clipboard-D3XnL7CB.js.br +0 -0
- package/dist/web/assets/clipboard-D3XnL7CB.js.gz +0 -0
- package/dist/web/assets/clone-BbqYojVU.js +1 -0
- package/dist/web/assets/cobol-N66t9bre.js +1 -0
- package/dist/web/assets/cobol-N66t9bre.js.br +0 -0
- package/dist/web/assets/cobol-N66t9bre.js.gz +0 -0
- package/dist/web/assets/code-editor-JK49X9EX.js +10 -0
- package/dist/web/assets/code-editor-JK49X9EX.js.br +0 -0
- package/dist/web/assets/code-editor-JK49X9EX.js.gz +0 -0
- package/dist/web/assets/code-fence-vHZyBehL.js +1 -0
- package/dist/web/assets/codex-reset-credit-button-CxJsBnff.js +1 -0
- package/dist/web/assets/codex-reset-credit-button-CxJsBnff.js.br +0 -0
- package/dist/web/assets/codex-reset-credit-button-CxJsBnff.js.gz +0 -0
- package/dist/web/assets/coffee-DH4EPzT2.js +1 -0
- package/dist/web/assets/coffee-DH4EPzT2.js.br +0 -0
- package/dist/web/assets/coffee-DH4EPzT2.js.gz +0 -0
- package/dist/web/assets/conflict-editor-rOpVkK9P.js +19 -0
- package/dist/web/assets/conflict-editor-rOpVkK9P.js.br +0 -0
- package/dist/web/assets/conflict-editor-rOpVkK9P.js.gz +0 -0
- package/dist/web/assets/connection-form-tab-BGmb918E.js +4 -0
- package/dist/web/assets/connection-form-tab-BGmb918E.js.br +0 -0
- package/dist/web/assets/connection-form-tab-BGmb918E.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-mB8HA52z.js +1 -0
- package/dist/web/assets/cose-bilkent-S5V4N54A-mB8HA52z.js.br +0 -0
- package/dist/web/assets/cose-bilkent-S5V4N54A-mB8HA52z.js.gz +0 -0
- package/dist/web/assets/cpp-D9qUQN_l.js +1 -0
- package/dist/web/assets/cpp-D9qUQN_l.js.br +0 -0
- package/dist/web/assets/cpp-D9qUQN_l.js.gz +0 -0
- package/dist/web/assets/crystal-BbeV_Mwx.js +1 -0
- package/dist/web/assets/crystal-BbeV_Mwx.js.br +0 -0
- package/dist/web/assets/crystal-BbeV_Mwx.js.gz +0 -0
- package/dist/web/assets/csv-preview-CM7su92m.js +10 -0
- package/dist/web/assets/csv-preview-CM7su92m.js.br +0 -0
- package/dist/web/assets/csv-preview-CM7su92m.js.gz +0 -0
- package/dist/web/assets/dagre-DCmRVAkd.js +1 -0
- package/dist/web/assets/dagre-DCmRVAkd.js.br +0 -0
- package/dist/web/assets/dagre-DCmRVAkd.js.gz +0 -0
- package/dist/web/assets/dagre-KLK3FWXG-BbiZfyLJ.js +4 -0
- package/dist/web/assets/dagre-KLK3FWXG-BbiZfyLJ.js.br +0 -0
- package/dist/web/assets/dagre-KLK3FWXG-BbiZfyLJ.js.gz +0 -0
- package/dist/web/assets/database-drivers-section-C6ZKPWaE.js +1 -0
- package/dist/web/assets/database-drivers-section-C6ZKPWaE.js.br +0 -0
- package/dist/web/assets/database-drivers-section-C6ZKPWaE.js.gz +0 -0
- package/dist/web/assets/db-explorer-store-BcLxq-X0.js +1 -0
- package/dist/web/assets/db-explorer-store-BcLxq-X0.js.br +0 -0
- package/dist/web/assets/db-explorer-store-BcLxq-X0.js.gz +0 -0
- package/dist/web/assets/db-tab-parts-DvmnlA6V.js +1 -0
- package/dist/web/assets/db-tab-parts-DvmnlA6V.js.br +0 -0
- package/dist/web/assets/db-tab-parts-DvmnlA6V.js.gz +0 -0
- package/dist/web/assets/db-types-9ac-eYxf.js +1 -0
- package/dist/web/assets/db-types-9ac-eYxf.js.br +0 -0
- package/dist/web/assets/db-types-9ac-eYxf.js.gz +0 -0
- package/dist/web/assets/design-canvas-check-Bo76Q6Qr.js +1 -0
- package/dist/web/assets/design-canvas-check-Bo76Q6Qr.js.br +0 -0
- package/dist/web/assets/design-canvas-check-Bo76Q6Qr.js.gz +0 -0
- package/dist/web/assets/design-export-client-ClwRg798.js +1 -0
- package/dist/web/assets/design-export-client-ClwRg798.js.br +0 -0
- package/dist/web/assets/design-export-client-ClwRg798.js.gz +0 -0
- package/dist/web/assets/design-responsive-dialog-Cdccv3Nw.js +1 -0
- package/dist/web/assets/design-responsive-dialog-Cdccv3Nw.js.br +0 -0
- package/dist/web/assets/design-responsive-dialog-Cdccv3Nw.js.gz +0 -0
- package/dist/web/assets/design-settings-section-CuxZSLAr.js +2 -0
- package/dist/web/assets/design-settings-section-CuxZSLAr.js.br +0 -0
- package/dist/web/assets/design-settings-section-CuxZSLAr.js.gz +0 -0
- package/dist/web/assets/design-skill-suggestion-DZQjG8FV.js +3 -0
- package/dist/web/assets/design-skill-suggestion-DZQjG8FV.js.br +0 -0
- package/dist/web/assets/design-skill-suggestion-DZQjG8FV.js.gz +0 -0
- package/dist/web/assets/design-tab-JlKmHVkd.js +57 -0
- package/dist/web/assets/design-tab-JlKmHVkd.js.br +0 -0
- package/dist/web/assets/design-tab-JlKmHVkd.js.gz +0 -0
- package/dist/web/assets/designs-sidebar-panel-C1EwWf4Z.js +1 -0
- package/dist/web/assets/designs-sidebar-panel-C1EwWf4Z.js.br +0 -0
- package/dist/web/assets/designs-sidebar-panel-C1EwWf4Z.js.gz +0 -0
- package/dist/web/assets/diagram-E7M64L7V-DqWzOwQy.js +24 -0
- package/dist/web/assets/diagram-E7M64L7V-DqWzOwQy.js.br +0 -0
- package/dist/web/assets/diagram-E7M64L7V-DqWzOwQy.js.gz +0 -0
- package/dist/web/assets/diagram-IFDJBPK2-Dxmm5YBr.js +43 -0
- package/dist/web/assets/diagram-IFDJBPK2-Dxmm5YBr.js.br +0 -0
- package/dist/web/assets/diagram-IFDJBPK2-Dxmm5YBr.js.gz +0 -0
- package/dist/web/assets/diagram-P4PSJMXO-D1gJGa3M.js +24 -0
- package/dist/web/assets/diagram-P4PSJMXO-D1gJGa3M.js.br +0 -0
- package/dist/web/assets/diagram-P4PSJMXO-D1gJGa3M.js.gz +0 -0
- package/dist/web/assets/dialog-DOaEX6AK.js +1 -0
- package/dist/web/assets/dialog-DOaEX6AK.js.br +0 -0
- package/dist/web/assets/dialog-DOaEX6AK.js.gz +0 -0
- package/dist/web/assets/diff-viewer-FidH7Nsq.js +4 -0
- package/dist/web/assets/diff-viewer-FidH7Nsq.js.br +0 -0
- package/dist/web/assets/diff-viewer-FidH7Nsq.js.gz +0 -0
- package/dist/web/assets/docx-preview-ENiLGqzy.js +12 -0
- package/dist/web/assets/docx-preview-ENiLGqzy.js.br +0 -0
- package/dist/web/assets/docx-preview-ENiLGqzy.js.gz +0 -0
- package/dist/web/assets/dropdown-menu-DB3yyoVz.js +1 -0
- package/dist/web/assets/dropdown-menu-DB3yyoVz.js.br +0 -0
- package/dist/web/assets/dropdown-menu-DB3yyoVz.js.gz +0 -0
- package/dist/web/assets/edge-vA_btsvt.js +1 -0
- package/dist/web/assets/edge-vA_btsvt.js.br +0 -0
- package/dist/web/assets/edge-vA_btsvt.js.gz +0 -0
- package/dist/web/assets/edit-diff-preview-D4EqC86X.js +7 -0
- package/dist/web/assets/edit-diff-preview-D4EqC86X.js.br +0 -0
- package/dist/web/assets/edit-diff-preview-D4EqC86X.js.gz +0 -0
- package/dist/web/assets/editor-dialog-DC7dUWAX.js +1 -0
- package/dist/web/assets/editor-dialog-DC7dUWAX.js.br +0 -0
- package/dist/web/assets/editor-dialog-DC7dUWAX.js.gz +0 -0
- package/dist/web/assets/editor-language-service-0pN0TxYN.js +1 -0
- package/dist/web/assets/editor-language-service-0pN0TxYN.js.br +0 -0
- package/dist/web/assets/editor-language-service-0pN0TxYN.js.gz +0 -0
- package/dist/web/assets/elixir-jDRKDZoF.js +1 -0
- package/dist/web/assets/elixir-jDRKDZoF.js.br +0 -0
- package/dist/web/assets/elixir-jDRKDZoF.js.gz +0 -0
- package/dist/web/assets/elm-DAS3eMJt.js +1 -0
- package/dist/web/assets/elm-DAS3eMJt.js.br +0 -0
- package/dist/web/assets/elm-DAS3eMJt.js.gz +0 -0
- package/dist/web/assets/erDiagram-INFDFZHY-DU44Y1XS.js +70 -0
- package/dist/web/assets/erDiagram-INFDFZHY-DU44Y1XS.js.br +0 -0
- package/dist/web/assets/erDiagram-INFDFZHY-DU44Y1XS.js.gz +0 -0
- package/dist/web/assets/erb-C7IJmpH8.js +1 -0
- package/dist/web/assets/erb-C7IJmpH8.js.br +0 -0
- package/dist/web/assets/erb-C7IJmpH8.js.gz +0 -0
- package/dist/web/assets/erlang-DW-GAdmv.js +1 -0
- package/dist/web/assets/erlang-DW-GAdmv.js.br +0 -0
- package/dist/web/assets/erlang-DW-GAdmv.js.gz +0 -0
- package/dist/web/assets/explorer-body-tFaUp9_Q.js +2 -0
- package/dist/web/assets/explorer-body-tFaUp9_Q.js.br +0 -0
- package/dist/web/assets/explorer-body-tFaUp9_Q.js.gz +0 -0
- package/dist/web/assets/explorer-model-BmgFEsj1.js +1 -0
- package/dist/web/assets/explorer-model-BmgFEsj1.js.br +0 -0
- package/dist/web/assets/explorer-model-BmgFEsj1.js.gz +0 -0
- package/dist/web/assets/explorer-window-content-XnRTZT_X.js +1 -0
- package/dist/web/assets/explorer-window-content-XnRTZT_X.js.br +0 -0
- package/dist/web/assets/explorer-window-content-XnRTZT_X.js.gz +0 -0
- package/dist/web/assets/extension-manager-section-DEbwRPf1.js +1 -0
- package/dist/web/assets/extension-manager-section-DEbwRPf1.js.br +0 -0
- package/dist/web/assets/extension-manager-section-DEbwRPf1.js.gz +0 -0
- package/dist/web/assets/extension-webview-C9ApceLU.js +12 -0
- package/dist/web/assets/extension-webview-C9ApceLU.js.br +0 -0
- package/dist/web/assets/extension-webview-C9ApceLU.js.gz +0 -0
- package/dist/web/assets/file-diff-lX1a7RLF.js +1 -0
- package/dist/web/assets/file-icons-DpwcJLL4.js +1 -0
- package/dist/web/assets/file-icons-DpwcJLL4.js.br +0 -0
- package/dist/web/assets/file-icons-DpwcJLL4.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-C8MacVFQ.js +1 -0
- package/dist/web/assets/files-settings-section-C8MacVFQ.js.br +0 -0
- package/dist/web/assets/files-settings-section-C8MacVFQ.js.gz +0 -0
- package/dist/web/assets/filter-dialog-frame-CoWlaNRy.js +1 -0
- package/dist/web/assets/filter-dialog-frame-CoWlaNRy.js.br +0 -0
- package/dist/web/assets/filter-dialog-frame-CoWlaNRy.js.gz +0 -0
- package/dist/web/assets/flowDiagram-PKNHOUZH-XzNJSFMz.js +162 -0
- package/dist/web/assets/flowDiagram-PKNHOUZH-XzNJSFMz.js.br +0 -0
- package/dist/web/assets/flowDiagram-PKNHOUZH-XzNJSFMz.js.gz +0 -0
- package/dist/web/assets/format-file-meta-C0LKHE3e.js +1 -0
- package/dist/web/assets/format-file-meta-C0LKHE3e.js.br +0 -0
- package/dist/web/assets/format-file-meta-C0LKHE3e.js.gz +0 -0
- package/dist/web/assets/fortran-fixed-form-DrQbMSkt.js +1 -0
- package/dist/web/assets/fortran-fixed-form-DrQbMSkt.js.br +0 -0
- package/dist/web/assets/fortran-fixed-form-DrQbMSkt.js.gz +0 -0
- package/dist/web/assets/fs-api-BQrIEcvo.js +1 -0
- package/dist/web/assets/fs-api-BQrIEcvo.js.br +0 -0
- package/dist/web/assets/fs-api-BQrIEcvo.js.gz +0 -0
- package/dist/web/assets/fsharp-DvDj84Ys.js +1 -0
- package/dist/web/assets/fsharp-DvDj84Ys.js.br +0 -0
- package/dist/web/assets/fsharp-DvDj84Ys.js.gz +0 -0
- package/dist/web/assets/ganttDiagram-A5KZAMGK-5AL8Egrk.js +292 -0
- package/dist/web/assets/ganttDiagram-A5KZAMGK-5AL8Egrk.js.br +0 -0
- package/dist/web/assets/ganttDiagram-A5KZAMGK-5AL8Egrk.js.gz +0 -0
- package/dist/web/assets/gdresource-CPgY7R2s.js +1 -0
- package/dist/web/assets/gdresource-CPgY7R2s.js.br +0 -0
- package/dist/web/assets/gdresource-CPgY7R2s.js.gz +0 -0
- package/dist/web/assets/general-settings-section-DZRRGdlQ.js +1 -0
- package/dist/web/assets/general-settings-section-DZRRGdlQ.js.br +0 -0
- package/dist/web/assets/general-settings-section-DZRRGdlQ.js.gz +0 -0
- package/dist/web/assets/git-commit-NJ9iGbTd.js +1 -0
- package/dist/web/assets/git-commit-NJ9iGbTd.js.br +4 -0
- package/dist/web/assets/git-commit-NJ9iGbTd.js.gz +0 -0
- package/dist/web/assets/git-commit-horizontal-BVihXafd.js +1 -0
- package/dist/web/assets/git-log-panel-g2pBnu6r.js +1 -0
- package/dist/web/assets/git-log-panel-g2pBnu6r.js.br +0 -0
- package/dist/web/assets/git-log-panel-g2pBnu6r.js.gz +0 -0
- package/dist/web/assets/git-rebase-Cm4Uf8Bj.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-BzI5mxWd.js +3 -0
- package/dist/web/assets/git-review-tab-BzI5mxWd.js.br +0 -0
- package/dist/web/assets/git-review-tab-BzI5mxWd.js.gz +0 -0
- package/dist/web/assets/gitGraph-HDMCJU4V-6AuIeDPs.js +1 -0
- package/dist/web/assets/gitGraphDiagram-K3NZZRJ6-DzKvk1bR.js +65 -0
- package/dist/web/assets/gitGraphDiagram-K3NZZRJ6-DzKvk1bR.js.br +0 -0
- package/dist/web/assets/gitGraphDiagram-K3NZZRJ6-DzKvk1bR.js.gz +0 -0
- package/dist/web/assets/glide-data-grid-BxvI3ehr.js +177 -0
- package/dist/web/assets/glide-data-grid-BxvI3ehr.js.br +0 -0
- package/dist/web/assets/glide-data-grid-BxvI3ehr.js.gz +0 -0
- package/dist/web/assets/glimmer-js-BrXGdFD2.js +1 -0
- package/dist/web/assets/glimmer-js-BrXGdFD2.js.br +0 -0
- package/dist/web/assets/glimmer-js-BrXGdFD2.js.gz +0 -0
- package/dist/web/assets/glimmer-ts-V0NFutRE.js +1 -0
- package/dist/web/assets/glimmer-ts-V0NFutRE.js.br +0 -0
- package/dist/web/assets/glimmer-ts-V0NFutRE.js.gz +0 -0
- package/dist/web/assets/glsl-DtvoVBT2.js +1 -0
- package/dist/web/assets/glsl-DtvoVBT2.js.br +0 -0
- package/dist/web/assets/glsl-DtvoVBT2.js.gz +0 -0
- package/dist/web/assets/graphlib-BpGCrXCx.js +1 -0
- package/dist/web/assets/graphlib-BpGCrXCx.js.br +0 -0
- package/dist/web/assets/graphlib-BpGCrXCx.js.gz +0 -0
- package/dist/web/assets/graphql-BM_SRktm.js +1 -0
- package/dist/web/assets/graphql-BM_SRktm.js.br +0 -0
- package/dist/web/assets/graphql-BM_SRktm.js.gz +0 -0
- package/dist/web/assets/grid-save-dialog-D55Po6Vu.js +2 -0
- package/dist/web/assets/grid-save-dialog-D55Po6Vu.js.br +0 -0
- package/dist/web/assets/grid-save-dialog-D55Po6Vu.js.gz +0 -0
- package/dist/web/assets/group-chat-tab-CoMC-Fx1.js +1 -0
- package/dist/web/assets/group-chat-tab-CoMC-Fx1.js.br +0 -0
- package/dist/web/assets/group-chat-tab-CoMC-Fx1.js.gz +0 -0
- package/dist/web/assets/hack-Ban3lpvB.js +1 -0
- package/dist/web/assets/hack-Ban3lpvB.js.br +0 -0
- package/dist/web/assets/hack-Ban3lpvB.js.gz +0 -0
- package/dist/web/assets/haml-CmZRp0VI.js +1 -0
- package/dist/web/assets/haml-CmZRp0VI.js.br +0 -0
- package/dist/web/assets/haml-CmZRp0VI.js.gz +0 -0
- package/dist/web/assets/handlebars-BTEDAMAb.js +1 -0
- package/dist/web/assets/handlebars-BTEDAMAb.js.br +0 -0
- package/dist/web/assets/handlebars-BTEDAMAb.js.gz +0 -0
- package/dist/web/assets/html-ItWVe1s-.js +1 -0
- package/dist/web/assets/html-ItWVe1s-.js.br +0 -0
- package/dist/web/assets/html-ItWVe1s-.js.gz +0 -0
- package/dist/web/assets/html-derivative-D_5yGE7d.js +1 -0
- package/dist/web/assets/http-7C1QiRf1.js +1 -0
- package/dist/web/assets/http-7C1QiRf1.js.br +0 -0
- package/dist/web/assets/http-7C1QiRf1.js.gz +0 -0
- package/dist/web/assets/hurl-Pypp_tSf.js +1 -0
- package/dist/web/assets/hurl-Pypp_tSf.js.br +0 -0
- package/dist/web/assets/hurl-Pypp_tSf.js.gz +0 -0
- package/dist/web/assets/hxml-C2EdtM37.js +1 -0
- package/dist/web/assets/hxml-C2EdtM37.js.br +0 -0
- package/dist/web/assets/hxml-C2EdtM37.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-D7KR11Xo.js +1 -0
- package/dist/web/assets/impexp-state-BWKOuRGj.js +4 -0
- package/dist/web/assets/impexp-state-BWKOuRGj.js.br +0 -0
- package/dist/web/assets/impexp-state-BWKOuRGj.js.gz +0 -0
- package/dist/web/assets/impexp-tab-JF6JF8eO.js +1 -0
- package/dist/web/assets/impexp-tab-JF6JF8eO.js.br +0 -0
- package/dist/web/assets/impexp-tab-JF6JF8eO.js.gz +0 -0
- package/dist/web/assets/index-DyYGWFVa.css +1 -0
- package/dist/web/assets/index-DyYGWFVa.css.br +0 -0
- package/dist/web/assets/index-DyYGWFVa.css.gz +0 -0
- package/dist/web/assets/index-ItT-dTPV.js +59 -0
- package/dist/web/assets/index-ItT-dTPV.js.br +0 -0
- package/dist/web/assets/index-ItT-dTPV.js.gz +0 -0
- package/dist/web/assets/info-3K5VOQVL-CE88wNg6.js +1 -0
- package/dist/web/assets/infoDiagram-LFFYTUFH-BCnHmp4F.js +2 -0
- package/dist/web/assets/input-CKGoVpYv.js +1 -0
- package/dist/web/assets/isEmpty-dcb0OVvj.js +1 -0
- package/dist/web/assets/isEmpty-dcb0OVvj.js.br +0 -0
- package/dist/web/assets/isEmpty-dcb0OVvj.js.gz +0 -0
- package/dist/web/assets/ishikawaDiagram-PHBUUO56-gS3UZ04x.js +70 -0
- package/dist/web/assets/ishikawaDiagram-PHBUUO56-gS3UZ04x.js.br +0 -0
- package/dist/web/assets/ishikawaDiagram-PHBUUO56-gS3UZ04x.js.gz +0 -0
- package/dist/web/assets/jinja-CUU2G4qS.js +1 -0
- package/dist/web/assets/jinja-CUU2G4qS.js.br +0 -0
- package/dist/web/assets/jinja-CUU2G4qS.js.gz +0 -0
- package/dist/web/assets/jira-watcher-section-CvyXLyjO.js +1 -0
- package/dist/web/assets/jison-Cafe7d1m.js +1 -0
- package/dist/web/assets/jison-Cafe7d1m.js.br +0 -0
- package/dist/web/assets/jison-Cafe7d1m.js.gz +0 -0
- package/dist/web/assets/journeyDiagram-4ABVD52K-COVa2Vge.js +139 -0
- package/dist/web/assets/journeyDiagram-4ABVD52K-COVa2Vge.js.br +0 -0
- package/dist/web/assets/journeyDiagram-4ABVD52K-COVa2Vge.js.gz +0 -0
- package/dist/web/assets/julia-6B24A_s4.js +1 -0
- package/dist/web/assets/julia-6B24A_s4.js.br +0 -0
- package/dist/web/assets/julia-6B24A_s4.js.gz +0 -0
- package/dist/web/assets/just-B-sDN3xg.js +1 -0
- package/dist/web/assets/just-B-sDN3xg.js.br +0 -0
- package/dist/web/assets/just-B-sDN3xg.js.gz +0 -0
- package/dist/web/assets/kanban-definition-K7BYSVSG-CtqP4i48.js +89 -0
- package/dist/web/assets/kanban-definition-K7BYSVSG-CtqP4i48.js.br +0 -0
- package/dist/web/assets/kanban-definition-K7BYSVSG-CtqP4i48.js.gz +0 -0
- package/dist/web/assets/keybindings-store-CeEtx6js.js +1 -0
- package/dist/web/assets/keyboard-shortcuts-section-MUIE0Rvf.js +1 -0
- package/dist/web/assets/keyboard-shortcuts-section-MUIE0Rvf.js.br +0 -0
- package/dist/web/assets/keyboard-shortcuts-section-MUIE0Rvf.js.gz +0 -0
- package/dist/web/assets/language-servers-section-DiYURB24.js +2 -0
- package/dist/web/assets/language-servers-section-DiYURB24.js.br +0 -0
- package/dist/web/assets/language-servers-section-DiYURB24.js.gz +0 -0
- package/dist/web/assets/latex-BRjk2Rtm.js +1 -0
- package/dist/web/assets/latex-BRjk2Rtm.js.br +0 -0
- package/dist/web/assets/latex-BRjk2Rtm.js.gz +0 -0
- package/dist/web/assets/line-DXN3CJk7.js +1 -0
- package/dist/web/assets/linear-A-Z2llI9.js +1 -0
- package/dist/web/assets/linear-A-Z2llI9.js.br +0 -0
- package/dist/web/assets/linear-A-Z2llI9.js.gz +0 -0
- package/dist/web/assets/liquid-C5GHq6B-.js +1 -0
- package/dist/web/assets/liquid-C5GHq6B-.js.br +0 -0
- package/dist/web/assets/liquid-C5GHq6B-.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-CJlNqOdc.js +13 -0
- package/dist/web/assets/logs-app-CJlNqOdc.js.br +0 -0
- package/dist/web/assets/logs-app-CJlNqOdc.js.gz +0 -0
- package/dist/web/assets/logs-tab-BoAlm_8H.js +1 -0
- package/dist/web/assets/logs-window-content-nNm4jl1s.js +1 -0
- package/dist/web/assets/lsp-client-LnKiMWeG.js +1 -0
- package/dist/web/assets/lsp-client-LnKiMWeG.js.br +0 -0
- package/dist/web/assets/lsp-client-LnKiMWeG.js.gz +0 -0
- package/dist/web/assets/lua-CREU2Cg5.js +1 -0
- package/dist/web/assets/lua-CREU2Cg5.js.br +0 -0
- package/dist/web/assets/lua-CREU2Cg5.js.gz +0 -0
- package/dist/web/assets/markdown-renderer-8Hef5MLx.js +1 -0
- package/dist/web/assets/markdown-renderer-BH_CFPJw.js +5 -0
- package/dist/web/assets/markdown-renderer-BH_CFPJw.js.br +0 -0
- package/dist/web/assets/markdown-renderer-BH_CFPJw.js.gz +0 -0
- package/dist/web/assets/marko-A01nJSfd.js +1 -0
- package/dist/web/assets/marko-A01nJSfd.js.br +0 -0
- package/dist/web/assets/marko-A01nJSfd.js.gz +0 -0
- package/dist/web/assets/mdc-coGBHeYV.js +1 -0
- package/dist/web/assets/mdc-coGBHeYV.js.br +0 -0
- package/dist/web/assets/mdc-coGBHeYV.js.gz +0 -0
- package/dist/web/assets/media-url-CsdZ6q_T.js +1 -0
- package/dist/web/assets/mermaid-parser.core-BwbMfUJY.js +4 -0
- package/dist/web/assets/mermaid-parser.core-BwbMfUJY.js.br +0 -0
- package/dist/web/assets/mermaid-parser.core-BwbMfUJY.js.gz +0 -0
- package/dist/web/assets/mermaid.core-DNHX7DSU.js +11 -0
- package/dist/web/assets/mermaid.core-DNHX7DSU.js.br +0 -0
- package/dist/web/assets/mermaid.core-DNHX7DSU.js.gz +0 -0
- package/dist/web/assets/mindmap-definition-YRQLILUH-B7las60M.js +68 -0
- package/dist/web/assets/mindmap-definition-YRQLILUH-B7las60M.js.br +0 -0
- package/dist/web/assets/mindmap-definition-YRQLILUH-B7las60M.js.gz +0 -0
- package/dist/web/assets/mobile-bottom-sheet-CGmmdp_5.js +1 -0
- package/dist/web/assets/mobile-bottom-sheet-CGmmdp_5.js.br +0 -0
- package/dist/web/assets/mobile-bottom-sheet-CGmmdp_5.js.gz +0 -0
- package/dist/web/assets/mobile-explorer-sheet-Dh2ZECzL.js +1 -0
- package/dist/web/assets/mobile-explorer-sheet-Dh2ZECzL.js.br +0 -0
- package/dist/web/assets/mobile-explorer-sheet-Dh2ZECzL.js.gz +0 -0
- package/dist/web/assets/monaco-dotenv-language-IZxwhtNA.js +1 -0
- package/dist/web/assets/new-design-dialog-CgBUrVFx.js +1 -0
- package/dist/web/assets/new-design-dialog-CgBUrVFx.js.br +0 -0
- package/dist/web/assets/new-design-dialog-CgBUrVFx.js.gz +0 -0
- package/dist/web/assets/nextflow-DKFYidyC.js +1 -0
- package/dist/web/assets/nextflow-DKFYidyC.js.br +0 -0
- package/dist/web/assets/nextflow-DKFYidyC.js.gz +0 -0
- package/dist/web/assets/nginx-B9Y4fsja.js +1 -0
- package/dist/web/assets/nginx-B9Y4fsja.js.br +0 -0
- package/dist/web/assets/nginx-B9Y4fsja.js.gz +0 -0
- package/dist/web/assets/nim-BEDyxLED.js +1 -0
- package/dist/web/assets/nim-BEDyxLED.js.br +0 -0
- package/dist/web/assets/nim-BEDyxLED.js.gz +0 -0
- package/dist/web/assets/notification-store-CXC7u6MW.js +1 -0
- package/dist/web/assets/notifications-settings-section-CPbx23nU.js +1 -0
- package/dist/web/assets/notifications-settings-section-CPbx23nU.js.br +0 -0
- package/dist/web/assets/notifications-settings-section-CPbx23nU.js.gz +0 -0
- package/dist/web/assets/onboarding-entry--MWe4amV.js +1 -0
- package/dist/web/assets/onboarding-entry--MWe4amV.js.br +0 -0
- package/dist/web/assets/onboarding-entry--MWe4amV.js.gz +0 -0
- package/dist/web/assets/onboarding-quick-orientation-DZYQekRt.js +1 -0
- package/dist/web/assets/onboarding-quick-orientation-DZYQekRt.js.br +0 -0
- package/dist/web/assets/onboarding-quick-orientation-DZYQekRt.js.gz +0 -0
- package/dist/web/assets/open-db-tabs-CkQe49j_.js +1 -0
- package/dist/web/assets/open-db-tabs-CkQe49j_.js.br +0 -0
- package/dist/web/assets/open-db-tabs-CkQe49j_.js.gz +0 -0
- package/dist/web/assets/open-settings-DsGBn73g.js +1 -0
- package/dist/web/assets/ordinal-U3GzwL7N.js +1 -0
- package/dist/web/assets/ordinal-U3GzwL7N.js.br +0 -0
- package/dist/web/assets/ordinal-U3GzwL7N.js.gz +0 -0
- package/dist/web/assets/overview-panel-CcUGDvnt.js +1 -0
- package/dist/web/assets/overview-panel-CcUGDvnt.js.br +0 -0
- package/dist/web/assets/overview-panel-CcUGDvnt.js.gz +0 -0
- package/dist/web/assets/packet-RMMSAZCW-m_QfwO7e.js +1 -0
- package/dist/web/assets/panel-store-DmP16Fo0.js +1 -0
- package/dist/web/assets/panel-store-DmP16Fo0.js.br +0 -0
- package/dist/web/assets/panel-store-DmP16Fo0.js.gz +0 -0
- package/dist/web/assets/patch-tab-metadata-B-jH5svY.js +1 -0
- package/dist/web/assets/pdf-preview-DMUIWb9B.js +1 -0
- package/dist/web/assets/pdf-preview-DMUIWb9B.js.br +0 -0
- package/dist/web/assets/pdf-preview-DMUIWb9B.js.gz +0 -0
- package/dist/web/assets/performance-panel-CJDLUwrs.js +3 -0
- package/dist/web/assets/performance-panel-CJDLUwrs.js.br +0 -0
- package/dist/web/assets/performance-panel-CJDLUwrs.js.gz +0 -0
- package/dist/web/assets/perl-CSnMi18C.js +1 -0
- package/dist/web/assets/perl-CSnMi18C.js.br +0 -0
- package/dist/web/assets/perl-CSnMi18C.js.gz +0 -0
- package/dist/web/assets/php-BXzT2401.js +1 -0
- package/dist/web/assets/php-BXzT2401.js.br +0 -0
- package/dist/web/assets/php-BXzT2401.js.gz +0 -0
- package/dist/web/assets/pie-UPGHQEXC-CLkXafuF.js +1 -0
- package/dist/web/assets/pieDiagram-SKSYHLDU-BO4P6Wpl.js +30 -0
- package/dist/web/assets/pieDiagram-SKSYHLDU-BO4P6Wpl.js.br +0 -0
- package/dist/web/assets/pieDiagram-SKSYHLDU-BO4P6Wpl.js.gz +0 -0
- package/dist/web/assets/ppmbot-settings-section-DTCTPQ-R.js +1 -0
- package/dist/web/assets/ppmbot-settings-section-DTCTPQ-R.js.br +0 -0
- package/dist/web/assets/ppmbot-settings-section-DTCTPQ-R.js.gz +0 -0
- package/dist/web/assets/pptx-export-BxmgltJ4.js +111 -0
- package/dist/web/assets/pptx-export-BxmgltJ4.js.br +0 -0
- package/dist/web/assets/pptx-export-BxmgltJ4.js.gz +0 -0
- package/dist/web/assets/problems-panel-DX32QDH_.js +1 -0
- package/dist/web/assets/problems-panel-DX32QDH_.js.br +0 -0
- package/dist/web/assets/problems-panel-DX32QDH_.js.gz +0 -0
- package/dist/web/assets/process-row-format-CBw-CQCx.js +1 -0
- package/dist/web/assets/process-table-CX-NhOg6.js +1 -0
- package/dist/web/assets/process-table-CX-NhOg6.js.br +0 -0
- package/dist/web/assets/process-table-CX-NhOg6.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-BGNvFe7e.js +1 -0
- package/dist/web/assets/proxy-settings-section-BGNvFe7e.js.br +0 -0
- package/dist/web/assets/proxy-settings-section-BGNvFe7e.js.gz +0 -0
- package/dist/web/assets/pug-Bv9xupen.js +1 -0
- package/dist/web/assets/pug-Bv9xupen.js.br +0 -0
- package/dist/web/assets/pug-Bv9xupen.js.gz +0 -0
- package/dist/web/assets/qml-C3E1ICV4.js +1 -0
- package/dist/web/assets/qml-C3E1ICV4.js.br +0 -0
- package/dist/web/assets/qml-C3E1ICV4.js.gz +0 -0
- package/dist/web/assets/quadrantDiagram-337W2JSQ-B4TWXN8P.js +7 -0
- package/dist/web/assets/quadrantDiagram-337W2JSQ-B4TWXN8P.js.br +0 -0
- package/dist/web/assets/quadrantDiagram-337W2JSQ-B4TWXN8P.js.gz +0 -0
- package/dist/web/assets/query-audit-section-DTHI5GP7.js +1 -0
- package/dist/web/assets/query-audit-section-DTHI5GP7.js.br +0 -0
- package/dist/web/assets/query-audit-section-DTHI5GP7.js.gz +0 -0
- package/dist/web/assets/query-tab-qMlIkHRk.js +22 -0
- package/dist/web/assets/query-tab-qMlIkHRk.js.br +0 -0
- package/dist/web/assets/query-tab-qMlIkHRk.js.gz +0 -0
- package/dist/web/assets/radar-KQ55EAFF-BMCQVm9g.js +1 -0
- package/dist/web/assets/razor-wo4lUwpU.js +1 -0
- package/dist/web/assets/razor-wo4lUwpU.js.br +0 -0
- package/dist/web/assets/razor-wo4lUwpU.js.gz +0 -0
- package/dist/web/assets/remote-access-settings-section-t2BYAA9g.js +1 -0
- package/dist/web/assets/remote-access-settings-section-t2BYAA9g.js.br +0 -0
- package/dist/web/assets/remote-access-settings-section-t2BYAA9g.js.gz +0 -0
- package/dist/web/assets/remote-desktop-clipboard-notice-ChUU6Jts.js +1 -0
- package/dist/web/assets/remote-desktop-clipboard-notice-ChUU6Jts.js.br +0 -0
- package/dist/web/assets/remote-desktop-clipboard-notice-ChUU6Jts.js.gz +0 -0
- package/dist/web/assets/remote-desktop-mobile-sheet-_bopEtCa.js +2 -0
- package/dist/web/assets/remote-desktop-mobile-sheet-_bopEtCa.js.br +0 -0
- package/dist/web/assets/remote-desktop-mobile-sheet-_bopEtCa.js.gz +0 -0
- package/dist/web/assets/remote-desktop-mobile-view-D9G4kDfa.js +1 -0
- package/dist/web/assets/remote-desktop-mobile-view-D9G4kDfa.js.br +0 -0
- package/dist/web/assets/remote-desktop-mobile-view-D9G4kDfa.js.gz +0 -0
- package/dist/web/assets/remote-desktop-readiness-gate-Yz9eVB3-.js +1 -0
- package/dist/web/assets/remote-desktop-readiness-gate-Yz9eVB3-.js.br +0 -0
- package/dist/web/assets/remote-desktop-readiness-gate-Yz9eVB3-.js.gz +0 -0
- package/dist/web/assets/remote-desktop-settings-section-BTGGSjZY.js +1 -0
- package/dist/web/assets/remote-desktop-settings-section-BTGGSjZY.js.br +0 -0
- package/dist/web/assets/remote-desktop-settings-section-BTGGSjZY.js.gz +0 -0
- package/dist/web/assets/remote-desktop-window-content-B8ZaG2bL.js +1 -0
- package/dist/web/assets/remote-desktop-window-content-B8ZaG2bL.js.br +0 -0
- package/dist/web/assets/remote-desktop-window-content-B8ZaG2bL.js.gz +0 -0
- package/dist/web/assets/rename-object-dialog-FSlcdUoB.js +1 -0
- package/dist/web/assets/rename-object-dialog-FSlcdUoB.js.br +0 -0
- package/dist/web/assets/rename-object-dialog-FSlcdUoB.js.gz +0 -0
- package/dist/web/assets/requirementDiagram-Z7DCOOCP-C3bEBd6h.js +73 -0
- package/dist/web/assets/requirementDiagram-Z7DCOOCP-C3bEBd6h.js.br +0 -0
- package/dist/web/assets/requirementDiagram-Z7DCOOCP-C3bEBd6h.js.gz +0 -0
- package/dist/web/assets/review-code-CfuJeLYd.js +5 -0
- package/dist/web/assets/review-code-CfuJeLYd.js.br +0 -0
- package/dist/web/assets/review-code-CfuJeLYd.js.gz +0 -0
- package/dist/web/assets/rst-BP6JFRY2.js +1 -0
- package/dist/web/assets/rst-BP6JFRY2.js.br +0 -0
- package/dist/web/assets/rst-BP6JFRY2.js.gz +0 -0
- package/dist/web/assets/ruby-EPVx8l1i.js +1 -0
- package/dist/web/assets/ruby-EPVx8l1i.js.br +0 -0
- package/dist/web/assets/ruby-EPVx8l1i.js.gz +0 -0
- package/dist/web/assets/run-in-terminal-Bk9Bw7G1.js +1 -0
- package/dist/web/assets/run-in-terminal-button-DFPQUlZs.js +1 -0
- package/dist/web/assets/sankeyDiagram-WA2Y5GQK-BxAKhnHw.js +10 -0
- package/dist/web/assets/sankeyDiagram-WA2Y5GQK-BxAKhnHw.js.br +0 -0
- package/dist/web/assets/sankeyDiagram-WA2Y5GQK-BxAKhnHw.js.gz +0 -0
- package/dist/web/assets/sas-NhxEMTOf.js +1 -0
- package/dist/web/assets/sas-NhxEMTOf.js.br +0 -0
- package/dist/web/assets/sas-NhxEMTOf.js.gz +0 -0
- package/dist/web/assets/save-as-dialog-Bj9VpGYf.js +1 -0
- package/dist/web/assets/save-as-dialog-Bj9VpGYf.js.br +0 -0
- package/dist/web/assets/save-as-dialog-Bj9VpGYf.js.gz +0 -0
- package/dist/web/assets/schedules-settings-section-DNJ4K7zS.js +1 -0
- package/dist/web/assets/schedules-settings-section-DNJ4K7zS.js.br +0 -0
- package/dist/web/assets/schedules-settings-section-DNJ4K7zS.js.gz +0 -0
- package/dist/web/assets/scroll-area-6Am1KMiB.js +1 -0
- package/dist/web/assets/scroll-area-6Am1KMiB.js.br +0 -0
- package/dist/web/assets/scroll-area-6Am1KMiB.js.gz +0 -0
- package/dist/web/assets/scss-DdAMYXTJ.js +1 -0
- package/dist/web/assets/scss-DdAMYXTJ.js.br +0 -0
- package/dist/web/assets/scss-DdAMYXTJ.js.gz +0 -0
- package/dist/web/assets/send-to-chat-Bcm_Lcog.js +1 -0
- package/dist/web/assets/send-to-chat-Bcm_Lcog.js.br +0 -0
- package/dist/web/assets/send-to-chat-Bcm_Lcog.js.gz +0 -0
- package/dist/web/assets/separator-BOYUIPkH.js +1 -0
- package/dist/web/assets/sequenceDiagram-2WXFIKYE-Dfq9uyFD.js +145 -0
- package/dist/web/assets/sequenceDiagram-2WXFIKYE-Dfq9uyFD.js.br +0 -0
- package/dist/web/assets/sequenceDiagram-2WXFIKYE-Dfq9uyFD.js.gz +0 -0
- package/dist/web/assets/services-panel-CBRTsROB.js +1 -0
- package/dist/web/assets/services-panel-CBRTsROB.js.br +0 -0
- package/dist/web/assets/services-panel-CBRTsROB.js.gz +0 -0
- package/dist/web/assets/session-changes-bar-BRopa3Dh.js +1 -0
- package/dist/web/assets/session-changes-bar-BRopa3Dh.js.br +0 -0
- package/dist/web/assets/session-changes-bar-BRopa3Dh.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--kNB_FKQ.js +6 -0
- package/dist/web/assets/session-review-tab--kNB_FKQ.js.br +0 -0
- package/dist/web/assets/session-review-tab--kNB_FKQ.js.gz +0 -0
- package/dist/web/assets/session-turns-gmrmXzeg.js +9 -0
- package/dist/web/assets/session-turns-gmrmXzeg.js.br +0 -0
- package/dist/web/assets/session-turns-gmrmXzeg.js.gz +0 -0
- package/dist/web/assets/settings-body-B-s0fEjc.js +1 -0
- package/dist/web/assets/settings-body-B-s0fEjc.js.br +0 -0
- package/dist/web/assets/settings-body-B-s0fEjc.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-BJ35dy5r.js +1 -0
- package/dist/web/assets/settings-section-content-DckksvTg.js +2 -0
- package/dist/web/assets/settings-section-content-DckksvTg.js.br +0 -0
- package/dist/web/assets/settings-section-content-DckksvTg.js.gz +0 -0
- package/dist/web/assets/settings-store-WeJyQVL8.js +2 -0
- package/dist/web/assets/settings-store-WeJyQVL8.js.br +0 -0
- package/dist/web/assets/settings-store-WeJyQVL8.js.gz +0 -0
- package/dist/web/assets/settings-tab-BlX33GEN.js +1 -0
- package/dist/web/assets/settings-window-content-B-7yV1_q.js +1 -0
- package/dist/web/assets/shaderlab-Cv3mWofL.js +1 -0
- package/dist/web/assets/shaderlab-Cv3mWofL.js.br +0 -0
- package/dist/web/assets/shaderlab-Cv3mWofL.js.gz +0 -0
- package/dist/web/assets/shellsession-47z2x_c2.js +1 -0
- package/dist/web/assets/slash-command-picker-BBcy6w6m.js +1 -0
- package/dist/web/assets/slash-command-picker-BBcy6w6m.js.br +0 -0
- package/dist/web/assets/slash-command-picker-BBcy6w6m.js.gz +0 -0
- package/dist/web/assets/sortable-header-B9gfWik4.js +1 -0
- package/dist/web/assets/sortable-header-B9gfWik4.js.br +0 -0
- package/dist/web/assets/sortable-header-B9gfWik4.js.gz +0 -0
- package/dist/web/assets/soy-DbMmewuy.js +1 -0
- package/dist/web/assets/soy-DbMmewuy.js.br +0 -0
- package/dist/web/assets/soy-DbMmewuy.js.gz +0 -0
- package/dist/web/assets/sparql-TvnQmFDh.js +1 -0
- package/dist/web/assets/sparql-TvnQmFDh.js.br +0 -0
- package/dist/web/assets/sparql-TvnQmFDh.js.gz +0 -0
- package/dist/web/assets/sql-completion-provider-CaTHVr1l.js +5 -0
- package/dist/web/assets/sql-completion-provider-CaTHVr1l.js.br +0 -0
- package/dist/web/assets/sql-completion-provider-CaTHVr1l.js.gz +0 -0
- package/dist/web/assets/sql-identifiers-DDISwQor.js +1 -0
- package/dist/web/assets/sql-identifiers-DDISwQor.js.br +0 -0
- package/dist/web/assets/sql-identifiers-DDISwQor.js.gz +0 -0
- package/dist/web/assets/sql-object-tab-DVo4bxRI.js +1 -0
- package/dist/web/assets/sql-object-tab-DVo4bxRI.js.br +0 -0
- package/dist/web/assets/sql-object-tab-DVo4bxRI.js.gz +0 -0
- package/dist/web/assets/sqlite-viewer-BGfIpl5x.js +1 -0
- package/dist/web/assets/sqlite-viewer-BGfIpl5x.js.br +0 -0
- package/dist/web/assets/sqlite-viewer-BGfIpl5x.js.gz +0 -0
- package/dist/web/assets/start-ellipsis-rBh37k0n.js +1 -0
- package/dist/web/assets/stata-ColYzPoX.js +1 -0
- package/dist/web/assets/stata-ColYzPoX.js.br +0 -0
- package/dist/web/assets/stata-ColYzPoX.js.gz +0 -0
- package/dist/web/assets/stateDiagram-RAJIS63D-B8YqGq27.js +1 -0
- package/dist/web/assets/stateDiagram-RAJIS63D-B8YqGq27.js.br +0 -0
- package/dist/web/assets/stateDiagram-RAJIS63D-B8YqGq27.js.gz +0 -0
- package/dist/web/assets/stateDiagram-v2-FVOUBMTO-U76Fcmmw.js +1 -0
- package/dist/web/assets/structure-save-dialog-STK_RFCK.js +1 -0
- package/dist/web/assets/structure-save-dialog-STK_RFCK.js.br +0 -0
- package/dist/web/assets/structure-save-dialog-STK_RFCK.js.gz +0 -0
- package/dist/web/assets/structure-tab-DuLnsTC4.js +3 -0
- package/dist/web/assets/structure-tab-DuLnsTC4.js.br +0 -0
- package/dist/web/assets/structure-tab-DuLnsTC4.js.gz +0 -0
- package/dist/web/assets/surrealql-Bq6PTSr5.js +1 -0
- package/dist/web/assets/surrealql-Bq6PTSr5.js.br +0 -0
- package/dist/web/assets/surrealql-Bq6PTSr5.js.gz +0 -0
- package/dist/web/assets/svelte-QMQkUlOI.js +1 -0
- package/dist/web/assets/svelte-QMQkUlOI.js.br +0 -0
- package/dist/web/assets/svelte-QMQkUlOI.js.gz +0 -0
- package/dist/web/assets/system-monitor-body-BIjW16Pb.js +2 -0
- package/dist/web/assets/system-monitor-body-BIjW16Pb.js.br +0 -0
- package/dist/web/assets/system-monitor-body-BIjW16Pb.js.gz +0 -0
- package/dist/web/assets/system-monitor-tab-B6_tC9LO.js +1 -0
- package/dist/web/assets/system-monitor-window-content-CwBzqMUe.js +1 -0
- package/dist/web/assets/tab-host-window-content-CpdEjkZd.js +1 -0
- package/dist/web/assets/tab-host-window-content-CpdEjkZd.js.br +0 -0
- package/dist/web/assets/tab-host-window-content-CpdEjkZd.js.gz +0 -0
- package/dist/web/assets/tab-store-nNzRNfVV.js +1 -0
- package/dist/web/assets/table-tab-B5asfTBP.js +2 -0
- package/dist/web/assets/table-tab-B5asfTBP.js.br +0 -0
- package/dist/web/assets/table-tab-B5asfTBP.js.gz +0 -0
- package/dist/web/assets/telegram-bot-token-field-BiqKbXwE.js +1 -0
- package/dist/web/assets/telegram-bot-token-field-BiqKbXwE.js.br +0 -0
- package/dist/web/assets/telegram-bot-token-field-BiqKbXwE.js.gz +0 -0
- package/dist/web/assets/templ-C1kESo-I.js +1 -0
- package/dist/web/assets/templ-C1kESo-I.js.br +0 -0
- package/dist/web/assets/templ-C1kESo-I.js.gz +0 -0
- package/dist/web/assets/terminal-tab-DpMONMVB.js +3 -0
- package/dist/web/assets/terminal-tab-DpMONMVB.js.br +0 -0
- package/dist/web/assets/terminal-tab-DpMONMVB.js.gz +0 -0
- package/dist/web/assets/tex-B0snethp.js +1 -0
- package/dist/web/assets/tex-B0snethp.js.br +0 -0
- package/dist/web/assets/tex-B0snethp.js.gz +0 -0
- package/dist/web/assets/timeline-definition-YZTLITO2-3U3p-lPX.js +61 -0
- package/dist/web/assets/timeline-definition-YZTLITO2-3U3p-lPX.js.br +0 -0
- package/dist/web/assets/timeline-definition-YZTLITO2-3U3p-lPX.js.gz +0 -0
- package/dist/web/assets/tool-cards-DoDKxqN4.js +14 -0
- package/dist/web/assets/tool-cards-DoDKxqN4.js.br +0 -0
- package/dist/web/assets/tool-cards-DoDKxqN4.js.gz +0 -0
- package/dist/web/assets/treemap-KZPCXAKY-X6uv-HhJ.js +1 -0
- package/dist/web/assets/ts-tags-XXdX0qhp.js +1 -0
- package/dist/web/assets/ts-tags-XXdX0qhp.js.br +0 -0
- package/dist/web/assets/ts-tags-XXdX0qhp.js.gz +0 -0
- package/dist/web/assets/twig-DIZPhfGq.js +1 -0
- package/dist/web/assets/twig-DIZPhfGq.js.br +0 -0
- package/dist/web/assets/twig-DIZPhfGq.js.gz +0 -0
- package/dist/web/assets/use-at-most-wide-BQFi1Sjv.js +1 -0
- package/dist/web/assets/use-blob-url-D7ElNPnW.js +1 -0
- package/dist/web/assets/use-db-driver-installed-BscdI-wS.js +1 -0
- package/dist/web/assets/use-db-read-DYuyNA5i.js +1 -0
- package/dist/web/assets/use-db-read-DYuyNA5i.js.br +0 -0
- package/dist/web/assets/use-db-read-DYuyNA5i.js.gz +0 -0
- package/dist/web/assets/use-db-tab-Cr4lXxwF.js +1 -0
- package/dist/web/assets/use-db-tab-Cr4lXxwF.js.br +0 -0
- package/dist/web/assets/use-db-tab-Cr4lXxwF.js.gz +0 -0
- package/dist/web/assets/use-design-canvas-check-DKlyMp-S.js +1 -0
- package/dist/web/assets/use-design-canvas-check-DKlyMp-S.js.br +0 -0
- package/dist/web/assets/use-design-canvas-check-DKlyMp-S.js.gz +0 -0
- package/dist/web/assets/use-inline-blame-DS0HrHJ3.js +16 -0
- package/dist/web/assets/use-inline-blame-DS0HrHJ3.js.br +0 -0
- package/dist/web/assets/use-inline-blame-DS0HrHJ3.js.gz +0 -0
- package/dist/web/assets/use-lsp-BTVDYrt6.js +6 -0
- package/dist/web/assets/use-lsp-BTVDYrt6.js.br +0 -0
- package/dist/web/assets/use-lsp-BTVDYrt6.js.gz +0 -0
- package/dist/web/assets/use-monaco-theme-DqnhExsm.js +1 -0
- package/dist/web/assets/use-opener-focus-C5L5UUJs.js +1 -0
- package/dist/web/assets/use-process-kill-D-SGQxDn.js +1 -0
- package/dist/web/assets/use-process-kill-D-SGQxDn.js.br +0 -0
- package/dist/web/assets/use-process-kill-D-SGQxDn.js.gz +0 -0
- package/dist/web/assets/use-sql-schema-info-DRb9dAKi.js +4 -0
- package/dist/web/assets/use-sql-schema-info-DRb9dAKi.js.br +0 -0
- package/dist/web/assets/use-sql-schema-info-DRb9dAKi.js.gz +0 -0
- package/dist/web/assets/use-websocket-C6RnlNVJ.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-DA_6uAVT.js +34 -0
- package/dist/web/assets/vennDiagram-LZ73GAT5-DA_6uAVT.js.br +0 -0
- package/dist/web/assets/vennDiagram-LZ73GAT5-DA_6uAVT.js.gz +0 -0
- package/dist/web/assets/video-preview-CYzeUPfH.js +1 -0
- package/dist/web/assets/video-preview-CYzeUPfH.js.br +0 -0
- package/dist/web/assets/video-preview-CYzeUPfH.js.gz +0 -0
- package/dist/web/assets/voice-settings-section-C01d-toF.js +1 -0
- package/dist/web/assets/voice-settings-section-C01d-toF.js.br +0 -0
- package/dist/web/assets/voice-settings-section-C01d-toF.js.gz +0 -0
- package/dist/web/assets/vue-Bzq4wgkZ.js +1 -0
- package/dist/web/assets/vue-Bzq4wgkZ.js.br +0 -0
- package/dist/web/assets/vue-Bzq4wgkZ.js.gz +0 -0
- package/dist/web/assets/vue-html-Cw1hn392.js +1 -0
- package/dist/web/assets/vue-html-Cw1hn392.js.br +0 -0
- package/dist/web/assets/vue-html-Cw1hn392.js.gz +0 -0
- package/dist/web/assets/vue-vine-BnNe0hw6.js +1 -0
- package/dist/web/assets/vue-vine-BnNe0hw6.js.br +0 -0
- package/dist/web/assets/vue-vine-BnNe0hw6.js.gz +0 -0
- package/dist/web/assets/web-preview-tab-F5C3quQs.js +1 -0
- package/dist/web/assets/web-preview-tab-F5C3quQs.js.br +0 -0
- package/dist/web/assets/web-preview-tab-F5C3quQs.js.gz +0 -0
- package/dist/web/assets/window-pip-registry-DSoB7T3k.js +1 -0
- package/dist/web/assets/window-store-zJczRsv4.js +1 -0
- package/dist/web/assets/window-store-zJczRsv4.js.br +0 -0
- package/dist/web/assets/window-store-zJczRsv4.js.gz +0 -0
- package/dist/web/assets/ws-auth-cWeQ7_61.js +1 -0
- package/dist/web/assets/xml-B_Dd-eqG.js +1 -0
- package/dist/web/assets/xml-B_Dd-eqG.js.br +0 -0
- package/dist/web/assets/xml-B_Dd-eqG.js.gz +0 -0
- package/dist/web/assets/xsl-gLqXzcUZ.js +1 -0
- package/dist/web/assets/xsl-gLqXzcUZ.js.br +0 -0
- package/dist/web/assets/xsl-gLqXzcUZ.js.gz +0 -0
- package/dist/web/assets/xychartDiagram-JWTSCODW-B02PE8Cu.js +7 -0
- package/dist/web/assets/xychartDiagram-JWTSCODW-B02PE8Cu.js.br +0 -0
- package/dist/web/assets/xychartDiagram-JWTSCODW-B02PE8Cu.js.gz +0 -0
- package/dist/web/index.html +52 -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 +389 -0
- package/docs/architecture/data-and-storage.md +108 -172
- package/docs/architecture/integrations.md +12 -4
- package/docs/architecture/workspace-and-ui.md +168 -6
- 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 +140 -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 +3 -2
- package/src/web/components/chat/chat-tab.tsx +183 -39
- 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 +66 -8
- 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/reply-card.tsx +28 -0
- package/src/web/components/chat/running-agents-bar.tsx +78 -44
- package/src/web/components/chat/session-change-row.tsx +118 -0
- package/src/web/components/chat/session-changes-bar.tsx +219 -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/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/window-content-registry.ts +2 -0
- package/src/web/components/floating-window/window-geometry.ts +3 -3
- package/src/web/components/floating-window/window-store-types.ts +1 -1
- 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 +3 -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/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 +65 -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/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 +52 -3
- 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-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/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/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/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 +14 -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 +34 -0
- package/src/web/stores/panel-utils.ts +69 -8
- package/src/web/stores/session-turns-store.ts +40 -0
- package/src/web/stores/settings-store.ts +72 -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-persistence.ts +23 -10
- 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-B4VNaaaA.js} +0 -0
- /package/dist/web/assets/{abap-Ds6L4g_T.js → abap-BIHt2d9F.js} +0 -0
- /package/dist/web/assets/{abap-Ds6L4g_T.js.br → abap-BIHt2d9F.js.br} +0 -0
- /package/dist/web/assets/{abap-Ds6L4g_T.js.gz → abap-BIHt2d9F.js.gz} +0 -0
- /package/dist/web/assets/{actionscript-3-CLNiH4aj.js → actionscript-3-rbCNRHFj.js} +0 -0
- /package/dist/web/assets/{actionscript-3-CLNiH4aj.js.br → actionscript-3-rbCNRHFj.js.br} +0 -0
- /package/dist/web/assets/{actionscript-3-CLNiH4aj.js.gz → actionscript-3-rbCNRHFj.js.gz} +0 -0
- /package/dist/web/assets/{ada-BoiebnO1.js → ada-CN94LQTJ.js} +0 -0
- /package/dist/web/assets/{ada-BoiebnO1.js.br → ada-CN94LQTJ.js.br} +0 -0
- /package/dist/web/assets/{ada-BoiebnO1.js.gz → ada-CN94LQTJ.js.gz} +0 -0
- /package/dist/web/assets/{andromeeda-CdMZLp1H.js → andromeeda-BsmcoXuQ.js} +0 -0
- /package/dist/web/assets/{andromeeda-CdMZLp1H.js.br → andromeeda-BsmcoXuQ.js.br} +0 -0
- /package/dist/web/assets/{andromeeda-CdMZLp1H.js.gz → andromeeda-BsmcoXuQ.js.gz} +0 -0
- /package/dist/web/assets/{apache-BKOdPQIP.js → apache-pRQmqcVZ.js} +0 -0
- /package/dist/web/assets/{apache-BKOdPQIP.js.br → apache-pRQmqcVZ.js.br} +0 -0
- /package/dist/web/assets/{apache-BKOdPQIP.js.gz → apache-pRQmqcVZ.js.gz} +0 -0
- /package/dist/web/assets/{apex-kTmPDDVo.js → apex-CNEumC1X.js} +0 -0
- /package/dist/web/assets/{apex-kTmPDDVo.js.br → apex-CNEumC1X.js.br} +0 -0
- /package/dist/web/assets/{apex-kTmPDDVo.js.gz → apex-CNEumC1X.js.gz} +0 -0
- /package/dist/web/assets/{applescript-C65SMPLe.js → applescript-DjEVsS-3.js} +0 -0
- /package/dist/web/assets/{applescript-C65SMPLe.js.br → applescript-DjEVsS-3.js.br} +0 -0
- /package/dist/web/assets/{applescript-C65SMPLe.js.gz → applescript-DjEVsS-3.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-DbhZRlTL.js} +0 -0
- /package/dist/web/assets/{ara-BKT6no2T.js.br → ara-DbhZRlTL.js.br} +0 -0
- /package/dist/web/assets/{ara-BKT6no2T.js.gz → ara-DbhZRlTL.js.gz} +0 -0
- /package/dist/web/assets/{array-F4LNYbhF.js → array-BQrdK5nm.js} +0 -0
- /package/dist/web/assets/{asciidoc-BGur0ue3.js → asciidoc-BsfbAXIK.js} +0 -0
- /package/dist/web/assets/{asciidoc-BGur0ue3.js.br → asciidoc-BsfbAXIK.js.br} +0 -0
- /package/dist/web/assets/{asciidoc-BGur0ue3.js.gz → asciidoc-BsfbAXIK.js.gz} +0 -0
- /package/dist/web/assets/{asm-DOfgqCKD.js → asm-Vw5NMXjI.js} +0 -0
- /package/dist/web/assets/{asm-DOfgqCKD.js.br → asm-Vw5NMXjI.js.br} +0 -0
- /package/dist/web/assets/{asm-DOfgqCKD.js.gz → asm-Vw5NMXjI.js.gz} +0 -0
- /package/dist/web/assets/{aurora-x-D64MWGxe.js → aurora-x-CoahU6sR.js} +0 -0
- /package/dist/web/assets/{aurora-x-D64MWGxe.js.br → aurora-x-CoahU6sR.js.br} +0 -0
- /package/dist/web/assets/{aurora-x-D64MWGxe.js.gz → aurora-x-CoahU6sR.js.gz} +0 -0
- /package/dist/web/assets/{awk-B_r8LcWp.js → awk-ChKjCxHz.js} +0 -0
- /package/dist/web/assets/{awk-B_r8LcWp.js.br → awk-ChKjCxHz.js.br} +0 -0
- /package/dist/web/assets/{awk-B_r8LcWp.js.gz → awk-ChKjCxHz.js.gz} +0 -0
- /package/dist/web/assets/{ayu-dark-DlDyr9-5.js → ayu-dark-By9RKxTf.js} +0 -0
- /package/dist/web/assets/{ayu-dark-DlDyr9-5.js.br → ayu-dark-By9RKxTf.js.br} +0 -0
- /package/dist/web/assets/{ayu-dark-DlDyr9-5.js.gz → ayu-dark-By9RKxTf.js.gz} +0 -0
- /package/dist/web/assets/{ayu-light-BF0a181n.js → ayu-light-CEsgeLON.js} +0 -0
- /package/dist/web/assets/{ayu-light-BF0a181n.js.br → ayu-light-CEsgeLON.js.br} +0 -0
- /package/dist/web/assets/{ayu-light-BF0a181n.js.gz → ayu-light-CEsgeLON.js.gz} +0 -0
- /package/dist/web/assets/{ayu-mirage-B6hnRsHM.js → ayu-mirage-CYrtwSLW.js} +0 -0
- /package/dist/web/assets/{ayu-mirage-B6hnRsHM.js.br → ayu-mirage-CYrtwSLW.js.br} +0 -0
- /package/dist/web/assets/{ayu-mirage-B6hnRsHM.js.gz → ayu-mirage-CYrtwSLW.js.gz} +0 -0
- /package/dist/web/assets/{ballerina-CyhD34qA.js → ballerina-CCSVz22W.js} +0 -0
- /package/dist/web/assets/{ballerina-CyhD34qA.js.br → ballerina-CCSVz22W.js.br} +0 -0
- /package/dist/web/assets/{ballerina-CyhD34qA.js.gz → ballerina-CCSVz22W.js.gz} +0 -0
- /package/dist/web/assets/{bat-wHB_k1YG.js → bat-DU4--CMj.js} +0 -0
- /package/dist/web/assets/{bat-wHB_k1YG.js.br → bat-DU4--CMj.js.br} +0 -0
- /package/dist/web/assets/{bat-wHB_k1YG.js.gz → bat-DU4--CMj.js.gz} +0 -0
- /package/dist/web/assets/{beancount-SUF8MnzM.js → beancount-DF_tlRlF.js} +0 -0
- /package/dist/web/assets/{beancount-SUF8MnzM.js.br → beancount-DF_tlRlF.js.br} +0 -0
- /package/dist/web/assets/{beancount-SUF8MnzM.js.gz → beancount-DF_tlRlF.js.gz} +0 -0
- /package/dist/web/assets/{berry-BP_34_jr.js → berry-CZTnatvO.js} +0 -0
- /package/dist/web/assets/{berry-BP_34_jr.js.br → berry-CZTnatvO.js.br} +0 -0
- /package/dist/web/assets/{berry-BP_34_jr.js.gz → berry-CZTnatvO.js.gz} +0 -0
- /package/dist/web/assets/{bibtex-DKgKw2bN.js → bibtex-BSpXy8jk.js} +0 -0
- /package/dist/web/assets/{bibtex-DKgKw2bN.js.br → bibtex-BSpXy8jk.js.br} +0 -0
- /package/dist/web/assets/{bibtex-DKgKw2bN.js.gz → bibtex-BSpXy8jk.js.gz} +0 -0
- /package/dist/web/assets/{bicep-BjU-KQeN.js → bicep-yv1Ydq5Z.js} +0 -0
- /package/dist/web/assets/{bicep-BjU-KQeN.js.br → bicep-yv1Ydq5Z.js.br} +0 -0
- /package/dist/web/assets/{bicep-BjU-KQeN.js.gz → bicep-yv1Ydq5Z.js.gz} +0 -0
- /package/dist/web/assets/{bird2-CCFmrT2P.js → bird2-Db7Z7SMN.js} +0 -0
- /package/dist/web/assets/{bird2-CCFmrT2P.js.br → bird2-Db7Z7SMN.js.br} +0 -0
- /package/dist/web/assets/{bird2-CCFmrT2P.js.gz → bird2-Db7Z7SMN.js.gz} +0 -0
- /package/dist/web/assets/{c-BX-1170_.js → c-D2iyQzEt.js} +0 -0
- /package/dist/web/assets/{c-BX-1170_.js.br → c-D2iyQzEt.js.br} +0 -0
- /package/dist/web/assets/{c-BX-1170_.js.gz → c-D2iyQzEt.js.gz} +0 -0
- /package/dist/web/assets/{c3-DSc4IcLQ.js → c3-N4mKyst9.js} +0 -0
- /package/dist/web/assets/{c3-DSc4IcLQ.js.br → c3-N4mKyst9.js.br} +0 -0
- /package/dist/web/assets/{c3-DSc4IcLQ.js.gz → c3-N4mKyst9.js.gz} +0 -0
- /package/dist/web/assets/{cadence-CUaLlWyn.js → cadence-BYK8tFFk.js} +0 -0
- /package/dist/web/assets/{cadence-CUaLlWyn.js.br → cadence-BYK8tFFk.js.br} +0 -0
- /package/dist/web/assets/{cadence-CUaLlWyn.js.gz → cadence-BYK8tFFk.js.gz} +0 -0
- /package/dist/web/assets/{can-open-in-ppm-DeE2-kd5.js → can-open-in-ppm-CwrBTXOy.js} +0 -0
- /package/dist/web/assets/{can-open-in-ppm-DeE2-kd5.js.br → can-open-in-ppm-CwrBTXOy.js.br} +0 -0
- /package/dist/web/assets/{can-open-in-ppm-DeE2-kd5.js.gz → can-open-in-ppm-CwrBTXOy.js.gz} +0 -0
- /package/dist/web/assets/{catppuccin-frappe-BT3IMDYa.js → catppuccin-frappe-BK9Tv2XG.js} +0 -0
- /package/dist/web/assets/{catppuccin-frappe-BT3IMDYa.js.br → catppuccin-frappe-BK9Tv2XG.js.br} +0 -0
- /package/dist/web/assets/{catppuccin-frappe-BT3IMDYa.js.gz → catppuccin-frappe-BK9Tv2XG.js.gz} +0 -0
- /package/dist/web/assets/{catppuccin-latte-DM9i15n3.js → catppuccin-latte-De4mVCp3.js} +0 -0
- /package/dist/web/assets/{catppuccin-latte-DM9i15n3.js.br → catppuccin-latte-De4mVCp3.js.br} +0 -0
- /package/dist/web/assets/{catppuccin-latte-DM9i15n3.js.gz → catppuccin-latte-De4mVCp3.js.gz} +0 -0
- /package/dist/web/assets/{catppuccin-macchiato-CAEDr_h3.js → catppuccin-macchiato-Bxt_D7cs.js} +0 -0
- /package/dist/web/assets/{catppuccin-macchiato-CAEDr_h3.js.br → catppuccin-macchiato-Bxt_D7cs.js.br} +0 -0
- /package/dist/web/assets/{catppuccin-macchiato-CAEDr_h3.js.gz → catppuccin-macchiato-Bxt_D7cs.js.gz} +0 -0
- /package/dist/web/assets/{catppuccin-mocha-BzOmDckq.js → catppuccin-mocha-Dz2o8gN7.js} +0 -0
- /package/dist/web/assets/{catppuccin-mocha-BzOmDckq.js.br → catppuccin-mocha-Dz2o8gN7.js.br} +0 -0
- /package/dist/web/assets/{catppuccin-mocha-BzOmDckq.js.gz → catppuccin-mocha-Dz2o8gN7.js.gz} +0 -0
- /package/dist/web/assets/{clarity-BijZXjQ6.js → clarity-BJdh0Pw-.js} +0 -0
- /package/dist/web/assets/{clarity-BijZXjQ6.js.br → clarity-BJdh0Pw-.js.br} +0 -0
- /package/dist/web/assets/{clarity-BijZXjQ6.js.gz → clarity-BJdh0Pw-.js.gz} +0 -0
- /package/dist/web/assets/{clojure--ad2221W.js → clojure-DG-FYGzn.js} +0 -0
- /package/dist/web/assets/{clojure--ad2221W.js.br → clojure-DG-FYGzn.js.br} +0 -0
- /package/dist/web/assets/{clojure--ad2221W.js.gz → clojure-DG-FYGzn.js.gz} +0 -0
- /package/dist/web/assets/{cmake-DyjUMpXU.js → cmake-D1imEXan.js} +0 -0
- /package/dist/web/assets/{cmake-DyjUMpXU.js.br → cmake-D1imEXan.js.br} +0 -0
- /package/dist/web/assets/{cmake-DyjUMpXU.js.gz → cmake-D1imEXan.js.gz} +0 -0
- /package/dist/web/assets/{codeowners-BeMhKnC9.js → codeowners-YpylTFB5.js} +0 -0
- /package/dist/web/assets/{codeql-BGtwwp5_.js → codeql-ajDEPgqi.js} +0 -0
- /package/dist/web/assets/{codeql-BGtwwp5_.js.br → codeql-ajDEPgqi.js.br} +0 -0
- /package/dist/web/assets/{codeql-BGtwwp5_.js.gz → codeql-ajDEPgqi.js.gz} +0 -0
- /package/dist/web/assets/{common-lisp--ldIKs5M.js → common-lisp-C2sCrd-m.js} +0 -0
- /package/dist/web/assets/{common-lisp--ldIKs5M.js.br → common-lisp-C2sCrd-m.js.br} +0 -0
- /package/dist/web/assets/{common-lisp--ldIKs5M.js.gz → common-lisp-C2sCrd-m.js.gz} +0 -0
- /package/dist/web/assets/{coq-CRn01_Db.js → coq-BqybyDc9.js} +0 -0
- /package/dist/web/assets/{coq-CRn01_Db.js.br → coq-BqybyDc9.js.br} +0 -0
- /package/dist/web/assets/{coq-CRn01_Db.js.gz → coq-BqybyDc9.js.gz} +0 -0
- /package/dist/web/assets/{csharp-CuWM1IYq.js → csharp-nKCEiujy.js} +0 -0
- /package/dist/web/assets/{csharp-CuWM1IYq.js.br → csharp-nKCEiujy.js.br} +0 -0
- /package/dist/web/assets/{csharp-CuWM1IYq.js.gz → csharp-nKCEiujy.js.gz} +0 -0
- /package/dist/web/assets/{css-CQ_jz6Vl.js → css-BwwQrFr3.js} +0 -0
- /package/dist/web/assets/{css-CQ_jz6Vl.js.br → css-BwwQrFr3.js.br} +0 -0
- /package/dist/web/assets/{css-CQ_jz6Vl.js.gz → css-BwwQrFr3.js.gz} +0 -0
- /package/dist/web/assets/{csv-DP77pbR8.js → csv-Nh9vQwQm.js} +0 -0
- /package/dist/web/assets/{csv-DP77pbR8.js.br → csv-Nh9vQwQm.js.br} +0 -0
- /package/dist/web/assets/{csv-DP77pbR8.js.gz → csv-Nh9vQwQm.js.gz} +0 -0
- /package/dist/web/assets/{cue-DScL5ELc.js → cue-Ch79RPsU.js} +0 -0
- /package/dist/web/assets/{cue-DScL5ELc.js.br → cue-Ch79RPsU.js.br} +0 -0
- /package/dist/web/assets/{cue-DScL5ELc.js.gz → cue-Ch79RPsU.js.gz} +0 -0
- /package/dist/web/assets/{cypher-8ehI2vrw.js → cypher-CgiOQ6hs.js} +0 -0
- /package/dist/web/assets/{cypher-8ehI2vrw.js.br → cypher-CgiOQ6hs.js.br} +0 -0
- /package/dist/web/assets/{cypher-8ehI2vrw.js.gz → cypher-CgiOQ6hs.js.gz} +0 -0
- /package/dist/web/assets/{cytoscape.esm-BokGhmK2.js → cytoscape.esm-9PBaSM25.js} +0 -0
- /package/dist/web/assets/{cytoscape.esm-BokGhmK2.js.br → cytoscape.esm-9PBaSM25.js.br} +0 -0
- /package/dist/web/assets/{cytoscape.esm-BokGhmK2.js.gz → cytoscape.esm-9PBaSM25.js.gz} +0 -0
- /package/dist/web/assets/{d-BvFZUewv.js → d-CmBcySpH.js} +0 -0
- /package/dist/web/assets/{d-BvFZUewv.js.br → d-CmBcySpH.js.br} +0 -0
- /package/dist/web/assets/{d-BvFZUewv.js.gz → d-CmBcySpH.js.gz} +0 -0
- /package/dist/web/assets/{dark-plus-DKLywSFP.js → dark-plus-COLEX2ui.js} +0 -0
- /package/dist/web/assets/{dark-plus-DKLywSFP.js.br → dark-plus-COLEX2ui.js.br} +0 -0
- /package/dist/web/assets/{dark-plus-DKLywSFP.js.gz → dark-plus-COLEX2ui.js.gz} +0 -0
- /package/dist/web/assets/{dart-Cs_NJAZ7.js → dart-BTAArMcJ.js} +0 -0
- /package/dist/web/assets/{dart-Cs_NJAZ7.js.br → dart-BTAArMcJ.js.br} +0 -0
- /package/dist/web/assets/{dart-Cs_NJAZ7.js.gz → dart-BTAArMcJ.js.gz} +0 -0
- /package/dist/web/assets/{dax-BB8KgXzI.js → dax-BbZzRY9i.js} +0 -0
- /package/dist/web/assets/{dax-BB8KgXzI.js.br → dax-BbZzRY9i.js.br} +0 -0
- /package/dist/web/assets/{dax-BB8KgXzI.js.gz → dax-BbZzRY9i.js.gz} +0 -0
- /package/dist/web/assets/{defaultLocale-4xAk2LVU.js → defaultLocale-1Phej3f6.js} +0 -0
- /package/dist/web/assets/{defaultLocale-4xAk2LVU.js.br → defaultLocale-1Phej3f6.js.br} +0 -0
- /package/dist/web/assets/{defaultLocale-4xAk2LVU.js.gz → defaultLocale-1Phej3f6.js.gz} +0 -0
- /package/dist/web/assets/{design-system-status-label-ekiLyjKn.js → design-system-status-label-Cus6e2Df.js} +0 -0
- /package/dist/web/assets/{desktop-Cs6Sk5Pu.js → desktop-OmQvU3-J.js} +0 -0
- /package/dist/web/assets/{desktop-Cs6Sk5Pu.js.br → desktop-OmQvU3-J.js.br} +0 -0
- /package/dist/web/assets/{desktop-Cs6Sk5Pu.js.gz → desktop-OmQvU3-J.js.gz} +0 -0
- /package/dist/web/assets/{diff-CXSq83h3.js → diff-BEPnb9Fb.js} +0 -0
- /package/dist/web/assets/{diff-CXSq83h3.js.br → diff-BEPnb9Fb.js.br} +0 -0
- /package/dist/web/assets/{diff-CXSq83h3.js.gz → diff-BEPnb9Fb.js.gz} +0 -0
- /package/dist/web/assets/{dist-D7mSb2HC.js → dist--v_QGJF6.js} +0 -0
- /package/dist/web/assets/{dist-D7mSb2HC.js.br → dist--v_QGJF6.js.br} +0 -0
- /package/dist/web/assets/{dist-D7mSb2HC.js.gz → dist--v_QGJF6.js.gz} +0 -0
- /package/dist/web/assets/{dist-0EbiTA3n.js → dist-ChawRilJ.js} +0 -0
- /package/dist/web/assets/{dist-0EbiTA3n.js.br → dist-ChawRilJ.js.br} +0 -0
- /package/dist/web/assets/{dist-0EbiTA3n.js.gz → dist-ChawRilJ.js.gz} +0 -0
- /package/dist/web/assets/{docker-BX5p1mZ3.js → docker-Cg17HgTD.js} +0 -0
- /package/dist/web/assets/{docker-BX5p1mZ3.js.br → docker-Cg17HgTD.js.br} +0 -0
- /package/dist/web/assets/{docker-BX5p1mZ3.js.gz → docker-Cg17HgTD.js.gz} +0 -0
- /package/dist/web/assets/{dotenv-D8xdMiRo.js → dotenv-DEMIaY7V.js} +0 -0
- /package/dist/web/assets/{dotenv-D8xdMiRo.js.br → dotenv-DEMIaY7V.js.br} +0 -0
- /package/dist/web/assets/{dotenv-D8xdMiRo.js.gz → dotenv-DEMIaY7V.js.gz} +0 -0
- /package/dist/web/assets/{dracula-BNPKmiGE.js → dracula-BkCFq8SO.js} +0 -0
- /package/dist/web/assets/{dracula-BNPKmiGE.js.br → dracula-BkCFq8SO.js.br} +0 -0
- /package/dist/web/assets/{dracula-BNPKmiGE.js.gz → dracula-BkCFq8SO.js.gz} +0 -0
- /package/dist/web/assets/{dracula-soft-Bv4lLEFc.js → dracula-soft-Cjp6-ltF.js} +0 -0
- /package/dist/web/assets/{dracula-soft-Bv4lLEFc.js.br → dracula-soft-Cjp6-ltF.js.br} +0 -0
- /package/dist/web/assets/{dracula-soft-Bv4lLEFc.js.gz → dracula-soft-Cjp6-ltF.js.gz} +0 -0
- /package/dist/web/assets/{dream-maker-Yg8FPJu3.js → dream-maker-Ce7Y_UKj.js} +0 -0
- /package/dist/web/assets/{dream-maker-Yg8FPJu3.js.br → dream-maker-Ce7Y_UKj.js.br} +0 -0
- /package/dist/web/assets/{dream-maker-Yg8FPJu3.js.gz → dream-maker-Ce7Y_UKj.js.gz} +0 -0
- /package/dist/web/assets/{editor-font-CBszn6vt.js → editor-font-CdxKRKX-.js} +0 -0
- /package/dist/web/assets/{emacs-lisp-kBgNJmB7.js → emacs-lisp-BjpyfTbN.js} +0 -0
- /package/dist/web/assets/{emacs-lisp-kBgNJmB7.js.br → emacs-lisp-BjpyfTbN.js.br} +0 -0
- /package/dist/web/assets/{emacs-lisp-kBgNJmB7.js.gz → emacs-lisp-BjpyfTbN.js.gz} +0 -0
- /package/dist/web/assets/{everforest-dark-7XTfQW4s.js → everforest-dark-9r4okw1s.js} +0 -0
- /package/dist/web/assets/{everforest-dark-7XTfQW4s.js.br → everforest-dark-9r4okw1s.js.br} +0 -0
- /package/dist/web/assets/{everforest-dark-7XTfQW4s.js.gz → everforest-dark-9r4okw1s.js.gz} +0 -0
- /package/dist/web/assets/{everforest-light-CmPZPQmV.js → everforest-light-GCQTZ3Ju.js} +0 -0
- /package/dist/web/assets/{everforest-light-CmPZPQmV.js.br → everforest-light-GCQTZ3Ju.js.br} +0 -0
- /package/dist/web/assets/{everforest-light-CmPZPQmV.js.gz → everforest-light-GCQTZ3Ju.js.gz} +0 -0
- /package/dist/web/assets/{fennel-Dm71IPM6.js → fennel-ITjY5Z6u.js} +0 -0
- /package/dist/web/assets/{fennel-Dm71IPM6.js.br → fennel-ITjY5Z6u.js.br} +0 -0
- /package/dist/web/assets/{fennel-Dm71IPM6.js.gz → fennel-ITjY5Z6u.js.gz} +0 -0
- /package/dist/web/assets/{fish-CIzcfZjZ.js → fish-DP2uEzyg.js} +0 -0
- /package/dist/web/assets/{fish-CIzcfZjZ.js.br → fish-DP2uEzyg.js.br} +0 -0
- /package/dist/web/assets/{fish-CIzcfZjZ.js.gz → fish-DP2uEzyg.js.gz} +0 -0
- /package/dist/web/assets/{fluent-DFSMEphj.js → fluent-irzaP1f6.js} +0 -0
- /package/dist/web/assets/{fluent-DFSMEphj.js.br → fluent-irzaP1f6.js.br} +0 -0
- /package/dist/web/assets/{fluent-DFSMEphj.js.gz → fluent-irzaP1f6.js.gz} +0 -0
- /package/dist/web/assets/{format-bytes-FQmpZ25A.js → format-bytes-B2kC4sbB.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-BAPoainr.js} +0 -0
- /package/dist/web/assets/{fortran-free-form-xnlj2dLW.js.br → fortran-free-form-BAPoainr.js.br} +0 -0
- /package/dist/web/assets/{fortran-free-form-xnlj2dLW.js.gz → fortran-free-form-BAPoainr.js.gz} +0 -0
- /package/dist/web/assets/{gdscript-DFnznHD1.js → gdscript-DJ098V1z.js} +0 -0
- /package/dist/web/assets/{gdscript-DFnznHD1.js.br → gdscript-DJ098V1z.js.br} +0 -0
- /package/dist/web/assets/{gdscript-DFnznHD1.js.gz → gdscript-DJ098V1z.js.gz} +0 -0
- /package/dist/web/assets/{gdshader-B9wvgXVU.js → gdshader-DS2Jfy-K.js} +0 -0
- /package/dist/web/assets/{gdshader-B9wvgXVU.js.br → gdshader-DS2Jfy-K.js.br} +0 -0
- /package/dist/web/assets/{gdshader-B9wvgXVU.js.gz → gdshader-DS2Jfy-K.js.gz} +0 -0
- /package/dist/web/assets/{genie-Bz0RXdFf.js → genie-CqfOaFFx.js} +0 -0
- /package/dist/web/assets/{genie-Bz0RXdFf.js.br → genie-CqfOaFFx.js.br} +0 -0
- /package/dist/web/assets/{genie-Bz0RXdFf.js.gz → genie-CqfOaFFx.js.gz} +0 -0
- /package/dist/web/assets/{gherkin-ZD8lWd_U.js → gherkin-CoZ2ucDH.js} +0 -0
- /package/dist/web/assets/{gherkin-ZD8lWd_U.js.br → gherkin-CoZ2ucDH.js.br} +0 -0
- /package/dist/web/assets/{gherkin-ZD8lWd_U.js.gz → gherkin-CoZ2ucDH.js.gz} +0 -0
- /package/dist/web/assets/{github-dark-D8IE4lln.js → github-dark-BNLgnSO9.js} +0 -0
- /package/dist/web/assets/{github-dark-D8IE4lln.js.br → github-dark-BNLgnSO9.js.br} +0 -0
- /package/dist/web/assets/{github-dark-D8IE4lln.js.gz → github-dark-BNLgnSO9.js.gz} +0 -0
- /package/dist/web/assets/{github-dark-default-Bv2-je5j.js → github-dark-default-CYlSggwi.js} +0 -0
- /package/dist/web/assets/{github-dark-default-Bv2-je5j.js.br → github-dark-default-CYlSggwi.js.br} +0 -0
- /package/dist/web/assets/{github-dark-default-Bv2-je5j.js.gz → github-dark-default-CYlSggwi.js.gz} +0 -0
- /package/dist/web/assets/{github-dark-dimmed-Dn2Abfcl.js → github-dark-dimmed-DumUysDk.js} +0 -0
- /package/dist/web/assets/{github-dark-dimmed-Dn2Abfcl.js.br → github-dark-dimmed-DumUysDk.js.br} +0 -0
- /package/dist/web/assets/{github-dark-dimmed-Dn2Abfcl.js.gz → github-dark-dimmed-DumUysDk.js.gz} +0 -0
- /package/dist/web/assets/{github-dark-high-contrast-CPYPXNHn.js → github-dark-high-contrast-TKrcDJ2I.js} +0 -0
- /package/dist/web/assets/{github-dark-high-contrast-CPYPXNHn.js.br → github-dark-high-contrast-TKrcDJ2I.js.br} +0 -0
- /package/dist/web/assets/{github-dark-high-contrast-CPYPXNHn.js.gz → github-dark-high-contrast-TKrcDJ2I.js.gz} +0 -0
- /package/dist/web/assets/{github-light-CVOMBMvb.js → github-light-DVENFHLJ.js} +0 -0
- /package/dist/web/assets/{github-light-CVOMBMvb.js.br → github-light-DVENFHLJ.js.br} +0 -0
- /package/dist/web/assets/{github-light-CVOMBMvb.js.gz → github-light-DVENFHLJ.js.gz} +0 -0
- /package/dist/web/assets/{github-light-default-6Ayk6lJY.js → github-light-default-DtN8AGcE.js} +0 -0
- /package/dist/web/assets/{github-light-default-6Ayk6lJY.js.br → github-light-default-DtN8AGcE.js.br} +0 -0
- /package/dist/web/assets/{github-light-default-6Ayk6lJY.js.gz → github-light-default-DtN8AGcE.js.gz} +0 -0
- /package/dist/web/assets/{github-light-high-contrast-BTGKd6JI.js → github-light-high-contrast-NSyF37x4.js} +0 -0
- /package/dist/web/assets/{github-light-high-contrast-BTGKd6JI.js.br → github-light-high-contrast-NSyF37x4.js.br} +0 -0
- /package/dist/web/assets/{github-light-high-contrast-BTGKd6JI.js.gz → github-light-high-contrast-NSyF37x4.js.gz} +0 -0
- /package/dist/web/assets/{gleam-UeA7_OU8.js → gleam-hp4NMSb5.js} +0 -0
- /package/dist/web/assets/{gleam-UeA7_OU8.js.br → gleam-hp4NMSb5.js.br} +0 -0
- /package/dist/web/assets/{gleam-UeA7_OU8.js.gz → gleam-hp4NMSb5.js.gz} +0 -0
- /package/dist/web/assets/{gn-DrdNDhFj.js → gn-Dptw2PEu.js} +0 -0
- /package/dist/web/assets/{gn-DrdNDhFj.js.br → gn-Dptw2PEu.js.br} +0 -0
- /package/dist/web/assets/{gn-DrdNDhFj.js.gz → gn-Dptw2PEu.js.gz} +0 -0
- /package/dist/web/assets/{gnuplot-D8vxhaGw.js → gnuplot-9juRzjwv.js} +0 -0
- /package/dist/web/assets/{gnuplot-D8vxhaGw.js.br → gnuplot-9juRzjwv.js.br} +0 -0
- /package/dist/web/assets/{gnuplot-D8vxhaGw.js.gz → gnuplot-9juRzjwv.js.gz} +0 -0
- /package/dist/web/assets/{go-atNMhmH3.js → go-D-QLCda0.js} +0 -0
- /package/dist/web/assets/{go-atNMhmH3.js.br → go-D-QLCda0.js.br} +0 -0
- /package/dist/web/assets/{go-atNMhmH3.js.gz → go-D-QLCda0.js.gz} +0 -0
- /package/dist/web/assets/{groovy-CLRzHDW2.js → groovy-DHKNy6Eh.js} +0 -0
- /package/dist/web/assets/{groovy-CLRzHDW2.js.br → groovy-DHKNy6Eh.js.br} +0 -0
- /package/dist/web/assets/{groovy-CLRzHDW2.js.gz → groovy-DHKNy6Eh.js.gz} +0 -0
- /package/dist/web/assets/{gruvbox-dark-hard-CMSNCrAk.js → gruvbox-dark-hard-BFD6aQdB.js} +0 -0
- /package/dist/web/assets/{gruvbox-dark-hard-CMSNCrAk.js.br → gruvbox-dark-hard-BFD6aQdB.js.br} +0 -0
- /package/dist/web/assets/{gruvbox-dark-hard-CMSNCrAk.js.gz → gruvbox-dark-hard-BFD6aQdB.js.gz} +0 -0
- /package/dist/web/assets/{gruvbox-dark-medium-CR5wAM1c.js → gruvbox-dark-medium-D5llYBNp.js} +0 -0
- /package/dist/web/assets/{gruvbox-dark-medium-CR5wAM1c.js.br → gruvbox-dark-medium-D5llYBNp.js.br} +0 -0
- /package/dist/web/assets/{gruvbox-dark-medium-CR5wAM1c.js.gz → gruvbox-dark-medium-D5llYBNp.js.gz} +0 -0
- /package/dist/web/assets/{gruvbox-dark-soft-Ba1gP2O2.js → gruvbox-dark-soft-DOztQmNR.js} +0 -0
- /package/dist/web/assets/{gruvbox-dark-soft-Ba1gP2O2.js.br → gruvbox-dark-soft-DOztQmNR.js.br} +0 -0
- /package/dist/web/assets/{gruvbox-dark-soft-Ba1gP2O2.js.gz → gruvbox-dark-soft-DOztQmNR.js.gz} +0 -0
- /package/dist/web/assets/{gruvbox-light-hard-ChSY383t.js → gruvbox-light-hard-BFGD-8Pd.js} +0 -0
- /package/dist/web/assets/{gruvbox-light-hard-ChSY383t.js.br → gruvbox-light-hard-BFGD-8Pd.js.br} +0 -0
- /package/dist/web/assets/{gruvbox-light-hard-ChSY383t.js.gz → gruvbox-light-hard-BFGD-8Pd.js.gz} +0 -0
- /package/dist/web/assets/{gruvbox-light-medium-DebZzeA2.js → gruvbox-light-medium-DzoyXgT7.js} +0 -0
- /package/dist/web/assets/{gruvbox-light-medium-DebZzeA2.js.br → gruvbox-light-medium-DzoyXgT7.js.br} +0 -0
- /package/dist/web/assets/{gruvbox-light-medium-DebZzeA2.js.gz → gruvbox-light-medium-DzoyXgT7.js.gz} +0 -0
- /package/dist/web/assets/{gruvbox-light-soft-CEWqv8Ew.js → gruvbox-light-soft-B1Ix2zLN.js} +0 -0
- /package/dist/web/assets/{gruvbox-light-soft-CEWqv8Ew.js.br → gruvbox-light-soft-B1Ix2zLN.js.br} +0 -0
- /package/dist/web/assets/{gruvbox-light-soft-CEWqv8Ew.js.gz → gruvbox-light-soft-B1Ix2zLN.js.gz} +0 -0
- /package/dist/web/assets/{haskell-CkgCblz9.js → haskell-BnrJ0k7G.js} +0 -0
- /package/dist/web/assets/{haskell-CkgCblz9.js.br → haskell-BnrJ0k7G.js.br} +0 -0
- /package/dist/web/assets/{haskell-CkgCblz9.js.gz → haskell-BnrJ0k7G.js.gz} +0 -0
- /package/dist/web/assets/{haxe-DwOdNXRl.js → haxe-DwShHT_-.js} +0 -0
- /package/dist/web/assets/{haxe-DwOdNXRl.js.br → haxe-DwShHT_-.js.br} +0 -0
- /package/dist/web/assets/{haxe-DwOdNXRl.js.gz → haxe-DwShHT_-.js.gz} +0 -0
- /package/dist/web/assets/{hcl-DXsxN8nX.js → hcl-VOjEibVB.js} +0 -0
- /package/dist/web/assets/{hcl-DXsxN8nX.js.br → hcl-VOjEibVB.js.br} +0 -0
- /package/dist/web/assets/{hcl-DXsxN8nX.js.gz → hcl-VOjEibVB.js.gz} +0 -0
- /package/dist/web/assets/{hjson-oBOZxrL4.js → hjson-BHEn7pNn.js} +0 -0
- /package/dist/web/assets/{hjson-oBOZxrL4.js.br → hjson-BHEn7pNn.js.br} +0 -0
- /package/dist/web/assets/{hjson-oBOZxrL4.js.gz → hjson-BHEn7pNn.js.gz} +0 -0
- /package/dist/web/assets/{hlsl-VEZxDU3L.js → hlsl-CrvxlGii.js} +0 -0
- /package/dist/web/assets/{hlsl-VEZxDU3L.js.br → hlsl-CrvxlGii.js.br} +0 -0
- /package/dist/web/assets/{hlsl-VEZxDU3L.js.gz → hlsl-CrvxlGii.js.gz} +0 -0
- /package/dist/web/assets/{horizon-C_xHTsMO.js → horizon-D3T-P0u6.js} +0 -0
- /package/dist/web/assets/{horizon-C_xHTsMO.js.br → horizon-D3T-P0u6.js.br} +0 -0
- /package/dist/web/assets/{horizon-C_xHTsMO.js.gz → horizon-D3T-P0u6.js.gz} +0 -0
- /package/dist/web/assets/{horizon-bright-CJd-vMFG.js → horizon-bright-vifGsEdk.js} +0 -0
- /package/dist/web/assets/{horizon-bright-CJd-vMFG.js.br → horizon-bright-vifGsEdk.js.br} +0 -0
- /package/dist/web/assets/{horizon-bright-CJd-vMFG.js.gz → horizon-bright-vifGsEdk.js.gz} +0 -0
- /package/dist/web/assets/{houston-BYOfZpV9.js → houston-IrOgT7r4.js} +0 -0
- /package/dist/web/assets/{houston-BYOfZpV9.js.br → houston-IrOgT7r4.js.br} +0 -0
- /package/dist/web/assets/{houston-BYOfZpV9.js.gz → houston-IrOgT7r4.js.gz} +0 -0
- /package/dist/web/assets/{hy-DiruP4wR.js → hy-5eSgTJ8G.js} +0 -0
- /package/dist/web/assets/{hy-DiruP4wR.js.br → hy-5eSgTJ8G.js.br} +0 -0
- /package/dist/web/assets/{hy-DiruP4wR.js.gz → hy-5eSgTJ8G.js.gz} +0 -0
- /package/dist/web/assets/{image-gallery-B16hO6Ab.js → image-gallery-BuxSgBug.js} +0 -0
- /package/dist/web/assets/{image-preview-geometry-D4Ihz4UV.js → image-preview-geometry-CCq8rio7.js} +0 -0
- /package/dist/web/assets/{imba-BBm5cmpQ.js → imba-Dp0I4DVl.js} +0 -0
- /package/dist/web/assets/{imba-BBm5cmpQ.js.br → imba-Dp0I4DVl.js.br} +0 -0
- /package/dist/web/assets/{imba-BBm5cmpQ.js.gz → imba-Dp0I4DVl.js.gz} +0 -0
- /package/dist/web/assets/{ini-DIjchSIH.js → ini-CHDKad9O.js} +0 -0
- /package/dist/web/assets/{ini-DIjchSIH.js.br → ini-CHDKad9O.js.br} +0 -0
- /package/dist/web/assets/{ini-DIjchSIH.js.gz → ini-CHDKad9O.js.gz} +0 -0
- /package/dist/web/assets/{init-Cf64k-PQ.js → init-YGhXRxki.js} +0 -0
- /package/dist/web/assets/{isArrayLikeObject-DoNOpNUH.js → isArrayLikeObject-DHTG10am.js} +0 -0
- /package/dist/web/assets/{isArrayLikeObject-DoNOpNUH.js.br → isArrayLikeObject-DHTG10am.js.br} +0 -0
- /package/dist/web/assets/{isArrayLikeObject-DoNOpNUH.js.gz → isArrayLikeObject-DHTG10am.js.gz} +0 -0
- /package/dist/web/assets/{java-BjdsRxXN.js → java-ClnCQCSW.js} +0 -0
- /package/dist/web/assets/{java-BjdsRxXN.js.br → java-ClnCQCSW.js.br} +0 -0
- /package/dist/web/assets/{java-BjdsRxXN.js.gz → java-ClnCQCSW.js.gz} +0 -0
- /package/dist/web/assets/{javascript-R2SZ_OEC.js → javascript-D1PM1fYV.js} +0 -0
- /package/dist/web/assets/{javascript-R2SZ_OEC.js.br → javascript-D1PM1fYV.js.br} +0 -0
- /package/dist/web/assets/{javascript-R2SZ_OEC.js.gz → javascript-D1PM1fYV.js.gz} +0 -0
- /package/dist/web/assets/{json-CYCJeTwK.js → json-DELY1EIR.js} +0 -0
- /package/dist/web/assets/{json-CYCJeTwK.js.br → json-DELY1EIR.js.br} +0 -0
- /package/dist/web/assets/{json-CYCJeTwK.js.gz → json-DELY1EIR.js.gz} +0 -0
- /package/dist/web/assets/{json5-0Pz845K0.js → json5-D6f_uNwJ.js} +0 -0
- /package/dist/web/assets/{json5-0Pz845K0.js.br → json5-D6f_uNwJ.js.br} +0 -0
- /package/dist/web/assets/{json5-0Pz845K0.js.gz → json5-D6f_uNwJ.js.gz} +0 -0
- /package/dist/web/assets/{jsonc-B0jdT4uM.js → jsonc-DrHCdmos.js} +0 -0
- /package/dist/web/assets/{jsonc-B0jdT4uM.js.br → jsonc-DrHCdmos.js.br} +0 -0
- /package/dist/web/assets/{jsonc-B0jdT4uM.js.gz → jsonc-DrHCdmos.js.gz} +0 -0
- /package/dist/web/assets/{jsonl-CdvFKZtz.js → jsonl-Cwc3cXEL.js} +0 -0
- /package/dist/web/assets/{jsonl-CdvFKZtz.js.br → jsonl-Cwc3cXEL.js.br} +0 -0
- /package/dist/web/assets/{jsonl-CdvFKZtz.js.gz → jsonl-Cwc3cXEL.js.gz} +0 -0
- /package/dist/web/assets/{jsonnet-BYd5ZGqe.js → jsonnet-BwZfaIFT.js} +0 -0
- /package/dist/web/assets/{jsonnet-BYd5ZGqe.js.br → jsonnet-BwZfaIFT.js.br} +0 -0
- /package/dist/web/assets/{jsonnet-BYd5ZGqe.js.gz → jsonnet-BwZfaIFT.js.gz} +0 -0
- /package/dist/web/assets/{jssm-BlBU_IK1.js → jssm-BpEmg_MT.js} +0 -0
- /package/dist/web/assets/{jssm-BlBU_IK1.js.br → jssm-BpEmg_MT.js.br} +0 -0
- /package/dist/web/assets/{jssm-BlBU_IK1.js.gz → jssm-BpEmg_MT.js.gz} +0 -0
- /package/dist/web/assets/{jsx-CsWR7aMm.js → jsx-BOrwA6ld.js} +0 -0
- /package/dist/web/assets/{jsx-CsWR7aMm.js.br → jsx-BOrwA6ld.js.br} +0 -0
- /package/dist/web/assets/{jsx-CsWR7aMm.js.gz → jsx-BOrwA6ld.js.gz} +0 -0
- /package/dist/web/assets/{kanagawa-dragon-C6ogFc3X.js → kanagawa-dragon-DRfVaGIX.js} +0 -0
- /package/dist/web/assets/{kanagawa-dragon-C6ogFc3X.js.br → kanagawa-dragon-DRfVaGIX.js.br} +0 -0
- /package/dist/web/assets/{kanagawa-dragon-C6ogFc3X.js.gz → kanagawa-dragon-DRfVaGIX.js.gz} +0 -0
- /package/dist/web/assets/{kanagawa-lotus-8esZNUbA.js → kanagawa-lotus-CjOlny0Q.js} +0 -0
- /package/dist/web/assets/{kanagawa-lotus-8esZNUbA.js.br → kanagawa-lotus-CjOlny0Q.js.br} +0 -0
- /package/dist/web/assets/{kanagawa-lotus-8esZNUbA.js.gz → kanagawa-lotus-CjOlny0Q.js.gz} +0 -0
- /package/dist/web/assets/{kanagawa-wave-C-yWQ6RD.js → kanagawa-wave-DvdM88a4.js} +0 -0
- /package/dist/web/assets/{kanagawa-wave-C-yWQ6RD.js.br → kanagawa-wave-DvdM88a4.js.br} +0 -0
- /package/dist/web/assets/{kanagawa-wave-C-yWQ6RD.js.gz → kanagawa-wave-DvdM88a4.js.gz} +0 -0
- /package/dist/web/assets/{katex-Cz0KLyXA.js → katex-BHtqYBze.js} +0 -0
- /package/dist/web/assets/{katex-Cz0KLyXA.js.br → katex-BHtqYBze.js.br} +0 -0
- /package/dist/web/assets/{katex-Cz0KLyXA.js.gz → katex-BHtqYBze.js.gz} +0 -0
- /package/dist/web/assets/{kdl-D712OVXR.js → kdl-DSo3PvM0.js} +0 -0
- /package/dist/web/assets/{kdl-D712OVXR.js.br → kdl-DSo3PvM0.js.br} +0 -0
- /package/dist/web/assets/{kdl-D712OVXR.js.gz → kdl-DSo3PvM0.js.gz} +0 -0
- /package/dist/web/assets/{kotlin-BEUa7XzN.js → kotlin-BV8TwCGu.js} +0 -0
- /package/dist/web/assets/{kotlin-BEUa7XzN.js.br → kotlin-BV8TwCGu.js.br} +0 -0
- /package/dist/web/assets/{kotlin-BEUa7XzN.js.gz → kotlin-BV8TwCGu.js.gz} +0 -0
- /package/dist/web/assets/{kusto-n4J6aIey.js → kusto-DCo1Fdmm.js} +0 -0
- /package/dist/web/assets/{kusto-n4J6aIey.js.br → kusto-DCo1Fdmm.js.br} +0 -0
- /package/dist/web/assets/{kusto-n4J6aIey.js.gz → kusto-DCo1Fdmm.js.gz} +0 -0
- /package/dist/web/assets/{laserwave-CddL9sH-.js → laserwave-DPX9FvD9.js} +0 -0
- /package/dist/web/assets/{laserwave-CddL9sH-.js.br → laserwave-DPX9FvD9.js.br} +0 -0
- /package/dist/web/assets/{laserwave-CddL9sH-.js.gz → laserwave-DPX9FvD9.js.gz} +0 -0
- /package/dist/web/assets/{lean-CS8dnaPi.js → lean-Cya8dqZu.js} +0 -0
- /package/dist/web/assets/{lean-CS8dnaPi.js.br → lean-Cya8dqZu.js.br} +0 -0
- /package/dist/web/assets/{lean-CS8dnaPi.js.gz → lean-Cya8dqZu.js.gz} +0 -0
- /package/dist/web/assets/{less-D7VWEXeK.js → less-CJUPgkIs.js} +0 -0
- /package/dist/web/assets/{less-D7VWEXeK.js.br → less-CJUPgkIs.js.br} +0 -0
- /package/dist/web/assets/{less-D7VWEXeK.js.gz → less-CJUPgkIs.js.gz} +0 -0
- /package/dist/web/assets/{libesm-5wREk7JN.js → libesm-B6LsX5wH.js} +0 -0
- /package/dist/web/assets/{libesm-5wREk7JN.js.br → libesm-B6LsX5wH.js.br} +0 -0
- /package/dist/web/assets/{libesm-5wREk7JN.js.gz → libesm-B6LsX5wH.js.gz} +0 -0
- /package/dist/web/assets/{light-plus-DUh-yC9k.js → light-plus-BXXrlFJH.js} +0 -0
- /package/dist/web/assets/{light-plus-DUh-yC9k.js.br → light-plus-BXXrlFJH.js.br} +0 -0
- /package/dist/web/assets/{light-plus-DUh-yC9k.js.gz → light-plus-BXXrlFJH.js.gz} +0 -0
- /package/dist/web/assets/{llvm-P1D8XyMB.js → llvm-CUbQanZr.js} +0 -0
- /package/dist/web/assets/{llvm-P1D8XyMB.js.br → llvm-CUbQanZr.js.br} +0 -0
- /package/dist/web/assets/{llvm-P1D8XyMB.js.gz → llvm-CUbQanZr.js.gz} +0 -0
- /package/dist/web/assets/{log-BGft0RQz.js → log-B3fFlSMd.js} +0 -0
- /package/dist/web/assets/{log-BGft0RQz.js.br → log-B3fFlSMd.js.br} +0 -0
- /package/dist/web/assets/{log-BGft0RQz.js.gz → log-B3fFlSMd.js.gz} +0 -0
- /package/dist/web/assets/{logo-uFZx2JEw.js → logo-ucAyw6zf.js} +0 -0
- /package/dist/web/assets/{logo-uFZx2JEw.js.br → logo-ucAyw6zf.js.br} +0 -0
- /package/dist/web/assets/{logo-uFZx2JEw.js.gz → logo-ucAyw6zf.js.gz} +0 -0
- /package/dist/web/assets/{luau-aDpnpIe3.js → luau-C4l6TSTB.js} +0 -0
- /package/dist/web/assets/{luau-aDpnpIe3.js.br → luau-C4l6TSTB.js.br} +0 -0
- /package/dist/web/assets/{luau-aDpnpIe3.js.gz → luau-C4l6TSTB.js.gz} +0 -0
- /package/dist/web/assets/{make-DwjpJeU5.js → make-CDtGIVc7.js} +0 -0
- /package/dist/web/assets/{make-DwjpJeU5.js.br → make-CDtGIVc7.js.br} +0 -0
- /package/dist/web/assets/{make-DwjpJeU5.js.gz → make-CDtGIVc7.js.gz} +0 -0
- /package/dist/web/assets/{markdown-DC-eWqXi.js → markdown-CH1zKu2p.js} +0 -0
- /package/dist/web/assets/{markdown-DC-eWqXi.js.br → markdown-CH1zKu2p.js.br} +0 -0
- /package/dist/web/assets/{markdown-DC-eWqXi.js.gz → markdown-CH1zKu2p.js.gz} +0 -0
- /package/dist/web/assets/{marked.esm-DDb9MclE.js → marked.esm-jqwIt-AK.js} +0 -0
- /package/dist/web/assets/{marked.esm-DDb9MclE.js.br → marked.esm-jqwIt-AK.js.br} +0 -0
- /package/dist/web/assets/{marked.esm-DDb9MclE.js.gz → marked.esm-jqwIt-AK.js.gz} +0 -0
- /package/dist/web/assets/{material-theme-9BivM5cB.js → material-theme-CEuGVTmh.js} +0 -0
- /package/dist/web/assets/{material-theme-9BivM5cB.js.br → material-theme-CEuGVTmh.js.br} +0 -0
- /package/dist/web/assets/{material-theme-9BivM5cB.js.gz → material-theme-CEuGVTmh.js.gz} +0 -0
- /package/dist/web/assets/{material-theme-darker-Bg7I3WIw.js → material-theme-darker-CUZ3MoIr.js} +0 -0
- /package/dist/web/assets/{material-theme-darker-Bg7I3WIw.js.br → material-theme-darker-CUZ3MoIr.js.br} +0 -0
- /package/dist/web/assets/{material-theme-darker-Bg7I3WIw.js.gz → material-theme-darker-CUZ3MoIr.js.gz} +0 -0
- /package/dist/web/assets/{material-theme-lighter-BoEshpBb.js → material-theme-lighter-DxAqJSid.js} +0 -0
- /package/dist/web/assets/{material-theme-lighter-BoEshpBb.js.br → material-theme-lighter-DxAqJSid.js.br} +0 -0
- /package/dist/web/assets/{material-theme-lighter-BoEshpBb.js.gz → material-theme-lighter-DxAqJSid.js.gz} +0 -0
- /package/dist/web/assets/{material-theme-ocean-CmKcBlBP.js → material-theme-ocean-BSvvHJp6.js} +0 -0
- /package/dist/web/assets/{material-theme-ocean-CmKcBlBP.js.br → material-theme-ocean-BSvvHJp6.js.br} +0 -0
- /package/dist/web/assets/{material-theme-ocean-CmKcBlBP.js.gz → material-theme-ocean-BSvvHJp6.js.gz} +0 -0
- /package/dist/web/assets/{material-theme-palenight-CUyfHC0C.js → material-theme-palenight-QVOl50_m.js} +0 -0
- /package/dist/web/assets/{material-theme-palenight-CUyfHC0C.js.br → material-theme-palenight-QVOl50_m.js.br} +0 -0
- /package/dist/web/assets/{material-theme-palenight-CUyfHC0C.js.gz → material-theme-palenight-QVOl50_m.js.gz} +0 -0
- /package/dist/web/assets/{math-DAaFbMeh.js → math-iYw0Gln4.js} +0 -0
- /package/dist/web/assets/{matlab-CqBfVqYF.js → matlab-CZLQLwUp.js} +0 -0
- /package/dist/web/assets/{matlab-CqBfVqYF.js.br → matlab-CZLQLwUp.js.br} +0 -0
- /package/dist/web/assets/{matlab-CqBfVqYF.js.gz → matlab-CZLQLwUp.js.gz} +0 -0
- /package/dist/web/assets/{mdx-CdC2mVzF.js → mdx-DO4NJsOo.js} +0 -0
- /package/dist/web/assets/{mdx-CdC2mVzF.js.br → mdx-DO4NJsOo.js.br} +0 -0
- /package/dist/web/assets/{mdx-CdC2mVzF.js.gz → mdx-DO4NJsOo.js.gz} +0 -0
- /package/dist/web/assets/{mermaid-B542RnGP.js → mermaid-CIwzg1uO.js} +0 -0
- /package/dist/web/assets/{mermaid-B542RnGP.js.br → mermaid-CIwzg1uO.js.br} +0 -0
- /package/dist/web/assets/{mermaid-B542RnGP.js.gz → mermaid-CIwzg1uO.js.gz} +0 -0
- /package/dist/web/assets/{metric-chart-canvas-D7f-LQ8x.js → metric-chart-canvas-LAMaVJTu.js} +0 -0
- /package/dist/web/assets/{metric-chart-canvas-D7f-LQ8x.js.br → metric-chart-canvas-LAMaVJTu.js.br} +0 -0
- /package/dist/web/assets/{metric-chart-canvas-D7f-LQ8x.js.gz → metric-chart-canvas-LAMaVJTu.js.gz} +0 -0
- /package/dist/web/assets/{min-dark-uGP-9UE_.js → min-dark-BdIgslXy.js} +0 -0
- /package/dist/web/assets/{min-dark-uGP-9UE_.js.br → min-dark-BdIgslXy.js.br} +0 -0
- /package/dist/web/assets/{min-dark-uGP-9UE_.js.gz → min-dark-BdIgslXy.js.gz} +0 -0
- /package/dist/web/assets/{min-light-BkFlXt3G.js → min-light-DyU-T1r2.js} +0 -0
- /package/dist/web/assets/{min-light-BkFlXt3G.js.br → min-light-DyU-T1r2.js.br} +0 -0
- /package/dist/web/assets/{min-light-BkFlXt3G.js.gz → min-light-DyU-T1r2.js.gz} +0 -0
- /package/dist/web/assets/{mipsasm-CkaxcMA-.js → mipsasm-DRad-Klm.js} +0 -0
- /package/dist/web/assets/{mipsasm-CkaxcMA-.js.br → mipsasm-DRad-Klm.js.br} +0 -0
- /package/dist/web/assets/{mipsasm-CkaxcMA-.js.gz → mipsasm-DRad-Klm.js.gz} +0 -0
- /package/dist/web/assets/{mojo-DDh7AQLv.js → mojo-DXp5LDOc.js} +0 -0
- /package/dist/web/assets/{mojo-DDh7AQLv.js.br → mojo-DXp5LDOc.js.br} +0 -0
- /package/dist/web/assets/{mojo-DDh7AQLv.js.gz → mojo-DXp5LDOc.js.gz} +0 -0
- /package/dist/web/assets/{monokai-BA4dkSrE.js → monokai-BiKX3qby.js} +0 -0
- /package/dist/web/assets/{monokai-BA4dkSrE.js.br → monokai-BiKX3qby.js.br} +0 -0
- /package/dist/web/assets/{monokai-BA4dkSrE.js.gz → monokai-BiKX3qby.js.gz} +0 -0
- /package/dist/web/assets/{moonbit-DGxZDax4.js → moonbit-BOUoLF5r.js} +0 -0
- /package/dist/web/assets/{moonbit-DGxZDax4.js.br → moonbit-BOUoLF5r.js.br} +0 -0
- /package/dist/web/assets/{moonbit-DGxZDax4.js.gz → moonbit-BOUoLF5r.js.gz} +0 -0
- /package/dist/web/assets/{move-C1HZaVNc.js → move-Dlk64FWK.js} +0 -0
- /package/dist/web/assets/{move-C1HZaVNc.js.br → move-Dlk64FWK.js.br} +0 -0
- /package/dist/web/assets/{move-C1HZaVNc.js.gz → move-Dlk64FWK.js.gz} +0 -0
- /package/dist/web/assets/{narrat-g4c9qhYS.js → narrat-B-qd2Lh0.js} +0 -0
- /package/dist/web/assets/{narrat-g4c9qhYS.js.br → narrat-B-qd2Lh0.js.br} +0 -0
- /package/dist/web/assets/{narrat-g4c9qhYS.js.gz → narrat-B-qd2Lh0.js.gz} +0 -0
- /package/dist/web/assets/{nextflow-groovy-CisdbLPv.js → nextflow-groovy-iAMYas0F.js} +0 -0
- /package/dist/web/assets/{nextflow-groovy-CisdbLPv.js.br → nextflow-groovy-iAMYas0F.js.br} +0 -0
- /package/dist/web/assets/{nextflow-groovy-CisdbLPv.js.gz → nextflow-groovy-iAMYas0F.js.gz} +0 -0
- /package/dist/web/assets/{night-owl-ds7NNgBg.js → night-owl-3YNqjftR.js} +0 -0
- /package/dist/web/assets/{night-owl-ds7NNgBg.js.br → night-owl-3YNqjftR.js.br} +0 -0
- /package/dist/web/assets/{night-owl-ds7NNgBg.js.gz → night-owl-3YNqjftR.js.gz} +0 -0
- /package/dist/web/assets/{night-owl-light-DurCGAfC.js → night-owl-light-GIncHb5w.js} +0 -0
- /package/dist/web/assets/{night-owl-light-DurCGAfC.js.br → night-owl-light-GIncHb5w.js.br} +0 -0
- /package/dist/web/assets/{night-owl-light-DurCGAfC.js.gz → night-owl-light-GIncHb5w.js.gz} +0 -0
- /package/dist/web/assets/{nix-D7kCv9F9.js → nix-xjlEb3uw.js} +0 -0
- /package/dist/web/assets/{nix-D7kCv9F9.js.br → nix-xjlEb3uw.js.br} +0 -0
- /package/dist/web/assets/{nix-D7kCv9F9.js.gz → nix-xjlEb3uw.js.gz} +0 -0
- /package/dist/web/assets/{nord-C-O3ceAv.js → nord-C8tvWx7P.js} +0 -0
- /package/dist/web/assets/{nord-C-O3ceAv.js.br → nord-C8tvWx7P.js.br} +0 -0
- /package/dist/web/assets/{nord-C-O3ceAv.js.gz → nord-C8tvWx7P.js.gz} +0 -0
- /package/dist/web/assets/{nushell-oUYTGkzu.js → nushell-BqBb4pU6.js} +0 -0
- /package/dist/web/assets/{nushell-oUYTGkzu.js.br → nushell-BqBb4pU6.js.br} +0 -0
- /package/dist/web/assets/{nushell-oUYTGkzu.js.gz → nushell-BqBb4pU6.js.gz} +0 -0
- /package/dist/web/assets/{objective-c-CzqHoRSj.js → objective-c-Bk6s0Cn5.js} +0 -0
- /package/dist/web/assets/{objective-c-CzqHoRSj.js.br → objective-c-Bk6s0Cn5.js.br} +0 -0
- /package/dist/web/assets/{objective-c-CzqHoRSj.js.gz → objective-c-Bk6s0Cn5.js.gz} +0 -0
- /package/dist/web/assets/{objective-cpp-DJ8fgF2d.js → objective-cpp-DGTVWQ3V.js} +0 -0
- /package/dist/web/assets/{objective-cpp-DJ8fgF2d.js.br → objective-cpp-DGTVWQ3V.js.br} +0 -0
- /package/dist/web/assets/{objective-cpp-DJ8fgF2d.js.gz → objective-cpp-DGTVWQ3V.js.gz} +0 -0
- /package/dist/web/assets/{ocaml-B_nWFfqA.js → ocaml-D6wPQ4kw.js} +0 -0
- /package/dist/web/assets/{ocaml-B_nWFfqA.js.br → ocaml-D6wPQ4kw.js.br} +0 -0
- /package/dist/web/assets/{ocaml-B_nWFfqA.js.gz → ocaml-D6wPQ4kw.js.gz} +0 -0
- /package/dist/web/assets/{odin-BUQfWY13.js → odin-C9mw2xRN.js} +0 -0
- /package/dist/web/assets/{odin-BUQfWY13.js.br → odin-C9mw2xRN.js.br} +0 -0
- /package/dist/web/assets/{odin-BUQfWY13.js.gz → odin-C9mw2xRN.js.gz} +0 -0
- /package/dist/web/assets/{one-dark-pro-DJQor_US.js → one-dark-pro-SMBlneFb.js} +0 -0
- /package/dist/web/assets/{one-dark-pro-DJQor_US.js.br → one-dark-pro-SMBlneFb.js.br} +0 -0
- /package/dist/web/assets/{one-dark-pro-DJQor_US.js.gz → one-dark-pro-SMBlneFb.js.gz} +0 -0
- /package/dist/web/assets/{one-light-BMvQ1R6M.js → one-light-C9JMU1Cx.js} +0 -0
- /package/dist/web/assets/{one-light-BMvQ1R6M.js.br → one-light-C9JMU1Cx.js.br} +0 -0
- /package/dist/web/assets/{one-light-BMvQ1R6M.js.gz → one-light-C9JMU1Cx.js.gz} +0 -0
- /package/dist/web/assets/{openscad-DTylcqP8.js → openscad-C0I9CtuA.js} +0 -0
- /package/dist/web/assets/{openscad-DTylcqP8.js.br → openscad-C0I9CtuA.js.br} +0 -0
- /package/dist/web/assets/{openscad-DTylcqP8.js.gz → openscad-C0I9CtuA.js.gz} +0 -0
- /package/dist/web/assets/{pascal-D0N_7LGg.js → pascal-D0z4DJnY.js} +0 -0
- /package/dist/web/assets/{pascal-D0N_7LGg.js.br → pascal-D0z4DJnY.js.br} +0 -0
- /package/dist/web/assets/{pascal-D0N_7LGg.js.gz → pascal-D0z4DJnY.js.gz} +0 -0
- /package/dist/web/assets/{path-LyOWnqX5.js → path-z62pEMqs.js} +0 -0
- /package/dist/web/assets/{path-LyOWnqX5.js.br → path-z62pEMqs.js.br} +0 -0
- /package/dist/web/assets/{path-LyOWnqX5.js.gz → path-z62pEMqs.js.gz} +0 -0
- /package/dist/web/assets/{pkl-HQNdCmJT.js → pkl-CITYNGVz.js} +0 -0
- /package/dist/web/assets/{pkl-HQNdCmJT.js.br → pkl-CITYNGVz.js.br} +0 -0
- /package/dist/web/assets/{pkl-HQNdCmJT.js.gz → pkl-CITYNGVz.js.gz} +0 -0
- /package/dist/web/assets/{plastic-QMrjD10f.js → plastic-Bf0T6rmg.js} +0 -0
- /package/dist/web/assets/{plastic-QMrjD10f.js.br → plastic-Bf0T6rmg.js.br} +0 -0
- /package/dist/web/assets/{plastic-QMrjD10f.js.gz → plastic-Bf0T6rmg.js.gz} +0 -0
- /package/dist/web/assets/{plsql-Ds9EzM4F.js → plsql-Chr907pu.js} +0 -0
- /package/dist/web/assets/{plsql-Ds9EzM4F.js.br → plsql-Chr907pu.js.br} +0 -0
- /package/dist/web/assets/{plsql-Ds9EzM4F.js.gz → plsql-Chr907pu.js.gz} +0 -0
- /package/dist/web/assets/{po-CM8JtETE.js → po-07U75CYV.js} +0 -0
- /package/dist/web/assets/{po-CM8JtETE.js.br → po-07U75CYV.js.br} +0 -0
- /package/dist/web/assets/{po-CM8JtETE.js.gz → po-07U75CYV.js.gz} +0 -0
- /package/dist/web/assets/{poimandres-fat7kglW.js → poimandres-B0T4qwXY.js} +0 -0
- /package/dist/web/assets/{poimandres-fat7kglW.js.br → poimandres-B0T4qwXY.js.br} +0 -0
- /package/dist/web/assets/{poimandres-fat7kglW.js.gz → poimandres-B0T4qwXY.js.gz} +0 -0
- /package/dist/web/assets/{polar-CnOzO2UD.js → polar-BvNJMMV5.js} +0 -0
- /package/dist/web/assets/{polar-CnOzO2UD.js.br → polar-BvNJMMV5.js.br} +0 -0
- /package/dist/web/assets/{polar-CnOzO2UD.js.gz → polar-BvNJMMV5.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-BSdf-zzo.js} +0 -0
- /package/dist/web/assets/{postcss-BaqfiaQC.js.br → postcss-BSdf-zzo.js.br} +0 -0
- /package/dist/web/assets/{postcss-BaqfiaQC.js.gz → postcss-BSdf-zzo.js.gz} +0 -0
- /package/dist/web/assets/{powerquery-CtMX6ik_.js → powerquery-B2Ad_HK8.js} +0 -0
- /package/dist/web/assets/{powerquery-CtMX6ik_.js.br → powerquery-B2Ad_HK8.js.br} +0 -0
- /package/dist/web/assets/{powerquery-CtMX6ik_.js.gz → powerquery-B2Ad_HK8.js.gz} +0 -0
- /package/dist/web/assets/{powershell-BaTgHUxS.js → powershell-DO5WY2v2.js} +0 -0
- /package/dist/web/assets/{powershell-BaTgHUxS.js.br → powershell-DO5WY2v2.js.br} +0 -0
- /package/dist/web/assets/{powershell-BaTgHUxS.js.gz → powershell-DO5WY2v2.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-BfaRPYzs.js} +0 -0
- /package/dist/web/assets/{prisma-BLaoUK-7.js.br → prisma-BfaRPYzs.js.br} +0 -0
- /package/dist/web/assets/{prisma-BLaoUK-7.js.gz → prisma-BfaRPYzs.js.gz} +0 -0
- /package/dist/web/assets/{prolog-0I-GhZLt.js → prolog-Cz0Nue9e.js} +0 -0
- /package/dist/web/assets/{prolog-0I-GhZLt.js.br → prolog-Cz0Nue9e.js.br} +0 -0
- /package/dist/web/assets/{prolog-0I-GhZLt.js.gz → prolog-Cz0Nue9e.js.gz} +0 -0
- /package/dist/web/assets/{proto-CHfg51WI.js → proto-FVleUZJO.js} +0 -0
- /package/dist/web/assets/{proto-CHfg51WI.js.br → proto-FVleUZJO.js.br} +0 -0
- /package/dist/web/assets/{proto-CHfg51WI.js.gz → proto-FVleUZJO.js.gz} +0 -0
- /package/dist/web/assets/{puppet-B0WZdEhx.js → puppet-BEX5o7hE.js} +0 -0
- /package/dist/web/assets/{puppet-B0WZdEhx.js.br → puppet-BEX5o7hE.js.br} +0 -0
- /package/dist/web/assets/{puppet-B0WZdEhx.js.gz → puppet-BEX5o7hE.js.gz} +0 -0
- /package/dist/web/assets/{purescript-CrVZ4Uql.js → purescript-BZX6Kw4j.js} +0 -0
- /package/dist/web/assets/{purescript-CrVZ4Uql.js.br → purescript-BZX6Kw4j.js.br} +0 -0
- /package/dist/web/assets/{purescript-CrVZ4Uql.js.gz → purescript-BZX6Kw4j.js.gz} +0 -0
- /package/dist/web/assets/{python-aEpe7ZUF.js → python-CO89UIxE.js} +0 -0
- /package/dist/web/assets/{python-aEpe7ZUF.js.br → python-CO89UIxE.js.br} +0 -0
- /package/dist/web/assets/{python-aEpe7ZUF.js.gz → python-CO89UIxE.js.gz} +0 -0
- /package/dist/web/assets/{qmldir-DxTPc3lc.js → qmldir-DH526DWB.js} +0 -0
- /package/dist/web/assets/{qss-D-nPbCGx.js → qss-wp8im4Iz.js} +0 -0
- /package/dist/web/assets/{qss-D-nPbCGx.js.br → qss-wp8im4Iz.js.br} +0 -0
- /package/dist/web/assets/{qss-D-nPbCGx.js.gz → qss-wp8im4Iz.js.gz} +0 -0
- /package/dist/web/assets/{r-BLnTqw3q.js → r-Ct7VghHm.js} +0 -0
- /package/dist/web/assets/{r-BLnTqw3q.js.br → r-Ct7VghHm.js.br} +0 -0
- /package/dist/web/assets/{r-BLnTqw3q.js.gz → r-Ct7VghHm.js.gz} +0 -0
- /package/dist/web/assets/{racket-DNO4210g.js → racket-BQvbOE5D.js} +0 -0
- /package/dist/web/assets/{racket-DNO4210g.js.br → racket-BQvbOE5D.js.br} +0 -0
- /package/dist/web/assets/{racket-DNO4210g.js.gz → racket-BQvbOE5D.js.gz} +0 -0
- /package/dist/web/assets/{raku-iZJO4hxf.js → raku-B0iWSynj.js} +0 -0
- /package/dist/web/assets/{raku-iZJO4hxf.js.br → raku-B0iWSynj.js.br} +0 -0
- /package/dist/web/assets/{raku-iZJO4hxf.js.gz → raku-B0iWSynj.js.gz} +0 -0
- /package/dist/web/assets/{react-CzUPVyyG.js → react-PkBxFcos.js} +0 -0
- /package/dist/web/assets/{red-F3EQNsNx.js → red-Cm00r9eI.js} +0 -0
- /package/dist/web/assets/{red-F3EQNsNx.js.br → red-Cm00r9eI.js.br} +0 -0
- /package/dist/web/assets/{red-F3EQNsNx.js.gz → red-Cm00r9eI.js.gz} +0 -0
- /package/dist/web/assets/{reg-DD_Uwu3t.js → reg-CBuhna22.js} +0 -0
- /package/dist/web/assets/{reg-DD_Uwu3t.js.br → reg-CBuhna22.js.br} +0 -0
- /package/dist/web/assets/{reg-DD_Uwu3t.js.gz → reg-CBuhna22.js.gz} +0 -0
- /package/dist/web/assets/{regexp-D3RlqUxN.js → regexp-BebzP4Rp.js} +0 -0
- /package/dist/web/assets/{regexp-D3RlqUxN.js.br → regexp-BebzP4Rp.js.br} +0 -0
- /package/dist/web/assets/{regexp-D3RlqUxN.js.gz → regexp-BebzP4Rp.js.gz} +0 -0
- /package/dist/web/assets/{rel-DM5GSHUR.js → rel-BYzlBhbq.js} +0 -0
- /package/dist/web/assets/{rel-DM5GSHUR.js.br → rel-BYzlBhbq.js.br} +0 -0
- /package/dist/web/assets/{rel-DM5GSHUR.js.gz → rel-BYzlBhbq.js.gz} +0 -0
- /package/dist/web/assets/{resolve-theme-STMsK2vc.js → resolve-theme-BqoL27BW.js} +0 -0
- /package/dist/web/assets/{resolve-theme-STMsK2vc.js.br → resolve-theme-BqoL27BW.js.br} +0 -0
- /package/dist/web/assets/{resolve-theme-STMsK2vc.js.gz → resolve-theme-BqoL27BW.js.gz} +0 -0
- /package/dist/web/assets/{riscv-C_jO4gJw.js → riscv-CQQP0Ro9.js} +0 -0
- /package/dist/web/assets/{riscv-C_jO4gJw.js.br → riscv-CQQP0Ro9.js.br} +0 -0
- /package/dist/web/assets/{riscv-C_jO4gJw.js.gz → riscv-CQQP0Ro9.js.gz} +0 -0
- /package/dist/web/assets/{ron--r6_MG5U.js → ron-j1ON9YzM.js} +0 -0
- /package/dist/web/assets/{ron--r6_MG5U.js.br → ron-j1ON9YzM.js.br} +0 -0
- /package/dist/web/assets/{ron--r6_MG5U.js.gz → ron-j1ON9YzM.js.gz} +0 -0
- /package/dist/web/assets/{rose-pine-NjvlliYf.js → rose-pine-Cbri3jon.js} +0 -0
- /package/dist/web/assets/{rose-pine-NjvlliYf.js.br → rose-pine-Cbri3jon.js.br} +0 -0
- /package/dist/web/assets/{rose-pine-NjvlliYf.js.gz → rose-pine-Cbri3jon.js.gz} +0 -0
- /package/dist/web/assets/{rose-pine-dawn-DnsL01oA.js → rose-pine-dawn-BMuvKrGo.js} +0 -0
- /package/dist/web/assets/{rose-pine-dawn-DnsL01oA.js.br → rose-pine-dawn-BMuvKrGo.js.br} +0 -0
- /package/dist/web/assets/{rose-pine-dawn-DnsL01oA.js.gz → rose-pine-dawn-BMuvKrGo.js.gz} +0 -0
- /package/dist/web/assets/{rose-pine-moon-DQTuCjVy.js → rose-pine-moon-4biZzaYD.js} +0 -0
- /package/dist/web/assets/{rose-pine-moon-DQTuCjVy.js.br → rose-pine-moon-4biZzaYD.js.br} +0 -0
- /package/dist/web/assets/{rose-pine-moon-DQTuCjVy.js.gz → rose-pine-moon-4biZzaYD.js.gz} +0 -0
- /package/dist/web/assets/{rosmsg-BQrgxzms.js → rosmsg-CXx22rtz.js} +0 -0
- /package/dist/web/assets/{rosmsg-BQrgxzms.js.br → rosmsg-CXx22rtz.js.br} +0 -0
- /package/dist/web/assets/{rosmsg-BQrgxzms.js.gz → rosmsg-CXx22rtz.js.gz} +0 -0
- /package/dist/web/assets/{rough.esm-CSLcW3u5.js → rough.esm-DK8Fp44C.js} +0 -0
- /package/dist/web/assets/{rough.esm-CSLcW3u5.js.br → rough.esm-DK8Fp44C.js.br} +0 -0
- /package/dist/web/assets/{rough.esm-CSLcW3u5.js.gz → rough.esm-DK8Fp44C.js.gz} +0 -0
- /package/dist/web/assets/{rust-CP39BBh-.js → rust-D28cFIhL.js} +0 -0
- /package/dist/web/assets/{rust-CP39BBh-.js.br → rust-D28cFIhL.js.br} +0 -0
- /package/dist/web/assets/{rust-CP39BBh-.js.gz → rust-D28cFIhL.js.gz} +0 -0
- /package/dist/web/assets/{sass-CMiN16ff.js → sass-DtNw4V28.js} +0 -0
- /package/dist/web/assets/{sass-CMiN16ff.js.br → sass-DtNw4V28.js.br} +0 -0
- /package/dist/web/assets/{sass-CMiN16ff.js.gz → sass-DtNw4V28.js.gz} +0 -0
- /package/dist/web/assets/{scala-jm4Hro87.js → scala-hv69_YQC.js} +0 -0
- /package/dist/web/assets/{scala-jm4Hro87.js.br → scala-hv69_YQC.js.br} +0 -0
- /package/dist/web/assets/{scala-jm4Hro87.js.gz → scala-hv69_YQC.js.gz} +0 -0
- /package/dist/web/assets/{scheme-Ct_BnC2r.js → scheme-Dtp9B_ng.js} +0 -0
- /package/dist/web/assets/{scheme-Ct_BnC2r.js.br → scheme-Dtp9B_ng.js.br} +0 -0
- /package/dist/web/assets/{scheme-Ct_BnC2r.js.gz → scheme-Dtp9B_ng.js.gz} +0 -0
- /package/dist/web/assets/{sdbl-CnOjqCoH.js → sdbl-DEwEngAE.js} +0 -0
- /package/dist/web/assets/{sdbl-CnOjqCoH.js.br → sdbl-DEwEngAE.js.br} +0 -0
- /package/dist/web/assets/{sdbl-CnOjqCoH.js.gz → sdbl-DEwEngAE.js.gz} +0 -0
- /package/dist/web/assets/{shellscript-C6sdrDvR.js → shellscript-CYnZDrks.js} +0 -0
- /package/dist/web/assets/{shellscript-C6sdrDvR.js.br → shellscript-CYnZDrks.js.br} +0 -0
- /package/dist/web/assets/{shellscript-C6sdrDvR.js.gz → shellscript-CYnZDrks.js.gz} +0 -0
- /package/dist/web/assets/{slack-dark-BOdgeH19.js → slack-dark-DT0E0ABt.js} +0 -0
- /package/dist/web/assets/{slack-dark-BOdgeH19.js.br → slack-dark-DT0E0ABt.js.br} +0 -0
- /package/dist/web/assets/{slack-dark-BOdgeH19.js.gz → slack-dark-DT0E0ABt.js.gz} +0 -0
- /package/dist/web/assets/{slack-ochin-DBMQIw0j.js → slack-ochin-DHHiQnxo.js} +0 -0
- /package/dist/web/assets/{slack-ochin-DBMQIw0j.js.br → slack-ochin-DHHiQnxo.js.br} +0 -0
- /package/dist/web/assets/{slack-ochin-DBMQIw0j.js.gz → slack-ochin-DHHiQnxo.js.gz} +0 -0
- /package/dist/web/assets/{smalltalk-BMQqYubg.js → smalltalk-BF_I35xJ.js} +0 -0
- /package/dist/web/assets/{smalltalk-BMQqYubg.js.br → smalltalk-BF_I35xJ.js.br} +0 -0
- /package/dist/web/assets/{smalltalk-BMQqYubg.js.gz → smalltalk-BF_I35xJ.js.gz} +0 -0
- /package/dist/web/assets/{snazzy-light-DwnLbrVG.js → snazzy-light-Cv7tIZo9.js} +0 -0
- /package/dist/web/assets/{snazzy-light-DwnLbrVG.js.br → snazzy-light-Cv7tIZo9.js.br} +0 -0
- /package/dist/web/assets/{snazzy-light-DwnLbrVG.js.gz → snazzy-light-Cv7tIZo9.js.gz} +0 -0
- /package/dist/web/assets/{solarized-dark-DXJnupYd.js → solarized-dark-wZ5YPCys.js} +0 -0
- /package/dist/web/assets/{solarized-dark-DXJnupYd.js.br → solarized-dark-wZ5YPCys.js.br} +0 -0
- /package/dist/web/assets/{solarized-dark-DXJnupYd.js.gz → solarized-dark-wZ5YPCys.js.gz} +0 -0
- /package/dist/web/assets/{solarized-light-DqhyrtI4.js → solarized-light-DGDOr1AS.js} +0 -0
- /package/dist/web/assets/{solarized-light-DqhyrtI4.js.br → solarized-light-DGDOr1AS.js.br} +0 -0
- /package/dist/web/assets/{solarized-light-DqhyrtI4.js.gz → solarized-light-DGDOr1AS.js.gz} +0 -0
- /package/dist/web/assets/{solidity-BM0p0sku.js → solidity-BJknuPqJ.js} +0 -0
- /package/dist/web/assets/{solidity-BM0p0sku.js.br → solidity-BJknuPqJ.js.br} +0 -0
- /package/dist/web/assets/{solidity-BM0p0sku.js.gz → solidity-BJknuPqJ.js.gz} +0 -0
- /package/dist/web/assets/{splunk-Cq6_jbaY.js → splunk-B1ClO_KU.js} +0 -0
- /package/dist/web/assets/{splunk-Cq6_jbaY.js.br → splunk-B1ClO_KU.js.br} +0 -0
- /package/dist/web/assets/{splunk-Cq6_jbaY.js.gz → splunk-B1ClO_KU.js.gz} +0 -0
- /package/dist/web/assets/{sql-CPfIb_cO.js → sql-CEkBuGIw.js} +0 -0
- /package/dist/web/assets/{sql-CPfIb_cO.js.br → sql-CEkBuGIw.js.br} +0 -0
- /package/dist/web/assets/{sql-CPfIb_cO.js.gz → sql-CEkBuGIw.js.gz} +0 -0
- /package/dist/web/assets/{src-C7A68uNq.js → src-C1GX5Kxw.js} +0 -0
- /package/dist/web/assets/{src-C7A68uNq.js.br → src-C1GX5Kxw.js.br} +0 -0
- /package/dist/web/assets/{src-C7A68uNq.js.gz → src-C1GX5Kxw.js.gz} +0 -0
- /package/dist/web/assets/{ssh-config-GRgzMVtG.js → ssh-config-kgM67Sf6.js} +0 -0
- /package/dist/web/assets/{ssh-config-GRgzMVtG.js.br → ssh-config-kgM67Sf6.js.br} +0 -0
- /package/dist/web/assets/{ssh-config-GRgzMVtG.js.gz → ssh-config-kgM67Sf6.js.gz} +0 -0
- /package/dist/web/assets/{stylus-DNs7ubf9.js → stylus-RcVaInR-.js} +0 -0
- /package/dist/web/assets/{stylus-DNs7ubf9.js.br → stylus-RcVaInR-.js.br} +0 -0
- /package/dist/web/assets/{stylus-DNs7ubf9.js.gz → stylus-RcVaInR-.js.gz} +0 -0
- /package/dist/web/assets/{swift-BQV34vng.js → swift-Cm0fh2lX.js} +0 -0
- /package/dist/web/assets/{swift-BQV34vng.js.br → swift-Cm0fh2lX.js.br} +0 -0
- /package/dist/web/assets/{swift-BQV34vng.js.gz → swift-Cm0fh2lX.js.gz} +0 -0
- /package/dist/web/assets/{synthwave-84-CypcdXbA.js → synthwave-84-CwLiazxr.js} +0 -0
- /package/dist/web/assets/{synthwave-84-CypcdXbA.js.br → synthwave-84-CwLiazxr.js.br} +0 -0
- /package/dist/web/assets/{synthwave-84-CypcdXbA.js.gz → synthwave-84-CwLiazxr.js.gz} +0 -0
- /package/dist/web/assets/{system-verilog-DaLPjQ4v.js → system-verilog-CzYaDVLH.js} +0 -0
- /package/dist/web/assets/{system-verilog-DaLPjQ4v.js.br → system-verilog-CzYaDVLH.js.br} +0 -0
- /package/dist/web/assets/{system-verilog-DaLPjQ4v.js.gz → system-verilog-CzYaDVLH.js.gz} +0 -0
- /package/dist/web/assets/{systemd-CXHFtmNc.js → systemd-DbSagfLw.js} +0 -0
- /package/dist/web/assets/{systemd-CXHFtmNc.js.br → systemd-DbSagfLw.js.br} +0 -0
- /package/dist/web/assets/{systemd-CXHFtmNc.js.gz → systemd-DbSagfLw.js.gz} +0 -0
- /package/dist/web/assets/{talonscript-DI9nO5jX.js → talonscript-BCFnWejL.js} +0 -0
- /package/dist/web/assets/{talonscript-DI9nO5jX.js.br → talonscript-BCFnWejL.js.br} +0 -0
- /package/dist/web/assets/{talonscript-DI9nO5jX.js.gz → talonscript-BCFnWejL.js.gz} +0 -0
- /package/dist/web/assets/{tasl-BAQyAl0c.js → tasl-BUdqtEe1.js} +0 -0
- /package/dist/web/assets/{tasl-BAQyAl0c.js.br → tasl-BUdqtEe1.js.br} +0 -0
- /package/dist/web/assets/{tasl-BAQyAl0c.js.gz → tasl-BUdqtEe1.js.gz} +0 -0
- /package/dist/web/assets/{tcl-BP_ozI58.js → tcl-CR_lTV9N.js} +0 -0
- /package/dist/web/assets/{tcl-BP_ozI58.js.br → tcl-CR_lTV9N.js.br} +0 -0
- /package/dist/web/assets/{tcl-BP_ozI58.js.gz → tcl-CR_lTV9N.js.gz} +0 -0
- /package/dist/web/assets/{terraform-NrndR0yZ.js → terraform-Bqsha-xe.js} +0 -0
- /package/dist/web/assets/{terraform-NrndR0yZ.js.br → terraform-Bqsha-xe.js.br} +0 -0
- /package/dist/web/assets/{terraform-NrndR0yZ.js.gz → terraform-Bqsha-xe.js.gz} +0 -0
- /package/dist/web/assets/{tokyo-night-CbUQlN8D.js → tokyo-night-Cnuo6JB6.js} +0 -0
- /package/dist/web/assets/{tokyo-night-CbUQlN8D.js.br → tokyo-night-Cnuo6JB6.js.br} +0 -0
- /package/dist/web/assets/{tokyo-night-CbUQlN8D.js.gz → tokyo-night-Cnuo6JB6.js.gz} +0 -0
- /package/dist/web/assets/{toml-BM_zrMLj.js → toml-CLFdhT22.js} +0 -0
- /package/dist/web/assets/{toml-BM_zrMLj.js.br → toml-CLFdhT22.js.br} +0 -0
- /package/dist/web/assets/{toml-BM_zrMLj.js.gz → toml-CLFdhT22.js.gz} +0 -0
- /package/dist/web/assets/{tsv-CfyllNPO.js → tsv-Dw3tLrZN.js} +0 -0
- /package/dist/web/assets/{tsx-BROcpVjE.js → tsx-BuCbOiJi.js} +0 -0
- /package/dist/web/assets/{tsx-BROcpVjE.js.br → tsx-BuCbOiJi.js.br} +0 -0
- /package/dist/web/assets/{tsx-BROcpVjE.js.gz → tsx-BuCbOiJi.js.gz} +0 -0
- /package/dist/web/assets/{turtle-CHmyeS9k.js → turtle-BMKMfTrj.js} +0 -0
- /package/dist/web/assets/{turtle-CHmyeS9k.js.br → turtle-BMKMfTrj.js.br} +0 -0
- /package/dist/web/assets/{turtle-CHmyeS9k.js.gz → turtle-BMKMfTrj.js.gz} +0 -0
- /package/dist/web/assets/{typescript-BVwspRg8.js → typescript-Y6cbFqno.js} +0 -0
- /package/dist/web/assets/{typescript-BVwspRg8.js.br → typescript-Y6cbFqno.js.br} +0 -0
- /package/dist/web/assets/{typescript-BVwspRg8.js.gz → typescript-Y6cbFqno.js.gz} +0 -0
- /package/dist/web/assets/{typespec-DXRppCgc.js → typespec-EbgGJHV_.js} +0 -0
- /package/dist/web/assets/{typespec-DXRppCgc.js.br → typespec-EbgGJHV_.js.br} +0 -0
- /package/dist/web/assets/{typespec-DXRppCgc.js.gz → typespec-EbgGJHV_.js.gz} +0 -0
- /package/dist/web/assets/{typst-L5uwArOj.js → typst-CQXV2SzX.js} +0 -0
- /package/dist/web/assets/{typst-L5uwArOj.js.br → typst-CQXV2SzX.js.br} +0 -0
- /package/dist/web/assets/{typst-L5uwArOj.js.gz → typst-CQXV2SzX.js.gz} +0 -0
- /package/dist/web/assets/{use-h264-canvas-decoder-BfO9QrlH.js → use-h264-canvas-decoder-DAjp9oHe.js} +0 -0
- /package/dist/web/assets/{use-h264-canvas-decoder-BfO9QrlH.js.br → use-h264-canvas-decoder-DAjp9oHe.js.br} +0 -0
- /package/dist/web/assets/{use-h264-canvas-decoder-BfO9QrlH.js.gz → use-h264-canvas-decoder-DAjp9oHe.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-CQ6-A0Dt.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-Ci1jObJJ.js} +0 -0
- /package/dist/web/assets/{v-Bz99d5uk.js.br → v-Ci1jObJJ.js.br} +0 -0
- /package/dist/web/assets/{v-Bz99d5uk.js.gz → v-Ci1jObJJ.js.gz} +0 -0
- /package/dist/web/assets/{vala-B-CtBLX1.js → vala-C_NdfqrY.js} +0 -0
- /package/dist/web/assets/{vala-B-CtBLX1.js.br → vala-C_NdfqrY.js.br} +0 -0
- /package/dist/web/assets/{vala-B-CtBLX1.js.gz → vala-C_NdfqrY.js.gz} +0 -0
- /package/dist/web/assets/{vb-DHqiz9Cp.js → vb-K_r_h_s8.js} +0 -0
- /package/dist/web/assets/{vb-DHqiz9Cp.js.br → vb-K_r_h_s8.js.br} +0 -0
- /package/dist/web/assets/{vb-DHqiz9Cp.js.gz → vb-K_r_h_s8.js.gz} +0 -0
- /package/dist/web/assets/{vendor-xterm-CfasyE0m.js → vendor-xterm-sFX94k3w.js} +0 -0
- /package/dist/web/assets/{vendor-xterm-CfasyE0m.js.br → vendor-xterm-sFX94k3w.js.br} +0 -0
- /package/dist/web/assets/{vendor-xterm-CfasyE0m.js.gz → vendor-xterm-sFX94k3w.js.gz} +0 -0
- /package/dist/web/assets/{verilog-DbTkSkM7.js → verilog-DQPYLsZI.js} +0 -0
- /package/dist/web/assets/{verilog-DbTkSkM7.js.br → verilog-DQPYLsZI.js.br} +0 -0
- /package/dist/web/assets/{verilog-DbTkSkM7.js.gz → verilog-DQPYLsZI.js.gz} +0 -0
- /package/dist/web/assets/{vesper-2aVei4Le.js → vesper-BrmzEV8s.js} +0 -0
- /package/dist/web/assets/{vesper-2aVei4Le.js.br → vesper-BrmzEV8s.js.br} +0 -0
- /package/dist/web/assets/{vesper-2aVei4Le.js.gz → vesper-BrmzEV8s.js.gz} +0 -0
- /package/dist/web/assets/{vhdl-BJJSCnQQ.js → vhdl-CjxQGaH2.js} +0 -0
- /package/dist/web/assets/{vhdl-BJJSCnQQ.js.br → vhdl-CjxQGaH2.js.br} +0 -0
- /package/dist/web/assets/{vhdl-BJJSCnQQ.js.gz → vhdl-CjxQGaH2.js.gz} +0 -0
- /package/dist/web/assets/{viml-qxSvRN8n.js → viml-CTKJNQH1.js} +0 -0
- /package/dist/web/assets/{viml-qxSvRN8n.js.br → viml-CTKJNQH1.js.br} +0 -0
- /package/dist/web/assets/{viml-qxSvRN8n.js.gz → viml-CTKJNQH1.js.gz} +0 -0
- /package/dist/web/assets/{vitesse-black-CjR1y0Bv.js → vitesse-black-i-H_3p1i.js} +0 -0
- /package/dist/web/assets/{vitesse-black-CjR1y0Bv.js.br → vitesse-black-i-H_3p1i.js.br} +0 -0
- /package/dist/web/assets/{vitesse-black-CjR1y0Bv.js.gz → vitesse-black-i-H_3p1i.js.gz} +0 -0
- /package/dist/web/assets/{vitesse-dark-jrcdsqkn.js → vitesse-dark-DZC_Yy3_.js} +0 -0
- /package/dist/web/assets/{vitesse-dark-jrcdsqkn.js.br → vitesse-dark-DZC_Yy3_.js.br} +0 -0
- /package/dist/web/assets/{vitesse-dark-jrcdsqkn.js.gz → vitesse-dark-DZC_Yy3_.js.gz} +0 -0
- /package/dist/web/assets/{vitesse-light-DkC_qU0k.js → vitesse-light-rf4kpmk8.js} +0 -0
- /package/dist/web/assets/{vitesse-light-DkC_qU0k.js.br → vitesse-light-rf4kpmk8.js.br} +0 -0
- /package/dist/web/assets/{vitesse-light-DkC_qU0k.js.gz → vitesse-light-rf4kpmk8.js.gz} +0 -0
- /package/dist/web/assets/{vyper-WAhkfwIX.js → vyper-BLnOw4Nf.js} +0 -0
- /package/dist/web/assets/{vyper-WAhkfwIX.js.br → vyper-BLnOw4Nf.js.br} +0 -0
- /package/dist/web/assets/{vyper-WAhkfwIX.js.gz → vyper-BLnOw4Nf.js.gz} +0 -0
- /package/dist/web/assets/{wasm-BYGI5YYa.js → wasm-CTwH9oN2.js} +0 -0
- /package/dist/web/assets/{wasm-BYGI5YYa.js.br → wasm-CTwH9oN2.js.br} +0 -0
- /package/dist/web/assets/{wasm-BYGI5YYa.js.gz → wasm-CTwH9oN2.js.gz} +0 -0
- /package/dist/web/assets/{wasm-Miuao4O0.js → wasm-CWeHvGNG.js} +0 -0
- /package/dist/web/assets/{wasm-Miuao4O0.js.br → wasm-CWeHvGNG.js.br} +0 -0
- /package/dist/web/assets/{wasm-Miuao4O0.js.gz → wasm-CWeHvGNG.js.gz} +0 -0
- /package/dist/web/assets/{wenyan-Dd5qjF8u.js → wenyan-CLwdRuzd.js} +0 -0
- /package/dist/web/assets/{wenyan-Dd5qjF8u.js.br → wenyan-CLwdRuzd.js.br} +0 -0
- /package/dist/web/assets/{wenyan-Dd5qjF8u.js.gz → wenyan-CLwdRuzd.js.gz} +0 -0
- /package/dist/web/assets/{wgsl-C3T5a0UO.js → wgsl-CBTDMVJR.js} +0 -0
- /package/dist/web/assets/{wgsl-C3T5a0UO.js.br → wgsl-CBTDMVJR.js.br} +0 -0
- /package/dist/web/assets/{wgsl-C3T5a0UO.js.gz → wgsl-CBTDMVJR.js.gz} +0 -0
- /package/dist/web/assets/{wikitext-CvCJjxSa.js → wikitext-CQHrF84e.js} +0 -0
- /package/dist/web/assets/{wikitext-CvCJjxSa.js.br → wikitext-CQHrF84e.js.br} +0 -0
- /package/dist/web/assets/{wikitext-CvCJjxSa.js.gz → wikitext-CQHrF84e.js.gz} +0 -0
- /package/dist/web/assets/{wit-DybvG9BU.js → wit-8xdbdipU.js} +0 -0
- /package/dist/web/assets/{wit-DybvG9BU.js.br → wit-8xdbdipU.js.br} +0 -0
- /package/dist/web/assets/{wit-DybvG9BU.js.gz → wit-8xdbdipU.js.gz} +0 -0
- /package/dist/web/assets/{wolfram-CdhnrpZ7.js → wolfram-tFwx32a_.js} +0 -0
- /package/dist/web/assets/{wolfram-CdhnrpZ7.js.br → wolfram-tFwx32a_.js.br} +0 -0
- /package/dist/web/assets/{wolfram-CdhnrpZ7.js.gz → wolfram-tFwx32a_.js.gz} +0 -0
- /package/dist/web/assets/{yaml-B0HIje0z.js → yaml-D5O1CXgB.js} +0 -0
- /package/dist/web/assets/{yaml-B0HIje0z.js.br → yaml-D5O1CXgB.js.br} +0 -0
- /package/dist/web/assets/{yaml-B0HIje0z.js.gz → yaml-D5O1CXgB.js.gz} +0 -0
- /package/dist/web/assets/{zenscript-CcLSNTvD.js → zenscript-B10Pj7JT.js} +0 -0
- /package/dist/web/assets/{zenscript-CcLSNTvD.js.br → zenscript-B10Pj7JT.js.br} +0 -0
- /package/dist/web/assets/{zenscript-CcLSNTvD.js.gz → zenscript-B10Pj7JT.js.gz} +0 -0
- /package/dist/web/assets/{zig-dAelYAUr.js → zig-BZKcTtrK.js} +0 -0
- /package/dist/web/assets/{zig-dAelYAUr.js.br → zig-BZKcTtrK.js.br} +0 -0
- /package/dist/web/assets/{zig-dAelYAUr.js.gz → zig-BZKcTtrK.js.gz} +0 -0
|
@@ -0,0 +1,1291 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The Git Graph script's actions: the toolbar's menus and sync buttons, every
|
|
3
|
+
* context menu, the git commands behind them, the working-tree writes the
|
|
4
|
+
* inspector's composer makes, and the banner for a stopped merge or rebase.
|
|
5
|
+
*
|
|
6
|
+
* The working-tree half says what it did in the same words Source Control
|
|
7
|
+
* uses (git-status-panel.tsx), because it is the same action reached from
|
|
8
|
+
* another place.
|
|
9
|
+
*
|
|
10
|
+
* Part of one shared script; see webview-script-core.ts for the rules.
|
|
11
|
+
*/
|
|
12
|
+
export function actionsScript(): string {
|
|
13
|
+
return String.raw`
|
|
14
|
+
// --- Busy, and the sync buttons ---
|
|
15
|
+
function branchState() {
|
|
16
|
+
return (state.changes && state.changes.branch) || null;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/** The branch the toolbar is about, for sentences: a detached HEAD has none. */
|
|
20
|
+
function currentName() {
|
|
21
|
+
return state.currentBranch && state.currentBranch !== 'HEAD' ? state.currentBranch : 'HEAD';
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
function renderBusy() {
|
|
25
|
+
renderSync();
|
|
26
|
+
updateCommitControls();
|
|
27
|
+
renderOpBanner();
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/** A count of writes in flight under one name, for the ones a second click may queue behind. */
|
|
31
|
+
function busyCount(name, delta) {
|
|
32
|
+
const n = (Number(state.busy[name]) || 0) + delta;
|
|
33
|
+
if (n > 0) state.busy[name] = n;
|
|
34
|
+
else delete state.busy[name];
|
|
35
|
+
renderBusy();
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
function syncTitle(mode, b) {
|
|
39
|
+
const up = (b && b.upstream) || 'the remote';
|
|
40
|
+
switch (mode) {
|
|
41
|
+
case 'publish': return b && b.upstreamGone ? up + ' is gone from the remote: push the branch again' : 'Push this branch to the remote and track it';
|
|
42
|
+
case 'sync': return 'Pull ' + b.behind + ' and push ' + b.ahead + ' with ' + up;
|
|
43
|
+
case 'pull': return 'Pull ' + b.behind + ' from ' + up;
|
|
44
|
+
case 'push': return 'Push to ' + up;
|
|
45
|
+
case 'synced': return 'In sync with ' + up + ' · click to fetch';
|
|
46
|
+
}
|
|
47
|
+
return '';
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/*
|
|
51
|
+
* Fetch, Pull and Push side by side on a wide panel, so what each would do is
|
|
52
|
+
* readable before it is done; on a phone one button, the same one Source
|
|
53
|
+
* Control shows — Push ↑n, Pull ↓n, Sync, Publish, or Synced, which fetches.
|
|
54
|
+
* It leads once nothing is left to commit.
|
|
55
|
+
*/
|
|
56
|
+
function renderSync() {
|
|
57
|
+
const b = branchState();
|
|
58
|
+
const mode = b ? syncMode(b) : null;
|
|
59
|
+
const remotes = state.remotes.length > 0;
|
|
60
|
+
const busy = anyBusy();
|
|
61
|
+
const behind = (b && b.behind) || 0;
|
|
62
|
+
const ahead = (b && b.ahead) || 0;
|
|
63
|
+
const up = (b && b.upstream) || 'the remote';
|
|
64
|
+
|
|
65
|
+
const fetchBtn = document.getElementById('btn-fetch');
|
|
66
|
+
const fetching = !!state.busy.fetch;
|
|
67
|
+
fetchBtn.disabled = busy || !remotes;
|
|
68
|
+
fetchBtn.setAttribute('aria-busy', String(fetching));
|
|
69
|
+
fetchBtn.innerHTML = ic(fetching ? 'spinner' : 'sync', 'ic-sm') + '<span class="lbl">Fetch</span>';
|
|
70
|
+
fetchBtn.title = remotes ? 'Fetch from every remote' : 'This repository has no remote';
|
|
71
|
+
|
|
72
|
+
const pullBtn = document.getElementById('btn-pull');
|
|
73
|
+
const pulling = !!state.busy.pull;
|
|
74
|
+
const canPull = !!(b && b.upstream && !b.upstreamGone && behind > 0);
|
|
75
|
+
pullBtn.disabled = busy || !canPull;
|
|
76
|
+
pullBtn.setAttribute('aria-busy', String(pulling));
|
|
77
|
+
pullBtn.innerHTML = ic(pulling ? 'spinner' : 'pull', 'ic-sm') + '<span class="lbl">Pull</span><span class="num">' + (behind || '') + '</span>';
|
|
78
|
+
pullBtn.title = canPull ? 'Pull ' + plural(behind, 'commit') + ' from ' + up
|
|
79
|
+
: b && b.upstream && !b.upstreamGone ? 'Nothing to pull from ' + up : 'This branch has no upstream to pull from';
|
|
80
|
+
|
|
81
|
+
const pushBtn = document.getElementById('btn-push');
|
|
82
|
+
const publish = mode === 'publish';
|
|
83
|
+
const pushing = !!(state.busy.push || state.busy.sync || state.busy.publish);
|
|
84
|
+
pushBtn.disabled = busy || !(mode === 'push' || mode === 'sync' || publish);
|
|
85
|
+
pushBtn.setAttribute('aria-busy', String(pushing));
|
|
86
|
+
pushBtn.innerHTML = ic(pushing ? 'spinner' : publish ? 'cloud' : 'push', 'ic-sm') + '<span class="lbl">' + (publish ? 'Publish' : 'Push') + '</span>'
|
|
87
|
+
+ '<span class="num hot">' + (ahead && !publish ? ahead : '') + '</span>';
|
|
88
|
+
pushBtn.title = mode === 'push' || mode === 'sync' || publish ? syncTitle(mode, b) : 'Nothing to push';
|
|
89
|
+
|
|
90
|
+
const m = document.getElementById('btn-sync-m');
|
|
91
|
+
m.classList.toggle('hidden', !mode);
|
|
92
|
+
if (!mode) return;
|
|
93
|
+
const icons = { publish: 'cloud', sync: 'sync', pull: 'pull', push: 'push', synced: 'check' };
|
|
94
|
+
const labels = { publish: 'Publish', sync: 'Sync', pull: 'Pull', push: 'Push', synced: 'Synced' };
|
|
95
|
+
const running = state.busy[mode] || (mode === 'synced' && state.busy.fetch);
|
|
96
|
+
let counts = '';
|
|
97
|
+
if (mode === 'sync' || mode === 'pull' || mode === 'push') {
|
|
98
|
+
counts = '<span class="ab">'
|
|
99
|
+
+ (behind ? '<span>' + ic('arrow-down', 'ic-xs') + behind + '</span>' : '')
|
|
100
|
+
+ (ahead ? '<span class="up">' + ic('arrow-up', 'ic-xs') + ahead + '</span>' : '')
|
|
101
|
+
+ '</span>';
|
|
102
|
+
}
|
|
103
|
+
m.classList.toggle('primary', changedFiles().length === 0 && mode !== 'synced');
|
|
104
|
+
m.disabled = busy;
|
|
105
|
+
m.setAttribute('aria-busy', String(!!running));
|
|
106
|
+
m.innerHTML = ic(running ? 'spinner' : icons[mode], 'ic-sm') + '<span class="lbl">' + labels[mode] + '</span>' + counts;
|
|
107
|
+
m.title = syncTitle(mode, b);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
function runSync(action) {
|
|
111
|
+
if (anyBusy()) return;
|
|
112
|
+
const b = branchState();
|
|
113
|
+
const up = (b && b.upstream) || 'the remote';
|
|
114
|
+
const ahead = (b && b.ahead) || 0;
|
|
115
|
+
const behind = (b && b.behind) || 0;
|
|
116
|
+
setBusy(action, true);
|
|
117
|
+
request({ command: 'sync', action }, action, (result) => {
|
|
118
|
+
setBusy(action, false);
|
|
119
|
+
if (!result.ok) {
|
|
120
|
+
const failed = { push: 'Push failed', pull: 'Pull failed', sync: 'Sync failed', publish: 'Publish failed', fetch: 'Fetch failed' };
|
|
121
|
+
showActionError(failed[action] || 'Failed', result.error);
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
const data = result.data || {};
|
|
125
|
+
if (action === 'push') showToast(ahead ? 'Pushed ' + plural(ahead, 'commit') + ' to ' + up : 'Pushed to ' + up, { kind: 'success' });
|
|
126
|
+
else if (action === 'pull') showToast(behind ? 'Pulled ' + plural(behind, 'commit') + ' from ' + up : 'Pulled from ' + up, { kind: 'success' });
|
|
127
|
+
else if (action === 'sync') showToast('In sync with ' + up, { kind: 'success' });
|
|
128
|
+
else if (action === 'publish') showToast('Published ' + (data.branch || (b && b.head) || 'the branch') + ' to ' + (data.remote || 'the remote'), { kind: 'success' });
|
|
129
|
+
else if (action === 'fetch') {
|
|
130
|
+
const n = Number(data.behind) || 0;
|
|
131
|
+
showToast(n ? 'Fetched — ' + plural(n, 'new commit') + ' to pull' : 'Fetched — nothing new');
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
/* The setting's own fetch says nothing and blocks nothing: it runs whether or
|
|
137
|
+
not anyone is looking, and a commit must not wait for it. */
|
|
138
|
+
function startAutoFetch(sec) {
|
|
139
|
+
if (autoFetchTimer) { clearInterval(autoFetchTimer); autoFetchTimer = null; }
|
|
140
|
+
const n = Number(sec) || 0;
|
|
141
|
+
if (n <= 0) return;
|
|
142
|
+
autoFetchTimer = setInterval(() => {
|
|
143
|
+
if (anyBusy() || !state.remotes.length) return;
|
|
144
|
+
request({ command: 'sync', action: 'fetch' }, 'fetch', null);
|
|
145
|
+
}, Math.max(n, 10) * 1000);
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
/*
|
|
149
|
+
* A failure says which command failed and git's own words under it. A merge,
|
|
150
|
+
* pull, rebase or cherry-pick that stops on a conflict is not a failure the
|
|
151
|
+
* reader can do nothing about, though: the banner above the list is where it
|
|
152
|
+
* goes on from, so that is what the toast points at.
|
|
153
|
+
*/
|
|
154
|
+
function showActionError(title, error) {
|
|
155
|
+
const text = String(error || '').trim();
|
|
156
|
+
if (/\bCONFLICT\b|fix conflicts|could not apply/i.test(text)) {
|
|
157
|
+
showToast('Stopped on a conflict', { kind: 'warning', description: 'Resolve the conflicted files, then continue or abort from the banner above the list.' });
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
showToast(title, { kind: 'error', description: text || 'git did not say why.' });
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
/** One git command, its busy mark, and the sentence for either outcome. */
|
|
164
|
+
function runGitWrite(action, args, success, failure, then) {
|
|
165
|
+
if (anyBusy()) return;
|
|
166
|
+
setBusy(action, true);
|
|
167
|
+
gitAction(action, args, (result) => {
|
|
168
|
+
setBusy(action, false);
|
|
169
|
+
if (!result.ok) { showActionError(failure, result.error); return; }
|
|
170
|
+
if (success) showToast(success, { kind: 'success' });
|
|
171
|
+
if (then) then(result);
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
function reloadEverything() {
|
|
176
|
+
vscode.postMessage({ command: 'requestRepoInfo' });
|
|
177
|
+
vscode.postMessage({ command: 'requestCommits', branch: state.scope === 'all' ? undefined : state.scope, maxCommits: refreshCount() });
|
|
178
|
+
vscode.postMessage({ command: 'requestChanges' });
|
|
179
|
+
vscode.postMessage({ command: 'requestWorktrees' });
|
|
180
|
+
vscode.postMessage({ command: 'requestStashes' });
|
|
181
|
+
vscode.postMessage({ command: 'requestSubmodules' });
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
// --- The toolbar ---
|
|
185
|
+
function setToolCount(id, n) {
|
|
186
|
+
const el = document.querySelector('#' + id + ' .n');
|
|
187
|
+
if (el) el.textContent = n ? String(n) : '';
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
function renderToolbar() {
|
|
191
|
+
const label = state.scope === 'all' ? 'All branches' : state.scope;
|
|
192
|
+
document.getElementById('scope-label').textContent = label;
|
|
193
|
+
document.getElementById('branch-selector').title = 'Showing ' + label + ' · click to change';
|
|
194
|
+
setToolCount('btn-stash', state.stashes.length);
|
|
195
|
+
// One worktree is the repository itself: only a second one is news.
|
|
196
|
+
setToolCount('btn-worktree', state.worktrees.length > 1 ? state.worktrees.length : 0);
|
|
197
|
+
setToolCount('btn-submodule', state.submodules.length);
|
|
198
|
+
document.getElementById('btn-submodule').classList.toggle('hidden', !state.submodules.length);
|
|
199
|
+
renderSync();
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
function localBranchNames() {
|
|
203
|
+
return state.branches
|
|
204
|
+
.filter((b) => !isRemoteBranchName(b.name) && !state.remotes.some((r) => r.name === b.name))
|
|
205
|
+
.map((b) => b.name);
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
function scopeMenuItems() {
|
|
209
|
+
const items = [{ heading: 'Branches' }, { label: 'All branches', checked: state.scope === 'all', action: () => setScope('all') }];
|
|
210
|
+
const locals = localBranchNames();
|
|
211
|
+
locals.sort((a, b) => (b === state.currentBranch) - (a === state.currentBranch));
|
|
212
|
+
locals.forEach((name) => items.push({
|
|
213
|
+
label: name, sub: name === state.currentBranch ? 'checked out' : '',
|
|
214
|
+
checked: state.scope === name, action: () => setScope(name),
|
|
215
|
+
}));
|
|
216
|
+
if (state.settings.showRemoteBranches) {
|
|
217
|
+
const remotes = state.branches.filter((b) => isRemoteBranchName(b.name) && !/\/HEAD$/.test(b.name));
|
|
218
|
+
if (remotes.length) {
|
|
219
|
+
items.push({ heading: 'Remote branches' });
|
|
220
|
+
remotes.forEach((b) => items.push({ label: b.name, checked: state.scope === b.name, action: () => setScope(b.name) }));
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
items.push({ separator: true }, { heading: 'Show' });
|
|
224
|
+
items.push({ label: 'Remote branches', checked: !!state.settings.showRemoteBranches, action: () => toggleShowSetting('showRemoteBranches') });
|
|
225
|
+
items.push({ label: 'Tags', checked: !!state.settings.showTags, action: () => toggleShowSetting('showTags') });
|
|
226
|
+
items.push({ label: 'Stashes', checked: !!state.settings.showStashes, action: () => toggleShowSetting('showStashes') });
|
|
227
|
+
return items;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
function toggleShowSetting(key) {
|
|
231
|
+
const value = !state.settings[key];
|
|
232
|
+
state.settings[key] = value;
|
|
233
|
+
vscode.postMessage({ command: 'updateSetting', key, value });
|
|
234
|
+
const box = document.getElementById('s-' + key);
|
|
235
|
+
if (box) box.checked = value;
|
|
236
|
+
renderCommitList();
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
/** Show one branch's history, or everything. The host remembers it for the panel. */
|
|
240
|
+
function setScope(name) {
|
|
241
|
+
if (name === state.scope) return;
|
|
242
|
+
state.scope = name;
|
|
243
|
+
state.commits = [];
|
|
244
|
+
state.stats = {};
|
|
245
|
+
state.commitsLoaded = false;
|
|
246
|
+
state.hasMore = false;
|
|
247
|
+
state.loading = true;
|
|
248
|
+
renderToolbar();
|
|
249
|
+
renderCommitList();
|
|
250
|
+
updateStatus();
|
|
251
|
+
document.getElementById('loading').classList.remove('hidden');
|
|
252
|
+
vscode.postMessage({ command: 'requestCommits', branch: name === 'all' ? undefined : name, maxCommits: state.maxCommits });
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
function viewMenuItems() {
|
|
256
|
+
const items = [];
|
|
257
|
+
if (!isNarrowLayout()) {
|
|
258
|
+
items.push({ heading: 'Columns' });
|
|
259
|
+
columnMenuItems().forEach((it) => items.push(it));
|
|
260
|
+
items.push({ separator: true });
|
|
261
|
+
}
|
|
262
|
+
// Below 700px the toolbar drops these three buttons; their menus live here.
|
|
263
|
+
if (typeof window.matchMedia === 'function' && window.matchMedia('(max-width: 700px)').matches) {
|
|
264
|
+
items.push({ label: 'Stashes', icon: 'stash', children: stashListItems() });
|
|
265
|
+
items.push({ label: 'Worktrees', icon: 'folder', children: worktreeMenuItems() });
|
|
266
|
+
if (state.submodules.length) items.push({ label: 'Submodules', icon: 'cube', children: submoduleMenuItems() });
|
|
267
|
+
items.push({ separator: true });
|
|
268
|
+
}
|
|
269
|
+
items.push({ label: 'Refresh', icon: 'sync', action: reloadEverything });
|
|
270
|
+
items.push({ label: 'Reflog', icon: 'history', title: 'Undo a reset, a rebase or a deleted branch', action: () => vscode.postMessage({ command: 'openReflog' }) });
|
|
271
|
+
items.push({ separator: true });
|
|
272
|
+
items.push({ label: 'Git Graph settings…', icon: 'settings', action: openSettings });
|
|
273
|
+
return items;
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
/* Opening with nothing selected would show an empty column, so it opens on
|
|
277
|
+
what a wide panel opens on by itself: the changes, else the checked-out commit. */
|
|
278
|
+
function toggleInspector() {
|
|
279
|
+
if (state.inspectorOpen) { closeDetailPanel(); return; }
|
|
280
|
+
if (!state.selectedCommit) {
|
|
281
|
+
if (showWipRow()) { selectCommit('uncommitted'); return; }
|
|
282
|
+
if (state.head && rowFor(state.head)) { selectCommit(state.head, { scroll: true }); return; }
|
|
283
|
+
}
|
|
284
|
+
state.inspectorOpen = true;
|
|
285
|
+
applyInspectorVisibility();
|
|
286
|
+
renderScrollMarkers();
|
|
287
|
+
if (document.getElementById('detail-panel').dataset.hash !== state.selectedCommit) renderInspector();
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
{
|
|
291
|
+
document.getElementById('branch-selector').addEventListener('click', (e) => {
|
|
292
|
+
openMenu(scopeMenuItems(), e.currentTarget, { filter: 'Filter branches' });
|
|
293
|
+
});
|
|
294
|
+
document.getElementById('btn-stash').addEventListener('click', (e) => openMenu(stashListItems(), e.currentTarget));
|
|
295
|
+
document.getElementById('btn-worktree').addEventListener('click', (e) => {
|
|
296
|
+
vscode.postMessage({ command: 'requestWorktrees' });
|
|
297
|
+
openMenu(worktreeMenuItems(), e.currentTarget);
|
|
298
|
+
});
|
|
299
|
+
document.getElementById('btn-submodule').addEventListener('click', (e) => openMenu(submoduleMenuItems(), e.currentTarget));
|
|
300
|
+
document.getElementById('btn-view').addEventListener('click', (e) => openMenu(viewMenuItems(), e.currentTarget));
|
|
301
|
+
document.getElementById('btn-find').addEventListener('click', () => openFind());
|
|
302
|
+
document.getElementById('btn-inspector').addEventListener('click', toggleInspector);
|
|
303
|
+
document.getElementById('btn-fetch').addEventListener('click', () => runSync('fetch'));
|
|
304
|
+
document.getElementById('btn-pull').addEventListener('click', () => runSync('pull'));
|
|
305
|
+
document.getElementById('btn-push').addEventListener('click', () => {
|
|
306
|
+
const b = branchState();
|
|
307
|
+
const mode = b ? syncMode(b) : null;
|
|
308
|
+
runSync(mode === 'sync' ? 'sync' : mode === 'publish' ? 'publish' : 'push');
|
|
309
|
+
});
|
|
310
|
+
document.getElementById('btn-sync-m').addEventListener('click', () => {
|
|
311
|
+
const b = branchState();
|
|
312
|
+
const mode = b ? syncMode(b) : null;
|
|
313
|
+
if (mode) runSync(mode === 'synced' ? 'fetch' : mode);
|
|
314
|
+
});
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
// --- Stashes ---
|
|
318
|
+
function stashListItems() {
|
|
319
|
+
const items = [{ heading: 'Stashes' }];
|
|
320
|
+
if (!state.stashes.length) items.push({ empty: 'No stashes' });
|
|
321
|
+
state.stashes.forEach((s) => {
|
|
322
|
+
const parts = stashParts(s.message);
|
|
323
|
+
const children = [];
|
|
324
|
+
if (rowFor(s.hash)) children.push({ label: 'Show in graph', icon: 'eye', action: () => selectCommit(s.hash, { scroll: true }) });
|
|
325
|
+
items.push({
|
|
326
|
+
label: parts.message || '(no message)', icon: 'stash',
|
|
327
|
+
row2: 'stash@{' + s.index + '}' + (parts.branch ? ' · on ' + parts.branch : ''),
|
|
328
|
+
children: children.concat(stashMenuItems(s.hash)),
|
|
329
|
+
});
|
|
330
|
+
});
|
|
331
|
+
items.push({ separator: true });
|
|
332
|
+
items.push({ label: 'Stash changes…', icon: 'plus', disabled: !changedFiles().length, action: askStashChanges });
|
|
333
|
+
return items;
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
function stashMenuItems(hash) {
|
|
337
|
+
const s = stashByHash(hash);
|
|
338
|
+
if (!s) return [{ empty: 'This stash is gone' }];
|
|
339
|
+
const ref = 'stash@{' + s.index + '}';
|
|
340
|
+
return [
|
|
341
|
+
{ label: 'Apply', icon: 'check', sub: 'keep the stash', action: () => stashActionFor(hash, 'apply') },
|
|
342
|
+
{ label: 'Pop', icon: 'arrow-up', sub: 'apply, then drop', action: () => stashActionFor(hash, 'pop') },
|
|
343
|
+
{ label: 'Create branch from stash…', icon: 'fork', action: () => stashBranchFor(hash) },
|
|
344
|
+
{ separator: true },
|
|
345
|
+
{ label: 'Copy name', icon: 'copy', action: () => copyWithToast(ref, ref) },
|
|
346
|
+
{ separator: true },
|
|
347
|
+
{ label: 'Drop…', icon: 'trash', destructive: true, action: () => askDropStash(hash) },
|
|
348
|
+
];
|
|
349
|
+
}
|
|
350
|
+
|
|
351
|
+
function stashActionFor(hash, action) {
|
|
352
|
+
const s = stashByHash(hash);
|
|
353
|
+
if (!s) return;
|
|
354
|
+
if (action === 'drop') askDropStash(hash);
|
|
355
|
+
else runStashAction(s, action, false);
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
/* By index AND hash: indexes shift as stashes come and go, and the route
|
|
359
|
+
refuses rather than acting on whichever stash now holds the number. */
|
|
360
|
+
function runStashAction(s, action, quiet) {
|
|
361
|
+
if (anyBusy()) return;
|
|
362
|
+
setBusy('stash', true);
|
|
363
|
+
request({ command: 'stashAction', action, index: s.index, hash: s.hash }, 'stashAction', (result) => {
|
|
364
|
+
setBusy('stash', false);
|
|
365
|
+
if (!result.ok) { showActionError('Could not ' + action + ' the stash', result.error); return; }
|
|
366
|
+
const what = action === 'apply' ? 'Stash applied' : action === 'pop' ? 'Stash applied and dropped' : 'Stash dropped';
|
|
367
|
+
if (result.data && result.data.indexRestored === false) {
|
|
368
|
+
showToast(what, { kind: 'warning', description: 'Its staged changes no longer fit the index, so they came back unstaged.' });
|
|
369
|
+
} else if (!quiet) {
|
|
370
|
+
showToast(what, { kind: 'success' });
|
|
371
|
+
}
|
|
372
|
+
});
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
function askDropStash(hash) {
|
|
376
|
+
const s = stashByHash(hash);
|
|
377
|
+
if (!s) return;
|
|
378
|
+
const message = stashParts(s.message).message;
|
|
379
|
+
showDialog({
|
|
380
|
+
title: 'Drop “' + (message || 'stash@{' + s.index + '}') + '”?',
|
|
381
|
+
message: 'The stash is deleted for good: nothing in PPM can bring it back.',
|
|
382
|
+
destructive: true,
|
|
383
|
+
confirmLabel: 'Drop stash',
|
|
384
|
+
onConfirm: () => runStashAction(s, 'drop', false),
|
|
385
|
+
});
|
|
386
|
+
}
|
|
387
|
+
|
|
388
|
+
function stashBranchFor(hash) {
|
|
389
|
+
const s = stashByHash(hash);
|
|
390
|
+
if (!s) return;
|
|
391
|
+
const ref = 'stash@{' + s.index + '}';
|
|
392
|
+
showDialog({
|
|
393
|
+
title: 'Create a branch from ' + ref,
|
|
394
|
+
message: 'The branch starts at the commit the stash was made on, with the stash applied to it. The stash is dropped once it applies cleanly.',
|
|
395
|
+
input: { placeholder: 'Branch name' },
|
|
396
|
+
confirmLabel: 'Create branch',
|
|
397
|
+
onConfirm: (value) => {
|
|
398
|
+
const name = String(value || '').trim();
|
|
399
|
+
// By index and hash, as every other stash action is.
|
|
400
|
+
if (name) runGitWrite('stashBranch', { name, index: s.index, hash: s.hash }, 'Created ' + name + ' from the stash', 'Could not create ' + name);
|
|
401
|
+
},
|
|
402
|
+
});
|
|
403
|
+
}
|
|
404
|
+
|
|
405
|
+
function askStashChanges() {
|
|
406
|
+
const files = changedFiles();
|
|
407
|
+
if (!files.length) { showToast('Nothing to stash'); return; }
|
|
408
|
+
showDialog({
|
|
409
|
+
title: 'Stash changes',
|
|
410
|
+
message: 'Puts every change, staged or not, aside in a new stash and takes the working tree back to the last commit.',
|
|
411
|
+
input: { placeholder: 'Message (optional)' },
|
|
412
|
+
checkbox: { label: 'Include untracked files', checked: true },
|
|
413
|
+
confirmLabel: 'Stash',
|
|
414
|
+
onConfirm: (message, untracked) => stashChanges(String(message || '').trim(), !!untracked),
|
|
415
|
+
});
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
function stashChanges(message, includeUntracked) {
|
|
419
|
+
if (anyBusy()) return;
|
|
420
|
+
const n = changedFiles().length;
|
|
421
|
+
setBusy('stash', true);
|
|
422
|
+
request({ command: 'stash', message: message || undefined, includeUntracked }, 'stash', (result) => {
|
|
423
|
+
setBusy('stash', false);
|
|
424
|
+
if (!result.ok) { showActionError('Could not stash', result.error); return; }
|
|
425
|
+
const top = result.data;
|
|
426
|
+
showToast('Stashed ' + plural(n, 'file'), {
|
|
427
|
+
undo: top && top.hash ? () => runStashAction({ index: top.index, hash: top.hash }, 'pop', true) : null,
|
|
428
|
+
});
|
|
429
|
+
});
|
|
430
|
+
}
|
|
431
|
+
|
|
432
|
+
// --- Worktrees and submodules ---
|
|
433
|
+
function worktreeMenuItems() {
|
|
434
|
+
const items = [{ heading: 'Worktrees' }];
|
|
435
|
+
if (!state.worktrees.length) items.push({ empty: 'No worktrees' });
|
|
436
|
+
state.worktrees.forEach((wt) => {
|
|
437
|
+
const current = wt.path === state.repo;
|
|
438
|
+
const name = wt.path.split(/[\\/]/).filter(Boolean).pop() || wt.path;
|
|
439
|
+
const branch = wt.branch || (wt.isDetached ? 'detached at ' + String(wt.head || '').slice(0, 7) : '');
|
|
440
|
+
const flags = [current ? 'this one' : '', wt.isMain && !current ? 'main' : '', wt.locked ? 'locked' : '', wt.prunable ? 'stale' : ''].filter(Boolean);
|
|
441
|
+
const children = [];
|
|
442
|
+
if (!current) children.push({ label: 'Open in PPM', icon: 'external', action: () => vscode.postMessage({ command: 'openWorktree', path: wt.path }) });
|
|
443
|
+
children.push({ label: 'Copy path', icon: 'copy', action: () => copyWithToast(wt.path, 'the path') });
|
|
444
|
+
if (!wt.isMain && !current) children.push({ separator: true }, { label: 'Remove…', icon: 'trash', destructive: true, action: () => askRemoveWorktree(wt) });
|
|
445
|
+
items.push({ label: name, icon: current ? 'check' : 'folder', row2: [branch].concat(flags).filter(Boolean).join(' · '), title: wt.path, children });
|
|
446
|
+
});
|
|
447
|
+
items.push({ separator: true });
|
|
448
|
+
items.push({ label: 'Add worktree…', icon: 'plus', action: () => showCreateWorktreeDialog() });
|
|
449
|
+
items.push({ label: 'Prune stale entries…', icon: 'trash', action: askPruneWorktrees });
|
|
450
|
+
return items;
|
|
451
|
+
}
|
|
452
|
+
|
|
453
|
+
function askRemoveWorktree(wt, force) {
|
|
454
|
+
showDialog({
|
|
455
|
+
title: force ? 'Remove it with its changes?' : 'Remove the worktree at ' + wt.path + '?',
|
|
456
|
+
message: force
|
|
457
|
+
? 'It has changes that are not committed. Removing it anyway deletes them, and PPM keeps no copy.'
|
|
458
|
+
: 'Its folder is deleted. The branch it has checked out stays.',
|
|
459
|
+
destructive: true,
|
|
460
|
+
confirmLabel: force ? 'Remove with changes' : 'Remove worktree',
|
|
461
|
+
onConfirm: () => request({ command: 'removeWorktree', path: wt.path, force: !!force }, 'removeWorktree', (result) => {
|
|
462
|
+
if (result.ok) { showToast('Removed the worktree at ' + wt.path, { kind: 'success' }); return; }
|
|
463
|
+
if (!force && /--force|modified or untracked/.test(String(result.error))) { askRemoveWorktree(wt, true); return; }
|
|
464
|
+
showActionError('Could not remove the worktree', result.error);
|
|
465
|
+
}),
|
|
466
|
+
});
|
|
467
|
+
}
|
|
468
|
+
|
|
469
|
+
function askPruneWorktrees() {
|
|
470
|
+
showDialog({
|
|
471
|
+
title: 'Prune stale worktrees?',
|
|
472
|
+
message: 'Removes the entries of worktrees whose folders no longer exist. Nothing on disk is touched.',
|
|
473
|
+
confirmLabel: 'Prune',
|
|
474
|
+
onConfirm: () => request({ command: 'pruneWorktrees' }, 'pruneWorktrees', (result) => {
|
|
475
|
+
if (result.ok) showToast('Pruned stale worktree entries', { kind: 'success' });
|
|
476
|
+
else showActionError('Could not prune', result.error);
|
|
477
|
+
}),
|
|
478
|
+
});
|
|
479
|
+
}
|
|
480
|
+
|
|
481
|
+
/* Built by hand rather than with showDialog: it needs two fields and a choice
|
|
482
|
+
between them, which the one-field dialog has no shape for. */
|
|
483
|
+
function showCreateWorktreeDialog() {
|
|
484
|
+
const overlay = document.createElement('div');
|
|
485
|
+
overlay.className = 'dialog-overlay';
|
|
486
|
+
const dialog = document.createElement('div');
|
|
487
|
+
dialog.className = 'dialog';
|
|
488
|
+
dialog.setAttribute('role', 'dialog');
|
|
489
|
+
dialog.setAttribute('aria-modal', 'true');
|
|
490
|
+
const base = String(state.repo || '').replace(/[\\/]+$/, '');
|
|
491
|
+
dialog.innerHTML = '<div class="grab"></div><h3><span>Add worktree</span></h3>'
|
|
492
|
+
+ '<p>A second checkout of this repository in a folder of its own.</p>'
|
|
493
|
+
+ '<input type="text" data-f="path" aria-label="Folder for the worktree" placeholder="Folder for the worktree">'
|
|
494
|
+
+ '<div class="radios" role="radiogroup" aria-label="Branch">'
|
|
495
|
+
+ '<label><input type="radio" name="wt-mode" value="new" checked>New branch</label>'
|
|
496
|
+
+ '<label><input type="radio" name="wt-mode" value="existing">Existing branch</label></div>'
|
|
497
|
+
+ '<input type="text" data-f="branch" aria-label="Branch name" placeholder="Branch name">'
|
|
498
|
+
+ '<input type="text" data-f="start" aria-label="Start point" placeholder="Start at (commit or branch, optional)">'
|
|
499
|
+
+ '<div class="dialog-actions"><button type="button" class="btn outline" data-f="cancel">Cancel</button>'
|
|
500
|
+
+ '<button type="button" class="btn primary" data-f="ok">Add worktree</button></div>';
|
|
501
|
+
overlay.appendChild(dialog);
|
|
502
|
+
document.body.appendChild(overlay);
|
|
503
|
+
const field = (f) => dialog.querySelector('[data-f="' + f + '"]');
|
|
504
|
+
if (base) field('path').value = base + '-worktree';
|
|
505
|
+
const close = () => overlay.remove();
|
|
506
|
+
const submit = () => {
|
|
507
|
+
const path = field('path').value.trim();
|
|
508
|
+
if (!path) { field('path').focus(); return; }
|
|
509
|
+
const mode = dialog.querySelector('input[name="wt-mode"]:checked').value;
|
|
510
|
+
const branch = field('branch').value.trim();
|
|
511
|
+
const start = field('start').value.trim();
|
|
512
|
+
const msg = { command: 'addWorktree', path };
|
|
513
|
+
if (branch && mode === 'new') msg.newBranch = branch;
|
|
514
|
+
else if (branch) msg.branch = branch;
|
|
515
|
+
// A worktree on an existing branch starts wherever that branch is.
|
|
516
|
+
if (start && !(branch && mode === 'existing')) msg.startPoint = start;
|
|
517
|
+
close();
|
|
518
|
+
request(msg, 'addWorktree', (result) => {
|
|
519
|
+
if (result.ok) showToast('Added a worktree at ' + path, { kind: 'success' });
|
|
520
|
+
else showActionError('Could not add the worktree', result.error);
|
|
521
|
+
});
|
|
522
|
+
};
|
|
523
|
+
field('cancel').addEventListener('click', close);
|
|
524
|
+
field('ok').addEventListener('click', submit);
|
|
525
|
+
overlay.addEventListener('mousedown', (e) => { if (e.target === overlay) close(); });
|
|
526
|
+
overlay.addEventListener('keydown', (e) => {
|
|
527
|
+
if (e.key === 'Escape') { e.preventDefault(); e.stopPropagation(); close(); }
|
|
528
|
+
if (e.key === 'Enter' && e.target.tagName === 'INPUT' && e.target.type === 'text') { e.preventDefault(); submit(); }
|
|
529
|
+
});
|
|
530
|
+
setTimeout(() => { const p = field('path'); p.focus(); p.select(); }, 30);
|
|
531
|
+
}
|
|
532
|
+
|
|
533
|
+
function submoduleMenuItems() {
|
|
534
|
+
const said = { current: 'up to date', uninitialized: 'not checked out', modified: 'not at the recorded commit', conflicted: 'has merge conflicts' };
|
|
535
|
+
const items = [{ heading: 'Submodules' }];
|
|
536
|
+
if (!state.submodules.length) items.push({ empty: 'No submodules' });
|
|
537
|
+
state.submodules.forEach((sm) => {
|
|
538
|
+
const name = sm.path.split('/').pop() || sm.path;
|
|
539
|
+
const children = [{ label: 'Update to the recorded commit', icon: 'pull', action: () => updateSubmodules([sm]) }];
|
|
540
|
+
if (sm.state !== 'uninitialized') children.push({ label: 'Open in PPM', icon: 'external', action: () => vscode.postMessage({ command: 'openSubmodule', path: sm.path }) });
|
|
541
|
+
items.push({ label: name, icon: sm.state === 'current' ? 'cube' : 'warn', row2: sm.path + ' · ' + (said[sm.state] || sm.state), children });
|
|
542
|
+
});
|
|
543
|
+
items.push({ separator: true });
|
|
544
|
+
items.push({
|
|
545
|
+
label: 'Update all…', icon: 'pull', disabled: !state.submodules.length,
|
|
546
|
+
action: () => showDialog({
|
|
547
|
+
title: 'Update every submodule?',
|
|
548
|
+
message: 'Each submodule checks out the commit this repository records for it. Changes inside them stay, but what they have checked out moves.',
|
|
549
|
+
confirmLabel: 'Update all',
|
|
550
|
+
onConfirm: () => updateSubmodules(state.submodules),
|
|
551
|
+
}),
|
|
552
|
+
});
|
|
553
|
+
return items;
|
|
554
|
+
}
|
|
555
|
+
|
|
556
|
+
function updateSubmodules(list) {
|
|
557
|
+
list.forEach((sm) => request({ command: 'updateSubmodule', path: sm.path }, 'updateSubmodule', (result) => {
|
|
558
|
+
if (result.ok) showToast('Updated ' + sm.path, { kind: 'success' });
|
|
559
|
+
else showActionError('Could not update ' + sm.path, result.error);
|
|
560
|
+
}));
|
|
561
|
+
}
|
|
562
|
+
|
|
563
|
+
// --- Commits ---
|
|
564
|
+
/** Local branches pointing at a commit, the checked-out one included. */
|
|
565
|
+
function localBranchesAt(commit) {
|
|
566
|
+
return (commit && commit.refs ? commit.refs : [])
|
|
567
|
+
.filter((r) => r.type === 'head' || (r.type !== 'tag' && r.type !== 'stash' && !isRemoteBranchName(r.name)))
|
|
568
|
+
.map((r) => r.name);
|
|
569
|
+
}
|
|
570
|
+
|
|
571
|
+
function prConfigured() {
|
|
572
|
+
return !!(state.settings.prCreation && state.settings.prCreation.urlTemplate);
|
|
573
|
+
}
|
|
574
|
+
|
|
575
|
+
/** A commit's menu. full: the row's, with the three actions the inspector has as buttons. */
|
|
576
|
+
function commitMenuItems(commit, full) {
|
|
577
|
+
const hash = commit.hash;
|
|
578
|
+
const isHead = hash === state.head;
|
|
579
|
+
const branch = currentName();
|
|
580
|
+
const merge = (commit.parents || []).length > 1;
|
|
581
|
+
const items = [];
|
|
582
|
+
if (full) {
|
|
583
|
+
items.push(
|
|
584
|
+
{ label: 'Checkout', icon: 'checkout', disabled: isHead, action: () => checkoutCommit(hash) },
|
|
585
|
+
{ label: 'Create branch here…', icon: 'fork', action: () => createBranchAt(hash) },
|
|
586
|
+
{ label: 'Cherry-pick', icon: 'cherry', disabled: isHead, action: () => cherryPick(hash) },
|
|
587
|
+
{ separator: true },
|
|
588
|
+
);
|
|
589
|
+
}
|
|
590
|
+
items.push(
|
|
591
|
+
{ label: 'Revert…', icon: 'revert', disabled: merge, title: merge ? 'Reverting a merge needs a parent picked, which this menu does not offer' : '', action: () => revertCommit(commit) },
|
|
592
|
+
{ label: 'Create tag…', icon: 'tag', action: () => createTagAt(hash) },
|
|
593
|
+
{ label: 'Compare with HEAD', icon: 'compare', disabled: isHead, action: () => vscode.postMessage({ command: 'openCompare', ref1: hash, ref2: 'HEAD' }) },
|
|
594
|
+
{ separator: true },
|
|
595
|
+
{ label: 'Copy hash', icon: 'copy', kb: COPY_KEYS, action: () => copyWithToast(hash, 'the hash') },
|
|
596
|
+
{ label: 'Copy subject', icon: 'copy', action: () => copyWithToast(firstLine(commit.message), 'the subject') },
|
|
597
|
+
);
|
|
598
|
+
if (state.remoteWeb) {
|
|
599
|
+
const web = state.remoteWeb;
|
|
600
|
+
items.push({ label: 'Open on ' + web.label, icon: 'external', action: () => openExternal(web.base + web.commitPath + hash) });
|
|
601
|
+
}
|
|
602
|
+
const prBranch = prConfigured() ? localBranchesAt(commit)[0] : null;
|
|
603
|
+
if (prBranch) items.push({ label: 'Create pull request (' + prBranch + ')', icon: 'pr', action: () => openPrUrl(prBranch) });
|
|
604
|
+
items.push(
|
|
605
|
+
{ separator: true },
|
|
606
|
+
{ label: 'Reset ' + branch + ' to here…', icon: 'reset', destructive: true, disabled: isHead, action: () => promptResetMode(hash) },
|
|
607
|
+
);
|
|
608
|
+
return items;
|
|
609
|
+
}
|
|
610
|
+
|
|
611
|
+
function showRowMenu(commit, anchor) {
|
|
612
|
+
if (commit._isWip) openMenu(wipMenuItems(), anchor);
|
|
613
|
+
else if (commit._isStash) openMenu(stashMenuItems(commit.hash), anchor);
|
|
614
|
+
else openMenu(commitMenuItems(commit, true), anchor);
|
|
615
|
+
}
|
|
616
|
+
|
|
617
|
+
/*
|
|
618
|
+
* Checking out a commit means its branch, when it has one: a detached HEAD is
|
|
619
|
+
* the one outcome nobody asks for by accident, so it is only reached by
|
|
620
|
+
* saying so.
|
|
621
|
+
*/
|
|
622
|
+
function checkoutCommit(hash, anchor) {
|
|
623
|
+
const commit = findCommit(hash);
|
|
624
|
+
const names = localBranchesAt(commit).filter((n) => n !== state.currentBranch);
|
|
625
|
+
if (names.length === 1) { checkoutRef(names[0], 'local'); return; }
|
|
626
|
+
if (names.length > 1) {
|
|
627
|
+
const items = [{ heading: 'Check out which branch?' }]
|
|
628
|
+
.concat(names.map((n) => ({ label: n, icon: 'branch', action: () => checkoutRef(n, 'local') })));
|
|
629
|
+
items.push({ separator: true }, { label: 'The commit itself (detached)', icon: 'commit', action: () => askDetached(hash) });
|
|
630
|
+
openMenu(items, anchor || rowFor(hash) || null);
|
|
631
|
+
return;
|
|
632
|
+
}
|
|
633
|
+
askDetached(hash);
|
|
634
|
+
}
|
|
635
|
+
|
|
636
|
+
function askDetached(target, label) {
|
|
637
|
+
const name = label || String(target).slice(0, 7);
|
|
638
|
+
showDialog({
|
|
639
|
+
title: 'Check out ' + name + ' without a branch?',
|
|
640
|
+
message: 'HEAD will point at the commit itself. Commits made there belong to no branch until you create one.',
|
|
641
|
+
confirmLabel: 'Check out',
|
|
642
|
+
onConfirm: () => runGitWrite('checkout', { target }, 'Switched to ' + name, 'Could not check out ' + name),
|
|
643
|
+
});
|
|
644
|
+
}
|
|
645
|
+
|
|
646
|
+
function checkoutRef(name, type) {
|
|
647
|
+
if (type === 'head' || name === state.currentBranch) { showToast('Already on ' + name); return; }
|
|
648
|
+
if (type === 'tag') { askDetached(name, name); return; }
|
|
649
|
+
if (type === 'remote') {
|
|
650
|
+
// The local name: git makes it a branch tracking this one, where checking
|
|
651
|
+
// out the remote name itself would detach HEAD.
|
|
652
|
+
const prefix = remotePrefixes().find((p) => name.startsWith(p)) || '';
|
|
653
|
+
const local = name.slice(prefix.length);
|
|
654
|
+
runGitWrite('checkout', { target: local }, 'Switched to ' + local, 'Could not check out ' + local);
|
|
655
|
+
return;
|
|
656
|
+
}
|
|
657
|
+
runGitWrite('checkout', { target: name }, 'Switched to ' + name, 'Could not check out ' + name);
|
|
658
|
+
}
|
|
659
|
+
|
|
660
|
+
function createBranchAt(hash) {
|
|
661
|
+
showDialog({
|
|
662
|
+
title: 'Create a branch at ' + String(hash).slice(0, 7),
|
|
663
|
+
input: { placeholder: 'Branch name' },
|
|
664
|
+
checkbox: { label: 'Check it out', checked: true },
|
|
665
|
+
confirmLabel: 'Create branch',
|
|
666
|
+
onConfirm: (value, checkout) => {
|
|
667
|
+
const name = String(value || '').trim();
|
|
668
|
+
if (name) runCreateBranch(name, hash, !!checkout, false);
|
|
669
|
+
},
|
|
670
|
+
});
|
|
671
|
+
}
|
|
672
|
+
|
|
673
|
+
function runCreateBranch(name, hash, checkout, force) {
|
|
674
|
+
if (anyBusy()) return;
|
|
675
|
+
setBusy('createBranch', true);
|
|
676
|
+
gitAction('createBranch', { name, startPoint: hash, force }, (result) => {
|
|
677
|
+
setBusy('createBranch', false);
|
|
678
|
+
if (!result.ok) {
|
|
679
|
+
if (!force && /already exists/.test(String(result.error))) {
|
|
680
|
+
showDialog({
|
|
681
|
+
title: 'Replace the branch ' + name + '?',
|
|
682
|
+
message: 'A branch named ' + name + ' already exists. Replacing it moves it to ' + String(hash).slice(0, 7) + '; commits only it pointed at are left without a branch.',
|
|
683
|
+
destructive: true,
|
|
684
|
+
confirmLabel: 'Replace branch',
|
|
685
|
+
onConfirm: () => runCreateBranch(name, hash, checkout, true),
|
|
686
|
+
});
|
|
687
|
+
return;
|
|
688
|
+
}
|
|
689
|
+
showActionError('Could not create ' + name, result.error);
|
|
690
|
+
return;
|
|
691
|
+
}
|
|
692
|
+
if (checkout) runGitWrite('checkout', { target: name }, 'Created and switched to ' + name, 'Created ' + name + ', but could not check it out');
|
|
693
|
+
else showToast('Created ' + name, { kind: 'success' });
|
|
694
|
+
});
|
|
695
|
+
}
|
|
696
|
+
|
|
697
|
+
function cherryPick(hash) {
|
|
698
|
+
const commit = findCommit(hash);
|
|
699
|
+
const short = String(hash).slice(0, 7);
|
|
700
|
+
if (commit && commit.parents.length > 1) {
|
|
701
|
+
showToast('A merge cannot be cherry-picked from here', { description: 'git needs to be told which parent to pick it against.' });
|
|
702
|
+
return;
|
|
703
|
+
}
|
|
704
|
+
runGitWrite('cherryPick', { hash }, 'Cherry-picked ' + short + ' onto ' + currentName(), 'Could not cherry-pick ' + short);
|
|
705
|
+
}
|
|
706
|
+
|
|
707
|
+
function revertCommit(commit) {
|
|
708
|
+
const short = commit.hash.slice(0, 7);
|
|
709
|
+
showDialog({
|
|
710
|
+
title: 'Revert ' + short + '?',
|
|
711
|
+
message: 'This makes a new commit on ' + currentName() + ' that undoes “' + firstLine(commit.message) + '”. The original commit stays in the history.',
|
|
712
|
+
confirmLabel: 'Revert',
|
|
713
|
+
onConfirm: () => runGitWrite('revert', { hash: commit.hash }, 'Reverted ' + short, 'Could not revert ' + short),
|
|
714
|
+
});
|
|
715
|
+
}
|
|
716
|
+
|
|
717
|
+
function createTagAt(hash) {
|
|
718
|
+
const short = String(hash).slice(0, 7);
|
|
719
|
+
showDialog({
|
|
720
|
+
title: 'Create a tag at ' + short,
|
|
721
|
+
input: { placeholder: 'Tag name' },
|
|
722
|
+
confirmLabel: 'Create tag',
|
|
723
|
+
onConfirm: (value) => {
|
|
724
|
+
const name = String(value || '').trim();
|
|
725
|
+
if (name) runGitWrite('createTag', { name, hash }, 'Tagged ' + short + ' as ' + name, 'Could not create the tag');
|
|
726
|
+
},
|
|
727
|
+
});
|
|
728
|
+
}
|
|
729
|
+
|
|
730
|
+
function askRebase(target, label) {
|
|
731
|
+
const branch = currentName();
|
|
732
|
+
showDialog({
|
|
733
|
+
title: 'Rebase ' + branch + ' onto ' + label + '?',
|
|
734
|
+
message: 'The commits on ' + branch + ' are replayed on top of ' + label + ', which rewrites them. If they are already pushed, the next push has to be forced.',
|
|
735
|
+
confirmLabel: 'Rebase',
|
|
736
|
+
onConfirm: () => runGitWrite('rebase', { branch: target }, 'Rebased ' + branch + ' onto ' + label, 'Could not rebase'),
|
|
737
|
+
});
|
|
738
|
+
}
|
|
739
|
+
|
|
740
|
+
function askMerge(name) {
|
|
741
|
+
const into = currentName();
|
|
742
|
+
showDialog({
|
|
743
|
+
title: 'Merge ' + name + ' into ' + into + '?',
|
|
744
|
+
message: 'git makes a merge commit, unless ' + into + ' can simply move forward to ' + name + '.',
|
|
745
|
+
confirmLabel: 'Merge',
|
|
746
|
+
onConfirm: () => runGitWrite('merge', { branch: name }, 'Merged ' + name + ' into ' + into, 'Could not merge ' + name),
|
|
747
|
+
});
|
|
748
|
+
}
|
|
749
|
+
|
|
750
|
+
function promptResetMode(hash) {
|
|
751
|
+
const branch = currentName();
|
|
752
|
+
const short = String(hash).slice(0, 7);
|
|
753
|
+
const done = 'Reset ' + branch + ' to ' + short;
|
|
754
|
+
showDialog({
|
|
755
|
+
title: 'Reset ' + branch + ' to ' + short + '?',
|
|
756
|
+
message: 'soft keeps what the later commits changed, staged. mixed keeps it unstaged. hard throws it away, and every uncommitted change with it.',
|
|
757
|
+
select: { options: ['soft', 'mixed', 'hard'], defaultValue: 'mixed', label: 'Mode' },
|
|
758
|
+
destructive: true,
|
|
759
|
+
confirmLabel: 'Reset',
|
|
760
|
+
onConfirm: (mode) => {
|
|
761
|
+
if (mode !== 'hard') { runGitWrite('reset', { mode, hash }, done, 'Could not reset'); return; }
|
|
762
|
+
showDialog({
|
|
763
|
+
title: 'Throw away every change since ' + short + '?',
|
|
764
|
+
message: 'A hard reset deletes uncommitted work in every tracked file, and PPM keeps no copy of it. The commits after ' + short + ' can still be found in the reflog.',
|
|
765
|
+
destructive: true,
|
|
766
|
+
confirmLabel: 'Reset hard',
|
|
767
|
+
onConfirm: () => runGitWrite('reset', { mode: 'hard', hash }, done, 'Could not reset'),
|
|
768
|
+
});
|
|
769
|
+
},
|
|
770
|
+
});
|
|
771
|
+
}
|
|
772
|
+
|
|
773
|
+
// --- Refs ---
|
|
774
|
+
function showRefMenu(name, type, commit, anchor) {
|
|
775
|
+
openMenu(refMenuItems(name, type), anchor);
|
|
776
|
+
}
|
|
777
|
+
|
|
778
|
+
function refMenuItems(name, type) {
|
|
779
|
+
const current = currentName();
|
|
780
|
+
const items = [];
|
|
781
|
+
if (type === 'head' || type === 'local') {
|
|
782
|
+
const isHead = type === 'head' || name === state.currentBranch;
|
|
783
|
+
items.push(
|
|
784
|
+
{ label: isHead ? 'Checked out' : 'Checkout', icon: 'checkout', disabled: isHead, action: () => checkoutRef(name, type) },
|
|
785
|
+
{ label: 'Merge into ' + current, icon: 'merge', disabled: isHead, action: () => askMerge(name) },
|
|
786
|
+
{ label: 'Rebase ' + current + ' onto this', icon: 'rebase', disabled: isHead, action: () => askRebase(name, name) },
|
|
787
|
+
{ separator: true },
|
|
788
|
+
{ label: 'Rename…', icon: 'edit', action: () => askRenameBranch(name) },
|
|
789
|
+
{ label: 'Delete…', icon: 'trash', destructive: true, disabled: isHead, title: isHead ? 'Check out another branch first' : '', action: () => askDeleteBranch(name) },
|
|
790
|
+
{ separator: true },
|
|
791
|
+
{ label: 'Compare with ' + current, icon: 'compare', disabled: isHead, action: () => vscode.postMessage({ command: 'openCompare', ref1: name, ref2: 'HEAD' }) },
|
|
792
|
+
{ label: 'Copy name', icon: 'copy', action: () => copyWithToast(name, 'the branch name') },
|
|
793
|
+
);
|
|
794
|
+
if (prConfigured()) items.push({ label: 'Create pull request', icon: 'pr', action: () => openPrUrl(name) });
|
|
795
|
+
} else if (type === 'remote') {
|
|
796
|
+
const prefix = remotePrefixes().find((p) => name.startsWith(p)) || '';
|
|
797
|
+
const remote = prefix.slice(0, -1);
|
|
798
|
+
const branch = name.slice(prefix.length);
|
|
799
|
+
items.push(
|
|
800
|
+
{ label: 'Check out as a local branch', icon: 'checkout', action: () => checkoutRef(name, 'remote') },
|
|
801
|
+
{ label: 'Merge into ' + current, icon: 'merge', action: () => askMerge(name) },
|
|
802
|
+
{ label: 'Rebase ' + current + ' onto this', icon: 'rebase', action: () => askRebase(name, name) },
|
|
803
|
+
{ separator: true },
|
|
804
|
+
{ label: 'Compare with ' + current, icon: 'compare', action: () => vscode.postMessage({ command: 'openCompare', ref1: name, ref2: 'HEAD' }) },
|
|
805
|
+
{ label: 'Copy name', icon: 'copy', action: () => copyWithToast(name, 'the branch name') },
|
|
806
|
+
{ separator: true },
|
|
807
|
+
{ label: 'Delete from ' + (remote || 'the remote') + '…', icon: 'trash', destructive: true, disabled: !remote, action: () => askDeleteRemoteBranch(remote, branch) },
|
|
808
|
+
);
|
|
809
|
+
} else if (type === 'tag') {
|
|
810
|
+
items.push(
|
|
811
|
+
{ label: 'Checkout', icon: 'checkout', action: () => checkoutRef(name, 'tag') },
|
|
812
|
+
{ label: 'Compare with ' + current, icon: 'compare', action: () => vscode.postMessage({ command: 'openCompare', ref1: name, ref2: 'HEAD' }) },
|
|
813
|
+
{ label: 'Copy name', icon: 'copy', action: () => copyWithToast(name, 'the tag name') },
|
|
814
|
+
{ separator: true },
|
|
815
|
+
{ label: 'Delete tag…', icon: 'trash', destructive: true, action: () => askDeleteTag(name) },
|
|
816
|
+
);
|
|
817
|
+
}
|
|
818
|
+
return items;
|
|
819
|
+
}
|
|
820
|
+
|
|
821
|
+
function askRenameBranch(name) {
|
|
822
|
+
showDialog({
|
|
823
|
+
title: 'Rename ' + name,
|
|
824
|
+
input: { placeholder: 'New name', defaultValue: name },
|
|
825
|
+
confirmLabel: 'Rename',
|
|
826
|
+
onConfirm: (value) => {
|
|
827
|
+
const next = String(value || '').trim();
|
|
828
|
+
if (next && next !== name) runGitWrite('renameBranch', { oldName: name, newName: next }, 'Renamed ' + name + ' to ' + next, 'Could not rename ' + name);
|
|
829
|
+
},
|
|
830
|
+
});
|
|
831
|
+
}
|
|
832
|
+
|
|
833
|
+
function askDeleteBranch(name) {
|
|
834
|
+
showDialog({
|
|
835
|
+
title: 'Delete the branch ' + name + '?',
|
|
836
|
+
message: 'Only the name goes: its commits stay wherever another branch contains them.',
|
|
837
|
+
destructive: true,
|
|
838
|
+
confirmLabel: 'Delete branch',
|
|
839
|
+
onConfirm: () => deleteBranch(name, false),
|
|
840
|
+
});
|
|
841
|
+
}
|
|
842
|
+
|
|
843
|
+
function deleteBranch(name, force) {
|
|
844
|
+
if (anyBusy()) return;
|
|
845
|
+
setBusy('deleteBranch', true);
|
|
846
|
+
gitAction('deleteBranch', { name, force }, (result) => {
|
|
847
|
+
setBusy('deleteBranch', false);
|
|
848
|
+
if (result.ok) { showToast('Deleted ' + name, { kind: 'success' }); return; }
|
|
849
|
+
if (!force && /not fully merged/.test(String(result.error))) {
|
|
850
|
+
showDialog({
|
|
851
|
+
title: name + ' is not merged',
|
|
852
|
+
message: 'It has commits no other branch contains. Deleting it anyway leaves them reachable only through the reflog.',
|
|
853
|
+
destructive: true,
|
|
854
|
+
confirmLabel: 'Delete anyway',
|
|
855
|
+
onConfirm: () => deleteBranch(name, true),
|
|
856
|
+
});
|
|
857
|
+
return;
|
|
858
|
+
}
|
|
859
|
+
showActionError('Could not delete ' + name, result.error);
|
|
860
|
+
});
|
|
861
|
+
}
|
|
862
|
+
|
|
863
|
+
function askDeleteRemoteBranch(remote, branch) {
|
|
864
|
+
showDialog({
|
|
865
|
+
title: 'Delete ' + branch + ' from ' + remote + '?',
|
|
866
|
+
message: 'The branch goes from the remote for everyone who uses it. Your local branch, if you have one, stays.',
|
|
867
|
+
destructive: true,
|
|
868
|
+
confirmLabel: 'Delete from ' + remote,
|
|
869
|
+
onConfirm: () => runGitWrite('push', { remote, branch, delete: true }, 'Deleted ' + branch + ' from ' + remote, 'Could not delete ' + remote + '/' + branch),
|
|
870
|
+
});
|
|
871
|
+
}
|
|
872
|
+
|
|
873
|
+
function askDeleteTag(name) {
|
|
874
|
+
showDialog({
|
|
875
|
+
title: 'Delete the tag ' + name + '?',
|
|
876
|
+
message: 'Only the local tag goes. If it was pushed, the remote keeps its copy.',
|
|
877
|
+
destructive: true,
|
|
878
|
+
confirmLabel: 'Delete tag',
|
|
879
|
+
onConfirm: () => runGitWrite('deleteTag', { name }, 'Deleted the tag ' + name, 'Could not delete ' + name),
|
|
880
|
+
});
|
|
881
|
+
}
|
|
882
|
+
|
|
883
|
+
// --- Dragging a branch onto a commit ---
|
|
884
|
+
function makeRefDraggable(pill, refName, refType) {
|
|
885
|
+
// Only branches can be merged or rebased; tags and stashes cannot.
|
|
886
|
+
if (refType === 'tag' || refType === 'stash') return;
|
|
887
|
+
pill.draggable = true;
|
|
888
|
+
pill.addEventListener('dragstart', (e) => {
|
|
889
|
+
dragRef = { name: refName, type: refType };
|
|
890
|
+
pill.classList.add('dragging');
|
|
891
|
+
e.dataTransfer.effectAllowed = 'move';
|
|
892
|
+
e.dataTransfer.setData('text/plain', refName);
|
|
893
|
+
e.stopPropagation();
|
|
894
|
+
});
|
|
895
|
+
pill.addEventListener('dragend', () => {
|
|
896
|
+
dragRef = null;
|
|
897
|
+
pill.classList.remove('dragging');
|
|
898
|
+
document.querySelectorAll('.commit-row.drop-target').forEach((r) => r.classList.remove('drop-target'));
|
|
899
|
+
});
|
|
900
|
+
}
|
|
901
|
+
|
|
902
|
+
function makeRowDropTarget(row, commit) {
|
|
903
|
+
if (commit._isWip || commit._isStash) return;
|
|
904
|
+
row.addEventListener('dragover', (e) => {
|
|
905
|
+
if (!dragRef) return;
|
|
906
|
+
e.preventDefault();
|
|
907
|
+
e.dataTransfer.dropEffect = 'move';
|
|
908
|
+
row.classList.add('drop-target');
|
|
909
|
+
});
|
|
910
|
+
row.addEventListener('dragleave', () => row.classList.remove('drop-target'));
|
|
911
|
+
row.addEventListener('drop', (e) => {
|
|
912
|
+
if (!dragRef) return;
|
|
913
|
+
e.preventDefault();
|
|
914
|
+
row.classList.remove('drop-target');
|
|
915
|
+
showDropActionMenu({ x: e.clientX, y: e.clientY }, dragRef, commit);
|
|
916
|
+
dragRef = null;
|
|
917
|
+
});
|
|
918
|
+
}
|
|
919
|
+
|
|
920
|
+
function showDropActionMenu(anchor, ref, commit) {
|
|
921
|
+
const short = commit.hash.slice(0, 7);
|
|
922
|
+
const current = currentName();
|
|
923
|
+
const items = [];
|
|
924
|
+
if (ref.name === state.currentBranch) {
|
|
925
|
+
// The checked-out branch dropped on a commit: move this branch there.
|
|
926
|
+
items.push({ label: 'Rebase ' + ref.name + ' onto ' + short, icon: 'rebase', action: () => askRebase(commit.hash, short) });
|
|
927
|
+
} else {
|
|
928
|
+
items.push({ label: 'Merge ' + ref.name + ' into ' + current, icon: 'merge', action: () => askMerge(ref.name) });
|
|
929
|
+
items.push({ label: 'Rebase ' + current + ' onto ' + ref.name, icon: 'rebase', action: () => askRebase(ref.name, ref.name) });
|
|
930
|
+
}
|
|
931
|
+
items.push({ separator: true });
|
|
932
|
+
items.push({ label: 'Compare ' + ref.name + ' with ' + short, icon: 'compare', action: () => vscode.postMessage({ command: 'openCompare', ref1: ref.name, ref2: commit.hash }) });
|
|
933
|
+
openMenu(items, anchor);
|
|
934
|
+
}
|
|
935
|
+
|
|
936
|
+
// --- Files ---
|
|
937
|
+
function openReview(path) {
|
|
938
|
+
vscode.postMessage(path ? { command: 'openReview', path } : { command: 'openReview' });
|
|
939
|
+
}
|
|
940
|
+
|
|
941
|
+
function openFile(path) {
|
|
942
|
+
vscode.postMessage({ command: 'openFile', filePath: path });
|
|
943
|
+
}
|
|
944
|
+
|
|
945
|
+
/** A file in a commit's or a stash's list. */
|
|
946
|
+
function commitFileMenuItems(path, hash, parent) {
|
|
947
|
+
const short = String(hash).slice(0, 7);
|
|
948
|
+
return [
|
|
949
|
+
{ label: 'Open diff', icon: 'file-diff', action: () => vscode.postMessage({ command: 'openDiff', filePath: path, hash, parentHash: parent || null }) },
|
|
950
|
+
{ label: 'Open file', icon: 'doc', action: () => openFile(path) },
|
|
951
|
+
{ separator: true },
|
|
952
|
+
{ label: 'Blame', icon: 'people', action: () => vscode.postMessage({ command: 'openBlame', filePath: path }) },
|
|
953
|
+
{ label: 'Blame at ' + short, icon: 'history', action: () => vscode.postMessage({ command: 'openBlame', filePath: path, hash }) },
|
|
954
|
+
{ label: 'File history', icon: 'history', action: () => vscode.postMessage({ command: 'openFileHistory', filePath: path }) },
|
|
955
|
+
{ separator: true },
|
|
956
|
+
{ label: 'Copy path', icon: 'copy', action: () => copyWithToast(path, 'the path') },
|
|
957
|
+
];
|
|
958
|
+
}
|
|
959
|
+
|
|
960
|
+
/** A changed file in the uncommitted view: Source Control's row menu. */
|
|
961
|
+
function wipFileMenuItems(f) {
|
|
962
|
+
if (f.conflict) {
|
|
963
|
+
return [
|
|
964
|
+
{ label: 'Resolve conflict', icon: 'merge', action: () => vscode.postMessage({ command: 'openConflictFile', filePath: f.path }) },
|
|
965
|
+
{ label: 'Open file', icon: 'doc', action: () => openFile(f.path) },
|
|
966
|
+
{ separator: true },
|
|
967
|
+
{ label: 'Mark as resolved', icon: 'check', action: () => markResolved(f) },
|
|
968
|
+
];
|
|
969
|
+
}
|
|
970
|
+
const check = fileCheckState(f);
|
|
971
|
+
return [
|
|
972
|
+
{ label: 'Review changes', icon: 'file-diff', action: () => openReview(f.path) },
|
|
973
|
+
{ label: 'Open diff', icon: 'compare', action: () => vscode.postMessage({ command: 'openDiff', filePath: f.path, hash: 'uncommitted', parentHash: state.head || null }) },
|
|
974
|
+
{ label: 'Open file', icon: 'doc', disabled: changeLetter(f) === 'D', action: () => openFile(f.path) },
|
|
975
|
+
{ separator: true },
|
|
976
|
+
{ label: 'Stage file', icon: 'plus', disabled: check === 'all', action: () => stageFiles([f]) },
|
|
977
|
+
{ label: 'Unstage file', icon: 'minus', disabled: check === 'none', action: () => unstageFiles([f]) },
|
|
978
|
+
{ label: 'Discard changes…', icon: 'trash', destructive: true, disabled: !hasUnstaged(f), action: () => askDiscard([f]) },
|
|
979
|
+
{ separator: true },
|
|
980
|
+
{ label: 'Copy path', icon: 'copy', action: () => copyWithToast(f.path, 'the path') },
|
|
981
|
+
];
|
|
982
|
+
}
|
|
983
|
+
|
|
984
|
+
function wipMenuItems() {
|
|
985
|
+
const files = changedFiles();
|
|
986
|
+
const discardable = files.filter(hasUnstaged);
|
|
987
|
+
const untracked = files.filter((f) => f.untracked && !f.conflict);
|
|
988
|
+
return [
|
|
989
|
+
{ label: 'Stash all changes', icon: 'stash', disabled: !files.length, action: () => stashChanges('', true) },
|
|
990
|
+
{ label: 'Review changes', icon: 'file-diff', disabled: !files.length, action: () => openReview() },
|
|
991
|
+
{ separator: true },
|
|
992
|
+
{ label: 'Discard all changes…', icon: 'trash', destructive: true, disabled: !discardable.length, action: () => askDiscard(discardable) },
|
|
993
|
+
{
|
|
994
|
+
label: 'Delete untracked files…', icon: 'trash', destructive: true, disabled: !untracked.length,
|
|
995
|
+
action: () => askDiscard(untracked, untracked.length === 1 ? null : {
|
|
996
|
+
title: 'Delete ' + plural(untracked.length, 'untracked file') + '?',
|
|
997
|
+
body: 'They are files git has never stored. You can undo it right after.',
|
|
998
|
+
confirm: 'Delete ' + plural(untracked.length, 'file'),
|
|
999
|
+
}),
|
|
1000
|
+
},
|
|
1001
|
+
{ label: 'Reset…', icon: 'reset', destructive: true, disabled: !files.length, action: askResetWorkingTree },
|
|
1002
|
+
];
|
|
1003
|
+
}
|
|
1004
|
+
|
|
1005
|
+
function askResetWorkingTree() {
|
|
1006
|
+
showDialog({
|
|
1007
|
+
title: 'Reset the uncommitted changes?',
|
|
1008
|
+
message: 'mixed unstages everything and leaves your files as they are. hard puts every tracked file back to the last commit, and PPM keeps no copy.',
|
|
1009
|
+
select: { options: ['mixed', 'hard'], defaultValue: 'mixed', label: 'Mode' },
|
|
1010
|
+
destructive: true,
|
|
1011
|
+
confirmLabel: 'Reset',
|
|
1012
|
+
onConfirm: (mode) => {
|
|
1013
|
+
if (mode !== 'hard') { runGitWrite('reset', { mode: 'mixed', hash: 'HEAD' }, 'Unstaged everything', 'Could not reset'); return; }
|
|
1014
|
+
showDialog({
|
|
1015
|
+
title: 'Throw away every uncommitted change?',
|
|
1016
|
+
message: 'Tracked files go back to the last commit. Discard does the same with an undo; this does not have one.',
|
|
1017
|
+
destructive: true,
|
|
1018
|
+
confirmLabel: 'Reset hard',
|
|
1019
|
+
onConfirm: () => runGitWrite('reset', { mode: 'hard', hash: 'HEAD' }, 'Reset to the last commit', 'Could not reset'),
|
|
1020
|
+
});
|
|
1021
|
+
},
|
|
1022
|
+
});
|
|
1023
|
+
}
|
|
1024
|
+
|
|
1025
|
+
// --- Staging, discarding, committing ---
|
|
1026
|
+
/* A second tick while the first is on the wire queues behind it rather than
|
|
1027
|
+
being dropped; only the commit button waits for both. */
|
|
1028
|
+
function stageFiles(files) {
|
|
1029
|
+
const paths = files.map((f) => f.path);
|
|
1030
|
+
if (!paths.length) return;
|
|
1031
|
+
busyCount('stage', 1);
|
|
1032
|
+
request({ command: 'stageFiles', paths }, 'stageFiles', (result) => {
|
|
1033
|
+
busyCount('stage', -1);
|
|
1034
|
+
if (!result.ok) showActionError('Could not stage', result.error);
|
|
1035
|
+
});
|
|
1036
|
+
}
|
|
1037
|
+
|
|
1038
|
+
function unstageFiles(files) {
|
|
1039
|
+
const paths = [];
|
|
1040
|
+
files.forEach((f) => unstagePaths(f).forEach((p) => paths.push(p)));
|
|
1041
|
+
if (!paths.length) return;
|
|
1042
|
+
busyCount('stage', 1);
|
|
1043
|
+
request({ command: 'unstageFiles', paths }, 'unstageFiles', (result) => {
|
|
1044
|
+
busyCount('stage', -1);
|
|
1045
|
+
if (!result.ok) showActionError('Could not unstage', result.error);
|
|
1046
|
+
});
|
|
1047
|
+
}
|
|
1048
|
+
|
|
1049
|
+
/** Tick: stage the rest; untick once it is all staged. A conflict is only ever marked resolved. */
|
|
1050
|
+
function toggleFile(f) {
|
|
1051
|
+
if (f.conflict) markResolved(f);
|
|
1052
|
+
else if (fileCheckState(f) === 'all') unstageFiles([f]);
|
|
1053
|
+
else stageFiles([f]);
|
|
1054
|
+
}
|
|
1055
|
+
|
|
1056
|
+
function toggleAllFiles() {
|
|
1057
|
+
const files = changedFiles();
|
|
1058
|
+
if (allCheckState(files) === 'all') unstageFiles(files);
|
|
1059
|
+
else stageFiles(files.filter((f) => !f.conflict && fileCheckState(f) !== 'all'));
|
|
1060
|
+
}
|
|
1061
|
+
|
|
1062
|
+
/* Staging a conflict is what marks it resolved, markers or not. Source Control
|
|
1063
|
+
reads the file to see if git's markers are still in it; the frame cannot,
|
|
1064
|
+
so it always asks. */
|
|
1065
|
+
function markResolved(f) {
|
|
1066
|
+
showDialog({
|
|
1067
|
+
title: 'Mark ' + splitPath(f.path)[1] + ' as resolved?',
|
|
1068
|
+
message: 'This stages the file as it is now. If git’s conflict markers are still in it, they are committed too.',
|
|
1069
|
+
confirmLabel: 'Mark resolved',
|
|
1070
|
+
onConfirm: () => stageFiles([f]),
|
|
1071
|
+
});
|
|
1072
|
+
}
|
|
1073
|
+
|
|
1074
|
+
function askDiscard(files, summary) {
|
|
1075
|
+
const list = (files || []).filter(hasUnstaged);
|
|
1076
|
+
if (!list.length) return;
|
|
1077
|
+
const s = summary || discardSummary(list);
|
|
1078
|
+
showDialog({
|
|
1079
|
+
title: s.title,
|
|
1080
|
+
message: s.body,
|
|
1081
|
+
destructive: true,
|
|
1082
|
+
confirmLabel: s.confirm,
|
|
1083
|
+
onConfirm: () => discardFiles(list),
|
|
1084
|
+
});
|
|
1085
|
+
}
|
|
1086
|
+
|
|
1087
|
+
function discardFiles(files) {
|
|
1088
|
+
if (anyBusy()) return;
|
|
1089
|
+
const what = files.length === 1 ? splitPath(files[0].path)[1] : plural(files.length, 'file');
|
|
1090
|
+
setBusy('discard', true);
|
|
1091
|
+
request({ command: 'discardFiles', paths: files.map((f) => f.path) }, 'discardFiles', (result) => {
|
|
1092
|
+
setBusy('discard', false);
|
|
1093
|
+
if (!result.ok) { showActionError('Could not discard', result.error); return; }
|
|
1094
|
+
const record = result.data && result.data.undo;
|
|
1095
|
+
if (!record) return;
|
|
1096
|
+
// Undo brings back what was kept, and nothing else: a file too large to copy is gone
|
|
1097
|
+
// for good, so a discard that kept nothing offers no Undo at all.
|
|
1098
|
+
const kept = record.paths || [];
|
|
1099
|
+
if (kept.length) {
|
|
1100
|
+
const keptWhat = kept.length === 1 ? splitPath(kept[0])[1] : plural(kept.length, 'file');
|
|
1101
|
+
showToast('Discarded changes to ' + what, { duration: 8000, undo: () => undoDiscard(record.id, keptWhat) });
|
|
1102
|
+
}
|
|
1103
|
+
if (record.skipped && record.skipped.length) {
|
|
1104
|
+
showToast(record.skipped.join(', ') + ' could not be kept, so it cannot be restored', {
|
|
1105
|
+
kind: 'warning', description: 'Files over 20 MB are discarded without a copy.',
|
|
1106
|
+
});
|
|
1107
|
+
}
|
|
1108
|
+
});
|
|
1109
|
+
}
|
|
1110
|
+
|
|
1111
|
+
function undoDiscard(id, what) {
|
|
1112
|
+
setBusy('undo', true);
|
|
1113
|
+
request({ command: 'undoDiscard', id }, 'undoDiscard', (result) => {
|
|
1114
|
+
setBusy('undo', false);
|
|
1115
|
+
if (result.ok) showToast('Restored ' + what, { kind: 'success' });
|
|
1116
|
+
else showActionError('Could not undo the discard', result.error);
|
|
1117
|
+
});
|
|
1118
|
+
}
|
|
1119
|
+
|
|
1120
|
+
/** What the composer may do right now — git-commit-composer.tsx's rules. */
|
|
1121
|
+
function composerState() {
|
|
1122
|
+
const ta = document.getElementById('commit-message');
|
|
1123
|
+
const message = ta ? ta.value : (state.draft.message || '');
|
|
1124
|
+
const totals = changeTotals(changedFiles());
|
|
1125
|
+
const last = state.changes && state.changes.lastCommit;
|
|
1126
|
+
const busy = anyBusy();
|
|
1127
|
+
// Both rewrite the last commit, so neither is offered once it is on the remote.
|
|
1128
|
+
const rewritable = !!last && !last.pushed;
|
|
1129
|
+
return {
|
|
1130
|
+
message, totals,
|
|
1131
|
+
ready: canCommit(totals, message) && !busy,
|
|
1132
|
+
amendable: rewritable && !busy && (totals.filesStaged > 0 || message.trim() !== ''),
|
|
1133
|
+
undoable: rewritable && !!last.hasParent && !busy,
|
|
1134
|
+
};
|
|
1135
|
+
}
|
|
1136
|
+
|
|
1137
|
+
function commitSplitItems() {
|
|
1138
|
+
const s = composerState();
|
|
1139
|
+
const last = state.changes && state.changes.lastCommit;
|
|
1140
|
+
return [
|
|
1141
|
+
{ label: 'Commit and push', icon: 'push', disabled: !s.ready, action: () => commitStaged({ push: true }) },
|
|
1142
|
+
{ label: 'Amend last commit', icon: 'edit', disabled: !s.amendable, action: () => commitStaged({ amend: true }) },
|
|
1143
|
+
{ label: 'Commit with sign-off', icon: 'check', disabled: !s.ready, action: () => commitStaged({ signoff: true }) },
|
|
1144
|
+
{ separator: true },
|
|
1145
|
+
{ label: 'Undo last commit', icon: 'undo', disabled: !s.undoable, action: () => undoLastCommit(last && last.hash) },
|
|
1146
|
+
];
|
|
1147
|
+
}
|
|
1148
|
+
|
|
1149
|
+
/* After a commit of the text committed. Text typed in while its hooks ran is
|
|
1150
|
+
the next message, and stays. */
|
|
1151
|
+
function clearComposer(committed) {
|
|
1152
|
+
const ta = document.getElementById('commit-message');
|
|
1153
|
+
if (ta && ta.value.trim() !== committed) { updateCommitControls(); return; }
|
|
1154
|
+
state.draft = { message: '', updatedAt: null };
|
|
1155
|
+
state.draftEditedAt = 0;
|
|
1156
|
+
if (ta) ta.value = '';
|
|
1157
|
+
updateCommitControls();
|
|
1158
|
+
}
|
|
1159
|
+
|
|
1160
|
+
function commitStaged(opts) {
|
|
1161
|
+
opts = opts || {};
|
|
1162
|
+
const s = composerState();
|
|
1163
|
+
if (opts.amend ? !s.amendable : !s.ready) return;
|
|
1164
|
+
// A save still waiting to go out would land after the commit cleared the
|
|
1165
|
+
// message and put the committed text back.
|
|
1166
|
+
clearTimeout(draftTimer);
|
|
1167
|
+
const before = branchState();
|
|
1168
|
+
const filesStaged = s.totals.filesStaged;
|
|
1169
|
+
const message = s.message.trim();
|
|
1170
|
+
setBusy('commit', true);
|
|
1171
|
+
request({ command: 'commitStaged', message, amend: !!opts.amend, signoff: !!opts.signoff, push: !!opts.push }, 'commitStaged', (result) => {
|
|
1172
|
+
setBusy('commit', false);
|
|
1173
|
+
if (!result.ok) {
|
|
1174
|
+
const text = String(result.error || '');
|
|
1175
|
+
// The commit stands even when the push after it fails.
|
|
1176
|
+
if (/^Committed, but the push failed/.test(text)) {
|
|
1177
|
+
clearComposer(message);
|
|
1178
|
+
showToast('Push failed', { kind: 'error', description: text });
|
|
1179
|
+
return;
|
|
1180
|
+
}
|
|
1181
|
+
showActionError(opts.amend ? 'Could not amend the commit' : 'Could not commit', text);
|
|
1182
|
+
return;
|
|
1183
|
+
}
|
|
1184
|
+
clearComposer(message);
|
|
1185
|
+
const data = result.data || {};
|
|
1186
|
+
const short = String(data.hash || '').slice(0, 7);
|
|
1187
|
+
// Undo takes a commit back whole, which for an amend is more than the amend.
|
|
1188
|
+
if (opts.amend) showToast('Amended ' + short, { kind: 'success' });
|
|
1189
|
+
else showToast('Committed ' + short + ' · ' + plural(filesStaged, 'file'), { undo: () => undoLastCommit(data.hash) });
|
|
1190
|
+
if (opts.push && data.pushed && before) {
|
|
1191
|
+
if (syncMode(before) === 'publish') showToast('Published ' + (before.head || 'the branch') + ' to the remote', { kind: 'success' });
|
|
1192
|
+
else showToast('Pushed ' + plural((before.ahead || 0) + 1, 'commit') + ' to ' + (before.upstream || 'the remote'), { kind: 'success' });
|
|
1193
|
+
}
|
|
1194
|
+
});
|
|
1195
|
+
}
|
|
1196
|
+
|
|
1197
|
+
/** Undo the commit with this hash: PPM refuses once it is no longer the last one. */
|
|
1198
|
+
function undoLastCommit(hash) {
|
|
1199
|
+
if (anyBusy()) return;
|
|
1200
|
+
setBusy('undoCommit', true);
|
|
1201
|
+
request({ command: 'undoCommit', hash }, 'undoCommit', (result) => {
|
|
1202
|
+
setBusy('undoCommit', false);
|
|
1203
|
+
if (!result.ok) { showActionError('Could not undo the commit', result.error); return; }
|
|
1204
|
+
// The server put the undone commit's message back, if the box was empty.
|
|
1205
|
+
const draft = result.data && result.data.draft;
|
|
1206
|
+
const ta = document.getElementById('commit-message');
|
|
1207
|
+
if (draft && draft.message) {
|
|
1208
|
+
state.draft = draft;
|
|
1209
|
+
state.draftEditedAt = 0;
|
|
1210
|
+
if (ta && !ta.value.trim()) ta.value = draft.message;
|
|
1211
|
+
}
|
|
1212
|
+
updateCommitControls();
|
|
1213
|
+
showToast('Commit undone — its changes are staged again');
|
|
1214
|
+
});
|
|
1215
|
+
}
|
|
1216
|
+
|
|
1217
|
+
// --- A merge, rebase or cherry-pick that stopped ---
|
|
1218
|
+
function renderOpBanner() {
|
|
1219
|
+
const banner = document.getElementById('op-banner');
|
|
1220
|
+
const op = state.changes && state.changes.operation;
|
|
1221
|
+
if (!op) { banner.classList.add('hidden'); banner.innerHTML = ''; return; }
|
|
1222
|
+
const conflicts = changedFiles().filter((f) => f.conflict).length;
|
|
1223
|
+
const branch = (state.changes.branch && state.changes.branch.head) || null;
|
|
1224
|
+
const busy = anyBusy();
|
|
1225
|
+
const off = busy ? ' disabled' : '';
|
|
1226
|
+
banner.classList.remove('hidden');
|
|
1227
|
+
banner.innerHTML = ic('warn') + '<div class="txt"><b>' + escHtml(operationTitle(op, branch)) + '</b><span>'
|
|
1228
|
+
+ escHtml(conflicts ? plural(conflicts, 'conflict') + ' left to resolve' : 'All conflicts resolved — continue when ready') + '</span></div>'
|
|
1229
|
+
+ '<div class="acts">'
|
|
1230
|
+
+ (conflicts ? '<button type="button" class="btn xs outline" data-op="resolve">' + ic('merge', 'ic-sm') + 'Resolve</button>' : '')
|
|
1231
|
+
+ '<button type="button" class="btn xs outline" data-op="abort"' + off + '>Abort</button>'
|
|
1232
|
+
+ (op.kind === 'rebase' ? '<button type="button" class="btn xs outline" data-op="skip"' + off + ' title="Leave this commit out and go on with the next">Skip</button>' : '')
|
|
1233
|
+
+ '<button type="button" class="btn xs primary" data-op="continue"' + (busy || conflicts ? ' disabled' : '')
|
|
1234
|
+
+ (conflicts ? ' title="Resolve every conflict first"' : '') + '>Continue</button>'
|
|
1235
|
+
+ '</div>';
|
|
1236
|
+
}
|
|
1237
|
+
|
|
1238
|
+
function runOperation(action, noun) {
|
|
1239
|
+
if (anyBusy()) return;
|
|
1240
|
+
const name = 'operation:' + action;
|
|
1241
|
+
setBusy(name, true);
|
|
1242
|
+
request({ command: 'operation', action }, name, (result) => {
|
|
1243
|
+
setBusy(name, false);
|
|
1244
|
+
if (!result.ok) { showActionError('Could not ' + action + ' the ' + noun, result.error); return; }
|
|
1245
|
+
if (action === 'continue') showToast('The ' + noun + ' is finished', { kind: 'success' });
|
|
1246
|
+
});
|
|
1247
|
+
}
|
|
1248
|
+
|
|
1249
|
+
{
|
|
1250
|
+
document.getElementById('op-banner').addEventListener('click', (e) => {
|
|
1251
|
+
const b = e.target.closest('[data-op]');
|
|
1252
|
+
const op = state.changes && state.changes.operation;
|
|
1253
|
+
if (!b || b.disabled || !op) return;
|
|
1254
|
+
const noun = operationNoun(op.kind);
|
|
1255
|
+
switch (b.dataset.op) {
|
|
1256
|
+
case 'resolve': {
|
|
1257
|
+
// One conflict opens straight away; several are listed in the inspector.
|
|
1258
|
+
const conflicts = changedFiles().filter((f) => f.conflict);
|
|
1259
|
+
if (conflicts.length === 1) vscode.postMessage({ command: 'openConflictFile', filePath: conflicts[0].path });
|
|
1260
|
+
else selectCommit('uncommitted', { scroll: true });
|
|
1261
|
+
break;
|
|
1262
|
+
}
|
|
1263
|
+
case 'abort':
|
|
1264
|
+
showDialog({
|
|
1265
|
+
title: 'Abort the ' + noun + '?',
|
|
1266
|
+
message: 'This puts the branch back where it was before the ' + noun + ' started. Conflicts you resolved so far are lost.',
|
|
1267
|
+
destructive: true,
|
|
1268
|
+
confirmLabel: 'Abort ' + noun,
|
|
1269
|
+
onConfirm: () => runOperation('abort', noun),
|
|
1270
|
+
});
|
|
1271
|
+
break;
|
|
1272
|
+
case 'skip': runGitWrite('rebaseSkip', {}, 'Skipped that commit', 'Could not skip the commit'); break;
|
|
1273
|
+
case 'continue': runOperation('continue', noun); break;
|
|
1274
|
+
}
|
|
1275
|
+
});
|
|
1276
|
+
}
|
|
1277
|
+
|
|
1278
|
+
// --- The status bar ---
|
|
1279
|
+
function updateStatus() {
|
|
1280
|
+
const n = state.commits.length;
|
|
1281
|
+
const branches = localBranchNames().length;
|
|
1282
|
+
const parts = [
|
|
1283
|
+
state.hasMore ? n + ' commits loaded' : plural(n, 'commit'),
|
|
1284
|
+
branches + (branches === 1 ? ' branch' : ' branches'),
|
|
1285
|
+
plural(state.tags.length, 'tag'),
|
|
1286
|
+
];
|
|
1287
|
+
document.getElementById('status-text').textContent = state.commitsLoaded ? parts.join(' · ') : 'Loading repository…';
|
|
1288
|
+
document.getElementById('btn-load-more').classList.toggle('hidden', !state.hasMore);
|
|
1289
|
+
}
|
|
1290
|
+
`;
|
|
1291
|
+
}
|