@copilotkit/react-ui 1.5.1-next.3 → 1.5.1-next.4

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 +12 -2
  2. package/package.json +4 -4
  3. package/dist/chunk-2B57NCBA.mjs +0 -232
  4. package/dist/chunk-2B57NCBA.mjs.map +0 -1
  5. package/dist/chunk-3XAXY2Z3.mjs +0 -18
  6. package/dist/chunk-3XAXY2Z3.mjs.map +0 -1
  7. package/dist/chunk-4FIGRRFS.mjs +0 -146
  8. package/dist/chunk-4FIGRRFS.mjs.map +0 -1
  9. package/dist/chunk-4LUMV4YO.mjs +0 -92
  10. package/dist/chunk-4LUMV4YO.mjs.map +0 -1
  11. package/dist/chunk-4T3TMQNJ.mjs +0 -45
  12. package/dist/chunk-4T3TMQNJ.mjs.map +0 -1
  13. package/dist/chunk-54JAUBUJ.mjs +0 -26
  14. package/dist/chunk-54JAUBUJ.mjs.map +0 -1
  15. package/dist/chunk-63ZKP62F.mjs +0 -91
  16. package/dist/chunk-63ZKP62F.mjs.map +0 -1
  17. package/dist/chunk-6INMITFA.mjs +0 -18
  18. package/dist/chunk-6INMITFA.mjs.map +0 -1
  19. package/dist/chunk-CBBFRI3Q.mjs +0 -81
  20. package/dist/chunk-CBBFRI3Q.mjs.map +0 -1
  21. package/dist/chunk-DHGDU64D.mjs +0 -201
  22. package/dist/chunk-DHGDU64D.mjs.map +0 -1
  23. package/dist/chunk-EFZPSZWO.mjs +0 -1
  24. package/dist/chunk-EFZPSZWO.mjs.map +0 -1
  25. package/dist/chunk-FZC7X5PK.mjs +0 -262
  26. package/dist/chunk-FZC7X5PK.mjs.map +0 -1
  27. package/dist/chunk-IU3WTXLQ.mjs +0 -1
  28. package/dist/chunk-IU3WTXLQ.mjs.map +0 -1
  29. package/dist/chunk-KXE2JCUH.mjs +0 -1
  30. package/dist/chunk-KXE2JCUH.mjs.map +0 -1
  31. package/dist/chunk-MMVDU6DF.mjs +0 -1
  32. package/dist/chunk-MMVDU6DF.mjs.map +0 -1
  33. package/dist/chunk-MRFF7GSQ.mjs +0 -1
  34. package/dist/chunk-MRFF7GSQ.mjs.map +0 -1
  35. package/dist/chunk-MRXNTQOX.mjs +0 -59
  36. package/dist/chunk-MRXNTQOX.mjs.map +0 -1
  37. package/dist/chunk-OMTPWC7T.mjs +0 -84
  38. package/dist/chunk-OMTPWC7T.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-RJCZRKTV.mjs +0 -106
  42. package/dist/chunk-RJCZRKTV.mjs.map +0 -1
  43. package/dist/chunk-RKPANT3F.mjs +0 -174
  44. package/dist/chunk-RKPANT3F.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-TKFQ7VQR.mjs +0 -30
  54. package/dist/chunk-TKFQ7VQR.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-V7W6IM2V.mjs +0 -1
  58. package/dist/chunk-V7W6IM2V.mjs.map +0 -1
  59. package/dist/chunk-VEC45H6Q.mjs +0 -18
  60. package/dist/chunk-VEC45H6Q.mjs.map +0 -1
  61. package/dist/chunk-VYKDFXGS.mjs +0 -21
  62. package/dist/chunk-VYKDFXGS.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-WOUWNTAV.mjs +0 -72
  66. package/dist/chunk-WOUWNTAV.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 -103
  83. package/dist/components/chat/Chat.js +0 -2219
  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 -319
  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 -2414
  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 -2425
  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 -2434
  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 -2449
  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 -130
  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 -620
  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 -620
  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 -6
  213. package/dist/components/help-modal/icons.js +0 -70
  214. package/dist/components/help-modal/icons.js.map +0 -1
  215. package/dist/components/help-modal/icons.mjs +0 -10
  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 -135
  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 -133
  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 -2453
  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 -2481
  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,26 +0,0 @@
