@copilotkit/react-core 1.55.3 → 1.56.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.
- package/dist/{copilotkit-Cd-NrDyp.mjs → copilotkit-BebqQrYT.mjs} +94 -44
- package/dist/copilotkit-BebqQrYT.mjs.map +1 -0
- package/dist/{copilotkit-Dgdpbqjt.cjs → copilotkit-Cvb6WpAX.cjs} +98 -42
- package/dist/copilotkit-Cvb6WpAX.cjs.map +1 -0
- package/dist/{copilotkit-dwDWYpya.d.cts → copilotkit-Dv8zU8_U.d.cts} +47 -10
- package/dist/copilotkit-Dv8zU8_U.d.cts.map +1 -0
- package/dist/{copilotkit-BuhSUZHb.d.mts → copilotkit-f2Uq0RwG.d.mts} +47 -10
- package/dist/copilotkit-f2Uq0RwG.d.mts.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.mts +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.umd.js +41 -17
- package/dist/index.umd.js.map +1 -1
- package/dist/v2/index.cjs +2 -1
- package/dist/v2/index.d.cts +2 -2
- package/dist/v2/index.d.mts +2 -2
- package/dist/v2/index.mjs +2 -2
- package/dist/v2/index.umd.js +92 -42
- package/dist/v2/index.umd.js.map +1 -1
- package/package.json +6 -6
- package/src/components/copilot-provider/__tests__/error-visibility-prod.test.tsx +70 -0
- package/src/components/copilot-provider/copilot-messages.tsx +39 -24
- package/src/components/copilot-provider/copilotkit-props.tsx +26 -6
- package/src/components/copilot-provider/copilotkit.tsx +4 -1
- package/src/v2/components/chat/CopilotChatAssistantMessage.tsx +18 -15
- package/src/v2/components/chat/CopilotChatReasoningMessage.tsx +17 -4
- package/src/v2/components/chat/CopilotChatUserMessage.tsx +13 -10
- package/src/v2/components/chat/__tests__/CopilotChat.e2e.test.tsx +131 -5
- package/src/v2/components/chat/__tests__/CopilotChatAssistantMessage.test.tsx +1 -1
- package/src/v2/components/chat/__tests__/CopilotChatCopyButton.clipboard.test.tsx +241 -0
- package/src/v2/hooks/__tests__/use-agent-throttle.test.tsx +10 -10
- package/src/v2/hooks/__tests__/use-capabilities.test.tsx +76 -0
- package/src/v2/hooks/index.ts +1 -0
- package/src/v2/hooks/use-agent.tsx +23 -4
- package/src/v2/hooks/use-capabilities.tsx +25 -0
- package/src/v2/providers/CopilotKitProvider.tsx +15 -2
- package/dist/copilotkit-BuhSUZHb.d.mts.map +0 -1
- package/dist/copilotkit-Cd-NrDyp.mjs.map +0 -1
- package/dist/copilotkit-Dgdpbqjt.cjs.map +0 -1
- package/dist/copilotkit-dwDWYpya.d.cts.map +0 -1
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { render, screen, fireEvent, waitFor } from "@testing-library/react";
|
|
3
|
+
import { describe, it, expect, vi, beforeEach, afterEach } from "vitest";
|
|
4
|
+
import { CopilotChatAssistantMessage } from "../CopilotChatAssistantMessage";
|
|
5
|
+
import { CopilotChatUserMessage } from "../CopilotChatUserMessage";
|
|
6
|
+
import { CopilotKitProvider } from "../../../providers/CopilotKitProvider";
|
|
7
|
+
import { CopilotChatConfigurationProvider } from "../../../providers/CopilotChatConfigurationProvider";
|
|
8
|
+
import { AssistantMessage, UserMessage } from "@ag-ui/core";
|
|
9
|
+
|
|
10
|
+
const TestWrapper: React.FC<{ children: React.ReactNode }> = ({ children }) => (
|
|
11
|
+
<CopilotKitProvider>
|
|
12
|
+
<CopilotChatConfigurationProvider threadId="test-thread">
|
|
13
|
+
{children}
|
|
14
|
+
</CopilotChatConfigurationProvider>
|
|
15
|
+
</CopilotKitProvider>
|
|
16
|
+
);
|
|
17
|
+
|
|
18
|
+
const createAssistantMessage = (content: string): AssistantMessage => ({
|
|
19
|
+
id: "msg-assistant-1",
|
|
20
|
+
role: "assistant",
|
|
21
|
+
content,
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
const createUserMessage = (content: string): UserMessage => ({
|
|
25
|
+
id: "msg-user-1",
|
|
26
|
+
role: "user",
|
|
27
|
+
content,
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
describe("CopyButton clipboard behavior", () => {
|
|
31
|
+
let originalClipboard: Clipboard;
|
|
32
|
+
|
|
33
|
+
beforeEach(() => {
|
|
34
|
+
originalClipboard = navigator.clipboard;
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
afterEach(() => {
|
|
38
|
+
Object.defineProperty(navigator, "clipboard", {
|
|
39
|
+
value: originalClipboard,
|
|
40
|
+
writable: true,
|
|
41
|
+
configurable: true,
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
describe("AssistantMessage CopyButton", () => {
|
|
46
|
+
it("shows copied state only after successful clipboard write", async () => {
|
|
47
|
+
const writeTextMock = vi.fn().mockResolvedValue(undefined);
|
|
48
|
+
Object.defineProperty(navigator, "clipboard", {
|
|
49
|
+
value: { writeText: writeTextMock },
|
|
50
|
+
writable: true,
|
|
51
|
+
configurable: true,
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
const message = createAssistantMessage("Hello assistant");
|
|
55
|
+
render(
|
|
56
|
+
<TestWrapper>
|
|
57
|
+
<CopilotChatAssistantMessage message={message} />
|
|
58
|
+
</TestWrapper>,
|
|
59
|
+
);
|
|
60
|
+
|
|
61
|
+
const copyButton = screen.getByTestId("copilot-copy-button");
|
|
62
|
+
fireEvent.click(copyButton);
|
|
63
|
+
|
|
64
|
+
await waitFor(() => {
|
|
65
|
+
expect(writeTextMock).toHaveBeenCalledWith("Hello assistant");
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
// After successful write, should show check icon
|
|
69
|
+
await waitFor(() => {
|
|
70
|
+
const checkIcon = copyButton.querySelector(".lucide-check");
|
|
71
|
+
expect(checkIcon).not.toBeNull();
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
|
|
75
|
+
it("does NOT show copied state when clipboard API is unavailable", async () => {
|
|
76
|
+
Object.defineProperty(navigator, "clipboard", {
|
|
77
|
+
value: undefined,
|
|
78
|
+
writable: true,
|
|
79
|
+
configurable: true,
|
|
80
|
+
});
|
|
81
|
+
|
|
82
|
+
const message = createAssistantMessage("Hello assistant");
|
|
83
|
+
render(
|
|
84
|
+
<TestWrapper>
|
|
85
|
+
<CopilotChatAssistantMessage message={message} />
|
|
86
|
+
</TestWrapper>,
|
|
87
|
+
);
|
|
88
|
+
|
|
89
|
+
const copyButton = screen.getByTestId("copilot-copy-button");
|
|
90
|
+
fireEvent.click(copyButton);
|
|
91
|
+
|
|
92
|
+
// Wait a tick for any async handlers
|
|
93
|
+
await new Promise((r) => setTimeout(r, 50));
|
|
94
|
+
|
|
95
|
+
// Should still show copy icon (not check icon)
|
|
96
|
+
const checkIcon = copyButton.querySelector(".lucide-check");
|
|
97
|
+
expect(checkIcon).toBeNull();
|
|
98
|
+
const copyIcon = copyButton.querySelector(".lucide-copy");
|
|
99
|
+
expect(copyIcon).not.toBeNull();
|
|
100
|
+
});
|
|
101
|
+
|
|
102
|
+
it("logs error when clipboard write rejects", async () => {
|
|
103
|
+
const writeTextMock = vi
|
|
104
|
+
.fn()
|
|
105
|
+
.mockRejectedValue(new Error("Permission denied"));
|
|
106
|
+
Object.defineProperty(navigator, "clipboard", {
|
|
107
|
+
value: { writeText: writeTextMock },
|
|
108
|
+
writable: true,
|
|
109
|
+
configurable: true,
|
|
110
|
+
});
|
|
111
|
+
|
|
112
|
+
const consoleSpy = vi
|
|
113
|
+
.spyOn(console, "error")
|
|
114
|
+
.mockImplementation(() => {});
|
|
115
|
+
|
|
116
|
+
const message = createAssistantMessage("Hello assistant");
|
|
117
|
+
render(
|
|
118
|
+
<TestWrapper>
|
|
119
|
+
<CopilotChatAssistantMessage message={message} />
|
|
120
|
+
</TestWrapper>,
|
|
121
|
+
);
|
|
122
|
+
|
|
123
|
+
const copyButton = screen.getByTestId("copilot-copy-button");
|
|
124
|
+
fireEvent.click(copyButton);
|
|
125
|
+
|
|
126
|
+
await waitFor(() => {
|
|
127
|
+
expect(writeTextMock).toHaveBeenCalled();
|
|
128
|
+
});
|
|
129
|
+
|
|
130
|
+
await waitFor(() => {
|
|
131
|
+
expect(consoleSpy).toHaveBeenCalledWith(
|
|
132
|
+
"Failed to copy to clipboard:",
|
|
133
|
+
expect.any(Error),
|
|
134
|
+
);
|
|
135
|
+
});
|
|
136
|
+
|
|
137
|
+
// Should NOT show copied state when write failed
|
|
138
|
+
const checkIcon = copyButton.querySelector(".lucide-check");
|
|
139
|
+
expect(checkIcon).toBeNull();
|
|
140
|
+
|
|
141
|
+
consoleSpy.mockRestore();
|
|
142
|
+
});
|
|
143
|
+
});
|
|
144
|
+
|
|
145
|
+
describe("UserMessage CopyButton", () => {
|
|
146
|
+
it("shows copied state only after successful clipboard write", async () => {
|
|
147
|
+
const writeTextMock = vi.fn().mockResolvedValue(undefined);
|
|
148
|
+
Object.defineProperty(navigator, "clipboard", {
|
|
149
|
+
value: { writeText: writeTextMock },
|
|
150
|
+
writable: true,
|
|
151
|
+
configurable: true,
|
|
152
|
+
});
|
|
153
|
+
|
|
154
|
+
const message = createUserMessage("Hello user");
|
|
155
|
+
render(
|
|
156
|
+
<TestWrapper>
|
|
157
|
+
<CopilotChatUserMessage message={message} />
|
|
158
|
+
</TestWrapper>,
|
|
159
|
+
);
|
|
160
|
+
|
|
161
|
+
const copyButton = screen.getByTestId("copilot-user-copy-button");
|
|
162
|
+
fireEvent.click(copyButton);
|
|
163
|
+
|
|
164
|
+
await waitFor(() => {
|
|
165
|
+
expect(writeTextMock).toHaveBeenCalledWith("Hello user");
|
|
166
|
+
});
|
|
167
|
+
|
|
168
|
+
await waitFor(() => {
|
|
169
|
+
const checkIcon = copyButton.querySelector(".lucide-check");
|
|
170
|
+
expect(checkIcon).not.toBeNull();
|
|
171
|
+
});
|
|
172
|
+
});
|
|
173
|
+
|
|
174
|
+
it("does NOT show copied state when clipboard API is unavailable", async () => {
|
|
175
|
+
Object.defineProperty(navigator, "clipboard", {
|
|
176
|
+
value: undefined,
|
|
177
|
+
writable: true,
|
|
178
|
+
configurable: true,
|
|
179
|
+
});
|
|
180
|
+
|
|
181
|
+
const message = createUserMessage("Hello user");
|
|
182
|
+
render(
|
|
183
|
+
<TestWrapper>
|
|
184
|
+
<CopilotChatUserMessage message={message} />
|
|
185
|
+
</TestWrapper>,
|
|
186
|
+
);
|
|
187
|
+
|
|
188
|
+
const copyButton = screen.getByTestId("copilot-user-copy-button");
|
|
189
|
+
fireEvent.click(copyButton);
|
|
190
|
+
|
|
191
|
+
await new Promise((r) => setTimeout(r, 50));
|
|
192
|
+
|
|
193
|
+
const checkIcon = copyButton.querySelector(".lucide-check");
|
|
194
|
+
expect(checkIcon).toBeNull();
|
|
195
|
+
const copyIcon = copyButton.querySelector(".lucide-copy");
|
|
196
|
+
expect(copyIcon).not.toBeNull();
|
|
197
|
+
});
|
|
198
|
+
|
|
199
|
+
it("logs error when clipboard write rejects", async () => {
|
|
200
|
+
const writeTextMock = vi
|
|
201
|
+
.fn()
|
|
202
|
+
.mockRejectedValue(new Error("Permission denied"));
|
|
203
|
+
Object.defineProperty(navigator, "clipboard", {
|
|
204
|
+
value: { writeText: writeTextMock },
|
|
205
|
+
writable: true,
|
|
206
|
+
configurable: true,
|
|
207
|
+
});
|
|
208
|
+
|
|
209
|
+
const consoleSpy = vi
|
|
210
|
+
.spyOn(console, "error")
|
|
211
|
+
.mockImplementation(() => {});
|
|
212
|
+
|
|
213
|
+
const message = createUserMessage("Hello user");
|
|
214
|
+
render(
|
|
215
|
+
<TestWrapper>
|
|
216
|
+
<CopilotChatUserMessage message={message} />
|
|
217
|
+
</TestWrapper>,
|
|
218
|
+
);
|
|
219
|
+
|
|
220
|
+
const copyButton = screen.getByTestId("copilot-user-copy-button");
|
|
221
|
+
fireEvent.click(copyButton);
|
|
222
|
+
|
|
223
|
+
await waitFor(() => {
|
|
224
|
+
expect(writeTextMock).toHaveBeenCalled();
|
|
225
|
+
});
|
|
226
|
+
|
|
227
|
+
await waitFor(() => {
|
|
228
|
+
expect(consoleSpy).toHaveBeenCalledWith(
|
|
229
|
+
"Failed to copy to clipboard:",
|
|
230
|
+
expect.any(Error),
|
|
231
|
+
);
|
|
232
|
+
});
|
|
233
|
+
|
|
234
|
+
// Should NOT show copied state when write failed
|
|
235
|
+
const checkIcon = copyButton.querySelector(".lucide-check");
|
|
236
|
+
expect(checkIcon).toBeNull();
|
|
237
|
+
|
|
238
|
+
consoleSpy.mockRestore();
|
|
239
|
+
});
|
|
240
|
+
});
|
|
241
|
+
});
|
|
@@ -313,7 +313,7 @@ describe("useAgent throttleMs", () => {
|
|
|
313
313
|
expect(screen.getByTestId("count").textContent).toBe("3");
|
|
314
314
|
});
|
|
315
315
|
|
|
316
|
-
it("with throttleMs, onStateChanged still fires immediately", () => {
|
|
316
|
+
it("with throttleMs, onStateChanged still fires immediately", async () => {
|
|
317
317
|
const TestComponent = createTestComponent({
|
|
318
318
|
updates: [
|
|
319
319
|
UseAgentUpdate.OnMessagesChanged,
|
|
@@ -330,8 +330,8 @@ describe("useAgent throttleMs", () => {
|
|
|
330
330
|
notifyMessagesChanged(mockAgent);
|
|
331
331
|
});
|
|
332
332
|
|
|
333
|
-
// Fire onStateChanged 10ms later —
|
|
334
|
-
act(() => {
|
|
333
|
+
// Fire onStateChanged 10ms later — fires via microtask batch (not synchronously)
|
|
334
|
+
await act(async () => {
|
|
335
335
|
vi.advanceTimersByTime(10);
|
|
336
336
|
mockAgent.state = { count: 42 };
|
|
337
337
|
notifyStateChanged(mockAgent);
|
|
@@ -372,7 +372,7 @@ describe("useAgent throttleMs", () => {
|
|
|
372
372
|
expect(renderCount.current).toBe(countBeforeUnmount);
|
|
373
373
|
});
|
|
374
374
|
|
|
375
|
-
it("with throttleMs and updates excluding OnMessagesChanged, throttle is a no-op", () => {
|
|
375
|
+
it("with throttleMs and updates excluding OnMessagesChanged, throttle is a no-op", async () => {
|
|
376
376
|
const TestComponent = createTestComponent({
|
|
377
377
|
updates: [UseAgentUpdate.OnStateChanged],
|
|
378
378
|
throttleMs: 100,
|
|
@@ -380,8 +380,8 @@ describe("useAgent throttleMs", () => {
|
|
|
380
380
|
|
|
381
381
|
render(<TestComponent />);
|
|
382
382
|
|
|
383
|
-
// Only onStateChanged is subscribed —
|
|
384
|
-
act(() => {
|
|
383
|
+
// Only onStateChanged is subscribed — fires via microtask batch
|
|
384
|
+
await act(async () => {
|
|
385
385
|
mockAgent.state = { value: "test" };
|
|
386
386
|
notifyStateChanged(mockAgent);
|
|
387
387
|
});
|
|
@@ -649,7 +649,7 @@ describe("useAgent throttleMs", () => {
|
|
|
649
649
|
expect(renderCount.current).toBe(rendersAfterMount + 1);
|
|
650
650
|
});
|
|
651
651
|
|
|
652
|
-
it("with throttleMs, onRunInitialized still fires immediately during throttle window", () => {
|
|
652
|
+
it("with throttleMs, onRunInitialized still fires immediately during throttle window", async () => {
|
|
653
653
|
const renderCount = { current: 0 };
|
|
654
654
|
const TestComponent = createTestComponent({
|
|
655
655
|
updates: [
|
|
@@ -670,13 +670,13 @@ describe("useAgent throttleMs", () => {
|
|
|
670
670
|
});
|
|
671
671
|
expect(renderCount.current).toBe(rendersAfterMount + 1);
|
|
672
672
|
|
|
673
|
-
// Fire onRunInitialized 10ms later —
|
|
674
|
-
act(() => {
|
|
673
|
+
// Fire onRunInitialized 10ms later — fires via microtask batch
|
|
674
|
+
await act(async () => {
|
|
675
675
|
vi.advanceTimersByTime(10);
|
|
676
676
|
notifyRunInitialized(mockAgent);
|
|
677
677
|
});
|
|
678
678
|
|
|
679
|
-
// Run status notification
|
|
679
|
+
// Run status notification fires via microtask batch
|
|
680
680
|
expect(renderCount.current).toBe(rendersAfterMount + 2);
|
|
681
681
|
});
|
|
682
682
|
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { renderHook } from "@testing-library/react";
|
|
3
|
+
import { describe, it, expect, beforeEach, vi } from "vitest";
|
|
4
|
+
import type { AgentCapabilities } from "@ag-ui/core";
|
|
5
|
+
import { useCapabilities } from "../use-capabilities";
|
|
6
|
+
import { useAgent } from "../use-agent";
|
|
7
|
+
|
|
8
|
+
vi.mock("../use-agent", () => ({
|
|
9
|
+
useAgent: vi.fn(),
|
|
10
|
+
}));
|
|
11
|
+
|
|
12
|
+
const mockUseAgent = useAgent as ReturnType<typeof vi.fn>;
|
|
13
|
+
|
|
14
|
+
describe("useCapabilities", () => {
|
|
15
|
+
beforeEach(() => {
|
|
16
|
+
vi.clearAllMocks();
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
it("returns capabilities when agent exposes them", () => {
|
|
20
|
+
const caps: AgentCapabilities = {
|
|
21
|
+
tools: { supported: true, clientProvided: true },
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
mockUseAgent.mockReturnValue({
|
|
25
|
+
agent: { capabilities: caps },
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
const { result } = renderHook(() => useCapabilities("my-agent"));
|
|
29
|
+
|
|
30
|
+
expect(result.current).toEqual(caps);
|
|
31
|
+
expect(mockUseAgent).toHaveBeenCalledWith({ agentId: "my-agent" });
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
it("returns undefined when agent has no capabilities property", () => {
|
|
35
|
+
mockUseAgent.mockReturnValue({
|
|
36
|
+
agent: { description: "basic agent" },
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
const { result } = renderHook(() => useCapabilities("basic"));
|
|
40
|
+
|
|
41
|
+
expect(result.current).toBeUndefined();
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
it("returns undefined when agent is undefined (not connected yet)", () => {
|
|
45
|
+
mockUseAgent.mockReturnValue({ agent: undefined });
|
|
46
|
+
|
|
47
|
+
const { result } = renderHook(() => useCapabilities());
|
|
48
|
+
|
|
49
|
+
expect(result.current).toBeUndefined();
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
it("returns undefined when capabilities property is explicitly undefined", () => {
|
|
53
|
+
mockUseAgent.mockReturnValue({
|
|
54
|
+
agent: { capabilities: undefined },
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
const { result } = renderHook(() => useCapabilities());
|
|
58
|
+
|
|
59
|
+
expect(result.current).toBeUndefined();
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
it("uses default agent when no agentId is provided", () => {
|
|
63
|
+
const caps: AgentCapabilities = {
|
|
64
|
+
transport: { streaming: true },
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
mockUseAgent.mockReturnValue({
|
|
68
|
+
agent: { capabilities: caps },
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
const { result } = renderHook(() => useCapabilities());
|
|
72
|
+
|
|
73
|
+
expect(result.current).toEqual(caps);
|
|
74
|
+
expect(mockUseAgent).toHaveBeenCalledWith({ agentId: undefined });
|
|
75
|
+
});
|
|
76
|
+
});
|
package/src/v2/hooks/index.ts
CHANGED
|
@@ -8,6 +8,7 @@ export { useRenderTool } from "./use-render-tool";
|
|
|
8
8
|
export { useDefaultRenderTool } from "./use-default-render-tool";
|
|
9
9
|
export { useHumanInTheLoop } from "./use-human-in-the-loop";
|
|
10
10
|
export { useAgent, UseAgentUpdate } from "./use-agent";
|
|
11
|
+
export { useCapabilities } from "./use-capabilities";
|
|
11
12
|
export { useAgentContext } from "./use-agent-context";
|
|
12
13
|
export type { AgentContextInput, JsonSerializable } from "./use-agent-context";
|
|
13
14
|
export { useSuggestions } from "./use-suggestions";
|
|
@@ -281,6 +281,25 @@ export function useAgent({
|
|
|
281
281
|
let timerId: ReturnType<typeof setTimeout> | null = null;
|
|
282
282
|
let active = true;
|
|
283
283
|
|
|
284
|
+
// Microtask-batched forceUpdate: coalesces multiple synchronous
|
|
285
|
+
// notifications (e.g. OnStateChanged + OnRunStatusChanged firing in the
|
|
286
|
+
// same tick) into a single React re-render. This prevents the scroll
|
|
287
|
+
// jumping described in #3499 where rapid unbatched forceUpdate calls
|
|
288
|
+
// cause brief content height fluctuations during streaming.
|
|
289
|
+
let batchScheduled = false;
|
|
290
|
+
const batchedForceUpdate = () => {
|
|
291
|
+
if (!active) return;
|
|
292
|
+
if (!batchScheduled) {
|
|
293
|
+
batchScheduled = true;
|
|
294
|
+
queueMicrotask(() => {
|
|
295
|
+
batchScheduled = false;
|
|
296
|
+
if (active) {
|
|
297
|
+
forceUpdate();
|
|
298
|
+
}
|
|
299
|
+
});
|
|
300
|
+
}
|
|
301
|
+
};
|
|
302
|
+
|
|
284
303
|
if (updateFlags.includes(UseAgentUpdate.OnMessagesChanged)) {
|
|
285
304
|
const ms = effectiveThrottleMs;
|
|
286
305
|
if (ms > 0) {
|
|
@@ -324,13 +343,13 @@ export function useAgent({
|
|
|
324
343
|
}
|
|
325
344
|
|
|
326
345
|
if (updateFlags.includes(UseAgentUpdate.OnStateChanged)) {
|
|
327
|
-
handlers.onStateChanged =
|
|
346
|
+
handlers.onStateChanged = batchedForceUpdate;
|
|
328
347
|
}
|
|
329
348
|
|
|
330
349
|
if (updateFlags.includes(UseAgentUpdate.OnRunStatusChanged)) {
|
|
331
|
-
handlers.onRunInitialized =
|
|
332
|
-
handlers.onRunFinalized =
|
|
333
|
-
handlers.onRunFailed =
|
|
350
|
+
handlers.onRunInitialized = batchedForceUpdate;
|
|
351
|
+
handlers.onRunFinalized = batchedForceUpdate;
|
|
352
|
+
handlers.onRunFailed = batchedForceUpdate;
|
|
334
353
|
}
|
|
335
354
|
|
|
336
355
|
const subscription = agent.subscribe(handlers);
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { AgentCapabilities } from "@ag-ui/core";
|
|
2
|
+
import { useAgent } from "./use-agent";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Returns the capabilities declared by the given agent (or the default agent).
|
|
6
|
+
* Capabilities are populated from the runtime `/info` response at connection
|
|
7
|
+
* time. The hook reads them synchronously from the agent instance — there is
|
|
8
|
+
* no separate loading state, but the value will be `undefined` until the
|
|
9
|
+
* runtime handshake completes.
|
|
10
|
+
*
|
|
11
|
+
* @param agentId - Optional agent ID. If omitted, uses the default agent.
|
|
12
|
+
* @returns The agent's capabilities, or `undefined` if the agent doesn't
|
|
13
|
+
* declare capabilities.
|
|
14
|
+
*/
|
|
15
|
+
export function useCapabilities(
|
|
16
|
+
agentId?: string,
|
|
17
|
+
): AgentCapabilities | undefined {
|
|
18
|
+
const { agent } = useAgent({ agentId });
|
|
19
|
+
|
|
20
|
+
if (agent && "capabilities" in agent) {
|
|
21
|
+
return (agent as { capabilities?: AgentCapabilities }).capabilities;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
return undefined;
|
|
25
|
+
}
|
|
@@ -21,6 +21,7 @@ import { LicenseWarningBanner } from "../components/license-warning-banner";
|
|
|
21
21
|
import {
|
|
22
22
|
createLicenseContextValue,
|
|
23
23
|
type LicenseContextValue,
|
|
24
|
+
type DebugConfig,
|
|
24
25
|
} from "@copilotkit/shared";
|
|
25
26
|
import type { CopilotKitCoreErrorCode } from "@copilotkit/core";
|
|
26
27
|
import {
|
|
@@ -112,7 +113,7 @@ export const useLicenseContext = (): LicenseContextValue =>
|
|
|
112
113
|
export interface CopilotKitProviderProps {
|
|
113
114
|
children: ReactNode;
|
|
114
115
|
runtimeUrl?: string;
|
|
115
|
-
headers?: Record<string, string
|
|
116
|
+
headers?: Record<string, string> | (() => Record<string, string>);
|
|
116
117
|
/**
|
|
117
118
|
* Credentials mode for fetch requests (e.g., "include" for HTTP-only cookies in cross-origin requests).
|
|
118
119
|
*/
|
|
@@ -234,6 +235,10 @@ export interface CopilotKitProviderProps {
|
|
|
234
235
|
* Defaults to `{ horizontal: "right", vertical: "top" }`.
|
|
235
236
|
*/
|
|
236
237
|
inspectorDefaultAnchor?: Anchor;
|
|
238
|
+
/**
|
|
239
|
+
* Enable debug logging for the client-side event pipeline.
|
|
240
|
+
*/
|
|
241
|
+
debug?: DebugConfig;
|
|
237
242
|
}
|
|
238
243
|
|
|
239
244
|
// Small helper to normalize array props to a stable reference and warn
|
|
@@ -263,7 +268,7 @@ function useStableArrayProp<T>(
|
|
|
263
268
|
export const CopilotKitProvider: React.FC<CopilotKitProviderProps> = ({
|
|
264
269
|
children,
|
|
265
270
|
runtimeUrl,
|
|
266
|
-
headers = {},
|
|
271
|
+
headers: headersProp = {},
|
|
267
272
|
credentials,
|
|
268
273
|
publicApiKey,
|
|
269
274
|
publicLicenseKey,
|
|
@@ -283,6 +288,7 @@ export const CopilotKitProvider: React.FC<CopilotKitProviderProps> = ({
|
|
|
283
288
|
a2ui,
|
|
284
289
|
defaultThrottleMs,
|
|
285
290
|
inspectorDefaultAnchor,
|
|
291
|
+
debug,
|
|
286
292
|
}) => {
|
|
287
293
|
const [shouldRenderInspector, setShouldRenderInspector] = useState(false);
|
|
288
294
|
const [runtimeA2UIEnabled, setRuntimeA2UIEnabled] = useState(false);
|
|
@@ -389,6 +395,10 @@ export const CopilotKitProvider: React.FC<CopilotKitProviderProps> = ({
|
|
|
389
395
|
);
|
|
390
396
|
const hasLocalAgents = mergedAgents && Object.keys(mergedAgents).length > 0;
|
|
391
397
|
|
|
398
|
+
// Resolve headers from function or static object
|
|
399
|
+
const headers =
|
|
400
|
+
typeof headersProp === "function" ? headersProp() : headersProp;
|
|
401
|
+
|
|
392
402
|
// Merge a provided publicApiKey into headers (without overwriting an explicit header).
|
|
393
403
|
const mergedHeaders = useMemo(() => {
|
|
394
404
|
if (!resolvedPublicKey) return headers;
|
|
@@ -550,6 +560,7 @@ export const CopilotKitProvider: React.FC<CopilotKitProviderProps> = ({
|
|
|
550
560
|
renderToolCalls: allRenderToolCalls,
|
|
551
561
|
renderActivityMessages: allActivityRenderers,
|
|
552
562
|
renderCustomMessages: renderCustomMessagesList,
|
|
563
|
+
debug,
|
|
553
564
|
});
|
|
554
565
|
// Set initial defaultThrottleMs synchronously so child hooks see the
|
|
555
566
|
// correct value on their first render (before useEffect fires).
|
|
@@ -661,6 +672,7 @@ export const CopilotKitProvider: React.FC<CopilotKitProviderProps> = ({
|
|
|
661
672
|
copilotkit.setCredentials(credentials);
|
|
662
673
|
copilotkit.setProperties(properties);
|
|
663
674
|
copilotkit.setAgents__unsafe_dev_only(mergedAgents);
|
|
675
|
+
copilotkit.setDebug(debug);
|
|
664
676
|
}, [
|
|
665
677
|
copilotkit,
|
|
666
678
|
chatApiEndpoint,
|
|
@@ -669,6 +681,7 @@ export const CopilotKitProvider: React.FC<CopilotKitProviderProps> = ({
|
|
|
669
681
|
properties,
|
|
670
682
|
mergedAgents,
|
|
671
683
|
useSingleEndpoint,
|
|
684
|
+
debug,
|
|
672
685
|
]);
|
|
673
686
|
|
|
674
687
|
// Sync render/tool arrays to the stable instance via setters.
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"copilotkit-BuhSUZHb.d.mts","names":[],"sources":["../src/types/frontend-action.ts","../src/hooks/use-tree.ts","../src/types/document-pointer.ts","../src/types/system-message.ts","../src/types/chat-suggestion-configuration.ts","../src/types/crew.ts","../src/types/interrupt-action.ts","../src/types/coagent-action.ts","../src/types/coagent-state.ts","../src/context/copilot-context.tsx","../src/v2/components/chat/CopilotChatAudioRecorder.tsx","../src/v2/providers/CopilotChatConfigurationProvider.tsx","../src/v2/lib/slots.tsx","../src/v2/components/chat/CopilotChatInput.tsx","../src/v2/components/chat/CopilotChatToolCallsView.tsx","../src/v2/components/chat/CopilotChatAssistantMessage.tsx","../src/v2/components/chat/CopilotChatUserMessage.tsx","../src/v2/components/chat/CopilotChatReasoningMessage.tsx","../src/v2/components/chat/CopilotChatSuggestionPill.tsx","../src/v2/components/chat/CopilotChatSuggestionView.tsx","../src/v2/components/chat/CopilotChatMessageView.tsx","../src/v2/components/chat/CopilotChatView.tsx","../src/v2/components/chat/CopilotChat.tsx","../src/v2/components/chat/CopilotChatToggleButton.tsx","../src/v2/components/chat/CopilotModalHeader.tsx","../src/v2/components/chat/CopilotSidebarView.tsx","../src/v2/components/chat/CopilotPopupView.tsx","../src/v2/components/chat/CopilotSidebar.tsx","../src/v2/components/chat/CopilotPopup.tsx","../src/v2/components/chat/CopilotChatAttachmentQueue.tsx","../src/v2/components/chat/CopilotChatAttachmentRenderer.tsx","../src/v2/components/WildcardToolCallRender.tsx","../src/v2/components/CopilotKitInspector.tsx","../src/v2/components/MCPAppsActivityRenderer.tsx","../src/v2/hooks/use-render-tool-call.tsx","../src/v2/types/react-custom-message-renderer.ts","../src/v2/hooks/use-render-custom-messages.tsx","../src/v2/types/react-tool-call-renderer.ts","../src/v2/types/react-activity-message-renderer.ts","../src/v2/types/frontend-tool.ts","../src/v2/types/human-in-the-loop.ts","../src/v2/types/defineToolCallRenderer.ts","../src/v2/types/interrupt.ts","../src/v2/types/sandbox-function.ts","../src/v2/hooks/use-render-activity-message.tsx","../src/v2/hooks/use-frontend-tool.tsx","../src/v2/hooks/use-component.tsx","../src/v2/hooks/use-render-tool.tsx","../src/v2/hooks/use-default-render-tool.tsx","../src/v2/hooks/use-human-in-the-loop.tsx","../src/v2/hooks/use-agent.tsx","../src/v2/hooks/use-agent-context.tsx","../src/v2/hooks/use-suggestions.tsx","../src/v2/hooks/use-configure-suggestions.tsx","../src/v2/hooks/use-interrupt.tsx","../src/v2/hooks/use-threads.tsx","../src/v2/hooks/use-attachments.tsx","../src/v2/lib/react-core.ts","../src/v2/providers/CopilotKitProvider.tsx","../src/v2/providers/SandboxFunctionsContext.ts","../src/v2/a2ui/A2UIMessageRenderer.tsx","../src/components/copilot-provider/copilotkit-props.tsx","../src/components/copilot-provider/copilotkit.tsx"],"mappings":"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"}
|