@assistant-ui/mcp-docs-server 0.2.3 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -43
- package/dist/index.d.ts +2 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -91
- package/dist/index.js.map +1 -1
- package/dist/proxy.d.ts +9 -0
- package/dist/proxy.d.ts.map +1 -0
- package/dist/proxy.js +76 -0
- package/dist/proxy.js.map +1 -0
- package/package.json +8 -12
- package/src/index.ts +3 -115
- package/src/proxy.test.ts +250 -0
- package/src/proxy.ts +111 -0
- package/.docs/organized/code-examples/waterfall.md +0 -807
- package/.docs/organized/code-examples/with-a2a.md +0 -675
- package/.docs/organized/code-examples/with-ag-ui.md +0 -553
- package/.docs/organized/code-examples/with-ai-sdk-v7.md +0 -466
- package/.docs/organized/code-examples/with-artifacts.md +0 -815
- package/.docs/organized/code-examples/with-assistant-transport.md +0 -576
- package/.docs/organized/code-examples/with-browser-extension.md +0 -371
- package/.docs/organized/code-examples/with-chain-of-thought.md +0 -962
- package/.docs/organized/code-examples/with-cloud-standalone.md +0 -681
- package/.docs/organized/code-examples/with-cloud.md +0 -439
- package/.docs/organized/code-examples/with-custom-thread-list.md +0 -569
- package/.docs/organized/code-examples/with-elevenlabs-conversational.md +0 -527
- package/.docs/organized/code-examples/with-elevenlabs-scribe.md +0 -697
- package/.docs/organized/code-examples/with-eve.md +0 -405
- package/.docs/organized/code-examples/with-expo.md +0 -2246
- package/.docs/organized/code-examples/with-external-store.md +0 -421
- package/.docs/organized/code-examples/with-ffmpeg.md +0 -829
- package/.docs/organized/code-examples/with-generative-ui.md +0 -1810
- package/.docs/organized/code-examples/with-google-adk.md +0 -368
- package/.docs/organized/code-examples/with-heat-graph.md +0 -304
- package/.docs/organized/code-examples/with-image-generation.md +0 -463
- package/.docs/organized/code-examples/with-interactables.md +0 -733
- package/.docs/organized/code-examples/with-langchain.md +0 -446
- package/.docs/organized/code-examples/with-langgraph.md +0 -855
- package/.docs/organized/code-examples/with-livekit.md +0 -643
- package/.docs/organized/code-examples/with-mcp.md +0 -782
- package/.docs/organized/code-examples/with-nuxt.md +0 -2428
- package/.docs/organized/code-examples/with-opencode.md +0 -1974
- package/.docs/organized/code-examples/with-openui.md +0 -450
- package/.docs/organized/code-examples/with-pi.md +0 -2084
- package/.docs/organized/code-examples/with-react-hook-form.md +0 -727
- package/.docs/organized/code-examples/with-react-ink-web.md +0 -740
- package/.docs/organized/code-examples/with-react-ink.md +0 -473
- package/.docs/organized/code-examples/with-react-router.md +0 -936
- package/.docs/organized/code-examples/with-resumable-stream.md +0 -668
- package/.docs/organized/code-examples/with-store.md +0 -679
- package/.docs/organized/code-examples/with-svelte.md +0 -415
- package/.docs/organized/code-examples/with-sveltekit.md +0 -1061
- package/.docs/organized/code-examples/with-tanstack.md +0 -812
- package/.docs/organized/code-examples/with-tap-runtime.md +0 -813
- package/.docs/organized/code-examples/with-virtualized-thread.md +0 -681
- package/.docs/organized/code-examples/with-vue.md +0 -408
- package/.docs/raw/docs/(getting-started)/architecture.mdx +0 -146
- package/.docs/raw/docs/(getting-started)/base-ui.mdx +0 -39
- package/.docs/raw/docs/(getting-started)/cli.mdx +0 -542
- package/.docs/raw/docs/(getting-started)/devtools.mdx +0 -79
- package/.docs/raw/docs/(getting-started)/index.mdx +0 -23
- package/.docs/raw/docs/(getting-started)/installation.mdx +0 -483
- package/.docs/raw/docs/(getting-started)/llm.mdx +0 -211
- package/.docs/raw/docs/(getting-started)/rtl.mdx +0 -78
- package/.docs/raw/docs/(reference)/api-reference/adapters/attachments.mdx +0 -36
- package/.docs/raw/docs/(reference)/api-reference/adapters/feedback.mdx +0 -20
- package/.docs/raw/docs/(reference)/api-reference/adapters/index.mdx +0 -34
- package/.docs/raw/docs/(reference)/api-reference/adapters/model.mdx +0 -44
- package/.docs/raw/docs/(reference)/api-reference/adapters/persistence.mdx +0 -59
- package/.docs/raw/docs/(reference)/api-reference/adapters/runtime.mdx +0 -20
- package/.docs/raw/docs/(reference)/api-reference/adapters/suggestions.mdx +0 -26
- package/.docs/raw/docs/(reference)/api-reference/context-providers/assistant-runtime-provider.mdx +0 -84
- package/.docs/raw/docs/(reference)/api-reference/context-providers/index.mdx +0 -22
- package/.docs/raw/docs/(reference)/api-reference/context-providers/scoped-providers.mdx +0 -64
- package/.docs/raw/docs/(reference)/api-reference/external-store/index.mdx +0 -22
- package/.docs/raw/docs/(reference)/api-reference/external-store/message-conversion.mdx +0 -57
- package/.docs/raw/docs/(reference)/api-reference/external-store/runtime.mdx +0 -49
- package/.docs/raw/docs/(reference)/api-reference/generative-ui/a2ui.mdx +0 -40
- package/.docs/raw/docs/(reference)/api-reference/generative-ui/actions.mdx +0 -56
- package/.docs/raw/docs/(reference)/api-reference/generative-ui/components.mdx +0 -86
- package/.docs/raw/docs/(reference)/api-reference/generative-ui/index.mdx +0 -39
- package/.docs/raw/docs/(reference)/api-reference/generative-ui/json-generative-ui.mdx +0 -42
- package/.docs/raw/docs/(reference)/api-reference/generative-ui/rendering.mdx +0 -84
- package/.docs/raw/docs/(reference)/api-reference/generative-ui/slack.mdx +0 -85
- package/.docs/raw/docs/(reference)/api-reference/generative-ui/spec.mdx +0 -45
- package/.docs/raw/docs/(reference)/api-reference/generative-ui/teams.mdx +0 -93
- package/.docs/raw/docs/(reference)/api-reference/generative-ui/tokens.mdx +0 -62
- package/.docs/raw/docs/(reference)/api-reference/hooks/composer-triggers.mdx +0 -129
- package/.docs/raw/docs/(reference)/api-reference/hooks/index.mdx +0 -31
- package/.docs/raw/docs/(reference)/api-reference/hooks/model-context.mdx +0 -34
- package/.docs/raw/docs/(reference)/api-reference/hooks/primitives.mdx +0 -350
- package/.docs/raw/docs/(reference)/api-reference/hooks/runtimes.mdx +0 -28
- package/.docs/raw/docs/(reference)/api-reference/hooks/state.mdx +0 -97
- package/.docs/raw/docs/(reference)/api-reference/integrations/ai-sdk.mdx +0 -200
- package/.docs/raw/docs/(reference)/api-reference/integrations/cloud-ai-sdk.mdx +0 -24
- package/.docs/raw/docs/(reference)/api-reference/integrations/eve.mdx +0 -118
- package/.docs/raw/docs/(reference)/api-reference/integrations/index.mdx +0 -28
- package/.docs/raw/docs/(reference)/api-reference/integrations/react-data-stream.mdx +0 -37
- package/.docs/raw/docs/(reference)/api-reference/model-context/context.mdx +0 -50
- package/.docs/raw/docs/(reference)/api-reference/model-context/index.mdx +0 -22
- package/.docs/raw/docs/(reference)/api-reference/model-context/registry.mdx +0 -20
- package/.docs/raw/docs/(reference)/api-reference/overview.mdx +0 -566
- package/.docs/raw/docs/(reference)/api-reference/primitives/action-bar-more.mdx +0 -152
- package/.docs/raw/docs/(reference)/api-reference/primitives/action-bar.mdx +0 -239
- package/.docs/raw/docs/(reference)/api-reference/primitives/assistant-if.mdx +0 -208
- package/.docs/raw/docs/(reference)/api-reference/primitives/assistant-modal.mdx +0 -108
- package/.docs/raw/docs/(reference)/api-reference/primitives/attachment.mdx +0 -99
- package/.docs/raw/docs/(reference)/api-reference/primitives/branch-picker.mdx +0 -145
- package/.docs/raw/docs/(reference)/api-reference/primitives/chain-of-thought.mdx +0 -82
- package/.docs/raw/docs/(reference)/api-reference/primitives/composer.mdx +0 -637
- package/.docs/raw/docs/(reference)/api-reference/primitives/composition.mdx +0 -22
- package/.docs/raw/docs/(reference)/api-reference/primitives/error.mdx +0 -65
- package/.docs/raw/docs/(reference)/api-reference/primitives/index.mdx +0 -73
- package/.docs/raw/docs/(reference)/api-reference/primitives/message-part.mdx +0 -117
- package/.docs/raw/docs/(reference)/api-reference/primitives/message.mdx +0 -339
- package/.docs/raw/docs/(reference)/api-reference/primitives/queue-item.mdx +0 -77
- package/.docs/raw/docs/(reference)/api-reference/primitives/selection-toolbar.mdx +0 -88
- package/.docs/raw/docs/(reference)/api-reference/primitives/suggestion.mdx +0 -81
- package/.docs/raw/docs/(reference)/api-reference/primitives/thread-list-item-more.mdx +0 -129
- package/.docs/raw/docs/(reference)/api-reference/primitives/thread-list-item.mdx +0 -138
- package/.docs/raw/docs/(reference)/api-reference/primitives/thread-list.mdx +0 -122
- package/.docs/raw/docs/(reference)/api-reference/primitives/thread.mdx +0 -289
- package/.docs/raw/docs/(reference)/api-reference/runtimes/assistant-runtime.mdx +0 -20
- package/.docs/raw/docs/(reference)/api-reference/runtimes/attachment-runtime.mdx +0 -24
- package/.docs/raw/docs/(reference)/api-reference/runtimes/composer-runtime.mdx +0 -32
- package/.docs/raw/docs/(reference)/api-reference/runtimes/index.mdx +0 -43
- package/.docs/raw/docs/(reference)/api-reference/runtimes/message-part-runtime.mdx +0 -43
- package/.docs/raw/docs/(reference)/api-reference/runtimes/message-runtime.mdx +0 -24
- package/.docs/raw/docs/(reference)/api-reference/runtimes/queue-state.mdx +0 -20
- package/.docs/raw/docs/(reference)/api-reference/runtimes/thread-list-item-runtime.mdx +0 -24
- package/.docs/raw/docs/(reference)/api-reference/runtimes/thread-list-runtime.mdx +0 -24
- package/.docs/raw/docs/(reference)/api-reference/runtimes/thread-runtime.mdx +0 -36
- package/.docs/raw/docs/(reference)/api-reference/tools/component-tools.mdx +0 -85
- package/.docs/raw/docs/(reference)/api-reference/tools/index.mdx +0 -45
- package/.docs/raw/docs/(reference)/api-reference/tools/interactables-legacy.mdx +0 -55
- package/.docs/raw/docs/(reference)/api-reference/tools/interactables.mdx +0 -151
- package/.docs/raw/docs/(reference)/api-reference/tools/rendering.mdx +0 -106
- package/.docs/raw/docs/(reference)/api-reference/tools/status.mdx +0 -62
- package/.docs/raw/docs/(reference)/api-reference/tools/toolkits.mdx +0 -178
- package/.docs/raw/docs/(reference)/api-reference/transport/assistant-transport.mdx +0 -48
- package/.docs/raw/docs/(reference)/api-reference/transport/frame.mdx +0 -62
- package/.docs/raw/docs/(reference)/api-reference/transport/index.mdx +0 -22
- package/.docs/raw/docs/(reference)/api-reference/utilities/index.mdx +0 -19
- package/.docs/raw/docs/(reference)/api-reference/utilities/miscellaneous.mdx +0 -152
- package/.docs/raw/docs/(reference)/api-reference/voice/index.mdx +0 -22
- package/.docs/raw/docs/(reference)/api-reference/voice/session.mdx +0 -54
- package/.docs/raw/docs/(reference)/api-reference/voice/speech-dictation.mdx +0 -36
- package/.docs/raw/docs/cloud/ai-sdk-assistant-ui.mdx +0 -527
- package/.docs/raw/docs/cloud/ai-sdk.mdx +0 -604
- package/.docs/raw/docs/cloud/authorization.mdx +0 -252
- package/.docs/raw/docs/cloud/index.mdx +0 -46
- package/.docs/raw/docs/cloud/langgraph.mdx +0 -554
- package/.docs/raw/docs/copilots/assistant-frame.mdx +0 -411
- package/.docs/raw/docs/copilots/make-assistant-visible.mdx +0 -82
- package/.docs/raw/docs/copilots/model-context.mdx +0 -156
- package/.docs/raw/docs/copilots/motivation.mdx +0 -202
- package/.docs/raw/docs/copilots/use-assistant-instructions.mdx +0 -64
- package/.docs/raw/docs/guides/attachments.mdx +0 -619
- package/.docs/raw/docs/guides/branching.mdx +0 -76
- package/.docs/raw/docs/guides/chain-of-thought.mdx +0 -164
- package/.docs/raw/docs/guides/chatgpt-subscription.mdx +0 -108
- package/.docs/raw/docs/guides/context-api.mdx +0 -619
- package/.docs/raw/docs/guides/dictation.mdx +0 -298
- package/.docs/raw/docs/guides/editing.mdx +0 -102
- package/.docs/raw/docs/guides/electron.mdx +0 -369
- package/.docs/raw/docs/guides/headless-composer-input.mdx +0 -113
- package/.docs/raw/docs/guides/image-generation.mdx +0 -74
- package/.docs/raw/docs/guides/index.mdx +0 -117
- package/.docs/raw/docs/guides/input-history.mdx +0 -55
- package/.docs/raw/docs/guides/latex.mdx +0 -158
- package/.docs/raw/docs/guides/mentions.mdx +0 -575
- package/.docs/raw/docs/guides/message-timing.mdx +0 -215
- package/.docs/raw/docs/guides/quoting.mdx +0 -169
- package/.docs/raw/docs/guides/resumable-stream-deployment.mdx +0 -212
- package/.docs/raw/docs/guides/resumable-stream-stores.mdx +0 -152
- package/.docs/raw/docs/guides/resumable-streams.mdx +0 -292
- package/.docs/raw/docs/guides/slash-commands.mdx +0 -358
- package/.docs/raw/docs/guides/speech.mdx +0 -172
- package/.docs/raw/docs/guides/suggestions.mdx +0 -384
- package/.docs/raw/docs/guides/virtualization.mdx +0 -133
- package/.docs/raw/docs/guides/voice.mdx +0 -310
- package/.docs/raw/docs/ink/adapters.mdx +0 -99
- package/.docs/raw/docs/ink/custom-backend.mdx +0 -254
- package/.docs/raw/docs/ink/hooks.mdx +0 -469
- package/.docs/raw/docs/ink/index.mdx +0 -237
- package/.docs/raw/docs/ink/migration.mdx +0 -138
- package/.docs/raw/docs/ink/primitives.mdx +0 -1259
- package/.docs/raw/docs/integrations/attachments/custom-adapter.mdx +0 -528
- package/.docs/raw/docs/integrations/auth/better-auth.mdx +0 -188
- package/.docs/raw/docs/integrations/auth/clerk.mdx +0 -166
- package/.docs/raw/docs/integrations/auth/next-auth.mdx +0 -191
- package/.docs/raw/docs/integrations/frameworks/ai-sdk.mdx +0 -88
- package/.docs/raw/docs/integrations/frameworks/cloudflare-agents.mdx +0 -283
- package/.docs/raw/docs/integrations/frameworks/mastra/full-stack.mdx +0 -188
- package/.docs/raw/docs/integrations/frameworks/mastra/overview.mdx +0 -57
- package/.docs/raw/docs/integrations/frameworks/mastra/separate-server.mdx +0 -201
- package/.docs/raw/docs/integrations/gateways/index.mdx +0 -162
- package/.docs/raw/docs/integrations/index.mdx +0 -178
- package/.docs/raw/docs/integrations/observability/helicone.mdx +0 -129
- package/.docs/raw/docs/integrations/observability/langfuse.mdx +0 -161
- package/.docs/raw/docs/integrations/observability/langsmith.mdx +0 -151
- package/.docs/raw/docs/integrations/persistence/custom-adapter.mdx +0 -773
- package/.docs/raw/docs/migrations/deprecation-policy.mdx +0 -42
- package/.docs/raw/docs/migrations/index.mdx +0 -50
- package/.docs/raw/docs/migrations/react-compatibility.mdx +0 -74
- package/.docs/raw/docs/migrations/react-langgraph-v0-7.mdx +0 -328
- package/.docs/raw/docs/migrations/toolkit-tools.mdx +0 -236
- package/.docs/raw/docs/migrations/v0-11.mdx +0 -172
- package/.docs/raw/docs/migrations/v0-12.mdx +0 -302
- package/.docs/raw/docs/migrations/v0-14.mdx +0 -297
- package/.docs/raw/docs/migrations/v0-15.mdx +0 -270
- package/.docs/raw/docs/primitives/action-bar.mdx +0 -352
- package/.docs/raw/docs/primitives/assistant-modal.mdx +0 -216
- package/.docs/raw/docs/primitives/attachment.mdx +0 -217
- package/.docs/raw/docs/primitives/branch-picker.mdx +0 -222
- package/.docs/raw/docs/primitives/chain-of-thought.mdx +0 -315
- package/.docs/raw/docs/primitives/composer.mdx +0 -659
- package/.docs/raw/docs/primitives/error.mdx +0 -142
- package/.docs/raw/docs/primitives/index.mdx +0 -99
- package/.docs/raw/docs/primitives/message.mdx +0 -618
- package/.docs/raw/docs/primitives/selection-toolbar.mdx +0 -191
- package/.docs/raw/docs/primitives/suggestion.mdx +0 -254
- package/.docs/raw/docs/primitives/thread-list.mdx +0 -467
- package/.docs/raw/docs/primitives/thread.mdx +0 -509
- package/.docs/raw/docs/react-native/adapters.mdx +0 -94
- package/.docs/raw/docs/react-native/custom-backend.mdx +0 -207
- package/.docs/raw/docs/react-native/hooks.mdx +0 -339
- package/.docs/raw/docs/react-native/index.mdx +0 -289
- package/.docs/raw/docs/react-native/migration.mdx +0 -142
- package/.docs/raw/docs/react-native/primitives.mdx +0 -976
- package/.docs/raw/docs/runtimes/a2a/client-and-hooks.mdx +0 -399
- package/.docs/raw/docs/runtimes/a2a/overview.mdx +0 -60
- package/.docs/raw/docs/runtimes/a2a/quickstart.mdx +0 -216
- package/.docs/raw/docs/runtimes/ag-ui/agent-state.mdx +0 -124
- package/.docs/raw/docs/runtimes/ag-ui/overview.mdx +0 -70
- package/.docs/raw/docs/runtimes/ag-ui/quickstart.mdx +0 -243
- package/.docs/raw/docs/runtimes/ag-ui/runtime-options.mdx +0 -267
- package/.docs/raw/docs/runtimes/ai-sdk/overview.mdx +0 -61
- package/.docs/raw/docs/runtimes/ai-sdk/v4-legacy.mdx +0 -122
- package/.docs/raw/docs/runtimes/ai-sdk/v5-legacy.mdx +0 -135
- package/.docs/raw/docs/runtimes/ai-sdk/v6-legacy.mdx +0 -636
- package/.docs/raw/docs/runtimes/ai-sdk/v7.mdx +0 -731
- package/.docs/raw/docs/runtimes/claude-managed-agents.mdx +0 -118
- package/.docs/raw/docs/runtimes/concepts/adapters.mdx +0 -265
- package/.docs/raw/docs/runtimes/concepts/architecture.mdx +0 -167
- package/.docs/raw/docs/runtimes/concepts/stability.mdx +0 -68
- package/.docs/raw/docs/runtimes/concepts/threads.mdx +0 -513
- package/.docs/raw/docs/runtimes/custom/assistant-transport.mdx +0 -763
- package/.docs/raw/docs/runtimes/custom/data-stream.mdx +0 -339
- package/.docs/raw/docs/runtimes/custom/external-store.mdx +0 -957
- package/.docs/raw/docs/runtimes/custom/local-runtime.mdx +0 -902
- package/.docs/raw/docs/runtimes/custom/overview.mdx +0 -71
- package/.docs/raw/docs/runtimes/eve/overview.mdx +0 -151
- package/.docs/raw/docs/runtimes/eve/quickstart.mdx +0 -192
- package/.docs/raw/docs/runtimes/google-adk/api.mdx +0 -256
- package/.docs/raw/docs/runtimes/google-adk/hooks.mdx +0 -784
- package/.docs/raw/docs/runtimes/google-adk/overview.mdx +0 -69
- package/.docs/raw/docs/runtimes/google-adk/quickstart.mdx +0 -229
- package/.docs/raw/docs/runtimes/langchain.mdx +0 -901
- package/.docs/raw/docs/runtimes/langgraph/agent-state.mdx +0 -181
- package/.docs/raw/docs/runtimes/langgraph/generative-ui.mdx +0 -305
- package/.docs/raw/docs/runtimes/langgraph/interrupts.mdx +0 -104
- package/.docs/raw/docs/runtimes/langgraph/overview.mdx +0 -84
- package/.docs/raw/docs/runtimes/langgraph/quickstart.mdx +0 -496
- package/.docs/raw/docs/runtimes/langgraph/streaming.mdx +0 -144
- package/.docs/raw/docs/runtimes/langgraph/threads.mdx +0 -113
- package/.docs/raw/docs/runtimes/langgraph/tutorial/introduction.mdx +0 -29
- package/.docs/raw/docs/runtimes/langgraph/tutorial/part-1.mdx +0 -93
- package/.docs/raw/docs/runtimes/langgraph/tutorial/part-2.mdx +0 -347
- package/.docs/raw/docs/runtimes/langgraph/tutorial/part-3.mdx +0 -393
- package/.docs/raw/docs/runtimes/opencode/hooks.mdx +0 -194
- package/.docs/raw/docs/runtimes/opencode/overview.mdx +0 -58
- package/.docs/raw/docs/runtimes/opencode/quickstart.mdx +0 -119
- package/.docs/raw/docs/runtimes/pick-a-runtime.mdx +0 -133
- package/.docs/raw/docs/tools/a2ui.mdx +0 -107
- package/.docs/raw/docs/tools/backend.mdx +0 -147
- package/.docs/raw/docs/tools/defining-tools.mdx +0 -574
- package/.docs/raw/docs/tools/dynamic-tools.mdx +0 -112
- package/.docs/raw/docs/tools/generative-ui-primitive.mdx +0 -180
- package/.docs/raw/docs/tools/generative-ui-slack.mdx +0 -167
- package/.docs/raw/docs/tools/generative-ui-teams.mdx +0 -160
- package/.docs/raw/docs/tools/generative-ui.mdx +0 -322
- package/.docs/raw/docs/tools/index.mdx +0 -72
- package/.docs/raw/docs/tools/interactables.mdx +0 -1084
- package/.docs/raw/docs/tools/mcp-apps.mdx +0 -363
- package/.docs/raw/docs/tools/mcp.mdx +0 -466
- package/.docs/raw/docs/tools/multi-agent.mdx +0 -237
- package/.docs/raw/docs/tools/openui.mdx +0 -175
- package/.docs/raw/docs/tools/tool-ui.mdx +0 -1020
- package/.docs/raw/docs/tools/user-managed-mcp.mdx +0 -428
- package/.docs/raw/docs/ui/assistant-modal.mdx +0 -166
- package/.docs/raw/docs/ui/assistant-sidebar.mdx +0 -89
- package/.docs/raw/docs/ui/attachment.mdx +0 -279
- package/.docs/raw/docs/ui/composer-trigger-popover.mdx +0 -247
- package/.docs/raw/docs/ui/context-display.mdx +0 -148
- package/.docs/raw/docs/ui/directive-text.mdx +0 -114
- package/.docs/raw/docs/ui/file.mdx +0 -159
- package/.docs/raw/docs/ui/follow-up-suggestions.mdx +0 -82
- package/.docs/raw/docs/ui/image.mdx +0 -102
- package/.docs/raw/docs/ui/markdown.mdx +0 -103
- package/.docs/raw/docs/ui/mcp-config.mdx +0 -107
- package/.docs/raw/docs/ui/mermaid.mdx +0 -92
- package/.docs/raw/docs/ui/message-timing.mdx +0 -93
- package/.docs/raw/docs/ui/model-selector.mdx +0 -455
- package/.docs/raw/docs/ui/part-grouping.mdx +0 -614
- package/.docs/raw/docs/ui/quote.mdx +0 -211
- package/.docs/raw/docs/ui/reasoning.mdx +0 -214
- package/.docs/raw/docs/ui/scrollbar.mdx +0 -77
- package/.docs/raw/docs/ui/sources.mdx +0 -186
- package/.docs/raw/docs/ui/streamdown.mdx +0 -392
- package/.docs/raw/docs/ui/syntax-highlighting.mdx +0 -205
- package/.docs/raw/docs/ui/thread-list.mdx +0 -411
- package/.docs/raw/docs/ui/thread.mdx +0 -559
- package/.docs/raw/docs/ui/tool-fallback.mdx +0 -141
- package/.docs/raw/docs/ui/tool-group.mdx +0 -240
- package/.docs/raw/docs/ui/voice.mdx +0 -173
- package/.docs/raw/docs/utilities/heat-graph.mdx +0 -237
- package/.docs/raw/docs/utilities/react-o11y.mdx +0 -362
- package/.docs/raw/docs/utilities/tw-shimmer.mdx +0 -212
- package/dist/constants.d.ts +0 -14
- package/dist/constants.d.ts.map +0 -1
- package/dist/constants.js +0 -19
- package/dist/constants.js.map +0 -1
- package/dist/prepare-docs/code-examples.d.ts +0 -5
- package/dist/prepare-docs/code-examples.d.ts.map +0 -1
- package/dist/prepare-docs/code-examples.js +0 -117
- package/dist/prepare-docs/code-examples.js.map +0 -1
- package/dist/prepare-docs/copy-raw.d.ts +0 -5
- package/dist/prepare-docs/copy-raw.d.ts.map +0 -1
- package/dist/prepare-docs/copy-raw.js +0 -49
- package/dist/prepare-docs/copy-raw.js.map +0 -1
- package/dist/prepare-docs/prepare.d.ts +0 -1
- package/dist/prepare-docs/prepare.js +0 -22
- package/dist/prepare-docs/prepare.js.map +0 -1
- package/dist/prompts/xulux-playground.d.ts +0 -12
- package/dist/prompts/xulux-playground.d.ts.map +0 -1
- package/dist/prompts/xulux-playground.js +0 -33
- package/dist/prompts/xulux-playground.js.map +0 -1
- package/dist/tools/docs.d.ts +0 -22
- package/dist/tools/docs.d.ts.map +0 -1
- package/dist/tools/docs.js +0 -177
- package/dist/tools/docs.js.map +0 -1
- package/dist/tools/examples.d.ts +0 -24
- package/dist/tools/examples.d.ts.map +0 -1
- package/dist/tools/examples.js +0 -87
- package/dist/tools/examples.js.map +0 -1
- package/dist/tools/resources.d.ts +0 -6
- package/dist/tools/resources.d.ts.map +0 -1
- package/dist/tools/resources.js +0 -75
- package/dist/tools/resources.js.map +0 -1
- package/dist/tools/search.d.ts +0 -24
- package/dist/tools/search.d.ts.map +0 -1
- package/dist/tools/search.js +0 -39
- package/dist/tools/search.js.map +0 -1
- package/dist/tools/tests/mcp-test-client.d.ts +0 -15
- package/dist/tools/tests/mcp-test-client.d.ts.map +0 -1
- package/dist/tools/tests/mcp-test-client.js +0 -68
- package/dist/tools/tests/mcp-test-client.js.map +0 -1
- package/dist/tools/tests/test-setup.d.ts +0 -7
- package/dist/tools/tests/test-setup.d.ts.map +0 -1
- package/dist/tools/tests/test-setup.js +0 -36
- package/dist/tools/tests/test-setup.js.map +0 -1
- package/dist/tools/xulux-templates.d.ts +0 -58
- package/dist/tools/xulux-templates.d.ts.map +0 -1
- package/dist/tools/xulux-templates.js +0 -84
- package/dist/tools/xulux-templates.js.map +0 -1
- package/dist/utils/cache.d.ts +0 -5
- package/dist/utils/cache.d.ts.map +0 -1
- package/dist/utils/cache.js +0 -18
- package/dist/utils/cache.js.map +0 -1
- package/dist/utils/logger.d.ts +0 -10
- package/dist/utils/logger.d.ts.map +0 -1
- package/dist/utils/logger.js +0 -20
- package/dist/utils/logger.js.map +0 -1
- package/dist/utils/mcp-format.d.ts +0 -11
- package/dist/utils/mcp-format.d.ts.map +0 -1
- package/dist/utils/mcp-format.js +0 -14
- package/dist/utils/mcp-format.js.map +0 -1
- package/dist/utils/mdx.d.ts +0 -12
- package/dist/utils/mdx.d.ts.map +0 -1
- package/dist/utils/mdx.js +0 -45
- package/dist/utils/mdx.js.map +0 -1
- package/dist/utils/paths.d.ts +0 -12
- package/dist/utils/paths.d.ts.map +0 -1
- package/dist/utils/paths.js +0 -93
- package/dist/utils/paths.js.map +0 -1
- package/dist/utils/search.d.ts +0 -10
- package/dist/utils/search.d.ts.map +0 -1
- package/dist/utils/search.js +0 -97
- package/dist/utils/search.js.map +0 -1
- package/dist/utils/security.d.ts +0 -5
- package/dist/utils/security.d.ts.map +0 -1
- package/dist/utils/security.js +0 -22
- package/dist/utils/security.js.map +0 -1
- package/dist/xulux/catalog-client.d.ts +0 -14
- package/dist/xulux/catalog-client.d.ts.map +0 -1
- package/dist/xulux/catalog-client.js +0 -112
- package/dist/xulux/catalog-client.js.map +0 -1
- package/dist/xulux/fallback-catalog.d.ts +0 -7
- package/dist/xulux/fallback-catalog.d.ts.map +0 -1
- package/dist/xulux/fallback-catalog.js +0 -47
- package/dist/xulux/fallback-catalog.js.map +0 -1
- package/dist/xulux/fetch-sandbox.d.ts +0 -5
- package/dist/xulux/fetch-sandbox.d.ts.map +0 -1
- package/dist/xulux/fetch-sandbox.js +0 -40
- package/dist/xulux/fetch-sandbox.js.map +0 -1
- package/dist/xulux/template-service.d.ts +0 -84
- package/dist/xulux/template-service.d.ts.map +0 -1
- package/dist/xulux/template-service.js +0 -223
- package/dist/xulux/template-service.js.map +0 -1
- package/dist/xulux/types.d.ts +0 -55
- package/dist/xulux/types.d.ts.map +0 -1
- package/dist/xulux/types.js +0 -6
- package/dist/xulux/types.js.map +0 -1
- package/src/constants.ts +0 -24
- package/src/prepare-docs/code-examples.ts +0 -158
- package/src/prepare-docs/copy-raw.ts +0 -50
- package/src/prepare-docs/prepare.ts +0 -24
- package/src/prompts/xulux-playground.ts +0 -36
- package/src/tools/docs.ts +0 -255
- package/src/tools/examples.ts +0 -114
- package/src/tools/resources.ts +0 -111
- package/src/tools/search.ts +0 -46
- package/src/tools/tests/completions.test.ts +0 -60
- package/src/tools/tests/directory-size-cap.test.ts +0 -50
- package/src/tools/tests/docs.test.ts +0 -147
- package/src/tools/tests/examples.test.ts +0 -94
- package/src/tools/tests/integration.test.ts +0 -45
- package/src/tools/tests/json-parsing.test.ts +0 -23
- package/src/tools/tests/listings-cache.test.ts +0 -19
- package/src/tools/tests/mcp-protocol.test.ts +0 -216
- package/src/tools/tests/mcp-test-client.ts +0 -111
- package/src/tools/tests/path-traversal.test.ts +0 -84
- package/src/tools/tests/resources.test.ts +0 -133
- package/src/tools/tests/search.test.ts +0 -37
- package/src/tools/tests/test-setup.ts +0 -50
- package/src/tools/tests/xulux-templates.test.ts +0 -325
- package/src/tools/xulux-templates.ts +0 -141
- package/src/utils/cache.ts +0 -20
- package/src/utils/logger.ts +0 -20
- package/src/utils/mcp-format.ts +0 -14
- package/src/utils/mdx.ts +0 -59
- package/src/utils/paths.ts +0 -139
- package/src/utils/search.ts +0 -131
- package/src/utils/security.ts +0 -52
- package/src/utils/tests/cache.test.ts +0 -51
- package/src/utils/tests/mcp-format.test.ts +0 -22
- package/src/utils/tests/security.test.ts +0 -119
- package/src/xulux/catalog-client.ts +0 -150
- package/src/xulux/fallback-catalog.ts +0 -63
- package/src/xulux/fetch-sandbox.ts +0 -56
- package/src/xulux/template-service.ts +0 -406
- package/src/xulux/types.ts +0 -64
|
@@ -1,399 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Client and hooks
|
|
3
|
-
description: A2AClient, useA2ARuntime options, hooks, task states, artifacts, errors.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
import { A2AIcon } from "@/components/icons/a2a";
|
|
7
|
-
|
|
8
|
-
Deep dive on the runtime's API surface. Start with [overview](/docs/runtimes/a2a/overview) and [quickstart](/docs/runtimes/a2a/quickstart) if you have not already.
|
|
9
|
-
|
|
10
|
-
## A2AClient
|
|
11
|
-
|
|
12
|
-
The built-in `A2AClient` handles all communication with the A2A server: JSON serialization, SSE streaming, ProtoJSON enum normalization, and structured error handling.
|
|
13
|
-
|
|
14
|
-
```ts
|
|
15
|
-
import { A2AClient } from "@assistant-ui/react-a2a";
|
|
16
|
-
|
|
17
|
-
const client = new A2AClient({
|
|
18
|
-
baseUrl: "https://my-agent.example.com",
|
|
19
|
-
headers: { Authorization: "Bearer <token>" },
|
|
20
|
-
tenant: "my-org",
|
|
21
|
-
extensions: ["urn:a2a:ext:my-extension"],
|
|
22
|
-
fetchOptions: { credentials: "include" },
|
|
23
|
-
});
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
Pass a pre-built client to `useA2ARuntime`:
|
|
27
|
-
|
|
28
|
-
```tsx
|
|
29
|
-
const runtime = useA2ARuntime({ client });
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
### Client options
|
|
33
|
-
|
|
34
|
-
| Option | Type | Description |
|
|
35
|
-
| --- | --- | --- |
|
|
36
|
-
| `baseUrl` | `string` | Base URL of the A2A server. |
|
|
37
|
-
| `basePath` | `string` | Optional path prefix for API endpoints (e.g. `"/v1"`). Does not affect agent card discovery. |
|
|
38
|
-
| `headers` | `Record<string, string>` or `() => Record<string, string>` | Static or dynamic headers (e.g. for auth tokens). |
|
|
39
|
-
| `tenant` | `string` | Tenant ID for multi-tenant servers (prepended to URL paths). |
|
|
40
|
-
| `extensions` | `string[]` | Extension URIs to negotiate via `A2A-Extensions` header. |
|
|
41
|
-
| `fetchOptions` | `RequestInit` (partial) | Extra fetch options applied to every request (e.g. `{ credentials: "include" }`). `headers`, `body`, `method`, and `signal` are managed internally. |
|
|
42
|
-
|
|
43
|
-
### Client methods
|
|
44
|
-
|
|
45
|
-
| Method | Description |
|
|
46
|
-
| --- | --- |
|
|
47
|
-
| `sendMessage(message, configuration?, metadata?)` | Send a message (non-streaming). |
|
|
48
|
-
| `streamMessage(message, configuration?, metadata?)` | Send a message with SSE streaming. |
|
|
49
|
-
| `getTask(taskId, historyLength?)` | Get a task by ID. |
|
|
50
|
-
| `listTasks(request?)` | List tasks with filtering and pagination. |
|
|
51
|
-
| `cancelTask(taskId, metadata?)` | Cancel an in-progress task. |
|
|
52
|
-
| `subscribeToTask(taskId)` | Subscribe to SSE updates for a task. |
|
|
53
|
-
| `getAgentCard()` | Fetch the agent card from `/.well-known/agent-card.json`. |
|
|
54
|
-
| `getExtendedAgentCard()` | Fetch the extended (authenticated) agent card. |
|
|
55
|
-
| `createTaskPushNotificationConfig(config)` | Create a push notification config. |
|
|
56
|
-
| `getTaskPushNotificationConfig(taskId, configId)` | Get a push notification config. |
|
|
57
|
-
| `listTaskPushNotificationConfigs(taskId)` | List push notification configs. |
|
|
58
|
-
| `deleteTaskPushNotificationConfig(taskId, configId)` | Delete a push notification config. |
|
|
59
|
-
|
|
60
|
-
## useA2ARuntime options
|
|
61
|
-
|
|
62
|
-
Pass either a pre-built `client` or a `baseUrl` (the runtime creates a client for you). Other options layer on top.
|
|
63
|
-
|
|
64
|
-
| Option | Type | Description |
|
|
65
|
-
| --- | --- | --- |
|
|
66
|
-
| `client` | `A2AClient` | Pre-built A2A client instance (provide this OR `baseUrl`). |
|
|
67
|
-
| `baseUrl` | `string` | A2A server URL (creates a client automatically). |
|
|
68
|
-
| `basePath` | `string` | Path prefix for API endpoints. Only used with `baseUrl`. |
|
|
69
|
-
| `tenant` | `string` | Tenant ID for multi-tenant servers. Only used with `baseUrl`. |
|
|
70
|
-
| `headers` | `Record<string, string>` or `() => Record<string, string>` | Headers for the auto-created client. |
|
|
71
|
-
| `extensions` | `string[]` | Extension URIs to negotiate. Only used with `baseUrl`. |
|
|
72
|
-
| `fetchOptions` | `RequestInit` (partial) | Extra fetch options for the auto-created client (e.g. `{ credentials: "include" }`). `headers`, `body`, `method`, and `signal` are managed internally. Only used with `baseUrl`. |
|
|
73
|
-
| `contextId` | `string` | Initial context ID for the conversation. |
|
|
74
|
-
| `configuration` | `A2ASendMessageConfiguration` | Default send message configuration. |
|
|
75
|
-
| `onError` | `(error: Error) => void` | Error callback. |
|
|
76
|
-
| `onCancel` | `() => void` | Cancellation callback. |
|
|
77
|
-
| `onArtifactComplete` | `(artifact: A2AArtifact) => void` | Fired when an incremental artifact finishes. |
|
|
78
|
-
| `adapters.attachments` | `AttachmentAdapter` | Custom attachment handling. See [adapters](/docs/runtimes/concepts/adapters#attachment-adapter). |
|
|
79
|
-
| `adapters.speech` | `SpeechSynthesisAdapter` | Text-to-speech. See [adapters](/docs/runtimes/concepts/adapters#speech-adapter). |
|
|
80
|
-
| `adapters.feedback` | `FeedbackAdapter` | Feedback collection. See [adapters](/docs/runtimes/concepts/adapters#feedback-adapter). |
|
|
81
|
-
| `adapters.history` | `ThreadHistoryAdapter` | Message persistence. See [adapters](/docs/runtimes/concepts/adapters#history-adapter). |
|
|
82
|
-
| `adapters.threadList` | `UseA2AThreadListAdapter` | Thread switching. See [threads](/docs/runtimes/concepts/threads). |
|
|
83
|
-
|
|
84
|
-
## Hooks
|
|
85
|
-
|
|
86
|
-
### Task state
|
|
87
|
-
|
|
88
|
-
`useA2ATask` returns the current A2A task object, including task state and status message.
|
|
89
|
-
|
|
90
|
-
<PlatformTabs>
|
|
91
|
-
<Tab value="React">
|
|
92
|
-
|
|
93
|
-
```tsx
|
|
94
|
-
import { useA2ATask } from "@assistant-ui/react-a2a";
|
|
95
|
-
|
|
96
|
-
function TaskStatus() {
|
|
97
|
-
const task = useA2ATask();
|
|
98
|
-
if (!task) return null;
|
|
99
|
-
return (
|
|
100
|
-
<div>
|
|
101
|
-
Task {task.id}: {task.status.state}
|
|
102
|
-
</div>
|
|
103
|
-
);
|
|
104
|
-
}
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
</Tab>
|
|
108
|
-
<Tab value="React Native">
|
|
109
|
-
|
|
110
|
-
```tsx
|
|
111
|
-
import { useA2ATask } from "@assistant-ui/react-a2a";
|
|
112
|
-
import { Text, View } from "react-native";
|
|
113
|
-
|
|
114
|
-
function TaskStatus() {
|
|
115
|
-
const task = useA2ATask();
|
|
116
|
-
if (!task) return null;
|
|
117
|
-
return (
|
|
118
|
-
<View>
|
|
119
|
-
<Text>
|
|
120
|
-
Task {task.id}: {task.status.state}
|
|
121
|
-
</Text>
|
|
122
|
-
</View>
|
|
123
|
-
);
|
|
124
|
-
}
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
</Tab>
|
|
128
|
-
<Tab value="React Ink">
|
|
129
|
-
|
|
130
|
-
```tsx
|
|
131
|
-
import { useA2ATask } from "@assistant-ui/react-a2a";
|
|
132
|
-
import { Text } from "ink";
|
|
133
|
-
|
|
134
|
-
function TaskStatus() {
|
|
135
|
-
const task = useA2ATask();
|
|
136
|
-
if (!task) return null;
|
|
137
|
-
return (
|
|
138
|
-
<Text>
|
|
139
|
-
Task {task.id}: {task.status.state}
|
|
140
|
-
</Text>
|
|
141
|
-
);
|
|
142
|
-
}
|
|
143
|
-
```
|
|
144
|
-
|
|
145
|
-
</Tab>
|
|
146
|
-
</PlatformTabs>
|
|
147
|
-
|
|
148
|
-
### Artifacts list
|
|
149
|
-
|
|
150
|
-
`useA2AArtifacts` returns the artifacts generated by the current task.
|
|
151
|
-
|
|
152
|
-
<PlatformTabs>
|
|
153
|
-
<Tab value="React">
|
|
154
|
-
|
|
155
|
-
```tsx
|
|
156
|
-
import { useA2AArtifacts } from "@assistant-ui/react-a2a";
|
|
157
|
-
|
|
158
|
-
function ArtifactList() {
|
|
159
|
-
const artifacts = useA2AArtifacts();
|
|
160
|
-
return (
|
|
161
|
-
<ul>
|
|
162
|
-
{artifacts.map((artifact) => (
|
|
163
|
-
<li key={artifact.artifactId}>
|
|
164
|
-
{artifact.name}: {artifact.parts.length} parts
|
|
165
|
-
</li>
|
|
166
|
-
))}
|
|
167
|
-
</ul>
|
|
168
|
-
);
|
|
169
|
-
}
|
|
170
|
-
```
|
|
171
|
-
|
|
172
|
-
</Tab>
|
|
173
|
-
<Tab value="React Native">
|
|
174
|
-
|
|
175
|
-
```tsx
|
|
176
|
-
import { useA2AArtifacts } from "@assistant-ui/react-a2a";
|
|
177
|
-
import { Text, View } from "react-native";
|
|
178
|
-
|
|
179
|
-
function ArtifactList() {
|
|
180
|
-
const artifacts = useA2AArtifacts();
|
|
181
|
-
return (
|
|
182
|
-
<View>
|
|
183
|
-
{artifacts.map((artifact) => (
|
|
184
|
-
<Text key={artifact.artifactId}>
|
|
185
|
-
{artifact.name}: {artifact.parts.length} parts
|
|
186
|
-
</Text>
|
|
187
|
-
))}
|
|
188
|
-
</View>
|
|
189
|
-
);
|
|
190
|
-
}
|
|
191
|
-
```
|
|
192
|
-
|
|
193
|
-
</Tab>
|
|
194
|
-
<Tab value="React Ink">
|
|
195
|
-
|
|
196
|
-
```tsx
|
|
197
|
-
import { useA2AArtifacts } from "@assistant-ui/react-a2a";
|
|
198
|
-
import { Box, Text } from "ink";
|
|
199
|
-
|
|
200
|
-
function ArtifactList() {
|
|
201
|
-
const artifacts = useA2AArtifacts();
|
|
202
|
-
return (
|
|
203
|
-
<Box flexDirection="column">
|
|
204
|
-
{artifacts.map((artifact) => (
|
|
205
|
-
<Text key={artifact.artifactId}>
|
|
206
|
-
{artifact.name}: {artifact.parts.length} parts
|
|
207
|
-
</Text>
|
|
208
|
-
))}
|
|
209
|
-
</Box>
|
|
210
|
-
);
|
|
211
|
-
}
|
|
212
|
-
```
|
|
213
|
-
|
|
214
|
-
</Tab>
|
|
215
|
-
</PlatformTabs>
|
|
216
|
-
|
|
217
|
-
### Agent card
|
|
218
|
-
|
|
219
|
-
`useA2AAgentCard` returns the agent card fetched from the server on initialization.
|
|
220
|
-
|
|
221
|
-
<PlatformTabs>
|
|
222
|
-
<Tab value="React">
|
|
223
|
-
|
|
224
|
-
```tsx
|
|
225
|
-
import { useA2AAgentCard } from "@assistant-ui/react-a2a";
|
|
226
|
-
|
|
227
|
-
function AgentInfo() {
|
|
228
|
-
const card = useA2AAgentCard();
|
|
229
|
-
if (!card) return null;
|
|
230
|
-
return (
|
|
231
|
-
<div>
|
|
232
|
-
<h3>{card.name}</h3>
|
|
233
|
-
<p>{card.description}</p>
|
|
234
|
-
<div>Skills: {card.skills.map((s) => s.name).join(", ")}</div>
|
|
235
|
-
</div>
|
|
236
|
-
);
|
|
237
|
-
}
|
|
238
|
-
```
|
|
239
|
-
|
|
240
|
-
</Tab>
|
|
241
|
-
<Tab value="React Native">
|
|
242
|
-
|
|
243
|
-
```tsx
|
|
244
|
-
import { useA2AAgentCard } from "@assistant-ui/react-a2a";
|
|
245
|
-
import { Text, View } from "react-native";
|
|
246
|
-
|
|
247
|
-
function AgentInfo() {
|
|
248
|
-
const card = useA2AAgentCard();
|
|
249
|
-
if (!card) return null;
|
|
250
|
-
return (
|
|
251
|
-
<View>
|
|
252
|
-
<Text>{card.name}</Text>
|
|
253
|
-
<Text>{card.description}</Text>
|
|
254
|
-
<Text>Skills: {card.skills.map((s) => s.name).join(", ")}</Text>
|
|
255
|
-
</View>
|
|
256
|
-
);
|
|
257
|
-
}
|
|
258
|
-
```
|
|
259
|
-
|
|
260
|
-
</Tab>
|
|
261
|
-
<Tab value="React Ink">
|
|
262
|
-
|
|
263
|
-
```tsx
|
|
264
|
-
import { useA2AAgentCard } from "@assistant-ui/react-a2a";
|
|
265
|
-
import { Box, Text } from "ink";
|
|
266
|
-
|
|
267
|
-
function AgentInfo() {
|
|
268
|
-
const card = useA2AAgentCard();
|
|
269
|
-
if (!card) return null;
|
|
270
|
-
return (
|
|
271
|
-
<Box flexDirection="column">
|
|
272
|
-
<Text bold>{card.name}</Text>
|
|
273
|
-
<Text>{card.description}</Text>
|
|
274
|
-
<Text>Skills: {card.skills.map((s) => s.name).join(", ")}</Text>
|
|
275
|
-
</Box>
|
|
276
|
-
);
|
|
277
|
-
}
|
|
278
|
-
```
|
|
279
|
-
|
|
280
|
-
</Tab>
|
|
281
|
-
</PlatformTabs>
|
|
282
|
-
|
|
283
|
-
## Task states
|
|
284
|
-
|
|
285
|
-
The A2A protocol defines 9 task states. The runtime maps them to assistant-ui message statuses:
|
|
286
|
-
|
|
287
|
-
| A2A task state | Description | Message status |
|
|
288
|
-
| --- | --- | --- |
|
|
289
|
-
| `unspecified` | Unknown or default state. | `running` |
|
|
290
|
-
| `submitted` | Task acknowledged. | `running` |
|
|
291
|
-
| `working` | Task in progress. | `running` |
|
|
292
|
-
| `completed` | Task finished. | `complete` |
|
|
293
|
-
| `failed` | Task errored. | `incomplete (error)` |
|
|
294
|
-
| `canceled` | Task cancelled. | `incomplete (cancelled)` |
|
|
295
|
-
| `rejected` | Agent declined task. | `incomplete (error)` |
|
|
296
|
-
| `input_required` | Agent needs user input. | `requires-action` |
|
|
297
|
-
| `auth_required` | Authentication needed. | `requires-action` |
|
|
298
|
-
|
|
299
|
-
<Callout type="info">
|
|
300
|
-
When a task enters `input_required`, the user can continue the conversation normally. The runtime sends the next message with the same `taskId` to resume the task.
|
|
301
|
-
</Callout>
|
|
302
|
-
|
|
303
|
-
## Artifacts
|
|
304
|
-
|
|
305
|
-
A2A agents can produce artifacts (files, code, data) alongside their responses. Artifacts are accumulated during streaming and accessible via `useA2AArtifacts`.
|
|
306
|
-
|
|
307
|
-
The runtime supports:
|
|
308
|
-
|
|
309
|
-
- **Incremental artifact streaming** via `append` mode.
|
|
310
|
-
- **Artifact completion notification** via the `onArtifactComplete` callback.
|
|
311
|
-
- **Automatic reset** of artifacts on each new run.
|
|
312
|
-
|
|
313
|
-
```tsx
|
|
314
|
-
const runtime = useA2ARuntime({
|
|
315
|
-
baseUrl: "http://localhost:9999",
|
|
316
|
-
onArtifactComplete: (artifact) => {
|
|
317
|
-
console.log("Artifact ready:", artifact.name);
|
|
318
|
-
},
|
|
319
|
-
});
|
|
320
|
-
```
|
|
321
|
-
|
|
322
|
-
## Streaming vs non-streaming
|
|
323
|
-
|
|
324
|
-
The runtime automatically selects the communication mode based on the agent's capabilities:
|
|
325
|
-
|
|
326
|
-
- If the agent card indicates `capabilities.streaming: true` (or the field is unset), the runtime uses `POST /message:stream` with SSE.
|
|
327
|
-
- If `capabilities.streaming: false`, the runtime falls back to `POST /message:send`.
|
|
328
|
-
|
|
329
|
-
## Error handling
|
|
330
|
-
|
|
331
|
-
The client throws `A2AError` instances with structured error information following the `google.rpc.Status` format:
|
|
332
|
-
|
|
333
|
-
```tsx
|
|
334
|
-
import { A2AError } from "@assistant-ui/react-a2a";
|
|
335
|
-
|
|
336
|
-
const runtime = useA2ARuntime({
|
|
337
|
-
baseUrl: "http://localhost:9999",
|
|
338
|
-
onError: (error) => {
|
|
339
|
-
if (error instanceof A2AError) {
|
|
340
|
-
console.log(error.code); // HTTP status code
|
|
341
|
-
console.log(error.status); // e.g. "NOT_FOUND"
|
|
342
|
-
console.log(error.details); // google.rpc.ErrorInfo details
|
|
343
|
-
}
|
|
344
|
-
},
|
|
345
|
-
});
|
|
346
|
-
```
|
|
347
|
-
|
|
348
|
-
## Multi-tenancy
|
|
349
|
-
|
|
350
|
-
For multi-tenant A2A servers, pass a `tenant` option:
|
|
351
|
-
|
|
352
|
-
```ts
|
|
353
|
-
const client = new A2AClient({
|
|
354
|
-
baseUrl: "https://agent.example.com",
|
|
355
|
-
tenant: "my-org",
|
|
356
|
-
});
|
|
357
|
-
```
|
|
358
|
-
|
|
359
|
-
This prepends `/{tenant}` to all API paths (e.g. `/my-org/message:send`).
|
|
360
|
-
|
|
361
|
-
## Feature support
|
|
362
|
-
|
|
363
|
-
| Feature | Supported |
|
|
364
|
-
| --- | --- |
|
|
365
|
-
| Streaming (SSE) | Yes |
|
|
366
|
-
| Non-streaming fallback | Yes |
|
|
367
|
-
| All 9 task states | Yes |
|
|
368
|
-
| Artifacts (text, data, file) | Yes |
|
|
369
|
-
| Agent card discovery | Yes |
|
|
370
|
-
| Multi-tenancy | Yes |
|
|
371
|
-
| Structured errors | Yes |
|
|
372
|
-
| Push notifications CRUD | Yes |
|
|
373
|
-
| Extension negotiation | Yes |
|
|
374
|
-
| Task cancellation | Yes |
|
|
375
|
-
| Message editing | Yes |
|
|
376
|
-
| Message reload | Yes |
|
|
377
|
-
| History persistence | Via [history adapter](/docs/runtimes/concepts/adapters#history-adapter) |
|
|
378
|
-
| Thread list management | Via [thread list adapter](/docs/runtimes/concepts/threads) |
|
|
379
|
-
|
|
380
|
-
## Related
|
|
381
|
-
|
|
382
|
-
<Cards>
|
|
383
|
-
<Card
|
|
384
|
-
icon={<A2AIcon width={20} height={20} />}
|
|
385
|
-
title="A2A overview"
|
|
386
|
-
description="What A2A is and when to pick it."
|
|
387
|
-
href="/docs/runtimes/a2a/overview"
|
|
388
|
-
/>
|
|
389
|
-
<Card
|
|
390
|
-
title="Quickstart"
|
|
391
|
-
description="Minimal runtime + Thread setup."
|
|
392
|
-
href="/docs/runtimes/a2a/quickstart"
|
|
393
|
-
/>
|
|
394
|
-
<Card
|
|
395
|
-
title="Adapters"
|
|
396
|
-
description="Attachments, speech, feedback, history, threads."
|
|
397
|
-
href="/docs/runtimes/concepts/adapters"
|
|
398
|
-
/>
|
|
399
|
-
</Cards>
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: A2A Agent Runtime
|
|
3
|
-
description: Connect any A2A v1.0 protocol-compliant agent server to a React chat UI with assistant-ui — full streaming, tool calls, and message metadata supported.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
`@assistant-ui/react-a2a` is a runtime adapter for the [A2A (Agent-to-Agent) v1.0 protocol](https://github.com/a2aproject/A2A). Use it when your backend speaks A2A; the adapter handles the wire protocol so you can focus on the UI.
|
|
7
|
-
|
|
8
|
-
## When to use it
|
|
9
|
-
|
|
10
|
-
Pick the A2A runtime when:
|
|
11
|
-
|
|
12
|
-
- You have an A2A v1.0 compatible agent server, or you are building one and want a reference client.
|
|
13
|
-
- You want streaming task state, artifacts, and the protocol's full state machine surfaced in the UI.
|
|
14
|
-
- You need multi-tenant or extension-aware A2A clients.
|
|
15
|
-
|
|
16
|
-
If your backend is not A2A-compliant, see [picking a runtime](/docs/runtimes/pick-a-runtime) for alternatives.
|
|
17
|
-
|
|
18
|
-
## Architecture
|
|
19
|
-
|
|
20
|
-
`@assistant-ui/react-a2a` is layered on `ExternalStoreRuntime` (see [architecture](/docs/runtimes/concepts/architecture)). Features that ship as runtime adapters (attachments, speech, feedback, history, threads) work the same way they do everywhere else; see [adapters](/docs/runtimes/concepts/adapters).
|
|
21
|
-
|
|
22
|
-
## Requirements
|
|
23
|
-
|
|
24
|
-
- An A2A v1.0 compatible agent server.
|
|
25
|
-
- React 18 or 19.
|
|
26
|
-
|
|
27
|
-
## Install
|
|
28
|
-
|
|
29
|
-
<PlatformTabs>
|
|
30
|
-
<Tab value="React">
|
|
31
|
-
|
|
32
|
-
<InstallCommand npm={["@assistant-ui/react", "@assistant-ui/react-a2a"]} />
|
|
33
|
-
|
|
34
|
-
</Tab>
|
|
35
|
-
<Tab value="React Native">
|
|
36
|
-
|
|
37
|
-
<InstallCommand expo={["@assistant-ui/react-native", "@assistant-ui/react-a2a"]} />
|
|
38
|
-
|
|
39
|
-
</Tab>
|
|
40
|
-
<Tab value="React Ink">
|
|
41
|
-
|
|
42
|
-
<InstallCommand npm={["@assistant-ui/react-ink", "@assistant-ui/react-a2a", "ink", "react"]} />
|
|
43
|
-
|
|
44
|
-
</Tab>
|
|
45
|
-
</PlatformTabs>
|
|
46
|
-
|
|
47
|
-
## Next
|
|
48
|
-
|
|
49
|
-
<Cards>
|
|
50
|
-
<Card
|
|
51
|
-
title="Quickstart"
|
|
52
|
-
description="Minimal runtime setup with a Thread component."
|
|
53
|
-
href="/docs/runtimes/a2a/quickstart"
|
|
54
|
-
/>
|
|
55
|
-
<Card
|
|
56
|
-
title="Client and hooks"
|
|
57
|
-
description="A2AClient, useA2ARuntime options, hooks reference, task states, artifacts."
|
|
58
|
-
href="/docs/runtimes/a2a/client-and-hooks"
|
|
59
|
-
/>
|
|
60
|
-
</Cards>
|
|
@@ -1,216 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Quickstart
|
|
3
|
-
description: Minimal runtime and Thread setup against an A2A server.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
Three steps to a working chat against an A2A server. Assumes you have already installed the package and have an A2A v1.0 server reachable; if not, start at [overview](/docs/runtimes/a2a/overview).
|
|
7
|
-
|
|
8
|
-
<Steps>
|
|
9
|
-
<Step>
|
|
10
|
-
|
|
11
|
-
### Wire up the runtime provider
|
|
12
|
-
|
|
13
|
-
<PlatformTabs>
|
|
14
|
-
<Tab value="React">
|
|
15
|
-
|
|
16
|
-
```tsx title="app/MyRuntimeProvider.tsx"
|
|
17
|
-
"use client";
|
|
18
|
-
|
|
19
|
-
import { AssistantRuntimeProvider } from "@assistant-ui/react";
|
|
20
|
-
import { useA2ARuntime } from "@assistant-ui/react-a2a";
|
|
21
|
-
|
|
22
|
-
export function MyRuntimeProvider({
|
|
23
|
-
children,
|
|
24
|
-
}: {
|
|
25
|
-
children: React.ReactNode;
|
|
26
|
-
}) {
|
|
27
|
-
const runtime = useA2ARuntime({
|
|
28
|
-
baseUrl: "http://localhost:9999",
|
|
29
|
-
});
|
|
30
|
-
return (
|
|
31
|
-
<AssistantRuntimeProvider runtime={runtime}>
|
|
32
|
-
{children}
|
|
33
|
-
</AssistantRuntimeProvider>
|
|
34
|
-
);
|
|
35
|
-
}
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
</Tab>
|
|
39
|
-
<Tab value="React Native">
|
|
40
|
-
|
|
41
|
-
```tsx title="runtime/MyRuntimeProvider.tsx"
|
|
42
|
-
import { AssistantRuntimeProvider } from "@assistant-ui/react-native";
|
|
43
|
-
import { useA2ARuntime } from "@assistant-ui/react-a2a";
|
|
44
|
-
|
|
45
|
-
export function MyRuntimeProvider({
|
|
46
|
-
children,
|
|
47
|
-
}: {
|
|
48
|
-
children: React.ReactNode;
|
|
49
|
-
}) {
|
|
50
|
-
const runtime = useA2ARuntime({
|
|
51
|
-
baseUrl: "http://localhost:9999",
|
|
52
|
-
});
|
|
53
|
-
return (
|
|
54
|
-
<AssistantRuntimeProvider runtime={runtime}>
|
|
55
|
-
{children}
|
|
56
|
-
</AssistantRuntimeProvider>
|
|
57
|
-
);
|
|
58
|
-
}
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
</Tab>
|
|
62
|
-
<Tab value="React Ink">
|
|
63
|
-
|
|
64
|
-
```tsx title="runtime/MyRuntimeProvider.tsx"
|
|
65
|
-
import { AssistantRuntimeProvider } from "@assistant-ui/react-ink";
|
|
66
|
-
import { useA2ARuntime } from "@assistant-ui/react-a2a";
|
|
67
|
-
|
|
68
|
-
export function MyRuntimeProvider({
|
|
69
|
-
children,
|
|
70
|
-
}: {
|
|
71
|
-
children: React.ReactNode;
|
|
72
|
-
}) {
|
|
73
|
-
const runtime = useA2ARuntime({
|
|
74
|
-
baseUrl: "http://localhost:9999",
|
|
75
|
-
});
|
|
76
|
-
return (
|
|
77
|
-
<AssistantRuntimeProvider runtime={runtime}>
|
|
78
|
-
{children}
|
|
79
|
-
</AssistantRuntimeProvider>
|
|
80
|
-
);
|
|
81
|
-
}
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
</Tab>
|
|
85
|
-
</PlatformTabs>
|
|
86
|
-
|
|
87
|
-
</Step>
|
|
88
|
-
<Step>
|
|
89
|
-
|
|
90
|
-
### Render the Thread
|
|
91
|
-
|
|
92
|
-
<PlatformTabs>
|
|
93
|
-
<Tab value="React">
|
|
94
|
-
|
|
95
|
-
```tsx title="app/page.tsx"
|
|
96
|
-
import { Thread } from "@/components/assistant-ui/thread";
|
|
97
|
-
import { MyRuntimeProvider } from "./MyRuntimeProvider";
|
|
98
|
-
|
|
99
|
-
export default function Page() {
|
|
100
|
-
return (
|
|
101
|
-
<MyRuntimeProvider>
|
|
102
|
-
<Thread />
|
|
103
|
-
</MyRuntimeProvider>
|
|
104
|
-
);
|
|
105
|
-
}
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
</Tab>
|
|
109
|
-
<Tab value="React Native">
|
|
110
|
-
|
|
111
|
-
```tsx title="app/index.tsx"
|
|
112
|
-
import { View } from "react-native";
|
|
113
|
-
import { Thread } from "@/components/assistant-ui/thread";
|
|
114
|
-
import { MyRuntimeProvider } from "@/runtime/MyRuntimeProvider";
|
|
115
|
-
|
|
116
|
-
export default function Page() {
|
|
117
|
-
return (
|
|
118
|
-
<MyRuntimeProvider>
|
|
119
|
-
<View style={{ flex: 1 }}>
|
|
120
|
-
<Thread />
|
|
121
|
-
</View>
|
|
122
|
-
</MyRuntimeProvider>
|
|
123
|
-
);
|
|
124
|
-
}
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
</Tab>
|
|
128
|
-
<Tab value="React Ink">
|
|
129
|
-
|
|
130
|
-
```tsx title="app.tsx"
|
|
131
|
-
import { Box } from "ink";
|
|
132
|
-
import { Thread } from "./components/thread.js";
|
|
133
|
-
import { MyRuntimeProvider } from "./runtime/MyRuntimeProvider.js";
|
|
134
|
-
|
|
135
|
-
export function App() {
|
|
136
|
-
return (
|
|
137
|
-
<MyRuntimeProvider>
|
|
138
|
-
<Box flexDirection="column">
|
|
139
|
-
<Thread />
|
|
140
|
-
</Box>
|
|
141
|
-
</MyRuntimeProvider>
|
|
142
|
-
);
|
|
143
|
-
}
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
</Tab>
|
|
147
|
-
</PlatformTabs>
|
|
148
|
-
|
|
149
|
-
</Step>
|
|
150
|
-
<Step>
|
|
151
|
-
|
|
152
|
-
### Set up UI components
|
|
153
|
-
|
|
154
|
-
<PlatformTabs>
|
|
155
|
-
<Tab value="React">
|
|
156
|
-
|
|
157
|
-
Follow the [UI Components guide](/docs/ui/thread) to wire up the Thread, composer, and supporting primitives.
|
|
158
|
-
|
|
159
|
-
</Tab>
|
|
160
|
-
<Tab value="React Native">
|
|
161
|
-
|
|
162
|
-
Follow the [React Native setup](/docs/react-native) to add a native Thread, composer, and supporting primitives.
|
|
163
|
-
|
|
164
|
-
</Tab>
|
|
165
|
-
<Tab value="React Ink">
|
|
166
|
-
|
|
167
|
-
Follow the [Ink setup](/docs/ink) to add a terminal Thread, composer, and supporting primitives.
|
|
168
|
-
|
|
169
|
-
</Tab>
|
|
170
|
-
</PlatformTabs>
|
|
171
|
-
|
|
172
|
-
</Step>
|
|
173
|
-
</Steps>
|
|
174
|
-
|
|
175
|
-
Once your A2A server is reachable, the runtime negotiates streaming vs non-streaming based on the agent card's `capabilities.streaming` flag and starts forwarding messages.
|
|
176
|
-
|
|
177
|
-
## Auth and headers
|
|
178
|
-
|
|
179
|
-
Pass static or dynamic headers when your server expects auth:
|
|
180
|
-
|
|
181
|
-
```tsx
|
|
182
|
-
const runtime = useA2ARuntime({
|
|
183
|
-
baseUrl: "http://localhost:9999",
|
|
184
|
-
headers: async () => ({
|
|
185
|
-
Authorization: `Bearer ${await getAccessToken()}`,
|
|
186
|
-
}),
|
|
187
|
-
});
|
|
188
|
-
```
|
|
189
|
-
|
|
190
|
-
## Adding adapters
|
|
191
|
-
|
|
192
|
-
Attachments, speech, feedback, history, and a custom thread list are all supported via the standard adapter slots. See [adapters](/docs/runtimes/concepts/adapters) for the contracts; pass them on `useA2ARuntime`:
|
|
193
|
-
|
|
194
|
-
```tsx
|
|
195
|
-
const runtime = useA2ARuntime({
|
|
196
|
-
baseUrl: "http://localhost:9999",
|
|
197
|
-
adapters: { attachments, history, speech, feedback },
|
|
198
|
-
});
|
|
199
|
-
```
|
|
200
|
-
|
|
201
|
-
For multi-thread, see [threads](/docs/runtimes/concepts/threads) and pass `adapters.threadList`.
|
|
202
|
-
|
|
203
|
-
## Next
|
|
204
|
-
|
|
205
|
-
<Cards>
|
|
206
|
-
<Card
|
|
207
|
-
title="Client and hooks"
|
|
208
|
-
description="A2AClient, useA2ARuntime options, hooks reference, task states, artifacts."
|
|
209
|
-
href="/docs/runtimes/a2a/client-and-hooks"
|
|
210
|
-
/>
|
|
211
|
-
<Card
|
|
212
|
-
title="Pick a runtime"
|
|
213
|
-
description="Compare A2A to other runtime options."
|
|
214
|
-
href="/docs/runtimes/pick-a-runtime"
|
|
215
|
-
/>
|
|
216
|
-
</Cards>
|