@copilotkit/react-ui 0.0.0-feat-dynamic-copilotcloud-qa-20250117190454

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 (368) hide show
  1. package/CHANGELOG.md +2436 -0
  2. package/README.md +46 -0
  3. package/dist/chunk-34FREWVK.mjs +180 -0
  4. package/dist/chunk-34FREWVK.mjs.map +1 -0
  5. package/dist/chunk-3VNMQWGT.mjs +25 -0
  6. package/dist/chunk-3VNMQWGT.mjs.map +1 -0
  7. package/dist/chunk-3XAXY2Z3.mjs +18 -0
  8. package/dist/chunk-3XAXY2Z3.mjs.map +1 -0
  9. package/dist/chunk-54JAUBUJ.mjs +26 -0
  10. package/dist/chunk-54JAUBUJ.mjs.map +1 -0
  11. package/dist/chunk-B23XDGH4.mjs +30 -0
  12. package/dist/chunk-B23XDGH4.mjs.map +1 -0
  13. package/dist/chunk-BH6PCAAL.mjs +81 -0
  14. package/dist/chunk-BH6PCAAL.mjs.map +1 -0
  15. package/dist/chunk-CBBFRI3Q.mjs +81 -0
  16. package/dist/chunk-CBBFRI3Q.mjs.map +1 -0
  17. package/dist/chunk-EFZPSZWO.mjs +1 -0
  18. package/dist/chunk-EFZPSZWO.mjs.map +1 -0
  19. package/dist/chunk-EMQEEXUB.mjs +97 -0
  20. package/dist/chunk-EMQEEXUB.mjs.map +1 -0
  21. package/dist/chunk-F2W5FD7L.mjs +232 -0
  22. package/dist/chunk-F2W5FD7L.mjs.map +1 -0
  23. package/dist/chunk-F7VWGY77.mjs +22 -0
  24. package/dist/chunk-F7VWGY77.mjs.map +1 -0
  25. package/dist/chunk-FZC7X5PK.mjs +262 -0
  26. package/dist/chunk-FZC7X5PK.mjs.map +1 -0
  27. package/dist/chunk-HEIDCT7I.mjs +10 -0
  28. package/dist/chunk-HEIDCT7I.mjs.map +1 -0
  29. package/dist/chunk-I7MG52I5.mjs +314 -0
  30. package/dist/chunk-I7MG52I5.mjs.map +1 -0
  31. package/dist/chunk-IU3WTXLQ.mjs +1 -0
  32. package/dist/chunk-IU3WTXLQ.mjs.map +1 -0
  33. package/dist/chunk-KXE2JCUH.mjs +1 -0
  34. package/dist/chunk-KXE2JCUH.mjs.map +1 -0
  35. package/dist/chunk-MMVDU6DF.mjs +1 -0
  36. package/dist/chunk-MMVDU6DF.mjs.map +1 -0
  37. package/dist/chunk-MRXNTQOX.mjs +59 -0
  38. package/dist/chunk-MRXNTQOX.mjs.map +1 -0
  39. package/dist/chunk-O6JFOQQA.mjs +21 -0
  40. package/dist/chunk-O6JFOQQA.mjs.map +1 -0
  41. package/dist/chunk-OFYI4UU4.mjs +35 -0
  42. package/dist/chunk-OFYI4UU4.mjs.map +1 -0
  43. package/dist/chunk-OTPAZXVR.mjs +92 -0
  44. package/dist/chunk-OTPAZXVR.mjs.map +1 -0
  45. package/dist/chunk-P5A3A5FO.mjs +112 -0
  46. package/dist/chunk-P5A3A5FO.mjs.map +1 -0
  47. package/dist/chunk-PNQVKBPN.mjs +146 -0
  48. package/dist/chunk-PNQVKBPN.mjs.map +1 -0
  49. package/dist/chunk-RJCZRKTV.mjs +106 -0
  50. package/dist/chunk-RJCZRKTV.mjs.map +1 -0
  51. package/dist/chunk-RQNJNK2W.mjs +25 -0
  52. package/dist/chunk-RQNJNK2W.mjs.map +1 -0
  53. package/dist/chunk-S5MBUNGN.mjs +140 -0
  54. package/dist/chunk-S5MBUNGN.mjs.map +1 -0
  55. package/dist/chunk-SQMEPWVT.mjs +1 -0
  56. package/dist/chunk-SQMEPWVT.mjs.map +1 -0
  57. package/dist/chunk-T26KLXLH.mjs +1 -0
  58. package/dist/chunk-T26KLXLH.mjs.map +1 -0
  59. package/dist/chunk-TI7SY2RI.mjs +164 -0
  60. package/dist/chunk-TI7SY2RI.mjs.map +1 -0
  61. package/dist/chunk-UPTB2MVO.mjs +395 -0
  62. package/dist/chunk-UPTB2MVO.mjs.map +1 -0
  63. package/dist/chunk-UWWMAJ7R.mjs +100 -0
  64. package/dist/chunk-UWWMAJ7R.mjs.map +1 -0
  65. package/dist/chunk-V7W6IM2V.mjs +1 -0
  66. package/dist/chunk-V7W6IM2V.mjs.map +1 -0
  67. package/dist/chunk-VEC45H6Q.mjs +18 -0
  68. package/dist/chunk-VEC45H6Q.mjs.map +1 -0
  69. package/dist/chunk-VKVNMHM5.mjs +105 -0
  70. package/dist/chunk-VKVNMHM5.mjs.map +1 -0
  71. package/dist/chunk-WB3YULQ4.mjs +1 -0
  72. package/dist/chunk-WB3YULQ4.mjs.map +1 -0
  73. package/dist/chunk-YAGE7RCE.mjs +118 -0
  74. package/dist/chunk-YAGE7RCE.mjs.map +1 -0
  75. package/dist/chunk-YQ3D5IQV.mjs +75 -0
  76. package/dist/chunk-YQ3D5IQV.mjs.map +1 -0
  77. package/dist/chunk-YQFVRDNC.mjs +53 -0
  78. package/dist/chunk-YQFVRDNC.mjs.map +1 -0
  79. package/dist/chunk-Z2UZSN3K.mjs +29 -0
  80. package/dist/chunk-Z2UZSN3K.mjs.map +1 -0
  81. package/dist/components/chat/Button.d.ts +7 -0
  82. package/dist/components/chat/Button.js +71 -0
  83. package/dist/components/chat/Button.js.map +1 -0
  84. package/dist/components/chat/Button.mjs +10 -0
  85. package/dist/components/chat/Button.mjs.map +1 -0
  86. package/dist/components/chat/Chat.d.ts +156 -0
  87. package/dist/components/chat/Chat.js +2540 -0
  88. package/dist/components/chat/Chat.js.map +1 -0
  89. package/dist/components/chat/Chat.mjs +36 -0
  90. package/dist/components/chat/Chat.mjs.map +1 -0
  91. package/dist/components/chat/ChatContext.d.ts +105 -0
  92. package/dist/components/chat/ChatContext.js +279 -0
  93. package/dist/components/chat/ChatContext.js.map +1 -0
  94. package/dist/components/chat/ChatContext.mjs +13 -0
  95. package/dist/components/chat/ChatContext.mjs.map +1 -0
  96. package/dist/components/chat/CodeBlock.d.ts +14 -0
  97. package/dist/components/chat/CodeBlock.js +523 -0
  98. package/dist/components/chat/CodeBlock.js.map +1 -0
  99. package/dist/components/chat/CodeBlock.mjs +14 -0
  100. package/dist/components/chat/CodeBlock.mjs.map +1 -0
  101. package/dist/components/chat/Header.d.ts +7 -0
  102. package/dist/components/chat/Header.js +64 -0
  103. package/dist/components/chat/Header.js.map +1 -0
  104. package/dist/components/chat/Header.mjs +10 -0
  105. package/dist/components/chat/Header.mjs.map +1 -0
  106. package/dist/components/chat/Icons.d.ts +18 -0
  107. package/dist/components/chat/Icons.js +321 -0
  108. package/dist/components/chat/Icons.js.map +1 -0
  109. package/dist/components/chat/Icons.mjs +32 -0
  110. package/dist/components/chat/Icons.mjs.map +1 -0
  111. package/dist/components/chat/Input.d.ts +7 -0
  112. package/dist/components/chat/Input.js +324 -0
  113. package/dist/components/chat/Input.js.map +1 -0
  114. package/dist/components/chat/Input.mjs +12 -0
  115. package/dist/components/chat/Input.mjs.map +1 -0
  116. package/dist/components/chat/Markdown.d.ts +8 -0
  117. package/dist/components/chat/Markdown.js +583 -0
  118. package/dist/components/chat/Markdown.js.map +1 -0
  119. package/dist/components/chat/Markdown.mjs +11 -0
  120. package/dist/components/chat/Markdown.mjs.map +1 -0
  121. package/dist/components/chat/Messages.d.ts +12 -0
  122. package/dist/components/chat/Messages.js +227 -0
  123. package/dist/components/chat/Messages.js.map +1 -0
  124. package/dist/components/chat/Messages.mjs +12 -0
  125. package/dist/components/chat/Messages.mjs.map +1 -0
  126. package/dist/components/chat/Modal.d.ts +51 -0
  127. package/dist/components/chat/Modal.js +2743 -0
  128. package/dist/components/chat/Modal.js.map +1 -0
  129. package/dist/components/chat/Modal.mjs +36 -0
  130. package/dist/components/chat/Modal.mjs.map +1 -0
  131. package/dist/components/chat/Popup.d.ts +13 -0
  132. package/dist/components/chat/Popup.js +2754 -0
  133. package/dist/components/chat/Popup.js.map +1 -0
  134. package/dist/components/chat/Popup.mjs +37 -0
  135. package/dist/components/chat/Popup.mjs.map +1 -0
  136. package/dist/components/chat/Response.d.ts +7 -0
  137. package/dist/components/chat/Response.js +64 -0
  138. package/dist/components/chat/Response.js.map +1 -0
  139. package/dist/components/chat/Response.mjs +10 -0
  140. package/dist/components/chat/Response.mjs.map +1 -0
  141. package/dist/components/chat/Sidebar.d.ts +13 -0
  142. package/dist/components/chat/Sidebar.js +2763 -0
  143. package/dist/components/chat/Sidebar.js.map +1 -0
  144. package/dist/components/chat/Sidebar.mjs +37 -0
  145. package/dist/components/chat/Sidebar.mjs.map +1 -0
  146. package/dist/components/chat/Suggestion.d.ts +14 -0
  147. package/dist/components/chat/Suggestion.js +181 -0
  148. package/dist/components/chat/Suggestion.js.map +1 -0
  149. package/dist/components/chat/Suggestion.mjs +11 -0
  150. package/dist/components/chat/Suggestion.mjs.map +1 -0
  151. package/dist/components/chat/Textarea.d.ts +13 -0
  152. package/dist/components/chat/Textarea.js +73 -0
  153. package/dist/components/chat/Textarea.js.map +1 -0
  154. package/dist/components/chat/Textarea.mjs +8 -0
  155. package/dist/components/chat/Textarea.mjs.map +1 -0
  156. package/dist/components/chat/Window.d.ts +7 -0
  157. package/dist/components/chat/Window.js +164 -0
  158. package/dist/components/chat/Window.js.map +1 -0
  159. package/dist/components/chat/Window.mjs +10 -0
  160. package/dist/components/chat/Window.mjs.map +1 -0
  161. package/dist/components/chat/index.d.ts +14 -0
  162. package/dist/components/chat/index.js +2784 -0
  163. package/dist/components/chat/index.js.map +1 -0
  164. package/dist/components/chat/index.mjs +58 -0
  165. package/dist/components/chat/index.mjs.map +1 -0
  166. package/dist/components/chat/messages/AssistantMessage.d.ts +7 -0
  167. package/dist/components/chat/messages/AssistantMessage.js +615 -0
  168. package/dist/components/chat/messages/AssistantMessage.js.map +1 -0
  169. package/dist/components/chat/messages/AssistantMessage.mjs +13 -0
  170. package/dist/components/chat/messages/AssistantMessage.mjs.map +1 -0
  171. package/dist/components/chat/messages/RenderActionExecutionMessage.d.ts +7 -0
  172. package/dist/components/chat/messages/RenderActionExecutionMessage.js +136 -0
  173. package/dist/components/chat/messages/RenderActionExecutionMessage.js.map +1 -0
  174. package/dist/components/chat/messages/RenderActionExecutionMessage.mjs +8 -0
  175. package/dist/components/chat/messages/RenderActionExecutionMessage.mjs.map +1 -0
  176. package/dist/components/chat/messages/RenderAgentStateMessage.d.ts +7 -0
  177. package/dist/components/chat/messages/RenderAgentStateMessage.js +124 -0
  178. package/dist/components/chat/messages/RenderAgentStateMessage.js.map +1 -0
  179. package/dist/components/chat/messages/RenderAgentStateMessage.mjs +8 -0
  180. package/dist/components/chat/messages/RenderAgentStateMessage.mjs.map +1 -0
  181. package/dist/components/chat/messages/RenderResultMessage.d.ts +7 -0
  182. package/dist/components/chat/messages/RenderResultMessage.js +46 -0
  183. package/dist/components/chat/messages/RenderResultMessage.js.map +1 -0
  184. package/dist/components/chat/messages/RenderResultMessage.mjs +8 -0
  185. package/dist/components/chat/messages/RenderResultMessage.mjs.map +1 -0
  186. package/dist/components/chat/messages/RenderTextMessage.d.ts +7 -0
  187. package/dist/components/chat/messages/RenderTextMessage.js +59 -0
  188. package/dist/components/chat/messages/RenderTextMessage.js.map +1 -0
  189. package/dist/components/chat/messages/RenderTextMessage.mjs +8 -0
  190. package/dist/components/chat/messages/RenderTextMessage.mjs.map +1 -0
  191. package/dist/components/chat/messages/UserMessage.d.ts +7 -0
  192. package/dist/components/chat/messages/UserMessage.js +34 -0
  193. package/dist/components/chat/messages/UserMessage.js.map +1 -0
  194. package/dist/components/chat/messages/UserMessage.mjs +8 -0
  195. package/dist/components/chat/messages/UserMessage.mjs.map +1 -0
  196. package/dist/components/chat/props.d.ts +81 -0
  197. package/dist/components/chat/props.js +19 -0
  198. package/dist/components/chat/props.js.map +1 -0
  199. package/dist/components/chat/props.mjs +2 -0
  200. package/dist/components/chat/props.mjs.map +1 -0
  201. package/dist/components/dev-console/console.d.ts +10 -0
  202. package/dist/components/dev-console/console.js +720 -0
  203. package/dist/components/dev-console/console.js.map +1 -0
  204. package/dist/components/dev-console/console.mjs +17 -0
  205. package/dist/components/dev-console/console.mjs.map +1 -0
  206. package/dist/components/dev-console/icons.d.ts +9 -0
  207. package/dist/components/dev-console/icons.js +120 -0
  208. package/dist/components/dev-console/icons.js.map +1 -0
  209. package/dist/components/dev-console/icons.mjs +16 -0
  210. package/dist/components/dev-console/icons.mjs.map +1 -0
  211. package/dist/components/dev-console/index.d.ts +5 -0
  212. package/dist/components/dev-console/index.js +720 -0
  213. package/dist/components/dev-console/index.js.map +1 -0
  214. package/dist/components/dev-console/index.mjs +18 -0
  215. package/dist/components/dev-console/index.mjs.map +1 -0
  216. package/dist/components/dev-console/types.d.ts +9 -0
  217. package/dist/components/dev-console/types.js +19 -0
  218. package/dist/components/dev-console/types.js.map +1 -0
  219. package/dist/components/dev-console/types.mjs +1 -0
  220. package/dist/components/dev-console/types.mjs.map +1 -0
  221. package/dist/components/dev-console/utils.d.ts +10 -0
  222. package/dist/components/dev-console/utils.js +188 -0
  223. package/dist/components/dev-console/utils.js.map +1 -0
  224. package/dist/components/dev-console/utils.mjs +16 -0
  225. package/dist/components/dev-console/utils.mjs.map +1 -0
  226. package/dist/components/help-modal/icons.d.ts +9 -0
  227. package/dist/components/help-modal/icons.js +107 -0
  228. package/dist/components/help-modal/icons.js.map +1 -0
  229. package/dist/components/help-modal/icons.mjs +12 -0
  230. package/dist/components/help-modal/icons.mjs.map +1 -0
  231. package/dist/components/help-modal/index.d.ts +2 -0
  232. package/dist/components/help-modal/index.js +255 -0
  233. package/dist/components/help-modal/index.js.map +1 -0
  234. package/dist/components/help-modal/index.mjs +10 -0
  235. package/dist/components/help-modal/index.mjs.map +1 -0
  236. package/dist/components/help-modal/modal.d.ts +5 -0
  237. package/dist/components/help-modal/modal.js +253 -0
  238. package/dist/components/help-modal/modal.js.map +1 -0
  239. package/dist/components/help-modal/modal.mjs +9 -0
  240. package/dist/components/help-modal/modal.mjs.map +1 -0
  241. package/dist/components/index.d.ts +17 -0
  242. package/dist/components/index.js +2788 -0
  243. package/dist/components/index.js.map +1 -0
  244. package/dist/components/index.mjs +65 -0
  245. package/dist/components/index.mjs.map +1 -0
  246. package/dist/context/index.d.ts +2 -0
  247. package/dist/context/index.js +19 -0
  248. package/dist/context/index.js.map +1 -0
  249. package/dist/context/index.mjs +2 -0
  250. package/dist/context/index.mjs.map +1 -0
  251. package/dist/hooks/index.d.ts +1 -0
  252. package/dist/hooks/index.js +55 -0
  253. package/dist/hooks/index.js.map +1 -0
  254. package/dist/hooks/index.mjs +9 -0
  255. package/dist/hooks/index.mjs.map +1 -0
  256. package/dist/hooks/use-copilot-chat-suggestions.d.ts +83 -0
  257. package/dist/hooks/use-copilot-chat-suggestions.js +53 -0
  258. package/dist/hooks/use-copilot-chat-suggestions.js.map +1 -0
  259. package/dist/hooks/use-copilot-chat-suggestions.mjs +8 -0
  260. package/dist/hooks/use-copilot-chat-suggestions.mjs.map +1 -0
  261. package/dist/hooks/use-copy-to-clipboard.d.ts +9 -0
  262. package/dist/hooks/use-copy-to-clipboard.js +60 -0
  263. package/dist/hooks/use-copy-to-clipboard.js.map +1 -0
  264. package/dist/hooks/use-copy-to-clipboard.mjs +8 -0
  265. package/dist/hooks/use-copy-to-clipboard.mjs.map +1 -0
  266. package/dist/hooks/use-push-to-talk.d.ts +19 -0
  267. package/dist/hooks/use-push-to-talk.js +195 -0
  268. package/dist/hooks/use-push-to-talk.js.map +1 -0
  269. package/dist/hooks/use-push-to-talk.mjs +12 -0
  270. package/dist/hooks/use-push-to-talk.mjs.map +1 -0
  271. package/dist/index.css +751 -0
  272. package/dist/index.css.map +1 -0
  273. package/dist/index.d.ts +19 -0
  274. package/dist/index.js +2816 -0
  275. package/dist/index.js.map +1 -0
  276. package/dist/index.mjs +73 -0
  277. package/dist/index.mjs.map +1 -0
  278. package/dist/lib/utils.d.ts +4 -0
  279. package/dist/lib/utils.js +76 -0
  280. package/dist/lib/utils.js.map +1 -0
  281. package/dist/lib/utils.mjs +34 -0
  282. package/dist/lib/utils.mjs.map +1 -0
  283. package/dist/lib/utils.test.d.ts +2 -0
  284. package/dist/lib/utils.test.js +9 -0
  285. package/dist/lib/utils.test.js.map +1 -0
  286. package/dist/lib/utils.test.mjs +7 -0
  287. package/dist/lib/utils.test.mjs.map +1 -0
  288. package/dist/types/css.d.ts +16 -0
  289. package/dist/types/css.js +19 -0
  290. package/dist/types/css.js.map +1 -0
  291. package/dist/types/css.mjs +1 -0
  292. package/dist/types/css.mjs.map +1 -0
  293. package/dist/types/index.d.ts +2 -0
  294. package/dist/types/index.js +19 -0
  295. package/dist/types/index.js.map +1 -0
  296. package/dist/types/index.mjs +2 -0
  297. package/dist/types/index.mjs.map +1 -0
  298. package/dist/types/suggestions.d.ts +8 -0
  299. package/dist/types/suggestions.js +19 -0
  300. package/dist/types/suggestions.js.map +1 -0
  301. package/dist/types/suggestions.mjs +1 -0
  302. package/dist/types/suggestions.mjs.map +1 -0
  303. package/jest.config.js +5 -0
  304. package/package.json +78 -0
  305. package/postcss.config.js +60 -0
  306. package/src/components/chat/Button.tsx +18 -0
  307. package/src/components/chat/Chat.tsx +541 -0
  308. package/src/components/chat/ChatContext.tsx +188 -0
  309. package/src/components/chat/CodeBlock.tsx +408 -0
  310. package/src/components/chat/Header.tsx +15 -0
  311. package/src/components/chat/Icons.tsx +223 -0
  312. package/src/components/chat/Input.tsx +100 -0
  313. package/src/components/chat/Markdown.tsx +80 -0
  314. package/src/components/chat/Messages.tsx +188 -0
  315. package/src/components/chat/Modal.tsx +124 -0
  316. package/src/components/chat/Popup.tsx +57 -0
  317. package/src/components/chat/Response.tsx +12 -0
  318. package/src/components/chat/Sidebar.tsx +74 -0
  319. package/src/components/chat/Suggestion.tsx +125 -0
  320. package/src/components/chat/Textarea.tsx +61 -0
  321. package/src/components/chat/Window.tsx +153 -0
  322. package/src/components/chat/index.tsx +8 -0
  323. package/src/components/chat/messages/AssistantMessage.tsx +20 -0
  324. package/src/components/chat/messages/RenderActionExecutionMessage.tsx +122 -0
  325. package/src/components/chat/messages/RenderAgentStateMessage.tsx +112 -0
  326. package/src/components/chat/messages/RenderResultMessage.tsx +17 -0
  327. package/src/components/chat/messages/RenderTextMessage.tsx +29 -0
  328. package/src/components/chat/messages/UserMessage.tsx +5 -0
  329. package/src/components/chat/props.ts +92 -0
  330. package/src/components/dev-console/console.tsx +281 -0
  331. package/src/components/dev-console/icons.tsx +92 -0
  332. package/src/components/dev-console/index.tsx +2 -0
  333. package/src/components/dev-console/types.ts +7 -0
  334. package/src/components/dev-console/utils.ts +162 -0
  335. package/src/components/help-modal/icons.tsx +68 -0
  336. package/src/components/help-modal/index.tsx +1 -0
  337. package/src/components/help-modal/modal.tsx +164 -0
  338. package/src/components/index.ts +2 -0
  339. package/src/context/index.ts +1 -0
  340. package/src/css/animations.css +35 -0
  341. package/src/css/button.css +56 -0
  342. package/src/css/colors.css +12 -0
  343. package/src/css/console.css +134 -0
  344. package/src/css/header.css +43 -0
  345. package/src/css/input.css +89 -0
  346. package/src/css/markdown.css +136 -0
  347. package/src/css/messages.css +73 -0
  348. package/src/css/panel.css +38 -0
  349. package/src/css/popup.css +22 -0
  350. package/src/css/response.css +26 -0
  351. package/src/css/sidebar.css +34 -0
  352. package/src/css/suggestions.css +35 -0
  353. package/src/css/window.css +60 -0
  354. package/src/hooks/index.ts +1 -0
  355. package/src/hooks/use-copilot-chat-suggestions.tsx +112 -0
  356. package/src/hooks/use-copy-to-clipboard.tsx +29 -0
  357. package/src/hooks/use-push-to-talk.tsx +166 -0
  358. package/src/index.tsx +7 -0
  359. package/src/lib/utils.test.ts +7 -0
  360. package/src/lib/utils.ts +27 -0
  361. package/src/styles.css +14 -0
  362. package/src/types/css.ts +15 -0
  363. package/src/types/index.ts +1 -0
  364. package/src/types/suggestions.ts +6 -0
  365. package/tailwind.config.js +7 -0
  366. package/tsconfig.json +12 -0
  367. package/tsup.config.ts +16 -0
  368. package/typedoc.json +4 -0
