@assistant-ui/mcp-docs-server 0.1.31 → 0.1.33

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 (281) hide show
  1. package/.docs/organized/code-examples/waterfall.md +23 -25
  2. package/.docs/organized/code-examples/with-a2a.md +28 -28
  3. package/.docs/organized/code-examples/with-ag-ui.md +35 -30
  4. package/.docs/organized/code-examples/with-ai-sdk-v6.md +16 -14
  5. package/.docs/organized/code-examples/with-artifacts.md +44 -38
  6. package/.docs/organized/code-examples/with-assistant-transport.md +68 -56
  7. package/.docs/organized/code-examples/with-browser-extension.md +357 -0
  8. package/.docs/organized/code-examples/with-chain-of-thought.md +425 -90
  9. package/.docs/organized/code-examples/with-cloud-standalone.md +30 -29
  10. package/.docs/organized/code-examples/with-cloud.md +16 -14
  11. package/.docs/organized/code-examples/with-custom-thread-list.md +19 -17
  12. package/.docs/organized/code-examples/with-elevenlabs-conversational.md +29 -26
  13. package/.docs/organized/code-examples/with-elevenlabs-scribe.md +20 -18
  14. package/.docs/organized/code-examples/with-expo.md +37 -31
  15. package/.docs/organized/code-examples/with-external-store.md +13 -11
  16. package/.docs/organized/code-examples/with-ffmpeg.md +327 -290
  17. package/.docs/organized/code-examples/with-generative-ui.md +1195 -194
  18. package/.docs/organized/code-examples/with-google-adk.md +13 -11
  19. package/.docs/organized/code-examples/with-heat-graph.md +16 -14
  20. package/.docs/organized/code-examples/with-image-generation.md +456 -0
  21. package/.docs/organized/code-examples/with-interactables.md +322 -244
  22. package/.docs/organized/code-examples/with-langchain.md +18 -16
  23. package/.docs/organized/code-examples/with-langgraph.md +95 -88
  24. package/.docs/organized/code-examples/with-livekit.md +30 -27
  25. package/.docs/organized/code-examples/with-mcp.md +754 -0
  26. package/.docs/organized/code-examples/with-opencode.md +70 -70
  27. package/.docs/organized/code-examples/with-react-hook-form.md +24 -22
  28. package/.docs/organized/code-examples/with-react-ink.md +4 -4
  29. package/.docs/organized/code-examples/with-react-router.md +20 -18
  30. package/.docs/organized/code-examples/with-resumable-stream.md +661 -0
  31. package/.docs/organized/code-examples/with-store.md +22 -20
  32. package/.docs/organized/code-examples/with-tanstack.md +18 -19
  33. package/.docs/organized/code-examples/with-tap-runtime.md +31 -28
  34. package/.docs/raw/docs/(docs)/architecture.mdx +43 -2
  35. package/.docs/raw/docs/(docs)/cli.mdx +2 -2
  36. package/.docs/raw/docs/(docs)/copilots/model-context.mdx +34 -26
  37. package/.docs/raw/docs/(docs)/copilots/motivation.mdx +32 -26
  38. package/.docs/raw/docs/(docs)/index.mdx +2 -2
  39. package/.docs/raw/docs/(docs)/installation.mdx +2 -2
  40. package/.docs/raw/docs/(reference)/api-reference/adapters/attachments.mdx +26 -24
  41. package/.docs/raw/docs/(reference)/api-reference/adapters/feedback.mdx +20 -0
  42. package/.docs/raw/docs/(reference)/api-reference/adapters/index.mdx +20 -12
  43. package/.docs/raw/docs/(reference)/api-reference/adapters/model.mdx +44 -0
  44. package/.docs/raw/docs/(reference)/api-reference/adapters/persistence.mdx +41 -16
  45. package/.docs/raw/docs/(reference)/api-reference/adapters/runtime.mdx +12 -23
  46. package/.docs/raw/docs/(reference)/api-reference/adapters/suggestions.mdx +20 -0
  47. package/.docs/raw/docs/(reference)/api-reference/context-providers/assistant-runtime-provider.mdx +37 -8
  48. package/.docs/raw/docs/(reference)/api-reference/context-providers/index.mdx +11 -9
  49. package/.docs/raw/docs/(reference)/api-reference/context-providers/scoped-providers.mdx +64 -0
  50. package/.docs/raw/docs/(reference)/api-reference/external-store/index.mdx +22 -0
  51. package/.docs/raw/docs/(reference)/api-reference/external-store/message-conversion.mdx +52 -0
  52. package/.docs/raw/docs/(reference)/api-reference/external-store/runtime.mdx +46 -0
  53. package/.docs/raw/docs/(reference)/api-reference/generative-ui/index.mdx +18 -0
  54. package/.docs/raw/docs/(reference)/api-reference/generative-ui/rendering.mdx +33 -0
  55. package/.docs/raw/docs/(reference)/api-reference/generative-ui/spec.mdx +45 -0
  56. package/.docs/raw/docs/(reference)/api-reference/hooks/composer-triggers.mdx +98 -0
  57. package/.docs/raw/docs/(reference)/api-reference/hooks/index.mdx +18 -13
  58. package/.docs/raw/docs/(reference)/api-reference/hooks/model-context.mdx +31 -52
  59. package/.docs/raw/docs/(reference)/api-reference/hooks/primitives.mdx +640 -0
  60. package/.docs/raw/docs/(reference)/api-reference/hooks/runtimes.mdx +15 -28
  61. package/.docs/raw/docs/(reference)/api-reference/hooks/state.mdx +64 -18
  62. package/.docs/raw/docs/(reference)/api-reference/hooks/utilities.mdx +434 -0
  63. package/.docs/raw/docs/(reference)/api-reference/integrations/cloud-ai-sdk.mdx +24 -0
  64. package/.docs/raw/docs/(reference)/api-reference/integrations/index.mdx +11 -12
  65. package/.docs/raw/docs/(reference)/api-reference/integrations/react-ai-sdk.mdx +109 -0
  66. package/.docs/raw/docs/(reference)/api-reference/model-context/context.mdx +58 -0
  67. package/.docs/raw/docs/(reference)/api-reference/model-context/index.mdx +22 -0
  68. package/.docs/raw/docs/(reference)/api-reference/model-context/registry.mdx +20 -0
  69. package/.docs/raw/docs/(reference)/api-reference/overview.mdx +109 -132
  70. package/.docs/raw/docs/(reference)/api-reference/primitives/action-bar-more.mdx +78 -221
  71. package/.docs/raw/docs/(reference)/api-reference/primitives/action-bar.mdx +127 -242
  72. package/.docs/raw/docs/(reference)/api-reference/primitives/assistant-if.mdx +39 -20
  73. package/.docs/raw/docs/(reference)/api-reference/primitives/assistant-modal.mdx +66 -87
  74. package/.docs/raw/docs/(reference)/api-reference/primitives/attachment.mdx +50 -58
  75. package/.docs/raw/docs/(reference)/api-reference/primitives/branch-picker.mdx +80 -48
  76. package/.docs/raw/docs/(reference)/api-reference/primitives/chain-of-thought.mdx +67 -0
  77. package/.docs/raw/docs/(reference)/api-reference/primitives/composer.mdx +323 -461
  78. package/.docs/raw/docs/(reference)/api-reference/primitives/error.mdx +36 -43
  79. package/.docs/raw/docs/(reference)/api-reference/primitives/index.mdx +29 -24
  80. package/.docs/raw/docs/(reference)/api-reference/primitives/message-part.mdx +63 -245
  81. package/.docs/raw/docs/(reference)/api-reference/primitives/message.mdx +202 -588
  82. package/.docs/raw/docs/(reference)/api-reference/primitives/queue-item.mdx +65 -0
  83. package/.docs/raw/docs/(reference)/api-reference/primitives/selection-toolbar.mdx +35 -22
  84. package/.docs/raw/docs/(reference)/api-reference/primitives/suggestion.mdx +57 -140
  85. package/.docs/raw/docs/(reference)/api-reference/primitives/thread-list-item-more.mdx +70 -161
  86. package/.docs/raw/docs/(reference)/api-reference/primitives/thread-list-item.mdx +84 -108
  87. package/.docs/raw/docs/(reference)/api-reference/primitives/thread-list.mdx +77 -96
  88. package/.docs/raw/docs/(reference)/api-reference/primitives/thread.mdx +173 -349
  89. package/.docs/raw/docs/(reference)/api-reference/runtimes/assistant-runtime.mdx +9 -21
  90. package/.docs/raw/docs/(reference)/api-reference/runtimes/attachment-runtime.mdx +10 -21
  91. package/.docs/raw/docs/(reference)/api-reference/runtimes/composer-runtime.mdx +15 -70
  92. package/.docs/raw/docs/(reference)/api-reference/runtimes/index.mdx +18 -13
  93. package/.docs/raw/docs/(reference)/api-reference/runtimes/message-part-runtime.mdx +25 -28
  94. package/.docs/raw/docs/(reference)/api-reference/runtimes/message-runtime.mdx +11 -63
  95. package/.docs/raw/docs/(reference)/api-reference/runtimes/queue-state.mdx +20 -0
  96. package/.docs/raw/docs/(reference)/api-reference/runtimes/thread-list-item-runtime.mdx +11 -48
  97. package/.docs/raw/docs/(reference)/api-reference/runtimes/thread-list-runtime.mdx +10 -47
  98. package/.docs/raw/docs/(reference)/api-reference/runtimes/thread-runtime.mdx +18 -30
  99. package/.docs/raw/docs/(reference)/api-reference/tools/component-tools.mdx +85 -0
  100. package/.docs/raw/docs/(reference)/api-reference/tools/index.mdx +39 -0
  101. package/.docs/raw/docs/(reference)/api-reference/tools/rendering.mdx +127 -0
  102. package/.docs/raw/docs/(reference)/api-reference/tools/status.mdx +42 -0
  103. package/.docs/raw/docs/(reference)/api-reference/tools/toolkits.mdx +91 -0
  104. package/.docs/raw/docs/(reference)/api-reference/transport/assistant-transport.mdx +48 -0
  105. package/.docs/raw/docs/(reference)/api-reference/transport/frame.mdx +62 -0
  106. package/.docs/raw/docs/(reference)/api-reference/transport/index.mdx +22 -0
  107. package/.docs/raw/docs/(reference)/api-reference/utilities/index.mdx +19 -0
  108. package/.docs/raw/docs/(reference)/api-reference/utilities/miscellaneous.mdx +143 -0
  109. package/.docs/raw/docs/(reference)/api-reference/voice/index.mdx +22 -0
  110. package/.docs/raw/docs/(reference)/api-reference/voice/session.mdx +54 -0
  111. package/.docs/raw/docs/(reference)/api-reference/voice/speech-dictation.mdx +36 -0
  112. package/.docs/raw/docs/cloud/ai-sdk.mdx +1 -3
  113. package/.docs/raw/docs/cloud/index.mdx +2 -2
  114. package/.docs/raw/docs/guides/attachments.mdx +4 -4
  115. package/.docs/raw/docs/guides/branching.mdx +1 -1
  116. package/.docs/raw/docs/guides/chain-of-thought.mdx +12 -14
  117. package/.docs/raw/docs/guides/context-api.mdx +6 -5
  118. package/.docs/raw/docs/guides/dictation.mdx +2 -2
  119. package/.docs/raw/docs/guides/editing.mdx +1 -1
  120. package/.docs/raw/docs/guides/image-generation.mdx +74 -0
  121. package/.docs/raw/docs/guides/index.mdx +5 -14
  122. package/.docs/raw/docs/guides/latex.mdx +2 -2
  123. package/.docs/raw/docs/guides/mentions.mdx +6 -6
  124. package/.docs/raw/docs/guides/message-timing.mdx +38 -5
  125. package/.docs/raw/docs/guides/quoting.mdx +1 -1
  126. package/.docs/raw/docs/guides/resumable-stream-deployment.mdx +212 -0
  127. package/.docs/raw/docs/guides/resumable-stream-stores.mdx +152 -0
  128. package/.docs/raw/docs/guides/resumable-streams.mdx +210 -0
  129. package/.docs/raw/docs/guides/slash-commands.mdx +2 -2
  130. package/.docs/raw/docs/guides/speech.mdx +2 -2
  131. package/.docs/raw/docs/guides/suggestions.mdx +89 -5
  132. package/.docs/raw/docs/guides/voice.mdx +2 -2
  133. package/.docs/raw/docs/ink/adapters.mdx +37 -1
  134. package/.docs/raw/docs/ink/custom-backend.mdx +59 -8
  135. package/.docs/raw/docs/ink/hooks.mdx +98 -85
  136. package/.docs/raw/docs/ink/index.mdx +10 -11
  137. package/.docs/raw/docs/ink/migration.mdx +1 -1
  138. package/.docs/raw/docs/ink/primitives.mdx +350 -9
  139. package/.docs/raw/docs/integrations/auth/better-auth.mdx +1 -1
  140. package/.docs/raw/docs/integrations/auth/clerk.mdx +1 -1
  141. package/.docs/raw/docs/integrations/auth/next-auth.mdx +1 -1
  142. package/.docs/raw/docs/integrations/frameworks/ai-sdk.mdx +3 -3
  143. package/.docs/raw/docs/integrations/frameworks/cloudflare-agents/overview.mdx +282 -0
  144. package/.docs/raw/docs/integrations/frameworks/mastra/overview.mdx +2 -2
  145. package/.docs/raw/docs/integrations/frameworks/mastra/separate-server.mdx +1 -1
  146. package/.docs/raw/docs/integrations/gateways/index.mdx +9 -4
  147. package/.docs/raw/docs/integrations/index.mdx +17 -5
  148. package/.docs/raw/docs/integrations/observability/langfuse.mdx +8 -1
  149. package/.docs/raw/docs/integrations/observability/langsmith.mdx +8 -4
  150. package/.docs/raw/docs/integrations/persistence/custom-adapter.mdx +17 -2
  151. package/.docs/raw/docs/migrations/toolkit-tools.mdx +226 -0
  152. package/.docs/raw/docs/primitives/chain-of-thought.mdx +10 -16
  153. package/.docs/raw/docs/primitives/composer.mdx +53 -0
  154. package/.docs/raw/docs/primitives/index.mdx +2 -2
  155. package/.docs/raw/docs/primitives/message.mdx +9 -10
  156. package/.docs/raw/docs/primitives/suggestion.mdx +9 -0
  157. package/.docs/raw/docs/react-native/hooks.mdx +57 -82
  158. package/.docs/raw/docs/react-native/index.mdx +4 -4
  159. package/.docs/raw/docs/react-native/migration.mdx +1 -1
  160. package/.docs/raw/docs/react-native/primitives.mdx +2 -2
  161. package/.docs/raw/docs/runtimes/a2a/client-and-hooks.mdx +7 -4
  162. package/.docs/raw/docs/runtimes/a2a/overview.mdx +2 -2
  163. package/.docs/raw/docs/runtimes/ag-ui/overview.mdx +2 -2
  164. package/.docs/raw/docs/runtimes/ag-ui/runtime-options.mdx +32 -1
  165. package/.docs/raw/docs/runtimes/ai-sdk/overview.mdx +2 -2
  166. package/.docs/raw/docs/runtimes/ai-sdk/v4-legacy.mdx +7 -2
  167. package/.docs/raw/docs/runtimes/ai-sdk/v5-legacy.mdx +1 -1
  168. package/.docs/raw/docs/runtimes/ai-sdk/v6.mdx +129 -1
  169. package/.docs/raw/docs/runtimes/concepts/threads.mdx +7 -1
  170. package/.docs/raw/docs/runtimes/custom/data-stream.mdx +27 -2
  171. package/.docs/raw/docs/runtimes/custom/external-store.mdx +9 -1
  172. package/.docs/raw/docs/runtimes/custom/local-runtime.mdx +18 -7
  173. package/.docs/raw/docs/runtimes/custom/overview.mdx +2 -2
  174. package/.docs/raw/docs/runtimes/google-adk/hooks.mdx +108 -38
  175. package/.docs/raw/docs/runtimes/google-adk/overview.mdx +2 -2
  176. package/.docs/raw/docs/runtimes/langchain.mdx +2 -2
  177. package/.docs/raw/docs/runtimes/langgraph/generative-ui.mdx +2 -2
  178. package/.docs/raw/docs/runtimes/langgraph/overview.mdx +2 -2
  179. package/.docs/raw/docs/runtimes/langgraph/streaming.mdx +1 -1
  180. package/.docs/raw/docs/runtimes/langgraph/tutorial/part-2.mdx +64 -50
  181. package/.docs/raw/docs/runtimes/langgraph/tutorial/part-3.mdx +98 -86
  182. package/.docs/raw/docs/runtimes/opencode/overview.mdx +2 -2
  183. package/.docs/raw/docs/runtimes/opencode/quickstart.mdx +1 -1
  184. package/.docs/raw/docs/runtimes/pick-a-runtime.mdx +12 -5
  185. package/.docs/raw/docs/tools/backend.mdx +136 -0
  186. package/.docs/raw/docs/tools/defining-tools.mdx +413 -0
  187. package/.docs/raw/docs/tools/dynamic-tools.mdx +110 -0
  188. package/.docs/raw/docs/tools/generative-ui.mdx +214 -0
  189. package/.docs/raw/docs/tools/index.mdx +76 -0
  190. package/.docs/raw/docs/{guides → tools}/interactables.mdx +3 -3
  191. package/.docs/raw/docs/tools/mcp-apps.mdx +231 -0
  192. package/.docs/raw/docs/{integrations/tools → tools}/mcp.mdx +77 -50
  193. package/.docs/raw/docs/{guides → tools}/multi-agent.mdx +19 -21
  194. package/.docs/raw/docs/tools/tool-ui.mdx +967 -0
  195. package/.docs/raw/docs/tools/user-managed-mcp.mdx +337 -0
  196. package/.docs/raw/docs/ui/composer-trigger-popover.mdx +11 -1
  197. package/.docs/raw/docs/ui/directive-text.mdx +3 -3
  198. package/.docs/raw/docs/ui/mcp-config.mdx +102 -0
  199. package/.docs/raw/docs/ui/model-selector.mdx +8 -8
  200. package/.docs/raw/docs/ui/part-grouping.mdx +84 -50
  201. package/.docs/raw/docs/ui/reasoning.mdx +4 -5
  202. package/.docs/raw/docs/ui/sources.mdx +17 -0
  203. package/.docs/raw/docs/ui/streamdown.mdx +34 -2
  204. package/.docs/raw/docs/ui/thread-list.mdx +2 -2
  205. package/.docs/raw/docs/ui/thread.mdx +2 -2
  206. package/.docs/raw/docs/ui/tool-group.mdx +5 -6
  207. package/.docs/raw/docs/utilities/heat-graph.mdx +1 -1
  208. package/README.md +14 -72
  209. package/dist/constants.d.ts +12 -9
  210. package/dist/constants.d.ts.map +1 -1
  211. package/dist/constants.js +13 -9
  212. package/dist/constants.js.map +1 -1
  213. package/dist/index.d.ts +7 -3
  214. package/dist/index.d.ts.map +1 -1
  215. package/dist/index.js +25 -24
  216. package/dist/index.js.map +1 -1
  217. package/dist/prepare-docs/code-examples.d.ts +4 -1
  218. package/dist/prepare-docs/code-examples.d.ts.map +1 -1
  219. package/dist/prepare-docs/code-examples.js +109 -121
  220. package/dist/prepare-docs/code-examples.js.map +1 -1
  221. package/dist/prepare-docs/copy-raw.d.ts +4 -1
  222. package/dist/prepare-docs/copy-raw.d.ts.map +1 -1
  223. package/dist/prepare-docs/copy-raw.js +45 -42
  224. package/dist/prepare-docs/copy-raw.js.map +1 -1
  225. package/dist/prepare-docs/prepare.d.ts +1 -2
  226. package/dist/prepare-docs/prepare.js +17 -17
  227. package/dist/prepare-docs/prepare.js.map +1 -1
  228. package/dist/stdio.d.ts +1 -3
  229. package/dist/stdio.js +6 -3
  230. package/dist/stdio.js.map +1 -1
  231. package/dist/tools/docs.d.ts +20 -15
  232. package/dist/tools/docs.d.ts.map +1 -1
  233. package/dist/tools/docs.js +140 -161
  234. package/dist/tools/docs.js.map +1 -1
  235. package/dist/tools/examples.d.ts +20 -15
  236. package/dist/tools/examples.d.ts.map +1 -1
  237. package/dist/tools/examples.js +74 -86
  238. package/dist/tools/examples.js.map +1 -1
  239. package/dist/tools/tests/test-setup.d.ts +5 -2
  240. package/dist/tools/tests/test-setup.d.ts.map +1 -1
  241. package/dist/tools/tests/test-setup.js +21 -28
  242. package/dist/tools/tests/test-setup.js.map +1 -1
  243. package/dist/utils/logger.d.ts +8 -5
  244. package/dist/utils/logger.d.ts.map +1 -1
  245. package/dist/utils/logger.js +17 -17
  246. package/dist/utils/logger.js.map +1 -1
  247. package/dist/utils/mcp-format.d.ts +8 -5
  248. package/dist/utils/mcp-format.d.ts.map +1 -1
  249. package/dist/utils/mcp-format.js +9 -9
  250. package/dist/utils/mcp-format.js.map +1 -1
  251. package/dist/utils/mdx.d.ts +8 -6
  252. package/dist/utils/mdx.d.ts.map +1 -1
  253. package/dist/utils/mdx.js +22 -22
  254. package/dist/utils/mdx.js.map +1 -1
  255. package/dist/utils/paths.d.ts +9 -6
  256. package/dist/utils/paths.d.ts.map +1 -1
  257. package/dist/utils/paths.js +66 -76
  258. package/dist/utils/paths.js.map +1 -1
  259. package/dist/utils/security.d.ts +4 -1
  260. package/dist/utils/security.d.ts.map +1 -1
  261. package/dist/utils/security.js +19 -40
  262. package/dist/utils/security.js.map +1 -1
  263. package/package.json +5 -5
  264. package/.docs/organized/code-examples/with-parent-id-grouping.md +0 -596
  265. package/.docs/raw/docs/(docs)/copilots/make-assistant-tool-ui.mdx +0 -151
  266. package/.docs/raw/docs/(docs)/copilots/make-assistant-tool.mdx +0 -230
  267. package/.docs/raw/docs/(reference)/api-reference/adapters/feedback-speech.mdx +0 -41
  268. package/.docs/raw/docs/(reference)/api-reference/context-providers/text-message-part-provider.mdx +0 -40
  269. package/.docs/raw/docs/(reference)/api-reference/integrations/react-data-stream.mdx +0 -260
  270. package/.docs/raw/docs/(reference)/api-reference/integrations/react-hook-form.mdx +0 -103
  271. package/.docs/raw/docs/(reference)/api-reference/integrations/vercel-ai-sdk.mdx +0 -254
  272. package/.docs/raw/docs/guides/tool-ui.mdx +0 -858
  273. package/.docs/raw/docs/guides/tools.mdx +0 -675
  274. package/dist/prepare-docs/prepare.d.ts.map +0 -1
  275. package/dist/stdio.d.ts.map +0 -1
  276. /package/.docs/raw/docs/{(reference)/migrations → migrations}/deprecation-policy.mdx +0 -0
  277. /package/.docs/raw/docs/{(reference) → migrations}/react-compatibility.mdx +0 -0
  278. /package/.docs/raw/docs/{(reference)/migrations → migrations}/react-langgraph-v0-7.mdx +0 -0
  279. /package/.docs/raw/docs/{(reference)/migrations → migrations}/v0-11.mdx +0 -0
  280. /package/.docs/raw/docs/{(reference)/migrations → migrations}/v0-12.mdx +0 -0
  281. /package/.docs/raw/docs/{(reference)/migrations → migrations}/v0-14.mdx +0 -0
