@mcp-use/inspector 0.4.2 → 0.4.3-canary.1
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/cli.js +892 -0
- package/dist/client/assets/1c-CVbGjxEu.js +1 -0
- package/dist/client/assets/abap-sFvbwjNz.js +1 -0
- package/dist/client/assets/abnf-CWsWfl7L.js +1 -0
- package/dist/client/assets/abnf-DHaofROo.js +1 -0
- package/dist/client/assets/accesslog-CEtl9iaY.js +1 -0
- package/dist/client/assets/actionscript-BYm3SYxR.js +1 -0
- package/dist/client/assets/actionscript-J3Eul5ev.js +1 -0
- package/dist/client/assets/ada-C1E1-ZdF.js +1 -0
- package/dist/client/assets/ada-DWxlRDII.js +1 -0
- package/dist/client/assets/agda-D9Nu1IY6.js +1 -0
- package/dist/client/assets/al-DbtGsXpc.js +1 -0
- package/dist/client/assets/angelscript-BtqFpE6l.js +1 -0
- package/dist/client/assets/antlr4-CoDU86AE.js +1 -0
- package/dist/client/assets/apache-BIesEJVO.js +1 -0
- package/dist/client/assets/apacheconf-AtpSlb9I.js +1 -0
- package/dist/client/assets/apex-BSlmsnEt.js +1 -0
- package/dist/client/assets/api_chain-38hL-T6S.js +15 -0
- package/dist/client/assets/apl-DFNZrq8R.js +1 -0
- package/dist/client/assets/applescript-BwTY-D0X.js +1 -0
- package/dist/client/assets/applescript-DwGVgLFH.js +1 -0
- package/dist/client/assets/aql-BcCM26aq.js +1 -0
- package/dist/client/assets/arcade-CdW_xgxA.js +1 -0
- package/dist/client/assets/arduino-CkjNa3cI.js +1 -0
- package/dist/client/assets/arduino-_QuMTSyl.js +1 -0
- package/dist/client/assets/arff-e6C6TMZK.js +1 -0
- package/dist/client/assets/armasm-ChdrjdCt.js +1 -0
- package/dist/client/assets/asciidoc-CW9aoDQE.js +1 -0
- package/dist/client/assets/asciidoc-Dqf0ewp8.js +1 -0
- package/dist/client/assets/asm6502-C4mJAJr6.js +1 -0
- package/dist/client/assets/asmatmel-wcCO4Iqg.js +1 -0
- package/dist/client/assets/aspectj-_tOANCQR.js +1 -0
- package/dist/client/assets/aspnet-CyJpwNmn.js +1 -0
- package/dist/client/assets/autohotkey-Ba7dGXlF.js +1 -0
- package/dist/client/assets/autohotkey-DoJgMlE8.js +1 -0
- package/dist/client/assets/autoit-cZ5_prtI.js +1 -0
- package/dist/client/assets/autoit-zYNAeakJ.js +1 -0
- package/dist/client/assets/avisynth-BcptqaC2.js +1 -0
- package/dist/client/assets/avrasm-DbK45343.js +1 -0
- package/dist/client/assets/avro-idl-BVGAuKgD.js +1 -0
- package/dist/client/assets/awk-DQdW81hb.js +1 -0
- package/dist/client/assets/axapta-CjmuU3Ms.js +1 -0
- package/dist/client/assets/bash-BxAmQbZG.js +1 -0
- package/dist/client/assets/bash-D_iRKwhH.js +1 -0
- package/dist/client/assets/basic-DEjYbiWj.js +1 -0
- package/dist/client/assets/basic-KynUe5UH.js +1 -0
- package/dist/client/assets/batch-BpVrruJD.js +1 -0
- package/dist/client/assets/bbcode-Dhgi9flu.js +1 -0
- package/dist/client/assets/bicep-Dlz0EW_Z.js +1 -0
- package/dist/client/assets/birb-zICvW9Fb.js +1 -0
- package/dist/client/assets/bison-BL0EMlZO.js +1 -0
- package/dist/client/assets/bnf-BMpU6f4K.js +1 -0
- package/dist/client/assets/bnf-C-rsym1c.js +1 -0
- package/dist/client/assets/brainfuck-Doj74wV6.js +1 -0
- package/dist/client/assets/brainfuck-em5ezb4T.js +1 -0
- package/dist/client/assets/brightscript-CHub4NOO.js +1 -0
- package/dist/client/assets/bro-DKq3R5Gq.js +1 -0
- package/dist/client/assets/bsl-D2rpidHM.js +1 -0
- package/dist/client/assets/c-Cj0SImjS.js +1 -0
- package/dist/client/assets/c-Ta8JJXZu.js +1 -0
- package/dist/client/assets/c-like-bnRta9Ru.js +1 -0
- package/dist/client/assets/cal-DaVD8qKm.js +1 -0
- package/dist/client/assets/capnproto-iQPisUzX.js +1 -0
- package/dist/client/assets/ceylon-DX3IQhE9.js +1 -0
- package/dist/client/assets/cfscript-Blk2ovJg.js +1 -0
- package/dist/client/assets/chaiscript-CmNykqmz.js +1 -0
- package/dist/client/assets/cil-DZQytUXM.js +1 -0
- package/dist/client/assets/clean-C5SW2R1U.js +1 -0
- package/dist/client/assets/clike-CBppJeSs.js +1 -0
- package/dist/client/assets/clojure-BZOFMh6i.js +1 -0
- package/dist/client/assets/clojure-LLdi8_FR.js +1 -0
- package/dist/client/assets/clojure-repl-CuSakAxQ.js +1 -0
- package/dist/client/assets/cmake-CAfoftkw.js +1 -0
- package/dist/client/assets/cmake-DrL6xv6S.js +1 -0
- package/dist/client/assets/cobol-BYU8FEJw.js +1 -0
- package/dist/client/assets/coffeescript-C0hd1izT.js +1 -0
- package/dist/client/assets/coffeescript-JoKeq1Ni.js +1 -0
- package/dist/client/assets/combine_docs_chain-D9nDo0FT.js +3 -0
- package/dist/client/assets/concurnas-1EoJZB-B.js +1 -0
- package/dist/client/assets/console-Y2zK8Tti.js +44 -0
- package/dist/client/assets/coq-C-QDV_uW.js +1 -0
- package/dist/client/assets/coq-DDl1L3fu.js +1 -0
- package/dist/client/assets/cos-YsiPaPiu.js +1 -0
- package/dist/client/assets/cpp-Crv27NpC.js +1 -0
- package/dist/client/assets/cpp-nF9DwMe6.js +1 -0
- package/dist/client/assets/crmsh-C8z7Jwtz.js +1 -0
- package/dist/client/assets/crystal-BKEVf12U.js +1 -0
- package/dist/client/assets/crystal-MQt989AX.js +1 -0
- package/dist/client/assets/csharp-6G1gHdAZ.js +1 -0
- package/dist/client/assets/csharp-DVMt9XUo.js +1 -0
- package/dist/client/assets/cshtml-BWIZPASH.js +1 -0
- package/dist/client/assets/csp-Cz1cBiqI.js +1 -0
- package/dist/client/assets/csp-w-61vVkY.js +1 -0
- package/dist/client/assets/css-BNxPIgLa.js +1 -0
- package/dist/client/assets/css-Cuc58_IS.js +1 -0
- package/dist/client/assets/css-extras-CxbWi03L.js +1 -0
- package/dist/client/assets/csv-CKD3il98.js +1 -0
- package/dist/client/assets/cypher-DrpIdYhX.js +1 -0
- package/dist/client/assets/d-CWO2zAb5.js +1 -0
- package/dist/client/assets/d-VqkWagJ0.js +1 -0
- package/dist/client/assets/dart-BBmPMQOw.js +1 -0
- package/dist/client/assets/dart-DO7ykjf1.js +1 -0
- package/dist/client/assets/dataweave-BmVhkZW4.js +1 -0
- package/dist/client/assets/dax-CSFkWGr7.js +1 -0
- package/dist/client/assets/delphi-Bws1F9Zm.js +1 -0
- package/dist/client/assets/dhall-Cdsx5cCP.js +1 -0
- package/dist/client/assets/diff-BvfQXjh7.js +1 -0
- package/dist/client/assets/diff-CCYky072.js +1 -0
- package/dist/client/assets/django-CDvoEyRK.js +1 -0
- package/dist/client/assets/django-nRnJekag.js +1 -0
- package/dist/client/assets/dns-D6PUuoV9.js +1 -0
- package/dist/client/assets/dns-zone-file-Dpn0ZyJ7.js +1 -0
- package/dist/client/assets/docker-B8i_J-BI.js +1 -0
- package/dist/client/assets/dockerfile-BSFrJtAR.js +1 -0
- package/dist/client/assets/dos-a3_-kraY.js +1 -0
- package/dist/client/assets/dot-BSLb2fiM.js +1 -0
- package/dist/client/assets/dsconfig-qmeB_AFC.js +1 -0
- package/dist/client/assets/dts-BiT16Bq4.js +1 -0
- package/dist/client/assets/dust-CdAGyLEN.js +1 -0
- package/dist/client/assets/ebnf-BB9Ntb9s.js +1 -0
- package/dist/client/assets/ebnf-pm5CnwLL.js +1 -0
- package/dist/client/assets/editorconfig-hmGdis1Q.js +1 -0
- package/dist/client/assets/eiffel-BelAIUj6.js +1 -0
- package/dist/client/assets/ejs-CWbxmgYr.js +1 -0
- package/dist/client/assets/elixir-B-mZvyYl.js +1 -0
- package/dist/client/assets/elixir-CuAoUit3.js +1 -0
- package/dist/client/assets/elm-B-SIa5dY.js +1 -0
- package/dist/client/assets/elm-D8q0G0KU.js +1 -0
- package/dist/client/assets/erb-BWd0Bjja.js +1 -0
- package/dist/client/assets/erb-Dr1Arn3D.js +1 -0
- package/dist/client/assets/erlang-B2BLEtHo.js +1 -0
- package/dist/client/assets/erlang-Dbp3L4iJ.js +1 -0
- package/dist/client/assets/erlang-repl-Qxi6gY2E.js +1 -0
- package/dist/client/assets/etlua-CTq7MP7v.js +1 -0
- package/dist/client/assets/excel-DlNV8C5E.js +1 -0
- package/dist/client/assets/excel-formula-B3QggEzn.js +1 -0
- package/dist/client/assets/factor-BxKXb1mw.js +1 -0
- package/dist/client/assets/false-DoT2Fo6Y.js +1 -0
- package/dist/client/assets/few_shot-CqQr27N2.js +3 -0
- package/dist/client/assets/firestore-security-rules-DwNbhG8u.js +1 -0
- package/dist/client/assets/fix-CdVDshVg.js +1 -0
- package/dist/client/assets/flix-DieN--OP.js +1 -0
- package/dist/client/assets/flow-Cxr3D4Xf.js +1 -0
- package/dist/client/assets/fortran-DCzMMVyG.js +1 -0
- package/dist/client/assets/fortran-DzrBi4fL.js +1 -0
- package/dist/client/assets/fsharp-B82fLB0y.js +1 -0
- package/dist/client/assets/fsharp-BCUhcXHt.js +1 -0
- package/dist/client/assets/ftl-B4KHp_Bs.js +1 -0
- package/dist/client/assets/gams-BL49ZTjs.js +1 -0
- package/dist/client/assets/gap-D8v8tJjX.js +1 -0
- package/dist/client/assets/gauss-CLIXRzLw.js +1 -0
- package/dist/client/assets/gcode-6x26Bxx7.js +1 -0
- package/dist/client/assets/gcode-DT8A26fq.js +1 -0
- package/dist/client/assets/gdscript-nKyUKWbI.js +1 -0
- package/dist/client/assets/gedcom-Bc1lK7dx.js +1 -0
- package/dist/client/assets/gherkin-BZsXswbL.js +1 -0
- package/dist/client/assets/gherkin-BpYUQin6.js +1 -0
- package/dist/client/assets/git-DjPovU94.js +1 -0
- package/dist/client/assets/glsl-JYIeaR2J.js +1 -0
- package/dist/client/assets/glsl-NnUC0Dro.js +1 -0
- package/dist/client/assets/gml-34EzAMQW.js +1 -0
- package/dist/client/assets/gml-8D0vDtPa.js +1 -0
- package/dist/client/assets/gn-XifrFEYo.js +1 -0
- package/dist/client/assets/go-BkJZLxC-.js +1 -0
- package/dist/client/assets/go-CDCYJ9Bf.js +1 -0
- package/dist/client/assets/go-module-Bt7YE2nk.js +1 -0
- package/dist/client/assets/golo-IH_NIdMc.js +1 -0
- package/dist/client/assets/gradle-BHtCv_1V.js +1 -0
- package/dist/client/assets/graphql-CJICsz4R.js +1 -0
- package/dist/client/assets/groovy-CLczDjFn.js +1 -0
- package/dist/client/assets/groovy-DyTicXxb.js +1 -0
- package/dist/client/assets/haml-DpMX0tNV.js +1 -0
- package/dist/client/assets/haml-bPpnE4Nh.js +1 -0
- package/dist/client/assets/handlebars-CkVnDWGB.js +1 -0
- package/dist/client/assets/handlebars-DoCNY1kb.js +1 -0
- package/dist/client/assets/haskell-VsjtqVkq.js +1 -0
- package/dist/client/assets/haskell-jW7FWulf.js +1 -0
- package/dist/client/assets/haxe-BoEBB2RF.js +1 -0
- package/dist/client/assets/haxe-D1ByFSek.js +1 -0
- package/dist/client/assets/hcl-DNnjCnz5.js +1 -0
- package/dist/client/assets/hlsl-6j3woTCd.js +1 -0
- package/dist/client/assets/hoon-BJfk5ajv.js +1 -0
- package/dist/client/assets/hpkp-C5G_Y1T3.js +1 -0
- package/dist/client/assets/hsp-F1OwzUJ7.js +1 -0
- package/dist/client/assets/hsts-C7aSPnCy.js +1 -0
- package/dist/client/assets/htmlbars-BEcMEv7S.js +1 -0
- package/dist/client/assets/http-7OzwoEvx.js +1 -0
- package/dist/client/assets/http-DUpHWFNf.js +1 -0
- package/dist/client/assets/hy-BZ4y061p.js +1 -0
- package/dist/client/assets/ichigojam-CCnIYwtG.js +1 -0
- package/dist/client/assets/icon-n26rU-oy.js +1 -0
- package/dist/client/assets/icu-message-format-IWCQL2d1.js +1 -0
- package/dist/client/assets/idris-2BKatDuI.js +1 -0
- package/dist/client/assets/iecst-C2Ppsh53.js +1 -0
- package/dist/client/assets/ignore-DArgc-Oj.js +1 -0
- package/dist/client/assets/index-B4KkE7NI.js +1757 -0
- package/dist/client/assets/index-BiHm4gyS.js +1 -0
- package/dist/client/assets/index-C3Bpl53-.js +4 -0
- package/dist/client/assets/index-CJeIUyMY.js +25 -0
- package/dist/client/assets/index-CPopfvlx.js +212 -0
- package/dist/client/assets/index-Dfm3W1-z.js +48 -0
- package/dist/client/assets/index-V6GnHDPF.css +1 -0
- package/dist/client/assets/inform7-BapJ__5q.js +1 -0
- package/dist/client/assets/inform7-c6QPsc7n.js +1 -0
- package/dist/client/assets/ini-CfOwq59u.js +1 -0
- package/dist/client/assets/ini-DXq3_Ai1.js +1 -0
- package/dist/client/assets/io-zEke-3r8.js +1 -0
- package/dist/client/assets/irpf90-BaBX4zcX.js +1 -0
- package/dist/client/assets/isbl-Cr3aWJ5Z.js +1 -0
- package/dist/client/assets/j-COHmy2i5.js +1 -0
- package/dist/client/assets/java-5CQmvU7U.js +1 -0
- package/dist/client/assets/java-wpfjwJ53.js +1 -0
- package/dist/client/assets/javadoc-CBZYCZEp.js +1 -0
- package/dist/client/assets/javadoclike-7hV_s3xB.js +1 -0
- package/dist/client/assets/javascript-1q8NYbjx.js +1 -0
- package/dist/client/assets/javascript-8EicUO6o.js +1 -0
- package/dist/client/assets/javastacktrace-Bavy5mKY.js +1 -0
- package/dist/client/assets/jboss-cli-ZGZLQj-N.js +1 -0
- package/dist/client/assets/jexl-qWkUYBOr.js +1 -0
- package/dist/client/assets/jolie-DgUFsjlj.js +1 -0
- package/dist/client/assets/jq-D7IIk35i.js +1 -0
- package/dist/client/assets/js-extras-BwluKN5h.js +1 -0
- package/dist/client/assets/js-templates-iuehVQgZ.js +1 -0
- package/dist/client/assets/jsdoc-DVdOgqlM.js +1 -0
- package/dist/client/assets/json-B2IpGhnf.js +1 -0
- package/dist/client/assets/json-CXgQeKoi.js +5 -0
- package/dist/client/assets/json-CyODbe5R.js +1 -0
- package/dist/client/assets/json5-Bc8l-7ua.js +1 -0
- package/dist/client/assets/jsonp-kNHmG0Sr.js +1 -0
- package/dist/client/assets/jsstacktrace-C0sANmGh.js +1 -0
- package/dist/client/assets/jsx-Bzc7m3CA.js +1 -0
- package/dist/client/assets/julia-BZeEOtNE.js +1 -0
- package/dist/client/assets/julia-D_LldDEr.js +1 -0
- package/dist/client/assets/julia-repl-BhQsgp6p.js +1 -0
- package/dist/client/assets/keepalived-DTjVtDYN.js +1 -0
- package/dist/client/assets/keyman-7-1Wh_Uh.js +1 -0
- package/dist/client/assets/kotlin-CJU-lpEE.js +1 -0
- package/dist/client/assets/kotlin-Co_L9zMT.js +1 -0
- package/dist/client/assets/kumir-hhH044FK.js +1 -0
- package/dist/client/assets/kusto-B430Vj8P.js +1 -0
- package/dist/client/assets/langfuse-YA2S23SM-Byk2r4iB.js +239 -0
- package/dist/client/assets/lasso-BP3gp1_z.js +1 -0
- package/dist/client/assets/latex-etzLPRvk.js +1 -0
- package/dist/client/assets/latex-rnM6jeY0.js +1 -0
- package/dist/client/assets/latte-BovSpr-C.js +1 -0
- package/dist/client/assets/ldif-Da2aU0Lc.js +1 -0
- package/dist/client/assets/leaf-D1WNkJj8.js +1 -0
- package/dist/client/assets/less-BwbVJ1t0.js +1 -0
- package/dist/client/assets/less-DcTXYs4x.js +1 -0
- package/dist/client/assets/lilypond-KxPP1y8c.js +1 -0
- package/dist/client/assets/liquid-C5t9Zjll.js +1 -0
- package/dist/client/assets/lisp-Dog-mbHD.js +1 -0
- package/dist/client/assets/lisp-XwaP7GX5.js +1 -0
- package/dist/client/assets/livecodeserver-BGCSEF1C.js +1 -0
- package/dist/client/assets/livescript-6QUsM_px.js +1 -0
- package/dist/client/assets/livescript-ChqVd9Rc.js +1 -0
- package/dist/client/assets/llm_chain-CDSsIK0o.js +1 -0
- package/dist/client/assets/llvm-BxwOaPkk.js +1 -0
- package/dist/client/assets/llvm-D56hQFHb.js +1 -0
- package/dist/client/assets/log-qYun2_M_.js +1 -0
- package/dist/client/assets/lolcode-CGA0oJJS.js +1 -0
- package/dist/client/assets/lsl-CbPJAFwx.js +1 -0
- package/dist/client/assets/lua-BKlGjAa_.js +1 -0
- package/dist/client/assets/lua-DPcR7Xyi.js +1 -0
- package/dist/client/assets/magma-CR4mkUXC.js +1 -0
- package/dist/client/assets/makefile-AWfdz_tY.js +1 -0
- package/dist/client/assets/makefile-BIjbnU--.js +1 -0
- package/dist/client/assets/markdown-CCFv4ZBW.js +1 -0
- package/dist/client/assets/markdown-DCGHUsjw.js +1 -0
- package/dist/client/assets/markup-DMCwvobi.js +1 -0
- package/dist/client/assets/markup-templating-BffGgnqg.js +1 -0
- package/dist/client/assets/mathematica-CULij7uR.js +1 -0
- package/dist/client/assets/matlab-JNDO1IqZ.js +1 -0
- package/dist/client/assets/matlab-UEOxhxvv.js +1 -0
- package/dist/client/assets/maxima-BO-mF-dJ.js +1 -0
- package/dist/client/assets/maxscript-BHNCoQvM.js +1 -0
- package/dist/client/assets/mel-BlgtvItS.js +1 -0
- package/dist/client/assets/mel-gcjRNpl8.js +1 -0
- package/dist/client/assets/mercury-CiGjDTs9.js +1 -0
- package/dist/client/assets/mermaid-B4E0Jzwx.js +1 -0
- package/dist/client/assets/mipsasm-meTwW7FE.js +1 -0
- package/dist/client/assets/mizar-DR6pJeOo.js +1 -0
- package/dist/client/assets/mizar-DuILpqIA.js +1 -0
- package/dist/client/assets/mojolicious-Dk8Bg_KT.js +1 -0
- package/dist/client/assets/mongodb-BvvFnD9Q.js +1 -0
- package/dist/client/assets/monkey-D7MjDjVZ.js +1 -0
- package/dist/client/assets/monkey-DP0zOGWH.js +1 -0
- package/dist/client/assets/moonscript-C-MVZzo0.js +1 -0
- package/dist/client/assets/moonscript-y89HRCwl.js +1 -0
- package/dist/client/assets/n1ql-CLqFTOX5.js +1 -0
- package/dist/client/assets/n1ql-D7MrSQ-O.js +1 -0
- package/dist/client/assets/n4js-DOtXQukE.js +1 -0
- package/dist/client/assets/nand2tetris-hdl-1Tb0cgE6.js +1 -0
- package/dist/client/assets/naniscript-sUio46HM.js +1 -0
- package/dist/client/assets/nasm-C4sm24NS.js +1 -0
- package/dist/client/assets/neon-CCVox38o.js +1 -0
- package/dist/client/assets/nevod-CMMNejco.js +1 -0
- package/dist/client/assets/nginx-BgYjtEUQ.js +1 -0
- package/dist/client/assets/nginx-JFgWkCTa.js +1 -0
- package/dist/client/assets/nim-9RlTnmO1.js +1 -0
- package/dist/client/assets/nim-C7rdJpu1.js +1 -0
- package/dist/client/assets/nix-CXN3Ng1V.js +1 -0
- package/dist/client/assets/nix-DZf8Hd-W.js +1 -0
- package/dist/client/assets/node-repl-BGeJq3xp.js +1 -0
- package/dist/client/assets/nsis-DDuFEBKf.js +1 -0
- package/dist/client/assets/nsis-Dla1ysQ8.js +1 -0
- package/dist/client/assets/objectivec-Cs_btEio.js +1 -0
- package/dist/client/assets/objectivec-DP9YxhIQ.js +1 -0
- package/dist/client/assets/ocaml-C30wOx1y.js +1 -0
- package/dist/client/assets/ocaml-TfyK4eOG.js +1 -0
- package/dist/client/assets/opencl-CgYXVvTq.js +1 -0
- package/dist/client/assets/openqasm-Dqm5PaB_.js +1 -0
- package/dist/client/assets/openscad-Cmd5Zu2J.js +1 -0
- package/dist/client/assets/oxygene-BsCIw3p5.js +1 -0
- package/dist/client/assets/oz-DR7t_eEp.js +1 -0
- package/dist/client/assets/parigp-BvPKxZLo.js +1 -0
- package/dist/client/assets/parser-CC-IsFX5.js +1 -0
- package/dist/client/assets/parser3-CccrWFpG.js +1 -0
- package/dist/client/assets/pascal-BJJDm7er.js +1 -0
- package/dist/client/assets/pascaligo-_B-7AzZp.js +1 -0
- package/dist/client/assets/pcaxis-DswBgXB6.js +1 -0
- package/dist/client/assets/peoplecode-jwlte02K.js +1 -0
- package/dist/client/assets/perl-Bhj4uhpi.js +1 -0
- package/dist/client/assets/perl-P2Hw60Pj.js +1 -0
- package/dist/client/assets/pf-2cCthtLC.js +1 -0
- package/dist/client/assets/pgsql-Dnif2z-q.js +1 -0
- package/dist/client/assets/php-18ExvFWr.js +1 -0
- package/dist/client/assets/php-Ca25UvZI.js +1 -0
- package/dist/client/assets/php-extras-VZcPuTHQ.js +1 -0
- package/dist/client/assets/php-template-B6gMoafP.js +1 -0
- package/dist/client/assets/phpdoc-Cfl75fCN.js +1 -0
- package/dist/client/assets/plaintext-D7ki3T2r.js +1 -0
- package/dist/client/assets/plsql-Dw__hjiA.js +1 -0
- package/dist/client/assets/pony-Cq4wJeAa.js +1 -0
- package/dist/client/assets/powerquery-Dk0MdIe5.js +1 -0
- package/dist/client/assets/powershell-Bs3a28qs.js +1 -0
- package/dist/client/assets/powershell-CUVRrjvr.js +1 -0
- package/dist/client/assets/processing-DFS61ncY.js +1 -0
- package/dist/client/assets/processing-DU2vJsWo.js +1 -0
- package/dist/client/assets/profile-s_yoAWgv.js +1 -0
- package/dist/client/assets/prolog-B0PIkNgz.js +1 -0
- package/dist/client/assets/prolog-DPolZnIj.js +1 -0
- package/dist/client/assets/promql-CwYm32NK.js +1 -0
- package/dist/client/assets/properties-2K6tt65e.js +1 -0
- package/dist/client/assets/properties-BQ54XZns.js +1 -0
- package/dist/client/assets/protobuf-0z4GXIWs.js +1 -0
- package/dist/client/assets/protobuf-e3WV3o7v.js +1 -0
- package/dist/client/assets/psl-D_zhZY7A.js +1 -0
- package/dist/client/assets/pug-D-jv-Cgz.js +1 -0
- package/dist/client/assets/puppet-CXxZ9GLM.js +1 -0
- package/dist/client/assets/puppet-NpopsgHZ.js +1 -0
- package/dist/client/assets/pure-CzaEjTC8.js +1 -0
- package/dist/client/assets/purebasic-CkTOn8xX.js +1 -0
- package/dist/client/assets/purebasic-Dpbj3ViJ.js +1 -0
- package/dist/client/assets/purescript-D6rXviwj.js +1 -0
- package/dist/client/assets/python-BOFx6XAv.js +1 -0
- package/dist/client/assets/python-D0XzWEgU.js +1 -0
- package/dist/client/assets/python-repl-CVyjp9vw.js +1 -0
- package/dist/client/assets/q-Be_ohSbD.js +1 -0
- package/dist/client/assets/q-NaPG328j.js +1 -0
- package/dist/client/assets/qml-CRAmEvkJ.js +1 -0
- package/dist/client/assets/qml-DBlFfAlo.js +1 -0
- package/dist/client/assets/qore-CxCGoJAz.js +1 -0
- package/dist/client/assets/qsharp-x2RfMnTl.js +1 -0
- package/dist/client/assets/r-BDSNMDTv.js +1 -0
- package/dist/client/assets/r-BqBR93Qm.js +1 -0
- package/dist/client/assets/racket-CGmDaJxQ.js +1 -0
- package/dist/client/assets/reason-De1Hcu7Z.js +1 -0
- package/dist/client/assets/reasonml-B2c4Vp5B.js +1 -0
- package/dist/client/assets/regex-CaxClajr.js +1 -0
- package/dist/client/assets/rego-NBZoCGAX.js +1 -0
- package/dist/client/assets/renpy-T_1cUClW.js +1 -0
- package/dist/client/assets/rest-L5lj1EHS.js +1 -0
- package/dist/client/assets/rib-BkcxRbLJ.js +1 -0
- package/dist/client/assets/rip-ChbZxGus.js +1 -0
- package/dist/client/assets/roboconf-C1CgIn4Z.js +1 -0
- package/dist/client/assets/roboconf-W9M6Ih5O.js +1 -0
- package/dist/client/assets/robotframework-C6sqQvF9.js +1 -0
- package/dist/client/assets/routeros-lT-niC-B.js +1 -0
- package/dist/client/assets/rsl-CF5h4_Yg.js +1 -0
- package/dist/client/assets/ruby-BlEdw8ne.js +1 -0
- package/dist/client/assets/ruby-KzS_kjFf.js +1 -0
- package/dist/client/assets/ruleslanguage-DiOqQDff.js +1 -0
- package/dist/client/assets/rust-7GnWLGhq.js +1 -0
- package/dist/client/assets/rust-DrVzWdc1.js +1 -0
- package/dist/client/assets/sas-CLsTR4yw.js +1 -0
- package/dist/client/assets/sas-D_o4l_C0.js +1 -0
- package/dist/client/assets/sass-_l2ubgjK.js +1 -0
- package/dist/client/assets/scala-5ISOqwfP.js +1 -0
- package/dist/client/assets/scala-DaLXx7w_.js +1 -0
- package/dist/client/assets/scheme-C1YZqhaZ.js +1 -0
- package/dist/client/assets/scheme-CMonGpKC.js +1 -0
- package/dist/client/assets/scilab-B2kAs1V5.js +1 -0
- package/dist/client/assets/scss-CVCvE8v1.js +1 -0
- package/dist/client/assets/scss-CrbmEG5T.js +1 -0
- package/dist/client/assets/sequential_chain-B1QML8Lu.js +1 -0
- package/dist/client/assets/shell-D23FBbIq.js +1 -0
- package/dist/client/assets/shell-session-C2FAdJKF.js +1 -0
- package/dist/client/assets/smali-3sOhw6ai.js +1 -0
- package/dist/client/assets/smali-BZHXegS6.js +1 -0
- package/dist/client/assets/smalltalk-Dbg9Zgh3.js +1 -0
- package/dist/client/assets/smalltalk-m9ZB8CqV.js +1 -0
- package/dist/client/assets/smarty-DGhaals8.js +1 -0
- package/dist/client/assets/sml-B_P1D5ox.js +1 -0
- package/dist/client/assets/sml-CoURc_P6.js +1 -0
- package/dist/client/assets/solidity-CBi8oTsm.js +1 -0
- package/dist/client/assets/solution-file-AbEd8H29.js +1 -0
- package/dist/client/assets/soy-BFODhB8N.js +1 -0
- package/dist/client/assets/sparql-DomtvfDJ.js +1 -0
- package/dist/client/assets/splunk-spl-CSIGhLWM.js +1 -0
- package/dist/client/assets/sqf-B99Ccftv.js +1 -0
- package/dist/client/assets/sqf-CgsYNPep.js +1 -0
- package/dist/client/assets/sql-FjHeF7ej.js +1 -0
- package/dist/client/assets/sql-x0YqntzY.js +1 -0
- package/dist/client/assets/sql_more-wELyDWdR.js +1 -0
- package/dist/client/assets/squirrel-BgWZlN91.js +1 -0
- package/dist/client/assets/stan-C0mtE9Vu.js +1 -0
- package/dist/client/assets/stan-D9PwWkzo.js +1 -0
- package/dist/client/assets/stata-DT63H1NG.js +1 -0
- package/dist/client/assets/step21-BwCEqZjk.js +1 -0
- package/dist/client/assets/stylus-DAXjayP1.js +1 -0
- package/dist/client/assets/stylus-eO7N-4IO.js +1 -0
- package/dist/client/assets/subunit-B7jWbEdM.js +1 -0
- package/dist/client/assets/swift-DPz5_0tN.js +1 -0
- package/dist/client/assets/swift-DqFrPfpr.js +1 -0
- package/dist/client/assets/systemd-CdsoSIZM.js +1 -0
- package/dist/client/assets/t4-cs-DHEHnHYO.js +1 -0
- package/dist/client/assets/t4-templating-DmHnDGS4.js +1 -0
- package/dist/client/assets/t4-vb-Bhx0m7TA.js +1 -0
- package/dist/client/assets/taggerscript-1e_Do3S6.js +1 -0
- package/dist/client/assets/tap-CmAnNr74.js +1 -0
- package/dist/client/assets/tap-DlP1KbFE.js +1 -0
- package/dist/client/assets/tcl-BAODv6F9.js +1 -0
- package/dist/client/assets/tcl-wocarMCq.js +1 -0
- package/dist/client/assets/textile-CfEyA-9n.js +1 -0
- package/dist/client/assets/thrift-B7xZky57.js +1 -0
- package/dist/client/assets/toml-2IeFxRog.js +1 -0
- package/dist/client/assets/tp-D67aBi_a.js +1 -0
- package/dist/client/assets/tremor-DRd7ehiO.js +1 -0
- package/dist/client/assets/tsx-fnZ9TGU_.js +1 -0
- package/dist/client/assets/tt2-BNGPCRFP.js +1 -0
- package/dist/client/assets/turtle-IzLiAdPp.js +1 -0
- package/dist/client/assets/twig-C_cDIUID.js +1 -0
- package/dist/client/assets/twig-CsxQah73.js +1 -0
- package/dist/client/assets/types-BwRatl9w.js +38 -0
- package/dist/client/assets/typescript-BIcwkqkF.js +1 -0
- package/dist/client/assets/typescript-v51paY0R.js +1 -0
- package/dist/client/assets/typoscript-CV9TDegG.js +1 -0
- package/dist/client/assets/unrealscript-M-gMsNjV.js +1 -0
- package/dist/client/assets/uorazor-Bj3fFlbj.js +1 -0
- package/dist/client/assets/uri-D_VYdAhT.js +1 -0
- package/dist/client/assets/v-CpD6qXC_.js +1 -0
- package/dist/client/assets/vala-BlXqs0eP.js +1 -0
- package/dist/client/assets/vala-C5Fe98sz.js +1 -0
- package/dist/client/assets/vbnet-C5GcjGqs.js +1 -0
- package/dist/client/assets/vbnet-D7AamUIB.js +1 -0
- package/dist/client/assets/vbscript-Dcf63pcX.js +1 -0
- package/dist/client/assets/vbscript-html-OjvC1DUx.js +1 -0
- package/dist/client/assets/vector_db_qa-B_DF3rB7.js +9 -0
- package/dist/client/assets/velocity-6R7diouV.js +1 -0
- package/dist/client/assets/verilog-6sS14QC-.js +1 -0
- package/dist/client/assets/verilog-Wr6JIjGz.js +1 -0
- package/dist/client/assets/vhdl-B2ckgtL0.js +1 -0
- package/dist/client/assets/vhdl-De0BDuiM.js +1 -0
- package/dist/client/assets/vim-Blbsj-kz.js +1 -0
- package/dist/client/assets/vim-Q_4vCv2D.js +1 -0
- package/dist/client/assets/visual-basic-CFkf8l3A.js +1 -0
- package/dist/client/assets/warpscript-CBtwXMX6.js +1 -0
- package/dist/client/assets/wasm-BvMlEqjW.js +1 -0
- package/dist/client/assets/web-idl-DK23vNqO.js +1 -0
- package/dist/client/assets/wiki-BMRDsq3k.js +1 -0
- package/dist/client/assets/wolfram-C_OSIiOU.js +1 -0
- package/dist/client/assets/wren-lKR5T-e3.js +1 -0
- package/dist/client/assets/x86asm-CQwhSJmP.js +1 -0
- package/dist/client/assets/xeora-CuLMNx8o.js +1 -0
- package/dist/client/assets/xl-CeWS8fE-.js +1 -0
- package/dist/client/assets/xml-BNQPyuXK.js +1 -0
- package/dist/client/assets/xml-doc-DClvwbNA.js +1 -0
- package/dist/client/assets/xojo-W1F30h9g.js +1 -0
- package/dist/client/assets/xquery-CqrVwpqK.js +1 -0
- package/dist/client/assets/xquery-KSyT4aUF.js +1 -0
- package/dist/client/assets/yaml-CNK-Iu2g.js +1 -0
- package/dist/client/assets/yaml-DSj8Zsd5.js +1 -0
- package/dist/client/assets/yang-BYSb9rbw.js +1 -0
- package/dist/client/assets/zephir-CnQeRpCK.js +1 -0
- package/dist/client/assets/zig-DZuJLEbO.js +1 -0
- package/dist/client/assets/zodToJsonSchema-Bqjf4H7J.js +8 -0
- package/dist/client/index.html +3 -3
- package/dist/server/chunk-I632TGUD.js +59 -0
- package/dist/server/chunk-JIJ5PZK3.js +539 -0
- package/dist/server/chunk-PHIMHO3V.js +112 -0
- package/dist/server/chunk-X2NAWSXV.js +509 -0
- package/dist/server/chunk-XJDEAO7Y.js +60 -0
- package/dist/server/chunk-ZZIGQBXA.js +167 -0
- package/dist/server/cli.d.ts +3 -0
- package/dist/server/cli.d.ts.map +1 -0
- package/dist/server/cli.js +95 -0
- package/dist/server/index.js +6 -4
- package/dist/server/middleware.d.ts +4 -5
- package/dist/server/middleware.d.ts.map +1 -1
- package/dist/server/middleware.js +6 -3
- package/dist/server/server.d.ts.map +1 -1
- package/dist/server/server.js +7 -21
- package/dist/server/shared-routes.d.ts +1 -7
- package/dist/server/shared-routes.d.ts.map +1 -1
- package/dist/server/shared-routes.js +5 -7
- package/dist/server/shared-static.d.ts.map +1 -1
- package/dist/server/shared-static.js +2 -3
- package/dist/server/shared-utils-browser.d.ts +38 -0
- package/dist/server/shared-utils-browser.d.ts.map +1 -1
- package/dist/server/shared-utils-browser.js +13 -4
- package/dist/server/shared-utils.d.ts +39 -0
- package/dist/server/shared-utils.d.ts.map +1 -1
- package/dist/server/shared-utils.js +13 -4
- package/dist/server/utils.d.ts +13 -0
- package/dist/server/utils.d.ts.map +1 -0
- package/dist/server/utils.js +12 -0
- package/package.json +4 -4
- package/dist/cli/inspect.d.ts +0 -3
- package/dist/cli/inspect.d.ts.map +0 -1
- package/dist/cli/inspect.js +0 -724
- package/dist/client/assets/1c-1LwXCeaM.js +0 -1
- package/dist/client/assets/abap-C_CBbMnB.js +0 -1
- package/dist/client/assets/abnf-CqunyC29.js +0 -1
- package/dist/client/assets/abnf-Dl0nB3FF.js +0 -1
- package/dist/client/assets/accesslog-Dyx4zD-U.js +0 -1
- package/dist/client/assets/actionscript-C26AcnTI.js +0 -1
- package/dist/client/assets/actionscript-j49rsMcf.js +0 -1
- package/dist/client/assets/ada-BX725jFl.js +0 -1
- package/dist/client/assets/ada-hbKcShTz.js +0 -1
- package/dist/client/assets/agda-DhZ1RJF_.js +0 -1
- package/dist/client/assets/al-DgP2kVCg.js +0 -1
- package/dist/client/assets/angelscript-kr0j6as3.js +0 -1
- package/dist/client/assets/antlr4-BS3OIu8p.js +0 -1
- package/dist/client/assets/apache-D2YLUenx.js +0 -1
- package/dist/client/assets/apacheconf-DxF2tf7X.js +0 -1
- package/dist/client/assets/apex-CB1rApcz.js +0 -1
- package/dist/client/assets/api_chain-3SKETdru.js +0 -15
- package/dist/client/assets/apl-BaRelSYQ.js +0 -1
- package/dist/client/assets/applescript-BV6r0vOg.js +0 -1
- package/dist/client/assets/applescript-CBXJGTwD.js +0 -1
- package/dist/client/assets/aql-CRa5w9sh.js +0 -1
- package/dist/client/assets/arcade-pblJoyUV.js +0 -1
- package/dist/client/assets/arduino-BJzx0aI4.js +0 -1
- package/dist/client/assets/arduino-C8Hvy8zI.js +0 -1
- package/dist/client/assets/arff-DKr6H6Gn.js +0 -1
- package/dist/client/assets/armasm-Cb0n7QyY.js +0 -1
- package/dist/client/assets/asciidoc-CaW32vdw.js +0 -1
- package/dist/client/assets/asciidoc-DEUbzgzD.js +0 -1
- package/dist/client/assets/asm6502-D-qvz9Nj.js +0 -1
- package/dist/client/assets/asmatmel--NnPZCww.js +0 -1
- package/dist/client/assets/aspectj-D2EcGUnV.js +0 -1
- package/dist/client/assets/aspnet-jExzHcT5.js +0 -1
- package/dist/client/assets/autohotkey-BNBZGzFC.js +0 -1
- package/dist/client/assets/autohotkey-BhTDcK3I.js +0 -1
- package/dist/client/assets/autoit-Cbom03rp.js +0 -1
- package/dist/client/assets/autoit-CuVWp-C-.js +0 -1
- package/dist/client/assets/avisynth-im3i7vGW.js +0 -1
- package/dist/client/assets/avrasm-WrKdYrqC.js +0 -1
- package/dist/client/assets/avro-idl-5N4Kkatt.js +0 -1
- package/dist/client/assets/awk-DTAvXRS6.js +0 -1
- package/dist/client/assets/axapta-D6iCXT0X.js +0 -1
- package/dist/client/assets/bash-DgpcKAEV.js +0 -1
- package/dist/client/assets/bash-Dp2p1czB.js +0 -1
- package/dist/client/assets/basic-BuNBl12J.js +0 -1
- package/dist/client/assets/basic-DoCiPuhP.js +0 -1
- package/dist/client/assets/batch-LD3Xps_N.js +0 -1
- package/dist/client/assets/bbcode-CEBIc7A0.js +0 -1
- package/dist/client/assets/bicep-DpTpz4-R.js +0 -1
- package/dist/client/assets/birb-D5rzgvgL.js +0 -1
- package/dist/client/assets/bison-DIOvX5by.js +0 -1
- package/dist/client/assets/bnf-Bq9MUbvb.js +0 -1
- package/dist/client/assets/bnf-DZhmYi8o.js +0 -1
- package/dist/client/assets/brainfuck-D9zJtTAf.js +0 -1
- package/dist/client/assets/brainfuck-DB8-U-Kr.js +0 -1
- package/dist/client/assets/brightscript-l-qwRCoE.js +0 -1
- package/dist/client/assets/bro-B6PmV0fl.js +0 -1
- package/dist/client/assets/bsl-CCbE99HJ.js +0 -1
- package/dist/client/assets/c-CKX-6wqR.js +0 -1
- package/dist/client/assets/c-jAZcOhb1.js +0 -1
- package/dist/client/assets/c-like-ezlGQVKl.js +0 -1
- package/dist/client/assets/cal-DI8ggXUw.js +0 -1
- package/dist/client/assets/capnproto-_AY5dSbQ.js +0 -1
- package/dist/client/assets/ceylon-DhXQNTW2.js +0 -1
- package/dist/client/assets/cfscript-D2vQsyGT.js +0 -1
- package/dist/client/assets/chaiscript-B6s8iVkN.js +0 -1
- package/dist/client/assets/cil-2wkoeycK.js +0 -1
- package/dist/client/assets/clean-CYq8bwen.js +0 -1
- package/dist/client/assets/clike-CcDxgrrV.js +0 -1
- package/dist/client/assets/clojure-B0QONKHe.js +0 -1
- package/dist/client/assets/clojure-DHbp9ZvJ.js +0 -1
- package/dist/client/assets/clojure-repl-DS4d0m_-.js +0 -1
- package/dist/client/assets/cmake-D9-goF-V.js +0 -1
- package/dist/client/assets/cmake-G7nBYrGQ.js +0 -1
- package/dist/client/assets/cobol-DoTFpdYR.js +0 -1
- package/dist/client/assets/coffeescript-CVaQbBah.js +0 -1
- package/dist/client/assets/coffeescript-fGblLc_b.js +0 -1
- package/dist/client/assets/combine_docs_chain-Bi09clmQ.js +0 -3
- package/dist/client/assets/concurnas-C71UuVo5.js +0 -1
- package/dist/client/assets/coq-CjQDaRNG.js +0 -1
- package/dist/client/assets/coq-DxyAJCwZ.js +0 -1
- package/dist/client/assets/cos-BPDGAug3.js +0 -1
- package/dist/client/assets/cpp-BGz3alx4.js +0 -1
- package/dist/client/assets/cpp-CYtgT1RC.js +0 -1
- package/dist/client/assets/crmsh-Cqz7J2uL.js +0 -1
- package/dist/client/assets/crystal-Xhn8eS_8.js +0 -1
- package/dist/client/assets/crystal-dqmDzSs_.js +0 -1
- package/dist/client/assets/csharp-DRUUa0y5.js +0 -1
- package/dist/client/assets/csharp-R4VDBdEl.js +0 -1
- package/dist/client/assets/cshtml-C1llnqB8.js +0 -1
- package/dist/client/assets/csp-CFVd7sCm.js +0 -1
- package/dist/client/assets/csp-Cb1BZoWZ.js +0 -1
- package/dist/client/assets/css-BBhlHsUT.js +0 -1
- package/dist/client/assets/css-DNJ_5GQ2.js +0 -1
- package/dist/client/assets/css-extras-kpJL186f.js +0 -1
- package/dist/client/assets/csv-CUFhfgT7.js +0 -1
- package/dist/client/assets/cypher-DbthTYax.js +0 -1
- package/dist/client/assets/d-BaAkXIHL.js +0 -1
- package/dist/client/assets/d-CrpxWz0Q.js +0 -1
- package/dist/client/assets/dart-pg9sg7zR.js +0 -1
- package/dist/client/assets/dart-pgknyWq_.js +0 -1
- package/dist/client/assets/dataweave-nm3b6RCA.js +0 -1
- package/dist/client/assets/dax-n_XJjCsK.js +0 -1
- package/dist/client/assets/delphi-DL162Fps.js +0 -1
- package/dist/client/assets/dhall-CFg1Wt18.js +0 -1
- package/dist/client/assets/diff-R2Ywj4m0.js +0 -1
- package/dist/client/assets/diff-VqmH3Tr4.js +0 -1
- package/dist/client/assets/django-B0_SGlZF.js +0 -1
- package/dist/client/assets/django-CKqf_LeY.js +0 -1
- package/dist/client/assets/dns-BJqUXkVQ.js +0 -1
- package/dist/client/assets/dns-zone-file-iMy4RKG0.js +0 -1
- package/dist/client/assets/docker-DibCy3fp.js +0 -1
- package/dist/client/assets/dockerfile-CxFEMtOd.js +0 -1
- package/dist/client/assets/dos-CXYqTuvU.js +0 -1
- package/dist/client/assets/dot-DMz2AwJG.js +0 -1
- package/dist/client/assets/dsconfig-BSafpNO4.js +0 -1
- package/dist/client/assets/dts-CQ4ddadK.js +0 -1
- package/dist/client/assets/dust-DHdg5dKL.js +0 -1
- package/dist/client/assets/ebnf-DFWNGUts.js +0 -1
- package/dist/client/assets/ebnf-n_HuLYlN.js +0 -1
- package/dist/client/assets/editorconfig-q1hr8mZn.js +0 -1
- package/dist/client/assets/eiffel-DeM5iKH1.js +0 -1
- package/dist/client/assets/ejs-DuY-wppU.js +0 -1
- package/dist/client/assets/elixir-CMqX3Vo7.js +0 -1
- package/dist/client/assets/elixir-DOyh2gCH.js +0 -1
- package/dist/client/assets/elm-CIB45FSl.js +0 -1
- package/dist/client/assets/elm-CKaXJe02.js +0 -1
- package/dist/client/assets/erb-BZihNRd4.js +0 -1
- package/dist/client/assets/erb-DJthf16s.js +0 -1
- package/dist/client/assets/erlang-5xmHrF5K.js +0 -1
- package/dist/client/assets/erlang-DqPZXzL1.js +0 -1
- package/dist/client/assets/erlang-repl-DNdGW8Zj.js +0 -1
- package/dist/client/assets/etlua-CUdYfjfk.js +0 -1
- package/dist/client/assets/excel-CSZ_Agvf.js +0 -1
- package/dist/client/assets/excel-formula-KhMpjq6w.js +0 -1
- package/dist/client/assets/factor-D1oDLHPM.js +0 -1
- package/dist/client/assets/false-Dj25Ots1.js +0 -1
- package/dist/client/assets/few_shot-ZsJ5YbeJ.js +0 -3
- package/dist/client/assets/firestore-security-rules-QPJCjY65.js +0 -1
- package/dist/client/assets/fix-CgPPbcZl.js +0 -1
- package/dist/client/assets/flix-KP63yuil.js +0 -1
- package/dist/client/assets/flow-CEsJlKGR.js +0 -1
- package/dist/client/assets/fortran-BdRBXTm6.js +0 -1
- package/dist/client/assets/fortran-XO3Rx-Jc.js +0 -1
- package/dist/client/assets/fsharp-9gv4Z2bM.js +0 -1
- package/dist/client/assets/fsharp-B2Hgpxf4.js +0 -1
- package/dist/client/assets/ftl-Ctn1WYqN.js +0 -1
- package/dist/client/assets/gams-BRP9WTr2.js +0 -1
- package/dist/client/assets/gap-BCLaOkB8.js +0 -1
- package/dist/client/assets/gauss-DHPLtN-0.js +0 -1
- package/dist/client/assets/gcode-Bs3WYoEH.js +0 -1
- package/dist/client/assets/gcode-BxW22EgL.js +0 -1
- package/dist/client/assets/gdscript-kh48HHIG.js +0 -1
- package/dist/client/assets/gedcom-DjXr2tK4.js +0 -1
- package/dist/client/assets/gherkin-Cs2i2WTH.js +0 -1
- package/dist/client/assets/gherkin-DEfHrW1U.js +0 -1
- package/dist/client/assets/git-BR1n084B.js +0 -1
- package/dist/client/assets/glsl-C-ccf05D.js +0 -1
- package/dist/client/assets/glsl-Q8QGHfqT.js +0 -1
- package/dist/client/assets/gml-Bxnjqd2J.js +0 -1
- package/dist/client/assets/gml-DHxWO88N.js +0 -1
- package/dist/client/assets/gn-HfbOFyhD.js +0 -1
- package/dist/client/assets/go-BRHVkY2d.js +0 -1
- package/dist/client/assets/go-DjF_fz-h.js +0 -1
- package/dist/client/assets/go-module-KY-i9rhL.js +0 -1
- package/dist/client/assets/golo-BajSy2sT.js +0 -1
- package/dist/client/assets/gradle-Ct1ckrhx.js +0 -1
- package/dist/client/assets/graphql-XMPh__BW.js +0 -1
- package/dist/client/assets/groovy-CLOoHbmE.js +0 -1
- package/dist/client/assets/groovy-SqYFnqzf.js +0 -1
- package/dist/client/assets/haml-B2XBKI9L.js +0 -1
- package/dist/client/assets/haml-BylNh74w.js +0 -1
- package/dist/client/assets/handlebars-BgXKFDaT.js +0 -1
- package/dist/client/assets/handlebars-Ck07Sc0o.js +0 -1
- package/dist/client/assets/haskell-CObxIh2K.js +0 -1
- package/dist/client/assets/haskell-DoLZrDsM.js +0 -1
- package/dist/client/assets/haxe-D0a6ys8O.js +0 -1
- package/dist/client/assets/haxe-rdGDQixh.js +0 -1
- package/dist/client/assets/hcl-C8wgyAy_.js +0 -1
- package/dist/client/assets/hlsl-Lrpx1Tc-.js +0 -1
- package/dist/client/assets/hoon-B4-f2eBX.js +0 -1
- package/dist/client/assets/hpkp-D3acZRbt.js +0 -1
- package/dist/client/assets/hsp-UZY8No82.js +0 -1
- package/dist/client/assets/hsts-DOghoEM6.js +0 -1
- package/dist/client/assets/htmlbars-Bq_yaVt9.js +0 -1
- package/dist/client/assets/http-BvqO3lye.js +0 -1
- package/dist/client/assets/http-CwSNWevT.js +0 -1
- package/dist/client/assets/hy-DXteTZ_v.js +0 -1
- package/dist/client/assets/ichigojam-p84mF3EG.js +0 -1
- package/dist/client/assets/icon-D_8mafNt.js +0 -1
- package/dist/client/assets/icu-message-format-jtRBhdPJ.js +0 -1
- package/dist/client/assets/idris-CgbppSal.js +0 -1
- package/dist/client/assets/iecst-BQaNgXgE.js +0 -1
- package/dist/client/assets/ignore-CCz-HdeY.js +0 -1
- package/dist/client/assets/index-BXxIkNj2.js +0 -212
- package/dist/client/assets/index-Boe6IUZP.js +0 -4
- package/dist/client/assets/index-BtU-sGqa.js +0 -1
- package/dist/client/assets/index-C2et5R9-.js +0 -25
- package/dist/client/assets/index-DPVUiW-t.js +0 -48
- package/dist/client/assets/index-DUE1m-ya.css +0 -1
- package/dist/client/assets/index-DvNb1_yp.js +0 -1752
- package/dist/client/assets/inform7-BNQuDEVU.js +0 -1
- package/dist/client/assets/inform7-BtFnzoSE.js +0 -1
- package/dist/client/assets/ini-AEjHJgjB.js +0 -1
- package/dist/client/assets/ini-qYTUOJdn.js +0 -1
- package/dist/client/assets/io-B4db0oLC.js +0 -1
- package/dist/client/assets/irpf90-BlhxaivT.js +0 -1
- package/dist/client/assets/isbl-nLNS4UMz.js +0 -1
- package/dist/client/assets/j-gDKXD_fI.js +0 -1
- package/dist/client/assets/java-CPua5RH2.js +0 -1
- package/dist/client/assets/java-D8C3oys1.js +0 -1
- package/dist/client/assets/javadoc-BmNqF9RP.js +0 -1
- package/dist/client/assets/javadoclike-DWlDvZlE.js +0 -1
- package/dist/client/assets/javascript-6_uNPAYO.js +0 -1
- package/dist/client/assets/javascript-CK9yxltA.js +0 -1
- package/dist/client/assets/javastacktrace-D9I7bJWr.js +0 -1
- package/dist/client/assets/jboss-cli-Bva6ngl4.js +0 -1
- package/dist/client/assets/jexl-CnppheXw.js +0 -1
- package/dist/client/assets/jolie-yqjJZ-bs.js +0 -1
- package/dist/client/assets/jq-Brf0g9jb.js +0 -1
- package/dist/client/assets/js-extras-Dp696qa_.js +0 -1
- package/dist/client/assets/js-templates-dCI_hGk0.js +0 -1
- package/dist/client/assets/jsdoc-Bpj4wBeZ.js +0 -1
- package/dist/client/assets/json-CCgVPibO.js +0 -1
- package/dist/client/assets/json-CV69Dri1.js +0 -1
- package/dist/client/assets/json-ZW4Ys-1H.js +0 -5
- package/dist/client/assets/json5-LM1zx7Zj.js +0 -1
- package/dist/client/assets/jsonp-B1x75JFy.js +0 -1
- package/dist/client/assets/jsstacktrace-DTAWKN9h.js +0 -1
- package/dist/client/assets/jsx-3rzZJUGT.js +0 -1
- package/dist/client/assets/julia-Bd4vWNB7.js +0 -1
- package/dist/client/assets/julia-Bt8Zd57o.js +0 -1
- package/dist/client/assets/julia-repl-B64Hrqt1.js +0 -1
- package/dist/client/assets/keepalived-CyHqRgry.js +0 -1
- package/dist/client/assets/keyman-Dh9P2AZO.js +0 -1
- package/dist/client/assets/kotlin-DZ27n0zO.js +0 -1
- package/dist/client/assets/kotlin-So3HH0i8.js +0 -1
- package/dist/client/assets/kumir-yFLgdLEG.js +0 -1
- package/dist/client/assets/kusto-jJgzwrC1.js +0 -1
- package/dist/client/assets/langfuse-YA2S23SM-CxwiV0VJ.js +0 -239
- package/dist/client/assets/lasso-z61_tmK5.js +0 -1
- package/dist/client/assets/latex-Cep2d1LJ.js +0 -1
- package/dist/client/assets/latex-DojLKwEv.js +0 -1
- package/dist/client/assets/latte-CGtpgHFd.js +0 -1
- package/dist/client/assets/ldif-BvrQzS5w.js +0 -1
- package/dist/client/assets/leaf-DQ83VGIa.js +0 -1
- package/dist/client/assets/less-CsTgLIyq.js +0 -1
- package/dist/client/assets/less-wBT9IhUl.js +0 -1
- package/dist/client/assets/lilypond-DRMyNbzU.js +0 -1
- package/dist/client/assets/liquid-DwRBX2Mk.js +0 -1
- package/dist/client/assets/lisp-CW7pIJr0.js +0 -1
- package/dist/client/assets/lisp-gGskDznl.js +0 -1
- package/dist/client/assets/livecodeserver-BOL8repk.js +0 -1
- package/dist/client/assets/livescript-DY_XGEQ6.js +0 -1
- package/dist/client/assets/livescript-zFDn6lCa.js +0 -1
- package/dist/client/assets/llm_chain-CYdmV1P-.js +0 -1
- package/dist/client/assets/llvm-Db1cms20.js +0 -1
- package/dist/client/assets/llvm-NarBPnao.js +0 -1
- package/dist/client/assets/log-CQ0x5Z45.js +0 -1
- package/dist/client/assets/lolcode-CVtFmVW0.js +0 -1
- package/dist/client/assets/lsl-B4IDwLY_.js +0 -1
- package/dist/client/assets/lua-Bj_30OMu.js +0 -1
- package/dist/client/assets/lua-zB_TCBSt.js +0 -1
- package/dist/client/assets/magma-BTrLPael.js +0 -1
- package/dist/client/assets/makefile-CJj95oiA.js +0 -1
- package/dist/client/assets/makefile-Dv5XcHEA.js +0 -1
- package/dist/client/assets/markdown-BVL8Mrbo.js +0 -1
- package/dist/client/assets/markdown-ZWbNf69g.js +0 -1
- package/dist/client/assets/markup-DwEbHSdk.js +0 -1
- package/dist/client/assets/markup-templating-BCY5Gqhe.js +0 -1
- package/dist/client/assets/mathematica-mn-kUPuq.js +0 -1
- package/dist/client/assets/matlab-B_JWjsmK.js +0 -1
- package/dist/client/assets/matlab-zaWm_7CP.js +0 -1
- package/dist/client/assets/maxima-DRu8jnbv.js +0 -1
- package/dist/client/assets/maxscript-CsLwRh8_.js +0 -1
- package/dist/client/assets/mel-CfLv1HgU.js +0 -1
- package/dist/client/assets/mel-CuEU7Fv9.js +0 -1
- package/dist/client/assets/mercury-DbgN2V6g.js +0 -1
- package/dist/client/assets/mermaid-SSP6q0TH.js +0 -1
- package/dist/client/assets/mipsasm-He_mKgrS.js +0 -1
- package/dist/client/assets/mizar-BcmslZ8H.js +0 -1
- package/dist/client/assets/mizar-C7ejUTMl.js +0 -1
- package/dist/client/assets/mojolicious-817c6Ky0.js +0 -1
- package/dist/client/assets/mongodb-C33CGdPe.js +0 -1
- package/dist/client/assets/monkey-DS14SkBw.js +0 -1
- package/dist/client/assets/monkey-vhvYckq9.js +0 -1
- package/dist/client/assets/moonscript-CAOuGEqf.js +0 -1
- package/dist/client/assets/moonscript-Dm6VHN52.js +0 -1
- package/dist/client/assets/n1ql-BgL97zgT.js +0 -1
- package/dist/client/assets/n1ql-CftkJovc.js +0 -1
- package/dist/client/assets/n4js-CZBi560e.js +0 -1
- package/dist/client/assets/nand2tetris-hdl-BmJJLFLW.js +0 -1
- package/dist/client/assets/naniscript-5Agj3pFK.js +0 -1
- package/dist/client/assets/nasm-ALVrFRFg.js +0 -1
- package/dist/client/assets/neon-CfoXjcng.js +0 -1
- package/dist/client/assets/nevod-BV3EPOzl.js +0 -1
- package/dist/client/assets/nginx-DKkh7pDW.js +0 -1
- package/dist/client/assets/nginx-DnnEyUL2.js +0 -1
- package/dist/client/assets/nim-B7OFIVrx.js +0 -1
- package/dist/client/assets/nim-Df338CwG.js +0 -1
- package/dist/client/assets/nix-CpFUtISK.js +0 -1
- package/dist/client/assets/nix-DwUHuKa8.js +0 -1
- package/dist/client/assets/node-repl-Dm685JeL.js +0 -1
- package/dist/client/assets/nsis-Cw-yBAXx.js +0 -1
- package/dist/client/assets/nsis-exP5PZ5F.js +0 -1
- package/dist/client/assets/objectivec-Ba7S1x4Z.js +0 -1
- package/dist/client/assets/objectivec-CpK_agtc.js +0 -1
- package/dist/client/assets/ocaml-B4rrnP2N.js +0 -1
- package/dist/client/assets/ocaml-C7y2xiF_.js +0 -1
- package/dist/client/assets/opencl-BU-wiKBZ.js +0 -1
- package/dist/client/assets/openqasm-DmsXUwSY.js +0 -1
- package/dist/client/assets/openscad-BxRavlOk.js +0 -1
- package/dist/client/assets/oxygene-ChVyQtUM.js +0 -1
- package/dist/client/assets/oz-DqysyeBI.js +0 -1
- package/dist/client/assets/parigp-a9e-pkxj.js +0 -1
- package/dist/client/assets/parser-DzDykvBh.js +0 -1
- package/dist/client/assets/parser3-Jh8cJWvr.js +0 -1
- package/dist/client/assets/pascal-DByeZgix.js +0 -1
- package/dist/client/assets/pascaligo-COnLnb9d.js +0 -1
- package/dist/client/assets/pcaxis-C1PungVs.js +0 -1
- package/dist/client/assets/peoplecode-Dqzrbpxz.js +0 -1
- package/dist/client/assets/perl-C2Pc_F0Z.js +0 -1
- package/dist/client/assets/perl-ZHxsYES_.js +0 -1
- package/dist/client/assets/pf-DiW7WjDK.js +0 -1
- package/dist/client/assets/pgsql-WLS_2uin.js +0 -1
- package/dist/client/assets/php-BMal-KNI.js +0 -1
- package/dist/client/assets/php-extras-ZiDWZXXF.js +0 -1
- package/dist/client/assets/php-ftVaLoJf.js +0 -1
- package/dist/client/assets/php-template-DrD8Iqet.js +0 -1
- package/dist/client/assets/phpdoc-xizP2cNg.js +0 -1
- package/dist/client/assets/plaintext-BohDqSfI.js +0 -1
- package/dist/client/assets/plsql-Czj593yP.js +0 -1
- package/dist/client/assets/pony-iUg-w_X5.js +0 -1
- package/dist/client/assets/powerquery-CzSzf70Y.js +0 -1
- package/dist/client/assets/powershell-BAZk0u0I.js +0 -1
- package/dist/client/assets/powershell-zh0CGQvC.js +0 -1
- package/dist/client/assets/processing-Bkkc3JFE.js +0 -1
- package/dist/client/assets/processing-Cesy-djn.js +0 -1
- package/dist/client/assets/profile-D0HB42KL.js +0 -1
- package/dist/client/assets/prolog-N6JDETEr.js +0 -1
- package/dist/client/assets/prolog-jx91Hgq1.js +0 -1
- package/dist/client/assets/promql-DiTeUQom.js +0 -1
- package/dist/client/assets/properties-D9NBnO2K.js +0 -1
- package/dist/client/assets/properties-DxjeXBXu.js +0 -1
- package/dist/client/assets/protobuf-CPzUjTjp.js +0 -1
- package/dist/client/assets/protobuf-DR_d55cY.js +0 -1
- package/dist/client/assets/psl-BX4miJEK.js +0 -1
- package/dist/client/assets/pug-gStri_Xq.js +0 -1
- package/dist/client/assets/puppet-BfquW406.js +0 -1
- package/dist/client/assets/puppet-HgPyCb6I.js +0 -1
- package/dist/client/assets/pure-pPwtUw2w.js +0 -1
- package/dist/client/assets/purebasic-D_XzMZMf.js +0 -1
- package/dist/client/assets/purebasic-Djh1kKJ1.js +0 -1
- package/dist/client/assets/purescript-BvaZNrm5.js +0 -1
- package/dist/client/assets/python-BveZWkv5.js +0 -1
- package/dist/client/assets/python-repl-DWTtrG3B.js +0 -1
- package/dist/client/assets/python-xFqxwqhF.js +0 -1
- package/dist/client/assets/q-7E0rMyyM.js +0 -1
- package/dist/client/assets/q-BnQZdm_9.js +0 -1
- package/dist/client/assets/qml-Bno1x8E0.js +0 -1
- package/dist/client/assets/qml-C41hwjiH.js +0 -1
- package/dist/client/assets/qore-F9aW8Qay.js +0 -1
- package/dist/client/assets/qsharp-Cf8IuW15.js +0 -1
- package/dist/client/assets/r-DkLvSbO-.js +0 -1
- package/dist/client/assets/r-GkkqJzmk.js +0 -1
- package/dist/client/assets/racket-BKb2RiQ5.js +0 -1
- package/dist/client/assets/reason-CibDMoCx.js +0 -1
- package/dist/client/assets/reasonml-BM7bA_2e.js +0 -1
- package/dist/client/assets/regex-mW64ik50.js +0 -1
- package/dist/client/assets/rego-C9b4jKE_.js +0 -1
- package/dist/client/assets/renpy-ekwT19TS.js +0 -1
- package/dist/client/assets/rest-Bja87_dE.js +0 -1
- package/dist/client/assets/rib-oGRSUkxj.js +0 -1
- package/dist/client/assets/rip-CcP64Z_V.js +0 -1
- package/dist/client/assets/roboconf-BZOjeXzh.js +0 -1
- package/dist/client/assets/roboconf-D8S4hOX-.js +0 -1
- package/dist/client/assets/robotframework-C5hzdsKk.js +0 -1
- package/dist/client/assets/routeros-TvMB2SCe.js +0 -1
- package/dist/client/assets/rsl-8Mhw2dbV.js +0 -1
- package/dist/client/assets/ruby-CQZfcCSN.js +0 -1
- package/dist/client/assets/ruby-D7TR7FoI.js +0 -1
- package/dist/client/assets/ruleslanguage-COtwfMu7.js +0 -1
- package/dist/client/assets/rust-CJ_U1HS9.js +0 -1
- package/dist/client/assets/rust-D8s4_ADS.js +0 -1
- package/dist/client/assets/sas-B4rn5kbO.js +0 -1
- package/dist/client/assets/sas-C1C7PN--.js +0 -1
- package/dist/client/assets/sass-BnBDJQGm.js +0 -1
- package/dist/client/assets/scala-DisWYV_M.js +0 -1
- package/dist/client/assets/scala-x7UuZkVC.js +0 -1
- package/dist/client/assets/scheme-CeJT1MFb.js +0 -1
- package/dist/client/assets/scheme-Dn26tErI.js +0 -1
- package/dist/client/assets/scilab-BYgblvQa.js +0 -1
- package/dist/client/assets/scss-Cqg4bzhF.js +0 -1
- package/dist/client/assets/scss-DP8YKwTY.js +0 -1
- package/dist/client/assets/sequential_chain-BSDR0Wvv.js +0 -1
- package/dist/client/assets/shell-D9VaP7bc.js +0 -1
- package/dist/client/assets/shell-session-BDyRJ9Be.js +0 -1
- package/dist/client/assets/smali-B7-hotzt.js +0 -1
- package/dist/client/assets/smali-DF8hIxm5.js +0 -1
- package/dist/client/assets/smalltalk-BasWhrFV.js +0 -1
- package/dist/client/assets/smalltalk-Cxhqyq1g.js +0 -1
- package/dist/client/assets/smarty-YPsWDfMu.js +0 -1
- package/dist/client/assets/sml-Bg4vM9Vz.js +0 -1
- package/dist/client/assets/sml-DKttm-11.js +0 -1
- package/dist/client/assets/solidity-CLEvZ0m9.js +0 -1
- package/dist/client/assets/solution-file-DCxferRY.js +0 -1
- package/dist/client/assets/soy-025o1YZY.js +0 -1
- package/dist/client/assets/sparql-DkGltLyu.js +0 -1
- package/dist/client/assets/splunk-spl-CyDITQAL.js +0 -1
- package/dist/client/assets/sqf-BzPjezhl.js +0 -1
- package/dist/client/assets/sqf-DIsLhnWS.js +0 -1
- package/dist/client/assets/sql-But40W87.js +0 -1
- package/dist/client/assets/sql-DUE1sX6o.js +0 -1
- package/dist/client/assets/sql_more-BXQ-Pyn2.js +0 -1
- package/dist/client/assets/squirrel-CtvhUxEH.js +0 -1
- package/dist/client/assets/stan-8KVO6VLv.js +0 -1
- package/dist/client/assets/stan-C5rc7fu9.js +0 -1
- package/dist/client/assets/stata-DwaNhV36.js +0 -1
- package/dist/client/assets/step21-6a1s9YHA.js +0 -1
- package/dist/client/assets/stylus-12AOc-lY.js +0 -1
- package/dist/client/assets/stylus-CcmeKxff.js +0 -1
- package/dist/client/assets/subunit-DIdRxN33.js +0 -1
- package/dist/client/assets/swift-5MdubKvU.js +0 -1
- package/dist/client/assets/swift-DS9AtGXO.js +0 -1
- package/dist/client/assets/systemd-DXqmwld0.js +0 -1
- package/dist/client/assets/t4-cs-Bp09xvYg.js +0 -1
- package/dist/client/assets/t4-templating--Vl_qOe8.js +0 -1
- package/dist/client/assets/t4-vb-mVJ-NJFi.js +0 -1
- package/dist/client/assets/taggerscript-DXq4WP9F.js +0 -1
- package/dist/client/assets/tap-DIj8MGZO.js +0 -1
- package/dist/client/assets/tap-lZ1UPH2V.js +0 -1
- package/dist/client/assets/tcl-BYx7iVza.js +0 -1
- package/dist/client/assets/tcl-Di47CT9m.js +0 -1
- package/dist/client/assets/textile-Cu4suufn.js +0 -1
- package/dist/client/assets/thrift-DFY4_p49.js +0 -1
- package/dist/client/assets/toml-CxJkeLz2.js +0 -1
- package/dist/client/assets/tp-BLoTMneh.js +0 -1
- package/dist/client/assets/tremor-D60yO7sk.js +0 -1
- package/dist/client/assets/tsx-CcgVpv-E.js +0 -1
- package/dist/client/assets/tt2-B_ZTPXns.js +0 -1
- package/dist/client/assets/turtle-D0qQDbux.js +0 -1
- package/dist/client/assets/twig-CYLrk8wJ.js +0 -1
- package/dist/client/assets/twig-DOsUIVNH.js +0 -1
- package/dist/client/assets/types-CmQi9glY.js +0 -81
- package/dist/client/assets/typescript-1ETX30Fe.js +0 -1
- package/dist/client/assets/typescript-CESUcp84.js +0 -1
- package/dist/client/assets/typoscript-BUWpsiVo.js +0 -1
- package/dist/client/assets/unrealscript-aYFlCsFL.js +0 -1
- package/dist/client/assets/uorazor-H39AMVmc.js +0 -1
- package/dist/client/assets/uri-CK8hAd4M.js +0 -1
- package/dist/client/assets/v-C6LgZJLT.js +0 -1
- package/dist/client/assets/vala-1_TnBoKp.js +0 -1
- package/dist/client/assets/vala-CpbfXvML.js +0 -1
- package/dist/client/assets/vbnet-Bl26F7Jp.js +0 -1
- package/dist/client/assets/vbnet-vqH9_0Ma.js +0 -1
- package/dist/client/assets/vbscript-CXsWPnMk.js +0 -1
- package/dist/client/assets/vbscript-html-B6D_PN9T.js +0 -1
- package/dist/client/assets/vector_db_qa-Dl73pdLE.js +0 -9
- package/dist/client/assets/velocity-BovabnLc.js +0 -1
- package/dist/client/assets/verilog-DroIKKk3.js +0 -1
- package/dist/client/assets/verilog-VwZ_BUzH.js +0 -1
- package/dist/client/assets/vhdl-BiGLm3u6.js +0 -1
- package/dist/client/assets/vhdl-taMaJCau.js +0 -1
- package/dist/client/assets/vim-Bb-DygKM.js +0 -1
- package/dist/client/assets/vim-Xh36tdBL.js +0 -1
- package/dist/client/assets/visual-basic-D2m-ZC8T.js +0 -1
- package/dist/client/assets/warpscript-YLGBYh6G.js +0 -1
- package/dist/client/assets/wasm-BHWPsKqd.js +0 -1
- package/dist/client/assets/web-idl-9w-kVVy3.js +0 -1
- package/dist/client/assets/wiki-C4aEAQsg.js +0 -1
- package/dist/client/assets/wolfram-CJBoH9IO.js +0 -1
- package/dist/client/assets/wren-C8PfUac6.js +0 -1
- package/dist/client/assets/x86asm-C_x8h4KC.js +0 -1
- package/dist/client/assets/xeora-CEF6aMGJ.js +0 -1
- package/dist/client/assets/xl-33K-LjPn.js +0 -1
- package/dist/client/assets/xml-DjWiials.js +0 -1
- package/dist/client/assets/xml-doc-Bf_ueS1d.js +0 -1
- package/dist/client/assets/xojo-DPFQcYAC.js +0 -1
- package/dist/client/assets/xquery-CxdnVY9l.js +0 -1
- package/dist/client/assets/xquery-F0cAQCqq.js +0 -1
- package/dist/client/assets/yaml-BNSiEiNu.js +0 -1
- package/dist/client/assets/yaml-CKP_qo6T.js +0 -1
- package/dist/client/assets/yang-DnKFU7Us.js +0 -1
- package/dist/client/assets/zephir-Bn5eEsal.js +0 -1
- package/dist/client/assets/zig-BXjkkJwj.js +0 -1
- package/dist/client/assets/zodToJsonSchema-DueTETVe.js +0 -8
- package/dist/server/chunk-64PVSQ35.js +0 -115
- package/dist/server/chunk-DZLUQXCL.js +0 -238
- package/dist/server/chunk-HKRF4Q4G.js +0 -94
- package/dist/server/chunk-ITXAOTZI.js +0 -195
- package/dist/server/chunk-LLCPK3RJ.js +0 -124
- package/dist/server/chunk-PKBMQBKP.js +0 -7
- package/dist/server/chunk-WCF7WJPU.js +0 -211
- package/dist/server/mcp-inspector.d.ts +0 -26
- package/dist/server/mcp-inspector.d.ts.map +0 -1
- package/dist/server/mcp-inspector.js +0 -7
package/dist/cli.js
ADDED
|
@@ -0,0 +1,892 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
// src/server/cli.ts
|
|
4
|
+
import { serve } from "@hono/node-server";
|
|
5
|
+
import { Hono } from "hono";
|
|
6
|
+
import { cors } from "hono/cors";
|
|
7
|
+
import { logger } from "hono/logger";
|
|
8
|
+
import open from "open";
|
|
9
|
+
|
|
10
|
+
// src/server/shared-utils-browser.ts
|
|
11
|
+
function toBase64(str) {
|
|
12
|
+
if (typeof window !== "undefined" && typeof window.btoa === "function") {
|
|
13
|
+
return window.btoa(str);
|
|
14
|
+
}
|
|
15
|
+
if (typeof Buffer !== "undefined") {
|
|
16
|
+
return Buffer.from(str).toString("base64");
|
|
17
|
+
}
|
|
18
|
+
throw new Error("No base64 encoding method available");
|
|
19
|
+
}
|
|
20
|
+
async function* handleChatRequestStream(requestBody) {
|
|
21
|
+
const { mcpServerUrl, llmConfig, authConfig, messages } = requestBody;
|
|
22
|
+
if (!mcpServerUrl || !llmConfig || !messages) {
|
|
23
|
+
throw new Error("Missing required fields: mcpServerUrl, llmConfig, messages");
|
|
24
|
+
}
|
|
25
|
+
const { MCPAgent, MCPClient } = await import("mcp-use");
|
|
26
|
+
let llm;
|
|
27
|
+
if (llmConfig.provider === "openai") {
|
|
28
|
+
const { ChatOpenAI } = await import("@langchain/openai");
|
|
29
|
+
llm = new ChatOpenAI({
|
|
30
|
+
model: llmConfig.model,
|
|
31
|
+
apiKey: llmConfig.apiKey
|
|
32
|
+
});
|
|
33
|
+
} else if (llmConfig.provider === "anthropic") {
|
|
34
|
+
const { ChatAnthropic } = await import("@langchain/anthropic");
|
|
35
|
+
llm = new ChatAnthropic({
|
|
36
|
+
model: llmConfig.model,
|
|
37
|
+
apiKey: llmConfig.apiKey
|
|
38
|
+
});
|
|
39
|
+
} else if (llmConfig.provider === "google") {
|
|
40
|
+
const { ChatGoogleGenerativeAI } = await import("@langchain/google-genai");
|
|
41
|
+
llm = new ChatGoogleGenerativeAI({
|
|
42
|
+
model: llmConfig.model,
|
|
43
|
+
apiKey: llmConfig.apiKey
|
|
44
|
+
});
|
|
45
|
+
} else {
|
|
46
|
+
throw new Error(`Unsupported LLM provider: ${llmConfig.provider}`);
|
|
47
|
+
}
|
|
48
|
+
const client = new MCPClient();
|
|
49
|
+
const serverName = `inspector-${Date.now()}`;
|
|
50
|
+
const serverConfig = { url: mcpServerUrl };
|
|
51
|
+
if (authConfig && authConfig.type !== "none") {
|
|
52
|
+
serverConfig.headers = {};
|
|
53
|
+
if (authConfig.type === "basic" && authConfig.username && authConfig.password) {
|
|
54
|
+
const auth = toBase64(`${authConfig.username}:${authConfig.password}`);
|
|
55
|
+
serverConfig.headers.Authorization = `Basic ${auth}`;
|
|
56
|
+
} else if (authConfig.type === "bearer" && authConfig.token) {
|
|
57
|
+
serverConfig.headers.Authorization = `Bearer ${authConfig.token}`;
|
|
58
|
+
} else if (authConfig.type === "oauth") {
|
|
59
|
+
if (authConfig.oauthTokens?.access_token) {
|
|
60
|
+
const tokenType = authConfig.oauthTokens.token_type ? authConfig.oauthTokens.token_type.charAt(0).toUpperCase() + authConfig.oauthTokens.token_type.slice(1) : "Bearer";
|
|
61
|
+
serverConfig.headers.Authorization = `${tokenType} ${authConfig.oauthTokens.access_token}`;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
try {
|
|
66
|
+
const url = new URL(mcpServerUrl);
|
|
67
|
+
if (url.username && url.password && (!authConfig || authConfig.type === "none")) {
|
|
68
|
+
const auth = toBase64(`${url.username}:${url.password}`);
|
|
69
|
+
serverConfig.headers = serverConfig.headers || {};
|
|
70
|
+
serverConfig.headers.Authorization = `Basic ${auth}`;
|
|
71
|
+
serverConfig.url = `${url.protocol}//${url.host}${url.pathname}${url.search}`;
|
|
72
|
+
}
|
|
73
|
+
} catch (error) {
|
|
74
|
+
console.warn("Failed to parse MCP server URL for auth:", error);
|
|
75
|
+
}
|
|
76
|
+
client.addServer(serverName, serverConfig);
|
|
77
|
+
const agent = new MCPAgent({
|
|
78
|
+
llm,
|
|
79
|
+
client,
|
|
80
|
+
maxSteps: 10,
|
|
81
|
+
memoryEnabled: true,
|
|
82
|
+
systemPrompt: "You are a helpful assistant with access to MCP tools, prompts, and resources. Help users interact with the MCP server."
|
|
83
|
+
});
|
|
84
|
+
const lastUserMessage = messages.filter((msg) => msg.role === "user").pop();
|
|
85
|
+
if (!lastUserMessage) {
|
|
86
|
+
throw new Error("No user message found");
|
|
87
|
+
}
|
|
88
|
+
try {
|
|
89
|
+
const messageId = `msg-${Date.now()}`;
|
|
90
|
+
yield `data: ${JSON.stringify({ type: "message", id: messageId, role: "assistant" })}
|
|
91
|
+
|
|
92
|
+
`;
|
|
93
|
+
for await (const event of agent.streamEvents(lastUserMessage.content)) {
|
|
94
|
+
if (event.event === "on_chat_model_stream" && event.data?.chunk?.text) {
|
|
95
|
+
const text = event.data.chunk.text;
|
|
96
|
+
if (typeof text === "string" && text.length > 0) {
|
|
97
|
+
yield `data: ${JSON.stringify({ type: "text", id: messageId, content: text })}
|
|
98
|
+
|
|
99
|
+
`;
|
|
100
|
+
}
|
|
101
|
+
} else if (event.event === "on_tool_start") {
|
|
102
|
+
const toolCallId = `tool-${event.name}-${Date.now()}`;
|
|
103
|
+
yield `data: ${JSON.stringify({
|
|
104
|
+
type: "tool-call",
|
|
105
|
+
id: messageId,
|
|
106
|
+
toolCallId,
|
|
107
|
+
toolName: event.name,
|
|
108
|
+
args: event.data?.input || {}
|
|
109
|
+
})}
|
|
110
|
+
|
|
111
|
+
`;
|
|
112
|
+
} else if (event.event === "on_tool_end") {
|
|
113
|
+
const toolCallId = `tool-${event.name}-${Date.now()}`;
|
|
114
|
+
yield `data: ${JSON.stringify({
|
|
115
|
+
type: "tool-result",
|
|
116
|
+
id: messageId,
|
|
117
|
+
toolCallId,
|
|
118
|
+
toolName: event.name,
|
|
119
|
+
result: event.data?.output
|
|
120
|
+
})}
|
|
121
|
+
|
|
122
|
+
`;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
yield `data: ${JSON.stringify({ type: "done", id: messageId })}
|
|
126
|
+
|
|
127
|
+
`;
|
|
128
|
+
} finally {
|
|
129
|
+
await client.closeAllSessions();
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
async function handleChatRequest(requestBody) {
|
|
133
|
+
const { mcpServerUrl, llmConfig, authConfig, messages } = requestBody;
|
|
134
|
+
if (!mcpServerUrl || !llmConfig || !messages) {
|
|
135
|
+
throw new Error("Missing required fields: mcpServerUrl, llmConfig, messages");
|
|
136
|
+
}
|
|
137
|
+
const { MCPAgent, MCPClient } = await import("mcp-use");
|
|
138
|
+
let llm;
|
|
139
|
+
if (llmConfig.provider === "openai") {
|
|
140
|
+
const { ChatOpenAI } = await import("@langchain/openai");
|
|
141
|
+
llm = new ChatOpenAI({
|
|
142
|
+
model: llmConfig.model,
|
|
143
|
+
apiKey: llmConfig.apiKey
|
|
144
|
+
});
|
|
145
|
+
} else if (llmConfig.provider === "anthropic") {
|
|
146
|
+
const { ChatAnthropic } = await import("@langchain/anthropic");
|
|
147
|
+
llm = new ChatAnthropic({
|
|
148
|
+
model: llmConfig.model,
|
|
149
|
+
apiKey: llmConfig.apiKey
|
|
150
|
+
});
|
|
151
|
+
} else if (llmConfig.provider === "google") {
|
|
152
|
+
const { ChatGoogleGenerativeAI } = await import("@langchain/google-genai");
|
|
153
|
+
llm = new ChatGoogleGenerativeAI({
|
|
154
|
+
model: llmConfig.model,
|
|
155
|
+
apiKey: llmConfig.apiKey
|
|
156
|
+
});
|
|
157
|
+
} else {
|
|
158
|
+
throw new Error(`Unsupported LLM provider: ${llmConfig.provider}`);
|
|
159
|
+
}
|
|
160
|
+
const client = new MCPClient();
|
|
161
|
+
const serverName = `inspector-${Date.now()}`;
|
|
162
|
+
const serverConfig = { url: mcpServerUrl };
|
|
163
|
+
if (authConfig && authConfig.type !== "none") {
|
|
164
|
+
serverConfig.headers = {};
|
|
165
|
+
if (authConfig.type === "basic" && authConfig.username && authConfig.password) {
|
|
166
|
+
const auth = toBase64(`${authConfig.username}:${authConfig.password}`);
|
|
167
|
+
serverConfig.headers.Authorization = `Basic ${auth}`;
|
|
168
|
+
} else if (authConfig.type === "bearer" && authConfig.token) {
|
|
169
|
+
serverConfig.headers.Authorization = `Bearer ${authConfig.token}`;
|
|
170
|
+
} else if (authConfig.type === "oauth") {
|
|
171
|
+
if (authConfig.oauthTokens?.access_token) {
|
|
172
|
+
const tokenType = authConfig.oauthTokens.token_type ? authConfig.oauthTokens.token_type.charAt(0).toUpperCase() + authConfig.oauthTokens.token_type.slice(1) : "Bearer";
|
|
173
|
+
serverConfig.headers.Authorization = `${tokenType} ${authConfig.oauthTokens.access_token}`;
|
|
174
|
+
console.log("Using OAuth access token for MCP server authentication");
|
|
175
|
+
console.log("Authorization header:", `${tokenType} ${authConfig.oauthTokens.access_token.substring(0, 20)}...`);
|
|
176
|
+
} else {
|
|
177
|
+
console.warn("OAuth selected but no access token provided");
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
try {
|
|
182
|
+
const url = new URL(mcpServerUrl);
|
|
183
|
+
if (url.username && url.password && (!authConfig || authConfig.type === "none")) {
|
|
184
|
+
const auth = toBase64(`${url.username}:${url.password}`);
|
|
185
|
+
serverConfig.headers = serverConfig.headers || {};
|
|
186
|
+
serverConfig.headers.Authorization = `Basic ${auth}`;
|
|
187
|
+
serverConfig.url = `${url.protocol}//${url.host}${url.pathname}${url.search}`;
|
|
188
|
+
}
|
|
189
|
+
} catch (error) {
|
|
190
|
+
console.warn("Failed to parse MCP server URL for auth:", error);
|
|
191
|
+
}
|
|
192
|
+
console.log("Adding server with config:", {
|
|
193
|
+
url: serverConfig.url,
|
|
194
|
+
hasHeaders: !!serverConfig.headers,
|
|
195
|
+
headers: serverConfig.headers
|
|
196
|
+
});
|
|
197
|
+
client.addServer(serverName, serverConfig);
|
|
198
|
+
const agent = new MCPAgent({
|
|
199
|
+
llm,
|
|
200
|
+
client,
|
|
201
|
+
maxSteps: 10,
|
|
202
|
+
memoryEnabled: true,
|
|
203
|
+
systemPrompt: "You are a helpful assistant with access to MCP tools, prompts, and resources. Help users interact with the MCP server."
|
|
204
|
+
});
|
|
205
|
+
const lastUserMessage = messages.filter((msg) => msg.role === "user").pop();
|
|
206
|
+
if (!lastUserMessage) {
|
|
207
|
+
throw new Error("No user message found");
|
|
208
|
+
}
|
|
209
|
+
const response = await agent.run(lastUserMessage.content);
|
|
210
|
+
await client.closeAllSessions();
|
|
211
|
+
return {
|
|
212
|
+
content: response,
|
|
213
|
+
toolCalls: []
|
|
214
|
+
};
|
|
215
|
+
}
|
|
216
|
+
var widgetDataStore = /* @__PURE__ */ new Map();
|
|
217
|
+
setInterval(
|
|
218
|
+
() => {
|
|
219
|
+
const now = Date.now();
|
|
220
|
+
const ONE_HOUR = 60 * 60 * 1e3;
|
|
221
|
+
for (const [toolId, data] of widgetDataStore.entries()) {
|
|
222
|
+
if (now - data.timestamp > ONE_HOUR) {
|
|
223
|
+
widgetDataStore.delete(toolId);
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
},
|
|
227
|
+
5 * 60 * 1e3
|
|
228
|
+
).unref();
|
|
229
|
+
function storeWidgetData(data) {
|
|
230
|
+
const { serverId, uri, toolInput, toolOutput, resourceData, toolId } = data;
|
|
231
|
+
console.log("[Widget Store] Received request for toolId:", toolId);
|
|
232
|
+
console.log("[Widget Store] Fields:", { serverId, uri, hasResourceData: !!resourceData, hasToolInput: !!toolInput, hasToolOutput: !!toolOutput });
|
|
233
|
+
if (!serverId || !uri || !toolId || !resourceData) {
|
|
234
|
+
const missingFields = [];
|
|
235
|
+
if (!serverId)
|
|
236
|
+
missingFields.push("serverId");
|
|
237
|
+
if (!uri)
|
|
238
|
+
missingFields.push("uri");
|
|
239
|
+
if (!toolId)
|
|
240
|
+
missingFields.push("toolId");
|
|
241
|
+
if (!resourceData)
|
|
242
|
+
missingFields.push("resourceData");
|
|
243
|
+
console.error("[Widget Store] Missing required fields:", missingFields);
|
|
244
|
+
return { success: false, error: `Missing required fields: ${missingFields.join(", ")}` };
|
|
245
|
+
}
|
|
246
|
+
widgetDataStore.set(toolId, {
|
|
247
|
+
serverId,
|
|
248
|
+
uri,
|
|
249
|
+
toolInput,
|
|
250
|
+
toolOutput,
|
|
251
|
+
resourceData,
|
|
252
|
+
toolId,
|
|
253
|
+
timestamp: Date.now()
|
|
254
|
+
});
|
|
255
|
+
console.log("[Widget Store] Data stored successfully for toolId:", toolId);
|
|
256
|
+
return { success: true };
|
|
257
|
+
}
|
|
258
|
+
function getWidgetData(toolId) {
|
|
259
|
+
return widgetDataStore.get(toolId);
|
|
260
|
+
}
|
|
261
|
+
function generateWidgetContainerHtml(basePath, toolId) {
|
|
262
|
+
return `
|
|
263
|
+
<!DOCTYPE html>
|
|
264
|
+
<html>
|
|
265
|
+
<head>
|
|
266
|
+
<meta charset="utf-8">
|
|
267
|
+
<title>Loading Widget...</title>
|
|
268
|
+
</head>
|
|
269
|
+
<body>
|
|
270
|
+
<script>
|
|
271
|
+
(async function() {
|
|
272
|
+
try {
|
|
273
|
+
// Change URL to "/" BEFORE loading widget (for React Router)
|
|
274
|
+
history.replaceState(null, '', '/');
|
|
275
|
+
|
|
276
|
+
// Fetch the actual widget HTML using toolId
|
|
277
|
+
const response = await fetch('${basePath}/api/resources/widget-content/${toolId}');
|
|
278
|
+
const html = await response.text();
|
|
279
|
+
|
|
280
|
+
// Replace entire document with widget HTML using proper method
|
|
281
|
+
document.open();
|
|
282
|
+
// Write the HTML content - the browser will parse it properly
|
|
283
|
+
document.write(html);
|
|
284
|
+
document.close();
|
|
285
|
+
} catch (error) {
|
|
286
|
+
console.error('Failed to load widget:', error);
|
|
287
|
+
document.body.innerHTML = '<div style="padding: 20px; color: red;">Failed to load widget: ' + error.message + '</div>';
|
|
288
|
+
}
|
|
289
|
+
})();
|
|
290
|
+
</script>
|
|
291
|
+
</body>
|
|
292
|
+
</html>
|
|
293
|
+
`;
|
|
294
|
+
}
|
|
295
|
+
function generateWidgetContentHtml(widgetData) {
|
|
296
|
+
const { serverId, uri, toolInput, toolOutput, resourceData, toolId } = widgetData;
|
|
297
|
+
console.log("[Widget Content] Using pre-fetched resource for:", { serverId, uri });
|
|
298
|
+
let htmlContent = "";
|
|
299
|
+
const contentsArray = Array.isArray(resourceData?.contents) ? resourceData.contents : [];
|
|
300
|
+
const firstContent = contentsArray[0];
|
|
301
|
+
if (firstContent) {
|
|
302
|
+
if (typeof firstContent.text === "string") {
|
|
303
|
+
htmlContent = firstContent.text;
|
|
304
|
+
} else if (typeof firstContent.blob === "string") {
|
|
305
|
+
htmlContent = firstContent.blob;
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
if (!htmlContent && resourceData && typeof resourceData === "object") {
|
|
309
|
+
const recordContent = resourceData;
|
|
310
|
+
if (typeof recordContent.text === "string") {
|
|
311
|
+
htmlContent = recordContent.text;
|
|
312
|
+
} else if (typeof recordContent.blob === "string") {
|
|
313
|
+
htmlContent = recordContent.blob;
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
if (!htmlContent) {
|
|
317
|
+
return { html: "", error: "No HTML content found" };
|
|
318
|
+
}
|
|
319
|
+
const widgetStateKey = `openai-widget-state:${toolId}`;
|
|
320
|
+
const safeToolInput = JSON.stringify(toolInput).replace(/</g, "\\u003c").replace(/>/g, "\\u003e");
|
|
321
|
+
const safeToolOutput = JSON.stringify(toolOutput).replace(/</g, "\\u003c").replace(/>/g, "\\u003e");
|
|
322
|
+
const safeToolId = JSON.stringify(toolId);
|
|
323
|
+
const safeWidgetStateKey = JSON.stringify(widgetStateKey);
|
|
324
|
+
const apiScript = `
|
|
325
|
+
<script>
|
|
326
|
+
(function() {
|
|
327
|
+
'use strict';
|
|
328
|
+
|
|
329
|
+
// Change URL to "/" for React Router compatibility
|
|
330
|
+
if (window.location.pathname !== '/') {
|
|
331
|
+
history.replaceState(null, '', '/');
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
const openaiAPI = {
|
|
335
|
+
toolInput: ${safeToolInput},
|
|
336
|
+
toolOutput: ${safeToolOutput},
|
|
337
|
+
displayMode: 'inline',
|
|
338
|
+
maxHeight: 600,
|
|
339
|
+
theme: 'dark',
|
|
340
|
+
locale: 'en-US',
|
|
341
|
+
safeArea: { insets: { top: 0, bottom: 0, left: 0, right: 0 } },
|
|
342
|
+
userAgent: {},
|
|
343
|
+
widgetState: null,
|
|
344
|
+
|
|
345
|
+
async setWidgetState(state) {
|
|
346
|
+
this.widgetState = state;
|
|
347
|
+
try {
|
|
348
|
+
localStorage.setItem(${safeWidgetStateKey}, JSON.stringify(state));
|
|
349
|
+
} catch (err) {
|
|
350
|
+
console.error('[OpenAI Widget] Failed to save widget state:', err);
|
|
351
|
+
}
|
|
352
|
+
window.parent.postMessage({
|
|
353
|
+
type: 'openai:setWidgetState',
|
|
354
|
+
toolId: ${safeToolId},
|
|
355
|
+
state
|
|
356
|
+
}, '*');
|
|
357
|
+
},
|
|
358
|
+
|
|
359
|
+
async callTool(toolName, params = {}) {
|
|
360
|
+
return new Promise((resolve, reject) => {
|
|
361
|
+
const requestId = \`tool_\${Date.now()}_\${Math.random()}\`;
|
|
362
|
+
const handler = (event) => {
|
|
363
|
+
if (event.data.type === 'openai:callTool:response' &&
|
|
364
|
+
event.data.requestId === requestId) {
|
|
365
|
+
window.removeEventListener('message', handler);
|
|
366
|
+
if (event.data.error) {
|
|
367
|
+
reject(new Error(event.data.error));
|
|
368
|
+
} else {
|
|
369
|
+
resolve(event.data.result);
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
};
|
|
373
|
+
window.addEventListener('message', handler);
|
|
374
|
+
window.parent.postMessage({
|
|
375
|
+
type: 'openai:callTool',
|
|
376
|
+
requestId,
|
|
377
|
+
toolName,
|
|
378
|
+
params
|
|
379
|
+
}, '*');
|
|
380
|
+
setTimeout(() => {
|
|
381
|
+
window.removeEventListener('message', handler);
|
|
382
|
+
reject(new Error('Tool call timeout'));
|
|
383
|
+
}, 30000);
|
|
384
|
+
});
|
|
385
|
+
},
|
|
386
|
+
|
|
387
|
+
async sendFollowupTurn(message) {
|
|
388
|
+
const payload = typeof message === 'string'
|
|
389
|
+
? { prompt: message }
|
|
390
|
+
: message;
|
|
391
|
+
window.parent.postMessage({
|
|
392
|
+
type: 'openai:sendFollowup',
|
|
393
|
+
message: payload.prompt || payload
|
|
394
|
+
}, '*');
|
|
395
|
+
},
|
|
396
|
+
|
|
397
|
+
async requestDisplayMode(options = {}) {
|
|
398
|
+
const mode = options.mode || 'inline';
|
|
399
|
+
this.displayMode = mode;
|
|
400
|
+
window.parent.postMessage({
|
|
401
|
+
type: 'openai:requestDisplayMode',
|
|
402
|
+
mode
|
|
403
|
+
}, '*');
|
|
404
|
+
return { mode };
|
|
405
|
+
},
|
|
406
|
+
|
|
407
|
+
async sendFollowUpMessage(args) {
|
|
408
|
+
const prompt = typeof args === 'string' ? args : (args?.prompt || '');
|
|
409
|
+
return this.sendFollowupTurn(prompt);
|
|
410
|
+
}
|
|
411
|
+
};
|
|
412
|
+
|
|
413
|
+
Object.defineProperty(window, 'openai', {
|
|
414
|
+
value: openaiAPI,
|
|
415
|
+
writable: false,
|
|
416
|
+
configurable: false,
|
|
417
|
+
enumerable: true
|
|
418
|
+
});
|
|
419
|
+
|
|
420
|
+
Object.defineProperty(window, 'webplus', {
|
|
421
|
+
value: openaiAPI,
|
|
422
|
+
writable: false,
|
|
423
|
+
configurable: false,
|
|
424
|
+
enumerable: true
|
|
425
|
+
});
|
|
426
|
+
|
|
427
|
+
setTimeout(() => {
|
|
428
|
+
try {
|
|
429
|
+
const globalsEvent = new CustomEvent('webplus:set_globals', {
|
|
430
|
+
detail: {
|
|
431
|
+
globals: {
|
|
432
|
+
displayMode: openaiAPI.displayMode,
|
|
433
|
+
maxHeight: openaiAPI.maxHeight,
|
|
434
|
+
theme: openaiAPI.theme,
|
|
435
|
+
locale: openaiAPI.locale,
|
|
436
|
+
safeArea: openaiAPI.safeArea,
|
|
437
|
+
userAgent: openaiAPI.userAgent
|
|
438
|
+
}
|
|
439
|
+
}
|
|
440
|
+
});
|
|
441
|
+
window.dispatchEvent(globalsEvent);
|
|
442
|
+
} catch (err) {}
|
|
443
|
+
}, 0);
|
|
444
|
+
|
|
445
|
+
setTimeout(() => {
|
|
446
|
+
try {
|
|
447
|
+
const stored = localStorage.getItem(${safeWidgetStateKey});
|
|
448
|
+
if (stored && window.openai) {
|
|
449
|
+
window.openai.widgetState = JSON.parse(stored);
|
|
450
|
+
}
|
|
451
|
+
} catch (err) {}
|
|
452
|
+
}, 0);
|
|
453
|
+
})();
|
|
454
|
+
</script>
|
|
455
|
+
`;
|
|
456
|
+
let modifiedHtml;
|
|
457
|
+
if (htmlContent.includes("<html>") && htmlContent.includes("<head>")) {
|
|
458
|
+
modifiedHtml = htmlContent.replace(
|
|
459
|
+
"<head>",
|
|
460
|
+
`<head><base href="/">${apiScript}`
|
|
461
|
+
);
|
|
462
|
+
} else {
|
|
463
|
+
modifiedHtml = `<!DOCTYPE html>
|
|
464
|
+
<html>
|
|
465
|
+
<head>
|
|
466
|
+
<base href="/">
|
|
467
|
+
<meta charset="UTF-8">
|
|
468
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
469
|
+
${apiScript}
|
|
470
|
+
<title>Widget</title>
|
|
471
|
+
</head>
|
|
472
|
+
<body>
|
|
473
|
+
${htmlContent}
|
|
474
|
+
</body>
|
|
475
|
+
</html>`;
|
|
476
|
+
}
|
|
477
|
+
console.log("[Widget Content] Generated HTML length:", modifiedHtml.length);
|
|
478
|
+
return { html: modifiedHtml };
|
|
479
|
+
}
|
|
480
|
+
function getWidgetSecurityHeaders() {
|
|
481
|
+
const trustedCdns = [
|
|
482
|
+
"https://persistent.oaistatic.com",
|
|
483
|
+
"https://*.oaistatic.com",
|
|
484
|
+
"https://unpkg.com",
|
|
485
|
+
"https://cdn.jsdelivr.net",
|
|
486
|
+
"https://cdnjs.cloudflare.com",
|
|
487
|
+
"https://cdn.skypack.dev"
|
|
488
|
+
].join(" ");
|
|
489
|
+
return {
|
|
490
|
+
"Content-Security-Policy": [
|
|
491
|
+
"default-src 'self'",
|
|
492
|
+
`script-src 'self' 'unsafe-inline' 'unsafe-eval' ${trustedCdns}`,
|
|
493
|
+
"worker-src 'self' blob:",
|
|
494
|
+
"child-src 'self' blob:",
|
|
495
|
+
`style-src 'self' 'unsafe-inline' ${trustedCdns}`,
|
|
496
|
+
"img-src 'self' data: https: blob:",
|
|
497
|
+
"media-src 'self' data: https: blob:",
|
|
498
|
+
`font-src 'self' data: ${trustedCdns}`,
|
|
499
|
+
"connect-src 'self' https: wss: ws:",
|
|
500
|
+
"frame-ancestors 'self'"
|
|
501
|
+
].join("; "),
|
|
502
|
+
"X-Frame-Options": "SAMEORIGIN",
|
|
503
|
+
"X-Content-Type-Options": "nosniff",
|
|
504
|
+
"Cache-Control": "no-cache, no-store, must-revalidate",
|
|
505
|
+
"Pragma": "no-cache",
|
|
506
|
+
"Expires": "0"
|
|
507
|
+
};
|
|
508
|
+
}
|
|
509
|
+
|
|
510
|
+
// src/server/utils.ts
|
|
511
|
+
function isValidUrl(urlString) {
|
|
512
|
+
try {
|
|
513
|
+
const url = new URL(urlString);
|
|
514
|
+
return url.protocol === "http:" || url.protocol === "https:" || url.protocol === "ws:" || url.protocol === "wss:";
|
|
515
|
+
} catch {
|
|
516
|
+
return false;
|
|
517
|
+
}
|
|
518
|
+
}
|
|
519
|
+
async function findAvailablePort(startPort2 = 8080, maxAttempts = 100) {
|
|
520
|
+
const net = await import("net");
|
|
521
|
+
for (let port = startPort2; port < startPort2 + maxAttempts; port++) {
|
|
522
|
+
try {
|
|
523
|
+
await new Promise((resolve, reject) => {
|
|
524
|
+
const server = net.createServer();
|
|
525
|
+
server.listen(port, () => {
|
|
526
|
+
server.close(() => resolve());
|
|
527
|
+
});
|
|
528
|
+
server.on("error", (err) => reject(err));
|
|
529
|
+
});
|
|
530
|
+
return port;
|
|
531
|
+
} catch {
|
|
532
|
+
continue;
|
|
533
|
+
}
|
|
534
|
+
}
|
|
535
|
+
throw new Error(`No available port found after trying ${maxAttempts} ports starting from ${startPort2}`);
|
|
536
|
+
}
|
|
537
|
+
function formatErrorResponse(error, context) {
|
|
538
|
+
const timestamp = (/* @__PURE__ */ new Date()).toISOString();
|
|
539
|
+
const errorMessage = error instanceof Error ? error.message : "Unknown error";
|
|
540
|
+
const errorStack = error instanceof Error ? error.stack : void 0;
|
|
541
|
+
console.error(`[${timestamp}] Error in ${context}:`, {
|
|
542
|
+
message: errorMessage,
|
|
543
|
+
stack: errorStack
|
|
544
|
+
});
|
|
545
|
+
return {
|
|
546
|
+
error: errorMessage,
|
|
547
|
+
context,
|
|
548
|
+
timestamp,
|
|
549
|
+
// Only include stack in development mode
|
|
550
|
+
...process.env.NODE_ENV === "development" && errorStack ? { stack: errorStack } : {}
|
|
551
|
+
};
|
|
552
|
+
}
|
|
553
|
+
|
|
554
|
+
// src/server/shared-routes.ts
|
|
555
|
+
function registerInspectorRoutes(app2, config) {
|
|
556
|
+
app2.get("/inspector/health", (c) => {
|
|
557
|
+
return c.json({ status: "ok", timestamp: (/* @__PURE__ */ new Date()).toISOString() });
|
|
558
|
+
});
|
|
559
|
+
app2.all("/inspector/api/proxy/*", async (c) => {
|
|
560
|
+
try {
|
|
561
|
+
const targetUrl = c.req.header("X-Target-URL");
|
|
562
|
+
if (!targetUrl) {
|
|
563
|
+
return c.json({ error: "X-Target-URL header is required" }, 400);
|
|
564
|
+
}
|
|
565
|
+
const method = c.req.method;
|
|
566
|
+
const headers = {};
|
|
567
|
+
const requestHeaders = c.req.header();
|
|
568
|
+
for (const [key, value] of Object.entries(requestHeaders)) {
|
|
569
|
+
if (!key.toLowerCase().startsWith("x-proxy-") && !key.toLowerCase().startsWith("x-target-") && key.toLowerCase() !== "host") {
|
|
570
|
+
headers[key] = value;
|
|
571
|
+
}
|
|
572
|
+
}
|
|
573
|
+
try {
|
|
574
|
+
const targetUrlObj = new URL(targetUrl);
|
|
575
|
+
headers.Host = targetUrlObj.host;
|
|
576
|
+
} catch {
|
|
577
|
+
return c.json({ error: "Invalid target URL" }, 400);
|
|
578
|
+
}
|
|
579
|
+
const body = method !== "GET" && method !== "HEAD" ? await c.req.arrayBuffer() : void 0;
|
|
580
|
+
const response = await fetch(targetUrl, {
|
|
581
|
+
method,
|
|
582
|
+
headers,
|
|
583
|
+
body: body ? new Uint8Array(body) : void 0
|
|
584
|
+
});
|
|
585
|
+
const responseHeaders = {};
|
|
586
|
+
response.headers.forEach((value, key) => {
|
|
587
|
+
responseHeaders[key] = value;
|
|
588
|
+
});
|
|
589
|
+
return new Response(response.body, {
|
|
590
|
+
status: response.status,
|
|
591
|
+
statusText: response.statusText,
|
|
592
|
+
headers: responseHeaders
|
|
593
|
+
});
|
|
594
|
+
} catch (error) {
|
|
595
|
+
const message = error instanceof Error ? error.message : "Unknown error";
|
|
596
|
+
console.error("Proxy request failed:", message, error);
|
|
597
|
+
return c.json({ error: "Proxy request failed", details: message }, 500);
|
|
598
|
+
}
|
|
599
|
+
});
|
|
600
|
+
app2.post("/inspector/api/chat/stream", async (c) => {
|
|
601
|
+
try {
|
|
602
|
+
const requestBody = await c.req.json();
|
|
603
|
+
const { readable, writable } = new globalThis.TransformStream();
|
|
604
|
+
const writer = writable.getWriter();
|
|
605
|
+
const encoder = new TextEncoder();
|
|
606
|
+
(async () => {
|
|
607
|
+
try {
|
|
608
|
+
for await (const chunk of handleChatRequestStream(requestBody)) {
|
|
609
|
+
await writer.write(encoder.encode(chunk));
|
|
610
|
+
}
|
|
611
|
+
} catch (error) {
|
|
612
|
+
const errorMsg = `${JSON.stringify({
|
|
613
|
+
type: "error",
|
|
614
|
+
data: { message: error instanceof Error ? error.message : "Unknown error" }
|
|
615
|
+
})}
|
|
616
|
+
`;
|
|
617
|
+
await writer.write(encoder.encode(errorMsg));
|
|
618
|
+
} finally {
|
|
619
|
+
await writer.close();
|
|
620
|
+
}
|
|
621
|
+
})();
|
|
622
|
+
return new Response(readable, {
|
|
623
|
+
headers: {
|
|
624
|
+
"Content-Type": "text/event-stream",
|
|
625
|
+
"Cache-Control": "no-cache",
|
|
626
|
+
"Connection": "keep-alive"
|
|
627
|
+
}
|
|
628
|
+
});
|
|
629
|
+
} catch (error) {
|
|
630
|
+
return c.json(formatErrorResponse(error, "handleChatRequestStream"), 500);
|
|
631
|
+
}
|
|
632
|
+
});
|
|
633
|
+
app2.post("/inspector/api/chat", async (c) => {
|
|
634
|
+
try {
|
|
635
|
+
const requestBody = await c.req.json();
|
|
636
|
+
const result = await handleChatRequest(requestBody);
|
|
637
|
+
return c.json(result);
|
|
638
|
+
} catch (error) {
|
|
639
|
+
return c.json(formatErrorResponse(error, "handleChatRequest"), 500);
|
|
640
|
+
}
|
|
641
|
+
});
|
|
642
|
+
app2.post("/inspector/api/resources/widget/store", async (c) => {
|
|
643
|
+
try {
|
|
644
|
+
const body = await c.req.json();
|
|
645
|
+
const result = storeWidgetData(body);
|
|
646
|
+
if (!result.success) {
|
|
647
|
+
return c.json(result, 400);
|
|
648
|
+
}
|
|
649
|
+
return c.json(result);
|
|
650
|
+
} catch (error) {
|
|
651
|
+
console.error("[Widget Store] Error:", error);
|
|
652
|
+
console.error("[Widget Store] Stack:", error instanceof Error ? error.stack : "");
|
|
653
|
+
return c.json(formatErrorResponse(error, "storeWidgetData"), 500);
|
|
654
|
+
}
|
|
655
|
+
});
|
|
656
|
+
app2.get("/inspector/api/resources/widget/:toolId", async (c) => {
|
|
657
|
+
const toolId = c.req.param("toolId");
|
|
658
|
+
const widgetData = getWidgetData(toolId);
|
|
659
|
+
if (!widgetData) {
|
|
660
|
+
return c.html(
|
|
661
|
+
"<html><body>Error: Widget data not found or expired</body></html>",
|
|
662
|
+
404
|
|
663
|
+
);
|
|
664
|
+
}
|
|
665
|
+
return c.html(generateWidgetContainerHtml("/inspector", toolId));
|
|
666
|
+
});
|
|
667
|
+
app2.get("/inspector/api/resources/widget-content/:toolId", async (c) => {
|
|
668
|
+
try {
|
|
669
|
+
const toolId = c.req.param("toolId");
|
|
670
|
+
const widgetData = getWidgetData(toolId);
|
|
671
|
+
if (!widgetData) {
|
|
672
|
+
console.error("[Widget Content] Widget data not found for toolId:", toolId);
|
|
673
|
+
return c.html(
|
|
674
|
+
"<html><body>Error: Widget data not found or expired</body></html>",
|
|
675
|
+
404
|
|
676
|
+
);
|
|
677
|
+
}
|
|
678
|
+
const result = generateWidgetContentHtml(widgetData);
|
|
679
|
+
if (result.error) {
|
|
680
|
+
return c.html(`<html><body>Error: ${result.error}</body></html>`, 404);
|
|
681
|
+
}
|
|
682
|
+
const headers = getWidgetSecurityHeaders();
|
|
683
|
+
Object.entries(headers).forEach(([key, value]) => {
|
|
684
|
+
c.header(key, value);
|
|
685
|
+
});
|
|
686
|
+
return c.html(result.html);
|
|
687
|
+
} catch (error) {
|
|
688
|
+
console.error("[Widget Content] Error:", error);
|
|
689
|
+
const errorMessage = error instanceof Error ? error.message : "Unknown error";
|
|
690
|
+
const errorStack = error instanceof Error ? error.stack : "";
|
|
691
|
+
console.error("[Widget Content] Stack:", errorStack);
|
|
692
|
+
return c.html(
|
|
693
|
+
`<html><body>Error: ${errorMessage}</body></html>`,
|
|
694
|
+
500
|
|
695
|
+
);
|
|
696
|
+
}
|
|
697
|
+
});
|
|
698
|
+
app2.get("/inspector/config.json", (c) => {
|
|
699
|
+
return c.json({
|
|
700
|
+
autoConnectUrl: config?.autoConnectUrl || null
|
|
701
|
+
});
|
|
702
|
+
});
|
|
703
|
+
}
|
|
704
|
+
|
|
705
|
+
// src/server/shared-static.ts
|
|
706
|
+
import { existsSync as existsSync2, readFileSync } from "fs";
|
|
707
|
+
import { join as join2 } from "path";
|
|
708
|
+
|
|
709
|
+
// src/server/shared-utils.ts
|
|
710
|
+
import { Buffer as Buffer2 } from "buffer";
|
|
711
|
+
import { existsSync } from "fs";
|
|
712
|
+
import { dirname, join } from "path";
|
|
713
|
+
import { fileURLToPath } from "url";
|
|
714
|
+
function getContentType(filePath) {
|
|
715
|
+
if (filePath.endsWith(".js")) {
|
|
716
|
+
return "application/javascript";
|
|
717
|
+
} else if (filePath.endsWith(".css")) {
|
|
718
|
+
return "text/css";
|
|
719
|
+
} else if (filePath.endsWith(".svg")) {
|
|
720
|
+
return "image/svg+xml";
|
|
721
|
+
} else if (filePath.endsWith(".html")) {
|
|
722
|
+
return "text/html";
|
|
723
|
+
} else if (filePath.endsWith(".json")) {
|
|
724
|
+
return "application/json";
|
|
725
|
+
} else if (filePath.endsWith(".png")) {
|
|
726
|
+
return "image/png";
|
|
727
|
+
} else if (filePath.endsWith(".jpg") || filePath.endsWith(".jpeg")) {
|
|
728
|
+
return "image/jpeg";
|
|
729
|
+
} else if (filePath.endsWith(".ico")) {
|
|
730
|
+
return "image/x-icon";
|
|
731
|
+
} else {
|
|
732
|
+
return "application/octet-stream";
|
|
733
|
+
}
|
|
734
|
+
}
|
|
735
|
+
function checkClientFiles(clientDistPath) {
|
|
736
|
+
return existsSync(clientDistPath);
|
|
737
|
+
}
|
|
738
|
+
function getClientDistPath() {
|
|
739
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
740
|
+
const __dirname = dirname(__filename);
|
|
741
|
+
if (__dirname.endsWith("dist") || __dirname.endsWith("dist/")) {
|
|
742
|
+
return join(__dirname, "client");
|
|
743
|
+
}
|
|
744
|
+
return join(__dirname, "../client");
|
|
745
|
+
}
|
|
746
|
+
var widgetDataStore2 = /* @__PURE__ */ new Map();
|
|
747
|
+
setInterval(
|
|
748
|
+
() => {
|
|
749
|
+
const now = Date.now();
|
|
750
|
+
const ONE_HOUR = 60 * 60 * 1e3;
|
|
751
|
+
for (const [toolId, data] of widgetDataStore2.entries()) {
|
|
752
|
+
if (now - data.timestamp > ONE_HOUR) {
|
|
753
|
+
widgetDataStore2.delete(toolId);
|
|
754
|
+
}
|
|
755
|
+
}
|
|
756
|
+
},
|
|
757
|
+
5 * 60 * 1e3
|
|
758
|
+
).unref();
|
|
759
|
+
|
|
760
|
+
// src/server/shared-static.ts
|
|
761
|
+
function registerStaticRoutes(app2, clientDistPath) {
|
|
762
|
+
const distPath = clientDistPath || getClientDistPath();
|
|
763
|
+
if (!checkClientFiles(distPath)) {
|
|
764
|
+
console.warn(`\u26A0\uFE0F MCP Inspector client files not found at ${distPath}`);
|
|
765
|
+
console.warn(` Run 'yarn build' in the inspector package to build the UI`);
|
|
766
|
+
app2.get("*", (c) => {
|
|
767
|
+
return c.html(`
|
|
768
|
+
<!DOCTYPE html>
|
|
769
|
+
<html>
|
|
770
|
+
<head>
|
|
771
|
+
<title>MCP Inspector</title>
|
|
772
|
+
</head>
|
|
773
|
+
<body>
|
|
774
|
+
<h1>MCP Inspector</h1>
|
|
775
|
+
<p>Client files not found. Please run 'yarn build' to build the UI.</p>
|
|
776
|
+
</body>
|
|
777
|
+
</html>
|
|
778
|
+
`);
|
|
779
|
+
});
|
|
780
|
+
return;
|
|
781
|
+
}
|
|
782
|
+
app2.get("/inspector/assets/*", (c) => {
|
|
783
|
+
const path = c.req.path.replace("/inspector/assets/", "assets/");
|
|
784
|
+
const fullPath = join2(distPath, path);
|
|
785
|
+
if (existsSync2(fullPath)) {
|
|
786
|
+
const content = readFileSync(fullPath);
|
|
787
|
+
const contentType = getContentType(fullPath);
|
|
788
|
+
c.header("Content-Type", contentType);
|
|
789
|
+
return c.body(content);
|
|
790
|
+
}
|
|
791
|
+
return c.notFound();
|
|
792
|
+
});
|
|
793
|
+
app2.get("/", (c) => {
|
|
794
|
+
return c.redirect("/inspector");
|
|
795
|
+
});
|
|
796
|
+
app2.get("*", (c) => {
|
|
797
|
+
const indexPath = join2(distPath, "index.html");
|
|
798
|
+
if (existsSync2(indexPath)) {
|
|
799
|
+
const content = readFileSync(indexPath, "utf-8");
|
|
800
|
+
return c.html(content);
|
|
801
|
+
}
|
|
802
|
+
return c.html(`
|
|
803
|
+
<!DOCTYPE html>
|
|
804
|
+
<html>
|
|
805
|
+
<head>
|
|
806
|
+
<title>MCP Inspector</title>
|
|
807
|
+
</head>
|
|
808
|
+
<body>
|
|
809
|
+
<h1>MCP Inspector</h1>
|
|
810
|
+
<p>Client files not found. Please run 'yarn build' to build the UI.</p>
|
|
811
|
+
</body>
|
|
812
|
+
</html>
|
|
813
|
+
`);
|
|
814
|
+
});
|
|
815
|
+
}
|
|
816
|
+
|
|
817
|
+
// src/server/cli.ts
|
|
818
|
+
var args = process.argv.slice(2);
|
|
819
|
+
var mcpUrl;
|
|
820
|
+
var startPort = 8080;
|
|
821
|
+
for (let i = 0; i < args.length; i++) {
|
|
822
|
+
if (args[i] === "--url" && i + 1 < args.length) {
|
|
823
|
+
const url = args[i + 1];
|
|
824
|
+
if (!isValidUrl(url)) {
|
|
825
|
+
console.error(`Error: Invalid URL format: ${url}`);
|
|
826
|
+
console.error("URL must start with http://, https://, ws://, or wss://");
|
|
827
|
+
process.exit(1);
|
|
828
|
+
}
|
|
829
|
+
mcpUrl = url;
|
|
830
|
+
i++;
|
|
831
|
+
} else if (args[i] === "--port" && i + 1 < args.length) {
|
|
832
|
+
const parsedPort = Number.parseInt(args[i + 1], 10);
|
|
833
|
+
if (Number.isNaN(parsedPort) || parsedPort < 1 || parsedPort > 65535) {
|
|
834
|
+
console.error(`Error: Port must be a number between 1 and 65535, got: ${args[i + 1]}`);
|
|
835
|
+
process.exit(1);
|
|
836
|
+
}
|
|
837
|
+
startPort = parsedPort;
|
|
838
|
+
i++;
|
|
839
|
+
} else if (args[i] === "--help" || args[i] === "-h") {
|
|
840
|
+
console.log(`
|
|
841
|
+
MCP Inspector - Inspect and debug MCP servers
|
|
842
|
+
|
|
843
|
+
Usage:
|
|
844
|
+
npx @mcp-use/inspector [options]
|
|
845
|
+
|
|
846
|
+
Options:
|
|
847
|
+
--url <url> MCP server URL to auto-connect to (e.g., http://localhost:3000/mcp)
|
|
848
|
+
--port <port> Starting port to try (default: 8080, will find next available)
|
|
849
|
+
--help, -h Show this help message
|
|
850
|
+
|
|
851
|
+
Examples:
|
|
852
|
+
# Run inspector with auto-connect
|
|
853
|
+
npx @mcp-use/inspector --url http://localhost:3000/mcp
|
|
854
|
+
|
|
855
|
+
# Run starting from custom port
|
|
856
|
+
npx @mcp-use/inspector --url http://localhost:3000/mcp --port 9000
|
|
857
|
+
|
|
858
|
+
# Run without auto-connect
|
|
859
|
+
npx @mcp-use/inspector
|
|
860
|
+
`);
|
|
861
|
+
process.exit(0);
|
|
862
|
+
}
|
|
863
|
+
}
|
|
864
|
+
var app = new Hono();
|
|
865
|
+
app.use("*", cors());
|
|
866
|
+
app.use("*", logger());
|
|
867
|
+
registerInspectorRoutes(app, { autoConnectUrl: mcpUrl });
|
|
868
|
+
registerStaticRoutes(app);
|
|
869
|
+
async function startServer() {
|
|
870
|
+
try {
|
|
871
|
+
const port = await findAvailablePort(startPort);
|
|
872
|
+
serve({
|
|
873
|
+
fetch: app.fetch,
|
|
874
|
+
port
|
|
875
|
+
});
|
|
876
|
+
console.log(`\u{1F680} MCP Inspector running on http://localhost:${port}`);
|
|
877
|
+
if (mcpUrl) {
|
|
878
|
+
console.log(`\u{1F4E1} Auto-connecting to: ${mcpUrl}`);
|
|
879
|
+
}
|
|
880
|
+
try {
|
|
881
|
+
await open(`http://localhost:${port}/inspector`);
|
|
882
|
+
console.log(`\u{1F310} Browser opened`);
|
|
883
|
+
} catch {
|
|
884
|
+
console.log(`\u{1F310} Please open http://localhost:${port}/inspector in your browser`);
|
|
885
|
+
}
|
|
886
|
+
return { port, fetch: app.fetch };
|
|
887
|
+
} catch (error) {
|
|
888
|
+
console.error("Failed to start server:", error);
|
|
889
|
+
process.exit(1);
|
|
890
|
+
}
|
|
891
|
+
}
|
|
892
|
+
startServer();
|