@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
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { decodeReply } from "../shared/chat-reply.ts";
|
|
1
2
|
import type { StripMode } from "../services/transcript-images.ts";
|
|
2
3
|
import {
|
|
3
4
|
query,
|
|
@@ -6,7 +7,12 @@ import {
|
|
|
6
7
|
getSessionInfo as sdkGetSessionInfo,
|
|
7
8
|
getSessionMessages,
|
|
8
9
|
} from "@anthropic-ai/claude-agent-sdk";
|
|
9
|
-
import { allowedToolsFor, buildModelQueryOptions, buildSystemPromptOption, designMcpServers, preToolUseDecision, READ_ONLY_TOOLS } from "./claude-agent-sdk-query-options.ts";
|
|
10
|
+
import { allowedToolsFor, buildModelQueryOptions, buildSystemPromptOption, buildToolHooks, CLAUDE_TAB_TOOLS, designMcpServers, fileWriteTarget, preToolUseDecision, READ_ONLY_TOOLS, shellHookCall, tabToolsMcpServers, withSessionTokenMasked } from "./claude-agent-sdk-query-options.ts";
|
|
11
|
+
import { localServerBaseUrl } from "../services/server-listen-address.ts";
|
|
12
|
+
import { TAB_TOOLS_MCP_PATH, tabToolsMcpAccessFor } from "../services/tab-tools-mcp/tab-tools-mcp-tokens.ts";
|
|
13
|
+
import { captureBaseline } from "../services/session-file-baselines/session-file-baselines.service.ts";
|
|
14
|
+
import { observeFile } from "../services/session-file-baselines/session-file-history.ts";
|
|
15
|
+
import { beginShellCommand, endShellCommand, noteFileToolWrite } from "../services/session-file-baselines/shell-change-tracker.ts";
|
|
10
16
|
import { WarmSpares, spawnFingerprint } from "./claude-warm-spare.ts";
|
|
11
17
|
import { CLAUDE_DESIGN_CHECK_TOOL } from "../services/design/mcp/design-mcp-tool.ts";
|
|
12
18
|
import { designToolDecision } from "../services/design/design-tool-policy.ts";
|
|
@@ -32,7 +38,7 @@ import { SUBSCRIPTION_PROMPT_CACHE_TTL_MS, API_KEY_PROMPT_CACHE_TTL_MS } from ".
|
|
|
32
38
|
import { buildTurnUsage, formatTurnUsageLog, messageContextTokens, messageCacheTtl } from "../shared/turn-usage.ts";
|
|
33
39
|
import { accountSelector } from "../services/account-selector.service.ts";
|
|
34
40
|
import { accountService, type AccountWithTokens } from "../services/account.service.ts";
|
|
35
|
-
import { parseSessionMessage, nestChildEventsAcrossMessages, parseJsonlTranscript, fullParseWindow } from "../services/jsonl-transcript-parser.ts";
|
|
41
|
+
import { parseSessionMessage, mergeToolResultMessages, nestChildEventsAcrossMessages, parseJsonlTranscript, fullParseWindow } from "../services/jsonl-transcript-parser.ts";
|
|
36
42
|
import { applyBackgroundAgentStatus } from "../shared/background-agent-status.ts";
|
|
37
43
|
import { mergeSubagentChildren, resolveSessionDir } from "../services/subagent-transcript-merger.ts";
|
|
38
44
|
import { readCompactions, applyCompactions } from "../services/compaction-savings.ts";
|
|
@@ -40,8 +46,15 @@ import { stringifyToolResultContent } from "../shared/tool-result-content.ts";
|
|
|
40
46
|
import { isCompiledBinary } from "../services/autostart-generator.ts";
|
|
41
47
|
import { resolveClaudeCliPath } from "../services/claude-cli-resolver.ts";
|
|
42
48
|
import { resolve, dirname } from "node:path";
|
|
43
|
-
import { existsSync, readdirSync, unlinkSync, readFileSync, statSync } from "node:fs";
|
|
49
|
+
import { existsSync, mkdirSync, readdirSync, unlinkSync, readFileSync, statSync } from "node:fs";
|
|
44
50
|
import { homedir, totalmem } from "node:os";
|
|
51
|
+
import { AI_CHAT_MARK } from "../services/ai-chat-env.ts";
|
|
52
|
+
import { getPpmDir } from "../services/ppm-dir.ts";
|
|
53
|
+
import { createLogger } from "../services/logger.ts";
|
|
54
|
+
|
|
55
|
+
const log = createLogger("sdk");
|
|
56
|
+
const usageLog = createLogger("usage");
|
|
57
|
+
const mcpControlLog = createLogger("mcp-control");
|
|
45
58
|
|
|
46
59
|
const CLAUDE_PROJECTS_DIR = resolve(homedir(), ".claude/projects");
|
|
47
60
|
|
|
@@ -74,8 +87,8 @@ export function resolveCliExecutablePath(
|
|
|
74
87
|
});
|
|
75
88
|
|
|
76
89
|
if (!cliPath) {
|
|
77
|
-
|
|
78
|
-
"
|
|
90
|
+
log.error(
|
|
91
|
+
"No Claude CLI found. This PPM binary needs a 'claude' executable. " +
|
|
79
92
|
"Install Claude Code (https://claude.ai/code), set PPM_CLAUDE_CLI=/path/to/claude, " +
|
|
80
93
|
"or reinstall the PPM release archive (should contain cli/claude). " +
|
|
81
94
|
"Searched: PATH, ~/.claude/local, ~/.local/bin, /usr/local/bin, /opt/homebrew/bin, <binary>/cli.",
|
|
@@ -241,6 +254,8 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
241
254
|
* and this is the only place that knows what made it do so.
|
|
242
255
|
*/
|
|
243
256
|
private teardownReasons = new Map<string, string>();
|
|
257
|
+
/** The API's last rate-limit status per account and limit, so only a change is logged. */
|
|
258
|
+
private rateLimitStatus = new Map<string, string>();
|
|
244
259
|
/** CLIs started for chats that do not exist yet — see `prewarm`. */
|
|
245
260
|
private readonly warmSpares = new WarmSpares<Query>();
|
|
246
261
|
/** Hosts with less RAM keep no warm CLI: each one holds ~500 MB while it waits. */
|
|
@@ -289,7 +304,7 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
289
304
|
(!current.expiresAt || current.expiresAt - nowS > 60)
|
|
290
305
|
) {
|
|
291
306
|
const label = current.label ?? current.email ?? "Unknown";
|
|
292
|
-
|
|
307
|
+
log.warn(`session=${sessionId} (${context}) auth recovery: adopting a token refreshed elsewhere account=${account.id}`);
|
|
293
308
|
yield { type: "account_retry" as const, reason: "Token refreshed", accountId: current.id, accountLabel: label };
|
|
294
309
|
return { account: current, newRetryCount: 1 };
|
|
295
310
|
}
|
|
@@ -300,12 +315,12 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
300
315
|
const refreshed = accountService.getWithTokens(account.id);
|
|
301
316
|
if (refreshed) {
|
|
302
317
|
const label = refreshed.label ?? refreshed.email ?? "Unknown";
|
|
303
|
-
|
|
318
|
+
log.warn(`session=${sessionId} (${context}) auth recovery: OAuth token refreshed, retrying account=${account.id}`);
|
|
304
319
|
yield { type: "account_retry" as const, reason: "Token refreshed", accountId: refreshed.id, accountLabel: label };
|
|
305
320
|
return { account: refreshed, newRetryCount: 1 };
|
|
306
321
|
}
|
|
307
322
|
} catch (err) {
|
|
308
|
-
|
|
323
|
+
log.warn(`session=${sessionId} (${context}) auth recovery: OAuth refresh failed account=${account.id}: ${(err as Error).message}`);
|
|
309
324
|
}
|
|
310
325
|
// Refresh failed — fall through to account switch
|
|
311
326
|
}
|
|
@@ -316,15 +331,15 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
316
331
|
const nextAcc = accountSelector.next();
|
|
317
332
|
if (nextAcc && nextAcc.id !== account.id) {
|
|
318
333
|
const label = nextAcc.label ?? nextAcc.email ?? "Unknown";
|
|
319
|
-
|
|
334
|
+
log.warn(`session=${sessionId} (${context}) auth recovery: switching account=${nextAcc.id} from=${account.id}`);
|
|
320
335
|
// The old binding cannot authenticate — move the session so later turns start here.
|
|
321
336
|
accountSelector.bindSession(sessionId, nextAcc.id);
|
|
322
337
|
yield { type: "account_retry" as const, reason: "Switching account", accountId: nextAcc.id, accountLabel: label };
|
|
323
338
|
return { account: nextAcc, newRetryCount: authRetryCount + 1 };
|
|
324
339
|
}
|
|
325
|
-
|
|
340
|
+
log.warn(`session=${sessionId} (${context}) no alternate account available for switch`);
|
|
326
341
|
} else {
|
|
327
|
-
|
|
342
|
+
log.warn(`session=${sessionId} (${context}) auth retry budget exhausted (${authRetryCount}/${maxRetries})`);
|
|
328
343
|
}
|
|
329
344
|
return null;
|
|
330
345
|
}
|
|
@@ -342,7 +357,7 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
342
357
|
const nextAcc = accountSelector.next(excludeIds);
|
|
343
358
|
if (nextAcc && nextAcc.id !== current?.id) {
|
|
344
359
|
const label = nextAcc.label ?? nextAcc.email ?? "Unknown";
|
|
345
|
-
|
|
360
|
+
log.warn(`session=${sessionId} rate limited — switching to account ${nextAcc.id}`);
|
|
346
361
|
// The bound account is rate limited — move the session rather than bounce back to it.
|
|
347
362
|
accountSelector.bindSession(sessionId, nextAcc.id);
|
|
348
363
|
yield { type: "account_retry" as const, reason: `Rate limited — switching account`, accountId: nextAcc.id, accountLabel: label };
|
|
@@ -410,7 +425,8 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
410
425
|
// started here were invisible to the CLI and the VS Code extension even in the same
|
|
411
426
|
// project. The value reaches the transcript verbatim; telemetry maps unknown ones to
|
|
412
427
|
// "other", so naming ourselves beats borrowing another client's label.
|
|
413
|
-
|
|
428
|
+
// AI_CHAT_MARK: `ppm db` run by the model then keeps to the connections available to the AI chat.
|
|
429
|
+
const base: Record<string, string | undefined> = { ...process.env, CLAUDE_CODE_ENTRYPOINT: "ppm", ...AI_CHAT_MARK };
|
|
414
430
|
|
|
415
431
|
// Settings base_url has highest priority
|
|
416
432
|
const providerConfig = this.getProviderConfig();
|
|
@@ -439,7 +455,7 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
439
455
|
const shellBaseUrl = process.env.ANTHROPIC_BASE_URL ?? "";
|
|
440
456
|
const isSelfProxy = shellBaseUrl.includes("/proxy");
|
|
441
457
|
if (isSelfProxy && shellBaseUrl) {
|
|
442
|
-
|
|
458
|
+
log.warn(`Ignoring self-referencing ANTHROPIC_BASE_URL from shell: ${shellBaseUrl}`);
|
|
443
459
|
}
|
|
444
460
|
const resolvedBaseUrl = providerConfig.base_url
|
|
445
461
|
|| (isSelfProxy ? "" : shellBaseUrl)
|
|
@@ -449,22 +465,22 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
449
465
|
if (isSelfProxy && !settingsApiKey && !account && process.env.ANTHROPIC_API_KEY) {
|
|
450
466
|
resolvedApiKey = "";
|
|
451
467
|
resolvedOAuth = "";
|
|
452
|
-
|
|
468
|
+
log.warn(`Clearing shell ANTHROPIC_API_KEY (paired with self-referencing proxy)`);
|
|
453
469
|
}
|
|
454
470
|
const resolvedAuthToken = process.env.ANTHROPIC_AUTH_TOKEN ?? "";
|
|
455
471
|
|
|
456
472
|
// Log resolved sources
|
|
457
473
|
if (settingsApiKey) {
|
|
458
|
-
|
|
474
|
+
log.debug(`Auth from settings api_key (length=${settingsApiKey.length})`);
|
|
459
475
|
} else if (account) {
|
|
460
|
-
|
|
476
|
+
log.debug(`Auth from PPM account (${account.accessToken.startsWith("sk-ant-oat") ? "OAuth" : "API key"})`);
|
|
461
477
|
} else if (process.env.ANTHROPIC_API_KEY && !isSelfProxy) {
|
|
462
|
-
|
|
478
|
+
log.debug(`ANTHROPIC_API_KEY from shell env (length=${process.env.ANTHROPIC_API_KEY.length})`);
|
|
463
479
|
}
|
|
464
480
|
if (providerConfig.base_url) {
|
|
465
|
-
|
|
481
|
+
log.debug(`ANTHROPIC_BASE_URL from settings: ${providerConfig.base_url}`);
|
|
466
482
|
} else if (shellBaseUrl && !isSelfProxy) {
|
|
467
|
-
|
|
483
|
+
log.debug(`ANTHROPIC_BASE_URL from shell env: ${shellBaseUrl}`);
|
|
468
484
|
}
|
|
469
485
|
|
|
470
486
|
// Enable experimental agent teams if toggled on in provider settings
|
|
@@ -472,6 +488,10 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
472
488
|
? { CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS: "1", CLAUDE_CODE_ENABLE_TASKS: "1" }
|
|
473
489
|
: {};
|
|
474
490
|
|
|
491
|
+
// PPM's own tab tools replace the claude.ai Artifact tools (`Artifact`, `ArtifactComments`,
|
|
492
|
+
// `ArtifactData`), whose pages live on claude.ai rather than in PPM.
|
|
493
|
+
const artifactEnv = configService.get("ai").tab_tools ? { CLAUDE_CODE_DISABLE_ARTIFACT: "1" } : {};
|
|
494
|
+
|
|
475
495
|
return {
|
|
476
496
|
...base,
|
|
477
497
|
ANTHROPIC_API_KEY: resolvedApiKey,
|
|
@@ -479,6 +499,7 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
479
499
|
ANTHROPIC_BASE_URL: resolvedBaseUrl,
|
|
480
500
|
ANTHROPIC_AUTH_TOKEN: resolvedAuthToken,
|
|
481
501
|
...agentTeamsEnv,
|
|
502
|
+
...artifactEnv,
|
|
482
503
|
};
|
|
483
504
|
}
|
|
484
505
|
|
|
@@ -599,7 +620,7 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
599
620
|
const sessions: SessionInfo[] = sdkSessions.map((s) => ({
|
|
600
621
|
id: s.sessionId,
|
|
601
622
|
providerId: this.id,
|
|
602
|
-
title: dbTitles[s.sessionId] ?? s.customTitle ?? s.summary ?? (stripSharedContext(s.firstPrompt ?? "") || "Chat"),
|
|
623
|
+
title: dbTitles[s.sessionId] ?? s.customTitle ?? s.summary ?? (decodeReply(stripSharedContext(s.firstPrompt ?? "")).content || "Chat"),
|
|
603
624
|
createdAt: new Date(s.lastModified).toISOString(),
|
|
604
625
|
updatedAt: new Date(s.lastModified).toISOString(),
|
|
605
626
|
}));
|
|
@@ -627,8 +648,15 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
627
648
|
}
|
|
628
649
|
}
|
|
629
650
|
|
|
651
|
+
listFailureWarned.delete(dir);
|
|
630
652
|
return sessions;
|
|
631
|
-
} catch {
|
|
653
|
+
} catch (e) {
|
|
654
|
+
// The sidebar loses every on-disk session until this recovers, and asks again on every
|
|
655
|
+
// refresh: the same failure is WARNed once per directory.
|
|
656
|
+
const msg = (e as Error).message;
|
|
657
|
+
const line = `listSessions failed dir=${dir ?? "(all)"} (returning ${this.activeSessions.size} live sessions): ${msg}`;
|
|
658
|
+
if (listFailureWarned.get(dir) === msg) log.debug(line);
|
|
659
|
+
else { listFailureWarned.set(dir, msg); log.warn(line); }
|
|
632
660
|
return Array.from(this.activeSessions.values()).map((s) => ({
|
|
633
661
|
id: s.id,
|
|
634
662
|
providerId: s.providerId,
|
|
@@ -647,7 +675,7 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
647
675
|
return {
|
|
648
676
|
id: info.sessionId,
|
|
649
677
|
providerId: this.id,
|
|
650
|
-
title: dbTitles[info.sessionId] ?? info.customTitle ?? info.summary ?? (stripSharedContext(info.firstPrompt ?? "") || "Chat"),
|
|
678
|
+
title: dbTitles[info.sessionId] ?? info.customTitle ?? info.summary ?? (decodeReply(stripSharedContext(info.firstPrompt ?? "")).content || "Chat"),
|
|
651
679
|
createdAt: new Date(info.lastModified).toISOString(),
|
|
652
680
|
updatedAt: new Date(info.lastModified).toISOString(),
|
|
653
681
|
};
|
|
@@ -756,7 +784,8 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
756
784
|
pushMessage(sessionId: string, content: string, opts?: import("./provider.interface.ts").SendMessageOpts): void {
|
|
757
785
|
const ss = this.streamingSessions.get(sessionId);
|
|
758
786
|
if (!ss) {
|
|
759
|
-
|
|
787
|
+
// Returning is all this can do, and the message never reaches the model.
|
|
788
|
+
log.error(`session=${sessionId} follow-up dropped: no streaming session`);
|
|
760
789
|
return;
|
|
761
790
|
}
|
|
762
791
|
const modelInput = withSharedContext(content, opts?.sharedContext);
|
|
@@ -771,7 +800,7 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
771
800
|
// Track latest message for retry paths (fixes stale firstMsg bug)
|
|
772
801
|
ss.lastUserContent = modelInput;
|
|
773
802
|
ss.lastUserImages = opts?.images;
|
|
774
|
-
|
|
803
|
+
log.debug(`pushMessage: session=${sessionId} priority=${opts?.priority ?? 'next'}`);
|
|
775
804
|
}
|
|
776
805
|
|
|
777
806
|
/** Close a streaming session — generator + query cleanup */
|
|
@@ -782,7 +811,7 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
782
811
|
ss.query.close();
|
|
783
812
|
this.streamingSessions.delete(sessionId);
|
|
784
813
|
this.teardownReasons.set(sessionId, "stream_ended");
|
|
785
|
-
|
|
814
|
+
log.info(`closeStreamingSession: session=${sessionId}`);
|
|
786
815
|
}
|
|
787
816
|
}
|
|
788
817
|
|
|
@@ -891,6 +920,71 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
891
920
|
};
|
|
892
921
|
}
|
|
893
922
|
|
|
923
|
+
/**
|
|
924
|
+
* One prompt, one text answer: no tools, no session on disk, no project. For PPM's own small
|
|
925
|
+
* jobs (sorting the log's errors, drafting a bug report), not for chats. It runs on the
|
|
926
|
+
* account the router would pick next and authenticates exactly as a turn does
|
|
927
|
+
* (`buildQueryEnv`), in a directory of its own with `settingSources: []`, so no project's
|
|
928
|
+
* CLAUDE.md, settings or `.env` reaches it.
|
|
929
|
+
*/
|
|
930
|
+
async completeOnce(input: {
|
|
931
|
+
prompt: string;
|
|
932
|
+
systemPrompt: string;
|
|
933
|
+
model: string;
|
|
934
|
+
timeoutMs?: number;
|
|
935
|
+
}): Promise<{ text: string; inputTokens: number; outputTokens: number }> {
|
|
936
|
+
let account: AccountWithTokens | null = null;
|
|
937
|
+
if (accountSelector.isEnabled()) {
|
|
938
|
+
const picked = accountSelector.next();
|
|
939
|
+
if (!picked) throw new Error("No Claude account can take a request right now");
|
|
940
|
+
account = await accountService.ensureFreshToken(picked.id);
|
|
941
|
+
if (!account) throw new Error("The Claude account's sign-in has expired");
|
|
942
|
+
}
|
|
943
|
+
const providerConfig = this.getProviderConfig();
|
|
944
|
+
const cliExecutablePath = resolveCliExecutablePath((providerConfig as { cli_command?: string }).cli_command);
|
|
945
|
+
const cwd = resolve(getPpmDir(), "one-shot");
|
|
946
|
+
mkdirSync(cwd, { recursive: true });
|
|
947
|
+
const abortController = new AbortController();
|
|
948
|
+
const timer = setTimeout(() => abortController.abort(), input.timeoutMs ?? 90_000);
|
|
949
|
+
try {
|
|
950
|
+
const run = query({
|
|
951
|
+
prompt: input.prompt,
|
|
952
|
+
options: {
|
|
953
|
+
...(needsNodeInterpreter(process.platform, cliExecutablePath) && { executable: "node" as const }),
|
|
954
|
+
...(cliExecutablePath && { pathToClaudeCodeExecutable: cliExecutablePath }),
|
|
955
|
+
cwd,
|
|
956
|
+
model: input.model,
|
|
957
|
+
systemPrompt: input.systemPrompt,
|
|
958
|
+
tools: [],
|
|
959
|
+
settingSources: [],
|
|
960
|
+
persistSession: false,
|
|
961
|
+
maxTurns: 1,
|
|
962
|
+
env: this.buildQueryEnv(undefined, account),
|
|
963
|
+
abortController,
|
|
964
|
+
},
|
|
965
|
+
});
|
|
966
|
+
for await (const message of run) {
|
|
967
|
+
if (message.type !== "result") continue;
|
|
968
|
+
if (message.subtype !== "success" || message.is_error) {
|
|
969
|
+
const detail = message.subtype === "success" ? message.result : message.subtype;
|
|
970
|
+
throw new Error(`Claude did not answer: ${String(detail).slice(0, 200)}`);
|
|
971
|
+
}
|
|
972
|
+
if (account) accountSelector.onSuccess(account.id);
|
|
973
|
+
return {
|
|
974
|
+
text: message.result,
|
|
975
|
+
inputTokens: (message.usage.input_tokens ?? 0) + (message.usage.cache_read_input_tokens ?? 0) + (message.usage.cache_creation_input_tokens ?? 0),
|
|
976
|
+
outputTokens: message.usage.output_tokens ?? 0,
|
|
977
|
+
};
|
|
978
|
+
}
|
|
979
|
+
throw new Error("Claude ended without an answer");
|
|
980
|
+
} catch (e) {
|
|
981
|
+
if (abortController.signal.aborted) throw new Error("Claude took too long to answer");
|
|
982
|
+
throw e;
|
|
983
|
+
} finally {
|
|
984
|
+
clearTimeout(timer);
|
|
985
|
+
}
|
|
986
|
+
}
|
|
987
|
+
|
|
894
988
|
/**
|
|
895
989
|
* Start the CLI the next chat created in `projectPath` will run on, so that chat's first
|
|
896
990
|
* message does not wait ~1.4 s for it to boot (`claude-warm-spare.ts` has the numbers).
|
|
@@ -915,30 +1009,36 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
915
1009
|
account = accountService.getWithTokens(accountId) ?? account;
|
|
916
1010
|
}
|
|
917
1011
|
|
|
1012
|
+
// The chat's turns will carry the tab tools too (`chatService.prepareSendOptions`); their
|
|
1013
|
+
// token is minted below, once the spare has the session id it will be taken over with.
|
|
1014
|
+
const base = configService.get("ai").tab_tools === true ? localServerBaseUrl() : null;
|
|
1015
|
+
const tabTools = base ? { url: `${base}${TAB_TOOLS_MCP_PATH}`, token: "" } : null;
|
|
918
1016
|
const options = this.buildQueryOptions({
|
|
919
1017
|
cwd: projectPath,
|
|
920
1018
|
systemPrompt: buildSystemPromptOption(providerConfig.system_prompt),
|
|
921
1019
|
env: this.buildQueryEnv(projectPath, account),
|
|
922
1020
|
allowedTools: allowedToolsFor({ isBypass, agentTeams: providerConfig.agent_teams }),
|
|
923
|
-
mcpServers: this.resolveMcpServers(projectPath),
|
|
1021
|
+
mcpServers: { ...this.resolveMcpServers(projectPath), ...tabToolsMcpServers(tabTools) },
|
|
924
1022
|
permissionMode,
|
|
925
1023
|
opts,
|
|
926
1024
|
providerConfig,
|
|
927
1025
|
stderr: () => {},
|
|
928
1026
|
});
|
|
929
|
-
this.warmSpares.offer(projectPath, spawnFingerprint(options), (sessionId, callbacks) => {
|
|
1027
|
+
this.warmSpares.offer(projectPath, spawnFingerprint(withSessionTokenMasked(options)), (sessionId, callbacks) => {
|
|
930
1028
|
const { generator, controller } = createMessageChannel();
|
|
1029
|
+
const access = tabTools ? tabToolsMcpAccessFor(sessionId) : null;
|
|
931
1030
|
const q = query({
|
|
932
1031
|
prompt: generator,
|
|
933
1032
|
options: {
|
|
934
1033
|
...options,
|
|
1034
|
+
...(access && { mcpServers: { ...options.mcpServers, ...tabToolsMcpServers(access) } }),
|
|
935
1035
|
sessionId,
|
|
936
1036
|
stderr: callbacks.stderr,
|
|
937
|
-
|
|
1037
|
+
hooks: buildToolHooks({ isBypass, preToolUse: callbacks.preToolUse, fileWrite: callbacks.fileWrite, shellCommand: callbacks.shellCommand }),
|
|
938
1038
|
canUseTool: callbacks.canUseTool,
|
|
939
1039
|
} as any,
|
|
940
1040
|
});
|
|
941
|
-
|
|
1041
|
+
log.info(`session=${sessionId} warm CLI started for ${projectPath}`);
|
|
942
1042
|
return { query: q, controller };
|
|
943
1043
|
});
|
|
944
1044
|
}
|
|
@@ -955,7 +1055,7 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
955
1055
|
let sessionId = _sessionId;
|
|
956
1056
|
if (!UUID_RE.test(sessionId)) {
|
|
957
1057
|
const newId = crypto.randomUUID();
|
|
958
|
-
|
|
1058
|
+
log.warn(`session=${sessionId} is not a valid UUID — migrating to ${newId}`);
|
|
959
1059
|
// Migrate internal maps
|
|
960
1060
|
const oldMeta = this.activeSessions.get(sessionId);
|
|
961
1061
|
if (oldMeta) {
|
|
@@ -992,7 +1092,7 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
992
1092
|
// Track latest message for retry paths (fixes stale firstMsg bug)
|
|
993
1093
|
existingStream.lastUserContent = modelInput;
|
|
994
1094
|
existingStream.lastUserImages = opts?.images;
|
|
995
|
-
|
|
1095
|
+
log.debug(`sendMessage follow-up: session=${sessionId} pushed to generator`);
|
|
996
1096
|
return; // Events flow through first-message's consumer loop
|
|
997
1097
|
}
|
|
998
1098
|
|
|
@@ -1002,7 +1102,8 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
1002
1102
|
const meta = this.activeSessions.get(sessionId)!;
|
|
1003
1103
|
|
|
1004
1104
|
if (meta.title === "New Chat") {
|
|
1005
|
-
|
|
1105
|
+
const body = decodeReply(message).content;
|
|
1106
|
+
meta.title = body.slice(0, 50) + (body.length > 50 ? "..." : "");
|
|
1006
1107
|
}
|
|
1007
1108
|
|
|
1008
1109
|
const count = this.messageCount.get(sessionId) ?? 0;
|
|
@@ -1033,6 +1134,7 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
1033
1134
|
|
|
1034
1135
|
// `design_check` only reads the canvas, so a design session never asks before it runs.
|
|
1035
1136
|
const designCheckTool = opts?.designSession && opts.designMcp ? CLAUDE_DESIGN_CHECK_TOOL : null;
|
|
1137
|
+
const tabToolsMcp = opts?.designSession ? undefined : opts?.tabToolsMcp;
|
|
1036
1138
|
const allowedTools = allowedToolsFor({ isBypass, agentTeams: providerConfig.agent_teams, designPolicy, designCheckTool });
|
|
1037
1139
|
|
|
1038
1140
|
/**
|
|
@@ -1061,7 +1163,7 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
1061
1163
|
* Tool permission for Write/Edit/Bash is handled by the PreToolUse hook below.
|
|
1062
1164
|
*/
|
|
1063
1165
|
const canUseTool = async (toolName: string, input: unknown) => {
|
|
1064
|
-
|
|
1166
|
+
log.debug(`canUseTool called: tool=${toolName} permissionMode=${permissionMode}`);
|
|
1065
1167
|
if (toolName === "AskUserQuestion") {
|
|
1066
1168
|
const result = await waitForApproval(toolName, input);
|
|
1067
1169
|
if (result.approved && result.data) {
|
|
@@ -1089,7 +1191,7 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
1089
1191
|
const preToolUseHook = async (hookInput: any) => {
|
|
1090
1192
|
const toolName = hookInput?.tool_name as string | undefined;
|
|
1091
1193
|
if (!toolName) return {};
|
|
1092
|
-
|
|
1194
|
+
log.debug(`preToolUseHook: tool=${toolName} permissionMode=${permissionMode} isBypass=${isBypass}`);
|
|
1093
1195
|
|
|
1094
1196
|
// Bypass mode: allow everything
|
|
1095
1197
|
if (isBypass) return {};
|
|
@@ -1098,6 +1200,7 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
1098
1200
|
if (toolName === "AskUserQuestion") return {};
|
|
1099
1201
|
|
|
1100
1202
|
if (designCheckTool && toolName === designCheckTool) return preToolUseDecision("allow");
|
|
1203
|
+
if (tabToolsMcp && CLAUDE_TAB_TOOLS.includes(toolName)) return preToolUseDecision("allow");
|
|
1101
1204
|
|
|
1102
1205
|
// Design policy: project-scoped file tools pass, everything else falls through to
|
|
1103
1206
|
// the approval prompt below. The decision is explicit so the SDK's own acceptEdits
|
|
@@ -1117,14 +1220,50 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
1117
1220
|
return preToolUseDecision("deny", "User denied tool execution");
|
|
1118
1221
|
};
|
|
1119
1222
|
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
|
|
1223
|
+
/**
|
|
1224
|
+
* The project the session's review answers for (`chat-file-changes.ts` refuses a session of
|
|
1225
|
+
* another), recorded once PPM is about to keep a write of it: a session started outside PPM
|
|
1226
|
+
* and resumed here has no record of its own.
|
|
1227
|
+
*/
|
|
1228
|
+
let projectRecorded = false;
|
|
1229
|
+
const recordProject = () => {
|
|
1230
|
+
if (projectRecorded || !meta.projectPath) return;
|
|
1231
|
+
projectRecorded = true;
|
|
1232
|
+
if (!getSessionProjectPath(sessionId)) setSessionMetadata(sessionId, undefined, meta.projectPath);
|
|
1233
|
+
};
|
|
1234
|
+
|
|
1235
|
+
/**
|
|
1236
|
+
* Keeps the file as it was before this session first wrote it, for the session's review, and
|
|
1237
|
+
* the states each call finds it in and leaves it in, which say what turn wrote what.
|
|
1238
|
+
*/
|
|
1239
|
+
const fileWriteHook = async (hookInput: any) => {
|
|
1240
|
+
const target = fileWriteTarget(hookInput?.tool_name, hookInput?.tool_input, hookInput?.cwd);
|
|
1241
|
+
if (!target) return {};
|
|
1242
|
+
const call = typeof hookInput?.tool_use_id === "string" ? hookInput.tool_use_id : "";
|
|
1243
|
+
const event = hookInput?.hook_event_name;
|
|
1244
|
+
if (event === "PostToolUse" || event === "PostToolUseFailure") {
|
|
1245
|
+
if (call) await observeFile(sessionId, target, call, "after");
|
|
1246
|
+
return {};
|
|
1247
|
+
}
|
|
1248
|
+
recordProject();
|
|
1249
|
+
noteFileToolWrite(sessionId, target);
|
|
1250
|
+
await captureBaseline(sessionId, target);
|
|
1251
|
+
if (call) await observeFile(sessionId, target, call, "before");
|
|
1252
|
+
return {};
|
|
1126
1253
|
};
|
|
1127
1254
|
|
|
1255
|
+
/** The same for the files a shell command changes, found by `git status` before and after it. */
|
|
1256
|
+
const shellCommandHook = async (hookInput: any) => {
|
|
1257
|
+
const call = shellHookCall(hookInput);
|
|
1258
|
+
if (call?.phase === "begin") {
|
|
1259
|
+
recordProject();
|
|
1260
|
+
await beginShellCommand({ sessionId, ...call });
|
|
1261
|
+
} else if (call?.phase === "end") await endShellCommand({ sessionId, toolUseId: call.toolUseId });
|
|
1262
|
+
return {};
|
|
1263
|
+
};
|
|
1264
|
+
|
|
1265
|
+
const queryHooks = buildToolHooks({ isBypass, preToolUse: preToolUseHook, fileWrite: fileWriteHook, shellCommand: shellCommandHook });
|
|
1266
|
+
|
|
1128
1267
|
let assistantContent = "";
|
|
1129
1268
|
let resultSubtype: string | undefined;
|
|
1130
1269
|
let resultNumTurns: number | undefined;
|
|
@@ -1186,9 +1325,10 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
1186
1325
|
while (true) {
|
|
1187
1326
|
yield { type: "status_update" as const, phase: "routing" as const, message: "Selecting account..." };
|
|
1188
1327
|
// Sticky: reuse the account this session is bound to so the transcript keeps
|
|
1189
|
-
// hitting that account's prompt cache. Only an unusable binding
|
|
1190
|
-
//
|
|
1191
|
-
|
|
1328
|
+
// hitting that account's prompt cache. Only an unusable binding — or one whose
|
|
1329
|
+
// cache has already lapsed, where staying saves nothing — falls through to a
|
|
1330
|
+
// strategy pick, which then becomes the new binding.
|
|
1331
|
+
account = accountSelector.forSession(sessionId, excludeIds, { cacheTtlMs: this.promptCacheTtlMs(sessionId) });
|
|
1192
1332
|
|
|
1193
1333
|
if (!account) {
|
|
1194
1334
|
const reason = accountSelector.lastFailReason;
|
|
@@ -1200,7 +1340,7 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
1200
1340
|
} else {
|
|
1201
1341
|
hint = "All accounts are disabled or in cooldown. Check Settings → Accounts.";
|
|
1202
1342
|
}
|
|
1203
|
-
|
|
1343
|
+
log.error(`session=${sessionId} account auth failed (${reason}): ${hint}`);
|
|
1204
1344
|
yield { type: "error" as const, message: `Authentication failed: ${hint}` };
|
|
1205
1345
|
yield { type: "done" as const, sessionId, resultSubtype: "error_auth" };
|
|
1206
1346
|
return;
|
|
@@ -1209,7 +1349,7 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
1209
1349
|
const accountLabel = account.label ?? account.email ?? "Unknown";
|
|
1210
1350
|
const nowS = Math.floor(Date.now() / 1000);
|
|
1211
1351
|
const expiresIn = account.expiresAt ? account.expiresAt - nowS : null;
|
|
1212
|
-
|
|
1352
|
+
log.info(`session=${sessionId} using account=${account.id} token_expires_in=${expiresIn}s`);
|
|
1213
1353
|
|
|
1214
1354
|
// ensureFreshToken re-reads DB (picks up concurrent refreshes) and
|
|
1215
1355
|
// only refreshes if truly needed — safe to call unconditionally.
|
|
@@ -1224,7 +1364,7 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
1224
1364
|
}
|
|
1225
1365
|
|
|
1226
1366
|
// Refresh failed — cooldown this account, try next
|
|
1227
|
-
|
|
1367
|
+
log.warn(`session=${sessionId} pre-flight refresh failed for ${account.id} — trying next account`);
|
|
1228
1368
|
yield { type: "status_update" as const, phase: "switching" as const, message: `Token expired for ${accountLabel}, trying next account...`, accountLabel };
|
|
1229
1369
|
accountSelector.onPreflightFail(account.id);
|
|
1230
1370
|
excludeIds.add(account.id);
|
|
@@ -1243,25 +1383,24 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
1243
1383
|
if (!account) {
|
|
1244
1384
|
const hasApiKey = !!(queryEnv.ANTHROPIC_API_KEY || queryEnv.CLAUDE_CODE_OAUTH_TOKEN);
|
|
1245
1385
|
if (!hasApiKey) {
|
|
1246
|
-
|
|
1386
|
+
log.warn(`session=${sessionId} no account and no API key in env — Claude CLI will use its own auth (if any)`);
|
|
1247
1387
|
}
|
|
1248
1388
|
}
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1389
|
+
const mcpServers = {
|
|
1390
|
+
...this.resolveMcpServers(effectiveCwd),
|
|
1391
|
+
...designMcpServers(opts?.designSession ? opts.designMcp : undefined),
|
|
1392
|
+
...tabToolsMcpServers(tabToolsMcp),
|
|
1393
|
+
};
|
|
1253
1394
|
|
|
1254
1395
|
// Buffer subprocess stderr for crash diagnostics + log in real-time
|
|
1255
1396
|
let stderrBuffer = "";
|
|
1256
1397
|
const stderrCallback = (chunk: string) => {
|
|
1257
1398
|
stderrBuffer += chunk;
|
|
1258
1399
|
if (stderrBuffer.length > 2048) stderrBuffer = stderrBuffer.slice(-2048);
|
|
1400
|
+
// Per chunk, so DEBUG: a crash line carries the tail.
|
|
1259
1401
|
const trimmed = chunk.trim();
|
|
1260
|
-
if (trimmed)
|
|
1402
|
+
if (trimmed) log.debug(`session=${sessionId} stderr: ${trimmed.slice(0, 500)}`);
|
|
1261
1403
|
};
|
|
1262
|
-
if (hasMcp) {
|
|
1263
|
-
console.log(`[sdk] session=${sessionId} mcpServers: ${Object.keys(mcpServers).join(", ")}`);
|
|
1264
|
-
}
|
|
1265
1404
|
|
|
1266
1405
|
const queryOptions = this.buildQueryOptions({
|
|
1267
1406
|
// First message: create session with this ID. Subsequent: resume by same ID.
|
|
@@ -1330,7 +1469,7 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
1330
1469
|
// A new session's first attempt takes over the CLI `prewarm` started for it, if that
|
|
1331
1470
|
// is exactly the process it would have spawned; otherwise it spawns one as always.
|
|
1332
1471
|
const spare = crashRetryCount === 0 && isFirstMessage && !shouldFork
|
|
1333
|
-
? this.warmSpares.adopt(sessionId, spawnFingerprint(queryOptions), { canUseTool, preToolUse: preToolUseHook, stderr: stderrCallback })
|
|
1472
|
+
? this.warmSpares.adopt(sessionId, spawnFingerprint(withSessionTokenMasked(queryOptions)), { canUseTool, preToolUse: preToolUseHook, fileWrite: fileWriteHook, shellCommand: shellCommandHook, stderr: stderrCallback })
|
|
1334
1473
|
: undefined;
|
|
1335
1474
|
const channel = spare ? undefined : createMessageChannel();
|
|
1336
1475
|
const initialCtrl = spare?.controller ?? channel!.controller;
|
|
@@ -1344,15 +1483,17 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
1344
1483
|
prompt: channel!.generator,
|
|
1345
1484
|
options: {
|
|
1346
1485
|
...queryOptions,
|
|
1347
|
-
|
|
1486
|
+
hooks: queryHooks,
|
|
1348
1487
|
canUseTool,
|
|
1349
1488
|
} as any,
|
|
1350
1489
|
});
|
|
1351
|
-
|
|
1490
|
+
// The query's one start line: a warm CLI and the MCP servers belong to it.
|
|
1491
|
+
log.info(`query: session=${sessionId} isFirst=${isFirstMessage} fork=${shouldFork} cwd=${effectiveCwd} platform=${process.platform} accountMode=${!!account} permissionMode=${permissionMode} isBypass=${isBypass}`
|
|
1492
|
+
+ ` cli=${spare ? `warm ageMs=${spare.ageMs}` : "cold"}${crashRetryCount > 0 ? ` crashRetry=${crashRetryCount}` : ""} mcp=${Object.keys(mcpServers).join(",") || "none"}`);
|
|
1352
1493
|
this.streamingSessions.set(sessionId, { meta, query: initialQuery, controller: initialCtrl, lastUserContent: initContent, lastUserImages: initImages });
|
|
1353
1494
|
this.activeQueries.set(sessionId, initialQuery);
|
|
1354
1495
|
let eventSource: AsyncIterable<any> = initialQuery;
|
|
1355
|
-
|
|
1496
|
+
log.debug(`session=${sessionId} query() created, waiting for first SDK event...`);
|
|
1356
1497
|
|
|
1357
1498
|
// Helper: close the CURRENT streaming session (not stale closure refs).
|
|
1358
1499
|
// All retry paths must use this instead of closing captured variables directly.
|
|
@@ -1375,7 +1516,7 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
1375
1516
|
const opts = { ...queryOptions, sessionId: undefined, resume: sessionId, env };
|
|
1376
1517
|
const rq = query({
|
|
1377
1518
|
prompt: generator,
|
|
1378
|
-
options: { ...opts,
|
|
1519
|
+
options: { ...opts, hooks: queryHooks, canUseTool } as any,
|
|
1379
1520
|
});
|
|
1380
1521
|
this.streamingSessions.set(sessionId, { meta, query: rq, controller, lastUserContent: retry.lastUserContent, lastUserImages: retry.lastUserImages });
|
|
1381
1522
|
this.activeQueries.set(sessionId, rq);
|
|
@@ -1385,6 +1526,8 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
1385
1526
|
let lastPartialText = "";
|
|
1386
1527
|
/** Number of tool_use blocks pending results (top-level tools only, not subagent children) */
|
|
1387
1528
|
let pendingToolCount = 0;
|
|
1529
|
+
/** A transcript that cannot be read fails every flush: WARNed once, DEBUG after. */
|
|
1530
|
+
let toolResultFlushWarned = false;
|
|
1388
1531
|
|
|
1389
1532
|
// Retry logic: if SDK returns error_during_execution with 0 turns on first event,
|
|
1390
1533
|
// it's a transient subprocess failure — retry once before surfacing the error.
|
|
@@ -1428,11 +1571,11 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
1428
1571
|
sdkEventCount++;
|
|
1429
1572
|
hadAnyEvents = true;
|
|
1430
1573
|
if (sdkEventCount === 1) {
|
|
1431
|
-
|
|
1574
|
+
log.debug(`session=${sessionId} first event received: type=${(msg as any).type} subtype=${(msg as any).subtype ?? "none"}`);
|
|
1432
1575
|
// Detect immediate failure: first event is a result with error + 0 turns
|
|
1433
1576
|
if ((msg as any).type === "result" && (msg as any).subtype === "error_during_execution" && ((msg as any).num_turns ?? 0) === 0 && retryCount < MAX_RETRIES) {
|
|
1434
1577
|
retryCount++;
|
|
1435
|
-
|
|
1578
|
+
log.warn(`transient error on first event — retrying (attempt ${retryCount}/${MAX_RETRIES})`);
|
|
1436
1579
|
// Close current streaming session (uses streamingSessions, not stale closure refs)
|
|
1437
1580
|
const retry1 = buildRetryMsg();
|
|
1438
1581
|
closeCurrentStream();
|
|
@@ -1442,7 +1585,7 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
1442
1585
|
const retryOpts = { ...queryOptions, sessionId: undefined, resume: sessionId };
|
|
1443
1586
|
const rq = query({
|
|
1444
1587
|
prompt: retryGen,
|
|
1445
|
-
options: { ...retryOpts,
|
|
1588
|
+
options: { ...retryOpts, hooks: queryHooks, canUseTool } as any,
|
|
1446
1589
|
});
|
|
1447
1590
|
this.streamingSessions.set(sessionId, { meta, query: rq, controller: retryCtrl, lastUserContent: retry1.lastUserContent, lastUserImages: retry1.lastUserImages });
|
|
1448
1591
|
this.activeQueries.set(sessionId, rq);
|
|
@@ -1458,17 +1601,21 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
1458
1601
|
yield approvalEvents.shift()!;
|
|
1459
1602
|
}
|
|
1460
1603
|
|
|
1461
|
-
// Log
|
|
1604
|
+
// Log system events for debugging SDK lifecycle: the subtype only, never the message.
|
|
1605
|
+
// thinking_tokens and status=requesting arrive at token rate, so not even at DEBUG.
|
|
1462
1606
|
if (msg.type === "system") {
|
|
1463
1607
|
const subtype = (msg as any).subtype ?? "none";
|
|
1464
|
-
|
|
1608
|
+
const sysStatus = subtype === "status" ? (msg as any).status : undefined;
|
|
1609
|
+
if (subtype !== "thinking_tokens" && sysStatus !== "requesting") {
|
|
1610
|
+
log.debug(`session=${sessionId} system subtype=${subtype}${sysStatus !== undefined ? ` status=${sysStatus}` : ""}`);
|
|
1611
|
+
}
|
|
1465
1612
|
|
|
1466
1613
|
if (subtype === "init") {
|
|
1467
1614
|
const sdkSid = (msg as any).session_id;
|
|
1468
1615
|
if (sdkSid && sdkSid !== sessionId) {
|
|
1469
|
-
|
|
1616
|
+
log.warn(`session=${sessionId} SDK returned different session_id=${sdkSid} — JSONL may be orphaned`);
|
|
1470
1617
|
} else {
|
|
1471
|
-
|
|
1618
|
+
log.debug(`session=${sessionId} init: sdk_session_id=${sdkSid}`);
|
|
1472
1619
|
}
|
|
1473
1620
|
// Carry each MCP server's connection state so the host can offer a sign-in
|
|
1474
1621
|
// for the ones reporting `needs-auth`.
|
|
@@ -1485,7 +1632,7 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
1485
1632
|
if (subtype === "status") {
|
|
1486
1633
|
const status = (msg as any).status;
|
|
1487
1634
|
if (status === "compacting") {
|
|
1488
|
-
|
|
1635
|
+
log.info(`session=${sessionId} COMPACTING`);
|
|
1489
1636
|
yield { type: "system" as const, subtype: "compacting" } as ChatEvent;
|
|
1490
1637
|
continue;
|
|
1491
1638
|
}
|
|
@@ -1494,7 +1641,7 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
1494
1641
|
// Detect compact boundary (compact finished, messages replaced in JSONL)
|
|
1495
1642
|
if (subtype === "compact_boundary") {
|
|
1496
1643
|
const meta = (msg as any).compact_metadata;
|
|
1497
|
-
|
|
1644
|
+
log.info(`session=${sessionId} COMPACT_BOUNDARY trigger=${meta?.trigger} pre_tokens=${meta?.pre_tokens}`);
|
|
1498
1645
|
compactedAt = Date.now();
|
|
1499
1646
|
yield { type: "system" as const, subtype: "compact_done" } as ChatEvent;
|
|
1500
1647
|
continue;
|
|
@@ -1524,7 +1671,7 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
1524
1671
|
const retryOpts = { ...queryOptions, sessionId: undefined, resume: sessionId, env: retryEnv };
|
|
1525
1672
|
const rq = query({
|
|
1526
1673
|
prompt: earlyAuthGen,
|
|
1527
|
-
options: { ...retryOpts,
|
|
1674
|
+
options: { ...retryOpts, hooks: queryHooks, canUseTool } as any,
|
|
1528
1675
|
});
|
|
1529
1676
|
this.streamingSessions.set(sessionId, { meta, query: rq, controller: earlyAuthCtrl, lastUserContent: retry2.lastUserContent, lastUserImages: retry2.lastUserImages });
|
|
1530
1677
|
this.activeQueries.set(sessionId, rq);
|
|
@@ -1532,7 +1679,7 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
1532
1679
|
continue retryLoop;
|
|
1533
1680
|
}
|
|
1534
1681
|
// No recovery possible — break immediately to avoid SDK internal 10x retry hang
|
|
1535
|
-
|
|
1682
|
+
log.error(`session=${sessionId} turn failed: 401 with no auth recovery left (api_retry) authRetries=${authRetryCount} account=${account.id}`);
|
|
1536
1683
|
yield { type: "error", message: "API authentication failed. Check your account credentials in Settings → Accounts." };
|
|
1537
1684
|
break;
|
|
1538
1685
|
}
|
|
@@ -1603,8 +1750,11 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
1603
1750
|
}
|
|
1604
1751
|
}
|
|
1605
1752
|
}
|
|
1606
|
-
} catch {
|
|
1607
|
-
// Session history unavailable — skip tool_results
|
|
1753
|
+
} catch (e) {
|
|
1754
|
+
// Session history unavailable — skip tool_results. Those cards never get a result.
|
|
1755
|
+
const line = `session=${sessionId} tool_result flush failed pending=${pendingToolCount}: ${(e as Error).message}`;
|
|
1756
|
+
if (toolResultFlushWarned) log.debug(line);
|
|
1757
|
+
else { toolResultFlushWarned = true; log.warn(line); }
|
|
1608
1758
|
}
|
|
1609
1759
|
pendingToolCount = 0;
|
|
1610
1760
|
}
|
|
@@ -1683,7 +1833,7 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
1683
1833
|
const textContent = this.extractAssistantText(msg);
|
|
1684
1834
|
if (textContent && /API Error:\s*401\b/i.test(textContent)) {
|
|
1685
1835
|
assistantError = "authentication_failed";
|
|
1686
|
-
|
|
1836
|
+
log.warn(`session=${sessionId} detected 401 in assistant text content — treating as auth error`);
|
|
1687
1837
|
} else if (textContent && /hit your (?:[\w-]+\s+)*limit/i.test(textContent)) {
|
|
1688
1838
|
// A hard usage/session limit carries a reset time ("...resets 10:10am").
|
|
1689
1839
|
// Treat those as usage_limit (switch accounts, don't backoff-loop); only
|
|
@@ -1693,10 +1843,10 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
1693
1843
|
assistantError = "usage_limit";
|
|
1694
1844
|
usageLimitResetText = reset.text;
|
|
1695
1845
|
usageLimitResetAtMs = reset.atMs;
|
|
1696
|
-
|
|
1846
|
+
log.warn(`session=${sessionId} detected usage/session limit (resets ${reset.text ?? "?"}) — will switch account, no backoff loop`);
|
|
1697
1847
|
} else {
|
|
1698
1848
|
assistantError = "rate_limit";
|
|
1699
|
-
|
|
1849
|
+
log.warn(`session=${sessionId} detected quota limit in assistant text content — treating as rate_limit`);
|
|
1700
1850
|
}
|
|
1701
1851
|
} else if (textContent && /API Error:\s*5\d{2}\b/i.test(textContent)) {
|
|
1702
1852
|
// 5xx (e.g. 529 Overloaded) — match the explicit "API Error: 5xx" text only.
|
|
@@ -1705,7 +1855,7 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
1705
1855
|
// isApiErrorMessage alone — that flag is also set for non-retryable 4xx errors
|
|
1706
1856
|
// (e.g. billing/invalid_request), which must surface immediately, not retry.
|
|
1707
1857
|
assistantError = "server_error";
|
|
1708
|
-
|
|
1858
|
+
log.warn(`session=${sessionId} detected API 5xx server error — treating as server_error`);
|
|
1709
1859
|
}
|
|
1710
1860
|
}
|
|
1711
1861
|
|
|
@@ -1716,13 +1866,17 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
1716
1866
|
// as-is. See image-limit-detection.ts for why wording alone is not enough.
|
|
1717
1867
|
if (isImageLimitRejection(msg)) {
|
|
1718
1868
|
assistantError = "image_limit";
|
|
1719
|
-
|
|
1869
|
+
log.warn(`session=${sessionId} API rejected an image in the replayed transcript — will strip and retry`);
|
|
1720
1870
|
}
|
|
1721
1871
|
|
|
1722
1872
|
if (assistantError) {
|
|
1723
|
-
//
|
|
1724
|
-
|
|
1725
|
-
|
|
1873
|
+
// WARN: recovery is tried below, and the branch that gives up says so at ERROR.
|
|
1874
|
+
log.warn(`session=${sessionId} assistant error=${assistantError} account=${account?.id ?? "none"} retry=${retryCount} isFirst=${isFirstMessage}`);
|
|
1875
|
+
// The ids around the error, never the message: its content is the assistant's reply.
|
|
1876
|
+
if (log.isEnabled("debug")) {
|
|
1877
|
+
const m = (msg as any).message;
|
|
1878
|
+
log.debug(`session=${sessionId} assistant error message: ${JSON.stringify({ id: m?.id, model: m?.model, stop_reason: m?.stop_reason, error: (msg as any).error, usage: m?.usage })}`);
|
|
1879
|
+
}
|
|
1726
1880
|
|
|
1727
1881
|
// OAuth token expired — refresh (and/or switch account) and retry
|
|
1728
1882
|
if (assistantError === "authentication_failed" && account) {
|
|
@@ -1744,7 +1898,7 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
1744
1898
|
const retryOpts = { ...queryOptions, sessionId: undefined, resume: sessionId, env: retryEnv };
|
|
1745
1899
|
const rq = query({
|
|
1746
1900
|
prompt: authRetryGen,
|
|
1747
|
-
options: { ...retryOpts,
|
|
1901
|
+
options: { ...retryOpts, hooks: queryHooks, canUseTool } as any,
|
|
1748
1902
|
});
|
|
1749
1903
|
this.streamingSessions.set(sessionId, { meta, query: rq, controller: authRetryCtrl, lastUserContent: retry3.lastUserContent, lastUserImages: retry3.lastUserImages });
|
|
1750
1904
|
this.activeQueries.set(sessionId, rq);
|
|
@@ -1752,7 +1906,7 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
1752
1906
|
continue retryLoop;
|
|
1753
1907
|
}
|
|
1754
1908
|
// All recovery exhausted — tear down streaming session
|
|
1755
|
-
|
|
1909
|
+
log.error(`session=${sessionId} turn failed: authentication failed after ${authRetryCount} recovery attempts account=${account.id}`);
|
|
1756
1910
|
yield { type: "error", message: "API authentication failed. Check your account credentials in Settings → Accounts." };
|
|
1757
1911
|
break;
|
|
1758
1912
|
}
|
|
@@ -1768,7 +1922,7 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
1768
1922
|
if (nextAccount) {
|
|
1769
1923
|
account = nextAccount;
|
|
1770
1924
|
const label = nextAccount.label ?? nextAccount.email ?? "Unknown";
|
|
1771
|
-
|
|
1925
|
+
log.warn(`session=${sessionId} usage limit — switching to fresh account ${nextAccount.id}, no backoff`);
|
|
1772
1926
|
// The bound account is exhausted until its reset — move the session.
|
|
1773
1927
|
accountSelector.bindSession(sessionId, nextAccount.id);
|
|
1774
1928
|
yield { type: "account_retry" as const, reason: `Usage limit reached — switching account`, accountId: nextAccount.id, accountLabel: label };
|
|
@@ -1781,7 +1935,7 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
1781
1935
|
const retryOpts = { ...queryOptions, sessionId: undefined, resume: sessionId, env: ulRetryEnv };
|
|
1782
1936
|
const rq = query({
|
|
1783
1937
|
prompt: ulRetryGen,
|
|
1784
|
-
options: { ...retryOpts,
|
|
1938
|
+
options: { ...retryOpts, hooks: queryHooks, canUseTool } as any,
|
|
1785
1939
|
});
|
|
1786
1940
|
this.streamingSessions.set(sessionId, { meta, query: rq, controller: ulRetryCtrl, lastUserContent: retryU.lastUserContent, lastUserImages: retryU.lastUserImages });
|
|
1787
1941
|
this.activeQueries.set(sessionId, rq);
|
|
@@ -1790,7 +1944,7 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
1790
1944
|
}
|
|
1791
1945
|
// No fresh account left — stop. One clear error, no retry loop.
|
|
1792
1946
|
const resetSuffix = usageLimitResetText ? ` Resets ${usageLimitResetText}.` : "";
|
|
1793
|
-
|
|
1947
|
+
log.error(`session=${sessionId} turn failed: usage limit, no fresh account left accountsTried=${usageLimitedAccounts.size}`);
|
|
1794
1948
|
yield { type: "error", message: `All accounts have hit their usage limit.${resetSuffix} Add another account in Settings → Accounts or wait for the reset.` };
|
|
1795
1949
|
break;
|
|
1796
1950
|
}
|
|
@@ -1800,7 +1954,7 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
1800
1954
|
if (assistantError === "server_error" && rateLimitRetryCount < MAX_RATE_LIMIT_RETRIES) {
|
|
1801
1955
|
const backoff = RATE_LIMIT_BACKOFF_MS[rateLimitRetryCount] ?? 60_000;
|
|
1802
1956
|
rateLimitRetryCount++;
|
|
1803
|
-
|
|
1957
|
+
log.warn(`session=${sessionId} server error — retrying same account in ${backoff / 1000}s (attempt ${rateLimitRetryCount}/${MAX_RATE_LIMIT_RETRIES})`);
|
|
1804
1958
|
yield { type: "status_update", phase: "retrying", message: `Đang thử lại (${rateLimitRetryCount}/${MAX_RATE_LIMIT_RETRIES})...` };
|
|
1805
1959
|
await new Promise((r) => setTimeout(r, backoff));
|
|
1806
1960
|
eventSource = rebuildQuery(account);
|
|
@@ -1826,13 +1980,13 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
1826
1980
|
if (rateLimitedAccounts.size <= 1 && rateLimitRetryCount < MAX_RATE_LIMIT_RETRIES) {
|
|
1827
1981
|
const backoff = RATE_LIMIT_BACKOFF_MS[rateLimitRetryCount] ?? 60_000;
|
|
1828
1982
|
rateLimitRetryCount++;
|
|
1829
|
-
|
|
1983
|
+
log.warn(`session=${sessionId} rate limited — single account, retrying in ${backoff / 1000}s (attempt ${rateLimitRetryCount}/${MAX_RATE_LIMIT_RETRIES})`);
|
|
1830
1984
|
yield { type: "status_update", phase: "retrying", message: `Đang thử lại (${rateLimitRetryCount}/${MAX_RATE_LIMIT_RETRIES})...` };
|
|
1831
1985
|
await new Promise((r) => setTimeout(r, backoff));
|
|
1832
1986
|
eventSource = rebuildQuery(account);
|
|
1833
1987
|
continue retryLoop;
|
|
1834
1988
|
}
|
|
1835
|
-
|
|
1989
|
+
log.error(`session=${sessionId} turn failed: rate limited, all accounts exhausted accountsTried=${rateLimitedAccounts.size}`);
|
|
1836
1990
|
yield { type: "error", message: "All accounts are rate limited right now. Add another account in Settings → Accounts, or wait for the limit to reset." };
|
|
1837
1991
|
break;
|
|
1838
1992
|
}
|
|
@@ -1861,16 +2015,16 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
1861
2015
|
// A refused rewrite says nothing about what is in the file, so escalating on
|
|
1862
2016
|
// it would delete more than the evidence justifies. Stop and report instead.
|
|
1863
2017
|
if (stripped.failed) break;
|
|
1864
|
-
|
|
2018
|
+
log.warn(`session=${sessionId} strip pass ${stripPass}/${STRIP_PASSES.length} removed nothing (${stripped.reason})`);
|
|
1865
2019
|
}
|
|
1866
2020
|
|
|
1867
2021
|
if (!stripped || stripped.removed === 0) {
|
|
1868
2022
|
const reason = stripped?.reason || "no images left to remove";
|
|
1869
|
-
|
|
2023
|
+
log.error(`session=${sessionId} turn failed: the API refused an image and nothing was left to strip (${reason})`);
|
|
1870
2024
|
yield { type: "error", message: `The API refused an image in this conversation, but nothing could be removed automatically (${reason}). Open Session debug to remove images yourself, start a new session, or use /compact to summarise the history away.` };
|
|
1871
2025
|
break;
|
|
1872
2026
|
}
|
|
1873
|
-
|
|
2027
|
+
log.warn(`session=${sessionId} stripped ${stripped.removed} image(s), ${(stripped.bytesFreed / 1048576).toFixed(2)}MB — retrying turn`);
|
|
1874
2028
|
eventSource = rebuildQuery(account);
|
|
1875
2029
|
continue retryLoop;
|
|
1876
2030
|
}
|
|
@@ -1883,7 +2037,10 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
1883
2037
|
server_error: `Anthropic API server error. Retried ${MAX_RATE_LIMIT_RETRIES} times without success.`,
|
|
1884
2038
|
unknown: `API error in project "${effectiveCwd}". Debug:\n1. Run: \`cd ${effectiveCwd} && claude -p "hi"\`\n2. Check env: \`echo $ANTHROPIC_API_KEY $ANTHROPIC_BASE_URL\` — stale/invalid keys cause this\n3. Try: \`ANTHROPIC_API_KEY="" ANTHROPIC_BASE_URL="" claude -p "hi"\`\n4. Refresh auth: \`claude login\``,
|
|
1885
2039
|
};
|
|
1886
|
-
|
|
2040
|
+
// A refusal also arrives as invalid_request, and the CLI's own text is the only place
|
|
2041
|
+
// that says why and what to do next (rephrase in a new session, or change the model).
|
|
2042
|
+
const refusalText = (msg as any).message?.stop_reason === "refusal" ? this.extractAssistantText(msg) : "";
|
|
2043
|
+
const hint = refusalText || (errorHints[assistantError] ?? `API error: ${assistantError}`);
|
|
1887
2044
|
yield { type: "error", message: hint };
|
|
1888
2045
|
// Skip emitting the raw 401 error as text content — already shown as error event
|
|
1889
2046
|
continue;
|
|
@@ -1931,6 +2088,22 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
1931
2088
|
if (rateLimitType && utilization != null) {
|
|
1932
2089
|
updateFromSdkEvent(rateLimitType, utilization);
|
|
1933
2090
|
}
|
|
2091
|
+
// The API's own quota signal, said when it changes. A first `allowed` is no news.
|
|
2092
|
+
const status = info.status as string | undefined;
|
|
2093
|
+
const key = `${account?.id ?? "env"}:${rateLimitType ?? "unknown"}`;
|
|
2094
|
+
const previous = this.rateLimitStatus.get(key);
|
|
2095
|
+
if (status && status !== previous) {
|
|
2096
|
+
this.rateLimitStatus.set(key, status);
|
|
2097
|
+
if (previous !== undefined || status !== "allowed") {
|
|
2098
|
+
// Seconds or milliseconds; an unreadable value is left out rather than thrown on.
|
|
2099
|
+
const resetsAt = typeof info.resetsAt === "number" ? new Date(info.resetsAt < 1e12 ? info.resetsAt * 1000 : info.resetsAt) : undefined;
|
|
2100
|
+
const line = `session=${sessionId} account=${account?.id ?? "none"} rate limit ${rateLimitType ?? "unknown"} status=${status}`
|
|
2101
|
+
+ (utilization != null ? ` util=${utilization}` : "")
|
|
2102
|
+
+ (resetsAt && !isNaN(resetsAt.getTime()) ? ` resetsAt=${resetsAt.toISOString()}` : "");
|
|
2103
|
+
if (status === "allowed") log.info(line);
|
|
2104
|
+
else log.warn(line);
|
|
2105
|
+
}
|
|
2106
|
+
}
|
|
1934
2107
|
}
|
|
1935
2108
|
continue;
|
|
1936
2109
|
}
|
|
@@ -1954,13 +2127,13 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
1954
2127
|
if (rateLimitedAccounts.size <= 1 && rateLimitRetryCount < MAX_RATE_LIMIT_RETRIES) {
|
|
1955
2128
|
const backoff = RATE_LIMIT_BACKOFF_MS[rateLimitRetryCount] ?? 60_000;
|
|
1956
2129
|
rateLimitRetryCount++;
|
|
1957
|
-
|
|
2130
|
+
log.warn(`session=${sessionId} result 429 — single account, retrying in ${backoff / 1000}s (attempt ${rateLimitRetryCount}/${MAX_RATE_LIMIT_RETRIES})`);
|
|
1958
2131
|
yield { type: "status_update", phase: "retrying", message: `Đang thử lại (${rateLimitRetryCount}/${MAX_RATE_LIMIT_RETRIES})...` };
|
|
1959
2132
|
await new Promise((r) => setTimeout(r, backoff));
|
|
1960
2133
|
eventSource = rebuildQuery(account);
|
|
1961
2134
|
continue retryLoop;
|
|
1962
2135
|
}
|
|
1963
|
-
|
|
2136
|
+
log.error(`session=${sessionId} turn failed: result 429, all accounts exhausted accountsTried=${rateLimitedAccounts.size}`);
|
|
1964
2137
|
yield { type: "error", message: "All accounts are rate limited right now. Add another account in Settings → Accounts, or wait for the limit to reset." };
|
|
1965
2138
|
continue;
|
|
1966
2139
|
} else if (errCode === 401) {
|
|
@@ -1983,7 +2156,7 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
1983
2156
|
const retryOpts = { ...queryOptions, sessionId: undefined, resume: sessionId, env: retryEnv };
|
|
1984
2157
|
const rq = query({
|
|
1985
2158
|
prompt: authRetryGen2,
|
|
1986
|
-
options: { ...retryOpts,
|
|
2159
|
+
options: { ...retryOpts, hooks: queryHooks, canUseTool } as any,
|
|
1987
2160
|
});
|
|
1988
2161
|
this.streamingSessions.set(sessionId, { meta, query: rq, controller: authRetryCtrl2, lastUserContent: retry6.lastUserContent, lastUserImages: retry6.lastUserImages });
|
|
1989
2162
|
this.activeQueries.set(sessionId, rq);
|
|
@@ -2022,7 +2195,11 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
2022
2195
|
}
|
|
2023
2196
|
}
|
|
2024
2197
|
}
|
|
2025
|
-
} catch {
|
|
2198
|
+
} catch (e) {
|
|
2199
|
+
const line = `session=${sessionId} tool_result flush failed pending=${pendingToolCount}: ${(e as Error).message}`;
|
|
2200
|
+
if (toolResultFlushWarned) log.debug(line);
|
|
2201
|
+
else { toolResultFlushWarned = true; log.warn(line); }
|
|
2202
|
+
}
|
|
2026
2203
|
pendingToolCount = 0;
|
|
2027
2204
|
}
|
|
2028
2205
|
|
|
@@ -2042,7 +2219,7 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
2042
2219
|
&& (result.num_turns ?? 0) === 0
|
|
2043
2220
|
&& !assistantContent
|
|
2044
2221
|
) {
|
|
2045
|
-
|
|
2222
|
+
log.info(`session=${sessionId} ignoring empty task-notification result (no turn ran)`);
|
|
2046
2223
|
continue;
|
|
2047
2224
|
}
|
|
2048
2225
|
|
|
@@ -2058,7 +2235,7 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
2058
2235
|
const errorsArr0 = Array.isArray(result.errors) ? result.errors : [];
|
|
2059
2236
|
const abortDetail = errorsArr0.join(" ") + " " + (typeof result.error === "string" ? result.error : "");
|
|
2060
2237
|
if (subtype === "error_during_execution" && /abort|request was aborted/i.test(abortDetail)) {
|
|
2061
|
-
|
|
2238
|
+
log.info(`session=${sessionId} suppressing abort error (user-initiated cancel)`);
|
|
2062
2239
|
resultSubtype = subtype;
|
|
2063
2240
|
resultNumTurns = result.num_turns as number | undefined;
|
|
2064
2241
|
break;
|
|
@@ -2068,9 +2245,9 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
2068
2245
|
const sdkDetail = errorsArr.length > 0
|
|
2069
2246
|
? errorsArr.join("\n")
|
|
2070
2247
|
: (typeof result.error === "string" ? result.error : "");
|
|
2071
|
-
|
|
2072
|
-
|
|
2073
|
-
|
|
2248
|
+
log.error(`session=${sessionId} result error: subtype=${subtype} turns=${result.num_turns ?? 0} detail=${JSON.stringify((sdkDetail || "(none)").slice(0, 500))}`);
|
|
2249
|
+
// Never the whole result: `result` is the reply and `permission_denials` holds tool inputs.
|
|
2250
|
+
if (log.isEnabled("debug")) log.debug(`session=${sessionId} result: ${resultLogFields(result)}`);
|
|
2074
2251
|
const errorMessages: Record<string, string> = {
|
|
2075
2252
|
error_max_turns: "Agent reached maximum turn limit.",
|
|
2076
2253
|
error_max_budget_usd: "Agent reached budget limit.",
|
|
@@ -2100,8 +2277,8 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
2100
2277
|
if ((!subtype || subtype === "success") && (result.num_turns ?? 0) === 0 && !assistantContent) {
|
|
2101
2278
|
// SDK success result has `result: string` containing final text
|
|
2102
2279
|
const resultText = typeof result.result === "string" ? result.result : "";
|
|
2103
|
-
|
|
2104
|
-
|
|
2280
|
+
log.error(`session=${sessionId} turn produced no response (0 turns) result=${JSON.stringify(resultText.slice(0, 200))}`);
|
|
2281
|
+
if (log.isEnabled("debug")) log.debug(`session=${sessionId} result: ${resultLogFields(result)}`);
|
|
2105
2282
|
const hint = resultText
|
|
2106
2283
|
? `Claude returned: "${resultText}"\nThis may indicate a session or connection issue. Try creating a new chat session.`
|
|
2107
2284
|
: "Claude returned no response (0 turns). This usually means the API connection failed silently. Check that `claude` CLI works in your terminal, or try creating a new chat session.";
|
|
@@ -2150,7 +2327,7 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
2150
2327
|
});
|
|
2151
2328
|
coldReasonForNextResult = undefined;
|
|
2152
2329
|
if (turnUsage) {
|
|
2153
|
-
|
|
2330
|
+
usageLog.info(`session=${sessionId} ${formatTurnUsageLog(turnUsage)}`);
|
|
2154
2331
|
try {
|
|
2155
2332
|
insertTurnUsage({
|
|
2156
2333
|
sessionId,
|
|
@@ -2171,7 +2348,7 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
2171
2348
|
});
|
|
2172
2349
|
} catch (err) {
|
|
2173
2350
|
// Accounting must never break a turn that already succeeded.
|
|
2174
|
-
|
|
2351
|
+
usageLog.warn(`session=${sessionId} failed to persist turn usage: ${(err as Error).message}`);
|
|
2175
2352
|
}
|
|
2176
2353
|
}
|
|
2177
2354
|
|
|
@@ -2223,28 +2400,30 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
2223
2400
|
} catch (crashErr) {
|
|
2224
2401
|
const crashMsg = (crashErr as Error).message ?? String(crashErr);
|
|
2225
2402
|
const stderrInfo = stderrBuffer.trim() ? ` stderr: ${stderrBuffer.trim().slice(-500)}` : "";
|
|
2226
|
-
console.error(`[sdk] session=${sessionId} cwd=${meta.projectPath} error: ${crashMsg}${stderrInfo}`);
|
|
2227
2403
|
|
|
2228
2404
|
// Clean up crashed subprocess before retry or error
|
|
2229
2405
|
this.activeQueries.delete(sessionId);
|
|
2230
2406
|
const ss = this.streamingSessions.get(sessionId);
|
|
2231
2407
|
if (ss) { ss.controller.done(); ss.query.close(); this.streamingSessions.delete(sessionId); }
|
|
2232
|
-
|
|
2408
|
+
log.debug(`session=${sessionId} streaming session ended`);
|
|
2233
2409
|
|
|
2410
|
+
// Each case below logs itself: a cancel or a closed socket is not a failure.
|
|
2234
2411
|
if (crashMsg.includes("abort") || crashMsg.includes("closed")) {
|
|
2235
2412
|
// User-initiated abort or WS closed — nothing to report
|
|
2413
|
+
log.info(`session=${sessionId} query closed: ${crashMsg}`);
|
|
2236
2414
|
} else if (crashMsg.includes("exited with code") && crashRetryCount < MAX_CRASH_RETRIES) {
|
|
2237
2415
|
// Subprocess crashed — auto-retry once before surfacing the error
|
|
2238
2416
|
crashRetryCount++;
|
|
2239
|
-
|
|
2417
|
+
log.warn(`session=${sessionId} subprocess crashed: ${crashMsg} — auto-retrying (attempt ${crashRetryCount}/${MAX_CRASH_RETRIES})${stderrInfo}`);
|
|
2240
2418
|
stderrBuffer = ""; // Reset for retry
|
|
2241
2419
|
await new Promise((r) => setTimeout(r, 1000));
|
|
2242
2420
|
continue crashRetryLoop;
|
|
2243
2421
|
} else if (crashMsg.includes("exited with code")) {
|
|
2244
|
-
|
|
2422
|
+
log.error(`session=${sessionId} CLI crashed after retry: ${crashMsg}${stderrInfo}`);
|
|
2245
2423
|
const userHint = stderrInfo ? ` (${stderrBuffer.trim().slice(-200)})` : "";
|
|
2246
2424
|
yield { type: "error", message: `SDK subprocess crashed.${userHint} Send another message to auto-recover.` };
|
|
2247
2425
|
} else {
|
|
2426
|
+
log.error(`session=${sessionId} cwd=${meta.projectPath} error: ${crashMsg}${stderrInfo}`);
|
|
2248
2427
|
yield { type: "error", message: `SDK error: ${crashMsg}` };
|
|
2249
2428
|
}
|
|
2250
2429
|
break crashRetryLoop; // Exit after error handling (non-retryable)
|
|
@@ -2254,7 +2433,7 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
2254
2433
|
} catch (outerErr) {
|
|
2255
2434
|
// Setup errors (account auth, env) — not retryable
|
|
2256
2435
|
const msg = (outerErr as Error).message ?? String(outerErr);
|
|
2257
|
-
|
|
2436
|
+
log.error(`session=${sessionId} setup error: ${msg}`);
|
|
2258
2437
|
yield { type: "error", message: `SDK error: ${msg}` };
|
|
2259
2438
|
} finally {
|
|
2260
2439
|
// Final cleanup — ensure no leaked streaming session
|
|
@@ -2319,7 +2498,7 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
2319
2498
|
...(Object.keys(mcpServers).length > 0 && { mcpServers }),
|
|
2320
2499
|
stderr: (chunk: string) => {
|
|
2321
2500
|
const line = chunk.trim();
|
|
2322
|
-
if (line)
|
|
2501
|
+
if (line) mcpControlLog.debug(`stderr: ${line.slice(0, 300)}`);
|
|
2323
2502
|
},
|
|
2324
2503
|
} as any,
|
|
2325
2504
|
});
|
|
@@ -2346,7 +2525,7 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
2346
2525
|
try {
|
|
2347
2526
|
await ss.query.reconnectMcpServer(serverName);
|
|
2348
2527
|
} catch (e) {
|
|
2349
|
-
|
|
2528
|
+
log.warn(`session=${sessionId} reconnectMcpServer(${serverName}) failed: ${(e as Error).message}`);
|
|
2350
2529
|
}
|
|
2351
2530
|
try {
|
|
2352
2531
|
const statuses: Array<{ name: string; status: string }> = await ss.query.mcpServerStatus();
|
|
@@ -2358,8 +2537,6 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
2358
2537
|
|
|
2359
2538
|
/** Abort and fully teardown the streaming session — user must resume to continue */
|
|
2360
2539
|
abortQuery(sessionId: string, source = "unknown"): void {
|
|
2361
|
-
// Capture stack to identify caller during debugging intermittent abort bugs
|
|
2362
|
-
const stack = new Error().stack?.split("\n").slice(2, 5).join(" | ").replace(/\s+/g, " ") ?? "no-stack";
|
|
2363
2540
|
const ss = this.streamingSessions.get(sessionId);
|
|
2364
2541
|
if (ss) {
|
|
2365
2542
|
// Signal generator to end, then close the query (kills bun subprocess)
|
|
@@ -2368,7 +2545,12 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
2368
2545
|
this.streamingSessions.delete(sessionId);
|
|
2369
2546
|
this.activeQueries.delete(sessionId);
|
|
2370
2547
|
this.teardownReasons.set(sessionId, source);
|
|
2371
|
-
|
|
2548
|
+
log.info(`abortQuery: closed streaming session=${sessionId} source=${source}`);
|
|
2549
|
+
// Capture stack to identify caller during debugging intermittent abort bugs
|
|
2550
|
+
if (log.isEnabled("debug")) {
|
|
2551
|
+
const stack = new Error().stack?.split("\n").slice(2, 5).join(" | ").replace(/\s+/g, " ") ?? "no-stack";
|
|
2552
|
+
log.debug(`abortQuery: session=${sessionId} stack=${stack}`);
|
|
2553
|
+
}
|
|
2372
2554
|
return;
|
|
2373
2555
|
}
|
|
2374
2556
|
// Non-streaming fallback
|
|
@@ -2376,7 +2558,7 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
2376
2558
|
if (q) {
|
|
2377
2559
|
q.close();
|
|
2378
2560
|
this.activeQueries.delete(sessionId);
|
|
2379
|
-
|
|
2561
|
+
log.info(`abortQuery: closed non-streaming session=${sessionId} source=${source}`);
|
|
2380
2562
|
}
|
|
2381
2563
|
}
|
|
2382
2564
|
|
|
@@ -2411,7 +2593,7 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
2411
2593
|
// the point is that most of it goes unread.
|
|
2412
2594
|
const fromByte = fullParseWindow(file, opts?.maxBytes);
|
|
2413
2595
|
if (fromByte > 0) {
|
|
2414
|
-
|
|
2596
|
+
log.warn(`getFullMessages: ${sessionId} transcript is over the full-parse bound — indexing from byte ${fromByte} on, older segments stay out of the index`);
|
|
2415
2597
|
}
|
|
2416
2598
|
try {
|
|
2417
2599
|
const fromFile = await parseJsonlTranscript(file, undefined, { fromByte });
|
|
@@ -2426,19 +2608,7 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
2426
2608
|
const messages = await getSessionMessages(sessionId);
|
|
2427
2609
|
const parsed = messages.map((msg) => parseSessionMessage(msg));
|
|
2428
2610
|
|
|
2429
|
-
|
|
2430
|
-
const merged: ChatMessage[] = [];
|
|
2431
|
-
for (const msg of parsed) {
|
|
2432
|
-
if (msg.events?.length && msg.events.every((e) => e.type === "tool_result")) {
|
|
2433
|
-
// This is a tool_result-only message — append events to last assistant
|
|
2434
|
-
const lastAssistant = [...merged].reverse().find((m) => m.role === "assistant");
|
|
2435
|
-
if (lastAssistant?.events) {
|
|
2436
|
-
lastAssistant.events.push(...msg.events);
|
|
2437
|
-
continue;
|
|
2438
|
-
}
|
|
2439
|
-
}
|
|
2440
|
-
merged.push(msg);
|
|
2441
|
-
}
|
|
2611
|
+
const merged = mergeToolResultMessages(parsed);
|
|
2442
2612
|
|
|
2443
2613
|
// Nest child events under their parent Agent/Task tool_use's children array.
|
|
2444
2614
|
// Cross-message: a backgrounded subagent's events land in later messages
|
|
@@ -2464,7 +2634,9 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
2464
2634
|
return merged.filter(
|
|
2465
2635
|
(msg) => msg.content.trim().length > 0 || (msg.events && msg.events.length > 0),
|
|
2466
2636
|
);
|
|
2467
|
-
} catch {
|
|
2637
|
+
} catch (e) {
|
|
2638
|
+
// Returned as an empty chat, as before: this is the only place that says why.
|
|
2639
|
+
log.error(`session=${sessionId} getMessages failed:`, e);
|
|
2468
2640
|
return [];
|
|
2469
2641
|
}
|
|
2470
2642
|
}
|
|
@@ -2498,8 +2670,29 @@ async function listAllSdkSessions(
|
|
|
2498
2670
|
* We extract title from queue-operation content or first user message.
|
|
2499
2671
|
*/
|
|
2500
2672
|
// Cache findMissingSessions results to avoid thousands of sync FS reads per request
|
|
2673
|
+
/**
|
|
2674
|
+
* A result message for a DEBUG line: ids, counts and usage. Never `result` (the reply's text)
|
|
2675
|
+
* or `permission_denials` (the inputs of the tools that were refused).
|
|
2676
|
+
*/
|
|
2677
|
+
function resultLogFields(result: any): string {
|
|
2678
|
+
return JSON.stringify({
|
|
2679
|
+
subtype: result.subtype,
|
|
2680
|
+
is_error: result.is_error,
|
|
2681
|
+
num_turns: result.num_turns,
|
|
2682
|
+
stop_reason: result.stop_reason,
|
|
2683
|
+
duration_ms: result.duration_ms,
|
|
2684
|
+
duration_api_ms: result.duration_api_ms,
|
|
2685
|
+
total_cost_usd: result.total_cost_usd,
|
|
2686
|
+
usage: result.usage,
|
|
2687
|
+
session_id: result.session_id,
|
|
2688
|
+
uuid: result.uuid,
|
|
2689
|
+
});
|
|
2690
|
+
}
|
|
2691
|
+
|
|
2501
2692
|
const missingSessionsCache = new Map<string, { sessions: SessionInfo[]; ts: number }>();
|
|
2502
2693
|
const MISSING_SESSIONS_TTL_MS = 60_000; // 60 seconds
|
|
2694
|
+
/** The listing failure last WARNed per directory, until a listing there succeeds again. */
|
|
2695
|
+
const listFailureWarned = new Map<string | undefined, string>();
|
|
2503
2696
|
|
|
2504
2697
|
const UUID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;
|
|
2505
2698
|
function findMissingSessions(
|