@google/adk 0.6.1 → 1.1.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 (415) hide show
  1. package/dist/cjs/agents/base_agent.js +11 -2
  2. package/dist/cjs/agents/context.js +1 -0
  3. package/dist/cjs/agents/functions.js +1 -0
  4. package/dist/cjs/agents/invocation_context.js +1 -0
  5. package/dist/cjs/agents/llm_agent.js +70 -13
  6. package/dist/cjs/agents/loop_agent.js +4 -0
  7. package/dist/cjs/agents/parallel_agent.js +4 -0
  8. package/dist/cjs/agents/processors/code_execution_request_processor.js +2 -0
  9. package/dist/cjs/agents/processors/context_compactor_request_processor.js +9 -0
  10. package/dist/cjs/agents/processors/tool_filter_request_processor.js +73 -0
  11. package/dist/cjs/agents/routed_agent.js +97 -0
  12. package/dist/cjs/auth/auth_handler.js +66 -1
  13. package/dist/cjs/auth/auth_preprocessor.js +178 -0
  14. package/dist/cjs/auth/auth_provider_registry.js +61 -0
  15. package/dist/cjs/auth/base_auth_provider.js +27 -0
  16. package/dist/cjs/auth/credential_service/session_state_credential_service.js +51 -0
  17. package/dist/cjs/auth/oauth2/oauth2_credential_exchanger.js +198 -0
  18. package/dist/cjs/auth/oauth2/oauth2_credential_refresher.js +109 -0
  19. package/dist/cjs/auth/oauth2/oauth2_discovery.js +186 -0
  20. package/dist/cjs/auth/oauth2/oauth2_utils.js +119 -0
  21. package/dist/cjs/auth/refresher/base_credential_refresher.js +44 -0
  22. package/dist/cjs/auth/refresher/credential_refresher_registry.js +68 -0
  23. package/dist/cjs/code_executors/base_code_executor.js +9 -5
  24. package/dist/cjs/code_executors/code_execution_utils.js +19 -0
  25. package/dist/cjs/code_executors/unsafe_local_code_executor.js +241 -0
  26. package/dist/cjs/common.js +69 -0
  27. package/dist/cjs/features/feature_registry.js +141 -0
  28. package/dist/cjs/index.js +83 -113
  29. package/dist/cjs/models/apigee_llm.js +2 -2
  30. package/dist/cjs/models/google_llm.js +18 -53
  31. package/dist/cjs/models/routed_llm.js +99 -0
  32. package/dist/cjs/plugins/base_plugin.js +39 -2
  33. package/dist/cjs/plugins/plugin_manager.js +39 -0
  34. package/dist/cjs/runner/runner.js +31 -3
  35. package/dist/cjs/sessions/db/operations.js +3 -10
  36. package/dist/cjs/skills/loader.js +283 -0
  37. package/dist/cjs/skills/prompt.js +58 -0
  38. package/dist/cjs/skills/skill.js +78 -0
  39. package/dist/cjs/tools/agent_tool.js +11 -4
  40. package/dist/cjs/tools/mcp/mcp_tool.js +7 -3
  41. package/dist/cjs/tools/mcp/mcp_toolset.js +1 -1
  42. package/dist/cjs/tools/skill/list_skills_tool.js +76 -0
  43. package/dist/cjs/tools/skill/load_skill_resource_tool.js +225 -0
  44. package/dist/cjs/tools/skill/load_skill_tool.js +108 -0
  45. package/dist/cjs/tools/skill/run_skill_inline_script_tool.js +146 -0
  46. package/dist/cjs/tools/skill/run_skill_script_tool.js +224 -0
  47. package/dist/cjs/tools/skill/skill_toolset.js +163 -0
  48. package/dist/cjs/tools/url_context_tool.js +73 -0
  49. package/dist/cjs/tools/vertex_ai_search_tool.js +127 -0
  50. package/dist/cjs/utils/experimental.js +74 -0
  51. package/dist/cjs/utils/failover_utils.js +93 -0
  52. package/dist/cjs/utils/file_extension_utils.js +77 -0
  53. package/dist/cjs/utils/file_utils.js +94 -0
  54. package/dist/cjs/utils/model_name.js +8 -2
  55. package/dist/cjs/utils/streaming_utils.js +333 -0
  56. package/dist/cjs/version.js +1 -1
  57. package/dist/esm/a2a/a2a_event.js +2 -0
  58. package/dist/esm/a2a/a2a_remote_agent.js +2 -0
  59. package/dist/esm/a2a/a2a_remote_agent_run_processor.js +2 -0
  60. package/dist/esm/a2a/a2a_remote_agent_utils.js +2 -0
  61. package/dist/esm/a2a/agent_card.js +2 -0
  62. package/dist/esm/a2a/agent_executor.js +2 -0
  63. package/dist/esm/a2a/agent_to_a2a.js +2 -0
  64. package/dist/esm/a2a/event_converter_utils.js +2 -0
  65. package/dist/esm/a2a/event_processor_utils.js +2 -0
  66. package/dist/esm/a2a/executor_context.js +2 -0
  67. package/dist/esm/a2a/metadata_converter_utils.js +2 -0
  68. package/dist/esm/a2a/part_converter_utils.js +2 -0
  69. package/dist/esm/agents/active_streaming_tool.js +2 -0
  70. package/dist/esm/agents/base_agent.js +13 -2
  71. package/dist/esm/agents/context.js +3 -0
  72. package/dist/esm/agents/functions.js +3 -0
  73. package/dist/esm/agents/instructions.js +2 -0
  74. package/dist/esm/agents/invocation_context.js +3 -0
  75. package/dist/esm/agents/live_request_queue.js +2 -0
  76. package/dist/esm/agents/llm_agent.js +72 -13
  77. package/dist/esm/agents/loop_agent.js +6 -0
  78. package/dist/esm/agents/parallel_agent.js +6 -0
  79. package/dist/esm/agents/processors/agent_transfer_llm_request_processor.js +2 -0
  80. package/dist/esm/agents/processors/base_llm_processor.js +2 -0
  81. package/dist/esm/agents/processors/basic_llm_request_processor.js +2 -0
  82. package/dist/esm/agents/processors/code_execution_request_processor.js +5 -0
  83. package/dist/esm/agents/processors/content_processor_utils.js +2 -0
  84. package/dist/esm/agents/processors/content_request_processor.js +2 -0
  85. package/dist/esm/agents/processors/context_compactor_request_processor.js +11 -0
  86. package/dist/esm/agents/processors/identity_llm_request_processor.js +2 -0
  87. package/dist/esm/agents/processors/instructions_llm_request_processor.js +2 -0
  88. package/dist/esm/agents/processors/request_confirmation_llm_request_processor.js +2 -0
  89. package/dist/esm/agents/processors/tool_filter_request_processor.js +44 -0
  90. package/dist/esm/agents/readonly_context.js +2 -0
  91. package/dist/esm/agents/routed_agent.js +70 -0
  92. package/dist/esm/agents/run_config.js +2 -0
  93. package/dist/esm/agents/sequential_agent.js +2 -0
  94. package/dist/esm/agents/transcription_entry.js +2 -0
  95. package/dist/esm/artifacts/base_artifact_service.js +2 -0
  96. package/dist/esm/artifacts/file_artifact_service.js +2 -0
  97. package/dist/esm/artifacts/gcs_artifact_service.js +2 -0
  98. package/dist/esm/artifacts/in_memory_artifact_service.js +2 -0
  99. package/dist/esm/artifacts/registry.js +2 -0
  100. package/dist/esm/auth/auth_credential.js +2 -0
  101. package/dist/esm/auth/auth_handler.js +68 -1
  102. package/dist/esm/auth/auth_preprocessor.js +155 -0
  103. package/dist/esm/auth/auth_provider_registry.js +33 -0
  104. package/dist/esm/auth/auth_schemes.js +2 -0
  105. package/dist/esm/auth/auth_tool.js +2 -0
  106. package/dist/esm/auth/base_auth_provider.js +7 -0
  107. package/dist/esm/auth/credential_service/base_credential_service.js +2 -0
  108. package/dist/esm/auth/credential_service/in_memory_credential_service.js +2 -0
  109. package/dist/esm/auth/credential_service/session_state_credential_service.js +23 -0
  110. package/dist/esm/auth/exchanger/base_credential_exchanger.js +2 -0
  111. package/dist/esm/auth/exchanger/credential_exchanger_registry.js +2 -0
  112. package/dist/esm/auth/oauth2/oauth2_credential_exchanger.js +177 -0
  113. package/dist/esm/auth/oauth2/oauth2_credential_refresher.js +85 -0
  114. package/dist/esm/auth/oauth2/oauth2_discovery.js +156 -0
  115. package/dist/esm/auth/oauth2/oauth2_utils.js +87 -0
  116. package/dist/esm/auth/refresher/base_credential_refresher.js +16 -0
  117. package/dist/esm/auth/refresher/credential_refresher_registry.js +40 -0
  118. package/dist/esm/code_executors/base_code_executor.js +11 -5
  119. package/dist/esm/code_executors/built_in_code_executor.js +2 -0
  120. package/dist/esm/code_executors/code_execution_utils.js +19 -0
  121. package/dist/esm/code_executors/code_executor_context.js +2 -0
  122. package/dist/esm/code_executors/unsafe_local_code_executor.js +205 -0
  123. package/dist/esm/common.js +52 -3
  124. package/dist/esm/context/base_context_compactor.js +2 -0
  125. package/dist/esm/context/summarizers/base_summarizer.js +2 -0
  126. package/dist/esm/context/summarizers/llm_summarizer.js +2 -0
  127. package/dist/esm/context/token_based_context_compactor.js +2 -0
  128. package/dist/esm/context/truncating_context_compactor.js +2 -0
  129. package/dist/esm/events/compacted_event.js +2 -0
  130. package/dist/esm/events/event.js +2 -0
  131. package/dist/esm/events/event_actions.js +2 -0
  132. package/dist/esm/events/structured_events.js +2 -0
  133. package/dist/esm/examples/base_example_provider.js +2 -0
  134. package/dist/esm/examples/example.js +2 -0
  135. package/dist/esm/examples/example_util.js +2 -0
  136. package/dist/esm/features/feature_registry.js +107 -0
  137. package/dist/esm/index.js +45 -119
  138. package/dist/esm/index_web.js +2 -0
  139. package/dist/esm/memory/base_memory_service.js +2 -0
  140. package/dist/esm/memory/in_memory_memory_service.js +2 -0
  141. package/dist/esm/memory/memory_entry.js +2 -0
  142. package/dist/esm/models/apigee_llm.js +4 -2
  143. package/dist/esm/models/base_llm.js +2 -0
  144. package/dist/esm/models/base_llm_connection.js +2 -0
  145. package/dist/esm/models/gemini_llm_connection.js +2 -0
  146. package/dist/esm/models/google_llm.js +20 -54
  147. package/dist/esm/models/llm_request.js +2 -0
  148. package/dist/esm/models/llm_response.js +2 -0
  149. package/dist/esm/models/registry.js +2 -0
  150. package/dist/esm/models/routed_llm.js +73 -0
  151. package/dist/esm/plugins/base_plugin.js +41 -1
  152. package/dist/esm/plugins/logging_plugin.js +2 -0
  153. package/dist/esm/plugins/plugin_manager.js +41 -0
  154. package/dist/esm/plugins/security_plugin.js +2 -0
  155. package/dist/esm/runner/in_memory_runner.js +2 -0
  156. package/dist/esm/runner/runner.js +33 -3
  157. package/dist/esm/sessions/base_session_service.js +2 -0
  158. package/dist/esm/sessions/database_session_service.js +2 -0
  159. package/dist/esm/sessions/db/operations.js +5 -10
  160. package/dist/esm/sessions/db/schema.js +2 -0
  161. package/dist/esm/sessions/in_memory_session_service.js +2 -0
  162. package/dist/esm/sessions/registry.js +2 -0
  163. package/dist/esm/sessions/session.js +2 -0
  164. package/dist/esm/sessions/state.js +2 -0
  165. package/dist/esm/skills/loader.js +244 -0
  166. package/dist/esm/skills/prompt.js +30 -0
  167. package/dist/esm/skills/skill.js +49 -0
  168. package/dist/esm/telemetry/google_cloud.js +2 -0
  169. package/dist/esm/telemetry/setup.js +2 -0
  170. package/dist/esm/telemetry/tracing.js +2 -0
  171. package/dist/esm/tools/agent_tool.js +13 -4
  172. package/dist/esm/tools/base_tool.js +2 -0
  173. package/dist/esm/tools/base_toolset.js +2 -0
  174. package/dist/esm/tools/exit_loop_tool.js +2 -0
  175. package/dist/esm/tools/forwarding_artifact_service.js +2 -0
  176. package/dist/esm/tools/function_tool.js +2 -0
  177. package/dist/esm/tools/google_search_tool.js +2 -0
  178. package/dist/esm/tools/load_artifacts_tool.js +2 -0
  179. package/dist/esm/tools/load_memory_tool.js +2 -0
  180. package/dist/esm/tools/long_running_tool.js +2 -0
  181. package/dist/esm/tools/mcp/mcp_session_manager.js +2 -0
  182. package/dist/esm/tools/mcp/mcp_tool.js +9 -3
  183. package/dist/esm/tools/mcp/mcp_toolset.js +3 -1
  184. package/dist/esm/tools/preload_memory_tool.js +2 -0
  185. package/dist/esm/tools/skill/list_skills_tool.js +50 -0
  186. package/dist/esm/tools/skill/load_skill_resource_tool.js +191 -0
  187. package/dist/esm/tools/skill/load_skill_tool.js +82 -0
  188. package/dist/esm/tools/skill/run_skill_inline_script_tool.js +120 -0
  189. package/dist/esm/tools/skill/run_skill_script_tool.js +192 -0
  190. package/dist/esm/tools/skill/skill_toolset.js +137 -0
  191. package/dist/esm/tools/tool_confirmation.js +2 -0
  192. package/dist/esm/tools/url_context_tool.js +44 -0
  193. package/dist/esm/tools/vertex_ai_search_tool.js +103 -0
  194. package/dist/esm/utils/client_labels.js +2 -0
  195. package/dist/esm/utils/env_aware_utils.js +2 -0
  196. package/dist/esm/utils/experimental.js +46 -0
  197. package/dist/esm/utils/failover_utils.js +65 -0
  198. package/dist/esm/utils/file_extension_utils.js +51 -0
  199. package/dist/esm/utils/file_utils.js +56 -0
  200. package/dist/esm/utils/gemini_schema_util.js +2 -0
  201. package/dist/esm/utils/logger.js +2 -0
  202. package/dist/esm/utils/model_name.js +8 -1
  203. package/dist/esm/utils/object_notation_utils.js +2 -0
  204. package/dist/esm/utils/simple_zod_to_json.js +2 -0
  205. package/dist/esm/utils/streaming_utils.js +307 -0
  206. package/dist/esm/utils/variant_utils.js +2 -0
  207. package/dist/esm/version.js +3 -1
  208. package/dist/types/agents/context.d.ts +1 -0
  209. package/dist/types/agents/invocation_context.d.ts +5 -0
  210. package/dist/types/agents/processors/tool_filter_request_processor.d.ts +14 -0
  211. package/dist/types/agents/routed_agent.d.ts +59 -0
  212. package/dist/types/auth/auth_credential.d.ts +17 -0
  213. package/dist/types/auth/auth_handler.d.ts +1 -0
  214. package/dist/types/auth/auth_preprocessor.d.ts +12 -0
  215. package/dist/types/auth/auth_provider_registry.d.ts +27 -0
  216. package/dist/types/auth/base_auth_provider.d.ts +20 -0
  217. package/dist/types/auth/credential_service/session_state_credential_service.d.ts +20 -0
  218. package/dist/types/auth/exchanger/base_credential_exchanger.d.ts +12 -5
  219. package/dist/types/auth/oauth2/oauth2_credential_exchanger.d.ts +26 -0
  220. package/dist/types/auth/oauth2/oauth2_credential_refresher.d.ts +29 -0
  221. package/dist/types/auth/oauth2/oauth2_discovery.d.ts +38 -0
  222. package/dist/types/auth/oauth2/oauth2_utils.d.ts +56 -0
  223. package/dist/types/auth/refresher/base_credential_refresher.d.ts +38 -0
  224. package/dist/types/auth/refresher/credential_refresher_registry.d.ts +27 -0
  225. package/dist/types/code_executors/base_code_executor.d.ts +4 -4
  226. package/dist/types/code_executors/code_execution_utils.d.ts +29 -1
  227. package/dist/types/code_executors/unsafe_local_code_executor.d.ts +48 -0
  228. package/dist/types/common.d.ts +29 -3
  229. package/dist/types/features/feature_registry.d.ts +66 -0
  230. package/dist/types/index.d.ts +4 -0
  231. package/dist/types/memory/base_memory_service.d.ts +6 -0
  232. package/dist/types/memory/memory_entry.d.ts +11 -5
  233. package/dist/types/models/apigee_llm.d.ts +1 -1
  234. package/dist/types/models/base_llm.d.ts +1 -1
  235. package/dist/types/models/google_llm.d.ts +1 -1
  236. package/dist/types/models/llm_request.d.ts +4 -0
  237. package/dist/types/models/routed_llm.d.ts +38 -0
  238. package/dist/types/plugins/base_plugin.d.ts +49 -0
  239. package/dist/types/plugins/plugin_manager.d.ts +22 -1
  240. package/dist/types/runner/runner.d.ts +1 -0
  241. package/dist/types/skills/loader.d.ts +38 -0
  242. package/dist/types/skills/prompt.d.ts +13 -0
  243. package/dist/types/skills/skill.d.ts +48 -0
  244. package/dist/types/tools/mcp/mcp_tool.d.ts +7 -1
  245. package/dist/types/tools/mcp/mcp_toolset.d.ts +5 -0
  246. package/dist/types/tools/skill/list_skills_tool.d.ts +14 -0
  247. package/dist/types/tools/skill/load_skill_resource_tool.d.ts +15 -0
  248. package/dist/types/tools/skill/load_skill_tool.d.ts +14 -0
  249. package/dist/types/tools/skill/run_skill_inline_script_tool.d.ts +14 -0
  250. package/dist/types/tools/skill/run_skill_script_tool.d.ts +17 -0
  251. package/dist/types/tools/skill/skill_toolset.d.ts +28 -0
  252. package/dist/types/tools/url_context_tool.d.ts +17 -0
  253. package/dist/types/tools/vertex_ai_search_tool.d.ts +55 -0
  254. package/dist/types/utils/experimental.d.ts +11 -0
  255. package/dist/types/utils/failover_utils.d.ts +17 -0
  256. package/dist/types/utils/file_extension_utils.d.ts +21 -0
  257. package/dist/types/utils/file_utils.d.ts +11 -0
  258. package/dist/types/utils/model_name.d.ts +4 -0
  259. package/dist/types/utils/streaming_utils.d.ts +40 -0
  260. package/dist/types/version.d.ts +1 -1
  261. package/dist/web/a2a/a2a_event.js +2 -0
  262. package/dist/web/a2a/a2a_remote_agent.js +2 -0
  263. package/dist/web/a2a/a2a_remote_agent_run_processor.js +2 -0
  264. package/dist/web/a2a/a2a_remote_agent_utils.js +2 -0
  265. package/dist/web/a2a/agent_card.js +2 -0
  266. package/dist/web/a2a/agent_executor.js +2 -0
  267. package/dist/web/a2a/agent_to_a2a.js +2 -0
  268. package/dist/web/a2a/event_converter_utils.js +2 -0
  269. package/dist/web/a2a/event_processor_utils.js +2 -0
  270. package/dist/web/a2a/executor_context.js +2 -0
  271. package/dist/web/a2a/metadata_converter_utils.js +2 -0
  272. package/dist/web/a2a/part_converter_utils.js +2 -0
  273. package/dist/web/agents/active_streaming_tool.js +2 -0
  274. package/dist/web/agents/base_agent.js +13 -2
  275. package/dist/web/agents/context.js +3 -0
  276. package/dist/web/agents/functions.js +3 -0
  277. package/dist/web/agents/instructions.js +2 -0
  278. package/dist/web/agents/invocation_context.js +3 -0
  279. package/dist/web/agents/live_request_queue.js +2 -0
  280. package/dist/web/agents/llm_agent.js +72 -13
  281. package/dist/web/agents/loop_agent.js +6 -0
  282. package/dist/web/agents/parallel_agent.js +6 -0
  283. package/dist/web/agents/processors/agent_transfer_llm_request_processor.js +2 -0
  284. package/dist/web/agents/processors/base_llm_processor.js +2 -0
  285. package/dist/web/agents/processors/basic_llm_request_processor.js +2 -0
  286. package/dist/web/agents/processors/code_execution_request_processor.js +5 -0
  287. package/dist/web/agents/processors/content_processor_utils.js +2 -0
  288. package/dist/web/agents/processors/content_request_processor.js +2 -0
  289. package/dist/web/agents/processors/context_compactor_request_processor.js +11 -0
  290. package/dist/web/agents/processors/identity_llm_request_processor.js +2 -0
  291. package/dist/web/agents/processors/instructions_llm_request_processor.js +2 -0
  292. package/dist/web/agents/processors/request_confirmation_llm_request_processor.js +2 -0
  293. package/dist/web/agents/processors/tool_filter_request_processor.js +62 -0
  294. package/dist/web/agents/readonly_context.js +2 -0
  295. package/dist/web/agents/routed_agent.js +138 -0
  296. package/dist/web/agents/run_config.js +2 -0
  297. package/dist/web/agents/sequential_agent.js +2 -0
  298. package/dist/web/agents/transcription_entry.js +2 -0
  299. package/dist/web/artifacts/base_artifact_service.js +2 -0
  300. package/dist/web/artifacts/file_artifact_service.js +2 -0
  301. package/dist/web/artifacts/gcs_artifact_service.js +2 -0
  302. package/dist/web/artifacts/in_memory_artifact_service.js +2 -0
  303. package/dist/web/artifacts/registry.js +2 -0
  304. package/dist/web/auth/auth_credential.js +2 -0
  305. package/dist/web/auth/auth_handler.js +85 -1
  306. package/dist/web/auth/auth_preprocessor.js +173 -0
  307. package/dist/web/auth/auth_provider_registry.js +33 -0
  308. package/dist/web/auth/auth_schemes.js +2 -0
  309. package/dist/web/auth/auth_tool.js +2 -0
  310. package/dist/web/auth/base_auth_provider.js +7 -0
  311. package/dist/web/auth/credential_service/base_credential_service.js +2 -0
  312. package/dist/web/auth/credential_service/in_memory_credential_service.js +2 -0
  313. package/dist/web/auth/credential_service/session_state_credential_service.js +23 -0
  314. package/dist/web/auth/exchanger/base_credential_exchanger.js +2 -0
  315. package/dist/web/auth/exchanger/credential_exchanger_registry.js +2 -0
  316. package/dist/web/auth/oauth2/oauth2_credential_exchanger.js +188 -0
  317. package/dist/web/auth/oauth2/oauth2_credential_refresher.js +102 -0
  318. package/dist/web/auth/oauth2/oauth2_discovery.js +156 -0
  319. package/dist/web/auth/oauth2/oauth2_utils.js +87 -0
  320. package/dist/web/auth/refresher/base_credential_refresher.js +16 -0
  321. package/dist/web/auth/refresher/credential_refresher_registry.js +40 -0
  322. package/dist/web/code_executors/base_code_executor.js +11 -5
  323. package/dist/web/code_executors/built_in_code_executor.js +2 -0
  324. package/dist/web/code_executors/code_execution_utils.js +19 -0
  325. package/dist/web/code_executors/code_executor_context.js +2 -0
  326. package/dist/web/code_executors/unsafe_local_code_executor.js +203 -0
  327. package/dist/web/common.js +52 -3
  328. package/dist/web/context/base_context_compactor.js +2 -0
  329. package/dist/web/context/summarizers/base_summarizer.js +2 -0
  330. package/dist/web/context/summarizers/llm_summarizer.js +2 -0
  331. package/dist/web/context/token_based_context_compactor.js +2 -0
  332. package/dist/web/context/truncating_context_compactor.js +2 -0
  333. package/dist/web/events/compacted_event.js +2 -0
  334. package/dist/web/events/event.js +2 -0
  335. package/dist/web/events/event_actions.js +2 -0
  336. package/dist/web/events/structured_events.js +2 -0
  337. package/dist/web/examples/base_example_provider.js +2 -0
  338. package/dist/web/examples/example.js +2 -0
  339. package/dist/web/examples/example_util.js +2 -0
  340. package/dist/web/features/feature_registry.js +107 -0
  341. package/dist/web/index.js +45 -13
  342. package/dist/web/index_web.js +2 -0
  343. package/dist/web/memory/base_memory_service.js +2 -0
  344. package/dist/web/memory/in_memory_memory_service.js +2 -0
  345. package/dist/web/memory/memory_entry.js +2 -0
  346. package/dist/web/models/apigee_llm.js +4 -2
  347. package/dist/web/models/base_llm.js +2 -0
  348. package/dist/web/models/base_llm_connection.js +2 -0
  349. package/dist/web/models/gemini_llm_connection.js +2 -0
  350. package/dist/web/models/google_llm.js +37 -59
  351. package/dist/web/models/llm_request.js +2 -0
  352. package/dist/web/models/llm_response.js +2 -0
  353. package/dist/web/models/registry.js +2 -0
  354. package/dist/web/models/routed_llm.js +122 -0
  355. package/dist/web/plugins/base_plugin.js +41 -1
  356. package/dist/web/plugins/logging_plugin.js +2 -0
  357. package/dist/web/plugins/plugin_manager.js +41 -0
  358. package/dist/web/plugins/security_plugin.js +2 -0
  359. package/dist/web/runner/in_memory_runner.js +2 -0
  360. package/dist/web/runner/runner.js +33 -3
  361. package/dist/web/sessions/base_session_service.js +2 -0
  362. package/dist/web/sessions/database_session_service.js +2 -0
  363. package/dist/web/sessions/db/operations.js +5 -10
  364. package/dist/web/sessions/db/schema.js +2 -0
  365. package/dist/web/sessions/in_memory_session_service.js +2 -0
  366. package/dist/web/sessions/registry.js +2 -0
  367. package/dist/web/sessions/session.js +2 -0
  368. package/dist/web/sessions/state.js +2 -0
  369. package/dist/web/skills/loader.js +262 -0
  370. package/dist/web/skills/prompt.js +30 -0
  371. package/dist/web/skills/skill.js +67 -0
  372. package/dist/web/telemetry/google_cloud.js +2 -0
  373. package/dist/web/telemetry/setup.js +2 -0
  374. package/dist/web/telemetry/tracing.js +2 -0
  375. package/dist/web/tools/agent_tool.js +13 -4
  376. package/dist/web/tools/base_tool.js +2 -0
  377. package/dist/web/tools/base_toolset.js +2 -0
  378. package/dist/web/tools/exit_loop_tool.js +2 -0
  379. package/dist/web/tools/forwarding_artifact_service.js +2 -0
  380. package/dist/web/tools/function_tool.js +2 -0
  381. package/dist/web/tools/google_search_tool.js +2 -0
  382. package/dist/web/tools/load_artifacts_tool.js +2 -0
  383. package/dist/web/tools/load_memory_tool.js +2 -0
  384. package/dist/web/tools/long_running_tool.js +2 -0
  385. package/dist/web/tools/mcp/mcp_session_manager.js +2 -0
  386. package/dist/web/tools/mcp/mcp_tool.js +9 -3
  387. package/dist/web/tools/mcp/mcp_toolset.js +3 -1
  388. package/dist/web/tools/preload_memory_tool.js +2 -0
  389. package/dist/web/tools/skill/list_skills_tool.js +50 -0
  390. package/dist/web/tools/skill/load_skill_resource_tool.js +191 -0
  391. package/dist/web/tools/skill/load_skill_tool.js +82 -0
  392. package/dist/web/tools/skill/run_skill_inline_script_tool.js +120 -0
  393. package/dist/web/tools/skill/run_skill_script_tool.js +190 -0
  394. package/dist/web/tools/skill/skill_toolset.js +123 -0
  395. package/dist/web/tools/tool_confirmation.js +2 -0
  396. package/dist/web/tools/url_context_tool.js +44 -0
  397. package/dist/web/tools/vertex_ai_search_tool.js +103 -0
  398. package/dist/web/utils/client_labels.js +2 -0
  399. package/dist/web/utils/env_aware_utils.js +2 -0
  400. package/dist/web/utils/experimental.js +46 -0
  401. package/dist/web/utils/failover_utils.js +96 -0
  402. package/dist/web/utils/file_extension_utils.js +51 -0
  403. package/dist/web/utils/file_utils.js +74 -0
  404. package/dist/web/utils/gemini_schema_util.js +2 -0
  405. package/dist/web/utils/logger.js +2 -0
  406. package/dist/web/utils/model_name.js +8 -1
  407. package/dist/web/utils/object_notation_utils.js +2 -0
  408. package/dist/web/utils/simple_zod_to_json.js +2 -0
  409. package/dist/web/utils/streaming_utils.js +325 -0
  410. package/dist/web/utils/variant_utils.js +2 -0
  411. package/dist/web/version.js +3 -1
  412. package/package.json +20 -18
  413. package/dist/cjs/index.js.map +0 -7
  414. package/dist/esm/index.js.map +0 -7
  415. package/dist/web/index.js.map +0 -7
