@xpert-ai/chatkit-ui 0.3.0 → 0.3.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 (337) hide show
  1. package/dist/app/assets/{_baseUniq-lX452MAQ.js → _baseUniq-DxHYvQh5.js} +1 -1
  2. package/dist/app/assets/{abap-gZkopi4F.js → abap-DVajZIEh.js} +1 -1
  3. package/dist/app/assets/{abnf-VMKH7Hc3.js → abnf-46NjTOlf.js} +1 -1
  4. package/dist/app/assets/{actionscript-aQCxCiw_.js → actionscript-CQpj0cg3.js} +1 -1
  5. package/dist/app/assets/{ada-Dc7AfCCm.js → ada-C-kX0zii.js} +1 -1
  6. package/dist/app/assets/{agda-DWZgUpC5.js → agda-CCA_JAgT.js} +1 -1
  7. package/dist/app/assets/{al-CO_9B9lG.js → al-Dnw0hERO.js} +1 -1
  8. package/dist/app/assets/{antlr4-WZaEDMQb.js → antlr4-vIL0hfzJ.js} +1 -1
  9. package/dist/app/assets/{apacheconf-D86MZlbl.js → apacheconf-CsWzUs9D.js} +1 -1
  10. package/dist/app/assets/{apex-Bo9DZc9U.js → apex-QViHF4AC.js} +1 -1
  11. package/dist/app/assets/{apl-CKvY1B3D.js → apl-J2xZukMp.js} +1 -1
  12. package/dist/app/assets/{applescript-C20sAjFT.js → applescript-B3WjGs4M.js} +1 -1
  13. package/dist/app/assets/{aql-Q0v8Nk3u.js → aql-NAU-bvN_.js} +1 -1
  14. package/dist/app/assets/{arc-DK-lzIsz.js → arc-B8hwrBK1.js} +1 -1
  15. package/dist/app/assets/{architectureDiagram-Q4EWVU46-As6A1NCe.js → architectureDiagram-Q4EWVU46-CpVpAf2q.js} +1 -1
  16. package/dist/app/assets/{arduino-BiuyMBbG.js → arduino-CHYJARcG.js} +1 -1
  17. package/dist/app/assets/{arff-CNkbVVzu.js → arff-DqAcq_Jd.js} +1 -1
  18. package/dist/app/assets/{asciidoc-BkzgEUXf.js → asciidoc-DXFN4u3C.js} +1 -1
  19. package/dist/app/assets/{asm6502-QGeBmTJy.js → asm6502-yvmvLNPw.js} +1 -1
  20. package/dist/app/assets/{asmatmel-BpLbiWjL.js → asmatmel-BNt_bXxW.js} +1 -1
  21. package/dist/app/assets/{aspnet-D3wdfwGX.js → aspnet-BMD5jkWc.js} +1 -1
  22. package/dist/app/assets/{autohotkey-DHyy-5TZ.js → autohotkey-CHZS5zbL.js} +1 -1
  23. package/dist/app/assets/{autoit-XcEZF4dU.js → autoit-DLLmQkuM.js} +1 -1
  24. package/dist/app/assets/{avisynth-gNRE3tU7.js → avisynth-C8BxdbSe.js} +1 -1
  25. package/dist/app/assets/{avro-idl-Dgep4UKK.js → avro-idl-C6pwRw5e.js} +1 -1
  26. package/dist/app/assets/{bash-BAG3m259.js → bash-CMOTacbo.js} +1 -1
  27. package/dist/app/assets/{basic-BxrEI_fK.js → basic-TZKBsQ-m.js} +1 -1
  28. package/dist/app/assets/{batch-J6ytHEFj.js → batch-CaE8zhSL.js} +1 -1
  29. package/dist/app/assets/{bbcode-BT1lTDE2.js → bbcode-DcenEstk.js} +1 -1
  30. package/dist/app/assets/{bicep-BypbiVUU.js → bicep-M0WBFGSH.js} +1 -1
  31. package/dist/app/assets/{birb-D3wvqOQv.js → birb-EkEU1ZCa.js} +1 -1
  32. package/dist/app/assets/{bison-D7BCh_Eb.js → bison-M-w8qpdO.js} +1 -1
  33. package/dist/app/assets/{blockDiagram-DXYQGD6D-DQ3qSzlH.js → blockDiagram-DXYQGD6D-Cb71R9Wk.js} +1 -1
  34. package/dist/app/assets/{bnf-a7eHbjgi.js → bnf-BnYdZYNM.js} +1 -1
  35. package/dist/app/assets/{brainfuck-DjGpaoTf.js → brainfuck-BjHrlOp6.js} +1 -1
  36. package/dist/app/assets/{brightscript-DIQmp459.js → brightscript-D2KWeGkG.js} +1 -1
  37. package/dist/app/assets/{bro-DnFXS9GN.js → bro-Cm3J_z1e.js} +1 -1
  38. package/dist/app/assets/{bsl-BSUZbWFh.js → bsl-aaIhCboX.js} +1 -1
  39. package/dist/app/assets/{c-DXBgEU7Z.js → c-Cromo6GX.js} +1 -1
  40. package/dist/app/assets/{c4Diagram-AHTNJAMY-k6xA6WEJ.js → c4Diagram-AHTNJAMY-CzSUyxD_.js} +1 -1
  41. package/dist/app/assets/{cfscript-46wzM6rl.js → cfscript-DjqhIng2.js} +1 -1
  42. package/dist/app/assets/{chaiscript-KsPmzO5D.js → chaiscript-Vo_Ts9eo.js} +1 -1
  43. package/dist/app/assets/channel-B4rIZFfB.js +1 -0
  44. package/dist/app/assets/{chunk-4BX2VUAB-CJqGZwHR.js → chunk-4BX2VUAB-aAUlAQil.js} +1 -1
  45. package/dist/app/assets/{chunk-4TB4RGXK-C_BNMjyo.js → chunk-4TB4RGXK-8S_2Lm6g.js} +1 -1
  46. package/dist/app/assets/{chunk-55IACEB6-D3WNN3Ra.js → chunk-55IACEB6-Dz5quBWg.js} +1 -1
  47. package/dist/app/assets/{chunk-EDXVE4YY-ZQR5cNyF.js → chunk-EDXVE4YY-BhH3k95q.js} +1 -1
  48. package/dist/app/assets/{chunk-FMBD7UC4-CsUUeatk.js → chunk-FMBD7UC4-BYUrcbwm.js} +1 -1
  49. package/dist/app/assets/{chunk-OYMX7WX6-BfC1NUL6.js → chunk-OYMX7WX6-DTytW7cJ.js} +1 -1
  50. package/dist/app/assets/{chunk-QZHKN3VN-CkOZl4MV.js → chunk-QZHKN3VN-DCg0fs-A.js} +1 -1
  51. package/dist/app/assets/{chunk-YZCP3GAM-Dr-QmZua.js → chunk-YZCP3GAM-Ck9WxSs5.js} +1 -1
  52. package/dist/app/assets/{cil-Md5L4xLR.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-VxCbt93Q.js → clike-B3pqz2AZ.js} +1 -1
  56. package/dist/app/assets/{clojure-ejHNRl1l.js → clojure-DVRtvSwX.js} +1 -1
  57. package/dist/app/assets/clone-Bdj7TN-g.js +1 -0
  58. package/dist/app/assets/{cmake-BgrMzJZh.js → cmake-13muG7rK.js} +1 -1
  59. package/dist/app/assets/{cobol-Bll2T8f1.js → cobol-Jbr347RJ.js} +1 -1
  60. package/dist/app/assets/{coffeescript-B_p1np8F.js → coffeescript-B3DOm1Ne.js} +1 -1
  61. package/dist/app/assets/{concurnas-CMYY6SB9.js → concurnas-CNySoRHf.js} +1 -1
  62. package/dist/app/assets/{coq-ClxxtIcC.js → coq-K-m5AUlH.js} +1 -1
  63. package/dist/app/assets/{core-Bj_xwvdQ.js → core-BPN6CWxM.js} +1 -1
  64. package/dist/app/assets/{cose-bilkent-S5V4N54A-B2_2Z4Vb.js → cose-bilkent-S5V4N54A-Dr0iADox.js} +1 -1
  65. package/dist/app/assets/{cpp-BiIjUvZ5.js → cpp-BCnzQvRU.js} +1 -1
  66. package/dist/app/assets/{crystal-D7sLwnll.js → crystal-PCOcWoSI.js} +1 -1
  67. package/dist/app/assets/{csharp-rfKJeYoP.js → csharp-8stZQY6C.js} +1 -1
  68. package/dist/app/assets/{cshtml-BTJWUpDQ.js → cshtml-DoI3CcDS.js} +1 -1
  69. package/dist/app/assets/{csp-BRgS-RE2.js → csp-BKUbys7F.js} +1 -1
  70. package/dist/app/assets/{css-zB7NhY84.js → css-0jn1p1e6.js} +1 -1
  71. package/dist/app/assets/{css-extras-DC0mgjcV.js → css-extras-BjUA2auB.js} +1 -1
  72. package/dist/app/assets/{csv-xNiGnf8p.js → csv-ChtyJ7Mw.js} +1 -1
  73. package/dist/app/assets/{cypher-D4kMW339.js → cypher-BSoDMy4m.js} +1 -1
  74. package/dist/app/assets/{d-Di8uWWH7.js → d-CAzhRG-Z.js} +1 -1
  75. package/dist/app/assets/{dagre-KV5264BT-CmK7fd4u.js → dagre-KV5264BT-BSVO3dNV.js} +1 -1
  76. package/dist/app/assets/{dart-FqqyXgLb.js → dart-C8bLX20e.js} +1 -1
  77. package/dist/app/assets/{dataweave-Cs1O7AJX.js → dataweave-Dmo6CZIu.js} +1 -1
  78. package/dist/app/assets/{dax-KB1BM7bV.js → dax-CmqnMRUH.js} +1 -1
  79. package/dist/app/assets/{dhall-DCTKp_3z.js → dhall-QKB0WE21.js} +1 -1
  80. package/dist/app/assets/{diagram-5BDNPKRD-BURjCouV.js → diagram-5BDNPKRD-r0Fz26nD.js} +1 -1
  81. package/dist/app/assets/{diagram-G4DWMVQ6-KllsGFmM.js → diagram-G4DWMVQ6-tVV9XZ9V.js} +1 -1
  82. package/dist/app/assets/{diagram-MMDJMWI5-laXUA2ZB.js → diagram-MMDJMWI5-B9rbYdY4.js} +1 -1
  83. package/dist/app/assets/{diagram-TYMM5635-M318vg34.js → diagram-TYMM5635-Dsm73wxz.js} +1 -1
  84. package/dist/app/assets/{diff-Pk_9ieTM.js → diff-PAv23eqQ.js} +1 -1
  85. package/dist/app/assets/{django-CFddaD9b.js → django-BIrl2Lvz.js} +1 -1
  86. package/dist/app/assets/{dns-zone-file-CmJSUcOI.js → dns-zone-file-ClLpdqMT.js} +1 -1
  87. package/dist/app/assets/{docker-fcG0bqun.js → docker-BDozNG3x.js} +1 -1
  88. package/dist/app/assets/{dot-BjaVrB7m.js → dot-I-WZKdgb.js} +1 -1
  89. package/dist/app/assets/{ebnf-DGfhioyM.js → ebnf-DkRUuKnr.js} +1 -1
  90. package/dist/app/assets/{editorconfig-DcSrQyzA.js → editorconfig-BmLG6Etr.js} +1 -1
  91. package/dist/app/assets/{eiffel-CoqFMLud.js → eiffel-Bm2GdSQ2.js} +1 -1
  92. package/dist/app/assets/{ejs-DeMPIqcF.js → ejs-C48N5ZIG.js} +1 -1
  93. package/dist/app/assets/{elixir-B_POc7g4.js → elixir-CdyVGNb8.js} +1 -1
  94. package/dist/app/assets/{elm-BFuCeY0z.js → elm-CkQhPVjT.js} +1 -1
  95. package/dist/app/assets/{erDiagram-SMLLAGMA-B-J0diCA.js → erDiagram-SMLLAGMA-Hyk82Vhv.js} +1 -1
  96. package/dist/app/assets/{erb-si3E3dUV.js → erb-BX1eAGBM.js} +1 -1
  97. package/dist/app/assets/{erlang-Ddy__LPP.js → erlang-Czbnuk55.js} +1 -1
  98. package/dist/app/assets/{etlua-4IXEXuVr.js → etlua-i8hW4tPr.js} +1 -1
  99. package/dist/app/assets/{excel-formula-Dk4CR3Yn.js → excel-formula-CyZOfUTa.js} +1 -1
  100. package/dist/app/assets/{factor-BkDLfQbw.js → factor-AjGk3DF8.js} +1 -1
  101. package/dist/app/assets/{false-BRTKo7ez.js → false-GhEvxGmO.js} +1 -1
  102. package/dist/app/assets/{firestore-security-rules-D_EusYXy.js → firestore-security-rules-BjwnXyDp.js} +1 -1
  103. package/dist/app/assets/{flow-CHzlA5yh.js → flow-h4-WME33.js} +1 -1
  104. package/dist/app/assets/{flowDiagram-DWJPFMVM-DiweDkZz.js → flowDiagram-DWJPFMVM-BHEn2Y5w.js} +1 -1
  105. package/dist/app/assets/{fortran-CYNESaR9.js → fortran-8lcbfijs.js} +1 -1
  106. package/dist/app/assets/{fsharp-NUsx2bG8.js → fsharp-x47H8jRh.js} +1 -1
  107. package/dist/app/assets/{ftl-bQJ0p1-M.js → ftl-DBidAr07.js} +1 -1
  108. package/dist/app/assets/{ganttDiagram-T4ZO3ILL-SVOd2ZjE.js → ganttDiagram-T4ZO3ILL-eZ852Es7.js} +1 -1
  109. package/dist/app/assets/{gap-BQJEDCIC.js → gap-gWkYaxLH.js} +1 -1
  110. package/dist/app/assets/{gcode-BrKlJ6fk.js → gcode-C-XTnxAD.js} +1 -1
  111. package/dist/app/assets/{gdscript-B8lXC579.js → gdscript-D4fLzJ7v.js} +1 -1
  112. package/dist/app/assets/{gedcom-DiZpNcIN.js → gedcom-D1MSjhRT.js} +1 -1
  113. package/dist/app/assets/{gherkin-u_ZFpNjN.js → gherkin-BO4O8Wru.js} +1 -1
  114. package/dist/app/assets/{git-DoOz0Ktu.js → git-ClZL4XcF.js} +1 -1
  115. package/dist/app/assets/{gitGraphDiagram-UUTBAWPF-C984Vn0t.js → gitGraphDiagram-UUTBAWPF-C8frR-gR.js} +1 -1
  116. package/dist/app/assets/{glsl-Bs8RMbFr.js → glsl-BqI-_xG4.js} +1 -1
  117. package/dist/app/assets/{gml-BcBcelB5.js → gml-0_OiiWgt.js} +1 -1
  118. package/dist/app/assets/{gn-CaTP9yrC.js → gn-D1DB4wuu.js} +1 -1
  119. package/dist/app/assets/{go-CKDjw0i5.js → go-DRI0xPfv.js} +1 -1
  120. package/dist/app/assets/{go-module-Dbcb9drk.js → go-module-BPPYgWaf.js} +1 -1
  121. package/dist/app/assets/{graph-Chm-7PyJ.js → graph-jtjuwIYJ.js} +1 -1
  122. package/dist/app/assets/{graphql-0_L_TXLB.js → graphql-B8Ir2w1r.js} +1 -1
  123. package/dist/app/assets/{groovy-BkDh1u52.js → groovy-CmNBOym9.js} +1 -1
  124. package/dist/app/assets/{haml-DQ-LVjjg.js → haml-Bj89_11G.js} +1 -1
  125. package/dist/app/assets/{handlebars-NRhlB2nS.js → handlebars-bpf-b1uX.js} +1 -1
  126. package/dist/app/assets/{haskell-DHC_gBTw.js → haskell-BmbX5r9j.js} +1 -1
  127. package/dist/app/assets/{haxe-tEBlGBlK.js → haxe-KC1m6Yfs.js} +1 -1
  128. package/dist/app/assets/{hcl-BHo9iBBj.js → hcl-CauJ5syT.js} +1 -1
  129. package/dist/app/assets/{hlsl-ClE0N_Vx.js → hlsl-E3IzTavQ.js} +1 -1
  130. package/dist/app/assets/{hoon-Cda9dhK_.js → hoon-DYduWlDF.js} +1 -1
  131. package/dist/app/assets/{hpkp-Bp6_x60i.js → hpkp-CPZobS10.js} +1 -1
  132. package/dist/app/assets/{hsts-Djl3JRc8.js → hsts-CdUv0r9h.js} +1 -1
  133. package/dist/app/assets/{http-CVkvp4-x.js → http-UkfqLxHn.js} +1 -1
  134. package/dist/app/assets/{ichigojam-Cppytidq.js → ichigojam-BXaYi-NN.js} +1 -1
  135. package/dist/app/assets/{icon-C34-QMcW.js → icon-DVY6xV3b.js} +1 -1
  136. package/dist/app/assets/{icu-message-format-Y_JfEO8f.js → icu-message-format-CvZ8c2Q6.js} +1 -1
  137. package/dist/app/assets/{idris-DaU9JJf5.js → idris-BzuUwcAy.js} +1 -1
  138. package/dist/app/assets/{iecst-CxWXOeLW.js → iecst-CIwIsrrB.js} +1 -1
  139. package/dist/app/assets/{ignore-BbOoUJdf.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-ymMwuJsf.js → index-K4ACjQ4z.js} +171 -171
  142. package/dist/app/assets/{infoDiagram-42DDH7IO-CHNb6taf.js → infoDiagram-42DDH7IO-jLRXuR7y.js} +1 -1
  143. package/dist/app/assets/{inform7-BDX8VhTQ.js → inform7-2Ky29vPV.js} +1 -1
  144. package/dist/app/assets/{ini-9wU82qZJ.js → ini-pzovWlWw.js} +1 -1
  145. package/dist/app/assets/{io-CwWXtWa9.js → io-DbXj-2n3.js} +1 -1
  146. package/dist/app/assets/{ishikawaDiagram-UXIWVN3A-CGglACCd.js → ishikawaDiagram-UXIWVN3A-CqnaMA1B.js} +1 -1
  147. package/dist/app/assets/{j-CPMI44bk.js → j-BTi0-Ndk.js} +1 -1
  148. package/dist/app/assets/{java-C4i6l9gR.js → java-D3h3eulz.js} +1 -1
  149. package/dist/app/assets/{javadoc-T3ifKgYG.js → javadoc-BcY94P5A.js} +1 -1
  150. package/dist/app/assets/{javadoclike-AggNrc4g.js → javadoclike-B-oibrTg.js} +1 -1
  151. package/dist/app/assets/{javascript-lSKDGXTk.js → javascript-BO58mIYT.js} +1 -1
  152. package/dist/app/assets/{javastacktrace-Y16gyqNF.js → javastacktrace-D4LNuQQI.js} +1 -1
  153. package/dist/app/assets/{jexl-Bo72UAip.js → jexl-BYTP-082.js} +1 -1
  154. package/dist/app/assets/{jolie-DKz_0seL.js → jolie-DT19e3xU.js} +1 -1
  155. package/dist/app/assets/{journeyDiagram-VCZTEJTY-DGqIstdm.js → journeyDiagram-VCZTEJTY-CcMgjqdN.js} +1 -1
  156. package/dist/app/assets/{jq-DCzqUUNO.js → jq-BKWCQVpC.js} +1 -1
  157. package/dist/app/assets/{js-extras-CZY3EvzU.js → js-extras-DpgaBeGa.js} +1 -1
  158. package/dist/app/assets/{js-templates-Dru6DAjB.js → js-templates-xh0zMX88.js} +1 -1
  159. package/dist/app/assets/{jsdoc-BlePeJxo.js → jsdoc-C-GvvPlU.js} +1 -1
  160. package/dist/app/assets/{json-BOAbOGKN.js → json-B-VU32ZP.js} +1 -1
  161. package/dist/app/assets/{json5-CCGjFvgH.js → json5-ghPj_aB9.js} +1 -1
  162. package/dist/app/assets/{jsonp-DqZyYBPg.js → jsonp-CA6i5De0.js} +1 -1
  163. package/dist/app/assets/{jsstacktrace-CQmXJVre.js → jsstacktrace-C7QFMHEB.js} +1 -1
  164. package/dist/app/assets/{jsx-Dw-FQpCK.js → jsx-nL-WQ214.js} +1 -1
  165. package/dist/app/assets/{julia-C7HL27Md.js → julia-Be5ZIobg.js} +1 -1
  166. package/dist/app/assets/{kanban-definition-6JOO6SKY-DiCadGus.js → kanban-definition-6JOO6SKY-Cq35Qt7t.js} +1 -1
  167. package/dist/app/assets/{keepalived-DXqMOn51.js → keepalived-D6qmVKo9.js} +1 -1
  168. package/dist/app/assets/{keyman-Bp9PD3Tz.js → keyman-DnTqkRT5.js} +1 -1
  169. package/dist/app/assets/{kotlin-DZ9Ie0gk.js → kotlin-DB6tjcPY.js} +1 -1
  170. package/dist/app/assets/{kumir-DRRbg1pP.js → kumir-BjeRoKMR.js} +1 -1
  171. package/dist/app/assets/{kusto-BeVGxJH6.js → kusto-kCMj8FOy.js} +1 -1
  172. package/dist/app/assets/{latex-BF4aJKrE.js → latex-BISFNoUQ.js} +1 -1
  173. package/dist/app/assets/{latte-BStXKgae.js → latte-B_3smOZu.js} +1 -1
  174. package/dist/app/assets/{layout-BgBCUpWL.js → layout-UzqCfMri.js} +1 -1
  175. package/dist/app/assets/{less-lPu1lE1m.js → less-qcoyfYC_.js} +1 -1
  176. package/dist/app/assets/{lilypond-BfXR0l7O.js → lilypond-BGKf1i8c.js} +1 -1
  177. package/dist/app/assets/{linear-Bo9BIEME.js → linear-C8-0wxbN.js} +1 -1
  178. package/dist/app/assets/{liquid-2x0wGZMJ.js → liquid-VrWadSAy.js} +1 -1
  179. package/dist/app/assets/{lisp-DiLJFr-l.js → lisp-BTjWqNUW.js} +1 -1
  180. package/dist/app/assets/{livescript-BjaOHA5j.js → livescript-vNFWwp4N.js} +1 -1
  181. package/dist/app/assets/{llvm-Ob7JmRXi.js → llvm-WK7Im8Mx.js} +1 -1
  182. package/dist/app/assets/{log-CWfEUBHz.js → log-DMYT40mt.js} +1 -1
  183. package/dist/app/assets/{lolcode-nF9mrCFS.js → lolcode-CXH2FuUZ.js} +1 -1
  184. package/dist/app/assets/{lua-BVcNRhA8.js → lua-DTO5WHxq.js} +1 -1
  185. package/dist/app/assets/{magma-CaeU9kjL.js → magma-C6sMADdo.js} +1 -1
  186. package/dist/app/assets/{makefile-DNeWgnPN.js → makefile-MHxAMV3D.js} +1 -1
  187. package/dist/app/assets/{markdown-1BG9nloe.js → markdown-DdIbK-8L.js} +1 -1
  188. package/dist/app/assets/{markup-Bt5ZMEau.js → markup-BpeZ9wWy.js} +1 -1
  189. package/dist/app/assets/{markup-templating-BxhrVXJ_.js → markup-templating-XqCbme63.js} +1 -1
  190. package/dist/app/assets/{matlab-BZ3_IER5.js → matlab-CHbXjcdv.js} +1 -1
  191. package/dist/app/assets/{maxscript-DLjkflyE.js → maxscript-BRuyQF1I.js} +1 -1
  192. package/dist/app/assets/{mel-wVg2DQyw.js → mel-BcIjgiPy.js} +1 -1
  193. package/dist/app/assets/{mermaid-BZwlkMd1.js → mermaid-BwSr1PTU.js} +1 -1
  194. package/dist/app/assets/{min-BsBJUJE4.js → min-0Lnqk-bR.js} +1 -1
  195. package/dist/app/assets/{mindmap-definition-QFDTVHPH-68hODMON.js → mindmap-definition-QFDTVHPH-Czt6NaQN.js} +1 -1
  196. package/dist/app/assets/{mizar-DH9yO98O.js → mizar-CJjkeZOv.js} +1 -1
  197. package/dist/app/assets/{mongodb-DmfDmuM3.js → mongodb-Bvun4Ap6.js} +1 -1
  198. package/dist/app/assets/{monkey-DVlxlNhi.js → monkey-DM3r0SVF.js} +1 -1
  199. package/dist/app/assets/{moonscript-GSddtQAI.js → moonscript-D3eFbTEw.js} +1 -1
  200. package/dist/app/assets/{n1ql-k_NE8hC3.js → n1ql-BZE9FAr-.js} +1 -1
  201. package/dist/app/assets/{n4js-BwDnFFd9.js → n4js-CCsMwPzQ.js} +1 -1
  202. package/dist/app/assets/{nand2tetris-hdl-Cn2lv5Ip.js → nand2tetris-hdl-CLHhLnG9.js} +1 -1
  203. package/dist/app/assets/{naniscript-B6_TjFgw.js → naniscript-FORkZo6J.js} +1 -1
  204. package/dist/app/assets/{nasm-DlU5KUhG.js → nasm-BVjxa0dX.js} +1 -1
  205. package/dist/app/assets/{neon-E_cS9Woo.js → neon-BerzZa9H.js} +1 -1
  206. package/dist/app/assets/{nevod-nczmxOic.js → nevod-C36hu5IO.js} +1 -1
  207. package/dist/app/assets/{nginx-DANx2MMx.js → nginx-DLJurC-F.js} +1 -1
  208. package/dist/app/assets/{nim-CqbwPVfg.js → nim-NwqzdBl9.js} +1 -1
  209. package/dist/app/assets/{nix-DesOtpHR.js → nix-BMYba5OL.js} +1 -1
  210. package/dist/app/assets/{nsis-C6ba6obD.js → nsis-Ujsj5qWO.js} +1 -1
  211. package/dist/app/assets/{objectivec-CKln2thf.js → objectivec-D9Q7nqP2.js} +1 -1
  212. package/dist/app/assets/{ocaml-Cqr8LLdp.js → ocaml-0Gb9yc-E.js} +1 -1
  213. package/dist/app/assets/{opencl-gKjcY9hT.js → opencl-d0g4CU-6.js} +1 -1
  214. package/dist/app/assets/{openqasm-CElExuVj.js → openqasm-DNBbFf10.js} +1 -1
  215. package/dist/app/assets/{oz-DiR07U4h.js → oz-DeAjfWVk.js} +1 -1
  216. package/dist/app/assets/{parigp-BqI_0Z4u.js → parigp-Cw6GMagO.js} +1 -1
  217. package/dist/app/assets/{parser-DQqffyku.js → parser-Ba1N4m09.js} +1 -1
  218. package/dist/app/assets/{pascal-BKqIDK3I.js → pascal-BljwjmQz.js} +1 -1
  219. package/dist/app/assets/{pascaligo-B_cza_Nk.js → pascaligo-VB7Esces.js} +1 -1
  220. package/dist/app/assets/{pcaxis-BBVjpPd3.js → pcaxis-DHF2QJXb.js} +1 -1
  221. package/dist/app/assets/{peoplecode-BrVfCrps.js → peoplecode-BQEEpmUe.js} +1 -1
  222. package/dist/app/assets/{perl-CslvbVgc.js → perl-DrBS0LCy.js} +1 -1
  223. package/dist/app/assets/{php-eLgUEO3u.js → php-D370JUMP.js} +1 -1
  224. package/dist/app/assets/{php-extras-DgrUF9-V.js → php-extras-CwDe0jZp.js} +1 -1
  225. package/dist/app/assets/{phpdoc-Bn_cU7Zt.js → phpdoc-CiOrW7MP.js} +1 -1
  226. package/dist/app/assets/{pieDiagram-DEJITSTG-B1V9XgH4.js → pieDiagram-DEJITSTG-BRjK7KVl.js} +1 -1
  227. package/dist/app/assets/{plsql-aZ5qAzIW.js → plsql-xdpA00BW.js} +1 -1
  228. package/dist/app/assets/{powerquery-6ut_0cg6.js → powerquery-jWWzzeeK.js} +1 -1
  229. package/dist/app/assets/{powershell-Cvn-M35X.js → powershell-8uimM5sM.js} +1 -1
  230. package/dist/app/assets/{processing-C0EqzVq5.js → processing-QSbqrBCn.js} +1 -1
  231. package/dist/app/assets/{prolog-DdbK-s1J.js → prolog-DL94VsoQ.js} +1 -1
  232. package/dist/app/assets/{promql-CKikllGH.js → promql-CzzP70Zz.js} +1 -1
  233. package/dist/app/assets/{properties-BoHmw-0e.js → properties-qQG5igrW.js} +1 -1
  234. package/dist/app/assets/{protobuf-DoS6EfWM.js → protobuf-BMTN4S9X.js} +1 -1
  235. package/dist/app/assets/{psl-ck7Quq6y.js → psl-D-6m76lq.js} +1 -1
  236. package/dist/app/assets/{pug-DCgLjPKy.js → pug-DuQ38-Bu.js} +1 -1
  237. package/dist/app/assets/{puppet-B95mBTDC.js → puppet-C9WbrmQV.js} +1 -1
  238. package/dist/app/assets/{pure-Br0PPEHg.js → pure-4TCyYwSK.js} +1 -1
  239. package/dist/app/assets/{purebasic-Bp0169Oo.js → purebasic-CFKj-9Sf.js} +1 -1
  240. package/dist/app/assets/{purescript-ChbDZRTl.js → purescript-C9U7bAYn.js} +1 -1
  241. package/dist/app/assets/{q-CZeqjghc.js → q-CvrKcy9d.js} +1 -1
  242. package/dist/app/assets/{qml-CnNXsAVp.js → qml-BW7AUG_7.js} +1 -1
  243. package/dist/app/assets/{qore-MQwj5SvP.js → qore-DRUD9M-d.js} +1 -1
  244. package/dist/app/assets/{qsharp-CWpN26mj.js → qsharp-D39YPxDq.js} +1 -1
  245. package/dist/app/assets/{quadrantDiagram-34T5L4WZ-BmQKs36f.js → quadrantDiagram-34T5L4WZ-DS1LrnIG.js} +1 -1
  246. package/dist/app/assets/{r-Be5_zxHj.js → r-CEg2k6Yb.js} +1 -1
  247. package/dist/app/assets/{racket-Bf9H-tPb.js → racket-DRPtpMsj.js} +1 -1
  248. package/dist/app/assets/{reason-BEWvE6-s.js → reason-B-qXU4Et.js} +1 -1
  249. package/dist/app/assets/{regex-COSoeExz.js → regex-CsSf1Cfz.js} +1 -1
  250. package/dist/app/assets/{rego-B4uJ_hTe.js → rego-VXXsVyGE.js} +1 -1
  251. package/dist/app/assets/{renpy-D8zzh_VA.js → renpy-DWC5VEN0.js} +1 -1
  252. package/dist/app/assets/{requirementDiagram-MS252O5E-Cm3XmRg8.js → requirementDiagram-MS252O5E-D1yFOIdt.js} +1 -1
  253. package/dist/app/assets/{rest-DCt1gQbM.js → rest-pDe65Ctt.js} +1 -1
  254. package/dist/app/assets/{rip-D5E1cO4r.js → rip-CorRnEGq.js} +1 -1
  255. package/dist/app/assets/{roboconf-CXthek4t.js → roboconf-X3eSl5BY.js} +1 -1
  256. package/dist/app/assets/{robotframework-Bdw0jnG0.js → robotframework-CLWOblVK.js} +1 -1
  257. package/dist/app/assets/{ruby-NqkRFUol.js → ruby-BhHizLUq.js} +1 -1
  258. package/dist/app/assets/{rust-zN9GD3GI.js → rust-KwCeAwDB.js} +1 -1
  259. package/dist/app/assets/{sankeyDiagram-XADWPNL6-W4KL5j5c.js → sankeyDiagram-XADWPNL6-CS4A3riG.js} +1 -1
  260. package/dist/app/assets/{sas-B3IGFzeA.js → sas-BmKpi8uz.js} +1 -1
  261. package/dist/app/assets/{sass-CEnmj2rr.js → sass-CLAJxgWV.js} +1 -1
  262. package/dist/app/assets/{scala-CqLqLLOW.js → scala-4qkXqdFC.js} +1 -1
  263. package/dist/app/assets/{scheme-yWLuYyef.js → scheme-CTDiZrIF.js} +1 -1
  264. package/dist/app/assets/{scss-BIFPPhWy.js → scss-DsALC5OO.js} +1 -1
  265. package/dist/app/assets/{sequenceDiagram-FGHM5R23-r8jD6iso.js → sequenceDiagram-FGHM5R23-DSBN2T81.js} +1 -1
  266. package/dist/app/assets/{shell-session-DcHzDIXT.js → shell-session-CqKsOgW8.js} +1 -1
  267. package/dist/app/assets/{smali-Cr_wFhaG.js → smali-CYK2pUFw.js} +1 -1
  268. package/dist/app/assets/{smalltalk-CNpu072c.js → smalltalk-DISzpnYr.js} +1 -1
  269. package/dist/app/assets/{smarty-DhCkEDm8.js → smarty-B918-r7L.js} +1 -1
  270. package/dist/app/assets/{sml-DKIjwhx1.js → sml-Bw6IzkGv.js} +1 -1
  271. package/dist/app/assets/{solidity-fxU-VywA.js → solidity-DEB3Gm9H.js} +1 -1
  272. package/dist/app/assets/{solution-file-BfORahuz.js → solution-file-D2zyqypa.js} +1 -1
  273. package/dist/app/assets/{soy-Cve0tQ-5.js → soy-CpF2ALZg.js} +1 -1
  274. package/dist/app/assets/{sparql-CabfHjCQ.js → sparql-Dqur228Z.js} +1 -1
  275. package/dist/app/assets/{splunk-spl-DZ9Ad-H7.js → splunk-spl-BO5UN_pw.js} +1 -1
  276. package/dist/app/assets/{sqf-DtxfqFGh.js → sqf-sPq7XmN4.js} +1 -1
  277. package/dist/app/assets/{sql-BVYVpk5v.js → sql-BBIgkG9I.js} +1 -1
  278. package/dist/app/assets/{squirrel-DnsbGi2l.js → squirrel-C3Y2wlu3.js} +1 -1
  279. package/dist/app/assets/{stan-D--0fkdm.js → stan-CkTG-keH.js} +1 -1
  280. package/dist/app/assets/{stateDiagram-FHFEXIEX-CAgHY22a.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-CfYWJ_cO.js → stylus-DP6fiucU.js} +1 -1
  283. package/dist/app/assets/{swift-DP--vkQ5.js → swift-BcIJhU7i.js} +1 -1
  284. package/dist/app/assets/{systemd-D0jMVoxw.js → systemd-Bj9qapvn.js} +1 -1
  285. package/dist/app/assets/{t4-cs-DHPo6f3I.js → t4-cs-BTnkg25r.js} +1 -1
  286. package/dist/app/assets/{t4-templating-6umIaX_o.js → t4-templating-DiW6oGqQ.js} +1 -1
  287. package/dist/app/assets/{t4-vb-CArQzxk3.js → t4-vb-UTyjg4tp.js} +1 -1
  288. package/dist/app/assets/{tap-DhJt0sWW.js → tap-Ed_xTklo.js} +1 -1
  289. package/dist/app/assets/{tcl-2F5RnBhP.js → tcl-Bk-ZoOG4.js} +1 -1
  290. package/dist/app/assets/{textile-CU31Sahi.js → textile-CZj_khpd.js} +1 -1
  291. package/dist/app/assets/{timeline-definition-GMOUNBTQ-rqCIcYA2.js → timeline-definition-GMOUNBTQ-CeAunyIF.js} +1 -1
  292. package/dist/app/assets/{toml-DQJkaZUW.js → toml-DYW5oVzI.js} +1 -1
  293. package/dist/app/assets/{tremor-BIlRIpbt.js → tremor-DqPTkwAU.js} +1 -1
  294. package/dist/app/assets/{tt2-B98Pk0Im.js → tt2-BD6llK6C.js} +1 -1
  295. package/dist/app/assets/{turtle-B6pKehBG.js → turtle-D_VxYd_W.js} +1 -1
  296. package/dist/app/assets/{twig-DYsTMffu.js → twig-Dp8VfvZl.js} +1 -1
  297. package/dist/app/assets/{typescript-BSIe5vlA.js → typescript-BflqNmQF.js} +1 -1
  298. package/dist/app/assets/{typoscript-BRyn3coF.js → typoscript-DtJO34ZB.js} +1 -1
  299. package/dist/app/assets/{unrealscript-Cab0Dmc7.js → unrealscript-C8jPXtsj.js} +1 -1
  300. package/dist/app/assets/{uorazor-D2BCp6s7.js → uorazor-CFPzPUXg.js} +1 -1
  301. package/dist/app/assets/{uri-CSpA9BKv.js → uri-DkdlxU1G.js} +1 -1
  302. package/dist/app/assets/{v-B25gPlUU.js → v-DTkby2kG.js} +1 -1
  303. package/dist/app/assets/{vala-mJSPH9gX.js → vala-CMDYTOwJ.js} +1 -1
  304. package/dist/app/assets/{vbnet-DIcvZSu4.js → vbnet-C_hZunWX.js} +1 -1
  305. package/dist/app/assets/{velocity-PLMPdAvL.js → velocity-CnCTb2IA.js} +1 -1
  306. package/dist/app/assets/{vennDiagram-DHZGUBPP-Bp4k68pV.js → vennDiagram-DHZGUBPP-RtCFamqG.js} +1 -1
  307. package/dist/app/assets/{verilog-BSOEqPFx.js → verilog-Czz1q-oU.js} +1 -1
  308. package/dist/app/assets/{vhdl-DyQFBvVR.js → vhdl-BdvfiRn7.js} +1 -1
  309. package/dist/app/assets/{vim-h_HVQhC2.js → vim-BAHRwEe_.js} +1 -1
  310. package/dist/app/assets/{visual-basic-M8p7UsuC.js → visual-basic-ncSLJSP6.js} +1 -1
  311. package/dist/app/assets/{wardley-RL74JXVD-Uu_wX9U3.js → wardley-RL74JXVD-CHg_zFkP.js} +1 -1
  312. package/dist/app/assets/{wardleyDiagram-NUSXRM2D-DPBiCRcK.js → wardleyDiagram-NUSXRM2D-Dqzg24WO.js} +1 -1
  313. package/dist/app/assets/{warpscript-BtDvkyLc.js → warpscript-DCQ764w0.js} +1 -1
  314. package/dist/app/assets/{wasm-r7gKU9qM.js → wasm-DljWD0od.js} +1 -1
  315. package/dist/app/assets/{web-idl-Da30KJkO.js → web-idl-CThAM-QS.js} +1 -1
  316. package/dist/app/assets/{wiki-CVsUGhCh.js → wiki-C3uvDTr2.js} +1 -1
  317. package/dist/app/assets/{wolfram-DXqfNk88.js → wolfram-WsMOhYXr.js} +1 -1
  318. package/dist/app/assets/{wren-CocIgyMY.js → wren-DZHglD0d.js} +1 -1
  319. package/dist/app/assets/{xeora-DLn8PzOU.js → xeora-CAu8qySL.js} +1 -1
  320. package/dist/app/assets/{xml-doc-DHaFMv8h.js → xml-doc-hgEvDErD.js} +1 -1
  321. package/dist/app/assets/{xojo-tZYY9Sxi.js → xojo-DaKqUssi.js} +1 -1
  322. package/dist/app/assets/{xquery-CFQ3SYWL.js → xquery-BHjeD6a0.js} +1 -1
  323. package/dist/app/assets/{xychartDiagram-5P7HB3ND-0a9EFUPt.js → xychartDiagram-5P7HB3ND-DT88cvNy.js} +1 -1
  324. package/dist/app/assets/{yaml-B_Neze7M.js → yaml-BIt0fEmx.js} +1 -1
  325. package/dist/app/assets/{yang-ChaN4AKh.js → yang-DXnDsOeM.js} +1 -1
  326. package/dist/app/assets/{zig-BvXDnoXQ.js → zig-DcqFuGKI.js} +1 -1
  327. package/dist/app/index.html +2 -2
  328. package/dist/index.cjs +199 -57
  329. package/dist/index.d.cts +5 -1
  330. package/dist/index.d.ts +5 -1
  331. package/dist/index.js +199 -57
  332. package/package.json +3 -3
  333. package/dist/app/assets/channel-ByK1S3DD.js +0 -1
  334. package/dist/app/assets/classDiagram-6PBFFD2Q-bIGveE9D.js +0 -1
  335. package/dist/app/assets/classDiagram-v2-HSJHXN6E-bIGveE9D.js +0 -1
  336. package/dist/app/assets/clone-CGhA6PF9.js +0 -1
  337. package/dist/app/assets/stateDiagram-v2-QKLJ7IA2-1yK0SXDF.js +0 -1