1
- // src/hooks/use-copy-to-clipboard.tsx
2
- import * as React from "react";
3
- function useCopyToClipboard({ timeout = 2e3 }) {
4
- const [isCopied, setIsCopied] = React.useState(false);
5
- const copyToClipboard = (value) => {
6
- var _a;
7
- if (typeof window === "undefined" || !((_a = navigator.clipboard) == null ? void 0 : _a.writeText)) {
8
- return;
9
- }
10
- if (!value) {
11
- return;
12
- }
13
- navigator.clipboard.writeText(value).then(() => {
14
- setIsCopied(true);
15
- setTimeout(() => {
16
- setIsCopied(false);
17
- }, timeout);
18
- });
19
- };
20
- return { isCopied, copyToClipboard };
21
- }
22
-
23
- export {
24
- useCopyToClipboard
25
- };
26
- //# sourceMappingURL=chunk-54JAUBUJ.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/hooks/use-copy-to-clipboard.tsx"],"sourcesContent":["import * as React from \"react\";\n\nexport interface useCopyToClipboardProps {\n timeout?: number;\n}\n\nexport function useCopyToClipboard({ timeout = 2000 }: useCopyToClipboardProps) {\n const [isCopied, setIsCopied] = React.useState<Boolean>(false);\n\n const copyToClipboard = (value: string) => {\n if (typeof window === \"undefined\" || !navigator.clipboard?.writeText) {\n return;\n }\n\n if (!value) {\n return;\n }\n\n navigator.clipboard.writeText(value).then(() => {\n setIsCopied(true);\n\n setTimeout(() => {\n setIsCopied(false);\n }, timeout);\n });\n };\n\n return { isCopied, copyToClipboard };\n}\n"],"mappings":";AAAA,YAAY,WAAW;AAMhB,SAAS,mBAAmB,EAAE,UAAU,IAAK,GAA4B;AAC9E,QAAM,CAAC,UAAU,WAAW,IAAU,eAAkB,KAAK;AAE7D,QAAM,kBAAkB,CAAC,UAAkB;AAT7C;AAUI,QAAI,OAAO,WAAW,eAAe,GAAC,eAAU,cAAV,mBAAqB,YAAW;AACpE;AAAA,IACF;AAEA,QAAI,CAAC,OAAO;AACV;AAAA,IACF;AAEA,cAAU,UAAU,UAAU,KAAK,EAAE,KAAK,MAAM;AAC9C,kBAAY,IAAI;AAEhB,iBAAW,MAAM;AACf,oBAAY,KAAK;AAAA,MACnB,GAAG,OAAO;AAAA,IACZ,CAAC;AAAA,EACH;AAEA,SAAO,EAAE,UAAU,gBAAgB;AACrC;","names":[]}
@@ -1,91 +0,0 @@
1
- import {
2
- Window
3
- } from "./chunk-YAGE7RCE.mjs";
4
- import {
5
- Header
6
- } from "./chunk-VEC45H6Q.mjs";
7
- import {
8
- Button
9
- } from "./chunk-RQNJNK2W.mjs";
10
- import {
11
- CopilotChat
12
- } from "./chunk-DHGDU64D.mjs";
13
- import {
14
- Input
15
- } from "./chunk-4LUMV4YO.mjs";
16
- import {
17
- Messages
18
- } from "./chunk-RKPANT3F.mjs";
19
- import {
20
- ResponseButton
21
- } from "./chunk-3XAXY2Z3.mjs";
22
- import {
23
- ChatContextProvider
24
- } from "./chunk-CBBFRI3Q.mjs";
25
-
26
- // src/components/chat/Modal.tsx
27
- import React from "react";
28
- import { jsx, jsxs } from "react/jsx-runtime";
29
- var CopilotModal = ({
30
- instructions,
31
- defaultOpen = false,
32
- clickOutsideToClose = true,
33
- hitEscapeToClose = true,
34
- onSetOpen,
35
- onSubmitMessage,
36
- shortcut = "/",
37
- icons,
38
- labels,
39
- makeSystemMessage,
40
- showResponseButton = true,
41
- onInProgress,
42
- Window: Window2 = Window,
43
- Button: Button2 = Button,
44
- Header: Header2 = Header,
45
- Messages: Messages2 = Messages,
46
- Input: Input2 = Input,
47
- ResponseButton: ResponseButton2 = ResponseButton,
48
- className,
49
- children
50
- }) => {
51
- const [openState, setOpenState] = React.useState(defaultOpen);
52
- const setOpen = (open) => {
53
- onSetOpen == null ? void 0 : onSetOpen(open);
54
- setOpenState(open);
55
- };
56
- return /* @__PURE__ */ jsxs(ChatContextProvider, { icons, labels, open: openState, setOpen, children: [
57
- children,
58
- /* @__PURE__ */ jsxs("div", { className, children: [
59
- /* @__PURE__ */ jsx(Button2, {}),
60
- /* @__PURE__ */ jsxs(
61
- Window2,
62
- {
63
- clickOutsideToClose,
64
- shortcut,
65
- hitEscapeToClose,
66
- children: [
67
- /* @__PURE__ */ jsx(Header2, {}),
68
- /* @__PURE__ */ jsx(
69
- CopilotChat,
70
- {
71
- instructions,
72
- onSubmitMessage,
73
- makeSystemMessage,
74
- showResponseButton,
75
- onInProgress,
76
- Messages: Messages2,
77
- Input: Input2,
78
- ResponseButton: ResponseButton2
79
- }
80
- )
81
- ]
82
- }
83
- )
84
- ] })
85
- ] });
86
- };
87
-
88
- export {
89
- CopilotModal
90
- };
91
- //# sourceMappingURL=chunk-63ZKP62F.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/chat/Modal.tsx"],"sourcesContent":["import React from \"react\";\nimport { ChatContextProvider } from \"./ChatContext\";\nimport { ButtonProps, HeaderProps, WindowProps } from \"./props\";\nimport { Window as DefaultWindow } from \"./Window\";\nimport { Button as DefaultButton } from \"./Button\";\nimport { Header as DefaultHeader } from \"./Header\";\nimport { Messages as DefaultMessages } from \"./Messages\";\nimport { Input as DefaultInput } from \"./Input\";\nimport { ResponseButton as DefaultResponseButton } from \"./Response\";\nimport { CopilotChat, CopilotChatProps } from \"./Chat\";\n\nexport interface CopilotModalProps extends CopilotChatProps {\n /**\n * Whether the chat window should be open by default.\n * @default false\n */\n defaultOpen?: boolean;\n\n /**\n * If the chat window should close when the user clicks outside of it.\n * @default true\n */\n clickOutsideToClose?: boolean;\n\n /**\n * If the chat window should close when the user hits the Escape key.\n * @default true\n */\n hitEscapeToClose?: boolean;\n\n /**\n * The shortcut key to open the chat window.\n * Uses Command-[shortcut] on a Mac and Ctrl-[shortcut] on Windows.\n * @default '/'\n */\n shortcut?: string;\n\n /**\n * A callback that gets called when the chat window opens or closes.\n */\n onSetOpen?: (open: boolean) => void;\n\n /**\n * A custom Window component to use instead of the default.\n */\n Window?: React.ComponentType<WindowProps>;\n\n /**\n * A custom Button component to use instead of the default.\n */\n Button?: React.ComponentType<ButtonProps>;\n\n /**\n * A custom Header component to use instead of the default.\n */\n Header?: React.ComponentType<HeaderProps>;\n}\n\nexport const CopilotModal = ({\n instructions,\n defaultOpen = false,\n clickOutsideToClose = true,\n hitEscapeToClose = true,\n onSetOpen,\n onSubmitMessage,\n shortcut = \"/\",\n icons,\n labels,\n makeSystemMessage,\n showResponseButton = true,\n onInProgress,\n Window = DefaultWindow,\n Button = DefaultButton,\n Header = DefaultHeader,\n Messages = DefaultMessages,\n Input = DefaultInput,\n ResponseButton = DefaultResponseButton,\n className,\n children,\n}: CopilotModalProps) => {\n const [openState, setOpenState] = React.useState(defaultOpen);\n\n const setOpen = (open: boolean) => {\n onSetOpen?.(open);\n setOpenState(open);\n };\n\n return (\n <ChatContextProvider icons={icons} labels={labels} open={openState} setOpen={setOpen}>\n {children}\n <div className={className}>\n <Button></Button>\n <Window\n clickOutsideToClose={clickOutsideToClose}\n shortcut={shortcut}\n hitEscapeToClose={hitEscapeToClose}\n >\n <Header />\n <CopilotChat\n instructions={instructions}\n onSubmitMessage={onSubmitMessage}\n makeSystemMessage={makeSystemMessage}\n showResponseButton={showResponseButton}\n onInProgress={onInProgress}\n Messages={Messages}\n Input={Input}\n ResponseButton={ResponseButton}\n />\n </Window>\n </div>\n </ChatContextProvider>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,WAAW;AA2FV,cACA,YADA;AAjCD,IAAM,eAAe,CAAC;AAAA,EAC3B;AAAA,EACA,cAAc;AAAA,EACd,sBAAsB;AAAA,EACtB,mBAAmB;AAAA,EACnB;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX;AAAA,EACA;AAAA,EACA;AAAA,EACA,qBAAqB;AAAA,EACrB;AAAA,EACA,QAAAA,UAAS;AAAA,EACT,QAAAC,UAAS;AAAA,EACT,QAAAC,UAAS;AAAA,EACT,UAAAC,YAAW;AAAA,EACX,OAAAC,SAAQ;AAAA,EACR,gBAAAC,kBAAiB;AAAA,EACjB;AAAA,EACA;AACF,MAAyB;AACvB,QAAM,CAAC,WAAW,YAAY,IAAI,MAAM,SAAS,WAAW;AAE5D,QAAM,UAAU,CAAC,SAAkB;AACjC,2CAAY;AACZ,iBAAa,IAAI;AAAA,EACnB;AAEA,SACE,qBAAC,uBAAoB,OAAc,QAAgB,MAAM,WAAW,SACjE;AAAA;AAAA,IACD,qBAAC,SAAI,WACH;AAAA,0BAACJ,SAAA,EAAO;AAAA,MACR;AAAA,QAACD;AAAA,QAAA;AAAA,UACC;AAAA,UACA;AAAA,UACA;AAAA,UAEA;AAAA,gCAACE,SAAA,EAAO;AAAA,YACR;AAAA,cAAC;AAAA;AAAA,gBACC;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA,UAAUC;AAAA,gBACV,OAAOC;AAAA,gBACP,gBAAgBC;AAAA;AAAA,YAClB;AAAA;AAAA;AAAA,MACF;AAAA,OACF;AAAA,KACF;AAEJ;","names":["Window","Button","Header","Messages","Input","ResponseButton"]}
@@ -1,18 +0,0 @@
1
- import {
2
- useChatContext
3
- } from "./chunk-CBBFRI3Q.mjs";
4
-
5
- // src/components/chat/messages/RenderResultMessage.tsx
6
- import { jsx } from "react/jsx-runtime";
7
- function RenderResultMessage(props) {
8
- const { message, inProgress, index, isCurrentMessage } = props;
9
- const { icons } = useChatContext();
10
- if (message.isResultMessage() && inProgress && isCurrentMessage) {
11
- return /* @__PURE__ */ jsx("div", { className: `copilotKitMessage copilotKitAssistantMessage`, children: icons.spinnerIcon }, index);
12
- }
13
- }
14
-
15
- export {
16
- RenderResultMessage
17
- };
18
- //# sourceMappingURL=chunk-6INMITFA.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/chat/messages/RenderResultMessage.tsx"],"sourcesContent":["import { ResultMessage } from \"@copilotkit/runtime-client-gql\";\nimport { RenderMessageProps } from \"../props\";\nimport { useChatContext } from \"../ChatContext\";\n\nexport function RenderResultMessage(props: RenderMessageProps) {\n const { message, inProgress, index, isCurrentMessage } = props;\n const { icons } = useChatContext();\n if (message.isResultMessage() && inProgress && isCurrentMessage) {\n return (\n <div key={index} className={`copilotKitMessage copilotKitAssistantMessage`}>\n {icons.spinnerIcon}\n </div>\n );\n }\n}\n"],"mappings":";;;;;AASM;AALC,SAAS,oBAAoB,OAA2B;AAC7D,QAAM,EAAE,SAAS,YAAY,OAAO,iBAAiB,IAAI;AACzD,QAAM,EAAE,MAAM,IAAI,eAAe;AACjC,MAAI,QAAQ,gBAAgB,KAAK,cAAc,kBAAkB;AAC/D,WACE,oBAAC,SAAgB,WAAW,gDACzB,gBAAM,eADC,KAEV;AAAA,EAEJ;AACF;","names":[]}
@@ -1,81 +0,0 @@
1
- import {
2
- ActivityIcon,
3
- CloseIcon,
4
- HeaderCloseIcon,
5
- OpenIcon,
6
- PushToTalkIcon,
7
- RegenerateIcon,
8
- SendIcon,
9
- SpinnerIcon,
10
- StopIcon
11
- } from "./chunk-FZC7X5PK.mjs";
12
- import {
13
- __spreadValues
14
- } from "./chunk-MRXNTQOX.mjs";
15
-
16
- // src/components/chat/ChatContext.tsx
17
- import React, { useMemo } from "react";
18
- import { jsx } from "react/jsx-runtime";
19
- var ChatContext = React.createContext(void 0);
20
- function useChatContext() {
21
- const context = React.useContext(ChatContext);
22
- if (context === void 0) {
23
- throw new Error(
24
- "Context not found. Did you forget to wrap your app in a <ChatContextProvider> component?"
25
- );
26
- }
27
- return context;
28
- }
29
- var ChatContextProvider = ({
30
- // temperature,
31
- // instructions,
32
- // maxFeedback,
33
- labels,
34
- icons,
35
- children,
36
- open,
37
- setOpen
38
- }) => {
39
- const memoizedLabels = useMemo(
40
- () => __spreadValues(__spreadValues({}, {
41
- initial: "",
42
- title: "CopilotKit",
43
- placeholder: "Type a message...",
44
- error: "\u274C An error occurred. Please try again.",
45
- stopGenerating: "Stop generating",
46
- regenerateResponse: "Regenerate response"
47
- }), labels),
48
- [labels]
49
- );
50
- const memoizedIcons = useMemo(
51
- () => __spreadValues(__spreadValues({}, {
52
- openIcon: OpenIcon,
53
- closeIcon: CloseIcon,
54
- headerCloseIcon: HeaderCloseIcon,
55
- sendIcon: SendIcon,
56
- activityIcon: ActivityIcon,
57
- spinnerIcon: SpinnerIcon,
58
- stopIcon: StopIcon,
59
- regenerateIcon: RegenerateIcon,
60
- pushToTalkIcon: PushToTalkIcon
61
- }), icons),
62
- [icons]
63
- );
64
- const context = useMemo(
65
- () => ({
66
- labels: memoizedLabels,
67
- icons: memoizedIcons,
68
- open,
69
- setOpen
70
- }),
71
- [memoizedLabels, memoizedIcons, open, setOpen]
72
- );
73
- return /* @__PURE__ */ jsx(ChatContext.Provider, { value: context, children });
74
- };
75
-
76
- export {
77
- ChatContext,
78
- useChatContext,
79
- ChatContextProvider
80
- };
81
- //# sourceMappingURL=chunk-CBBFRI3Q.mjs.map
@@ -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,201 +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-OMTPWC7T.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-2B57NCBA.mjs";
20
- import {
21
- Input
22
- } from "./chunk-4LUMV4YO.mjs";
23
- import {
24
- Messages
25
- } from "./chunk-RKPANT3F.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
- __spreadValues
36
- } from "./chunk-MRXNTQOX.mjs";
37
-
38
- // src/components/chat/Chat.tsx
39
- import React, { useEffect, useRef, useState } from "react";
40
- import {
41
- useCopilotChat,
42
- useCopilotContext,
43
- useCopilotMessagesContext
44
- } from "@copilotkit/react-core";
45
- import { Role, TextMessage } from "@copilotkit/runtime-client-gql";
46
- import { randomId } from "@copilotkit/shared";
47
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
48
- function CopilotChat({
49
- instructions,
50
- onSubmitMessage,
51
- makeSystemMessage,
52
- showResponseButton = true,
53
- onInProgress,
54
- Messages: Messages2 = Messages,
55
- RenderTextMessage: RenderTextMessage2 = RenderTextMessage,
56
- RenderActionExecutionMessage: RenderActionExecutionMessage2 = RenderActionExecutionMessage,
57
- RenderAgentStateMessage: RenderAgentStateMessage2 = RenderAgentStateMessage,
58
- RenderResultMessage: RenderResultMessage2 = RenderResultMessage,
59
- Input: Input2 = Input,
60
- ResponseButton: ResponseButton2 = ResponseButton,
61
- className,
62
- icons,
63
- labels
64
- }) {
65
- const context = useCopilotContext();
66
- useEffect(() => {
67
- context.setChatInstructions(instructions || "");
68
- }, [instructions]);
69
- const {
70
- visibleMessages,
71
- isLoading,
72
- currentSuggestions,
73
- sendMessage,
74
- stopGeneration,
75
- reloadMessages
76
- } = useCopilotChatLogic(makeSystemMessage, onInProgress, onSubmitMessage);
77
- const chatContext = React.useContext(ChatContext);
78
- const isVisible = chatContext ? chatContext.open : true;
79
- return /* @__PURE__ */ jsxs(WrappedCopilotChat, { icons, labels, className, children: [
80
- /* @__PURE__ */ jsx(CopilotDevConsole, {}),
81
- /* @__PURE__ */ jsxs(
82
- Messages2,
83
- {
84
- RenderTextMessage: RenderTextMessage2,
85
- RenderActionExecutionMessage: RenderActionExecutionMessage2,
86
- RenderAgentStateMessage: RenderAgentStateMessage2,
87
- RenderResultMessage: RenderResultMessage2,
88
- messages: visibleMessages,
89
- inProgress: isLoading,
90
- children: [
91
- currentSuggestions.length > 0 && /* @__PURE__ */ jsxs("div", { children: [
92
- /* @__PURE__ */ jsx("h6", { children: "Suggested:" }),
93
- /* @__PURE__ */ jsx("div", { className: "suggestions", children: currentSuggestions.map((suggestion, index) => /* @__PURE__ */ jsx(
94
- Suggestion,
95
- {
96
- title: suggestion.title,
97
- message: suggestion.message,
98
- partial: suggestion.partial,
99
- className: suggestion.className,
100
- onClick: (message) => sendMessage(message)
101
- },
102
- index
103
- )) })
104
- ] }),
105
- showResponseButton && visibleMessages.length > 0 && /* @__PURE__ */ jsx(
106
- ResponseButton2,
107
- {
108
- onClick: isLoading ? stopGeneration : reloadMessages,
109
- inProgress: isLoading
110
- }
111
- )
112
- ]
113
- }
114
- ),
115
- /* @__PURE__ */ jsx(Input2, { inProgress: isLoading, onSend: sendMessage, isVisible })
116
- ] });
117
- }
118
- function WrappedCopilotChat({
119
- children,
120
- icons,
121
- labels,
122
- className
123
- }) {
124
- const chatContext = React.useContext(ChatContext);
125
- if (!chatContext) {
126
- return /* @__PURE__ */ jsx(ChatContextProvider, { icons, labels, open: true, setOpen: () => {
127
- }, children: /* @__PURE__ */ jsx("div", { className: `copilotKitChat ${className}`, children }) });
128
- }
129
- return /* @__PURE__ */ jsx(Fragment, { children });
130
- }
131
- var SUGGESTIONS_DEBOUNCE_TIMEOUT = 1e3;
132
- var useCopilotChatLogic = (makeSystemMessage, onInProgress, onSubmitMessage) => {
133
- const { visibleMessages, appendMessage, reloadMessages, stopGeneration, isLoading } = useCopilotChat({
134
- id: randomId(),
135
- makeSystemMessage
136
- });
137
- const [currentSuggestions, setCurrentSuggestions] = useState([]);
138
- const suggestionsAbortControllerRef = useRef(null);
139
- const debounceTimerRef = useRef();
140
- const abortSuggestions = () => {
141
- var _a;
142
- (_a = suggestionsAbortControllerRef.current) == null ? void 0 : _a.abort();
143
- suggestionsAbortControllerRef.current = null;
144
- };
145
- const generalContext = useCopilotContext();
146
- const messagesContext = useCopilotMessagesContext();
147
- const context = __spreadValues(__spreadValues({}, generalContext), messagesContext);
148
- useEffect(() => {
149
- onInProgress == null ? void 0 : onInProgress(isLoading);
150
- abortSuggestions();
151
- debounceTimerRef.current = setTimeout(
152
- () => {
153
- if (!isLoading && Object.keys(context.chatSuggestionConfiguration).length !== 0) {
154
- suggestionsAbortControllerRef.current = new AbortController();
155
- reloadSuggestions(
156
- context,
157
- context.chatSuggestionConfiguration,
158
- setCurrentSuggestions,
159
- suggestionsAbortControllerRef
160
- );
161
- }
162
- },
163
- currentSuggestions.length == 0 ? 0 : SUGGESTIONS_DEBOUNCE_TIMEOUT
164
- );
165
- return () => {
166
- clearTimeout(debounceTimerRef.current);
167
- };
168
- }, [isLoading, context.chatSuggestionConfiguration]);
169
- const sendMessage = (messageContent) => __async(void 0, null, function* () {
170
- abortSuggestions();
171
- setCurrentSuggestions([]);
172
- const message = new TextMessage({
173
- content: messageContent,
174
- role: Role.User
175
- });
176
- if (onSubmitMessage) {
177
- try {
178
- yield onSubmitMessage(messageContent);
179
- } catch (error) {
180
- console.error("Error in onSubmitMessage:", error);
181
- }
182
- }
183
- appendMessage(message);
184
- return message;
185
- });
186
- return {
187
- visibleMessages,
188
- isLoading,
189
- currentSuggestions,
190
- sendMessage,
191
- stopGeneration,
192
- reloadMessages
193
- };
194
- };
195
-
196
- export {
197
- CopilotChat,
198
- WrappedCopilotChat,
199
- useCopilotChatLogic
200
- };
201
- //# sourceMappingURL=chunk-DHGDU64D.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\";\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 * 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\nexport function CopilotChat({\n instructions,\n onSubmitMessage,\n makeSystemMessage,\n showResponseButton = true,\n onInProgress,\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(makeSystemMessage, onInProgress, onSubmitMessage);\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) => {\n const { visibleMessages, appendMessage, reloadMessages, stopGeneration, 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 }, [isLoading, context.chatSuggestionConfiguration]);\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 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"]}
@@ -1 +0,0 @@
1
- //# sourceMappingURL=chunk-EFZPSZWO.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}