@feathery/react 2.55.0 → 2.55.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 (256) hide show
  1. package/cjs/Form/index.d.ts.map +1 -1
  2. package/cjs/assistant/AssistantChat.d.ts +5 -1
  3. package/cjs/assistant/AssistantChat.d.ts.map +1 -1
  4. package/cjs/assistant/attachments.d.ts +2 -2
  5. package/cjs/assistant/attachments.d.ts.map +1 -1
  6. package/cjs/assistant/useChatAttachments.d.ts +2 -1
  7. package/cjs/assistant/useChatAttachments.d.ts.map +1 -1
  8. package/cjs/assistant/utils.d.ts +5 -4
  9. package/cjs/assistant/utils.d.ts.map +1 -1
  10. package/cjs/{fthry_AssistantChat.Cwyk3iiA.js → fthry_AssistantChat.BnU2Yr_h.js} +165 -112
  11. package/cjs/fthry_AssistantChat.BnU2Yr_h.js.map +1 -0
  12. package/cjs/{fthry_FormControl.DQFuYIrs.js → fthry_FormControl.BXzjcE0i.js} +2 -1
  13. package/cjs/fthry_FormControl.BXzjcE0i.js.map +1 -0
  14. package/cjs/{fthry_InlineTooltip.C-3eLvAv.js → fthry_InlineTooltip.CZBWvna6.js} +2 -1
  15. package/cjs/fthry_InlineTooltip.CZBWvna6.js.map +1 -0
  16. package/cjs/{fthry_PaymentMethodField.Cs9nBB47.js → fthry_PaymentMethodField.DyFNAYm2.js} +4 -3
  17. package/cjs/fthry_PaymentMethodField.DyFNAYm2.js.map +1 -0
  18. package/cjs/{fthry_Placeholder.CUmM_ix-.js → fthry_Placeholder.2CqXKrVM.js} +2 -1
  19. package/cjs/fthry_Placeholder.2CqXKrVM.js.map +1 -0
  20. package/cjs/{fthry_ShowEyeIcon.D6Lwhfy_.js → fthry_ShowEyeIcon.BZWrsLyq.js} +2 -1
  21. package/cjs/fthry_ShowEyeIcon.BZWrsLyq.js.map +1 -0
  22. package/cjs/{fthry_TabsElement.CgL3YMbf.js → fthry_TabsElement.CtTLQe5t.js} +2 -1
  23. package/cjs/fthry_TabsElement.CtTLQe5t.js.map +1 -0
  24. package/cjs/{fthry_auto-track.DhDJ7Six.js → fthry_auto-track.B22Ynq_K.js} +3 -2
  25. package/cjs/fthry_auto-track.B22Ynq_K.js.map +1 -0
  26. package/cjs/fthry_clsx.BtxeOLZW.js +1 -0
  27. package/cjs/fthry_clsx.BtxeOLZW.js.map +1 -0
  28. package/cjs/{fthry_highlighted-body-TPN3WLV5.BzjtpXVW.js → fthry_highlighted-body-TPN3WLV5.CelsmwcU.js} +4 -3
  29. package/cjs/fthry_highlighted-body-TPN3WLV5.CelsmwcU.js.map +1 -0
  30. package/cjs/{fthry_index.CusanmZ4.js → fthry_index.B3QL5_yA.js} +2 -1
  31. package/cjs/fthry_index.B3QL5_yA.js.map +1 -0
  32. package/cjs/{fthry_index.ZlEa6xRd.js → fthry_index.B8zBRpNw.js} +3 -2
  33. package/cjs/fthry_index.B8zBRpNw.js.map +1 -0
  34. package/cjs/{fthry_index.CPrsbFNe.js → fthry_index.B9JNWxwd.js} +2 -1
  35. package/cjs/fthry_index.B9JNWxwd.js.map +1 -0
  36. package/cjs/{fthry_index.CizURN5l.js → fthry_index.BCf4Av9_.js} +6 -5
  37. package/cjs/fthry_index.BCf4Av9_.js.map +1 -0
  38. package/cjs/{fthry_index.C0qSps2I.js → fthry_index.BW6SLOZn.js} +5 -4
  39. package/cjs/fthry_index.BW6SLOZn.js.map +1 -0
  40. package/cjs/{fthry_index.DjoQ9rvl.js → fthry_index.BilvjC0E.js} +2 -1
  41. package/cjs/fthry_index.BilvjC0E.js.map +1 -0
  42. package/cjs/{fthry_index.D-JzzjZq.js → fthry_index.BizvJqp6.js} +2 -1
  43. package/cjs/fthry_index.BizvJqp6.js.map +1 -0
  44. package/cjs/{fthry_index.Bgz8QD73.js → fthry_index.C4D2Sm78.js} +2 -1
  45. package/cjs/fthry_index.C4D2Sm78.js.map +1 -0
  46. package/cjs/{fthry_index.D--5x2--.js → fthry_index.CFfAHyvb.js} +2 -1
  47. package/cjs/fthry_index.CFfAHyvb.js.map +1 -0
  48. package/cjs/{fthry_index.BiQgM_mp.js → fthry_index.C_kvEPFs.js} +6 -5
  49. package/cjs/fthry_index.C_kvEPFs.js.map +1 -0
  50. package/cjs/{fthry_index.DZ7mRbvH.js → fthry_index.Cc58moM9.js} +5 -4
  51. package/cjs/fthry_index.Cc58moM9.js.map +1 -0
  52. package/cjs/{fthry_index.CD8G4Ned.js → fthry_index.CdOSFDbB.js} +3 -2
  53. package/cjs/fthry_index.CdOSFDbB.js.map +1 -0
  54. package/cjs/{fthry_index.hoemhTIo.js → fthry_index.Coww-iPH.js} +5 -4
  55. package/cjs/fthry_index.Coww-iPH.js.map +1 -0
  56. package/cjs/{fthry_index.BLh4y2dS.js → fthry_index.Cq8qj-8x.js} +2 -1
  57. package/cjs/fthry_index.Cq8qj-8x.js.map +1 -0
  58. package/cjs/{fthry_index.BiYemmOs.js → fthry_index.CuAdpyzK.js} +8 -7
  59. package/cjs/fthry_index.CuAdpyzK.js.map +1 -0
  60. package/cjs/{fthry_index.DYt_hVte.js → fthry_index.Cx7H2PhW.js} +5 -4
  61. package/cjs/fthry_index.Cx7H2PhW.js.map +1 -0
  62. package/cjs/{fthry_index.DcLxtTSW.js → fthry_index.D7fIuY96.js} +3 -2
  63. package/cjs/fthry_index.D7fIuY96.js.map +1 -0
  64. package/cjs/{fthry_index.DxAMmenQ.js → fthry_index.D9unqWJ7.js} +4 -3
  65. package/cjs/fthry_index.D9unqWJ7.js.map +1 -0
  66. package/cjs/{fthry_index.C9hwfIUQ.js → fthry_index.DCI5GoFx.js} +6 -5
  67. package/cjs/fthry_index.DCI5GoFx.js.map +1 -0
  68. package/cjs/{fthry_index.CGx_UCOl.js → fthry_index.DHs14TBz.js} +11 -10
  69. package/cjs/fthry_index.DHs14TBz.js.map +1 -0
  70. package/cjs/{fthry_index.Cl8PTNLj.js → fthry_index.DJeRiPEz.js} +6 -5
  71. package/cjs/fthry_index.DJeRiPEz.js.map +1 -0
  72. package/cjs/{fthry_index.BBtmp2lX.js → fthry_index.DQEcyx81.js} +3 -2
  73. package/cjs/fthry_index.DQEcyx81.js.map +1 -0
  74. package/cjs/{fthry_index.fHBYZguT.js → fthry_index.DTsKwPpr.js} +4 -3
  75. package/cjs/fthry_index.DTsKwPpr.js.map +1 -0
  76. package/cjs/{fthry_index.DPvMA8nx.js → fthry_index.DkWarcVx.js} +2 -1
  77. package/cjs/fthry_index.DkWarcVx.js.map +1 -0
  78. package/cjs/{fthry_index.y6sfh246.js → fthry_index.Dsroboof.js} +2 -1
  79. package/cjs/fthry_index.Dsroboof.js.map +1 -0
  80. package/cjs/{fthry_index.D01OXK-l.js → fthry_index.Fmvcqpwg.js} +3 -2
  81. package/cjs/fthry_index.Fmvcqpwg.js.map +1 -0
  82. package/cjs/fthry_index.KDrRVPx5.js +1 -0
  83. package/cjs/fthry_index.KDrRVPx5.js.map +1 -0
  84. package/cjs/{fthry_index.CPx7ld_r.js → fthry_index.KWfWjkO9.js} +2 -1
  85. package/cjs/fthry_index.KWfWjkO9.js.map +1 -0
  86. package/cjs/{fthry_index.CbTgNihl.js → fthry_index.NimIR9xa.js} +3 -2
  87. package/cjs/fthry_index.NimIR9xa.js.map +1 -0
  88. package/cjs/fthry_index.NshYktAt.js +1 -0
  89. package/cjs/fthry_index.NshYktAt.js.map +1 -0
  90. package/cjs/{fthry_index.BF-anQOj.js → fthry_index.Wjf5tBws.js} +36 -33
  91. package/cjs/fthry_index.Wjf5tBws.js.map +1 -0
  92. package/cjs/{fthry_index.COUHEKea.js → fthry_index.bvyDbUur.js} +2 -1
  93. package/cjs/fthry_index.bvyDbUur.js.map +1 -0
  94. package/cjs/{fthry_index.mHIYCN--.js → fthry_index.dr6NIozF.js} +4 -3
  95. package/cjs/fthry_index.dr6NIozF.js.map +1 -0
  96. package/cjs/{fthry_index.BkUZn1Wx.js → fthry_index.rT4jTu4g.js} +3 -2
  97. package/cjs/fthry_index.rT4jTu4g.js.map +1 -0
  98. package/cjs/{fthry_index.umd.DcnVOTNd.js → fthry_index.umd.CFNrHn6Q.js} +2 -1
  99. package/cjs/fthry_index.umd.CFNrHn6Q.js.map +1 -0
  100. package/cjs/{fthry_input.D_ZZBUiA.js → fthry_input.UurEDpH1.js} +2 -1
  101. package/cjs/fthry_input.UurEDpH1.js.map +1 -0
  102. package/cjs/fthry_is-plan-event-enabled.nMt_kVye.js +1 -0
  103. package/cjs/fthry_is-plan-event-enabled.nMt_kVye.js.map +1 -0
  104. package/cjs/fthry_logging.B-EvoWue.js +1 -0
  105. package/cjs/fthry_logging.B-EvoWue.js.map +1 -0
  106. package/cjs/{fthry_logging.DnMqEtZk.js → fthry_logging.Bb2ZzWt6.js} +2 -1
  107. package/cjs/fthry_logging.Bb2ZzWt6.js.map +1 -0
  108. package/cjs/fthry_mermaid-O7DHMXV3.CNHg9tm2.js +15 -0
  109. package/cjs/fthry_mermaid-O7DHMXV3.CNHg9tm2.js.map +1 -0
  110. package/cjs/{fthry_script.CiEL5EkQ.js → fthry_script.CcTuTa_n.js} +2 -1
  111. package/cjs/fthry_script.CcTuTa_n.js.map +1 -0
  112. package/cjs/{fthry_styles.BQvJdT7h.js → fthry_styles.C9PViF_z.js} +2 -1
  113. package/cjs/fthry_styles.C9PViF_z.js.map +1 -0
  114. package/cjs/{fthry_useElementSize.DuwzR_F7.js → fthry_useElementSize.BYo7N4Ze.js} +2 -1
  115. package/cjs/fthry_useElementSize.BYo7N4Ze.js.map +1 -0
  116. package/cjs/{fthry_useSalesforceSync.B6nQeLV2.js → fthry_useSalesforceSync.B7NXZ3Dk.js} +2 -1
  117. package/cjs/fthry_useSalesforceSync.B7NXZ3Dk.js.map +1 -0
  118. package/cjs/{fthry_webfontloader.DKvYHlYz.js → fthry_webfontloader.CjNRa40-.js} +2 -1
  119. package/cjs/fthry_webfontloader.CjNRa40-.js.map +1 -0
  120. package/cjs/index.js +2 -1
  121. package/cjs/index.js.map +1 -0
  122. package/cjs/thumbnail-renderer.js +2 -1
  123. package/cjs/thumbnail-renderer.js.map +1 -0
  124. package/cjs/utils/formHelperFunctions.d.ts +1 -0
  125. package/cjs/utils/formHelperFunctions.d.ts.map +1 -1
  126. package/dist/Form/index.d.ts.map +1 -1
  127. package/dist/assistant/AssistantChat.d.ts +5 -1
  128. package/dist/assistant/AssistantChat.d.ts.map +1 -1
  129. package/dist/assistant/attachments.d.ts +2 -2
  130. package/dist/assistant/attachments.d.ts.map +1 -1
  131. package/dist/assistant/useChatAttachments.d.ts +2 -1
  132. package/dist/assistant/useChatAttachments.d.ts.map +1 -1
  133. package/dist/assistant/utils.d.ts +5 -4
  134. package/dist/assistant/utils.d.ts.map +1 -1
  135. package/dist/{fthry_AssistantChat.Be6Mlyxj.js → fthry_AssistantChat.OX1AJD8h.js} +165 -112
  136. package/dist/fthry_AssistantChat.OX1AJD8h.js.map +1 -0
  137. package/dist/{fthry_FormControl.CCkAPkgv.js → fthry_FormControl.COa8B2Rj.js} +2 -1
  138. package/dist/fthry_FormControl.COa8B2Rj.js.map +1 -0
  139. package/dist/{fthry_InlineTooltip.DZD_oDzB.js → fthry_InlineTooltip.LXzEWNGG.js} +2 -1
  140. package/dist/fthry_InlineTooltip.LXzEWNGG.js.map +1 -0
  141. package/dist/{fthry_PaymentMethodField.CtsyjvwX.js → fthry_PaymentMethodField.DJuu_g41.js} +4 -3
  142. package/dist/fthry_PaymentMethodField.DJuu_g41.js.map +1 -0
  143. package/dist/{fthry_Placeholder.DuqjLBhG.js → fthry_Placeholder.BmGpTaPo.js} +2 -1
  144. package/dist/fthry_Placeholder.BmGpTaPo.js.map +1 -0
  145. package/dist/{fthry_ShowEyeIcon.Dl2TsElo.js → fthry_ShowEyeIcon.kRzTWGDO.js} +2 -1
  146. package/dist/fthry_ShowEyeIcon.kRzTWGDO.js.map +1 -0
  147. package/dist/{fthry_TabsElement.CYi3mzi8.js → fthry_TabsElement.Dmw8GpCX.js} +2 -1
  148. package/dist/fthry_TabsElement.Dmw8GpCX.js.map +1 -0
  149. package/dist/{fthry_auto-track.IfDBqGyL.js → fthry_auto-track.wmjzjBvu.js} +3 -2
  150. package/dist/fthry_auto-track.wmjzjBvu.js.map +1 -0
  151. package/dist/fthry_clsx.ChV9xqsO.js +1 -0
  152. package/dist/fthry_clsx.ChV9xqsO.js.map +1 -0
  153. package/dist/{fthry_highlighted-body-TPN3WLV5.HLcU1iPh.js → fthry_highlighted-body-TPN3WLV5.B4y3sv_A.js} +4 -3
  154. package/dist/fthry_highlighted-body-TPN3WLV5.B4y3sv_A.js.map +1 -0
  155. package/dist/{fthry_index.okrffQYp.js → fthry_index.B1mGJ8jK.js} +3 -2
  156. package/dist/fthry_index.B1mGJ8jK.js.map +1 -0
  157. package/dist/{fthry_index.C5AkH2wz.js → fthry_index.B3rocJXR.js} +2 -1
  158. package/dist/fthry_index.B3rocJXR.js.map +1 -0
  159. package/dist/{fthry_index.BEMCjmqu.js → fthry_index.BNLvItXG.js} +36 -33
  160. package/dist/fthry_index.BNLvItXG.js.map +1 -0
  161. package/dist/fthry_index.BNrDR7Qm.js +1 -0
  162. package/dist/fthry_index.BNrDR7Qm.js.map +1 -0
  163. package/dist/{fthry_index.DDTSEIcr.js → fthry_index.BOsL17ez.js} +5 -4
  164. package/dist/fthry_index.BOsL17ez.js.map +1 -0
  165. package/dist/{fthry_index.DMH1cJrX.js → fthry_index.BSX7p08P.js} +3 -2
  166. package/dist/fthry_index.BSX7p08P.js.map +1 -0
  167. package/dist/{fthry_index.BOvYhhGJ.js → fthry_index.Bdnsrbt1.js} +5 -4
  168. package/dist/fthry_index.Bdnsrbt1.js.map +1 -0
  169. package/dist/{fthry_index.C0NfUYmR.js → fthry_index.Bgn6Q4wm.js} +3 -2
  170. package/dist/fthry_index.Bgn6Q4wm.js.map +1 -0
  171. package/dist/{fthry_index.CK3aIPly.js → fthry_index.Bk5CBSM_.js} +6 -5
  172. package/dist/fthry_index.Bk5CBSM_.js.map +1 -0
  173. package/dist/{fthry_index.Dk6aTBdA.js → fthry_index.C05SOTJe.js} +2 -1
  174. package/dist/fthry_index.C05SOTJe.js.map +1 -0
  175. package/dist/{fthry_index.DP8hzsWg.js → fthry_index.C3-yA7kD.js} +2 -1
  176. package/dist/fthry_index.C3-yA7kD.js.map +1 -0
  177. package/dist/{fthry_index.C2LGfmCQ.js → fthry_index.CAdz5On-.js} +3 -2
  178. package/dist/fthry_index.CAdz5On-.js.map +1 -0
  179. package/dist/{fthry_index.D7q1aD6-.js → fthry_index.CFsIzKPo.js} +5 -4
  180. package/dist/fthry_index.CFsIzKPo.js.map +1 -0
  181. package/dist/{fthry_index.C09MbTMD.js → fthry_index.CTkrCrtB.js} +3 -2
  182. package/dist/fthry_index.CTkrCrtB.js.map +1 -0
  183. package/dist/{fthry_index.CfnDnR43.js → fthry_index.CW3BsL-h.js} +2 -1
  184. package/dist/fthry_index.CW3BsL-h.js.map +1 -0
  185. package/dist/{fthry_index.DM3jqh2p.js → fthry_index.CbNMK80J.js} +11 -10
  186. package/dist/fthry_index.CbNMK80J.js.map +1 -0
  187. package/dist/{fthry_index.IYd_eVta.js → fthry_index.CcvGJc4p.js} +6 -5
  188. package/dist/fthry_index.CcvGJc4p.js.map +1 -0
  189. package/dist/{fthry_index.BP1lC3Ex.js → fthry_index.CkWtsfP1.js} +2 -1
  190. package/dist/fthry_index.CkWtsfP1.js.map +1 -0
  191. package/dist/{fthry_index.BbE2kPjj.js → fthry_index.CrlRxlHD.js} +4 -3
  192. package/dist/fthry_index.CrlRxlHD.js.map +1 -0
  193. package/dist/{fthry_index.BN-dojiL.js → fthry_index.DH7bu7Fz.js} +3 -2
  194. package/dist/fthry_index.DH7bu7Fz.js.map +1 -0
  195. package/dist/{fthry_index.Ob5rm80I.js → fthry_index.DSbGI7WZ.js} +6 -5
  196. package/dist/fthry_index.DSbGI7WZ.js.map +1 -0
  197. package/dist/{fthry_index.DvUMGcjt.js → fthry_index.DhvGe23f.js} +3 -2
  198. package/dist/fthry_index.DhvGe23f.js.map +1 -0
  199. package/dist/{fthry_index.BvcpsGy9.js → fthry_index.DsC3kckm.js} +2 -1
  200. package/dist/fthry_index.DsC3kckm.js.map +1 -0
  201. package/dist/{fthry_index.DYf0nmmc.js → fthry_index.DuX_xYa-.js} +2 -1
  202. package/dist/fthry_index.DuX_xYa-.js.map +1 -0
  203. package/dist/{fthry_index.9S43igFs.js → fthry_index.DyEuRo_j.js} +2 -1
  204. package/dist/fthry_index.DyEuRo_j.js.map +1 -0
  205. package/dist/{fthry_index.4qpRAeb_.js → fthry_index.Dy_oabdy.js} +2 -1
  206. package/dist/fthry_index.Dy_oabdy.js.map +1 -0
  207. package/dist/{fthry_index.B8hwXw5R.js → fthry_index.Hoho-oHj.js} +8 -7
  208. package/dist/fthry_index.Hoho-oHj.js.map +1 -0
  209. package/dist/fthry_index.JD44HVFL.js +1 -0
  210. package/dist/fthry_index.JD44HVFL.js.map +1 -0
  211. package/dist/{fthry_index.B5JfgN_s.js → fthry_index.XccbApOJ.js} +2 -1
  212. package/dist/fthry_index.XccbApOJ.js.map +1 -0
  213. package/dist/{fthry_index.CtdDjHjk.js → fthry_index.aEMQTnfj.js} +4 -3
  214. package/dist/fthry_index.aEMQTnfj.js.map +1 -0
  215. package/dist/{fthry_index.C3o7HpC2.js → fthry_index.bq6lV-ln.js} +5 -4
  216. package/dist/fthry_index.bq6lV-ln.js.map +1 -0
  217. package/dist/{fthry_index.CaMfiw6o.js → fthry_index.l5f5UaV3.js} +4 -3
  218. package/dist/fthry_index.l5f5UaV3.js.map +1 -0
  219. package/dist/{fthry_index.C5qllWuc.js → fthry_index.lf7zmkQe.js} +2 -1
  220. package/dist/fthry_index.lf7zmkQe.js.map +1 -0
  221. package/dist/{fthry_index.T0q4NPjx.js → fthry_index.pdOpoICO.js} +5 -4
  222. package/dist/fthry_index.pdOpoICO.js.map +1 -0
  223. package/dist/{fthry_index.umd.DNLZlzl6.js → fthry_index.umd.BTO45CQD.js} +2 -1
  224. package/dist/fthry_index.umd.BTO45CQD.js.map +1 -0
  225. package/dist/{fthry_input.DBmpsGLP.js → fthry_input.DVrUfDtq.js} +2 -1
  226. package/dist/fthry_input.DVrUfDtq.js.map +1 -0
  227. package/dist/fthry_is-plan-event-enabled.mXX0dwl-.js +1 -0
  228. package/dist/fthry_is-plan-event-enabled.mXX0dwl-.js.map +1 -0
  229. package/dist/fthry_logging.B1LWsZ3K.js +1 -0
  230. package/dist/fthry_logging.B1LWsZ3K.js.map +1 -0
  231. package/dist/{fthry_logging.DXY4LvSS.js → fthry_logging.CYsqoXt9.js} +2 -1
  232. package/dist/fthry_logging.CYsqoXt9.js.map +1 -0
  233. package/dist/fthry_mermaid-O7DHMXV3.DilYiq5h.js +9 -0
  234. package/dist/fthry_mermaid-O7DHMXV3.DilYiq5h.js.map +1 -0
  235. package/dist/{fthry_script.C894YzAl.js → fthry_script.CZ2PSZDx.js} +2 -1
  236. package/dist/fthry_script.CZ2PSZDx.js.map +1 -0
  237. package/dist/{fthry_styles.Ds16q-VH.js → fthry_styles.DaCM6uPI.js} +2 -1
  238. package/dist/fthry_styles.DaCM6uPI.js.map +1 -0
  239. package/dist/{fthry_useElementSize.DAdDGR_p.js → fthry_useElementSize.CPUxh_D6.js} +2 -1
  240. package/dist/fthry_useElementSize.CPUxh_D6.js.map +1 -0
  241. package/dist/{fthry_useSalesforceSync.BGUfOU7k.js → fthry_useSalesforceSync.mGSW5qll.js} +2 -1
  242. package/dist/fthry_useSalesforceSync.mGSW5qll.js.map +1 -0
  243. package/dist/{fthry_webfontloader.j-I3KznG.js → fthry_webfontloader.CfoaWELz.js} +2 -1
  244. package/dist/fthry_webfontloader.CfoaWELz.js.map +1 -0
  245. package/dist/index.js +3 -2
  246. package/dist/index.js.map +1 -0
  247. package/dist/thumbnail-renderer.js +2 -1
  248. package/dist/thumbnail-renderer.js.map +1 -0
  249. package/dist/utils/formHelperFunctions.d.ts +1 -0
  250. package/dist/utils/formHelperFunctions.d.ts.map +1 -1
  251. package/package.json +1 -1
  252. package/umd/AssistantChat.f4ed54e9ff905d547069.js +1 -0
  253. package/umd/index.js +1 -1
  254. package/cjs/fthry_mermaid-O7DHMXV3.D2BXxJ0r.js +0 -14
  255. package/dist/fthry_mermaid-O7DHMXV3.C56szY3n.js +0 -8
  256. package/umd/AssistantChat.31154097f6b644e3a50b.js +0 -1
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var index$1 = require('./fthry_index.BF-anQOj.js');
3
+ var index$1 = require('./fthry_index.Wjf5tBws.js');
4
4
  var React = require('react');
