@assistant-ui/mcp-docs-server 0.1.38 → 0.2.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 (258) hide show
  1. package/.docs/organized/code-examples/waterfall.md +11 -12
  2. package/.docs/organized/code-examples/with-a2a.md +18 -13
  3. package/.docs/organized/code-examples/with-ag-ui.md +19 -14
  4. package/.docs/organized/code-examples/{with-ai-sdk-v6.md → with-ai-sdk-v7.md} +34 -23
  5. package/.docs/organized/code-examples/with-artifacts.md +473 -141
  6. package/.docs/organized/code-examples/with-assistant-transport.md +17 -10
  7. package/.docs/organized/code-examples/with-browser-extension.md +17 -10
  8. package/.docs/organized/code-examples/with-chain-of-thought.md +21 -14
  9. package/.docs/organized/code-examples/with-cloud-standalone.md +12 -11
  10. package/.docs/organized/code-examples/with-cloud.md +20 -15
  11. package/.docs/organized/code-examples/with-custom-thread-list.md +19 -12
  12. package/.docs/organized/code-examples/with-elevenlabs-conversational.md +22 -15
  13. package/.docs/organized/code-examples/with-elevenlabs-scribe.md +22 -15
  14. package/.docs/organized/code-examples/with-eve.md +18 -11
  15. package/.docs/organized/code-examples/with-expo.md +35 -52
  16. package/.docs/organized/code-examples/with-external-store.md +18 -13
  17. package/.docs/organized/code-examples/with-ffmpeg.md +20 -15
  18. package/.docs/organized/code-examples/with-generative-ui.md +22 -17
  19. package/.docs/organized/code-examples/with-google-adk.md +18 -11
  20. package/.docs/organized/code-examples/with-heat-graph.md +10 -11
  21. package/.docs/organized/code-examples/with-image-generation.md +19 -12
  22. package/.docs/organized/code-examples/with-interactables.md +21 -17
  23. package/.docs/organized/code-examples/with-langchain.md +19 -12
  24. package/.docs/organized/code-examples/with-langgraph.md +19 -12
  25. package/.docs/organized/code-examples/with-livekit.md +23 -16
  26. package/.docs/organized/code-examples/with-mcp.md +46 -28
  27. package/.docs/organized/code-examples/with-opencode.md +25 -23
  28. package/.docs/organized/code-examples/with-pi.md +54 -19
  29. package/.docs/organized/code-examples/with-react-hook-form.md +21 -16
  30. package/.docs/organized/code-examples/with-react-ink-web.md +9 -9
  31. package/.docs/organized/code-examples/with-react-ink.md +4 -4
  32. package/.docs/organized/code-examples/with-react-router.md +22 -17
  33. package/.docs/organized/code-examples/with-resumable-stream.md +21 -14
  34. package/.docs/organized/code-examples/with-store.md +10 -11
  35. package/.docs/organized/code-examples/with-tanstack.md +19 -13
  36. package/.docs/organized/code-examples/with-tap-runtime.md +18 -13
  37. package/.docs/organized/code-examples/with-virtualized-thread.md +19 -14
  38. package/.docs/raw/docs/(docs)/base-ui.mdx +39 -0
  39. package/.docs/raw/docs/(docs)/cli.mdx +19 -1
  40. package/.docs/raw/docs/(docs)/devtools.mdx +7 -2
  41. package/.docs/raw/docs/(docs)/installation.mdx +15 -1
  42. package/.docs/raw/docs/(docs)/rtl.mdx +2 -4
  43. package/.docs/raw/docs/(reference)/api-reference/generative-ui/a2ui.mdx +40 -0
  44. package/.docs/raw/docs/(reference)/api-reference/generative-ui/actions.mdx +56 -0
  45. package/.docs/raw/docs/(reference)/api-reference/generative-ui/components.mdx +86 -0
  46. package/.docs/raw/docs/(reference)/api-reference/generative-ui/index.mdx +22 -1
  47. package/.docs/raw/docs/(reference)/api-reference/generative-ui/json-generative-ui.mdx +42 -0
  48. package/.docs/raw/docs/(reference)/api-reference/generative-ui/rendering.mdx +53 -2
  49. package/.docs/raw/docs/(reference)/api-reference/generative-ui/slack.mdx +81 -0
  50. package/.docs/raw/docs/(reference)/api-reference/generative-ui/teams.mdx +86 -0
  51. package/.docs/raw/docs/(reference)/api-reference/generative-ui/tokens.mdx +62 -0
  52. package/.docs/raw/docs/(reference)/api-reference/hooks/primitives.mdx +19 -420
  53. package/.docs/raw/docs/(reference)/api-reference/hooks/state.mdx +4 -1
  54. package/.docs/raw/docs/(reference)/api-reference/integrations/index.mdx +4 -1
  55. package/.docs/raw/docs/(reference)/api-reference/integrations/react-ai-sdk.mdx +25 -2
  56. package/.docs/raw/docs/(reference)/api-reference/integrations/react-data-stream.mdx +37 -0
  57. package/.docs/raw/docs/(reference)/api-reference/model-context/context.mdx +1 -9
  58. package/.docs/raw/docs/(reference)/api-reference/overview.mdx +1 -0
  59. package/.docs/raw/docs/(reference)/api-reference/primitives/assistant-if.mdx +14 -31
  60. package/.docs/raw/docs/(reference)/api-reference/primitives/composition.mdx +1 -0
  61. package/.docs/raw/docs/(reference)/api-reference/primitives/index.mdx +3 -0
  62. package/.docs/raw/docs/(reference)/api-reference/primitives/selection-toolbar.mdx +2 -0
  63. package/.docs/raw/docs/(reference)/api-reference/tools/status.mdx +0 -2
  64. package/.docs/raw/docs/(reference)/api-reference/tools/toolkits.mdx +12 -9
  65. package/.docs/raw/docs/(reference)/api-reference/utilities/miscellaneous.mdx +4 -0
  66. package/.docs/raw/docs/cloud/ai-sdk-assistant-ui.mdx +7 -1
  67. package/.docs/raw/docs/cloud/langgraph.mdx +4 -2
  68. package/.docs/raw/docs/copilots/model-context.mdx +1 -1
  69. package/.docs/raw/docs/copilots/motivation.mdx +1 -1
  70. package/.docs/raw/docs/guides/attachments.mdx +3 -3
  71. package/.docs/raw/docs/guides/branching.mdx +2 -2
  72. package/.docs/raw/docs/guides/chatgpt-subscription.mdx +108 -0
  73. package/.docs/raw/docs/guides/context-api.mdx +89 -111
  74. package/.docs/raw/docs/guides/dictation.mdx +185 -257
  75. package/.docs/raw/docs/guides/editing.mdx +5 -5
  76. package/.docs/raw/docs/guides/electron.mdx +369 -0
  77. package/.docs/raw/docs/guides/index.mdx +20 -0
  78. package/.docs/raw/docs/guides/mentions.mdx +31 -3
  79. package/.docs/raw/docs/guides/quoting.mdx +3 -3
  80. package/.docs/raw/docs/guides/resumable-stream-deployment.mdx +2 -2
  81. package/.docs/raw/docs/guides/resumable-streams.mdx +12 -1
  82. package/.docs/raw/docs/guides/speech.mdx +47 -29
  83. package/.docs/raw/docs/guides/suggestions.mdx +70 -1
  84. package/.docs/raw/docs/guides/voice.mdx +197 -267
  85. package/.docs/raw/docs/ink/hooks.mdx +3 -3
  86. package/.docs/raw/docs/ink/primitives.mdx +49 -8
  87. package/.docs/raw/docs/integrations/auth/better-auth.mdx +2 -2
  88. package/.docs/raw/docs/integrations/auth/clerk.mdx +2 -2
  89. package/.docs/raw/docs/integrations/auth/next-auth.mdx +3 -3
  90. package/.docs/raw/docs/integrations/frameworks/ai-sdk.mdx +10 -4
  91. package/.docs/raw/docs/integrations/frameworks/cloudflare-agents/overview.mdx +3 -3
  92. package/.docs/raw/docs/integrations/frameworks/mastra/full-stack.mdx +1 -1
  93. package/.docs/raw/docs/integrations/frameworks/mastra/overview.mdx +3 -3
  94. package/.docs/raw/docs/integrations/frameworks/mastra/separate-server.mdx +1 -1
  95. package/.docs/raw/docs/integrations/gateways/index.mdx +2 -2
  96. package/.docs/raw/docs/integrations/observability/helicone.mdx +1 -1
  97. package/.docs/raw/docs/integrations/observability/langfuse.mdx +1 -1
  98. package/.docs/raw/docs/integrations/observability/langsmith.mdx +2 -2
  99. package/.docs/raw/docs/integrations/persistence/custom-adapter.mdx +36 -9
  100. package/.docs/raw/docs/migrations/index.mdx +50 -0
  101. package/.docs/raw/docs/migrations/toolkit-tools.mdx +4 -2
  102. package/.docs/raw/docs/migrations/v0-15.mdx +156 -0
  103. package/.docs/raw/docs/primitives/chain-of-thought.mdx +6 -1
  104. package/.docs/raw/docs/primitives/composer.mdx +17 -1
  105. package/.docs/raw/docs/primitives/selection-toolbar.mdx +25 -0
  106. package/.docs/raw/docs/primitives/thread-list.mdx +2 -2
  107. package/.docs/raw/docs/react-native/hooks.mdx +3 -3
  108. package/.docs/raw/docs/react-native/index.mdx +2 -2
  109. package/.docs/raw/docs/react-native/primitives.mdx +62 -5
  110. package/.docs/raw/docs/runtimes/ag-ui/agent-state.mdx +124 -0
  111. package/.docs/raw/docs/runtimes/ag-ui/runtime-options.mdx +10 -1
  112. package/.docs/raw/docs/runtimes/ai-sdk/overview.mdx +14 -5
  113. package/.docs/raw/docs/runtimes/ai-sdk/v4-legacy.mdx +15 -15
  114. package/.docs/raw/docs/runtimes/ai-sdk/v5-legacy.mdx +8 -8
  115. package/.docs/raw/docs/runtimes/ai-sdk/{v6.mdx → v6-legacy.mdx} +11 -9
  116. package/.docs/raw/docs/runtimes/ai-sdk/v7.mdx +717 -0
  117. package/.docs/raw/docs/runtimes/concepts/adapters.mdx +1 -1
  118. package/.docs/raw/docs/runtimes/concepts/architecture.mdx +1 -1
  119. package/.docs/raw/docs/runtimes/concepts/threads.mdx +10 -10
  120. package/.docs/raw/docs/runtimes/custom/assistant-transport.mdx +2 -2
  121. package/.docs/raw/docs/runtimes/custom/data-stream.mdx +10 -19
  122. package/.docs/raw/docs/runtimes/custom/external-store.mdx +2 -2
  123. package/.docs/raw/docs/runtimes/custom/local-runtime.mdx +5 -3
  124. package/.docs/raw/docs/runtimes/eve/overview.mdx +1 -1
  125. package/.docs/raw/docs/runtimes/langchain.mdx +2 -2
  126. package/.docs/raw/docs/runtimes/langgraph/agent-state.mdx +181 -0
  127. package/.docs/raw/docs/runtimes/langgraph/overview.mdx +1 -1
  128. package/.docs/raw/docs/runtimes/opencode/hooks.mdx +3 -1
  129. package/.docs/raw/docs/tools/a2ui.mdx +107 -0
  130. package/.docs/raw/docs/tools/backend.mdx +6 -3
  131. package/.docs/raw/docs/tools/defining-tools.mdx +7 -1
  132. package/.docs/raw/docs/tools/generative-ui.mdx +60 -2
  133. package/.docs/raw/docs/tools/interactables-legacy.mdx +4 -4
  134. package/.docs/raw/docs/tools/interactables.mdx +3 -3
  135. package/.docs/raw/docs/tools/mcp-apps.mdx +90 -13
  136. package/.docs/raw/docs/tools/mcp.mdx +100 -3
  137. package/.docs/raw/docs/tools/tool-ui.mdx +6 -4
  138. package/.docs/raw/docs/tools/user-managed-mcp.mdx +77 -9
  139. package/.docs/raw/docs/ui/accordion.mdx +16 -10
  140. package/.docs/raw/docs/ui/assistant-modal.mdx +8 -4
  141. package/.docs/raw/docs/ui/attachment.mdx +5 -1
  142. package/.docs/raw/docs/ui/badge.mdx +23 -12
  143. package/.docs/raw/docs/ui/follow-up-suggestions.mdx +4 -2
  144. package/.docs/raw/docs/ui/model-selector.mdx +33 -3
  145. package/.docs/raw/docs/ui/part-grouping.mdx +0 -4
  146. package/.docs/raw/docs/ui/reasoning.mdx +1 -1
  147. package/.docs/raw/docs/ui/select.mdx +22 -14
  148. package/.docs/raw/docs/ui/sources.mdx +1 -1
  149. package/.docs/raw/docs/ui/tabs.mdx +25 -14
  150. package/.docs/raw/docs/utilities/heat-graph.mdx +2 -2
  151. package/dist/constants.d.ts.map +1 -1
  152. package/dist/index.d.ts +1 -2
  153. package/dist/index.d.ts.map +1 -1
  154. package/dist/index.js +41 -2
  155. package/dist/index.js.map +1 -1
  156. package/dist/prepare-docs/code-examples.d.ts.map +1 -1
  157. package/dist/prepare-docs/code-examples.js.map +1 -1
  158. package/dist/prepare-docs/copy-raw.d.ts.map +1 -1
  159. package/dist/prepare-docs/prepare.d.ts +1 -1
  160. package/dist/prompts/xulux-playground.d.ts +12 -0
  161. package/dist/prompts/xulux-playground.d.ts.map +1 -0
  162. package/dist/prompts/xulux-playground.js +33 -0
  163. package/dist/prompts/xulux-playground.js.map +1 -0
  164. package/dist/stdio.d.ts +1 -1
  165. package/dist/tools/docs.d.ts +8 -14
  166. package/dist/tools/docs.d.ts.map +1 -1
  167. package/dist/tools/docs.js +26 -10
  168. package/dist/tools/docs.js.map +1 -1
  169. package/dist/tools/examples.d.ts +6 -12
  170. package/dist/tools/examples.d.ts.map +1 -1
  171. package/dist/tools/examples.js +11 -8
  172. package/dist/tools/examples.js.map +1 -1
  173. package/dist/tools/resources.d.ts +1 -2
  174. package/dist/tools/resources.d.ts.map +1 -1
  175. package/dist/tools/resources.js +1 -1
  176. package/dist/tools/resources.js.map +1 -1
  177. package/dist/tools/search.d.ts +6 -15
  178. package/dist/tools/search.d.ts.map +1 -1
  179. package/dist/tools/search.js +2 -2
  180. package/dist/tools/search.js.map +1 -1
  181. package/dist/tools/tests/mcp-test-client.d.ts +15 -0
  182. package/dist/tools/tests/mcp-test-client.d.ts.map +1 -0
  183. package/dist/tools/tests/mcp-test-client.js +68 -0
  184. package/dist/tools/tests/mcp-test-client.js.map +1 -0
  185. package/dist/tools/tests/test-setup.d.ts.map +1 -1
  186. package/dist/tools/tests/test-setup.js +5 -1
  187. package/dist/tools/tests/test-setup.js.map +1 -1
  188. package/dist/tools/xulux-templates.d.ts +58 -0
  189. package/dist/tools/xulux-templates.d.ts.map +1 -0
  190. package/dist/tools/xulux-templates.js +82 -0
  191. package/dist/tools/xulux-templates.js.map +1 -0
  192. package/dist/utils/cache.d.ts +5 -0
  193. package/dist/utils/cache.d.ts.map +1 -0
  194. package/dist/utils/cache.js +18 -0
  195. package/dist/utils/cache.js.map +1 -0
  196. package/dist/utils/logger.d.ts.map +1 -1
  197. package/dist/utils/mcp-format.d.ts +1 -0
  198. package/dist/utils/mcp-format.d.ts.map +1 -1
  199. package/dist/utils/mcp-format.js +7 -4
  200. package/dist/utils/mcp-format.js.map +1 -1
  201. package/dist/utils/mdx.d.ts.map +1 -1
  202. package/dist/utils/paths.d.ts +1 -1
  203. package/dist/utils/paths.d.ts.map +1 -1
  204. package/dist/utils/paths.js +3 -1
  205. package/dist/utils/paths.js.map +1 -1
  206. package/dist/utils/search.d.ts.map +1 -1
  207. package/dist/utils/security.d.ts.map +1 -1
  208. package/dist/utils/security.js.map +1 -1
  209. package/dist/xulux/catalog-client.d.ts +14 -0
  210. package/dist/xulux/catalog-client.d.ts.map +1 -0
  211. package/dist/xulux/catalog-client.js +67 -0
  212. package/dist/xulux/catalog-client.js.map +1 -0
  213. package/dist/xulux/fallback-catalog.d.ts +7 -0
  214. package/dist/xulux/fallback-catalog.d.ts.map +1 -0
  215. package/dist/xulux/fallback-catalog.js +47 -0
  216. package/dist/xulux/fallback-catalog.js.map +1 -0
  217. package/dist/xulux/fetch-sandbox.d.ts +5 -0
  218. package/dist/xulux/fetch-sandbox.d.ts.map +1 -0
  219. package/dist/xulux/fetch-sandbox.js +40 -0
  220. package/dist/xulux/fetch-sandbox.js.map +1 -0
  221. package/dist/xulux/template-service.d.ts +84 -0
  222. package/dist/xulux/template-service.d.ts.map +1 -0
  223. package/dist/xulux/template-service.js +223 -0
  224. package/dist/xulux/template-service.js.map +1 -0
  225. package/dist/xulux/types.d.ts +55 -0
  226. package/dist/xulux/types.d.ts.map +1 -0
  227. package/dist/xulux/types.js +6 -0
  228. package/dist/xulux/types.js.map +1 -0
  229. package/package.json +7 -6
  230. package/src/index.ts +55 -2
  231. package/src/prompts/xulux-playground.ts +36 -0
  232. package/src/tools/docs.ts +27 -5
  233. package/src/tools/examples.ts +17 -12
  234. package/src/tools/resources.ts +1 -4
  235. package/src/tools/search.ts +2 -2
  236. package/src/tools/tests/completions.test.ts +40 -26
  237. package/src/tools/tests/docs.test.ts +20 -0
  238. package/src/tools/tests/examples.test.ts +5 -5
  239. package/src/tools/tests/integration.test.ts +3 -4
  240. package/src/tools/tests/listings-cache.test.ts +19 -0
  241. package/src/tools/tests/mcp-protocol.test.ts +173 -108
  242. package/src/tools/tests/mcp-test-client.ts +111 -0
  243. package/src/tools/tests/resources.test.ts +97 -66
  244. package/src/tools/tests/test-setup.ts +8 -0
  245. package/src/tools/tests/xulux-templates.test.ts +262 -0
  246. package/src/tools/xulux-templates.ts +141 -0
  247. package/src/utils/cache.ts +20 -0
  248. package/src/utils/mcp-format.ts +8 -6
  249. package/src/utils/paths.ts +4 -1
  250. package/src/utils/tests/cache.test.ts +51 -0
  251. package/src/utils/tests/mcp-format.test.ts +22 -0
  252. package/src/utils/tests/security.test.ts +1 -1
  253. package/src/xulux/catalog-client.ts +105 -0
  254. package/src/xulux/fallback-catalog.ts +63 -0
  255. package/src/xulux/fetch-sandbox.ts +56 -0
  256. package/src/xulux/template-service.ts +406 -0
  257. package/src/xulux/types.ts +60 -0
  258. package/.docs/raw/docs/(reference)/api-reference/hooks/utilities.mdx +0 -464
