@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
@@ -0,0 +1,36 @@
1
+ ---
2
+ title: Speech and Dictation
3
+ description: Connect speech synthesis and dictation adapters to assistant-ui voice and composer workflows.
4
+ ---
5
+
6
+ import { DictationAdapter, DictationState, SpeechSynthesisAdapter, WebSpeechDictationAdapter, WebSpeechSynthesisAdapter } from "@/generated/typeDocs";
7
+
8
+ {/* AUTO-GENERATED PAGE by scripts/generate-api-reference.mts */}
9
+ {/* Do not edit manually. */}
10
+
11
+ {/* api-reference:start */}
12
+ {/* AUTO-GENERATED by scripts/generate-api-reference.mts */}
13
+ {/* Do not edit this block manually. */}
14
+
15
+ ## API Reference
16
+
17
+ ### DictationAdapter
18
+
19
+ <ParametersTable {...DictationAdapter} />
20
+
21
+ ### DictationState
22
+
23
+ <ParametersTable {...DictationState} />
24
+
25
+ ### SpeechSynthesisAdapter
26
+
27
+ <ParametersTable {...SpeechSynthesisAdapter} />
28
+
29
+ ### WebSpeechDictationAdapter
30
+
31
+ <ParametersTable {...WebSpeechDictationAdapter} />
32
+
33
+ ### WebSpeechSynthesisAdapter
34
+
35
+ <ParametersTable {...WebSpeechSynthesisAdapter} />
36
+ {/* api-reference:end */}
@@ -3,8 +3,6 @@ title: AI SDK
3
3
  description: Add cloud persistence to your existing AI SDK app with a single hook.
4
4
  ---
5
5
 
6
- import { InstallCommand } from "@/components/docs/fumadocs/install/install-command";
7
-
8
6
  ## Overview
9
7
 
