@assistant-ui/mcp-docs-server 0.1.30 → 0.1.32

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 (341) hide show
  1. package/.docs/organized/code-examples/waterfall.md +8 -8
  2. package/.docs/organized/code-examples/with-a2a.md +10 -10
  3. package/.docs/organized/code-examples/with-ag-ui.md +12 -12
  4. package/.docs/organized/code-examples/with-ai-sdk-v6.md +14 -14
  5. package/.docs/organized/code-examples/with-artifacts.md +14 -14
  6. package/.docs/organized/code-examples/with-assistant-transport.md +11 -11
  7. package/.docs/organized/code-examples/with-browser-extension.md +345 -0
  8. package/.docs/organized/code-examples/with-chain-of-thought.md +129 -63
  9. package/.docs/organized/code-examples/with-cloud-standalone.md +13 -13
  10. package/.docs/organized/code-examples/with-cloud.md +13 -13
  11. package/.docs/organized/code-examples/with-custom-thread-list.md +65 -20
  12. package/.docs/organized/code-examples/with-elevenlabs-conversational.md +18 -17
  13. package/.docs/organized/code-examples/with-elevenlabs-scribe.md +18 -17
  14. package/.docs/organized/code-examples/with-expo.md +25 -25
  15. package/.docs/organized/code-examples/with-external-store.md +10 -10
  16. package/.docs/organized/code-examples/with-ffmpeg.md +14 -14
  17. package/.docs/organized/code-examples/with-generative-ui.md +211 -14
  18. package/.docs/organized/code-examples/with-google-adk.md +12 -12
  19. package/.docs/organized/code-examples/with-heat-graph.md +8 -8
  20. package/.docs/organized/code-examples/with-image-generation.md +454 -0
  21. package/.docs/organized/code-examples/with-interactables.md +14 -14
  22. package/.docs/organized/code-examples/with-langchain.md +12 -12
  23. package/.docs/organized/code-examples/with-langgraph.md +15 -12
  24. package/.docs/organized/code-examples/with-livekit.md +19 -18
  25. package/.docs/organized/code-examples/with-mcp.md +748 -0
  26. package/.docs/organized/code-examples/with-opencode.md +107 -62
  27. package/.docs/organized/code-examples/with-parent-id-grouping.md +12 -12
  28. package/.docs/organized/code-examples/with-react-hook-form.md +14 -14
  29. package/.docs/organized/code-examples/with-react-ink.md +4 -4
  30. package/.docs/organized/code-examples/with-react-router.md +16 -16
  31. package/.docs/organized/code-examples/with-resumable-stream.md +660 -0
  32. package/.docs/organized/code-examples/with-store.md +8 -8
  33. package/.docs/organized/code-examples/with-tanstack.md +14 -14
  34. package/.docs/organized/code-examples/with-tap-runtime.md +11 -10
  35. package/.docs/raw/docs/(docs)/cli.mdx +3 -1
  36. package/.docs/raw/docs/(docs)/copilots/assistant-frame.mdx +1 -0
  37. package/.docs/raw/docs/(docs)/copilots/make-assistant-tool-ui.mdx +10 -3
  38. package/.docs/raw/docs/(docs)/copilots/make-assistant-tool.mdx +8 -3
  39. package/.docs/raw/docs/(docs)/copilots/make-assistant-visible.mdx +1 -0
  40. package/.docs/raw/docs/(docs)/copilots/model-context.mdx +1 -0
  41. package/.docs/raw/docs/(docs)/copilots/motivation.mdx +1 -0
  42. package/.docs/raw/docs/(docs)/copilots/use-assistant-instructions.mdx +1 -0
  43. package/.docs/raw/docs/(docs)/devtools.mdx +1 -0
  44. package/.docs/raw/docs/(docs)/index.mdx +3 -2
  45. package/.docs/raw/docs/(docs)/installation.mdx +2 -1
  46. package/.docs/raw/docs/(docs)/rtl.mdx +1 -0
  47. package/.docs/raw/docs/(reference)/api-reference/adapters/attachments.mdx +36 -0
  48. package/.docs/raw/docs/(reference)/api-reference/adapters/feedback.mdx +20 -0
  49. package/.docs/raw/docs/(reference)/api-reference/adapters/index.mdx +34 -0
  50. package/.docs/raw/docs/(reference)/api-reference/adapters/model.mdx +44 -0
  51. package/.docs/raw/docs/(reference)/api-reference/adapters/persistence.mdx +55 -0
  52. package/.docs/raw/docs/(reference)/api-reference/adapters/runtime.mdx +20 -0
  53. package/.docs/raw/docs/(reference)/api-reference/adapters/suggestions.mdx +20 -0
  54. package/.docs/raw/docs/(reference)/api-reference/context-providers/assistant-runtime-provider.mdx +37 -8
  55. package/.docs/raw/docs/(reference)/api-reference/context-providers/index.mdx +22 -0
  56. package/.docs/raw/docs/(reference)/api-reference/context-providers/scoped-providers.mdx +64 -0
  57. package/.docs/raw/docs/(reference)/api-reference/external-store/index.mdx +22 -0
  58. package/.docs/raw/docs/(reference)/api-reference/external-store/message-conversion.mdx +52 -0
  59. package/.docs/raw/docs/(reference)/api-reference/external-store/runtime.mdx +36 -0
  60. package/.docs/raw/docs/(reference)/api-reference/hooks/composer-triggers.mdx +98 -0
  61. package/.docs/raw/docs/(reference)/api-reference/hooks/index.mdx +31 -0
  62. package/.docs/raw/docs/(reference)/api-reference/hooks/model-context.mdx +33 -0
  63. package/.docs/raw/docs/(reference)/api-reference/hooks/primitives.mdx +640 -0
  64. package/.docs/raw/docs/(reference)/api-reference/hooks/runtimes.mdx +28 -0
  65. package/.docs/raw/docs/(reference)/api-reference/hooks/state.mdx +94 -0
  66. package/.docs/raw/docs/(reference)/api-reference/hooks/utilities.mdx +464 -0
  67. package/.docs/raw/docs/(reference)/api-reference/integrations/cloud-ai-sdk.mdx +24 -0
  68. package/.docs/raw/docs/(reference)/api-reference/integrations/index.mdx +22 -0
  69. package/.docs/raw/docs/(reference)/api-reference/integrations/react-ai-sdk.mdx +79 -0
  70. package/.docs/raw/docs/(reference)/api-reference/model-context/context.mdx +52 -0
  71. package/.docs/raw/docs/(reference)/api-reference/model-context/index.mdx +22 -0
  72. package/.docs/raw/docs/(reference)/api-reference/model-context/registry.mdx +20 -0
  73. package/.docs/raw/docs/(reference)/api-reference/overview.mdx +125 -125
  74. package/.docs/raw/docs/(reference)/api-reference/primitives/action-bar-more.mdx +78 -221
  75. package/.docs/raw/docs/(reference)/api-reference/primitives/action-bar.mdx +127 -242
  76. package/.docs/raw/docs/(reference)/api-reference/primitives/assistant-if.mdx +46 -20
  77. package/.docs/raw/docs/(reference)/api-reference/primitives/assistant-modal.mdx +66 -87
  78. package/.docs/raw/docs/(reference)/api-reference/primitives/attachment.mdx +50 -58
  79. package/.docs/raw/docs/(reference)/api-reference/primitives/branch-picker.mdx +80 -48
  80. package/.docs/raw/docs/(reference)/api-reference/primitives/chain-of-thought.mdx +67 -0
  81. package/.docs/raw/docs/(reference)/api-reference/primitives/composer.mdx +323 -461
  82. package/.docs/raw/docs/(reference)/api-reference/primitives/error.mdx +36 -43
  83. package/.docs/raw/docs/(reference)/api-reference/primitives/index.mdx +70 -0
  84. package/.docs/raw/docs/(reference)/api-reference/primitives/message-part.mdx +63 -245
  85. package/.docs/raw/docs/(reference)/api-reference/primitives/message.mdx +182 -554
  86. package/.docs/raw/docs/(reference)/api-reference/primitives/queue-item.mdx +65 -0
  87. package/.docs/raw/docs/(reference)/api-reference/primitives/selection-toolbar.mdx +35 -22
  88. package/.docs/raw/docs/(reference)/api-reference/primitives/suggestion.mdx +57 -140
  89. package/.docs/raw/docs/(reference)/api-reference/primitives/thread-list-item-more.mdx +70 -161
  90. package/.docs/raw/docs/(reference)/api-reference/primitives/thread-list-item.mdx +84 -108
  91. package/.docs/raw/docs/(reference)/api-reference/primitives/thread-list.mdx +82 -86
  92. package/.docs/raw/docs/(reference)/api-reference/primitives/thread.mdx +173 -314
  93. package/.docs/raw/docs/(reference)/api-reference/runtimes/assistant-runtime.mdx +9 -21
  94. package/.docs/raw/docs/(reference)/api-reference/runtimes/attachment-runtime.mdx +10 -21
  95. package/.docs/raw/docs/(reference)/api-reference/runtimes/composer-runtime.mdx +15 -70
  96. package/.docs/raw/docs/(reference)/api-reference/runtimes/index.mdx +43 -0
  97. package/.docs/raw/docs/(reference)/api-reference/runtimes/message-part-runtime.mdx +25 -28
  98. package/.docs/raw/docs/(reference)/api-reference/runtimes/message-runtime.mdx +11 -63
  99. package/.docs/raw/docs/(reference)/api-reference/runtimes/queue-state.mdx +20 -0
  100. package/.docs/raw/docs/(reference)/api-reference/runtimes/thread-list-item-runtime.mdx +11 -48
  101. package/.docs/raw/docs/(reference)/api-reference/runtimes/thread-list-runtime.mdx +10 -42
  102. package/.docs/raw/docs/(reference)/api-reference/runtimes/thread-runtime.mdx +18 -30
  103. package/.docs/raw/docs/(reference)/api-reference/tools/component-tools.mdx +68 -0
  104. package/.docs/raw/docs/(reference)/api-reference/tools/index.mdx +39 -0
  105. package/.docs/raw/docs/(reference)/api-reference/tools/rendering.mdx +79 -0
  106. package/.docs/raw/docs/(reference)/api-reference/tools/status.mdx +42 -0
  107. package/.docs/raw/docs/(reference)/api-reference/tools/toolkits.mdx +92 -0
  108. package/.docs/raw/docs/(reference)/api-reference/transport/assistant-transport.mdx +48 -0
  109. package/.docs/raw/docs/(reference)/api-reference/transport/frame.mdx +62 -0
  110. package/.docs/raw/docs/(reference)/api-reference/transport/index.mdx +22 -0
  111. package/.docs/raw/docs/(reference)/api-reference/utilities/index.mdx +19 -0
  112. package/.docs/raw/docs/(reference)/api-reference/utilities/miscellaneous.mdx +131 -0
  113. package/.docs/raw/docs/(reference)/api-reference/voice/index.mdx +22 -0
  114. package/.docs/raw/docs/(reference)/api-reference/voice/session.mdx +54 -0
  115. package/.docs/raw/docs/(reference)/api-reference/voice/speech-dictation.mdx +36 -0
  116. package/.docs/raw/docs/cloud/ai-sdk-assistant-ui.mdx +230 -2
  117. package/.docs/raw/docs/cloud/ai-sdk.mdx +222 -4
  118. package/.docs/raw/docs/cloud/index.mdx +2 -2
  119. package/.docs/raw/docs/cloud/langgraph.mdx +274 -2
  120. package/.docs/raw/docs/{(docs)/guides → guides}/attachments.mdx +45 -40
  121. package/.docs/raw/docs/guides/branching.mdx +76 -0
  122. package/.docs/raw/docs/guides/chain-of-thought.mdx +166 -0
  123. package/.docs/raw/docs/{(docs)/guides → guides}/context-api.mdx +54 -26
  124. package/.docs/raw/docs/{(docs)/guides → guides}/dictation.mdx +3 -1
  125. package/.docs/raw/docs/guides/editing.mdx +102 -0
  126. package/.docs/raw/docs/guides/generative-ui.mdx +142 -0
  127. package/.docs/raw/docs/guides/image-generation.mdx +74 -0
  128. package/.docs/raw/docs/guides/index.mdx +103 -0
  129. package/.docs/raw/docs/{(docs)/guides → guides}/interactables.mdx +51 -2
  130. package/.docs/raw/docs/{(docs)/guides → guides}/latex.mdx +53 -10
  131. package/.docs/raw/docs/guides/mcp-apps.mdx +231 -0
  132. package/.docs/raw/docs/{(docs)/guides → guides}/mentions.mdx +63 -88
  133. package/.docs/raw/docs/{(docs)/guides → guides}/message-timing.mdx +45 -6
  134. package/.docs/raw/docs/{(docs)/guides → guides}/multi-agent.mdx +66 -6
  135. package/.docs/raw/docs/{(docs)/guides → guides}/quoting.mdx +11 -18
  136. package/.docs/raw/docs/guides/resumable-stream-deployment.mdx +212 -0
  137. package/.docs/raw/docs/guides/resumable-stream-stores.mdx +152 -0
  138. package/.docs/raw/docs/guides/resumable-streams.mdx +210 -0
  139. package/.docs/raw/docs/{(docs)/guides → guides}/slash-commands.mdx +104 -38
  140. package/.docs/raw/docs/guides/speech.mdx +156 -0
  141. package/.docs/raw/docs/{(docs)/guides → guides}/suggestions.mdx +91 -69
  142. package/.docs/raw/docs/{(docs)/guides → guides}/tool-ui.mdx +110 -38
  143. package/.docs/raw/docs/{(docs)/guides → guides}/tools.mdx +197 -40
  144. package/.docs/raw/docs/{(docs)/guides → guides}/voice.mdx +41 -2
  145. package/.docs/raw/docs/ink/adapters.mdx +37 -1
  146. package/.docs/raw/docs/ink/custom-backend.mdx +59 -8
  147. package/.docs/raw/docs/ink/index.mdx +11 -14
  148. package/.docs/raw/docs/ink/migration.mdx +1 -3
  149. package/.docs/raw/docs/ink/primitives.mdx +386 -9
  150. package/.docs/raw/docs/integrations/attachments/custom-adapter.mdx +520 -0
  151. package/.docs/raw/docs/integrations/auth/better-auth.mdx +191 -0
  152. package/.docs/raw/docs/integrations/auth/clerk.mdx +172 -0
  153. package/.docs/raw/docs/integrations/auth/next-auth.mdx +196 -0
  154. package/.docs/raw/docs/integrations/frameworks/ai-sdk.mdx +79 -0
  155. package/.docs/raw/docs/integrations/frameworks/cloudflare-agents/overview.mdx +282 -0
  156. package/.docs/raw/docs/integrations/frameworks/mastra/full-stack.mdx +188 -0
  157. package/.docs/raw/docs/integrations/frameworks/mastra/overview.mdx +57 -0
  158. package/.docs/raw/docs/integrations/frameworks/mastra/separate-server.mdx +201 -0
  159. package/.docs/raw/docs/integrations/gateways/index.mdx +162 -0
  160. package/.docs/raw/docs/integrations/index.mdx +185 -0
  161. package/.docs/raw/docs/integrations/observability/helicone.mdx +130 -0
  162. package/.docs/raw/docs/integrations/observability/langfuse.mdx +163 -0
  163. package/.docs/raw/docs/integrations/observability/langsmith.mdx +150 -0
  164. package/.docs/raw/docs/integrations/persistence/custom-adapter.mdx +712 -0
  165. package/.docs/raw/docs/integrations/tools/mcp.mdx +267 -0
  166. package/.docs/raw/docs/integrations/tools/react-mcp.mdx +337 -0
  167. package/.docs/raw/docs/migrations/v0-14.mdx +297 -0
  168. package/.docs/raw/docs/primitives/action-bar.mdx +1 -0
  169. package/.docs/raw/docs/primitives/assistant-modal.mdx +1 -0
  170. package/.docs/raw/docs/primitives/attachment.mdx +1 -0
  171. package/.docs/raw/docs/primitives/branch-picker.mdx +1 -0
  172. package/.docs/raw/docs/primitives/chain-of-thought.mdx +90 -85
  173. package/.docs/raw/docs/primitives/composer.mdx +55 -1
  174. package/.docs/raw/docs/primitives/error.mdx +1 -0
  175. package/.docs/raw/docs/primitives/index.mdx +4 -3
  176. package/.docs/raw/docs/primitives/message.mdx +68 -5
  177. package/.docs/raw/docs/primitives/selection-toolbar.mdx +1 -0
  178. package/.docs/raw/docs/primitives/suggestion.mdx +10 -0
  179. package/.docs/raw/docs/primitives/thread-list.mdx +39 -0
  180. package/.docs/raw/docs/primitives/thread.mdx +16 -13
  181. package/.docs/raw/docs/react-native/hooks.mdx +2 -2
  182. package/.docs/raw/docs/react-native/index.mdx +5 -7
  183. package/.docs/raw/docs/react-native/migration.mdx +1 -3
  184. package/.docs/raw/docs/runtimes/a2a/client-and-hooks.mdx +396 -0
  185. package/.docs/raw/docs/runtimes/a2a/overview.mdx +60 -0
  186. package/.docs/raw/docs/runtimes/a2a/quickstart.mdx +216 -0
  187. package/.docs/raw/docs/runtimes/ag-ui/overview.mdx +70 -0
  188. package/.docs/raw/docs/runtimes/ag-ui/quickstart.mdx +243 -0
  189. package/.docs/raw/docs/runtimes/ag-ui/runtime-options.mdx +154 -0
  190. package/.docs/raw/docs/runtimes/ai-sdk/overview.mdx +52 -0
  191. package/.docs/raw/docs/runtimes/ai-sdk/v4-legacy.mdx +73 -128
  192. package/.docs/raw/docs/runtimes/ai-sdk/v5-legacy.mdx +70 -64
  193. package/.docs/raw/docs/runtimes/ai-sdk/v6.mdx +337 -123
  194. package/.docs/raw/docs/runtimes/concepts/adapters.mdx +265 -0
  195. package/.docs/raw/docs/runtimes/concepts/architecture.mdx +125 -0
  196. package/.docs/raw/docs/runtimes/concepts/stability.mdx +67 -0
  197. package/.docs/raw/docs/runtimes/concepts/threads.mdx +428 -0
  198. package/.docs/raw/docs/runtimes/custom/assistant-transport.mdx +703 -0
  199. package/.docs/raw/docs/runtimes/custom/data-stream.mdx +348 -0
  200. package/.docs/raw/docs/runtimes/custom/external-store.mdx +261 -1236
  201. package/.docs/raw/docs/runtimes/custom/local-runtime.mdx +746 -0
  202. package/.docs/raw/docs/runtimes/custom/overview.mdx +71 -0
  203. package/.docs/raw/docs/runtimes/google-adk/api.mdx +256 -0
  204. package/.docs/raw/docs/runtimes/google-adk/hooks.mdx +717 -0
  205. package/.docs/raw/docs/runtimes/google-adk/overview.mdx +69 -0
  206. package/.docs/raw/docs/runtimes/google-adk/quickstart.mdx +229 -0
  207. package/.docs/raw/docs/runtimes/langchain.mdx +533 -0
  208. package/.docs/raw/docs/runtimes/langgraph/generative-ui.mdx +305 -0
  209. package/.docs/raw/docs/runtimes/langgraph/interrupts.mdx +104 -0
  210. package/.docs/raw/docs/runtimes/langgraph/overview.mdx +84 -0
  211. package/.docs/raw/docs/runtimes/langgraph/quickstart.mdx +496 -0
  212. package/.docs/raw/docs/runtimes/langgraph/streaming.mdx +127 -0
  213. package/.docs/raw/docs/runtimes/langgraph/threads.mdx +113 -0
  214. package/.docs/raw/docs/runtimes/langgraph/tutorial/introduction.mdx +3 -3
  215. package/.docs/raw/docs/runtimes/langgraph/tutorial/part-1.mdx +0 -23
  216. package/.docs/raw/docs/runtimes/langgraph/tutorial/part-2.mdx +1 -1
  217. package/.docs/raw/docs/runtimes/opencode/hooks.mdx +191 -0
  218. package/.docs/raw/docs/runtimes/opencode/overview.mdx +48 -0
  219. package/.docs/raw/docs/runtimes/opencode/quickstart.mdx +119 -0
  220. package/.docs/raw/docs/runtimes/pick-a-runtime.mdx +78 -203
  221. package/.docs/raw/docs/ui/accordion.mdx +1 -0
  222. package/.docs/raw/docs/ui/assistant-modal.mdx +1 -0
  223. package/.docs/raw/docs/ui/assistant-sidebar.mdx +1 -0
  224. package/.docs/raw/docs/ui/attachment.mdx +1 -0
  225. package/.docs/raw/docs/ui/badge.mdx +1 -0
  226. package/.docs/raw/docs/ui/composer-trigger-popover.mdx +12 -1
  227. package/.docs/raw/docs/ui/context-display.mdx +1 -0
  228. package/.docs/raw/docs/ui/diff-viewer.mdx +1 -0
  229. package/.docs/raw/docs/ui/directive-text.mdx +1 -0
  230. package/.docs/raw/docs/ui/file.mdx +1 -0
  231. package/.docs/raw/docs/ui/image.mdx +1 -0
  232. package/.docs/raw/docs/ui/markdown.mdx +2 -14
  233. package/.docs/raw/docs/ui/mcp-config.mdx +102 -0
  234. package/.docs/raw/docs/ui/mermaid.mdx +1 -0
  235. package/.docs/raw/docs/ui/message-timing.mdx +3 -2
  236. package/.docs/raw/docs/ui/model-selector.mdx +9 -8
  237. package/.docs/raw/docs/ui/part-grouping.mdx +325 -313
  238. package/.docs/raw/docs/ui/quote.mdx +1 -0
  239. package/.docs/raw/docs/ui/reasoning.mdx +66 -33
  240. package/.docs/raw/docs/ui/scrollbar.mdx +1 -0
  241. package/.docs/raw/docs/ui/select.mdx +1 -0
  242. package/.docs/raw/docs/ui/sources.mdx +18 -0
  243. package/.docs/raw/docs/ui/streamdown.mdx +35 -2
  244. package/.docs/raw/docs/ui/syntax-highlighting.mdx +1 -0
  245. package/.docs/raw/docs/ui/tabs.mdx +1 -0
  246. package/.docs/raw/docs/ui/thread-list.mdx +19 -2
  247. package/.docs/raw/docs/ui/thread.mdx +58 -3
  248. package/.docs/raw/docs/ui/tool-fallback.mdx +1 -0
  249. package/.docs/raw/docs/ui/tool-group.mdx +39 -11
  250. package/.docs/raw/docs/ui/voice.mdx +1 -0
  251. package/.docs/raw/docs/utilities/heat-graph.mdx +1 -0
  252. package/.docs/raw/docs/utilities/react-o11y.mdx +278 -0
  253. package/.docs/raw/docs/utilities/tw-shimmer.mdx +1 -0
  254. package/README.md +14 -72
  255. package/dist/constants.d.ts +12 -9
  256. package/dist/constants.d.ts.map +1 -1
  257. package/dist/constants.js +13 -9
  258. package/dist/constants.js.map +1 -1
  259. package/dist/index.d.ts +7 -3
  260. package/dist/index.d.ts.map +1 -1
  261. package/dist/index.js +25 -24
  262. package/dist/index.js.map +1 -1
  263. package/dist/prepare-docs/code-examples.d.ts +4 -1
  264. package/dist/prepare-docs/code-examples.d.ts.map +1 -1
  265. package/dist/prepare-docs/code-examples.js +109 -121
  266. package/dist/prepare-docs/code-examples.js.map +1 -1
  267. package/dist/prepare-docs/copy-raw.d.ts +4 -1
  268. package/dist/prepare-docs/copy-raw.d.ts.map +1 -1
  269. package/dist/prepare-docs/copy-raw.js +45 -42
  270. package/dist/prepare-docs/copy-raw.js.map +1 -1
  271. package/dist/prepare-docs/prepare.d.ts +1 -2
  272. package/dist/prepare-docs/prepare.js +17 -17
  273. package/dist/prepare-docs/prepare.js.map +1 -1
  274. package/dist/stdio.d.ts +1 -3
  275. package/dist/stdio.js +6 -3
  276. package/dist/stdio.js.map +1 -1
  277. package/dist/tools/docs.d.ts +20 -15
  278. package/dist/tools/docs.d.ts.map +1 -1
  279. package/dist/tools/docs.js +140 -161
  280. package/dist/tools/docs.js.map +1 -1
  281. package/dist/tools/examples.d.ts +20 -15
  282. package/dist/tools/examples.d.ts.map +1 -1
  283. package/dist/tools/examples.js +74 -86
  284. package/dist/tools/examples.js.map +1 -1
  285. package/dist/tools/tests/test-setup.d.ts +5 -2
  286. package/dist/tools/tests/test-setup.d.ts.map +1 -1
  287. package/dist/tools/tests/test-setup.js +21 -28
  288. package/dist/tools/tests/test-setup.js.map +1 -1
  289. package/dist/utils/logger.d.ts +8 -5
  290. package/dist/utils/logger.d.ts.map +1 -1
  291. package/dist/utils/logger.js +17 -17
  292. package/dist/utils/logger.js.map +1 -1
  293. package/dist/utils/mcp-format.d.ts +8 -5
  294. package/dist/utils/mcp-format.d.ts.map +1 -1
  295. package/dist/utils/mcp-format.js +9 -9
  296. package/dist/utils/mcp-format.js.map +1 -1
  297. package/dist/utils/mdx.d.ts +8 -6
  298. package/dist/utils/mdx.d.ts.map +1 -1
  299. package/dist/utils/mdx.js +22 -22
  300. package/dist/utils/mdx.js.map +1 -1
  301. package/dist/utils/paths.d.ts +9 -6
  302. package/dist/utils/paths.d.ts.map +1 -1
  303. package/dist/utils/paths.js +66 -76
  304. package/dist/utils/paths.js.map +1 -1
  305. package/dist/utils/security.d.ts +4 -1
  306. package/dist/utils/security.d.ts.map +1 -1
  307. package/dist/utils/security.js +19 -40
  308. package/dist/utils/security.js.map +1 -1
  309. package/package.json +6 -6
  310. package/src/tools/tests/path-traversal.test.ts +1 -1
  311. package/.docs/raw/docs/(docs)/guides/branching.mdx +0 -65
  312. package/.docs/raw/docs/(docs)/guides/chain-of-thought.mdx +0 -164
  313. package/.docs/raw/docs/(docs)/guides/editing.mdx +0 -66
  314. package/.docs/raw/docs/(docs)/guides/speech.mdx +0 -38
  315. package/.docs/raw/docs/(reference)/api-reference/context-providers/text-message-part-provider.mdx +0 -40
  316. package/.docs/raw/docs/(reference)/api-reference/integrations/react-data-stream.mdx +0 -260
  317. package/.docs/raw/docs/(reference)/api-reference/integrations/react-hook-form.mdx +0 -103
  318. package/.docs/raw/docs/(reference)/api-reference/integrations/vercel-ai-sdk.mdx +0 -254
  319. package/.docs/raw/docs/(reference)/migrations/v0-14.mdx +0 -159
  320. package/.docs/raw/docs/runtimes/a2a/index.mdx +0 -298
  321. package/.docs/raw/docs/runtimes/assistant-transport.mdx +0 -1033
  322. package/.docs/raw/docs/runtimes/custom/custom-thread-list.mdx +0 -314
  323. package/.docs/raw/docs/runtimes/custom/local.mdx +0 -1464
  324. package/.docs/raw/docs/runtimes/data-stream.mdx +0 -422
  325. package/.docs/raw/docs/runtimes/google-adk/index.mdx +0 -686
  326. package/.docs/raw/docs/runtimes/helicone.mdx +0 -61
  327. package/.docs/raw/docs/runtimes/langchain/comparison.mdx +0 -60
  328. package/.docs/raw/docs/runtimes/langchain/index.mdx +0 -210
  329. package/.docs/raw/docs/runtimes/langgraph/index.mdx +0 -699
  330. package/.docs/raw/docs/runtimes/langgraph/tutorial/index.mdx +0 -12
  331. package/.docs/raw/docs/runtimes/langserve.mdx +0 -116
  332. package/.docs/raw/docs/runtimes/mastra/full-stack-integration.mdx +0 -218
  333. package/.docs/raw/docs/runtimes/mastra/overview.mdx +0 -18
  334. package/.docs/raw/docs/runtimes/mastra/separate-server-integration.mdx +0 -217
  335. package/dist/prepare-docs/prepare.d.ts.map +0 -1
  336. package/dist/stdio.d.ts.map +0 -1
  337. /package/.docs/raw/docs/{(reference)/migrations → migrations}/deprecation-policy.mdx +0 -0
  338. /package/.docs/raw/docs/{(reference) → migrations}/react-compatibility.mdx +0 -0
  339. /package/.docs/raw/docs/{(reference)/migrations → migrations}/react-langgraph-v0-7.mdx +0 -0
  340. /package/.docs/raw/docs/{(reference)/migrations → migrations}/v0-11.mdx +0 -0
  341. /package/.docs/raw/docs/{(reference)/migrations → migrations}/v0-12.mdx +0 -0
