@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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@assistant-ui/mcp-docs-server",
3
- "version": "0.1.30",
3
+ "version": "0.1.32",
4
4
  "description": "MCP server for assistant-ui documentation and examples",
5
5
  "keywords": [
6
6
  "mcp",
@@ -34,13 +34,13 @@
34
34
  "dependencies": {
35
35
  "@modelcontextprotocol/sdk": "^1.29.0",
36
36
  "gray-matter": "^4.0.3",
37
- "zod": "^4.3.6"
37
+ "zod": "^4.4.3"
38
38
  },
39
39
  "devDependencies": {
40
- "@types/node": "^25.6.0",
41
- "tsx": "^4.21.0",
42
- "vitest": "^4.1.5",
43
- "@assistant-ui/x-buildutils": "0.0.6"
40
+ "@types/node": "^25.9.1",
41
+ "tsx": "^4.22.3",
42
+ "vitest": "^4.1.7",
43
+ "@assistant-ui/x-buildutils": "0.0.9"
44
44
  },
45
45
  "publishConfig": {
46
46
  "access": "public",
@@ -26,7 +26,7 @@ describe("Path Traversal Security", () => {
26
26
 
27
27
  it("should handle multiple paths with one malicious", async () => {
28
28
  const result = await testContext.callTool("assistantUIDocs", {
29
- paths: ["(docs)/index", "../../../../etc/passwd", "(docs)/guides"],
29
+ paths: ["(docs)/index", "../../../../etc/passwd", "guides"],
30
30
  });
31
31
 
32
32
  expect(result.results).toBeDefined();
@@ -1,65 +0,0 @@
1
- ---
2
- title: Message Branching
3
- description: Navigate between different conversation branches when editing or reloading messages.
4
- ---
5
-
6
- import { BranchingSample } from "@/components/docs/samples/branching";
7
-
8
- Switch between different conversation branches.
9
-
10
- <BranchingSample />
11
-
12
- A new branch is created when:
13
-
14
- - a user message is edited
15
- - an assistant message is reloaded
16
-
17
- Branches are automatically tracked by assistant-ui by observing changes to the `messages` array.
18
-
19
- ## Enabling branch support
20
-
21
- You can show a branch picker by using `BranchPickerPrimitive`.
22
-
23
- ```tsx {1, 8, 15-30}
24
- import { BranchPickerPrimitive } from "@assistant-ui/react";
25
-
26
-
27
- const Message = () => {
28
- return (
29
- <MessagePrimitive.Root>
30
- ...
31
- <BranchPicker /> {/* <-- show the branch picker */}
32
- ...
33
- </MessagePrimitive.Root>
34
- );
35
- };
36
-
37
-
38
- const BranchPicker = () => {
39
- return (
40
- <BranchPickerPrimitive.Root hideWhenSingleBranch>
41
- <BranchPickerPrimitive.Previous />
42
- <BranchPickerPrimitive.Number /> / <BranchPickerPrimitive.Count />
43
- <BranchPickerPrimitive.Next />
44
- </BranchPickerPrimitive.Root>
45
- );
46
- };
47
- ```
48
-
49
- ## API
50
-
51
- You can access the current branch state or navigate via the API as well.
52
- These APIs rely on the message scope and may only be called inside a message component.
53
-
54
- ```tsx
55
- import { useAui, useAuiState } from "@assistant-ui/react";
56
-
57
- // read branch state
58
- const { branchNumber, branchCount } = useAuiState((s) => s.message);
59
-
60
- // navigation
61
- const aui = useAui();
62
- aui.message().switchToBranch({ position: "next" });
63
- aui.message().switchToBranch({ position: "previous" });
64
- aui.message().switchToBranch({ branchId: "some-id" });
65
- ```
@@ -1,164 +0,0 @@
1
- ---
2
- title: Chain of Thought
3
- description: Group reasoning and tool calls into a collapsible accordion UI.
4
- ---
5
-
6
- LLMs often produce reasoning steps and tool calls in succession. Chain of Thought lets you visually group these consecutive parts into a single collapsible accordion, giving users a clean "thinking" UI.
7
-
8
- ## Overview
9
-
10
- 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. By default, these parts render individually. `ChainOfThoughtPrimitive` groups consecutive reasoning + tool-call parts together and renders them through a single component.
11
-
12
- Key benefits:
13
-
14
- - **Cleaner UI** — Collapse intermediate steps behind a "Thinking" toggle
15
- - **Better context** — Users see that reasoning and tool calls are related
16
- - **Built-in accordion** — Expand/collapse with a single click; collapsed by default
17
-
18
- ## Quick Start
19
-
20
- <Steps>
21
- <Step>
22
-
23
- ### Pass a ChainOfThought component to MessagePrimitive.Parts
24
-
25
- `MessagePrimitive.Parts` accepts a `ChainOfThought` component. When provided, consecutive reasoning and tool-call parts are automatically grouped and rendered through it.
26
-
27
- ```tsx
28
- import {
29
- AuiIf,
30
- ChainOfThoughtPrimitive,
31
- MessagePrimitive,
32
- } from "@assistant-ui/react";
33
- import type { FC } from "react";
34
-
35
- const Reasoning: FC<{ text: string }> = ({ text }) => {
36
- return (
37
- <p className="whitespace-pre-wrap px-4 py-2 text-muted-foreground text-sm italic">
38
- {text}
39
- </p>
40
- );
41
- };
42
-
43
- const ChainOfThought: FC = () => {
44
- return (
45
- <ChainOfThoughtPrimitive.Root className="my-2 rounded-lg border">
46
- <ChainOfThoughtPrimitive.AccordionTrigger className="flex w-full cursor-pointer items-center gap-2 px-4 py-2 font-medium text-sm hover:bg-muted/50">
47
- Thinking
48
- </ChainOfThoughtPrimitive.AccordionTrigger>
49
- <AuiIf condition={(s) => !s.chainOfThought.collapsed}>
50
- <ChainOfThoughtPrimitive.Parts>
51
- {({ part }) => {
52
- if (part.type === "reasoning") return <Reasoning {...part} />;
53
- if (part.type === "tool-call") return <ToolFallback {...part} />;
54
- return null;
55
- }}
56
- </ChainOfThoughtPrimitive.Parts>
57
- </AuiIf>
58
- </ChainOfThoughtPrimitive.Root>
59
- );
60
- };
61
-
62
- const AssistantMessage: FC = () => {
63
- return (
64
- <MessagePrimitive.Root>
65
- <MessagePrimitive.Parts>
66
- {({ part }) => {
67
- if (part.type === "text") return <MarkdownText />;
68
- return null;
69
- }}
70
- </MessagePrimitive.Parts>
71
- </MessagePrimitive.Root>
72
- );
73
- };
74
- ```
75
-
76
- </Step>
77
- <Step>
78
-
79
- ### Use a reasoning model
80
-
81
- 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 Vercel AI SDK:
82
-
83
- ```tsx title="app/api/chat/route.ts"
84
- import { openai } from "@ai-sdk/openai";
85
- import { streamText, convertToModelMessages } from "ai";
86
-
87
- export async function POST(req: Request) {
88
- const { messages } = await req.json();
89
-
90
- const result = streamText({
91
- model: openai("o4-mini"),
92
- messages: await convertToModelMessages(messages),
93
- });
94
-
95
- return result.toUIMessageStreamResponse();
96
- }
97
- ```
98
-
99
- </Step>
100
- </Steps>
101
-
102
- ## API Reference
103
-
104
- ### ChainOfThoughtPrimitive.Root
105
-
106
- Container element for the chain of thought group. Renders a `<div>`.
107
-
108
- ### ChainOfThoughtPrimitive.AccordionTrigger
109
-
110
- A button that toggles the collapsed/expanded state. Collapsed by default.
111
-
112
- ### ChainOfThoughtPrimitive.Parts
113
-
114
- Renders the grouped parts when expanded (nothing when collapsed).
115
-
116
- ```tsx
117
- <AuiIf condition={(s) => !s.chainOfThought.collapsed}>
118
- <ChainOfThoughtPrimitive.Parts>
119
- {({ part }) => {
120
- if (part.type === "reasoning") return <Reasoning {...part} />;
121
- if (part.type === "tool-call") return <ToolFallback {...part} />;
122
- return null;
123
- }}
124
- </ChainOfThoughtPrimitive.Parts>
125
- </AuiIf>
126
- ```
127
-
128
- | Prop | Type | Description |
129
- | --- | --- | --- |
130
- | `components.Reasoning` | `FC<{ text: string }>` | Component to render reasoning parts |
131
- | `components.tools.Fallback` | `ToolCallMessagePartComponent` | Fallback component for tool-call parts |
132
- | `components.Layout` | `ComponentType<PropsWithChildren>` | Wrapper component around each rendered part when expanded |
133
-
134
- ## Reading Collapsed State
135
-
136
- Use `AuiIf` to conditionally render based on the accordion state:
137
-
138
- ```tsx
139
- import { AuiIf, ChainOfThoughtPrimitive } from "@assistant-ui/react";
140
- import { ChevronDownIcon, ChevronRightIcon } from "lucide-react";
141
-
142
- const ChainOfThoughtAccordionTrigger = () => {
143
- return (
144
- <ChainOfThoughtPrimitive.AccordionTrigger className="flex w-full cursor-pointer items-center gap-2 px-4 py-2 text-sm">
145
- <AuiIf condition={(s) => s.chainOfThought.collapsed}>
146
- <ChevronRightIcon className="size-4" />
147
- </AuiIf>
148
- <AuiIf condition={(s) => !s.chainOfThought.collapsed}>
149
- <ChevronDownIcon className="size-4" />
150
- </AuiIf>
151
- Thinking
152
- </ChainOfThoughtPrimitive.AccordionTrigger>
153
- );
154
- };
155
- ```
156
-
157
- ## Full Example
158
-
159
- See the complete [with-chain-of-thought example](https://github.com/assistant-ui/assistant-ui/tree/main/examples/with-chain-of-thought) for a working implementation with tool calls and reasoning.
160
-
161
- ## Related Guides
162
-
163
- - [Generative UI](/docs/guides/tool-ui) — Custom UI for tool calls
164
- - [Tools](/docs/guides/tools) — Defining and using tools
@@ -1,66 +0,0 @@
1
- ---
2
- title: Message Editing
3
- description: Allow users to edit their messages with custom editor interfaces.
4
- ---
5
-
6
- Give the user the ability to edit their message.
7
-
8
- ## Enabling edit support
9
-
10
- You can show an editor interface by using `ComposerPrimitive`.
11
-
12
- ```tsx {1-2,11,25,31-52}
13
- import { ComposerPrimitive, useAuiState } from "@assistant-ui/react";
14
- ...
15
-
16
- const Thread = () => {
17
- return (
18
- <ThreadPrimitive.Root>
19
- <ThreadPrimitive.Viewport>
20
- ...
21
- <ThreadPrimitive.Messages>
22
- {({ message }) => {
23
- // Show our new component during edit mode
24
- return <MessageWithEditComposer />;
25
- }}
26
- </ThreadPrimitive.Messages>
27
- </ThreadPrimitive.Viewport>
28
- ...
29
- </ThreadPrimitive.Root>
30
- );
31
- };
32
-
33
- const UserMessage = () => {
34
- return (
35
- <MessagePrimitive.Root>
36
- ...
37
- <ActionBarPrimitive.Root>
38
- ...
39
- <ActionBarPrimitive.Edit /> {/* <-- add a button to enable edit mode */}
40
- </ActionBarPrimitive.Root>
41
- </MessagePrimitive.Root>
42
- );
43
- };
44
-
45
- // define a wrapper component that handles both display and edit mode
46
- const MessageWithEditComposer = () => {
47
- const isEditing = useAuiState((s) => s.composer.isEditing);
48
- if (isEditing) return <EditComposer />;
49
- return <UserMessage />;
50
- };
51
-
52
- // define the edit composer component
53
- const EditComposer = () => {
54
- return (
55
- // you can return a MessagePrimitive including a ComposerPrimitive, or only a ComposerPrimitive
56
- <MessagePrimitive.Root>
57
- ...
58
- <ComposerPrimitive.Root>
59
- <ComposerPrimitive.Input />
60
- <ComposerPrimitive.Cancel />
61
- <ComposerPrimitive.Send />
62
- </ComposerPrimitive.Root>
63
- </MessagePrimitive.Root>
64
- );
65
- };
66
- ```
@@ -1,38 +0,0 @@
1
- ---
2
- title: Text-to-Speech (Speech Synthesis)
3
- description: Read messages aloud with Web Speech API or custom TTS.
4
- ---
5
-
6
- import { SpeechSample } from "@/components/docs/samples/speech";
7
-
8
- assistant-ui supports text-to-speech via the `SpeechSynthesisAdapter` interface.
9
-
10
- <SpeechSample />
11
-
12
- ## SpeechSynthesisAdapter
13
-
14
- Currently, the following speech synthesis adapters are supported:
15
-
16
- - `WebSpeechSynthesisAdapter`: Uses the browser's `Web Speech API`
17
-
18
- Support for other speech synthesis adapters is planned for the future.
19
-
20
- Passing a `SpeechSynthesisAdapter` to the runtime will enable text-to-speech support.
21
-
22
- ## UI
23
-
24
- The default action bar does not include a speech button. You need to add `ActionBarPrimitive.Speak` and `ActionBarPrimitive.StopSpeaking` to your assistant message action bar manually. See the example above for a complete implementation.
25
-
26
- ## Example
27
-
28
- The following example uses the `WebSpeechSynthesisAdapter`.
29
-
30
- ```tsx
31
- import { WebSpeechSynthesisAdapter } from "@assistant-ui/react";
32
-
33
- const runtime = useChatRuntime({
34
- adapters: {
35
- speech: new WebSpeechSynthesisAdapter(),
36
- },
37
- });
38
- ```
@@ -1,40 +0,0 @@
1
- ---
2
- title: <TextMessagePartProvider />
3
- description: Context provider for reusing text components outside of message content.
4
- ---
5
-
6
- The `TextMessagePartProvider` provides data and APIs for `TextMessagePart` components.
7
-
8
- This is useful if you want to reuse the same `Text` component outside of a message text, e.g. with the `@assistant-ui/react-markdown` package.
9
-
10
- ```tsx
11
- import { TextMessagePartProvider } from "@assistant-ui/react";
12
-
13
- const MyApp = () => {
14
- return (
15
- <TextMessagePartProvider text={"Hello!"}>
16
- <MyMarkdownText />
17
- </TextMessagePartProvider>
18
- );
19
- };
20
- ```
21
-
22
- #### Properties
23
-
24
- <ParametersTable
25
- type="TextMessagePartProviderProps"
26
- parameters={[
27
- {
28
- name: "text",
29
- type: "string",
30
- required: true,
31
- description: "The text content to provide to child components.",
32
- },
33
- {
34
- name: "isRunning",
35
- type: "boolean",
36
- required: false,
37
- description: "Whether the text is still being streamed. Defaults to false.",
38
- },
39
- ]}
40
- />
@@ -1,260 +0,0 @@
1
- ---
2
- title: "@assistant-ui/react-data-stream"
3
- description: Hooks for connecting to data stream protocol endpoints and Assistant Cloud.
4
- ---
5
-
6
- Data Stream protocol integration for assistant-ui.
7
-
8
-
9
- ## API Reference
10
-
11
- ### `useDataStreamRuntime`
12
-
13
- Create a runtime that connects to a data stream protocol endpoint.
14
-
15
- ```tsx
16
- import { useDataStreamRuntime } from "@assistant-ui/react-data-stream";
17
-
18
- const MyRuntimeProvider = ({ children }: { children: React.ReactNode }) => {
19
- const runtime = useDataStreamRuntime({
20
- api: "/api/chat",
21
- });
22
-
23
- return (
24
- <AssistantRuntimeProvider runtime={runtime}>
25
- {children}
26
- </AssistantRuntimeProvider>
27
- );
28
- };
29
- ```
30
-
31
- <ParametersTable
32
- parameters={[
33
- {
34
- name: "api",
35
- type: "string",
36
- description: "The API endpoint URL for the data stream protocol.",
37
- },
38
- {
39
- name: "protocol",
40
- type: '"ui-message-stream" | "data-stream"',
41
- description: 'The streaming protocol to use. Defaults to "ui-message-stream". Use "data-stream" for legacy AI SDK compatibility.',
42
- },
43
- {
44
- name: "onData",
45
- type: "(data: { type: string; name: string; data: unknown; transient?: boolean }) => void",
46
- description: "Optional callback for data-* parts. Only applies when using the ui-message-stream protocol.",
47
- },
48
- {
49
- name: "onResponse",
50
- type: "(response: Response) => void | Promise<void>",
51
- description: "Optional callback called when a response is received.",
52
- },
53
- {
54
- name: "onFinish",
55
- type: "(message: ThreadMessage) => void",
56
- description: "Optional callback called when a message is finished.",
57
- },
58
- {
59
- name: "onError",
60
- type: "(error: Error) => void",
61
- description: "Optional callback called when an error occurs.",
62
- },
63
- {
64
- name: "onCancel",
65
- type: "() => void",
66
- description: "Optional callback called when a request is cancelled.",
67
- },
68
- {
69
- name: "credentials",
70
- type: "RequestCredentials",
71
- description: "Optional credentials mode for the fetch request.",
72
- },
73
- {
74
- name: "headers",
75
- type: "Record<string, string> | Headers | (() => Promise<Record<string, string> | Headers>)",
76
- description: "Optional headers to include in the request.",
77
- },
78
- {
79
- name: "body",
80
- type: "object | (() => Promise<object | undefined>)",
81
- description: "Optional additional body parameters to include in the request. Can be an object or an async function that returns one.",
82
- },
83
- {
84
- name: "sendExtraMessageFields",
85
- type: "boolean",
86
- description: "Whether to include extra message fields like IDs in the request.",
87
- },
88
- ]}
89
- />
90
-
91
- ### `useCloudRuntime`
92
-
93
- Create a runtime that connects to Assistant Cloud using the data stream protocol.
94
-
95
- ```tsx
96
- import { useCloudRuntime } from "@assistant-ui/react-data-stream";
97
-
98
- const MyRuntimeProvider = ({ children }: { children: React.ReactNode }) => {
99
- const runtime = useCloudRuntime({
100
- cloud: assistantCloud,
101
- assistantId: "my-assistant-id",
102
- });
103
-
104
- return (
105
- <AssistantRuntimeProvider runtime={runtime}>
106
- {children}
107
- </AssistantRuntimeProvider>
108
- );
109
- };
110
- ```
111
-
112
- <ParametersTable
113
- parameters={[
114
- {
115
- name: "cloud",
116
- type: "AssistantCloud",
117
- description: "The Assistant Cloud instance.",
118
- },
119
- {
120
- name: "assistantId",
121
- type: "string",
122
- description: "The ID of the assistant to connect to.",
123
- },
124
- {
125
- name: "protocol",
126
- type: '"ui-message-stream" | "data-stream"',
127
- description: 'The streaming protocol to use. Defaults to "ui-message-stream". Use "data-stream" for legacy AI SDK compatibility.',
128
- },
129
- {
130
- name: "onData",
131
- type: "(data: { type: string; name: string; data: unknown; transient?: boolean }) => void",
132
- description: "Optional callback for data-* parts. Only applies when using the ui-message-stream protocol.",
133
- },
134
- {
135
- name: "onResponse",
136
- type: "(response: Response) => void | Promise<void>",
137
- description: "Optional callback called when a response is received.",
138
- },
139
- {
140
- name: "onFinish",
141
- type: "(message: ThreadMessage) => void",
142
- description: "Optional callback called when a message is finished.",
143
- },
144
- {
145
- name: "onError",
146
- type: "(error: Error) => void",
147
- description: "Optional callback called when an error occurs.",
148
- },
149
- {
150
- name: "onCancel",
151
- type: "() => void",
152
- description: "Optional callback called when a request is cancelled.",
153
- },
154
- {
155
- name: "credentials",
156
- type: "RequestCredentials",
157
- description: "Optional credentials mode for the fetch request.",
158
- },
159
- {
160
- name: "headers",
161
- type: "Record<string, string> | Headers | (() => Promise<Record<string, string> | Headers>)",
162
- description: "Optional headers to include in the request.",
163
- },
164
- {
165
- name: "body",
166
- type: "object | (() => Promise<object | undefined>)",
167
- description: "Optional additional body parameters to include in the request. Can be an object or an async function that returns one.",
168
- },
169
- {
170
- name: "sendExtraMessageFields",
171
- type: "boolean",
172
- description: "Whether to include extra message fields like IDs in the request.",
173
- },
174
- ]}
175
- />
176
-
177
- ### `toLanguageModelMessages`
178
-
179
- Convert assistant-ui messages to AI SDK's `LanguageModelV2Message` format.
180
-
181
- <Callout type="info">
182
- For custom integrations, consider using `toGenericMessages` from `assistant-stream` instead.
183
- This function is specific to the AI SDK format.
184
- </Callout>
185
-
186
- ```tsx
187
- import { toLanguageModelMessages } from "@assistant-ui/react-data-stream";
188
-
189
- const languageModelMessages = toLanguageModelMessages(messages, {
190
- unstable_includeId: true,
191
- });
192
- ```
193
-
194
- <ParametersTable
195
- parameters={[
196
- {
197
- name: "messages",
198
- type: "readonly ThreadMessage[]",
199
- description: "The messages to convert.",
200
- },
201
- {
202
- name: "options",
203
- type: "{ unstable_includeId?: boolean }",
204
- description: "Optional conversion options.",
205
- children: [
206
- {
207
- type: "{ unstable_includeId?: boolean }",
208
- parameters: [
209
- {
210
- name: "unstable_includeId",
211
- type: "boolean",
212
- description: "Whether to include message IDs in the converted messages.",
213
- },
214
- ],
215
- },
216
- ],
217
- },
218
- ]}
219
- />
220
-
221
- ---
222
-
223
- ## Framework-Agnostic Utilities
224
-
225
- For custom integrations that don't use the AI SDK, use these utilities from `assistant-stream`:
226
-
227
- ### `toGenericMessages`
228
-
229
- Convert thread messages to a framework-agnostic format.
230
-
231
- ```tsx
232
- import { toGenericMessages } from "assistant-stream";
233
-
234
- const genericMessages = toGenericMessages(messages);
235
- ```
236
-
237
- Returns an array of `GenericMessage` which can be one of:
238
- - `{ role: "system"; content: string }`
239
- - `{ role: "user"; content: (GenericTextPart | GenericFilePart)[] }`
240
- - `{ role: "assistant"; content: (GenericTextPart | GenericToolCallPart)[] }`
241
- - `{ role: "tool"; content: GenericToolResultPart[] }`
242
-
243
- ### `toToolsJSONSchema`
244
-
245
- Convert tool definitions to JSON Schema format.
246
-
247
- ```tsx
248
- import { toToolsJSONSchema } from "assistant-stream";
249
-
250
- const toolSchemas = toToolsJSONSchema(tools);
251
- // Returns: Record<string, { description?: string; parameters: JSONSchema7 }>
252
- ```
253
-
254
- By default, filters out disabled tools and backend-only tools. Use the `filter` option to customize:
255
-
256
- ```tsx
257
- const allTools = toToolsJSONSchema(tools, {
258
- filter: () => true, // Include all tools
259
- });
260
- ```