10
8
  The `@assistant-ui/cloud-ai-sdk` package provides a single hook that adds full message and thread persistence to any [AI SDK](https://sdk.vercel.ai/) application:
@@ -380,7 +378,7 @@ The `useCloudChat` hook automatically reports run telemetry to Assistant Cloud a
380
378
  **Requires route configuration:**
381
379
  - `model_id` — The model used for the response
382
380
  - `input_tokens` / `output_tokens` — Token usage statistics
383
- - `reasoning_tokens` — Tokens used for chain-of-thought reasoning (e.g. o1/o3 models)
381
+ - `reasoning_tokens` — Tokens used for chain-of-thought reasoning (e.g. GPT-5.4 Mini or GPT-5.5 models)
384
382
  - `cached_input_tokens` — Input tokens served from the provider's prompt cache
385
383
 
386
384
  To capture model and usage data, configure the `messageMetadata` callback in your AI SDK route:
@@ -1,6 +1,6 @@
1
1
  ---
2
- title: Overview
3
- description: Add thread persistence and chat history to your AI app in minutes.
2
+ title: Cloud Persistence
3
+ description: Add managed thread persistence and chat history to your AI app in minutes — assistant-ui Cloud handles thread sync, search, and multi-tenant storage.
4
4
  ---
5
5
 
6
6
  Assistant Cloud is a hosted service that adds thread management, message persistence, and user authorization to AI chat applications. It works with any React UI—whether you use assistant-ui components or your own.
@@ -1,6 +1,6 @@
1
1
  ---
2
- title: Attachments
3
- description: Let users attach files, images, and documents to messages.
2
+ title: File Attachments
3
+ description: Let users attach images, PDFs, and other files to AI chat messages in React. Drag-drop, paste, and vision-model support, built into assistant-ui.
4
4
  platforms: ["react"]
5
5
  ---
6
6
 
@@ -118,7 +118,7 @@ Build your own adapters for specialized file handling. Below are complete exampl
118
118
 
119
119
  ### Vision-Capable Image Adapter
120
120
 
121
- Send images to vision-capable LLMs like GPT-4V, Claude 3, or Gemini Pro Vision:
121
+ Send images to vision-capable LLMs like GPT-5.4, Claude Sonnet 4.6, or Gemini Pro Vision:
122
122
 
123
123
  ```tsx
124
124
  import {
@@ -276,7 +276,7 @@ const MyModelAdapter: ChatModelAdapter = {
276
276
  msg.role === "user" &&
277
277
  msg.content.some((part) => part.type === "image")
278
278
  ) {
279
- // Format for GPT-4V or similar vision models
279
+ // Format for GPT-5.4 or similar vision models
280
280
  return {
281
281
  role: "user",
282
282
  content: msg.content.map((part) => {
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  title: Message Branching
3
- description: Navigate between alternative message versions created by editing or reloading.
3
+ description: Edit messages or regenerate AI responses, then switch between alternative replies. Branching navigation built into assistant-ui's React chat UI.
4
4
  platforms: ["react"]
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
- title: Chain of Thought
3
- description: Group reasoning and tool calls into a collapsible accordion UI.
2
+ title: Chain of Thought UI
3
+ description: Show AI reasoning steps and tool calls in a collapsible thinking accordion. Build chain-of-thought visualizations in React chat with assistant-ui.
4
4
  platforms: ["react"]
5
5
  ---
6
6
 
@@ -8,7 +8,7 @@ LLMs often produce reasoning steps and tool calls in succession. Chain of Though
8
8
 
9
9
  ## Overview
10
10
 
11
- When a model like OpenAI's `o4-mini` responds, it may emit a sequence of reasoning tokens and tool calls before producing its final text answer. Use `MessagePrimitive.GroupedParts` to group those adjacent reasoning and tool-call parts into a single collapsible "thinking" section.
11
+ When a reasoning model responds, it may emit a sequence of reasoning tokens and tool calls before producing its final text answer. Use `MessagePrimitive.GroupedParts` to group those adjacent reasoning and tool-call parts into a single collapsible "thinking" section.
12
12
 
13
13
  <Callout type="info">
14
14
  The older `components.ChainOfThought` prop on `MessagePrimitive.Parts` and `components` prop on `ChainOfThoughtPrimitive.Parts` are legacy APIs. They still work for existing code, but new code should use `MessagePrimitive.GroupedParts`.
@@ -26,6 +26,7 @@ Return the same top-level group for reasoning and tool calls, with nested groups
26
26
  ```tsx
27
27
  import {
28
28
  MessagePrimitive,
29
+ groupPartByType,
29
30
  } from "@assistant-ui/react";
30
31
  import { MarkdownText } from "@/components/assistant-ui/markdown-text";
31
32
  import {
@@ -47,13 +48,10 @@ const AssistantMessage: FC = () => {
47
48
  return (
48
49
  <MessagePrimitive.Root>
49
50
  <MessagePrimitive.GroupedParts
50
- groupBy={(part) => {
51
- if (part.type === "reasoning")
52
- return ["group-chainOfThought", "group-reasoning"];
53
- if (part.type === "tool-call")
54
- return ["group-chainOfThought", "group-tool"];
55
- return null;
56
- }}
51
+ groupBy={groupPartByType({
52
+ reasoning: ["group-chainOfThought", "group-reasoning"],
53
+ "tool-call": ["group-chainOfThought", "group-tool"],
54
+ })}
57
55
  >
58
56
  {({ part, children }) => {
59
57
  switch (part.type) {
@@ -101,7 +99,7 @@ const AssistantMessage: FC = () => {
101
99
 
102
100
  ### Use a Reasoning Model
103
101
 
104
- Chain of Thought is most useful with models that produce reasoning tokens (e.g. OpenAI `o4-mini`). Here's an example backend route using the AI SDK:
102
+ Chain of Thought is most useful with models that produce reasoning tokens. Here's an example backend route using the AI SDK:
105
103
 
106
104
  ```tsx title="app/api/chat/route.ts"
107
105
  import { openai } from "@ai-sdk/openai";
@@ -111,7 +109,7 @@ export async function POST(req: Request) {
111
109
  const { messages } = await req.json();
112
110
 
113
111
  const result = streamText({
114
- model: openai("o4-mini"),
112
+ model: openai("gpt-5.4-mini"),
115
113
  messages: await convertToModelMessages(messages),
116
114
  });
117
115
 
@@ -162,5 +160,5 @@ See the complete [with-chain-of-thought example](https://github.com/assistant-ui
162
160
  ## Related Guides
163
161
 
164
162
  - [Reasoning](/docs/ui/reasoning) — reasoning UI primitives for grouped parts
165
- - [Generative UI](/docs/guides/tool-ui) — custom UI for tool calls
166
- - [Tools](/docs/guides/tools) — defining and using tools
163
+ - [Generative UI](/docs/tools/tool-ui) — custom UI for tool calls
164
+ - [Tools](/docs/tools/defining-tools) — defining and using tools
@@ -1,6 +1,6 @@
1
1
  ---
2
- title: Context API
3
- description: Read and update assistant state to build custom components.
2
+ title: Assistant Context API
3
+ description: Read and update assistant state to build custom React components in your chat UI — composable context API for thread, message, and runtime data via assistant-ui.
4
4
  platforms: ["react"]
5
5
  ---
6
6
 
@@ -219,6 +219,7 @@ aui.threads().getState();
219
219
  // ThreadListItem actions
220
220
  aui.threadListItem().switchTo();
221
221
  aui.threadListItem().rename(title);
222
+ aui.threadListItem().updateCustom(custom);
222
223
  aui.threadListItem().archive();
223
224
  aui.threadListItem().unarchive();
224
225
  aui.threadListItem().delete();
@@ -258,8 +259,8 @@ useAuiEvent("composer.send", (event) => {
258
259
  });
259
260
 
260
261
  // Listen to thread events
261
- useAuiEvent("thread.runStart", (event) => {
262
- console.log("Run started in thread:", event.threadId);
262
+ useAuiEvent("thread.modelContextUpdate", (event) => {
263
+ console.log("Model context updated in thread:", event.threadId);
263
264
  });
264
265
 
265
266
  // Listen to all events of a type across all scopes
@@ -517,7 +518,7 @@ The table below covers the most commonly used actions. For the full catalog, see
517
518
  | Scope | Actions | Use Cases |
518
519
  | -------------- | ----------------------------------------------------------------------------------------------------------------- | ------------------------------------------ |
519
520
  | ThreadList | `switchToNewThread()`, `switchToThread(id)`, `reload()`, `getLoadThreadsPromise()`, `item(selector)`, `thread("main")`, `getState()` | Thread navigation, creation, and sync |
520
- | ThreadListItem | `switchTo()`, `rename(title)`, `archive()`, `unarchive()`, `delete()`, `getState()` | Thread management operations |
521
+ | ThreadListItem | `switchTo()`, `rename(title)`, `updateCustom(custom)`, `archive()`, `unarchive()`, `delete()`, `getState()` | Thread management operations |
521
522
  | Thread | `append(message)`, `startRun(config)`, `resumeRun(config)`, `cancelRun()`, `reset()`, `export()`, `import(repository)`, `message(selector)`, `composer()`, `getState()` | Message handling and conversation control |
522
523
  | Message | `reload()`, `speak()`, `stopSpeaking()`, `submitFeedback(feedback)`, `switchToBranch(options)`, `getCopyText()`, `part(selector)`, `attachment(selector)`, `composer()`, `setIsCopied(value)`, `setIsHovering(value)`, `getState()` | Message interactions and regeneration |
523
524
  | Part | `addToolResult(result)`, `resumeToolCall(result)`, `getState()` | Tool call result handling |
@@ -1,6 +1,6 @@
1
1
  ---
2
- title: Speech-to-Text (Dictation)
3
- description: Let users speak into the composer using Web Speech API or a custom dictation adapter.
2
+ title: Speech-to-Text Dictation
3
+ description: Add voice dictation to your AI chat composer with the Web Speech API or a custom adapter. Speech-to-text in React, integrated through assistant-ui.
4
4
  platforms: ["react"]
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  title: Message Editing
3
- description: Allow users to edit their messages with custom editor interfaces.
3
+ description: Let users edit their messages and regenerate AI responses with custom editor interfaces. Edit-and-resubmit patterns for React chat via assistant-ui.
4
4
  platforms: ["react"]
5
5
  ---
6
6
 
@@ -0,0 +1,74 @@
1
+ ---
2
+ title: Image Generation
3
+ description: Generate images in your backend and render them inline in an assistant-ui thread.
4
+ ---
5
+
6
+ Image generation needs no dedicated primitive. Generate the image wherever you already run model calls (a route handler or a tool), store the result as an `ImageMessagePart`, and render it with the `@assistant-ui/ui` `Image` component.
7
+
8
+ <Callout type="info">
9
+ This covers non-streaming generation, rendering, and actions. Streaming partial images and multi-image galleries are out of scope.
10
+ </Callout>
11
+
12
+ ## Generate in your backend
13
+
14
+ Call your provider from a server route. With the AI SDK that is `generateImage`; return the image as a data URI (or an object-store URL) plus any provider metadata you want to keep.
15
+
16
+ ```ts
17
+ // app/api/image/route.ts
18
+ import { generateImage } from "ai";
19
+ import { openai } from "@ai-sdk/openai";
20
+
21
+ export async function POST(req: Request) {
22
+ const { prompt } = await req.json();
23
+ const result = await generateImage({
24
+ model: openai.image("gpt-image-1"),
25
+ prompt,
26
+ });
27
+ const revisedPrompt = (
28
+ result.providerMetadata as
29
+ | Record<string, Record<string, unknown>>
30
+ | undefined
31
+ )?.openai?.revisedPrompt;
32
+ return Response.json({
33
+ image: `data:${result.image.mediaType};base64,${result.image.base64}`,
34
+ mimeType: result.image.mediaType,
35
+ ...(typeof revisedPrompt === "string" && { revisedPrompt }),
36
+ });
37
+ }
38
+ ```
39
+
40
+ The model provider is irrelevant to rendering; swap `openai.image(...)` for any AI SDK image model.
41
+
42
+ ## Store it as an `ImageMessagePart`
43
+
44
+ An `ImageMessagePart` only needs `image` (a `data:` URI, an `https://` URL, or a `blob:` URL) plus an optional `filename`. Keep any provenance you want to display, the prompt, a revised prompt, a model id, in your own component state or in message metadata; the part itself stays minimal.
45
+
46
+ ```ts
47
+ const part: ImageMessagePart = {
48
+ type: "image",
49
+ image: result.image, // data:, https://, or blob: URL
50
+ };
51
+ ```
52
+
53
+ ## Render with the `Image` component
54
+
55
+ The `Image` component in `@assistant-ui/ui` handles the render states for you:
56
+
57
+ 1. **Running** (`status.type === "running"`) renders a spinner.
58
+ 2. **Content filter** (`status.type === "incomplete"` with `reason: "content-filter"`) renders an error card with no `<img src>`.
59
+ 3. **Complete** renders a zoomable `<img>` with optional `Image.Actions`.
60
+
61
+ `Image.Actions` provides download and copy buttons, plus a regenerate button when you pass an `onRegenerate` callback. Wire it to the same generation flow you used above; debounce, rate limiting, and confirmation are your call.
62
+
63
+ ```tsx
64
+ import { Image } from "@assistant-ui/ui";
65
+
66
+ <>
67
+ <Image {...imagePart} />
68
+ <Image.Actions part={imagePart} onRegenerate={() => regenerate(prompt)} />
69
+ </>;
70
+ ```
71
+
72
+ ## Example
73
+
74
+ A complete Next.js example (with a mock fallback when `OPENAI_API_KEY` is unset) lives in [`examples/with-image-generation`](https://github.com/assistant-ui/assistant-ui/tree/main/examples/with-image-generation).
@@ -1,6 +1,6 @@
1
1
  ---
2
- title: Overview
3
- description: Practical patterns for building features with assistant-ui.
2
+ title: Guides
3
+ description: Practical recipes for building AI chat features in React with assistant-ui — attachments, branching, multi-agent, voice, slash commands, generative UI, and more.
4
4
  platforms: ["react"]
5
5
  ---
6
6
 
@@ -49,20 +49,11 @@ Customize how messages render, are edited, branched, and suggested.
49
49
 
50
50
  ## Tools & Generative UI
51
51
 
52
- Connect tools to the LLM and render their outputs as interactive UI.
52
+ Tool calling and generative UI have their own [Tools](/docs/tools) section — defining toolkits, rendering tool calls, interactables, MCP, and multi-agent UIs.
53
53
 
54
54
  <Cards>
55
- <Card title="Tools" href="/docs/guides/tools">
56
- Define tools with the Toolkit API, stream args, handle cancellation, and integrate with AI SDK / LangGraph / LangChain.
57
- </Card>
58
- <Card title="Tool UI" href="/docs/guides/tool-ui">
59
- Render tool calls and `DataMessagePart` into custom components, with fallback handling.
60
- </Card>
61
- <Card title="Interactables" href="/docs/guides/interactables">
62
- Persisted, schema-validated interactive UI driven by AI state.
63
- </Card>
64
- <Card title="Multi-Agent" href="/docs/guides/multi-agent">
65
- Sub-agent message attribution via `ToolCallMessagePart.messages` and LangGraph subgraph events.
55
+ <Card title="Tools" href="/docs/tools">
56
+ Define toolkits, render tool calls, connect MCP servers, and build generative UI.
66
57
  </Card>
67
58
  </Cards>
68
59
 
@@ -1,6 +1,6 @@
1
1
  ---
2
- title: LaTeX
3
- description: Render mathematical expressions in chat messages using KaTeX.
2
+ title: LaTeX in Chat Messages
3
+ description: Render LaTeX math expressions in AI chat messages with KaTeX — drop-in equation support for React chat UIs built on assistant-ui.
4
4
  platforms: ["react"]
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
- title: Mentions
3
- description: Let users @-mention tools or custom items in the composer to guide the LLM.
2
+ title: Mentions in Chat
3
+ description: Let users @-mention tools or custom items in the AI chat composer to guide the LLM. Mention picker built into assistant-ui's React composer.
4
4
  platforms: ["react"]
5
5
  ---
6
6
 
@@ -144,7 +144,7 @@ Pass the adapter to `TriggerPopover` and declare a `Directive` sub-primitive to
144
144
 
145
145
  ```tsx
146
146
  import { ComposerPrimitive } from "@assistant-ui/react";
147
- import { unstable_defaultDirectiveFormatter } from "@assistant-ui/core";
147
+ import { unstable_defaultDirectiveFormatter } from "@assistant-ui/react";
148
148
 
149
149
  <ComposerPrimitive.Unstable_TriggerPopoverRoot>
150
150
  <ComposerPrimitive.Root>
@@ -198,7 +198,7 @@ import { unstable_useMentionAdapter } from "@assistant-ui/react";
198
198
 
199
199
  const mention = unstable_useMentionAdapter();
200
200
  // → { adapter, directive } — spread into <ComposerTriggerPopover {...mention} />
201
- // Default: single "Tools" category reading from useAssistantTool registrations
201
+ // Default: single "Tools" category reading from toolkit registrations
202
202
  ```
203
203
 
204
204
  **Custom items only (no tools):**
@@ -302,7 +302,7 @@ When `id` equals `label`, the `{name=…}` attribute is omitted for brevity:
302
302
  Implement `Unstable_DirectiveFormatter` to use a different format:
303
303
 
304
304
  ```ts
305
- import type { Unstable_DirectiveFormatter } from "@assistant-ui/core";
305
+ import type { Unstable_DirectiveFormatter } from "@assistant-ui/react";
306
306
 
307
307
  const slashFormatter: Unstable_DirectiveFormatter = {
308
308
  serialize(item) {
@@ -516,5 +516,5 @@ Mentions and slash commands coexist on the same composer. See [Combining Slash C
516
516
  - [ComposerTriggerPopover UI Component](/docs/ui/composer-trigger-popover) — pre-built shadcn component
517
517
  - [DirectiveText UI Component](/docs/ui/directive-text) — renders mention chips in user messages
518
518
  - [Slash Commands Guide](/docs/guides/slash-commands) — `/` command system built on the same architecture
519
- - [Tools Guide](/docs/guides/tools) — register tools that appear in the mention picker
519
+ - [Tools Guide](/docs/tools/defining-tools) — register tools that appear in the mention picker
520
520
  - [Composer Primitives](/docs/primitives/composer) — underlying composer primitives
@@ -1,6 +1,6 @@
1
1
  ---
2
- title: Message Timing
3
- description: Display stream timing metadata like duration, tokens per second, and time to first token.
2
+ title: Message Timing & Token Stats
3
+ description: Display stream metadata in AI chat — generation duration, tokens per second, and time to first token, rendered via assistant-ui's React components.
4
4
  platforms: ["react"]
5
5
  ---
6
6
 
@@ -76,9 +76,9 @@ const AssistantMessage: FC = () => {
76
76
  | AI SDK (`useChatRuntime`) | Yes | Automatic via client-side tracking |
77
77
  | Local (`useLocalRuntime`) | Yes | Pass timing in `ChatModelRunResult.metadata` |
78
78
  | ExternalStore | Yes | Pass timing in `ThreadMessageLike.metadata` |
79
- | LangGraph | No | Not yet implemented |
80
- | AG-UI | No | Not yet implemented |
81
- | OpenCode | No | Not yet implemented |
79
+ | LangGraph | Yes | Automatic via client-side tracking |
80
+ | AG-UI | Yes | Automatic via client-side tracking |
81
+ | OpenCode | Yes | Automatic via client-side tracking |
82
82
 
83
83
  ### Data Stream
84
84
 
@@ -163,6 +163,39 @@ const message: ThreadMessageLike = {
163
163
  };
164
164
  ```
165
165
 
166
+ ### LangGraph (`useLangGraphRuntime`)
167
+
168
+ Timing is tracked automatically on the client side by observing streaming state transitions and `LangChainMessage` content changes. No setup required.
169
+
170
+ ```tsx
171
+ import { useLangGraphRuntime } from "@assistant-ui/react-langgraph";
172
+
173
+ const runtime = useLangGraphRuntime({ stream: myStream });
174
+ // useMessageTiming() works out of the box
175
+ ```
176
+
177
+ ### AG-UI (`useAgUiThreadRuntime`)
178
+
179
+ Timing is tracked automatically on the client side by the AG-UI run aggregator. Each emitted message includes timing metadata computed from stream chunk observations.
180
+
181
+ ```tsx
182
+ import { useAgUiThreadRuntime } from "@assistant-ui/react-ag-ui";
183
+
184
+ const runtime = useAgUiThreadRuntime({ runtimeUrl: "..." });
185
+ // useMessageTiming() works out of the box
186
+ ```
187
+
188
+ ### OpenCode (`useOpenCodeRuntime`)
189
+
190
+ Timing is tracked automatically on the client side by observing `OpenCodeThreadState` transitions and assistant message content deltas. No setup required.
191
+
192
+ ```tsx
193
+ import { useOpenCodeRuntime } from "@assistant-ui/react-opencode";
194
+
195
+ const runtime = useOpenCodeRuntime();
196
+ // useMessageTiming() works out of the box
197
+ ```
198
+
166
199
  ## API Reference
167
200
 
168
201
  ### `useMessageTiming()`
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  title: Quote Selected Text
3
- description: Let users select and quote text from messages. Full guide including backend handling and programmatic API.
3
+ description: Let users select text from AI messages and quote it back into the composer. Full quoting flow with backend handling and programmatic API in assistant-ui.
4
4
  platforms: ["react"]
5
5
  ---
6
6