@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.
Files changed (459) hide show
  1. package/README.md +16 -43
  2. package/dist/index.d.ts +2 -3
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +3 -91
  5. package/dist/index.js.map +1 -1
  6. package/dist/proxy.d.ts +9 -0
  7. package/dist/proxy.d.ts.map +1 -0
  8. package/dist/proxy.js +76 -0
  9. package/dist/proxy.js.map +1 -0
  10. package/package.json +9 -13
  11. package/src/index.ts +3 -115
  12. package/src/proxy.test.ts +250 -0
  13. package/src/proxy.ts +111 -0
  14. package/.docs/organized/code-examples/waterfall.md +0 -807
  15. package/.docs/organized/code-examples/with-a2a.md +0 -674
  16. package/.docs/organized/code-examples/with-ag-ui.md +0 -552
  17. package/.docs/organized/code-examples/with-ai-sdk-v7.md +0 -465
  18. package/.docs/organized/code-examples/with-artifacts.md +0 -814
  19. package/.docs/organized/code-examples/with-assistant-transport.md +0 -575
  20. package/.docs/organized/code-examples/with-browser-extension.md +0 -371
  21. package/.docs/organized/code-examples/with-chain-of-thought.md +0 -960
  22. package/.docs/organized/code-examples/with-cloud-standalone.md +0 -681
  23. package/.docs/organized/code-examples/with-cloud.md +0 -438
  24. package/.docs/organized/code-examples/with-custom-thread-list.md +0 -568
  25. package/.docs/organized/code-examples/with-elevenlabs-conversational.md +0 -526
  26. package/.docs/organized/code-examples/with-elevenlabs-scribe.md +0 -696
  27. package/.docs/organized/code-examples/with-eve.md +0 -404
  28. package/.docs/organized/code-examples/with-expo.md +0 -2063
  29. package/.docs/organized/code-examples/with-external-store.md +0 -420
  30. package/.docs/organized/code-examples/with-ffmpeg.md +0 -828
  31. package/.docs/organized/code-examples/with-generative-ui.md +0 -1812
  32. package/.docs/organized/code-examples/with-google-adk.md +0 -367
  33. package/.docs/organized/code-examples/with-heat-graph.md +0 -304
  34. package/.docs/organized/code-examples/with-image-generation.md +0 -462
  35. package/.docs/organized/code-examples/with-interactables.md +0 -732
  36. package/.docs/organized/code-examples/with-langchain.md +0 -445
  37. package/.docs/organized/code-examples/with-langgraph.md +0 -854
  38. package/.docs/organized/code-examples/with-livekit.md +0 -642
  39. package/.docs/organized/code-examples/with-mcp.md +0 -780
  40. package/.docs/organized/code-examples/with-nuxt.md +0 -2428
  41. package/.docs/organized/code-examples/with-opencode.md +0 -1974
  42. package/.docs/organized/code-examples/with-openui.md +0 -449
  43. package/.docs/organized/code-examples/with-pi.md +0 -2083
  44. package/.docs/organized/code-examples/with-react-hook-form.md +0 -724
  45. package/.docs/organized/code-examples/with-react-ink-web.md +0 -690
  46. package/.docs/organized/code-examples/with-react-ink.md +0 -472
  47. package/.docs/organized/code-examples/with-react-router.md +0 -935
  48. package/.docs/organized/code-examples/with-resumable-stream.md +0 -667
  49. package/.docs/organized/code-examples/with-store.md +0 -679
  50. package/.docs/organized/code-examples/with-svelte.md +0 -415
  51. package/.docs/organized/code-examples/with-sveltekit.md +0 -1061
  52. package/.docs/organized/code-examples/with-tanstack.md +0 -811
  53. package/.docs/organized/code-examples/with-tap-runtime.md +0 -812
  54. package/.docs/organized/code-examples/with-virtualized-thread.md +0 -680
  55. package/.docs/organized/code-examples/with-vue.md +0 -408
  56. package/.docs/raw/docs/(docs)/architecture.mdx +0 -146
  57. package/.docs/raw/docs/(docs)/base-ui.mdx +0 -39
  58. package/.docs/raw/docs/(docs)/cli.mdx +0 -542
  59. package/.docs/raw/docs/(docs)/devtools.mdx +0 -79
  60. package/.docs/raw/docs/(docs)/index.mdx +0 -21
  61. package/.docs/raw/docs/(docs)/installation.mdx +0 -483
  62. package/.docs/raw/docs/(docs)/llm.mdx +0 -211
  63. package/.docs/raw/docs/(docs)/rtl.mdx +0 -78
  64. package/.docs/raw/docs/(reference)/api-reference/adapters/attachments.mdx +0 -36
  65. package/.docs/raw/docs/(reference)/api-reference/adapters/feedback.mdx +0 -20
  66. package/.docs/raw/docs/(reference)/api-reference/adapters/index.mdx +0 -34
  67. package/.docs/raw/docs/(reference)/api-reference/adapters/model.mdx +0 -44
  68. package/.docs/raw/docs/(reference)/api-reference/adapters/persistence.mdx +0 -59
  69. package/.docs/raw/docs/(reference)/api-reference/adapters/runtime.mdx +0 -20
  70. package/.docs/raw/docs/(reference)/api-reference/adapters/suggestions.mdx +0 -20
  71. package/.docs/raw/docs/(reference)/api-reference/context-providers/assistant-runtime-provider.mdx +0 -84
  72. package/.docs/raw/docs/(reference)/api-reference/context-providers/index.mdx +0 -22
  73. package/.docs/raw/docs/(reference)/api-reference/context-providers/scoped-providers.mdx +0 -64
  74. package/.docs/raw/docs/(reference)/api-reference/external-store/index.mdx +0 -22
  75. package/.docs/raw/docs/(reference)/api-reference/external-store/message-conversion.mdx +0 -52
  76. package/.docs/raw/docs/(reference)/api-reference/external-store/runtime.mdx +0 -49
  77. package/.docs/raw/docs/(reference)/api-reference/generative-ui/a2ui.mdx +0 -40
  78. package/.docs/raw/docs/(reference)/api-reference/generative-ui/actions.mdx +0 -56
  79. package/.docs/raw/docs/(reference)/api-reference/generative-ui/components.mdx +0 -86
  80. package/.docs/raw/docs/(reference)/api-reference/generative-ui/index.mdx +0 -39
  81. package/.docs/raw/docs/(reference)/api-reference/generative-ui/json-generative-ui.mdx +0 -42
  82. package/.docs/raw/docs/(reference)/api-reference/generative-ui/rendering.mdx +0 -84
  83. package/.docs/raw/docs/(reference)/api-reference/generative-ui/slack.mdx +0 -85
  84. package/.docs/raw/docs/(reference)/api-reference/generative-ui/spec.mdx +0 -45
  85. package/.docs/raw/docs/(reference)/api-reference/generative-ui/teams.mdx +0 -93
  86. package/.docs/raw/docs/(reference)/api-reference/generative-ui/tokens.mdx +0 -62
  87. package/.docs/raw/docs/(reference)/api-reference/hooks/composer-triggers.mdx +0 -129
  88. package/.docs/raw/docs/(reference)/api-reference/hooks/index.mdx +0 -31
  89. package/.docs/raw/docs/(reference)/api-reference/hooks/model-context.mdx +0 -34
  90. package/.docs/raw/docs/(reference)/api-reference/hooks/primitives.mdx +0 -350
  91. package/.docs/raw/docs/(reference)/api-reference/hooks/runtimes.mdx +0 -28
  92. package/.docs/raw/docs/(reference)/api-reference/hooks/state.mdx +0 -97
  93. package/.docs/raw/docs/(reference)/api-reference/integrations/cloud-ai-sdk.mdx +0 -24
  94. package/.docs/raw/docs/(reference)/api-reference/integrations/eve.mdx +0 -97
  95. package/.docs/raw/docs/(reference)/api-reference/integrations/index.mdx +0 -28
  96. package/.docs/raw/docs/(reference)/api-reference/integrations/react-ai-sdk.mdx +0 -200
  97. package/.docs/raw/docs/(reference)/api-reference/integrations/react-data-stream.mdx +0 -37
  98. package/.docs/raw/docs/(reference)/api-reference/model-context/context.mdx +0 -50
  99. package/.docs/raw/docs/(reference)/api-reference/model-context/index.mdx +0 -22
  100. package/.docs/raw/docs/(reference)/api-reference/model-context/registry.mdx +0 -20
  101. package/.docs/raw/docs/(reference)/api-reference/overview.mdx +0 -566
  102. package/.docs/raw/docs/(reference)/api-reference/primitives/action-bar-more.mdx +0 -152
  103. package/.docs/raw/docs/(reference)/api-reference/primitives/action-bar.mdx +0 -239
  104. package/.docs/raw/docs/(reference)/api-reference/primitives/assistant-if.mdx +0 -208
  105. package/.docs/raw/docs/(reference)/api-reference/primitives/assistant-modal.mdx +0 -108
  106. package/.docs/raw/docs/(reference)/api-reference/primitives/attachment.mdx +0 -99
  107. package/.docs/raw/docs/(reference)/api-reference/primitives/branch-picker.mdx +0 -145
  108. package/.docs/raw/docs/(reference)/api-reference/primitives/chain-of-thought.mdx +0 -82
  109. package/.docs/raw/docs/(reference)/api-reference/primitives/composer.mdx +0 -619
  110. package/.docs/raw/docs/(reference)/api-reference/primitives/composition.mdx +0 -22
  111. package/.docs/raw/docs/(reference)/api-reference/primitives/error.mdx +0 -65
  112. package/.docs/raw/docs/(reference)/api-reference/primitives/index.mdx +0 -73
  113. package/.docs/raw/docs/(reference)/api-reference/primitives/message-part.mdx +0 -117
  114. package/.docs/raw/docs/(reference)/api-reference/primitives/message.mdx +0 -339
  115. package/.docs/raw/docs/(reference)/api-reference/primitives/queue-item.mdx +0 -77
  116. package/.docs/raw/docs/(reference)/api-reference/primitives/selection-toolbar.mdx +0 -88
  117. package/.docs/raw/docs/(reference)/api-reference/primitives/suggestion.mdx +0 -81
  118. package/.docs/raw/docs/(reference)/api-reference/primitives/thread-list-item-more.mdx +0 -129
  119. package/.docs/raw/docs/(reference)/api-reference/primitives/thread-list-item.mdx +0 -138
  120. package/.docs/raw/docs/(reference)/api-reference/primitives/thread-list.mdx +0 -122
  121. package/.docs/raw/docs/(reference)/api-reference/primitives/thread.mdx +0 -289
  122. package/.docs/raw/docs/(reference)/api-reference/runtimes/assistant-runtime.mdx +0 -20
  123. package/.docs/raw/docs/(reference)/api-reference/runtimes/attachment-runtime.mdx +0 -24
  124. package/.docs/raw/docs/(reference)/api-reference/runtimes/composer-runtime.mdx +0 -32
  125. package/.docs/raw/docs/(reference)/api-reference/runtimes/index.mdx +0 -43
  126. package/.docs/raw/docs/(reference)/api-reference/runtimes/message-part-runtime.mdx +0 -43
  127. package/.docs/raw/docs/(reference)/api-reference/runtimes/message-runtime.mdx +0 -24
  128. package/.docs/raw/docs/(reference)/api-reference/runtimes/queue-state.mdx +0 -20
  129. package/.docs/raw/docs/(reference)/api-reference/runtimes/thread-list-item-runtime.mdx +0 -24
  130. package/.docs/raw/docs/(reference)/api-reference/runtimes/thread-list-runtime.mdx +0 -24
  131. package/.docs/raw/docs/(reference)/api-reference/runtimes/thread-runtime.mdx +0 -36
  132. package/.docs/raw/docs/(reference)/api-reference/tools/component-tools.mdx +0 -85
  133. package/.docs/raw/docs/(reference)/api-reference/tools/index.mdx +0 -45
  134. package/.docs/raw/docs/(reference)/api-reference/tools/interactables-legacy.mdx +0 -55
  135. package/.docs/raw/docs/(reference)/api-reference/tools/interactables.mdx +0 -151
  136. package/.docs/raw/docs/(reference)/api-reference/tools/rendering.mdx +0 -106
  137. package/.docs/raw/docs/(reference)/api-reference/tools/status.mdx +0 -62
  138. package/.docs/raw/docs/(reference)/api-reference/tools/toolkits.mdx +0 -178
  139. package/.docs/raw/docs/(reference)/api-reference/transport/assistant-transport.mdx +0 -48
  140. package/.docs/raw/docs/(reference)/api-reference/transport/frame.mdx +0 -62
  141. package/.docs/raw/docs/(reference)/api-reference/transport/index.mdx +0 -22
  142. package/.docs/raw/docs/(reference)/api-reference/utilities/index.mdx +0 -19
  143. package/.docs/raw/docs/(reference)/api-reference/utilities/miscellaneous.mdx +0 -149
  144. package/.docs/raw/docs/(reference)/api-reference/voice/index.mdx +0 -22
  145. package/.docs/raw/docs/(reference)/api-reference/voice/session.mdx +0 -54
  146. package/.docs/raw/docs/(reference)/api-reference/voice/speech-dictation.mdx +0 -36
  147. package/.docs/raw/docs/cloud/ai-sdk-assistant-ui.mdx +0 -527
  148. package/.docs/raw/docs/cloud/ai-sdk.mdx +0 -602
  149. package/.docs/raw/docs/cloud/authorization.mdx +0 -252
  150. package/.docs/raw/docs/cloud/index.mdx +0 -46
  151. package/.docs/raw/docs/cloud/langgraph.mdx +0 -554
  152. package/.docs/raw/docs/copilots/assistant-frame.mdx +0 -400
  153. package/.docs/raw/docs/copilots/make-assistant-visible.mdx +0 -82
  154. package/.docs/raw/docs/copilots/model-context.mdx +0 -156
  155. package/.docs/raw/docs/copilots/motivation.mdx +0 -202
  156. package/.docs/raw/docs/copilots/use-assistant-instructions.mdx +0 -64
  157. package/.docs/raw/docs/guides/attachments.mdx +0 -619
  158. package/.docs/raw/docs/guides/branching.mdx +0 -76
  159. package/.docs/raw/docs/guides/chain-of-thought.mdx +0 -164
  160. package/.docs/raw/docs/guides/chatgpt-subscription.mdx +0 -108
  161. package/.docs/raw/docs/guides/context-api.mdx +0 -619
  162. package/.docs/raw/docs/guides/dictation.mdx +0 -298
  163. package/.docs/raw/docs/guides/editing.mdx +0 -102
  164. package/.docs/raw/docs/guides/electron.mdx +0 -369
  165. package/.docs/raw/docs/guides/headless-composer-input.mdx +0 -113
  166. package/.docs/raw/docs/guides/image-generation.mdx +0 -74
  167. package/.docs/raw/docs/guides/index.mdx +0 -117
  168. package/.docs/raw/docs/guides/input-history.mdx +0 -55
  169. package/.docs/raw/docs/guides/latex.mdx +0 -158
  170. package/.docs/raw/docs/guides/mentions.mdx +0 -575
  171. package/.docs/raw/docs/guides/message-timing.mdx +0 -209
  172. package/.docs/raw/docs/guides/quoting.mdx +0 -169
  173. package/.docs/raw/docs/guides/resumable-stream-deployment.mdx +0 -212
  174. package/.docs/raw/docs/guides/resumable-stream-stores.mdx +0 -152
  175. package/.docs/raw/docs/guides/resumable-streams.mdx +0 -292
  176. package/.docs/raw/docs/guides/slash-commands.mdx +0 -358
  177. package/.docs/raw/docs/guides/speech.mdx +0 -172
  178. package/.docs/raw/docs/guides/suggestions.mdx +0 -384
  179. package/.docs/raw/docs/guides/virtualization.mdx +0 -133
  180. package/.docs/raw/docs/guides/voice.mdx +0 -310
  181. package/.docs/raw/docs/ink/adapters.mdx +0 -99
  182. package/.docs/raw/docs/ink/custom-backend.mdx +0 -254
  183. package/.docs/raw/docs/ink/hooks.mdx +0 -469
  184. package/.docs/raw/docs/ink/index.mdx +0 -236
  185. package/.docs/raw/docs/ink/migration.mdx +0 -138
  186. package/.docs/raw/docs/ink/primitives.mdx +0 -1259
  187. package/.docs/raw/docs/integrations/attachments/custom-adapter.mdx +0 -528
  188. package/.docs/raw/docs/integrations/auth/better-auth.mdx +0 -188
  189. package/.docs/raw/docs/integrations/auth/clerk.mdx +0 -166
  190. package/.docs/raw/docs/integrations/auth/next-auth.mdx +0 -191
  191. package/.docs/raw/docs/integrations/frameworks/ai-sdk.mdx +0 -88
  192. package/.docs/raw/docs/integrations/frameworks/cloudflare-agents/overview.mdx +0 -282
  193. package/.docs/raw/docs/integrations/frameworks/mastra/full-stack.mdx +0 -188
  194. package/.docs/raw/docs/integrations/frameworks/mastra/overview.mdx +0 -57
  195. package/.docs/raw/docs/integrations/frameworks/mastra/separate-server.mdx +0 -201
  196. package/.docs/raw/docs/integrations/gateways/index.mdx +0 -162
  197. package/.docs/raw/docs/integrations/index.mdx +0 -178
  198. package/.docs/raw/docs/integrations/observability/helicone.mdx +0 -129
  199. package/.docs/raw/docs/integrations/observability/langfuse.mdx +0 -161
  200. package/.docs/raw/docs/integrations/observability/langsmith.mdx +0 -151
  201. package/.docs/raw/docs/integrations/persistence/custom-adapter.mdx +0 -773
  202. package/.docs/raw/docs/migrations/deprecation-policy.mdx +0 -42
  203. package/.docs/raw/docs/migrations/index.mdx +0 -50
  204. package/.docs/raw/docs/migrations/react-compatibility.mdx +0 -74
  205. package/.docs/raw/docs/migrations/react-langgraph-v0-7.mdx +0 -328
  206. package/.docs/raw/docs/migrations/toolkit-tools.mdx +0 -236
  207. package/.docs/raw/docs/migrations/v0-11.mdx +0 -172
  208. package/.docs/raw/docs/migrations/v0-12.mdx +0 -302
  209. package/.docs/raw/docs/migrations/v0-14.mdx +0 -297
  210. package/.docs/raw/docs/migrations/v0-15.mdx +0 -270
  211. package/.docs/raw/docs/primitives/action-bar.mdx +0 -352
  212. package/.docs/raw/docs/primitives/assistant-modal.mdx +0 -216
  213. package/.docs/raw/docs/primitives/attachment.mdx +0 -217
  214. package/.docs/raw/docs/primitives/branch-picker.mdx +0 -222
  215. package/.docs/raw/docs/primitives/chain-of-thought.mdx +0 -315
  216. package/.docs/raw/docs/primitives/composer.mdx +0 -659
  217. package/.docs/raw/docs/primitives/error.mdx +0 -142
  218. package/.docs/raw/docs/primitives/index.mdx +0 -99
  219. package/.docs/raw/docs/primitives/message.mdx +0 -618
  220. package/.docs/raw/docs/primitives/selection-toolbar.mdx +0 -191
  221. package/.docs/raw/docs/primitives/suggestion.mdx +0 -254
  222. package/.docs/raw/docs/primitives/thread-list.mdx +0 -467
  223. package/.docs/raw/docs/primitives/thread.mdx +0 -509
  224. package/.docs/raw/docs/react-native/adapters.mdx +0 -94
  225. package/.docs/raw/docs/react-native/custom-backend.mdx +0 -207
  226. package/.docs/raw/docs/react-native/hooks.mdx +0 -339
  227. package/.docs/raw/docs/react-native/index.mdx +0 -289
  228. package/.docs/raw/docs/react-native/migration.mdx +0 -142
  229. package/.docs/raw/docs/react-native/primitives.mdx +0 -839
  230. package/.docs/raw/docs/runtimes/a2a/client-and-hooks.mdx +0 -399
  231. package/.docs/raw/docs/runtimes/a2a/overview.mdx +0 -60
  232. package/.docs/raw/docs/runtimes/a2a/quickstart.mdx +0 -216
  233. package/.docs/raw/docs/runtimes/ag-ui/agent-state.mdx +0 -124
  234. package/.docs/raw/docs/runtimes/ag-ui/overview.mdx +0 -70
  235. package/.docs/raw/docs/runtimes/ag-ui/quickstart.mdx +0 -243
  236. package/.docs/raw/docs/runtimes/ag-ui/runtime-options.mdx +0 -255
  237. package/.docs/raw/docs/runtimes/ai-sdk/overview.mdx +0 -61
  238. package/.docs/raw/docs/runtimes/ai-sdk/v4-legacy.mdx +0 -122
  239. package/.docs/raw/docs/runtimes/ai-sdk/v5-legacy.mdx +0 -135
  240. package/.docs/raw/docs/runtimes/ai-sdk/v6-legacy.mdx +0 -636
  241. package/.docs/raw/docs/runtimes/ai-sdk/v7.mdx +0 -716
  242. package/.docs/raw/docs/runtimes/claude-managed-agents.mdx +0 -118
  243. package/.docs/raw/docs/runtimes/concepts/adapters.mdx +0 -265
  244. package/.docs/raw/docs/runtimes/concepts/architecture.mdx +0 -167
  245. package/.docs/raw/docs/runtimes/concepts/stability.mdx +0 -68
  246. package/.docs/raw/docs/runtimes/concepts/threads.mdx +0 -513
  247. package/.docs/raw/docs/runtimes/custom/assistant-transport.mdx +0 -763
  248. package/.docs/raw/docs/runtimes/custom/data-stream.mdx +0 -339
  249. package/.docs/raw/docs/runtimes/custom/external-store.mdx +0 -957
  250. package/.docs/raw/docs/runtimes/custom/local-runtime.mdx +0 -902
  251. package/.docs/raw/docs/runtimes/custom/overview.mdx +0 -71
  252. package/.docs/raw/docs/runtimes/eve/overview.mdx +0 -151
  253. package/.docs/raw/docs/runtimes/eve/quickstart.mdx +0 -192
  254. package/.docs/raw/docs/runtimes/google-adk/api.mdx +0 -256
  255. package/.docs/raw/docs/runtimes/google-adk/hooks.mdx +0 -784
  256. package/.docs/raw/docs/runtimes/google-adk/overview.mdx +0 -69
  257. package/.docs/raw/docs/runtimes/google-adk/quickstart.mdx +0 -229
  258. package/.docs/raw/docs/runtimes/langchain.mdx +0 -901
  259. package/.docs/raw/docs/runtimes/langgraph/agent-state.mdx +0 -181
  260. package/.docs/raw/docs/runtimes/langgraph/generative-ui.mdx +0 -305
  261. package/.docs/raw/docs/runtimes/langgraph/interrupts.mdx +0 -104
  262. package/.docs/raw/docs/runtimes/langgraph/overview.mdx +0 -84
  263. package/.docs/raw/docs/runtimes/langgraph/quickstart.mdx +0 -496
  264. package/.docs/raw/docs/runtimes/langgraph/streaming.mdx +0 -144
  265. package/.docs/raw/docs/runtimes/langgraph/threads.mdx +0 -113
  266. package/.docs/raw/docs/runtimes/langgraph/tutorial/introduction.mdx +0 -29
  267. package/.docs/raw/docs/runtimes/langgraph/tutorial/part-1.mdx +0 -93
  268. package/.docs/raw/docs/runtimes/langgraph/tutorial/part-2.mdx +0 -347
  269. package/.docs/raw/docs/runtimes/langgraph/tutorial/part-3.mdx +0 -393
  270. package/.docs/raw/docs/runtimes/opencode/hooks.mdx +0 -194
  271. package/.docs/raw/docs/runtimes/opencode/overview.mdx +0 -58
  272. package/.docs/raw/docs/runtimes/opencode/quickstart.mdx +0 -119
  273. package/.docs/raw/docs/runtimes/pick-a-runtime.mdx +0 -133
  274. package/.docs/raw/docs/tools/a2ui.mdx +0 -107
  275. package/.docs/raw/docs/tools/backend.mdx +0 -147
  276. package/.docs/raw/docs/tools/defining-tools.mdx +0 -574
  277. package/.docs/raw/docs/tools/dynamic-tools.mdx +0 -112
  278. package/.docs/raw/docs/tools/generative-ui-primitive.mdx +0 -180
  279. package/.docs/raw/docs/tools/generative-ui-slack.mdx +0 -167
  280. package/.docs/raw/docs/tools/generative-ui-teams.mdx +0 -160
  281. package/.docs/raw/docs/tools/generative-ui.mdx +0 -322
  282. package/.docs/raw/docs/tools/index.mdx +0 -72
  283. package/.docs/raw/docs/tools/interactables.mdx +0 -1084
  284. package/.docs/raw/docs/tools/mcp-apps.mdx +0 -346
  285. package/.docs/raw/docs/tools/mcp.mdx +0 -466
  286. package/.docs/raw/docs/tools/multi-agent.mdx +0 -237
  287. package/.docs/raw/docs/tools/openui.mdx +0 -175
  288. package/.docs/raw/docs/tools/tool-ui.mdx +0 -1008
  289. package/.docs/raw/docs/tools/user-managed-mcp.mdx +0 -428
  290. package/.docs/raw/docs/ui/accordion.mdx +0 -266
  291. package/.docs/raw/docs/ui/assistant-modal.mdx +0 -166
  292. package/.docs/raw/docs/ui/assistant-sidebar.mdx +0 -89
  293. package/.docs/raw/docs/ui/attachment.mdx +0 -259
  294. package/.docs/raw/docs/ui/badge.mdx +0 -150
  295. package/.docs/raw/docs/ui/composer-trigger-popover.mdx +0 -212
  296. package/.docs/raw/docs/ui/context-display.mdx +0 -148
  297. package/.docs/raw/docs/ui/diff-viewer.mdx +0 -280
  298. package/.docs/raw/docs/ui/directive-text.mdx +0 -114
  299. package/.docs/raw/docs/ui/dot-matrix.mdx +0 -133
  300. package/.docs/raw/docs/ui/file.mdx +0 -159
  301. package/.docs/raw/docs/ui/follow-up-suggestions.mdx +0 -82
  302. package/.docs/raw/docs/ui/image.mdx +0 -102
  303. package/.docs/raw/docs/ui/markdown.mdx +0 -64
  304. package/.docs/raw/docs/ui/mcp-config.mdx +0 -107
  305. package/.docs/raw/docs/ui/mermaid.mdx +0 -92
  306. package/.docs/raw/docs/ui/message-timing.mdx +0 -93
  307. package/.docs/raw/docs/ui/model-selector.mdx +0 -455
  308. package/.docs/raw/docs/ui/number-roll.mdx +0 -154
  309. package/.docs/raw/docs/ui/part-grouping.mdx +0 -614
  310. package/.docs/raw/docs/ui/quote.mdx +0 -211
  311. package/.docs/raw/docs/ui/reasoning.mdx +0 -186
  312. package/.docs/raw/docs/ui/scrollbar.mdx +0 -77
  313. package/.docs/raw/docs/ui/select.mdx +0 -254
  314. package/.docs/raw/docs/ui/sources.mdx +0 -177
  315. package/.docs/raw/docs/ui/streamdown.mdx +0 -392
  316. package/.docs/raw/docs/ui/syntax-highlighting.mdx +0 -205
  317. package/.docs/raw/docs/ui/tabs.mdx +0 -271
  318. package/.docs/raw/docs/ui/thread-list.mdx +0 -372
  319. package/.docs/raw/docs/ui/thread.mdx +0 -512
  320. package/.docs/raw/docs/ui/tool-fallback.mdx +0 -127
  321. package/.docs/raw/docs/ui/tool-group.mdx +0 -240
  322. package/.docs/raw/docs/ui/voice.mdx +0 -173
  323. package/.docs/raw/docs/utilities/heat-graph.mdx +0 -237
  324. package/.docs/raw/docs/utilities/react-o11y.mdx +0 -362
  325. package/.docs/raw/docs/utilities/tw-shimmer.mdx +0 -212
  326. package/dist/constants.d.ts +0 -14
  327. package/dist/constants.d.ts.map +0 -1
  328. package/dist/constants.js +0 -19
  329. package/dist/constants.js.map +0 -1
  330. package/dist/prepare-docs/code-examples.d.ts +0 -5
  331. package/dist/prepare-docs/code-examples.d.ts.map +0 -1
  332. package/dist/prepare-docs/code-examples.js +0 -117
  333. package/dist/prepare-docs/code-examples.js.map +0 -1
  334. package/dist/prepare-docs/copy-raw.d.ts +0 -5
  335. package/dist/prepare-docs/copy-raw.d.ts.map +0 -1
  336. package/dist/prepare-docs/copy-raw.js +0 -49
  337. package/dist/prepare-docs/copy-raw.js.map +0 -1
  338. package/dist/prepare-docs/prepare.d.ts +0 -1
  339. package/dist/prepare-docs/prepare.js +0 -22
  340. package/dist/prepare-docs/prepare.js.map +0 -1
  341. package/dist/prompts/xulux-playground.d.ts +0 -12
  342. package/dist/prompts/xulux-playground.d.ts.map +0 -1
  343. package/dist/prompts/xulux-playground.js +0 -33
  344. package/dist/prompts/xulux-playground.js.map +0 -1
  345. package/dist/tools/docs.d.ts +0 -22
  346. package/dist/tools/docs.d.ts.map +0 -1
  347. package/dist/tools/docs.js +0 -177
  348. package/dist/tools/docs.js.map +0 -1
  349. package/dist/tools/examples.d.ts +0 -24
  350. package/dist/tools/examples.d.ts.map +0 -1
  351. package/dist/tools/examples.js +0 -87
  352. package/dist/tools/examples.js.map +0 -1
  353. package/dist/tools/resources.d.ts +0 -6
  354. package/dist/tools/resources.d.ts.map +0 -1
  355. package/dist/tools/resources.js +0 -75
  356. package/dist/tools/resources.js.map +0 -1
  357. package/dist/tools/search.d.ts +0 -24
  358. package/dist/tools/search.d.ts.map +0 -1
  359. package/dist/tools/search.js +0 -39
  360. package/dist/tools/search.js.map +0 -1
  361. package/dist/tools/tests/mcp-test-client.d.ts +0 -15
  362. package/dist/tools/tests/mcp-test-client.d.ts.map +0 -1
  363. package/dist/tools/tests/mcp-test-client.js +0 -68
  364. package/dist/tools/tests/mcp-test-client.js.map +0 -1
  365. package/dist/tools/tests/test-setup.d.ts +0 -7
  366. package/dist/tools/tests/test-setup.d.ts.map +0 -1
  367. package/dist/tools/tests/test-setup.js +0 -36
  368. package/dist/tools/tests/test-setup.js.map +0 -1
  369. package/dist/tools/xulux-templates.d.ts +0 -58
  370. package/dist/tools/xulux-templates.d.ts.map +0 -1
  371. package/dist/tools/xulux-templates.js +0 -84
  372. package/dist/tools/xulux-templates.js.map +0 -1
  373. package/dist/utils/cache.d.ts +0 -5
  374. package/dist/utils/cache.d.ts.map +0 -1
  375. package/dist/utils/cache.js +0 -18
  376. package/dist/utils/cache.js.map +0 -1
  377. package/dist/utils/logger.d.ts +0 -10
  378. package/dist/utils/logger.d.ts.map +0 -1
  379. package/dist/utils/logger.js +0 -20
  380. package/dist/utils/logger.js.map +0 -1
  381. package/dist/utils/mcp-format.d.ts +0 -11
  382. package/dist/utils/mcp-format.d.ts.map +0 -1
  383. package/dist/utils/mcp-format.js +0 -14
  384. package/dist/utils/mcp-format.js.map +0 -1
  385. package/dist/utils/mdx.d.ts +0 -12
  386. package/dist/utils/mdx.d.ts.map +0 -1
  387. package/dist/utils/mdx.js +0 -45
  388. package/dist/utils/mdx.js.map +0 -1
  389. package/dist/utils/paths.d.ts +0 -12
  390. package/dist/utils/paths.d.ts.map +0 -1
  391. package/dist/utils/paths.js +0 -93
  392. package/dist/utils/paths.js.map +0 -1
  393. package/dist/utils/search.d.ts +0 -10
  394. package/dist/utils/search.d.ts.map +0 -1
  395. package/dist/utils/search.js +0 -97
  396. package/dist/utils/search.js.map +0 -1
  397. package/dist/utils/security.d.ts +0 -5
  398. package/dist/utils/security.d.ts.map +0 -1
  399. package/dist/utils/security.js +0 -22
  400. package/dist/utils/security.js.map +0 -1
  401. package/dist/xulux/catalog-client.d.ts +0 -14
  402. package/dist/xulux/catalog-client.d.ts.map +0 -1
  403. package/dist/xulux/catalog-client.js +0 -67
  404. package/dist/xulux/catalog-client.js.map +0 -1
  405. package/dist/xulux/fallback-catalog.d.ts +0 -7
  406. package/dist/xulux/fallback-catalog.d.ts.map +0 -1
  407. package/dist/xulux/fallback-catalog.js +0 -47
  408. package/dist/xulux/fallback-catalog.js.map +0 -1
  409. package/dist/xulux/fetch-sandbox.d.ts +0 -5
  410. package/dist/xulux/fetch-sandbox.d.ts.map +0 -1
  411. package/dist/xulux/fetch-sandbox.js +0 -40
  412. package/dist/xulux/fetch-sandbox.js.map +0 -1
  413. package/dist/xulux/template-service.d.ts +0 -84
  414. package/dist/xulux/template-service.d.ts.map +0 -1
  415. package/dist/xulux/template-service.js +0 -223
  416. package/dist/xulux/template-service.js.map +0 -1
  417. package/dist/xulux/types.d.ts +0 -55
  418. package/dist/xulux/types.d.ts.map +0 -1
  419. package/dist/xulux/types.js +0 -6
  420. package/dist/xulux/types.js.map +0 -1
  421. package/src/constants.ts +0 -24
  422. package/src/prepare-docs/code-examples.ts +0 -158
  423. package/src/prepare-docs/copy-raw.ts +0 -50
  424. package/src/prepare-docs/prepare.ts +0 -24
  425. package/src/prompts/xulux-playground.ts +0 -36
  426. package/src/tools/docs.ts +0 -255
  427. package/src/tools/examples.ts +0 -114
  428. package/src/tools/resources.ts +0 -111
  429. package/src/tools/search.ts +0 -46
  430. package/src/tools/tests/completions.test.ts +0 -60
  431. package/src/tools/tests/directory-size-cap.test.ts +0 -50
  432. package/src/tools/tests/docs.test.ts +0 -144
  433. package/src/tools/tests/examples.test.ts +0 -94
  434. package/src/tools/tests/integration.test.ts +0 -45
  435. package/src/tools/tests/json-parsing.test.ts +0 -23
  436. package/src/tools/tests/listings-cache.test.ts +0 -19
  437. package/src/tools/tests/mcp-protocol.test.ts +0 -216
  438. package/src/tools/tests/mcp-test-client.ts +0 -111
  439. package/src/tools/tests/path-traversal.test.ts +0 -81
  440. package/src/tools/tests/resources.test.ts +0 -133
  441. package/src/tools/tests/search.test.ts +0 -37
  442. package/src/tools/tests/test-setup.ts +0 -50
  443. package/src/tools/tests/xulux-templates.test.ts +0 -262
  444. package/src/tools/xulux-templates.ts +0 -141
  445. package/src/utils/cache.ts +0 -20
  446. package/src/utils/logger.ts +0 -20
  447. package/src/utils/mcp-format.ts +0 -14
  448. package/src/utils/mdx.ts +0 -59
  449. package/src/utils/paths.ts +0 -139
  450. package/src/utils/search.ts +0 -131
  451. package/src/utils/security.ts +0 -52
  452. package/src/utils/tests/cache.test.ts +0 -51
  453. package/src/utils/tests/mcp-format.test.ts +0 -22
  454. package/src/utils/tests/security.test.ts +0 -119
  455. package/src/xulux/catalog-client.ts +0 -105
  456. package/src/xulux/fallback-catalog.ts +0 -63
  457. package/src/xulux/fetch-sandbox.ts +0 -56
  458. package/src/xulux/template-service.ts +0 -406
  459. package/src/xulux/types.ts +0 -60
