@assistant-ui/mcp-docs-server 0.2.0 → 0.2.2

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 (155) hide show
  1. package/.docs/organized/code-examples/waterfall.md +12 -13
  2. package/.docs/organized/code-examples/with-a2a.md +16 -11
  3. package/.docs/organized/code-examples/with-ag-ui.md +15 -13
  4. package/.docs/organized/code-examples/with-ai-sdk-v7.md +14 -13
  5. package/.docs/organized/code-examples/with-artifacts.md +14 -13
  6. package/.docs/organized/code-examples/with-assistant-transport.md +20 -28
  7. package/.docs/organized/code-examples/with-browser-extension.md +18 -11
  8. package/.docs/organized/code-examples/with-chain-of-thought.md +17 -15
  9. package/.docs/organized/code-examples/with-cloud-standalone.md +10 -11
  10. package/.docs/organized/code-examples/with-cloud.md +19 -14
  11. package/.docs/organized/code-examples/with-custom-thread-list.md +15 -14
  12. package/.docs/organized/code-examples/with-elevenlabs-conversational.md +14 -14
  13. package/.docs/organized/code-examples/with-elevenlabs-scribe.md +19 -17
  14. package/.docs/organized/code-examples/with-eve.md +66 -12
  15. package/.docs/organized/code-examples/with-expo.md +26 -31
  16. package/.docs/organized/code-examples/with-external-store.md +17 -12
  17. package/.docs/organized/code-examples/with-ffmpeg.md +21 -15
  18. package/.docs/organized/code-examples/with-generative-ui.md +271 -36
  19. package/.docs/organized/code-examples/with-google-adk.md +17 -12
  20. package/.docs/organized/code-examples/with-heat-graph.md +6 -7
  21. package/.docs/organized/code-examples/with-image-generation.md +9 -10
  22. package/.docs/organized/code-examples/with-interactables.md +14 -13
  23. package/.docs/organized/code-examples/with-langchain.md +12 -13
  24. package/.docs/organized/code-examples/with-langgraph.md +19 -13
  25. package/.docs/organized/code-examples/with-livekit.md +13 -13
  26. package/.docs/organized/code-examples/with-mcp.md +14 -15
  27. package/.docs/organized/code-examples/with-nuxt.md +2428 -0
  28. package/.docs/organized/code-examples/with-opencode.md +23 -14
  29. package/.docs/organized/code-examples/with-openui.md +449 -0
  30. package/.docs/organized/code-examples/with-pi.md +59 -57
  31. package/.docs/organized/code-examples/with-react-hook-form.md +16 -15
  32. package/.docs/organized/code-examples/with-react-ink-web.md +7 -8
  33. package/.docs/organized/code-examples/with-react-ink.md +6 -6
  34. package/.docs/organized/code-examples/with-react-router.md +17 -11
  35. package/.docs/organized/code-examples/with-resumable-stream.md +12 -13
  36. package/.docs/organized/code-examples/with-store.md +27 -16
  37. package/.docs/organized/code-examples/with-svelte.md +415 -0
  38. package/.docs/organized/code-examples/with-sveltekit.md +1061 -0
  39. package/.docs/organized/code-examples/with-tanstack.md +19 -13
  40. package/.docs/organized/code-examples/with-tap-runtime.md +15 -15
  41. package/.docs/organized/code-examples/with-virtualized-thread.md +8 -9
  42. package/.docs/organized/code-examples/with-vue.md +408 -0
  43. package/.docs/raw/docs/(docs)/cli.mdx +7 -2
  44. package/.docs/raw/docs/(docs)/index.mdx +9 -76
  45. package/.docs/raw/docs/(docs)/installation.mdx +6 -20
  46. package/.docs/raw/docs/(reference)/api-reference/context-providers/assistant-runtime-provider.mdx +24 -4
  47. package/.docs/raw/docs/(reference)/api-reference/generative-ui/slack.mdx +5 -1
  48. package/.docs/raw/docs/(reference)/api-reference/generative-ui/teams.mdx +9 -2
  49. package/.docs/raw/docs/(reference)/api-reference/hooks/primitives.mdx +2 -2
  50. package/.docs/raw/docs/(reference)/api-reference/integrations/eve.mdx +47 -1
  51. package/.docs/raw/docs/(reference)/api-reference/integrations/react-ai-sdk.mdx +29 -4
  52. package/.docs/raw/docs/(reference)/api-reference/tools/status.mdx +1 -1
  53. package/.docs/raw/docs/(reference)/api-reference/utilities/miscellaneous.mdx +52 -1
  54. package/.docs/raw/docs/(reference)/api-reference/voice/session.mdx +1 -1
  55. package/.docs/raw/docs/cloud/ai-sdk-assistant-ui.mdx +2 -2
  56. package/.docs/raw/docs/cloud/ai-sdk.mdx +4 -4
  57. package/.docs/raw/docs/cloud/index.mdx +1 -1
  58. package/.docs/raw/docs/copilots/model-context.mdx +4 -3
  59. package/.docs/raw/docs/copilots/motivation.mdx +4 -4
  60. package/.docs/raw/docs/guides/attachments.mdx +2 -2
  61. package/.docs/raw/docs/guides/chain-of-thought.mdx +1 -1
  62. package/.docs/raw/docs/guides/context-api.mdx +15 -17
  63. package/.docs/raw/docs/guides/dictation.mdx +1 -1
  64. package/.docs/raw/docs/guides/electron.mdx +1 -1
  65. package/.docs/raw/docs/guides/mentions.mdx +2 -0
  66. package/.docs/raw/docs/guides/resumable-streams.mdx +74 -3
  67. package/.docs/raw/docs/guides/suggestions.mdx +15 -12
  68. package/.docs/raw/docs/ink/hooks.mdx +9 -4
  69. package/.docs/raw/docs/ink/primitives.mdx +5 -4
  70. package/.docs/raw/docs/integrations/attachments/custom-adapter.mdx +16 -0
  71. package/.docs/raw/docs/integrations/auth/better-auth.mdx +1 -1
  72. package/.docs/raw/docs/integrations/auth/clerk.mdx +1 -1
  73. package/.docs/raw/docs/integrations/auth/next-auth.mdx +1 -1
  74. package/.docs/raw/docs/integrations/frameworks/cloudflare-agents/overview.mdx +1 -1
  75. package/.docs/raw/docs/integrations/frameworks/mastra/full-stack.mdx +2 -2
  76. package/.docs/raw/docs/integrations/frameworks/mastra/separate-server.mdx +1 -1
  77. package/.docs/raw/docs/integrations/gateways/index.mdx +2 -2
  78. package/.docs/raw/docs/integrations/observability/helicone.mdx +2 -2
  79. package/.docs/raw/docs/integrations/observability/langfuse.mdx +1 -1
  80. package/.docs/raw/docs/integrations/observability/langsmith.mdx +2 -2
  81. package/.docs/raw/docs/integrations/persistence/custom-adapter.mdx +146 -128
  82. package/.docs/raw/docs/migrations/toolkit-tools.mdx +15 -13
  83. package/.docs/raw/docs/migrations/v0-15.mdx +118 -4
  84. package/.docs/raw/docs/primitives/attachment.mdx +2 -2
  85. package/.docs/raw/docs/primitives/composer.mdx +2 -2
  86. package/.docs/raw/docs/primitives/message.mdx +33 -1
  87. package/.docs/raw/docs/primitives/suggestion.mdx +4 -2
  88. package/.docs/raw/docs/primitives/thread.mdx +1 -1
  89. package/.docs/raw/docs/react-native/hooks.mdx +14 -4
  90. package/.docs/raw/docs/react-native/index.mdx +1 -1
  91. package/.docs/raw/docs/react-native/primitives.mdx +2 -2
  92. package/.docs/raw/docs/runtimes/ag-ui/runtime-options.mdx +35 -5
  93. package/.docs/raw/docs/runtimes/ai-sdk/v4-legacy.mdx +1 -1
  94. package/.docs/raw/docs/runtimes/ai-sdk/v5-legacy.mdx +1 -1
  95. package/.docs/raw/docs/runtimes/ai-sdk/v6-legacy.mdx +9 -10
  96. package/.docs/raw/docs/runtimes/ai-sdk/v7.mdx +9 -10
  97. package/.docs/raw/docs/runtimes/claude-managed-agents.mdx +118 -0
  98. package/.docs/raw/docs/runtimes/concepts/stability.mdx +2 -1
  99. package/.docs/raw/docs/runtimes/concepts/threads.mdx +106 -27
  100. package/.docs/raw/docs/runtimes/custom/assistant-transport.mdx +19 -1
  101. package/.docs/raw/docs/runtimes/custom/external-store.mdx +34 -1
  102. package/.docs/raw/docs/runtimes/custom/local-runtime.mdx +36 -9
  103. package/.docs/raw/docs/runtimes/eve/overview.mdx +51 -0
  104. package/.docs/raw/docs/runtimes/eve/quickstart.mdx +51 -2
  105. package/.docs/raw/docs/runtimes/google-adk/hooks.mdx +9 -12
  106. package/.docs/raw/docs/runtimes/langchain.mdx +1 -1
  107. package/.docs/raw/docs/runtimes/langgraph/streaming.mdx +5 -1
  108. package/.docs/raw/docs/runtimes/langgraph/tutorial/part-2.mdx +7 -7
  109. package/.docs/raw/docs/runtimes/langgraph/tutorial/part-3.mdx +4 -4
  110. package/.docs/raw/docs/runtimes/opencode/hooks.mdx +1 -0
  111. package/.docs/raw/docs/runtimes/opencode/overview.mdx +10 -0
  112. package/.docs/raw/docs/runtimes/pick-a-runtime.mdx +8 -1
  113. package/.docs/raw/docs/tools/backend.mdx +2 -2
  114. package/.docs/raw/docs/tools/defining-tools.mdx +28 -7
  115. package/.docs/raw/docs/tools/dynamic-tools.mdx +6 -4
  116. package/.docs/raw/docs/tools/generative-ui-primitive.mdx +180 -0
  117. package/.docs/raw/docs/tools/generative-ui-slack.mdx +167 -0
  118. package/.docs/raw/docs/tools/generative-ui-teams.mdx +160 -0
  119. package/.docs/raw/docs/tools/generative-ui.mdx +224 -211
  120. package/.docs/raw/docs/tools/index.mdx +2 -1
  121. package/.docs/raw/docs/tools/interactables.mdx +29 -17
  122. package/.docs/raw/docs/tools/mcp-apps.mdx +35 -6
  123. package/.docs/raw/docs/tools/mcp.mdx +9 -7
  124. package/.docs/raw/docs/tools/openui.mdx +175 -0
  125. package/.docs/raw/docs/tools/tool-ui.mdx +27 -24
  126. package/.docs/raw/docs/tools/user-managed-mcp.mdx +17 -8
  127. package/.docs/raw/docs/ui/attachment.mdx +27 -0
  128. package/.docs/raw/docs/ui/file.mdx +7 -2
  129. package/.docs/raw/docs/ui/image.mdx +1 -1
  130. package/.docs/raw/docs/ui/mcp-config.mdx +8 -3
  131. package/.docs/raw/docs/ui/model-selector.mdx +8 -8
  132. package/.docs/raw/docs/ui/part-grouping.mdx +1 -1
  133. package/.docs/raw/docs/ui/thread.mdx +24 -5
  134. package/.docs/raw/docs/utilities/react-o11y.mdx +7 -9
  135. package/dist/constants.js +2 -2
  136. package/dist/constants.js.map +1 -1
  137. package/dist/index.js.map +1 -1
  138. package/dist/prepare-docs/prepare.js.map +1 -1
  139. package/dist/tools/docs.js +4 -2
  140. package/dist/tools/docs.js.map +1 -1
  141. package/dist/tools/examples.js +2 -1
  142. package/dist/tools/examples.js.map +1 -1
  143. package/dist/tools/resources.js +2 -1
  144. package/dist/tools/resources.js.map +1 -1
  145. package/dist/tools/tests/test-setup.js +2 -1
  146. package/dist/tools/tests/test-setup.js.map +1 -1
  147. package/dist/tools/xulux-templates.js +4 -2
  148. package/dist/tools/xulux-templates.js.map +1 -1
  149. package/dist/utils/mdx.js +2 -1
  150. package/dist/utils/mdx.js.map +1 -1
  151. package/dist/xulux/catalog-client.js +1 -1
  152. package/dist/xulux/catalog-client.js.map +1 -1
  153. package/package.json +4 -4
  154. package/src/tools/tests/docs.test.ts +2 -2
  155. package/.docs/raw/docs/tools/interactables-legacy.mdx +0 -410
