@xpert-ai/chatkit-ui 0.5.3 → 0.5.5

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 (339) hide show
  1. package/dist/app/assets/{_baseUniq-ChT9Qo4e.js → _baseUniq-BMCqWfgA.js} +1 -1
  2. package/dist/app/assets/{abap-Ce7DiJV3.js → abap-BITk3Jt_.js} +1 -1
  3. package/dist/app/assets/{abnf-BVHFzq1y.js → abnf-BvC3dC08.js} +1 -1
  4. package/dist/app/assets/{actionscript-b1N6pm-O.js → actionscript-crsAUb88.js} +1 -1
  5. package/dist/app/assets/{ada-rBXyByh8.js → ada-C5_oTrxY.js} +1 -1
  6. package/dist/app/assets/{agda-BBQB7lJp.js → agda-BsGxYoSi.js} +1 -1
  7. package/dist/app/assets/{al-Bo-88aPW.js → al-Lgs1uvQq.js} +1 -1
  8. package/dist/app/assets/{antlr4-BP25W3T7.js → antlr4-DY_QkyMs.js} +1 -1
  9. package/dist/app/assets/{apacheconf-hxzhJkXa.js → apacheconf-DgiDqboI.js} +1 -1
  10. package/dist/app/assets/{apex-B9XGHTVl.js → apex-kNnLe_NT.js} +1 -1
  11. package/dist/app/assets/{apl-CnE-JBL6.js → apl-BfmtMaij.js} +1 -1
  12. package/dist/app/assets/{applescript-BGxq2QF0.js → applescript-C4XJsKdP.js} +1 -1
  13. package/dist/app/assets/{aql-KrbZMJlr.js → aql-DYrVSBR5.js} +1 -1
  14. package/dist/app/assets/{arc-BmJ5F6oU.js → arc-CzQ3zvn7.js} +1 -1
  15. package/dist/app/assets/{architectureDiagram-Q4EWVU46-Dz1_Ibzx.js → architectureDiagram-Q4EWVU46-DIQCnrEl.js} +1 -1
  16. package/dist/app/assets/{arduino-BrA3jTJh.js → arduino-D5wp_Ytj.js} +1 -1
  17. package/dist/app/assets/{arff-O0GaAEXp.js → arff-D4Squ5Th.js} +1 -1
  18. package/dist/app/assets/{asciidoc-ClkiMNF8.js → asciidoc-C62k_z5u.js} +1 -1
  19. package/dist/app/assets/{asm6502-5bKj4vQ6.js → asm6502-BHpO2XiQ.js} +1 -1
  20. package/dist/app/assets/{asmatmel-DgpgDfTH.js → asmatmel-BqsyeDBx.js} +1 -1
  21. package/dist/app/assets/{aspnet-DIULsgBh.js → aspnet--LeuGZEu.js} +1 -1
  22. package/dist/app/assets/{autohotkey-DPq46f5T.js → autohotkey-CbOtA9Zr.js} +1 -1
  23. package/dist/app/assets/{autoit-DDnxI--a.js → autoit-DURAQtEN.js} +1 -1
  24. package/dist/app/assets/{avisynth-C1Lt9ROp.js → avisynth-DUr0LV7a.js} +1 -1
  25. package/dist/app/assets/{avro-idl-CGvQ4UxL.js → avro-idl-ghHqoAQi.js} +1 -1
  26. package/dist/app/assets/{bash-D8eqCsZ8.js → bash-BqcMimxs.js} +1 -1
  27. package/dist/app/assets/{basic-DrODtqCb.js → basic-PorE3PYu.js} +1 -1
  28. package/dist/app/assets/{batch-DqeGqoQZ.js → batch-XayYK11A.js} +1 -1
  29. package/dist/app/assets/{bbcode-CY9lX15S.js → bbcode-Dg5vgcil.js} +1 -1
  30. package/dist/app/assets/{bicep-BDv89DRM.js → bicep-xul0Z5k3.js} +1 -1
  31. package/dist/app/assets/{birb-DgNPr1Tg.js → birb-CNI54ftA.js} +1 -1
  32. package/dist/app/assets/{bison-BH6C31Lr.js → bison-VidC1SJ-.js} +1 -1
  33. package/dist/app/assets/{blockDiagram-DXYQGD6D-BizaVLYu.js → blockDiagram-DXYQGD6D-CDJbm4s2.js} +1 -1
  34. package/dist/app/assets/{bnf-BBDWrGyG.js → bnf-fedNuAF3.js} +1 -1
  35. package/dist/app/assets/{brainfuck-DhaNdGJl.js → brainfuck-B9YdJo2v.js} +1 -1
  36. package/dist/app/assets/{brightscript-DiGiUax0.js → brightscript-Bhbx-Sc0.js} +1 -1
  37. package/dist/app/assets/{bro-DZY9XGEu.js → bro-DvpaWDcI.js} +1 -1
  38. package/dist/app/assets/{bsl-W7fV4TQH.js → bsl-7xDnStwL.js} +1 -1
  39. package/dist/app/assets/{c-CkCwgvhy.js → c-Dvi_aHwU.js} +1 -1
  40. package/dist/app/assets/{c4Diagram-AHTNJAMY-0Cj5K2_S.js → c4Diagram-AHTNJAMY-CvUdVGiB.js} +1 -1
  41. package/dist/app/assets/{cfscript-CPFnj1HR.js → cfscript-wSwhUShj.js} +1 -1
  42. package/dist/app/assets/{chaiscript-RQ2qKbDX.js → chaiscript-B0gQwbq3.js} +1 -1
  43. package/dist/app/assets/channel-CMDLhUtX.js +1 -0
  44. package/dist/app/assets/{chunk-4BX2VUAB-jYTZLj5e.js → chunk-4BX2VUAB-EfN0tlBd.js} +1 -1
  45. package/dist/app/assets/{chunk-4TB4RGXK-59Kj6DwN.js → chunk-4TB4RGXK-Cl-SDjy-.js} +1 -1
  46. package/dist/app/assets/{chunk-55IACEB6-M7fxqf0U.js → chunk-55IACEB6-fB-UIiXE.js} +1 -1
  47. package/dist/app/assets/{chunk-EDXVE4YY-Bk0s3eDs.js → chunk-EDXVE4YY-CVsk0dZ_.js} +1 -1
  48. package/dist/app/assets/{chunk-FMBD7UC4-DHgDQnYu.js → chunk-FMBD7UC4-BuzWm6Z7.js} +1 -1
  49. package/dist/app/assets/{chunk-OYMX7WX6-DId-EsyC.js → chunk-OYMX7WX6-BE_YToGo.js} +1 -1
  50. package/dist/app/assets/{chunk-QZHKN3VN-DAUAP7IC.js → chunk-QZHKN3VN-BnEL4AxW.js} +1 -1
  51. package/dist/app/assets/{chunk-YZCP3GAM-BsCgIURb.js → chunk-YZCP3GAM-Dmk5QjH8.js} +1 -1
  52. package/dist/app/assets/{cil-BB0yck4I.js → cil-CQxnSJ9E.js} +1 -1
  53. package/dist/app/assets/classDiagram-6PBFFD2Q-BWbVx6v3.js +1 -0
  54. package/dist/app/assets/classDiagram-v2-HSJHXN6E-BWbVx6v3.js +1 -0
  55. package/dist/app/assets/{clike-DIAL6hbW.js → clike-CP83ighl.js} +1 -1
  56. package/dist/app/assets/{clojure-CFCnhIDV.js → clojure-VWCUZ5WZ.js} +1 -1
  57. package/dist/app/assets/clone-DaFwzQ-L.js +1 -0
  58. package/dist/app/assets/{cmake-BJ7M3VLa.js → cmake-Dc7R1o_M.js} +1 -1
  59. package/dist/app/assets/{cobol-CHafHfaf.js → cobol-Ce1J2pqN.js} +1 -1
  60. package/dist/app/assets/{coffeescript-D-myNsVo.js → coffeescript-CeEAB534.js} +1 -1
  61. package/dist/app/assets/{concurnas-CMSXd2bi.js → concurnas-Bh4-abc-.js} +1 -1
  62. package/dist/app/assets/{coq-2WMbyt5L.js → coq-C_H8AuNe.js} +1 -1
  63. package/dist/app/assets/{core-D_mcgtst.js → core-DwGdMA-y.js} +1 -1
  64. package/dist/app/assets/{cose-bilkent-S5V4N54A-CFYSME8q.js → cose-bilkent-S5V4N54A-BrXwWxov.js} +1 -1
  65. package/dist/app/assets/{cpp-BFYZXt4W.js → cpp-DpPKPdHS.js} +1 -1
  66. package/dist/app/assets/{crystal-YbXf5NLu.js → crystal-Fuhe2OE6.js} +1 -1
  67. package/dist/app/assets/{csharp-CrpatUEr.js → csharp-wpCE0nEo.js} +1 -1
  68. package/dist/app/assets/{cshtml-DdDPOFL2.js → cshtml-F-xmChtp.js} +1 -1
  69. package/dist/app/assets/{csp-BuLrc-qp.js → csp-CxC5jxHW.js} +1 -1
  70. package/dist/app/assets/{css-BP2xEqtJ.js → css-L_F4d51L.js} +1 -1
  71. package/dist/app/assets/{css-extras-BUdZfgaW.js → css-extras-BwZnZEu1.js} +1 -1
  72. package/dist/app/assets/{csv-CxUvYF3W.js → csv-C74oCGIa.js} +1 -1
  73. package/dist/app/assets/{cypher-dyjlMPfG.js → cypher-COyWv3va.js} +1 -1
  74. package/dist/app/assets/{d-CAXNQWlH.js → d-B65TnuTe.js} +1 -1
  75. package/dist/app/assets/{dagre-KV5264BT-B9TaDHlk.js → dagre-KV5264BT-ChgLBE-T.js} +1 -1
  76. package/dist/app/assets/{dart-J8aLCmN6.js → dart-CpDUfitf.js} +1 -1
  77. package/dist/app/assets/{dataweave-DF9ImZ3N.js → dataweave-CX7Qa1n1.js} +1 -1
  78. package/dist/app/assets/{dax-BT2AHpyf.js → dax-ZkNL61zw.js} +1 -1
  79. package/dist/app/assets/{dhall-Dg1Tevpu.js → dhall-DNjyksqY.js} +1 -1
  80. package/dist/app/assets/{diagram-5BDNPKRD-WO42pTkv.js → diagram-5BDNPKRD-BcPwD8Kj.js} +1 -1
  81. package/dist/app/assets/{diagram-G4DWMVQ6-7TQ5HPZE.js → diagram-G4DWMVQ6-LnY4PFsc.js} +1 -1
  82. package/dist/app/assets/{diagram-MMDJMWI5-7RdXMs-Z.js → diagram-MMDJMWI5-aa8Vhu2F.js} +1 -1
  83. package/dist/app/assets/{diagram-TYMM5635-WTtOoqLh.js → diagram-TYMM5635-Jz5pzpKI.js} +1 -1
  84. package/dist/app/assets/{diff-CqmM9jMk.js → diff-WVoPKUmv.js} +1 -1
  85. package/dist/app/assets/{django-BV_Txwli.js → django-DI3sOVdK.js} +1 -1
  86. package/dist/app/assets/{dns-zone-file-chHftqfl.js → dns-zone-file-B1W7kh1x.js} +1 -1
  87. package/dist/app/assets/{docker-CP5sCvPc.js → docker-hRBkoPjj.js} +1 -1
  88. package/dist/app/assets/{dot-CslM1TDF.js → dot-Dv1MABF9.js} +1 -1
  89. package/dist/app/assets/{ebnf-D2Ek46XJ.js → ebnf-C30PMC4p.js} +1 -1
  90. package/dist/app/assets/{editorconfig-Ci8FK60B.js → editorconfig-DAr3YnEC.js} +1 -1
  91. package/dist/app/assets/{eiffel-Cwub3-yA.js → eiffel-CiFHBF_B.js} +1 -1
  92. package/dist/app/assets/{ejs-C6kPczUt.js → ejs-DqKhaaVB.js} +1 -1
  93. package/dist/app/assets/{elixir-DC01nBAk.js → elixir-CCSuSI4O.js} +1 -1
  94. package/dist/app/assets/{elm-ng29Uzm3.js → elm-DR4HIlv8.js} +1 -1
  95. package/dist/app/assets/{erDiagram-SMLLAGMA-CSu1K2TE.js → erDiagram-SMLLAGMA-Dl0knKmC.js} +1 -1
  96. package/dist/app/assets/{erb-BmVXUkNt.js → erb-CzDVBAbw.js} +1 -1
  97. package/dist/app/assets/{erlang-DX8lZuNY.js → erlang-DVgBLqEJ.js} +1 -1
  98. package/dist/app/assets/{etlua-DF9WPqFy.js → etlua-DF61eWL_.js} +1 -1
  99. package/dist/app/assets/{excel-formula-DHOUaKKc.js → excel-formula-BjOYKoXw.js} +1 -1
  100. package/dist/app/assets/{factor-BBsagI82.js → factor-BYlgtT88.js} +1 -1
  101. package/dist/app/assets/{false-BwLYv3CT.js → false-VpD50GQd.js} +1 -1
  102. package/dist/app/assets/{firestore-security-rules-CsYkwF2L.js → firestore-security-rules-CXjNgiqw.js} +1 -1
  103. package/dist/app/assets/{flow-fPHEMMRe.js → flow-UCBwYj4g.js} +1 -1
  104. package/dist/app/assets/{flowDiagram-DWJPFMVM-CjMcT8VF.js → flowDiagram-DWJPFMVM-DLqa5bCT.js} +1 -1
  105. package/dist/app/assets/{fortran-BlFC22wE.js → fortran-B-VF6DSD.js} +1 -1
  106. package/dist/app/assets/{fsharp-qPaHfboo.js → fsharp-Cfa53HRV.js} +1 -1
  107. package/dist/app/assets/{ftl-Dez07P0T.js → ftl-S9XnBYZE.js} +1 -1
  108. package/dist/app/assets/{ganttDiagram-T4ZO3ILL-BiQxSqt_.js → ganttDiagram-T4ZO3ILL-xkcpESb-.js} +1 -1
  109. package/dist/app/assets/{gap-DJplhPXp.js → gap-DxWyiJyd.js} +1 -1
  110. package/dist/app/assets/{gcode-Dg1b5k4P.js → gcode-I3TnotdP.js} +1 -1
  111. package/dist/app/assets/{gdscript-BVrkBC3R.js → gdscript-DwmqcMfp.js} +1 -1
  112. package/dist/app/assets/{gedcom-CrxzyI_t.js → gedcom-wk25u4tk.js} +1 -1
  113. package/dist/app/assets/{gherkin-XsNIfB3o.js → gherkin-CmyQpRR3.js} +1 -1
  114. package/dist/app/assets/{git-sYqvjDtZ.js → git-2fPv4icm.js} +1 -1
  115. package/dist/app/assets/{gitGraphDiagram-UUTBAWPF-BLuiUQC4.js → gitGraphDiagram-UUTBAWPF-BWO5yamZ.js} +1 -1
  116. package/dist/app/assets/{glsl-DBAWeWvj.js → glsl-DhdeRPUr.js} +1 -1
  117. package/dist/app/assets/{gml-D9dDabjR.js → gml-C9Rp-vdi.js} +1 -1
  118. package/dist/app/assets/{gn-C_VSOkBi.js → gn-sdpsdb_1.js} +1 -1
  119. package/dist/app/assets/{go-WIUDW1GS.js → go-cX_tr1iE.js} +1 -1
  120. package/dist/app/assets/{go-module-C_q6u5lV.js → go-module-BEq1Vgmm.js} +1 -1
  121. package/dist/app/assets/{graph-CQZE41Xl.js → graph-aH3Tj20-.js} +1 -1
  122. package/dist/app/assets/{graphql-CCzYeA7K.js → graphql-US2hovIL.js} +1 -1
  123. package/dist/app/assets/{groovy-Dcndc-8V.js → groovy-D-RU_8Ov.js} +1 -1
  124. package/dist/app/assets/{haml-DAdQxEtZ.js → haml-D6DPh9Fz.js} +1 -1
  125. package/dist/app/assets/{handlebars-DdcZ78iT.js → handlebars-DbUAZVat.js} +1 -1
  126. package/dist/app/assets/{haskell-CL_s7J5t.js → haskell-HL-nThgK.js} +1 -1
  127. package/dist/app/assets/{haxe-D6kxxTPa.js → haxe-DwGFr-vT.js} +1 -1
  128. package/dist/app/assets/{hcl-v_Duxzy7.js → hcl-Bx2jsjMJ.js} +1 -1
  129. package/dist/app/assets/{hlsl-DvMfgEKG.js → hlsl-BtPVfKcX.js} +1 -1
  130. package/dist/app/assets/{hoon-DtG7k-4U.js → hoon-DpKpFgdR.js} +1 -1
  131. package/dist/app/assets/{hpkp-j-ypNrrU.js → hpkp-C3IPUrYT.js} +1 -1
  132. package/dist/app/assets/{hsts-ukPmjqGZ.js → hsts-BXUSL0Uw.js} +1 -1
  133. package/dist/app/assets/{http-BMxLX5wW.js → http-DWQae60m.js} +1 -1
  134. package/dist/app/assets/{ichigojam-CKMzeTbi.js → ichigojam-IE3fX27V.js} +1 -1
  135. package/dist/app/assets/{icon-BI_YktC6.js → icon-DcQB3JhE.js} +1 -1
  136. package/dist/app/assets/{icu-message-format-CKWPiv_u.js → icu-message-format-Blb7heef.js} +1 -1
  137. package/dist/app/assets/{idris-CEoG17tH.js → idris-Dd5-rtkp.js} +1 -1
  138. package/dist/app/assets/{iecst-BPgsr1sk.js → iecst-gy7LbUFO.js} +1 -1
  139. package/dist/app/assets/{ignore-D3mP-IeM.js → ignore-CyYyW5-g.js} +1 -1
  140. package/dist/app/assets/index-CXm_XByQ.css +1 -0
  141. package/dist/app/assets/index-IOhU4-W6.js +791 -0
  142. package/dist/app/assets/{infoDiagram-42DDH7IO-CXt53QRt.js → infoDiagram-42DDH7IO-fROPG8_1.js} +1 -1
  143. package/dist/app/assets/{inform7-BRNaKTTS.js → inform7-F6Ip2hlp.js} +1 -1
  144. package/dist/app/assets/{ini-Co63A9KY.js → ini--3blLJvm.js} +1 -1
  145. package/dist/app/assets/{io-Y6dFSwsb.js → io-0G865U20.js} +1 -1
  146. package/dist/app/assets/{ishikawaDiagram-UXIWVN3A-BtfknNuf.js → ishikawaDiagram-UXIWVN3A-seYp8a9Z.js} +1 -1
  147. package/dist/app/assets/{j-Cpt-bjtI.js → j-DhayNq9O.js} +1 -1
  148. package/dist/app/assets/{java-OV7NSS4M.js → java-B6j2ClTV.js} +1 -1
  149. package/dist/app/assets/{javadoc-1xPzWdCF.js → javadoc-hoGv-qgI.js} +1 -1
  150. package/dist/app/assets/{javadoclike-BcMUnjFK.js → javadoclike-yqygIGpT.js} +1 -1
  151. package/dist/app/assets/{javascript-CqCV1NzJ.js → javascript-CNZ9X09R.js} +1 -1
  152. package/dist/app/assets/{javastacktrace-BUFSCM4B.js → javastacktrace-CKG9auUr.js} +1 -1
  153. package/dist/app/assets/{jexl-CCwB7QfC.js → jexl-CR8OmrfU.js} +1 -1
  154. package/dist/app/assets/{jolie-CI7ZKpQW.js → jolie-fS6VUF2C.js} +1 -1
  155. package/dist/app/assets/{journeyDiagram-VCZTEJTY-CtPUPowP.js → journeyDiagram-VCZTEJTY-ge9fmUsx.js} +1 -1
  156. package/dist/app/assets/{jq-Cat52Ckh.js → jq-Dd5vzlZ2.js} +1 -1
  157. package/dist/app/assets/{js-extras-BW8AY5FQ.js → js-extras-CEjE_sw9.js} +1 -1
  158. package/dist/app/assets/{js-templates-pTyGClWG.js → js-templates-Bs_q-mFW.js} +1 -1
  159. package/dist/app/assets/{jsdoc-C5dISiXN.js → jsdoc-CmRWGQBg.js} +1 -1
  160. package/dist/app/assets/{json-BV_ZLpYa.js → json-B3WtMqxE.js} +1 -1
  161. package/dist/app/assets/{json5-CaLO3fQi.js → json5-B35VDHIE.js} +1 -1
  162. package/dist/app/assets/{jsonp-DsV6uVRp.js → jsonp-BSAuIBIk.js} +1 -1
  163. package/dist/app/assets/{jsstacktrace-CcXrnL18.js → jsstacktrace-BVnszM9n.js} +1 -1
  164. package/dist/app/assets/{jsx-D59JtHOy.js → jsx-Ulk1xmaf.js} +1 -1
  165. package/dist/app/assets/{julia-CclEoB-n.js → julia-wAegROxA.js} +1 -1
  166. package/dist/app/assets/{kanban-definition-6JOO6SKY-DAwZttRD.js → kanban-definition-6JOO6SKY-Dt82KiI-.js} +1 -1
  167. package/dist/app/assets/{keepalived-CFWxCW-H.js → keepalived-D-8Fkb5_.js} +1 -1
  168. package/dist/app/assets/{keyman-BVv9EQYe.js → keyman-CMwETd_q.js} +1 -1
  169. package/dist/app/assets/{kotlin-CslW8NWU.js → kotlin-Dvdn8vfk.js} +1 -1
  170. package/dist/app/assets/{kumir-DTu9BtLG.js → kumir-Cw3eJErW.js} +1 -1
  171. package/dist/app/assets/{kusto-CtqoVlVe.js → kusto-B50-ACHb.js} +1 -1
  172. package/dist/app/assets/{latex-18RzpOnX.js → latex-B32EHvXj.js} +1 -1
  173. package/dist/app/assets/{latte-BLDf5fvr.js → latte-24U9Gwk2.js} +1 -1
  174. package/dist/app/assets/{layout-kfH7ie9s.js → layout-B42p62_a.js} +1 -1
  175. package/dist/app/assets/{less-CBsIVmwy.js → less-BC5uCSSJ.js} +1 -1
  176. package/dist/app/assets/{lilypond-Diikt1xh.js → lilypond-DA9ijLUg.js} +1 -1
  177. package/dist/app/assets/{linear-CpWdLpIW.js → linear-D7k5TriK.js} +1 -1
  178. package/dist/app/assets/{liquid-CYsFgJAn.js → liquid-CMWpAUrU.js} +1 -1
  179. package/dist/app/assets/{lisp-D5IX2IMS.js → lisp-uq_t7VQ0.js} +1 -1
  180. package/dist/app/assets/{livescript-CFLCkEiE.js → livescript-rXe_0rnu.js} +1 -1
  181. package/dist/app/assets/{llvm-CHtlwgXC.js → llvm-CFpKeGcG.js} +1 -1
  182. package/dist/app/assets/{log-Bb0q4gWy.js → log-CrFg7_GJ.js} +1 -1
  183. package/dist/app/assets/{lolcode-DcN_7oO2.js → lolcode-5t6AdMcG.js} +1 -1
  184. package/dist/app/assets/{lua-t7DZ5tkJ.js → lua-DJH8NYbV.js} +1 -1
  185. package/dist/app/assets/{magma-72K2RrWH.js → magma-D8t_fqVr.js} +1 -1
  186. package/dist/app/assets/{makefile-DvrABWRt.js → makefile-xeiRxxOf.js} +1 -1
  187. package/dist/app/assets/{markdown-CF5Lb7qd.js → markdown-DF3vOSCM.js} +1 -1
  188. package/dist/app/assets/{markup-CrH5Qer4.js → markup-bE2X4wC8.js} +1 -1
  189. package/dist/app/assets/{markup-templating-BqtThcnw.js → markup-templating-DED2gOIo.js} +1 -1
  190. package/dist/app/assets/{matlab-Cl5LNbiN.js → matlab-B7X6-kVy.js} +1 -1
  191. package/dist/app/assets/{maxscript-DryW9P8J.js → maxscript-DSdYVbA7.js} +1 -1
  192. package/dist/app/assets/{mel-C4tZH7tA.js → mel-BO4WVBll.js} +1 -1
  193. package/dist/app/assets/{mermaid-CMyXjaN5.js → mermaid-BP4GUY4H.js} +1 -1
  194. package/dist/app/assets/{min-BSLr1xjt.js → min-V1PQNI6q.js} +1 -1
  195. package/dist/app/assets/{mindmap-definition-QFDTVHPH-D_rZAJl5.js → mindmap-definition-QFDTVHPH-CZ6ona8k.js} +1 -1
  196. package/dist/app/assets/{mizar-Hb1RtA6I.js → mizar-FWa_raHf.js} +1 -1
  197. package/dist/app/assets/{mongodb-C9eHJ0I9.js → mongodb-DD8_dDht.js} +1 -1
  198. package/dist/app/assets/{monkey-5znuwlAY.js → monkey-Dt0m2Zb5.js} +1 -1
  199. package/dist/app/assets/{moonscript-BiOwz93j.js → moonscript-BoXc6FQi.js} +1 -1
  200. package/dist/app/assets/{n1ql-BOK-qtfI.js → n1ql-CrirIwOq.js} +1 -1
  201. package/dist/app/assets/{n4js-gUw2INcg.js → n4js-BGjyzq1k.js} +1 -1
  202. package/dist/app/assets/{nand2tetris-hdl-DulMQ1fH.js → nand2tetris-hdl-BI4CKoYd.js} +1 -1
  203. package/dist/app/assets/{naniscript-Fwk03Juz.js → naniscript-7GbIvKW8.js} +1 -1
  204. package/dist/app/assets/{nasm-DyQXh7z1.js → nasm-DrYMlX0m.js} +1 -1
  205. package/dist/app/assets/{neon-DpkOLWSF.js → neon-CC_AE4_j.js} +1 -1
  206. package/dist/app/assets/{nevod-BXopGva8.js → nevod-C5zbhlet.js} +1 -1
  207. package/dist/app/assets/{nginx-DPSO5ekf.js → nginx-COnP5veC.js} +1 -1
  208. package/dist/app/assets/{nim-Bq6d6_Bu.js → nim-Bimev9j5.js} +1 -1
  209. package/dist/app/assets/{nix-Dy2iCPYK.js → nix-Bkpogm6s.js} +1 -1
  210. package/dist/app/assets/{nsis-C53FxEmM.js → nsis-CWWvCzwV.js} +1 -1
  211. package/dist/app/assets/{objectivec-ClHOfm6L.js → objectivec-CI9F-hmE.js} +1 -1
  212. package/dist/app/assets/{ocaml-Bd4mMVMR.js → ocaml-CfTpJ0jq.js} +1 -1
  213. package/dist/app/assets/{opencl-CH3K7nMz.js → opencl-B05YiLIb.js} +1 -1
  214. package/dist/app/assets/{openqasm-SOdUhTmx.js → openqasm-CsAV_7C1.js} +1 -1
  215. package/dist/app/assets/{oz-BOUspg_L.js → oz-BHiLYYl_.js} +1 -1
  216. package/dist/app/assets/{parigp-BnU6Vr73.js → parigp-6QUmmFTv.js} +1 -1
  217. package/dist/app/assets/{parser-jweo2qRc.js → parser-Mdqtx5i0.js} +1 -1
  218. package/dist/app/assets/{pascal-CKG3Ve5B.js → pascal-DZgkOKaZ.js} +1 -1
  219. package/dist/app/assets/{pascaligo-DnSgOfZi.js → pascaligo-BrdsXPa7.js} +1 -1
  220. package/dist/app/assets/{pcaxis-s94ah1qs.js → pcaxis-Ct6yTXHn.js} +1 -1
  221. package/dist/app/assets/{peoplecode-DoIvIKcb.js → peoplecode-BQleLytH.js} +1 -1
  222. package/dist/app/assets/{perl-BXJBS0qx.js → perl-DGPr--KX.js} +1 -1
  223. package/dist/app/assets/{php-BlzlR4_v.js → php-BZdELfRg.js} +1 -1
  224. package/dist/app/assets/{php-extras-hjEa1iTA.js → php-extras-DRUygll3.js} +1 -1
  225. package/dist/app/assets/{phpdoc-Ch0l7Uv9.js → phpdoc-BWPaQ5aL.js} +1 -1
  226. package/dist/app/assets/{pieDiagram-DEJITSTG-BK8YBT53.js → pieDiagram-DEJITSTG-GnisibOc.js} +1 -1
  227. package/dist/app/assets/{plsql-BmSD3Q1k.js → plsql-B-axWEnd.js} +1 -1
  228. package/dist/app/assets/{powerquery-DM7b-u-o.js → powerquery-DBu_nYIE.js} +1 -1
  229. package/dist/app/assets/{powershell-CXsqbD80.js → powershell-Kyg_XGYJ.js} +1 -1
  230. package/dist/app/assets/{processing-RuoLznsF.js → processing-BCH64X2E.js} +1 -1
  231. package/dist/app/assets/{prolog-Bu4ZaUxi.js → prolog-BwsJzSpU.js} +1 -1
  232. package/dist/app/assets/{promql-DOOZUaV8.js → promql-BD6SCtxu.js} +1 -1
  233. package/dist/app/assets/{properties-Be3moloV.js → properties-CjLcIGgH.js} +1 -1
  234. package/dist/app/assets/{protobuf-N7mb4_Rv.js → protobuf-DHl_TDp-.js} +1 -1
  235. package/dist/app/assets/{psl-Cww5iKGd.js → psl-BX8f_5Fm.js} +1 -1
  236. package/dist/app/assets/{pug-DSLvyPtG.js → pug-DkC8-gpH.js} +1 -1
  237. package/dist/app/assets/{puppet-CxmK6KXr.js → puppet-BxCjGLCs.js} +1 -1
  238. package/dist/app/assets/{pure-CEWpRrG_.js → pure-YXSvr1oq.js} +1 -1
  239. package/dist/app/assets/{purebasic-BkihQx2l.js → purebasic-BtANC5US.js} +1 -1
  240. package/dist/app/assets/{purescript-Dv8RWtry.js → purescript-BRmYew9s.js} +1 -1
  241. package/dist/app/assets/{q-BWG_IRXv.js → q-qMeVKej2.js} +1 -1
  242. package/dist/app/assets/{qml-DNdfSfok.js → qml-CzQ0_17a.js} +1 -1
  243. package/dist/app/assets/{qore-DN6GB5B6.js → qore-DwKsIUAf.js} +1 -1
  244. package/dist/app/assets/{qsharp-DwetPVRU.js → qsharp-Dzv2ddoV.js} +1 -1
  245. package/dist/app/assets/{quadrantDiagram-34T5L4WZ-wVPtNsq8.js → quadrantDiagram-34T5L4WZ-Ccz5qvcS.js} +1 -1
  246. package/dist/app/assets/{r-mq6rsL09.js → r-YY0rX2Fg.js} +1 -1
  247. package/dist/app/assets/{racket-DG9wIycI.js → racket-DQ-iUkE5.js} +1 -1
  248. package/dist/app/assets/{reason-QDeJ9fGt.js → reason-Cjhe8Z_n.js} +1 -1
  249. package/dist/app/assets/{regex-CJq5NHvY.js → regex-D6o05mSl.js} +1 -1
  250. package/dist/app/assets/{rego-CuCkTZEO.js → rego-g70BDcHY.js} +1 -1
  251. package/dist/app/assets/{renpy-CF60Vgpp.js → renpy-BaQZldp-.js} +1 -1
  252. package/dist/app/assets/{requirementDiagram-MS252O5E-NYm3MUgE.js → requirementDiagram-MS252O5E-CPa1ce3e.js} +1 -1
  253. package/dist/app/assets/{rest-pvM9_VPV.js → rest-5qmWToDM.js} +1 -1
  254. package/dist/app/assets/{rip-knfZMbzc.js → rip-ZEEk2fEL.js} +1 -1
  255. package/dist/app/assets/{roboconf-DE2PK0Rv.js → roboconf-BtgyXJKu.js} +1 -1
  256. package/dist/app/assets/{robotframework-CLlyRuvY.js → robotframework-BOYxsKuq.js} +1 -1
  257. package/dist/app/assets/{ruby-x5dznEbw.js → ruby-Ct3dhEle.js} +1 -1
  258. package/dist/app/assets/{rust-9aWCBT_0.js → rust-CQMSZOQW.js} +1 -1
  259. package/dist/app/assets/{sankeyDiagram-XADWPNL6-BOYwPyyU.js → sankeyDiagram-XADWPNL6-ATErDvu1.js} +1 -1
  260. package/dist/app/assets/{sas-C2Y0yCZT.js → sas-DCf9MLvQ.js} +1 -1
  261. package/dist/app/assets/{sass-BVG4jrsz.js → sass-DVA9OI0k.js} +1 -1
  262. package/dist/app/assets/{scala-CILasXNs.js → scala-BfZyHW5h.js} +1 -1
  263. package/dist/app/assets/{scheme-DMT3k7Ay.js → scheme-CwMuNF1M.js} +1 -1
  264. package/dist/app/assets/{scss-DM3koaoe.js → scss-CJdhLSZp.js} +1 -1
  265. package/dist/app/assets/{sequenceDiagram-FGHM5R23-DL40pkmm.js → sequenceDiagram-FGHM5R23-BkbO0Scj.js} +1 -1
  266. package/dist/app/assets/{shell-session-Dxpec_d0.js → shell-session-vHTgPhiW.js} +1 -1
  267. package/dist/app/assets/{smali-D1whxEhZ.js → smali-B5RIaXX6.js} +1 -1
  268. package/dist/app/assets/{smalltalk-BQMH8qD7.js → smalltalk-DdCjaJpb.js} +1 -1
  269. package/dist/app/assets/{smarty-JrMCkQIc.js → smarty-C03Borcw.js} +1 -1
  270. package/dist/app/assets/{sml-mhC7b4QX.js → sml-AOXYXMyG.js} +1 -1
  271. package/dist/app/assets/{solidity-BSynZrZc.js → solidity-BUfMc4bt.js} +1 -1
  272. package/dist/app/assets/{solution-file-DAfssftu.js → solution-file-D2fkraeh.js} +1 -1
  273. package/dist/app/assets/{soy-DU7nZVR7.js → soy-CCe9Oz9Z.js} +1 -1
  274. package/dist/app/assets/{sparql-Cq3r5HHF.js → sparql-r2A9npIs.js} +1 -1
  275. package/dist/app/assets/{splunk-spl-CGcTPfRb.js → splunk-spl-BLJ7LIMc.js} +1 -1
  276. package/dist/app/assets/{sqf-CG8TBMKD.js → sqf-CF9U0BVS.js} +1 -1
  277. package/dist/app/assets/{sql-e3vFyHiF.js → sql-ByRrR3JK.js} +1 -1
  278. package/dist/app/assets/{squirrel-CYCMghr2.js → squirrel-ibnqUhbv.js} +1 -1
  279. package/dist/app/assets/{stan-DQRnUJX1.js → stan-shDBkVpE.js} +1 -1
  280. package/dist/app/assets/{stateDiagram-FHFEXIEX-BXjm3A3K.js → stateDiagram-FHFEXIEX-DsBVqEQ8.js} +1 -1
  281. package/dist/app/assets/stateDiagram-v2-QKLJ7IA2-DwNISjCA.js +1 -0
  282. package/dist/app/assets/{stylus-C7mZgsLR.js → stylus-x9BPU4fj.js} +1 -1
  283. package/dist/app/assets/{swift-FgNu5uOF.js → swift-CeApZvIL.js} +1 -1
  284. package/dist/app/assets/{systemd-Gxav6pEn.js → systemd-CHwYAy8N.js} +1 -1
  285. package/dist/app/assets/{t4-cs-DmynqUb7.js → t4-cs-7t9W6Xyg.js} +1 -1
  286. package/dist/app/assets/{t4-templating-yOruJMSa.js → t4-templating-DAsen3Wi.js} +1 -1
  287. package/dist/app/assets/{t4-vb-BKIzALAO.js → t4-vb-zh9Spwor.js} +1 -1
  288. package/dist/app/assets/{tap-DS5QmC0E.js → tap-CKplrrNi.js} +1 -1
  289. package/dist/app/assets/{tcl-AP9wIHUu.js → tcl-CCgbmbOw.js} +1 -1
  290. package/dist/app/assets/{textile-Cwund-GG.js → textile-04XOhOjd.js} +1 -1
  291. package/dist/app/assets/{timeline-definition-GMOUNBTQ-CUgfdbl8.js → timeline-definition-GMOUNBTQ-BwHfdHIv.js} +1 -1
  292. package/dist/app/assets/{toml-DdbNJSTB.js → toml-BGmTZBPA.js} +1 -1
  293. package/dist/app/assets/{tremor-Ci5mLsoz.js → tremor-B8872n6v.js} +1 -1
  294. package/dist/app/assets/{tt2-DMnaiyrl.js → tt2-aZiGOlKK.js} +1 -1
  295. package/dist/app/assets/{turtle-CtmHhGlr.js → turtle-BSNUwacz.js} +1 -1
  296. package/dist/app/assets/{twig-jOh3JXGe.js → twig-ptdE7Q2Z.js} +1 -1
  297. package/dist/app/assets/{typescript-C9ZO1Bsq.js → typescript-Khd69_WJ.js} +1 -1
  298. package/dist/app/assets/{typoscript-BPJJK2gF.js → typoscript-CfYT1lKW.js} +1 -1
  299. package/dist/app/assets/{unrealscript-D5q598j9.js → unrealscript-JRtn5WV4.js} +1 -1
  300. package/dist/app/assets/{uorazor-ig8gHEFY.js → uorazor-CaNt3nj0.js} +1 -1
  301. package/dist/app/assets/{uri-B0NV-CTl.js → uri-DF_akl0r.js} +1 -1
  302. package/dist/app/assets/{v-DLKo3VP1.js → v-GxHLGbau.js} +1 -1
  303. package/dist/app/assets/{vala-DQyQ3_G9.js → vala-BbqXQP8w.js} +1 -1
  304. package/dist/app/assets/{vbnet-C2EluvGs.js → vbnet-CnRrKN7C.js} +1 -1
  305. package/dist/app/assets/{velocity-CocU3Pr_.js → velocity-DlBz1165.js} +1 -1
  306. package/dist/app/assets/{vennDiagram-DHZGUBPP-C6HjVfSH.js → vennDiagram-DHZGUBPP-BkTv9Hp8.js} +1 -1
  307. package/dist/app/assets/{verilog-C5-NnnGo.js → verilog-TMYqM5LN.js} +1 -1
  308. package/dist/app/assets/{vhdl-1lTwYkMl.js → vhdl-9KK9QW2R.js} +1 -1
  309. package/dist/app/assets/{vim-BFFrBSnn.js → vim-D8mr58we.js} +1 -1
  310. package/dist/app/assets/{visual-basic-DmqiNP3t.js → visual-basic-CtbJ6635.js} +1 -1
  311. package/dist/app/assets/{wardley-RL74JXVD-B_Ds6kTY.js → wardley-RL74JXVD-Q0QjweO3.js} +1 -1
  312. package/dist/app/assets/{wardleyDiagram-NUSXRM2D-DBuGTx4P.js → wardleyDiagram-NUSXRM2D-tMIiAqRy.js} +1 -1
  313. package/dist/app/assets/{warpscript-DbCf6a2h.js → warpscript-DQVy2Tvj.js} +1 -1
  314. package/dist/app/assets/{wasm-BdwrQDsu.js → wasm-BV-fD8Xt.js} +1 -1
  315. package/dist/app/assets/{web-idl-Ci16LhtK.js → web-idl-BDAJ8-I9.js} +1 -1
  316. package/dist/app/assets/{wiki-DkGStcp9.js → wiki-B2QtmzwE.js} +1 -1
  317. package/dist/app/assets/{wolfram-DIKPY0pR.js → wolfram-DjIjB5dd.js} +1 -1
  318. package/dist/app/assets/{wren-Co-reRGP.js → wren-DIVMYwvI.js} +1 -1
  319. package/dist/app/assets/{xeora-DzP_NAXE.js → xeora-MKFHkr6j.js} +1 -1
  320. package/dist/app/assets/{xml-doc-0qJkt3-O.js → xml-doc-Q7xM1lOj.js} +1 -1
  321. package/dist/app/assets/{xojo-CGBxZsBv.js → xojo-Dt1zgTjo.js} +1 -1
  322. package/dist/app/assets/{xquery-C4AX9sLX.js → xquery-DJieRY_f.js} +1 -1
  323. package/dist/app/assets/{xychartDiagram-5P7HB3ND-CK9Q1OGP.js → xychartDiagram-5P7HB3ND-sb3QOqo6.js} +1 -1
  324. package/dist/app/assets/{yaml-Dxa8k2xC.js → yaml-BSxLpBjL.js} +1 -1
  325. package/dist/app/assets/{yang-CcCtKZOu.js → yang-G_xeq_R4.js} +1 -1
  326. package/dist/app/assets/{zig-DURHftPm.js → zig-CpabVzlr.js} +1 -1
  327. package/dist/app/index.html +2 -2
  328. package/dist/index.cjs +399 -94
  329. package/dist/index.d.cts +8 -2
  330. package/dist/index.d.ts +8 -2
  331. package/dist/index.js +412 -116
  332. package/package.json +3 -3
  333. package/dist/app/assets/channel-CrrgI7jC.js +0 -1
  334. package/dist/app/assets/classDiagram-6PBFFD2Q-DK7Wbhmk.js +0 -1
  335. package/dist/app/assets/classDiagram-v2-HSJHXN6E-DK7Wbhmk.js +0 -1
  336. package/dist/app/assets/clone-BurOzDBp.js +0 -1
  337. package/dist/app/assets/index-BfTgPY7i.css +0 -1
  338. package/dist/app/assets/index-Wv8qdZGD.js +0 -785
  339. package/dist/app/assets/stateDiagram-v2-QKLJ7IA2-WTCPU8pQ.js +0 -1