@@ -20,7 +20,7 @@ export async function POST(req: Request) {
20
20
  const { messages }: { messages: UIMessage[] } = await req.json();
21
21
 
22
22
  const result = streamText({
23
- model: openai("gpt-4o"),
23
+ model: openai("gpt-5.4-nano"),
24
24
  system:
25
25
  "You are a helpful assistant that can generate HTML code. When the user asks you to create any visual content, UI, or webpage, use the render_html tool to render it in the browser. Always use the render_html tool for HTML output rather than showing code in a code block.",
26
26
  messages: await convertToModelMessages(messages),
@@ -211,7 +211,8 @@ export default function RootLayout({
211
211
  import { Thread } from "@/components/assistant-ui/thread";
212
212
  import {
213
213
  AssistantRuntimeProvider,
214
- makeAssistantTool,
214
+ Tools,
215
+ type Toolkit,
215
216
  useAui,
216
217
  useAuiState,
217
218
  AuiProvider,
@@ -223,25 +224,26 @@ import { TerminalIcon, CodeIcon, EyeIcon } from "lucide-react";
223
224
  import { useState } from "react";
224
225
  import { z } from "zod";
225
226
 
226
- const RenderHTMLTool = makeAssistantTool({
227
- toolName: "render_html",
228
- description:
229
- "Whenever the user asks for HTML code, call this function. The user will see the HTML code rendered in their browser.",
230
- parameters: z.object({
231
- code: z.string(),
232
- }),
233
- execute: async () => {
234
- return {};
235
- },
236
- render: () => {
237
- return (
238
- <div className="my-2 inline-flex items-center gap-2 rounded-full border bg-primary px-4 py-2 text-primary-foreground">
239
- <TerminalIcon className="size-4" />
240
- render_html(&#123; code: &quot;...&quot; &#125;)
241
- </div>
242
- );
227
+ const toolkit = {
228
+ render_html: {
229
+ description:
230
+ "Whenever the user asks for HTML code, call this function. The user will see the HTML code rendered in their browser.",
231
+ parameters: z.object({
232
+ code: z.string(),
233
+ }),
234
+ execute: async () => {
235
+ return {};
236
+ },
237
+ render: () => {
238
+ return (
239
+ <div className="bg-primary text-primary-foreground my-2 inline-flex items-center gap-2 rounded-full border px-4 py-2">
240
+ <TerminalIcon className="size-4" />
241
+ render_html(&#123; code: &quot;...&quot; &#125;)
242
+ </div>
243
+ );
244
+ },
243
245
  },
244
- });
246
+ } satisfies Toolkit;
245
247
 
246
248
  function ArtifactsView() {
247
249
  const [tab, setTab] = useState<"source" | "preview">("source");
@@ -270,7 +272,7 @@ function ArtifactsView() {
270
272
  <button
271
273
  type="button"
272
274
  onClick={() => setTab("source")}
273
- className={`inline-flex flex-1 items-center justify-center gap-2 px-4 py-2.5 font-medium text-sm transition-colors ${
275
+ className={`inline-flex flex-1 items-center justify-center gap-2 px-4 py-2.5 text-sm font-medium transition-colors ${
274
276
  tab === "source"
275
277
  ? "bg-background text-foreground"
276
278
  : "text-muted-foreground hover:text-foreground"
@@ -283,7 +285,7 @@ function ArtifactsView() {
283
285
  type="button"
284
286
  onClick={() => isComplete && setTab("preview")}
285
287
  disabled={!isComplete}
286
- className={`inline-flex flex-1 items-center justify-center gap-2 px-4 py-2.5 font-medium text-sm transition-colors ${
288
+ className={`inline-flex flex-1 items-center justify-center gap-2 px-4 py-2.5 text-sm font-medium transition-colors ${
287
289
  !isComplete
288
290
  ? "cursor-not-allowed opacity-50"
289
291
  : tab === "preview"
@@ -296,7 +298,7 @@ function ArtifactsView() {
296
298
  </button>
297
299
  </div>
298
300
  {tab === "source" || !isComplete ? (
299
- <div className="h-full overflow-y-auto whitespace-pre-line break-words px-4 py-2 font-mono text-sm">
301
+ <div className="h-full overflow-y-auto px-4 py-2 font-mono text-sm break-words whitespace-pre-line">
300
302
  {code}
301
303
  </div>
302
304
  ) : (
@@ -339,14 +341,16 @@ function ThreadWithSuggestions() {
339
341
 
340
342
  export default function Home() {
341
343
  const runtime = useChatRuntime();
344
+ const aui = useAui({
345
+ tools: Tools({ toolkit }),
346
+ });
342
347
 
343
348
  return (
344
- <AssistantRuntimeProvider runtime={runtime}>
349
+ <AssistantRuntimeProvider aui={aui} runtime={runtime}>
345
350
  <main className="flex h-full justify-stretch">
346
351
  <div className="flex-grow basis-full">
347
352
  <ThreadWithSuggestions />
348
353
  </div>
349
- <RenderHTMLTool />
350
354
  <ArtifactsView />
351
355
  </main>
352
356
  </AssistantRuntimeProvider>
@@ -388,6 +392,7 @@ export default function Home() {
388
392
  ## next.config.js
389
393
 
390
394
  ```javascript
395
+ import { withAui } from "@assistant-ui/next";
391
396
  /** @type {import('next').NextConfig} */
392
397
  const nextConfig = {
393
398
  transpilePackages: [
@@ -397,7 +402,7 @@ const nextConfig = {
397
402
  ],
398
403
  };
399
404
 
400
- export default nextConfig;
405
+ export default withAui(nextConfig);
401
406
 
402
407
  ```
403
408
 
@@ -415,29 +420,30 @@ export default nextConfig;
415
420
  "start": "next start"
416
421
  },
417
422
  "dependencies": {
418
- "@ai-sdk/openai": "^3.0.61",
423
+ "@ai-sdk/openai": "^3.0.67",
419
424
  "@assistant-ui/react": "workspace:*",
420
425
  "@assistant-ui/react-ai-sdk": "workspace:*",
421
426
  "@assistant-ui/react-markdown": "workspace:*",
422
427
  "@assistant-ui/ui": "workspace:*",
423
- "ai": "^6.0.175",
428
+ "ai": "^6.0.193",
424
429
  "class-variance-authority": "^0.7.1",
425
430
  "clsx": "^2.1.1",
426
- "lucide-react": "^1.14.0",
427
- "next": "^16.2.4",
428
- "react": "^19.2.5",
429
- "react-dom": "^19.2.5",
430
- "tailwind-merge": "^3.5.0",
431
+ "lucide-react": "^1.17.0",
432
+ "next": "^16.2.6",
433
+ "react": "^19.2.6",
434
+ "react-dom": "^19.2.6",
435
+ "tailwind-merge": "^3.6.0",
431
436
  "zod": "^4.4.3"
432
437
  },
433
438
  "devDependencies": {
439
+ "@assistant-ui/next": "workspace:*",
434
440
  "@assistant-ui/x-buildutils": "workspace:*",
435
- "@tailwindcss/postcss": "^4.2.4",
436
- "@types/node": "^25.6.0",
437
- "@types/react": "^19.2.14",
441
+ "@tailwindcss/postcss": "^4.3.0",
442
+ "@types/node": "^25.9.1",
443
+ "@types/react": "^19.2.15",
438
444
  "@types/react-dom": "^19.2.3",
439
- "postcss": "^8.5.14",
440
- "tailwindcss": "^4.2.4",
445
+ "postcss": "^8.5.15",
446
+ "tailwindcss": "^4.3.0",
441
447
  "tw-animate-css": "^1.4.0",
442
448
  "typescript": "^6.0.3"
443
449
  }
@@ -149,8 +149,8 @@ export default function RootLayout({
149
149
  <html lang="en">
150
150
  <body className="font-sans antialiased">
151
151
  <div className="flex h-screen flex-col">
152
- <header className="border-b bg-background px-4 py-2">
153
- <h1 className="font-semibold text-lg">
152
+ <header className="bg-background border-b px-4 py-2">
153
+ <h1 className="text-lg font-semibold">
154
154
  Assistant Transport Example
155
155
  </h1>
156
156
  </header>
@@ -170,9 +170,11 @@ export default function RootLayout({
170
170
 
171
171
  import {
172
172
  AssistantRuntimeProvider,
173
+ Tools,
173
174
  type AssistantTransportConnectionMetadata,
174
- makeAssistantTool,
175
+ type Toolkit,
175
176
  unstable_createMessageConverter as createMessageConverter,
177
+ useAui,
176
178
  useAssistantTransportRuntime,
177
179
  } from "@assistant-ui/react";
178
180
  import {
@@ -182,48 +184,55 @@ import {
182
184
  import type { ReactNode } from "react";
183
185
  import { z } from "zod";
184
186
 
185
- // Frontend tool with execute function
186
- const WeatherTool = makeAssistantTool({
187
- type: "frontend",
188
- toolName: "get_weather",
189
- description: "Get the current weather for a city",
190
- parameters: z.object({
191
- location: z.string().describe("The city to get weather for"),
192
- unit: z
193
- .enum(["celsius", "fahrenheit"])
194
- .optional()
195
- .describe("Temperature unit"),
196
- }),
197
- execute: async ({ location, unit = "celsius" }) => {
198
- console.log(`Getting weather for ${location} in ${unit}`);
199
- // Simulate API call
200
- await new Promise((resolve) => setTimeout(resolve, 1000));
201
-
202
- const temp = Math.floor(Math.random() * 30) + 10;
203
- const conditions = ["sunny", "cloudy", "rainy", "partly cloudy"];
204
- const condition = conditions[Math.floor(Math.random() * conditions.length)];
205
-
206
- return {
207
- location,
208
- temperature: temp,
209
- unit,
210
- condition,
211
- humidity: Math.floor(Math.random() * 40) + 40,
212
- windSpeed: Math.floor(Math.random() * 20) + 5,
213
- };
214
- },
215
- streamCall: async (reader) => {
216
- console.log("streamCall", reader);
217
- const city = await reader.args.get("location");
218
- console.log("location", city);
187
+ const toolkit = {
188
+ get_weather: {
189
+ type: "frontend",
190
+ description: "Get the current weather for a city",
191
+ parameters: z.object({
192
+ location: z.string().describe("The city to get weather for"),
193
+ unit: z
194
+ .enum(["celsius", "fahrenheit"])
195
+ .optional()
196
+ .describe("Temperature unit"),
197
+ }),
198
+ execute: async ({ location, unit = "celsius" }) => {
199
+ console.log(`Getting weather for ${location} in ${unit}`);
200
+ await new Promise((resolve) => setTimeout(resolve, 1000));
201
+
202
+ const temp = Math.floor(Math.random() * 30) + 10;
203
+ const conditions = ["sunny", "cloudy", "rainy", "partly cloudy"];
204
+ const condition =
205
+ conditions[Math.floor(Math.random() * conditions.length)];
206
+
207
+ return {
208
+ location,
209
+ temperature: temp,
210
+ unit,
211
+ condition,
212
+ humidity: Math.floor(Math.random() * 40) + 40,
213
+ windSpeed: Math.floor(Math.random() * 20) + 5,
214
+ };
215
+ },
216
+ streamCall: async (reader) => {
217
+ console.log("streamCall", reader);
218
+ const city = await reader.args.get("location");
219
+ console.log("location", city);
219
220
 
220
- const args = await reader.args.get();
221
- console.log("args", args);
221
+ const args = await reader.args.get();
222
+ console.log("args", args);
222
223
 
223
- const result = await reader.response.get();
224
- console.log("result", result);
224
+ const result = await reader.response.get();
225
+ console.log("result", result);
226
+ },
227
+ renderText: {
228
+ running: ({ args }) => `Getting weather for ${args.location ?? "..."}`,
229
+ complete: ({ args, result }) =>
230
+ result
231
+ ? `${args.location}: ${result.temperature}° ${result.unit}, ${result.condition}`
232
+ : "Weather lookup complete",
233
+ },
225
234
  },
226
- });
235
+ } satisfies Toolkit;
227
236
 
228
237
  type MyRuntimeProviderProps = {
229
238
  children: ReactNode;
@@ -295,11 +304,12 @@ export function MyRuntimeProvider({ children }: MyRuntimeProviderProps) {
295
304
  console.log("Request cancelled");
296
305
  },
297
306
  });
307
+ const aui = useAui({
308
+ tools: Tools({ toolkit }),
309
+ });
298
310
 
299
311
  return (
300
- <AssistantRuntimeProvider runtime={runtime}>
301
- <WeatherTool />
302
-
312
+ <AssistantRuntimeProvider aui={aui} runtime={runtime}>
303
313
  {children}
304
314
  </AssistantRuntimeProvider>
305
315
  );
@@ -383,6 +393,7 @@ export default function Home() {
383
393
  ## next.config.js
384
394
 
385
395
  ```javascript
396
+ import { withAui } from "@assistant-ui/next";
386
397
  /** @type {import('next').NextConfig} */
387
398
  const nextConfig = {
388
399
  experimental: {
@@ -398,7 +409,7 @@ const nextConfig = {
398
409
  },
399
410
  };
400
411
 
401
- export default nextConfig;
412
+ export default withAui(nextConfig);
402
413
 
403
414
  ```
404
415
 
@@ -422,21 +433,22 @@ export default nextConfig;
422
433
  "@assistant-ui/ui": "workspace:*",
423
434
  "class-variance-authority": "^0.7.1",
424
435
  "clsx": "^2.1.1",
425
- "lucide-react": "^1.14.0",
426
- "next": "^16.2.4",
427
- "react": "^19.2.5",
428
- "react-dom": "^19.2.5",
429
- "tailwind-merge": "^3.5.0",
436
+ "lucide-react": "^1.17.0",
437
+ "next": "^16.2.6",
438
+ "react": "^19.2.6",
439
+ "react-dom": "^19.2.6",
440
+ "tailwind-merge": "^3.6.0",
430
441
  "zod": "^4.4.3"
431
442
  },
432
443
  "devDependencies": {
444
+ "@assistant-ui/next": "workspace:*",
433
445
  "@assistant-ui/x-buildutils": "workspace:*",
434
- "@tailwindcss/postcss": "^4.2.4",
435
- "@types/node": "^25.6.0",
436
- "@types/react": "^19.2.14",
446
+ "@tailwindcss/postcss": "^4.3.0",
447
+ "@types/node": "^25.9.1",
448
+ "@types/react": "^19.2.15",
437
449
  "@types/react-dom": "^19.2.3",
438
- "postcss": "^8.5.14",
439
- "tailwindcss": "^4.2.4",
450
+ "postcss": "^8.5.15",
451
+ "tailwindcss": "^4.3.0",
440
452
  "tw-animate-css": "^1.4.0",
441
453
  "typescript": "^6.0.3"
442
454
  }