@copilotkitnext/react 0.0.22-alpha.4 → 0.0.22-alpha.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (397) hide show
  1. package/dist/index.d.mts +635 -46
  2. package/dist/index.d.ts +635 -46
  3. package/dist/index.js +325 -22
  4. package/dist/index.js.map +1 -1
  5. package/dist/index.mjs +4286 -109
  6. package/dist/index.mjs.map +1 -1
  7. package/package.json +4 -4
  8. package/dist/chunk-32YJ5VJ4.mjs +0 -157
  9. package/dist/chunk-32YJ5VJ4.mjs.map +0 -1
  10. package/dist/chunk-36HFWACS.mjs +0 -1
  11. package/dist/chunk-36HFWACS.mjs.map +0 -1
  12. package/dist/chunk-46BZRXWT.mjs +0 -16
  13. package/dist/chunk-46BZRXWT.mjs.map +0 -1
  14. package/dist/chunk-4UDBR75C.mjs +0 -106
  15. package/dist/chunk-4UDBR75C.mjs.map +0 -1
  16. package/dist/chunk-4XJK5IVQ.mjs +0 -83
  17. package/dist/chunk-4XJK5IVQ.mjs.map +0 -1
  18. package/dist/chunk-5JNWVLQI.mjs +0 -72
  19. package/dist/chunk-5JNWVLQI.mjs.map +0 -1
  20. package/dist/chunk-5SC3CO5Q.mjs +0 -69
  21. package/dist/chunk-5SC3CO5Q.mjs.map +0 -1
  22. package/dist/chunk-6VUKDHOD.mjs +0 -1
  23. package/dist/chunk-6VUKDHOD.mjs.map +0 -1
  24. package/dist/chunk-7HM7CU5A.mjs +0 -122
  25. package/dist/chunk-7HM7CU5A.mjs.map +0 -1
  26. package/dist/chunk-AEFM73CL.mjs +0 -32
  27. package/dist/chunk-AEFM73CL.mjs.map +0 -1
  28. package/dist/chunk-AI3Z3CHN.mjs +0 -97
  29. package/dist/chunk-AI3Z3CHN.mjs.map +0 -1
  30. package/dist/chunk-AXFRCGH6.mjs +0 -107
  31. package/dist/chunk-AXFRCGH6.mjs.map +0 -1
  32. package/dist/chunk-BNT754Z2.mjs +0 -185
  33. package/dist/chunk-BNT754Z2.mjs.map +0 -1
  34. package/dist/chunk-BT6C5OPU.mjs +0 -278
  35. package/dist/chunk-BT6C5OPU.mjs.map +0 -1
  36. package/dist/chunk-CDSO65ZY.mjs +0 -157
  37. package/dist/chunk-CDSO65ZY.mjs.map +0 -1
  38. package/dist/chunk-CGLGXQAU.mjs +0 -78
  39. package/dist/chunk-CGLGXQAU.mjs.map +0 -1
  40. package/dist/chunk-DVUQO72Z.mjs +0 -1
  41. package/dist/chunk-DVUQO72Z.mjs.map +0 -1
  42. package/dist/chunk-E56GYBP3.mjs +0 -101
  43. package/dist/chunk-E56GYBP3.mjs.map +0 -1
  44. package/dist/chunk-ETWJDCGE.mjs +0 -1
  45. package/dist/chunk-ETWJDCGE.mjs.map +0 -1
  46. package/dist/chunk-FIBK3DYE.mjs +0 -26
  47. package/dist/chunk-FIBK3DYE.mjs.map +0 -1
  48. package/dist/chunk-FVURPXQK.mjs +0 -45
  49. package/dist/chunk-FVURPXQK.mjs.map +0 -1
  50. package/dist/chunk-FZR2XQKR.mjs +0 -44
  51. package/dist/chunk-FZR2XQKR.mjs.map +0 -1
  52. package/dist/chunk-GK4NXPLC.mjs +0 -60
  53. package/dist/chunk-GK4NXPLC.mjs.map +0 -1
  54. package/dist/chunk-IA4CLXDM.mjs +0 -76
  55. package/dist/chunk-IA4CLXDM.mjs.map +0 -1
  56. package/dist/chunk-IICUCI5S.mjs +0 -43
  57. package/dist/chunk-IICUCI5S.mjs.map +0 -1
  58. package/dist/chunk-JLVGSNAO.mjs +0 -311
  59. package/dist/chunk-JLVGSNAO.mjs.map +0 -1
  60. package/dist/chunk-JWOIINVV.mjs +0 -237
  61. package/dist/chunk-JWOIINVV.mjs.map +0 -1
  62. package/dist/chunk-KCVDFZJX.mjs +0 -873
  63. package/dist/chunk-KCVDFZJX.mjs.map +0 -1
  64. package/dist/chunk-KPRUSQ3K.mjs +0 -1
  65. package/dist/chunk-KPRUSQ3K.mjs.map +0 -1
  66. package/dist/chunk-MWC5OV7Z.mjs +0 -1
  67. package/dist/chunk-MWC5OV7Z.mjs.map +0 -1
  68. package/dist/chunk-N5EP5OD5.mjs +0 -1
  69. package/dist/chunk-N5EP5OD5.mjs.map +0 -1
  70. package/dist/chunk-N5HC66HU.mjs +0 -311
  71. package/dist/chunk-N5HC66HU.mjs.map +0 -1
  72. package/dist/chunk-NB2GZAKG.mjs +0 -131
  73. package/dist/chunk-NB2GZAKG.mjs.map +0 -1
  74. package/dist/chunk-NB4DFAZH.mjs +0 -185
  75. package/dist/chunk-NB4DFAZH.mjs.map +0 -1
  76. package/dist/chunk-NNAYEAP2.mjs +0 -49
  77. package/dist/chunk-NNAYEAP2.mjs.map +0 -1
  78. package/dist/chunk-NNPKBGD6.mjs +0 -37
  79. package/dist/chunk-NNPKBGD6.mjs.map +0 -1
  80. package/dist/chunk-OMPVTGXH.mjs +0 -122
  81. package/dist/chunk-OMPVTGXH.mjs.map +0 -1
  82. package/dist/chunk-R5OLAA3L.mjs +0 -135
  83. package/dist/chunk-R5OLAA3L.mjs.map +0 -1
  84. package/dist/chunk-RF2CGPHQ.mjs +0 -215
  85. package/dist/chunk-RF2CGPHQ.mjs.map +0 -1
  86. package/dist/chunk-RGD2L3Z4.mjs +0 -96
  87. package/dist/chunk-RGD2L3Z4.mjs.map +0 -1
  88. package/dist/chunk-RK5P2LG6.mjs +0 -57
  89. package/dist/chunk-RK5P2LG6.mjs.map +0 -1
  90. package/dist/chunk-RRXDJCXI.mjs +0 -60
  91. package/dist/chunk-RRXDJCXI.mjs.map +0 -1
  92. package/dist/chunk-SPDE34WC.mjs +0 -283
  93. package/dist/chunk-SPDE34WC.mjs.map +0 -1
  94. package/dist/chunk-TAUOEJH2.mjs +0 -120
  95. package/dist/chunk-TAUOEJH2.mjs.map +0 -1
  96. package/dist/chunk-TBE7ZI5G.mjs +0 -45
  97. package/dist/chunk-TBE7ZI5G.mjs.map +0 -1
  98. package/dist/chunk-UOX5D73C.mjs +0 -22
  99. package/dist/chunk-UOX5D73C.mjs.map +0 -1
  100. package/dist/chunk-US4KNAAV.mjs +0 -1
  101. package/dist/chunk-US4KNAAV.mjs.map +0 -1
  102. package/dist/chunk-UZB3CTOY.mjs +0 -873
  103. package/dist/chunk-UZB3CTOY.mjs.map +0 -1
  104. package/dist/chunk-VBI6JXPC.mjs +0 -1
  105. package/dist/chunk-VBI6JXPC.mjs.map +0 -1
  106. package/dist/chunk-VVAXSF3M.mjs +0 -61
  107. package/dist/chunk-VVAXSF3M.mjs.map +0 -1
  108. package/dist/chunk-XO4IRKSC.mjs +0 -11
  109. package/dist/chunk-XO4IRKSC.mjs.map +0 -1
  110. package/dist/chunk-XU5CEPYQ.mjs +0 -75
  111. package/dist/chunk-XU5CEPYQ.mjs.map +0 -1
  112. package/dist/chunk-YPH4BHOY.mjs +0 -39
  113. package/dist/chunk-YPH4BHOY.mjs.map +0 -1
  114. package/dist/chunk-YZUPVMHC.mjs +0 -1
  115. package/dist/chunk-YZUPVMHC.mjs.map +0 -1
  116. package/dist/components/CopilotKitInspector.d.mts +0 -13
  117. package/dist/components/CopilotKitInspector.d.ts +0 -13
  118. package/dist/components/CopilotKitInspector.js +0 -69
  119. package/dist/components/CopilotKitInspector.js.map +0 -1
  120. package/dist/components/CopilotKitInspector.mjs +0 -7
  121. package/dist/components/CopilotKitInspector.mjs.map +0 -1
  122. package/dist/components/WildcardToolCallRender.d.mts +0 -7
  123. package/dist/components/WildcardToolCallRender.d.ts +0 -7
  124. package/dist/components/WildcardToolCallRender.js +0 -106
  125. package/dist/components/WildcardToolCallRender.js.map +0 -1
  126. package/dist/components/WildcardToolCallRender.mjs +0 -8
  127. package/dist/components/WildcardToolCallRender.mjs.map +0 -1
  128. package/dist/components/chat/CopilotChat.d.mts +0 -30
  129. package/dist/components/chat/CopilotChat.d.ts +0 -30
  130. package/dist/components/chat/CopilotChat.js +0 -2934
  131. package/dist/components/chat/CopilotChat.js.map +0 -1
  132. package/dist/components/chat/CopilotChat.mjs +0 -37
  133. package/dist/components/chat/CopilotChat.mjs.map +0 -1
  134. package/dist/components/chat/CopilotChatAssistantMessage.d.mts +0 -45
  135. package/dist/components/chat/CopilotChatAssistantMessage.d.ts +0 -45
  136. package/dist/components/chat/CopilotChatAssistantMessage.js +0 -735
  137. package/dist/components/chat/CopilotChatAssistantMessage.js.map +0 -1
  138. package/dist/components/chat/CopilotChatAssistantMessage.mjs +0 -29
  139. package/dist/components/chat/CopilotChatAssistantMessage.mjs.map +0 -1
  140. package/dist/components/chat/CopilotChatAudioRecorder.d.mts +0 -11
  141. package/dist/components/chat/CopilotChatAudioRecorder.d.ts +0 -11
  142. package/dist/components/chat/CopilotChatAudioRecorder.js +0 -131
  143. package/dist/components/chat/CopilotChatAudioRecorder.js.map +0 -1
  144. package/dist/components/chat/CopilotChatAudioRecorder.mjs +0 -9
  145. package/dist/components/chat/CopilotChatAudioRecorder.mjs.map +0 -1
  146. package/dist/components/chat/CopilotChatInput.d.mts +0 -67
  147. package/dist/components/chat/CopilotChatInput.d.ts +0 -67
  148. package/dist/components/chat/CopilotChatInput.js +0 -1305
  149. package/dist/components/chat/CopilotChatInput.js.map +0 -1
  150. package/dist/components/chat/CopilotChatInput.mjs +0 -16
  151. package/dist/components/chat/CopilotChatInput.mjs.map +0 -1
  152. package/dist/components/chat/CopilotChatMessageView.d.mts +0 -29
  153. package/dist/components/chat/CopilotChatMessageView.d.ts +0 -29
  154. package/dist/components/chat/CopilotChatMessageView.js +0 -1164
  155. package/dist/components/chat/CopilotChatMessageView.js.map +0 -1
  156. package/dist/components/chat/CopilotChatMessageView.mjs +0 -31
  157. package/dist/components/chat/CopilotChatMessageView.mjs.map +0 -1
  158. package/dist/components/chat/CopilotChatSuggestionPill.d.mts +0 -11
  159. package/dist/components/chat/CopilotChatSuggestionPill.d.ts +0 -11
  160. package/dist/components/chat/CopilotChatSuggestionPill.js +0 -76
  161. package/dist/components/chat/CopilotChatSuggestionPill.js.map +0 -1
  162. package/dist/components/chat/CopilotChatSuggestionPill.mjs +0 -10
  163. package/dist/components/chat/CopilotChatSuggestionPill.mjs.map +0 -1
  164. package/dist/components/chat/CopilotChatSuggestionView.d.mts +0 -33
  165. package/dist/components/chat/CopilotChatSuggestionView.d.ts +0 -33
  166. package/dist/components/chat/CopilotChatSuggestionView.js +0 -179
  167. package/dist/components/chat/CopilotChatSuggestionView.js.map +0 -1
  168. package/dist/components/chat/CopilotChatSuggestionView.mjs +0 -12
  169. package/dist/components/chat/CopilotChatSuggestionView.mjs.map +0 -1
  170. package/dist/components/chat/CopilotChatToggleButton.d.mts +0 -14
  171. package/dist/components/chat/CopilotChatToggleButton.d.ts +0 -14
  172. package/dist/components/chat/CopilotChatToggleButton.js +0 -222
  173. package/dist/components/chat/CopilotChatToggleButton.js.map +0 -1
  174. package/dist/components/chat/CopilotChatToggleButton.mjs +0 -16
  175. package/dist/components/chat/CopilotChatToggleButton.mjs.map +0 -1
  176. package/dist/components/chat/CopilotChatToolCallsView.d.mts +0 -10
  177. package/dist/components/chat/CopilotChatToolCallsView.d.ts +0 -10
  178. package/dist/components/chat/CopilotChatToolCallsView.js +0 -264
  179. package/dist/components/chat/CopilotChatToolCallsView.js.map +0 -1
  180. package/dist/components/chat/CopilotChatToolCallsView.mjs +0 -24
  181. package/dist/components/chat/CopilotChatToolCallsView.mjs.map +0 -1
  182. package/dist/components/chat/CopilotChatUserMessage.d.mts +0 -52
  183. package/dist/components/chat/CopilotChatUserMessage.d.ts +0 -52
  184. package/dist/components/chat/CopilotChatUserMessage.js +0 -523
  185. package/dist/components/chat/CopilotChatUserMessage.js.map +0 -1
  186. package/dist/components/chat/CopilotChatUserMessage.mjs +0 -14
  187. package/dist/components/chat/CopilotChatUserMessage.mjs.map +0 -1
  188. package/dist/components/chat/CopilotChatView.d.mts +0 -54
  189. package/dist/components/chat/CopilotChatView.d.ts +0 -54
  190. package/dist/components/chat/CopilotChatView.js +0 -2640
  191. package/dist/components/chat/CopilotChatView.js.map +0 -1
  192. package/dist/components/chat/CopilotChatView.mjs +0 -38
  193. package/dist/components/chat/CopilotChatView.mjs.map +0 -1
  194. package/dist/components/chat/CopilotModalHeader.d.mts +0 -22
  195. package/dist/components/chat/CopilotModalHeader.d.ts +0 -22
  196. package/dist/components/chat/CopilotModalHeader.js +0 -186
  197. package/dist/components/chat/CopilotModalHeader.js.map +0 -1
  198. package/dist/components/chat/CopilotModalHeader.mjs +0 -12
  199. package/dist/components/chat/CopilotModalHeader.mjs.map +0 -1
  200. package/dist/components/chat/CopilotPopup.d.mts +0 -33
  201. package/dist/components/chat/CopilotPopup.d.ts +0 -33
  202. package/dist/components/chat/CopilotPopup.js +0 -3343
  203. package/dist/components/chat/CopilotPopup.js.map +0 -1
  204. package/dist/components/chat/CopilotPopup.mjs +0 -43
  205. package/dist/components/chat/CopilotPopup.mjs.map +0 -1
  206. package/dist/components/chat/CopilotPopupView.d.mts +0 -30
  207. package/dist/components/chat/CopilotPopupView.d.ts +0 -30
  208. package/dist/components/chat/CopilotPopupView.js +0 -3003
  209. package/dist/components/chat/CopilotPopupView.js.map +0 -1
  210. package/dist/components/chat/CopilotPopupView.mjs +0 -41
  211. package/dist/components/chat/CopilotPopupView.mjs.map +0 -1
  212. package/dist/components/chat/CopilotSidebar.d.mts +0 -31
  213. package/dist/components/chat/CopilotSidebar.d.ts +0 -31
  214. package/dist/components/chat/CopilotSidebar.js +0 -3266
  215. package/dist/components/chat/CopilotSidebar.js.map +0 -1
  216. package/dist/components/chat/CopilotSidebar.mjs +0 -43
  217. package/dist/components/chat/CopilotSidebar.mjs.map +0 -1
  218. package/dist/components/chat/CopilotSidebarView.d.mts +0 -28
  219. package/dist/components/chat/CopilotSidebarView.d.ts +0 -28
  220. package/dist/components/chat/CopilotSidebarView.js +0 -2941
  221. package/dist/components/chat/CopilotSidebarView.js.map +0 -1
  222. package/dist/components/chat/CopilotSidebarView.mjs +0 -41
  223. package/dist/components/chat/CopilotSidebarView.mjs.map +0 -1
  224. package/dist/components/chat/index.d.mts +0 -23
  225. package/dist/components/chat/index.d.ts +0 -23
  226. package/dist/components/chat/index.js +0 -3503
  227. package/dist/components/chat/index.js.map +0 -1
  228. package/dist/components/chat/index.mjs +0 -95
  229. package/dist/components/chat/index.mjs.map +0 -1
  230. package/dist/components/index.d.mts +0 -29
  231. package/dist/components/index.d.ts +0 -29
  232. package/dist/components/index.js +0 -3583
  233. package/dist/components/index.js.map +0 -1
  234. package/dist/components/index.mjs +0 -104
  235. package/dist/components/index.mjs.map +0 -1
  236. package/dist/components/ui/button.d.mts +0 -14
  237. package/dist/components/ui/button.d.ts +0 -14
  238. package/dist/components/ui/button.js +0 -150
  239. package/dist/components/ui/button.js.map +0 -1
  240. package/dist/components/ui/button.mjs +0 -10
  241. package/dist/components/ui/button.mjs.map +0 -1
  242. package/dist/components/ui/dropdown-menu.d.mts +0 -28
  243. package/dist/components/ui/dropdown-menu.d.ts +0 -28
  244. package/dist/components/ui/dropdown-menu.js +0 -291
  245. package/dist/components/ui/dropdown-menu.js.map +0 -1
  246. package/dist/components/ui/dropdown-menu.mjs +0 -37
  247. package/dist/components/ui/dropdown-menu.mjs.map +0 -1
  248. package/dist/components/ui/tooltip.d.mts +0 -10
  249. package/dist/components/ui/tooltip.d.ts +0 -10
  250. package/dist/components/ui/tooltip.js +0 -103
  251. package/dist/components/ui/tooltip.js.map +0 -1
  252. package/dist/components/ui/tooltip.mjs +0 -14
  253. package/dist/components/ui/tooltip.mjs.map +0 -1
  254. package/dist/hooks/index.d.mts +0 -19
  255. package/dist/hooks/index.d.ts +0 -19
  256. package/dist/hooks/index.js +0 -691
  257. package/dist/hooks/index.js.map +0 -1
  258. package/dist/hooks/index.mjs +0 -45
  259. package/dist/hooks/index.mjs.map +0 -1
  260. package/dist/hooks/use-agent-context.d.mts +0 -5
  261. package/dist/hooks/use-agent-context.d.ts +0 -5
  262. package/dist/hooks/use-agent-context.js +0 -116
  263. package/dist/hooks/use-agent-context.js.map +0 -1
  264. package/dist/hooks/use-agent-context.mjs +0 -10
  265. package/dist/hooks/use-agent-context.mjs.map +0 -1
  266. package/dist/hooks/use-agent.d.mts +0 -16
  267. package/dist/hooks/use-agent.d.ts +0 -16
  268. package/dist/hooks/use-agent.js +0 -171
  269. package/dist/hooks/use-agent.js.map +0 -1
  270. package/dist/hooks/use-agent.mjs +0 -12
  271. package/dist/hooks/use-agent.mjs.map +0 -1
  272. package/dist/hooks/use-configure-suggestions.d.mts +0 -13
  273. package/dist/hooks/use-configure-suggestions.d.ts +0 -13
  274. package/dist/hooks/use-configure-suggestions.js +0 -232
  275. package/dist/hooks/use-configure-suggestions.js.map +0 -1
  276. package/dist/hooks/use-configure-suggestions.mjs +0 -11
  277. package/dist/hooks/use-configure-suggestions.mjs.map +0 -1
  278. package/dist/hooks/use-frontend-tool.d.mts +0 -8
  279. package/dist/hooks/use-frontend-tool.d.ts +0 -8
  280. package/dist/hooks/use-frontend-tool.js +0 -137
  281. package/dist/hooks/use-frontend-tool.js.map +0 -1
  282. package/dist/hooks/use-frontend-tool.mjs +0 -10
  283. package/dist/hooks/use-frontend-tool.mjs.map +0 -1
  284. package/dist/hooks/use-human-in-the-loop.d.mts +0 -7
  285. package/dist/hooks/use-human-in-the-loop.d.ts +0 -7
  286. package/dist/hooks/use-human-in-the-loop.js +0 -206
  287. package/dist/hooks/use-human-in-the-loop.js.map +0 -1
  288. package/dist/hooks/use-human-in-the-loop.mjs +0 -11
  289. package/dist/hooks/use-human-in-the-loop.mjs.map +0 -1
  290. package/dist/hooks/use-keyboard-height.d.mts +0 -15
  291. package/dist/hooks/use-keyboard-height.d.ts +0 -15
  292. package/dist/hooks/use-keyboard-height.js +0 -68
  293. package/dist/hooks/use-keyboard-height.js.map +0 -1
  294. package/dist/hooks/use-keyboard-height.mjs +0 -7
  295. package/dist/hooks/use-keyboard-height.mjs.map +0 -1
  296. package/dist/hooks/use-render-activity-message.d.mts +0 -5
  297. package/dist/hooks/use-render-activity-message.d.ts +0 -5
  298. package/dist/hooks/use-render-activity-message.js +0 -158
  299. package/dist/hooks/use-render-activity-message.js.map +0 -1
  300. package/dist/hooks/use-render-activity-message.mjs +0 -12
  301. package/dist/hooks/use-render-activity-message.mjs.map +0 -1
  302. package/dist/hooks/use-render-custom-messages.d.mts +0 -11
  303. package/dist/hooks/use-render-custom-messages.d.ts +0 -11
  304. package/dist/hooks/use-render-custom-messages.js +0 -170
  305. package/dist/hooks/use-render-custom-messages.js.map +0 -1
  306. package/dist/hooks/use-render-custom-messages.mjs +0 -12
  307. package/dist/hooks/use-render-custom-messages.mjs.map +0 -1
  308. package/dist/hooks/use-render-tool-call.d.mts +0 -16
  309. package/dist/hooks/use-render-tool-call.d.ts +0 -16
  310. package/dist/hooks/use-render-tool-call.js +0 -208
  311. package/dist/hooks/use-render-tool-call.js.map +0 -1
  312. package/dist/hooks/use-render-tool-call.mjs +0 -11
  313. package/dist/hooks/use-render-tool-call.mjs.map +0 -1
  314. package/dist/hooks/use-suggestions.d.mts +0 -14
  315. package/dist/hooks/use-suggestions.d.ts +0 -14
  316. package/dist/hooks/use-suggestions.js +0 -176
  317. package/dist/hooks/use-suggestions.js.map +0 -1
  318. package/dist/hooks/use-suggestions.mjs +0 -11
  319. package/dist/hooks/use-suggestions.mjs.map +0 -1
  320. package/dist/lib/react-core.d.mts +0 -33
  321. package/dist/lib/react-core.d.ts +0 -33
  322. package/dist/lib/react-core.js +0 -73
  323. package/dist/lib/react-core.js.map +0 -1
  324. package/dist/lib/react-core.mjs +0 -7
  325. package/dist/lib/react-core.mjs.map +0 -1
  326. package/dist/lib/slots.d.mts +0 -16
  327. package/dist/lib/slots.d.ts +0 -16
  328. package/dist/lib/slots.js +0 -60
  329. package/dist/lib/slots.js.map +0 -1
  330. package/dist/lib/slots.mjs +0 -7
  331. package/dist/lib/slots.mjs.map +0 -1
  332. package/dist/lib/utils.d.mts +0 -5
  333. package/dist/lib/utils.d.ts +0 -5
  334. package/dist/lib/utils.js +0 -35
  335. package/dist/lib/utils.js.map +0 -1
  336. package/dist/lib/utils.mjs +0 -7
  337. package/dist/lib/utils.mjs.map +0 -1
  338. package/dist/providers/CopilotChatConfigurationProvider.d.mts +0 -43
  339. package/dist/providers/CopilotChatConfigurationProvider.d.ts +0 -43
  340. package/dist/providers/CopilotChatConfigurationProvider.js +0 -109
  341. package/dist/providers/CopilotChatConfigurationProvider.js.map +0 -1
  342. package/dist/providers/CopilotChatConfigurationProvider.mjs +0 -11
  343. package/dist/providers/CopilotChatConfigurationProvider.mjs.map +0 -1
  344. package/dist/providers/CopilotKitProvider.d.mts +0 -33
  345. package/dist/providers/CopilotKitProvider.d.ts +0 -33
  346. package/dist/providers/CopilotKitProvider.js +0 -314
  347. package/dist/providers/CopilotKitProvider.js.map +0 -1
  348. package/dist/providers/CopilotKitProvider.mjs +0 -12
  349. package/dist/providers/CopilotKitProvider.mjs.map +0 -1
  350. package/dist/providers/index.d.mts +0 -13
  351. package/dist/providers/index.d.ts +0 -13
  352. package/dist/providers/index.js +0 -396
  353. package/dist/providers/index.js.map +0 -1
  354. package/dist/providers/index.mjs +0 -18
  355. package/dist/providers/index.mjs.map +0 -1
  356. package/dist/types/defineToolCallRenderer.d.mts +0 -41
  357. package/dist/types/defineToolCallRenderer.d.ts +0 -41
  358. package/dist/types/defineToolCallRenderer.js +0 -40
  359. package/dist/types/defineToolCallRenderer.js.map +0 -1
  360. package/dist/types/defineToolCallRenderer.mjs +0 -7
  361. package/dist/types/defineToolCallRenderer.mjs.map +0 -1
  362. package/dist/types/frontend-tool.d.mts +0 -9
  363. package/dist/types/frontend-tool.d.ts +0 -9
  364. package/dist/types/frontend-tool.js +0 -19
  365. package/dist/types/frontend-tool.js.map +0 -1
  366. package/dist/types/frontend-tool.mjs +0 -2
  367. package/dist/types/frontend-tool.mjs.map +0 -1
  368. package/dist/types/human-in-the-loop.d.mts +0 -29
  369. package/dist/types/human-in-the-loop.d.ts +0 -29
  370. package/dist/types/human-in-the-loop.js +0 -19
  371. package/dist/types/human-in-the-loop.js.map +0 -1
  372. package/dist/types/human-in-the-loop.mjs +0 -2
  373. package/dist/types/human-in-the-loop.mjs.map +0 -1
  374. package/dist/types/index.d.mts +0 -11
  375. package/dist/types/index.d.ts +0 -11
  376. package/dist/types/index.js +0 -42
  377. package/dist/types/index.js.map +0 -1
  378. package/dist/types/index.mjs +0 -13
  379. package/dist/types/index.mjs.map +0 -1
  380. package/dist/types/react-activity-message-renderer.d.mts +0 -29
  381. package/dist/types/react-activity-message-renderer.d.ts +0 -29
  382. package/dist/types/react-activity-message-renderer.js +0 -19
  383. package/dist/types/react-activity-message-renderer.js.map +0 -1
  384. package/dist/types/react-activity-message-renderer.mjs +0 -2
  385. package/dist/types/react-activity-message-renderer.mjs.map +0 -1
  386. package/dist/types/react-custom-message-renderer.d.mts +0 -18
  387. package/dist/types/react-custom-message-renderer.d.ts +0 -18
  388. package/dist/types/react-custom-message-renderer.js +0 -19
  389. package/dist/types/react-custom-message-renderer.js.map +0 -1
  390. package/dist/types/react-custom-message-renderer.mjs +0 -2
  391. package/dist/types/react-custom-message-renderer.mjs.map +0 -1
  392. package/dist/types/react-tool-call-renderer.d.mts +0 -30
  393. package/dist/types/react-tool-call-renderer.d.ts +0 -30
  394. package/dist/types/react-tool-call-renderer.js +0 -19
  395. package/dist/types/react-tool-call-renderer.js.map +0 -1
  396. package/dist/types/react-tool-call-renderer.mjs +0 -2
  397. package/dist/types/react-tool-call-renderer.mjs.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@copilotkitnext/react",