@@ -1,11 +1,17 @@
1
1
  ---
2
2
  title: MessagePrimitive
3
- description: Components for rendering message content, parts, and attachments.
3
+ description: Message primitives for rendering assistant and user turns, message parts, attachments, actions, editing, and branch controls.
4
4
  ---
5
5
 
6
- A single message in a conversation. Messages may consist of multiple parts.
6
+ import { MessagePrimitiveAttachmentByIndexProps, MessagePrimitiveAttachmentsProps, MessagePrimitiveContentProps, MessagePrimitiveGenerativeUIProps, MessagePrimitiveGroupedPartsProps, MessagePrimitiveIfProps, MessagePrimitivePartByIndexProps, MessagePrimitivePartsProps, MessagePrimitiveQuoteProps, MessagePrimitiveRootProps, MessagePrimitiveUnstable_PartsGroupedByParentIdProps, MessagePrimitiveUnstable_PartsGroupedProps } from "@/generated/typeDocs";
7
+ import { MessagePrimitive as MessagePrimitiveDocs } from "@/generated/primitiveDocs";
7
8
 
9
+ {/* AUTO-GENERATED PAGE by scripts/generate-api-reference.mts */}
10
+ {/* Do not edit manually. */}
8
11
 
12
+ For examples and usage patterns, see [Message](/docs/primitives/message).
13
+
14
+ {/* api-manual:start */}
9
15
  ## Anatomy