@@ -0,0 +1,138 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
3
+ var __defProp = Object.defineProperty;
4
+ var __defProps = Object.defineProperties;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
7
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
8
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
9
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
10
+ var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
11
+ var __typeError = (msg) => {
12
+ throw TypeError(msg);
13
+ };
14
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
15
+ var __spreadValues = (a, b) => {
16
+ for (var prop in b || (b = {}))
17
+ if (__hasOwnProp.call(b, prop))
18
+ __defNormalProp(a, prop, b[prop]);
19
+ if (__getOwnPropSymbols)
20
+ for (var prop of __getOwnPropSymbols(b)) {
21
+ if (__propIsEnum.call(b, prop))
22
+ __defNormalProp(a, prop, b[prop]);
23
+ }
24
+ return a;
25
+ };
26
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
27
+ var __decorateClass = (decorators, target, key, kind) => {
28
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
29
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
30
+ if (decorator = decorators[i])
31
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
32
+ if (kind && result) __defProp(target, key, result);
33
+ return result;
34
+ };
35
+ var __await = function(promise, isYieldStar) {
36
+ this[0] = promise;
37
+ this[1] = isYieldStar;
38
+ };
39
+ var __asyncGenerator = (__this, __arguments, generator) => {
40
+ var resume = (k, v, yes, no) => {
41
+ try {
42
+ var x = generator[k](v), isAwait = (v = x.value) instanceof __await, done = x.done;
43
+ Promise.resolve(isAwait ? v[0] : v).then((y) => isAwait ? resume(k === "return" ? k : "next", v[1] ? { done: y.done, value: y.value } : y, yes, no) : yes({ value: y, done })).catch((e) => resume("throw", e, yes, no));
44
+ } catch (e) {
45
+ no(e);
46
+ }
47
+ }, method = (k) => it[k] = (x) => new Promise((yes, no) => resume(k, x, yes, no)), it = {};
48
+ return generator = generator.apply(__this, __arguments), it[__knownSymbol("asyncIterator")] = () => it, method("next"), method("throw"), method("return"), it;
49
+ };
50
+ var __yieldStar = (value) => {
51
+ var obj = value[__knownSymbol("asyncIterator")], isAwait = false, method, it = {};
52
+ if (obj == null) {
53
+ obj = value[__knownSymbol("iterator")]();
54
+ method = (k) => it[k] = (x) => obj[k](x);
55
+ } else {
56
+ obj = obj.call(value);
57
+ method = (k) => it[k] = (v) => {
58
+ if (isAwait) {
59
+ isAwait = false;
60
+ if (k === "throw") throw v;
61
+ return v;
62
+ }
63
+ isAwait = true;
64
+ return {
65
+ done: false,
66
+ value: new __await(new Promise((resolve) => {
67
+ var x = obj[k](v);
68
+ if (!(x instanceof Object)) __typeError("Object expected");
69
+ resolve(x);
70
+ }), 1)
71
+ };
72
+ };
73
+ }
74
+ return it[__knownSymbol("iterator")] = () => it, method("next"), "throw" in obj ? method("throw") : it.throw = (x) => {
75
+ throw x;
76
+ }, "return" in obj && method("return"), it;
77
+ };
78
+ /**
79
+ * @license
80
+ * Copyright 2026 Google LLC
81
+ * SPDX-License-Identifier: Apache-2.0
82
+ */
83
+ var _a, _b;
84
+ import { BaseAgent } from "./base_agent.js";
85
+ import { experimental } from "../utils/experimental.js";
86
+ import { runWithRouting } from "../utils/failover_utils.js";
87
+ const ROUTED_AGENT_SIGNATURE_SYMBOL = Symbol.for("google.adk.routedAgent");
88
+ function isRoutedAgent(obj) {
89
+ return typeof obj === "object" && obj !== null && ROUTED_AGENT_SIGNATURE_SYMBOL in obj && obj[ROUTED_AGENT_SIGNATURE_SYMBOL] === true;
90
+ }
91
+ let RoutedAgent = class extends (_b = BaseAgent, _a = ROUTED_AGENT_SIGNATURE_SYMBOL, _b) {
92
+ constructor(config) {
93
+ const agentsArray = Array.isArray(config.agents) ? config.agents : Object.values(config.agents);
94
+ super(__spreadProps(__spreadValues({}, config), {
95
+ subAgents: agentsArray
96
+ }));
97
+ this[_a] = true;
98
+ if (Array.isArray(config.agents)) {
99
+ this.agents = Object.fromEntries(config.agents.map((a) => [a.name, a]));
100
+ } else {
101
+ this.agents = config.agents;
102
+ }
103
+ this.router = config.router;
104
+ }
105
+ /**
106
+ * Runs the selected agent via text-based conversation.
107
+ */
108
+ runAsyncImpl(context) {
109
+ return __asyncGenerator(this, null, function* () {
110
+ yield* __yieldStar(runWithRouting(
111
+ this.agents,
112
+ context,
113
+ this.router,
114
+ (agent) => agent.runAsync(context)
115
+ ));
116
+ });
117
+ }
118
+ /**
119
+ * Runs the selected agent via video/audio-based conversation.
120
+ */
121
+ runLiveImpl(context) {
122
+ return __asyncGenerator(this, null, function* () {
123
+ yield* __yieldStar(runWithRouting(
124
+ this.agents,
125
+ context,
126
+ this.router,
127
+ (agent) => agent.runLive(context)
128
+ ));
129
+ });
130
+ }
131
+ };
132
+ RoutedAgent = __decorateClass([
133
+ experimental
134
+ ], RoutedAgent);
135
+ export {
136
+ RoutedAgent,
137
+ isRoutedAgent
138
+ };
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  var __defProp = Object.defineProperty;
2
4
  var __getOwnPropSymbols = Object.getOwnPropertySymbols;
