@assistant-ui/mcp-docs-server 0.2.3 → 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 (452) 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 +8 -12
  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 -675
  16. package/.docs/organized/code-examples/with-ag-ui.md +0 -553
  17. package/.docs/organized/code-examples/with-ai-sdk-v7.md +0 -466
  18. package/.docs/organized/code-examples/with-artifacts.md +0 -815
  19. package/.docs/organized/code-examples/with-assistant-transport.md +0 -576
  20. package/.docs/organized/code-examples/with-browser-extension.md +0 -371
  21. package/.docs/organized/code-examples/with-chain-of-thought.md +0 -962
  22. package/.docs/organized/code-examples/with-cloud-standalone.md +0 -681
  23. package/.docs/organized/code-examples/with-cloud.md +0 -439
  24. package/.docs/organized/code-examples/with-custom-thread-list.md +0 -569
  25. package/.docs/organized/code-examples/with-elevenlabs-conversational.md +0 -527
  26. package/.docs/organized/code-examples/with-elevenlabs-scribe.md +0 -697
  27. package/.docs/organized/code-examples/with-eve.md +0 -405
  28. package/.docs/organized/code-examples/with-expo.md +0 -2246
  29. package/.docs/organized/code-examples/with-external-store.md +0 -421
  30. package/.docs/organized/code-examples/with-ffmpeg.md +0 -829
  31. package/.docs/organized/code-examples/with-generative-ui.md +0 -1810
  32. package/.docs/organized/code-examples/with-google-adk.md +0 -368
  33. package/.docs/organized/code-examples/with-heat-graph.md +0 -304
  34. package/.docs/organized/code-examples/with-image-generation.md +0 -463
  35. package/.docs/organized/code-examples/with-interactables.md +0 -733
  36. package/.docs/organized/code-examples/with-langchain.md +0 -446
  37. package/.docs/organized/code-examples/with-langgraph.md +0 -855
  38. package/.docs/organized/code-examples/with-livekit.md +0 -643
  39. package/.docs/organized/code-examples/with-mcp.md +0 -782
  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 -450
  43. package/.docs/organized/code-examples/with-pi.md +0 -2084
  44. package/.docs/organized/code-examples/with-react-hook-form.md +0 -727
  45. package/.docs/organized/code-examples/with-react-ink-web.md +0 -740
  46. package/.docs/organized/code-examples/with-react-ink.md +0 -473
  47. package/.docs/organized/code-examples/with-react-router.md +0 -936
  48. package/.docs/organized/code-examples/with-resumable-stream.md +0 -668
  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 -812
  53. package/.docs/organized/code-examples/with-tap-runtime.md +0 -813
  54. package/.docs/organized/code-examples/with-virtualized-thread.md +0 -681
  55. package/.docs/organized/code-examples/with-vue.md +0 -408
  56. package/.docs/raw/docs/(getting-started)/architecture.mdx +0 -146
  57. package/.docs/raw/docs/(getting-started)/base-ui.mdx +0 -39
  58. package/.docs/raw/docs/(getting-started)/cli.mdx +0 -542
  59. package/.docs/raw/docs/(getting-started)/devtools.mdx +0 -79
  60. package/.docs/raw/docs/(getting-started)/index.mdx +0 -23
  61. package/.docs/raw/docs/(getting-started)/installation.mdx +0 -483
  62. package/.docs/raw/docs/(getting-started)/llm.mdx +0 -211
  63. package/.docs/raw/docs/(getting-started)/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 -26
  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 -57
  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/ai-sdk.mdx +0 -200
  94. package/.docs/raw/docs/(reference)/api-reference/integrations/cloud-ai-sdk.mdx +0 -24
  95. package/.docs/raw/docs/(reference)/api-reference/integrations/eve.mdx +0 -118
  96. package/.docs/raw/docs/(reference)/api-reference/integrations/index.mdx +0 -28
  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 -637
  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 -152
  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 -604
  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 -411
  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 -215
  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 -237
  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.mdx +0 -283
  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 -976
  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 -267
  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 -731
  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 -363
  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 -1020
  289. package/.docs/raw/docs/tools/user-managed-mcp.mdx +0 -428
  290. package/.docs/raw/docs/ui/assistant-modal.mdx +0 -166
  291. package/.docs/raw/docs/ui/assistant-sidebar.mdx +0 -89
  292. package/.docs/raw/docs/ui/attachment.mdx +0 -279
  293. package/.docs/raw/docs/ui/composer-trigger-popover.mdx +0 -247
  294. package/.docs/raw/docs/ui/context-display.mdx +0 -148
  295. package/.docs/raw/docs/ui/directive-text.mdx +0 -114
  296. package/.docs/raw/docs/ui/file.mdx +0 -159
  297. package/.docs/raw/docs/ui/follow-up-suggestions.mdx +0 -82
  298. package/.docs/raw/docs/ui/image.mdx +0 -102
  299. package/.docs/raw/docs/ui/markdown.mdx +0 -103
  300. package/.docs/raw/docs/ui/mcp-config.mdx +0 -107
  301. package/.docs/raw/docs/ui/mermaid.mdx +0 -92
  302. package/.docs/raw/docs/ui/message-timing.mdx +0 -93
  303. package/.docs/raw/docs/ui/model-selector.mdx +0 -455
  304. package/.docs/raw/docs/ui/part-grouping.mdx +0 -614
  305. package/.docs/raw/docs/ui/quote.mdx +0 -211
  306. package/.docs/raw/docs/ui/reasoning.mdx +0 -214
  307. package/.docs/raw/docs/ui/scrollbar.mdx +0 -77
  308. package/.docs/raw/docs/ui/sources.mdx +0 -186
  309. package/.docs/raw/docs/ui/streamdown.mdx +0 -392
  310. package/.docs/raw/docs/ui/syntax-highlighting.mdx +0 -205
  311. package/.docs/raw/docs/ui/thread-list.mdx +0 -411
  312. package/.docs/raw/docs/ui/thread.mdx +0 -559
  313. package/.docs/raw/docs/ui/tool-fallback.mdx +0 -141
  314. package/.docs/raw/docs/ui/tool-group.mdx +0 -240
  315. package/.docs/raw/docs/ui/voice.mdx +0 -173
  316. package/.docs/raw/docs/utilities/heat-graph.mdx +0 -237
  317. package/.docs/raw/docs/utilities/react-o11y.mdx +0 -362
  318. package/.docs/raw/docs/utilities/tw-shimmer.mdx +0 -212
  319. package/dist/constants.d.ts +0 -14
  320. package/dist/constants.d.ts.map +0 -1
  321. package/dist/constants.js +0 -19
  322. package/dist/constants.js.map +0 -1
  323. package/dist/prepare-docs/code-examples.d.ts +0 -5
  324. package/dist/prepare-docs/code-examples.d.ts.map +0 -1
  325. package/dist/prepare-docs/code-examples.js +0 -117
  326. package/dist/prepare-docs/code-examples.js.map +0 -1
  327. package/dist/prepare-docs/copy-raw.d.ts +0 -5
  328. package/dist/prepare-docs/copy-raw.d.ts.map +0 -1
  329. package/dist/prepare-docs/copy-raw.js +0 -49
  330. package/dist/prepare-docs/copy-raw.js.map +0 -1
  331. package/dist/prepare-docs/prepare.d.ts +0 -1
  332. package/dist/prepare-docs/prepare.js +0 -22
  333. package/dist/prepare-docs/prepare.js.map +0 -1
  334. package/dist/prompts/xulux-playground.d.ts +0 -12
  335. package/dist/prompts/xulux-playground.d.ts.map +0 -1
  336. package/dist/prompts/xulux-playground.js +0 -33
  337. package/dist/prompts/xulux-playground.js.map +0 -1
  338. package/dist/tools/docs.d.ts +0 -22
  339. package/dist/tools/docs.d.ts.map +0 -1
  340. package/dist/tools/docs.js +0 -177
  341. package/dist/tools/docs.js.map +0 -1
  342. package/dist/tools/examples.d.ts +0 -24
  343. package/dist/tools/examples.d.ts.map +0 -1
  344. package/dist/tools/examples.js +0 -87
  345. package/dist/tools/examples.js.map +0 -1
  346. package/dist/tools/resources.d.ts +0 -6
  347. package/dist/tools/resources.d.ts.map +0 -1
  348. package/dist/tools/resources.js +0 -75
  349. package/dist/tools/resources.js.map +0 -1
  350. package/dist/tools/search.d.ts +0 -24
  351. package/dist/tools/search.d.ts.map +0 -1
  352. package/dist/tools/search.js +0 -39
  353. package/dist/tools/search.js.map +0 -1
  354. package/dist/tools/tests/mcp-test-client.d.ts +0 -15
  355. package/dist/tools/tests/mcp-test-client.d.ts.map +0 -1
  356. package/dist/tools/tests/mcp-test-client.js +0 -68
  357. package/dist/tools/tests/mcp-test-client.js.map +0 -1
  358. package/dist/tools/tests/test-setup.d.ts +0 -7
  359. package/dist/tools/tests/test-setup.d.ts.map +0 -1
  360. package/dist/tools/tests/test-setup.js +0 -36
  361. package/dist/tools/tests/test-setup.js.map +0 -1
  362. package/dist/tools/xulux-templates.d.ts +0 -58
  363. package/dist/tools/xulux-templates.d.ts.map +0 -1
  364. package/dist/tools/xulux-templates.js +0 -84
  365. package/dist/tools/xulux-templates.js.map +0 -1
  366. package/dist/utils/cache.d.ts +0 -5
  367. package/dist/utils/cache.d.ts.map +0 -1
  368. package/dist/utils/cache.js +0 -18
  369. package/dist/utils/cache.js.map +0 -1
  370. package/dist/utils/logger.d.ts +0 -10
  371. package/dist/utils/logger.d.ts.map +0 -1
  372. package/dist/utils/logger.js +0 -20
  373. package/dist/utils/logger.js.map +0 -1
  374. package/dist/utils/mcp-format.d.ts +0 -11
  375. package/dist/utils/mcp-format.d.ts.map +0 -1
  376. package/dist/utils/mcp-format.js +0 -14
  377. package/dist/utils/mcp-format.js.map +0 -1
  378. package/dist/utils/mdx.d.ts +0 -12
  379. package/dist/utils/mdx.d.ts.map +0 -1
  380. package/dist/utils/mdx.js +0 -45
  381. package/dist/utils/mdx.js.map +0 -1
  382. package/dist/utils/paths.d.ts +0 -12
  383. package/dist/utils/paths.d.ts.map +0 -1
  384. package/dist/utils/paths.js +0 -93
  385. package/dist/utils/paths.js.map +0 -1
  386. package/dist/utils/search.d.ts +0 -10
  387. package/dist/utils/search.d.ts.map +0 -1
  388. package/dist/utils/search.js +0 -97
  389. package/dist/utils/search.js.map +0 -1
  390. package/dist/utils/security.d.ts +0 -5
  391. package/dist/utils/security.d.ts.map +0 -1
  392. package/dist/utils/security.js +0 -22
  393. package/dist/utils/security.js.map +0 -1
  394. package/dist/xulux/catalog-client.d.ts +0 -14
  395. package/dist/xulux/catalog-client.d.ts.map +0 -1
  396. package/dist/xulux/catalog-client.js +0 -112
  397. package/dist/xulux/catalog-client.js.map +0 -1
  398. package/dist/xulux/fallback-catalog.d.ts +0 -7
  399. package/dist/xulux/fallback-catalog.d.ts.map +0 -1
  400. package/dist/xulux/fallback-catalog.js +0 -47
  401. package/dist/xulux/fallback-catalog.js.map +0 -1
  402. package/dist/xulux/fetch-sandbox.d.ts +0 -5
  403. package/dist/xulux/fetch-sandbox.d.ts.map +0 -1
  404. package/dist/xulux/fetch-sandbox.js +0 -40
  405. package/dist/xulux/fetch-sandbox.js.map +0 -1
  406. package/dist/xulux/template-service.d.ts +0 -84
  407. package/dist/xulux/template-service.d.ts.map +0 -1
  408. package/dist/xulux/template-service.js +0 -223
  409. package/dist/xulux/template-service.js.map +0 -1
  410. package/dist/xulux/types.d.ts +0 -55
  411. package/dist/xulux/types.d.ts.map +0 -1
  412. package/dist/xulux/types.js +0 -6
  413. package/dist/xulux/types.js.map +0 -1
  414. package/src/constants.ts +0 -24
  415. package/src/prepare-docs/code-examples.ts +0 -158
  416. package/src/prepare-docs/copy-raw.ts +0 -50
  417. package/src/prepare-docs/prepare.ts +0 -24
  418. package/src/prompts/xulux-playground.ts +0 -36
  419. package/src/tools/docs.ts +0 -255
  420. package/src/tools/examples.ts +0 -114
  421. package/src/tools/resources.ts +0 -111
  422. package/src/tools/search.ts +0 -46
  423. package/src/tools/tests/completions.test.ts +0 -60
  424. package/src/tools/tests/directory-size-cap.test.ts +0 -50
  425. package/src/tools/tests/docs.test.ts +0 -147
  426. package/src/tools/tests/examples.test.ts +0 -94
  427. package/src/tools/tests/integration.test.ts +0 -45
  428. package/src/tools/tests/json-parsing.test.ts +0 -23
  429. package/src/tools/tests/listings-cache.test.ts +0 -19
  430. package/src/tools/tests/mcp-protocol.test.ts +0 -216
  431. package/src/tools/tests/mcp-test-client.ts +0 -111
  432. package/src/tools/tests/path-traversal.test.ts +0 -84
  433. package/src/tools/tests/resources.test.ts +0 -133
  434. package/src/tools/tests/search.test.ts +0 -37
  435. package/src/tools/tests/test-setup.ts +0 -50
  436. package/src/tools/tests/xulux-templates.test.ts +0 -325
  437. package/src/tools/xulux-templates.ts +0 -141
  438. package/src/utils/cache.ts +0 -20
  439. package/src/utils/logger.ts +0 -20
  440. package/src/utils/mcp-format.ts +0 -14
  441. package/src/utils/mdx.ts +0 -59
  442. package/src/utils/paths.ts +0 -139
  443. package/src/utils/search.ts +0 -131
  444. package/src/utils/security.ts +0 -52
  445. package/src/utils/tests/cache.test.ts +0 -51
  446. package/src/utils/tests/mcp-format.test.ts +0 -22
  447. package/src/utils/tests/security.test.ts +0 -119
  448. package/src/xulux/catalog-client.ts +0 -150
  449. package/src/xulux/fallback-catalog.ts +0 -63
  450. package/src/xulux/fetch-sandbox.ts +0 -56
  451. package/src/xulux/template-service.ts +0 -406
  452. package/src/xulux/types.ts +0 -64
