@copilotkit/react-core 1.56.1 → 1.56.2-canary.test-welcome-screen

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 (57) hide show
  1. package/dist/{copilotkit-CSJw5BG8.cjs → copilotkit-By2G6-Zx.cjs} +250 -63
  2. package/dist/copilotkit-By2G6-Zx.cjs.map +1 -0
  3. package/dist/{copilotkit-CCbxm6JM.d.mts → copilotkit-DFaI4j2r.d.mts} +64 -18
  4. package/dist/copilotkit-DFaI4j2r.d.mts.map +1 -0
  5. package/dist/{copilotkit-BtP7w7cT.d.cts → copilotkit-Dg4r4Gi_.d.cts} +64 -18
  6. package/dist/copilotkit-Dg4r4Gi_.d.cts.map +1 -0
  7. package/dist/{copilotkit-Cj2ZIxVr.mjs → copilotkit-PzJlPKcU.mjs} +251 -64
  8. package/dist/copilotkit-PzJlPKcU.mjs.map +1 -0
  9. package/dist/index.cjs +1 -1
  10. package/dist/index.d.cts +2 -1
  11. package/dist/index.d.cts.map +1 -1
  12. package/dist/index.d.mts +2 -1
  13. package/dist/index.d.mts.map +1 -1
  14. package/dist/index.mjs +1 -1
  15. package/dist/index.umd.js +31 -44
  16. package/dist/index.umd.js.map +1 -1
  17. package/dist/v2/index.cjs +1 -1
  18. package/dist/v2/index.css +1 -1
  19. package/dist/v2/index.d.cts +2 -2
  20. package/dist/v2/index.d.mts +2 -2
  21. package/dist/v2/index.mjs +1 -1
  22. package/dist/v2/index.umd.js +249 -66
  23. package/dist/v2/index.umd.js.map +1 -1
  24. package/package.json +6 -6
  25. package/src/components/copilot-provider/__tests__/v1-explicit-threadid-bridge.test.tsx +107 -0
  26. package/src/components/copilot-provider/copilotkit.tsx +6 -1
  27. package/src/context/__tests__/threads-context.test.tsx +116 -3
  28. package/src/context/threads-context.tsx +18 -1
  29. package/src/v2/components/chat/CopilotChat.tsx +91 -4
  30. package/src/v2/components/chat/CopilotChatInput.tsx +22 -0
  31. package/src/v2/components/chat/CopilotChatView.tsx +206 -11
  32. package/src/v2/components/chat/__tests__/CopilotChat.absentThreadConnect.test.tsx +66 -0
  33. package/src/v2/components/chat/__tests__/CopilotChat.welcomeGate.test.tsx +186 -0
  34. package/src/v2/components/chat/__tests__/CopilotChatActivityRendering.e2e.test.tsx +300 -2
  35. package/src/v2/components/chat/__tests__/CopilotChatView.connectingGate.test.tsx +56 -0
  36. package/src/v2/components/chat/__tests__/CopilotChatView.pinToSend.test.tsx +94 -0
  37. package/src/v2/components/chat/__tests__/copilot-chat-throttle.test.tsx +0 -1
  38. package/src/v2/components/chat/__tests__/normalize-auto-scroll.test.ts +37 -0
  39. package/src/v2/components/chat/index.ts +2 -0
  40. package/src/v2/components/chat/last-user-message-context.ts +21 -0
  41. package/src/v2/components/chat/normalize-auto-scroll.ts +17 -0
  42. package/src/v2/components/license-warning-banner.tsx +20 -1
  43. package/src/v2/hooks/__tests__/use-agent-stability.test.tsx +6 -0
  44. package/src/v2/hooks/__tests__/use-agent-thread-isolation.test.tsx +6 -0
  45. package/src/v2/hooks/__tests__/use-agent-throttle.test.tsx +76 -50
  46. package/src/v2/hooks/__tests__/use-pin-to-send.test.tsx +219 -0
  47. package/src/v2/hooks/__tests__/use-threads.test.tsx +68 -0
  48. package/src/v2/hooks/use-agent.tsx +34 -77
  49. package/src/v2/hooks/use-pin-to-send.ts +94 -0
  50. package/src/v2/hooks/use-threads.tsx +55 -12
  51. package/src/v2/providers/CopilotChatConfigurationProvider.tsx +29 -1
  52. package/src/v2/providers/CopilotKitProvider.tsx +2 -11
  53. package/src/v2/providers/__tests__/CopilotChatConfigurationProvider.test.tsx +106 -0
  54. package/dist/copilotkit-BtP7w7cT.d.cts.map +0 -1
  55. package/dist/copilotkit-CCbxm6JM.d.mts.map +0 -1
  56. package/dist/copilotkit-CSJw5BG8.cjs.map +0 -1
  57. package/dist/copilotkit-Cj2ZIxVr.mjs.map +0 -1
