@xpert-ai/chatkit-ui 0.3.1 → 0.3.3

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 (335) hide show
  1. package/dist/app/assets/{_baseUniq-BWfWqEU9.js → _baseUniq-DxHYvQh5.js} +1 -1
  2. package/dist/app/assets/{abap-MXMyOOzq.js → abap-DVajZIEh.js} +1 -1
  3. package/dist/app/assets/{abnf-D_LfNeLS.js → abnf-46NjTOlf.js} +1 -1
  4. package/dist/app/assets/{actionscript-CSN6EbzU.js → actionscript-CQpj0cg3.js} +1 -1
  5. package/dist/app/assets/{ada-HE5rIUYu.js → ada-C-kX0zii.js} +1 -1
  6. package/dist/app/assets/{agda-CO3j1YV7.js → agda-CCA_JAgT.js} +1 -1
  7. package/dist/app/assets/{al-BapwgMPO.js → al-Dnw0hERO.js} +1 -1
  8. package/dist/app/assets/{antlr4-B6XTFmeg.js → antlr4-vIL0hfzJ.js} +1 -1
  9. package/dist/app/assets/{apacheconf-CQ7x0CQl.js → apacheconf-CsWzUs9D.js} +1 -1
  10. package/dist/app/assets/{apex-B0U5XMUq.js → apex-QViHF4AC.js} +1 -1
  11. package/dist/app/assets/{apl-B68T_O3c.js → apl-J2xZukMp.js} +1 -1
  12. package/dist/app/assets/{applescript-tk7FuRiw.js → applescript-B3WjGs4M.js} +1 -1
  13. package/dist/app/assets/{aql-DHgsk7fx.js → aql-NAU-bvN_.js} +1 -1
  14. package/dist/app/assets/{arc-CZhcWJSk.js → arc-B8hwrBK1.js} +1 -1
  15. package/dist/app/assets/{architectureDiagram-Q4EWVU46-fqRZ7fmx.js → architectureDiagram-Q4EWVU46-CpVpAf2q.js} +1 -1
  16. package/dist/app/assets/{arduino-zTNfM3tu.js → arduino-CHYJARcG.js} +1 -1
  17. package/dist/app/assets/{arff-Cc62BhHS.js → arff-DqAcq_Jd.js} +1 -1
  18. package/dist/app/assets/{asciidoc-CZ3PpiKa.js → asciidoc-DXFN4u3C.js} +1 -1
  19. package/dist/app/assets/{asm6502-pjPqMVBS.js → asm6502-yvmvLNPw.js} +1 -1
  20. package/dist/app/assets/{asmatmel-CanMeNHi.js → asmatmel-BNt_bXxW.js} +1 -1
  21. package/dist/app/assets/{aspnet-c6p407Zy.js → aspnet-BMD5jkWc.js} +1 -1
  22. package/dist/app/assets/{autohotkey-BPcHEi5U.js → autohotkey-CHZS5zbL.js} +1 -1
  23. package/dist/app/assets/{autoit-I4vLXg6I.js → autoit-DLLmQkuM.js} +1 -1
  24. package/dist/app/assets/{avisynth-BzSNrotF.js → avisynth-C8BxdbSe.js} +1 -1
  25. package/dist/app/assets/{avro-idl-CSOwc2mx.js → avro-idl-C6pwRw5e.js} +1 -1
  26. package/dist/app/assets/{bash-DHTU0Eqi.js → bash-CMOTacbo.js} +1 -1
  27. package/dist/app/assets/{basic-CR7PilAI.js → basic-TZKBsQ-m.js} +1 -1
  28. package/dist/app/assets/{batch-CVFDcRO9.js → batch-CaE8zhSL.js} +1 -1
  29. package/dist/app/assets/{bbcode-DTr3klUo.js → bbcode-DcenEstk.js} +1 -1
  30. package/dist/app/assets/{bicep-CMduRPGJ.js → bicep-M0WBFGSH.js} +1 -1
  31. package/dist/app/assets/{birb-ZAURUJ3w.js → birb-EkEU1ZCa.js} +1 -1
  32. package/dist/app/assets/{bison-BFLW9Uz0.js → bison-M-w8qpdO.js} +1 -1
  33. package/dist/app/assets/{blockDiagram-DXYQGD6D-B_O77IUo.js → blockDiagram-DXYQGD6D-Cb71R9Wk.js} +1 -1
  34. package/dist/app/assets/{bnf-PBX2L4HW.js → bnf-BnYdZYNM.js} +1 -1
  35. package/dist/app/assets/{brainfuck-BMDwFqXO.js → brainfuck-BjHrlOp6.js} +1 -1
  36. package/dist/app/assets/{brightscript-J3lEQgb7.js → brightscript-D2KWeGkG.js} +1 -1
  37. package/dist/app/assets/{bro-6-MPBySv.js → bro-Cm3J_z1e.js} +1 -1
  38. package/dist/app/assets/{bsl-FwqF-CLr.js → bsl-aaIhCboX.js} +1 -1
  39. package/dist/app/assets/{c-D-axy2OV.js → c-Cromo6GX.js} +1 -1
  40. package/dist/app/assets/{c4Diagram-AHTNJAMY-CCvmtXb3.js → c4Diagram-AHTNJAMY-CzSUyxD_.js} +1 -1
  41. package/dist/app/assets/{cfscript-BVnQqnjn.js → cfscript-DjqhIng2.js} +1 -1
  42. package/dist/app/assets/{chaiscript-BlRbDgCQ.js → chaiscript-Vo_Ts9eo.js} +1 -1
  43. package/dist/app/assets/channel-B4rIZFfB.js +1 -0
  44. package/dist/app/assets/{chunk-4BX2VUAB-BAztl0_0.js → chunk-4BX2VUAB-aAUlAQil.js} +1 -1
  45. package/dist/app/assets/{chunk-4TB4RGXK-ZsS-1RD1.js → chunk-4TB4RGXK-8S_2Lm6g.js} +1 -1
  46. package/dist/app/assets/{chunk-55IACEB6-DXiQApQ8.js → chunk-55IACEB6-Dz5quBWg.js} +1 -1
  47. package/dist/app/assets/{chunk-EDXVE4YY-BYhbxZxV.js → chunk-EDXVE4YY-BhH3k95q.js} +1 -1
  48. package/dist/app/assets/{chunk-FMBD7UC4-SJj_87D9.js → chunk-FMBD7UC4-BYUrcbwm.js} +1 -1
  49. package/dist/app/assets/{chunk-OYMX7WX6-B-BH2xMM.js → chunk-OYMX7WX6-DTytW7cJ.js} +1 -1
  50. package/dist/app/assets/{chunk-QZHKN3VN-DaAYKLco.js → chunk-QZHKN3VN-DCg0fs-A.js} +1 -1
  51. package/dist/app/assets/{chunk-YZCP3GAM-CfJMloWe.js → chunk-YZCP3GAM-Ck9WxSs5.js} +1 -1
  52. package/dist/app/assets/{cil-wZuBMlAJ.js → cil-Dy9yDCJC.js} +1 -1
  53. package/dist/app/assets/classDiagram-6PBFFD2Q-BOgbMClZ.js +1 -0
  54. package/dist/app/assets/classDiagram-v2-HSJHXN6E-BOgbMClZ.js +1 -0
  55. package/dist/app/assets/{clike-CRhpMHlk.js → clike-B3pqz2AZ.js} +1 -1
  56. package/dist/app/assets/{clojure-DMO2k_LX.js → clojure-DVRtvSwX.js} +1 -1
  57. package/dist/app/assets/clone-Bdj7TN-g.js +1 -0
  58. package/dist/app/assets/{cmake-BqvtckED.js → cmake-13muG7rK.js} +1 -1
  59. package/dist/app/assets/{cobol-xDtexk6i.js → cobol-Jbr347RJ.js} +1 -1
  60. package/dist/app/assets/{coffeescript-CzpmTya4.js → coffeescript-B3DOm1Ne.js} +1 -1
  61. package/dist/app/assets/{concurnas-HQ79kjPt.js → concurnas-CNySoRHf.js} +1 -1
  62. package/dist/app/assets/{coq-Cbpa5FyA.js → coq-K-m5AUlH.js} +1 -1
  63. package/dist/app/assets/{core-Cu2Jkalm.js → core-BPN6CWxM.js} +1 -1
  64. package/dist/app/assets/{cose-bilkent-S5V4N54A-C_7w3wsM.js → cose-bilkent-S5V4N54A-Dr0iADox.js} +1 -1
  65. package/dist/app/assets/{cpp-DOPbbMUO.js → cpp-BCnzQvRU.js} +1 -1
  66. package/dist/app/assets/{crystal-CuM3zI3S.js → crystal-PCOcWoSI.js} +1 -1
  67. package/dist/app/assets/{csharp-De0EGcoG.js → csharp-8stZQY6C.js} +1 -1
  68. package/dist/app/assets/{cshtml-Wn6pth6X.js → cshtml-DoI3CcDS.js} +1 -1
  69. package/dist/app/assets/{csp-LyyWJGrT.js → csp-BKUbys7F.js} +1 -1
  70. package/dist/app/assets/{css-BNK4Zp-f.js → css-0jn1p1e6.js} +1 -1
  71. package/dist/app/assets/{css-extras-Z7IDRR6q.js → css-extras-BjUA2auB.js} +1 -1
  72. package/dist/app/assets/{csv-DfSJQyh0.js → csv-ChtyJ7Mw.js} +1 -1
  73. package/dist/app/assets/{cypher-D0B6FjWa.js → cypher-BSoDMy4m.js} +1 -1
  74. package/dist/app/assets/{d-CnG6fHvw.js → d-CAzhRG-Z.js} +1 -1
  75. package/dist/app/assets/{dagre-KV5264BT-DUldLach.js → dagre-KV5264BT-BSVO3dNV.js} +1 -1
  76. package/dist/app/assets/{dart-BWQVECiK.js → dart-C8bLX20e.js} +1 -1
  77. package/dist/app/assets/{dataweave-BJPW08LN.js → dataweave-Dmo6CZIu.js} +1 -1
  78. package/dist/app/assets/{dax-BIbFgMqy.js → dax-CmqnMRUH.js} +1 -1
  79. package/dist/app/assets/{dhall-BkA9J7ud.js → dhall-QKB0WE21.js} +1 -1
  80. package/dist/app/assets/{diagram-5BDNPKRD-CZb17s_H.js → diagram-5BDNPKRD-r0Fz26nD.js} +1 -1
  81. package/dist/app/assets/{diagram-G4DWMVQ6-B73ii-qw.js → diagram-G4DWMVQ6-tVV9XZ9V.js} +1 -1
  82. package/dist/app/assets/{diagram-MMDJMWI5-NIDh9hK1.js → diagram-MMDJMWI5-B9rbYdY4.js} +1 -1
  83. package/dist/app/assets/{diagram-TYMM5635-CZ3FPncj.js → diagram-TYMM5635-Dsm73wxz.js} +1 -1
  84. package/dist/app/assets/{diff-BWfkBf8E.js → diff-PAv23eqQ.js} +1 -1
  85. package/dist/app/assets/{django-DRpeT-BW.js → django-BIrl2Lvz.js} +1 -1
  86. package/dist/app/assets/{dns-zone-file-GvowpQHR.js → dns-zone-file-ClLpdqMT.js} +1 -1
  87. package/dist/app/assets/{docker-TVMEg623.js → docker-BDozNG3x.js} +1 -1
  88. package/dist/app/assets/{dot-C69vBhSD.js → dot-I-WZKdgb.js} +1 -1
  89. package/dist/app/assets/{ebnf-OAF2eecr.js → ebnf-DkRUuKnr.js} +1 -1
  90. package/dist/app/assets/{editorconfig-DOv4klVh.js → editorconfig-BmLG6Etr.js} +1 -1
  91. package/dist/app/assets/{eiffel-D7oLChpC.js → eiffel-Bm2GdSQ2.js} +1 -1
  92. package/dist/app/assets/{ejs-C3L-bl36.js → ejs-C48N5ZIG.js} +1 -1
  93. package/dist/app/assets/{elixir-BETW2UlK.js → elixir-CdyVGNb8.js} +1 -1
  94. package/dist/app/assets/{elm-C9VYM6Cs.js → elm-CkQhPVjT.js} +1 -1
  95. package/dist/app/assets/{erDiagram-SMLLAGMA-l1hUlWgR.js → erDiagram-SMLLAGMA-Hyk82Vhv.js} +1 -1
  96. package/dist/app/assets/{erb-Dr21wkbA.js → erb-BX1eAGBM.js} +1 -1
  97. package/dist/app/assets/{erlang-DEgzVntV.js → erlang-Czbnuk55.js} +1 -1
  98. package/dist/app/assets/{etlua-OuY4Mgsb.js → etlua-i8hW4tPr.js} +1 -1
  99. package/dist/app/assets/{excel-formula-BTE3hIBD.js → excel-formula-CyZOfUTa.js} +1 -1
  100. package/dist/app/assets/{factor-DuNNshur.js → factor-AjGk3DF8.js} +1 -1
  101. package/dist/app/assets/{false-gbjsJ3hg.js → false-GhEvxGmO.js} +1 -1
  102. package/dist/app/assets/{firestore-security-rules-BBeKDP3_.js → firestore-security-rules-BjwnXyDp.js} +1 -1
  103. package/dist/app/assets/{flow-CkdC9FrV.js → flow-h4-WME33.js} +1 -1
  104. package/dist/app/assets/{flowDiagram-DWJPFMVM-4F9neVuT.js → flowDiagram-DWJPFMVM-BHEn2Y5w.js} +1 -1
  105. package/dist/app/assets/{fortran-BGNbqaHj.js → fortran-8lcbfijs.js} +1 -1
  106. package/dist/app/assets/{fsharp-DGWqPRA_.js → fsharp-x47H8jRh.js} +1 -1
  107. package/dist/app/assets/{ftl-CmzGlRDx.js → ftl-DBidAr07.js} +1 -1
  108. package/dist/app/assets/{ganttDiagram-T4ZO3ILL-BMagW87M.js → ganttDiagram-T4ZO3ILL-eZ852Es7.js} +1 -1
  109. package/dist/app/assets/{gap-B7KzKW3n.js → gap-gWkYaxLH.js} +1 -1
  110. package/dist/app/assets/{gcode-BiGM5kaW.js → gcode-C-XTnxAD.js} +1 -1
  111. package/dist/app/assets/{gdscript-DeA8RaO9.js → gdscript-D4fLzJ7v.js} +1 -1
  112. package/dist/app/assets/{gedcom-CRfa_YRH.js → gedcom-D1MSjhRT.js} +1 -1
  113. package/dist/app/assets/{gherkin-CpWjetkR.js → gherkin-BO4O8Wru.js} +1 -1
  114. package/dist/app/assets/{git-Z4GRaFv3.js → git-ClZL4XcF.js} +1 -1
  115. package/dist/app/assets/{gitGraphDiagram-UUTBAWPF-tiPRDA2P.js → gitGraphDiagram-UUTBAWPF-C8frR-gR.js} +1 -1
  116. package/dist/app/assets/{glsl-XQgoBOIT.js → glsl-BqI-_xG4.js} +1 -1
  117. package/dist/app/assets/{gml-gDSXVnYJ.js → gml-0_OiiWgt.js} +1 -1
  118. package/dist/app/assets/{gn-B4lSGMAk.js → gn-D1DB4wuu.js} +1 -1
  119. package/dist/app/assets/{go-Ckrycxgf.js → go-DRI0xPfv.js} +1 -1
  120. package/dist/app/assets/{go-module-Dk9Nxepw.js → go-module-BPPYgWaf.js} +1 -1
  121. package/dist/app/assets/{graph-Bkkgefa4.js → graph-jtjuwIYJ.js} +1 -1
  122. package/dist/app/assets/{graphql-CGg-4JzA.js → graphql-B8Ir2w1r.js} +1 -1
  123. package/dist/app/assets/{groovy-C1YBMc4G.js → groovy-CmNBOym9.js} +1 -1
  124. package/dist/app/assets/{haml-B2Xd1c7X.js → haml-Bj89_11G.js} +1 -1
  125. package/dist/app/assets/{handlebars-BsViXVGo.js → handlebars-bpf-b1uX.js} +1 -1
  126. package/dist/app/assets/{haskell-CSsIFdcr.js → haskell-BmbX5r9j.js} +1 -1
  127. package/dist/app/assets/{haxe-BR_dfH1E.js → haxe-KC1m6Yfs.js} +1 -1
  128. package/dist/app/assets/{hcl-C-y4saG-.js → hcl-CauJ5syT.js} +1 -1
  129. package/dist/app/assets/{hlsl-CVKSVFgk.js → hlsl-E3IzTavQ.js} +1 -1
  130. package/dist/app/assets/{hoon-C1LWoi5R.js → hoon-DYduWlDF.js} +1 -1
  131. package/dist/app/assets/{hpkp-BzpUntPT.js → hpkp-CPZobS10.js} +1 -1
  132. package/dist/app/assets/{hsts-Dvl3LJI5.js → hsts-CdUv0r9h.js} +1 -1
  133. package/dist/app/assets/{http-DEwjNsLT.js → http-UkfqLxHn.js} +1 -1
  134. package/dist/app/assets/{ichigojam-C4evRnAa.js → ichigojam-BXaYi-NN.js} +1 -1
  135. package/dist/app/assets/{icon-D_re1oiC.js → icon-DVY6xV3b.js} +1 -1
  136. package/dist/app/assets/{icu-message-format-DJjpEUHy.js → icu-message-format-CvZ8c2Q6.js} +1 -1
  137. package/dist/app/assets/{idris-DKFI5Bvl.js → idris-BzuUwcAy.js} +1 -1
  138. package/dist/app/assets/{iecst-8XO6ZwGp.js → iecst-CIwIsrrB.js} +1 -1
  139. package/dist/app/assets/{ignore-L0LeYwa9.js → ignore-CE_RoV3v.js} +1 -1
  140. package/dist/app/assets/{index-DiAjhyZq.css → index-Cbwlowa6.css} +1 -1
  141. package/dist/app/assets/{index-GhHwJ7zy.js → index-K4ACjQ4z.js} +134 -134
  142. package/dist/app/assets/{infoDiagram-42DDH7IO-DmYs6xfu.js → infoDiagram-42DDH7IO-jLRXuR7y.js} +1 -1
  143. package/dist/app/assets/{inform7-DqgYDE54.js → inform7-2Ky29vPV.js} +1 -1
  144. package/dist/app/assets/{ini-CTrxY_qp.js → ini-pzovWlWw.js} +1 -1
  145. package/dist/app/assets/{io-D9ET-XKa.js → io-DbXj-2n3.js} +1 -1
  146. package/dist/app/assets/{ishikawaDiagram-UXIWVN3A-BQDvhrnt.js → ishikawaDiagram-UXIWVN3A-CqnaMA1B.js} +1 -1
  147. package/dist/app/assets/{j-B7y4t3xK.js → j-BTi0-Ndk.js} +1 -1
  148. package/dist/app/assets/{java-Ws5xXNlL.js → java-D3h3eulz.js} +1 -1
  149. package/dist/app/assets/{javadoc-ID_X2nRl.js → javadoc-BcY94P5A.js} +1 -1
  150. package/dist/app/assets/{javadoclike-Wh7gTvtc.js → javadoclike-B-oibrTg.js} +1 -1
  151. package/dist/app/assets/{javascript-C6tEvLPB.js → javascript-BO58mIYT.js} +1 -1
  152. package/dist/app/assets/{javastacktrace-C8LplMna.js → javastacktrace-D4LNuQQI.js} +1 -1
  153. package/dist/app/assets/{jexl-Dq1avOfB.js → jexl-BYTP-082.js} +1 -1
  154. package/dist/app/assets/{jolie-DjtT42Sx.js → jolie-DT19e3xU.js} +1 -1
  155. package/dist/app/assets/{journeyDiagram-VCZTEJTY-DSXrOaVV.js → journeyDiagram-VCZTEJTY-CcMgjqdN.js} +1 -1
  156. package/dist/app/assets/{jq-DRjPY2oP.js → jq-BKWCQVpC.js} +1 -1
  157. package/dist/app/assets/{js-extras-vX1u2cQJ.js → js-extras-DpgaBeGa.js} +1 -1
  158. package/dist/app/assets/{js-templates-GHlquaL9.js → js-templates-xh0zMX88.js} +1 -1
  159. package/dist/app/assets/{jsdoc-DdprWrgJ.js → jsdoc-C-GvvPlU.js} +1 -1
  160. package/dist/app/assets/{json-C1TYILqQ.js → json-B-VU32ZP.js} +1 -1
  161. package/dist/app/assets/{json5-CSCI-5ri.js → json5-ghPj_aB9.js} +1 -1
  162. package/dist/app/assets/{jsonp-BBKKYSYX.js → jsonp-CA6i5De0.js} +1 -1
  163. package/dist/app/assets/{jsstacktrace-HzcVE95M.js → jsstacktrace-C7QFMHEB.js} +1 -1
  164. package/dist/app/assets/{jsx-C_vKNbEI.js → jsx-nL-WQ214.js} +1 -1
  165. package/dist/app/assets/{julia-CcCP3RW6.js → julia-Be5ZIobg.js} +1 -1
  166. package/dist/app/assets/{kanban-definition-6JOO6SKY-wPdpfIV4.js → kanban-definition-6JOO6SKY-Cq35Qt7t.js} +1 -1
  167. package/dist/app/assets/{keepalived-zqPiAKzR.js → keepalived-D6qmVKo9.js} +1 -1
  168. package/dist/app/assets/{keyman-alE3PvZq.js → keyman-DnTqkRT5.js} +1 -1
  169. package/dist/app/assets/{kotlin-DO78lZ0Q.js → kotlin-DB6tjcPY.js} +1 -1
  170. package/dist/app/assets/{kumir-CtTTABOG.js → kumir-BjeRoKMR.js} +1 -1
  171. package/dist/app/assets/{kusto-BKi63IPa.js → kusto-kCMj8FOy.js} +1 -1
  172. package/dist/app/assets/{latex-9eVOYfSU.js → latex-BISFNoUQ.js} +1 -1
  173. package/dist/app/assets/{latte-Clgr8M3e.js → latte-B_3smOZu.js} +1 -1
  174. package/dist/app/assets/{layout-B350V96N.js → layout-UzqCfMri.js} +1 -1
  175. package/dist/app/assets/{less-DqmqD40B.js → less-qcoyfYC_.js} +1 -1
  176. package/dist/app/assets/{lilypond-CTuWzPyB.js → lilypond-BGKf1i8c.js} +1 -1
  177. package/dist/app/assets/{linear--HBAodec.js → linear-C8-0wxbN.js} +1 -1
  178. package/dist/app/assets/{liquid-jYBJkD8C.js → liquid-VrWadSAy.js} +1 -1
  179. package/dist/app/assets/{lisp-DgIqH9z8.js → lisp-BTjWqNUW.js} +1 -1
  180. package/dist/app/assets/{livescript-Cfmd5BGE.js → livescript-vNFWwp4N.js} +1 -1
  181. package/dist/app/assets/{llvm-B1SvfTeo.js → llvm-WK7Im8Mx.js} +1 -1
  182. package/dist/app/assets/{log-FRyi10te.js → log-DMYT40mt.js} +1 -1
  183. package/dist/app/assets/{lolcode-Bji2yqEX.js → lolcode-CXH2FuUZ.js} +1 -1
  184. package/dist/app/assets/{lua-BFD0gVqY.js → lua-DTO5WHxq.js} +1 -1
  185. package/dist/app/assets/{magma-Bznn9DWe.js → magma-C6sMADdo.js} +1 -1
  186. package/dist/app/assets/{makefile-5r0hQol6.js → makefile-MHxAMV3D.js} +1 -1
  187. package/dist/app/assets/{markdown-DmHJFnUT.js → markdown-DdIbK-8L.js} +1 -1
  188. package/dist/app/assets/{markup-CvYzzBNk.js → markup-BpeZ9wWy.js} +1 -1
  189. package/dist/app/assets/{markup-templating-CDytSBMe.js → markup-templating-XqCbme63.js} +1 -1
  190. package/dist/app/assets/{matlab-whw0rReZ.js → matlab-CHbXjcdv.js} +1 -1
  191. package/dist/app/assets/{maxscript-CGfdw01c.js → maxscript-BRuyQF1I.js} +1 -1
  192. package/dist/app/assets/{mel-bs4qqZf5.js → mel-BcIjgiPy.js} +1 -1
  193. package/dist/app/assets/{mermaid-Cf5hejD-.js → mermaid-BwSr1PTU.js} +1 -1
  194. package/dist/app/assets/{min-1EjMVkfu.js → min-0Lnqk-bR.js} +1 -1
  195. package/dist/app/assets/{mindmap-definition-QFDTVHPH-C5V0yfz1.js → mindmap-definition-QFDTVHPH-Czt6NaQN.js} +1 -1
  196. package/dist/app/assets/{mizar-ROE5Ncdu.js → mizar-CJjkeZOv.js} +1 -1
  197. package/dist/app/assets/{mongodb-BZjyXntx.js → mongodb-Bvun4Ap6.js} +1 -1
  198. package/dist/app/assets/{monkey-D0TB1fI7.js → monkey-DM3r0SVF.js} +1 -1
  199. package/dist/app/assets/{moonscript-BWlCB7p0.js → moonscript-D3eFbTEw.js} +1 -1
  200. package/dist/app/assets/{n1ql-CculZmud.js → n1ql-BZE9FAr-.js} +1 -1
  201. package/dist/app/assets/{n4js-jIG-feFn.js → n4js-CCsMwPzQ.js} +1 -1
  202. package/dist/app/assets/{nand2tetris-hdl-aOh8K30W.js → nand2tetris-hdl-CLHhLnG9.js} +1 -1
  203. package/dist/app/assets/{naniscript-Cj9Urlcs.js → naniscript-FORkZo6J.js} +1 -1
  204. package/dist/app/assets/{nasm-D3P8V6Y7.js → nasm-BVjxa0dX.js} +1 -1
  205. package/dist/app/assets/{neon-RiLGC-Ea.js → neon-BerzZa9H.js} +1 -1
  206. package/dist/app/assets/{nevod-Rrgjzmc5.js → nevod-C36hu5IO.js} +1 -1
  207. package/dist/app/assets/{nginx-CopIuisR.js → nginx-DLJurC-F.js} +1 -1
  208. package/dist/app/assets/{nim-DgKJr1JH.js → nim-NwqzdBl9.js} +1 -1
  209. package/dist/app/assets/{nix-Cm4XIS2D.js → nix-BMYba5OL.js} +1 -1
  210. package/dist/app/assets/{nsis-D08OAIBB.js → nsis-Ujsj5qWO.js} +1 -1
  211. package/dist/app/assets/{objectivec-CNAwcWJZ.js → objectivec-D9Q7nqP2.js} +1 -1
  212. package/dist/app/assets/{ocaml-BZRp-fiN.js → ocaml-0Gb9yc-E.js} +1 -1
  213. package/dist/app/assets/{opencl-Bc_gOx7r.js → opencl-d0g4CU-6.js} +1 -1
  214. package/dist/app/assets/{openqasm-DHKdhlM4.js → openqasm-DNBbFf10.js} +1 -1
  215. package/dist/app/assets/{oz-D874ygXJ.js → oz-DeAjfWVk.js} +1 -1
  216. package/dist/app/assets/{parigp-ChrNlght.js → parigp-Cw6GMagO.js} +1 -1
  217. package/dist/app/assets/{parser-BVpZgTvv.js → parser-Ba1N4m09.js} +1 -1
  218. package/dist/app/assets/{pascal-Bp1W1Uta.js → pascal-BljwjmQz.js} +1 -1
  219. package/dist/app/assets/{pascaligo-BZB3Dkzv.js → pascaligo-VB7Esces.js} +1 -1
  220. package/dist/app/assets/{pcaxis-D072np-d.js → pcaxis-DHF2QJXb.js} +1 -1
  221. package/dist/app/assets/{peoplecode-DfK0p9Ww.js → peoplecode-BQEEpmUe.js} +1 -1
  222. package/dist/app/assets/{perl-LUh2EoVu.js → perl-DrBS0LCy.js} +1 -1
  223. package/dist/app/assets/{php-BQ7U-6c6.js → php-D370JUMP.js} +1 -1
  224. package/dist/app/assets/{php-extras-1bCX7_iD.js → php-extras-CwDe0jZp.js} +1 -1
  225. package/dist/app/assets/{phpdoc-B10ZGF-P.js → phpdoc-CiOrW7MP.js} +1 -1
  226. package/dist/app/assets/{pieDiagram-DEJITSTG-8rX243K8.js → pieDiagram-DEJITSTG-BRjK7KVl.js} +1 -1
  227. package/dist/app/assets/{plsql-C6fPVmUy.js → plsql-xdpA00BW.js} +1 -1
  228. package/dist/app/assets/{powerquery-D3mtveHj.js → powerquery-jWWzzeeK.js} +1 -1
  229. package/dist/app/assets/{powershell-Dggajckq.js → powershell-8uimM5sM.js} +1 -1
  230. package/dist/app/assets/{processing-swbCQVG4.js → processing-QSbqrBCn.js} +1 -1
  231. package/dist/app/assets/{prolog-BkIeSfVU.js → prolog-DL94VsoQ.js} +1 -1
  232. package/dist/app/assets/{promql-6DCflPzm.js → promql-CzzP70Zz.js} +1 -1
  233. package/dist/app/assets/{properties-BN6Ozlzy.js → properties-qQG5igrW.js} +1 -1
  234. package/dist/app/assets/{protobuf-C5whz5p7.js → protobuf-BMTN4S9X.js} +1 -1
  235. package/dist/app/assets/{psl-DF4RyyJW.js → psl-D-6m76lq.js} +1 -1
  236. package/dist/app/assets/{pug-BScb_kkj.js → pug-DuQ38-Bu.js} +1 -1
  237. package/dist/app/assets/{puppet-4AmEDWAv.js → puppet-C9WbrmQV.js} +1 -1
  238. package/dist/app/assets/{pure-aoOKAhcR.js → pure-4TCyYwSK.js} +1 -1
  239. package/dist/app/assets/{purebasic-4HgbNnk6.js → purebasic-CFKj-9Sf.js} +1 -1
  240. package/dist/app/assets/{purescript-B4Wbwk3W.js → purescript-C9U7bAYn.js} +1 -1
  241. package/dist/app/assets/{q-BkM7HM-q.js → q-CvrKcy9d.js} +1 -1
  242. package/dist/app/assets/{qml-DQ5EN4hK.js → qml-BW7AUG_7.js} +1 -1
  243. package/dist/app/assets/{qore-CObHIOc9.js → qore-DRUD9M-d.js} +1 -1
  244. package/dist/app/assets/{qsharp-BWWhA4ij.js → qsharp-D39YPxDq.js} +1 -1
  245. package/dist/app/assets/{quadrantDiagram-34T5L4WZ-5uG0kY-0.js → quadrantDiagram-34T5L4WZ-DS1LrnIG.js} +1 -1
  246. package/dist/app/assets/{r-CVRU9GJC.js → r-CEg2k6Yb.js} +1 -1
  247. package/dist/app/assets/{racket-DHXku25r.js → racket-DRPtpMsj.js} +1 -1
  248. package/dist/app/assets/{reason-CiDmGMEI.js → reason-B-qXU4Et.js} +1 -1
  249. package/dist/app/assets/{regex-DRZtnxam.js → regex-CsSf1Cfz.js} +1 -1
  250. package/dist/app/assets/{rego-B6h7Douu.js → rego-VXXsVyGE.js} +1 -1
  251. package/dist/app/assets/{renpy-C-1GmL9T.js → renpy-DWC5VEN0.js} +1 -1
  252. package/dist/app/assets/{requirementDiagram-MS252O5E-CVv7tUjN.js → requirementDiagram-MS252O5E-D1yFOIdt.js} +1 -1
  253. package/dist/app/assets/{rest-BgGj-3Zx.js → rest-pDe65Ctt.js} +1 -1
  254. package/dist/app/assets/{rip-BBbf4KYS.js → rip-CorRnEGq.js} +1 -1
  255. package/dist/app/assets/{roboconf-hNfig1Z4.js → roboconf-X3eSl5BY.js} +1 -1
  256. package/dist/app/assets/{robotframework-HYiQlZ0w.js → robotframework-CLWOblVK.js} +1 -1
  257. package/dist/app/assets/{ruby-Byis0-ar.js → ruby-BhHizLUq.js} +1 -1
  258. package/dist/app/assets/{rust-Dpu4_puq.js → rust-KwCeAwDB.js} +1 -1
  259. package/dist/app/assets/{sankeyDiagram-XADWPNL6-_FQ2lTLb.js → sankeyDiagram-XADWPNL6-CS4A3riG.js} +1 -1
  260. package/dist/app/assets/{sas-Dfnf8oLN.js → sas-BmKpi8uz.js} +1 -1
  261. package/dist/app/assets/{sass-xQlDqzhZ.js → sass-CLAJxgWV.js} +1 -1
  262. package/dist/app/assets/{scala-BMUvzGat.js → scala-4qkXqdFC.js} +1 -1
  263. package/dist/app/assets/{scheme-Dt1QNOpN.js → scheme-CTDiZrIF.js} +1 -1
  264. package/dist/app/assets/{scss-BSQm53Gx.js → scss-DsALC5OO.js} +1 -1
  265. package/dist/app/assets/{sequenceDiagram-FGHM5R23-vFTeN98W.js → sequenceDiagram-FGHM5R23-DSBN2T81.js} +1 -1
  266. package/dist/app/assets/{shell-session-B0CED_fQ.js → shell-session-CqKsOgW8.js} +1 -1
  267. package/dist/app/assets/{smali-jl7M77Xq.js → smali-CYK2pUFw.js} +1 -1
  268. package/dist/app/assets/{smalltalk-BRtvcc-T.js → smalltalk-DISzpnYr.js} +1 -1
  269. package/dist/app/assets/{smarty-Cvd8owGn.js → smarty-B918-r7L.js} +1 -1
  270. package/dist/app/assets/{sml-DOfDGDYt.js → sml-Bw6IzkGv.js} +1 -1
  271. package/dist/app/assets/{solidity-DbvmYgyP.js → solidity-DEB3Gm9H.js} +1 -1
  272. package/dist/app/assets/{solution-file-B8H-fM1N.js → solution-file-D2zyqypa.js} +1 -1
  273. package/dist/app/assets/{soy-Bm1DmwyM.js → soy-CpF2ALZg.js} +1 -1
  274. package/dist/app/assets/{sparql-Bga3yPUa.js → sparql-Dqur228Z.js} +1 -1
  275. package/dist/app/assets/{splunk-spl-aFFVN3q3.js → splunk-spl-BO5UN_pw.js} +1 -1
  276. package/dist/app/assets/{sqf-DASq-KYG.js → sqf-sPq7XmN4.js} +1 -1
  277. package/dist/app/assets/{sql-CbNXNF5c.js → sql-BBIgkG9I.js} +1 -1
  278. package/dist/app/assets/{squirrel-Da3AnJA8.js → squirrel-C3Y2wlu3.js} +1 -1
  279. package/dist/app/assets/{stan-DI74iduZ.js → stan-CkTG-keH.js} +1 -1
  280. package/dist/app/assets/{stateDiagram-FHFEXIEX-CAD0ZwQt.js → stateDiagram-FHFEXIEX-BYk7Q44w.js} +1 -1
  281. package/dist/app/assets/stateDiagram-v2-QKLJ7IA2-Dr657chO.js +1 -0
  282. package/dist/app/assets/{stylus-Cn2trDn7.js → stylus-DP6fiucU.js} +1 -1
  283. package/dist/app/assets/{swift-CwhDDGK7.js → swift-BcIJhU7i.js} +1 -1
  284. package/dist/app/assets/{systemd-B0aYo8tO.js → systemd-Bj9qapvn.js} +1 -1
  285. package/dist/app/assets/{t4-cs-DU1gbnTW.js → t4-cs-BTnkg25r.js} +1 -1
  286. package/dist/app/assets/{t4-templating-DUCmaMR4.js → t4-templating-DiW6oGqQ.js} +1 -1
  287. package/dist/app/assets/{t4-vb-7dorwZ6E.js → t4-vb-UTyjg4tp.js} +1 -1
  288. package/dist/app/assets/{tap-Bh_hGOHL.js → tap-Ed_xTklo.js} +1 -1
  289. package/dist/app/assets/{tcl-BtaTPikB.js → tcl-Bk-ZoOG4.js} +1 -1
  290. package/dist/app/assets/{textile-plVg0GZW.js → textile-CZj_khpd.js} +1 -1
  291. package/dist/app/assets/{timeline-definition-GMOUNBTQ-DzluEN5d.js → timeline-definition-GMOUNBTQ-CeAunyIF.js} +1 -1
  292. package/dist/app/assets/{toml-D8HuzOXx.js → toml-DYW5oVzI.js} +1 -1
  293. package/dist/app/assets/{tremor-D5q6qgKy.js → tremor-DqPTkwAU.js} +1 -1
  294. package/dist/app/assets/{tt2-BbekUz8f.js → tt2-BD6llK6C.js} +1 -1
  295. package/dist/app/assets/{turtle-DuQCRYQZ.js → turtle-D_VxYd_W.js} +1 -1
  296. package/dist/app/assets/{twig-Bo4KyiMu.js → twig-Dp8VfvZl.js} +1 -1
  297. package/dist/app/assets/{typescript-CUQTSQZ0.js → typescript-BflqNmQF.js} +1 -1
  298. package/dist/app/assets/{typoscript-D9HvWGh4.js → typoscript-DtJO34ZB.js} +1 -1
  299. package/dist/app/assets/{unrealscript-SbvOns5x.js → unrealscript-C8jPXtsj.js} +1 -1
  300. package/dist/app/assets/{uorazor-CNhyy0Li.js → uorazor-CFPzPUXg.js} +1 -1
  301. package/dist/app/assets/{uri--YkCnzir.js → uri-DkdlxU1G.js} +1 -1
  302. package/dist/app/assets/{v-CpBAr3qU.js → v-DTkby2kG.js} +1 -1
  303. package/dist/app/assets/{vala-CsCO8mHu.js → vala-CMDYTOwJ.js} +1 -1
  304. package/dist/app/assets/{vbnet-BAdufIAm.js → vbnet-C_hZunWX.js} +1 -1
  305. package/dist/app/assets/{velocity-BEYuBfUg.js → velocity-CnCTb2IA.js} +1 -1
  306. package/dist/app/assets/{vennDiagram-DHZGUBPP-DjTavRds.js → vennDiagram-DHZGUBPP-RtCFamqG.js} +1 -1
  307. package/dist/app/assets/{verilog-ByUi49Xb.js → verilog-Czz1q-oU.js} +1 -1
  308. package/dist/app/assets/{vhdl-DpDo3e7i.js → vhdl-BdvfiRn7.js} +1 -1
  309. package/dist/app/assets/{vim-BpwM_9tj.js → vim-BAHRwEe_.js} +1 -1
  310. package/dist/app/assets/{visual-basic-CnpI3p-X.js → visual-basic-ncSLJSP6.js} +1 -1
  311. package/dist/app/assets/{wardley-RL74JXVD-WqSxyCAH.js → wardley-RL74JXVD-CHg_zFkP.js} +1 -1
  312. package/dist/app/assets/{wardleyDiagram-NUSXRM2D-Cmi9ydEd.js → wardleyDiagram-NUSXRM2D-Dqzg24WO.js} +1 -1
  313. package/dist/app/assets/{warpscript-Cjkh_ReB.js → warpscript-DCQ764w0.js} +1 -1
  314. package/dist/app/assets/{wasm-D1247Fg-.js → wasm-DljWD0od.js} +1 -1
  315. package/dist/app/assets/{web-idl-Dte7V08E.js → web-idl-CThAM-QS.js} +1 -1
  316. package/dist/app/assets/{wiki-DHRhFonA.js → wiki-C3uvDTr2.js} +1 -1
  317. package/dist/app/assets/{wolfram-DvZQ_3pb.js → wolfram-WsMOhYXr.js} +1 -1
  318. package/dist/app/assets/{wren-Cv5LjkaP.js → wren-DZHglD0d.js} +1 -1
  319. package/dist/app/assets/{xeora-BTmbexa_.js → xeora-CAu8qySL.js} +1 -1
  320. package/dist/app/assets/{xml-doc-COY4dhhq.js → xml-doc-hgEvDErD.js} +1 -1
  321. package/dist/app/assets/{xojo-BPog3Sqv.js → xojo-DaKqUssi.js} +1 -1
  322. package/dist/app/assets/{xquery-CZoS1yWW.js → xquery-BHjeD6a0.js} +1 -1
  323. package/dist/app/assets/{xychartDiagram-5P7HB3ND-Cjll6yI0.js → xychartDiagram-5P7HB3ND-DT88cvNy.js} +1 -1
  324. package/dist/app/assets/{yaml-BsBBEqrn.js → yaml-BIt0fEmx.js} +1 -1
  325. package/dist/app/assets/{yang-BEBESbbE.js → yang-DXnDsOeM.js} +1 -1
  326. package/dist/app/assets/{zig-DbcDRVOU.js → zig-DcqFuGKI.js} +1 -1
  327. package/dist/app/index.html +2 -2
  328. package/dist/index.cjs +55 -26
  329. package/dist/index.js +55 -26
  330. package/package.json +3 -3
  331. package/dist/app/assets/channel-DFuCkxpD.js +0 -1
  332. package/dist/app/assets/classDiagram-6PBFFD2Q-B-sKfC2b.js +0 -1
  333. package/dist/app/assets/classDiagram-v2-HSJHXN6E-B-sKfC2b.js +0 -1
  334. package/dist/app/assets/clone-tyFq5yaW.js +0 -1
  335. package/dist/app/assets/stateDiagram-v2-QKLJ7IA2-9u9Bcufu.js +0 -1
