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

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 (459) hide show
  1. package/README.md +16 -43
  2. package/dist/index.d.ts +2 -3
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +3 -91
  5. package/dist/index.js.map +1 -1
  6. package/dist/proxy.d.ts +9 -0
  7. package/dist/proxy.d.ts.map +1 -0
  8. package/dist/proxy.js +76 -0
  9. package/dist/proxy.js.map +1 -0
  10. package/package.json +9 -13
  11. package/src/index.ts +3 -115
  12. package/src/proxy.test.ts +250 -0
  13. package/src/proxy.ts +111 -0
  14. package/.docs/organized/code-examples/waterfall.md +0 -807
  15. package/.docs/organized/code-examples/with-a2a.md +0 -674
  16. package/.docs/organized/code-examples/with-ag-ui.md +0 -552
  17. package/.docs/organized/code-examples/with-ai-sdk-v7.md +0 -465
  18. package/.docs/organized/code-examples/with-artifacts.md +0 -814
  19. package/.docs/organized/code-examples/with-assistant-transport.md +0 -575
  20. package/.docs/organized/code-examples/with-browser-extension.md +0 -371
  21. package/.docs/organized/code-examples/with-chain-of-thought.md +0 -960
  22. package/.docs/organized/code-examples/with-cloud-standalone.md +0 -681
  23. package/.docs/organized/code-examples/with-cloud.md +0 -438
  24. package/.docs/organized/code-examples/with-custom-thread-list.md +0 -568
  25. package/.docs/organized/code-examples/with-elevenlabs-conversational.md +0 -526
  26. package/.docs/organized/code-examples/with-elevenlabs-scribe.md +0 -696
  27. package/.docs/organized/code-examples/with-eve.md +0 -404
  28. package/.docs/organized/code-examples/with-expo.md +0 -2063
  29. package/.docs/organized/code-examples/with-external-store.md +0 -420
  30. package/.docs/organized/code-examples/with-ffmpeg.md +0 -828
  31. package/.docs/organized/code-examples/with-generative-ui.md +0 -1812
  32. package/.docs/organized/code-examples/with-google-adk.md +0 -367
  33. package/.docs/organized/code-examples/with-heat-graph.md +0 -304
  34. package/.docs/organized/code-examples/with-image-generation.md +0 -462
  35. package/.docs/organized/code-examples/with-interactables.md +0 -732
  36. package/.docs/organized/code-examples/with-langchain.md +0 -445
  37. package/.docs/organized/code-examples/with-langgraph.md +0 -854
  38. package/.docs/organized/code-examples/with-livekit.md +0 -642
  39. package/.docs/organized/code-examples/with-mcp.md +0 -780
  40. package/.docs/organized/code-examples/with-nuxt.md +0 -2428
  41. package/.docs/organized/code-examples/with-opencode.md +0 -1974
  42. package/.docs/organized/code-examples/with-openui.md +0 -449
  43. package/.docs/organized/code-examples/with-pi.md +0 -2083
  44. package/.docs/organized/code-examples/with-react-hook-form.md +0 -724
  45. package/.docs/organized/code-examples/with-react-ink-web.md +0 -690
  46. package/.docs/organized/code-examples/with-react-ink.md +0 -472
  47. package/.docs/organized/code-examples/with-react-router.md +0 -935
  48. package/.docs/organized/code-examples/with-resumable-stream.md +0 -667
  49. package/.docs/organized/code-examples/with-store.md +0 -679
  50. package/.docs/organized/code-examples/with-svelte.md +0 -415
  51. package/.docs/organized/code-examples/with-sveltekit.md +0 -1061
  52. package/.docs/organized/code-examples/with-tanstack.md +0 -811
  53. package/.docs/organized/code-examples/with-tap-runtime.md +0 -812
  54. package/.docs/organized/code-examples/with-virtualized-thread.md +0 -680
  55. package/.docs/organized/code-examples/with-vue.md +0 -408
  56. package/.docs/raw/docs/(docs)/architecture.mdx +0 -146
  57. package/.docs/raw/docs/(docs)/base-ui.mdx +0 -39
  58. package/.docs/raw/docs/(docs)/cli.mdx +0 -542
  59. package/.docs/raw/docs/(docs)/devtools.mdx +0 -79
  60. package/.docs/raw/docs/(docs)/index.mdx +0 -21
  61. package/.docs/raw/docs/(docs)/installation.mdx +0 -483
  62. package/.docs/raw/docs/(docs)/llm.mdx +0 -211
  63. package/.docs/raw/docs/(docs)/rtl.mdx +0 -78
  64. package/.docs/raw/docs/(reference)/api-reference/adapters/attachments.mdx +0 -36
  65. package/.docs/raw/docs/(reference)/api-reference/adapters/feedback.mdx +0 -20
  66. package/.docs/raw/docs/(reference)/api-reference/adapters/index.mdx +0 -34
  67. package/.docs/raw/docs/(reference)/api-reference/adapters/model.mdx +0 -44
  68. package/.docs/raw/docs/(reference)/api-reference/adapters/persistence.mdx +0 -59
  69. package/.docs/raw/docs/(reference)/api-reference/adapters/runtime.mdx +0 -20
  70. package/.docs/raw/docs/(reference)/api-reference/adapters/suggestions.mdx +0 -20
  71. package/.docs/raw/docs/(reference)/api-reference/context-providers/assistant-runtime-provider.mdx +0 -84
  72. package/.docs/raw/docs/(reference)/api-reference/context-providers/index.mdx +0 -22
  73. package/.docs/raw/docs/(reference)/api-reference/context-providers/scoped-providers.mdx +0 -64
  74. package/.docs/raw/docs/(reference)/api-reference/external-store/index.mdx +0 -22
  75. package/.docs/raw/docs/(reference)/api-reference/external-store/message-conversion.mdx +0 -52
  76. package/.docs/raw/docs/(reference)/api-reference/external-store/runtime.mdx +0 -49
  77. package/.docs/raw/docs/(reference)/api-reference/generative-ui/a2ui.mdx +0 -40
  78. package/.docs/raw/docs/(reference)/api-reference/generative-ui/actions.mdx +0 -56
  79. package/.docs/raw/docs/(reference)/api-reference/generative-ui/components.mdx +0 -86
  80. package/.docs/raw/docs/(reference)/api-reference/generative-ui/index.mdx +0 -39
  81. package/.docs/raw/docs/(reference)/api-reference/generative-ui/json-generative-ui.mdx +0 -42
  82. package/.docs/raw/docs/(reference)/api-reference/generative-ui/rendering.mdx +0 -84
  83. package/.docs/raw/docs/(reference)/api-reference/generative-ui/slack.mdx +0 -85
  84. package/.docs/raw/docs/(reference)/api-reference/generative-ui/spec.mdx +0 -45
  85. package/.docs/raw/docs/(reference)/api-reference/generative-ui/teams.mdx +0 -93
  86. package/.docs/raw/docs/(reference)/api-reference/generative-ui/tokens.mdx +0 -62
  87. package/.docs/raw/docs/(reference)/api-reference/hooks/composer-triggers.mdx +0 -129
  88. package/.docs/raw/docs/(reference)/api-reference/hooks/index.mdx +0 -31
  89. package/.docs/raw/docs/(reference)/api-reference/hooks/model-context.mdx +0 -34
  90. package/.docs/raw/docs/(reference)/api-reference/hooks/primitives.mdx +0 -350
  91. package/.docs/raw/docs/(reference)/api-reference/hooks/runtimes.mdx +0 -28
  92. package/.docs/raw/docs/(reference)/api-reference/hooks/state.mdx +0 -97
  93. package/.docs/raw/docs/(reference)/api-reference/integrations/cloud-ai-sdk.mdx +0 -24
  94. package/.docs/raw/docs/(reference)/api-reference/integrations/eve.mdx +0 -97
  95. package/.docs/raw/docs/(reference)/api-reference/integrations/index.mdx +0 -28
  96. package/.docs/raw/docs/(reference)/api-reference/integrations/react-ai-sdk.mdx +0 -200
  97. package/.docs/raw/docs/(reference)/api-reference/integrations/react-data-stream.mdx +0 -37
  98. package/.docs/raw/docs/(reference)/api-reference/model-context/context.mdx +0 -50
  99. package/.docs/raw/docs/(reference)/api-reference/model-context/index.mdx +0 -22
  100. package/.docs/raw/docs/(reference)/api-reference/model-context/registry.mdx +0 -20
  101. package/.docs/raw/docs/(reference)/api-reference/overview.mdx +0 -566
  102. package/.docs/raw/docs/(reference)/api-reference/primitives/action-bar-more.mdx +0 -152
  103. package/.docs/raw/docs/(reference)/api-reference/primitives/action-bar.mdx +0 -239
  104. package/.docs/raw/docs/(reference)/api-reference/primitives/assistant-if.mdx +0 -208
  105. package/.docs/raw/docs/(reference)/api-reference/primitives/assistant-modal.mdx +0 -108
  106. package/.docs/raw/docs/(reference)/api-reference/primitives/attachment.mdx +0 -99
  107. package/.docs/raw/docs/(reference)/api-reference/primitives/branch-picker.mdx +0 -145
  108. package/.docs/raw/docs/(reference)/api-reference/primitives/chain-of-thought.mdx +0 -82
  109. package/.docs/raw/docs/(reference)/api-reference/primitives/composer.mdx +0 -619
  110. package/.docs/raw/docs/(reference)/api-reference/primitives/composition.mdx +0 -22
  111. package/.docs/raw/docs/(reference)/api-reference/primitives/error.mdx +0 -65
  112. package/.docs/raw/docs/(reference)/api-reference/primitives/index.mdx +0 -73
  113. package/.docs/raw/docs/(reference)/api-reference/primitives/message-part.mdx +0 -117
  114. package/.docs/raw/docs/(reference)/api-reference/primitives/message.mdx +0 -339
  115. package/.docs/raw/docs/(reference)/api-reference/primitives/queue-item.mdx +0 -77
  116. package/.docs/raw/docs/(reference)/api-reference/primitives/selection-toolbar.mdx +0 -88
  117. package/.docs/raw/docs/(reference)/api-reference/primitives/suggestion.mdx +0 -81
  118. package/.docs/raw/docs/(reference)/api-reference/primitives/thread-list-item-more.mdx +0 -129
  119. package/.docs/raw/docs/(reference)/api-reference/primitives/thread-list-item.mdx +0 -138
  120. package/.docs/raw/docs/(reference)/api-reference/primitives/thread-list.mdx +0 -122
  121. package/.docs/raw/docs/(reference)/api-reference/primitives/thread.mdx +0 -289
  122. package/.docs/raw/docs/(reference)/api-reference/runtimes/assistant-runtime.mdx +0 -20
  123. package/.docs/raw/docs/(reference)/api-reference/runtimes/attachment-runtime.mdx +0 -24
  124. package/.docs/raw/docs/(reference)/api-reference/runtimes/composer-runtime.mdx +0 -32
  125. package/.docs/raw/docs/(reference)/api-reference/runtimes/index.mdx +0 -43
  126. package/.docs/raw/docs/(reference)/api-reference/runtimes/message-part-runtime.mdx +0 -43
  127. package/.docs/raw/docs/(reference)/api-reference/runtimes/message-runtime.mdx +0 -24
  128. package/.docs/raw/docs/(reference)/api-reference/runtimes/queue-state.mdx +0 -20
  129. package/.docs/raw/docs/(reference)/api-reference/runtimes/thread-list-item-runtime.mdx +0 -24
  130. package/.docs/raw/docs/(reference)/api-reference/runtimes/thread-list-runtime.mdx +0 -24
  131. package/.docs/raw/docs/(reference)/api-reference/runtimes/thread-runtime.mdx +0 -36
  132. package/.docs/raw/docs/(reference)/api-reference/tools/component-tools.mdx +0 -85
  133. package/.docs/raw/docs/(reference)/api-reference/tools/index.mdx +0 -45
  134. package/.docs/raw/docs/(reference)/api-reference/tools/interactables-legacy.mdx +0 -55
  135. package/.docs/raw/docs/(reference)/api-reference/tools/interactables.mdx +0 -151
  136. package/.docs/raw/docs/(reference)/api-reference/tools/rendering.mdx +0 -106
  137. package/.docs/raw/docs/(reference)/api-reference/tools/status.mdx +0 -62
  138. package/.docs/raw/docs/(reference)/api-reference/tools/toolkits.mdx +0 -178
  139. package/.docs/raw/docs/(reference)/api-reference/transport/assistant-transport.mdx +0 -48
  140. package/.docs/raw/docs/(reference)/api-reference/transport/frame.mdx +0 -62
  141. package/.docs/raw/docs/(reference)/api-reference/transport/index.mdx +0 -22
  142. package/.docs/raw/docs/(reference)/api-reference/utilities/index.mdx +0 -19
  143. package/.docs/raw/docs/(reference)/api-reference/utilities/miscellaneous.mdx +0 -149
  144. package/.docs/raw/docs/(reference)/api-reference/voice/index.mdx +0 -22
  145. package/.docs/raw/docs/(reference)/api-reference/voice/session.mdx +0 -54
  146. package/.docs/raw/docs/(reference)/api-reference/voice/speech-dictation.mdx +0 -36
  147. package/.docs/raw/docs/cloud/ai-sdk-assistant-ui.mdx +0 -527
  148. package/.docs/raw/docs/cloud/ai-sdk.mdx +0 -602
  149. package/.docs/raw/docs/cloud/authorization.mdx +0 -252
  150. package/.docs/raw/docs/cloud/index.mdx +0 -46
  151. package/.docs/raw/docs/cloud/langgraph.mdx +0 -554
  152. package/.docs/raw/docs/copilots/assistant-frame.mdx +0 -400
  153. package/.docs/raw/docs/copilots/make-assistant-visible.mdx +0 -82
  154. package/.docs/raw/docs/copilots/model-context.mdx +0 -156
  155. package/.docs/raw/docs/copilots/motivation.mdx +0 -202
  156. package/.docs/raw/docs/copilots/use-assistant-instructions.mdx +0 -64
  157. package/.docs/raw/docs/guides/attachments.mdx +0 -619
  158. package/.docs/raw/docs/guides/branching.mdx +0 -76
  159. package/.docs/raw/docs/guides/chain-of-thought.mdx +0 -164
  160. package/.docs/raw/docs/guides/chatgpt-subscription.mdx +0 -108
  161. package/.docs/raw/docs/guides/context-api.mdx +0 -619
  162. package/.docs/raw/docs/guides/dictation.mdx +0 -298
  163. package/.docs/raw/docs/guides/editing.mdx +0 -102
  164. package/.docs/raw/docs/guides/electron.mdx +0 -369
  165. package/.docs/raw/docs/guides/headless-composer-input.mdx +0 -113
  166. package/.docs/raw/docs/guides/image-generation.mdx +0 -74
  167. package/.docs/raw/docs/guides/index.mdx +0 -117
  168. package/.docs/raw/docs/guides/input-history.mdx +0 -55
  169. package/.docs/raw/docs/guides/latex.mdx +0 -158
  170. package/.docs/raw/docs/guides/mentions.mdx +0 -575
  171. package/.docs/raw/docs/guides/message-timing.mdx +0 -209
  172. package/.docs/raw/docs/guides/quoting.mdx +0 -169
  173. package/.docs/raw/docs/guides/resumable-stream-deployment.mdx +0 -212
  174. package/.docs/raw/docs/guides/resumable-stream-stores.mdx +0 -152
  175. package/.docs/raw/docs/guides/resumable-streams.mdx +0 -292
  176. package/.docs/raw/docs/guides/slash-commands.mdx +0 -358
  177. package/.docs/raw/docs/guides/speech.mdx +0 -172
  178. package/.docs/raw/docs/guides/suggestions.mdx +0 -384
  179. package/.docs/raw/docs/guides/virtualization.mdx +0 -133
  180. package/.docs/raw/docs/guides/voice.mdx +0 -310
  181. package/.docs/raw/docs/ink/adapters.mdx +0 -99
  182. package/.docs/raw/docs/ink/custom-backend.mdx +0 -254
  183. package/.docs/raw/docs/ink/hooks.mdx +0 -469
  184. package/.docs/raw/docs/ink/index.mdx +0 -236
  185. package/.docs/raw/docs/ink/migration.mdx +0 -138
  186. package/.docs/raw/docs/ink/primitives.mdx +0 -1259
  187. package/.docs/raw/docs/integrations/attachments/custom-adapter.mdx +0 -528
  188. package/.docs/raw/docs/integrations/auth/better-auth.mdx +0 -188
  189. package/.docs/raw/docs/integrations/auth/clerk.mdx +0 -166
  190. package/.docs/raw/docs/integrations/auth/next-auth.mdx +0 -191
  191. package/.docs/raw/docs/integrations/frameworks/ai-sdk.mdx +0 -88
  192. package/.docs/raw/docs/integrations/frameworks/cloudflare-agents/overview.mdx +0 -282
  193. package/.docs/raw/docs/integrations/frameworks/mastra/full-stack.mdx +0 -188
  194. package/.docs/raw/docs/integrations/frameworks/mastra/overview.mdx +0 -57
  195. package/.docs/raw/docs/integrations/frameworks/mastra/separate-server.mdx +0 -201
  196. package/.docs/raw/docs/integrations/gateways/index.mdx +0 -162
  197. package/.docs/raw/docs/integrations/index.mdx +0 -178
  198. package/.docs/raw/docs/integrations/observability/helicone.mdx +0 -129
  199. package/.docs/raw/docs/integrations/observability/langfuse.mdx +0 -161
  200. package/.docs/raw/docs/integrations/observability/langsmith.mdx +0 -151
  201. package/.docs/raw/docs/integrations/persistence/custom-adapter.mdx +0 -773
  202. package/.docs/raw/docs/migrations/deprecation-policy.mdx +0 -42
  203. package/.docs/raw/docs/migrations/index.mdx +0 -50
  204. package/.docs/raw/docs/migrations/react-compatibility.mdx +0 -74
  205. package/.docs/raw/docs/migrations/react-langgraph-v0-7.mdx +0 -328
  206. package/.docs/raw/docs/migrations/toolkit-tools.mdx +0 -236
  207. package/.docs/raw/docs/migrations/v0-11.mdx +0 -172
  208. package/.docs/raw/docs/migrations/v0-12.mdx +0 -302
  209. package/.docs/raw/docs/migrations/v0-14.mdx +0 -297
  210. package/.docs/raw/docs/migrations/v0-15.mdx +0 -270
  211. package/.docs/raw/docs/primitives/action-bar.mdx +0 -352
  212. package/.docs/raw/docs/primitives/assistant-modal.mdx +0 -216
  213. package/.docs/raw/docs/primitives/attachment.mdx +0 -217
  214. package/.docs/raw/docs/primitives/branch-picker.mdx +0 -222
  215. package/.docs/raw/docs/primitives/chain-of-thought.mdx +0 -315
  216. package/.docs/raw/docs/primitives/composer.mdx +0 -659
  217. package/.docs/raw/docs/primitives/error.mdx +0 -142
  218. package/.docs/raw/docs/primitives/index.mdx +0 -99
  219. package/.docs/raw/docs/primitives/message.mdx +0 -618
  220. package/.docs/raw/docs/primitives/selection-toolbar.mdx +0 -191
  221. package/.docs/raw/docs/primitives/suggestion.mdx +0 -254
  222. package/.docs/raw/docs/primitives/thread-list.mdx +0 -467
  223. package/.docs/raw/docs/primitives/thread.mdx +0 -509
  224. package/.docs/raw/docs/react-native/adapters.mdx +0 -94
  225. package/.docs/raw/docs/react-native/custom-backend.mdx +0 -207
  226. package/.docs/raw/docs/react-native/hooks.mdx +0 -339
  227. package/.docs/raw/docs/react-native/index.mdx +0 -289
  228. package/.docs/raw/docs/react-native/migration.mdx +0 -142
  229. package/.docs/raw/docs/react-native/primitives.mdx +0 -839
  230. package/.docs/raw/docs/runtimes/a2a/client-and-hooks.mdx +0 -399
  231. package/.docs/raw/docs/runtimes/a2a/overview.mdx +0 -60
  232. package/.docs/raw/docs/runtimes/a2a/quickstart.mdx +0 -216
  233. package/.docs/raw/docs/runtimes/ag-ui/agent-state.mdx +0 -124
  234. package/.docs/raw/docs/runtimes/ag-ui/overview.mdx +0 -70
  235. package/.docs/raw/docs/runtimes/ag-ui/quickstart.mdx +0 -243
  236. package/.docs/raw/docs/runtimes/ag-ui/runtime-options.mdx +0 -255
  237. package/.docs/raw/docs/runtimes/ai-sdk/overview.mdx +0 -61
  238. package/.docs/raw/docs/runtimes/ai-sdk/v4-legacy.mdx +0 -122
  239. package/.docs/raw/docs/runtimes/ai-sdk/v5-legacy.mdx +0 -135
  240. package/.docs/raw/docs/runtimes/ai-sdk/v6-legacy.mdx +0 -636
  241. package/.docs/raw/docs/runtimes/ai-sdk/v7.mdx +0 -716
  242. package/.docs/raw/docs/runtimes/claude-managed-agents.mdx +0 -118
  243. package/.docs/raw/docs/runtimes/concepts/adapters.mdx +0 -265
  244. package/.docs/raw/docs/runtimes/concepts/architecture.mdx +0 -167
  245. package/.docs/raw/docs/runtimes/concepts/stability.mdx +0 -68
  246. package/.docs/raw/docs/runtimes/concepts/threads.mdx +0 -513
  247. package/.docs/raw/docs/runtimes/custom/assistant-transport.mdx +0 -763
  248. package/.docs/raw/docs/runtimes/custom/data-stream.mdx +0 -339
  249. package/.docs/raw/docs/runtimes/custom/external-store.mdx +0 -957
  250. package/.docs/raw/docs/runtimes/custom/local-runtime.mdx +0 -902
  251. package/.docs/raw/docs/runtimes/custom/overview.mdx +0 -71
  252. package/.docs/raw/docs/runtimes/eve/overview.mdx +0 -151
  253. package/.docs/raw/docs/runtimes/eve/quickstart.mdx +0 -192
  254. package/.docs/raw/docs/runtimes/google-adk/api.mdx +0 -256
  255. package/.docs/raw/docs/runtimes/google-adk/hooks.mdx +0 -784
  256. package/.docs/raw/docs/runtimes/google-adk/overview.mdx +0 -69
  257. package/.docs/raw/docs/runtimes/google-adk/quickstart.mdx +0 -229
  258. package/.docs/raw/docs/runtimes/langchain.mdx +0 -901
  259. package/.docs/raw/docs/runtimes/langgraph/agent-state.mdx +0 -181
  260. package/.docs/raw/docs/runtimes/langgraph/generative-ui.mdx +0 -305
  261. package/.docs/raw/docs/runtimes/langgraph/interrupts.mdx +0 -104
  262. package/.docs/raw/docs/runtimes/langgraph/overview.mdx +0 -84
  263. package/.docs/raw/docs/runtimes/langgraph/quickstart.mdx +0 -496
  264. package/.docs/raw/docs/runtimes/langgraph/streaming.mdx +0 -144
  265. package/.docs/raw/docs/runtimes/langgraph/threads.mdx +0 -113
  266. package/.docs/raw/docs/runtimes/langgraph/tutorial/introduction.mdx +0 -29
  267. package/.docs/raw/docs/runtimes/langgraph/tutorial/part-1.mdx +0 -93
  268. package/.docs/raw/docs/runtimes/langgraph/tutorial/part-2.mdx +0 -347
  269. package/.docs/raw/docs/runtimes/langgraph/tutorial/part-3.mdx +0 -393
  270. package/.docs/raw/docs/runtimes/opencode/hooks.mdx +0 -194
  271. package/.docs/raw/docs/runtimes/opencode/overview.mdx +0 -58
  272. package/.docs/raw/docs/runtimes/opencode/quickstart.mdx +0 -119
  273. package/.docs/raw/docs/runtimes/pick-a-runtime.mdx +0 -133
  274. package/.docs/raw/docs/tools/a2ui.mdx +0 -107
  275. package/.docs/raw/docs/tools/backend.mdx +0 -147
  276. package/.docs/raw/docs/tools/defining-tools.mdx +0 -574
  277. package/.docs/raw/docs/tools/dynamic-tools.mdx +0 -112
  278. package/.docs/raw/docs/tools/generative-ui-primitive.mdx +0 -180
  279. package/.docs/raw/docs/tools/generative-ui-slack.mdx +0 -167
  280. package/.docs/raw/docs/tools/generative-ui-teams.mdx +0 -160
  281. package/.docs/raw/docs/tools/generative-ui.mdx +0 -322
  282. package/.docs/raw/docs/tools/index.mdx +0 -72
  283. package/.docs/raw/docs/tools/interactables.mdx +0 -1084
  284. package/.docs/raw/docs/tools/mcp-apps.mdx +0 -346
  285. package/.docs/raw/docs/tools/mcp.mdx +0 -466
  286. package/.docs/raw/docs/tools/multi-agent.mdx +0 -237
  287. package/.docs/raw/docs/tools/openui.mdx +0 -175
  288. package/.docs/raw/docs/tools/tool-ui.mdx +0 -1008
  289. package/.docs/raw/docs/tools/user-managed-mcp.mdx +0 -428
  290. package/.docs/raw/docs/ui/accordion.mdx +0 -266
  291. package/.docs/raw/docs/ui/assistant-modal.mdx +0 -166
  292. package/.docs/raw/docs/ui/assistant-sidebar.mdx +0 -89
  293. package/.docs/raw/docs/ui/attachment.mdx +0 -259
  294. package/.docs/raw/docs/ui/badge.mdx +0 -150
  295. package/.docs/raw/docs/ui/composer-trigger-popover.mdx +0 -212
  296. package/.docs/raw/docs/ui/context-display.mdx +0 -148
  297. package/.docs/raw/docs/ui/diff-viewer.mdx +0 -280
  298. package/.docs/raw/docs/ui/directive-text.mdx +0 -114
  299. package/.docs/raw/docs/ui/dot-matrix.mdx +0 -133
  300. package/.docs/raw/docs/ui/file.mdx +0 -159
  301. package/.docs/raw/docs/ui/follow-up-suggestions.mdx +0 -82
  302. package/.docs/raw/docs/ui/image.mdx +0 -102
  303. package/.docs/raw/docs/ui/markdown.mdx +0 -64
  304. package/.docs/raw/docs/ui/mcp-config.mdx +0 -107
  305. package/.docs/raw/docs/ui/mermaid.mdx +0 -92
  306. package/.docs/raw/docs/ui/message-timing.mdx +0 -93
  307. package/.docs/raw/docs/ui/model-selector.mdx +0 -455
  308. package/.docs/raw/docs/ui/number-roll.mdx +0 -154
  309. package/.docs/raw/docs/ui/part-grouping.mdx +0 -614
  310. package/.docs/raw/docs/ui/quote.mdx +0 -211
  311. package/.docs/raw/docs/ui/reasoning.mdx +0 -186
  312. package/.docs/raw/docs/ui/scrollbar.mdx +0 -77
  313. package/.docs/raw/docs/ui/select.mdx +0 -254
  314. package/.docs/raw/docs/ui/sources.mdx +0 -177
  315. package/.docs/raw/docs/ui/streamdown.mdx +0 -392
  316. package/.docs/raw/docs/ui/syntax-highlighting.mdx +0 -205
  317. package/.docs/raw/docs/ui/tabs.mdx +0 -271
  318. package/.docs/raw/docs/ui/thread-list.mdx +0 -372
  319. package/.docs/raw/docs/ui/thread.mdx +0 -512
  320. package/.docs/raw/docs/ui/tool-fallback.mdx +0 -127
  321. package/.docs/raw/docs/ui/tool-group.mdx +0 -240
  322. package/.docs/raw/docs/ui/voice.mdx +0 -173
  323. package/.docs/raw/docs/utilities/heat-graph.mdx +0 -237
  324. package/.docs/raw/docs/utilities/react-o11y.mdx +0 -362
  325. package/.docs/raw/docs/utilities/tw-shimmer.mdx +0 -212
  326. package/dist/constants.d.ts +0 -14
  327. package/dist/constants.d.ts.map +0 -1
  328. package/dist/constants.js +0 -19
  329. package/dist/constants.js.map +0 -1
  330. package/dist/prepare-docs/code-examples.d.ts +0 -5
  331. package/dist/prepare-docs/code-examples.d.ts.map +0 -1
  332. package/dist/prepare-docs/code-examples.js +0 -117
  333. package/dist/prepare-docs/code-examples.js.map +0 -1
  334. package/dist/prepare-docs/copy-raw.d.ts +0 -5
  335. package/dist/prepare-docs/copy-raw.d.ts.map +0 -1
  336. package/dist/prepare-docs/copy-raw.js +0 -49
  337. package/dist/prepare-docs/copy-raw.js.map +0 -1
  338. package/dist/prepare-docs/prepare.d.ts +0 -1
  339. package/dist/prepare-docs/prepare.js +0 -22
  340. package/dist/prepare-docs/prepare.js.map +0 -1
  341. package/dist/prompts/xulux-playground.d.ts +0 -12
  342. package/dist/prompts/xulux-playground.d.ts.map +0 -1
  343. package/dist/prompts/xulux-playground.js +0 -33
  344. package/dist/prompts/xulux-playground.js.map +0 -1
  345. package/dist/tools/docs.d.ts +0 -22
  346. package/dist/tools/docs.d.ts.map +0 -1
  347. package/dist/tools/docs.js +0 -177
  348. package/dist/tools/docs.js.map +0 -1
  349. package/dist/tools/examples.d.ts +0 -24
  350. package/dist/tools/examples.d.ts.map +0 -1
  351. package/dist/tools/examples.js +0 -87
  352. package/dist/tools/examples.js.map +0 -1
  353. package/dist/tools/resources.d.ts +0 -6
  354. package/dist/tools/resources.d.ts.map +0 -1
  355. package/dist/tools/resources.js +0 -75
  356. package/dist/tools/resources.js.map +0 -1
  357. package/dist/tools/search.d.ts +0 -24
  358. package/dist/tools/search.d.ts.map +0 -1
  359. package/dist/tools/search.js +0 -39
  360. package/dist/tools/search.js.map +0 -1
  361. package/dist/tools/tests/mcp-test-client.d.ts +0 -15
  362. package/dist/tools/tests/mcp-test-client.d.ts.map +0 -1
  363. package/dist/tools/tests/mcp-test-client.js +0 -68
  364. package/dist/tools/tests/mcp-test-client.js.map +0 -1
  365. package/dist/tools/tests/test-setup.d.ts +0 -7
  366. package/dist/tools/tests/test-setup.d.ts.map +0 -1
  367. package/dist/tools/tests/test-setup.js +0 -36
  368. package/dist/tools/tests/test-setup.js.map +0 -1
  369. package/dist/tools/xulux-templates.d.ts +0 -58
  370. package/dist/tools/xulux-templates.d.ts.map +0 -1
  371. package/dist/tools/xulux-templates.js +0 -84
  372. package/dist/tools/xulux-templates.js.map +0 -1
  373. package/dist/utils/cache.d.ts +0 -5
  374. package/dist/utils/cache.d.ts.map +0 -1
  375. package/dist/utils/cache.js +0 -18
  376. package/dist/utils/cache.js.map +0 -1
  377. package/dist/utils/logger.d.ts +0 -10
  378. package/dist/utils/logger.d.ts.map +0 -1
  379. package/dist/utils/logger.js +0 -20
  380. package/dist/utils/logger.js.map +0 -1
  381. package/dist/utils/mcp-format.d.ts +0 -11
  382. package/dist/utils/mcp-format.d.ts.map +0 -1
  383. package/dist/utils/mcp-format.js +0 -14
  384. package/dist/utils/mcp-format.js.map +0 -1
  385. package/dist/utils/mdx.d.ts +0 -12
  386. package/dist/utils/mdx.d.ts.map +0 -1
  387. package/dist/utils/mdx.js +0 -45
  388. package/dist/utils/mdx.js.map +0 -1
  389. package/dist/utils/paths.d.ts +0 -12
  390. package/dist/utils/paths.d.ts.map +0 -1
  391. package/dist/utils/paths.js +0 -93
  392. package/dist/utils/paths.js.map +0 -1
  393. package/dist/utils/search.d.ts +0 -10
  394. package/dist/utils/search.d.ts.map +0 -1
  395. package/dist/utils/search.js +0 -97
  396. package/dist/utils/search.js.map +0 -1
  397. package/dist/utils/security.d.ts +0 -5
  398. package/dist/utils/security.d.ts.map +0 -1
  399. package/dist/utils/security.js +0 -22
  400. package/dist/utils/security.js.map +0 -1
  401. package/dist/xulux/catalog-client.d.ts +0 -14
  402. package/dist/xulux/catalog-client.d.ts.map +0 -1
  403. package/dist/xulux/catalog-client.js +0 -67
  404. package/dist/xulux/catalog-client.js.map +0 -1
  405. package/dist/xulux/fallback-catalog.d.ts +0 -7
  406. package/dist/xulux/fallback-catalog.d.ts.map +0 -1
  407. package/dist/xulux/fallback-catalog.js +0 -47
  408. package/dist/xulux/fallback-catalog.js.map +0 -1
  409. package/dist/xulux/fetch-sandbox.d.ts +0 -5
  410. package/dist/xulux/fetch-sandbox.d.ts.map +0 -1
  411. package/dist/xulux/fetch-sandbox.js +0 -40
  412. package/dist/xulux/fetch-sandbox.js.map +0 -1
  413. package/dist/xulux/template-service.d.ts +0 -84
  414. package/dist/xulux/template-service.d.ts.map +0 -1
  415. package/dist/xulux/template-service.js +0 -223
  416. package/dist/xulux/template-service.js.map +0 -1
  417. package/dist/xulux/types.d.ts +0 -55
  418. package/dist/xulux/types.d.ts.map +0 -1
  419. package/dist/xulux/types.js +0 -6
  420. package/dist/xulux/types.js.map +0 -1
  421. package/src/constants.ts +0 -24
  422. package/src/prepare-docs/code-examples.ts +0 -158
  423. package/src/prepare-docs/copy-raw.ts +0 -50
  424. package/src/prepare-docs/prepare.ts +0 -24
  425. package/src/prompts/xulux-playground.ts +0 -36
  426. package/src/tools/docs.ts +0 -255
  427. package/src/tools/examples.ts +0 -114
  428. package/src/tools/resources.ts +0 -111
  429. package/src/tools/search.ts +0 -46
  430. package/src/tools/tests/completions.test.ts +0 -60
  431. package/src/tools/tests/directory-size-cap.test.ts +0 -50
  432. package/src/tools/tests/docs.test.ts +0 -144
  433. package/src/tools/tests/examples.test.ts +0 -94
  434. package/src/tools/tests/integration.test.ts +0 -45
  435. package/src/tools/tests/json-parsing.test.ts +0 -23
  436. package/src/tools/tests/listings-cache.test.ts +0 -19
  437. package/src/tools/tests/mcp-protocol.test.ts +0 -216
  438. package/src/tools/tests/mcp-test-client.ts +0 -111
  439. package/src/tools/tests/path-traversal.test.ts +0 -81
  440. package/src/tools/tests/resources.test.ts +0 -133
  441. package/src/tools/tests/search.test.ts +0 -37
  442. package/src/tools/tests/test-setup.ts +0 -50
  443. package/src/tools/tests/xulux-templates.test.ts +0 -262
  444. package/src/tools/xulux-templates.ts +0 -141
  445. package/src/utils/cache.ts +0 -20
  446. package/src/utils/logger.ts +0 -20
  447. package/src/utils/mcp-format.ts +0 -14
  448. package/src/utils/mdx.ts +0 -59
  449. package/src/utils/paths.ts +0 -139
  450. package/src/utils/search.ts +0 -131
  451. package/src/utils/security.ts +0 -52
  452. package/src/utils/tests/cache.test.ts +0 -51
  453. package/src/utils/tests/mcp-format.test.ts +0 -22
  454. package/src/utils/tests/security.test.ts +0 -119
  455. package/src/xulux/catalog-client.ts +0 -105
  456. package/src/xulux/fallback-catalog.ts +0 -63
  457. package/src/xulux/fetch-sandbox.ts +0 -56
  458. package/src/xulux/template-service.ts +0 -406
  459. package/src/xulux/types.ts +0 -60
