@assistant-ui/mcp-docs-server 0.1.20 → 0.1.21

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 (91) hide show
  1. package/.docs/organized/code-examples/with-ag-ui.md +112 -16
  2. package/.docs/organized/code-examples/with-ai-sdk-v6.md +5 -5
  3. package/.docs/organized/code-examples/with-assistant-transport.md +3 -3
  4. package/.docs/organized/code-examples/with-cloud.md +5 -5
  5. package/.docs/organized/code-examples/with-custom-thread-list.md +5 -5
  6. package/.docs/organized/code-examples/with-elevenlabs-scribe.md +8 -8
  7. package/.docs/organized/code-examples/with-external-store.md +4 -4
  8. package/.docs/organized/code-examples/with-ffmpeg.md +5 -5
  9. package/.docs/organized/code-examples/with-langgraph.md +3 -3
  10. package/.docs/organized/code-examples/with-parent-id-grouping.md +4 -4
  11. package/.docs/organized/code-examples/with-react-hook-form.md +6 -6
  12. package/.docs/organized/code-examples/with-react-router.md +4 -4
  13. package/.docs/organized/code-examples/with-store.md +3 -3
  14. package/.docs/organized/code-examples/with-tanstack.md +6 -6
  15. package/.docs/organized/code-examples/with-tap-runtime.md +812 -0
  16. package/.docs/raw/docs/(docs)/copilots/make-assistant-tool-ui.mdx +0 -1
  17. package/.docs/raw/docs/(docs)/copilots/make-assistant-tool.mdx +0 -1
  18. package/.docs/raw/docs/(docs)/devtools.mdx +0 -1
  19. package/.docs/raw/docs/(docs)/guides/attachments.mdx +0 -1
  20. package/.docs/raw/docs/(docs)/installation.mdx +0 -1
  21. package/.docs/raw/docs/(reference)/api-reference/context-providers/assistant-runtime-provider.mdx +0 -1
  22. package/.docs/raw/docs/(reference)/api-reference/context-providers/text-message-part-provider.mdx +0 -1
  23. package/.docs/raw/docs/(reference)/api-reference/integrations/react-data-stream.mdx +1 -2
  24. package/.docs/raw/docs/(reference)/api-reference/integrations/react-hook-form.mdx +0 -1
  25. package/.docs/raw/docs/(reference)/api-reference/integrations/vercel-ai-sdk.mdx +0 -1
  26. package/.docs/raw/docs/(reference)/api-reference/primitives/action-bar-more.mdx +13 -45
  27. package/.docs/raw/docs/(reference)/api-reference/primitives/action-bar.mdx +12 -35
  28. package/.docs/raw/docs/(reference)/api-reference/primitives/assistant-if.mdx +0 -1
  29. package/.docs/raw/docs/(reference)/api-reference/primitives/assistant-modal.mdx +3 -11
  30. package/.docs/raw/docs/(reference)/api-reference/primitives/attachment.mdx +0 -3
  31. package/.docs/raw/docs/(reference)/api-reference/primitives/branch-picker.mdx +0 -1
  32. package/.docs/raw/docs/(reference)/api-reference/primitives/composer.mdx +5 -16
  33. package/.docs/raw/docs/(reference)/api-reference/primitives/composition.mdx +0 -1
  34. package/.docs/raw/docs/(reference)/api-reference/primitives/error.mdx +0 -1
  35. package/.docs/raw/docs/(reference)/api-reference/primitives/message-part.mdx +1 -2
  36. package/.docs/raw/docs/(reference)/api-reference/primitives/message.mdx +0 -1
  37. package/.docs/raw/docs/(reference)/api-reference/primitives/suggestion.mdx +0 -1
  38. package/.docs/raw/docs/(reference)/api-reference/primitives/thread-list-item-more.mdx +0 -1
  39. package/.docs/raw/docs/(reference)/api-reference/primitives/thread-list-item.mdx +1 -2
  40. package/.docs/raw/docs/(reference)/api-reference/primitives/thread-list.mdx +1 -2
  41. package/.docs/raw/docs/(reference)/api-reference/primitives/thread.mdx +0 -1
  42. package/.docs/raw/docs/(reference)/api-reference/runtimes/assistant-runtime.mdx +0 -1
  43. package/.docs/raw/docs/(reference)/api-reference/runtimes/attachment-runtime.mdx +1 -2
  44. package/.docs/raw/docs/(reference)/api-reference/runtimes/composer-runtime.mdx +2 -3
  45. package/.docs/raw/docs/(reference)/api-reference/runtimes/message-part-runtime.mdx +1 -2
  46. package/.docs/raw/docs/(reference)/api-reference/runtimes/message-runtime.mdx +1 -2
  47. package/.docs/raw/docs/(reference)/api-reference/runtimes/thread-list-item-runtime.mdx +0 -1
  48. package/.docs/raw/docs/(reference)/api-reference/runtimes/thread-list-runtime.mdx +0 -1
  49. package/.docs/raw/docs/(reference)/api-reference/runtimes/thread-runtime.mdx +1 -2
  50. package/.docs/raw/docs/(reference)/legacy/styled/assistant-modal.mdx +0 -1
  51. package/.docs/raw/docs/(reference)/legacy/styled/markdown.mdx +0 -1
  52. package/.docs/raw/docs/(reference)/legacy/styled/thread.mdx +0 -1
  53. package/.docs/raw/docs/(reference)/react-compatibility.mdx +0 -1
  54. package/.docs/raw/docs/cloud/persistence/ai-sdk.mdx +0 -1
  55. package/.docs/raw/docs/cloud/persistence/langgraph.mdx +0 -1
  56. package/.docs/raw/docs/runtimes/ai-sdk/v4-legacy.mdx +0 -1
  57. package/.docs/raw/docs/runtimes/ai-sdk/v5-legacy.mdx +118 -0
  58. package/.docs/raw/docs/runtimes/ai-sdk/v6.mdx +198 -0
  59. package/.docs/raw/docs/runtimes/custom/custom-thread-list.mdx +0 -1
  60. package/.docs/raw/docs/runtimes/custom/external-store.mdx +9 -11
  61. package/.docs/raw/docs/runtimes/custom/local.mdx +0 -2
  62. package/.docs/raw/docs/runtimes/data-stream.mdx +0 -1
  63. package/.docs/raw/docs/runtimes/langgraph/index.mdx +1 -2
  64. package/.docs/raw/docs/runtimes/langgraph/tutorial/part-3.mdx +0 -1
  65. package/.docs/raw/docs/runtimes/langserve.mdx +0 -1
  66. package/.docs/raw/docs/runtimes/mastra/full-stack-integration.mdx +0 -1
  67. package/.docs/raw/docs/runtimes/mastra/separate-server-integration.mdx +0 -1
  68. package/.docs/raw/docs/ui/accordion.mdx +0 -2
  69. package/.docs/raw/docs/ui/assistant-modal.mdx +1 -3
  70. package/.docs/raw/docs/ui/assistant-sidebar.mdx +1 -3
  71. package/.docs/raw/docs/ui/attachment.mdx +0 -2
  72. package/.docs/raw/docs/ui/badge.mdx +0 -2
  73. package/.docs/raw/docs/ui/diff-viewer.mdx +279 -0
  74. package/.docs/raw/docs/ui/file.mdx +0 -1
  75. package/.docs/raw/docs/ui/image.mdx +0 -1
  76. package/.docs/raw/docs/ui/markdown.mdx +0 -1
  77. package/.docs/raw/docs/ui/mermaid.mdx +0 -1
  78. package/.docs/raw/docs/ui/model-selector.mdx +0 -2
  79. package/.docs/raw/docs/ui/part-grouping.mdx +2 -3
  80. package/.docs/raw/docs/ui/reasoning.mdx +2 -3
  81. package/.docs/raw/docs/ui/scrollbar.mdx +26 -9
  82. package/.docs/raw/docs/ui/select.mdx +0 -2
  83. package/.docs/raw/docs/ui/sources.mdx +0 -1
  84. package/.docs/raw/docs/ui/syntax-highlighting.mdx +8 -63
  85. package/.docs/raw/docs/ui/tabs.mdx +0 -2
  86. package/.docs/raw/docs/ui/thread-list.mdx +98 -16
  87. package/.docs/raw/docs/ui/thread.mdx +1 -3
  88. package/.docs/raw/docs/ui/tool-fallback.mdx +0 -1
  89. package/.docs/raw/docs/ui/tool-group.mdx +1 -3
  90. package/package.json +2 -2
  91. package/.docs/raw/docs/runtimes/ai-sdk/use-chat.mdx +0 -219
