@hienlh/ppm 0.23.1 → 0.23.2
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 +10 -0
- package/CLAUDE.md +1 -0
- package/assets/skills/ppm/SKILL.md +1 -1
- package/assets/skills/ppm/references/cli-reference.md +4 -4
- package/assets/skills/ppm/references/http-api.md +1 -1
- package/dist/web/assets/abap-DWbETETF.js.br +0 -0
- package/dist/web/assets/abap-DWbETETF.js.gz +0 -0
- package/dist/web/assets/accounts-settings-section-Cs7BC5O1.js +1 -0
- package/dist/web/assets/accounts-settings-section-Cs7BC5O1.js.br +0 -0
- package/dist/web/assets/accounts-settings-section-Cs7BC5O1.js.gz +0 -0
- package/dist/web/assets/actionscript-3-C278tgAF.js.br +0 -0
- package/dist/web/assets/actionscript-3-C278tgAF.js.gz +0 -0
- package/dist/web/assets/ada-C_5J29IC.js.br +0 -0
- package/dist/web/assets/ada-C_5J29IC.js.gz +0 -0
- package/dist/web/assets/{ai-resource-editor-BFVg2d2a.js → ai-resource-editor-TCREp5Ml.js} +1 -1
- package/dist/web/assets/ai-resource-editor-TCREp5Ml.js.br +0 -0
- package/dist/web/assets/ai-resource-editor-TCREp5Ml.js.gz +0 -0
- package/dist/web/assets/{ai-settings-section-BJw7E_lM.js → ai-settings-section-B7Un4KiW.js} +1 -1
- package/dist/web/assets/ai-settings-section-B7Un4KiW.js.br +0 -0
- package/dist/web/assets/ai-settings-section-B7Un4KiW.js.gz +0 -0
- package/dist/web/assets/{ai-settings-section-CO-i3ghA.js → ai-settings-section-BlKlcihJ.js} +1 -1
- package/dist/web/assets/andromeeda-Ct0fb9Zo.js.br +0 -0
- package/dist/web/assets/andromeeda-Ct0fb9Zo.js.gz +0 -0
- package/dist/web/assets/angular-html-D-rbk4zq.js.br +0 -0
- package/dist/web/assets/angular-html-D-rbk4zq.js.gz +0 -0
- package/dist/web/assets/angular-ts-B_ldKah2.js.br +0 -0
- package/dist/web/assets/angular-ts-B_ldKah2.js.gz +0 -0
- package/dist/web/assets/apache-oMwCqc2o.js.br +0 -0
- package/dist/web/assets/apache-oMwCqc2o.js.gz +0 -0
- package/dist/web/assets/apex-n6XQQudq.js.br +0 -0
- package/dist/web/assets/apex-n6XQQudq.js.gz +0 -0
- package/dist/web/assets/api-client-c8YOpTlT.js.br +0 -0
- package/dist/web/assets/api-client-c8YOpTlT.js.gz +0 -0
- package/dist/web/assets/api-settings-0s1Rfgcu.js.br +1 -0
- package/dist/web/assets/api-settings-0s1Rfgcu.js.gz +0 -0
- package/dist/web/assets/apl-19Dr02g6.js.br +0 -0
- package/dist/web/assets/apl-19Dr02g6.js.gz +0 -0
- package/dist/web/assets/{appearance-settings-section-Ck_FPs9g.js → appearance-settings-section-DACtiDor.js} +1 -1
- package/dist/web/assets/appearance-settings-section-DACtiDor.js.br +0 -0
- package/dist/web/assets/appearance-settings-section-DACtiDor.js.gz +0 -0
- package/dist/web/assets/applescript-QDMA6blY.js.br +0 -0
- package/dist/web/assets/applescript-QDMA6blY.js.gz +0 -0
- package/dist/web/assets/ara-D6rg_rTp.js.br +0 -0
- package/dist/web/assets/ara-D6rg_rTp.js.gz +0 -0
- package/dist/web/assets/asciidoc-DVeBWv0S.js.br +0 -0
- package/dist/web/assets/asciidoc-DVeBWv0S.js.gz +0 -0
- package/dist/web/assets/asm-DzHQzzqu.js.br +0 -0
- package/dist/web/assets/asm-DzHQzzqu.js.gz +0 -0
- package/dist/web/assets/astro-1q5o0N64.js.br +0 -0
- package/dist/web/assets/astro-1q5o0N64.js.gz +0 -0
- package/dist/web/assets/audio-preview-DXtE1Lpz.js.br +0 -0
- package/dist/web/assets/audio-preview-DXtE1Lpz.js.gz +0 -0
- package/dist/web/assets/aurora-x-pJESoXa6.js.br +0 -0
- package/dist/web/assets/aurora-x-pJESoXa6.js.gz +0 -0
- package/dist/web/assets/awk-BwfK4mzn.js.br +0 -0
- package/dist/web/assets/awk-BwfK4mzn.js.gz +0 -0
- package/dist/web/assets/ayu-dark-CG-9c7ej.js.br +0 -0
- package/dist/web/assets/ayu-dark-CG-9c7ej.js.gz +0 -0
- package/dist/web/assets/ayu-light-BGUfMG6m.js.br +0 -0
- package/dist/web/assets/ayu-light-BGUfMG6m.js.gz +0 -0
- package/dist/web/assets/ayu-mirage-CMD89qy6.js.br +0 -0
- package/dist/web/assets/ayu-mirage-CMD89qy6.js.gz +0 -0
- package/dist/web/assets/ballerina-CP5gYaiB.js.br +0 -0
- package/dist/web/assets/ballerina-CP5gYaiB.js.gz +0 -0
- package/dist/web/assets/bat-DCRdiK45.js.br +0 -0
- package/dist/web/assets/bat-DCRdiK45.js.gz +0 -0
- package/dist/web/assets/beancount-DHkDiOKO.js.br +0 -0
- package/dist/web/assets/beancount-DHkDiOKO.js.gz +0 -0
- package/dist/web/assets/berry-B6TPldKS.js.br +0 -0
- package/dist/web/assets/berry-B6TPldKS.js.gz +0 -0
- package/dist/web/assets/bibtex-DIor8yh9.js.br +0 -0
- package/dist/web/assets/bibtex-DIor8yh9.js.gz +0 -0
- package/dist/web/assets/bicep-BbIdLZZ_.js.br +0 -0
- package/dist/web/assets/bicep-BbIdLZZ_.js.gz +0 -0
- package/dist/web/assets/bird2-C76TmOG1.js.br +0 -0
- package/dist/web/assets/bird2-C76TmOG1.js.gz +0 -0
- package/dist/web/assets/blade-BNgXZCCk.js.br +0 -0
- package/dist/web/assets/blade-BNgXZCCk.js.gz +0 -0
- package/dist/web/assets/{branch-review-tab-CNVxMRuo.js → branch-review-tab-vHJuFXtB.js} +1 -1
- package/dist/web/assets/branch-review-tab-vHJuFXtB.js.br +0 -0
- package/dist/web/assets/branch-review-tab-vHJuFXtB.js.gz +0 -0
- package/dist/web/assets/bsl-C5u8-gEq.js.br +0 -0
- package/dist/web/assets/bsl-C5u8-gEq.js.gz +0 -0
- package/dist/web/assets/button-CBehaXpV.js.br +0 -0
- package/dist/web/assets/button-CBehaXpV.js.gz +0 -0
- package/dist/web/assets/c-Dko4ZphN.js.br +0 -0
- package/dist/web/assets/c-Dko4ZphN.js.gz +0 -0
- package/dist/web/assets/c3-CqZ77xXr.js.br +0 -0
- package/dist/web/assets/c3-CqZ77xXr.js.gz +0 -0
- package/dist/web/assets/cadence-BlaAb6F6.js.br +0 -0
- package/dist/web/assets/cadence-BlaAb6F6.js.gz +0 -0
- package/dist/web/assets/cairo-CrhmfCJH.js.br +0 -0
- package/dist/web/assets/cairo-CrhmfCJH.js.gz +0 -0
- package/dist/web/assets/can-open-in-ppm-D8T6Xca-.js.br +0 -0
- package/dist/web/assets/can-open-in-ppm-D8T6Xca-.js.gz +0 -0
- package/dist/web/assets/catppuccin-frappe-BuV7Zg67.js.br +0 -0
- package/dist/web/assets/catppuccin-frappe-BuV7Zg67.js.gz +0 -0
- package/dist/web/assets/catppuccin-latte-B7HXEZf7.js.br +0 -0
- package/dist/web/assets/catppuccin-latte-B7HXEZf7.js.gz +0 -0
- package/dist/web/assets/catppuccin-macchiato-B0KctcoC.js.br +0 -0
- package/dist/web/assets/catppuccin-macchiato-B0KctcoC.js.gz +0 -0
- package/dist/web/assets/catppuccin-mocha-Bofr5rzo.js.br +0 -0
- package/dist/web/assets/catppuccin-mocha-Bofr5rzo.js.gz +0 -0
- package/dist/web/assets/{chat-tab-DqLqcBci.js → chat-tab-Ba3NvUgt.js} +1 -1
- package/dist/web/assets/chat-tab-Ba3NvUgt.js.br +0 -0
- package/dist/web/assets/chat-tab-Ba3NvUgt.js.gz +0 -0
- package/dist/web/assets/chat-tab-DeISufm0.js +15 -0
- package/dist/web/assets/chat-tab-DeISufm0.js.br +0 -0
- package/dist/web/assets/chat-tab-DeISufm0.js.gz +0 -0
- package/dist/web/assets/clarity-CerfZ3dW.js.br +0 -0
- package/dist/web/assets/clarity-CerfZ3dW.js.gz +0 -0
- package/dist/web/assets/clojure-BCEG1uj6.js.br +0 -0
- package/dist/web/assets/clojure-BCEG1uj6.js.gz +0 -0
- package/dist/web/assets/cmake-CRxSSKSr.js.br +0 -0
- package/dist/web/assets/cmake-CRxSSKSr.js.gz +0 -0
- package/dist/web/assets/cobol-BgRxrYyZ.js.br +0 -0
- package/dist/web/assets/cobol-BgRxrYyZ.js.gz +0 -0
- package/dist/web/assets/{code-editor-wEeCvvMR.js → code-editor-BCwiLVyc.js} +3 -3
- package/dist/web/assets/code-editor-BCwiLVyc.js.br +0 -0
- package/dist/web/assets/code-editor-BCwiLVyc.js.gz +0 -0
- package/dist/web/assets/codeql-DlnOpgWF.js.br +0 -0
- package/dist/web/assets/codeql-DlnOpgWF.js.gz +0 -0
- package/dist/web/assets/codex-sign-in-again-dialog-DcIOYhAe.js +1 -0
- package/dist/web/assets/codex-sign-in-again-dialog-DcIOYhAe.js.br +0 -0
- package/dist/web/assets/codex-sign-in-again-dialog-DcIOYhAe.js.gz +0 -0
- package/dist/web/assets/coffee-9hmEOIYs.js.br +0 -0
- package/dist/web/assets/coffee-9hmEOIYs.js.gz +0 -0
- package/dist/web/assets/common-lisp-DgIX9jkq.js.br +0 -0
- package/dist/web/assets/common-lisp-DgIX9jkq.js.gz +0 -0
- package/dist/web/assets/{conflict-editor-Cu-z_LdX.js → conflict-editor-0YEDQ--c.js} +1 -1
- package/dist/web/assets/conflict-editor-0YEDQ--c.js.br +0 -0
- package/dist/web/assets/conflict-editor-0YEDQ--c.js.gz +0 -0
- package/dist/web/assets/context-menu-CjYTq8DI.js.br +0 -0
- package/dist/web/assets/context-menu-CjYTq8DI.js.gz +0 -0
- package/dist/web/assets/coq-CFeLOER-.js.br +0 -0
- package/dist/web/assets/coq-CFeLOER-.js.gz +0 -0
- package/dist/web/assets/cpp-BntsLe3X.js.br +0 -0
- package/dist/web/assets/cpp-BntsLe3X.js.gz +0 -0
- package/dist/web/assets/createLucideIcon-DBXq3G0e.js.br +0 -0
- package/dist/web/assets/createLucideIcon-DBXq3G0e.js.gz +0 -0
- package/dist/web/assets/crystal-CoXN2Gj8.js.br +0 -0
- package/dist/web/assets/crystal-CoXN2Gj8.js.gz +0 -0
- package/dist/web/assets/csharp-BGFGcV8G.js.br +0 -0
- package/dist/web/assets/csharp-BGFGcV8G.js.gz +0 -0
- package/dist/web/assets/css-DKuKlxIj.js.br +0 -0
- package/dist/web/assets/css-DKuKlxIj.js.gz +0 -0
- package/dist/web/assets/csv-Cx126-fo.js.br +0 -0
- package/dist/web/assets/csv-Cx126-fo.js.gz +0 -0
- package/dist/web/assets/csv-parser-BXeH-yzY.js.br +0 -0
- package/dist/web/assets/csv-parser-BXeH-yzY.js.gz +0 -0
- package/dist/web/assets/{csv-preview-DHbBIqUu.js → csv-preview-CYxznB1I.js} +1 -1
- package/dist/web/assets/csv-preview-CYxznB1I.js.br +0 -0
- package/dist/web/assets/csv-preview-CYxznB1I.js.gz +0 -0
- package/dist/web/assets/cue-Cd0PEGFL.js.br +0 -0
- package/dist/web/assets/cue-Cd0PEGFL.js.gz +0 -0
- package/dist/web/assets/cypher-QS9S-1Nu.js.br +0 -0
- package/dist/web/assets/cypher-QS9S-1Nu.js.gz +0 -0
- package/dist/web/assets/d-Bx6zK6J7.js.br +0 -0
- package/dist/web/assets/d-Bx6zK6J7.js.gz +0 -0
- package/dist/web/assets/dark-plus-DLqXEd2I.js.br +0 -0
- package/dist/web/assets/dark-plus-DLqXEd2I.js.gz +0 -0
- package/dist/web/assets/dart-BL2C2Z6E.js.br +0 -0
- package/dist/web/assets/dart-BL2C2Z6E.js.gz +0 -0
- package/dist/web/assets/data-grid-overlay-editor-2ERlh7_N.js.br +0 -0
- package/dist/web/assets/data-grid-overlay-editor-2ERlh7_N.js.gz +0 -0
- package/dist/web/assets/data-grid-types-DatI2Wee.js.br +0 -0
- package/dist/web/assets/data-grid-types-DatI2Wee.js.gz +0 -0
- package/dist/web/assets/{database-viewer-_McYjRzc.js → database-viewer-eP3gCxGb.js} +1 -1
- package/dist/web/assets/database-viewer-eP3gCxGb.js.br +0 -0
- package/dist/web/assets/database-viewer-eP3gCxGb.js.gz +0 -0
- package/dist/web/assets/dax-ClxUDxvY.js.br +0 -0
- package/dist/web/assets/dax-ClxUDxvY.js.gz +0 -0
- package/dist/web/assets/design-export-client-SWCbGwwU.js.br +0 -0
- package/dist/web/assets/design-export-client-SWCbGwwU.js.gz +0 -0
- package/dist/web/assets/design-responsive-dialog-CcJETHO2.js.br +0 -0
- package/dist/web/assets/design-responsive-dialog-CcJETHO2.js.gz +0 -0
- package/dist/web/assets/{design-tab-C0TUD5g-.js → design-tab-B7aVMMfj.js} +1 -1
- package/dist/web/assets/design-tab-B7aVMMfj.js.br +0 -0
- package/dist/web/assets/design-tab-B7aVMMfj.js.gz +0 -0
- package/dist/web/assets/{designs-sidebar-panel-XCAwSNtg.js → designs-sidebar-panel-8KI79o1u.js} +1 -1
- package/dist/web/assets/designs-sidebar-panel-8KI79o1u.js.br +0 -0
- package/dist/web/assets/designs-sidebar-panel-8KI79o1u.js.gz +0 -0
- package/dist/web/assets/desktop-DLEkw1UR.js.br +0 -0
- package/dist/web/assets/desktop-DLEkw1UR.js.gz +0 -0
- package/dist/web/assets/dialog-tzBRkGeW.js.br +0 -0
- package/dist/web/assets/dialog-tzBRkGeW.js.gz +0 -0
- package/dist/web/assets/diff-Dlp9KQSL.js.br +0 -0
- package/dist/web/assets/diff-Dlp9KQSL.js.gz +0 -0
- package/dist/web/assets/{diff-viewer-C4z-_68x.js → diff-viewer-B_K7VQup.js} +1 -1
- package/dist/web/assets/diff-viewer-B_K7VQup.js.br +0 -0
- package/dist/web/assets/diff-viewer-B_K7VQup.js.gz +0 -0
- package/dist/web/assets/dist-CDpxSUMU.js.br +0 -0
- package/dist/web/assets/dist-CDpxSUMU.js.gz +0 -0
- package/dist/web/assets/dist-CgtN5c7X.js.br +0 -0
- package/dist/web/assets/dist-CgtN5c7X.js.gz +0 -0
- package/dist/web/assets/dist-wmDsBD_Z.js.br +0 -0
- package/dist/web/assets/dist-wmDsBD_Z.js.gz +0 -0
- package/dist/web/assets/docker-DVBsQYb-.js.br +0 -0
- package/dist/web/assets/docker-DVBsQYb-.js.gz +0 -0
- package/dist/web/assets/docx-preview-C-UKGMXR.js.br +0 -0
- package/dist/web/assets/docx-preview-C-UKGMXR.js.gz +0 -0
- package/dist/web/assets/dotenv-DjBB7S8B.js.br +0 -0
- package/dist/web/assets/dotenv-DjBB7S8B.js.gz +0 -0
- package/dist/web/assets/dracula-Cu055q9D.js.br +0 -0
- package/dist/web/assets/dracula-Cu055q9D.js.gz +0 -0
- package/dist/web/assets/dracula-soft-BiX_luwV.js.br +0 -0
- package/dist/web/assets/dracula-soft-BiX_luwV.js.gz +0 -0
- package/dist/web/assets/dream-maker-S6ie6kFg.js.br +0 -0
- package/dist/web/assets/dream-maker-S6ie6kFg.js.gz +0 -0
- package/dist/web/assets/edge-gf7weBFr.js.br +0 -0
- package/dist/web/assets/edge-gf7weBFr.js.gz +0 -0
- package/dist/web/assets/edit-diff-preview-8nIct7kS.js.br +0 -0
- package/dist/web/assets/edit-diff-preview-8nIct7kS.js.gz +0 -0
- package/dist/web/assets/{editor-language-service-D8hW_eew.js → editor-language-service-DYBxZX66.js} +1 -1
- package/dist/web/assets/editor-language-service-DYBxZX66.js.br +0 -0
- package/dist/web/assets/editor-language-service-DYBxZX66.js.gz +0 -0
- package/dist/web/assets/elixir-DOEwBYus.js.br +0 -0
- package/dist/web/assets/elixir-DOEwBYus.js.gz +0 -0
- package/dist/web/assets/elm-7yx1A5qt.js.br +0 -0
- package/dist/web/assets/elm-7yx1A5qt.js.gz +0 -0
- package/dist/web/assets/emacs-lisp-DpOda430.js.br +0 -0
- package/dist/web/assets/emacs-lisp-DpOda430.js.gz +0 -0
- package/dist/web/assets/erb-Bm_J_rBw.js.br +0 -0
- package/dist/web/assets/erb-Bm_J_rBw.js.gz +0 -0
- package/dist/web/assets/erlang-DgkAVj5y.js.br +0 -0
- package/dist/web/assets/erlang-DgkAVj5y.js.gz +0 -0
- package/dist/web/assets/esm-wquH4IhX.js.br +0 -0
- package/dist/web/assets/esm-wquH4IhX.js.gz +0 -0
- package/dist/web/assets/everforest-dark-BAfSXdLG.js.br +0 -0
- package/dist/web/assets/everforest-dark-BAfSXdLG.js.gz +0 -0
- package/dist/web/assets/everforest-light-Dp59kp4R.js.br +0 -0
- package/dist/web/assets/everforest-light-Dp59kp4R.js.gz +0 -0
- package/dist/web/assets/{explorer-body-CdxolRQG.js → explorer-body-C0syNltJ.js} +1 -1
- package/dist/web/assets/explorer-body-C0syNltJ.js.br +0 -0
- package/dist/web/assets/explorer-body-C0syNltJ.js.gz +0 -0
- package/dist/web/assets/{explorer-window-content-D1fkI_cL.js → explorer-window-content-CfIomwTq.js} +1 -1
- package/dist/web/assets/explorer-window-content-CfIomwTq.js.br +0 -0
- package/dist/web/assets/explorer-window-content-CfIomwTq.js.gz +0 -0
- package/dist/web/assets/{extension-manager-section-CAaSoAuG.js → extension-manager-section-CL7pl3re.js} +1 -1
- package/dist/web/assets/extension-manager-section-CL7pl3re.js.br +0 -0
- package/dist/web/assets/extension-manager-section-CL7pl3re.js.gz +0 -0
- package/dist/web/assets/{extension-webview-DmBZun_i.js → extension-webview-FHTB0jh1.js} +1 -1
- package/dist/web/assets/extension-webview-FHTB0jh1.js.br +0 -0
- package/dist/web/assets/extension-webview-FHTB0jh1.js.gz +0 -0
- package/dist/web/assets/fennel-CNaNUmMo.js.br +0 -0
- package/dist/web/assets/fennel-CNaNUmMo.js.gz +0 -0
- package/dist/web/assets/file-icons-BlOxPo3P.js.br +0 -0
- package/dist/web/assets/file-icons-BlOxPo3P.js.gz +0 -0
- 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-CTlJqj2m.js.br +0 -0
- package/dist/web/assets/file-store-CTlJqj2m.js.gz +0 -0
- package/dist/web/assets/{files-settings-section-BFIzSuBh.js → files-settings-section-C574RfCl.js} +1 -1
- package/dist/web/assets/files-settings-section-C574RfCl.js.br +0 -0
- package/dist/web/assets/files-settings-section-C574RfCl.js.gz +0 -0
- package/dist/web/assets/fish-C8Z04ic7.js.br +0 -0
- package/dist/web/assets/fish-C8Z04ic7.js.gz +0 -0
- package/dist/web/assets/fluent-Bugk01mf.js.br +0 -0
- package/dist/web/assets/fluent-Bugk01mf.js.gz +0 -0
- package/dist/web/assets/format-file-meta-DLaHgkdx.js.br +0 -0
- package/dist/web/assets/format-file-meta-DLaHgkdx.js.gz +0 -0
- package/dist/web/assets/fortran-fixed-form-s8lQifxM.js.br +0 -0
- package/dist/web/assets/fortran-fixed-form-s8lQifxM.js.gz +0 -0
- package/dist/web/assets/fortran-free-form-csIz6MQj.js.br +0 -0
- package/dist/web/assets/fortran-free-form-csIz6MQj.js.gz +0 -0
- package/dist/web/assets/fs-api-RVc5RtTA.js.br +0 -0
- package/dist/web/assets/fs-api-RVc5RtTA.js.gz +0 -0
- package/dist/web/assets/fsharp-D6bmDjka.js.br +0 -0
- package/dist/web/assets/fsharp-D6bmDjka.js.gz +0 -0
- package/dist/web/assets/gdresource-wPII3GWW.js.br +0 -0
- package/dist/web/assets/gdresource-wPII3GWW.js.gz +0 -0
- package/dist/web/assets/gdscript-fdzYQLfk.js.br +0 -0
- package/dist/web/assets/gdscript-fdzYQLfk.js.gz +0 -0
- package/dist/web/assets/gdshader-CfsEtDeZ.js.br +0 -0
- package/dist/web/assets/gdshader-CfsEtDeZ.js.gz +0 -0
- package/dist/web/assets/{general-settings-section-BLLUvdhX.js → general-settings-section--DSUTrEP.js} +1 -1
- package/dist/web/assets/general-settings-section--DSUTrEP.js.br +0 -0
- package/dist/web/assets/general-settings-section--DSUTrEP.js.gz +0 -0
- package/dist/web/assets/genie-CtHN5N2Q.js.br +0 -0
- package/dist/web/assets/genie-CtHN5N2Q.js.gz +0 -0
- package/dist/web/assets/gherkin-gSp2ZJTf.js.br +0 -0
- package/dist/web/assets/gherkin-gSp2ZJTf.js.gz +0 -0
- package/dist/web/assets/git-commit-DqLhxK6K.js.br +0 -0
- package/dist/web/assets/git-commit-DqLhxK6K.js.gz +0 -0
- package/dist/web/assets/{git-log-panel-Lq2Vkm8w.js → git-log-panel-BzwEbRwN.js} +1 -1
- package/dist/web/assets/git-log-panel-BzwEbRwN.js.br +0 -0
- package/dist/web/assets/git-log-panel-BzwEbRwN.js.gz +0 -0
- package/dist/web/assets/git-repo-store-DFTJ5ngK.js.br +0 -0
- package/dist/web/assets/git-repo-store-DFTJ5ngK.js.gz +0 -0
- package/dist/web/assets/github-dark-D7O9efii.js.br +0 -0
- package/dist/web/assets/github-dark-D7O9efii.js.gz +0 -0
- package/dist/web/assets/github-dark-default-Bv2wIhqD.js.br +0 -0
- package/dist/web/assets/github-dark-default-Bv2wIhqD.js.gz +0 -0
- package/dist/web/assets/github-dark-dimmed-BuY_SpCX.js.br +0 -0
- package/dist/web/assets/github-dark-dimmed-BuY_SpCX.js.gz +0 -0
- package/dist/web/assets/github-dark-high-contrast-Chv0f5Wu.js.br +0 -0
- package/dist/web/assets/github-dark-high-contrast-Chv0f5Wu.js.gz +0 -0
- package/dist/web/assets/github-light-DV8f-W2f.js.br +0 -0
- package/dist/web/assets/github-light-DV8f-W2f.js.gz +0 -0
- package/dist/web/assets/github-light-default-CNBSU3dB.js.br +0 -0
- package/dist/web/assets/github-light-default-CNBSU3dB.js.gz +0 -0
- package/dist/web/assets/github-light-high-contrast-sg94tHwU.js.br +0 -0
- package/dist/web/assets/github-light-high-contrast-sg94tHwU.js.gz +0 -0
- package/dist/web/assets/gleam-w7270-PJ.js.br +0 -0
- package/dist/web/assets/gleam-w7270-PJ.js.gz +0 -0
- package/dist/web/assets/{glide-data-grid-CHdKFqis.js → glide-data-grid-CUNWBFfN.js} +1 -1
- package/dist/web/assets/glide-data-grid-CUNWBFfN.js.br +0 -0
- package/dist/web/assets/glide-data-grid-CUNWBFfN.js.gz +0 -0
- package/dist/web/assets/glide-data-grid-nthEL3fk.css.br +0 -0
- package/dist/web/assets/glide-data-grid-nthEL3fk.css.gz +0 -0
- package/dist/web/assets/glimmer-js-CmHFqq4N.js.br +0 -0
- package/dist/web/assets/glimmer-js-CmHFqq4N.js.gz +0 -0
- package/dist/web/assets/glimmer-ts-vLmZC1JJ.js.br +0 -0
- package/dist/web/assets/glimmer-ts-vLmZC1JJ.js.gz +0 -0
- package/dist/web/assets/glsl-DArPh0ws.js.br +0 -0
- package/dist/web/assets/glsl-DArPh0ws.js.gz +0 -0
- package/dist/web/assets/gn-yo_iE_A_.js.br +0 -0
- package/dist/web/assets/gn-yo_iE_A_.js.gz +0 -0
- package/dist/web/assets/gnuplot-DSBPrzl4.js.br +0 -0
- package/dist/web/assets/gnuplot-DSBPrzl4.js.gz +0 -0
- package/dist/web/assets/go-D1S7g97D.js.br +0 -0
- package/dist/web/assets/go-D1S7g97D.js.gz +0 -0
- package/dist/web/assets/graphql-B-_Ilekp.js.br +0 -0
- package/dist/web/assets/graphql-B-_Ilekp.js.gz +0 -0
- package/dist/web/assets/groovy-C7xW-5IV.js.br +0 -0
- package/dist/web/assets/groovy-C7xW-5IV.js.gz +0 -0
- package/dist/web/assets/{group-chat-tab-D2bluLme.js → group-chat-tab-Dp1p4Jdu.js} +1 -1
- package/dist/web/assets/group-chat-tab-Dp1p4Jdu.js.br +0 -0
- package/dist/web/assets/group-chat-tab-Dp1p4Jdu.js.gz +0 -0
- package/dist/web/assets/gruvbox-dark-hard-BZald7Z_.js.br +0 -0
- package/dist/web/assets/gruvbox-dark-hard-BZald7Z_.js.gz +0 -0
- package/dist/web/assets/gruvbox-dark-medium-v6W4PZne.js.br +0 -0
- package/dist/web/assets/gruvbox-dark-medium-v6W4PZne.js.gz +0 -0
- package/dist/web/assets/gruvbox-dark-soft-CN5mIGkw.js.br +0 -0
- package/dist/web/assets/gruvbox-dark-soft-CN5mIGkw.js.gz +0 -0
- package/dist/web/assets/gruvbox-light-hard-D3NIGRxd.js.br +0 -0
- package/dist/web/assets/gruvbox-light-hard-D3NIGRxd.js.gz +0 -0
- package/dist/web/assets/gruvbox-light-medium-m4ShuCnD.js.br +0 -0
- package/dist/web/assets/gruvbox-light-medium-m4ShuCnD.js.gz +0 -0
- package/dist/web/assets/gruvbox-light-soft-BEEYNyk-.js.br +0 -0
- package/dist/web/assets/gruvbox-light-soft-BEEYNyk-.js.gz +0 -0
- package/dist/web/assets/hack-4KVRpwwM.js.br +0 -0
- package/dist/web/assets/hack-4KVRpwwM.js.gz +0 -0
- package/dist/web/assets/haml-DoK94C5G.js.br +0 -0
- package/dist/web/assets/haml-DoK94C5G.js.gz +0 -0
- package/dist/web/assets/handlebars-D0_6yNlK.js.br +0 -0
- package/dist/web/assets/handlebars-D0_6yNlK.js.gz +0 -0
- package/dist/web/assets/haskell-CgtdXIH3.js.br +0 -0
- package/dist/web/assets/haskell-CgtdXIH3.js.gz +0 -0
- package/dist/web/assets/haxe-D7HQqtIx.js.br +0 -0
- package/dist/web/assets/haxe-D7HQqtIx.js.gz +0 -0
- package/dist/web/assets/hcl-C-YHDaXH.js.br +0 -0
- package/dist/web/assets/hcl-C-YHDaXH.js.gz +0 -0
- package/dist/web/assets/hjson-BrgEMvJK.js.br +0 -0
- package/dist/web/assets/hjson-BrgEMvJK.js.gz +0 -0
- package/dist/web/assets/hlsl-BsDumu1j.js.br +0 -0
- package/dist/web/assets/hlsl-BsDumu1j.js.gz +0 -0
- package/dist/web/assets/horizon-D9Kre3KQ.js.br +0 -0
- package/dist/web/assets/horizon-D9Kre3KQ.js.gz +0 -0
- package/dist/web/assets/horizon-bright-DJq8c_Yq.js.br +0 -0
- package/dist/web/assets/horizon-bright-DJq8c_Yq.js.gz +0 -0
- package/dist/web/assets/houston-B9tnxzX8.js.br +0 -0
- package/dist/web/assets/houston-B9tnxzX8.js.gz +0 -0
- package/dist/web/assets/html-BOqZwhzR.js.br +0 -0
- package/dist/web/assets/html-BOqZwhzR.js.gz +0 -0
- package/dist/web/assets/http-B6pQhqN4.js.br +0 -0
- package/dist/web/assets/http-B6pQhqN4.js.gz +0 -0
- package/dist/web/assets/hurl-BjW79rql.js.br +0 -0
- package/dist/web/assets/hurl-BjW79rql.js.gz +0 -0
- package/dist/web/assets/hxml-B1Yl76u6.js.br +0 -0
- package/dist/web/assets/hxml-B1Yl76u6.js.gz +0 -0
- package/dist/web/assets/hy-DUYVvXOj.js.br +0 -0
- package/dist/web/assets/hy-DUYVvXOj.js.gz +0 -0
- 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/imba-CGW-TsRm.js.br +0 -0
- package/dist/web/assets/imba-CGW-TsRm.js.gz +0 -0
- package/dist/web/assets/{index-DSbUqWiH.js → index-CvUGUp7d.js} +5 -5
- package/dist/web/assets/index-CvUGUp7d.js.br +0 -0
- package/dist/web/assets/index-CvUGUp7d.js.gz +0 -0
- package/dist/web/assets/index-DMA-So69.css +1 -0
- package/dist/web/assets/index-DMA-So69.css.br +0 -0
- package/dist/web/assets/index-DMA-So69.css.gz +0 -0
- package/dist/web/assets/ini-PqgYiEAV.js.br +5 -0
- package/dist/web/assets/ini-PqgYiEAV.js.gz +0 -0
- package/dist/web/assets/java-DPqGHyuh.js.br +0 -0
- package/dist/web/assets/java-DPqGHyuh.js.gz +0 -0
- package/dist/web/assets/javascript-D8x_R8ev.js.br +0 -0
- package/dist/web/assets/javascript-D8x_R8ev.js.gz +0 -0
- package/dist/web/assets/jinja-DOkXV84k.js.br +0 -0
- package/dist/web/assets/jinja-DOkXV84k.js.gz +0 -0
- package/dist/web/assets/{jira-watcher-section-BOe_ztas.js → jira-watcher-section-DoXl0GAq.js} +1 -1
- package/dist/web/assets/jira-watcher-section-DoXl0GAq.js.br +0 -0
- package/dist/web/assets/jira-watcher-section-DoXl0GAq.js.gz +0 -0
- package/dist/web/assets/jison-CGzlyBWT.js.br +0 -0
- package/dist/web/assets/jison-CGzlyBWT.js.gz +0 -0
- package/dist/web/assets/json-kcFjaEWA.js.br +0 -0
- package/dist/web/assets/json-kcFjaEWA.js.gz +0 -0
- package/dist/web/assets/json5-sbkvqHou.js.br +0 -0
- package/dist/web/assets/json5-sbkvqHou.js.gz +0 -0
- package/dist/web/assets/jsonc-pnywfpws.js.br +0 -0
- package/dist/web/assets/jsonc-pnywfpws.js.gz +0 -0
- package/dist/web/assets/jsonl-ZPOQ0pRn.js.br +0 -0
- package/dist/web/assets/jsonl-ZPOQ0pRn.js.gz +0 -0
- package/dist/web/assets/jsonnet-B_Q7j1YF.js.br +0 -0
- package/dist/web/assets/jsonnet-B_Q7j1YF.js.gz +0 -0
- package/dist/web/assets/jssm-K-xYeQyp.js.br +0 -0
- package/dist/web/assets/jssm-K-xYeQyp.js.gz +0 -0
- package/dist/web/assets/jsx-BzlJCumN.js.br +0 -0
- package/dist/web/assets/jsx-BzlJCumN.js.gz +0 -0
- package/dist/web/assets/julia-CZrbm1Fa.js.br +0 -0
- package/dist/web/assets/julia-CZrbm1Fa.js.gz +0 -0
- package/dist/web/assets/just-bRG6zWI_.js.br +0 -0
- package/dist/web/assets/just-bRG6zWI_.js.gz +0 -0
- package/dist/web/assets/kanagawa-dragon-DAdLBtU8.js.br +0 -0
- package/dist/web/assets/kanagawa-dragon-DAdLBtU8.js.gz +0 -0
- package/dist/web/assets/kanagawa-lotus-5BwvVGu8.js.br +0 -0
- package/dist/web/assets/kanagawa-lotus-5BwvVGu8.js.gz +0 -0
- package/dist/web/assets/kanagawa-wave-C0h9fsDT.js.br +0 -0
- package/dist/web/assets/kanagawa-wave-C0h9fsDT.js.gz +0 -0
- package/dist/web/assets/kdl-DXSsFcms.js.br +0 -0
- package/dist/web/assets/kdl-DXSsFcms.js.gz +0 -0
- package/dist/web/assets/{keybindings-store-DFPJBiXT.js → keybindings-store-BqGm9AgI.js} +1 -1
- package/dist/web/assets/{keyboard-shortcuts-section-CJubMhMq.js → keyboard-shortcuts-section-BogwnAdr.js} +1 -1
- package/dist/web/assets/keyboard-shortcuts-section-BogwnAdr.js.br +0 -0
- package/dist/web/assets/keyboard-shortcuts-section-BogwnAdr.js.gz +0 -0
- package/dist/web/assets/kotlin-BXNIvloo.js.br +0 -0
- package/dist/web/assets/kotlin-BXNIvloo.js.gz +0 -0
- package/dist/web/assets/kusto-wM3eio5V.js.br +0 -0
- package/dist/web/assets/kusto-wM3eio5V.js.gz +0 -0
- package/dist/web/assets/laserwave-FcbxdP2A.js.br +0 -0
- package/dist/web/assets/laserwave-FcbxdP2A.js.gz +0 -0
- package/dist/web/assets/latex-CZHLEkde.js.br +0 -0
- package/dist/web/assets/latex-CZHLEkde.js.gz +0 -0
- package/dist/web/assets/lean-RenzGeoM.js.br +0 -0
- package/dist/web/assets/lean-RenzGeoM.js.gz +0 -0
- package/dist/web/assets/less-CcUdtNJi.js.br +0 -0
- package/dist/web/assets/less-CcUdtNJi.js.gz +0 -0
- package/dist/web/assets/lib-KePrAxj7.js.br +0 -0
- package/dist/web/assets/lib-KePrAxj7.js.gz +0 -0
- package/dist/web/assets/libesm-DMnQ3WlF.js.br +0 -0
- package/dist/web/assets/libesm-DMnQ3WlF.js.gz +0 -0
- package/dist/web/assets/light-plus-BsMoOZJR.js.br +0 -0
- package/dist/web/assets/light-plus-BsMoOZJR.js.gz +0 -0
- package/dist/web/assets/liquid-Dcfq3Ccc.js.br +0 -0
- package/dist/web/assets/liquid-Dcfq3Ccc.js.gz +0 -0
- package/dist/web/assets/llvm-CyylMBuq.js.br +0 -0
- package/dist/web/assets/llvm-CyylMBuq.js.gz +0 -0
- package/dist/web/assets/log-BOi0GB58.js.br +0 -0
- package/dist/web/assets/log-BOi0GB58.js.gz +0 -0
- package/dist/web/assets/logo-BQUr3X2Y.js.br +0 -0
- package/dist/web/assets/logo-BQUr3X2Y.js.gz +0 -0
- package/dist/web/assets/lua-Ggfu9EYp.js.br +0 -0
- package/dist/web/assets/lua-Ggfu9EYp.js.gz +0 -0
- package/dist/web/assets/luau-3YZRDIsh.js.br +0 -0
- package/dist/web/assets/luau-3YZRDIsh.js.gz +0 -0
- package/dist/web/assets/make-DEkKRDRU.js.br +0 -0
- package/dist/web/assets/make-DEkKRDRU.js.gz +0 -0
- package/dist/web/assets/markdown-BmFN0-A1.js.br +0 -0
- package/dist/web/assets/markdown-BmFN0-A1.js.gz +0 -0
- package/dist/web/assets/{markdown-renderer-DxSQ4aqW.js → markdown-renderer-C33dsNJ_.js} +1 -1
- package/dist/web/assets/{markdown-renderer-6oU-L6RN.js → markdown-renderer-CZiECUJp.js} +1 -1
- package/dist/web/assets/markdown-renderer-CZiECUJp.js.br +0 -0
- package/dist/web/assets/markdown-renderer-CZiECUJp.js.gz +0 -0
- package/dist/web/assets/marko-BUwN_Iax.js.br +0 -0
- package/dist/web/assets/marko-BUwN_Iax.js.gz +0 -0
- package/dist/web/assets/material-theme-DqLHjEZ8.js.br +0 -0
- package/dist/web/assets/material-theme-DqLHjEZ8.js.gz +0 -0
- package/dist/web/assets/material-theme-darker-DhbvULnI.js.br +0 -0
- package/dist/web/assets/material-theme-darker-DhbvULnI.js.gz +0 -0
- package/dist/web/assets/material-theme-lighter-C_aA4yVe.js.br +0 -0
- package/dist/web/assets/material-theme-lighter-C_aA4yVe.js.gz +0 -0
- package/dist/web/assets/material-theme-ocean-Pk5JltJS.js.br +0 -0
- package/dist/web/assets/material-theme-ocean-Pk5JltJS.js.gz +0 -0
- package/dist/web/assets/material-theme-palenight-DNi3VguV.js.br +0 -0
- package/dist/web/assets/material-theme-palenight-DNi3VguV.js.gz +0 -0
- package/dist/web/assets/matlab-BqUtv2ml.js.br +0 -0
- package/dist/web/assets/matlab-BqUtv2ml.js.gz +0 -0
- package/dist/web/assets/mdc-CIifdeNY.js.br +0 -0
- package/dist/web/assets/mdc-CIifdeNY.js.gz +0 -0
- package/dist/web/assets/mdx-DFMrnHBn.js.br +0 -0
- package/dist/web/assets/mdx-DFMrnHBn.js.gz +0 -0
- package/dist/web/assets/mermaid-BpyuE0L_.js.br +0 -0
- package/dist/web/assets/mermaid-BpyuE0L_.js.gz +0 -0
- package/dist/web/assets/min-dark-DVfCMEPW.js.br +0 -0
- package/dist/web/assets/min-dark-DVfCMEPW.js.gz +0 -0
- package/dist/web/assets/min-light-B96aMADV.js.br +0 -0
- package/dist/web/assets/min-light-B96aMADV.js.gz +0 -0
- package/dist/web/assets/mipsasm-DHhEcvKr.js.br +0 -0
- package/dist/web/assets/mipsasm-DHhEcvKr.js.gz +0 -0
- package/dist/web/assets/mobile-bottom-sheet-Cf4kV1hS.js.br +0 -0
- package/dist/web/assets/mobile-bottom-sheet-Cf4kV1hS.js.gz +0 -0
- package/dist/web/assets/{mobile-explorer-sheet-D0968cuP.js → mobile-explorer-sheet-BOgo9tbK.js} +1 -1
- package/dist/web/assets/mobile-explorer-sheet-BOgo9tbK.js.br +0 -0
- package/dist/web/assets/mobile-explorer-sheet-BOgo9tbK.js.gz +0 -0
- package/dist/web/assets/mojo-BQ6HsVIQ.js.br +0 -0
- package/dist/web/assets/mojo-BQ6HsVIQ.js.gz +0 -0
- package/dist/web/assets/monaco/vs/_commonjsHelpers-CT9FvmAN.js +1 -0
- package/dist/web/assets/monaco/vs/abap-D-t0cyap.js +1 -0
- package/dist/web/assets/monaco/vs/abap-D-t0cyap.js.br +0 -0
- package/dist/web/assets/monaco/vs/abap-D-t0cyap.js.gz +0 -0
- package/dist/web/assets/monaco/vs/apex-CcIm7xu6.js +1 -0
- package/dist/web/assets/monaco/vs/apex-CcIm7xu6.js.br +0 -0
- package/dist/web/assets/monaco/vs/apex-CcIm7xu6.js.gz +0 -0
- package/dist/web/assets/monaco/vs/assets/css.worker-HnVq6Ewq.js +93 -0
- package/dist/web/assets/monaco/vs/assets/css.worker-HnVq6Ewq.js.br +0 -0
- package/dist/web/assets/monaco/vs/assets/css.worker-HnVq6Ewq.js.gz +0 -0
- package/dist/web/assets/monaco/vs/assets/editor.worker-Be8ye1pW.js +26 -0
- package/dist/web/assets/monaco/vs/assets/editor.worker-Be8ye1pW.js.br +0 -0
- package/dist/web/assets/monaco/vs/assets/editor.worker-Be8ye1pW.js.gz +0 -0
- package/dist/web/assets/monaco/vs/assets/html.worker-B51mlPHg.js +470 -0
- package/dist/web/assets/monaco/vs/assets/html.worker-B51mlPHg.js.br +0 -0
- package/dist/web/assets/monaco/vs/assets/html.worker-B51mlPHg.js.gz +0 -0
- package/dist/web/assets/monaco/vs/assets/json.worker-DKiEKt88.js +58 -0
- package/dist/web/assets/monaco/vs/assets/json.worker-DKiEKt88.js.br +0 -0
- package/dist/web/assets/monaco/vs/assets/json.worker-DKiEKt88.js.gz +0 -0
- package/dist/web/assets/monaco/vs/assets/ts.worker-CMbG-7ft.js +67731 -0
- package/dist/web/assets/monaco/vs/assets/ts.worker-CMbG-7ft.js.br +0 -0
- package/dist/web/assets/monaco/vs/assets/ts.worker-CMbG-7ft.js.gz +0 -0
- package/dist/web/assets/monaco/vs/azcli-BA0tQDCg.js +1 -0
- package/dist/web/assets/monaco/vs/basic-languages/monaco.contribution.js +1 -0
- package/dist/web/assets/monaco/vs/basic-languages/monaco.contribution.js.br +0 -0
- package/dist/web/assets/monaco/vs/basic-languages/monaco.contribution.js.gz +0 -0
- package/dist/web/assets/monaco/vs/bat-C397hTD6.js +1 -0
- package/dist/web/assets/monaco/vs/bat-C397hTD6.js.br +0 -0
- package/dist/web/assets/monaco/vs/bat-C397hTD6.js.gz +0 -0
- package/dist/web/assets/monaco/vs/bicep-DF5aW17k.js +2 -0
- package/dist/web/assets/monaco/vs/bicep-DF5aW17k.js.br +0 -0
- package/dist/web/assets/monaco/vs/bicep-DF5aW17k.js.gz +0 -0
- package/dist/web/assets/monaco/vs/cameligo-plsz8qhj.js +1 -0
- package/dist/web/assets/monaco/vs/cameligo-plsz8qhj.js.br +0 -0
- package/dist/web/assets/monaco/vs/cameligo-plsz8qhj.js.gz +0 -0
- package/dist/web/assets/monaco/vs/clojure-Y2auQMzK.js +1 -0
- package/dist/web/assets/monaco/vs/clojure-Y2auQMzK.js.br +0 -0
- package/dist/web/assets/monaco/vs/clojure-Y2auQMzK.js.gz +0 -0
- package/dist/web/assets/monaco/vs/coffee-Bu45yuWE.js +1 -0
- package/dist/web/assets/monaco/vs/coffee-Bu45yuWE.js.br +0 -0
- package/dist/web/assets/monaco/vs/coffee-Bu45yuWE.js.gz +0 -0
- package/dist/web/assets/monaco/vs/cpp-CkKPQIni.js +1 -0
- package/dist/web/assets/monaco/vs/cpp-CkKPQIni.js.br +0 -0
- package/dist/web/assets/monaco/vs/cpp-CkKPQIni.js.gz +0 -0
- package/dist/web/assets/monaco/vs/csharp-CX28MZyh.js +1 -0
- package/dist/web/assets/monaco/vs/csharp-CX28MZyh.js.br +0 -0
- package/dist/web/assets/monaco/vs/csharp-CX28MZyh.js.gz +0 -0
- package/dist/web/assets/monaco/vs/csp-D8uWnyxW.js +1 -0
- package/dist/web/assets/monaco/vs/csp-D8uWnyxW.js.br +0 -0
- package/dist/web/assets/monaco/vs/csp-D8uWnyxW.js.gz +0 -0
- package/dist/web/assets/monaco/vs/css-CaeNmE3S.js +3 -0
- package/dist/web/assets/monaco/vs/css-CaeNmE3S.js.br +0 -0
- package/dist/web/assets/monaco/vs/css-CaeNmE3S.js.gz +0 -0
- package/dist/web/assets/monaco/vs/cssMode-CjiAH6dQ.js +1 -0
- package/dist/web/assets/monaco/vs/cssMode-CjiAH6dQ.js.br +0 -0
- package/dist/web/assets/monaco/vs/cssMode-CjiAH6dQ.js.gz +0 -0
- package/dist/web/assets/monaco/vs/cypher-DVThT8BS.js +1 -0
- package/dist/web/assets/monaco/vs/cypher-DVThT8BS.js.br +0 -0
- package/dist/web/assets/monaco/vs/cypher-DVThT8BS.js.gz +0 -0
- package/dist/web/assets/monaco/vs/dart-CmGfCvrO.js +1 -0
- package/dist/web/assets/monaco/vs/dart-CmGfCvrO.js.br +0 -0
- package/dist/web/assets/monaco/vs/dart-CmGfCvrO.js.gz +0 -0
- package/dist/web/assets/monaco/vs/dockerfile-CZqqYdch.js +1 -0
- package/dist/web/assets/monaco/vs/dockerfile-CZqqYdch.js.br +0 -0
- package/dist/web/assets/monaco/vs/dockerfile-CZqqYdch.js.gz +0 -0
- package/dist/web/assets/monaco/vs/ecl-30fUercY.js +1 -0
- package/dist/web/assets/monaco/vs/ecl-30fUercY.js.br +0 -0
- package/dist/web/assets/monaco/vs/ecl-30fUercY.js.gz +0 -0
- package/dist/web/assets/monaco/vs/editor/editor.main.css +1 -0
- package/dist/web/assets/monaco/vs/editor/editor.main.css.br +0 -0
- package/dist/web/assets/monaco/vs/editor/editor.main.css.gz +0 -0
- package/dist/web/assets/monaco/vs/editor/editor.main.js +5 -0
- package/dist/web/assets/monaco/vs/editor/editor.main.js.br +0 -0
- package/dist/web/assets/monaco/vs/editor/editor.main.js.gz +0 -0
- package/dist/web/assets/monaco/vs/editor.api-CalNCsUg.js +903 -0
- package/dist/web/assets/monaco/vs/editor.api-CalNCsUg.js.br +0 -0
- package/dist/web/assets/monaco/vs/editor.api-CalNCsUg.js.gz +0 -0
- package/dist/web/assets/monaco/vs/elixir-xjPaIfzF.js +1 -0
- package/dist/web/assets/monaco/vs/elixir-xjPaIfzF.js.br +0 -0
- package/dist/web/assets/monaco/vs/elixir-xjPaIfzF.js.gz +0 -0
- package/dist/web/assets/monaco/vs/flow9-DqtmStfK.js +1 -0
- package/dist/web/assets/monaco/vs/flow9-DqtmStfK.js.br +0 -0
- package/dist/web/assets/monaco/vs/flow9-DqtmStfK.js.gz +0 -0
- package/dist/web/assets/monaco/vs/freemarker2-Cz_sV6Md.js +3 -0
- package/dist/web/assets/monaco/vs/freemarker2-Cz_sV6Md.js.br +0 -0
- package/dist/web/assets/monaco/vs/freemarker2-Cz_sV6Md.js.gz +0 -0
- package/dist/web/assets/monaco/vs/fsharp-BOMdg4U1.js +1 -0
- package/dist/web/assets/monaco/vs/fsharp-BOMdg4U1.js.br +0 -0
- package/dist/web/assets/monaco/vs/fsharp-BOMdg4U1.js.gz +0 -0
- package/dist/web/assets/monaco/vs/go-D_hbi-Jt.js +1 -0
- package/dist/web/assets/monaco/vs/go-D_hbi-Jt.js.br +0 -0
- package/dist/web/assets/monaco/vs/go-D_hbi-Jt.js.gz +0 -0
- package/dist/web/assets/monaco/vs/graphql-CKUU4kLG.js +1 -0
- package/dist/web/assets/monaco/vs/graphql-CKUU4kLG.js.br +0 -0
- package/dist/web/assets/monaco/vs/graphql-CKUU4kLG.js.gz +0 -0
- package/dist/web/assets/monaco/vs/handlebars-OwglfO-1.js +1 -0
- package/dist/web/assets/monaco/vs/handlebars-OwglfO-1.js.br +0 -0
- package/dist/web/assets/monaco/vs/handlebars-OwglfO-1.js.gz +0 -0
- package/dist/web/assets/monaco/vs/hcl-DTaboeZW.js +1 -0
- package/dist/web/assets/monaco/vs/hcl-DTaboeZW.js.br +0 -0
- package/dist/web/assets/monaco/vs/hcl-DTaboeZW.js.gz +0 -0
- package/dist/web/assets/monaco/vs/html-Pa1xEWsY.js +1 -0
- package/dist/web/assets/monaco/vs/html-Pa1xEWsY.js.br +0 -0
- package/dist/web/assets/monaco/vs/html-Pa1xEWsY.js.gz +0 -0
- package/dist/web/assets/monaco/vs/htmlMode-Bz67EXwp.js +1 -0
- package/dist/web/assets/monaco/vs/htmlMode-Bz67EXwp.js.br +0 -0
- package/dist/web/assets/monaco/vs/htmlMode-Bz67EXwp.js.gz +0 -0
- package/dist/web/assets/monaco/vs/ini-CsNwO04R.js +1 -0
- package/dist/web/assets/monaco/vs/ini-CsNwO04R.js.br +0 -0
- package/dist/web/assets/monaco/vs/ini-CsNwO04R.js.gz +0 -0
- package/dist/web/assets/monaco/vs/java-CI4ZMsH9.js +1 -0
- package/dist/web/assets/monaco/vs/java-CI4ZMsH9.js.br +0 -0
- package/dist/web/assets/monaco/vs/java-CI4ZMsH9.js.gz +0 -0
- package/dist/web/assets/monaco/vs/javascript-PczUCGdz.js +1 -0
- package/dist/web/assets/monaco/vs/jsonMode-DULH5oaX.js +7 -0
- package/dist/web/assets/monaco/vs/jsonMode-DULH5oaX.js.br +0 -0
- package/dist/web/assets/monaco/vs/jsonMode-DULH5oaX.js.gz +0 -0
- package/dist/web/assets/monaco/vs/julia-BwzEvaQw.js +1 -0
- package/dist/web/assets/monaco/vs/julia-BwzEvaQw.js.br +0 -0
- package/dist/web/assets/monaco/vs/julia-BwzEvaQw.js.gz +0 -0
- package/dist/web/assets/monaco/vs/kotlin-IUYPiTV8.js +1 -0
- package/dist/web/assets/monaco/vs/kotlin-IUYPiTV8.js.br +0 -0
- package/dist/web/assets/monaco/vs/kotlin-IUYPiTV8.js.gz +0 -0
- package/dist/web/assets/monaco/vs/language/css/monaco.contribution.js +1 -0
- package/dist/web/assets/monaco/vs/language/html/monaco.contribution.js +1 -0
- package/dist/web/assets/monaco/vs/language/json/monaco.contribution.js +1 -0
- package/dist/web/assets/monaco/vs/language/typescript/monaco.contribution.js +1 -0
- package/dist/web/assets/monaco/vs/less-C0eDYdqa.js +2 -0
- package/dist/web/assets/monaco/vs/less-C0eDYdqa.js.br +0 -0
- package/dist/web/assets/monaco/vs/less-C0eDYdqa.js.gz +0 -0
- package/dist/web/assets/monaco/vs/lexon-iON-Kj97.js +1 -0
- package/dist/web/assets/monaco/vs/lexon-iON-Kj97.js.br +0 -0
- package/dist/web/assets/monaco/vs/lexon-iON-Kj97.js.gz +0 -0
- package/dist/web/assets/monaco/vs/liquid-DqKjdPGy.js +1 -0
- package/dist/web/assets/monaco/vs/liquid-DqKjdPGy.js.br +0 -0
- package/dist/web/assets/monaco/vs/liquid-DqKjdPGy.js.gz +0 -0
- package/dist/web/assets/monaco/vs/loader.js +1368 -0
- package/dist/web/assets/monaco/vs/loader.js.br +0 -0
- package/dist/web/assets/monaco/vs/loader.js.gz +0 -0
- package/dist/web/assets/monaco/vs/lspLanguageFeatures-kM9O9rjY.js +4 -0
- package/dist/web/assets/monaco/vs/lspLanguageFeatures-kM9O9rjY.js.br +0 -0
- package/dist/web/assets/monaco/vs/lspLanguageFeatures-kM9O9rjY.js.gz +0 -0
- package/dist/web/assets/monaco/vs/lua-DtygF91M.js +1 -0
- package/dist/web/assets/monaco/vs/lua-DtygF91M.js.br +0 -0
- package/dist/web/assets/monaco/vs/lua-DtygF91M.js.gz +0 -0
- package/dist/web/assets/monaco/vs/m3-CsR4AuFi.js +1 -0
- package/dist/web/assets/monaco/vs/m3-CsR4AuFi.js.br +0 -0
- package/dist/web/assets/monaco/vs/m3-CsR4AuFi.js.gz +0 -0
- package/dist/web/assets/monaco/vs/markdown-C_rD0bIw.js +1 -0
- package/dist/web/assets/monaco/vs/markdown-C_rD0bIw.js.br +0 -0
- package/dist/web/assets/monaco/vs/markdown-C_rD0bIw.js.gz +0 -0
- package/dist/web/assets/monaco/vs/mdx-DEWtB1K5.js +1 -0
- package/dist/web/assets/monaco/vs/mdx-DEWtB1K5.js.br +0 -0
- package/dist/web/assets/monaco/vs/mdx-DEWtB1K5.js.gz +0 -0
- package/dist/web/assets/monaco/vs/mips-CiYP61RB.js +1 -0
- package/dist/web/assets/monaco/vs/mips-CiYP61RB.js.br +0 -0
- package/dist/web/assets/monaco/vs/mips-CiYP61RB.js.gz +0 -0
- package/dist/web/assets/monaco/vs/monaco.contribution-D2OdxNBt.js +1 -0
- package/dist/web/assets/monaco/vs/monaco.contribution-D2OdxNBt.js.br +0 -0
- package/dist/web/assets/monaco/vs/monaco.contribution-D2OdxNBt.js.gz +0 -0
- package/dist/web/assets/monaco/vs/monaco.contribution-DO3azKX8.js +1 -0
- package/dist/web/assets/monaco/vs/monaco.contribution-DO3azKX8.js.br +0 -0
- package/dist/web/assets/monaco/vs/monaco.contribution-DO3azKX8.js.gz +0 -0
- package/dist/web/assets/monaco/vs/monaco.contribution-EcChJV6a.js +1 -0
- package/dist/web/assets/monaco/vs/monaco.contribution-EcChJV6a.js.br +0 -0
- package/dist/web/assets/monaco/vs/monaco.contribution-EcChJV6a.js.gz +0 -0
- package/dist/web/assets/monaco/vs/monaco.contribution-qLAYrEOP.js +1 -0
- package/dist/web/assets/monaco/vs/monaco.contribution-qLAYrEOP.js.br +0 -0
- package/dist/web/assets/monaco/vs/monaco.contribution-qLAYrEOP.js.gz +0 -0
- package/dist/web/assets/monaco/vs/msdax-C38-sJlp.js +1 -0
- package/dist/web/assets/monaco/vs/msdax-C38-sJlp.js.br +0 -0
- package/dist/web/assets/monaco/vs/msdax-C38-sJlp.js.gz +0 -0
- package/dist/web/assets/monaco/vs/mysql-CdtbpvbG.js +1 -0
- package/dist/web/assets/monaco/vs/mysql-CdtbpvbG.js.br +0 -0
- package/dist/web/assets/monaco/vs/mysql-CdtbpvbG.js.gz +0 -0
- package/dist/web/assets/monaco/vs/nls.messages-loader.js +1 -0
- package/dist/web/assets/monaco/vs/objective-c-CntZFaHX.js +1 -0
- package/dist/web/assets/monaco/vs/objective-c-CntZFaHX.js.br +0 -0
- package/dist/web/assets/monaco/vs/objective-c-CntZFaHX.js.gz +0 -0
- package/dist/web/assets/monaco/vs/pascal-r6kuqfl_.js +1 -0
- package/dist/web/assets/monaco/vs/pascal-r6kuqfl_.js.br +0 -0
- package/dist/web/assets/monaco/vs/pascal-r6kuqfl_.js.gz +0 -0
- package/dist/web/assets/monaco/vs/pascaligo-BiXoTmXh.js +1 -0
- package/dist/web/assets/monaco/vs/pascaligo-BiXoTmXh.js.br +0 -0
- package/dist/web/assets/monaco/vs/pascaligo-BiXoTmXh.js.gz +0 -0
- package/dist/web/assets/monaco/vs/perl-DABw_TcH.js +1 -0
- package/dist/web/assets/monaco/vs/perl-DABw_TcH.js.br +0 -0
- package/dist/web/assets/monaco/vs/perl-DABw_TcH.js.gz +0 -0
- package/dist/web/assets/monaco/vs/pgsql-me_jFXeX.js +1 -0
- package/dist/web/assets/monaco/vs/pgsql-me_jFXeX.js.br +0 -0
- package/dist/web/assets/monaco/vs/pgsql-me_jFXeX.js.gz +0 -0
- package/dist/web/assets/monaco/vs/php-D_kh-9LK.js +1 -0
- package/dist/web/assets/monaco/vs/php-D_kh-9LK.js.br +0 -0
- package/dist/web/assets/monaco/vs/php-D_kh-9LK.js.gz +0 -0
- package/dist/web/assets/monaco/vs/pla-VfZjczW0.js +1 -0
- package/dist/web/assets/monaco/vs/pla-VfZjczW0.js.br +0 -0
- package/dist/web/assets/monaco/vs/pla-VfZjczW0.js.gz +0 -0
- package/dist/web/assets/monaco/vs/postiats-BBSzz8Pk.js +1 -0
- package/dist/web/assets/monaco/vs/postiats-BBSzz8Pk.js.br +0 -0
- package/dist/web/assets/monaco/vs/postiats-BBSzz8Pk.js.gz +0 -0
- package/dist/web/assets/monaco/vs/powerquery-Dt-g_2cc.js +1 -0
- package/dist/web/assets/monaco/vs/powerquery-Dt-g_2cc.js.br +0 -0
- package/dist/web/assets/monaco/vs/powerquery-Dt-g_2cc.js.gz +0 -0
- package/dist/web/assets/monaco/vs/powershell-B-7ap1zc.js +1 -0
- package/dist/web/assets/monaco/vs/powershell-B-7ap1zc.js.br +0 -0
- package/dist/web/assets/monaco/vs/powershell-B-7ap1zc.js.gz +0 -0
- package/dist/web/assets/monaco/vs/protobuf-BmtuEB1A.js +2 -0
- package/dist/web/assets/monaco/vs/protobuf-BmtuEB1A.js.br +0 -0
- package/dist/web/assets/monaco/vs/protobuf-BmtuEB1A.js.gz +0 -0
- package/dist/web/assets/monaco/vs/pug-BRpRNeEb.js +1 -0
- package/dist/web/assets/monaco/vs/pug-BRpRNeEb.js.br +0 -0
- package/dist/web/assets/monaco/vs/pug-BRpRNeEb.js.gz +0 -0
- package/dist/web/assets/monaco/vs/python-Cr0UkIbn.js +1 -0
- package/dist/web/assets/monaco/vs/python-Cr0UkIbn.js.br +0 -0
- package/dist/web/assets/monaco/vs/python-Cr0UkIbn.js.gz +0 -0
- package/dist/web/assets/monaco/vs/qsharp-BzsFaUU9.js +1 -0
- package/dist/web/assets/monaco/vs/qsharp-BzsFaUU9.js.br +0 -0
- package/dist/web/assets/monaco/vs/qsharp-BzsFaUU9.js.gz +0 -0
- package/dist/web/assets/monaco/vs/r-f8dDdrp4.js +1 -0
- package/dist/web/assets/monaco/vs/r-f8dDdrp4.js.br +0 -0
- package/dist/web/assets/monaco/vs/r-f8dDdrp4.js.gz +0 -0
- package/dist/web/assets/monaco/vs/razor-BYAHOTkz.js +1 -0
- package/dist/web/assets/monaco/vs/razor-BYAHOTkz.js.br +0 -0
- package/dist/web/assets/monaco/vs/razor-BYAHOTkz.js.gz +0 -0
- package/dist/web/assets/monaco/vs/redis-fvZQY4PI.js +1 -0
- package/dist/web/assets/monaco/vs/redis-fvZQY4PI.js.br +0 -0
- package/dist/web/assets/monaco/vs/redis-fvZQY4PI.js.gz +0 -0
- package/dist/web/assets/monaco/vs/redshift-45Et0LQi.js +1 -0
- package/dist/web/assets/monaco/vs/redshift-45Et0LQi.js.br +0 -0
- package/dist/web/assets/monaco/vs/redshift-45Et0LQi.js.gz +0 -0
- package/dist/web/assets/monaco/vs/restructuredtext-C7UUFKFD.js +1 -0
- package/dist/web/assets/monaco/vs/restructuredtext-C7UUFKFD.js.br +0 -0
- package/dist/web/assets/monaco/vs/restructuredtext-C7UUFKFD.js.gz +0 -0
- package/dist/web/assets/monaco/vs/ruby-CZO8zYTz.js +1 -0
- package/dist/web/assets/monaco/vs/ruby-CZO8zYTz.js.br +0 -0
- package/dist/web/assets/monaco/vs/ruby-CZO8zYTz.js.gz +0 -0
- package/dist/web/assets/monaco/vs/rust-Bfetafyc.js +1 -0
- package/dist/web/assets/monaco/vs/rust-Bfetafyc.js.br +0 -0
- package/dist/web/assets/monaco/vs/rust-Bfetafyc.js.gz +0 -0
- package/dist/web/assets/monaco/vs/sb-3GYllVck.js +1 -0
- package/dist/web/assets/monaco/vs/sb-3GYllVck.js.br +0 -0
- package/dist/web/assets/monaco/vs/sb-3GYllVck.js.gz +0 -0
- package/dist/web/assets/monaco/vs/scala-foMgrKo1.js +1 -0
- package/dist/web/assets/monaco/vs/scala-foMgrKo1.js.br +0 -0
- package/dist/web/assets/monaco/vs/scala-foMgrKo1.js.gz +0 -0
- package/dist/web/assets/monaco/vs/scheme-CHdMtr7p.js +1 -0
- package/dist/web/assets/monaco/vs/scheme-CHdMtr7p.js.br +0 -0
- package/dist/web/assets/monaco/vs/scheme-CHdMtr7p.js.gz +0 -0
- package/dist/web/assets/monaco/vs/scss-C1cmLt9V.js +3 -0
- package/dist/web/assets/monaco/vs/scss-C1cmLt9V.js.br +0 -0
- package/dist/web/assets/monaco/vs/scss-C1cmLt9V.js.gz +0 -0
- package/dist/web/assets/monaco/vs/shell-ClXCKCEW.js +1 -0
- package/dist/web/assets/monaco/vs/shell-ClXCKCEW.js.br +0 -0
- package/dist/web/assets/monaco/vs/shell-ClXCKCEW.js.gz +0 -0
- package/dist/web/assets/monaco/vs/solidity-MZ6ExpPy.js +1 -0
- package/dist/web/assets/monaco/vs/solidity-MZ6ExpPy.js.br +0 -0
- package/dist/web/assets/monaco/vs/solidity-MZ6ExpPy.js.gz +0 -0
- package/dist/web/assets/monaco/vs/sophia-DWkuSsPQ.js +1 -0
- package/dist/web/assets/monaco/vs/sophia-DWkuSsPQ.js.br +0 -0
- package/dist/web/assets/monaco/vs/sophia-DWkuSsPQ.js.gz +0 -0
- package/dist/web/assets/monaco/vs/sparql-AUGFYSyk.js +1 -0
- package/dist/web/assets/monaco/vs/sparql-AUGFYSyk.js.br +0 -0
- package/dist/web/assets/monaco/vs/sparql-AUGFYSyk.js.gz +0 -0
- package/dist/web/assets/monaco/vs/sql-32GpJSV2.js +1 -0
- package/dist/web/assets/monaco/vs/sql-32GpJSV2.js.br +0 -0
- package/dist/web/assets/monaco/vs/sql-32GpJSV2.js.gz +0 -0
- package/dist/web/assets/monaco/vs/st-CuDFIVZ_.js +1 -0
- package/dist/web/assets/monaco/vs/st-CuDFIVZ_.js.br +0 -0
- package/dist/web/assets/monaco/vs/st-CuDFIVZ_.js.gz +0 -0
- package/dist/web/assets/monaco/vs/swift-n-2HociN.js +3 -0
- package/dist/web/assets/monaco/vs/swift-n-2HociN.js.br +0 -0
- package/dist/web/assets/monaco/vs/swift-n-2HociN.js.gz +0 -0
- package/dist/web/assets/monaco/vs/systemverilog-Ch4vA8Yt.js +1 -0
- package/dist/web/assets/monaco/vs/systemverilog-Ch4vA8Yt.js.br +0 -0
- package/dist/web/assets/monaco/vs/systemverilog-Ch4vA8Yt.js.gz +0 -0
- package/dist/web/assets/monaco/vs/tcl-D74tq1nH.js +1 -0
- package/dist/web/assets/monaco/vs/tcl-D74tq1nH.js.br +0 -0
- package/dist/web/assets/monaco/vs/tcl-D74tq1nH.js.gz +0 -0
- package/dist/web/assets/monaco/vs/tsMode-CZz1Umrk.js +11 -0
- package/dist/web/assets/monaco/vs/tsMode-CZz1Umrk.js.br +0 -0
- package/dist/web/assets/monaco/vs/tsMode-CZz1Umrk.js.gz +0 -0
- package/dist/web/assets/monaco/vs/twig-C6taOxMV.js +1 -0
- package/dist/web/assets/monaco/vs/twig-C6taOxMV.js.br +0 -0
- package/dist/web/assets/monaco/vs/twig-C6taOxMV.js.gz +0 -0
- package/dist/web/assets/monaco/vs/typescript-DfOrAzoV.js +1 -0
- package/dist/web/assets/monaco/vs/typescript-DfOrAzoV.js.br +0 -0
- package/dist/web/assets/monaco/vs/typescript-DfOrAzoV.js.gz +0 -0
- package/dist/web/assets/monaco/vs/typespec-D-PIh9Xw.js +1 -0
- package/dist/web/assets/monaco/vs/typespec-D-PIh9Xw.js.br +0 -0
- package/dist/web/assets/monaco/vs/typespec-D-PIh9Xw.js.gz +0 -0
- package/dist/web/assets/monaco/vs/vb-Dyb2648j.js +1 -0
- package/dist/web/assets/monaco/vs/vb-Dyb2648j.js.br +0 -0
- package/dist/web/assets/monaco/vs/vb-Dyb2648j.js.gz +0 -0
- package/dist/web/assets/monaco/vs/wgsl-BhLXMOR0.js +298 -0
- package/dist/web/assets/monaco/vs/wgsl-BhLXMOR0.js.br +0 -0
- package/dist/web/assets/monaco/vs/wgsl-BhLXMOR0.js.gz +0 -0
- package/dist/web/assets/monaco/vs/workers-DcJshg-q.js +1 -0
- package/dist/web/assets/monaco/vs/workers-DcJshg-q.js.br +0 -0
- package/dist/web/assets/monaco/vs/workers-DcJshg-q.js.gz +0 -0
- package/dist/web/assets/monaco/vs/xml-CdsdnY8S.js +1 -0
- package/dist/web/assets/monaco/vs/xml-CdsdnY8S.js.br +0 -0
- package/dist/web/assets/monaco/vs/xml-CdsdnY8S.js.gz +0 -0
- package/dist/web/assets/monaco/vs/yaml-DYGvmE88.js +1 -0
- package/dist/web/assets/monaco/vs/yaml-DYGvmE88.js.br +0 -0
- package/dist/web/assets/monaco/vs/yaml-DYGvmE88.js.gz +0 -0
- package/dist/web/assets/monokai-amcXAKGG.js.br +0 -0
- package/dist/web/assets/monokai-amcXAKGG.js.gz +0 -0
- package/dist/web/assets/moonbit-CGSXXQJI.js.br +0 -0
- package/dist/web/assets/moonbit-CGSXXQJI.js.gz +0 -0
- package/dist/web/assets/move-BOa4mq0q.js.br +0 -0
- package/dist/web/assets/move-BOa4mq0q.js.gz +0 -0
- package/dist/web/assets/narrat-dBYNSnhr.js.br +0 -0
- package/dist/web/assets/narrat-dBYNSnhr.js.gz +0 -0
- package/dist/web/assets/{new-design-dialog-CbrMbKum.js → new-design-dialog-DcoejI1s.js} +1 -1
- package/dist/web/assets/new-design-dialog-DcoejI1s.js.br +0 -0
- package/dist/web/assets/new-design-dialog-DcoejI1s.js.gz +0 -0
- package/dist/web/assets/nextflow-DufnRZW1.js.br +0 -0
- package/dist/web/assets/nextflow-DufnRZW1.js.gz +0 -0
- package/dist/web/assets/nextflow-groovy-Dm2Y_qgn.js.br +0 -0
- package/dist/web/assets/nextflow-groovy-Dm2Y_qgn.js.gz +0 -0
- package/dist/web/assets/nginx-DtUJGfad.js.br +0 -0
- package/dist/web/assets/nginx-DtUJGfad.js.gz +0 -0
- package/dist/web/assets/night-owl-Dy9ibYHN.js.br +0 -0
- package/dist/web/assets/night-owl-Dy9ibYHN.js.gz +0 -0
- package/dist/web/assets/night-owl-light-DamYjQKi.js.br +0 -0
- package/dist/web/assets/night-owl-light-DamYjQKi.js.gz +0 -0
- package/dist/web/assets/nim-BeBPwibr.js.br +0 -0
- package/dist/web/assets/nim-BeBPwibr.js.gz +0 -0
- package/dist/web/assets/nix-C1LyoszC.js.br +0 -0
- package/dist/web/assets/nix-C1LyoszC.js.gz +0 -0
- package/dist/web/assets/nord-LtGRYAFI.js.br +0 -0
- package/dist/web/assets/nord-LtGRYAFI.js.gz +0 -0
- package/dist/web/assets/{notification-store-BO3RInEL.js → notification-store-D88Y9kF_.js} +1 -1
- package/dist/web/assets/notifications-settings-section-Bfxqz65i.js.br +0 -0
- package/dist/web/assets/notifications-settings-section-Bfxqz65i.js.gz +0 -0
- package/dist/web/assets/number-overlay-editor-xzM7GhYV.js.br +0 -0
- package/dist/web/assets/number-overlay-editor-xzM7GhYV.js.gz +0 -0
- package/dist/web/assets/nushell-BMoOkt47.js.br +0 -0
- package/dist/web/assets/nushell-BMoOkt47.js.gz +0 -0
- package/dist/web/assets/objective-c-CILaOZJu.js.br +0 -0
- package/dist/web/assets/objective-c-CILaOZJu.js.gz +0 -0
- package/dist/web/assets/objective-cpp-D5Fo-SoM.js.br +0 -0
- package/dist/web/assets/objective-cpp-D5Fo-SoM.js.gz +0 -0
- package/dist/web/assets/ocaml-D1TCTCEJ.js.br +0 -0
- package/dist/web/assets/ocaml-D1TCTCEJ.js.gz +0 -0
- package/dist/web/assets/odin-CjdYcmpW.js.br +0 -0
- package/dist/web/assets/odin-CjdYcmpW.js.gz +0 -0
- package/dist/web/assets/onboarding-entry-CcvySZ_l.js.br +0 -0
- package/dist/web/assets/onboarding-entry-CcvySZ_l.js.gz +0 -0
- package/dist/web/assets/onboarding-quick-orientation-CT4PylG0.js.br +0 -0
- package/dist/web/assets/onboarding-quick-orientation-CT4PylG0.js.gz +0 -0
- package/dist/web/assets/one-dark-pro-GpsZUGZl.js.br +0 -0
- package/dist/web/assets/one-dark-pro-GpsZUGZl.js.gz +0 -0
- package/dist/web/assets/one-light-DlketcS4.js.br +0 -0
- package/dist/web/assets/one-light-DlketcS4.js.gz +0 -0
- package/dist/web/assets/openscad-BoT8wwuI.js.br +0 -0
- package/dist/web/assets/openscad-BoT8wwuI.js.gz +0 -0
- package/dist/web/assets/overview-panel-DshAIz6C.js.br +0 -0
- package/dist/web/assets/overview-panel-DshAIz6C.js.gz +0 -0
- package/dist/web/assets/panel-store-BUQ-CPsd.js.br +0 -0
- package/dist/web/assets/panel-store-BUQ-CPsd.js.gz +0 -0
- package/dist/web/assets/pascal-Cqy403Sf.js.br +0 -0
- package/dist/web/assets/pascal-Cqy403Sf.js.gz +0 -0
- package/dist/web/assets/pdf-preview-BWim6mu1.js.br +0 -0
- package/dist/web/assets/pdf-preview-BWim6mu1.js.gz +0 -0
- package/dist/web/assets/perl-hV0EoLCp.js.br +0 -0
- package/dist/web/assets/perl-hV0EoLCp.js.gz +0 -0
- package/dist/web/assets/php-N1YBqBhK.js.br +0 -0
- package/dist/web/assets/php-N1YBqBhK.js.gz +0 -0
- package/dist/web/assets/pkl-D6gRI9qQ.js.br +0 -0
- package/dist/web/assets/pkl-D6gRI9qQ.js.gz +0 -0
- package/dist/web/assets/plastic-DgvX8DXX.js.br +0 -0
- package/dist/web/assets/plastic-DgvX8DXX.js.gz +0 -0
- package/dist/web/assets/plsql-CTDnCVE3.js.br +0 -0
- package/dist/web/assets/plsql-CTDnCVE3.js.gz +0 -0
- package/dist/web/assets/po-DDnzm7AQ.js.br +0 -0
- package/dist/web/assets/po-DDnzm7AQ.js.gz +0 -0
- package/dist/web/assets/poimandres-C4HQwFp-.js.br +0 -0
- package/dist/web/assets/poimandres-C4HQwFp-.js.gz +0 -0
- package/dist/web/assets/polar-WBTQdMzX.js.br +0 -0
- package/dist/web/assets/polar-WBTQdMzX.js.gz +0 -0
- package/dist/web/assets/postcss-CWxogTg1.js.br +0 -0
- package/dist/web/assets/postcss-CWxogTg1.js.gz +0 -0
- package/dist/web/assets/postgres-viewer-HwlL1UTJ.js.br +0 -0
- package/dist/web/assets/postgres-viewer-HwlL1UTJ.js.gz +0 -0
- package/dist/web/assets/powerquery-DVtReIRR.js.br +0 -0
- package/dist/web/assets/powerquery-DVtReIRR.js.gz +0 -0
- package/dist/web/assets/powershell-Cb_RNzSh.js.br +0 -0
- package/dist/web/assets/powershell-Cb_RNzSh.js.gz +0 -0
- package/dist/web/assets/{ppmbot-settings-section-CHr2FIDj.js → ppmbot-settings-section-DF0kqdyO.js} +1 -1
- package/dist/web/assets/ppmbot-settings-section-DF0kqdyO.js.br +0 -0
- package/dist/web/assets/ppmbot-settings-section-DF0kqdyO.js.gz +0 -0
- package/dist/web/assets/pptx-export-D6DOknBD.js.br +0 -0
- package/dist/web/assets/pptx-export-D6DOknBD.js.gz +0 -0
- package/dist/web/assets/prisma-nKLUh3DY.js.br +0 -0
- package/dist/web/assets/prisma-nKLUh3DY.js.gz +0 -0
- package/dist/web/assets/{problems-panel-41z59l78.js → problems-panel-DRcq5ChN.js} +1 -1
- package/dist/web/assets/problems-panel-DRcq5ChN.js.br +0 -0
- package/dist/web/assets/problems-panel-DRcq5ChN.js.gz +0 -0
- package/dist/web/assets/{process-table-CVMEMJqQ.js → process-table-Ds0S_YK-.js} +1 -1
- package/dist/web/assets/process-table-Ds0S_YK-.js.br +0 -0
- package/dist/web/assets/process-table-Ds0S_YK-.js.gz +0 -0
- package/dist/web/assets/project-store-C5gJXkvb.js.br +0 -0
- package/dist/web/assets/project-store-C5gJXkvb.js.gz +0 -0
- package/dist/web/assets/prolog-BD9orEy4.js.br +0 -0
- package/dist/web/assets/prolog-BD9orEy4.js.gz +0 -0
- package/dist/web/assets/proto-B-AFoz75.js.br +0 -0
- package/dist/web/assets/proto-B-AFoz75.js.gz +0 -0
- package/dist/web/assets/{proxy-settings-section-B4dkvCCx.js → proxy-settings-section-Q-ttqVOa.js} +1 -1
- package/dist/web/assets/proxy-settings-section-Q-ttqVOa.js.br +0 -0
- package/dist/web/assets/proxy-settings-section-Q-ttqVOa.js.gz +0 -0
- package/dist/web/assets/pug-IMA1knL7.js.br +0 -0
- package/dist/web/assets/pug-IMA1knL7.js.gz +0 -0
- package/dist/web/assets/puppet-DDW6wWm4.js.br +0 -0
- package/dist/web/assets/puppet-DDW6wWm4.js.gz +0 -0
- package/dist/web/assets/purescript-DXy49AJg.js.br +0 -0
- package/dist/web/assets/purescript-DXy49AJg.js.gz +0 -0
- package/dist/web/assets/python-BQnvDlc7.js.br +0 -0
- package/dist/web/assets/python-BQnvDlc7.js.gz +0 -0
- package/dist/web/assets/qml-DuwVuXga.js.br +0 -0
- package/dist/web/assets/qml-DuwVuXga.js.gz +0 -0
- package/dist/web/assets/qss-8XaprLEt.js.br +0 -0
- package/dist/web/assets/qss-8XaprLEt.js.gz +0 -0
- package/dist/web/assets/query-audit-section-Cn11xqgz.js.br +0 -0
- package/dist/web/assets/query-audit-section-Cn11xqgz.js.gz +0 -0
- package/dist/web/assets/r-DsXT2lmn.js.br +0 -0
- package/dist/web/assets/r-DsXT2lmn.js.gz +0 -0
- package/dist/web/assets/racket-ChcVp15M.js.br +0 -0
- package/dist/web/assets/racket-ChcVp15M.js.gz +0 -0
- package/dist/web/assets/raku-dEgEXW0A.js.br +0 -0
- package/dist/web/assets/raku-dEgEXW0A.js.gz +0 -0
- package/dist/web/assets/razor-Be4LE-G0.js.br +0 -0
- package/dist/web/assets/razor-Be4LE-G0.js.gz +0 -0
- package/dist/web/assets/red-hmwjontD.js.br +0 -0
- package/dist/web/assets/red-hmwjontD.js.gz +0 -0
- package/dist/web/assets/reg-CIkOufh2.js.br +0 -0
- package/dist/web/assets/reg-CIkOufh2.js.gz +0 -0
- package/dist/web/assets/regexp-ztLDvplH.js.br +0 -0
- package/dist/web/assets/regexp-ztLDvplH.js.gz +0 -0
- package/dist/web/assets/rel-NXKKDiTi.js.br +0 -0
- package/dist/web/assets/rel-NXKKDiTi.js.gz +0 -0
- package/dist/web/assets/{remote-desktop-clipboard-notice-Co4vEiiB.js → remote-desktop-clipboard-notice-CvPPtrRq.js} +1 -1
- package/dist/web/assets/remote-desktop-clipboard-notice-CvPPtrRq.js.br +0 -0
- package/dist/web/assets/remote-desktop-clipboard-notice-CvPPtrRq.js.gz +0 -0
- package/dist/web/assets/{remote-desktop-mobile-sheet-Cv4yo7K4.js → remote-desktop-mobile-sheet-B-TT9Fdt.js} +2 -2
- package/dist/web/assets/remote-desktop-mobile-sheet-B-TT9Fdt.js.br +0 -0
- package/dist/web/assets/remote-desktop-mobile-sheet-B-TT9Fdt.js.gz +0 -0
- package/dist/web/assets/{remote-desktop-mobile-view-CcuulHIu.js → remote-desktop-mobile-view-hUnYxXDk.js} +1 -1
- package/dist/web/assets/remote-desktop-mobile-view-hUnYxXDk.js.br +0 -0
- package/dist/web/assets/remote-desktop-mobile-view-hUnYxXDk.js.gz +0 -0
- package/dist/web/assets/{remote-desktop-readiness-gate-ouPRvBlu.js → remote-desktop-readiness-gate-CUmaeiX9.js} +1 -1
- package/dist/web/assets/remote-desktop-readiness-gate-CUmaeiX9.js.br +0 -0
- package/dist/web/assets/remote-desktop-readiness-gate-CUmaeiX9.js.gz +0 -0
- package/dist/web/assets/{remote-desktop-window-content-DmH3jBuG.js → remote-desktop-window-content-DEPUOOGw.js} +1 -1
- package/dist/web/assets/remote-desktop-window-content-DEPUOOGw.js.br +0 -0
- package/dist/web/assets/remote-desktop-window-content-DEPUOOGw.js.gz +0 -0
- package/dist/web/assets/resolve-theme-B87m6l4i.js.br +0 -0
- package/dist/web/assets/resolve-theme-B87m6l4i.js.gz +0 -0
- package/dist/web/assets/riscv-BEIzhPcg.js.br +0 -0
- package/dist/web/assets/riscv-BEIzhPcg.js.gz +0 -0
- package/dist/web/assets/rolldown-runtime-C5c2KzVm.js.br +0 -0
- package/dist/web/assets/rolldown-runtime-C5c2KzVm.js.gz +0 -0
- package/dist/web/assets/ron-CW2Bt8rN.js.br +0 -0
- package/dist/web/assets/ron-CW2Bt8rN.js.gz +0 -0
- package/dist/web/assets/rose-pine-DhnBfr5a.js.br +0 -0
- package/dist/web/assets/rose-pine-DhnBfr5a.js.gz +0 -0
- package/dist/web/assets/rose-pine-dawn-Jyj59rVs.js.br +0 -0
- package/dist/web/assets/rose-pine-dawn-Jyj59rVs.js.gz +0 -0
- package/dist/web/assets/rose-pine-moon-BMulxhJC.js.br +0 -0
- package/dist/web/assets/rose-pine-moon-BMulxhJC.js.gz +0 -0
- package/dist/web/assets/rosmsg-DuctJm-Q.js.br +0 -0
- package/dist/web/assets/rosmsg-DuctJm-Q.js.gz +0 -0
- package/dist/web/assets/rst-BdtOZUlL.js.br +0 -0
- package/dist/web/assets/rst-BdtOZUlL.js.gz +0 -0
- package/dist/web/assets/ruby-DTna6e9n.js.br +0 -0
- package/dist/web/assets/ruby-DTna6e9n.js.gz +0 -0
- package/dist/web/assets/rust-FbJ2fCp9.js.br +0 -0
- package/dist/web/assets/rust-FbJ2fCp9.js.gz +0 -0
- package/dist/web/assets/sas-X50YKLBX.js.br +0 -0
- package/dist/web/assets/sas-X50YKLBX.js.gz +0 -0
- package/dist/web/assets/sass-Dfxwdu2h.js.br +0 -0
- package/dist/web/assets/sass-Dfxwdu2h.js.gz +0 -0
- package/dist/web/assets/scala-ClsSR0wG.js.br +0 -0
- package/dist/web/assets/scala-ClsSR0wG.js.gz +0 -0
- package/dist/web/assets/{schedules-settings-section-Dy6hARk0.js → schedules-settings-section-Bv_wrzDp.js} +1 -1
- package/dist/web/assets/schedules-settings-section-Bv_wrzDp.js.br +0 -0
- package/dist/web/assets/schedules-settings-section-Bv_wrzDp.js.gz +0 -0
- package/dist/web/assets/scheme-Jj_Cc-8H.js.br +0 -0
- package/dist/web/assets/scheme-Jj_Cc-8H.js.gz +0 -0
- package/dist/web/assets/scroll-area-xAtds1T-.js.br +0 -0
- package/dist/web/assets/scroll-area-xAtds1T-.js.gz +0 -0
- package/dist/web/assets/scss-cQk9zuqD.js.br +0 -0
- package/dist/web/assets/scss-cQk9zuqD.js.gz +0 -0
- package/dist/web/assets/sdbl-Bi8D_DGN.js.br +0 -0
- package/dist/web/assets/sdbl-Bi8D_DGN.js.gz +0 -0
- package/dist/web/assets/send-to-chat-TSKk3fI9.js.br +0 -0
- package/dist/web/assets/send-to-chat-TSKk3fI9.js.gz +0 -0
- package/dist/web/assets/{settings-body-CZSwxG0i.js → settings-body-C5_chEpq.js} +2 -2
- package/dist/web/assets/settings-body-C5_chEpq.js.br +0 -0
- package/dist/web/assets/settings-body-C5_chEpq.js.gz +0 -0
- package/dist/web/assets/settings-store-DXmQug0m.js.br +0 -0
- package/dist/web/assets/settings-store-DXmQug0m.js.gz +0 -0
- package/dist/web/assets/{settings-tab-B_WPC-y7.js → settings-tab-CogpEbq5.js} +1 -1
- package/dist/web/assets/{settings-window-content-CSWdwQn1.js → settings-window-content-BNRirQDZ.js} +1 -1
- package/dist/web/assets/shaderlab-CSeOcwk6.js.br +0 -0
- package/dist/web/assets/shaderlab-CSeOcwk6.js.gz +0 -0
- package/dist/web/assets/shellscript-Dtzjnpp9.js.br +0 -0
- package/dist/web/assets/shellscript-Dtzjnpp9.js.gz +0 -0
- package/dist/web/assets/slack-dark-B7gbmJT9.js.br +0 -0
- package/dist/web/assets/slack-dark-B7gbmJT9.js.gz +0 -0
- package/dist/web/assets/slack-ochin-O7j_c76D.js.br +0 -0
- package/dist/web/assets/slack-ochin-O7j_c76D.js.gz +0 -0
- package/dist/web/assets/smalltalk-BD5-U3JK.js.br +0 -0
- package/dist/web/assets/smalltalk-BD5-U3JK.js.gz +0 -0
- package/dist/web/assets/snazzy-light-BbiRB69_.js.br +0 -0
- package/dist/web/assets/snazzy-light-BbiRB69_.js.gz +0 -0
- package/dist/web/assets/solarized-dark-2OWHYEBu.js.br +0 -0
- package/dist/web/assets/solarized-dark-2OWHYEBu.js.gz +0 -0
- package/dist/web/assets/solarized-light-Cew4YqT3.js.br +0 -0
- package/dist/web/assets/solarized-light-Cew4YqT3.js.gz +0 -0
- package/dist/web/assets/solidity-Bpbne2Tx.js.br +0 -0
- package/dist/web/assets/solidity-Bpbne2Tx.js.gz +0 -0
- package/dist/web/assets/soy-DeMex-y3.js.br +0 -0
- package/dist/web/assets/soy-DeMex-y3.js.gz +0 -0
- package/dist/web/assets/sparql-CDZTYDwx.js.br +0 -0
- package/dist/web/assets/sparql-CDZTYDwx.js.gz +0 -0
- package/dist/web/assets/splunk-Dq86L1_O.js.br +0 -0
- package/dist/web/assets/splunk-Dq86L1_O.js.gz +0 -0
- package/dist/web/assets/sql-BS_vTOM8.js.br +0 -0
- package/dist/web/assets/sql-BS_vTOM8.js.gz +0 -0
- package/dist/web/assets/{sql-query-editor-6Ee_Zn5j.js → sql-query-editor-Bg3lOrmt.js} +1 -1
- package/dist/web/assets/sql-query-editor-Bg3lOrmt.js.br +0 -0
- package/dist/web/assets/sql-query-editor-Bg3lOrmt.js.gz +0 -0
- package/dist/web/assets/{sqlite-viewer-Cj0S_m9V.js → sqlite-viewer-DMKtDkI6.js} +1 -1
- package/dist/web/assets/sqlite-viewer-DMKtDkI6.js.br +0 -0
- package/dist/web/assets/sqlite-viewer-DMKtDkI6.js.gz +0 -0
- package/dist/web/assets/ssh-config-j5hsMvbs.js.br +0 -0
- package/dist/web/assets/ssh-config-j5hsMvbs.js.gz +0 -0
- package/dist/web/assets/stata-PkjbLwNy.js.br +0 -0
- package/dist/web/assets/stata-PkjbLwNy.js.gz +0 -0
- package/dist/web/assets/stylus-DWhCIBg0.js.br +0 -0
- package/dist/web/assets/stylus-DWhCIBg0.js.gz +0 -0
- package/dist/web/assets/surrealql-BJ6bKPXV.js.br +0 -0
- package/dist/web/assets/surrealql-BJ6bKPXV.js.gz +0 -0
- package/dist/web/assets/svelte-D4u1sGpe.js.br +0 -0
- package/dist/web/assets/svelte-D4u1sGpe.js.gz +0 -0
- package/dist/web/assets/swift-29fG5ztW.js.br +0 -0
- package/dist/web/assets/swift-29fG5ztW.js.gz +0 -0
- package/dist/web/assets/synthwave-84-DraIUmiw.js.br +0 -0
- package/dist/web/assets/synthwave-84-DraIUmiw.js.gz +0 -0
- package/dist/web/assets/{system-monitor-body-PQqXdK4a.js → system-monitor-body-Dst39LA7.js} +2 -2
- package/dist/web/assets/system-monitor-body-Dst39LA7.js.br +0 -0
- package/dist/web/assets/system-monitor-body-Dst39LA7.js.gz +0 -0
- package/dist/web/assets/{system-monitor-tab-BEjvgQuQ.js → system-monitor-tab-CEwME1_C.js} +1 -1
- package/dist/web/assets/{system-monitor-window-content-DZwvvN-M.js → system-monitor-window-content-DQRBjn9z.js} +1 -1
- package/dist/web/assets/system-verilog-DqcJAWq_.js.br +0 -0
- package/dist/web/assets/system-verilog-DqcJAWq_.js.gz +0 -0
- package/dist/web/assets/systemd-BUPJrx1D.js.br +0 -0
- package/dist/web/assets/systemd-BUPJrx1D.js.gz +0 -0
- package/dist/web/assets/{tab-host-window-content-CnV4Z4Yt.js → tab-host-window-content-Dlunzrfh.js} +1 -1
- package/dist/web/assets/tab-host-window-content-Dlunzrfh.js.br +0 -0
- package/dist/web/assets/tab-host-window-content-Dlunzrfh.js.gz +0 -0
- package/dist/web/assets/talonscript-BGYbnAKh.js.br +0 -0
- package/dist/web/assets/talonscript-BGYbnAKh.js.gz +0 -0
- package/dist/web/assets/tasl-CwbSJqng.js.br +0 -0
- package/dist/web/assets/tasl-CwbSJqng.js.gz +0 -0
- package/dist/web/assets/tcl-Ba9376wa.js.br +0 -0
- package/dist/web/assets/tcl-Ba9376wa.js.gz +0 -0
- package/dist/web/assets/{team-member-sheet-8EVCTM-X.js → team-member-sheet-CPZGU9j5.js} +2 -2
- package/dist/web/assets/team-member-sheet-CPZGU9j5.js.br +0 -0
- package/dist/web/assets/team-member-sheet-CPZGU9j5.js.gz +0 -0
- package/dist/web/assets/{team-member-window-content-Bc0ydBAn.js → team-member-window-content-CwI9JD_H.js} +1 -1
- package/dist/web/assets/team-member-window-content-CwI9JD_H.js.br +0 -0
- package/dist/web/assets/team-member-window-content-CwI9JD_H.js.gz +0 -0
- package/dist/web/assets/templ-vtFoIgGG.js.br +0 -0
- package/dist/web/assets/templ-vtFoIgGG.js.gz +0 -0
- package/dist/web/assets/{terminal-tab-0b63-txz.js → terminal-tab-BcQXleSa.js} +1 -1
- package/dist/web/assets/terminal-tab-BcQXleSa.js.br +0 -0
- package/dist/web/assets/terminal-tab-BcQXleSa.js.gz +0 -0
- package/dist/web/assets/terraform-ChSasWu8.js.br +0 -0
- package/dist/web/assets/terraform-ChSasWu8.js.gz +0 -0
- package/dist/web/assets/tex-o6JLe3Qo.js.br +0 -0
- package/dist/web/assets/tex-o6JLe3Qo.js.gz +0 -0
- package/dist/web/assets/tokyo-night-Bbw1Yguv.js.br +0 -0
- package/dist/web/assets/tokyo-night-Bbw1Yguv.js.gz +0 -0
- package/dist/web/assets/toml-CYb7zi5B.js.br +0 -0
- package/dist/web/assets/toml-CYb7zi5B.js.gz +0 -0
- package/dist/web/assets/{tool-cards-C09WknHl.js → tool-cards-DsQdMorI.js} +2 -2
- package/dist/web/assets/tool-cards-DsQdMorI.js.br +0 -0
- package/dist/web/assets/tool-cards-DsQdMorI.js.gz +0 -0
- package/dist/web/assets/ts-tags-DkmPnhIx.js.br +0 -0
- package/dist/web/assets/ts-tags-DkmPnhIx.js.gz +0 -0
- package/dist/web/assets/tsx-BUq9xm2T.js.br +0 -0
- package/dist/web/assets/tsx-BUq9xm2T.js.gz +0 -0
- package/dist/web/assets/turtle-DIoQTATC.js.br +0 -0
- package/dist/web/assets/turtle-DIoQTATC.js.gz +0 -0
- package/dist/web/assets/twig-I9ja_Rk_.js.br +0 -0
- package/dist/web/assets/twig-I9ja_Rk_.js.gz +0 -0
- package/dist/web/assets/typescript-CP3RLBKz.js.br +0 -0
- package/dist/web/assets/typescript-CP3RLBKz.js.gz +0 -0
- package/dist/web/assets/typespec-Dpr1bC2k.js.br +0 -0
- package/dist/web/assets/typespec-Dpr1bC2k.js.gz +0 -0
- package/dist/web/assets/typst-D4WMCDMn.js.br +0 -0
- package/dist/web/assets/typst-D4WMCDMn.js.gz +0 -0
- package/dist/web/assets/{use-inline-blame-BuAc9IXE.js → use-inline-blame--fS-pzzX.js} +1 -1
- package/dist/web/assets/use-inline-blame--fS-pzzX.js.br +0 -0
- package/dist/web/assets/use-inline-blame--fS-pzzX.js.gz +0 -0
- package/dist/web/assets/{use-lsp-DAtq1G0M.js → use-lsp-DK26Eter.js} +1 -1
- package/dist/web/assets/use-lsp-DK26Eter.js.br +0 -0
- package/dist/web/assets/use-lsp-DK26Eter.js.gz +0 -0
- package/dist/web/assets/{use-monaco-theme-Ch_znquJ.js → use-monaco-theme-BVatH9yZ.js} +1 -1
- package/dist/web/assets/{use-websocket-DGEOad8p.js → use-websocket-C1mloX0R.js} +1 -1
- package/dist/web/assets/utils-btZ8C8-R.js.br +0 -0
- package/dist/web/assets/utils-btZ8C8-R.js.gz +0 -0
- package/dist/web/assets/v-B1wY-VFU.js.br +0 -0
- package/dist/web/assets/v-B1wY-VFU.js.gz +0 -0
- package/dist/web/assets/vala-BKqhrirP.js.br +0 -0
- package/dist/web/assets/vala-BKqhrirP.js.gz +0 -0
- package/dist/web/assets/vb-S9PHCa7-.js.br +0 -0
- package/dist/web/assets/vb-S9PHCa7-.js.gz +0 -0
- package/dist/web/assets/vendor-markdown-QKPNiWEd.js.br +0 -0
- package/dist/web/assets/vendor-markdown-QKPNiWEd.js.gz +0 -0
- package/dist/web/assets/vendor-mermaid-eg2XWIjK.js.br +0 -0
- package/dist/web/assets/vendor-mermaid-eg2XWIjK.js.gz +0 -0
- package/dist/web/assets/vendor-ui-BHh12_0v.js.br +0 -0
- package/dist/web/assets/vendor-ui-BHh12_0v.js.gz +0 -0
- package/dist/web/assets/vendor-xterm-BHKF_Nsf.js.br +0 -0
- package/dist/web/assets/vendor-xterm-BHKF_Nsf.js.gz +0 -0
- package/dist/web/assets/vendor-xterm-DkTCHfhq.css.br +0 -0
- package/dist/web/assets/vendor-xterm-DkTCHfhq.css.gz +0 -0
- package/dist/web/assets/verilog-CrztYl3V.js.br +0 -0
- package/dist/web/assets/verilog-CrztYl3V.js.gz +0 -0
- package/dist/web/assets/vesper-C5KfcyFv.js.br +0 -0
- package/dist/web/assets/vesper-C5KfcyFv.js.gz +0 -0
- package/dist/web/assets/vhdl-D0qMeIJu.js.br +0 -0
- package/dist/web/assets/vhdl-D0qMeIJu.js.gz +0 -0
- package/dist/web/assets/{video-preview-DH3RtwVT.js → video-preview-C48Go7JZ.js} +1 -1
- package/dist/web/assets/video-preview-C48Go7JZ.js.br +0 -0
- package/dist/web/assets/video-preview-C48Go7JZ.js.gz +0 -0
- package/dist/web/assets/viml-Dsv9mRPK.js.br +0 -0
- package/dist/web/assets/viml-Dsv9mRPK.js.gz +0 -0
- package/dist/web/assets/vitesse-black-rJvNN5GN.js.br +0 -0
- package/dist/web/assets/vitesse-black-rJvNN5GN.js.gz +0 -0
- package/dist/web/assets/vitesse-dark-CYp0WWjf.js.br +0 -0
- package/dist/web/assets/vitesse-dark-CYp0WWjf.js.gz +0 -0
- package/dist/web/assets/vitesse-light-BczSAvzE.js.br +0 -0
- package/dist/web/assets/vitesse-light-BczSAvzE.js.gz +0 -0
- package/dist/web/assets/vue-DJf-APPD.js.br +0 -0
- package/dist/web/assets/vue-DJf-APPD.js.gz +0 -0
- package/dist/web/assets/vue-html-DUJ89Ycn.js.br +0 -0
- package/dist/web/assets/vue-html-DUJ89Ycn.js.gz +0 -0
- package/dist/web/assets/vue-vine-CWUFwuRE.js.br +0 -0
- package/dist/web/assets/vue-vine-CWUFwuRE.js.gz +0 -0
- package/dist/web/assets/vyper-DM7bKz7E.js.br +0 -0
- package/dist/web/assets/vyper-DM7bKz7E.js.gz +0 -0
- package/dist/web/assets/wasm-BXCHhbrz.js.br +0 -0
- package/dist/web/assets/wasm-BXCHhbrz.js.gz +0 -0
- package/dist/web/assets/wasm-CAJoqhGc.js.br +0 -0
- package/dist/web/assets/wasm-CAJoqhGc.js.gz +0 -0
- package/dist/web/assets/wenyan-NQ8fdbEq.js.br +0 -0
- package/dist/web/assets/wenyan-NQ8fdbEq.js.gz +0 -0
- package/dist/web/assets/wgsl-C88C7vmC.js.br +0 -0
- package/dist/web/assets/wgsl-C88C7vmC.js.gz +0 -0
- package/dist/web/assets/wikitext-D92r7uX8.js.br +0 -0
- package/dist/web/assets/wikitext-D92r7uX8.js.gz +0 -0
- package/dist/web/assets/window-store-B4cbZ5rr.js.br +0 -0
- package/dist/web/assets/window-store-B4cbZ5rr.js.gz +0 -0
- package/dist/web/assets/wit-DNvTfQjW.js.br +0 -0
- package/dist/web/assets/wit-DNvTfQjW.js.gz +0 -0
- package/dist/web/assets/wolfram-CNS5lCGj.js.br +0 -0
- package/dist/web/assets/wolfram-CNS5lCGj.js.gz +0 -0
- package/dist/web/assets/xml-DshhaDKq.js.br +0 -0
- package/dist/web/assets/xml-DshhaDKq.js.gz +0 -0
- package/dist/web/assets/xsl-BlRNlmF7.js.br +0 -0
- package/dist/web/assets/xsl-BlRNlmF7.js.gz +0 -0
- package/dist/web/assets/yaml-seUOGdyI.js.br +0 -0
- package/dist/web/assets/yaml-seUOGdyI.js.gz +0 -0
- package/dist/web/assets/zenscript-B_rGi-H_.js.br +0 -0
- package/dist/web/assets/zenscript-B_rGi-H_.js.gz +0 -0
- package/dist/web/assets/zig-BRi9UYQa.js.br +0 -0
- package/dist/web/assets/zig-BRi9UYQa.js.gz +0 -0
- package/dist/web/index.html +2 -2
- 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/package.json +1 -1
- package/scripts/check-ppm-dir-usage.sh +0 -0
- package/scripts/install.sh +0 -0
- package/scripts/release.sh +0 -0
- package/src/providers/codex-app-server/codex-auth-failure.ts +51 -0
- package/src/providers/codex-app-server/codex-event-mapper.ts +8 -0
- package/src/providers/codex-app-server/codex-provider.ts +97 -19
- package/src/providers/codex-app-server/codex-usage-source.ts +14 -1
- package/src/server/routes/codex-accounts.ts +18 -6
- package/src/services/codex-account-auth-state.ts +58 -0
- package/src/services/codex-account-login.ts +42 -9
- package/src/services/codex-account.service.ts +42 -7
- package/src/services/proxy-agent-anthropic-bridge.ts +2 -2
- package/src/services/proxy-agent-bridge.ts +2 -2
- package/src/services/proxy-agent-turn.ts +80 -20
- package/src/services/proxy-image-bridge.ts +3 -3
- package/src/services/proxy.service.ts +1 -1
- package/src/web/components/chat/codex-usage-panel.tsx +13 -1
- package/src/web/components/chat/usage-badge.tsx +14 -0
- package/src/web/components/settings/accounts/account-add-dialog.tsx +10 -3
- package/src/web/components/settings/accounts/account-card.tsx +15 -4
- package/src/web/components/settings/accounts/account-hint.tsx +19 -2
- package/src/web/components/settings/accounts/claude-accounts-section.tsx +10 -2
- package/src/web/components/settings/accounts/codex-accounts-section.tsx +18 -2
- package/src/web/components/settings/accounts/codex-add-account-dialog.tsx +50 -33
- package/src/web/components/settings/accounts/codex-sign-in-again-dialog.tsx +47 -0
- package/src/web/components/settings/accounts/use-codex-accounts.ts +18 -4
- package/dist/web/assets/accounts-settings-section-BR7t8CEk.js +0 -1
- package/dist/web/assets/chat-tab-MdU9Jr3F.js +0 -15
- package/dist/web/assets/codex-daily-guard-B21M4m-P.js +0 -1
- package/dist/web/assets/index-CzYrKDUF.css +0 -1
|
@@ -34,6 +34,54 @@ const PROXY_PERMISSION_MODE = "plan";
|
|
|
34
34
|
const FIRST_EVENT_TIMEOUT_MS = 90_000;
|
|
35
35
|
const IDLE_TIMEOUT_MS = 300_000;
|
|
36
36
|
|
|
37
|
+
/**
|
|
38
|
+
* How many proxy turns may run at once, across every provider and dialect.
|
|
39
|
+
*
|
|
40
|
+
* Every turn is its own agent subprocess (codex: `bun x @openai/codex app-server`), and a
|
|
41
|
+
* client that retries on failure multiplies them: a batch script at concurrency 4 against
|
|
42
|
+
* a signed-out account kept a dozen app-servers starting and failing at once, and the
|
|
43
|
+
* server stopped answering its own health check until the supervisor killed it, over and
|
|
44
|
+
* over. Past this many, a request is refused at once with 429 + Retry-After — which every
|
|
45
|
+
* OpenAI/Anthropic SDK already backs off on — instead of queueing more subprocesses.
|
|
46
|
+
*/
|
|
47
|
+
export const MAX_CONCURRENT_PROXY_TURNS = 4;
|
|
48
|
+
const BUSY_RETRY_AFTER_S = 5;
|
|
49
|
+
let activeProxyTurns = 0;
|
|
50
|
+
|
|
51
|
+
/** Refused because {@link MAX_CONCURRENT_PROXY_TURNS} turns are already running. */
|
|
52
|
+
export class ProxyBusyError extends Error {}
|
|
53
|
+
|
|
54
|
+
/** Current number of running proxy turns (for tests and diagnostics). */
|
|
55
|
+
export function activeProxyTurnCount(): number {
|
|
56
|
+
return activeProxyTurns;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/** Take a turn slot, or throw {@link ProxyBusyError}. The returned release is idempotent. */
|
|
60
|
+
function acquireTurnSlot(): () => void {
|
|
61
|
+
if (activeProxyTurns >= MAX_CONCURRENT_PROXY_TURNS) {
|
|
62
|
+
throw new ProxyBusyError(`Proxy busy: ${MAX_CONCURRENT_PROXY_TURNS} requests are already running. Retry in ${BUSY_RETRY_AFTER_S}s.`);
|
|
63
|
+
}
|
|
64
|
+
activeProxyTurns++;
|
|
65
|
+
let released = false;
|
|
66
|
+
return () => {
|
|
67
|
+
if (released) return;
|
|
68
|
+
released = true;
|
|
69
|
+
activeProxyTurns--;
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* The error response for a turn that could not run, in the caller's dialect.
|
|
75
|
+
* A busy refusal is a 429 with Retry-After so SDKs back off; anything else is a 502.
|
|
76
|
+
*/
|
|
77
|
+
export function turnFailureResponse(e: unknown, render: (status: number, message: string) => Response): Response {
|
|
78
|
+
const message = (e as Error)?.message ?? String(e);
|
|
79
|
+
if (!(e instanceof ProxyBusyError)) return render(502, message);
|
|
80
|
+
const res = render(429, message);
|
|
81
|
+
res.headers.set("Retry-After", String(BUSY_RETRY_AFTER_S));
|
|
82
|
+
return res;
|
|
83
|
+
}
|
|
84
|
+
|
|
37
85
|
/** Providers that exist in the registry but must never be exposed over HTTP. */
|
|
38
86
|
const NOT_PROXYABLE = new Set(["mock"]);
|
|
39
87
|
|
|
@@ -133,26 +181,38 @@ export async function startAgentTurn(providerId: string, req: TurnRequest): Prom
|
|
|
133
181
|
// instructions lead the turn instead.
|
|
134
182
|
const message = req.systemPrompt ? `${req.systemPrompt}\n\n${req.prompt}` : req.prompt;
|
|
135
183
|
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
184
|
+
// Held until cleanup, which every caller runs on every path — including a streaming
|
|
185
|
+
// response whose body outlives this function.
|
|
186
|
+
const release = acquireTurnSlot();
|
|
187
|
+
try {
|
|
188
|
+
const session = await provider.createSession({
|
|
189
|
+
projectPath: proxyWorkspace(),
|
|
190
|
+
title: `[API] ${providerId}`,
|
|
191
|
+
});
|
|
192
|
+
|
|
193
|
+
const events = provider.sendMessage(session.id, message, {
|
|
194
|
+
permissionMode: PROXY_PERMISSION_MODE,
|
|
195
|
+
...(req.model ? { model: req.model } : {}),
|
|
196
|
+
...(req.imagePaths?.length ? { imagePaths: req.imagePaths } : {}),
|
|
197
|
+
});
|
|
198
|
+
|
|
199
|
+
return {
|
|
200
|
+
events: withTimeout(events),
|
|
201
|
+
cleanup: async () => {
|
|
202
|
+
try {
|
|
203
|
+
// abortQuery is what kills the runtime; deleteSession alone may only drop
|
|
204
|
+
// the record, depending on the provider.
|
|
205
|
+
try { provider.abortQuery?.(session.id, "proxy"); } catch { /* best effort */ }
|
|
206
|
+
try { await provider.deleteSession(session.id); } catch { /* best effort */ }
|
|
207
|
+
} finally {
|
|
208
|
+
release();
|
|
209
|
+
}
|
|
210
|
+
},
|
|
211
|
+
};
|
|
212
|
+
} catch (e) {
|
|
213
|
+
release();
|
|
214
|
+
throw e;
|
|
215
|
+
}
|
|
156
216
|
}
|
|
157
217
|
|
|
158
218
|
/** `<provider>/v1/models` in OpenAI's list shape, so clients can discover models. */
|
|
@@ -21,7 +21,7 @@ import { mkdtempSync, mkdirSync, readdirSync, readFileSync, rmSync, statSync, wr
|
|
|
21
21
|
import { tmpdir } from "node:os";
|
|
22
22
|
import { join, extname } from "node:path";
|
|
23
23
|
import { resolveCodexAccountForSession } from "./codex-account.service.ts";
|
|
24
|
-
import { startAgentTurn, resolveProvider } from "./proxy-agent-turn.ts";
|
|
24
|
+
import { startAgentTurn, resolveProvider, turnFailureResponse } from "./proxy-agent-turn.ts";
|
|
25
25
|
import { openAiError } from "./proxy-openai-format.ts";
|
|
26
26
|
|
|
27
27
|
/** Providers whose agent can actually produce an image. */
|
|
@@ -149,7 +149,7 @@ export async function forwardImageGeneration(providerId: string, body: ImageGene
|
|
|
149
149
|
const produced = await runImageTurn(providerId, generationPrompt(body), body.model, []);
|
|
150
150
|
return imagesResponse(produced.slice(0, Math.min(Math.max(body.n ?? 1, 1), 4)));
|
|
151
151
|
} catch (e) {
|
|
152
|
-
return
|
|
152
|
+
return turnFailureResponse(e, openAiError);
|
|
153
153
|
}
|
|
154
154
|
}
|
|
155
155
|
|
|
@@ -179,7 +179,7 @@ export async function forwardImageEdit(providerId: string, body: ImageEditBody):
|
|
|
179
179
|
const produced = await runImageTurn(providerId, prompt, body.model, [path]);
|
|
180
180
|
return imagesResponse(produced.slice(0, Math.min(Math.max(body.n ?? 1, 1), 4)));
|
|
181
181
|
} catch (e) {
|
|
182
|
-
return
|
|
182
|
+
return turnFailureResponse(e, openAiError);
|
|
183
183
|
} finally {
|
|
184
184
|
try { rmSync(dir, { recursive: true, force: true }); } catch { /* best effort */ }
|
|
185
185
|
}
|
|
@@ -198,7 +198,7 @@ class ProxyService {
|
|
|
198
198
|
insertProxyRequest({
|
|
199
199
|
endpoint, model: parsed.model, accountLabel: providerId,
|
|
200
200
|
callerIp: caller?.callerIp, callerUa: caller?.callerUa,
|
|
201
|
-
status: response.ok ? "success" : "error", durationMs,
|
|
201
|
+
status: response.ok ? "success" : response.status === 429 ? "rate_limited" : "error", durationMs,
|
|
202
202
|
});
|
|
203
203
|
console.log(`[proxy] POST ${endpoint} → ${response.status} ${durationMs}ms caller=${caller?.callerIp ?? "unknown"}`);
|
|
204
204
|
return response;
|
|
@@ -25,7 +25,8 @@ import { codexPlanLabel } from "../../../shared/codex-plan-label.ts";
|
|
|
25
25
|
import { dailyGuardState } from "../../../shared/codex-daily-guard.ts";
|
|
26
26
|
import { UsagePanelShell } from "./usage-panel-shell";
|
|
27
27
|
|
|
28
|
-
|
|
28
|
+
import { CODEX_SIGNED_OUT_HINT, type CodexAccount } from "@/components/settings/accounts/use-codex-accounts";
|
|
29
|
+
import { CodexSignInAgainDialog } from "@/components/settings/accounts/codex-sign-in-again-dialog";
|
|
29
30
|
type Usage = Pick<UsageInfo, "fiveHour" | "sevenDay" | "session" | "weekly">;
|
|
30
31
|
|
|
31
32
|
/** Matches the whole-percent figure the bars show, so a refusal agrees with the card. */
|
|
@@ -66,6 +67,8 @@ export function CodexUsagePanel({ onClose, usage, onReload, onSelectAccount, sel
|
|
|
66
67
|
const [selectingId, setSelectingId] = useState<string | null>(null);
|
|
67
68
|
const [togglingId, setTogglingId] = useState<string | null>(null);
|
|
68
69
|
const [panelError, setPanelError] = useState<string | null>(null);
|
|
70
|
+
/** The signed-out account whose "Sign in again" chip was pressed. */
|
|
71
|
+
const [signInAgain, setSignInAgain] = useState<CodexAccount | null>(null);
|
|
69
72
|
|
|
70
73
|
const load = useCallback(async () => {
|
|
71
74
|
setLoading(true);
|
|
@@ -98,6 +101,7 @@ export function CodexUsagePanel({ onClose, usage, onReload, onSelectAccount, sel
|
|
|
98
101
|
*/
|
|
99
102
|
const unselectableReason = useCallback((account: CodexAccount, u: Usage): string | null => {
|
|
100
103
|
if (account.status === "disabled") return "Disabled";
|
|
104
|
+
if (account.signedOut) return "Signed out — sign in again first";
|
|
101
105
|
if (atCap(u.fiveHour)) return `5-hour limit reached${u.session?.resetsAt ? ` — resets ${formatResetTime(u.session)}` : ""}`;
|
|
102
106
|
if (atCap(u.sevenDay)) return `Weekly limit reached${u.weekly?.resetsAt ? ` — resets ${formatResetTime(u.weekly)}` : ""}`;
|
|
103
107
|
return null;
|
|
@@ -175,6 +179,7 @@ export function CodexUsagePanel({ onClose, usage, onReload, onSelectAccount, sel
|
|
|
175
179
|
);
|
|
176
180
|
|
|
177
181
|
return (
|
|
182
|
+
<>
|
|
178
183
|
<UsagePanelShell
|
|
179
184
|
title="Codex Usage"
|
|
180
185
|
onClose={onClose}
|
|
@@ -205,9 +210,16 @@ export function CodexUsagePanel({ onClose, usage, onReload, onSelectAccount, sel
|
|
|
205
210
|
dailyGuard={guard ? { enabled: !!a.dailyGuardEnabled, state: guard } : undefined}
|
|
206
211
|
onDailyGuardToggle={guard ? () => void handleDailyGuardToggle(a.id, !!a.dailyGuardEnabled) : undefined}
|
|
207
212
|
dailyGuardToggling={togglingId === a.id}
|
|
213
|
+
reauthHint={a.signedOut ? CODEX_SIGNED_OUT_HINT : undefined}
|
|
214
|
+
// Only a ChatGPT sign-in can be renewed in place; a dead API key is replaced.
|
|
215
|
+
onReauth={a.type === "chatgpt" ? () => setSignInAgain(a) : undefined}
|
|
208
216
|
/>
|
|
209
217
|
);
|
|
210
218
|
})}
|
|
211
219
|
</UsagePanelShell>
|
|
220
|
+
{signInAgain && (
|
|
221
|
+
<CodexSignInAgainDialog account={signInAgain} onClose={() => setSignInAgain(null)} onDone={() => void load()} />
|
|
222
|
+
)}
|
|
223
|
+
</>
|
|
212
224
|
);
|
|
213
225
|
}
|
|
@@ -25,6 +25,7 @@ import { AccountBucketRow } from "@/components/settings/accounts/account-bucket-
|
|
|
25
25
|
import { useAccountsData } from "@/components/settings/accounts/use-accounts-data";
|
|
26
26
|
import { formatLastUpdated, formatResetTime, pctColor } from "@/components/settings/accounts/account-usage-format";
|
|
27
27
|
import { UsagePanelShell } from "./usage-panel-shell";
|
|
28
|
+
import { AddAccountDialog } from "@/components/settings/accounts/account-add-dialog";
|
|
28
29
|
|
|
29
30
|
/** Matches the whole-percent figure the usage bars show, so a refusal agrees with the card. */
|
|
30
31
|
function atCap(util: number | null | undefined): boolean {
|
|
@@ -91,6 +92,8 @@ export function UsageDetailPanel({
|
|
|
91
92
|
// One strip for anything that went wrong in this panel — a refused switch or a refused
|
|
92
93
|
// toggle. Two separate messages in two places would be harder to notice, not clearer.
|
|
93
94
|
const [panelError, setPanelError] = useState<string | null>(null);
|
|
95
|
+
/** Label of the account whose "Sign in again" chip was pressed; opens the sign-in dialog. */
|
|
96
|
+
const [signInAgainFor, setSignInAgainFor] = useState<string | null>(null);
|
|
94
97
|
|
|
95
98
|
if (!visible) return null;
|
|
96
99
|
|
|
@@ -159,6 +162,7 @@ export function UsageDetailPanel({
|
|
|
159
162
|
const hasCost = usage.queryCostUsd != null || usage.totalCostUsd != null;
|
|
160
163
|
|
|
161
164
|
return (
|
|
165
|
+
<>
|
|
162
166
|
<UsagePanelShell
|
|
163
167
|
title="Usage"
|
|
164
168
|
meta={lastFetchedAt && (
|
|
@@ -220,9 +224,19 @@ export function UsageDetailPanel({
|
|
|
220
224
|
selecting={selectingId === entry.accountId}
|
|
221
225
|
onToggle={handleToggle}
|
|
222
226
|
toggling={togglingId === entry.accountId}
|
|
227
|
+
onReauth={() => setSignInAgainFor(entry.accountLabel ?? entry.accountId.slice(0, 8))}
|
|
223
228
|
/>
|
|
224
229
|
);
|
|
225
230
|
})}
|
|
226
231
|
</UsagePanelShell>
|
|
232
|
+
{signInAgainFor && (
|
|
233
|
+
<AddAccountDialog
|
|
234
|
+
open
|
|
235
|
+
onOpenChange={(v) => { if (!v) setSignInAgainFor(null); }}
|
|
236
|
+
onSuccess={(msg) => { setSignInAgainFor(null); void reload(); if (msg) setPanelError(msg); }}
|
|
237
|
+
signInAgainFor={signInAgainFor}
|
|
238
|
+
/>
|
|
239
|
+
)}
|
|
240
|
+
</>
|
|
227
241
|
);
|
|
228
242
|
}
|
|
@@ -12,9 +12,14 @@ interface AddAccountDialogProps {
|
|
|
12
12
|
open: boolean;
|
|
13
13
|
onOpenChange: (open: boolean) => void;
|
|
14
14
|
onSuccess: (msg?: string) => void;
|
|
15
|
+
/**
|
|
16
|
+
* The label of an account being signed in again. Only the wording changes: the add flow
|
|
17
|
+
* already updates an account it matches by email or profile id, clearing its re-auth flag.
|
|
18
|
+
*/
|
|
19
|
+
signInAgainFor?: string;
|
|
15
20
|
}
|
|
16
21
|
|
|
17
|
-
export function AddAccountDialog({ open, onOpenChange, onSuccess }: AddAccountDialogProps) {
|
|
22
|
+
export function AddAccountDialog({ open, onOpenChange, onSuccess, signInAgainFor }: AddAccountDialogProps) {
|
|
18
23
|
const [newToken, setNewToken] = useState("");
|
|
19
24
|
const [newLabel, setNewLabel] = useState("");
|
|
20
25
|
const [adding, setAdding] = useState(false);
|
|
@@ -100,9 +105,11 @@ export function AddAccountDialog({ open, onOpenChange, onSuccess }: AddAccountDi
|
|
|
100
105
|
<Dialog open={open} onOpenChange={(v) => { if (!v) handleClose(); }}>
|
|
101
106
|
<DialogContent className="sm:max-w-md">
|
|
102
107
|
<DialogHeader>
|
|
103
|
-
<DialogTitle className="text-sm">Add Claude Account</DialogTitle>
|
|
108
|
+
<DialogTitle className="text-sm">{signInAgainFor ? `Sign in again — ${signInAgainFor}` : "Add Claude Account"}</DialogTitle>
|
|
104
109
|
<DialogDescription className="text-xs leading-relaxed">
|
|
105
|
-
|
|
110
|
+
{signInAgainFor
|
|
111
|
+
? "Log in with the same Claude account. PPM matches it by email and renews the existing card instead of adding a new one."
|
|
112
|
+
: "Connect via OAuth (recommended) or paste a token manually."}
|
|
106
113
|
</DialogDescription>
|
|
107
114
|
</DialogHeader>
|
|
108
115
|
<div className="space-y-3">
|
|
@@ -60,6 +60,15 @@ export interface AccountCardProps {
|
|
|
60
60
|
dailyGuard?: { enabled: boolean; state: DailyGuardState };
|
|
61
61
|
onDailyGuardToggle?: () => void;
|
|
62
62
|
dailyGuardToggling?: boolean;
|
|
63
|
+
/**
|
|
64
|
+
* The server has seen this account refused for a revoked or expired login, explained in
|
|
65
|
+
* the provider's own terms. For accounts with no `accountInfo` to carry `reauthRequired`
|
|
66
|
+
* (Codex): its usage bars still show the last reading, so without this the card looked
|
|
67
|
+
* healthy while every turn on it failed.
|
|
68
|
+
*/
|
|
69
|
+
reauthHint?: string;
|
|
70
|
+
/** Start signing this account in again. Makes the "Sign in again"/"Expired" chip a button. */
|
|
71
|
+
onReauth?: (id: string) => void;
|
|
63
72
|
}
|
|
64
73
|
|
|
65
74
|
// Fixed widths so a row scrolls instead of squeezing. Two of them: a read-only card holds a
|
|
@@ -70,7 +79,7 @@ const STRIP_WIDTH = { readOnly: "min-w-[220px]", withActions: "min-w-[300px]" }
|
|
|
70
79
|
export function AccountCard({
|
|
71
80
|
entry, isActive, accountInfo, onToggle, toggling, onDelete, onExport, onViewProfile, flash,
|
|
72
81
|
onSelect, unselectableReason, selecting, planLabel, dailyGuard, onDailyGuardToggle, dailyGuardToggling,
|
|
73
|
-
layout = "list",
|
|
82
|
+
reauthHint, onReauth, layout = "list",
|
|
74
83
|
}: AccountCardProps) {
|
|
75
84
|
const { usage } = entry;
|
|
76
85
|
const hasBuckets = usage.session || usage.weekly || usage.weeklyOpus || usage.weeklySonnet;
|
|
@@ -83,7 +92,7 @@ export function AccountCard({
|
|
|
83
92
|
// Distinct from isExpired: this account still holds a refresh token, it is just one the
|
|
84
93
|
// server will not honour. Dim it like an expired card, but keep every control — signing
|
|
85
94
|
// in again goes through the same add flow, and delete has to stay reachable.
|
|
86
|
-
const needsReauth = !!accountInfo?.reauthRequired;
|
|
95
|
+
const needsReauth = !!accountInfo?.reauthRequired || !!reauthHint;
|
|
87
96
|
// A sign-in dies on a fixed schedule regardless of use, so the warning has to lead the
|
|
88
97
|
// last stretch of it rather than appear once it is already too late.
|
|
89
98
|
const grantExpiresAtMs = accountInfo?.grantExpiresAt ? accountInfo.grantExpiresAt * 1000 : null;
|
|
@@ -166,7 +175,8 @@ export function AccountCard({
|
|
|
166
175
|
{isExpired && (
|
|
167
176
|
<AccountHint
|
|
168
177
|
className="text-[10px] text-error shrink-0 font-medium"
|
|
169
|
-
hint="This token has expired and carries no refresh token, so nothing can renew it.
|
|
178
|
+
hint="This token has expired and carries no refresh token, so nothing can renew it. Sign in again to replace it."
|
|
179
|
+
onClick={onReauth ? () => onReauth(entry.accountId) : undefined}
|
|
170
180
|
>
|
|
171
181
|
Expired
|
|
172
182
|
</AccountHint>
|
|
@@ -174,7 +184,8 @@ export function AccountCard({
|
|
|
174
184
|
{needsReauth && !isExpired && (
|
|
175
185
|
<AccountHint
|
|
176
186
|
className="text-[10px] text-error shrink-0 font-medium"
|
|
177
|
-
hint="Anthropic rejected this account's refresh token, so no turn can run on it. Signing in again is the only thing that restores it."
|
|
187
|
+
hint={reauthHint ?? "Anthropic rejected this account's refresh token, so no turn can run on it. Signing in again is the only thing that restores it."}
|
|
188
|
+
onClick={onReauth ? () => onReauth(entry.accountId) : undefined}
|
|
178
189
|
>
|
|
179
190
|
Sign in again
|
|
180
191
|
</AccountHint>
|
|
@@ -15,13 +15,30 @@ export interface AccountHintProps {
|
|
|
15
15
|
hint: ReactNode;
|
|
16
16
|
className?: string;
|
|
17
17
|
children: ReactNode;
|
|
18
|
+
/**
|
|
19
|
+
* Makes the chip an action as well as an explanation — "Sign in again" should do what it
|
|
20
|
+
* says rather than only describe it. The tooltip still opens on hover/focus.
|
|
21
|
+
*/
|
|
22
|
+
onClick?: () => void;
|
|
18
23
|
}
|
|
19
24
|
|
|
20
|
-
export function AccountHint({ hint, className, children }: AccountHintProps) {
|
|
25
|
+
export function AccountHint({ hint, className, children, onClick }: AccountHintProps) {
|
|
21
26
|
return (
|
|
22
27
|
<Tooltip>
|
|
23
28
|
<TooltipTrigger asChild>
|
|
24
|
-
<button
|
|
29
|
+
<button
|
|
30
|
+
type="button"
|
|
31
|
+
onClick={onClick}
|
|
32
|
+
className={[
|
|
33
|
+
// The invisible `after` box stretches the touch target to ~44px without growing
|
|
34
|
+
// the card header the chip sits in.
|
|
35
|
+
onClick
|
|
36
|
+
? "relative cursor-pointer rounded px-1 -mx-1 underline decoration-dotted underline-offset-2 hover:bg-error/10 after:absolute after:-inset-x-2 after:-inset-y-3 after:content-['']"
|
|
37
|
+
: "cursor-help",
|
|
38
|
+
"text-left",
|
|
39
|
+
className,
|
|
40
|
+
].filter(Boolean).join(" ")}
|
|
41
|
+
>
|
|
25
42
|
{children}
|
|
26
43
|
</button>
|
|
27
44
|
</TooltipTrigger>
|
|
@@ -40,6 +40,8 @@ export function ClaudeAccountsSection() {
|
|
|
40
40
|
const [profileView, setProfileView] = useState<{ profile: OAuthProfileData; accountId: string } | null>(null);
|
|
41
41
|
const [exportPreselect, setExportPreselect] = useState<string | null>(null);
|
|
42
42
|
const [dialog, setDialog] = useState<"add" | "export" | "import" | "rotation" | "token-test" | null>(null);
|
|
43
|
+
/** Label of the account whose "Sign in again" chip opened the add dialog. */
|
|
44
|
+
const [signInAgainFor, setSignInAgainFor] = useState<string | undefined>(undefined);
|
|
43
45
|
|
|
44
46
|
function handleSuccess(msg?: string) {
|
|
45
47
|
void reload();
|
|
@@ -84,7 +86,7 @@ export function ClaudeAccountsSection() {
|
|
|
84
86
|
refreshing={refreshing}
|
|
85
87
|
disabled={initialLoading}
|
|
86
88
|
actions={<>
|
|
87
|
-
<Button size="sm" className="cursor-pointer gap-1.5" onClick={() => setDialog("add")}>
|
|
89
|
+
<Button size="sm" className="cursor-pointer gap-1.5" onClick={() => { setSignInAgainFor(undefined); setDialog("add"); }}>
|
|
88
90
|
<Plus className="size-4" /> Add account
|
|
89
91
|
</Button>
|
|
90
92
|
<Button size="sm" variant="outline" className="cursor-pointer gap-1.5" onClick={() => { setExportPreselect(null); setDialog("export"); }}>
|
|
@@ -138,6 +140,7 @@ export function ClaudeAccountsSection() {
|
|
|
138
140
|
onDelete={(id, display) => setDeleteTarget({ id, display })}
|
|
139
141
|
onExport={(id) => { setExportPreselect(id); setDialog("export"); }}
|
|
140
142
|
onViewProfile={(profile, accountId) => setProfileView({ profile, accountId })}
|
|
143
|
+
onReauth={() => { setSignInAgainFor(entry.accountLabel ?? entry.accountId.slice(0, 8)); setDialog("add"); }}
|
|
141
144
|
flash={flashIds.has(entry.accountId)}
|
|
142
145
|
/>
|
|
143
146
|
))}
|
|
@@ -161,7 +164,12 @@ export function ClaudeAccountsSection() {
|
|
|
161
164
|
/>
|
|
162
165
|
)}
|
|
163
166
|
|
|
164
|
-
<AddAccountDialog
|
|
167
|
+
<AddAccountDialog
|
|
168
|
+
open={dialog === "add"}
|
|
169
|
+
onOpenChange={(v) => { setDialog(v ? "add" : null); if (!v) setSignInAgainFor(undefined); }}
|
|
170
|
+
onSuccess={handleSuccess}
|
|
171
|
+
signInAgainFor={signInAgainFor}
|
|
172
|
+
/>
|
|
165
173
|
<ExportAccountsDialog
|
|
166
174
|
open={dialog === "export"}
|
|
167
175
|
onOpenChange={(v) => { setDialog(v ? "export" : null); if (!v) setExportPreselect(null); }}
|
|
@@ -25,7 +25,9 @@ import { CodexAddAccountDialog } from "./codex-add-account-dialog";
|
|
|
25
25
|
import { CodexBackupDialog } from "./codex-backup-dialog";
|
|
26
26
|
import { CodexRotationDialog } from "./codex-rotation-dialog";
|
|
27
27
|
import { CodexUsageRows } from "./codex-usage-rows";
|
|
28
|
-
import { useCodexAccounts } from "./use-codex-accounts";
|
|
28
|
+
import { CODEX_SIGNED_OUT_HINT, useCodexAccounts, type CodexAccount } from "./use-codex-accounts";
|
|
29
|
+
import { CodexSignInAgainDialog } from "./codex-sign-in-again-dialog";
|
|
30
|
+
import { AccountHint } from "./account-hint";
|
|
29
31
|
import { codexPlanLabel } from "../../../../shared/codex-plan-label.ts";
|
|
30
32
|
import { dailyGuardState } from "../../../../shared/codex-daily-guard.ts";
|
|
31
33
|
|
|
@@ -34,6 +36,8 @@ import { dailyGuardState } from "../../../../shared/codex-daily-guard.ts";
|
|
|
34
36
|
export function CodexAccountsSection() {
|
|
35
37
|
const [dialog, setDialog] = useState<"add" | "export" | "import" | "rotation" | null>(null);
|
|
36
38
|
const c = useCodexAccounts(() => setDialog(null));
|
|
39
|
+
/** The signed-out account whose "Sign in again" chip was pressed. */
|
|
40
|
+
const [signInAgain, setSignInAgain] = useState<CodexAccount | null>(null);
|
|
37
41
|
|
|
38
42
|
return (
|
|
39
43
|
<div className="space-y-4">
|
|
@@ -88,12 +92,21 @@ export function CodexAccountsSection() {
|
|
|
88
92
|
key={a.id}
|
|
89
93
|
dense
|
|
90
94
|
// Matches the Claude card that also carries a control beside the name.
|
|
91
|
-
className=
|
|
95
|
+
className={`min-w-[300px] shrink-0 snap-start${a.signedOut ? " opacity-60" : ""}`}
|
|
92
96
|
data-testid="account-card"
|
|
93
97
|
data-account-id={a.id}
|
|
94
98
|
>
|
|
95
99
|
<div className="flex items-center gap-2">
|
|
96
100
|
<span className="text-sm font-medium truncate flex-1 min-w-0">{a.label}</span>
|
|
101
|
+
{a.signedOut && (
|
|
102
|
+
<AccountHint
|
|
103
|
+
className="text-[10px] text-error shrink-0 font-medium"
|
|
104
|
+
hint={CODEX_SIGNED_OUT_HINT}
|
|
105
|
+
onClick={a.type === "chatgpt" ? () => setSignInAgain(a) : undefined}
|
|
106
|
+
>
|
|
107
|
+
Sign in again
|
|
108
|
+
</AccountHint>
|
|
109
|
+
)}
|
|
97
110
|
<span className="text-[10px] uppercase tracking-wide text-text-subtle border border-border rounded px-1 shrink-0">
|
|
98
111
|
{a.type}
|
|
99
112
|
</span>
|
|
@@ -199,6 +212,9 @@ export function CodexAccountsSection() {
|
|
|
199
212
|
onImport={(f) => void c.doImport(f)}
|
|
200
213
|
error={c.err}
|
|
201
214
|
/>
|
|
215
|
+
{signInAgain && (
|
|
216
|
+
<CodexSignInAgainDialog account={signInAgain} onClose={() => setSignInAgain(null)} onDone={() => void c.load()} />
|
|
217
|
+
)}
|
|
202
218
|
<CodexRotationDialog
|
|
203
219
|
open={dialog === "rotation"}
|
|
204
220
|
onOpenChange={(v) => setDialog(v ? "rotation" : null)}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
/**
|
|
1
|
+
/**
|
|
2
|
+
* Add a Codex account through browser login, device code, or an API key — or, with
|
|
3
|
+
* `reloginLabel`, sign an existing ChatGPT account in again. That mode drops the label and
|
|
4
|
+
* API-key parts: the account keeps its name, and a key is not a sign-in to renew.
|
|
5
|
+
*/
|
|
2
6
|
|
|
3
7
|
import { ExternalLink, KeyRound, Loader2, MonitorSmartphone } from "@/lib/icons";
|
|
4
8
|
import {
|
|
@@ -17,7 +21,10 @@ export function CodexAddAccountDialog({
|
|
|
17
21
|
open, onOpenChange, label, onLabelChange, apiKey, onApiKeyChange,
|
|
18
22
|
adding, onAddApiKey, deviceWaiting, onStartDevice, device, error,
|
|
19
23
|
browser, onStartBrowser, loginStarting, callbackUrl, onCallbackUrlChange, submittingCallback, onSubmitCallback,
|
|
24
|
+
reloginLabel,
|
|
20
25
|
}: {
|
|
26
|
+
/** Present when signing an existing account in again; names it in the title. */
|
|
27
|
+
reloginLabel?: string;
|
|
21
28
|
open: boolean;
|
|
22
29
|
onOpenChange: (open: boolean) => void;
|
|
23
30
|
label: string;
|
|
@@ -43,18 +50,22 @@ export function CodexAddAccountDialog({
|
|
|
43
50
|
<Dialog open={open} onOpenChange={onOpenChange}>
|
|
44
51
|
<DialogContent className="sm:max-w-md max-h-[90dvh] overflow-y-auto">
|
|
45
52
|
<DialogHeader>
|
|
46
|
-
<DialogTitle className="text-sm">Add Codex Account</DialogTitle>
|
|
53
|
+
<DialogTitle className="text-sm">{reloginLabel ? `Sign in again — ${reloginLabel}` : "Add Codex Account"}</DialogTitle>
|
|
47
54
|
<DialogDescription className="text-xs leading-relaxed">
|
|
48
|
-
|
|
55
|
+
{reloginLabel
|
|
56
|
+
? "Sign in with ChatGPT to renew this account. It keeps its name, its settings and the chats bound to it."
|
|
57
|
+
: "Choose browser login, a device code, or an OpenAI API key."}
|
|
49
58
|
</DialogDescription>
|
|
50
59
|
</DialogHeader>
|
|
51
60
|
|
|
52
61
|
<div className="space-y-3">
|
|
53
|
-
|
|
54
|
-
<
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
62
|
+
{!reloginLabel && (
|
|
63
|
+
<div className="space-y-1.5">
|
|
64
|
+
<Label htmlFor="codex-label" className="text-xs">Label (optional)</Label>
|
|
65
|
+
<Input id="codex-label" placeholder="e.g. Personal, Work" value={label}
|
|
66
|
+
onChange={(e) => onLabelChange(e.target.value)} disabled={loginBusy} className="text-xs" />
|
|
67
|
+
</div>
|
|
68
|
+
)}
|
|
58
69
|
<div className="rounded-md border p-3 space-y-2">
|
|
59
70
|
<p className="text-[11px] font-medium">Browser login</p>
|
|
60
71
|
<Button size="sm" className="w-full cursor-pointer gap-1.5" onClick={onStartBrowser} disabled={loginBusy}>
|
|
@@ -108,23 +119,27 @@ export function CodexAddAccountDialog({
|
|
|
108
119
|
)}
|
|
109
120
|
</div>
|
|
110
121
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
122
|
+
{!reloginLabel && (
|
|
123
|
+
<>
|
|
124
|
+
<div className="flex items-center gap-2">
|
|
125
|
+
<div className="flex-1 border-t" />
|
|
126
|
+
<span className="text-[10px] text-muted-foreground">or paste an API key</span>
|
|
127
|
+
<div className="flex-1 border-t" />
|
|
128
|
+
</div>
|
|
116
129
|
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
130
|
+
<div className="space-y-1.5">
|
|
131
|
+
<Label htmlFor="codex-api-key" className="text-xs">OpenAI API key</Label>
|
|
132
|
+
<Input
|
|
133
|
+
id="codex-api-key"
|
|
134
|
+
type="password"
|
|
135
|
+
placeholder="sk-..."
|
|
136
|
+
value={apiKey}
|
|
137
|
+
onChange={(e) => onApiKeyChange(e.target.value)}
|
|
138
|
+
className="text-xs font-mono"
|
|
139
|
+
/>
|
|
140
|
+
</div>
|
|
141
|
+
</>
|
|
142
|
+
)}
|
|
128
143
|
</div>
|
|
129
144
|
|
|
130
145
|
{loginStarting && <p role="status" className="text-xs">Starting login...</p>}
|
|
@@ -134,15 +149,17 @@ export function CodexAddAccountDialog({
|
|
|
134
149
|
<Button size="sm" variant="outline" className="text-xs cursor-pointer" onClick={() => onOpenChange(false)}>
|
|
135
150
|
Cancel
|
|
136
151
|
</Button>
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
152
|
+
{!reloginLabel && (
|
|
153
|
+
<Button
|
|
154
|
+
size="sm"
|
|
155
|
+
className="text-xs cursor-pointer gap-1.5"
|
|
156
|
+
onClick={onAddApiKey}
|
|
157
|
+
disabled={!apiKey.trim() || loginBusy}
|
|
158
|
+
>
|
|
159
|
+
{adding ? <Loader2 className="size-3.5 animate-spin" /> : <KeyRound className="size-3.5" />}
|
|
160
|
+
Add key
|
|
161
|
+
</Button>
|
|
162
|
+
)}
|
|
146
163
|
</DialogFooter>
|
|
147
164
|
</DialogContent>
|
|
148
165
|
</Dialog>
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sign an existing Codex (ChatGPT) account in again, from wherever its "Sign in again" chip
|
|
3
|
+
* is — the Settings pane or the chat's usage panel.
|
|
4
|
+
*
|
|
5
|
+
* Self-contained on purpose: the chat panel has no login state of its own, and giving it a
|
|
6
|
+
* copy of the flow would be the drift the shared account card exists to prevent. It is the
|
|
7
|
+
* add-account dialog in its re-login mode, driven by the same hook, so the server signs the
|
|
8
|
+
* account in inside its own CODEX_HOME and keeps its id, sessions and settings.
|
|
9
|
+
*
|
|
10
|
+
* Mount it only while it is open: the hook loads the account list on mount.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
import { CodexAddAccountDialog } from "./codex-add-account-dialog";
|
|
14
|
+
import { useCodexAccounts } from "./use-codex-accounts";
|
|
15
|
+
|
|
16
|
+
export function CodexSignInAgainDialog({ account, onClose, onDone }: {
|
|
17
|
+
account: { id: string; label: string };
|
|
18
|
+
onClose: () => void;
|
|
19
|
+
/** Called once the account is signed in again, so the caller can reload what it shows. */
|
|
20
|
+
onDone: () => void;
|
|
21
|
+
}) {
|
|
22
|
+
const c = useCodexAccounts(() => { onDone(); onClose(); });
|
|
23
|
+
return (
|
|
24
|
+
<CodexAddAccountDialog
|
|
25
|
+
open
|
|
26
|
+
onOpenChange={(v) => { if (!v) { c.cancelLogin(); onClose(); } }}
|
|
27
|
+
reloginLabel={account.label}
|
|
28
|
+
label={c.label}
|
|
29
|
+
onLabelChange={c.setLabel}
|
|
30
|
+
apiKey=""
|
|
31
|
+
onApiKeyChange={() => {}}
|
|
32
|
+
adding={false}
|
|
33
|
+
onAddApiKey={() => {}}
|
|
34
|
+
deviceWaiting={c.deviceWaiting}
|
|
35
|
+
onStartDevice={() => void c.startDevice(account.id)}
|
|
36
|
+
device={c.device}
|
|
37
|
+
browser={c.browser}
|
|
38
|
+
onStartBrowser={() => void c.startBrowser(account.id)}
|
|
39
|
+
loginStarting={c.loginStarting}
|
|
40
|
+
callbackUrl={c.callbackUrl}
|
|
41
|
+
onCallbackUrlChange={c.setCallbackUrl}
|
|
42
|
+
submittingCallback={c.submittingCallback}
|
|
43
|
+
onSubmitCallback={() => void c.submitCallback()}
|
|
44
|
+
error={c.err}
|
|
45
|
+
/>
|
|
46
|
+
);
|
|
47
|
+
}
|