10
16
 
11
17
  ```tsx
@@ -27,599 +33,221 @@ const AssistantMessage = () => (
27
33
  </MessagePrimitive.Root>
28
34
  );
29
35
  ```
36
+ {/* api-manual:end */}
37
+
38
+ {/* api-reference:start */}
39
+ {/* AUTO-GENERATED by scripts/generate-api-reference.mts */}
40
+ {/* Do not edit this block manually. */}
30
41
 
31
42
  ## API Reference
32
43
 
33
44
  ### Root
34
45
 
35
- Contains all parts of the message.
46
+ {MessagePrimitiveDocs.Root?.deprecated && (
47
+ <Callout type="warn">
48
+ <strong>Deprecated.</strong> {MessagePrimitiveDocs.Root.deprecated}
49
+ </Callout>
50
+ )}
36
51
 
37
- This primitive renders a `<div>` element unless `asChild` is set.
52
+ {MessagePrimitiveDocs.Root?.description}
38
53
 
39
- <ParametersTable
40
- type="MessagePrimitiveRootProps"
41
- parameters={[
42
- {
43
- name: "asChild",
44
- },
45
- ]}
46
- />
54
+ {MessagePrimitiveDocs.Root?.element && (
55
+ <p>This primitive renders a <code>{`<${MessagePrimitiveDocs.Root?.element}>`}</code> element unless <code>asChild</code> is set.</p>
56
+ )}
57
+
58
+ <ParametersTable {...MessagePrimitiveRootProps} />
47
59
 
