@google/adk 2.0.0 → 2.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 (566) hide show
  1. package/dist/cjs/a2a/a2a_event.js +0 -29
  2. package/dist/cjs/a2a/a2a_remote_agent.js +8 -5
  3. package/dist/cjs/a2a/a2a_remote_agent_utils.js +104 -2
  4. package/dist/cjs/a2a/agent_card.js +58 -6
  5. package/dist/cjs/a2a/agent_executor.js +10 -3
  6. package/dist/cjs/a2a/agent_to_a2a.js +6 -1
  7. package/dist/cjs/a2a/event_processor_utils.js +1 -1
  8. package/dist/cjs/a2a/executor_context.js +4 -2
  9. package/dist/cjs/a2a/index.js +4 -0
  10. package/dist/cjs/a2a/request_metadata.js +94 -0
  11. package/dist/cjs/agents/base_agent.js +9 -8
  12. package/dist/cjs/agents/context.js +7 -0
  13. package/dist/cjs/agents/functions.js +150 -47
  14. package/dist/cjs/agents/invocation_context.js +1 -0
  15. package/dist/cjs/agents/llm_agent.js +6 -5
  16. package/dist/cjs/agents/loop_agent.js +1 -1
  17. package/dist/cjs/agents/parallel_agent.js +1 -1
  18. package/dist/cjs/agents/processors/agent_transfer_llm_request_processor.js +26 -5
  19. package/dist/cjs/agents/processors/code_execution_request_processor.js +2 -2
  20. package/dist/cjs/agents/processors/content_processor_utils.js +5 -5
  21. package/dist/cjs/agents/processors/content_request_processor.js +4 -1
  22. package/dist/cjs/agents/processors/request_confirmation_llm_request_processor.js +19 -12
  23. package/dist/cjs/agents/processors/request_input_llm_request_processor.js +3 -7
  24. package/dist/cjs/agents/readonly_context.js +6 -0
  25. package/dist/cjs/agents/routed_agent.js +1 -1
  26. package/dist/cjs/agents/sequential_agent.js +1 -1
  27. package/dist/cjs/apps/app.js +1 -1
  28. package/dist/cjs/artifacts/file_artifact_service.js +1 -2
  29. package/dist/cjs/artifacts/scoped_artifact_service.js +9 -0
  30. package/dist/cjs/artifacts/session_artifact_service.js +19 -0
  31. package/dist/cjs/auth/auth_handler.js +44 -8
  32. package/dist/cjs/auth/oauth2/oauth2_credential_refresher.js +1 -1
  33. package/dist/cjs/auth/oauth2/oauth2_utils.js +17 -2
  34. package/dist/cjs/code_executors/base_code_executor.js +1 -1
  35. package/dist/cjs/code_executors/built_in_code_executor.js +1 -1
  36. package/dist/cjs/code_executors/code_execution_utils.js +2 -2
  37. package/dist/cjs/code_executors/container_code_executor.js +186 -0
  38. package/dist/cjs/code_executors/docker_container.js +282 -0
  39. package/dist/cjs/code_executors/unsafe_local_code_executor.js +11 -6
  40. package/dist/cjs/common.js +74 -45
  41. package/dist/cjs/context/agent_controlled_context_compactor.js +10 -5
  42. package/dist/cjs/context/anchored_context_compactor.js +41 -18
  43. package/dist/cjs/context/compaction_utils.js +15 -6
  44. package/dist/cjs/context/token_based_context_compactor.js +10 -2
  45. package/dist/cjs/context/trajectory_thought_pruning_compactor.js +17 -10
  46. package/dist/cjs/context/truncating_context_compactor.js +17 -5
  47. package/dist/cjs/errors/already_exists_error.js +50 -0
  48. package/dist/cjs/errors/input_validation_error.js +50 -0
  49. package/dist/cjs/errors/not_found_error.js +50 -0
  50. package/dist/cjs/errors/session_not_found_error.js +50 -0
  51. package/dist/cjs/errors/tool_execution_error.js +68 -0
  52. package/dist/cjs/events/event.js +1 -1
  53. package/dist/cjs/events/event_actions.js +7 -0
  54. package/dist/cjs/examples/base_example_provider.js +1 -1
  55. package/dist/cjs/index.js +47 -0
  56. package/dist/cjs/index_web.js +2 -0
  57. package/dist/cjs/integrations/agent_registry/agent_registry.js +3 -2
  58. package/dist/cjs/memory/rag_memory_transcript.js +136 -0
  59. package/dist/cjs/memory/vertex_ai_memory_bank_service.js +2 -2
  60. package/dist/cjs/memory/vertex_ai_rag_api.js +120 -0
  61. package/dist/cjs/memory/vertex_ai_rag_memory_service.js +228 -0
  62. package/dist/cjs/models/apigee_llm.js +1 -1
  63. package/dist/cjs/models/base_llm.js +1 -1
  64. package/dist/cjs/models/chrome_prompt_llm.js +304 -0
  65. package/dist/cjs/models/chrome_prompt_utils.js +229 -0
  66. package/dist/cjs/models/google_llm.js +9 -4
  67. package/dist/cjs/models/interactions_utils.js +2 -3
  68. package/dist/cjs/models/registry.js +2 -0
  69. package/dist/cjs/plugins/_reflect_retry_utils.js +142 -0
  70. package/dist/cjs/plugins/reflect_retry_model_plugin.js +274 -0
  71. package/dist/cjs/plugins/reflect_retry_tool_plugin.js +276 -0
  72. package/dist/cjs/runner/runner.js +29 -26
  73. package/dist/cjs/sessions/database_session_service.js +78 -43
  74. package/dist/cjs/sessions/db/operations.js +229 -22
  75. package/dist/cjs/sessions/db/schema.js +113 -159
  76. package/dist/cjs/sessions/registry.js +5 -1
  77. package/dist/cjs/sessions/vertex_ai_session_service.js +2 -2
  78. package/dist/cjs/telemetry/setup.js +1 -1
  79. package/dist/cjs/telemetry/tracing.js +11 -1
  80. package/dist/cjs/tools/agent_tool.js +4 -5
  81. package/dist/cjs/tools/base_tool.js +14 -4
  82. package/dist/cjs/tools/base_toolset.js +4 -4
  83. package/dist/cjs/tools/built_in_tool.js +75 -0
  84. package/dist/cjs/tools/enterprise_web_search_tool.js +3 -6
  85. package/dist/cjs/tools/forwarding_artifact_service.js +18 -13
  86. package/dist/cjs/tools/function_tool.js +6 -3
  87. package/dist/cjs/tools/google_maps_grounding_tool.js +3 -6
  88. package/dist/cjs/tools/google_search_tool.js +3 -6
  89. package/dist/cjs/tools/load_artifacts_tool.js +47 -23
  90. package/dist/cjs/tools/load_web_page.js +6 -172
  91. package/dist/cjs/tools/mcp/load_mcp_resource_tool.js +34 -5
  92. package/dist/cjs/tools/openapi_tool/auth/auth_helpers.js +11 -2
  93. package/dist/cjs/tools/openapi_tool/openapi_spec_parser/operation_parser.js +1 -1
  94. package/dist/cjs/tools/openapi_tool/rest_api_tool.js +16 -18
  95. package/dist/cjs/tools/preload_memory_tool.js +1 -1
  96. package/dist/cjs/tools/resume_inputs.js +27 -0
  97. package/dist/cjs/tools/retrieval/base_retrieval_tool.js +60 -0
  98. package/dist/cjs/tools/retrieval/files_retrieval.js +95 -0
  99. package/dist/cjs/tools/retrieval/llama_index_retrieval.js +57 -0
  100. package/dist/cjs/tools/url_context_tool.js +3 -6
  101. package/dist/cjs/tools/vertex_ai_search_tool.js +4 -8
  102. package/dist/cjs/tools/vertex_rag_retrieval_tool.js +3 -10
  103. package/dist/cjs/utils/crypto_shim.js +16 -0
  104. package/dist/cjs/utils/gemini_schema_util.js +0 -6
  105. package/dist/cjs/utils/logger.js +15 -50
  106. package/dist/cjs/utils/logger_browser.js +86 -0
  107. package/dist/cjs/utils/logger_node.js +119 -0
  108. package/dist/cjs/utils/redact_inline_data.js +46 -0
  109. package/dist/cjs/utils/redact_uri.js +15 -1
  110. package/dist/cjs/utils/schema.js +1 -1
  111. package/dist/cjs/utils/ssrf_guard.js +262 -0
  112. package/dist/cjs/version.js +1 -1
  113. package/dist/cjs/workflow/base_node.js +1 -1
  114. package/dist/cjs/workflow/graph.js +1 -1
  115. package/dist/cjs/workflow/nodes/node_tool.js +2 -11
  116. package/dist/cjs/workflow/request_input.js +1 -1
  117. package/dist/cjs/workflow/run_llm_agent_as_node.js +1 -1
  118. package/dist/cjs/workflow/workflow.js +1 -1
  119. package/dist/esm/a2a/a2a_event.js +0 -28
  120. package/dist/esm/a2a/a2a_remote_agent.js +10 -5
  121. package/dist/esm/a2a/a2a_remote_agent_utils.js +102 -2
  122. package/dist/esm/a2a/agent_card.js +63 -6
  123. package/dist/esm/a2a/agent_executor.js +10 -3
  124. package/dist/esm/a2a/agent_to_a2a.js +8 -2
  125. package/dist/esm/a2a/event_processor_utils.js +1 -2
  126. package/dist/esm/a2a/executor_context.js +4 -2
  127. package/dist/esm/a2a/index.js +7 -1
  128. package/dist/esm/a2a/request_metadata.js +68 -0
  129. package/dist/esm/agents/base_agent.js +9 -8
  130. package/dist/esm/agents/context.js +7 -0
  131. package/dist/esm/agents/functions.js +152 -48
  132. package/dist/esm/agents/invocation_context.js +1 -0
  133. package/dist/esm/agents/llm_agent.js +6 -5
  134. package/dist/esm/agents/loop_agent.js +1 -1
  135. package/dist/esm/agents/parallel_agent.js +1 -1
  136. package/dist/esm/agents/processors/agent_transfer_llm_request_processor.js +26 -5
  137. package/dist/esm/agents/processors/code_execution_request_processor.js +2 -2
  138. package/dist/esm/agents/processors/content_processor_utils.js +5 -5
  139. package/dist/esm/agents/processors/content_request_processor.js +4 -1
  140. package/dist/esm/agents/processors/request_confirmation_llm_request_processor.js +19 -12
  141. package/dist/esm/agents/processors/request_input_llm_request_processor.js +3 -7
  142. package/dist/esm/agents/readonly_context.js +6 -0
  143. package/dist/esm/agents/routed_agent.js +1 -1
  144. package/dist/esm/agents/sequential_agent.js +1 -1
  145. package/dist/esm/apps/app.js +1 -1
  146. package/dist/esm/artifacts/file_artifact_service.js +1 -2
  147. package/dist/esm/artifacts/scoped_artifact_service.js +9 -0
  148. package/dist/esm/artifacts/session_artifact_service.js +12 -0
  149. package/dist/esm/auth/auth_handler.js +47 -8
  150. package/dist/esm/auth/oauth2/oauth2_credential_refresher.js +1 -1
  151. package/dist/esm/auth/oauth2/oauth2_utils.js +15 -2
  152. package/dist/esm/code_executors/base_code_executor.js +1 -1
  153. package/dist/esm/code_executors/built_in_code_executor.js +1 -1
  154. package/dist/esm/code_executors/code_execution_utils.js +2 -2
  155. package/dist/esm/code_executors/container_code_executor.js +155 -0
  156. package/dist/esm/code_executors/docker_container.js +265 -0
  157. package/dist/esm/code_executors/unsafe_local_code_executor.js +11 -6
  158. package/dist/esm/common.js +73 -38
  159. package/dist/esm/context/agent_controlled_context_compactor.js +10 -5
  160. package/dist/esm/context/anchored_context_compactor.js +45 -19
  161. package/dist/esm/context/compaction_utils.js +13 -5
  162. package/dist/esm/context/token_based_context_compactor.js +10 -2
  163. package/dist/esm/context/trajectory_thought_pruning_compactor.js +17 -10
  164. package/dist/esm/context/truncating_context_compactor.js +17 -5
  165. package/dist/esm/errors/already_exists_error.js +23 -0
  166. package/dist/esm/errors/input_validation_error.js +23 -0
  167. package/dist/{web/auth/refresher/base_credential_refresher.js → esm/errors/not_found_error.js} +9 -6
  168. package/dist/esm/errors/session_not_found_error.js +23 -0
  169. package/dist/esm/errors/tool_execution_error.js +40 -0
  170. package/dist/esm/events/event.js +1 -1
  171. package/dist/esm/events/event_actions.js +6 -0
  172. package/dist/esm/examples/base_example_provider.js +1 -1
  173. package/dist/esm/index.js +37 -0
  174. package/dist/esm/index_web.js +2 -0
  175. package/dist/esm/integrations/agent_registry/agent_registry.js +3 -2
  176. package/dist/esm/memory/rag_memory_transcript.js +106 -0
  177. package/dist/esm/memory/vertex_ai_memory_bank_service.js +2 -2
  178. package/dist/esm/memory/vertex_ai_rag_api.js +93 -0
  179. package/dist/esm/memory/vertex_ai_rag_memory_service.js +208 -0
  180. package/dist/esm/models/apigee_llm.js +1 -1
  181. package/dist/esm/models/base_llm.js +1 -1
  182. package/dist/esm/models/chrome_prompt_llm.js +285 -0
  183. package/dist/esm/models/chrome_prompt_utils.js +192 -0
  184. package/dist/esm/models/google_llm.js +9 -4
  185. package/dist/esm/models/interactions_utils.js +2 -3
  186. package/dist/esm/models/registry.js +2 -0
  187. package/dist/esm/plugins/_reflect_retry_utils.js +111 -0
  188. package/dist/esm/plugins/reflect_retry_model_plugin.js +250 -0
  189. package/dist/esm/plugins/reflect_retry_tool_plugin.js +254 -0
  190. package/dist/esm/runner/runner.js +35 -27
  191. package/dist/esm/sessions/database_session_service.js +58 -25
  192. package/dist/esm/sessions/db/operations.js +229 -22
  193. package/dist/esm/sessions/db/schema.js +111 -160
  194. package/dist/esm/sessions/registry.js +5 -1
  195. package/dist/esm/sessions/vertex_ai_session_service.js +1 -1
  196. package/dist/esm/telemetry/setup.js +1 -1
  197. package/dist/esm/telemetry/tracing.js +11 -1
  198. package/dist/esm/tools/agent_tool.js +4 -5
  199. package/dist/esm/tools/base_tool.js +11 -3
  200. package/dist/esm/tools/base_toolset.js +4 -4
  201. package/dist/esm/tools/built_in_tool.js +51 -0
  202. package/dist/esm/tools/enterprise_web_search_tool.js +3 -6
  203. package/dist/esm/tools/forwarding_artifact_service.js +18 -13
  204. package/dist/esm/tools/function_tool.js +6 -3
  205. package/dist/esm/tools/google_maps_grounding_tool.js +3 -6
  206. package/dist/esm/tools/google_search_tool.js +3 -6
  207. package/dist/esm/tools/load_artifacts_tool.js +48 -24
  208. package/dist/esm/tools/load_web_page.js +10 -170
  209. package/dist/esm/tools/mcp/load_mcp_resource_tool.js +34 -5
  210. package/dist/esm/tools/openapi_tool/auth/auth_helpers.js +13 -2
  211. package/dist/esm/tools/openapi_tool/openapi_spec_parser/operation_parser.js +1 -1
  212. package/dist/esm/tools/openapi_tool/rest_api_tool.js +16 -18
  213. package/dist/esm/tools/preload_memory_tool.js +1 -1
  214. package/dist/esm/tools/retrieval/base_retrieval_tool.js +33 -0
  215. package/dist/esm/tools/retrieval/files_retrieval.js +81 -0
  216. package/dist/esm/tools/retrieval/llama_index_retrieval.js +30 -0
  217. package/dist/esm/tools/url_context_tool.js +3 -6
  218. package/dist/esm/tools/vertex_ai_search_tool.js +4 -8
  219. package/dist/esm/tools/vertex_rag_retrieval_tool.js +3 -10
  220. package/dist/esm/utils/crypto_shim.js +14 -0
  221. package/dist/esm/utils/gemini_schema_util.js +0 -6
  222. package/dist/esm/utils/logger.js +14 -40
  223. package/dist/esm/utils/logger_browser.js +58 -0
  224. package/dist/esm/utils/logger_node.js +81 -0
  225. package/dist/esm/utils/redact_inline_data.js +19 -0
  226. package/dist/esm/utils/redact_uri.js +15 -1
  227. package/dist/esm/utils/schema.js +1 -1
  228. package/dist/{web/tools/load_web_page.js → esm/utils/ssrf_guard.js} +95 -107
  229. package/dist/esm/version.js +1 -1
  230. package/dist/esm/workflow/base_node.js +1 -1
  231. package/dist/esm/workflow/graph.js +1 -1
  232. package/dist/esm/workflow/nodes/node_tool.js +2 -11
  233. package/dist/esm/workflow/request_input.js +1 -1
  234. package/dist/esm/workflow/run_llm_agent_as_node.js +1 -1
  235. package/dist/esm/workflow/workflow.js +1 -1
  236. package/dist/types/a2a/a2a_event.d.ts +7 -10
  237. package/dist/types/a2a/a2a_remote_agent.d.ts +5 -0
  238. package/dist/types/a2a/a2a_remote_agent_utils.d.ts +25 -0
  239. package/dist/types/a2a/agent_card.d.ts +9 -0
  240. package/dist/types/a2a/agent_executor.d.ts +1 -1
  241. package/dist/types/a2a/agent_to_a2a.d.ts +2 -0
  242. package/dist/types/a2a/auth.d.ts +5 -1
  243. package/dist/types/a2a/executor_context.d.ts +7 -1
  244. package/dist/types/a2a/index.d.ts +1 -1
  245. package/dist/types/a2a/request_metadata.d.ts +22 -0
  246. package/dist/types/agents/base_agent.d.ts +19 -16
  247. package/dist/types/agents/context.d.ts +8 -0
  248. package/dist/types/agents/functions.d.ts +72 -6
  249. package/dist/types/agents/invocation_context.d.ts +11 -3
  250. package/dist/types/agents/llm_agent.d.ts +9 -7
  251. package/dist/types/agents/processors/agent_transfer_llm_request_processor.d.ts +16 -1
  252. package/dist/types/agents/readonly_context.d.ts +4 -0
  253. package/dist/types/agents/run_config.d.ts +21 -8
  254. package/dist/types/artifacts/scoped_artifact_service.d.ts +13 -0
  255. package/dist/types/artifacts/session_artifact_service.d.ts +8 -1
  256. package/dist/types/auth/auth_credential.d.ts +13 -8
  257. package/dist/types/auth/auth_handler.d.ts +12 -1
  258. package/dist/types/auth/oauth2/oauth2_credential_refresher.d.ts +1 -1
  259. package/dist/types/auth/oauth2/oauth2_utils.d.ts +9 -0
  260. package/dist/types/auth/refresher/base_credential_refresher.d.ts +1 -1
  261. package/dist/types/code_executors/code_execution_utils.d.ts +1 -1
  262. package/dist/types/code_executors/container_code_executor.d.ts +89 -0
  263. package/dist/types/code_executors/docker_container.d.ts +79 -0
  264. package/dist/types/common.d.ts +22 -20
  265. package/dist/types/context/compaction_utils.d.ts +9 -1
  266. package/dist/types/errors/already_exists_error.d.ts +14 -0
  267. package/dist/types/errors/input_validation_error.d.ts +14 -0
  268. package/dist/types/errors/not_found_error.d.ts +14 -0
  269. package/dist/types/errors/session_not_found_error.d.ts +14 -0
  270. package/dist/types/errors/tool_execution_error.d.ts +36 -0
  271. package/dist/types/events/event_actions.d.ts +13 -0
  272. package/dist/types/index.d.ts +22 -1
  273. package/dist/types/memory/rag_memory_transcript.d.ts +55 -0
  274. package/dist/types/memory/vertex_ai_rag_api.d.ts +89 -0
  275. package/dist/types/memory/vertex_ai_rag_memory_service.d.ts +68 -0
  276. package/dist/types/models/chrome_prompt_llm.d.ts +210 -0
  277. package/dist/types/models/chrome_prompt_utils.d.ts +68 -0
  278. package/dist/types/models/google_llm.d.ts +8 -3
  279. package/dist/types/models/registry.d.ts +3 -2
  280. package/dist/types/plugins/_reflect_retry_utils.d.ts +72 -0
  281. package/dist/types/plugins/base_plugin.d.ts +12 -10
  282. package/dist/types/plugins/logging_plugin.d.ts +3 -2
  283. package/dist/types/plugins/reflect_retry_model_plugin.d.ts +132 -0
  284. package/dist/types/plugins/reflect_retry_tool_plugin.d.ts +187 -0
  285. package/dist/types/runner/runner.d.ts +7 -8
  286. package/dist/types/sessions/database_session_service.d.ts +1 -1
  287. package/dist/types/sessions/db/operations.d.ts +13 -1
  288. package/dist/types/sessions/db/schema.d.ts +23 -9
  289. package/dist/types/tools/base_tool.d.ts +11 -0
  290. package/dist/types/tools/base_toolset.d.ts +3 -4
  291. package/dist/types/tools/built_in_tool.d.ts +41 -0
  292. package/dist/types/tools/enterprise_web_search_tool.d.ts +4 -4
  293. package/dist/types/tools/forwarding_artifact_service.d.ts +23 -10
  294. package/dist/types/tools/function_tool.d.ts +42 -9
  295. package/dist/types/tools/google_maps_grounding_tool.d.ts +4 -4
  296. package/dist/types/tools/google_search_tool.d.ts +4 -4
  297. package/dist/types/tools/long_running_tool.d.ts +1 -1
  298. package/dist/types/tools/mcp/mcp_toolset.d.ts +11 -10
  299. package/dist/types/tools/openapi_tool/auth/auth_helpers.d.ts +5 -0
  300. package/dist/types/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.d.ts +0 -1
  301. package/dist/types/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.d.ts +0 -1
  302. package/dist/types/tools/preload_memory_tool.d.ts +1 -1
  303. package/dist/types/tools/resume_inputs.d.ts +25 -0
  304. package/dist/types/tools/retrieval/base_retrieval_tool.d.ts +21 -0
  305. package/dist/types/tools/retrieval/files_retrieval.d.ts +50 -0
  306. package/dist/types/tools/retrieval/llama_index_retrieval.d.ts +62 -0
  307. package/dist/types/tools/url_context_tool.d.ts +4 -4
  308. package/dist/types/tools/vertex_ai_search_tool.d.ts +4 -4
  309. package/dist/types/tools/vertex_rag_retrieval_tool.d.ts +13 -12
  310. package/dist/types/utils/crypto_shim.d.ts +16 -0
  311. package/dist/types/utils/gemini_schema_util.d.ts +5 -7
  312. package/dist/types/utils/logger.d.ts +23 -1
  313. package/dist/types/utils/logger_browser.d.ts +28 -0
  314. package/dist/types/utils/logger_node.d.ts +20 -0
  315. package/dist/types/utils/output_schema_utils.d.ts +3 -3
  316. package/dist/types/utils/redact_inline_data.d.ts +16 -0
  317. package/dist/types/utils/redact_uri.d.ts +12 -8
  318. package/dist/types/utils/ssrf_guard.d.ts +32 -0
  319. package/dist/types/version.d.ts +1 -1
  320. package/dist/web/index_web.js +304 -3
  321. package/dist/web/index_web.js.map +7 -0
  322. package/package.json +17 -14
  323. package/dist/web/a2a/a2a_event.js +0 -290
  324. package/dist/web/a2a/a2a_remote_agent.js +0 -200
  325. package/dist/web/a2a/a2a_remote_agent_run_processor.js +0 -189
  326. package/dist/web/a2a/a2a_remote_agent_utils.js +0 -141
  327. package/dist/web/a2a/agent_card.js +0 -373
  328. package/dist/web/a2a/agent_executor.js +0 -246
  329. package/dist/web/a2a/agent_to_a2a.js +0 -126
  330. package/dist/web/a2a/auth.js +0 -41
  331. package/dist/web/a2a/event_converter_utils.js +0 -242
  332. package/dist/web/a2a/event_processor_utils.js +0 -209
  333. package/dist/web/a2a/executor_context.js +0 -28
  334. package/dist/web/a2a/index.js +0 -20
  335. package/dist/web/a2a/metadata_converter_utils.js +0 -115
  336. package/dist/web/a2a/part_converter_utils.js +0 -201
  337. package/dist/web/agents/active_streaming_tool.js +0 -25
  338. package/dist/web/agents/base_agent.js +0 -462
  339. package/dist/web/agents/context.js +0 -146
  340. package/dist/web/agents/framework_function_calls.js +0 -34
  341. package/dist/web/agents/functions.js +0 -462
  342. package/dist/web/agents/instructions.js +0 -188
  343. package/dist/web/agents/invocation_context.js +0 -126
  344. package/dist/web/agents/live_request_queue.js +0 -151
  345. package/dist/web/agents/llm_agent.js +0 -1514
  346. package/dist/web/agents/loop_agent.js +0 -131
  347. package/dist/web/agents/parallel_agent.js +0 -122
  348. package/dist/web/agents/processors/agent_transfer_llm_request_processor.js +0 -113
  349. package/dist/web/agents/processors/base_llm_processor.js +0 -21
  350. package/dist/web/agents/processors/basic_llm_request_processor.js +0 -84
  351. package/dist/web/agents/processors/code_execution_request_processor.js +0 -381
  352. package/dist/web/agents/processors/content_processor_utils.js +0 -432
  353. package/dist/web/agents/processors/content_request_processor.js +0 -73
  354. package/dist/web/agents/processors/context_compactor_request_processor.js +0 -78
  355. package/dist/web/agents/processors/identity_llm_request_processor.js +0 -59
  356. package/dist/web/agents/processors/instructions_llm_request_processor.js +0 -85
  357. package/dist/web/agents/processors/interactions_request_processor.js +0 -56
  358. package/dist/web/agents/processors/request_confirmation_llm_request_processor.js +0 -393
  359. package/dist/web/agents/processors/request_input_llm_request_processor.js +0 -228
  360. package/dist/web/agents/processors/tool_filter_request_processor.js +0 -72
  361. package/dist/web/agents/readonly_context.js +0 -60
  362. package/dist/web/agents/routed_agent.js +0 -161
  363. package/dist/web/agents/run_config.js +0 -74
  364. package/dist/web/agents/sequential_agent.js +0 -141
  365. package/dist/web/agents/transcription_entry.js +0 -7
  366. package/dist/web/agents/user_input_request.js +0 -135
  367. package/dist/web/apps/app.js +0 -52
  368. package/dist/web/apps/resumability_config.js +0 -33
  369. package/dist/web/artifacts/base_artifact_service.js +0 -7
  370. package/dist/web/artifacts/file_artifact_service.js +0 -568
  371. package/dist/web/artifacts/gcs_artifact_service.js +0 -298
  372. package/dist/web/artifacts/in_memory_artifact_service.js +0 -172
  373. package/dist/web/artifacts/registry.js +0 -36
  374. package/dist/web/artifacts/scoped_artifact_service.js +0 -89
  375. package/dist/web/auth/auth_credential.js +0 -18
  376. package/dist/web/auth/auth_handler.js +0 -151
  377. package/dist/web/auth/auth_preprocessor.js +0 -184
  378. package/dist/web/auth/auth_provider_registry.js +0 -37
  379. package/dist/web/auth/auth_schemes.js +0 -36
  380. package/dist/web/auth/auth_tool.js +0 -7
  381. package/dist/web/auth/base_auth_provider.js +0 -7
  382. package/dist/web/auth/credential_response_binding.js +0 -91
  383. package/dist/web/auth/credential_service/base_credential_service.js +0 -7
  384. package/dist/web/auth/credential_service/in_memory_credential_service.js +0 -50
  385. package/dist/web/auth/credential_service/session_state_credential_service.js +0 -27
  386. package/dist/web/auth/exchanger/base_credential_exchanger.js +0 -16
  387. package/dist/web/auth/exchanger/credential_exchanger_registry.js +0 -35
  388. package/dist/web/auth/oauth2/oauth2_credential_exchanger.js +0 -194
  389. package/dist/web/auth/oauth2/oauth2_credential_refresher.js +0 -105
  390. package/dist/web/auth/oauth2/oauth2_discovery.js +0 -196
  391. package/dist/web/auth/oauth2/oauth2_utils.js +0 -105
  392. package/dist/web/auth/refresher/credential_refresher_registry.js +0 -44
  393. package/dist/web/code_executors/agent_engine_sandbox_code_executor.js +0 -284
  394. package/dist/web/code_executors/base_code_executor.js +0 -68
  395. package/dist/web/code_executors/built_in_code_executor.js +0 -50
  396. package/dist/web/code_executors/code_execution_utils.js +0 -131
  397. package/dist/web/code_executors/code_executor_context.js +0 -174
  398. package/dist/web/code_executors/unsafe_local_code_executor.js +0 -221
  399. package/dist/web/common.js +0 -452
  400. package/dist/web/context/agent_controlled_context_compactor.js +0 -76
  401. package/dist/web/context/anchored_context_compactor.js +0 -120
  402. package/dist/web/context/base_context_compactor.js +0 -7
  403. package/dist/web/context/compaction_utils.js +0 -42
  404. package/dist/web/context/summarizers/base_summarizer.js +0 -7
  405. package/dist/web/context/summarizers/llm_summarizer.js +0 -91
  406. package/dist/web/context/token_based_context_compactor.js +0 -118
  407. package/dist/web/context/trajectory_thought_pruning_compactor.js +0 -47
  408. package/dist/web/context/truncating_context_compactor.js +0 -34
  409. package/dist/web/environment/base_environment.js +0 -71
  410. package/dist/web/environment/local_environment.js +0 -165
  411. package/dist/web/events/compacted_event.js +0 -51
  412. package/dist/web/events/event.js +0 -208
  413. package/dist/web/events/event_actions.js +0 -74
  414. package/dist/web/events/structured_events.js +0 -79
  415. package/dist/web/examples/base_example_provider.js +0 -32
  416. package/dist/web/examples/example.js +0 -7
  417. package/dist/web/examples/example_util.js +0 -83
  418. package/dist/web/features/feature_registry.js +0 -115
  419. package/dist/web/index.js +0 -57
  420. package/dist/web/integrations/agent_registry/agent_registry.js +0 -337
  421. package/dist/web/integrations/agent_registry/agent_registry_mcp_toolset.js +0 -120
  422. package/dist/web/integrations/agent_registry/helpers.js +0 -32
  423. package/dist/web/integrations/agent_registry/types.js +0 -20
  424. package/dist/web/memory/base_memory_service.js +0 -7
  425. package/dist/web/memory/in_memory_memory_service.js +0 -89
  426. package/dist/web/memory/memory_entry.js +0 -7
  427. package/dist/web/memory/vertex_ai_memory_bank_service.js +0 -496
  428. package/dist/web/models/apigee_llm.js +0 -227
  429. package/dist/web/models/base_llm.js +0 -78
  430. package/dist/web/models/base_llm_connection.js +0 -7
  431. package/dist/web/models/gemini_llm_connection.js +0 -183
  432. package/dist/web/models/google_llm.js +0 -396
  433. package/dist/web/models/interactions_utils.js +0 -745
  434. package/dist/web/models/llm_request.js +0 -57
  435. package/dist/web/models/llm_response.js +0 -48
  436. package/dist/web/models/registry.js +0 -100
  437. package/dist/web/models/routed_llm.js +0 -112
  438. package/dist/web/plugins/base_plugin.js +0 -305
  439. package/dist/web/plugins/global_instruction_plugin.js +0 -71
  440. package/dist/web/plugins/logging_plugin.js +0 -241
  441. package/dist/web/plugins/plugin_manager.js +0 -318
  442. package/dist/web/plugins/security_plugin.js +0 -148
  443. package/dist/web/runner/in_memory_runner.js +0 -50
  444. package/dist/web/runner/runner.js +0 -747
  445. package/dist/web/sessions/base_session_service.js +0 -123
  446. package/dist/web/sessions/database_session_service.js +0 -440
  447. package/dist/web/sessions/db/operations.js +0 -124
  448. package/dist/web/sessions/db/schema.js +0 -216
  449. package/dist/web/sessions/in_memory_session_service.js +0 -251
  450. package/dist/web/sessions/registry.js +0 -38
  451. package/dist/web/sessions/session.js +0 -23
  452. package/dist/web/sessions/state.js +0 -159
  453. package/dist/web/sessions/state_write_order.js +0 -74
  454. package/dist/web/sessions/vertex_ai_session_service.js +0 -546
  455. package/dist/web/skills/gcp_skill_registry.js +0 -80
  456. package/dist/web/skills/loader.js +0 -372
  457. package/dist/web/skills/prompt.js +0 -34
  458. package/dist/web/skills/skill.js +0 -67
  459. package/dist/web/skills/skill_registry.js +0 -7
  460. package/dist/web/telemetry/google_cloud.js +0 -99
  461. package/dist/web/telemetry/setup.js +0 -89
  462. package/dist/web/telemetry/tracing.js +0 -304
  463. package/dist/web/tools/agent_tool.js +0 -150
  464. package/dist/web/tools/base_tool.js +0 -116
  465. package/dist/web/tools/base_toolset.js +0 -62
  466. package/dist/web/tools/consolidate_context_tool.js +0 -55
  467. package/dist/web/tools/enterprise_web_search_tool.js +0 -60
  468. package/dist/web/tools/example_tool.js +0 -46
  469. package/dist/web/tools/exit_loop_tool.js +0 -47
  470. package/dist/web/tools/finish_task_tool.js +0 -92
  471. package/dist/web/tools/forwarding_artifact_service.js +0 -51
  472. package/dist/web/tools/function_tool.js +0 -151
  473. package/dist/web/tools/get_user_choice_tool.js +0 -27
  474. package/dist/web/tools/google_maps_grounding_tool.js +0 -59
  475. package/dist/web/tools/google_search_tool.js +0 -55
  476. package/dist/web/tools/load_artifacts_tool.js +0 -159
  477. package/dist/web/tools/load_memory_tool.js +0 -83
  478. package/dist/web/tools/long_running_tool.js +0 -58
  479. package/dist/web/tools/mcp/index.js +0 -11
  480. package/dist/web/tools/mcp/load_mcp_resource_tool.js +0 -111
  481. package/dist/web/tools/mcp/mcp_session_manager.js +0 -114
  482. package/dist/web/tools/mcp/mcp_tool.js +0 -47
  483. package/dist/web/tools/mcp/mcp_toolset.js +0 -144
  484. package/dist/web/tools/openapi_tool/auth/auth_helpers.js +0 -53
  485. package/dist/web/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +0 -62
  486. package/dist/web/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +0 -113
  487. package/dist/web/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +0 -242
  488. package/dist/web/tools/openapi_tool/openapi_spec_parser/operation_parser.js +0 -200
  489. package/dist/web/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +0 -98
  490. package/dist/web/tools/openapi_tool/openapi_toolset.js +0 -99
  491. package/dist/web/tools/openapi_tool/rest_api_tool.js +0 -247
  492. package/dist/web/tools/preload_memory_tool.js +0 -81
  493. package/dist/web/tools/request_input_tool.js +0 -29
  494. package/dist/web/tools/skill/list_skills_tool.js +0 -52
  495. package/dist/web/tools/skill/load_skill_resource_tool.js +0 -192
  496. package/dist/web/tools/skill/load_skill_tool.js +0 -96
  497. package/dist/web/tools/skill/run_skill_inline_script_tool.js +0 -191
  498. package/dist/web/tools/skill/run_skill_script_tool.js +0 -227
  499. package/dist/web/tools/skill/search_skills_tool.js +0 -84
  500. package/dist/web/tools/skill/skill_toolset.js +0 -185
  501. package/dist/web/tools/tool_confirmation.js +0 -43
  502. package/dist/web/tools/url_context_tool.js +0 -48
  503. package/dist/web/tools/vertex_ai_search_tool.js +0 -107
  504. package/dist/web/tools/vertex_rag_retrieval_tool.js +0 -40
  505. package/dist/web/utils/async_hooks_shim.js +0 -28
  506. package/dist/web/utils/async_queue.js +0 -88
  507. package/dist/web/utils/branch_trie.js +0 -16
  508. package/dist/web/utils/case_utils.js +0 -28
  509. package/dist/web/utils/client_labels.js +0 -70
  510. package/dist/web/utils/crypto_shim.js +0 -18
  511. package/dist/web/utils/deprecated.js +0 -40
  512. package/dist/web/utils/env_aware_utils.js +0 -115
  513. package/dist/web/utils/error_utils.js +0 -101
  514. package/dist/web/utils/experimental.js +0 -54
  515. package/dist/web/utils/failover_utils.js +0 -100
  516. package/dist/web/utils/file_extension_utils.js +0 -55
  517. package/dist/web/utils/file_utils.js +0 -108
  518. package/dist/web/utils/gemini_schema_util.js +0 -177
  519. package/dist/web/utils/genai_schema_to_json.js +0 -80
  520. package/dist/web/utils/live_connection_utils.js +0 -257
  521. package/dist/web/utils/logger.js +0 -140
  522. package/dist/web/utils/model_name.js +0 -75
  523. package/dist/web/utils/object_notation_utils.js +0 -54
  524. package/dist/web/utils/optional_peer.js +0 -38
  525. package/dist/web/utils/output_schema_utils.js +0 -18
  526. package/dist/web/utils/partial_copy.js +0 -26
  527. package/dist/web/utils/redact_uri.js +0 -39
  528. package/dist/web/utils/schema.js +0 -167
  529. package/dist/web/utils/simple_zod_to_json.js +0 -134
  530. package/dist/web/utils/streaming_utils.js +0 -438
  531. package/dist/web/utils/task.js +0 -38
  532. package/dist/web/utils/variant_utils.js +0 -23
  533. package/dist/web/utils/vertex_ai_utils.js +0 -27
  534. package/dist/web/version.js +0 -11
  535. package/dist/web/workflow/base_node.js +0 -215
  536. package/dist/web/workflow/branch_path.js +0 -77
  537. package/dist/web/workflow/dynamic_node_scheduler.js +0 -202
  538. package/dist/web/workflow/errors.js +0 -140
  539. package/dist/web/workflow/graph.js +0 -127
  540. package/dist/web/workflow/index.js +0 -80
  541. package/dist/web/workflow/node.js +0 -87
  542. package/dist/web/workflow/node_builders.js +0 -40
  543. package/dist/web/workflow/node_context.js +0 -236
  544. package/dist/web/workflow/node_error_event.js +0 -86
  545. package/dist/web/workflow/node_runner.js +0 -481
  546. package/dist/web/workflow/node_state.js +0 -43
  547. package/dist/web/workflow/node_status.js +0 -20
  548. package/dist/web/workflow/nodes/function_node.js +0 -221
  549. package/dist/web/workflow/nodes/join_node.js +0 -47
  550. package/dist/web/workflow/nodes/node_tool.js +0 -131
  551. package/dist/web/workflow/nodes/parallel_worker.js +0 -120
  552. package/dist/web/workflow/nodes/tool_node.js +0 -126
  553. package/dist/web/workflow/request_input.js +0 -36
  554. package/dist/web/workflow/retry_config.js +0 -43
  555. package/dist/web/workflow/run_llm_agent_as_node.js +0 -266
  556. package/dist/web/workflow/run_node_as_invocation.js +0 -170
  557. package/dist/web/workflow/schedule_dynamic_node.js +0 -26
  558. package/dist/web/workflow/trigger.js +0 -7
  559. package/dist/web/workflow/utils/graph_parser.js +0 -188
  560. package/dist/web/workflow/utils/graph_validation.js +0 -189
  561. package/dist/web/workflow/utils/hitl_utils.js +0 -239
  562. package/dist/web/workflow/utils/rehydration_utils.js +0 -342
  563. package/dist/web/workflow/utils/retry_utils.js +0 -82
  564. package/dist/web/workflow/utils/workflow_graph_utils.js +0 -115
  565. package/dist/web/workflow/workflow.js +0 -529
  566. /package/dist/{web/artifacts/session_artifact_service.js → esm/tools/resume_inputs.js} +0 -0
