@copilotkit/react-core 2.0.0-next.1 → 2.0.0-rc.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 (538) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +18 -12
  3. package/dist/MarkdownRendererContext-B4Us6mwL.d.cts +954 -0
  4. package/dist/MarkdownRendererContext-B4Us6mwL.d.cts.map +1 -0
  5. package/dist/MarkdownRendererContext-CRKFzsEB.d.mts +954 -0
  6. package/dist/MarkdownRendererContext-CRKFzsEB.d.mts.map +1 -0
  7. package/dist/MarkdownSurfaces-C2XZISKn.cjs +3964 -0
  8. package/dist/MarkdownSurfaces-C2XZISKn.cjs.map +1 -0
  9. package/dist/MarkdownSurfaces-ChSlVYOk.mjs +3655 -0
  10. package/dist/MarkdownSurfaces-ChSlVYOk.mjs.map +1 -0
  11. package/dist/context.cjs +144 -0
  12. package/dist/context.cjs.map +1 -0
  13. package/dist/context.d.cts +166 -0
  14. package/dist/context.d.cts.map +1 -0
  15. package/dist/context.d.mts +166 -0
  16. package/dist/context.d.mts.map +1 -0
  17. package/dist/context.mjs +136 -0
  18. package/dist/context.mjs.map +1 -0
  19. package/dist/generative-ui.cjs +8151 -0
  20. package/dist/generative-ui.cjs.map +1 -0
  21. package/dist/generative-ui.d.cts +4952 -0
  22. package/dist/generative-ui.d.cts.map +1 -0
  23. package/dist/generative-ui.d.mts +4952 -0
  24. package/dist/generative-ui.d.mts.map +1 -0
  25. package/dist/generative-ui.mjs +8137 -0
  26. package/dist/generative-ui.mjs.map +1 -0
  27. package/dist/headless.cjs +1927 -0
  28. package/dist/headless.cjs.map +1 -0
  29. package/dist/headless.d.cts +1117 -0
  30. package/dist/headless.d.cts.map +1 -0
  31. package/dist/headless.d.mts +1008 -0
  32. package/dist/headless.d.mts.map +1 -0
  33. package/dist/headless.mjs +1869 -0
  34. package/dist/headless.mjs.map +1 -0
  35. package/dist/index.cjs +15576 -0
  36. package/dist/index.cjs.map +1 -0
  37. package/dist/index.css +2 -0
  38. package/dist/index.d.cts +3450 -0
  39. package/dist/index.d.cts.map +1 -0
  40. package/dist/index.d.mts +3433 -0
  41. package/dist/index.d.mts.map +1 -0
  42. package/dist/index.mjs +13927 -146
  43. package/dist/index.mjs.map +1 -1
  44. package/dist/index.umd.js +18856 -0
  45. package/dist/index.umd.js.map +1 -0
  46. package/package.json +124 -52
  47. package/CHANGELOG.md +0 -4210
  48. package/dist/chunk-2IDV5OHF.mjs +0 -11
  49. package/dist/chunk-2IDV5OHF.mjs.map +0 -1
  50. package/dist/chunk-36KQV2NA.mjs +0 -1
  51. package/dist/chunk-36KQV2NA.mjs.map +0 -1
  52. package/dist/chunk-3V5TOYKW.mjs +0 -120
  53. package/dist/chunk-3V5TOYKW.mjs.map +0 -1
  54. package/dist/chunk-4CEQJ2X6.mjs +0 -31
  55. package/dist/chunk-4CEQJ2X6.mjs.map +0 -1
  56. package/dist/chunk-4RRMC7L2.mjs +0 -32
  57. package/dist/chunk-4RRMC7L2.mjs.map +0 -1
  58. package/dist/chunk-4YZA2BZC.mjs +0 -551
  59. package/dist/chunk-4YZA2BZC.mjs.map +0 -1
  60. package/dist/chunk-53K6WNJG.mjs +0 -36
  61. package/dist/chunk-53K6WNJG.mjs.map +0 -1
  62. package/dist/chunk-6ESSSQ7Q.mjs +0 -134
  63. package/dist/chunk-6ESSSQ7Q.mjs.map +0 -1
  64. package/dist/chunk-6PUNP7CD.mjs +0 -102
  65. package/dist/chunk-6PUNP7CD.mjs.map +0 -1
  66. package/dist/chunk-6YOKPWQ7.mjs +0 -1
  67. package/dist/chunk-6YOKPWQ7.mjs.map +0 -1
  68. package/dist/chunk-6ZLPNY7X.mjs +0 -225
  69. package/dist/chunk-6ZLPNY7X.mjs.map +0 -1
  70. package/dist/chunk-7DTB7S5V.mjs +0 -83
  71. package/dist/chunk-7DTB7S5V.mjs.map +0 -1
  72. package/dist/chunk-7IBF6RBW.mjs +0 -23
  73. package/dist/chunk-7IBF6RBW.mjs.map +0 -1
  74. package/dist/chunk-A6NKSGH3.mjs +0 -1
  75. package/dist/chunk-A6NKSGH3.mjs.map +0 -1
  76. package/dist/chunk-ABWT4DRT.mjs +0 -24
  77. package/dist/chunk-ABWT4DRT.mjs.map +0 -1
  78. package/dist/chunk-AFNWX62Q.mjs +0 -110
  79. package/dist/chunk-AFNWX62Q.mjs.map +0 -1
  80. package/dist/chunk-BUSWSDYO.mjs +0 -17
  81. package/dist/chunk-BUSWSDYO.mjs.map +0 -1
  82. package/dist/chunk-CDUIA2WM.mjs +0 -60
  83. package/dist/chunk-CDUIA2WM.mjs.map +0 -1
  84. package/dist/chunk-CYDWEPFL.mjs +0 -1
  85. package/dist/chunk-CYDWEPFL.mjs.map +0 -1
  86. package/dist/chunk-DMLQZG75.mjs +0 -25
  87. package/dist/chunk-DMLQZG75.mjs.map +0 -1
  88. package/dist/chunk-E7SE25ZU.mjs +0 -59
  89. package/dist/chunk-E7SE25ZU.mjs.map +0 -1
  90. package/dist/chunk-EFL5OBKN.mjs +0 -310
  91. package/dist/chunk-EFL5OBKN.mjs.map +0 -1
  92. package/dist/chunk-F555TVE4.mjs +0 -33
  93. package/dist/chunk-F555TVE4.mjs.map +0 -1
  94. package/dist/chunk-FD6FGKYY.mjs +0 -1
  95. package/dist/chunk-FD6FGKYY.mjs.map +0 -1
  96. package/dist/chunk-FDOMAPJY.mjs +0 -59
  97. package/dist/chunk-FDOMAPJY.mjs.map +0 -1
  98. package/dist/chunk-FQFXYAV7.mjs +0 -86
  99. package/dist/chunk-FQFXYAV7.mjs.map +0 -1
  100. package/dist/chunk-GPEJNVE5.mjs +0 -80
  101. package/dist/chunk-GPEJNVE5.mjs.map +0 -1
  102. package/dist/chunk-HE22TZMF.mjs +0 -186
  103. package/dist/chunk-HE22TZMF.mjs.map +0 -1
  104. package/dist/chunk-I76HKHPJ.mjs +0 -32
  105. package/dist/chunk-I76HKHPJ.mjs.map +0 -1
  106. package/dist/chunk-ICIK2BSB.mjs +0 -17
  107. package/dist/chunk-ICIK2BSB.mjs.map +0 -1
  108. package/dist/chunk-JD7BAH7U.mjs +0 -1
  109. package/dist/chunk-JD7BAH7U.mjs.map +0 -1
  110. package/dist/chunk-LHERIF3L.mjs +0 -83
  111. package/dist/chunk-LHERIF3L.mjs.map +0 -1
  112. package/dist/chunk-LSHFN2Y5.mjs +0 -349
  113. package/dist/chunk-LSHFN2Y5.mjs.map +0 -1
  114. package/dist/chunk-LUGEI4YQ.mjs +0 -1
  115. package/dist/chunk-LUGEI4YQ.mjs.map +0 -1
  116. package/dist/chunk-NB2FKV2V.mjs +0 -1
  117. package/dist/chunk-NB2FKV2V.mjs.map +0 -1
  118. package/dist/chunk-NBK4KBLX.mjs +0 -54
  119. package/dist/chunk-NBK4KBLX.mjs.map +0 -1
  120. package/dist/chunk-O7ARI5CV.mjs +0 -31
  121. package/dist/chunk-O7ARI5CV.mjs.map +0 -1
  122. package/dist/chunk-PIF5KJYI.mjs +0 -103
  123. package/dist/chunk-PIF5KJYI.mjs.map +0 -1
  124. package/dist/chunk-PMAFHQ7P.mjs +0 -65
  125. package/dist/chunk-PMAFHQ7P.mjs.map +0 -1
  126. package/dist/chunk-QNUAXSDP.mjs +0 -166
  127. package/dist/chunk-QNUAXSDP.mjs.map +0 -1
  128. package/dist/chunk-RKTVJRK7.mjs +0 -143
  129. package/dist/chunk-RKTVJRK7.mjs.map +0 -1
  130. package/dist/chunk-SKC7AJIV.mjs +0 -61
  131. package/dist/chunk-SKC7AJIV.mjs.map +0 -1
  132. package/dist/chunk-SPCZTZCY.mjs +0 -1
  133. package/dist/chunk-SPCZTZCY.mjs.map +0 -1
  134. package/dist/chunk-VV56AVPB.mjs +0 -125
  135. package/dist/chunk-VV56AVPB.mjs.map +0 -1
  136. package/dist/chunk-WF65O6HX.mjs +0 -66
  137. package/dist/chunk-WF65O6HX.mjs.map +0 -1
  138. package/dist/chunk-XDFVCQD3.mjs +0 -27
  139. package/dist/chunk-XDFVCQD3.mjs.map +0 -1
  140. package/dist/chunk-YCG6SNAU.mjs +0 -759
  141. package/dist/chunk-YCG6SNAU.mjs.map +0 -1
  142. package/dist/chunk-YTQHRJUA.mjs +0 -86
  143. package/dist/chunk-YTQHRJUA.mjs.map +0 -1
  144. package/dist/chunk-YYN33GSG.mjs +0 -73
  145. package/dist/chunk-YYN33GSG.mjs.map +0 -1
  146. package/dist/chunk-Z6JV2LRY.mjs +0 -37
  147. package/dist/chunk-Z6JV2LRY.mjs.map +0 -1
  148. package/dist/chunk-ZVF5Q6IH.mjs +0 -29
  149. package/dist/chunk-ZVF5Q6IH.mjs.map +0 -1
  150. package/dist/chunk-ZYTXB6HH.mjs +0 -151
  151. package/dist/chunk-ZYTXB6HH.mjs.map +0 -1
  152. package/dist/components/CopilotListeners.d.ts +0 -3
  153. package/dist/components/CopilotListeners.js +0 -101
  154. package/dist/components/CopilotListeners.js.map +0 -1
  155. package/dist/components/CopilotListeners.mjs +0 -9
  156. package/dist/components/CopilotListeners.mjs.map +0 -1
  157. package/dist/components/copilot-provider/copilot-messages.d.ts +0 -24
  158. package/dist/components/copilot-provider/copilot-messages.js +0 -351
  159. package/dist/components/copilot-provider/copilot-messages.js.map +0 -1
  160. package/dist/components/copilot-provider/copilot-messages.mjs +0 -16
  161. package/dist/components/copilot-provider/copilot-messages.mjs.map +0 -1
  162. package/dist/components/copilot-provider/copilotkit-props.d.ts +0 -160
  163. package/dist/components/copilot-provider/copilotkit-props.js +0 -19
  164. package/dist/components/copilot-provider/copilotkit-props.js.map +0 -1
  165. package/dist/components/copilot-provider/copilotkit-props.mjs +0 -1
  166. package/dist/components/copilot-provider/copilotkit-props.mjs.map +0 -1
  167. package/dist/components/copilot-provider/copilotkit.d.ts +0 -19
  168. package/dist/components/copilot-provider/copilotkit.js +0 -1960
  169. package/dist/components/copilot-provider/copilotkit.js.map +0 -1
  170. package/dist/components/copilot-provider/copilotkit.mjs +0 -31
  171. package/dist/components/copilot-provider/copilotkit.mjs.map +0 -1
  172. package/dist/components/copilot-provider/index.d.ts +0 -14
  173. package/dist/components/copilot-provider/index.js +0 -1960
  174. package/dist/components/copilot-provider/index.js.map +0 -1
  175. package/dist/components/copilot-provider/index.mjs +0 -30
  176. package/dist/components/copilot-provider/index.mjs.map +0 -1
  177. package/dist/components/dev-console/console-trigger.d.ts +0 -8
  178. package/dist/components/dev-console/console-trigger.js +0 -1202
  179. package/dist/components/dev-console/console-trigger.js.map +0 -1
  180. package/dist/components/dev-console/console-trigger.mjs +0 -233
  181. package/dist/components/dev-console/console-trigger.mjs.map +0 -1
  182. package/dist/components/dev-console/developer-console-modal.d.ts +0 -10
  183. package/dist/components/dev-console/developer-console-modal.js +0 -987
  184. package/dist/components/dev-console/developer-console-modal.js.map +0 -1
  185. package/dist/components/dev-console/developer-console-modal.mjs +0 -12
  186. package/dist/components/dev-console/developer-console-modal.mjs.map +0 -1
  187. package/dist/components/dev-console/icons.d.ts +0 -9
  188. package/dist/components/dev-console/icons.js +0 -131
  189. package/dist/components/dev-console/icons.js.map +0 -1
  190. package/dist/components/dev-console/icons.mjs +0 -16
  191. package/dist/components/dev-console/icons.mjs.map +0 -1
  192. package/dist/components/error-boundary/error-boundary.d.ts +0 -31
  193. package/dist/components/error-boundary/error-boundary.js +0 -500
  194. package/dist/components/error-boundary/error-boundary.js.map +0 -1
  195. package/dist/components/error-boundary/error-boundary.mjs +0 -15
  196. package/dist/components/error-boundary/error-boundary.mjs.map +0 -1
  197. package/dist/components/error-boundary/error-utils.d.ts +0 -11
  198. package/dist/components/error-boundary/error-utils.js +0 -190
  199. package/dist/components/error-boundary/error-utils.js.map +0 -1
  200. package/dist/components/error-boundary/error-utils.mjs +0 -14
  201. package/dist/components/error-boundary/error-utils.mjs.map +0 -1
  202. package/dist/components/index.d.ts +0 -14
  203. package/dist/components/index.js +0 -1960
  204. package/dist/components/index.js.map +0 -1
  205. package/dist/components/index.mjs +0 -31
  206. package/dist/components/index.mjs.map +0 -1
  207. package/dist/components/toast/exclamation-mark-icon.d.ts +0 -9
  208. package/dist/components/toast/exclamation-mark-icon.js +0 -55
  209. package/dist/components/toast/exclamation-mark-icon.js.map +0 -1
  210. package/dist/components/toast/exclamation-mark-icon.mjs +0 -8
  211. package/dist/components/toast/exclamation-mark-icon.mjs.map +0 -1
  212. package/dist/components/toast/toast-provider.d.ts +0 -27
  213. package/dist/components/toast/toast-provider.js +0 -347
  214. package/dist/components/toast/toast-provider.js.map +0 -1
  215. package/dist/components/toast/toast-provider.mjs +0 -10
  216. package/dist/components/toast/toast-provider.mjs.map +0 -1
  217. package/dist/components/usage-banner.d.ts +0 -29
  218. package/dist/components/usage-banner.js +0 -247
  219. package/dist/components/usage-banner.js.map +0 -1
  220. package/dist/components/usage-banner.mjs +0 -12
  221. package/dist/components/usage-banner.mjs.map +0 -1
  222. package/dist/context/coagent-state-renders-context.d.ts +0 -24
  223. package/dist/context/coagent-state-renders-context.js +0 -91
  224. package/dist/context/coagent-state-renders-context.js.map +0 -1
  225. package/dist/context/coagent-state-renders-context.mjs +0 -12
  226. package/dist/context/coagent-state-renders-context.mjs.map +0 -1
  227. package/dist/context/copilot-context.d.ts +0 -10
  228. package/dist/context/copilot-context.js +0 -161
  229. package/dist/context/copilot-context.js.map +0 -1
  230. package/dist/context/copilot-context.mjs +0 -10
  231. package/dist/context/copilot-context.mjs.map +0 -1
  232. package/dist/context/copilot-messages-context.d.ts +0 -18
  233. package/dist/context/copilot-messages-context.js +0 -60
  234. package/dist/context/copilot-messages-context.js.map +0 -1
  235. package/dist/context/copilot-messages-context.mjs +0 -10
  236. package/dist/context/copilot-messages-context.mjs.map +0 -1
  237. package/dist/context/index.d.ts +0 -15
  238. package/dist/context/index.js +0 -285
  239. package/dist/context/index.js.map +0 -1
  240. package/dist/context/index.mjs +0 -33
  241. package/dist/context/index.mjs.map +0 -1
  242. package/dist/context/threads-context.d.ts +0 -16
  243. package/dist/context/threads-context.js +0 -59
  244. package/dist/context/threads-context.js.map +0 -1
  245. package/dist/context/threads-context.mjs +0 -12
  246. package/dist/context/threads-context.mjs.map +0 -1
  247. package/dist/copilot-context-ec77e921.d.ts +0 -209
  248. package/dist/hooks/index.d.ts +0 -33
  249. package/dist/hooks/index.js +0 -1774
  250. package/dist/hooks/index.js.map +0 -1
  251. package/dist/hooks/index.mjs +0 -91
  252. package/dist/hooks/index.mjs.map +0 -1
  253. package/dist/hooks/use-agent-nodename.d.ts +0 -3
  254. package/dist/hooks/use-agent-nodename.js +0 -56
  255. package/dist/hooks/use-agent-nodename.js.map +0 -1
  256. package/dist/hooks/use-agent-nodename.mjs +0 -8
  257. package/dist/hooks/use-agent-nodename.mjs.map +0 -1
  258. package/dist/hooks/use-coagent-state-render-bridge.d.ts +0 -100
  259. package/dist/hooks/use-coagent-state-render-bridge.js +0 -214
  260. package/dist/hooks/use-coagent-state-render-bridge.js.map +0 -1
  261. package/dist/hooks/use-coagent-state-render-bridge.mjs +0 -15
  262. package/dist/hooks/use-coagent-state-render-bridge.mjs.map +0 -1
  263. package/dist/hooks/use-coagent-state-render.d.ts +0 -55
  264. package/dist/hooks/use-coagent-state-render.js +0 -255
  265. package/dist/hooks/use-coagent-state-render.js.map +0 -1
  266. package/dist/hooks/use-coagent-state-render.mjs +0 -11
  267. package/dist/hooks/use-coagent-state-render.mjs.map +0 -1
  268. package/dist/hooks/use-coagent.d.ts +0 -192
  269. package/dist/hooks/use-coagent.js +0 -233
  270. package/dist/hooks/use-coagent.js.map +0 -1
  271. package/dist/hooks/use-coagent.mjs +0 -9
  272. package/dist/hooks/use-coagent.mjs.map +0 -1
  273. package/dist/hooks/use-configure-chat-suggestions.d.ts +0 -36
  274. package/dist/hooks/use-configure-chat-suggestions.js +0 -79
  275. package/dist/hooks/use-configure-chat-suggestions.js.map +0 -1
  276. package/dist/hooks/use-configure-chat-suggestions.mjs +0 -47
  277. package/dist/hooks/use-configure-chat-suggestions.mjs.map +0 -1
  278. package/dist/hooks/use-copilot-action.d.ts +0 -103
  279. package/dist/hooks/use-copilot-action.js +0 -295
  280. package/dist/hooks/use-copilot-action.js.map +0 -1
  281. package/dist/hooks/use-copilot-action.mjs +0 -11
  282. package/dist/hooks/use-copilot-action.mjs.map +0 -1
  283. package/dist/hooks/use-copilot-additional-instructions.d.ts +0 -26
  284. package/dist/hooks/use-copilot-additional-instructions.js +0 -177
  285. package/dist/hooks/use-copilot-additional-instructions.js.map +0 -1
  286. package/dist/hooks/use-copilot-additional-instructions.mjs +0 -9
  287. package/dist/hooks/use-copilot-additional-instructions.mjs.map +0 -1
  288. package/dist/hooks/use-copilot-authenticated-action.d.ts +0 -18
  289. package/dist/hooks/use-copilot-authenticated-action.js +0 -462
  290. package/dist/hooks/use-copilot-authenticated-action.js.map +0 -1
  291. package/dist/hooks/use-copilot-authenticated-action.mjs +0 -13
  292. package/dist/hooks/use-copilot-authenticated-action.mjs.map +0 -1
  293. package/dist/hooks/use-copilot-chat-headless_c.d.ts +0 -25
  294. package/dist/hooks/use-copilot-chat-headless_c.js +0 -1044
  295. package/dist/hooks/use-copilot-chat-headless_c.js.map +0 -1
  296. package/dist/hooks/use-copilot-chat-headless_c.mjs +0 -24
  297. package/dist/hooks/use-copilot-chat-headless_c.mjs.map +0 -1
  298. package/dist/hooks/use-copilot-chat-suggestions.d.ts +0 -35
  299. package/dist/hooks/use-copilot-chat-suggestions.js +0 -60
  300. package/dist/hooks/use-copilot-chat-suggestions.js.map +0 -1
  301. package/dist/hooks/use-copilot-chat-suggestions.mjs +0 -8
  302. package/dist/hooks/use-copilot-chat-suggestions.mjs.map +0 -1
  303. package/dist/hooks/use-copilot-chat.d.ts +0 -92
  304. package/dist/hooks/use-copilot-chat.js +0 -978
  305. package/dist/hooks/use-copilot-chat.js.map +0 -1
  306. package/dist/hooks/use-copilot-chat.mjs +0 -21
  307. package/dist/hooks/use-copilot-chat.mjs.map +0 -1
  308. package/dist/hooks/use-copilot-chat_internal.d.ts +0 -244
  309. package/dist/hooks/use-copilot-chat_internal.js +0 -976
  310. package/dist/hooks/use-copilot-chat_internal.js.map +0 -1
  311. package/dist/hooks/use-copilot-chat_internal.mjs +0 -22
  312. package/dist/hooks/use-copilot-chat_internal.mjs.map +0 -1
  313. package/dist/hooks/use-copilot-readable.d.ts +0 -37
  314. package/dist/hooks/use-copilot-readable.js +0 -61
  315. package/dist/hooks/use-copilot-readable.js.map +0 -1
  316. package/dist/hooks/use-copilot-readable.mjs +0 -8
  317. package/dist/hooks/use-copilot-readable.mjs.map +0 -1
  318. package/dist/hooks/use-copilot-runtime-client.d.ts +0 -10
  319. package/dist/hooks/use-copilot-runtime-client.js +0 -203
  320. package/dist/hooks/use-copilot-runtime-client.js.map +0 -1
  321. package/dist/hooks/use-copilot-runtime-client.mjs +0 -9
  322. package/dist/hooks/use-copilot-runtime-client.mjs.map +0 -1
  323. package/dist/hooks/use-default-tool.d.ts +0 -8
  324. package/dist/hooks/use-default-tool.js +0 -302
  325. package/dist/hooks/use-default-tool.js.map +0 -1
  326. package/dist/hooks/use-default-tool.mjs +0 -12
  327. package/dist/hooks/use-default-tool.mjs.map +0 -1
  328. package/dist/hooks/use-flat-category-store.d.ts +0 -9
  329. package/dist/hooks/use-flat-category-store.js +0 -93
  330. package/dist/hooks/use-flat-category-store.js.map +0 -1
  331. package/dist/hooks/use-flat-category-store.mjs +0 -8
  332. package/dist/hooks/use-flat-category-store.mjs.map +0 -1
  333. package/dist/hooks/use-frontend-tool.d.ts +0 -11
  334. package/dist/hooks/use-frontend-tool.js +0 -104
  335. package/dist/hooks/use-frontend-tool.js.map +0 -1
  336. package/dist/hooks/use-frontend-tool.mjs +0 -8
  337. package/dist/hooks/use-frontend-tool.mjs.map +0 -1
  338. package/dist/hooks/use-human-in-the-loop.d.ts +0 -13
  339. package/dist/hooks/use-human-in-the-loop.js +0 -122
  340. package/dist/hooks/use-human-in-the-loop.js.map +0 -1
  341. package/dist/hooks/use-human-in-the-loop.mjs +0 -8
  342. package/dist/hooks/use-human-in-the-loop.mjs.map +0 -1
  343. package/dist/hooks/use-langgraph-interrupt-render.d.ts +0 -6
  344. package/dist/hooks/use-langgraph-interrupt-render.js +0 -318
  345. package/dist/hooks/use-langgraph-interrupt-render.js.map +0 -1
  346. package/dist/hooks/use-langgraph-interrupt-render.mjs +0 -14
  347. package/dist/hooks/use-langgraph-interrupt-render.mjs.map +0 -1
  348. package/dist/hooks/use-langgraph-interrupt.d.ts +0 -14
  349. package/dist/hooks/use-langgraph-interrupt.js +0 -201
  350. package/dist/hooks/use-langgraph-interrupt.js.map +0 -1
  351. package/dist/hooks/use-langgraph-interrupt.mjs +0 -10
  352. package/dist/hooks/use-langgraph-interrupt.mjs.map +0 -1
  353. package/dist/hooks/use-lazy-tool-renderer.d.ts +0 -6
  354. package/dist/hooks/use-lazy-tool-renderer.js +0 -53
  355. package/dist/hooks/use-lazy-tool-renderer.js.map +0 -1
  356. package/dist/hooks/use-lazy-tool-renderer.mjs +0 -8
  357. package/dist/hooks/use-lazy-tool-renderer.mjs.map +0 -1
  358. package/dist/hooks/use-make-copilot-document-readable.d.ts +0 -12
  359. package/dist/hooks/use-make-copilot-document-readable.js +0 -176
  360. package/dist/hooks/use-make-copilot-document-readable.js.map +0 -1
  361. package/dist/hooks/use-make-copilot-document-readable.mjs +0 -9
  362. package/dist/hooks/use-make-copilot-document-readable.mjs.map +0 -1
  363. package/dist/hooks/use-render-tool-call.d.ts +0 -12
  364. package/dist/hooks/use-render-tool-call.js +0 -90
  365. package/dist/hooks/use-render-tool-call.js.map +0 -1
  366. package/dist/hooks/use-render-tool-call.mjs +0 -8
  367. package/dist/hooks/use-render-tool-call.mjs.map +0 -1
  368. package/dist/hooks/use-tree.d.ts +0 -19
  369. package/dist/hooks/use-tree.js +0 -175
  370. package/dist/hooks/use-tree.js.map +0 -1
  371. package/dist/hooks/use-tree.mjs +0 -8
  372. package/dist/hooks/use-tree.mjs.map +0 -1
  373. package/dist/index.d.ts +0 -43
  374. package/dist/index.js +0 -3528
  375. package/dist/index.js.map +0 -1
  376. package/dist/lib/copilot-task.d.ts +0 -97
  377. package/dist/lib/copilot-task.js +0 -194
  378. package/dist/lib/copilot-task.js.map +0 -1
  379. package/dist/lib/copilot-task.mjs +0 -31
  380. package/dist/lib/copilot-task.mjs.map +0 -1
  381. package/dist/lib/index.d.ts +0 -11
  382. package/dist/lib/index.js +0 -196
  383. package/dist/lib/index.js.map +0 -1
  384. package/dist/lib/index.mjs +0 -32
  385. package/dist/lib/index.mjs.map +0 -1
  386. package/dist/lib/status-checker.d.ts +0 -17
  387. package/dist/lib/status-checker.js +0 -102
  388. package/dist/lib/status-checker.js.map +0 -1
  389. package/dist/lib/status-checker.mjs +0 -8
  390. package/dist/lib/status-checker.mjs.map +0 -1
  391. package/dist/setupTests.d.ts +0 -2
  392. package/dist/setupTests.js +0 -26
  393. package/dist/setupTests.js.map +0 -1
  394. package/dist/setupTests.mjs +0 -24
  395. package/dist/setupTests.mjs.map +0 -1
  396. package/dist/types/chat-suggestion-configuration.d.ts +0 -22
  397. package/dist/types/chat-suggestion-configuration.js +0 -19
  398. package/dist/types/chat-suggestion-configuration.js.map +0 -1
  399. package/dist/types/chat-suggestion-configuration.mjs +0 -1
  400. package/dist/types/chat-suggestion-configuration.mjs.map +0 -1
  401. package/dist/types/coagent-action.d.ts +0 -29
  402. package/dist/types/coagent-action.js +0 -19
  403. package/dist/types/coagent-action.js.map +0 -1
  404. package/dist/types/coagent-action.mjs +0 -1
  405. package/dist/types/coagent-action.mjs.map +0 -1
  406. package/dist/types/coagent-state.d.ts +0 -15
  407. package/dist/types/coagent-state.js +0 -19
  408. package/dist/types/coagent-state.js.map +0 -1
  409. package/dist/types/coagent-state.mjs +0 -1
  410. package/dist/types/coagent-state.mjs.map +0 -1
  411. package/dist/types/crew.d.ts +0 -79
  412. package/dist/types/crew.js +0 -19
  413. package/dist/types/crew.js.map +0 -1
  414. package/dist/types/crew.mjs +0 -2
  415. package/dist/types/crew.mjs.map +0 -1
  416. package/dist/types/document-pointer.d.ts +0 -9
  417. package/dist/types/document-pointer.js +0 -19
  418. package/dist/types/document-pointer.js.map +0 -1
  419. package/dist/types/document-pointer.mjs +0 -1
  420. package/dist/types/document-pointer.mjs.map +0 -1
  421. package/dist/types/frontend-action.d.ts +0 -127
  422. package/dist/types/frontend-action.js +0 -53
  423. package/dist/types/frontend-action.js.map +0 -1
  424. package/dist/types/frontend-action.mjs +0 -8
  425. package/dist/types/frontend-action.mjs.map +0 -1
  426. package/dist/types/index.d.ts +0 -12
  427. package/dist/types/index.js +0 -19
  428. package/dist/types/index.js.map +0 -1
  429. package/dist/types/index.mjs +0 -4
  430. package/dist/types/index.mjs.map +0 -1
  431. package/dist/types/interrupt-action.d.ts +0 -10
  432. package/dist/types/interrupt-action.js +0 -19
  433. package/dist/types/interrupt-action.js.map +0 -1
  434. package/dist/types/interrupt-action.mjs +0 -2
  435. package/dist/types/interrupt-action.mjs.map +0 -1
  436. package/dist/types/system-message.d.ts +0 -3
  437. package/dist/types/system-message.js +0 -19
  438. package/dist/types/system-message.js.map +0 -1
  439. package/dist/types/system-message.mjs +0 -1
  440. package/dist/types/system-message.mjs.map +0 -1
  441. package/dist/utils/dev-console.d.ts +0 -3
  442. package/dist/utils/dev-console.js +0 -41
  443. package/dist/utils/dev-console.js.map +0 -1
  444. package/dist/utils/dev-console.mjs +0 -8
  445. package/dist/utils/dev-console.mjs.map +0 -1
  446. package/dist/utils/index.d.ts +0 -2
  447. package/dist/utils/index.js +0 -52
  448. package/dist/utils/index.js.map +0 -1
  449. package/dist/utils/index.mjs +0 -13
  450. package/dist/utils/index.mjs.map +0 -1
  451. package/dist/utils/suggestions-constants.d.ts +0 -9
  452. package/dist/utils/suggestions-constants.js +0 -35
  453. package/dist/utils/suggestions-constants.js.map +0 -1
  454. package/dist/utils/suggestions-constants.mjs +0 -8
  455. package/dist/utils/suggestions-constants.mjs.map +0 -1
  456. package/dist/utils/utils.d.ts +0 -2
  457. package/dist/utils/utils.js +0 -19
  458. package/dist/utils/utils.js.map +0 -1
  459. package/dist/utils/utils.mjs +0 -1
  460. package/dist/utils/utils.mjs.map +0 -1
  461. package/dist/v2/index.css +0 -4
  462. package/dist/v2/index.css.map +0 -1
  463. package/dist/v2/index.d.ts +0 -2
  464. package/dist/v2/index.js +0 -27
  465. package/dist/v2/index.js.map +0 -1
  466. package/dist/v2/index.mjs +0 -6
  467. package/dist/v2/index.mjs.map +0 -1
  468. package/jest.config.js +0 -25
  469. package/src/components/CopilotListeners.tsx +0 -81
  470. package/src/components/copilot-provider/__tests__/copilotkit-error.test.tsx +0 -75
  471. package/src/components/copilot-provider/copilot-messages.tsx +0 -274
  472. package/src/components/copilot-provider/copilotkit-props.tsx +0 -169
  473. package/src/components/copilot-provider/copilotkit.tsx +0 -671
  474. package/src/components/copilot-provider/index.ts +0 -3
  475. package/src/components/dev-console/console-trigger.tsx +0 -254
  476. package/src/components/dev-console/developer-console-modal.tsx +0 -866
  477. package/src/components/dev-console/icons.tsx +0 -101
  478. package/src/components/error-boundary/error-boundary.tsx +0 -91
  479. package/src/components/error-boundary/error-utils.tsx +0 -100
  480. package/src/components/index.ts +0 -1
  481. package/src/components/toast/exclamation-mark-icon.tsx +0 -27
  482. package/src/components/toast/toast-provider.tsx +0 -363
  483. package/src/components/usage-banner.tsx +0 -259
  484. package/src/context/coagent-state-renders-context.tsx +0 -76
  485. package/src/context/copilot-context.tsx +0 -332
  486. package/src/context/copilot-messages-context.tsx +0 -35
  487. package/src/context/index.ts +0 -16
  488. package/src/context/threads-context.tsx +0 -41
  489. package/src/hooks/__tests__/use-coagent-config.test.ts +0 -351
  490. package/src/hooks/index.ts +0 -34
  491. package/src/hooks/use-agent-nodename.ts +0 -30
  492. package/src/hooks/use-coagent-state-render-bridge.tsx +0 -293
  493. package/src/hooks/use-coagent-state-render.ts +0 -152
  494. package/src/hooks/use-coagent.ts +0 -366
  495. package/src/hooks/use-configure-chat-suggestions.tsx +0 -86
  496. package/src/hooks/use-copilot-action.ts +0 -236
  497. package/src/hooks/use-copilot-additional-instructions.ts +0 -85
  498. package/src/hooks/use-copilot-authenticated-action.ts +0 -70
  499. package/src/hooks/use-copilot-chat-headless_c.ts +0 -258
  500. package/src/hooks/use-copilot-chat-suggestions.tsx +0 -124
  501. package/src/hooks/use-copilot-chat.ts +0 -130
  502. package/src/hooks/use-copilot-chat_internal.ts +0 -696
  503. package/src/hooks/use-copilot-readable.ts +0 -135
  504. package/src/hooks/use-copilot-runtime-client.ts +0 -164
  505. package/src/hooks/use-default-tool.ts +0 -7
  506. package/src/hooks/use-flat-category-store.ts +0 -105
  507. package/src/hooks/use-frontend-tool.ts +0 -96
  508. package/src/hooks/use-human-in-the-loop.ts +0 -122
  509. package/src/hooks/use-langgraph-interrupt-render.ts +0 -136
  510. package/src/hooks/use-langgraph-interrupt.ts +0 -36
  511. package/src/hooks/use-lazy-tool-renderer.tsx +0 -30
  512. package/src/hooks/use-make-copilot-document-readable.ts +0 -30
  513. package/src/hooks/use-render-tool-call.ts +0 -80
  514. package/src/hooks/use-tree.ts +0 -207
  515. package/src/index.tsx +0 -7
  516. package/src/lib/copilot-task.ts +0 -201
  517. package/src/lib/index.ts +0 -1
  518. package/src/lib/status-checker.ts +0 -64
  519. package/src/setupTests.ts +0 -26
  520. package/src/types/chat-suggestion-configuration.ts +0 -23
  521. package/src/types/coagent-action.ts +0 -31
  522. package/src/types/coagent-state.ts +0 -13
  523. package/src/types/crew.ts +0 -89
  524. package/src/types/document-pointer.ts +0 -7
  525. package/src/types/frontend-action.ts +0 -202
  526. package/src/types/index.ts +0 -17
  527. package/src/types/interrupt-action.ts +0 -43
  528. package/src/types/system-message.ts +0 -4
  529. package/src/utils/dev-console.ts +0 -19
  530. package/src/utils/index.ts +0 -2
  531. package/src/utils/suggestions-constants.ts +0 -8
  532. package/src/utils/utils.test.ts +0 -7
  533. package/src/utils/utils.ts +0 -8
  534. package/src/v2/index.css +0 -1
  535. package/src/v2/index.ts +0 -4
  536. package/tsconfig.json +0 -8
  537. package/tsup.config.ts +0 -16
  538. package/typedoc.json +0 -4