5
5
  var clsx = require('./fthry_clsx.BtxeOLZW.js');
6
6
  var ReactJSXRuntime = require('react/jsx-runtime');
7
7
  var ReactDOM = require('react-dom');
8
- var index$2 = require('./fthry_index.Bgz8QD73.js');
8
+ var index$2 = require('./fthry_index.C4D2Sm78.js');
9
9
 
10
10
  // src/errors/ai-sdk-error.ts
11
11
  var marker = "vercel.ai.error";
@@ -9769,6 +9769,85 @@ var WaveformIcon = function (props) { return (index$1.jsxs("svg", index$1.__assi
9769
9769
  var PaperclipIcon = function (props) { return (index$1.jsx("svg", index$1.__assign({ width: '18', height: '18', viewBox: '0 0 24 24', fill: 'none' }, props, { children: index$1.jsx("path", { d: 'm21.44 11.05-9.19 9.19a6 6 0 0 1-8.49-8.49l8.57-8.57A4 4 0 1 1 18 8.84l-8.59 8.57a2 2 0 0 1-2.83-2.83l8.49-8.48', stroke: 'currentColor', strokeWidth: '2', strokeLinecap: 'round', strokeLinejoin: 'round' }) }))); };
9770
9770
  var DocumentIcon = function (props) { return (index$1.jsxs("svg", index$1.__assign({ width: '16', height: '16', viewBox: '0 0 24 24', fill: 'none' }, props, { children: [index$1.jsx("path", { d: 'M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z', stroke: 'currentColor', strokeWidth: '2', strokeLinecap: 'round', strokeLinejoin: 'round' }), index$1.jsx("path", { d: 'M14 2v6h6', stroke: 'currentColor', strokeWidth: '2', strokeLinecap: 'round', strokeLinejoin: 'round' })] }))); };
9771
9771
 
9772
+ // Thread endpoints live on the unified /agent/threads/ family, same origin as
9773
+ // the assistant chat base
9774
+ var threadsBase = function (baseUrl) {
9775
+ return new URL('/agent/threads/', baseUrl).href;
9776
+ };
9777
+ // form_key lets backend form auth validate the session against the current
9778
+ // form, without it the request stays anonymous
9779
+ var withFormKey = function (url, formKey) {
9780
+ if (!formKey)
9781
+ return url;
9782
+ var parsed = new URL(url);
9783
+ parsed.searchParams.set('form_key', formKey);
9784
+ return parsed.href;
9785
+ };
9786
+ var getThreadList = function (baseUrl, headers, formKey) { return index$1.__awaiter(void 0, void 0, void 0, function () {
9787
+ var res;
9788
+ return index$1.__generator(this, function (_a) {
9789
+ switch (_a.label) {
9790
+ case 0: return [4 /*yield*/, fetch(withFormKey(threadsBase(baseUrl), formKey), {
9791
+ headers: headers()
9792
+ })];
9793
+ case 1:
9794
+ res = _a.sent();
9795
+ if (!res.ok)
9796
+ return [2 /*return*/, null];
9797
+ return [2 /*return*/, res.json()];
9798
+ }
9799
+ });
9800
+ }); };
9801
+ var getThreadDetail = function (baseUrl, headers, threadId, formKey) { return index$1.__awaiter(void 0, void 0, void 0, function () {
9802
+ var res;
9803
+ return index$1.__generator(this, function (_a) {
9804
+ switch (_a.label) {
9805
+ case 0: return [4 /*yield*/, fetch(withFormKey("".concat(threadsBase(baseUrl)).concat(threadId, "/"), formKey), {
9806
+ headers: headers()
9807
+ })];
9808
+ case 1:
9809
+ res = _a.sent();
9810
+ if (!res.ok)
9811
+ return [2 /*return*/, null];
9812
+ return [2 /*return*/, res.json()];
9813
+ }
9814
+ });
9815
+ }); };
9816
+ var generateThreadTitle = function (baseUrl, headers, threadId, message, context, formKey) { return index$1.__awaiter(void 0, void 0, void 0, function () {
9817
+ var res, data;
9818
+ var _a;
9819
+ return index$1.__generator(this, function (_b) {
9820
+ switch (_b.label) {
9821
+ case 0: return [4 /*yield*/, fetch(withFormKey("".concat(threadsBase(baseUrl), "title/"), formKey), {
9822
+ method: 'POST',
9823
+ headers: index$1.__assign(index$1.__assign({}, headers()), { 'Content-Type': 'application/json' }),
9824
+ body: JSON.stringify(index$1.__assign({ message: message, thread_id: threadId !== null && threadId !== void 0 ? threadId : undefined }, (context !== null && context !== void 0 ? context : {})))
9825
+ })];
9826
+ case 1:
9827
+ res = _b.sent();
9828
+ if (!res.ok)
9829
+ return [2 /*return*/, null];
9830
+ return [4 /*yield*/, res.json()];
9831
+ case 2:
9832
+ data = _b.sent();
9833
+ return [2 /*return*/, (_a = data.title) !== null && _a !== void 0 ? _a : null];
9834
+ }
9835
+ });
9836
+ }); };
9837
+ var deleteThread = function (baseUrl, headers, threadId, formKey) { return index$1.__awaiter(void 0, void 0, void 0, function () {
9838
+ return index$1.__generator(this, function (_a) {
9839
+ switch (_a.label) {
9840
+ case 0: return [4 /*yield*/, fetch(withFormKey("".concat(threadsBase(baseUrl)).concat(threadId, "/"), formKey), {
9841
+ method: 'DELETE',
9842
+ headers: headers()
9843
+ })];
9844
+ case 1:
9845
+ _a.sent();
9846
+ return [2 /*return*/];
9847
+ }
9848
+ });
9849
+ }); };
9850
+
9772
9851
  var MAX_DIMENSION = 1568;
9773
9852
  var MAX_FILE_SIZE = 25 * 1024 * 1024;
9774
9853
  var MAX_ATTACHMENTS = 5;
@@ -9883,7 +9962,7 @@ function compressImage(file) {
9883
9962
  });
9884
9963
  });
9885
9964
  }