48
60
  ### Parts
49
61
 
50
- The content of the message. This renders a separate component for each message part.
51
-
52
- <ParametersTable
53
- type="MessagePrimitivePartsProps"
54
- parameters={[
55
- {
56
- name: "components",
57
- required: false,
58
- type: "MessagePartComponents",
59
- description: "The components to render for each message part.",
60
- children: [
61
- {
62
- type: "MessagePartComponents",
63
- parameters: [
64
- {
65
- name: "Text",
66
- type: "TextMessagePartComponent",
67
- description:
68
- "The component to render for each text message part.",
69
- },
70
- {
71
- name: "Image",
72
- type: "ImageMessagePartComponent",
73
- description:
74
- "The component to render for each image message part.",
75
- },
76
- {
77
- name: "Source",
78
- type: "SourceMessagePartComponent",
79
- description:
80
- "The component to render for each source message part.",
81
- },
82
- {
83
- name: "File",
84
- type: "FileMessagePartComponent",
85
- description:
86
- "The component to render for each file message part.",
87
- },
88
- {
89
- name: "Unstable_Audio",
90
- type: "Unstable_AudioMessagePartComponent",
91
- description:
92
- "The component to render for each audio message part.",
93
- },
94
- {
95
- name: "Reasoning",
96
- type: "ReasoningMessagePartComponent",
97
- description:
98
- "The component to render for each reasoning message part. Cannot be used alongside ChainOfThought.",
99
- },
100
- {
101
- name: "tools",
102
- type: "object",
103
- description:
104
- "Configuration for tool call rendering. Cannot be used alongside ChainOfThought.",
105
- children: [
106
- {
107
- parameters: [
108
- {
109
- name: "by_name",
110
- type: "Record<string, ToolCallMessagePartComponent>",
111
- description:
112
- "Map of tool names to their specific components.",
113
- },
114
- {
115
- name: "Fallback",
116
- type: "ToolCallMessagePartComponent",
117
- description:
118
- "Fallback component for tool calls not matched by by_name.",
119
- },
120
- {
121
- name: "Override",
122
- type: "ComponentType<ToolCallMessagePartProps>",
123
- description:
124
- "Override component that handles all tool calls. When set, by_name and Fallback are ignored.",
125
- },
126
- ],
127
- },
128
- ],
129
- },
130
- {
131
- name: "data",
132
- type: "object",
133
- description:
134
- "Configuration for data part rendering.",
135
- children: [
136
- {
137
- parameters: [
138
- {
139
- name: "by_name",
140
- type: "Record<string, DataMessagePartComponent>",
141
- description:
142
- "Map of data event names to their specific components.",
143
- },
144
- {
145
- name: "Fallback",
146
- type: "DataMessagePartComponent",
147
- description:
148
- "Fallback component for data events not matched by by_name.",
149
- },
150
- ],
151
- },
152
- ],
153
- },
154
- {
155
- name: "ToolGroup",
156
- type: "ComponentType<PropsWithChildren<{ startIndex: number; endIndex: number }>>",
157
- description:
158
- "Deprecated: This feature is still experimental and subject to change. Component for rendering grouped consecutive tool calls. When provided, consecutive tool-call message parts will be automatically grouped and wrapped with this component. Cannot be used alongside ChainOfThought.",
159
- children: [
160
- {
161
- type: "ToolGroupProps",
162
- parameters: [
163
- {
164
- name: "startIndex",
165
- type: "number",
166
- description: "Index of the first tool call in the group.",
167
- required: true,
168
- },
169
- {
170
- name: "endIndex",
171
- type: "number",
172
- description: "Index of the last tool call in the group.",
173
- required: true,
174
- },
175
- {
176
- name: "children",
177
- type: "ReactNode",
178
- description:
179
- "The rendered tool call components within the group.",
180
- required: true,
181
- },
182
- ],
183
- },
184
- ],
185
- },
186
- {
187
- name: "ReasoningGroup",
188
- type: "ReasoningGroupComponent",
189
- description:
190
- "Component for rendering grouped consecutive reasoning parts. Cannot be used alongside ChainOfThought.",
191
- children: [
192
- {
193
- type: "ReasoningGroupProps",
194
- parameters: [
195
- {
196
- name: "startIndex",
197
- type: "number",
198
- description: "Index of the first reasoning part in the group.",
199
- required: true,
200
- },
201
- {
202
- name: "endIndex",
203
- type: "number",
204
- description: "Index of the last reasoning part in the group.",
205
- required: true,
206
- },
207
- {
208
- name: "children",
209
- type: "ReactNode",
210
- description:
211
- "The rendered reasoning part components within the group.",
212
- required: true,
213
- },
214
- ],
215
- },
216
- ],
217
- },
218
- {
219
- name: "ChainOfThought",
220
- type: "ComponentType",
221
- description:
222
- "When set, groups all consecutive reasoning and tool-call parts into a single collapsible component. Mutually exclusive with Reasoning, tools, ToolGroup, and ReasoningGroup.",
223
- },
224
- {
225
- name: "Empty",
226
- type: "EmptyMessagePartComponent",
227
- description:
228
- "Component to render when the message has no parts, or when unstable_showEmptyOnNonTextEnd is enabled and the last part is not text or reasoning.",
229
- },
230
- ],
231
- },
232
- ],
233
- },
234
- {
235
- name: "unstable_showEmptyOnNonTextEnd",
236
- required: false,
237
- type: "boolean",
238
- description:
239
- "When enabled, shows the Empty component if the last part in the message is anything other than Text or Reasoning. Defaults to true.",
240
- },
241
- ]}
242
- />
62
+ {MessagePrimitiveDocs.Parts?.deprecated && (
63
+ <Callout type="warn">
64
+ <strong>Deprecated.</strong> {MessagePrimitiveDocs.Parts.deprecated}
65
+ </Callout>
66
+ )}
243
67
 
