@copilotkit/react-core 1.10.0-next.2 → 1.10.0-next.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (190) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/{chunk-VOMGRGWT.mjs → chunk-2JAX6WE6.mjs} +7 -7
  3. package/dist/chunk-2JAX6WE6.mjs.map +1 -0
  4. package/dist/{chunk-WUORFPJ7.mjs → chunk-2WYJIO6D.mjs} +4 -4
  5. package/dist/chunk-373NOCJI.mjs +79 -0
  6. package/dist/chunk-373NOCJI.mjs.map +1 -0
  7. package/dist/{chunk-XGRBCWK6.mjs → chunk-47GMU44Z.mjs} +4 -1
  8. package/dist/chunk-47GMU44Z.mjs.map +1 -0
  9. package/dist/{chunk-DF4YG4PF.mjs → chunk-57MBVQPX.mjs} +2 -2
  10. package/dist/{chunk-JZQOCH4A.mjs → chunk-5JL5ELUS.mjs} +2 -2
  11. package/dist/{chunk-LNAQ7JG3.mjs → chunk-AC2GVFW6.mjs} +2 -2
  12. package/dist/{chunk-RGKZCCPA.mjs → chunk-AVMA2MCW.mjs} +3 -3
  13. package/dist/chunk-AWFAFFO5.mjs +221 -0
  14. package/dist/chunk-AWFAFFO5.mjs.map +1 -0
  15. package/dist/{chunk-4XVBXDCX.mjs → chunk-BBK7LXZ6.mjs} +5 -5
  16. package/dist/{chunk-YAF2LATQ.mjs → chunk-EFL5OBKN.mjs} +1 -1
  17. package/dist/chunk-EFL5OBKN.mjs.map +1 -0
  18. package/dist/{chunk-4CFY3CON.mjs → chunk-EQQSE6KM.mjs} +2 -2
  19. package/dist/{chunk-JWAXDYOW.mjs → chunk-FAUNHSQU.mjs} +3 -3
  20. package/dist/{chunk-NXCJELW7.mjs → chunk-G7J6NY5J.mjs} +3 -3
  21. package/dist/chunk-ICIK2BSB.mjs +17 -0
  22. package/dist/chunk-ICIK2BSB.mjs.map +1 -0
  23. package/dist/{chunk-PYULBXCD.mjs → chunk-JLQZVKFX.mjs} +4 -4
  24. package/dist/chunk-KDAZGZ24.mjs +1 -0
  25. package/dist/{chunk-OMVNJ7S3.mjs → chunk-L7CWMU4O.mjs} +34 -19
  26. package/dist/chunk-L7CWMU4O.mjs.map +1 -0
  27. package/dist/{chunk-3OQM3NEK.mjs → chunk-N4WEHORG.mjs} +2 -2
  28. package/dist/{chunk-Q6FZZJ5A.mjs → chunk-OL3VRQKU.mjs} +2 -2
  29. package/dist/chunk-PQ5IXT4Z.mjs +18 -0
  30. package/dist/chunk-PQ5IXT4Z.mjs.map +1 -0
  31. package/dist/{chunk-VM7CVIET.mjs → chunk-PRKL7T7P.mjs} +6 -6
  32. package/dist/chunk-PRKL7T7P.mjs.map +1 -0
  33. package/dist/{chunk-KV25ZRMH.mjs → chunk-XIHAYU6C.mjs} +4 -4
  34. package/dist/chunk-XIHAYU6C.mjs.map +1 -0
  35. package/dist/{chunk-SGF6C7I6.mjs → chunk-ZTZJIDRJ.mjs} +9 -14
  36. package/dist/chunk-ZTZJIDRJ.mjs.map +1 -0
  37. package/dist/components/copilot-provider/copilot-messages.js +12 -1
  38. package/dist/components/copilot-provider/copilot-messages.js.map +1 -1
  39. package/dist/components/copilot-provider/copilot-messages.mjs +4 -4
  40. package/dist/components/copilot-provider/copilotkit-props.d.ts +1 -1
  41. package/dist/components/copilot-provider/copilotkit.d.ts +1 -1
  42. package/dist/components/copilot-provider/copilotkit.js +307 -550
  43. package/dist/components/copilot-provider/copilotkit.js.map +1 -1
  44. package/dist/components/copilot-provider/copilotkit.mjs +9 -9
  45. package/dist/components/copilot-provider/index.d.ts +1 -1
  46. package/dist/components/copilot-provider/index.js +307 -550
  47. package/dist/components/copilot-provider/index.js.map +1 -1
  48. package/dist/components/copilot-provider/index.mjs +9 -9
  49. package/dist/components/error-boundary/error-boundary.js +172 -323
  50. package/dist/components/error-boundary/error-boundary.js.map +1 -1
  51. package/dist/components/error-boundary/error-boundary.mjs +4 -4
  52. package/dist/components/error-boundary/error-utils.js.map +1 -1
  53. package/dist/components/error-boundary/error-utils.mjs +2 -2
  54. package/dist/components/index.d.ts +1 -1
  55. package/dist/components/index.js +307 -550
  56. package/dist/components/index.js.map +1 -1
  57. package/dist/components/index.mjs +9 -9
  58. package/dist/components/toast/toast-provider.js.map +1 -1
  59. package/dist/components/toast/toast-provider.mjs +1 -1
  60. package/dist/components/usage-banner.d.ts +8 -3
  61. package/dist/components/usage-banner.js +172 -302
  62. package/dist/components/usage-banner.js.map +1 -1
  63. package/dist/components/usage-banner.mjs +3 -1
  64. package/dist/context/copilot-context.d.ts +1 -1
  65. package/dist/context/copilot-context.js +3 -0
  66. package/dist/context/copilot-context.js.map +1 -1
  67. package/dist/context/copilot-context.mjs +1 -1
  68. package/dist/context/index.d.ts +1 -1
  69. package/dist/context/index.js +3 -0
  70. package/dist/context/index.js.map +1 -1
  71. package/dist/context/index.mjs +1 -1
  72. package/dist/{copilot-context-bd88d30d.d.ts → copilot-context-78fc727c.d.ts} +3 -1
  73. package/dist/hooks/index.d.ts +5 -3
  74. package/dist/hooks/index.js +143 -57
  75. package/dist/hooks/index.js.map +1 -1
  76. package/dist/hooks/index.mjs +32 -24
  77. package/dist/hooks/use-chat.d.ts +1 -1
  78. package/dist/hooks/use-chat.js +12 -1
  79. package/dist/hooks/use-chat.js.map +1 -1
  80. package/dist/hooks/use-chat.mjs +6 -6
  81. package/dist/hooks/use-coagent-state-render.js +3 -0
  82. package/dist/hooks/use-coagent-state-render.js.map +1 -1
  83. package/dist/hooks/use-coagent-state-render.mjs +3 -3
  84. package/dist/hooks/use-coagent.d.ts +1 -1
  85. package/dist/hooks/use-coagent.js +15 -4
  86. package/dist/hooks/use-coagent.js.map +1 -1
  87. package/dist/hooks/use-coagent.mjs +13 -13
  88. package/dist/hooks/use-copilot-action.js +3 -0
  89. package/dist/hooks/use-copilot-action.js.map +1 -1
  90. package/dist/hooks/use-copilot-action.mjs +4 -4
  91. package/dist/hooks/use-copilot-additional-instructions.js +3 -0
  92. package/dist/hooks/use-copilot-additional-instructions.js.map +1 -1
  93. package/dist/hooks/use-copilot-additional-instructions.mjs +2 -2
  94. package/dist/hooks/use-copilot-authenticated-action.js +3 -0
  95. package/dist/hooks/use-copilot-authenticated-action.js.map +1 -1
  96. package/dist/hooks/use-copilot-authenticated-action.mjs +5 -5
  97. package/dist/hooks/use-copilot-chat-light.d.ts +211 -0
  98. package/dist/hooks/use-copilot-chat-light.js +1770 -0
  99. package/dist/hooks/use-copilot-chat-light.js.map +1 -0
  100. package/dist/hooks/use-copilot-chat-light.mjs +28 -0
  101. package/dist/hooks/use-copilot-chat-light.mjs.map +1 -0
  102. package/dist/hooks/use-copilot-chat.d.ts +9 -81
  103. package/dist/hooks/use-copilot-chat.js +77 -5
  104. package/dist/hooks/use-copilot-chat.js.map +1 -1
  105. package/dist/hooks/use-copilot-chat.mjs +15 -13
  106. package/dist/hooks/use-copilot-chat_internal.d.ts +91 -0
  107. package/dist/hooks/use-copilot-chat_internal.js +1760 -0
  108. package/dist/hooks/use-copilot-chat_internal.js.map +1 -0
  109. package/dist/hooks/use-copilot-chat_internal.mjs +29 -0
  110. package/dist/hooks/use-copilot-chat_internal.mjs.map +1 -0
  111. package/dist/hooks/use-copilot-readable.js +3 -0
  112. package/dist/hooks/use-copilot-readable.js.map +1 -1
  113. package/dist/hooks/use-copilot-readable.mjs +2 -2
  114. package/dist/hooks/use-copilot-runtime-client.js +9 -1
  115. package/dist/hooks/use-copilot-runtime-client.js.map +1 -1
  116. package/dist/hooks/use-copilot-runtime-client.mjs +3 -3
  117. package/dist/hooks/use-langgraph-interrupt-render.js +3 -0
  118. package/dist/hooks/use-langgraph-interrupt-render.js.map +1 -1
  119. package/dist/hooks/use-langgraph-interrupt-render.mjs +2 -2
  120. package/dist/hooks/use-langgraph-interrupt.d.ts +1 -1
  121. package/dist/hooks/use-langgraph-interrupt.js +15 -4
  122. package/dist/hooks/use-langgraph-interrupt.js.map +1 -1
  123. package/dist/hooks/use-langgraph-interrupt.mjs +13 -13
  124. package/dist/hooks/use-make-copilot-document-readable.js +3 -0
  125. package/dist/hooks/use-make-copilot-document-readable.js.map +1 -1
  126. package/dist/hooks/use-make-copilot-document-readable.mjs +2 -2
  127. package/dist/index.d.ts +4 -2
  128. package/dist/index.js +384 -449
  129. package/dist/index.js.map +1 -1
  130. package/dist/index.mjs +34 -26
  131. package/dist/lib/copilot-task.d.ts +1 -1
  132. package/dist/lib/copilot-task.js.map +1 -1
  133. package/dist/lib/copilot-task.mjs +10 -10
  134. package/dist/lib/index.d.ts +1 -1
  135. package/dist/lib/index.js.map +1 -1
  136. package/dist/lib/index.mjs +10 -10
  137. package/dist/types/interrupt-action.d.ts +1 -1
  138. package/dist/utils/dev-console.d.ts +1 -1
  139. package/dist/utils/dev-console.js +9 -1
  140. package/dist/utils/dev-console.js.map +1 -1
  141. package/dist/utils/dev-console.mjs +1 -1
  142. package/dist/utils/extract.d.ts +1 -1
  143. package/dist/utils/extract.js.map +1 -1
  144. package/dist/utils/extract.mjs +9 -9
  145. package/dist/utils/index.d.ts +1 -1
  146. package/dist/utils/index.js +9 -1
  147. package/dist/utils/index.js.map +1 -1
  148. package/dist/utils/index.mjs +9 -9
  149. package/dist/utils/suggestions.d.ts +1 -1
  150. package/dist/utils/suggestions.js.map +1 -1
  151. package/dist/utils/suggestions.mjs +9 -9
  152. package/package.json +3 -3
  153. package/src/components/copilot-provider/copilotkit.tsx +16 -5
  154. package/src/components/error-boundary/error-boundary.tsx +5 -15
  155. package/src/components/toast/toast-provider.tsx +1 -3
  156. package/src/components/usage-banner.tsx +187 -315
  157. package/src/context/copilot-context.tsx +12 -1
  158. package/src/hooks/__tests__/use-coagent-config.test.ts +1 -1
  159. package/src/hooks/index.ts +6 -0
  160. package/src/hooks/use-coagent.ts +1 -1
  161. package/src/hooks/use-copilot-chat-light.ts +219 -0
  162. package/src/hooks/use-copilot-chat.ts +89 -430
  163. package/src/hooks/use-copilot-chat_internal.ts +437 -0
  164. package/src/hooks/use-langgraph-interrupt.ts +1 -1
  165. package/src/utils/dev-console.ts +18 -2
  166. package/dist/chunk-57K2ZJ5F.mjs +0 -348
  167. package/dist/chunk-57K2ZJ5F.mjs.map +0 -1
  168. package/dist/chunk-CQPYJIBH.mjs +0 -1
  169. package/dist/chunk-GFJW4RIM.mjs +0 -9
  170. package/dist/chunk-GFJW4RIM.mjs.map +0 -1
  171. package/dist/chunk-KV25ZRMH.mjs.map +0 -1
  172. package/dist/chunk-OMVNJ7S3.mjs.map +0 -1
  173. package/dist/chunk-SGF6C7I6.mjs.map +0 -1
  174. package/dist/chunk-VM7CVIET.mjs.map +0 -1
  175. package/dist/chunk-VOMGRGWT.mjs.map +0 -1
  176. package/dist/chunk-XGRBCWK6.mjs.map +0 -1
  177. package/dist/chunk-YAF2LATQ.mjs.map +0 -1
  178. /package/dist/{chunk-WUORFPJ7.mjs.map → chunk-2WYJIO6D.mjs.map} +0 -0
  179. /package/dist/{chunk-DF4YG4PF.mjs.map → chunk-57MBVQPX.mjs.map} +0 -0
  180. /package/dist/{chunk-JZQOCH4A.mjs.map → chunk-5JL5ELUS.mjs.map} +0 -0
  181. /package/dist/{chunk-LNAQ7JG3.mjs.map → chunk-AC2GVFW6.mjs.map} +0 -0
  182. /package/dist/{chunk-RGKZCCPA.mjs.map → chunk-AVMA2MCW.mjs.map} +0 -0
  183. /package/dist/{chunk-4XVBXDCX.mjs.map → chunk-BBK7LXZ6.mjs.map} +0 -0
  184. /package/dist/{chunk-4CFY3CON.mjs.map → chunk-EQQSE6KM.mjs.map} +0 -0
  185. /package/dist/{chunk-JWAXDYOW.mjs.map → chunk-FAUNHSQU.mjs.map} +0 -0
  186. /package/dist/{chunk-NXCJELW7.mjs.map → chunk-G7J6NY5J.mjs.map} +0 -0
  187. /package/dist/{chunk-PYULBXCD.mjs.map → chunk-JLQZVKFX.mjs.map} +0 -0
  188. /package/dist/{chunk-CQPYJIBH.mjs.map → chunk-KDAZGZ24.mjs.map} +0 -0
  189. /package/dist/{chunk-3OQM3NEK.mjs.map → chunk-N4WEHORG.mjs.map} +0 -0
  190. /package/dist/{chunk-Q6FZZJ5A.mjs.map → chunk-OL3VRQKU.mjs.map} +0 -0