package/dist/index.cjs CHANGED
@@ -619,6 +619,7 @@ function ParentMessengerProvider({
619
619
  /* @__PURE__ */ new Map()
620
620
  );
621
621
  const onSetOptionsHandlersRef = (0, import_react.useRef)(/* @__PURE__ */ new Set());
622
+ const onSetPetEnabledHandlersRef = (0, import_react.useRef)(/* @__PURE__ */ new Set());
622
623
  const onSetComposerValueHandlersRef = (0, import_react.useRef)(
623
624
  /* @__PURE__ */ new Set()
624
625
  );
@@ -636,6 +637,15 @@ function ParentMessengerProvider({
636
637
  onSetOptionsHandlersRef.current.delete(handler);
637
638
  };
638
639
  }, []);
640
+ const registerOnSetPetEnabled = (0, import_react.useCallback)(
641
+ (handler) => {
642
+ onSetPetEnabledHandlersRef.current.add(handler);
643
+ return () => {
644
+ onSetPetEnabledHandlersRef.current.delete(handler);
645
+ };
646
+ },
647
+ []
648
+ );
639
649
  const registerOnSetComposerValue = (0, import_react.useCallback)(
640
650
  (handler) => {
641
651
  onSetComposerValueHandlersRef.current.add(handler);
@@ -778,6 +788,17 @@ function ParentMessengerProvider({
778
788
  }
779
789
  return;
780
790
  }
791
+ if (payload.type === "command" && payload.command === "onSetPetEnabled") {
792
+ const data = payload.data;
793
+ const enabled = data?.enabled === true;
794
+ onSetPetEnabledHandlersRef.current.forEach((handler2) => {
795
+ handler2(enabled);
796
+ });
797
+ if (payload.nonce) {
798
+ sendResponse(payload.nonce, { ok: true });
799
+ }
800
+ return;
801
+ }
781
802
  if (payload.type === "command" && payload.command === "onFocusComposer") {
782
803
  void Promise.all(
783
804
  [...onFocusComposerHandlersRef.current].map(
@@ -874,6 +895,7 @@ function ParentMessengerProvider({
874
895
  sendCommand,
875
896
  sendEvent,
876
897
  registerOnSetOptions,
898
+ registerOnSetPetEnabled,
877
899
  registerOnSetComposerValue,
878
900
  registerOnFocusComposer
879
901
  }),
@@ -882,6 +904,7 @@ function ParentMessengerProvider({
882
904
  sendCommand,
883
905
  sendEvent,
884
906
  registerOnSetOptions,
907
+ registerOnSetPetEnabled,
885
908
  registerOnSetComposerValue,
886
909
  registerOnFocusComposer
887
910
  ]
@@ -892,6 +915,7 @@ function ParentMessengerProvider({
892
915
  // src/hooks/useParentMessenger.tsx
893
916
  function useParentMessenger({
894
917
  onSetOptions,
918
+ onSetPetEnabled,
895
919
  onSetComposerValue,
896
920
  onFocusComposer
897
921
  } = {}) {
@@ -903,16 +927,21 @@ function useParentMessenger({
903
927
  }
904
928
  const {
905
929
  registerOnSetOptions,
930
+ registerOnSetPetEnabled,
906
931
  registerOnSetComposerValue,
907
932
  registerOnFocusComposer,
908
933
  ...messenger
909
934
  } = context;
910
935
  const onSetOptionsRef = (0, import_react2.useRef)(onSetOptions);
936
+ const onSetPetEnabledRef = (0, import_react2.useRef)(onSetPetEnabled);
911
937
  const onSetComposerValueRef = (0, import_react2.useRef)(onSetComposerValue);
912
938
  const onFocusComposerRef = (0, import_react2.useRef)(onFocusComposer);
913
939
  (0, import_react2.useEffect)(() => {
914
940
  onSetOptionsRef.current = onSetOptions;
915
941
  }, [onSetOptions]);
942
+ (0, import_react2.useEffect)(() => {
943
+ onSetPetEnabledRef.current = onSetPetEnabled;
944
+ }, [onSetPetEnabled]);
916
945
  (0, import_react2.useEffect)(() => {
917
946
  onSetComposerValueRef.current = onSetComposerValue;
918
947
  }, [onSetComposerValue]);
@@ -920,6 +949,7 @@ function useParentMessenger({
920
949
  onFocusComposerRef.current = onFocusComposer;
921
950
  }, [onFocusComposer]);
922
951
  const hasOnSetOptions = Boolean(onSetOptions);
952
+ const hasOnSetPetEnabled = Boolean(onSetPetEnabled);
923
953
  const hasOnSetComposerValue = Boolean(onSetComposerValue);
924
954
  const hasOnFocusComposer = Boolean(onFocusComposer);
925
955
  (0, import_react2.useEffect)(() => {
@@ -929,6 +959,13 @@ function useParentMessenger({
929
959
  };
930
960
  return registerOnSetOptions(handler);
931
961
  }, [hasOnSetOptions, registerOnSetOptions]);
962
+ (0, import_react2.useEffect)(() => {
963
+ if (!hasOnSetPetEnabled) return;
964
+ const handler = (enabled) => {
965
+ onSetPetEnabledRef.current?.(enabled);
966
+ };
967
+ return registerOnSetPetEnabled(handler);
968
+ }, [hasOnSetPetEnabled, registerOnSetPetEnabled]);
932
969
  (0, import_react2.useEffect)(() => {
933
970
  if (!hasOnSetComposerValue) return;
934
971
  const handler = (payload) => {
@@ -5510,14 +5547,14 @@ function formatUnknownMessageContent(content) {
5510
5547
  function getMessagePlainText(message) {
5511
5548
  return formatUnknownMessageContent(message.content).replace(/\s+/g, " ").trim();
5512
5549
  }
5513
- function findLatestMessageByType(messages, types) {
5550
+ function findLatestMessageMatchByType(messages, types) {
5514
5551
  for (let index = messages.length - 1; index >= 0; index -= 1) {
5515
5552
  const message = messages[index];
5516
5553
  if (!message) {
5517
5554
  continue;
5518
5555
  }
5519
5556
  if (types.includes(String(message.type))) {
5520
- return message;
5557
+ return { message, index };
5521
5558
  }
5522
5559
  }
5523
5560
  return null;
@@ -5532,6 +5569,21 @@ function truncateSummaryText(value, maxLength) {
5532
5569
  }
5533
5570
  return `${value.slice(0, Math.max(0, maxLength - 3)).trimEnd()}...`;
5534
5571
  }
5572
+ function normalizeThreadId(threadId) {
5573
+ const normalized = threadId?.trim();
5574
+ return normalized || null;
5575
+ }
5576
+ function getConversationSummarySourceKey(summary) {
5577
+ if (!summary) {
5578
+ return null;
5579
+ }
5580
+ return [
5581
+ summary.threadId,
5582
+ summary.messageId ?? "",
5583
+ summary.updatedAt ?? "",
5584
+ summary.message
5585
+ ].join("");
5586
+ }
5535
5587
  function buildConversationSummary({
5536
5588
  threadId,
5537
5589
  currentThread,
@@ -5545,22 +5597,33 @@ function buildConversationSummary({
5545
5597
  return null;
5546
5598
  }
5547
5599
  const errorMessage = threadErrorMessage?.trim();
5548
- const assistantMessage = findLatestMessageByType(messages, [
5600
+ const assistantMatch = findLatestMessageMatchByType(messages, [
5549
5601
  "assistant",
5550
5602
  "ai"
5551
5603
  ]);
5552
- if (!assistantMessage && !errorMessage) {
5604
+ const latestUserMatch = findLatestMessageMatchByType(messages, [
5605
+ "user",
5606
+ "human"
5607
+ ]);
5608
+ const assistantMessage = assistantMatch?.message;
5609
+ const latestUserMessage = latestUserMatch?.message;
5610
+ const assistantMessageText = assistantMessage ? getMessagePlainText(assistantMessage) : "";
5611
+ const latestUserMessageText = latestUserMessage ? getMessagePlainText(latestUserMessage) : "";
5612
+ const latestUserIsAfterAssistant = Boolean(
5613
+ latestUserMatch && (!assistantMatch || latestUserMatch.index > assistantMatch.index)
5614
+ );
5615
+ const shouldUseLatestUserMessage = Boolean(
5616
+ currentThreadIsRunning && latestUserMatch && latestUserMessageText && (latestUserIsAfterAssistant || !assistantMessageText)
5617
+ );
5618
+ const summaryMessage = shouldUseLatestUserMessage && latestUserMatch ? latestUserMatch.message : assistantMessageText ? assistantMessage : void 0;
5619
+ if (!summaryMessage && !errorMessage) {
5553
5620
  return null;
5554
5621
  }
5555
- const assistantMessageText = assistantMessage ? getMessagePlainText(assistantMessage) : "";
5556
- const message = errorMessage || assistantMessageText;
5622
+ const summaryMessageText = shouldUseLatestUserMessage ? latestUserMessageText : assistantMessageText;
5623
+ const message = errorMessage || summaryMessageText;
5557
5624
  if (!message) {
5558
5625
  return null;
5559
5626
  }
5560
- const latestUserMessage = findLatestMessageByType(messages, [
5561
- "user",
5562
- "human"
5563
- ]);
5564
5627
  const title = currentThread?.title?.trim() || (latestUserMessage ? truncateSummaryText(
5565
5628
  getMessagePlainText(latestUserMessage),
5566
5629
  CONVERSATION_SUMMARY_TITLE_FALLBACK_MAX_LENGTH
@@ -5571,8 +5634,8 @@ function buildConversationSummary({
5571
5634
  title,
5572
5635
  message,
5573
5636
  status,
5574
- ...assistantMessage && getMessageStringField(assistantMessage, "id") ? { messageId: getMessageStringField(assistantMessage, "id") } : {},
5575
- ...assistantMessage && getMessageStringField(assistantMessage, "updatedAt") ? { updatedAt: getMessageStringField(assistantMessage, "updatedAt") } : assistantMessage && getMessageStringField(assistantMessage, "createdAt") ? { updatedAt: getMessageStringField(assistantMessage, "createdAt") } : {}
5637
+ ...summaryMessage && getMessageStringField(summaryMessage, "id") ? { messageId: getMessageStringField(summaryMessage, "id") } : {},
5638
+ ...summaryMessage && getMessageStringField(summaryMessage, "updatedAt") ? { updatedAt: getMessageStringField(summaryMessage, "updatedAt") } : summaryMessage && getMessageStringField(summaryMessage, "createdAt") ? { updatedAt: getMessageStringField(summaryMessage, "createdAt") } : {}
5576
5639
  };
5577
5640
  }
5578
5641
  function useConversationSummaryEvent({
@@ -5582,6 +5645,7 @@ function useConversationSummaryEvent({
5582
5645
  currentThreadIsRunning,
5583
5646
  threadErrorMessage,
5584
5647
  messages,
5648
+ historyMessageLoadVersion = 0,
5585
5649
  fallbackTitle
5586
5650
  }) {
5587
5651
  const summary = React21.useMemo(
@@ -5604,18 +5668,57 @@ function useConversationSummaryEvent({
5604
5668
  ]
5605
5669
  );
5606
5670
  const sendParentEvent = parentMessenger?.sendEvent;
5671
+ const emissionStateRef = React21.useRef({
5672
+ threadId: null,
5673
+ historyMessageLoadVersion,
5674
+ baselineSourceKey: null,
5675
+ publishedSourceKey: null
5676
+ });
5607
5677
  React21.useEffect(() => {
5608
5678
  if (!sendParentEvent) {
5609
5679
  return;
5610
5680
  }
5611
- sendParentEvent("public_event", [
5612
- "log",
5613
- {
5614
- name: CONVERSATION_SUMMARY_LOG_NAME,
5615
- data: summary
5616
- }
5617
- ]);
5618
- }, [sendParentEvent, summary]);
5681
+ const normalizedThreadId = summary?.threadId ?? normalizeThreadId(threadId);
5682
+ const sourceKey = getConversationSummarySourceKey(summary);
5683
+ const state = emissionStateRef.current;
5684
+ const sendSummary = (data) => {
5685
+ sendParentEvent("public_event", [
5686
+ "log",
5687
+ {
5688
+ name: CONVERSATION_SUMMARY_LOG_NAME,
5689
+ data
5690
+ }
5691
+ ]);
5692
+ };
5693
+ if (state.threadId !== normalizedThreadId) {
5694
+ emissionStateRef.current = {
5695
+ threadId: normalizedThreadId,
5696
+ historyMessageLoadVersion,
5697
+ baselineSourceKey: sourceKey,
5698
+ publishedSourceKey: null
5699
+ };
5700
+ sendSummary(null);
5701
+ return;
5702
+ }
5703
+ if (state.historyMessageLoadVersion !== historyMessageLoadVersion) {
5704
+ state.historyMessageLoadVersion = historyMessageLoadVersion;
5705
+ state.baselineSourceKey = sourceKey;
5706
+ state.publishedSourceKey = null;
5707
+ sendSummary(null);
5708
+ return;
5709
+ }
5710
+ if (!summary || !sourceKey) {
5711
+ state.baselineSourceKey = null;
5712
+ state.publishedSourceKey = null;
5713
+ sendSummary(null);
5714
+ return;
5715
+ }
5716
+ if (!state.publishedSourceKey && state.baselineSourceKey === sourceKey) {
5717
+ return;
5718
+ }
5719
+ state.publishedSourceKey = sourceKey;
5720
+ sendSummary(summary);
5721
+ }, [historyMessageLoadVersion, sendParentEvent, summary, threadId]);
5619
5722
  return summary;
5620
5723
  }
5621
5724
 
@@ -7778,8 +7881,22 @@ var TOOL_GROUP_TOKEN_CATEGORY = {
7778
7881
  tools: "tools"
7779
7882
  };
7780
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
+ }
7781
7890
  function getToolStepData(content) {
7782
- 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
+ };
7783
7900
  }
7784
7901
  function parseStepDate(value) {
7785
7902
  if (value instanceof Date) {
@@ -7869,7 +7986,7 @@ function isWidgetComponent(content) {
7869
7986
  }
7870
7987
  function isGroupableToolComponent(content) {
7871
7988
  if (!content || typeof content === "string") return false;
7872
- return isComponentContent(content) && !isWidgetComponent(content) && content.data?.category === "Tool";
7989
+ return isComponentContent(content) && !isWidgetComponent(content) && getToolStepData(content).category === "Tool";
7873
7990
  }
7874
7991
  function isSkippableToolGroupSeparator(content) {
7875
7992
  if (typeof content === "string") return !content.trim();
@@ -7928,15 +8045,20 @@ function getEffectiveToolGroupDisplayStatus(items, isThreadRunning) {
7928
8045
  }
7929
8046
  function getToolActivityLabel(content, language, statusOverride) {
7930
8047
  const data = getToolStepData(content);
7931
- const runningCandidates = [data.message, data.title, data.tool, data.type];
7932
- const completedCandidates = [data.title, data.message, data.tool, data.type];
7933
8048
  const status = statusOverride ?? data.status;
7934
- const candidates = status === "running" ? runningCandidates : completedCandidates;
7935
- for (const candidate of candidates) {
7936
- const label = resolveLocalizedText(candidate, language);
7937
- 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;
7938
8060
  }
7939
- return "Tool";
8061
+ return title ?? message ?? tool ?? type ?? "Tool";
7940
8062
  }
7941
8063
  function flushPendingTools(units, pendingTools) {
7942
8064
  if (pendingTools.length === 0) return;
@@ -8142,6 +8264,11 @@ function ToolStepIcon({
8142
8264
  usesToolsetAvatar,
8143
8265
  apiUrl
8144
8266
  );
8267
+ const iconUrl = createToolsetIconUrl(data.toolset, organizationId, apiUrl);
8268
+ const [failedIconUrl, setFailedIconUrl] = React28.useState(null);
8269
+ React28.useEffect(() => {
8270
+ setFailedIconUrl(null);
8271
+ }, [iconUrl]);
8145
8272
  if (avatar) {
8146
8273
  return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
8147
8274
  ToolAvatarIcon,
@@ -8152,6 +8279,19 @@ function ToolStepIcon({
8152
8279
  }
8153
8280
  );
8154
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
+ }
8155
8295
  const TypeIcon = getStepTypeIcon(data.type);
8156
8296
  if (TypeIcon) {
8157
8297
  return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
@@ -8184,19 +8324,6 @@ function ToolStepIcon({
8184
8324
  }
8185
8325
  );
8186
8326
  }
8187
- const iconUrl = createToolsetIconUrl(data.toolset, organizationId, apiUrl);
8188
- if (iconUrl) {
8189
- return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
8190
- "img",
8191
- {
8192
- alt: "",
8193
- "aria-hidden": "true",
8194
- className: cn("rounded-sm object-contain", className),
8195
- "data-slot": "tool-step-icon",
8196
- src: iconUrl
8197
- }
8198
- );
8199
- }
8200
8327
  return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
8201
8328
  import_lucide_react16.CircleHelp,
8202
8329
  {
@@ -8303,7 +8430,10 @@ function ToolCallDetails({ content }) {
8303
8430
  hasOutput ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(OutputRenderer, { content, data }) : null
8304
8431
  ] });
8305
8432
  }
8306
- 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({
8307
8437
  content,
8308
8438
  isThreadRunning,
8309
8439
  organizationId,
@@ -8337,7 +8467,7 @@ function ToolCallRow({
8337
8467
  {
8338
8468
  type: "button",
8339
8469
  className: cn(
8340
- "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",
8341
8471
  hasDetails && "cursor-pointer hover:text-foreground",
8342
8472
  hasError && "text-destructive hover:text-destructive"
8343
8473
  ),
@@ -8369,14 +8499,14 @@ function ToolCallRow({
8369
8499
  )
8370
8500
  }
8371
8501
  ) : /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: "h-3.5 w-3.5 shrink-0", "aria-hidden": "true" }),
8372
- /* @__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 }),
8373
8503
  durationLabel ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: "shrink-0 text-[11px] tabular-nums text-muted-foreground/80", children: durationLabel }) : null,
8374
8504
  hasDetails ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
8375
8505
  import_lucide_react16.ChevronRight,
8376
8506
  {
8377
8507
  "aria-hidden": "true",
8378
8508
  className: cn(
8379
- "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",
8380
8510
  isExpanded && "rotate-90"
8381
8511
  )
8382
8512
  }
@@ -8387,6 +8517,8 @@ function ToolCallRow({
8387
8517
  hasDetails && isExpanded ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { id: detailsId, children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(ToolCallDetails, { content }) }) : null
8388
8518
  ] });
8389
8519
  }
8520
+ var ToolCallRow = React28.memo(ToolCallRowContent, areToolCallRowPropsEqual);
8521
+ ToolCallRow.displayName = "ToolCallRow";
8390
8522
  function ToolComponentGroup({
8391
8523
  items,
8392
8524
  hasFollowingItem,
@@ -11135,15 +11267,12 @@ function Chat({
11135
11267
  }),
11136
11268
  [basePetSettings, petLocalSettings, petRequired]
11137
11269
  );
11138
- const effectivePet = React43.useMemo(
11139
- () => {
11140
- if (petRequired || petLocalSettings) {
11141
- return buildPetOptionsFromLocalSettings(displayedPetSettings);
11142
- }
11143
- return options?.pet ?? null;
11144
- },
11145
- [displayedPetSettings, options?.pet, petLocalSettings, petRequired]
11146
- );
11270
+ const effectivePet = React43.useMemo(() => {
11271
+ if (petRequired || petLocalSettings) {
11272
+ return buildPetOptionsFromLocalSettings(displayedPetSettings);
11273
+ }
11274
+ return options?.pet ?? null;
11275
+ }, [displayedPetSettings, options?.pet, petLocalSettings, petRequired]);
11147
11276
  const savePetLocalSettings = React43.useCallback(
11148
11277
  (settings) => {
11149
11278
  const nextSettings = petRequired ? { ...settings, enabled: true } : settings;
@@ -11353,7 +11482,19 @@ function Chat({
11353
11482
  ),
11354
11483
  onFocusComposer: React43.useCallback(() => {
11355
11484
  composerInputRef.current?.focus();
11356
- }, [])
11485
+ }, []),
11486
+ onSetPetEnabled: React43.useCallback(
11487
+ (enabled) => {
11488
+ if (petRequired) {
11489
+ return;
11490
+ }
11491
+ savePetLocalSettings({
11492
+ ...displayedPetSettings,
11493
+ enabled
11494
+ });
11495
+ },
11496
+ [displayedPetSettings, petRequired, savePetLocalSettings]
11497
+ )
11357
11498
  });
11358
11499
  const syncQuoteSelection = React43.useCallback(() => {
11359
11500
  if (typeof window === "undefined") {
@@ -12586,9 +12727,10 @@ function Chat({
12586
12727
  parentMessenger,
12587
12728
  threadId: stream.threadId,
12588
12729
  currentThread,
12589
- currentThreadIsRunning,
12730
+ currentThreadIsRunning: stream.isLoading,
12590
12731
  threadErrorMessage,
12591
12732
  messages,
12733
+ historyMessageLoadVersion: stream.historyMessageLoadVersion ?? 0,
12592
12734
  fallbackTitle: t("history.threadFallback")
12593
12735
  });
12594
12736
  const assistantTitle = assistantName || resolvedTitle;
package/dist/index.d.cts CHANGED
@@ -115,6 +115,9 @@ type CommandMessageMap = {
115
115
  onSendUserMessage: SendUserMessageParams;
116
116
  onSetComposerValue: ComposerValuePayload | null;
117
117
  onSetOptions: ChatKitOptions | null;
118
+ onSetPetEnabled: {
119
+ enabled: boolean;
120
+ };
118
121
  onFocusComposer: null;
119
122
  onSetThreadId: {
120
123
  threadId: string | null;
@@ -151,10 +154,11 @@ declare function ParentMessengerProvider({ children, }: ParentMessengerProviderP
151
154
 
152
155
  type ParentMessengerOptions = {
153
156
  onSetOptions?: (options: ChatKitOptions | null) => void;
157
+ onSetPetEnabled?: (enabled: boolean) => void;
154
158
  onSetComposerValue?: (payload: ComposerValuePayload | null) => void;
155
159
  onFocusComposer?: () => void;
156
160
  };
157
- declare function useParentMessenger({ onSetOptions, onSetComposerValue, onFocusComposer, }?: ParentMessengerOptions): ParentMessenger;
161
+ declare function useParentMessenger({ onSetOptions, onSetPetEnabled, onSetComposerValue, onFocusComposer, }?: ParentMessengerOptions): ParentMessenger;
158
162
 
159
163
  interface ThemeProviderProps {
160
164
  children: React.ReactNode;
package/dist/index.d.ts CHANGED
@@ -115,6 +115,9 @@ type CommandMessageMap = {
115
115
  onSendUserMessage: SendUserMessageParams;
116
116
  onSetComposerValue: ComposerValuePayload | null;
117
117
  onSetOptions: ChatKitOptions | null;
118
+ onSetPetEnabled: {
119
+ enabled: boolean;
120
+ };
118
121
  onFocusComposer: null;
119
122
  onSetThreadId: {
120
123
  threadId: string | null;
@@ -151,10 +154,11 @@ declare function ParentMessengerProvider({ children, }: ParentMessengerProviderP
151
154
 
152
155
  type ParentMessengerOptions = {
153
156
  onSetOptions?: (options: ChatKitOptions | null) => void;
157
+ onSetPetEnabled?: (enabled: boolean) => void;
154
158
  onSetComposerValue?: (payload: ComposerValuePayload | null) => void;
155
159
  onFocusComposer?: () => void;
156
160
  };
157
- declare function useParentMessenger({ onSetOptions, onSetComposerValue, onFocusComposer, }?: ParentMessengerOptions): ParentMessenger;
161
+ declare function useParentMessenger({ onSetOptions, onSetPetEnabled, onSetComposerValue, onFocusComposer, }?: ParentMessengerOptions): ParentMessenger;
158
162
 
159
163
  interface ThemeProviderProps {
160
164
  children: React.ReactNode;