9886
- function uploadAttachment(file, baseUrl, headers, sessionId, signal) {
9965
+ function uploadAttachment(file, baseUrl, headers, sessionId, signal, formKey) {
9887
9966
  return index$1.__awaiter(this, void 0, void 0, function () {
9888
9967
  var form, response, message, body, err;
9889
9968
  return index$1.__generator(this, function (_b) {
@@ -9891,7 +9970,7 @@ function uploadAttachment(file, baseUrl, headers, sessionId, signal) {
9891
9970
  case 0:
9892
9971
  form = new FormData();
9893
9972
  form.append('file', file);
9894
- return [4 /*yield*/, fetch(attachmentBase(baseUrl), {
9973
+ return [4 /*yield*/, fetch(withFormKey(attachmentBase(baseUrl), formKey), {
9895
9974
  method: 'POST',
9896
9975
  headers: index$1.__assign(index$1.__assign({}, headers()), { 'X-Session-ID': sessionId }),
9897
9976
  body: form,
@@ -9944,7 +10023,7 @@ var delay = function (ms, signal) {
9944
10023
  // Poll GET /:id/url/ until the row reaches a terminal state, upload
9945
10024
  // auto-dispatches embedding server-side so polling is the whole client
9946
10025
  // contract
9947
- function pollAttachmentStatus(attachmentId, baseUrl, headers, sessionId, signal) {
10026
+ function pollAttachmentStatus(attachmentId, baseUrl, headers, sessionId, signal, formKey) {
9948
10027
  return index$1.__awaiter(this, void 0, void 0, function () {
9949
10028
  var id, deadline, resp, err_1, body;
9950
10029
  return index$1.__generator(this, function (_a) {
@@ -9958,7 +10037,7 @@ function pollAttachmentStatus(attachmentId, baseUrl, headers, sessionId, signal)
9958
10037
  _a.label = 2;
9959
10038
  case 2:
9960
10039
  _a.trys.push([2, 4, , 5]);
9961
- return [4 /*yield*/, fetch("".concat(attachmentBase(baseUrl)).concat(id, "/url/"), {
10040
+ return [4 /*yield*/, fetch(withFormKey("".concat(attachmentBase(baseUrl)).concat(id, "/url/"), formKey), {
9962
10041
  method: 'GET',
9963
10042
  headers: index$1.__assign(index$1.__assign({}, headers()), { 'X-Session-ID': sessionId }),
9964
10043
  signal: signal
@@ -10342,7 +10421,7 @@ var AttachmentPreviewOverlay = function (_a) {
10342
10421
  // chat switch (another thread's session can't send them)
10343
10422
  function useChatAttachments(_a) {
10344
10423
  var _this = this;
10345
- var activeChat = _a.activeChat, baseUrl = _a.baseUrl, headers = _a.headers;
10424
+ var activeChat = _a.activeChat, baseUrl = _a.baseUrl, headers = _a.headers, formKey = _a.formKey;
10346
10425
  var _b = index$1.__read(React.useState([]), 2), attachments = _b[0], setAttachments = _b[1];
10347
10426
  var _c = index$1.__read(React.useState(null), 2), attachmentError = _c[0], setAttachmentError = _c[1];
10348
10427
  var _d = index$1.__read(React.useState(false), 2), isDragging = _d[0], setIsDragging = _d[1];
@@ -10384,7 +10463,7 @@ function useChatAttachments(_a) {
10384
10463
  _b.label = 1;
10385
10464
  case 1:
10386
10465
  _b.trys.push([1, 4, 5, 6]);
10387
- return [4 /*yield*/, uploadAttachment(file, baseUrl, headers, sessionId, controller.signal)];
10466
+ return [4 /*yield*/, uploadAttachment(file, baseUrl, headers, sessionId, controller.signal, formKey)];
10388
10467
  case 2:
10389
10468
  uploaded = _b.sent();
10390
10469
  if (controller.signal.aborted)
@@ -10398,7 +10477,7 @@ function useChatAttachments(_a) {
10398
10477
  });
10399
10478
  if (isTerminalStatus(uploaded.processingStatus))
10400
10479
  return [2 /*return*/];
10401
- return [4 /*yield*/, pollAttachmentStatus(uploaded.id, baseUrl, headers, sessionId, controller.signal)];
10480
+ return [4 /*yield*/, pollAttachmentStatus(uploaded.id, baseUrl, headers, sessionId, controller.signal, formKey)];
10402
10481
  case 3:
10403
10482
  processed = _b.sent();
10404
10483
  if (controller.signal.aborted)
@@ -10433,7 +10512,7 @@ function useChatAttachments(_a) {
10433
10512
  case 6: return [2 /*return*/];
10434
10513
  }
10435
10514
  });
10436
- }); }, [activeChat, baseUrl, headers]);
10515
+ }); }, [activeChat, baseUrl, headers, formKey]);
10437
10516
  var addFiles = React.useCallback(function (files) { return index$1.__awaiter(_this, void 0, void 0, function () {
10438
10517
  var validFiles, processedFiles, remaining, additions;
10439
10518
  return index$1.__generator(this, function (_a) {
@@ -10700,10 +10779,10 @@ var VoiceMic = /** @class */ (function () {
10700
10779
  switch (_d.label) {
10701
10780
  case 0:
10702
10781
  _d.trys.push([0, 4, , 5]);
10703
- return [4 /*yield*/, Promise.resolve().then(function () { return require('./fthry_index.DPvMA8nx.js'); }).then(function (n) { return n.index; })];
10782
+ return [4 /*yield*/, Promise.resolve().then(function () { return require('./fthry_index.DkWarcVx.js'); }).then(function (n) { return n.index; })];
10704
10783
  case 1:
10705
10784
  _a = _d.sent(), MicVAD_1 = _a.MicVAD, vadUtils_1 = _a.utils;
10706
- return [4 /*yield*/, Promise.resolve().then(function () { return require('./fthry_logging.DnMqEtZk.js'); }).then(function (n) { return n.logging; })];
10785
+ return [4 /*yield*/, Promise.resolve().then(function () { return require('./fthry_logging.Bb2ZzWt6.js'); }).then(function (n) { return n.logging; })];
10707
10786
  case 2:
10708
10787
  vadLog = (_d.sent()).log;
10709
10788
  vadLog.debug = function () { return undefined; };
@@ -52475,14 +52554,14 @@ ${e}</tr>
52475
52554
  Please report this to https://github.com/markedjs/marked.`,e){let r="<p>An error occurred:</p><pre>"+T(n.message+"",true)+"</pre>";return t?Promise.resolve(r):r}if(t)return Promise.reject(n);throw n}}};var L$1=new D;function g(u,e){return L$1.parse(u,e)}g.options=g.setOptions=function(u){return L$1.setOptions(u),g.defaults=L$1.defaults,G(g.defaults),g};g.getDefaults=M;g.defaults=O;g.use=function(...u){return L$1.use(...u),g.defaults=L$1.defaults,G(g.defaults),g};g.walkTokens=function(u,e){return L$1.walkTokens(u,e)};g.parseInline=L$1.parseInline;g.Parser=b;g.parser=b.parse;g.Renderer=y$1;g.TextRenderer=$;g.Lexer=x;g.lexer=x.lex;g.Tokenizer=w;g.Hooks=P;g.parse=g;g.options;g.setOptions;g.use;g.walkTokens;g.parseInline;b.parse;x.lex;
52476
52555
 
52477
52556
  var En=300,Hn="300px",Dn=500;function Lt(e={}){let{immediate:t=false,debounceDelay:o=En,rootMargin:n=Hn,idleTimeout:r=Dn}=e,[s,a]=React.useState(false),l=React.useRef(null),i=React.useRef(null),c=React.useRef(null),d=React.useMemo(()=>p=>{let g=Date.now();return window.setTimeout(()=>{p({didTimeout:false,timeRemaining:()=>Math.max(0,50-(Date.now()-g))});},1)},[]),u=React.useMemo(()=>typeof window!="undefined"&&window.requestIdleCallback?(p,g)=>window.requestIdleCallback(p,g):d,[d]),m=React.useMemo(()=>typeof window!="undefined"&&window.cancelIdleCallback?p=>window.cancelIdleCallback(p):p=>{clearTimeout(p);},[]);return React.useEffect(()=>{if(t){a(true);return}let p=l.current;if(!p)return;i.current&&(clearTimeout(i.current),i.current=null),c.current&&(m(c.current),c.current=null);let g=()=>{i.current&&(clearTimeout(i.current),i.current=null),c.current&&(m(c.current),c.current=null);},h=x=>{c.current=u(w=>{w.timeRemaining()>0||w.didTimeout?(a(true),x.disconnect()):c.current=u(()=>{a(true),x.disconnect();},{timeout:r/2});},{timeout:r});},b=x=>{g(),i.current=window.setTimeout(()=>{var I,H;let w=x.takeRecords();(w.length===0||(H=(I=w.at(-1))==null?void 0:I.isIntersecting)!=null&&H)&&h(x);},o);},f=(x,w)=>{x.isIntersecting?b(w):g();},T=new IntersectionObserver(x=>{for(let w of x)f(w,T);},{rootMargin:n,threshold:0});return T.observe(p),()=>{i.current&&clearTimeout(i.current),c.current&&m(c.current),T.disconnect();}},[t,o,n,r,m,u]),{shouldRender:s,containerRef:l}}var Rt=/\s/,On=/^\s+$/,Vn=new Set(["code","pre","svg","math","annotation"]),jn=e=>typeof e=="object"&&e!==null&&"type"in e&&e.type==="element",Fn=e=>e.some(t=>jn(t)&&Vn.has(t.tagName)),zn=e=>{let t=[],o="",n=false;for(let r of e){let s=Rt.test(r);s!==n&&o&&(t.push(o),o=""),o+=r,n=s;}return o&&t.push(o),t},_n=e=>{let t=[],o="";for(let n of e)Rt.test(n)?o+=n:(o&&(t.push(o),o=""),t.push(n));return o&&t.push(o),t},qn=(e,t,o,n,r)=>({type:"element",tagName:"span",properties:{"data-sd-animate":true,style:r?`--sd-animation:sd-${t};--sd-duration:0ms;--sd-easing:${n}`:`--sd-animation:sd-${t};--sd-duration:${o}ms;--sd-easing:${n}`},children:[{type:"text",value:e}]}),$n=(e,t,o,n,r)=>{let s=t.at(-1);if(!(s&&"children"in s))return;if(Fn(t))return SKIP;let a=s,l=a.children.indexOf(e);if(l===-1)return;let i=e.value;if(!i.trim()){r.count+=i.length;return}let c=o.sep==="char"?_n(i):zn(i),d=n.prevContentLength,u=c.map(m=>{let p=r.count;if(r.count+=m.length,On.test(m))return {type:"text",value:m};let g=d>0&&p<d;return qn(m,o.animation,o.duration,o.easing,g)});return a.children.splice(l,1,...u),l+u.length},Wn=0;function be(e){var s,a,l,i;let t={animation:(s=e==null?void 0:e.animation)!=null?s:"fadeIn",duration:(a=e==null?void 0:e.duration)!=null?a:150,easing:(l=e==null?void 0:e.easing)!=null?l:"ease",sep:(i=e==null?void 0:e.sep)!=null?i:"word"},o={prevContentLength:0,lastRenderCharCount:0},n=Wn++,r=()=>c=>{let d={count:0};visitParents(c,"text",(u,m)=>$n(u,m,t,o,d)),o.lastRenderCharCount=d.count,o.prevContentLength=0;};return Object.defineProperty(r,"name",{value:`rehypeAnimate$${n}`}),{name:"animate",type:"animate",rehypePlugin:r,setPrevContentLength(c){o.prevContentLength=c;},getLastRenderCharCount(){let c=o.lastRenderCharCount;return o.lastRenderCharCount=0,c}}}be();var Qe=React.createContext(false),et=()=>React.useContext(Qe);var he=(...e)=>twMerge(clsx.clsx(e)),Jn=(e,t)=>{if(!e||!t)return t;let o=`${e}:`;return t.split(/\s+/).filter(Boolean).map(n=>n.startsWith(o)?n:`${e}:${n}`).join(" ")},Ht=e=>e?(...t)=>Jn(e,twMerge(clsx.clsx(t))):he,J=(e,t,o)=>{let n=typeof t=="string"?new Blob([t],{type:o}):t,r=URL.createObjectURL(n),s=document.createElement("a");s.href=r,s.download=e,document.body.appendChild(s),s.click(),document.body.removeChild(s),URL.revokeObjectURL(r);};var Se=React.createContext(he),y=()=>React.useContext(Se);var Yn=he("block","before:content-[counter(line)]","before:inline-block","before:[counter-increment:line]","before:w-6","before:mr-4","before:text-[13px]","before:text-right","before:text-muted-foreground/50","before:font-mono","before:select-none"),Qn=e=>{let t={};for(let o of e.split(";")){let n=o.indexOf(":");if(n>0){let r=o.slice(0,n).trim(),s=o.slice(n+1).trim();r&&s&&(t[r]=s);}}return t},Bt=React.memo(({children:e,result:t,language:o,className:n,startLine:r,...s})=>{let a=y(),l=React.useMemo(()=>a(Yn),[a]),i=React.useMemo(()=>{let c={};return t.bg&&(c["--sdm-bg"]=t.bg),t.fg&&(c["--sdm-fg"]=t.fg),t.rootStyle&&Object.assign(c,Qn(t.rootStyle)),c},[t.bg,t.fg,t.rootStyle]);return ReactJSXRuntime.jsx("div",{className:a(n,"overflow-hidden rounded-md border border-border bg-background p-4 text-sm"),"data-language":o,"data-streamdown":"code-block-body",...s,children:ReactJSXRuntime.jsx("pre",{className:a(n,"bg-[var(--sdm-bg,inherit]","dark:bg-[var(--shiki-dark-bg,var(--sdm-bg,inherit)]"),style:i,children:ReactJSXRuntime.jsx("code",{className:a("[counter-increment:line_0] [counter-reset:line]"),style:r&&r>1?{counterReset:`line ${r-1}`}:void 0,children:t.tokens.map((c,d)=>ReactJSXRuntime.jsx("span",{className:l,children:c.length===0||c.length===1&&c[0].content===""?`
52478
- `:c.map((u,m)=>{let p={},g=!!u.bgColor;if(u.color&&(p["--sdm-c"]=u.color),u.bgColor&&(p["--sdm-tbg"]=u.bgColor),u.htmlStyle)for(let[h,b]of Object.entries(u.htmlStyle))h==="color"?p["--sdm-c"]=b:h==="background-color"?(p["--sdm-tbg"]=b,g=true):p[h]=b;return ReactJSXRuntime.jsx("span",{className:a("text-[var(--sdm-c,inherit)]","dark:text-[var(--shiki-dark,var(--sdm-c,inherit))]",g&&"bg-[var(--sdm-tbg)]",g&&"dark:bg-[var(--shiki-dark-bg,var(--sdm-tbg))]"),style:p,...u.htmlAttrs,children:u.content},m)})},d))})})})},(e,t)=>e.result===t.result&&e.language===t.language&&e.className===t.className&&e.startLine===t.startLine);var tt=({className:e,language:t,style:o,isIncomplete:n,...r})=>{let s=y();return ReactJSXRuntime.jsx("div",{className:s("my-4 flex w-full flex-col gap-2 rounded-xl border border-border bg-sidebar p-2",e),"data-incomplete":n||void 0,"data-language":t,"data-streamdown":"code-block",style:{contentVisibility:"auto",containIntrinsicSize:"auto 200px",...o},...r})};var ot=React.createContext({code:""}),Ee=()=>React.useContext(ot);var nt=({language:e})=>{let t=y();return ReactJSXRuntime.jsx("div",{className:t("flex h-8 items-center text-muted-foreground text-xs"),"data-language":e,"data-streamdown":"code-block-header",children:ReactJSXRuntime.jsx("span",{className:t("ml-1 font-mono lowercase"),children:e})})};var sr=/\n+$/,ar=React.lazy(()=>Promise.resolve().then(function () { return require('./fthry_highlighted-body-TPN3WLV5.BzjtpXVW.js'); }).then(e=>({default:e.HighlightedCodeBlockBody}))),rt=({code:e,language:t,className:o,children:n,isIncomplete:r=false,startLine:s,...a})=>{let l=y(),i=React.useMemo(()=>e.replace(sr,""),[e]),c=React.useMemo(()=>({bg:"transparent",fg:"inherit",tokens:i.split(`
52557
+ `:c.map((u,m)=>{let p={},g=!!u.bgColor;if(u.color&&(p["--sdm-c"]=u.color),u.bgColor&&(p["--sdm-tbg"]=u.bgColor),u.htmlStyle)for(let[h,b]of Object.entries(u.htmlStyle))h==="color"?p["--sdm-c"]=b:h==="background-color"?(p["--sdm-tbg"]=b,g=true):p[h]=b;return ReactJSXRuntime.jsx("span",{className:a("text-[var(--sdm-c,inherit)]","dark:text-[var(--shiki-dark,var(--sdm-c,inherit))]",g&&"bg-[var(--sdm-tbg)]",g&&"dark:bg-[var(--shiki-dark-bg,var(--sdm-tbg))]"),style:p,...u.htmlAttrs,children:u.content},m)})},d))})})})},(e,t)=>e.result===t.result&&e.language===t.language&&e.className===t.className&&e.startLine===t.startLine);var tt=({className:e,language:t,style:o,isIncomplete:n,...r})=>{let s=y();return ReactJSXRuntime.jsx("div",{className:s("my-4 flex w-full flex-col gap-2 rounded-xl border border-border bg-sidebar p-2",e),"data-incomplete":n||void 0,"data-language":t,"data-streamdown":"code-block",style:{contentVisibility:"auto",containIntrinsicSize:"auto 200px",...o},...r})};var ot=React.createContext({code:""}),Ee=()=>React.useContext(ot);var nt=({language:e})=>{let t=y();return ReactJSXRuntime.jsx("div",{className:t("flex h-8 items-center text-muted-foreground text-xs"),"data-language":e,"data-streamdown":"code-block-header",children:ReactJSXRuntime.jsx("span",{className:t("ml-1 font-mono lowercase"),children:e})})};var sr=/\n+$/,ar=React.lazy(()=>Promise.resolve().then(function () { return require('./fthry_highlighted-body-TPN3WLV5.CelsmwcU.js'); }).then(e=>({default:e.HighlightedCodeBlockBody}))),rt=({code:e,language:t,className:o,children:n,isIncomplete:r=false,startLine:s,...a})=>{let l=y(),i=React.useMemo(()=>e.replace(sr,""),[e]),c=React.useMemo(()=>({bg:"transparent",fg:"inherit",tokens:i.split(`
52479
52558
  `).map(d=>[{content:d,color:"inherit",bgColor:"transparent",htmlStyle:{},offset:0}])}),[i]);return ReactJSXRuntime.jsx(ot.Provider,{value:{code:e},children:ReactJSXRuntime.jsxs(tt,{isIncomplete:r,language:t,children:[ReactJSXRuntime.jsx(nt,{language:t}),n?ReactJSXRuntime.jsx("div",{className:l("pointer-events-none sticky top-2 z-10 -mt-10 flex h-8 items-center justify-end"),children:ReactJSXRuntime.jsx("div",{className:l("pointer-events-auto flex shrink-0 items-center gap-2 rounded-md border border-sidebar bg-sidebar/80 px-1.5 py-1 supports-[backdrop-filter]:bg-sidebar/70 supports-[backdrop-filter]:backdrop-blur"),"data-streamdown":"code-block-actions",children:n})}):null,ReactJSXRuntime.jsx(React.Suspense,{fallback:ReactJSXRuntime.jsx(Bt,{className:o,language:t,result:c,startLine:s,...a}),children:ReactJSXRuntime.jsx(ar,{className:o,code:i,language:t,raw:c,startLine:s,...a})})]})})};var Vt=e=>ReactJSXRuntime.jsx("svg",{color:"currentColor",height:16,strokeLinejoin:"round",viewBox:"0 0 16 16",width:16,...e,children:ReactJSXRuntime.jsx("path",{clipRule:"evenodd",d:"M15.5607 3.99999L15.0303 4.53032L6.23744 13.3232C5.55403 14.0066 4.44599 14.0066 3.76257 13.3232L4.2929 12.7929L3.76257 13.3232L0.969676 10.5303L0.439346 9.99999L1.50001 8.93933L2.03034 9.46966L4.82323 12.2626C4.92086 12.3602 5.07915 12.3602 5.17678 12.2626L13.9697 3.46966L14.5 2.93933L15.5607 3.99999Z",fill:"currentColor",fillRule:"evenodd"})}),jt=e=>ReactJSXRuntime.jsx("svg",{color:"currentColor",height:16,strokeLinejoin:"round",viewBox:"0 0 16 16",width:16,...e,children:ReactJSXRuntime.jsx("path",{clipRule:"evenodd",d:"M2.75 0.5C1.7835 0.5 1 1.2835 1 2.25V9.75C1 10.7165 1.7835 11.5 2.75 11.5H3.75H4.5V10H3.75H2.75C2.61193 10 2.5 9.88807 2.5 9.75V2.25C2.5 2.11193 2.61193 2 2.75 2H8.25C8.38807 2 8.5 2.11193 8.5 2.25V3H10V2.25C10 1.2835 9.2165 0.5 8.25 0.5H2.75ZM7.75 4.5C6.7835 4.5 6 5.2835 6 6.25V13.75C6 14.7165 6.7835 15.5 7.75 15.5H13.25C14.2165 15.5 15 14.7165 15 13.75V6.25C15 5.2835 14.2165 4.5 13.25 4.5H7.75ZM7.5 6.25C7.5 6.11193 7.61193 6 7.75 6H13.25C13.3881 6 13.5 6.11193 13.5 6.25V13.75C13.5 13.8881 13.3881 14 13.25 14H7.75C7.61193 14 7.5 13.8881 7.5 13.75V6.25Z",fill:"currentColor",fillRule:"evenodd"})}),Ft=e=>ReactJSXRuntime.jsx("svg",{color:"currentColor",height:16,strokeLinejoin:"round",viewBox:"0 0 16 16",width:16,...e,children:ReactJSXRuntime.jsx("path",{clipRule:"evenodd",d:"M8.75 1V1.75V8.68934L10.7197 6.71967L11.25 6.18934L12.3107 7.25L11.7803 7.78033L8.70711 10.8536C8.31658 11.2441 7.68342 11.2441 7.29289 10.8536L4.21967 7.78033L3.68934 7.25L4.75 6.18934L5.28033 6.71967L7.25 8.68934V1.75V1H8.75ZM13.5 9.25V13.5H2.5V9.25V8.5H1V9.25V14C1 14.5523 1.44771 15 2 15H14C14.5523 15 15 14.5523 15 14V9.25V8.5H13.5V9.25Z",fill:"currentColor",fillRule:"evenodd"})}),zt=e=>ReactJSXRuntime.jsxs("svg",{color:"currentColor",height:16,strokeLinejoin:"round",viewBox:"0 0 16 16",width:16,...e,children:[ReactJSXRuntime.jsx("path",{d:"M8 0V4",stroke:"currentColor",strokeWidth:"1.5"}),ReactJSXRuntime.jsx("path",{d:"M8 16V12",opacity:"0.5",stroke:"currentColor",strokeWidth:"1.5"}),ReactJSXRuntime.jsx("path",{d:"M3.29773 1.52783L5.64887 4.7639",opacity:"0.9",stroke:"currentColor",strokeWidth:"1.5"}),ReactJSXRuntime.jsx("path",{d:"M12.7023 1.52783L10.3511 4.7639",opacity:"0.1",stroke:"currentColor",strokeWidth:"1.5"}),ReactJSXRuntime.jsx("path",{d:"M12.7023 14.472L10.3511 11.236",opacity:"0.4",stroke:"currentColor",strokeWidth:"1.5"}),ReactJSXRuntime.jsx("path",{d:"M3.29773 14.472L5.64887 11.236",opacity:"0.6",stroke:"currentColor",strokeWidth:"1.5"}),ReactJSXRuntime.jsx("path",{d:"M15.6085 5.52783L11.8043 6.7639",opacity:"0.2",stroke:"currentColor",strokeWidth:"1.5"}),ReactJSXRuntime.jsx("path",{d:"M0.391602 10.472L4.19583 9.23598",opacity:"0.7",stroke:"currentColor",strokeWidth:"1.5"}),ReactJSXRuntime.jsx("path",{d:"M15.6085 10.4722L11.8043 9.2361",opacity:"0.3",stroke:"currentColor",strokeWidth:"1.5"}),ReactJSXRuntime.jsx("path",{d:"M0.391602 5.52783L4.19583 6.7639",opacity:"0.8",stroke:"currentColor",strokeWidth:"1.5"})]}),_t=e=>ReactJSXRuntime.jsx("svg",{color:"currentColor",height:16,strokeLinejoin:"round",viewBox:"0 0 16 16",width:16,...e,children:ReactJSXRuntime.jsx("path",{clipRule:"evenodd",d:"M1 5.25V6H2.5V5.25V2.5H5.25H6V1H5.25H2C1.44772 1 1 1.44772 1 2V5.25ZM5.25 14.9994H6V13.4994H5.25H2.5V10.7494V9.99939H1V10.7494V13.9994C1 14.5517 1.44772 14.9994 2 14.9994H5.25ZM15 10V10.75V14C15 14.5523 14.5523 15 14 15H10.75H10V13.5H10.75H13.5V10.75V10H15ZM10.75 1H10V2.5H10.75H13.5V5.25V6H15V5.25V2C15 1.44772 14.5523 1 14 1H10.75Z",fill:"currentColor",fillRule:"evenodd"})}),qt=e=>ReactJSXRuntime.jsx("svg",{color:"currentColor",height:16,strokeLinejoin:"round",viewBox:"0 0 16 16",width:16,...e,children:ReactJSXRuntime.jsx("path",{clipRule:"evenodd",d:"M13.5 8C13.5 4.96643 11.0257 2.5 7.96452 2.5C5.42843 2.5 3.29365 4.19393 2.63724 6.5H5.25H6V8H5.25H0.75C0.335787 8 0 7.66421 0 7.25V2.75V2H1.5V2.75V5.23347C2.57851 2.74164 5.06835 1 7.96452 1C11.8461 1 15 4.13001 15 8C15 11.87 11.8461 15 7.96452 15C5.62368 15 3.54872 13.8617 2.27046 12.1122L1.828 11.5066L3.03915 10.6217L3.48161 11.2273C4.48831 12.6051 6.12055 13.5 7.96452 13.5C11.0257 13.5 13.5 11.0336 13.5 8Z",fill:"currentColor",fillRule:"evenodd"})}),$t=e=>ReactJSXRuntime.jsx("svg",{color:"currentColor",height:16,strokeLinejoin:"round",viewBox:"0 0 16 16",width:16,...e,children:ReactJSXRuntime.jsx("path",{clipRule:"evenodd",d:"M12.4697 13.5303L13 14.0607L14.0607 13L13.5303 12.4697L9.06065 7.99999L13.5303 3.53032L14.0607 2.99999L13 1.93933L12.4697 2.46966L7.99999 6.93933L3.53032 2.46966L2.99999 1.93933L1.93933 2.99999L2.46966 3.53032L6.93933 7.99999L2.46966 12.4697L1.93933 13L2.99999 14.0607L3.53032 13.5303L7.99999 9.06065L12.4697 13.5303Z",fill:"currentColor",fillRule:"evenodd"})}),Wt=e=>ReactJSXRuntime.jsx("svg",{color:"currentColor",height:16,strokeLinejoin:"round",viewBox:"0 0 16 16",width:16,...e,children:ReactJSXRuntime.jsx("path",{clipRule:"evenodd",d:"M13.5 10.25V13.25C13.5 13.3881 13.3881 13.5 13.25 13.5H2.75C2.61193 13.5 2.5 13.3881 2.5 13.25L2.5 2.75C2.5 2.61193 2.61193 2.5 2.75 2.5H5.75H6.5V1H5.75H2.75C1.7835 1 1 1.7835 1 2.75V13.25C1 14.2165 1.7835 15 2.75 15H13.25C14.2165 15 15 14.2165 15 13.25V10.25V9.5H13.5V10.25ZM9 1H9.75H14.2495C14.6637 1 14.9995 1.33579 14.9995 1.75V6.25V7H13.4995V6.25V3.56066L8.53033 8.52978L8 9.06011L6.93934 7.99945L7.46967 7.46912L12.4388 2.5H9.75H9V1Z",fill:"currentColor",fillRule:"evenodd"})}),Zt=e=>ReactJSXRuntime.jsx("svg",{color:"currentColor",height:16,strokeLinejoin:"round",viewBox:"0 0 16 16",width:16,...e,children:ReactJSXRuntime.jsx("path",{clipRule:"evenodd",d:"M1.5 6.5C1.5 3.73858 3.73858 1.5 6.5 1.5C9.26142 1.5 11.5 3.73858 11.5 6.5C11.5 9.26142 9.26142 11.5 6.5 11.5C3.73858 11.5 1.5 9.26142 1.5 6.5ZM6.5 0C2.91015 0 0 2.91015 0 6.5C0 10.0899 2.91015 13 6.5 13C8.02469 13 9.42677 12.475 10.5353 11.596L13.9697 15.0303L14.5 15.5607L15.5607 14.5L15.0303 13.9697L11.596 10.5353C12.475 9.42677 13 8.02469 13 6.5C13 2.91015 10.0899 0 6.5 0ZM4.125 5.875H4.75H5.875V4.75V4.125H7.125V4.75V5.875H8.25H8.875V7.125H8.25H7.125V8.25V8.875H5.875V8.25V7.125H4.75H4.125V5.875Z",fill:"currentColor",fillRule:"evenodd"})}),Xt=e=>ReactJSXRuntime.jsx("svg",{color:"currentColor",height:16,strokeLinejoin:"round",viewBox:"0 0 16 16",width:16,...e,children:ReactJSXRuntime.jsx("path",{clipRule:"evenodd",d:"M1.5 6.5C1.5 3.73858 3.73858 1.5 6.5 1.5C9.26142 1.5 11.5 3.73858 11.5 6.5C11.5 9.26142 9.26142 11.5 6.5 11.5C3.73858 11.5 1.5 9.26142 1.5 6.5ZM6.5 0C2.91015 0 0 2.91015 0 6.5C0 10.0899 2.91015 13 6.5 13C8.02469 13 9.42677 12.475 10.5353 11.596L13.9697 15.0303L14.5 15.5607L15.5607 14.5L15.0303 13.9697L11.596 10.5353C12.475 9.42677 13 8.02469 13 6.5C13 2.91015 10.0899 0 6.5 0ZM4.125 5.875H4.75H8.25H8.875V7.125H8.25H4.75H4.125V5.875Z",fill:"currentColor",fillRule:"evenodd"})});var we={CheckIcon:Vt,CopyIcon:jt,DownloadIcon:Ft,ExternalLinkIcon:Wt,Loader2Icon:zt,Maximize2Icon:_t,RotateCcwIcon:qt,XIcon:$t,ZoomInIcon:Zt,ZoomOutIcon:Xt},Kt=React.createContext(we),mr=(e,t)=>{if(e===t)return true;if(!(e&&t))return e===t;let o=Object.keys(e),n=Object.keys(t);return o.length!==n.length?false:o.every(r=>e[r]===t[r])},st=({icons:e,children:t})=>{let o=React.useRef(e),n=React.useRef(e?{...we,...e}:we);mr(o.current,e)||(o.current=e,n.current=e?{...we,...e}:we);let r=n.current;return ReactJSXRuntime.jsx(Kt.Provider,{value:r,children:t})},L=()=>React.useContext(Kt);var He={copyCode:"Copy Code",downloadFile:"Download file",downloadDiagram:"Download diagram",downloadDiagramAsSvg:"Download diagram as SVG",downloadDiagramAsPng:"Download diagram as PNG",downloadDiagramAsMmd:"Download diagram as MMD",viewFullscreen:"View fullscreen",exitFullscreen:"Exit fullscreen",mermaidFormatSvg:"SVG",mermaidFormatPng:"PNG",mermaidFormatMmd:"MMD",copyTable:"Copy table",copyTableAsMarkdown:"Copy table as Markdown",copyTableAsCsv:"Copy table as CSV",copyTableAsTsv:"Copy table as TSV",downloadTable:"Download table",downloadTableAsCsv:"Download table as CSV",downloadTableAsMarkdown:"Download table as Markdown",tableFormatMarkdown:"Markdown",tableFormatCsv:"CSV",tableFormatTsv:"TSV",imageNotAvailable:"Image not available",downloadImage:"Download image",openExternalLink:"Open external link?",externalLinkWarning:"You're about to visit an external website.",close:"Close",copyLink:"Copy link",copied:"Copied",openLink:"Open link"},De=React.createContext(He),B=()=>React.useContext(De);var Be=({onCopy:e,onError:t,timeout:o=2e3,children:n,className:r,code:s,...a})=>{let l=y(),[i,c]=React.useState(false),d=React.useRef(0),{code:u}=Ee(),{isAnimating:m}=React.useContext(R),p=B(),g=s!=null?s:u,h=async()=>{var T;if(typeof window=="undefined"||!((T=navigator==null?void 0:navigator.clipboard)!=null&&T.writeText)){t==null||t(new Error("Clipboard API not available"));return}try{i||(await navigator.clipboard.writeText(g),c(!0),e==null||e(),d.current=window.setTimeout(()=>c(!1),o));}catch(x){t==null||t(x);}};React.useEffect(()=>()=>{window.clearTimeout(d.current);},[]);let b=L(),f=i?b.CheckIcon:b.CopyIcon;return ReactJSXRuntime.jsx("button",{className:l("cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50",r),"data-streamdown":"code-block-copy-button",disabled:m,onClick:h,title:p.copyCode,type:"button",...a,children:n!=null?n:ReactJSXRuntime.jsx(f,{size:14})})};var Gt={"1c":"1c","1c-query":"1cq",abap:"abap","actionscript-3":"as",ada:"ada",adoc:"adoc","angular-html":"html","angular-ts":"ts",apache:"conf",apex:"cls",apl:"apl",applescript:"applescript",ara:"ara",asciidoc:"adoc",asm:"asm",astro:"astro",awk:"awk",ballerina:"bal",bash:"sh",bat:"bat",batch:"bat",be:"be",beancount:"beancount",berry:"berry",bibtex:"bib",bicep:"bicep",blade:"blade.php",bsl:"bsl",c:"c","c#":"cs","c++":"cpp",cadence:"cdc",cairo:"cairo",cdc:"cdc",clarity:"clar",clj:"clj",clojure:"clj","closure-templates":"soy",cmake:"cmake",cmd:"cmd",cobol:"cob",codeowners:"CODEOWNERS",codeql:"ql",coffee:"coffee",coffeescript:"coffee","common-lisp":"lisp",console:"sh",coq:"v",cpp:"cpp",cql:"cql",crystal:"cr",cs:"cs",csharp:"cs",css:"css",csv:"csv",cue:"cue",cypher:"cql",d:"d",dart:"dart",dax:"dax",desktop:"desktop",diff:"diff",docker:"dockerfile",dockerfile:"dockerfile",dotenv:"env","dream-maker":"dm",edge:"edge",elisp:"el",elixir:"ex",elm:"elm","emacs-lisp":"el",erb:"erb",erl:"erl",erlang:"erl",f:"f","f#":"fs",f03:"f03",f08:"f08",f18:"f18",f77:"f77",f90:"f90",f95:"f95",fennel:"fnl",fish:"fish",fluent:"ftl",for:"for","fortran-fixed-form":"f","fortran-free-form":"f90",fs:"fs",fsharp:"fs",fsl:"fsl",ftl:"ftl",gdresource:"tres",gdscript:"gd",gdshader:"gdshader",genie:"gs",gherkin:"feature","git-commit":"gitcommit","git-rebase":"gitrebase",gjs:"js",gleam:"gleam","glimmer-js":"js","glimmer-ts":"ts",glsl:"glsl",gnuplot:"plt",go:"go",gql:"gql",graphql:"graphql",groovy:"groovy",gts:"gts",hack:"hack",haml:"haml",handlebars:"hbs",haskell:"hs",haxe:"hx",hbs:"hbs",hcl:"hcl",hjson:"hjson",hlsl:"hlsl",hs:"hs",html:"html","html-derivative":"html",http:"http",hxml:"hxml",hy:"hy",imba:"imba",ini:"ini",jade:"jade",java:"java",javascript:"js",jinja:"jinja",jison:"jison",jl:"jl",js:"js",json:"json",json5:"json5",jsonc:"jsonc",jsonl:"jsonl",jsonnet:"jsonnet",jssm:"jssm",jsx:"jsx",julia:"jl",kotlin:"kt",kql:"kql",kt:"kt",kts:"kts",kusto:"kql",latex:"tex",lean:"lean",lean4:"lean",less:"less",liquid:"liquid",lisp:"lisp",lit:"lit",llvm:"ll",log:"log",logo:"logo",lua:"lua",luau:"luau",make:"mak",makefile:"mak",markdown:"md",marko:"marko",matlab:"m",md:"md",mdc:"mdc",mdx:"mdx",mediawiki:"wiki",mermaid:"mmd",mips:"s",mipsasm:"s",mmd:"mmd",mojo:"mojo",move:"move",nar:"nar",narrat:"narrat",nextflow:"nf",nf:"nf",nginx:"conf",nim:"nim",nix:"nix",nu:"nu",nushell:"nu",objc:"m","objective-c":"m","objective-cpp":"mm",ocaml:"ml",pascal:"pas",perl:"pl",perl6:"p6",php:"php",plsql:"pls",po:"po",polar:"polar",postcss:"pcss",pot:"pot",potx:"potx",powerquery:"pq",powershell:"ps1",prisma:"prisma",prolog:"pl",properties:"properties",proto:"proto",protobuf:"proto",ps:"ps",ps1:"ps1",pug:"pug",puppet:"pp",purescript:"purs",py:"py",python:"py",ql:"ql",qml:"qml",qmldir:"qmldir",qss:"qss",r:"r",racket:"rkt",raku:"raku",razor:"cshtml",rb:"rb",reg:"reg",regex:"regex",regexp:"regexp",rel:"rel",riscv:"s",rs:"rs",rst:"rst",ruby:"rb",rust:"rs",sas:"sas",sass:"sass",scala:"scala",scheme:"scm",scss:"scss",sdbl:"sdbl",sh:"sh",shader:"shader",shaderlab:"shader",shell:"sh",shellscript:"sh",shellsession:"sh",smalltalk:"st",solidity:"sol",soy:"soy",sparql:"rq",spl:"spl",splunk:"spl",sql:"sql","ssh-config":"config",stata:"do",styl:"styl",stylus:"styl",svelte:"svelte",swift:"swift","system-verilog":"sv",systemd:"service",talon:"talon",talonscript:"talon",tasl:"tasl",tcl:"tcl",templ:"templ",terraform:"tf",tex:"tex",tf:"tf",tfvars:"tfvars",toml:"toml",ts:"ts","ts-tags":"ts",tsp:"tsp",tsv:"tsv",tsx:"tsx",turtle:"ttl",twig:"twig",typ:"typ",typescript:"ts",typespec:"tsp",typst:"typ",v:"v",vala:"vala",vb:"vb",verilog:"v",vhdl:"vhdl",vim:"vim",viml:"vim",vimscript:"vim",vue:"vue","vue-html":"html","vue-vine":"vine",vy:"vy",vyper:"vy",wasm:"wasm",wenyan:"wy",wgsl:"wgsl",wiki:"wiki",wikitext:"wiki",wit:"wit",wl:"wl",wolfram:"wl",xml:"xml",xsl:"xsl",yaml:"yaml",yml:"yml",zenscript:"zs",zig:"zig",zsh:"zsh",\u6587\u8A00:"wy"},at=({onDownload:e,onError:t,language:o,children:n,className:r,code:s,...a})=>{let l=y(),{code:i}=Ee(),{isAnimating:c}=React.useContext(R),d=B(),u=L(),m=s!=null?s:i,g=`file.${o&&o in Gt?Gt[o]:"txt"}`,h="text/plain",b=()=>{try{J(g,m,h),e==null||e();}catch(f){t==null||t(f);}};return ReactJSXRuntime.jsx("button",{className:l("cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50",r),"data-streamdown":"code-block-download-button",disabled:c,onClick:b,title:d.downloadFile,type:"button",...a,children:n!=null?n:ReactJSXRuntime.jsx(u.DownloadIcon,{size:14})})};var Ae=()=>{let{Loader2Icon:e}=L(),t=y();return ReactJSXRuntime.jsxs("div",{className:t("w-full divide-y divide-border overflow-hidden rounded-xl border border-border"),children:[ReactJSXRuntime.jsx("div",{className:t("h-[46px] w-full bg-muted/80")}),ReactJSXRuntime.jsx("div",{className:t("flex w-full items-center justify-center p-4"),children:ReactJSXRuntime.jsx(e,{className:t("size-4 animate-spin")})})]})};var xr=/\.[^/.]+$/,to=({node:e,className:t,src:o,alt:n,onLoad:r,onError:s,...a})=>{let{DownloadIcon:l}=L(),i=y(),c=React.useRef(null),[d,u]=React.useState(false),[m,p]=React.useState(false),g=B(),h=a.width!=null||a.height!=null,b=(d||h)&&!m,f=m&&!h;React.useEffect(()=>{let k=c.current;if(k!=null&&k.complete){let I=k.naturalWidth>0;u(I),p(!I);}},[]);let T=React.useCallback(k=>{u(true),p(false),r==null||r(k);},[r]),x=React.useCallback(k=>{u(false),p(true),s==null||s(k);},[s]),w=async()=>{if(o)try{let I=await(await fetch(o)).blob(),S=new URL(o,window.location.origin).pathname.split("/").pop()||"",F=S.split(".").pop(),z=S.includes(".")&&F!==void 0&&F.length<=4,q="";if(z)q=S;else {let A=I.type,K="png";A.includes("jpeg")||A.includes("jpg")?K="jpg":A.includes("png")?K="png":A.includes("svg")?K="svg":A.includes("gif")?K="gif":A.includes("webp")&&(K="webp"),q=`${(n||S||"image").replace(xr,"")}.${K}`;}J(q,I,I.type);}catch(k){window.open(o,"_blank");}};return o?ReactJSXRuntime.jsxs("div",{className:i("group relative my-4 inline-block"),"data-streamdown":"image-wrapper",children:[ReactJSXRuntime.jsx("img",{alt:n,className:i("max-w-full rounded-lg",f&&"hidden",t),"data-streamdown":"image",onError:x,onLoad:T,ref:c,src:o,...a}),f&&ReactJSXRuntime.jsx("span",{className:i("text-muted-foreground text-xs italic"),"data-streamdown":"image-fallback",children:g.imageNotAvailable}),ReactJSXRuntime.jsx("div",{className:i("pointer-events-none absolute inset-0 hidden rounded-lg bg-black/10 group-hover:block")}),b&&ReactJSXRuntime.jsx("button",{className:i("absolute right-2 bottom-2 flex h-8 w-8 cursor-pointer items-center justify-center rounded-md border border-border bg-background/90 shadow-sm backdrop-blur-sm transition-all duration-200 hover:bg-background","opacity-0 group-hover:opacity-100"),onClick:w,title:g.downloadImage,type:"button",children:ReactJSXRuntime.jsx(l,{size:14})})]}):null};var ke=0,le=()=>{ke+=1,ke===1&&(document.body.style.overflow="hidden");},ce=()=>{ke=Math.max(0,ke-1),ke===0&&(document.body.style.overflow="");};var ro=({url:e,isOpen:t,onClose:o,onConfirm:n})=>{let{CheckIcon:r,CopyIcon:s,ExternalLinkIcon:a,XIcon:l}=L(),i=y(),[c,d]=React.useState(false),u=B(),m=React.useCallback(async()=>{try{await navigator.clipboard.writeText(e),d(!0),setTimeout(()=>d(!1),2e3);}catch(g){}},[e]),p=React.useCallback(()=>{n(),o();},[n,o]);return React.useEffect(()=>{if(t){le();let g=h=>{h.key==="Escape"&&o();};return document.addEventListener("keydown",g),()=>{document.removeEventListener("keydown",g),ce();}}},[t,o]),t?ReactJSXRuntime.jsx("div",{className:i("fixed inset-0 z-50 flex items-center justify-center bg-background/50 backdrop-blur-sm"),"data-streamdown":"link-safety-modal",onClick:o,onKeyDown:g=>{g.key==="Escape"&&o();},role:"button",tabIndex:0,children:ReactJSXRuntime.jsxs("div",{className:i("relative mx-4 flex w-full max-w-md flex-col gap-4 rounded-xl border bg-background p-6 shadow-lg"),onClick:g=>g.stopPropagation(),onKeyDown:g=>g.stopPropagation(),role:"presentation",children:[ReactJSXRuntime.jsx("button",{className:i("absolute top-4 right-4 rounded-md p-1 text-muted-foreground transition-all hover:bg-muted hover:text-foreground"),onClick:o,title:u.close,type:"button",children:ReactJSXRuntime.jsx(l,{size:16})}),ReactJSXRuntime.jsxs("div",{className:i("flex flex-col gap-2"),children:[ReactJSXRuntime.jsxs("div",{className:i("flex items-center gap-2 font-semibold text-lg"),children:[ReactJSXRuntime.jsx(a,{size:20}),ReactJSXRuntime.jsx("span",{children:u.openExternalLink})]}),ReactJSXRuntime.jsx("p",{className:i("text-muted-foreground text-sm"),children:u.externalLinkWarning})]}),ReactJSXRuntime.jsx("div",{className:i("break-all rounded-md bg-muted p-3 font-mono text-sm",e.length>100&&"max-h-32 overflow-y-auto"),children:e}),ReactJSXRuntime.jsxs("div",{className:i("flex gap-2"),children:[ReactJSXRuntime.jsx("button",{className:i("flex flex-1 items-center justify-center gap-2 rounded-md border bg-background px-4 py-2 font-medium text-sm transition-all hover:bg-muted"),onClick:m,type:"button",children:c?ReactJSXRuntime.jsxs(ReactJSXRuntime.Fragment,{children:[ReactJSXRuntime.jsx(r,{size:14}),ReactJSXRuntime.jsx("span",{children:u.copied})]}):ReactJSXRuntime.jsxs(ReactJSXRuntime.Fragment,{children:[ReactJSXRuntime.jsx(s,{size:14}),ReactJSXRuntime.jsx("span",{children:u.copyLink})]})}),ReactJSXRuntime.jsxs("button",{className:i("flex flex-1 items-center justify-center gap-2 rounded-md bg-primary px-4 py-2 font-medium text-primary-foreground text-sm transition-all hover:bg-primary/90"),onClick:p,type:"button",children:[ReactJSXRuntime.jsx(a,{size:14}),ReactJSXRuntime.jsx("span",{children:u.openLink})]})]})]})}):null};var Oe=React.createContext(null),lt=()=>React.useContext(Oe),Mi=()=>{var t;let e=lt();return (t=e==null?void 0:e.code)!=null?t:null},de=()=>{var t;let e=lt();return (t=e==null?void 0:e.mermaid)!=null?t:null};var so=e=>{var o;let t=lt();return t!=null&&t.renderers&&e&&(o=t.renderers.find(n=>Array.isArray(n.language)?n.language.includes(e):n.language===e))!=null?o:null};var ao=(e,t)=>{var n;let o=(n=void 0)!=null?n:5;return new Promise((r,s)=>{let a="data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent(e))),l=new Image;l.crossOrigin="anonymous",l.onload=()=>{let i=document.createElement("canvas"),c=l.width*o,d=l.height*o;i.width=c,i.height=d;let u=i.getContext("2d");if(!u){s(new Error("Failed to create 2D canvas context for PNG export"));return}u.drawImage(l,0,0,c,d),i.toBlob(m=>{if(!m){s(new Error("Failed to create PNG blob"));return}r(m);},"image/png");},l.onerror=()=>s(new Error("Failed to load SVG image")),l.src=a;})};var lo=({chart:e,children:t,className:o,onDownload:n,config:r,onError:s})=>{let a=y(),[l,i]=React.useState(false),c=React.useRef(null),{isAnimating:d}=React.useContext(R),u=L(),m=de(),p=B(),g=async h=>{try{if(h==="mmd"){J("diagram.mmd",e,"text/plain"),i(!1),n==null||n(h);return}if(!m){s==null||s(new Error("Mermaid plugin not available"));return}let b=m.getMermaid(r),f=e.split("").reduce((w,k)=>(w<<5)-w+k.charCodeAt(0)|0,0),T=`mermaid-${Math.abs(f)}-${Date.now()}-${Math.random().toString(36).substring(2,9)}`,{svg:x}=await b.render(T,e);if(!x){s==null||s(new Error("SVG not found. Please wait for the diagram to render."));return}if(h==="svg"){J("diagram.svg",x,"image/svg+xml"),i(!1),n==null||n(h);return}if(h==="png"){let w=await ao(x);J("diagram.png",w,"image/png"),n==null||n(h),i(!1);return}}catch(b){s==null||s(b);}};return React.useEffect(()=>{let h=b=>{let f=b.composedPath();c.current&&!f.includes(c.current)&&i(false);};return document.addEventListener("mousedown",h),()=>{document.removeEventListener("mousedown",h);}},[]),ReactJSXRuntime.jsxs("div",{className:a("relative"),ref:c,children:[ReactJSXRuntime.jsx("button",{className:a("cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50",o),disabled:d,onClick:()=>i(!l),title:p.downloadDiagram,type:"button",children:t!=null?t:ReactJSXRuntime.jsx(u.DownloadIcon,{size:14})}),l?ReactJSXRuntime.jsxs("div",{className:a("absolute top-full right-0 z-10 mt-1 min-w-[120px] overflow-hidden rounded-md border border-border bg-background shadow-lg"),children:[ReactJSXRuntime.jsx("button",{className:a("w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40"),onClick:()=>g("svg"),title:p.downloadDiagramAsSvg,type:"button",children:p.mermaidFormatSvg}),ReactJSXRuntime.jsx("button",{className:a("w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40"),onClick:()=>g("png"),title:p.downloadDiagramAsPng,type:"button",children:p.mermaidFormatPng}),ReactJSXRuntime.jsx("button",{className:a("w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40"),onClick:()=>g("mmd"),title:p.downloadDiagramAsMmd,type:"button",children:p.mermaidFormatMmd})]}):null]})};var po=({chart:e,config:t,onFullscreen:o,onExit:n,className:r,...s})=>{let{Maximize2Icon:a,XIcon:l}=L(),i=y(),[c,d]=React.useState(false),{isAnimating:u,controls:m}=React.useContext(R),p=B(),g=(()=>{if(typeof m=="boolean")return m;let b=m.mermaid;return b===false?false:b===true||b===void 0?true:b.panZoom!==false})(),h=()=>{d(!c);};return React.useEffect(()=>{if(c){le();let b=f=>{f.key==="Escape"&&d(false);};return document.addEventListener("keydown",b),()=>{document.removeEventListener("keydown",b),ce();}}},[c]),React.useEffect(()=>{c?o==null||o():n&&n();},[c,o,n]),ReactJSXRuntime.jsxs(ReactJSXRuntime.Fragment,{children:[ReactJSXRuntime.jsx("button",{className:i("cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50",r),disabled:u,onClick:h,title:p.viewFullscreen,type:"button",...s,children:ReactJSXRuntime.jsx(a,{size:14})}),c?ReactDOM.createPortal(ReactJSXRuntime.jsxs("div",{className:i("fixed inset-0 z-50 flex items-center justify-center bg-background/95 backdrop-blur-sm"),onClick:h,onKeyDown:b=>{b.key==="Escape"&&h();},role:"button",tabIndex:0,children:[ReactJSXRuntime.jsx("button",{className:i("absolute top-4 right-4 z-10 rounded-md p-2 text-muted-foreground transition-all hover:bg-muted hover:text-foreground"),onClick:h,title:p.exitFullscreen,type:"button",children:ReactJSXRuntime.jsx(l,{size:20})}),ReactJSXRuntime.jsx("div",{className:i("flex size-full items-center justify-center p-4"),onClick:b=>b.stopPropagation(),onKeyDown:b=>b.stopPropagation(),role:"presentation",children:ReactJSXRuntime.jsx(uo,{chart:e,className:i("size-full [&_svg]:h-auto [&_svg]:w-auto"),config:t,fullscreen:true,showControls:g})})]}),document.body):null]})};var ue=e=>{var s,a;let t=[],o=[],n=e.querySelectorAll("thead th");for(let l of n)t.push(((s=l.textContent)==null?void 0:s.trim())||"");let r=e.querySelectorAll("tbody tr");for(let l of r){let i=[],c=l.querySelectorAll("td");for(let d of c)i.push(((a=d.textContent)==null?void 0:a.trim())||"");o.push(i);}return {headers:t,rows:o}},oe=e=>{let{headers:t,rows:o}=e,n=l=>{let i=false,c=false;for(let d of l){if(d==='"'){i=true,c=true;break}(d===","||d===`
52480
52559
  `)&&(i=true);}return i?c?`"${l.replace(/"/g,'""')}"`:`"${l}"`:l},r=t.length>0?o.length+1:o.length,s=new Array(r),a=0;t.length>0&&(s[a]=t.map(n).join(","),a+=1);for(let l of o)s[a]=l.map(n).join(","),a+=1;return s.join(`
52481
52560
  `)},ct=e=>{let{headers:t,rows:o}=e,n=l=>{let i=false;for(let d of l)if(d===" "||d===`
52482
52561
  `||d==="\r"){i=true;break}if(!i)return l;let c=[];for(let d of l)d===" "?c.push("\\t"):d===`
52483
52562
  `?c.push("\\n"):d==="\r"?c.push("\\r"):c.push(d);return c.join("")},r=t.length>0?o.length+1:o.length,s=new Array(r),a=0;t.length>0&&(s[a]=t.map(n).join(" "),a+=1);for(let l of o)s[a]=l.map(n).join(" "),a+=1;return s.join(`
52484
52563
  `)},Ve=e=>{let t=false;for(let n of e)if(n==="\\"||n==="|"){t=true;break}if(!t)return e;let o=[];for(let n of e)n==="\\"?o.push("\\\\"):n==="|"?o.push("\\|"):o.push(n);return o.join("")},ne=e=>{let{headers:t,rows:o}=e;if(t.length===0)return "";let n=new Array(o.length+2),r=0,s=t.map(l=>Ve(l));n[r]=`| ${s.join(" | ")} |`,r+=1;let a=new Array(t.length);for(let l=0;l<t.length;l+=1)a[l]="---";n[r]=`| ${a.join(" | ")} |`,r+=1;for(let l of o)if(l.length<t.length){let i=new Array(t.length);for(let c=0;c<t.length;c+=1)i[c]=c<l.length?Ve(l[c]):"";n[r]=`| ${i.join(" | ")} |`,r+=1;}else {let i=l.map(c=>Ve(c));n[r]=`| ${i.join(" | ")} |`,r+=1;}return n.join(`
52485
- `)};var Te=({children:e,className:t,onCopy:o,onError:n,timeout:r=2e3})=>{let s=y(),[a,l]=React.useState(false),[i,c]=React.useState(false),d=React.useRef(null),u=React.useRef(0),{isAnimating:m}=React.useContext(R),p=B(),g=async f=>{var T,x;if(typeof window=="undefined"||!((T=navigator==null?void 0:navigator.clipboard)!=null&&T.write)){n==null||n(new Error("Clipboard API not available"));return}try{let w=(x=d.current)==null?void 0:x.closest('[data-streamdown="table-wrapper"]'),k=w==null?void 0:w.querySelector("table");if(!k){n==null||n(new Error("Table not found"));return}let I=ue(k),F=({csv:oe,tsv:ct,md:ne}[f]||ne)(I),z=new ClipboardItem({"text/plain":new Blob([F],{type:"text/plain"}),"text/html":new Blob([k.outerHTML],{type:"text/html"})});await navigator.clipboard.write([z]),c(!0),l(!1),o==null||o(f),u.current=window.setTimeout(()=>c(!1),r);}catch(w){n==null||n(w);}};React.useEffect(()=>{let f=T=>{let x=T.composedPath();d.current&&!x.includes(d.current)&&l(false);};return document.addEventListener("mousedown",f),()=>{document.removeEventListener("mousedown",f),window.clearTimeout(u.current);}},[]);let h=L(),b=i?h.CheckIcon:h.CopyIcon;return ReactJSXRuntime.jsxs("div",{className:s("relative"),ref:d,children:[ReactJSXRuntime.jsx("button",{className:s("cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50",t),disabled:m,onClick:()=>l(!a),title:p.copyTable,type:"button",children:e!=null?e:ReactJSXRuntime.jsx(b,{height:14,width:14})}),a?ReactJSXRuntime.jsxs("div",{className:s("absolute top-full right-0 z-10 mt-1 min-w-[120px] overflow-hidden rounded-md border border-border bg-background shadow-lg"),children:[ReactJSXRuntime.jsx("button",{className:s("w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40"),onClick:()=>g("md"),title:p.copyTableAsMarkdown,type:"button",children:p.tableFormatMarkdown}),ReactJSXRuntime.jsx("button",{className:s("w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40"),onClick:()=>g("csv"),title:p.copyTableAsCsv,type:"button",children:p.tableFormatCsv}),ReactJSXRuntime.jsx("button",{className:s("w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40"),onClick:()=>g("tsv"),title:p.copyTableAsTsv,type:"button",children:p.tableFormatTsv})]}):null]})};var Pe=({children:e,className:t,onDownload:o,onError:n})=>{let r=y(),[s,a]=React.useState(false),l=React.useRef(null),{isAnimating:i}=React.useContext(R),c=B(),d=L(),u=m=>{var p;try{let g=(p=l.current)==null?void 0:p.closest('[data-streamdown="table-wrapper"]'),h=g==null?void 0:g.querySelector("table");if(!h){n==null||n(new Error("Table not found"));return}let b=ue(h),f=m==="csv"?oe(b):ne(b);J(`table.${m==="csv"?"csv":"md"}`,f,m==="csv"?"text/csv":"text/markdown"),a(!1),o==null||o(m);}catch(g){n==null||n(g);}};return React.useEffect(()=>{let m=p=>{let g=p.composedPath();l.current&&!g.includes(l.current)&&a(false);};return document.addEventListener("mousedown",m),()=>{document.removeEventListener("mousedown",m);}},[]),ReactJSXRuntime.jsxs("div",{className:r("relative"),ref:l,children:[ReactJSXRuntime.jsx("button",{className:r("cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50",t),disabled:i,onClick:()=>a(!s),title:c.downloadTable,type:"button",children:e!=null?e:ReactJSXRuntime.jsx(d.DownloadIcon,{size:14})}),s?ReactJSXRuntime.jsxs("div",{className:r("absolute top-full right-0 z-10 mt-1 min-w-[120px] overflow-hidden rounded-md border border-border bg-background shadow-lg"),children:[ReactJSXRuntime.jsx("button",{className:r("w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40"),onClick:()=>u("csv"),title:c.downloadTableAsCsv,type:"button",children:c.tableFormatCsv}),ReactJSXRuntime.jsx("button",{className:r("w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40"),onClick:()=>u("markdown"),title:c.downloadTableAsMarkdown,type:"button",children:c.tableFormatMarkdown})]}):null]})};var wo=({children:e,className:t,showCopy:o=true,showDownload:n=true})=>{let{Maximize2Icon:r,XIcon:s}=L(),a=y(),[l,i]=React.useState(false),{isAnimating:c}=React.useContext(R),d=B(),u=()=>{i(true);},m=()=>{i(false);};return React.useEffect(()=>{if(l){le();let p=g=>{g.key==="Escape"&&i(false);};return document.addEventListener("keydown",p),()=>{document.removeEventListener("keydown",p),ce();}}},[l]),ReactJSXRuntime.jsxs(ReactJSXRuntime.Fragment,{children:[ReactJSXRuntime.jsx("button",{className:a("cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50",t),disabled:c,onClick:u,title:d.viewFullscreen,type:"button",children:ReactJSXRuntime.jsx(r,{size:14})}),l?ReactDOM.createPortal(ReactJSXRuntime.jsx("div",{"aria-label":d.viewFullscreen,"aria-modal":"true",className:a("fixed inset-0 z-50 flex flex-col bg-background"),"data-streamdown":"table-fullscreen",onClick:m,onKeyDown:p=>{p.key==="Escape"&&m();},role:"dialog",children:ReactJSXRuntime.jsxs("div",{className:a("flex h-full flex-col"),onClick:p=>p.stopPropagation(),onKeyDown:p=>p.stopPropagation(),role:"presentation",children:[ReactJSXRuntime.jsxs("div",{className:a("flex items-center justify-end gap-1 p-4"),children:[o?ReactJSXRuntime.jsx(Te,{}):null,n?ReactJSXRuntime.jsx(Pe,{}):null,ReactJSXRuntime.jsx("button",{className:a("rounded-md p-1 text-muted-foreground transition-all hover:bg-muted hover:text-foreground"),onClick:m,title:d.exitFullscreen,type:"button",children:ReactJSXRuntime.jsx(s,{size:20})})]}),ReactJSXRuntime.jsx("div",{className:a("flex-1 overflow-auto p-4 pt-0 [&_thead]:sticky [&_thead]:top-0 [&_thead]:z-10"),children:ReactJSXRuntime.jsx("table",{className:a("w-full border-collapse border border-border"),"data-streamdown":"table",children:e})})]})}),document.body):null]})};var ko=({children:e,className:t,showControls:o,showCopy:n=true,showDownload:r=true,showFullscreen:s=true,...a})=>{let l=y(),i=o&&n,c=o&&r,d=o&&s,u=i||c||d;return ReactJSXRuntime.jsxs("div",{className:l("my-4 flex flex-col gap-2 rounded-lg border border-border bg-sidebar p-2"),"data-streamdown":"table-wrapper",children:[u?ReactJSXRuntime.jsxs("div",{className:l("flex items-center justify-end gap-1"),children:[i?ReactJSXRuntime.jsx(Te,{}):null,c?ReactJSXRuntime.jsx(Pe,{}):null,d?ReactJSXRuntime.jsx(wo,{showCopy:i,showDownload:c,children:e}):null]}):null,ReactJSXRuntime.jsx("div",{className:l("border-collapse overflow-x-auto overflow-y-auto rounded-md border border-border bg-background"),children:ReactJSXRuntime.jsx("table",{className:l("w-full divide-y divide-border",t),"data-streamdown":"table",...a,children:e})})]})};var Gr=/startLine=(\d+)/,Yr=React.lazy(()=>Promise.resolve().then(function () { return require('./fthry_mermaid-O7DHMXV3.D2BXxJ0r.js'); }).then(e=>({default:e.Mermaid}))),Qr=/language-([^\s]+)/;function _e(e,t){if(!(e!=null&&e.position||t!=null&&t.position))return true;if(!(e!=null&&e.position&&(t!=null&&t.position)))return false;let o=e.position.start,n=t.position.start,r=e.position.end,s=t.position.end;return (o==null?void 0:o.line)===(n==null?void 0:n.line)&&(o==null?void 0:o.column)===(n==null?void 0:n.column)&&(r==null?void 0:r.line)===(s==null?void 0:s.line)&&(r==null?void 0:r.column)===(s==null?void 0:s.column)}function E(e,t){return e.className===t.className&&_e(e.node,t.node)}var pt=(e,t)=>typeof e=="boolean"?e:e[t]!==false,ut=(e,t)=>{if(typeof e=="boolean")return e;let o=e.table;return o===false?false:o===true||o===void 0?true:o[t]!==false},xo=(e,t)=>{if(typeof e=="boolean")return e;let o=e.code;return o===false?false:o===true||o===void 0?true:o[t]!==false},je=(e,t)=>{if(typeof e=="boolean")return e;let o=e.mermaid;return o===false?false:o===true||o===void 0?true:o[t]!==false},gt=React.memo(({children:e,className:t,node:o,...n})=>{let r=y();return ReactJSXRuntime.jsx("ol",{className:r("list-inside list-decimal whitespace-normal [li_&]:pl-6",t),"data-streamdown":"ordered-list",...n,children:e})},(e,t)=>E(e,t));gt.displayName="MarkdownOl";var To=React.memo(({children:e,className:t,node:o,...n})=>{let r=y();return ReactJSXRuntime.jsx("li",{className:r("py-1 [&>p]:inline",t),"data-streamdown":"list-item",...n,children:e})},(e,t)=>e.className===t.className&&_e(e.node,t.node));To.displayName="MarkdownLi";var Po=React.memo(({children:e,className:t,node:o,...n})=>{let r=y();return ReactJSXRuntime.jsx("ul",{className:r("list-inside list-disc whitespace-normal [li_&]:pl-6",t),"data-streamdown":"unordered-list",...n,children:e})},(e,t)=>E(e,t));Po.displayName="MarkdownUl";var Mo=React.memo(({className:e,node:t,...o})=>{let n=y();return ReactJSXRuntime.jsx("hr",{className:n("my-6 border-border",e),"data-streamdown":"horizontal-rule",...o})},(e,t)=>E(e,t));Mo.displayName="MarkdownHr";var Io=React.memo(({children:e,className:t,node:o,...n})=>{let r=y();return ReactJSXRuntime.jsx("span",{className:r("font-semibold",t),"data-streamdown":"strong",...n,children:e})},(e,t)=>E(e,t));Io.displayName="MarkdownStrong";var es=({children:e,className:t,href:o,node:n,...r})=>{let s=y(),{linkSafety:a}=React.useContext(R),[l,i]=React.useState(false),c=o==="streamdown:incomplete-link",d=React.useCallback(async g=>{if(!(!(a!=null&&a.enabled&&o)||c)){if(g.preventDefault(),a.onLinkCheck&&await a.onLinkCheck(o)){window.open(o,"_blank","noreferrer");return}i(true);}},[a,o,c]),u=React.useCallback(()=>{o&&window.open(o,"_blank","noreferrer");},[o]),m=React.useCallback(()=>{i(false);},[]),p={url:o!=null?o:"",isOpen:l,onClose:m,onConfirm:u};return a!=null&&a.enabled&&o?ReactJSXRuntime.jsxs(ReactJSXRuntime.Fragment,{children:[ReactJSXRuntime.jsx("button",{className:s("wrap-anywhere appearance-none text-left font-medium text-primary underline",t),"data-incomplete":c,"data-streamdown":"link",onClick:d,type:"button",children:e}),a.renderModal?a.renderModal(p):ReactJSXRuntime.jsx(ro,{...p})]}):ReactJSXRuntime.jsx("a",{className:s("wrap-anywhere font-medium text-primary underline",t),"data-incomplete":c,"data-streamdown":"link",href:o,rel:"noreferrer",target:"_blank",...r,children:e})},No=React.memo(es,(e,t)=>E(e,t)&&e.href===t.href);No.displayName="MarkdownA";var Lo=React.memo(({children:e,className:t,node:o,...n})=>{let r=y();return ReactJSXRuntime.jsx("h1",{className:r("mt-6 mb-2 font-semibold text-3xl",t),"data-streamdown":"heading-1",...n,children:e})},(e,t)=>E(e,t));Lo.displayName="MarkdownH1";var Ro=React.memo(({children:e,className:t,node:o,...n})=>{let r=y();return ReactJSXRuntime.jsx("h2",{className:r("mt-6 mb-2 font-semibold text-2xl",t),"data-streamdown":"heading-2",...n,children:e})},(e,t)=>E(e,t));Ro.displayName="MarkdownH2";var So=React.memo(({children:e,className:t,node:o,...n})=>{let r=y();return ReactJSXRuntime.jsx("h3",{className:r("mt-6 mb-2 font-semibold text-xl",t),"data-streamdown":"heading-3",...n,children:e})},(e,t)=>E(e,t));So.displayName="MarkdownH3";var Eo=React.memo(({children:e,className:t,node:o,...n})=>{let r=y();return ReactJSXRuntime.jsx("h4",{className:r("mt-6 mb-2 font-semibold text-lg",t),"data-streamdown":"heading-4",...n,children:e})},(e,t)=>E(e,t));Eo.displayName="MarkdownH4";var Ho=React.memo(({children:e,className:t,node:o,...n})=>{let r=y();return ReactJSXRuntime.jsx("h5",{className:r("mt-6 mb-2 font-semibold text-base",t),"data-streamdown":"heading-5",...n,children:e})},(e,t)=>E(e,t));Ho.displayName="MarkdownH5";var Do=React.memo(({children:e,className:t,node:o,...n})=>{let r=y();return ReactJSXRuntime.jsx("h6",{className:r("mt-6 mb-2 font-semibold text-sm",t),"data-streamdown":"heading-6",...n,children:e})},(e,t)=>E(e,t));Do.displayName="MarkdownH6";var Bo=React.memo(({children:e,className:t,node:o,...n})=>{let{controls:r}=React.useContext(R),s=pt(r,"table"),a=ut(r,"copy"),l=ut(r,"download"),i=ut(r,"fullscreen");return ReactJSXRuntime.jsx(ko,{className:t,showControls:s,showCopy:a,showDownload:l,showFullscreen:i,...n,children:e})},(e,t)=>E(e,t));Bo.displayName="MarkdownTable";var Ao=React.memo(({children:e,className:t,node:o,...n})=>{let r=y();return ReactJSXRuntime.jsx("thead",{className:r("bg-muted/80",t),"data-streamdown":"table-header",...n,children:e})},(e,t)=>E(e,t));Ao.displayName="MarkdownThead";var Oo=React.memo(({children:e,className:t,node:o,...n})=>{let r=y();return ReactJSXRuntime.jsx("tbody",{className:r("divide-y divide-border",t),"data-streamdown":"table-body",...n,children:e})},(e,t)=>E(e,t));Oo.displayName="MarkdownTbody";var Vo=React.memo(({children:e,className:t,node:o,...n})=>{let r=y();return ReactJSXRuntime.jsx("tr",{className:r("border-border",t),"data-streamdown":"table-row",...n,children:e})},(e,t)=>E(e,t));Vo.displayName="MarkdownTr";var jo=React.memo(({children:e,className:t,node:o,...n})=>{let r=y();return ReactJSXRuntime.jsx("th",{className:r("whitespace-nowrap px-4 py-2 text-left font-semibold text-sm",t),"data-streamdown":"table-header-cell",...n,children:e})},(e,t)=>E(e,t));jo.displayName="MarkdownTh";var Fo=React.memo(({children:e,className:t,node:o,...n})=>{let r=y();return ReactJSXRuntime.jsx("td",{className:r("px-4 py-2 text-sm",t),"data-streamdown":"table-cell",...n,children:e})},(e,t)=>E(e,t));Fo.displayName="MarkdownTd";var zo=React.memo(({children:e,className:t,node:o,...n})=>{let r=y();return ReactJSXRuntime.jsx("blockquote",{className:r("my-4 border-muted-foreground/30 border-l-4 pl-4 text-muted-foreground italic",t),"data-streamdown":"blockquote",...n,children:e})},(e,t)=>E(e,t));zo.displayName="MarkdownBlockquote";var _o=React.memo(({children:e,className:t,node:o,...n})=>{let r=y();return ReactJSXRuntime.jsx("sup",{className:r("text-sm",t),"data-streamdown":"superscript",...n,children:e})},(e,t)=>E(e,t));_o.displayName="MarkdownSup";var qo=React.memo(({children:e,className:t,node:o,...n})=>{let r=y();return ReactJSXRuntime.jsx("sub",{className:r("text-sm",t),"data-streamdown":"subscript",...n,children:e})},(e,t)=>E(e,t));qo.displayName="MarkdownSub";var $o=React.memo(({children:e,className:t,node:o,...n})=>{if("data-footnotes"in n){let s=i=>{var m,p;if(!React.isValidElement(i))return false;let c=Array.isArray(i.props.children)?i.props.children:[i.props.children],d=false,u=false;for(let g of c)if(g){if(typeof g=="string")g.trim()!==""&&(d=true);else if(React.isValidElement(g))if(((m=g.props)==null?void 0:m["data-footnote-backref"])!==void 0)u=true;else {let h=Array.isArray(g.props.children)?g.props.children:[g.props.children];for(let b of h){if(typeof b=="string"&&b.trim()!==""){d=true;break}if(React.isValidElement(b)&&((p=b.props)==null?void 0:p["data-footnote-backref"])===void 0){d=true;break}}}}return u&&!d},a=Array.isArray(e)?e.map(i=>{if(!React.isValidElement(i))return i;if(i.type===gt){let d=(Array.isArray(i.props.children)?i.props.children:[i.props.children]).filter(u=>!s(u));return d.length===0?null:{...i,props:{...i.props,children:d}}}return i}):e;return (Array.isArray(a)?a.some(i=>i!==null):a!==null)?ReactJSXRuntime.jsx("section",{className:t,...n,children:a}):null}return ReactJSXRuntime.jsx("section",{className:t,...n,children:e})},(e,t)=>E(e,t));$o.displayName="MarkdownSection";var ts=({node:e,className:t,children:o,...n})=>{var k,I;let r=y(),s=!("data-block"in n),{mermaid:a,controls:l}=React.useContext(R),i=de(),c=et(),d=t==null?void 0:t.match(Qr),u=(k=d==null?void 0:d.at(1))!=null?k:"",m=so(u);if(s)return ReactJSXRuntime.jsx("code",{className:r("rounded bg-muted px-1.5 py-0.5 font-mono text-sm",t),"data-streamdown":"inline-code",...n,children:o});let p=(I=e==null?void 0:e.properties)==null?void 0:I.metastring,g=p==null?void 0:p.match(Gr),h=g?Number.parseInt(g[1],10):void 0,b=h!==void 0&&h>=1?h:void 0,f="";if(React.isValidElement(o)&&o.props&&typeof o.props=="object"&&"children"in o.props&&typeof o.props.children=="string"?f=o.props.children:typeof o=="string"&&(f=o),m){let H=m.component;return ReactJSXRuntime.jsx(React.Suspense,{fallback:ReactJSXRuntime.jsx(Ae,{}),children:ReactJSXRuntime.jsx(H,{code:f,isIncomplete:c,language:u})})}if(u==="mermaid"&&i){let H=pt(l,"mermaid"),S=je(l,"download"),F=je(l,"copy"),z=je(l,"fullscreen"),q=je(l,"panZoom"),A=H&&(S||F||z);return ReactJSXRuntime.jsx(React.Suspense,{fallback:ReactJSXRuntime.jsx(Ae,{}),children:ReactJSXRuntime.jsxs("div",{className:r("group relative my-4 flex w-full flex-col gap-2 rounded-xl border border-border bg-sidebar p-2",t),"data-streamdown":"mermaid-block",children:[ReactJSXRuntime.jsx("div",{className:r("flex h-8 items-center text-muted-foreground text-xs"),children:ReactJSXRuntime.jsx("span",{className:r("ml-1 font-mono lowercase"),children:"mermaid"})}),A?ReactJSXRuntime.jsx("div",{className:r("pointer-events-none sticky top-2 z-10 -mt-10 flex h-8 items-center justify-end"),children:ReactJSXRuntime.jsxs("div",{className:r("pointer-events-auto flex shrink-0 items-center gap-2 rounded-md border border-sidebar bg-sidebar/80 px-1.5 py-1 supports-[backdrop-filter]:bg-sidebar/70 supports-[backdrop-filter]:backdrop-blur"),"data-streamdown":"mermaid-block-actions",children:[S?ReactJSXRuntime.jsx(lo,{chart:f,config:a==null?void 0:a.config}):null,F?ReactJSXRuntime.jsx(Be,{code:f}):null,z?ReactJSXRuntime.jsx(po,{chart:f,config:a==null?void 0:a.config}):null]})}):null,ReactJSXRuntime.jsx("div",{className:r("rounded-md border border-border bg-background"),children:ReactJSXRuntime.jsx(Yr,{chart:f,config:a==null?void 0:a.config,showControls:q})})]})})}let T=pt(l,"code"),x=xo(l,"download"),w=xo(l,"copy");return ReactJSXRuntime.jsx(rt,{className:t,code:f,isIncomplete:c,language:u,startLine:b,children:T?ReactJSXRuntime.jsxs(ReactJSXRuntime.Fragment,{children:[x?ReactJSXRuntime.jsx(at,{code:f,language:u}):null,w?ReactJSXRuntime.jsx(Be,{}):null]}):null})},Wo=React.memo(ts,(e,t)=>e.className===t.className&&_e(e.node,t.node));Wo.displayName="MarkdownCode";var Zo=React.memo(to,(e,t)=>e.className===t.className&&_e(e.node,t.node));Zo.displayName="MarkdownImg";var Xo=React.memo(({children:e,node:t,...o})=>{let r=(Array.isArray(e)?e:[e]).filter(s=>s!=null&&s!=="");if(r.length===1&&React.isValidElement(r[0])){let s=r[0].props.node,a=s==null?void 0:s.tagName;if(a==="img")return ReactJSXRuntime.jsx(ReactJSXRuntime.Fragment,{children:e});if(a==="code"&&"data-block"in r[0].props)return ReactJSXRuntime.jsx(ReactJSXRuntime.Fragment,{children:e})}return ReactJSXRuntime.jsx("p",{...o,children:e})},(e,t)=>E(e,t));Xo.displayName="MarkdownParagraph";var Jo={ol:gt,li:To,ul:Po,hr:Mo,strong:Io,a:No,h1:Lo,h2:Ro,h3:So,h4:Eo,h5:Ho,h6:Do,table:Bo,thead:Ao,tbody:Oo,tr:Vo,th:jo,td:Fo,blockquote:zo,code:Wo,img:Zo,pre:({children:e})=>React.isValidElement(e)?React.cloneElement(e,{"data-block":"true"}):e,sup:_o,sub:qo,p:Xo,section:$o};var os=/[\u0590-\u08FF\uFB1D-\uFDFF\uFE70-\uFEFF]/,ns=/\p{L}/u;function qe(e){let t=e.replace(/^#{1,6}\s+/gm,"").replace(/(\*{1,3}|_{1,3})/g,"").replace(/`[^`]*`/g,"").replace(/\[([^\]]*)\]\([^)]*\)/g,"$1").replace(/^[\s>*\-+\d.]+/gm,"");for(let o of t){if(os.test(o))return "rtl";if(ns.test(o))return "ltr"}return "ltr"}var rs=/^[ \t]{0,3}(`{3,}|~{3,})/,ss=/^\|?[ \t]*:?-{1,}:?[ \t]*(\|[ \t]*:?-{1,}:?[ \t]*)*\|?$/,bt=e=>{let t=e.split(`
52564
+ `)};var Te=({children:e,className:t,onCopy:o,onError:n,timeout:r=2e3})=>{let s=y(),[a,l]=React.useState(false),[i,c]=React.useState(false),d=React.useRef(null),u=React.useRef(0),{isAnimating:m}=React.useContext(R),p=B(),g=async f=>{var T,x;if(typeof window=="undefined"||!((T=navigator==null?void 0:navigator.clipboard)!=null&&T.write)){n==null||n(new Error("Clipboard API not available"));return}try{let w=(x=d.current)==null?void 0:x.closest('[data-streamdown="table-wrapper"]'),k=w==null?void 0:w.querySelector("table");if(!k){n==null||n(new Error("Table not found"));return}let I=ue(k),F=({csv:oe,tsv:ct,md:ne}[f]||ne)(I),z=new ClipboardItem({"text/plain":new Blob([F],{type:"text/plain"}),"text/html":new Blob([k.outerHTML],{type:"text/html"})});await navigator.clipboard.write([z]),c(!0),l(!1),o==null||o(f),u.current=window.setTimeout(()=>c(!1),r);}catch(w){n==null||n(w);}};React.useEffect(()=>{let f=T=>{let x=T.composedPath();d.current&&!x.includes(d.current)&&l(false);};return document.addEventListener("mousedown",f),()=>{document.removeEventListener("mousedown",f),window.clearTimeout(u.current);}},[]);let h=L(),b=i?h.CheckIcon:h.CopyIcon;return ReactJSXRuntime.jsxs("div",{className:s("relative"),ref:d,children:[ReactJSXRuntime.jsx("button",{className:s("cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50",t),disabled:m,onClick:()=>l(!a),title:p.copyTable,type:"button",children:e!=null?e:ReactJSXRuntime.jsx(b,{height:14,width:14})}),a?ReactJSXRuntime.jsxs("div",{className:s("absolute top-full right-0 z-10 mt-1 min-w-[120px] overflow-hidden rounded-md border border-border bg-background shadow-lg"),children:[ReactJSXRuntime.jsx("button",{className:s("w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40"),onClick:()=>g("md"),title:p.copyTableAsMarkdown,type:"button",children:p.tableFormatMarkdown}),ReactJSXRuntime.jsx("button",{className:s("w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40"),onClick:()=>g("csv"),title:p.copyTableAsCsv,type:"button",children:p.tableFormatCsv}),ReactJSXRuntime.jsx("button",{className:s("w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40"),onClick:()=>g("tsv"),title:p.copyTableAsTsv,type:"button",children:p.tableFormatTsv})]}):null]})};var Pe=({children:e,className:t,onDownload:o,onError:n})=>{let r=y(),[s,a]=React.useState(false),l=React.useRef(null),{isAnimating:i}=React.useContext(R),c=B(),d=L(),u=m=>{var p;try{let g=(p=l.current)==null?void 0:p.closest('[data-streamdown="table-wrapper"]'),h=g==null?void 0:g.querySelector("table");if(!h){n==null||n(new Error("Table not found"));return}let b=ue(h),f=m==="csv"?oe(b):ne(b);J(`table.${m==="csv"?"csv":"md"}`,f,m==="csv"?"text/csv":"text/markdown"),a(!1),o==null||o(m);}catch(g){n==null||n(g);}};return React.useEffect(()=>{let m=p=>{let g=p.composedPath();l.current&&!g.includes(l.current)&&a(false);};return document.addEventListener("mousedown",m),()=>{document.removeEventListener("mousedown",m);}},[]),ReactJSXRuntime.jsxs("div",{className:r("relative"),ref:l,children:[ReactJSXRuntime.jsx("button",{className:r("cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50",t),disabled:i,onClick:()=>a(!s),title:c.downloadTable,type:"button",children:e!=null?e:ReactJSXRuntime.jsx(d.DownloadIcon,{size:14})}),s?ReactJSXRuntime.jsxs("div",{className:r("absolute top-full right-0 z-10 mt-1 min-w-[120px] overflow-hidden rounded-md border border-border bg-background shadow-lg"),children:[ReactJSXRuntime.jsx("button",{className:r("w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40"),onClick:()=>u("csv"),title:c.downloadTableAsCsv,type:"button",children:c.tableFormatCsv}),ReactJSXRuntime.jsx("button",{className:r("w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40"),onClick:()=>u("markdown"),title:c.downloadTableAsMarkdown,type:"button",children:c.tableFormatMarkdown})]}):null]})};var wo=({children:e,className:t,showCopy:o=true,showDownload:n=true})=>{let{Maximize2Icon:r,XIcon:s}=L(),a=y(),[l,i]=React.useState(false),{isAnimating:c}=React.useContext(R),d=B(),u=()=>{i(true);},m=()=>{i(false);};return React.useEffect(()=>{if(l){le();let p=g=>{g.key==="Escape"&&i(false);};return document.addEventListener("keydown",p),()=>{document.removeEventListener("keydown",p),ce();}}},[l]),ReactJSXRuntime.jsxs(ReactJSXRuntime.Fragment,{children:[ReactJSXRuntime.jsx("button",{className:a("cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50",t),disabled:c,onClick:u,title:d.viewFullscreen,type:"button",children:ReactJSXRuntime.jsx(r,{size:14})}),l?ReactDOM.createPortal(ReactJSXRuntime.jsx("div",{"aria-label":d.viewFullscreen,"aria-modal":"true",className:a("fixed inset-0 z-50 flex flex-col bg-background"),"data-streamdown":"table-fullscreen",onClick:m,onKeyDown:p=>{p.key==="Escape"&&m();},role:"dialog",children:ReactJSXRuntime.jsxs("div",{className:a("flex h-full flex-col"),onClick:p=>p.stopPropagation(),onKeyDown:p=>p.stopPropagation(),role:"presentation",children:[ReactJSXRuntime.jsxs("div",{className:a("flex items-center justify-end gap-1 p-4"),children:[o?ReactJSXRuntime.jsx(Te,{}):null,n?ReactJSXRuntime.jsx(Pe,{}):null,ReactJSXRuntime.jsx("button",{className:a("rounded-md p-1 text-muted-foreground transition-all hover:bg-muted hover:text-foreground"),onClick:m,title:d.exitFullscreen,type:"button",children:ReactJSXRuntime.jsx(s,{size:20})})]}),ReactJSXRuntime.jsx("div",{className:a("flex-1 overflow-auto p-4 pt-0 [&_thead]:sticky [&_thead]:top-0 [&_thead]:z-10"),children:ReactJSXRuntime.jsx("table",{className:a("w-full border-collapse border border-border"),"data-streamdown":"table",children:e})})]})}),document.body):null]})};var ko=({children:e,className:t,showControls:o,showCopy:n=true,showDownload:r=true,showFullscreen:s=true,...a})=>{let l=y(),i=o&&n,c=o&&r,d=o&&s,u=i||c||d;return ReactJSXRuntime.jsxs("div",{className:l("my-4 flex flex-col gap-2 rounded-lg border border-border bg-sidebar p-2"),"data-streamdown":"table-wrapper",children:[u?ReactJSXRuntime.jsxs("div",{className:l("flex items-center justify-end gap-1"),children:[i?ReactJSXRuntime.jsx(Te,{}):null,c?ReactJSXRuntime.jsx(Pe,{}):null,d?ReactJSXRuntime.jsx(wo,{showCopy:i,showDownload:c,children:e}):null]}):null,ReactJSXRuntime.jsx("div",{className:l("border-collapse overflow-x-auto overflow-y-auto rounded-md border border-border bg-background"),children:ReactJSXRuntime.jsx("table",{className:l("w-full divide-y divide-border",t),"data-streamdown":"table",...a,children:e})})]})};var Gr=/startLine=(\d+)/,Yr=React.lazy(()=>Promise.resolve().then(function () { return require('./fthry_mermaid-O7DHMXV3.CNHg9tm2.js'); }).then(e=>({default:e.Mermaid}))),Qr=/language-([^\s]+)/;function _e(e,t){if(!(e!=null&&e.position||t!=null&&t.position))return true;if(!(e!=null&&e.position&&(t!=null&&t.position)))return false;let o=e.position.start,n=t.position.start,r=e.position.end,s=t.position.end;return (o==null?void 0:o.line)===(n==null?void 0:n.line)&&(o==null?void 0:o.column)===(n==null?void 0:n.column)&&(r==null?void 0:r.line)===(s==null?void 0:s.line)&&(r==null?void 0:r.column)===(s==null?void 0:s.column)}function E(e,t){return e.className===t.className&&_e(e.node,t.node)}var pt=(e,t)=>typeof e=="boolean"?e:e[t]!==false,ut=(e,t)=>{if(typeof e=="boolean")return e;let o=e.table;return o===false?false:o===true||o===void 0?true:o[t]!==false},xo=(e,t)=>{if(typeof e=="boolean")return e;let o=e.code;return o===false?false:o===true||o===void 0?true:o[t]!==false},je=(e,t)=>{if(typeof e=="boolean")return e;let o=e.mermaid;return o===false?false:o===true||o===void 0?true:o[t]!==false},gt=React.memo(({children:e,className:t,node:o,...n})=>{let r=y();return ReactJSXRuntime.jsx("ol",{className:r("list-inside list-decimal whitespace-normal [li_&]:pl-6",t),"data-streamdown":"ordered-list",...n,children:e})},(e,t)=>E(e,t));gt.displayName="MarkdownOl";var To=React.memo(({children:e,className:t,node:o,...n})=>{let r=y();return ReactJSXRuntime.jsx("li",{className:r("py-1 [&>p]:inline",t),"data-streamdown":"list-item",...n,children:e})},(e,t)=>e.className===t.className&&_e(e.node,t.node));To.displayName="MarkdownLi";var Po=React.memo(({children:e,className:t,node:o,...n})=>{let r=y();return ReactJSXRuntime.jsx("ul",{className:r("list-inside list-disc whitespace-normal [li_&]:pl-6",t),"data-streamdown":"unordered-list",...n,children:e})},(e,t)=>E(e,t));Po.displayName="MarkdownUl";var Mo=React.memo(({className:e,node:t,...o})=>{let n=y();return ReactJSXRuntime.jsx("hr",{className:n("my-6 border-border",e),"data-streamdown":"horizontal-rule",...o})},(e,t)=>E(e,t));Mo.displayName="MarkdownHr";var Io=React.memo(({children:e,className:t,node:o,...n})=>{let r=y();return ReactJSXRuntime.jsx("span",{className:r("font-semibold",t),"data-streamdown":"strong",...n,children:e})},(e,t)=>E(e,t));Io.displayName="MarkdownStrong";var es=({children:e,className:t,href:o,node:n,...r})=>{let s=y(),{linkSafety:a}=React.useContext(R),[l,i]=React.useState(false),c=o==="streamdown:incomplete-link",d=React.useCallback(async g=>{if(!(!(a!=null&&a.enabled&&o)||c)){if(g.preventDefault(),a.onLinkCheck&&await a.onLinkCheck(o)){window.open(o,"_blank","noreferrer");return}i(true);}},[a,o,c]),u=React.useCallback(()=>{o&&window.open(o,"_blank","noreferrer");},[o]),m=React.useCallback(()=>{i(false);},[]),p={url:o!=null?o:"",isOpen:l,onClose:m,onConfirm:u};return a!=null&&a.enabled&&o?ReactJSXRuntime.jsxs(ReactJSXRuntime.Fragment,{children:[ReactJSXRuntime.jsx("button",{className:s("wrap-anywhere appearance-none text-left font-medium text-primary underline",t),"data-incomplete":c,"data-streamdown":"link",onClick:d,type:"button",children:e}),a.renderModal?a.renderModal(p):ReactJSXRuntime.jsx(ro,{...p})]}):ReactJSXRuntime.jsx("a",{className:s("wrap-anywhere font-medium text-primary underline",t),"data-incomplete":c,"data-streamdown":"link",href:o,rel:"noreferrer",target:"_blank",...r,children:e})},No=React.memo(es,(e,t)=>E(e,t)&&e.href===t.href);No.displayName="MarkdownA";var Lo=React.memo(({children:e,className:t,node:o,...n})=>{let r=y();return ReactJSXRuntime.jsx("h1",{className:r("mt-6 mb-2 font-semibold text-3xl",t),"data-streamdown":"heading-1",...n,children:e})},(e,t)=>E(e,t));Lo.displayName="MarkdownH1";var Ro=React.memo(({children:e,className:t,node:o,...n})=>{let r=y();return ReactJSXRuntime.jsx("h2",{className:r("mt-6 mb-2 font-semibold text-2xl",t),"data-streamdown":"heading-2",...n,children:e})},(e,t)=>E(e,t));Ro.displayName="MarkdownH2";var So=React.memo(({children:e,className:t,node:o,...n})=>{let r=y();return ReactJSXRuntime.jsx("h3",{className:r("mt-6 mb-2 font-semibold text-xl",t),"data-streamdown":"heading-3",...n,children:e})},(e,t)=>E(e,t));So.displayName="MarkdownH3";var Eo=React.memo(({children:e,className:t,node:o,...n})=>{let r=y();return ReactJSXRuntime.jsx("h4",{className:r("mt-6 mb-2 font-semibold text-lg",t),"data-streamdown":"heading-4",...n,children:e})},(e,t)=>E(e,t));Eo.displayName="MarkdownH4";var Ho=React.memo(({children:e,className:t,node:o,...n})=>{let r=y();return ReactJSXRuntime.jsx("h5",{className:r("mt-6 mb-2 font-semibold text-base",t),"data-streamdown":"heading-5",...n,children:e})},(e,t)=>E(e,t));Ho.displayName="MarkdownH5";var Do=React.memo(({children:e,className:t,node:o,...n})=>{let r=y();return ReactJSXRuntime.jsx("h6",{className:r("mt-6 mb-2 font-semibold text-sm",t),"data-streamdown":"heading-6",...n,children:e})},(e,t)=>E(e,t));Do.displayName="MarkdownH6";var Bo=React.memo(({children:e,className:t,node:o,...n})=>{let{controls:r}=React.useContext(R),s=pt(r,"table"),a=ut(r,"copy"),l=ut(r,"download"),i=ut(r,"fullscreen");return ReactJSXRuntime.jsx(ko,{className:t,showControls:s,showCopy:a,showDownload:l,showFullscreen:i,...n,children:e})},(e,t)=>E(e,t));Bo.displayName="MarkdownTable";var Ao=React.memo(({children:e,className:t,node:o,...n})=>{let r=y();return ReactJSXRuntime.jsx("thead",{className:r("bg-muted/80",t),"data-streamdown":"table-header",...n,children:e})},(e,t)=>E(e,t));Ao.displayName="MarkdownThead";var Oo=React.memo(({children:e,className:t,node:o,...n})=>{let r=y();return ReactJSXRuntime.jsx("tbody",{className:r("divide-y divide-border",t),"data-streamdown":"table-body",...n,children:e})},(e,t)=>E(e,t));Oo.displayName="MarkdownTbody";var Vo=React.memo(({children:e,className:t,node:o,...n})=>{let r=y();return ReactJSXRuntime.jsx("tr",{className:r("border-border",t),"data-streamdown":"table-row",...n,children:e})},(e,t)=>E(e,t));Vo.displayName="MarkdownTr";var jo=React.memo(({children:e,className:t,node:o,...n})=>{let r=y();return ReactJSXRuntime.jsx("th",{className:r("whitespace-nowrap px-4 py-2 text-left font-semibold text-sm",t),"data-streamdown":"table-header-cell",...n,children:e})},(e,t)=>E(e,t));jo.displayName="MarkdownTh";var Fo=React.memo(({children:e,className:t,node:o,...n})=>{let r=y();return ReactJSXRuntime.jsx("td",{className:r("px-4 py-2 text-sm",t),"data-streamdown":"table-cell",...n,children:e})},(e,t)=>E(e,t));Fo.displayName="MarkdownTd";var zo=React.memo(({children:e,className:t,node:o,...n})=>{let r=y();return ReactJSXRuntime.jsx("blockquote",{className:r("my-4 border-muted-foreground/30 border-l-4 pl-4 text-muted-foreground italic",t),"data-streamdown":"blockquote",...n,children:e})},(e,t)=>E(e,t));zo.displayName="MarkdownBlockquote";var _o=React.memo(({children:e,className:t,node:o,...n})=>{let r=y();return ReactJSXRuntime.jsx("sup",{className:r("text-sm",t),"data-streamdown":"superscript",...n,children:e})},(e,t)=>E(e,t));_o.displayName="MarkdownSup";var qo=React.memo(({children:e,className:t,node:o,...n})=>{let r=y();return ReactJSXRuntime.jsx("sub",{className:r("text-sm",t),"data-streamdown":"subscript",...n,children:e})},(e,t)=>E(e,t));qo.displayName="MarkdownSub";var $o=React.memo(({children:e,className:t,node:o,...n})=>{if("data-footnotes"in n){let s=i=>{var m,p;if(!React.isValidElement(i))return false;let c=Array.isArray(i.props.children)?i.props.children:[i.props.children],d=false,u=false;for(let g of c)if(g){if(typeof g=="string")g.trim()!==""&&(d=true);else if(React.isValidElement(g))if(((m=g.props)==null?void 0:m["data-footnote-backref"])!==void 0)u=true;else {let h=Array.isArray(g.props.children)?g.props.children:[g.props.children];for(let b of h){if(typeof b=="string"&&b.trim()!==""){d=true;break}if(React.isValidElement(b)&&((p=b.props)==null?void 0:p["data-footnote-backref"])===void 0){d=true;break}}}}return u&&!d},a=Array.isArray(e)?e.map(i=>{if(!React.isValidElement(i))return i;if(i.type===gt){let d=(Array.isArray(i.props.children)?i.props.children:[i.props.children]).filter(u=>!s(u));return d.length===0?null:{...i,props:{...i.props,children:d}}}return i}):e;return (Array.isArray(a)?a.some(i=>i!==null):a!==null)?ReactJSXRuntime.jsx("section",{className:t,...n,children:a}):null}return ReactJSXRuntime.jsx("section",{className:t,...n,children:e})},(e,t)=>E(e,t));$o.displayName="MarkdownSection";var ts=({node:e,className:t,children:o,...n})=>{var k,I;let r=y(),s=!("data-block"in n),{mermaid:a,controls:l}=React.useContext(R),i=de(),c=et(),d=t==null?void 0:t.match(Qr),u=(k=d==null?void 0:d.at(1))!=null?k:"",m=so(u);if(s)return ReactJSXRuntime.jsx("code",{className:r("rounded bg-muted px-1.5 py-0.5 font-mono text-sm",t),"data-streamdown":"inline-code",...n,children:o});let p=(I=e==null?void 0:e.properties)==null?void 0:I.metastring,g=p==null?void 0:p.match(Gr),h=g?Number.parseInt(g[1],10):void 0,b=h!==void 0&&h>=1?h:void 0,f="";if(React.isValidElement(o)&&o.props&&typeof o.props=="object"&&"children"in o.props&&typeof o.props.children=="string"?f=o.props.children:typeof o=="string"&&(f=o),m){let H=m.component;return ReactJSXRuntime.jsx(React.Suspense,{fallback:ReactJSXRuntime.jsx(Ae,{}),children:ReactJSXRuntime.jsx(H,{code:f,isIncomplete:c,language:u})})}if(u==="mermaid"&&i){let H=pt(l,"mermaid"),S=je(l,"download"),F=je(l,"copy"),z=je(l,"fullscreen"),q=je(l,"panZoom"),A=H&&(S||F||z);return ReactJSXRuntime.jsx(React.Suspense,{fallback:ReactJSXRuntime.jsx(Ae,{}),children:ReactJSXRuntime.jsxs("div",{className:r("group relative my-4 flex w-full flex-col gap-2 rounded-xl border border-border bg-sidebar p-2",t),"data-streamdown":"mermaid-block",children:[ReactJSXRuntime.jsx("div",{className:r("flex h-8 items-center text-muted-foreground text-xs"),children:ReactJSXRuntime.jsx("span",{className:r("ml-1 font-mono lowercase"),children:"mermaid"})}),A?ReactJSXRuntime.jsx("div",{className:r("pointer-events-none sticky top-2 z-10 -mt-10 flex h-8 items-center justify-end"),children:ReactJSXRuntime.jsxs("div",{className:r("pointer-events-auto flex shrink-0 items-center gap-2 rounded-md border border-sidebar bg-sidebar/80 px-1.5 py-1 supports-[backdrop-filter]:bg-sidebar/70 supports-[backdrop-filter]:backdrop-blur"),"data-streamdown":"mermaid-block-actions",children:[S?ReactJSXRuntime.jsx(lo,{chart:f,config:a==null?void 0:a.config}):null,F?ReactJSXRuntime.jsx(Be,{code:f}):null,z?ReactJSXRuntime.jsx(po,{chart:f,config:a==null?void 0:a.config}):null]})}):null,ReactJSXRuntime.jsx("div",{className:r("rounded-md border border-border bg-background"),children:ReactJSXRuntime.jsx(Yr,{chart:f,config:a==null?void 0:a.config,showControls:q})})]})})}let T=pt(l,"code"),x=xo(l,"download"),w=xo(l,"copy");return ReactJSXRuntime.jsx(rt,{className:t,code:f,isIncomplete:c,language:u,startLine:b,children:T?ReactJSXRuntime.jsxs(ReactJSXRuntime.Fragment,{children:[x?ReactJSXRuntime.jsx(at,{code:f,language:u}):null,w?ReactJSXRuntime.jsx(Be,{}):null]}):null})},Wo=React.memo(ts,(e,t)=>e.className===t.className&&_e(e.node,t.node));Wo.displayName="MarkdownCode";var Zo=React.memo(to,(e,t)=>e.className===t.className&&_e(e.node,t.node));Zo.displayName="MarkdownImg";var Xo=React.memo(({children:e,node:t,...o})=>{let r=(Array.isArray(e)?e:[e]).filter(s=>s!=null&&s!=="");if(r.length===1&&React.isValidElement(r[0])){let s=r[0].props.node,a=s==null?void 0:s.tagName;if(a==="img")return ReactJSXRuntime.jsx(ReactJSXRuntime.Fragment,{children:e});if(a==="code"&&"data-block"in r[0].props)return ReactJSXRuntime.jsx(ReactJSXRuntime.Fragment,{children:e})}return ReactJSXRuntime.jsx("p",{...o,children:e})},(e,t)=>E(e,t));Xo.displayName="MarkdownParagraph";var Jo={ol:gt,li:To,ul:Po,hr:Mo,strong:Io,a:No,h1:Lo,h2:Ro,h3:So,h4:Eo,h5:Ho,h6:Do,table:Bo,thead:Ao,tbody:Oo,tr:Vo,th:jo,td:Fo,blockquote:zo,code:Wo,img:Zo,pre:({children:e})=>React.isValidElement(e)?React.cloneElement(e,{"data-block":"true"}):e,sup:_o,sub:qo,p:Xo,section:$o};var os=/[\u0590-\u08FF\uFB1D-\uFDFF\uFE70-\uFEFF]/,ns=/\p{L}/u;function qe(e){let t=e.replace(/^#{1,6}\s+/gm,"").replace(/(\*{1,3}|_{1,3})/g,"").replace(/`[^`]*`/g,"").replace(/\[([^\]]*)\]\([^)]*\)/g,"$1").replace(/^[\s>*\-+\d.]+/gm,"");for(let o of t){if(os.test(o))return "rtl";if(ns.test(o))return "ltr"}return "ltr"}var rs=/^[ \t]{0,3}(`{3,}|~{3,})/,ss=/^\|?[ \t]*:?-{1,}:?[ \t]*(\|[ \t]*:?-{1,}:?[ \t]*)*\|?$/,bt=e=>{let t=e.split(`
52486
52565
  `),o=null,n=0;for(let r of t){let s=rs.exec(r);if(o===null){if(s){let a=s[1];o=a[0],n=a.length;}}else if(s){let a=s[1],l=a[0],i=a.length;l===o&&i>=n&&(o=null,n=0);}}return o!==null},Ko=e=>{let t=e.split(`
52487
52566
  `);for(let o of t){let n=o.trim();if(n.length>0&&n.includes("|")&&ss.test(n))return true}return false};var Uo=()=>e=>{visit(e,"html",(t,o,n)=>{!n||typeof o!="number"||(n.children[o]={type:"text",value:t.value});});};var Yo=[],Qo={allowDangerousHtml:true},$e=new WeakMap,yt=class{constructor(){this.cache=new Map;this.keyCache=new WeakMap;this.maxSize=100;}generateCacheKey(t){let o=this.keyCache.get(t);if(o)return o;let n=t.rehypePlugins,r=t.remarkPlugins,s=t.remarkRehypeOptions;if(!(n||r||s)){let u="default";return this.keyCache.set(t,u),u}let a=u=>{if(!u||u.length===0)return "";let m="";for(let p=0;p<u.length;p+=1){let g=u[p];if(p>0&&(m+=","),Array.isArray(g)){let[h,b]=g;if(typeof h=="function"){let f=$e.get(h);f||(f=h.name,$e.set(h,f)),m+=f;}else m+=String(h);m+=":",m+=JSON.stringify(b);}else if(typeof g=="function"){let h=$e.get(g);h||(h=g.name,$e.set(g,h)),m+=h;}else m+=String(g);}return m},l=a(n),i=a(r),c=s?JSON.stringify(s):"",d=`${i}::${l}::${c}`;return this.keyCache.set(t,d),d}get(t){let o=this.generateCacheKey(t),n=this.cache.get(o);return n&&(this.cache.delete(o),this.cache.set(o,n)),n}set(t,o){let n=this.generateCacheKey(t);if(this.cache.size>=this.maxSize){let r=this.cache.keys().next().value;r&&this.cache.delete(r);}this.cache.set(n,o);}clear(){this.cache.clear();}},en=new yt,wt=e=>{let t=gs(e),o=e.children||"",n=t.runSync(t.parse(o),o);return ks(n,e)},gs=e=>{let t=en.get(e);if(t)return t;let o=hs(e);return en.set(e,o),o},bs=e=>e.some(t=>Array.isArray(t)?t[0]===rehypeRaw:t===rehypeRaw),hs=e=>{let t=e.rehypePlugins||Yo,o=e.remarkPlugins||Yo,n=bs(t)?o:[...o,Uo],r=e.remarkRehypeOptions?{...Qo,...e.remarkRehypeOptions}:Qo;return unified().use(remarkParse).use(n).use(remarkRehype,r).use(t)},tn=e=>e,ys=(e,t,o,n)=>{o?e.children.splice(t,1):e.children[t]={type:"text",value:n};},ws=(e,t)=>{var o;for(let n in urlAttributes)if(Object.hasOwn(urlAttributes,n)&&Object.hasOwn(e.properties,n)){let r=e.properties[n],s=urlAttributes[n];(s===null||s.includes(e.tagName))&&(e.properties[n]=(o=t(String(r||""),n,e))!=null?o:void 0);}},Cs=(e,t,o,n,r,s)=>{let a=false;return n?a=!n.includes(e.tagName):r&&(a=r.includes(e.tagName)),!a&&s&&typeof t=="number"&&(a=!s(e,t,o)),a},ks=(e,t)=>{let{allowElement:o,allowedElements:n,disallowedElements:r,skipHtml:s,unwrapDisallowed:a,urlTransform:l}=t;if(o||n||r||s||l){let c=l||tn;visit(e,(d,u,m)=>{if(d.type==="raw"&&m&&typeof u=="number")return ys(m,u,s,d.value),u;if(d.type==="element"&&(ws(d,c),Cs(d,u,m,n,r,o)&&m&&typeof u=="number"))return a&&d.children?m.children.splice(u,1,...d.children):m.children.splice(u,1),u});}return toJsxRuntime(e,{Fragment:ReactJSXRuntime.Fragment,components:t.components,ignoreInvalidStyle:true,jsx:ReactJSXRuntime.jsx,jsxs:ReactJSXRuntime.jsxs,passKeys:true,passNode:true})};var xs=/\[\^[\w-]{1,200}\](?!:)/,Ts=/\[\^[\w-]{1,200}\]:/;var Ps=/<(\w+)[\s>]/,Ms=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),on=new Map,nn=new Map,Is=e=>{let t=e.toLowerCase(),o=on.get(t);if(o)return o;let n=new RegExp(`<${t}(?=[\\s>/])[^>]*>`,"gi");return on.set(t,n),n},Ns=e=>{let t=e.toLowerCase(),o=nn.get(t);if(o)return o;let n=new RegExp(`</${t}(?=[\\s>])[^>]*>`,"gi");return nn.set(t,n),n},rn=(e,t)=>{if(Ms.has(t.toLowerCase()))return 0;let o=e.match(Is(t));if(!o)return 0;let n=0;for(let r of o)r.trimEnd().endsWith("/>")||(n+=1);return n},sn=(e,t)=>{let o=e.match(Ns(t));return o?o.length:0},Ls=e=>{let t=0;for(let o=0;o<e.length-1;o+=1)e[o]==="$"&&e[o+1]==="$"&&(t+=1,o+=1);return t},Ct=e=>{let t=xs.test(e),o=Ts.test(e);if(t||o)return [e];let n=x.lex(e,{gfm:true}),r=[],s=[],a=false;for(let l of n){let i=l.raw,c=r.length;if(s.length>0){r[c-1]+=i;let d=s.at(-1),u=rn(i,d),m=sn(i,d);for(let p=0;p<u;p+=1)s.push(d);for(let p=0;p<m;p+=1)s.length>0&&s.at(-1)===d&&s.pop();continue}if(l.type==="html"&&l.block){let d=i.match(Ps);if(d){let u=d[1],m=rn(i,u),p=sn(i,u);m>p&&s.push(u);}}if(c>0&&!a){let d=r[c-1];if(Ls(d)%2===1){r[c-1]=d+i;continue}}r.push(i),l.type!=="space"&&(a=l.type==="code");}return r};var an=(e,t)=>{if(!t.length)return e;let o=e;for(let n of t){let r=new RegExp(`(<${n}(?=[\\s>/])[^>]*>)([\\s\\S]*?)(</${n}\\s*>)`,"gi");o=o.replace(r,(s,a,l,i)=>{let c=l.replace(/\n\n/g,`
52488
52567
  <!---->
@@ -52517,74 +52596,6 @@ var MarkdownText = React.memo(function (_a) {
52517
52596
  });
52518
52597
  MarkdownText.displayName = 'MarkdownText';
52519
52598
 
52520
- // Thread endpoints live on the unified /agent/threads/ family, same origin as
52521
- // the assistant chat base
52522
- var threadsBase = function (baseUrl) {
52523
- return new URL('/agent/threads/', baseUrl).href;
52524
- };
52525
- var getThreadList = function (baseUrl, headers) { return index$1.__awaiter(void 0, void 0, void 0, function () {
52526
- var res;
52527
- return index$1.__generator(this, function (_a) {
52528
- switch (_a.label) {
52529
- case 0: return [4 /*yield*/, fetch(threadsBase(baseUrl), { headers: headers() })];
52530
- case 1:
52531
- res = _a.sent();
52532
- if (!res.ok)
52533
- return [2 /*return*/, null];
52534
- return [2 /*return*/, res.json()];
52535
- }
52536
- });
52537
- }); };
52538
- var getThreadDetail = function (baseUrl, headers, threadId) { return index$1.__awaiter(void 0, void 0, void 0, function () {
52539
- var res;
52540
- return index$1.__generator(this, function (_a) {
52541
- switch (_a.label) {
52542
- case 0: return [4 /*yield*/, fetch("".concat(threadsBase(baseUrl)).concat(threadId, "/"), {
52543
- headers: headers()
52544
- })];
52545
- case 1:
52546
- res = _a.sent();
52547
- if (!res.ok)
52548
- return [2 /*return*/, null];
52549
- return [2 /*return*/, res.json()];
52550
- }
52551
- });
52552
- }); };
52553
- var generateThreadTitle = function (baseUrl, headers, threadId, message, context) { return index$1.__awaiter(void 0, void 0, void 0, function () {
52554
- var res, data;
52555
- var _a;
52556
- return index$1.__generator(this, function (_b) {
52557
- switch (_b.label) {
52558
- case 0: return [4 /*yield*/, fetch("".concat(threadsBase(baseUrl), "title/"), {
52559
- method: 'POST',
52560
- headers: index$1.__assign(index$1.__assign({}, headers()), { 'Content-Type': 'application/json' }),
52561
- body: JSON.stringify(index$1.__assign({ message: message, thread_id: threadId !== null && threadId !== void 0 ? threadId : undefined }, (context !== null && context !== void 0 ? context : {})))
52562
- })];
52563
- case 1:
52564
- res = _b.sent();
52565
- if (!res.ok)
52566
- return [2 /*return*/, null];
52567
- return [4 /*yield*/, res.json()];
52568
- case 2:
52569
- data = _b.sent();
52570
- return [2 /*return*/, (_a = data.title) !== null && _a !== void 0 ? _a : null];
52571
- }
52572
- });
52573
- }); };
52574
- var deleteThread = function (baseUrl, headers, threadId) { return index$1.__awaiter(void 0, void 0, void 0, function () {
52575
- return index$1.__generator(this, function (_a) {
52576
- switch (_a.label) {
52577
- case 0: return [4 /*yield*/, fetch("".concat(threadsBase(baseUrl)).concat(threadId, "/"), {
52578
- method: 'DELETE',
52579
- headers: headers()
52580
- })];
52581
- case 1:
52582
- _a.sent();
52583
- return [2 /*return*/];
52584
- }
52585
- });
52586
- }); };
52587
-
52588
52599
  var getLiveStepKey = function (state) { var _a, _b; return (_a = state.latestStepName) !== null && _a !== void 0 ? _a : (_b = state.currentStep) === null || _b === void 0 ? void 0 : _b.key; };
52589
52600
  var snapshotInlineErrors = function (state) {
52590
52601
  var e_1, _a;
@@ -54351,8 +54362,8 @@ var DEFAULT_MODES = [
54351
54362
  ];
54352
54363
  var AssistantChat = function (_a) {
54353
54364
  var _b, _c;
54354
- var _d;
54355
- var instanceId = _a.instanceId, getTargets = _a.getTargets, getJwt = _a.getJwt, baseUrl = _a.baseUrl, _e = _a.bottom, bottom = _e === void 0 ? 20 : _e, color = _a.color, _f = _a.voiceEnabled, voiceEnabled = _f === void 0 ? false : _f, _g = _a.workflowActions, workflowActions = _g === void 0 ? [] : _g, _h = _a.allowedModes, allowedModes = _h === void 0 ? DEFAULT_MODES : _h, onLayoutChange = _a.onLayoutChange;
54365
+ var _d, _e;
54366
+ var instanceId = _a.instanceId, getTargets = _a.getTargets, getJwt = _a.getJwt, baseUrl = _a.baseUrl, _f = _a.bottom, bottom = _f === void 0 ? 20 : _f, color = _a.color, _g = _a.voiceEnabled, voiceEnabled = _g === void 0 ? false : _g, _h = _a.workflowActions, workflowActions = _h === void 0 ? [] : _h, _j = _a.allowedModes, allowedModes = _j === void 0 ? DEFAULT_MODES : _j, _k = _a.stepSettings, stepSettings = _k === void 0 ? {} : _k, activeStepId = _a.activeStepId, onLayoutChange = _a.onLayoutChange;
54356
54367
  var headers = React.useMemo(function () {
54357
54368
  if (getJwt)
54358
54369
  return function () { return ({ Authorization: "Bearer ".concat(getJwt()) }); };
@@ -54367,8 +54378,15 @@ var AssistantChat = function (_a) {
54367
54378
  return headers;
54368
54379
  };
54369
54380
  }, [getJwt]);
54381
+ // form_key drives backend form auth on the SDK surface, the session only
54382
+ // resolves an account after validating against this form's auth settings
54383
+ var formKey = !getJwt
54384
+ ? (_d = getTargets().find(function (t) { return t.type === 'panel'; })) === null || _d === void 0 ? void 0 : _d.id
54385
+ : undefined;
54370
54386
  var buildChatBody = function () {
54371
54387
  var body = {};
54388
+ if (formKey)
54389
+ body.form_key = formKey;
54372
54390
  var targets = getTargets();
54373
54391
  if (targets.length > 0)
54374
54392
  body.targets = targets;
@@ -54379,14 +54397,30 @@ var AssistantChat = function (_a) {
54379
54397
  }
54380
54398
  return body;
54381
54399
  };
54382
- var _j = index$1.__read(React.useState(false), 2), isOpen = _j[0], setIsOpen = _j[1];
54383
- var _k = index$1.__read(React.useState(readStoredMode), 2), mode = _k[0], setModeState = _k[1];
54400
+ var _l = index$1.__read(React.useState(false), 2), isOpen = _l[0], setIsOpen = _l[1];
54401
+ var _m = index$1.__read(React.useState(readStoredMode), 2), mode = _m[0], setModeState = _m[1];
54384
54402
  var setMode = React.useCallback(function (next) {
54385
54403
  setModeState(next);
54386
54404
  writeStoredMode(next);
54387
54405
  }, []);
54388
- var _l = index$1.__read(React.useState(readStoredSidebarWidth), 2), sidebarWidth = _l[0], setSidebarWidth = _l[1];
54389
- var _m = index$1.__read(React.useState(false), 2), isResizing = _m[0], setIsResizing = _m[1];
54406
+ // Whitelist: no steps configured = available everywhere, otherwise the
54407
+ // assistant is hidden on steps absent from the map (kept mounted, see render)
54408
+ var whitelistActive = Object.keys(stepSettings).length > 0;
54409
+ var hiddenByWhitelist = whitelistActive && (!activeStepId || !(activeStepId in stepSettings));
54410
+ // Apply the creator's open default once per step entry, close/switch still sticks
54411
+ var forcedStepRef = React.useRef(undefined);
54412
+ React.useEffect(function () {
54413
+ if (!activeStepId || activeStepId === forcedStepRef.current)
54414
+ return;
54415
+ forcedStepRef.current = activeStepId;
54416
+ var stepDefault = stepSettings[activeStepId];
54417
+ if (stepDefault === 'floating' || stepDefault === 'sidebar_right') {
54418
+ setIsOpen(true);
54419
+ setModeState(stepDefault === 'sidebar_right' ? 'sidebar-right' : 'current');
54420
+ }
54421
+ }, [activeStepId, stepSettings]);
54422
+ var _o = index$1.__read(React.useState(readStoredSidebarWidth), 2), sidebarWidth = _o[0], setSidebarWidth = _o[1];
54423
+ var _p = index$1.__read(React.useState(false), 2), isResizing = _p[0], setIsResizing = _p[1];
54390
54424
  React.useEffect(function () {
54391
54425
  var onWindowResize = function () {
54392
54426
  setSidebarWidth(function (w) {
@@ -54432,12 +54466,12 @@ var AssistantChat = function (_a) {
54432
54466
  setSidebarWidth(DEFAULT_SIDEBAR_WIDTH);
54433
54467
  writeStoredSidebarWidth(DEFAULT_SIDEBAR_WIDTH);
54434
54468
  }, []);
54435
- var _o = index$1.__read(React.useState(''), 2), input = _o[0], setInput = _o[1];
54436
- var _p = index$1.__read(React.useState([]), 2), threads = _p[0], setThreads = _p[1];
54437
- var _q = index$1.__read(React.useState(null), 2), activeThreadId = _q[0], setActiveThreadId = _q[1];
54438
- var _r = index$1.__read(React.useState(false), 2), isDropdownOpen = _r[0], setIsDropdownOpen = _r[1];
54439
- var _s = index$1.__read(React.useState(false), 2), isModeMenuOpen = _s[0], setIsModeMenuOpen = _s[1];
54440
- var _t = index$1.__read(React.useState(null), 2), actionTooltip = _t[0], setActionTooltip = _t[1];
54469
+ var _q = index$1.__read(React.useState(''), 2), input = _q[0], setInput = _q[1];
54470
+ var _r = index$1.__read(React.useState([]), 2), threads = _r[0], setThreads = _r[1];
54471
+ var _s = index$1.__read(React.useState(null), 2), activeThreadId = _s[0], setActiveThreadId = _s[1];
54472
+ var _t = index$1.__read(React.useState(false), 2), isDropdownOpen = _t[0], setIsDropdownOpen = _t[1];
54473
+ var _u = index$1.__read(React.useState(false), 2), isModeMenuOpen = _u[0], setIsModeMenuOpen = _u[1];
54474
+ var _v = index$1.__read(React.useState(null), 2), actionTooltip = _v[0], setActionTooltip = _v[1];
54441
54475
  var messagesContainerRef = React.useRef(null);
54442
54476
  // Suppresses auto-scroll when the user has scrolled up to read earlier content
54443
54477
  var atBottomRef = React.useRef(true);
@@ -54484,7 +54518,7 @@ var AssistantChat = function (_a) {
54484
54518
  if (stepKey)
54485
54519
  titleContext.current_step = stepKey;
54486
54520
  }
54487
- generateThreadTitle(baseUrl, headers, currentThreadId, userText, titleContext).then(function (title) {
54521
+ generateThreadTitle(baseUrl, headers, currentThreadId, userText, titleContext, formKey).then(function (title) {
54488
54522
  if (!title)
54489
54523
  return;
54490
54524
  setThreads(function (prev) {
@@ -54514,6 +54548,8 @@ var AssistantChat = function (_a) {
54514
54548
  form.append('audio', audio, 'speech.wav');
54515
54549
  pendingAudioRef.current = null;
54516
54550
  }
54551
+ if (formKey)
54552
+ form.append('form_key', formKey);
54517
54553
  return [4 /*yield*/, fetch("".concat(baseUrl, "voice/turn/"), {
54518
54554
  method: 'POST',
54519
54555
  headers: headers(),
@@ -54537,7 +54573,7 @@ var AssistantChat = function (_a) {
54537
54573
  });
54538
54574
  });
54539
54575
  setActiveThreadId(threadId);
54540
- getThreadDetail(baseUrl, headers, threadId).then(function (t) {
54576
+ getThreadDetail(baseUrl, headers, threadId, formKey).then(function (t) {
54541
54577
  if (t)
54542
54578
  setThreads(function (prev) {
54543
54579
  return prev.map(function (thread) {
@@ -54695,16 +54731,16 @@ var AssistantChat = function (_a) {
54695
54731
  };
54696
54732
  var readyChat = React.useMemo(function () { return makeChat(null); }, [headers, getTargets, getJwt]);
54697
54733
  var activeThread = threads.find(function (t) { return t.id === activeThreadId; });
54698
- var activeChat = (_d = activeThread === null || activeThread === void 0 ? void 0 : activeThread.chat) !== null && _d !== void 0 ? _d : readyChat;
54699
- var _u = useChat({
54734
+ var activeChat = (_e = activeThread === null || activeThread === void 0 ? void 0 : activeThread.chat) !== null && _e !== void 0 ? _e : readyChat;
54735
+ var _w = useChat({
54700
54736
  chat: activeChat
54701
- }), rawMessages = _u.messages, sendMessage = _u.sendMessage, setMessages = _u.setMessages, status = _u.status, error = _u.error;
54702
- var _v = useChatAttachments({ activeChat: activeChat, baseUrl: baseUrl, headers: headers }), attachments = _v.attachments, attachmentError = _v.attachmentError, attachmentsInFlight = _v.attachmentsInFlight, isDragging = _v.isDragging, fileInputRef = _v.fileInputRef, addFiles = _v.addFiles, removeFile = _v.removeFile, takeAttachments = _v.takeAttachments, handleComposerPaste = _v.handlePaste, handleDragOver = _v.handleDragOver, handleDragLeave = _v.handleDragLeave, handleDrop = _v.handleDrop;
54703
- var _w = index$1.__read(React.useState(null), 2), attachmentPreview = _w[0], setAttachmentPreview = _w[1];
54737
+ }), rawMessages = _w.messages, sendMessage = _w.sendMessage, setMessages = _w.setMessages, status = _w.status, error = _w.error;
54738
+ var _x = useChatAttachments({ activeChat: activeChat, baseUrl: baseUrl, headers: headers, formKey: formKey }), attachments = _x.attachments, attachmentError = _x.attachmentError, attachmentsInFlight = _x.attachmentsInFlight, isDragging = _x.isDragging, fileInputRef = _x.fileInputRef, addFiles = _x.addFiles, removeFile = _x.removeFile, takeAttachments = _x.takeAttachments, handleComposerPaste = _x.handlePaste, handleDragOver = _x.handleDragOver, handleDragLeave = _x.handleDragLeave, handleDrop = _x.handleDrop;
54739
+ var _y = index$1.__read(React.useState(null), 2), attachmentPreview = _y[0], setAttachmentPreview = _y[1];
54704
54740
  // A send fired while attachments were indexing, the message shows
54705
54741
  // optimistically and the real request replaces it via messageId once its
54706
54742
  // batch is terminal, files attached meanwhile stay for the next message
54707
- var _x = index$1.__read(React.useState(null), 2), pendingSubmit = _x[0], setPendingSubmit = _x[1];
54743
+ var _z = index$1.__read(React.useState(null), 2), pendingSubmit = _z[0], setPendingSubmit = _z[1];
54708
54744
  React.useEffect(function () { return setPendingSubmit(null); }, [activeChat]);
54709
54745
  var stagedAttachments = pendingSubmit
54710
54746
  ? attachments.filter(function (a) { return !pendingSubmit.previewUrls.includes(a.previewUrl); })
@@ -54750,7 +54786,7 @@ var AssistantChat = function (_a) {
54750
54786
  var data;
54751
54787
  return index$1.__generator(this, function (_a) {
54752
54788
  switch (_a.label) {
54753
- case 0: return [4 /*yield*/, getThreadList(baseUrl, headers)];
54789
+ case 0: return [4 /*yield*/, getThreadList(baseUrl, headers, formKey)];
54754
54790
  case 1:
54755
54791
  data = _a.sent();
54756
54792
  if (!data)
@@ -54762,7 +54798,7 @@ var AssistantChat = function (_a) {
54762
54798
  return [2 /*return*/];
54763
54799
  }
54764
54800
  });
54765
- }); }, [headers, baseUrl]);
54801
+ }); }, [headers, baseUrl, formKey]);
54766
54802
  React.useEffect(function () {
54767
54803
  if (isOpen)
54768
54804
  fetchThreads();
@@ -54802,7 +54838,7 @@ var AssistantChat = function (_a) {
54802
54838
  setIsDropdownOpen(false);
54803
54839
  return [2 /*return*/];
54804
54840
  }
54805
- return [4 /*yield*/, getThreadDetail(baseUrl, headers, id)];
54841
+ return [4 /*yield*/, getThreadDetail(baseUrl, headers, id, formKey)];
54806
54842
  case 1:
54807
54843
  thread = _c.sent();
54808
54844
  if (!thread)
@@ -54825,7 +54861,7 @@ var AssistantChat = function (_a) {
54825
54861
  e.stopPropagation();
54826
54862
  thread = threads.find(function (t) { return t.id === id; });
54827
54863
  if (!!(thread === null || thread === void 0 ? void 0 : thread.isTemporary)) return [3 /*break*/, 2];
54828
- return [4 /*yield*/, deleteThread(baseUrl, headers, id)];
54864
+ return [4 /*yield*/, deleteThread(baseUrl, headers, id, formKey)];
54829
54865
  case 1:
54830
54866
  _a.sent();
54831
54867
  _a.label = 2;
@@ -54861,7 +54897,7 @@ var AssistantChat = function (_a) {
54861
54897
  ], index$1.__read(prev.filter(function (t) { return t.id !== activeThreadId; })), false); });
54862
54898
  }
54863
54899
  }, [activeThreadId, activeThread, activeChat]);
54864
- var _y = useAssistantVoice({
54900
+ var _0 = useAssistantVoice({
54865
54901
  status: status,
54866
54902
  sendMessage: function (message) { return index$1.__awaiter(void 0, void 0, void 0, function () {
54867
54903
  return index$1.__generator(this, function (_a) {
@@ -54878,7 +54914,12 @@ var AssistantChat = function (_a) {
54878
54914
  voiceActiveRef: voiceActiveRef,
54879
54915
  pendingAudioRef: pendingAudioRef,
54880
54916
  voiceDataRef: voiceDataRef
54881
- }), voiceState = _y.voiceState, voiceActive = _y.voiceActive, micAvailable = _y.micAvailable, spokenChars = _y.spokenChars, audioDraining = _y.audioDraining, startVoice = _y.startVoice, stopVoice = _y.stopVoice, skipSpeaking = _y.skipSpeaking;
54917
+ }), voiceState = _0.voiceState, voiceActive = _0.voiceActive, micAvailable = _0.micAvailable, spokenChars = _0.spokenChars, audioDraining = _0.audioDraining, startVoice = _0.startVoice, stopVoice = _0.stopVoice, skipSpeaking = _0.skipSpeaking;
54918
+ // Stop the mic if the assistant becomes hidden on a whitelisted step
54919
+ React.useEffect(function () {
54920
+ if (hiddenByWhitelist)
54921
+ stopVoice();
54922
+ }, [hiddenByWhitelist, stopVoice]);
54882
54923
  // Voice: keep the view pinned to the bottom as the reply reveals during playback
54883
54924
  React.useEffect(function () {
54884
54925
  pinToBottom();
@@ -55028,19 +55069,27 @@ var AssistantChat = function (_a) {
55028
55069
  : mode === 'sidebar-right'
55029
55070
  ? 'right'
55030
55071
  : null;
55031
- var layoutWidth = isOpen && layoutSide ? sidebarWidth : 0;
55072
+ var layoutOpen = isOpen && !hiddenByWhitelist;
55073
+ var layoutWidth = layoutOpen && layoutSide ? sidebarWidth : 0;
55032
55074
  var onLayoutChangeRef = React.useRef(onLayoutChange);
55033
55075
  onLayoutChangeRef.current = onLayoutChange;
55034
55076
  React.useEffect(function () {
55035
55077
  var _a;
55036
55078
  (_a = onLayoutChangeRef.current) === null || _a === void 0 ? void 0 : _a.call(onLayoutChangeRef, {
55037
55079
  mode: mode,
55038
- isOpen: isOpen,
55039
- side: layoutSide,
55080
+ isOpen: layoutOpen,
55081
+ side: hiddenByWhitelist ? null : layoutSide,
55040
55082
  width: layoutWidth,
55041
55083
  isResizing: isResizing
55042
55084
  });
55043
- }, [mode, isOpen, layoutSide, layoutWidth, isResizing]);
55085
+ }, [
55086
+ mode,
55087
+ layoutOpen,
55088
+ layoutSide,
55089
+ layoutWidth,
55090
+ isResizing,
55091
+ hiddenByWhitelist
55092
+ ]);
55044
55093
  var CollapseIcon = mode === 'sidebar-left'
55045
55094
  ? ChevronsLeftIcon
55046
55095
  : mode === 'sidebar-right'
@@ -55055,6 +55104,9 @@ var AssistantChat = function (_a) {
55055
55104
  : mode === 'fullscreen'
55056
55105
  ? FullscreenIcon
55057
55106
  : FloatingIcon;
55107
+ // Stay mounted so chat/thread state survives navigating hidden steps
55108
+ if (hiddenByWhitelist)
55109
+ return null;
55058
55110
  var fabOnLeft = mode === 'sidebar-left';
55059
55111
  var fabSide = fabOnLeft ? { left: '20px' } : { right: '20px' };
55060
55112
  var fabBottom = fabOnLeft ? 20 : bottom;
@@ -55581,3 +55633,4 @@ exports.Bt = Bt;
55581
55633
  exports.Mi = Mi;
55582
55634
  exports.R = R;
55583
55635
  exports.uo = uo;
55636
+ //# sourceMappingURL=fthry_AssistantChat.BnU2Yr_h.js.map