@@ -0,0 +1,41 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { BaseTool, IN_MODEL_TOOL_SYMBOL, ToolProcessLlmRequest } from './base_tool.js';
7
+ /**
8
+ * A tool the model runs itself. It is switched on through request parameters
9
+ * — Google Search, URL context, the grounding and retrieval tools — and never
10
+ * executes here.
11
+ *
12
+ * Such a tool has no function declaration, so `BaseTool.processLlmRequest`
13
+ * returns before the line that registers it in `llmRequest.toolsDict`. That
14
+ * left the model primed with a name the framework could not route: a model
15
+ * that returns one as an explicit function call, rather than running it,
16
+ * produced a call that failed to resolve even though the user had registered
17
+ * the tool. Registering the name here keeps the call resolvable, and
18
+ * `runAsync` answers it by telling the model the tool is not callable.
19
+ *
20
+ * A tool whose `applyBuiltInConfig` returns without configuring anything —
21
+ * every one of them does when the request carries no model — still claims its
22
+ * name. That request never reaches a model, so no function call can come back
23
+ * for it and the registration is inert.
24
+ */
25
+ export declare abstract class BuiltInTool extends BaseTool {
26
+ /** Marks this tool as one the model runs itself. */
27
+ readonly [IN_MODEL_TOOL_SYMBOL] = true;
28
+ /**
29
+ * Adds this tool's configuration to the request.
30
+ *
31
+ * @param request The request to process the LLM request.
32
+ */
33
+ protected abstract applyBuiltInConfig(request: ToolProcessLlmRequest): Promise<void>;
34
+ processLlmRequest(request: ToolProcessLlmRequest): Promise<void>;
35
+ /**
36
+ * Answers a function call the model should not have made. The tool is
37
+ * already configured on the request and its results arrive as grounding
38
+ * metadata, so the model is told to use those rather than call again.
39
+ */
40
+ runAsync(): Promise<unknown>;
41
+ }
@@ -1,5 +1,6 @@
1
1
  import { LlmRequest } from '../models/llm_request.js';
