@assistant-ui/mcp-docs-server 0.1.30 → 0.1.32
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 +8 -8
- package/.docs/organized/code-examples/with-a2a.md +10 -10
- package/.docs/organized/code-examples/with-ag-ui.md +12 -12
- package/.docs/organized/code-examples/with-ai-sdk-v6.md +14 -14
- package/.docs/organized/code-examples/with-artifacts.md +14 -14
- package/.docs/organized/code-examples/with-assistant-transport.md +11 -11
- package/.docs/organized/code-examples/with-browser-extension.md +345 -0
- package/.docs/organized/code-examples/with-chain-of-thought.md +129 -63
- package/.docs/organized/code-examples/with-cloud-standalone.md +13 -13
- package/.docs/organized/code-examples/with-cloud.md +13 -13
- package/.docs/organized/code-examples/with-custom-thread-list.md +65 -20
- package/.docs/organized/code-examples/with-elevenlabs-conversational.md +18 -17
- package/.docs/organized/code-examples/with-elevenlabs-scribe.md +18 -17
- package/.docs/organized/code-examples/with-expo.md +25 -25
- package/.docs/organized/code-examples/with-external-store.md +10 -10
- package/.docs/organized/code-examples/with-ffmpeg.md +14 -14
- package/.docs/organized/code-examples/with-generative-ui.md +211 -14
- package/.docs/organized/code-examples/with-google-adk.md +12 -12
- package/.docs/organized/code-examples/with-heat-graph.md +8 -8
- package/.docs/organized/code-examples/with-image-generation.md +454 -0
- package/.docs/organized/code-examples/with-interactables.md +14 -14
- package/.docs/organized/code-examples/with-langchain.md +12 -12
- package/.docs/organized/code-examples/with-langgraph.md +15 -12
- package/.docs/organized/code-examples/with-livekit.md +19 -18
- package/.docs/organized/code-examples/with-mcp.md +748 -0
- package/.docs/organized/code-examples/with-opencode.md +107 -62
- package/.docs/organized/code-examples/with-parent-id-grouping.md +12 -12
- package/.docs/organized/code-examples/with-react-hook-form.md +14 -14
- package/.docs/organized/code-examples/with-react-ink.md +4 -4
- package/.docs/organized/code-examples/with-react-router.md +16 -16
- package/.docs/organized/code-examples/with-resumable-stream.md +660 -0
- package/.docs/organized/code-examples/with-store.md +8 -8
- package/.docs/organized/code-examples/with-tanstack.md +14 -14
- package/.docs/organized/code-examples/with-tap-runtime.md +11 -10
- package/.docs/raw/docs/(docs)/cli.mdx +3 -1
- package/.docs/raw/docs/(docs)/copilots/assistant-frame.mdx +1 -0
- package/.docs/raw/docs/(docs)/copilots/make-assistant-tool-ui.mdx +10 -3
- package/.docs/raw/docs/(docs)/copilots/make-assistant-tool.mdx +8 -3
- package/.docs/raw/docs/(docs)/copilots/make-assistant-visible.mdx +1 -0
- package/.docs/raw/docs/(docs)/copilots/model-context.mdx +1 -0
- package/.docs/raw/docs/(docs)/copilots/motivation.mdx +1 -0
- package/.docs/raw/docs/(docs)/copilots/use-assistant-instructions.mdx +1 -0
- package/.docs/raw/docs/(docs)/devtools.mdx +1 -0
- package/.docs/raw/docs/(docs)/index.mdx +3 -2
- package/.docs/raw/docs/(docs)/installation.mdx +2 -1
- package/.docs/raw/docs/(docs)/rtl.mdx +1 -0
- package/.docs/raw/docs/(reference)/api-reference/adapters/attachments.mdx +36 -0
- package/.docs/raw/docs/(reference)/api-reference/adapters/feedback.mdx +20 -0
- package/.docs/raw/docs/(reference)/api-reference/adapters/index.mdx +34 -0
- package/.docs/raw/docs/(reference)/api-reference/adapters/model.mdx +44 -0
- package/.docs/raw/docs/(reference)/api-reference/adapters/persistence.mdx +55 -0
- package/.docs/raw/docs/(reference)/api-reference/adapters/runtime.mdx +20 -0
- 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 +22 -0
- 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 +36 -0
- package/.docs/raw/docs/(reference)/api-reference/hooks/composer-triggers.mdx +98 -0
- package/.docs/raw/docs/(reference)/api-reference/hooks/index.mdx +31 -0
- package/.docs/raw/docs/(reference)/api-reference/hooks/model-context.mdx +33 -0
- package/.docs/raw/docs/(reference)/api-reference/hooks/primitives.mdx +640 -0
- package/.docs/raw/docs/(reference)/api-reference/hooks/runtimes.mdx +28 -0
- package/.docs/raw/docs/(reference)/api-reference/hooks/state.mdx +94 -0
- package/.docs/raw/docs/(reference)/api-reference/hooks/utilities.mdx +464 -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 +22 -0
- package/.docs/raw/docs/(reference)/api-reference/integrations/react-ai-sdk.mdx +79 -0
- package/.docs/raw/docs/(reference)/api-reference/model-context/context.mdx +52 -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 +125 -125
- 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 +46 -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 +70 -0
- package/.docs/raw/docs/(reference)/api-reference/primitives/message-part.mdx +63 -245
- package/.docs/raw/docs/(reference)/api-reference/primitives/message.mdx +182 -554
- 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 +82 -86
- package/.docs/raw/docs/(reference)/api-reference/primitives/thread.mdx +173 -314
- 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 +43 -0
- 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 -42
- package/.docs/raw/docs/(reference)/api-reference/runtimes/thread-runtime.mdx +18 -30
- package/.docs/raw/docs/(reference)/api-reference/tools/component-tools.mdx +68 -0
- package/.docs/raw/docs/(reference)/api-reference/tools/index.mdx +39 -0
- package/.docs/raw/docs/(reference)/api-reference/tools/rendering.mdx +79 -0
- package/.docs/raw/docs/(reference)/api-reference/tools/status.mdx +42 -0
- package/.docs/raw/docs/(reference)/api-reference/tools/toolkits.mdx +92 -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 +131 -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-assistant-ui.mdx +230 -2
- package/.docs/raw/docs/cloud/ai-sdk.mdx +222 -4
- package/.docs/raw/docs/cloud/index.mdx +2 -2
- package/.docs/raw/docs/cloud/langgraph.mdx +274 -2
- package/.docs/raw/docs/{(docs)/guides → guides}/attachments.mdx +45 -40
- package/.docs/raw/docs/guides/branching.mdx +76 -0
- package/.docs/raw/docs/guides/chain-of-thought.mdx +166 -0
- package/.docs/raw/docs/{(docs)/guides → guides}/context-api.mdx +54 -26
- package/.docs/raw/docs/{(docs)/guides → guides}/dictation.mdx +3 -1
- package/.docs/raw/docs/guides/editing.mdx +102 -0
- package/.docs/raw/docs/guides/generative-ui.mdx +142 -0
- package/.docs/raw/docs/guides/image-generation.mdx +74 -0
- package/.docs/raw/docs/guides/index.mdx +103 -0
- package/.docs/raw/docs/{(docs)/guides → guides}/interactables.mdx +51 -2
- package/.docs/raw/docs/{(docs)/guides → guides}/latex.mdx +53 -10
- package/.docs/raw/docs/guides/mcp-apps.mdx +231 -0
- package/.docs/raw/docs/{(docs)/guides → guides}/mentions.mdx +63 -88
- package/.docs/raw/docs/{(docs)/guides → guides}/message-timing.mdx +45 -6
- package/.docs/raw/docs/{(docs)/guides → guides}/multi-agent.mdx +66 -6
- package/.docs/raw/docs/{(docs)/guides → guides}/quoting.mdx +11 -18
- 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/{(docs)/guides → guides}/slash-commands.mdx +104 -38
- package/.docs/raw/docs/guides/speech.mdx +156 -0
- package/.docs/raw/docs/{(docs)/guides → guides}/suggestions.mdx +91 -69
- package/.docs/raw/docs/{(docs)/guides → guides}/tool-ui.mdx +110 -38
- package/.docs/raw/docs/{(docs)/guides → guides}/tools.mdx +197 -40
- package/.docs/raw/docs/{(docs)/guides → guides}/voice.mdx +41 -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/index.mdx +11 -14
- package/.docs/raw/docs/ink/migration.mdx +1 -3
- package/.docs/raw/docs/ink/primitives.mdx +386 -9
- package/.docs/raw/docs/integrations/attachments/custom-adapter.mdx +520 -0
- package/.docs/raw/docs/integrations/auth/better-auth.mdx +191 -0
- package/.docs/raw/docs/integrations/auth/clerk.mdx +172 -0
- package/.docs/raw/docs/integrations/auth/next-auth.mdx +196 -0
- package/.docs/raw/docs/integrations/frameworks/ai-sdk.mdx +79 -0
- package/.docs/raw/docs/integrations/frameworks/cloudflare-agents/overview.mdx +282 -0
- package/.docs/raw/docs/integrations/frameworks/mastra/full-stack.mdx +188 -0
- package/.docs/raw/docs/integrations/frameworks/mastra/overview.mdx +57 -0
- package/.docs/raw/docs/integrations/frameworks/mastra/separate-server.mdx +201 -0
- package/.docs/raw/docs/integrations/gateways/index.mdx +162 -0
- package/.docs/raw/docs/integrations/index.mdx +185 -0
- package/.docs/raw/docs/integrations/observability/helicone.mdx +130 -0
- package/.docs/raw/docs/integrations/observability/langfuse.mdx +163 -0
- package/.docs/raw/docs/integrations/observability/langsmith.mdx +150 -0
- package/.docs/raw/docs/integrations/persistence/custom-adapter.mdx +712 -0
- package/.docs/raw/docs/integrations/tools/mcp.mdx +267 -0
- package/.docs/raw/docs/integrations/tools/react-mcp.mdx +337 -0
- package/.docs/raw/docs/migrations/v0-14.mdx +297 -0
- package/.docs/raw/docs/primitives/action-bar.mdx +1 -0
- package/.docs/raw/docs/primitives/assistant-modal.mdx +1 -0
- package/.docs/raw/docs/primitives/attachment.mdx +1 -0
- package/.docs/raw/docs/primitives/branch-picker.mdx +1 -0
- package/.docs/raw/docs/primitives/chain-of-thought.mdx +90 -85
- package/.docs/raw/docs/primitives/composer.mdx +55 -1
- package/.docs/raw/docs/primitives/error.mdx +1 -0
- package/.docs/raw/docs/primitives/index.mdx +4 -3
- package/.docs/raw/docs/primitives/message.mdx +68 -5
- package/.docs/raw/docs/primitives/selection-toolbar.mdx +1 -0
- package/.docs/raw/docs/primitives/suggestion.mdx +10 -0
- package/.docs/raw/docs/primitives/thread-list.mdx +39 -0
- package/.docs/raw/docs/primitives/thread.mdx +16 -13
- package/.docs/raw/docs/react-native/hooks.mdx +2 -2
- package/.docs/raw/docs/react-native/index.mdx +5 -7
- package/.docs/raw/docs/react-native/migration.mdx +1 -3
- package/.docs/raw/docs/runtimes/a2a/client-and-hooks.mdx +396 -0
- package/.docs/raw/docs/runtimes/a2a/overview.mdx +60 -0
- package/.docs/raw/docs/runtimes/a2a/quickstart.mdx +216 -0
- package/.docs/raw/docs/runtimes/ag-ui/overview.mdx +70 -0
- package/.docs/raw/docs/runtimes/ag-ui/quickstart.mdx +243 -0
- package/.docs/raw/docs/runtimes/ag-ui/runtime-options.mdx +154 -0
- package/.docs/raw/docs/runtimes/ai-sdk/overview.mdx +52 -0
- package/.docs/raw/docs/runtimes/ai-sdk/v4-legacy.mdx +73 -128
- package/.docs/raw/docs/runtimes/ai-sdk/v5-legacy.mdx +70 -64
- package/.docs/raw/docs/runtimes/ai-sdk/v6.mdx +337 -123
- package/.docs/raw/docs/runtimes/concepts/adapters.mdx +265 -0
- package/.docs/raw/docs/runtimes/concepts/architecture.mdx +125 -0
- package/.docs/raw/docs/runtimes/concepts/stability.mdx +67 -0
- package/.docs/raw/docs/runtimes/concepts/threads.mdx +428 -0
- package/.docs/raw/docs/runtimes/custom/assistant-transport.mdx +703 -0
- package/.docs/raw/docs/runtimes/custom/data-stream.mdx +348 -0
- package/.docs/raw/docs/runtimes/custom/external-store.mdx +261 -1236
- package/.docs/raw/docs/runtimes/custom/local-runtime.mdx +746 -0
- package/.docs/raw/docs/runtimes/custom/overview.mdx +71 -0
- package/.docs/raw/docs/runtimes/google-adk/api.mdx +256 -0
- package/.docs/raw/docs/runtimes/google-adk/hooks.mdx +717 -0
- package/.docs/raw/docs/runtimes/google-adk/overview.mdx +69 -0
- package/.docs/raw/docs/runtimes/google-adk/quickstart.mdx +229 -0
- package/.docs/raw/docs/runtimes/langchain.mdx +533 -0
- package/.docs/raw/docs/runtimes/langgraph/generative-ui.mdx +305 -0
- package/.docs/raw/docs/runtimes/langgraph/interrupts.mdx +104 -0
- package/.docs/raw/docs/runtimes/langgraph/overview.mdx +84 -0
- package/.docs/raw/docs/runtimes/langgraph/quickstart.mdx +496 -0
- package/.docs/raw/docs/runtimes/langgraph/streaming.mdx +127 -0
- package/.docs/raw/docs/runtimes/langgraph/threads.mdx +113 -0
- package/.docs/raw/docs/runtimes/langgraph/tutorial/introduction.mdx +3 -3
- package/.docs/raw/docs/runtimes/langgraph/tutorial/part-1.mdx +0 -23
- package/.docs/raw/docs/runtimes/langgraph/tutorial/part-2.mdx +1 -1
- package/.docs/raw/docs/runtimes/opencode/hooks.mdx +191 -0
- package/.docs/raw/docs/runtimes/opencode/overview.mdx +48 -0
- package/.docs/raw/docs/runtimes/opencode/quickstart.mdx +119 -0
- package/.docs/raw/docs/runtimes/pick-a-runtime.mdx +78 -203
- package/.docs/raw/docs/ui/accordion.mdx +1 -0
- package/.docs/raw/docs/ui/assistant-modal.mdx +1 -0
- package/.docs/raw/docs/ui/assistant-sidebar.mdx +1 -0
- package/.docs/raw/docs/ui/attachment.mdx +1 -0
- package/.docs/raw/docs/ui/badge.mdx +1 -0
- package/.docs/raw/docs/ui/composer-trigger-popover.mdx +12 -1
- package/.docs/raw/docs/ui/context-display.mdx +1 -0
- package/.docs/raw/docs/ui/diff-viewer.mdx +1 -0
- package/.docs/raw/docs/ui/directive-text.mdx +1 -0
- package/.docs/raw/docs/ui/file.mdx +1 -0
- package/.docs/raw/docs/ui/image.mdx +1 -0
- package/.docs/raw/docs/ui/markdown.mdx +2 -14
- package/.docs/raw/docs/ui/mcp-config.mdx +102 -0
- package/.docs/raw/docs/ui/mermaid.mdx +1 -0
- package/.docs/raw/docs/ui/message-timing.mdx +3 -2
- package/.docs/raw/docs/ui/model-selector.mdx +9 -8
- package/.docs/raw/docs/ui/part-grouping.mdx +325 -313
- package/.docs/raw/docs/ui/quote.mdx +1 -0
- package/.docs/raw/docs/ui/reasoning.mdx +66 -33
- package/.docs/raw/docs/ui/scrollbar.mdx +1 -0
- package/.docs/raw/docs/ui/select.mdx +1 -0
- package/.docs/raw/docs/ui/sources.mdx +18 -0
- package/.docs/raw/docs/ui/streamdown.mdx +35 -2
- package/.docs/raw/docs/ui/syntax-highlighting.mdx +1 -0
- package/.docs/raw/docs/ui/tabs.mdx +1 -0
- package/.docs/raw/docs/ui/thread-list.mdx +19 -2
- package/.docs/raw/docs/ui/thread.mdx +58 -3
- package/.docs/raw/docs/ui/tool-fallback.mdx +1 -0
- package/.docs/raw/docs/ui/tool-group.mdx +39 -11
- package/.docs/raw/docs/ui/voice.mdx +1 -0
- package/.docs/raw/docs/utilities/heat-graph.mdx +1 -0
- package/.docs/raw/docs/utilities/react-o11y.mdx +278 -0
- package/.docs/raw/docs/utilities/tw-shimmer.mdx +1 -0
- 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 +6 -6
- package/src/tools/tests/path-traversal.test.ts +1 -1
- package/.docs/raw/docs/(docs)/guides/branching.mdx +0 -65
- package/.docs/raw/docs/(docs)/guides/chain-of-thought.mdx +0 -164
- package/.docs/raw/docs/(docs)/guides/editing.mdx +0 -66
- package/.docs/raw/docs/(docs)/guides/speech.mdx +0 -38
- 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/(reference)/migrations/v0-14.mdx +0 -159
- package/.docs/raw/docs/runtimes/a2a/index.mdx +0 -298
- package/.docs/raw/docs/runtimes/assistant-transport.mdx +0 -1033
- package/.docs/raw/docs/runtimes/custom/custom-thread-list.mdx +0 -314
- package/.docs/raw/docs/runtimes/custom/local.mdx +0 -1464
- package/.docs/raw/docs/runtimes/data-stream.mdx +0 -422
- package/.docs/raw/docs/runtimes/google-adk/index.mdx +0 -686
- package/.docs/raw/docs/runtimes/helicone.mdx +0 -61
- package/.docs/raw/docs/runtimes/langchain/comparison.mdx +0 -60
- package/.docs/raw/docs/runtimes/langchain/index.mdx +0 -210
- package/.docs/raw/docs/runtimes/langgraph/index.mdx +0 -699
- package/.docs/raw/docs/runtimes/langgraph/tutorial/index.mdx +0 -12
- package/.docs/raw/docs/runtimes/langserve.mdx +0 -116
- package/.docs/raw/docs/runtimes/mastra/full-stack-integration.mdx +0 -218
- package/.docs/raw/docs/runtimes/mastra/overview.mdx +0 -18
- package/.docs/raw/docs/runtimes/mastra/separate-server-integration.mdx +0 -217
- 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
|
@@ -25,7 +25,7 @@ export async function POST(req: Request) {
|
|
|
25
25
|
|
|
26
26
|
const result = streamText({
|
|
27
27
|
// Use a reasoning model to showcase chain of thought
|
|
28
|
-
model: openai("
|
|
28
|
+
model: openai("gpt-5.4-mini"),
|
|
29
29
|
messages: await convertToModelMessages(messages),
|
|
30
30
|
stopWhen: stepCountIs(10),
|
|
31
31
|
tools: {
|
|
@@ -45,9 +45,15 @@ export async function POST(req: Request) {
|
|
|
45
45
|
},
|
|
46
46
|
}),
|
|
47
47
|
},
|
|
48
|
+
providerOptions: {
|
|
49
|
+
openai: {
|
|
50
|
+
reasoningEffort: "high",
|
|
51
|
+
reasoningSummary: "auto",
|
|
52
|
+
},
|
|
53
|
+
},
|
|
48
54
|
});
|
|
49
55
|
|
|
50
|
-
return result.toUIMessageStreamResponse();
|
|
56
|
+
return result.toUIMessageStreamResponse({ sendReasoning: true });
|
|
51
57
|
}
|
|
52
58
|
|
|
53
59
|
```
|
|
@@ -188,7 +194,7 @@ import "./globals.css";
|
|
|
188
194
|
|
|
189
195
|
export const metadata: Metadata = {
|
|
190
196
|
title: "Chain of Thought Example",
|
|
191
|
-
description: "Example using
|
|
197
|
+
description: "Example using MessagePrimitive.GroupedParts with AI SDK",
|
|
192
198
|
};
|
|
193
199
|
|
|
194
200
|
export default function RootLayout({
|
|
@@ -215,12 +221,11 @@ import { MarkdownText } from "@/components/assistant-ui/markdown-text";
|
|
|
215
221
|
import { TooltipIconButton } from "@/components/assistant-ui/tooltip-icon-button";
|
|
216
222
|
import { Button } from "@/components/ui/button";
|
|
217
223
|
import {
|
|
218
|
-
AuiIf,
|
|
219
|
-
ChainOfThoughtPrimitive,
|
|
220
224
|
ComposerPrimitive,
|
|
221
225
|
MessagePrimitive,
|
|
226
|
+
SuggestionPrimitive,
|
|
222
227
|
ThreadPrimitive,
|
|
223
|
-
|
|
228
|
+
useThread,
|
|
224
229
|
} from "@assistant-ui/react";
|
|
225
230
|
import {
|
|
226
231
|
ArrowDownIcon,
|
|
@@ -237,6 +242,10 @@ export const MyThread: FC = () => {
|
|
|
237
242
|
style={{ ["--thread-max-width" as string]: "44rem" }}
|
|
238
243
|
>
|
|
239
244
|
<ThreadPrimitive.Viewport className="flex flex-1 flex-col overflow-y-scroll scroll-smooth px-4 pt-8">
|
|
245
|
+
<ThreadPrimitive.Empty>
|
|
246
|
+
<ThreadWelcome />
|
|
247
|
+
</ThreadPrimitive.Empty>
|
|
248
|
+
|
|
240
249
|
<ThreadPrimitive.Messages>
|
|
241
250
|
{({ message }) => {
|
|
242
251
|
if (message.role === "user") return <UserMessage />;
|
|
@@ -265,6 +274,36 @@ const Text: FC<{ text: string }> = ({ text }) => {
|
|
|
265
274
|
return <p>{text}</p>;
|
|
266
275
|
};
|
|
267
276
|
|
|
277
|
+
const ThreadWelcome: FC = () => {
|
|
278
|
+
return (
|
|
279
|
+
<div className="mx-auto flex w-full max-w-(--thread-max-width) grow flex-col justify-center gap-6">
|
|
280
|
+
<div>
|
|
281
|
+
<h1 className="font-semibold text-2xl">What should we calculate?</h1>
|
|
282
|
+
</div>
|
|
283
|
+
<div className="flex flex-wrap gap-2">
|
|
284
|
+
<ThreadPrimitive.Suggestions>
|
|
285
|
+
{() => <ThreadSuggestionItem />}
|
|
286
|
+
</ThreadPrimitive.Suggestions>
|
|
287
|
+
</div>
|
|
288
|
+
</div>
|
|
289
|
+
);
|
|
290
|
+
};
|
|
291
|
+
|
|
292
|
+
const ThreadSuggestionItem: FC = () => {
|
|
293
|
+
return (
|
|
294
|
+
<SuggestionPrimitive.Trigger send asChild>
|
|
295
|
+
<Button
|
|
296
|
+
type="button"
|
|
297
|
+
variant="ghost"
|
|
298
|
+
className="h-auto w-full flex-col items-start justify-start gap-1 rounded-2xl border bg-background px-4 py-3 text-start text-sm hover:bg-muted sm:w-[calc(50%-0.25rem)]"
|
|
299
|
+
>
|
|
300
|
+
<SuggestionPrimitive.Title className="font-medium" />
|
|
301
|
+
<SuggestionPrimitive.Description className="text-muted-foreground empty:hidden" />
|
|
302
|
+
</Button>
|
|
303
|
+
</SuggestionPrimitive.Trigger>
|
|
304
|
+
);
|
|
305
|
+
};
|
|
306
|
+
|
|
268
307
|
const UserMessage: FC = () => {
|
|
269
308
|
return (
|
|
270
309
|
<MessagePrimitive.Root className="mx-auto w-full max-w-(--thread-max-width) py-3">
|
|
@@ -286,61 +325,69 @@ const AssistantMessage: FC = () => {
|
|
|
286
325
|
return (
|
|
287
326
|
<MessagePrimitive.Root className="mx-auto w-full max-w-(--thread-max-width) py-3">
|
|
288
327
|
<div className="flex flex-col gap-2 px-2 leading-relaxed">
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
328
|
+
<MessagePrimitive.GroupedParts
|
|
329
|
+
groupBy={(part) => {
|
|
330
|
+
if (part.type === "reasoning")
|
|
331
|
+
return ["group-chainOfThought", "group-reasoning"];
|
|
332
|
+
if (part.type === "tool-call")
|
|
333
|
+
return ["group-chainOfThought", "group-tool"];
|
|
293
334
|
return null;
|
|
294
335
|
}}
|
|
295
|
-
|
|
296
|
-
|
|
336
|
+
>
|
|
337
|
+
{({ part, children }) => {
|
|
338
|
+
switch (part.type) {
|
|
339
|
+
case "group-chainOfThought":
|
|
340
|
+
return <ChainOfThoughtGroup>{children}</ChainOfThoughtGroup>;
|
|
341
|
+
case "group-reasoning":
|
|
342
|
+
return <PartLayout label="Thinking">{children}</PartLayout>;
|
|
343
|
+
case "group-tool":
|
|
344
|
+
return (
|
|
345
|
+
<PartLayout label="Taking action">{children}</PartLayout>
|
|
346
|
+
);
|
|
347
|
+
case "text":
|
|
348
|
+
return <MarkdownText />;
|
|
349
|
+
case "reasoning":
|
|
350
|
+
return <Reasoning {...part} />;
|
|
351
|
+
case "tool-call":
|
|
352
|
+
return <ToolCall {...part} />;
|
|
353
|
+
default:
|
|
354
|
+
return null;
|
|
355
|
+
}
|
|
356
|
+
}}
|
|
357
|
+
</MessagePrimitive.GroupedParts>
|
|
297
358
|
</div>
|
|
298
359
|
</MessagePrimitive.Root>
|
|
299
360
|
);
|
|
300
361
|
};
|
|
301
362
|
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
*
|
|
306
|
-
* Uses ChainOfThoughtPrimitive.Root, AccordionTrigger, and Parts to create
|
|
307
|
-
* a collapsible accordion that groups all "thinking" steps together.
|
|
308
|
-
*/
|
|
309
|
-
const ChainOfThought: FC = () => {
|
|
363
|
+
const ChainOfThoughtGroup: FC<PropsWithChildren> = ({ children }) => {
|
|
364
|
+
const [open, setOpen] = useState(false);
|
|
365
|
+
|
|
310
366
|
return (
|
|
311
|
-
<
|
|
312
|
-
<
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
367
|
+
<div className="my-2 rounded-lg border">
|
|
368
|
+
<button
|
|
369
|
+
type="button"
|
|
370
|
+
className="flex w-full cursor-pointer items-center gap-2 px-4 py-2 font-medium text-sm hover:bg-muted/50"
|
|
371
|
+
onClick={() => setOpen((o) => !o)}
|
|
372
|
+
>
|
|
373
|
+
{open ? (
|
|
317
374
|
<ChevronDownIcon className="size-4 shrink-0" />
|
|
318
|
-
|
|
375
|
+
) : (
|
|
376
|
+
<ChevronRightIcon className="size-4 shrink-0" />
|
|
377
|
+
)}
|
|
319
378
|
Thinking
|
|
320
|
-
</
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
{({ part }) => {
|
|
324
|
-
if (part.type === "reasoning")
|
|
325
|
-
return (
|
|
326
|
-
<PartLayout>
|
|
327
|
-
<Reasoning {...part} />
|
|
328
|
-
</PartLayout>
|
|
329
|
-
);
|
|
330
|
-
return null;
|
|
331
|
-
}}
|
|
332
|
-
</ChainOfThoughtPrimitive.Parts>
|
|
333
|
-
</AuiIf>
|
|
334
|
-
</ChainOfThoughtPrimitive.Root>
|
|
379
|
+
</button>
|
|
380
|
+
{open && children}
|
|
381
|
+
</div>
|
|
335
382
|
);
|
|
336
383
|
};
|
|
337
384
|
|
|
338
|
-
const PartLayout: FC<PropsWithChildren
|
|
339
|
-
|
|
385
|
+
const PartLayout: FC<PropsWithChildren<{ label: string }>> = ({
|
|
386
|
+
children,
|
|
387
|
+
label,
|
|
388
|
+
}) => {
|
|
340
389
|
const [open, setOpen] = useState(true);
|
|
341
390
|
|
|
342
|
-
const label = partType === "reasoning" ? "Thinking" : "Taking action";
|
|
343
|
-
|
|
344
391
|
return (
|
|
345
392
|
<div className="border-t">
|
|
346
393
|
<button
|
|
@@ -368,7 +415,26 @@ const Reasoning: FC<{ text: string }> = ({ text }) => {
|
|
|
368
415
|
);
|
|
369
416
|
};
|
|
370
417
|
|
|
418
|
+
const ToolCall: FC<{ toolName: string; status: { type: string } }> = ({
|
|
419
|
+
toolName,
|
|
420
|
+
status,
|
|
421
|
+
}) => {
|
|
422
|
+
return (
|
|
423
|
+
<div className="px-4 py-2 text-sm">
|
|
424
|
+
{status.type === "running"
|
|
425
|
+
? `Running ${toolName}...`
|
|
426
|
+
: status.type === "complete"
|
|
427
|
+
? `${toolName} completed`
|
|
428
|
+
: status.type === "incomplete"
|
|
429
|
+
? `${toolName} failed`
|
|
430
|
+
: `${toolName} requires action`}
|
|
431
|
+
</div>
|
|
432
|
+
);
|
|
433
|
+
};
|
|
434
|
+
|
|
371
435
|
const Composer: FC = () => {
|
|
436
|
+
const isRunning = useThread((state) => state.isRunning);
|
|
437
|
+
|
|
372
438
|
return (
|
|
373
439
|
<ComposerPrimitive.Root className="flex w-full flex-col rounded-2xl border border-input bg-background px-1 pt-2 outline-none transition-shadow has-[textarea:focus-visible]:border-ring has-[textarea:focus-visible]:ring-2 has-[textarea:focus-visible]:ring-ring/20">
|
|
374
440
|
<ComposerPrimitive.Input
|
|
@@ -378,7 +444,7 @@ const Composer: FC = () => {
|
|
|
378
444
|
autoFocus
|
|
379
445
|
/>
|
|
380
446
|
<div className="relative mx-2 mb-2 flex items-center justify-end">
|
|
381
|
-
|
|
447
|
+
{!isRunning ? (
|
|
382
448
|
<ComposerPrimitive.Send asChild>
|
|
383
449
|
<TooltipIconButton
|
|
384
450
|
tooltip="Send"
|
|
@@ -390,8 +456,7 @@ const Composer: FC = () => {
|
|
|
390
456
|
<ArrowUpIcon className="size-4" />
|
|
391
457
|
</TooltipIconButton>
|
|
392
458
|
</ComposerPrimitive.Send>
|
|
393
|
-
|
|
394
|
-
<AuiIf condition={(s) => s.thread.isRunning}>
|
|
459
|
+
) : (
|
|
395
460
|
<ComposerPrimitive.Cancel asChild>
|
|
396
461
|
<Button
|
|
397
462
|
type="button"
|
|
@@ -402,7 +467,7 @@ const Composer: FC = () => {
|
|
|
402
467
|
<SquareIcon className="size-3 fill-current" />
|
|
403
468
|
</Button>
|
|
404
469
|
</ComposerPrimitive.Cancel>
|
|
405
|
-
|
|
470
|
+
)}
|
|
406
471
|
</div>
|
|
407
472
|
</ComposerPrimitive.Root>
|
|
408
473
|
);
|
|
@@ -557,29 +622,29 @@ export default nextConfig;
|
|
|
557
622
|
"start": "next start"
|
|
558
623
|
},
|
|
559
624
|
"dependencies": {
|
|
560
|
-
"@ai-sdk/openai": "^3.0.
|
|
625
|
+
"@ai-sdk/openai": "^3.0.64",
|
|
561
626
|
"@assistant-ui/react": "workspace:*",
|
|
562
627
|
"@assistant-ui/react-ai-sdk": "workspace:*",
|
|
563
628
|
"@assistant-ui/react-markdown": "workspace:*",
|
|
564
629
|
"@assistant-ui/ui": "workspace:*",
|
|
565
|
-
"ai": "^6.0.
|
|
630
|
+
"ai": "^6.0.188",
|
|
566
631
|
"class-variance-authority": "^0.7.1",
|
|
567
632
|
"clsx": "^2.1.1",
|
|
568
|
-
"lucide-react": "^1.
|
|
569
|
-
"next": "^16.2.
|
|
570
|
-
"react": "^19.2.
|
|
571
|
-
"react-dom": "^19.2.
|
|
572
|
-
"tailwind-merge": "^3.
|
|
573
|
-
"zod": "^4.3
|
|
633
|
+
"lucide-react": "^1.16.0",
|
|
634
|
+
"next": "^16.2.6",
|
|
635
|
+
"react": "^19.2.6",
|
|
636
|
+
"react-dom": "^19.2.6",
|
|
637
|
+
"tailwind-merge": "^3.6.0",
|
|
638
|
+
"zod": "^4.4.3"
|
|
574
639
|
},
|
|
575
640
|
"devDependencies": {
|
|
576
641
|
"@assistant-ui/x-buildutils": "workspace:*",
|
|
577
|
-
"@tailwindcss/postcss": "^4.
|
|
578
|
-
"@types/node": "^25.
|
|
579
|
-
"@types/react": "^19.2.
|
|
642
|
+
"@tailwindcss/postcss": "^4.3.0",
|
|
643
|
+
"@types/node": "^25.9.1",
|
|
644
|
+
"@types/react": "^19.2.15",
|
|
580
645
|
"@types/react-dom": "^19.2.3",
|
|
581
|
-
"postcss": "^8.5.
|
|
582
|
-
"tailwindcss": "^4.
|
|
646
|
+
"postcss": "^8.5.15",
|
|
647
|
+
"tailwindcss": "^4.3.0",
|
|
583
648
|
"tw-animate-css": "^1.4.0",
|
|
584
649
|
"typescript": "^6.0.3"
|
|
585
650
|
}
|
|
@@ -602,6 +667,7 @@ export default nextConfig;
|
|
|
602
667
|
"@/lib/utils": ["../../packages/ui/src/lib/utils"],
|
|
603
668
|
"@assistant-ui/ui/*": ["../../packages/ui/src/*"],
|
|
604
669
|
"@assistant-ui/*": ["../../packages/*/src"],
|
|
670
|
+
"@assistant-ui/core/*": ["../../packages/core/src/*"],
|
|
605
671
|
"@assistant-ui/react/*": ["../../packages/react/src/*"],
|
|
606
672
|
"@assistant-ui/tap/*": ["../../packages/tap/src/*"],
|
|
607
673
|
"assistant-stream": ["../../packages/assistant-stream/src"]
|
|
@@ -13,7 +13,7 @@ export async function POST(req: Request) {
|
|
|
13
13
|
const { messages }: { messages: UIMessage[] } = await req.json();
|
|
14
14
|
|
|
15
15
|
const result = streamText({
|
|
16
|
-
model: openai("gpt-
|
|
16
|
+
model: openai("gpt-5.4-nano"),
|
|
17
17
|
messages: await convertToModelMessages(messages),
|
|
18
18
|
});
|
|
19
19
|
|
|
@@ -568,25 +568,25 @@ export default nextConfig;
|
|
|
568
568
|
"start": "next start"
|
|
569
569
|
},
|
|
570
570
|
"dependencies": {
|
|
571
|
-
"@ai-sdk/openai": "^3.0.
|
|
571
|
+
"@ai-sdk/openai": "^3.0.64",
|
|
572
572
|
"@assistant-ui/cloud-ai-sdk": "workspace:*",
|
|
573
|
-
"ai": "^6.0.
|
|
573
|
+
"ai": "^6.0.188",
|
|
574
574
|
"class-variance-authority": "^0.7.1",
|
|
575
575
|
"clsx": "^2.1.1",
|
|
576
|
-
"lucide-react": "^1.
|
|
577
|
-
"next": "^16.2.
|
|
578
|
-
"react": "^19.2.
|
|
579
|
-
"react-dom": "^19.2.
|
|
580
|
-
"tailwind-merge": "^3.
|
|
576
|
+
"lucide-react": "^1.16.0",
|
|
577
|
+
"next": "^16.2.6",
|
|
578
|
+
"react": "^19.2.6",
|
|
579
|
+
"react-dom": "^19.2.6",
|
|
580
|
+
"tailwind-merge": "^3.6.0"
|
|
581
581
|
},
|
|
582
582
|
"devDependencies": {
|
|
583
583
|
"@assistant-ui/x-buildutils": "workspace:*",
|
|
584
|
-
"@tailwindcss/postcss": "^4.
|
|
585
|
-
"@types/node": "^25.
|
|
586
|
-
"@types/react": "^19.2.
|
|
584
|
+
"@tailwindcss/postcss": "^4.3.0",
|
|
585
|
+
"@types/node": "^25.9.1",
|
|
586
|
+
"@types/react": "^19.2.15",
|
|
587
587
|
"@types/react-dom": "^19.2.3",
|
|
588
|
-
"postcss": "^8.5.
|
|
589
|
-
"tailwindcss": "^4.
|
|
588
|
+
"postcss": "^8.5.15",
|
|
589
|
+
"tailwindcss": "^4.3.0",
|
|
590
590
|
"tw-animate-css": "^1.4.0",
|
|
591
591
|
"typescript": "^6.0.3"
|
|
592
592
|
}
|
|
@@ -13,7 +13,7 @@ export async function POST(req: Request) {
|
|
|
13
13
|
const { messages, system, tools } = await req.json();
|
|
14
14
|
|
|
15
15
|
const result = streamText({
|
|
16
|
-
model: openai("gpt-
|
|
16
|
+
model: openai("gpt-5.4-nano"),
|
|
17
17
|
messages: await convertToModelMessages(messages),
|
|
18
18
|
// forward system prompt and tools from the frontend
|
|
19
19
|
system,
|
|
@@ -327,28 +327,28 @@ export default nextConfig;
|
|
|
327
327
|
"start": "next start"
|
|
328
328
|
},
|
|
329
329
|
"dependencies": {
|
|
330
|
-
"@ai-sdk/openai": "^3.0.
|
|
330
|
+
"@ai-sdk/openai": "^3.0.64",
|
|
331
331
|
"@assistant-ui/react": "workspace:*",
|
|
332
332
|
"@assistant-ui/react-ai-sdk": "workspace:*",
|
|
333
333
|
"@assistant-ui/react-markdown": "workspace:*",
|
|
334
334
|
"@assistant-ui/ui": "workspace:*",
|
|
335
|
-
"ai": "^6.0.
|
|
335
|
+
"ai": "^6.0.188",
|
|
336
336
|
"class-variance-authority": "^0.7.1",
|
|
337
337
|
"clsx": "^2.1.1",
|
|
338
|
-
"lucide-react": "^1.
|
|
339
|
-
"next": "^16.2.
|
|
340
|
-
"react": "^19.2.
|
|
341
|
-
"react-dom": "^19.2.
|
|
342
|
-
"tailwind-merge": "^3.
|
|
338
|
+
"lucide-react": "^1.16.0",
|
|
339
|
+
"next": "^16.2.6",
|
|
340
|
+
"react": "^19.2.6",
|
|
341
|
+
"react-dom": "^19.2.6",
|
|
342
|
+
"tailwind-merge": "^3.6.0"
|
|
343
343
|
},
|
|
344
344
|
"devDependencies": {
|
|
345
345
|
"@assistant-ui/x-buildutils": "workspace:*",
|
|
346
|
-
"@tailwindcss/postcss": "^4.
|
|
347
|
-
"@types/node": "^25.
|
|
348
|
-
"@types/react": "^19.2.
|
|
346
|
+
"@tailwindcss/postcss": "^4.3.0",
|
|
347
|
+
"@types/node": "^25.9.1",
|
|
348
|
+
"@types/react": "^19.2.15",
|
|
349
349
|
"@types/react-dom": "^19.2.3",
|
|
350
|
-
"postcss": "^8.5.
|
|
351
|
-
"tailwindcss": "^4.
|
|
350
|
+
"postcss": "^8.5.15",
|
|
351
|
+
"tailwindcss": "^4.3.0",
|
|
352
352
|
"tw-animate-css": "^1.4.0",
|
|
353
353
|
"typescript": "^6.0.3"
|
|
354
354
|
}
|
|
@@ -21,7 +21,7 @@ export async function POST(req: Request) {
|
|
|
21
21
|
const { messages }: { messages: UIMessage[] } = await req.json();
|
|
22
22
|
|
|
23
23
|
const result = streamText({
|
|
24
|
-
model: openai("gpt-
|
|
24
|
+
model: openai("gpt-5.4-nano"),
|
|
25
25
|
messages: await convertToModelMessages(messages),
|
|
26
26
|
stopWhen: stepCountIs(10),
|
|
27
27
|
tools: {
|
|
@@ -215,7 +215,8 @@ import {
|
|
|
215
215
|
import { useChatRuntime } from "@assistant-ui/react-ai-sdk";
|
|
216
216
|
import { createAssistantStream } from "assistant-stream";
|
|
217
217
|
|
|
218
|
-
|
|
218
|
+
const PAGE_SIZE = 10;
|
|
219
|
+
|
|
219
220
|
const threadsStore = new Map<
|
|
220
221
|
string,
|
|
221
222
|
{
|
|
@@ -223,16 +224,33 @@ const threadsStore = new Map<
|
|
|
223
224
|
status: "regular" | "archived";
|
|
224
225
|
title?: string;
|
|
225
226
|
}
|
|
226
|
-
>(
|
|
227
|
+
>(
|
|
228
|
+
Array.from({ length: 25 }, (_, i) => {
|
|
229
|
+
const id = `seed-${String(i).padStart(2, "0")}`;
|
|
230
|
+
return [
|
|
231
|
+
id,
|
|
232
|
+
{
|
|
233
|
+
remoteId: id,
|
|
234
|
+
status: "regular" as const,
|
|
235
|
+
title: `Seeded thread ${i + 1}`,
|
|
236
|
+
},
|
|
237
|
+
] as const;
|
|
238
|
+
}),
|
|
239
|
+
);
|
|
227
240
|
|
|
228
241
|
const threadListAdapter: RemoteThreadListAdapter = {
|
|
229
|
-
async list() {
|
|
242
|
+
async list({ after }: { after?: string } = {}) {
|
|
243
|
+
const all = Array.from(threadsStore.values());
|
|
244
|
+
const start = after ? Number(after) : 0;
|
|
245
|
+
const page = all.slice(start, start + PAGE_SIZE);
|
|
246
|
+
const nextStart = start + page.length;
|
|
230
247
|
return {
|
|
231
|
-
threads:
|
|
248
|
+
threads: page.map((thread) => ({
|
|
232
249
|
remoteId: thread.remoteId,
|
|
233
250
|
status: thread.status,
|
|
234
251
|
title: thread.title,
|
|
235
252
|
})),
|
|
253
|
+
nextCursor: nextStart < all.length ? String(nextStart) : undefined,
|
|
236
254
|
};
|
|
237
255
|
},
|
|
238
256
|
|
|
@@ -323,8 +341,35 @@ export function MyRuntimeProvider({
|
|
|
323
341
|
"use client";
|
|
324
342
|
|
|
325
343
|
import { Thread } from "@/components/assistant-ui/thread";
|
|
326
|
-
import {
|
|
327
|
-
|
|
344
|
+
import {
|
|
345
|
+
AuiProvider,
|
|
346
|
+
Suggestions,
|
|
347
|
+
ThreadListItemPrimitive,
|
|
348
|
+
ThreadListPrimitive,
|
|
349
|
+
useAui,
|
|
350
|
+
} from "@assistant-ui/react";
|
|
351
|
+
|
|
352
|
+
function ThreadList() {
|
|
353
|
+
return (
|
|
354
|
+
<ThreadListPrimitive.Root className="flex flex-col gap-1 overflow-y-auto">
|
|
355
|
+
<ThreadListPrimitive.New className="flex h-9 items-center gap-2 rounded-lg border px-3 text-sm hover:bg-muted">
|
|
356
|
+
New Thread
|
|
357
|
+
</ThreadListPrimitive.New>
|
|
358
|
+
<ThreadListPrimitive.Items>
|
|
359
|
+
{() => (
|
|
360
|
+
<ThreadListItemPrimitive.Root className="flex h-9 items-center rounded-lg hover:bg-muted data-active:bg-muted">
|
|
361
|
+
<ThreadListItemPrimitive.Trigger className="flex-1 truncate px-3 text-start text-sm">
|
|
362
|
+
<ThreadListItemPrimitive.Title fallback="New Chat" />
|
|
363
|
+
</ThreadListItemPrimitive.Trigger>
|
|
364
|
+
</ThreadListItemPrimitive.Root>
|
|
365
|
+
)}
|
|
366
|
+
</ThreadListPrimitive.Items>
|
|
367
|
+
<ThreadListPrimitive.LoadMore className="mt-1 h-9 rounded-lg border px-3 text-sm hover:bg-muted disabled:opacity-50">
|
|
368
|
+
Load more
|
|
369
|
+
</ThreadListPrimitive.LoadMore>
|
|
370
|
+
</ThreadListPrimitive.Root>
|
|
371
|
+
);
|
|
372
|
+
}
|
|
328
373
|
|
|
329
374
|
function ThreadWithSuggestions() {
|
|
330
375
|
const aui = useAui({
|
|
@@ -414,30 +459,30 @@ export default nextConfig;
|
|
|
414
459
|
"start": "next start"
|
|
415
460
|
},
|
|
416
461
|
"dependencies": {
|
|
417
|
-
"@ai-sdk/openai": "^3.0.
|
|
462
|
+
"@ai-sdk/openai": "^3.0.64",
|
|
418
463
|
"@assistant-ui/react": "workspace:*",
|
|
419
464
|
"@assistant-ui/react-ai-sdk": "workspace:*",
|
|
420
465
|
"@assistant-ui/react-markdown": "workspace:*",
|
|
421
466
|
"@assistant-ui/ui": "workspace:*",
|
|
422
|
-
"ai": "^6.0.
|
|
467
|
+
"ai": "^6.0.188",
|
|
423
468
|
"assistant-stream": "workspace:*",
|
|
424
469
|
"class-variance-authority": "^0.7.1",
|
|
425
470
|
"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
|
-
"zod": "^4.3
|
|
471
|
+
"lucide-react": "^1.16.0",
|
|
472
|
+
"next": "^16.2.6",
|
|
473
|
+
"react": "^19.2.6",
|
|
474
|
+
"react-dom": "^19.2.6",
|
|
475
|
+
"tailwind-merge": "^3.6.0",
|
|
476
|
+
"zod": "^4.4.3"
|
|
432
477
|
},
|
|
433
478
|
"devDependencies": {
|
|
434
479
|
"@assistant-ui/x-buildutils": "workspace:*",
|
|
435
|
-
"@tailwindcss/postcss": "^4.
|
|
436
|
-
"@types/node": "^25.
|
|
437
|
-
"@types/react": "^19.2.
|
|
480
|
+
"@tailwindcss/postcss": "^4.3.0",
|
|
481
|
+
"@types/node": "^25.9.1",
|
|
482
|
+
"@types/react": "^19.2.15",
|
|
438
483
|
"@types/react-dom": "^19.2.3",
|
|
439
|
-
"postcss": "^8.5.
|
|
440
|
-
"tailwindcss": "^4.
|
|
484
|
+
"postcss": "^8.5.15",
|
|
485
|
+
"tailwindcss": "^4.3.0",
|
|
441
486
|
"tw-animate-css": "^1.4.0",
|
|
442
487
|
"typescript": "^6.0.3"
|
|
443
488
|
}
|
|
@@ -17,7 +17,7 @@ export async function POST(req: Request) {
|
|
|
17
17
|
const { messages }: { messages: UIMessage[] } = await req.json();
|
|
18
18
|
|
|
19
19
|
const result = streamText({
|
|
20
|
-
model: openai("gpt-
|
|
20
|
+
model: openai("gpt-5.4-nano"),
|
|
21
21
|
messages: await convertToModelMessages(messages),
|
|
22
22
|
stopWhen: stepCountIs(10),
|
|
23
23
|
});
|
|
@@ -438,31 +438,31 @@ export default nextConfig;
|
|
|
438
438
|
"version": "0.0.0",
|
|
439
439
|
"type": "module",
|
|
440
440
|
"dependencies": {
|
|
441
|
-
"@ai-sdk/openai": "^3.0.
|
|
442
|
-
"@ai-sdk/react": "^3.0.
|
|
441
|
+
"@ai-sdk/openai": "^3.0.64",
|
|
442
|
+
"@ai-sdk/react": "^3.0.190",
|
|
443
443
|
"@assistant-ui/react": "workspace:^",
|
|
444
444
|
"@assistant-ui/react-ai-sdk": "workspace:*",
|
|
445
445
|
"@assistant-ui/react-markdown": "workspace:^",
|
|
446
446
|
"@assistant-ui/ui": "workspace:*",
|
|
447
|
-
"@elevenlabs/client": "^1.
|
|
448
|
-
"@tailwindcss/postcss": "^4.
|
|
449
|
-
"ai": "^6.0.
|
|
447
|
+
"@elevenlabs/client": "^1.8.0",
|
|
448
|
+
"@tailwindcss/postcss": "^4.3.0",
|
|
449
|
+
"ai": "^6.0.188",
|
|
450
450
|
"class-variance-authority": "^0.7.1",
|
|
451
451
|
"clsx": "^2.1.1",
|
|
452
|
-
"lucide-react": "^1.
|
|
453
|
-
"motion": "^12.
|
|
454
|
-
"next": "^16.2.
|
|
455
|
-
"postcss": "^8.5.
|
|
456
|
-
"react": "^19.2.
|
|
457
|
-
"react-dom": "^19.2.
|
|
458
|
-
"tailwind-merge": "^3.
|
|
459
|
-
"tailwindcss": "^4.
|
|
460
|
-
"zod": "^4.3
|
|
452
|
+
"lucide-react": "^1.16.0",
|
|
453
|
+
"motion": "^12.39.0",
|
|
454
|
+
"next": "^16.2.6",
|
|
455
|
+
"postcss": "^8.5.15",
|
|
456
|
+
"react": "^19.2.6",
|
|
457
|
+
"react-dom": "^19.2.6",
|
|
458
|
+
"tailwind-merge": "^3.6.0",
|
|
459
|
+
"tailwindcss": "^4.3.0",
|
|
460
|
+
"zod": "^4.4.3"
|
|
461
461
|
},
|
|
462
462
|
"devDependencies": {
|
|
463
463
|
"@assistant-ui/x-buildutils": "workspace:*",
|
|
464
|
-
"@types/node": "^25.
|
|
465
|
-
"@types/react": "^19.2.
|
|
464
|
+
"@types/node": "^25.9.1",
|
|
465
|
+
"@types/react": "^19.2.15",
|
|
466
466
|
"@types/react-dom": "^19.2.3",
|
|
467
467
|
"tw-animate-css": "^1.4.0",
|
|
468
468
|
"typescript": "^6.0.3"
|
|
@@ -502,6 +502,7 @@ export default nextConfig;
|
|
|
502
502
|
"@/lib/utils": ["../../packages/ui/src/lib/utils"],
|
|
503
503
|
"@assistant-ui/ui/*": ["../../packages/ui/src/*"],
|
|
504
504
|
"@assistant-ui/*": ["../../packages/*/src"],
|
|
505
|
+
"@assistant-ui/core/*": ["../../packages/core/src/*"],
|
|
505
506
|
"@assistant-ui/react/*": ["../../packages/react/src/*"],
|
|
506
507
|
"@assistant-ui/tap/*": ["../../packages/tap/src/*"],
|
|
507
508
|
"assistant-stream": ["../../packages/assistant-stream/src"],
|