@@ -162,29 +162,68 @@ export default function RootLayout({
162
162
  ```tsx
163
163
  "use client";
164
164
 
165
- import React, { useMemo } from "react";
166
- import { AssistantRuntimeProvider } from "@assistant-ui/react";
165
+ import { useEffect, useMemo, useRef, useState, type ReactNode } from "react";
166
+ import {
167
+ AssistantRuntimeProvider,
168
+ type ThreadMessage,
169
+ } from "@assistant-ui/react";
167
170
  import { HttpAgent } from "@ag-ui/client";
168
171
  import { useAgUiRuntime } from "@assistant-ui/react-ag-ui";
169
172
 
173
+ type StoredThread = {
174
+ id: string;
175
+ messages: readonly ThreadMessage[];
176
+ };
177
+
170
178
  /**
171
- * Minimal example: instantiate AG-UI runtime and provide to Assistant UI.
179
+ * AG-UI runtime with threadList adapter for multi-thread support.
172
180
  */
173
181
  export function MyRuntimeProvider({
174
182
  children,
175
- }: Readonly<{ children: React.ReactNode }>) {
183
+ }: Readonly<{ children: ReactNode }>) {
176
184
  const agentUrl =
177
185
  (process.env["NEXT_PUBLIC_AGUI_AGENT_URL"] as string | undefined) ??
178
186
  "http://localhost:8000/agent";
179
187
 
188
+ // Simple in-memory thread storage
189
+ const threadsRef = useRef<Map<string, StoredThread>>(new Map());
190
+ const [currentThreadId, setCurrentThreadId] = useState<string>(() => {
191
+ const id = crypto.randomUUID();
192
+ threadsRef.current.set(id, { id, messages: [] });
193
+ return id;
194
+ });
195
+
180
196
  const agent = useMemo(() => {
181
197
  return new HttpAgent({
182
198
  url: agentUrl,
199
+ threadId: currentThreadId,
183
200
  headers: {
184
201
  Accept: "text/event-stream",
185
202
  },
186
203
  });
187
- }, [agentUrl]);
204
+ }, [agentUrl, currentThreadId]);
205
+
206
+ const threadListAdapter = useMemo(
207
+ () => ({
208
+ threadId: currentThreadId,
209
+ onSwitchToNewThread: async () => {
210
+ const newId = crypto.randomUUID();
211
+ threadsRef.current.set(newId, { id: newId, messages: [] });
212
+ setCurrentThreadId(newId);
213
+ console.debug("[agui] Switched to new thread:", newId);
214
+ },
215
+ onSwitchToThread: async (threadId: string) => {
216
+ const thread = threadsRef.current.get(threadId);
217
+ if (!thread) {
218
+ throw new Error(`Thread ${threadId} not found`);
219
+ }
220
+ setCurrentThreadId(threadId);
221
+ console.debug("[agui] Switched to thread:", threadId);
222
+ return { messages: thread.messages };
223
+ },
224
+ }),
225
+ [currentThreadId],
226
+ );
188
227
 
189
228
  const runtime = useAgUiRuntime({
190
229
  agent,
@@ -192,8 +231,21 @@ export function MyRuntimeProvider({
192
231
  debug: (...a: any[]) => console.debug("[agui]", ...a),
193
232
  error: (...a: any[]) => console.error("[agui]", ...a),
194
233
  },
234
+ adapters: {
235
+ threadList: threadListAdapter,
236
+ },
195
237
  });
196
238
 
239
+ // Persist messages to threadsRef when they change
240
+ useEffect(() => {
241
+ return runtime.thread.subscribe(() => {
242
+ threadsRef.current.set(currentThreadId, {
243
+ id: currentThreadId,
244
+ messages: runtime.thread.getState().messages,
245
+ });
246
+ });
247
+ }, [runtime, currentThreadId]);
248
+
197
249
  return (
198
250
  <AssistantRuntimeProvider runtime={runtime}>
199
251
  {children}
@@ -208,10 +260,11 @@ export function MyRuntimeProvider({
208
260
  ```tsx
209
261
  "use client";
210
262
 
211
- import { useAssistantTool } from "@assistant-ui/react";
263
+ import { useAssistantRuntime, useAssistantTool } from "@assistant-ui/react";
212
264
  import { Thread } from "@/components/assistant-ui/thread";
265
+ import { PlusIcon } from "lucide-react";
213
266
 
214
- const BrowserAlertTool = () => {
267
+ function BrowserAlertTool() {
215
268
  useAssistantTool<{ message: string }, { status: string }>({
216
269
  toolName: "browser_alert",
217
270
  description: "Display a native browser alert dialog to the user.",
@@ -248,11 +301,26 @@ const BrowserAlertTool = () => {
248
301
  });
249
302
 
250
303
  return null;
251
- };
304
+ }
305
+
306
+ function NewThreadButton() {
307
+ const runtime = useAssistantRuntime();
308
+
309
+ return (
310
+ <button
311
+ onClick={() => runtime.switchToNewThread()}
312
+ className="absolute top-4 right-4 z-10 flex items-center gap-2 rounded-lg border bg-background px-3 py-2 font-medium text-sm shadow-sm transition-colors hover:bg-accent"
313
+ >
314
+ <PlusIcon className="size-4" />
315
+ New Thread
316
+ </button>
317
+ );
318
+ }
252
319
 
253
320
  export default function Home() {
254
321
  return (
255
- <main className="h-dvh">
322
+ <main className="relative h-dvh">
323
+ <NewThreadButton />
256
324
  <Thread />
257
325
  <BrowserAlertTool />
258
326
  </main>
@@ -330,7 +398,7 @@ export default nextConfig;
330
398
  "start": "next start"
331
399
  },
332
400
  "dependencies": {
333
- "@ag-ui/client": "^0.0.43",
401
+ "@ag-ui/client": "^0.0.44",
334
402
  "@assistant-ui/react": "workspace:*",
335
403
  "@assistant-ui/react-ag-ui": "workspace:*",
336
404
  "@assistant-ui/react-markdown": "workspace:*",
@@ -343,7 +411,7 @@ export default nextConfig;
343
411
  "class-variance-authority": "^0.7.1",
344
412
  "clsx": "^2.1.1",
345
413
  "lucide-react": "^0.563.0",
346
- "next": "^16.1.5",
414
+ "next": "^16.1.6",
347
415
  "react": "^19.2.4",
348
416
  "react-dom": "^19.2.4",
349
417
  "tailwind-merge": "^3.4.0"
@@ -351,8 +419,8 @@ export default nextConfig;
351
419
  "devDependencies": {
352
420
  "@assistant-ui/x-buildutils": "workspace:*",
353
421
  "@tailwindcss/postcss": "^4.1.18",
354
- "@types/node": "^25.0.10",
355
- "@types/react": "^19.2.9",
422
+ "@types/node": "^25.2.0",
423
+ "@types/react": "^19.2.10",
356
424
  "@types/react-dom": "^19.2.3",
357
425
  "postcss": "^8.5.6",
358
426
  "tailwindcss": "^4.1.18",
@@ -379,7 +447,22 @@ npx assistant-ui@latest create my-app --example with-ag-ui
379
447
  cd my-app
380
448
  ```
381
449
 
382
- ### Environment Variables
450
+ ### 1. Start the Backend Agent
451
+
452
+ ```bash
453
+ # Install Python dependencies
454
+ pip install -r server/requirements.txt
455
+
456
+ # Run the agent (echo mode by default)
457
+ python server/agent.py
458
+
459
+ # Or with OpenAI integration
460
+ OPENAI_API_KEY=sk-xxx python server/agent.py
461
+ ```
462
+
463
+ The agent will start at `http://localhost:8000/agent`.
464
+
465
+ ### 2. Configure Environment
383
466
 
384
467
  Create `.env.local`:
385
468
 
@@ -387,19 +470,32 @@ Create `.env.local`:
387
470
  NEXT_PUBLIC_AGUI_AGENT_URL=http://localhost:8000/agent
388
471
  ```
389
472
 
390
- ### Run
473
+ ### 3. Run the Frontend
391
474
 
392
475
  ```bash
393
- npm run dev
476
+ pnpm dev
394
477
  ```
395
478
 
396
479
  ## Features
397
480
 
398
481
  - AG-UI protocol integration via `@assistant-ui/react-ag-ui`
482
+ - Multi-thread support with "New Thread" button
399
483
  - Custom browser alert tool demonstration
400
484
  - Client-side tool execution
401
485
  - Tool result rendering
402
486
 
487
+ ## Backend Agent
488
+
489
+ The included `server/agent.py` provides:
490
+
491
+ - **Echo mode** (default): Echoes back user messages for testing
492
+ - **OpenAI mode**: Uses GPT-4o-mini when `OPENAI_API_KEY` is set
493
+
494
+ ### Endpoints
495
+
496
+ - `POST /agent` - AG-UI agent endpoint (SSE streaming)
497
+ - `GET /health` - Health check
498
+
403
499
  ## Related Documentation
404
500
 
405
501
  - [assistant-ui Documentation](https://www.assistant-ui.com/docs)
@@ -289,7 +289,7 @@ export default nextConfig;
289
289
  "start": "next start"
290
290
  },
291
291
  "dependencies": {
292
- "@ai-sdk/openai": "^3.0.19",
292
+ "@ai-sdk/openai": "^3.0.25",
293
293
  "@assistant-ui/react": "workspace:*",
294
294
  "@assistant-ui/react-ai-sdk": "workspace:*",
295
295
  "@assistant-ui/react-markdown": "workspace:*",
@@ -299,11 +299,11 @@ export default nextConfig;
299
299
  "@radix-ui/react-dialog": "^1.1.15",
300
300
  "@radix-ui/react-slot": "^1.2.4",
301
301
  "@radix-ui/react-tooltip": "^1.2.8",
302
- "ai": "^6.0.50",
302
+ "ai": "^6.0.69",
303
303
  "class-variance-authority": "^0.7.1",
304
304
  "clsx": "^2.1.1",
305
305
  "lucide-react": "^0.563.0",
306
- "next": "^16.1.5",
306
+ "next": "^16.1.6",
307
307
  "react": "^19.2.4",
308
308
  "react-dom": "^19.2.4",
309
309
  "tailwind-merge": "^3.4.0",
@@ -312,8 +312,8 @@ export default nextConfig;
312
312
  "devDependencies": {
313
313
  "@assistant-ui/x-buildutils": "workspace:*",
314
314
  "@tailwindcss/postcss": "^4.1.18",
315
- "@types/node": "^25.0.10",
316
- "@types/react": "^19.2.9",
315
+ "@types/node": "^25.2.0",
316
+ "@types/react": "^19.2.10",
317
317
  "@types/react-dom": "^19.2.3",
318
318
  "postcss": "^8.5.6",
319
319
  "tailwindcss": "^4.1.18",
@@ -418,7 +418,7 @@ export default nextConfig;
418
418
  "class-variance-authority": "^0.7.1",
419
419
  "clsx": "^2.1.1",
420
420
  "lucide-react": "^0.563.0",
421
- "next": "^16.1.5",
421
+ "next": "^16.1.6",
422
422
  "react": "^19.2.4",
423
423
  "react-dom": "^19.2.4",
424
424
  "tailwind-merge": "^3.4.0",
@@ -427,8 +427,8 @@ export default nextConfig;
427
427
  "devDependencies": {
428
428
  "@assistant-ui/x-buildutils": "workspace:*",
429
429
  "@tailwindcss/postcss": "^4.1.18",
430
- "@types/node": "^25.0.10",
431
- "@types/react": "^19.2.9",
430
+ "@types/node": "^25.2.0",
431
+ "@types/react": "^19.2.10",
432
432
  "@types/react-dom": "^19.2.3",
433
433
  "postcss": "^8.5.6",
434
434
  "tailwindcss": "^4.1.18",
@@ -316,7 +316,7 @@ export default nextConfig;
316
316
  "start": "next start"
317
317
  },
318
318
  "dependencies": {
319
- "@ai-sdk/openai": "^3.0.19",
319
+ "@ai-sdk/openai": "^3.0.25",
320
320
  "@assistant-ui/react": "workspace:*",
321
321
  "@assistant-ui/react-ai-sdk": "workspace:*",
322
322
  "@assistant-ui/react-markdown": "workspace:*",
@@ -326,11 +326,11 @@ export default nextConfig;
326
326
  "@radix-ui/react-dialog": "^1.1.15",
327
327
  "@radix-ui/react-slot": "^1.2.4",
328
328
  "@radix-ui/react-tooltip": "^1.2.8",
329
- "ai": "^6.0.50",
329
+ "ai": "^6.0.69",
330
330
  "class-variance-authority": "^0.7.1",
331
331
  "clsx": "^2.1.1",
332
332
  "lucide-react": "^0.563.0",
333
- "next": "^16.1.5",
333
+ "next": "^16.1.6",
334
334
  "react": "^19.2.4",
335
335
  "react-dom": "^19.2.4",
336
336
  "tailwind-merge": "^3.4.0"
@@ -338,8 +338,8 @@ export default nextConfig;
338
338
  "devDependencies": {
339
339
  "@assistant-ui/x-buildutils": "workspace:*",
340
340
  "@tailwindcss/postcss": "^4.1.18",
341
- "@types/node": "^25.0.10",
342
- "@types/react": "^19.2.9",
341
+ "@types/node": "^25.2.0",
342
+ "@types/react": "^19.2.10",
343
343
  "@types/react-dom": "^19.2.3",
344
344
  "postcss": "^8.5.6",
345
345
  "tailwindcss": "^4.1.18",
@@ -403,7 +403,7 @@ export default nextConfig;
403
403
  "start": "next start"
404
404
  },
405
405
  "dependencies": {
406
- "@ai-sdk/openai": "^3.0.19",
406
+ "@ai-sdk/openai": "^3.0.25",
407
407
  "@assistant-ui/react": "workspace:*",
408
408
  "@assistant-ui/react-ai-sdk": "workspace:*",
409
409
  "@assistant-ui/react-markdown": "workspace:*",
@@ -413,12 +413,12 @@ export default nextConfig;
413
413
  "@radix-ui/react-dialog": "^1.1.15",
414
414
  "@radix-ui/react-slot": "^1.2.4",
415
415
  "@radix-ui/react-tooltip": "^1.2.8",
416
- "ai": "^6.0.50",
416
+ "ai": "^6.0.69",
417
417
  "assistant-stream": "workspace:*",
418
418
  "class-variance-authority": "^0.7.1",
419
419
  "clsx": "^2.1.1",
420
420
  "lucide-react": "^0.563.0",
421
- "next": "^16.1.5",
421
+ "next": "^16.1.6",
422
422
  "react": "^19.2.4",
423
423
  "react-dom": "^19.2.4",
424
424
  "tailwind-merge": "^3.4.0",
@@ -427,8 +427,8 @@ export default nextConfig;
427
427
  "devDependencies": {
428
428
  "@assistant-ui/x-buildutils": "workspace:*",
429
429
  "@tailwindcss/postcss": "^4.1.18",
430
- "@types/node": "^25.0.10",
431
- "@types/react": "^19.2.9",
430
+ "@types/node": "^25.2.0",
431
+ "@types/react": "^19.2.10",
432
432
  "@types/react-dom": "^19.2.3",
433
433
  "postcss": "^8.5.6",
434
434
  "tailwindcss": "^4.1.18",
@@ -547,25 +547,25 @@ export default nextConfig;
547
547
  "version": "0.0.0",
548
548
  "type": "module",
549
549
  "dependencies": {
550
- "@ai-sdk/openai": "^3.0.19",
551
- "@ai-sdk/react": "^3.0.52",
550
+ "@ai-sdk/openai": "^3.0.25",
551
+ "@ai-sdk/react": "^3.0.71",
552
552
  "@assistant-ui/react": "workspace:^",
553
553
  "@assistant-ui/react-ai-sdk": "workspace:*",
554
554
  "@assistant-ui/react-markdown": "workspace:^",
555
555
  "@assistant-ui/ui": "workspace:*",
556
- "@elevenlabs/client": "^0.13.0",
556
+ "@elevenlabs/client": "^0.13.1",
557
557
  "@radix-ui/react-avatar": "^1.1.11",
558
558
  "@radix-ui/react-collapsible": "^1.1.12",
559
559
  "@radix-ui/react-dialog": "^1.1.15",
560
560
  "@radix-ui/react-slot": "^1.2.4",
561
561
  "@radix-ui/react-tooltip": "^1.2.8",
562
562
  "@tailwindcss/postcss": "^4.1.18",
563
- "ai": "^6.0.50",
563
+ "ai": "^6.0.69",
564
564
  "class-variance-authority": "^0.7.1",
565
565
  "clsx": "^2.1.1",
566
566
  "lucide-react": "^0.563.0",
567
- "motion": "^12.29.2",
568
- "next": "^16.1.5",
567
+ "motion": "^12.31.0",
568
+ "next": "^16.1.6",
569
569
  "postcss": "^8.5.6",
570
570
  "react": "^19.2.4",
571
571
  "react-dom": "^19.2.4",
@@ -575,8 +575,8 @@ export default nextConfig;
575
575
  },
576
576
  "devDependencies": {
577
577
  "@assistant-ui/x-buildutils": "workspace:*",
578
- "@types/node": "^25.0.10",
579
- "@types/react": "^19.2.9",
578
+ "@types/node": "^25.2.0",
579
+ "@types/react": "^19.2.10",
580
580
  "@types/react-dom": "^19.2.3",
581
581
  "tw-animate-css": "^1.4.0",
582
582
  "typescript": "^5.9.3"
@@ -303,7 +303,7 @@ export default nextConfig;
303
303
  "start": "next start"
304
304
  },
305
305
  "dependencies": {
306
- "@ai-sdk/openai": "^3.0.19",
306
+ "@ai-sdk/openai": "^3.0.25",
307
307
  "@assistant-ui/react": "workspace:*",
308
308
  "@assistant-ui/react-markdown": "workspace:*",
309
309
  "@assistant-ui/ui": "workspace:*",
@@ -315,7 +315,7 @@ export default nextConfig;
315
315
  "class-variance-authority": "^0.7.1",
316
316
  "clsx": "^2.1.1",
317
317
  "lucide-react": "^0.563.0",
318
- "next": "^16.1.5",
318
+ "next": "^16.1.6",
319
319
  "react": "^19.2.4",
320
320
  "react-dom": "^19.2.4",
321
321
  "tailwind-merge": "^3.4.0"
@@ -323,8 +323,8 @@ export default nextConfig;
323
323
  "devDependencies": {
324
324
  "@assistant-ui/x-buildutils": "workspace:*",
325
325
  "@tailwindcss/postcss": "^4.1.18",
326
- "@types/node": "^25.0.10",
327
- "@types/react": "^19.2.9",
326
+ "@types/node": "^25.2.0",
327
+ "@types/react": "^19.2.10",
328
328
  "@types/react-dom": "^19.2.3",
329
329
  "postcss": "^8.5.6",
330
330
  "tailwindcss": "^4.1.18",
@@ -515,7 +515,7 @@ export default nextConfig;
515
515
  "start": "next start"
516
516
  },
517
517
  "dependencies": {
518
- "@ai-sdk/openai": "^3.0.19",
518
+ "@ai-sdk/openai": "^3.0.25",
519
519
  "@assistant-ui/react": "workspace:*",
520
520
  "@assistant-ui/react-ai-sdk": "workspace:*",
521
521
  "@assistant-ui/react-markdown": "workspace:*",
@@ -527,11 +527,11 @@ export default nextConfig;
527
527
  "@radix-ui/react-dialog": "^1.1.15",
528
528
  "@radix-ui/react-slot": "^1.2.4",
529
529
  "@radix-ui/react-tooltip": "^1.2.8",
530
- "ai": "^6.0.50",
530
+ "ai": "^6.0.69",
531
531
  "class-variance-authority": "^0.7.1",
532
532
  "clsx": "^2.1.1",
533
533
  "lucide-react": "^0.563.0",
534
- "next": "^16.1.5",
534
+ "next": "^16.1.6",
535
535
  "react": "^19.2.4",
536
536
  "react-dom": "^19.2.4",
537
537
  "tailwind-merge": "^3.4.0",
@@ -540,8 +540,8 @@ export default nextConfig;
540
540
  "devDependencies": {
541
541
  "@assistant-ui/x-buildutils": "workspace:*",
542
542
  "@tailwindcss/postcss": "^4.1.18",
543
- "@types/node": "^25.0.10",
544
- "@types/react": "^19.2.9",
543
+ "@types/node": "^25.2.0",
544
+ "@types/react": "^19.2.10",
545
545
  "@types/react-dom": "^19.2.3",
546
546
  "postcss": "^8.5.6",
547
547
  "tailwindcss": "^4.1.18",
@@ -816,7 +816,7 @@ export default nextConfig;
816
816
  "class-variance-authority": "^0.7.1",
817
817
  "clsx": "^2.1.1",
818
818
  "lucide-react": "^0.563.0",
819
- "next": "^16.1.5",
819
+ "next": "^16.1.6",
820
820
  "react": "^19.2.4",
821
821
  "react-dom": "^19.2.4",
822
822
  "tailwind-merge": "^3.4.0"
@@ -824,8 +824,8 @@ export default nextConfig;
824
824
  "devDependencies": {
825
825
  "@assistant-ui/x-buildutils": "workspace:*",
826
826
  "@tailwindcss/postcss": "^4.1.18",
827
- "@types/node": "^25.0.10",
828
- "@types/react": "^19.2.9",
827
+ "@types/node": "^25.2.0",
828
+ "@types/react": "^19.2.10",
829
829
  "@types/react-dom": "^19.2.3",
830
830
  "postcss": "^8.5.6",
831
831
  "tailwindcss": "^4.1.18",
@@ -463,7 +463,7 @@ export default nextConfig;
463
463
  "start": "next start"
464
464
  },
465
465
  "dependencies": {
466
- "@ai-sdk/openai": "^3.0.19",
466
+ "@ai-sdk/openai": "^3.0.25",
467
467
  "@assistant-ui/react": "workspace:*",
468
468
  "@assistant-ui/react-markdown": "workspace:*",
469
469
  "@assistant-ui/ui": "workspace:*",
@@ -475,7 +475,7 @@ export default nextConfig;
475
475
  "class-variance-authority": "^0.7.1",
476
476
  "clsx": "^2.1.1",
477
477
  "lucide-react": "^0.563.0",
478
- "next": "^16.1.5",
478
+ "next": "^16.1.6",
479
479
  "react": "^19.2.4",
480
480
  "react-dom": "^19.2.4",
481
481
  "tailwind-merge": "^3.4.0"
@@ -483,8 +483,8 @@ export default nextConfig;
483
483
  "devDependencies": {
484
484
  "@assistant-ui/x-buildutils": "workspace:*",
485
485
  "@tailwindcss/postcss": "^4.1.18",
486
- "@types/node": "^25.0.10",
487
- "@types/react": "^19.2.9",
486
+ "@types/node": "^25.2.0",
487
+ "@types/react": "^19.2.10",
488
488
  "@types/react-dom": "^19.2.3",
489
489
  "postcss": "^8.5.6",
490
490
  "tailwindcss": "^4.1.18",
@@ -526,7 +526,7 @@ export default nextConfig;
526
526
  "start": "next start"
527
527
  },
528
528
  "dependencies": {
529
- "@ai-sdk/openai": "^3.0.19",
529
+ "@ai-sdk/openai": "^3.0.25",
530
530
  "@assistant-ui/react": "workspace:*",
531
531
  "@assistant-ui/react-ai-sdk": "workspace:*",
532
532
  "@assistant-ui/react-hook-form": "workspace:*",
@@ -540,23 +540,23 @@ export default nextConfig;
540
540
  "@radix-ui/react-slot": "^1.2.4",
541
541
  "@radix-ui/react-tabs": "^1.1.13",
542
542
  "@radix-ui/react-tooltip": "^1.2.8",
543
- "ai": "^6.0.50",
543
+ "ai": "^6.0.69",
544
544
  "class-variance-authority": "^0.7.1",
545
545
  "clsx": "^2.1.1",
546
546
  "lucide-react": "^0.563.0",
547
- "next": "^16.1.5",
547
+ "next": "^16.1.6",
548
548
  "react": "^19.2.4",
549
549
  "react-dom": "^19.2.4",
550
550
  "react-hook-form": "^7.71.1",
551
- "react-resizable-panels": "^4.5.2",
551
+ "react-resizable-panels": "^4.5.9",
552
552
  "tailwind-merge": "^3.4.0",
553
553
  "zod": "^4.3.6"
554
554
  },
555
555
  "devDependencies": {
556
556
  "@assistant-ui/x-buildutils": "workspace:*",
557
557
  "@tailwindcss/postcss": "^4.1.18",
558
- "@types/node": "^25.0.10",
559
- "@types/react": "^19.2.9",
558
+ "@types/node": "^25.2.0",
559
+ "@types/react": "^19.2.10",
560
560
  "@types/react-dom": "^19.2.3",
561
561
  "postcss": "^8.5.6",
562
562
  "tailwindcss": "^4.1.18",
@@ -772,19 +772,19 @@ export default function Home() {
772
772
  "eventsource-parser": "^3.0.6",
773
773
  "isbot": "^5.1.34",
774
774
  "lucide-react": "^0.563.0",
775
- "openai": "^6.16.0",
775
+ "openai": "^6.17.0",
776
776
  "react": "^19.2.4",
777
777
  "react-dom": "^19.2.4",
778
778
  "react-router": "7.13.0",
779
779
  "remark-gfm": "^4.0.1",
780
780
  "tailwind-merge": "^3.4.0",
781
- "zustand": "^5.0.10"
781
+ "zustand": "^5.0.11"
782
782
  },
783
783
  "devDependencies": {
784
784
  "@react-router/dev": "7.13.0",
785
785
  "@tailwindcss/vite": "^4.1.18",
786
- "@types/node": "^25.0.10",
787
- "@types/react": "^19.2.9",
786
+ "@types/node": "^25.2.0",
787
+ "@types/react": "^19.2.10",
788
788
  "@types/react-dom": "^19.2.3",
789
789
  "tailwindcss": "^4.1.18",
790
790
  "tw-animate-css": "^1.4.0",
@@ -485,15 +485,15 @@ export default nextConfig;
485
485
  "dependencies": {
486
486
  "@assistant-ui/store": "workspace:*",
487
487
  "@assistant-ui/tap": "workspace:*",
488
- "next": "^16.1.5",
488
+ "next": "^16.1.6",
489
489
  "react": "^19.2.4",
490
490
  "react-dom": "^19.2.4"
491
491
  },
492
492
  "devDependencies": {
493
493
  "@assistant-ui/x-buildutils": "workspace:*",
494
494
  "@tailwindcss/postcss": "^4.1.18",
495
- "@types/node": "^25.0.10",
496
- "@types/react": "^19.2.9",
495
+ "@types/node": "^25.2.0",
496
+ "@types/react": "^19.2.10",
497
497
  "@types/react-dom": "^19.2.3",
498
498
  "postcss": "^8.5.6",
499
499
  "tailwindcss": "^4.1.18",
@@ -67,13 +67,13 @@
67
67
  "@radix-ui/react-slot": "^1.2.4",
68
68
  "@radix-ui/react-tooltip": "^1.2.8",
69
69
  "@tailwindcss/vite": "^4.1.18",
70
- "@tanstack/react-router": "^1.157.16",
71
- "@tanstack/react-start": "^1.157.16",
70
+ "@tanstack/react-router": "^1.158.0",
71
+ "@tanstack/react-start": "^1.158.0",
72
72
  "class-variance-authority": "^0.7.1",
73
73
  "clsx": "^2.1.1",
74
74
  "lucide-react": "^0.563.0",
75
75
  "nitro": "^3.0.1-alpha.2",
76
- "openai": "^6.16.0",
76
+ "openai": "^6.17.0",
77
77
  "react": "^19.2.4",
78
78
  "react-dom": "^19.2.4",
79
79
  "remark-gfm": "^4.0.1",
@@ -83,10 +83,10 @@
83
83
  },
84
84
  "devDependencies": {
85
85
  "@assistant-ui/x-buildutils": "workspace:*",
86
- "@types/node": "^25.0.10",
87
- "@types/react": "^19.2.9",
86
+ "@types/node": "^25.2.0",
87
+ "@types/react": "^19.2.10",
88
88
  "@types/react-dom": "^19.2.3",
89
- "@vitejs/plugin-react": "^5.1.2",
89
+ "@vitejs/plugin-react": "^5.1.3",
90
90
  "typescript": "^5.9.3",
91
91
  "vite": "^7.3.1"
92
92
  }