@copilotkit/react-core 2.0.0-next.1 → 2.0.0-rc.0

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,135 +0,0 @@
1
- /**
2
- * `useCopilotReadable` is a React hook that provides app-state and other information
3
- * to the Copilot. Optionally, the hook can also handle hierarchical state within your
4
- * application, passing these parent-child relationships to the Copilot.
5
- *
6
- * ## Usage
7
- *
8
- * ### Simple Usage
9
- *
10
- * In its most basic usage, useCopilotReadable accepts a single string argument
11
- * representing any piece of app state, making it available for the Copilot to use
12
- * as context when responding to user input.
13
- *
14
- * ```tsx
15
- * import { useCopilotReadable } from "@copilotkit/react-core";
16
- *
17
- * export function MyComponent() {
18
- * const [employees, setEmployees] = useState([]);
19
- *
20
- * useCopilotReadable({
21
- * description: "The list of employees",
22
- * value: employees,
23
- * });
24
- * }
25
- * ```
26
- *
27
- * ### Nested Components
28
- *
29
- * Optionally, you can maintain the hierarchical structure of information by passing
30
- * `parentId`. This allows you to use `useCopilotReadable` in nested components:
31
- *
32
- * ```tsx /employeeContextId/1 {17,23}
33
- * import { useCopilotReadable } from "@copilotkit/react-core";
34
- *
35
- * function Employee(props: EmployeeProps) {
36
- * const { employeeName, workProfile, metadata } = props;
37
- *
38
- * // propagate any information to copilot
39
- * const employeeContextId = useCopilotReadable({
40
- * description: "Employee name",
41
- * value: employeeName
42
- * });
43
- *
44
- * // Pass a parentID to maintain a hierarchical structure.
45
- * // Especially useful with child React components, list elements, etc.
46
- * useCopilotReadable({
47
- * description: "Work profile",
48
- * value: workProfile.description(),
49
- * parentId: employeeContextId
50
- * });
51
- *
52
- * useCopilotReadable({
53
- * description: "Employee metadata",
54
- * value: metadata.description(),
55
- * parentId: employeeContextId
56
- * });
57
- *
58
- * return (
59
- * // Render as usual...
60
- * );
61
- * }
62
- * ```
63
- */
64
- import { useCopilotKit } from "@copilotkitnext/react";
65
- import { useEffect, useRef } from "react";
66
-
67
- /**
68
- * Options for the useCopilotReadable hook.
69
- */
70
- export interface UseCopilotReadableOptions {
71
- /**
72
- * The description of the information to be added to the Copilot context.
73
- */
74
- description: string;
75
- /**
76
- * The value to be added to the Copilot context. Object values are automatically stringified.
77
- */
78
- value: any;
79
- /**
80
- * The ID of the parent context, if any.
81
- */
82
- parentId?: string;
83
- /**
84
- * An array of categories to control which context are visible where. Particularly useful
85
- * with CopilotTextarea (see `useMakeAutosuggestionFunction`)
86
- */
87
- categories?: string[];
88
-
89
- /**
90
- * Whether the context is available to the Copilot.
91
- */
92
- available?: "enabled" | "disabled";
93
-
94
- /**
95
- * A custom conversion function to use to serialize the value to a string. If not provided, the value
96
- * will be serialized using `JSON.stringify`.
97
- */
98
- convert?: (description: string, value: any) => string;
99
- }
100
-
101
- /**
102
- * Adds the given information to the Copilot context to make it readable by Copilot.
103
- */
104
- export function useCopilotReadable(
105
- { description, value, convert, available }: UseCopilotReadableOptions,
106
- dependencies?: any[],
107
- ): string | undefined {
108
- const { copilotkit } = useCopilotKit();
109
- const ctxIdRef = useRef<string | undefined>(undefined);
110
- useEffect(() => {
111
- if (!copilotkit) return;
112
-
113
- const found = Object.entries(copilotkit.context).find(([id, ctxItem]) => {
114
- return JSON.stringify({ description, value }) == JSON.stringify(ctxItem);
115
- });
116
- if (found) {
117
- ctxIdRef.current = found[0];
118
- if (available === "disabled") copilotkit.removeContext(ctxIdRef.current);
119
- return;
120
- }
121
- if (!found && available === "disabled") return;
122
-
123
- ctxIdRef.current = copilotkit.addContext({
124
- description,
125
- value: (convert ?? JSON.stringify)(value),
126
- });
127
-
128
- return () => {
129
- if (!ctxIdRef.current) return;
130
- copilotkit.removeContext(ctxIdRef.current);
131
- };
132
- }, [description, value, convert]);
133
-
134
- return ctxIdRef.current;
135
- }
@@ -1,164 +0,0 @@
1
- import {
2
- CopilotRuntimeClient,
3
- CopilotRuntimeClientOptions,
4
- GraphQLError,
5
- } from "@copilotkit/runtime-client-gql";
6
- import { useToast } from "../components/toast/toast-provider";
7
- import { useMemo, useRef } from "react";
8
- import {
9
- ErrorVisibility,
10
- CopilotKitApiDiscoveryError,
11
- CopilotKitRemoteEndpointDiscoveryError,
12
- CopilotKitAgentDiscoveryError,
13
- CopilotKitError,
14
- CopilotKitErrorCode,
15
- CopilotErrorHandler,
16
- CopilotErrorEvent,
17
- } from "@copilotkit/shared";
18
- import { shouldShowDevConsole } from "../utils/dev-console";
19
-
20
- export interface CopilotRuntimeClientHookOptions extends CopilotRuntimeClientOptions {
21
- showDevConsole?: boolean;
22
- onError: CopilotErrorHandler;
23
- }
24
-
25
- export const useCopilotRuntimeClient = (options: CopilotRuntimeClientHookOptions) => {
26
- const { setBannerError } = useToast();
27
- const { showDevConsole, onError, ...runtimeOptions } = options;
28
-
29
- // Deduplication state for structured errors
30
- const lastStructuredErrorRef = useRef<{ message: string; timestamp: number } | null>(null);
31
-
32
- // Helper function to trace UI errors
33
- const traceUIError = async (error: CopilotKitError, originalError?: any) => {
34
- try {
35
- const errorEvent: CopilotErrorEvent = {
36
- type: "error",
37
- timestamp: Date.now(),
38
- context: {
39
- source: "ui",
40
- request: {
41
- operation: "runtimeClient",
42
- url: runtimeOptions.url,
43
- startTime: Date.now(),
44
- },
45
- technical: {
46
- environment: "browser",
47
- userAgent: typeof navigator !== "undefined" ? navigator.userAgent : undefined,
48
- stackTrace: originalError instanceof Error ? originalError.stack : undefined,
49
- },
50
- },
51
- error,
52
- };
53
- await onError(errorEvent);
54
- } catch (error) {
55
- console.error("Error in onError handler:", error);
56
- }
57
- };
58
-
59
- const runtimeClient = useMemo(() => {
60
- return new CopilotRuntimeClient({
61
- ...runtimeOptions,
62
- handleGQLErrors: (error) => {
63
- if ((error as any).graphQLErrors?.length) {
64
- const graphQLErrors = (error as any).graphQLErrors as GraphQLError[];
65
-
66
- // Route all errors to banners for consistent UI
67
- const routeError = (gqlError: GraphQLError) => {
68
- const extensions = gqlError.extensions;
69
- const visibility = extensions?.visibility as ErrorVisibility;
70
-
71
- // Silent errors - just log
72
- if (visibility === ErrorVisibility.SILENT) {
73
- console.error("CopilotKit Silent Error:", gqlError.message);
74
- return;
75
- }
76
-
77
- // All errors (including DEV_ONLY) show as banners for consistency
78
- // Deduplicate to prevent spam
79
- const now = Date.now();
80
- const errorMessage = gqlError.message;
81
- if (
82
- lastStructuredErrorRef.current &&
83
- lastStructuredErrorRef.current.message === errorMessage &&
84
- now - lastStructuredErrorRef.current.timestamp < 150
85
- ) {
86
- return; // Skip duplicate
87
- }
88
- lastStructuredErrorRef.current = { message: errorMessage, timestamp: now };
89
-
90
- const ckError = createStructuredError(gqlError);
91
- if (ckError) {
92
- setBannerError(ckError);
93
- // Trace the error
94
- traceUIError(ckError, gqlError);
95
- // TODO: if onError & renderError should work without key, insert here
96
- } else {
97
- // Fallback for unstructured errors
98
- const fallbackError = new CopilotKitError({
99
- message: gqlError.message,
100
- code: CopilotKitErrorCode.UNKNOWN,
101
- });
102
- setBannerError(fallbackError);
103
- // Trace the fallback error
104
- traceUIError(fallbackError, gqlError);
105
- // TODO: if onError & renderError should work without key, insert here
106
- }
107
- };
108
-
109
- // Process all errors as banners
110
- graphQLErrors.forEach(routeError);
111
- } else {
112
- // Route non-GraphQL errors to banner as well
113
- const fallbackError = new CopilotKitError({
114
- message: error?.message || String(error),
115
- code: CopilotKitErrorCode.UNKNOWN,
116
- });
117
- setBannerError(fallbackError);
118
- // Trace the non-GraphQL error
119
- traceUIError(fallbackError, error);
120
- // TODO: if onError & renderError should work without key, insert here
121
- }
122
- },
123
- handleGQLWarning: (message: string) => {
124
- console.warn(message);
125
- // Show warnings as banners too for consistency
126
- const warningError = new CopilotKitError({
127
- message,
128
- code: CopilotKitErrorCode.UNKNOWN,
129
- });
130
- setBannerError(warningError);
131
- },
132
- });
133
- }, [runtimeOptions, setBannerError, onError]);
134
-
135
- return runtimeClient;
136
- };
137
-
138
- // Create appropriate structured error from GraphQL error
139
- function createStructuredError(gqlError: GraphQLError): CopilotKitError | null {
140
- const extensions = gqlError.extensions;
141
- const originalError = extensions?.originalError as any;
142
- const message = originalError?.message || gqlError.message;
143
- const code = extensions?.code as CopilotKitErrorCode;
144
-
145
- if (code) {
146
- return new CopilotKitError({ message, code });
147
- }
148
-
149
- // Legacy error detection by stack trace
150
- if (originalError?.stack?.includes("CopilotApiDiscoveryError")) {
151
- return new CopilotKitApiDiscoveryError({ message });
152
- }
153
- if (originalError?.stack?.includes("CopilotKitRemoteEndpointDiscoveryError")) {
154
- return new CopilotKitRemoteEndpointDiscoveryError({ message });
155
- }
156
- if (originalError?.stack?.includes("CopilotKitAgentDiscoveryError")) {
157
- return new CopilotKitAgentDiscoveryError({
158
- agentName: "",
159
- availableAgents: [],
160
- });
161
- }
162
-
163
- return null;
164
- }
@@ -1,7 +0,0 @@
1
- import { useCopilotAction } from "./use-copilot-action";
2
- import { CatchAllFrontendAction } from "../types/frontend-action";
3
-
4
- export function useDefaultTool(tool: Omit<CatchAllFrontendAction, "name">, dependencies?: any[]) {
5
- // Use the existing useCopilotAction hook
6
- useCopilotAction({ ...tool, name: "*" } satisfies CatchAllFrontendAction, dependencies);
7
- }
@@ -1,105 +0,0 @@
1
- import { useCallback, useReducer } from "react";
2
- import { randomId } from "@copilotkit/shared";
3
-
4
- export type FlatCategoryStoreId = string;
5
-
6
- export interface UseFlatCategoryStoreReturn<T> {
7
- addElement: (value: T, categories: string[]) => FlatCategoryStoreId;
8
- removeElement: (id: FlatCategoryStoreId) => void;
9
- allElements: (categories: string[]) => T[];
10
- }
11
-
12
- interface FlatCategoryStoreElement<T> {
13
- id: FlatCategoryStoreId;
14
- value: T;
15
- categories: Set<string>;
16
- }
17
-
18
- const useFlatCategoryStore = <T>(): UseFlatCategoryStoreReturn<T> => {
19
- const [elements, dispatch] = useReducer(
20
- flatCategoryStoreReducer<T>,
21
- new Map<FlatCategoryStoreId, FlatCategoryStoreElement<T>>(),
22
- );
23
-
24
- const addElement = useCallback((value: T, categories: string[]): FlatCategoryStoreId => {
25
- const newId = randomId();
26
- dispatch({
27
- type: "ADD_ELEMENT",
28
- value,
29
- id: newId,
30
- categories,
31
- });
32
- return newId;
33
- }, []);
34
-
35
- const removeElement = useCallback((id: FlatCategoryStoreId): void => {
36
- dispatch({ type: "REMOVE_ELEMENT", id });
37
- }, []);
38
-
39
- const allElements = useCallback(
40
- (categories: string[]): T[] => {
41
- const categoriesSet = new Set(categories);
42
- const result: T[] = [];
43
- elements.forEach((element) => {
44
- if (setsHaveIntersection(categoriesSet, element.categories)) {
45
- result.push(element.value);
46
- }
47
- });
48
- return result;
49
- },
50
- [elements],
51
- );
52
-
53
- return { addElement, removeElement, allElements };
54
- };
55
-
56
- export default useFlatCategoryStore;
57
-
58
- // Action types
59
- type Action<T> =
60
- | {
61
- type: "ADD_ELEMENT";
62
- value: T;
63
- id: FlatCategoryStoreId;
64
- categories: string[];
65
- }
66
- | { type: "REMOVE_ELEMENT"; id: FlatCategoryStoreId };
67
-
68
- // Reducer
69
- function flatCategoryStoreReducer<T>(
70
- state: Map<FlatCategoryStoreId, FlatCategoryStoreElement<T>>,
71
- action: Action<T>,
72
- ): Map<FlatCategoryStoreId, FlatCategoryStoreElement<T>> {
73
- switch (action.type) {
74
- case "ADD_ELEMENT": {
75
- const { value, id, categories } = action;
76
- const newElement: FlatCategoryStoreElement<T> = {
77
- id,
78
- value,
79
- categories: new Set(categories),
80
- };
81
- const newState = new Map(state);
82
- newState.set(id, newElement);
83
- return newState;
84
- }
85
- case "REMOVE_ELEMENT": {
86
- const newState = new Map(state);
87
- newState.delete(action.id);
88
- return newState;
89
- }
90
- default:
91
- return state;
92
- }
93
- }
94
-
95
- function setsHaveIntersection<T>(setA: Set<T>, setB: Set<T>): boolean {
96
- const [smallerSet, largerSet] = setA.size <= setB.size ? [setA, setB] : [setB, setA];
97
-
98
- for (let item of smallerSet) {
99
- if (largerSet.has(item)) {
100
- return true;
101
- }
102
- }
103
-
104
- return false;
105
- }
@@ -1,96 +0,0 @@
1
- import React, { useEffect, useRef } from "react";
2
- import { ActionRenderProps, FrontendAction } from "../types/frontend-action";
3
- import { Parameter, getZodParameters, MappedParameterTypes } from "@copilotkit/shared";
4
- import { parseJson } from "@copilotkit/shared";
5
- import { ToolCallStatus } from "@copilotkitnext/core";
6
- import {
7
- type ReactFrontendTool,
8
- useFrontendTool as useFrontendToolVNext,
9
- } from "@copilotkitnext/react";
10
-
11
- type FrontendToolOptions<T extends Parameter[] | []> = ReactFrontendTool<MappedParameterTypes<T>>;
12
- type FrontendToolRenderArgs<T extends Parameter[] | []> =
13
- | {
14
- name: string;
15
- args: Partial<MappedParameterTypes<T>>;
16
- status: ToolCallStatus.InProgress;
17
- result: undefined;
18
- }
19
- | {
20
- name: string;
21
- args: MappedParameterTypes<T>;
22
- status: ToolCallStatus.Executing;
23
- result: undefined;
24
- }
25
- | {
26
- name: string;
27
- args: MappedParameterTypes<T>;
28
- status: ToolCallStatus.Complete;
29
- result: string;
30
- };
31
-
32
- export type UseFrontendToolArgs<T extends Parameter[] | [] = []> = {
33
- available?: "disabled" | "enabled";
34
- } & Pick<
35
- FrontendAction<T>,
36
- "name" | "description" | "parameters" | "handler" | "followUp" | "render"
37
- >;
38
-
39
- export function useFrontendTool<const T extends Parameter[] = []>(
40
- tool: UseFrontendToolArgs<T>,
41
- dependencies?: any[],
42
- ) {
43
- const { name, description, parameters, render, followUp } = tool;
44
- const zodParameters = getZodParameters(parameters);
45
-
46
- const normalizedRender: FrontendToolOptions<T>["render"] | undefined = (() => {
47
- if (typeof render === "undefined") {
48
- return undefined;
49
- }
50
-
51
- if (typeof render === "string") {
52
- const staticRender = render;
53
- return (() =>
54
- React.createElement(
55
- React.Fragment,
56
- null,
57
- staticRender,
58
- )) as FrontendToolOptions<T>["render"];
59
- }
60
-
61
- return ((args: FrontendToolRenderArgs<T>) => {
62
- const renderArgs = {
63
- ...args,
64
- result: typeof args.result === "string" ? parseJson(args.result, args.result) : args.result,
65
- } as ActionRenderProps<T>;
66
-
67
- const rendered = render(renderArgs);
68
-
69
- if (typeof rendered === "string") {
70
- return React.createElement(React.Fragment, null, rendered);
71
- }
72
-
73
- return rendered ?? null;
74
- }) as FrontendToolOptions<T>["render"];
75
- })();
76
-
77
- // Handler ref to avoid stale closures
78
- const handlerRef = useRef<typeof tool.handler>(tool.handler);
79
-
80
- useEffect(() => {
81
- handlerRef.current = tool.handler;
82
- }, [tool.handler, ...(dependencies ?? [])]);
83
-
84
- const normalizedHandler = tool.handler
85
- ? (args: MappedParameterTypes<T>) => handlerRef.current?.(args)
86
- : undefined;
87
-
88
- useFrontendToolVNext<MappedParameterTypes<T>>({
89
- name,
90
- description,
91
- parameters: zodParameters,
92
- handler: normalizedHandler,
93
- followUp,
94
- render: normalizedRender,
95
- });
96
- }
@@ -1,122 +0,0 @@
1
- import { ActionRenderProps, ActionRenderPropsWait, FrontendAction } from "../types";
2
- import {
3
- CopilotKitError,
4
- CopilotKitErrorCode,
5
- MappedParameterTypes,
6
- Parameter,
7
- getZodParameters,
8
- parseJson,
9
- } from "@copilotkit/shared";
10
- import { useHumanInTheLoop as useHumanInTheLoopVNext } from "@copilotkitnext/react";
11
- import { ToolCallStatus } from "@copilotkitnext/core";
12
- import React, { ComponentType, FunctionComponent, useEffect, useRef } from "react";
13
-
14
- type HumanInTheLoopOptions = Parameters<typeof useHumanInTheLoopVNext>[0];
15
- type HumanInTheLoopRender = HumanInTheLoopOptions["render"];
16
- type HumanInTheLoopRenderArgs = HumanInTheLoopRender extends (props: infer P) => any ? P : never;
17
-
18
- export type UseHumanInTheLoopArgs<T extends Parameter[] | [] = []> = {
19
- available?: "disabled" | "enabled";
20
- render: FrontendAction<T>["renderAndWaitForResponse"];
21
- followUp?: FrontendAction<T>["followUp"];
22
- } & Pick<FrontendAction<T>, "name" | "description" | "parameters">;
23
-
24
- type HitlRendererArgs =
25
- | {
26
- name: string;
27
- description: string;
28
- args: Partial<Record<string, unknown>>;
29
- status: ToolCallStatus.InProgress;
30
- result: undefined;
31
- respond: undefined;
32
- }
33
- | {
34
- name: string;
35
- description: string;
36
- args: Record<string, unknown>;
37
- status: ToolCallStatus.Executing;
38
- result: undefined;
39
- respond: (result: unknown) => Promise<void>;
40
- }
41
- | {
42
- name: string;
43
- description: string;
44
- args: Record<string, unknown>;
45
- status: ToolCallStatus.Complete;
46
- result: string;
47
- respond: undefined;
48
- };
49
- type HitlRenderer = FunctionComponent<HitlRendererArgs>;
50
-
51
- export function useHumanInTheLoop<const T extends Parameter[] | [] = []>(
52
- tool: UseHumanInTheLoopArgs<T>,
53
- dependencies?: any[],
54
- ) {
55
- const { render, ...toolRest } = tool;
56
- const { name, description, parameters, followUp } = toolRest;
57
- const zodParameters = getZodParameters(parameters);
58
- const renderRef = useRef<HitlRenderer | null>(null);
59
-
60
- useEffect(() => {
61
- renderRef.current = (args: HitlRendererArgs): React.ReactElement | null => {
62
- if (typeof render === "string") {
63
- return React.createElement(React.Fragment, null, render);
64
- }
65
-
66
- if (!render) {
67
- return null;
68
- }
69
-
70
- const renderProps: ActionRenderPropsWait<T> = (() => {
71
- const mappedArgs = args.args as unknown as MappedParameterTypes<T>;
72
-
73
- switch (args.status) {
74
- case ToolCallStatus.InProgress:
75
- return {
76
- args: mappedArgs,
77
- respond: args.respond,
78
- status: args.status,
79
- handler: undefined,
80
- };
81
- case ToolCallStatus.Executing:
82
- return {
83
- args: mappedArgs,
84
- respond: args.respond,
85
- status: args.status,
86
- handler: () => {},
87
- };
88
- case ToolCallStatus.Complete:
89
- return {
90
- args: mappedArgs,
91
- respond: args.respond,
92
- status: args.status,
93
- result: args.result ? parseJson(args.result, args.result) : args.result,
94
- handler: undefined,
95
- };
96
- default:
97
- throw new CopilotKitError({
98
- code: CopilotKitErrorCode.UNKNOWN,
99
- message: `Invalid tool call status: ${(args as unknown as { status: string }).status}`,
100
- });
101
- }
102
- })();
103
-
104
- const rendered = render(renderProps);
105
-
106
- if (typeof rendered === "string") {
107
- return React.createElement(React.Fragment, null, rendered);
108
- }
109
-
110
- return rendered ?? null;
111
- };
112
- }, [render, ...(dependencies ?? [])]);
113
-
114
- useHumanInTheLoopVNext({
115
- name,
116
- description,
117
- followUp,
118
- parameters: zodParameters,
119
- render: ((args: HumanInTheLoopRenderArgs) =>
120
- renderRef.current?.(args as HitlRendererArgs) ?? null) as HumanInTheLoopOptions["render"],
121
- });
122
- }