@@ -0,0 +1,314 @@
1
+ import {
2
+ RenderAgentStateMessage
3
+ } from "./chunk-UWWMAJ7R.mjs";
4
+ import {
5
+ RenderResultMessage
6
+ } from "./chunk-F7VWGY77.mjs";
7
+ import {
8
+ RenderTextMessage
9
+ } from "./chunk-OFYI4UU4.mjs";
10
+ import {
11
+ UserMessage
12
+ } from "./chunk-HEIDCT7I.mjs";
13
+ import {
14
+ AssistantMessage
15
+ } from "./chunk-3VNMQWGT.mjs";
16
+ import {
17
+ RenderActionExecutionMessage
18
+ } from "./chunk-P5A3A5FO.mjs";
19
+ import {
20
+ Suggestion,
21
+ reloadSuggestions
22
+ } from "./chunk-RJCZRKTV.mjs";
23
+ import {
24
+ CopilotDevConsole
25
+ } from "./chunk-F2W5FD7L.mjs";
26
+ import {
27
+ Input
28
+ } from "./chunk-EMQEEXUB.mjs";
29
+ import {
30
+ Messages
31
+ } from "./chunk-34FREWVK.mjs";
32
+ import {
33
+ ResponseButton
34
+ } from "./chunk-3XAXY2Z3.mjs";
35
+ import {
36
+ ChatContext,
37
+ ChatContextProvider
38
+ } from "./chunk-CBBFRI3Q.mjs";
39
+ import {
40
+ __async,
41
+ __spreadProps,
42
+ __spreadValues
43
+ } from "./chunk-MRXNTQOX.mjs";
44
+
45
+ // src/components/chat/Chat.tsx
46
+ import React, { useEffect, useRef, useState } from "react";
47
+ import {
48
+ useCopilotChat,
49
+ useCopilotContext,
50
+ useCopilotMessagesContext
51
+ } from "@copilotkit/react-core";
52
+ import { Role, TextMessage } from "@copilotkit/runtime-client-gql";
53
+ import { randomId } from "@copilotkit/shared";
54
+ import { runAgent, stopAgent } from "@copilotkit/react-core";
55
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
56
+ function CopilotChat({
57
+ instructions,
58
+ onSubmitMessage,
59
+ makeSystemMessage,
60
+ showResponseButton = true,
61
+ onInProgress,
62
+ onStopGeneration,
63
+ onReloadMessages,
64
+ Messages: Messages2 = Messages,
65
+ RenderTextMessage: RenderTextMessage2 = RenderTextMessage,
66
+ RenderActionExecutionMessage: RenderActionExecutionMessage2 = RenderActionExecutionMessage,
67
+ RenderAgentStateMessage: RenderAgentStateMessage2 = RenderAgentStateMessage,
68
+ RenderResultMessage: RenderResultMessage2 = RenderResultMessage,
69
+ Input: Input2 = Input,
70
+ ResponseButton: ResponseButton2 = ResponseButton,
71
+ className,
72
+ icons,
73
+ labels,
74
+ AssistantMessage: AssistantMessage2 = AssistantMessage,
75
+ UserMessage: UserMessage2 = UserMessage
76
+ }) {
77
+ const context = useCopilotContext();
78
+ useEffect(() => {
79
+ context.setChatInstructions(instructions || "");
80
+ }, [instructions]);
81
+ const {
82
+ visibleMessages,
83
+ isLoading,
84
+ currentSuggestions,
85
+ sendMessage,
86
+ stopGeneration,
87
+ reloadMessages
88
+ } = useCopilotChatLogic(
89
+ makeSystemMessage,
90
+ onInProgress,
91
+ onSubmitMessage,
92
+ onStopGeneration,
93
+ onReloadMessages
94
+ );
95
+ const chatContext = React.useContext(ChatContext);
96
+ const isVisible = chatContext ? chatContext.open : true;
97
+ return /* @__PURE__ */ jsxs(WrappedCopilotChat, { icons, labels, className, children: [
98
+ /* @__PURE__ */ jsx(CopilotDevConsole, {}),
99
+ /* @__PURE__ */ jsxs(
100
+ Messages2,
101
+ {
102
+ AssistantMessage: AssistantMessage2,
103
+ UserMessage: UserMessage2,
104
+ RenderTextMessage: RenderTextMessage2,
105
+ RenderActionExecutionMessage: RenderActionExecutionMessage2,
106
+ RenderAgentStateMessage: RenderAgentStateMessage2,
107
+ RenderResultMessage: RenderResultMessage2,
108
+ messages: visibleMessages,
109
+ inProgress: isLoading,
110
+ children: [
111
+ currentSuggestions.length > 0 && /* @__PURE__ */ jsxs("div", { children: [
112
+ /* @__PURE__ */ jsx("h6", { children: "Suggested:" }),
113
+ /* @__PURE__ */ jsx("div", { className: "suggestions", children: currentSuggestions.map((suggestion, index) => /* @__PURE__ */ jsx(
114
+ Suggestion,
115
+ {
116
+ title: suggestion.title,
117
+ message: suggestion.message,
118
+ partial: suggestion.partial,
119
+ className: suggestion.className,
120
+ onClick: (message) => sendMessage(message)
121
+ },
122
+ index
123
+ )) })
124
+ ] }),
125
+ showResponseButton && visibleMessages.length > 0 && /* @__PURE__ */ jsx(
126
+ ResponseButton2,
127
+ {
128
+ onClick: isLoading ? stopGeneration : reloadMessages,
129
+ inProgress: isLoading
130
+ }
131
+ )
132
+ ]
133
+ }
134
+ ),
135
+ /* @__PURE__ */ jsx(Input2, { inProgress: isLoading, onSend: sendMessage, isVisible })
136
+ ] });
137
+ }
138
+ function WrappedCopilotChat({
139
+ children,
140
+ icons,
141
+ labels,
142
+ className
143
+ }) {
144
+ const chatContext = React.useContext(ChatContext);
145
+ if (!chatContext) {
146
+ return /* @__PURE__ */ jsx(ChatContextProvider, { icons, labels, open: true, setOpen: () => {
147
+ }, children: /* @__PURE__ */ jsx("div", { className: `copilotKitChat ${className}`, children }) });
148
+ }
149
+ return /* @__PURE__ */ jsx(Fragment, { children });
150
+ }
151
+ var SUGGESTIONS_DEBOUNCE_TIMEOUT = 1e3;
152
+ var useCopilotChatLogic = (makeSystemMessage, onInProgress, onSubmitMessage, onStopGeneration, onReloadMessages) => {
153
+ var _a;
154
+ const {
155
+ visibleMessages,
156
+ appendMessage,
157
+ reloadMessages: defaultReloadMessages,
158
+ stopGeneration: defaultStopGeneration,
159
+ runChatCompletion,
160
+ isLoading
161
+ } = useCopilotChat({
162
+ id: randomId(),
163
+ makeSystemMessage
164
+ });
165
+ const [currentSuggestions, setCurrentSuggestions] = useState([]);
166
+ const suggestionsAbortControllerRef = useRef(null);
167
+ const debounceTimerRef = useRef();
168
+ const abortSuggestions = () => {
169
+ var _a2;
170
+ (_a2 = suggestionsAbortControllerRef.current) == null ? void 0 : _a2.abort();
171
+ suggestionsAbortControllerRef.current = null;
172
+ };
173
+ const generalContext = useCopilotContext();
174
+ const messagesContext = useCopilotMessagesContext();
175
+ const context = __spreadValues(__spreadValues({}, generalContext), messagesContext);
176
+ useEffect(() => {
177
+ onInProgress == null ? void 0 : onInProgress(isLoading);
178
+ abortSuggestions();
179
+ debounceTimerRef.current = setTimeout(
180
+ () => {
181
+ if (!isLoading && Object.keys(context.chatSuggestionConfiguration).length !== 0) {
182
+ suggestionsAbortControllerRef.current = new AbortController();
183
+ reloadSuggestions(
184
+ context,
185
+ context.chatSuggestionConfiguration,
186
+ setCurrentSuggestions,
187
+ suggestionsAbortControllerRef
188
+ );
189
+ }
190
+ },
191
+ currentSuggestions.length == 0 ? 0 : SUGGESTIONS_DEBOUNCE_TIMEOUT
192
+ );
193
+ return () => {
194
+ clearTimeout(debounceTimerRef.current);
195
+ };
196
+ }, [
197
+ isLoading,
198
+ context.chatSuggestionConfiguration,
199
+ // hackish way to trigger suggestions reload on reset, but better than moving suggestions to the
200
+ // global context
201
+ visibleMessages.length == 0
202
+ ]);
203
+ const sendMessage = (messageContent) => __async(void 0, null, function* () {
204
+ abortSuggestions();
205
+ setCurrentSuggestions([]);
206
+ const message = new TextMessage({
207
+ content: messageContent,
208
+ role: Role.User
209
+ });
210
+ if (onSubmitMessage) {
211
+ try {
212
+ yield onSubmitMessage(messageContent);
213
+ } catch (error) {
214
+ console.error("Error in onSubmitMessage:", error);
215
+ }
216
+ }
217
+ appendMessage(message);
218
+ return message;
219
+ });
220
+ const messages = visibleMessages;
221
+ const { setMessages } = messagesContext;
222
+ const currentAgentName = (_a = generalContext.agentSession) == null ? void 0 : _a.agentName;
223
+ const restartCurrentAgent = (hint) => __async(void 0, null, function* () {
224
+ if (generalContext.agentSession) {
225
+ generalContext.setAgentSession(__spreadProps(__spreadValues({}, generalContext.agentSession), {
226
+ nodeName: void 0,
227
+ threadId: void 0
228
+ }));
229
+ generalContext.setCoagentStates((prevAgentStates) => {
230
+ return __spreadProps(__spreadValues({}, prevAgentStates), {
231
+ [generalContext.agentSession.agentName]: __spreadProps(__spreadValues({}, prevAgentStates[generalContext.agentSession.agentName]), {
232
+ threadId: void 0,
233
+ nodeName: void 0,
234
+ runId: void 0
235
+ })
236
+ });
237
+ });
238
+ }
239
+ });
240
+ const runCurrentAgent = (hint) => __async(void 0, null, function* () {
241
+ if (generalContext.agentSession) {
242
+ yield runAgent(
243
+ generalContext.agentSession.agentName,
244
+ context,
245
+ appendMessage,
246
+ runChatCompletion,
247
+ hint
248
+ );
249
+ }
250
+ });
251
+ const stopCurrentAgent = () => {
252
+ if (generalContext.agentSession) {
253
+ stopAgent(generalContext.agentSession.agentName, context);
254
+ }
255
+ };
256
+ const setCurrentAgentState = (state) => {
257
+ if (generalContext.agentSession) {
258
+ generalContext.setCoagentStates((prevAgentStates) => {
259
+ return __spreadProps(__spreadValues({}, prevAgentStates), {
260
+ [generalContext.agentSession.agentName]: {
261
+ state
262
+ }
263
+ });
264
+ });
265
+ }
266
+ };
267
+ function stopGeneration() {
268
+ if (onStopGeneration) {
269
+ onStopGeneration({
270
+ messages,
271
+ setMessages,
272
+ stopGeneration: defaultStopGeneration,
273
+ currentAgentName,
274
+ restartCurrentAgent,
275
+ stopCurrentAgent,
276
+ runCurrentAgent,
277
+ setCurrentAgentState
278
+ });
279
+ } else {
280
+ defaultStopGeneration();
281
+ }
282
+ }
283
+ function reloadMessages() {
284
+ if (onReloadMessages) {
285
+ onReloadMessages({
286
+ messages,
287
+ setMessages,
288
+ stopGeneration: defaultStopGeneration,
289
+ currentAgentName,
290
+ restartCurrentAgent,
291
+ stopCurrentAgent,
292
+ runCurrentAgent,
293
+ setCurrentAgentState
294
+ });
295
+ } else {
296
+ defaultReloadMessages();
297
+ }
298
+ }
299
+ return {
300
+ visibleMessages,
301
+ isLoading,
302
+ currentSuggestions,
303
+ sendMessage,
304
+ stopGeneration,
305
+ reloadMessages
306
+ };
307
+ };
308
+
309
+ export {
310
+ CopilotChat,
311
+ WrappedCopilotChat,
312
+ useCopilotChatLogic
313
+ };
314
+ //# sourceMappingURL=chunk-I7MG52I5.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/chat/Chat.tsx"],"sourcesContent":["/**\n * <br/>\n * <img src=\"/images/CopilotChat.gif\" width=\"500\" />\n *\n * A chatbot panel component for the CopilotKit framework. The component allows for a high degree\n * of customization through various props and custom CSS.\n *\n * ## Install Dependencies\n *\n * This component is part of the [@copilotkit/react-ui](https://npmjs.com/package/@copilotkit/react-ui) package.\n *\n * ```shell npm2yarn \\\"@copilotkit/react-ui\"\\\n * npm install @copilotkit/react-core @copilotkit/react-ui\n * ```\n *\n * ## Usage\n *\n * ```tsx\n * import { CopilotChat } from \"@copilotkit/react-ui\";\n * import \"@copilotkit/react-ui/styles.css\";\n *\n * <CopilotChat\n * labels={{\n * title: \"Your Assistant\",\n * initial: \"Hi! 👋 How can I assist you today?\",\n * }}\n * />\n * ```\n *\n * ### Look & Feel\n *\n * By default, CopilotKit components do not have any styles. You can import CopilotKit's stylesheet at the root of your project:\n * ```tsx title=\"YourRootComponent.tsx\"\n * ...\n * import \"@copilotkit/react-ui/styles.css\"; // [!code highlight]\n *\n * export function YourRootComponent() {\n * return (\n * <CopilotKit>\n * ...\n * </CopilotKit>\n * );\n * }\n * ```\n * For more information about how to customize the styles, check out the [Customize Look & Feel](/guides/custom-look-and-feel/customize-built-in-ui-components) guide.\n */\n\nimport {\n ChatContext,\n ChatContextProvider,\n CopilotChatIcons,\n CopilotChatLabels,\n} from \"./ChatContext\";\nimport { Messages as DefaultMessages } from \"./Messages\";\nimport { Input as DefaultInput } from \"./Input\";\nimport { ResponseButton as DefaultResponseButton } from \"./Response\";\nimport { RenderTextMessage as DefaultRenderTextMessage } from \"./messages/RenderTextMessage\";\nimport { RenderActionExecutionMessage as DefaultRenderActionExecutionMessage } from \"./messages/RenderActionExecutionMessage\";\nimport { RenderResultMessage as DefaultRenderResultMessage } from \"./messages/RenderResultMessage\";\nimport { RenderAgentStateMessage as DefaultRenderAgentStateMessage } from \"./messages/RenderAgentStateMessage\";\nimport { AssistantMessage as DefaultAssistantMessage } from \"./messages/AssistantMessage\";\nimport { UserMessage as DefaultUserMessage } from \"./messages/UserMessage\";\nimport { Markdown as DefaultRenderer } from \"./Markdown\";\nimport { Suggestion } from \"./Suggestion\";\nimport React, { useEffect, useRef, useState } from \"react\";\nimport {\n SystemMessageFunction,\n useCopilotChat,\n useCopilotContext,\n useCopilotMessagesContext,\n} from \"@copilotkit/react-core\";\nimport { reloadSuggestions } from \"./Suggestion\";\nimport { CopilotChatSuggestion } from \"../../types/suggestions\";\nimport { Message, Role, TextMessage } from \"@copilotkit/runtime-client-gql\";\nimport { randomId } from \"@copilotkit/shared\";\nimport {\n AssistantMessageProps,\n InputProps,\n MessagesProps,\n RenderMessageProps,\n ResponseButtonProps,\n UserMessageProps,\n} from \"./props\";\n\nimport { CopilotDevConsole } from \"../dev-console\";\nimport { HintFunction, runAgent, stopAgent } from \"@copilotkit/react-core\";\n\n/**\n * Props for CopilotChat component.\n */\nexport interface CopilotChatProps {\n /**\n * Custom instructions to be added to the system message. Use this property to\n * provide additional context or guidance to the language model, influencing\n * its responses. These instructions can include specific directions,\n * preferences, or criteria that the model should consider when generating\n * its output, thereby tailoring the conversation more precisely to the\n * user's needs or the application's requirements.\n */\n instructions?: string;\n\n /**\n * A callback that gets called when the in progress state changes.\n */\n onInProgress?: (inProgress: boolean) => void;\n\n /**\n * A callback that gets called when a new message it submitted.\n */\n onSubmitMessage?: (message: string) => void | Promise<void>;\n\n /**\n * A custom stop generation function.\n */\n onStopGeneration?: OnStopGeneration;\n\n /**\n * A custom reload messages function.\n */\n onReloadMessages?: OnReloadMessages;\n\n /**\n * Icons can be used to set custom icons for the chat window.\n */\n icons?: CopilotChatIcons;\n\n /**\n * Labels can be used to set custom labels for the chat window.\n */\n labels?: CopilotChatLabels;\n\n /**\n * A function that takes in context string and instructions and returns\n * the system message to include in the chat request.\n * Use this to completely override the system message, when providing\n * instructions is not enough.\n */\n makeSystemMessage?: SystemMessageFunction;\n\n /**\n * Whether to show the response button.\n * @default true\n */\n showResponseButton?: boolean;\n\n /**\n * A custom assistant message component to use instead of the default.\n */\n AssistantMessage?: React.ComponentType<AssistantMessageProps>;\n\n /**\n * A custom user message component to use instead of the default.\n */\n UserMessage?: React.ComponentType<UserMessageProps>;\n\n /**\n * A custom Messages component to use instead of the default.\n */\n Messages?: React.ComponentType<MessagesProps>;\n\n /**\n * A custom RenderTextMessage component to use instead of the default.\n */\n RenderTextMessage?: React.ComponentType<RenderMessageProps>;\n\n /**\n * A custom RenderActionExecutionMessage component to use instead of the default.\n */\n RenderActionExecutionMessage?: React.ComponentType<RenderMessageProps>;\n\n /**\n * A custom RenderAgentStateMessage component to use instead of the default.\n */\n RenderAgentStateMessage?: React.ComponentType<RenderMessageProps>;\n\n /**\n * A custom RenderResultMessage component to use instead of the default.\n */\n RenderResultMessage?: React.ComponentType<RenderMessageProps>;\n\n /**\n * A custom Input component to use instead of the default.\n */\n Input?: React.ComponentType<InputProps>;\n\n /**\n * A custom ResponseButton component to use instead of the default.\n */\n ResponseButton?: React.ComponentType<ResponseButtonProps>;\n\n /**\n * A class name to apply to the root element.\n */\n className?: string;\n\n /**\n * Children to render.\n */\n children?: React.ReactNode;\n}\n\ninterface OnStopGenerationArguments {\n /**\n * The name of the currently executing agent.\n */\n currentAgentName: string | undefined;\n\n /**\n * The messages in the chat.\n */\n messages: Message[];\n\n /**\n * Set the messages in the chat.\n */\n setMessages: (messages: Message[]) => void;\n\n /**\n * Stop chat generation.\n */\n stopGeneration: () => void;\n\n /**\n * Restart the currently executing agent.\n */\n restartCurrentAgent: () => void;\n\n /**\n * Stop the currently executing agent.\n */\n stopCurrentAgent: () => void;\n\n /**\n * Run the currently executing agent.\n */\n runCurrentAgent: (hint?: HintFunction) => Promise<void>;\n\n /**\n * Set the state of the currently executing agent.\n */\n setCurrentAgentState: (state: any) => void;\n}\n\nexport type OnReloadMessagesArguments = OnStopGenerationArguments;\n\nexport type OnStopGeneration = (args: OnStopGenerationArguments) => void;\n\nexport type OnReloadMessages = (args: OnReloadMessagesArguments) => void;\n\nexport function CopilotChat({\n instructions,\n onSubmitMessage,\n makeSystemMessage,\n showResponseButton = true,\n onInProgress,\n onStopGeneration,\n onReloadMessages,\n Messages = DefaultMessages,\n RenderTextMessage = DefaultRenderTextMessage,\n RenderActionExecutionMessage = DefaultRenderActionExecutionMessage,\n RenderAgentStateMessage = DefaultRenderAgentStateMessage,\n RenderResultMessage = DefaultRenderResultMessage,\n Input = DefaultInput,\n ResponseButton = DefaultResponseButton,\n className,\n icons,\n labels,\n AssistantMessage = DefaultAssistantMessage,\n UserMessage = DefaultUserMessage,\n}: CopilotChatProps) {\n const context = useCopilotContext();\n\n useEffect(() => {\n context.setChatInstructions(instructions || \"\");\n }, [instructions]);\n\n const {\n visibleMessages,\n isLoading,\n currentSuggestions,\n sendMessage,\n stopGeneration,\n reloadMessages,\n } = useCopilotChatLogic(\n makeSystemMessage,\n onInProgress,\n onSubmitMessage,\n onStopGeneration,\n onReloadMessages,\n );\n\n const chatContext = React.useContext(ChatContext);\n const isVisible = chatContext ? chatContext.open : true;\n\n return (\n <WrappedCopilotChat icons={icons} labels={labels} className={className}>\n <CopilotDevConsole />\n <Messages\n AssistantMessage={AssistantMessage}\n UserMessage={UserMessage}\n RenderTextMessage={RenderTextMessage}\n RenderActionExecutionMessage={RenderActionExecutionMessage}\n RenderAgentStateMessage={RenderAgentStateMessage}\n RenderResultMessage={RenderResultMessage}\n messages={visibleMessages}\n inProgress={isLoading}\n >\n {currentSuggestions.length > 0 && (\n <div>\n <h6>Suggested:</h6>\n <div className=\"suggestions\">\n {currentSuggestions.map((suggestion, index) => (\n <Suggestion\n key={index}\n title={suggestion.title}\n message={suggestion.message}\n partial={suggestion.partial}\n className={suggestion.className}\n onClick={(message) => sendMessage(message)}\n />\n ))}\n </div>\n </div>\n )}\n {showResponseButton && visibleMessages.length > 0 && (\n <ResponseButton\n onClick={isLoading ? stopGeneration : reloadMessages}\n inProgress={isLoading}\n />\n )}\n </Messages>\n <Input inProgress={isLoading} onSend={sendMessage} isVisible={isVisible} />\n </WrappedCopilotChat>\n );\n}\n\nexport function WrappedCopilotChat({\n children,\n icons,\n labels,\n className,\n}: {\n children: React.ReactNode;\n icons?: CopilotChatIcons;\n labels?: CopilotChatLabels;\n className?: string;\n}) {\n const chatContext = React.useContext(ChatContext);\n if (!chatContext) {\n return (\n <ChatContextProvider icons={icons} labels={labels} open={true} setOpen={() => {}}>\n <div className={`copilotKitChat ${className}`}>{children}</div>\n </ChatContextProvider>\n );\n }\n return <>{children}</>;\n}\n\nconst SUGGESTIONS_DEBOUNCE_TIMEOUT = 1000;\n\nexport const useCopilotChatLogic = (\n makeSystemMessage?: SystemMessageFunction,\n onInProgress?: (isLoading: boolean) => void,\n onSubmitMessage?: (messageContent: string) => Promise<void> | void,\n onStopGeneration?: OnStopGeneration,\n onReloadMessages?: OnReloadMessages,\n) => {\n const {\n visibleMessages,\n appendMessage,\n reloadMessages: defaultReloadMessages,\n stopGeneration: defaultStopGeneration,\n runChatCompletion,\n isLoading,\n } = useCopilotChat({\n id: randomId(),\n makeSystemMessage,\n });\n\n const [currentSuggestions, setCurrentSuggestions] = useState<CopilotChatSuggestion[]>([]);\n const suggestionsAbortControllerRef = useRef<AbortController | null>(null);\n const debounceTimerRef = useRef<any>();\n\n const abortSuggestions = () => {\n suggestionsAbortControllerRef.current?.abort();\n suggestionsAbortControllerRef.current = null;\n };\n\n const generalContext = useCopilotContext();\n const messagesContext = useCopilotMessagesContext();\n const context = { ...generalContext, ...messagesContext };\n\n useEffect(() => {\n onInProgress?.(isLoading);\n\n abortSuggestions();\n\n debounceTimerRef.current = setTimeout(\n () => {\n if (!isLoading && Object.keys(context.chatSuggestionConfiguration).length !== 0) {\n suggestionsAbortControllerRef.current = new AbortController();\n reloadSuggestions(\n context,\n context.chatSuggestionConfiguration,\n setCurrentSuggestions,\n suggestionsAbortControllerRef,\n );\n }\n },\n currentSuggestions.length == 0 ? 0 : SUGGESTIONS_DEBOUNCE_TIMEOUT,\n );\n\n return () => {\n clearTimeout(debounceTimerRef.current);\n };\n }, [\n isLoading,\n context.chatSuggestionConfiguration,\n // hackish way to trigger suggestions reload on reset, but better than moving suggestions to the\n // global context\n visibleMessages.length == 0,\n ]);\n\n const sendMessage = async (messageContent: string) => {\n abortSuggestions();\n setCurrentSuggestions([]);\n\n const message: Message = new TextMessage({\n content: messageContent,\n role: Role.User,\n });\n\n if (onSubmitMessage) {\n try {\n await onSubmitMessage(messageContent);\n } catch (error) {\n console.error(\"Error in onSubmitMessage:\", error);\n }\n }\n // this needs to happen after onSubmitMessage, because it will trigger submission\n // of the message to the endpoint. Some users depend on performing some actions\n // before the message is submitted.\n appendMessage(message);\n\n return message;\n };\n\n const messages = visibleMessages;\n const { setMessages } = messagesContext;\n const currentAgentName = generalContext.agentSession?.agentName;\n const restartCurrentAgent = async (hint?: HintFunction) => {\n if (generalContext.agentSession) {\n generalContext.setAgentSession({\n ...generalContext.agentSession,\n nodeName: undefined,\n threadId: undefined,\n });\n generalContext.setCoagentStates((prevAgentStates) => {\n return {\n ...prevAgentStates,\n [generalContext.agentSession!.agentName]: {\n ...prevAgentStates[generalContext.agentSession!.agentName],\n threadId: undefined,\n nodeName: undefined,\n runId: undefined,\n },\n };\n });\n }\n };\n const runCurrentAgent = async (hint?: HintFunction) => {\n if (generalContext.agentSession) {\n await runAgent(\n generalContext.agentSession.agentName,\n context,\n appendMessage,\n runChatCompletion,\n hint,\n );\n }\n };\n const stopCurrentAgent = () => {\n if (generalContext.agentSession) {\n stopAgent(generalContext.agentSession.agentName, context);\n }\n };\n const setCurrentAgentState = (state: any) => {\n if (generalContext.agentSession) {\n generalContext.setCoagentStates((prevAgentStates) => {\n return {\n ...prevAgentStates,\n [generalContext.agentSession!.agentName]: {\n state,\n },\n } as any;\n });\n }\n };\n\n function stopGeneration() {\n if (onStopGeneration) {\n onStopGeneration({\n messages,\n setMessages,\n stopGeneration: defaultStopGeneration,\n currentAgentName,\n restartCurrentAgent,\n stopCurrentAgent,\n runCurrentAgent,\n setCurrentAgentState,\n });\n } else {\n defaultStopGeneration();\n }\n }\n function reloadMessages() {\n if (onReloadMessages) {\n onReloadMessages({\n messages,\n setMessages,\n stopGeneration: defaultStopGeneration,\n currentAgentName,\n restartCurrentAgent,\n stopCurrentAgent,\n runCurrentAgent,\n setCurrentAgentState,\n });\n } else {\n defaultReloadMessages();\n }\n }\n\n return {\n visibleMessages,\n isLoading,\n currentSuggestions,\n sendMessage,\n stopGeneration,\n reloadMessages,\n };\n};\n"],"mappings":"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","names":["Messages","RenderTextMessage","RenderActionExecutionMessage","RenderAgentStateMessage","RenderResultMessage","Input","ResponseButton","AssistantMessage","UserMessage","_a"]}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=chunk-IU3WTXLQ.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=chunk-KXE2JCUH.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=chunk-MMVDU6DF.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,59 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
+ var __objRest = (source, exclude) => {
21
+ var target = {};
22
+ for (var prop in source)
23
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
24
+ target[prop] = source[prop];
25
+ if (source != null && __getOwnPropSymbols)
26
+ for (var prop of __getOwnPropSymbols(source)) {
27
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
28
+ target[prop] = source[prop];
29
+ }
30
+ return target;
31
+ };
32
+ var __async = (__this, __arguments, generator) => {
33
+ return new Promise((resolve, reject) => {
34
+ var fulfilled = (value) => {
35
+ try {
36
+ step(generator.next(value));
37
+ } catch (e) {
38
+ reject(e);
39
+ }
40
+ };
41
+ var rejected = (value) => {
42
+ try {
43
+ step(generator.throw(value));
44
+ } catch (e) {
45
+ reject(e);
46
+ }
47
+ };
48
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
49
+ step((generator = generator.apply(__this, __arguments)).next());
50
+ });
51
+ };
52
+
53
+ export {
54
+ __spreadValues,
55
+ __spreadProps,
56
+ __objRest,
57
+ __async
58
+ };
59
+ //# sourceMappingURL=chunk-MRXNTQOX.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,21 @@
1
+ import {
2
+ CopilotModal
3
+ } from "./chunk-VKVNMHM5.mjs";
4
+ import {
5
+ __spreadProps,
6
+ __spreadValues
7
+ } from "./chunk-MRXNTQOX.mjs";
8
+
9
+ // src/components/chat/Popup.tsx
10
+ import { jsx } from "react/jsx-runtime";
11
+ function CopilotPopup(props) {
12
+ props = __spreadProps(__spreadValues({}, props), {
13
+ className: props.className ? props.className + " copilotKitPopup" : "copilotKitPopup"
14
+ });
15
+ return /* @__PURE__ */ jsx(CopilotModal, __spreadProps(__spreadValues({}, props), { children: props.children }));
16
+ }
17
+
18
+ export {
19
+ CopilotPopup
20
+ };
21
+ //# sourceMappingURL=chunk-O6JFOQQA.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/chat/Popup.tsx"],"sourcesContent":["/**\n * <br/>\n * <img src=\"/images/CopilotPopup.gif\" width=\"500\" />\n *\n * A chatbot popup component for the CopilotKit framework. The component allows for a high degree\n * of customization through various props and custom CSS.\n *\n * See [CopilotSidebar](/reference/components/chat/CopilotSidebar) for a sidebar version of this component.\n *\n * ## Install Dependencies\n *\n * This component is part of the [@copilotkit/react-ui](https://npmjs.com/package/@copilotkit/react-ui) package.\n *\n * ```shell npm2yarn \\\"@copilotkit/react-ui\"\\\n * npm install @copilotkit/react-core @copilotkit/react-ui\n * ```\n * ## Usage\n *\n * ```tsx\n * import { CopilotPopup } from \"@copilotkit/react-ui\";\n * import \"@copilotkit/react-ui/styles.css\";\n *\n * <CopilotPopup\n * labels={{\n * title: \"Your Assistant\",\n * initial: \"Hi! 👋 How can I assist you today?\",\n * }}\n * />\n * ```\n *\n * ### Look & Feel\n *\n * By default, CopilotKit components do not have any styles. You can import CopilotKit's stylesheet at the root of your project:\n * ```tsx title=\"YourRootComponent.tsx\"\n * ...\n * import \"@copilotkit/react-ui/styles.css\"; // [!code highlight]\n *\n * export function YourRootComponent() {\n * return (\n * <CopilotKit>\n * ...\n * </CopilotKit>\n * );\n * }\n * ```\n * For more information about how to customize the styles, check out the [Customize Look & Feel](/guides/custom-look-and-feel/customize-built-in-ui-components) guide.\n */\n\nimport { CopilotModal, CopilotModalProps } from \"./Modal\";\n\nexport function CopilotPopup(props: CopilotModalProps) {\n props = {\n ...props,\n className: props.className ? props.className + \" copilotKitPopup\" : \"copilotKitPopup\",\n };\n return <CopilotModal {...props}>{props.children}</CopilotModal>;\n}\n"],"mappings":";;;;;;;;;AAuDS;AALF,SAAS,aAAa,OAA0B;AACrD,UAAQ,iCACH,QADG;AAAA,IAEN,WAAW,MAAM,YAAY,MAAM,YAAY,qBAAqB;AAAA,EACtE;AACA,SAAO,oBAAC,+CAAiB,QAAjB,EAAyB,gBAAM,WAAS;AAClD;","names":[]}
@@ -0,0 +1,35 @@
1
+ // src/components/chat/messages/RenderTextMessage.tsx
2
+ import { jsx } from "react/jsx-runtime";
3
+ function RenderTextMessage(props) {
4
+ const { message, inProgress, index, isCurrentMessage, UserMessage, AssistantMessage } = props;
5
+ if (message.isTextMessage()) {
6
+ if (message.role === "user") {
7
+ return /* @__PURE__ */ jsx(
8
+ UserMessage,
9
+ {
10
+ "data-message-role": "user",
11
+ message: message.content,
12
+ rawData: message
13
+ },
14
+ index
15
+ );
16
+ } else if (message.role == "assistant") {
17
+ return /* @__PURE__ */ jsx(
18
+ AssistantMessage,
19
+ {
20
+ "data-message-role": "assistant",
21
+ message: message.content,
22
+ rawData: message,
23
+ isLoading: inProgress && isCurrentMessage && !message.content,
24
+ isGenerating: inProgress && isCurrentMessage && !!message.content
25
+ },
26
+ index
27
+ );
28
+ }
29
+ }
30
+ }
31
+
32
+ export {
33
+ RenderTextMessage
34
+ };
35
+ //# sourceMappingURL=chunk-OFYI4UU4.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/chat/messages/RenderTextMessage.tsx"],"sourcesContent":["import { RenderMessageProps } from \"../props\";\n\nexport function RenderTextMessage(props: RenderMessageProps) {\n const { message, inProgress, index, isCurrentMessage, UserMessage, AssistantMessage } = props;\n\n if (message.isTextMessage()) {\n if (message.role === \"user\") {\n return (\n <UserMessage\n key={index}\n data-message-role=\"user\"\n message={message.content}\n rawData={message}\n />\n );\n } else if (message.role == \"assistant\") {\n return (\n <AssistantMessage\n key={index}\n data-message-role=\"assistant\"\n message={message.content}\n rawData={message}\n isLoading={inProgress && isCurrentMessage && !message.content}\n isGenerating={inProgress && isCurrentMessage && !!message.content}\n />\n );\n }\n }\n}\n"],"mappings":";AAQQ;AAND,SAAS,kBAAkB,OAA2B;AAC3D,QAAM,EAAE,SAAS,YAAY,OAAO,kBAAkB,aAAa,iBAAiB,IAAI;AAExF,MAAI,QAAQ,cAAc,GAAG;AAC3B,QAAI,QAAQ,SAAS,QAAQ;AAC3B,aACE;AAAA,QAAC;AAAA;AAAA,UAEC,qBAAkB;AAAA,UAClB,SAAS,QAAQ;AAAA,UACjB,SAAS;AAAA;AAAA,QAHJ;AAAA,MAIP;AAAA,IAEJ,WAAW,QAAQ,QAAQ,aAAa;AACtC,aACE;AAAA,QAAC;AAAA;AAAA,UAEC,qBAAkB;AAAA,UAClB,SAAS,QAAQ;AAAA,UACjB,SAAS;AAAA,UACT,WAAW,cAAc,oBAAoB,CAAC,QAAQ;AAAA,UACtD,cAAc,cAAc,oBAAoB,CAAC,CAAC,QAAQ;AAAA;AAAA,QALrD;AAAA,MAMP;AAAA,IAEJ;AAAA,EACF;AACF;","names":[]}