244
- ### Quote
68
+ {MessagePrimitiveDocs.Parts?.description}
245
69
 
246
- Renders a quote block if the message has quote metadata (`message.metadata.custom.quote`). Place this above `MessagePrimitive.Parts`.
247
-
248
- ```tsx
249
- <MessagePrimitive.Quote>
250
- {({ text, messageId }) => <QuoteBlock text={text} messageId={messageId} />}
251
- </MessagePrimitive.Quote>
252
- ```
70
+ {MessagePrimitiveDocs.Parts?.element && (
71
+ <p>This primitive renders a <code>{`<${MessagePrimitiveDocs.Parts?.element}>`}</code> element unless <code>asChild</code> is set.</p>
72
+ )}
253
73
 
254
- <ParametersTable
255
- type="MessagePrimitiveQuoteProps"
256
- parameters={[
257
- {
258
- name: "children",
259
- required: true,
260
- type: "(quote: QuoteInfo) => ReactNode",
261
- description: "Render function called when a quote is present. Receives { text, messageId }.",
262
- },
263
- ]}
264
- />
74
+ <ParametersTable {...MessagePrimitivePartsProps} />
265
75
 
266
76
  ### PartByIndex
267
77
 
268
- Renders a single message part at the specified index.
78
+ {MessagePrimitiveDocs.PartByIndex?.deprecated && (
79
+ <Callout type="warn">
80
+ <strong>Deprecated.</strong> {MessagePrimitiveDocs.PartByIndex.deprecated}
81
+ </Callout>
82
+ )}
269
83
 
