@copilotkit/react-core 0.0.0-0.0.0-max-changeset-10101010101010-20260109191632

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 (497) hide show
  1. package/CHANGELOG.md +4188 -0
  2. package/LICENSE +21 -0
  3. package/README.md +141 -0
  4. package/dist/chunk-2IDV5OHF.mjs +11 -0
  5. package/dist/chunk-2IDV5OHF.mjs.map +1 -0
  6. package/dist/chunk-336QEM3A.mjs +349 -0
  7. package/dist/chunk-336QEM3A.mjs.map +1 -0
  8. package/dist/chunk-36KQV2NA.mjs +1 -0
  9. package/dist/chunk-36KQV2NA.mjs.map +1 -0
  10. package/dist/chunk-3MHWEKFN.mjs +759 -0
  11. package/dist/chunk-3MHWEKFN.mjs.map +1 -0
  12. package/dist/chunk-4CEQJ2X6.mjs +31 -0
  13. package/dist/chunk-4CEQJ2X6.mjs.map +1 -0
  14. package/dist/chunk-4RRMC7L2.mjs +32 -0
  15. package/dist/chunk-4RRMC7L2.mjs.map +1 -0
  16. package/dist/chunk-6ESSSQ7Q.mjs +134 -0
  17. package/dist/chunk-6ESSSQ7Q.mjs.map +1 -0
  18. package/dist/chunk-6PUNP7CD.mjs +102 -0
  19. package/dist/chunk-6PUNP7CD.mjs.map +1 -0
  20. package/dist/chunk-6YOKPWQ7.mjs +1 -0
  21. package/dist/chunk-6YOKPWQ7.mjs.map +1 -0
  22. package/dist/chunk-6ZLPNY7X.mjs +225 -0
  23. package/dist/chunk-6ZLPNY7X.mjs.map +1 -0
  24. package/dist/chunk-7DTB7S5V.mjs +83 -0
  25. package/dist/chunk-7DTB7S5V.mjs.map +1 -0
  26. package/dist/chunk-7IBF6RBW.mjs +23 -0
  27. package/dist/chunk-7IBF6RBW.mjs.map +1 -0
  28. package/dist/chunk-7X3E6GHT.mjs +83 -0
  29. package/dist/chunk-7X3E6GHT.mjs.map +1 -0
  30. package/dist/chunk-A6NKSGH3.mjs +1 -0
  31. package/dist/chunk-A6NKSGH3.mjs.map +1 -0
  32. package/dist/chunk-ABWT4DRT.mjs +24 -0
  33. package/dist/chunk-ABWT4DRT.mjs.map +1 -0
  34. package/dist/chunk-AFNWX62Q.mjs +110 -0
  35. package/dist/chunk-AFNWX62Q.mjs.map +1 -0
  36. package/dist/chunk-BUSWSDYO.mjs +17 -0
  37. package/dist/chunk-BUSWSDYO.mjs.map +1 -0
  38. package/dist/chunk-CDUIA2WM.mjs +60 -0
  39. package/dist/chunk-CDUIA2WM.mjs.map +1 -0
  40. package/dist/chunk-CYDWEPFL.mjs +1 -0
  41. package/dist/chunk-CYDWEPFL.mjs.map +1 -0
  42. package/dist/chunk-DMLQZG75.mjs +25 -0
  43. package/dist/chunk-DMLQZG75.mjs.map +1 -0
  44. package/dist/chunk-E7SE25ZU.mjs +59 -0
  45. package/dist/chunk-E7SE25ZU.mjs.map +1 -0
  46. package/dist/chunk-EFL5OBKN.mjs +310 -0
  47. package/dist/chunk-EFL5OBKN.mjs.map +1 -0
  48. package/dist/chunk-F555TVE4.mjs +33 -0
  49. package/dist/chunk-F555TVE4.mjs.map +1 -0
  50. package/dist/chunk-FD6FGKYY.mjs +1 -0
  51. package/dist/chunk-FD6FGKYY.mjs.map +1 -0
  52. package/dist/chunk-FDOMAPJY.mjs +59 -0
  53. package/dist/chunk-FDOMAPJY.mjs.map +1 -0
  54. package/dist/chunk-GJOR3RI6.mjs +120 -0
  55. package/dist/chunk-GJOR3RI6.mjs.map +1 -0
  56. package/dist/chunk-GPEJNVE5.mjs +80 -0
  57. package/dist/chunk-GPEJNVE5.mjs.map +1 -0
  58. package/dist/chunk-HM6ON7AM.mjs +86 -0
  59. package/dist/chunk-HM6ON7AM.mjs.map +1 -0
  60. package/dist/chunk-I76HKHPJ.mjs +32 -0
  61. package/dist/chunk-I76HKHPJ.mjs.map +1 -0
  62. package/dist/chunk-ICIK2BSB.mjs +17 -0
  63. package/dist/chunk-ICIK2BSB.mjs.map +1 -0
  64. package/dist/chunk-JD7BAH7U.mjs +1 -0
  65. package/dist/chunk-JD7BAH7U.mjs.map +1 -0
  66. package/dist/chunk-LUGEI4YQ.mjs +1 -0
  67. package/dist/chunk-LUGEI4YQ.mjs.map +1 -0
  68. package/dist/chunk-N7FZFIWO.mjs +551 -0
  69. package/dist/chunk-N7FZFIWO.mjs.map +1 -0
  70. package/dist/chunk-NB2FKV2V.mjs +1 -0
  71. package/dist/chunk-NB2FKV2V.mjs.map +1 -0
  72. package/dist/chunk-NBK4KBLX.mjs +54 -0
  73. package/dist/chunk-NBK4KBLX.mjs.map +1 -0
  74. package/dist/chunk-O7ARI5CV.mjs +31 -0
  75. package/dist/chunk-O7ARI5CV.mjs.map +1 -0
  76. package/dist/chunk-P2YEE2ZI.mjs +36 -0
  77. package/dist/chunk-P2YEE2ZI.mjs.map +1 -0
  78. package/dist/chunk-PIF5KJYI.mjs +103 -0
  79. package/dist/chunk-PIF5KJYI.mjs.map +1 -0
  80. package/dist/chunk-PMAFHQ7P.mjs +65 -0
  81. package/dist/chunk-PMAFHQ7P.mjs.map +1 -0
  82. package/dist/chunk-QNUAXSDP.mjs +166 -0
  83. package/dist/chunk-QNUAXSDP.mjs.map +1 -0
  84. package/dist/chunk-RKTVJRK7.mjs +143 -0
  85. package/dist/chunk-RKTVJRK7.mjs.map +1 -0
  86. package/dist/chunk-SKC7AJIV.mjs +61 -0
  87. package/dist/chunk-SKC7AJIV.mjs.map +1 -0
  88. package/dist/chunk-SPCZTZCY.mjs +1 -0
  89. package/dist/chunk-SPCZTZCY.mjs.map +1 -0
  90. package/dist/chunk-SQDOUMPZ.mjs +125 -0
  91. package/dist/chunk-SQDOUMPZ.mjs.map +1 -0
  92. package/dist/chunk-WF65O6HX.mjs +66 -0
  93. package/dist/chunk-WF65O6HX.mjs.map +1 -0
  94. package/dist/chunk-XDFVCQD3.mjs +27 -0
  95. package/dist/chunk-XDFVCQD3.mjs.map +1 -0
  96. package/dist/chunk-YJ2KZDZJ.mjs +186 -0
  97. package/dist/chunk-YJ2KZDZJ.mjs.map +1 -0
  98. package/dist/chunk-YTQHRJUA.mjs +86 -0
  99. package/dist/chunk-YTQHRJUA.mjs.map +1 -0
  100. package/dist/chunk-YYN33GSG.mjs +73 -0
  101. package/dist/chunk-YYN33GSG.mjs.map +1 -0
  102. package/dist/chunk-Z6JV2LRY.mjs +37 -0
  103. package/dist/chunk-Z6JV2LRY.mjs.map +1 -0
  104. package/dist/chunk-ZVF5Q6IH.mjs +29 -0
  105. package/dist/chunk-ZVF5Q6IH.mjs.map +1 -0
  106. package/dist/chunk-ZYTXB6HH.mjs +151 -0
  107. package/dist/chunk-ZYTXB6HH.mjs.map +1 -0
  108. package/dist/components/CopilotListeners.d.ts +3 -0
  109. package/dist/components/CopilotListeners.js +101 -0
  110. package/dist/components/CopilotListeners.js.map +1 -0
  111. package/dist/components/CopilotListeners.mjs +9 -0
  112. package/dist/components/CopilotListeners.mjs.map +1 -0
  113. package/dist/components/copilot-provider/copilot-messages.d.ts +24 -0
  114. package/dist/components/copilot-provider/copilot-messages.js +351 -0
  115. package/dist/components/copilot-provider/copilot-messages.js.map +1 -0
  116. package/dist/components/copilot-provider/copilot-messages.mjs +16 -0
  117. package/dist/components/copilot-provider/copilot-messages.mjs.map +1 -0
  118. package/dist/components/copilot-provider/copilotkit-props.d.ts +160 -0
  119. package/dist/components/copilot-provider/copilotkit-props.js +19 -0
  120. package/dist/components/copilot-provider/copilotkit-props.js.map +1 -0
  121. package/dist/components/copilot-provider/copilotkit-props.mjs +1 -0
  122. package/dist/components/copilot-provider/copilotkit-props.mjs.map +1 -0
  123. package/dist/components/copilot-provider/copilotkit.d.ts +19 -0
  124. package/dist/components/copilot-provider/copilotkit.js +1960 -0
  125. package/dist/components/copilot-provider/copilotkit.js.map +1 -0
  126. package/dist/components/copilot-provider/copilotkit.mjs +31 -0
  127. package/dist/components/copilot-provider/copilotkit.mjs.map +1 -0
  128. package/dist/components/copilot-provider/index.d.ts +14 -0
  129. package/dist/components/copilot-provider/index.js +1960 -0
  130. package/dist/components/copilot-provider/index.js.map +1 -0
  131. package/dist/components/copilot-provider/index.mjs +30 -0
  132. package/dist/components/copilot-provider/index.mjs.map +1 -0
  133. package/dist/components/dev-console/console-trigger.d.ts +8 -0
  134. package/dist/components/dev-console/console-trigger.js +1202 -0
  135. package/dist/components/dev-console/console-trigger.js.map +1 -0
  136. package/dist/components/dev-console/console-trigger.mjs +233 -0
  137. package/dist/components/dev-console/console-trigger.mjs.map +1 -0
  138. package/dist/components/dev-console/developer-console-modal.d.ts +10 -0
  139. package/dist/components/dev-console/developer-console-modal.js +987 -0
  140. package/dist/components/dev-console/developer-console-modal.js.map +1 -0
  141. package/dist/components/dev-console/developer-console-modal.mjs +12 -0
  142. package/dist/components/dev-console/developer-console-modal.mjs.map +1 -0
  143. package/dist/components/dev-console/icons.d.ts +9 -0
  144. package/dist/components/dev-console/icons.js +131 -0
  145. package/dist/components/dev-console/icons.js.map +1 -0
  146. package/dist/components/dev-console/icons.mjs +16 -0
  147. package/dist/components/dev-console/icons.mjs.map +1 -0
  148. package/dist/components/error-boundary/error-boundary.d.ts +31 -0
  149. package/dist/components/error-boundary/error-boundary.js +500 -0
  150. package/dist/components/error-boundary/error-boundary.js.map +1 -0
  151. package/dist/components/error-boundary/error-boundary.mjs +15 -0
  152. package/dist/components/error-boundary/error-boundary.mjs.map +1 -0
  153. package/dist/components/error-boundary/error-utils.d.ts +11 -0
  154. package/dist/components/error-boundary/error-utils.js +190 -0
  155. package/dist/components/error-boundary/error-utils.js.map +1 -0
  156. package/dist/components/error-boundary/error-utils.mjs +14 -0
  157. package/dist/components/error-boundary/error-utils.mjs.map +1 -0
  158. package/dist/components/index.d.ts +14 -0
  159. package/dist/components/index.js +1960 -0
  160. package/dist/components/index.js.map +1 -0
  161. package/dist/components/index.mjs +31 -0
  162. package/dist/components/index.mjs.map +1 -0
  163. package/dist/components/toast/exclamation-mark-icon.d.ts +9 -0
  164. package/dist/components/toast/exclamation-mark-icon.js +55 -0
  165. package/dist/components/toast/exclamation-mark-icon.js.map +1 -0
  166. package/dist/components/toast/exclamation-mark-icon.mjs +8 -0
  167. package/dist/components/toast/exclamation-mark-icon.mjs.map +1 -0
  168. package/dist/components/toast/toast-provider.d.ts +27 -0
  169. package/dist/components/toast/toast-provider.js +347 -0
  170. package/dist/components/toast/toast-provider.js.map +1 -0
  171. package/dist/components/toast/toast-provider.mjs +10 -0
  172. package/dist/components/toast/toast-provider.mjs.map +1 -0
  173. package/dist/components/usage-banner.d.ts +29 -0
  174. package/dist/components/usage-banner.js +247 -0
  175. package/dist/components/usage-banner.js.map +1 -0
  176. package/dist/components/usage-banner.mjs +12 -0
  177. package/dist/components/usage-banner.mjs.map +1 -0
  178. package/dist/context/coagent-state-renders-context.d.ts +24 -0
  179. package/dist/context/coagent-state-renders-context.js +91 -0
  180. package/dist/context/coagent-state-renders-context.js.map +1 -0
  181. package/dist/context/coagent-state-renders-context.mjs +12 -0
  182. package/dist/context/coagent-state-renders-context.mjs.map +1 -0
  183. package/dist/context/copilot-context.d.ts +10 -0
  184. package/dist/context/copilot-context.js +161 -0
  185. package/dist/context/copilot-context.js.map +1 -0
  186. package/dist/context/copilot-context.mjs +10 -0
  187. package/dist/context/copilot-context.mjs.map +1 -0
  188. package/dist/context/copilot-messages-context.d.ts +18 -0
  189. package/dist/context/copilot-messages-context.js +60 -0
  190. package/dist/context/copilot-messages-context.js.map +1 -0
  191. package/dist/context/copilot-messages-context.mjs +10 -0
  192. package/dist/context/copilot-messages-context.mjs.map +1 -0
  193. package/dist/context/index.d.ts +15 -0
  194. package/dist/context/index.js +285 -0
  195. package/dist/context/index.js.map +1 -0
  196. package/dist/context/index.mjs +33 -0
  197. package/dist/context/index.mjs.map +1 -0
  198. package/dist/context/threads-context.d.ts +16 -0
  199. package/dist/context/threads-context.js +59 -0
  200. package/dist/context/threads-context.js.map +1 -0
  201. package/dist/context/threads-context.mjs +12 -0
  202. package/dist/context/threads-context.mjs.map +1 -0
  203. package/dist/copilot-context-ec77e921.d.ts +209 -0
  204. package/dist/hooks/index.d.ts +33 -0
  205. package/dist/hooks/index.js +1774 -0
  206. package/dist/hooks/index.js.map +1 -0
  207. package/dist/hooks/index.mjs +91 -0
  208. package/dist/hooks/index.mjs.map +1 -0
  209. package/dist/hooks/use-agent-nodename.d.ts +3 -0
  210. package/dist/hooks/use-agent-nodename.js +56 -0
  211. package/dist/hooks/use-agent-nodename.js.map +1 -0
  212. package/dist/hooks/use-agent-nodename.mjs +8 -0
  213. package/dist/hooks/use-agent-nodename.mjs.map +1 -0
  214. package/dist/hooks/use-coagent-state-render-bridge.d.ts +100 -0
  215. package/dist/hooks/use-coagent-state-render-bridge.js +214 -0
  216. package/dist/hooks/use-coagent-state-render-bridge.js.map +1 -0
  217. package/dist/hooks/use-coagent-state-render-bridge.mjs +15 -0
  218. package/dist/hooks/use-coagent-state-render-bridge.mjs.map +1 -0
  219. package/dist/hooks/use-coagent-state-render.d.ts +55 -0
  220. package/dist/hooks/use-coagent-state-render.js +255 -0
  221. package/dist/hooks/use-coagent-state-render.js.map +1 -0
  222. package/dist/hooks/use-coagent-state-render.mjs +11 -0
  223. package/dist/hooks/use-coagent-state-render.mjs.map +1 -0
  224. package/dist/hooks/use-coagent.d.ts +192 -0
  225. package/dist/hooks/use-coagent.js +233 -0
  226. package/dist/hooks/use-coagent.js.map +1 -0
  227. package/dist/hooks/use-coagent.mjs +9 -0
  228. package/dist/hooks/use-coagent.mjs.map +1 -0
  229. package/dist/hooks/use-configure-chat-suggestions.d.ts +36 -0
  230. package/dist/hooks/use-configure-chat-suggestions.js +79 -0
  231. package/dist/hooks/use-configure-chat-suggestions.js.map +1 -0
  232. package/dist/hooks/use-configure-chat-suggestions.mjs +47 -0
  233. package/dist/hooks/use-configure-chat-suggestions.mjs.map +1 -0
  234. package/dist/hooks/use-copilot-action.d.ts +103 -0
  235. package/dist/hooks/use-copilot-action.js +295 -0
  236. package/dist/hooks/use-copilot-action.js.map +1 -0
  237. package/dist/hooks/use-copilot-action.mjs +11 -0
  238. package/dist/hooks/use-copilot-action.mjs.map +1 -0
  239. package/dist/hooks/use-copilot-additional-instructions.d.ts +26 -0
  240. package/dist/hooks/use-copilot-additional-instructions.js +177 -0
  241. package/dist/hooks/use-copilot-additional-instructions.js.map +1 -0
  242. package/dist/hooks/use-copilot-additional-instructions.mjs +9 -0
  243. package/dist/hooks/use-copilot-additional-instructions.mjs.map +1 -0
  244. package/dist/hooks/use-copilot-authenticated-action.d.ts +18 -0
  245. package/dist/hooks/use-copilot-authenticated-action.js +462 -0
  246. package/dist/hooks/use-copilot-authenticated-action.js.map +1 -0
  247. package/dist/hooks/use-copilot-authenticated-action.mjs +13 -0
  248. package/dist/hooks/use-copilot-authenticated-action.mjs.map +1 -0
  249. package/dist/hooks/use-copilot-chat-headless_c.d.ts +25 -0
  250. package/dist/hooks/use-copilot-chat-headless_c.js +1044 -0
  251. package/dist/hooks/use-copilot-chat-headless_c.js.map +1 -0
  252. package/dist/hooks/use-copilot-chat-headless_c.mjs +24 -0
  253. package/dist/hooks/use-copilot-chat-headless_c.mjs.map +1 -0
  254. package/dist/hooks/use-copilot-chat-suggestions.d.ts +35 -0
  255. package/dist/hooks/use-copilot-chat-suggestions.js +60 -0
  256. package/dist/hooks/use-copilot-chat-suggestions.js.map +1 -0
  257. package/dist/hooks/use-copilot-chat-suggestions.mjs +8 -0
  258. package/dist/hooks/use-copilot-chat-suggestions.mjs.map +1 -0
  259. package/dist/hooks/use-copilot-chat.d.ts +92 -0
  260. package/dist/hooks/use-copilot-chat.js +978 -0
  261. package/dist/hooks/use-copilot-chat.js.map +1 -0
  262. package/dist/hooks/use-copilot-chat.mjs +21 -0
  263. package/dist/hooks/use-copilot-chat.mjs.map +1 -0
  264. package/dist/hooks/use-copilot-chat_internal.d.ts +244 -0
  265. package/dist/hooks/use-copilot-chat_internal.js +976 -0
  266. package/dist/hooks/use-copilot-chat_internal.js.map +1 -0
  267. package/dist/hooks/use-copilot-chat_internal.mjs +22 -0
  268. package/dist/hooks/use-copilot-chat_internal.mjs.map +1 -0
  269. package/dist/hooks/use-copilot-readable.d.ts +37 -0
  270. package/dist/hooks/use-copilot-readable.js +61 -0
  271. package/dist/hooks/use-copilot-readable.js.map +1 -0
  272. package/dist/hooks/use-copilot-readable.mjs +8 -0
  273. package/dist/hooks/use-copilot-readable.mjs.map +1 -0
  274. package/dist/hooks/use-copilot-runtime-client.d.ts +10 -0
  275. package/dist/hooks/use-copilot-runtime-client.js +203 -0
  276. package/dist/hooks/use-copilot-runtime-client.js.map +1 -0
  277. package/dist/hooks/use-copilot-runtime-client.mjs +9 -0
  278. package/dist/hooks/use-copilot-runtime-client.mjs.map +1 -0
  279. package/dist/hooks/use-default-tool.d.ts +8 -0
  280. package/dist/hooks/use-default-tool.js +302 -0
  281. package/dist/hooks/use-default-tool.js.map +1 -0
  282. package/dist/hooks/use-default-tool.mjs +12 -0
  283. package/dist/hooks/use-default-tool.mjs.map +1 -0
  284. package/dist/hooks/use-flat-category-store.d.ts +9 -0
  285. package/dist/hooks/use-flat-category-store.js +93 -0
  286. package/dist/hooks/use-flat-category-store.js.map +1 -0
  287. package/dist/hooks/use-flat-category-store.mjs +8 -0
  288. package/dist/hooks/use-flat-category-store.mjs.map +1 -0
  289. package/dist/hooks/use-frontend-tool.d.ts +11 -0
  290. package/dist/hooks/use-frontend-tool.js +104 -0
  291. package/dist/hooks/use-frontend-tool.js.map +1 -0
  292. package/dist/hooks/use-frontend-tool.mjs +8 -0
  293. package/dist/hooks/use-frontend-tool.mjs.map +1 -0
  294. package/dist/hooks/use-human-in-the-loop.d.ts +13 -0
  295. package/dist/hooks/use-human-in-the-loop.js +122 -0
  296. package/dist/hooks/use-human-in-the-loop.js.map +1 -0
  297. package/dist/hooks/use-human-in-the-loop.mjs +8 -0
  298. package/dist/hooks/use-human-in-the-loop.mjs.map +1 -0
  299. package/dist/hooks/use-langgraph-interrupt-render.d.ts +6 -0
  300. package/dist/hooks/use-langgraph-interrupt-render.js +318 -0
  301. package/dist/hooks/use-langgraph-interrupt-render.js.map +1 -0
  302. package/dist/hooks/use-langgraph-interrupt-render.mjs +14 -0
  303. package/dist/hooks/use-langgraph-interrupt-render.mjs.map +1 -0
  304. package/dist/hooks/use-langgraph-interrupt.d.ts +14 -0
  305. package/dist/hooks/use-langgraph-interrupt.js +201 -0
  306. package/dist/hooks/use-langgraph-interrupt.js.map +1 -0
  307. package/dist/hooks/use-langgraph-interrupt.mjs +10 -0
  308. package/dist/hooks/use-langgraph-interrupt.mjs.map +1 -0
  309. package/dist/hooks/use-lazy-tool-renderer.d.ts +6 -0
  310. package/dist/hooks/use-lazy-tool-renderer.js +53 -0
  311. package/dist/hooks/use-lazy-tool-renderer.js.map +1 -0
  312. package/dist/hooks/use-lazy-tool-renderer.mjs +8 -0
  313. package/dist/hooks/use-lazy-tool-renderer.mjs.map +1 -0
  314. package/dist/hooks/use-make-copilot-document-readable.d.ts +12 -0
  315. package/dist/hooks/use-make-copilot-document-readable.js +176 -0
  316. package/dist/hooks/use-make-copilot-document-readable.js.map +1 -0
  317. package/dist/hooks/use-make-copilot-document-readable.mjs +9 -0
  318. package/dist/hooks/use-make-copilot-document-readable.mjs.map +1 -0
  319. package/dist/hooks/use-render-tool-call.d.ts +12 -0
  320. package/dist/hooks/use-render-tool-call.js +90 -0
  321. package/dist/hooks/use-render-tool-call.js.map +1 -0
  322. package/dist/hooks/use-render-tool-call.mjs +8 -0
  323. package/dist/hooks/use-render-tool-call.mjs.map +1 -0
  324. package/dist/hooks/use-tree.d.ts +19 -0
  325. package/dist/hooks/use-tree.js +175 -0
  326. package/dist/hooks/use-tree.js.map +1 -0
  327. package/dist/hooks/use-tree.mjs +8 -0
  328. package/dist/hooks/use-tree.mjs.map +1 -0
  329. package/dist/index.d.ts +43 -0
  330. package/dist/index.js +3528 -0
  331. package/dist/index.js.map +1 -0
  332. package/dist/index.mjs +149 -0
  333. package/dist/index.mjs.map +1 -0
  334. package/dist/lib/copilot-task.d.ts +97 -0
  335. package/dist/lib/copilot-task.js +194 -0
  336. package/dist/lib/copilot-task.js.map +1 -0
  337. package/dist/lib/copilot-task.mjs +31 -0
  338. package/dist/lib/copilot-task.mjs.map +1 -0
  339. package/dist/lib/index.d.ts +11 -0
  340. package/dist/lib/index.js +196 -0
  341. package/dist/lib/index.js.map +1 -0
  342. package/dist/lib/index.mjs +32 -0
  343. package/dist/lib/index.mjs.map +1 -0
  344. package/dist/lib/status-checker.d.ts +17 -0
  345. package/dist/lib/status-checker.js +102 -0
  346. package/dist/lib/status-checker.js.map +1 -0
  347. package/dist/lib/status-checker.mjs +8 -0
  348. package/dist/lib/status-checker.mjs.map +1 -0
  349. package/dist/setupTests.d.ts +2 -0
  350. package/dist/setupTests.js +26 -0
  351. package/dist/setupTests.js.map +1 -0
  352. package/dist/setupTests.mjs +24 -0
  353. package/dist/setupTests.mjs.map +1 -0
  354. package/dist/types/chat-suggestion-configuration.d.ts +22 -0
  355. package/dist/types/chat-suggestion-configuration.js +19 -0
  356. package/dist/types/chat-suggestion-configuration.js.map +1 -0
  357. package/dist/types/chat-suggestion-configuration.mjs +1 -0
  358. package/dist/types/chat-suggestion-configuration.mjs.map +1 -0
  359. package/dist/types/coagent-action.d.ts +29 -0
  360. package/dist/types/coagent-action.js +19 -0
  361. package/dist/types/coagent-action.js.map +1 -0
  362. package/dist/types/coagent-action.mjs +1 -0
  363. package/dist/types/coagent-action.mjs.map +1 -0
  364. package/dist/types/coagent-state.d.ts +15 -0
  365. package/dist/types/coagent-state.js +19 -0
  366. package/dist/types/coagent-state.js.map +1 -0
  367. package/dist/types/coagent-state.mjs +1 -0
  368. package/dist/types/coagent-state.mjs.map +1 -0
  369. package/dist/types/crew.d.ts +79 -0
  370. package/dist/types/crew.js +19 -0
  371. package/dist/types/crew.js.map +1 -0
  372. package/dist/types/crew.mjs +2 -0
  373. package/dist/types/crew.mjs.map +1 -0
  374. package/dist/types/document-pointer.d.ts +9 -0
  375. package/dist/types/document-pointer.js +19 -0
  376. package/dist/types/document-pointer.js.map +1 -0
  377. package/dist/types/document-pointer.mjs +1 -0
  378. package/dist/types/document-pointer.mjs.map +1 -0
  379. package/dist/types/frontend-action.d.ts +127 -0
  380. package/dist/types/frontend-action.js +53 -0
  381. package/dist/types/frontend-action.js.map +1 -0
  382. package/dist/types/frontend-action.mjs +8 -0
  383. package/dist/types/frontend-action.mjs.map +1 -0
  384. package/dist/types/index.d.ts +12 -0
  385. package/dist/types/index.js +19 -0
  386. package/dist/types/index.js.map +1 -0
  387. package/dist/types/index.mjs +4 -0
  388. package/dist/types/index.mjs.map +1 -0
  389. package/dist/types/interrupt-action.d.ts +10 -0
  390. package/dist/types/interrupt-action.js +19 -0
  391. package/dist/types/interrupt-action.js.map +1 -0
  392. package/dist/types/interrupt-action.mjs +2 -0
  393. package/dist/types/interrupt-action.mjs.map +1 -0
  394. package/dist/types/system-message.d.ts +3 -0
  395. package/dist/types/system-message.js +19 -0
  396. package/dist/types/system-message.js.map +1 -0
  397. package/dist/types/system-message.mjs +1 -0
  398. package/dist/types/system-message.mjs.map +1 -0
  399. package/dist/utils/dev-console.d.ts +3 -0
  400. package/dist/utils/dev-console.js +41 -0
  401. package/dist/utils/dev-console.js.map +1 -0
  402. package/dist/utils/dev-console.mjs +8 -0
  403. package/dist/utils/dev-console.mjs.map +1 -0
  404. package/dist/utils/index.d.ts +2 -0
  405. package/dist/utils/index.js +52 -0
  406. package/dist/utils/index.js.map +1 -0
  407. package/dist/utils/index.mjs +13 -0
  408. package/dist/utils/index.mjs.map +1 -0
  409. package/dist/utils/suggestions-constants.d.ts +9 -0
  410. package/dist/utils/suggestions-constants.js +35 -0
  411. package/dist/utils/suggestions-constants.js.map +1 -0
  412. package/dist/utils/suggestions-constants.mjs +8 -0
  413. package/dist/utils/suggestions-constants.mjs.map +1 -0
  414. package/dist/utils/utils.d.ts +2 -0
  415. package/dist/utils/utils.js +19 -0
  416. package/dist/utils/utils.js.map +1 -0
  417. package/dist/utils/utils.mjs +1 -0
  418. package/dist/utils/utils.mjs.map +1 -0
  419. package/dist/v2/index.css +4 -0
  420. package/dist/v2/index.css.map +1 -0
  421. package/dist/v2/index.d.ts +2 -0
  422. package/dist/v2/index.js +27 -0
  423. package/dist/v2/index.js.map +1 -0
  424. package/dist/v2/index.mjs +6 -0
  425. package/dist/v2/index.mjs.map +1 -0
  426. package/jest.config.js +25 -0
  427. package/package.json +92 -0
  428. package/src/components/CopilotListeners.tsx +81 -0
  429. package/src/components/copilot-provider/__tests__/copilotkit-error.test.tsx +75 -0
  430. package/src/components/copilot-provider/copilot-messages.tsx +274 -0
  431. package/src/components/copilot-provider/copilotkit-props.tsx +169 -0
  432. package/src/components/copilot-provider/copilotkit.tsx +671 -0
  433. package/src/components/copilot-provider/index.ts +3 -0
  434. package/src/components/dev-console/console-trigger.tsx +254 -0
  435. package/src/components/dev-console/developer-console-modal.tsx +866 -0
  436. package/src/components/dev-console/icons.tsx +101 -0
  437. package/src/components/error-boundary/error-boundary.tsx +91 -0
  438. package/src/components/error-boundary/error-utils.tsx +100 -0
  439. package/src/components/index.ts +1 -0
  440. package/src/components/toast/exclamation-mark-icon.tsx +27 -0
  441. package/src/components/toast/toast-provider.tsx +363 -0
  442. package/src/components/usage-banner.tsx +259 -0
  443. package/src/context/coagent-state-renders-context.tsx +76 -0
  444. package/src/context/copilot-context.tsx +332 -0
  445. package/src/context/copilot-messages-context.tsx +35 -0
  446. package/src/context/index.ts +16 -0
  447. package/src/context/threads-context.tsx +41 -0
  448. package/src/hooks/__tests__/use-coagent-config.test.ts +351 -0
  449. package/src/hooks/index.ts +34 -0
  450. package/src/hooks/use-agent-nodename.ts +30 -0
  451. package/src/hooks/use-coagent-state-render-bridge.tsx +293 -0
  452. package/src/hooks/use-coagent-state-render.ts +152 -0
  453. package/src/hooks/use-coagent.ts +366 -0
  454. package/src/hooks/use-configure-chat-suggestions.tsx +86 -0
  455. package/src/hooks/use-copilot-action.ts +236 -0
  456. package/src/hooks/use-copilot-additional-instructions.ts +85 -0
  457. package/src/hooks/use-copilot-authenticated-action.ts +70 -0
  458. package/src/hooks/use-copilot-chat-headless_c.ts +258 -0
  459. package/src/hooks/use-copilot-chat-suggestions.tsx +124 -0
  460. package/src/hooks/use-copilot-chat.ts +130 -0
  461. package/src/hooks/use-copilot-chat_internal.ts +696 -0
  462. package/src/hooks/use-copilot-readable.ts +135 -0
  463. package/src/hooks/use-copilot-runtime-client.ts +164 -0
  464. package/src/hooks/use-default-tool.ts +7 -0
  465. package/src/hooks/use-flat-category-store.ts +105 -0
  466. package/src/hooks/use-frontend-tool.ts +96 -0
  467. package/src/hooks/use-human-in-the-loop.ts +122 -0
  468. package/src/hooks/use-langgraph-interrupt-render.ts +136 -0
  469. package/src/hooks/use-langgraph-interrupt.ts +36 -0
  470. package/src/hooks/use-lazy-tool-renderer.tsx +30 -0
  471. package/src/hooks/use-make-copilot-document-readable.ts +30 -0
  472. package/src/hooks/use-render-tool-call.ts +80 -0
  473. package/src/hooks/use-tree.ts +207 -0
  474. package/src/index.tsx +7 -0
  475. package/src/lib/copilot-task.ts +201 -0
  476. package/src/lib/index.ts +1 -0
  477. package/src/lib/status-checker.ts +64 -0
  478. package/src/setupTests.ts +26 -0
  479. package/src/types/chat-suggestion-configuration.ts +23 -0
  480. package/src/types/coagent-action.ts +31 -0
  481. package/src/types/coagent-state.ts +13 -0
  482. package/src/types/crew.ts +89 -0
  483. package/src/types/document-pointer.ts +7 -0
  484. package/src/types/frontend-action.ts +202 -0
  485. package/src/types/index.ts +17 -0
  486. package/src/types/interrupt-action.ts +43 -0
  487. package/src/types/system-message.ts +4 -0
  488. package/src/utils/dev-console.ts +19 -0
  489. package/src/utils/index.ts +2 -0
  490. package/src/utils/suggestions-constants.ts +8 -0
  491. package/src/utils/utils.test.ts +7 -0
  492. package/src/utils/utils.ts +8 -0
  493. package/src/v2/index.css +1 -0
  494. package/src/v2/index.ts +4 -0
  495. package/tsconfig.json +8 -0
  496. package/tsup.config.ts +16 -0
  497. package/typedoc.json +4 -0