@@ -6,6 +6,7 @@ import { AbstractAgent, HttpAgent } from "@ag-ui/client";
6
6
  import {
7
7
  ProxiedCopilotRuntimeAgent,
8
8
  CopilotKitCoreRuntimeConnectionStatus,
9
+ type SubscribeToAgentSubscriber,
9
10
  } from "@copilotkit/core";
10
11
 
11
12
  export enum UseAgentUpdate {
@@ -25,23 +26,26 @@ export interface UseAgentProps {
25
26
  threadId?: string;
26
27
  updates?: UseAgentUpdate[];
27
28
  /**
28
- * Throttle interval (in milliseconds) for React re-renders triggered by
29
- * `OnMessagesChanged` notifications. Useful to reduce re-render frequency
30
- * during high-frequency message updates such as streaming.
29
+ * Throttle interval (in milliseconds) for re-renders triggered by
30
+ * `onMessagesChanged` and `onStateChanged` notifications. Useful to reduce
31
+ * re-render frequency during high-frequency streaming updates.
31
32
  *
32
- * Uses leading+trailing: first update fires immediately, subsequent updates
33
- * within the window are coalesced, and a trailing timer ensures the most
34
- * recent update fires after the window expires. The trailing edge restarts
35
- * the throttle window, so no two renders occur within `throttleMs` of each
36
- * other. Cleanup on unmount cancels any pending trailing timer.
33
+ * Uses a leading+trailing pattern with a shared window — first update
34
+ * fires immediately, subsequent updates within the window are coalesced,
35
+ * and a trailing timer ensures the most recent update fires after the
36
+ * window expires. See `CopilotKitCore.subscribeToAgentWithOptions` in `@copilotkit/core`
37
+ * for details.
37
38
  *
38
- * Must be a non-negative finite number. Negative or non-finite values fall
39
- * back to unthrottled behavior with a `console.error`. Only affects
40
- * `OnMessagesChanged` updates `OnStateChanged` and `OnRunStatusChanged`
41
- * always fire immediately. If `updates` does not include
42
- * `OnMessagesChanged`, this property has no effect.
39
+ * Resolved as: `throttleMs ?? provider defaultThrottleMs ?? 0`.
40
+ * Passing `throttleMs={0}` explicitly disables throttling even when the
41
+ * provider specifies a non-zero `defaultThrottleMs`.
43
42
  *
44
- * Default: `0` (no throttle).
43
+ * Run lifecycle callbacks (`onRunInitialized`, `onRunFinalized`,
44
+ * `onRunFailed`, `onRunErrorEvent`) always fire immediately.
45
+ *
46
+ * @default undefined
47
+ * When unset, inherits from the provider's `defaultThrottleMs`;
48
+ * if that is also unset, the effective value is `0` (no throttle).
45
49
  */
46
50
  throttleMs?: number;
47
51
  }
@@ -123,6 +127,9 @@ export function useAgent({
123
127
  agentId ??= DEFAULT_AGENT_ID;
124
128
 
125
129
  const { copilotkit } = useCopilotKit();
130
+ // Read the provider-level default so it appears in the effect's dep array.
131
+ // subscribeToAgentWithOptions reads it from the core instance, but React needs the dep
132
+ // to know when to re-subscribe.
126
133
  const providerThrottleMs = copilotkit.defaultThrottleMs;
127
134
  // Fall back to the enclosing CopilotChatConfigurationProvider's threadId so
128
135
  // that useAgent() called without explicit threadId (e.g. inside a custom
@@ -131,23 +138,6 @@ export function useAgent({
131
138
  const chatConfig = useCopilotChatConfiguration();
132
139
  threadId ??= chatConfig?.threadId;
133
140
 
134
- const effectiveThrottleMs = useMemo(() => {
135
- const resolved = throttleMs ?? providerThrottleMs ?? 0;
136
- if (!Number.isFinite(resolved) || resolved < 0) {
137
- // When both throttleMs and providerThrottleMs are undefined, resolved
138
- // is 0 which passes validation — so one of them must be defined here.
139
- const source =
140
- throttleMs !== undefined
141
- ? "hook-level throttleMs"
142
- : "provider-level defaultThrottleMs";
143
- console.error(
144
- `useAgent: ${source} must be a non-negative finite number, got ${resolved}. Falling back to unthrottled.`,
145
- );
146
- return 0;
147
- }
148
- return resolved;
149
- }, [throttleMs, providerThrottleMs]);
150
-
151
141
  const [, forceUpdate] = useReducer((x) => x + 1, 0);
152
142
 
153
143
  const updateFlags = useMemo(
@@ -277,9 +267,8 @@ export function useAgent({
277
267
  useEffect(() => {
278
268
  if (updateFlags.length === 0) return;
279
269
 
280
- const handlers: Parameters<AbstractAgent["subscribe"]>[0] = {};
281
- let timerId: ReturnType<typeof setTimeout> | null = null;
282
270
  let active = true;
271
+ const handlers: SubscribeToAgentSubscriber = {};
283
272
 
284
273
  // Microtask-batched forceUpdate: coalesces multiple synchronous
285
274
  // notifications (e.g. OnStateChanged + OnRunStatusChanged firing in the
@@ -301,45 +290,7 @@ export function useAgent({
301
290
  };
302
291
 
303
292
  if (updateFlags.includes(UseAgentUpdate.OnMessagesChanged)) {
304
- const ms = effectiveThrottleMs;
305
- if (ms > 0) {
306
- // Throttled onMessagesChanged: leading+trailing pattern.
307
- // First notification fires immediately, subsequent ones within the
308
- // window are coalesced. Trailing timer fires after the window to
309
- // ensure the final state is rendered.
310
- let throttleActive = false;
311
- // Tracks whether a notification arrived during the throttle window,
312
- // so the trailing timer knows whether a re-render is needed.
313
- let pending = false;
314
-
315
- const throttledNotify = () => {
316
- if (!active) return;
317
- if (!throttleActive) {
318
- // Leading edge — fire immediately and start the throttle window
319
- throttleActive = true;
320
- pending = false;
321
- forceUpdate();
322
- timerId = setTimeout(function trailingEdge() {
323
- timerId = null;
324
- if (active && pending) {
325
- // Trailing edge — fire and restart the window
326
- pending = false;
327
- forceUpdate();
328
- timerId = setTimeout(trailingEdge, ms);
329
- } else {
330
- // No pending notifications — end the window
331
- throttleActive = false;
332
- }
333
- }, ms);
334
- } else {
335
- pending = true;
336
- }
337
- };
338
-
339
- handlers.onMessagesChanged = throttledNotify;
340
- } else {
341
- handlers.onMessagesChanged = forceUpdate;
342
- }
293
+ handlers.onMessagesChanged = forceUpdate;
343
294
  }
344
295
 
345
296
  if (updateFlags.includes(UseAgentUpdate.OnStateChanged)) {
@@ -350,18 +301,24 @@ export function useAgent({
350
301
  handlers.onRunInitialized = batchedForceUpdate;
351
302
  handlers.onRunFinalized = batchedForceUpdate;
352
303
  handlers.onRunFailed = batchedForceUpdate;
304
+ // Protocol-level RUN_ERROR event (distinct from onRunFailed which
305
+ // handles local exceptions like network errors).
306
+ handlers.onRunErrorEvent = batchedForceUpdate;
353
307
  }
354
308
 
355
- const subscription = agent.subscribe(handlers);
309
+ const subscription = copilotkit.subscribeToAgentWithOptions(
310
+ agent,
311
+ handlers,
312
+ {
313
+ throttleMs,
314
+ },
315
+ );
356
316
  return () => {
357
317
  active = false;
358
- if (timerId !== null) {
359
- clearTimeout(timerId);
360
- }
361
318
  subscription.unsubscribe();
362
319
  };
363
320
  // eslint-disable-next-line react-hooks/exhaustive-deps
364
- }, [agent, forceUpdate, effectiveThrottleMs, updateFlags]);
321
+ }, [agent, forceUpdate, throttleMs, providerThrottleMs, updateFlags]);
365
322
 
366
323
  // Keep HttpAgent headers fresh without mutating inside useMemo, which is
367
324
  // unsafe in concurrent mode (React may invoke useMemo multiple times and
@@ -0,0 +1,94 @@
1
+ import { useContext, useEffect, useRef } from "react";
2
+ import { LastUserMessageContext } from "../components/chat/last-user-message-context";
3
+
4
+ export type UsePinToSendOptions = {
5
+ scrollRef: React.RefObject<HTMLElement | null>;
6
+ contentRef: React.RefObject<HTMLElement | null>;
7
+ spacerRef: React.RefObject<HTMLElement | null>;
8
+ topOffset?: number;
9
+ };
10
+
11
+ export function usePinToSend({
12
+ scrollRef,
13
+ contentRef,
14
+ spacerRef,
15
+ topOffset = 16,
16
+ }: UsePinToSendOptions): void {
17
+ const { id, sendNonce } = useContext(LastUserMessageContext);
18
+ const lastNonceRef = useRef<number>(-1);
19
+ const currentSpacerHeightRef = useRef<number>(0);
20
+
21
+ useEffect(() => {
22
+ if (sendNonce === lastNonceRef.current) return;
23
+ lastNonceRef.current = sendNonce;
24
+
25
+ if (!id) return;
26
+ const scrollEl = scrollRef.current;
27
+ const contentEl = contentRef.current;
28
+ const spacerEl = spacerRef.current;
29
+ if (!scrollEl || !contentEl || !spacerEl) return;
30
+
31
+ const escaped =
32
+ typeof CSS !== "undefined" && CSS.escape
33
+ ? CSS.escape(id)
34
+ : id.replace(/[!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~]/g, "\\$&");
35
+ const targetEl = contentEl.querySelector<HTMLElement>(
36
+ `[data-message-id="${escaped}"]`,
37
+ );
38
+ if (!targetEl) return;
39
+
40
+ // The target message's element has a top padding (e.g. `pt-10`) that
41
+ // creates breathing room above the visible bubble. When we "anchor at
42
+ // the top", we mean anchor the *bubble*, not the element's padded box.
43
+ // So we scroll past the padding (it goes above the viewport, hiding
44
+ // whatever was above the element too — including the previous message's
45
+ // trailing copy button).
46
+ const viewportHeight = scrollEl.clientHeight;
47
+ const userMessageHeight = targetEl.getBoundingClientRect().height;
48
+ const paddingTop = parseFloat(getComputedStyle(targetEl).paddingTop) || 0;
49
+ const bubbleHeight = Math.max(0, userMessageHeight - paddingTop);
50
+ const spacerHeight = Math.max(0, viewportHeight - bubbleHeight - topOffset);
51
+
52
+ spacerEl.style.height = `${spacerHeight}px`;
53
+ currentSpacerHeightRef.current = spacerHeight;
54
+
55
+ const raf = requestAnimationFrame(() => {
56
+ // Scroll so the BUBBLE is `topOffset` from the viewport top — the
57
+ // padding above the bubble ends up scrolled off-screen.
58
+ const targetTop =
59
+ computeOffsetTop(targetEl, scrollEl) + paddingTop - topOffset;
60
+ scrollEl.scrollTo({ top: Math.max(0, targetTop), behavior: "smooth" });
61
+ });
62
+
63
+ // Shrink-only ResizeObserver: as the assistant response grows below the
64
+ // anchored user message, collapse the spacer by the same amount so total
65
+ // scrollable space below the bubble stays constant (and the bubble stays
66
+ // pinned). Never grow the spacer after initial sizing.
67
+ const ro = new ResizeObserver(() => {
68
+ if (!contentEl || !spacerEl || !scrollEl) return;
69
+ const contentHeight = contentEl.getBoundingClientRect().height;
70
+ const targetOffsetWithinContent = computeOffsetTop(targetEl, contentEl);
71
+ const consumedBelow =
72
+ contentHeight - targetOffsetWithinContent - userMessageHeight;
73
+ const remaining = Math.max(0, spacerHeight - consumedBelow);
74
+ if (remaining < currentSpacerHeightRef.current) {
75
+ spacerEl.style.height = `${remaining}px`;
76
+ currentSpacerHeightRef.current = remaining;
77
+ }
78
+ });
79
+ ro.observe(contentEl);
80
+
81
+ return () => {
82
+ cancelAnimationFrame(raf);
83
+ ro.disconnect();
84
+ };
85
+ }, [id, sendNonce, scrollRef, contentRef, spacerRef, topOffset]);
86
+ }
87
+
88
+ // Compute the offset of el relative to stopAt, accounting for stopAt's current scrollTop.
89
+ // Uses getBoundingClientRect so it works regardless of CSS positioning (including position:static).
90
+ function computeOffsetTop(el: HTMLElement, stopAt: HTMLElement): number {
91
+ const elRect = el.getBoundingClientRect();
92
+ const stopRect = stopAt.getBoundingClientRect();
93
+ return elRect.top - stopRect.top + stopAt.scrollTop;
94
+ }
@@ -1,5 +1,6 @@
1
1
  import { useCopilotKit } from "../providers/CopilotKitProvider";
2
2
  import {
3
+ CopilotKitCoreRuntimeConnectionStatus,
3
4
  ɵcreateThreadStore,
4
5
  ɵselectThreads,
5
6
  ɵselectThreadsError,
@@ -30,6 +31,13 @@ export interface Thread {
30
31
  archived: boolean;
31
32
  createdAt: string;
32
33
  updatedAt: string;
34
+ /**
35
+ * ISO-8601 timestamp of the most recent agent run on this thread. Absent
36
+ * when the thread has never been run. Prefer this over `updatedAt` for
37
+ * user-facing "last activity" displays — it is not bumped by metadata-only
38
+ * actions like rename or archive.
39
+ */
40
+ lastRunAt?: string;
33
41
  }
34
42
 
35
43
  /**
@@ -179,13 +187,14 @@ export function useThreads({
179
187
  const threads: Thread[] = useMemo(
180
188
  () =>
181
189
  coreThreads.map(
182
- ({ id, agentId, name, archived, createdAt, updatedAt }) => ({
190
+ ({ id, agentId, name, archived, createdAt, updatedAt, lastRunAt }) => ({
183
191
  id,
184
192
  agentId,
185
193
  name,
186
194
  archived,
187
195
  createdAt,
188
196
  updatedAt,
197
+ ...(lastRunAt !== undefined ? { lastRunAt } : {}),
189
198
  }),
190
199
  ),
191
200
  [coreThreads],
@@ -211,7 +220,18 @@ export function useThreads({
211
220
 
212
221
  return new Error("Runtime URL is not configured");
213
222
  }, [copilotkit.runtimeUrl]);
214
- const isLoading = runtimeError ? false : storeIsLoading;
223
+
224
+ // Tracks whether we've dispatched the first real context to the store.
225
+ // The store itself starts with `isLoading: false`, so before we dispatch
226
+ // consumers would otherwise see an empty, non-loading state (empty-list
227
+ // flash). While runtimeUrl is set and we haven't dispatched yet, we
228
+ // synthesize `isLoading: true` so the UI keeps its loading indicator until
229
+ // the first fetch is in flight (at which point the store's own
230
+ // isLoading takes over).
231
+ const [hasDispatchedContext, setHasDispatchedContext] = useState(false);
232
+ const preConnectLoading = !!copilotkit.runtimeUrl && !hasDispatchedContext;
233
+
234
+ const isLoading = runtimeError ? false : preConnectLoading || storeIsLoading;
215
235
  const error = runtimeError ?? storeError;
216
236
 
217
237
  useEffect(() => {
@@ -221,22 +241,45 @@ export function useThreads({
221
241
  };
222
242
  }, [store]);
223
243
 
244
+ // Defer setting the context until the runtime reports Connected. Before
245
+ // `/info` resolves we don't know `intelligence.wsUrl`, so dispatching the
246
+ // context early would issue a list fetch with `wsUrl: undefined`, then a
247
+ // second list fetch (and a `/threads/subscribe`) once the flag lands.
248
+ // Waiting lets the hook issue just one `/threads?…` + one `/threads/subscribe`.
249
+ //
250
+ // When `runtimeUrl` is absent we dispatch `null` to clear the store. For
251
+ // transient states (Disconnected/Connecting/Error with a URL still set) we
252
+ // leave the previously-dispatched context in place — any in-flight
253
+ // realtime subscription or cached thread list stays usable while the
254
+ // runtime recovers, and we don't re-trigger a fetch storm on transitions.
255
+ const runtimeStatus = copilotkit.runtimeConnectionStatus;
224
256
  useEffect(() => {
225
- const context: ɵThreadRuntimeContext | null = copilotkit.runtimeUrl
226
- ? {
227
- runtimeUrl: copilotkit.runtimeUrl,
228
- headers: { ...copilotkit.headers },
229
- wsUrl: copilotkit.intelligence?.wsUrl,
230
- agentId,
231
- includeArchived,
232
- limit,
233
- }
234
- : null;
257
+ if (!copilotkit.runtimeUrl) {
258
+ store.setContext(null);
259
+ return;
260
+ }
261
+
262
+ // Wait for /info to land so we can include `wsUrl` in the initial
263
+ // context and avoid a redundant second list fetch.
264
+ if (runtimeStatus !== CopilotKitCoreRuntimeConnectionStatus.Connected) {
265
+ return;
266
+ }
267
+
268
+ const context: ɵThreadRuntimeContext = {
269
+ runtimeUrl: copilotkit.runtimeUrl,
270
+ headers: { ...copilotkit.headers },
271
+ wsUrl: copilotkit.intelligence?.wsUrl,
272
+ agentId,
273
+ includeArchived,
274
+ limit,
275
+ };
235
276
 
236
277
  store.setContext(context);
278
+ setHasDispatchedContext(true);
237
279
  }, [
238
280
  store,
239
281
  copilotkit.runtimeUrl,
282
+ runtimeStatus,
240
283
  headersKey,
241
284
  copilotkit.intelligence?.wsUrl,
242
285
  agentId,
@@ -45,6 +45,11 @@ export interface CopilotChatConfigurationValue {
45
45
  threadId: string;
46
46
  isModalOpen: boolean;
47
47
  setModalOpen: (open: boolean) => void;
48
+ // True when the current threadId was chosen by the caller rather than
49
+ // silently minted inside the provider chain. Consumers that only make
50
+ // sense against a real backend thread (e.g. /connect, suppressing the
51
+ // welcome screen on switch) gate on this instead of `!!threadId`.
52
+ hasExplicitThreadId: boolean;
48
53
  }
49
54
 
50
55
  // Create the configuration context
@@ -57,13 +62,26 @@ export interface CopilotChatConfigurationProviderProps {
57
62
  labels?: Partial<CopilotChatLabels>;
58
63
  agentId?: string;
59
64
  threadId?: string;
65
+ // Lets internal wrappers (e.g. the v1 CopilotKit bridge, which pipes a
66
+ // ThreadsProvider-minted UUID through as `threadId`) declare that the
67
+ // threadId they are supplying is NOT a caller choice. When omitted, the
68
+ // provider infers explicitness from whether the `threadId` prop itself
69
+ // was supplied.
70
+ hasExplicitThreadId?: boolean;
60
71
  isModalDefaultOpen?: boolean;
61
72
  }
62
73
 
63
74
  // Provider component
64
75
  export const CopilotChatConfigurationProvider: React.FC<
65
76
  CopilotChatConfigurationProviderProps
66
- > = ({ children, labels, agentId, threadId, isModalDefaultOpen }) => {
77
+ > = ({
78
+ children,
79
+ labels,
80
+ agentId,
81
+ threadId,
82
+ hasExplicitThreadId,
83
+ isModalDefaultOpen,
84
+ }) => {
67
85
  const parentConfig = useContext(CopilotChatConfiguration);
68
86
 
69
87
  // Stabilize labels references so that inline objects (new reference on every
@@ -92,6 +110,14 @@ export const CopilotChatConfigurationProvider: React.FC<
92
110
  return randomUUID();
93
111
  }, [threadId, parentConfig?.threadId]);
94
112
 
113
+ // If a caller passed `hasExplicitThreadId`, trust it verbatim (lets the v1
114
+ // bridge mark an auto-minted UUID as non-explicit). Otherwise infer: a
115
+ // threadId supplied as a prop here is by definition a caller choice.
116
+ const ownHasExplicitThreadId =
117
+ hasExplicitThreadId !== undefined ? hasExplicitThreadId : !!threadId;
118
+ const resolvedHasExplicitThreadId =
119
+ ownHasExplicitThreadId || !!parentConfig?.hasExplicitThreadId;
120
+
95
121
  const resolvedDefaultOpen = isModalDefaultOpen ?? true;
96
122
 
97
123
  const [internalModalOpen, setInternalModalOpen] =
@@ -141,6 +167,7 @@ export const CopilotChatConfigurationProvider: React.FC<
141
167
  labels: mergedLabels,
142
168
  agentId: resolvedAgentId,
143
169
  threadId: resolvedThreadId,
170
+ hasExplicitThreadId: resolvedHasExplicitThreadId,
144
171
  isModalOpen: resolvedIsModalOpen,
145
172
  setModalOpen: resolvedSetModalOpen,
146
173
  }),
@@ -148,6 +175,7 @@ export const CopilotChatConfigurationProvider: React.FC<
148
175
  mergedLabels,
149
176
  resolvedAgentId,
150
177
  resolvedThreadId,
178
+ resolvedHasExplicitThreadId,
151
179
  resolvedIsModalOpen,
152
180
  resolvedSetModalOpen,
153
181
  ],
@@ -720,19 +720,10 @@ export const CopilotKitProvider: React.FC<CopilotKitProviderProps> = ({
720
720
  }, []);
721
721
 
722
722
  // Sync defaultThrottleMs to the core instance on prop changes.
723
- // Initial value is set synchronously during instance creation (below the
724
- // ref init) so child hooks see the correct value on their first render.
723
+ // Initial value is set synchronously during instance creation (inside the
724
+ // ref-init block above) so child hooks see the correct value on first render.
725
725
  // This effect handles subsequent updates when the prop changes.
726
726
  useEffect(() => {
727
- if (
728
- defaultThrottleMs !== undefined &&
729
- (!Number.isFinite(defaultThrottleMs) || defaultThrottleMs < 0)
730
- ) {
731
- console.error(
732
- `CopilotKitProvider: defaultThrottleMs must be a non-negative finite number, got ${defaultThrottleMs}. ` +
733
- `useAgent hooks without an explicit throttleMs will fall back to unthrottled.`,
734
- );
735
- }
736
727
  copilotkit.setDefaultThrottleMs(defaultThrottleMs);
737
728
  }, [copilotkit, defaultThrottleMs]);
738
729
 
@@ -513,6 +513,112 @@ describe("CopilotChatConfigurationProvider", () => {
513
513
  });
514
514
  });
515
515
 
516
+ /**
517
+ * Regression coverage for the welcome-screen / /connect 404 bug
518
+ * (fix/welcome-not-showing-at-all). `hasExplicitThreadId` distinguishes a
519
+ * caller-chosen thread from a UUID auto-minted inside the provider chain —
520
+ * consumers that only make sense against a real backend thread (/connect,
521
+ * switch-flash suppression) must gate on this signal, not on !!threadId.
522
+ */
523
+ describe("hasExplicitThreadId", () => {
524
+ function ExplicitProbe({ id = "probe" }: { id?: string } = {}) {
525
+ const config = useCopilotChatConfiguration();
526
+ return (
527
+ <div data-testid={`${id}-explicit`}>
528
+ {String(config?.hasExplicitThreadId)}
529
+ </div>
530
+ );
531
+ }
532
+
533
+ it("infers true when threadId prop is supplied and hasExplicitThreadId is omitted", () => {
534
+ render(
535
+ <CopilotChatConfigurationProvider threadId="customer-thread">
536
+ <ExplicitProbe />
537
+ </CopilotChatConfigurationProvider>,
538
+ );
539
+
540
+ expect(screen.getByTestId("probe-explicit").textContent).toBe("true");
541
+ });
542
+
543
+ it("infers false when no threadId prop is supplied and hasExplicitThreadId is omitted", () => {
544
+ render(
545
+ <CopilotChatConfigurationProvider>
546
+ <ExplicitProbe />
547
+ </CopilotChatConfigurationProvider>,
548
+ );
549
+
550
+ expect(screen.getByTestId("probe-explicit").textContent).toBe("false");
551
+ });
552
+
553
+ it("respects hasExplicitThreadId={false} even when a threadId prop is present (v1 bridge case)", () => {
554
+ // The v1 <CopilotKit> wrapper always pipes a UUID through as `threadId`
555
+ // (from ThreadsProvider). Without this override the provider would
556
+ // mis-infer the UUID as explicit, causing /connect to 404 and the
557
+ // welcome screen to stay hidden for fresh empty chats.
558
+ render(
559
+ <CopilotChatConfigurationProvider
560
+ threadId="auto-minted-uuid"
561
+ hasExplicitThreadId={false}
562
+ >
563
+ <ExplicitProbe />
564
+ </CopilotChatConfigurationProvider>,
565
+ );
566
+
567
+ expect(screen.getByTestId("probe-explicit").textContent).toBe("false");
568
+ });
569
+
570
+ it("parent=true overrides child's hasExplicitThreadId={false} via OR inheritance", () => {
571
+ // resolvedHasExplicitThreadId = ownHasExplicit || parentHasExplicit.
572
+ // Once an ancestor has marked the thread as caller-chosen, descendants
573
+ // cannot mask that — pinning the contract so "try to hide explicitness
574
+ // from a child" doesn't silently work.
575
+ render(
576
+ <CopilotChatConfigurationProvider threadId="real-thread">
577
+ <CopilotChatConfigurationProvider
578
+ threadId="other-uuid"
579
+ hasExplicitThreadId={false}
580
+ >
581
+ <ExplicitProbe />
582
+ </CopilotChatConfigurationProvider>
583
+ </CopilotChatConfigurationProvider>,
584
+ );
585
+
586
+ expect(screen.getByTestId("probe-explicit").textContent).toBe("true");
587
+ });
588
+
589
+ it("propagates through a three-level chain where the middle provider is bare", () => {
590
+ // Matches the real stack: outer layout provider (no threadId) →
591
+ // CopilotChat's own provider (no threadId) → inner feature provider
592
+ // (explicit threadId). Explicitness must cross the empty middle.
593
+ render(
594
+ <CopilotChatConfigurationProvider>
595
+ <CopilotChatConfigurationProvider>
596
+ <CopilotChatConfigurationProvider threadId="deeply-picked-thread">
597
+ <ExplicitProbe />
598
+ </CopilotChatConfigurationProvider>
599
+ </CopilotChatConfigurationProvider>
600
+ </CopilotChatConfigurationProvider>,
601
+ );
602
+
603
+ expect(screen.getByTestId("probe-explicit").textContent).toBe("true");
604
+ });
605
+
606
+ it("non-explicit parent does not taint an explicit child", () => {
607
+ render(
608
+ <CopilotChatConfigurationProvider
609
+ threadId="auto-uuid"
610
+ hasExplicitThreadId={false}
611
+ >
612
+ <CopilotChatConfigurationProvider threadId="user-picked">
613
+ <ExplicitProbe />
614
+ </CopilotChatConfigurationProvider>
615
+ </CopilotChatConfigurationProvider>,
616
+ );
617
+
618
+ expect(screen.getByTestId("probe-explicit").textContent).toBe("true");
619
+ });
620
+ });
621
+
516
622
  describe("Nested providers", () => {
517
623
  it("should handle multiple nested providers correctly", () => {
518
624
  render(
@@ -1 +0,0 @@
1
- {"version":3,"file":"copilotkit-BtP7w7cT.d.cts","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-capabilities.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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"}