2
- import { BaseTool, ToolProcessLlmRequest } from './base_tool.js';
2
+ import { ToolProcessLlmRequest } from './base_tool.js';
3
+ import { BuiltInTool } from './built_in_tool.js';
3
4
  /**
4
5
  * Appends the Enterprise Web Search built-in tool to the LLM request when the
5
6
  * target model supports it.
@@ -15,10 +16,9 @@ export declare function applyEnterpriseWebSearch(llmRequest: LlmRequest): void;
15
16
  * This tool operates internally within the model and does not require or
16
17
  * perform local code execution.
17
18
  */
18
- export declare class EnterpriseWebSearchTool extends BaseTool {
19
+ export declare class EnterpriseWebSearchTool extends BuiltInTool {
19
20
  constructor();
20
- runAsync(): Promise<unknown>;
21
- processLlmRequest({ llmRequest, }: ToolProcessLlmRequest): Promise<void>;
21
+ protected applyBuiltInConfig({ llmRequest, }: ToolProcessLlmRequest): Promise<void>;
22
22
  }
23
23
  /**
24
24
  * A global instance of {@link EnterpriseWebSearchTool}.
@@ -4,21 +4,34 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { Part } from '@google/genai';
7
- import { ArtifactVersion, BaseArtifactService, DeleteArtifactRequest, ListArtifactKeysRequest, ListVersionsRequest, LoadArtifactRequest, SaveArtifactRequest } from '../artifacts/base_artifact_service.js';
7
+ import { ArtifactVersion } from '../artifacts/base_artifact_service.js';
8
+ import { SessionArtifactService, SessionLoadArtifactRequest, SessionSaveArtifactRequest } from '../artifacts/session_artifact_service.js';
8
9
  import { Context } from '../agents/context.js';
10
+ /**
11
+ * A unique symbol to identify session-scoped artifact services.
12
+ *
13
+ * Resolves to the same symbol as the one used by `isSessionArtifactService` in
14
+ * `session_artifact_service.ts` because `Symbol.for` looks up the global
15
+ * symbol registry.
16
+ */
17
+ declare const SESSION_ARTIFACT_SERVICE_SIGNATURE_SYMBOL: unique symbol;
9
18
  /**
10
19
  * Artifact service that forwards to the parent tool context.
11
20
  */
12
- export declare class ForwardingArtifactService implements BaseArtifactService {
21
+ export declare class ForwardingArtifactService implements SessionArtifactService {
13
22
  private readonly toolContext;
14
- private readonly invocationContext;
23
+ /**
24
+ * Brands this class as a session-scoped artifact service.
25
+ */
26
+ readonly [SESSION_ARTIFACT_SERVICE_SIGNATURE_SYMBOL] = true;
15
27
  constructor(toolContext: Context);
16
- saveArtifact(request: SaveArtifactRequest): Promise<number>;
17
- loadArtifact(request: LoadArtifactRequest): Promise<Part | undefined>;
18
- listArtifactKeys(_request: ListArtifactKeysRequest): Promise<string[]>;
28
+ saveArtifact(request: SessionSaveArtifactRequest): Promise<number>;
29
+ loadArtifact(request: SessionLoadArtifactRequest): Promise<Part | undefined>;
30
+ listArtifactKeys(): Promise<string[]>;
19
31
  private getArtifactService;
20
- deleteArtifact(request: DeleteArtifactRequest): Promise<void>;
21
- listVersions(request: ListVersionsRequest): Promise<number[]>;
22
- listArtifactVersions(request: ListVersionsRequest): Promise<ArtifactVersion[]>;
23
- getArtifactVersion(request: LoadArtifactRequest): Promise<ArtifactVersion | undefined>;
32
+ deleteArtifact(filename: string): Promise<void>;
33
+ listVersions(filename: string): Promise<number[]>;
34
+ listArtifactVersions(filename: string): Promise<ArtifactVersion[]>;
35
+ getArtifactVersion(request: SessionLoadArtifactRequest): Promise<ArtifactVersion | undefined>;
24
36
  }
37
+ export {};
@@ -29,11 +29,31 @@ export type ToolExecuteFunction<TParameters extends ToolInputParameters> = (inpu
29
29
  export type RequireConfirmation<TParameters extends ToolInputParameters> = boolean | ((input: ToolExecuteArgument<TParameters>, toolContext?: Context) => boolean | Promise<boolean>);
30
30
  /**
31
31
  * The configuration options for creating a function-based tool.
32
- * The `name`, `description` and `parameters` fields are used to generate the
33
- * tool definition that is passed to the LLM prompt.
34
32
  *
35
- * Note: Unlike Python's ADK, JSDoc on the `execute` function is ignored
36
- * for tool definition generation.
33
+ * What the model is shown about the tool is built from these options: `name`,
34
+ * `description` and the `parameters` schema become its function declaration.
35
+ * TypeScript types and JSDoc are erased at runtime and cannot be read back, so
36
+ * `description` is required and per-argument descriptions have to live in the
37
+ * schema — typically as Zod `.describe()` calls.
38
+ *
39
+ * ```ts
40
+ * new FunctionTool({
41
+ * name: 'get_weather',
42
+ * description: 'Returns the current weather for a city.',
43
+ * parameters: z.object({
44
+ * city: z.string().describe('City name, e.g. "San Francisco".'),
45
+ * }),
46
+ * execute: async ({city}) => fetchWeather(city),
47
+ * });
48
+ * ```
49
+ *
50
+ * A subclass may add to the declaration it derives from these options: given
51
+ * the identical options, {@link LongRunningFunctionTool} appends a sentence to
52
+ * `description` telling the model not to re-invoke a call that is still in
53
+ * flight.
54
+ *
55
+ * `parameters` is a description for the model, and only a Zod object schema is
56
+ * additionally enforced at call time — see {@link FunctionTool.runAsync}.
37
57
  */
38
58
  export type ToolOptions<TParameters extends ToolInputParameters> = {
39
59
  name?: string;
@@ -74,10 +94,20 @@ export declare function isFunctionTool(obj: unknown): obj is FunctionTool;
74
94
  /**
75
95
  * A tool that wraps a user-defined function, making it callable by an LLM.
76
96
  *
77
- * The function's name, description, and parameter schema are exposed to the
97
+ * The tool's name, description, and parameter schema are exposed to the
78
98
  * model as a function declaration. When the model requests a call, the
79
- * framework validates the arguments and invokes the user-provided `execute`
80
- * callback.
99
+ * framework invokes the user-provided `execute` callback with the arguments
100
+ * the model produced.
101
+ *
102
+ * Those arguments are checked only when `parameters` is a Zod object schema:
103
+ * it is applied with `parse()`, so a call that does not match is rejected and
104
+ * `execute` receives the parsed value. Keys the schema does not declare are
105
+ * handled however that schema says: a plain `z.object()` drops them,
106
+ * `.passthrough()` forwards them, `.strict()` rejects the call. A plain
107
+ * genai `Schema`, or no `parameters` at all, is shown to the model but is not
108
+ * a runtime guard — the arguments reach `execute` exactly as the model
109
+ * produced them, wrong types and extra keys included. Validate them inside
110
+ * `execute` on that path.
81
111
  */
82
112
  export declare class FunctionTool<TParameters extends ToolInputParameters = undefined> extends BaseTool {
83
113
  /** A unique symbol to identify ADK function tool class. */
@@ -96,11 +126,14 @@ export declare class FunctionTool<TParameters extends ToolInputParameters = unde
96
126
  */
97
127
  _getDeclaration(): FunctionDeclaration;
98
128
  /**
99
- * Validates the model-provided arguments against the parameter schema and
100
- * invokes the user-defined `execute` function.
129
+ * Invokes the user-defined `execute` function with the model-provided
130
+ * arguments, after parsing them when `parameters` is a Zod object schema.
131
+ * Any other `parameters` value is passed through unchecked.
101
132
  *
102
133
  * @param req The tool request containing arguments and tool context.
103
134
  * @returns A promise resolving to the function's return value.
135
+ * @throws {Error} Wrapped as `Error in tool '<name>': …` when a Zod
136
+ * `parameters` schema rejects the arguments or `execute` throws.
104
137
  */
105
138
  runAsync(req: RunAsyncToolRequest): Promise<unknown>;
106
139
  /**
@@ -1,5 +1,6 @@
1
1
  import { LlmRequest } from '../models/llm_request.js';
2
- import { BaseTool, ToolProcessLlmRequest } from './base_tool.js';
2
+ import { ToolProcessLlmRequest } from './base_tool.js';
3
+ import { BuiltInTool } from './built_in_tool.js';
3
4
  /**
4
5
  * Applies Google Maps grounding to the LLM request if supported.
5
6
  */
@@ -11,10 +12,9 @@ export declare function applyGoogleMapsGrounding(llmRequest: LlmRequest): void;
11
12
  * This tool operates internally within the model and does not require or
12
13
  * perform local code execution.
13
14
  */
14
- export declare class GoogleMapsGroundingTool extends BaseTool {
15
+ export declare class GoogleMapsGroundingTool extends BuiltInTool {
15
16
  constructor();
16
- runAsync(): Promise<unknown>;
17
- processLlmRequest({ llmRequest, }: ToolProcessLlmRequest): Promise<void>;
17
+ protected applyBuiltInConfig({ llmRequest, }: ToolProcessLlmRequest): Promise<void>;
18
18
  }
19
19
  /**
20
20
  * A global instance of {@link GoogleMapsGroundingTool}.
@@ -1,4 +1,5 @@
1
- import { BaseTool, ToolProcessLlmRequest } from './base_tool.js';
1
+ import { ToolProcessLlmRequest } from './base_tool.js';
2
+ import { BuiltInTool } from './built_in_tool.js';
2
3
  /**
3
4
  * A built-in tool that is automatically invoked by Gemini 2 models to retrieve
4
5
  * search results from Google Search.
@@ -6,10 +7,9 @@ import { BaseTool, ToolProcessLlmRequest } from './base_tool.js';
6
7
  * This tool operates internally within the model and does not require or
7
8
  * perform local code execution.
8
9
  */
9
- export declare class GoogleSearchTool extends BaseTool {
10
+ export declare class GoogleSearchTool extends BuiltInTool {
10
11
  constructor();
11
- runAsync(): Promise<unknown>;
12
- processLlmRequest({ llmRequest, }: ToolProcessLlmRequest): Promise<void>;
12
+ protected applyBuiltInConfig({ llmRequest, }: ToolProcessLlmRequest): Promise<void>;
13
13
  }
14
14
  /**
15
15
  * A global instance of {@link GoogleSearchTool}.
@@ -10,7 +10,7 @@ import { FunctionTool, ToolInputParameters, ToolOptions } from './function_tool.
10
10
  * asynchronously.
11
11
  *
12
12
  * The framework invokes the user-provided function and delivers the response
13
- * back to the model once it completes, identified by the `function_call_id`.
13
+ * back to the model once it completes, matched up by the function call's `id`.
14
14
  * The model is also instructed not to re-invoke the tool while a call is
15
15
  * already in flight.
16
16
  */
@@ -24,18 +24,19 @@ import { MCPConnectionParams } from './mcp_session_manager.js';
24
24
  * LLM invokes the prefixed tool, this toolset transparently strips the prefix
25
25
  * before sending the request to the underlying MCP server.
26
26
  *
27
- * Usage:
28
- * import { MCPToolset } from '@google/adk';
29
- * import { StreamableHTTPConnectionParamsSchema } from '@google/adk';
27
+ * @example
28
+ * ```ts
29
+ * import {MCPToolset} from '@google/adk';
30
+ * import type {StreamableHTTPConnectionParams} from '@google/adk';
30
31
  *
31
- * const connectionParams = StreamableHTTPConnectionParamsSchema.parse({
32
- * type: "StreamableHTTPConnectionParams",
33
- * url: "http://localhost:8788/mcp"
34
- * });
35
- *
36
- * const mcpToolset = new MCPToolset(connectionParams);
37
- * const tools = await mcpToolset.getTools();
32
+ * const connectionParams: StreamableHTTPConnectionParams = {
33
+ * type: 'StreamableHTTPConnectionParams',
34
+ * url: 'http://localhost:8788/mcp',
35
+ * };
38
36
  *
37
+ * const mcpToolset = new MCPToolset(connectionParams);
38
+ * const tools = await mcpToolset.getTools();
39
+ * ```
39
40
  */
40
41
  export declare class MCPToolset extends BaseToolset {
41
42
  private readonly mcpSessionManager;
@@ -8,11 +8,16 @@ import { AuthCredential } from '../../../auth/auth_credential.js';
8
8
  /**
9
9
  * Applies the given credential to the request headers and URL.
10
10
  *
11
+ * An HTTP credential that carries no usable token throws, so the caller never
12
+ * sends an unauthenticated request in place of an authenticated one.
13
+ *
11
14
  * @param url The target URL.
12
15
  * @param headers The request headers.
13
16
  * @param credential The auth credential.
14
17
  * @param authScheme The auth scheme from OpenAPI spec.
15
18
  * @returns The updated URL (if modified by query params).
19
+ * @throws {Error} If an HTTP credential holds basic credentials, or holds no
20
+ * credentials at all.
16
21
  */
17
22
  export declare function applyCredential(url: string, headers: Record<string, string>, credential?: AuthCredential, authScheme?: OpenAPIV3.SecuritySchemeObject): string;
18
23
  /**
@@ -8,7 +8,6 @@ import { AuthScheme } from '../../../../auth/auth_schemes.js';
8
8
  import { BaseCredentialExchanger, ExchangeResult } from '../../../../auth/exchanger/base_credential_exchanger.js';
9
9
  /**
10
10
  * Automatically selects the appropriate credential exchanger based on the auth scheme.
11
- * Ported from Python implementation.
12
11
  */
13
12
  export declare class AutoAuthCredentialExchanger implements BaseCredentialExchanger {
14
13
  private exchangers;
@@ -8,7 +8,6 @@ import { AuthScheme } from '../../../../auth/auth_schemes.js';
8
8
  import { BaseCredentialExchanger, ExchangeResult } from '../../../../auth/exchanger/base_credential_exchanger.js';
9
9
  /**
10
10
  * Fetches credentials for Google Service Account.
11
- * Ported from Python implementation.
12
11
  */
13
12
  export declare class ServiceAccountCredentialExchanger implements BaseCredentialExchanger {
14
13
  exchange(params: {
@@ -7,7 +7,7 @@ import { BaseTool, RunAsyncToolRequest, ToolProcessLlmRequest } from './base_too
7
7
  /**
8
8
  * A tool that preloads the memory for the current user.
9
9
  *
10
- * This tool will be automatically executed for each llm_request, and it won't be
10
+ * This tool is automatically executed for each `LlmRequest`, and it won't be
11
11
  * called by the model.
12
12
  *
13
13
  * NOTE: Currently this tool only uses text part from the memory.
@@ -0,0 +1,25 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /**
7
+ * Inputs handed to a tool call that is being resumed after it paused for them,
8
+ * keyed by the id of the interrupt that asked for each one. JSON-serializable.
9
+ *
10
+ * Deliberately separate from `ToolConfirmation`. Both travel the same
11
+ * route — built by a resume processor, threaded through `handleFunctionCallList`
12
+ * onto the tool context — but they say different things. A `ToolConfirmation`
13
+ * says a human looked at an action and approved it, and the confirmation gate
14
+ * runs a tool on the strength of that. `ResumeInputs` says only that the user
15
+ * answered a question the tool asked; it carries no authority and cannot
16
+ * satisfy a gate, which is why it has no `confirmed` field to set.
17
+ *
18
+ * Named here rather than left as a bare mapping so the distinction above has
19
+ * somewhere to live, but the shape mirrors `Context.resume_inputs` in
20
+ * `google/adk-python` (`agents/context.py`): the same flat mapping keyed by
21
+ * interrupt id, defaulting to empty rather than absent.
22
+ *
23
+ * @experimental (Experimental, subject to change)
24
+ */
25
+ export type ResumeInputs = Record<string, unknown>;
@@ -0,0 +1,21 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { FunctionDeclaration } from '@google/genai';
7
+ import { BaseTool } from '../base_tool.js';
8
+ /**
9
+ * The base class for tools that answer a single natural-language query by
10
+ * retrieving text the framework fetches itself.
11
+ *
12
+ * Subclasses supply `runAsync`; this class supplies the declaration the model
13
+ * sees, so every retrieval tool advertises the same one-argument `query`
14
+ * signature whatever store backs it.
15
+ *
16
+ * Ported from adk-python
17
+ * `src/google/adk/tools/retrieval/base_retrieval_tool.py` at ref `v0.1.0`.
18
+ */
19
+ export declare abstract class BaseRetrievalTool extends BaseTool {
20
+ _getDeclaration(): FunctionDeclaration;
21
+ }
@@ -0,0 +1,50 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { LlamaIndexRetrieval, LlamaIndexRetriever } from './llama_index_retrieval.js';
7
+ /** Parameters shared by the `FilesRetrieval` constructor and `create`. */
8
+ export interface FilesRetrievalParams {
9
+ name: string;
10
+ description: string;
11
+ /** The directory whose files are indexed. */
12
+ inputDir: string;
13
+ }
14
+ /** Parameters for the `FilesRetrieval` constructor. */
15
+ export interface FilesRetrievalConstructorParams extends FilesRetrievalParams {
16
+ /** A retriever already built over `inputDir`. */
17
+ retriever: LlamaIndexRetriever;
18
+ }
19
+ /**
20
+ * A retrieval tool over the files in a local directory.
21
+ *
22
+ * Ported from adk-python `src/google/adk/tools/retrieval/files_retrieval.py`
23
+ * at ref `v0.1.0`.
24
+ *
25
+ * adk-python reads the directory and builds the index inside `__init__`.
26
+ * Both steps are asynchronous in LlamaIndexTS, so they live in the static
27
+ * `create` instead; the constructor takes the finished retriever, which also
28
+ * lets a caller supply one built some other way.
29
+ *
30
+ * @example
31
+ * ```ts
32
+ * const tool = await FilesRetrieval.create({
33
+ * name: 'docs',
34
+ * description: 'Company documentation.',
35
+ * inputDir: './docs',
36
+ * });
37
+ * ```
38
+ */
39
+ export declare class FilesRetrieval extends LlamaIndexRetrieval {
40
+ readonly inputDir: string;
41
+ constructor(params: FilesRetrievalConstructorParams);
42
+ /**
43
+ * Indexes every file under `inputDir` and returns a tool that retrieves
44
+ * from it.
45
+ *
46
+ * Requires the optional `llamaindex` and `@llamaindex/readers` packages,
47
+ * and a configured LlamaIndex embedding model.
48
+ */
49
+ static create(params: FilesRetrievalParams): Promise<FilesRetrieval>;
50
+ }
@@ -0,0 +1,62 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { RunAsyncToolRequest } from '../base_tool.js';
7
+ import { BaseRetrievalTool } from './base_retrieval_tool.js';
8
+ /**
9
+ * The part of LlamaIndexTS's `BaseNode` this tool reads.
10
+ *
11
+ * A vector retriever returns `TextNode`s, which carry the chunk text on
12
+ * `text`. The interface is structural so that `llamaindex` stays an optional
13
+ * dependency — nothing here imports it, matching how adk-python keeps the
14
+ * import under `TYPE_CHECKING`.
15
+ */
16
+ export interface LlamaIndexNode {
17
+ /** The chunk text. */
18
+ text?: string;
19
+ }
20
+ /** LlamaIndexTS's `NodeWithScore`. */
21
+ export interface LlamaIndexNodeWithScore {
22
+ node: LlamaIndexNode;
23
+ score?: number;
24
+ }
25
+ /**
26
+ * The part of LlamaIndexTS's `BaseRetriever` this tool calls.
27
+ *
28
+ * `retrieve` accepts a `QueryType`, which includes a plain string, so passing
29
+ * the model's `query` argument straight through matches adk-python.
30
+ */
31
+ export interface LlamaIndexRetriever {
32
+ retrieve(query: string): Promise<LlamaIndexNodeWithScore[]>;
33
+ }
34
+ /** Parameters for the `LlamaIndexRetrieval` constructor. */
35
+ export interface LlamaIndexRetrievalParams {
36
+ name: string;
37
+ description: string;
38
+ retriever: LlamaIndexRetriever;
39
+ }
40
+ /**
41
+ * A retrieval tool backed by a LlamaIndex retriever.
42
+ *
43
+ * Answers with the text of the single highest-scoring node, as adk-python
44
+ * does.
45
+ *
46
+ * Ported from adk-python
47
+ * `src/google/adk/tools/retrieval/llama_index_retrieval.py` at ref `v0.1.0`.
48
+ *
49
+ * @example
50
+ * ```ts
51
+ * const tool = new LlamaIndexRetrieval({
52
+ * name: 'docs',
53
+ * description: 'Company documentation.',
54
+ * retriever: index.asRetriever(),
55
+ * });
56
+ * ```
57
+ */
58
+ export declare class LlamaIndexRetrieval extends BaseRetrievalTool {
59
+ readonly retriever: LlamaIndexRetriever;
60
+ constructor(params: LlamaIndexRetrievalParams);
61
+ runAsync({ args }: RunAsyncToolRequest): Promise<unknown>;
62
+ }
@@ -1,4 +1,5 @@
1
- import { BaseTool, ToolProcessLlmRequest } from './base_tool.js';
1
+ import { ToolProcessLlmRequest } from './base_tool.js';
2
+ import { BuiltInTool } from './built_in_tool.js';
2
3
  /**
3
4
  * A built-in tool that allows Gemini 2+ models to retrieve content from URLs
4
5
  * provided in the conversation.
@@ -6,10 +7,9 @@ import { BaseTool, ToolProcessLlmRequest } from './base_tool.js';
6
7
  * This tool operates internally within the model and does not require or
7
8
  * perform local code execution.
8
9
  */
9
- export declare class UrlContextTool extends BaseTool {
10
+ export declare class UrlContextTool extends BuiltInTool {
10
11
  constructor();
11
- runAsync(): Promise<unknown>;
12
- processLlmRequest({ llmRequest, }: ToolProcessLlmRequest): Promise<void>;
12
+ protected applyBuiltInConfig({ llmRequest, }: ToolProcessLlmRequest): Promise<void>;
13
13
  }
14
14
  /**
15
15
  * A global instance of {@link UrlContextTool}.
@@ -4,7 +4,8 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { ReadonlyContext } from '../agents/readonly_context.js';
7
- import { BaseTool, ToolProcessLlmRequest } from './base_tool.js';
7
+ import { ToolProcessLlmRequest } from './base_tool.js';
8
+ import { BuiltInTool } from './built_in_tool.js';
8
9
  export interface VertexAISearchDataStoreSpec {
9
10
  dataStore?: string;
10
11
  }
@@ -34,7 +35,7 @@ export type VertexAiSearchToolParams = DataStoreParams | SearchEngineParams;
34
35
  /**
35
36
  * A built-in tool using Vertex AI Search.
36
37
  */
37
- export declare class VertexAiSearchTool extends BaseTool {
38
+ export declare class VertexAiSearchTool extends BuiltInTool {
38
39
  readonly dataStoreId?: string;
39
40
  readonly dataStoreSpecs?: VertexAISearchDataStoreSpec[];
40
41
  readonly searchEngineId?: string;
@@ -42,7 +43,6 @@ export declare class VertexAiSearchTool extends BaseTool {
42
43
  readonly maxResults?: number;
43
44
  readonly bypassMultiToolsLimit: boolean;
44
45
  constructor(params: VertexAiSearchToolParams);
45
- runAsync(): Promise<unknown>;
46
46
  /**
47
47
  * Builds the VertexAISearch configuration.
48
48
  *
@@ -51,5 +51,5 @@ export declare class VertexAiSearchTool extends BaseTool {
51
51
  * state).
52
52
  */
53
53
  protected buildVertexAiSearchConfig(_readonlyContext: ReadonlyContext): VertexAISearchConfig;
54
- processLlmRequest({ toolContext, llmRequest, }: ToolProcessLlmRequest): Promise<void>;
54
+ protected applyBuiltInConfig({ toolContext, llmRequest, }: ToolProcessLlmRequest): Promise<void>;
55
55
  }
@@ -4,7 +4,8 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { VertexRagStore } from '@google/genai';
7
- import { BaseTool, ToolProcessLlmRequest } from './base_tool.js';
7
+ import { ToolProcessLlmRequest } from './base_tool.js';
8
+ import { BuiltInTool } from './built_in_tool.js';
8
9
  /**
9
10
  * A tool that retrieves relevant content from a Vertex AI RAG corpus to ground
10
11
  * model responses.
@@ -19,24 +20,24 @@ import { BaseTool, ToolProcessLlmRequest } from './base_tool.js';
19
20
  *
20
21
  * @example
21
22
  * ```ts
22
- * import { VertexRagRetrievalTool } from '@google/adk';
23
- * import { VertexRagStore } from '@google/genai';
23
+ * import {LlmAgent, VertexRagRetrievalTool} from '@google/adk';
24
24
  *
25
25
  * const ragTool = new VertexRagRetrievalTool({
26
- * ragResources: [{ragCorpus: 'projects/my-project/locations/us-central1/ragCorpora/my-corpus'}],
26
+ * ragResources: [
27
+ * {ragCorpus: 'projects/my-project/locations/us-central1/ragCorpora/my-corpus'},
28
+ * ],
27
29
  * similarityTopK: 5,
28
30
  * });
29
31
  *
30
- * const agent = new LlmAgent({ tools: [ragTool], ... });
32
+ * const agent = new LlmAgent({
33
+ * name: 'rag_agent',
34
+ * model: 'gemini-2.5-flash',
35
+ * tools: [ragTool],
36
+ * });
31
37
  * ```
32
38
  */
33
- export declare class VertexRagRetrievalTool extends BaseTool {
39
+ export declare class VertexRagRetrievalTool extends BuiltInTool {
34
40
  private readonly vertexRagStore;
35
41
  constructor(config: VertexRagStore);
36
- /**
37
- * This tool is executed server-side by the Vertex AI RAG Engine.
38
- * Local execution is not required.
39
- */
40
- runAsync(): Promise<unknown>;
41
- processLlmRequest({ llmRequest, }: ToolProcessLlmRequest): Promise<void>;
42
+ protected applyBuiltInConfig({ llmRequest, }: ToolProcessLlmRequest): Promise<void>;
42
43
  }
@@ -14,3 +14,19 @@
14
14
  * back to and the only correct move is to fail rather than degrade.
15
15
  */
16
16
  export declare function randomUUID(): string;
17
+ /**
18
+ * Stand-in for `createHash`, reached from the PKCE helpers in
19
+ * `auth/oauth2/oauth2_utils.ts`.
20
+ *
21
+ * A PKCE code challenge needs a synchronous SHA-256, and the Web Crypto API
22
+ * offers none: `crypto.subtle.digest` is asynchronous, while `generateAuthUri`
23
+ * is called from synchronous public API. PKCE is therefore unavailable in the
24
+ * bundled web build, and this throws rather than emit an authorization request
25
+ * with a missing or forged challenge.
26
+ */
27
+ export declare function createHash(_algorithm: string): never;
28
+ /**
29
+ * Stand-in for `randomBytes`, reached when the PKCE helpers in
30
+ * `auth/oauth2/oauth2_utils.ts` generate a code verifier.
31
+ */
32
+ export declare function randomBytes(_size: number): never;
@@ -4,12 +4,10 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { Schema } from '@google/genai';
7
- import { z } from 'zod';
8
- declare const MCPToolSchemaObject: z.ZodObject<{
9
- type: z.ZodLiteral<"object">;
10
- properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
11
- required: z.ZodOptional<z.ZodArray<z.ZodString>>;
12
- }, z.core.$strip>;
13
- type MCPToolSchema = z.infer<typeof MCPToolSchemaObject>;
7
+ type MCPToolSchema = {
8
+ type: 'object';
9
+ properties?: Record<string, unknown>;
10
+ required?: string[];
11
+ };
14
12
  export declare function toGeminiSchema(mcpSchema?: MCPToolSchema): Schema | undefined;
15
13
  export {};