@@ -1,240 +0,0 @@
1
- ---
2
- title: ToolGroup
3
- description: Wrapper for consecutive tool calls with collapsible and styled options.
4
- platforms: ["react"]
5
- ---
6
-
7
- import {
8
- ToolGroupSample,
9
- ToolGroupStreamingSample,
10
- } from "@/components/pages/docs/samples/tool-group";
11
-
12
- A wrapper component that groups consecutive tool calls together, displaying them in a collapsible container with auto-expand behavior during streaming.
13
-
14
- <ToolGroupSample />
15
-
16
- ## Getting Started
17
-
18
- <Steps>
19
- <Step>
20
-
21
- ### Add `tool-group` and `tool-fallback`
22
-
23
- <InstallCommand shadcn={["tool-group", "tool-fallback"]} />
24
-
25
- This adds `/components/assistant-ui/tool-group.tsx` and `/components/assistant-ui/tool-fallback.tsx` files to your project, which you can adjust as needed.
26
-
27
- </Step>
28
- <Step>
29
-
30
- ### Use it in your application
31
-
32
- Use `MessagePrimitive.GroupedParts` with `groupPartByType` to map tool-call parts to `"group-tool"`. The group case wraps `children`; the tool-call leaf renders the resolved tool UI or your fallback.
33
-
34
- ```tsx title="/components/assistant-ui/thread.tsx"
35
- import { MessagePrimitive, groupPartByType } from "@assistant-ui/react";
36
- import { ToolFallback } from "@/components/assistant-ui/tool-fallback";
37
- import {
38
- ToolGroupContent,
39
- ToolGroupRoot,
40
- ToolGroupTrigger,
41
- } from "@/components/assistant-ui/tool-group";
42
-
43
- const AssistantMessage = () => {
44
- return (
45
- <MessagePrimitive.Root>
46
- <MessagePrimitive.GroupedParts
47
- groupBy={groupPartByType({
48
- "tool-call": ["group-tool"],
49
- })}
50
- >
51
- {({ part, children }) => {
52
- switch (part.type) {
53
- case "group-tool":
54
- return (
55
- <ToolGroupRoot>
56
- <ToolGroupTrigger
57
- count={part.indices.length}
58
- active={part.status.type === "running"}
59
- />
60
- <ToolGroupContent>{children}</ToolGroupContent>
61
- </ToolGroupRoot>
62
- );
63
- case "tool-call":
64
- return part.toolUI ?? <ToolFallback {...part} />;
65
- default:
66
- return null;
67
- }
68
- }}
69
- </MessagePrimitive.GroupedParts>
70
- </MessagePrimitive.Root>
71
- );
72
- };
73
- ```
74
-
75
- </Step>
76
- </Steps>
77
-
78
- ## Variants
79
-
80
- Use the `variant` prop on `ToolGroup.Root` to change the visual style:
81
-
82
- ```tsx
83
- <ToolGroup.Root variant="outline">...</ToolGroup.Root>
84
- <ToolGroup.Root variant="muted">...</ToolGroup.Root>
85
- ```
86
-
87
- | Variant | Description |
88
- | --------- | ---------------------------------- |
89
- | `outline` | Rounded border (default) |
90
- | `ghost` | No additional styling |
91
- | `muted` | Muted background with border |
92
-
93
- ## Examples
94
-
95
- ### Streaming Demo (Custom UI + Fallback)
96
-
97
- Interactive demo showing tool group with **custom tool UIs** and `ToolFallback` working together. Watch as weather cards stream in with loading states, followed by a search tool using the fallback UI.
98
-
99
- <ToolGroupStreamingSample />
100
-
101
- ### Custom Tool UIs
102
-
103
- ToolGroup works with any custom tool UI components:
104
-
105
- ```tsx
106
- // Custom Weather Tool UI
107
- function WeatherToolUI({ location, temperature, condition }) {
108
- return (
109
- <div className="flex items-center gap-3 rounded-lg border p-3">
110
- <WeatherIcon condition={condition} />
111
- <div>
112
- <div className="text-xs text-muted-foreground">{location}</div>
113
- <div className="text-lg font-medium">{temperature}°F</div>
114
- </div>
115
- </div>
116
- );
117
- }
118
-
119
- // Use in ToolGroup
120
- <ToolGroupRoot variant="outline">
121
- <ToolGroupTrigger count={3} />
122
- <ToolGroupContent>
123
- <WeatherToolUI location="New York" temperature={65} condition="Cloudy" />
124
- <WeatherToolUI location="London" temperature={55} condition="Rainy" />
125
- <SearchToolUI query="best restaurants" results={24} />
126
- </ToolGroupContent>
127
- </ToolGroupRoot>
128
- ```
129
-
130
- ## Composable API
131
-
132
- All sub-components are exported for custom layouts:
133
-
134
- | Component | Description |
135
- | --------- | ----------- |
136
- | `ToolGroup.Root` | Collapsible container with scroll lock and variants |
137
- | `ToolGroup.Trigger` | Header with tool count, shimmer animation, and chevron |
138
- | `ToolGroup.Content` | Animated collapsible content wrapper |
139
-
140
- ```tsx
141
- import {
142
- ToolGroup,
143
- ToolGroupRoot,
144
- ToolGroupTrigger,
145
- ToolGroupContent,
146
- } from "@/components/assistant-ui/tool-group";
147
-
148
- // Compound component syntax
149
- <ToolGroup.Root variant="outline" defaultOpen>
150
- <ToolGroup.Trigger count={3} active={false} />
151
- <ToolGroup.Content>
152
- {/* Any tool UI components - custom or ToolFallback */}
153
- </ToolGroup.Content>
154
- </ToolGroup.Root>
155
- ```
156
-
157
- ## API Reference
158
-
159
- ### ToolGroupRoot
160
-
161
- <ParametersTable
162
- type="ToolGroupRootProps"
163
- parameters={[
164
- {
165
- name: "variant",
166
- type: '"outline" | "ghost" | "muted"',
167
- default: '"outline"',
168
- description: "Visual variant of the tool group container.",
169
- },
170
- {
171
- name: "open",
172
- type: "boolean",
173
- description: "Controlled open state.",
174
- },
175
- {
176
- name: "onOpenChange",
177
- type: "(open: boolean) => void",
178
- description: "Callback when open state changes.",
179
- },
180
- {
181
- name: "defaultOpen",
182
- type: "boolean",
183
- default: "false",
184
- description: "Initial open state for uncontrolled usage.",
185
- },
186
- ]}
187
- />
188
-
189
- ### ToolGroupTrigger
190
-
191
- <ParametersTable
192
- type="ToolGroupTriggerProps"
193
- parameters={[
194
- {
195
- name: "count",
196
- type: "number",
197
- required: true,
198
- description: "Number of tool calls to display in the label.",
199
- },
200
- {
201
- name: "active",
202
- type: "boolean",
203
- default: "false",
204
- description: "Shows loading spinner and shimmer animation when true.",
205
- },
206
- ]}
207
- />
208
-
209
- ### ToolGroup (Legacy Wrapper)
210
-
211
- `ToolGroup` is kept for existing code that still uses the deprecated `components.ToolGroup` prop on `MessagePrimitive.Parts`. Prefer composing `ToolGroupRoot`, `ToolGroupTrigger`, and `ToolGroupContent` inside `MessagePrimitive.GroupedParts`.
212
-
213
- <ParametersTable
214
- type="ToolGroupProps"
215
- parameters={[
216
- {
217
- name: "startIndex",
218
- type: "number",
219
- required: true,
220
- description: "The index of the first tool call in the group.",
221
- },
222
- {
223
- name: "endIndex",
224
- type: "number",
225
- required: true,
226
- description: "The index of the last tool call in the group.",
227
- },
228
- {
229
- name: "children",
230
- type: "ReactNode",
231
- required: true,
232
- description: "The rendered tool call components.",
233
- },
234
- ]}
235
- />
236
-
237
- ## Related Components
238
-
239
- - [ToolFallback](/docs/ui/tool-fallback) - Default UI for tools without custom renderers
240
- - [PartGrouping](/docs/ui/part-grouping) - Advanced message part grouping (experimental)
@@ -1,173 +0,0 @@
1
- ---
2
- title: Voice
3
- description: Realtime voice session controls with connect, mute, and status indicator.
4
- platforms: ["react"]
5
- ---
6
-
7
- import { VoiceSample, VoiceVariantsSample, VoiceStatesSample } from "@/components/pages/docs/samples/voice";
8
-
9
- A control bar for realtime bidirectional voice sessions with an animated orb indicator. Works with any `RealtimeVoiceAdapter` (LiveKit, ElevenLabs, etc.).
10
-
11
- <VoiceSample />
12
-
13
- ## Getting Started
14
-
15
- <Steps>
16
- <Step>
17
-
18
- ### Add the component
19
-
20
- <InstallCommand shadcn={["voice"]} />
21
-
22
- This adds `/components/assistant-ui/voice.tsx` to your project, which you can adjust as needed.
23
-
24
- </Step>
25
- <Step>
26
-
27
- ### Configure a voice adapter
28
-
29
- Pass a `RealtimeVoiceAdapter` to your runtime. See the [Realtime Voice guide](/docs/guides/voice) for details.
30
-
31
- ```tsx
32
- const runtime = useChatRuntime({
33
- adapters: {
34
- voice: myVoiceAdapter,
35
- },
36
- });
37
- ```
38
-
39
- </Step>
40
- <Step>
41
-
42
- ### Use in your application
43
-
44
- ```tsx title="app/page.tsx"
45
- import { Thread } from "@/components/assistant-ui/thread";
46
- import { VoiceControl } from "@/components/assistant-ui/voice";
47
- import { AuiIf } from "@assistant-ui/react";
48
-
49
- export default function Chat() {
50
- return (
51
- <div className="flex h-full flex-col">
52
- <AuiIf condition={(s) => s.thread.capabilities.voice}>
53
- <VoiceControl />
54
- </AuiIf>
55
- <div className="min-h-0 flex-1">
56
- <Thread />
57
- </div>
58
- </div>
59
- );
60
- }
61
- ```
62
-
63
- </Step>
64
- </Steps>
65
-
66
- ## Anatomy
67
-
68
- The `VoiceControl` component is built with the following hooks and conditionals:
69
-
70
- ```tsx
71
- import { AuiIf, useVoiceState, useVoiceControls } from "@assistant-ui/react";
72
-
73
- <div className="aui-voice-control">
74
- <VoiceIndicator />
75
-
76
- <AuiIf condition={(s) => s.thread.voice == null}>
77
- <VoiceConnectButton />
78
- </AuiIf>
79
-
80
- <AuiIf condition={(s) => s.thread.voice?.status.type === "running"}>
81
- <VoiceMuteButton />
82
- <VoiceDisconnectButton />
83
- </AuiIf>
84
- </div>
85
- ```
86
-
87
- ## Examples
88
-
89
- ### Conditionally show voice controls
90
-
91
- Only render when a voice adapter is configured:
92
-
93
- ```tsx
94
- <AuiIf condition={(s) => s.thread.capabilities.voice}>
95
- <VoiceControl />
96
- </AuiIf>
97
- ```
98
-
99
- ### Voice toggle in composer
100
-
101
- Add a compact voice toggle button inside the composer action area:
102
-
103
- ```tsx
104
- function ComposerVoiceToggle() {
105
- const voiceState = useVoiceState();
106
- const { connect, disconnect } = useVoiceControls();
107
- const isActive =
108
- voiceState?.status.type === "running" ||
109
- voiceState?.status.type === "starting";
110
-
111
- return (
112
- <AuiIf condition={(s) => s.thread.capabilities.voice}>
113
- <button
114
- type="button"
115
- onClick={() => (isActive ? disconnect() : connect())}
116
- aria-label={isActive ? "End voice" : "Start voice"}
117
- >
118
- {isActive ? <PhoneOffIcon /> : <PhoneIcon />}
119
- </button>
120
- </AuiIf>
121
- );
122
- }
123
- ```
124
-
125
- ### Custom indicator colors
126
-
127
- Override the indicator styles by targeting the `aui-voice-indicator` class:
128
-
129
- ```css
130
- .aui-voice-indicator {
131
- /* Override active color */
132
- &.bg-green-500 {
133
- background: theme("colors.blue.500");
134
- }
135
- }
136
- ```
137
-
138
- ## States
139
-
140
- The `VoiceOrb` responds to five voice session states with distinct animations:
141
-
142
- <VoiceStatesSample />
143
-
144
- ## Variants
145
-
146
- Four built-in color palettes. Size is controlled via `className`.
147
-
148
- <VoiceVariantsSample />
149
-
150
- ## Sub-components
151
-
152
- | Component | Description |
153
- |-----------|-------------|
154
- | `VoiceOrb` | Animated orb visual with gradient, glow, and ripple effects. Accepts `state` and `variant` props. |
155
- | `VoiceControl` | Control bar with status dot, connect/disconnect, and mute/unmute buttons. |
156
- | `VoiceConnectButton` | Calls `connect()`. Shown when no session is active. |
157
- | `VoiceMuteButton` | Toggles `mute()`/`unmute()`. Shown when session is running. |
158
- | `VoiceDisconnectButton` | Calls `disconnect()`. Shown when session is active. |
159
-
160
- All sub-components are exported and can be used independently for custom layouts.
161
-
162
- ## State Selectors
163
-
164
- Use these with `AuiIf` or `useAuiState` to build custom voice UI:
165
-
166
- | Selector | Type | Description |
167
- |----------|------|-------------|
168
- | `s.thread.capabilities.voice` | `boolean` | Whether a voice adapter is configured |
169
- | `s.thread.voice` | `VoiceSessionState \| undefined` | `undefined` when no session |
170
- | `s.thread.voice?.status.type` | `"starting" \| "running" \| "ended"` | Session phase |
171
- | `s.thread.voice?.isMuted` | `boolean` | Microphone muted state |
172
- | `s.thread.voice?.mode` | `"listening" \| "speaking"` | Who is currently active (user or agent) |
173
- | `useVoiceVolume()` | `number` | Real-time audio level (0–1), separate from main state to avoid 20Hz re-renders |
@@ -1,237 +0,0 @@
1
- ---
2
- title: heat-graph
3
- description: Headless, composable activity heatmap components for React.
4
- platforms: ["react"]
5
- ---
6
-
7
- import { HeatGraphDemo } from "@/app/(demos)/heat-graph/heat-graph-demo";
8
-
9
- `heat-graph` provides headless, Radix-style primitives for building GitHub-style activity heatmap graphs.
10
-
11
- - **Composable** — Radix-style compound components you fully control
12
- - **Headless** — Zero styling opinions, bring your own CSS/Tailwind
13
- - **Tooltip built-in** — Powered by Radix Popper for positioning
14
- - **Customizable bucketing** — Plug in your own classification function
15
-
16
- <HeatGraphDemo />
17
-
18
- ## Installation
19
-
20
- <Tabs items={["shadcn", "npm", "pnpm", "yarn"]}>
21
- <Tab value="shadcn">
22
- ```sh
23
- npx shadcn@latest add @assistant-ui/heat-graph
24
- ```
25
- This installs a pre-styled `HeatGraph` component to `components/assistant-ui/heat-graph.tsx` along with the `heat-graph` package. The `@assistant-ui` namespace resolves through the registry entry configured in [Manual Setup](/docs/installation#manual-setup).
26
- </Tab>
27
- <Tab value="npm">
28
- ```sh
29
- npm install heat-graph
30
- ```
31
- </Tab>
32
- <Tab value="pnpm">
33
- ```sh
34
- pnpm add heat-graph
35
- ```
36
- </Tab>
37
- <Tab value="yarn">
38
- ```sh
39
- yarn add heat-graph
40
- ```
41
- </Tab>
42
- </Tabs>
43
-
44
- ## Quick Start
45
-
46
- ```tsx title="components/activity-graph.tsx"
47
- "use client";
48
-
49
- import * as HeatGraph from "heat-graph";
50
-
51
- const COLORS = ["#ebedf0", "#c6d7f9", "#8fb0f3", "#5888e8", "#2563eb"];
52
-
53
- export function ActivityGraph({ data }: { data: HeatGraph.DataPoint[] }) {
54
- return (
55
- <HeatGraph.Root data={data} weekStart="monday" colorScale={COLORS}>
56
- <HeatGraph.Grid className="gap-[3px]">
57
- {() => (
58
- <HeatGraph.Cell className="aspect-square rounded-sm" />
59
- )}
60
- </HeatGraph.Grid>
61
- <HeatGraph.Tooltip>
62
- {({ cell }) => (
63
- <div>
64
- {cell.count} contributions on {cell.date.toLocaleDateString()}
65
- </div>
66
- )}
67
- </HeatGraph.Tooltip>
68
- </HeatGraph.Root>
69
- );
70
- }
71
- ```
72
-
73
- <Callout type="info">
74
- Components using Heat Graph must be Client Components (`"use client"`), since they rely on React Context and interactivity.
75
- </Callout>
76
-
77
- ## Anatomy
78
-
79
- ```tsx
80
- import * as HeatGraph from "heat-graph";
81
-
82
- <HeatGraph.Root data={data} colorScale={colors}>
83
-
84
- {/* Month labels — iterates internally, renders each label */}
85
- <HeatGraph.MonthLabels>
86
- {({ label, totalWeeks }) => (
87
- <span style={{ left: `${(label.column / totalWeeks) * 100}%` }}>
88
- {HeatGraph.MONTH_SHORT[label.month]}
89
- </span>
90
- )}
91
- </HeatGraph.MonthLabels>
92
-
93
- {/* Day-of-week labels — iterates internally, renders each label */}
94
- <HeatGraph.DayLabels>
95
- {({ label }) => (
96
- <span>{HeatGraph.DAY_SHORT[label.dayOfWeek]}</span>
97
- )}
98
- </HeatGraph.DayLabels>
99
-
100
- {/* Grid + Cells — iterates internally, renders each cell */}
101
- <HeatGraph.Grid>
102
- {() => <HeatGraph.Cell />}
103
- </HeatGraph.Grid>
104
-
105
- {/* Legend — iterates internally, renders each level */}
106
- <HeatGraph.Legend>
107
- {() => <HeatGraph.LegendLevel />}
108
- </HeatGraph.Legend>
109
-
110
- {/* Tooltip */}
111
- <HeatGraph.Tooltip>
112
- {({ cell }) => <div>{cell.count} on {cell.date.toLocaleDateString()}</div>}
113
- </HeatGraph.Tooltip>
114
-
115
- </HeatGraph.Root>
116
- ```
117
-
118
- ## API Reference
119
-
120
- ### Root
121
-
122
- The top-level provider. Renders a `<div>` that computes the grid layout and provides state to all children. Accepts all standard div props.
123
-
124
- | Prop | Type | Default | Description |
125
- | ------------ | ---------------------- | ------------------- | -------------------------------------------------- |
126
- | `data` | `DataPoint[]` | required | Array of `{ date: string \| Date, count: number }` |
127
- | `start` | `string \| Date` | 1 year before `end` | Start of the date range |
128
- | `end` | `string \| Date` | today | End of the date range |
129
- | `weekStart` | `"sunday" \| "monday"` | `"sunday"` | First day of the week |
130
- | `classify` | `ClassifyFn` | `autoLevels(5)` | Bucketing function mapping counts to levels |
131
- | `colorScale` | `string[]` | — | Array of colors, one per level (index 0 = lowest) |
132
-
133
- ### Grid
134
-
135
- A `<div>` with CSS Grid layout. Renders `gridTemplateColumns` and `gridTemplateRows` based on the computed data. Accepts all standard div props.
136
-
137
- Iterates over cells internally, calling the children render function for each cell. Each cell is wrapped in a context that `Cell` reads from.
138
-
139
- ```ts
140
- type CellData = {
141
- date: Date;
142
- count: number;
143
- level: number;
144
- column: number;
145
- row: number;
146
- };
147
- ```
148
-
149
- ### Cell
150
-
151
- A `<div>` that reads from cell context. Automatically applies:
152
- - Grid positioning (`gridColumn`, `gridRow`)
153
- - Background color from `colorScale`
154
- - Tooltip hover handlers
155
-
156
- Accepts all standard div props. Pass `colorScale` to override the Root-level color scale.
157
-
158
- ### MonthLabels
159
-
160
- Iterates over month labels, calling the children render function for each label.
161
-
162
- ```tsx
163
- <HeatGraph.MonthLabels>
164
- {({ label, totalWeeks }) => (
165
- <span style={{ left: `${(label.column / totalWeeks) * 100}%` }}>
166
- {HeatGraph.MONTH_SHORT[label.month]}
167
- </span>
168
- )}
169
- </HeatGraph.MonthLabels>
170
- ```
171
-
172
- Each label has `{ month: number, column: number }`. Use `totalWeeks` to compute label positions. Use `MONTH_SHORT[label.month]` for English labels, or format with `Intl.DateTimeFormat` for localization.
173
-
174
- ### DayLabels
175
-
176
- Iterates over day-of-week labels, calling the children render function for each label.
177
-
178
- ```tsx
179
- <HeatGraph.DayLabels>
180
- {({ label }) => (
181
- <span>{HeatGraph.DAY_SHORT[label.dayOfWeek]}</span>
182
- )}
183
- </HeatGraph.DayLabels>
184
- ```
185
-
186
- Each label has `{ dayOfWeek: number, row: number }` where `dayOfWeek` is 0=Sun..6=Sat. Use `DAY_SHORT[label.dayOfWeek]` for English labels, or format with `Intl.DateTimeFormat` for localization.
187
-
188
- ### Legend
189
-
190
- Iterates over legend levels, calling the children render function for each item. Each item has `{ level: number, color: string | undefined }`.
191
-
192
- ### LegendLevel
193
-
194
- A `<div>` that reads from legend item context. Automatically applies `backgroundColor` from the color scale. Use inside `Legend`.
195
-
196
- ### Tooltip
197
-
198
- Renders only when a cell is hovered. Positioned by Radix Popper relative to the hovered cell. Accepts Radix Popper `Content` props (`side`, `sideOffset`, `align`, etc.).
199
-
200
- ```tsx
201
- <HeatGraph.Tooltip side="top" sideOffset={8} className="...">
202
- {({ cell }) => <div>{cell.count} contributions</div>}
203
- </HeatGraph.Tooltip>
204
- ```
205
-
206
- ### autoLevels(n)
207
-
208
- Default classification function. Maps counts into `n` evenly-distributed levels (0 to n-1). Level 0 is always count 0.
209
-
210
- ```ts
211
- type ClassifyFn = (counts: number[]) => (count: number) => number;
212
- ```
213
-
214
- To provide a custom classifier:
215
-
216
- ```tsx
217
- const myClassify: HeatGraph.ClassifyFn = (counts) => {
218
- const p75 = percentile(counts, 75);
219
- return (count) => {
220
- if (count === 0) return 0;
221
- if (count < p75 * 0.25) return 1;
222
- if (count < p75 * 0.5) return 2;
223
- if (count < p75) return 3;
224
- return 4;
225
- };
226
- };
227
-
228
- <HeatGraph.Root data={data} classify={myClassify}>
229
- ```
230
-
231
- ### MONTH_SHORT
232
-
233
- English month abbreviations array: `["Jan", "Feb", ..., "Dec"]`. Index by `MonthLabel.month`.
234
-
235
- ### DAY_SHORT
236
-
237
- English day abbreviations array: `["Sun", "Mon", ..., "Sat"]`. Index by `DayLabel.dayOfWeek`.