@assistant-ui/mcp-docs-server 0.2.2 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +76 -0
- package/dist/proxy.js.map +1 -0
- package/package.json +9 -13
- package/src/index.ts +3 -115
- package/src/proxy.test.ts +250 -0
- package/src/proxy.ts +111 -0
- package/.docs/organized/code-examples/waterfall.md +0 -807
- package/.docs/organized/code-examples/with-a2a.md +0 -674
- package/.docs/organized/code-examples/with-ag-ui.md +0 -552
- package/.docs/organized/code-examples/with-ai-sdk-v7.md +0 -465
- package/.docs/organized/code-examples/with-artifacts.md +0 -814
- package/.docs/organized/code-examples/with-assistant-transport.md +0 -575
- package/.docs/organized/code-examples/with-browser-extension.md +0 -371
- package/.docs/organized/code-examples/with-chain-of-thought.md +0 -960
- package/.docs/organized/code-examples/with-cloud-standalone.md +0 -681
- package/.docs/organized/code-examples/with-cloud.md +0 -438
- package/.docs/organized/code-examples/with-custom-thread-list.md +0 -568
- package/.docs/organized/code-examples/with-elevenlabs-conversational.md +0 -526
- package/.docs/organized/code-examples/with-elevenlabs-scribe.md +0 -696
- package/.docs/organized/code-examples/with-eve.md +0 -404
- package/.docs/organized/code-examples/with-expo.md +0 -2063
- package/.docs/organized/code-examples/with-external-store.md +0 -420
- package/.docs/organized/code-examples/with-ffmpeg.md +0 -828
- package/.docs/organized/code-examples/with-generative-ui.md +0 -1812
- package/.docs/organized/code-examples/with-google-adk.md +0 -367
- package/.docs/organized/code-examples/with-heat-graph.md +0 -304
- package/.docs/organized/code-examples/with-image-generation.md +0 -462
- package/.docs/organized/code-examples/with-interactables.md +0 -732
- package/.docs/organized/code-examples/with-langchain.md +0 -445
- package/.docs/organized/code-examples/with-langgraph.md +0 -854
- package/.docs/organized/code-examples/with-livekit.md +0 -642
- package/.docs/organized/code-examples/with-mcp.md +0 -780
- 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 -449
- package/.docs/organized/code-examples/with-pi.md +0 -2083
- package/.docs/organized/code-examples/with-react-hook-form.md +0 -724
- package/.docs/organized/code-examples/with-react-ink-web.md +0 -690
- package/.docs/organized/code-examples/with-react-ink.md +0 -472
- package/.docs/organized/code-examples/with-react-router.md +0 -935
- package/.docs/organized/code-examples/with-resumable-stream.md +0 -667
- 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 -811
- package/.docs/organized/code-examples/with-tap-runtime.md +0 -812
- package/.docs/organized/code-examples/with-virtualized-thread.md +0 -680
- package/.docs/organized/code-examples/with-vue.md +0 -408
- package/.docs/raw/docs/(docs)/architecture.mdx +0 -146
- package/.docs/raw/docs/(docs)/base-ui.mdx +0 -39
- package/.docs/raw/docs/(docs)/cli.mdx +0 -542
- package/.docs/raw/docs/(docs)/devtools.mdx +0 -79
- package/.docs/raw/docs/(docs)/index.mdx +0 -21
- package/.docs/raw/docs/(docs)/installation.mdx +0 -483
- package/.docs/raw/docs/(docs)/llm.mdx +0 -211
- package/.docs/raw/docs/(docs)/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 -20
- 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 -52
- 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/cloud-ai-sdk.mdx +0 -24
- package/.docs/raw/docs/(reference)/api-reference/integrations/eve.mdx +0 -97
- package/.docs/raw/docs/(reference)/api-reference/integrations/index.mdx +0 -28
- package/.docs/raw/docs/(reference)/api-reference/integrations/react-ai-sdk.mdx +0 -200
- 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 -619
- 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 -149
- 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 -602
- 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 -400
- 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 -209
- 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 -236
- 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/overview.mdx +0 -282
- 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 -839
- 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 -255
- 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 -716
- 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 -346
- 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 -1008
- package/.docs/raw/docs/tools/user-managed-mcp.mdx +0 -428
- package/.docs/raw/docs/ui/accordion.mdx +0 -266
- 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 -259
- package/.docs/raw/docs/ui/badge.mdx +0 -150
- package/.docs/raw/docs/ui/composer-trigger-popover.mdx +0 -212
- package/.docs/raw/docs/ui/context-display.mdx +0 -148
- package/.docs/raw/docs/ui/diff-viewer.mdx +0 -280
- package/.docs/raw/docs/ui/directive-text.mdx +0 -114
- package/.docs/raw/docs/ui/dot-matrix.mdx +0 -133
- 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 -64
- 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/number-roll.mdx +0 -154
- 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 -186
- package/.docs/raw/docs/ui/scrollbar.mdx +0 -77
- package/.docs/raw/docs/ui/select.mdx +0 -254
- package/.docs/raw/docs/ui/sources.mdx +0 -177
- package/.docs/raw/docs/ui/streamdown.mdx +0 -392
- package/.docs/raw/docs/ui/syntax-highlighting.mdx +0 -205
- package/.docs/raw/docs/ui/tabs.mdx +0 -271
- package/.docs/raw/docs/ui/thread-list.mdx +0 -372
- package/.docs/raw/docs/ui/thread.mdx +0 -512
- package/.docs/raw/docs/ui/tool-fallback.mdx +0 -127
- 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 -67
- 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 -144
- 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 -81
- 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 -262
- 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 -105
- 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 -60
|
@@ -1,211 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Quote
|
|
3
|
-
description: Let users select and quote text from messages with a floating toolbar, composer preview, and inline quote display.
|
|
4
|
-
platforms: ["react"]
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
import { QuoteSample } from "@/components/docs/samples/quote";
|
|
8
|
-
|
|
9
|
-
<QuoteSample />
|
|
10
|
-
|
|
11
|
-
## Getting Started
|
|
12
|
-
|
|
13
|
-
<Steps>
|
|
14
|
-
<Step>
|
|
15
|
-
|
|
16
|
-
### Add `quote`
|
|
17
|
-
|
|
18
|
-
<InstallCommand shadcn={["quote"]} />
|
|
19
|
-
|
|
20
|
-
This adds a `/components/assistant-ui/quote.tsx` file with three components: `QuoteBlock`, `SelectionToolbar`, and `ComposerQuotePreview`.
|
|
21
|
-
|
|
22
|
-
</Step>
|
|
23
|
-
<Step>
|
|
24
|
-
|
|
25
|
-
### Display Quotes in User Messages
|
|
26
|
-
|
|
27
|
-
Add `MessagePrimitive.Quote` above `MessagePrimitive.Parts` in your user message:
|
|
28
|
-
|
|
29
|
-
```tsx title="components/assistant-ui/thread.tsx" {1,8-10}
|
|
30
|
-
import { QuoteBlock } from "@/components/assistant-ui/quote";
|
|
31
|
-
|
|
32
|
-
const UserMessage = () => {
|
|
33
|
-
return (
|
|
34
|
-
<MessagePrimitive.Root>
|
|
35
|
-
<MessagePrimitive.Quote>
|
|
36
|
-
{(quote) => <QuoteBlock {...quote} />}
|
|
37
|
-
</MessagePrimitive.Quote>
|
|
38
|
-
<MessagePrimitive.Parts />
|
|
39
|
-
</MessagePrimitive.Root>
|
|
40
|
-
);
|
|
41
|
-
};
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
</Step>
|
|
45
|
-
<Step>
|
|
46
|
-
|
|
47
|
-
### Add the Floating Selection Toolbar
|
|
48
|
-
|
|
49
|
-
Render `SelectionToolbar` inside `ThreadPrimitive.Root`. It portals to the document body and appears near the user's text selection.
|
|
50
|
-
|
|
51
|
-
```tsx title="components/assistant-ui/thread.tsx" {1,11}
|
|
52
|
-
import { SelectionToolbar } from "@/components/assistant-ui/quote";
|
|
53
|
-
|
|
54
|
-
const Thread = () => {
|
|
55
|
-
return (
|
|
56
|
-
<ThreadPrimitive.Root>
|
|
57
|
-
<ThreadPrimitive.Viewport>
|
|
58
|
-
<ThreadPrimitive.Messages>
|
|
59
|
-
{({ message }) => { ... }}
|
|
60
|
-
</ThreadPrimitive.Messages>
|
|
61
|
-
...
|
|
62
|
-
</ThreadPrimitive.Viewport>
|
|
63
|
-
|
|
64
|
-
<SelectionToolbar />
|
|
65
|
-
</ThreadPrimitive.Root>
|
|
66
|
-
);
|
|
67
|
-
};
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
</Step>
|
|
71
|
-
<Step>
|
|
72
|
-
|
|
73
|
-
### Show Quote Preview in Composer
|
|
74
|
-
|
|
75
|
-
Add `ComposerQuotePreview` inside your composer. It only renders when a quote is set.
|
|
76
|
-
|
|
77
|
-
```tsx title="components/assistant-ui/thread.tsx" {1,6}
|
|
78
|
-
import { ComposerQuotePreview } from "@/components/assistant-ui/quote";
|
|
79
|
-
|
|
80
|
-
const Composer = () => {
|
|
81
|
-
return (
|
|
82
|
-
<ComposerPrimitive.Root>
|
|
83
|
-
<ComposerQuotePreview />
|
|
84
|
-
<ComposerPrimitive.Input placeholder="Send a message..." />
|
|
85
|
-
<ComposerPrimitive.Send />
|
|
86
|
-
</ComposerPrimitive.Root>
|
|
87
|
-
);
|
|
88
|
-
};
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
</Step>
|
|
92
|
-
<Step>
|
|
93
|
-
|
|
94
|
-
### Forward Quote Context to the LLM
|
|
95
|
-
|
|
96
|
-
Quote data is stored in message metadata, **not** in message content. Use `injectQuoteContext` in your route handler so the LLM sees the quoted text:
|
|
97
|
-
|
|
98
|
-
```typescript title="app/api/chat/route.ts" {2,9}
|
|
99
|
-
import { convertToModelMessages, streamText } from "ai";
|
|
100
|
-
import { injectQuoteContext } from "@assistant-ui/react-ai-sdk";
|
|
101
|
-
|
|
102
|
-
export async function POST(req: Request) {
|
|
103
|
-
const { messages } = await req.json();
|
|
104
|
-
|
|
105
|
-
const result = streamText({
|
|
106
|
-
model: myModel,
|
|
107
|
-
messages: await convertToModelMessages(injectQuoteContext(messages)),
|
|
108
|
-
});
|
|
109
|
-
|
|
110
|
-
return result.toUIMessageStreamResponse();
|
|
111
|
-
}
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
`injectQuoteContext` prepends the quoted text as a markdown `>` blockquote to the message parts so the LLM receives the context the user is referring to.
|
|
115
|
-
|
|
116
|
-
<Callout>
|
|
117
|
-
For alternative backend approaches (Claude SDK citation source, OpenAI message context), see the [Quoting guide](/docs/guides/quoting#backend-handling).
|
|
118
|
-
</Callout>
|
|
119
|
-
|
|
120
|
-
</Step>
|
|
121
|
-
</Steps>
|
|
122
|
-
|
|
123
|
-
## Customization
|
|
124
|
-
|
|
125
|
-
All three components expose sub-components for full control over styling:
|
|
126
|
-
|
|
127
|
-
```tsx
|
|
128
|
-
// Custom QuoteBlock
|
|
129
|
-
<QuoteBlock.Root className="my-custom-class">
|
|
130
|
-
<QuoteBlock.Icon />
|
|
131
|
-
<QuoteBlock.Text>{text}</QuoteBlock.Text>
|
|
132
|
-
</QuoteBlock.Root>
|
|
133
|
-
|
|
134
|
-
// Custom SelectionToolbar
|
|
135
|
-
<SelectionToolbar.Root>
|
|
136
|
-
<SelectionToolbar.Quote>Reply with quote</SelectionToolbar.Quote>
|
|
137
|
-
</SelectionToolbar.Root>
|
|
138
|
-
|
|
139
|
-
// Custom ComposerQuotePreview
|
|
140
|
-
<ComposerQuotePreview.Root>
|
|
141
|
-
<ComposerQuotePreview.Icon />
|
|
142
|
-
<ComposerQuotePreview.Text />
|
|
143
|
-
<ComposerQuotePreview.Dismiss />
|
|
144
|
-
</ComposerQuotePreview.Root>
|
|
145
|
-
```
|
|
146
|
-
|
|
147
|
-
## API Reference
|
|
148
|
-
|
|
149
|
-
### `QuoteBlock`
|
|
150
|
-
|
|
151
|
-
Renders quoted text in user messages. Pass to `MessagePrimitive.Parts` as `components.Quote`.
|
|
152
|
-
|
|
153
|
-
| Prop | Type | Description |
|
|
154
|
-
|------|------|-------------|
|
|
155
|
-
| `text` | `string` | The quoted text |
|
|
156
|
-
| `messageId` | `string` | ID of the source message |
|
|
157
|
-
|
|
158
|
-
**Sub-components:** `QuoteBlock.Root`, `QuoteBlock.Icon`, `QuoteBlock.Text`
|
|
159
|
-
|
|
160
|
-
### `SelectionToolbar`
|
|
161
|
-
|
|
162
|
-
Floating toolbar that appears when text is selected within a message. Renders as a portal positioned above the selection.
|
|
163
|
-
|
|
164
|
-
| Prop | Type | Description |
|
|
165
|
-
|------|------|-------------|
|
|
166
|
-
| `className` | `string` | Additional class names |
|
|
167
|
-
|
|
168
|
-
**Sub-components:** `SelectionToolbar.Root`, `SelectionToolbar.Quote`
|
|
169
|
-
|
|
170
|
-
### `ComposerQuotePreview`
|
|
171
|
-
|
|
172
|
-
Quote preview inside the composer. Only renders when a quote is set.
|
|
173
|
-
|
|
174
|
-
| Prop | Type | Description |
|
|
175
|
-
|------|------|-------------|
|
|
176
|
-
| `className` | `string` | Additional class names |
|
|
177
|
-
|
|
178
|
-
**Sub-components:** `ComposerQuotePreview.Root`, `ComposerQuotePreview.Icon`, `ComposerQuotePreview.Text`, `ComposerQuotePreview.Dismiss`
|
|
179
|
-
|
|
180
|
-
### `injectQuoteContext`
|
|
181
|
-
|
|
182
|
-
```typescript
|
|
183
|
-
import { injectQuoteContext } from "@assistant-ui/react-ai-sdk";
|
|
184
|
-
|
|
185
|
-
injectQuoteContext(messages: UIMessage[]): UIMessage[]
|
|
186
|
-
```
|
|
187
|
-
|
|
188
|
-
Extracts `metadata.custom.quote` from each message and prepends the quoted text as a `> blockquote` text part. Use before `convertToModelMessages` in your route handler. For alternative backend approaches, see the [Quoting guide](/docs/guides/quoting#backend-handling).
|
|
189
|
-
|
|
190
|
-
### `useMessageQuote`
|
|
191
|
-
|
|
192
|
-
```tsx
|
|
193
|
-
import { useMessageQuote } from "@assistant-ui/react";
|
|
194
|
-
|
|
195
|
-
const quote: QuoteInfo | undefined = useMessageQuote();
|
|
196
|
-
```
|
|
197
|
-
|
|
198
|
-
Returns the quote attached to the current message, or `undefined`. Useful for building custom quote displays without `QuoteBlock`. For a usage example, see the [Quoting guide](/docs/guides/quoting#reading-quote-data).
|
|
199
|
-
|
|
200
|
-
### `ComposerRuntime.setQuote`
|
|
201
|
-
|
|
202
|
-
```tsx
|
|
203
|
-
setQuote(quote: QuoteInfo | undefined): void
|
|
204
|
-
```
|
|
205
|
-
|
|
206
|
-
Set or clear the quote on the composer programmatically. The quote is automatically cleared when the message is sent. For a usage example, see the [Quoting guide](/docs/guides/quoting#programmatic-api).
|
|
207
|
-
|
|
208
|
-
## Related
|
|
209
|
-
|
|
210
|
-
- [Quoting guide](/docs/guides/quoting): Backend handling, programmatic API, data shape, and design notes
|
|
211
|
-
- [Thread](/docs/ui/thread): Main chat container
|
|
@@ -1,186 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Reasoning
|
|
3
|
-
description: Collapsible UI for displaying AI reasoning and thinking messages.
|
|
4
|
-
platforms: ["react"]
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
import { ReasoningSample, ReasoningGroupSample } from "@/components/docs/samples/reasoning";
|
|
8
|
-
|
|
9
|
-
<ReasoningSample />
|
|
10
|
-
|
|
11
|
-
## Getting Started
|
|
12
|
-
|
|
13
|
-
<Steps>
|
|
14
|
-
<Step>
|
|
15
|
-
|
|
16
|
-
### Add `reasoning`
|
|
17
|
-
|
|
18
|
-
<InstallCommand shadcn={["reasoning"]} />
|
|
19
|
-
|
|
20
|
-
This adds a `/components/assistant-ui/reasoning.tsx` file to your project.
|
|
21
|
-
|
|
22
|
-
</Step>
|
|
23
|
-
<Step>
|
|
24
|
-
|
|
25
|
-
### Use in your application
|
|
26
|
-
|
|
27
|
-
Previously, reasoning parts were rendered via `components.Reasoning` and grouped via `components.ReasoningGroup` on `MessagePrimitive.Parts`. Both are deprecated; `MessagePrimitive.GroupedParts` is the supported replacement, and the highlighted lines below show the new pieces.
|
|
28
|
-
|
|
29
|
-
Render reasoning parts through `MessagePrimitive.GroupedParts`. Group consecutive reasoning parts with `"group-reasoning"`, then compose `ReasoningRoot`, `ReasoningTrigger`, `ReasoningContent`, and `ReasoningText` around the grouped children.
|
|
30
|
-
|
|
31
|
-
While reasoning is streaming, `part.status.type === "running"`. Pass that to `streaming` so the accordion auto-opens during streaming with a bottom-pinned live preview of the newest tokens, and permanently defers to the first manual toggle. `streaming` only holds the disclosure open; when it ends the accordion returns to `defaultOpen`, which is `false` by default and therefore collapses. Pass `defaultOpen` to keep reasoning expanded once the run finishes.
|
|
32
|
-
|
|
33
|
-
```tsx title="/app/components/assistant-ui/thread.tsx"
|
|
34
|
-
import { MessagePrimitive, groupPartByType } from "@assistant-ui/react";
|
|
35
|
-
import { MarkdownText } from "@/components/assistant-ui/markdown-text";
|
|
36
|
-
import { ToolFallback } from "@/components/assistant-ui/tool-fallback";
|
|
37
|
-
import {
|
|
38
|
-
Reasoning,
|
|
39
|
-
ReasoningContent,
|
|
40
|
-
ReasoningRoot,
|
|
41
|
-
ReasoningText,
|
|
42
|
-
ReasoningTrigger,
|
|
43
|
-
} from "@/components/assistant-ui/reasoning"; // [!code ++]
|
|
44
|
-
|
|
45
|
-
const AssistantMessage: FC = () => {
|
|
46
|
-
return (
|
|
47
|
-
<MessagePrimitive.Root className="...">
|
|
48
|
-
<div className="...">
|
|
49
|
-
<MessagePrimitive.GroupedParts // [!code ++]
|
|
50
|
-
groupBy={groupPartByType({ // [!code ++]
|
|
51
|
-
reasoning: ["group-reasoning"], // [!code ++]
|
|
52
|
-
})} // [!code ++]
|
|
53
|
-
> // [!code ++]
|
|
54
|
-
{({ part, children }) => { // [!code ++]
|
|
55
|
-
switch (part.type) { // [!code ++]
|
|
56
|
-
case "group-reasoning": { // [!code ++]
|
|
57
|
-
const running = part.status.type === "running"; // [!code ++]
|
|
58
|
-
return ( // [!code ++]
|
|
59
|
-
<ReasoningRoot streaming={running}> // [!code ++]
|
|
60
|
-
<ReasoningTrigger active={running} /> // [!code ++]
|
|
61
|
-
<ReasoningContent aria-busy={running}> // [!code ++]
|
|
62
|
-
<ReasoningText>{children}</ReasoningText> // [!code ++]
|
|
63
|
-
</ReasoningContent> // [!code ++]
|
|
64
|
-
</ReasoningRoot> // [!code ++]
|
|
65
|
-
); // [!code ++]
|
|
66
|
-
} // [!code ++]
|
|
67
|
-
case "text": // [!code ++]
|
|
68
|
-
return <MarkdownText />; // [!code ++]
|
|
69
|
-
case "reasoning": // [!code ++]
|
|
70
|
-
return <Reasoning {...part} />; // [!code ++]
|
|
71
|
-
case "tool-call": // [!code ++]
|
|
72
|
-
return part.toolUI ?? <ToolFallback {...part} />; // [!code ++]
|
|
73
|
-
default: // [!code ++]
|
|
74
|
-
return null; // [!code ++]
|
|
75
|
-
} // [!code ++]
|
|
76
|
-
}} // [!code ++]
|
|
77
|
-
</MessagePrimitive.GroupedParts> // [!code ++]
|
|
78
|
-
</div>
|
|
79
|
-
<AssistantActionBar />
|
|
80
|
-
<BranchPicker className="..." />
|
|
81
|
-
</MessagePrimitive.Root>
|
|
82
|
-
);
|
|
83
|
-
};
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
`GroupedParts` calls your render function for both group nodes and leaf parts. The `case "group-reasoning"` branch renders the collapsible shell and must render `{children}`; that is where the individual reasoning parts get placed. The `case "reasoning"` branch renders each individual reasoning part inside that shell and must not render `children`. Removing either case breaks rendering.
|
|
87
|
-
|
|
88
|
-
</Step>
|
|
89
|
-
</Steps>
|
|
90
|
-
|
|
91
|
-
## How It Works
|
|
92
|
-
|
|
93
|
-
The component consists of two parts:
|
|
94
|
-
|
|
95
|
-
1. `Reasoning`: Renders individual reasoning message part content (with markdown support)
|
|
96
|
-
2. Composable group pieces (`ReasoningRoot`, `ReasoningTrigger`, `ReasoningContent`, `ReasoningText`): Wrap grouped reasoning children in a collapsible container
|
|
97
|
-
|
|
98
|
-
Consecutive reasoning parts are grouped by `MessagePrimitive.GroupedParts`. Use the composable API below to control the grouped layout.
|
|
99
|
-
|
|
100
|
-
> When using the composable API, `ReasoningText` is a plain container. Add `<MarkdownText />` for markdown rendering.
|
|
101
|
-
|
|
102
|
-
## Variants
|
|
103
|
-
|
|
104
|
-
Use the `variant` prop on `ReasoningRoot` to change the visual style:
|
|
105
|
-
|
|
106
|
-
```tsx
|
|
107
|
-
<ReasoningRoot variant="outline">...</ReasoningRoot>
|
|
108
|
-
<ReasoningRoot variant="ghost">...</ReasoningRoot>
|
|
109
|
-
<ReasoningRoot variant="muted">...</ReasoningRoot>
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
| Variant | Description |
|
|
113
|
-
| --------- | -------------------------------------------- |
|
|
114
|
-
| `outline` | Rounded border (default) |
|
|
115
|
-
| `ghost` | No additional styling |
|
|
116
|
-
| `muted` | Muted background |
|
|
117
|
-
|
|
118
|
-
## Legacy ReasoningGroup
|
|
119
|
-
|
|
120
|
-
`ReasoningGroup` is kept for existing code that still uses the deprecated `components.ReasoningGroup` prop on `MessagePrimitive.Parts`. New code should use `MessagePrimitive.GroupedParts` and compose the root/trigger/content pieces directly.
|
|
121
|
-
|
|
122
|
-
<ReasoningGroupSample />
|
|
123
|
-
|
|
124
|
-
```tsx
|
|
125
|
-
import { ReasoningGroup } from "@/components/assistant-ui/reasoning";
|
|
126
|
-
|
|
127
|
-
const ReasoningGroupImpl: ReasoningGroupComponent = ({
|
|
128
|
-
children,
|
|
129
|
-
startIndex,
|
|
130
|
-
endIndex,
|
|
131
|
-
}) => {
|
|
132
|
-
const isReasoningStreaming = useAuiState((s) => {
|
|
133
|
-
if (s.message.status?.type !== "running") return false;
|
|
134
|
-
const lastIndex = s.message.parts.length - 1;
|
|
135
|
-
if (lastIndex < 0) return false;
|
|
136
|
-
const lastType = s.message.parts[lastIndex]?.type;
|
|
137
|
-
if (lastType !== "reasoning") return false;
|
|
138
|
-
return lastIndex >= startIndex && lastIndex <= endIndex;
|
|
139
|
-
});
|
|
140
|
-
|
|
141
|
-
return (
|
|
142
|
-
<ReasoningRoot streaming={isReasoningStreaming}>
|
|
143
|
-
<ReasoningTrigger active={isReasoningStreaming} />
|
|
144
|
-
<ReasoningContent aria-busy={isReasoningStreaming}>
|
|
145
|
-
<ReasoningText>{children}</ReasoningText>
|
|
146
|
-
</ReasoningContent>
|
|
147
|
-
</ReasoningRoot>
|
|
148
|
-
);
|
|
149
|
-
};
|
|
150
|
-
```
|
|
151
|
-
|
|
152
|
-
## API Reference
|
|
153
|
-
|
|
154
|
-
### Composable API
|
|
155
|
-
|
|
156
|
-
All sub-components are exported for custom layouts:
|
|
157
|
-
|
|
158
|
-
| Component | Description |
|
|
159
|
-
| --------------------- | ------------------------------------------ |
|
|
160
|
-
| `ReasoningRoot` | Collapsible container with scroll lock |
|
|
161
|
-
| `ReasoningTrigger` | Button with icon, label, and shimmer |
|
|
162
|
-
| `ReasoningContent` | Animated collapsible content wrapper |
|
|
163
|
-
| `ReasoningText` | Text wrapper with slide/fade animation |
|
|
164
|
-
| `ReasoningFade` | Gradient fade overlay at bottom |
|
|
165
|
-
|
|
166
|
-
```tsx
|
|
167
|
-
import {
|
|
168
|
-
ReasoningRoot,
|
|
169
|
-
ReasoningTrigger,
|
|
170
|
-
ReasoningContent,
|
|
171
|
-
ReasoningText,
|
|
172
|
-
ReasoningFade,
|
|
173
|
-
} from "@/components/assistant-ui/reasoning";
|
|
174
|
-
|
|
175
|
-
<ReasoningRoot variant="muted">
|
|
176
|
-
<ReasoningTrigger active={isStreaming} />
|
|
177
|
-
<ReasoningContent>
|
|
178
|
-
<ReasoningText>{children}</ReasoningText>
|
|
179
|
-
</ReasoningContent>
|
|
180
|
-
</ReasoningRoot>
|
|
181
|
-
```
|
|
182
|
-
|
|
183
|
-
## Related Components
|
|
184
|
-
|
|
185
|
-
- [ToolGroup](/docs/ui/tool-group) - Similar grouping pattern for tool calls
|
|
186
|
-
- [PartGrouping](/docs/ui/part-grouping) - Advanced grouping options for message parts
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Custom Scrollbar
|
|
3
|
-
description: Replace the default scrollbar with a custom Radix UI scroll area.
|
|
4
|
-
platforms: ["react"]
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
import { ScrollbarSample } from "@/components/docs/samples/scrollbar";
|
|
8
|
-
|
|
9
|
-
<ScrollbarSample />
|
|
10
|
-
|
|
11
|
-
If you want to show a custom scrollbar UI of the `ThreadPrimitive.Viewport` in place of the system default, you can integrate `radix-ui`'s Scroll Area.
|
|
12
|
-
An example implementation of this is [shadcn/ui's Scroll Area](https://ui.shadcn.com/docs/components/scroll-area).
|
|
13
|
-
|
|
14
|
-
<Steps>
|
|
15
|
-
|
|
16
|
-
<Step>
|
|
17
|
-
|
|
18
|
-
### Add shadcn Scroll Area
|
|
19
|
-
|
|
20
|
-
```bash
|
|
21
|
-
npx shadcn@latest add scroll-area
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
</Step>
|
|
25
|
-
|
|
26
|
-
<Step>
|
|
27
|
-
|
|
28
|
-
### Add Additional Styles
|
|
29
|
-
|
|
30
|
-
The Radix UI Viewport component adds an intermediate `<div data-radix-scroll-area-content>` element.
|
|
31
|
-
Add the following CSS to your `globals.css`:
|
|
32
|
-
|
|
33
|
-
```css title="@/app/globals.css"
|
|
34
|
-
.thread-viewport > [data-radix-scroll-area-content] {
|
|
35
|
-
@apply flex flex-col items-center self-stretch bg-inherit;
|
|
36
|
-
}
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
</Step>
|
|
40
|
-
|
|
41
|
-
<Step>
|
|
42
|
-
|
|
43
|
-
### Integrate with Thread
|
|
44
|
-
|
|
45
|
-
- Wrap `ThreadPrimitive.Root` with `<ScrollAreaPrimitive.Root asChild>`
|
|
46
|
-
- Wrap `ThreadPrimitive.Viewport` with `<ScrollAreaPrimitive.Viewport className="thread-viewport" asChild>`
|
|
47
|
-
- Add shadcn's `<ScrollBar />` to `ThreadPrimitive.Root`
|
|
48
|
-
|
|
49
|
-
The resulting MyThread component should look like this:
|
|
50
|
-
|
|
51
|
-
```tsx {1-2,6,8,12-13,15}
|
|
52
|
-
import { ScrollArea as ScrollAreaPrimitive } from "radix-ui";
|
|
53
|
-
import { ScrollBar } from "@/components/ui/scroll-area";
|
|
54
|
-
|
|
55
|
-
const MyThread: FC = () => {
|
|
56
|
-
return (
|
|
57
|
-
<ScrollAreaPrimitive.Root asChild>
|
|
58
|
-
<ThreadPrimitive.Root className="...">
|
|
59
|
-
<ScrollAreaPrimitive.Viewport className="thread-viewport" asChild>
|
|
60
|
-
<ThreadPrimitive.Viewport className="...">
|
|
61
|
-
...
|
|
62
|
-
</ThreadPrimitive.Viewport>
|
|
63
|
-
</ScrollAreaPrimitive.Viewport>
|
|
64
|
-
<ScrollBar />
|
|
65
|
-
</ThreadPrimitive.Root>
|
|
66
|
-
</ScrollAreaPrimitive.Root>
|
|
67
|
-
);
|
|
68
|
-
};
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
</Step>
|
|
72
|
-
|
|
73
|
-
</Steps>
|
|
74
|
-
|
|
75
|
-
## Related Components
|
|
76
|
-
|
|
77
|
-
- [Thread](/docs/ui/thread) - The main chat interface where the scrollbar is used
|