@assistant-ui/mcp-docs-server 0.2.3 → 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 +8 -12
- 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 -675
- package/.docs/organized/code-examples/with-ag-ui.md +0 -553
- package/.docs/organized/code-examples/with-ai-sdk-v7.md +0 -466
- package/.docs/organized/code-examples/with-artifacts.md +0 -815
- package/.docs/organized/code-examples/with-assistant-transport.md +0 -576
- package/.docs/organized/code-examples/with-browser-extension.md +0 -371
- package/.docs/organized/code-examples/with-chain-of-thought.md +0 -962
- package/.docs/organized/code-examples/with-cloud-standalone.md +0 -681
- package/.docs/organized/code-examples/with-cloud.md +0 -439
- package/.docs/organized/code-examples/with-custom-thread-list.md +0 -569
- package/.docs/organized/code-examples/with-elevenlabs-conversational.md +0 -527
- package/.docs/organized/code-examples/with-elevenlabs-scribe.md +0 -697
- package/.docs/organized/code-examples/with-eve.md +0 -405
- package/.docs/organized/code-examples/with-expo.md +0 -2246
- package/.docs/organized/code-examples/with-external-store.md +0 -421
- package/.docs/organized/code-examples/with-ffmpeg.md +0 -829
- package/.docs/organized/code-examples/with-generative-ui.md +0 -1810
- package/.docs/organized/code-examples/with-google-adk.md +0 -368
- package/.docs/organized/code-examples/with-heat-graph.md +0 -304
- package/.docs/organized/code-examples/with-image-generation.md +0 -463
- package/.docs/organized/code-examples/with-interactables.md +0 -733
- package/.docs/organized/code-examples/with-langchain.md +0 -446
- package/.docs/organized/code-examples/with-langgraph.md +0 -855
- package/.docs/organized/code-examples/with-livekit.md +0 -643
- package/.docs/organized/code-examples/with-mcp.md +0 -782
- package/.docs/organized/code-examples/with-nuxt.md +0 -2428
- package/.docs/organized/code-examples/with-opencode.md +0 -1974
- package/.docs/organized/code-examples/with-openui.md +0 -450
- package/.docs/organized/code-examples/with-pi.md +0 -2084
- package/.docs/organized/code-examples/with-react-hook-form.md +0 -727
- package/.docs/organized/code-examples/with-react-ink-web.md +0 -740
- package/.docs/organized/code-examples/with-react-ink.md +0 -473
- package/.docs/organized/code-examples/with-react-router.md +0 -936
- package/.docs/organized/code-examples/with-resumable-stream.md +0 -668
- package/.docs/organized/code-examples/with-store.md +0 -679
- package/.docs/organized/code-examples/with-svelte.md +0 -415
- package/.docs/organized/code-examples/with-sveltekit.md +0 -1061
- package/.docs/organized/code-examples/with-tanstack.md +0 -812
- package/.docs/organized/code-examples/with-tap-runtime.md +0 -813
- package/.docs/organized/code-examples/with-virtualized-thread.md +0 -681
- package/.docs/organized/code-examples/with-vue.md +0 -408
- package/.docs/raw/docs/(getting-started)/architecture.mdx +0 -146
- package/.docs/raw/docs/(getting-started)/base-ui.mdx +0 -39
- package/.docs/raw/docs/(getting-started)/cli.mdx +0 -542
- package/.docs/raw/docs/(getting-started)/devtools.mdx +0 -79
- package/.docs/raw/docs/(getting-started)/index.mdx +0 -23
- package/.docs/raw/docs/(getting-started)/installation.mdx +0 -483
- package/.docs/raw/docs/(getting-started)/llm.mdx +0 -211
- package/.docs/raw/docs/(getting-started)/rtl.mdx +0 -78
- package/.docs/raw/docs/(reference)/api-reference/adapters/attachments.mdx +0 -36
- package/.docs/raw/docs/(reference)/api-reference/adapters/feedback.mdx +0 -20
- package/.docs/raw/docs/(reference)/api-reference/adapters/index.mdx +0 -34
- package/.docs/raw/docs/(reference)/api-reference/adapters/model.mdx +0 -44
- package/.docs/raw/docs/(reference)/api-reference/adapters/persistence.mdx +0 -59
- package/.docs/raw/docs/(reference)/api-reference/adapters/runtime.mdx +0 -20
- package/.docs/raw/docs/(reference)/api-reference/adapters/suggestions.mdx +0 -26
- package/.docs/raw/docs/(reference)/api-reference/context-providers/assistant-runtime-provider.mdx +0 -84
- package/.docs/raw/docs/(reference)/api-reference/context-providers/index.mdx +0 -22
- package/.docs/raw/docs/(reference)/api-reference/context-providers/scoped-providers.mdx +0 -64
- package/.docs/raw/docs/(reference)/api-reference/external-store/index.mdx +0 -22
- package/.docs/raw/docs/(reference)/api-reference/external-store/message-conversion.mdx +0 -57
- package/.docs/raw/docs/(reference)/api-reference/external-store/runtime.mdx +0 -49
- package/.docs/raw/docs/(reference)/api-reference/generative-ui/a2ui.mdx +0 -40
- package/.docs/raw/docs/(reference)/api-reference/generative-ui/actions.mdx +0 -56
- package/.docs/raw/docs/(reference)/api-reference/generative-ui/components.mdx +0 -86
- package/.docs/raw/docs/(reference)/api-reference/generative-ui/index.mdx +0 -39
- package/.docs/raw/docs/(reference)/api-reference/generative-ui/json-generative-ui.mdx +0 -42
- package/.docs/raw/docs/(reference)/api-reference/generative-ui/rendering.mdx +0 -84
- package/.docs/raw/docs/(reference)/api-reference/generative-ui/slack.mdx +0 -85
- package/.docs/raw/docs/(reference)/api-reference/generative-ui/spec.mdx +0 -45
- package/.docs/raw/docs/(reference)/api-reference/generative-ui/teams.mdx +0 -93
- package/.docs/raw/docs/(reference)/api-reference/generative-ui/tokens.mdx +0 -62
- package/.docs/raw/docs/(reference)/api-reference/hooks/composer-triggers.mdx +0 -129
- package/.docs/raw/docs/(reference)/api-reference/hooks/index.mdx +0 -31
- package/.docs/raw/docs/(reference)/api-reference/hooks/model-context.mdx +0 -34
- package/.docs/raw/docs/(reference)/api-reference/hooks/primitives.mdx +0 -350
- package/.docs/raw/docs/(reference)/api-reference/hooks/runtimes.mdx +0 -28
- package/.docs/raw/docs/(reference)/api-reference/hooks/state.mdx +0 -97
- package/.docs/raw/docs/(reference)/api-reference/integrations/ai-sdk.mdx +0 -200
- package/.docs/raw/docs/(reference)/api-reference/integrations/cloud-ai-sdk.mdx +0 -24
- package/.docs/raw/docs/(reference)/api-reference/integrations/eve.mdx +0 -118
- package/.docs/raw/docs/(reference)/api-reference/integrations/index.mdx +0 -28
- package/.docs/raw/docs/(reference)/api-reference/integrations/react-data-stream.mdx +0 -37
- package/.docs/raw/docs/(reference)/api-reference/model-context/context.mdx +0 -50
- package/.docs/raw/docs/(reference)/api-reference/model-context/index.mdx +0 -22
- package/.docs/raw/docs/(reference)/api-reference/model-context/registry.mdx +0 -20
- package/.docs/raw/docs/(reference)/api-reference/overview.mdx +0 -566
- package/.docs/raw/docs/(reference)/api-reference/primitives/action-bar-more.mdx +0 -152
- package/.docs/raw/docs/(reference)/api-reference/primitives/action-bar.mdx +0 -239
- package/.docs/raw/docs/(reference)/api-reference/primitives/assistant-if.mdx +0 -208
- package/.docs/raw/docs/(reference)/api-reference/primitives/assistant-modal.mdx +0 -108
- package/.docs/raw/docs/(reference)/api-reference/primitives/attachment.mdx +0 -99
- package/.docs/raw/docs/(reference)/api-reference/primitives/branch-picker.mdx +0 -145
- package/.docs/raw/docs/(reference)/api-reference/primitives/chain-of-thought.mdx +0 -82
- package/.docs/raw/docs/(reference)/api-reference/primitives/composer.mdx +0 -637
- package/.docs/raw/docs/(reference)/api-reference/primitives/composition.mdx +0 -22
- package/.docs/raw/docs/(reference)/api-reference/primitives/error.mdx +0 -65
- package/.docs/raw/docs/(reference)/api-reference/primitives/index.mdx +0 -73
- package/.docs/raw/docs/(reference)/api-reference/primitives/message-part.mdx +0 -117
- package/.docs/raw/docs/(reference)/api-reference/primitives/message.mdx +0 -339
- package/.docs/raw/docs/(reference)/api-reference/primitives/queue-item.mdx +0 -77
- package/.docs/raw/docs/(reference)/api-reference/primitives/selection-toolbar.mdx +0 -88
- package/.docs/raw/docs/(reference)/api-reference/primitives/suggestion.mdx +0 -81
- package/.docs/raw/docs/(reference)/api-reference/primitives/thread-list-item-more.mdx +0 -129
- package/.docs/raw/docs/(reference)/api-reference/primitives/thread-list-item.mdx +0 -138
- package/.docs/raw/docs/(reference)/api-reference/primitives/thread-list.mdx +0 -122
- package/.docs/raw/docs/(reference)/api-reference/primitives/thread.mdx +0 -289
- package/.docs/raw/docs/(reference)/api-reference/runtimes/assistant-runtime.mdx +0 -20
- package/.docs/raw/docs/(reference)/api-reference/runtimes/attachment-runtime.mdx +0 -24
- package/.docs/raw/docs/(reference)/api-reference/runtimes/composer-runtime.mdx +0 -32
- package/.docs/raw/docs/(reference)/api-reference/runtimes/index.mdx +0 -43
- package/.docs/raw/docs/(reference)/api-reference/runtimes/message-part-runtime.mdx +0 -43
- package/.docs/raw/docs/(reference)/api-reference/runtimes/message-runtime.mdx +0 -24
- package/.docs/raw/docs/(reference)/api-reference/runtimes/queue-state.mdx +0 -20
- package/.docs/raw/docs/(reference)/api-reference/runtimes/thread-list-item-runtime.mdx +0 -24
- package/.docs/raw/docs/(reference)/api-reference/runtimes/thread-list-runtime.mdx +0 -24
- package/.docs/raw/docs/(reference)/api-reference/runtimes/thread-runtime.mdx +0 -36
- package/.docs/raw/docs/(reference)/api-reference/tools/component-tools.mdx +0 -85
- package/.docs/raw/docs/(reference)/api-reference/tools/index.mdx +0 -45
- package/.docs/raw/docs/(reference)/api-reference/tools/interactables-legacy.mdx +0 -55
- package/.docs/raw/docs/(reference)/api-reference/tools/interactables.mdx +0 -151
- package/.docs/raw/docs/(reference)/api-reference/tools/rendering.mdx +0 -106
- package/.docs/raw/docs/(reference)/api-reference/tools/status.mdx +0 -62
- package/.docs/raw/docs/(reference)/api-reference/tools/toolkits.mdx +0 -178
- package/.docs/raw/docs/(reference)/api-reference/transport/assistant-transport.mdx +0 -48
- package/.docs/raw/docs/(reference)/api-reference/transport/frame.mdx +0 -62
- package/.docs/raw/docs/(reference)/api-reference/transport/index.mdx +0 -22
- package/.docs/raw/docs/(reference)/api-reference/utilities/index.mdx +0 -19
- package/.docs/raw/docs/(reference)/api-reference/utilities/miscellaneous.mdx +0 -152
- package/.docs/raw/docs/(reference)/api-reference/voice/index.mdx +0 -22
- package/.docs/raw/docs/(reference)/api-reference/voice/session.mdx +0 -54
- package/.docs/raw/docs/(reference)/api-reference/voice/speech-dictation.mdx +0 -36
- package/.docs/raw/docs/cloud/ai-sdk-assistant-ui.mdx +0 -527
- package/.docs/raw/docs/cloud/ai-sdk.mdx +0 -604
- package/.docs/raw/docs/cloud/authorization.mdx +0 -252
- package/.docs/raw/docs/cloud/index.mdx +0 -46
- package/.docs/raw/docs/cloud/langgraph.mdx +0 -554
- package/.docs/raw/docs/copilots/assistant-frame.mdx +0 -411
- package/.docs/raw/docs/copilots/make-assistant-visible.mdx +0 -82
- package/.docs/raw/docs/copilots/model-context.mdx +0 -156
- package/.docs/raw/docs/copilots/motivation.mdx +0 -202
- package/.docs/raw/docs/copilots/use-assistant-instructions.mdx +0 -64
- package/.docs/raw/docs/guides/attachments.mdx +0 -619
- package/.docs/raw/docs/guides/branching.mdx +0 -76
- package/.docs/raw/docs/guides/chain-of-thought.mdx +0 -164
- package/.docs/raw/docs/guides/chatgpt-subscription.mdx +0 -108
- package/.docs/raw/docs/guides/context-api.mdx +0 -619
- package/.docs/raw/docs/guides/dictation.mdx +0 -298
- package/.docs/raw/docs/guides/editing.mdx +0 -102
- package/.docs/raw/docs/guides/electron.mdx +0 -369
- package/.docs/raw/docs/guides/headless-composer-input.mdx +0 -113
- package/.docs/raw/docs/guides/image-generation.mdx +0 -74
- package/.docs/raw/docs/guides/index.mdx +0 -117
- package/.docs/raw/docs/guides/input-history.mdx +0 -55
- package/.docs/raw/docs/guides/latex.mdx +0 -158
- package/.docs/raw/docs/guides/mentions.mdx +0 -575
- package/.docs/raw/docs/guides/message-timing.mdx +0 -215
- package/.docs/raw/docs/guides/quoting.mdx +0 -169
- package/.docs/raw/docs/guides/resumable-stream-deployment.mdx +0 -212
- package/.docs/raw/docs/guides/resumable-stream-stores.mdx +0 -152
- package/.docs/raw/docs/guides/resumable-streams.mdx +0 -292
- package/.docs/raw/docs/guides/slash-commands.mdx +0 -358
- package/.docs/raw/docs/guides/speech.mdx +0 -172
- package/.docs/raw/docs/guides/suggestions.mdx +0 -384
- package/.docs/raw/docs/guides/virtualization.mdx +0 -133
- package/.docs/raw/docs/guides/voice.mdx +0 -310
- package/.docs/raw/docs/ink/adapters.mdx +0 -99
- package/.docs/raw/docs/ink/custom-backend.mdx +0 -254
- package/.docs/raw/docs/ink/hooks.mdx +0 -469
- package/.docs/raw/docs/ink/index.mdx +0 -237
- package/.docs/raw/docs/ink/migration.mdx +0 -138
- package/.docs/raw/docs/ink/primitives.mdx +0 -1259
- package/.docs/raw/docs/integrations/attachments/custom-adapter.mdx +0 -528
- package/.docs/raw/docs/integrations/auth/better-auth.mdx +0 -188
- package/.docs/raw/docs/integrations/auth/clerk.mdx +0 -166
- package/.docs/raw/docs/integrations/auth/next-auth.mdx +0 -191
- package/.docs/raw/docs/integrations/frameworks/ai-sdk.mdx +0 -88
- package/.docs/raw/docs/integrations/frameworks/cloudflare-agents.mdx +0 -283
- package/.docs/raw/docs/integrations/frameworks/mastra/full-stack.mdx +0 -188
- package/.docs/raw/docs/integrations/frameworks/mastra/overview.mdx +0 -57
- package/.docs/raw/docs/integrations/frameworks/mastra/separate-server.mdx +0 -201
- package/.docs/raw/docs/integrations/gateways/index.mdx +0 -162
- package/.docs/raw/docs/integrations/index.mdx +0 -178
- package/.docs/raw/docs/integrations/observability/helicone.mdx +0 -129
- package/.docs/raw/docs/integrations/observability/langfuse.mdx +0 -161
- package/.docs/raw/docs/integrations/observability/langsmith.mdx +0 -151
- package/.docs/raw/docs/integrations/persistence/custom-adapter.mdx +0 -773
- package/.docs/raw/docs/migrations/deprecation-policy.mdx +0 -42
- package/.docs/raw/docs/migrations/index.mdx +0 -50
- package/.docs/raw/docs/migrations/react-compatibility.mdx +0 -74
- package/.docs/raw/docs/migrations/react-langgraph-v0-7.mdx +0 -328
- package/.docs/raw/docs/migrations/toolkit-tools.mdx +0 -236
- package/.docs/raw/docs/migrations/v0-11.mdx +0 -172
- package/.docs/raw/docs/migrations/v0-12.mdx +0 -302
- package/.docs/raw/docs/migrations/v0-14.mdx +0 -297
- package/.docs/raw/docs/migrations/v0-15.mdx +0 -270
- package/.docs/raw/docs/primitives/action-bar.mdx +0 -352
- package/.docs/raw/docs/primitives/assistant-modal.mdx +0 -216
- package/.docs/raw/docs/primitives/attachment.mdx +0 -217
- package/.docs/raw/docs/primitives/branch-picker.mdx +0 -222
- package/.docs/raw/docs/primitives/chain-of-thought.mdx +0 -315
- package/.docs/raw/docs/primitives/composer.mdx +0 -659
- package/.docs/raw/docs/primitives/error.mdx +0 -142
- package/.docs/raw/docs/primitives/index.mdx +0 -99
- package/.docs/raw/docs/primitives/message.mdx +0 -618
- package/.docs/raw/docs/primitives/selection-toolbar.mdx +0 -191
- package/.docs/raw/docs/primitives/suggestion.mdx +0 -254
- package/.docs/raw/docs/primitives/thread-list.mdx +0 -467
- package/.docs/raw/docs/primitives/thread.mdx +0 -509
- package/.docs/raw/docs/react-native/adapters.mdx +0 -94
- package/.docs/raw/docs/react-native/custom-backend.mdx +0 -207
- package/.docs/raw/docs/react-native/hooks.mdx +0 -339
- package/.docs/raw/docs/react-native/index.mdx +0 -289
- package/.docs/raw/docs/react-native/migration.mdx +0 -142
- package/.docs/raw/docs/react-native/primitives.mdx +0 -976
- package/.docs/raw/docs/runtimes/a2a/client-and-hooks.mdx +0 -399
- package/.docs/raw/docs/runtimes/a2a/overview.mdx +0 -60
- package/.docs/raw/docs/runtimes/a2a/quickstart.mdx +0 -216
- package/.docs/raw/docs/runtimes/ag-ui/agent-state.mdx +0 -124
- package/.docs/raw/docs/runtimes/ag-ui/overview.mdx +0 -70
- package/.docs/raw/docs/runtimes/ag-ui/quickstart.mdx +0 -243
- package/.docs/raw/docs/runtimes/ag-ui/runtime-options.mdx +0 -267
- package/.docs/raw/docs/runtimes/ai-sdk/overview.mdx +0 -61
- package/.docs/raw/docs/runtimes/ai-sdk/v4-legacy.mdx +0 -122
- package/.docs/raw/docs/runtimes/ai-sdk/v5-legacy.mdx +0 -135
- package/.docs/raw/docs/runtimes/ai-sdk/v6-legacy.mdx +0 -636
- package/.docs/raw/docs/runtimes/ai-sdk/v7.mdx +0 -731
- package/.docs/raw/docs/runtimes/claude-managed-agents.mdx +0 -118
- package/.docs/raw/docs/runtimes/concepts/adapters.mdx +0 -265
- package/.docs/raw/docs/runtimes/concepts/architecture.mdx +0 -167
- package/.docs/raw/docs/runtimes/concepts/stability.mdx +0 -68
- package/.docs/raw/docs/runtimes/concepts/threads.mdx +0 -513
- package/.docs/raw/docs/runtimes/custom/assistant-transport.mdx +0 -763
- package/.docs/raw/docs/runtimes/custom/data-stream.mdx +0 -339
- package/.docs/raw/docs/runtimes/custom/external-store.mdx +0 -957
- package/.docs/raw/docs/runtimes/custom/local-runtime.mdx +0 -902
- package/.docs/raw/docs/runtimes/custom/overview.mdx +0 -71
- package/.docs/raw/docs/runtimes/eve/overview.mdx +0 -151
- package/.docs/raw/docs/runtimes/eve/quickstart.mdx +0 -192
- package/.docs/raw/docs/runtimes/google-adk/api.mdx +0 -256
- package/.docs/raw/docs/runtimes/google-adk/hooks.mdx +0 -784
- package/.docs/raw/docs/runtimes/google-adk/overview.mdx +0 -69
- package/.docs/raw/docs/runtimes/google-adk/quickstart.mdx +0 -229
- package/.docs/raw/docs/runtimes/langchain.mdx +0 -901
- package/.docs/raw/docs/runtimes/langgraph/agent-state.mdx +0 -181
- package/.docs/raw/docs/runtimes/langgraph/generative-ui.mdx +0 -305
- package/.docs/raw/docs/runtimes/langgraph/interrupts.mdx +0 -104
- package/.docs/raw/docs/runtimes/langgraph/overview.mdx +0 -84
- package/.docs/raw/docs/runtimes/langgraph/quickstart.mdx +0 -496
- package/.docs/raw/docs/runtimes/langgraph/streaming.mdx +0 -144
- package/.docs/raw/docs/runtimes/langgraph/threads.mdx +0 -113
- package/.docs/raw/docs/runtimes/langgraph/tutorial/introduction.mdx +0 -29
- package/.docs/raw/docs/runtimes/langgraph/tutorial/part-1.mdx +0 -93
- package/.docs/raw/docs/runtimes/langgraph/tutorial/part-2.mdx +0 -347
- package/.docs/raw/docs/runtimes/langgraph/tutorial/part-3.mdx +0 -393
- package/.docs/raw/docs/runtimes/opencode/hooks.mdx +0 -194
- package/.docs/raw/docs/runtimes/opencode/overview.mdx +0 -58
- package/.docs/raw/docs/runtimes/opencode/quickstart.mdx +0 -119
- package/.docs/raw/docs/runtimes/pick-a-runtime.mdx +0 -133
- package/.docs/raw/docs/tools/a2ui.mdx +0 -107
- package/.docs/raw/docs/tools/backend.mdx +0 -147
- package/.docs/raw/docs/tools/defining-tools.mdx +0 -574
- package/.docs/raw/docs/tools/dynamic-tools.mdx +0 -112
- package/.docs/raw/docs/tools/generative-ui-primitive.mdx +0 -180
- package/.docs/raw/docs/tools/generative-ui-slack.mdx +0 -167
- package/.docs/raw/docs/tools/generative-ui-teams.mdx +0 -160
- package/.docs/raw/docs/tools/generative-ui.mdx +0 -322
- package/.docs/raw/docs/tools/index.mdx +0 -72
- package/.docs/raw/docs/tools/interactables.mdx +0 -1084
- package/.docs/raw/docs/tools/mcp-apps.mdx +0 -363
- package/.docs/raw/docs/tools/mcp.mdx +0 -466
- package/.docs/raw/docs/tools/multi-agent.mdx +0 -237
- package/.docs/raw/docs/tools/openui.mdx +0 -175
- package/.docs/raw/docs/tools/tool-ui.mdx +0 -1020
- package/.docs/raw/docs/tools/user-managed-mcp.mdx +0 -428
- package/.docs/raw/docs/ui/assistant-modal.mdx +0 -166
- package/.docs/raw/docs/ui/assistant-sidebar.mdx +0 -89
- package/.docs/raw/docs/ui/attachment.mdx +0 -279
- package/.docs/raw/docs/ui/composer-trigger-popover.mdx +0 -247
- package/.docs/raw/docs/ui/context-display.mdx +0 -148
- package/.docs/raw/docs/ui/directive-text.mdx +0 -114
- package/.docs/raw/docs/ui/file.mdx +0 -159
- package/.docs/raw/docs/ui/follow-up-suggestions.mdx +0 -82
- package/.docs/raw/docs/ui/image.mdx +0 -102
- package/.docs/raw/docs/ui/markdown.mdx +0 -103
- package/.docs/raw/docs/ui/mcp-config.mdx +0 -107
- package/.docs/raw/docs/ui/mermaid.mdx +0 -92
- package/.docs/raw/docs/ui/message-timing.mdx +0 -93
- package/.docs/raw/docs/ui/model-selector.mdx +0 -455
- package/.docs/raw/docs/ui/part-grouping.mdx +0 -614
- package/.docs/raw/docs/ui/quote.mdx +0 -211
- package/.docs/raw/docs/ui/reasoning.mdx +0 -214
- package/.docs/raw/docs/ui/scrollbar.mdx +0 -77
- package/.docs/raw/docs/ui/sources.mdx +0 -186
- package/.docs/raw/docs/ui/streamdown.mdx +0 -392
- package/.docs/raw/docs/ui/syntax-highlighting.mdx +0 -205
- package/.docs/raw/docs/ui/thread-list.mdx +0 -411
- package/.docs/raw/docs/ui/thread.mdx +0 -559
- package/.docs/raw/docs/ui/tool-fallback.mdx +0 -141
- package/.docs/raw/docs/ui/tool-group.mdx +0 -240
- package/.docs/raw/docs/ui/voice.mdx +0 -173
- package/.docs/raw/docs/utilities/heat-graph.mdx +0 -237
- package/.docs/raw/docs/utilities/react-o11y.mdx +0 -362
- package/.docs/raw/docs/utilities/tw-shimmer.mdx +0 -212
- package/dist/constants.d.ts +0 -14
- package/dist/constants.d.ts.map +0 -1
- package/dist/constants.js +0 -19
- package/dist/constants.js.map +0 -1
- package/dist/prepare-docs/code-examples.d.ts +0 -5
- package/dist/prepare-docs/code-examples.d.ts.map +0 -1
- package/dist/prepare-docs/code-examples.js +0 -117
- package/dist/prepare-docs/code-examples.js.map +0 -1
- package/dist/prepare-docs/copy-raw.d.ts +0 -5
- package/dist/prepare-docs/copy-raw.d.ts.map +0 -1
- package/dist/prepare-docs/copy-raw.js +0 -49
- package/dist/prepare-docs/copy-raw.js.map +0 -1
- package/dist/prepare-docs/prepare.d.ts +0 -1
- package/dist/prepare-docs/prepare.js +0 -22
- package/dist/prepare-docs/prepare.js.map +0 -1
- package/dist/prompts/xulux-playground.d.ts +0 -12
- package/dist/prompts/xulux-playground.d.ts.map +0 -1
- package/dist/prompts/xulux-playground.js +0 -33
- package/dist/prompts/xulux-playground.js.map +0 -1
- package/dist/tools/docs.d.ts +0 -22
- package/dist/tools/docs.d.ts.map +0 -1
- package/dist/tools/docs.js +0 -177
- package/dist/tools/docs.js.map +0 -1
- package/dist/tools/examples.d.ts +0 -24
- package/dist/tools/examples.d.ts.map +0 -1
- package/dist/tools/examples.js +0 -87
- package/dist/tools/examples.js.map +0 -1
- package/dist/tools/resources.d.ts +0 -6
- package/dist/tools/resources.d.ts.map +0 -1
- package/dist/tools/resources.js +0 -75
- package/dist/tools/resources.js.map +0 -1
- package/dist/tools/search.d.ts +0 -24
- package/dist/tools/search.d.ts.map +0 -1
- package/dist/tools/search.js +0 -39
- package/dist/tools/search.js.map +0 -1
- package/dist/tools/tests/mcp-test-client.d.ts +0 -15
- package/dist/tools/tests/mcp-test-client.d.ts.map +0 -1
- package/dist/tools/tests/mcp-test-client.js +0 -68
- package/dist/tools/tests/mcp-test-client.js.map +0 -1
- package/dist/tools/tests/test-setup.d.ts +0 -7
- package/dist/tools/tests/test-setup.d.ts.map +0 -1
- package/dist/tools/tests/test-setup.js +0 -36
- package/dist/tools/tests/test-setup.js.map +0 -1
- package/dist/tools/xulux-templates.d.ts +0 -58
- package/dist/tools/xulux-templates.d.ts.map +0 -1
- package/dist/tools/xulux-templates.js +0 -84
- package/dist/tools/xulux-templates.js.map +0 -1
- package/dist/utils/cache.d.ts +0 -5
- package/dist/utils/cache.d.ts.map +0 -1
- package/dist/utils/cache.js +0 -18
- package/dist/utils/cache.js.map +0 -1
- package/dist/utils/logger.d.ts +0 -10
- package/dist/utils/logger.d.ts.map +0 -1
- package/dist/utils/logger.js +0 -20
- package/dist/utils/logger.js.map +0 -1
- package/dist/utils/mcp-format.d.ts +0 -11
- package/dist/utils/mcp-format.d.ts.map +0 -1
- package/dist/utils/mcp-format.js +0 -14
- package/dist/utils/mcp-format.js.map +0 -1
- package/dist/utils/mdx.d.ts +0 -12
- package/dist/utils/mdx.d.ts.map +0 -1
- package/dist/utils/mdx.js +0 -45
- package/dist/utils/mdx.js.map +0 -1
- package/dist/utils/paths.d.ts +0 -12
- package/dist/utils/paths.d.ts.map +0 -1
- package/dist/utils/paths.js +0 -93
- package/dist/utils/paths.js.map +0 -1
- package/dist/utils/search.d.ts +0 -10
- package/dist/utils/search.d.ts.map +0 -1
- package/dist/utils/search.js +0 -97
- package/dist/utils/search.js.map +0 -1
- package/dist/utils/security.d.ts +0 -5
- package/dist/utils/security.d.ts.map +0 -1
- package/dist/utils/security.js +0 -22
- package/dist/utils/security.js.map +0 -1
- package/dist/xulux/catalog-client.d.ts +0 -14
- package/dist/xulux/catalog-client.d.ts.map +0 -1
- package/dist/xulux/catalog-client.js +0 -112
- package/dist/xulux/catalog-client.js.map +0 -1
- package/dist/xulux/fallback-catalog.d.ts +0 -7
- package/dist/xulux/fallback-catalog.d.ts.map +0 -1
- package/dist/xulux/fallback-catalog.js +0 -47
- package/dist/xulux/fallback-catalog.js.map +0 -1
- package/dist/xulux/fetch-sandbox.d.ts +0 -5
- package/dist/xulux/fetch-sandbox.d.ts.map +0 -1
- package/dist/xulux/fetch-sandbox.js +0 -40
- package/dist/xulux/fetch-sandbox.js.map +0 -1
- package/dist/xulux/template-service.d.ts +0 -84
- package/dist/xulux/template-service.d.ts.map +0 -1
- package/dist/xulux/template-service.js +0 -223
- package/dist/xulux/template-service.js.map +0 -1
- package/dist/xulux/types.d.ts +0 -55
- package/dist/xulux/types.d.ts.map +0 -1
- package/dist/xulux/types.js +0 -6
- package/dist/xulux/types.js.map +0 -1
- package/src/constants.ts +0 -24
- package/src/prepare-docs/code-examples.ts +0 -158
- package/src/prepare-docs/copy-raw.ts +0 -50
- package/src/prepare-docs/prepare.ts +0 -24
- package/src/prompts/xulux-playground.ts +0 -36
- package/src/tools/docs.ts +0 -255
- package/src/tools/examples.ts +0 -114
- package/src/tools/resources.ts +0 -111
- package/src/tools/search.ts +0 -46
- package/src/tools/tests/completions.test.ts +0 -60
- package/src/tools/tests/directory-size-cap.test.ts +0 -50
- package/src/tools/tests/docs.test.ts +0 -147
- package/src/tools/tests/examples.test.ts +0 -94
- package/src/tools/tests/integration.test.ts +0 -45
- package/src/tools/tests/json-parsing.test.ts +0 -23
- package/src/tools/tests/listings-cache.test.ts +0 -19
- package/src/tools/tests/mcp-protocol.test.ts +0 -216
- package/src/tools/tests/mcp-test-client.ts +0 -111
- package/src/tools/tests/path-traversal.test.ts +0 -84
- package/src/tools/tests/resources.test.ts +0 -133
- package/src/tools/tests/search.test.ts +0 -37
- package/src/tools/tests/test-setup.ts +0 -50
- package/src/tools/tests/xulux-templates.test.ts +0 -325
- package/src/tools/xulux-templates.ts +0 -141
- package/src/utils/cache.ts +0 -20
- package/src/utils/logger.ts +0 -20
- package/src/utils/mcp-format.ts +0 -14
- package/src/utils/mdx.ts +0 -59
- package/src/utils/paths.ts +0 -139
- package/src/utils/search.ts +0 -131
- package/src/utils/security.ts +0 -52
- package/src/utils/tests/cache.test.ts +0 -51
- package/src/utils/tests/mcp-format.test.ts +0 -22
- package/src/utils/tests/security.test.ts +0 -119
- package/src/xulux/catalog-client.ts +0 -150
- package/src/xulux/fallback-catalog.ts +0 -63
- package/src/xulux/fetch-sandbox.ts +0 -56
- package/src/xulux/template-service.ts +0 -406
- package/src/xulux/types.ts +0 -64
|
@@ -1,240 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: ToolGroup
|
|
3
|
-
description: Wrapper for consecutive tool calls with collapsible and styled options.
|
|
4
|
-
platforms: ["react"]
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
import {
|
|
8
|
-
ToolGroupSample,
|
|
9
|
-
ToolGroupStreamingSample,
|
|
10
|
-
} from "@/components/pages/docs/samples/tool-group";
|
|
11
|
-
|
|
12
|
-
A wrapper component that groups consecutive tool calls together, displaying them in a collapsible container with auto-expand behavior during streaming.
|
|
13
|
-
|
|
14
|
-
<ToolGroupSample />
|
|
15
|
-
|
|
16
|
-
## Getting Started
|
|
17
|
-
|
|
18
|
-
<Steps>
|
|
19
|
-
<Step>
|
|
20
|
-
|
|
21
|
-
### Add `tool-group` and `tool-fallback`
|
|
22
|
-
|
|
23
|
-
<InstallCommand shadcn={["tool-group", "tool-fallback"]} />
|
|
24
|
-
|
|
25
|
-
This adds `/components/assistant-ui/tool-group.tsx` and `/components/assistant-ui/tool-fallback.tsx` files to your project, which you can adjust as needed.
|
|
26
|
-
|
|
27
|
-
</Step>
|
|
28
|
-
<Step>
|
|
29
|
-
|
|
30
|
-
### Use it in your application
|
|
31
|
-
|
|
32
|
-
Use `MessagePrimitive.GroupedParts` with `groupPartByType` to map tool-call parts to `"group-tool"`. The group case wraps `children`; the tool-call leaf renders the resolved tool UI or your fallback.
|
|
33
|
-
|
|
34
|
-
```tsx title="/components/assistant-ui/thread.tsx"
|
|
35
|
-
import { MessagePrimitive, groupPartByType } from "@assistant-ui/react";
|
|
36
|
-
import { ToolFallback } from "@/components/assistant-ui/tool-fallback";
|
|
37
|
-
import {
|
|
38
|
-
ToolGroupContent,
|
|
39
|
-
ToolGroupRoot,
|
|
40
|
-
ToolGroupTrigger,
|
|
41
|
-
} from "@/components/assistant-ui/tool-group";
|
|
42
|
-
|
|
43
|
-
const AssistantMessage = () => {
|
|
44
|
-
return (
|
|
45
|
-
<MessagePrimitive.Root>
|
|
46
|
-
<MessagePrimitive.GroupedParts
|
|
47
|
-
groupBy={groupPartByType({
|
|
48
|
-
"tool-call": ["group-tool"],
|
|
49
|
-
})}
|
|
50
|
-
>
|
|
51
|
-
{({ part, children }) => {
|
|
52
|
-
switch (part.type) {
|
|
53
|
-
case "group-tool":
|
|
54
|
-
return (
|
|
55
|
-
<ToolGroupRoot>
|
|
56
|
-
<ToolGroupTrigger
|
|
57
|
-
count={part.indices.length}
|
|
58
|
-
active={part.status.type === "running"}
|
|
59
|
-
/>
|
|
60
|
-
<ToolGroupContent>{children}</ToolGroupContent>
|
|
61
|
-
</ToolGroupRoot>
|
|
62
|
-
);
|
|
63
|
-
case "tool-call":
|
|
64
|
-
return part.toolUI ?? <ToolFallback {...part} />;
|
|
65
|
-
default:
|
|
66
|
-
return null;
|
|
67
|
-
}
|
|
68
|
-
}}
|
|
69
|
-
</MessagePrimitive.GroupedParts>
|
|
70
|
-
</MessagePrimitive.Root>
|
|
71
|
-
);
|
|
72
|
-
};
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
</Step>
|
|
76
|
-
</Steps>
|
|
77
|
-
|
|
78
|
-
## Variants
|
|
79
|
-
|
|
80
|
-
Use the `variant` prop on `ToolGroup.Root` to change the visual style:
|
|
81
|
-
|
|
82
|
-
```tsx
|
|
83
|
-
<ToolGroup.Root variant="outline">...</ToolGroup.Root>
|
|
84
|
-
<ToolGroup.Root variant="muted">...</ToolGroup.Root>
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
| Variant | Description |
|
|
88
|
-
| --------- | ---------------------------------- |
|
|
89
|
-
| `outline` | Rounded border (default) |
|
|
90
|
-
| `ghost` | No additional styling |
|
|
91
|
-
| `muted` | Muted background with border |
|
|
92
|
-
|
|
93
|
-
## Examples
|
|
94
|
-
|
|
95
|
-
### Streaming Demo (Custom UI + Fallback)
|
|
96
|
-
|
|
97
|
-
Interactive demo showing tool group with **custom tool UIs** and `ToolFallback` working together. Watch as weather cards stream in with loading states, followed by a search tool using the fallback UI.
|
|
98
|
-
|
|
99
|
-
<ToolGroupStreamingSample />
|
|
100
|
-
|
|
101
|
-
### Custom Tool UIs
|
|
102
|
-
|
|
103
|
-
ToolGroup works with any custom tool UI components:
|
|
104
|
-
|
|
105
|
-
```tsx
|
|
106
|
-
// Custom Weather Tool UI
|
|
107
|
-
function WeatherToolUI({ location, temperature, condition }) {
|
|
108
|
-
return (
|
|
109
|
-
<div className="flex items-center gap-3 rounded-lg border p-3">
|
|
110
|
-
<WeatherIcon condition={condition} />
|
|
111
|
-
<div>
|
|
112
|
-
<div className="text-xs text-muted-foreground">{location}</div>
|
|
113
|
-
<div className="text-lg font-medium">{temperature}°F</div>
|
|
114
|
-
</div>
|
|
115
|
-
</div>
|
|
116
|
-
);
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
// Use in ToolGroup
|
|
120
|
-
<ToolGroupRoot variant="outline">
|
|
121
|
-
<ToolGroupTrigger count={3} />
|
|
122
|
-
<ToolGroupContent>
|
|
123
|
-
<WeatherToolUI location="New York" temperature={65} condition="Cloudy" />
|
|
124
|
-
<WeatherToolUI location="London" temperature={55} condition="Rainy" />
|
|
125
|
-
<SearchToolUI query="best restaurants" results={24} />
|
|
126
|
-
</ToolGroupContent>
|
|
127
|
-
</ToolGroupRoot>
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
## Composable API
|
|
131
|
-
|
|
132
|
-
All sub-components are exported for custom layouts:
|
|
133
|
-
|
|
134
|
-
| Component | Description |
|
|
135
|
-
| --------- | ----------- |
|
|
136
|
-
| `ToolGroup.Root` | Collapsible container with scroll lock and variants |
|
|
137
|
-
| `ToolGroup.Trigger` | Header with tool count, shimmer animation, and chevron |
|
|
138
|
-
| `ToolGroup.Content` | Animated collapsible content wrapper |
|
|
139
|
-
|
|
140
|
-
```tsx
|
|
141
|
-
import {
|
|
142
|
-
ToolGroup,
|
|
143
|
-
ToolGroupRoot,
|
|
144
|
-
ToolGroupTrigger,
|
|
145
|
-
ToolGroupContent,
|
|
146
|
-
} from "@/components/assistant-ui/tool-group";
|
|
147
|
-
|
|
148
|
-
// Compound component syntax
|
|
149
|
-
<ToolGroup.Root variant="outline" defaultOpen>
|
|
150
|
-
<ToolGroup.Trigger count={3} active={false} />
|
|
151
|
-
<ToolGroup.Content>
|
|
152
|
-
{/* Any tool UI components - custom or ToolFallback */}
|
|
153
|
-
</ToolGroup.Content>
|
|
154
|
-
</ToolGroup.Root>
|
|
155
|
-
```
|
|
156
|
-
|
|
157
|
-
## API Reference
|
|
158
|
-
|
|
159
|
-
### ToolGroupRoot
|
|
160
|
-
|
|
161
|
-
<ParametersTable
|
|
162
|
-
type="ToolGroupRootProps"
|
|
163
|
-
parameters={[
|
|
164
|
-
{
|
|
165
|
-
name: "variant",
|
|
166
|
-
type: '"outline" | "ghost" | "muted"',
|
|
167
|
-
default: '"outline"',
|
|
168
|
-
description: "Visual variant of the tool group container.",
|
|
169
|
-
},
|
|
170
|
-
{
|
|
171
|
-
name: "open",
|
|
172
|
-
type: "boolean",
|
|
173
|
-
description: "Controlled open state.",
|
|
174
|
-
},
|
|
175
|
-
{
|
|
176
|
-
name: "onOpenChange",
|
|
177
|
-
type: "(open: boolean) => void",
|
|
178
|
-
description: "Callback when open state changes.",
|
|
179
|
-
},
|
|
180
|
-
{
|
|
181
|
-
name: "defaultOpen",
|
|
182
|
-
type: "boolean",
|
|
183
|
-
default: "false",
|
|
184
|
-
description: "Initial open state for uncontrolled usage.",
|
|
185
|
-
},
|
|
186
|
-
]}
|
|
187
|
-
/>
|
|
188
|
-
|
|
189
|
-
### ToolGroupTrigger
|
|
190
|
-
|
|
191
|
-
<ParametersTable
|
|
192
|
-
type="ToolGroupTriggerProps"
|
|
193
|
-
parameters={[
|
|
194
|
-
{
|
|
195
|
-
name: "count",
|
|
196
|
-
type: "number",
|
|
197
|
-
required: true,
|
|
198
|
-
description: "Number of tool calls to display in the label.",
|
|
199
|
-
},
|
|
200
|
-
{
|
|
201
|
-
name: "active",
|
|
202
|
-
type: "boolean",
|
|
203
|
-
default: "false",
|
|
204
|
-
description: "Shows loading spinner and shimmer animation when true.",
|
|
205
|
-
},
|
|
206
|
-
]}
|
|
207
|
-
/>
|
|
208
|
-
|
|
209
|
-
### ToolGroup (Legacy Wrapper)
|
|
210
|
-
|
|
211
|
-
`ToolGroup` is kept for existing code that still uses the deprecated `components.ToolGroup` prop on `MessagePrimitive.Parts`. Prefer composing `ToolGroupRoot`, `ToolGroupTrigger`, and `ToolGroupContent` inside `MessagePrimitive.GroupedParts`.
|
|
212
|
-
|
|
213
|
-
<ParametersTable
|
|
214
|
-
type="ToolGroupProps"
|
|
215
|
-
parameters={[
|
|
216
|
-
{
|
|
217
|
-
name: "startIndex",
|
|
218
|
-
type: "number",
|
|
219
|
-
required: true,
|
|
220
|
-
description: "The index of the first tool call in the group.",
|
|
221
|
-
},
|
|
222
|
-
{
|
|
223
|
-
name: "endIndex",
|
|
224
|
-
type: "number",
|
|
225
|
-
required: true,
|
|
226
|
-
description: "The index of the last tool call in the group.",
|
|
227
|
-
},
|
|
228
|
-
{
|
|
229
|
-
name: "children",
|
|
230
|
-
type: "ReactNode",
|
|
231
|
-
required: true,
|
|
232
|
-
description: "The rendered tool call components.",
|
|
233
|
-
},
|
|
234
|
-
]}
|
|
235
|
-
/>
|
|
236
|
-
|
|
237
|
-
## Related Components
|
|
238
|
-
|
|
239
|
-
- [ToolFallback](/docs/ui/tool-fallback) - Default UI for tools without custom renderers
|
|
240
|
-
- [PartGrouping](/docs/ui/part-grouping) - Advanced message part grouping (experimental)
|
|
@@ -1,173 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Voice
|
|
3
|
-
description: Realtime voice session controls with connect, mute, and status indicator.
|
|
4
|
-
platforms: ["react"]
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
import { VoiceSample, VoiceVariantsSample, VoiceStatesSample } from "@/components/pages/docs/samples/voice";
|
|
8
|
-
|
|
9
|
-
A control bar for realtime bidirectional voice sessions with an animated orb indicator. Works with any `RealtimeVoiceAdapter` (LiveKit, ElevenLabs, etc.).
|
|
10
|
-
|
|
11
|
-
<VoiceSample />
|
|
12
|
-
|
|
13
|
-
## Getting Started
|
|
14
|
-
|
|
15
|
-
<Steps>
|
|
16
|
-
<Step>
|
|
17
|
-
|
|
18
|
-
### Add the component
|
|
19
|
-
|
|
20
|
-
<InstallCommand shadcn={["voice"]} />
|
|
21
|
-
|
|
22
|
-
This adds `/components/assistant-ui/voice.tsx` to your project, which you can adjust as needed.
|
|
23
|
-
|
|
24
|
-
</Step>
|
|
25
|
-
<Step>
|
|
26
|
-
|
|
27
|
-
### Configure a voice adapter
|
|
28
|
-
|
|
29
|
-
Pass a `RealtimeVoiceAdapter` to your runtime. See the [Realtime Voice guide](/docs/guides/voice) for details.
|
|
30
|
-
|
|
31
|
-
```tsx
|
|
32
|
-
const runtime = useChatRuntime({
|
|
33
|
-
adapters: {
|
|
34
|
-
voice: myVoiceAdapter,
|
|
35
|
-
},
|
|
36
|
-
});
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
</Step>
|
|
40
|
-
<Step>
|
|
41
|
-
|
|
42
|
-
### Use in your application
|
|
43
|
-
|
|
44
|
-
```tsx title="app/page.tsx"
|
|
45
|
-
import { Thread } from "@/components/assistant-ui/thread";
|
|
46
|
-
import { VoiceControl } from "@/components/assistant-ui/voice";
|
|
47
|
-
import { AuiIf } from "@assistant-ui/react";
|
|
48
|
-
|
|
49
|
-
export default function Chat() {
|
|
50
|
-
return (
|
|
51
|
-
<div className="flex h-full flex-col">
|
|
52
|
-
<AuiIf condition={(s) => s.thread.capabilities.voice}>
|
|
53
|
-
<VoiceControl />
|
|
54
|
-
</AuiIf>
|
|
55
|
-
<div className="min-h-0 flex-1">
|
|
56
|
-
<Thread />
|
|
57
|
-
</div>
|
|
58
|
-
</div>
|
|
59
|
-
);
|
|
60
|
-
}
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
</Step>
|
|
64
|
-
</Steps>
|
|
65
|
-
|
|
66
|
-
## Anatomy
|
|
67
|
-
|
|
68
|
-
The `VoiceControl` component is built with the following hooks and conditionals:
|
|
69
|
-
|
|
70
|
-
```tsx
|
|
71
|
-
import { AuiIf, useVoiceState, useVoiceControls } from "@assistant-ui/react";
|
|
72
|
-
|
|
73
|
-
<div className="aui-voice-control">
|
|
74
|
-
<VoiceIndicator />
|
|
75
|
-
|
|
76
|
-
<AuiIf condition={(s) => s.thread.voice == null}>
|
|
77
|
-
<VoiceConnectButton />
|
|
78
|
-
</AuiIf>
|
|
79
|
-
|
|
80
|
-
<AuiIf condition={(s) => s.thread.voice?.status.type === "running"}>
|
|
81
|
-
<VoiceMuteButton />
|
|
82
|
-
<VoiceDisconnectButton />
|
|
83
|
-
</AuiIf>
|
|
84
|
-
</div>
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
## Examples
|
|
88
|
-
|
|
89
|
-
### Conditionally show voice controls
|
|
90
|
-
|
|
91
|
-
Only render when a voice adapter is configured:
|
|
92
|
-
|
|
93
|
-
```tsx
|
|
94
|
-
<AuiIf condition={(s) => s.thread.capabilities.voice}>
|
|
95
|
-
<VoiceControl />
|
|
96
|
-
</AuiIf>
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
### Voice toggle in composer
|
|
100
|
-
|
|
101
|
-
Add a compact voice toggle button inside the composer action area:
|
|
102
|
-
|
|
103
|
-
```tsx
|
|
104
|
-
function ComposerVoiceToggle() {
|
|
105
|
-
const voiceState = useVoiceState();
|
|
106
|
-
const { connect, disconnect } = useVoiceControls();
|
|
107
|
-
const isActive =
|
|
108
|
-
voiceState?.status.type === "running" ||
|
|
109
|
-
voiceState?.status.type === "starting";
|
|
110
|
-
|
|
111
|
-
return (
|
|
112
|
-
<AuiIf condition={(s) => s.thread.capabilities.voice}>
|
|
113
|
-
<button
|
|
114
|
-
type="button"
|
|
115
|
-
onClick={() => (isActive ? disconnect() : connect())}
|
|
116
|
-
aria-label={isActive ? "End voice" : "Start voice"}
|
|
117
|
-
>
|
|
118
|
-
{isActive ? <PhoneOffIcon /> : <PhoneIcon />}
|
|
119
|
-
</button>
|
|
120
|
-
</AuiIf>
|
|
121
|
-
);
|
|
122
|
-
}
|
|
123
|
-
```
|
|
124
|
-
|
|
125
|
-
### Custom indicator colors
|
|
126
|
-
|
|
127
|
-
Override the indicator styles by targeting the `aui-voice-indicator` class:
|
|
128
|
-
|
|
129
|
-
```css
|
|
130
|
-
.aui-voice-indicator {
|
|
131
|
-
/* Override active color */
|
|
132
|
-
&.bg-green-500 {
|
|
133
|
-
background: theme("colors.blue.500");
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
```
|
|
137
|
-
|
|
138
|
-
## States
|
|
139
|
-
|
|
140
|
-
The `VoiceOrb` responds to five voice session states with distinct animations:
|
|
141
|
-
|
|
142
|
-
<VoiceStatesSample />
|
|
143
|
-
|
|
144
|
-
## Variants
|
|
145
|
-
|
|
146
|
-
Four built-in color palettes. Size is controlled via `className`.
|
|
147
|
-
|
|
148
|
-
<VoiceVariantsSample />
|
|
149
|
-
|
|
150
|
-
## Sub-components
|
|
151
|
-
|
|
152
|
-
| Component | Description |
|
|
153
|
-
|-----------|-------------|
|
|
154
|
-
| `VoiceOrb` | Animated orb visual with gradient, glow, and ripple effects. Accepts `state` and `variant` props. |
|
|
155
|
-
| `VoiceControl` | Control bar with status dot, connect/disconnect, and mute/unmute buttons. |
|
|
156
|
-
| `VoiceConnectButton` | Calls `connect()`. Shown when no session is active. |
|
|
157
|
-
| `VoiceMuteButton` | Toggles `mute()`/`unmute()`. Shown when session is running. |
|
|
158
|
-
| `VoiceDisconnectButton` | Calls `disconnect()`. Shown when session is active. |
|
|
159
|
-
|
|
160
|
-
All sub-components are exported and can be used independently for custom layouts.
|
|
161
|
-
|
|
162
|
-
## State Selectors
|
|
163
|
-
|
|
164
|
-
Use these with `AuiIf` or `useAuiState` to build custom voice UI:
|
|
165
|
-
|
|
166
|
-
| Selector | Type | Description |
|
|
167
|
-
|----------|------|-------------|
|
|
168
|
-
| `s.thread.capabilities.voice` | `boolean` | Whether a voice adapter is configured |
|
|
169
|
-
| `s.thread.voice` | `VoiceSessionState \| undefined` | `undefined` when no session |
|
|
170
|
-
| `s.thread.voice?.status.type` | `"starting" \| "running" \| "ended"` | Session phase |
|
|
171
|
-
| `s.thread.voice?.isMuted` | `boolean` | Microphone muted state |
|
|
172
|
-
| `s.thread.voice?.mode` | `"listening" \| "speaking"` | Who is currently active (user or agent) |
|
|
173
|
-
| `useVoiceVolume()` | `number` | Real-time audio level (0–1), separate from main state to avoid 20Hz re-renders |
|
|
@@ -1,237 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: heat-graph
|
|
3
|
-
description: Headless, composable activity heatmap components for React.
|
|
4
|
-
platforms: ["react"]
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
import { HeatGraphDemo } from "@/app/(demos)/heat-graph/heat-graph-demo";
|
|
8
|
-
|
|
9
|
-
`heat-graph` provides headless, Radix-style primitives for building GitHub-style activity heatmap graphs.
|
|
10
|
-
|
|
11
|
-
- **Composable** — Radix-style compound components you fully control
|
|
12
|
-
- **Headless** — Zero styling opinions, bring your own CSS/Tailwind
|
|
13
|
-
- **Tooltip built-in** — Powered by Radix Popper for positioning
|
|
14
|
-
- **Customizable bucketing** — Plug in your own classification function
|
|
15
|
-
|
|
16
|
-
<HeatGraphDemo />
|
|
17
|
-
|
|
18
|
-
## Installation
|
|
19
|
-
|
|
20
|
-
<Tabs items={["shadcn", "npm", "pnpm", "yarn"]}>
|
|
21
|
-
<Tab value="shadcn">
|
|
22
|
-
```sh
|
|
23
|
-
npx shadcn@latest add @assistant-ui/heat-graph
|
|
24
|
-
```
|
|
25
|
-
This installs a pre-styled `HeatGraph` component to `components/assistant-ui/heat-graph.tsx` along with the `heat-graph` package. The `@assistant-ui` namespace resolves through the registry entry configured in [Manual Setup](/docs/installation#manual-setup).
|
|
26
|
-
</Tab>
|
|
27
|
-
<Tab value="npm">
|
|
28
|
-
```sh
|
|
29
|
-
npm install heat-graph
|
|
30
|
-
```
|
|
31
|
-
</Tab>
|
|
32
|
-
<Tab value="pnpm">
|
|
33
|
-
```sh
|
|
34
|
-
pnpm add heat-graph
|
|
35
|
-
```
|
|
36
|
-
</Tab>
|
|
37
|
-
<Tab value="yarn">
|
|
38
|
-
```sh
|
|
39
|
-
yarn add heat-graph
|
|
40
|
-
```
|
|
41
|
-
</Tab>
|
|
42
|
-
</Tabs>
|
|
43
|
-
|
|
44
|
-
## Quick Start
|
|
45
|
-
|
|
46
|
-
```tsx title="components/activity-graph.tsx"
|
|
47
|
-
"use client";
|
|
48
|
-
|
|
49
|
-
import * as HeatGraph from "heat-graph";
|
|
50
|
-
|
|
51
|
-
const COLORS = ["#ebedf0", "#c6d7f9", "#8fb0f3", "#5888e8", "#2563eb"];
|
|
52
|
-
|
|
53
|
-
export function ActivityGraph({ data }: { data: HeatGraph.DataPoint[] }) {
|
|
54
|
-
return (
|
|
55
|
-
<HeatGraph.Root data={data} weekStart="monday" colorScale={COLORS}>
|
|
56
|
-
<HeatGraph.Grid className="gap-[3px]">
|
|
57
|
-
{() => (
|
|
58
|
-
<HeatGraph.Cell className="aspect-square rounded-sm" />
|
|
59
|
-
)}
|
|
60
|
-
</HeatGraph.Grid>
|
|
61
|
-
<HeatGraph.Tooltip>
|
|
62
|
-
{({ cell }) => (
|
|
63
|
-
<div>
|
|
64
|
-
{cell.count} contributions on {cell.date.toLocaleDateString()}
|
|
65
|
-
</div>
|
|
66
|
-
)}
|
|
67
|
-
</HeatGraph.Tooltip>
|
|
68
|
-
</HeatGraph.Root>
|
|
69
|
-
);
|
|
70
|
-
}
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
<Callout type="info">
|
|
74
|
-
Components using Heat Graph must be Client Components (`"use client"`), since they rely on React Context and interactivity.
|
|
75
|
-
</Callout>
|
|
76
|
-
|
|
77
|
-
## Anatomy
|
|
78
|
-
|
|
79
|
-
```tsx
|
|
80
|
-
import * as HeatGraph from "heat-graph";
|
|
81
|
-
|
|
82
|
-
<HeatGraph.Root data={data} colorScale={colors}>
|
|
83
|
-
|
|
84
|
-
{/* Month labels — iterates internally, renders each label */}
|
|
85
|
-
<HeatGraph.MonthLabels>
|
|
86
|
-
{({ label, totalWeeks }) => (
|
|
87
|
-
<span style={{ left: `${(label.column / totalWeeks) * 100}%` }}>
|
|
88
|
-
{HeatGraph.MONTH_SHORT[label.month]}
|
|
89
|
-
</span>
|
|
90
|
-
)}
|
|
91
|
-
</HeatGraph.MonthLabels>
|
|
92
|
-
|
|
93
|
-
{/* Day-of-week labels — iterates internally, renders each label */}
|
|
94
|
-
<HeatGraph.DayLabels>
|
|
95
|
-
{({ label }) => (
|
|
96
|
-
<span>{HeatGraph.DAY_SHORT[label.dayOfWeek]}</span>
|
|
97
|
-
)}
|
|
98
|
-
</HeatGraph.DayLabels>
|
|
99
|
-
|
|
100
|
-
{/* Grid + Cells — iterates internally, renders each cell */}
|
|
101
|
-
<HeatGraph.Grid>
|
|
102
|
-
{() => <HeatGraph.Cell />}
|
|
103
|
-
</HeatGraph.Grid>
|
|
104
|
-
|
|
105
|
-
{/* Legend — iterates internally, renders each level */}
|
|
106
|
-
<HeatGraph.Legend>
|
|
107
|
-
{() => <HeatGraph.LegendLevel />}
|
|
108
|
-
</HeatGraph.Legend>
|
|
109
|
-
|
|
110
|
-
{/* Tooltip */}
|
|
111
|
-
<HeatGraph.Tooltip>
|
|
112
|
-
{({ cell }) => <div>{cell.count} on {cell.date.toLocaleDateString()}</div>}
|
|
113
|
-
</HeatGraph.Tooltip>
|
|
114
|
-
|
|
115
|
-
</HeatGraph.Root>
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
## API Reference
|
|
119
|
-
|
|
120
|
-
### Root
|
|
121
|
-
|
|
122
|
-
The top-level provider. Renders a `<div>` that computes the grid layout and provides state to all children. Accepts all standard div props.
|
|
123
|
-
|
|
124
|
-
| Prop | Type | Default | Description |
|
|
125
|
-
| ------------ | ---------------------- | ------------------- | -------------------------------------------------- |
|
|
126
|
-
| `data` | `DataPoint[]` | required | Array of `{ date: string \| Date, count: number }` |
|
|
127
|
-
| `start` | `string \| Date` | 1 year before `end` | Start of the date range |
|
|
128
|
-
| `end` | `string \| Date` | today | End of the date range |
|
|
129
|
-
| `weekStart` | `"sunday" \| "monday"` | `"sunday"` | First day of the week |
|
|
130
|
-
| `classify` | `ClassifyFn` | `autoLevels(5)` | Bucketing function mapping counts to levels |
|
|
131
|
-
| `colorScale` | `string[]` | — | Array of colors, one per level (index 0 = lowest) |
|
|
132
|
-
|
|
133
|
-
### Grid
|
|
134
|
-
|
|
135
|
-
A `<div>` with CSS Grid layout. Renders `gridTemplateColumns` and `gridTemplateRows` based on the computed data. Accepts all standard div props.
|
|
136
|
-
|
|
137
|
-
Iterates over cells internally, calling the children render function for each cell. Each cell is wrapped in a context that `Cell` reads from.
|
|
138
|
-
|
|
139
|
-
```ts
|
|
140
|
-
type CellData = {
|
|
141
|
-
date: Date;
|
|
142
|
-
count: number;
|
|
143
|
-
level: number;
|
|
144
|
-
column: number;
|
|
145
|
-
row: number;
|
|
146
|
-
};
|
|
147
|
-
```
|
|
148
|
-
|
|
149
|
-
### Cell
|
|
150
|
-
|
|
151
|
-
A `<div>` that reads from cell context. Automatically applies:
|
|
152
|
-
- Grid positioning (`gridColumn`, `gridRow`)
|
|
153
|
-
- Background color from `colorScale`
|
|
154
|
-
- Tooltip hover handlers
|
|
155
|
-
|
|
156
|
-
Accepts all standard div props. Pass `colorScale` to override the Root-level color scale.
|
|
157
|
-
|
|
158
|
-
### MonthLabels
|
|
159
|
-
|
|
160
|
-
Iterates over month labels, calling the children render function for each label.
|
|
161
|
-
|
|
162
|
-
```tsx
|
|
163
|
-
<HeatGraph.MonthLabels>
|
|
164
|
-
{({ label, totalWeeks }) => (
|
|
165
|
-
<span style={{ left: `${(label.column / totalWeeks) * 100}%` }}>
|
|
166
|
-
{HeatGraph.MONTH_SHORT[label.month]}
|
|
167
|
-
</span>
|
|
168
|
-
)}
|
|
169
|
-
</HeatGraph.MonthLabels>
|
|
170
|
-
```
|
|
171
|
-
|
|
172
|
-
Each label has `{ month: number, column: number }`. Use `totalWeeks` to compute label positions. Use `MONTH_SHORT[label.month]` for English labels, or format with `Intl.DateTimeFormat` for localization.
|
|
173
|
-
|
|
174
|
-
### DayLabels
|
|
175
|
-
|
|
176
|
-
Iterates over day-of-week labels, calling the children render function for each label.
|
|
177
|
-
|
|
178
|
-
```tsx
|
|
179
|
-
<HeatGraph.DayLabels>
|
|
180
|
-
{({ label }) => (
|
|
181
|
-
<span>{HeatGraph.DAY_SHORT[label.dayOfWeek]}</span>
|
|
182
|
-
)}
|
|
183
|
-
</HeatGraph.DayLabels>
|
|
184
|
-
```
|
|
185
|
-
|
|
186
|
-
Each label has `{ dayOfWeek: number, row: number }` where `dayOfWeek` is 0=Sun..6=Sat. Use `DAY_SHORT[label.dayOfWeek]` for English labels, or format with `Intl.DateTimeFormat` for localization.
|
|
187
|
-
|
|
188
|
-
### Legend
|
|
189
|
-
|
|
190
|
-
Iterates over legend levels, calling the children render function for each item. Each item has `{ level: number, color: string | undefined }`.
|
|
191
|
-
|
|
192
|
-
### LegendLevel
|
|
193
|
-
|
|
194
|
-
A `<div>` that reads from legend item context. Automatically applies `backgroundColor` from the color scale. Use inside `Legend`.
|
|
195
|
-
|
|
196
|
-
### Tooltip
|
|
197
|
-
|
|
198
|
-
Renders only when a cell is hovered. Positioned by Radix Popper relative to the hovered cell. Accepts Radix Popper `Content` props (`side`, `sideOffset`, `align`, etc.).
|
|
199
|
-
|
|
200
|
-
```tsx
|
|
201
|
-
<HeatGraph.Tooltip side="top" sideOffset={8} className="...">
|
|
202
|
-
{({ cell }) => <div>{cell.count} contributions</div>}
|
|
203
|
-
</HeatGraph.Tooltip>
|
|
204
|
-
```
|
|
205
|
-
|
|
206
|
-
### autoLevels(n)
|
|
207
|
-
|
|
208
|
-
Default classification function. Maps counts into `n` evenly-distributed levels (0 to n-1). Level 0 is always count 0.
|
|
209
|
-
|
|
210
|
-
```ts
|
|
211
|
-
type ClassifyFn = (counts: number[]) => (count: number) => number;
|
|
212
|
-
```
|
|
213
|
-
|
|
214
|
-
To provide a custom classifier:
|
|
215
|
-
|
|
216
|
-
```tsx
|
|
217
|
-
const myClassify: HeatGraph.ClassifyFn = (counts) => {
|
|
218
|
-
const p75 = percentile(counts, 75);
|
|
219
|
-
return (count) => {
|
|
220
|
-
if (count === 0) return 0;
|
|
221
|
-
if (count < p75 * 0.25) return 1;
|
|
222
|
-
if (count < p75 * 0.5) return 2;
|
|
223
|
-
if (count < p75) return 3;
|
|
224
|
-
return 4;
|
|
225
|
-
};
|
|
226
|
-
};
|
|
227
|
-
|
|
228
|
-
<HeatGraph.Root data={data} classify={myClassify}>
|
|
229
|
-
```
|
|
230
|
-
|
|
231
|
-
### MONTH_SHORT
|
|
232
|
-
|
|
233
|
-
English month abbreviations array: `["Jan", "Feb", ..., "Dec"]`. Index by `MonthLabel.month`.
|
|
234
|
-
|
|
235
|
-
### DAY_SHORT
|
|
236
|
-
|
|
237
|
-
English day abbreviations array: `["Sun", "Mon", ..., "Sat"]`. Index by `DayLabel.dayOfWeek`.
|