@waniwani/sdk 0.1.20-beta.2 → 0.1.20-beta.21
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/README.md +103 -52
- package/dist/abap-KGVIZMDC.js +3 -0
- package/dist/abap-KGVIZMDC.js.map +1 -0
- package/dist/actionscript-3-2UHK5QYP.js +3 -0
- package/dist/actionscript-3-2UHK5QYP.js.map +1 -0
- package/dist/ada-JKTWR5BV.js +3 -0
- package/dist/ada-JKTWR5BV.js.map +1 -0
- package/dist/andromeeda-HAPOYWX3.js +3 -0
- package/dist/andromeeda-HAPOYWX3.js.map +1 -0
- package/dist/angular-html-EOIKHM3D.js +3 -0
- package/dist/angular-html-EOIKHM3D.js.map +1 -0
- package/dist/angular-ts-A7ZNTSV6.js +3 -0
- package/dist/angular-ts-A7ZNTSV6.js.map +1 -0
- package/dist/apache-MPGFGQFB.js +3 -0
- package/dist/apache-MPGFGQFB.js.map +1 -0
- package/dist/apex-BOAZL66Z.js +3 -0
- package/dist/apex-BOAZL66Z.js.map +1 -0
- package/dist/apl-QBN4KIYA.js +3 -0
- package/dist/apl-QBN4KIYA.js.map +1 -0
- package/dist/applescript-C4CJ3STL.js +3 -0
- package/dist/applescript-C4CJ3STL.js.map +1 -0
- package/dist/ara-FSFFBRSD.js +3 -0
- package/dist/ara-FSFFBRSD.js.map +1 -0
- package/dist/asciidoc-QQK2LANG.js +3 -0
- package/dist/asciidoc-QQK2LANG.js.map +1 -0
- package/dist/asm-X43A2VYW.js +3 -0
- package/dist/asm-X43A2VYW.js.map +1 -0
- package/dist/astro-OQUOYMBE.js +3 -0
- package/dist/astro-OQUOYMBE.js.map +1 -0
- package/dist/aurora-x-R6WAWEBC.js +3 -0
- package/dist/aurora-x-R6WAWEBC.js.map +1 -0
- package/dist/awk-4Z3PRTF7.js +3 -0
- package/dist/awk-4Z3PRTF7.js.map +1 -0
- package/dist/ayu-dark-KMD4YO7F.js +3 -0
- package/dist/ayu-dark-KMD4YO7F.js.map +1 -0
- package/dist/ayu-light-2ATPDILG.js +3 -0
- package/dist/ayu-light-2ATPDILG.js.map +1 -0
- package/dist/ayu-mirage-LJ7PG5AM.js +3 -0
- package/dist/ayu-mirage-LJ7PG5AM.js.map +1 -0
- package/dist/ballerina-JCXSJ2QD.js +3 -0
- package/dist/ballerina-JCXSJ2QD.js.map +1 -0
- package/dist/bat-XFWR7RMZ.js +3 -0
- package/dist/bat-XFWR7RMZ.js.map +1 -0
- package/dist/beancount-7BBDB4BH.js +3 -0
- package/dist/beancount-7BBDB4BH.js.map +1 -0
- package/dist/berry-PQ2BEJIZ.js +3 -0
- package/dist/berry-PQ2BEJIZ.js.map +1 -0
- package/dist/bibtex-J2PAB23I.js +3 -0
- package/dist/bibtex-J2PAB23I.js.map +1 -0
- package/dist/bicep-TNKT6R3W.js +3 -0
- package/dist/bicep-TNKT6R3W.js.map +1 -0
- package/dist/blade-QBDEYXMB.js +3 -0
- package/dist/blade-QBDEYXMB.js.map +1 -0
- package/dist/bsl-PQW6E45S.js +3 -0
- package/dist/bsl-PQW6E45S.js.map +1 -0
- package/dist/c-PZBJFNXE.js +3 -0
- package/dist/c-PZBJFNXE.js.map +1 -0
- package/dist/c3-GP7XYHE6.js +3 -0
- package/dist/c3-GP7XYHE6.js.map +1 -0
- package/dist/cadence-NABGDHKY.js +3 -0
- package/dist/cadence-NABGDHKY.js.map +1 -0
- package/dist/cairo-WQSC2GLN.js +3 -0
- package/dist/cairo-WQSC2GLN.js.map +1 -0
- package/dist/catppuccin-frappe-Z4Y2POK6.js +3 -0
- package/dist/catppuccin-frappe-Z4Y2POK6.js.map +1 -0
- package/dist/catppuccin-latte-4TQUIKX4.js +3 -0
- package/dist/catppuccin-latte-4TQUIKX4.js.map +1 -0
- package/dist/catppuccin-macchiato-B7YYPERT.js +3 -0
- package/dist/catppuccin-macchiato-B7YYPERT.js.map +1 -0
- package/dist/catppuccin-mocha-KX33VXKA.js +3 -0
- package/dist/catppuccin-mocha-KX33VXKA.js.map +1 -0
- package/dist/chat/index.d.ts +15 -5
- package/dist/chat/index.js +49 -1
- package/dist/chat/index.js.map +1 -1
- package/dist/chat/next-js/index.d.ts +95 -40
- package/dist/chat/next-js/index.js +1 -1
- package/dist/chat/next-js/index.js.map +1 -1
- package/dist/chat/server/index.d.ts +5 -0
- package/dist/chat/styles.css +1 -1
- package/dist/chunk-2RR26LLP.js +3 -0
- package/dist/chunk-2RR26LLP.js.map +1 -0
- package/dist/chunk-3MXGGSWX.js +3 -0
- package/dist/chunk-3MXGGSWX.js.map +1 -0
- package/dist/chunk-4LBJUPWV.js +3 -0
- package/dist/chunk-4LBJUPWV.js.map +1 -0
- package/dist/chunk-4VTSQZWF.js +3 -0
- package/dist/chunk-4VTSQZWF.js.map +1 -0
- package/dist/chunk-7JLJRE2N.js +3 -0
- package/dist/chunk-7JLJRE2N.js.map +1 -0
- package/dist/chunk-7PHUBJVC.js +3 -0
- package/dist/chunk-7PHUBJVC.js.map +1 -0
- package/dist/chunk-AGWJ4LUC.js +3 -0
- package/dist/chunk-AGWJ4LUC.js.map +1 -0
- package/dist/chunk-ASVQBXNX.js +3 -0
- package/dist/chunk-ASVQBXNX.js.map +1 -0
- package/dist/chunk-ATLIFHJQ.js +3 -0
- package/dist/chunk-ATLIFHJQ.js.map +1 -0
- package/dist/chunk-BWAU264B.js +3 -0
- package/dist/chunk-BWAU264B.js.map +1 -0
- package/dist/chunk-C2XW4T23.js +3 -0
- package/dist/chunk-C2XW4T23.js.map +1 -0
- package/dist/chunk-C3DWQQH3.js +3 -0
- package/dist/chunk-C3DWQQH3.js.map +1 -0
- package/dist/chunk-CIEDXAJY.js +3 -0
- package/dist/chunk-CIEDXAJY.js.map +1 -0
- package/dist/chunk-CNY3RWNZ.js +3 -0
- package/dist/chunk-CNY3RWNZ.js.map +1 -0
- package/dist/chunk-ED2SBPIQ.js +3 -0
- package/dist/chunk-ED2SBPIQ.js.map +1 -0
- package/dist/chunk-F3QSOBPN.js +3 -0
- package/dist/chunk-F3QSOBPN.js.map +1 -0
- package/dist/chunk-FHRHXPXN.js +3 -0
- package/dist/chunk-FHRHXPXN.js.map +1 -0
- package/dist/chunk-FWHINPYE.js +3 -0
- package/dist/chunk-FWHINPYE.js.map +1 -0
- package/dist/chunk-HMEGK7JX.js +3 -0
- package/dist/chunk-HMEGK7JX.js.map +1 -0
- package/dist/chunk-HU77EH3T.js +3 -0
- package/dist/chunk-HU77EH3T.js.map +1 -0
- package/dist/chunk-HVAT4SNH.js +116 -0
- package/dist/chunk-HVAT4SNH.js.map +1 -0
- package/dist/chunk-IXROC4D6.js +3 -0
- package/dist/chunk-IXROC4D6.js.map +1 -0
- package/dist/chunk-JVRIR5KA.js +3 -0
- package/dist/chunk-JVRIR5KA.js.map +1 -0
- package/dist/chunk-JXSURY23.js +3 -0
- package/dist/chunk-JXSURY23.js.map +1 -0
- package/dist/chunk-JZBW5KEX.js +3 -0
- package/dist/chunk-JZBW5KEX.js.map +1 -0
- package/dist/chunk-M4CKEROZ.js +3 -0
- package/dist/chunk-M4CKEROZ.js.map +1 -0
- package/dist/chunk-NWMKWKIF.js +3 -0
- package/dist/chunk-NWMKWKIF.js.map +1 -0
- package/dist/chunk-OZU5OBWU.js +3 -0
- package/dist/chunk-OZU5OBWU.js.map +1 -0
- package/dist/chunk-Q7Y54EZU.js +3 -0
- package/dist/chunk-Q7Y54EZU.js.map +1 -0
- package/dist/chunk-QLNWMFSL.js +3 -0
- package/dist/chunk-QLNWMFSL.js.map +1 -0
- package/dist/chunk-R5U25TSM.js +3 -0
- package/dist/chunk-R5U25TSM.js.map +1 -0
- package/dist/chunk-RH56J7QY.js +3 -0
- package/dist/chunk-RH56J7QY.js.map +1 -0
- package/dist/chunk-RLHBVYHM.js +3 -0
- package/dist/chunk-RLHBVYHM.js.map +1 -0
- package/dist/chunk-RYVXTIMY.js +3 -0
- package/dist/chunk-RYVXTIMY.js.map +1 -0
- package/dist/chunk-U4R5XKLD.js +3 -0
- package/dist/chunk-U4R5XKLD.js.map +1 -0
- package/dist/chunk-V3ZDECK5.js +3 -0
- package/dist/chunk-V3ZDECK5.js.map +1 -0
- package/dist/chunk-VBWVDIIW.js +3 -0
- package/dist/chunk-VBWVDIIW.js.map +1 -0
- package/dist/chunk-VME4UB43.js +3 -0
- package/dist/chunk-VME4UB43.js.map +1 -0
- package/dist/chunk-VNX5AK2O.js +3 -0
- package/dist/chunk-VNX5AK2O.js.map +1 -0
- package/dist/chunk-WKR2RWJ6.js +3 -0
- package/dist/chunk-WKR2RWJ6.js.map +1 -0
- package/dist/chunk-XD5VGPVP.js +3 -0
- package/dist/chunk-XD5VGPVP.js.map +1 -0
- package/dist/chunk-Z3IKGRKN.js +3 -0
- package/dist/chunk-Z3IKGRKN.js.map +1 -0
- package/dist/chunk-Z7QCZ4DQ.js +3 -0
- package/dist/chunk-Z7QCZ4DQ.js.map +1 -0
- package/dist/chunk-ZHMHS6LG.js +3 -0
- package/dist/chunk-ZHMHS6LG.js.map +1 -0
- package/dist/chunk-ZU32Z5HV.js +3 -0
- package/dist/chunk-ZU32Z5HV.js.map +1 -0
- package/dist/clarity-NXNSINKX.js +3 -0
- package/dist/clarity-NXNSINKX.js.map +1 -0
- package/dist/clojure-Y57BKRMA.js +3 -0
- package/dist/clojure-Y57BKRMA.js.map +1 -0
- package/dist/cmake-LVMEA3JZ.js +3 -0
- package/dist/cmake-LVMEA3JZ.js.map +1 -0
- package/dist/cobol-6DNJTKH3.js +3 -0
- package/dist/cobol-6DNJTKH3.js.map +1 -0
- package/dist/code-block-37QAKDTI-M2QCKVTI.js +4 -0
- package/dist/code-block-37QAKDTI-M2QCKVTI.js.map +1 -0
- package/dist/codeowners-JYHOTXQS.js +3 -0
- package/dist/codeowners-JYHOTXQS.js.map +1 -0
- package/dist/codeql-IWWSYR3L.js +3 -0
- package/dist/codeql-IWWSYR3L.js.map +1 -0
- package/dist/coffee-NNDQ5QXC.js +3 -0
- package/dist/coffee-NNDQ5QXC.js.map +1 -0
- package/dist/common-lisp-JKXCDYH3.js +3 -0
- package/dist/common-lisp-JKXCDYH3.js.map +1 -0
- package/dist/coq-BEHPNP64.js +3 -0
- package/dist/coq-BEHPNP64.js.map +1 -0
- package/dist/cpp-IALOHSZA.js +3 -0
- package/dist/cpp-IALOHSZA.js.map +1 -0
- package/dist/crystal-ZDP3FIUI.js +3 -0
- package/dist/crystal-ZDP3FIUI.js.map +1 -0
- package/dist/csharp-ODFBXRGA.js +3 -0
- package/dist/csharp-ODFBXRGA.js.map +1 -0
- package/dist/css-CJGL5AVH.js +3 -0
- package/dist/css-CJGL5AVH.js.map +1 -0
- package/dist/csv-LIK4TU3Z.js +3 -0
- package/dist/csv-LIK4TU3Z.js.map +1 -0
- package/dist/cue-UAAEAKHI.js +3 -0
- package/dist/cue-UAAEAKHI.js.map +1 -0
- package/dist/cypher-SZPVUQZJ.js +3 -0
- package/dist/cypher-SZPVUQZJ.js.map +1 -0
- package/dist/d-VSCA3XHG.js +3 -0
- package/dist/d-VSCA3XHG.js.map +1 -0
- package/dist/dark-plus-LNHXUR7U.js +3 -0
- package/dist/dark-plus-LNHXUR7U.js.map +1 -0
- package/dist/dart-A4PE6FIS.js +3 -0
- package/dist/dart-A4PE6FIS.js.map +1 -0
- package/dist/dax-TILIKSFB.js +3 -0
- package/dist/dax-TILIKSFB.js.map +1 -0
- package/dist/desktop-75KK3D55.js +3 -0
- package/dist/desktop-75KK3D55.js.map +1 -0
- package/dist/diff-HOT6P45M.js +3 -0
- package/dist/diff-HOT6P45M.js.map +1 -0
- package/dist/docker-FF35TY6T.js +3 -0
- package/dist/docker-FF35TY6T.js.map +1 -0
- package/dist/dotenv-FVPPHJI3.js +3 -0
- package/dist/dotenv-FVPPHJI3.js.map +1 -0
- package/dist/dracula-T2CMBBQ5.js +3 -0
- package/dist/dracula-T2CMBBQ5.js.map +1 -0
- package/dist/dracula-soft-SMFRNKX2.js +3 -0
- package/dist/dracula-soft-SMFRNKX2.js.map +1 -0
- package/dist/dream-maker-SYE3ZPSJ.js +3 -0
- package/dist/dream-maker-SYE3ZPSJ.js.map +1 -0
- package/dist/edge-CCLQ2CKA.js +3 -0
- package/dist/edge-CCLQ2CKA.js.map +1 -0
- package/dist/elixir-F6DQGRKA.js +3 -0
- package/dist/elixir-F6DQGRKA.js.map +1 -0
- package/dist/elm-5QRQXDZ6.js +3 -0
- package/dist/elm-5QRQXDZ6.js.map +1 -0
- package/dist/emacs-lisp-NJ4S4OHV.js +3 -0
- package/dist/emacs-lisp-NJ4S4OHV.js.map +1 -0
- package/dist/erb-HGSLHT5Y.js +3 -0
- package/dist/erb-HGSLHT5Y.js.map +1 -0
- package/dist/erlang-APEONNZ6.js +3 -0
- package/dist/erlang-APEONNZ6.js.map +1 -0
- package/dist/everforest-dark-DBZHIUAO.js +3 -0
- package/dist/everforest-dark-DBZHIUAO.js.map +1 -0
- package/dist/everforest-light-TDAGYJUK.js +3 -0
- package/dist/everforest-light-TDAGYJUK.js.map +1 -0
- package/dist/fennel-7OCMFVPS.js +3 -0
- package/dist/fennel-7OCMFVPS.js.map +1 -0
- package/dist/fish-BC46ME2N.js +3 -0
- package/dist/fish-BC46ME2N.js.map +1 -0
- package/dist/fluent-MXZS6EX3.js +3 -0
- package/dist/fluent-MXZS6EX3.js.map +1 -0
- package/dist/fortran-fixed-form-35BC2KX6.js +3 -0
- package/dist/fortran-fixed-form-35BC2KX6.js.map +1 -0
- package/dist/fortran-free-form-AXRAI2HH.js +3 -0
- package/dist/fortran-free-form-AXRAI2HH.js.map +1 -0
- package/dist/fsharp-JKNSQXHD.js +3 -0
- package/dist/fsharp-JKNSQXHD.js.map +1 -0
- package/dist/gdresource-ZMKZGPZV.js +3 -0
- package/dist/gdresource-ZMKZGPZV.js.map +1 -0
- package/dist/gdscript-HNCVXEYB.js +3 -0
- package/dist/gdscript-HNCVXEYB.js.map +1 -0
- package/dist/gdshader-XAJ4QRYP.js +3 -0
- package/dist/gdshader-XAJ4QRYP.js.map +1 -0
- package/dist/genie-HEFVQZAP.js +3 -0
- package/dist/genie-HEFVQZAP.js.map +1 -0
- package/dist/gherkin-OFBRDPXX.js +3 -0
- package/dist/gherkin-OFBRDPXX.js.map +1 -0
- package/dist/git-commit-ZE2M3Q5H.js +3 -0
- package/dist/git-commit-ZE2M3Q5H.js.map +1 -0
- package/dist/git-rebase-3N3INGLU.js +3 -0
- package/dist/git-rebase-3N3INGLU.js.map +1 -0
- package/dist/github-dark-3E25TTAN.js +3 -0
- package/dist/github-dark-3E25TTAN.js.map +1 -0
- package/dist/github-dark-default-KCBFVSS5.js +3 -0
- package/dist/github-dark-default-KCBFVSS5.js.map +1 -0
- package/dist/github-dark-dimmed-WRCBXEVS.js +3 -0
- package/dist/github-dark-dimmed-WRCBXEVS.js.map +1 -0
- package/dist/github-dark-high-contrast-ET7SAHAV.js +3 -0
- package/dist/github-dark-high-contrast-ET7SAHAV.js.map +1 -0
- package/dist/github-light-6FNTZH5H.js +3 -0
- package/dist/github-light-6FNTZH5H.js.map +1 -0
- package/dist/github-light-default-GGTAKNM7.js +3 -0
- package/dist/github-light-default-GGTAKNM7.js.map +1 -0
- package/dist/github-light-high-contrast-LHYKPR5E.js +3 -0
- package/dist/github-light-high-contrast-LHYKPR5E.js.map +1 -0
- package/dist/gleam-NFFQFQLP.js +3 -0
- package/dist/gleam-NFFQFQLP.js.map +1 -0
- package/dist/glimmer-js-RSUW6JYN.js +3 -0
- package/dist/glimmer-js-RSUW6JYN.js.map +1 -0
- package/dist/glimmer-ts-EZGWLX5T.js +3 -0
- package/dist/glimmer-ts-EZGWLX5T.js.map +1 -0
- package/dist/glsl-VJLRYEVJ.js +3 -0
- package/dist/glsl-VJLRYEVJ.js.map +1 -0
- package/dist/gn-UH2XQWLG.js +3 -0
- package/dist/gn-UH2XQWLG.js.map +1 -0
- package/dist/gnuplot-K6IV6NNR.js +3 -0
- package/dist/gnuplot-K6IV6NNR.js.map +1 -0
- package/dist/go-BDV7RR5G.js +3 -0
- package/dist/go-BDV7RR5G.js.map +1 -0
- package/dist/graphql-YEJQLMOO.js +3 -0
- package/dist/graphql-YEJQLMOO.js.map +1 -0
- package/dist/groovy-SX7K3XGL.js +3 -0
- package/dist/groovy-SX7K3XGL.js.map +1 -0
- package/dist/gruvbox-dark-hard-IQWZCHF7.js +3 -0
- package/dist/gruvbox-dark-hard-IQWZCHF7.js.map +1 -0
- package/dist/gruvbox-dark-medium-ARPWF4FS.js +3 -0
- package/dist/gruvbox-dark-medium-ARPWF4FS.js.map +1 -0
- package/dist/gruvbox-dark-soft-ODS6FPID.js +3 -0
- package/dist/gruvbox-dark-soft-ODS6FPID.js.map +1 -0
- package/dist/gruvbox-light-hard-KFA5YFDW.js +3 -0
- package/dist/gruvbox-light-hard-KFA5YFDW.js.map +1 -0
- package/dist/gruvbox-light-medium-MMET4L3Y.js +3 -0
- package/dist/gruvbox-light-medium-MMET4L3Y.js.map +1 -0
- package/dist/gruvbox-light-soft-DBZDERMK.js +3 -0
- package/dist/gruvbox-light-soft-DBZDERMK.js.map +1 -0
- package/dist/hack-3TGPQNR2.js +3 -0
- package/dist/hack-3TGPQNR2.js.map +1 -0
- package/dist/haml-335RVEQR.js +3 -0
- package/dist/haml-335RVEQR.js.map +1 -0
- package/dist/handlebars-73IS6B2J.js +3 -0
- package/dist/handlebars-73IS6B2J.js.map +1 -0
- package/dist/haskell-P5PTJARU.js +3 -0
- package/dist/haskell-P5PTJARU.js.map +1 -0
- package/dist/haxe-RCPSSA3N.js +3 -0
- package/dist/haxe-RCPSSA3N.js.map +1 -0
- package/dist/hcl-AKKZAVC2.js +3 -0
- package/dist/hcl-AKKZAVC2.js.map +1 -0
- package/dist/hjson-REXV6F6N.js +3 -0
- package/dist/hjson-REXV6F6N.js.map +1 -0
- package/dist/hlsl-AJ7VWOVL.js +3 -0
- package/dist/hlsl-AJ7VWOVL.js.map +1 -0
- package/dist/horizon-FSOMPXNP.js +3 -0
- package/dist/horizon-FSOMPXNP.js.map +1 -0
- package/dist/houston-FAQBCORN.js +3 -0
- package/dist/houston-FAQBCORN.js.map +1 -0
- package/dist/html-654LNGWF.js +3 -0
- package/dist/html-654LNGWF.js.map +1 -0
- package/dist/html-derivative-CMQ7BFDQ.js +3 -0
- package/dist/html-derivative-CMQ7BFDQ.js.map +1 -0
- package/dist/http-NEPTRAQZ.js +3 -0
- package/dist/http-NEPTRAQZ.js.map +1 -0
- package/dist/hurl-V6ZX2Q3F.js +3 -0
- package/dist/hurl-V6ZX2Q3F.js.map +1 -0
- package/dist/hxml-5BXJCAAU.js +3 -0
- package/dist/hxml-5BXJCAAU.js.map +1 -0
- package/dist/hy-SB4TMFE7.js +3 -0
- package/dist/hy-SB4TMFE7.js.map +1 -0
- package/dist/imba-Y64MHYWP.js +3 -0
- package/dist/imba-Y64MHYWP.js.map +1 -0
- package/dist/index.d.ts +134 -41
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/ini-J2OP4CNW.js +3 -0
- package/dist/ini-J2OP4CNW.js.map +1 -0
- package/dist/java-MJKJ5GPP.js +3 -0
- package/dist/java-MJKJ5GPP.js.map +1 -0
- package/dist/javascript-IYAGHPR6.js +3 -0
- package/dist/javascript-IYAGHPR6.js.map +1 -0
- package/dist/jinja-WPD26JJ6.js +3 -0
- package/dist/jinja-WPD26JJ6.js.map +1 -0
- package/dist/jison-UYDZQBN5.js +3 -0
- package/dist/jison-UYDZQBN5.js.map +1 -0
- package/dist/json-5V4JESJO.js +3 -0
- package/dist/json-5V4JESJO.js.map +1 -0
- package/dist/json5-7SHUZD3R.js +3 -0
- package/dist/json5-7SHUZD3R.js.map +1 -0
- package/dist/jsonc-X3Z34FN3.js +3 -0
- package/dist/jsonc-X3Z34FN3.js.map +1 -0
- package/dist/jsonl-6I3D2HM6.js +3 -0
- package/dist/jsonl-6I3D2HM6.js.map +1 -0
- package/dist/jsonnet-PZEQIBYV.js +3 -0
- package/dist/jsonnet-PZEQIBYV.js.map +1 -0
- package/dist/jssm-GJJ25IKR.js +3 -0
- package/dist/jssm-GJJ25IKR.js.map +1 -0
- package/dist/jsx-NI2J427C.js +3 -0
- package/dist/jsx-NI2J427C.js.map +1 -0
- package/dist/julia-QPZ7EOS6.js +3 -0
- package/dist/julia-QPZ7EOS6.js.map +1 -0
- package/dist/kanagawa-dragon-JNDVF5RJ.js +3 -0
- package/dist/kanagawa-dragon-JNDVF5RJ.js.map +1 -0
- package/dist/kanagawa-lotus-S7JK6TQ6.js +3 -0
- package/dist/kanagawa-lotus-S7JK6TQ6.js.map +1 -0
- package/dist/kanagawa-wave-QJJIMVEV.js +3 -0
- package/dist/kanagawa-wave-QJJIMVEV.js.map +1 -0
- package/dist/kdl-IA7HA2TL.js +3 -0
- package/dist/kdl-IA7HA2TL.js.map +1 -0
- package/dist/kotlin-CCRMGYMI.js +3 -0
- package/dist/kotlin-CCRMGYMI.js.map +1 -0
- package/dist/kusto-7DW25GYH.js +3 -0
- package/dist/kusto-7DW25GYH.js.map +1 -0
- package/dist/laserwave-YFP3EJVX.js +3 -0
- package/dist/laserwave-YFP3EJVX.js.map +1 -0
- package/dist/latex-F2CTDTFG.js +3 -0
- package/dist/latex-F2CTDTFG.js.map +1 -0
- package/dist/lean-MGJJWBTR.js +3 -0
- package/dist/lean-MGJJWBTR.js.map +1 -0
- package/dist/less-WFSIMX5G.js +3 -0
- package/dist/less-WFSIMX5G.js.map +1 -0
- package/dist/light-plus-NGDHCPUZ.js +3 -0
- package/dist/light-plus-NGDHCPUZ.js.map +1 -0
- package/dist/liquid-7CFNUD3V.js +3 -0
- package/dist/liquid-7CFNUD3V.js.map +1 -0
- package/dist/llvm-CFQSEDXB.js +3 -0
- package/dist/llvm-CFQSEDXB.js.map +1 -0
- package/dist/log-YQNML6LA.js +3 -0
- package/dist/log-YQNML6LA.js.map +1 -0
- package/dist/logo-2PPKBL2M.js +3 -0
- package/dist/logo-2PPKBL2M.js.map +1 -0
- package/dist/lua-RPAMRKNG.js +3 -0
- package/dist/lua-RPAMRKNG.js.map +1 -0
- package/dist/luau-GR2DOH6N.js +3 -0
- package/dist/luau-GR2DOH6N.js.map +1 -0
- package/dist/make-DQQEEPI4.js +3 -0
- package/dist/make-DQQEEPI4.js.map +1 -0
- package/dist/markdown-OC5ILZSY.js +3 -0
- package/dist/markdown-OC5ILZSY.js.map +1 -0
- package/dist/marko-XSB3CTWQ.js +3 -0
- package/dist/marko-XSB3CTWQ.js.map +1 -0
- package/dist/material-theme-H2BHKUKX.js +3 -0
- package/dist/material-theme-H2BHKUKX.js.map +1 -0
- package/dist/material-theme-darker-VENCGWTB.js +3 -0
- package/dist/material-theme-darker-VENCGWTB.js.map +1 -0
- package/dist/material-theme-lighter-SDMLS22W.js +3 -0
- package/dist/material-theme-lighter-SDMLS22W.js.map +1 -0
- package/dist/material-theme-ocean-UHDBRLVF.js +3 -0
- package/dist/material-theme-ocean-UHDBRLVF.js.map +1 -0
- package/dist/material-theme-palenight-3TB2BEET.js +3 -0
- package/dist/material-theme-palenight-3TB2BEET.js.map +1 -0
- package/dist/matlab-YQY6FS4U.js +3 -0
- package/dist/matlab-YQY6FS4U.js.map +1 -0
- package/dist/mcp/index.d.ts +397 -39
- package/dist/mcp/index.js +3 -3
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/react.d.ts +84 -25
- package/dist/mcp/react.js +7 -7
- package/dist/mcp/react.js.map +1 -1
- package/dist/mcp-apps-client-6WEBHSGH.js +3 -0
- package/dist/mcp-apps-client-6WEBHSGH.js.map +1 -0
- package/dist/mdc-TEVTGSC7.js +3 -0
- package/dist/mdc-TEVTGSC7.js.map +1 -0
- package/dist/mdx-ZIH2JLVR.js +3 -0
- package/dist/mdx-ZIH2JLVR.js.map +1 -0
- package/dist/mermaid-4DMBBIKO-NR6M3PLG.js +3 -0
- package/dist/mermaid-4DMBBIKO-NR6M3PLG.js.map +1 -0
- package/dist/mermaid-WPX56SBB.js +3 -0
- package/dist/mermaid-WPX56SBB.js.map +1 -0
- package/dist/min-dark-CQ5WKNT7.js +3 -0
- package/dist/min-dark-CQ5WKNT7.js.map +1 -0
- package/dist/min-light-LZRD4NPR.js +3 -0
- package/dist/min-light-LZRD4NPR.js.map +1 -0
- package/dist/mipsasm-IDXQRZ2B.js +3 -0
- package/dist/mipsasm-IDXQRZ2B.js.map +1 -0
- package/dist/mojo-MH7EQVOK.js +3 -0
- package/dist/mojo-MH7EQVOK.js.map +1 -0
- package/dist/monokai-WHRY6275.js +3 -0
- package/dist/monokai-WHRY6275.js.map +1 -0
- package/dist/moonbit-5JDFTWKE.js +3 -0
- package/dist/moonbit-5JDFTWKE.js.map +1 -0
- package/dist/move-RWSXKYDY.js +3 -0
- package/dist/move-RWSXKYDY.js.map +1 -0
- package/dist/narrat-QJUEXMVV.js +3 -0
- package/dist/narrat-QJUEXMVV.js.map +1 -0
- package/dist/nextflow-2EICNZA3.js +3 -0
- package/dist/nextflow-2EICNZA3.js.map +1 -0
- package/dist/nginx-RIWAEC5Z.js +3 -0
- package/dist/nginx-RIWAEC5Z.js.map +1 -0
- package/dist/night-owl-7PNEW2JB.js +3 -0
- package/dist/night-owl-7PNEW2JB.js.map +1 -0
- package/dist/night-owl-light-GJUYOOJR.js +3 -0
- package/dist/night-owl-light-GJUYOOJR.js.map +1 -0
- package/dist/nim-JPSYX5KC.js +3 -0
- package/dist/nim-JPSYX5KC.js.map +1 -0
- package/dist/nix-XCKQVWCN.js +3 -0
- package/dist/nix-XCKQVWCN.js.map +1 -0
- package/dist/nord-EVGUMUX2.js +3 -0
- package/dist/nord-EVGUMUX2.js.map +1 -0
- package/dist/nushell-QGW7HANA.js +3 -0
- package/dist/nushell-QGW7HANA.js.map +1 -0
- package/dist/objective-c-V7KYXFHL.js +3 -0
- package/dist/objective-c-V7KYXFHL.js.map +1 -0
- package/dist/objective-cpp-NKUEWVGU.js +3 -0
- package/dist/objective-cpp-NKUEWVGU.js.map +1 -0
- package/dist/ocaml-QT2CZJZN.js +3 -0
- package/dist/ocaml-QT2CZJZN.js.map +1 -0
- package/dist/odin-MVMIXBHP.js +3 -0
- package/dist/odin-MVMIXBHP.js.map +1 -0
- package/dist/one-dark-pro-PMTR3SA7.js +3 -0
- package/dist/one-dark-pro-PMTR3SA7.js.map +1 -0
- package/dist/one-light-O7WH4N5X.js +3 -0
- package/dist/one-light-O7WH4N5X.js.map +1 -0
- package/dist/openai-client-HLQSYZJC.js +3 -0
- package/dist/openai-client-HLQSYZJC.js.map +1 -0
- package/dist/openscad-BJDUXUUZ.js +3 -0
- package/dist/openscad-BJDUXUUZ.js.map +1 -0
- package/dist/pascal-HGWEFD6L.js +3 -0
- package/dist/pascal-HGWEFD6L.js.map +1 -0
- package/dist/perl-X4IFZB22.js +3 -0
- package/dist/perl-X4IFZB22.js.map +1 -0
- package/dist/php-3V7EPUAN.js +3 -0
- package/dist/php-3V7EPUAN.js.map +1 -0
- package/dist/pkl-VA5ZK5DW.js +3 -0
- package/dist/pkl-VA5ZK5DW.js.map +1 -0
- package/dist/plastic-FBVUW6NJ.js +3 -0
- package/dist/plastic-FBVUW6NJ.js.map +1 -0
- package/dist/plsql-J7A7YWFH.js +3 -0
- package/dist/plsql-J7A7YWFH.js.map +1 -0
- package/dist/po-5RDI65JX.js +3 -0
- package/dist/po-5RDI65JX.js.map +1 -0
- package/dist/poimandres-WBB7GZAD.js +3 -0
- package/dist/poimandres-WBB7GZAD.js.map +1 -0
- package/dist/polar-VUJL2E7F.js +3 -0
- package/dist/polar-VUJL2E7F.js.map +1 -0
- package/dist/postcss-ESTB5G7N.js +3 -0
- package/dist/postcss-ESTB5G7N.js.map +1 -0
- package/dist/powerquery-ODTEKQCW.js +3 -0
- package/dist/powerquery-ODTEKQCW.js.map +1 -0
- package/dist/powershell-ZOYRAWBJ.js +3 -0
- package/dist/powershell-ZOYRAWBJ.js.map +1 -0
- package/dist/prisma-QHG2W5GE.js +3 -0
- package/dist/prisma-QHG2W5GE.js.map +1 -0
- package/dist/prolog-CSAPG5PH.js +3 -0
- package/dist/prolog-CSAPG5PH.js.map +1 -0
- package/dist/proto-WDNJBTSW.js +3 -0
- package/dist/proto-WDNJBTSW.js.map +1 -0
- package/dist/pug-P7LS6DER.js +3 -0
- package/dist/pug-P7LS6DER.js.map +1 -0
- package/dist/puppet-LHFWHTY3.js +3 -0
- package/dist/puppet-LHFWHTY3.js.map +1 -0
- package/dist/purescript-DUFJP4FY.js +3 -0
- package/dist/purescript-DUFJP4FY.js.map +1 -0
- package/dist/python-5ZNZSNQ2.js +3 -0
- package/dist/python-5ZNZSNQ2.js.map +1 -0
- package/dist/qml-LTAXB6W5.js +3 -0
- package/dist/qml-LTAXB6W5.js.map +1 -0
- package/dist/qmldir-7Z2ODQLM.js +3 -0
- package/dist/qmldir-7Z2ODQLM.js.map +1 -0
- package/dist/qss-FDFD3HQD.js +3 -0
- package/dist/qss-FDFD3HQD.js.map +1 -0
- package/dist/r-6ZOS53WN.js +3 -0
- package/dist/r-6ZOS53WN.js.map +1 -0
- package/dist/racket-7AYZPEUI.js +3 -0
- package/dist/racket-7AYZPEUI.js.map +1 -0
- package/dist/raku-A4F6VHVG.js +3 -0
- package/dist/raku-A4F6VHVG.js.map +1 -0
- package/dist/razor-4QOCK4UD.js +3 -0
- package/dist/razor-4QOCK4UD.js.map +1 -0
- package/dist/red-7KAMONOP.js +3 -0
- package/dist/red-7KAMONOP.js.map +1 -0
- package/dist/reg-FAPHGG66.js +3 -0
- package/dist/reg-FAPHGG66.js.map +1 -0
- package/dist/regexp-5BYLYA2R.js +3 -0
- package/dist/regexp-5BYLYA2R.js.map +1 -0
- package/dist/rel-7DJ7HHU4.js +3 -0
- package/dist/rel-7DJ7HHU4.js.map +1 -0
- package/dist/riscv-YIYJATFG.js +3 -0
- package/dist/riscv-YIYJATFG.js.map +1 -0
- package/dist/ron-HYYMCHTX.js +3 -0
- package/dist/ron-HYYMCHTX.js.map +1 -0
- package/dist/rose-pine-F2G5IHZD.js +3 -0
- package/dist/rose-pine-F2G5IHZD.js.map +1 -0
- package/dist/rose-pine-dawn-ALZ7XGH2.js +3 -0
- package/dist/rose-pine-dawn-ALZ7XGH2.js.map +1 -0
- package/dist/rose-pine-moon-D3K4SWUL.js +3 -0
- package/dist/rose-pine-moon-D3K4SWUL.js.map +1 -0
- package/dist/rosmsg-FDNH6QF7.js +3 -0
- package/dist/rosmsg-FDNH6QF7.js.map +1 -0
- package/dist/rst-WIWCR2KQ.js +3 -0
- package/dist/rst-WIWCR2KQ.js.map +1 -0
- package/dist/ruby-LXZJUMFB.js +3 -0
- package/dist/ruby-LXZJUMFB.js.map +1 -0
- package/dist/rust-V3GMJA2K.js +3 -0
- package/dist/rust-V3GMJA2K.js.map +1 -0
- package/dist/sas-D3G4GB3X.js +3 -0
- package/dist/sas-D3G4GB3X.js.map +1 -0
- package/dist/sass-JTO65AGR.js +3 -0
- package/dist/sass-JTO65AGR.js.map +1 -0
- package/dist/scala-4XQGFSVM.js +3 -0
- package/dist/scala-4XQGFSVM.js.map +1 -0
- package/dist/scheme-CB7AC7IL.js +3 -0
- package/dist/scheme-CB7AC7IL.js.map +1 -0
- package/dist/scss-6SKV4OGI.js +3 -0
- package/dist/scss-6SKV4OGI.js.map +1 -0
- package/dist/sdbl-LKGZFJ46.js +3 -0
- package/dist/sdbl-LKGZFJ46.js.map +1 -0
- package/dist/shaderlab-K536DHEB.js +3 -0
- package/dist/shaderlab-K536DHEB.js.map +1 -0
- package/dist/shellscript-LRNUKUSZ.js +3 -0
- package/dist/shellscript-LRNUKUSZ.js.map +1 -0
- package/dist/shellsession-IBQK7VWQ.js +3 -0
- package/dist/shellsession-IBQK7VWQ.js.map +1 -0
- package/dist/slack-dark-YFPJODWS.js +3 -0
- package/dist/slack-dark-YFPJODWS.js.map +1 -0
- package/dist/slack-ochin-H67AWZOI.js +3 -0
- package/dist/slack-ochin-H67AWZOI.js.map +1 -0
- package/dist/smalltalk-DQOSWAW7.js +3 -0
- package/dist/smalltalk-DQOSWAW7.js.map +1 -0
- package/dist/snazzy-light-OUVS63VK.js +3 -0
- package/dist/snazzy-light-OUVS63VK.js.map +1 -0
- package/dist/solarized-dark-2RCAVEXJ.js +3 -0
- package/dist/solarized-dark-2RCAVEXJ.js.map +1 -0
- package/dist/solarized-light-XFSENHTC.js +3 -0
- package/dist/solarized-light-XFSENHTC.js.map +1 -0
- package/dist/solidity-V2FMZEG4.js +3 -0
- package/dist/solidity-V2FMZEG4.js.map +1 -0
- package/dist/soy-VW3CKXWF.js +3 -0
- package/dist/soy-VW3CKXWF.js.map +1 -0
- package/dist/sparql-L2VKP7YP.js +3 -0
- package/dist/sparql-L2VKP7YP.js.map +1 -0
- package/dist/splunk-KDKHP7GC.js +3 -0
- package/dist/splunk-KDKHP7GC.js.map +1 -0
- package/dist/sql-UF27CALT.js +3 -0
- package/dist/sql-UF27CALT.js.map +1 -0
- package/dist/ssh-config-JC2DQ6ED.js +3 -0
- package/dist/ssh-config-JC2DQ6ED.js.map +1 -0
- package/dist/stata-7PXCUY24.js +3 -0
- package/dist/stata-7PXCUY24.js.map +1 -0
- package/dist/stylus-2L7N3EZD.js +3 -0
- package/dist/stylus-2L7N3EZD.js.map +1 -0
- package/dist/surrealql-ZY3E6XEL.js +3 -0
- package/dist/surrealql-ZY3E6XEL.js.map +1 -0
- package/dist/svelte-Q45XIK2A.js +3 -0
- package/dist/svelte-Q45XIK2A.js.map +1 -0
- package/dist/swift-XBH5HZSC.js +3 -0
- package/dist/swift-XBH5HZSC.js.map +1 -0
- package/dist/synthwave-84-5XXB3K6S.js +3 -0
- package/dist/synthwave-84-5XXB3K6S.js.map +1 -0
- package/dist/system-verilog-VRAUSZY3.js +3 -0
- package/dist/system-verilog-VRAUSZY3.js.map +1 -0
- package/dist/systemd-JOTSGJD4.js +3 -0
- package/dist/systemd-JOTSGJD4.js.map +1 -0
- package/dist/talonscript-NNZRZKOU.js +3 -0
- package/dist/talonscript-NNZRZKOU.js.map +1 -0
- package/dist/tasl-MBFZ4QNC.js +3 -0
- package/dist/tasl-MBFZ4QNC.js.map +1 -0
- package/dist/tcl-4GEDCBVE.js +3 -0
- package/dist/tcl-4GEDCBVE.js.map +1 -0
- package/dist/templ-3XM7DLQ3.js +3 -0
- package/dist/templ-3XM7DLQ3.js.map +1 -0
- package/dist/terraform-XTHOS4UK.js +3 -0
- package/dist/terraform-XTHOS4UK.js.map +1 -0
- package/dist/tex-UXMN2CV7.js +3 -0
- package/dist/tex-UXMN2CV7.js.map +1 -0
- package/dist/tokyo-night-CHJCCBJH.js +3 -0
- package/dist/tokyo-night-CHJCCBJH.js.map +1 -0
- package/dist/toml-J6K55ZSV.js +3 -0
- package/dist/toml-J6K55ZSV.js.map +1 -0
- package/dist/ts-tags-7WGDLEKX.js +3 -0
- package/dist/ts-tags-7WGDLEKX.js.map +1 -0
- package/dist/tsv-DOUJHQDQ.js +3 -0
- package/dist/tsv-DOUJHQDQ.js.map +1 -0
- package/dist/tsx-G5BMVRHK.js +3 -0
- package/dist/tsx-G5BMVRHK.js.map +1 -0
- package/dist/turtle-JHJ7W6U5.js +3 -0
- package/dist/turtle-JHJ7W6U5.js.map +1 -0
- package/dist/twig-C6YWFFZU.js +3 -0
- package/dist/twig-C6YWFFZU.js.map +1 -0
- package/dist/typescript-LMKEAHFC.js +3 -0
- package/dist/typescript-LMKEAHFC.js.map +1 -0
- package/dist/typespec-5CLTIJYY.js +3 -0
- package/dist/typespec-5CLTIJYY.js.map +1 -0
- package/dist/typst-4W4Z436Z.js +3 -0
- package/dist/typst-4W4Z436Z.js.map +1 -0
- package/dist/v-Y4SBDBN7.js +3 -0
- package/dist/v-Y4SBDBN7.js.map +1 -0
- package/dist/vala-UMKT2MFA.js +3 -0
- package/dist/vala-UMKT2MFA.js.map +1 -0
- package/dist/vb-DQ7A5WJU.js +3 -0
- package/dist/vb-DQ7A5WJU.js.map +1 -0
- package/dist/verilog-N6ZF7GQD.js +3 -0
- package/dist/verilog-N6ZF7GQD.js.map +1 -0
- package/dist/vesper-Y5GIEAN4.js +3 -0
- package/dist/vesper-Y5GIEAN4.js.map +1 -0
- package/dist/vhdl-BNYDT37G.js +3 -0
- package/dist/vhdl-BNYDT37G.js.map +1 -0
- package/dist/viml-37RMDCBC.js +3 -0
- package/dist/viml-37RMDCBC.js.map +1 -0
- package/dist/vitesse-black-7TI33KHX.js +3 -0
- package/dist/vitesse-black-7TI33KHX.js.map +1 -0
- package/dist/vitesse-dark-FOB25MRB.js +3 -0
- package/dist/vitesse-dark-FOB25MRB.js.map +1 -0
- package/dist/vitesse-light-4WCNCTCO.js +3 -0
- package/dist/vitesse-light-4WCNCTCO.js.map +1 -0
- package/dist/vue-O6SLORWU.js +3 -0
- package/dist/vue-O6SLORWU.js.map +1 -0
- package/dist/vue-html-ZLTZN573.js +3 -0
- package/dist/vue-html-ZLTZN573.js.map +1 -0
- package/dist/vue-vine-6JKAZ54I.js +3 -0
- package/dist/vue-vine-6JKAZ54I.js.map +1 -0
- package/dist/vyper-GVXF46KD.js +3 -0
- package/dist/vyper-GVXF46KD.js.map +1 -0
- package/dist/wasm-EOPKAILK.js +3 -0
- package/dist/wasm-EOPKAILK.js.map +1 -0
- package/dist/wasm-NTB4O7GL.js +3 -0
- package/dist/wasm-NTB4O7GL.js.map +1 -0
- package/dist/wenyan-W7WB3BC7.js +3 -0
- package/dist/wenyan-W7WB3BC7.js.map +1 -0
- package/dist/wgsl-7GTDVXHG.js +3 -0
- package/dist/wgsl-7GTDVXHG.js.map +1 -0
- package/dist/wikitext-ASAFPAIL.js +3 -0
- package/dist/wikitext-ASAFPAIL.js.map +1 -0
- package/dist/wit-ZBCR6544.js +3 -0
- package/dist/wit-ZBCR6544.js.map +1 -0
- package/dist/wolfram-SZRZOETJ.js +3 -0
- package/dist/wolfram-SZRZOETJ.js.map +1 -0
- package/dist/xml-EBTJCOTU.js +3 -0
- package/dist/xml-EBTJCOTU.js.map +1 -0
- package/dist/xsl-IBYEXWDX.js +3 -0
- package/dist/xsl-IBYEXWDX.js.map +1 -0
- package/dist/yaml-GMVQNECR.js +3 -0
- package/dist/yaml-GMVQNECR.js.map +1 -0
- package/dist/zenscript-O2TZFP4A.js +3 -0
- package/dist/zenscript-O2TZFP4A.js.map +1 -0
- package/dist/zig-ZLGM7IMN.js +3 -0
- package/dist/zig-ZLGM7IMN.js.map +1 -0
- package/package.json +15 -39
- package/dist/mcp-apps-client-Z62VBB36.js +0 -3
- package/dist/mcp-apps-client-Z62VBB36.js.map +0 -1
- package/dist/openai-client-MVV4KJUO.js +0 -3
- package/dist/openai-client-MVV4KJUO.js.map +0 -1
package/dist/mcp/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { CallToolResult } from '@modelcontextprotocol/sdk/types.js';
|
|
1
2
|
import { z } from 'zod';
|
|
2
3
|
import { McpServer, ToolCallback } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
3
4
|
export { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
@@ -112,23 +113,11 @@ declare global {
|
|
|
112
113
|
/**
|
|
113
114
|
* Result from calling a tool
|
|
114
115
|
*/
|
|
115
|
-
type ToolCallResult =
|
|
116
|
-
content?: Array<{
|
|
117
|
-
type: string;
|
|
118
|
-
text?: string;
|
|
119
|
-
}>;
|
|
120
|
-
structuredContent?: Record<string, unknown>;
|
|
121
|
-
};
|
|
116
|
+
type ToolCallResult = CallToolResult;
|
|
122
117
|
/**
|
|
123
118
|
* Tool result notification (what the host pushes to the widget)
|
|
124
119
|
*/
|
|
125
|
-
type ToolResult =
|
|
126
|
-
content?: Array<{
|
|
127
|
-
type: string;
|
|
128
|
-
text?: string;
|
|
129
|
-
}>;
|
|
130
|
-
structuredContent?: Record<string, unknown>;
|
|
131
|
-
};
|
|
120
|
+
type ToolResult = CallToolResult;
|
|
132
121
|
/**
|
|
133
122
|
* Host context - all values available from the host.
|
|
134
123
|
*/
|
|
@@ -245,14 +234,14 @@ interface UnifiedWidgetClient {
|
|
|
245
234
|
onMaxHeightChange(callback: (maxHeight: number | null) => void): () => void;
|
|
246
235
|
/**
|
|
247
236
|
* Get the tool response metadata.
|
|
248
|
-
* OpenAI
|
|
249
|
-
* MCP Apps: returns
|
|
237
|
+
* OpenAI: returns metadata from window.openai.toolResponseMetadata.
|
|
238
|
+
* MCP Apps: returns `_meta` from the latest `ui/notifications/tool-result`, if provided by host.
|
|
250
239
|
*/
|
|
251
240
|
getToolResponseMetadata(): UnknownObject | null;
|
|
252
241
|
/**
|
|
253
242
|
* Subscribe to tool response metadata changes.
|
|
254
|
-
* OpenAI
|
|
255
|
-
* MCP Apps:
|
|
243
|
+
* OpenAI: subscribes to toolResponseMetadata changes.
|
|
244
|
+
* MCP Apps: fires when tool result `_meta` changes.
|
|
256
245
|
*/
|
|
257
246
|
onToolResponseMetadataChange(callback: (metadata: UnknownObject | null) => void): () => void;
|
|
258
247
|
/**
|
|
@@ -316,15 +305,26 @@ declare const START: "__start__";
|
|
|
316
305
|
declare const END: "__end__";
|
|
317
306
|
declare const INTERRUPT: unique symbol;
|
|
318
307
|
declare const WIDGET: unique symbol;
|
|
319
|
-
|
|
320
|
-
|
|
308
|
+
/** A single question within an interrupt step */
|
|
309
|
+
type InterruptQuestion = {
|
|
321
310
|
/** Question to ask the user */
|
|
322
311
|
question: string;
|
|
323
312
|
/** State key where the answer will be stored */
|
|
324
313
|
field: string;
|
|
325
314
|
/** Optional suggestions to present as options */
|
|
326
315
|
suggestions?: string[];
|
|
327
|
-
/** Hidden context/instructions for
|
|
316
|
+
/** Hidden context/instructions for this specific question (not shown to user directly) */
|
|
317
|
+
context?: string;
|
|
318
|
+
};
|
|
319
|
+
/**
|
|
320
|
+
* Interrupt signal — pauses the flow and asks the user one or more questions.
|
|
321
|
+
* Single-question and multi-question interrupts use the same type.
|
|
322
|
+
*/
|
|
323
|
+
type InterruptSignal = {
|
|
324
|
+
readonly __type: typeof INTERRUPT;
|
|
325
|
+
/** Questions to ask — ask all in one conversational message */
|
|
326
|
+
questions: InterruptQuestion[];
|
|
327
|
+
/** Overall hidden context/instructions for the assistant (not shown to user directly) */
|
|
328
328
|
context?: string;
|
|
329
329
|
};
|
|
330
330
|
type WidgetSignal = {
|
|
@@ -335,36 +335,94 @@ type WidgetSignal = {
|
|
|
335
335
|
data: Record<string, unknown>;
|
|
336
336
|
/** Description of what the widget does (for the AI's context) */
|
|
337
337
|
description?: string;
|
|
338
|
+
/**
|
|
339
|
+
* State key this widget fills — enables auto-skip when the field is already in state.
|
|
340
|
+
* Pass this so the engine can skip the widget step when the answer is already known.
|
|
341
|
+
*/
|
|
342
|
+
field?: string;
|
|
338
343
|
};
|
|
339
344
|
/**
|
|
340
|
-
* Create an interrupt signal — pauses the flow and asks the user a
|
|
345
|
+
* Create an interrupt signal — pauses the flow and asks the user a question.
|
|
346
|
+
*
|
|
347
|
+
* Accepts a single question (shorthand) or multiple questions (array form).
|
|
348
|
+
* Both produce the same signal type.
|
|
349
|
+
*
|
|
350
|
+
* @example Single question
|
|
351
|
+
* ```ts
|
|
352
|
+
* return interrupt({ question: "Your email?", field: "email" })
|
|
353
|
+
* ```
|
|
354
|
+
*
|
|
355
|
+
* @example Multiple questions (asked together in one message)
|
|
356
|
+
* ```ts
|
|
357
|
+
* return interrupt({ questions: [
|
|
358
|
+
* { question: "How many employees?", field: "headcount" },
|
|
359
|
+
* { question: "Average age?", field: "averageAge" },
|
|
360
|
+
* ]})
|
|
361
|
+
* ```
|
|
341
362
|
*/
|
|
342
363
|
declare function interrupt(config: {
|
|
343
364
|
question: string;
|
|
344
365
|
field: string;
|
|
345
366
|
suggestions?: string[];
|
|
346
367
|
context?: string;
|
|
368
|
+
} | {
|
|
369
|
+
questions: InterruptQuestion[];
|
|
370
|
+
context?: string;
|
|
347
371
|
}): InterruptSignal;
|
|
348
372
|
/**
|
|
349
373
|
* Create a widget signal — pauses the flow and renders a widget UI.
|
|
374
|
+
*
|
|
375
|
+
* Pass `field` to enable auto-skip: if the field is already in state, the widget
|
|
376
|
+
* step will be skipped automatically.
|
|
350
377
|
*/
|
|
351
378
|
declare function showWidget(resource: RegisteredResource, config: {
|
|
352
379
|
data: Record<string, unknown>;
|
|
353
380
|
description?: string;
|
|
381
|
+
field?: string;
|
|
354
382
|
}): WidgetSignal;
|
|
355
383
|
type MaybePromise<T> = T | Promise<T>;
|
|
356
|
-
/**
|
|
384
|
+
/**
|
|
385
|
+
* Optional config for handler-based nodes.
|
|
386
|
+
* Provides metadata used by the engine (e.g., auto-skip on widget steps).
|
|
387
|
+
*
|
|
388
|
+
* For declarative nodes, config is inferred automatically — no need to pass this.
|
|
389
|
+
*/
|
|
357
390
|
type NodeConfig<TState extends Record<string, unknown> = Record<string, unknown>> = {
|
|
358
|
-
/**
|
|
359
|
-
|
|
360
|
-
|
|
391
|
+
/**
|
|
392
|
+
* State key this node fills.
|
|
393
|
+
* When set on a handler-based widget node and the field is already in state,
|
|
394
|
+
* the node is auto-skipped. (Alternatively, pass `field` to `showWidget()`.)
|
|
395
|
+
*/
|
|
396
|
+
field?: Extract<keyof TState, string>;
|
|
397
|
+
};
|
|
398
|
+
/**
|
|
399
|
+
* Declarative widget node config — show a widget without writing a handler.
|
|
400
|
+
* Eliminates duplicate resource references: declare it once, not in both addNode and showWidget.
|
|
401
|
+
*
|
|
402
|
+
* `data` can be a static object or a function receiving current state for dynamic data.
|
|
403
|
+
* `field` enables auto-skip when the field is already in state.
|
|
404
|
+
*
|
|
405
|
+
* @example
|
|
406
|
+
* ```ts
|
|
407
|
+
* .addNode("show_pricing", {
|
|
408
|
+
* resource: pricingTableResource,
|
|
409
|
+
* field: "selectedPlan",
|
|
410
|
+
* description: "Show the 3 pricing tiers.",
|
|
411
|
+
* data: (state) => ({ ccnName: state.ccnName, offers: computeOffers(state.idcc) }),
|
|
412
|
+
* })
|
|
413
|
+
* ```
|
|
414
|
+
*/
|
|
415
|
+
type WidgetNodeConfig<TState extends Record<string, unknown> = Record<string, unknown>> = {
|
|
416
|
+
resource: RegisteredResource;
|
|
361
417
|
field?: Extract<keyof TState, string>;
|
|
418
|
+
description?: string;
|
|
419
|
+
data?: Record<string, unknown> | ((state: Partial<TState>) => Record<string, unknown>);
|
|
362
420
|
};
|
|
363
421
|
/**
|
|
364
422
|
* Node handler — a single function type for all node kinds.
|
|
365
423
|
* The return value determines behavior:
|
|
366
424
|
* - `Partial<TState>` → action node (state merged, auto-advance)
|
|
367
|
-
* - `InterruptSignal` → interrupt (pause, ask user)
|
|
425
|
+
* - `InterruptSignal` → interrupt (pause, ask user one or more questions)
|
|
368
426
|
* - `WidgetSignal` → widget step (pause, show widget)
|
|
369
427
|
*/
|
|
370
428
|
type NodeHandler<TState> = (state: Partial<TState>, meta?: Record<string, unknown>) => MaybePromise<Partial<TState> | InterruptSignal | WidgetSignal>;
|
|
@@ -381,20 +439,24 @@ type FlowConfig = {
|
|
|
381
439
|
/** Description for the AI (explains when to use this flow) */
|
|
382
440
|
description: string;
|
|
383
441
|
/**
|
|
384
|
-
*
|
|
385
|
-
*
|
|
386
|
-
* Keys are the field names used in `interrupt({ field })`,
|
|
442
|
+
* Define the flow's state — each field the flow collects.
|
|
443
|
+
* Keys are the field names used in `interrupt({ field })` or `NodeConfig.field`,
|
|
387
444
|
* values are Zod schemas with `.describe()`.
|
|
388
445
|
*
|
|
446
|
+
* The state definition serves two purposes:
|
|
447
|
+
* 1. Type inference — `TState` is automatically derived, no explicit generic needed
|
|
448
|
+
* 2. AI protocol — field names, types, and descriptions are included in the tool
|
|
449
|
+
* description so the AI can pre-fill answers via `_meta.flow.state`
|
|
450
|
+
*
|
|
389
451
|
* @example
|
|
390
452
|
* ```ts
|
|
391
|
-
*
|
|
453
|
+
* state: {
|
|
392
454
|
* country: z.string().describe("Country the business is based in"),
|
|
393
455
|
* status: z.enum(["registered", "unregistered"]).describe("Business registration status"),
|
|
394
456
|
* }
|
|
395
457
|
* ```
|
|
396
458
|
*/
|
|
397
|
-
|
|
459
|
+
state: Record<string, z.ZodType>;
|
|
398
460
|
/** Optional tool annotations */
|
|
399
461
|
annotations?: {
|
|
400
462
|
readOnlyHint?: boolean;
|
|
@@ -403,6 +465,24 @@ type FlowConfig = {
|
|
|
403
465
|
destructiveHint?: boolean;
|
|
404
466
|
};
|
|
405
467
|
};
|
|
468
|
+
/**
|
|
469
|
+
* Infer the runtime state type from a flow's state schema definition.
|
|
470
|
+
*
|
|
471
|
+
* @example
|
|
472
|
+
* ```ts
|
|
473
|
+
* const config = {
|
|
474
|
+
* state: {
|
|
475
|
+
* country: z.enum(["FR", "DE"]),
|
|
476
|
+
* status: z.enum(["registered", "unregistered"]),
|
|
477
|
+
* }
|
|
478
|
+
* };
|
|
479
|
+
* type MyState = InferFlowState<typeof config.state>;
|
|
480
|
+
* // { country: "FR" | "DE"; status: "registered" | "unregistered" }
|
|
481
|
+
* ```
|
|
482
|
+
*/
|
|
483
|
+
type InferFlowState<T extends Record<string, z.ZodType>> = {
|
|
484
|
+
[K in keyof T]: z.infer<T[K]>;
|
|
485
|
+
};
|
|
406
486
|
/**
|
|
407
487
|
* A compiled flow — can be registered on an McpServer.
|
|
408
488
|
*/
|
|
@@ -423,7 +503,7 @@ type RegisteredFlow = {
|
|
|
423
503
|
* title: "User Onboarding",
|
|
424
504
|
* description: "Guides users through onboarding",
|
|
425
505
|
* })
|
|
426
|
-
* .addNode("ask_name", () => interrupt({ question: "What's your name?", field: "name" }))
|
|
506
|
+
* .addNode("ask_name", (state) => interrupt({ question: "What's your name?", field: "name" }))
|
|
427
507
|
* .addNode("greet", (state) => ({ greeting: `Hello ${state.name}!` }))
|
|
428
508
|
* .addEdge(START, "ask_name")
|
|
429
509
|
* .addEdge("ask_name", "greet")
|
|
@@ -436,15 +516,32 @@ declare class StateGraph<TState extends Record<string, unknown>> {
|
|
|
436
516
|
private nodeConfigs;
|
|
437
517
|
private edges;
|
|
438
518
|
private config;
|
|
519
|
+
private resources;
|
|
439
520
|
constructor(config: FlowConfig);
|
|
440
521
|
/**
|
|
441
522
|
* Add a node with just a handler.
|
|
442
523
|
*/
|
|
443
524
|
addNode(name: string, handler: NodeHandler<TState>): this;
|
|
444
525
|
/**
|
|
445
|
-
* Add a node with config
|
|
526
|
+
* Add a node with config and a handler.
|
|
527
|
+
* Pass `field` to enable auto-skip on widget nodes.
|
|
446
528
|
*/
|
|
447
529
|
addNode(name: string, config: NodeConfig<TState>, handler: NodeHandler<TState>): this;
|
|
530
|
+
/**
|
|
531
|
+
* Declarative widget node — show a widget without writing a handler.
|
|
532
|
+
* Resource is declared once; no `showWidget()` call needed.
|
|
533
|
+
*
|
|
534
|
+
* @example
|
|
535
|
+
* ```ts
|
|
536
|
+
* .addNode("show_pricing", {
|
|
537
|
+
* resource: pricingResource,
|
|
538
|
+
* field: "selectedPlan",
|
|
539
|
+
* description: "Show the pricing tiers.",
|
|
540
|
+
* data: (state) => ({ offers: computeOffers(state.idcc) }),
|
|
541
|
+
* })
|
|
542
|
+
* ```
|
|
543
|
+
*/
|
|
544
|
+
addNode(name: string, config: WidgetNodeConfig<TState>): this;
|
|
448
545
|
/**
|
|
449
546
|
* Add a direct edge between two nodes.
|
|
450
547
|
*
|
|
@@ -470,16 +567,22 @@ declare class StateGraph<TState extends Record<string, unknown>> {
|
|
|
470
567
|
/**
|
|
471
568
|
* Create a new flow graph — convenience factory for `new StateGraph()`.
|
|
472
569
|
*
|
|
570
|
+
* The state type is automatically inferred from the `state` definition —
|
|
571
|
+
* no explicit generic parameter needed.
|
|
572
|
+
*
|
|
473
573
|
* @example
|
|
474
574
|
* ```ts
|
|
475
575
|
* import { createFlow, interrupt, START, END } from "@waniwani/sdk/mcp";
|
|
576
|
+
* import { z } from "zod";
|
|
476
577
|
*
|
|
477
|
-
*
|
|
478
|
-
*
|
|
479
|
-
* const flow = createFlow<MyState>({
|
|
578
|
+
* const flow = createFlow({
|
|
480
579
|
* id: "onboarding",
|
|
481
580
|
* title: "User Onboarding",
|
|
482
581
|
* description: "Guides users through onboarding. Use when a user wants to get started.",
|
|
582
|
+
* state: {
|
|
583
|
+
* name: z.string().describe("The user's name"),
|
|
584
|
+
* email: z.string().describe("The user's email address"),
|
|
585
|
+
* },
|
|
483
586
|
* })
|
|
484
587
|
* .addNode("ask_name", () => interrupt({ question: "What's your name?", field: "name" }))
|
|
485
588
|
* .addNode("ask_email", () => interrupt({ question: "What's your email?", field: "email" }))
|
|
@@ -489,7 +592,9 @@ declare class StateGraph<TState extends Record<string, unknown>> {
|
|
|
489
592
|
* .compile();
|
|
490
593
|
* ```
|
|
491
594
|
*/
|
|
492
|
-
declare function createFlow<
|
|
595
|
+
declare function createFlow<const TSchema extends Record<string, z.ZodType>>(config: Omit<FlowConfig, "state"> & {
|
|
596
|
+
state: TSchema;
|
|
597
|
+
}): StateGraph<InferFlowState<TSchema>>;
|
|
493
598
|
|
|
494
599
|
/**
|
|
495
600
|
* Creates a reusable UI resource (HTML template) that can be attached
|
|
@@ -591,4 +696,257 @@ declare function createTool<TInput extends z.ZodRawShape>(config: ToolConfig<TIn
|
|
|
591
696
|
*/
|
|
592
697
|
declare function registerTools(server: McpServer, tools: RegisteredTool[]): Promise<void>;
|
|
593
698
|
|
|
594
|
-
|
|
699
|
+
/**
|
|
700
|
+
* Server-side API route handler for widget tracking events.
|
|
701
|
+
*
|
|
702
|
+
* Receives batched events from the `useWaniwani` React hook and forwards them
|
|
703
|
+
* to the WaniWani backend using the server-side SDK.
|
|
704
|
+
*
|
|
705
|
+
* @example Next.js App Router
|
|
706
|
+
* ```typescript
|
|
707
|
+
* // app/api/waniwani/track/route.ts
|
|
708
|
+
* import { createTrackingRoute } from "@waniwani/sdk/mcp";
|
|
709
|
+
*
|
|
710
|
+
* const handler = createTrackingRoute({
|
|
711
|
+
* apiKey: process.env.WANIWANI_API_KEY,
|
|
712
|
+
* baseUrl: process.env.WANIWANI_BASE_URL,
|
|
713
|
+
* });
|
|
714
|
+
*
|
|
715
|
+
* export { handler as POST };
|
|
716
|
+
* ```
|
|
717
|
+
*/
|
|
718
|
+
interface TrackingRouteOptions {
|
|
719
|
+
/** API key for the WaniWani backend. Defaults to WANIWANI_API_KEY env var. */
|
|
720
|
+
apiKey?: string;
|
|
721
|
+
/** Base URL for the WaniWani backend. Defaults to https://app.waniwani.ai. */
|
|
722
|
+
baseUrl?: string;
|
|
723
|
+
}
|
|
724
|
+
/**
|
|
725
|
+
* Creates a POST handler that receives tracking events from `useWaniwani`
|
|
726
|
+
* and forwards them to the WaniWani backend.
|
|
727
|
+
*/
|
|
728
|
+
declare function createTrackingRoute(options?: TrackingRouteOptions): (request: Request) => Promise<Response>;
|
|
729
|
+
|
|
730
|
+
type EventType = "session.started" | "tool.called" | "quote.requested" | "quote.succeeded" | "quote.failed" | "link.clicked" | "purchase.completed" | "widget_render" | "widget_click" | "widget_link_click" | "widget_error" | "widget_scroll" | "widget_form_field" | "widget_form_submit";
|
|
731
|
+
interface ToolCalledProperties {
|
|
732
|
+
name?: string;
|
|
733
|
+
type?: "pricing" | "product_info" | "availability" | "support" | "other";
|
|
734
|
+
}
|
|
735
|
+
interface QuoteSucceededProperties {
|
|
736
|
+
amount?: number;
|
|
737
|
+
currency?: string;
|
|
738
|
+
}
|
|
739
|
+
interface LinkClickedProperties {
|
|
740
|
+
url?: string;
|
|
741
|
+
}
|
|
742
|
+
interface PurchaseCompletedProperties {
|
|
743
|
+
amount?: number;
|
|
744
|
+
currency?: string;
|
|
745
|
+
}
|
|
746
|
+
interface TrackingContext {
|
|
747
|
+
/**
|
|
748
|
+
* MCP request metadata passed through to the API.
|
|
749
|
+
*
|
|
750
|
+
* Location varies by MCP library:
|
|
751
|
+
* - `@vercel/mcp-handler`: `extra._meta`
|
|
752
|
+
* - `@modelcontextprotocol/sdk`: `request.params._meta`
|
|
753
|
+
*/
|
|
754
|
+
meta?: Record<string, unknown>;
|
|
755
|
+
/** Legacy metadata field supported for backward compatibility. */
|
|
756
|
+
metadata?: Record<string, unknown>;
|
|
757
|
+
/** Optional explicit correlation fields. */
|
|
758
|
+
sessionId?: string;
|
|
759
|
+
traceId?: string;
|
|
760
|
+
requestId?: string;
|
|
761
|
+
correlationId?: string;
|
|
762
|
+
externalUserId?: string;
|
|
763
|
+
/** Optional explicit envelope fields. */
|
|
764
|
+
eventId?: string;
|
|
765
|
+
timestamp?: string | Date;
|
|
766
|
+
source?: string;
|
|
767
|
+
}
|
|
768
|
+
/**
|
|
769
|
+
* Modern tracking shape (preferred).
|
|
770
|
+
*/
|
|
771
|
+
interface BaseTrackEvent extends TrackingContext {
|
|
772
|
+
event: EventType;
|
|
773
|
+
properties?: Record<string, unknown>;
|
|
774
|
+
}
|
|
775
|
+
type TrackEvent = ({
|
|
776
|
+
event: "session.started";
|
|
777
|
+
} & BaseTrackEvent) | ({
|
|
778
|
+
event: "tool.called";
|
|
779
|
+
properties?: ToolCalledProperties;
|
|
780
|
+
} & BaseTrackEvent) | ({
|
|
781
|
+
event: "quote.requested";
|
|
782
|
+
} & BaseTrackEvent) | ({
|
|
783
|
+
event: "quote.succeeded";
|
|
784
|
+
properties?: QuoteSucceededProperties;
|
|
785
|
+
} & BaseTrackEvent) | ({
|
|
786
|
+
event: "quote.failed";
|
|
787
|
+
} & BaseTrackEvent) | ({
|
|
788
|
+
event: "link.clicked";
|
|
789
|
+
properties?: LinkClickedProperties;
|
|
790
|
+
} & BaseTrackEvent) | ({
|
|
791
|
+
event: "purchase.completed";
|
|
792
|
+
properties?: PurchaseCompletedProperties;
|
|
793
|
+
} & BaseTrackEvent);
|
|
794
|
+
/**
|
|
795
|
+
* Legacy tracking shape supported for existing integrations.
|
|
796
|
+
*/
|
|
797
|
+
interface LegacyTrackEvent extends TrackingContext {
|
|
798
|
+
eventType: EventType;
|
|
799
|
+
properties?: Record<string, unknown>;
|
|
800
|
+
toolName?: string;
|
|
801
|
+
toolType?: ToolCalledProperties["type"];
|
|
802
|
+
quoteAmount?: number;
|
|
803
|
+
quoteCurrency?: string;
|
|
804
|
+
linkUrl?: string;
|
|
805
|
+
purchaseAmount?: number;
|
|
806
|
+
purchaseCurrency?: string;
|
|
807
|
+
}
|
|
808
|
+
/**
|
|
809
|
+
* Public track input accepted by `client.track()`.
|
|
810
|
+
*/
|
|
811
|
+
type TrackInput = TrackEvent | LegacyTrackEvent;
|
|
812
|
+
interface TrackingConfig {
|
|
813
|
+
/** Events API V2 endpoint path. */
|
|
814
|
+
endpointPath?: string;
|
|
815
|
+
/** Periodic flush interval for buffered events. */
|
|
816
|
+
flushIntervalMs?: number;
|
|
817
|
+
/** Max events per HTTP batch send. */
|
|
818
|
+
maxBatchSize?: number;
|
|
819
|
+
/** Max in-memory buffer size before oldest items are dropped. */
|
|
820
|
+
maxBufferSize?: number;
|
|
821
|
+
/** Number of retries for retryable failures. */
|
|
822
|
+
maxRetries?: number;
|
|
823
|
+
/** Retry backoff base delay. */
|
|
824
|
+
retryBaseDelayMs?: number;
|
|
825
|
+
/** Retry backoff max delay. */
|
|
826
|
+
retryMaxDelayMs?: number;
|
|
827
|
+
/** Default shutdown timeout when none is provided. */
|
|
828
|
+
shutdownTimeoutMs?: number;
|
|
829
|
+
}
|
|
830
|
+
interface TrackingShutdownOptions {
|
|
831
|
+
timeoutMs?: number;
|
|
832
|
+
}
|
|
833
|
+
interface TrackingShutdownResult {
|
|
834
|
+
timedOut: boolean;
|
|
835
|
+
pendingEvents: number;
|
|
836
|
+
}
|
|
837
|
+
/**
|
|
838
|
+
* Tracking module methods for WaniWaniClient.
|
|
839
|
+
*/
|
|
840
|
+
interface TrackingClient {
|
|
841
|
+
/**
|
|
842
|
+
* Track an event using modern or legacy input shape.
|
|
843
|
+
* Returns a deterministic event id immediately after enqueue.
|
|
844
|
+
*/
|
|
845
|
+
track: (event: TrackInput) => Promise<{
|
|
846
|
+
eventId: string;
|
|
847
|
+
}>;
|
|
848
|
+
/**
|
|
849
|
+
* Flush all currently buffered events.
|
|
850
|
+
*/
|
|
851
|
+
flush: () => Promise<void>;
|
|
852
|
+
/**
|
|
853
|
+
* Flush and stop the transport.
|
|
854
|
+
*/
|
|
855
|
+
shutdown: (options?: TrackingShutdownOptions) => Promise<TrackingShutdownResult>;
|
|
856
|
+
}
|
|
857
|
+
|
|
858
|
+
interface WaniWaniConfig {
|
|
859
|
+
/**
|
|
860
|
+
* Your MCP environment API key
|
|
861
|
+
*
|
|
862
|
+
* Defaults to process.env.WANIWANI_API_KEY if not provided
|
|
863
|
+
*
|
|
864
|
+
* To create one, visit:
|
|
865
|
+
* https://app.waniwani.com/mcp/environments
|
|
866
|
+
*/
|
|
867
|
+
apiKey?: string;
|
|
868
|
+
/**
|
|
869
|
+
* The base URL of the WaniWani API
|
|
870
|
+
*
|
|
871
|
+
* Defaults to https://app.waniwani.ai
|
|
872
|
+
*/
|
|
873
|
+
baseUrl?: string;
|
|
874
|
+
/**
|
|
875
|
+
* Tracking transport behavior.
|
|
876
|
+
*/
|
|
877
|
+
tracking?: TrackingConfig;
|
|
878
|
+
}
|
|
879
|
+
/**
|
|
880
|
+
* WaniWani SDK Client
|
|
881
|
+
*
|
|
882
|
+
* Extends with each module:
|
|
883
|
+
* - TrackingClient: track(), flush(), shutdown()
|
|
884
|
+
*
|
|
885
|
+
* Pass this client to framework adapters:
|
|
886
|
+
* - `toNextJsHandler(wani, { ... })` for Next.js route handlers
|
|
887
|
+
*/
|
|
888
|
+
interface WaniWaniClient extends TrackingClient {
|
|
889
|
+
/** @internal Resolved config — used by framework adapters */
|
|
890
|
+
readonly _config: InternalConfig;
|
|
891
|
+
}
|
|
892
|
+
interface InternalConfig {
|
|
893
|
+
baseUrl: string;
|
|
894
|
+
apiKey: string | undefined;
|
|
895
|
+
tracking: Required<TrackingConfig>;
|
|
896
|
+
}
|
|
897
|
+
|
|
898
|
+
type WaniwaniTracker = Pick<WaniWaniClient, "flush" | "track" | "_config">;
|
|
899
|
+
type UnknownRecord = Record<string, unknown>;
|
|
900
|
+
/**
|
|
901
|
+
* Options for withWaniwani().
|
|
902
|
+
*/
|
|
903
|
+
type WithWaniwaniOptions = {
|
|
904
|
+
/**
|
|
905
|
+
* Optional pre-built WaniWani client.
|
|
906
|
+
* When omitted, a new client is created from `config`.
|
|
907
|
+
*/
|
|
908
|
+
client?: WaniwaniTracker;
|
|
909
|
+
/**
|
|
910
|
+
* WaniWani client config used when `client` is omitted.
|
|
911
|
+
*/
|
|
912
|
+
config?: WaniWaniConfig;
|
|
913
|
+
/**
|
|
914
|
+
* Optional explicit tool type. Defaults to `"other"`.
|
|
915
|
+
*/
|
|
916
|
+
toolType?: ToolCalledProperties["type"] | ((toolName: string) => ToolCalledProperties["type"] | undefined);
|
|
917
|
+
/**
|
|
918
|
+
* Optional metadata merged into every tracked event.
|
|
919
|
+
*/
|
|
920
|
+
metadata?: UnknownRecord;
|
|
921
|
+
/**
|
|
922
|
+
* Flush tracking transport after each tool call.
|
|
923
|
+
*/
|
|
924
|
+
flushAfterToolCall?: boolean;
|
|
925
|
+
/**
|
|
926
|
+
* Optional error callback for non-fatal tracking errors.
|
|
927
|
+
*/
|
|
928
|
+
onError?: (error: Error) => void;
|
|
929
|
+
/**
|
|
930
|
+
* Inject widget tracking config into tool response `_meta.waniwani` so browser
|
|
931
|
+
* widgets can send events directly to the WaniWani backend.
|
|
932
|
+
*
|
|
933
|
+
* Always injects `endpoint`. Injects `token` when an API key is configured
|
|
934
|
+
* and token minting succeeds.
|
|
935
|
+
*
|
|
936
|
+
* @default true
|
|
937
|
+
*/
|
|
938
|
+
injectWidgetToken?: boolean;
|
|
939
|
+
};
|
|
940
|
+
/**
|
|
941
|
+
* Wrap an MCP server so tool handlers automatically emit `tool.called` events.
|
|
942
|
+
*
|
|
943
|
+
* The wrapper intercepts `server.registerTool(...)`, tracks each invocation,
|
|
944
|
+
* then forwards execution to the original tool handler.
|
|
945
|
+
*
|
|
946
|
+
* When `injectWidgetToken` is enabled (default), tracking config is injected
|
|
947
|
+
* into tool response `_meta.waniwani` so browser widgets can post events
|
|
948
|
+
* directly to the WaniWani backend without a server-side proxy.
|
|
949
|
+
*/
|
|
950
|
+
declare function withWaniwani(server: McpServer, options?: WithWaniwaniOptions): McpServer;
|
|
951
|
+
|
|
952
|
+
export { type ConditionFn, END, type FlowConfig, type HostContext, type InferFlowState, type InterruptSignal, type NodeConfig, type NodeHandler, type RegisteredFlow, type RegisteredResource, type RegisteredTool, type ResourceConfig, START, StateGraph, type ToolCallResult, type ToolConfig, type ToolHandler, type ToolHandlerContext, type ToolResult, type ToolToolCallback, type TrackingRouteOptions, type UnifiedWidgetClient, type WidgetCSP, type WidgetPlatform, type WidgetSignal, type WithWaniwaniOptions, createFlow, createResource, createTool, createTrackingRoute, detectPlatform, interrupt, isMCPApps, isOpenAI, registerTools, showWidget, withWaniwani };
|