@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,114 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Directive Text
|
|
3
|
-
description: Render mention directives as inline chips in user messages.
|
|
4
|
-
platforms: ["react"]
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
import { DirectiveTextSample } from "@/components/docs/samples/directive-text";
|
|
8
|
-
|
|
9
|
-
<DirectiveTextSample />
|
|
10
|
-
|
|
11
|
-
`DirectiveText` parses the directive syntax written by [`ComposerTriggerPopover`](/docs/ui/composer-trigger-popover) (default: `:type[label]{name=id}`) and renders each segment as an inline chip. Use it as the `Text` component in user messages so the raw directive syntax never shows up.
|
|
12
|
-
|
|
13
|
-
## Getting Started
|
|
14
|
-
|
|
15
|
-
<Steps>
|
|
16
|
-
<Step>
|
|
17
|
-
|
|
18
|
-
### Add `directive-text`
|
|
19
|
-
|
|
20
|
-
<InstallCommand shadcn={["directive-text"]} />
|
|
21
|
-
|
|
22
|
-
This adds `/components/assistant-ui/directive-text.tsx` with `DirectiveText` and the `createDirectiveText(formatter, options?)` factory.
|
|
23
|
-
|
|
24
|
-
</Step>
|
|
25
|
-
<Step>
|
|
26
|
-
|
|
27
|
-
### Use in user messages
|
|
28
|
-
|
|
29
|
-
Pass `DirectiveText` as the `Text` component in `MessagePrimitive.Parts`:
|
|
30
|
-
|
|
31
|
-
```tsx title="components/assistant-ui/thread.tsx"
|
|
32
|
-
import { DirectiveText } from "@/components/assistant-ui/directive-text";
|
|
33
|
-
|
|
34
|
-
const UserMessage = () => (
|
|
35
|
-
<MessagePrimitive.Root>
|
|
36
|
-
<MessagePrimitive.Parts components={{ Text: DirectiveText }} />
|
|
37
|
-
</MessagePrimitive.Root>
|
|
38
|
-
);
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
Keep your markdown renderer (e.g. `MarkdownText`) for assistant messages — assistants rarely emit directive syntax.
|
|
42
|
-
|
|
43
|
-
</Step>
|
|
44
|
-
</Steps>
|
|
45
|
-
|
|
46
|
-
## Icons per Directive Type
|
|
47
|
-
|
|
48
|
-
`DirectiveText` ships icon-free by default — every parsed segment renders as a plain label chip regardless of its `type`. To add icons, use the `createDirectiveText` factory and pass an `iconMap` that routes each `type` string to an icon component, plus an optional `fallbackIcon` for unmapped types:
|
|
49
|
-
|
|
50
|
-
```tsx
|
|
51
|
-
import { createDirectiveText } from "@/components/assistant-ui/directive-text";
|
|
52
|
-
import { unstable_defaultDirectiveFormatter } from "@assistant-ui/react";
|
|
53
|
-
import { FileTextIcon, SparklesIcon, UserIcon, WrenchIcon } from "lucide-react";
|
|
54
|
-
|
|
55
|
-
const DirectiveTextWithIcons = createDirectiveText(
|
|
56
|
-
unstable_defaultDirectiveFormatter,
|
|
57
|
-
{
|
|
58
|
-
iconMap: {
|
|
59
|
-
tool: WrenchIcon,
|
|
60
|
-
user: UserIcon,
|
|
61
|
-
file: FileTextIcon,
|
|
62
|
-
},
|
|
63
|
-
fallbackIcon: SparklesIcon,
|
|
64
|
-
},
|
|
65
|
-
);
|
|
66
|
-
|
|
67
|
-
<MessagePrimitive.Parts components={{ Text: DirectiveTextWithIcons }} />;
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
A matching `iconMap` / `fallbackIcon` option is accepted by [`ComposerTriggerPopover`](/docs/ui/composer-trigger-popover), where it routes `item.metadata.icon` strings instead of `type` — keeping icon configuration consistent across the composer and the rendered message.
|
|
71
|
-
|
|
72
|
-
## Custom Formatter
|
|
73
|
-
|
|
74
|
-
The default format is `:type[label]{name=id}`. For a different format, build a custom `Unstable_DirectiveFormatter` and wrap it with `createDirectiveText`:
|
|
75
|
-
|
|
76
|
-
```tsx
|
|
77
|
-
import type { Unstable_DirectiveFormatter } from "@assistant-ui/react";
|
|
78
|
-
import { createDirectiveText } from "@/components/assistant-ui/directive-text";
|
|
79
|
-
|
|
80
|
-
const slashFormatter: Unstable_DirectiveFormatter = {
|
|
81
|
-
serialize: (item) => `/${item.id}`,
|
|
82
|
-
parse: (text) => {
|
|
83
|
-
/* return alternating text / mention segments */
|
|
84
|
-
},
|
|
85
|
-
};
|
|
86
|
-
|
|
87
|
-
const SlashDirectiveText = createDirectiveText(slashFormatter);
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
Pass the **same formatter** to the composer trigger's `directive={{ formatter }}` (or `action={{ formatter }}`) so insertion and rendering stay consistent.
|
|
91
|
-
|
|
92
|
-
## Customizing the Chip
|
|
93
|
-
|
|
94
|
-
Because `directive-text.tsx` is copied into your project, you can also edit it directly — swap the chip styling, read `data-directive-id` to link to a detail page, or replace the chip wrapper entirely.
|
|
95
|
-
|
|
96
|
-
## API Reference
|
|
97
|
-
|
|
98
|
-
### `DirectiveText`
|
|
99
|
-
|
|
100
|
-
A `TextMessagePartComponent` that parses `:type[label]{name=id}` directives and renders them as inline chips. Uses the default formatter from `@assistant-ui/react` and renders chips without icons. For per-type icons, build a component with `createDirectiveText(formatter, { iconMap })`.
|
|
101
|
-
|
|
102
|
-
### `createDirectiveText(formatter, options?)`
|
|
103
|
-
|
|
104
|
-
Factory that returns a `TextMessagePartComponent` bound to a custom `Unstable_DirectiveFormatter`.
|
|
105
|
-
|
|
106
|
-
| Option | Type | Description |
|
|
107
|
-
| --- | --- | --- |
|
|
108
|
-
| `iconMap` | `Record<string, ComponentType<{ className?: string }>>` | Maps a directive segment's `type` to an icon rendered inside the chip |
|
|
109
|
-
| `fallbackIcon` | `ComponentType<{ className?: string }>` | Icon used when no `iconMap` entry matches. When neither option resolves, the chip renders without an icon. |
|
|
110
|
-
|
|
111
|
-
## Related
|
|
112
|
-
|
|
113
|
-
- [Composer Trigger Popover](/docs/ui/composer-trigger-popover) — the picker that inserts directives
|
|
114
|
-
- [Mentions guide](/docs/guides/mentions) — directive format, backend parsing
|
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Dot Matrix
|
|
3
|
-
description: Tiny 5x5 dot-matrix indicator with 20 state-specific blink patterns.
|
|
4
|
-
platforms: ["react"]
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
import { PreviewCode } from "@/components/docs/preview-code.server";
|
|
8
|
-
import {
|
|
9
|
-
DotMatrixSample,
|
|
10
|
-
DotMatrixLifecycleSample,
|
|
11
|
-
DotMatrixInlineSample,
|
|
12
|
-
DotMatrixSizesSample,
|
|
13
|
-
} from "@/components/docs/samples/dot-matrix";
|
|
14
|
-
|
|
15
|
-
<Callout>
|
|
16
|
-
This is a **standalone component** that does not depend on the assistant-ui runtime. Use it anywhere in your application.
|
|
17
|
-
</Callout>
|
|
18
|
-
|
|
19
|
-
<DotMatrixSample />
|
|
20
|
-
|
|
21
|
-
## Installation
|
|
22
|
-
|
|
23
|
-
<InstallCommand shadcn={["dot-matrix"]} />
|
|
24
|
-
|
|
25
|
-
This adds a `/components/assistant-ui/dot-matrix.tsx` file to your project, which you can adjust as needed. The component has no dependencies beyond React.
|
|
26
|
-
|
|
27
|
-
## Usage
|
|
28
|
-
|
|
29
|
-
```tsx
|
|
30
|
-
import { DotMatrix } from "@/components/assistant-ui/dot-matrix";
|
|
31
|
-
|
|
32
|
-
export function RunIndicator({ isRunning }: { isRunning: boolean }) {
|
|
33
|
-
return <DotMatrix state={isRunning ? "loading" : "success"} />;
|
|
34
|
-
}
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
Dots inherit the surrounding text color, so the matrix renders dark dots on light backgrounds and light dots on dark backgrounds without configuration. Every state is a combination of a dot pattern, a motion, and a color, and switching states cross-fades each dot into its new pattern.
|
|
38
|
-
|
|
39
|
-
## States
|
|
40
|
-
|
|
41
|
-
| State | Pattern |
|
|
42
|
-
|-------|---------|
|
|
43
|
-
| `idle` | Dim static grid |
|
|
44
|
-
| `loading` | Randomized twinkle (default) |
|
|
45
|
-
| `thinking` | Diagonal wave |
|
|
46
|
-
| `streaming` | Falling rain, per-column streaks |
|
|
47
|
-
| `searching` | Horizontal sweep |
|
|
48
|
-
| `syncing` | Rotating sweep around the center |
|
|
49
|
-
| `connecting` | Ripple expanding from the center |
|
|
50
|
-
| `waiting` | Ellipsis dots blinking in sequence |
|
|
51
|
-
| `uploading` | Wave rising upward |
|
|
52
|
-
| `downloading` | Wave falling downward |
|
|
53
|
-
| `listening` | Slow equalizer columns |
|
|
54
|
-
| `speaking` | Fast equalizer columns |
|
|
55
|
-
| `recording` | Red center dot breathing |
|
|
56
|
-
| `success` | Green check glyph, static |
|
|
57
|
-
| `error` | Red cross glyph, blinking |
|
|
58
|
-
| `warning` | Amber exclamation glyph, slow blink |
|
|
59
|
-
| `info` | Blue info glyph, static |
|
|
60
|
-
| `paused` | Pause bars glyph, static |
|
|
61
|
-
| `stopped` | Square glyph, static |
|
|
62
|
-
| `offline` | Very dim static grid |
|
|
63
|
-
|
|
64
|
-
The component exports `dotMatrixStates` (the ordered list above) and the `DotMatrixState` union type, so UIs can enumerate or map states without duplicating the list. New states are added by extending the `STATES` record in the component source with a glyph and a per-dot blink function.
|
|
65
|
-
|
|
66
|
-
## Examples
|
|
67
|
-
|
|
68
|
-
### State Lifecycle
|
|
69
|
-
|
|
70
|
-
Drive the `state` prop from your run status; the matrix morphs between patterns instead of swapping components.
|
|
71
|
-
|
|
72
|
-
<PreviewCode file="components/docs/samples/dot-matrix" name="DotMatrixLifecycleSample">
|
|
73
|
-
<DotMatrixLifecycleSample />
|
|
74
|
-
</PreviewCode>
|
|
75
|
-
|
|
76
|
-
### Inline With Text
|
|
77
|
-
|
|
78
|
-
At the default `size-4` the matrix aligns with text like an icon, and the dots adapt to inverted surfaces through `currentColor`.
|
|
79
|
-
|
|
80
|
-
<PreviewCode file="components/docs/samples/dot-matrix" name="DotMatrixInlineSample">
|
|
81
|
-
<DotMatrixInlineSample />
|
|
82
|
-
</PreviewCode>
|
|
83
|
-
|
|
84
|
-
### Sizes
|
|
85
|
-
|
|
86
|
-
The matrix is an SVG, so any size utility scales it crisply.
|
|
87
|
-
|
|
88
|
-
<DotMatrixSizesSample />
|
|
89
|
-
|
|
90
|
-
## How It Works
|
|
91
|
-
|
|
92
|
-
The grid is a 5x5 SVG of `currentColor` circles. Blinking is a single CSS keyframe animation whose high/low opacity bounds come from registered per-dot CSS variables; the animation runs in every state (static states collapse the bounds) and the bounds carry a transition, which is what makes state changes cross-fade per dot. The randomized loading rhythm uses deterministic per-dot delays and durations, so server and client render identical markup and no JavaScript runs after render. With `prefers-reduced-motion`, the dots hold their resting opacity instead of blinking.
|
|
93
|
-
|
|
94
|
-
The root is a `role="status"` live region whose text content is the state name (or the `label` prop), so screen readers announce state changes; the SVG itself is `aria-hidden`.
|
|
95
|
-
|
|
96
|
-
## API Reference
|
|
97
|
-
|
|
98
|
-
### DotMatrix
|
|
99
|
-
|
|
100
|
-
<ParametersTable
|
|
101
|
-
type="DotMatrixProps"
|
|
102
|
-
parameters={[
|
|
103
|
-
{
|
|
104
|
-
name: "state",
|
|
105
|
-
type: "DotMatrixState",
|
|
106
|
-
default: '"loading"',
|
|
107
|
-
description:
|
|
108
|
-
"One of the 20 built-in states listed above, controlling pattern, motion, and color.",
|
|
109
|
-
},
|
|
110
|
-
{
|
|
111
|
-
name: "label",
|
|
112
|
-
type: "string",
|
|
113
|
-
description:
|
|
114
|
-
"Accessible label announced by screen readers. Defaults to the state name.",
|
|
115
|
-
},
|
|
116
|
-
{
|
|
117
|
-
name: "className",
|
|
118
|
-
type: "string",
|
|
119
|
-
description:
|
|
120
|
-
"Additional CSS classes. Use size utilities to scale and text color utilities to recolor.",
|
|
121
|
-
},
|
|
122
|
-
]}
|
|
123
|
-
/>
|
|
124
|
-
|
|
125
|
-
### Styling
|
|
126
|
-
|
|
127
|
-
Color follows `currentColor`, so `className="text-blue-500"` recolors the whole matrix; the outcome states (`success`, `error`, `warning`, `info`, `recording`, and the muted static states) set their own color which a `className` can override. Dots are targetable via `[data-slot="dot-matrix"]` and `[data-slot="dot-matrix-dot"]`, and the current state is exposed as `data-state` on the root.
|
|
128
|
-
|
|
129
|
-
## Related Components
|
|
130
|
-
|
|
131
|
-
- [Number Roll](/docs/ui/number-roll) - Animated rolling number
|
|
132
|
-
- [Badge](/docs/ui/badge) - Small status and metadata labels
|
|
133
|
-
- [Voice](/docs/ui/voice) - Voice activity visualization
|
|
@@ -1,159 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: File
|
|
3
|
-
description: Display file message parts with icon, name, size, and download button.
|
|
4
|
-
platforms: ["react"]
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
import { FileSample } from "@/components/docs/samples/file";
|
|
8
|
-
|
|
9
|
-
<FileSample />
|
|
10
|
-
|
|
11
|
-
## Getting Started
|
|
12
|
-
|
|
13
|
-
<Steps>
|
|
14
|
-
<Step>
|
|
15
|
-
|
|
16
|
-
### Add `file`
|
|
17
|
-
|
|
18
|
-
<InstallCommand shadcn={["file"]} />
|
|
19
|
-
|
|
20
|
-
</Step>
|
|
21
|
-
<Step>
|
|
22
|
-
|
|
23
|
-
### Use in your application
|
|
24
|
-
|
|
25
|
-
The shipped `Thread` component renders `file` parts through `File` by default, in both assistant and user messages. In a custom thread, pass `File` to `MessagePrimitive.Parts`:
|
|
26
|
-
|
|
27
|
-
```tsx title="/components/assistant-ui/thread.tsx" {1,8}
|
|
28
|
-
import { File } from "@/components/assistant-ui/file";
|
|
29
|
-
|
|
30
|
-
const UserMessage: FC = () => {
|
|
31
|
-
return (
|
|
32
|
-
<MessagePrimitive.Root className="...">
|
|
33
|
-
<MessagePrimitive.Parts>
|
|
34
|
-
{({ part }) => {
|
|
35
|
-
if (part.type === "file") return <File {...part} />;
|
|
36
|
-
return null;
|
|
37
|
-
}}
|
|
38
|
-
</MessagePrimitive.Parts>
|
|
39
|
-
</MessagePrimitive.Root>
|
|
40
|
-
);
|
|
41
|
-
};
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
</Step>
|
|
45
|
-
</Steps>
|
|
46
|
-
|
|
47
|
-
## Variants
|
|
48
|
-
|
|
49
|
-
Use the `variant` prop to change the visual style.
|
|
50
|
-
|
|
51
|
-
```tsx
|
|
52
|
-
<File.Root variant="outline" /> // Border (default)
|
|
53
|
-
<File.Root variant="ghost" /> // No border
|
|
54
|
-
<File.Root variant="muted" /> // Background fill
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
## Sizes
|
|
58
|
-
|
|
59
|
-
Use the `size` prop to change padding and font size.
|
|
60
|
-
|
|
61
|
-
```tsx
|
|
62
|
-
<File.Root size="sm" /> // Compact
|
|
63
|
-
<File.Root size="default" /> // Default
|
|
64
|
-
<File.Root size="lg" /> // Larger
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
## MimeType Icons
|
|
68
|
-
|
|
69
|
-
The component automatically selects an appropriate icon based on the file's MIME type:
|
|
70
|
-
|
|
71
|
-
| MIME Type | Icon |
|
|
72
|
-
|-----------|------|
|
|
73
|
-
| `image/*` | ImageIcon |
|
|
74
|
-
| `application/pdf` | FileTextIcon |
|
|
75
|
-
| `application/json` | BracesIcon |
|
|
76
|
-
| `text/*` | FileTextIcon |
|
|
77
|
-
| `audio/*` | MusicIcon |
|
|
78
|
-
| `video/*` | VideoIcon |
|
|
79
|
-
| fallback | FileIcon |
|
|
80
|
-
|
|
81
|
-
## API Reference
|
|
82
|
-
|
|
83
|
-
### Composable API
|
|
84
|
-
|
|
85
|
-
The component exports composable sub-components:
|
|
86
|
-
|
|
87
|
-
```tsx
|
|
88
|
-
import {
|
|
89
|
-
File,
|
|
90
|
-
FileRoot,
|
|
91
|
-
FileIconDisplay,
|
|
92
|
-
FileName,
|
|
93
|
-
FileSize,
|
|
94
|
-
FileDownload,
|
|
95
|
-
} from "@/components/assistant-ui/file";
|
|
96
|
-
|
|
97
|
-
<FileRoot variant="muted" size="lg">
|
|
98
|
-
<FileIconDisplay mimeType="application/pdf" />
|
|
99
|
-
<div className="flex flex-col gap-0.5">
|
|
100
|
-
<FileName>report.pdf</FileName>
|
|
101
|
-
<FileSize bytes={2048} className="text-xs" />
|
|
102
|
-
</div>
|
|
103
|
-
<FileDownload
|
|
104
|
-
data="SGVsbG8gV29ybGQh"
|
|
105
|
-
mimeType="application/pdf"
|
|
106
|
-
filename="report.pdf"
|
|
107
|
-
/>
|
|
108
|
-
</FileRoot>
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
| Component | Description |
|
|
112
|
-
|-----------|-------------|
|
|
113
|
-
| `File` | Default export, renders complete file part |
|
|
114
|
-
| `File.Root` | Container with variant and size styling |
|
|
115
|
-
| `File.Icon` | MIME type-aware icon, or pass custom `children` |
|
|
116
|
-
| `File.Name` | Truncated filename |
|
|
117
|
-
| `File.Size` | Human-readable file size |
|
|
118
|
-
| `File.Download` | Download link button; renders nothing without a browser-resolvable target (`sourceType: "id"`, urls that are not http(s)/blob/data) |
|
|
119
|
-
|
|
120
|
-
### Custom Icon
|
|
121
|
-
|
|
122
|
-
Pass `children` to `File.Icon` to override the default MIME type icon:
|
|
123
|
-
|
|
124
|
-
```tsx
|
|
125
|
-
<File.Icon>
|
|
126
|
-
<MyCustomIcon className="size-5" />
|
|
127
|
-
</File.Icon>
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
## Utilities
|
|
131
|
-
|
|
132
|
-
The component also exports utility functions:
|
|
133
|
-
|
|
134
|
-
```tsx
|
|
135
|
-
import {
|
|
136
|
-
getMimeTypeIcon,
|
|
137
|
-
getFileDataKind,
|
|
138
|
-
getBase64Size,
|
|
139
|
-
formatFileSize,
|
|
140
|
-
} from "@/components/assistant-ui/file";
|
|
141
|
-
|
|
142
|
-
// Get icon component for a MIME type
|
|
143
|
-
const Icon = getMimeTypeIcon("application/pdf"); // FileTextIcon
|
|
144
|
-
|
|
145
|
-
// Classify the data field of a file part; a declared sourceType wins over sniffing, except a data: payload declared as "url"
|
|
146
|
-
const kind = getFileDataKind("https://example.com/report.pdf"); // "url"
|
|
147
|
-
const ref = getFileDataKind("file-abc123", "id"); // "id"
|
|
148
|
-
|
|
149
|
-
// Calculate size from base64 string
|
|
150
|
-
const bytes = getBase64Size("SGVsbG8gV29ybGQh"); // 12
|
|
151
|
-
|
|
152
|
-
// Format bytes to human-readable
|
|
153
|
-
const size = formatFileSize(2048); // "2.0 KB"
|
|
154
|
-
```
|
|
155
|
-
|
|
156
|
-
## Related Components
|
|
157
|
-
|
|
158
|
-
- [Image](/docs/ui/image) - Image message parts
|
|
159
|
-
- [Attachment](/docs/ui/attachment) - File attachments in composer and messages
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Follow-Up Suggestions
|
|
3
|
-
description: Render runtime-generated follow-up prompt chips after an assistant response.
|
|
4
|
-
platforms: ["react"]
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
import { FollowUpSuggestionsSample } from "@/components/docs/samples/follow-up-suggestions";
|
|
8
|
-
|
|
9
|
-
<FollowUpSuggestionsSample />
|
|
10
|
-
|
|
11
|
-
`ThreadFollowupSuggestions` renders the current thread's runtime suggestions as clickable prompt chips. Use it for follow-up prompts that arrive after a response, such as suggested next questions, refinements, or task shortcuts.
|
|
12
|
-
|
|
13
|
-
<Callout type="info">
|
|
14
|
-
This component reads from `thread.suggestions`. For static welcome-screen prompts, use `ThreadPrimitive.Suggestions` instead.
|
|
15
|
-
</Callout>
|
|
16
|
-
|
|
17
|
-
## Getting Started
|
|
18
|
-
|
|
19
|
-
<Steps>
|
|
20
|
-
<Step>
|
|
21
|
-
|
|
22
|
-
### Add `follow-up-suggestions`
|
|
23
|
-
|
|
24
|
-
<InstallCommand shadcn={["follow-up-suggestions"]} />
|
|
25
|
-
|
|
26
|
-
This adds a `/components/assistant-ui/follow-up-suggestions.tsx` file to your project. The default `thread` component already renders `ThreadFollowupSuggestions`, so installing it standalone is only needed when you build your own thread layout.
|
|
27
|
-
|
|
28
|
-
</Step>
|
|
29
|
-
<Step>
|
|
30
|
-
|
|
31
|
-
### Provide runtime suggestions
|
|
32
|
-
|
|
33
|
-
Pass suggestions through your runtime. External-store runtimes, AI SDK runtimes, and local runtimes can all surface follow-up prompts through `thread.suggestions`.
|
|
34
|
-
|
|
35
|
-
```tsx title="/app/assistant.tsx" {7-10}
|
|
36
|
-
const runtime = useExternalStoreRuntime({
|
|
37
|
-
messages,
|
|
38
|
-
convertMessage,
|
|
39
|
-
onNew: async (message) => {
|
|
40
|
-
// append the message in your store
|
|
41
|
-
},
|
|
42
|
-
suggestions: [
|
|
43
|
-
{ prompt: "Summarize this as action items" },
|
|
44
|
-
{ prompt: "Write a shorter version" },
|
|
45
|
-
],
|
|
46
|
-
});
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
</Step>
|
|
50
|
-
<Step>
|
|
51
|
-
|
|
52
|
-
### Render after messages
|
|
53
|
-
|
|
54
|
-
Place `ThreadFollowupSuggestions` near the bottom of your thread viewport, after the assistant message list and before the composer.
|
|
55
|
-
|
|
56
|
-
```tsx title="/components/assistant-ui/thread.tsx" {1,10}
|
|
57
|
-
import { ThreadFollowupSuggestions } from "@/components/assistant-ui/follow-up-suggestions";
|
|
58
|
-
|
|
59
|
-
const ThreadViewportFooter = () => {
|
|
60
|
-
return (
|
|
61
|
-
<ThreadPrimitive.ViewportFooter>
|
|
62
|
-
<ThreadPrimitive.ScrollToBottom />
|
|
63
|
-
<ThreadFollowupSuggestions />
|
|
64
|
-
<Composer />
|
|
65
|
-
</ThreadPrimitive.ViewportFooter>
|
|
66
|
-
);
|
|
67
|
-
};
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
</Step>
|
|
71
|
-
</Steps>
|
|
72
|
-
|
|
73
|
-
## Behavior
|
|
74
|
-
|
|
75
|
-
The component only renders when the thread is not empty, not currently running, and has at least one suggestion. Each suggestion uses `ThreadPrimitive.Suggestion`, replaces the composer text with the prompt, and sends it immediately.
|
|
76
|
-
|
|
77
|
-
Suggestions stay on a single line. When they overflow, the row scrolls horizontally without a scrollbar, and each edge with clipped content fades out — so no fade shows at the start edge until you scroll.
|
|
78
|
-
|
|
79
|
-
## Related Components
|
|
80
|
-
|
|
81
|
-
- [Thread](/docs/ui/thread) - Complete chat interface with message list and composer
|
|
82
|
-
- [Suggestions guide](/docs/guides/suggestions) - Runtime and static suggestion patterns
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Image
|
|
3
|
-
description: Display image message parts with preview, loading states, and fullscreen dialog.
|
|
4
|
-
platforms: ["react"]
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
import { ImageSample } from "@/components/docs/samples/image";
|
|
8
|
-
|
|
9
|
-
<ImageSample />
|
|
10
|
-
|
|
11
|
-
## Getting Started
|
|
12
|
-
|
|
13
|
-
<Steps>
|
|
14
|
-
<Step>
|
|
15
|
-
|
|
16
|
-
### Add `image`
|
|
17
|
-
|
|
18
|
-
<InstallCommand shadcn={["image"]} />
|
|
19
|
-
|
|
20
|
-
</Step>
|
|
21
|
-
<Step>
|
|
22
|
-
|
|
23
|
-
### Use in your application
|
|
24
|
-
|
|
25
|
-
The shipped `Thread` component renders `image` parts through `Image` by default, in both assistant and user messages. In a custom thread, pass `Image` to `MessagePrimitive.Parts`:
|
|
26
|
-
|
|
27
|
-
```tsx title="/components/assistant-ui/thread.tsx" {1,8}
|
|
28
|
-
import { Image } from "@/components/assistant-ui/image";
|
|
29
|
-
|
|
30
|
-
const AssistantMessage: FC = () => {
|
|
31
|
-
return (
|
|
32
|
-
<MessagePrimitive.Root className="...">
|
|
33
|
-
<MessagePrimitive.Parts>
|
|
34
|
-
{({ part }) => {
|
|
35
|
-
if (part.type === "image") return <Image {...part} />;
|
|
36
|
-
return null;
|
|
37
|
-
}}
|
|
38
|
-
</MessagePrimitive.Parts>
|
|
39
|
-
</MessagePrimitive.Root>
|
|
40
|
-
);
|
|
41
|
-
};
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
</Step>
|
|
45
|
-
</Steps>
|
|
46
|
-
|
|
47
|
-
## Variants
|
|
48
|
-
|
|
49
|
-
Use the `variant` prop to change the visual style.
|
|
50
|
-
|
|
51
|
-
```tsx
|
|
52
|
-
<Image.Root variant="outline" /> // Border (default)
|
|
53
|
-
<Image.Root variant="ghost" /> // No border
|
|
54
|
-
<Image.Root variant="muted" /> // Background fill
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
## Sizes
|
|
58
|
-
|
|
59
|
-
Use the `size` prop to control the maximum width.
|
|
60
|
-
|
|
61
|
-
```tsx
|
|
62
|
-
<Image.Root size="sm" /> // max-w-64 (256px)
|
|
63
|
-
<Image.Root size="default" /> // max-w-96 (384px)
|
|
64
|
-
<Image.Root size="lg" /> // max-w-[512px]
|
|
65
|
-
<Image.Root size="full" /> // w-full
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
## API Reference
|
|
69
|
-
|
|
70
|
-
### Composable API
|
|
71
|
-
|
|
72
|
-
The component exports composable sub-components:
|
|
73
|
-
|
|
74
|
-
```tsx
|
|
75
|
-
import {
|
|
76
|
-
Image,
|
|
77
|
-
ImageRoot,
|
|
78
|
-
ImagePreview,
|
|
79
|
-
ImageFilename,
|
|
80
|
-
ImageZoom,
|
|
81
|
-
} from "@/components/assistant-ui/image";
|
|
82
|
-
|
|
83
|
-
<ImageRoot variant="muted" size="lg">
|
|
84
|
-
<ImageZoom src="https://example.com/photo.jpg" alt="Photo">
|
|
85
|
-
<ImagePreview src="https://example.com/photo.jpg" alt="Photo" />
|
|
86
|
-
</ImageZoom>
|
|
87
|
-
<ImageFilename>photo.jpg</ImageFilename>
|
|
88
|
-
</ImageRoot>
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
| Component | Description |
|
|
92
|
-
|-----------|-------------|
|
|
93
|
-
| `Image` | Default export, renders complete image part |
|
|
94
|
-
| `Image.Root` | Container with variant and size styling |
|
|
95
|
-
| `Image.Preview` | Image container with loading/error states |
|
|
96
|
-
| `Image.Filename` | Optional filename display below image |
|
|
97
|
-
| `Image.Zoom` | Medium-style zoom overlay (click to expand, ESC to close) |
|
|
98
|
-
|
|
99
|
-
## Related Components
|
|
100
|
-
|
|
101
|
-
- [Attachment](/docs/ui/attachment) - File attachments in composer and messages
|
|
102
|
-
- [File](/docs/ui/file) - Non-image file message parts
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Markdown
|
|
3
|
-
description: Display rich text with headings, lists, links, and code blocks.
|
|
4
|
-
platforms: ["react"]
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
import { MarkdownSample } from "@/components/docs/samples/markdown";
|
|
8
|
-
|
|
9
|
-
<MarkdownSample />
|
|
10
|
-
|
|
11
|
-
<Callout>
|
|
12
|
-
Markdown support is already included by default in the `Thread` component.
|
|
13
|
-
</Callout>
|
|
14
|
-
|
|
15
|
-
## Enabling markdown support
|
|
16
|
-
|
|
17
|
-
<Steps>
|
|
18
|
-
|
|
19
|
-
<Step>
|
|
20
|
-
### Add `markdown-text`
|
|
21
|
-
|
|
22
|
-
<InstallCommand shadcn={["markdown-text"]} />
|
|
23
|
-
|
|
24
|
-
This adds a `/components/assistant-ui/markdown-text.tsx` file to your project, which you can adjust as needed.
|
|
25
|
-
|
|
26
|
-
</Step>
|
|
27
|
-
|
|
28
|
-
<Step>
|
|
29
|
-
|
|
30
|
-
### Use it in your application
|
|
31
|
-
|
|
32
|
-
Pass the `MarkdownText` component to the `MessagePrimitive.Parts` component
|
|
33
|
-
|
|
34
|
-
```tsx title="/components/assistant-ui/thread.tsx" {1,7}
|
|
35
|
-
import { MarkdownText } from "@/components/assistant-ui/markdown-text";
|
|
36
|
-
|
|
37
|
-
const AssistantMessage: FC = () => {
|
|
38
|
-
return (
|
|
39
|
-
<MessagePrimitive.Root className="...">
|
|
40
|
-
<div className="...">
|
|
41
|
-
<MessagePrimitive.Parts>
|
|
42
|
-
{({ part }) => part.type === "text" ? <MarkdownText /> : null}
|
|
43
|
-
</MessagePrimitive.Parts>
|
|
44
|
-
</div>
|
|
45
|
-
<AssistantActionBar />
|
|
46
|
-
|
|
47
|
-
<BranchPicker className="..." />
|
|
48
|
-
</MessagePrimitive.Root>
|
|
49
|
-
);
|
|
50
|
-
};
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
</Step>
|
|
54
|
-
|
|
55
|
-
</Steps>
|
|
56
|
-
|
|
57
|
-
## Syntax highlighting
|
|
58
|
-
|
|
59
|
-
Syntax Highlighting is not included by default, see [Syntax Highlighting](/docs/ui/syntax-highlighting) to learn how to add it.
|
|
60
|
-
|
|
61
|
-
## Related Components
|
|
62
|
-
|
|
63
|
-
- [Syntax Highlighting](/docs/ui/syntax-highlighting) - Add code highlighting to markdown
|
|
64
|
-
- [Mermaid](/docs/ui/mermaid) - Render diagrams in markdown code blocks
|