270
- ```tsx
271
- <MessagePrimitive.PartByIndex
272
- index={0}
273
- components={{
274
- Text: MyTextComponent,
275
- Image: MyImageComponent
276
- }}
277
- />
278
- ```
84
+ {MessagePrimitiveDocs.PartByIndex?.description}
85
+
86
+ {MessagePrimitiveDocs.PartByIndex?.element && (
87
+ <p>This primitive renders a <code>{`<${MessagePrimitiveDocs.PartByIndex?.element}>`}</code> element unless <code>asChild</code> is set.</p>
88
+ )}
89
+
90
+ <ParametersTable {...MessagePrimitivePartByIndexProps} />
91
+
92
+ ### Content
93
+
94
+ {MessagePrimitiveDocs.Content?.deprecated && (
95
+ <Callout type="warn">
96
+ <strong>Deprecated.</strong> {MessagePrimitiveDocs.Content.deprecated}
97
+ </Callout>
98
+ )}
99
+
100
+ {MessagePrimitiveDocs.Content?.description}
279
101
 
280
- <ParametersTable
281
- type="MessagePrimitive.PartByIndex.Props"
282
- parameters={[
283
- {
284
- name: "index",
285
- type: "number",
286
- required: true,
287
- description: "The index of the message part to render.",
288
- },
289
- {
290
- name: "components",
291
- required: false,
292
- type: "MessagePartComponents",
293
- description: "The components to render for the message part.",
294
- },
295
- ]}
296
- />
102
+ {MessagePrimitiveDocs.Content?.element && (
103
+ <p>This primitive renders a <code>{`<${MessagePrimitiveDocs.Content?.element}>`}</code> element unless <code>asChild</code> is set.</p>
104
+ )}
105
+
106
+ <ParametersTable {...MessagePrimitiveContentProps} />
107
+
108
+ ### If
109
+
110
+ {MessagePrimitiveDocs.If?.deprecated && (
111
+ <Callout type="warn">
112
+ <strong>Deprecated.</strong> {MessagePrimitiveDocs.If.deprecated}
113
+ </Callout>
114
+ )}
115
+
116
+ {MessagePrimitiveDocs.If?.description}
117
+
118
+ {MessagePrimitiveDocs.If?.element && (
119
+ <p>This primitive renders a <code>{`<${MessagePrimitiveDocs.If?.element}>`}</code> element unless <code>asChild</code> is set.</p>
120
+ )}
121
+
122
+ <ParametersTable {...MessagePrimitiveIfProps} />
297
123
 
298
124
  ### Attachments
299
125
 
300
- Renders all attachments of the message.
301
-
302
- <ParametersTable
303
- type="MessagePrimitive.Attachments.Props"
304
- parameters={[
305
- {
306
- name: "components",
307
- type: "AttachmentComponents",
308
- description: "The components to render for each attachment.",
309
- children: [
310
- {
311
- type: "AttachmentComponents",
312
- parameters: [
313
- {
314
- name: "Image",
315
- type: "ComponentType",
316
- description: "The component to render for image attachments.",
317
- },
318
- {
319
- name: "Document",
320
- type: "ComponentType",
321
- description: "The component to render for document attachments.",
322
- },
323
- {
324
- name: "File",
325
- type: "ComponentType",
326
- description: "The component to render for file attachments.",
327
- },
328
- {
329
- name: "Attachment",
330
- type: "ComponentType",
331
- description: "The fallback component to render for any attachment type.",
332
- },
333
- ],
334
- },
335
- ],
336
- },
337
- ]}
338
- />
126
+ {MessagePrimitiveDocs.Attachments?.deprecated && (
127
+ <Callout type="warn">
128
+ <strong>Deprecated.</strong> {MessagePrimitiveDocs.Attachments.deprecated}
129
+ </Callout>
130
+ )}
131
+
132
+ {MessagePrimitiveDocs.Attachments?.description}
133
+
134
+ {MessagePrimitiveDocs.Attachments?.element && (
135
+ <p>This primitive renders a <code>{`<${MessagePrimitiveDocs.Attachments?.element}>`}</code> element unless <code>asChild</code> is set.</p>
136
+ )}
137
+
138
+ <ParametersTable {...MessagePrimitiveAttachmentsProps} />
339
139
 
