@assistant-ui/mcp-docs-server 0.2.2 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -43
- package/dist/index.d.ts +2 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -91
- package/dist/index.js.map +1 -1
- package/dist/proxy.d.ts +9 -0
- package/dist/proxy.d.ts.map +1 -0
- package/dist/proxy.js +76 -0
- package/dist/proxy.js.map +1 -0
- package/package.json +9 -13
- package/src/index.ts +3 -115
- package/src/proxy.test.ts +250 -0
- package/src/proxy.ts +111 -0
- package/.docs/organized/code-examples/waterfall.md +0 -807
- package/.docs/organized/code-examples/with-a2a.md +0 -674
- package/.docs/organized/code-examples/with-ag-ui.md +0 -552
- package/.docs/organized/code-examples/with-ai-sdk-v7.md +0 -465
- package/.docs/organized/code-examples/with-artifacts.md +0 -814
- package/.docs/organized/code-examples/with-assistant-transport.md +0 -575
- package/.docs/organized/code-examples/with-browser-extension.md +0 -371
- package/.docs/organized/code-examples/with-chain-of-thought.md +0 -960
- package/.docs/organized/code-examples/with-cloud-standalone.md +0 -681
- package/.docs/organized/code-examples/with-cloud.md +0 -438
- package/.docs/organized/code-examples/with-custom-thread-list.md +0 -568
- package/.docs/organized/code-examples/with-elevenlabs-conversational.md +0 -526
- package/.docs/organized/code-examples/with-elevenlabs-scribe.md +0 -696
- package/.docs/organized/code-examples/with-eve.md +0 -404
- package/.docs/organized/code-examples/with-expo.md +0 -2063
- package/.docs/organized/code-examples/with-external-store.md +0 -420
- package/.docs/organized/code-examples/with-ffmpeg.md +0 -828
- package/.docs/organized/code-examples/with-generative-ui.md +0 -1812
- package/.docs/organized/code-examples/with-google-adk.md +0 -367
- package/.docs/organized/code-examples/with-heat-graph.md +0 -304
- package/.docs/organized/code-examples/with-image-generation.md +0 -462
- package/.docs/organized/code-examples/with-interactables.md +0 -732
- package/.docs/organized/code-examples/with-langchain.md +0 -445
- package/.docs/organized/code-examples/with-langgraph.md +0 -854
- package/.docs/organized/code-examples/with-livekit.md +0 -642
- package/.docs/organized/code-examples/with-mcp.md +0 -780
- package/.docs/organized/code-examples/with-nuxt.md +0 -2428
- package/.docs/organized/code-examples/with-opencode.md +0 -1974
- package/.docs/organized/code-examples/with-openui.md +0 -449
- package/.docs/organized/code-examples/with-pi.md +0 -2083
- package/.docs/organized/code-examples/with-react-hook-form.md +0 -724
- package/.docs/organized/code-examples/with-react-ink-web.md +0 -690
- package/.docs/organized/code-examples/with-react-ink.md +0 -472
- package/.docs/organized/code-examples/with-react-router.md +0 -935
- package/.docs/organized/code-examples/with-resumable-stream.md +0 -667
- package/.docs/organized/code-examples/with-store.md +0 -679
- package/.docs/organized/code-examples/with-svelte.md +0 -415
- package/.docs/organized/code-examples/with-sveltekit.md +0 -1061
- package/.docs/organized/code-examples/with-tanstack.md +0 -811
- package/.docs/organized/code-examples/with-tap-runtime.md +0 -812
- package/.docs/organized/code-examples/with-virtualized-thread.md +0 -680
- package/.docs/organized/code-examples/with-vue.md +0 -408
- package/.docs/raw/docs/(docs)/architecture.mdx +0 -146
- package/.docs/raw/docs/(docs)/base-ui.mdx +0 -39
- package/.docs/raw/docs/(docs)/cli.mdx +0 -542
- package/.docs/raw/docs/(docs)/devtools.mdx +0 -79
- package/.docs/raw/docs/(docs)/index.mdx +0 -21
- package/.docs/raw/docs/(docs)/installation.mdx +0 -483
- package/.docs/raw/docs/(docs)/llm.mdx +0 -211
- package/.docs/raw/docs/(docs)/rtl.mdx +0 -78
- package/.docs/raw/docs/(reference)/api-reference/adapters/attachments.mdx +0 -36
- package/.docs/raw/docs/(reference)/api-reference/adapters/feedback.mdx +0 -20
- package/.docs/raw/docs/(reference)/api-reference/adapters/index.mdx +0 -34
- package/.docs/raw/docs/(reference)/api-reference/adapters/model.mdx +0 -44
- package/.docs/raw/docs/(reference)/api-reference/adapters/persistence.mdx +0 -59
- package/.docs/raw/docs/(reference)/api-reference/adapters/runtime.mdx +0 -20
- package/.docs/raw/docs/(reference)/api-reference/adapters/suggestions.mdx +0 -20
- package/.docs/raw/docs/(reference)/api-reference/context-providers/assistant-runtime-provider.mdx +0 -84
- package/.docs/raw/docs/(reference)/api-reference/context-providers/index.mdx +0 -22
- package/.docs/raw/docs/(reference)/api-reference/context-providers/scoped-providers.mdx +0 -64
- package/.docs/raw/docs/(reference)/api-reference/external-store/index.mdx +0 -22
- package/.docs/raw/docs/(reference)/api-reference/external-store/message-conversion.mdx +0 -52
- package/.docs/raw/docs/(reference)/api-reference/external-store/runtime.mdx +0 -49
- package/.docs/raw/docs/(reference)/api-reference/generative-ui/a2ui.mdx +0 -40
- package/.docs/raw/docs/(reference)/api-reference/generative-ui/actions.mdx +0 -56
- package/.docs/raw/docs/(reference)/api-reference/generative-ui/components.mdx +0 -86
- package/.docs/raw/docs/(reference)/api-reference/generative-ui/index.mdx +0 -39
- package/.docs/raw/docs/(reference)/api-reference/generative-ui/json-generative-ui.mdx +0 -42
- package/.docs/raw/docs/(reference)/api-reference/generative-ui/rendering.mdx +0 -84
- package/.docs/raw/docs/(reference)/api-reference/generative-ui/slack.mdx +0 -85
- package/.docs/raw/docs/(reference)/api-reference/generative-ui/spec.mdx +0 -45
- package/.docs/raw/docs/(reference)/api-reference/generative-ui/teams.mdx +0 -93
- package/.docs/raw/docs/(reference)/api-reference/generative-ui/tokens.mdx +0 -62
- package/.docs/raw/docs/(reference)/api-reference/hooks/composer-triggers.mdx +0 -129
- package/.docs/raw/docs/(reference)/api-reference/hooks/index.mdx +0 -31
- package/.docs/raw/docs/(reference)/api-reference/hooks/model-context.mdx +0 -34
- package/.docs/raw/docs/(reference)/api-reference/hooks/primitives.mdx +0 -350
- package/.docs/raw/docs/(reference)/api-reference/hooks/runtimes.mdx +0 -28
- package/.docs/raw/docs/(reference)/api-reference/hooks/state.mdx +0 -97
- package/.docs/raw/docs/(reference)/api-reference/integrations/cloud-ai-sdk.mdx +0 -24
- package/.docs/raw/docs/(reference)/api-reference/integrations/eve.mdx +0 -97
- package/.docs/raw/docs/(reference)/api-reference/integrations/index.mdx +0 -28
- package/.docs/raw/docs/(reference)/api-reference/integrations/react-ai-sdk.mdx +0 -200
- package/.docs/raw/docs/(reference)/api-reference/integrations/react-data-stream.mdx +0 -37
- package/.docs/raw/docs/(reference)/api-reference/model-context/context.mdx +0 -50
- package/.docs/raw/docs/(reference)/api-reference/model-context/index.mdx +0 -22
- package/.docs/raw/docs/(reference)/api-reference/model-context/registry.mdx +0 -20
- package/.docs/raw/docs/(reference)/api-reference/overview.mdx +0 -566
- package/.docs/raw/docs/(reference)/api-reference/primitives/action-bar-more.mdx +0 -152
- package/.docs/raw/docs/(reference)/api-reference/primitives/action-bar.mdx +0 -239
- package/.docs/raw/docs/(reference)/api-reference/primitives/assistant-if.mdx +0 -208
- package/.docs/raw/docs/(reference)/api-reference/primitives/assistant-modal.mdx +0 -108
- package/.docs/raw/docs/(reference)/api-reference/primitives/attachment.mdx +0 -99
- package/.docs/raw/docs/(reference)/api-reference/primitives/branch-picker.mdx +0 -145
- package/.docs/raw/docs/(reference)/api-reference/primitives/chain-of-thought.mdx +0 -82
- package/.docs/raw/docs/(reference)/api-reference/primitives/composer.mdx +0 -619
- package/.docs/raw/docs/(reference)/api-reference/primitives/composition.mdx +0 -22
- package/.docs/raw/docs/(reference)/api-reference/primitives/error.mdx +0 -65
- package/.docs/raw/docs/(reference)/api-reference/primitives/index.mdx +0 -73
- package/.docs/raw/docs/(reference)/api-reference/primitives/message-part.mdx +0 -117
- package/.docs/raw/docs/(reference)/api-reference/primitives/message.mdx +0 -339
- package/.docs/raw/docs/(reference)/api-reference/primitives/queue-item.mdx +0 -77
- package/.docs/raw/docs/(reference)/api-reference/primitives/selection-toolbar.mdx +0 -88
- package/.docs/raw/docs/(reference)/api-reference/primitives/suggestion.mdx +0 -81
- package/.docs/raw/docs/(reference)/api-reference/primitives/thread-list-item-more.mdx +0 -129
- package/.docs/raw/docs/(reference)/api-reference/primitives/thread-list-item.mdx +0 -138
- package/.docs/raw/docs/(reference)/api-reference/primitives/thread-list.mdx +0 -122
- package/.docs/raw/docs/(reference)/api-reference/primitives/thread.mdx +0 -289
- package/.docs/raw/docs/(reference)/api-reference/runtimes/assistant-runtime.mdx +0 -20
- package/.docs/raw/docs/(reference)/api-reference/runtimes/attachment-runtime.mdx +0 -24
- package/.docs/raw/docs/(reference)/api-reference/runtimes/composer-runtime.mdx +0 -32
- package/.docs/raw/docs/(reference)/api-reference/runtimes/index.mdx +0 -43
- package/.docs/raw/docs/(reference)/api-reference/runtimes/message-part-runtime.mdx +0 -43
- package/.docs/raw/docs/(reference)/api-reference/runtimes/message-runtime.mdx +0 -24
- package/.docs/raw/docs/(reference)/api-reference/runtimes/queue-state.mdx +0 -20
- package/.docs/raw/docs/(reference)/api-reference/runtimes/thread-list-item-runtime.mdx +0 -24
- package/.docs/raw/docs/(reference)/api-reference/runtimes/thread-list-runtime.mdx +0 -24
- package/.docs/raw/docs/(reference)/api-reference/runtimes/thread-runtime.mdx +0 -36
- package/.docs/raw/docs/(reference)/api-reference/tools/component-tools.mdx +0 -85
- package/.docs/raw/docs/(reference)/api-reference/tools/index.mdx +0 -45
- package/.docs/raw/docs/(reference)/api-reference/tools/interactables-legacy.mdx +0 -55
- package/.docs/raw/docs/(reference)/api-reference/tools/interactables.mdx +0 -151
- package/.docs/raw/docs/(reference)/api-reference/tools/rendering.mdx +0 -106
- package/.docs/raw/docs/(reference)/api-reference/tools/status.mdx +0 -62
- package/.docs/raw/docs/(reference)/api-reference/tools/toolkits.mdx +0 -178
- package/.docs/raw/docs/(reference)/api-reference/transport/assistant-transport.mdx +0 -48
- package/.docs/raw/docs/(reference)/api-reference/transport/frame.mdx +0 -62
- package/.docs/raw/docs/(reference)/api-reference/transport/index.mdx +0 -22
- package/.docs/raw/docs/(reference)/api-reference/utilities/index.mdx +0 -19
- package/.docs/raw/docs/(reference)/api-reference/utilities/miscellaneous.mdx +0 -149
- package/.docs/raw/docs/(reference)/api-reference/voice/index.mdx +0 -22
- package/.docs/raw/docs/(reference)/api-reference/voice/session.mdx +0 -54
- package/.docs/raw/docs/(reference)/api-reference/voice/speech-dictation.mdx +0 -36
- package/.docs/raw/docs/cloud/ai-sdk-assistant-ui.mdx +0 -527
- package/.docs/raw/docs/cloud/ai-sdk.mdx +0 -602
- package/.docs/raw/docs/cloud/authorization.mdx +0 -252
- package/.docs/raw/docs/cloud/index.mdx +0 -46
- package/.docs/raw/docs/cloud/langgraph.mdx +0 -554
- package/.docs/raw/docs/copilots/assistant-frame.mdx +0 -400
- package/.docs/raw/docs/copilots/make-assistant-visible.mdx +0 -82
- package/.docs/raw/docs/copilots/model-context.mdx +0 -156
- package/.docs/raw/docs/copilots/motivation.mdx +0 -202
- package/.docs/raw/docs/copilots/use-assistant-instructions.mdx +0 -64
- package/.docs/raw/docs/guides/attachments.mdx +0 -619
- package/.docs/raw/docs/guides/branching.mdx +0 -76
- package/.docs/raw/docs/guides/chain-of-thought.mdx +0 -164
- package/.docs/raw/docs/guides/chatgpt-subscription.mdx +0 -108
- package/.docs/raw/docs/guides/context-api.mdx +0 -619
- package/.docs/raw/docs/guides/dictation.mdx +0 -298
- package/.docs/raw/docs/guides/editing.mdx +0 -102
- package/.docs/raw/docs/guides/electron.mdx +0 -369
- package/.docs/raw/docs/guides/headless-composer-input.mdx +0 -113
- package/.docs/raw/docs/guides/image-generation.mdx +0 -74
- package/.docs/raw/docs/guides/index.mdx +0 -117
- package/.docs/raw/docs/guides/input-history.mdx +0 -55
- package/.docs/raw/docs/guides/latex.mdx +0 -158
- package/.docs/raw/docs/guides/mentions.mdx +0 -575
- package/.docs/raw/docs/guides/message-timing.mdx +0 -209
- package/.docs/raw/docs/guides/quoting.mdx +0 -169
- package/.docs/raw/docs/guides/resumable-stream-deployment.mdx +0 -212
- package/.docs/raw/docs/guides/resumable-stream-stores.mdx +0 -152
- package/.docs/raw/docs/guides/resumable-streams.mdx +0 -292
- package/.docs/raw/docs/guides/slash-commands.mdx +0 -358
- package/.docs/raw/docs/guides/speech.mdx +0 -172
- package/.docs/raw/docs/guides/suggestions.mdx +0 -384
- package/.docs/raw/docs/guides/virtualization.mdx +0 -133
- package/.docs/raw/docs/guides/voice.mdx +0 -310
- package/.docs/raw/docs/ink/adapters.mdx +0 -99
- package/.docs/raw/docs/ink/custom-backend.mdx +0 -254
- package/.docs/raw/docs/ink/hooks.mdx +0 -469
- package/.docs/raw/docs/ink/index.mdx +0 -236
- package/.docs/raw/docs/ink/migration.mdx +0 -138
- package/.docs/raw/docs/ink/primitives.mdx +0 -1259
- package/.docs/raw/docs/integrations/attachments/custom-adapter.mdx +0 -528
- package/.docs/raw/docs/integrations/auth/better-auth.mdx +0 -188
- package/.docs/raw/docs/integrations/auth/clerk.mdx +0 -166
- package/.docs/raw/docs/integrations/auth/next-auth.mdx +0 -191
- package/.docs/raw/docs/integrations/frameworks/ai-sdk.mdx +0 -88
- package/.docs/raw/docs/integrations/frameworks/cloudflare-agents/overview.mdx +0 -282
- package/.docs/raw/docs/integrations/frameworks/mastra/full-stack.mdx +0 -188
- package/.docs/raw/docs/integrations/frameworks/mastra/overview.mdx +0 -57
- package/.docs/raw/docs/integrations/frameworks/mastra/separate-server.mdx +0 -201
- package/.docs/raw/docs/integrations/gateways/index.mdx +0 -162
- package/.docs/raw/docs/integrations/index.mdx +0 -178
- package/.docs/raw/docs/integrations/observability/helicone.mdx +0 -129
- package/.docs/raw/docs/integrations/observability/langfuse.mdx +0 -161
- package/.docs/raw/docs/integrations/observability/langsmith.mdx +0 -151
- package/.docs/raw/docs/integrations/persistence/custom-adapter.mdx +0 -773
- package/.docs/raw/docs/migrations/deprecation-policy.mdx +0 -42
- package/.docs/raw/docs/migrations/index.mdx +0 -50
- package/.docs/raw/docs/migrations/react-compatibility.mdx +0 -74
- package/.docs/raw/docs/migrations/react-langgraph-v0-7.mdx +0 -328
- package/.docs/raw/docs/migrations/toolkit-tools.mdx +0 -236
- package/.docs/raw/docs/migrations/v0-11.mdx +0 -172
- package/.docs/raw/docs/migrations/v0-12.mdx +0 -302
- package/.docs/raw/docs/migrations/v0-14.mdx +0 -297
- package/.docs/raw/docs/migrations/v0-15.mdx +0 -270
- package/.docs/raw/docs/primitives/action-bar.mdx +0 -352
- package/.docs/raw/docs/primitives/assistant-modal.mdx +0 -216
- package/.docs/raw/docs/primitives/attachment.mdx +0 -217
- package/.docs/raw/docs/primitives/branch-picker.mdx +0 -222
- package/.docs/raw/docs/primitives/chain-of-thought.mdx +0 -315
- package/.docs/raw/docs/primitives/composer.mdx +0 -659
- package/.docs/raw/docs/primitives/error.mdx +0 -142
- package/.docs/raw/docs/primitives/index.mdx +0 -99
- package/.docs/raw/docs/primitives/message.mdx +0 -618
- package/.docs/raw/docs/primitives/selection-toolbar.mdx +0 -191
- package/.docs/raw/docs/primitives/suggestion.mdx +0 -254
- package/.docs/raw/docs/primitives/thread-list.mdx +0 -467
- package/.docs/raw/docs/primitives/thread.mdx +0 -509
- package/.docs/raw/docs/react-native/adapters.mdx +0 -94
- package/.docs/raw/docs/react-native/custom-backend.mdx +0 -207
- package/.docs/raw/docs/react-native/hooks.mdx +0 -339
- package/.docs/raw/docs/react-native/index.mdx +0 -289
- package/.docs/raw/docs/react-native/migration.mdx +0 -142
- package/.docs/raw/docs/react-native/primitives.mdx +0 -839
- package/.docs/raw/docs/runtimes/a2a/client-and-hooks.mdx +0 -399
- package/.docs/raw/docs/runtimes/a2a/overview.mdx +0 -60
- package/.docs/raw/docs/runtimes/a2a/quickstart.mdx +0 -216
- package/.docs/raw/docs/runtimes/ag-ui/agent-state.mdx +0 -124
- package/.docs/raw/docs/runtimes/ag-ui/overview.mdx +0 -70
- package/.docs/raw/docs/runtimes/ag-ui/quickstart.mdx +0 -243
- package/.docs/raw/docs/runtimes/ag-ui/runtime-options.mdx +0 -255
- package/.docs/raw/docs/runtimes/ai-sdk/overview.mdx +0 -61
- package/.docs/raw/docs/runtimes/ai-sdk/v4-legacy.mdx +0 -122
- package/.docs/raw/docs/runtimes/ai-sdk/v5-legacy.mdx +0 -135
- package/.docs/raw/docs/runtimes/ai-sdk/v6-legacy.mdx +0 -636
- package/.docs/raw/docs/runtimes/ai-sdk/v7.mdx +0 -716
- package/.docs/raw/docs/runtimes/claude-managed-agents.mdx +0 -118
- package/.docs/raw/docs/runtimes/concepts/adapters.mdx +0 -265
- package/.docs/raw/docs/runtimes/concepts/architecture.mdx +0 -167
- package/.docs/raw/docs/runtimes/concepts/stability.mdx +0 -68
- package/.docs/raw/docs/runtimes/concepts/threads.mdx +0 -513
- package/.docs/raw/docs/runtimes/custom/assistant-transport.mdx +0 -763
- package/.docs/raw/docs/runtimes/custom/data-stream.mdx +0 -339
- package/.docs/raw/docs/runtimes/custom/external-store.mdx +0 -957
- package/.docs/raw/docs/runtimes/custom/local-runtime.mdx +0 -902
- package/.docs/raw/docs/runtimes/custom/overview.mdx +0 -71
- package/.docs/raw/docs/runtimes/eve/overview.mdx +0 -151
- package/.docs/raw/docs/runtimes/eve/quickstart.mdx +0 -192
- package/.docs/raw/docs/runtimes/google-adk/api.mdx +0 -256
- package/.docs/raw/docs/runtimes/google-adk/hooks.mdx +0 -784
- package/.docs/raw/docs/runtimes/google-adk/overview.mdx +0 -69
- package/.docs/raw/docs/runtimes/google-adk/quickstart.mdx +0 -229
- package/.docs/raw/docs/runtimes/langchain.mdx +0 -901
- package/.docs/raw/docs/runtimes/langgraph/agent-state.mdx +0 -181
- package/.docs/raw/docs/runtimes/langgraph/generative-ui.mdx +0 -305
- package/.docs/raw/docs/runtimes/langgraph/interrupts.mdx +0 -104
- package/.docs/raw/docs/runtimes/langgraph/overview.mdx +0 -84
- package/.docs/raw/docs/runtimes/langgraph/quickstart.mdx +0 -496
- package/.docs/raw/docs/runtimes/langgraph/streaming.mdx +0 -144
- package/.docs/raw/docs/runtimes/langgraph/threads.mdx +0 -113
- package/.docs/raw/docs/runtimes/langgraph/tutorial/introduction.mdx +0 -29
- package/.docs/raw/docs/runtimes/langgraph/tutorial/part-1.mdx +0 -93
- package/.docs/raw/docs/runtimes/langgraph/tutorial/part-2.mdx +0 -347
- package/.docs/raw/docs/runtimes/langgraph/tutorial/part-3.mdx +0 -393
- package/.docs/raw/docs/runtimes/opencode/hooks.mdx +0 -194
- package/.docs/raw/docs/runtimes/opencode/overview.mdx +0 -58
- package/.docs/raw/docs/runtimes/opencode/quickstart.mdx +0 -119
- package/.docs/raw/docs/runtimes/pick-a-runtime.mdx +0 -133
- package/.docs/raw/docs/tools/a2ui.mdx +0 -107
- package/.docs/raw/docs/tools/backend.mdx +0 -147
- package/.docs/raw/docs/tools/defining-tools.mdx +0 -574
- package/.docs/raw/docs/tools/dynamic-tools.mdx +0 -112
- package/.docs/raw/docs/tools/generative-ui-primitive.mdx +0 -180
- package/.docs/raw/docs/tools/generative-ui-slack.mdx +0 -167
- package/.docs/raw/docs/tools/generative-ui-teams.mdx +0 -160
- package/.docs/raw/docs/tools/generative-ui.mdx +0 -322
- package/.docs/raw/docs/tools/index.mdx +0 -72
- package/.docs/raw/docs/tools/interactables.mdx +0 -1084
- package/.docs/raw/docs/tools/mcp-apps.mdx +0 -346
- package/.docs/raw/docs/tools/mcp.mdx +0 -466
- package/.docs/raw/docs/tools/multi-agent.mdx +0 -237
- package/.docs/raw/docs/tools/openui.mdx +0 -175
- package/.docs/raw/docs/tools/tool-ui.mdx +0 -1008
- package/.docs/raw/docs/tools/user-managed-mcp.mdx +0 -428
- package/.docs/raw/docs/ui/accordion.mdx +0 -266
- package/.docs/raw/docs/ui/assistant-modal.mdx +0 -166
- package/.docs/raw/docs/ui/assistant-sidebar.mdx +0 -89
- package/.docs/raw/docs/ui/attachment.mdx +0 -259
- package/.docs/raw/docs/ui/badge.mdx +0 -150
- package/.docs/raw/docs/ui/composer-trigger-popover.mdx +0 -212
- package/.docs/raw/docs/ui/context-display.mdx +0 -148
- package/.docs/raw/docs/ui/diff-viewer.mdx +0 -280
- package/.docs/raw/docs/ui/directive-text.mdx +0 -114
- package/.docs/raw/docs/ui/dot-matrix.mdx +0 -133
- package/.docs/raw/docs/ui/file.mdx +0 -159
- package/.docs/raw/docs/ui/follow-up-suggestions.mdx +0 -82
- package/.docs/raw/docs/ui/image.mdx +0 -102
- package/.docs/raw/docs/ui/markdown.mdx +0 -64
- package/.docs/raw/docs/ui/mcp-config.mdx +0 -107
- package/.docs/raw/docs/ui/mermaid.mdx +0 -92
- package/.docs/raw/docs/ui/message-timing.mdx +0 -93
- package/.docs/raw/docs/ui/model-selector.mdx +0 -455
- package/.docs/raw/docs/ui/number-roll.mdx +0 -154
- package/.docs/raw/docs/ui/part-grouping.mdx +0 -614
- package/.docs/raw/docs/ui/quote.mdx +0 -211
- package/.docs/raw/docs/ui/reasoning.mdx +0 -186
- package/.docs/raw/docs/ui/scrollbar.mdx +0 -77
- package/.docs/raw/docs/ui/select.mdx +0 -254
- package/.docs/raw/docs/ui/sources.mdx +0 -177
- package/.docs/raw/docs/ui/streamdown.mdx +0 -392
- package/.docs/raw/docs/ui/syntax-highlighting.mdx +0 -205
- package/.docs/raw/docs/ui/tabs.mdx +0 -271
- package/.docs/raw/docs/ui/thread-list.mdx +0 -372
- package/.docs/raw/docs/ui/thread.mdx +0 -512
- package/.docs/raw/docs/ui/tool-fallback.mdx +0 -127
- package/.docs/raw/docs/ui/tool-group.mdx +0 -240
- package/.docs/raw/docs/ui/voice.mdx +0 -173
- package/.docs/raw/docs/utilities/heat-graph.mdx +0 -237
- package/.docs/raw/docs/utilities/react-o11y.mdx +0 -362
- package/.docs/raw/docs/utilities/tw-shimmer.mdx +0 -212
- package/dist/constants.d.ts +0 -14
- package/dist/constants.d.ts.map +0 -1
- package/dist/constants.js +0 -19
- package/dist/constants.js.map +0 -1
- package/dist/prepare-docs/code-examples.d.ts +0 -5
- package/dist/prepare-docs/code-examples.d.ts.map +0 -1
- package/dist/prepare-docs/code-examples.js +0 -117
- package/dist/prepare-docs/code-examples.js.map +0 -1
- package/dist/prepare-docs/copy-raw.d.ts +0 -5
- package/dist/prepare-docs/copy-raw.d.ts.map +0 -1
- package/dist/prepare-docs/copy-raw.js +0 -49
- package/dist/prepare-docs/copy-raw.js.map +0 -1
- package/dist/prepare-docs/prepare.d.ts +0 -1
- package/dist/prepare-docs/prepare.js +0 -22
- package/dist/prepare-docs/prepare.js.map +0 -1
- package/dist/prompts/xulux-playground.d.ts +0 -12
- package/dist/prompts/xulux-playground.d.ts.map +0 -1
- package/dist/prompts/xulux-playground.js +0 -33
- package/dist/prompts/xulux-playground.js.map +0 -1
- package/dist/tools/docs.d.ts +0 -22
- package/dist/tools/docs.d.ts.map +0 -1
- package/dist/tools/docs.js +0 -177
- package/dist/tools/docs.js.map +0 -1
- package/dist/tools/examples.d.ts +0 -24
- package/dist/tools/examples.d.ts.map +0 -1
- package/dist/tools/examples.js +0 -87
- package/dist/tools/examples.js.map +0 -1
- package/dist/tools/resources.d.ts +0 -6
- package/dist/tools/resources.d.ts.map +0 -1
- package/dist/tools/resources.js +0 -75
- package/dist/tools/resources.js.map +0 -1
- package/dist/tools/search.d.ts +0 -24
- package/dist/tools/search.d.ts.map +0 -1
- package/dist/tools/search.js +0 -39
- package/dist/tools/search.js.map +0 -1
- package/dist/tools/tests/mcp-test-client.d.ts +0 -15
- package/dist/tools/tests/mcp-test-client.d.ts.map +0 -1
- package/dist/tools/tests/mcp-test-client.js +0 -68
- package/dist/tools/tests/mcp-test-client.js.map +0 -1
- package/dist/tools/tests/test-setup.d.ts +0 -7
- package/dist/tools/tests/test-setup.d.ts.map +0 -1
- package/dist/tools/tests/test-setup.js +0 -36
- package/dist/tools/tests/test-setup.js.map +0 -1
- package/dist/tools/xulux-templates.d.ts +0 -58
- package/dist/tools/xulux-templates.d.ts.map +0 -1
- package/dist/tools/xulux-templates.js +0 -84
- package/dist/tools/xulux-templates.js.map +0 -1
- package/dist/utils/cache.d.ts +0 -5
- package/dist/utils/cache.d.ts.map +0 -1
- package/dist/utils/cache.js +0 -18
- package/dist/utils/cache.js.map +0 -1
- package/dist/utils/logger.d.ts +0 -10
- package/dist/utils/logger.d.ts.map +0 -1
- package/dist/utils/logger.js +0 -20
- package/dist/utils/logger.js.map +0 -1
- package/dist/utils/mcp-format.d.ts +0 -11
- package/dist/utils/mcp-format.d.ts.map +0 -1
- package/dist/utils/mcp-format.js +0 -14
- package/dist/utils/mcp-format.js.map +0 -1
- package/dist/utils/mdx.d.ts +0 -12
- package/dist/utils/mdx.d.ts.map +0 -1
- package/dist/utils/mdx.js +0 -45
- package/dist/utils/mdx.js.map +0 -1
- package/dist/utils/paths.d.ts +0 -12
- package/dist/utils/paths.d.ts.map +0 -1
- package/dist/utils/paths.js +0 -93
- package/dist/utils/paths.js.map +0 -1
- package/dist/utils/search.d.ts +0 -10
- package/dist/utils/search.d.ts.map +0 -1
- package/dist/utils/search.js +0 -97
- package/dist/utils/search.js.map +0 -1
- package/dist/utils/security.d.ts +0 -5
- package/dist/utils/security.d.ts.map +0 -1
- package/dist/utils/security.js +0 -22
- package/dist/utils/security.js.map +0 -1
- package/dist/xulux/catalog-client.d.ts +0 -14
- package/dist/xulux/catalog-client.d.ts.map +0 -1
- package/dist/xulux/catalog-client.js +0 -67
- package/dist/xulux/catalog-client.js.map +0 -1
- package/dist/xulux/fallback-catalog.d.ts +0 -7
- package/dist/xulux/fallback-catalog.d.ts.map +0 -1
- package/dist/xulux/fallback-catalog.js +0 -47
- package/dist/xulux/fallback-catalog.js.map +0 -1
- package/dist/xulux/fetch-sandbox.d.ts +0 -5
- package/dist/xulux/fetch-sandbox.d.ts.map +0 -1
- package/dist/xulux/fetch-sandbox.js +0 -40
- package/dist/xulux/fetch-sandbox.js.map +0 -1
- package/dist/xulux/template-service.d.ts +0 -84
- package/dist/xulux/template-service.d.ts.map +0 -1
- package/dist/xulux/template-service.js +0 -223
- package/dist/xulux/template-service.js.map +0 -1
- package/dist/xulux/types.d.ts +0 -55
- package/dist/xulux/types.d.ts.map +0 -1
- package/dist/xulux/types.js +0 -6
- package/dist/xulux/types.js.map +0 -1
- package/src/constants.ts +0 -24
- package/src/prepare-docs/code-examples.ts +0 -158
- package/src/prepare-docs/copy-raw.ts +0 -50
- package/src/prepare-docs/prepare.ts +0 -24
- package/src/prompts/xulux-playground.ts +0 -36
- package/src/tools/docs.ts +0 -255
- package/src/tools/examples.ts +0 -114
- package/src/tools/resources.ts +0 -111
- package/src/tools/search.ts +0 -46
- package/src/tools/tests/completions.test.ts +0 -60
- package/src/tools/tests/directory-size-cap.test.ts +0 -50
- package/src/tools/tests/docs.test.ts +0 -144
- package/src/tools/tests/examples.test.ts +0 -94
- package/src/tools/tests/integration.test.ts +0 -45
- package/src/tools/tests/json-parsing.test.ts +0 -23
- package/src/tools/tests/listings-cache.test.ts +0 -19
- package/src/tools/tests/mcp-protocol.test.ts +0 -216
- package/src/tools/tests/mcp-test-client.ts +0 -111
- package/src/tools/tests/path-traversal.test.ts +0 -81
- package/src/tools/tests/resources.test.ts +0 -133
- package/src/tools/tests/search.test.ts +0 -37
- package/src/tools/tests/test-setup.ts +0 -50
- package/src/tools/tests/xulux-templates.test.ts +0 -262
- package/src/tools/xulux-templates.ts +0 -141
- package/src/utils/cache.ts +0 -20
- package/src/utils/logger.ts +0 -20
- package/src/utils/mcp-format.ts +0 -14
- package/src/utils/mdx.ts +0 -59
- package/src/utils/paths.ts +0 -139
- package/src/utils/search.ts +0 -131
- package/src/utils/security.ts +0 -52
- package/src/utils/tests/cache.test.ts +0 -51
- package/src/utils/tests/mcp-format.test.ts +0 -22
- package/src/utils/tests/security.test.ts +0 -119
- package/src/xulux/catalog-client.ts +0 -105
- package/src/xulux/fallback-catalog.ts +0 -63
- package/src/xulux/fetch-sandbox.ts +0 -56
- package/src/xulux/template-service.ts +0 -406
- package/src/xulux/types.ts +0 -60
|
@@ -1,297 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Migration to v0.14
|
|
3
|
-
description: Drops APIs deprecated since v0.11/v0.12, and primitives migrate from components prop to children render functions.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
Version 0.14 finishes deprecation cycles started in v0.11 and v0.12, and replaces the `components` prop on primitives with a children render function pattern. If your app is on v0.13 and free of deprecation warnings, the only required change is the children API migration.
|
|
7
|
-
|
|
8
|
-
## Automatic Migration
|
|
9
|
-
|
|
10
|
-
The codemod that ships with the CLI handles the v0.12 hook renames (`useAssistantApi` → `useAui`, etc.) which are also removed in v0.14:
|
|
11
|
-
|
|
12
|
-
```bash
|
|
13
|
-
npx assistant-ui@latest upgrade
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
The other removals listed below are simple renames you can apply with find-and-replace.
|
|
17
|
-
|
|
18
|
-
## Hook Aliases Removed
|
|
19
|
-
|
|
20
|
-
These thin aliases existed only for backwards compatibility:
|
|
21
|
-
|
|
22
|
-
| Removed | Replacement |
|
|
23
|
-
| ------------------------------------ | ---------------------------- |
|
|
24
|
-
| `useAssistantApi` | `useAui` |
|
|
25
|
-
| `useAssistantState` | `useAuiState` |
|
|
26
|
-
| `useAssistantEvent` | `useAuiEvent` |
|
|
27
|
-
| `AssistantIf` | `AuiIf` |
|
|
28
|
-
| `useLocalThreadRuntime` | `useLocalRuntime` |
|
|
29
|
-
| `unstable_useRemoteThreadListRuntime`| `useRemoteThreadListRuntime` |
|
|
30
|
-
| `unstable_useCloudThreadListAdapter` | `useCloudThreadListAdapter` |
|
|
31
|
-
| `unstable_RemoteThreadListAdapter` | `RemoteThreadListAdapter` |
|
|
32
|
-
| `unstable_InMemoryThreadListAdapter` | `InMemoryThreadListAdapter` |
|
|
33
|
-
|
|
34
|
-
## Runtime API Cleanups
|
|
35
|
-
|
|
36
|
-
### `AssistantRuntime`
|
|
37
|
-
|
|
38
|
-
| Removed | Replacement |
|
|
39
|
-
| ---------------------------------------- | ----------------------------------------- |
|
|
40
|
-
| `runtime.threadList` | `runtime.threads` |
|
|
41
|
-
| `runtime.switchToNewThread()` | `runtime.threads.switchToNewThread()` |
|
|
42
|
-
| `runtime.switchToThread(id)` | `runtime.threads.switchToThread(id)` |
|
|
43
|
-
| `runtime.registerModelConfigProvider(p)` | `runtime.registerModelContextProvider(p)` |
|
|
44
|
-
| `runtime.reset({ initialMessages })` | `runtime.thread.reset(initialMessages)` |
|
|
45
|
-
|
|
46
|
-
### `ThreadRuntime`
|
|
47
|
-
|
|
48
|
-
| Removed | Replacement |
|
|
49
|
-
| ------------------------------------------ | ----------------------------------- |
|
|
50
|
-
| `thread.startRun(parentId)` (positional) | `thread.startRun({ parentId })` |
|
|
51
|
-
| `thread.unstable_resumeRun(config)` | `thread.resumeRun(config)` |
|
|
52
|
-
| `thread.unstable_loadExternalState(state)` | `thread.importExternalState(state)` |
|
|
53
|
-
| `thread.getModelConfig()` | `thread.getModelContext()` |
|
|
54
|
-
|
|
55
|
-
### `MessageState` / `MessageRuntime`
|
|
56
|
-
|
|
57
|
-
The duplicate top-level `submittedFeedback` field has been removed. It has always been mirrored from `message.metadata.submittedFeedback`, which remains the source of truth:
|
|
58
|
-
|
|
59
|
-
```tsx
|
|
60
|
-
// Before
|
|
61
|
-
useAuiState((s) => s.message.submittedFeedback);
|
|
62
|
-
|
|
63
|
-
// After
|
|
64
|
-
useAuiState((s) => s.message.metadata.submittedFeedback);
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
### `ChatModelRunOptions`
|
|
68
|
-
|
|
69
|
-
If you wrote a custom `ChatModelAdapter`, the legacy alias `options.config` (which mirrored `options.context`) is gone:
|
|
70
|
-
|
|
71
|
-
```ts
|
|
72
|
-
// Before
|
|
73
|
-
const adapter: ChatModelAdapter = {
|
|
74
|
-
async run({ messages, config }) {
|
|
75
|
-
/* config.tools, config.config, ... */
|
|
76
|
-
},
|
|
77
|
-
};
|
|
78
|
-
|
|
79
|
-
// After
|
|
80
|
-
const adapter: ChatModelAdapter = {
|
|
81
|
-
async run({ messages, context }) {
|
|
82
|
-
/* context.tools, context.config, ... */
|
|
83
|
-
},
|
|
84
|
-
};
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
## External Store Helpers
|
|
88
|
-
|
|
89
|
-
`getExternalStoreMessage` (singular) has been removed. Use `getExternalStoreMessages` (plural), which always returns an array — even when only one source message is bound:
|
|
90
|
-
|
|
91
|
-
```ts
|
|
92
|
-
// Before
|
|
93
|
-
const original = getExternalStoreMessage<MyMessage>(threadMessage);
|
|
94
|
-
|
|
95
|
-
// After
|
|
96
|
-
const [original] = getExternalStoreMessages<MyMessage>(threadMessage);
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
## Assistant Transport Helpers
|
|
100
|
-
|
|
101
|
-
`toAISDKTools` and `getEnabledTools` (re-exported from `@assistant-ui/react`) have been removed. Both wrapped functionality that's now exposed directly by `assistant-stream`:
|
|
102
|
-
|
|
103
|
-
```ts
|
|
104
|
-
// Before
|
|
105
|
-
import { toAISDKTools } from "@assistant-ui/react";
|
|
106
|
-
const schemas = toAISDKTools(tools);
|
|
107
|
-
|
|
108
|
-
// After
|
|
109
|
-
import { toToolsJSONSchema } from "assistant-stream";
|
|
110
|
-
const schemas = toToolsJSONSchema(tools);
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
`toToolsJSONSchema` filters out `disabled` and `backend` tools by default. To replicate the old `toAISDKTools` behavior exactly (include all tools regardless), pass `{ filter: () => true }`.
|
|
114
|
-
|
|
115
|
-
## react-langgraph
|
|
116
|
-
|
|
117
|
-
`useLangGraphRuntime`'s `onSwitchToThread` option has been removed. Use `load`, which has the same signature plus an optional `AbortSignal`:
|
|
118
|
-
|
|
119
|
-
```ts
|
|
120
|
-
// Before
|
|
121
|
-
useLangGraphRuntime({
|
|
122
|
-
stream,
|
|
123
|
-
onSwitchToThread: async (threadId) => {
|
|
124
|
-
return await fetchThread(threadId);
|
|
125
|
-
},
|
|
126
|
-
});
|
|
127
|
-
|
|
128
|
-
// After
|
|
129
|
-
useLangGraphRuntime({
|
|
130
|
-
stream,
|
|
131
|
-
load: async (threadId, { signal } = {}) => {
|
|
132
|
-
return await fetchThread(threadId, { signal });
|
|
133
|
-
},
|
|
134
|
-
});
|
|
135
|
-
```
|
|
136
|
-
|
|
137
|
-
## Children API for Primitives
|
|
138
|
-
|
|
139
|
-
Version 0.14 replaces the `components` prop on primitives with a children render function pattern. This gives you full control over rendering with simple inline logic.
|
|
140
|
-
|
|
141
|
-
### ThreadPrimitive.Messages
|
|
142
|
-
|
|
143
|
-
**Before:**
|
|
144
|
-
|
|
145
|
-
```tsx
|
|
146
|
-
<ThreadPrimitive.Messages
|
|
147
|
-
components={{
|
|
148
|
-
UserMessage,
|
|
149
|
-
EditComposer,
|
|
150
|
-
AssistantMessage,
|
|
151
|
-
}}
|
|
152
|
-
/>
|
|
153
|
-
```
|
|
154
|
-
|
|
155
|
-
**After:**
|
|
156
|
-
|
|
157
|
-
```tsx
|
|
158
|
-
<ThreadPrimitive.Messages>
|
|
159
|
-
{({ message }) => {
|
|
160
|
-
if (message.composer.isEditing) return <EditComposer />;
|
|
161
|
-
if (message.role === "user") return <UserMessage />;
|
|
162
|
-
return <AssistantMessage />;
|
|
163
|
-
}}
|
|
164
|
-
</ThreadPrimitive.Messages>
|
|
165
|
-
```
|
|
166
|
-
|
|
167
|
-
### MessagePrimitive.Parts
|
|
168
|
-
|
|
169
|
-
**Before:**
|
|
170
|
-
|
|
171
|
-
```tsx
|
|
172
|
-
<MessagePrimitive.Parts
|
|
173
|
-
components={{
|
|
174
|
-
Text: MarkdownText,
|
|
175
|
-
Reasoning,
|
|
176
|
-
tools: { Fallback: ToolFallback },
|
|
177
|
-
}}
|
|
178
|
-
/>
|
|
179
|
-
```
|
|
180
|
-
|
|
181
|
-
**After:**
|
|
182
|
-
|
|
183
|
-
```tsx
|
|
184
|
-
<MessagePrimitive.Parts>
|
|
185
|
-
{({ part }) => {
|
|
186
|
-
if (part.type === "text") return <MarkdownText />;
|
|
187
|
-
if (part.type === "reasoning") return <Reasoning {...part} />;
|
|
188
|
-
if (part.type === "tool-call")
|
|
189
|
-
return part.toolUI ?? <ToolFallback {...part} />;
|
|
190
|
-
return null;
|
|
191
|
-
}}
|
|
192
|
-
</MessagePrimitive.Parts>
|
|
193
|
-
```
|
|
194
|
-
|
|
195
|
-
### `part.toolUI` and `part.dataRendererUI`
|
|
196
|
-
|
|
197
|
-
Tool-call parts now expose a `toolUI` property that resolves to the registered tool UI (via `useAssistantToolUI` / `makeAssistantToolUI`) or `null` if none is registered. Data parts similarly expose `dataRendererUI`.
|
|
198
|
-
|
|
199
|
-
```tsx
|
|
200
|
-
// Renders the registered tool UI if available, otherwise ToolFallback
|
|
201
|
-
if (part.type === "tool-call")
|
|
202
|
-
return part.toolUI ?? <ToolFallback {...part} />;
|
|
203
|
-
|
|
204
|
-
// Renders the registered data renderer if available
|
|
205
|
-
if (part.type === "data")
|
|
206
|
-
return part.dataRendererUI ?? null;
|
|
207
|
-
```
|
|
208
|
-
|
|
209
|
-
### Returning `null`
|
|
210
|
-
|
|
211
|
-
Returning `null` from the children function renders registered tool UIs and data renderer UIs automatically via the registry. To explicitly render nothing (suppressing registered UIs), return `<></>`.
|
|
212
|
-
|
|
213
|
-
```tsx
|
|
214
|
-
<MessagePrimitive.Parts>
|
|
215
|
-
{({ part }) => {
|
|
216
|
-
if (part.type === "text") return <MarkdownText />;
|
|
217
|
-
return null; // registered tool/data UIs still render
|
|
218
|
-
}}
|
|
219
|
-
</MessagePrimitive.Parts>
|
|
220
|
-
```
|
|
221
|
-
|
|
222
|
-
### ThreadPrimitive.Suggestions
|
|
223
|
-
|
|
224
|
-
**Before:**
|
|
225
|
-
|
|
226
|
-
```tsx
|
|
227
|
-
<ThreadPrimitive.Suggestions
|
|
228
|
-
components={{ Suggestion: SuggestionItem }}
|
|
229
|
-
/>
|
|
230
|
-
```
|
|
231
|
-
|
|
232
|
-
**After:**
|
|
233
|
-
|
|
234
|
-
```tsx
|
|
235
|
-
<ThreadPrimitive.Suggestions>
|
|
236
|
-
{() => <SuggestionItem />}
|
|
237
|
-
</ThreadPrimitive.Suggestions>
|
|
238
|
-
```
|
|
239
|
-
|
|
240
|
-
### ThreadListPrimitive.Items
|
|
241
|
-
|
|
242
|
-
**Before:**
|
|
243
|
-
|
|
244
|
-
```tsx
|
|
245
|
-
<ThreadListPrimitive.Items
|
|
246
|
-
components={{ ThreadListItem: MyThreadListItem }}
|
|
247
|
-
/>
|
|
248
|
-
```
|
|
249
|
-
|
|
250
|
-
**After:**
|
|
251
|
-
|
|
252
|
-
```tsx
|
|
253
|
-
<ThreadListPrimitive.Items>
|
|
254
|
-
{() => <MyThreadListItem />}
|
|
255
|
-
</ThreadListPrimitive.Items>
|
|
256
|
-
```
|
|
257
|
-
|
|
258
|
-
### Attachments
|
|
259
|
-
|
|
260
|
-
**Before:**
|
|
261
|
-
|
|
262
|
-
```tsx
|
|
263
|
-
<ComposerPrimitive.Attachments
|
|
264
|
-
components={{ Attachment: MyAttachment }}
|
|
265
|
-
/>
|
|
266
|
-
```
|
|
267
|
-
|
|
268
|
-
**After:**
|
|
269
|
-
|
|
270
|
-
```tsx
|
|
271
|
-
<ComposerPrimitive.Attachments>
|
|
272
|
-
{() => <MyAttachment />}
|
|
273
|
-
</ComposerPrimitive.Attachments>
|
|
274
|
-
```
|
|
275
|
-
|
|
276
|
-
### `addResult` / `resume` on enriched part state
|
|
277
|
-
|
|
278
|
-
When using the children API, tool-call parts include `addResult` and `resume` methods directly on the part object. This means `<ToolFallback {...part} />` works without needing a wrapper component to provide these methods.
|
|
279
|
-
|
|
280
|
-
### Backwards Compatibility
|
|
281
|
-
|
|
282
|
-
The `components` prop is still supported on all primitives but is deprecated and will be removed in a future version.
|
|
283
|
-
|
|
284
|
-
## Still Deprecated (not removed)
|
|
285
|
-
|
|
286
|
-
Some APIs marked `@deprecated` are intentionally kept for one more release to give downstream runtimes time to migrate:
|
|
287
|
-
|
|
288
|
-
- `ThreadState.threadId` and `ThreadState.metadata` — use `useThreadListItem()` (see [v0.12 guide](/docs/migrations/v0-12)). Will be removed in a future minor release.
|
|
289
|
-
- Legacy context hooks under `legacy-runtime/hooks/*` (`useThreadRuntime`, `useMessageRuntime`, etc.) — replaced by `useAui()` / `useAuiState()` in v0.12. The codemod migrates these.
|
|
290
|
-
- Primitive `If` components (`ThreadIf`, `MessageIf`, `ComposerIf`, `ThreadEmpty`) — replaced by `AuiIf`. The codemod migrates these.
|
|
291
|
-
|
|
292
|
-
You'll continue to see deprecation warnings on these; expect removal in a future minor release.
|
|
293
|
-
|
|
294
|
-
## Getting Help
|
|
295
|
-
|
|
296
|
-
- File issues at https://github.com/assistant-ui/assistant-ui/issues
|
|
297
|
-
- See the [deprecation policy](/docs/migrations/deprecation-policy) for the support window
|
|
@@ -1,270 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Migration to v0.15
|
|
3
|
-
description: Drops the v0.12-era legacy runtime hooks, the deprecated tools map, and the "mcp-app" group key. Scope accessors become properties.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
Version 0.15 finishes the deprecation cycle started in v0.12: the legacy context hooks are removed in favor of `useAui` / `useAuiState`, and `aui` scope accessors become properties.
|
|
7
|
-
|
|
8
|
-
## Migrate with an AI Agent
|
|
9
|
-
|
|
10
|
-
Paste this into an AI coding agent to run the migration for you:
|
|
11
|
-
|
|
12
|
-
```text
|
|
13
|
-
Migrate this codebase from assistant-ui v0.14 to v0.15.
|
|
14
|
-
|
|
15
|
-
1. Read the migration guide: https://assistant-ui.com/docs/migrations/v0-15
|
|
16
|
-
2. Run `npx assistant-ui@latest upgrade` to apply the codemods.
|
|
17
|
-
3. Apply the remaining changes from the guide by hand:
|
|
18
|
-
- Replace removed legacy hooks with the useAui / useAuiState
|
|
19
|
-
equivalents from the guide's mapping table.
|
|
20
|
-
- Replace availability checks with `aui.<scope>.source != null`.
|
|
21
|
-
- Replace `s.tools.tools` reads with `s.tools.toolUIs`.
|
|
22
|
-
- Replace the "mcp-app" groupPartByType key with "standalone-tool-call".
|
|
23
|
-
4. Typecheck, build, and run tests; fix any remaining fallout.
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
## Automatic Migration
|
|
27
|
-
|
|
28
|
-
```bash
|
|
29
|
-
npx assistant-ui@latest upgrade
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
This runs the `v0-15/aui-accessor-calls-to-properties` codemod, which rewrites nullary accessor calls (`aui.thread()`) to property access (`aui.thread`).
|
|
33
|
-
|
|
34
|
-
## Scope Accessors Are Properties
|
|
35
|
-
|
|
36
|
-
Nullary scope accessors are now properties. Calling them still works but is deprecated:
|
|
37
|
-
|
|
38
|
-
```ts
|
|
39
|
-
// Before
|
|
40
|
-
aui.thread().getState();
|
|
41
|
-
aui.threads().switchToNewThread();
|
|
42
|
-
|
|
43
|
-
// After
|
|
44
|
-
aui.thread.getState();
|
|
45
|
-
aui.threads.switchToNewThread();
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
Selecting an unavailable scope no longer throws: `aui.thread` always succeeds and is always truthy. Its `source` is `null` when the scope is unavailable, and any other property read (or a call) throws. Check availability via:
|
|
49
|
-
|
|
50
|
-
```ts
|
|
51
|
-
if (aui.thread.source != null) {
|
|
52
|
-
// scope is available
|
|
53
|
-
}
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
Accessors expose `source`, `query`, and `name` selection metadata as properties — previously found on the accessor function, now on the same names on the proxy. These three names are reserved and never resolve to scope methods.
|
|
57
|
-
|
|
58
|
-
## Legacy Context Hooks Removed
|
|
59
|
-
|
|
60
|
-
The v0.12-era runtime hooks are removed. Replace state reads with `useAuiState` and actions with `useAui`:
|
|
61
|
-
|
|
62
|
-
| Removed | Replacement |
|
|
63
|
-
| ------------------------------------------------------------- | ----------------------------------------------- |
|
|
64
|
-
| `useAssistantRuntime()` | `useAui()` |
|
|
65
|
-
| `useThreadList(selector)` | `useAuiState((s) => s.threads)` |
|
|
66
|
-
| `useThreadRuntime()` | `useAui().thread` |
|
|
67
|
-
| `useThread(selector)` | `useAuiState((s) => s.thread)` |
|
|
68
|
-
| `useThreadComposer(selector)` | `useAuiState((s) => s.thread.composer)` |
|
|
69
|
-
| `useThreadModelContext(selector)` | `useAuiState((s) => s.thread.modelContext)` |
|
|
70
|
-
| `useMessageRuntime()` | `useAui().message` |
|
|
71
|
-
| `useMessage(selector)` | `useAuiState((s) => s.message)` |
|
|
72
|
-
| `useEditComposer(selector)` | `useAuiState((s) => s.message.composer)` |
|
|
73
|
-
| `useComposerRuntime()` | `useAui().composer` |
|
|
74
|
-
| `useComposer(selector)` | `useAuiState((s) => s.composer)` |
|
|
75
|
-
| `useMessagePartRuntime()` | `useAui().part` |
|
|
76
|
-
| `useMessagePart(selector)` | `useAuiState((s) => s.part)` |
|
|
77
|
-
| `useAttachmentRuntime()` | `useAui().attachment` |
|
|
78
|
-
| `useAttachment(selector)` | `useAuiState((s) => s.attachment)` |
|
|
79
|
-
| `useThreadListItemRuntime()` | `useAui().threadListItem` |
|
|
80
|
-
| `useThreadListItem(selector)` | `useAuiState((s) => s.threadListItem)` |
|
|
81
|
-
|
|
82
|
-
The attachment variants (`useThreadComposerAttachment(Runtime)`, `useEditComposerAttachment(Runtime)`, `useMessageAttachment(Runtime)`) are removed with them; use `useAui().attachment` / `useAuiState((s) => s.attachment)`.
|
|
83
|
-
|
|
84
|
-
```tsx
|
|
85
|
-
// Before
|
|
86
|
-
const runtime = useAssistantRuntime();
|
|
87
|
-
const isRunning = useThread((s) => s.isRunning);
|
|
88
|
-
runtime.threads.switchToNewThread();
|
|
89
|
-
|
|
90
|
-
// After
|
|
91
|
-
const aui = useAui();
|
|
92
|
-
const isRunning = useAuiState((s) => s.thread.isRunning);
|
|
93
|
-
aui.threads.switchToNewThread();
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
## `ToolsState.tools` Removed
|
|
97
|
-
|
|
98
|
-
The component-only tool-UI map is replaced by `toolUIs`, whose entries carry the renderer alongside its presentation options:
|
|
99
|
-
|
|
100
|
-
```tsx
|
|
101
|
-
// Before
|
|
102
|
-
const Render = useAuiState((s) => s.tools.tools[toolName]?.[0]);
|
|
103
|
-
|
|
104
|
-
// After
|
|
105
|
-
const Render = useAuiState((s) => s.tools.toolUIs[toolName]?.[0]?.render);
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
## `"mcp-app"` Group Key Removed
|
|
109
|
-
|
|
110
|
-
`groupPartByType` no longer accepts the `"mcp-app"` key. Use `"standalone-tool-call"`, a superset that matches MCP-app tool calls plus any tool call whose registered UI opts into standalone display:
|
|
111
|
-
|
|
112
|
-
```tsx
|
|
113
|
-
// Before
|
|
114
|
-
groupPartByType({
|
|
115
|
-
"tool-call": ["group-tool"],
|
|
116
|
-
"mcp-app": [],
|
|
117
|
-
});
|
|
118
|
-
|
|
119
|
-
// After
|
|
120
|
-
groupPartByType({
|
|
121
|
-
"tool-call": ["group-tool"],
|
|
122
|
-
"standalone-tool-call": [],
|
|
123
|
-
});
|
|
124
|
-
```
|
|
125
|
-
|
|
126
|
-
## `useAui` `{ parent }` Config Removed
|
|
127
|
-
|
|
128
|
-
The second argument (`useAui(clients, { parent })`) is removed. Provide the parent via context instead: wrap with `AuiProvider` and call the context form beneath it.
|
|
129
|
-
|
|
130
|
-
```tsx
|
|
131
|
-
// Before
|
|
132
|
-
const aui = useAui(scopes, { parent });
|
|
133
|
-
|
|
134
|
-
// After
|
|
135
|
-
const Scoped = ({ children }) => {
|
|
136
|
-
const aui = useAui();
|
|
137
|
-
const config = AuiConfig(scopes);
|
|
138
|
-
return (
|
|
139
|
-
<AuiProvider extends={aui} config={config}>
|
|
140
|
-
{children}
|
|
141
|
-
</AuiProvider>
|
|
142
|
-
);
|
|
143
|
-
};
|
|
144
|
-
|
|
145
|
-
const rootConfig = AuiConfig({});
|
|
146
|
-
|
|
147
|
-
<AuiProvider extends={parent} config={rootConfig}>
|
|
148
|
-
<Scoped />
|
|
149
|
-
</AuiProvider>;
|
|
150
|
-
```
|
|
151
|
-
|
|
152
|
-
Where `{ parent: null }` was used to detach from context, `<AuiProvider extends={null} config={config}>` where `const config = AuiConfig({})` now provides an isolated empty root.
|
|
153
|
-
|
|
154
|
-
## `AuiProvider` Grammar
|
|
155
|
-
|
|
156
|
-
`AuiProvider` takes a `config` built with `AuiConfig(...)` — raw object literals are a type error. At the top level, `config` alone creates the subtree's client. Nested under a parent provider, `extends` is mandatory: `extends={aui}` extends the parent, `extends={null}` isolates (dev-enforced). `ref` receives the resulting client after mount.
|
|
157
|
-
|
|
158
|
-
```tsx
|
|
159
|
-
const aui = useAui();
|
|
160
|
-
const config = AuiConfig({ tools: Tools({ toolkit }) });
|
|
161
|
-
|
|
162
|
-
// Top-level root
|
|
163
|
-
<AuiProvider config={config}>
|
|
164
|
-
|
|
165
|
-
// Nested: extend the parent
|
|
166
|
-
<AuiProvider extends={aui} config={config}>
|
|
167
|
-
|
|
168
|
-
// Nested: isolate from the parent
|
|
169
|
-
<AuiProvider extends={null} config={config}>
|
|
170
|
-
```
|
|
171
|
-
|
|
172
|
-
`AuiConfig` is exported from `@assistant-ui/store` and re-exported from `@assistant-ui/react`, `@assistant-ui/react-native`, and `@assistant-ui/react-ink`.
|
|
173
|
-
|
|
174
|
-
### `value` Prop Deprecated
|
|
175
|
-
|
|
176
|
-
```tsx
|
|
177
|
-
// Before
|
|
178
|
-
<AuiProvider value={client}>
|
|
179
|
-
<AuiProvider value={null}>
|
|
180
|
-
|
|
181
|
-
// After
|
|
182
|
-
const config = AuiConfig({});
|
|
183
|
-
|
|
184
|
-
<AuiProvider extends={client} config={config}>
|
|
185
|
-
<AuiProvider extends={null} config={config}>
|
|
186
|
-
```
|
|
187
|
-
|
|
188
|
-
The replacement exposes a client extending the given one, not the same instance — `useAui()` beneath it returns the new client, with scope access delegating to `client`. The deprecated `value={client}` form behaves the same way: it also exposes a derived client rather than the exact instance, and the given client must implement `subscribe`.
|
|
189
|
-
|
|
190
|
-
### `useAui({ ... })` Extension Overload Deprecated
|
|
191
|
-
|
|
192
|
-
```tsx
|
|
193
|
-
// Before
|
|
194
|
-
const aui = useAui({ tools: Tools({ toolkit }) });
|
|
195
|
-
return <AuiProvider value={aui}>{children}</AuiProvider>;
|
|
196
|
-
|
|
197
|
-
// After
|
|
198
|
-
const aui = useAui();
|
|
199
|
-
const config = AuiConfig({ tools: Tools({ toolkit }) });
|
|
200
|
-
return (
|
|
201
|
-
<AuiProvider extends={aui} config={config}>
|
|
202
|
-
{children}
|
|
203
|
-
</AuiProvider>
|
|
204
|
-
);
|
|
205
|
-
```
|
|
206
|
-
|
|
207
|
-
Where the extended client was passed to `<AssistantRuntimeProvider aui={aui}>`, use the new `config` prop instead — the scopes are provided alongside the runtime's threads scope:
|
|
208
|
-
|
|
209
|
-
```tsx
|
|
210
|
-
// Before
|
|
211
|
-
const aui = useAui({ tools: Tools({ toolkit }) });
|
|
212
|
-
return (
|
|
213
|
-
<AssistantRuntimeProvider aui={aui} runtime={runtime}>
|
|
214
|
-
{children}
|
|
215
|
-
</AssistantRuntimeProvider>
|
|
216
|
-
);
|
|
217
|
-
|
|
218
|
-
// After
|
|
219
|
-
const config = AuiConfig({ tools: Tools({ toolkit }) });
|
|
220
|
-
return (
|
|
221
|
-
<AssistantRuntimeProvider runtime={runtime} config={config}>
|
|
222
|
-
{children}
|
|
223
|
-
</AssistantRuntimeProvider>
|
|
224
|
-
);
|
|
225
|
-
```
|
|
226
|
-
|
|
227
|
-
## Thread Switch Events: `threads.selectionChanged`
|
|
228
|
-
|
|
229
|
-
The per-item thread switch events are deprecated in favor of a single event on the thread list. `threads.selectionChanged` fires once per switch and carries both sides of the transition:
|
|
230
|
-
|
|
231
|
-
```ts
|
|
232
|
-
// Before
|
|
233
|
-
useAuiEvent("threadListItem.switchedTo", ({ threadId }) => {
|
|
234
|
-
// threadId: the newly selected thread
|
|
235
|
-
});
|
|
236
|
-
useAuiEvent("threadListItem.switchedAway", ({ threadId }) => {
|
|
237
|
-
// threadId: the thread that was switched away from
|
|
238
|
-
});
|
|
239
|
-
|
|
240
|
-
// After
|
|
241
|
-
useAuiEvent("threads.selectionChanged", ({ threadId, previousThreadId }) => {
|
|
242
|
-
// threadId: the newly selected thread
|
|
243
|
-
// previousThreadId: the thread that was switched away from
|
|
244
|
-
});
|
|
245
|
-
```
|
|
246
|
-
|
|
247
|
-
Like its predecessors, it does not fire for the initially selected thread on mount. The deprecated events still fire and will keep working until the next major.
|
|
248
|
-
|
|
249
|
-
The deprecated pair was scope-filtered: inside a per-item `threadListItem` scope (such as `ThreadListPrimitive.Items`), `threadListItem.switchedTo` only fired for that item. `threads.selectionChanged` resolves against the shared `threads` scope, so every listener fires on every switch. Filter by id to reproduce the per-item behavior:
|
|
250
|
-
|
|
251
|
-
```ts
|
|
252
|
-
const id = useAuiState((s) => s.threadListItem.id);
|
|
253
|
-
useAuiEvent("threads.selectionChanged", ({ threadId }) => {
|
|
254
|
-
if (threadId !== id) return;
|
|
255
|
-
// this item became selected
|
|
256
|
-
});
|
|
257
|
-
```
|
|
258
|
-
|
|
259
|
-
The new event also fires in situations where the deprecated pair did not: `InMemoryThreadList` emits on selection changes (it previously emitted no switch events), and `switchToNewThread()` emits for the newly created thread. Selection-driven defaults such as `scrollToBottomOnThreadSwitch` and `unstable_focusOnThreadSwitched` now engage in both situations. Runtimes that resolve a deep-linked `threadId`/`initialThreadId` after mount (such as `useRemoteThreadListRuntime`) start on a placeholder new thread, so the deep link's resolution also fires the event — `previousThreadId` is the placeholder in that case.
|
|
260
|
-
|
|
261
|
-
## Still Deprecated (not removed)
|
|
262
|
-
|
|
263
|
-
- Primitive `If` components (`ThreadPrimitive.If`, `MessagePrimitive.If`, `ThreadPrimitive.Empty`) — replaced by `AuiIf`. The codemod migrates these.
|
|
264
|
-
- `useMessagePartText` / `useMessagePartReasoning` / `useMessagePartSource` / `useMessagePartImage` / `useMessagePartFile` / `useMessagePartData` — use `useAuiState` to select and narrow `s.part`.
|
|
265
|
-
- The `components` prop on primitives — replaced by the children render function pattern (see the [v0.14 guide](/docs/migrations/v0-14)).
|
|
266
|
-
|
|
267
|
-
## Getting Help
|
|
268
|
-
|
|
269
|
-
- File issues at https://github.com/assistant-ui/assistant-ui/issues
|
|
270
|
-
- See the [deprecation policy](/docs/migrations/deprecation-policy) for the support window
|