@xpert-ai/chatkit-ui 0.4.0 → 0.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (334) hide show
  1. package/dist/app/assets/{_baseUniq-DgIHlkQm.js → _baseUniq-DhcCNE2L.js} +1 -1
  2. package/dist/app/assets/{abap-lB8VLppN.js → abap-_IjCfpBS.js} +1 -1
  3. package/dist/app/assets/{abnf-CMm-FA7V.js → abnf-CekkQUy9.js} +1 -1
  4. package/dist/app/assets/{actionscript-C44LZKx4.js → actionscript-C9XSSYhb.js} +1 -1
  5. package/dist/app/assets/{ada-BL4d2yHl.js → ada-4vLfjsZX.js} +1 -1
  6. package/dist/app/assets/{agda-DUeBOfao.js → agda-CER1MQer.js} +1 -1
  7. package/dist/app/assets/{al-r379MYUc.js → al-DVApc0ak.js} +1 -1
  8. package/dist/app/assets/{antlr4-BhepIW3H.js → antlr4-CTOuYhug.js} +1 -1
  9. package/dist/app/assets/{apacheconf-ZblTvauv.js → apacheconf-Cx3fh3do.js} +1 -1
  10. package/dist/app/assets/{apex-DXCjRfej.js → apex-CQChIoUK.js} +1 -1
  11. package/dist/app/assets/{apl-0mvw9LXG.js → apl-rqEDU7gi.js} +1 -1
  12. package/dist/app/assets/{applescript-s8Oxmrfz.js → applescript-SibyzsWq.js} +1 -1
  13. package/dist/app/assets/{aql-BMN4x1O3.js → aql-D5s-oH6r.js} +1 -1
  14. package/dist/app/assets/{arc-xNYJT0Sf.js → arc-CqOJzRv3.js} +1 -1
  15. package/dist/app/assets/{architectureDiagram-Q4EWVU46-B3lvRgUo.js → architectureDiagram-Q4EWVU46-Sc4cdTS9.js} +1 -1
  16. package/dist/app/assets/{arduino-daTjF253.js → arduino-CAvcLJph.js} +1 -1
  17. package/dist/app/assets/{arff-DxxxOwyy.js → arff-DXHd3IWb.js} +1 -1
  18. package/dist/app/assets/{asciidoc-B0aClqCc.js → asciidoc-D1qamWMF.js} +1 -1
  19. package/dist/app/assets/{asm6502-BsfejLyD.js → asm6502-CLD-Uamm.js} +1 -1
  20. package/dist/app/assets/{asmatmel-BQPOdk6m.js → asmatmel-CTTTETEh.js} +1 -1
  21. package/dist/app/assets/{aspnet-CI7Ah4u1.js → aspnet-gANAeiiI.js} +1 -1
  22. package/dist/app/assets/{autohotkey-IQAyKsEZ.js → autohotkey-DZzEICDN.js} +1 -1
  23. package/dist/app/assets/{autoit-Cc50euDJ.js → autoit-DU2qU7yP.js} +1 -1
  24. package/dist/app/assets/{avisynth-D_3k61Mh.js → avisynth-CW7VMs_l.js} +1 -1
  25. package/dist/app/assets/{avro-idl-Dakyv0EK.js → avro-idl-m7lwvLZF.js} +1 -1
  26. package/dist/app/assets/{bash-CK4ls-uk.js → bash-DhNYFOgQ.js} +1 -1
  27. package/dist/app/assets/{basic-sAy-3U_-.js → basic-CBgclVFD.js} +1 -1
  28. package/dist/app/assets/{batch-BULEa0VP.js → batch-_m1D2SzT.js} +1 -1
  29. package/dist/app/assets/{bbcode-mxGKgZDu.js → bbcode-BuWXKUuN.js} +1 -1
  30. package/dist/app/assets/{bicep-DxUd9L5w.js → bicep-CNNhU7qf.js} +1 -1
  31. package/dist/app/assets/{birb-CT9d0Hfg.js → birb-Df15PWNN.js} +1 -1
  32. package/dist/app/assets/{bison-CJWctWOI.js → bison-pTGuYt5R.js} +1 -1
  33. package/dist/app/assets/{blockDiagram-DXYQGD6D-D-AjcpQ4.js → blockDiagram-DXYQGD6D-COmjjfPf.js} +1 -1
  34. package/dist/app/assets/{bnf-BfiH5qUl.js → bnf-5rjVHg1A.js} +1 -1
  35. package/dist/app/assets/{brainfuck-BXCfmtpc.js → brainfuck-2M-a_fzt.js} +1 -1
  36. package/dist/app/assets/{brightscript-B8Se3L7d.js → brightscript-BUcx3Uan.js} +1 -1
  37. package/dist/app/assets/{bro-BYNaGskD.js → bro-BtT_dXGd.js} +1 -1
  38. package/dist/app/assets/{bsl-rAkCQZce.js → bsl-C1h-9jbB.js} +1 -1
  39. package/dist/app/assets/{c-BLwhDOSO.js → c-Cn84DM0m.js} +1 -1
  40. package/dist/app/assets/{c4Diagram-AHTNJAMY-CqDIUKeo.js → c4Diagram-AHTNJAMY-BE1kXuuS.js} +1 -1
  41. package/dist/app/assets/{cfscript-BEVtIJMz.js → cfscript-2H4o-JIw.js} +1 -1
  42. package/dist/app/assets/{chaiscript-DcH2srx5.js → chaiscript-C1Bjxsfh.js} +1 -1
  43. package/dist/app/assets/channel-BVeXXlex.js +1 -0
  44. package/dist/app/assets/{chunk-4BX2VUAB-m_kyuUbe.js → chunk-4BX2VUAB-DZ_C_iKC.js} +1 -1
  45. package/dist/app/assets/{chunk-4TB4RGXK-BjqYS6Yy.js → chunk-4TB4RGXK-DApXi72F.js} +1 -1
  46. package/dist/app/assets/{chunk-55IACEB6-oWAL2kJR.js → chunk-55IACEB6-Dk5pcDDA.js} +1 -1
  47. package/dist/app/assets/{chunk-EDXVE4YY-BR40heM4.js → chunk-EDXVE4YY-C3768OfQ.js} +1 -1
  48. package/dist/app/assets/{chunk-FMBD7UC4-Bv7-5Ls-.js → chunk-FMBD7UC4-BvglBVER.js} +1 -1
  49. package/dist/app/assets/{chunk-OYMX7WX6-CIKeB20i.js → chunk-OYMX7WX6-DMLEPpZh.js} +1 -1
  50. package/dist/app/assets/{chunk-QZHKN3VN-CBk_nqgS.js → chunk-QZHKN3VN-_kOwjXni.js} +1 -1
  51. package/dist/app/assets/{chunk-YZCP3GAM-DbrAyIeM.js → chunk-YZCP3GAM-BofXuboV.js} +1 -1
  52. package/dist/app/assets/{cil-HIWN64iA.js → cil-DHyrqdX_.js} +1 -1
  53. package/dist/app/assets/classDiagram-6PBFFD2Q-Bx9mt6fp.js +1 -0
  54. package/dist/app/assets/classDiagram-v2-HSJHXN6E-Bx9mt6fp.js +1 -0
  55. package/dist/app/assets/{clike-DWwvlcID.js → clike-Bf02ej9F.js} +1 -1
  56. package/dist/app/assets/{clojure-m5aYwMVY.js → clojure-LoSvb9pa.js} +1 -1
  57. package/dist/app/assets/clone-C3qA4Qv-.js +1 -0
  58. package/dist/app/assets/{cmake-D1AphalP.js → cmake-BkWc04wT.js} +1 -1
  59. package/dist/app/assets/{cobol-DfRj-gRZ.js → cobol-_nZTdMgt.js} +1 -1
  60. package/dist/app/assets/{coffeescript-DBVw6hft.js → coffeescript-DT5ySztk.js} +1 -1
  61. package/dist/app/assets/{concurnas-p-HBsubn.js → concurnas-DSAYXuEZ.js} +1 -1
  62. package/dist/app/assets/{coq-DpEsabSd.js → coq-CrgIrANd.js} +1 -1
  63. package/dist/app/assets/{core-Bu1sMhBI.js → core-C27f_Wct.js} +1 -1
  64. package/dist/app/assets/{cose-bilkent-S5V4N54A-Bu1oc34k.js → cose-bilkent-S5V4N54A-BqnGiR9q.js} +1 -1
  65. package/dist/app/assets/{cpp-DWOjniRs.js → cpp-DNsF-Kz_.js} +1 -1
  66. package/dist/app/assets/{crystal-CQJ7kmd6.js → crystal-yRp-Ck4J.js} +1 -1
  67. package/dist/app/assets/{csharp-D7MPpOcK.js → csharp-Dh8DUZOE.js} +1 -1
  68. package/dist/app/assets/{cshtml-DKqAFWTy.js → cshtml-CuaqD5vI.js} +1 -1
  69. package/dist/app/assets/{csp-CdccqHH0.js → csp-TuU29N7c.js} +1 -1
  70. package/dist/app/assets/{css-CF8Mhm8t.js → css-DfThiGDT.js} +1 -1
  71. package/dist/app/assets/{css-extras-BzYoJo_2.js → css-extras-DN46Xx9D.js} +1 -1
  72. package/dist/app/assets/{csv-BkNUxNGN.js → csv-BEpZMNNd.js} +1 -1
  73. package/dist/app/assets/{cypher-B6Ago4_f.js → cypher-CXuYSM3m.js} +1 -1
  74. package/dist/app/assets/{d-0OD8he-p.js → d-DBLRM2HM.js} +1 -1
  75. package/dist/app/assets/{dagre-KV5264BT-CtnwN-Dh.js → dagre-KV5264BT-YbfphbKk.js} +1 -1
  76. package/dist/app/assets/{dart-CRBezsEJ.js → dart-ClooZxtE.js} +1 -1
  77. package/dist/app/assets/{dataweave-C5NSsb9T.js → dataweave-iLNtOM4o.js} +1 -1
  78. package/dist/app/assets/{dax-DA_08-S-.js → dax-OQ4SKQyZ.js} +1 -1
  79. package/dist/app/assets/{dhall-B5eyKfIX.js → dhall-BcEs9_Il.js} +1 -1
  80. package/dist/app/assets/{diagram-5BDNPKRD-BWMmYkfv.js → diagram-5BDNPKRD-CrSfz4ol.js} +1 -1
  81. package/dist/app/assets/{diagram-G4DWMVQ6-BZqIfTTc.js → diagram-G4DWMVQ6-COOuGquM.js} +1 -1
  82. package/dist/app/assets/{diagram-MMDJMWI5--lVSAtvL.js → diagram-MMDJMWI5-CLudV92t.js} +1 -1
  83. package/dist/app/assets/{diagram-TYMM5635-CAdX-pMH.js → diagram-TYMM5635-7hK6dmHH.js} +1 -1
  84. package/dist/app/assets/{diff-BcQ3lgLg.js → diff-C3sAjilP.js} +1 -1
  85. package/dist/app/assets/{django-C_tw_AYj.js → django-DWDamL3u.js} +1 -1
  86. package/dist/app/assets/{dns-zone-file-CyqP1EvD.js → dns-zone-file-Bs-k24AT.js} +1 -1
  87. package/dist/app/assets/{docker-wz3Lj9Db.js → docker-CbsxZOR_.js} +1 -1
  88. package/dist/app/assets/{dot-B-DDY2H8.js → dot-cmPUgJiw.js} +1 -1
  89. package/dist/app/assets/{ebnf-X2ewhLUy.js → ebnf-B20H8M5E.js} +1 -1
  90. package/dist/app/assets/{editorconfig-qcUVBPkT.js → editorconfig-CD8ZN3N0.js} +1 -1
  91. package/dist/app/assets/{eiffel-BAqW7pbE.js → eiffel-A2f55FY2.js} +1 -1
  92. package/dist/app/assets/{ejs-61WKLTYk.js → ejs-DFRIdoGh.js} +1 -1
  93. package/dist/app/assets/{elixir-EzFqXZk2.js → elixir-_kwd_REn.js} +1 -1
  94. package/dist/app/assets/{elm-DmnpDBDa.js → elm-DQY_1HmV.js} +1 -1
  95. package/dist/app/assets/{erDiagram-SMLLAGMA-D-t806Qt.js → erDiagram-SMLLAGMA-S51NLIRq.js} +1 -1
  96. package/dist/app/assets/{erb-CcQKm2oQ.js → erb-Dhn1_rOy.js} +1 -1
  97. package/dist/app/assets/{erlang-DW-WXopd.js → erlang-X69_IFoF.js} +1 -1
  98. package/dist/app/assets/{etlua-BJxhJpxy.js → etlua-KG8BhZyB.js} +1 -1
  99. package/dist/app/assets/{excel-formula-7oXshpg3.js → excel-formula-CNlbsFIR.js} +1 -1
  100. package/dist/app/assets/{factor-BC8WW8Od.js → factor-B3wH4xq3.js} +1 -1
  101. package/dist/app/assets/{false-C6lXY4VC.js → false-CgytrAC7.js} +1 -1
  102. package/dist/app/assets/{firestore-security-rules-B4dcnH7G.js → firestore-security-rules-Coo0DWR5.js} +1 -1
  103. package/dist/app/assets/{flow-CFpX3faq.js → flow-Cy8AbL-B.js} +1 -1
  104. package/dist/app/assets/{flowDiagram-DWJPFMVM-BjTXVIWo.js → flowDiagram-DWJPFMVM-3gGb45g_.js} +1 -1
  105. package/dist/app/assets/{fortran-RwIGxqZ9.js → fortran-h5riSewD.js} +1 -1
  106. package/dist/app/assets/{fsharp-C5S6wt_8.js → fsharp-CkvWu7RS.js} +1 -1
  107. package/dist/app/assets/{ftl-DXTedmzK.js → ftl-A8LPSp4k.js} +1 -1
  108. package/dist/app/assets/{ganttDiagram-T4ZO3ILL-DPqZs20S.js → ganttDiagram-T4ZO3ILL-LEeFMCzh.js} +1 -1
  109. package/dist/app/assets/{gap-C0KFM8Sn.js → gap-Db8FJjp9.js} +1 -1
  110. package/dist/app/assets/{gcode-Ck54RmDV.js → gcode-CmfDqUKZ.js} +1 -1
  111. package/dist/app/assets/{gdscript-DX_Bezt8.js → gdscript-DJWWbktQ.js} +1 -1
  112. package/dist/app/assets/{gedcom-54x_GC3_.js → gedcom-DZLZnv4o.js} +1 -1
  113. package/dist/app/assets/{gherkin-DpY70MhW.js → gherkin-dhrCyYj5.js} +1 -1
  114. package/dist/app/assets/{git-Bg40h27U.js → git-Dee4nqm_.js} +1 -1
  115. package/dist/app/assets/{gitGraphDiagram-UUTBAWPF-CMuB9NDh.js → gitGraphDiagram-UUTBAWPF-Cx0_OfVi.js} +1 -1
  116. package/dist/app/assets/{glsl-BcqYx_6I.js → glsl-CGkGtKvP.js} +1 -1
  117. package/dist/app/assets/{gml-DJePf9E6.js → gml-Cyovha5T.js} +1 -1
  118. package/dist/app/assets/{gn-hOkcYKt5.js → gn-CZZWsczF.js} +1 -1
  119. package/dist/app/assets/{go-CBdX4RKq.js → go-TELCDRfl.js} +1 -1
  120. package/dist/app/assets/{go-module-8CqpJAjn.js → go-module-DwdrJQUt.js} +1 -1
  121. package/dist/app/assets/{graph-DiXdxCpd.js → graph-Def3Ff6O.js} +1 -1
  122. package/dist/app/assets/{graphql-DzkHa_Lt.js → graphql-BQkD7E1b.js} +1 -1
  123. package/dist/app/assets/{groovy-CuKAytl9.js → groovy-DSpGF2Ks.js} +1 -1
  124. package/dist/app/assets/{haml-BHlOO4D-.js → haml-VPtmscyv.js} +1 -1
  125. package/dist/app/assets/{handlebars-DgTuPlRj.js → handlebars-B6tGrDNr.js} +1 -1
  126. package/dist/app/assets/{haskell-BYOS6zzQ.js → haskell-sD0oStLn.js} +1 -1
  127. package/dist/app/assets/{haxe-QCi0Miq5.js → haxe-CHQlINJc.js} +1 -1
  128. package/dist/app/assets/{hcl-DCUWHECM.js → hcl-B8fn6CLE.js} +1 -1
  129. package/dist/app/assets/{hlsl-Bp2hwiJd.js → hlsl-BRt3KlBi.js} +1 -1
  130. package/dist/app/assets/{hoon-BzW-9-xp.js → hoon-Y1tyBFu_.js} +1 -1
  131. package/dist/app/assets/{hpkp-BWPv-cBm.js → hpkp-B6tkTng1.js} +1 -1
  132. package/dist/app/assets/{hsts-CJiK6uQM.js → hsts-BT0gpx-A.js} +1 -1
  133. package/dist/app/assets/{http-DQlaEk07.js → http-Vi5xN3SQ.js} +1 -1
  134. package/dist/app/assets/{ichigojam-K2-54W_i.js → ichigojam-DwzjQwUK.js} +1 -1
  135. package/dist/app/assets/{icon-DtDq4nwU.js → icon-CpNOZuom.js} +1 -1
  136. package/dist/app/assets/{icu-message-format-CzUzfEvD.js → icu-message-format-E7DXI-1d.js} +1 -1
  137. package/dist/app/assets/{idris-CZStDvUu.js → idris-Z32VP4RM.js} +1 -1
  138. package/dist/app/assets/{iecst-BJn6mRZC.js → iecst-CN5WMb2J.js} +1 -1
  139. package/dist/app/assets/{ignore-BZ9E9rMx.js → ignore-BPsyPKDL.js} +1 -1
  140. package/dist/app/assets/{index-BCZfU1mO.js → index-t-7uVNvT.js} +163 -163
  141. package/dist/app/assets/{infoDiagram-42DDH7IO-BVqN5Cf-.js → infoDiagram-42DDH7IO-CloBfZbd.js} +1 -1
  142. package/dist/app/assets/{inform7-C64PxE5P.js → inform7-DGLBlAGK.js} +1 -1
  143. package/dist/app/assets/{ini-D6uyClxM.js → ini-BV3KOH-Q.js} +1 -1
  144. package/dist/app/assets/{io-BEddoOXw.js → io-CRo9k3OJ.js} +1 -1
  145. package/dist/app/assets/{ishikawaDiagram-UXIWVN3A-DMCnYQDL.js → ishikawaDiagram-UXIWVN3A-CYPPbF3l.js} +1 -1
  146. package/dist/app/assets/{j-BZjnLaoD.js → j-CHGRxEkV.js} +1 -1
  147. package/dist/app/assets/{java-C16BQXmJ.js → java-DcCc37S9.js} +1 -1
  148. package/dist/app/assets/{javadoc-Bp_K_1w9.js → javadoc-BajT0oRQ.js} +1 -1
  149. package/dist/app/assets/{javadoclike-CCL57XT3.js → javadoclike-BMMsIcdV.js} +1 -1
  150. package/dist/app/assets/{javascript-UKmanPpI.js → javascript-DyXwMbB3.js} +1 -1
  151. package/dist/app/assets/{javastacktrace-Bt6MmvHK.js → javastacktrace-DTvR039l.js} +1 -1
  152. package/dist/app/assets/{jexl-BSIE3NAS.js → jexl-Ot_nPhCk.js} +1 -1
  153. package/dist/app/assets/{jolie-DwAozljt.js → jolie-BUy51jNj.js} +1 -1
  154. package/dist/app/assets/{journeyDiagram-VCZTEJTY-hfkm8x7F.js → journeyDiagram-VCZTEJTY-Brna5vzp.js} +1 -1
  155. package/dist/app/assets/{jq-B6HQblEc.js → jq-5mmxZEvV.js} +1 -1
  156. package/dist/app/assets/{js-extras-C4kJ0q_P.js → js-extras-zVUUAKO_.js} +1 -1
  157. package/dist/app/assets/{js-templates-BF0RGSgj.js → js-templates-iJxD_2Sa.js} +1 -1
  158. package/dist/app/assets/{jsdoc-BaH_CjIP.js → jsdoc-DJ_m_yCh.js} +1 -1
  159. package/dist/app/assets/{json-JpTWEtLR.js → json-CZjhVgPK.js} +1 -1
  160. package/dist/app/assets/{json5-DJHj-rXR.js → json5-BNvFsIbI.js} +1 -1
  161. package/dist/app/assets/{jsonp-DpjTc_na.js → jsonp-gRo4PPGN.js} +1 -1
  162. package/dist/app/assets/{jsstacktrace-DnLa9vhb.js → jsstacktrace-CT2oLlCK.js} +1 -1
  163. package/dist/app/assets/{jsx-BRHrY2BL.js → jsx-d0efg1vk.js} +1 -1
  164. package/dist/app/assets/{julia-9zZ-iwP_.js → julia-Dqs_RiDo.js} +1 -1
  165. package/dist/app/assets/{kanban-definition-6JOO6SKY-DE3YihJJ.js → kanban-definition-6JOO6SKY-tE-1j_ia.js} +1 -1
  166. package/dist/app/assets/{keepalived-Uu89aoXa.js → keepalived-Ber37oOF.js} +1 -1
  167. package/dist/app/assets/{keyman-DFGcwqDK.js → keyman-C5bFTeeI.js} +1 -1
  168. package/dist/app/assets/{kotlin-LTPAm-Va.js → kotlin-DBq0G8Hn.js} +1 -1
  169. package/dist/app/assets/{kumir-BcPP82e-.js → kumir-_r-igbu1.js} +1 -1
  170. package/dist/app/assets/{kusto-CxK7uEBf.js → kusto-Dnrek9TI.js} +1 -1
  171. package/dist/app/assets/{latex-CJOru6Xl.js → latex-B78lTwvc.js} +1 -1
  172. package/dist/app/assets/{latte-yocJ797x.js → latte-CaSKAGnv.js} +1 -1
  173. package/dist/app/assets/{layout-CXEXCcrp.js → layout-BZiHvIMv.js} +1 -1
  174. package/dist/app/assets/{less-BmacGfdt.js → less-C0gq5vaY.js} +1 -1
  175. package/dist/app/assets/{lilypond-XADZqv26.js → lilypond-GMV-kxfc.js} +1 -1
  176. package/dist/app/assets/{linear-BoHhQExU.js → linear-sCxwL64x.js} +1 -1
  177. package/dist/app/assets/{liquid-DrXu3I4o.js → liquid-Bjcywher.js} +1 -1
  178. package/dist/app/assets/{lisp-D7GBOEAq.js → lisp-Di4LOhy9.js} +1 -1
  179. package/dist/app/assets/{livescript-CYEGDtxo.js → livescript-CgOnolfS.js} +1 -1
  180. package/dist/app/assets/{llvm-Cg59OFV5.js → llvm-BGjbbrCi.js} +1 -1
  181. package/dist/app/assets/{log-Dgz6RJ76.js → log-D7n8H9fm.js} +1 -1
  182. package/dist/app/assets/{lolcode-BiaQuLMI.js → lolcode-Cu9-2TFS.js} +1 -1
  183. package/dist/app/assets/{lua-A_5_hnzN.js → lua-lccF9r61.js} +1 -1
  184. package/dist/app/assets/{magma-vL3dHSsW.js → magma-DcqQ1hwM.js} +1 -1
  185. package/dist/app/assets/{makefile-C1iS0HiM.js → makefile-kISpU6yQ.js} +1 -1
  186. package/dist/app/assets/{markdown-B2oYsnLL.js → markdown-ClsPn-UJ.js} +1 -1
  187. package/dist/app/assets/{markup-DfTA_BVw.js → markup-GKEZzmxD.js} +1 -1
  188. package/dist/app/assets/{markup-templating-Cuy4LPLx.js → markup-templating-CWO2xZeJ.js} +1 -1
  189. package/dist/app/assets/{matlab-D6BnQC4u.js → matlab-gPoR8X9J.js} +1 -1
  190. package/dist/app/assets/{maxscript-C6TABA1u.js → maxscript-BHY3xiu7.js} +1 -1
  191. package/dist/app/assets/{mel-4rfx7Bfv.js → mel-rpDPR1uL.js} +1 -1
  192. package/dist/app/assets/{mermaid-C9zerIka.js → mermaid-BuzahRsL.js} +1 -1
  193. package/dist/app/assets/{min-CYeWfD_S.js → min-qX6PyCsg.js} +1 -1
  194. package/dist/app/assets/{mindmap-definition-QFDTVHPH-DEJyZ1TS.js → mindmap-definition-QFDTVHPH-ssFAYwGj.js} +1 -1
  195. package/dist/app/assets/{mizar-DRgDOhTN.js → mizar-uCD34iKQ.js} +1 -1
  196. package/dist/app/assets/{mongodb-Bz5t1Kri.js → mongodb-BHQiMgqu.js} +1 -1
  197. package/dist/app/assets/{monkey-DmpKIE8A.js → monkey-DgUxfqRD.js} +1 -1
  198. package/dist/app/assets/{moonscript-Detay_Aq.js → moonscript-jEu2rBFy.js} +1 -1
  199. package/dist/app/assets/{n1ql-BmgXbS-M.js → n1ql-Dt-1d48e.js} +1 -1
  200. package/dist/app/assets/{n4js-DmTPdCqi.js → n4js-DhUX1sWN.js} +1 -1
  201. package/dist/app/assets/{nand2tetris-hdl-DXraXq65.js → nand2tetris-hdl-B1sxYngv.js} +1 -1
  202. package/dist/app/assets/{naniscript-B261gwHF.js → naniscript-CLirJ9GC.js} +1 -1
  203. package/dist/app/assets/{nasm-DjgP63mx.js → nasm-DFO6i9-v.js} +1 -1
  204. package/dist/app/assets/{neon-BkyLss_j.js → neon-CJVuQ87S.js} +1 -1
  205. package/dist/app/assets/{nevod-D3AIDy_-.js → nevod-BKKiVTjs.js} +1 -1
  206. package/dist/app/assets/{nginx-x6qaHbn6.js → nginx-B_LEBTut.js} +1 -1
  207. package/dist/app/assets/{nim-DEkLs6r2.js → nim-DgvJ6hOl.js} +1 -1
  208. package/dist/app/assets/{nix-DKfH6GYJ.js → nix-CJ0KPl9Q.js} +1 -1
  209. package/dist/app/assets/{nsis-DdaElZTp.js → nsis-C6JwEFTE.js} +1 -1
  210. package/dist/app/assets/{objectivec-D-GvlelH.js → objectivec-B9B-kBxR.js} +1 -1
  211. package/dist/app/assets/{ocaml-Bh8mdwPO.js → ocaml-SkFdro3L.js} +1 -1
  212. package/dist/app/assets/{opencl-DqbqQpJ8.js → opencl-DSfJf34E.js} +1 -1
  213. package/dist/app/assets/{openqasm-BzHZ1geL.js → openqasm-CDzDtizQ.js} +1 -1
  214. package/dist/app/assets/{oz-CAffbl5h.js → oz-BWs_ndEf.js} +1 -1
  215. package/dist/app/assets/{parigp-CKqiqq8G.js → parigp-_-pO98W4.js} +1 -1
  216. package/dist/app/assets/{parser-Cg00t7Mb.js → parser-BwdpGZPJ.js} +1 -1
  217. package/dist/app/assets/{pascal--toS4iGX.js → pascal-AEdKVQZ6.js} +1 -1
  218. package/dist/app/assets/{pascaligo-DkkGDPuY.js → pascaligo-B3FRz8ot.js} +1 -1
  219. package/dist/app/assets/{pcaxis-YW2drt9P.js → pcaxis-5fq3uU8R.js} +1 -1
  220. package/dist/app/assets/{peoplecode-DcSxF5p-.js → peoplecode-DZ4fk8ON.js} +1 -1
  221. package/dist/app/assets/{perl-YKp_XolM.js → perl-B3MXzetZ.js} +1 -1
  222. package/dist/app/assets/{php-extras-CiYXDTjg.js → php-extras-DLRpD8nq.js} +1 -1
  223. package/dist/app/assets/{php-IihSyd58.js → php-vEB1iVno.js} +1 -1
  224. package/dist/app/assets/{phpdoc-CTwGmVuh.js → phpdoc-BCqSfVX6.js} +1 -1
  225. package/dist/app/assets/{pieDiagram-DEJITSTG-CYgrtYQD.js → pieDiagram-DEJITSTG-DxXi7DQ2.js} +1 -1
  226. package/dist/app/assets/{plsql-BLbbnpCf.js → plsql-DPtxfxuA.js} +1 -1
  227. package/dist/app/assets/{powerquery-CW3t8EHf.js → powerquery-BOfyovx0.js} +1 -1
  228. package/dist/app/assets/{powershell-Dy-20mWQ.js → powershell-DxVo8OSN.js} +1 -1
  229. package/dist/app/assets/{processing-DfOUJsGU.js → processing-ijqSDZY0.js} +1 -1
  230. package/dist/app/assets/{prolog-Bt7umQZ_.js → prolog-DlYEmyH_.js} +1 -1
  231. package/dist/app/assets/{promql-BsbEgNrg.js → promql-BjVFHQmv.js} +1 -1
  232. package/dist/app/assets/{properties-0VtNy_J8.js → properties-bwk71nw-.js} +1 -1
  233. package/dist/app/assets/{protobuf-CnepKVtX.js → protobuf-Cih2akTP.js} +1 -1
  234. package/dist/app/assets/{psl-OGz4CFKI.js → psl-Cw1dOcRa.js} +1 -1
  235. package/dist/app/assets/{pug-BUMiCGsa.js → pug-DwJYMQlV.js} +1 -1
  236. package/dist/app/assets/{puppet-BpwvYCrA.js → puppet-Caud_s-m.js} +1 -1
  237. package/dist/app/assets/{pure-u9lIjKsQ.js → pure-B5oj-gCx.js} +1 -1
  238. package/dist/app/assets/{purebasic-BsE8kKSG.js → purebasic-BgeP5DDD.js} +1 -1
  239. package/dist/app/assets/{purescript-D4DGIRwN.js → purescript-CsHryjK3.js} +1 -1
  240. package/dist/app/assets/{q-Dd4Y9jTu.js → q-BP8bBuGv.js} +1 -1
  241. package/dist/app/assets/{qml-IZqRvexj.js → qml-BgY-HmDG.js} +1 -1
  242. package/dist/app/assets/{qore-CVgOeY5j.js → qore-uOYNMdCg.js} +1 -1
  243. package/dist/app/assets/{qsharp-C1ibrSjI.js → qsharp-Cmp5vMRr.js} +1 -1
  244. package/dist/app/assets/{quadrantDiagram-34T5L4WZ-Hy_efLgq.js → quadrantDiagram-34T5L4WZ-f7twVcyL.js} +1 -1
  245. package/dist/app/assets/{r-CO3iHGES.js → r-BPMuS20T.js} +1 -1
  246. package/dist/app/assets/{racket-CDsoIwWb.js → racket-qc2-NKzR.js} +1 -1
  247. package/dist/app/assets/{reason-BXp7TkTV.js → reason-Rphq4wU8.js} +1 -1
  248. package/dist/app/assets/{regex-C8d4nMD-.js → regex-lUJxQlEc.js} +1 -1
  249. package/dist/app/assets/{rego-CnCdTWPv.js → rego-CgRMQR4R.js} +1 -1
  250. package/dist/app/assets/{renpy-BCpztAT2.js → renpy-O53RZ3yB.js} +1 -1
  251. package/dist/app/assets/{requirementDiagram-MS252O5E-BI0Kue_K.js → requirementDiagram-MS252O5E-C-2UwVat.js} +1 -1
  252. package/dist/app/assets/{rest-DRU6Mo0N.js → rest-lCVyRpHi.js} +1 -1
  253. package/dist/app/assets/{rip-DGcSsuJR.js → rip-Cb9MAixU.js} +1 -1
  254. package/dist/app/assets/{roboconf-D84u_D2h.js → roboconf-p--JilwP.js} +1 -1
  255. package/dist/app/assets/{robotframework-B55NHCrN.js → robotframework-CJWG7axQ.js} +1 -1
  256. package/dist/app/assets/{ruby-byKCK-dY.js → ruby-DgHGg4xu.js} +1 -1
  257. package/dist/app/assets/{rust-DafX95DJ.js → rust-mfoZutVO.js} +1 -1
  258. package/dist/app/assets/{sankeyDiagram-XADWPNL6-D6MJ50Pq.js → sankeyDiagram-XADWPNL6-DtWni1zR.js} +1 -1
  259. package/dist/app/assets/{sas-DTVLhrey.js → sas-hkuUJbuO.js} +1 -1
  260. package/dist/app/assets/{sass-rDhfj9yl.js → sass-DdYTeGYi.js} +1 -1
  261. package/dist/app/assets/{scala-BrKTyUsE.js → scala-BmqlMvBk.js} +1 -1
  262. package/dist/app/assets/{scheme-B_eu29xA.js → scheme-DGuanVCO.js} +1 -1
  263. package/dist/app/assets/{scss-kgRahDzu.js → scss-CQnillil.js} +1 -1
  264. package/dist/app/assets/{sequenceDiagram-FGHM5R23-BtFJlKLA.js → sequenceDiagram-FGHM5R23-V1Ofbw_p.js} +1 -1
  265. package/dist/app/assets/{shell-session-CF0mJgux.js → shell-session-DCSmJkzu.js} +1 -1
  266. package/dist/app/assets/{smali-cYYyD8tY.js → smali-ffxofes2.js} +1 -1
  267. package/dist/app/assets/{smalltalk-C0P2MRK9.js → smalltalk-B3WSwake.js} +1 -1
  268. package/dist/app/assets/{smarty-bSAEKlze.js → smarty-TkH0F2ZR.js} +1 -1
  269. package/dist/app/assets/{sml-CVkWiohq.js → sml-Dn0OaBIX.js} +1 -1
  270. package/dist/app/assets/{solidity-DBmi5l50.js → solidity-X5AVGR0y.js} +1 -1
  271. package/dist/app/assets/{solution-file-CnTT-bB0.js → solution-file-CPrmt5Hs.js} +1 -1
  272. package/dist/app/assets/{soy-D6Pv-4-M.js → soy-BWtqIhQj.js} +1 -1
  273. package/dist/app/assets/{sparql-C_FSzEBv.js → sparql-B3dCbOij.js} +1 -1
  274. package/dist/app/assets/{splunk-spl-BY7Iqglg.js → splunk-spl-DFme2x2-.js} +1 -1
  275. package/dist/app/assets/{sqf-CPktPAhH.js → sqf-B6O1kNSS.js} +1 -1
  276. package/dist/app/assets/{sql-o4K_-hAR.js → sql-CJQw5AKW.js} +1 -1
  277. package/dist/app/assets/{squirrel-C7nc0I9a.js → squirrel-CzQsXTWv.js} +1 -1
  278. package/dist/app/assets/{stan-BaHsDAPv.js → stan-lf0anrTR.js} +1 -1
  279. package/dist/app/assets/{stateDiagram-FHFEXIEX-Jt84X8Km.js → stateDiagram-FHFEXIEX-DCCf5FXE.js} +1 -1
  280. package/dist/app/assets/stateDiagram-v2-QKLJ7IA2-CWJp5A97.js +1 -0
  281. package/dist/app/assets/{stylus-LrKOfqx1.js → stylus-COiHJR5i.js} +1 -1
  282. package/dist/app/assets/{swift-Du5HvL9Z.js → swift-DkkKYkZS.js} +1 -1
  283. package/dist/app/assets/{systemd-B9G8EDGS.js → systemd-yMlv02T9.js} +1 -1
  284. package/dist/app/assets/{t4-cs-Cx16HVWP.js → t4-cs-rnhIAIrb.js} +1 -1
  285. package/dist/app/assets/{t4-templating-8EFI9hGP.js → t4-templating-DMWX9YhQ.js} +1 -1
  286. package/dist/app/assets/{t4-vb-DY4dRQ0Y.js → t4-vb-ftpXLDQa.js} +1 -1
  287. package/dist/app/assets/{tap-CnPjcybx.js → tap-BPZr3MHO.js} +1 -1
  288. package/dist/app/assets/{tcl-CyN53FjG.js → tcl-Da5z37GP.js} +1 -1
  289. package/dist/app/assets/{textile-CcaFbMIR.js → textile-D_cVONZR.js} +1 -1
  290. package/dist/app/assets/{timeline-definition-GMOUNBTQ-BIX9PrwR.js → timeline-definition-GMOUNBTQ-BUqjHP-0.js} +1 -1
  291. package/dist/app/assets/{toml-Dsv-Gf-x.js → toml-DKAIAUDo.js} +1 -1
  292. package/dist/app/assets/{tremor-CFgQf23a.js → tremor-UPWxEF30.js} +1 -1
  293. package/dist/app/assets/{tt2-C35x8-ln.js → tt2-F3kwqgAK.js} +1 -1
  294. package/dist/app/assets/{turtle-mi4wNaqz.js → turtle-BGEC3Tea.js} +1 -1
  295. package/dist/app/assets/{twig--0LWYrgK.js → twig-BF1UtTiF.js} +1 -1
  296. package/dist/app/assets/{typescript-TITb6K2H.js → typescript-0Q55yGyu.js} +1 -1
  297. package/dist/app/assets/{typoscript-D9-RVwIo.js → typoscript-BZzT6IZ0.js} +1 -1
  298. package/dist/app/assets/{unrealscript-CEl7HM5o.js → unrealscript-CRZUJaDf.js} +1 -1
  299. package/dist/app/assets/{uorazor-D_Rffmzi.js → uorazor-DQbuUO_0.js} +1 -1
  300. package/dist/app/assets/{uri-BrG_tFHQ.js → uri-DaYUWj2f.js} +1 -1
  301. package/dist/app/assets/{v-CSrNrMZT.js → v-B_keUXs0.js} +1 -1
  302. package/dist/app/assets/{vala-lXeoxFEf.js → vala-C280zAuu.js} +1 -1
  303. package/dist/app/assets/{vbnet-CDvW0IYg.js → vbnet-BP5k7ovm.js} +1 -1
  304. package/dist/app/assets/{velocity-CsuMf7zZ.js → velocity-Cpzxjvpc.js} +1 -1
  305. package/dist/app/assets/{vennDiagram-DHZGUBPP-Bd1_DGNK.js → vennDiagram-DHZGUBPP-DMBYuFGJ.js} +1 -1
  306. package/dist/app/assets/{verilog-Ba1kXwcH.js → verilog-CsCWJCKK.js} +1 -1
  307. package/dist/app/assets/{vhdl-DC7iDUsg.js → vhdl-CnOBMJDT.js} +1 -1
  308. package/dist/app/assets/{vim-m5sIDmbL.js → vim-BHrvXFGg.js} +1 -1
  309. package/dist/app/assets/{visual-basic-CZAxZhXd.js → visual-basic-DVMUkaLe.js} +1 -1
  310. package/dist/app/assets/{wardley-RL74JXVD-Bi7eSfh4.js → wardley-RL74JXVD-D39mFmVb.js} +1 -1
  311. package/dist/app/assets/{wardleyDiagram-NUSXRM2D-C5W1iA0y.js → wardleyDiagram-NUSXRM2D-tYKT99K6.js} +1 -1
  312. package/dist/app/assets/{warpscript-YqE12jpR.js → warpscript-D6-BbIHr.js} +1 -1
  313. package/dist/app/assets/{wasm-Cqk0NwrL.js → wasm-Bi73rb7-.js} +1 -1
  314. package/dist/app/assets/{web-idl-BBz8nwvE.js → web-idl-D5ZtoJL_.js} +1 -1
  315. package/dist/app/assets/{wiki-DTaDNr2a.js → wiki-CorqGblj.js} +1 -1
  316. package/dist/app/assets/{wolfram-D_dyKsVO.js → wolfram-CfD99H8b.js} +1 -1
  317. package/dist/app/assets/{wren-VhlSRnur.js → wren-Bxtd03-U.js} +1 -1
  318. package/dist/app/assets/{xeora-C3d3uHWl.js → xeora-CK88z6DA.js} +1 -1
  319. package/dist/app/assets/{xml-doc-Dn8dXLkg.js → xml-doc-CG1bthfs.js} +1 -1
  320. package/dist/app/assets/{xojo-D7cO_F-x.js → xojo-ClNCxa3l.js} +1 -1
  321. package/dist/app/assets/{xquery-C1brqcan.js → xquery-KJgwBO7a.js} +1 -1
  322. package/dist/app/assets/{xychartDiagram-5P7HB3ND-CPn62Rvn.js → xychartDiagram-5P7HB3ND-Cpkqm7JZ.js} +1 -1
  323. package/dist/app/assets/{yaml-CucHvpnq.js → yaml-BN5ddz6N.js} +1 -1
  324. package/dist/app/assets/{yang-BwF0d5Qn.js → yang-wM3Tqav1.js} +1 -1
  325. package/dist/app/assets/{zig-Bi_ZcakP.js → zig-At4jiVd0.js} +1 -1
  326. package/dist/app/index.html +1 -1
  327. package/dist/index.cjs +250 -74
  328. package/dist/index.js +250 -74
  329. package/package.json +3 -3
  330. package/dist/app/assets/channel-CI-ehimI.js +0 -1
  331. package/dist/app/assets/classDiagram-6PBFFD2Q-kNq98FtJ.js +0 -1
  332. package/dist/app/assets/classDiagram-v2-HSJHXN6E-kNq98FtJ.js +0 -1
  333. package/dist/app/assets/clone-70-rkKhs.js +0 -1
  334. package/dist/app/assets/stateDiagram-v2-QKLJ7IA2-2fuYX60f.js +0 -1