@@ -1,671 +0,0 @@
1
- /**
2
- * This component will typically wrap your entire application (or a sub-tree of your application where you want to have a copilot). It provides the copilot context to all other components and hooks.
3
- *
4
- * ## Example
5
- *
6
- * You can find more information about self-hosting CopilotKit [here](/guides/self-hosting).
7
- *
8
- * ```tsx
9
- * import { CopilotKit } from "@copilotkit/react-core";
10
- *
11
- * <CopilotKit runtimeUrl="<your-runtime-url>">
12
- * // ... your app ...
13
- * </CopilotKit>
14
- * ```
15
- */
16
-
17
- import { useCallback, useEffect, useMemo, useRef, useState, SetStateAction } from "react";
18
- import {
19
- CopilotChatConfigurationProvider,
20
- CopilotKitInspector,
21
- CopilotKitProvider as CopilotKitNextProvider,
22
- } from "@copilotkitnext/react";
23
- import {
24
- CopilotContext,
25
- CopilotApiConfig,
26
- ChatComponentsCache,
27
- AgentSession,
28
- AuthState,
29
- } from "../../context/copilot-context";
30
- import useTree from "../../hooks/use-tree";
31
- import { CopilotChatSuggestionConfiguration, DocumentPointer } from "../../types";
32
- import { flushSync } from "react-dom";
33
- import {
34
- COPILOT_CLOUD_CHAT_URL,
35
- CopilotCloudConfig,
36
- FunctionCallHandler,
37
- COPILOT_CLOUD_PUBLIC_API_KEY_HEADER,
38
- randomUUID,
39
- ConfigurationError,
40
- MissingPublicApiKeyError,
41
- CopilotKitError,
42
- CopilotErrorEvent,
43
- CopilotErrorHandler,
44
- } from "@copilotkit/shared";
45
- import { FrontendAction } from "../../types/frontend-action";
46
- import useFlatCategoryStore from "../../hooks/use-flat-category-store";
47
- import { CopilotKitProps } from "./copilotkit-props";
48
- import { CoagentState } from "../../types/coagent-state";
49
- import { CopilotMessages, MessagesTapProvider } from "./copilot-messages";
50
- import { ToastProvider } from "../toast/toast-provider";
51
- import { getErrorActions, UsageBanner } from "../usage-banner";
52
- import { shouldShowDevConsole } from "../../utils";
53
- import { CopilotErrorBoundary } from "../error-boundary/error-boundary";
54
- import { Agent, ExtensionsInput } from "@copilotkit/runtime-client-gql";
55
- import {
56
- LangGraphInterruptRender,
57
- LangGraphInterruptActionSetterArgs,
58
- QueuedInterruptEvent,
59
- } from "../../types/interrupt-action";
60
- import { CoAgentStateRendersProvider } from "../../context/coagent-state-renders-context";
61
- import { CoAgentStateRenderBridge } from "../../hooks/use-coagent-state-render-bridge";
62
- import { ThreadsProvider, useThreads } from "../../context/threads-context";
63
- import { CopilotListeners } from "../CopilotListeners";
64
-
65
- export function CopilotKit({ children, ...props }: CopilotKitProps) {
66
- const enabled = shouldShowDevConsole(props.showDevConsole);
67
- const showInspector = shouldShowDevConsole(props.enableInspector);
68
-
69
- // Use API key if provided, otherwise use the license key
70
- const publicApiKey = props.publicApiKey || props.publicLicenseKey;
71
-
72
- const renderArr = useMemo(() => [{ render: CoAgentStateRenderBridge }], []);
73
-
74
- return (
75
- <ToastProvider enabled={enabled}>
76
- <CopilotErrorBoundary publicApiKey={publicApiKey} showUsageBanner={enabled}>
77
- <ThreadsProvider threadId={props.threadId}>
78
- <CopilotKitNextProvider
79
- {...props}
80
- showDevConsole={showInspector}
81
- renderCustomMessages={renderArr}
82
- useSingleEndpoint={true}
83
- >
84
- <CopilotKitInternal {...props}>{children}</CopilotKitInternal>
85
- </CopilotKitNextProvider>
86
- </ThreadsProvider>
87
- </CopilotErrorBoundary>
88
- </ToastProvider>
89
- );
90
- }
91
-
92
- export function CopilotKitInternal(cpkProps: CopilotKitProps) {
93
- const { children, ...props } = cpkProps;
94
-
95
- /**
96
- * This will throw an error if the props are invalid.
97
- */
98
- validateProps(cpkProps);
99
-
100
- // Use license key as API key if provided, otherwise use the API key
101
- const publicApiKey = props.publicLicenseKey || props.publicApiKey;
102
-
103
- const chatApiEndpoint = props.runtimeUrl || COPILOT_CLOUD_CHAT_URL;
104
-
105
- const [actions, setActions] = useState<Record<string, FrontendAction<any>>>({});
106
-
107
- // State for registered actions from useCopilotAction
108
- const [registeredActionConfigs, setRegisteredActionConfigs] = useState<
109
- Map<string, { type: string; action: any; component: any }>
110
- >(new Map());
111
-
112
- const chatComponentsCache = useRef<ChatComponentsCache>({
113
- actions: {},
114
- coAgentStateRenders: {},
115
- });
116
-
117
- const { addElement, removeElement, printTree, getAllElements } = useTree();
118
- const [isLoading, setIsLoading] = useState(false);
119
- const [chatInstructions, setChatInstructions] = useState("");
120
- const [authStates, setAuthStates] = useState<Record<string, AuthState>>({});
121
- const [extensions, setExtensions] = useState<ExtensionsInput>({});
122
- const [additionalInstructions, setAdditionalInstructions] = useState<string[]>([]);
123
-
124
- const {
125
- addElement: addDocument,
126
- removeElement: removeDocument,
127
- allElements: allDocuments,
128
- } = useFlatCategoryStore<DocumentPointer>();
129
-
130
- // Compute all the functions and properties that we need to pass
131
- const setAction = useCallback((id: string, action: FrontendAction<any>) => {
132
- setActions((prevPoints) => {
133
- return {
134
- ...prevPoints,
135
- [id]: action,
136
- };
137
- });
138
- }, []);
139
-
140
- const removeAction = useCallback((id: string) => {
141
- setActions((prevPoints) => {
142
- const newPoints = { ...prevPoints };
143
- delete newPoints[id];
144
- return newPoints;
145
- });
146
- }, []);
147
-
148
- const getContextString = useCallback(
149
- (documents: DocumentPointer[], categories: string[]) => {
150
- const documentsString = documents
151
- .map((document) => {
152
- return `${document.name} (${document.sourceApplication}):\n${document.getContents()}`;
153
- })
154
- .join("\n\n");
155
-
156
- const nonDocumentStrings = printTree(categories);
157
-
158
- return `${documentsString}\n\n${nonDocumentStrings}`;
159
- },
160
- [printTree],
161
- );
162
-
163
- const addContext = useCallback(
164
- (
165
- context: string,
166
- parentId?: string,
167
- categories: string[] = defaultCopilotContextCategories,
168
- ) => {
169
- return addElement(context, categories, parentId);
170
- },
171
- [addElement],
172
- );
173
-
174
- const removeContext = useCallback(
175
- (id: string) => {
176
- removeElement(id);
177
- },
178
- [removeElement],
179
- );
180
-
181
- const getAllContext = useCallback(() => {
182
- return getAllElements();
183
- }, [getAllElements]);
184
-
185
- const getFunctionCallHandler = useCallback(
186
- (customEntryPoints?: Record<string, FrontendAction<any>>) => {
187
- return entryPointsToFunctionCallHandler(Object.values(customEntryPoints || actions));
188
- },
189
- [actions],
190
- );
191
-
192
- const getDocumentsContext = useCallback(
193
- (categories: string[]) => {
194
- return allDocuments(categories);
195
- },
196
- [allDocuments],
197
- );
198
-
199
- const addDocumentContext = useCallback(
200
- (documentPointer: DocumentPointer, categories: string[] = defaultCopilotContextCategories) => {
201
- return addDocument(documentPointer, categories);
202
- },
203
- [addDocument],
204
- );
205
-
206
- const removeDocumentContext = useCallback(
207
- (documentId: string) => {
208
- removeDocument(documentId);
209
- },
210
- [removeDocument],
211
- );
212
-
213
- // get the appropriate CopilotApiConfig from the props
214
- const copilotApiConfig: CopilotApiConfig = useMemo(() => {
215
- let cloud: CopilotCloudConfig | undefined = undefined;
216
- if (publicApiKey) {
217
- cloud = {
218
- guardrails: {
219
- input: {
220
- restrictToTopic: {
221
- enabled: Boolean(props.guardrails_c),
222
- validTopics: props.guardrails_c?.validTopics || [],
223
- invalidTopics: props.guardrails_c?.invalidTopics || [],
224
- },
225
- },
226
- },
227
- };
228
- }
229
-
230
- return {
231
- publicApiKey: publicApiKey,
232
- ...(cloud ? { cloud } : {}),
233
- chatApiEndpoint: chatApiEndpoint,
234
- headers: props.headers || {},
235
- properties: props.properties || {},
236
- transcribeAudioUrl: props.transcribeAudioUrl,
237
- textToSpeechUrl: props.textToSpeechUrl,
238
- credentials: props.credentials,
239
- };
240
- }, [
241
- publicApiKey,
242
- props.headers,
243
- props.properties,
244
- props.transcribeAudioUrl,
245
- props.textToSpeechUrl,
246
- props.credentials,
247
- props.cloudRestrictToTopic,
248
- props.guardrails_c,
249
- ]);
250
-
251
- const headers = useMemo(() => {
252
- const authHeaders = Object.values(authStates || {}).reduce((acc, state) => {
253
- if (state.status === "authenticated" && state.authHeaders) {
254
- return {
255
- ...acc,
256
- ...Object.entries(state.authHeaders).reduce(
257
- (headers, [key, value]) => ({
258
- ...headers,
259
- [key.startsWith("X-Custom-") ? key : `X-Custom-${key}`]: value,
260
- }),
261
- {},
262
- ),
263
- };
264
- }
265
- return acc;
266
- }, {});
267
-
268
- return {
269
- ...(copilotApiConfig.headers || {}),
270
- ...(copilotApiConfig.publicApiKey
271
- ? { [COPILOT_CLOUD_PUBLIC_API_KEY_HEADER]: copilotApiConfig.publicApiKey }
272
- : {}),
273
- ...authHeaders,
274
- };
275
- }, [copilotApiConfig.headers, copilotApiConfig.publicApiKey, authStates]);
276
-
277
- const [internalErrorHandlers, _setInternalErrorHandler] = useState<
278
- Record<string, CopilotErrorHandler>
279
- >({});
280
- const setInternalErrorHandler = useCallback((handler: Record<string, CopilotErrorHandler>) => {
281
- _setInternalErrorHandler((prev: Record<string, CopilotErrorHandler>) => ({
282
- ...prev,
283
- ...handler,
284
- }));
285
- }, []);
286
- const removeInternalErrorHandler = useCallback((key: string) => {
287
- _setInternalErrorHandler((prev) => {
288
- const { [key]: _removed, ...rest } = prev;
289
- return rest;
290
- });
291
- }, []);
292
-
293
- // Keep latest values in refs
294
- const onErrorRef = useRef<CopilotErrorHandler | undefined>(props.onError);
295
- useEffect(() => {
296
- onErrorRef.current = props.onError;
297
- }, [props.onError]);
298
-
299
- const internalHandlersRef = useRef<Record<string, CopilotErrorHandler>>({});
300
- useEffect(() => {
301
- internalHandlersRef.current = internalErrorHandlers;
302
- }, [internalErrorHandlers]);
303
-
304
- const handleErrors = useCallback(
305
- async (error: CopilotErrorEvent) => {
306
- if (copilotApiConfig.publicApiKey && onErrorRef.current) {
307
- try {
308
- await onErrorRef.current(error);
309
- } catch (e) {
310
- console.error("Error in public onError handler:", e);
311
- }
312
- }
313
- const handlers = Object.values(internalHandlersRef.current);
314
- await Promise.all(
315
- handlers.map((h) =>
316
- Promise.resolve(h(error)).catch((e) =>
317
- console.error("Error in internal error handler:", e),
318
- ),
319
- ),
320
- );
321
- },
322
- [copilotApiConfig.publicApiKey],
323
- );
324
-
325
- const [chatSuggestionConfiguration, setChatSuggestionConfiguration] = useState<{
326
- [key: string]: CopilotChatSuggestionConfiguration;
327
- }>({});
328
-
329
- const addChatSuggestionConfiguration = useCallback(
330
- (id: string, suggestion: CopilotChatSuggestionConfiguration) => {
331
- setChatSuggestionConfiguration((prev) => ({ ...prev, [id]: suggestion }));
332
- },
333
- [setChatSuggestionConfiguration],
334
- );
335
-
336
- const removeChatSuggestionConfiguration = useCallback(
337
- (id: string) => {
338
- setChatSuggestionConfiguration((prev) => {
339
- const { [id]: _, ...rest } = prev;
340
- return rest;
341
- });
342
- },
343
- [setChatSuggestionConfiguration],
344
- );
345
-
346
- const [availableAgents, setAvailableAgents] = useState<Agent[]>([]);
347
- const [coagentStates, setCoagentStates] = useState<Record<string, CoagentState>>({});
348
- const coagentStatesRef = useRef<Record<string, CoagentState>>({});
349
- const setCoagentStatesWithRef = useCallback(
350
- (
351
- value:
352
- | Record<string, CoagentState>
353
- | ((prev: Record<string, CoagentState>) => Record<string, CoagentState>),
354
- ) => {
355
- const newValue = typeof value === "function" ? value(coagentStatesRef.current) : value;
356
- coagentStatesRef.current = newValue;
357
- setCoagentStates((prev) => {
358
- return newValue;
359
- });
360
- },
361
- [],
362
- );
363
-
364
- let initialAgentSession: AgentSession | null = null;
365
- if (props.agent) {
366
- initialAgentSession = {
367
- agentName: props.agent,
368
- };
369
- }
370
-
371
- const [agentSession, setAgentSession] = useState<AgentSession | null>(initialAgentSession);
372
-
373
- // Update agentSession when props.agent changes
374
- useEffect(() => {
375
- if (props.agent) {
376
- setAgentSession({
377
- agentName: props.agent,
378
- });
379
- } else {
380
- setAgentSession(null);
381
- }
382
- }, [props.agent]);
383
-
384
- const { threadId, setThreadId: setInternalThreadId } = useThreads();
385
-
386
- const setThreadId = useCallback(
387
- (value: SetStateAction<string>) => {
388
- if (props.threadId) {
389
- throw new Error("Cannot call setThreadId() when threadId is provided via props.");
390
- }
391
- setInternalThreadId(value);
392
- },
393
- [props.threadId],
394
- );
395
-
396
- const [runId, setRunId] = useState<string | null>(null);
397
-
398
- const chatAbortControllerRef = useRef<AbortController | null>(null);
399
-
400
- const showDevConsole = shouldShowDevConsole(props.showDevConsole);
401
-
402
- const [interruptActions, _setInterruptActions] = useState<
403
- Record<string, LangGraphInterruptRender>
404
- >({});
405
- const setInterruptAction = useCallback((action: LangGraphInterruptActionSetterArgs) => {
406
- _setInterruptActions((prev) => {
407
- if (action == null || !action.id) {
408
- // Cannot set action without id
409
- return prev;
410
- }
411
- return {
412
- ...prev,
413
- [action.id]: { ...(prev[action.id] ?? {}), ...action } as LangGraphInterruptRender,
414
- };
415
- });
416
- }, []);
417
- const removeInterruptAction = useCallback((actionId: string): void => {
418
- _setInterruptActions((prev) => {
419
- const { [actionId]: _, ...rest } = prev;
420
- return rest;
421
- });
422
- }, []);
423
-
424
- const [interruptEventQueue, setInterruptEventQueue] = useState<
425
- Record<string, QueuedInterruptEvent[]>
426
- >({});
427
-
428
- const addInterruptEvent = useCallback((queuedEvent: QueuedInterruptEvent) => {
429
- setInterruptEventQueue((prev) => {
430
- const threadQueue = prev[queuedEvent.threadId] || [];
431
- return {
432
- ...prev,
433
- [queuedEvent.threadId]: [...threadQueue, queuedEvent],
434
- };
435
- });
436
- }, []);
437
-
438
- const resolveInterruptEvent = useCallback(
439
- (threadId: string, eventId: string, response: string) => {
440
- setInterruptEventQueue((prev) => {
441
- const threadQueue = prev[threadId] || [];
442
- return {
443
- ...prev,
444
- [threadId]: threadQueue.map((queuedEvent) =>
445
- queuedEvent.eventId === eventId
446
- ? { ...queuedEvent, event: { ...queuedEvent.event, response } }
447
- : queuedEvent,
448
- ),
449
- };
450
- });
451
- },
452
- [],
453
- );
454
-
455
- const memoizedChildren = useMemo(() => children, [children]);
456
- const [bannerError, setBannerError] = useState<CopilotKitError | null>(null);
457
-
458
- const agentLock = useMemo(() => props.agent ?? null, [props.agent]);
459
-
460
- const forwardedParameters = useMemo(
461
- () => props.forwardedParameters ?? {},
462
- [props.forwardedParameters],
463
- );
464
-
465
- const updateExtensions = useCallback(
466
- (newExtensions: SetStateAction<ExtensionsInput>) => {
467
- setExtensions((prev: ExtensionsInput) => {
468
- const resolved = typeof newExtensions === "function" ? newExtensions(prev) : newExtensions;
469
- const isSameLength = Object.keys(resolved).length === Object.keys(prev).length;
470
- const isEqual =
471
- isSameLength &&
472
- // @ts-ignore
473
- Object.entries(resolved).every(([key, value]) => prev[key] === value);
474
-
475
- return isEqual ? prev : resolved;
476
- });
477
- },
478
- [setExtensions],
479
- );
480
-
481
- const updateAuthStates = useCallback(
482
- (newAuthStates: SetStateAction<Record<string, AuthState>>) => {
483
- setAuthStates((prev) => {
484
- const resolved = typeof newAuthStates === "function" ? newAuthStates(prev) : newAuthStates;
485
- const isSameLength = Object.keys(resolved).length === Object.keys(prev).length;
486
- const isEqual =
487
- isSameLength &&
488
- // @ts-ignore
489
- Object.entries(resolved).every(([key, value]) => prev[key] === value);
490
-
491
- return isEqual ? prev : resolved;
492
- });
493
- },
494
- [setAuthStates],
495
- );
496
-
497
- const handleSetRegisteredActions = useCallback((actionConfig: any): string => {
498
- const key = actionConfig.action.name || randomUUID();
499
- setRegisteredActionConfigs((prev) => {
500
- const newMap = new Map(prev);
501
- newMap.set(key, actionConfig);
502
- return newMap;
503
- });
504
- return key;
505
- }, []);
506
-
507
- const handleRemoveRegisteredAction = useCallback((actionKey: string) => {
508
- setRegisteredActionConfigs((prev) => {
509
- const newMap = new Map(prev);
510
- newMap.delete(actionKey);
511
- return newMap;
512
- });
513
- }, []);
514
-
515
- // Component to render all registered actions
516
- const RegisteredActionsRenderer = useMemo(() => {
517
- return () => (
518
- <>
519
- {Array.from(registeredActionConfigs.entries()).map(([key, config]) => {
520
- const Component = config.component;
521
- return <Component key={key} action={config.action} />;
522
- })}
523
- </>
524
- );
525
- }, [registeredActionConfigs]);
526
-
527
- return (
528
- <CopilotChatConfigurationProvider
529
- // labels={labels}
530
- // isModalDefaultOpen={isModalDefaultOpen}
531
- agentId={props.agent ?? "default"}
532
- threadId={threadId}
533
- >
534
- <CopilotContext.Provider
535
- value={{
536
- actions,
537
- chatComponentsCache,
538
- getFunctionCallHandler,
539
- setAction,
540
- removeAction,
541
- setRegisteredActions: handleSetRegisteredActions,
542
- removeRegisteredAction: handleRemoveRegisteredAction,
543
- getContextString,
544
- addContext,
545
- removeContext,
546
- getAllContext,
547
- getDocumentsContext,
548
- addDocumentContext,
549
- removeDocumentContext,
550
- copilotApiConfig: copilotApiConfig,
551
- isLoading,
552
- setIsLoading,
553
- chatSuggestionConfiguration,
554
- addChatSuggestionConfiguration,
555
- removeChatSuggestionConfiguration,
556
- chatInstructions,
557
- setChatInstructions,
558
- additionalInstructions,
559
- setAdditionalInstructions,
560
- showDevConsole,
561
- coagentStates,
562
- setCoagentStates,
563
- coagentStatesRef,
564
- setCoagentStatesWithRef,
565
- agentSession,
566
- setAgentSession,
567
- forwardedParameters,
568
- agentLock,
569
- threadId,
570
- setThreadId,
571
- runId,
572
- setRunId,
573
- chatAbortControllerRef,
574
- availableAgents,
575
- authConfig_c: props.authConfig_c,
576
- authStates_c: authStates,
577
- setAuthStates_c: updateAuthStates,
578
- extensions,
579
- setExtensions: updateExtensions,
580
- interruptActions,
581
- setInterruptAction,
582
- removeInterruptAction,
583
- interruptEventQueue,
584
- addInterruptEvent,
585
- resolveInterruptEvent,
586
- bannerError,
587
- setBannerError,
588
- onError: handleErrors,
589
- internalErrorHandlers,
590
- setInternalErrorHandler,
591
- removeInternalErrorHandler,
592
- }}
593
- >
594
- <CopilotListeners />
595
- <CoAgentStateRendersProvider>
596
- <MessagesTapProvider>
597
- <CopilotMessages>
598
- {memoizedChildren}
599
- <RegisteredActionsRenderer />
600
- </CopilotMessages>
601
- </MessagesTapProvider>
602
- {bannerError && showDevConsole && (
603
- <UsageBanner
604
- severity={bannerError.severity}
605
- message={bannerError.message}
606
- onClose={() => setBannerError(null)}
607
- actions={getErrorActions(bannerError)}
608
- />
609
- )}
610
- </CoAgentStateRendersProvider>
611
- </CopilotContext.Provider>
612
- </CopilotChatConfigurationProvider>
613
- );
614
- }
615
-
616
- export const defaultCopilotContextCategories = ["global"];
617
-
618
- function entryPointsToFunctionCallHandler(actions: FrontendAction<any>[]): FunctionCallHandler {
619
- return async ({ name, args }: { name: string; args: Record<string, any> }) => {
620
- let actionsByFunctionName: Record<string, FrontendAction<any>> = {};
621
- for (let action of actions) {
622
- actionsByFunctionName[action.name] = action;
623
- }
624
-
625
- const action = actionsByFunctionName[name];
626
- let result: any = undefined;
627
- if (action) {
628
- await new Promise<void>((resolve, reject) => {
629
- flushSync(async () => {
630
- try {
631
- result = await action.handler?.(args);
632
- resolve();
633
- } catch (error) {
634
- reject(error);
635
- }
636
- });
637
- });
638
- await new Promise((resolve) => setTimeout(resolve, 20));
639
- }
640
- return result;
641
- };
642
- }
643
-
644
- function formatFeatureName(featureName: string): string {
645
- return featureName
646
- .replace(/_c$/, "")
647
- .split("_")
648
- .map((word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())
649
- .join(" ");
650
- }
651
-
652
- function validateProps(props: CopilotKitProps): never | void {
653
- const cloudFeatures = Object.keys(props).filter((key) => key.endsWith("_c"));
654
-
655
- // Check if we have either a runtimeUrl or one of the API keys
656
- const hasApiKey = props.publicApiKey || props.publicLicenseKey;
657
-
658
- if (!props.runtimeUrl && !hasApiKey) {
659
- throw new ConfigurationError(
660
- "Missing required prop: 'runtimeUrl' or 'publicApiKey' or 'publicLicenseKey'",
661
- );
662
- }
663
-
664
- if (cloudFeatures.length > 0 && !hasApiKey) {
665
- throw new MissingPublicApiKeyError(
666
- `Missing required prop: 'publicApiKey' or 'publicLicenseKey' to use cloud features: ${cloudFeatures
667
- .map(formatFeatureName)
668
- .join(", ")}`,
669
- );
670
- }
671
- }
@@ -1,3 +0,0 @@
1
- export { CopilotKit, defaultCopilotContextCategories } from "./copilotkit";
2
-
3
- export type { CopilotKitProps } from "./copilotkit-props";