@assistant-ui/mcp-docs-server 0.1.39 → 0.2.1
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.
- package/.docs/organized/code-examples/waterfall.md +17 -18
- package/.docs/organized/code-examples/with-a2a.md +20 -15
- package/.docs/organized/code-examples/with-ag-ui.md +19 -17
- package/.docs/organized/code-examples/with-ai-sdk-v7.md +17 -16
- package/.docs/organized/code-examples/with-artifacts.md +471 -145
- package/.docs/organized/code-examples/with-assistant-transport.md +23 -31
- package/.docs/organized/code-examples/with-browser-extension.md +21 -14
- package/.docs/organized/code-examples/with-chain-of-thought.md +22 -20
- package/.docs/organized/code-examples/with-cloud-standalone.md +13 -14
- package/.docs/organized/code-examples/with-cloud.md +22 -17
- package/.docs/organized/code-examples/with-custom-thread-list.md +17 -16
- package/.docs/organized/code-examples/with-elevenlabs-conversational.md +17 -17
- package/.docs/organized/code-examples/with-elevenlabs-scribe.md +21 -19
- package/.docs/organized/code-examples/with-eve.md +70 -16
- package/.docs/organized/code-examples/with-expo.md +32 -51
- package/.docs/organized/code-examples/with-external-store.md +20 -15
- package/.docs/organized/code-examples/with-ffmpeg.md +24 -18
- package/.docs/organized/code-examples/with-generative-ui.md +20 -21
- package/.docs/organized/code-examples/with-google-adk.md +21 -16
- package/.docs/organized/code-examples/with-heat-graph.md +10 -11
- package/.docs/organized/code-examples/with-image-generation.md +13 -14
- package/.docs/organized/code-examples/with-interactables.md +17 -16
- package/.docs/organized/code-examples/with-langchain.md +13 -14
- package/.docs/organized/code-examples/with-langgraph.md +23 -17
- package/.docs/organized/code-examples/with-livekit.md +17 -17
- package/.docs/organized/code-examples/with-mcp.md +36 -32
- package/.docs/organized/code-examples/with-nuxt.md +2492 -0
- package/.docs/organized/code-examples/with-opencode.md +27 -21
- package/.docs/organized/code-examples/with-pi.md +69 -67
- package/.docs/organized/code-examples/with-react-hook-form.md +18 -17
- package/.docs/organized/code-examples/with-react-ink-web.md +10 -11
- package/.docs/organized/code-examples/with-react-ink.md +7 -7
- package/.docs/organized/code-examples/with-react-router.md +23 -17
- package/.docs/organized/code-examples/with-resumable-stream.md +15 -16
- package/.docs/organized/code-examples/with-store.md +31 -20
- package/.docs/organized/code-examples/with-tanstack.md +22 -16
- package/.docs/organized/code-examples/with-tap-runtime.md +19 -19
- package/.docs/organized/code-examples/with-virtualized-thread.md +12 -13
- package/.docs/organized/code-examples/with-vue.md +408 -0
- package/.docs/raw/docs/(docs)/cli.mdx +3 -1
- package/.docs/raw/docs/(docs)/devtools.mdx +7 -2
- package/.docs/raw/docs/(docs)/index.mdx +9 -76
- package/.docs/raw/docs/(docs)/installation.mdx +4 -18
- package/.docs/raw/docs/(reference)/api-reference/context-providers/assistant-runtime-provider.mdx +24 -4
- package/.docs/raw/docs/(reference)/api-reference/generative-ui/a2ui.mdx +40 -0
- package/.docs/raw/docs/(reference)/api-reference/generative-ui/index.mdx +3 -0
- package/.docs/raw/docs/(reference)/api-reference/hooks/primitives.mdx +19 -420
- package/.docs/raw/docs/(reference)/api-reference/hooks/state.mdx +4 -1
- package/.docs/raw/docs/(reference)/api-reference/integrations/eve.mdx +8 -0
- package/.docs/raw/docs/(reference)/api-reference/integrations/react-ai-sdk.mdx +21 -0
- package/.docs/raw/docs/(reference)/api-reference/model-context/context.mdx +1 -9
- package/.docs/raw/docs/(reference)/api-reference/primitives/assistant-if.mdx +1 -18
- package/.docs/raw/docs/(reference)/api-reference/utilities/miscellaneous.mdx +24 -1
- package/.docs/raw/docs/cloud/ai-sdk-assistant-ui.mdx +1 -1
- package/.docs/raw/docs/cloud/ai-sdk.mdx +2 -2
- package/.docs/raw/docs/cloud/langgraph.mdx +1 -1
- package/.docs/raw/docs/copilots/model-context.mdx +5 -4
- package/.docs/raw/docs/copilots/motivation.mdx +5 -5
- package/.docs/raw/docs/guides/attachments.mdx +3 -3
- package/.docs/raw/docs/guides/branching.mdx +2 -2
- package/.docs/raw/docs/guides/chain-of-thought.mdx +1 -1
- package/.docs/raw/docs/guides/context-api.mdx +89 -111
- package/.docs/raw/docs/guides/editing.mdx +5 -5
- package/.docs/raw/docs/guides/electron.mdx +369 -0
- package/.docs/raw/docs/guides/index.mdx +10 -0
- package/.docs/raw/docs/guides/quoting.mdx +3 -3
- package/.docs/raw/docs/guides/resumable-stream-deployment.mdx +2 -2
- package/.docs/raw/docs/guides/resumable-streams.mdx +74 -3
- package/.docs/raw/docs/guides/suggestions.mdx +9 -9
- package/.docs/raw/docs/ink/hooks.mdx +12 -7
- package/.docs/raw/docs/ink/primitives.mdx +18 -10
- package/.docs/raw/docs/integrations/attachments/custom-adapter.mdx +16 -0
- package/.docs/raw/docs/integrations/auth/better-auth.mdx +3 -3
- package/.docs/raw/docs/integrations/auth/clerk.mdx +3 -3
- package/.docs/raw/docs/integrations/auth/next-auth.mdx +4 -4
- package/.docs/raw/docs/integrations/frameworks/cloudflare-agents/overview.mdx +1 -1
- package/.docs/raw/docs/integrations/frameworks/mastra/full-stack.mdx +2 -2
- package/.docs/raw/docs/integrations/frameworks/mastra/separate-server.mdx +1 -1
- package/.docs/raw/docs/integrations/gateways/index.mdx +2 -2
- package/.docs/raw/docs/integrations/observability/helicone.mdx +2 -2
- package/.docs/raw/docs/integrations/observability/langfuse.mdx +1 -1
- package/.docs/raw/docs/integrations/observability/langsmith.mdx +3 -3
- package/.docs/raw/docs/integrations/persistence/custom-adapter.mdx +36 -9
- package/.docs/raw/docs/migrations/toolkit-tools.mdx +15 -13
- package/.docs/raw/docs/migrations/v0-15.mdx +236 -0
- package/.docs/raw/docs/primitives/attachment.mdx +2 -2
- package/.docs/raw/docs/primitives/composer.mdx +3 -3
- package/.docs/raw/docs/primitives/message.mdx +33 -1
- package/.docs/raw/docs/primitives/suggestion.mdx +1 -1
- package/.docs/raw/docs/primitives/thread-list.mdx +2 -2
- package/.docs/raw/docs/react-native/hooks.mdx +17 -7
- package/.docs/raw/docs/react-native/index.mdx +3 -3
- package/.docs/raw/docs/react-native/primitives.mdx +41 -7
- package/.docs/raw/docs/runtimes/ai-sdk/overview.mdx +3 -3
- package/.docs/raw/docs/runtimes/ai-sdk/v4-legacy.mdx +5 -5
- package/.docs/raw/docs/runtimes/ai-sdk/v5-legacy.mdx +5 -5
- package/.docs/raw/docs/runtimes/ai-sdk/v6-legacy.mdx +13 -14
- package/.docs/raw/docs/runtimes/ai-sdk/v7.mdx +11 -12
- package/.docs/raw/docs/runtimes/concepts/threads.mdx +50 -11
- package/.docs/raw/docs/runtimes/custom/assistant-transport.mdx +20 -2
- package/.docs/raw/docs/runtimes/custom/external-store.mdx +31 -2
- package/.docs/raw/docs/runtimes/custom/local-runtime.mdx +39 -12
- package/.docs/raw/docs/runtimes/eve/overview.mdx +51 -0
- package/.docs/raw/docs/runtimes/eve/quickstart.mdx +51 -2
- package/.docs/raw/docs/runtimes/google-adk/hooks.mdx +9 -12
- package/.docs/raw/docs/runtimes/langchain.mdx +2 -2
- package/.docs/raw/docs/runtimes/langgraph/overview.mdx +1 -1
- package/.docs/raw/docs/runtimes/langgraph/streaming.mdx +1 -1
- package/.docs/raw/docs/runtimes/langgraph/tutorial/part-2.mdx +7 -7
- package/.docs/raw/docs/runtimes/langgraph/tutorial/part-3.mdx +4 -4
- package/.docs/raw/docs/runtimes/opencode/hooks.mdx +4 -1
- package/.docs/raw/docs/runtimes/opencode/overview.mdx +10 -0
- package/.docs/raw/docs/tools/a2ui.mdx +107 -0
- package/.docs/raw/docs/tools/backend.mdx +2 -2
- package/.docs/raw/docs/tools/defining-tools.mdx +9 -7
- package/.docs/raw/docs/tools/dynamic-tools.mdx +6 -4
- package/.docs/raw/docs/tools/interactables-legacy.mdx +28 -15
- package/.docs/raw/docs/tools/interactables.mdx +27 -16
- package/.docs/raw/docs/tools/mcp-apps.mdx +96 -8
- package/.docs/raw/docs/tools/mcp.mdx +9 -7
- package/.docs/raw/docs/tools/tool-ui.mdx +26 -22
- package/.docs/raw/docs/tools/user-managed-mcp.mdx +64 -14
- package/.docs/raw/docs/ui/file.mdx +6 -1
- package/.docs/raw/docs/ui/follow-up-suggestions.mdx +2 -0
- package/.docs/raw/docs/ui/mcp-config.mdx +8 -3
- package/.docs/raw/docs/ui/model-selector.mdx +9 -9
- package/.docs/raw/docs/ui/part-grouping.mdx +1 -5
- package/.docs/raw/docs/ui/reasoning.mdx +1 -1
- package/.docs/raw/docs/ui/thread.mdx +24 -5
- package/.docs/raw/docs/utilities/react-o11y.mdx +7 -9
- package/dist/constants.js +2 -2
- package/dist/constants.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/prepare-docs/code-examples.js.map +1 -1
- package/dist/prepare-docs/prepare.d.ts +1 -1
- package/dist/prepare-docs/prepare.js.map +1 -1
- package/dist/stdio.d.ts +1 -1
- package/dist/tools/docs.d.ts +6 -10
- package/dist/tools/docs.d.ts.map +1 -1
- package/dist/tools/docs.js +6 -4
- package/dist/tools/docs.js.map +1 -1
- package/dist/tools/examples.d.ts +4 -8
- package/dist/tools/examples.d.ts.map +1 -1
- package/dist/tools/examples.js +4 -3
- package/dist/tools/examples.js.map +1 -1
- package/dist/tools/resources.d.ts +1 -1
- package/dist/tools/resources.d.ts.map +1 -1
- package/dist/tools/resources.js +3 -2
- package/dist/tools/resources.js.map +1 -1
- package/dist/tools/search.d.ts +4 -10
- package/dist/tools/search.d.ts.map +1 -1
- package/dist/tools/search.js +2 -2
- package/dist/tools/search.js.map +1 -1
- package/dist/tools/tests/mcp-test-client.d.ts +15 -0
- package/dist/tools/tests/mcp-test-client.d.ts.map +1 -0
- package/dist/tools/tests/mcp-test-client.js +68 -0
- package/dist/tools/tests/mcp-test-client.js.map +1 -0
- package/dist/tools/tests/test-setup.d.ts.map +1 -1
- package/dist/tools/tests/test-setup.js +2 -1
- package/dist/tools/tests/test-setup.js.map +1 -1
- package/dist/tools/xulux-templates.d.ts +9 -23
- package/dist/tools/xulux-templates.d.ts.map +1 -1
- package/dist/tools/xulux-templates.js +8 -6
- package/dist/tools/xulux-templates.js.map +1 -1
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/mdx.js +2 -1
- package/dist/utils/mdx.js.map +1 -1
- package/dist/utils/security.js.map +1 -1
- package/dist/xulux/catalog-client.js +1 -1
- package/dist/xulux/catalog-client.js.map +1 -1
- package/package.json +6 -5
- package/src/index.ts +2 -2
- package/src/tools/docs.ts +2 -2
- package/src/tools/examples.ts +2 -2
- package/src/tools/resources.ts +1 -4
- package/src/tools/search.ts +2 -2
- package/src/tools/tests/completions.test.ts +40 -26
- package/src/tools/tests/docs.test.ts +2 -2
- package/src/tools/tests/integration.test.ts +3 -4
- package/src/tools/tests/mcp-protocol.test.ts +160 -175
- package/src/tools/tests/mcp-test-client.ts +111 -0
- package/src/tools/tests/resources.test.ts +97 -66
- package/src/tools/xulux-templates.ts +4 -4
|
@@ -179,16 +179,17 @@ export default function RootLayout({
|
|
|
179
179
|
"use client";
|
|
180
180
|
|
|
181
181
|
import { Thread } from "@/components/assistant-ui/thread";
|
|
182
|
+
import { EveAuthorization } from "@/components/eve-authorization";
|
|
182
183
|
import {
|
|
183
184
|
AssistantRuntimeProvider,
|
|
185
|
+
AuiConfig,
|
|
184
186
|
Suggestions,
|
|
185
|
-
useAui,
|
|
186
187
|
} from "@assistant-ui/react";
|
|
187
188
|
import { useEveAgentRuntime } from "@assistant-ui/eve";
|
|
188
189
|
|
|
189
190
|
export default function Home() {
|
|
190
191
|
const runtime = useEveAgentRuntime();
|
|
191
|
-
const
|
|
192
|
+
const config = AuiConfig({
|
|
192
193
|
suggestions: Suggestions([
|
|
193
194
|
{
|
|
194
195
|
title: "Explain Eve",
|
|
@@ -206,7 +207,8 @@ export default function Home() {
|
|
|
206
207
|
});
|
|
207
208
|
|
|
208
209
|
return (
|
|
209
|
-
<AssistantRuntimeProvider runtime={runtime}
|
|
210
|
+
<AssistantRuntimeProvider runtime={runtime} config={config}>
|
|
211
|
+
<EveAuthorization />
|
|
210
212
|
<div className="h-full">
|
|
211
213
|
<Thread />
|
|
212
214
|
</div>
|
|
@@ -246,6 +248,59 @@ export default function Home() {
|
|
|
246
248
|
|
|
247
249
|
```
|
|
248
250
|
|
|
251
|
+
## components/eve-authorization.tsx
|
|
252
|
+
|
|
253
|
+
```tsx
|
|
254
|
+
"use client";
|
|
255
|
+
|
|
256
|
+
import type { EveAuthorizationData } from "@assistant-ui/eve";
|
|
257
|
+
import { makeAssistantDataUI } from "@assistant-ui/react";
|
|
258
|
+
|
|
259
|
+
export const EveAuthorization = makeAssistantDataUI<EveAuthorizationData>({
|
|
260
|
+
name: "authorization",
|
|
261
|
+
render: ({ data }) => {
|
|
262
|
+
const label = data.displayName ?? data.name;
|
|
263
|
+
|
|
264
|
+
if (data.state !== "required") {
|
|
265
|
+
// Eve inherits `description` from the pending part, so a settled
|
|
266
|
+
// authorization still reads as a sign-in prompt.
|
|
267
|
+
const suffix = data.reason ? ` (${data.reason})` : "";
|
|
268
|
+
return (
|
|
269
|
+
<div className="text-muted-foreground my-2 text-sm">
|
|
270
|
+
{data.outcome === "authorized"
|
|
271
|
+
? `${label} connected.`
|
|
272
|
+
: `${label} authorization ${data.outcome ?? "completed"}${suffix}.`}
|
|
273
|
+
</div>
|
|
274
|
+
);
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
return (
|
|
278
|
+
<div className="my-2 flex flex-col items-start gap-2 rounded-lg border p-4">
|
|
279
|
+
<p className="text-sm">
|
|
280
|
+
{data.instructions ?? `Sign in to ${label} to continue.`}
|
|
281
|
+
</p>
|
|
282
|
+
{data.userCode && (
|
|
283
|
+
<code className="bg-muted rounded px-2 py-1 font-mono text-sm">
|
|
284
|
+
{data.userCode}
|
|
285
|
+
</code>
|
|
286
|
+
)}
|
|
287
|
+
{data.url && (
|
|
288
|
+
<a
|
|
289
|
+
className="text-sm underline"
|
|
290
|
+
href={data.url}
|
|
291
|
+
target="_blank"
|
|
292
|
+
rel="noreferrer"
|
|
293
|
+
>
|
|
294
|
+
Continue to sign in
|
|
295
|
+
</a>
|
|
296
|
+
)}
|
|
297
|
+
</div>
|
|
298
|
+
);
|
|
299
|
+
},
|
|
300
|
+
});
|
|
301
|
+
|
|
302
|
+
```
|
|
303
|
+
|
|
249
304
|
## next.config.ts
|
|
250
305
|
|
|
251
306
|
```typescript
|
|
@@ -281,25 +336,24 @@ export default withEve(withAui(nextConfig));
|
|
|
281
336
|
"@assistant-ui/ui": "workspace:*",
|
|
282
337
|
"class-variance-authority": "^0.7.1",
|
|
283
338
|
"clsx": "^2.1.1",
|
|
284
|
-
"eve": "^0.
|
|
285
|
-
"lucide-react": "^1.
|
|
286
|
-
"next": "^16.
|
|
287
|
-
"react": "^19.2.
|
|
288
|
-
"react-dom": "^19.2.
|
|
339
|
+
"eve": "^0.27.6",
|
|
340
|
+
"lucide-react": "^1.29.0",
|
|
341
|
+
"next": "^16.3.0",
|
|
342
|
+
"react": "^19.2.8",
|
|
343
|
+
"react-dom": "^19.2.8",
|
|
289
344
|
"tailwind-merge": "^3.6.0"
|
|
290
345
|
},
|
|
291
346
|
"devDependencies": {
|
|
292
347
|
"@assistant-ui/next": "workspace:*",
|
|
293
348
|
"@assistant-ui/x-buildutils": "workspace:*",
|
|
294
|
-
"@tailwindcss/postcss": "^4.3.
|
|
295
|
-
"@types/node": "^26.1.
|
|
296
|
-
"@types/react": "^19.2.
|
|
297
|
-
"@types/react-dom": "^19.2.
|
|
298
|
-
"postcss": "^8.5.
|
|
299
|
-
"tailwindcss": "^4.3.
|
|
349
|
+
"@tailwindcss/postcss": "^4.3.3",
|
|
350
|
+
"@types/node": "^26.1.2",
|
|
351
|
+
"@types/react": "^19.2.18",
|
|
352
|
+
"@types/react-dom": "^19.2.4",
|
|
353
|
+
"postcss": "^8.5.26",
|
|
354
|
+
"tailwindcss": "^4.3.3",
|
|
300
355
|
"tw-animate-css": "^1.4.0",
|
|
301
|
-
"typescript": "
|
|
302
|
-
"typescript-7": "npm:typescript@^7.0.2"
|
|
356
|
+
"typescript": "^7.0.2"
|
|
303
357
|
}
|
|
304
358
|
}
|
|
305
359
|
|
|
@@ -97,6 +97,7 @@ import { GestureHandlerRootView } from "react-native-gesture-handler";
|
|
|
97
97
|
|
|
98
98
|
import {
|
|
99
99
|
AssistantRuntimeProvider,
|
|
100
|
+
AuiConfig,
|
|
100
101
|
useAui,
|
|
101
102
|
Tools,
|
|
102
103
|
} from "@assistant-ui/react-native";
|
|
@@ -117,7 +118,7 @@ function NewChatButton() {
|
|
|
117
118
|
hitSlop={8}
|
|
118
119
|
onPress={() => {
|
|
119
120
|
haptics.selection();
|
|
120
|
-
aui.threads
|
|
121
|
+
aui.threads.switchToNewThread();
|
|
121
122
|
}}
|
|
122
123
|
style={{ marginRight: 16 }}
|
|
123
124
|
>
|
|
@@ -170,7 +171,7 @@ export default function RootLayout() {
|
|
|
170
171
|
Platform.OS === "ios" ? {} : MaterialIcons.font,
|
|
171
172
|
);
|
|
172
173
|
const runtime = useAppRuntime();
|
|
173
|
-
const
|
|
174
|
+
const config = AuiConfig({
|
|
174
175
|
tools: Tools({ toolkit }),
|
|
175
176
|
});
|
|
176
177
|
|
|
@@ -178,7 +179,7 @@ export default function RootLayout() {
|
|
|
178
179
|
|
|
179
180
|
return (
|
|
180
181
|
<GestureHandlerRootView style={{ flex: 1 }}>
|
|
181
|
-
<AssistantRuntimeProvider runtime={runtime}
|
|
182
|
+
<AssistantRuntimeProvider runtime={runtime} config={config}>
|
|
182
183
|
<DrawerLayout />
|
|
183
184
|
</AssistantRuntimeProvider>
|
|
184
185
|
</GestureHandlerRootView>
|
|
@@ -362,7 +363,7 @@ function AttachButton() {
|
|
|
362
363
|
for (const asset of result.assets) {
|
|
363
364
|
// iOS may report HEIC, which OpenAI rejects; normalize to JPEG.
|
|
364
365
|
const dataUrl = `data:image/jpeg;base64,${asset.base64}`;
|
|
365
|
-
await aui.composer
|
|
366
|
+
await aui.composer.addAttachment({
|
|
366
367
|
name: asset.fileName ?? "image.jpg",
|
|
367
368
|
contentType: "image/jpeg",
|
|
368
369
|
type: "image",
|
|
@@ -853,14 +854,12 @@ const styles = StyleSheet.create({
|
|
|
853
854
|
## components/assistant-ui/thread.tsx
|
|
854
855
|
|
|
855
856
|
```tsx
|
|
856
|
-
import { useRef } from "react";
|
|
857
857
|
import {
|
|
858
858
|
View,
|
|
859
859
|
Text,
|
|
860
860
|
StyleSheet,
|
|
861
861
|
KeyboardAvoidingView,
|
|
862
862
|
Platform,
|
|
863
|
-
type FlatList,
|
|
864
863
|
} from "react-native";
|
|
865
864
|
import { useSafeAreaInsets } from "react-native-safe-area-context";
|
|
866
865
|
import { MessageBubble } from "./message";
|
|
@@ -915,37 +914,19 @@ function EmptyState() {
|
|
|
915
914
|
}
|
|
916
915
|
|
|
917
916
|
function ChatMessages() {
|
|
918
|
-
const listRef = useRef<FlatList>(null);
|
|
919
|
-
const nearBottom = useRef(true);
|
|
920
|
-
|
|
921
917
|
return (
|
|
922
918
|
<>
|
|
923
919
|
<ThreadPrimitive.Empty>
|
|
924
920
|
<EmptyState />
|
|
925
921
|
</ThreadPrimitive.Empty>
|
|
926
922
|
<ThreadPrimitive.If empty={false}>
|
|
927
|
-
<ThreadPrimitive.
|
|
928
|
-
// Messages isn't a forwardRef component, but it spreads extra props
|
|
929
|
-
// onto its FlatList, so React 19 still forwards this ref to the list.
|
|
930
|
-
{...({ ref: listRef } as object)}
|
|
923
|
+
<ThreadPrimitive.MessagesFlatList
|
|
931
924
|
style={styles.flex}
|
|
932
925
|
contentContainerStyle={styles.messageList}
|
|
933
926
|
showsVerticalScrollIndicator={false}
|
|
934
|
-
scrollEventThrottle={32}
|
|
935
|
-
onScroll={(e) => {
|
|
936
|
-
const { contentOffset, contentSize, layoutMeasurement } =
|
|
937
|
-
e.nativeEvent;
|
|
938
|
-
nearBottom.current =
|
|
939
|
-
contentOffset.y + layoutMeasurement.height >=
|
|
940
|
-
contentSize.height - 48;
|
|
941
|
-
}}
|
|
942
|
-
onContentSizeChange={() => {
|
|
943
|
-
if (nearBottom.current)
|
|
944
|
-
listRef.current?.scrollToEnd({ animated: true });
|
|
945
|
-
}}
|
|
946
927
|
>
|
|
947
928
|
{() => <MessageBubble />}
|
|
948
|
-
</ThreadPrimitive.
|
|
929
|
+
</ThreadPrimitive.MessagesFlatList>
|
|
949
930
|
</ThreadPrimitive.If>
|
|
950
931
|
</>
|
|
951
932
|
);
|
|
@@ -1470,7 +1451,7 @@ export function ThreadListDrawer({ navigation }: DrawerContentComponentProps) {
|
|
|
1470
1451
|
<Pressable
|
|
1471
1452
|
onPressIn={haptics.selection}
|
|
1472
1453
|
onPress={() => {
|
|
1473
|
-
aui.threads
|
|
1454
|
+
aui.threads.switchToNewThread();
|
|
1474
1455
|
navigation.closeDrawer();
|
|
1475
1456
|
}}
|
|
1476
1457
|
style={({ pressed }) => [
|
|
@@ -1567,7 +1548,7 @@ export function ThreadListItem({ onSelect }: { onSelect: () => void }) {
|
|
|
1567
1548
|
<Pressable
|
|
1568
1549
|
onPressIn={haptics.selection}
|
|
1569
1550
|
onPress={() => {
|
|
1570
|
-
aui.threadListItem
|
|
1551
|
+
aui.threadListItem.switchTo();
|
|
1571
1552
|
onSelect();
|
|
1572
1553
|
}}
|
|
1573
1554
|
style={({ pressed }) => [
|
|
@@ -1955,43 +1936,43 @@ module.exports = withAui(config);
|
|
|
1955
1936
|
"export:web": "expo export --platform web && node scripts/flatten-assets.mjs"
|
|
1956
1937
|
},
|
|
1957
1938
|
"dependencies": {
|
|
1958
|
-
"@ai-sdk/openai": "^4.0.
|
|
1959
|
-
"@ai-sdk/react": "^4.0.
|
|
1939
|
+
"@ai-sdk/openai": "^4.0.34",
|
|
1940
|
+
"@ai-sdk/react": "^4.0.59",
|
|
1960
1941
|
"@assistant-ui/react-ai-sdk": "workspace:*",
|
|
1961
1942
|
"@assistant-ui/react-native": "workspace:*",
|
|
1962
1943
|
"@expo/vector-icons": "^15.1.1",
|
|
1963
1944
|
"@react-navigation/drawer": "7.9.4",
|
|
1964
1945
|
"@react-navigation/native": "7.1.33",
|
|
1965
|
-
"ai": "^7.0.
|
|
1966
|
-
"expo": "~57.0.
|
|
1967
|
-
"expo-clipboard": "~57.0.
|
|
1968
|
-
"expo-constants": "~57.0.
|
|
1969
|
-
"expo-font": "~57.0.
|
|
1970
|
-
"expo-haptics": "~57.0.
|
|
1971
|
-
"expo-image": "~57.0.
|
|
1972
|
-
"expo-image-picker": "~57.0.
|
|
1973
|
-
"expo-linking": "~57.0.
|
|
1974
|
-
"expo-router": "~57.0.
|
|
1975
|
-
"expo-server": "~57.0.
|
|
1976
|
-
"expo-splash-screen": "~57.0.
|
|
1977
|
-
"expo-status-bar": "~57.0.
|
|
1978
|
-
"expo-symbols": "^57.0.
|
|
1979
|
-
"expo-system-ui": "~57.0.
|
|
1946
|
+
"ai": "^7.0.56",
|
|
1947
|
+
"expo": "~57.0.11",
|
|
1948
|
+
"expo-clipboard": "~57.0.1",
|
|
1949
|
+
"expo-constants": "~57.0.9",
|
|
1950
|
+
"expo-font": "~57.0.1",
|
|
1951
|
+
"expo-haptics": "~57.0.1",
|
|
1952
|
+
"expo-image": "~57.0.2",
|
|
1953
|
+
"expo-image-picker": "~57.0.8",
|
|
1954
|
+
"expo-linking": "~57.0.5",
|
|
1955
|
+
"expo-router": "~57.0.11",
|
|
1956
|
+
"expo-server": "~57.0.1",
|
|
1957
|
+
"expo-splash-screen": "~57.0.5",
|
|
1958
|
+
"expo-status-bar": "~57.0.1",
|
|
1959
|
+
"expo-symbols": "^57.0.2",
|
|
1960
|
+
"expo-system-ui": "~57.0.2",
|
|
1980
1961
|
"react": "19.2.3",
|
|
1981
1962
|
"react-dom": "19.2.3",
|
|
1982
|
-
"react-native": "0.86.
|
|
1983
|
-
"react-native-gesture-handler": "~
|
|
1984
|
-
"react-native-reanimated": "4.5.
|
|
1963
|
+
"react-native": "0.86.2",
|
|
1964
|
+
"react-native-gesture-handler": "~2.32.0",
|
|
1965
|
+
"react-native-reanimated": "4.5.1",
|
|
1985
1966
|
"react-native-safe-area-context": "~5.7.0",
|
|
1986
|
-
"react-native-screens": "4.
|
|
1967
|
+
"react-native-screens": "4.26.2",
|
|
1987
1968
|
"react-native-web": "~0.21.2",
|
|
1988
|
-
"react-native-worklets": "0.10.
|
|
1969
|
+
"react-native-worklets": "0.10.1",
|
|
1989
1970
|
"zod": "^4.4.3"
|
|
1990
1971
|
},
|
|
1991
1972
|
"devDependencies": {
|
|
1992
1973
|
"@assistant-ui/metro": "workspace:*",
|
|
1993
1974
|
"@babel/core": "^7.29.7",
|
|
1994
|
-
"@types/react": "~19.2.
|
|
1975
|
+
"@types/react": "~19.2.18",
|
|
1995
1976
|
"typescript": "npm:@typescript/typescript6@^6.0.2",
|
|
1996
1977
|
"typescript-7": "npm:typescript@~7.0.2"
|
|
1997
1978
|
},
|
|
@@ -223,10 +223,16 @@ export function MyRuntimeProvider({
|
|
|
223
223
|
"use client";
|
|
224
224
|
|
|
225
225
|
import { Thread } from "@/components/assistant-ui/thread";
|
|
226
|
-
import {
|
|
226
|
+
import {
|
|
227
|
+
useAui,
|
|
228
|
+
AuiProvider,
|
|
229
|
+
AuiConfig,
|
|
230
|
+
Suggestions,
|
|
231
|
+
} from "@assistant-ui/react";
|
|
227
232
|
|
|
228
233
|
function ThreadWithSuggestions() {
|
|
229
|
-
const aui = useAui(
|
|
234
|
+
const aui = useAui();
|
|
235
|
+
const config = AuiConfig({
|
|
230
236
|
suggestions: Suggestions([
|
|
231
237
|
{
|
|
232
238
|
title: "Send a test message",
|
|
@@ -241,7 +247,7 @@ function ThreadWithSuggestions() {
|
|
|
241
247
|
]),
|
|
242
248
|
});
|
|
243
249
|
return (
|
|
244
|
-
<AuiProvider
|
|
250
|
+
<AuiProvider extends={aui} config={config}>
|
|
245
251
|
<Thread />
|
|
246
252
|
</AuiProvider>
|
|
247
253
|
);
|
|
@@ -318,24 +324,23 @@ export default withAui(nextConfig);
|
|
|
318
324
|
"@assistant-ui/ui": "workspace:*",
|
|
319
325
|
"class-variance-authority": "^0.7.1",
|
|
320
326
|
"clsx": "^2.1.1",
|
|
321
|
-
"lucide-react": "^1.
|
|
322
|
-
"next": "^16.
|
|
323
|
-
"react": "^19.2.
|
|
324
|
-
"react-dom": "^19.2.
|
|
327
|
+
"lucide-react": "^1.29.0",
|
|
328
|
+
"next": "^16.3.0",
|
|
329
|
+
"react": "^19.2.8",
|
|
330
|
+
"react-dom": "^19.2.8",
|
|
325
331
|
"tailwind-merge": "^3.6.0"
|
|
326
332
|
},
|
|
327
333
|
"devDependencies": {
|
|
328
334
|
"@assistant-ui/next": "workspace:*",
|
|
329
335
|
"@assistant-ui/x-buildutils": "workspace:*",
|
|
330
|
-
"@tailwindcss/postcss": "^4.3.
|
|
331
|
-
"@types/node": "^26.1.
|
|
332
|
-
"@types/react": "^19.2.
|
|
333
|
-
"@types/react-dom": "^19.2.
|
|
334
|
-
"postcss": "^8.5.
|
|
335
|
-
"tailwindcss": "^4.3.
|
|
336
|
+
"@tailwindcss/postcss": "^4.3.3",
|
|
337
|
+
"@types/node": "^26.1.2",
|
|
338
|
+
"@types/react": "^19.2.18",
|
|
339
|
+
"@types/react-dom": "^19.2.4",
|
|
340
|
+
"postcss": "^8.5.26",
|
|
341
|
+
"tailwindcss": "^4.3.3",
|
|
336
342
|
"tw-animate-css": "^1.4.0",
|
|
337
|
-
"typescript": "
|
|
338
|
-
"typescript-7": "npm:typescript@^7.0.2"
|
|
343
|
+
"typescript": "^7.0.2"
|
|
339
344
|
}
|
|
340
345
|
}
|
|
341
346
|
|
|
@@ -267,6 +267,7 @@ import {
|
|
|
267
267
|
useAui,
|
|
268
268
|
useAuiState,
|
|
269
269
|
AuiProvider,
|
|
270
|
+
AuiConfig,
|
|
270
271
|
Suggestions,
|
|
271
272
|
Tools,
|
|
272
273
|
} from "@assistant-ui/react";
|
|
@@ -316,11 +317,16 @@ const FfmpegToolsProvider: FC<{ file: File; children: ReactNode }> = ({
|
|
|
316
317
|
|
|
317
318
|
const toolkit = useFfmpegToolkit(file, ffmpegRef);
|
|
318
319
|
|
|
319
|
-
const aui = useAui(
|
|
320
|
+
const aui = useAui();
|
|
321
|
+
const config = AuiConfig({
|
|
320
322
|
tools: Tools({ toolkit }),
|
|
321
323
|
});
|
|
322
324
|
|
|
323
|
-
return
|
|
325
|
+
return (
|
|
326
|
+
<AuiProvider extends={aui} config={config}>
|
|
327
|
+
{children}
|
|
328
|
+
</AuiProvider>
|
|
329
|
+
);
|
|
324
330
|
};
|
|
325
331
|
|
|
326
332
|
export default function Home() {
|
|
@@ -332,7 +338,8 @@ export default function Home() {
|
|
|
332
338
|
setLastFile(lastAttachment.file!);
|
|
333
339
|
}, [attachments]);
|
|
334
340
|
|
|
335
|
-
const aui = useAui(
|
|
341
|
+
const aui = useAui();
|
|
342
|
+
const config = AuiConfig({
|
|
336
343
|
suggestions: Suggestions([
|
|
337
344
|
{
|
|
338
345
|
title: "Convert video to GIF",
|
|
@@ -349,7 +356,7 @@ export default function Home() {
|
|
|
349
356
|
|
|
350
357
|
return (
|
|
351
358
|
<div className="flex h-full flex-col">
|
|
352
|
-
<AuiProvider
|
|
359
|
+
<AuiProvider extends={aui} config={config}>
|
|
353
360
|
{lastFile ? (
|
|
354
361
|
<FfmpegToolsProvider file={lastFile}>
|
|
355
362
|
<Thread />
|
|
@@ -713,35 +720,34 @@ export default withAui(nextConfig);
|
|
|
713
720
|
"start": "next start"
|
|
714
721
|
},
|
|
715
722
|
"dependencies": {
|
|
716
|
-
"@ai-sdk/openai": "^4.0.
|
|
723
|
+
"@ai-sdk/openai": "^4.0.34",
|
|
717
724
|
"@assistant-ui/react": "workspace:*",
|
|
718
725
|
"@assistant-ui/react-ai-sdk": "workspace:*",
|
|
719
726
|
"@assistant-ui/react-markdown": "workspace:*",
|
|
720
727
|
"@assistant-ui/ui": "workspace:*",
|
|
721
728
|
"@ffmpeg/ffmpeg": "^0.12.15",
|
|
722
729
|
"@ffmpeg/util": "^0.12.2",
|
|
723
|
-
"ai": "^7.0.
|
|
730
|
+
"ai": "^7.0.56",
|
|
724
731
|
"class-variance-authority": "^0.7.1",
|
|
725
732
|
"clsx": "^2.1.1",
|
|
726
|
-
"lucide-react": "^1.
|
|
727
|
-
"next": "^16.
|
|
728
|
-
"react": "^19.2.
|
|
729
|
-
"react-dom": "^19.2.
|
|
733
|
+
"lucide-react": "^1.29.0",
|
|
734
|
+
"next": "^16.3.0",
|
|
735
|
+
"react": "^19.2.8",
|
|
736
|
+
"react-dom": "^19.2.8",
|
|
730
737
|
"tailwind-merge": "^3.6.0",
|
|
731
738
|
"zod": "^4.4.3"
|
|
732
739
|
},
|
|
733
740
|
"devDependencies": {
|
|
734
741
|
"@assistant-ui/next": "workspace:*",
|
|
735
742
|
"@assistant-ui/x-buildutils": "workspace:*",
|
|
736
|
-
"@tailwindcss/postcss": "^4.3.
|
|
737
|
-
"@types/node": "^26.1.
|
|
738
|
-
"@types/react": "^19.2.
|
|
739
|
-
"@types/react-dom": "^19.2.
|
|
740
|
-
"postcss": "^8.5.
|
|
741
|
-
"tailwindcss": "^4.3.
|
|
743
|
+
"@tailwindcss/postcss": "^4.3.3",
|
|
744
|
+
"@types/node": "^26.1.2",
|
|
745
|
+
"@types/react": "^19.2.18",
|
|
746
|
+
"@types/react-dom": "^19.2.4",
|
|
747
|
+
"postcss": "^8.5.26",
|
|
748
|
+
"tailwindcss": "^4.3.3",
|
|
742
749
|
"tw-animate-css": "^1.4.0",
|
|
743
|
-
"typescript": "
|
|
744
|
-
"typescript-7": "npm:typescript@^7.0.2"
|
|
750
|
+
"typescript": "^7.0.2"
|
|
745
751
|
}
|
|
746
752
|
}
|
|
747
753
|
|
|
@@ -253,9 +253,9 @@ import {
|
|
|
253
253
|
} from "@/components/assistant-ui/thread";
|
|
254
254
|
import {
|
|
255
255
|
AssistantRuntimeProvider,
|
|
256
|
+
AuiConfig,
|
|
256
257
|
Suggestions,
|
|
257
258
|
useAssistantInstructions,
|
|
258
|
-
useAui,
|
|
259
259
|
} from "@assistant-ui/react";
|
|
260
260
|
import { useChatRuntime } from "@assistant-ui/react-ai-sdk";
|
|
261
261
|
import { lastAssistantMessageIsCompleteWithToolCalls } from "ai";
|
|
@@ -289,7 +289,7 @@ export default function GuiChatPage() {
|
|
|
289
289
|
sendAutomaticallyWhen: lastAssistantMessageIsCompleteWithToolCalls,
|
|
290
290
|
});
|
|
291
291
|
|
|
292
|
-
const
|
|
292
|
+
const config = AuiConfig({
|
|
293
293
|
suggestions: Suggestions([
|
|
294
294
|
{
|
|
295
295
|
title: "Welcome card",
|
|
@@ -307,7 +307,7 @@ export default function GuiChatPage() {
|
|
|
307
307
|
});
|
|
308
308
|
|
|
309
309
|
return (
|
|
310
|
-
<AssistantRuntimeProvider
|
|
310
|
+
<AssistantRuntimeProvider config={config} runtime={runtime}>
|
|
311
311
|
<GuiChatInstructions />
|
|
312
312
|
<div className="flex h-full flex-col">
|
|
313
313
|
<ExampleNav />
|
|
@@ -355,9 +355,9 @@ export default function RootLayout({
|
|
|
355
355
|
import { Thread } from "@/components/assistant-ui/thread";
|
|
356
356
|
import {
|
|
357
357
|
AssistantRuntimeProvider,
|
|
358
|
+
AuiConfig,
|
|
358
359
|
Suggestions,
|
|
359
360
|
Tools,
|
|
360
|
-
useAui,
|
|
361
361
|
} from "@assistant-ui/react";
|
|
362
362
|
import { useChatRuntime } from "@assistant-ui/react-ai-sdk";
|
|
363
363
|
import { lastAssistantMessageIsCompleteWithToolCalls } from "ai";
|
|
@@ -369,7 +369,7 @@ export default function Home() {
|
|
|
369
369
|
sendAutomaticallyWhen: lastAssistantMessageIsCompleteWithToolCalls,
|
|
370
370
|
});
|
|
371
371
|
|
|
372
|
-
const
|
|
372
|
+
const config = AuiConfig({
|
|
373
373
|
tools: Tools({ toolkit }),
|
|
374
374
|
suggestions: Suggestions([
|
|
375
375
|
{
|
|
@@ -398,7 +398,7 @@ export default function Home() {
|
|
|
398
398
|
});
|
|
399
399
|
|
|
400
400
|
return (
|
|
401
|
-
<AssistantRuntimeProvider
|
|
401
|
+
<AssistantRuntimeProvider config={config} runtime={runtime}>
|
|
402
402
|
<div className="flex h-full flex-col">
|
|
403
403
|
<ExampleNav />
|
|
404
404
|
<main className="min-h-0 flex-1">
|
|
@@ -1500,33 +1500,32 @@ export default withAui(nextConfig);
|
|
|
1500
1500
|
"test": "vitest run"
|
|
1501
1501
|
},
|
|
1502
1502
|
"dependencies": {
|
|
1503
|
-
"@ai-sdk/openai": "^4.0.
|
|
1503
|
+
"@ai-sdk/openai": "^4.0.34",
|
|
1504
1504
|
"@assistant-ui/react": "workspace:*",
|
|
1505
1505
|
"@assistant-ui/react-ai-sdk": "workspace:*",
|
|
1506
1506
|
"@assistant-ui/ui": "workspace:*",
|
|
1507
|
-
"ai": "^7.0.
|
|
1507
|
+
"ai": "^7.0.56",
|
|
1508
1508
|
"class-variance-authority": "^0.7.1",
|
|
1509
1509
|
"clsx": "^2.1.1",
|
|
1510
|
-
"lucide-react": "^1.
|
|
1511
|
-
"next": "^16.
|
|
1512
|
-
"react": "^19.2.
|
|
1513
|
-
"react-dom": "^19.2.
|
|
1514
|
-
"recharts": "^3.
|
|
1510
|
+
"lucide-react": "^1.29.0",
|
|
1511
|
+
"next": "^16.3.0",
|
|
1512
|
+
"react": "^19.2.8",
|
|
1513
|
+
"react-dom": "^19.2.8",
|
|
1514
|
+
"recharts": "^3.10.1",
|
|
1515
1515
|
"tailwind-merge": "^3.6.0",
|
|
1516
1516
|
"zod": "^4.4.3"
|
|
1517
1517
|
},
|
|
1518
1518
|
"devDependencies": {
|
|
1519
1519
|
"@assistant-ui/next": "workspace:*",
|
|
1520
1520
|
"@assistant-ui/x-buildutils": "workspace:*",
|
|
1521
|
-
"@tailwindcss/postcss": "^4.3.
|
|
1522
|
-
"@types/node": "^26.1.
|
|
1523
|
-
"@types/react": "^19.2.
|
|
1524
|
-
"@types/react-dom": "^19.2.
|
|
1525
|
-
"postcss": "^8.5.
|
|
1526
|
-
"tailwindcss": "^4.3.
|
|
1521
|
+
"@tailwindcss/postcss": "^4.3.3",
|
|
1522
|
+
"@types/node": "^26.1.2",
|
|
1523
|
+
"@types/react": "^19.2.18",
|
|
1524
|
+
"@types/react-dom": "^19.2.4",
|
|
1525
|
+
"postcss": "^8.5.26",
|
|
1526
|
+
"tailwindcss": "^4.3.3",
|
|
1527
1527
|
"tw-animate-css": "^1.4.0",
|
|
1528
|
-
"typescript": "
|
|
1529
|
-
"typescript-7": "npm:typescript@^7.0.2",
|
|
1528
|
+
"typescript": "^7.0.2",
|
|
1530
1529
|
"vitest": "^4.1.10"
|
|
1531
1530
|
}
|
|
1532
1531
|
}
|
|
@@ -240,10 +240,16 @@ export function MyRuntimeProvider({ children }: { children: React.ReactNode }) {
|
|
|
240
240
|
"use client";
|
|
241
241
|
|
|
242
242
|
import { Thread } from "@/components/assistant-ui/thread";
|
|
243
|
-
import {
|
|
243
|
+
import {
|
|
244
|
+
useAui,
|
|
245
|
+
AuiProvider,
|
|
246
|
+
AuiConfig,
|
|
247
|
+
Suggestions,
|
|
248
|
+
} from "@assistant-ui/react";
|
|
244
249
|
|
|
245
250
|
function ThreadWithSuggestions() {
|
|
246
|
-
const aui = useAui(
|
|
251
|
+
const aui = useAui();
|
|
252
|
+
const config = AuiConfig({
|
|
247
253
|
suggestions: Suggestions([
|
|
248
254
|
{
|
|
249
255
|
title: "What can you do",
|
|
@@ -258,7 +264,7 @@ function ThreadWithSuggestions() {
|
|
|
258
264
|
]),
|
|
259
265
|
});
|
|
260
266
|
return (
|
|
261
|
-
<AuiProvider
|
|
267
|
+
<AuiProvider extends={aui} config={config}>
|
|
262
268
|
<Thread />
|
|
263
269
|
</AuiProvider>
|
|
264
270
|
);
|
|
@@ -305,28 +311,27 @@ export default withAui(nextConfig);
|
|
|
305
311
|
"@assistant-ui/react-google-adk": "workspace:*",
|
|
306
312
|
"@assistant-ui/react-markdown": "workspace:*",
|
|
307
313
|
"@assistant-ui/ui": "workspace:*",
|
|
308
|
-
"@google/adk": "^1.
|
|
314
|
+
"@google/adk": "^1.6.0",
|
|
309
315
|
"class-variance-authority": "^0.7.1",
|
|
310
316
|
"clsx": "^2.1.1",
|
|
311
|
-
"lucide-react": "^1.
|
|
312
|
-
"next": "^16.
|
|
313
|
-
"react": "^19.2.
|
|
314
|
-
"react-dom": "^19.2.
|
|
317
|
+
"lucide-react": "^1.29.0",
|
|
318
|
+
"next": "^16.3.0",
|
|
319
|
+
"react": "^19.2.8",
|
|
320
|
+
"react-dom": "^19.2.8",
|
|
315
321
|
"tailwind-merge": "^3.6.0",
|
|
316
322
|
"zod": "^4.4.3"
|
|
317
323
|
},
|
|
318
324
|
"devDependencies": {
|
|
319
325
|
"@assistant-ui/next": "workspace:*",
|
|
320
326
|
"@assistant-ui/x-buildutils": "workspace:*",
|
|
321
|
-
"@tailwindcss/postcss": "^4.3.
|
|
322
|
-
"@types/node": "^26.1.
|
|
323
|
-
"@types/react": "^19.2.
|
|
324
|
-
"@types/react-dom": "^19.2.
|
|
325
|
-
"postcss": "^8.5.
|
|
326
|
-
"tailwindcss": "^4.3.
|
|
327
|
+
"@tailwindcss/postcss": "^4.3.3",
|
|
328
|
+
"@types/node": "^26.1.2",
|
|
329
|
+
"@types/react": "^19.2.18",
|
|
330
|
+
"@types/react-dom": "^19.2.4",
|
|
331
|
+
"postcss": "^8.5.26",
|
|
332
|
+
"tailwindcss": "^4.3.3",
|
|
327
333
|
"tw-animate-css": "^1.4.0",
|
|
328
|
-
"typescript": "
|
|
329
|
-
"typescript-7": "npm:typescript@^7.0.2"
|
|
334
|
+
"typescript": "^7.0.2"
|
|
330
335
|
}
|
|
331
336
|
}
|
|
332
337
|
|
|
@@ -269,21 +269,20 @@ export default withAui(nextConfig);
|
|
|
269
269
|
},
|
|
270
270
|
"dependencies": {
|
|
271
271
|
"heat-graph": "workspace:*",
|
|
272
|
-
"next": "^16.
|
|
273
|
-
"react": "^19.2.
|
|
274
|
-
"react-dom": "^19.2.
|
|
272
|
+
"next": "^16.3.0",
|
|
273
|
+
"react": "^19.2.8",
|
|
274
|
+
"react-dom": "^19.2.8"
|
|
275
275
|
},
|
|
276
276
|
"devDependencies": {
|
|
277
277
|
"@assistant-ui/next": "workspace:*",
|
|
278
278
|
"@assistant-ui/x-buildutils": "workspace:*",
|
|
279
|
-
"@tailwindcss/postcss": "^4.3.
|
|
280
|
-
"@types/node": "^26.1.
|
|
281
|
-
"@types/react": "^19.2.
|
|
282
|
-
"@types/react-dom": "^19.2.
|
|
283
|
-
"postcss": "^8.5.
|
|
284
|
-
"tailwindcss": "^4.3.
|
|
285
|
-
"typescript": "
|
|
286
|
-
"typescript-7": "npm:typescript@^7.0.2"
|
|
279
|
+
"@tailwindcss/postcss": "^4.3.3",
|
|
280
|
+
"@types/node": "^26.1.2",
|
|
281
|
+
"@types/react": "^19.2.18",
|
|
282
|
+
"@types/react-dom": "^19.2.4",
|
|
283
|
+
"postcss": "^8.5.26",
|
|
284
|
+
"tailwindcss": "^4.3.3",
|
|
285
|
+
"typescript": "^7.0.2"
|
|
287
286
|
}
|
|
288
287
|
}
|
|
289
288
|
|