340
140
  ### AttachmentByIndex
341
141
 
342
- Renders a single attachment at the specified index within the message.
142
+ {MessagePrimitiveDocs.AttachmentByIndex?.deprecated && (
143
+ <Callout type="warn">
144
+ <strong>Deprecated.</strong> {MessagePrimitiveDocs.AttachmentByIndex.deprecated}
145
+ </Callout>
146
+ )}
343
147
 
344
- ```tsx
345
- <MessagePrimitive.AttachmentByIndex
346
- index={0}
347
- components={{
348
- Image: MyImageAttachment,
349
- Document: MyDocumentAttachment
350
- }}
351
- />
352
- ```
148
+ {MessagePrimitiveDocs.AttachmentByIndex?.description}
353
149
 
354
- <ParametersTable
355
- type="MessagePrimitive.AttachmentByIndex.Props"
356
- parameters={[
357
- {
358
- name: "index",
359
- type: "number",
360
- required: true,
361
- description: "The index of the attachment to render.",
362
- },
363
- {
364
- name: "components",
365
- type: "AttachmentComponents",
366
- description: "The components to render for the attachment.",
367
- },
368
- ]}
369
- />
370
-
371
- ### useMessageQuote()
372
-
373
- A hook that returns the quote info attached to the current message, if any. Reads from `message.metadata.custom.quote`.
150
+ {MessagePrimitiveDocs.AttachmentByIndex?.element && (
151
+ <p>This primitive renders a <code>{`<${MessagePrimitiveDocs.AttachmentByIndex?.element}>`}</code> element unless <code>asChild</code> is set.</p>
152
+ )}
374
153
 
375
- ```tsx
376
- import { useMessageQuote } from "@assistant-ui/react";
377
-
378
- const QuoteBlock = () => {
379
- const quote = useMessageQuote();
380
- if (!quote) return null;
381
-
382
- return (
383
- <div className="mb-2 flex items-start gap-1.5 text-sm italic text-muted-foreground">
384
- {quote.text}
385
- </div>
386
- );
387
- };
388
- ```
154
+ <ParametersTable {...MessagePrimitiveAttachmentByIndexProps} />
389
155
 
390
- **Returns:** `QuoteInfo | undefined`
156
+ ### Quote
391
157
 
392
- ```typescript
393
- type QuoteInfo = {
394
- readonly text: string; // the quoted plain text
395
- readonly messageId: string; // the source message ID
396
- };
397
- ```
158
+ {MessagePrimitiveDocs.Quote?.deprecated && (
159
+ <Callout type="warn">
160
+ <strong>Deprecated.</strong> {MessagePrimitiveDocs.Quote.deprecated}
161
+ </Callout>
162
+ )}
398
163
 
399
- <Callout type="info">
400
- See the [Quoting guide](/docs/guides/quoting) for a complete walkthrough.
401
- </Callout>
164
+ {MessagePrimitiveDocs.Quote?.description}
402
165
 
403
- ### Unstable_PartsGrouped
166
+ {MessagePrimitiveDocs.Quote?.element && (
167
+ <p>This primitive renders a <code>{`<${MessagePrimitiveDocs.Quote?.element}>`}</code> element unless <code>asChild</code> is set.</p>
168
+ )}
404
169
 
405
- Renders the parts of a message grouped by a custom grouping function. Use this component when you need to visually group related message parts together — for example, grouping parts that share a common parent ID, or collecting consecutive tool calls under a single header.
170
+ <ParametersTable {...MessagePrimitiveQuoteProps} />
406
171
 
407
- The `groupingFunction` prop controls how parts are grouped. It receives the full array of message parts and must return an array of group descriptors, each with a `groupKey` (or `undefined` for ungrouped parts) and an array of `indices` into the message parts array. The optional `components.Group` component is then rendered once per group and receives the `groupKey`, `indices`, and the rendered part children.
172
+ ### Error
408
173
 
409
- <Callout type="warn">
410
- This API is unstable and may change in a future release.
411
- </Callout>
174
+ {MessagePrimitiveDocs.Error?.deprecated && (
175
+ <Callout type="warn">
176
+ <strong>Deprecated.</strong> {MessagePrimitiveDocs.Error.deprecated}
177
+ </Callout>
178
+ )}
412
179
 
413
- ```tsx
414
- <MessagePrimitive.Unstable_PartsGrouped
415
- groupingFunction={(parts) => {
416
- const groups = new Map<string, number[]>();
417
- parts.forEach((part, i) => {
418
- const key = part.parentId ?? `__ungrouped_${i}`;
419
- const indices = groups.get(key) ?? [];
420
- indices.push(i);
421
- groups.set(key, indices);
422
- });
423
- return Array.from(groups.entries()).map(([key, indices]) => ({
424
- groupKey: key.startsWith("__ungrouped_") ? undefined : key,
425
- indices,
426
- }));
427
- }}
428
- components={{
429
- Text: ({ text }) => <p>{text}</p>,
430
- Group: ({ groupKey, indices, children }) => {
431
- if (!groupKey) return <>{children}</>;
432
- return (
433
- <div className="parent-group">
434
- <h4>Parent: {groupKey}</h4>
435
- {children}
436
- </div>
437
- );
438
- },
439
- }}
440
- />
441
- ```
180
+ {MessagePrimitiveDocs.Error?.description}
442
181
 
