@assistant-ui/mcp-docs-server 0.1.31 → 0.1.33
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 +23 -25
- package/.docs/organized/code-examples/with-a2a.md +28 -28
- package/.docs/organized/code-examples/with-ag-ui.md +35 -30
- package/.docs/organized/code-examples/with-ai-sdk-v6.md +16 -14
- package/.docs/organized/code-examples/with-artifacts.md +44 -38
- package/.docs/organized/code-examples/with-assistant-transport.md +68 -56
- package/.docs/organized/code-examples/with-browser-extension.md +357 -0
- package/.docs/organized/code-examples/with-chain-of-thought.md +425 -90
- package/.docs/organized/code-examples/with-cloud-standalone.md +30 -29
- package/.docs/organized/code-examples/with-cloud.md +16 -14
- package/.docs/organized/code-examples/with-custom-thread-list.md +19 -17
- package/.docs/organized/code-examples/with-elevenlabs-conversational.md +29 -26
- package/.docs/organized/code-examples/with-elevenlabs-scribe.md +20 -18
- package/.docs/organized/code-examples/with-expo.md +37 -31
- package/.docs/organized/code-examples/with-external-store.md +13 -11
- package/.docs/organized/code-examples/with-ffmpeg.md +327 -290
- package/.docs/organized/code-examples/with-generative-ui.md +1195 -194
- package/.docs/organized/code-examples/with-google-adk.md +13 -11
- package/.docs/organized/code-examples/with-heat-graph.md +16 -14
- package/.docs/organized/code-examples/with-image-generation.md +456 -0
- package/.docs/organized/code-examples/with-interactables.md +322 -244
- package/.docs/organized/code-examples/with-langchain.md +18 -16
- package/.docs/organized/code-examples/with-langgraph.md +95 -88
- package/.docs/organized/code-examples/with-livekit.md +30 -27
- package/.docs/organized/code-examples/with-mcp.md +754 -0
- package/.docs/organized/code-examples/with-opencode.md +70 -70
- package/.docs/organized/code-examples/with-react-hook-form.md +24 -22
- package/.docs/organized/code-examples/with-react-ink.md +4 -4
- package/.docs/organized/code-examples/with-react-router.md +20 -18
- package/.docs/organized/code-examples/with-resumable-stream.md +661 -0
- package/.docs/organized/code-examples/with-store.md +22 -20
- package/.docs/organized/code-examples/with-tanstack.md +18 -19
- package/.docs/organized/code-examples/with-tap-runtime.md +31 -28
- package/.docs/raw/docs/(docs)/architecture.mdx +43 -2
- package/.docs/raw/docs/(docs)/cli.mdx +2 -2
- package/.docs/raw/docs/(docs)/copilots/model-context.mdx +34 -26
- package/.docs/raw/docs/(docs)/copilots/motivation.mdx +32 -26
- package/.docs/raw/docs/(docs)/index.mdx +2 -2
- package/.docs/raw/docs/(docs)/installation.mdx +2 -2
- package/.docs/raw/docs/(reference)/api-reference/adapters/attachments.mdx +26 -24
- package/.docs/raw/docs/(reference)/api-reference/adapters/feedback.mdx +20 -0
- package/.docs/raw/docs/(reference)/api-reference/adapters/index.mdx +20 -12
- package/.docs/raw/docs/(reference)/api-reference/adapters/model.mdx +44 -0
- package/.docs/raw/docs/(reference)/api-reference/adapters/persistence.mdx +41 -16
- package/.docs/raw/docs/(reference)/api-reference/adapters/runtime.mdx +12 -23
- package/.docs/raw/docs/(reference)/api-reference/adapters/suggestions.mdx +20 -0
- package/.docs/raw/docs/(reference)/api-reference/context-providers/assistant-runtime-provider.mdx +37 -8
- package/.docs/raw/docs/(reference)/api-reference/context-providers/index.mdx +11 -9
- package/.docs/raw/docs/(reference)/api-reference/context-providers/scoped-providers.mdx +64 -0
- package/.docs/raw/docs/(reference)/api-reference/external-store/index.mdx +22 -0
- package/.docs/raw/docs/(reference)/api-reference/external-store/message-conversion.mdx +52 -0
- package/.docs/raw/docs/(reference)/api-reference/external-store/runtime.mdx +46 -0
- package/.docs/raw/docs/(reference)/api-reference/generative-ui/index.mdx +18 -0
- package/.docs/raw/docs/(reference)/api-reference/generative-ui/rendering.mdx +33 -0
- package/.docs/raw/docs/(reference)/api-reference/generative-ui/spec.mdx +45 -0
- package/.docs/raw/docs/(reference)/api-reference/hooks/composer-triggers.mdx +98 -0
- package/.docs/raw/docs/(reference)/api-reference/hooks/index.mdx +18 -13
- package/.docs/raw/docs/(reference)/api-reference/hooks/model-context.mdx +31 -52
- package/.docs/raw/docs/(reference)/api-reference/hooks/primitives.mdx +640 -0
- package/.docs/raw/docs/(reference)/api-reference/hooks/runtimes.mdx +15 -28
- package/.docs/raw/docs/(reference)/api-reference/hooks/state.mdx +64 -18
- package/.docs/raw/docs/(reference)/api-reference/hooks/utilities.mdx +434 -0
- package/.docs/raw/docs/(reference)/api-reference/integrations/cloud-ai-sdk.mdx +24 -0
- package/.docs/raw/docs/(reference)/api-reference/integrations/index.mdx +11 -12
- package/.docs/raw/docs/(reference)/api-reference/integrations/react-ai-sdk.mdx +109 -0
- package/.docs/raw/docs/(reference)/api-reference/model-context/context.mdx +58 -0
- package/.docs/raw/docs/(reference)/api-reference/model-context/index.mdx +22 -0
- package/.docs/raw/docs/(reference)/api-reference/model-context/registry.mdx +20 -0
- package/.docs/raw/docs/(reference)/api-reference/overview.mdx +109 -132
- package/.docs/raw/docs/(reference)/api-reference/primitives/action-bar-more.mdx +78 -221
- package/.docs/raw/docs/(reference)/api-reference/primitives/action-bar.mdx +127 -242
- package/.docs/raw/docs/(reference)/api-reference/primitives/assistant-if.mdx +39 -20
- package/.docs/raw/docs/(reference)/api-reference/primitives/assistant-modal.mdx +66 -87
- package/.docs/raw/docs/(reference)/api-reference/primitives/attachment.mdx +50 -58
- package/.docs/raw/docs/(reference)/api-reference/primitives/branch-picker.mdx +80 -48
- package/.docs/raw/docs/(reference)/api-reference/primitives/chain-of-thought.mdx +67 -0
- package/.docs/raw/docs/(reference)/api-reference/primitives/composer.mdx +323 -461
- package/.docs/raw/docs/(reference)/api-reference/primitives/error.mdx +36 -43
- package/.docs/raw/docs/(reference)/api-reference/primitives/index.mdx +29 -24
- package/.docs/raw/docs/(reference)/api-reference/primitives/message-part.mdx +63 -245
- package/.docs/raw/docs/(reference)/api-reference/primitives/message.mdx +202 -588
- package/.docs/raw/docs/(reference)/api-reference/primitives/queue-item.mdx +65 -0
- package/.docs/raw/docs/(reference)/api-reference/primitives/selection-toolbar.mdx +35 -22
- package/.docs/raw/docs/(reference)/api-reference/primitives/suggestion.mdx +57 -140
- package/.docs/raw/docs/(reference)/api-reference/primitives/thread-list-item-more.mdx +70 -161
- package/.docs/raw/docs/(reference)/api-reference/primitives/thread-list-item.mdx +84 -108
- package/.docs/raw/docs/(reference)/api-reference/primitives/thread-list.mdx +77 -96
- package/.docs/raw/docs/(reference)/api-reference/primitives/thread.mdx +173 -349
- package/.docs/raw/docs/(reference)/api-reference/runtimes/assistant-runtime.mdx +9 -21
- package/.docs/raw/docs/(reference)/api-reference/runtimes/attachment-runtime.mdx +10 -21
- package/.docs/raw/docs/(reference)/api-reference/runtimes/composer-runtime.mdx +15 -70
- package/.docs/raw/docs/(reference)/api-reference/runtimes/index.mdx +18 -13
- package/.docs/raw/docs/(reference)/api-reference/runtimes/message-part-runtime.mdx +25 -28
- package/.docs/raw/docs/(reference)/api-reference/runtimes/message-runtime.mdx +11 -63
- package/.docs/raw/docs/(reference)/api-reference/runtimes/queue-state.mdx +20 -0
- package/.docs/raw/docs/(reference)/api-reference/runtimes/thread-list-item-runtime.mdx +11 -48
- package/.docs/raw/docs/(reference)/api-reference/runtimes/thread-list-runtime.mdx +10 -47
- package/.docs/raw/docs/(reference)/api-reference/runtimes/thread-runtime.mdx +18 -30
- package/.docs/raw/docs/(reference)/api-reference/tools/component-tools.mdx +85 -0
- package/.docs/raw/docs/(reference)/api-reference/tools/index.mdx +39 -0
- package/.docs/raw/docs/(reference)/api-reference/tools/rendering.mdx +127 -0
- package/.docs/raw/docs/(reference)/api-reference/tools/status.mdx +42 -0
- package/.docs/raw/docs/(reference)/api-reference/tools/toolkits.mdx +91 -0
- package/.docs/raw/docs/(reference)/api-reference/transport/assistant-transport.mdx +48 -0
- package/.docs/raw/docs/(reference)/api-reference/transport/frame.mdx +62 -0
- package/.docs/raw/docs/(reference)/api-reference/transport/index.mdx +22 -0
- package/.docs/raw/docs/(reference)/api-reference/utilities/index.mdx +19 -0
- package/.docs/raw/docs/(reference)/api-reference/utilities/miscellaneous.mdx +143 -0
- package/.docs/raw/docs/(reference)/api-reference/voice/index.mdx +22 -0
- package/.docs/raw/docs/(reference)/api-reference/voice/session.mdx +54 -0
- package/.docs/raw/docs/(reference)/api-reference/voice/speech-dictation.mdx +36 -0
- package/.docs/raw/docs/cloud/ai-sdk.mdx +1 -3
- package/.docs/raw/docs/cloud/index.mdx +2 -2
- package/.docs/raw/docs/guides/attachments.mdx +4 -4
- package/.docs/raw/docs/guides/branching.mdx +1 -1
- package/.docs/raw/docs/guides/chain-of-thought.mdx +12 -14
- package/.docs/raw/docs/guides/context-api.mdx +6 -5
- package/.docs/raw/docs/guides/dictation.mdx +2 -2
- package/.docs/raw/docs/guides/editing.mdx +1 -1
- package/.docs/raw/docs/guides/image-generation.mdx +74 -0
- package/.docs/raw/docs/guides/index.mdx +5 -14
- package/.docs/raw/docs/guides/latex.mdx +2 -2
- package/.docs/raw/docs/guides/mentions.mdx +6 -6
- package/.docs/raw/docs/guides/message-timing.mdx +38 -5
- package/.docs/raw/docs/guides/quoting.mdx +1 -1
- package/.docs/raw/docs/guides/resumable-stream-deployment.mdx +212 -0
- package/.docs/raw/docs/guides/resumable-stream-stores.mdx +152 -0
- package/.docs/raw/docs/guides/resumable-streams.mdx +210 -0
- package/.docs/raw/docs/guides/slash-commands.mdx +2 -2
- package/.docs/raw/docs/guides/speech.mdx +2 -2
- package/.docs/raw/docs/guides/suggestions.mdx +89 -5
- package/.docs/raw/docs/guides/voice.mdx +2 -2
- package/.docs/raw/docs/ink/adapters.mdx +37 -1
- package/.docs/raw/docs/ink/custom-backend.mdx +59 -8
- package/.docs/raw/docs/ink/hooks.mdx +98 -85
- package/.docs/raw/docs/ink/index.mdx +10 -11
- package/.docs/raw/docs/ink/migration.mdx +1 -1
- package/.docs/raw/docs/ink/primitives.mdx +350 -9
- package/.docs/raw/docs/integrations/auth/better-auth.mdx +1 -1
- package/.docs/raw/docs/integrations/auth/clerk.mdx +1 -1
- package/.docs/raw/docs/integrations/auth/next-auth.mdx +1 -1
- package/.docs/raw/docs/integrations/frameworks/ai-sdk.mdx +3 -3
- package/.docs/raw/docs/integrations/frameworks/cloudflare-agents/overview.mdx +282 -0
- package/.docs/raw/docs/integrations/frameworks/mastra/overview.mdx +2 -2
- package/.docs/raw/docs/integrations/frameworks/mastra/separate-server.mdx +1 -1
- package/.docs/raw/docs/integrations/gateways/index.mdx +9 -4
- package/.docs/raw/docs/integrations/index.mdx +17 -5
- package/.docs/raw/docs/integrations/observability/langfuse.mdx +8 -1
- package/.docs/raw/docs/integrations/observability/langsmith.mdx +8 -4
- package/.docs/raw/docs/integrations/persistence/custom-adapter.mdx +17 -2
- package/.docs/raw/docs/migrations/toolkit-tools.mdx +226 -0
- package/.docs/raw/docs/primitives/chain-of-thought.mdx +10 -16
- package/.docs/raw/docs/primitives/composer.mdx +53 -0
- package/.docs/raw/docs/primitives/index.mdx +2 -2
- package/.docs/raw/docs/primitives/message.mdx +9 -10
- package/.docs/raw/docs/primitives/suggestion.mdx +9 -0
- package/.docs/raw/docs/react-native/hooks.mdx +57 -82
- package/.docs/raw/docs/react-native/index.mdx +4 -4
- package/.docs/raw/docs/react-native/migration.mdx +1 -1
- package/.docs/raw/docs/react-native/primitives.mdx +2 -2
- package/.docs/raw/docs/runtimes/a2a/client-and-hooks.mdx +7 -4
- package/.docs/raw/docs/runtimes/a2a/overview.mdx +2 -2
- package/.docs/raw/docs/runtimes/ag-ui/overview.mdx +2 -2
- package/.docs/raw/docs/runtimes/ag-ui/runtime-options.mdx +32 -1
- package/.docs/raw/docs/runtimes/ai-sdk/overview.mdx +2 -2
- package/.docs/raw/docs/runtimes/ai-sdk/v4-legacy.mdx +7 -2
- package/.docs/raw/docs/runtimes/ai-sdk/v5-legacy.mdx +1 -1
- package/.docs/raw/docs/runtimes/ai-sdk/v6.mdx +129 -1
- package/.docs/raw/docs/runtimes/concepts/threads.mdx +7 -1
- package/.docs/raw/docs/runtimes/custom/data-stream.mdx +27 -2
- package/.docs/raw/docs/runtimes/custom/external-store.mdx +9 -1
- package/.docs/raw/docs/runtimes/custom/local-runtime.mdx +18 -7
- package/.docs/raw/docs/runtimes/custom/overview.mdx +2 -2
- package/.docs/raw/docs/runtimes/google-adk/hooks.mdx +108 -38
- package/.docs/raw/docs/runtimes/google-adk/overview.mdx +2 -2
- package/.docs/raw/docs/runtimes/langchain.mdx +2 -2
- package/.docs/raw/docs/runtimes/langgraph/generative-ui.mdx +2 -2
- package/.docs/raw/docs/runtimes/langgraph/overview.mdx +2 -2
- package/.docs/raw/docs/runtimes/langgraph/streaming.mdx +1 -1
- package/.docs/raw/docs/runtimes/langgraph/tutorial/part-2.mdx +64 -50
- package/.docs/raw/docs/runtimes/langgraph/tutorial/part-3.mdx +98 -86
- package/.docs/raw/docs/runtimes/opencode/overview.mdx +2 -2
- package/.docs/raw/docs/runtimes/opencode/quickstart.mdx +1 -1
- package/.docs/raw/docs/runtimes/pick-a-runtime.mdx +12 -5
- package/.docs/raw/docs/tools/backend.mdx +136 -0
- package/.docs/raw/docs/tools/defining-tools.mdx +413 -0
- package/.docs/raw/docs/tools/dynamic-tools.mdx +110 -0
- package/.docs/raw/docs/tools/generative-ui.mdx +214 -0
- package/.docs/raw/docs/tools/index.mdx +76 -0
- package/.docs/raw/docs/{guides → tools}/interactables.mdx +3 -3
- package/.docs/raw/docs/tools/mcp-apps.mdx +231 -0
- package/.docs/raw/docs/{integrations/tools → tools}/mcp.mdx +77 -50
- package/.docs/raw/docs/{guides → tools}/multi-agent.mdx +19 -21
- package/.docs/raw/docs/tools/tool-ui.mdx +967 -0
- package/.docs/raw/docs/tools/user-managed-mcp.mdx +337 -0
- package/.docs/raw/docs/ui/composer-trigger-popover.mdx +11 -1
- package/.docs/raw/docs/ui/directive-text.mdx +3 -3
- package/.docs/raw/docs/ui/mcp-config.mdx +102 -0
- package/.docs/raw/docs/ui/model-selector.mdx +8 -8
- package/.docs/raw/docs/ui/part-grouping.mdx +84 -50
- package/.docs/raw/docs/ui/reasoning.mdx +4 -5
- package/.docs/raw/docs/ui/sources.mdx +17 -0
- package/.docs/raw/docs/ui/streamdown.mdx +34 -2
- package/.docs/raw/docs/ui/thread-list.mdx +2 -2
- package/.docs/raw/docs/ui/thread.mdx +2 -2
- package/.docs/raw/docs/ui/tool-group.mdx +5 -6
- package/.docs/raw/docs/utilities/heat-graph.mdx +1 -1
- package/README.md +14 -72
- package/dist/constants.d.ts +12 -9
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +13 -9
- package/dist/constants.js.map +1 -1
- package/dist/index.d.ts +7 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +25 -24
- package/dist/index.js.map +1 -1
- package/dist/prepare-docs/code-examples.d.ts +4 -1
- package/dist/prepare-docs/code-examples.d.ts.map +1 -1
- package/dist/prepare-docs/code-examples.js +109 -121
- package/dist/prepare-docs/code-examples.js.map +1 -1
- package/dist/prepare-docs/copy-raw.d.ts +4 -1
- package/dist/prepare-docs/copy-raw.d.ts.map +1 -1
- package/dist/prepare-docs/copy-raw.js +45 -42
- package/dist/prepare-docs/copy-raw.js.map +1 -1
- package/dist/prepare-docs/prepare.d.ts +1 -2
- package/dist/prepare-docs/prepare.js +17 -17
- package/dist/prepare-docs/prepare.js.map +1 -1
- package/dist/stdio.d.ts +1 -3
- package/dist/stdio.js +6 -3
- package/dist/stdio.js.map +1 -1
- package/dist/tools/docs.d.ts +20 -15
- package/dist/tools/docs.d.ts.map +1 -1
- package/dist/tools/docs.js +140 -161
- package/dist/tools/docs.js.map +1 -1
- package/dist/tools/examples.d.ts +20 -15
- package/dist/tools/examples.d.ts.map +1 -1
- package/dist/tools/examples.js +74 -86
- package/dist/tools/examples.js.map +1 -1
- package/dist/tools/tests/test-setup.d.ts +5 -2
- package/dist/tools/tests/test-setup.d.ts.map +1 -1
- package/dist/tools/tests/test-setup.js +21 -28
- package/dist/tools/tests/test-setup.js.map +1 -1
- package/dist/utils/logger.d.ts +8 -5
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +17 -17
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/mcp-format.d.ts +8 -5
- package/dist/utils/mcp-format.d.ts.map +1 -1
- package/dist/utils/mcp-format.js +9 -9
- package/dist/utils/mcp-format.js.map +1 -1
- package/dist/utils/mdx.d.ts +8 -6
- package/dist/utils/mdx.d.ts.map +1 -1
- package/dist/utils/mdx.js +22 -22
- package/dist/utils/mdx.js.map +1 -1
- package/dist/utils/paths.d.ts +9 -6
- package/dist/utils/paths.d.ts.map +1 -1
- package/dist/utils/paths.js +66 -76
- package/dist/utils/paths.js.map +1 -1
- package/dist/utils/security.d.ts +4 -1
- package/dist/utils/security.d.ts.map +1 -1
- package/dist/utils/security.js +19 -40
- package/dist/utils/security.js.map +1 -1
- package/package.json +5 -5
- package/.docs/organized/code-examples/with-parent-id-grouping.md +0 -596
- package/.docs/raw/docs/(docs)/copilots/make-assistant-tool-ui.mdx +0 -151
- package/.docs/raw/docs/(docs)/copilots/make-assistant-tool.mdx +0 -230
- package/.docs/raw/docs/(reference)/api-reference/adapters/feedback-speech.mdx +0 -41
- package/.docs/raw/docs/(reference)/api-reference/context-providers/text-message-part-provider.mdx +0 -40
- package/.docs/raw/docs/(reference)/api-reference/integrations/react-data-stream.mdx +0 -260
- package/.docs/raw/docs/(reference)/api-reference/integrations/react-hook-form.mdx +0 -103
- package/.docs/raw/docs/(reference)/api-reference/integrations/vercel-ai-sdk.mdx +0 -254
- package/.docs/raw/docs/guides/tool-ui.mdx +0 -858
- package/.docs/raw/docs/guides/tools.mdx +0 -675
- package/dist/prepare-docs/prepare.d.ts.map +0 -1
- package/dist/stdio.d.ts.map +0 -1
- /package/.docs/raw/docs/{(reference)/migrations → migrations}/deprecation-policy.mdx +0 -0
- /package/.docs/raw/docs/{(reference) → migrations}/react-compatibility.mdx +0 -0
- /package/.docs/raw/docs/{(reference)/migrations → migrations}/react-langgraph-v0-7.mdx +0 -0
- /package/.docs/raw/docs/{(reference)/migrations → migrations}/v0-11.mdx +0 -0
- /package/.docs/raw/docs/{(reference)/migrations → migrations}/v0-12.mdx +0 -0
- /package/.docs/raw/docs/{(reference)/migrations → migrations}/v0-14.mdx +0 -0
|
@@ -20,7 +20,7 @@ export async function POST(req: Request) {
|
|
|
20
20
|
const { messages }: { messages: UIMessage[] } = await req.json();
|
|
21
21
|
|
|
22
22
|
const result = streamText({
|
|
23
|
-
model: openai("gpt-
|
|
23
|
+
model: openai("gpt-5.4-nano"),
|
|
24
24
|
system:
|
|
25
25
|
"You are a helpful assistant that can generate HTML code. When the user asks you to create any visual content, UI, or webpage, use the render_html tool to render it in the browser. Always use the render_html tool for HTML output rather than showing code in a code block.",
|
|
26
26
|
messages: await convertToModelMessages(messages),
|
|
@@ -211,7 +211,8 @@ export default function RootLayout({
|
|
|
211
211
|
import { Thread } from "@/components/assistant-ui/thread";
|
|
212
212
|
import {
|
|
213
213
|
AssistantRuntimeProvider,
|
|
214
|
-
|
|
214
|
+
Tools,
|
|
215
|
+
type Toolkit,
|
|
215
216
|
useAui,
|
|
216
217
|
useAuiState,
|
|
217
218
|
AuiProvider,
|
|
@@ -223,25 +224,26 @@ import { TerminalIcon, CodeIcon, EyeIcon } from "lucide-react";
|
|
|
223
224
|
import { useState } from "react";
|
|
224
225
|
import { z } from "zod";
|
|
225
226
|
|
|
226
|
-
const
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
227
|
+
const toolkit = {
|
|
228
|
+
render_html: {
|
|
229
|
+
description:
|
|
230
|
+
"Whenever the user asks for HTML code, call this function. The user will see the HTML code rendered in their browser.",
|
|
231
|
+
parameters: z.object({
|
|
232
|
+
code: z.string(),
|
|
233
|
+
}),
|
|
234
|
+
execute: async () => {
|
|
235
|
+
return {};
|
|
236
|
+
},
|
|
237
|
+
render: () => {
|
|
238
|
+
return (
|
|
239
|
+
<div className="bg-primary text-primary-foreground my-2 inline-flex items-center gap-2 rounded-full border px-4 py-2">
|
|
240
|
+
<TerminalIcon className="size-4" />
|
|
241
|
+
render_html({ code: "..." })
|
|
242
|
+
</div>
|
|
243
|
+
);
|
|
244
|
+
},
|
|
243
245
|
},
|
|
244
|
-
}
|
|
246
|
+
} satisfies Toolkit;
|
|
245
247
|
|
|
246
248
|
function ArtifactsView() {
|
|
247
249
|
const [tab, setTab] = useState<"source" | "preview">("source");
|
|
@@ -270,7 +272,7 @@ function ArtifactsView() {
|
|
|
270
272
|
<button
|
|
271
273
|
type="button"
|
|
272
274
|
onClick={() => setTab("source")}
|
|
273
|
-
className={`inline-flex flex-1 items-center justify-center gap-2 px-4 py-2.5 font-medium
|
|
275
|
+
className={`inline-flex flex-1 items-center justify-center gap-2 px-4 py-2.5 text-sm font-medium transition-colors ${
|
|
274
276
|
tab === "source"
|
|
275
277
|
? "bg-background text-foreground"
|
|
276
278
|
: "text-muted-foreground hover:text-foreground"
|
|
@@ -283,7 +285,7 @@ function ArtifactsView() {
|
|
|
283
285
|
type="button"
|
|
284
286
|
onClick={() => isComplete && setTab("preview")}
|
|
285
287
|
disabled={!isComplete}
|
|
286
|
-
className={`inline-flex flex-1 items-center justify-center gap-2 px-4 py-2.5 font-medium
|
|
288
|
+
className={`inline-flex flex-1 items-center justify-center gap-2 px-4 py-2.5 text-sm font-medium transition-colors ${
|
|
287
289
|
!isComplete
|
|
288
290
|
? "cursor-not-allowed opacity-50"
|
|
289
291
|
: tab === "preview"
|
|
@@ -296,7 +298,7 @@ function ArtifactsView() {
|
|
|
296
298
|
</button>
|
|
297
299
|
</div>
|
|
298
300
|
{tab === "source" || !isComplete ? (
|
|
299
|
-
<div className="h-full overflow-y-auto
|
|
301
|
+
<div className="h-full overflow-y-auto px-4 py-2 font-mono text-sm break-words whitespace-pre-line">
|
|
300
302
|
{code}
|
|
301
303
|
</div>
|
|
302
304
|
) : (
|
|
@@ -339,14 +341,16 @@ function ThreadWithSuggestions() {
|
|
|
339
341
|
|
|
340
342
|
export default function Home() {
|
|
341
343
|
const runtime = useChatRuntime();
|
|
344
|
+
const aui = useAui({
|
|
345
|
+
tools: Tools({ toolkit }),
|
|
346
|
+
});
|
|
342
347
|
|
|
343
348
|
return (
|
|
344
|
-
<AssistantRuntimeProvider runtime={runtime}>
|
|
349
|
+
<AssistantRuntimeProvider aui={aui} runtime={runtime}>
|
|
345
350
|
<main className="flex h-full justify-stretch">
|
|
346
351
|
<div className="flex-grow basis-full">
|
|
347
352
|
<ThreadWithSuggestions />
|
|
348
353
|
</div>
|
|
349
|
-
<RenderHTMLTool />
|
|
350
354
|
<ArtifactsView />
|
|
351
355
|
</main>
|
|
352
356
|
</AssistantRuntimeProvider>
|
|
@@ -388,6 +392,7 @@ export default function Home() {
|
|
|
388
392
|
## next.config.js
|
|
389
393
|
|
|
390
394
|
```javascript
|
|
395
|
+
import { withAui } from "@assistant-ui/next";
|
|
391
396
|
/** @type {import('next').NextConfig} */
|
|
392
397
|
const nextConfig = {
|
|
393
398
|
transpilePackages: [
|
|
@@ -397,7 +402,7 @@ const nextConfig = {
|
|
|
397
402
|
],
|
|
398
403
|
};
|
|
399
404
|
|
|
400
|
-
export default nextConfig;
|
|
405
|
+
export default withAui(nextConfig);
|
|
401
406
|
|
|
402
407
|
```
|
|
403
408
|
|
|
@@ -415,29 +420,30 @@ export default nextConfig;
|
|
|
415
420
|
"start": "next start"
|
|
416
421
|
},
|
|
417
422
|
"dependencies": {
|
|
418
|
-
"@ai-sdk/openai": "^3.0.
|
|
423
|
+
"@ai-sdk/openai": "^3.0.67",
|
|
419
424
|
"@assistant-ui/react": "workspace:*",
|
|
420
425
|
"@assistant-ui/react-ai-sdk": "workspace:*",
|
|
421
426
|
"@assistant-ui/react-markdown": "workspace:*",
|
|
422
427
|
"@assistant-ui/ui": "workspace:*",
|
|
423
|
-
"ai": "^6.0.
|
|
428
|
+
"ai": "^6.0.193",
|
|
424
429
|
"class-variance-authority": "^0.7.1",
|
|
425
430
|
"clsx": "^2.1.1",
|
|
426
|
-
"lucide-react": "^1.
|
|
427
|
-
"next": "^16.2.
|
|
428
|
-
"react": "^19.2.
|
|
429
|
-
"react-dom": "^19.2.
|
|
430
|
-
"tailwind-merge": "^3.
|
|
431
|
+
"lucide-react": "^1.17.0",
|
|
432
|
+
"next": "^16.2.6",
|
|
433
|
+
"react": "^19.2.6",
|
|
434
|
+
"react-dom": "^19.2.6",
|
|
435
|
+
"tailwind-merge": "^3.6.0",
|
|
431
436
|
"zod": "^4.4.3"
|
|
432
437
|
},
|
|
433
438
|
"devDependencies": {
|
|
439
|
+
"@assistant-ui/next": "workspace:*",
|
|
434
440
|
"@assistant-ui/x-buildutils": "workspace:*",
|
|
435
|
-
"@tailwindcss/postcss": "^4.
|
|
436
|
-
"@types/node": "^25.
|
|
437
|
-
"@types/react": "^19.2.
|
|
441
|
+
"@tailwindcss/postcss": "^4.3.0",
|
|
442
|
+
"@types/node": "^25.9.1",
|
|
443
|
+
"@types/react": "^19.2.15",
|
|
438
444
|
"@types/react-dom": "^19.2.3",
|
|
439
|
-
"postcss": "^8.5.
|
|
440
|
-
"tailwindcss": "^4.
|
|
445
|
+
"postcss": "^8.5.15",
|
|
446
|
+
"tailwindcss": "^4.3.0",
|
|
441
447
|
"tw-animate-css": "^1.4.0",
|
|
442
448
|
"typescript": "^6.0.3"
|
|
443
449
|
}
|
|
@@ -149,8 +149,8 @@ export default function RootLayout({
|
|
|
149
149
|
<html lang="en">
|
|
150
150
|
<body className="font-sans antialiased">
|
|
151
151
|
<div className="flex h-screen flex-col">
|
|
152
|
-
<header className="border-b
|
|
153
|
-
<h1 className="font-semibold
|
|
152
|
+
<header className="bg-background border-b px-4 py-2">
|
|
153
|
+
<h1 className="text-lg font-semibold">
|
|
154
154
|
Assistant Transport Example
|
|
155
155
|
</h1>
|
|
156
156
|
</header>
|
|
@@ -170,9 +170,11 @@ export default function RootLayout({
|
|
|
170
170
|
|
|
171
171
|
import {
|
|
172
172
|
AssistantRuntimeProvider,
|
|
173
|
+
Tools,
|
|
173
174
|
type AssistantTransportConnectionMetadata,
|
|
174
|
-
|
|
175
|
+
type Toolkit,
|
|
175
176
|
unstable_createMessageConverter as createMessageConverter,
|
|
177
|
+
useAui,
|
|
176
178
|
useAssistantTransportRuntime,
|
|
177
179
|
} from "@assistant-ui/react";
|
|
178
180
|
import {
|
|
@@ -182,48 +184,55 @@ import {
|
|
|
182
184
|
import type { ReactNode } from "react";
|
|
183
185
|
import { z } from "zod";
|
|
184
186
|
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
console.log("location", city);
|
|
187
|
+
const toolkit = {
|
|
188
|
+
get_weather: {
|
|
189
|
+
type: "frontend",
|
|
190
|
+
description: "Get the current weather for a city",
|
|
191
|
+
parameters: z.object({
|
|
192
|
+
location: z.string().describe("The city to get weather for"),
|
|
193
|
+
unit: z
|
|
194
|
+
.enum(["celsius", "fahrenheit"])
|
|
195
|
+
.optional()
|
|
196
|
+
.describe("Temperature unit"),
|
|
197
|
+
}),
|
|
198
|
+
execute: async ({ location, unit = "celsius" }) => {
|
|
199
|
+
console.log(`Getting weather for ${location} in ${unit}`);
|
|
200
|
+
await new Promise((resolve) => setTimeout(resolve, 1000));
|
|
201
|
+
|
|
202
|
+
const temp = Math.floor(Math.random() * 30) + 10;
|
|
203
|
+
const conditions = ["sunny", "cloudy", "rainy", "partly cloudy"];
|
|
204
|
+
const condition =
|
|
205
|
+
conditions[Math.floor(Math.random() * conditions.length)];
|
|
206
|
+
|
|
207
|
+
return {
|
|
208
|
+
location,
|
|
209
|
+
temperature: temp,
|
|
210
|
+
unit,
|
|
211
|
+
condition,
|
|
212
|
+
humidity: Math.floor(Math.random() * 40) + 40,
|
|
213
|
+
windSpeed: Math.floor(Math.random() * 20) + 5,
|
|
214
|
+
};
|
|
215
|
+
},
|
|
216
|
+
streamCall: async (reader) => {
|
|
217
|
+
console.log("streamCall", reader);
|
|
218
|
+
const city = await reader.args.get("location");
|
|
219
|
+
console.log("location", city);
|
|
219
220
|
|
|
220
|
-
|
|
221
|
-
|
|
221
|
+
const args = await reader.args.get();
|
|
222
|
+
console.log("args", args);
|
|
222
223
|
|
|
223
|
-
|
|
224
|
-
|
|
224
|
+
const result = await reader.response.get();
|
|
225
|
+
console.log("result", result);
|
|
226
|
+
},
|
|
227
|
+
renderText: {
|
|
228
|
+
running: ({ args }) => `Getting weather for ${args.location ?? "..."}`,
|
|
229
|
+
complete: ({ args, result }) =>
|
|
230
|
+
result
|
|
231
|
+
? `${args.location}: ${result.temperature}° ${result.unit}, ${result.condition}`
|
|
232
|
+
: "Weather lookup complete",
|
|
233
|
+
},
|
|
225
234
|
},
|
|
226
|
-
}
|
|
235
|
+
} satisfies Toolkit;
|
|
227
236
|
|
|
228
237
|
type MyRuntimeProviderProps = {
|
|
229
238
|
children: ReactNode;
|
|
@@ -295,11 +304,12 @@ export function MyRuntimeProvider({ children }: MyRuntimeProviderProps) {
|
|
|
295
304
|
console.log("Request cancelled");
|
|
296
305
|
},
|
|
297
306
|
});
|
|
307
|
+
const aui = useAui({
|
|
308
|
+
tools: Tools({ toolkit }),
|
|
309
|
+
});
|
|
298
310
|
|
|
299
311
|
return (
|
|
300
|
-
<AssistantRuntimeProvider runtime={runtime}>
|
|
301
|
-
<WeatherTool />
|
|
302
|
-
|
|
312
|
+
<AssistantRuntimeProvider aui={aui} runtime={runtime}>
|
|
303
313
|
{children}
|
|
304
314
|
</AssistantRuntimeProvider>
|
|
305
315
|
);
|
|
@@ -383,6 +393,7 @@ export default function Home() {
|
|
|
383
393
|
## next.config.js
|
|
384
394
|
|
|
385
395
|
```javascript
|
|
396
|
+
import { withAui } from "@assistant-ui/next";
|
|
386
397
|
/** @type {import('next').NextConfig} */
|
|
387
398
|
const nextConfig = {
|
|
388
399
|
experimental: {
|
|
@@ -398,7 +409,7 @@ const nextConfig = {
|
|
|
398
409
|
},
|
|
399
410
|
};
|
|
400
411
|
|
|
401
|
-
export default nextConfig;
|
|
412
|
+
export default withAui(nextConfig);
|
|
402
413
|
|
|
403
414
|
```
|
|
404
415
|
|
|
@@ -422,21 +433,22 @@ export default nextConfig;
|
|
|
422
433
|
"@assistant-ui/ui": "workspace:*",
|
|
423
434
|
"class-variance-authority": "^0.7.1",
|
|
424
435
|
"clsx": "^2.1.1",
|
|
425
|
-
"lucide-react": "^1.
|
|
426
|
-
"next": "^16.2.
|
|
427
|
-
"react": "^19.2.
|
|
428
|
-
"react-dom": "^19.2.
|
|
429
|
-
"tailwind-merge": "^3.
|
|
436
|
+
"lucide-react": "^1.17.0",
|
|
437
|
+
"next": "^16.2.6",
|
|
438
|
+
"react": "^19.2.6",
|
|
439
|
+
"react-dom": "^19.2.6",
|
|
440
|
+
"tailwind-merge": "^3.6.0",
|
|
430
441
|
"zod": "^4.4.3"
|
|
431
442
|
},
|
|
432
443
|
"devDependencies": {
|
|
444
|
+
"@assistant-ui/next": "workspace:*",
|
|
433
445
|
"@assistant-ui/x-buildutils": "workspace:*",
|
|
434
|
-
"@tailwindcss/postcss": "^4.
|
|
435
|
-
"@types/node": "^25.
|
|
436
|
-
"@types/react": "^19.2.
|
|
446
|
+
"@tailwindcss/postcss": "^4.3.0",
|
|
447
|
+
"@types/node": "^25.9.1",
|
|
448
|
+
"@types/react": "^19.2.15",
|
|
437
449
|
"@types/react-dom": "^19.2.3",
|
|
438
|
-
"postcss": "^8.5.
|
|
439
|
-
"tailwindcss": "^4.
|
|
450
|
+
"postcss": "^8.5.15",
|
|
451
|
+
"tailwindcss": "^4.3.0",
|
|
440
452
|
"tw-animate-css": "^1.4.0",
|
|
441
453
|
"typescript": "^6.0.3"
|
|
442
454
|
}
|