@assistant-ui/mcp-docs-server 0.2.3 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -43
- package/dist/index.d.ts +2 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -91
- package/dist/index.js.map +1 -1
- package/dist/proxy.d.ts +9 -0
- package/dist/proxy.d.ts.map +1 -0
- package/dist/proxy.js +91 -0
- package/dist/proxy.js.map +1 -0
- package/package.json +8 -12
- package/src/index.ts +3 -115
- package/src/proxy.test.ts +385 -0
- package/src/proxy.ts +126 -0
- package/.docs/organized/code-examples/waterfall.md +0 -807
- package/.docs/organized/code-examples/with-a2a.md +0 -675
- package/.docs/organized/code-examples/with-ag-ui.md +0 -553
- package/.docs/organized/code-examples/with-ai-sdk-v7.md +0 -466
- package/.docs/organized/code-examples/with-artifacts.md +0 -815
- package/.docs/organized/code-examples/with-assistant-transport.md +0 -576
- package/.docs/organized/code-examples/with-browser-extension.md +0 -371
- package/.docs/organized/code-examples/with-chain-of-thought.md +0 -962
- package/.docs/organized/code-examples/with-cloud-standalone.md +0 -681
- package/.docs/organized/code-examples/with-cloud.md +0 -439
- package/.docs/organized/code-examples/with-custom-thread-list.md +0 -569
- package/.docs/organized/code-examples/with-elevenlabs-conversational.md +0 -527
- package/.docs/organized/code-examples/with-elevenlabs-scribe.md +0 -697
- package/.docs/organized/code-examples/with-eve.md +0 -405
- package/.docs/organized/code-examples/with-expo.md +0 -2246
- package/.docs/organized/code-examples/with-external-store.md +0 -421
- package/.docs/organized/code-examples/with-ffmpeg.md +0 -829
- package/.docs/organized/code-examples/with-generative-ui.md +0 -1810
- package/.docs/organized/code-examples/with-google-adk.md +0 -368
- package/.docs/organized/code-examples/with-heat-graph.md +0 -304
- package/.docs/organized/code-examples/with-image-generation.md +0 -463
- package/.docs/organized/code-examples/with-interactables.md +0 -733
- package/.docs/organized/code-examples/with-langchain.md +0 -446
- package/.docs/organized/code-examples/with-langgraph.md +0 -855
- package/.docs/organized/code-examples/with-livekit.md +0 -643
- package/.docs/organized/code-examples/with-mcp.md +0 -782
- package/.docs/organized/code-examples/with-nuxt.md +0 -2428
- package/.docs/organized/code-examples/with-opencode.md +0 -1974
- package/.docs/organized/code-examples/with-openui.md +0 -450
- package/.docs/organized/code-examples/with-pi.md +0 -2084
- package/.docs/organized/code-examples/with-react-hook-form.md +0 -727
- package/.docs/organized/code-examples/with-react-ink-web.md +0 -740
- package/.docs/organized/code-examples/with-react-ink.md +0 -473
- package/.docs/organized/code-examples/with-react-router.md +0 -936
- package/.docs/organized/code-examples/with-resumable-stream.md +0 -668
- package/.docs/organized/code-examples/with-store.md +0 -679
- package/.docs/organized/code-examples/with-svelte.md +0 -415
- package/.docs/organized/code-examples/with-sveltekit.md +0 -1061
- package/.docs/organized/code-examples/with-tanstack.md +0 -812
- package/.docs/organized/code-examples/with-tap-runtime.md +0 -813
- package/.docs/organized/code-examples/with-virtualized-thread.md +0 -681
- package/.docs/organized/code-examples/with-vue.md +0 -408
- package/.docs/raw/docs/(getting-started)/architecture.mdx +0 -146
- package/.docs/raw/docs/(getting-started)/base-ui.mdx +0 -39
- package/.docs/raw/docs/(getting-started)/cli.mdx +0 -542
- package/.docs/raw/docs/(getting-started)/devtools.mdx +0 -79
- package/.docs/raw/docs/(getting-started)/index.mdx +0 -23
- package/.docs/raw/docs/(getting-started)/installation.mdx +0 -483
- package/.docs/raw/docs/(getting-started)/llm.mdx +0 -211
- package/.docs/raw/docs/(getting-started)/rtl.mdx +0 -78
- package/.docs/raw/docs/(reference)/api-reference/adapters/attachments.mdx +0 -36
- package/.docs/raw/docs/(reference)/api-reference/adapters/feedback.mdx +0 -20
- package/.docs/raw/docs/(reference)/api-reference/adapters/index.mdx +0 -34
- package/.docs/raw/docs/(reference)/api-reference/adapters/model.mdx +0 -44
- package/.docs/raw/docs/(reference)/api-reference/adapters/persistence.mdx +0 -59
- package/.docs/raw/docs/(reference)/api-reference/adapters/runtime.mdx +0 -20
- package/.docs/raw/docs/(reference)/api-reference/adapters/suggestions.mdx +0 -26
- package/.docs/raw/docs/(reference)/api-reference/context-providers/assistant-runtime-provider.mdx +0 -84
- package/.docs/raw/docs/(reference)/api-reference/context-providers/index.mdx +0 -22
- package/.docs/raw/docs/(reference)/api-reference/context-providers/scoped-providers.mdx +0 -64
- package/.docs/raw/docs/(reference)/api-reference/external-store/index.mdx +0 -22
- package/.docs/raw/docs/(reference)/api-reference/external-store/message-conversion.mdx +0 -57
- package/.docs/raw/docs/(reference)/api-reference/external-store/runtime.mdx +0 -49
- package/.docs/raw/docs/(reference)/api-reference/generative-ui/a2ui.mdx +0 -40
- package/.docs/raw/docs/(reference)/api-reference/generative-ui/actions.mdx +0 -56
- package/.docs/raw/docs/(reference)/api-reference/generative-ui/components.mdx +0 -86
- package/.docs/raw/docs/(reference)/api-reference/generative-ui/index.mdx +0 -39
- package/.docs/raw/docs/(reference)/api-reference/generative-ui/json-generative-ui.mdx +0 -42
- package/.docs/raw/docs/(reference)/api-reference/generative-ui/rendering.mdx +0 -84
- package/.docs/raw/docs/(reference)/api-reference/generative-ui/slack.mdx +0 -85
- package/.docs/raw/docs/(reference)/api-reference/generative-ui/spec.mdx +0 -45
- package/.docs/raw/docs/(reference)/api-reference/generative-ui/teams.mdx +0 -93
- package/.docs/raw/docs/(reference)/api-reference/generative-ui/tokens.mdx +0 -62
- package/.docs/raw/docs/(reference)/api-reference/hooks/composer-triggers.mdx +0 -129
- package/.docs/raw/docs/(reference)/api-reference/hooks/index.mdx +0 -31
- package/.docs/raw/docs/(reference)/api-reference/hooks/model-context.mdx +0 -34
- package/.docs/raw/docs/(reference)/api-reference/hooks/primitives.mdx +0 -350
- package/.docs/raw/docs/(reference)/api-reference/hooks/runtimes.mdx +0 -28
- package/.docs/raw/docs/(reference)/api-reference/hooks/state.mdx +0 -97
- package/.docs/raw/docs/(reference)/api-reference/integrations/ai-sdk.mdx +0 -200
- package/.docs/raw/docs/(reference)/api-reference/integrations/cloud-ai-sdk.mdx +0 -24
- package/.docs/raw/docs/(reference)/api-reference/integrations/eve.mdx +0 -118
- package/.docs/raw/docs/(reference)/api-reference/integrations/index.mdx +0 -28
- package/.docs/raw/docs/(reference)/api-reference/integrations/react-data-stream.mdx +0 -37
- package/.docs/raw/docs/(reference)/api-reference/model-context/context.mdx +0 -50
- package/.docs/raw/docs/(reference)/api-reference/model-context/index.mdx +0 -22
- package/.docs/raw/docs/(reference)/api-reference/model-context/registry.mdx +0 -20
- package/.docs/raw/docs/(reference)/api-reference/overview.mdx +0 -566
- package/.docs/raw/docs/(reference)/api-reference/primitives/action-bar-more.mdx +0 -152
- package/.docs/raw/docs/(reference)/api-reference/primitives/action-bar.mdx +0 -239
- package/.docs/raw/docs/(reference)/api-reference/primitives/assistant-if.mdx +0 -208
- package/.docs/raw/docs/(reference)/api-reference/primitives/assistant-modal.mdx +0 -108
- package/.docs/raw/docs/(reference)/api-reference/primitives/attachment.mdx +0 -99
- package/.docs/raw/docs/(reference)/api-reference/primitives/branch-picker.mdx +0 -145
- package/.docs/raw/docs/(reference)/api-reference/primitives/chain-of-thought.mdx +0 -82
- package/.docs/raw/docs/(reference)/api-reference/primitives/composer.mdx +0 -637
- package/.docs/raw/docs/(reference)/api-reference/primitives/composition.mdx +0 -22
- package/.docs/raw/docs/(reference)/api-reference/primitives/error.mdx +0 -65
- package/.docs/raw/docs/(reference)/api-reference/primitives/index.mdx +0 -73
- package/.docs/raw/docs/(reference)/api-reference/primitives/message-part.mdx +0 -117
- package/.docs/raw/docs/(reference)/api-reference/primitives/message.mdx +0 -339
- package/.docs/raw/docs/(reference)/api-reference/primitives/queue-item.mdx +0 -77
- package/.docs/raw/docs/(reference)/api-reference/primitives/selection-toolbar.mdx +0 -88
- package/.docs/raw/docs/(reference)/api-reference/primitives/suggestion.mdx +0 -81
- package/.docs/raw/docs/(reference)/api-reference/primitives/thread-list-item-more.mdx +0 -129
- package/.docs/raw/docs/(reference)/api-reference/primitives/thread-list-item.mdx +0 -138
- package/.docs/raw/docs/(reference)/api-reference/primitives/thread-list.mdx +0 -122
- package/.docs/raw/docs/(reference)/api-reference/primitives/thread.mdx +0 -289
- package/.docs/raw/docs/(reference)/api-reference/runtimes/assistant-runtime.mdx +0 -20
- package/.docs/raw/docs/(reference)/api-reference/runtimes/attachment-runtime.mdx +0 -24
- package/.docs/raw/docs/(reference)/api-reference/runtimes/composer-runtime.mdx +0 -32
- package/.docs/raw/docs/(reference)/api-reference/runtimes/index.mdx +0 -43
- package/.docs/raw/docs/(reference)/api-reference/runtimes/message-part-runtime.mdx +0 -43
- package/.docs/raw/docs/(reference)/api-reference/runtimes/message-runtime.mdx +0 -24
- package/.docs/raw/docs/(reference)/api-reference/runtimes/queue-state.mdx +0 -20
- package/.docs/raw/docs/(reference)/api-reference/runtimes/thread-list-item-runtime.mdx +0 -24
- package/.docs/raw/docs/(reference)/api-reference/runtimes/thread-list-runtime.mdx +0 -24
- package/.docs/raw/docs/(reference)/api-reference/runtimes/thread-runtime.mdx +0 -36
- package/.docs/raw/docs/(reference)/api-reference/tools/component-tools.mdx +0 -85
- package/.docs/raw/docs/(reference)/api-reference/tools/index.mdx +0 -45
- package/.docs/raw/docs/(reference)/api-reference/tools/interactables-legacy.mdx +0 -55
- package/.docs/raw/docs/(reference)/api-reference/tools/interactables.mdx +0 -151
- package/.docs/raw/docs/(reference)/api-reference/tools/rendering.mdx +0 -106
- package/.docs/raw/docs/(reference)/api-reference/tools/status.mdx +0 -62
- package/.docs/raw/docs/(reference)/api-reference/tools/toolkits.mdx +0 -178
- package/.docs/raw/docs/(reference)/api-reference/transport/assistant-transport.mdx +0 -48
- package/.docs/raw/docs/(reference)/api-reference/transport/frame.mdx +0 -62
- package/.docs/raw/docs/(reference)/api-reference/transport/index.mdx +0 -22
- package/.docs/raw/docs/(reference)/api-reference/utilities/index.mdx +0 -19
- package/.docs/raw/docs/(reference)/api-reference/utilities/miscellaneous.mdx +0 -152
- package/.docs/raw/docs/(reference)/api-reference/voice/index.mdx +0 -22
- package/.docs/raw/docs/(reference)/api-reference/voice/session.mdx +0 -54
- package/.docs/raw/docs/(reference)/api-reference/voice/speech-dictation.mdx +0 -36
- package/.docs/raw/docs/cloud/ai-sdk-assistant-ui.mdx +0 -527
- package/.docs/raw/docs/cloud/ai-sdk.mdx +0 -604
- package/.docs/raw/docs/cloud/authorization.mdx +0 -252
- package/.docs/raw/docs/cloud/index.mdx +0 -46
- package/.docs/raw/docs/cloud/langgraph.mdx +0 -554
- package/.docs/raw/docs/copilots/assistant-frame.mdx +0 -411
- package/.docs/raw/docs/copilots/make-assistant-visible.mdx +0 -82
- package/.docs/raw/docs/copilots/model-context.mdx +0 -156
- package/.docs/raw/docs/copilots/motivation.mdx +0 -202
- package/.docs/raw/docs/copilots/use-assistant-instructions.mdx +0 -64
- package/.docs/raw/docs/guides/attachments.mdx +0 -619
- package/.docs/raw/docs/guides/branching.mdx +0 -76
- package/.docs/raw/docs/guides/chain-of-thought.mdx +0 -164
- package/.docs/raw/docs/guides/chatgpt-subscription.mdx +0 -108
- package/.docs/raw/docs/guides/context-api.mdx +0 -619
- package/.docs/raw/docs/guides/dictation.mdx +0 -298
- package/.docs/raw/docs/guides/editing.mdx +0 -102
- package/.docs/raw/docs/guides/electron.mdx +0 -369
- package/.docs/raw/docs/guides/headless-composer-input.mdx +0 -113
- package/.docs/raw/docs/guides/image-generation.mdx +0 -74
- package/.docs/raw/docs/guides/index.mdx +0 -117
- package/.docs/raw/docs/guides/input-history.mdx +0 -55
- package/.docs/raw/docs/guides/latex.mdx +0 -158
- package/.docs/raw/docs/guides/mentions.mdx +0 -575
- package/.docs/raw/docs/guides/message-timing.mdx +0 -215
- package/.docs/raw/docs/guides/quoting.mdx +0 -169
- package/.docs/raw/docs/guides/resumable-stream-deployment.mdx +0 -212
- package/.docs/raw/docs/guides/resumable-stream-stores.mdx +0 -152
- package/.docs/raw/docs/guides/resumable-streams.mdx +0 -292
- package/.docs/raw/docs/guides/slash-commands.mdx +0 -358
- package/.docs/raw/docs/guides/speech.mdx +0 -172
- package/.docs/raw/docs/guides/suggestions.mdx +0 -384
- package/.docs/raw/docs/guides/virtualization.mdx +0 -133
- package/.docs/raw/docs/guides/voice.mdx +0 -310
- package/.docs/raw/docs/ink/adapters.mdx +0 -99
- package/.docs/raw/docs/ink/custom-backend.mdx +0 -254
- package/.docs/raw/docs/ink/hooks.mdx +0 -469
- package/.docs/raw/docs/ink/index.mdx +0 -237
- package/.docs/raw/docs/ink/migration.mdx +0 -138
- package/.docs/raw/docs/ink/primitives.mdx +0 -1259
- package/.docs/raw/docs/integrations/attachments/custom-adapter.mdx +0 -528
- package/.docs/raw/docs/integrations/auth/better-auth.mdx +0 -188
- package/.docs/raw/docs/integrations/auth/clerk.mdx +0 -166
- package/.docs/raw/docs/integrations/auth/next-auth.mdx +0 -191
- package/.docs/raw/docs/integrations/frameworks/ai-sdk.mdx +0 -88
- package/.docs/raw/docs/integrations/frameworks/cloudflare-agents.mdx +0 -283
- package/.docs/raw/docs/integrations/frameworks/mastra/full-stack.mdx +0 -188
- package/.docs/raw/docs/integrations/frameworks/mastra/overview.mdx +0 -57
- package/.docs/raw/docs/integrations/frameworks/mastra/separate-server.mdx +0 -201
- package/.docs/raw/docs/integrations/gateways/index.mdx +0 -162
- package/.docs/raw/docs/integrations/index.mdx +0 -178
- package/.docs/raw/docs/integrations/observability/helicone.mdx +0 -129
- package/.docs/raw/docs/integrations/observability/langfuse.mdx +0 -161
- package/.docs/raw/docs/integrations/observability/langsmith.mdx +0 -151
- package/.docs/raw/docs/integrations/persistence/custom-adapter.mdx +0 -773
- package/.docs/raw/docs/migrations/deprecation-policy.mdx +0 -42
- package/.docs/raw/docs/migrations/index.mdx +0 -50
- package/.docs/raw/docs/migrations/react-compatibility.mdx +0 -74
- package/.docs/raw/docs/migrations/react-langgraph-v0-7.mdx +0 -328
- package/.docs/raw/docs/migrations/toolkit-tools.mdx +0 -236
- package/.docs/raw/docs/migrations/v0-11.mdx +0 -172
- package/.docs/raw/docs/migrations/v0-12.mdx +0 -302
- package/.docs/raw/docs/migrations/v0-14.mdx +0 -297
- package/.docs/raw/docs/migrations/v0-15.mdx +0 -270
- package/.docs/raw/docs/primitives/action-bar.mdx +0 -352
- package/.docs/raw/docs/primitives/assistant-modal.mdx +0 -216
- package/.docs/raw/docs/primitives/attachment.mdx +0 -217
- package/.docs/raw/docs/primitives/branch-picker.mdx +0 -222
- package/.docs/raw/docs/primitives/chain-of-thought.mdx +0 -315
- package/.docs/raw/docs/primitives/composer.mdx +0 -659
- package/.docs/raw/docs/primitives/error.mdx +0 -142
- package/.docs/raw/docs/primitives/index.mdx +0 -99
- package/.docs/raw/docs/primitives/message.mdx +0 -618
- package/.docs/raw/docs/primitives/selection-toolbar.mdx +0 -191
- package/.docs/raw/docs/primitives/suggestion.mdx +0 -254
- package/.docs/raw/docs/primitives/thread-list.mdx +0 -467
- package/.docs/raw/docs/primitives/thread.mdx +0 -509
- package/.docs/raw/docs/react-native/adapters.mdx +0 -94
- package/.docs/raw/docs/react-native/custom-backend.mdx +0 -207
- package/.docs/raw/docs/react-native/hooks.mdx +0 -339
- package/.docs/raw/docs/react-native/index.mdx +0 -289
- package/.docs/raw/docs/react-native/migration.mdx +0 -142
- package/.docs/raw/docs/react-native/primitives.mdx +0 -976
- package/.docs/raw/docs/runtimes/a2a/client-and-hooks.mdx +0 -399
- package/.docs/raw/docs/runtimes/a2a/overview.mdx +0 -60
- package/.docs/raw/docs/runtimes/a2a/quickstart.mdx +0 -216
- package/.docs/raw/docs/runtimes/ag-ui/agent-state.mdx +0 -124
- package/.docs/raw/docs/runtimes/ag-ui/overview.mdx +0 -70
- package/.docs/raw/docs/runtimes/ag-ui/quickstart.mdx +0 -243
- package/.docs/raw/docs/runtimes/ag-ui/runtime-options.mdx +0 -267
- package/.docs/raw/docs/runtimes/ai-sdk/overview.mdx +0 -61
- package/.docs/raw/docs/runtimes/ai-sdk/v4-legacy.mdx +0 -122
- package/.docs/raw/docs/runtimes/ai-sdk/v5-legacy.mdx +0 -135
- package/.docs/raw/docs/runtimes/ai-sdk/v6-legacy.mdx +0 -636
- package/.docs/raw/docs/runtimes/ai-sdk/v7.mdx +0 -731
- package/.docs/raw/docs/runtimes/claude-managed-agents.mdx +0 -118
- package/.docs/raw/docs/runtimes/concepts/adapters.mdx +0 -265
- package/.docs/raw/docs/runtimes/concepts/architecture.mdx +0 -167
- package/.docs/raw/docs/runtimes/concepts/stability.mdx +0 -68
- package/.docs/raw/docs/runtimes/concepts/threads.mdx +0 -513
- package/.docs/raw/docs/runtimes/custom/assistant-transport.mdx +0 -763
- package/.docs/raw/docs/runtimes/custom/data-stream.mdx +0 -339
- package/.docs/raw/docs/runtimes/custom/external-store.mdx +0 -957
- package/.docs/raw/docs/runtimes/custom/local-runtime.mdx +0 -902
- package/.docs/raw/docs/runtimes/custom/overview.mdx +0 -71
- package/.docs/raw/docs/runtimes/eve/overview.mdx +0 -151
- package/.docs/raw/docs/runtimes/eve/quickstart.mdx +0 -192
- package/.docs/raw/docs/runtimes/google-adk/api.mdx +0 -256
- package/.docs/raw/docs/runtimes/google-adk/hooks.mdx +0 -784
- package/.docs/raw/docs/runtimes/google-adk/overview.mdx +0 -69
- package/.docs/raw/docs/runtimes/google-adk/quickstart.mdx +0 -229
- package/.docs/raw/docs/runtimes/langchain.mdx +0 -901
- package/.docs/raw/docs/runtimes/langgraph/agent-state.mdx +0 -181
- package/.docs/raw/docs/runtimes/langgraph/generative-ui.mdx +0 -305
- package/.docs/raw/docs/runtimes/langgraph/interrupts.mdx +0 -104
- package/.docs/raw/docs/runtimes/langgraph/overview.mdx +0 -84
- package/.docs/raw/docs/runtimes/langgraph/quickstart.mdx +0 -496
- package/.docs/raw/docs/runtimes/langgraph/streaming.mdx +0 -144
- package/.docs/raw/docs/runtimes/langgraph/threads.mdx +0 -113
- package/.docs/raw/docs/runtimes/langgraph/tutorial/introduction.mdx +0 -29
- package/.docs/raw/docs/runtimes/langgraph/tutorial/part-1.mdx +0 -93
- package/.docs/raw/docs/runtimes/langgraph/tutorial/part-2.mdx +0 -347
- package/.docs/raw/docs/runtimes/langgraph/tutorial/part-3.mdx +0 -393
- package/.docs/raw/docs/runtimes/opencode/hooks.mdx +0 -194
- package/.docs/raw/docs/runtimes/opencode/overview.mdx +0 -58
- package/.docs/raw/docs/runtimes/opencode/quickstart.mdx +0 -119
- package/.docs/raw/docs/runtimes/pick-a-runtime.mdx +0 -133
- package/.docs/raw/docs/tools/a2ui.mdx +0 -107
- package/.docs/raw/docs/tools/backend.mdx +0 -147
- package/.docs/raw/docs/tools/defining-tools.mdx +0 -574
- package/.docs/raw/docs/tools/dynamic-tools.mdx +0 -112
- package/.docs/raw/docs/tools/generative-ui-primitive.mdx +0 -180
- package/.docs/raw/docs/tools/generative-ui-slack.mdx +0 -167
- package/.docs/raw/docs/tools/generative-ui-teams.mdx +0 -160
- package/.docs/raw/docs/tools/generative-ui.mdx +0 -322
- package/.docs/raw/docs/tools/index.mdx +0 -72
- package/.docs/raw/docs/tools/interactables.mdx +0 -1084
- package/.docs/raw/docs/tools/mcp-apps.mdx +0 -363
- package/.docs/raw/docs/tools/mcp.mdx +0 -466
- package/.docs/raw/docs/tools/multi-agent.mdx +0 -237
- package/.docs/raw/docs/tools/openui.mdx +0 -175
- package/.docs/raw/docs/tools/tool-ui.mdx +0 -1020
- package/.docs/raw/docs/tools/user-managed-mcp.mdx +0 -428
- package/.docs/raw/docs/ui/assistant-modal.mdx +0 -166
- package/.docs/raw/docs/ui/assistant-sidebar.mdx +0 -89
- package/.docs/raw/docs/ui/attachment.mdx +0 -279
- package/.docs/raw/docs/ui/composer-trigger-popover.mdx +0 -247
- package/.docs/raw/docs/ui/context-display.mdx +0 -148
- package/.docs/raw/docs/ui/directive-text.mdx +0 -114
- package/.docs/raw/docs/ui/file.mdx +0 -159
- package/.docs/raw/docs/ui/follow-up-suggestions.mdx +0 -82
- package/.docs/raw/docs/ui/image.mdx +0 -102
- package/.docs/raw/docs/ui/markdown.mdx +0 -103
- package/.docs/raw/docs/ui/mcp-config.mdx +0 -107
- package/.docs/raw/docs/ui/mermaid.mdx +0 -92
- package/.docs/raw/docs/ui/message-timing.mdx +0 -93
- package/.docs/raw/docs/ui/model-selector.mdx +0 -455
- package/.docs/raw/docs/ui/part-grouping.mdx +0 -614
- package/.docs/raw/docs/ui/quote.mdx +0 -211
- package/.docs/raw/docs/ui/reasoning.mdx +0 -214
- package/.docs/raw/docs/ui/scrollbar.mdx +0 -77
- package/.docs/raw/docs/ui/sources.mdx +0 -186
- package/.docs/raw/docs/ui/streamdown.mdx +0 -392
- package/.docs/raw/docs/ui/syntax-highlighting.mdx +0 -205
- package/.docs/raw/docs/ui/thread-list.mdx +0 -411
- package/.docs/raw/docs/ui/thread.mdx +0 -559
- package/.docs/raw/docs/ui/tool-fallback.mdx +0 -141
- package/.docs/raw/docs/ui/tool-group.mdx +0 -240
- package/.docs/raw/docs/ui/voice.mdx +0 -173
- package/.docs/raw/docs/utilities/heat-graph.mdx +0 -237
- package/.docs/raw/docs/utilities/react-o11y.mdx +0 -362
- package/.docs/raw/docs/utilities/tw-shimmer.mdx +0 -212
- package/dist/constants.d.ts +0 -14
- package/dist/constants.d.ts.map +0 -1
- package/dist/constants.js +0 -19
- package/dist/constants.js.map +0 -1
- package/dist/prepare-docs/code-examples.d.ts +0 -5
- package/dist/prepare-docs/code-examples.d.ts.map +0 -1
- package/dist/prepare-docs/code-examples.js +0 -117
- package/dist/prepare-docs/code-examples.js.map +0 -1
- package/dist/prepare-docs/copy-raw.d.ts +0 -5
- package/dist/prepare-docs/copy-raw.d.ts.map +0 -1
- package/dist/prepare-docs/copy-raw.js +0 -49
- package/dist/prepare-docs/copy-raw.js.map +0 -1
- package/dist/prepare-docs/prepare.d.ts +0 -1
- package/dist/prepare-docs/prepare.js +0 -22
- package/dist/prepare-docs/prepare.js.map +0 -1
- package/dist/prompts/xulux-playground.d.ts +0 -12
- package/dist/prompts/xulux-playground.d.ts.map +0 -1
- package/dist/prompts/xulux-playground.js +0 -33
- package/dist/prompts/xulux-playground.js.map +0 -1
- package/dist/tools/docs.d.ts +0 -22
- package/dist/tools/docs.d.ts.map +0 -1
- package/dist/tools/docs.js +0 -177
- package/dist/tools/docs.js.map +0 -1
- package/dist/tools/examples.d.ts +0 -24
- package/dist/tools/examples.d.ts.map +0 -1
- package/dist/tools/examples.js +0 -87
- package/dist/tools/examples.js.map +0 -1
- package/dist/tools/resources.d.ts +0 -6
- package/dist/tools/resources.d.ts.map +0 -1
- package/dist/tools/resources.js +0 -75
- package/dist/tools/resources.js.map +0 -1
- package/dist/tools/search.d.ts +0 -24
- package/dist/tools/search.d.ts.map +0 -1
- package/dist/tools/search.js +0 -39
- package/dist/tools/search.js.map +0 -1
- package/dist/tools/tests/mcp-test-client.d.ts +0 -15
- package/dist/tools/tests/mcp-test-client.d.ts.map +0 -1
- package/dist/tools/tests/mcp-test-client.js +0 -68
- package/dist/tools/tests/mcp-test-client.js.map +0 -1
- package/dist/tools/tests/test-setup.d.ts +0 -7
- package/dist/tools/tests/test-setup.d.ts.map +0 -1
- package/dist/tools/tests/test-setup.js +0 -36
- package/dist/tools/tests/test-setup.js.map +0 -1
- package/dist/tools/xulux-templates.d.ts +0 -58
- package/dist/tools/xulux-templates.d.ts.map +0 -1
- package/dist/tools/xulux-templates.js +0 -84
- package/dist/tools/xulux-templates.js.map +0 -1
- package/dist/utils/cache.d.ts +0 -5
- package/dist/utils/cache.d.ts.map +0 -1
- package/dist/utils/cache.js +0 -18
- package/dist/utils/cache.js.map +0 -1
- package/dist/utils/logger.d.ts +0 -10
- package/dist/utils/logger.d.ts.map +0 -1
- package/dist/utils/logger.js +0 -20
- package/dist/utils/logger.js.map +0 -1
- package/dist/utils/mcp-format.d.ts +0 -11
- package/dist/utils/mcp-format.d.ts.map +0 -1
- package/dist/utils/mcp-format.js +0 -14
- package/dist/utils/mcp-format.js.map +0 -1
- package/dist/utils/mdx.d.ts +0 -12
- package/dist/utils/mdx.d.ts.map +0 -1
- package/dist/utils/mdx.js +0 -45
- package/dist/utils/mdx.js.map +0 -1
- package/dist/utils/paths.d.ts +0 -12
- package/dist/utils/paths.d.ts.map +0 -1
- package/dist/utils/paths.js +0 -93
- package/dist/utils/paths.js.map +0 -1
- package/dist/utils/search.d.ts +0 -10
- package/dist/utils/search.d.ts.map +0 -1
- package/dist/utils/search.js +0 -97
- package/dist/utils/search.js.map +0 -1
- package/dist/utils/security.d.ts +0 -5
- package/dist/utils/security.d.ts.map +0 -1
- package/dist/utils/security.js +0 -22
- package/dist/utils/security.js.map +0 -1
- package/dist/xulux/catalog-client.d.ts +0 -14
- package/dist/xulux/catalog-client.d.ts.map +0 -1
- package/dist/xulux/catalog-client.js +0 -112
- package/dist/xulux/catalog-client.js.map +0 -1
- package/dist/xulux/fallback-catalog.d.ts +0 -7
- package/dist/xulux/fallback-catalog.d.ts.map +0 -1
- package/dist/xulux/fallback-catalog.js +0 -47
- package/dist/xulux/fallback-catalog.js.map +0 -1
- package/dist/xulux/fetch-sandbox.d.ts +0 -5
- package/dist/xulux/fetch-sandbox.d.ts.map +0 -1
- package/dist/xulux/fetch-sandbox.js +0 -40
- package/dist/xulux/fetch-sandbox.js.map +0 -1
- package/dist/xulux/template-service.d.ts +0 -84
- package/dist/xulux/template-service.d.ts.map +0 -1
- package/dist/xulux/template-service.js +0 -223
- package/dist/xulux/template-service.js.map +0 -1
- package/dist/xulux/types.d.ts +0 -55
- package/dist/xulux/types.d.ts.map +0 -1
- package/dist/xulux/types.js +0 -6
- package/dist/xulux/types.js.map +0 -1
- package/src/constants.ts +0 -24
- package/src/prepare-docs/code-examples.ts +0 -158
- package/src/prepare-docs/copy-raw.ts +0 -50
- package/src/prepare-docs/prepare.ts +0 -24
- package/src/prompts/xulux-playground.ts +0 -36
- package/src/tools/docs.ts +0 -255
- package/src/tools/examples.ts +0 -114
- package/src/tools/resources.ts +0 -111
- package/src/tools/search.ts +0 -46
- package/src/tools/tests/completions.test.ts +0 -60
- package/src/tools/tests/directory-size-cap.test.ts +0 -50
- package/src/tools/tests/docs.test.ts +0 -147
- package/src/tools/tests/examples.test.ts +0 -94
- package/src/tools/tests/integration.test.ts +0 -45
- package/src/tools/tests/json-parsing.test.ts +0 -23
- package/src/tools/tests/listings-cache.test.ts +0 -19
- package/src/tools/tests/mcp-protocol.test.ts +0 -216
- package/src/tools/tests/mcp-test-client.ts +0 -111
- package/src/tools/tests/path-traversal.test.ts +0 -84
- package/src/tools/tests/resources.test.ts +0 -133
- package/src/tools/tests/search.test.ts +0 -37
- package/src/tools/tests/test-setup.ts +0 -50
- package/src/tools/tests/xulux-templates.test.ts +0 -325
- package/src/tools/xulux-templates.ts +0 -141
- package/src/utils/cache.ts +0 -20
- package/src/utils/logger.ts +0 -20
- package/src/utils/mcp-format.ts +0 -14
- package/src/utils/mdx.ts +0 -59
- package/src/utils/paths.ts +0 -139
- package/src/utils/search.ts +0 -131
- package/src/utils/security.ts +0 -52
- package/src/utils/tests/cache.test.ts +0 -51
- package/src/utils/tests/mcp-format.test.ts +0 -22
- package/src/utils/tests/security.test.ts +0 -119
- package/src/xulux/catalog-client.ts +0 -150
- package/src/xulux/fallback-catalog.ts +0 -63
- package/src/xulux/fetch-sandbox.ts +0 -56
- package/src/xulux/template-service.ts +0 -406
- package/src/xulux/types.ts +0 -64
|
@@ -1,236 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Migrating Tools to Toolkits
|
|
3
|
-
description: Move makeAssistantTool, useAssistantTool, makeAssistantToolUI, and useAssistantToolUI registrations to the toolkit API.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
The component and hook based tool APIs are deprecated:
|
|
7
|
-
|
|
8
|
-
- `makeAssistantTool`
|
|
9
|
-
- `useAssistantTool`
|
|
10
|
-
- `makeAssistantToolUI`
|
|
11
|
-
- `useAssistantToolUI`
|
|
12
|
-
|
|
13
|
-
Use a toolkit registered with `Tools({ toolkit })` instead. Toolkits keep the model contract, browser execution, and tool-call rendering in one named map, which avoids duplicate registrations and makes the client/backend split explicit.
|
|
14
|
-
|
|
15
|
-
## Before
|
|
16
|
-
|
|
17
|
-
```tsx
|
|
18
|
-
import { AssistantRuntimeProvider, makeAssistantTool } from "@assistant-ui/react";
|
|
19
|
-
import { useChatRuntime } from "@assistant-ui/ai-sdk";
|
|
20
|
-
import { z } from "zod";
|
|
21
|
-
|
|
22
|
-
const WeatherTool = makeAssistantTool({
|
|
23
|
-
toolName: "get_weather",
|
|
24
|
-
description: "Get the current weather for a city.",
|
|
25
|
-
parameters: z.object({
|
|
26
|
-
city: z.string(),
|
|
27
|
-
}),
|
|
28
|
-
execute: async ({ city }) => fetchWeather(city),
|
|
29
|
-
render: ({ args, result }) => (
|
|
30
|
-
<WeatherCard city={args.city} weather={result} />
|
|
31
|
-
),
|
|
32
|
-
});
|
|
33
|
-
|
|
34
|
-
export function App() {
|
|
35
|
-
const runtime = useChatRuntime();
|
|
36
|
-
|
|
37
|
-
return (
|
|
38
|
-
<AssistantRuntimeProvider runtime={runtime}>
|
|
39
|
-
<WeatherTool />
|
|
40
|
-
<Thread />
|
|
41
|
-
</AssistantRuntimeProvider>
|
|
42
|
-
);
|
|
43
|
-
}
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
## After
|
|
47
|
-
|
|
48
|
-
```tsx title="app/toolkit.tsx"
|
|
49
|
-
"use generative";
|
|
50
|
-
|
|
51
|
-
import { defineToolkit } from "@assistant-ui/react";
|
|
52
|
-
import { z } from "zod";
|
|
53
|
-
|
|
54
|
-
export default defineToolkit({
|
|
55
|
-
get_weather: {
|
|
56
|
-
description: "Get the current weather for a city.",
|
|
57
|
-
parameters: z.object({
|
|
58
|
-
city: z.string(),
|
|
59
|
-
}),
|
|
60
|
-
execute: async ({ city }) => {
|
|
61
|
-
"use client";
|
|
62
|
-
return fetchWeather(city);
|
|
63
|
-
},
|
|
64
|
-
render: ({ args, result }) => (
|
|
65
|
-
<WeatherCard city={args.city} weather={result} />
|
|
66
|
-
),
|
|
67
|
-
},
|
|
68
|
-
});
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
```tsx title="app/MyRuntimeProvider.tsx"
|
|
72
|
-
"use client";
|
|
73
|
-
|
|
74
|
-
import {
|
|
75
|
-
AssistantRuntimeProvider,
|
|
76
|
-
AuiConfig,
|
|
77
|
-
Tools,
|
|
78
|
-
} from "@assistant-ui/react";
|
|
79
|
-
import { useChatRuntime } from "@assistant-ui/ai-sdk";
|
|
80
|
-
import toolkit from "./toolkit";
|
|
81
|
-
|
|
82
|
-
export function App() {
|
|
83
|
-
const runtime = useChatRuntime();
|
|
84
|
-
const config = AuiConfig({ tools: Tools({ toolkit }) });
|
|
85
|
-
|
|
86
|
-
return (
|
|
87
|
-
<AssistantRuntimeProvider runtime={runtime} config={config}>
|
|
88
|
-
<Thread />
|
|
89
|
-
</AssistantRuntimeProvider>
|
|
90
|
-
);
|
|
91
|
-
}
|
|
92
|
-
```
|
|
93
|
-
|
|
94
|
-
`useChatRuntime()` targets `/api/chat` by default. To point at a different endpoint or customize requests, see [Custom transport](/docs/runtimes/ai-sdk/v7#custom-transport).
|
|
95
|
-
|
|
96
|
-
## Mechanical Steps
|
|
97
|
-
|
|
98
|
-
1. Create a `Toolkit` object.
|
|
99
|
-
2. Move each `toolName` into the toolkit key.
|
|
100
|
-
3. Move `description`, `parameters`, `execute`, `providerOptions`, `render`, `renderText`, and `display` onto the toolkit entry.
|
|
101
|
-
4. Register the toolkit once with `config={config}` on your runtime provider, where `const config = AuiConfig({ tools: Tools({ toolkit }) })`.
|
|
102
|
-
5. Remove `<Tool />`, `<ToolUI />`, `useAssistantTool(...)`, and `useAssistantToolUI(...)` registrations.
|
|
103
|
-
|
|
104
|
-
## UI-Only Tool Renderers
|
|
105
|
-
|
|
106
|
-
If you used `makeAssistantToolUI` or `useAssistantToolUI` for a backend, MCP, or
|
|
107
|
-
LangGraph tool, the tool executes elsewhere. Prefer a `"use generative"` toolkit
|
|
108
|
-
with `execute: externalTool()` so the compiler omits the server entry, while the
|
|
109
|
-
client keeps your renderer as `type: "backend"`:
|
|
110
|
-
|
|
111
|
-
```tsx
|
|
112
|
-
// app/toolkit.tsx
|
|
113
|
-
"use generative";
|
|
114
|
-
|
|
115
|
-
import { defineToolkit, externalTool } from "@assistant-ui/react";
|
|
116
|
-
|
|
117
|
-
export default defineToolkit({
|
|
118
|
-
web_search: {
|
|
119
|
-
execute: externalTool(),
|
|
120
|
-
render: ({ args, result }) => (
|
|
121
|
-
<SearchResults query={args.query} results={result?.results ?? []} />
|
|
122
|
-
),
|
|
123
|
-
},
|
|
124
|
-
});
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
Register it like any toolkit: `config={config}` where `const config = AuiConfig({ tools: Tools({ toolkit }) })`.
|
|
128
|
-
Render-only entries upload no schema and run no browser code — they only attach
|
|
129
|
-
UI for matching tool-call message parts. For MCP server catalogs, spread
|
|
130
|
-
`defineMcpToolkit({ ... })` in the same generative toolkit.
|
|
131
|
-
|
|
132
|
-
For a one-off renderer that should only affect a particular message surface, use `MessagePrimitive.Parts` inline tool render overrides instead of a global registration.
|
|
133
|
-
|
|
134
|
-
## Dynamic Tools
|
|
135
|
-
|
|
136
|
-
If a tool needs component state or props, keep the toolkit contract in a `"use generative"` file and use `stubTool()` for the executor. The component that owns the state supplies the real executor with `useAuiToolOverrides(...)`:
|
|
137
|
-
|
|
138
|
-
<Callout type="warn">
|
|
139
|
-
`useAuiToolOverrides` is experimental and its API may change.
|
|
140
|
-
</Callout>
|
|
141
|
-
|
|
142
|
-
```tsx title="task-board-toolkit.tsx"
|
|
143
|
-
"use generative";
|
|
144
|
-
|
|
145
|
-
import { defineToolkit, stubTool } from "@assistant-ui/react";
|
|
146
|
-
import { z } from "zod";
|
|
147
|
-
|
|
148
|
-
export type Task = { id: string; title: string };
|
|
149
|
-
|
|
150
|
-
export default defineToolkit({
|
|
151
|
-
add_task: {
|
|
152
|
-
description: "Add a task to the board.",
|
|
153
|
-
parameters: z.object({ title: z.string() }),
|
|
154
|
-
execute: stubTool(),
|
|
155
|
-
renderText: {
|
|
156
|
-
running: "Adding task",
|
|
157
|
-
complete: "Task added",
|
|
158
|
-
},
|
|
159
|
-
},
|
|
160
|
-
});
|
|
161
|
-
```
|
|
162
|
-
|
|
163
|
-
```tsx title="TaskBoard.tsx"
|
|
164
|
-
import {
|
|
165
|
-
AuiConfig,
|
|
166
|
-
AuiProvider,
|
|
167
|
-
Tools,
|
|
168
|
-
useAui,
|
|
169
|
-
useAuiToolOverrides,
|
|
170
|
-
} from "@assistant-ui/react";
|
|
171
|
-
import { useState, type Dispatch, type SetStateAction } from "react";
|
|
172
|
-
import type { Task } from "./task-board-toolkit";
|
|
173
|
-
import toolkit from "./task-board-toolkit";
|
|
174
|
-
|
|
175
|
-
function TaskBoard() {
|
|
176
|
-
const [tasks, setTasks] = useState<Task[]>([]);
|
|
177
|
-
const aui = useAui();
|
|
178
|
-
const config = AuiConfig({ tools: Tools({ toolkit }) });
|
|
179
|
-
|
|
180
|
-
return (
|
|
181
|
-
<AuiProvider extends={aui} config={config}>
|
|
182
|
-
<TaskBoardToolOverrides setTasks={setTasks} />
|
|
183
|
-
<TaskList tasks={tasks} />
|
|
184
|
-
</AuiProvider>
|
|
185
|
-
);
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
function TaskBoardToolOverrides({
|
|
189
|
-
setTasks,
|
|
190
|
-
}: {
|
|
191
|
-
setTasks: Dispatch<SetStateAction<Task[]>>;
|
|
192
|
-
}) {
|
|
193
|
-
useAuiToolOverrides({
|
|
194
|
-
add_task: {
|
|
195
|
-
execute: async ({ title }) => {
|
|
196
|
-
setTasks((prev) => [
|
|
197
|
-
...prev,
|
|
198
|
-
{ id: crypto.randomUUID(), title },
|
|
199
|
-
]);
|
|
200
|
-
return { ok: true };
|
|
201
|
-
},
|
|
202
|
-
},
|
|
203
|
-
});
|
|
204
|
-
return null;
|
|
205
|
-
}
|
|
206
|
-
```
|
|
207
|
-
|
|
208
|
-
This keeps the model-facing contract in the toolkit file while the component owns the stateful executor.
|
|
209
|
-
|
|
210
|
-
## Generative Toolkits
|
|
211
|
-
|
|
212
|
-
For tools authored in a `"use generative"` file, export a toolkit with `defineToolkit(...)`. The compiler splits backend, frontend, and human tools for you. This is the default shape to use for docs and copy-paste examples:
|
|
213
|
-
|
|
214
|
-
```tsx
|
|
215
|
-
"use generative";
|
|
216
|
-
|
|
217
|
-
import { defineToolkit } from "@assistant-ui/react";
|
|
218
|
-
import { z } from "zod";
|
|
219
|
-
|
|
220
|
-
export default defineToolkit({
|
|
221
|
-
create_chart: {
|
|
222
|
-
description: "Create a chart for the user.",
|
|
223
|
-
parameters: z.object({
|
|
224
|
-
title: z.string(),
|
|
225
|
-
values: z.array(z.number()),
|
|
226
|
-
}),
|
|
227
|
-
execute: async ({ title, values }) => {
|
|
228
|
-
"use client";
|
|
229
|
-
return renderChart(title, values);
|
|
230
|
-
},
|
|
231
|
-
render: ChartTool,
|
|
232
|
-
},
|
|
233
|
-
});
|
|
234
|
-
```
|
|
235
|
-
|
|
236
|
-
Frontend and human tools produced by the generative compiler already have their schema defaults on the backend, so the client no longer re-uploads those schemas.
|
|
@@ -1,172 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Migration to v0.11
|
|
3
|
-
description: ContentPart renamed to MessagePart for better semantic clarity.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
## ContentPart renamed to MessagePart
|
|
7
|
-
|
|
8
|
-
All ContentPart-related types, hooks, and components have been renamed to MessagePart for better semantic clarity and consistency.
|
|
9
|
-
|
|
10
|
-
### What changed
|
|
11
|
-
|
|
12
|
-
The following types and components have been renamed:
|
|
13
|
-
|
|
14
|
-
#### Core Types
|
|
15
|
-
|
|
16
|
-
- `TextContentPart` → `TextMessagePart`
|
|
17
|
-
- `ReasoningContentPart` → `ReasoningMessagePart`
|
|
18
|
-
- `SourceContentPart` → `SourceMessagePart`
|
|
19
|
-
- `ImageContentPart` → `ImageMessagePart`
|
|
20
|
-
- `FileContentPart` → `FileMessagePart`
|
|
21
|
-
- `Unstable_AudioContentPart` → `Unstable_AudioMessagePart`
|
|
22
|
-
- `ToolCallContentPart` → `ToolCallMessagePart`
|
|
23
|
-
- `ContentPartStatus` → `MessagePartStatus`
|
|
24
|
-
- `ToolCallContentPartStatus` → `ToolCallMessagePartStatus`
|
|
25
|
-
|
|
26
|
-
#### Thread Message Parts
|
|
27
|
-
|
|
28
|
-
- `ThreadUserContentPart` → `ThreadUserMessagePart`
|
|
29
|
-
- `ThreadAssistantContentPart` → `ThreadAssistantMessagePart`
|
|
30
|
-
|
|
31
|
-
#### Runtime and State Types
|
|
32
|
-
|
|
33
|
-
- `ContentPartRuntime` → `MessagePartRuntime`
|
|
34
|
-
- `ContentPartState` → `MessagePartState`
|
|
35
|
-
|
|
36
|
-
#### Hooks
|
|
37
|
-
|
|
38
|
-
- `useContentPart` → `useMessagePart`
|
|
39
|
-
- `useContentPartRuntime` → `useMessagePartRuntime`
|
|
40
|
-
- `useContentPartText` → `useMessagePartText`
|
|
41
|
-
- `useContentPartReasoning` → `useMessagePartReasoning`
|
|
42
|
-
- `useContentPartSource` → `useMessagePartSource`
|
|
43
|
-
- `useContentPartFile` → `useMessagePartFile`
|
|
44
|
-
- `useContentPartImage` → `useMessagePartImage`
|
|
45
|
-
- `useTextContentPart` → `useMessagePartText`
|
|
46
|
-
|
|
47
|
-
#### Component Types
|
|
48
|
-
|
|
49
|
-
- `EmptyContentPartComponent` → `EmptyMessagePartComponent`
|
|
50
|
-
- `TextContentPartComponent` → `TextMessagePartComponent`
|
|
51
|
-
- `ReasoningContentPartComponent` → `ReasoningMessagePartComponent`
|
|
52
|
-
- `SourceContentPartComponent` → `SourceMessagePartComponent`
|
|
53
|
-
- `ImageContentPartComponent` → `ImageMessagePartComponent`
|
|
54
|
-
- `FileContentPartComponent` → `FileMessagePartComponent`
|
|
55
|
-
- `Unstable_AudioContentPartComponent` → `Unstable_AudioMessagePartComponent`
|
|
56
|
-
- `ToolCallContentPartComponent` → `ToolCallMessagePartComponent`
|
|
57
|
-
|
|
58
|
-
#### Props Types
|
|
59
|
-
|
|
60
|
-
- `EmptyContentPartProps` → `EmptyMessagePartProps`
|
|
61
|
-
- `TextContentPartProps` → `TextMessagePartProps`
|
|
62
|
-
- `ReasoningContentPartProps` → `ReasoningMessagePartProps`
|
|
63
|
-
- `SourceContentPartProps` → `SourceMessagePartProps`
|
|
64
|
-
- `ImageContentPartProps` → `ImageMessagePartProps`
|
|
65
|
-
- `FileContentPartProps` → `FileMessagePartProps`
|
|
66
|
-
- `Unstable_AudioContentPartProps` → `Unstable_AudioMessagePartProps`
|
|
67
|
-
- `ToolCallContentPartProps` → `ToolCallMessagePartProps`
|
|
68
|
-
|
|
69
|
-
#### Providers and Context
|
|
70
|
-
|
|
71
|
-
- `TextContentPartProvider` → `TextMessagePartProvider`
|
|
72
|
-
- `TextContentPartProviderProps` → `TextMessagePartProviderProps`
|
|
73
|
-
- `ContentPartRuntimeProvider` → `MessagePartRuntimeProvider`
|
|
74
|
-
- `ContentPartContext` → `MessagePartContext`
|
|
75
|
-
- `ContentPartContextValue` → `MessagePartContextValue`
|
|
76
|
-
|
|
77
|
-
#### Primitives
|
|
78
|
-
|
|
79
|
-
- `ContentPartPrimitive` → `MessagePartPrimitive`
|
|
80
|
-
- `ContentPartPrimitiveText` → `MessagePartPrimitiveText`
|
|
81
|
-
- `ContentPartPrimitiveImage` → `MessagePartPrimitiveImage`
|
|
82
|
-
- `ContentPartPrimitiveInProgress` → `MessagePartPrimitiveInProgress`
|
|
83
|
-
|
|
84
|
-
### MessagePrimitive.Content renamed to MessagePrimitive.Parts
|
|
85
|
-
|
|
86
|
-
The `MessagePrimitive.Content` component has been renamed to `MessagePrimitive.Parts` to better reflect its purpose of rendering message parts.
|
|
87
|
-
|
|
88
|
-
```diff
|
|
89
|
-
-<MessagePrimitive.Content components={{ Text: MyText }} />
|
|
90
|
-
+<MessagePrimitive.Parts>
|
|
91
|
-
+ {({ part }) => part.type === "text" ? <MyText {...part} /> : null}
|
|
92
|
-
+</MessagePrimitive.Parts>
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
### Migration
|
|
96
|
-
|
|
97
|
-
To migrate your codebase automatically, use the migration codemod:
|
|
98
|
-
|
|
99
|
-
```sh
|
|
100
|
-
# IMPORTANT: make sure to commit all changes to git / create a backup before running the codemod
|
|
101
|
-
npx assistant-ui@latest upgrade
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
Or run the specific migration:
|
|
105
|
-
|
|
106
|
-
```sh
|
|
107
|
-
npx assistant-ui@latest codemod v0-11/content-part-to-message-part .
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
#### Manual Migration Examples
|
|
111
|
-
|
|
112
|
-
If you prefer to migrate manually, here are some examples:
|
|
113
|
-
|
|
114
|
-
**Imports:**
|
|
115
|
-
|
|
116
|
-
```diff
|
|
117
|
-
-import { TextContentPart, useContentPart, ToolCallContentPartComponent } from "@assistant-ui/react";
|
|
118
|
-
+import { TextMessagePart, useMessagePart, ToolCallMessagePartComponent } from "@assistant-ui/react";
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
**Type annotations:**
|
|
122
|
-
|
|
123
|
-
```diff
|
|
124
|
-
-function processContent(part: TextContentPart): void {
|
|
125
|
-
+function processContent(part: TextMessagePart): void {
|
|
126
|
-
console.log(part.text);
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
-const MyTool: ToolCallContentPartComponent = ({ toolName }) => {
|
|
130
|
-
+const MyTool: ToolCallMessagePartComponent = ({ toolName }) => {
|
|
131
|
-
return <div>{toolName}</div>;
|
|
132
|
-
};
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
**Hooks:**
|
|
136
|
-
|
|
137
|
-
```diff
|
|
138
|
-
function MyComponent() {
|
|
139
|
-
- const part = useContentPart();
|
|
140
|
-
- const text = useContentPartText();
|
|
141
|
-
- const runtime = useContentPartRuntime();
|
|
142
|
-
+ const part = useMessagePart();
|
|
143
|
-
+ const text = useMessagePartText();
|
|
144
|
-
+ const runtime = useMessagePartRuntime();
|
|
145
|
-
return null;
|
|
146
|
-
}
|
|
147
|
-
```
|
|
148
|
-
|
|
149
|
-
**JSX Components:**
|
|
150
|
-
|
|
151
|
-
```diff
|
|
152
|
-
-<ContentPartPrimitive.Text />
|
|
153
|
-
-<ContentPartPrimitive.Image />
|
|
154
|
-
+<MessagePartPrimitive.Text />
|
|
155
|
-
+<MessagePartPrimitive.Image />
|
|
156
|
-
```
|
|
157
|
-
|
|
158
|
-
**Providers:**
|
|
159
|
-
|
|
160
|
-
```diff
|
|
161
|
-
-<TextContentPartProvider text="Hello" isRunning={false}>
|
|
162
|
-
+<TextMessagePartProvider text="Hello" isRunning={false}>
|
|
163
|
-
<div>Content</div>
|
|
164
|
-
-</TextContentPartProvider>
|
|
165
|
-
+</TextMessagePartProvider>
|
|
166
|
-
```
|
|
167
|
-
|
|
168
|
-
### Why this change?
|
|
169
|
-
|
|
170
|
-
The ContentPart naming was inconsistent with the rest of the codebase, where "message parts" are used throughout. This change improves semantic clarity and makes the API more intuitive by aligning terminology across the entire library.
|
|
171
|
-
|
|
172
|
-
The old ContentPart APIs have been completely removed. You must update all references to use the new MessagePart names.
|
|
@@ -1,302 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Migration to v0.12
|
|
3
|
-
description: Unified state API replaces individual context hooks.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
## Major Architecture Change: Unified State API
|
|
7
|
-
|
|
8
|
-
Version 0.12 introduces a complete rewrite of the state management system with a more consistent API.
|
|
9
|
-
|
|
10
|
-
## Automatic Migration
|
|
11
|
-
|
|
12
|
-
We provide a codemod to automatically migrate your code:
|
|
13
|
-
|
|
14
|
-
```bash
|
|
15
|
-
npx assistant-ui@latest upgrade
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
This will automatically handle the hook renames and update your imports.
|
|
19
|
-
|
|
20
|
-
## Breaking Changes
|
|
21
|
-
|
|
22
|
-
### 1. Assistant API Hooks Renamed
|
|
23
|
-
|
|
24
|
-
The core hooks have been renamed for consistency and clarity:
|
|
25
|
-
|
|
26
|
-
- `useAssistantApi` → `useAui`
|
|
27
|
-
- `useAssistantState` → `useAuiState`
|
|
28
|
-
- `useAssistantEvent` → `useAuiEvent`
|
|
29
|
-
- `AssistantIf` → `AuiIf`
|
|
30
|
-
|
|
31
|
-
The variable naming convention has also changed from `api` to `aui`.
|
|
32
|
-
|
|
33
|
-
#### Migration
|
|
34
|
-
|
|
35
|
-
**Before:**
|
|
36
|
-
|
|
37
|
-
```tsx
|
|
38
|
-
import {
|
|
39
|
-
useAssistantApi,
|
|
40
|
-
useAssistantState,
|
|
41
|
-
useAssistantEvent,
|
|
42
|
-
} from "@assistant-ui/react";
|
|
43
|
-
|
|
44
|
-
function MyComponent() {
|
|
45
|
-
const api = useAssistantApi();
|
|
46
|
-
const isRunning = useAssistantState(({ thread }) => thread.isRunning);
|
|
47
|
-
|
|
48
|
-
useAssistantEvent("thread.run-start", () => {
|
|
49
|
-
console.log("Thread started running");
|
|
50
|
-
});
|
|
51
|
-
|
|
52
|
-
const handleSend = () => {
|
|
53
|
-
api.composer().send();
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
return <button onClick={handleSend}>Send</button>;
|
|
57
|
-
}
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
**After:**
|
|
61
|
-
|
|
62
|
-
```tsx
|
|
63
|
-
import { useAui, useAuiState, useAuiEvent } from "@assistant-ui/react";
|
|
64
|
-
|
|
65
|
-
function MyComponent() {
|
|
66
|
-
const aui = useAui();
|
|
67
|
-
const isRunning = useAuiState((s) => s.thread.isRunning);
|
|
68
|
-
|
|
69
|
-
useAuiEvent("thread.runStart", () => {
|
|
70
|
-
console.log("Run started");
|
|
71
|
-
});
|
|
72
|
-
|
|
73
|
-
const handleSend = () => {
|
|
74
|
-
aui.composer().send();
|
|
75
|
-
};
|
|
76
|
-
|
|
77
|
-
return <button onClick={handleSend}>Send</button>;
|
|
78
|
-
}
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
**Automatic Migration:**
|
|
82
|
-
|
|
83
|
-
Run the codemod to automatically update your code:
|
|
84
|
-
|
|
85
|
-
```bash
|
|
86
|
-
npx assistant-ui@latest upgrade
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
The codemod will:
|
|
90
|
-
- Rename all hook imports (`useAssistantApi` → `useAui`, etc.)
|
|
91
|
-
- Rename `const api = useAui()` declarations to `const aui = useAui()`
|
|
92
|
-
- Update all references to the `api` variable throughout your codebase
|
|
93
|
-
- Correctly handle scoping (won't rename `api` variables from other sources)
|
|
94
|
-
|
|
95
|
-
**Backwards Compatibility:**
|
|
96
|
-
|
|
97
|
-
The old names are still available as deprecated exports until v0.13:
|
|
98
|
-
|
|
99
|
-
```tsx
|
|
100
|
-
// Still works, but deprecated
|
|
101
|
-
import {
|
|
102
|
-
useAssistantApi,
|
|
103
|
-
useAssistantState,
|
|
104
|
-
useAssistantEvent,
|
|
105
|
-
} from "@assistant-ui/react";
|
|
106
|
-
|
|
107
|
-
const api = useAssistantApi(); // deprecated but functional
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
### 2. Context Hooks Replaced with Unified State API
|
|
111
|
-
|
|
112
|
-
All individual context hooks have been replaced with a single `useAuiState` hook and `useAui` for actions.
|
|
113
|
-
|
|
114
|
-
#### What changed
|
|
115
|
-
|
|
116
|
-
The following hooks have been removed:
|
|
117
|
-
|
|
118
|
-
**Removed Hooks:**
|
|
119
|
-
|
|
120
|
-
- `useMessageUtils` → Use `useAuiState((s) => s.message.isHovering)` / `useAuiState((s) => s.message.isCopied)`
|
|
121
|
-
- `useMessageUtilsStore` → Use `useAui()` with `aui.message().setIsHovering()` / `aui.message().setIsCopied()`
|
|
122
|
-
- `useToolUIs` → Removed with no direct equivalent. Use `useAssistantTool` / `makeAssistantToolUI` to register tool UIs instead.
|
|
123
|
-
- `useToolUIsStore` → Removed with no direct equivalent.
|
|
124
|
-
|
|
125
|
-
**Deprecated Hooks:**
|
|
126
|
-
|
|
127
|
-
- `useAssistantRuntime` → Use `useAui()`
|
|
128
|
-
- `useThread` → Use `useAuiState((s) => s.thread)`
|
|
129
|
-
- `useThreadRuntime` → Use `useAui()` with `aui.thread()`
|
|
130
|
-
- `useMessage` → Use `useAuiState((s) => s.message)`
|
|
131
|
-
- `useMessageRuntime` → Use `useAui()` with `aui.message()`
|
|
132
|
-
- `useComposer` → Use `useAuiState((s) => s.composer)`
|
|
133
|
-
- `useComposerRuntime` → Use `useAui()` with `aui.composer()`
|
|
134
|
-
- `useEditComposer` → Use `useAuiState((s) => s.message.composer)`
|
|
135
|
-
- `useThreadListItem` → Use `useAuiState((s) => s.threadListItem)`
|
|
136
|
-
- `useThreadListItemRuntime` → Use `useAui()` with `aui.threadListItem()`
|
|
137
|
-
- `useMessagePart` → Use `useAuiState((s) => s.part)`
|
|
138
|
-
- `useMessagePartRuntime` → Use `useAui()` with `aui.part()`
|
|
139
|
-
- `useAttachment` → Use `useAuiState((s) => s.attachment)`
|
|
140
|
-
- `useAttachmentRuntime` → Use `useAui()` with `aui.attachment()`
|
|
141
|
-
- `useThreadModelContext` → Use `useAuiState((s) => s.thread.modelContext)`
|
|
142
|
-
- `useThreadModelConfig` → Removed. Use `useAui().thread().getModelContext()` instead.
|
|
143
|
-
- `useThreadComposer` → Use `useAuiState((s) => s.thread.composer)`
|
|
144
|
-
- `useThreadList` → Use `useAuiState((s) => s.threads)`
|
|
145
|
-
|
|
146
|
-
#### Migration Examples
|
|
147
|
-
|
|
148
|
-
**Before:**
|
|
149
|
-
|
|
150
|
-
```tsx
|
|
151
|
-
import {
|
|
152
|
-
useThread,
|
|
153
|
-
useThreadRuntime,
|
|
154
|
-
useComposer,
|
|
155
|
-
useComposerRuntime,
|
|
156
|
-
useMessage,
|
|
157
|
-
useMessageRuntime,
|
|
158
|
-
} from "@assistant-ui/react";
|
|
159
|
-
|
|
160
|
-
function MyComponent() {
|
|
161
|
-
// Reading state
|
|
162
|
-
const messages = useThread((t) => t.messages);
|
|
163
|
-
const isRunning = useThread((t) => t.isRunning);
|
|
164
|
-
const composerText = useComposer((c) => c.text);
|
|
165
|
-
const messageRole = useMessage((m) => m.role);
|
|
166
|
-
|
|
167
|
-
// Using runtime for actions
|
|
168
|
-
const threadRuntime = useThreadRuntime();
|
|
169
|
-
const composerRuntime = useComposerRuntime();
|
|
170
|
-
const messageRuntime = useMessageRuntime();
|
|
171
|
-
|
|
172
|
-
const handleSend = () => {
|
|
173
|
-
composerRuntime.send();
|
|
174
|
-
};
|
|
175
|
-
|
|
176
|
-
const handleReload = () => {
|
|
177
|
-
messageRuntime.reload();
|
|
178
|
-
};
|
|
179
|
-
|
|
180
|
-
const handleCancel = () => {
|
|
181
|
-
threadRuntime.cancelRun();
|
|
182
|
-
};
|
|
183
|
-
|
|
184
|
-
return null;
|
|
185
|
-
}
|
|
186
|
-
```
|
|
187
|
-
|
|
188
|
-
**After:**
|
|
189
|
-
|
|
190
|
-
```tsx
|
|
191
|
-
import { useAuiState, useAui } from "@assistant-ui/react";
|
|
192
|
-
|
|
193
|
-
function MyComponent() {
|
|
194
|
-
// Reading state - all through single hook
|
|
195
|
-
const messages = useAuiState((s) => s.thread.messages);
|
|
196
|
-
const isRunning = useAuiState((s) => s.thread.isRunning);
|
|
197
|
-
const composerText = useAuiState((s) => s.composer.text);
|
|
198
|
-
const messageRole = useAuiState((s) => s.message.role);
|
|
199
|
-
|
|
200
|
-
// Using client for actions
|
|
201
|
-
const aui = useAui();
|
|
202
|
-
|
|
203
|
-
const handleSend = () => {
|
|
204
|
-
aui.composer().send();
|
|
205
|
-
};
|
|
206
|
-
|
|
207
|
-
const handleReload = () => {
|
|
208
|
-
aui.message().reload();
|
|
209
|
-
};
|
|
210
|
-
|
|
211
|
-
const handleCancel = () => {
|
|
212
|
-
aui.thread().cancelRun();
|
|
213
|
-
};
|
|
214
|
-
|
|
215
|
-
return null;
|
|
216
|
-
}
|
|
217
|
-
```
|
|
218
|
-
|
|
219
|
-
### 3. Event Names Changed to camelCase
|
|
220
|
-
|
|
221
|
-
Event names used with `useAuiEvent` have been standardized to use camelCase instead of kebab-case.
|
|
222
|
-
|
|
223
|
-
#### What changed
|
|
224
|
-
|
|
225
|
-
The following event names have been updated:
|
|
226
|
-
|
|
227
|
-
| Old Name (kebab-case) | New Name (camelCase) |
|
|
228
|
-
| ----------------------------------- | ---------------------------------- |
|
|
229
|
-
| `thread.run-start` | `thread.runStart` |
|
|
230
|
-
| `thread.run-end` | `thread.runEnd` |
|
|
231
|
-
| `thread.model-context-update` | `thread.modelContextUpdate` |
|
|
232
|
-
| `composer.attachment-add` | `composer.attachmentAdd` |
|
|
233
|
-
| `thread-list-item.switched-to` | `threadListItem.switchedTo` |
|
|
234
|
-
| `thread-list-item.switched-away` | `threadListItem.switchedAway` |
|
|
235
|
-
|
|
236
|
-
Events that remain unchanged:
|
|
237
|
-
- `thread.initialize`
|
|
238
|
-
- `composer.send`
|
|
239
|
-
|
|
240
|
-
#### Migration
|
|
241
|
-
|
|
242
|
-
**Before:**
|
|
243
|
-
|
|
244
|
-
```tsx
|
|
245
|
-
import { useAuiEvent } from "@assistant-ui/react";
|
|
246
|
-
|
|
247
|
-
function MyComponent() {
|
|
248
|
-
useAuiEvent("thread.run-start", () => {
|
|
249
|
-
console.log("Thread started running");
|
|
250
|
-
});
|
|
251
|
-
|
|
252
|
-
useAuiEvent("thread.run-end", () => {
|
|
253
|
-
console.log("Thread finished running");
|
|
254
|
-
});
|
|
255
|
-
|
|
256
|
-
useAuiEvent("composer.attachment-add", () => {
|
|
257
|
-
console.log("Attachment added");
|
|
258
|
-
});
|
|
259
|
-
|
|
260
|
-
return null;
|
|
261
|
-
}
|
|
262
|
-
```
|
|
263
|
-
|
|
264
|
-
**After:**
|
|
265
|
-
|
|
266
|
-
```tsx
|
|
267
|
-
import { useAuiEvent } from "@assistant-ui/react";
|
|
268
|
-
|
|
269
|
-
function MyComponent() {
|
|
270
|
-
useAuiEvent("thread.runStart", () => {
|
|
271
|
-
console.log("Thread started running");
|
|
272
|
-
});
|
|
273
|
-
|
|
274
|
-
useAuiEvent("thread.runEnd", () => {
|
|
275
|
-
console.log("Thread finished running");
|
|
276
|
-
});
|
|
277
|
-
|
|
278
|
-
useAuiEvent("composer.attachmentAdd", () => {
|
|
279
|
-
console.log("Attachment added");
|
|
280
|
-
});
|
|
281
|
-
|
|
282
|
-
return null;
|
|
283
|
-
}
|
|
284
|
-
```
|
|
285
|
-
|
|
286
|
-
**Automatic Migration:**
|
|
287
|
-
|
|
288
|
-
Run the codemod to automatically update event names:
|
|
289
|
-
|
|
290
|
-
```bash
|
|
291
|
-
npx assistant-ui@latest upgrade
|
|
292
|
-
```
|
|
293
|
-
|
|
294
|
-
The codemod will automatically replace all occurrences of the old kebab-case event names with their new camelCase equivalents.
|
|
295
|
-
|
|
296
|
-
## Getting Help
|
|
297
|
-
|
|
298
|
-
If you encounter issues during migration:
|
|
299
|
-
|
|
300
|
-
1. Check the updated API documentation for detailed examples
|
|
301
|
-
2. Review the example applications in the repository
|
|
302
|
-
3. Report issues at https://github.com/assistant-ui/assistant-ui/issues
|