package/dist/index.cjs CHANGED
@@ -1680,6 +1680,9 @@ var en_US_default = {
1680
1680
  loading: "Loading",
1681
1681
  thinking: "Thinking",
1682
1682
  answering: "Answering",
1683
+ mcpApp: {
1684
+ loading: "Loading MCP App"
1685
+ },
1683
1686
  contextCompression: {
1684
1687
  running: "Automatically compressing context",
1685
1688
  success: "Context automatically compressed",
@@ -2070,6 +2073,9 @@ var zh_CN_default = {
2070
2073
  loading: "\u6B63\u5728\u52A0\u8F7D",
2071
2074
  thinking: "\u6B63\u5728\u601D\u8003",
2072
2075
  answering: "\u6B63\u5728\u751F\u6210",
2076
+ mcpApp: {
2077
+ loading: "\u6B63\u5728\u52A0\u8F7D MCP App"
2078
+ },
2073
2079
  contextCompression: {
2074
2080
  running: "\u6B63\u5728\u81EA\u52A8\u538B\u7F29\u4E0A\u4E0B\u6587",
2075
2081
  success: "\u4E0A\u4E0B\u6587\u5DF2\u81EA\u52A8\u538B\u7F29",
@@ -11568,9 +11574,40 @@ var React35 = __toESM(require("react"), 1);
11568
11574
  var import_chatkit_types9 = require("@xpert-ai/chatkit-types");
11569
11575
  var import_lucide_react23 = require("lucide-react");
11570
11576
  var import_jsx_runtime41 = require("react/jsx-runtime");
11577
+ var EMPTY_INPUT_SCHEMA = {
11578
+ type: "object",
11579
+ properties: {}
11580
+ };
11571
11581
  function isRecord5(value) {
11572
11582
  return Boolean(value) && typeof value === "object" && !Array.isArray(value);
11573
11583
  }
11584
+ function readRecord(value) {
11585
+ return isRecord5(value) ? value : void 0;
11586
+ }
11587
+ function readNonEmptyRecord(value) {
11588
+ const record = readRecord(value);
11589
+ return record && Object.keys(record).length ? record : void 0;
11590
+ }
11591
+ function readString3(value) {
11592
+ return typeof value === "string" ? value : void 0;
11593
+ }
11594
+ function readBoolean(value) {
11595
+ return typeof value === "boolean" ? value : void 0;
11596
+ }
11597
+ function readLocalizedText(value) {
11598
+ if (typeof value === "string") return value;
11599
+ if (isRecord5(value)) return value;
11600
+ return void 0;
11601
+ }
11602
+ function readIconDefinition(value) {
11603
+ if (!isRecord5(value)) return void 0;
11604
+ return typeof value.type === "string" && typeof value.value === "string" ? value : void 0;
11605
+ }
11606
+ function readStringList(value) {
11607
+ if (!Array.isArray(value)) return void 0;
11608
+ const strings = value.filter((item) => typeof item === "string");
11609
+ return strings.length ? strings : void 0;
11610
+ }
11574
11611
  function buildXpertApiUrl(apiUrl, path) {
11575
11612
  const normalizedApiUrl = apiUrl.trim();
11576
11613
  if (!normalizedApiUrl) return path;
@@ -11585,7 +11622,7 @@ function appendQuery(path, params) {
11585
11622
  const query = params.toString();
11586
11623
  return query ? `${path}?${query}` : path;
11587
11624
  }
11588
- function buildMcpAppReviveParams(data) {
11625
+ function buildMcpAppReviveParams(data, options) {
11589
11626
  const params = new URLSearchParams();
11590
11627
  const add = (key, value) => {
11591
11628
  if (value) {
@@ -11598,15 +11635,16 @@ function buildMcpAppReviveParams(data) {
11598
11635
  add("toolCallId", data.toolCallId);
11599
11636
  add("resourceUri", data.resourceUri);
11600
11637
  add("title", typeof data.title === "string" ? data.title : void 0);
11601
- add("token", data.appInstanceToken);
11638
+ add("messageId", options?.messageId);
11639
+ add("token", options?.appInstanceToken ?? data.appInstanceToken);
11602
11640
  return params;
11603
11641
  }
11604
- function buildMcpAppEndpointPath(data, endpoint) {
11642
+ function buildMcpAppEndpointPath(data, endpoint, options) {
11605
11643
  return appendQuery(
11606
11644
  `/api/xpert-toolset/mcp-apps/${encodeURIComponent(
11607
11645
  data.appInstanceId
11608
11646
  )}/${endpoint}`,
11609
- buildMcpAppReviveParams(data)
11647
+ buildMcpAppReviveParams(data, options)
11610
11648
  );
11611
11649
  }
11612
11650
  function escapeHtmlAttribute(value) {
@@ -11663,6 +11701,37 @@ function decodeResourceHtml(resource) {
11663
11701
  }
11664
11702
  }
11665
11703
  }
11704
+ function normalizeCspMetadata(value) {
11705
+ const raw = readRecord(value);
11706
+ if (!raw) return void 0;
11707
+ const csp = {};
11708
+ const connectDomains = readStringList(raw.connectDomains);
11709
+ const resourceDomains = readStringList(raw.resourceDomains);
11710
+ const frameDomains = readStringList(raw.frameDomains);
11711
+ const baseUriDomains = readStringList(raw.baseUriDomains);
11712
+ if (connectDomains) csp.connectDomains = connectDomains;
11713
+ if (resourceDomains) csp.resourceDomains = resourceDomains;
11714
+ if (frameDomains) csp.frameDomains = frameDomains;
11715
+ if (baseUriDomains) csp.baseUriDomains = baseUriDomains;
11716
+ return Object.keys(csp).length ? csp : void 0;
11717
+ }
11718
+ function normalizePermissionGrant(value) {
11719
+ return value === true || isRecord5(value) ? value : void 0;
11720
+ }
11721
+ function normalizePermissionsMetadata(value) {
11722
+ const raw = readRecord(value);
11723
+ if (!raw) return void 0;
11724
+ const permissions = {};
11725
+ const camera = normalizePermissionGrant(raw.camera);
11726
+ const microphone = normalizePermissionGrant(raw.microphone);
11727
+ const geolocation = normalizePermissionGrant(raw.geolocation);
11728
+ const clipboardWrite = normalizePermissionGrant(raw.clipboardWrite);
11729
+ if (camera !== void 0) permissions.camera = camera;
11730
+ if (microphone !== void 0) permissions.microphone = microphone;
11731
+ if (geolocation !== void 0) permissions.geolocation = geolocation;
11732
+ if (clipboardWrite !== void 0) permissions.clipboardWrite = clipboardWrite;
11733
+ return Object.keys(permissions).length ? permissions : void 0;
11734
+ }
11666
11735
  function normalizeJsonRpcMessage(value) {
11667
11736
  const data = typeof value === "string" ? (() => {
11668
11737
  try {
@@ -11858,23 +11927,48 @@ function injectMcpAppTheme(html, theme) {
11858
11927
  const style = `<style id="mcp-app-host-theme">:root{color-scheme:${theme.mode};${declarations}}</style>`;
11859
11928
  return injectHeadContent(html, style);
11860
11929
  }
11861
- function buildStandardToolInfo(data, resource) {
11862
- const raw = resource?.toolInfo ?? {};
11863
- const rawTitle = isRecord5(raw) && (raw.title !== void 0 || raw.name !== void 0) ? raw.title ?? raw.name : void 0;
11864
- const rawDescription = isRecord5(raw) && raw.description !== void 0 ? raw.description : void 0;
11865
- const rawIcon = isRecord5(raw) && raw.icon !== void 0 ? raw.icon : void 0;
11866
- const originalName = isRecord5(raw) && typeof raw.originalName === "string" ? raw.originalName : data.toolName;
11867
- const title = rawTitle ?? resource?.title ?? data.title ?? data.toolName;
11868
- const description = rawDescription ?? resource?.description ?? data.description;
11869
- const icon = rawIcon ?? resource?.icon ?? data.icon;
11930
+ function normalizeInputSchema(value) {
11931
+ const raw = readRecord(value);
11932
+ if (!raw || raw.type !== void 0 && raw.type !== "object") {
11933
+ return EMPTY_INPUT_SCHEMA;
11934
+ }
11935
+ return {
11936
+ ...raw,
11937
+ type: "object",
11938
+ properties: readRecord(raw.properties) ?? {},
11939
+ ...Array.isArray(raw.required) && raw.required.every((item) => typeof item === "string") ? { required: raw.required } : {}
11940
+ };
11941
+ }
11942
+ function normalizeMcpAppToolInfo(value, data, resource = {}) {
11943
+ const raw = readRecord(value) ?? {};
11944
+ const rawTool = readRecord(raw.tool) ?? {};
11945
+ const rawName = readString3(raw.name);
11946
+ const originalName = readString3(rawTool.name) ?? readString3(raw.originalName) ?? data.toolName;
11947
+ const title = readLocalizedText(rawTool.title) ?? readLocalizedText(raw.title) ?? resource.title ?? data.title ?? data.toolName;
11948
+ const description = readLocalizedText(rawTool.description) ?? readLocalizedText(raw.description) ?? resource.description ?? data.description;
11949
+ const icon = readIconDefinition(rawTool.icon) ?? readIconDefinition(raw.icon) ?? resource.icon ?? data.icon;
11870
11950
  return {
11871
11951
  ...raw,
11872
11952
  id: data.toolCallId,
11953
+ name: rawName ?? data.toolName,
11954
+ originalName,
11955
+ title,
11956
+ ...description ? { description } : {},
11957
+ ...icon ? { icon } : {},
11958
+ serverName: readString3(raw.serverName) ?? data.serverName,
11959
+ toolCallId: readString3(raw.toolCallId) ?? data.toolCallId,
11960
+ toolsetId: readString3(raw.toolsetId) ?? data.toolsetId,
11873
11961
  tool: {
11962
+ ...rawTool,
11874
11963
  name: originalName,
11875
- title,
11876
- ...description ? { description } : {},
11877
- ...icon ? { icon } : {}
11964
+ title: readLocalizedText(rawTool.title) ?? title,
11965
+ inputSchema: normalizeInputSchema(
11966
+ rawTool.inputSchema ?? raw.inputSchema
11967
+ ),
11968
+ ...description ? {
11969
+ description: readLocalizedText(rawTool.description) ?? description
11970
+ } : {},
11971
+ ...icon ? { icon: readIconDefinition(rawTool.icon) ?? icon } : {}
11878
11972
  }
11879
11973
  };
11880
11974
  }
@@ -11911,47 +12005,118 @@ function stringifyToolResult(value) {
11911
12005
  return String(value);
11912
12006
  }
11913
12007
  }
12008
+ function createTextContentBlock(text) {
12009
+ return {
12010
+ type: "text",
12011
+ text
12012
+ };
12013
+ }
12014
+ function normalizeContentBlocks(value) {
12015
+ if (!Array.isArray(value)) return [];
12016
+ return value.filter(
12017
+ (item) => isRecord5(item) && typeof item.type === "string"
12018
+ );
12019
+ }
12020
+ function extractLegacyArtifactMeta(value) {
12021
+ const meta = readRecord(value._meta);
12022
+ if (meta) return meta;
12023
+ const entries = Object.entries(value).filter(
12024
+ ([key]) => key !== "structuredContent" && key !== "isError"
12025
+ );
12026
+ return entries.length ? Object.fromEntries(entries) : void 0;
12027
+ }
12028
+ function normalizeToolArtifact(value) {
12029
+ if (isRecord5(value)) {
12030
+ return {
12031
+ ...readRecord(value.structuredContent) ? { structuredContent: readRecord(value.structuredContent) } : {},
12032
+ ...readBoolean(value.isError) !== void 0 ? { isError: readBoolean(value.isError) } : {},
12033
+ ...extractLegacyArtifactMeta(value) ? { _meta: extractLegacyArtifactMeta(value) } : {}
12034
+ };
12035
+ }
12036
+ if (!Array.isArray(value)) return {};
12037
+ return value.reduce((result, item) => {
12038
+ const normalized = normalizeToolArtifact(item);
12039
+ return {
12040
+ ...result,
12041
+ ...normalized,
12042
+ _meta: result._meta ?? normalized._meta,
12043
+ structuredContent: result.structuredContent ?? normalized.structuredContent,
12044
+ isError: result.isError ?? normalized.isError
12045
+ };
12046
+ }, {});
12047
+ }
11914
12048
  function normalizeCallToolResult(value) {
11915
- if (isRecord5(value) && Array.isArray(value.content)) {
11916
- return value;
12049
+ if (value === void 0) {
12050
+ return {
12051
+ content: []
12052
+ };
12053
+ }
12054
+ if (isRecord5(value)) {
12055
+ if (value.toolResult !== void 0 && !Array.isArray(value.content)) {
12056
+ return normalizeCallToolResult(value.toolResult);
12057
+ }
12058
+ const content = normalizeContentBlocks(value.content);
12059
+ const result = {
12060
+ content: content.length ? content : []
12061
+ };
12062
+ const structuredContent = readRecord(value.structuredContent);
12063
+ const isError = readBoolean(value.isError);
12064
+ const meta = readRecord(value._meta);
12065
+ if (structuredContent) result.structuredContent = structuredContent;
12066
+ if (isError !== void 0) result.isError = isError;
12067
+ if (meta) result._meta = meta;
12068
+ return result;
11917
12069
  }
11918
12070
  if (Array.isArray(value) && value.length >= 2) {
11919
12071
  const [content, artifact] = value;
11920
- const text = typeof content === "string" ? content : stringifyToolResult(content);
11921
- const normalized = {
12072
+ const artifactFields = normalizeToolArtifact(artifact);
12073
+ return {
11922
12074
  content: [
11923
- {
11924
- type: "text",
11925
- text
11926
- }
11927
- ]
12075
+ createTextContentBlock(
12076
+ typeof content === "string" ? content : stringifyToolResult(content)
12077
+ )
12078
+ ],
12079
+ ...artifactFields
11928
12080
  };
11929
- if (isRecord5(artifact)) {
11930
- normalized._meta = artifact;
11931
- if (isRecord5(artifact.structuredContent)) {
11932
- normalized.structuredContent = artifact.structuredContent;
11933
- }
11934
- } else if (Array.isArray(artifact)) {
11935
- const structured = artifact.find(
11936
- (item) => isRecord5(item) && isRecord5(item.structuredContent)
11937
- );
11938
- const meta = artifact.find(isRecord5);
11939
- if (structured?.structuredContent) {
11940
- normalized.structuredContent = structured.structuredContent;
11941
- }
11942
- if (meta) {
11943
- normalized._meta = meta;
11944
- }
11945
- }
11946
- return normalized;
11947
12081
  }
11948
12082
  return {
11949
- content: [
11950
- {
11951
- type: "text",
11952
- text: stringifyToolResult(value)
11953
- }
11954
- ]
12083
+ content: [createTextContentBlock(stringifyToolResult(value))]
12084
+ };
12085
+ }
12086
+ function normalizeMcpAppResourceResponse(value, data) {
12087
+ const raw = readRecord(value);
12088
+ if (!raw) {
12089
+ throw new Error("MCP App resource response must be an object");
12090
+ }
12091
+ const html = decodeResourceHtml(raw);
12092
+ if (!html) {
12093
+ throw new Error("MCP App resource did not include HTML content");
12094
+ }
12095
+ const resourceInfo = {
12096
+ title: readLocalizedText(raw.title),
12097
+ description: readLocalizedText(raw.description),
12098
+ icon: readIconDefinition(raw.icon)
12099
+ };
12100
+ const toolInput = readNonEmptyRecord(raw.toolInput) ?? data.toolInput ?? readRecord(raw.toolInput) ?? {};
12101
+ const rawToolResult = raw.toolResult ?? data.toolResult;
12102
+ return {
12103
+ uri: readString3(raw.uri),
12104
+ mimeType: readString3(raw.mimeType),
12105
+ html,
12106
+ appInstanceToken: readString3(raw.appInstanceToken),
12107
+ resourceUri: readString3(raw.resourceUri),
12108
+ title: resourceInfo.title,
12109
+ description: resourceInfo.description,
12110
+ icon: resourceInfo.icon,
12111
+ csp: normalizeCspMetadata(raw.csp),
12112
+ permissions: normalizePermissionsMetadata(raw.permissions),
12113
+ domain: readString3(raw.domain),
12114
+ prefersBorder: readBoolean(raw.prefersBorder),
12115
+ toolInfo: normalizeMcpAppToolInfo(raw.toolInfo, data, resourceInfo),
12116
+ toolInput,
12117
+ hasToolResult: rawToolResult !== void 0,
12118
+ toolResult: normalizeCallToolResult(rawToolResult),
12119
+ rawToolResult
11955
12120
  };
11956
12121
  }
11957
12122
  function isHttpUrl(value) {
@@ -11984,6 +12149,7 @@ function isMcpAppComponentData(data) {
11984
12149
  }
11985
12150
  function McpAppMessage({
11986
12151
  data,
12152
+ messageId,
11987
12153
  className
11988
12154
  }) {
11989
12155
  const { i18n: i18n2 } = useChatkitTranslation();
@@ -11998,9 +12164,8 @@ function McpAppMessage({
11998
12164
  const initializedRef = React35.useRef(false);
11999
12165
  const sentInitialResultRef = React35.useRef(false);
12000
12166
  const modelContextRef = React35.useRef(null);
12001
- const [resource, setResource] = React35.useState(
12002
- null
12003
- );
12167
+ const [resource, setResource] = React35.useState(null);
12168
+ const [runtimeAppInstanceToken, setRuntimeAppInstanceToken] = React35.useState(data.appInstanceToken);
12004
12169
  const [srcDoc, setSrcDoc] = React35.useState(null);
12005
12170
  const [height, setHeight] = React35.useState(420);
12006
12171
  const [error, setError] = React35.useState(null);
@@ -12008,16 +12173,21 @@ function McpAppMessage({
12008
12173
  const resourceUrl = React35.useMemo(
12009
12174
  () => buildXpertApiUrl(
12010
12175
  apiUrl,
12011
- buildMcpAppEndpointPath(data, "resource")
12176
+ buildMcpAppEndpointPath(data, "resource", {
12177
+ messageId
12178
+ })
12012
12179
  ),
12013
- [apiUrl, data]
12180
+ [apiUrl, data, messageId]
12014
12181
  );
12015
12182
  const rpcUrl = React35.useMemo(
12016
12183
  () => buildXpertApiUrl(
12017
12184
  apiUrl,
12018
- buildMcpAppEndpointPath(data, "rpc")
12185
+ buildMcpAppEndpointPath(data, "rpc", {
12186
+ appInstanceToken: runtimeAppInstanceToken,
12187
+ messageId
12188
+ })
12019
12189
  ),
12020
- [apiUrl, data]
12190
+ [apiUrl, data, messageId, runtimeAppInstanceToken]
12021
12191
  );
12022
12192
  const postToApp = React35.useCallback((message) => {
12023
12193
  iframeRef.current?.contentWindow?.postMessage(message, "*");
@@ -12052,25 +12222,29 @@ function McpAppMessage({
12052
12222
  jsonrpc: "2.0",
12053
12223
  method: "ui/notifications/tool-input",
12054
12224
  params: {
12055
- arguments: resource.toolInput ?? data.toolInput ?? {}
12225
+ arguments: resource.toolInput
12056
12226
  }
12057
12227
  });
12228
+ if (!resource.hasToolResult) {
12229
+ return;
12230
+ }
12058
12231
  postToApp({
12059
12232
  jsonrpc: "2.0",
12060
12233
  method: "ui/notifications/tool-result",
12061
12234
  params: {
12062
- ...normalizeCallToolResult(resource.toolResult),
12235
+ ...resource.toolResult,
12063
12236
  toolCallId: data.toolCallId,
12064
12237
  toolName: data.toolName,
12065
12238
  // Legacy compatibility for apps written before the 2026-01-26 notification shape.
12066
- result: resource.toolResult
12239
+ result: resource.rawToolResult
12067
12240
  }
12068
12241
  });
12069
- }, [data.toolCallId, data.toolInput, data.toolName, postToApp, resource]);
12242
+ }, [data.toolCallId, data.toolName, postToApp, resource]);
12070
12243
  React35.useEffect(() => {
12071
12244
  const controller = new AbortController();
12072
12245
  initializedRef.current = false;
12073
12246
  sentInitialResultRef.current = false;
12247
+ setRuntimeAppInstanceToken(data.appInstanceToken);
12074
12248
  setIsLoading(true);
12075
12249
  setError(null);
12076
12250
  setResource(null);
@@ -12084,17 +12258,20 @@ function McpAppMessage({
12084
12258
  throw new Error(`MCP App resource failed with ${response.status}`);
12085
12259
  }
12086
12260
  const payload = await response.json();
12087
- const html = decodeResourceHtml(payload);
12088
- if (!html) {
12089
- throw new Error("MCP App resource did not include HTML content");
12090
- }
12091
- setResource(payload);
12261
+ const normalizedResource = normalizeMcpAppResourceResponse(
12262
+ payload,
12263
+ data
12264
+ );
12265
+ setResource(normalizedResource);
12266
+ setRuntimeAppInstanceToken(
12267
+ normalizedResource.appInstanceToken ?? data.appInstanceToken
12268
+ );
12092
12269
  const hostLocale = normalizeHostLocale(i18n2.language);
12093
12270
  setSrcDoc(
12094
12271
  injectMcpAppTheme(
12095
12272
  injectCsp(
12096
- injectMcpAppLocale(html, hostLocale),
12097
- payload.csp ?? data.csp
12273
+ injectMcpAppLocale(normalizedResource.html, hostLocale),
12274
+ normalizedResource.csp ?? data.csp
12098
12275
  ),
12099
12276
  buildMcpAppTheme(containerRef.current)
12100
12277
  )
@@ -12114,7 +12291,9 @@ function McpAppMessage({
12114
12291
  };
12115
12292
  }, [
12116
12293
  authenticatedFetch,
12294
+ data,
12117
12295
  data.appInstanceId,
12296
+ data.appInstanceToken,
12118
12297
  data.csp,
12119
12298
  i18n2.language,
12120
12299
  resourceUrl
@@ -12147,7 +12326,7 @@ function McpAppMessage({
12147
12326
  initializedRef.current = true;
12148
12327
  const permissions = resource?.permissions ?? data.permissions;
12149
12328
  const csp = resource?.csp ?? data.csp;
12150
- const toolInfo = buildStandardToolInfo(data, resource);
12329
+ const toolInfo = resource?.toolInfo ?? normalizeMcpAppToolInfo(void 0, data);
12151
12330
  const theme = buildMcpAppTheme(containerRef.current);
12152
12331
  const hostLocale = normalizeHostLocale(i18n2.language);
12153
12332
  const hostLanguage = getLocaleLanguage(hostLocale);
@@ -12203,10 +12382,7 @@ function McpAppMessage({
12203
12382
  openLinks: true
12204
12383
  },
12205
12384
  context: {
12206
- toolInfo: resource?.toolInfo ?? {
12207
- name: data.toolName,
12208
- toolCallId: data.toolCallId
12209
- },
12385
+ toolInfo,
12210
12386
  theme: theme.mode,
12211
12387
  themeCssVariables: theme.cssVariables,
12212
12388
  locale: hostLocale,
@@ -12360,7 +12536,7 @@ function McpAppMessage({
12360
12536
  ] }),
12361
12537
  isLoading ? /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "flex h-40 items-center justify-center gap-2 text-sm text-muted-foreground", children: [
12362
12538
  /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_lucide_react23.Loader2, { className: "h-4 w-4 animate-spin" }),
12363
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("span", { children: "Loading MCP App" })
12539
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("span", { children: i18n2.t("message.mcpApp.loading") })
12364
12540
  ] }) : error ? /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "flex h-40 items-center justify-center gap-2 px-4 text-sm text-destructive", children: [
12365
12541
  /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_lucide_react23.AlertCircle, { className: "h-4 w-4 shrink-0" }),
12366
12542
  /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("span", { className: "min-w-0 break-words", children: error })
@@ -12664,7 +12840,7 @@ function renderContentItem(content, index, message, lookupMessages, options) {
12664
12840
  return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(WidgetMessage, { messageId, data: content.data }) }, content.id ?? `widget-${index}`);
12665
12841
  }
12666
12842
  if (isMcpAppComponent(content)) {
12667
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(McpAppMessage, { data: content.data }) }, content.id ?? `mcp-app-${index}`);
12843
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(McpAppMessage, { messageId, data: content.data }) }, content.id ?? `mcp-app-${index}`);
12668
12844
  }
12669
12845
  if (getComponentMessagePresentation(content, getToolStepData(content)) === "grouped-step") {
12670
12846
  return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(