3
- "version": "0.0.22-alpha.4",
3
+ "version": "0.0.22-alpha.5",
4
4
  "description": "React components for CopilotKit2",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -55,9 +55,9 @@
55
55
  "tw-animate-css": "^1.3.5",
56
56
  "use-stick-to-bottom": "^1.1.1",
57
57
  "zod": "^3.25.75",
58
- "@copilotkitnext/web-inspector": "0.0.22-alpha.4",
59
- "@copilotkitnext/shared": "0.0.22-alpha.4",
60
- "@copilotkitnext/core": "0.0.22-alpha.4"
58
+ "@copilotkitnext/core": "0.0.22-alpha.5",
59
+ "@copilotkitnext/shared": "0.0.22-alpha.5",
60
+ "@copilotkitnext/web-inspector": "0.0.22-alpha.5"
61
61
  },
62
62
  "peerDependencies": {
63
63
  "react": ">=16.8.0",
@@ -1,157 +0,0 @@
1
- import {
2
- CopilotChatView
3
- } from "./chunk-JLVGSNAO.mjs";
4
- import {
5
- renderSlot
6
- } from "./chunk-FIBK3DYE.mjs";
7
- import {
8
- useSuggestions
9
- } from "./chunk-XU5CEPYQ.mjs";
10
- import {
11
- useAgent
12
- } from "./chunk-IA4CLXDM.mjs";
13
- import {
14
- CopilotChatConfigurationProvider,
15
- useCopilotChatConfiguration
16
- } from "./chunk-4XJK5IVQ.mjs";
17
- import {
18
- useCopilotKit
19
- } from "./chunk-RF2CGPHQ.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-32YJ5VJ4.mjs.map
@@ -1 +0,0 @@
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"]}
@@ -1 +0,0 @@
1
- //# sourceMappingURL=chunk-36HFWACS.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,16 +0,0 @@
1
- // src/types/defineToolCallRenderer.ts
2
- import { z } from "zod";
3
- function defineToolCallRenderer(def) {
4
- const argsSchema = def.name === "*" && !def.args ? z.any() : def.args;
5
- return {
6
- name: def.name,
7
- args: argsSchema,
8
- render: def.render,
9
- ...def.agentId ? { agentId: def.agentId } : {}
10
- };
11
- }
12
-
13
- export {
14
- defineToolCallRenderer
15
- };
16
- //# sourceMappingURL=chunk-46BZRXWT.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/types/defineToolCallRenderer.ts"],"sourcesContent":["import React from \"react\";\nimport { z } from \"zod\";\nimport { ReactToolCallRenderer } from \"./react-tool-call-renderer\";\nimport { ToolCallStatus } from \"@copilotkitnext/core\";\n\n/**\n * Helper to define a type-safe tool call renderer entry.\n * - Accepts a single object whose keys match ReactToolCallRenderer's fields: { name, args, render, agentId? }.\n * - Derives `args` type from the provided Zod schema.\n * - Ensures the render function param type exactly matches ReactToolCallRenderer<T>[\"render\"]'s param.\n * - For wildcard tools (name: \"*\"), args is optional and defaults to z.any()\n */\ntype RenderProps<T> =\n | {\n name: string;\n args: Partial<T>;\n status: ToolCallStatus.InProgress;\n result: undefined;\n }\n | {\n name: string;\n args: T;\n status: ToolCallStatus.Executing;\n result: undefined;\n }\n | {\n name: string;\n args: T;\n status: ToolCallStatus.Complete;\n result: string;\n };\n\n// Overload for wildcard tools without args\nexport function defineToolCallRenderer(def: {\n name: \"*\";\n render: (props: RenderProps<any>) => React.ReactElement;\n agentId?: string;\n}): ReactToolCallRenderer<any>;\n\n// Overload for regular tools with args\nexport function defineToolCallRenderer<S extends z.ZodTypeAny>(def: {\n name: string;\n args: S;\n render: (props: RenderProps<z.infer<S>>) => React.ReactElement;\n agentId?: string;\n}): ReactToolCallRenderer<z.infer<S>>;\n\n// Implementation\nexport function defineToolCallRenderer<S extends z.ZodTypeAny>(def: {\n name: string;\n args?: S;\n render: (props: any) => React.ReactElement;\n agentId?: string;\n}): ReactToolCallRenderer<any> {\n // For wildcard tools, default to z.any() if no args provided\n const argsSchema = def.name === \"*\" && !def.args ? z.any() : def.args;\n\n return {\n name: def.name,\n args: argsSchema as any,\n render: def.render as React.ComponentType<any>,\n ...(def.agentId ? { agentId: def.agentId } : {}),\n };\n}\n"],"mappings":";AACA,SAAS,SAAS;AA+CX,SAAS,uBAA+C,KAKhC;AAE7B,QAAM,aAAa,IAAI,SAAS,OAAO,CAAC,IAAI,OAAO,EAAE,IAAI,IAAI,IAAI;AAEjE,SAAO;AAAA,IACL,MAAM,IAAI;AAAA,IACV,MAAM;AAAA,IACN,QAAQ,IAAI;AAAA,IACZ,GAAI,IAAI,UAAU,EAAE,SAAS,IAAI,QAAQ,IAAI,CAAC;AAAA,EAChD;AACF;","names":[]}
@@ -1,106 +0,0 @@
1
- // src/components/chat/CopilotChatAudioRecorder.tsx
2
- import { useRef, useEffect, useImperativeHandle, forwardRef } from "react";
3
- import { twMerge } from "tailwind-merge";
4
- import { jsx } from "react/jsx-runtime";
5
- var AudioRecorderError = class extends Error {
6
- constructor(message) {
7
- super(message);
8
- this.name = "AudioRecorderError";
9
- }
10
- };
11
- var CopilotChatAudioRecorder = forwardRef((props, ref) => {
12
- const { className, ...divProps } = props;
13
- const canvasRef = useRef(null);
14
- const getLoudness = (n) => {
15
- const elapsed = Date.now() / 1e3;
16
- const samples = [];
17
- for (let i = 0; i < n; i++) {
18
- const position = i / n * 10 + elapsed * 0.5;
19
- const wave1 = Math.sin(position * 2) * 0.3;
20
- const wave2 = Math.sin(position * 5 + elapsed) * 0.2;
21
- const wave3 = Math.sin(position * 0.5 + elapsed * 0.3) * 0.4;
22
- const noise = (Math.random() - 0.5) * 0.1;
23
- const envelope = Math.sin(elapsed * 0.7) * 0.5 + 0.5;
24
- let amplitude = (wave1 + wave2 + wave3 + noise) * envelope;
25
- amplitude = Math.max(0, Math.min(1, amplitude * 0.5 + 0.3));
26
- samples.push(amplitude);
27
- }
28
- return samples;
29
- };
30
- useEffect(() => {
31
- const canvas = canvasRef.current;
32
- if (!canvas) return;
33
- const ctx = canvas.getContext("2d");
34
- if (!ctx) return;
35
- let animationId;
36
- const draw = () => {
37
- const rect = canvas.getBoundingClientRect();
38
- const dpr = window.devicePixelRatio || 1;
39
- if (canvas.width !== rect.width * dpr || canvas.height !== rect.height * dpr) {
40
- canvas.width = rect.width * dpr;
41
- canvas.height = rect.height * dpr;
42
- ctx.scale(dpr, dpr);
43
- ctx.imageSmoothingEnabled = false;
44
- }
45
- const barWidth = 2;
46
- const minHeight = 2;
47
- const maxHeight = 20;
48
- const gap = 2;
49
- const numSamples = Math.ceil(rect.width / (barWidth + gap));
50
- const loudnessData = getLoudness(numSamples);
51
- ctx.clearRect(0, 0, rect.width, rect.height);
52
- const computedStyle = getComputedStyle(canvas);
53
- const currentForeground = computedStyle.color;
54
- ctx.fillStyle = currentForeground;
55
- const centerY = rect.height / 2;
56
- for (let i = 0; i < loudnessData.length; i++) {
57
- const sample = loudnessData[i] ?? 0;
58
- const barHeight = Math.round(
59
- sample * (maxHeight - minHeight) + minHeight
60
- );
61
- const x = Math.round(i * (barWidth + gap));
62
- const y = Math.round(centerY - barHeight / 2);
63
- ctx.fillRect(x, y, barWidth, barHeight);
64
- }
65
- animationId = requestAnimationFrame(draw);
66
- };
67
- draw();
68
- return () => {
69
- if (animationId) {
70
- cancelAnimationFrame(animationId);
71
- }
72
- };
73
- }, []);
74
- useImperativeHandle(
75
- ref,
76
- () => ({
77
- get state() {
78
- return "idle";
79
- },
80
- start: async () => {
81
- },
82
- stop: () => new Promise((resolve) => {
83
- const emptyBlob = new Blob([], { type: "audio/webm" });
84
- resolve(emptyBlob);
85
- }),
86
- dispose: () => {
87
- }
88
- }),
89
- []
90
- );
91
- return /* @__PURE__ */ jsx("div", { className: twMerge("h-[44px] w-full px-5", className), ...divProps, children: /* @__PURE__ */ jsx(
92
- "canvas",
93
- {
94
- ref: canvasRef,
95
- className: "w-full h-full",
96
- style: { imageRendering: "pixelated" }
97
- }
98
- ) });
99
- });
100
- CopilotChatAudioRecorder.displayName = "WebAudioRecorder";
101
-
102
- export {
103
- AudioRecorderError,
104
- CopilotChatAudioRecorder
105
- };
106
- //# sourceMappingURL=chunk-4UDBR75C.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/chat/CopilotChatAudioRecorder.tsx"],"sourcesContent":["import { useRef, useEffect, useImperativeHandle, forwardRef } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\n/** Finite-state machine for every recorder implementation */\nexport type AudioRecorderState = \"idle\" | \"recording\" | \"processing\";\n\n/** Error subclass so callers can `instanceof`-guard recorder failures */\nexport class AudioRecorderError extends Error {\n constructor(message: string) {\n super(message);\n this.name = \"AudioRecorderError\";\n }\n}\n\nexport const CopilotChatAudioRecorder = forwardRef<\n any,\n React.HTMLAttributes<HTMLDivElement>\n>((props, ref) => {\n const { className, ...divProps } = props;\n const canvasRef = useRef<HTMLCanvasElement>(null);\n\n // Generate fake waveform that moves with time\n const getLoudness = (n: number): number[] => {\n const elapsed = Date.now() / 1000; // Use current timestamp directly\n const samples: number[] = [];\n\n for (let i = 0; i < n; i++) {\n // Create a position that moves from left to right over time\n const position = (i / n) * 10 + elapsed * 0.5; // Scroll speed (slower)\n\n // Generate waveform using multiple sine waves for realism\n const wave1 = Math.sin(position * 2) * 0.3;\n const wave2 = Math.sin(position * 5 + elapsed) * 0.2;\n const wave3 = Math.sin(position * 0.5 + elapsed * 0.3) * 0.4;\n\n // Add some randomness for natural variation\n const noise = (Math.random() - 0.5) * 0.1;\n\n // Combine waves and add envelope for realistic amplitude variation\n const envelope = Math.sin(elapsed * 0.7) * 0.5 + 0.5; // Slow amplitude modulation\n let amplitude = (wave1 + wave2 + wave3 + noise) * envelope;\n\n // Clamp to 0-1 range\n amplitude = Math.max(0, Math.min(1, amplitude * 0.5 + 0.3));\n\n samples.push(amplitude);\n }\n\n return samples;\n };\n\n // No setup needed - stub implementation\n\n // Canvas rendering with 60fps animation\n useEffect(() => {\n const canvas = canvasRef.current;\n if (!canvas) return;\n\n const ctx = canvas.getContext(\"2d\");\n if (!ctx) return;\n\n let animationId: number;\n\n const draw = () => {\n const rect = canvas.getBoundingClientRect();\n const dpr = window.devicePixelRatio || 1;\n\n // Update canvas dimensions if container resized\n if (\n canvas.width !== rect.width * dpr ||\n canvas.height !== rect.height * dpr\n ) {\n canvas.width = rect.width * dpr;\n canvas.height = rect.height * dpr;\n ctx.scale(dpr, dpr);\n ctx.imageSmoothingEnabled = false;\n }\n\n // Configuration\n const barWidth = 2;\n const minHeight = 2;\n const maxHeight = 20;\n const gap = 2;\n const numSamples = Math.ceil(rect.width / (barWidth + gap));\n\n // Get loudness data\n const loudnessData = getLoudness(numSamples);\n\n // Clear canvas\n ctx.clearRect(0, 0, rect.width, rect.height);\n\n // Get current foreground color\n const computedStyle = getComputedStyle(canvas);\n const currentForeground = computedStyle.color;\n\n // Draw bars\n ctx.fillStyle = currentForeground;\n const centerY = rect.height / 2;\n\n for (let i = 0; i < loudnessData.length; i++) {\n const sample = loudnessData[i] ?? 0;\n const barHeight = Math.round(\n sample * (maxHeight - minHeight) + minHeight\n );\n const x = Math.round(i * (barWidth + gap));\n const y = Math.round(centerY - barHeight / 2);\n\n ctx.fillRect(x, y, barWidth, barHeight);\n }\n\n animationId = requestAnimationFrame(draw);\n };\n\n draw();\n\n return () => {\n if (animationId) {\n cancelAnimationFrame(animationId);\n }\n };\n }, []);\n\n // Expose AudioRecorder API\n useImperativeHandle(\n ref,\n () => ({\n get state() {\n return \"idle\" as AudioRecorderState;\n },\n start: async () => {\n // Stub implementation - no actual recording\n },\n stop: () =>\n new Promise<Blob>((resolve) => {\n // Stub implementation - return empty blob\n const emptyBlob = new Blob([], { type: \"audio/webm\" });\n resolve(emptyBlob);\n }),\n dispose: () => {\n // No cleanup needed\n },\n }),\n []\n );\n\n return (\n <div className={twMerge(\"h-[44px] w-full px-5\", className)} {...divProps}>\n <canvas\n ref={canvasRef}\n className=\"w-full h-full\"\n style={{ imageRendering: \"pixelated\" }}\n />\n </div>\n );\n});\n\nCopilotChatAudioRecorder.displayName = \"WebAudioRecorder\";\n"],"mappings":"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","names":[]}
@@ -1,83 +0,0 @@
1
- // src/providers/CopilotChatConfigurationProvider.tsx
2
- import { createContext, useContext, useMemo, useState } from "react";
3
- import { DEFAULT_AGENT_ID, randomUUID } from "@copilotkitnext/shared";
4
- import { jsx } from "react/jsx-runtime";
5
- var CopilotChatDefaultLabels = {
6
- chatInputPlaceholder: "Type a message...",
7
- chatInputToolbarStartTranscribeButtonLabel: "Transcribe",
8
- chatInputToolbarCancelTranscribeButtonLabel: "Cancel",
9
- chatInputToolbarFinishTranscribeButtonLabel: "Finish",
10
- chatInputToolbarAddButtonLabel: "Add photos or files",
11
- chatInputToolbarToolsButtonLabel: "Tools",
12
- assistantMessageToolbarCopyCodeLabel: "Copy",
13
- assistantMessageToolbarCopyCodeCopiedLabel: "Copied",
14
- assistantMessageToolbarCopyMessageLabel: "Copy",
15
- assistantMessageToolbarThumbsUpLabel: "Good response",
16
- assistantMessageToolbarThumbsDownLabel: "Bad response",
17
- assistantMessageToolbarReadAloudLabel: "Read aloud",
18
- assistantMessageToolbarRegenerateLabel: "Regenerate",
19
- userMessageToolbarCopyMessageLabel: "Copy",
20
- userMessageToolbarEditMessageLabel: "Edit",
21
- chatDisclaimerText: "AI can make mistakes. Please verify important information.",
22
- chatToggleOpenLabel: "Open chat",
23
- chatToggleCloseLabel: "Close chat",
24
- modalHeaderTitle: "CopilotKit Chat"
25
- };
26
- var CopilotChatConfiguration = createContext(null);
27
- var CopilotChatConfigurationProvider = ({ children, labels, agentId, threadId, isModalDefaultOpen }) => {
28
- const parentConfig = useContext(CopilotChatConfiguration);
29
- const mergedLabels = useMemo(
30
- () => ({
31
- ...CopilotChatDefaultLabels,
32
- ...parentConfig?.labels ?? {},
33
- ...labels ?? {}
34
- }),
35
- [labels, parentConfig?.labels]
36
- );
37
- const resolvedAgentId = agentId ?? parentConfig?.agentId ?? DEFAULT_AGENT_ID;
38
- const resolvedThreadId = useMemo(() => {
39
- if (threadId) {
40
- return threadId;
41
- }
42
- if (parentConfig?.threadId) {
43
- return parentConfig.threadId;
44
- }
45
- return randomUUID();
46
- }, [threadId, parentConfig?.threadId]);
47
- const resolvedDefaultOpen = isModalDefaultOpen ?? parentConfig?.isModalDefaultOpen ?? true;
48
- const [internalModalOpen, setInternalModalOpen] = useState(
49
- parentConfig?.isModalOpen ?? resolvedDefaultOpen
50
- );
51
- const resolvedIsModalOpen = parentConfig?.isModalOpen ?? internalModalOpen;
52
- const resolvedSetModalOpen = parentConfig?.setModalOpen ?? setInternalModalOpen;
53
- const configurationValue = useMemo(
54
- () => ({
55
- labels: mergedLabels,
56
- agentId: resolvedAgentId,
57
- threadId: resolvedThreadId,
58
- isModalOpen: resolvedIsModalOpen,
59
- setModalOpen: resolvedSetModalOpen,
60
- isModalDefaultOpen: resolvedDefaultOpen
61
- }),
62
- [
63
- mergedLabels,
64
- resolvedAgentId,
65
- resolvedThreadId,
66
- resolvedIsModalOpen,
67
- resolvedSetModalOpen,
68
- resolvedDefaultOpen
69
- ]
70
- );
71
- return /* @__PURE__ */ jsx(CopilotChatConfiguration.Provider, { value: configurationValue, children });
72
- };
73
- var useCopilotChatConfiguration = () => {
74
- const configuration = useContext(CopilotChatConfiguration);
75
- return configuration;
76
- };
77
-
78
- export {
79
- CopilotChatDefaultLabels,
80
- CopilotChatConfigurationProvider,
81
- useCopilotChatConfiguration
82
- };
83
- //# sourceMappingURL=chunk-4XJK5IVQ.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/providers/CopilotChatConfigurationProvider.tsx"],"sourcesContent":["import React, { createContext, useContext, ReactNode, useMemo, useState } from \"react\";\nimport { DEFAULT_AGENT_ID, randomUUID } from \"@copilotkitnext/shared\";\n\n// Default labels\nexport const CopilotChatDefaultLabels = {\n chatInputPlaceholder: \"Type a message...\",\n chatInputToolbarStartTranscribeButtonLabel: \"Transcribe\",\n chatInputToolbarCancelTranscribeButtonLabel: \"Cancel\",\n chatInputToolbarFinishTranscribeButtonLabel: \"Finish\",\n chatInputToolbarAddButtonLabel: \"Add photos or files\",\n chatInputToolbarToolsButtonLabel: \"Tools\",\n assistantMessageToolbarCopyCodeLabel: \"Copy\",\n assistantMessageToolbarCopyCodeCopiedLabel: \"Copied\",\n assistantMessageToolbarCopyMessageLabel: \"Copy\",\n assistantMessageToolbarThumbsUpLabel: \"Good response\",\n assistantMessageToolbarThumbsDownLabel: \"Bad response\",\n assistantMessageToolbarReadAloudLabel: \"Read aloud\",\n assistantMessageToolbarRegenerateLabel: \"Regenerate\",\n userMessageToolbarCopyMessageLabel: \"Copy\",\n userMessageToolbarEditMessageLabel: \"Edit\",\n chatDisclaimerText: \"AI can make mistakes. Please verify important information.\",\n chatToggleOpenLabel: \"Open chat\",\n chatToggleCloseLabel: \"Close chat\",\n modalHeaderTitle: \"CopilotKit Chat\",\n};\n\nexport type CopilotChatLabels = typeof CopilotChatDefaultLabels;\n\n// Define the full configuration interface\nexport interface CopilotChatConfigurationValue {\n labels: CopilotChatLabels;\n agentId: string;\n threadId: string;\n isModalOpen: boolean;\n setModalOpen: (open: boolean) => void;\n isModalDefaultOpen: boolean;\n}\n\n// Create the configuration context\nconst CopilotChatConfiguration =\n createContext<CopilotChatConfigurationValue | null>(null);\n\n// Provider props interface\nexport interface CopilotChatConfigurationProviderProps {\n children: ReactNode;\n labels?: Partial<CopilotChatLabels>;\n agentId?: string;\n threadId?: string;\n isModalDefaultOpen?: boolean;\n}\n\n// Provider component\nexport const CopilotChatConfigurationProvider: React.FC<\n CopilotChatConfigurationProviderProps\n> = ({ children, labels, agentId, threadId, isModalDefaultOpen }) => {\n const parentConfig = useContext(CopilotChatConfiguration);\n\n const mergedLabels: CopilotChatLabels = useMemo(\n () => ({\n ...CopilotChatDefaultLabels,\n ...(parentConfig?.labels ?? {}),\n ...(labels ?? {}),\n }),\n [labels, parentConfig?.labels],\n );\n\n const resolvedAgentId = agentId ?? parentConfig?.agentId ?? DEFAULT_AGENT_ID;\n\n const resolvedThreadId = useMemo(() => {\n if (threadId) {\n return threadId;\n }\n if (parentConfig?.threadId) {\n return parentConfig.threadId;\n }\n return randomUUID();\n }, [threadId, parentConfig?.threadId]);\n\n const resolvedDefaultOpen = isModalDefaultOpen ?? parentConfig?.isModalDefaultOpen ?? true;\n\n const [internalModalOpen, setInternalModalOpen] = useState<boolean>(\n parentConfig?.isModalOpen ?? resolvedDefaultOpen,\n );\n\n const resolvedIsModalOpen = parentConfig?.isModalOpen ?? internalModalOpen;\n const resolvedSetModalOpen = parentConfig?.setModalOpen ?? setInternalModalOpen;\n\n const configurationValue: CopilotChatConfigurationValue = useMemo(\n () => ({\n labels: mergedLabels,\n agentId: resolvedAgentId,\n threadId: resolvedThreadId,\n isModalOpen: resolvedIsModalOpen,\n setModalOpen: resolvedSetModalOpen,\n isModalDefaultOpen: resolvedDefaultOpen,\n }),\n [\n mergedLabels,\n resolvedAgentId,\n resolvedThreadId,\n resolvedIsModalOpen,\n resolvedSetModalOpen,\n resolvedDefaultOpen,\n ],\n );\n\n return (\n <CopilotChatConfiguration.Provider value={configurationValue}>\n {children}\n </CopilotChatConfiguration.Provider>\n );\n};\n\n// Hook to use the full configuration\nexport const useCopilotChatConfiguration =\n (): CopilotChatConfigurationValue | null => {\n const configuration = useContext(CopilotChatConfiguration);\n return configuration;\n };\n"],"mappings":";AAAA,SAAgB,eAAe,YAAuB,SAAS,gBAAgB;AAC/E,SAAS,kBAAkB,kBAAkB;AA0GzC;AAvGG,IAAM,2BAA2B;AAAA,EACtC,sBAAsB;AAAA,EACtB,4CAA4C;AAAA,EAC5C,6CAA6C;AAAA,EAC7C,6CAA6C;AAAA,EAC7C,gCAAgC;AAAA,EAChC,kCAAkC;AAAA,EAClC,sCAAsC;AAAA,EACtC,4CAA4C;AAAA,EAC5C,yCAAyC;AAAA,EACzC,sCAAsC;AAAA,EACtC,wCAAwC;AAAA,EACxC,uCAAuC;AAAA,EACvC,wCAAwC;AAAA,EACxC,oCAAoC;AAAA,EACpC,oCAAoC;AAAA,EACpC,oBAAoB;AAAA,EACpB,qBAAqB;AAAA,EACrB,sBAAsB;AAAA,EACtB,kBAAkB;AACpB;AAeA,IAAM,2BACJ,cAAoD,IAAI;AAYnD,IAAM,mCAET,CAAC,EAAE,UAAU,QAAQ,SAAS,UAAU,mBAAmB,MAAM;AACnE,QAAM,eAAe,WAAW,wBAAwB;AAExD,QAAM,eAAkC;AAAA,IACtC,OAAO;AAAA,MACL,GAAG;AAAA,MACH,GAAI,cAAc,UAAU,CAAC;AAAA,MAC7B,GAAI,UAAU,CAAC;AAAA,IACjB;AAAA,IACA,CAAC,QAAQ,cAAc,MAAM;AAAA,EAC/B;AAEA,QAAM,kBAAkB,WAAW,cAAc,WAAW;AAE5D,QAAM,mBAAmB,QAAQ,MAAM;AACrC,QAAI,UAAU;AACZ,aAAO;AAAA,IACT;AACA,QAAI,cAAc,UAAU;AAC1B,aAAO,aAAa;AAAA,IACtB;AACA,WAAO,WAAW;AAAA,EACpB,GAAG,CAAC,UAAU,cAAc,QAAQ,CAAC;AAErC,QAAM,sBAAsB,sBAAsB,cAAc,sBAAsB;AAEtF,QAAM,CAAC,mBAAmB,oBAAoB,IAAI;AAAA,IAChD,cAAc,eAAe;AAAA,EAC/B;AAEA,QAAM,sBAAsB,cAAc,eAAe;AACzD,QAAM,uBAAuB,cAAc,gBAAgB;AAE3D,QAAM,qBAAoD;AAAA,IACxD,OAAO;AAAA,MACL,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,UAAU;AAAA,MACV,aAAa;AAAA,MACb,cAAc;AAAA,MACd,oBAAoB;AAAA,IACtB;AAAA,IACA;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAEA,SACE,oBAAC,yBAAyB,UAAzB,EAAkC,OAAO,oBACvC,UACH;AAEJ;AAGO,IAAM,8BACX,MAA4C;AAC1C,QAAM,gBAAgB,WAAW,wBAAwB;AACzD,SAAO;AACT;","names":[]}
@@ -1,72 +0,0 @@
1
- import {
2
- defineToolCallRenderer
3
- } from "./chunk-46BZRXWT.mjs";
4
-
5
- // src/components/WildcardToolCallRender.tsx
6
- import { useState } from "react";
7
- import { jsx, jsxs } from "react/jsx-runtime";
8
- var WildcardToolCallRender = defineToolCallRenderer({
9
- name: "*",
10
- render: ({ args, result, name, status }) => {
11
- const [isExpanded, setIsExpanded] = useState(false);
12
- const statusString = String(status);
13
- const isActive = statusString === "inProgress" || statusString === "executing";
14
- const isComplete = statusString === "complete";
15
- const statusStyles = isActive ? "bg-amber-100 text-amber-800 dark:bg-amber-500/15 dark:text-amber-400" : isComplete ? "bg-emerald-100 text-emerald-800 dark:bg-emerald-500/15 dark:text-emerald-400" : "bg-zinc-100 text-zinc-800 dark:bg-zinc-700/40 dark:text-zinc-300";
16
- return /* @__PURE__ */ jsx("div", { className: "mt-2 pb-2", children: /* @__PURE__ */ jsxs("div", { className: "rounded-xl border border-zinc-200/60 dark:border-zinc-800/60 bg-white/70 dark:bg-zinc-900/50 shadow-sm backdrop-blur p-4", children: [
17
- /* @__PURE__ */ jsxs(
18
- "div",
19
- {
20
- className: "flex items-center justify-between gap-3 cursor-pointer",
21
- onClick: () => setIsExpanded(!isExpanded),
22
- children: [
23
- /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 min-w-0", children: [
24
- /* @__PURE__ */ jsx(
25
- "svg",
26
- {
27
- className: `h-4 w-4 text-zinc-500 dark:text-zinc-400 transition-transform ${isExpanded ? "rotate-90" : ""}`,
28
- fill: "none",
29
- viewBox: "0 0 24 24",
30
- strokeWidth: 2,
31
- stroke: "currentColor",
32
- children: /* @__PURE__ */ jsx(
33
- "path",
34
- {
35
- strokeLinecap: "round",
36
- strokeLinejoin: "round",
37
- d: "M8.25 4.5l7.5 7.5-7.5 7.5"
38
- }
39
- )
40
- }
41
- ),
42
- /* @__PURE__ */ jsx("span", { className: "inline-block h-2 w-2 rounded-full bg-blue-500" }),
43
- /* @__PURE__ */ jsx("span", { className: "truncate text-sm font-medium text-zinc-900 dark:text-zinc-100", children: name })
44
- ] }),
45
- /* @__PURE__ */ jsx(
46
- "span",
47
- {
48
- className: `inline-flex items-center rounded-full px-2 py-1 text-xs font-medium ${statusStyles}`,
49
- children: String(status)
50
- }
51
- )
52
- ]
53
- }
54
- ),
55
- isExpanded && /* @__PURE__ */ jsxs("div", { className: "mt-3 grid gap-4", children: [
56
- /* @__PURE__ */ jsxs("div", { children: [
57
- /* @__PURE__ */ jsx("div", { className: "text-xs uppercase tracking-wide text-zinc-500 dark:text-zinc-400", children: "Arguments" }),
58
- /* @__PURE__ */ jsx("pre", { className: "mt-2 max-h-64 overflow-auto rounded-md bg-zinc-50 dark:bg-zinc-800/60 p-3 text-xs leading-relaxed text-zinc-800 dark:text-zinc-200 whitespace-pre-wrap break-words", children: JSON.stringify(args ?? {}, null, 2) })
59
- ] }),
60
- result !== void 0 && /* @__PURE__ */ jsxs("div", { children: [
61
- /* @__PURE__ */ jsx("div", { className: "text-xs uppercase tracking-wide text-zinc-500 dark:text-zinc-400", children: "Result" }),
62
- /* @__PURE__ */ jsx("pre", { className: "mt-2 max-h-64 overflow-auto rounded-md bg-zinc-50 dark:bg-zinc-800/60 p-3 text-xs leading-relaxed text-zinc-800 dark:text-zinc-200 whitespace-pre-wrap break-words", children: typeof result === "string" ? result : JSON.stringify(result, null, 2) })
63
- ] })
64
- ] })
65
- ] }) });
66
- }
67
- });
68
-
69
- export {
70
- WildcardToolCallRender
71
- };
72
- //# sourceMappingURL=chunk-5JNWVLQI.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/WildcardToolCallRender.tsx"],"sourcesContent":["import { defineToolCallRenderer } from \"../types/defineToolCallRenderer\";\nimport { useState } from \"react\";\n\nexport const WildcardToolCallRender = defineToolCallRenderer({\n name: \"*\",\n render: ({ args, result, name, status }) => {\n const [isExpanded, setIsExpanded] = useState(false);\n\n const statusString = String(status) as\n | \"inProgress\"\n | \"executing\"\n | \"complete\";\n const isActive =\n statusString === \"inProgress\" || statusString === \"executing\";\n const isComplete = statusString === \"complete\";\n const statusStyles = isActive\n ? \"bg-amber-100 text-amber-800 dark:bg-amber-500/15 dark:text-amber-400\"\n : isComplete\n ? \"bg-emerald-100 text-emerald-800 dark:bg-emerald-500/15 dark:text-emerald-400\"\n : \"bg-zinc-100 text-zinc-800 dark:bg-zinc-700/40 dark:text-zinc-300\";\n\n return (\n <div className=\"mt-2 pb-2\">\n <div className=\"rounded-xl border border-zinc-200/60 dark:border-zinc-800/60 bg-white/70 dark:bg-zinc-900/50 shadow-sm backdrop-blur p-4\">\n <div\n className=\"flex items-center justify-between gap-3 cursor-pointer\"\n onClick={() => setIsExpanded(!isExpanded)}\n >\n <div className=\"flex items-center gap-2 min-w-0\">\n <svg\n className={`h-4 w-4 text-zinc-500 dark:text-zinc-400 transition-transform ${\n isExpanded ? \"rotate-90\" : \"\"\n }`}\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n strokeWidth={2}\n stroke=\"currentColor\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n d=\"M8.25 4.5l7.5 7.5-7.5 7.5\"\n />\n </svg>\n <span className=\"inline-block h-2 w-2 rounded-full bg-blue-500\" />\n <span className=\"truncate text-sm font-medium text-zinc-900 dark:text-zinc-100\">\n {name}\n </span>\n </div>\n <span\n className={`inline-flex items-center rounded-full px-2 py-1 text-xs font-medium ${statusStyles}`}\n >\n {String(status)}\n </span>\n </div>\n\n {isExpanded && (\n <div className=\"mt-3 grid gap-4\">\n <div>\n <div className=\"text-xs uppercase tracking-wide text-zinc-500 dark:text-zinc-400\">\n Arguments\n </div>\n <pre className=\"mt-2 max-h-64 overflow-auto rounded-md bg-zinc-50 dark:bg-zinc-800/60 p-3 text-xs leading-relaxed text-zinc-800 dark:text-zinc-200 whitespace-pre-wrap break-words\">\n {JSON.stringify(args ?? {}, null, 2)}\n </pre>\n </div>\n\n {result !== undefined && (\n <div>\n <div className=\"text-xs uppercase tracking-wide text-zinc-500 dark:text-zinc-400\">\n Result\n </div>\n <pre className=\"mt-2 max-h-64 overflow-auto rounded-md bg-zinc-50 dark:bg-zinc-800/60 p-3 text-xs leading-relaxed text-zinc-800 dark:text-zinc-200 whitespace-pre-wrap break-words\">\n {typeof result === \"string\"\n ? result\n : JSON.stringify(result, null, 2)}\n </pre>\n </div>\n )}\n </div>\n )}\n </div>\n </div>\n );\n },\n});\n"],"mappings":";;;;;AACA,SAAS,gBAAgB;AA2Bb,SAUI,KAVJ;AAzBL,IAAM,yBAAyB,uBAAuB;AAAA,EAC3D,MAAM;AAAA,EACN,QAAQ,CAAC,EAAE,MAAM,QAAQ,MAAM,OAAO,MAAM;AAC1C,UAAM,CAAC,YAAY,aAAa,IAAI,SAAS,KAAK;AAElD,UAAM,eAAe,OAAO,MAAM;AAIlC,UAAM,WACJ,iBAAiB,gBAAgB,iBAAiB;AACpD,UAAM,aAAa,iBAAiB;AACpC,UAAM,eAAe,WACjB,yEACA,aACE,iFACA;AAEN,WACE,oBAAC,SAAI,WAAU,aACb,+BAAC,SAAI,WAAU,4HACb;AAAA;AAAA,QAAC;AAAA;AAAA,UACC,WAAU;AAAA,UACV,SAAS,MAAM,cAAc,CAAC,UAAU;AAAA,UAExC;AAAA,iCAAC,SAAI,WAAU,mCACb;AAAA;AAAA,gBAAC;AAAA;AAAA,kBACC,WAAW,iEACT,aAAa,cAAc,EAC7B;AAAA,kBACA,MAAK;AAAA,kBACL,SAAQ;AAAA,kBACR,aAAa;AAAA,kBACb,QAAO;AAAA,kBAEP;AAAA,oBAAC;AAAA;AAAA,sBACC,eAAc;AAAA,sBACd,gBAAe;AAAA,sBACf,GAAE;AAAA;AAAA,kBACJ;AAAA;AAAA,cACF;AAAA,cACA,oBAAC,UAAK,WAAU,iDAAgD;AAAA,cAChE,oBAAC,UAAK,WAAU,iEACb,gBACH;AAAA,eACF;AAAA,YACA;AAAA,cAAC;AAAA;AAAA,gBACC,WAAW,uEAAuE,YAAY;AAAA,gBAE7F,iBAAO,MAAM;AAAA;AAAA,YAChB;AAAA;AAAA;AAAA,MACF;AAAA,MAEC,cACC,qBAAC,SAAI,WAAU,mBACb;AAAA,6BAAC,SACC;AAAA,8BAAC,SAAI,WAAU,oEAAmE,uBAElF;AAAA,UACA,oBAAC,SAAI,WAAU,sKACZ,eAAK,UAAU,QAAQ,CAAC,GAAG,MAAM,CAAC,GACrC;AAAA,WACF;AAAA,QAEC,WAAW,UACV,qBAAC,SACC;AAAA,8BAAC,SAAI,WAAU,oEAAmE,oBAElF;AAAA,UACA,oBAAC,SAAI,WAAU,sKACZ,iBAAO,WAAW,WACf,SACA,KAAK,UAAU,QAAQ,MAAM,CAAC,GACpC;AAAA,WACF;AAAA,SAEJ;AAAA,OAEJ,GACF;AAAA,EAEJ;AACF,CAAC;","names":[]}
@@ -1,69 +0,0 @@
1
- import {
2
- useCopilotChatConfiguration
3
- } from "./chunk-4XJK5IVQ.mjs";
4
- import {
5
- useCopilotKit
6
- } from "./chunk-RF2CGPHQ.mjs";
7
-
8
- // src/hooks/use-render-custom-messages.tsx
9
- import { jsx } from "react/jsx-runtime";
10
- function useRenderCustomMessages() {
11
- const { copilotkit } = useCopilotKit();
12
- const config = useCopilotChatConfiguration();
13
- if (!config) {
14
- return null;
15
- }
16
- const { agentId, threadId } = config;
17
- const customMessageRenderers = copilotkit.renderCustomMessages.filter((renderer) => renderer.agentId === void 0 || renderer.agentId === agentId).sort((a, b) => {
18
- const aHasAgent = a.agentId !== void 0;
19
- const bHasAgent = b.agentId !== void 0;
20
- if (aHasAgent === bHasAgent) return 0;
21
- return aHasAgent ? -1 : 1;
22
- });
23
- return function(params) {
24
- if (!customMessageRenderers.length) {
25
- return null;
26
- }
27
- const { message, position } = params;
28
- const runId = copilotkit.getRunIdForMessage(agentId, threadId, message.id);
29
- const agent = copilotkit.getAgent(agentId);
30
- if (!agent) {
31
- throw new Error("Agent not found");
32
- }
33
- const messagesIdsInRun = agent.messages.filter((msg) => copilotkit.getRunIdForMessage(agentId, threadId, msg.id) === runId).map((msg) => msg.id);
34
- const messageIndex = agent.messages.findIndex((msg) => msg.id === message.id) ?? 0;
35
- const messageIndexInRun = Math.min(messagesIdsInRun.indexOf(message.id), 0);
36
- const numberOfMessagesInRun = messagesIdsInRun.length;
37
- const stateSnapshot = copilotkit.getStateByRun(agentId, threadId, runId);
38
- let result = null;
39
- for (const renderer of customMessageRenderers) {
40
- if (!renderer.render) {
41
- continue;
42
- }
43
- const Component = renderer.render;
44
- result = /* @__PURE__ */ jsx(
45
- Component,
46
- {
47
- message,
48
- position,
49
- runId,
50
- messageIndex,
51
- messageIndexInRun,
52
- numberOfMessagesInRun,
53
- agentId,
54
- stateSnapshot
55
- },
56
- `${runId}-${message.id}-${position}`
57
- );
58
- if (result) {
59
- break;
60
- }
61
- }
62
- return result;
63
- };
64
- }
65
-
66
- export {
67
- useRenderCustomMessages
68
- };
69
- //# sourceMappingURL=chunk-5SC3CO5Q.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/hooks/use-render-custom-messages.tsx"],"sourcesContent":["import { useCopilotChatConfiguration, useCopilotKit } from \"@/providers\";\nimport { ReactCustomMessageRendererPosition } from \"@/types/react-custom-message-renderer\";\nimport { Message } from \"@ag-ui/core\";\n\ninterface UseRenderCustomMessagesParams {\n message: Message;\n position: ReactCustomMessageRendererPosition;\n}\n\nexport function useRenderCustomMessages() {\n const { copilotkit } = useCopilotKit();\n const config = useCopilotChatConfiguration();\n\n if (!config) {\n return null;\n }\n\n const { agentId, threadId } = config;\n\n const customMessageRenderers = copilotkit.renderCustomMessages\n .filter((renderer) => renderer.agentId === undefined || renderer.agentId === agentId)\n .sort((a, b) => {\n const aHasAgent = a.agentId !== undefined;\n const bHasAgent = b.agentId !== undefined;\n if (aHasAgent === bHasAgent) return 0;\n return aHasAgent ? -1 : 1;\n });\n\n return function (params: UseRenderCustomMessagesParams) {\n if (!customMessageRenderers.length) {\n return null;\n }\n const { message, position } = params;\n const runId = copilotkit.getRunIdForMessage(agentId, threadId, message.id)!;\n const agent = copilotkit.getAgent(agentId);\n if (!agent) {\n throw new Error(\"Agent not found\");\n }\n\n const messagesIdsInRun = agent.messages\n .filter((msg) => copilotkit.getRunIdForMessage(agentId, threadId, msg.id) === runId)\n .map((msg) => msg.id);\n\n const messageIndex = agent.messages.findIndex((msg) => msg.id === message.id) ?? 0;\n const messageIndexInRun = Math.min(messagesIdsInRun.indexOf(message.id), 0);\n const numberOfMessagesInRun = messagesIdsInRun.length;\n const stateSnapshot = copilotkit.getStateByRun(agentId, threadId, runId);\n\n let result = null;\n for (const renderer of customMessageRenderers) {\n if (!renderer.render) {\n continue;\n }\n const Component = renderer.render;\n result = (\n <Component\n key={`${runId}-${message.id}-${position}`}\n message={message}\n position={position}\n runId={runId}\n messageIndex={messageIndex}\n messageIndexInRun={messageIndexInRun}\n numberOfMessagesInRun={numberOfMessagesInRun}\n agentId={agentId}\n stateSnapshot={stateSnapshot}\n />\n );\n if (result) {\n break;\n }\n }\n return result;\n };\n}\n"],"mappings":";;;;;;;;AAuDQ;AA9CD,SAAS,0BAA0B;AACxC,QAAM,EAAE,WAAW,IAAI,cAAc;AACrC,QAAM,SAAS,4BAA4B;AAE3C,MAAI,CAAC,QAAQ;AACX,WAAO;AAAA,EACT;AAEA,QAAM,EAAE,SAAS,SAAS,IAAI;AAE9B,QAAM,yBAAyB,WAAW,qBACvC,OAAO,CAAC,aAAa,SAAS,YAAY,UAAa,SAAS,YAAY,OAAO,EACnF,KAAK,CAAC,GAAG,MAAM;AACd,UAAM,YAAY,EAAE,YAAY;AAChC,UAAM,YAAY,EAAE,YAAY;AAChC,QAAI,cAAc,UAAW,QAAO;AACpC,WAAO,YAAY,KAAK;AAAA,EAC1B,CAAC;AAEH,SAAO,SAAU,QAAuC;AACtD,QAAI,CAAC,uBAAuB,QAAQ;AAClC,aAAO;AAAA,IACT;AACA,UAAM,EAAE,SAAS,SAAS,IAAI;AAC9B,UAAM,QAAQ,WAAW,mBAAmB,SAAS,UAAU,QAAQ,EAAE;AACzE,UAAM,QAAQ,WAAW,SAAS,OAAO;AACzC,QAAI,CAAC,OAAO;AACV,YAAM,IAAI,MAAM,iBAAiB;AAAA,IACnC;AAEA,UAAM,mBAAmB,MAAM,SAC5B,OAAO,CAAC,QAAQ,WAAW,mBAAmB,SAAS,UAAU,IAAI,EAAE,MAAM,KAAK,EAClF,IAAI,CAAC,QAAQ,IAAI,EAAE;AAEtB,UAAM,eAAe,MAAM,SAAS,UAAU,CAAC,QAAQ,IAAI,OAAO,QAAQ,EAAE,KAAK;AACjF,UAAM,oBAAoB,KAAK,IAAI,iBAAiB,QAAQ,QAAQ,EAAE,GAAG,CAAC;AAC1E,UAAM,wBAAwB,iBAAiB;AAC/C,UAAM,gBAAgB,WAAW,cAAc,SAAS,UAAU,KAAK;AAEvE,QAAI,SAAS;AACb,eAAW,YAAY,wBAAwB;AAC7C,UAAI,CAAC,SAAS,QAAQ;AACpB;AAAA,MACF;AACA,YAAM,YAAY,SAAS;AAC3B,eACE;AAAA,QAAC;AAAA;AAAA,UAEC;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA;AAAA,QARK,GAAG,KAAK,IAAI,QAAQ,EAAE,IAAI,QAAQ;AAAA,MASzC;AAEF,UAAI,QAAQ;AACV;AAAA,MACF;AAAA,IACF;AACA,WAAO;AAAA,EACT;AACF;","names":[]}
@@ -1 +0,0 @@
1
- //# sourceMappingURL=chunk-6VUKDHOD.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}