@@ -65,7 +65,9 @@
65
65
  }
66
66
  }
67
67
  ],
68
- "expo-font"
68
+ "expo-font",
69
+ "expo-image",
70
+ "expo-status-bar"
69
71
  ],
70
72
  "experiments": {
71
73
  "typedRoutes": true,
@@ -115,7 +117,7 @@ function NewChatButton() {
115
117
  hitSlop={8}
116
118
  onPress={() => {
117
119
  haptics.selection();
118
- aui.threads().switchToNewThread();
120
+ aui.threads.switchToNewThread();
119
121
  }}
120
122
  style={{ marginRight: 16 }}
121
123
  >
@@ -360,7 +362,7 @@ function AttachButton() {
360
362
  for (const asset of result.assets) {
361
363
  // iOS may report HEIC, which OpenAI rejects; normalize to JPEG.
362
364
  const dataUrl = `data:image/jpeg;base64,${asset.base64}`;
363
- await aui.composer().addAttachment({
365
+ await aui.composer.addAttachment({
364
366
  name: asset.fileName ?? "image.jpg",
365
367
  contentType: "image/jpeg",
366
368
  type: "image",
@@ -851,14 +853,12 @@ const styles = StyleSheet.create({
851
853
  ## components/assistant-ui/thread.tsx
852
854
 
853
855
  ```tsx
854
- import { useRef } from "react";
855
856
  import {
856
857
  View,
857
858
  Text,
858
859
  StyleSheet,
859
860
  KeyboardAvoidingView,
860
861
  Platform,
861
- type FlatList,
862
862
  } from "react-native";
863
863
  import { useSafeAreaInsets } from "react-native-safe-area-context";
864
864
  import { MessageBubble } from "./message";
@@ -913,37 +913,19 @@ function EmptyState() {
913
913
  }
914
914
 
915
915
  function ChatMessages() {
916
- const listRef = useRef<FlatList>(null);
917
- const nearBottom = useRef(true);
918
-
919
916
  return (
920
917
  <>
921
918
  <ThreadPrimitive.Empty>
922
919
  <EmptyState />
923
920
  </ThreadPrimitive.Empty>
924
921
  <ThreadPrimitive.If empty={false}>
925
- <ThreadPrimitive.Messages
926
- // Messages isn't a forwardRef component, but it spreads extra props
927
- // onto its FlatList, so React 19 still forwards this ref to the list.
928
- {...({ ref: listRef } as object)}
922
+ <ThreadPrimitive.MessagesFlatList
929
923
  style={styles.flex}
930
924
  contentContainerStyle={styles.messageList}
931
925
  showsVerticalScrollIndicator={false}
932
- scrollEventThrottle={32}
933
- onScroll={(e) => {
934
- const { contentOffset, contentSize, layoutMeasurement } =
935
- e.nativeEvent;
936
- nearBottom.current =
937
- contentOffset.y + layoutMeasurement.height >=
938
- contentSize.height - 48;
939
- }}
940
- onContentSizeChange={() => {
941
- if (nearBottom.current)
942
- listRef.current?.scrollToEnd({ animated: true });
943
- }}
944
926
  >
945
927
  {() => <MessageBubble />}
946
- </ThreadPrimitive.Messages>
928
+ </ThreadPrimitive.MessagesFlatList>
947
929
  </ThreadPrimitive.If>
948
930
  </>
949
931
  );
@@ -1468,7 +1450,7 @@ export function ThreadListDrawer({ navigation }: DrawerContentComponentProps) {
1468
1450
  <Pressable
1469
1451
  onPressIn={haptics.selection}
1470
1452
  onPress={() => {
1471
- aui.threads().switchToNewThread();
1453
+ aui.threads.switchToNewThread();
1472
1454
  navigation.closeDrawer();
1473
1455
  }}
1474
1456
  style={({ pressed }) => [
@@ -1565,7 +1547,7 @@ export function ThreadListItem({ onSelect }: { onSelect: () => void }) {
1565
1547
  <Pressable
1566
1548
  onPressIn={haptics.selection}
1567
1549
  onPress={() => {
1568
- aui.threadListItem().switchTo();
1550
+ aui.threadListItem.switchTo();
1569
1551
  onSelect();
1570
1552
  }}
1571
1553
  style={({ pressed }) => [
@@ -1953,44 +1935,45 @@ module.exports = withAui(config);
1953
1935
  "export:web": "expo export --platform web && node scripts/flatten-assets.mjs"
1954
1936
  },
1955
1937
  "dependencies": {
1956
- "@ai-sdk/openai": "^3.0.74",
1957
- "@ai-sdk/react": "^3.0.211",
1938
+ "@ai-sdk/openai": "^4.0.20",
1939
+ "@ai-sdk/react": "^4.0.40",
1958
1940
  "@assistant-ui/react-ai-sdk": "workspace:*",
1959
1941
  "@assistant-ui/react-native": "workspace:*",
1960
1942
  "@expo/vector-icons": "^15.1.1",
1961
1943
  "@react-navigation/drawer": "7.9.4",
1962
1944
  "@react-navigation/native": "7.1.33",
1963
- "ai": "^6.0.209",
1964
- "expo": "~56.0.12",
1965
- "expo-clipboard": "~56.0.4",
1966
- "expo-constants": "~56.0.18",
1967
- "expo-font": "~56.0.7",
1968
- "expo-haptics": "~56.0.3",
1969
- "expo-image": "~56.0.11",
1970
- "expo-image-picker": "~56.0.18",
1971
- "expo-linking": "~56.0.14",
1972
- "expo-router": "~56.2.11",
1973
- "expo-server": "~56.0.5",
1974
- "expo-splash-screen": "~56.0.10",
1975
- "expo-status-bar": "~56.0.4",
1976
- "expo-symbols": "^56.0.6",
1977
- "expo-system-ui": "~56.0.5",
1945
+ "ai": "^7.0.37",
1946
+ "expo": "~57.0.8",
1947
+ "expo-clipboard": "~57.0.1",
1948
+ "expo-constants": "~57.0.7",
1949
+ "expo-font": "~57.0.1",
1950
+ "expo-haptics": "~57.0.1",
1951
+ "expo-image": "~57.0.1",
1952
+ "expo-image-picker": "~57.0.6",
1953
+ "expo-linking": "~57.0.4",
1954
+ "expo-router": "~57.0.8",
1955
+ "expo-server": "~57.0.1",
1956
+ "expo-splash-screen": "~57.0.5",
1957
+ "expo-status-bar": "~57.0.1",
1958
+ "expo-symbols": "^57.0.1",
1959
+ "expo-system-ui": "~57.0.1",
1978
1960
  "react": "19.2.3",
1979
1961
  "react-dom": "19.2.3",
1980
- "react-native": "0.85.3",
1981
- "react-native-gesture-handler": "~2.31.2",
1982
- "react-native-reanimated": "4.3.1",
1983
- "react-native-safe-area-context": "~5.7.0",
1984
- "react-native-screens": "4.25.2",
1962
+ "react-native": "0.86.0",
1963
+ "react-native-gesture-handler": "~3.1.0",
1964
+ "react-native-reanimated": "4.5.0",
1965
+ "react-native-safe-area-context": "~5.8.0",
1966
+ "react-native-screens": "4.26.2",
1985
1967
  "react-native-web": "~0.21.2",
1986
- "react-native-worklets": "0.8.3",
1968
+ "react-native-worklets": "0.10.0",
1987
1969
  "zod": "^4.4.3"
1988
1970
  },
1989
1971
  "devDependencies": {
1990
1972
  "@assistant-ui/metro": "workspace:*",
1991
- "@babel/core": "^7.29.0",
1973
+ "@babel/core": "^7.29.7",
1992
1974
  "@types/react": "~19.2.17",
1993
- "typescript": "~6.0.3"
1975
+ "typescript": "npm:@typescript/typescript6@^6.0.2",
1976
+ "typescript-7": "npm:typescript@~7.0.2"
1994
1977
  },
1995
1978
  "private": true
1996
1979
  }
@@ -293,9 +293,7 @@ export default function Home() {
293
293
  import { withAui } from "@assistant-ui/next";
294
294
  import type { NextConfig } from "next";
295
295
 
296
- const nextConfig: NextConfig = {
297
- /* config options here */
298
- };
296
+ const nextConfig: NextConfig = {/* config options here */};
299
297
 
300
298
  export default withAui(nextConfig);
301
299
 
@@ -320,23 +318,24 @@ export default withAui(nextConfig);
320
318
  "@assistant-ui/ui": "workspace:*",
321
319
  "class-variance-authority": "^0.7.1",
322
320
  "clsx": "^2.1.1",
323
- "lucide-react": "^1.21.0",
324
- "next": "^16.2.9",
325
- "react": "^19.2.7",
326
- "react-dom": "^19.2.7",
321
+ "lucide-react": "^1.26.0",
322
+ "next": "^16.2.11",
323
+ "react": "^19.2.8",
324
+ "react-dom": "^19.2.8",
327
325
  "tailwind-merge": "^3.6.0"
328
326
  },
329
327
  "devDependencies": {
330
328
  "@assistant-ui/next": "workspace:*",
331
329
  "@assistant-ui/x-buildutils": "workspace:*",
332
- "@tailwindcss/postcss": "^4.3.1",
333
- "@types/node": "^26.0.0",
330
+ "@tailwindcss/postcss": "^4.3.3",
331
+ "@types/node": "^26.1.1",
334
332
  "@types/react": "^19.2.17",
335
333
  "@types/react-dom": "^19.2.3",
336
- "postcss": "^8.5.15",
337
- "tailwindcss": "^4.3.1",
334
+ "postcss": "^8.5.23",
335
+ "tailwindcss": "^4.3.3",
338
336
  "tw-animate-css": "^1.4.0",
339
- "typescript": "^6.0.3"
337
+ "typescript": "npm:@typescript/typescript6@^6.0.2",
338
+ "typescript-7": "npm:typescript@^7.0.2"
340
339
  }
341
340
  }
342
341
 
@@ -397,7 +396,13 @@ npm run dev
397
396
  "@/components/assistant-ui/*": [
398
397
  "../../packages/ui/src/components/assistant-ui/*"
399
398
  ],
400
- "@/components/ui/*": ["../../packages/ui/src/components/ui/*"],
399
+ "@/components/ui/*": [
400
+ "../../packages/ui/src/components/ui/base/*",
401
+ "../../packages/ui/src/components/ui/radix/*"
402
+ ],
403
+ "@/components/ui/radix/*": [
404
+ "../../packages/ui/src/components/ui/radix/*"
405
+ ],
401
406
  "@/lib/utils": ["../../packages/ui/src/lib/utils"],
402
407
  "@assistant-ui/ui/*": ["../../packages/ui/src/*"]
403
408
  }
@@ -693,9 +693,7 @@ export function useFfmpegToolkit(
693
693
  import { withAui } from "@assistant-ui/next";
694
694
  import type { NextConfig } from "next";
695
695
 
696
- const nextConfig: NextConfig = {
697
- /* config options here */
698
- };
696
+ const nextConfig: NextConfig = {/* config options here */};
699
697
 
700
698
  export default withAui(nextConfig);
701
699
 
@@ -715,34 +713,35 @@ export default withAui(nextConfig);
715
713
  "start": "next start"
716
714
  },
717
715
  "dependencies": {
718
- "@ai-sdk/openai": "^3.0.74",
716
+ "@ai-sdk/openai": "^4.0.20",
719
717
  "@assistant-ui/react": "workspace:*",
720
718
  "@assistant-ui/react-ai-sdk": "workspace:*",
721
719
  "@assistant-ui/react-markdown": "workspace:*",
722
720
  "@assistant-ui/ui": "workspace:*",
723
721
  "@ffmpeg/ffmpeg": "^0.12.15",
724
722
  "@ffmpeg/util": "^0.12.2",
725
- "ai": "^6.0.209",
723
+ "ai": "^7.0.37",
726
724
  "class-variance-authority": "^0.7.1",
727
725
  "clsx": "^2.1.1",
728
- "lucide-react": "^1.21.0",
729
- "next": "^16.2.9",
730
- "react": "^19.2.7",
731
- "react-dom": "^19.2.7",
726
+ "lucide-react": "^1.26.0",
727
+ "next": "^16.2.11",
728
+ "react": "^19.2.8",
729
+ "react-dom": "^19.2.8",
732
730
  "tailwind-merge": "^3.6.0",
733
731
  "zod": "^4.4.3"
734
732
  },
735
733
  "devDependencies": {
736
734
  "@assistant-ui/next": "workspace:*",
737
735
  "@assistant-ui/x-buildutils": "workspace:*",
738
- "@tailwindcss/postcss": "^4.3.1",
739
- "@types/node": "^26.0.0",
736
+ "@tailwindcss/postcss": "^4.3.3",
737
+ "@types/node": "^26.1.1",
740
738
  "@types/react": "^19.2.17",
741
739
  "@types/react-dom": "^19.2.3",
742
- "postcss": "^8.5.15",
743
- "tailwindcss": "^4.3.1",
740
+ "postcss": "^8.5.23",
741
+ "tailwindcss": "^4.3.3",
744
742
  "tw-animate-css": "^1.4.0",
745
- "typescript": "^6.0.3"
743
+ "typescript": "npm:@typescript/typescript6@^6.0.2",
744
+ "typescript-7": "npm:typescript@^7.0.2"
746
745
  }
747
746
  }
748
747
 
@@ -804,7 +803,13 @@ npm run dev
804
803
  "@/components/assistant-ui/*": [
805
804
  "../../packages/ui/src/components/assistant-ui/*"
806
805
  ],
807
- "@/components/ui/*": ["../../packages/ui/src/components/ui/*"],
806
+ "@/components/ui/*": [
807
+ "../../packages/ui/src/components/ui/base/*",
808
+ "../../packages/ui/src/components/ui/radix/*"
809
+ ],
810
+ "@/components/ui/radix/*": [
811
+ "../../packages/ui/src/components/ui/radix/*"
812
+ ],
808
813
  "@/lib/utils": ["../../packages/ui/src/lib/utils"],
809
814
  "@assistant-ui/ui/*": ["../../packages/ui/src/*"]
810
815
  }
@@ -1479,9 +1479,7 @@ export const isLeakedRenderGuiText = (text: string): boolean => {
1479
1479
  import { withAui } from "@assistant-ui/next";
1480
1480
  import type { NextConfig } from "next";
1481
1481
 
1482
- const nextConfig: NextConfig = {
1483
- /* config options here */
1484
- };
1482
+ const nextConfig: NextConfig = {/* config options here */};
1485
1483
 
1486
1484
  export default withAui(nextConfig);
1487
1485
 
@@ -1502,33 +1500,34 @@ export default withAui(nextConfig);
1502
1500
  "test": "vitest run"
1503
1501
  },
1504
1502
  "dependencies": {
1505
- "@ai-sdk/openai": "^3.0.74",
1503
+ "@ai-sdk/openai": "^4.0.20",
1506
1504
  "@assistant-ui/react": "workspace:*",
1507
1505
  "@assistant-ui/react-ai-sdk": "workspace:*",
1508
1506
  "@assistant-ui/ui": "workspace:*",
1509
- "ai": "^6.0.209",
1507
+ "ai": "^7.0.37",
1510
1508
  "class-variance-authority": "^0.7.1",
1511
1509
  "clsx": "^2.1.1",
1512
- "lucide-react": "^1.21.0",
1513
- "next": "^16.2.9",
1514
- "react": "^19.2.7",
1515
- "react-dom": "^19.2.7",
1516
- "recharts": "^3.9.0",
1510
+ "lucide-react": "^1.26.0",
1511
+ "next": "^16.2.11",
1512
+ "react": "^19.2.8",
1513
+ "react-dom": "^19.2.8",
1514
+ "recharts": "^3.10.0",
1517
1515
  "tailwind-merge": "^3.6.0",
1518
1516
  "zod": "^4.4.3"
1519
1517
  },
1520
1518
  "devDependencies": {
1521
1519
  "@assistant-ui/next": "workspace:*",
1522
1520
  "@assistant-ui/x-buildutils": "workspace:*",
1523
- "@tailwindcss/postcss": "^4.3.1",
1524
- "@types/node": "^26.0.0",
1521
+ "@tailwindcss/postcss": "^4.3.3",
1522
+ "@types/node": "^26.1.1",
1525
1523
  "@types/react": "^19.2.17",
1526
1524
  "@types/react-dom": "^19.2.3",
1527
- "postcss": "^8.5.15",
1528
- "tailwindcss": "^4.3.1",
1525
+ "postcss": "^8.5.23",
1526
+ "tailwindcss": "^4.3.3",
1529
1527
  "tw-animate-css": "^1.4.0",
1530
- "typescript": "^6.0.3",
1531
- "vitest": "^4.1.9"
1528
+ "typescript": "npm:@typescript/typescript6@^6.0.2",
1529
+ "typescript-7": "npm:typescript@^7.0.2",
1530
+ "vitest": "^4.1.10"
1532
1531
  }
1533
1532
  }
1534
1533
 
@@ -1545,7 +1544,13 @@ export default withAui(nextConfig);
1545
1544
  "@/components/assistant-ui/*": [
1546
1545
  "../../packages/ui/src/components/assistant-ui/*"
1547
1546
  ],
1548
- "@/components/ui/*": ["../../packages/ui/src/components/ui/*"],
1547
+ "@/components/ui/*": [
1548
+ "../../packages/ui/src/components/ui/base/*",
1549
+ "../../packages/ui/src/components/ui/radix/*"
1550
+ ],
1551
+ "@/components/ui/radix/*": [
1552
+ "../../packages/ui/src/components/ui/radix/*"
1553
+ ],
1549
1554
  "@/lib/utils": ["../../packages/ui/src/lib/utils"],
1550
1555
  "@assistant-ui/ui/*": ["../../packages/ui/src/*"]
1551
1556
  }
@@ -305,27 +305,28 @@ export default withAui(nextConfig);
305
305
  "@assistant-ui/react-google-adk": "workspace:*",
306
306
  "@assistant-ui/react-markdown": "workspace:*",
307
307
  "@assistant-ui/ui": "workspace:*",
308
- "@google/adk": "^1.3.0",
308
+ "@google/adk": "^1.4.0",
309
309
  "class-variance-authority": "^0.7.1",
310
310
  "clsx": "^2.1.1",
311
- "lucide-react": "^1.21.0",
312
- "next": "^16.2.9",
313
- "react": "^19.2.7",
314
- "react-dom": "^19.2.7",
311
+ "lucide-react": "^1.26.0",
312
+ "next": "^16.2.11",
313
+ "react": "^19.2.8",
314
+ "react-dom": "^19.2.8",
315
315
  "tailwind-merge": "^3.6.0",
316
316
  "zod": "^4.4.3"
317
317
  },
318
318
  "devDependencies": {
319
319
  "@assistant-ui/next": "workspace:*",
320
320
  "@assistant-ui/x-buildutils": "workspace:*",
321
- "@tailwindcss/postcss": "^4.3.1",
322
- "@types/node": "^26.0.0",
321
+ "@tailwindcss/postcss": "^4.3.3",
322
+ "@types/node": "^26.1.1",
323
323
  "@types/react": "^19.2.17",
324
324
  "@types/react-dom": "^19.2.3",
325
- "postcss": "^8.5.15",
326
- "tailwindcss": "^4.3.1",
325
+ "postcss": "^8.5.23",
326
+ "tailwindcss": "^4.3.3",
327
327
  "tw-animate-css": "^1.4.0",
328
- "typescript": "^6.0.3"
328
+ "typescript": "npm:@typescript/typescript6@^6.0.2",
329
+ "typescript-7": "npm:typescript@^7.0.2"
329
330
  }
330
331
  }
331
332
 
@@ -342,7 +343,13 @@ export default withAui(nextConfig);
342
343
  "@/components/assistant-ui/*": [
343
344
  "../../packages/ui/src/components/assistant-ui/*"
344
345
  ],
345
- "@/components/ui/*": ["../../packages/ui/src/components/ui/*"],
346
+ "@/components/ui/*": [
347
+ "../../packages/ui/src/components/ui/base/*",
348
+ "../../packages/ui/src/components/ui/radix/*"
349
+ ],
350
+ "@/components/ui/radix/*": [
351
+ "../../packages/ui/src/components/ui/radix/*"
352
+ ],
346
353
  "@/lib/utils": ["../../packages/ui/src/lib/utils"],
347
354
  "@assistant-ui/ui/*": ["../../packages/ui/src/*"]
348
355
  }
@@ -248,9 +248,7 @@ export function generateSampleData(
248
248
  import { withAui } from "@assistant-ui/next";
249
249
  import type { NextConfig } from "next";
250
250
 
251
- const nextConfig: NextConfig = {
252
- /* config options here */
253
- };
251
+ const nextConfig: NextConfig = {/* config options here */};
254
252
 
255
253
  export default withAui(nextConfig);
256
254
 
@@ -271,20 +269,21 @@ export default withAui(nextConfig);
271
269
  },
272
270
  "dependencies": {
273
271
  "heat-graph": "workspace:*",
274
- "next": "^16.2.9",
275
- "react": "^19.2.7",
276
- "react-dom": "^19.2.7"
272
+ "next": "^16.2.11",
273
+ "react": "^19.2.8",
274
+ "react-dom": "^19.2.8"
277
275
  },
278
276
  "devDependencies": {
279
277
  "@assistant-ui/next": "workspace:*",
280
278
  "@assistant-ui/x-buildutils": "workspace:*",
281
- "@tailwindcss/postcss": "^4.3.1",
282
- "@types/node": "^26.0.0",
279
+ "@tailwindcss/postcss": "^4.3.3",
280
+ "@types/node": "^26.1.1",
283
281
  "@types/react": "^19.2.17",
284
282
  "@types/react-dom": "^19.2.3",
285
- "postcss": "^8.5.15",
286
- "tailwindcss": "^4.3.1",
287
- "typescript": "^6.0.3"
283
+ "postcss": "^8.5.23",
284
+ "tailwindcss": "^4.3.3",
285
+ "typescript": "npm:@typescript/typescript6@^6.0.2",
286
+ "typescript-7": "npm:typescript@^7.0.2"
288
287
  }
289
288
  }
290
289
 
@@ -380,29 +380,30 @@ export default withAui(nextConfig);
380
380
  "start": "next start"
381
381
  },
382
382
  "dependencies": {
383
- "@ai-sdk/openai": "^3.0.74",
383
+ "@ai-sdk/openai": "^4.0.20",
384
384
  "@assistant-ui/react": "workspace:*",
385
385
  "@assistant-ui/ui": "workspace:*",
386
- "ai": "^6.0.209",
386
+ "ai": "^7.0.37",
387
387
  "class-variance-authority": "^0.7.1",
388
388
  "clsx": "^2.1.1",
389
- "lucide-react": "^1.21.0",
390
- "next": "^16.2.9",
391
- "react": "^19.2.7",
392
- "react-dom": "^19.2.7",
389
+ "lucide-react": "^1.26.0",
390
+ "next": "^16.2.11",
391
+ "react": "^19.2.8",
392
+ "react-dom": "^19.2.8",
393
393
  "tailwind-merge": "^3.6.0"
394
394
  },
395
395
  "devDependencies": {
396
396
  "@assistant-ui/next": "workspace:*",
397
397
  "@assistant-ui/x-buildutils": "workspace:*",
398
- "@tailwindcss/postcss": "^4.3.1",
399
- "@types/node": "^26.0.0",
398
+ "@tailwindcss/postcss": "^4.3.3",
399
+ "@types/node": "^26.1.1",
400
400
  "@types/react": "^19.2.17",
401
401
  "@types/react-dom": "^19.2.3",
402
- "postcss": "^8.5.15",
403
- "tailwindcss": "^4.3.1",
402
+ "postcss": "^8.5.23",
403
+ "tailwindcss": "^4.3.3",
404
404
  "tw-animate-css": "^1.4.0",
405
- "typescript": "^6.0.3"
405
+ "typescript": "npm:@typescript/typescript6@^6.0.2",
406
+ "typescript-7": "npm:typescript@^7.0.2"
406
407
  }
407
408
  }
408
409
 
@@ -443,7 +444,13 @@ Then open `http://localhost:3000`.
443
444
  "@/components/assistant-ui/*": [
444
445
  "../../packages/ui/src/components/assistant-ui/*"
445
446
  ],
446
- "@/components/ui/*": ["../../packages/ui/src/components/ui/*"],
447
+ "@/components/ui/*": [
448
+ "../../packages/ui/src/components/ui/base/*",
449
+ "../../packages/ui/src/components/ui/radix/*"
450
+ ],
451
+ "@/components/ui/radix/*": [
452
+ "../../packages/ui/src/components/ui/radix/*"
453
+ ],
447
454
  "@/lib/utils": ["../../packages/ui/src/lib/utils"],
448
455
  "@assistant-ui/ui/*": ["../../packages/ui/src/*"]
449
456
  }
@@ -8,13 +8,12 @@ import { streamText, convertToModelMessages, stepCountIs } from "ai";
8
8
  import type { UIMessage } from "ai";
9
9
  import {
10
10
  frontendTools,
11
+ type FrontendTools,
11
12
  unstable_injectInteractableContext,
12
13
  } from "@assistant-ui/react-ai-sdk";
13
14
 
14
15
  export const maxDuration = 30;
15
16
 
16
- type FrontendTools = Parameters<typeof frontendTools>[0];
17
-
18
17
  export async function POST(req: Request) {
19
18
  const {
20
19
  messages,
@@ -605,9 +604,7 @@ export const notesInitialState: NotesState = {
605
604
  ```typescript
606
605
  import type { NextConfig } from "next";
607
606
 
608
- const nextConfig: NextConfig = {
609
- /* config options here */
610
- };
607
+ const nextConfig: NextConfig = {/* config options here */};
611
608
 
612
609
  export default nextConfig;
613
610
 
@@ -627,30 +624,31 @@ export default nextConfig;
627
624
  "start": "next start"
628
625
  },
629
626
  "dependencies": {
630
- "@ai-sdk/openai": "^3.0.74",
627
+ "@ai-sdk/openai": "^4.0.20",
631
628
  "@assistant-ui/react": "workspace:*",
632
629
  "@assistant-ui/react-ai-sdk": "workspace:*",
633
630
  "@assistant-ui/ui": "workspace:*",
634
- "ai": "^6.0.209",
631
+ "ai": "^7.0.37",
635
632
  "class-variance-authority": "^0.7.1",
636
633
  "clsx": "^2.1.1",
637
- "lucide-react": "^1.21.0",
638
- "next": "^16.2.9",
639
- "react": "^19.2.7",
640
- "react-dom": "^19.2.7",
634
+ "lucide-react": "^1.26.0",
635
+ "next": "^16.2.11",
636
+ "react": "^19.2.8",
637
+ "react-dom": "^19.2.8",
641
638
  "tailwind-merge": "^3.6.0",
642
639
  "zod": "^4.4.3"
643
640
  },
644
641
  "devDependencies": {
645
642
  "@assistant-ui/x-buildutils": "workspace:*",
646
- "@tailwindcss/postcss": "^4.3.1",
647
- "@types/node": "^26.0.0",
643
+ "@tailwindcss/postcss": "^4.3.3",
644
+ "@types/node": "^26.1.1",
648
645
  "@types/react": "^19.2.17",
649
646
  "@types/react-dom": "^19.2.3",
650
- "postcss": "^8.5.15",
651
- "tailwindcss": "^4.3.1",
647
+ "postcss": "^8.5.23",
648
+ "tailwindcss": "^4.3.3",
652
649
  "tw-animate-css": "^1.4.0",
653
- "typescript": "^6.0.3"
650
+ "typescript": "npm:@typescript/typescript6@^6.0.2",
651
+ "typescript-7": "npm:typescript@^7.0.2"
654
652
  }
655
653
  }
656
654
 
@@ -714,7 +712,13 @@ Open [http://localhost:3000](http://localhost:3000) to see the example.
714
712
  "@/components/assistant-ui/*": [
715
713
  "../../packages/ui/src/components/assistant-ui/*"
716
714
  ],
717
- "@/components/ui/*": ["../../packages/ui/src/components/ui/*"],
715
+ "@/components/ui/*": [
716
+ "../../packages/ui/src/components/ui/base/*",
717
+ "../../packages/ui/src/components/ui/radix/*"
718
+ ],
719
+ "@/components/ui/radix/*": [
720
+ "../../packages/ui/src/components/ui/radix/*"
721
+ ],
718
722
  "@/lib/utils": ["../../packages/ui/src/lib/utils"],
719
723
  "@assistant-ui/ui/*": ["../../packages/ui/src/*"]
720
724
  }