@bytespell/shella 0.1.5 → 0.1.6
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/dist/bin/cli.js +921 -0
- package/dist/bin/cli.js.map +1 -0
- package/dist/index.js +849 -0
- package/dist/index.js.map +1 -0
- package/dist/public/assets/_baseUniq-ofDPcIU7.js +1 -0
- package/dist/public/assets/apex-D8_7TLub.js +1 -0
- package/dist/public/assets/arc-CN1QbtAQ.js +1 -0
- package/dist/public/assets/architectureDiagram-VXUJARFQ-B7xrwB3a.js +36 -0
- package/dist/public/assets/ayu-dark-CmMr59Fi.js +1 -0
- package/dist/public/assets/blade-D4QpJJKB.js +1 -0
- package/dist/public/assets/blockDiagram-VD42YOAC-ByLGlNws.js +122 -0
- package/dist/public/assets/c3-VCDPK7BO.js +1 -0
- package/dist/public/assets/c4Diagram-YG6GDRKO-YpYx4Aj8.js +10 -0
- package/dist/public/assets/channel-BtuRdvAy.js +1 -0
- package/dist/public/assets/chunk-4BX2VUAB-D0zp96k1.js +1 -0
- package/dist/public/assets/chunk-55IACEB6-C5GJeIrO.js +1 -0
- package/dist/public/assets/chunk-B4BG7PRW-Ci17wd3H.js +165 -0
- package/dist/public/assets/chunk-DI55MBZ5-B2XMqfQC.js +220 -0
- package/dist/public/assets/chunk-FMBD7UC4-Crk5_wey.js +15 -0
- package/dist/public/assets/chunk-QN33PNHL-DqQoCDuG.js +1 -0
- package/dist/public/assets/chunk-QZHKN3VN-DtbXtmmy.js +1 -0
- package/dist/public/assets/chunk-TZMSLE5B-Boi_YcuZ.js +1 -0
- package/dist/public/assets/classDiagram-2ON5EDUG-CDjYhjfv.js +1 -0
- package/dist/public/assets/classDiagram-v2-WZHVMYZB-CDjYhjfv.js +1 -0
- package/dist/public/assets/clone-C8pGQ3Xy.js +1 -0
- package/dist/public/assets/code-block-IT6T5CEO-BAcnOjsj.js +2 -0
- package/dist/public/assets/cose-bilkent-S5V4N54A-DAIcBIuP.js +1 -0
- package/dist/public/assets/dagre-6UL2VRFP-zz51dmH0.js +4 -0
- package/dist/public/assets/diagram-PSM6KHXK-bVpD6rI7.js +24 -0
- package/dist/public/assets/diagram-QEK2KX5R-I8YB5Wm0.js +43 -0
- package/dist/public/assets/diagram-S2PKOQOG-D1xlOPWJ.js +24 -0
- package/dist/public/assets/erDiagram-Q2GNP2WA-DEdjbB3m.js +60 -0
- package/dist/public/assets/flowDiagram-NV44I4VS-BBCU2dfK.js +162 -0
- package/dist/public/assets/fortran-fixed-form-CkoXwp7k.js +1 -0
- package/dist/public/assets/fortran-free-form-BxgE0vQu.js +1 -0
- package/dist/public/assets/ganttDiagram-JELNMOA3-B0jnifD_.js +267 -0
- package/dist/public/assets/gitGraphDiagram-NY62KEGX-BX21wvJS.js +65 -0
- package/dist/public/assets/gn-n2N0HUVH.js +1 -0
- package/dist/public/assets/graph-BE95p5Ca.js +1 -0
- package/dist/public/assets/index-CA2Ed_I8.css +1 -0
- package/dist/public/assets/index-CbxztLlk.js +1701 -0
- package/dist/public/assets/infoDiagram-WHAUD3N6-CrU0UXwW.js +2 -0
- package/dist/public/assets/journeyDiagram-XKPGCS4Q-DzukVB-1.js +139 -0
- package/dist/public/assets/julia-CxzCAyBv.js +1 -0
- package/dist/public/assets/kanban-definition-3W4ZIXB7-CJVLdxxJ.js +89 -0
- package/dist/public/assets/kusto-DZf3V79B.js +1 -0
- package/dist/public/assets/latex-B4uzh10-.js +1 -0
- package/dist/public/assets/layout-CM_3juMX.js +1 -0
- package/dist/public/assets/lean-BZvkOJ9d.js +1 -0
- package/dist/public/assets/linear-BXRjo7t5.js +1 -0
- package/dist/public/assets/luau-C-HG3fhB.js +1 -0
- package/dist/public/assets/marko-DZsq8hO1.js +1 -0
- package/dist/public/assets/mermaid-mWjccvbQ.js +1 -0
- package/dist/public/assets/mermaid.core-Hp60xAyJ.js +191 -0
- package/dist/public/assets/min-oqogeQSX.js +1 -0
- package/dist/public/assets/mindmap-definition-VGOIOE7T-CCgMWgfM.js +68 -0
- package/dist/public/assets/mojo-B93PlW-d.js +1 -0
- package/dist/public/assets/moonbit-Ba13S78F.js +1 -0
- package/dist/public/assets/nix-CwoSXNpI.js +1 -0
- package/dist/public/assets/pieDiagram-ADFJNKIX-DAkNkjx-.js +30 -0
- package/dist/public/assets/proto-C7zT0LnQ.js +1 -0
- package/dist/public/assets/quadrantDiagram-AYHSOK5B-CPEqSA2x.js +7 -0
- package/dist/public/assets/r-Dspwwk_N.js +1 -0
- package/dist/public/assets/razor-C1TweQQi.js +1 -0
- package/dist/public/assets/requirementDiagram-UZGBJVZJ-jOv297_A.js +64 -0
- package/dist/public/assets/sankeyDiagram-TZEHDZUN-CwvAKmpc.js +10 -0
- package/dist/public/assets/sequenceDiagram-WL72ISMW-D_WZ2ogT.js +145 -0
- package/dist/public/assets/stateDiagram-FKZM4ZOC-tqYMmK3v.js +1 -0
- package/dist/public/assets/stateDiagram-v2-4FDKWEC3-BF0ecSBs.js +1 -0
- package/dist/public/assets/svelte-zxCyuUbr.js +1 -0
- package/dist/public/assets/tex-CvyZ59Mk.js +1 -0
- package/dist/public/assets/timeline-definition-IT6M3QCI-BIqJkdQ0.js +61 -0
- package/dist/public/assets/treemap-KMMF4GRG-CmJM6xaw.js +128 -0
- package/dist/public/assets/vue-DN_0RTcg.js +1 -0
- package/dist/public/assets/vue-html-AaS7Mt5G.js +1 -0
- package/dist/public/assets/vue-vine-CQOfvN7w.js +1 -0
- package/dist/public/assets/xychartDiagram-PRI3JC2R-D7-tZ8iR.js +7 -0
- package/dist/public/index.html +20 -0
- package/package.json +29 -60
- package/public/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
- package/public/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
- package/public/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
- package/public/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
- package/public/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
- package/public/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
- package/public/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
- package/public/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
- package/public/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
- package/public/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
- package/public/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
- package/public/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
- package/public/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
- package/public/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
- package/public/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
- package/public/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
- package/public/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
- package/public/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
- package/public/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
- package/public/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
- package/public/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
- package/public/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
- package/public/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
- package/public/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
- package/public/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
- package/public/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
- package/public/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
- package/public/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
- package/public/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
- package/public/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
- package/public/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
- package/public/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
- package/public/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
- package/public/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
- package/public/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
- package/public/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
- package/public/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
- package/public/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
- package/public/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
- package/public/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
- package/public/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
- package/public/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
- package/public/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
- package/public/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
- package/public/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
- package/public/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
- package/public/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
- package/public/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
- package/public/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
- package/public/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
- package/public/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
- package/public/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
- package/public/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
- package/public/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
- package/public/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
- package/public/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
- package/public/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
- package/public/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
- package/public/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
- package/public/assets/_baseUniq-ofDPcIU7.js +1 -0
- package/public/assets/abap-BdImnpbu.js +1 -0
- package/public/assets/actionscript-3-CfeIJUat.js +1 -0
- package/public/assets/ada-bCR0ucgS.js +1 -0
- package/public/assets/andromeeda-C-Jbm3Hp.js +1 -0
- package/public/assets/angular-html-CU67Zn6k.js +1 -0
- package/public/assets/angular-ts-BwZT4LLn.js +1 -0
- package/public/assets/apache-Pmp26Uib.js +1 -0
- package/public/assets/apex-D8_7TLub.js +1 -0
- package/public/assets/apl-dKokRX4l.js +1 -0
- package/public/assets/applescript-Co6uUVPk.js +1 -0
- package/public/assets/ara-BRHolxvo.js +1 -0
- package/public/assets/arc-CN1QbtAQ.js +1 -0
- package/public/assets/architectureDiagram-VXUJARFQ-B7xrwB3a.js +36 -0
- package/public/assets/asciidoc-Dv7Oe6Be.js +1 -0
- package/public/assets/asm-D_Q5rh1f.js +1 -0
- package/public/assets/astro-CbQHKStN.js +1 -0
- package/public/assets/aurora-x-D-2ljcwZ.js +1 -0
- package/public/assets/awk-DMzUqQB5.js +1 -0
- package/public/assets/ayu-dark-CmMr59Fi.js +1 -0
- package/public/assets/ballerina-BFfxhgS-.js +1 -0
- package/public/assets/bat-BkioyH1T.js +1 -0
- package/public/assets/beancount-k_qm7-4y.js +1 -0
- package/public/assets/berry-uYugtg8r.js +1 -0
- package/public/assets/bibtex-CHM0blh-.js +1 -0
- package/public/assets/bicep-Bmn6On1c.js +1 -0
- package/public/assets/blade-D4QpJJKB.js +1 -0
- package/public/assets/blockDiagram-VD42YOAC-ByLGlNws.js +122 -0
- package/public/assets/bsl-BO_Y6i37.js +1 -0
- package/public/assets/c-BIGW1oBm.js +1 -0
- package/public/assets/c3-VCDPK7BO.js +1 -0
- package/public/assets/c4Diagram-YG6GDRKO-YpYx4Aj8.js +10 -0
- package/public/assets/cadence-Bv_4Rxtq.js +1 -0
- package/public/assets/cairo-KRGpt6FW.js +1 -0
- package/public/assets/catppuccin-frappe-DFWUc33u.js +1 -0
- package/public/assets/catppuccin-latte-C9dUb6Cb.js +1 -0
- package/public/assets/catppuccin-macchiato-DQyhUUbL.js +1 -0
- package/public/assets/catppuccin-mocha-D87Tk5Gz.js +1 -0
- package/public/assets/channel-BtuRdvAy.js +1 -0
- package/public/assets/chunk-4BX2VUAB-D0zp96k1.js +1 -0
- package/public/assets/chunk-55IACEB6-C5GJeIrO.js +1 -0
- package/public/assets/chunk-B4BG7PRW-Ci17wd3H.js +165 -0
- package/public/assets/chunk-DI55MBZ5-B2XMqfQC.js +220 -0
- package/public/assets/chunk-FMBD7UC4-Crk5_wey.js +15 -0
- package/public/assets/chunk-QN33PNHL-DqQoCDuG.js +1 -0
- package/public/assets/chunk-QZHKN3VN-DtbXtmmy.js +1 -0
- package/public/assets/chunk-TZMSLE5B-Boi_YcuZ.js +1 -0
- package/public/assets/clarity-D53aC0YG.js +1 -0
- package/public/assets/classDiagram-2ON5EDUG-CDjYhjfv.js +1 -0
- package/public/assets/classDiagram-v2-WZHVMYZB-CDjYhjfv.js +1 -0
- package/public/assets/clojure-P80f7IUj.js +1 -0
- package/public/assets/clone-C8pGQ3Xy.js +1 -0
- package/public/assets/cmake-D1j8_8rp.js +1 -0
- package/public/assets/cobol-nwyudZeR.js +1 -0
- package/public/assets/code-block-IT6T5CEO-BAcnOjsj.js +2 -0
- package/public/assets/codeowners-Bp6g37R7.js +1 -0
- package/public/assets/codeql-DsOJ9woJ.js +1 -0
- package/public/assets/coffee-Ch7k5sss.js +1 -0
- package/public/assets/common-lisp-Cg-RD9OK.js +1 -0
- package/public/assets/coq-DkFqJrB1.js +1 -0
- package/public/assets/cose-bilkent-S5V4N54A-DAIcBIuP.js +1 -0
- package/public/assets/cpp-CofmeUqb.js +1 -0
- package/public/assets/crystal-tKQVLTB8.js +1 -0
- package/public/assets/csharp-K5feNrxe.js +1 -0
- package/public/assets/css-DPfMkruS.js +1 -0
- package/public/assets/csv-fuZLfV_i.js +1 -0
- package/public/assets/cue-D82EKSYY.js +1 -0
- package/public/assets/cypher-COkxafJQ.js +1 -0
- package/public/assets/cytoscape.esm-5J0xJHOV.js +321 -0
- package/public/assets/d-85-TOEBH.js +1 -0
- package/public/assets/dagre-6UL2VRFP-zz51dmH0.js +4 -0
- package/public/assets/dark-plus-C3mMm8J8.js +1 -0
- package/public/assets/dart-CF10PKvl.js +1 -0
- package/public/assets/dax-CEL-wOlO.js +1 -0
- package/public/assets/defaultLocale-C4B-KCzX.js +1 -0
- package/public/assets/desktop-BmXAJ9_W.js +1 -0
- package/public/assets/diagram-PSM6KHXK-bVpD6rI7.js +24 -0
- package/public/assets/diagram-QEK2KX5R-I8YB5Wm0.js +43 -0
- package/public/assets/diagram-S2PKOQOG-D1xlOPWJ.js +24 -0
- package/public/assets/diff-D97Zzqfu.js +1 -0
- package/public/assets/docker-BcOcwvcX.js +1 -0
- package/public/assets/dotenv-Da5cRb03.js +1 -0
- package/public/assets/dracula-BzJJZx-M.js +1 -0
- package/public/assets/dracula-soft-BXkSAIEj.js +1 -0
- package/public/assets/dream-maker-BtqSS_iP.js +1 -0
- package/public/assets/edge-BkV0erSs.js +1 -0
- package/public/assets/elixir-CDX3lj18.js +1 -0
- package/public/assets/elm-DbKCFpqz.js +1 -0
- package/public/assets/emacs-lisp-C9XAeP06.js +1 -0
- package/public/assets/erDiagram-Q2GNP2WA-DEdjbB3m.js +60 -0
- package/public/assets/erb-BOJIQeun.js +1 -0
- package/public/assets/erlang-DsQrWhSR.js +1 -0
- package/public/assets/everforest-dark-BgDCqdQA.js +1 -0
- package/public/assets/everforest-light-C8M2exoo.js +1 -0
- package/public/assets/fennel-BYunw83y.js +1 -0
- package/public/assets/fish-BvzEVeQv.js +1 -0
- package/public/assets/flowDiagram-NV44I4VS-BBCU2dfK.js +162 -0
- package/public/assets/fluent-C4IJs8-o.js +1 -0
- package/public/assets/fortran-fixed-form-CkoXwp7k.js +1 -0
- package/public/assets/fortran-free-form-BxgE0vQu.js +1 -0
- package/public/assets/fsharp-CXgrBDvD.js +1 -0
- package/public/assets/ganttDiagram-JELNMOA3-B0jnifD_.js +267 -0
- package/public/assets/gdresource-B7Tvp0Sc.js +1 -0
- package/public/assets/gdscript-DTMYz4Jt.js +1 -0
- package/public/assets/gdshader-DkwncUOv.js +1 -0
- package/public/assets/genie-D0YGMca9.js +1 -0
- package/public/assets/gherkin-DyxjwDmM.js +1 -0
- package/public/assets/git-commit-F4YmCXRG.js +1 -0
- package/public/assets/git-rebase-r7XF79zn.js +1 -0
- package/public/assets/gitGraphDiagram-NY62KEGX-BX21wvJS.js +65 -0
- package/public/assets/github-dark-DHJKELXO.js +1 -0
- package/public/assets/github-dark-default-Cuk6v7N8.js +1 -0
- package/public/assets/github-dark-dimmed-DH5Ifo-i.js +1 -0
- package/public/assets/github-dark-high-contrast-E3gJ1_iC.js +1 -0
- package/public/assets/github-light-DAi9KRSo.js +1 -0
- package/public/assets/github-light-default-D7oLnXFd.js +1 -0
- package/public/assets/github-light-high-contrast-BfjtVDDH.js +1 -0
- package/public/assets/gleam-BspZqrRM.js +1 -0
- package/public/assets/glimmer-js-Rg0-pVw9.js +1 -0
- package/public/assets/glimmer-ts-U6CK756n.js +1 -0
- package/public/assets/glsl-DplSGwfg.js +1 -0
- package/public/assets/gn-n2N0HUVH.js +1 -0
- package/public/assets/gnuplot-DdkO51Og.js +1 -0
- package/public/assets/go-Dn2_MT6a.js +1 -0
- package/public/assets/graph-BE95p5Ca.js +1 -0
- package/public/assets/graphql-ChdNCCLP.js +1 -0
- package/public/assets/groovy-gcz8RCvz.js +1 -0
- package/public/assets/gruvbox-dark-hard-CFHQjOhq.js +1 -0
- package/public/assets/gruvbox-dark-medium-GsRaNv29.js +1 -0
- package/public/assets/gruvbox-dark-soft-CVdnzihN.js +1 -0
- package/public/assets/gruvbox-light-hard-CH1njM8p.js +1 -0
- package/public/assets/gruvbox-light-medium-DRw_LuNl.js +1 -0
- package/public/assets/gruvbox-light-soft-hJgmCMqR.js +1 -0
- package/public/assets/hack-CaT9iCJl.js +1 -0
- package/public/assets/haml-B8DHNrY2.js +1 -0
- package/public/assets/handlebars-BL8al0AC.js +1 -0
- package/public/assets/haskell-Df6bDoY_.js +1 -0
- package/public/assets/haxe-CzTSHFRz.js +1 -0
- package/public/assets/hcl-BWvSN4gD.js +1 -0
- package/public/assets/hjson-D5-asLiD.js +1 -0
- package/public/assets/hlsl-D3lLCCz7.js +1 -0
- package/public/assets/houston-DnULxvSX.js +1 -0
- package/public/assets/html-GMplVEZG.js +1 -0
- package/public/assets/html-derivative-BFtXZ54Q.js +1 -0
- package/public/assets/http-jrhK8wxY.js +1 -0
- package/public/assets/hurl-irOxFIW8.js +1 -0
- package/public/assets/hxml-Bvhsp5Yf.js +1 -0
- package/public/assets/hy-DFXneXwc.js +1 -0
- package/public/assets/imba-DGztddWO.js +1 -0
- package/public/assets/index-CA2Ed_I8.css +1 -0
- package/public/assets/index-CbxztLlk.js +1701 -0
- package/public/assets/infoDiagram-WHAUD3N6-CrU0UXwW.js +2 -0
- package/public/assets/ini-BEwlwnbL.js +1 -0
- package/public/assets/init-Gi6I4Gst.js +1 -0
- package/public/assets/inter-cyrillic-400-normal-HOLc17fK.woff +0 -0
- package/public/assets/inter-cyrillic-400-normal-obahsSVq.woff2 +0 -0
- package/public/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2 +0 -0
- package/public/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff +0 -0
- package/public/assets/inter-greek-400-normal-B4URO6DV.woff2 +0 -0
- package/public/assets/inter-greek-400-normal-q2sYcFCs.woff +0 -0
- package/public/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2 +0 -0
- package/public/assets/inter-greek-ext-400-normal-KugGGMne.woff +0 -0
- package/public/assets/inter-latin-400-normal-C38fXH4l.woff2 +0 -0
- package/public/assets/inter-latin-400-normal-CyCys3Eg.woff +0 -0
- package/public/assets/inter-latin-ext-400-normal-77YHD8bZ.woff +0 -0
- package/public/assets/inter-latin-ext-400-normal-C1nco2VV.woff2 +0 -0
- package/public/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff +0 -0
- package/public/assets/inter-vietnamese-400-normal-DMkecbls.woff2 +0 -0
- package/public/assets/java-CylS5w8V.js +1 -0
- package/public/assets/javascript-wDzz0qaB.js +1 -0
- package/public/assets/jinja-4LBKfQ-Z.js +1 -0
- package/public/assets/jison-wvAkD_A8.js +1 -0
- package/public/assets/journeyDiagram-XKPGCS4Q-DzukVB-1.js +139 -0
- package/public/assets/json-Cp-IABpG.js +1 -0
- package/public/assets/json5-C9tS-k6U.js +1 -0
- package/public/assets/jsonc-Des-eS-w.js +1 -0
- package/public/assets/jsonl-DcaNXYhu.js +1 -0
- package/public/assets/jsonnet-DFQXde-d.js +1 -0
- package/public/assets/jssm-C2t-YnRu.js +1 -0
- package/public/assets/jsx-g9-lgVsj.js +1 -0
- package/public/assets/julia-CxzCAyBv.js +1 -0
- package/public/assets/kanagawa-dragon-CkXjmgJE.js +1 -0
- package/public/assets/kanagawa-lotus-CfQXZHmo.js +1 -0
- package/public/assets/kanagawa-wave-DWedfzmr.js +1 -0
- package/public/assets/kanban-definition-3W4ZIXB7-CJVLdxxJ.js +89 -0
- package/public/assets/katex-DvXFAOB1.css +1 -0
- package/public/assets/kdl-DV7GczEv.js +1 -0
- package/public/assets/kotlin-BdnUsdx6.js +1 -0
- package/public/assets/kusto-DZf3V79B.js +1 -0
- package/public/assets/laserwave-DUszq2jm.js +1 -0
- package/public/assets/latex-B4uzh10-.js +1 -0
- package/public/assets/layout-CM_3juMX.js +1 -0
- package/public/assets/lean-BZvkOJ9d.js +1 -0
- package/public/assets/less-B1dDrJ26.js +1 -0
- package/public/assets/light-plus-B7mTdjB0.js +1 -0
- package/public/assets/linear-BXRjo7t5.js +1 -0
- package/public/assets/liquid-DYVedYrR.js +1 -0
- package/public/assets/llvm-BtvRca6l.js +1 -0
- package/public/assets/log-2UxHyX5q.js +1 -0
- package/public/assets/logo-BtOb2qkB.js +1 -0
- package/public/assets/lua-BbnMAYS6.js +1 -0
- package/public/assets/luau-C-HG3fhB.js +1 -0
- package/public/assets/make-CHLpvVh8.js +1 -0
- package/public/assets/markdown-Cvjx9yec.js +1 -0
- package/public/assets/marko-DZsq8hO1.js +1 -0
- package/public/assets/material-theme-D5KoaKCx.js +1 -0
- package/public/assets/material-theme-darker-BfHTSMKl.js +1 -0
- package/public/assets/material-theme-lighter-B0m2ddpp.js +1 -0
- package/public/assets/material-theme-ocean-CyktbL80.js +1 -0
- package/public/assets/material-theme-palenight-Csfq5Kiy.js +1 -0
- package/public/assets/matlab-D7o27uSR.js +1 -0
- package/public/assets/mdc-DUICxH0z.js +1 -0
- package/public/assets/mdx-Cmh6b_Ma.js +1 -0
- package/public/assets/mermaid-mWjccvbQ.js +1 -0
- package/public/assets/mermaid.core-Hp60xAyJ.js +191 -0
- package/public/assets/min-dark-CafNBF8u.js +1 -0
- package/public/assets/min-light-CTRr51gU.js +1 -0
- package/public/assets/min-oqogeQSX.js +1 -0
- package/public/assets/mindmap-definition-VGOIOE7T-CCgMWgfM.js +68 -0
- package/public/assets/mipsasm-CKIfxQSi.js +1 -0
- package/public/assets/mojo-B93PlW-d.js +1 -0
- package/public/assets/monokai-D4h5O-jR.js +1 -0
- package/public/assets/moonbit-Ba13S78F.js +1 -0
- package/public/assets/move-Bu9oaDYs.js +1 -0
- package/public/assets/narrat-DRg8JJMk.js +1 -0
- package/public/assets/nextflow-BrzmwbiE.js +1 -0
- package/public/assets/nginx-DknmC5AR.js +1 -0
- package/public/assets/night-owl-C39BiMTA.js +1 -0
- package/public/assets/nim-CVrawwO9.js +1 -0
- package/public/assets/nix-CwoSXNpI.js +1 -0
- package/public/assets/nord-Ddv68eIx.js +1 -0
- package/public/assets/nushell-C-sUppwS.js +1 -0
- package/public/assets/objective-c-DXmwc3jG.js +1 -0
- package/public/assets/objective-cpp-CLxacb5B.js +1 -0
- package/public/assets/ocaml-C0hk2d4L.js +1 -0
- package/public/assets/one-dark-pro-DVMEJ2y_.js +1 -0
- package/public/assets/one-light-PoHY5YXO.js +1 -0
- package/public/assets/openscad-C4EeE6gA.js +1 -0
- package/public/assets/ordinal-Cboi1Yqb.js +1 -0
- package/public/assets/pascal-D93ZcfNL.js +1 -0
- package/public/assets/perl-C0TMdlhV.js +1 -0
- package/public/assets/php-CDn_0X-4.js +1 -0
- package/public/assets/pieDiagram-ADFJNKIX-DAkNkjx-.js +30 -0
- package/public/assets/pierre-dark-BXuwtOqb.js +1 -0
- package/public/assets/pierre-light-dckrK0oj.js +1 -0
- package/public/assets/pkl-u5AG7uiY.js +1 -0
- package/public/assets/plastic-3e1v2bzS.js +1 -0
- package/public/assets/plsql-ChMvpjG-.js +1 -0
- package/public/assets/po-BTJTHyun.js +1 -0
- package/public/assets/poimandres-CS3Unz2-.js +1 -0
- package/public/assets/polar-C0HS_06l.js +1 -0
- package/public/assets/postcss-CXtECtnM.js +1 -0
- package/public/assets/powerquery-CEu0bR-o.js +1 -0
- package/public/assets/powershell-Dpen1YoG.js +1 -0
- package/public/assets/prisma-Dd19v3D-.js +1 -0
- package/public/assets/prolog-CbFg5uaA.js +1 -0
- package/public/assets/proto-C7zT0LnQ.js +1 -0
- package/public/assets/pug-CGlum2m_.js +1 -0
- package/public/assets/puppet-BMWR74SV.js +1 -0
- package/public/assets/purescript-CklMAg4u.js +1 -0
- package/public/assets/python-B6aJPvgy.js +1 -0
- package/public/assets/qml-3beO22l8.js +1 -0
- package/public/assets/qmldir-C8lEn-DE.js +1 -0
- package/public/assets/qss-IeuSbFQv.js +1 -0
- package/public/assets/quadrantDiagram-AYHSOK5B-CPEqSA2x.js +7 -0
- package/public/assets/r-Dspwwk_N.js +1 -0
- package/public/assets/racket-BqYA7rlc.js +1 -0
- package/public/assets/raku-DXvB9xmW.js +1 -0
- package/public/assets/razor-C1TweQQi.js +1 -0
- package/public/assets/red-bN70gL4F.js +1 -0
- package/public/assets/reg-C-SQnVFl.js +1 -0
- package/public/assets/regexp-CDVJQ6XC.js +1 -0
- package/public/assets/rel-C3B-1QV4.js +1 -0
- package/public/assets/requirementDiagram-UZGBJVZJ-jOv297_A.js +64 -0
- package/public/assets/riscv-BM1_JUlF.js +1 -0
- package/public/assets/rose-pine-dawn-DHQR4-dF.js +1 -0
- package/public/assets/rose-pine-moon-D4_iv3hh.js +1 -0
- package/public/assets/rose-pine-qdsjHGoJ.js +1 -0
- package/public/assets/rosmsg-BJDFO7_C.js +1 -0
- package/public/assets/rst-B0xPkSld.js +1 -0
- package/public/assets/ruby-BvKwtOVI.js +1 -0
- package/public/assets/rust-B1yitclQ.js +1 -0
- package/public/assets/sankeyDiagram-TZEHDZUN-CwvAKmpc.js +10 -0
- package/public/assets/sas-cz2c8ADy.js +1 -0
- package/public/assets/sass-Cj5Yp3dK.js +1 -0
- package/public/assets/scala-C151Ov-r.js +1 -0
- package/public/assets/scheme-C98Dy4si.js +1 -0
- package/public/assets/scss-OYdSNvt2.js +1 -0
- package/public/assets/sdbl-DVxCFoDh.js +1 -0
- package/public/assets/sequenceDiagram-WL72ISMW-D_WZ2ogT.js +145 -0
- package/public/assets/shaderlab-Dg9Lc6iA.js +1 -0
- package/public/assets/shellscript-Yzrsuije.js +1 -0
- package/public/assets/shellsession-BADoaaVG.js +1 -0
- package/public/assets/slack-dark-BthQWCQV.js +1 -0
- package/public/assets/slack-ochin-DqwNpetd.js +1 -0
- package/public/assets/smalltalk-BERRCDM3.js +1 -0
- package/public/assets/snazzy-light-Bw305WKR.js +1 -0
- package/public/assets/solarized-dark-DXbdFlpD.js +1 -0
- package/public/assets/solarized-light-L9t79GZl.js +1 -0
- package/public/assets/solidity-rGO070M0.js +1 -0
- package/public/assets/soy-Brmx7dQM.js +1 -0
- package/public/assets/sparql-rVzFXLq3.js +1 -0
- package/public/assets/splunk-BtCnVYZw.js +1 -0
- package/public/assets/sql-BLtJtn59.js +1 -0
- package/public/assets/ssh-config-_ykCGR6B.js +1 -0
- package/public/assets/stata-BH5u7GGu.js +1 -0
- package/public/assets/stateDiagram-FKZM4ZOC-tqYMmK3v.js +1 -0
- package/public/assets/stateDiagram-v2-4FDKWEC3-BF0ecSBs.js +1 -0
- package/public/assets/stylus-BEDo0Tqx.js +1 -0
- package/public/assets/svelte-zxCyuUbr.js +1 -0
- package/public/assets/swift-Dg5xB15N.js +1 -0
- package/public/assets/synthwave-84-CbfX1IO0.js +1 -0
- package/public/assets/system-verilog-CnnmHF94.js +1 -0
- package/public/assets/systemd-4A_iFExJ.js +1 -0
- package/public/assets/talonscript-CkByrt1z.js +1 -0
- package/public/assets/tasl-QIJgUcNo.js +1 -0
- package/public/assets/tcl-dwOrl1Do.js +1 -0
- package/public/assets/templ-W15q3VgB.js +1 -0
- package/public/assets/terraform-BETggiCN.js +1 -0
- package/public/assets/tex-CvyZ59Mk.js +1 -0
- package/public/assets/timeline-definition-IT6M3QCI-BIqJkdQ0.js +61 -0
- package/public/assets/tokyo-night-hegEt444.js +1 -0
- package/public/assets/toml-vGWfd6FD.js +1 -0
- package/public/assets/treemap-KMMF4GRG-CmJM6xaw.js +128 -0
- package/public/assets/ts-tags-zn1MmPIZ.js +1 -0
- package/public/assets/tsv-B_m7g4N7.js +1 -0
- package/public/assets/tsx-COt5Ahok.js +1 -0
- package/public/assets/turtle-BsS91CYL.js +1 -0
- package/public/assets/twig-CO9l9SDP.js +1 -0
- package/public/assets/typescript-BPQ3VLAy.js +1 -0
- package/public/assets/typespec-BGHnOYBU.js +1 -0
- package/public/assets/typst-DHCkPAjA.js +1 -0
- package/public/assets/v-BcVCzyr7.js +1 -0
- package/public/assets/vala-CsfeWuGM.js +1 -0
- package/public/assets/vb-D17OF-Vu.js +1 -0
- package/public/assets/verilog-BQ8w6xss.js +1 -0
- package/public/assets/vesper-DU1UobuO.js +1 -0
- package/public/assets/vhdl-CeAyd5Ju.js +1 -0
- package/public/assets/viml-CJc9bBzg.js +1 -0
- package/public/assets/vitesse-black-Bkuqu6BP.js +1 -0
- package/public/assets/vitesse-dark-D0r3Knsf.js +1 -0
- package/public/assets/vitesse-light-CVO1_9PV.js +1 -0
- package/public/assets/vue-DN_0RTcg.js +1 -0
- package/public/assets/vue-html-AaS7Mt5G.js +1 -0
- package/public/assets/vue-vine-CQOfvN7w.js +1 -0
- package/public/assets/vyper-CDx5xZoG.js +1 -0
- package/public/assets/wasm-CG6Dc4jp.js +1 -0
- package/public/assets/wasm-MzD3tlZU.js +1 -0
- package/public/assets/wenyan-BV7otONQ.js +1 -0
- package/public/assets/wgsl-Dx-B1_4e.js +1 -0
- package/public/assets/wikitext-BhOHFoWU.js +1 -0
- package/public/assets/wit-5i3qLPDT.js +1 -0
- package/public/assets/wolfram-lXgVvXCa.js +1 -0
- package/public/assets/xml-sdJ4AIDG.js +1 -0
- package/public/assets/xsl-CtQFsRM5.js +1 -0
- package/public/assets/xychartDiagram-PRI3JC2R-D7-tZ8iR.js +7 -0
- package/public/assets/yaml-Buea-lGh.js +1 -0
- package/public/assets/zenscript-DVFEvuxE.js +1 -0
- package/public/assets/zig-VOosw3JB.js +1 -0
- package/public/index.html +20 -0
- package/README.md +0 -150
- package/bin/cli.js +0 -370
- package/dev/cli.tsx +0 -38
- package/dist/config/openai-codex-models.json +0 -205
- package/dist/server/index.d.ts +0 -6
- package/dist/server/index.js +0 -180
- package/dist/server/lib/opencode-client.d.ts +0 -14
- package/dist/server/lib/opencode-client.js +0 -17
- package/dist/server/lib/opencode-config.d.ts +0 -14
- package/dist/server/lib/opencode-config.js +0 -25
- package/dist/server/middleware/cors.d.ts +0 -6
- package/dist/server/middleware/cors.js +0 -8
- package/dist/server/routes/config.d.ts +0 -12
- package/dist/server/routes/config.js +0 -207
- package/dist/server/routes/directory.d.ts +0 -8
- package/dist/server/routes/directory.js +0 -84
- package/dist/server/routes/init.d.ts +0 -16
- package/dist/server/routes/init.js +0 -39
- package/dist/server/routes/local-llm.d.ts +0 -8
- package/dist/server/routes/local-llm.js +0 -255
- package/dist/server/routes/logs.d.ts +0 -2
- package/dist/server/routes/logs.js +0 -53
- package/dist/server/routes/model-state.d.ts +0 -2
- package/dist/server/routes/model-state.js +0 -81
- package/dist/server/routes/prompt.d.ts +0 -16
- package/dist/server/routes/prompt.js +0 -173
- package/dist/server/routes/proxy.d.ts +0 -2
- package/dist/server/routes/proxy.js +0 -122
- package/dist/server/routes/session.d.ts +0 -8
- package/dist/server/routes/session.js +0 -63
- package/dist/server/routes/status.d.ts +0 -9
- package/dist/server/routes/status.js +0 -54
- package/dist/server/routes/usage.d.ts +0 -12
- package/dist/server/routes/usage.js +0 -60
- package/dist/server/routes/windows.d.ts +0 -2
- package/dist/server/routes/windows.js +0 -125
- package/dist/server/schema.d.ts +0 -235
- package/dist/server/schema.js +0 -25
- package/dist/server/services/database.d.ts +0 -14
- package/dist/server/services/database.js +0 -123
- package/dist/server/services/sse-manager.d.ts +0 -16
- package/dist/server/services/sse-manager.js +0 -44
- package/dist/web/assets/_baseUniq-BxVG561Z.js +0 -1
- package/dist/web/assets/amazon-bedrock-B_u4Gv8g.svg +0 -3
- package/dist/web/assets/apex-DDbsPZ6N.js +0 -1
- package/dist/web/assets/arc-B9TFF79T.js +0 -1
- package/dist/web/assets/architectureDiagram-VXUJARFQ-BMRLMpf8.js +0 -36
- package/dist/web/assets/ayu-dark-Cv9koXgw.js +0 -1
- package/dist/web/assets/blade-DVc8C-J4.js +0 -1
- package/dist/web/assets/blockDiagram-VD42YOAC-DBQKFxeQ.js +0 -122
- package/dist/web/assets/c4Diagram-YG6GDRKO-TiYEZrdu.js +0 -10
- package/dist/web/assets/channel-aOIIaiSs.js +0 -1
- package/dist/web/assets/chunk-4BX2VUAB-CWCp0N17.js +0 -1
- package/dist/web/assets/chunk-55IACEB6-CeVCFKqv.js +0 -1
- package/dist/web/assets/chunk-B4BG7PRW-B-AoaHJt.js +0 -165
- package/dist/web/assets/chunk-DI55MBZ5-CCGkXnX-.js +0 -220
- package/dist/web/assets/chunk-FMBD7UC4-Bcupjeb_.js +0 -15
- package/dist/web/assets/chunk-QN33PNHL-DlyUQaTO.js +0 -1
- package/dist/web/assets/chunk-QZHKN3VN-THN-at_3.js +0 -1
- package/dist/web/assets/chunk-TZMSLE5B-CtErOFJM.js +0 -1
- package/dist/web/assets/classDiagram-2ON5EDUG-BFLMv18M.js +0 -1
- package/dist/web/assets/classDiagram-v2-WZHVMYZB-BFLMv18M.js +0 -1
- package/dist/web/assets/clone-BR_FHSwu.js +0 -1
- package/dist/web/assets/code-block-QI2IAROF-CPI-88R6.js +0 -2
- package/dist/web/assets/cose-bilkent-S5V4N54A-YrHmsLe4.js +0 -1
- package/dist/web/assets/dagre-6UL2VRFP-Dcvw3qhj.js +0 -4
- package/dist/web/assets/deepinfra-Dq_BB8I0.svg +0 -4
- package/dist/web/assets/diagram-PSM6KHXK-B135EOe6.js +0 -24
- package/dist/web/assets/diagram-QEK2KX5R-w3KdB_-u.js +0 -43
- package/dist/web/assets/diagram-S2PKOQOG-DYssvOTP.js +0 -24
- package/dist/web/assets/erDiagram-Q2GNP2WA-DpnuE7B_.js +0 -60
- package/dist/web/assets/flowDiagram-NV44I4VS-BhcJ-8Yu.js +0 -162
- package/dist/web/assets/fortran-fixed-form-BZjJHVRy.js +0 -1
- package/dist/web/assets/fortran-free-form-D22FLkUw.js +0 -1
- package/dist/web/assets/ganttDiagram-JELNMOA3-ButVkRCz.js +0 -267
- package/dist/web/assets/gitGraphDiagram-NY62KEGX-ZLz8eoSo.js +0 -65
- package/dist/web/assets/google-vertex-BCu5nGvk.svg +0 -10
- package/dist/web/assets/graph-CKmCFGqF.js +0 -1
- package/dist/web/assets/huggingface-DlwzPJmc.svg +0 -3
- package/dist/web/assets/index-BHJDUcNL.js +0 -1719
- package/dist/web/assets/index-CcAJUkQw.css +0 -1
- package/dist/web/assets/index-DEiKajXR.js +0 -1
- package/dist/web/assets/infoDiagram-WHAUD3N6-C_h94brE.js +0 -2
- package/dist/web/assets/journeyDiagram-XKPGCS4Q-u0bPRxxb.js +0 -139
- package/dist/web/assets/julia-C8NyazO9.js +0 -1
- package/dist/web/assets/kanban-definition-3W4ZIXB7-DkM-KD6Y.js +0 -89
- package/dist/web/assets/kimi-for-coding-eVEHug_h.svg +0 -3
- package/dist/web/assets/kusto-BvAqAH-y.js +0 -1
- package/dist/web/assets/latex-BdAV_C_H.js +0 -1
- package/dist/web/assets/layout-DGSU3MQw.js +0 -1
- package/dist/web/assets/lean-Bc6EcWN3.js +0 -1
- package/dist/web/assets/linear-Dck9QCb9.js +0 -1
- package/dist/web/assets/luau-CXu1NL6O.js +0 -1
- package/dist/web/assets/lucidquery-DRFbix82.svg +0 -3
- package/dist/web/assets/marko-CPi9NSCl.js +0 -1
- package/dist/web/assets/mermaid-DKYwYmdq.js +0 -1
- package/dist/web/assets/mermaid.core-DfB-jqaz.js +0 -191
- package/dist/web/assets/min-CqEcl9J0.js +0 -1
- package/dist/web/assets/mindmap-definition-VGOIOE7T-D1KrSALz.js +0 -68
- package/dist/web/assets/mojo-1DNp92w6.js +0 -1
- package/dist/web/assets/moonshotai-BeF2wtIV.svg +0 -3
- package/dist/web/assets/nix-c8nO5XWb.js +0 -1
- package/dist/web/assets/ollama-cloud-BIdeu-re.svg +0 -7
- package/dist/web/assets/pieDiagram-ADFJNKIX-CZ-507Bd.js +0 -30
- package/dist/web/assets/proto-DyJlTyXw.js +0 -1
- package/dist/web/assets/quadrantDiagram-AYHSOK5B-Jw0og6Ix.js +0 -7
- package/dist/web/assets/r-DiinP2Uv.js +0 -1
- package/dist/web/assets/razor-CE9lU5zL.js +0 -1
- package/dist/web/assets/requirementDiagram-UZGBJVZJ-5JWD7TEH.js +0 -64
- package/dist/web/assets/sankeyDiagram-TZEHDZUN-DzlxPj37.js +0 -10
- package/dist/web/assets/sequenceDiagram-WL72ISMW-Cui1ykiA.js +0 -145
- package/dist/web/assets/stateDiagram-FKZM4ZOC-CCdGE_zt.js +0 -1
- package/dist/web/assets/stateDiagram-v2-4FDKWEC3-CsLg9bzy.js +0 -1
- package/dist/web/assets/svelte-3Dk4HxPD.js +0 -1
- package/dist/web/assets/tex-CxkMU7Pf.js +0 -1
- package/dist/web/assets/timeline-definition-IT6M3QCI-CP2T8mHI.js +0 -61
- package/dist/web/assets/treemap-KMMF4GRG-DGBVlHVf.js +0 -128
- package/dist/web/assets/venice-CeIHfrIB.svg +0 -4
- package/dist/web/assets/vue-DnHKYNfI.js +0 -1
- package/dist/web/assets/vue-html-CChd_i61.js +0 -1
- package/dist/web/assets/vue-vine-8moa0y9V.js +0 -1
- package/dist/web/assets/welcome-screen-test-DnIwI3hf.js +0 -1
- package/dist/web/assets/xychartDiagram-PRI3JC2R-DDlMipkA.js +0 -7
- package/dist/web/favicon.svg +0 -4
- package/dist/web/index.html +0 -20
- /package/dist/{web → public}/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
- /package/dist/{web → public}/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
- /package/dist/{web → public}/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
- /package/dist/{web → public}/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
- /package/dist/{web → public}/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
- /package/dist/{web → public}/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
- /package/dist/{web → public}/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
- /package/dist/{web → public}/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
- /package/dist/{web → public}/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
- /package/dist/{web → public}/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
- /package/dist/{web → public}/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
- /package/dist/{web → public}/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
- /package/dist/{web → public}/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
- /package/dist/{web → public}/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
- /package/dist/{web → public}/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
- /package/dist/{web → public}/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
- /package/dist/{web → public}/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
- /package/dist/{web → public}/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
- /package/dist/{web → public}/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
- /package/dist/{web → public}/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
- /package/dist/{web → public}/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
- /package/dist/{web → public}/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
- /package/dist/{web → public}/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
- /package/dist/{web → public}/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
- /package/dist/{web → public}/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
- /package/dist/{web → public}/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
- /package/dist/{web → public}/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
- /package/dist/{web → public}/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
- /package/dist/{web → public}/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
- /package/dist/{web → public}/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
- /package/dist/{web → public}/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
- /package/dist/{web → public}/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
- /package/dist/{web → public}/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
- /package/dist/{web → public}/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
- /package/dist/{web → public}/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
- /package/dist/{web → public}/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
- /package/dist/{web → public}/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
- /package/dist/{web → public}/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
- /package/dist/{web → public}/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
- /package/dist/{web → public}/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
- /package/dist/{web → public}/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
- /package/dist/{web → public}/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
- /package/dist/{web → public}/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
- /package/dist/{web → public}/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
- /package/dist/{web → public}/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
- /package/dist/{web → public}/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
- /package/dist/{web → public}/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
- /package/dist/{web → public}/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
- /package/dist/{web → public}/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
- /package/dist/{web → public}/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
- /package/dist/{web → public}/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
- /package/dist/{web → public}/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
- /package/dist/{web → public}/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
- /package/dist/{web → public}/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
- /package/dist/{web → public}/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
- /package/dist/{web → public}/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
- /package/dist/{web → public}/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
- /package/dist/{web → public}/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
- /package/dist/{web → public}/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
- /package/dist/{web → public}/assets/abap-BdImnpbu.js +0 -0
- /package/dist/{web → public}/assets/actionscript-3-CfeIJUat.js +0 -0
- /package/dist/{web → public}/assets/ada-bCR0ucgS.js +0 -0
- /package/dist/{web → public}/assets/andromeeda-C-Jbm3Hp.js +0 -0
- /package/dist/{web → public}/assets/angular-html-CU67Zn6k.js +0 -0
- /package/dist/{web → public}/assets/angular-ts-BwZT4LLn.js +0 -0
- /package/dist/{web → public}/assets/apache-Pmp26Uib.js +0 -0
- /package/dist/{web → public}/assets/apl-dKokRX4l.js +0 -0
- /package/dist/{web → public}/assets/applescript-Co6uUVPk.js +0 -0
- /package/dist/{web → public}/assets/ara-BRHolxvo.js +0 -0
- /package/dist/{web → public}/assets/asciidoc-Dv7Oe6Be.js +0 -0
- /package/dist/{web → public}/assets/asm-D_Q5rh1f.js +0 -0
- /package/dist/{web → public}/assets/astro-CbQHKStN.js +0 -0
- /package/dist/{web → public}/assets/aurora-x-D-2ljcwZ.js +0 -0
- /package/dist/{web → public}/assets/awk-DMzUqQB5.js +0 -0
- /package/dist/{web → public}/assets/ballerina-BFfxhgS-.js +0 -0
- /package/dist/{web → public}/assets/bat-BkioyH1T.js +0 -0
- /package/dist/{web → public}/assets/beancount-k_qm7-4y.js +0 -0
- /package/dist/{web → public}/assets/berry-uYugtg8r.js +0 -0
- /package/dist/{web → public}/assets/bibtex-CHM0blh-.js +0 -0
- /package/dist/{web → public}/assets/bicep-Bmn6On1c.js +0 -0
- /package/dist/{web → public}/assets/bsl-BO_Y6i37.js +0 -0
- /package/dist/{web → public}/assets/c-BIGW1oBm.js +0 -0
- /package/dist/{web → public}/assets/cadence-Bv_4Rxtq.js +0 -0
- /package/dist/{web → public}/assets/cairo-KRGpt6FW.js +0 -0
- /package/dist/{web → public}/assets/catppuccin-frappe-DFWUc33u.js +0 -0
- /package/dist/{web → public}/assets/catppuccin-latte-C9dUb6Cb.js +0 -0
- /package/dist/{web → public}/assets/catppuccin-macchiato-DQyhUUbL.js +0 -0
- /package/dist/{web → public}/assets/catppuccin-mocha-D87Tk5Gz.js +0 -0
- /package/dist/{web → public}/assets/clarity-D53aC0YG.js +0 -0
- /package/dist/{web → public}/assets/clojure-P80f7IUj.js +0 -0
- /package/dist/{web → public}/assets/cmake-D1j8_8rp.js +0 -0
- /package/dist/{web → public}/assets/cobol-nwyudZeR.js +0 -0
- /package/dist/{web → public}/assets/codeowners-Bp6g37R7.js +0 -0
- /package/dist/{web → public}/assets/codeql-DsOJ9woJ.js +0 -0
- /package/dist/{web → public}/assets/coffee-Ch7k5sss.js +0 -0
- /package/dist/{web → public}/assets/common-lisp-Cg-RD9OK.js +0 -0
- /package/dist/{web → public}/assets/coq-DkFqJrB1.js +0 -0
- /package/dist/{web → public}/assets/cpp-CofmeUqb.js +0 -0
- /package/dist/{web → public}/assets/crystal-tKQVLTB8.js +0 -0
- /package/dist/{web → public}/assets/csharp-K5feNrxe.js +0 -0
- /package/dist/{web → public}/assets/css-DPfMkruS.js +0 -0
- /package/dist/{web → public}/assets/csv-fuZLfV_i.js +0 -0
- /package/dist/{web → public}/assets/cue-D82EKSYY.js +0 -0
- /package/dist/{web → public}/assets/cypher-COkxafJQ.js +0 -0
- /package/dist/{web → public}/assets/cytoscape.esm-5J0xJHOV.js +0 -0
- /package/dist/{web → public}/assets/d-85-TOEBH.js +0 -0
- /package/dist/{web → public}/assets/dark-plus-C3mMm8J8.js +0 -0
- /package/dist/{web → public}/assets/dart-CF10PKvl.js +0 -0
- /package/dist/{web → public}/assets/dax-CEL-wOlO.js +0 -0
- /package/dist/{web → public}/assets/defaultLocale-C4B-KCzX.js +0 -0
- /package/dist/{web → public}/assets/desktop-BmXAJ9_W.js +0 -0
- /package/dist/{web → public}/assets/diff-D97Zzqfu.js +0 -0
- /package/dist/{web → public}/assets/docker-BcOcwvcX.js +0 -0
- /package/dist/{web → public}/assets/dotenv-Da5cRb03.js +0 -0
- /package/dist/{web → public}/assets/dracula-BzJJZx-M.js +0 -0
- /package/dist/{web → public}/assets/dracula-soft-BXkSAIEj.js +0 -0
- /package/dist/{web → public}/assets/dream-maker-BtqSS_iP.js +0 -0
- /package/dist/{web → public}/assets/edge-BkV0erSs.js +0 -0
- /package/dist/{web → public}/assets/elixir-CDX3lj18.js +0 -0
- /package/dist/{web → public}/assets/elm-DbKCFpqz.js +0 -0
- /package/dist/{web → public}/assets/emacs-lisp-C9XAeP06.js +0 -0
- /package/dist/{web → public}/assets/erb-BOJIQeun.js +0 -0
- /package/dist/{web → public}/assets/erlang-DsQrWhSR.js +0 -0
- /package/dist/{web → public}/assets/everforest-dark-BgDCqdQA.js +0 -0
- /package/dist/{web → public}/assets/everforest-light-C8M2exoo.js +0 -0
- /package/dist/{web → public}/assets/fennel-BYunw83y.js +0 -0
- /package/dist/{web → public}/assets/fish-BvzEVeQv.js +0 -0
- /package/dist/{web → public}/assets/fluent-C4IJs8-o.js +0 -0
- /package/dist/{web → public}/assets/fsharp-CXgrBDvD.js +0 -0
- /package/dist/{web → public}/assets/gdresource-B7Tvp0Sc.js +0 -0
- /package/dist/{web → public}/assets/gdscript-DTMYz4Jt.js +0 -0
- /package/dist/{web → public}/assets/gdshader-DkwncUOv.js +0 -0
- /package/dist/{web → public}/assets/genie-D0YGMca9.js +0 -0
- /package/dist/{web → public}/assets/gherkin-DyxjwDmM.js +0 -0
- /package/dist/{web → public}/assets/git-commit-F4YmCXRG.js +0 -0
- /package/dist/{web → public}/assets/git-rebase-r7XF79zn.js +0 -0
- /package/dist/{web → public}/assets/github-dark-DHJKELXO.js +0 -0
- /package/dist/{web → public}/assets/github-dark-default-Cuk6v7N8.js +0 -0
- /package/dist/{web → public}/assets/github-dark-dimmed-DH5Ifo-i.js +0 -0
- /package/dist/{web → public}/assets/github-dark-high-contrast-E3gJ1_iC.js +0 -0
- /package/dist/{web → public}/assets/github-light-DAi9KRSo.js +0 -0
- /package/dist/{web → public}/assets/github-light-default-D7oLnXFd.js +0 -0
- /package/dist/{web → public}/assets/github-light-high-contrast-BfjtVDDH.js +0 -0
- /package/dist/{web → public}/assets/gleam-BspZqrRM.js +0 -0
- /package/dist/{web → public}/assets/glimmer-js-Rg0-pVw9.js +0 -0
- /package/dist/{web → public}/assets/glimmer-ts-U6CK756n.js +0 -0
- /package/dist/{web → public}/assets/glsl-DplSGwfg.js +0 -0
- /package/dist/{web → public}/assets/gnuplot-DdkO51Og.js +0 -0
- /package/dist/{web → public}/assets/go-Dn2_MT6a.js +0 -0
- /package/dist/{web → public}/assets/graphql-ChdNCCLP.js +0 -0
- /package/dist/{web → public}/assets/groovy-gcz8RCvz.js +0 -0
- /package/dist/{web → public}/assets/gruvbox-dark-hard-CFHQjOhq.js +0 -0
- /package/dist/{web → public}/assets/gruvbox-dark-medium-GsRaNv29.js +0 -0
- /package/dist/{web → public}/assets/gruvbox-dark-soft-CVdnzihN.js +0 -0
- /package/dist/{web → public}/assets/gruvbox-light-hard-CH1njM8p.js +0 -0
- /package/dist/{web → public}/assets/gruvbox-light-medium-DRw_LuNl.js +0 -0
- /package/dist/{web → public}/assets/gruvbox-light-soft-hJgmCMqR.js +0 -0
- /package/dist/{web → public}/assets/hack-CaT9iCJl.js +0 -0
- /package/dist/{web → public}/assets/haml-B8DHNrY2.js +0 -0
- /package/dist/{web → public}/assets/handlebars-BL8al0AC.js +0 -0
- /package/dist/{web → public}/assets/haskell-Df6bDoY_.js +0 -0
- /package/dist/{web → public}/assets/haxe-CzTSHFRz.js +0 -0
- /package/dist/{web → public}/assets/hcl-BWvSN4gD.js +0 -0
- /package/dist/{web → public}/assets/hjson-D5-asLiD.js +0 -0
- /package/dist/{web → public}/assets/hlsl-D3lLCCz7.js +0 -0
- /package/dist/{web → public}/assets/houston-DnULxvSX.js +0 -0
- /package/dist/{web → public}/assets/html-GMplVEZG.js +0 -0
- /package/dist/{web → public}/assets/html-derivative-BFtXZ54Q.js +0 -0
- /package/dist/{web → public}/assets/http-jrhK8wxY.js +0 -0
- /package/dist/{web → public}/assets/hurl-irOxFIW8.js +0 -0
- /package/dist/{web → public}/assets/hxml-Bvhsp5Yf.js +0 -0
- /package/dist/{web → public}/assets/hy-DFXneXwc.js +0 -0
- /package/dist/{web → public}/assets/imba-DGztddWO.js +0 -0
- /package/dist/{web → public}/assets/ini-BEwlwnbL.js +0 -0
- /package/dist/{web → public}/assets/init-Gi6I4Gst.js +0 -0
- /package/dist/{web → public}/assets/inter-cyrillic-400-normal-HOLc17fK.woff +0 -0
- /package/dist/{web → public}/assets/inter-cyrillic-400-normal-obahsSVq.woff2 +0 -0
- /package/dist/{web → public}/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2 +0 -0
- /package/dist/{web → public}/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff +0 -0
- /package/dist/{web → public}/assets/inter-greek-400-normal-B4URO6DV.woff2 +0 -0
- /package/dist/{web → public}/assets/inter-greek-400-normal-q2sYcFCs.woff +0 -0
- /package/dist/{web → public}/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2 +0 -0
- /package/dist/{web → public}/assets/inter-greek-ext-400-normal-KugGGMne.woff +0 -0
- /package/dist/{web → public}/assets/inter-latin-400-normal-C38fXH4l.woff2 +0 -0
- /package/dist/{web → public}/assets/inter-latin-400-normal-CyCys3Eg.woff +0 -0
- /package/dist/{web → public}/assets/inter-latin-ext-400-normal-77YHD8bZ.woff +0 -0
- /package/dist/{web → public}/assets/inter-latin-ext-400-normal-C1nco2VV.woff2 +0 -0
- /package/dist/{web → public}/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff +0 -0
- /package/dist/{web → public}/assets/inter-vietnamese-400-normal-DMkecbls.woff2 +0 -0
- /package/dist/{web → public}/assets/java-CylS5w8V.js +0 -0
- /package/dist/{web → public}/assets/javascript-wDzz0qaB.js +0 -0
- /package/dist/{web → public}/assets/jinja-4LBKfQ-Z.js +0 -0
- /package/dist/{web → public}/assets/jison-wvAkD_A8.js +0 -0
- /package/dist/{web → public}/assets/json-Cp-IABpG.js +0 -0
- /package/dist/{web → public}/assets/json5-C9tS-k6U.js +0 -0
- /package/dist/{web → public}/assets/jsonc-Des-eS-w.js +0 -0
- /package/dist/{web → public}/assets/jsonl-DcaNXYhu.js +0 -0
- /package/dist/{web → public}/assets/jsonnet-DFQXde-d.js +0 -0
- /package/dist/{web → public}/assets/jssm-C2t-YnRu.js +0 -0
- /package/dist/{web → public}/assets/jsx-g9-lgVsj.js +0 -0
- /package/dist/{web → public}/assets/kanagawa-dragon-CkXjmgJE.js +0 -0
- /package/dist/{web → public}/assets/kanagawa-lotus-CfQXZHmo.js +0 -0
- /package/dist/{web → public}/assets/kanagawa-wave-DWedfzmr.js +0 -0
- /package/dist/{web → public}/assets/katex-DvXFAOB1.css +0 -0
- /package/dist/{web → public}/assets/kdl-DV7GczEv.js +0 -0
- /package/dist/{web → public}/assets/kotlin-BdnUsdx6.js +0 -0
- /package/dist/{web → public}/assets/laserwave-DUszq2jm.js +0 -0
- /package/dist/{web → public}/assets/less-B1dDrJ26.js +0 -0
- /package/dist/{web → public}/assets/light-plus-B7mTdjB0.js +0 -0
- /package/dist/{web → public}/assets/liquid-DYVedYrR.js +0 -0
- /package/dist/{web → public}/assets/llvm-BtvRca6l.js +0 -0
- /package/dist/{web → public}/assets/log-2UxHyX5q.js +0 -0
- /package/dist/{web → public}/assets/logo-BtOb2qkB.js +0 -0
- /package/dist/{web → public}/assets/lua-BbnMAYS6.js +0 -0
- /package/dist/{web → public}/assets/make-CHLpvVh8.js +0 -0
- /package/dist/{web → public}/assets/markdown-Cvjx9yec.js +0 -0
- /package/dist/{web → public}/assets/material-theme-D5KoaKCx.js +0 -0
- /package/dist/{web → public}/assets/material-theme-darker-BfHTSMKl.js +0 -0
- /package/dist/{web → public}/assets/material-theme-lighter-B0m2ddpp.js +0 -0
- /package/dist/{web → public}/assets/material-theme-ocean-CyktbL80.js +0 -0
- /package/dist/{web → public}/assets/material-theme-palenight-Csfq5Kiy.js +0 -0
- /package/dist/{web → public}/assets/matlab-D7o27uSR.js +0 -0
- /package/dist/{web → public}/assets/mdc-DUICxH0z.js +0 -0
- /package/dist/{web → public}/assets/mdx-Cmh6b_Ma.js +0 -0
- /package/dist/{web → public}/assets/min-dark-CafNBF8u.js +0 -0
- /package/dist/{web → public}/assets/min-light-CTRr51gU.js +0 -0
- /package/dist/{web → public}/assets/mipsasm-CKIfxQSi.js +0 -0
- /package/dist/{web → public}/assets/monokai-D4h5O-jR.js +0 -0
- /package/dist/{web → public}/assets/move-Bu9oaDYs.js +0 -0
- /package/dist/{web → public}/assets/narrat-DRg8JJMk.js +0 -0
- /package/dist/{web → public}/assets/nextflow-BrzmwbiE.js +0 -0
- /package/dist/{web → public}/assets/nginx-DknmC5AR.js +0 -0
- /package/dist/{web → public}/assets/night-owl-C39BiMTA.js +0 -0
- /package/dist/{web → public}/assets/nim-CVrawwO9.js +0 -0
- /package/dist/{web → public}/assets/nord-Ddv68eIx.js +0 -0
- /package/dist/{web → public}/assets/nushell-C-sUppwS.js +0 -0
- /package/dist/{web → public}/assets/objective-c-DXmwc3jG.js +0 -0
- /package/dist/{web → public}/assets/objective-cpp-CLxacb5B.js +0 -0
- /package/dist/{web → public}/assets/ocaml-C0hk2d4L.js +0 -0
- /package/dist/{web → public}/assets/one-dark-pro-DVMEJ2y_.js +0 -0
- /package/dist/{web → public}/assets/one-light-PoHY5YXO.js +0 -0
- /package/dist/{web → public}/assets/openscad-C4EeE6gA.js +0 -0
- /package/dist/{web → public}/assets/ordinal-Cboi1Yqb.js +0 -0
- /package/dist/{web → public}/assets/pascal-D93ZcfNL.js +0 -0
- /package/dist/{web → public}/assets/perl-C0TMdlhV.js +0 -0
- /package/dist/{web → public}/assets/php-CDn_0X-4.js +0 -0
- /package/dist/{web → public}/assets/pierre-dark-BXuwtOqb.js +0 -0
- /package/dist/{web → public}/assets/pierre-light-dckrK0oj.js +0 -0
- /package/dist/{web → public}/assets/pkl-u5AG7uiY.js +0 -0
- /package/dist/{web → public}/assets/plastic-3e1v2bzS.js +0 -0
- /package/dist/{web → public}/assets/plsql-ChMvpjG-.js +0 -0
- /package/dist/{web → public}/assets/po-BTJTHyun.js +0 -0
- /package/dist/{web → public}/assets/poimandres-CS3Unz2-.js +0 -0
- /package/dist/{web → public}/assets/polar-C0HS_06l.js +0 -0
- /package/dist/{web → public}/assets/postcss-CXtECtnM.js +0 -0
- /package/dist/{web → public}/assets/powerquery-CEu0bR-o.js +0 -0
- /package/dist/{web → public}/assets/powershell-Dpen1YoG.js +0 -0
- /package/dist/{web → public}/assets/prisma-Dd19v3D-.js +0 -0
- /package/dist/{web → public}/assets/prolog-CbFg5uaA.js +0 -0
- /package/dist/{web → public}/assets/pug-CGlum2m_.js +0 -0
- /package/dist/{web → public}/assets/puppet-BMWR74SV.js +0 -0
- /package/dist/{web → public}/assets/purescript-CklMAg4u.js +0 -0
- /package/dist/{web → public}/assets/python-B6aJPvgy.js +0 -0
- /package/dist/{web → public}/assets/qml-3beO22l8.js +0 -0
- /package/dist/{web → public}/assets/qmldir-C8lEn-DE.js +0 -0
- /package/dist/{web → public}/assets/qss-IeuSbFQv.js +0 -0
- /package/dist/{web → public}/assets/racket-BqYA7rlc.js +0 -0
- /package/dist/{web → public}/assets/raku-DXvB9xmW.js +0 -0
- /package/dist/{web → public}/assets/red-bN70gL4F.js +0 -0
- /package/dist/{web → public}/assets/reg-C-SQnVFl.js +0 -0
- /package/dist/{web → public}/assets/regexp-CDVJQ6XC.js +0 -0
- /package/dist/{web → public}/assets/rel-C3B-1QV4.js +0 -0
- /package/dist/{web → public}/assets/riscv-BM1_JUlF.js +0 -0
- /package/dist/{web → public}/assets/rose-pine-dawn-DHQR4-dF.js +0 -0
- /package/dist/{web → public}/assets/rose-pine-moon-D4_iv3hh.js +0 -0
- /package/dist/{web → public}/assets/rose-pine-qdsjHGoJ.js +0 -0
- /package/dist/{web → public}/assets/rosmsg-BJDFO7_C.js +0 -0
- /package/dist/{web → public}/assets/rst-B0xPkSld.js +0 -0
- /package/dist/{web → public}/assets/ruby-BvKwtOVI.js +0 -0
- /package/dist/{web → public}/assets/rust-B1yitclQ.js +0 -0
- /package/dist/{web → public}/assets/sas-cz2c8ADy.js +0 -0
- /package/dist/{web → public}/assets/sass-Cj5Yp3dK.js +0 -0
- /package/dist/{web → public}/assets/scala-C151Ov-r.js +0 -0
- /package/dist/{web → public}/assets/scheme-C98Dy4si.js +0 -0
- /package/dist/{web → public}/assets/scss-OYdSNvt2.js +0 -0
- /package/dist/{web → public}/assets/sdbl-DVxCFoDh.js +0 -0
- /package/dist/{web → public}/assets/shaderlab-Dg9Lc6iA.js +0 -0
- /package/dist/{web → public}/assets/shellscript-Yzrsuije.js +0 -0
- /package/dist/{web → public}/assets/shellsession-BADoaaVG.js +0 -0
- /package/dist/{web → public}/assets/slack-dark-BthQWCQV.js +0 -0
- /package/dist/{web → public}/assets/slack-ochin-DqwNpetd.js +0 -0
- /package/dist/{web → public}/assets/smalltalk-BERRCDM3.js +0 -0
- /package/dist/{web → public}/assets/snazzy-light-Bw305WKR.js +0 -0
- /package/dist/{web → public}/assets/solarized-dark-DXbdFlpD.js +0 -0
- /package/dist/{web → public}/assets/solarized-light-L9t79GZl.js +0 -0
- /package/dist/{web → public}/assets/solidity-rGO070M0.js +0 -0
- /package/dist/{web → public}/assets/soy-Brmx7dQM.js +0 -0
- /package/dist/{web → public}/assets/sparql-rVzFXLq3.js +0 -0
- /package/dist/{web → public}/assets/splunk-BtCnVYZw.js +0 -0
- /package/dist/{web → public}/assets/sql-BLtJtn59.js +0 -0
- /package/dist/{web → public}/assets/ssh-config-_ykCGR6B.js +0 -0
- /package/dist/{web → public}/assets/stata-BH5u7GGu.js +0 -0
- /package/dist/{web → public}/assets/stylus-BEDo0Tqx.js +0 -0
- /package/dist/{web → public}/assets/swift-Dg5xB15N.js +0 -0
- /package/dist/{web → public}/assets/synthwave-84-CbfX1IO0.js +0 -0
- /package/dist/{web → public}/assets/system-verilog-CnnmHF94.js +0 -0
- /package/dist/{web → public}/assets/systemd-4A_iFExJ.js +0 -0
- /package/dist/{web → public}/assets/talonscript-CkByrt1z.js +0 -0
- /package/dist/{web → public}/assets/tasl-QIJgUcNo.js +0 -0
- /package/dist/{web → public}/assets/tcl-dwOrl1Do.js +0 -0
- /package/dist/{web → public}/assets/templ-W15q3VgB.js +0 -0
- /package/dist/{web → public}/assets/terraform-BETggiCN.js +0 -0
- /package/dist/{web → public}/assets/tokyo-night-hegEt444.js +0 -0
- /package/dist/{web → public}/assets/toml-vGWfd6FD.js +0 -0
- /package/dist/{web → public}/assets/ts-tags-zn1MmPIZ.js +0 -0
- /package/dist/{web → public}/assets/tsv-B_m7g4N7.js +0 -0
- /package/dist/{web → public}/assets/tsx-COt5Ahok.js +0 -0
- /package/dist/{web → public}/assets/turtle-BsS91CYL.js +0 -0
- /package/dist/{web → public}/assets/twig-CO9l9SDP.js +0 -0
- /package/dist/{web → public}/assets/typescript-BPQ3VLAy.js +0 -0
- /package/dist/{web → public}/assets/typespec-BGHnOYBU.js +0 -0
- /package/dist/{web → public}/assets/typst-DHCkPAjA.js +0 -0
- /package/dist/{web → public}/assets/v-BcVCzyr7.js +0 -0
- /package/dist/{web → public}/assets/vala-CsfeWuGM.js +0 -0
- /package/dist/{web → public}/assets/vb-D17OF-Vu.js +0 -0
- /package/dist/{web → public}/assets/verilog-BQ8w6xss.js +0 -0
- /package/dist/{web → public}/assets/vesper-DU1UobuO.js +0 -0
- /package/dist/{web → public}/assets/vhdl-CeAyd5Ju.js +0 -0
- /package/dist/{web → public}/assets/viml-CJc9bBzg.js +0 -0
- /package/dist/{web → public}/assets/vitesse-black-Bkuqu6BP.js +0 -0
- /package/dist/{web → public}/assets/vitesse-dark-D0r3Knsf.js +0 -0
- /package/dist/{web → public}/assets/vitesse-light-CVO1_9PV.js +0 -0
- /package/dist/{web → public}/assets/vyper-CDx5xZoG.js +0 -0
- /package/dist/{web → public}/assets/wasm-CG6Dc4jp.js +0 -0
- /package/dist/{web → public}/assets/wasm-MzD3tlZU.js +0 -0
- /package/dist/{web → public}/assets/wenyan-BV7otONQ.js +0 -0
- /package/dist/{web → public}/assets/wgsl-Dx-B1_4e.js +0 -0
- /package/dist/{web → public}/assets/wikitext-BhOHFoWU.js +0 -0
- /package/dist/{web → public}/assets/wit-5i3qLPDT.js +0 -0
- /package/dist/{web → public}/assets/wolfram-lXgVvXCa.js +0 -0
- /package/dist/{web → public}/assets/xml-sdJ4AIDG.js +0 -0
- /package/dist/{web → public}/assets/xsl-CtQFsRM5.js +0 -0
- /package/dist/{web → public}/assets/yaml-Buea-lGh.js +0 -0
- /package/dist/{web → public}/assets/zenscript-DVFEvuxE.js +0 -0
- /package/dist/{web → public}/assets/zig-VOosw3JB.js +0 -0
|
@@ -1,255 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Local LLM Routes
|
|
3
|
-
*
|
|
4
|
-
* Endpoints for validating and adding OpenAI-compatible local LLM providers
|
|
5
|
-
* (LM Studio, Ollama, llama.cpp, etc.) to the global OpenCode config.
|
|
6
|
-
*/
|
|
7
|
-
import { Router } from 'express';
|
|
8
|
-
import { readFileSync, writeFileSync, existsSync, mkdirSync } from 'fs';
|
|
9
|
-
import { join } from 'path';
|
|
10
|
-
import { homedir } from 'os';
|
|
11
|
-
import { opencodeClient } from '../lib/opencode-client.js';
|
|
12
|
-
const router = Router();
|
|
13
|
-
/** Global OpenCode config path */
|
|
14
|
-
const OPENCODE_CONFIG_DIR = join(homedir(), '.config', 'opencode');
|
|
15
|
-
const OPENCODE_CONFIG_PATH = join(OPENCODE_CONFIG_DIR, 'opencode.json');
|
|
16
|
-
/** Timeout for validation requests (5 seconds) */
|
|
17
|
-
const VALIDATION_TIMEOUT_MS = 5000;
|
|
18
|
-
/**
|
|
19
|
-
* Sanitize provider name to create a valid provider ID.
|
|
20
|
-
* "LM Studio" -> "lm-studio"
|
|
21
|
-
* "My Custom Provider!" -> "my-custom-provider"
|
|
22
|
-
*/
|
|
23
|
-
function sanitizeProviderId(name) {
|
|
24
|
-
return name
|
|
25
|
-
.toLowerCase()
|
|
26
|
-
.trim()
|
|
27
|
-
.replace(/[^a-z0-9]+/g, '-') // Replace non-alphanumeric with hyphens
|
|
28
|
-
.replace(/^-+|-+$/g, '') // Remove leading/trailing hyphens
|
|
29
|
-
.substring(0, 50); // Limit length
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Read the global OpenCode config file.
|
|
33
|
-
* Returns empty config structure if file doesn't exist.
|
|
34
|
-
*/
|
|
35
|
-
function readOpencodeConfig() {
|
|
36
|
-
try {
|
|
37
|
-
if (existsSync(OPENCODE_CONFIG_PATH)) {
|
|
38
|
-
const content = readFileSync(OPENCODE_CONFIG_PATH, 'utf-8');
|
|
39
|
-
return JSON.parse(content);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
catch (err) {
|
|
43
|
-
console.error('[local-llm] Failed to read opencode.json:', err);
|
|
44
|
-
}
|
|
45
|
-
// Return default config structure
|
|
46
|
-
return {
|
|
47
|
-
$schema: 'https://opencode.ai/config.json',
|
|
48
|
-
provider: {},
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Write the global OpenCode config file.
|
|
53
|
-
*/
|
|
54
|
-
function writeOpencodeConfig(config) {
|
|
55
|
-
// Ensure config directory exists
|
|
56
|
-
if (!existsSync(OPENCODE_CONFIG_DIR)) {
|
|
57
|
-
mkdirSync(OPENCODE_CONFIG_DIR, { recursive: true });
|
|
58
|
-
}
|
|
59
|
-
const content = JSON.stringify(config, null, 2);
|
|
60
|
-
writeFileSync(OPENCODE_CONFIG_PATH, content, 'utf-8');
|
|
61
|
-
console.log(`[local-llm] Wrote config to ${OPENCODE_CONFIG_PATH}`);
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* POST /validate
|
|
65
|
-
*
|
|
66
|
-
* Validates a local LLM server by fetching its /models endpoint.
|
|
67
|
-
* Returns the list of available models if successful.
|
|
68
|
-
*
|
|
69
|
-
* Request body: { baseUrl: string }
|
|
70
|
-
* Response: { success: true, models: [...] } or { success: false, error: "..." }
|
|
71
|
-
*/
|
|
72
|
-
router.post('/validate', async (req, res) => {
|
|
73
|
-
const { baseUrl } = req.body;
|
|
74
|
-
if (!baseUrl || typeof baseUrl !== 'string') {
|
|
75
|
-
res.status(400).json({ success: false, error: 'baseUrl is required' });
|
|
76
|
-
return;
|
|
77
|
-
}
|
|
78
|
-
// Normalize URL - remove trailing slash
|
|
79
|
-
const normalizedUrl = baseUrl.replace(/\/+$/, '');
|
|
80
|
-
// Construct models endpoint
|
|
81
|
-
const modelsUrl = normalizedUrl.endsWith('/v1')
|
|
82
|
-
? `${normalizedUrl}/models`
|
|
83
|
-
: `${normalizedUrl}/v1/models`;
|
|
84
|
-
console.log(`[local-llm] Validating: ${modelsUrl}`);
|
|
85
|
-
try {
|
|
86
|
-
const controller = new AbortController();
|
|
87
|
-
const timeoutId = setTimeout(() => controller.abort(), VALIDATION_TIMEOUT_MS);
|
|
88
|
-
const response = await fetch(modelsUrl, {
|
|
89
|
-
method: 'GET',
|
|
90
|
-
headers: {
|
|
91
|
-
Accept: 'application/json',
|
|
92
|
-
},
|
|
93
|
-
signal: controller.signal,
|
|
94
|
-
});
|
|
95
|
-
clearTimeout(timeoutId);
|
|
96
|
-
if (!response.ok) {
|
|
97
|
-
const text = await response.text().catch(() => '');
|
|
98
|
-
res.json({
|
|
99
|
-
success: false,
|
|
100
|
-
error: `Server returned ${response.status}: ${text || response.statusText}`,
|
|
101
|
-
});
|
|
102
|
-
return;
|
|
103
|
-
}
|
|
104
|
-
const data = (await response.json());
|
|
105
|
-
if (!data.data || !Array.isArray(data.data)) {
|
|
106
|
-
res.json({
|
|
107
|
-
success: false,
|
|
108
|
-
error: 'Invalid response format: expected { data: [...] }',
|
|
109
|
-
});
|
|
110
|
-
return;
|
|
111
|
-
}
|
|
112
|
-
// Extract model info
|
|
113
|
-
const models = data.data.map((model) => ({
|
|
114
|
-
id: model.id,
|
|
115
|
-
name: model.id, // Use ID as name by default
|
|
116
|
-
owned_by: model.owned_by,
|
|
117
|
-
}));
|
|
118
|
-
console.log(`[local-llm] Found ${models.length} model(s)`);
|
|
119
|
-
res.json({ success: true, models });
|
|
120
|
-
}
|
|
121
|
-
catch (err) {
|
|
122
|
-
const message = err instanceof Error ? err.message : String(err);
|
|
123
|
-
const errorCode = err?.code;
|
|
124
|
-
console.log(`[local-llm] Validation failed: ${message} (code: ${errorCode})`);
|
|
125
|
-
// Provide user-friendly error messages
|
|
126
|
-
let userError = message;
|
|
127
|
-
if (errorCode === 'ECONNREFUSED' || message.includes('ECONNREFUSED')) {
|
|
128
|
-
userError = 'Connection refused. Is the server running?';
|
|
129
|
-
}
|
|
130
|
-
else if (errorCode === 'ENOTFOUND' || message.includes('ENOTFOUND')) {
|
|
131
|
-
userError = 'Host not found. Check the URL.';
|
|
132
|
-
}
|
|
133
|
-
else if (errorCode === 'ETIMEDOUT' ||
|
|
134
|
-
message.includes('abort') ||
|
|
135
|
-
message.includes('timeout')) {
|
|
136
|
-
userError = 'Connection timed out after 5 seconds';
|
|
137
|
-
}
|
|
138
|
-
else if (message === 'fetch failed' || message.includes('fetch')) {
|
|
139
|
-
userError = 'Connection failed. Is the server running at this address?';
|
|
140
|
-
}
|
|
141
|
-
res.json({ success: false, error: userError });
|
|
142
|
-
}
|
|
143
|
-
});
|
|
144
|
-
/**
|
|
145
|
-
* POST /add
|
|
146
|
-
*
|
|
147
|
-
* Adds a local LLM provider to the global OpenCode config.
|
|
148
|
-
*
|
|
149
|
-
* Request body: { name: string, baseUrl: string, models: { id: string, name: string }[] }
|
|
150
|
-
* Response: { success: true, providerId: "..." } or { success: false, error: "..." }
|
|
151
|
-
*/
|
|
152
|
-
router.post('/add', async (req, res) => {
|
|
153
|
-
const { name, baseUrl, models } = req.body;
|
|
154
|
-
if (!name || typeof name !== 'string') {
|
|
155
|
-
res.status(400).json({ success: false, error: 'name is required' });
|
|
156
|
-
return;
|
|
157
|
-
}
|
|
158
|
-
if (!baseUrl || typeof baseUrl !== 'string') {
|
|
159
|
-
res.status(400).json({ success: false, error: 'baseUrl is required' });
|
|
160
|
-
return;
|
|
161
|
-
}
|
|
162
|
-
if (!models || !Array.isArray(models) || models.length === 0) {
|
|
163
|
-
res.status(400).json({ success: false, error: 'At least one model is required' });
|
|
164
|
-
return;
|
|
165
|
-
}
|
|
166
|
-
const providerId = sanitizeProviderId(name);
|
|
167
|
-
if (!providerId) {
|
|
168
|
-
res.status(400).json({ success: false, error: 'Invalid provider name' });
|
|
169
|
-
return;
|
|
170
|
-
}
|
|
171
|
-
// Read existing config
|
|
172
|
-
const config = readOpencodeConfig();
|
|
173
|
-
// Check if provider already exists
|
|
174
|
-
if (config.provider?.[providerId]) {
|
|
175
|
-
res.status(409).json({
|
|
176
|
-
success: false,
|
|
177
|
-
error: `Provider "${providerId}" already exists`,
|
|
178
|
-
});
|
|
179
|
-
return;
|
|
180
|
-
}
|
|
181
|
-
// Normalize URL - ensure it ends with /v1
|
|
182
|
-
let normalizedUrl = baseUrl.replace(/\/+$/, '');
|
|
183
|
-
if (!normalizedUrl.endsWith('/v1')) {
|
|
184
|
-
normalizedUrl = `${normalizedUrl}/v1`;
|
|
185
|
-
}
|
|
186
|
-
// Build models config
|
|
187
|
-
const modelsConfig = {};
|
|
188
|
-
for (const model of models) {
|
|
189
|
-
modelsConfig[model.id] = { name: model.name };
|
|
190
|
-
}
|
|
191
|
-
// Create provider config
|
|
192
|
-
const providerConfig = {
|
|
193
|
-
npm: '@ai-sdk/openai-compatible',
|
|
194
|
-
name: name.trim(),
|
|
195
|
-
options: {
|
|
196
|
-
baseURL: normalizedUrl,
|
|
197
|
-
},
|
|
198
|
-
models: modelsConfig,
|
|
199
|
-
};
|
|
200
|
-
// Merge into config
|
|
201
|
-
if (!config.provider) {
|
|
202
|
-
config.provider = {};
|
|
203
|
-
}
|
|
204
|
-
config.provider[providerId] = providerConfig;
|
|
205
|
-
try {
|
|
206
|
-
// Write config
|
|
207
|
-
writeOpencodeConfig(config);
|
|
208
|
-
// Force OpenCode to reload by disposing the current instance
|
|
209
|
-
// This will cause the next request to pick up the new config
|
|
210
|
-
try {
|
|
211
|
-
await opencodeClient.global.dispose();
|
|
212
|
-
console.log('[local-llm] Disposed OpenCode instance to reload config');
|
|
213
|
-
}
|
|
214
|
-
catch {
|
|
215
|
-
// Non-fatal - OpenCode may not be running yet
|
|
216
|
-
console.log('[local-llm] Could not dispose OpenCode instance (may not be running)');
|
|
217
|
-
}
|
|
218
|
-
res.json({ success: true, providerId });
|
|
219
|
-
}
|
|
220
|
-
catch (err) {
|
|
221
|
-
const message = err instanceof Error ? err.message : String(err);
|
|
222
|
-
console.error('[local-llm] Failed to write config:', message);
|
|
223
|
-
res.status(500).json({ success: false, error: 'Failed to save configuration' });
|
|
224
|
-
}
|
|
225
|
-
});
|
|
226
|
-
/**
|
|
227
|
-
* GET /list
|
|
228
|
-
*
|
|
229
|
-
* Lists all local LLM providers from the global OpenCode config.
|
|
230
|
-
*
|
|
231
|
-
* Response: { providers: [{ id: string, name: string, baseUrl: string, models: [...] }] }
|
|
232
|
-
*/
|
|
233
|
-
router.get('/list', (_req, res) => {
|
|
234
|
-
const config = readOpencodeConfig();
|
|
235
|
-
const providers = [];
|
|
236
|
-
if (config.provider) {
|
|
237
|
-
for (const [id, providerConfig] of Object.entries(config.provider)) {
|
|
238
|
-
// Only include local LLM providers (those using @ai-sdk/openai-compatible)
|
|
239
|
-
if (providerConfig.npm === '@ai-sdk/openai-compatible') {
|
|
240
|
-
const models = Object.entries(providerConfig.models || {}).map(([modelId, modelInfo]) => ({
|
|
241
|
-
id: modelId,
|
|
242
|
-
name: modelInfo.name,
|
|
243
|
-
}));
|
|
244
|
-
providers.push({
|
|
245
|
-
id,
|
|
246
|
-
name: providerConfig.name,
|
|
247
|
-
baseUrl: providerConfig.options?.baseURL || '',
|
|
248
|
-
models,
|
|
249
|
-
});
|
|
250
|
-
}
|
|
251
|
-
}
|
|
252
|
-
}
|
|
253
|
-
res.json({ providers });
|
|
254
|
-
});
|
|
255
|
-
export default router;
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { Router } from 'express';
|
|
2
|
-
import fs from 'fs';
|
|
3
|
-
import path from 'path';
|
|
4
|
-
const LOG_FILE = path.resolve(process.cwd(), 'dev.log');
|
|
5
|
-
const router = Router();
|
|
6
|
-
// Pino log levels
|
|
7
|
-
const LEVEL_MAP = {
|
|
8
|
-
error: 50,
|
|
9
|
-
warn: 40,
|
|
10
|
-
info: 30,
|
|
11
|
-
log: 30,
|
|
12
|
-
debug: 20,
|
|
13
|
-
};
|
|
14
|
-
// POST /__logs - receive browser console logs (JSON format for pino compatibility)
|
|
15
|
-
router.post('/', (req, res) => {
|
|
16
|
-
try {
|
|
17
|
-
const { level, args } = req.body;
|
|
18
|
-
const pinoLevel = LEVEL_MAP[level] ?? 30;
|
|
19
|
-
const message = args
|
|
20
|
-
.map((a) => (typeof a === 'object' ? JSON.stringify(a) : String(a)))
|
|
21
|
-
.join(' ');
|
|
22
|
-
// JSON log entry compatible with pino format
|
|
23
|
-
const entry = {
|
|
24
|
-
level: pinoLevel,
|
|
25
|
-
time: Date.now(),
|
|
26
|
-
source: 'browser',
|
|
27
|
-
msg: message,
|
|
28
|
-
};
|
|
29
|
-
// Pretty print to terminal
|
|
30
|
-
const prefix = level === 'error'
|
|
31
|
-
? '\x1b[31m●\x1b[0m'
|
|
32
|
-
: level === 'warn'
|
|
33
|
-
? '\x1b[33m●\x1b[0m'
|
|
34
|
-
: '\x1b[36m●\x1b[0m';
|
|
35
|
-
const timestamp = new Date().toISOString().slice(11, 23);
|
|
36
|
-
console.log(`${timestamp} ${prefix} [browser] ${message}`);
|
|
37
|
-
// Append JSON to file
|
|
38
|
-
fs.appendFileSync(LOG_FILE, JSON.stringify(entry) + '\n');
|
|
39
|
-
res.sendStatus(200);
|
|
40
|
-
}
|
|
41
|
-
catch {
|
|
42
|
-
const entry = {
|
|
43
|
-
level: 40,
|
|
44
|
-
time: Date.now(),
|
|
45
|
-
source: 'browser',
|
|
46
|
-
msg: `[parse error] ${JSON.stringify(req.body)}`,
|
|
47
|
-
};
|
|
48
|
-
console.log(`\x1b[33m●\x1b[0m [browser] ${entry.msg}`);
|
|
49
|
-
fs.appendFileSync(LOG_FILE, JSON.stringify(entry) + '\n');
|
|
50
|
-
res.sendStatus(200);
|
|
51
|
-
}
|
|
52
|
-
});
|
|
53
|
-
export default router;
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import { Router } from 'express';
|
|
2
|
-
import path from 'path';
|
|
3
|
-
import fs from 'fs';
|
|
4
|
-
import { STATE_DIR } from '../services/database.js';
|
|
5
|
-
const MODEL_STATE_FILE = path.join(STATE_DIR, 'model.json');
|
|
6
|
-
function ensureStateDir() {
|
|
7
|
-
if (!fs.existsSync(STATE_DIR)) {
|
|
8
|
-
fs.mkdirSync(STATE_DIR, { recursive: true });
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
function readModelState() {
|
|
12
|
-
try {
|
|
13
|
-
if (!fs.existsSync(MODEL_STATE_FILE)) {
|
|
14
|
-
return { recent: [], favorite: [] };
|
|
15
|
-
}
|
|
16
|
-
const data = fs.readFileSync(MODEL_STATE_FILE, 'utf-8');
|
|
17
|
-
const parsed = JSON.parse(data);
|
|
18
|
-
return {
|
|
19
|
-
recent: Array.isArray(parsed.recent) ? parsed.recent : [],
|
|
20
|
-
favorite: Array.isArray(parsed.favorite) ? parsed.favorite : [],
|
|
21
|
-
variant: typeof parsed.variant === 'object' && parsed.variant !== null ? parsed.variant : {},
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
catch (err) {
|
|
25
|
-
console.error('[model-state] Failed to read model state:', err);
|
|
26
|
-
return { recent: [], favorite: [] };
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
function writeModelState(state) {
|
|
30
|
-
try {
|
|
31
|
-
ensureStateDir();
|
|
32
|
-
fs.writeFileSync(MODEL_STATE_FILE, JSON.stringify(state, null, 2), 'utf-8');
|
|
33
|
-
}
|
|
34
|
-
catch (err) {
|
|
35
|
-
console.error('[model-state] Failed to write model state:', err);
|
|
36
|
-
throw err;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
function toggleFavorite(model) {
|
|
40
|
-
const state = readModelState();
|
|
41
|
-
const exists = state.favorite.some((f) => f.providerID === model.providerID && f.modelID === model.modelID);
|
|
42
|
-
if (exists) {
|
|
43
|
-
// Remove from favorites
|
|
44
|
-
state.favorite = state.favorite.filter((f) => f.providerID !== model.providerID || f.modelID !== model.modelID);
|
|
45
|
-
}
|
|
46
|
-
else {
|
|
47
|
-
// Add to favorites
|
|
48
|
-
state.favorite = [model, ...state.favorite];
|
|
49
|
-
}
|
|
50
|
-
writeModelState(state);
|
|
51
|
-
return state;
|
|
52
|
-
}
|
|
53
|
-
const router = Router();
|
|
54
|
-
// GET /__model-state - read model state
|
|
55
|
-
router.get('/', (_req, res) => {
|
|
56
|
-
try {
|
|
57
|
-
const state = readModelState();
|
|
58
|
-
res.json({ recent: state.recent, favorite: state.favorite });
|
|
59
|
-
}
|
|
60
|
-
catch (err) {
|
|
61
|
-
console.error('[model-state] Failed to get model state:', err);
|
|
62
|
-
res.status(500).json({ error: 'Failed to read model state' });
|
|
63
|
-
}
|
|
64
|
-
});
|
|
65
|
-
// POST /__model-state/favorite - toggle favorite
|
|
66
|
-
router.post('/favorite', (req, res) => {
|
|
67
|
-
try {
|
|
68
|
-
const model = req.body;
|
|
69
|
-
if (!model.providerID || !model.modelID) {
|
|
70
|
-
res.status(400).json({ error: 'providerID and modelID required' });
|
|
71
|
-
return;
|
|
72
|
-
}
|
|
73
|
-
const state = toggleFavorite(model);
|
|
74
|
-
res.json({ recent: state.recent, favorite: state.favorite });
|
|
75
|
-
}
|
|
76
|
-
catch (err) {
|
|
77
|
-
console.error('[model-state] Failed to toggle favorite:', err);
|
|
78
|
-
res.status(500).json({ error: 'Failed to update model state' });
|
|
79
|
-
}
|
|
80
|
-
});
|
|
81
|
-
export default router;
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shella Prompt Routes
|
|
3
|
-
*
|
|
4
|
-
* Handles prompt, command, and shell execution with integrated auto-routing.
|
|
5
|
-
* All __auto__ model resolution happens server-side - no extra HTTP calls needed.
|
|
6
|
-
*
|
|
7
|
-
* Endpoints:
|
|
8
|
-
* POST /prompt - Submit a prompt (message)
|
|
9
|
-
* POST /command - Execute a slash command
|
|
10
|
-
* POST /shell - Execute a shell command
|
|
11
|
-
*
|
|
12
|
-
* All endpoints return 202 immediately with routing info.
|
|
13
|
-
* The actual OpenCode SDK call is fire-and-forget.
|
|
14
|
-
*/
|
|
15
|
-
declare const router: import("express-serve-static-core").Router;
|
|
16
|
-
export default router;
|
|
@@ -1,173 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shella Prompt Routes
|
|
3
|
-
*
|
|
4
|
-
* Handles prompt, command, and shell execution with integrated auto-routing.
|
|
5
|
-
* All __auto__ model resolution happens server-side - no extra HTTP calls needed.
|
|
6
|
-
*
|
|
7
|
-
* Endpoints:
|
|
8
|
-
* POST /prompt - Submit a prompt (message)
|
|
9
|
-
* POST /command - Execute a slash command
|
|
10
|
-
* POST /shell - Execute a shell command
|
|
11
|
-
*
|
|
12
|
-
* All endpoints return 202 immediately with routing info.
|
|
13
|
-
* The actual OpenCode SDK call is fire-and-forget.
|
|
14
|
-
*/
|
|
15
|
-
import { Router } from 'express';
|
|
16
|
-
import { pickBestProvider, getUsage, } from '@bytespell/model-provider-usage-limits';
|
|
17
|
-
import { opencodeClient } from '../lib/opencode-client.js';
|
|
18
|
-
const router = Router();
|
|
19
|
-
// =============================================================================
|
|
20
|
-
// Auto-Route Resolution
|
|
21
|
-
// =============================================================================
|
|
22
|
-
/**
|
|
23
|
-
* Infer default provider from model name pattern.
|
|
24
|
-
* Used as fallback when routing fails.
|
|
25
|
-
*/
|
|
26
|
-
function inferDefaultProvider(modelID) {
|
|
27
|
-
// GPT models, o-series (o1, o3, etc.), and codex -> openai
|
|
28
|
-
if (modelID.startsWith('gpt') || /^o\d/.test(modelID) || modelID.startsWith('codex')) {
|
|
29
|
-
return 'openai';
|
|
30
|
-
}
|
|
31
|
-
// Everything else (claude, etc.) -> anthropic
|
|
32
|
-
return 'anthropic';
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Server-side auto-route resolution.
|
|
36
|
-
* No HTTP call needed - direct function call to usage-limits library.
|
|
37
|
-
*/
|
|
38
|
-
async function resolveModel(model) {
|
|
39
|
-
// Not an auto model - return as-is
|
|
40
|
-
if (model.providerID !== '__auto__') {
|
|
41
|
-
return { resolved: model, routed: false };
|
|
42
|
-
}
|
|
43
|
-
const defaultProvider = inferDefaultProvider(model.modelID);
|
|
44
|
-
try {
|
|
45
|
-
const usageData = await getUsage({ autoDetectAuthTokens: true });
|
|
46
|
-
const result = pickBestProvider({ providerID: defaultProvider, modelID: model.modelID }, usageData);
|
|
47
|
-
if (result) {
|
|
48
|
-
return {
|
|
49
|
-
resolved: { providerID: result.providerID, modelID: result.modelID },
|
|
50
|
-
routed: true,
|
|
51
|
-
reason: result.reason,
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
catch (err) {
|
|
56
|
-
const message = err instanceof Error ? err.message : String(err);
|
|
57
|
-
console.error('[prompt] Routing error:', message);
|
|
58
|
-
}
|
|
59
|
-
// Fallback to default provider
|
|
60
|
-
return {
|
|
61
|
-
resolved: { providerID: defaultProvider, modelID: model.modelID },
|
|
62
|
-
routed: true,
|
|
63
|
-
reason: 'Fallback to default provider',
|
|
64
|
-
fallback: true,
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
|
-
// =============================================================================
|
|
68
|
-
// Routes
|
|
69
|
-
// =============================================================================
|
|
70
|
-
/**
|
|
71
|
-
* POST /prompt
|
|
72
|
-
*
|
|
73
|
-
* Submit a prompt with auto-routing support.
|
|
74
|
-
* Returns 202 immediately with routing info, fires request to OpenCode async.
|
|
75
|
-
*/
|
|
76
|
-
router.post('/prompt', async (req, res) => {
|
|
77
|
-
const { sessionID, directory, messageID, parts, model, agent } = req.body;
|
|
78
|
-
if (!sessionID || !directory || !model) {
|
|
79
|
-
res.status(400).json({ error: 'Missing required fields: sessionID, directory, model' });
|
|
80
|
-
return;
|
|
81
|
-
}
|
|
82
|
-
// Resolve model (handles __auto__)
|
|
83
|
-
const routeResult = await resolveModel(model);
|
|
84
|
-
console.log(`[prompt] ${model.providerID}/${model.modelID} → ${routeResult.resolved.providerID}/${routeResult.resolved.modelID}`);
|
|
85
|
-
// Fire-and-forget to OpenCode
|
|
86
|
-
opencodeClient.session
|
|
87
|
-
.promptAsync({
|
|
88
|
-
sessionID,
|
|
89
|
-
directory,
|
|
90
|
-
messageID,
|
|
91
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
92
|
-
parts: parts, // Parts are validated by the SDK
|
|
93
|
-
model: routeResult.resolved,
|
|
94
|
-
agent,
|
|
95
|
-
})
|
|
96
|
-
.catch((err) => {
|
|
97
|
-
console.error('[prompt] SDK error:', err);
|
|
98
|
-
});
|
|
99
|
-
// Return immediately with routing info
|
|
100
|
-
res.status(202).json({
|
|
101
|
-
accepted: true,
|
|
102
|
-
...routeResult,
|
|
103
|
-
});
|
|
104
|
-
});
|
|
105
|
-
/**
|
|
106
|
-
* POST /command
|
|
107
|
-
*
|
|
108
|
-
* Execute a slash command with auto-routing support.
|
|
109
|
-
*/
|
|
110
|
-
router.post('/command', async (req, res) => {
|
|
111
|
-
const { sessionID, directory, command, args, model, agent } = req.body;
|
|
112
|
-
if (!sessionID || !directory || !command || !model) {
|
|
113
|
-
res
|
|
114
|
-
.status(400)
|
|
115
|
-
.json({ error: 'Missing required fields: sessionID, directory, command, model' });
|
|
116
|
-
return;
|
|
117
|
-
}
|
|
118
|
-
const routeResult = await resolveModel(model);
|
|
119
|
-
console.log(`[command] /${command} → ${routeResult.resolved.providerID}/${routeResult.resolved.modelID}`);
|
|
120
|
-
// Fire-and-forget to OpenCode
|
|
121
|
-
// Note: SDK command() expects model as string "{providerID}/{modelID}"
|
|
122
|
-
const modelString = `${routeResult.resolved.providerID}/${routeResult.resolved.modelID}`;
|
|
123
|
-
opencodeClient.session
|
|
124
|
-
.command({
|
|
125
|
-
sessionID,
|
|
126
|
-
directory,
|
|
127
|
-
command,
|
|
128
|
-
arguments: args,
|
|
129
|
-
model: modelString,
|
|
130
|
-
agent,
|
|
131
|
-
})
|
|
132
|
-
.catch((err) => {
|
|
133
|
-
console.error('[command] SDK error:', err);
|
|
134
|
-
});
|
|
135
|
-
res.status(202).json({
|
|
136
|
-
accepted: true,
|
|
137
|
-
...routeResult,
|
|
138
|
-
});
|
|
139
|
-
});
|
|
140
|
-
/**
|
|
141
|
-
* POST /shell
|
|
142
|
-
*
|
|
143
|
-
* Execute a shell command with auto-routing support.
|
|
144
|
-
*/
|
|
145
|
-
router.post('/shell', async (req, res) => {
|
|
146
|
-
const { sessionID, directory, command, model, agent } = req.body;
|
|
147
|
-
if (!sessionID || !directory || !command || !model) {
|
|
148
|
-
res
|
|
149
|
-
.status(400)
|
|
150
|
-
.json({ error: 'Missing required fields: sessionID, directory, command, model' });
|
|
151
|
-
return;
|
|
152
|
-
}
|
|
153
|
-
const routeResult = await resolveModel(model);
|
|
154
|
-
const truncatedCmd = command.length > 30 ? `${command.slice(0, 30)}...` : command;
|
|
155
|
-
console.log(`[shell] !${truncatedCmd} → ${routeResult.resolved.providerID}/${routeResult.resolved.modelID}`);
|
|
156
|
-
// Fire-and-forget to OpenCode
|
|
157
|
-
opencodeClient.session
|
|
158
|
-
.shell({
|
|
159
|
-
sessionID,
|
|
160
|
-
directory,
|
|
161
|
-
command,
|
|
162
|
-
model: routeResult.resolved,
|
|
163
|
-
agent,
|
|
164
|
-
})
|
|
165
|
-
.catch((err) => {
|
|
166
|
-
console.error('[shell] SDK error:', err);
|
|
167
|
-
});
|
|
168
|
-
res.status(202).json({
|
|
169
|
-
accepted: true,
|
|
170
|
-
...routeResult,
|
|
171
|
-
});
|
|
172
|
-
});
|
|
173
|
-
export default router;
|