@assistant-ui/mcp-docs-server 0.2.3 → 0.3.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/README.md +16 -43
- package/dist/index.d.ts +2 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -91
- package/dist/index.js.map +1 -1
- package/dist/proxy.d.ts +9 -0
- package/dist/proxy.d.ts.map +1 -0
- package/dist/proxy.js +91 -0
- package/dist/proxy.js.map +1 -0
- package/package.json +8 -12
- package/src/index.ts +3 -115
- package/src/proxy.test.ts +385 -0
- package/src/proxy.ts +126 -0
- package/.docs/organized/code-examples/waterfall.md +0 -807
- package/.docs/organized/code-examples/with-a2a.md +0 -675
- package/.docs/organized/code-examples/with-ag-ui.md +0 -553
- package/.docs/organized/code-examples/with-ai-sdk-v7.md +0 -466
- package/.docs/organized/code-examples/with-artifacts.md +0 -815
- package/.docs/organized/code-examples/with-assistant-transport.md +0 -576
- package/.docs/organized/code-examples/with-browser-extension.md +0 -371
- package/.docs/organized/code-examples/with-chain-of-thought.md +0 -962
- package/.docs/organized/code-examples/with-cloud-standalone.md +0 -681
- package/.docs/organized/code-examples/with-cloud.md +0 -439
- package/.docs/organized/code-examples/with-custom-thread-list.md +0 -569
- package/.docs/organized/code-examples/with-elevenlabs-conversational.md +0 -527
- package/.docs/organized/code-examples/with-elevenlabs-scribe.md +0 -697
- package/.docs/organized/code-examples/with-eve.md +0 -405
- package/.docs/organized/code-examples/with-expo.md +0 -2246
- package/.docs/organized/code-examples/with-external-store.md +0 -421
- package/.docs/organized/code-examples/with-ffmpeg.md +0 -829
- package/.docs/organized/code-examples/with-generative-ui.md +0 -1810
- package/.docs/organized/code-examples/with-google-adk.md +0 -368
- package/.docs/organized/code-examples/with-heat-graph.md +0 -304
- package/.docs/organized/code-examples/with-image-generation.md +0 -463
- package/.docs/organized/code-examples/with-interactables.md +0 -733
- package/.docs/organized/code-examples/with-langchain.md +0 -446
- package/.docs/organized/code-examples/with-langgraph.md +0 -855
- package/.docs/organized/code-examples/with-livekit.md +0 -643
- package/.docs/organized/code-examples/with-mcp.md +0 -782
- package/.docs/organized/code-examples/with-nuxt.md +0 -2428
- package/.docs/organized/code-examples/with-opencode.md +0 -1974
- package/.docs/organized/code-examples/with-openui.md +0 -450
- package/.docs/organized/code-examples/with-pi.md +0 -2084
- package/.docs/organized/code-examples/with-react-hook-form.md +0 -727
- package/.docs/organized/code-examples/with-react-ink-web.md +0 -740
- package/.docs/organized/code-examples/with-react-ink.md +0 -473
- package/.docs/organized/code-examples/with-react-router.md +0 -936
- package/.docs/organized/code-examples/with-resumable-stream.md +0 -668
- package/.docs/organized/code-examples/with-store.md +0 -679
- package/.docs/organized/code-examples/with-svelte.md +0 -415
- package/.docs/organized/code-examples/with-sveltekit.md +0 -1061
- package/.docs/organized/code-examples/with-tanstack.md +0 -812
- package/.docs/organized/code-examples/with-tap-runtime.md +0 -813
- package/.docs/organized/code-examples/with-virtualized-thread.md +0 -681
- package/.docs/organized/code-examples/with-vue.md +0 -408
- package/.docs/raw/docs/(getting-started)/architecture.mdx +0 -146
- package/.docs/raw/docs/(getting-started)/base-ui.mdx +0 -39
- package/.docs/raw/docs/(getting-started)/cli.mdx +0 -542
- package/.docs/raw/docs/(getting-started)/devtools.mdx +0 -79
- package/.docs/raw/docs/(getting-started)/index.mdx +0 -23
- package/.docs/raw/docs/(getting-started)/installation.mdx +0 -483
- package/.docs/raw/docs/(getting-started)/llm.mdx +0 -211
- package/.docs/raw/docs/(getting-started)/rtl.mdx +0 -78
- package/.docs/raw/docs/(reference)/api-reference/adapters/attachments.mdx +0 -36
- package/.docs/raw/docs/(reference)/api-reference/adapters/feedback.mdx +0 -20
- package/.docs/raw/docs/(reference)/api-reference/adapters/index.mdx +0 -34
- package/.docs/raw/docs/(reference)/api-reference/adapters/model.mdx +0 -44
- package/.docs/raw/docs/(reference)/api-reference/adapters/persistence.mdx +0 -59
- package/.docs/raw/docs/(reference)/api-reference/adapters/runtime.mdx +0 -20
- package/.docs/raw/docs/(reference)/api-reference/adapters/suggestions.mdx +0 -26
- package/.docs/raw/docs/(reference)/api-reference/context-providers/assistant-runtime-provider.mdx +0 -84
- package/.docs/raw/docs/(reference)/api-reference/context-providers/index.mdx +0 -22
- package/.docs/raw/docs/(reference)/api-reference/context-providers/scoped-providers.mdx +0 -64
- package/.docs/raw/docs/(reference)/api-reference/external-store/index.mdx +0 -22
- package/.docs/raw/docs/(reference)/api-reference/external-store/message-conversion.mdx +0 -57
- package/.docs/raw/docs/(reference)/api-reference/external-store/runtime.mdx +0 -49
- package/.docs/raw/docs/(reference)/api-reference/generative-ui/a2ui.mdx +0 -40
- package/.docs/raw/docs/(reference)/api-reference/generative-ui/actions.mdx +0 -56
- package/.docs/raw/docs/(reference)/api-reference/generative-ui/components.mdx +0 -86
- package/.docs/raw/docs/(reference)/api-reference/generative-ui/index.mdx +0 -39
- package/.docs/raw/docs/(reference)/api-reference/generative-ui/json-generative-ui.mdx +0 -42
- package/.docs/raw/docs/(reference)/api-reference/generative-ui/rendering.mdx +0 -84
- package/.docs/raw/docs/(reference)/api-reference/generative-ui/slack.mdx +0 -85
- package/.docs/raw/docs/(reference)/api-reference/generative-ui/spec.mdx +0 -45
- package/.docs/raw/docs/(reference)/api-reference/generative-ui/teams.mdx +0 -93
- package/.docs/raw/docs/(reference)/api-reference/generative-ui/tokens.mdx +0 -62
- package/.docs/raw/docs/(reference)/api-reference/hooks/composer-triggers.mdx +0 -129
- package/.docs/raw/docs/(reference)/api-reference/hooks/index.mdx +0 -31
- package/.docs/raw/docs/(reference)/api-reference/hooks/model-context.mdx +0 -34
- package/.docs/raw/docs/(reference)/api-reference/hooks/primitives.mdx +0 -350
- package/.docs/raw/docs/(reference)/api-reference/hooks/runtimes.mdx +0 -28
- package/.docs/raw/docs/(reference)/api-reference/hooks/state.mdx +0 -97
- package/.docs/raw/docs/(reference)/api-reference/integrations/ai-sdk.mdx +0 -200
- package/.docs/raw/docs/(reference)/api-reference/integrations/cloud-ai-sdk.mdx +0 -24
- package/.docs/raw/docs/(reference)/api-reference/integrations/eve.mdx +0 -118
- package/.docs/raw/docs/(reference)/api-reference/integrations/index.mdx +0 -28
- package/.docs/raw/docs/(reference)/api-reference/integrations/react-data-stream.mdx +0 -37
- package/.docs/raw/docs/(reference)/api-reference/model-context/context.mdx +0 -50
- package/.docs/raw/docs/(reference)/api-reference/model-context/index.mdx +0 -22
- package/.docs/raw/docs/(reference)/api-reference/model-context/registry.mdx +0 -20
- package/.docs/raw/docs/(reference)/api-reference/overview.mdx +0 -566
- package/.docs/raw/docs/(reference)/api-reference/primitives/action-bar-more.mdx +0 -152
- package/.docs/raw/docs/(reference)/api-reference/primitives/action-bar.mdx +0 -239
- package/.docs/raw/docs/(reference)/api-reference/primitives/assistant-if.mdx +0 -208
- package/.docs/raw/docs/(reference)/api-reference/primitives/assistant-modal.mdx +0 -108
- package/.docs/raw/docs/(reference)/api-reference/primitives/attachment.mdx +0 -99
- package/.docs/raw/docs/(reference)/api-reference/primitives/branch-picker.mdx +0 -145
- package/.docs/raw/docs/(reference)/api-reference/primitives/chain-of-thought.mdx +0 -82
- package/.docs/raw/docs/(reference)/api-reference/primitives/composer.mdx +0 -637
- package/.docs/raw/docs/(reference)/api-reference/primitives/composition.mdx +0 -22
- package/.docs/raw/docs/(reference)/api-reference/primitives/error.mdx +0 -65
- package/.docs/raw/docs/(reference)/api-reference/primitives/index.mdx +0 -73
- package/.docs/raw/docs/(reference)/api-reference/primitives/message-part.mdx +0 -117
- package/.docs/raw/docs/(reference)/api-reference/primitives/message.mdx +0 -339
- package/.docs/raw/docs/(reference)/api-reference/primitives/queue-item.mdx +0 -77
- package/.docs/raw/docs/(reference)/api-reference/primitives/selection-toolbar.mdx +0 -88
- package/.docs/raw/docs/(reference)/api-reference/primitives/suggestion.mdx +0 -81
- package/.docs/raw/docs/(reference)/api-reference/primitives/thread-list-item-more.mdx +0 -129
- package/.docs/raw/docs/(reference)/api-reference/primitives/thread-list-item.mdx +0 -138
- package/.docs/raw/docs/(reference)/api-reference/primitives/thread-list.mdx +0 -122
- package/.docs/raw/docs/(reference)/api-reference/primitives/thread.mdx +0 -289
- package/.docs/raw/docs/(reference)/api-reference/runtimes/assistant-runtime.mdx +0 -20
- package/.docs/raw/docs/(reference)/api-reference/runtimes/attachment-runtime.mdx +0 -24
- package/.docs/raw/docs/(reference)/api-reference/runtimes/composer-runtime.mdx +0 -32
- package/.docs/raw/docs/(reference)/api-reference/runtimes/index.mdx +0 -43
- package/.docs/raw/docs/(reference)/api-reference/runtimes/message-part-runtime.mdx +0 -43
- package/.docs/raw/docs/(reference)/api-reference/runtimes/message-runtime.mdx +0 -24
- package/.docs/raw/docs/(reference)/api-reference/runtimes/queue-state.mdx +0 -20
- package/.docs/raw/docs/(reference)/api-reference/runtimes/thread-list-item-runtime.mdx +0 -24
- package/.docs/raw/docs/(reference)/api-reference/runtimes/thread-list-runtime.mdx +0 -24
- package/.docs/raw/docs/(reference)/api-reference/runtimes/thread-runtime.mdx +0 -36
- package/.docs/raw/docs/(reference)/api-reference/tools/component-tools.mdx +0 -85
- package/.docs/raw/docs/(reference)/api-reference/tools/index.mdx +0 -45
- package/.docs/raw/docs/(reference)/api-reference/tools/interactables-legacy.mdx +0 -55
- package/.docs/raw/docs/(reference)/api-reference/tools/interactables.mdx +0 -151
- package/.docs/raw/docs/(reference)/api-reference/tools/rendering.mdx +0 -106
- package/.docs/raw/docs/(reference)/api-reference/tools/status.mdx +0 -62
- package/.docs/raw/docs/(reference)/api-reference/tools/toolkits.mdx +0 -178
- package/.docs/raw/docs/(reference)/api-reference/transport/assistant-transport.mdx +0 -48
- package/.docs/raw/docs/(reference)/api-reference/transport/frame.mdx +0 -62
- package/.docs/raw/docs/(reference)/api-reference/transport/index.mdx +0 -22
- package/.docs/raw/docs/(reference)/api-reference/utilities/index.mdx +0 -19
- package/.docs/raw/docs/(reference)/api-reference/utilities/miscellaneous.mdx +0 -152
- package/.docs/raw/docs/(reference)/api-reference/voice/index.mdx +0 -22
- package/.docs/raw/docs/(reference)/api-reference/voice/session.mdx +0 -54
- package/.docs/raw/docs/(reference)/api-reference/voice/speech-dictation.mdx +0 -36
- package/.docs/raw/docs/cloud/ai-sdk-assistant-ui.mdx +0 -527
- package/.docs/raw/docs/cloud/ai-sdk.mdx +0 -604
- package/.docs/raw/docs/cloud/authorization.mdx +0 -252
- package/.docs/raw/docs/cloud/index.mdx +0 -46
- package/.docs/raw/docs/cloud/langgraph.mdx +0 -554
- package/.docs/raw/docs/copilots/assistant-frame.mdx +0 -411
- package/.docs/raw/docs/copilots/make-assistant-visible.mdx +0 -82
- package/.docs/raw/docs/copilots/model-context.mdx +0 -156
- package/.docs/raw/docs/copilots/motivation.mdx +0 -202
- package/.docs/raw/docs/copilots/use-assistant-instructions.mdx +0 -64
- package/.docs/raw/docs/guides/attachments.mdx +0 -619
- package/.docs/raw/docs/guides/branching.mdx +0 -76
- package/.docs/raw/docs/guides/chain-of-thought.mdx +0 -164
- package/.docs/raw/docs/guides/chatgpt-subscription.mdx +0 -108
- package/.docs/raw/docs/guides/context-api.mdx +0 -619
- package/.docs/raw/docs/guides/dictation.mdx +0 -298
- package/.docs/raw/docs/guides/editing.mdx +0 -102
- package/.docs/raw/docs/guides/electron.mdx +0 -369
- package/.docs/raw/docs/guides/headless-composer-input.mdx +0 -113
- package/.docs/raw/docs/guides/image-generation.mdx +0 -74
- package/.docs/raw/docs/guides/index.mdx +0 -117
- package/.docs/raw/docs/guides/input-history.mdx +0 -55
- package/.docs/raw/docs/guides/latex.mdx +0 -158
- package/.docs/raw/docs/guides/mentions.mdx +0 -575
- package/.docs/raw/docs/guides/message-timing.mdx +0 -215
- package/.docs/raw/docs/guides/quoting.mdx +0 -169
- package/.docs/raw/docs/guides/resumable-stream-deployment.mdx +0 -212
- package/.docs/raw/docs/guides/resumable-stream-stores.mdx +0 -152
- package/.docs/raw/docs/guides/resumable-streams.mdx +0 -292
- package/.docs/raw/docs/guides/slash-commands.mdx +0 -358
- package/.docs/raw/docs/guides/speech.mdx +0 -172
- package/.docs/raw/docs/guides/suggestions.mdx +0 -384
- package/.docs/raw/docs/guides/virtualization.mdx +0 -133
- package/.docs/raw/docs/guides/voice.mdx +0 -310
- package/.docs/raw/docs/ink/adapters.mdx +0 -99
- package/.docs/raw/docs/ink/custom-backend.mdx +0 -254
- package/.docs/raw/docs/ink/hooks.mdx +0 -469
- package/.docs/raw/docs/ink/index.mdx +0 -237
- package/.docs/raw/docs/ink/migration.mdx +0 -138
- package/.docs/raw/docs/ink/primitives.mdx +0 -1259
- package/.docs/raw/docs/integrations/attachments/custom-adapter.mdx +0 -528
- package/.docs/raw/docs/integrations/auth/better-auth.mdx +0 -188
- package/.docs/raw/docs/integrations/auth/clerk.mdx +0 -166
- package/.docs/raw/docs/integrations/auth/next-auth.mdx +0 -191
- package/.docs/raw/docs/integrations/frameworks/ai-sdk.mdx +0 -88
- package/.docs/raw/docs/integrations/frameworks/cloudflare-agents.mdx +0 -283
- package/.docs/raw/docs/integrations/frameworks/mastra/full-stack.mdx +0 -188
- package/.docs/raw/docs/integrations/frameworks/mastra/overview.mdx +0 -57
- package/.docs/raw/docs/integrations/frameworks/mastra/separate-server.mdx +0 -201
- package/.docs/raw/docs/integrations/gateways/index.mdx +0 -162
- package/.docs/raw/docs/integrations/index.mdx +0 -178
- package/.docs/raw/docs/integrations/observability/helicone.mdx +0 -129
- package/.docs/raw/docs/integrations/observability/langfuse.mdx +0 -161
- package/.docs/raw/docs/integrations/observability/langsmith.mdx +0 -151
- package/.docs/raw/docs/integrations/persistence/custom-adapter.mdx +0 -773
- package/.docs/raw/docs/migrations/deprecation-policy.mdx +0 -42
- package/.docs/raw/docs/migrations/index.mdx +0 -50
- package/.docs/raw/docs/migrations/react-compatibility.mdx +0 -74
- package/.docs/raw/docs/migrations/react-langgraph-v0-7.mdx +0 -328
- package/.docs/raw/docs/migrations/toolkit-tools.mdx +0 -236
- package/.docs/raw/docs/migrations/v0-11.mdx +0 -172
- package/.docs/raw/docs/migrations/v0-12.mdx +0 -302
- package/.docs/raw/docs/migrations/v0-14.mdx +0 -297
- package/.docs/raw/docs/migrations/v0-15.mdx +0 -270
- package/.docs/raw/docs/primitives/action-bar.mdx +0 -352
- package/.docs/raw/docs/primitives/assistant-modal.mdx +0 -216
- package/.docs/raw/docs/primitives/attachment.mdx +0 -217
- package/.docs/raw/docs/primitives/branch-picker.mdx +0 -222
- package/.docs/raw/docs/primitives/chain-of-thought.mdx +0 -315
- package/.docs/raw/docs/primitives/composer.mdx +0 -659
- package/.docs/raw/docs/primitives/error.mdx +0 -142
- package/.docs/raw/docs/primitives/index.mdx +0 -99
- package/.docs/raw/docs/primitives/message.mdx +0 -618
- package/.docs/raw/docs/primitives/selection-toolbar.mdx +0 -191
- package/.docs/raw/docs/primitives/suggestion.mdx +0 -254
- package/.docs/raw/docs/primitives/thread-list.mdx +0 -467
- package/.docs/raw/docs/primitives/thread.mdx +0 -509
- package/.docs/raw/docs/react-native/adapters.mdx +0 -94
- package/.docs/raw/docs/react-native/custom-backend.mdx +0 -207
- package/.docs/raw/docs/react-native/hooks.mdx +0 -339
- package/.docs/raw/docs/react-native/index.mdx +0 -289
- package/.docs/raw/docs/react-native/migration.mdx +0 -142
- package/.docs/raw/docs/react-native/primitives.mdx +0 -976
- package/.docs/raw/docs/runtimes/a2a/client-and-hooks.mdx +0 -399
- package/.docs/raw/docs/runtimes/a2a/overview.mdx +0 -60
- package/.docs/raw/docs/runtimes/a2a/quickstart.mdx +0 -216
- package/.docs/raw/docs/runtimes/ag-ui/agent-state.mdx +0 -124
- package/.docs/raw/docs/runtimes/ag-ui/overview.mdx +0 -70
- package/.docs/raw/docs/runtimes/ag-ui/quickstart.mdx +0 -243
- package/.docs/raw/docs/runtimes/ag-ui/runtime-options.mdx +0 -267
- package/.docs/raw/docs/runtimes/ai-sdk/overview.mdx +0 -61
- package/.docs/raw/docs/runtimes/ai-sdk/v4-legacy.mdx +0 -122
- package/.docs/raw/docs/runtimes/ai-sdk/v5-legacy.mdx +0 -135
- package/.docs/raw/docs/runtimes/ai-sdk/v6-legacy.mdx +0 -636
- package/.docs/raw/docs/runtimes/ai-sdk/v7.mdx +0 -731
- package/.docs/raw/docs/runtimes/claude-managed-agents.mdx +0 -118
- package/.docs/raw/docs/runtimes/concepts/adapters.mdx +0 -265
- package/.docs/raw/docs/runtimes/concepts/architecture.mdx +0 -167
- package/.docs/raw/docs/runtimes/concepts/stability.mdx +0 -68
- package/.docs/raw/docs/runtimes/concepts/threads.mdx +0 -513
- package/.docs/raw/docs/runtimes/custom/assistant-transport.mdx +0 -763
- package/.docs/raw/docs/runtimes/custom/data-stream.mdx +0 -339
- package/.docs/raw/docs/runtimes/custom/external-store.mdx +0 -957
- package/.docs/raw/docs/runtimes/custom/local-runtime.mdx +0 -902
- package/.docs/raw/docs/runtimes/custom/overview.mdx +0 -71
- package/.docs/raw/docs/runtimes/eve/overview.mdx +0 -151
- package/.docs/raw/docs/runtimes/eve/quickstart.mdx +0 -192
- package/.docs/raw/docs/runtimes/google-adk/api.mdx +0 -256
- package/.docs/raw/docs/runtimes/google-adk/hooks.mdx +0 -784
- package/.docs/raw/docs/runtimes/google-adk/overview.mdx +0 -69
- package/.docs/raw/docs/runtimes/google-adk/quickstart.mdx +0 -229
- package/.docs/raw/docs/runtimes/langchain.mdx +0 -901
- package/.docs/raw/docs/runtimes/langgraph/agent-state.mdx +0 -181
- package/.docs/raw/docs/runtimes/langgraph/generative-ui.mdx +0 -305
- package/.docs/raw/docs/runtimes/langgraph/interrupts.mdx +0 -104
- package/.docs/raw/docs/runtimes/langgraph/overview.mdx +0 -84
- package/.docs/raw/docs/runtimes/langgraph/quickstart.mdx +0 -496
- package/.docs/raw/docs/runtimes/langgraph/streaming.mdx +0 -144
- package/.docs/raw/docs/runtimes/langgraph/threads.mdx +0 -113
- package/.docs/raw/docs/runtimes/langgraph/tutorial/introduction.mdx +0 -29
- package/.docs/raw/docs/runtimes/langgraph/tutorial/part-1.mdx +0 -93
- package/.docs/raw/docs/runtimes/langgraph/tutorial/part-2.mdx +0 -347
- package/.docs/raw/docs/runtimes/langgraph/tutorial/part-3.mdx +0 -393
- package/.docs/raw/docs/runtimes/opencode/hooks.mdx +0 -194
- package/.docs/raw/docs/runtimes/opencode/overview.mdx +0 -58
- package/.docs/raw/docs/runtimes/opencode/quickstart.mdx +0 -119
- package/.docs/raw/docs/runtimes/pick-a-runtime.mdx +0 -133
- package/.docs/raw/docs/tools/a2ui.mdx +0 -107
- package/.docs/raw/docs/tools/backend.mdx +0 -147
- package/.docs/raw/docs/tools/defining-tools.mdx +0 -574
- package/.docs/raw/docs/tools/dynamic-tools.mdx +0 -112
- package/.docs/raw/docs/tools/generative-ui-primitive.mdx +0 -180
- package/.docs/raw/docs/tools/generative-ui-slack.mdx +0 -167
- package/.docs/raw/docs/tools/generative-ui-teams.mdx +0 -160
- package/.docs/raw/docs/tools/generative-ui.mdx +0 -322
- package/.docs/raw/docs/tools/index.mdx +0 -72
- package/.docs/raw/docs/tools/interactables.mdx +0 -1084
- package/.docs/raw/docs/tools/mcp-apps.mdx +0 -363
- package/.docs/raw/docs/tools/mcp.mdx +0 -466
- package/.docs/raw/docs/tools/multi-agent.mdx +0 -237
- package/.docs/raw/docs/tools/openui.mdx +0 -175
- package/.docs/raw/docs/tools/tool-ui.mdx +0 -1020
- package/.docs/raw/docs/tools/user-managed-mcp.mdx +0 -428
- package/.docs/raw/docs/ui/assistant-modal.mdx +0 -166
- package/.docs/raw/docs/ui/assistant-sidebar.mdx +0 -89
- package/.docs/raw/docs/ui/attachment.mdx +0 -279
- package/.docs/raw/docs/ui/composer-trigger-popover.mdx +0 -247
- package/.docs/raw/docs/ui/context-display.mdx +0 -148
- package/.docs/raw/docs/ui/directive-text.mdx +0 -114
- package/.docs/raw/docs/ui/file.mdx +0 -159
- package/.docs/raw/docs/ui/follow-up-suggestions.mdx +0 -82
- package/.docs/raw/docs/ui/image.mdx +0 -102
- package/.docs/raw/docs/ui/markdown.mdx +0 -103
- package/.docs/raw/docs/ui/mcp-config.mdx +0 -107
- package/.docs/raw/docs/ui/mermaid.mdx +0 -92
- package/.docs/raw/docs/ui/message-timing.mdx +0 -93
- package/.docs/raw/docs/ui/model-selector.mdx +0 -455
- package/.docs/raw/docs/ui/part-grouping.mdx +0 -614
- package/.docs/raw/docs/ui/quote.mdx +0 -211
- package/.docs/raw/docs/ui/reasoning.mdx +0 -214
- package/.docs/raw/docs/ui/scrollbar.mdx +0 -77
- package/.docs/raw/docs/ui/sources.mdx +0 -186
- package/.docs/raw/docs/ui/streamdown.mdx +0 -392
- package/.docs/raw/docs/ui/syntax-highlighting.mdx +0 -205
- package/.docs/raw/docs/ui/thread-list.mdx +0 -411
- package/.docs/raw/docs/ui/thread.mdx +0 -559
- package/.docs/raw/docs/ui/tool-fallback.mdx +0 -141
- package/.docs/raw/docs/ui/tool-group.mdx +0 -240
- package/.docs/raw/docs/ui/voice.mdx +0 -173
- package/.docs/raw/docs/utilities/heat-graph.mdx +0 -237
- package/.docs/raw/docs/utilities/react-o11y.mdx +0 -362
- package/.docs/raw/docs/utilities/tw-shimmer.mdx +0 -212
- package/dist/constants.d.ts +0 -14
- package/dist/constants.d.ts.map +0 -1
- package/dist/constants.js +0 -19
- package/dist/constants.js.map +0 -1
- package/dist/prepare-docs/code-examples.d.ts +0 -5
- package/dist/prepare-docs/code-examples.d.ts.map +0 -1
- package/dist/prepare-docs/code-examples.js +0 -117
- package/dist/prepare-docs/code-examples.js.map +0 -1
- package/dist/prepare-docs/copy-raw.d.ts +0 -5
- package/dist/prepare-docs/copy-raw.d.ts.map +0 -1
- package/dist/prepare-docs/copy-raw.js +0 -49
- package/dist/prepare-docs/copy-raw.js.map +0 -1
- package/dist/prepare-docs/prepare.d.ts +0 -1
- package/dist/prepare-docs/prepare.js +0 -22
- package/dist/prepare-docs/prepare.js.map +0 -1
- package/dist/prompts/xulux-playground.d.ts +0 -12
- package/dist/prompts/xulux-playground.d.ts.map +0 -1
- package/dist/prompts/xulux-playground.js +0 -33
- package/dist/prompts/xulux-playground.js.map +0 -1
- package/dist/tools/docs.d.ts +0 -22
- package/dist/tools/docs.d.ts.map +0 -1
- package/dist/tools/docs.js +0 -177
- package/dist/tools/docs.js.map +0 -1
- package/dist/tools/examples.d.ts +0 -24
- package/dist/tools/examples.d.ts.map +0 -1
- package/dist/tools/examples.js +0 -87
- package/dist/tools/examples.js.map +0 -1
- package/dist/tools/resources.d.ts +0 -6
- package/dist/tools/resources.d.ts.map +0 -1
- package/dist/tools/resources.js +0 -75
- package/dist/tools/resources.js.map +0 -1
- package/dist/tools/search.d.ts +0 -24
- package/dist/tools/search.d.ts.map +0 -1
- package/dist/tools/search.js +0 -39
- package/dist/tools/search.js.map +0 -1
- package/dist/tools/tests/mcp-test-client.d.ts +0 -15
- package/dist/tools/tests/mcp-test-client.d.ts.map +0 -1
- package/dist/tools/tests/mcp-test-client.js +0 -68
- package/dist/tools/tests/mcp-test-client.js.map +0 -1
- package/dist/tools/tests/test-setup.d.ts +0 -7
- package/dist/tools/tests/test-setup.d.ts.map +0 -1
- package/dist/tools/tests/test-setup.js +0 -36
- package/dist/tools/tests/test-setup.js.map +0 -1
- package/dist/tools/xulux-templates.d.ts +0 -58
- package/dist/tools/xulux-templates.d.ts.map +0 -1
- package/dist/tools/xulux-templates.js +0 -84
- package/dist/tools/xulux-templates.js.map +0 -1
- package/dist/utils/cache.d.ts +0 -5
- package/dist/utils/cache.d.ts.map +0 -1
- package/dist/utils/cache.js +0 -18
- package/dist/utils/cache.js.map +0 -1
- package/dist/utils/logger.d.ts +0 -10
- package/dist/utils/logger.d.ts.map +0 -1
- package/dist/utils/logger.js +0 -20
- package/dist/utils/logger.js.map +0 -1
- package/dist/utils/mcp-format.d.ts +0 -11
- package/dist/utils/mcp-format.d.ts.map +0 -1
- package/dist/utils/mcp-format.js +0 -14
- package/dist/utils/mcp-format.js.map +0 -1
- package/dist/utils/mdx.d.ts +0 -12
- package/dist/utils/mdx.d.ts.map +0 -1
- package/dist/utils/mdx.js +0 -45
- package/dist/utils/mdx.js.map +0 -1
- package/dist/utils/paths.d.ts +0 -12
- package/dist/utils/paths.d.ts.map +0 -1
- package/dist/utils/paths.js +0 -93
- package/dist/utils/paths.js.map +0 -1
- package/dist/utils/search.d.ts +0 -10
- package/dist/utils/search.d.ts.map +0 -1
- package/dist/utils/search.js +0 -97
- package/dist/utils/search.js.map +0 -1
- package/dist/utils/security.d.ts +0 -5
- package/dist/utils/security.d.ts.map +0 -1
- package/dist/utils/security.js +0 -22
- package/dist/utils/security.js.map +0 -1
- package/dist/xulux/catalog-client.d.ts +0 -14
- package/dist/xulux/catalog-client.d.ts.map +0 -1
- package/dist/xulux/catalog-client.js +0 -112
- package/dist/xulux/catalog-client.js.map +0 -1
- package/dist/xulux/fallback-catalog.d.ts +0 -7
- package/dist/xulux/fallback-catalog.d.ts.map +0 -1
- package/dist/xulux/fallback-catalog.js +0 -47
- package/dist/xulux/fallback-catalog.js.map +0 -1
- package/dist/xulux/fetch-sandbox.d.ts +0 -5
- package/dist/xulux/fetch-sandbox.d.ts.map +0 -1
- package/dist/xulux/fetch-sandbox.js +0 -40
- package/dist/xulux/fetch-sandbox.js.map +0 -1
- package/dist/xulux/template-service.d.ts +0 -84
- package/dist/xulux/template-service.d.ts.map +0 -1
- package/dist/xulux/template-service.js +0 -223
- package/dist/xulux/template-service.js.map +0 -1
- package/dist/xulux/types.d.ts +0 -55
- package/dist/xulux/types.d.ts.map +0 -1
- package/dist/xulux/types.js +0 -6
- package/dist/xulux/types.js.map +0 -1
- package/src/constants.ts +0 -24
- package/src/prepare-docs/code-examples.ts +0 -158
- package/src/prepare-docs/copy-raw.ts +0 -50
- package/src/prepare-docs/prepare.ts +0 -24
- package/src/prompts/xulux-playground.ts +0 -36
- package/src/tools/docs.ts +0 -255
- package/src/tools/examples.ts +0 -114
- package/src/tools/resources.ts +0 -111
- package/src/tools/search.ts +0 -46
- package/src/tools/tests/completions.test.ts +0 -60
- package/src/tools/tests/directory-size-cap.test.ts +0 -50
- package/src/tools/tests/docs.test.ts +0 -147
- package/src/tools/tests/examples.test.ts +0 -94
- package/src/tools/tests/integration.test.ts +0 -45
- package/src/tools/tests/json-parsing.test.ts +0 -23
- package/src/tools/tests/listings-cache.test.ts +0 -19
- package/src/tools/tests/mcp-protocol.test.ts +0 -216
- package/src/tools/tests/mcp-test-client.ts +0 -111
- package/src/tools/tests/path-traversal.test.ts +0 -84
- package/src/tools/tests/resources.test.ts +0 -133
- package/src/tools/tests/search.test.ts +0 -37
- package/src/tools/tests/test-setup.ts +0 -50
- package/src/tools/tests/xulux-templates.test.ts +0 -325
- package/src/tools/xulux-templates.ts +0 -141
- package/src/utils/cache.ts +0 -20
- package/src/utils/logger.ts +0 -20
- package/src/utils/mcp-format.ts +0 -14
- package/src/utils/mdx.ts +0 -59
- package/src/utils/paths.ts +0 -139
- package/src/utils/search.ts +0 -131
- package/src/utils/security.ts +0 -52
- package/src/utils/tests/cache.test.ts +0 -51
- package/src/utils/tests/mcp-format.test.ts +0 -22
- package/src/utils/tests/security.test.ts +0 -119
- package/src/xulux/catalog-client.ts +0 -150
- package/src/xulux/fallback-catalog.ts +0 -63
- package/src/xulux/fetch-sandbox.ts +0 -56
- package/src/xulux/template-service.ts +0 -406
- package/src/xulux/types.ts +0 -64
|
@@ -1,559 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Thread Component
|
|
3
|
-
description: Stream-ready React chat container with message list, composer, auto-scroll, and accessibility built in. Drop into any AI chat UI built with assistant-ui.
|
|
4
|
-
platforms: ["react"]
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
import { ThreadSample } from "@/components/pages/docs/samples/thread";
|
|
8
|
-
import { ThreadHistorySample } from "@/components/pages/docs/samples/thread/thread-history";
|
|
9
|
-
import { ThreadActionsSample } from "@/components/pages/docs/samples/thread/message-actions";
|
|
10
|
-
import { PreviewCode } from "@/components/pages/docs/preview-code.server";
|
|
11
|
-
import { ThreadWelcomeSuggestionsSample } from "@/components/pages/docs/samples/thread/welcome-with-suggestions";
|
|
12
|
-
import { ThreadBranchSample } from "@/components/pages/docs/samples/thread/branching-response";
|
|
13
|
-
import { ThreadRunningSample } from "@/components/pages/docs/samples/thread/running-response";
|
|
14
|
-
|
|
15
|
-
A complete chat interface that combines message rendering, auto-scrolling, composer input,
|
|
16
|
-
attachments, and conditional UI states. Fully customizable and composable.
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
<ThreadSample />
|
|
20
|
-
|
|
21
|
-
## Anatomy
|
|
22
|
-
|
|
23
|
-
The `Thread` component is built with the following primitives:
|
|
24
|
-
|
|
25
|
-
```tsx
|
|
26
|
-
import { ThreadPrimitive, AuiIf } from "@assistant-ui/react";
|
|
27
|
-
|
|
28
|
-
<ThreadPrimitive.Root>
|
|
29
|
-
<ThreadPrimitive.Viewport>
|
|
30
|
-
<AuiIf condition={(s) => s.thread.isEmpty}>
|
|
31
|
-
<ThreadWelcome />
|
|
32
|
-
{/* ThreadWelcome includes ThreadPrimitive.Suggestions */}
|
|
33
|
-
</AuiIf>
|
|
34
|
-
|
|
35
|
-
<ThreadPrimitive.Messages>
|
|
36
|
-
{({ message }) => {
|
|
37
|
-
if (message.role === "user") return <UserMessage />;
|
|
38
|
-
return <AssistantMessage />;
|
|
39
|
-
}}
|
|
40
|
-
</ThreadPrimitive.Messages>
|
|
41
|
-
|
|
42
|
-
<ThreadPrimitive.ViewportFooter>
|
|
43
|
-
<ThreadPrimitive.ScrollToBottom />
|
|
44
|
-
<Composer />
|
|
45
|
-
</ThreadPrimitive.ViewportFooter>
|
|
46
|
-
</ThreadPrimitive.Viewport>
|
|
47
|
-
</ThreadPrimitive.Root>
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
## Getting Started
|
|
51
|
-
|
|
52
|
-
<Steps>
|
|
53
|
-
<Step>
|
|
54
|
-
|
|
55
|
-
### Add the component
|
|
56
|
-
|
|
57
|
-
<InstallCommand shadcn={["thread"]} />
|
|
58
|
-
|
|
59
|
-
This adds a `/components/assistant-ui/thread.tsx` file to your project, which you can adjust as needed.
|
|
60
|
-
|
|
61
|
-
</Step>
|
|
62
|
-
<Step>
|
|
63
|
-
|
|
64
|
-
### Use in your application
|
|
65
|
-
|
|
66
|
-
```tsx title="/app/page.tsx" {1,6}
|
|
67
|
-
import { Thread } from "@/components/assistant-ui/thread";
|
|
68
|
-
|
|
69
|
-
export default function Chat() {
|
|
70
|
-
return (
|
|
71
|
-
<div className="h-full">
|
|
72
|
-
<Thread />
|
|
73
|
-
</div>
|
|
74
|
-
);
|
|
75
|
-
}
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
</Step>
|
|
79
|
-
</Steps>
|
|
80
|
-
|
|
81
|
-
## Examples
|
|
82
|
-
|
|
83
|
-
### Welcome Screen
|
|
84
|
-
|
|
85
|
-
```tsx
|
|
86
|
-
<AuiIf condition={(s) => s.thread.isEmpty}>
|
|
87
|
-
<ThreadWelcome />
|
|
88
|
-
</AuiIf>
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
### Viewport Spacer
|
|
92
|
-
|
|
93
|
-
```tsx
|
|
94
|
-
<AuiIf condition={(s) => !s.thread.isEmpty}>
|
|
95
|
-
<div className="min-h-8 grow" />
|
|
96
|
-
</AuiIf>
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
### Thread with History
|
|
100
|
-
|
|
101
|
-
The thread shows a completed multi-turn conversation. The composer stays below the
|
|
102
|
-
messages, ready for the next input.
|
|
103
|
-
|
|
104
|
-
<ThreadHistorySample />
|
|
105
|
-
|
|
106
|
-
### Conditional Send/Cancel Button
|
|
107
|
-
|
|
108
|
-
```tsx
|
|
109
|
-
<AuiIf condition={(s) => !s.thread.isRunning}>
|
|
110
|
-
<ComposerPrimitive.Send>
|
|
111
|
-
Send
|
|
112
|
-
</ComposerPrimitive.Send>
|
|
113
|
-
</AuiIf>
|
|
114
|
-
|
|
115
|
-
<AuiIf condition={(s) => s.thread.isRunning}>
|
|
116
|
-
<ComposerPrimitive.Cancel>
|
|
117
|
-
Cancel
|
|
118
|
-
</ComposerPrimitive.Cancel>
|
|
119
|
-
</AuiIf>
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
While the last assistant response runs, the composer shows the cancel action, not the send action, and the action bar of the response stays hidden. Click the stop button to cancel the run. The composer then shows the send action again.
|
|
123
|
-
|
|
124
|
-
<ThreadRunningSample />
|
|
125
|
-
|
|
126
|
-
### Suggestions
|
|
127
|
-
|
|
128
|
-
Display suggested prompts using the Suggestions API. See the [Suggestions guide](/docs/guides/suggestions) for detailed configuration.
|
|
129
|
-
|
|
130
|
-
An empty thread centers the welcome screen and shows the configured suggestion chips. When you select a chip, the thread sends its prompt.
|
|
131
|
-
|
|
132
|
-
<PreviewCode
|
|
133
|
-
file="components/pages/docs/samples/thread/welcome-with-suggestions"
|
|
134
|
-
name="ChatWithSuggestions"
|
|
135
|
-
>
|
|
136
|
-
<ThreadWelcomeSuggestionsSample />
|
|
137
|
-
</PreviewCode>
|
|
138
|
-
|
|
139
|
-
```tsx
|
|
140
|
-
import type { ReactNode } from "react";
|
|
141
|
-
import {
|
|
142
|
-
AssistantRuntimeProvider,
|
|
143
|
-
AuiConfig,
|
|
144
|
-
SuggestionPrimitive,
|
|
145
|
-
Suggestions,
|
|
146
|
-
ThreadPrimitive,
|
|
147
|
-
} from "@assistant-ui/react";
|
|
148
|
-
import { useChatRuntime } from "@assistant-ui/ai-sdk";
|
|
149
|
-
|
|
150
|
-
// Configure suggestions in your runtime provider
|
|
151
|
-
const config = AuiConfig({
|
|
152
|
-
suggestions: Suggestions(["What's the weather?", "Tell me a joke"]),
|
|
153
|
-
});
|
|
154
|
-
|
|
155
|
-
const App = ({ children }: { children: ReactNode }) => {
|
|
156
|
-
const runtime = useChatRuntime();
|
|
157
|
-
return (
|
|
158
|
-
<AssistantRuntimeProvider runtime={runtime} config={config}>
|
|
159
|
-
{children}
|
|
160
|
-
</AssistantRuntimeProvider>
|
|
161
|
-
);
|
|
162
|
-
};
|
|
163
|
-
|
|
164
|
-
// Display suggestions in your thread component
|
|
165
|
-
const ThreadSuggestions = () => (
|
|
166
|
-
<ThreadPrimitive.Suggestions>
|
|
167
|
-
{() => <SuggestionItem />}
|
|
168
|
-
</ThreadPrimitive.Suggestions>
|
|
169
|
-
);
|
|
170
|
-
|
|
171
|
-
// Custom suggestion item
|
|
172
|
-
const SuggestionItem = () => (
|
|
173
|
-
<SuggestionPrimitive.Trigger send asChild>
|
|
174
|
-
<button>
|
|
175
|
-
<SuggestionPrimitive.Title />
|
|
176
|
-
</button>
|
|
177
|
-
</SuggestionPrimitive.Trigger>
|
|
178
|
-
);
|
|
179
|
-
```
|
|
180
|
-
|
|
181
|
-
### Branching Response
|
|
182
|
-
|
|
183
|
-
Select the refresh action below the assistant response to make an alternate branch. The built-in branch picker then shows `2 / 2` with arrows that switch between the two branches.
|
|
184
|
-
|
|
185
|
-
<PreviewCode
|
|
186
|
-
file="components/pages/docs/samples/thread/branching-response"
|
|
187
|
-
name="Chat"
|
|
188
|
-
>
|
|
189
|
-
<ThreadBranchSample />
|
|
190
|
-
</PreviewCode>
|
|
191
|
-
|
|
192
|
-
### Message Actions
|
|
193
|
-
|
|
194
|
-
Hover over the first assistant response to show its action bar. When the thread is idle, the last response always shows its actions. The copied `Thread` component sets `hideWhenRunning` and `autohide="not-last"` on `ActionBarPrimitive.Root`. Refer to the [ActionBar primitive](/docs/primitives/action-bar) to change this behavior.
|
|
195
|
-
|
|
196
|
-
<ThreadActionsSample />
|
|
197
|
-
|
|
198
|
-
## Composer Focus
|
|
199
|
-
|
|
200
|
-
Set `autoFocus={false}` to keep the page focus. This setting stops composer focus when the thread mounts, starts a run, changes threads, or scrolls to the bottom. The default value is `true`.
|
|
201
|
-
|
|
202
|
-
## Component Overrides
|
|
203
|
-
|
|
204
|
-
`Thread` accepts an optional `components` prop that swaps parts of the rendering without editing the copied file. All slots are optional; omitted slots keep the built-in rendering.
|
|
205
|
-
|
|
206
|
-
```tsx
|
|
207
|
-
import { Thread, type ThreadComponents } from "@/components/assistant-ui/thread";
|
|
208
|
-
|
|
209
|
-
const THREAD_COMPONENTS: ThreadComponents = {
|
|
210
|
-
ToolFallback: MyToolFallback,
|
|
211
|
-
ToolGroup: MyToolGroup,
|
|
212
|
-
};
|
|
213
|
-
|
|
214
|
-
export default function Chat() {
|
|
215
|
-
return <Thread components={THREAD_COMPONENTS} />;
|
|
216
|
-
}
|
|
217
|
-
```
|
|
218
|
-
|
|
219
|
-
<ParametersTable
|
|
220
|
-
type="ThreadComponents"
|
|
221
|
-
parameters={[
|
|
222
|
-
{
|
|
223
|
-
name: "AssistantMessage",
|
|
224
|
-
type: "ComponentType",
|
|
225
|
-
description: "Replaces the entire assistant message, including the action bar and branch picker.",
|
|
226
|
-
},
|
|
227
|
-
{
|
|
228
|
-
name: "Welcome",
|
|
229
|
-
type: "ComponentType",
|
|
230
|
-
description: "Replaces the welcome screen shown for a new chat.",
|
|
231
|
-
},
|
|
232
|
-
{
|
|
233
|
-
name: "ToolFallback",
|
|
234
|
-
type: "ToolCallMessagePartComponent",
|
|
235
|
-
description: "Renders tool calls that have no tool UI registered by name. Registered tool UIs take precedence over this slot.",
|
|
236
|
-
},
|
|
237
|
-
{
|
|
238
|
-
name: "ToolGroup",
|
|
239
|
-
type: "ComponentType<PropsWithChildren<{ group: ThreadGroupPart }>>",
|
|
240
|
-
description: "Wraps runs of consecutive tool calls. Receives the group part (`indices`, `status`) and the rendered children.",
|
|
241
|
-
},
|
|
242
|
-
{
|
|
243
|
-
name: "ReasoningGroup",
|
|
244
|
-
type: "ComponentType<PropsWithChildren<{ group: ThreadGroupPart }>>",
|
|
245
|
-
description: "Wraps runs of consecutive reasoning parts. Receives the group part and the rendered children.",
|
|
246
|
-
},
|
|
247
|
-
]}
|
|
248
|
-
/>
|
|
249
|
-
|
|
250
|
-
Define the `components` object once at module scope (or memoize it) so message subtrees do not re-render whenever the parent re-renders.
|
|
251
|
-
|
|
252
|
-
For per-tool UI, prefer registering a renderer by tool name over overriding `ToolFallback`: put `render` on the matching toolkit entry (see [Tool UI](/docs/tools/tool-ui)). `data` message parts render through renderers registered with `useAssistantDataUI`; parts without a registered renderer are not displayed.
|
|
253
|
-
|
|
254
|
-
## API Reference
|
|
255
|
-
|
|
256
|
-
The following primitives are used within the Thread component and can be customized in your `/components/assistant-ui/thread.tsx` file.
|
|
257
|
-
|
|
258
|
-
### Root
|
|
259
|
-
|
|
260
|
-
Contains all parts of the thread.
|
|
261
|
-
|
|
262
|
-
<ParametersTable
|
|
263
|
-
type="ThreadPrimitiveRootProps"
|
|
264
|
-
parameters={[
|
|
265
|
-
{
|
|
266
|
-
name: "asChild",
|
|
267
|
-
type: "boolean",
|
|
268
|
-
default: "false",
|
|
269
|
-
description: "Merge props with child element instead of rendering a wrapper div.",
|
|
270
|
-
},
|
|
271
|
-
{
|
|
272
|
-
name: "className",
|
|
273
|
-
type: "string",
|
|
274
|
-
description: "CSS class name.",
|
|
275
|
-
},
|
|
276
|
-
]}
|
|
277
|
-
/>
|
|
278
|
-
|
|
279
|
-
This primitive renders a `<div>` element unless `asChild` is set.
|
|
280
|
-
|
|
281
|
-
### Viewport
|
|
282
|
-
|
|
283
|
-
The scrollable area containing all messages. Automatically scrolls to the bottom as new messages are added.
|
|
284
|
-
|
|
285
|
-
<ParametersTable
|
|
286
|
-
type="ThreadPrimitiveViewportProps"
|
|
287
|
-
parameters={[
|
|
288
|
-
{
|
|
289
|
-
name: "asChild",
|
|
290
|
-
type: "boolean",
|
|
291
|
-
default: "false",
|
|
292
|
-
description: "Merge props with child element instead of rendering a wrapper div.",
|
|
293
|
-
},
|
|
294
|
-
{
|
|
295
|
-
name: "autoScroll",
|
|
296
|
-
type: "boolean",
|
|
297
|
-
default: 'true (false when turnAnchor is "top")',
|
|
298
|
-
description:
|
|
299
|
-
"Whether to automatically scroll to the bottom when new messages are added while the viewport was previously scrolled to the bottom.",
|
|
300
|
-
},
|
|
301
|
-
{
|
|
302
|
-
name: "turnAnchor",
|
|
303
|
-
type: '"top" | "bottom"',
|
|
304
|
-
default: '"bottom"',
|
|
305
|
-
description:
|
|
306
|
-
'Controls scroll anchoring behavior for new messages. "top" anchors new user messages at the top of the viewport.',
|
|
307
|
-
},
|
|
308
|
-
{
|
|
309
|
-
name: "topAnchorMessageClamp",
|
|
310
|
-
type: '{ tallerThan?: string; visibleHeight?: string }',
|
|
311
|
-
default: '{ tallerThan: "10em", visibleHeight: "6em" }',
|
|
312
|
-
description:
|
|
313
|
-
'Clamps tall user messages when turnAnchor is "top". Messages up to `tallerThan` stay fully visible; taller messages show only `visibleHeight` of their bottom edge above the assistant response.',
|
|
314
|
-
children: [
|
|
315
|
-
{
|
|
316
|
-
type: '{ tallerThan?: string; visibleHeight?: string }',
|
|
317
|
-
parameters: [
|
|
318
|
-
{
|
|
319
|
-
name: "tallerThan",
|
|
320
|
-
type: "string",
|
|
321
|
-
default: '"10em"',
|
|
322
|
-
description: "Clamp messages taller than this CSS length.",
|
|
323
|
-
},
|
|
324
|
-
{
|
|
325
|
-
name: "visibleHeight",
|
|
326
|
-
type: "string",
|
|
327
|
-
default: '"6em"',
|
|
328
|
-
description:
|
|
329
|
-
"Visible portion of a clamped message's bottom edge.",
|
|
330
|
-
},
|
|
331
|
-
],
|
|
332
|
-
},
|
|
333
|
-
],
|
|
334
|
-
},
|
|
335
|
-
{
|
|
336
|
-
name: "scrollToBottomOnRunStart",
|
|
337
|
-
type: "boolean",
|
|
338
|
-
default: "true",
|
|
339
|
-
description: "Whether to scroll to bottom when a new run starts.",
|
|
340
|
-
},
|
|
341
|
-
{
|
|
342
|
-
name: "scrollToBottomOnInitialize",
|
|
343
|
-
type: "boolean",
|
|
344
|
-
default: "true",
|
|
345
|
-
description:
|
|
346
|
-
"Whether to scroll to bottom when thread history is first loaded.",
|
|
347
|
-
},
|
|
348
|
-
{
|
|
349
|
-
name: "scrollToBottomOnThreadSwitch",
|
|
350
|
-
type: "boolean",
|
|
351
|
-
default: "true",
|
|
352
|
-
description:
|
|
353
|
-
"Whether to scroll to bottom when switching to a different thread.",
|
|
354
|
-
},
|
|
355
|
-
{
|
|
356
|
-
name: "className",
|
|
357
|
-
type: "string",
|
|
358
|
-
description: "CSS class name.",
|
|
359
|
-
},
|
|
360
|
-
]}
|
|
361
|
-
/>
|
|
362
|
-
|
|
363
|
-
This primitive renders a `<div>` element unless `asChild` is set.
|
|
364
|
-
|
|
365
|
-
### Messages
|
|
366
|
-
|
|
367
|
-
Renders all messages in the thread. This primitive renders a separate component for each message.
|
|
368
|
-
|
|
369
|
-
```tsx
|
|
370
|
-
<ThreadPrimitive.Messages>
|
|
371
|
-
{({ message }) => {
|
|
372
|
-
if (message.role === "user") return <UserMessage />;
|
|
373
|
-
return <AssistantMessage />;
|
|
374
|
-
}}
|
|
375
|
-
</ThreadPrimitive.Messages>
|
|
376
|
-
```
|
|
377
|
-
|
|
378
|
-
<ParametersTable
|
|
379
|
-
type="ThreadPrimitiveMessagesProps"
|
|
380
|
-
parameters={[
|
|
381
|
-
{
|
|
382
|
-
name: "components",
|
|
383
|
-
type: "MessageComponents",
|
|
384
|
-
required: true,
|
|
385
|
-
description: "Components to render for different message types.",
|
|
386
|
-
children: [
|
|
387
|
-
{
|
|
388
|
-
type: "MessageComponents",
|
|
389
|
-
parameters: [
|
|
390
|
-
{
|
|
391
|
-
name: "Message",
|
|
392
|
-
type: "ComponentType",
|
|
393
|
-
description: "Default component for all messages.",
|
|
394
|
-
},
|
|
395
|
-
{
|
|
396
|
-
name: "UserMessage",
|
|
397
|
-
type: "ComponentType",
|
|
398
|
-
description: "Component for user messages.",
|
|
399
|
-
},
|
|
400
|
-
{
|
|
401
|
-
name: "EditComposer",
|
|
402
|
-
type: "ComponentType",
|
|
403
|
-
description:
|
|
404
|
-
"Component for user messages being edited.",
|
|
405
|
-
},
|
|
406
|
-
{
|
|
407
|
-
name: "AssistantMessage",
|
|
408
|
-
type: "ComponentType",
|
|
409
|
-
description: "Component for assistant messages.",
|
|
410
|
-
},
|
|
411
|
-
{
|
|
412
|
-
name: "SystemMessage",
|
|
413
|
-
type: "ComponentType",
|
|
414
|
-
description: "Component for system messages.",
|
|
415
|
-
},
|
|
416
|
-
],
|
|
417
|
-
},
|
|
418
|
-
],
|
|
419
|
-
},
|
|
420
|
-
]}
|
|
421
|
-
/>
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
### MessageByIndex
|
|
425
|
-
|
|
426
|
-
Renders a single message at the specified index.
|
|
427
|
-
|
|
428
|
-
```tsx
|
|
429
|
-
<ThreadPrimitive.MessageByIndex
|
|
430
|
-
index={0}
|
|
431
|
-
components={{
|
|
432
|
-
UserMessage: UserMessage,
|
|
433
|
-
AssistantMessage: AssistantMessage
|
|
434
|
-
}}
|
|
435
|
-
/>
|
|
436
|
-
```
|
|
437
|
-
|
|
438
|
-
<ParametersTable
|
|
439
|
-
type="ThreadPrimitiveMessageByIndexProps"
|
|
440
|
-
parameters={[
|
|
441
|
-
{
|
|
442
|
-
name: "index",
|
|
443
|
-
type: "number",
|
|
444
|
-
required: true,
|
|
445
|
-
description: "The index of the message to render.",
|
|
446
|
-
},
|
|
447
|
-
{
|
|
448
|
-
name: "components",
|
|
449
|
-
type: "MessageComponents",
|
|
450
|
-
description: "Components to render for different message types.",
|
|
451
|
-
},
|
|
452
|
-
]}
|
|
453
|
-
/>
|
|
454
|
-
|
|
455
|
-
### Empty
|
|
456
|
-
|
|
457
|
-
Renders children only when there are no messages in the thread.
|
|
458
|
-
|
|
459
|
-
<ParametersTable
|
|
460
|
-
type="ThreadPrimitiveEmptyProps"
|
|
461
|
-
parameters={[
|
|
462
|
-
{
|
|
463
|
-
name: "children",
|
|
464
|
-
type: "ReactNode",
|
|
465
|
-
description: "Content to display when the thread is empty.",
|
|
466
|
-
},
|
|
467
|
-
]}
|
|
468
|
-
/>
|
|
469
|
-
|
|
470
|
-
### ScrollToBottom
|
|
471
|
-
|
|
472
|
-
A button to scroll the viewport to the bottom. Disabled when the viewport is already at the bottom.
|
|
473
|
-
|
|
474
|
-
<ParametersTable
|
|
475
|
-
type="ThreadPrimitiveScrollToBottomProps"
|
|
476
|
-
parameters={[
|
|
477
|
-
{
|
|
478
|
-
name: "asChild",
|
|
479
|
-
type: "boolean",
|
|
480
|
-
default: "false",
|
|
481
|
-
description: "Merge props with child element instead of rendering a wrapper button.",
|
|
482
|
-
},
|
|
483
|
-
{
|
|
484
|
-
name: "className",
|
|
485
|
-
type: "string",
|
|
486
|
-
description: "CSS class name.",
|
|
487
|
-
},
|
|
488
|
-
]}
|
|
489
|
-
/>
|
|
490
|
-
|
|
491
|
-
This primitive renders a `<button>` element unless `asChild` is set.
|
|
492
|
-
|
|
493
|
-
### Suggestions
|
|
494
|
-
|
|
495
|
-
Renders all configured suggestions. Configure suggestions using the `Suggestions()` API in your runtime provider.
|
|
496
|
-
|
|
497
|
-
```tsx
|
|
498
|
-
<ThreadPrimitive.Suggestions>
|
|
499
|
-
{() => <CustomSuggestionComponent />}
|
|
500
|
-
</ThreadPrimitive.Suggestions>
|
|
501
|
-
```
|
|
502
|
-
|
|
503
|
-
<ParametersTable
|
|
504
|
-
type="ThreadPrimitiveSuggestionsProps"
|
|
505
|
-
parameters={[
|
|
506
|
-
{
|
|
507
|
-
name: "components",
|
|
508
|
-
type: "{ Suggestion: ComponentType }",
|
|
509
|
-
description: "Custom component to render each suggestion.",
|
|
510
|
-
},
|
|
511
|
-
]}
|
|
512
|
-
/>
|
|
513
|
-
|
|
514
|
-
<Callout type="info">
|
|
515
|
-
See the [Suggestions guide](/docs/guides/suggestions) for detailed information on configuring and customizing suggestions.
|
|
516
|
-
</Callout>
|
|
517
|
-
|
|
518
|
-
### AuiIf
|
|
519
|
-
|
|
520
|
-
Conditionally renders children based on assistant state. This is a generic component that can access thread, message, composer, and other state.
|
|
521
|
-
|
|
522
|
-
```tsx
|
|
523
|
-
import { AuiIf } from "@assistant-ui/react";
|
|
524
|
-
|
|
525
|
-
<AuiIf condition={(s) => s.thread.isEmpty}>
|
|
526
|
-
<WelcomeScreen />
|
|
527
|
-
</AuiIf>
|
|
528
|
-
|
|
529
|
-
<AuiIf condition={(s) => s.thread.isRunning}>
|
|
530
|
-
<LoadingIndicator />
|
|
531
|
-
</AuiIf>
|
|
532
|
-
|
|
533
|
-
<AuiIf condition={(s) => s.message.role === "assistant"}>
|
|
534
|
-
<AssistantAvatar />
|
|
535
|
-
</AuiIf>
|
|
536
|
-
```
|
|
537
|
-
|
|
538
|
-
<ParametersTable
|
|
539
|
-
type="AuiIfProps"
|
|
540
|
-
parameters={[
|
|
541
|
-
{
|
|
542
|
-
name: "condition",
|
|
543
|
-
type: "(state: AssistantState) => boolean",
|
|
544
|
-
required: true,
|
|
545
|
-
description: "A function that receives the assistant state and returns whether to render children.",
|
|
546
|
-
},
|
|
547
|
-
]}
|
|
548
|
-
/>
|
|
549
|
-
|
|
550
|
-
<Callout type="info">
|
|
551
|
-
The condition function receives an `AssistantState` object with access to `thread`, `message`, `composer`, `part`, and `attachment` state depending on context.
|
|
552
|
-
</Callout>
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
## Related Components
|
|
556
|
-
|
|
557
|
-
- [ThreadList](/docs/ui/thread-list) - List of threads, with or without sidebar
|
|
558
|
-
- [Quoting guide](/docs/guides/quoting) - Quote selected text from messages
|
|
559
|
-
- [SelectionToolbarPrimitive](/docs/api-reference/primitives/selection-toolbar) - Floating toolbar API reference
|
|
@@ -1,141 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: ToolFallback
|
|
3
|
-
description: Default UI component for tools without dedicated custom renderers.
|
|
4
|
-
platforms: ["react"]
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
import {
|
|
8
|
-
ToolFallbackSample,
|
|
9
|
-
ToolFallbackCompletedSample,
|
|
10
|
-
ToolFallbackCancelledSample,
|
|
11
|
-
ToolFallbackStreamingSample,
|
|
12
|
-
} from "@/components/pages/docs/samples/tool-fallback";
|
|
13
|
-
import { PreviewCode } from "@/components/pages/docs/preview-code.server";
|
|
14
|
-
import { ToolFallbackApprovalSample } from "@/components/pages/docs/samples/tool-fallback/approval";
|
|
15
|
-
import { ToolFallbackErrorSample } from "@/components/pages/docs/samples/tool-fallback/failed-with-error";
|
|
16
|
-
|
|
17
|
-
<ToolFallbackSample />
|
|
18
|
-
|
|
19
|
-
## Getting Started
|
|
20
|
-
|
|
21
|
-
<Steps>
|
|
22
|
-
<Step>
|
|
23
|
-
|
|
24
|
-
### Add `tool-fallback`
|
|
25
|
-
|
|
26
|
-
<InstallCommand shadcn={["tool-fallback"]} />
|
|
27
|
-
|
|
28
|
-
This adds a `/components/assistant-ui/tool-fallback.tsx` file to your project, which you can adjust as needed.
|
|
29
|
-
|
|
30
|
-
</Step>
|
|
31
|
-
<Step>
|
|
32
|
-
|
|
33
|
-
### Use it in your application
|
|
34
|
-
|
|
35
|
-
Pass the `ToolFallback` component to the `MessagePrimitive.Parts` component
|
|
36
|
-
|
|
37
|
-
```tsx title="/components/assistant-ui/thread.tsx" {1,9}
|
|
38
|
-
import { ToolFallback } from "@/components/assistant-ui/tool-fallback";
|
|
39
|
-
|
|
40
|
-
const AssistantMessage = () => {
|
|
41
|
-
return (
|
|
42
|
-
<MessagePrimitive.Root>
|
|
43
|
-
<MessagePrimitive.Parts>
|
|
44
|
-
{({ part }) => {
|
|
45
|
-
if (part.type === "tool-call") return <ToolFallback {...part} />;
|
|
46
|
-
return null;
|
|
47
|
-
}}
|
|
48
|
-
</MessagePrimitive.Parts>
|
|
49
|
-
</MessagePrimitive.Root>
|
|
50
|
-
);
|
|
51
|
-
};
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
</Step>
|
|
55
|
-
</Steps>
|
|
56
|
-
|
|
57
|
-
## Examples
|
|
58
|
-
|
|
59
|
-
### Streaming Demo
|
|
60
|
-
|
|
61
|
-
Interactive demo showing the full tool call lifecycle: running → complete.
|
|
62
|
-
|
|
63
|
-
<ToolFallbackStreamingSample />
|
|
64
|
-
|
|
65
|
-
### Completed With Result
|
|
66
|
-
|
|
67
|
-
Shows the arguments and the structured result for the completed call.
|
|
68
|
-
|
|
69
|
-
<ToolFallbackCompletedSample />
|
|
70
|
-
|
|
71
|
-
### Failed With Error State
|
|
72
|
-
|
|
73
|
-
Shows a service error above its arguments.
|
|
74
|
-
|
|
75
|
-
<ToolFallbackErrorSample />
|
|
76
|
-
|
|
77
|
-
### Cancelled State
|
|
78
|
-
|
|
79
|
-
The "Cancelled tool" label has a line through it. The arguments are muted after you open the call.
|
|
80
|
-
|
|
81
|
-
<ToolFallbackCancelledSample />
|
|
82
|
-
|
|
83
|
-
### Approval State
|
|
84
|
-
|
|
85
|
-
Select Allow or Deny. The `resume` callback records the choice, removes the buttons, and shows the result. The block opens automatically for `requires-action`, so you can select a decision without an extra click. A tool call whose approval gate is decided shows no buttons. Edit your project's copy of `tool-fallback.tsx` to add trust escalation, edit-args, custom labels, or analytics hooks.
|
|
86
|
-
|
|
87
|
-
<PreviewCode
|
|
88
|
-
file="components/pages/docs/samples/tool-fallback/approval"
|
|
89
|
-
name="ToolWithApproval"
|
|
90
|
-
>
|
|
91
|
-
<ToolFallbackApprovalSample />
|
|
92
|
-
</PreviewCode>
|
|
93
|
-
|
|
94
|
-
## Composable API
|
|
95
|
-
|
|
96
|
-
All sub-components are exported for custom layouts:
|
|
97
|
-
|
|
98
|
-
| Component | Description |
|
|
99
|
-
| --------- | ----------- |
|
|
100
|
-
| `ToolFallback.Root` | Collapsible container with scroll lock |
|
|
101
|
-
| `ToolFallback.Trigger` | Header with tool name, status icon, and shimmer |
|
|
102
|
-
| `ToolFallback.Content` | Animated collapsible content wrapper |
|
|
103
|
-
| `ToolFallback.Args` | Displays tool arguments |
|
|
104
|
-
| `ToolFallback.Result` | Displays tool execution result |
|
|
105
|
-
| `ToolFallback.Error` | Displays error or cancellation messages |
|
|
106
|
-
| `ToolFallback.Approval` | Renders Allow / Deny buttons for `requires-action` tools until a decision is recorded; wires `resume` / `addResult` / `respondToApproval` |
|
|
107
|
-
|
|
108
|
-
```tsx
|
|
109
|
-
import {
|
|
110
|
-
ToolFallback,
|
|
111
|
-
ToolFallbackRoot,
|
|
112
|
-
ToolFallbackTrigger,
|
|
113
|
-
ToolFallbackContent,
|
|
114
|
-
ToolFallbackArgs,
|
|
115
|
-
ToolFallbackResult,
|
|
116
|
-
ToolFallbackError,
|
|
117
|
-
ToolFallbackApproval,
|
|
118
|
-
} from "@/components/assistant-ui/tool-fallback";
|
|
119
|
-
|
|
120
|
-
// Compound component syntax
|
|
121
|
-
<ToolFallback.Root>
|
|
122
|
-
<ToolFallback.Trigger toolName="get_weather" status={status} />
|
|
123
|
-
<ToolFallback.Content>
|
|
124
|
-
<ToolFallback.Error status={status} />
|
|
125
|
-
<ToolFallback.Args argsText={argsText} />
|
|
126
|
-
<ToolFallback.Approval
|
|
127
|
-
addResult={addResult}
|
|
128
|
-
resume={resume}
|
|
129
|
-
interrupt={interrupt}
|
|
130
|
-
approval={approval}
|
|
131
|
-
respondToApproval={respondToApproval}
|
|
132
|
-
status={status}
|
|
133
|
-
/>
|
|
134
|
-
<ToolFallback.Result result={result} />
|
|
135
|
-
</ToolFallback.Content>
|
|
136
|
-
</ToolFallback.Root>
|
|
137
|
-
```
|
|
138
|
-
|
|
139
|
-
## Related Components
|
|
140
|
-
|
|
141
|
-
- [ToolGroup](/docs/ui/tool-group) - Group consecutive tool calls together
|