@@ -0,0 +1,219 @@
1
+ /**
2
+ * `useCopilotChatLight` is a lightweight React hook for headless chat interactions.
3
+ * Perfect for programmatic messaging, background operations, and custom UI implementations.
4
+ *
5
+ * **Open Source Friendly** - Works without requiring a `publicApiKey`.
6
+ *
7
+ * ## Use Cases:
8
+ *
9
+ * - **Programmatic Messaging**: Send messages without displaying chat UI
10
+ * - **Background Operations**: Trigger AI interactions in the background
11
+ * - **Custom UI**: Build your own chat interface using CopilotKit's messaging infrastructure
12
+ * - **Testing & Automation**: Programmatic chat interactions for testing
13
+ * - **Fire-and-Forget**: Send messages without needing to read responses
14
+ * - **Suggestion Management**: Control chat suggestions programmatically
15
+ *
16
+ * ## What's Included:
17
+ *
18
+ * - `appendMessage` - Send messages to the chat
19
+ * - `setSuggestions` - Manually control suggestions
20
+ * - `generateSuggestions` - Trigger AI-powered suggestion generation
21
+ *
22
+ * ## What's NOT Included:
23
+ *
24
+ * - Message reading (`visibleMessages`)
25
+ * - Loading states (`isLoading`, `isLoadingSuggestions`)
26
+ * - Message management (`setMessages`, `deleteMessage`, `reloadMessages`)
27
+ * - Chat controls (`reset`, `stopGeneration`)
28
+ * - Advanced features (`mcpServers`, `runChatCompletion`, `interrupt`)
29
+ *
30
+ * ## Usage:
31
+ *
32
+ * ### Basic Messaging
33
+ *
34
+ * ```tsx
35
+ * import { useCopilotChatLite } from "@copilotkit/react-core";
36
+ * import { TextMessage, Role } from "@copilotkit/runtime-client-gql";
37
+ *
38
+ * export function BackgroundMessaging() {
39
+ * const { appendMessage } = useCopilotChatLite();
40
+ *
41
+ * const sendBackgroundMessage = async () => {
42
+ * await appendMessage(new TextMessage({
43
+ * content: "Process this data in the background",
44
+ * role: Role.User,
45
+ * }));
46
+ * };
47
+ *
48
+ * return <button onClick={sendBackgroundMessage}>Process Data</button>;
49
+ * }
50
+ * ```
51
+ *
52
+ * ### Suggestion Management
53
+ *
54
+ * ```tsx
55
+ * import { useCopilotChatLight } from "@copilotkit/react-core";
56
+ *
57
+ * export function SuggestionController() {
58
+ * const { setSuggestions, generateSuggestions } = useCopilotChatLight();
59
+ *
60
+ * const setCustomSuggestions = () => {
61
+ * setSuggestions([
62
+ * { title: "Analyze Data", message: "Analyze the current dataset" },
63
+ * { title: "Generate Report", message: "Create a summary report" }
64
+ * ]);
65
+ * };
66
+ *
67
+ * const triggerAISuggestions = async () => {
68
+ * await generateSuggestions();
69
+ * };
70
+ *
71
+ * return (
72
+ * <div>
73
+ * <button onClick={setCustomSuggestions}>Set Custom Suggestions</button>
74
+ * <button onClick={triggerAISuggestions}>Generate AI Suggestions</button>
75
+ * </div>
76
+ * );
77
+ * }
78
+ * ```
79
+ *
80
+ * ### Automated Workflows
81
+ *
82
+ * ```tsx
83
+ * import { useCopilotChatLight } from "@copilotkit/react-core";
84
+ *
85
+ * export function AutomatedWorkflow() {
86
+ * const { appendMessage, setSuggestions } = useCopilotChatLight();
87
+ *
88
+ * const runWorkflow = async () => {
89
+ * // Step 1: Send initial message
90
+ * await appendMessage(new TextMessage({
91
+ * content: "Start workflow analysis",
92
+ * role: Role.User,
93
+ * }));
94
+ *
95
+ * // Step 2: Set contextual suggestions
96
+ * setSuggestions([
97
+ * { title: "Continue", message: "Continue to next step" },
98
+ * { title: "Stop", message: "Stop the workflow" }
99
+ * ]);
100
+ * };
101
+ *
102
+ * return <button onClick={runWorkflow}>Run Automated Workflow</button>;
103
+ * }
104
+ * ```
105
+ *
106
+ * ## Return Type:
107
+ *
108
+ * ```tsx
109
+ * const {
110
+ * appendMessage, // Send messages programmatically
111
+ * setSuggestions, // Set custom suggestions array
112
+ * generateSuggestions, // Trigger AI suggestion generation
113
+ * } = useCopilotChatLight();
114
+ * ```
115
+ */
116
+
117
+ import { Message } from "@copilotkit/shared";
118
+ import { AppendMessageOptions } from "./use-chat";
119
+ import { useCopilotChat as useCopilotChatInternal } from "./use-copilot-chat_internal";
120
+ import type { SuggestionItem } from "../utils";
121
+
122
+ export interface UseCopilotChatLightOptions {
123
+ /**
124
+ * A unique identifier for the chat. If not provided, a random one will be
125
+ * generated. When provided, the chat instance with the same `id` will
126
+ * have shared state across components.
127
+ */
128
+ id?: string;
129
+
130
+ /**
131
+ * HTTP headers to be sent with the API request.
132
+ */
133
+ headers?: Record<string, string> | Headers;
134
+
135
+ /**
136
+ * Initial messages to populate the chat with.
137
+ */
138
+ initialMessages?: Message[];
139
+
140
+ /**
141
+ * A function to generate the system message. Defaults to `defaultSystemMessage`.
142
+ */
143
+ makeSystemMessage?: (contextString: string, additionalInstructions?: string) => string;
144
+ }
145
+
146
+ export interface UseCopilotChatLightReturn {
147
+ /**
148
+ * Send a new message to the chat programmatically.
149
+ *
150
+ * @param message - The message to send
151
+ * @param options - Optional configuration for the message
152
+ *
153
+ * @example
154
+ * ```tsx
155
+ * await appendMessage(new TextMessage({
156
+ * content: "Hello, process this request",
157
+ * role: Role.User,
158
+ * }));
159
+ * ```
160
+ */
161
+ appendMessage: (message: Message, options?: AppendMessageOptions) => Promise<void>;
162
+
163
+ /**
164
+ * Manually set the suggestions array.
165
+ * Useful for custom suggestion workflows and manual control.
166
+ *
167
+ * @param suggestions - Array of suggestion items to display
168
+ *
169
+ * @example
170
+ * ```tsx
171
+ * setSuggestions([
172
+ * { title: "Continue", message: "Continue the process" },
173
+ * { title: "Stop", message: "Stop the current operation" }
174
+ * ]);
175
+ * ```
176
+ */
177
+ setSuggestions: (suggestions: SuggestionItem[]) => void;
178
+
179
+ /**
180
+ * Trigger AI-powered suggestion generation.
181
+ * Uses configurations from `useCopilotChatSuggestions` hooks.
182
+ * Respects global debouncing - only one generation can run at a time.
183
+ *
184
+ * @returns Promise that resolves when suggestions are generated
185
+ *
186
+ * @example
187
+ * ```tsx
188
+ * await generateSuggestions();
189
+ * ```
190
+ */
191
+ generateSuggestions: () => Promise<void>;
192
+ }
193
+
194
+ /**
195
+ * A lightweight React hook for headless chat interactions.
196
+ * Perfect for programmatic messaging, background operations, and custom UI implementations.
197
+ *
198
+ * **Open Source Friendly** - Works without requiring a `publicApiKey`.
199
+ *
200
+ * @param options - Configuration options for the chat
201
+ * @returns Object containing appendMessage, setSuggestions, and generateSuggestions functions
202
+ *
203
+ * @example
204
+ * ```tsx
205
+ * const { appendMessage, setSuggestions, generateSuggestions } = useCopilotChatLite();
206
+ * ```
207
+ */
208
+ export function useCopilotChatLight(
209
+ options: UseCopilotChatLightOptions = {},
210
+ ): UseCopilotChatLightReturn {
211
+ // Use the internal implementation (no API key required)
212
+ const { appendMessage, setSuggestions, generateSuggestions } = useCopilotChatInternal(options);
213
+
214
+ return {
215
+ appendMessage,
216
+ setSuggestions,
217
+ generateSuggestions,
218
+ };
219
+ }