443
- <ParametersTable
444
- type="MessagePrimitive.Unstable_PartsGrouped.Props"
445
- parameters={[
446
- {
447
- name: "groupingFunction",
448
- required: true,
449
- type: "GroupingFunction",
450
- description:
451
- "A function that receives the array of message parts and returns an array of groups. Each group has a groupKey (string or undefined for ungrouped parts) and an indices array of part positions.",
452
- },
453
- {
454
- name: "components",
455
- required: false,
456
- type: "object",
457
- description: "The components to render for each message part type and for group wrappers.",
458
- children: [
459
- {
460
- parameters: [
461
- {
462
- name: "Text",
463
- type: "TextMessagePartComponent",
464
- description: "The component to render for each text message part.",
465
- },
466
- {
467
- name: "Reasoning",
468
- type: "ReasoningMessagePartComponent",
469
- description: "The component to render for each reasoning message part.",
470
- },
471
- {
472
- name: "Source",
473
- type: "SourceMessagePartComponent",
474
- description: "The component to render for each source message part.",
475
- },
476
- {
477
- name: "Image",
478
- type: "ImageMessagePartComponent",
479
- description: "The component to render for each image message part.",
480
- },
481
- {
482
- name: "File",
483
- type: "FileMessagePartComponent",
484
- description: "The component to render for each file message part.",
485
- },
486
- {
487
- name: "Unstable_Audio",
488
- type: "Unstable_AudioMessagePartComponent",
489
- description: "The component to render for each audio message part.",
490
- },
491
- {
492
- name: "Empty",
493
- type: "EmptyMessagePartComponent",
494
- description: "Component to render when the message has no parts.",
495
- },
496
- {
497
- name: "tools",
498
- type: "object",
499
- description: "Configuration for tool call rendering.",
500
- children: [
501
- {
502
- parameters: [
503
- {
504
- name: "by_name",
505
- type: "Record<string, ToolCallMessagePartComponent>",
506
- description: "Map of tool names to their specific components.",
507
- },
508
- {
509
- name: "Fallback",
510
- type: "ToolCallMessagePartComponent",
511
- description:
512
- "Fallback component for tool calls not matched by by_name.",
513
- },
514
- {
515
- name: "Override",
516
- type: "ComponentType<ToolCallMessagePartProps>",
517
- description:
518
- "Override component that handles all tool calls. When set, by_name and Fallback are ignored.",
519
- },
520
- ],
521
- },
522
- ],
523
- },
524
- {
525
- name: "data",
526
- type: "object",
527
- description: "Configuration for data part rendering.",
528
- children: [
529
- {
530
- parameters: [
531
- {
532
- name: "by_name",
533
- type: "Record<string, DataMessagePartComponent>",
534
- description:
535
- "Map of data event names to their specific components.",
536
- },
537
- {
538
- name: "Fallback",
539
- type: "DataMessagePartComponent",
540
- description:
541
- "Fallback component for data events not matched by by_name.",
542
- },
543
- ],
544
- },
545
- ],
546
- },
547
- {
548
- name: "Group",
549
- type: "ComponentType<PropsWithChildren<{ groupKey: string | undefined; indices: number[] }>>",
550
- description:
551
- "Component for rendering a group of message parts. Receives the groupKey (undefined for ungrouped parts), the indices of all parts in the group, and the rendered part children.",
552
- children: [
553
- {
554
- type: "GroupProps",
555
- parameters: [
556
- {
557
- name: "groupKey",
558
- type: "string | undefined",
559
- description:
560
- "The group key, or undefined for ungrouped parts.",
561
- required: true,
562
- },
563
- {
564
- name: "indices",
565
- type: "number[]",
566
- description:
567
- "Array of indices of the message parts belonging to this group.",
568
- required: true,
569
- },
570
- {
571
- name: "children",
572
- type: "ReactNode",
573
- description:
574
- "The rendered message part components within the group.",
575
- required: true,
576
- },
577
- ],
578
- },
579
- ],
580
- },
581
- ],
582
- },
583
- ],
584
- },
585
- ]}
586
- />
182
+ {MessagePrimitiveDocs.Error?.element && (
183
+ <p>This primitive renders a <code>{`<${MessagePrimitiveDocs.Error?.element}>`}</code> element unless <code>asChild</code> is set.</p>
184
+ )}
587
185
 
588
- ### Unstable_PartsGroupedByParentId
186
+ {MessagePrimitiveDocs.Error?.props && (
187
+ <ParametersTable type={MessagePrimitiveDocs.Error?.element} parameters={MessagePrimitiveDocs.Error.props} />
188
+ )}
589
189
 
590
- A convenience wrapper around `MessagePrimitive.Unstable_PartsGrouped` that groups message parts by their `parentId` field. Parts without a `parentId` appear individually at their chronological position; parts sharing the same `parentId` are collected into a single group at the position of their first occurrence.
190
+ ### GroupedParts
591
191
 
592
- <Callout type="warn">
593
- This API is unstable and may change in a future release.
594
- </Callout>
192
+ {MessagePrimitiveDocs.GroupedParts?.deprecated && (
193
+ <Callout type="warn">
194
+ <strong>Deprecated.</strong> {MessagePrimitiveDocs.GroupedParts.deprecated}
195
+ </Callout>
196
+ )}
595
197
 
596
- ```tsx
597
- <MessagePrimitive.Unstable_PartsGroupedByParentId
598
- components={{
599
- Group: ({ groupKey, children }) => {
600
- if (!groupKey) return <>{children}</>;
601
- return (
602
- <div className="parent-group border rounded p-4">
603
- <h4>Parent ID: {groupKey}</h4>
604
- {children}
605
- </div>
606
- );
607
- },
608
- }}
609
- />
610
- ```
198
+ {MessagePrimitiveDocs.GroupedParts?.description}
611
199
 
612
- Accepts the same `components` prop as [`MessagePrimitive.Unstable_PartsGrouped`](#unstable_partsgrouped), but without a `groupingFunction` prop (the parent-ID grouping function is applied automatically).
200
+ {MessagePrimitiveDocs.GroupedParts?.element && (
201
+ <p>This primitive renders a <code>{`<${MessagePrimitiveDocs.GroupedParts?.element}>`}</code> element unless <code>asChild</code> is set.</p>
202
+ )}
613
203
 
614
- ### Error
204
+ <ParametersTable {...MessagePrimitiveGroupedPartsProps} />
615
205
 
616
- Renders children only if the message has an error status.
206
+ ### GenerativeUI
617
207
 
618
- ```tsx
619
- <MessagePrimitive.Error>
620
- {/* rendered if the message has an error status */}
621
- <ErrorPrimitive.Root>
622
- <ErrorPrimitive.Message />
623
- </ErrorPrimitive.Root>
624
- </MessagePrimitive.Error>
625
- ```
208
+ {MessagePrimitiveDocs.GenerativeUI?.deprecated && (
209
+ <Callout type="warn">
210
+ <strong>Deprecated.</strong> {MessagePrimitiveDocs.GenerativeUI.deprecated}
211
+ </Callout>
212
+ )}
213
+
214
+ {MessagePrimitiveDocs.GenerativeUI?.description}
215
+
216
+ {MessagePrimitiveDocs.GenerativeUI?.element && (
217
+ <p>This primitive renders a <code>{`<${MessagePrimitiveDocs.GenerativeUI?.element}>`}</code> element unless <code>asChild</code> is set.</p>
218
+ )}
219
+
220
+ <ParametersTable {...MessagePrimitiveGenerativeUIProps} />
221
+
222
+ ### Unstable_PartsGrouped
223
+
224
+ {MessagePrimitiveDocs.Unstable_PartsGrouped?.deprecated && (
225
+ <Callout type="warn">
226
+ <strong>Deprecated.</strong> {MessagePrimitiveDocs.Unstable_PartsGrouped.deprecated}
227
+ </Callout>
228
+ )}
229
+
230
+ {MessagePrimitiveDocs.Unstable_PartsGrouped?.description}
231
+
232
+ {MessagePrimitiveDocs.Unstable_PartsGrouped?.element && (
233
+ <p>This primitive renders a <code>{`<${MessagePrimitiveDocs.Unstable_PartsGrouped?.element}>`}</code> element unless <code>asChild</code> is set.</p>
234
+ )}
235
+
236
+ <ParametersTable {...MessagePrimitiveUnstable_PartsGroupedProps} />
237
+
238
+ ### Unstable_PartsGroupedByParentId
239
+
240
+ {MessagePrimitiveDocs.Unstable_PartsGroupedByParentId?.deprecated && (
241
+ <Callout type="warn">
242
+ <strong>Deprecated.</strong> {MessagePrimitiveDocs.Unstable_PartsGroupedByParentId.deprecated}
243
+ </Callout>
244
+ )}
245
+
246
+ {MessagePrimitiveDocs.Unstable_PartsGroupedByParentId?.description}
247
+
248
+ {MessagePrimitiveDocs.Unstable_PartsGroupedByParentId?.element && (
249
+ <p>This primitive renders a <code>{`<${MessagePrimitiveDocs.Unstable_PartsGroupedByParentId?.element}>`}</code> element unless <code>asChild</code> is set.</p>
250
+ )}
251
+
252
+ <ParametersTable {...MessagePrimitiveUnstable_PartsGroupedByParentIdProps} />
253
+ {/* api-reference:end */}