@@ -13,7 +13,7 @@ export async function POST(req: Request) {
13
13
  const { messages, system, tools } = await req.json();
14
14
 
15
15
  const result = streamText({
16
- model: openai("gpt-5.4-nano"),
16
+ model: openai("gpt-5.6-luna"),
17
17
  messages: await convertToModelMessages(messages),
18
18
  // forward system prompt and tools from the frontend
19
19
  system,
@@ -235,10 +235,16 @@ export function MyRuntimeProvider({
235
235
 
236
236
  import { Thread } from "@/components/assistant-ui/thread";
237
237
  import { ThreadList } from "@/components/assistant-ui/thread-list";
238
- import { useAui, AuiProvider, Suggestions } from "@assistant-ui/react";
238
+ import {
239
+ useAui,
240
+ AuiProvider,
241
+ AuiConfig,
242
+ Suggestions,
243
+ } from "@assistant-ui/react";
239
244
 
240
245
  function ThreadWithSuggestions() {
241
- const aui = useAui({
246
+ const aui = useAui();
247
+ const config = AuiConfig({
242
248
  suggestions: Suggestions([
243
249
  {
244
250
  title: "Start a conversation",
@@ -253,7 +259,7 @@ function ThreadWithSuggestions() {
253
259
  ]),
254
260
  });
255
261
  return (
256
- <AuiProvider value={aui}>
262
+ <AuiProvider extends={aui} config={config}>
257
263
  <Thread />
258
264
  </AuiProvider>
259
265
  );
@@ -326,16 +332,16 @@ export default withAui(nextConfig);
326
332
  "start": "next start"
327
333
  },
328
334
  "dependencies": {
329
- "@ai-sdk/openai": "^4.0.20",
335
+ "@ai-sdk/openai": "^4.0.40",
330
336
  "@assistant-ui/react": "workspace:*",
331
337
  "@assistant-ui/react-ai-sdk": "workspace:*",
332
338
  "@assistant-ui/react-markdown": "workspace:*",
333
339
  "@assistant-ui/ui": "workspace:*",
334
- "ai": "^7.0.37",
340
+ "ai": "^7.0.62",
335
341
  "class-variance-authority": "^0.7.1",
336
342
  "clsx": "^2.1.1",
337
- "lucide-react": "^1.26.0",
338
- "next": "^16.2.11",
343
+ "lucide-react": "^1.31.0",
344
+ "next": "^16.3.0",
339
345
  "react": "^19.2.8",
340
346
  "react-dom": "^19.2.8",
341
347
  "tailwind-merge": "^3.6.0"
@@ -344,14 +350,13 @@ export default withAui(nextConfig);
344
350
  "@assistant-ui/next": "workspace:*",
345
351
  "@assistant-ui/x-buildutils": "workspace:*",
346
352
  "@tailwindcss/postcss": "^4.3.3",
347
- "@types/node": "^26.1.1",
348
- "@types/react": "^19.2.17",
349
- "@types/react-dom": "^19.2.3",
350
- "postcss": "^8.5.23",
353
+ "@types/node": "^26.2.0",
354
+ "@types/react": "^19.2.18",
355
+ "@types/react-dom": "^19.2.4",
356
+ "postcss": "^8.5.26",
351
357
  "tailwindcss": "^4.3.3",
352
358
  "tw-animate-css": "^1.4.0",
353
- "typescript": "npm:@typescript/typescript6@^6.0.2",
354
- "typescript-7": "npm:typescript@^7.0.2"
359
+ "typescript": "^7.0.2"
355
360
  }
356
361
  }
357
362
 
@@ -21,7 +21,7 @@ export async function POST(req: Request) {
21
21
  const { messages }: { messages: UIMessage[] } = await req.json();
22
22
 
23
23
  const result = streamText({
24
- model: openai("gpt-5.4-nano"),
24
+ model: openai("gpt-5.6-luna"),
25
25
  messages: await convertToModelMessages(messages),
26
26
  stopWhen: stepCountIs(10),
27
27
  tools: {
@@ -342,6 +342,7 @@ export function MyRuntimeProvider({
342
342
 
343
343
  import { Thread } from "@/components/assistant-ui/thread";
344
344
  import {
345
+ AuiConfig,
345
346
  AuiProvider,
346
347
  Suggestions,
347
348
  ThreadListItemPrimitive,
@@ -372,7 +373,8 @@ function ThreadList() {
372
373
  }
373
374
 
374
375
  function ThreadWithSuggestions() {
375
- const aui = useAui({
376
+ const aui = useAui();
377
+ const config = AuiConfig({
376
378
  suggestions: Suggestions([
377
379
  {
378
380
  title: "Start a new topic",
@@ -387,7 +389,7 @@ function ThreadWithSuggestions() {
387
389
  ]),
388
390
  });
389
391
  return (
390
- <AuiProvider value={aui}>
392
+ <AuiProvider extends={aui} config={config}>
391
393
  <Thread />
392
394
  </AuiProvider>
393
395
  );
@@ -460,17 +462,17 @@ export default withAui(nextConfig);
460
462
  "start": "next start"
461
463
  },
462
464
  "dependencies": {
463
- "@ai-sdk/openai": "^4.0.20",
465
+ "@ai-sdk/openai": "^4.0.40",
464
466
  "@assistant-ui/react": "workspace:*",
465
467
  "@assistant-ui/react-ai-sdk": "workspace:*",
466
468
  "@assistant-ui/react-markdown": "workspace:*",
467
469
  "@assistant-ui/ui": "workspace:*",
468
- "ai": "^7.0.37",
470
+ "ai": "^7.0.62",
469
471
  "assistant-stream": "workspace:*",
470
472
  "class-variance-authority": "^0.7.1",
471
473
  "clsx": "^2.1.1",
472
- "lucide-react": "^1.26.0",
473
- "next": "^16.2.11",
474
+ "lucide-react": "^1.31.0",
475
+ "next": "^16.3.0",
474
476
  "react": "^19.2.8",
475
477
  "react-dom": "^19.2.8",
476
478
  "tailwind-merge": "^3.6.0",
@@ -480,14 +482,13 @@ export default withAui(nextConfig);
480
482
  "@assistant-ui/next": "workspace:*",
481
483
  "@assistant-ui/x-buildutils": "workspace:*",
482
484
  "@tailwindcss/postcss": "^4.3.3",
483
- "@types/node": "^26.1.1",
484
- "@types/react": "^19.2.17",
485
- "@types/react-dom": "^19.2.3",
486
- "postcss": "^8.5.23",
485
+ "@types/node": "^26.2.0",
486
+ "@types/react": "^19.2.18",
487
+ "@types/react-dom": "^19.2.4",
488
+ "postcss": "^8.5.26",
487
489
  "tailwindcss": "^4.3.3",
488
490
  "tw-animate-css": "^1.4.0",
489
- "typescript": "npm:@typescript/typescript6@^6.0.2",
490
- "typescript-7": "npm:typescript@^7.0.2"
491
+ "typescript": "^7.0.2"
491
492
  }
492
493
  }
493
494
 
@@ -533,7 +534,7 @@ npm run dev
533
534
  ## Related Documentation
534
535
 
535
536
  - [assistant-ui Documentation](https://www.assistant-ui.com/docs)
536
- - [Thread List Guide](https://www.assistant-ui.com/docs/thread-list)
537
+ - [Thread List Guide](https://www.assistant-ui.com/docs/ui/thread-list)
537
538
 
538
539
  ```
539
540
 
@@ -17,7 +17,7 @@ export async function POST(req: Request) {
17
17
  const { messages }: { messages: UIMessage[] } = await req.json();
18
18
 
19
19
  const result = streamText({
20
- model: openai("gpt-5.4-nano"),
20
+ model: openai("gpt-5.6-luna"),
21
21
  messages: await convertToModelMessages(messages),
22
22
  stopWhen: stepCountIs(10),
23
23
  });
@@ -439,21 +439,21 @@ export default withAui(nextConfig);
439
439
  "version": "0.0.0",
440
440
  "type": "module",
441
441
  "dependencies": {
442
- "@ai-sdk/openai": "^4.0.20",
443
- "@ai-sdk/react": "^4.0.40",
442
+ "@ai-sdk/openai": "^4.0.40",
443
+ "@ai-sdk/react": "^4.0.65",
444
444
  "@assistant-ui/react": "workspace:^",
445
445
  "@assistant-ui/react-ai-sdk": "workspace:*",
446
446
  "@assistant-ui/react-markdown": "workspace:^",
447
447
  "@assistant-ui/ui": "workspace:*",
448
- "@elevenlabs/client": "^1.15.2",
448
+ "@elevenlabs/client": "^1.17.0",
449
449
  "@tailwindcss/postcss": "^4.3.3",
450
- "ai": "^7.0.37",
450
+ "ai": "^7.0.62",
451
451
  "class-variance-authority": "^0.7.1",
452
452
  "clsx": "^2.1.1",
453
- "lucide-react": "^1.26.0",
454
- "motion": "^12.42.2",
455
- "next": "^16.2.11",
456
- "postcss": "^8.5.23",
453
+ "lucide-react": "^1.31.0",
454
+ "motion": "^13.1.0",
455
+ "next": "^16.3.0",
456
+ "postcss": "^8.5.26",
457
457
  "react": "^19.2.8",
458
458
  "react-dom": "^19.2.8",
459
459
  "tailwind-merge": "^3.6.0",
@@ -463,12 +463,11 @@ export default withAui(nextConfig);
463
463
  "devDependencies": {
464
464
  "@assistant-ui/next": "workspace:*",
465
465
  "@assistant-ui/x-buildutils": "workspace:*",
466
- "@types/node": "^26.1.1",
467
- "@types/react": "^19.2.17",
468
- "@types/react-dom": "^19.2.3",
466
+ "@types/node": "^26.2.0",
467
+ "@types/react": "^19.2.18",
468
+ "@types/react-dom": "^19.2.4",
469
469
  "tw-animate-css": "^1.4.0",
470
- "typescript": "npm:@typescript/typescript6@^6.0.2",
471
- "typescript-7": "npm:typescript@^7.0.2"
470
+ "typescript": "^7.0.2"
472
471
  },
473
472
  "scripts": {
474
473
  "dev": "next dev",
@@ -510,6 +509,7 @@ export default withAui(nextConfig);
510
509
  ],
511
510
  "@/lib/utils": ["../../packages/ui/src/lib/utils"],
512
511
  "@assistant-ui/ui/*": ["../../packages/ui/src/*"],
512
+ "@assistant-ui/store/client": ["../../packages/store/src/client"],
513
513
  "@assistant-ui/*": ["../../packages/*/src"],
514
514
  "@assistant-ui/core/*": ["../../packages/core/src/*"],
515
515
  "@assistant-ui/react/*": ["../../packages/react/src/*"],
@@ -21,7 +21,7 @@ export async function POST(req: Request) {
21
21
  const { messages }: { messages: UIMessage[] } = await req.json();
22
22
 
23
23
  const result = streamText({
24
- model: openai("gpt-5.4-nano"),
24
+ model: openai("gpt-5.6-luna"),
25
25
  messages: await convertToModelMessages(messages),
26
26
  stopWhen: stepCountIs(10),
27
27
  tools: {
@@ -237,13 +237,15 @@ import {
237
237
  AssistantRuntimeProvider,
238
238
  useAui,
239
239
  AuiProvider,
240
+ AuiConfig,
240
241
  Suggestions,
241
242
  } from "@assistant-ui/react";
242
243
  import { useChatRuntime } from "@assistant-ui/react-ai-sdk";
243
244
  import { ElevenLabsScribeAdapter } from "@/lib/elevenlabs-scribe-adapter";
244
245
 
245
246
  function ThreadWithSuggestions() {
246
- const aui = useAui({
247
+ const aui = useAui();
248
+ const config = AuiConfig({
247
249
  suggestions: Suggestions([
248
250
  {
249
251
  title: "Try dictating a message",
@@ -258,7 +260,7 @@ function ThreadWithSuggestions() {
258
260
  ]),
259
261
  });
260
262
  return (
261
- <AuiProvider value={aui}>
263
+ <AuiProvider extends={aui} config={config}>
262
264
  <Thread />
263
265
  </AuiProvider>
264
266
  );
@@ -562,21 +564,21 @@ export default withAui(nextConfig);
562
564
  "version": "0.0.0",
563
565
  "type": "module",
564
566
  "dependencies": {
565
- "@ai-sdk/openai": "^4.0.20",
566
- "@ai-sdk/react": "^4.0.40",
567
+ "@ai-sdk/openai": "^4.0.40",
568
+ "@ai-sdk/react": "^4.0.65",
567
569
  "@assistant-ui/react": "workspace:^",
568
570
  "@assistant-ui/react-ai-sdk": "workspace:*",
569
571
  "@assistant-ui/react-markdown": "workspace:^",
570
572
  "@assistant-ui/ui": "workspace:*",
571
- "@elevenlabs/client": "^1.15.2",
573
+ "@elevenlabs/client": "^1.17.0",
572
574
  "@tailwindcss/postcss": "^4.3.3",
573
- "ai": "^7.0.37",
575
+ "ai": "^7.0.62",
574
576
  "class-variance-authority": "^0.7.1",
575
577
  "clsx": "^2.1.1",
576
- "lucide-react": "^1.26.0",
577
- "motion": "^12.42.2",
578
- "next": "^16.2.11",
579
- "postcss": "^8.5.23",
578
+ "lucide-react": "^1.31.0",
579
+ "motion": "^13.1.0",
580
+ "next": "^16.3.0",
581
+ "postcss": "^8.5.26",
580
582
  "react": "^19.2.8",
581
583
  "react-dom": "^19.2.8",
582
584
  "tailwind-merge": "^3.6.0",
@@ -586,12 +588,11 @@ export default withAui(nextConfig);
586
588
  "devDependencies": {
587
589
  "@assistant-ui/next": "workspace:*",
588
590
  "@assistant-ui/x-buildutils": "workspace:*",
589
- "@types/node": "^26.1.1",
590
- "@types/react": "^19.2.17",
591
- "@types/react-dom": "^19.2.3",
591
+ "@types/node": "^26.2.0",
592
+ "@types/react": "^19.2.18",
593
+ "@types/react-dom": "^19.2.4",
592
594
  "tw-animate-css": "^1.4.0",
593
- "typescript": "npm:@typescript/typescript6@^6.0.2",
594
- "typescript-7": "npm:typescript@^7.0.2"
595
+ "typescript": "^7.0.2"
595
596
  },
596
597
  "scripts": {
597
598
  "dev": "next dev",
@@ -643,7 +644,7 @@ npm run dev
643
644
  ## Related Documentation
644
645
 
645
646
  - [assistant-ui Documentation](https://www.assistant-ui.com/docs)
646
- - [ElevenLabs Scribe](https://elevenlabs.io/docs/api-reference/scribe)
647
+ - [ElevenLabs Scribe](https://elevenlabs.io/docs/overview/capabilities/speech-to-text)
647
648
 
648
649
  ```
649
650
 
@@ -678,6 +679,7 @@ npm run dev
678
679
  ],
679
680
  "@/lib/utils": ["../../packages/ui/src/lib/utils"],
680
681
  "@assistant-ui/ui/*": ["../../packages/ui/src/*"],
682
+ "@assistant-ui/store/client": ["../../packages/store/src/client"],
681
683
  "@assistant-ui/*": ["../../packages/*/src"],
682
684
  "@assistant-ui/core/*": ["../../packages/core/src/*"],
683
685
  "@assistant-ui/react/*": ["../../packages/react/src/*"],
@@ -179,16 +179,17 @@ export default function RootLayout({
179
179
  "use client";
180
180
 
181
181
  import { Thread } from "@/components/assistant-ui/thread";
182
+ import { EveAuthorization } from "@/components/eve-authorization";
182
183
  import {
183
184
  AssistantRuntimeProvider,
185
+ AuiConfig,
184
186
  Suggestions,
185
- useAui,
186
187
  } from "@assistant-ui/react";
187
188
  import { useEveAgentRuntime } from "@assistant-ui/eve";
188
189
 
189
190
  export default function Home() {
190
191
  const runtime = useEveAgentRuntime();
191
- const aui = useAui({
192
+ const config = AuiConfig({
192
193
  suggestions: Suggestions([
193
194
  {
194
195
  title: "Explain Eve",
@@ -206,7 +207,8 @@ export default function Home() {
206
207
  });
207
208
 
208
209
  return (
209
- <AssistantRuntimeProvider runtime={runtime} aui={aui}>
210
+ <AssistantRuntimeProvider runtime={runtime} config={config}>
211
+ <EveAuthorization />
210
212
  <div className="h-full">
211
213
  <Thread />
212
214
  </div>
@@ -246,6 +248,59 @@ export default function Home() {
246
248
 
247
249
  ```
248
250
 
251
+ ## components/eve-authorization.tsx
252
+
253
+ ```tsx
254
+ "use client";
255
+
256
+ import type { EveAuthorizationData } from "@assistant-ui/eve";
257
+ import { makeAssistantDataUI } from "@assistant-ui/react";
258
+
259
+ export const EveAuthorization = makeAssistantDataUI<EveAuthorizationData>({
260
+ name: "authorization",
261
+ render: ({ data }) => {
262
+ const label = data.displayName ?? data.name;
263
+
264
+ if (data.state !== "required") {
265
+ // Eve inherits `description` from the pending part, so a settled
266
+ // authorization still reads as a sign-in prompt.
267
+ const suffix = data.reason ? ` (${data.reason})` : "";
268
+ return (
269
+ <div className="text-muted-foreground my-2 text-sm">
270
+ {data.outcome === "authorized"
271
+ ? `${label} connected.`
272
+ : `${label} authorization ${data.outcome ?? "completed"}${suffix}.`}
273
+ </div>
274
+ );
275
+ }
276
+
277
+ return (
278
+ <div className="my-2 flex flex-col items-start gap-2 rounded-lg border p-4">
279
+ <p className="text-sm">
280
+ {data.instructions ?? `Sign in to ${label} to continue.`}
281
+ </p>
282
+ {data.userCode && (
283
+ <code className="bg-muted rounded px-2 py-1 font-mono text-sm">
284
+ {data.userCode}
285
+ </code>
286
+ )}
287
+ {data.url && (
288
+ <a
289
+ className="text-sm underline"
290
+ href={data.url}
291
+ target="_blank"
292
+ rel="noreferrer"
293
+ >
294
+ Continue to sign in
295
+ </a>
296
+ )}
297
+ </div>
298
+ );
299
+ },
300
+ });
301
+
302
+ ```
303
+
249
304
  ## next.config.ts
250
305
 
251
306
  ```typescript
@@ -281,9 +336,9 @@ export default withEve(withAui(nextConfig));
281
336
  "@assistant-ui/ui": "workspace:*",
282
337
  "class-variance-authority": "^0.7.1",
283
338
  "clsx": "^2.1.1",
284
- "eve": "^0.27.6",
285
- "lucide-react": "^1.26.0",
286
- "next": "^16.2.11",
339
+ "eve": "^0.37.0",
340
+ "lucide-react": "^1.31.0",
341
+ "next": "^16.3.0",
287
342
  "react": "^19.2.8",
288
343
  "react-dom": "^19.2.8",
289
344
  "tailwind-merge": "^3.6.0"
@@ -292,14 +347,13 @@ export default withEve(withAui(nextConfig));
292
347
  "@assistant-ui/next": "workspace:*",
293
348
  "@assistant-ui/x-buildutils": "workspace:*",
294
349
  "@tailwindcss/postcss": "^4.3.3",
295
- "@types/node": "^26.1.1",
296
- "@types/react": "^19.2.17",
297
- "@types/react-dom": "^19.2.3",
298
- "postcss": "^8.5.23",
350
+ "@types/node": "^26.2.0",
351
+ "@types/react": "^19.2.18",
352
+ "@types/react-dom": "^19.2.4",
353
+ "postcss": "^8.5.26",
299
354
  "tailwindcss": "^4.3.3",
300
355
  "tw-animate-css": "^1.4.0",
301
- "typescript": "npm:@typescript/typescript6@^6.0.2",
302
- "typescript-7": "npm:typescript@^7.0.2"
356
+ "typescript": "^7.0.2"
303
357
  }
304
358
  }
305
359
 
@@ -97,6 +97,7 @@ import { GestureHandlerRootView } from "react-native-gesture-handler";
97
97
 
98
98
  import {
99
99
  AssistantRuntimeProvider,
100
+ AuiConfig,
100
101
  useAui,
101
102
  Tools,
102
103
  } from "@assistant-ui/react-native";
@@ -170,7 +171,7 @@ export default function RootLayout() {
170
171
  Platform.OS === "ios" ? {} : MaterialIcons.font,
171
172
  );
172
173
  const runtime = useAppRuntime();
173
- const aui = useAui({
174
+ const config = AuiConfig({
174
175
  tools: Tools({ toolkit }),
175
176
  });
176
177
 
@@ -178,7 +179,7 @@ export default function RootLayout() {
178
179
 
179
180
  return (
180
181
  <GestureHandlerRootView style={{ flex: 1 }}>
181
- <AssistantRuntimeProvider runtime={runtime} aui={aui}>
182
+ <AssistantRuntimeProvider runtime={runtime} config={config}>
182
183
  <DrawerLayout />
183
184
  </AssistantRuntimeProvider>
184
185
  </GestureHandlerRootView>
@@ -203,7 +204,7 @@ export async function POST(req: Request) {
203
204
  const body = await req.json();
204
205
  const { messages, tools } = body;
205
206
 
206
- const model = openai("gpt-5.4-nano");
207
+ const model = openai("gpt-5.6-luna");
207
208
 
208
209
  const prunedMessages = pruneMessages({
209
210
  messages: await convertToModelMessages(messages),
@@ -1422,11 +1423,7 @@ const styles = StyleSheet.create({
1422
1423
  ```tsx
1423
1424
  import { View, Text, Pressable, StyleSheet } from "react-native";
1424
1425
  import { useSafeAreaInsets } from "react-native-safe-area-context";
1425
- import {
1426
- ThreadListPrimitive,
1427
- ThreadListItemByIndexProvider,
1428
- useAui,
1429
- } from "@assistant-ui/react-native";
1426
+ import { ThreadListPrimitive, useAui } from "@assistant-ui/react-native";
1430
1427
  import type { DrawerContentComponentProps } from "expo-router/build/react-navigation/drawer/types";
1431
1428
  import { ThreadListItem } from "./ThreadListItem";
1432
1429
  import { Icon } from "@/components/ui/icon";
@@ -1469,10 +1466,8 @@ export function ThreadListDrawer({ navigation }: DrawerContentComponentProps) {
1469
1466
  </Text>
1470
1467
 
1471
1468
  <ThreadListPrimitive.Items
1472
- renderItem={({ index }) => (
1473
- <ThreadListItemByIndexProvider index={index} archived={false}>
1474
- <ThreadListItem onSelect={() => navigation.closeDrawer()} />
1475
- </ThreadListItemByIndexProvider>
1469
+ renderItem={() => (
1470
+ <ThreadListItem onSelect={() => navigation.closeDrawer()} />
1476
1471
  )}
1477
1472
  style={styles.list}
1478
1473
  contentContainerStyle={styles.listContent}
@@ -1935,43 +1930,43 @@ module.exports = withAui(config);
1935
1930
  "export:web": "expo export --platform web && node scripts/flatten-assets.mjs"
1936
1931
  },
1937
1932
  "dependencies": {
1938
- "@ai-sdk/openai": "^4.0.20",
1939
- "@ai-sdk/react": "^4.0.40",
1933
+ "@ai-sdk/openai": "^4.0.40",
1934
+ "@ai-sdk/react": "^4.0.65",
1940
1935
  "@assistant-ui/react-ai-sdk": "workspace:*",
1941
1936
  "@assistant-ui/react-native": "workspace:*",
1942
1937
  "@expo/vector-icons": "^15.1.1",
1943
1938
  "@react-navigation/drawer": "7.9.4",
1944
1939
  "@react-navigation/native": "7.1.33",
1945
- "ai": "^7.0.37",
1946
- "expo": "~57.0.8",
1940
+ "ai": "^7.0.62",
1941
+ "expo": "~57.0.12",
1947
1942
  "expo-clipboard": "~57.0.1",
1948
- "expo-constants": "~57.0.7",
1943
+ "expo-constants": "~57.0.10",
1949
1944
  "expo-font": "~57.0.1",
1950
1945
  "expo-haptics": "~57.0.1",
1951
- "expo-image": "~57.0.1",
1952
- "expo-image-picker": "~57.0.6",
1953
- "expo-linking": "~57.0.4",
1954
- "expo-router": "~57.0.8",
1955
- "expo-server": "~57.0.1",
1956
- "expo-splash-screen": "~57.0.5",
1946
+ "expo-image": "~57.0.2",
1947
+ "expo-image-picker": "~57.0.9",
1948
+ "expo-linking": "~57.0.5",
1949
+ "expo-router": "~57.0.12",
1950
+ "expo-server": "~57.0.2",
1951
+ "expo-splash-screen": "~57.0.6",
1957
1952
  "expo-status-bar": "~57.0.1",
1958
- "expo-symbols": "^57.0.1",
1959
- "expo-system-ui": "~57.0.1",
1953
+ "expo-symbols": "^57.0.2",
1954
+ "expo-system-ui": "~57.0.2",
1960
1955
  "react": "19.2.3",
1961
1956
  "react-dom": "19.2.3",
1962
- "react-native": "0.86.0",
1963
- "react-native-gesture-handler": "~3.1.0",
1964
- "react-native-reanimated": "4.5.0",
1965
- "react-native-safe-area-context": "~5.8.0",
1957
+ "react-native": "0.86.2",
1958
+ "react-native-gesture-handler": "~2.32.0",
1959
+ "react-native-reanimated": "4.5.1",
1960
+ "react-native-safe-area-context": "~5.7.0",
1966
1961
  "react-native-screens": "4.26.2",
1967
1962
  "react-native-web": "~0.21.2",
1968
- "react-native-worklets": "0.10.0",
1963
+ "react-native-worklets": "0.10.1",
1969
1964
  "zod": "^4.4.3"
1970
1965
  },
1971
1966
  "devDependencies": {
1972
1967
  "@assistant-ui/metro": "workspace:*",
1973
1968
  "@babel/core": "^7.29.7",
1974
- "@types/react": "~19.2.17",
1969
+ "@types/react": "~19.2.18",
1975
1970
  "typescript": "npm:@typescript/typescript6@^6.0.2",
1976
1971
  "typescript-7": "npm:typescript@~7.0.2"
1977
1972
  },
@@ -223,10 +223,16 @@ export function MyRuntimeProvider({
223
223
  "use client";
224
224
 
225
225
  import { Thread } from "@/components/assistant-ui/thread";
226
- import { useAui, AuiProvider, Suggestions } from "@assistant-ui/react";
226
+ import {
227
+ useAui,
228
+ AuiProvider,
229
+ AuiConfig,
230
+ Suggestions,
231
+ } from "@assistant-ui/react";
227
232
 
228
233
  function ThreadWithSuggestions() {
229
- const aui = useAui({
234
+ const aui = useAui();
235
+ const config = AuiConfig({
230
236
  suggestions: Suggestions([
231
237
  {
232
238
  title: "Send a test message",
@@ -241,7 +247,7 @@ function ThreadWithSuggestions() {
241
247
  ]),
242
248
  });
243
249
  return (
244
- <AuiProvider value={aui}>
250
+ <AuiProvider extends={aui} config={config}>
245
251
  <Thread />
246
252
  </AuiProvider>
247
253
  );
@@ -318,8 +324,8 @@ export default withAui(nextConfig);
318
324
  "@assistant-ui/ui": "workspace:*",
319
325
  "class-variance-authority": "^0.7.1",
320
326
  "clsx": "^2.1.1",
321
- "lucide-react": "^1.26.0",
322
- "next": "^16.2.11",
327
+ "lucide-react": "^1.31.0",
328
+ "next": "^16.3.0",
323
329
  "react": "^19.2.8",
324
330
  "react-dom": "^19.2.8",
325
331
  "tailwind-merge": "^3.6.0"
@@ -328,14 +334,13 @@ export default withAui(nextConfig);
328
334
  "@assistant-ui/next": "workspace:*",
329
335
  "@assistant-ui/x-buildutils": "workspace:*",
330
336
  "@tailwindcss/postcss": "^4.3.3",
331
- "@types/node": "^26.1.1",
332
- "@types/react": "^19.2.17",
333
- "@types/react-dom": "^19.2.3",
334
- "postcss": "^8.5.23",
337
+ "@types/node": "^26.2.0",
338
+ "@types/react": "^19.2.18",
339
+ "@types/react-dom": "^19.2.4",
340
+ "postcss": "^8.5.26",
335
341
  "tailwindcss": "^4.3.3",
336
342
  "tw-animate-css": "^1.4.0",
337
- "typescript": "npm:@typescript/typescript6@^6.0.2",
338
- "typescript-7": "npm:typescript@^7.0.2"
343
+ "typescript": "^7.0.2"
339
344
  }
340
345
  }
341
346
 
@@ -381,7 +386,7 @@ npm run dev
381
386
  ## Related Documentation
382
387
 
383
388
  - [assistant-ui Documentation](https://www.assistant-ui.com/docs)
384
- - [External Store Runtime Guide](https://www.assistant-ui.com/docs/runtimes/external-store)
389
+ - [External Store Runtime Guide](https://www.assistant-ui.com/docs/runtimes/custom/external-store)
385
390
 
386
391
  ```
387
392