package/dist/index.cjs CHANGED
@@ -7881,8 +7881,22 @@ var TOOL_GROUP_TOKEN_CATEGORY = {
7881
7881
  tools: "tools"
7882
7882
  };
7883
7883
  var TOOL_CALL_OUTPUT_RENDERERS = {};
7884
+ function normalizeStepCategory(category) {
7885
+ if (typeof category !== "string" || category.trim() === "") {
7886
+ return "Tool";
7887
+ }
7888
+ return category;
7889
+ }
7884
7890
  function getToolStepData(content) {
7885
- return content.data ?? {};
7891
+ const data = content.data ?? {};
7892
+ const category = normalizeStepCategory(data.category);
7893
+ if (category === data.category) {
7894
+ return data;
7895
+ }
7896
+ return {
7897
+ ...data,
7898
+ category
7899
+ };
7886
7900
  }
7887
7901
  function parseStepDate(value) {
7888
7902
  if (value instanceof Date) {
@@ -7972,7 +7986,7 @@ function isWidgetComponent(content) {
7972
7986
  }
7973
7987
  function isGroupableToolComponent(content) {
7974
7988
  if (!content || typeof content === "string") return false;
7975
- return isComponentContent(content) && !isWidgetComponent(content) && content.data?.category === "Tool";
7989
+ return isComponentContent(content) && !isWidgetComponent(content) && getToolStepData(content).category === "Tool";
7976
7990
  }
7977
7991
  function isSkippableToolGroupSeparator(content) {
7978
7992
  if (typeof content === "string") return !content.trim();
@@ -8031,15 +8045,20 @@ function getEffectiveToolGroupDisplayStatus(items, isThreadRunning) {
8031
8045
  }
8032
8046
  function getToolActivityLabel(content, language, statusOverride) {
8033
8047
  const data = getToolStepData(content);
8034
- const runningCandidates = [data.message, data.title, data.tool, data.type];
8035
- const completedCandidates = [data.title, data.message, data.tool, data.type];
8036
8048
  const status = statusOverride ?? data.status;
8037
- const candidates = status === "running" ? runningCandidates : completedCandidates;
8038
- for (const candidate of candidates) {
8039
- const label = resolveLocalizedText(candidate, language);
8040
- if (label) return label;
8049
+ const message = resolveLocalizedText(data.message, language);
8050
+ const title = resolveLocalizedText(data.title, language);
8051
+ const tool = resolveLocalizedText(data.tool, language);
8052
+ const type = resolveLocalizedText(data.type, language);
8053
+ if (status === "running") {
8054
+ return message ?? title ?? tool ?? type ?? "Tool";
8055
+ }
8056
+ const titleToken = normalizeToolToken(title);
8057
+ const genericTitle = titleToken !== null && [tool, type].map((candidate) => normalizeToolToken(candidate)).some((candidate) => candidate === titleToken);
8058
+ if (message && (!title || genericTitle)) {
8059
+ return message;
8041
8060
  }
8042
- return "Tool";
8061
+ return title ?? message ?? tool ?? type ?? "Tool";
8043
8062
  }
8044
8063
  function flushPendingTools(units, pendingTools) {
8045
8064
  if (pendingTools.length === 0) return;
@@ -8245,6 +8264,11 @@ function ToolStepIcon({
8245
8264
  usesToolsetAvatar,
8246
8265
  apiUrl
8247
8266
  );
8267
+ const iconUrl = createToolsetIconUrl(data.toolset, organizationId, apiUrl);
8268
+ const [failedIconUrl, setFailedIconUrl] = React28.useState(null);
8269
+ React28.useEffect(() => {
8270
+ setFailedIconUrl(null);
8271
+ }, [iconUrl]);
8248
8272
  if (avatar) {
8249
8273
  return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
8250
8274
  ToolAvatarIcon,
@@ -8255,6 +8279,19 @@ function ToolStepIcon({
8255
8279
  }
8256
8280
  );
8257
8281
  }
8282
+ if (iconUrl && failedIconUrl !== iconUrl) {
8283
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
8284
+ "img",
8285
+ {
8286
+ alt: "",
8287
+ "aria-hidden": "true",
8288
+ className: cn("rounded-sm object-contain", className),
8289
+ "data-slot": "tool-step-icon",
8290
+ src: iconUrl,
8291
+ onError: () => setFailedIconUrl(iconUrl)
8292
+ }
8293
+ );
8294
+ }
8258
8295
  const TypeIcon = getStepTypeIcon(data.type);
8259
8296
  if (TypeIcon) {
8260
8297
  return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
@@ -8287,19 +8324,6 @@ function ToolStepIcon({
8287
8324
  }
8288
8325
  );
8289
8326
  }
8290
- const iconUrl = createToolsetIconUrl(data.toolset, organizationId, apiUrl);
8291
- if (iconUrl) {
8292
- return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
8293
- "img",
8294
- {
8295
- alt: "",
8296
- "aria-hidden": "true",
8297
- className: cn("rounded-sm object-contain", className),
8298
- "data-slot": "tool-step-icon",
8299
- src: iconUrl
8300
- }
8301
- );
8302
- }
8303
8327
  return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
8304
8328
  import_lucide_react16.CircleHelp,
8305
8329
  {
@@ -8406,7 +8430,10 @@ function ToolCallDetails({ content }) {
8406
8430
  hasOutput ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(OutputRenderer, { content, data }) : null
8407
8431
  ] });
8408
8432
  }
8409
- function ToolCallRow({
8433
+ function areToolCallRowPropsEqual(previous, next) {
8434
+ return previous.content.id === next.content.id && previous.content.data === next.content.data && previous.isThreadRunning === next.isThreadRunning && previous.organizationId === next.organizationId && previous.apiUrl === next.apiUrl;
8435
+ }
8436
+ function ToolCallRowContent({
8410
8437
  content,
8411
8438
  isThreadRunning,
8412
8439
  organizationId,
@@ -8440,7 +8467,7 @@ function ToolCallRow({
8440
8467
  {
8441
8468
  type: "button",
8442
8469
  className: cn(
8443
- "flex w-full min-w-0 items-center gap-2 text-left text-sm leading-6 text-muted-foreground",
8470
+ "group/tool-call flex w-full min-w-0 items-center gap-2 text-left text-sm leading-6 text-muted-foreground",
8444
8471
  hasDetails && "cursor-pointer hover:text-foreground",
8445
8472
  hasError && "text-destructive hover:text-destructive"
8446
8473
  ),
@@ -8472,14 +8499,14 @@ function ToolCallRow({
8472
8499
  )
8473
8500
  }
8474
8501
  ) : /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: "h-3.5 w-3.5 shrink-0", "aria-hidden": "true" }),
8475
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: "min-w-0 flex-1 truncate", title: label, children: label }),
8502
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: "min-w-0 truncate", title: label, children: label }),
8476
8503
  durationLabel ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: "shrink-0 text-[11px] tabular-nums text-muted-foreground/80", children: durationLabel }) : null,