@@ -1,114 +0,0 @@
1
- ---
2
- title: Directive Text
3
- description: Render mention directives as inline chips in user messages.
4
- platforms: ["react"]
5
- ---
6
-
7
- import { DirectiveTextSample } from "@/components/docs/samples/directive-text";
8
-
9
- <DirectiveTextSample />
10
-
11
- `DirectiveText` parses the directive syntax written by [`ComposerTriggerPopover`](/docs/ui/composer-trigger-popover) (default: `:type[label]{name=id}`) and renders each segment as an inline chip. Use it as the `Text` component in user messages so the raw directive syntax never shows up.
12
-
13
- ## Getting Started
14
-
15
- <Steps>
16
- <Step>
17
-
18
- ### Add `directive-text`
19
-
20
- <InstallCommand shadcn={["directive-text"]} />
21
-
22
- This adds `/components/assistant-ui/directive-text.tsx` with `DirectiveText` and the `createDirectiveText(formatter, options?)` factory.
23
-
24
- </Step>
25
- <Step>
26
-
27
- ### Use in user messages
28
-
29
- Pass `DirectiveText` as the `Text` component in `MessagePrimitive.Parts`:
30
-
31
- ```tsx title="components/assistant-ui/thread.tsx"
32
- import { DirectiveText } from "@/components/assistant-ui/directive-text";
33
-
34
- const UserMessage = () => (
35
- <MessagePrimitive.Root>
36
- <MessagePrimitive.Parts components={{ Text: DirectiveText }} />
37
- </MessagePrimitive.Root>
38
- );
39
- ```
40
-
41
- Keep your markdown renderer (e.g. `MarkdownText`) for assistant messages — assistants rarely emit directive syntax.
42
-
43
- </Step>
44
- </Steps>
45
-
46
- ## Icons per Directive Type
47
-
48
- `DirectiveText` ships icon-free by default — every parsed segment renders as a plain label chip regardless of its `type`. To add icons, use the `createDirectiveText` factory and pass an `iconMap` that routes each `type` string to an icon component, plus an optional `fallbackIcon` for unmapped types:
49
-
50
- ```tsx
51
- import { createDirectiveText } from "@/components/assistant-ui/directive-text";
52
- import { unstable_defaultDirectiveFormatter } from "@assistant-ui/react";
53
- import { FileTextIcon, SparklesIcon, UserIcon, WrenchIcon } from "lucide-react";
54
-
55
- const DirectiveTextWithIcons = createDirectiveText(
56
- unstable_defaultDirectiveFormatter,
57
- {
58
- iconMap: {
59
- tool: WrenchIcon,
60
- user: UserIcon,
61
- file: FileTextIcon,
62
- },
63
- fallbackIcon: SparklesIcon,
64
- },
65
- );
66
-
67
- <MessagePrimitive.Parts components={{ Text: DirectiveTextWithIcons }} />;
68
- ```
69
-
70
- A matching `iconMap` / `fallbackIcon` option is accepted by [`ComposerTriggerPopover`](/docs/ui/composer-trigger-popover), where it routes `item.metadata.icon` strings instead of `type` — keeping icon configuration consistent across the composer and the rendered message.
71
-
72
- ## Custom Formatter
73
-
74
- The default format is `:type[label]{name=id}`. For a different format, build a custom `Unstable_DirectiveFormatter` and wrap it with `createDirectiveText`:
75
-
76
- ```tsx
77
- import type { Unstable_DirectiveFormatter } from "@assistant-ui/react";
78
- import { createDirectiveText } from "@/components/assistant-ui/directive-text";
79
-
80
- const slashFormatter: Unstable_DirectiveFormatter = {
81
- serialize: (item) => `/${item.id}`,
82
- parse: (text) => {
83
- /* return alternating text / mention segments */
84
- },
85
- };
86
-
87
- const SlashDirectiveText = createDirectiveText(slashFormatter);
88
- ```
89
-
90
- Pass the **same formatter** to the composer trigger's `directive={{ formatter }}` (or `action={{ formatter }}`) so insertion and rendering stay consistent.
91
-
92
- ## Customizing the Chip
93
-
94
- Because `directive-text.tsx` is copied into your project, you can also edit it directly — swap the chip styling, read `data-directive-id` to link to a detail page, or replace the chip wrapper entirely.
95
-
96
- ## API Reference
97
-
98
- ### `DirectiveText`
99
-
100
- A `TextMessagePartComponent` that parses `:type[label]{name=id}` directives and renders them as inline chips. Uses the default formatter from `@assistant-ui/react` and renders chips without icons. For per-type icons, build a component with `createDirectiveText(formatter, { iconMap })`.
101
-
102
- ### `createDirectiveText(formatter, options?)`
103
-
104
- Factory that returns a `TextMessagePartComponent` bound to a custom `Unstable_DirectiveFormatter`.
105
-
106
- | Option | Type | Description |
107
- | --- | --- | --- |
108
- | `iconMap` | `Record<string, ComponentType<{ className?: string }>>` | Maps a directive segment's `type` to an icon rendered inside the chip |
109
- | `fallbackIcon` | `ComponentType<{ className?: string }>` | Icon used when no `iconMap` entry matches. When neither option resolves, the chip renders without an icon. |
110
-
111
- ## Related
112
-
113
- - [Composer Trigger Popover](/docs/ui/composer-trigger-popover) — the picker that inserts directives
114
- - [Mentions guide](/docs/guides/mentions) — directive format, backend parsing
@@ -1,133 +0,0 @@
1
- ---
2
- title: Dot Matrix
3
- description: Tiny 5x5 dot-matrix indicator with 20 state-specific blink patterns.
4
- platforms: ["react"]
5
- ---
6
-
7
- import { PreviewCode } from "@/components/docs/preview-code.server";
8
- import {
9
- DotMatrixSample,
10
- DotMatrixLifecycleSample,
11
- DotMatrixInlineSample,
12
- DotMatrixSizesSample,
13
- } from "@/components/docs/samples/dot-matrix";
14
-
15
- <Callout>
16
- This is a **standalone component** that does not depend on the assistant-ui runtime. Use it anywhere in your application.
17
- </Callout>
18
-
19
- <DotMatrixSample />
20
-
21
- ## Installation
22
-
23
- <InstallCommand shadcn={["dot-matrix"]} />
24
-
25
- This adds a `/components/assistant-ui/dot-matrix.tsx` file to your project, which you can adjust as needed. The component has no dependencies beyond React.
26
-
27
- ## Usage
28
-
29
- ```tsx
30
- import { DotMatrix } from "@/components/assistant-ui/dot-matrix";
31
-
32
- export function RunIndicator({ isRunning }: { isRunning: boolean }) {
33
- return <DotMatrix state={isRunning ? "loading" : "success"} />;
34
- }
35
- ```
36
-
37
- Dots inherit the surrounding text color, so the matrix renders dark dots on light backgrounds and light dots on dark backgrounds without configuration. Every state is a combination of a dot pattern, a motion, and a color, and switching states cross-fades each dot into its new pattern.
38
-
39
- ## States
40
-
41
- | State | Pattern |
42
- |-------|---------|
43
- | `idle` | Dim static grid |
44
- | `loading` | Randomized twinkle (default) |
45
- | `thinking` | Diagonal wave |
46
- | `streaming` | Falling rain, per-column streaks |
47
- | `searching` | Horizontal sweep |
48
- | `syncing` | Rotating sweep around the center |
49
- | `connecting` | Ripple expanding from the center |
50
- | `waiting` | Ellipsis dots blinking in sequence |
51
- | `uploading` | Wave rising upward |
52
- | `downloading` | Wave falling downward |
53
- | `listening` | Slow equalizer columns |
54
- | `speaking` | Fast equalizer columns |
55
- | `recording` | Red center dot breathing |
56
- | `success` | Green check glyph, static |
57
- | `error` | Red cross glyph, blinking |
58
- | `warning` | Amber exclamation glyph, slow blink |
59
- | `info` | Blue info glyph, static |
60
- | `paused` | Pause bars glyph, static |
61
- | `stopped` | Square glyph, static |
62
- | `offline` | Very dim static grid |
63
-
64
- The component exports `dotMatrixStates` (the ordered list above) and the `DotMatrixState` union type, so UIs can enumerate or map states without duplicating the list. New states are added by extending the `STATES` record in the component source with a glyph and a per-dot blink function.
65
-
66
- ## Examples
67
-
68
- ### State Lifecycle
69
-
70
- Drive the `state` prop from your run status; the matrix morphs between patterns instead of swapping components.
71
-
72
- <PreviewCode file="components/docs/samples/dot-matrix" name="DotMatrixLifecycleSample">
73
- <DotMatrixLifecycleSample />
74
- </PreviewCode>
75
-
76
- ### Inline With Text
77
-
78
- At the default `size-4` the matrix aligns with text like an icon, and the dots adapt to inverted surfaces through `currentColor`.
79
-
80
- <PreviewCode file="components/docs/samples/dot-matrix" name="DotMatrixInlineSample">
81
- <DotMatrixInlineSample />
82
- </PreviewCode>
83
-
84
- ### Sizes
85
-
86
- The matrix is an SVG, so any size utility scales it crisply.
87
-
88
- <DotMatrixSizesSample />
89
-
90
- ## How It Works
91
-
92
- The grid is a 5x5 SVG of `currentColor` circles. Blinking is a single CSS keyframe animation whose high/low opacity bounds come from registered per-dot CSS variables; the animation runs in every state (static states collapse the bounds) and the bounds carry a transition, which is what makes state changes cross-fade per dot. The randomized loading rhythm uses deterministic per-dot delays and durations, so server and client render identical markup and no JavaScript runs after render. With `prefers-reduced-motion`, the dots hold their resting opacity instead of blinking.
93
-
94
- The root is a `role="status"` live region whose text content is the state name (or the `label` prop), so screen readers announce state changes; the SVG itself is `aria-hidden`.
95
-
96
- ## API Reference
97
-
98
- ### DotMatrix
99
-
100
- <ParametersTable
101
- type="DotMatrixProps"
102
- parameters={[
103
- {
104
- name: "state",
105
- type: "DotMatrixState",
106
- default: '"loading"',
107
- description:
108
- "One of the 20 built-in states listed above, controlling pattern, motion, and color.",
109
- },
110
- {
111
- name: "label",
112
- type: "string",
113
- description:
114
- "Accessible label announced by screen readers. Defaults to the state name.",
115
- },
116
- {
117
- name: "className",
118
- type: "string",
119
- description:
120
- "Additional CSS classes. Use size utilities to scale and text color utilities to recolor.",
121
- },
122
- ]}
123
- />
124
-
125
- ### Styling
126
-
127
- Color follows `currentColor`, so `className="text-blue-500"` recolors the whole matrix; the outcome states (`success`, `error`, `warning`, `info`, `recording`, and the muted static states) set their own color which a `className` can override. Dots are targetable via `[data-slot="dot-matrix"]` and `[data-slot="dot-matrix-dot"]`, and the current state is exposed as `data-state` on the root.
128
-
129
- ## Related Components
130
-
131
- - [Number Roll](/docs/ui/number-roll) - Animated rolling number
132
- - [Badge](/docs/ui/badge) - Small status and metadata labels
133
- - [Voice](/docs/ui/voice) - Voice activity visualization
@@ -1,159 +0,0 @@
1
- ---
2
- title: File
3
- description: Display file message parts with icon, name, size, and download button.
4
- platforms: ["react"]
5
- ---
6
-
7
- import { FileSample } from "@/components/docs/samples/file";
8
-
9
- <FileSample />
10
-
11
- ## Getting Started
12
-
13
- <Steps>
14
- <Step>
15
-
16
- ### Add `file`
17
-
18
- <InstallCommand shadcn={["file"]} />
19
-
20
- </Step>
21
- <Step>
22
-
23
- ### Use in your application
24
-
25
- The shipped `Thread` component renders `file` parts through `File` by default, in both assistant and user messages. In a custom thread, pass `File` to `MessagePrimitive.Parts`:
26
-
27
- ```tsx title="/components/assistant-ui/thread.tsx" {1,8}
28
- import { File } from "@/components/assistant-ui/file";
29
-
30
- const UserMessage: FC = () => {
31
- return (
32
- <MessagePrimitive.Root className="...">
33
- <MessagePrimitive.Parts>
34
- {({ part }) => {
35
- if (part.type === "file") return <File {...part} />;
36
- return null;
37
- }}
38
- </MessagePrimitive.Parts>
39
- </MessagePrimitive.Root>
40
- );
41
- };
42
- ```
43
-
44
- </Step>
45
- </Steps>
46
-
47
- ## Variants
48
-
49
- Use the `variant` prop to change the visual style.
50
-
51
- ```tsx
52
- <File.Root variant="outline" /> // Border (default)
53
- <File.Root variant="ghost" /> // No border
54
- <File.Root variant="muted" /> // Background fill
55
- ```
56
-
57
- ## Sizes
58
-
59
- Use the `size` prop to change padding and font size.
60
-
61
- ```tsx
62
- <File.Root size="sm" /> // Compact
63
- <File.Root size="default" /> // Default
64
- <File.Root size="lg" /> // Larger
65
- ```
66
-
67
- ## MimeType Icons
68
-
69
- The component automatically selects an appropriate icon based on the file's MIME type:
70
-
71
- | MIME Type | Icon |
72
- |-----------|------|
73
- | `image/*` | ImageIcon |
74
- | `application/pdf` | FileTextIcon |
75
- | `application/json` | BracesIcon |
76
- | `text/*` | FileTextIcon |
77
- | `audio/*` | MusicIcon |
78
- | `video/*` | VideoIcon |
79
- | fallback | FileIcon |
80
-
81
- ## API Reference
82
-
83
- ### Composable API
84
-
85
- The component exports composable sub-components:
86
-
87
- ```tsx
88
- import {
89
- File,
90
- FileRoot,
91
- FileIconDisplay,
92
- FileName,
93
- FileSize,
94
- FileDownload,
95
- } from "@/components/assistant-ui/file";
96
-
97
- <FileRoot variant="muted" size="lg">
98
- <FileIconDisplay mimeType="application/pdf" />
99
- <div className="flex flex-col gap-0.5">
100
- <FileName>report.pdf</FileName>
101
- <FileSize bytes={2048} className="text-xs" />
102
- </div>
103
- <FileDownload
104
- data="SGVsbG8gV29ybGQh"
105
- mimeType="application/pdf"
106
- filename="report.pdf"
107
- />
108
- </FileRoot>
109
- ```
110
-
111
- | Component | Description |
112
- |-----------|-------------|
113
- | `File` | Default export, renders complete file part |
114
- | `File.Root` | Container with variant and size styling |
115
- | `File.Icon` | MIME type-aware icon, or pass custom `children` |
116
- | `File.Name` | Truncated filename |
117
- | `File.Size` | Human-readable file size |
118
- | `File.Download` | Download link button; renders nothing without a browser-resolvable target (`sourceType: "id"`, urls that are not http(s)/blob/data) |
119
-
120
- ### Custom Icon
121
-
122
- Pass `children` to `File.Icon` to override the default MIME type icon:
123
-
124
- ```tsx
125
- <File.Icon>
126
- <MyCustomIcon className="size-5" />
127
- </File.Icon>
128
- ```
129
-
130
- ## Utilities
131
-
132
- The component also exports utility functions:
133
-
134
- ```tsx
135
- import {
136
- getMimeTypeIcon,
137
- getFileDataKind,
138
- getBase64Size,
139
- formatFileSize,
140
- } from "@/components/assistant-ui/file";
141
-
142
- // Get icon component for a MIME type
143
- const Icon = getMimeTypeIcon("application/pdf"); // FileTextIcon
144
-
145
- // Classify the data field of a file part; a declared sourceType wins over sniffing, except a data: payload declared as "url"
146
- const kind = getFileDataKind("https://example.com/report.pdf"); // "url"
147
- const ref = getFileDataKind("file-abc123", "id"); // "id"
148
-
149
- // Calculate size from base64 string
150
- const bytes = getBase64Size("SGVsbG8gV29ybGQh"); // 12
151
-
152
- // Format bytes to human-readable
153
- const size = formatFileSize(2048); // "2.0 KB"
154
- ```
155
-
156
- ## Related Components
157
-
158
- - [Image](/docs/ui/image) - Image message parts
159
- - [Attachment](/docs/ui/attachment) - File attachments in composer and messages
@@ -1,82 +0,0 @@
1
- ---
2
- title: Follow-Up Suggestions
3
- description: Render runtime-generated follow-up prompt chips after an assistant response.
4
- platforms: ["react"]
5
- ---
6
-
7
- import { FollowUpSuggestionsSample } from "@/components/docs/samples/follow-up-suggestions";
8
-
9
- <FollowUpSuggestionsSample />
10
-
11
- `ThreadFollowupSuggestions` renders the current thread's runtime suggestions as clickable prompt chips. Use it for follow-up prompts that arrive after a response, such as suggested next questions, refinements, or task shortcuts.
12
-
13
- <Callout type="info">
14
- This component reads from `thread.suggestions`. For static welcome-screen prompts, use `ThreadPrimitive.Suggestions` instead.
15
- </Callout>
16
-
17
- ## Getting Started
18
-
19
- <Steps>
20
- <Step>
21
-
22
- ### Add `follow-up-suggestions`
23
-
24
- <InstallCommand shadcn={["follow-up-suggestions"]} />
25
-
26
- This adds a `/components/assistant-ui/follow-up-suggestions.tsx` file to your project. The default `thread` component already renders `ThreadFollowupSuggestions`, so installing it standalone is only needed when you build your own thread layout.
27
-
28
- </Step>
29
- <Step>
30
-
31
- ### Provide runtime suggestions
32
-
33
- Pass suggestions through your runtime. External-store runtimes, AI SDK runtimes, and local runtimes can all surface follow-up prompts through `thread.suggestions`.
34
-
35
- ```tsx title="/app/assistant.tsx" {7-10}
36
- const runtime = useExternalStoreRuntime({
37
- messages,
38
- convertMessage,
39
- onNew: async (message) => {
40
- // append the message in your store
41
- },
42
- suggestions: [
43
- { prompt: "Summarize this as action items" },
44
- { prompt: "Write a shorter version" },
45
- ],
46
- });
47
- ```
48
-
49
- </Step>
50
- <Step>
51
-
52
- ### Render after messages
53
-
54
- Place `ThreadFollowupSuggestions` near the bottom of your thread viewport, after the assistant message list and before the composer.
55
-
56
- ```tsx title="/components/assistant-ui/thread.tsx" {1,10}
57
- import { ThreadFollowupSuggestions } from "@/components/assistant-ui/follow-up-suggestions";
58
-
59
- const ThreadViewportFooter = () => {
60
- return (
61
- <ThreadPrimitive.ViewportFooter>
62
- <ThreadPrimitive.ScrollToBottom />
63
- <ThreadFollowupSuggestions />
64
- <Composer />
65
- </ThreadPrimitive.ViewportFooter>
66
- );
67
- };
68
- ```
69
-
70
- </Step>
71
- </Steps>
72
-
73
- ## Behavior
74
-
75
- The component only renders when the thread is not empty, not currently running, and has at least one suggestion. Each suggestion uses `ThreadPrimitive.Suggestion`, replaces the composer text with the prompt, and sends it immediately.
76
-
77
- Suggestions stay on a single line. When they overflow, the row scrolls horizontally without a scrollbar, and each edge with clipped content fades out — so no fade shows at the start edge until you scroll.
78
-
79
- ## Related Components
80
-
81
- - [Thread](/docs/ui/thread) - Complete chat interface with message list and composer
82
- - [Suggestions guide](/docs/guides/suggestions) - Runtime and static suggestion patterns
@@ -1,102 +0,0 @@
1
- ---
2
- title: Image
3
- description: Display image message parts with preview, loading states, and fullscreen dialog.
4
- platforms: ["react"]
5
- ---
6
-
7
- import { ImageSample } from "@/components/docs/samples/image";
8
-
9
- <ImageSample />
10
-
11
- ## Getting Started
12
-
13
- <Steps>
14
- <Step>
15
-
16
- ### Add `image`
17
-
18
- <InstallCommand shadcn={["image"]} />
19
-
20
- </Step>
21
- <Step>
22
-
23
- ### Use in your application
24
-
25
- The shipped `Thread` component renders `image` parts through `Image` by default, in both assistant and user messages. In a custom thread, pass `Image` to `MessagePrimitive.Parts`:
26
-
27
- ```tsx title="/components/assistant-ui/thread.tsx" {1,8}
28
- import { Image } from "@/components/assistant-ui/image";
29
-
30
- const AssistantMessage: FC = () => {
31
- return (
32
- <MessagePrimitive.Root className="...">
33
- <MessagePrimitive.Parts>
34
- {({ part }) => {
35
- if (part.type === "image") return <Image {...part} />;
36
- return null;
37
- }}
38
- </MessagePrimitive.Parts>
39
- </MessagePrimitive.Root>
40
- );
41
- };
42
- ```
43
-
44
- </Step>
45
- </Steps>
46
-
47
- ## Variants
48
-
49
- Use the `variant` prop to change the visual style.
50
-
51
- ```tsx
52
- <Image.Root variant="outline" /> // Border (default)
53
- <Image.Root variant="ghost" /> // No border
54
- <Image.Root variant="muted" /> // Background fill
55
- ```
56
-
57
- ## Sizes
58
-
59
- Use the `size` prop to control the maximum width.
60
-
61
- ```tsx
62
- <Image.Root size="sm" /> // max-w-64 (256px)
63
- <Image.Root size="default" /> // max-w-96 (384px)
64
- <Image.Root size="lg" /> // max-w-[512px]
65
- <Image.Root size="full" /> // w-full
66
- ```
67
-
68
- ## API Reference
69
-
70
- ### Composable API
71
-
72
- The component exports composable sub-components:
73
-
74
- ```tsx
75
- import {
76
- Image,
77
- ImageRoot,
78
- ImagePreview,
79
- ImageFilename,
80
- ImageZoom,
81
- } from "@/components/assistant-ui/image";
82
-
83
- <ImageRoot variant="muted" size="lg">
84
- <ImageZoom src="https://example.com/photo.jpg" alt="Photo">
85
- <ImagePreview src="https://example.com/photo.jpg" alt="Photo" />
86
- </ImageZoom>
87
- <ImageFilename>photo.jpg</ImageFilename>
88
- </ImageRoot>
89
- ```
90
-
91
- | Component | Description |
92
- |-----------|-------------|
93
- | `Image` | Default export, renders complete image part |
94
- | `Image.Root` | Container with variant and size styling |
95
- | `Image.Preview` | Image container with loading/error states |
96
- | `Image.Filename` | Optional filename display below image |
97
- | `Image.Zoom` | Medium-style zoom overlay (click to expand, ESC to close) |
98
-
99
- ## Related Components
100
-
101
- - [Attachment](/docs/ui/attachment) - File attachments in composer and messages
102
- - [File](/docs/ui/file) - Non-image file message parts
@@ -1,64 +0,0 @@
1
- ---
2
- title: Markdown
3
- description: Display rich text with headings, lists, links, and code blocks.
4
- platforms: ["react"]
5
- ---
6
-
7
- import { MarkdownSample } from "@/components/docs/samples/markdown";
8
-
9
- <MarkdownSample />
10
-
11
- <Callout>
12
- Markdown support is already included by default in the `Thread` component.
13
- </Callout>
14
-
15
- ## Enabling markdown support
16
-
17
- <Steps>
18
-
19
- <Step>
20
- ### Add `markdown-text`
21
-
22
- <InstallCommand shadcn={["markdown-text"]} />
23
-
24
- This adds a `/components/assistant-ui/markdown-text.tsx` file to your project, which you can adjust as needed.
25
-
26
- </Step>
27
-
28
- <Step>
29
-
30
- ### Use it in your application
31
-
32
- Pass the `MarkdownText` component to the `MessagePrimitive.Parts` component
33
-
34
- ```tsx title="/components/assistant-ui/thread.tsx" {1,7}
35
- import { MarkdownText } from "@/components/assistant-ui/markdown-text";
36
-
37
- const AssistantMessage: FC = () => {
38
- return (
39
- <MessagePrimitive.Root className="...">
40
- <div className="...">
41
- <MessagePrimitive.Parts>
42
- {({ part }) => part.type === "text" ? <MarkdownText /> : null}
43
- </MessagePrimitive.Parts>
44
- </div>
45
- <AssistantActionBar />
46
-
47
- <BranchPicker className="..." />
48
- </MessagePrimitive.Root>
49
- );
50
- };
51
- ```
52
-
53
- </Step>
54
-
55
- </Steps>
56
-
57
- ## Syntax highlighting
58
-
59
- Syntax Highlighting is not included by default, see [Syntax Highlighting](/docs/ui/syntax-highlighting) to learn how to add it.
60
-
61
- ## Related Components
62
-
63
- - [Syntax Highlighting](/docs/ui/syntax-highlighting) - Add code highlighting to markdown
64
- - [Mermaid](/docs/ui/mermaid) - Render diagrams in markdown code blocks