@copilotkitnext/react 0.0.22-alpha.1 → 0.0.22-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (421) hide show
  1. package/dist/chunk-32YJ5VJ4.mjs +157 -0
  2. package/dist/chunk-32YJ5VJ4.mjs.map +1 -0
  3. package/dist/chunk-36HFWACS.mjs +1 -0
  4. package/dist/chunk-36HFWACS.mjs.map +1 -0
  5. package/dist/chunk-3TA5QBSZ.mjs +122 -0
  6. package/dist/chunk-3TA5QBSZ.mjs.map +1 -0
  7. package/dist/chunk-46BZRXWT.mjs +16 -0
  8. package/dist/chunk-46BZRXWT.mjs.map +1 -0
  9. package/dist/chunk-4UDBR75C.mjs +106 -0
  10. package/dist/chunk-4UDBR75C.mjs.map +1 -0
  11. package/dist/chunk-4XJK5IVQ.mjs +83 -0
  12. package/dist/chunk-4XJK5IVQ.mjs.map +1 -0
  13. package/dist/chunk-5AAT4Z3C.mjs +107 -0
  14. package/dist/chunk-5AAT4Z3C.mjs.map +1 -0
  15. package/dist/chunk-5JNWVLQI.mjs +72 -0
  16. package/dist/chunk-5JNWVLQI.mjs.map +1 -0
  17. package/dist/chunk-5SC3CO5Q.mjs +69 -0
  18. package/dist/chunk-5SC3CO5Q.mjs.map +1 -0
  19. package/dist/chunk-6VUKDHOD.mjs +1 -0
  20. package/dist/chunk-6VUKDHOD.mjs.map +1 -0
  21. package/dist/chunk-AEFM73CL.mjs +32 -0
  22. package/dist/chunk-AEFM73CL.mjs.map +1 -0
  23. package/dist/chunk-AI3Z3CHN.mjs +97 -0
  24. package/dist/chunk-AI3Z3CHN.mjs.map +1 -0
  25. package/dist/chunk-AXFRCGH6.mjs +107 -0
  26. package/dist/chunk-AXFRCGH6.mjs.map +1 -0
  27. package/dist/chunk-BT6C5OPU.mjs +278 -0
  28. package/dist/chunk-BT6C5OPU.mjs.map +1 -0
  29. package/dist/chunk-CGLGXQAU.mjs +78 -0
  30. package/dist/chunk-CGLGXQAU.mjs.map +1 -0
  31. package/dist/chunk-CSHBUHRW.mjs +69 -0
  32. package/dist/chunk-CSHBUHRW.mjs.map +1 -0
  33. package/dist/chunk-CZ3GI3IF.mjs +283 -0
  34. package/dist/chunk-CZ3GI3IF.mjs.map +1 -0
  35. package/dist/chunk-DVUQO72Z.mjs +1 -0
  36. package/dist/chunk-DVUQO72Z.mjs.map +1 -0
  37. package/dist/chunk-E4HD4M7R.mjs +76 -0
  38. package/dist/chunk-E4HD4M7R.mjs.map +1 -0
  39. package/dist/chunk-E56GYBP3.mjs +101 -0
  40. package/dist/chunk-E56GYBP3.mjs.map +1 -0
  41. package/dist/chunk-EJ5ZEAAN.mjs +57 -0
  42. package/dist/chunk-EJ5ZEAAN.mjs.map +1 -0
  43. package/dist/chunk-ETWJDCGE.mjs +1 -0
  44. package/dist/chunk-ETWJDCGE.mjs.map +1 -0
  45. package/dist/chunk-F43IPGPA.mjs +311 -0
  46. package/dist/chunk-F43IPGPA.mjs.map +1 -0
  47. package/dist/chunk-FIBK3DYE.mjs +26 -0
  48. package/dist/chunk-FIBK3DYE.mjs.map +1 -0
  49. package/dist/chunk-FVURPXQK.mjs +45 -0
  50. package/dist/chunk-FVURPXQK.mjs.map +1 -0
  51. package/dist/chunk-FZR2XQKR.mjs +44 -0
  52. package/dist/chunk-FZR2XQKR.mjs.map +1 -0
  53. package/dist/chunk-IA4CLXDM.mjs +76 -0
  54. package/dist/chunk-IA4CLXDM.mjs.map +1 -0
  55. package/dist/chunk-IH5VFJ4L.mjs +60 -0
  56. package/dist/chunk-IH5VFJ4L.mjs.map +1 -0
  57. package/dist/chunk-IICUCI5S.mjs +43 -0
  58. package/dist/chunk-IICUCI5S.mjs.map +1 -0
  59. package/dist/chunk-JLVGSNAO.mjs +311 -0
  60. package/dist/chunk-JLVGSNAO.mjs.map +1 -0
  61. package/dist/chunk-JWOIINVV.mjs +237 -0
  62. package/dist/chunk-JWOIINVV.mjs.map +1 -0
  63. package/dist/chunk-KCVDFZJX.mjs +873 -0
  64. package/dist/chunk-KCVDFZJX.mjs.map +1 -0
  65. package/dist/chunk-KPRUSQ3K.mjs +1 -0
  66. package/dist/chunk-KPRUSQ3K.mjs.map +1 -0
  67. package/dist/chunk-MWC5OV7Z.mjs +1 -0
  68. package/dist/chunk-MWC5OV7Z.mjs.map +1 -0
  69. package/dist/chunk-N5EP5OD5.mjs +1 -0
  70. package/dist/chunk-N5EP5OD5.mjs.map +1 -0
  71. package/dist/chunk-NASFZS3N.mjs +43 -0
  72. package/dist/chunk-NASFZS3N.mjs.map +1 -0
  73. package/dist/chunk-NB2GZAKG.mjs +131 -0
  74. package/dist/chunk-NB2GZAKG.mjs.map +1 -0
  75. package/dist/chunk-NB4DFAZH.mjs +185 -0
  76. package/dist/chunk-NB4DFAZH.mjs.map +1 -0
  77. package/dist/chunk-NNAYEAP2.mjs +49 -0
  78. package/dist/chunk-NNAYEAP2.mjs.map +1 -0
  79. package/dist/chunk-NNPKBGD6.mjs +37 -0
  80. package/dist/chunk-NNPKBGD6.mjs.map +1 -0
  81. package/dist/chunk-OMPVTGXH.mjs +122 -0
  82. package/dist/chunk-OMPVTGXH.mjs.map +1 -0
  83. package/dist/chunk-QFBM3ZT2.mjs +45 -0
  84. package/dist/chunk-QFBM3ZT2.mjs.map +1 -0
  85. package/dist/chunk-QJ6DZ645.mjs +78 -0
  86. package/dist/chunk-QJ6DZ645.mjs.map +1 -0
  87. package/dist/chunk-R5OLAA3L.mjs +135 -0
  88. package/dist/chunk-R5OLAA3L.mjs.map +1 -0
  89. package/dist/chunk-RF2CGPHQ.mjs +215 -0
  90. package/dist/chunk-RF2CGPHQ.mjs.map +1 -0
  91. package/dist/chunk-RGD2L3Z4.mjs +96 -0
  92. package/dist/chunk-RGD2L3Z4.mjs.map +1 -0
  93. package/dist/chunk-RK5P2LG6.mjs +57 -0
  94. package/dist/chunk-RK5P2LG6.mjs.map +1 -0
  95. package/dist/chunk-RRXDJCXI.mjs +60 -0
  96. package/dist/chunk-RRXDJCXI.mjs.map +1 -0
  97. package/dist/chunk-SPDE34WC.mjs +283 -0
  98. package/dist/chunk-SPDE34WC.mjs.map +1 -0
  99. package/dist/chunk-TAUOEJH2.mjs +120 -0
  100. package/dist/chunk-TAUOEJH2.mjs.map +1 -0
  101. package/dist/chunk-TKFOXPXF.mjs +157 -0
  102. package/dist/chunk-TKFOXPXF.mjs.map +1 -0
  103. package/dist/chunk-UOX5D73C.mjs +22 -0
  104. package/dist/chunk-UOX5D73C.mjs.map +1 -0
  105. package/dist/chunk-US4KNAAV.mjs +1 -0
  106. package/dist/chunk-US4KNAAV.mjs.map +1 -0
  107. package/dist/chunk-UZB3CTOY.mjs +873 -0
  108. package/dist/chunk-UZB3CTOY.mjs.map +1 -0
  109. package/dist/chunk-VBI6JXPC.mjs +1 -0
  110. package/dist/chunk-VBI6JXPC.mjs.map +1 -0
  111. package/dist/chunk-VE3SBLU7.mjs +215 -0
  112. package/dist/chunk-VE3SBLU7.mjs.map +1 -0
  113. package/dist/chunk-VUHFLJWI.mjs +185 -0
  114. package/dist/chunk-VUHFLJWI.mjs.map +1 -0
  115. package/dist/chunk-VVAXSF3M.mjs +61 -0
  116. package/dist/chunk-VVAXSF3M.mjs.map +1 -0
  117. package/dist/chunk-W5DUKRCI.mjs +97 -0
  118. package/dist/chunk-W5DUKRCI.mjs.map +1 -0
  119. package/dist/chunk-WNRDFAZ5.mjs +22 -0
  120. package/dist/chunk-WNRDFAZ5.mjs.map +1 -0
  121. package/dist/chunk-XO4IRKSC.mjs +11 -0
  122. package/dist/chunk-XO4IRKSC.mjs.map +1 -0
  123. package/dist/chunk-XU5CEPYQ.mjs +75 -0
  124. package/dist/chunk-XU5CEPYQ.mjs.map +1 -0
  125. package/dist/chunk-YPH4BHOY.mjs +39 -0
  126. package/dist/chunk-YPH4BHOY.mjs.map +1 -0
  127. package/dist/chunk-YVPPF62K.mjs +32 -0
  128. package/dist/chunk-YVPPF62K.mjs.map +1 -0
  129. package/dist/chunk-YZUPVMHC.mjs +1 -0
  130. package/dist/chunk-YZUPVMHC.mjs.map +1 -0
  131. package/dist/chunk-Z3OIGQCZ.mjs +75 -0
  132. package/dist/chunk-Z3OIGQCZ.mjs.map +1 -0
  133. package/dist/chunk-ZIDT52TM.mjs +131 -0
  134. package/dist/chunk-ZIDT52TM.mjs.map +1 -0
  135. package/dist/components/CopilotKitInspector.d.mts +13 -0
  136. package/dist/components/CopilotKitInspector.d.ts +13 -0
  137. package/dist/components/CopilotKitInspector.js +69 -0
  138. package/dist/components/CopilotKitInspector.js.map +1 -0
  139. package/dist/components/CopilotKitInspector.mjs +7 -0
  140. package/dist/components/CopilotKitInspector.mjs.map +1 -0
  141. package/dist/components/WildcardToolCallRender.d.mts +7 -0
  142. package/dist/components/WildcardToolCallRender.d.ts +7 -0
  143. package/dist/components/WildcardToolCallRender.js +106 -0
  144. package/dist/components/WildcardToolCallRender.js.map +1 -0
  145. package/dist/components/WildcardToolCallRender.mjs +8 -0
  146. package/dist/components/WildcardToolCallRender.mjs.map +1 -0
  147. package/dist/components/chat/CopilotChat.d.mts +30 -0
  148. package/dist/components/chat/CopilotChat.d.ts +30 -0
  149. package/dist/components/chat/CopilotChat.js +2934 -0
  150. package/dist/components/chat/CopilotChat.js.map +1 -0
  151. package/dist/components/chat/CopilotChat.mjs +37 -0
  152. package/dist/components/chat/CopilotChat.mjs.map +1 -0
  153. package/dist/components/chat/CopilotChatAssistantMessage.d.mts +45 -0
  154. package/dist/components/chat/CopilotChatAssistantMessage.d.ts +45 -0
  155. package/dist/components/chat/CopilotChatAssistantMessage.js +735 -0
  156. package/dist/components/chat/CopilotChatAssistantMessage.js.map +1 -0
  157. package/dist/components/chat/CopilotChatAssistantMessage.mjs +29 -0
  158. package/dist/components/chat/CopilotChatAssistantMessage.mjs.map +1 -0
  159. package/dist/components/chat/CopilotChatAudioRecorder.d.mts +11 -0
  160. package/dist/components/chat/CopilotChatAudioRecorder.d.ts +11 -0
  161. package/dist/components/chat/CopilotChatAudioRecorder.js +131 -0
  162. package/dist/components/chat/CopilotChatAudioRecorder.js.map +1 -0
  163. package/dist/components/chat/CopilotChatAudioRecorder.mjs +9 -0
  164. package/dist/components/chat/CopilotChatAudioRecorder.mjs.map +1 -0
  165. package/dist/components/chat/CopilotChatInput.d.mts +67 -0
  166. package/dist/components/chat/CopilotChatInput.d.ts +67 -0
  167. package/dist/components/chat/CopilotChatInput.js +1305 -0
  168. package/dist/components/chat/CopilotChatInput.js.map +1 -0
  169. package/dist/components/chat/CopilotChatInput.mjs +16 -0
  170. package/dist/components/chat/CopilotChatInput.mjs.map +1 -0
  171. package/dist/components/chat/CopilotChatMessageView.d.mts +29 -0
  172. package/dist/components/chat/CopilotChatMessageView.d.ts +29 -0
  173. package/dist/components/chat/CopilotChatMessageView.js +1164 -0
  174. package/dist/components/chat/CopilotChatMessageView.js.map +1 -0
  175. package/dist/components/chat/CopilotChatMessageView.mjs +31 -0
  176. package/dist/components/chat/CopilotChatMessageView.mjs.map +1 -0
  177. package/dist/components/chat/CopilotChatSuggestionPill.d.mts +11 -0
  178. package/dist/components/chat/CopilotChatSuggestionPill.d.ts +11 -0
  179. package/dist/components/chat/CopilotChatSuggestionPill.js +76 -0
  180. package/dist/components/chat/CopilotChatSuggestionPill.js.map +1 -0
  181. package/dist/components/chat/CopilotChatSuggestionPill.mjs +10 -0
  182. package/dist/components/chat/CopilotChatSuggestionPill.mjs.map +1 -0
  183. package/dist/components/chat/CopilotChatSuggestionView.d.mts +33 -0
  184. package/dist/components/chat/CopilotChatSuggestionView.d.ts +33 -0
  185. package/dist/components/chat/CopilotChatSuggestionView.js +179 -0
  186. package/dist/components/chat/CopilotChatSuggestionView.js.map +1 -0
  187. package/dist/components/chat/CopilotChatSuggestionView.mjs +12 -0
  188. package/dist/components/chat/CopilotChatSuggestionView.mjs.map +1 -0
  189. package/dist/components/chat/CopilotChatToggleButton.d.mts +14 -0
  190. package/dist/components/chat/CopilotChatToggleButton.d.ts +14 -0
  191. package/dist/components/chat/CopilotChatToggleButton.js +222 -0
  192. package/dist/components/chat/CopilotChatToggleButton.js.map +1 -0
  193. package/dist/components/chat/CopilotChatToggleButton.mjs +16 -0
  194. package/dist/components/chat/CopilotChatToggleButton.mjs.map +1 -0
  195. package/dist/components/chat/CopilotChatToolCallsView.d.mts +10 -0
  196. package/dist/components/chat/CopilotChatToolCallsView.d.ts +10 -0
  197. package/dist/components/chat/CopilotChatToolCallsView.js +264 -0
  198. package/dist/components/chat/CopilotChatToolCallsView.js.map +1 -0
  199. package/dist/components/chat/CopilotChatToolCallsView.mjs +24 -0
  200. package/dist/components/chat/CopilotChatToolCallsView.mjs.map +1 -0
  201. package/dist/components/chat/CopilotChatUserMessage.d.mts +52 -0
  202. package/dist/components/chat/CopilotChatUserMessage.d.ts +52 -0
  203. package/dist/components/chat/CopilotChatUserMessage.js +523 -0
  204. package/dist/components/chat/CopilotChatUserMessage.js.map +1 -0
  205. package/dist/components/chat/CopilotChatUserMessage.mjs +14 -0
  206. package/dist/components/chat/CopilotChatUserMessage.mjs.map +1 -0
  207. package/dist/components/chat/CopilotChatView.d.mts +54 -0
  208. package/dist/components/chat/CopilotChatView.d.ts +54 -0
  209. package/dist/components/chat/CopilotChatView.js +2640 -0
  210. package/dist/components/chat/CopilotChatView.js.map +1 -0
  211. package/dist/components/chat/CopilotChatView.mjs +38 -0
  212. package/dist/components/chat/CopilotChatView.mjs.map +1 -0
  213. package/dist/components/chat/CopilotModalHeader.d.mts +22 -0
  214. package/dist/components/chat/CopilotModalHeader.d.ts +22 -0
  215. package/dist/components/chat/CopilotModalHeader.js +186 -0
  216. package/dist/components/chat/CopilotModalHeader.js.map +1 -0
  217. package/dist/components/chat/CopilotModalHeader.mjs +12 -0
  218. package/dist/components/chat/CopilotModalHeader.mjs.map +1 -0
  219. package/dist/components/chat/CopilotPopup.d.mts +33 -0
  220. package/dist/components/chat/CopilotPopup.d.ts +33 -0
  221. package/dist/components/chat/CopilotPopup.js +3343 -0
  222. package/dist/components/chat/CopilotPopup.js.map +1 -0
  223. package/dist/components/chat/CopilotPopup.mjs +43 -0
  224. package/dist/components/chat/CopilotPopup.mjs.map +1 -0
  225. package/dist/components/chat/CopilotPopupView.d.mts +30 -0
  226. package/dist/components/chat/CopilotPopupView.d.ts +30 -0
  227. package/dist/components/chat/CopilotPopupView.js +3003 -0
  228. package/dist/components/chat/CopilotPopupView.js.map +1 -0
  229. package/dist/components/chat/CopilotPopupView.mjs +41 -0
  230. package/dist/components/chat/CopilotPopupView.mjs.map +1 -0
  231. package/dist/components/chat/CopilotSidebar.d.mts +31 -0
  232. package/dist/components/chat/CopilotSidebar.d.ts +31 -0
  233. package/dist/components/chat/CopilotSidebar.js +3266 -0
  234. package/dist/components/chat/CopilotSidebar.js.map +1 -0
  235. package/dist/components/chat/CopilotSidebar.mjs +43 -0
  236. package/dist/components/chat/CopilotSidebar.mjs.map +1 -0
  237. package/dist/components/chat/CopilotSidebarView.d.mts +28 -0
  238. package/dist/components/chat/CopilotSidebarView.d.ts +28 -0
  239. package/dist/components/chat/CopilotSidebarView.js +2941 -0
  240. package/dist/components/chat/CopilotSidebarView.js.map +1 -0
  241. package/dist/components/chat/CopilotSidebarView.mjs +41 -0
  242. package/dist/components/chat/CopilotSidebarView.mjs.map +1 -0
  243. package/dist/components/chat/index.d.mts +23 -0
  244. package/dist/components/chat/index.d.ts +23 -0
  245. package/dist/components/chat/index.js +3503 -0
  246. package/dist/components/chat/index.js.map +1 -0
  247. package/dist/components/chat/index.mjs +95 -0
  248. package/dist/components/chat/index.mjs.map +1 -0
  249. package/dist/components/index.d.mts +29 -0
  250. package/dist/components/index.d.ts +29 -0
  251. package/dist/components/index.js +3583 -0
  252. package/dist/components/index.js.map +1 -0
  253. package/dist/components/index.mjs +104 -0
  254. package/dist/components/index.mjs.map +1 -0
  255. package/dist/components/ui/button.d.mts +14 -0
  256. package/dist/components/ui/button.d.ts +14 -0
  257. package/dist/components/ui/button.js +150 -0
  258. package/dist/components/ui/button.js.map +1 -0
  259. package/dist/components/ui/button.mjs +10 -0
  260. package/dist/components/ui/button.mjs.map +1 -0
  261. package/dist/components/ui/dropdown-menu.d.mts +28 -0
  262. package/dist/components/ui/dropdown-menu.d.ts +28 -0
  263. package/dist/components/ui/dropdown-menu.js +291 -0
  264. package/dist/components/ui/dropdown-menu.js.map +1 -0
  265. package/dist/components/ui/dropdown-menu.mjs +37 -0
  266. package/dist/components/ui/dropdown-menu.mjs.map +1 -0
  267. package/dist/components/ui/tooltip.d.mts +10 -0
  268. package/dist/components/ui/tooltip.d.ts +10 -0
  269. package/dist/components/ui/tooltip.js +103 -0
  270. package/dist/components/ui/tooltip.js.map +1 -0
  271. package/dist/components/ui/tooltip.mjs +14 -0
  272. package/dist/components/ui/tooltip.mjs.map +1 -0
  273. package/dist/hooks/index.d.mts +19 -0
  274. package/dist/hooks/index.d.ts +19 -0
  275. package/dist/hooks/index.js +691 -0
  276. package/dist/hooks/index.js.map +1 -0
  277. package/dist/hooks/index.mjs +45 -0
  278. package/dist/hooks/index.mjs.map +1 -0
  279. package/dist/hooks/use-agent-context.d.mts +5 -0
  280. package/dist/hooks/use-agent-context.d.ts +5 -0
  281. package/dist/hooks/use-agent-context.js +116 -0
  282. package/dist/hooks/use-agent-context.js.map +1 -0
  283. package/dist/hooks/use-agent-context.mjs +10 -0
  284. package/dist/hooks/use-agent-context.mjs.map +1 -0
  285. package/dist/hooks/use-agent.d.mts +16 -0
  286. package/dist/hooks/use-agent.d.ts +16 -0
  287. package/dist/hooks/use-agent.js +171 -0
  288. package/dist/hooks/use-agent.js.map +1 -0
  289. package/dist/hooks/use-agent.mjs +12 -0
  290. package/dist/hooks/use-agent.mjs.map +1 -0
  291. package/dist/hooks/use-configure-suggestions.d.mts +13 -0
  292. package/dist/hooks/use-configure-suggestions.d.ts +13 -0
  293. package/dist/hooks/use-configure-suggestions.js +232 -0
  294. package/dist/hooks/use-configure-suggestions.js.map +1 -0
  295. package/dist/hooks/use-configure-suggestions.mjs +11 -0
  296. package/dist/hooks/use-configure-suggestions.mjs.map +1 -0
  297. package/dist/hooks/use-frontend-tool.d.mts +8 -0
  298. package/dist/hooks/use-frontend-tool.d.ts +8 -0
  299. package/dist/hooks/use-frontend-tool.js +137 -0
  300. package/dist/hooks/use-frontend-tool.js.map +1 -0
  301. package/dist/hooks/use-frontend-tool.mjs +10 -0
  302. package/dist/hooks/use-frontend-tool.mjs.map +1 -0
  303. package/dist/hooks/use-human-in-the-loop.d.mts +7 -0
  304. package/dist/hooks/use-human-in-the-loop.d.ts +7 -0
  305. package/dist/hooks/use-human-in-the-loop.js +206 -0
  306. package/dist/hooks/use-human-in-the-loop.js.map +1 -0
  307. package/dist/hooks/use-human-in-the-loop.mjs +11 -0
  308. package/dist/hooks/use-human-in-the-loop.mjs.map +1 -0
  309. package/dist/hooks/use-keyboard-height.d.mts +15 -0
  310. package/dist/hooks/use-keyboard-height.d.ts +15 -0
  311. package/dist/hooks/use-keyboard-height.js +68 -0
  312. package/dist/hooks/use-keyboard-height.js.map +1 -0
  313. package/dist/hooks/use-keyboard-height.mjs +7 -0
  314. package/dist/hooks/use-keyboard-height.mjs.map +1 -0
  315. package/dist/hooks/use-render-activity-message.d.mts +5 -0
  316. package/dist/hooks/use-render-activity-message.d.ts +5 -0
  317. package/dist/hooks/use-render-activity-message.js +158 -0
  318. package/dist/hooks/use-render-activity-message.js.map +1 -0
  319. package/dist/hooks/use-render-activity-message.mjs +12 -0
  320. package/dist/hooks/use-render-activity-message.mjs.map +1 -0
  321. package/dist/hooks/use-render-custom-messages.d.mts +11 -0
  322. package/dist/hooks/use-render-custom-messages.d.ts +11 -0
  323. package/dist/hooks/use-render-custom-messages.js +170 -0
  324. package/dist/hooks/use-render-custom-messages.js.map +1 -0
  325. package/dist/hooks/use-render-custom-messages.mjs +12 -0
  326. package/dist/hooks/use-render-custom-messages.mjs.map +1 -0
  327. package/dist/hooks/use-render-tool-call.d.mts +16 -0
  328. package/dist/hooks/use-render-tool-call.d.ts +16 -0
  329. package/dist/hooks/use-render-tool-call.js +208 -0
  330. package/dist/hooks/use-render-tool-call.js.map +1 -0
  331. package/dist/hooks/use-render-tool-call.mjs +11 -0
  332. package/dist/hooks/use-render-tool-call.mjs.map +1 -0
  333. package/dist/hooks/use-suggestions.d.mts +14 -0
  334. package/dist/hooks/use-suggestions.d.ts +14 -0
  335. package/dist/hooks/use-suggestions.js +176 -0
  336. package/dist/hooks/use-suggestions.js.map +1 -0
  337. package/dist/hooks/use-suggestions.mjs +11 -0
  338. package/dist/hooks/use-suggestions.mjs.map +1 -0
  339. package/dist/index.d.mts +46 -635
  340. package/dist/index.d.ts +46 -635
  341. package/dist/index.mjs +110 -3960
  342. package/dist/index.mjs.map +1 -1
  343. package/dist/lib/react-core.d.mts +33 -0
  344. package/dist/lib/react-core.d.ts +33 -0
  345. package/dist/lib/react-core.js +73 -0
  346. package/dist/lib/react-core.js.map +1 -0
  347. package/dist/lib/react-core.mjs +7 -0
  348. package/dist/lib/react-core.mjs.map +1 -0
  349. package/dist/lib/slots.d.mts +16 -0
  350. package/dist/lib/slots.d.ts +16 -0
  351. package/dist/lib/slots.js +60 -0
  352. package/dist/lib/slots.js.map +1 -0
  353. package/dist/lib/slots.mjs +7 -0
  354. package/dist/lib/slots.mjs.map +1 -0
  355. package/dist/lib/utils.d.mts +5 -0
  356. package/dist/lib/utils.d.ts +5 -0
  357. package/dist/lib/utils.js +35 -0
  358. package/dist/lib/utils.js.map +1 -0
  359. package/dist/lib/utils.mjs +7 -0
  360. package/dist/lib/utils.mjs.map +1 -0
  361. package/dist/providers/CopilotChatConfigurationProvider.d.mts +43 -0
  362. package/dist/providers/CopilotChatConfigurationProvider.d.ts +43 -0
  363. package/dist/providers/CopilotChatConfigurationProvider.js +109 -0
  364. package/dist/providers/CopilotChatConfigurationProvider.js.map +1 -0
  365. package/dist/providers/CopilotChatConfigurationProvider.mjs +11 -0
  366. package/dist/providers/CopilotChatConfigurationProvider.mjs.map +1 -0
  367. package/dist/providers/CopilotKitProvider.d.mts +33 -0
  368. package/dist/providers/CopilotKitProvider.d.ts +33 -0
  369. package/dist/providers/CopilotKitProvider.js +314 -0
  370. package/dist/providers/CopilotKitProvider.js.map +1 -0
  371. package/dist/providers/CopilotKitProvider.mjs +12 -0
  372. package/dist/providers/CopilotKitProvider.mjs.map +1 -0
  373. package/dist/providers/index.d.mts +13 -0
  374. package/dist/providers/index.d.ts +13 -0
  375. package/dist/providers/index.js +396 -0
  376. package/dist/providers/index.js.map +1 -0
  377. package/dist/providers/index.mjs +18 -0
  378. package/dist/providers/index.mjs.map +1 -0
  379. package/dist/types/defineToolCallRenderer.d.mts +41 -0
  380. package/dist/types/defineToolCallRenderer.d.ts +41 -0
  381. package/dist/types/defineToolCallRenderer.js +40 -0
  382. package/dist/types/defineToolCallRenderer.js.map +1 -0
  383. package/dist/types/defineToolCallRenderer.mjs +7 -0
  384. package/dist/types/defineToolCallRenderer.mjs.map +1 -0
  385. package/dist/types/frontend-tool.d.mts +9 -0
  386. package/dist/types/frontend-tool.d.ts +9 -0
  387. package/dist/types/frontend-tool.js +19 -0
  388. package/dist/types/frontend-tool.js.map +1 -0
  389. package/dist/types/frontend-tool.mjs +2 -0
  390. package/dist/types/frontend-tool.mjs.map +1 -0
  391. package/dist/types/human-in-the-loop.d.mts +29 -0
  392. package/dist/types/human-in-the-loop.d.ts +29 -0
  393. package/dist/types/human-in-the-loop.js +19 -0
  394. package/dist/types/human-in-the-loop.js.map +1 -0
  395. package/dist/types/human-in-the-loop.mjs +2 -0
  396. package/dist/types/human-in-the-loop.mjs.map +1 -0
  397. package/dist/types/index.d.mts +11 -0
  398. package/dist/types/index.d.ts +11 -0
  399. package/dist/types/index.js +42 -0
  400. package/dist/types/index.js.map +1 -0
  401. package/dist/types/index.mjs +13 -0
  402. package/dist/types/index.mjs.map +1 -0
  403. package/dist/types/react-activity-message-renderer.d.mts +29 -0
  404. package/dist/types/react-activity-message-renderer.d.ts +29 -0
  405. package/dist/types/react-activity-message-renderer.js +19 -0
  406. package/dist/types/react-activity-message-renderer.js.map +1 -0
  407. package/dist/types/react-activity-message-renderer.mjs +2 -0
  408. package/dist/types/react-activity-message-renderer.mjs.map +1 -0
  409. package/dist/types/react-custom-message-renderer.d.mts +18 -0
  410. package/dist/types/react-custom-message-renderer.d.ts +18 -0
  411. package/dist/types/react-custom-message-renderer.js +19 -0
  412. package/dist/types/react-custom-message-renderer.js.map +1 -0
  413. package/dist/types/react-custom-message-renderer.mjs +2 -0
  414. package/dist/types/react-custom-message-renderer.mjs.map +1 -0
  415. package/dist/types/react-tool-call-renderer.d.mts +30 -0
  416. package/dist/types/react-tool-call-renderer.d.ts +30 -0
  417. package/dist/types/react-tool-call-renderer.js +19 -0
  418. package/dist/types/react-tool-call-renderer.js.map +1 -0
  419. package/dist/types/react-tool-call-renderer.mjs +2 -0
  420. package/dist/types/react-tool-call-renderer.mjs.map +1 -0
  421. package/package.json +8 -7