package/dist/index.cjs CHANGED
@@ -2152,6 +2152,17 @@ var en_US_default = {
2152
2152
  entryUnavailable: "Remote view content is unavailable.",
2153
2153
  missingAssistant: "An assistant is required to load views.",
2154
2154
  retry: "Retry",
2155
+ sideChat: {
2156
+ title: "Side chat",
2157
+ threadRequired: "Start a conversation before opening a side chat.",
2158
+ closeDialog: {
2159
+ title: "Close side chat?",
2160
+ description: "This side chat will be removed from the current workbench and cannot be restored on this page. Its conversation data will be retained.",
2161
+ dontAskAgain: "Don't ask again",
2162
+ cancel: "Cancel",
2163
+ confirm: "Close side chat"
2164
+ }
2165
+ },
2155
2166
  errors: {
2156
2167
  contextKeyRequired: "Context key is required.",
2157
2168
  messageRequired: "Message text is required.",
@@ -2327,6 +2338,7 @@ var en_US_default = {
2327
2338
  disablePlanMode: "Turn off plan mode",
2328
2339
  removeReference: "Remove reference",
2329
2340
  quoteSelection: "Quote selection",
2341
+ askInSideChat: "Ask in side chat",
2330
2342
  requestUserInput: {
2331
2343
  title: "Input requested",
2332
2344
  recommended: "Recommended",
@@ -2342,6 +2354,14 @@ var en_US_default = {
2342
2354
  },
2343
2355
  hitl: {
2344
2356
  title: "Action review",
2357
+ mcpElicitationTitle: "MCP Elicitation",
2358
+ fieldProgress: "Field {{current}}/{{total}}",
2359
+ requiredUnanswered: "1 required unanswered",
2360
+ requiredAnswered: "All required fields answered",
2361
+ true: "True",
2362
+ false: "False",
2363
+ cancel: "Cancel",
2364
+ elicitationSubmit: "Submit",
2345
2365
  actionProgress: "{{current}} of {{total}}",
2346
2366
  previousAction: "Previous action",
2347
2367
  nextAction: "Next action",
@@ -2644,6 +2664,17 @@ var zh_CN_default = {
2644
2664
  entryUnavailable: "\u8FDC\u7A0B\u89C6\u56FE\u5185\u5BB9\u4E0D\u53EF\u7528\u3002",
2645
2665
  missingAssistant: "\u9700\u8981 Assistant \u624D\u80FD\u52A0\u8F7D\u89C6\u56FE\u3002",
2646
2666
  retry: "\u91CD\u8BD5",
2667
+ sideChat: {
2668
+ title: "\u4FA7\u8FB9\u804A\u5929",
2669
+ threadRequired: "\u8BF7\u5148\u5F00\u59CB\u4E3B\u5BF9\u8BDD\uFF0C\u518D\u6253\u5F00\u4FA7\u8FB9\u804A\u5929\u3002",
2670
+ closeDialog: {
2671
+ title: "\u5173\u95ED\u4FA7\u8FB9\u804A\u5929\uFF1F",
2672
+ description: "\u5173\u95ED\u540E\uFF0C\u6B64\u4FA7\u8FB9\u804A\u5929\u5C06\u4ECE\u5F53\u524D\u5DE5\u4F5C\u53F0\u79FB\u9664\uFF0C\u5F53\u524D\u9875\u9762\u65E0\u6CD5\u6062\u590D\uFF1B\u5BF9\u8BDD\u6570\u636E\u4ECD\u4F1A\u4FDD\u7559\u3002",
2673
+ dontAskAgain: "\u4E0D\u518D\u8BE2\u95EE",
2674
+ cancel: "\u53D6\u6D88",
2675
+ confirm: "\u5173\u95ED\u4FA7\u8FB9\u804A\u5929"
2676
+ }
2677
+ },
2647
2678
  errors: {
2648
2679
  contextKeyRequired: "\u5FC5\u987B\u63D0\u4F9B\u4E0A\u4E0B\u6587\u952E\u3002",
2649
2680
  messageRequired: "\u5FC5\u987B\u63D0\u4F9B\u6D88\u606F\u5185\u5BB9\u3002",
@@ -2819,6 +2850,7 @@ var zh_CN_default = {
2819
2850
  disablePlanMode: "\u5173\u95ED\u8BA1\u5212\u6A21\u5F0F",
2820
2851
  removeReference: "\u79FB\u9664\u5F15\u7528",
2821
2852
  quoteSelection: "\u5F15\u7528\u9009\u4E2D\u5185\u5BB9",
2853
+ askInSideChat: "\u5728\u4FA7\u8FB9\u804A\u5929\u4E2D\u63D0\u95EE",
2822
2854
  requestUserInput: {
2823
2855
  title: "\u9700\u8981\u4F60\u7684\u8F93\u5165",
2824
2856
  recommended: "\u63A8\u8350",
@@ -2834,6 +2866,14 @@ var zh_CN_default = {
2834
2866
  },
2835
2867
  hitl: {
2836
2868
  title: "\u64CD\u4F5C\u5BA1\u6838",
2869
+ mcpElicitationTitle: "MCP Elicitation",
2870
+ fieldProgress: "\u5B57\u6BB5 {{current}}/{{total}}",
2871
+ requiredUnanswered: "1 \u4E2A\u5FC5\u586B\u9879\u5F85\u56DE\u7B54",
2872
+ requiredAnswered: "\u5FC5\u586B\u9879\u5DF2\u56DE\u7B54",
2873
+ true: "\u662F",
2874
+ false: "\u5426",
2875
+ cancel: "\u53D6\u6D88",
2876
+ elicitationSubmit: "\u63D0\u4EA4",
2837
2877
  actionProgress: "{{current}} / {{total}}",
2838
2878
  previousAction: "\u4E0A\u4E00\u4E2A\u64CD\u4F5C",
2839
2879
  nextAction: "\u4E0B\u4E00\u4E2A\u64CD\u4F5C",
@@ -4948,6 +4988,7 @@ function SheetOverlay({
4948
4988
  function SheetContent({
4949
4989
  side = "right",
4950
4990
  showCloseButton = true,
4991
+ forceMount,
4951
4992
  className,
4952
4993
  children,
4953
4994
  ...props
@@ -4959,11 +5000,18 @@ function SheetContent({
4959
5000
  left: "inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",
4960
5001
  right: "inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm"
4961
5002
  };
4962
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(SheetPortal, { children: [
4963
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(SheetOverlay, {}),
5003
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(SheetPortal, { forceMount, children: [
5004
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
5005
+ SheetOverlay,
5006
+ {
5007
+ forceMount,
5008
+ className: forceMount ? "data-[state=closed]:hidden" : void 0
5009
+ }
5010
+ ),
4964
5011
  /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
4965
5012
  SheetPrimitive.Content,
4966
5013
  {
5014
+ forceMount,
4967
5015
  className: cn(
4968
5016
  "fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500 data-[state=open]:animate-in data-[state=closed]:animate-out",
4969
5017
  sideVariants[side],
@@ -6109,6 +6157,199 @@ function HITLApprovalPanel({
6109
6157
  onDismiss,
6110
6158
  attachToComposer = true,
6111
6159
  className
6160
+ }) {
6161
+ if (request?.request.elicitation?.kind === "mcp_elicitation" && request.request.actionRequests.length === 1 && request.request.actionRequests[0]?.name === request.request.elicitation.actionName) {
6162
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
6163
+ MCPBooleanElicitationPanel,
6164
+ {
6165
+ request,
6166
+ onSubmit,
6167
+ onDismiss,
6168
+ attachToComposer,
6169
+ className
6170
+ }
6171
+ );
6172
+ }
6173
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
6174
+ ActionReviewPanel,
6175
+ {
6176
+ request,
6177
+ onSubmit,
6178
+ onDismiss,
6179
+ attachToComposer,
6180
+ className
6181
+ }
6182
+ );
6183
+ }
6184
+ function MCPBooleanElicitationPanel({
6185
+ request,
6186
+ onSubmit,
6187
+ onDismiss,
6188
+ attachToComposer = true,
6189
+ className
6190
+ }) {
6191
+ const { t } = useChatkitTranslation();
6192
+ const rounded = useRoundedClasses4();
6193
+ const [decision, setDecision] = React19.useState(
6194
+ null
6195
+ );
6196
+ const elicitation = request?.request.elicitation;
6197
+ const action = request?.request.actionRequests.find(
6198
+ (candidate) => candidate.name === elicitation?.actionName
6199
+ );
6200
+ React19.useEffect(() => {
6201
+ setDecision(null);
6202
+ }, [request?.id]);
6203
+ React19.useEffect(() => {
6204
+ if (!request || !onDismiss) return;
6205
+ const handleKeyDown = (event) => {
6206
+ if (event.isComposing) return;
6207
+ if (event.key !== "Escape" && event.key !== "Esc") return;
6208
+ event.preventDefault();
6209
+ onDismiss();
6210
+ };
6211
+ document.addEventListener("keydown", handleKeyDown);
6212
+ return () => document.removeEventListener("keydown", handleKeyDown);
6213
+ }, [onDismiss, request]);
6214
+ if (!request || !elicitation || !action) return null;
6215
+ const fieldTitle = elicitation.field.title ?? action.name;
6216
+ const options = [
6217
+ {
6218
+ decision: "approve",
6219
+ label: t("composer.hitl.true")
6220
+ },
6221
+ {
6222
+ decision: "reject",
6223
+ label: t("composer.hitl.false")
6224
+ }
6225
+ ];
6226
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
6227
+ "section",
6228
+ {
6229
+ "aria-label": t("composer.hitl.mcpElicitationTitle"),
6230
+ "aria-live": "polite",
6231
+ className: cn(
6232
+ "mx-2 border border-border bg-background/95 shadow-sm",
6233
+ rounded.density.section,
6234
+ attachToComposer ? "border-b-0" : null,
6235
+ attachToComposer ? rounded.top : rounded.panel,
6236
+ className
6237
+ ),
6238
+ children: [
6239
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
6240
+ "div",
6241
+ {
6242
+ className: cn(
6243
+ "flex items-center gap-1.5 font-medium text-muted-foreground",
6244
+ rounded.density.eyebrow
6245
+ ),
6246
+ children: [
6247
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react12.ShieldCheck, { className: "h-3.5 w-3.5" }),
6248
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { children: t("composer.hitl.mcpElicitationTitle") })
6249
+ ]
6250
+ }
6251
+ ),
6252
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: cn("space-y-2.5", rounded.density.body), children: [
6253
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex flex-wrap items-center gap-x-1.5 gap-y-0.5 text-xs font-medium text-muted-foreground", children: [
6254
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { children: t("composer.hitl.fieldProgress", { current: 1, total: 1 }) }),
6255
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { "aria-hidden": "true", children: "\xB7" }),
6256
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { children: decision ? t("composer.hitl.requiredAnswered") : t("composer.hitl.requiredUnanswered") })
6257
+ ] }),
6258
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { children: [
6259
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
6260
+ "h3",
6261
+ {
6262
+ className: cn(
6263
+ "font-semibold text-foreground",
6264
+ rounded.density.title
6265
+ ),
6266
+ children: fieldTitle
6267
+ }
6268
+ ),
6269
+ action.description ? /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("p", { className: "mt-1 whitespace-pre-wrap text-sm leading-5 text-muted-foreground", children: action.description }) : null
6270
+ ] }),
6271
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { role: "radiogroup", "aria-label": fieldTitle, className: "grid gap-1.5", children: options.map((option) => {
6272
+ const selected = decision === option.decision;
6273
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
6274
+ "button",
6275
+ {
6276
+ type: "button",
6277
+ role: "radio",
6278
+ "aria-checked": selected,
6279
+ onClick: () => setDecision(option.decision),
6280
+ className: cn(
6281
+ "flex w-full items-center gap-2.5 border px-3 py-2 text-left text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
6282
+ rounded.control,
6283
+ selected ? "border-primary/50 bg-primary/10 text-foreground" : "border-border bg-background text-foreground/85 hover:bg-muted/70"
6284
+ ),
6285
+ children: [
6286
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
6287
+ "span",
6288
+ {
6289
+ className: cn(
6290
+ "flex h-4 w-4 shrink-0 items-center justify-center rounded-full border",
6291
+ selected ? "border-primary" : "border-muted-foreground/45"
6292
+ ),
6293
+ children: selected ? /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: "h-2 w-2 rounded-full bg-primary" }) : null
6294
+ }
6295
+ ),
6296
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { children: option.label })
6297
+ ]
6298
+ },
6299
+ option.decision
6300
+ );
6301
+ }) })
6302
+ ] }),
6303
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
6304
+ "div",
6305
+ {
6306
+ className: cn("flex items-center justify-end", rounded.density.footer),
6307
+ children: [
6308
+ onDismiss ? /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
6309
+ "button",
6310
+ {
6311
+ type: "button",
6312
+ onClick: onDismiss,
6313
+ className: cn(
6314
+ "inline-flex items-center justify-center font-medium text-muted-foreground hover:text-foreground",
6315
+ rounded.control,
6316
+ rounded.density.dismissButton
6317
+ ),
6318
+ children: t("composer.hitl.cancel")
6319
+ }
6320
+ ) : null,
6321
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
6322
+ "button",
6323
+ {
6324
+ type: "button",
6325
+ disabled: !decision,
6326
+ onClick: () => {
6327
+ if (decision) onSubmit([{ type: decision }]);
6328
+ },
6329
+ className: cn(
6330
+ "inline-flex shrink-0 items-center justify-center gap-1.5 bg-primary font-semibold text-primary-foreground hover:bg-primary/90 disabled:pointer-events-none disabled:opacity-45",
6331
+ rounded.control,
6332
+ rounded.density.continueButton
6333
+ ),
6334
+ children: [
6335
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react12.CornerDownLeft, { className: rounded.density.continueIcon }),
6336
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { children: t("composer.hitl.elicitationSubmit") })
6337
+ ]
6338
+ }
6339
+ )
6340
+ ]
6341
+ }
6342
+ )
6343
+ ]
6344
+ }
6345
+ );
6346
+ }
6347
+ function ActionReviewPanel({
6348
+ request,
6349
+ onSubmit,
6350
+ onDismiss,
6351
+ attachToComposer = true,
6352
+ className
6112
6353
  }) {
6113
6354
  const { t } = useChatkitTranslation();
6114
6355
  const rounded = useRoundedClasses4();
@@ -10748,7 +10989,7 @@ function AgentRunGroup({
10748
10989
  ].filter(
10749
10990
  (item) => Boolean(item)
10750
10991
  );
10751
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: cn("border-l border-border/70 pl-2", depth > 0 ? "ml-1" : "-mx-2.5"), children: [
10992
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: cn("border border-border/70 pl-2 rounded-lg", depth > 0 ? "ml-1" : "-mx-2.5"), children: [
10752
10993
  /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
10753
10994
  "button",
10754
10995
  {
@@ -15813,7 +16054,7 @@ var sortThreadRecords = (threadRecords) => {
15813
16054
  return (Number.isNaN(bTime) ? 0 : bTime) - (Number.isNaN(aTime) ? 0 : aTime);
15814
16055
  });
15815
16056
  };
15816
- function useThreads(limit = DEFAULT_LIMIT) {
16057
+ function useThreads(limit = DEFAULT_LIMIT, enabled = true) {
15817
16058
  const {
15818
16059
  client,
15819
16060
  threadId,
@@ -15833,6 +16074,7 @@ function useThreads(limit = DEFAULT_LIMIT) {
15833
16074
  });
15834
16075
  }, []);
15835
16076
  const refreshThreads = React42.useCallback(async () => {
16077
+ if (!enabled) return;
15836
16078
  setIsLoading(true);
15837
16079
  setError(null);
15838
16080
  try {
@@ -15847,7 +16089,7 @@ function useThreads(limit = DEFAULT_LIMIT) {
15847
16089
  } finally {
15848
16090
  setIsLoading(false);
15849
16091
  }
15850
- }, [client, limit, assistantId, projectId]);
16092
+ }, [client, enabled, limit, assistantId, projectId]);
15851
16093
  const createThread = React42.useCallback(
15852
16094
  async (input) => {
15853
16095
  setError(null);
@@ -15883,9 +16125,9 @@ function useThreads(limit = DEFAULT_LIMIT) {
15883
16125
  [client]
15884
16126
  );
15885
16127
  React42.useEffect(() => {
15886
- if (!isReady) return;
16128
+ if (!enabled || !isReady) return;
15887
16129
  void refreshThreads();
15888
- }, [refreshThreads, isReady]);
16130
+ }, [enabled, refreshThreads, isReady]);
15889
16131
  React42.useEffect(() => {
15890
16132
  if (!threadId || !isStreamLoading) return;
15891
16133
  const now = (/* @__PURE__ */ new Date()).toISOString();
@@ -17649,9 +17891,8 @@ function findDomPointForComposerOffset(root, offset) {
17649
17891
  return result ?? { node: lastNode, offset: lastOffset };
17650
17892
  }
17651
17893
 
17652
- // src/workbench/WorkbenchShell.tsx
17894
+ // src/workbench/context.tsx
17653
17895
  var React52 = __toESM(require("react"), 1);
17654
- var import_xpert_sdk2 = require("@xpert-ai/xpert-sdk");
17655
17896
  var import_lucide_react30 = require("lucide-react");
17656
17897
  var import_jsx_runtime57 = require("react/jsx-runtime");
17657
17898
  var WorkbenchContext = React52.createContext({
@@ -17659,7 +17900,9 @@ var WorkbenchContext = React52.createContext({
17659
17900
  open: false,
17660
17901
  loading: false,
17661
17902
  available: false,
17662
- toggle: () => void 0
17903
+ toggle: () => void 0,
17904
+ sideChatEnabled: false,
17905
+ askInSideChat: async () => void 0
17663
17906
  });
17664
17907
  function useWorkbench() {
17665
17908
  return React52.useContext(WorkbenchContext);
@@ -19190,7 +19433,9 @@ function Chat({
19190
19433
  title,
19191
19434
  placeholder,
19192
19435
  clientSecret = "",
19193
- isClientSecretInitializing = false
19436
+ isClientSecretInitializing = false,
19437
+ surface = "main",
19438
+ referenceRequest
19194
19439
  }) {
19195
19440
  const { t, i18n: i18n2 } = useChatkitTranslation();
19196
19441
  const composer = options?.composer;
@@ -19201,6 +19446,7 @@ function Chat({
19201
19446
  const messageNavigationEnabled = options?.messageNavigation?.enabled !== false;
19202
19447
  const { setStream } = useStreamManager();
19203
19448
  const stream = useStreamContext();
19449
+ const workbench = useWorkbench();
19204
19450
  const { theme } = useTheme();
19205
19451
  const effectiveClientSecret = stream.apiKey?.trim() ? stream.apiKey : clientSecret;
19206
19452
  const missingConfigKind = getMissingApiConfigurationKind({
@@ -19249,8 +19495,8 @@ function Chat({
19249
19495
  const loadingStartTimeRef = React56.useRef(null);
19250
19496
  const lastStreamOutputAtRef = React56.useRef(null);
19251
19497
  React56.useEffect(() => {
19252
- setStream(stream);
19253
- }, [setStream, stream]);
19498
+ if (surface === "main") setStream(stream);
19499
+ }, [setStream, stream, surface]);
19254
19500
  React56.useEffect(() => {
19255
19501
  if (stream.isLoading) {
19256
19502
  if (!loadingStartTimeRef.current) {
@@ -19325,6 +19571,8 @@ function Chat({
19325
19571
  const [references, setReferences] = React56.useState([]);
19326
19572
  const [isUploadingReferenceImages, setIsUploadingReferenceImages] = React56.useState(false);
19327
19573
  const [quoteSelection, setQuoteSelection] = React56.useState(null);
19574
+ const [isOpeningSideChat, setIsOpeningSideChat] = React56.useState(false);
19575
+ const [sideChatError, setSideChatError] = React56.useState(null);
19328
19576
  const [isAtBottom, setIsAtBottom] = React56.useState(true);
19329
19577
  const [hasUpdatesBelow, setHasUpdatesBelow] = React56.useState(false);
19330
19578
  const {
@@ -19332,7 +19580,7 @@ function Chat({
19332
19580
  deleteThread,
19333
19581
  refreshThreads,
19334
19582
  isLoading: isThreadsLoading
19335
- } = useThreads();
19583
+ } = useThreads(void 0, surface === "main" && history?.enabled !== false);
19336
19584
  const viewportRef = React56.useRef(null);
19337
19585
  const chatColumnRef = React56.useRef(null);
19338
19586
  const messageNavigationAnchorsRef = React56.useRef(
@@ -19340,6 +19588,7 @@ function Chat({
19340
19588
  );
19341
19589
  const attachmentsRef = React56.useRef(null);
19342
19590
  const composerInputRef = React56.useRef(null);
19591
+ const appliedReferenceRequestRef = React56.useRef(null);
19343
19592
  const isComposerComposingRef = React56.useRef(false);
19344
19593
  const slashPaletteRef = React56.useRef(null);
19345
19594
  const slashPaletteOptionRefs = React56.useRef(
@@ -19500,15 +19749,16 @@ function Chat({
19500
19749
  const hasPendingInteractiveRequest = hasPendingRequestUserInput || hasPendingHITLRequest;
19501
19750
  const hasPendingTodos = Boolean(stream.todos?.items.length);
19502
19751
  const goalAdapter = React56.useMemo(() => {
19752
+ if (surface !== "main") return null;
19503
19753
  if (isGoalAdapter(options?.goal)) {
19504
19754
  return options.goal;
19505
19755
  }
19506
19756
  return supportsXpertThreadGoalAdapter(stream.client) ? createXpertThreadGoalAdapter(stream.client) : null;
19507
- }, [options?.goal, stream.client]);
19757
+ }, [options?.goal, stream.client, surface]);
19508
19758
  const displayedGoalElapsedSeconds = threadGoal ? (threadGoal.elapsedSeconds ?? 0) + (goalElapsedStartedAt ? Math.max(0, Math.floor((streamingNow - goalElapsedStartedAt) / 1e3)) : 0) : 0;
19509
19759
  const goalCommandAvailable = hasSelectedRuntimeSlashCommand(
19510
- runtimeCapabilities,
19511
- effectiveSessionRuntimeCapabilities,
19760
+ surface === "main" ? runtimeCapabilities : null,
19761
+ surface === "main" ? effectiveSessionRuntimeCapabilities : null,
19512
19762
  "goal"
19513
19763
  );
19514
19764
  const showGoalStatus = goalCommandAvailable && !hasCompletedGoal && (Boolean(goalError) || threadGoal?.status === "active" && stream.isLoading);
@@ -19566,6 +19816,16 @@ function Chat({
19566
19816
  setComposerSelectionOffset(input, nextPosition);
19567
19817
  });
19568
19818
  }, []);
19819
+ React56.useEffect(() => {
19820
+ if (!referenceRequest || appliedReferenceRequestRef.current === referenceRequest.id) {
19821
+ return;
19822
+ }
19823
+ appliedReferenceRequestRef.current = referenceRequest.id;
19824
+ setReferences(
19825
+ (previous) => mergeReferences(previous, [referenceRequest.reference])
19826
+ );
19827
+ requestAnimationFrame(() => composerInputRef.current?.focus());
19828
+ }, [referenceRequest]);
19569
19829
  const {
19570
19830
  applyComposerValueRuntimeCapabilities,
19571
19831
  updateRuntimeCapabilityPalette,
@@ -19583,62 +19843,63 @@ function Chat({
19583
19843
  commitComposerParts,
19584
19844
  focusComposerAt
19585
19845
  });
19586
- const parentMessenger = useParentMessenger({
19587
- onSetComposerValue: React56.useCallback(
19588
- (payload) => {
19589
- if (!payload) {
19590
- return;
19591
- }
19592
- const shouldInsertRuntimeCapabilitiesBeforeText = typeof payload.text === "string" && payload.insertRuntimeCapabilities === true;
19593
- if (typeof payload.text === "string") {
19594
- setComposerText(payload.text);
19595
- }
19596
- if (Array.isArray(payload.references)) {
19597
- const nextReferences = normalizeReferences(payload.references);
19598
- setReferences(
19599
- (previous) => payload.appendReferences ? mergeReferences(previous, nextReferences) : nextReferences
19600
- );
19601
- }
19602
- if (payload.selectedToolId !== void 0) {
19603
- const nextTool = payload.selectedToolId === null ? null : (composer?.tools ?? []).find(
19604
- (tool) => tool.id === payload.selectedToolId
19605
- ) ?? null;
19606
- setSelectedTool(nextTool);
19607
- }
19608
- applyComposerValueRuntimeCapabilities(
19609
- payload,
19610
- shouldInsertRuntimeCapabilitiesBeforeText ? { insertAt: 0 } : void 0
19846
+ const handleSetComposerValue = React56.useCallback(
19847
+ (payload) => {
19848
+ if (!payload) return;
19849
+ const shouldInsertRuntimeCapabilitiesBeforeText = typeof payload.text === "string" && payload.insertRuntimeCapabilities === true;
19850
+ if (typeof payload.text === "string") setComposerText(payload.text);
19851
+ if (Array.isArray(payload.references)) {
19852
+ const nextReferences = normalizeReferences(payload.references);
19853
+ setReferences(
19854
+ (previous) => payload.appendReferences ? mergeReferences(previous, nextReferences) : nextReferences
19611
19855
  );
19612
- },
19613
- [applyComposerValueRuntimeCapabilities, composer?.tools, setComposerText]
19614
- ),
19615
- onSetRuntimeCapabilities: React56.useCallback(
19616
- (selection) => {
19617
- applyExternalRuntimeCapabilities(selection);
19618
- },
19619
- [applyExternalRuntimeCapabilities]
19620
- ),
19621
- onFocusComposer: React56.useCallback(() => {
19622
- composerInputRef.current?.focus();
19623
- }, []),
19624
- onSetPetEnabled: React56.useCallback(
19625
- (enabled) => {
19626
- if (petRequired) {
19627
- return;
19628
- }
19629
- savePetLocalSettings({
19630
- ...displayedPetSettings,
19631
- enabled
19632
- });
19633
- },
19634
- [displayedPetSettings, petRequired, savePetLocalSettings]
19635
- )
19636
- });
19856
+ }
19857
+ if (payload.selectedToolId !== void 0) {
19858
+ const nextTool = payload.selectedToolId === null ? null : (composer?.tools ?? []).find(
19859
+ (tool) => tool.id === payload.selectedToolId
19860
+ ) ?? null;
19861
+ setSelectedTool(nextTool);
19862
+ }
19863
+ applyComposerValueRuntimeCapabilities(
19864
+ payload,
19865
+ shouldInsertRuntimeCapabilitiesBeforeText ? { insertAt: 0 } : void 0
19866
+ );
19867
+ },
19868
+ [applyComposerValueRuntimeCapabilities, composer?.tools, setComposerText]
19869
+ );
19870
+ const handleSetRuntimeCapabilities = React56.useCallback(
19871
+ (selection) => {
19872
+ applyExternalRuntimeCapabilities(selection);
19873
+ },
19874
+ [applyExternalRuntimeCapabilities]
19875
+ );
19876
+ const handleFocusComposer = React56.useCallback(() => {
19877
+ composerInputRef.current?.focus();
19878
+ }, []);
19879
+ const handleSetPetEnabled = React56.useCallback(
19880
+ (enabled) => {
19881
+ if (petRequired) return;
19882
+ savePetLocalSettings({ ...displayedPetSettings, enabled });
19883
+ },
19884
+ [displayedPetSettings, petRequired, savePetLocalSettings]
19885
+ );
19886
+ const parentMessenger = useParentMessenger(
19887
+ surface === "main" ? {
19888
+ onSetComposerValue: handleSetComposerValue,
19889
+ onSetRuntimeCapabilities: handleSetRuntimeCapabilities,
19890
+ onFocusComposer: handleFocusComposer,
19891
+ onSetPetEnabled: handleSetPetEnabled
19892
+ } : {}
19893
+ );
19637
19894
  const canMinimizeToPet = parentMessenger?.isParentAvailable === true && isPetEnabled(effectivePet);
19638
19895
  const handleMinimizeToPet = React56.useCallback(() => {
19639
19896
  parentMessenger?.sendEvent("chat_minimize_change", { minimized: true });
19640
19897
  }, [parentMessenger]);
19641
19898
  const syncQuoteSelection = React56.useCallback(() => {
19899
+ if (surface !== "main") {
19900
+ clearQuoteSelection();
19901
+ return;
19902
+ }
19642
19903
  if (typeof window === "undefined") {
19643
19904
  clearQuoteSelection();
19644
19905
  return;
@@ -19682,7 +19943,7 @@ function Chat({
19682
19943
  top,
19683
19944
  left
19684
19945
  });
19685
- }, [clearQuoteSelection]);
19946
+ }, [clearQuoteSelection, surface]);
19686
19947
  const cancelPendingAutoScroll = React56.useCallback(() => {
19687
19948
  if (autoScrollFrameRef.current !== null) {
19688
19949
  cancelAnimationFrame(autoScrollFrameRef.current);
@@ -20532,6 +20793,27 @@ function Chat({
20532
20793
  }
20533
20794
  composerInputRef.current?.focus();
20534
20795
  }, [clearQuoteSelection, quoteSelection]);
20796
+ const handleAskInSideChat = React56.useCallback(async () => {
20797
+ if (!quoteSelection || !workbench.sideChatEnabled || !stream.threadId || stream.isLoading)
20798
+ return;
20799
+ setIsOpeningSideChat(true);
20800
+ setSideChatError(null);
20801
+ try {
20802
+ await workbench.askInSideChat(quoteSelection.reference);
20803
+ clearQuoteSelection();
20804
+ window.getSelection()?.removeAllRanges();
20805
+ } catch (error) {
20806
+ setSideChatError(error instanceof Error ? error.message : String(error));
20807
+ } finally {
20808
+ setIsOpeningSideChat(false);
20809
+ }
20810
+ }, [
20811
+ clearQuoteSelection,
20812
+ quoteSelection,
20813
+ stream.isLoading,
20814
+ stream.threadId,
20815
+ workbench
20816
+ ]);
20535
20817
  const handleAttachmentClick = () => {
20536
20818
  attachmentsRef.current?.openFilePicker();
20537
20819
  };
@@ -20786,7 +21068,7 @@ function Chat({
20786
21068
  [focusComposerAt, isPromptEditDisabled, setComposerText]
20787
21069
  );
20788
21070
  const loadConversationMessages = React56.useCallback(
20789
- async (recordId) => {
21071
+ async (recordId, threadId) => {
20790
21072
  if (missingConfig) {
20791
21073
  setHistoryError(missingConfigShortMessage);
20792
21074
  return;
@@ -20794,7 +21076,7 @@ function Chat({
20794
21076
  setHistoryError(null);
20795
21077
  setIsHistoryLoading(true);
20796
21078
  try {
20797
- await stream.loadConversationMessages(recordId);
21079
+ await stream.loadConversationMessages(recordId, threadId);
20798
21080
  } catch (err) {
20799
21081
  console.warn("Failed to load thread messages", err);
20800
21082
  setHistoryError(
@@ -20859,13 +21141,13 @@ function Chat({
20859
21141
  if (!thread) return;
20860
21142
  if (id === stream.threadId) {
20861
21143
  if (thread.status === "interrupted" && thread.recordId && !stream.pendingHITLRequest) {
20862
- void loadConversationMessages(thread.recordId);
21144
+ void loadConversationMessages(thread.recordId, thread.id);
20863
21145
  }
20864
21146
  return;
20865
21147
  }
20866
21148
  stream.reset(id, []);
20867
21149
  if (thread.recordId) {
20868
- void loadConversationMessages(thread.recordId);
21150
+ void loadConversationMessages(thread.recordId, thread.id);
20869
21151
  }
20870
21152
  };
20871
21153
  const handleDeleteThread = (id) => {
@@ -21062,12 +21344,12 @@ function Chat({
21062
21344
  className
21063
21345
  ),
21064
21346
  children: [
21065
- /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(
21347
+ surface === "main" && options?.header?.enabled !== false && /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(
21066
21348
  "div",
21067
21349
  {
21068
21350
  ref: chatColumnRef,
21069
21351
  "data-slot": "chatkit-chat-header",
21070
- className: "mx-auto flex w-full items-center justify-between border-b p-2 sticky top-0 z-10 bg-background",
21352
+ className: "mx-auto flex w-full items-center justify-between border-b border-secondary px-2 py-1 sticky top-0 z-10 bg-background",
21071
21353
  style: chatColumnStyle,
21072
21354
  children: [
21073
21355
  /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "flex min-w-0 items-center gap-3 overflow-hidden", children: [
@@ -21216,7 +21498,7 @@ function Chat({
21216
21498
  promptSendDisabled: isSubmissionBlocked,
21217
21499
  promptEditDisabled: isPromptEditDisabled
21218
21500
  }
21219
- ) : /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "space-y-4", children: [
21501
+ ) : /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "space-y-1", children: [
21220
21502
  canLoadMoreMessages && /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "flex items-center gap-3 py-1", children: [
21221
21503
  /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("div", { className: "h-px min-w-8 flex-1 bg-border" }),
21222
21504
  /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
@@ -21428,32 +21710,55 @@ function Chat({
21428
21710
  children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_lucide_react33.ArrowDown, { size: 16 })
21429
21711
  }
21430
21712
  ) }),
21431
- quoteSelection && /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
21713
+ quoteSelection && /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(
21432
21714
  "div",
21433
21715
  {
21434
- className: "pointer-events-none fixed z-50",
21716
+ className: "pointer-events-none fixed z-50 flex flex-col items-center gap-1",
21435
21717
  style: {
21436
21718
  top: `${quoteSelection.top}px`,
21437
21719
  left: `${quoteSelection.left}px`,
21438
21720
  transform: "translateX(-50%)"
21439
21721
  },
21440
- children: /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(
21441
- Button,
21442
- {
21443
- type: "button",
21444
- size: "sm",
21445
- variant: "secondary",
21446
- className: "pointer-events-auto shadow-lg",
21447
- onMouseDown: (event) => event.preventDefault(),
21448
- onClick: handleQuoteSelection,
21449
- "aria-label": t("composer.quoteSelection"),
21450
- title: t("composer.quoteSelection"),
21451
- children: [
21452
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_lucide_react33.Quote, { size: 14 }),
21453
- t("composer.quoteSelection")
21454
- ]
21455
- }
21456
- )
21722
+ children: [
21723
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "pointer-events-auto flex overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-lg", children: [
21724
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(
21725
+ Button,
21726
+ {
21727
+ type: "button",
21728
+ size: "sm",
21729
+ variant: "ghost",
21730
+ className: "rounded-none border-r",
21731
+ onMouseDown: (event) => event.preventDefault(),
21732
+ onClick: handleQuoteSelection,
21733
+ "aria-label": t("composer.quoteSelection"),
21734
+ title: t("composer.quoteSelection"),
21735
+ children: [
21736
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_lucide_react33.Quote, { size: 14 }),
21737
+ t("composer.quoteSelection")
21738
+ ]
21739
+ }
21740
+ ),
21741
+ workbench.sideChatEnabled && /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(
21742
+ Button,
21743
+ {
21744
+ type: "button",
21745
+ size: "sm",
21746
+ variant: "ghost",
21747
+ className: "rounded-none",
21748
+ disabled: isOpeningSideChat || stream.isLoading || !stream.threadId,
21749
+ onMouseDown: (event) => event.preventDefault(),
21750
+ onClick: () => void handleAskInSideChat(),
21751
+ "aria-label": t("composer.askInSideChat"),
21752
+ title: t("composer.askInSideChat"),
21753
+ children: [
21754
+ isOpeningSideChat ? /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_lucide_react33.Loader2, { size: 14, className: "animate-spin" }) : /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_lucide_react33.MessageSquarePlus, { size: 14 }),
21755
+ t("composer.askInSideChat")
21756
+ ]
21757
+ }
21758
+ )
21759
+ ] }),
21760
+ sideChatError && /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("div", { className: "pointer-events-auto max-w-72 rounded-md bg-destructive px-2 py-1 text-xs text-destructive-foreground shadow", children: sideChatError })
21761
+ ]
21457
21762
  }
21458
21763
  ),
21459
21764
  /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(