8477
8504
  hasDetails ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
8478
8505
  import_lucide_react16.ChevronRight,
8479
8506
  {
8480
8507
  "aria-hidden": "true",
8481
8508
  className: cn(
8482
- "h-3.5 w-3.5 shrink-0 text-muted-foreground transition-transform",
8509
+ "h-3.5 w-3.5 shrink-0 text-muted-foreground opacity-0 transition-[opacity,transform] group-hover/tool-call:opacity-100 group-focus-visible/tool-call:opacity-100",
8483
8510
  isExpanded && "rotate-90"
8484
8511
  )
8485
8512
  }
@@ -8490,6 +8517,8 @@ function ToolCallRow({
8490
8517
  hasDetails && isExpanded ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { id: detailsId, children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(ToolCallDetails, { content }) }) : null
8491
8518
  ] });
8492
8519
  }
8520
+ var ToolCallRow = React28.memo(ToolCallRowContent, areToolCallRowPropsEqual);
8521
+ ToolCallRow.displayName = "ToolCallRow";
8493
8522
  function ToolComponentGroup({
8494
8523
  items,
8495
8524
  hasFollowingItem,
package/dist/index.js CHANGED
@@ -7953,8 +7953,22 @@ var TOOL_GROUP_TOKEN_CATEGORY = {
7953
7953
  tools: "tools"
7954
7954
  };
7955
7955
  var TOOL_CALL_OUTPUT_RENDERERS = {};
7956
+ function normalizeStepCategory(category) {
7957
+ if (typeof category !== "string" || category.trim() === "") {
7958
+ return "Tool";
7959
+ }
7960
+ return category;
7961
+ }
7956
7962
  function getToolStepData(content) {
7957
- return content.data ?? {};
7963
+ const data = content.data ?? {};
7964
+ const category = normalizeStepCategory(data.category);
7965
+ if (category === data.category) {
7966
+ return data;
7967
+ }
7968
+ return {
7969
+ ...data,
7970
+ category
7971
+ };
7958
7972
  }
7959
7973
  function parseStepDate(value) {
7960
7974
  if (value instanceof Date) {
@@ -8044,7 +8058,7 @@ function isWidgetComponent(content) {
8044
8058
  }
8045
8059
  function isGroupableToolComponent(content) {
8046
8060
  if (!content || typeof content === "string") return false;
8047
- return isComponentContent(content) && !isWidgetComponent(content) && content.data?.category === "Tool";
8061
+ return isComponentContent(content) && !isWidgetComponent(content) && getToolStepData(content).category === "Tool";
8048
8062
  }
8049
8063
  function isSkippableToolGroupSeparator(content) {
8050
8064
  if (typeof content === "string") return !content.trim();
@@ -8103,15 +8117,20 @@ function getEffectiveToolGroupDisplayStatus(items, isThreadRunning) {
8103
8117
  }
8104
8118
  function getToolActivityLabel(content, language, statusOverride) {
8105
8119
  const data = getToolStepData(content);
8106
- const runningCandidates = [data.message, data.title, data.tool, data.type];
8107
- const completedCandidates = [data.title, data.message, data.tool, data.type];
8108
8120
  const status = statusOverride ?? data.status;
8109
- const candidates = status === "running" ? runningCandidates : completedCandidates;
8110
- for (const candidate of candidates) {
8111
- const label = resolveLocalizedText(candidate, language);
8112
- if (label) return label;
8121
+ const message = resolveLocalizedText(data.message, language);
8122
+ const title = resolveLocalizedText(data.title, language);
8123
+ const tool = resolveLocalizedText(data.tool, language);
8124
+ const type = resolveLocalizedText(data.type, language);
8125
+ if (status === "running") {
8126
+ return message ?? title ?? tool ?? type ?? "Tool";
8127
+ }
8128
+ const titleToken = normalizeToolToken(title);
8129
+ const genericTitle = titleToken !== null && [tool, type].map((candidate) => normalizeToolToken(candidate)).some((candidate) => candidate === titleToken);
8130
+ if (message && (!title || genericTitle)) {
8131
+ return message;
8113
8132
  }
8114
- return "Tool";
8133
+ return title ?? message ?? tool ?? type ?? "Tool";
8115
8134
  }
8116
8135
  function flushPendingTools(units, pendingTools) {
8117
8136
  if (pendingTools.length === 0) return;
@@ -8317,6 +8336,11 @@ function ToolStepIcon({
8317
8336
  usesToolsetAvatar,
8318
8337
  apiUrl
8319
8338
  );
8339
+ const iconUrl = createToolsetIconUrl(data.toolset, organizationId, apiUrl);
8340
+ const [failedIconUrl, setFailedIconUrl] = React28.useState(null);
8341
+ React28.useEffect(() => {
8342
+ setFailedIconUrl(null);
8343
+ }, [iconUrl]);
8320
8344
  if (avatar) {
8321
8345
  return /* @__PURE__ */ jsx31(
8322
8346
  ToolAvatarIcon,
@@ -8327,6 +8351,19 @@ function ToolStepIcon({
8327
8351
  }
8328
8352
  );
8329
8353
  }
8354
+ if (iconUrl && failedIconUrl !== iconUrl) {
8355
+ return /* @__PURE__ */ jsx31(
8356
+ "img",
8357
+ {
8358
+ alt: "",
8359
+ "aria-hidden": "true",
8360
+ className: cn("rounded-sm object-contain", className),
8361
+ "data-slot": "tool-step-icon",
8362
+ src: iconUrl,
8363
+ onError: () => setFailedIconUrl(iconUrl)
8364
+ }
8365
+ );
8366
+ }
8330
8367
  const TypeIcon = getStepTypeIcon(data.type);
8331
8368
  if (TypeIcon) {
8332
8369
  return /* @__PURE__ */ jsx31(
@@ -8359,19 +8396,6 @@ function ToolStepIcon({
8359
8396
  }
8360
8397
  );
8361
8398
  }
8362
- const iconUrl = createToolsetIconUrl(data.toolset, organizationId, apiUrl);
8363
- if (iconUrl) {
8364
- return /* @__PURE__ */ jsx31(
8365
- "img",
8366
- {
8367
- alt: "",
8368
- "aria-hidden": "true",
8369
- className: cn("rounded-sm object-contain", className),
8370
- "data-slot": "tool-step-icon",
8371
- src: iconUrl
8372
- }
8373
- );
8374
- }
8375
8399
  return /* @__PURE__ */ jsx31(
8376
8400
  CircleHelp,
8377
8401
  {
@@ -8478,7 +8502,10 @@ function ToolCallDetails({ content }) {
8478
8502
  hasOutput ? /* @__PURE__ */ jsx31(OutputRenderer, { content, data }) : null
8479
8503
  ] });
8480
8504
  }
8481
- function ToolCallRow({
8505
+ function areToolCallRowPropsEqual(previous, next) {
8506
+ return previous.content.id === next.content.id && previous.content.data === next.content.data && previous.isThreadRunning === next.isThreadRunning && previous.organizationId === next.organizationId && previous.apiUrl === next.apiUrl;
8507
+ }
8508
+ function ToolCallRowContent({
8482
8509
  content,
8483
8510
  isThreadRunning,
8484
8511
  organizationId,
@@ -8512,7 +8539,7 @@ function ToolCallRow({
8512
8539
  {
8513
8540
  type: "button",
8514
8541
  className: cn(
8515
- "flex w-full min-w-0 items-center gap-2 text-left text-sm leading-6 text-muted-foreground",
8542
+ "group/tool-call flex w-full min-w-0 items-center gap-2 text-left text-sm leading-6 text-muted-foreground",
8516
8543
  hasDetails && "cursor-pointer hover:text-foreground",
8517
8544
  hasError && "text-destructive hover:text-destructive"
8518
8545
  ),
@@ -8544,14 +8571,14 @@ function ToolCallRow({
8544
8571
  )
8545
8572
  }
8546
8573
  ) : /* @__PURE__ */ jsx31("span", { className: "h-3.5 w-3.5 shrink-0", "aria-hidden": "true" }),
8547
- /* @__PURE__ */ jsx31("span", { className: "min-w-0 flex-1 truncate", title: label, children: label }),
8574
+ /* @__PURE__ */ jsx31("span", { className: "min-w-0 truncate", title: label, children: label }),
8548
8575
  durationLabel ? /* @__PURE__ */ jsx31("span", { className: "shrink-0 text-[11px] tabular-nums text-muted-foreground/80", children: durationLabel }) : null,
8549
8576
  hasDetails ? /* @__PURE__ */ jsx31(
8550
8577
  ChevronRight6,
8551
8578
  {
8552
8579
  "aria-hidden": "true",
8553
8580
  className: cn(
8554
- "h-3.5 w-3.5 shrink-0 text-muted-foreground transition-transform",
8581
+ "h-3.5 w-3.5 shrink-0 text-muted-foreground opacity-0 transition-[opacity,transform] group-hover/tool-call:opacity-100 group-focus-visible/tool-call:opacity-100",
8555
8582
  isExpanded && "rotate-90"
8556
8583
  )
8557
8584
  }
@@ -8562,6 +8589,8 @@ function ToolCallRow({
8562
8589
  hasDetails && isExpanded ? /* @__PURE__ */ jsx31("div", { id: detailsId, children: /* @__PURE__ */ jsx31(ToolCallDetails, { content }) }) : null
8563
8590
  ] });
8564
8591
  }
8592
+ var ToolCallRow = React28.memo(ToolCallRowContent, areToolCallRowPropsEqual);
8593
+ ToolCallRow.displayName = "ToolCallRow";
8565
8594
  function ToolComponentGroup({
8566
8595
  items,
8567
8596
  hasFollowingItem,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xpert-ai/chatkit-ui",
3
- "version": "0.3.1",
3
+ "version": "0.3.3",
4
4
  "description": "ChatKit UI.",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -59,9 +59,9 @@
59
59
  "tw-animate-css": "^1.4.0",
60
60
  "uuid": "^11.1.0",
61
61
  "zod": "^4.1.12",
62
+ "@xpert-ai/chatkit-types": "~0.3.4",
62
63
  "@xpert-ai/a2ui-react": "~0.1.0",
63
- "@xpert-ai/chatkit-types": "~0.3.2",
64
- "@xpert-ai/chatkit-web-shared": "~0.3.1"
64
+ "@xpert-ai/chatkit-web-shared": "~0.3.2"
65
65
  },
66
66
  "devDependencies": {
67
67
  "@testing-library/jest-dom": "^6.9.1",
@@ -1 +0,0 @@
1
- import{aq as o,ar as n}from"./index-GhHwJ7zy.js";const t=(r,a)=>o.lang.round(n.parse(r)[a]);export{t as c};
@@ -1 +0,0 @@
1
- import{s as a,c as s,a as e,C as t}from"./chunk-4TB4RGXK-ZsS-1RD1.js";import{_ as i}from"./index-GhHwJ7zy.js";import"./chunk-FMBD7UC4-SJj_87D9.js";import"./chunk-YZCP3GAM-CfJMloWe.js";import"./chunk-55IACEB6-DXiQApQ8.js";import"./chunk-EDXVE4YY-BYhbxZxV.js";var u={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{u as diagram};
@@ -1 +0,0 @@
1
- import{s as a,c as s,a as e,C as t}from"./chunk-4TB4RGXK-ZsS-1RD1.js";import{_ as i}from"./index-GhHwJ7zy.js";import"./chunk-FMBD7UC4-SJj_87D9.js";import"./chunk-YZCP3GAM-CfJMloWe.js";import"./chunk-55IACEB6-DXiQApQ8.js";import"./chunk-EDXVE4YY-BYhbxZxV.js";var u={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{u as diagram};
@@ -1 +0,0 @@
1
- import{b as r}from"./graph-Bkkgefa4.js";var e=4;function a(o){return r(o,e)}export{a as c};
@@ -1 +0,0 @@
1
- import{s as t,b as r,a,S as s}from"./chunk-OYMX7WX6-B-BH2xMM.js";import{_ as i}from"./index-GhHwJ7zy.js";import"./chunk-55IACEB6-DXiQApQ8.js";import"./chunk-EDXVE4YY-BYhbxZxV.js";var l={parser:a,get db(){return new s(2)},renderer:r,styles:t,init:i(e=>{e.state||(e.state={}),e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute},"init")};export{l as diagram};