@@ -0,0 +1,283 @@
1
+ import {
2
+ CopilotChatToolCallsView_default
3
+ } from "./chunk-YVPPF62K.mjs";
4
+ import {
5
+ Button
6
+ } from "./chunk-TAUOEJH2.mjs";
7
+ import {
8
+ Tooltip,
9
+ TooltipContent,
10
+ TooltipTrigger
11
+ } from "./chunk-VVAXSF3M.mjs";
12
+ import {
13
+ renderSlot
14
+ } from "./chunk-FIBK3DYE.mjs";
15
+ import {
16
+ CopilotChatDefaultLabels,
17
+ useCopilotChatConfiguration
18
+ } from "./chunk-4XJK5IVQ.mjs";
19
+
20
+ // src/components/chat/CopilotChatAssistantMessage.tsx
21
+ import { useState } from "react";
22
+ import {
23
+ Copy,
24
+ Check,
25
+ ThumbsUp,
26
+ ThumbsDown,
27
+ Volume2,
28
+ RefreshCw
29
+ } from "lucide-react";
30
+ import { twMerge } from "tailwind-merge";
31
+ import "katex/dist/katex.min.css";
32
+ import { Streamdown } from "streamdown";
33
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
34
+ function CopilotChatAssistantMessage({
35
+ message,
36
+ messages,
37
+ isRunning,
38
+ onThumbsUp,
39
+ onThumbsDown,
40
+ onReadAloud,
41
+ onRegenerate,
42
+ additionalToolbarItems,
43
+ toolbarVisible = true,
44
+ markdownRenderer,
45
+ toolbar,
46
+ copyButton,
47
+ thumbsUpButton,
48
+ thumbsDownButton,
49
+ readAloudButton,
50
+ regenerateButton,
51
+ toolCallsView,
52
+ children,
53
+ className,
54
+ ...props
55
+ }) {
56
+ const boundMarkdownRenderer = renderSlot(
57
+ markdownRenderer,
58
+ CopilotChatAssistantMessage.MarkdownRenderer,
59
+ {
60
+ content: message.content || ""
61
+ }
62
+ );
63
+ const boundCopyButton = renderSlot(
64
+ copyButton,
65
+ CopilotChatAssistantMessage.CopyButton,
66
+ {
67
+ onClick: async () => {
68
+ if (message.content) {
69
+ try {
70
+ await navigator.clipboard.writeText(message.content);
71
+ } catch (err) {
72
+ console.error("Failed to copy message:", err);
73
+ }
74
+ }
75
+ }
76
+ }
77
+ );
78
+ const boundThumbsUpButton = renderSlot(
79
+ thumbsUpButton,
80
+ CopilotChatAssistantMessage.ThumbsUpButton,
81
+ {
82
+ onClick: onThumbsUp
83
+ }
84
+ );
85
+ const boundThumbsDownButton = renderSlot(
86
+ thumbsDownButton,
87
+ CopilotChatAssistantMessage.ThumbsDownButton,
88
+ {
89
+ onClick: onThumbsDown
90
+ }
91
+ );
92
+ const boundReadAloudButton = renderSlot(
93
+ readAloudButton,
94
+ CopilotChatAssistantMessage.ReadAloudButton,
95
+ {
96
+ onClick: onReadAloud
97
+ }
98
+ );
99
+ const boundRegenerateButton = renderSlot(
100
+ regenerateButton,
101
+ CopilotChatAssistantMessage.RegenerateButton,
102
+ {
103
+ onClick: onRegenerate
104
+ }
105
+ );
106
+ const boundToolbar = renderSlot(
107
+ toolbar,
108
+ CopilotChatAssistantMessage.Toolbar,
109
+ {
110
+ children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1", children: [
111
+ boundCopyButton,
112
+ (onThumbsUp || thumbsUpButton) && boundThumbsUpButton,
113
+ (onThumbsDown || thumbsDownButton) && boundThumbsDownButton,
114
+ (onReadAloud || readAloudButton) && boundReadAloudButton,
115
+ (onRegenerate || regenerateButton) && boundRegenerateButton,
116
+ additionalToolbarItems
117
+ ] })
118
+ }
119
+ );
120
+ const boundToolCallsView = renderSlot(
121
+ toolCallsView,
122
+ CopilotChatToolCallsView_default,
123
+ {
124
+ message,
125
+ messages
126
+ }
127
+ );
128
+ const hasContent = !!(message.content && message.content.trim().length > 0);
129
+ const isLatestAssistantMessage = message.role === "assistant" && messages?.[messages.length - 1]?.id === message.id;
130
+ const shouldShowToolbar = toolbarVisible && hasContent && !(isRunning && isLatestAssistantMessage);
131
+ if (children) {
132
+ return /* @__PURE__ */ jsx(Fragment, { children: children({
133
+ markdownRenderer: boundMarkdownRenderer,
134
+ toolbar: boundToolbar,
135
+ toolCallsView: boundToolCallsView,
136
+ copyButton: boundCopyButton,
137
+ thumbsUpButton: boundThumbsUpButton,
138
+ thumbsDownButton: boundThumbsDownButton,
139
+ readAloudButton: boundReadAloudButton,
140
+ regenerateButton: boundRegenerateButton,
141
+ message,
142
+ messages,
143
+ isRunning,
144
+ onThumbsUp,
145
+ onThumbsDown,
146
+ onReadAloud,
147
+ onRegenerate,
148
+ additionalToolbarItems,
149
+ toolbarVisible: shouldShowToolbar
150
+ }) });
151
+ }
152
+ return /* @__PURE__ */ jsxs(
153
+ "div",
154
+ {
155
+ className: twMerge(
156
+ "prose max-w-full break-words dark:prose-invert",
157
+ className
158
+ ),
159
+ ...props,
160
+ "data-message-id": message.id,
161
+ children: [
162
+ boundMarkdownRenderer,
163
+ boundToolCallsView,
164
+ shouldShowToolbar && boundToolbar
165
+ ]
166
+ }
167
+ );
168
+ }
169
+ ((CopilotChatAssistantMessage2) => {
170
+ CopilotChatAssistantMessage2.MarkdownRenderer = ({ content, className, ...props }) => /* @__PURE__ */ jsx(Streamdown, { className, ...props, children: content ?? "" });
171
+ CopilotChatAssistantMessage2.Toolbar = ({
172
+ className,
173
+ ...props
174
+ }) => /* @__PURE__ */ jsx(
175
+ "div",
176
+ {
177
+ className: twMerge(
178
+ "w-full bg-transparent flex items-center -ml-[5px] -mt-[0px]",
179
+ className
180
+ ),
181
+ ...props
182
+ }
183
+ );
184
+ CopilotChatAssistantMessage2.ToolbarButton = ({ title, children, ...props }) => {
185
+ return /* @__PURE__ */ jsxs(Tooltip, { children: [
186
+ /* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
187
+ Button,
188
+ {
189
+ type: "button",
190
+ variant: "assistantMessageToolbarButton",
191
+ "aria-label": title,
192
+ ...props,
193
+ children
194
+ }
195
+ ) }),
196
+ /* @__PURE__ */ jsx(TooltipContent, { side: "bottom", children: /* @__PURE__ */ jsx("p", { children: title }) })
197
+ ] });
198
+ };
199
+ CopilotChatAssistantMessage2.CopyButton = ({ className, title, onClick, ...props }) => {
200
+ const config = useCopilotChatConfiguration();
201
+ const labels = config?.labels ?? CopilotChatDefaultLabels;
202
+ const [copied, setCopied] = useState(false);
203
+ const handleClick = (event) => {
204
+ setCopied(true);
205
+ setTimeout(() => setCopied(false), 2e3);
206
+ if (onClick) {
207
+ onClick(event);
208
+ }
209
+ };
210
+ return /* @__PURE__ */ jsx(
211
+ CopilotChatAssistantMessage2.ToolbarButton,
212
+ {
213
+ title: title || labels.assistantMessageToolbarCopyMessageLabel,
214
+ onClick: handleClick,
215
+ className,
216
+ ...props,
217
+ children: copied ? /* @__PURE__ */ jsx(Check, { className: "size-[18px]" }) : /* @__PURE__ */ jsx(Copy, { className: "size-[18px]" })
218
+ }
219
+ );
220
+ };
221
+ CopilotChatAssistantMessage2.ThumbsUpButton = ({ title, ...props }) => {
222
+ const config = useCopilotChatConfiguration();
223
+ const labels = config?.labels ?? CopilotChatDefaultLabels;
224
+ return /* @__PURE__ */ jsx(
225
+ CopilotChatAssistantMessage2.ToolbarButton,
226
+ {
227
+ title: title || labels.assistantMessageToolbarThumbsUpLabel,
228
+ ...props,
229
+ children: /* @__PURE__ */ jsx(ThumbsUp, { className: "size-[18px]" })
230
+ }
231
+ );
232
+ };
233
+ CopilotChatAssistantMessage2.ThumbsDownButton = ({ title, ...props }) => {
234
+ const config = useCopilotChatConfiguration();
235
+ const labels = config?.labels ?? CopilotChatDefaultLabels;
236
+ return /* @__PURE__ */ jsx(
237
+ CopilotChatAssistantMessage2.ToolbarButton,
238
+ {
239
+ title: title || labels.assistantMessageToolbarThumbsDownLabel,
240
+ ...props,
241
+ children: /* @__PURE__ */ jsx(ThumbsDown, { className: "size-[18px]" })
242
+ }
243
+ );
244
+ };
245
+ CopilotChatAssistantMessage2.ReadAloudButton = ({ title, ...props }) => {
246
+ const config = useCopilotChatConfiguration();
247
+ const labels = config?.labels ?? CopilotChatDefaultLabels;
248
+ return /* @__PURE__ */ jsx(
249
+ CopilotChatAssistantMessage2.ToolbarButton,
250
+ {
251
+ title: title || labels.assistantMessageToolbarReadAloudLabel,
252
+ ...props,
253
+ children: /* @__PURE__ */ jsx(Volume2, { className: "size-[20px]" })
254
+ }
255
+ );
256
+ };
257
+ CopilotChatAssistantMessage2.RegenerateButton = ({ title, ...props }) => {
258
+ const config = useCopilotChatConfiguration();
259
+ const labels = config?.labels ?? CopilotChatDefaultLabels;
260
+ return /* @__PURE__ */ jsx(
261
+ CopilotChatAssistantMessage2.ToolbarButton,
262
+ {
263
+ title: title || labels.assistantMessageToolbarRegenerateLabel,
264
+ ...props,
265
+ children: /* @__PURE__ */ jsx(RefreshCw, { className: "size-[18px]" })
266
+ }
267
+ );
268
+ };
269
+ })(CopilotChatAssistantMessage || (CopilotChatAssistantMessage = {}));
270
+ CopilotChatAssistantMessage.MarkdownRenderer.displayName = "CopilotChatAssistantMessage.MarkdownRenderer";
271
+ CopilotChatAssistantMessage.Toolbar.displayName = "CopilotChatAssistantMessage.Toolbar";
272
+ CopilotChatAssistantMessage.CopyButton.displayName = "CopilotChatAssistantMessage.CopyButton";
273
+ CopilotChatAssistantMessage.ThumbsUpButton.displayName = "CopilotChatAssistantMessage.ThumbsUpButton";
274
+ CopilotChatAssistantMessage.ThumbsDownButton.displayName = "CopilotChatAssistantMessage.ThumbsDownButton";
275
+ CopilotChatAssistantMessage.ReadAloudButton.displayName = "CopilotChatAssistantMessage.ReadAloudButton";
276
+ CopilotChatAssistantMessage.RegenerateButton.displayName = "CopilotChatAssistantMessage.RegenerateButton";
277
+ var CopilotChatAssistantMessage_default = CopilotChatAssistantMessage;
278
+
279
+ export {
280
+ CopilotChatAssistantMessage,
281
+ CopilotChatAssistantMessage_default
282
+ };
283
+ //# sourceMappingURL=chunk-CZ3GI3IF.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/chat/CopilotChatAssistantMessage.tsx"],"sourcesContent":["import { AssistantMessage, Message } from \"@ag-ui/core\";\nimport { useState } from \"react\";\nimport {\n Copy,\n Check,\n ThumbsUp,\n ThumbsDown,\n Volume2,\n RefreshCw,\n} from \"lucide-react\";\nimport {\n useCopilotChatConfiguration,\n CopilotChatDefaultLabels,\n} from \"@/providers/CopilotChatConfigurationProvider\";\nimport { twMerge } from \"tailwind-merge\";\nimport { Button } from \"@/components/ui/button\";\nimport {\n Tooltip,\n TooltipContent,\n TooltipTrigger,\n} from \"@/components/ui/tooltip\";\nimport \"katex/dist/katex.min.css\";\nimport { WithSlots, renderSlot } from \"@/lib/slots\";\nimport { Streamdown } from \"streamdown\";\nimport CopilotChatToolCallsView from \"./CopilotChatToolCallsView\";\n\nexport type CopilotChatAssistantMessageProps = WithSlots<\n {\n markdownRenderer: typeof CopilotChatAssistantMessage.MarkdownRenderer;\n toolbar: typeof CopilotChatAssistantMessage.Toolbar;\n copyButton: typeof CopilotChatAssistantMessage.CopyButton;\n thumbsUpButton: typeof CopilotChatAssistantMessage.ThumbsUpButton;\n thumbsDownButton: typeof CopilotChatAssistantMessage.ThumbsDownButton;\n readAloudButton: typeof CopilotChatAssistantMessage.ReadAloudButton;\n regenerateButton: typeof CopilotChatAssistantMessage.RegenerateButton;\n toolCallsView: typeof CopilotChatToolCallsView;\n },\n {\n onThumbsUp?: (message: AssistantMessage) => void;\n onThumbsDown?: (message: AssistantMessage) => void;\n onReadAloud?: (message: AssistantMessage) => void;\n onRegenerate?: (message: AssistantMessage) => void;\n message: AssistantMessage;\n messages?: Message[];\n isRunning?: boolean;\n additionalToolbarItems?: React.ReactNode;\n toolbarVisible?: boolean;\n } & React.HTMLAttributes<HTMLDivElement>\n>;\n\nexport function CopilotChatAssistantMessage({\n message,\n messages,\n isRunning,\n onThumbsUp,\n onThumbsDown,\n onReadAloud,\n onRegenerate,\n additionalToolbarItems,\n toolbarVisible = true,\n markdownRenderer,\n toolbar,\n copyButton,\n thumbsUpButton,\n thumbsDownButton,\n readAloudButton,\n regenerateButton,\n toolCallsView,\n children,\n className,\n ...props\n}: CopilotChatAssistantMessageProps) {\n const boundMarkdownRenderer = renderSlot(\n markdownRenderer,\n CopilotChatAssistantMessage.MarkdownRenderer,\n {\n content: message.content || \"\",\n \n }\n );\n\n const boundCopyButton = renderSlot(\n copyButton,\n CopilotChatAssistantMessage.CopyButton,\n {\n onClick: async () => {\n if (message.content) {\n try {\n await navigator.clipboard.writeText(message.content);\n } catch (err) {\n console.error(\"Failed to copy message:\", err);\n }\n }\n },\n }\n );\n\n const boundThumbsUpButton = renderSlot(\n thumbsUpButton,\n CopilotChatAssistantMessage.ThumbsUpButton,\n {\n onClick: onThumbsUp,\n }\n );\n\n const boundThumbsDownButton = renderSlot(\n thumbsDownButton,\n CopilotChatAssistantMessage.ThumbsDownButton,\n {\n onClick: onThumbsDown,\n }\n );\n\n const boundReadAloudButton = renderSlot(\n readAloudButton,\n CopilotChatAssistantMessage.ReadAloudButton,\n {\n onClick: onReadAloud,\n }\n );\n\n const boundRegenerateButton = renderSlot(\n regenerateButton,\n CopilotChatAssistantMessage.RegenerateButton,\n {\n onClick: onRegenerate,\n }\n );\n\n const boundToolbar = renderSlot(\n toolbar,\n CopilotChatAssistantMessage.Toolbar,\n {\n children: (\n <div className=\"flex items-center gap-1\">\n {boundCopyButton}\n {(onThumbsUp || thumbsUpButton) && boundThumbsUpButton}\n {(onThumbsDown || thumbsDownButton) && boundThumbsDownButton}\n {(onReadAloud || readAloudButton) && boundReadAloudButton}\n {(onRegenerate || regenerateButton) && boundRegenerateButton}\n {additionalToolbarItems}\n </div>\n ),\n }\n );\n\n const boundToolCallsView = renderSlot(\n toolCallsView,\n CopilotChatToolCallsView,\n {\n message,\n messages,\n }\n );\n\n // Don't show toolbar if message has no content (only tool calls)\n const hasContent = !!(message.content && message.content.trim().length > 0);\n const isLatestAssistantMessage =\n message.role === \"assistant\" && messages?.[messages.length - 1]?.id === message.id;\n const shouldShowToolbar = toolbarVisible && hasContent && !(isRunning && isLatestAssistantMessage);\n\n if (children) {\n return (\n <>\n {children({\n markdownRenderer: boundMarkdownRenderer,\n toolbar: boundToolbar,\n toolCallsView: boundToolCallsView,\n copyButton: boundCopyButton,\n thumbsUpButton: boundThumbsUpButton,\n thumbsDownButton: boundThumbsDownButton,\n readAloudButton: boundReadAloudButton,\n regenerateButton: boundRegenerateButton,\n message,\n messages,\n isRunning,\n onThumbsUp,\n onThumbsDown,\n onReadAloud,\n onRegenerate,\n additionalToolbarItems,\n toolbarVisible: shouldShowToolbar,\n })}\n </>\n );\n }\n\n return (\n <div\n className={twMerge(\n \"prose max-w-full break-words dark:prose-invert\",\n className\n )}\n {...props}\n data-message-id={message.id}\n >\n {boundMarkdownRenderer}\n {boundToolCallsView}\n {shouldShowToolbar && boundToolbar}\n </div>\n );\n}\n\n// eslint-disable-next-line @typescript-eslint/no-namespace\nexport namespace CopilotChatAssistantMessage {\n export const MarkdownRenderer: React.FC<\n Omit<React.ComponentProps<typeof Streamdown>, \"children\"> & {\n content: string;\n }\n > = ({ content, className, ...props }) => (\n <Streamdown className={className} {...props}>\n {content ?? \"\"}\n </Streamdown>\n );\n\n export const Toolbar: React.FC<React.HTMLAttributes<HTMLDivElement>> = ({\n className,\n ...props\n }) => (\n <div\n className={twMerge(\n \"w-full bg-transparent flex items-center -ml-[5px] -mt-[0px]\",\n className\n )}\n {...props}\n />\n );\n\n export const ToolbarButton: React.FC<\n React.ButtonHTMLAttributes<HTMLButtonElement> & {\n title: string;\n children: React.ReactNode;\n }\n > = ({ title, children, ...props }) => {\n return (\n <Tooltip>\n <TooltipTrigger asChild>\n <Button\n type=\"button\"\n variant=\"assistantMessageToolbarButton\"\n aria-label={title}\n {...props}\n >\n {children}\n </Button>\n </TooltipTrigger>\n <TooltipContent side=\"bottom\">\n <p>{title}</p>\n </TooltipContent>\n </Tooltip>\n );\n };\n\n export const CopyButton: React.FC<\n React.ButtonHTMLAttributes<HTMLButtonElement>\n > = ({ className, title, onClick, ...props }) => {\n const config = useCopilotChatConfiguration();\n const labels = config?.labels ?? CopilotChatDefaultLabels;\n const [copied, setCopied] = useState(false);\n\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n setCopied(true);\n setTimeout(() => setCopied(false), 2000);\n\n if (onClick) {\n onClick(event);\n }\n };\n\n return (\n <ToolbarButton\n title={title || labels.assistantMessageToolbarCopyMessageLabel}\n onClick={handleClick}\n className={className}\n {...props}\n >\n {copied ? (\n <Check className=\"size-[18px]\" />\n ) : (\n <Copy className=\"size-[18px]\" />\n )}\n </ToolbarButton>\n );\n };\n\n export const ThumbsUpButton: React.FC<\n React.ButtonHTMLAttributes<HTMLButtonElement>\n > = ({ title, ...props }) => {\n const config = useCopilotChatConfiguration();\n const labels = config?.labels ?? CopilotChatDefaultLabels;\n return (\n <ToolbarButton\n title={title || labels.assistantMessageToolbarThumbsUpLabel}\n {...props}\n >\n <ThumbsUp className=\"size-[18px]\" />\n </ToolbarButton>\n );\n };\n\n export const ThumbsDownButton: React.FC<\n React.ButtonHTMLAttributes<HTMLButtonElement>\n > = ({ title, ...props }) => {\n const config = useCopilotChatConfiguration();\n const labels = config?.labels ?? CopilotChatDefaultLabels;\n return (\n <ToolbarButton\n title={title || labels.assistantMessageToolbarThumbsDownLabel}\n {...props}\n >\n <ThumbsDown className=\"size-[18px]\" />\n </ToolbarButton>\n );\n };\n\n export const ReadAloudButton: React.FC<\n React.ButtonHTMLAttributes<HTMLButtonElement>\n > = ({ title, ...props }) => {\n const config = useCopilotChatConfiguration();\n const labels = config?.labels ?? CopilotChatDefaultLabels;\n return (\n <ToolbarButton\n title={title || labels.assistantMessageToolbarReadAloudLabel}\n {...props}\n >\n <Volume2 className=\"size-[20px]\" />\n </ToolbarButton>\n );\n };\n\n export const RegenerateButton: React.FC<\n React.ButtonHTMLAttributes<HTMLButtonElement>\n > = ({ title, ...props }) => {\n const config = useCopilotChatConfiguration();\n const labels = config?.labels ?? CopilotChatDefaultLabels;\n return (\n <ToolbarButton\n title={title || labels.assistantMessageToolbarRegenerateLabel}\n {...props}\n >\n <RefreshCw className=\"size-[18px]\" />\n </ToolbarButton>\n );\n };\n}\n\nCopilotChatAssistantMessage.MarkdownRenderer.displayName =\n \"CopilotChatAssistantMessage.MarkdownRenderer\";\nCopilotChatAssistantMessage.Toolbar.displayName =\n \"CopilotChatAssistantMessage.Toolbar\";\nCopilotChatAssistantMessage.CopyButton.displayName =\n \"CopilotChatAssistantMessage.CopyButton\";\nCopilotChatAssistantMessage.ThumbsUpButton.displayName =\n \"CopilotChatAssistantMessage.ThumbsUpButton\";\nCopilotChatAssistantMessage.ThumbsDownButton.displayName =\n \"CopilotChatAssistantMessage.ThumbsDownButton\";\nCopilotChatAssistantMessage.ReadAloudButton.displayName =\n \"CopilotChatAssistantMessage.ReadAloudButton\";\nCopilotChatAssistantMessage.RegenerateButton.displayName =\n \"CopilotChatAssistantMessage.RegenerateButton\";\n\nexport default CopilotChatAssistantMessage;\n"],"mappings":"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","names":["CopilotChatAssistantMessage"]}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=chunk-DVUQO72Z.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,76 @@
1
+ import {
2
+ useCopilotKit
3
+ } from "./chunk-VE3SBLU7.mjs";
4
+
5
+ // src/hooks/use-agent.tsx
6
+ import { useMemo, useEffect, useReducer } from "react";
7
+ import { DEFAULT_AGENT_ID } from "@copilotkitnext/shared";
8
+ var UseAgentUpdate = /* @__PURE__ */ ((UseAgentUpdate2) => {
9
+ UseAgentUpdate2["OnMessagesChanged"] = "OnMessagesChanged";
10
+ UseAgentUpdate2["OnStateChanged"] = "OnStateChanged";
11
+ UseAgentUpdate2["OnRunStatusChanged"] = "OnRunStatusChanged";
12
+ return UseAgentUpdate2;
13
+ })(UseAgentUpdate || {});
14
+ var ALL_UPDATES = [
15
+ "OnMessagesChanged" /* OnMessagesChanged */,
16
+ "OnStateChanged" /* OnStateChanged */,
17
+ "OnRunStatusChanged" /* OnRunStatusChanged */
18
+ ];
19
+ function useAgent({ agentId, updates } = {}) {
20
+ agentId ??= DEFAULT_AGENT_ID;
21
+ const { copilotkit } = useCopilotKit();
22
+ const [, forceUpdate] = useReducer((x) => x + 1, 0);
23
+ const updateFlags = useMemo(
24
+ () => updates ?? ALL_UPDATES,
25
+ [JSON.stringify(updates)]
26
+ );
27
+ const agent = useMemo(() => {
28
+ return copilotkit.getAgent(agentId);
29
+ }, [
30
+ agentId,
31
+ copilotkit.agents,
32
+ copilotkit.runtimeConnectionStatus,
33
+ copilotkit
34
+ ]);
35
+ useEffect(() => {
36
+ if (!agent) {
37
+ return;
38
+ }
39
+ if (updateFlags.length === 0) {
40
+ return;
41
+ }
42
+ const handlers = {};
43
+ if (updateFlags.includes("OnMessagesChanged" /* OnMessagesChanged */)) {
44
+ handlers.onMessagesChanged = () => {
45
+ forceUpdate();
46
+ };
47
+ }
48
+ if (updateFlags.includes("OnStateChanged" /* OnStateChanged */)) {
49
+ handlers.onStateChanged = () => {
50
+ forceUpdate();
51
+ };
52
+ }
53
+ if (updateFlags.includes("OnRunStatusChanged" /* OnRunStatusChanged */)) {
54
+ handlers.onRunInitialized = () => {
55
+ forceUpdate();
56
+ };
57
+ handlers.onRunFinalized = () => {
58
+ forceUpdate();
59
+ };
60
+ handlers.onRunFailed = () => {
61
+ forceUpdate();
62
+ };
63
+ }
64
+ const subscription = agent.subscribe(handlers);
65
+ return () => subscription.unsubscribe();
66
+ }, [agent, forceUpdate, JSON.stringify(updateFlags)]);
67
+ return {
68
+ agent
69
+ };
70
+ }
71
+
72
+ export {
73
+ UseAgentUpdate,
74
+ useAgent
75
+ };
76
+ //# sourceMappingURL=chunk-E4HD4M7R.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/hooks/use-agent.tsx"],"sourcesContent":["import { useCopilotKit } from \"@/providers/CopilotKitProvider\";\nimport { useMemo, useEffect, useReducer } from \"react\";\nimport { DEFAULT_AGENT_ID } from \"@copilotkitnext/shared\";\nimport { AbstractAgent } from \"@ag-ui/client\";\n\nexport enum UseAgentUpdate {\n OnMessagesChanged = \"OnMessagesChanged\",\n OnStateChanged = \"OnStateChanged\",\n OnRunStatusChanged = \"OnRunStatusChanged\",\n}\n\nconst ALL_UPDATES: UseAgentUpdate[] = [\n UseAgentUpdate.OnMessagesChanged,\n UseAgentUpdate.OnStateChanged,\n UseAgentUpdate.OnRunStatusChanged,\n];\n\nexport interface UseAgentProps {\n agentId?: string;\n updates?: UseAgentUpdate[];\n}\n\nexport function useAgent({ agentId, updates }: UseAgentProps = {}) {\n agentId ??= DEFAULT_AGENT_ID;\n\n const { copilotkit } = useCopilotKit();\n const [, forceUpdate] = useReducer((x) => x + 1, 0);\n\n const updateFlags = useMemo(\n () => updates ?? ALL_UPDATES,\n [JSON.stringify(updates)]\n );\n\n const agent: AbstractAgent | undefined = useMemo(() => {\n return copilotkit.getAgent(agentId);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n agentId,\n copilotkit.agents,\n copilotkit.runtimeConnectionStatus,\n copilotkit,\n ]);\n\n useEffect(() => {\n if (!agent) {\n return;\n }\n\n if (updateFlags.length === 0) {\n return;\n }\n\n const handlers: Parameters<AbstractAgent[\"subscribe\"]>[0] = {};\n\n if (updateFlags.includes(UseAgentUpdate.OnMessagesChanged)) {\n handlers.onMessagesChanged = () => {\n forceUpdate();\n };\n }\n\n if (updateFlags.includes(UseAgentUpdate.OnStateChanged)) {\n handlers.onStateChanged = () => {\n forceUpdate();\n };\n }\n\n if (updateFlags.includes(UseAgentUpdate.OnRunStatusChanged)) {\n handlers.onRunInitialized = () => {\n forceUpdate();\n };\n handlers.onRunFinalized = () => {\n forceUpdate();\n };\n handlers.onRunFailed = () => {\n forceUpdate();\n };\n }\n\n const subscription = agent.subscribe(handlers);\n return () => subscription.unsubscribe();\n }, [agent, forceUpdate, JSON.stringify(updateFlags)]);\n\n return {\n agent,\n };\n}\n"],"mappings":";;;;;AACA,SAAS,SAAS,WAAW,kBAAkB;AAC/C,SAAS,wBAAwB;AAG1B,IAAK,iBAAL,kBAAKA,oBAAL;AACL,EAAAA,gBAAA,uBAAoB;AACpB,EAAAA,gBAAA,oBAAiB;AACjB,EAAAA,gBAAA,wBAAqB;AAHX,SAAAA;AAAA,GAAA;AAMZ,IAAM,cAAgC;AAAA,EACpC;AAAA,EACA;AAAA,EACA;AACF;AAOO,SAAS,SAAS,EAAE,SAAS,QAAQ,IAAmB,CAAC,GAAG;AACjE,cAAY;AAEZ,QAAM,EAAE,WAAW,IAAI,cAAc;AACrC,QAAM,CAAC,EAAE,WAAW,IAAI,WAAW,CAAC,MAAM,IAAI,GAAG,CAAC;AAElD,QAAM,cAAc;AAAA,IAClB,MAAM,WAAW;AAAA,IACjB,CAAC,KAAK,UAAU,OAAO,CAAC;AAAA,EAC1B;AAEA,QAAM,QAAmC,QAAQ,MAAM;AACrD,WAAO,WAAW,SAAS,OAAO;AAAA,EAEpC,GAAG;AAAA,IACD;AAAA,IACA,WAAW;AAAA,IACX,WAAW;AAAA,IACX;AAAA,EACF,CAAC;AAED,YAAU,MAAM;AACd,QAAI,CAAC,OAAO;AACV;AAAA,IACF;AAEA,QAAI,YAAY,WAAW,GAAG;AAC5B;AAAA,IACF;AAEA,UAAM,WAAsD,CAAC;AAE7D,QAAI,YAAY,SAAS,2CAAgC,GAAG;AAC1D,eAAS,oBAAoB,MAAM;AACjC,oBAAY;AAAA,MACd;AAAA,IACF;AAEA,QAAI,YAAY,SAAS,qCAA6B,GAAG;AACvD,eAAS,iBAAiB,MAAM;AAC9B,oBAAY;AAAA,MACd;AAAA,IACF;AAEA,QAAI,YAAY,SAAS,6CAAiC,GAAG;AAC3D,eAAS,mBAAmB,MAAM;AAChC,oBAAY;AAAA,MACd;AACA,eAAS,iBAAiB,MAAM;AAC9B,oBAAY;AAAA,MACd;AACA,eAAS,cAAc,MAAM;AAC3B,oBAAY;AAAA,MACd;AAAA,IACF;AAEA,UAAM,eAAe,MAAM,UAAU,QAAQ;AAC7C,WAAO,MAAM,aAAa,YAAY;AAAA,EACxC,GAAG,CAAC,OAAO,aAAa,KAAK,UAAU,WAAW,CAAC,CAAC;AAEpD,SAAO;AAAA,IACL;AAAA,EACF;AACF;","names":["UseAgentUpdate"]}
@@ -0,0 +1,101 @@
1
+ import {
2
+ renderSlot
3
+ } from "./chunk-FIBK3DYE.mjs";
4
+ import {
5
+ cn
6
+ } from "./chunk-XO4IRKSC.mjs";
7
+ import {
8
+ CopilotChatDefaultLabels,
9
+ useCopilotChatConfiguration
10
+ } from "./chunk-4XJK5IVQ.mjs";
11
+
12
+ // src/components/chat/CopilotModalHeader.tsx
13
+ import { useCallback } from "react";
14
+ import { X } from "lucide-react";
15
+ import { jsx, jsxs } from "react/jsx-runtime";
16
+ function CopilotModalHeader({
17
+ title,
18
+ titleContent,
19
+ closeButton,
20
+ children,
21
+ className,
22
+ ...rest
23
+ }) {
24
+ const configuration = useCopilotChatConfiguration();
25
+ const fallbackTitle = configuration?.labels.modalHeaderTitle ?? CopilotChatDefaultLabels.modalHeaderTitle;
26
+ const resolvedTitle = title ?? fallbackTitle;
27
+ const handleClose = useCallback(() => {
28
+ configuration?.setModalOpen(false);
29
+ }, [configuration]);
30
+ const BoundTitle = renderSlot(titleContent, CopilotModalHeader.Title, {
31
+ children: resolvedTitle
32
+ });
33
+ const BoundCloseButton = renderSlot(closeButton, CopilotModalHeader.CloseButton, {
34
+ onClick: handleClose
35
+ });
36
+ if (children) {
37
+ return children({
38
+ titleContent: BoundTitle,
39
+ closeButton: BoundCloseButton,
40
+ title: resolvedTitle,
41
+ ...rest
42
+ });
43
+ }
44
+ return /* @__PURE__ */ jsx(
45
+ "header",
46
+ {
47
+ "data-slot": "copilot-modal-header",
48
+ className: cn(
49
+ "flex items-center justify-between border-b border-border px-4 py-4",
50
+ "bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/80",
51
+ className
52
+ ),
53
+ ...rest,
54
+ children: /* @__PURE__ */ jsxs("div", { className: "flex w-full items-center gap-2", children: [
55
+ /* @__PURE__ */ jsx("div", { className: "flex-1", "aria-hidden": "true" }),
56
+ /* @__PURE__ */ jsx("div", { className: "flex flex-1 justify-center text-center", children: BoundTitle }),
57
+ /* @__PURE__ */ jsx("div", { className: "flex flex-1 justify-end", children: BoundCloseButton })
58
+ ] })
59
+ }
60
+ );
61
+ }
62
+ CopilotModalHeader.displayName = "CopilotModalHeader";
63
+ ((CopilotModalHeader2) => {
64
+ CopilotModalHeader2.Title = ({ children, className, ...props }) => /* @__PURE__ */ jsx(
65
+ "div",
66
+ {
67
+ className: cn(
68
+ "w-full text-base font-medium leading-none tracking-tight text-foreground",
69
+ className
70
+ ),
71
+ ...props,
72
+ children
73
+ }
74
+ );
75
+ CopilotModalHeader2.CloseButton = ({
76
+ className,
77
+ ...props
78
+ }) => /* @__PURE__ */ jsx(
79
+ "button",
80
+ {
81
+ type: "button",
82
+ className: cn(
83
+ "inline-flex size-8 items-center justify-center rounded-full text-muted-foreground transition cursor-pointer",
84
+ "hover:bg-muted hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
85
+ className
86
+ ),
87
+ "aria-label": "Close",
88
+ ...props,
89
+ children: /* @__PURE__ */ jsx(X, { className: "h-4 w-4", "aria-hidden": "true" })
90
+ }
91
+ );
92
+ })(CopilotModalHeader || (CopilotModalHeader = {}));
93
+ CopilotModalHeader.Title.displayName = "CopilotModalHeader.Title";
94
+ CopilotModalHeader.CloseButton.displayName = "CopilotModalHeader.CloseButton";
95
+ var CopilotModalHeader_default = CopilotModalHeader;
96
+
97
+ export {
98
+ CopilotModalHeader,
99
+ CopilotModalHeader_default
100
+ };
101
+ //# sourceMappingURL=chunk-E56GYBP3.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/chat/CopilotModalHeader.tsx"],"sourcesContent":["import React, { useCallback } from \"react\";\n\nimport { cn } from \"@/lib/utils\";\nimport { useCopilotChatConfiguration, CopilotChatDefaultLabels } from \"@/providers/CopilotChatConfigurationProvider\";\nimport { renderSlot, WithSlots } from \"@/lib/slots\";\nimport { X } from \"lucide-react\";\n\ntype HeaderSlots = {\n titleContent: typeof CopilotModalHeader.Title;\n closeButton: typeof CopilotModalHeader.CloseButton;\n};\n\ntype HeaderRestProps = {\n title?: string;\n} & Omit<React.HTMLAttributes<HTMLDivElement>, \"children\">;\n\nexport type CopilotModalHeaderProps = WithSlots<HeaderSlots, HeaderRestProps>;\n\nexport function CopilotModalHeader({\n title,\n titleContent,\n closeButton,\n children,\n className,\n ...rest\n}: CopilotModalHeaderProps) {\n const configuration = useCopilotChatConfiguration();\n\n const fallbackTitle = configuration?.labels.modalHeaderTitle ?? CopilotChatDefaultLabels.modalHeaderTitle;\n const resolvedTitle = title ?? fallbackTitle;\n\n const handleClose = useCallback(() => {\n configuration?.setModalOpen(false);\n }, [configuration]);\n\n const BoundTitle = renderSlot(titleContent, CopilotModalHeader.Title, {\n children: resolvedTitle,\n });\n\n const BoundCloseButton = renderSlot(closeButton, CopilotModalHeader.CloseButton, {\n onClick: handleClose,\n });\n\n if (children) {\n return children({\n titleContent: BoundTitle,\n closeButton: BoundCloseButton,\n title: resolvedTitle,\n ...rest,\n });\n }\n\n return (\n <header\n data-slot=\"copilot-modal-header\"\n className={cn(\n \"flex items-center justify-between border-b border-border px-4 py-4\",\n \"bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/80\",\n className,\n )}\n {...rest}\n >\n <div className=\"flex w-full items-center gap-2\">\n <div className=\"flex-1\" aria-hidden=\"true\" />\n <div className=\"flex flex-1 justify-center text-center\">{BoundTitle}</div>\n <div className=\"flex flex-1 justify-end\">{BoundCloseButton}</div>\n </div>\n </header>\n );\n}\n\nCopilotModalHeader.displayName = \"CopilotModalHeader\";\n\nexport namespace CopilotModalHeader {\n export const Title: React.FC<React.HTMLAttributes<HTMLDivElement>> = ({ children, className, ...props }) => (\n <div\n className={cn(\n \"w-full text-base font-medium leading-none tracking-tight text-foreground\",\n className,\n )}\n {...props}\n >\n {children}\n </div>\n );\n\n export const CloseButton: React.FC<React.ButtonHTMLAttributes<HTMLButtonElement>> = ({\n className,\n ...props\n }) => (\n <button\n type=\"button\"\n className={cn(\n \"inline-flex size-8 items-center justify-center rounded-full text-muted-foreground transition cursor-pointer\",\n \"hover:bg-muted hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring\",\n className,\n )}\n aria-label=\"Close\"\n {...props}\n >\n <X className=\"h-4 w-4\" aria-hidden=\"true\" />\n </button>\n );\n}\n\nCopilotModalHeader.Title.displayName = \"CopilotModalHeader.Title\";\nCopilotModalHeader.CloseButton.displayName = \"CopilotModalHeader.CloseButton\";\n\nexport default CopilotModalHeader;\n"],"mappings":";;;;;;;;;;;;AAAA,SAAgB,mBAAmB;AAKnC,SAAS,SAAS;AAyDZ,SACE,KADF;AA5CC,SAAS,mBAAmB;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAA4B;AAC1B,QAAM,gBAAgB,4BAA4B;AAElD,QAAM,gBAAgB,eAAe,OAAO,oBAAoB,yBAAyB;AACzF,QAAM,gBAAgB,SAAS;AAE/B,QAAM,cAAc,YAAY,MAAM;AACpC,mBAAe,aAAa,KAAK;AAAA,EACnC,GAAG,CAAC,aAAa,CAAC;AAElB,QAAM,aAAa,WAAW,cAAc,mBAAmB,OAAO;AAAA,IACpE,UAAU;AAAA,EACZ,CAAC;AAED,QAAM,mBAAmB,WAAW,aAAa,mBAAmB,aAAa;AAAA,IAC/E,SAAS;AAAA,EACX,CAAC;AAED,MAAI,UAAU;AACZ,WAAO,SAAS;AAAA,MACd,cAAc;AAAA,MACd,aAAa;AAAA,MACb,OAAO;AAAA,MACP,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA,MAEJ,+BAAC,SAAI,WAAU,kCACb;AAAA,4BAAC,SAAI,WAAU,UAAS,eAAY,QAAO;AAAA,QAC3C,oBAAC,SAAI,WAAU,0CAA0C,sBAAW;AAAA,QACpE,oBAAC,SAAI,WAAU,2BAA2B,4BAAiB;AAAA,SAC7D;AAAA;AAAA,EACF;AAEJ;AAEA,mBAAmB,cAAc;AAAA,CAE1B,CAAUA,wBAAV;AACE,EAAMA,oBAAA,QAAwD,CAAC,EAAE,UAAU,WAAW,GAAG,MAAM,MACpG;AAAA,IAAC;AAAA;AAAA,MACC,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA,MAEH;AAAA;AAAA,EACH;AAGK,EAAMA,oBAAA,cAAuE,CAAC;AAAA,IACnF;AAAA,IACA,GAAG;AAAA,EACL,MACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,WAAW;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,cAAW;AAAA,MACV,GAAG;AAAA,MAEJ,8BAAC,KAAE,WAAU,WAAU,eAAY,QAAO;AAAA;AAAA,EAC5C;AAAA,GA5Ba;AAgCjB,mBAAmB,MAAM,cAAc;AACvC,mBAAmB,YAAY,cAAc;AAE7C,IAAO,6BAAQ;","names":["CopilotModalHeader"]}
@@ -0,0 +1,57 @@
1
+ import {
2
+ useCopilotChatConfiguration
3
+ } from "./chunk-4XJK5IVQ.mjs";
4
+ import {
5
+ useCopilotKit
6
+ } from "./chunk-VE3SBLU7.mjs";
7
+
8
+ // src/hooks/use-render-activity-message.tsx
9
+ import { DEFAULT_AGENT_ID } from "@copilotkitnext/shared";
10
+ import { useCallback } from "react";
11
+ import { jsx } from "react/jsx-runtime";
12
+ function useRenderActivityMessage() {
13
+ const { copilotkit } = useCopilotKit();
14
+ const config = useCopilotChatConfiguration();
15
+ const agentId = config?.agentId ?? DEFAULT_AGENT_ID;
16
+ const renderers = copilotkit.renderActivityMessages;
17
+ return useCallback(
18
+ (message) => {
19
+ if (!renderers.length) {
20
+ return null;
21
+ }
22
+ const matches = renderers.filter(
23
+ (renderer2) => renderer2.activityType === message.activityType
24
+ );
25
+ const renderer = matches.find((candidate) => candidate.agentId === agentId) ?? matches.find((candidate) => candidate.agentId === void 0) ?? renderers.find((candidate) => candidate.activityType === "*");
26
+ if (!renderer) {
27
+ return null;
28
+ }
29
+ const parseResult = renderer.content.safeParse(message.content);
30
+ if (!parseResult.success) {
31
+ console.warn(
32
+ `Failed to parse content for activity message '${message.activityType}':`,
33
+ parseResult.error
34
+ );
35
+ return null;
36
+ }
37
+ const Component = renderer.render;
38
+ const agent = copilotkit.getAgent(agentId);
39
+ return /* @__PURE__ */ jsx(
40
+ Component,
41
+ {
42
+ activityType: message.activityType,
43
+ content: parseResult.data,
44
+ message,
45
+ agent
46
+ },
47
+ message.id
48
+ );
49
+ },
50
+ [agentId, copilotkit, renderers]
51
+ );
52
+ }
53
+
54
+ export {
55
+ useRenderActivityMessage
56
+ };
57
+ //# sourceMappingURL=chunk-EJ5ZEAAN.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/hooks/use-render-activity-message.tsx"],"sourcesContent":["import { ActivityMessage } from \"@ag-ui/core\";\nimport { DEFAULT_AGENT_ID } from \"@copilotkitnext/shared\";\nimport { useCopilotKit, useCopilotChatConfiguration } from \"@/providers\";\nimport { useCallback } from \"react\";\n\nexport function useRenderActivityMessage() {\n const { copilotkit } = useCopilotKit();\n const config = useCopilotChatConfiguration();\n const agentId = config?.agentId ?? DEFAULT_AGENT_ID;\n\n const renderers = copilotkit.renderActivityMessages;\n\n return useCallback(\n (message: ActivityMessage): React.ReactElement | null => {\n if (!renderers.length) {\n return null;\n }\n\n const matches = renderers.filter(\n (renderer) => renderer.activityType === message.activityType\n );\n\n const renderer =\n matches.find((candidate) => candidate.agentId === agentId) ??\n matches.find((candidate) => candidate.agentId === undefined) ??\n renderers.find((candidate) => candidate.activityType === \"*\");\n\n if (!renderer) {\n return null;\n }\n\n const parseResult = renderer.content.safeParse(message.content);\n\n if (!parseResult.success) {\n console.warn(\n `Failed to parse content for activity message '${message.activityType}':`,\n parseResult.error\n );\n return null;\n }\n\n const Component = renderer.render;\n\n const agent = copilotkit.getAgent(agentId);\n\n return (\n <Component\n key={message.id}\n activityType={message.activityType}\n content={parseResult.data}\n message={message}\n agent={agent}\n />\n );\n },\n [agentId, copilotkit, renderers]\n );\n}\n"],"mappings":";;;;;;;;AACA,SAAS,wBAAwB;AAEjC,SAAS,mBAAmB;AA2CpB;AAzCD,SAAS,2BAA2B;AACzC,QAAM,EAAE,WAAW,IAAI,cAAc;AACrC,QAAM,SAAS,4BAA4B;AAC3C,QAAM,UAAU,QAAQ,WAAW;AAEnC,QAAM,YAAY,WAAW;AAE7B,SAAO;AAAA,IACL,CAAC,YAAwD;AACvD,UAAI,CAAC,UAAU,QAAQ;AACrB,eAAO;AAAA,MACT;AAEA,YAAM,UAAU,UAAU;AAAA,QACxB,CAACA,cAAaA,UAAS,iBAAiB,QAAQ;AAAA,MAClD;AAEA,YAAM,WACJ,QAAQ,KAAK,CAAC,cAAc,UAAU,YAAY,OAAO,KACzD,QAAQ,KAAK,CAAC,cAAc,UAAU,YAAY,MAAS,KAC3D,UAAU,KAAK,CAAC,cAAc,UAAU,iBAAiB,GAAG;AAE9D,UAAI,CAAC,UAAU;AACb,eAAO;AAAA,MACT;AAEA,YAAM,cAAc,SAAS,QAAQ,UAAU,QAAQ,OAAO;AAE9D,UAAI,CAAC,YAAY,SAAS;AACxB,gBAAQ;AAAA,UACN,iDAAiD,QAAQ,YAAY;AAAA,UACrE,YAAY;AAAA,QACd;AACA,eAAO;AAAA,MACT;AAEA,YAAM,YAAY,SAAS;AAE3B,YAAM,QAAQ,WAAW,SAAS,OAAO;AAEzC,aACE;AAAA,QAAC;AAAA;AAAA,UAEC,cAAc,QAAQ;AAAA,UACtB,SAAS,YAAY;AAAA,UACrB;AAAA,UACA;AAAA;AAAA,QAJK,QAAQ;AAAA,MAKf;AAAA,IAEJ;AAAA,IACA,CAAC,SAAS,YAAY,SAAS;AAAA,EACjC;AACF;","names":["renderer"]}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=chunk-ETWJDCGE.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}