@@ -1,784 +0,0 @@
1
- ---
2
- title: Hooks
3
- description: Tool confirmations, auth, input requests, artifacts, escalation, metadata, structured events.
4
- ---
5
-
6
- Reference for the runtime's React hooks. These expose ADK-specific state and HITL primitives. Start with [quickstart](/docs/runtimes/google-adk/quickstart) if you have not wired up a basic runtime yet.
7
-
8
- ## Agent and session state
9
-
10
- ```ts
11
- import {
12
- useAdkAgentInfo,
13
- useAdkSessionState,
14
- useAdkSend,
15
- } from "@assistant-ui/react-google-adk";
16
-
17
- function MyComponent() {
18
- // Current active agent name and branch path (multi-agent)
19
- const agentInfo = useAdkAgentInfo();
20
- // agentInfo?.name = "search_agent"
21
- // agentInfo?.branch = "root.search_agent"
22
-
23
- // Accumulated session state delta
24
- const state = useAdkSessionState();
25
-
26
- // Send raw ADK messages programmatically
27
- const send = useAdkSend();
28
- }
29
- ```
30
-
31
- ## Tool confirmations
32
-
33
- When ADK's `SecurityPlugin` or tool callbacks request user confirmation before executing a tool, use `useAdkToolConfirmations` to read pending requests and `useAdkConfirmTool` to respond:
34
-
35
- <PlatformTabs>
36
- <Tab value="React">
37
-
38
- ```tsx
39
- import {
40
- useAdkToolConfirmations,
41
- useAdkConfirmTool,
42
- } from "@assistant-ui/react-google-adk";
43
-
44
- function ToolConfirmationUI() {
45
- const confirmations = useAdkToolConfirmations();
46
- const confirmTool = useAdkConfirmTool();
47
-
48
- if (confirmations.length === 0) return null;
49
-
50
- return confirmations.map((conf) => (
51
- <div key={conf.toolCallId}>
52
- <p>
53
- Tool "{conf.toolName}" wants to run. {conf.hint}
54
- </p>
55
- <button onClick={() => confirmTool(conf.toolCallId, true)}>Approve</button>
56
- <button onClick={() => confirmTool(conf.toolCallId, false)}>Deny</button>
57
- </div>
58
- ));
59
- }
60
- ```
61
-
62
- </Tab>
63
- <Tab value="React Native">
64
-
65
- ```tsx
66
- import {
67
- useAdkToolConfirmations,
68
- useAdkConfirmTool,
69
- } from "@assistant-ui/react-google-adk";
70
- import { Pressable, Text, View } from "react-native";
71
-
72
- function ToolConfirmationUI() {
73
- const confirmations = useAdkToolConfirmations();
74
- const confirmTool = useAdkConfirmTool();
75
-
76
- if (confirmations.length === 0) return null;
77
-
78
- return (
79
- <View>
80
- {confirmations.map((conf) => (
81
- <View key={conf.toolCallId}>
82
- <Text>
83
- Tool "{conf.toolName}" wants to run. {conf.hint}
84
- </Text>
85
- <Pressable onPress={() => confirmTool(conf.toolCallId, true)}>
86
- <Text>Approve</Text>
87
- </Pressable>
88
- <Pressable onPress={() => confirmTool(conf.toolCallId, false)}>
89
- <Text>Deny</Text>
90
- </Pressable>
91
- </View>
92
- ))}
93
- </View>
94
- );
95
- }
96
- ```
97
-
98
- </Tab>
99
- <Tab value="React Ink">
100
-
101
- ```tsx
102
- import {
103
- useAdkToolConfirmations,
104
- useAdkConfirmTool,
105
- } from "@assistant-ui/react-google-adk";
106
- import { Box, Text, useInput } from "ink";
107
-
108
- function ToolConfirmationUI() {
109
- const confirmations = useAdkToolConfirmations();
110
- const confirmTool = useAdkConfirmTool();
111
- const active = confirmations[0];
112
-
113
- useInput((input) => {
114
- if (!active) return;
115
- if (input === "y") confirmTool(active.toolCallId, true);
116
- if (input === "n") confirmTool(active.toolCallId, false);
117
- });
118
-
119
- if (!active) return null;
120
-
121
- return (
122
- <Box flexDirection="column">
123
- <Text>
124
- Tool "{active.toolName}" wants to run. {active.hint}
125
- </Text>
126
- <Text>Press y to approve, n to deny.</Text>
127
- </Box>
128
- );
129
- }
130
- ```
131
-
132
- </Tab>
133
- </PlatformTabs>
134
-
135
- ## Auth requests
136
-
137
- When a tool requires OAuth or other authentication, use `useAdkAuthRequests` to read pending requests and `useAdkSubmitAuth` to submit credentials:
138
-
139
- <PlatformTabs>
140
- <Tab value="React">
141
-
142
- ```tsx
143
- import {
144
- useAdkAuthRequests,
145
- useAdkSubmitAuth,
146
- type AdkAuthCredential,
147
- } from "@assistant-ui/react-google-adk";
148
-
149
- function AuthUI() {
150
- const authRequests = useAdkAuthRequests();
151
- const submitAuth = useAdkSubmitAuth();
152
-
153
- if (authRequests.length === 0) return null;
154
-
155
- return authRequests.map((req) => (
156
- <div key={req.toolCallId}>
157
- <button
158
- onClick={() => {
159
- const credential: AdkAuthCredential = {
160
- authType: "oauth2",
161
- oauth2: { accessToken: "..." },
162
- };
163
- submitAuth(req.toolCallId, credential);
164
- }}
165
- >
166
- Authenticate
167
- </button>
168
- </div>
169
- ));
170
- }
171
- ```
172
-
173
- </Tab>
174
- <Tab value="React Native">
175
-
176
- ```tsx
177
- import {
178
- useAdkAuthRequests,
179
- useAdkSubmitAuth,
180
- type AdkAuthCredential,
181
- } from "@assistant-ui/react-google-adk";
182
- import { Pressable, Text, View } from "react-native";
183
-
184
- function AuthUI() {
185
- const authRequests = useAdkAuthRequests();
186
- const submitAuth = useAdkSubmitAuth();
187
-
188
- if (authRequests.length === 0) return null;
189
-
190
- return (
191
- <View>
192
- {authRequests.map((req) => (
193
- <Pressable
194
- key={req.toolCallId}
195
- onPress={() => {
196
- const credential: AdkAuthCredential = {
197
- authType: "oauth2",
198
- oauth2: { accessToken: "..." },
199
- };
200
- submitAuth(req.toolCallId, credential);
201
- }}
202
- >
203
- <Text>Authenticate</Text>
204
- </Pressable>
205
- ))}
206
- </View>
207
- );
208
- }
209
- ```
210
-
211
- </Tab>
212
- <Tab value="React Ink">
213
-
214
- ```tsx
215
- import {
216
- useAdkAuthRequests,
217
- useAdkSubmitAuth,
218
- type AdkAuthCredential,
219
- } from "@assistant-ui/react-google-adk";
220
- import { Box, Text, useInput } from "ink";
221
-
222
- function AuthUI() {
223
- const authRequests = useAdkAuthRequests();
224
- const submitAuth = useAdkSubmitAuth();
225
- const active = authRequests[0];
226
-
227
- useInput((input) => {
228
- if (!active || input !== "a") return;
229
- const credential: AdkAuthCredential = {
230
- authType: "oauth2",
231
- oauth2: { accessToken: "..." },
232
- };
233
- submitAuth(active.toolCallId, credential);
234
- });
235
-
236
- if (!active) return null;
237
-
238
- return (
239
- <Box flexDirection="column">
240
- <Text>Authentication required for a tool call.</Text>
241
- <Text>Press a after completing your auth flow.</Text>
242
- </Box>
243
- );
244
- }
245
- ```
246
-
247
- </Tab>
248
- </PlatformTabs>
249
-
250
- `AdkAuthCredential` supports all ADK auth types: `apiKey`, `http`, `oauth2`, `openIdConnect`, `serviceAccount`.
251
-
252
- ## Input requests
253
-
254
- When an ADK Python 2.0+ Workflow's `RequestInput` node pauses execution to ask the user a question, ADK emits an `adk_request_input` function call marked as long-running. Respond with `useAdkSubmitInput` inside a tool UI; the helper wraps the answer as `{ result }` to match ADK's `unwrap_response` contract, so the Workflow node resumes with the unwrapped value:
255
-
256
- <PlatformTabs>
257
- <Tab value="React">
258
-
259
- ```tsx
260
- import type { ToolCallMessagePartComponent } from "@assistant-ui/react";
261
- import { useAdkSubmitInput } from "@assistant-ui/react-google-adk";
262
-
263
- type RequestInputArgs = {
264
- interrupt_id?: string;
265
- message?: string;
266
- payload?: unknown;
267
- response_schema?: unknown;
268
- };
269
-
270
- export const RequestInputToolUI: ToolCallMessagePartComponent<
271
- RequestInputArgs,
272
- unknown
273
- > = function RequestInputUI({ toolCallId, args, result }) {
274
- const submitInput = useAdkSubmitInput();
275
-
276
- if (result !== undefined) {
277
- return <p>Answered: {String(result)}</p>;
278
- }
279
-
280
- return (
281
- <form
282
- onSubmit={(e) => {
283
- e.preventDefault();
284
- const value = (
285
- e.currentTarget.elements.namedItem("answer") as HTMLInputElement
286
- ).value;
287
- submitInput(toolCallId, value);
288
- }}
289
- >
290
- <p>{args.message ?? "Please provide input:"}</p>
291
- <input name="answer" autoFocus />
292
- <button type="submit">Submit</button>
293
- </form>
294
- );
295
- };
296
- ```
297
-
298
- </Tab>
299
- <Tab value="React Native">
300
-
301
- ```tsx
302
- import type { ToolCallMessagePartComponent } from "@assistant-ui/react-native";
303
- import { useAdkSubmitInput } from "@assistant-ui/react-google-adk";
304
- import { useState } from "react";
305
- import { Pressable, Text, TextInput, View } from "react-native";
306
-
307
- type RequestInputArgs = {
308
- interrupt_id?: string;
309
- message?: string;
310
- payload?: unknown;
311
- response_schema?: unknown;
312
- };
313
-
314
- export const RequestInputToolUI: ToolCallMessagePartComponent<
315
- RequestInputArgs,
316
- unknown
317
- > = function RequestInputUI({ toolCallId, args, result }) {
318
- const submitInput = useAdkSubmitInput();
319
- const [value, setValue] = useState("");
320
-
321
- if (result !== undefined) {
322
- return <Text>Answered: {String(result)}</Text>;
323
- }
324
-
325
- return (
326
- <View>
327
- <Text>{args.message ?? "Please provide input:"}</Text>
328
- <TextInput value={value} onChangeText={setValue} autoFocus />
329
- <Pressable onPress={() => submitInput(toolCallId, value)}>
330
- <Text>Submit</Text>
331
- </Pressable>
332
- </View>
333
- );
334
- };
335
- ```
336
-
337
- </Tab>
338
- <Tab value="React Ink">
339
-
340
- ```tsx
341
- import type { ToolCallMessagePartComponent } from "@assistant-ui/react-ink";
342
- import { useAdkSubmitInput } from "@assistant-ui/react-google-adk";
343
- import { useState } from "react";
344
- import { Box, Text, useInput } from "ink";
345
-
346
- type RequestInputArgs = {
347
- interrupt_id?: string;
348
- message?: string;
349
- payload?: unknown;
350
- response_schema?: unknown;
351
- };
352
-
353
- export const RequestInputToolUI: ToolCallMessagePartComponent<
354
- RequestInputArgs,
355
- unknown
356
- > = function RequestInputUI({ toolCallId, args, result }) {
357
- const submitInput = useAdkSubmitInput();
358
- const [value, setValue] = useState("");
359
-
360
- useInput((input, key) => {
361
- if (result !== undefined) return;
362
- if (key.return) submitInput(toolCallId, value);
363
- else if (key.backspace || key.delete) setValue((text) => text.slice(0, -1));
364
- else if (input) setValue((text) => text + input);
365
- });
366
-
367
- if (result !== undefined) {
368
- return <Text>Answered: {String(result)}</Text>;
369
- }
370
-
371
- return (
372
- <Box flexDirection="column">
373
- <Text>{args.message ?? "Please provide input:"}</Text>
374
- <Text>{value}</Text>
375
- <Text dimColor>Press enter to submit.</Text>
376
- </Box>
377
- );
378
- };
379
- ```
380
-
381
- </Tab>
382
- </PlatformTabs>
383
-
384
- Register the renderer with a backend toolkit entry inside `AssistantRuntimeProvider`:
385
-
386
- <PlatformTabs>
387
- <Tab value="React">
388
-
389
- ```tsx
390
- import {
391
- AssistantRuntimeProvider,
392
- AuiConfig,
393
- defineToolkit,
394
- Tools,
395
- } from "@assistant-ui/react";
396
- import {
397
- createAdkStream,
398
- useAdkRuntime,
399
- } from "@assistant-ui/react-google-adk";
400
- import { Thread } from "@/components/assistant-ui/thread";
401
-
402
- const toolkit = defineToolkit({
403
- adk_request_input: {
404
- type: "backend",
405
- render: RequestInputToolUI,
406
- },
407
- });
408
-
409
- function App() {
410
- const runtime = useAdkRuntime({
411
- stream: createAdkStream({ api: "/api/chat" }),
412
- });
413
- const config = AuiConfig({ tools: Tools({ toolkit }) });
414
- return (
415
- <AssistantRuntimeProvider runtime={runtime} config={config}>
416
- <Thread />
417
- </AssistantRuntimeProvider>
418
- );
419
- }
420
- ```
421
-
422
- </Tab>
423
- <Tab value="React Native">
424
-
425
- ```tsx
426
- import {
427
- AssistantRuntimeProvider,
428
- AuiConfig,
429
- defineToolkit,
430
- Tools,
431
- } from "@assistant-ui/react-native";
432
- import {
433
- createAdkStream,
434
- useAdkRuntime,
435
- } from "@assistant-ui/react-google-adk";
436
- import { View } from "react-native";
437
- import { Thread } from "@/components/assistant-ui/thread";
438
-
439
- const API_URL = process.env.EXPO_PUBLIC_API_URL ?? "http://localhost:3000";
440
-
441
- const toolkit = defineToolkit({
442
- adk_request_input: {
443
- type: "backend",
444
- render: RequestInputToolUI,
445
- },
446
- });
447
-
448
- function App() {
449
- const runtime = useAdkRuntime({
450
- stream: createAdkStream({ api: `${API_URL}/api/chat` }),
451
- });
452
- const config = AuiConfig({ tools: Tools({ toolkit }) });
453
- return (
454
- <AssistantRuntimeProvider runtime={runtime} config={config}>
455
- <View style={{ flex: 1 }}>
456
- <Thread />
457
- </View>
458
- </AssistantRuntimeProvider>
459
- );
460
- }
461
- ```
462
-
463
- </Tab>
464
- <Tab value="React Ink">
465
-
466
- ```tsx
467
- import {
468
- AssistantRuntimeProvider,
469
- AuiConfig,
470
- defineToolkit,
471
- Tools,
472
- } from "@assistant-ui/react-ink";
473
- import {
474
- createAdkStream,
475
- useAdkRuntime,
476
- } from "@assistant-ui/react-google-adk";
477
- import { Box } from "ink";
478
- import { Thread } from "./components/thread.js";
479
-
480
- const toolkit = defineToolkit({
481
- adk_request_input: {
482
- type: "backend",
483
- render: RequestInputToolUI,
484
- },
485
- });
486
-
487
- function App() {
488
- const runtime = useAdkRuntime({
489
- stream: createAdkStream({ api: "http://localhost:3000/api/chat" }),
490
- });
491
- const config = AuiConfig({ tools: Tools({ toolkit }) });
492
- return (
493
- <AssistantRuntimeProvider runtime={runtime} config={config}>
494
- <Box flexDirection="column">
495
- <Thread />
496
- </Box>
497
- </AssistantRuntimeProvider>
498
- );
499
- }
500
- ```
501
-
502
- </Tab>
503
- </PlatformTabs>
504
-
505
- <Callout type="info">
506
- `adk_request_input` is emitted only by ADK Python 2.0+ Workflow `RequestInput` nodes; ADK JS has no equivalent. Always respond via a tool UI with `useAdkSubmitInput`. HITL interrupts are automatically exempt from `autoCancelPendingToolCalls`, so typing a normal message in the composer will not overwrite the pending interrupt.
507
- </Callout>
508
-
509
- `useAdkSubmitInput` is sugar over the generic `addResult`. If you prefer, call `addResult({ result: value })` from inside the render function directly. The `{ result }` wrapper is required either way: the adapter JSON-stringifies the value before sending, and ADK's `unwrap_response` unwraps it on the backend before the Workflow node resumes.
510
-
511
- ## Artifacts
512
-
513
- Track file artifacts created or modified by the agent:
514
-
515
- ```ts
516
- import { useAdkArtifacts } from "@assistant-ui/react-google-adk";
517
-
518
- function ArtifactList() {
519
- const artifacts = useAdkArtifacts();
520
- // Record<string, number> — filename to version number
521
- }
522
- ```
523
-
524
- ### Artifact fetching
525
-
526
- When using `createAdkSessionAdapter` (see [api reference](/docs/runtimes/google-adk/api#direct-adk-server-connection)), the returned `artifacts` object provides functions to fetch artifact content from the ADK server:
527
-
528
- ```ts
529
- const { artifacts } = createAdkSessionAdapter({ apiUrl, appName, userId });
530
-
531
- // List all artifact filenames in a session
532
- const filenames = await artifacts.list(sessionId);
533
-
534
- // Load artifact content (latest version)
535
- const data = await artifacts.load(sessionId, "document.pdf");
536
- // data.inlineData?.data — base64 content
537
- // data.inlineData?.mimeType — MIME type
538
- // data.text — text content (if text artifact)
539
-
540
- // Load a specific version
541
- const v1 = await artifacts.load(sessionId, "document.pdf", 1);
542
-
543
- // List all versions
544
- const versions = await artifacts.listVersions(sessionId, "document.pdf");
545
-
546
- // Delete an artifact
547
- await artifacts.delete(sessionId, "document.pdf");
548
- ```
549
-
550
- ## Escalation
551
-
552
- Detect when an agent requests escalation to a human operator:
553
-
554
- <PlatformTabs>
555
- <Tab value="React">
556
-
557
- ```tsx
558
- import { useAdkEscalation } from "@assistant-ui/react-google-adk";
559
-
560
- function EscalationBanner() {
561
- const escalated = useAdkEscalation();
562
- if (!escalated) return null;
563
- return <div>Agent has requested human assistance.</div>;
564
- }
565
- ```
566
-
567
- </Tab>
568
- <Tab value="React Native">
569
-
570
- ```tsx
571
- import { useAdkEscalation } from "@assistant-ui/react-google-adk";
572
- import { Text } from "react-native";
573
-
574
- function EscalationBanner() {
575
- const escalated = useAdkEscalation();
576
- if (!escalated) return null;
577
- return <Text>Agent has requested human assistance.</Text>;
578
- }
579
- ```
580
-
581
- </Tab>
582
- <Tab value="React Ink">
583
-
584
- ```tsx
585
- import { useAdkEscalation } from "@assistant-ui/react-google-adk";
586
- import { Text } from "ink";
587
-
588
- function EscalationBanner() {
589
- const escalated = useAdkEscalation();
590
- if (!escalated) return null;
591
- return <Text>Agent has requested human assistance.</Text>;
592
- }
593
- ```
594
-
595
- </Tab>
596
- </PlatformTabs>
597
-
598
- ## Long-running tools
599
-
600
- Track tools that are executing asynchronously and awaiting external input:
601
-
602
- <PlatformTabs>
603
- <Tab value="React">
604
-
605
- ```tsx
606
- import { useAdkLongRunningToolIds } from "@assistant-ui/react-google-adk";
607
-
608
- function PendingToolsIndicator() {
609
- const pendingToolIds = useAdkLongRunningToolIds();
610
- if (pendingToolIds.length === 0) return null;
611
- return <div>{pendingToolIds.length} tool(s) awaiting input</div>;
612
- }
613
- ```
614
-
615
- </Tab>
616
- <Tab value="React Native">
617
-
618
- ```tsx
619
- import { useAdkLongRunningToolIds } from "@assistant-ui/react-google-adk";
620
- import { Text } from "react-native";
621
-
622
- function PendingToolsIndicator() {
623
- const pendingToolIds = useAdkLongRunningToolIds();
624
- if (pendingToolIds.length === 0) return null;
625
- return <Text>{pendingToolIds.length} tool(s) awaiting input</Text>;
626
- }
627
- ```
628
-
629
- </Tab>
630
- <Tab value="React Ink">
631
-
632
- ```tsx
633
- import { useAdkLongRunningToolIds } from "@assistant-ui/react-google-adk";
634
- import { Text } from "ink";
635
-
636
- function PendingToolsIndicator() {
637
- const pendingToolIds = useAdkLongRunningToolIds();
638
- if (pendingToolIds.length === 0) return null;
639
- return <Text>{pendingToolIds.length} tool(s) awaiting input</Text>;
640
- }
641
- ```
642
-
643
- </Tab>
644
- </PlatformTabs>
645
-
646
- This hook reports every tool call ADK marked via `long_running_tool_ids`, including HITL interrupts. To respond to a specific HITL type, see [tool confirmations](#tool-confirmations), [auth requests](#auth-requests), or [input requests](#input-requests).
647
-
648
- ## Per-message metadata
649
-
650
- Access grounding, citation, and token usage metadata per message:
651
-
652
- ```ts
653
- import { useAdkMessageMetadata } from "@assistant-ui/react-google-adk";
654
-
655
- function MessageMetadata({ messageId }: { messageId: string }) {
656
- const metadataMap = useAdkMessageMetadata();
657
- const meta = metadataMap.get(messageId);
658
- // meta?.groundingMetadata — Google Search grounding sources
659
- // meta?.citationMetadata — citation references
660
- // meta?.usageMetadata — token counts
661
- }
662
- ```
663
-
664
- ## Session state by scope
665
-
666
- ADK uses key prefixes to scope state. These helpers filter and strip the prefix:
667
-
668
- ```ts
669
- import {
670
- useAdkAppState,
671
- useAdkUserState,
672
- useAdkTempState,
673
- } from "@assistant-ui/react-google-adk";
674
-
675
- function StateDebug() {
676
- const appState = useAdkAppState(); // app:* keys (app-level, shared)
677
- const userState = useAdkUserState(); // user:* keys (user-level)
678
- const tempState = useAdkTempState(); // temp:* keys (not persisted)
679
- }
680
- ```
681
-
682
- Use `useAdkSessionState()` for the full unfiltered state delta.
683
-
684
- ## Structured events
685
-
686
- Convert raw ADK events into typed, structured events for custom renderers:
687
-
688
- ```ts
689
- import {
690
- toAdkStructuredEvents,
691
- AdkEventType,
692
- type AdkStructuredEvent,
693
- } from "@assistant-ui/react-google-adk";
694
-
695
- const structured = toAdkStructuredEvents(event);
696
- for (const e of structured) {
697
- switch (e.type) {
698
- case AdkEventType.CONTENT:
699
- console.log("Text:", e.content);
700
- break;
701
- case AdkEventType.THOUGHT:
702
- console.log("Reasoning:", e.content);
703
- break;
704
- case AdkEventType.TOOL_CALL:
705
- console.log("Tool:", e.call.name, e.call.args);
706
- break;
707
- case AdkEventType.ERROR:
708
- console.error(e.errorMessage);
709
- break;
710
- }
711
- }
712
- ```
713
-
714
- ## Hooks reference
715
-
716
- | Hook | Description |
717
- | --- | --- |
718
- | `useAdkAgentInfo()` | Current agent name and branch path. |
719
- | `useAdkSessionState()` | Full accumulated session state delta. |
720
- | `useAdkAppState()` | App-level state (`app:*` prefix, stripped). |
721
- | `useAdkUserState()` | User-level state (`user:*` prefix, stripped). |
722
- | `useAdkTempState()` | Temp state (`temp:*` prefix, stripped, not persisted). |
723
- | `useAdkSend()` | Send raw ADK messages. |
724
- | `useAdkConfirmTool()` | Confirm or deny a pending tool confirmation. |
725
- | `useAdkSubmitAuth()` | Submit auth credentials for a pending auth request. |
726
- | `useAdkSubmitInput()` | Submit the user's answer for a pending `adk_request_input` HITL interrupt. |
727
- | `useAdkToolConfirmations()` | Pending tool confirmation requests. |
728
- | `useAdkAuthRequests()` | Pending auth credential requests. |
729
- | `useAdkLongRunningToolIds()` | IDs of long-running tools awaiting input. |
730
- | `useAdkArtifacts()` | Artifact delta (filename → version). |
731
- | `useAdkEscalation()` | Whether escalation was requested. |
732
- | `useAdkMessageMetadata()` | Per-message grounding, citation, and usage metadata. |
733
-
734
- ## Feature support
735
-
736
- | Feature | Status |
737
- | --- | --- |
738
- | Streaming text (SSE) | Supported |
739
- | Tool calls and results | Supported |
740
- | Tool confirmations (`useAdkConfirmTool`) | Supported |
741
- | Auth credential flow (`useAdkSubmitAuth`) | Supported |
742
- | Workflow input requests (`useAdkSubmitInput`, ADK Python 2.0+) | Supported |
743
- | Multi-agent (author and branch tracking) | Supported |
744
- | Agent transfer events | Supported |
745
- | Escalation detection | Supported |
746
- | Chain-of-thought / reasoning | Supported |
747
- | Code execution (executableCode + result) | Supported |
748
- | Inline images and file data | Supported |
749
- | Session state delta + scoped state | Supported |
750
- | Artifact delta tracking + fetching | Supported |
751
- | Long-running tools (HITL) | Supported |
752
- | Grounding / citation / usage metadata | Supported |
753
- | Structured events (`toAdkStructuredEvents`) | Supported |
754
- | Typed `AdkRunConfig` | Supported |
755
- | Client → server `stateDelta` | Supported |
756
- | `finishReason` mapping (17 values) | Supported |
757
- | `interrupted` event handling | Supported |
758
- | Snake_case events (Python ADK) | Supported |
759
- | Cloud thread persistence | Supported |
760
- | ADK session-backed thread persistence | Supported |
761
- | Direct ADK server connection (no proxy) | Supported |
762
- | One-liner API route (`createAdkApiRoute`) | Supported |
763
- | Message editing and regeneration | Supported |
764
- | Automatic tool invocations | Supported |
765
-
766
- ## Related
767
-
768
- <Cards>
769
- <Card
770
- title="API reference"
771
- description="createAdkStream, server helpers, session adapter, threads."
772
- href="/docs/runtimes/google-adk/api"
773
- />
774
- <Card
775
- title="Quickstart"
776
- description="Minimal API route + client setup."
777
- href="/docs/runtimes/google-adk/quickstart"
778
- />
779
- <Card
780
- title="Adapters"
781
- description="Attachments, speech, feedback, history, threads."
782
- href="/docs/runtimes/concepts/adapters"
783
- />
784
- </Cards>