3
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
2
4
  var __await = function(promise, isYieldStar) {
3
5
  this[0] = promise;
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  /**
2
4
  * @license
3
5
  * Copyright 2025 Google LLC
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  /**
2
4
  * @license
3
5
  * Copyright 2025 Google LLC
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
2
4
  var __await = function(promise, isYieldStar) {
3
5
  this[0] = promise;
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  var __defProp = Object.defineProperty;
2
4
  var __defProps = Object.defineProperties;
3
5
  var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  /**
2
4
  * @license
3
5
  * Copyright 2025 Google LLC
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  /**
2
4
  * @license
3
5
  * Copyright 2026 Google LLC
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  /**
2
4
  * @license
3
5
  * Copyright 2025 Google LLC
@@ -1,8 +1,31 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
3
+ var __defProp = Object.defineProperty;
4
+ var __defProps = Object.defineProperties;
5
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
6
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
9
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
10
+ var __spreadValues = (a, b) => {
11
+ for (var prop in b || (b = {}))
12
+ if (__hasOwnProp.call(b, prop))
13
+ __defNormalProp(a, prop, b[prop]);
14
+ if (__getOwnPropSymbols)
15
+ for (var prop of __getOwnPropSymbols(b)) {
16
+ if (__propIsEnum.call(b, prop))
17
+ __defNormalProp(a, prop, b[prop]);
18
+ }
19
+ return a;
20
+ };
21
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
1
22
  /**
2
23
  * @license
3
24
  * Copyright 2025 Google LLC
4
25
  * SPDX-License-Identifier: Apache-2.0
5
26
  */
27
+ import { randomUUID } from "../utils/env_aware_utils.js";
28
+ import { OAuth2CredentialExchanger } from "./oauth2/oauth2_credential_exchanger.js";
6
29
  class AuthHandler {
7
30
  constructor(authConfig) {
8
31
  this.authConfig = authConfig;
@@ -11,6 +34,22 @@ class AuthHandler {
11
34
  const credentialKey = "temp:" + this.authConfig.credentialKey;
12
35
  return state.get(credentialKey);
13
36
  }
37
+ async parseAndStoreAuthResponse(state) {
38
+ const credentialKey = "temp:" + this.authConfig.credentialKey;
39
+ const authSchemeType = this.authConfig.authScheme.type;
40
+ if (!["oauth2", "openIdConnect"].includes(authSchemeType)) {
41
+ state.set(credentialKey, this.authConfig.exchangedAuthCredential);
42
+ return;
43
+ }
44
+ if (this.authConfig.exchangedAuthCredential) {
45
+ const exchanger = new OAuth2CredentialExchanger();
46
+ const exchangedCredential = await exchanger.exchange({
47
+ authCredential: this.authConfig.exchangedAuthCredential,
48
+ authScheme: this.authConfig.authScheme
49
+ });
50
+ state.set(credentialKey, exchangedCredential.credential);
51
+ }
52
+ }
14
53
  generateAuthRequest() {
15
54
  var _a, _b;
16
55
  const authSchemeType = this.authConfig.authScheme.type;
@@ -56,7 +95,52 @@ class AuthHandler {
56
95
  * auth scheme.
57
96
  */
58
97
  generateAuthUri() {
59
- return this.authConfig.rawAuthCredential;
98
+ const authScheme = this.authConfig.authScheme;
99
+ const authCredential = this.authConfig.rawAuthCredential;
100
+ if (!authCredential || !authCredential.oauth2) {
101
+ return authCredential;
102
+ }
103
+ let authorizationEndpoint = "";
104
+ let scopes = [];
105
+ if ("authorizationEndpoint" in authScheme) {
106
+ authorizationEndpoint = authScheme.authorizationEndpoint;
107
+ scopes = authScheme.scopes || [];
108
+ } else if (authScheme.type === "oauth2" && authScheme.flows) {
109
+ const flows = authScheme.flows;
110
+ const flow = flows.implicit || flows.authorizationCode || flows.clientCredentials || flows.password;
111
+ if (flow) {
112
+ if ("authorizationUrl" in flow && flow.authorizationUrl) {
113
+ authorizationEndpoint = flow.authorizationUrl;
114
+ } else if ("tokenUrl" in flow && flow.tokenUrl) {
115
+ authorizationEndpoint = flow.tokenUrl;
116
+ }
117
+ if (flow.scopes) {
118
+ scopes = Object.keys(flow.scopes);
119
+ }
120
+ }
121
+ }
122
+ if (!authorizationEndpoint) {
123
+ throw new Error("Authorization endpoint not configured in auth scheme.");
124
+ }
125
+ const state = randomUUID();
126
+ const url = new URL(authorizationEndpoint);
127
+ url.searchParams.set("client_id", authCredential.oauth2.clientId || "");
128
+ url.searchParams.set(
129
+ "redirect_uri",
130
+ authCredential.oauth2.redirectUri || ""
131
+ );
132
+ url.searchParams.set("response_type", "code");
133
+ url.searchParams.set("scope", scopes.join(" "));
134
+ url.searchParams.set("state", state);
135
+ url.searchParams.set("access_type", "offline");
136
+ url.searchParams.set("prompt", "consent");
137
+ const exchangedAuthCredential = __spreadProps(__spreadValues({}, authCredential), {
138
+ oauth2: __spreadProps(__spreadValues({}, authCredential.oauth2), {
139
+ authUri: url.toString(),
140
+ state
141
+ })
142
+ });
143
+ return exchangedAuthCredential;
60
144
  }
61
145
  }
62
146
  export {
@@ -0,0 +1,173 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
3
+ var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
4
+ var __await = function(promise, isYieldStar) {
5
+ this[0] = promise;
6
+ this[1] = isYieldStar;
7
+ };
8
+ var __asyncGenerator = (__this, __arguments, generator) => {
9
+ var resume = (k, v, yes, no) => {
10
+ try {
11
+ var x = generator[k](v), isAwait = (v = x.value) instanceof __await, done = x.done;
12
+ Promise.resolve(isAwait ? v[0] : v).then((y) => isAwait ? resume(k === "return" ? k : "next", v[1] ? { done: y.done, value: y.value } : y, yes, no) : yes({ value: y, done })).catch((e) => resume("throw", e, yes, no));
13
+ } catch (e) {
14
+ no(e);
15
+ }
16
+ }, method = (k) => it[k] = (x) => new Promise((yes, no) => resume(k, x, yes, no)), it = {};
17
+ return generator = generator.apply(__this, __arguments), it[__knownSymbol("asyncIterator")] = () => it, method("next"), method("throw"), method("return"), it;
18
+ };
19
+ /**
20
+ * @license
21
+ * Copyright 2026 Google LLC
22
+ * SPDX-License-Identifier: Apache-2.0
23
+ */
24
+ import {
25
+ REQUEST_EUC_FUNCTION_CALL_NAME,
26
+ handleFunctionCallsAsync
27
+ } from "../agents/functions.js";
28
+ import { isLlmAgent } from "../agents/llm_agent.js";
29
+ import { BaseLlmRequestProcessor } from "../agents/processors/base_llm_processor.js";
30
+ import { ReadonlyContext } from "../agents/readonly_context.js";
31
+ import {
32
+ getFunctionCalls,
33
+ getFunctionResponses
34
+ } from "../events/event.js";
35
+ import { State } from "../sessions/state.js";
36
+ import { AuthHandler } from "./auth_handler.js";
37
+ const TOOLSET_AUTH_CREDENTIAL_ID_PREFIX = "_adk_toolset_auth_";
38
+ async function storeAuthAndCollectResumeTargets(events, authFcIds, authResponses, state) {
39
+ const requestedAuthConfigById = {};
40
+ for (const event of events) {
41
+ const eventFunctionCalls = getFunctionCalls(event);
42
+ for (const functionCall of eventFunctionCalls) {
43
+ if (functionCall.id && authFcIds.has(functionCall.id) && functionCall.name === REQUEST_EUC_FUNCTION_CALL_NAME) {
44
+ const args = functionCall.args;
45
+ if (args && args.authConfig) {
46
+ requestedAuthConfigById[functionCall.id] = args.authConfig;
47
+ }
48
+ }
49
+ }
50
+ }
51
+ for (const fcId of authFcIds) {
52
+ if (!(fcId in authResponses)) {
53
+ continue;
54
+ }
55
+ const authConfig = authResponses[fcId];
56
+ const requestedAuthConfig = requestedAuthConfigById[fcId];
57
+ if (requestedAuthConfig && requestedAuthConfig.credentialKey) {
58
+ authConfig.credentialKey = requestedAuthConfig.credentialKey;
59
+ }
60
+ await new AuthHandler(authConfig).parseAndStoreAuthResponse(state);
61
+ }
62
+ const toolsToResume = /* @__PURE__ */ new Set();
63
+ for (const fcId of authFcIds) {
64
+ const requestedAuthConfig = requestedAuthConfigById[fcId];
65
+ if (!requestedAuthConfig) {
66
+ continue;
67
+ }
68
+ for (const event of events) {
69
+ const eventFunctionCalls = getFunctionCalls(event);
70
+ for (const functionCall of eventFunctionCalls) {
71
+ if (functionCall.id === fcId && functionCall.name === REQUEST_EUC_FUNCTION_CALL_NAME) {
72
+ const args = functionCall.args;
73
+ if (args && args.functionCallId) {
74
+ if (args.functionCallId.startsWith(TOOLSET_AUTH_CREDENTIAL_ID_PREFIX)) {
75
+ continue;
76
+ }
77
+ toolsToResume.add(args.functionCallId);
78
+ }
79
+ }
80
+ }
81
+ }
82
+ }
83
+ return toolsToResume;
84
+ }
85
+ class AuthPreprocessor extends BaseLlmRequestProcessor {
86
+ runAsync(invocationContext) {
87
+ return __asyncGenerator(this, null, function* () {
88
+ const agent = invocationContext.agent;
89
+ if (!isLlmAgent(agent)) {
90
+ return;
91
+ }
92
+ const events = invocationContext.session.events;
93
+ if (!events || events.length === 0) {
94
+ return;
95
+ }
96
+ let lastEventWithContent = null;
97
+ for (let i = events.length - 1; i >= 0; i--) {
98
+ const event = events[i];
99
+ if (event.content !== void 0) {
100
+ lastEventWithContent = event;
101
+ break;
102
+ }
103
+ }
104
+ if (!lastEventWithContent || lastEventWithContent.author !== "user") {
105
+ return;
106
+ }
107
+ const responses = getFunctionResponses(lastEventWithContent);
108
+ if (!responses || responses.length === 0) {
109
+ return;
110
+ }
111
+ const authFcIds = /* @__PURE__ */ new Set();
112
+ const authResponses = {};
113
+ for (const functionCallResponse of responses) {
114
+ if (functionCallResponse.name !== REQUEST_EUC_FUNCTION_CALL_NAME) {
115
+ continue;
116
+ }
117
+ if (functionCallResponse.id) {
118
+ authFcIds.add(functionCallResponse.id);
119
+ authResponses[functionCallResponse.id] = functionCallResponse.response;
120
+ }
121
+ }
122
+ if (authFcIds.size === 0) {
123
+ return;
124
+ }
125
+ const state = new State(invocationContext.session.state);
126
+ const toolsToResume = yield new __await(storeAuthAndCollectResumeTargets(
127
+ events,
128
+ authFcIds,
129
+ authResponses,
130
+ state
131
+ ));
132
+ if (toolsToResume.size === 0) {
133
+ return;
134
+ }
135
+ for (let i = events.length - 2; i >= 0; i--) {
136
+ const event = events[i];
137
+ const functionCalls = getFunctionCalls(event);
138
+ if (!functionCalls || functionCalls.length === 0) {
139
+ continue;
140
+ }
141
+ const hasMatchingCall = functionCalls.some(
142
+ (call) => call.id ? toolsToResume.has(call.id) : false
143
+ );
144
+ if (hasMatchingCall) {
145
+ const canonicalTools = yield new __await(agent.canonicalTools(
146
+ new ReadonlyContext(invocationContext)
147
+ ));
148
+ const toolsDict = {};
149
+ for (const tool of canonicalTools) {
150
+ toolsDict[tool.name] = tool;
151
+ }
152
+ const functionResponseEvent = yield new __await(handleFunctionCallsAsync({
153
+ invocationContext,
154
+ functionCallEvent: event,
155
+ toolsDict,
156
+ beforeToolCallbacks: agent.canonicalBeforeToolCallbacks,
157
+ afterToolCallbacks: agent.canonicalAfterToolCallbacks,
158
+ filters: toolsToResume
159
+ }));
160
+ if (functionResponseEvent) {
161
+ yield functionResponseEvent;
162
+ }
163
+ return;
164
+ }
165
+ }
166
+ });
167
+ }
168
+ }
169
+ const AUTH_PREPROCESSOR = new AuthPreprocessor();
170
+ export {
171
+ AUTH_PREPROCESSOR,
172
+ AuthPreprocessor
173
+ };
@@ -0,0 +1,33 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
3
+ /**
4
+ * @license
5
+ * Copyright 2026 Google LLC
6
+ * SPDX-License-Identifier: Apache-2.0
7
+ */
8
+ class AuthProviderRegistry {
9
+ constructor() {
10
+ this.providers = /* @__PURE__ */ new Map();
11
+ }
12
+ /**
13
+ * Register a provider instance for an auth scheme type.
14
+ *
15
+ * @param authSchemeType The auth scheme type (e.g., 'oauth2', 'apiKey').
16
+ * @param providerInstance The provider instance to register.
17
+ */
18
+ register(authSchemeType, providerInstance) {
19
+ this.providers.set(authSchemeType, providerInstance);
20
+ }
21
+ /**
22
+ * Get the provider instance for an auth scheme.
23
+ *
24
+ * @param authScheme The auth scheme to get provider for.
25
+ * @returns The provider instance if registered, undefined otherwise.
26
+ */
27
+ getProvider(authScheme) {
28
+ return this.providers.get(authScheme.type);
29
+ }
30
+ }
31
+ export {
32
+ AuthProviderRegistry
33
+ };
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  /**
2
4
  * @license
3
5
  * Copyright 2025 Google LLC
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  /**
2
4
  * @license
3
5
  * Copyright 2025 Google LLC
@@ -0,0 +1,7 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
3
+ /**
4
+ * @license
5
+ * Copyright 2026 Google LLC
6
+ * SPDX-License-Identifier: Apache-2.0
7
+ */
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  /**
2
4
  * @license
3
5
  * Copyright 2025 Google LLC
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  /**
2
4
  * @license
3
5
  * Copyright 2025 Google LLC
@@ -0,0 +1,23 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
3
+ /**
4
+ * @license
5
+ * Copyright 2026 Google LLC
6
+ * SPDX-License-Identifier: Apache-2.0
7
+ */
8
+ class SessionStateCredentialService {
9
+ loadCredential(authConfig, toolContext) {
10
+ return Promise.resolve(toolContext.state.get(authConfig.credentialKey));
11
+ }
12
+ async saveCredential(authConfig, toolContext) {
13
+ if (authConfig.exchangedAuthCredential) {
14
+ toolContext.state.set(
15
+ authConfig.credentialKey,
16
+ authConfig.exchangedAuthCredential
17
+ );
18
+ }
19
+ }
20
+ }
21
+ export {
22
+ SessionStateCredentialService
23
+ };
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  /**
2
4
  * @license
3
5
  * Copyright 2025 Google LLC
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  /**
2
4
  * @license
3
5
  * Copyright 2025 Google LLC