@@ -0,0 +1,201 @@
1
+ /**
2
+ * This class is used to execute one-off tasks, for example on button press. It can use the context available via [useCopilotReadable](/reference/hooks/useCopilotReadable) and the actions provided by [useCopilotAction](/reference/hooks/useCopilotAction), or you can provide your own context and actions.
3
+ *
4
+ * ## Example
5
+ * In the simplest case, use CopilotTask in the context of your app by giving it instructions on what to do.
6
+ *
7
+ * ```tsx
8
+ * import { CopilotTask, useCopilotContext } from "@copilotkit/react-core";
9
+ *
10
+ * export function MyComponent() {
11
+ * const context = useCopilotContext();
12
+ *
13
+ * const task = new CopilotTask({
14
+ * instructions: "Set a random message",
15
+ * actions: [
16
+ * {
17
+ * name: "setMessage",
18
+ * description: "Set the message.",
19
+ * argumentAnnotations: [
20
+ * {
21
+ * name: "message",
22
+ * type: "string",
23
+ * description:
24
+ * "A message to display.",
25
+ * required: true,
26
+ * },
27
+ * ],
28
+ * }
29
+ * ]
30
+ * });
31
+ *
32
+ * const executeTask = async () => {
33
+ * await task.run(context, action);
34
+ * }
35
+ *
36
+ * return (
37
+ * <>
38
+ * <button onClick={executeTask}>
39
+ * Execute task
40
+ * </button>
41
+ * </>
42
+ * )
43
+ * }
44
+ * ```
45
+ *
46
+ * Have a look at the [Presentation Example App](https://github.com/CopilotKit/CopilotKit/blob/main/src/v1.x/examples/next-openai/src/app/presentation/page.tsx) for a more complete example.
47
+ */
48
+
49
+ import {
50
+ ActionExecutionMessage,
51
+ CopilotRuntimeClient,
52
+ Message,
53
+ Role,
54
+ TextMessage,
55
+ convertGqlOutputToMessages,
56
+ convertMessagesToGqlInput,
57
+ filterAgentStateMessages,
58
+ CopilotRequestType,
59
+ ForwardedParametersInput,
60
+ } from "@copilotkit/runtime-client-gql";
61
+ import { FrontendAction, processActionsForRuntimeRequest } from "../types/frontend-action";
62
+ import { CopilotContextParams } from "../context";
63
+ import { defaultCopilotContextCategories } from "../components";
64
+
65
+ export interface CopilotTaskConfig {
66
+ /**
67
+ * The instructions to be given to the assistant.
68
+ */
69
+ instructions: string;
70
+ /**
71
+ * An array of action definitions that can be called.
72
+ */
73
+ actions?: FrontendAction<any>[];
74
+ /**
75
+ * Whether to include the copilot readable context in the task.
76
+ */
77
+ includeCopilotReadable?: boolean;
78
+
79
+ /**
80
+ * Whether to include actions defined via useCopilotAction in the task.
81
+ */
82
+ includeCopilotActions?: boolean;
83
+
84
+ /**
85
+ * The forwarded parameters to use for the task.
86
+ */
87
+ forwardedParameters?: ForwardedParametersInput;
88
+ }
89
+
90
+ export class CopilotTask<T = any> {
91
+ private instructions: string;
92
+ private actions: FrontendAction<any>[];
93
+ private includeCopilotReadable: boolean;
94
+ private includeCopilotActions: boolean;
95
+ private forwardedParameters?: ForwardedParametersInput;
96
+ constructor(config: CopilotTaskConfig) {
97
+ this.instructions = config.instructions;
98
+ this.actions = config.actions || [];
99
+ this.includeCopilotReadable = config.includeCopilotReadable !== false;
100
+ this.includeCopilotActions = config.includeCopilotActions !== false;
101
+ this.forwardedParameters = config.forwardedParameters;
102
+ }
103
+
104
+ /**
105
+ * Run the task.
106
+ * @param context The CopilotContext to use for the task. Use `useCopilotContext` to obtain the current context.
107
+ * @param data The data to use for the task.
108
+ */
109
+ async run(context: CopilotContextParams, data?: T): Promise<void> {
110
+ const actions = this.includeCopilotActions ? Object.assign({}, context.actions) : {};
111
+
112
+ // merge functions into entry points
113
+ for (const fn of this.actions) {
114
+ actions[fn.name] = fn;
115
+ }
116
+
117
+ let contextString = "";
118
+
119
+ if (data) {
120
+ contextString = (typeof data === "string" ? data : JSON.stringify(data)) + "\n\n";
121
+ }
122
+
123
+ if (this.includeCopilotReadable) {
124
+ contextString += context.getContextString([], defaultCopilotContextCategories);
125
+ }
126
+
127
+ const systemMessage = new TextMessage({
128
+ content: taskSystemMessage(contextString, this.instructions),
129
+ role: Role.System,
130
+ });
131
+
132
+ const messages: Message[] = [systemMessage];
133
+
134
+ const runtimeClient = new CopilotRuntimeClient({
135
+ url: context.copilotApiConfig.chatApiEndpoint,
136
+ publicApiKey: context.copilotApiConfig.publicApiKey,
137
+ headers: context.copilotApiConfig.headers,
138
+ credentials: context.copilotApiConfig.credentials,
139
+ });
140
+
141
+ const response = await runtimeClient
142
+ .generateCopilotResponse({
143
+ data: {
144
+ frontend: {
145
+ actions: processActionsForRuntimeRequest(Object.values(actions)),
146
+ url: window.location.href,
147
+ },
148
+ messages: convertMessagesToGqlInput(filterAgentStateMessages(messages)),
149
+ metadata: {
150
+ requestType: CopilotRequestType.Task,
151
+ },
152
+ forwardedParameters: {
153
+ // if forwardedParameters is provided, use it
154
+ toolChoice: "required",
155
+ ...(this.forwardedParameters ?? {}),
156
+ },
157
+ },
158
+ properties: context.copilotApiConfig.properties,
159
+ })
160
+ .toPromise();
161
+
162
+ const functionCallHandler = context.getFunctionCallHandler(actions);
163
+ const functionCalls = convertGqlOutputToMessages(
164
+ response.data?.generateCopilotResponse?.messages || [],
165
+ ).filter((m): m is ActionExecutionMessage => m.isActionExecutionMessage());
166
+
167
+ for (const functionCall of functionCalls) {
168
+ await functionCallHandler({
169
+ messages,
170
+ name: functionCall.name,
171
+ args: functionCall.arguments,
172
+ });
173
+ }
174
+ }
175
+ }
176
+
177
+ function taskSystemMessage(contextString: string, instructions: string): string {
178
+ return `
179
+ Please act as an efficient, competent, conscientious, and industrious professional assistant.
180
+
181
+ Help the user achieve their goals, and you do so in a way that is as efficient as possible, without unnecessary fluff, but also without sacrificing professionalism.
182
+ Always be polite and respectful, and prefer brevity over verbosity.
183
+
184
+ The user has provided you with the following context:
185
+ \`\`\`
186
+ ${contextString}
187
+ \`\`\`
188
+
189
+ They have also provided you with functions you can call to initiate actions on their behalf.
190
+
191
+ Please assist them as best you can.
192
+
193
+ This is not a conversation, so please do not ask questions. Just call a function without saying anything else.
194
+
195
+ The user has given you the following task to complete:
196
+
197
+ \`\`\`
198
+ ${instructions}
199
+ \`\`\`
200
+ `;
201
+ }
@@ -0,0 +1 @@
1
+ export * from "./copilot-task";
@@ -0,0 +1,64 @@
1
+ import {
2
+ COPILOT_CLOUD_API_URL,
3
+ COPILOT_CLOUD_PUBLIC_API_KEY_HEADER,
4
+ Severity,
5
+ } from "@copilotkit/shared";
6
+
7
+ const STATUS_CHECK_INTERVAL = 1000 * 60 * 5; // 5 minutes
8
+
9
+ export type Status = {
10
+ severity: Severity;
11
+ message: string;
12
+ };
13
+
14
+ export class StatusChecker {
15
+ private activeKey: string | null = null;
16
+ private intervalId: ReturnType<typeof setInterval> | null = null;
17
+ private instanceCount = 0;
18
+ private lastResponse: Status | null = null;
19
+
20
+ async start(publicApiKey: string, onUpdate?: (status: Status | null) => void) {
21
+ this.instanceCount++;
22
+ if (this.activeKey === publicApiKey) return;
23
+
24
+ if (this.intervalId) clearInterval(this.intervalId);
25
+
26
+ const checkStatus = async () => {
27
+ try {
28
+ const response = await fetch(`${COPILOT_CLOUD_API_URL}/ciu`, {
29
+ method: "GET",
30
+ headers: {
31
+ [COPILOT_CLOUD_PUBLIC_API_KEY_HEADER]: publicApiKey,
32
+ },
33
+ }).then((response) => response.json() as Promise<Status>);
34
+ this.lastResponse = response;
35
+ onUpdate?.(response);
36
+ return response;
37
+ } catch (error) {
38
+ // Silently fail
39
+ return null;
40
+ }
41
+ };
42
+
43
+ const initialResponse = await checkStatus();
44
+ this.intervalId = setInterval(checkStatus, STATUS_CHECK_INTERVAL);
45
+ this.activeKey = publicApiKey;
46
+ return initialResponse;
47
+ }
48
+
49
+ getLastResponse() {
50
+ return this.lastResponse;
51
+ }
52
+
53
+ stop() {
54
+ this.instanceCount--;
55
+ if (this.instanceCount === 0) {
56
+ if (this.intervalId) {
57
+ clearInterval(this.intervalId);
58
+ this.intervalId = null;
59
+ this.activeKey = null;
60
+ this.lastResponse = null;
61
+ }
62
+ }
63
+ }
64
+ }
@@ -0,0 +1,26 @@
1
+ // Mock modules that cause ES module issues
2
+ jest.mock("@segment/analytics-node", () => ({
3
+ Analytics: jest.fn().mockImplementation(() => ({
4
+ track: jest.fn(),
5
+ identify: jest.fn(),
6
+ page: jest.fn(),
7
+ group: jest.fn(),
8
+ alias: jest.fn(),
9
+ })),
10
+ }));
11
+
12
+ jest.mock("@copilotkit/shared", () => ({
13
+ parseJson: jest.fn((jsonString, defaultValue) => {
14
+ try {
15
+ return JSON.parse(jsonString);
16
+ } catch {
17
+ return defaultValue;
18
+ }
19
+ }),
20
+ CopilotKitAgentDiscoveryError: jest.fn(),
21
+ }));
22
+
23
+ // Mock react-dom/test-utils to avoid compatibility issues
24
+ jest.mock("react-dom/test-utils", () => ({
25
+ act: jest.fn((fn) => fn()),
26
+ }));
@@ -0,0 +1,23 @@
1
+ export interface CopilotChatSuggestionConfiguration {
2
+ /**
3
+ * A prompt or instructions for the GPT to generate suggestions.
4
+ */
5
+ instructions: string;
6
+
7
+ /**
8
+ * The minimum number of suggestions to generate. Defaults to `1`.
9
+ * @default 1
10
+ */
11
+ minSuggestions?: number;
12
+
13
+ /**
14
+ * The maximum number of suggestions to generate. Defaults to `3`.
15
+ * @default 1
16
+ */
17
+ maxSuggestions?: number;
18
+
19
+ /**
20
+ * An optional class name to apply to the suggestions.
21
+ */
22
+ className?: string;
23
+ }
@@ -0,0 +1,31 @@
1
+ export type CoAgentStateRenderProps<T> = {
2
+ state: T;
3
+ nodeName: string;
4
+ status: "inProgress" | "complete";
5
+ };
6
+
7
+ export type CoAgentStateRenderHandlerArguments<T> = {
8
+ nodeName: string;
9
+ state: T;
10
+ };
11
+
12
+ export interface CoAgentStateRender<T = any> {
13
+ /**
14
+ * The name of the coagent.
15
+ */
16
+ name: string;
17
+ /**
18
+ * The node name of the coagent.
19
+ */
20
+ nodeName?: string;
21
+ /**
22
+ * The handler function to handle the state of the agent.
23
+ */
24
+ handler?: (props: CoAgentStateRenderHandlerArguments<T>) => void | Promise<void>;
25
+ /**
26
+ * The render function to handle the state of the agent.
27
+ */
28
+ render?:
29
+ | ((props: CoAgentStateRenderProps<T>) => string | React.ReactElement | undefined | null)
30
+ | string;
31
+ }
@@ -0,0 +1,13 @@
1
+ export interface CoagentState {
2
+ name: string;
3
+ state: any;
4
+ running: boolean;
5
+ active: boolean;
6
+ threadId?: string;
7
+ config?: {
8
+ configurable?: Record<string, any>;
9
+ [key: string]: any;
10
+ };
11
+ nodeName?: string;
12
+ runId?: string;
13
+ }
@@ -0,0 +1,89 @@
1
+ /**
2
+ * Status of a response or action that requires user input
3
+ */
4
+ export type CrewsResponseStatus = "inProgress" | "complete" | "executing";
5
+
6
+ /**
7
+ * Response data structure for the ResponseRenderer
8
+ */
9
+ export interface CrewsResponse {
10
+ /**
11
+ * Unique identifier for the response
12
+ */
13
+ id: string;
14
+
15
+ /**
16
+ * The content of the response to display
17
+ */
18
+ content: string;
19
+
20
+ /**
21
+ * Optional metadata for the response
22
+ */
23
+ metadata?: Record<string, any>;
24
+ }
25
+
26
+ /**
27
+ * Base state item interface for agent state items
28
+ */
29
+ export interface CrewsStateItem {
30
+ /**
31
+ * Unique identifier for the item
32
+ */
33
+ id: string;
34
+
35
+ /**
36
+ * Timestamp when the item was created
37
+ */
38
+ timestamp: string;
39
+ }
40
+
41
+ /**
42
+ * Tool execution state item
43
+ */
44
+ export interface CrewsToolStateItem extends CrewsStateItem {
45
+ /**
46
+ * Name of the tool that was executed
47
+ */
48
+ tool: string;
49
+
50
+ /**
51
+ * Optional thought process for the tool execution
52
+ */
53
+ thought?: string;
54
+
55
+ /**
56
+ * Result of the tool execution
57
+ */
58
+ result?: any;
59
+ }
60
+
61
+ /**
62
+ * Task state item
63
+ */
64
+ export interface CrewsTaskStateItem extends CrewsStateItem {
65
+ /**
66
+ * Name of the task
67
+ */
68
+ name: string;
69
+
70
+ /**
71
+ * Description of the task
72
+ */
73
+ description?: string;
74
+ }
75
+
76
+ /**
77
+ * AgentState containing information about steps and tasks
78
+ */
79
+ export interface CrewsAgentState {
80
+ /**
81
+ * Array of tool execution steps
82
+ */
83
+ steps?: CrewsToolStateItem[];
84
+
85
+ /**
86
+ * Array of tasks
87
+ */
88
+ tasks?: CrewsTaskStateItem[];
89
+ }
@@ -0,0 +1,7 @@
1
+ export interface DocumentPointer {
2
+ id: string;
3
+ name: string;
4
+ sourceApplication: string;
5
+ iconImageUri: string;
6
+ getContents: () => string;
7
+ }
@@ -0,0 +1,202 @@
1
+ import { ActionInputAvailability } from "@copilotkit/runtime-client-gql";
2
+ import {
3
+ Action,
4
+ Parameter,
5
+ MappedParameterTypes,
6
+ actionParametersToJsonSchema,
7
+ } from "@copilotkit/shared";
8
+ import React from "react";
9
+
10
+ interface InProgressState<T extends Parameter[] | [] = []> {
11
+ status: "inProgress";
12
+ args: Partial<MappedParameterTypes<T>>;
13
+ result: undefined;
14
+ }
15
+
16
+ interface ExecutingState<T extends Parameter[] | [] = []> {
17
+ status: "executing";
18
+ args: MappedParameterTypes<T>;
19
+ result: undefined;
20
+ }
21
+
22
+ interface CompleteState<T extends Parameter[] | [] = []> {
23
+ status: "complete";
24
+ args: MappedParameterTypes<T>;
25
+ result: any;
26
+ }
27
+
28
+ interface InProgressStateNoArgs<T extends Parameter[] | [] = []> {
29
+ status: "inProgress";
30
+ args: Partial<MappedParameterTypes<T>>;
31
+ result: undefined;
32
+ }
33
+
34
+ interface ExecutingStateNoArgs<T extends Parameter[] | [] = []> {
35
+ status: "executing";
36
+ args: MappedParameterTypes<T>;
37
+ result: undefined;
38
+ }
39
+
40
+ interface CompleteStateNoArgs<T extends Parameter[] | [] = []> {
41
+ status: "complete";
42
+ args: MappedParameterTypes<T>;
43
+ result: any;
44
+ }
45
+
46
+ interface InProgressStateWait<T extends Parameter[] | [] = []> {
47
+ status: "inProgress";
48
+ args: Partial<MappedParameterTypes<T>>;
49
+ /** @deprecated use respond instead */
50
+ handler: undefined;
51
+ respond: undefined;
52
+ result: undefined;
53
+ }
54
+
55
+ interface ExecutingStateWait<T extends Parameter[] | [] = []> {
56
+ status: "executing";
57
+ args: MappedParameterTypes<T>;
58
+ /** @deprecated use respond instead */
59
+ handler: (result: any) => void;
60
+ respond: (result: any) => void;
61
+ result: undefined;
62
+ }
63
+
64
+ interface CompleteStateWait<T extends Parameter[] | [] = []> {
65
+ status: "complete";
66
+ args: MappedParameterTypes<T>;
67
+ /** @deprecated use respond instead */
68
+ handler: undefined;
69
+ respond: undefined;
70
+ result: any;
71
+ }
72
+
73
+ interface InProgressStateNoArgsWait<T extends Parameter[] | [] = []> {
74
+ status: "inProgress";
75
+ args: Partial<MappedParameterTypes<T>>;
76
+ /** @deprecated use respond instead */
77
+ handler: undefined;
78
+ respond: undefined;
79
+ result: undefined;
80
+ }
81
+
82
+ interface ExecutingStateNoArgsWait<T extends Parameter[] | [] = []> {
83
+ status: "executing";
84
+ args: MappedParameterTypes<T>;
85
+ /** @deprecated use respond instead */
86
+ handler: (result: any) => void;
87
+ respond: (result: any) => void;
88
+ result: undefined;
89
+ }
90
+
91
+ interface CompleteStateNoArgsWait<T extends Parameter[] | [] = []> {
92
+ status: "complete";
93
+ args: MappedParameterTypes<T>;
94
+ /** @deprecated use respond instead */
95
+ handler: undefined;
96
+ respond: undefined;
97
+ }
98
+
99
+ export type ActionRenderProps<T extends Parameter[] | [] = []> =
100
+ | CompleteState<T>
101
+ | ExecutingState<T>
102
+ | InProgressState<T>;
103
+
104
+ export type ActionRenderPropsNoArgs<T extends Parameter[] | [] = []> =
105
+ | CompleteStateNoArgs<T>
106
+ | ExecutingStateNoArgs<T>
107
+ | InProgressStateNoArgs<T>;
108
+
109
+ export type ActionRenderPropsWait<T extends Parameter[] | [] = []> =
110
+ | CompleteStateWait<T>
111
+ | ExecutingStateWait<T>
112
+ | InProgressStateWait<T>;
113
+
114
+ export type ActionRenderPropsNoArgsWait<T extends Parameter[] | [] = []> =
115
+ | CompleteStateNoArgsWait<T>
116
+ | ExecutingStateNoArgsWait<T>
117
+ | InProgressStateNoArgsWait<T>;
118
+
119
+ export type CatchAllActionRenderProps<T extends Parameter[] | [] = []> =
120
+ | (CompleteState<T> & {
121
+ name: string;
122
+ })
123
+ | (ExecutingState<T> & {
124
+ name: string;
125
+ })
126
+ | (InProgressState<T> & {
127
+ name: string;
128
+ });
129
+
130
+ export type FrontendActionAvailability = "disabled" | "enabled" | "remote" | "frontend";
131
+
132
+ export type FrontendAction<
133
+ T extends Parameter[] | [] = [],
134
+ N extends string = string,
135
+ > = Action<T> & {
136
+ name: Exclude<N, "*">;
137
+ /**
138
+ * @deprecated Use `available` instead.
139
+ */
140
+ disabled?: boolean;
141
+ available?: FrontendActionAvailability;
142
+ pairedAction?: string;
143
+ followUp?: boolean;
144
+ } & (
145
+ | {
146
+ render?:
147
+ | string
148
+ | (T extends []
149
+ ? (props: ActionRenderPropsNoArgs<T>) => string | React.ReactElement
150
+ : (props: ActionRenderProps<T>) => string | React.ReactElement);
151
+ /** @deprecated use renderAndWaitForResponse instead */
152
+ renderAndWait?: never;
153
+ renderAndWaitForResponse?: never;
154
+ }
155
+ | {
156
+ render?: never;
157
+ /** @deprecated use renderAndWaitForResponse instead */
158
+ renderAndWait?: T extends []
159
+ ? (props: ActionRenderPropsNoArgsWait<T>) => React.ReactElement
160
+ : (props: ActionRenderPropsWait<T>) => React.ReactElement;
161
+ renderAndWaitForResponse?: T extends []
162
+ ? (props: ActionRenderPropsNoArgsWait<T>) => React.ReactElement
163
+ : (props: ActionRenderPropsWait<T>) => React.ReactElement;
164
+ handler?: never;
165
+ }
166
+ );
167
+
168
+ export type CatchAllFrontendAction = {
169
+ name: "*";
170
+ render: (props: CatchAllActionRenderProps<any>) => React.ReactElement;
171
+ };
172
+
173
+ export type RenderFunctionStatus = ActionRenderProps<any>["status"];
174
+
175
+ export function processActionsForRuntimeRequest(actions: FrontendAction<any>[]) {
176
+ const filteredActions = actions
177
+ .filter(
178
+ (action) =>
179
+ action.available !== ActionInputAvailability.Disabled &&
180
+ action.disabled !== true &&
181
+ action.name !== "*" &&
182
+ action.available != "frontend" &&
183
+ !action.pairedAction,
184
+ )
185
+ .map((action) => {
186
+ let available: ActionInputAvailability | undefined = ActionInputAvailability.Enabled;
187
+ if (action.disabled) {
188
+ available = ActionInputAvailability.Disabled;
189
+ } else if (action.available === "disabled") {
190
+ available = ActionInputAvailability.Disabled;
191
+ } else if (action.available === "remote") {
192
+ available = ActionInputAvailability.Remote;
193
+ }
194
+ return {
195
+ name: action.name,
196
+ description: action.description || "",
197
+ jsonSchema: JSON.stringify(actionParametersToJsonSchema(action.parameters || [])),
198
+ available,
199
+ };
200
+ });
201
+ return filteredActions;
202
+ }
@@ -0,0 +1,17 @@
1
+ export type { DocumentPointer } from "./document-pointer";
2
+ export type { SystemMessageFunction } from "./system-message";
3
+ export type {
4
+ ActionRenderProps,
5
+ ActionRenderPropsNoArgs,
6
+ ActionRenderPropsWait,
7
+ ActionRenderPropsNoArgsWait,
8
+ FrontendAction,
9
+ FrontendActionAvailability,
10
+ RenderFunctionStatus,
11
+ CatchAllActionRenderProps,
12
+ CatchAllFrontendAction,
13
+ } from "./frontend-action";
14
+
15
+ export type { CopilotChatSuggestionConfiguration } from "./chat-suggestion-configuration";
16
+ export * from "./crew";
17
+ export * from "./interrupt-action";