@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-AEFM73CL.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-SPDE34WC.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,120 @@
1
+ import {
2
+ cn
3
+ } from "./chunk-XO4IRKSC.mjs";
4
+
5
+ // src/components/ui/button.tsx
6
+ import { Slot } from "@radix-ui/react-slot";
7
+ import { cva } from "class-variance-authority";
8
+ import { jsx } from "react/jsx-runtime";
9
+ var buttonVariants = cva(
10
+ "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
11
+ {
12
+ variants: {
13
+ variant: {
14
+ default: "bg-primary text-primary-foreground shadow-xs hover:bg-primary/90",
15
+ destructive: "bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",
16
+ outline: "border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",
17
+ secondary: "bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80",
18
+ ghost: "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50 cursor-pointer",
19
+ link: "text-primary underline-offset-4 hover:underline",
20
+ assistantMessageToolbarButton: [
21
+ "cursor-pointer",
22
+ // Background and text
23
+ "p-0 text-[rgb(93,93,93)] hover:bg-[#E8E8E8]",
24
+ // Dark mode - lighter gray for better contrast
25
+ "dark:text-[rgb(243,243,243)] dark:hover:bg-[#303030]",
26
+ // Shape and sizing
27
+ "h-8 w-8",
28
+ // Interactions
29
+ "transition-colors",
30
+ // Hover states
31
+ "hover:text-[rgb(93,93,93)]",
32
+ "dark:hover:text-[rgb(243,243,243)]"
33
+ ],
34
+ chatInputToolbarPrimary: [
35
+ "cursor-pointer",
36
+ // Background and text
37
+ "bg-black text-white",
38
+ // Dark mode
39
+ "dark:bg-white dark:text-black dark:focus-visible:outline-white",
40
+ // Shape and sizing
41
+ "rounded-full",
42
+ // Interactions
43
+ "transition-colors",
44
+ // Focus states
45
+ "focus:outline-none",
46
+ // Hover states
47
+ "hover:opacity-70 disabled:hover:opacity-100",
48
+ // Disabled states
49
+ "disabled:cursor-not-allowed disabled:bg-[#00000014] disabled:text-[rgb(13,13,13)]",
50
+ "dark:disabled:bg-[#454545] dark:disabled:text-white "
51
+ ],
52
+ chatInputToolbarSecondary: [
53
+ "cursor-pointer",
54
+ // Background and text
55
+ "bg-transparent text-[#444444]",
56
+ // Dark mode
57
+ "dark:text-white dark:border-[#404040]",
58
+ // Shape and sizing
59
+ "rounded-full",
60
+ // Interactions
61
+ "transition-colors",
62
+ // Focus states
63
+ "focus:outline-none",
64
+ // Hover states
65
+ "hover:bg-[#f8f8f8] hover:text-[#333333]",
66
+ "dark:hover:bg-[#404040] dark:hover:text-[#FFFFFF]",
67
+ // Disabled states
68
+ "disabled:cursor-not-allowed disabled:opacity-50",
69
+ "disabled:hover:bg-transparent disabled:hover:text-[#444444]",
70
+ "dark:disabled:hover:bg-transparent dark:disabled:hover:text-[#CCCCCC]"
71
+ ]
72
+ },
73
+ size: {
74
+ default: "h-9 px-4 py-2 has-[>svg]:px-3",
75
+ sm: "h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",
76
+ lg: "h-10 rounded-md px-6 has-[>svg]:px-4",
77
+ icon: "size-9",
78
+ chatInputToolbarIcon: [
79
+ // Shape and sizing
80
+ "h-9 w-9 rounded-full"
81
+ ],
82
+ chatInputToolbarIconLabel: [
83
+ // Shape and sizing
84
+ "h-9 px-3 rounded-full",
85
+ // Layout
86
+ "gap-2",
87
+ // Typography
88
+ "font-normal"
89
+ ]
90
+ }
91
+ },
92
+ defaultVariants: {
93
+ variant: "default",
94
+ size: "default"
95
+ }
96
+ }
97
+ );
98
+ function Button({
99
+ className,
100
+ variant,
101
+ size,
102
+ asChild = false,
103
+ ...props
104
+ }) {
105
+ const Comp = asChild ? Slot : "button";
106
+ return /* @__PURE__ */ jsx(
107
+ Comp,
108
+ {
109
+ "data-slot": "button",
110
+ className: cn(buttonVariants({ variant, size, className })),
111
+ ...props
112
+ }
113
+ );
114
+ }
115
+
116
+ export {
117
+ buttonVariants,
118
+ Button
119
+ };
120
+ //# sourceMappingURL=chunk-TAUOEJH2.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/ui/button.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst buttonVariants = cva(\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\n {\n variants: {\n variant: {\n default:\n \"bg-primary text-primary-foreground shadow-xs hover:bg-primary/90\",\n destructive:\n \"bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60\",\n outline:\n \"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50\",\n secondary:\n \"bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80\",\n ghost:\n \"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50 cursor-pointer\",\n link: \"text-primary underline-offset-4 hover:underline\",\n assistantMessageToolbarButton: [\n \"cursor-pointer\",\n // Background and text\n \"p-0 text-[rgb(93,93,93)] hover:bg-[#E8E8E8]\",\n // Dark mode - lighter gray for better contrast\n \"dark:text-[rgb(243,243,243)] dark:hover:bg-[#303030]\",\n // Shape and sizing\n \"h-8 w-8\",\n // Interactions\n \"transition-colors\",\n // Hover states\n \"hover:text-[rgb(93,93,93)]\",\n \"dark:hover:text-[rgb(243,243,243)]\",\n ],\n chatInputToolbarPrimary: [\n \"cursor-pointer\",\n // Background and text\n \"bg-black text-white\",\n // Dark mode\n \"dark:bg-white dark:text-black dark:focus-visible:outline-white\",\n // Shape and sizing\n \"rounded-full\",\n // Interactions\n \"transition-colors\",\n // Focus states\n \"focus:outline-none\",\n // Hover states\n \"hover:opacity-70 disabled:hover:opacity-100\",\n // Disabled states\n \"disabled:cursor-not-allowed disabled:bg-[#00000014] disabled:text-[rgb(13,13,13)]\",\n \"dark:disabled:bg-[#454545] dark:disabled:text-white \",\n ],\n chatInputToolbarSecondary: [\n \"cursor-pointer\",\n // Background and text\n \"bg-transparent text-[#444444]\",\n // Dark mode\n \"dark:text-white dark:border-[#404040]\",\n // Shape and sizing\n \"rounded-full\",\n // Interactions\n \"transition-colors\",\n // Focus states\n \"focus:outline-none\",\n // Hover states\n \"hover:bg-[#f8f8f8] hover:text-[#333333]\",\n \"dark:hover:bg-[#404040] dark:hover:text-[#FFFFFF]\",\n // Disabled states\n \"disabled:cursor-not-allowed disabled:opacity-50\",\n \"disabled:hover:bg-transparent disabled:hover:text-[#444444]\",\n \"dark:disabled:hover:bg-transparent dark:disabled:hover:text-[#CCCCCC]\",\n ],\n },\n size: {\n default: \"h-9 px-4 py-2 has-[>svg]:px-3\",\n sm: \"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5\",\n lg: \"h-10 rounded-md px-6 has-[>svg]:px-4\",\n icon: \"size-9\",\n chatInputToolbarIcon: [\n // Shape and sizing\n \"h-9 w-9 rounded-full\",\n ],\n chatInputToolbarIconLabel: [\n // Shape and sizing\n \"h-9 px-3 rounded-full\",\n // Layout\n \"gap-2\",\n // Typography\n \"font-normal\",\n ],\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n);\n\nfunction Button({\n className,\n variant,\n size,\n asChild = false,\n ...props\n}: React.ComponentProps<\"button\"> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean;\n }) {\n const Comp = asChild ? Slot : \"button\";\n\n return (\n <Comp\n data-slot=\"button\"\n className={cn(buttonVariants({ variant, size, className }))}\n {...props}\n />\n );\n}\n\nexport { Button, buttonVariants };\n"],"mappings":";;;;;AACA,SAAS,YAAY;AACrB,SAAS,WAA8B;AAgHnC;AA5GJ,IAAM,iBAAiB;AAAA,EACrB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SACE;AAAA,QACF,aACE;AAAA,QACF,SACE;AAAA,QACF,WACE;AAAA,QACF,OACE;AAAA,QACF,MAAM;AAAA,QACN,+BAA+B;AAAA,UAC7B;AAAA;AAAA,UAEA;AAAA;AAAA,UAEA;AAAA;AAAA,UAEA;AAAA;AAAA,UAEA;AAAA;AAAA,UAEA;AAAA,UACA;AAAA,QACF;AAAA,QACA,yBAAyB;AAAA,UACvB;AAAA;AAAA,UAEA;AAAA;AAAA,UAEA;AAAA;AAAA,UAEA;AAAA;AAAA,UAEA;AAAA;AAAA,UAEA;AAAA;AAAA,UAEA;AAAA;AAAA,UAEA;AAAA,UACA;AAAA,QACF;AAAA,QACA,2BAA2B;AAAA,UACzB;AAAA;AAAA,UAEA;AAAA;AAAA,UAEA;AAAA;AAAA,UAEA;AAAA;AAAA,UAEA;AAAA;AAAA,UAEA;AAAA;AAAA,UAEA;AAAA,UACA;AAAA;AAAA,UAEA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,MACA,MAAM;AAAA,QACJ,SAAS;AAAA,QACT,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,sBAAsB;AAAA;AAAA,UAEpB;AAAA,QACF;AAAA,QACA,2BAA2B;AAAA;AAAA,UAEzB;AAAA;AAAA,UAEA;AAAA;AAAA,UAEA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,MACf,SAAS;AAAA,MACT,MAAM;AAAA,IACR;AAAA,EACF;AACF;AAEA,SAAS,OAAO;AAAA,EACd;AAAA,EACA;AAAA,EACA;AAAA,EACA,UAAU;AAAA,EACV,GAAG;AACL,GAGK;AACH,QAAM,OAAO,UAAU,OAAO;AAE9B,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,eAAe,EAAE,SAAS,MAAM,UAAU,CAAC,CAAC;AAAA,MACzD,GAAG;AAAA;AAAA,EACN;AAEJ;","names":[]}
@@ -0,0 +1,157 @@
1
+ import {
2
+ CopilotChatView
3
+ } from "./chunk-F43IPGPA.mjs";
4
+ import {
5
+ renderSlot
6
+ } from "./chunk-FIBK3DYE.mjs";
7
+ import {
8
+ useSuggestions
9
+ } from "./chunk-Z3OIGQCZ.mjs";
10
+ import {
11
+ useAgent
12
+ } from "./chunk-E4HD4M7R.mjs";
13
+ import {
14
+ CopilotChatConfigurationProvider,
15
+ useCopilotChatConfiguration
16
+ } from "./chunk-4XJK5IVQ.mjs";
17
+ import {
18
+ useCopilotKit
19
+ } from "./chunk-VE3SBLU7.mjs";
20
+
21
+ // src/components/chat/CopilotChat.tsx
22
+ import { DEFAULT_AGENT_ID, randomUUID } from "@copilotkitnext/shared";
23
+ import { useCallback, useEffect, useMemo } from "react";
24
+ import { merge } from "ts-deepmerge";
25
+ import { AGUIConnectNotImplementedError } from "@ag-ui/client";
26
+ import { jsx } from "react/jsx-runtime";
27
+ function CopilotChat({ agentId, threadId, labels, chatView, isModalDefaultOpen, ...props }) {
28
+ const existingConfig = useCopilotChatConfiguration();
29
+ const resolvedAgentId = agentId ?? existingConfig?.agentId ?? DEFAULT_AGENT_ID;
30
+ const resolvedThreadId = useMemo(
31
+ () => threadId ?? existingConfig?.threadId ?? randomUUID(),
32
+ [threadId, existingConfig?.threadId]
33
+ );
34
+ const { agent } = useAgent({ agentId: resolvedAgentId });
35
+ const { copilotkit } = useCopilotKit();
36
+ const { suggestions: autoSuggestions } = useSuggestions({ agentId: resolvedAgentId });
37
+ const {
38
+ inputProps: providedInputProps,
39
+ messageView: providedMessageView,
40
+ suggestionView: providedSuggestionView,
41
+ ...restProps
42
+ } = props;
43
+ useEffect(() => {
44
+ const connect = async (agent2) => {
45
+ try {
46
+ await copilotkit.connectAgent({ agent: agent2 });
47
+ } catch (error) {
48
+ if (error instanceof AGUIConnectNotImplementedError) {
49
+ } else {
50
+ throw error;
51
+ }
52
+ }
53
+ };
54
+ if (agent) {
55
+ agent.threadId = resolvedThreadId;
56
+ connect(agent);
57
+ }
58
+ return () => {
59
+ };
60
+ }, [resolvedThreadId, agent, copilotkit, resolvedAgentId]);
61
+ const onSubmitInput = useCallback(
62
+ async (value) => {
63
+ agent?.addMessage({
64
+ id: randomUUID(),
65
+ role: "user",
66
+ content: value
67
+ });
68
+ if (agent) {
69
+ try {
70
+ await copilotkit.runAgent({ agent });
71
+ } catch (error) {
72
+ console.error("CopilotChat: runAgent failed", error);
73
+ }
74
+ }
75
+ },
76
+ [agent, copilotkit]
77
+ );
78
+ const handleSelectSuggestion = useCallback(
79
+ async (suggestion) => {
80
+ if (!agent) {
81
+ return;
82
+ }
83
+ agent.addMessage({
84
+ id: randomUUID(),
85
+ role: "user",
86
+ content: suggestion.message
87
+ });
88
+ try {
89
+ await copilotkit.runAgent({ agent });
90
+ } catch (error) {
91
+ console.error("CopilotChat: runAgent failed after selecting suggestion", error);
92
+ }
93
+ },
94
+ [agent, copilotkit]
95
+ );
96
+ const stopCurrentRun = useCallback(() => {
97
+ if (!agent) {
98
+ return;
99
+ }
100
+ try {
101
+ copilotkit.stopAgent({ agent });
102
+ } catch (error) {
103
+ console.error("CopilotChat: stopAgent failed", error);
104
+ try {
105
+ agent.abortRun();
106
+ } catch (abortError) {
107
+ console.error("CopilotChat: abortRun fallback failed", abortError);
108
+ }
109
+ }
110
+ }, [agent, copilotkit]);
111
+ const mergedProps = merge(
112
+ {
113
+ isRunning: agent?.isRunning ?? false,
114
+ suggestions: autoSuggestions,
115
+ onSelectSuggestion: handleSelectSuggestion,
116
+ suggestionView: providedSuggestionView
117
+ },
118
+ {
119
+ ...restProps,
120
+ ...typeof providedMessageView === "string" ? { messageView: { className: providedMessageView } } : providedMessageView !== void 0 ? { messageView: providedMessageView } : {}
121
+ }
122
+ );
123
+ const providedStopHandler = providedInputProps?.onStop;
124
+ const hasMessages = (agent?.messages?.length ?? 0) > 0;
125
+ const shouldAllowStop = (agent?.isRunning ?? false) && hasMessages;
126
+ const effectiveStopHandler = shouldAllowStop ? providedStopHandler ?? stopCurrentRun : providedStopHandler;
127
+ const finalInputProps = {
128
+ ...providedInputProps,
129
+ onSubmitMessage: onSubmitInput,
130
+ onStop: effectiveStopHandler,
131
+ isRunning: agent?.isRunning ?? false
132
+ };
133
+ finalInputProps.mode = agent?.isRunning ? "processing" : finalInputProps.mode ?? "input";
134
+ const finalProps = merge(mergedProps, {
135
+ messages: agent?.messages ?? [],
136
+ inputProps: finalInputProps
137
+ });
138
+ const RenderedChatView = renderSlot(chatView, CopilotChatView, finalProps);
139
+ return /* @__PURE__ */ jsx(
140
+ CopilotChatConfigurationProvider,
141
+ {
142
+ agentId: resolvedAgentId,
143
+ threadId: resolvedThreadId,
144
+ labels,
145
+ isModalDefaultOpen,
146
+ children: RenderedChatView
147
+ }
148
+ );
149
+ }
150
+ ((CopilotChat2) => {
151
+ CopilotChat2.View = CopilotChatView;
152
+ })(CopilotChat || (CopilotChat = {}));
153
+
154
+ export {
155
+ CopilotChat
156
+ };
157
+ //# sourceMappingURL=chunk-TKFOXPXF.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/chat/CopilotChat.tsx"],"sourcesContent":["import { useAgent } from \"@/hooks/use-agent\";\nimport { useSuggestions } from \"@/hooks/use-suggestions\";\nimport { CopilotChatView, CopilotChatViewProps } from \"./CopilotChatView\";\nimport CopilotChatInput, { CopilotChatInputProps } from \"./CopilotChatInput\";\nimport {\n CopilotChatConfigurationProvider,\n CopilotChatLabels,\n useCopilotChatConfiguration,\n} from \"@/providers/CopilotChatConfigurationProvider\";\nimport { DEFAULT_AGENT_ID, randomUUID } from \"@copilotkitnext/shared\";\nimport { Suggestion } from \"@copilotkitnext/core\";\nimport { useCallback, useEffect, useMemo } from \"react\";\nimport { merge } from \"ts-deepmerge\";\nimport { useCopilotKit } from \"@/providers/CopilotKitProvider\";\nimport { AbstractAgent, AGUIConnectNotImplementedError } from \"@ag-ui/client\";\nimport { renderSlot, SlotValue } from \"@/lib/slots\";\n\nexport type CopilotChatProps = Omit<\n CopilotChatViewProps,\n \"messages\" | \"isRunning\" | \"suggestions\" | \"suggestionLoadingIndexes\" | \"onSelectSuggestion\"\n> & {\n agentId?: string;\n threadId?: string;\n labels?: Partial<CopilotChatLabels>;\n chatView?: SlotValue<typeof CopilotChatView>;\n isModalDefaultOpen?: boolean;\n};\nexport function CopilotChat({ agentId, threadId, labels, chatView, isModalDefaultOpen, ...props }: CopilotChatProps) {\n // Check for existing configuration provider\n const existingConfig = useCopilotChatConfiguration();\n\n // Apply priority: props > existing config > defaults\n const resolvedAgentId = agentId ?? existingConfig?.agentId ?? DEFAULT_AGENT_ID;\n const resolvedThreadId = useMemo(\n () => threadId ?? existingConfig?.threadId ?? randomUUID(),\n [threadId, existingConfig?.threadId],\n );\n const { agent } = useAgent({ agentId: resolvedAgentId });\n const { copilotkit } = useCopilotKit();\n\n const { suggestions: autoSuggestions } = useSuggestions({ agentId: resolvedAgentId });\n\n const {\n inputProps: providedInputProps,\n messageView: providedMessageView,\n suggestionView: providedSuggestionView,\n ...restProps\n } = props;\n\n useEffect(() => {\n const connect = async (agent: AbstractAgent) => {\n try {\n await copilotkit.connectAgent({ agent });\n } catch (error) {\n if (error instanceof AGUIConnectNotImplementedError) {\n // connect not implemented, ignore\n } else {\n throw error;\n }\n }\n };\n if (agent) {\n agent.threadId = resolvedThreadId;\n connect(agent);\n }\n return () => {};\n }, [resolvedThreadId, agent, copilotkit, resolvedAgentId]);\n\n const onSubmitInput = useCallback(\n async (value: string) => {\n agent?.addMessage({\n id: randomUUID(),\n role: \"user\",\n content: value,\n });\n if (agent) {\n try {\n await copilotkit.runAgent({ agent });\n } catch (error) {\n console.error(\"CopilotChat: runAgent failed\", error);\n }\n }\n },\n [agent, copilotkit],\n );\n\n const handleSelectSuggestion = useCallback(\n async (suggestion: Suggestion) => {\n if (!agent) {\n return;\n }\n\n agent.addMessage({\n id: randomUUID(),\n role: \"user\",\n content: suggestion.message,\n });\n\n try {\n await copilotkit.runAgent({ agent });\n } catch (error) {\n console.error(\"CopilotChat: runAgent failed after selecting suggestion\", error);\n }\n },\n [agent, copilotkit],\n );\n\n const stopCurrentRun = useCallback(() => {\n if (!agent) {\n return;\n }\n\n try {\n copilotkit.stopAgent({ agent });\n } catch (error) {\n console.error(\"CopilotChat: stopAgent failed\", error);\n try {\n agent.abortRun();\n } catch (abortError) {\n console.error(\"CopilotChat: abortRun fallback failed\", abortError);\n }\n }\n }, [agent, copilotkit]);\n\n const mergedProps = merge(\n {\n isRunning: agent?.isRunning ?? false,\n suggestions: autoSuggestions,\n onSelectSuggestion: handleSelectSuggestion,\n suggestionView: providedSuggestionView,\n },\n {\n ...restProps,\n ...(typeof providedMessageView === \"string\"\n ? { messageView: { className: providedMessageView } }\n : providedMessageView !== undefined\n ? { messageView: providedMessageView }\n : {}),\n },\n );\n\n const providedStopHandler = providedInputProps?.onStop;\n const hasMessages = (agent?.messages?.length ?? 0) > 0;\n const shouldAllowStop = (agent?.isRunning ?? false) && hasMessages;\n const effectiveStopHandler = shouldAllowStop ? providedStopHandler ?? stopCurrentRun : providedStopHandler;\n\n const finalInputProps = {\n ...providedInputProps,\n onSubmitMessage: onSubmitInput,\n onStop: effectiveStopHandler,\n isRunning: agent?.isRunning ?? false,\n } as Partial<CopilotChatInputProps> & { onSubmitMessage: (value: string) => void };\n\n finalInputProps.mode = agent?.isRunning ? \"processing\" : finalInputProps.mode ?? \"input\";\n\n const finalProps = merge(mergedProps, {\n messages: agent?.messages ?? [],\n inputProps: finalInputProps,\n }) as CopilotChatViewProps;\n\n // Always create a provider with merged values\n // This ensures priority: props > existing config > defaults\n const RenderedChatView = renderSlot(chatView, CopilotChatView, finalProps);\n\n return (\n <CopilotChatConfigurationProvider\n agentId={resolvedAgentId}\n threadId={resolvedThreadId}\n labels={labels}\n isModalDefaultOpen={isModalDefaultOpen}\n >\n {RenderedChatView}\n </CopilotChatConfigurationProvider>\n );\n}\n\n// eslint-disable-next-line @typescript-eslint/no-namespace\nexport namespace CopilotChat {\n export const View = CopilotChatView;\n}\n"],"mappings":"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","names":["agent","CopilotChat"]}
@@ -0,0 +1,22 @@
1
+ import {
2
+ useCopilotKit
3
+ } from "./chunk-RF2CGPHQ.mjs";
4
+
5
+ // src/hooks/use-agent-context.tsx
6
+ import { useEffect } from "react";
7
+ function useAgentContext(context) {
8
+ const { description, value } = context;
9
+ const { copilotkit } = useCopilotKit();
10
+ useEffect(() => {
11
+ if (!copilotkit) return;
12
+ const id = copilotkit.addContext(context);
13
+ return () => {
14
+ copilotkit.removeContext(id);
15
+ };
16
+ }, [description, value, copilotkit]);
17
+ }
18
+
19
+ export {
20
+ useAgentContext
21
+ };
22
+ //# sourceMappingURL=chunk-UOX5D73C.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/hooks/use-agent-context.tsx"],"sourcesContent":["import { useCopilotKit } from \"../providers/CopilotKitProvider\";\nimport { Context } from \"@ag-ui/client\";\nimport { useEffect } from \"react\";\n\nexport function useAgentContext(context: Context) {\n const { description, value } = context;\n const { copilotkit } = useCopilotKit();\n\n useEffect(() => {\n if (!copilotkit) return;\n\n const id = copilotkit.addContext(context);\n return () => {\n copilotkit.removeContext(id);\n };\n }, [description, value, copilotkit]);\n}\n"],"mappings":";;;;;AAEA,SAAS,iBAAiB;AAEnB,SAAS,gBAAgB,SAAkB;AAChD,QAAM,EAAE,aAAa,MAAM,IAAI;AAC/B,QAAM,EAAE,WAAW,IAAI,cAAc;AAErC,YAAU,MAAM;AACd,QAAI,CAAC,WAAY;AAEjB,UAAM,KAAK,WAAW,WAAW,OAAO;AACxC,WAAO,MAAM;AACX,iBAAW,cAAc,EAAE;AAAA,IAC7B;AAAA,EACF,GAAG,CAAC,aAAa,OAAO,UAAU,CAAC;AACrC;","names":[]}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=chunk-US4KNAAV.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}