@copilotkit/react-ui 1.5.1-test-custom-tag-prerelease-1.0 → 1.5.1

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 (288) hide show
  1. package/CHANGELOG.md +61 -6
  2. package/package.json +4 -4
  3. package/dist/chunk-375NVWZM.mjs +0 -21
  4. package/dist/chunk-375NVWZM.mjs.map +0 -1
  5. package/dist/chunk-3E7HY2UN.mjs +0 -85
  6. package/dist/chunk-3E7HY2UN.mjs.map +0 -1
  7. package/dist/chunk-3XAXY2Z3.mjs +0 -18
  8. package/dist/chunk-3XAXY2Z3.mjs.map +0 -1
  9. package/dist/chunk-54JAUBUJ.mjs +0 -26
  10. package/dist/chunk-54JAUBUJ.mjs.map +0 -1
  11. package/dist/chunk-6INMITFA.mjs +0 -18
  12. package/dist/chunk-6INMITFA.mjs.map +0 -1
  13. package/dist/chunk-7II4YL7R.mjs +0 -170
  14. package/dist/chunk-7II4YL7R.mjs.map +0 -1
  15. package/dist/chunk-BH6PCAAL.mjs +0 -81
  16. package/dist/chunk-BH6PCAAL.mjs.map +0 -1
  17. package/dist/chunk-CBBFRI3Q.mjs +0 -81
  18. package/dist/chunk-CBBFRI3Q.mjs.map +0 -1
  19. package/dist/chunk-DCNCY2PL.mjs +0 -304
  20. package/dist/chunk-DCNCY2PL.mjs.map +0 -1
  21. package/dist/chunk-EFZPSZWO.mjs +0 -1
  22. package/dist/chunk-EFZPSZWO.mjs.map +0 -1
  23. package/dist/chunk-EMQEEXUB.mjs +0 -97
  24. package/dist/chunk-EMQEEXUB.mjs.map +0 -1
  25. package/dist/chunk-F2W5FD7L.mjs +0 -232
  26. package/dist/chunk-F2W5FD7L.mjs.map +0 -1
  27. package/dist/chunk-FZC7X5PK.mjs +0 -262
  28. package/dist/chunk-FZC7X5PK.mjs.map +0 -1
  29. package/dist/chunk-IU3WTXLQ.mjs +0 -1
  30. package/dist/chunk-IU3WTXLQ.mjs.map +0 -1
  31. package/dist/chunk-KXE2JCUH.mjs +0 -1
  32. package/dist/chunk-KXE2JCUH.mjs.map +0 -1
  33. package/dist/chunk-MMVDU6DF.mjs +0 -1
  34. package/dist/chunk-MMVDU6DF.mjs.map +0 -1
  35. package/dist/chunk-MRFF7GSQ.mjs +0 -1
  36. package/dist/chunk-MRFF7GSQ.mjs.map +0 -1
  37. package/dist/chunk-MRXNTQOX.mjs +0 -59
  38. package/dist/chunk-MRXNTQOX.mjs.map +0 -1
  39. package/dist/chunk-OTPAZXVR.mjs +0 -92
  40. package/dist/chunk-OTPAZXVR.mjs.map +0 -1
  41. package/dist/chunk-PNQVKBPN.mjs +0 -146
  42. package/dist/chunk-PNQVKBPN.mjs.map +0 -1
  43. package/dist/chunk-RJCZRKTV.mjs +0 -106
  44. package/dist/chunk-RJCZRKTV.mjs.map +0 -1
  45. package/dist/chunk-RQNJNK2W.mjs +0 -25
  46. package/dist/chunk-RQNJNK2W.mjs.map +0 -1
  47. package/dist/chunk-RU73BEZM.mjs +0 -41
  48. package/dist/chunk-RU73BEZM.mjs.map +0 -1
  49. package/dist/chunk-S5MBUNGN.mjs +0 -140
  50. package/dist/chunk-S5MBUNGN.mjs.map +0 -1
  51. package/dist/chunk-T26KLXLH.mjs +0 -1
  52. package/dist/chunk-T26KLXLH.mjs.map +0 -1
  53. package/dist/chunk-TI7SY2RI.mjs +0 -164
  54. package/dist/chunk-TI7SY2RI.mjs.map +0 -1
  55. package/dist/chunk-UPTB2MVO.mjs +0 -395
  56. package/dist/chunk-UPTB2MVO.mjs.map +0 -1
  57. package/dist/chunk-UWVGLGFQ.mjs +0 -95
  58. package/dist/chunk-UWVGLGFQ.mjs.map +0 -1
  59. package/dist/chunk-V7W6IM2V.mjs +0 -1
  60. package/dist/chunk-V7W6IM2V.mjs.map +0 -1
  61. package/dist/chunk-VEC45H6Q.mjs +0 -18
  62. package/dist/chunk-VEC45H6Q.mjs.map +0 -1
  63. package/dist/chunk-WB3YULQ4.mjs +0 -1
  64. package/dist/chunk-WB3YULQ4.mjs.map +0 -1
  65. package/dist/chunk-WSMMTZCM.mjs +0 -30
  66. package/dist/chunk-WSMMTZCM.mjs.map +0 -1
  67. package/dist/chunk-YAGE7RCE.mjs +0 -118
  68. package/dist/chunk-YAGE7RCE.mjs.map +0 -1
  69. package/dist/chunk-YQ3D5IQV.mjs +0 -75
  70. package/dist/chunk-YQ3D5IQV.mjs.map +0 -1
  71. package/dist/chunk-YQFVRDNC.mjs +0 -53
  72. package/dist/chunk-YQFVRDNC.mjs.map +0 -1
  73. package/dist/chunk-Z2UZSN3K.mjs +0 -29
  74. package/dist/chunk-Z2UZSN3K.mjs.map +0 -1
  75. package/dist/chunk-ZABXREBH.mjs +0 -65
  76. package/dist/chunk-ZABXREBH.mjs.map +0 -1
  77. package/dist/components/chat/Button.d.ts +0 -7
  78. package/dist/components/chat/Button.js +0 -71
  79. package/dist/components/chat/Button.js.map +0 -1
  80. package/dist/components/chat/Button.mjs +0 -10
  81. package/dist/components/chat/Button.mjs.map +0 -1
  82. package/dist/components/chat/Chat.d.ts +0 -148
  83. package/dist/components/chat/Chat.js +0 -2427
  84. package/dist/components/chat/Chat.js.map +0 -1
  85. package/dist/components/chat/Chat.mjs +0 -34
  86. package/dist/components/chat/Chat.mjs.map +0 -1
  87. package/dist/components/chat/ChatContext.d.ts +0 -105
  88. package/dist/components/chat/ChatContext.js +0 -279
  89. package/dist/components/chat/ChatContext.js.map +0 -1
  90. package/dist/components/chat/ChatContext.mjs +0 -13
  91. package/dist/components/chat/ChatContext.mjs.map +0 -1
  92. package/dist/components/chat/CodeBlock.d.ts +0 -14
  93. package/dist/components/chat/CodeBlock.js +0 -523
  94. package/dist/components/chat/CodeBlock.js.map +0 -1
  95. package/dist/components/chat/CodeBlock.mjs +0 -14
  96. package/dist/components/chat/CodeBlock.mjs.map +0 -1
  97. package/dist/components/chat/Header.d.ts +0 -7
  98. package/dist/components/chat/Header.js +0 -64
  99. package/dist/components/chat/Header.js.map +0 -1
  100. package/dist/components/chat/Header.mjs +0 -10
  101. package/dist/components/chat/Header.mjs.map +0 -1
  102. package/dist/components/chat/Icons.d.ts +0 -18
  103. package/dist/components/chat/Icons.js +0 -321
  104. package/dist/components/chat/Icons.js.map +0 -1
  105. package/dist/components/chat/Icons.mjs +0 -32
  106. package/dist/components/chat/Icons.mjs.map +0 -1
  107. package/dist/components/chat/Input.d.ts +0 -7
  108. package/dist/components/chat/Input.js +0 -324
  109. package/dist/components/chat/Input.js.map +0 -1
  110. package/dist/components/chat/Input.mjs +0 -12
  111. package/dist/components/chat/Input.mjs.map +0 -1
  112. package/dist/components/chat/Markdown.d.ts +0 -8
  113. package/dist/components/chat/Markdown.js +0 -583
  114. package/dist/components/chat/Markdown.js.map +0 -1
  115. package/dist/components/chat/Markdown.mjs +0 -11
  116. package/dist/components/chat/Markdown.mjs.map +0 -1
  117. package/dist/components/chat/Messages.d.ts +0 -12
  118. package/dist/components/chat/Messages.js +0 -217
  119. package/dist/components/chat/Messages.js.map +0 -1
  120. package/dist/components/chat/Messages.mjs +0 -12
  121. package/dist/components/chat/Messages.mjs.map +0 -1
  122. package/dist/components/chat/Modal.d.ts +0 -51
  123. package/dist/components/chat/Modal.js +0 -2626
  124. package/dist/components/chat/Modal.js.map +0 -1
  125. package/dist/components/chat/Modal.mjs +0 -34
  126. package/dist/components/chat/Modal.mjs.map +0 -1
  127. package/dist/components/chat/Popup.d.ts +0 -13
  128. package/dist/components/chat/Popup.js +0 -2637
  129. package/dist/components/chat/Popup.js.map +0 -1
  130. package/dist/components/chat/Popup.mjs +0 -35
  131. package/dist/components/chat/Popup.mjs.map +0 -1
  132. package/dist/components/chat/Response.d.ts +0 -7
  133. package/dist/components/chat/Response.js +0 -64
  134. package/dist/components/chat/Response.js.map +0 -1
  135. package/dist/components/chat/Response.mjs +0 -10
  136. package/dist/components/chat/Response.mjs.map +0 -1
  137. package/dist/components/chat/Sidebar.d.ts +0 -13
  138. package/dist/components/chat/Sidebar.js +0 -2646
  139. package/dist/components/chat/Sidebar.js.map +0 -1
  140. package/dist/components/chat/Sidebar.mjs +0 -35
  141. package/dist/components/chat/Sidebar.mjs.map +0 -1
  142. package/dist/components/chat/Suggestion.d.ts +0 -14
  143. package/dist/components/chat/Suggestion.js +0 -181
  144. package/dist/components/chat/Suggestion.js.map +0 -1
  145. package/dist/components/chat/Suggestion.mjs +0 -11
  146. package/dist/components/chat/Suggestion.mjs.map +0 -1
  147. package/dist/components/chat/Textarea.d.ts +0 -13
  148. package/dist/components/chat/Textarea.js +0 -73
  149. package/dist/components/chat/Textarea.js.map +0 -1
  150. package/dist/components/chat/Textarea.mjs +0 -8
  151. package/dist/components/chat/Textarea.mjs.map +0 -1
  152. package/dist/components/chat/Window.d.ts +0 -7
  153. package/dist/components/chat/Window.js +0 -164
  154. package/dist/components/chat/Window.js.map +0 -1
  155. package/dist/components/chat/Window.mjs +0 -10
  156. package/dist/components/chat/Window.mjs.map +0 -1
  157. package/dist/components/chat/index.d.ts +0 -11
  158. package/dist/components/chat/index.js +0 -2661
  159. package/dist/components/chat/index.js.map +0 -1
  160. package/dist/components/chat/index.mjs +0 -47
  161. package/dist/components/chat/index.mjs.map +0 -1
  162. package/dist/components/chat/messages/RenderActionExecutionMessage.d.ts +0 -7
  163. package/dist/components/chat/messages/RenderActionExecutionMessage.js +0 -131
  164. package/dist/components/chat/messages/RenderActionExecutionMessage.js.map +0 -1
  165. package/dist/components/chat/messages/RenderActionExecutionMessage.mjs +0 -10
  166. package/dist/components/chat/messages/RenderActionExecutionMessage.mjs.map +0 -1
  167. package/dist/components/chat/messages/RenderAgentStateMessage.d.ts +0 -7
  168. package/dist/components/chat/messages/RenderAgentStateMessage.js +0 -111
  169. package/dist/components/chat/messages/RenderAgentStateMessage.js.map +0 -1
  170. package/dist/components/chat/messages/RenderAgentStateMessage.mjs +0 -10
  171. package/dist/components/chat/messages/RenderAgentStateMessage.mjs.map +0 -1
  172. package/dist/components/chat/messages/RenderResultMessage.d.ts +0 -7
  173. package/dist/components/chat/messages/RenderResultMessage.js +0 -64
  174. package/dist/components/chat/messages/RenderResultMessage.js.map +0 -1
  175. package/dist/components/chat/messages/RenderResultMessage.mjs +0 -10
  176. package/dist/components/chat/messages/RenderResultMessage.mjs.map +0 -1
  177. package/dist/components/chat/messages/RenderTextMessage.d.ts +0 -7
  178. package/dist/components/chat/messages/RenderTextMessage.js +0 -629
  179. package/dist/components/chat/messages/RenderTextMessage.js.map +0 -1
  180. package/dist/components/chat/messages/RenderTextMessage.mjs +0 -13
  181. package/dist/components/chat/messages/RenderTextMessage.mjs.map +0 -1
  182. package/dist/components/chat/props.d.ts +0 -46
  183. package/dist/components/chat/props.js +0 -19
  184. package/dist/components/chat/props.js.map +0 -1
  185. package/dist/components/chat/props.mjs +0 -2
  186. package/dist/components/chat/props.mjs.map +0 -1
  187. package/dist/components/dev-console/console.d.ts +0 -10
  188. package/dist/components/dev-console/console.js +0 -720
  189. package/dist/components/dev-console/console.js.map +0 -1
  190. package/dist/components/dev-console/console.mjs +0 -17
  191. package/dist/components/dev-console/console.mjs.map +0 -1
  192. package/dist/components/dev-console/icons.d.ts +0 -9
  193. package/dist/components/dev-console/icons.js +0 -120
  194. package/dist/components/dev-console/icons.js.map +0 -1
  195. package/dist/components/dev-console/icons.mjs +0 -16
  196. package/dist/components/dev-console/icons.mjs.map +0 -1
  197. package/dist/components/dev-console/index.d.ts +0 -5
  198. package/dist/components/dev-console/index.js +0 -720
  199. package/dist/components/dev-console/index.js.map +0 -1
  200. package/dist/components/dev-console/index.mjs +0 -18
  201. package/dist/components/dev-console/index.mjs.map +0 -1
  202. package/dist/components/dev-console/types.d.ts +0 -9
  203. package/dist/components/dev-console/types.js +0 -19
  204. package/dist/components/dev-console/types.js.map +0 -1
  205. package/dist/components/dev-console/types.mjs +0 -1
  206. package/dist/components/dev-console/types.mjs.map +0 -1
  207. package/dist/components/dev-console/utils.d.ts +0 -10
  208. package/dist/components/dev-console/utils.js +0 -188
  209. package/dist/components/dev-console/utils.js.map +0 -1
  210. package/dist/components/dev-console/utils.mjs +0 -16
  211. package/dist/components/dev-console/utils.mjs.map +0 -1
  212. package/dist/components/help-modal/icons.d.ts +0 -9
  213. package/dist/components/help-modal/icons.js +0 -107
  214. package/dist/components/help-modal/icons.js.map +0 -1
  215. package/dist/components/help-modal/icons.mjs +0 -12
  216. package/dist/components/help-modal/icons.mjs.map +0 -1
  217. package/dist/components/help-modal/index.d.ts +0 -2
  218. package/dist/components/help-modal/index.js +0 -255
  219. package/dist/components/help-modal/index.js.map +0 -1
  220. package/dist/components/help-modal/index.mjs +0 -10
  221. package/dist/components/help-modal/index.mjs.map +0 -1
  222. package/dist/components/help-modal/modal.d.ts +0 -5
  223. package/dist/components/help-modal/modal.js +0 -253
  224. package/dist/components/help-modal/modal.js.map +0 -1
  225. package/dist/components/help-modal/modal.mjs +0 -9
  226. package/dist/components/help-modal/modal.mjs.map +0 -1
  227. package/dist/components/index.d.ts +0 -14
  228. package/dist/components/index.js +0 -2665
  229. package/dist/components/index.js.map +0 -1
  230. package/dist/components/index.mjs +0 -54
  231. package/dist/components/index.mjs.map +0 -1
  232. package/dist/context/index.d.ts +0 -2
  233. package/dist/context/index.js +0 -19
  234. package/dist/context/index.js.map +0 -1
  235. package/dist/context/index.mjs +0 -2
  236. package/dist/context/index.mjs.map +0 -1
  237. package/dist/hooks/index.d.ts +0 -1
  238. package/dist/hooks/index.js +0 -55
  239. package/dist/hooks/index.js.map +0 -1
  240. package/dist/hooks/index.mjs +0 -9
  241. package/dist/hooks/index.mjs.map +0 -1
  242. package/dist/hooks/use-copilot-chat-suggestions.d.ts +0 -83
  243. package/dist/hooks/use-copilot-chat-suggestions.js +0 -53
  244. package/dist/hooks/use-copilot-chat-suggestions.js.map +0 -1
  245. package/dist/hooks/use-copilot-chat-suggestions.mjs +0 -8
  246. package/dist/hooks/use-copilot-chat-suggestions.mjs.map +0 -1
  247. package/dist/hooks/use-copy-to-clipboard.d.ts +0 -9
  248. package/dist/hooks/use-copy-to-clipboard.js +0 -60
  249. package/dist/hooks/use-copy-to-clipboard.js.map +0 -1
  250. package/dist/hooks/use-copy-to-clipboard.mjs +0 -8
  251. package/dist/hooks/use-copy-to-clipboard.mjs.map +0 -1
  252. package/dist/hooks/use-push-to-talk.d.ts +0 -19
  253. package/dist/hooks/use-push-to-talk.js +0 -195
  254. package/dist/hooks/use-push-to-talk.js.map +0 -1
  255. package/dist/hooks/use-push-to-talk.mjs +0 -12
  256. package/dist/hooks/use-push-to-talk.mjs.map +0 -1
  257. package/dist/index.css +0 -751
  258. package/dist/index.css.map +0 -1
  259. package/dist/index.d.ts +0 -16
  260. package/dist/index.js +0 -2693
  261. package/dist/index.js.map +0 -1
  262. package/dist/index.mjs +0 -62
  263. package/dist/index.mjs.map +0 -1
  264. package/dist/lib/utils.d.ts +0 -4
  265. package/dist/lib/utils.js +0 -76
  266. package/dist/lib/utils.js.map +0 -1
  267. package/dist/lib/utils.mjs +0 -34
  268. package/dist/lib/utils.mjs.map +0 -1
  269. package/dist/lib/utils.test.d.ts +0 -2
  270. package/dist/lib/utils.test.js +0 -9
  271. package/dist/lib/utils.test.js.map +0 -1
  272. package/dist/lib/utils.test.mjs +0 -7
  273. package/dist/lib/utils.test.mjs.map +0 -1
  274. package/dist/types/css.d.ts +0 -16
  275. package/dist/types/css.js +0 -19
  276. package/dist/types/css.js.map +0 -1
  277. package/dist/types/css.mjs +0 -1
  278. package/dist/types/css.mjs.map +0 -1
  279. package/dist/types/index.d.ts +0 -2
  280. package/dist/types/index.js +0 -19
  281. package/dist/types/index.js.map +0 -1
  282. package/dist/types/index.mjs +0 -2
  283. package/dist/types/index.mjs.map +0 -1
  284. package/dist/types/suggestions.d.ts +0 -8
  285. package/dist/types/suggestions.js +0 -19
  286. package/dist/types/suggestions.js.map +0 -1
  287. package/dist/types/suggestions.mjs +0 -1
  288. package/dist/types/suggestions.mjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/chat/ChatContext.tsx"],"sourcesContent":["import React, { useMemo, useState } from \"react\";\nimport * as DefaultIcons from \"./Icons\";\n\n/**\n * Icons for CopilotChat component.\n */\nexport interface CopilotChatIcons {\n /**\n * The icon to use for the open chat button.\n * @default <OpenIcon />\n */\n openIcon?: React.ReactNode;\n\n /**\n * The icon to use for the close chat button.\n * @default <CloseIcon />\n */\n closeIcon?: React.ReactNode;\n\n /**\n * The icon to use for the close chat button in the header.\n * @default <HeaderCloseIcon />\n */\n headerCloseIcon?: React.ReactNode;\n\n /**\n * The icon to use for the send button.\n * @default <SendIcon />\n */\n sendIcon?: React.ReactNode;\n\n /**\n * The icon to use for the activity indicator.\n * @default <ActivityIcon />\n */\n activityIcon?: React.ReactNode;\n\n /**\n * The icon to use for the spinner.\n * @default <SpinnerIcon />\n */\n spinnerIcon?: React.ReactNode;\n\n /**\n * The icon to use for the stop button.\n * @default <StopIcon />\n */\n stopIcon?: React.ReactNode;\n\n /**\n * The icon to use for the regenerate button.\n * @default <RegenerateIcon />\n */\n regenerateIcon?: React.ReactNode;\n\n /**\n * The icons to use for push to talk.\n * @default <PushToTalkIcon />\n */\n\n pushToTalkIcon?: React.ReactNode;\n}\n\n/**\n * Labels for CopilotChat component.\n */\nexport interface CopilotChatLabels {\n /**\n * The initial message(s) to display in the chat window.\n */\n initial?: string | string[];\n\n /**\n * The title to display in the header.\n * @default \"CopilotKit\"\n */\n title?: string;\n\n /**\n * The placeholder to display in the input.\n * @default \"Type a message...\"\n */\n placeholder?: string;\n\n /**\n * The message to display when an error occurs.\n * @default \"❌ An error occurred. Please try again.\"\n */\n error?: string;\n\n /**\n * The label to display on the stop button.\n * @default \"Stop generating\"\n */\n stopGenerating?: string;\n\n /**\n * The label to display on the regenerate button.\n * @default \"Regenerate response\"\n */\n regenerateResponse?: string;\n}\n\ninterface ChatContext {\n labels: Required<CopilotChatLabels>;\n icons: Required<CopilotChatIcons>;\n open: boolean;\n setOpen: (open: boolean) => void;\n}\n\nexport const ChatContext = React.createContext<ChatContext | undefined>(undefined);\n\nexport function useChatContext(): ChatContext {\n const context = React.useContext(ChatContext);\n if (context === undefined) {\n throw new Error(\n \"Context not found. Did you forget to wrap your app in a <ChatContextProvider> component?\",\n );\n }\n return context;\n}\n\ninterface ChatContextProps {\n // temperature?: number;\n // instructions?: string;\n // maxFeedback?: number;\n labels?: CopilotChatLabels;\n icons?: CopilotChatIcons;\n children?: React.ReactNode;\n open: boolean;\n setOpen: (open: boolean) => void;\n}\n\nexport const ChatContextProvider = ({\n // temperature,\n // instructions,\n // maxFeedback,\n labels,\n icons,\n children,\n open,\n setOpen,\n}: ChatContextProps) => {\n const memoizedLabels = useMemo(\n () => ({\n ...{\n initial: \"\",\n title: \"CopilotKit\",\n placeholder: \"Type a message...\",\n error: \"❌ An error occurred. Please try again.\",\n stopGenerating: \"Stop generating\",\n regenerateResponse: \"Regenerate response\",\n },\n ...labels,\n }),\n [labels],\n );\n\n const memoizedIcons = useMemo(\n () => ({\n ...{\n openIcon: DefaultIcons.OpenIcon,\n closeIcon: DefaultIcons.CloseIcon,\n headerCloseIcon: DefaultIcons.HeaderCloseIcon,\n sendIcon: DefaultIcons.SendIcon,\n activityIcon: DefaultIcons.ActivityIcon,\n spinnerIcon: DefaultIcons.SpinnerIcon,\n stopIcon: DefaultIcons.StopIcon,\n regenerateIcon: DefaultIcons.RegenerateIcon,\n pushToTalkIcon: DefaultIcons.PushToTalkIcon,\n },\n ...icons,\n }),\n [icons],\n );\n\n const context = useMemo(\n () => ({\n labels: memoizedLabels,\n icons: memoizedIcons,\n open,\n setOpen,\n }),\n [memoizedLabels, memoizedIcons, open, setOpen],\n );\n\n return <ChatContext.Provider value={context}>{children}</ChatContext.Provider>;\n};\n"],"mappings":";;;;;;;;;;;;;;;;AAAA,OAAO,SAAS,eAAyB;AA0LhC;AA5EF,IAAM,cAAc,MAAM,cAAuC,MAAS;AAE1E,SAAS,iBAA8B;AAC5C,QAAM,UAAU,MAAM,WAAW,WAAW;AAC5C,MAAI,YAAY,QAAW;AACzB,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACA,SAAO;AACT;AAaO,IAAM,sBAAsB,CAAC;AAAA;AAAA;AAAA;AAAA,EAIlC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAwB;AACtB,QAAM,iBAAiB;AAAA,IACrB,MAAO,kCACF;AAAA,MACD,SAAS;AAAA,MACT,OAAO;AAAA,MACP,aAAa;AAAA,MACb,OAAO;AAAA,MACP,gBAAgB;AAAA,MAChB,oBAAoB;AAAA,IACtB,IACG;AAAA,IAEL,CAAC,MAAM;AAAA,EACT;AAEA,QAAM,gBAAgB;AAAA,IACpB,MAAO,kCACF;AAAA,MACD,UAAuB;AAAA,MACvB,WAAwB;AAAA,MACxB,iBAA8B;AAAA,MAC9B,UAAuB;AAAA,MACvB,cAA2B;AAAA,MAC3B,aAA0B;AAAA,MAC1B,UAAuB;AAAA,MACvB,gBAA6B;AAAA,MAC7B,gBAA6B;AAAA,IAC/B,IACG;AAAA,IAEL,CAAC,KAAK;AAAA,EACR;AAEA,QAAM,UAAU;AAAA,IACd,OAAO;AAAA,MACL,QAAQ;AAAA,MACR,OAAO;AAAA,MACP;AAAA,MACA;AAAA,IACF;AAAA,IACA,CAAC,gBAAgB,eAAe,MAAM,OAAO;AAAA,EAC/C;AAEA,SAAO,oBAAC,YAAY,UAAZ,EAAqB,OAAO,SAAU,UAAS;AACzD;","names":[]}
@@ -1,304 +0,0 @@
1
- import {
2
- RenderResultMessage
3
- } from "./chunk-6INMITFA.mjs";
4
- import {
5
- RenderTextMessage
6
- } from "./chunk-RU73BEZM.mjs";
7
- import {
8
- RenderActionExecutionMessage
9
- } from "./chunk-3E7HY2UN.mjs";
10
- import {
11
- RenderAgentStateMessage
12
- } from "./chunk-ZABXREBH.mjs";
13
- import {
14
- Suggestion,
15
- reloadSuggestions
16
- } from "./chunk-RJCZRKTV.mjs";
17
- import {
18
- CopilotDevConsole
19
- } from "./chunk-F2W5FD7L.mjs";
20
- import {
21
- Input
22
- } from "./chunk-EMQEEXUB.mjs";
23
- import {
24
- Messages
25
- } from "./chunk-7II4YL7R.mjs";
26
- import {
27
- ResponseButton
28
- } from "./chunk-3XAXY2Z3.mjs";
29
- import {
30
- ChatContext,
31
- ChatContextProvider
32
- } from "./chunk-CBBFRI3Q.mjs";
33
- import {
34
- __async,
35
- __spreadProps,
36
- __spreadValues
37
- } from "./chunk-MRXNTQOX.mjs";
38
-
39
- // src/components/chat/Chat.tsx
40
- import React, { useEffect, useRef, useState } from "react";
41
- import {
42
- useCopilotChat,
43
- useCopilotContext,
44
- useCopilotMessagesContext
45
- } from "@copilotkit/react-core";
46
- import { Role, TextMessage } from "@copilotkit/runtime-client-gql";
47
- import { randomId } from "@copilotkit/shared";
48
- import { runAgent, stopAgent } from "@copilotkit/react-core";
49
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
50
- function CopilotChat({
51
- instructions,
52
- onSubmitMessage,
53
- makeSystemMessage,
54
- showResponseButton = true,
55
- onInProgress,
56
- onStopGeneration,
57
- onReloadMessages,
58
- Messages: Messages2 = Messages,
59
- RenderTextMessage: RenderTextMessage2 = RenderTextMessage,
60
- RenderActionExecutionMessage: RenderActionExecutionMessage2 = RenderActionExecutionMessage,
61
- RenderAgentStateMessage: RenderAgentStateMessage2 = RenderAgentStateMessage,
62
- RenderResultMessage: RenderResultMessage2 = RenderResultMessage,
63
- Input: Input2 = Input,
64
- ResponseButton: ResponseButton2 = ResponseButton,
65
- className,
66
- icons,
67
- labels
68
- }) {
69
- const context = useCopilotContext();
70
- useEffect(() => {
71
- context.setChatInstructions(instructions || "");
72
- }, [instructions]);
73
- const {
74
- visibleMessages,
75
- isLoading,
76
- currentSuggestions,
77
- sendMessage,
78
- stopGeneration,
79
- reloadMessages
80
- } = useCopilotChatLogic(
81
- makeSystemMessage,
82
- onInProgress,
83
- onSubmitMessage,
84
- onStopGeneration,
85
- onReloadMessages
86
- );
87
- const chatContext = React.useContext(ChatContext);
88
- const isVisible = chatContext ? chatContext.open : true;
89
- return /* @__PURE__ */ jsxs(WrappedCopilotChat, { icons, labels, className, children: [
90
- /* @__PURE__ */ jsx(CopilotDevConsole, {}),
91
- /* @__PURE__ */ jsxs(
92
- Messages2,
93
- {
94
- RenderTextMessage: RenderTextMessage2,
95
- RenderActionExecutionMessage: RenderActionExecutionMessage2,
96
- RenderAgentStateMessage: RenderAgentStateMessage2,
97
- RenderResultMessage: RenderResultMessage2,
98
- messages: visibleMessages,
99
- inProgress: isLoading,
100
- children: [
101
- currentSuggestions.length > 0 && /* @__PURE__ */ jsxs("div", { children: [
102
- /* @__PURE__ */ jsx("h6", { children: "Suggested:" }),
103
- /* @__PURE__ */ jsx("div", { className: "suggestions", children: currentSuggestions.map((suggestion, index) => /* @__PURE__ */ jsx(
104
- Suggestion,
105
- {
106
- title: suggestion.title,
107
- message: suggestion.message,
108
- partial: suggestion.partial,
109
- className: suggestion.className,
110
- onClick: (message) => sendMessage(message)
111
- },
112
- index
113
- )) })
114
- ] }),
115
- showResponseButton && visibleMessages.length > 0 && /* @__PURE__ */ jsx(
116
- ResponseButton2,
117
- {
118
- onClick: isLoading ? stopGeneration : reloadMessages,
119
- inProgress: isLoading
120
- }
121
- )
122
- ]
123
- }
124
- ),
125
- /* @__PURE__ */ jsx(Input2, { inProgress: isLoading, onSend: sendMessage, isVisible })
126
- ] });
127
- }
128
- function WrappedCopilotChat({
129
- children,
130
- icons,
131
- labels,
132
- className
133
- }) {
134
- const chatContext = React.useContext(ChatContext);
135
- if (!chatContext) {
136
- return /* @__PURE__ */ jsx(ChatContextProvider, { icons, labels, open: true, setOpen: () => {
137
- }, children: /* @__PURE__ */ jsx("div", { className: `copilotKitChat ${className}`, children }) });
138
- }
139
- return /* @__PURE__ */ jsx(Fragment, { children });
140
- }
141
- var SUGGESTIONS_DEBOUNCE_TIMEOUT = 1e3;
142
- var useCopilotChatLogic = (makeSystemMessage, onInProgress, onSubmitMessage, onStopGeneration, onReloadMessages) => {
143
- var _a;
144
- const {
145
- visibleMessages,
146
- appendMessage,
147
- reloadMessages: defaultReloadMessages,
148
- stopGeneration: defaultStopGeneration,
149
- runChatCompletion,
150
- isLoading
151
- } = useCopilotChat({
152
- id: randomId(),
153
- makeSystemMessage
154
- });
155
- const [currentSuggestions, setCurrentSuggestions] = useState([]);
156
- const suggestionsAbortControllerRef = useRef(null);
157
- const debounceTimerRef = useRef();
158
- const abortSuggestions = () => {
159
- var _a2;
160
- (_a2 = suggestionsAbortControllerRef.current) == null ? void 0 : _a2.abort();
161
- suggestionsAbortControllerRef.current = null;
162
- };
163
- const generalContext = useCopilotContext();
164
- const messagesContext = useCopilotMessagesContext();
165
- const context = __spreadValues(__spreadValues({}, generalContext), messagesContext);
166
- useEffect(() => {
167
- onInProgress == null ? void 0 : onInProgress(isLoading);
168
- abortSuggestions();
169
- debounceTimerRef.current = setTimeout(
170
- () => {
171
- if (!isLoading && Object.keys(context.chatSuggestionConfiguration).length !== 0) {
172
- suggestionsAbortControllerRef.current = new AbortController();
173
- reloadSuggestions(
174
- context,
175
- context.chatSuggestionConfiguration,
176
- setCurrentSuggestions,
177
- suggestionsAbortControllerRef
178
- );
179
- }
180
- },
181
- currentSuggestions.length == 0 ? 0 : SUGGESTIONS_DEBOUNCE_TIMEOUT
182
- );
183
- return () => {
184
- clearTimeout(debounceTimerRef.current);
185
- };
186
- }, [
187
- isLoading,
188
- context.chatSuggestionConfiguration,
189
- // hackish way to trigger suggestions reload on reset, but better than moving suggestions to the
190
- // global context
191
- visibleMessages.length == 0
192
- ]);
193
- const sendMessage = (messageContent) => __async(void 0, null, function* () {
194
- abortSuggestions();
195
- setCurrentSuggestions([]);
196
- const message = new TextMessage({
197
- content: messageContent,
198
- role: Role.User
199
- });
200
- if (onSubmitMessage) {
201
- try {
202
- yield onSubmitMessage(messageContent);
203
- } catch (error) {
204
- console.error("Error in onSubmitMessage:", error);
205
- }
206
- }
207
- appendMessage(message);
208
- return message;
209
- });
210
- const messages = visibleMessages;
211
- const { setMessages } = messagesContext;
212
- const currentAgentName = (_a = generalContext.agentSession) == null ? void 0 : _a.agentName;
213
- const restartCurrentAgent = (hint) => __async(void 0, null, function* () {
214
- if (generalContext.agentSession) {
215
- generalContext.setAgentSession(__spreadProps(__spreadValues({}, generalContext.agentSession), {
216
- nodeName: void 0,
217
- threadId: void 0
218
- }));
219
- generalContext.setCoagentStates((prevAgentStates) => {
220
- return __spreadProps(__spreadValues({}, prevAgentStates), {
221
- [generalContext.agentSession.agentName]: __spreadProps(__spreadValues({}, prevAgentStates[generalContext.agentSession.agentName]), {
222
- threadId: void 0,
223
- nodeName: void 0,
224
- runId: void 0
225
- })
226
- });
227
- });
228
- }
229
- });
230
- const runCurrentAgent = (hint) => __async(void 0, null, function* () {
231
- if (generalContext.agentSession) {
232
- yield runAgent(
233
- generalContext.agentSession.agentName,
234
- context,
235
- appendMessage,
236
- runChatCompletion,
237
- hint
238
- );
239
- }
240
- });
241
- const stopCurrentAgent = () => {
242
- if (generalContext.agentSession) {
243
- stopAgent(generalContext.agentSession.agentName, context);
244
- }
245
- };
246
- const setCurrentAgentState = (state) => {
247
- if (generalContext.agentSession) {
248
- generalContext.setCoagentStates((prevAgentStates) => {
249
- return __spreadProps(__spreadValues({}, prevAgentStates), {
250
- [generalContext.agentSession.agentName]: {
251
- state
252
- }
253
- });
254
- });
255
- }
256
- };
257
- function stopGeneration() {
258
- if (onStopGeneration) {
259
- onStopGeneration({
260
- messages,
261
- setMessages,
262
- stopGeneration: defaultStopGeneration,
263
- currentAgentName,
264
- restartCurrentAgent,
265
- stopCurrentAgent,
266
- runCurrentAgent,
267
- setCurrentAgentState
268
- });
269
- } else {
270
- defaultStopGeneration();
271
- }
272
- }
273
- function reloadMessages() {
274
- if (onReloadMessages) {
275
- onReloadMessages({
276
- messages,
277
- setMessages,
278
- stopGeneration: defaultStopGeneration,
279
- currentAgentName,
280
- restartCurrentAgent,
281
- stopCurrentAgent,
282
- runCurrentAgent,
283
- setCurrentAgentState
284
- });
285
- } else {
286
- defaultReloadMessages();
287
- }
288
- }
289
- return {
290
- visibleMessages,
291
- isLoading,
292
- currentSuggestions,
293
- sendMessage,
294
- stopGeneration,
295
- reloadMessages
296
- };
297
- };
298
-
299
- export {
300
- CopilotChat,
301
- WrappedCopilotChat,
302
- useCopilotChatLogic
303
- };
304
- //# sourceMappingURL=chunk-DCNCY2PL.mjs.map
@@ -1 +0,0 @@
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 { 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 { InputProps, MessagesProps, RenderMessageProps, ResponseButtonProps } from \"./props\";\nimport { randomId } from \"@copilotkit/shared\";\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 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}: 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 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","_a"]}
@@ -1 +0,0 @@
1
- //# sourceMappingURL=chunk-EFZPSZWO.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,97 +0,0 @@
1
- import {
2
- Textarea_default
3
- } from "./chunk-YQFVRDNC.mjs";
4
- import {
5
- useChatContext
6
- } from "./chunk-CBBFRI3Q.mjs";
7
- import {
8
- usePushToTalk
9
- } from "./chunk-S5MBUNGN.mjs";
10
-
11
- // src/components/chat/Input.tsx
12
- import { useEffect, useRef, useState } from "react";
13
- import { useCopilotContext } from "@copilotkit/react-core";
14
- import { jsx, jsxs } from "react/jsx-runtime";
15
- var Input = ({ inProgress, onSend, isVisible = false }) => {
16
- const context = useChatContext();
17
- const copilotContext = useCopilotContext();
18
- const pushToTalkConfigured = copilotContext.copilotApiConfig.textToSpeechUrl !== void 0 && copilotContext.copilotApiConfig.transcribeAudioUrl !== void 0;
19
- const textareaRef = useRef(null);
20
- const handleDivClick = (event) => {
21
- var _a;
22
- if (event.target !== event.currentTarget)
23
- return;
24
- (_a = textareaRef.current) == null ? void 0 : _a.focus();
25
- };
26
- const [text, setText] = useState("");
27
- const send = () => {
28
- var _a;
29
- if (inProgress)
30
- return;
31
- onSend(text);
32
- setText("");
33
- (_a = textareaRef.current) == null ? void 0 : _a.focus();
34
- };
35
- useEffect(() => {
36
- var _a;
37
- if (isVisible) {
38
- (_a = textareaRef.current) == null ? void 0 : _a.focus();
39
- }
40
- }, [isVisible]);
41
- const { pushToTalkState, setPushToTalkState } = usePushToTalk({
42
- sendFunction: onSend,
43
- inProgress
44
- });
45
- const sendIcon = inProgress || pushToTalkState === "transcribing" ? context.icons.activityIcon : context.icons.sendIcon;
46
- const showPushToTalk = pushToTalkConfigured && (pushToTalkState === "idle" || pushToTalkState === "recording") && !inProgress;
47
- const canSend = () => {
48
- return !inProgress && text.trim().length > 0 && pushToTalkState === "idle";
49
- };
50
- const sendDisabled = !canSend();
51
- return /* @__PURE__ */ jsxs("div", { className: "copilotKitInput", onClick: handleDivClick, children: [
52
- /* @__PURE__ */ jsx(
53
- Textarea_default,
54
- {
55
- ref: textareaRef,
56
- placeholder: context.labels.placeholder,
57
- autoFocus: true,
58
- maxRows: 5,
59
- value: text,
60
- onChange: (event) => setText(event.target.value),
61
- onKeyDown: (event) => {
62
- if (event.key === "Enter" && !event.shiftKey) {
63
- event.preventDefault();
64
- if (canSend()) {
65
- send();
66
- }
67
- }
68
- }
69
- }
70
- ),
71
- /* @__PURE__ */ jsxs("div", { className: "copilotKitInputControls", children: [
72
- showPushToTalk && /* @__PURE__ */ jsx(
73
- "button",
74
- {
75
- onClick: () => setPushToTalkState(pushToTalkState === "idle" ? "recording" : "transcribing"),
76
- className: pushToTalkState === "recording" ? "copilotKitPushToTalkRecording" : "",
77
- children: context.icons.pushToTalkIcon
78
- }
79
- ),
80
- /* @__PURE__ */ jsx(
81
- "button",
82
- {
83
- disabled: sendDisabled,
84
- onClick: send,
85
- "data-copilotkit-in-progress": !!inProgress,
86
- "data-testid": inProgress ? "copilot-chat-request-in-progress" : void 0,
87
- children: sendIcon
88
- }
89
- )
90
- ] })
91
- ] });
92
- };
93
-
94
- export {
95
- Input
96
- };
97
- //# sourceMappingURL=chunk-EMQEEXUB.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/chat/Input.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from \"react\";\nimport { InputProps } from \"./props\";\nimport { useChatContext } from \"./ChatContext\";\nimport AutoResizingTextarea from \"./Textarea\";\nimport { usePushToTalk } from \"../../hooks/use-push-to-talk\";\nimport { useCopilotContext } from \"@copilotkit/react-core\";\n\nexport const Input = ({ inProgress, onSend, isVisible = false }: InputProps) => {\n const context = useChatContext();\n const copilotContext = useCopilotContext();\n\n const pushToTalkConfigured =\n copilotContext.copilotApiConfig.textToSpeechUrl !== undefined &&\n copilotContext.copilotApiConfig.transcribeAudioUrl !== undefined;\n\n const textareaRef = useRef<HTMLTextAreaElement>(null);\n\n const handleDivClick = (event: React.MouseEvent<HTMLDivElement>) => {\n // Check if the clicked element is not the textarea itself\n if (event.target !== event.currentTarget) return;\n\n textareaRef.current?.focus();\n };\n\n const [text, setText] = useState(\"\");\n const send = () => {\n if (inProgress) return;\n onSend(text);\n setText(\"\");\n\n textareaRef.current?.focus();\n };\n\n useEffect(() => {\n if (isVisible) {\n textareaRef.current?.focus();\n }\n }, [isVisible]);\n\n const { pushToTalkState, setPushToTalkState } = usePushToTalk({\n sendFunction: onSend,\n inProgress,\n });\n\n const sendIcon =\n inProgress || pushToTalkState === \"transcribing\"\n ? context.icons.activityIcon\n : context.icons.sendIcon;\n const showPushToTalk =\n pushToTalkConfigured &&\n (pushToTalkState === \"idle\" || pushToTalkState === \"recording\") &&\n !inProgress;\n\n const canSend = () => {\n return !inProgress && text.trim().length > 0 && pushToTalkState === \"idle\";\n };\n\n const sendDisabled = !canSend();\n\n return (\n <div className=\"copilotKitInput\" onClick={handleDivClick}>\n <AutoResizingTextarea\n ref={textareaRef}\n placeholder={context.labels.placeholder}\n autoFocus={true}\n maxRows={5}\n value={text}\n onChange={(event) => setText(event.target.value)}\n onKeyDown={(event) => {\n if (event.key === \"Enter\" && !event.shiftKey) {\n event.preventDefault();\n if (canSend()) {\n send();\n }\n }\n }}\n />\n <div className=\"copilotKitInputControls\">\n {showPushToTalk && (\n <button\n onClick={() =>\n setPushToTalkState(pushToTalkState === \"idle\" ? \"recording\" : \"transcribing\")\n }\n className={pushToTalkState === \"recording\" ? \"copilotKitPushToTalkRecording\" : \"\"}\n >\n {context.icons.pushToTalkIcon}\n </button>\n )}\n <button\n disabled={sendDisabled}\n onClick={send}\n data-copilotkit-in-progress={!!inProgress}\n data-testid={inProgress ? \"copilot-chat-request-in-progress\" : undefined}\n >\n {sendIcon}\n </button>\n </div>\n </div>\n );\n};\n"],"mappings":";;;;;;;;;;;AAAA,SAAgB,WAAW,QAAQ,gBAAgB;AAKnD,SAAS,yBAAyB;AAwD5B,cAgBA,YAhBA;AAtDC,IAAM,QAAQ,CAAC,EAAE,YAAY,QAAQ,YAAY,MAAM,MAAkB;AAC9E,QAAM,UAAU,eAAe;AAC/B,QAAM,iBAAiB,kBAAkB;AAEzC,QAAM,uBACJ,eAAe,iBAAiB,oBAAoB,UACpD,eAAe,iBAAiB,uBAAuB;AAEzD,QAAM,cAAc,OAA4B,IAAI;AAEpD,QAAM,iBAAiB,CAAC,UAA4C;AAjBtE;AAmBI,QAAI,MAAM,WAAW,MAAM;AAAe;AAE1C,sBAAY,YAAZ,mBAAqB;AAAA,EACvB;AAEA,QAAM,CAAC,MAAM,OAAO,IAAI,SAAS,EAAE;AACnC,QAAM,OAAO,MAAM;AAzBrB;AA0BI,QAAI;AAAY;AAChB,WAAO,IAAI;AACX,YAAQ,EAAE;AAEV,sBAAY,YAAZ,mBAAqB;AAAA,EACvB;AAEA,YAAU,MAAM;AAjClB;AAkCI,QAAI,WAAW;AACb,wBAAY,YAAZ,mBAAqB;AAAA,IACvB;AAAA,EACF,GAAG,CAAC,SAAS,CAAC;AAEd,QAAM,EAAE,iBAAiB,mBAAmB,IAAI,cAAc;AAAA,IAC5D,cAAc;AAAA,IACd;AAAA,EACF,CAAC;AAED,QAAM,WACJ,cAAc,oBAAoB,iBAC9B,QAAQ,MAAM,eACd,QAAQ,MAAM;AACpB,QAAM,iBACJ,yBACC,oBAAoB,UAAU,oBAAoB,gBACnD,CAAC;AAEH,QAAM,UAAU,MAAM;AACpB,WAAO,CAAC,cAAc,KAAK,KAAK,EAAE,SAAS,KAAK,oBAAoB;AAAA,EACtE;AAEA,QAAM,eAAe,CAAC,QAAQ;AAE9B,SACE,qBAAC,SAAI,WAAU,mBAAkB,SAAS,gBACxC;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,KAAK;AAAA,QACL,aAAa,QAAQ,OAAO;AAAA,QAC5B,WAAW;AAAA,QACX,SAAS;AAAA,QACT,OAAO;AAAA,QACP,UAAU,CAAC,UAAU,QAAQ,MAAM,OAAO,KAAK;AAAA,QAC/C,WAAW,CAAC,UAAU;AACpB,cAAI,MAAM,QAAQ,WAAW,CAAC,MAAM,UAAU;AAC5C,kBAAM,eAAe;AACrB,gBAAI,QAAQ,GAAG;AACb,mBAAK;AAAA,YACP;AAAA,UACF;AAAA,QACF;AAAA;AAAA,IACF;AAAA,IACA,qBAAC,SAAI,WAAU,2BACZ;AAAA,wBACC;AAAA,QAAC;AAAA;AAAA,UACC,SAAS,MACP,mBAAmB,oBAAoB,SAAS,cAAc,cAAc;AAAA,UAE9E,WAAW,oBAAoB,cAAc,kCAAkC;AAAA,UAE9E,kBAAQ,MAAM;AAAA;AAAA,MACjB;AAAA,MAEF;AAAA,QAAC;AAAA;AAAA,UACC,UAAU;AAAA,UACV,SAAS;AAAA,UACT,+BAA6B,CAAC,CAAC;AAAA,UAC/B,eAAa,aAAa,qCAAqC;AAAA,UAE9D;AAAA;AAAA,MACH;AAAA,OACF;AAAA,KACF;AAEJ;","names":[]}