@google/adk 2.0.0 → 2.2.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 (658) 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 +66 -6
  5. package/dist/cjs/a2a/agent_executor.js +18 -6
  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 +21 -6
  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 +15 -7
  21. package/dist/cjs/agents/processors/content_request_processor.js +4 -1
  22. package/dist/cjs/agents/processors/nl_planning_processor.js +114 -0
  23. package/dist/cjs/agents/processors/request_confirmation_llm_request_processor.js +19 -12
  24. package/dist/cjs/agents/processors/request_input_llm_request_processor.js +3 -7
  25. package/dist/cjs/agents/readonly_context.js +6 -0
  26. package/dist/cjs/agents/routed_agent.js +1 -1
  27. package/dist/cjs/agents/sequential_agent.js +1 -1
  28. package/dist/cjs/apps/app.js +1 -1
  29. package/dist/cjs/artifacts/file_artifact_service.js +1 -2
  30. package/dist/cjs/artifacts/gcs_artifact_service.js +13 -7
  31. package/dist/cjs/artifacts/scoped_artifact_service.js +9 -0
  32. package/dist/cjs/artifacts/session_artifact_service.js +19 -0
  33. package/dist/cjs/auth/auth_credential.js +12 -2
  34. package/dist/cjs/auth/auth_handler.js +44 -8
  35. package/dist/cjs/auth/oauth2/oauth2_credential_refresher.js +1 -1
  36. package/dist/cjs/auth/oauth2/oauth2_utils.js +17 -2
  37. package/dist/cjs/code_executors/base_code_executor.js +1 -1
  38. package/dist/cjs/code_executors/built_in_code_executor.js +1 -1
  39. package/dist/cjs/code_executors/code_execution_utils.js +5 -5
  40. package/dist/cjs/code_executors/container_code_executor.js +186 -0
  41. package/dist/cjs/code_executors/docker_container.js +282 -0
  42. package/dist/cjs/code_executors/unsafe_local_code_executor.js +11 -6
  43. package/dist/cjs/common.js +119 -45
  44. package/dist/cjs/context/agent_controlled_context_compactor.js +10 -5
  45. package/dist/cjs/context/anchored_context_compactor.js +41 -18
  46. package/dist/cjs/context/compaction_utils.js +15 -6
  47. package/dist/cjs/context/token_based_context_compactor.js +10 -2
  48. package/dist/cjs/context/trajectory_thought_pruning_compactor.js +17 -10
  49. package/dist/cjs/context/truncating_context_compactor.js +17 -5
  50. package/dist/cjs/errors/already_exists_error.js +50 -0
  51. package/dist/cjs/errors/input_validation_error.js +50 -0
  52. package/dist/cjs/errors/not_found_error.js +50 -0
  53. package/dist/cjs/errors/session_not_found_error.js +50 -0
  54. package/dist/cjs/errors/tool_execution_error.js +68 -0
  55. package/dist/cjs/events/event.js +1 -1
  56. package/dist/cjs/events/event_actions.js +7 -0
  57. package/dist/cjs/examples/base_example_provider.js +1 -1
  58. package/dist/cjs/examples/example.js +92 -0
  59. package/dist/cjs/examples/example_util.js +28 -4
  60. package/dist/cjs/examples/index.js +39 -0
  61. package/dist/cjs/examples/vertex_ai_example_store.js +39 -0
  62. package/dist/cjs/index.js +93 -0
  63. package/dist/cjs/index_web.js +2 -0
  64. package/dist/cjs/integrations/agent_registry/agent_registry.js +3 -2
  65. package/dist/cjs/memory/rag_memory_transcript.js +136 -0
  66. package/dist/cjs/memory/vertex_ai_memory_bank_service.js +19 -7
  67. package/dist/cjs/memory/vertex_ai_rag_api.js +120 -0
  68. package/dist/cjs/memory/vertex_ai_rag_memory_service.js +228 -0
  69. package/dist/cjs/models/apigee_llm.js +1 -1
  70. package/dist/cjs/models/base_llm.js +2 -7
  71. package/dist/cjs/models/chrome_prompt_llm.js +318 -0
  72. package/dist/cjs/models/chrome_prompt_utils.js +281 -0
  73. package/dist/cjs/models/gemini_llm_connection.js +5 -4
  74. package/dist/cjs/models/google_llm.js +9 -4
  75. package/dist/cjs/models/interactions_utils.js +2 -3
  76. package/dist/cjs/models/registry.js +2 -0
  77. package/dist/cjs/planners/base_planner.js +56 -0
  78. package/dist/cjs/planners/built_in_planner.js +85 -0
  79. package/dist/cjs/planners/plan_re_act_planner.js +172 -0
  80. package/dist/cjs/plugins/_reflect_retry_utils.js +142 -0
  81. package/dist/cjs/plugins/base_plugin.js +46 -61
  82. package/dist/cjs/plugins/reflect_retry_model_plugin.js +274 -0
  83. package/dist/cjs/plugins/reflect_retry_tool_plugin.js +276 -0
  84. package/dist/cjs/runner/runner.js +29 -26
  85. package/dist/cjs/sessions/database_session_service.js +78 -43
  86. package/dist/cjs/sessions/db/operations.js +229 -22
  87. package/dist/cjs/sessions/db/schema.js +113 -159
  88. package/dist/cjs/sessions/registry.js +5 -1
  89. package/dist/cjs/sessions/vertex_ai_session_service.js +2 -2
  90. package/dist/cjs/telemetry/setup.js +1 -1
  91. package/dist/cjs/telemetry/tracing.js +11 -1
  92. package/dist/cjs/tools/agent_tool.js +4 -5
  93. package/dist/cjs/tools/base_tool.js +14 -4
  94. package/dist/cjs/tools/base_toolset.js +4 -4
  95. package/dist/cjs/tools/built_in_tool.js +75 -0
  96. package/dist/cjs/tools/enterprise_web_search_tool.js +3 -6
  97. package/dist/cjs/tools/example_tool.js +1 -1
  98. package/dist/cjs/tools/forwarding_artifact_service.js +18 -13
  99. package/dist/cjs/tools/function_tool.js +6 -3
  100. package/dist/cjs/tools/google_maps_grounding_tool.js +3 -6
  101. package/dist/cjs/tools/google_search_tool.js +3 -6
  102. package/dist/cjs/tools/load_artifacts_tool.js +47 -23
  103. package/dist/cjs/tools/load_web_page.js +6 -172
  104. package/dist/cjs/tools/mcp/load_mcp_resource_tool.js +34 -5
  105. package/dist/cjs/tools/mcp/mcp_session_manager.js +14 -8
  106. package/dist/cjs/tools/openapi_tool/auth/auth_helpers.js +292 -4
  107. package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +15 -1
  108. package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/base_auth_credential_exchanger.js +70 -0
  109. package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/oauth2_exchanger.js +120 -0
  110. package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +10 -10
  111. package/dist/cjs/tools/openapi_tool/common/common.js +139 -0
  112. package/dist/cjs/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +11 -6
  113. package/dist/cjs/tools/openapi_tool/openapi_spec_parser/operation_parser.js +74 -14
  114. package/dist/cjs/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +146 -34
  115. package/dist/cjs/tools/openapi_tool/openapi_toolset.js +14 -2
  116. package/dist/cjs/tools/openapi_tool/rest_api_tool.js +106 -46
  117. package/dist/cjs/tools/preload_memory_tool.js +1 -1
  118. package/dist/cjs/tools/resume_inputs.js +27 -0
  119. package/dist/cjs/tools/retrieval/base_retrieval_tool.js +60 -0
  120. package/dist/cjs/tools/retrieval/files_retrieval.js +95 -0
  121. package/dist/cjs/tools/retrieval/llama_index_retrieval.js +57 -0
  122. package/dist/cjs/tools/skill/skill_toolset.js +2 -0
  123. package/dist/cjs/tools/tool_context.js +41 -0
  124. package/dist/cjs/tools/url_context_tool.js +3 -6
  125. package/dist/cjs/tools/vertex_ai_search_tool.js +4 -8
  126. package/dist/cjs/tools/vertex_rag_retrieval_tool.js +3 -10
  127. package/dist/cjs/tools/webmcp/index.js +37 -0
  128. package/dist/cjs/tools/webmcp/webmcp_tool.js +156 -0
  129. package/dist/cjs/tools/webmcp/webmcp_toolset.js +116 -0
  130. package/dist/cjs/tools/webmcp/webmcp_types.js +50 -0
  131. package/dist/cjs/utils/case_utils.js +52 -2
  132. package/dist/cjs/utils/client_labels.js +67 -0
  133. package/dist/cjs/utils/crypto_shim.js +16 -0
  134. package/dist/cjs/utils/gemini_schema_util.js +103 -9
  135. package/dist/cjs/utils/hash_utils.js +73 -0
  136. package/dist/cjs/utils/live_connection_utils.js +10 -9
  137. package/dist/cjs/utils/logger.js +15 -50
  138. package/dist/cjs/utils/logger_browser.js +86 -0
  139. package/dist/cjs/utils/logger_node.js +119 -0
  140. package/dist/cjs/utils/model_name.js +17 -2
  141. package/dist/cjs/utils/redact_inline_data.js +46 -0
  142. package/dist/cjs/utils/redact_uri.js +15 -1
  143. package/dist/cjs/utils/schema.js +1 -1
  144. package/dist/cjs/utils/simple_zod_to_json.js +5 -0
  145. package/dist/cjs/utils/ssrf_guard.js +262 -0
  146. package/dist/cjs/version.js +1 -1
  147. package/dist/cjs/workflow/base_node.js +1 -1
  148. package/dist/cjs/workflow/graph.js +1 -1
  149. package/dist/cjs/workflow/nodes/node_tool.js +2 -11
  150. package/dist/cjs/workflow/request_input.js +1 -1
  151. package/dist/cjs/workflow/run_llm_agent_as_node.js +1 -1
  152. package/dist/cjs/workflow/workflow.js +1 -1
  153. package/dist/esm/a2a/a2a_event.js +0 -28
  154. package/dist/esm/a2a/a2a_remote_agent.js +10 -5
  155. package/dist/esm/a2a/a2a_remote_agent_utils.js +102 -2
  156. package/dist/esm/a2a/agent_card.js +71 -6
  157. package/dist/esm/a2a/agent_executor.js +18 -6
  158. package/dist/esm/a2a/agent_to_a2a.js +8 -2
  159. package/dist/esm/a2a/event_processor_utils.js +1 -2
  160. package/dist/esm/a2a/executor_context.js +4 -2
  161. package/dist/esm/a2a/index.js +7 -1
  162. package/dist/esm/a2a/request_metadata.js +68 -0
  163. package/dist/esm/agents/base_agent.js +9 -8
  164. package/dist/esm/agents/context.js +7 -0
  165. package/dist/esm/agents/functions.js +152 -48
  166. package/dist/esm/agents/invocation_context.js +1 -0
  167. package/dist/esm/agents/llm_agent.js +24 -6
  168. package/dist/esm/agents/loop_agent.js +1 -1
  169. package/dist/esm/agents/parallel_agent.js +1 -1
  170. package/dist/esm/agents/processors/agent_transfer_llm_request_processor.js +26 -5
  171. package/dist/esm/agents/processors/code_execution_request_processor.js +2 -2
  172. package/dist/esm/agents/processors/content_processor_utils.js +15 -7
  173. package/dist/esm/agents/processors/content_request_processor.js +4 -1
  174. package/dist/esm/agents/processors/nl_planning_processor.js +87 -0
  175. package/dist/esm/agents/processors/request_confirmation_llm_request_processor.js +19 -12
  176. package/dist/esm/agents/processors/request_input_llm_request_processor.js +3 -7
  177. package/dist/esm/agents/readonly_context.js +6 -0
  178. package/dist/esm/agents/routed_agent.js +1 -1
  179. package/dist/esm/agents/sequential_agent.js +1 -1
  180. package/dist/esm/apps/app.js +1 -1
  181. package/dist/esm/artifacts/file_artifact_service.js +1 -2
  182. package/dist/esm/artifacts/gcs_artifact_service.js +13 -7
  183. package/dist/esm/artifacts/scoped_artifact_service.js +9 -0
  184. package/dist/esm/artifacts/session_artifact_service.js +12 -0
  185. package/dist/esm/auth/auth_credential.js +11 -1
  186. package/dist/esm/auth/auth_handler.js +47 -8
  187. package/dist/esm/auth/oauth2/oauth2_credential_refresher.js +1 -1
  188. package/dist/esm/auth/oauth2/oauth2_utils.js +15 -2
  189. package/dist/esm/code_executors/base_code_executor.js +1 -1
  190. package/dist/esm/code_executors/built_in_code_executor.js +1 -1
  191. package/dist/esm/code_executors/code_execution_utils.js +5 -5
  192. package/dist/esm/code_executors/container_code_executor.js +155 -0
  193. package/dist/esm/code_executors/docker_container.js +265 -0
  194. package/dist/esm/code_executors/unsafe_local_code_executor.js +11 -6
  195. package/dist/esm/common.js +111 -40
  196. package/dist/esm/context/agent_controlled_context_compactor.js +10 -5
  197. package/dist/esm/context/anchored_context_compactor.js +45 -19
  198. package/dist/esm/context/compaction_utils.js +13 -5
  199. package/dist/esm/context/token_based_context_compactor.js +10 -2
  200. package/dist/esm/context/trajectory_thought_pruning_compactor.js +17 -10
  201. package/dist/esm/context/truncating_context_compactor.js +17 -5
  202. package/dist/esm/errors/already_exists_error.js +23 -0
  203. package/dist/esm/errors/input_validation_error.js +23 -0
  204. package/dist/{web/auth/refresher/base_credential_refresher.js → esm/errors/not_found_error.js} +9 -6
  205. package/dist/esm/errors/session_not_found_error.js +23 -0
  206. package/dist/esm/errors/tool_execution_error.js +40 -0
  207. package/dist/esm/events/event.js +1 -1
  208. package/dist/esm/events/event_actions.js +6 -0
  209. package/dist/esm/examples/base_example_provider.js +1 -1
  210. package/dist/esm/examples/example.js +85 -0
  211. package/dist/esm/examples/example_util.js +25 -3
  212. package/dist/{web/auth/credential_service/base_credential_service.js → esm/examples/index.js} +4 -0
  213. package/dist/{web/version.js → esm/examples/vertex_ai_example_store.js} +2 -2
  214. package/dist/esm/index.js +87 -0
  215. package/dist/esm/index_web.js +2 -0
  216. package/dist/esm/integrations/agent_registry/agent_registry.js +3 -2
  217. package/dist/esm/memory/rag_memory_transcript.js +106 -0
  218. package/dist/esm/memory/vertex_ai_memory_bank_service.js +19 -7
  219. package/dist/esm/memory/vertex_ai_rag_api.js +93 -0
  220. package/dist/esm/memory/vertex_ai_rag_memory_service.js +208 -0
  221. package/dist/esm/models/apigee_llm.js +1 -1
  222. package/dist/esm/models/base_llm.js +3 -8
  223. package/dist/esm/models/chrome_prompt_llm.js +302 -0
  224. package/dist/esm/models/chrome_prompt_utils.js +241 -0
  225. package/dist/esm/models/gemini_llm_connection.js +6 -5
  226. package/dist/esm/models/google_llm.js +9 -4
  227. package/dist/esm/models/interactions_utils.js +2 -3
  228. package/dist/esm/models/registry.js +2 -0
  229. package/dist/esm/planners/base_planner.js +28 -0
  230. package/dist/esm/planners/built_in_planner.js +57 -0
  231. package/dist/esm/planners/plan_re_act_planner.js +145 -0
  232. package/dist/esm/plugins/_reflect_retry_utils.js +111 -0
  233. package/dist/esm/plugins/base_plugin.js +46 -61
  234. package/dist/esm/plugins/reflect_retry_model_plugin.js +250 -0
  235. package/dist/esm/plugins/reflect_retry_tool_plugin.js +254 -0
  236. package/dist/esm/runner/runner.js +35 -27
  237. package/dist/esm/sessions/database_session_service.js +58 -25
  238. package/dist/esm/sessions/db/operations.js +229 -22
  239. package/dist/esm/sessions/db/schema.js +111 -160
  240. package/dist/esm/sessions/registry.js +5 -1
  241. package/dist/esm/sessions/vertex_ai_session_service.js +1 -1
  242. package/dist/esm/telemetry/setup.js +1 -1
  243. package/dist/esm/telemetry/tracing.js +11 -1
  244. package/dist/esm/tools/agent_tool.js +4 -5
  245. package/dist/esm/tools/base_tool.js +11 -3
  246. package/dist/esm/tools/base_toolset.js +4 -4
  247. package/dist/esm/tools/built_in_tool.js +51 -0
  248. package/dist/esm/tools/enterprise_web_search_tool.js +3 -6
  249. package/dist/esm/tools/example_tool.js +1 -1
  250. package/dist/esm/tools/forwarding_artifact_service.js +18 -13
  251. package/dist/esm/tools/function_tool.js +6 -3
  252. package/dist/esm/tools/google_maps_grounding_tool.js +3 -6
  253. package/dist/esm/tools/google_search_tool.js +3 -6
  254. package/dist/esm/tools/load_artifacts_tool.js +48 -24
  255. package/dist/esm/tools/load_web_page.js +10 -170
  256. package/dist/esm/tools/mcp/load_mcp_resource_tool.js +34 -5
  257. package/dist/esm/tools/mcp/mcp_session_manager.js +14 -8
  258. package/dist/esm/tools/openapi_tool/auth/auth_helpers.js +285 -3
  259. package/dist/esm/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +15 -1
  260. package/dist/esm/tools/openapi_tool/auth/credential_exchangers/base_auth_credential_exchanger.js +43 -0
  261. package/dist/esm/tools/openapi_tool/auth/credential_exchangers/oauth2_exchanger.js +93 -0
  262. package/dist/esm/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +10 -12
  263. package/dist/esm/tools/openapi_tool/common/common.js +112 -0
  264. package/dist/esm/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +11 -6
  265. package/dist/esm/tools/openapi_tool/openapi_spec_parser/operation_parser.js +81 -14
  266. package/dist/esm/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +146 -33
  267. package/dist/esm/tools/openapi_tool/openapi_toolset.js +14 -2
  268. package/dist/esm/tools/openapi_tool/rest_api_tool.js +105 -46
  269. package/dist/esm/tools/preload_memory_tool.js +1 -1
  270. package/dist/esm/tools/retrieval/base_retrieval_tool.js +33 -0
  271. package/dist/esm/tools/retrieval/files_retrieval.js +81 -0
  272. package/dist/esm/tools/retrieval/llama_index_retrieval.js +30 -0
  273. package/dist/esm/tools/skill/skill_toolset.js +2 -0
  274. package/dist/{web/context/base_context_compactor.js → esm/tools/tool_context.js} +8 -0
  275. package/dist/esm/tools/url_context_tool.js +3 -6
  276. package/dist/esm/tools/vertex_ai_search_tool.js +4 -8
  277. package/dist/esm/tools/vertex_rag_retrieval_tool.js +3 -10
  278. package/dist/{web/auth/base_auth_provider.js → esm/tools/webmcp/index.js} +3 -0
  279. package/dist/esm/tools/webmcp/webmcp_tool.js +131 -0
  280. package/dist/esm/tools/webmcp/webmcp_toolset.js +89 -0
  281. package/dist/{web/utils/crypto_shim.js → esm/tools/webmcp/webmcp_types.js} +10 -6
  282. package/dist/esm/utils/case_utils.js +49 -1
  283. package/dist/esm/utils/client_labels.js +65 -0
  284. package/dist/esm/utils/crypto_shim.js +14 -0
  285. package/dist/esm/utils/gemini_schema_util.js +102 -9
  286. package/dist/esm/utils/hash_utils.js +45 -0
  287. package/dist/esm/utils/live_connection_utils.js +11 -10
  288. package/dist/esm/utils/logger.js +14 -40
  289. package/dist/esm/utils/logger_browser.js +58 -0
  290. package/dist/esm/utils/logger_node.js +81 -0
  291. package/dist/esm/utils/model_name.js +15 -2
  292. package/dist/esm/utils/redact_inline_data.js +19 -0
  293. package/dist/esm/utils/redact_uri.js +15 -1
  294. package/dist/esm/utils/schema.js +1 -1
  295. package/dist/esm/utils/simple_zod_to_json.js +5 -0
  296. package/dist/{web/tools/load_web_page.js → esm/utils/ssrf_guard.js} +95 -107
  297. package/dist/esm/version.js +1 -1
  298. package/dist/esm/workflow/base_node.js +1 -1
  299. package/dist/esm/workflow/graph.js +1 -1
  300. package/dist/esm/workflow/nodes/node_tool.js +2 -11
  301. package/dist/esm/workflow/request_input.js +1 -1
  302. package/dist/esm/workflow/run_llm_agent_as_node.js +1 -1
  303. package/dist/esm/workflow/workflow.js +1 -1
  304. package/dist/types/a2a/a2a_event.d.ts +7 -10
  305. package/dist/types/a2a/a2a_remote_agent.d.ts +5 -0
  306. package/dist/types/a2a/a2a_remote_agent_utils.d.ts +25 -0
  307. package/dist/types/a2a/agent_card.d.ts +9 -0
  308. package/dist/types/a2a/agent_executor.d.ts +1 -1
  309. package/dist/types/a2a/agent_to_a2a.d.ts +2 -0
  310. package/dist/types/a2a/auth.d.ts +5 -1
  311. package/dist/types/a2a/executor_context.d.ts +7 -1
  312. package/dist/types/a2a/index.d.ts +1 -1
  313. package/dist/types/a2a/request_metadata.d.ts +22 -0
  314. package/dist/types/agents/base_agent.d.ts +19 -16
  315. package/dist/types/agents/context.d.ts +8 -0
  316. package/dist/types/agents/functions.d.ts +72 -6
  317. package/dist/types/agents/invocation_context.d.ts +11 -3
  318. package/dist/types/agents/llm_agent.d.ts +20 -7
  319. package/dist/types/agents/processors/agent_transfer_llm_request_processor.d.ts +16 -1
  320. package/dist/types/agents/processors/nl_planning_processor.d.ts +30 -0
  321. package/dist/types/agents/readonly_context.d.ts +4 -0
  322. package/dist/types/agents/run_config.d.ts +21 -8
  323. package/dist/types/artifacts/scoped_artifact_service.d.ts +13 -0
  324. package/dist/types/artifacts/session_artifact_service.d.ts +8 -1
  325. package/dist/types/auth/auth_credential.d.ts +22 -8
  326. package/dist/types/auth/auth_handler.d.ts +12 -1
  327. package/dist/types/auth/oauth2/oauth2_credential_refresher.d.ts +1 -1
  328. package/dist/types/auth/oauth2/oauth2_utils.d.ts +9 -0
  329. package/dist/types/auth/refresher/base_credential_refresher.d.ts +1 -1
  330. package/dist/types/code_executors/code_execution_utils.d.ts +1 -1
  331. package/dist/types/code_executors/container_code_executor.d.ts +89 -0
  332. package/dist/types/code_executors/docker_container.d.ts +79 -0
  333. package/dist/types/common.d.ts +37 -23
  334. package/dist/types/context/compaction_utils.d.ts +9 -1
  335. package/dist/types/errors/already_exists_error.d.ts +14 -0
  336. package/dist/types/errors/input_validation_error.d.ts +14 -0
  337. package/dist/types/errors/not_found_error.d.ts +14 -0
  338. package/dist/types/errors/session_not_found_error.d.ts +14 -0
  339. package/dist/types/errors/tool_execution_error.d.ts +36 -0
  340. package/dist/types/events/event_actions.d.ts +13 -0
  341. package/dist/types/examples/base_example_provider.d.ts +2 -2
  342. package/dist/types/examples/example.d.ts +75 -0
  343. package/dist/types/examples/example_util.d.ts +13 -2
  344. package/dist/types/examples/index.d.ts +18 -0
  345. package/dist/types/examples/vertex_ai_example_store.d.ts +7 -0
  346. package/dist/types/index.d.ts +31 -1
  347. package/dist/types/memory/memory_entry.d.ts +15 -0
  348. package/dist/types/memory/rag_memory_transcript.d.ts +55 -0
  349. package/dist/types/memory/vertex_ai_memory_bank_service.d.ts +9 -0
  350. package/dist/types/memory/vertex_ai_rag_api.d.ts +89 -0
  351. package/dist/types/memory/vertex_ai_rag_memory_service.d.ts +68 -0
  352. package/dist/types/models/chrome_prompt_llm.d.ts +210 -0
  353. package/dist/types/models/chrome_prompt_utils.d.ts +97 -0
  354. package/dist/types/models/google_llm.d.ts +8 -3
  355. package/dist/types/models/registry.d.ts +3 -2
  356. package/dist/types/planners/base_planner.d.ts +50 -0
  357. package/dist/types/planners/built_in_planner.d.ts +53 -0
  358. package/dist/types/planners/plan_re_act_planner.d.ts +21 -0
  359. package/dist/types/plugins/_reflect_retry_utils.d.ts +72 -0
  360. package/dist/types/plugins/base_plugin.d.ts +64 -62
  361. package/dist/types/plugins/logging_plugin.d.ts +3 -2
  362. package/dist/types/plugins/reflect_retry_model_plugin.d.ts +132 -0
  363. package/dist/types/plugins/reflect_retry_tool_plugin.d.ts +187 -0
  364. package/dist/types/runner/runner.d.ts +7 -8
  365. package/dist/types/sessions/database_session_service.d.ts +1 -1
  366. package/dist/types/sessions/db/operations.d.ts +13 -1
  367. package/dist/types/sessions/db/schema.d.ts +23 -9
  368. package/dist/types/skills/skill_registry.d.ts +8 -0
  369. package/dist/types/tools/base_tool.d.ts +11 -0
  370. package/dist/types/tools/base_toolset.d.ts +3 -4
  371. package/dist/types/tools/built_in_tool.d.ts +41 -0
  372. package/dist/types/tools/enterprise_web_search_tool.d.ts +4 -4
  373. package/dist/types/tools/forwarding_artifact_service.d.ts +23 -10
  374. package/dist/types/tools/function_tool.d.ts +42 -9
  375. package/dist/types/tools/google_maps_grounding_tool.d.ts +4 -4
  376. package/dist/types/tools/google_search_tool.d.ts +4 -4
  377. package/dist/types/tools/long_running_tool.d.ts +1 -1
  378. package/dist/types/tools/mcp/mcp_toolset.d.ts +11 -10
  379. package/dist/types/tools/openapi_tool/auth/auth_helpers.d.ts +115 -1
  380. package/dist/types/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.d.ts +31 -2
  381. package/dist/types/tools/openapi_tool/auth/credential_exchangers/base_auth_credential_exchanger.d.ts +35 -0
  382. package/dist/types/tools/openapi_tool/auth/credential_exchangers/oauth2_exchanger.d.ts +54 -0
  383. package/dist/types/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.d.ts +0 -1
  384. package/dist/types/tools/openapi_tool/common/common.d.ts +60 -0
  385. package/dist/types/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.d.ts +7 -0
  386. package/dist/types/tools/openapi_tool/openapi_spec_parser/operation_parser.d.ts +56 -2
  387. package/dist/types/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.d.ts +73 -5
  388. package/dist/types/tools/openapi_tool/openapi_toolset.d.ts +11 -0
  389. package/dist/types/tools/openapi_tool/rest_api_tool.d.ts +42 -8
  390. package/dist/types/tools/preload_memory_tool.d.ts +1 -1
  391. package/dist/types/tools/resume_inputs.d.ts +25 -0
  392. package/dist/types/tools/retrieval/base_retrieval_tool.d.ts +21 -0
  393. package/dist/types/tools/retrieval/files_retrieval.d.ts +50 -0
  394. package/dist/types/tools/retrieval/llama_index_retrieval.d.ts +62 -0
  395. package/dist/types/tools/tool_context.d.ts +19 -0
  396. package/dist/types/tools/url_context_tool.d.ts +4 -4
  397. package/dist/types/tools/vertex_ai_search_tool.d.ts +4 -4
  398. package/dist/types/tools/vertex_rag_retrieval_tool.d.ts +13 -12
  399. package/dist/types/tools/webmcp/index.d.ts +12 -0
  400. package/dist/types/tools/webmcp/webmcp_tool.d.ts +47 -0
  401. package/dist/types/tools/webmcp/webmcp_toolset.d.ts +67 -0
  402. package/dist/types/tools/webmcp/webmcp_types.d.ts +69 -0
  403. package/dist/types/utils/case_utils.d.ts +36 -0
  404. package/dist/types/utils/client_labels.d.ts +33 -0
  405. package/dist/types/utils/crypto_shim.d.ts +16 -0
  406. package/dist/types/utils/gemini_schema_util.d.ts +18 -7
  407. package/dist/types/utils/hash_utils.d.ts +25 -0
  408. package/dist/types/utils/logger.d.ts +33 -3
  409. package/dist/types/utils/logger_browser.d.ts +28 -0
  410. package/dist/types/utils/logger_node.d.ts +20 -0
  411. package/dist/types/utils/model_name.d.ts +30 -2
  412. package/dist/types/utils/output_schema_utils.d.ts +3 -3
  413. package/dist/types/utils/redact_inline_data.d.ts +16 -0
  414. package/dist/types/utils/redact_uri.d.ts +12 -8
  415. package/dist/types/utils/ssrf_guard.d.ts +32 -0
  416. package/dist/types/version.d.ts +1 -1
  417. package/dist/web/index_web.js +337 -3
  418. package/dist/web/index_web.js.map +7 -0
  419. package/package.json +24 -15
  420. package/dist/web/a2a/a2a_event.js +0 -290
  421. package/dist/web/a2a/a2a_remote_agent.js +0 -200
  422. package/dist/web/a2a/a2a_remote_agent_run_processor.js +0 -189
  423. package/dist/web/a2a/a2a_remote_agent_utils.js +0 -141
  424. package/dist/web/a2a/agent_card.js +0 -373
  425. package/dist/web/a2a/agent_executor.js +0 -246
  426. package/dist/web/a2a/agent_to_a2a.js +0 -126
  427. package/dist/web/a2a/auth.js +0 -41
  428. package/dist/web/a2a/event_converter_utils.js +0 -242
  429. package/dist/web/a2a/event_processor_utils.js +0 -209
  430. package/dist/web/a2a/executor_context.js +0 -28
  431. package/dist/web/a2a/index.js +0 -20
  432. package/dist/web/a2a/metadata_converter_utils.js +0 -115
  433. package/dist/web/a2a/part_converter_utils.js +0 -201
  434. package/dist/web/agents/active_streaming_tool.js +0 -25
  435. package/dist/web/agents/base_agent.js +0 -462
  436. package/dist/web/agents/context.js +0 -146
  437. package/dist/web/agents/framework_function_calls.js +0 -34
  438. package/dist/web/agents/functions.js +0 -462
  439. package/dist/web/agents/instructions.js +0 -188
  440. package/dist/web/agents/invocation_context.js +0 -126
  441. package/dist/web/agents/live_request_queue.js +0 -151
  442. package/dist/web/agents/llm_agent.js +0 -1514
  443. package/dist/web/agents/loop_agent.js +0 -131
  444. package/dist/web/agents/parallel_agent.js +0 -122
  445. package/dist/web/agents/processors/agent_transfer_llm_request_processor.js +0 -113
  446. package/dist/web/agents/processors/base_llm_processor.js +0 -21
  447. package/dist/web/agents/processors/basic_llm_request_processor.js +0 -84
  448. package/dist/web/agents/processors/code_execution_request_processor.js +0 -381
  449. package/dist/web/agents/processors/content_processor_utils.js +0 -432
  450. package/dist/web/agents/processors/content_request_processor.js +0 -73
  451. package/dist/web/agents/processors/context_compactor_request_processor.js +0 -78
  452. package/dist/web/agents/processors/identity_llm_request_processor.js +0 -59
  453. package/dist/web/agents/processors/instructions_llm_request_processor.js +0 -85
  454. package/dist/web/agents/processors/interactions_request_processor.js +0 -56
  455. package/dist/web/agents/processors/request_confirmation_llm_request_processor.js +0 -393
  456. package/dist/web/agents/processors/request_input_llm_request_processor.js +0 -228
  457. package/dist/web/agents/processors/tool_filter_request_processor.js +0 -72
  458. package/dist/web/agents/readonly_context.js +0 -60
  459. package/dist/web/agents/routed_agent.js +0 -161
  460. package/dist/web/agents/run_config.js +0 -74
  461. package/dist/web/agents/sequential_agent.js +0 -141
  462. package/dist/web/agents/transcription_entry.js +0 -7
  463. package/dist/web/agents/user_input_request.js +0 -135
  464. package/dist/web/apps/app.js +0 -52
  465. package/dist/web/apps/resumability_config.js +0 -33
  466. package/dist/web/artifacts/base_artifact_service.js +0 -7
  467. package/dist/web/artifacts/file_artifact_service.js +0 -568
  468. package/dist/web/artifacts/gcs_artifact_service.js +0 -298
  469. package/dist/web/artifacts/in_memory_artifact_service.js +0 -172
  470. package/dist/web/artifacts/registry.js +0 -36
  471. package/dist/web/artifacts/scoped_artifact_service.js +0 -89
  472. package/dist/web/auth/auth_credential.js +0 -18
  473. package/dist/web/auth/auth_handler.js +0 -151
  474. package/dist/web/auth/auth_preprocessor.js +0 -184
  475. package/dist/web/auth/auth_provider_registry.js +0 -37
  476. package/dist/web/auth/auth_schemes.js +0 -36
  477. package/dist/web/auth/auth_tool.js +0 -7
  478. package/dist/web/auth/credential_response_binding.js +0 -91
  479. package/dist/web/auth/credential_service/in_memory_credential_service.js +0 -50
  480. package/dist/web/auth/credential_service/session_state_credential_service.js +0 -27
  481. package/dist/web/auth/exchanger/base_credential_exchanger.js +0 -16
  482. package/dist/web/auth/exchanger/credential_exchanger_registry.js +0 -35
  483. package/dist/web/auth/oauth2/oauth2_credential_exchanger.js +0 -194
  484. package/dist/web/auth/oauth2/oauth2_credential_refresher.js +0 -105
  485. package/dist/web/auth/oauth2/oauth2_discovery.js +0 -196
  486. package/dist/web/auth/oauth2/oauth2_utils.js +0 -105
  487. package/dist/web/auth/refresher/credential_refresher_registry.js +0 -44
  488. package/dist/web/code_executors/agent_engine_sandbox_code_executor.js +0 -284
  489. package/dist/web/code_executors/base_code_executor.js +0 -68
  490. package/dist/web/code_executors/built_in_code_executor.js +0 -50
  491. package/dist/web/code_executors/code_execution_utils.js +0 -131
  492. package/dist/web/code_executors/code_executor_context.js +0 -174
  493. package/dist/web/code_executors/unsafe_local_code_executor.js +0 -221
  494. package/dist/web/common.js +0 -452
  495. package/dist/web/context/agent_controlled_context_compactor.js +0 -76
  496. package/dist/web/context/anchored_context_compactor.js +0 -120
  497. package/dist/web/context/compaction_utils.js +0 -42
  498. package/dist/web/context/summarizers/base_summarizer.js +0 -7
  499. package/dist/web/context/summarizers/llm_summarizer.js +0 -91
  500. package/dist/web/context/token_based_context_compactor.js +0 -118
  501. package/dist/web/context/trajectory_thought_pruning_compactor.js +0 -47
  502. package/dist/web/context/truncating_context_compactor.js +0 -34
  503. package/dist/web/environment/base_environment.js +0 -71
  504. package/dist/web/environment/local_environment.js +0 -165
  505. package/dist/web/events/compacted_event.js +0 -51
  506. package/dist/web/events/event.js +0 -208
  507. package/dist/web/events/event_actions.js +0 -74
  508. package/dist/web/events/structured_events.js +0 -79
  509. package/dist/web/examples/base_example_provider.js +0 -32
  510. package/dist/web/examples/example.js +0 -7
  511. package/dist/web/examples/example_util.js +0 -83
  512. package/dist/web/features/feature_registry.js +0 -115
  513. package/dist/web/index.js +0 -57
  514. package/dist/web/integrations/agent_registry/agent_registry.js +0 -337
  515. package/dist/web/integrations/agent_registry/agent_registry_mcp_toolset.js +0 -120
  516. package/dist/web/integrations/agent_registry/helpers.js +0 -32
  517. package/dist/web/integrations/agent_registry/types.js +0 -20
  518. package/dist/web/memory/base_memory_service.js +0 -7
  519. package/dist/web/memory/in_memory_memory_service.js +0 -89
  520. package/dist/web/memory/memory_entry.js +0 -7
  521. package/dist/web/memory/vertex_ai_memory_bank_service.js +0 -496
  522. package/dist/web/models/apigee_llm.js +0 -227
  523. package/dist/web/models/base_llm.js +0 -78
  524. package/dist/web/models/base_llm_connection.js +0 -7
  525. package/dist/web/models/gemini_llm_connection.js +0 -183
  526. package/dist/web/models/google_llm.js +0 -396
  527. package/dist/web/models/interactions_utils.js +0 -745
  528. package/dist/web/models/llm_request.js +0 -57
  529. package/dist/web/models/llm_response.js +0 -48
  530. package/dist/web/models/registry.js +0 -100
  531. package/dist/web/models/routed_llm.js +0 -112
  532. package/dist/web/plugins/base_plugin.js +0 -305
  533. package/dist/web/plugins/global_instruction_plugin.js +0 -71
  534. package/dist/web/plugins/logging_plugin.js +0 -241
  535. package/dist/web/plugins/plugin_manager.js +0 -318
  536. package/dist/web/plugins/security_plugin.js +0 -148
  537. package/dist/web/runner/in_memory_runner.js +0 -50
  538. package/dist/web/runner/runner.js +0 -747
  539. package/dist/web/sessions/base_session_service.js +0 -123
  540. package/dist/web/sessions/database_session_service.js +0 -440
  541. package/dist/web/sessions/db/operations.js +0 -124
  542. package/dist/web/sessions/db/schema.js +0 -216
  543. package/dist/web/sessions/in_memory_session_service.js +0 -251
  544. package/dist/web/sessions/registry.js +0 -38
  545. package/dist/web/sessions/session.js +0 -23
  546. package/dist/web/sessions/state.js +0 -159
  547. package/dist/web/sessions/state_write_order.js +0 -74
  548. package/dist/web/sessions/vertex_ai_session_service.js +0 -546
  549. package/dist/web/skills/gcp_skill_registry.js +0 -80
  550. package/dist/web/skills/loader.js +0 -372
  551. package/dist/web/skills/prompt.js +0 -34
  552. package/dist/web/skills/skill.js +0 -67
  553. package/dist/web/skills/skill_registry.js +0 -7
  554. package/dist/web/telemetry/google_cloud.js +0 -99
  555. package/dist/web/telemetry/setup.js +0 -89
  556. package/dist/web/telemetry/tracing.js +0 -304
  557. package/dist/web/tools/agent_tool.js +0 -150
  558. package/dist/web/tools/base_tool.js +0 -116
  559. package/dist/web/tools/base_toolset.js +0 -62
  560. package/dist/web/tools/consolidate_context_tool.js +0 -55
  561. package/dist/web/tools/enterprise_web_search_tool.js +0 -60
  562. package/dist/web/tools/example_tool.js +0 -46
  563. package/dist/web/tools/exit_loop_tool.js +0 -47
  564. package/dist/web/tools/finish_task_tool.js +0 -92
  565. package/dist/web/tools/forwarding_artifact_service.js +0 -51
  566. package/dist/web/tools/function_tool.js +0 -151
  567. package/dist/web/tools/get_user_choice_tool.js +0 -27
  568. package/dist/web/tools/google_maps_grounding_tool.js +0 -59
  569. package/dist/web/tools/google_search_tool.js +0 -55
  570. package/dist/web/tools/load_artifacts_tool.js +0 -159
  571. package/dist/web/tools/load_memory_tool.js +0 -83
  572. package/dist/web/tools/long_running_tool.js +0 -58
  573. package/dist/web/tools/mcp/index.js +0 -11
  574. package/dist/web/tools/mcp/load_mcp_resource_tool.js +0 -111
  575. package/dist/web/tools/mcp/mcp_session_manager.js +0 -114
  576. package/dist/web/tools/mcp/mcp_tool.js +0 -47
  577. package/dist/web/tools/mcp/mcp_toolset.js +0 -144
  578. package/dist/web/tools/openapi_tool/auth/auth_helpers.js +0 -53
  579. package/dist/web/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +0 -62
  580. package/dist/web/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +0 -113
  581. package/dist/web/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +0 -242
  582. package/dist/web/tools/openapi_tool/openapi_spec_parser/operation_parser.js +0 -200
  583. package/dist/web/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +0 -98
  584. package/dist/web/tools/openapi_tool/openapi_toolset.js +0 -99
  585. package/dist/web/tools/openapi_tool/rest_api_tool.js +0 -247
  586. package/dist/web/tools/preload_memory_tool.js +0 -81
  587. package/dist/web/tools/request_input_tool.js +0 -29
  588. package/dist/web/tools/skill/list_skills_tool.js +0 -52
  589. package/dist/web/tools/skill/load_skill_resource_tool.js +0 -192
  590. package/dist/web/tools/skill/load_skill_tool.js +0 -96
  591. package/dist/web/tools/skill/run_skill_inline_script_tool.js +0 -191
  592. package/dist/web/tools/skill/run_skill_script_tool.js +0 -227
  593. package/dist/web/tools/skill/search_skills_tool.js +0 -84
  594. package/dist/web/tools/skill/skill_toolset.js +0 -185
  595. package/dist/web/tools/tool_confirmation.js +0 -43
  596. package/dist/web/tools/url_context_tool.js +0 -48
  597. package/dist/web/tools/vertex_ai_search_tool.js +0 -107
  598. package/dist/web/tools/vertex_rag_retrieval_tool.js +0 -40
  599. package/dist/web/utils/async_hooks_shim.js +0 -28
  600. package/dist/web/utils/async_queue.js +0 -88
  601. package/dist/web/utils/branch_trie.js +0 -16
  602. package/dist/web/utils/case_utils.js +0 -28
  603. package/dist/web/utils/client_labels.js +0 -70
  604. package/dist/web/utils/deprecated.js +0 -40
  605. package/dist/web/utils/env_aware_utils.js +0 -115
  606. package/dist/web/utils/error_utils.js +0 -101
  607. package/dist/web/utils/experimental.js +0 -54
  608. package/dist/web/utils/failover_utils.js +0 -100
  609. package/dist/web/utils/file_extension_utils.js +0 -55
  610. package/dist/web/utils/file_utils.js +0 -108
  611. package/dist/web/utils/gemini_schema_util.js +0 -177
  612. package/dist/web/utils/genai_schema_to_json.js +0 -80
  613. package/dist/web/utils/live_connection_utils.js +0 -257
  614. package/dist/web/utils/logger.js +0 -140
  615. package/dist/web/utils/model_name.js +0 -75
  616. package/dist/web/utils/object_notation_utils.js +0 -54
  617. package/dist/web/utils/optional_peer.js +0 -38
  618. package/dist/web/utils/output_schema_utils.js +0 -18
  619. package/dist/web/utils/partial_copy.js +0 -26
  620. package/dist/web/utils/redact_uri.js +0 -39
  621. package/dist/web/utils/schema.js +0 -167
  622. package/dist/web/utils/simple_zod_to_json.js +0 -134
  623. package/dist/web/utils/streaming_utils.js +0 -438
  624. package/dist/web/utils/task.js +0 -38
  625. package/dist/web/utils/variant_utils.js +0 -23
  626. package/dist/web/utils/vertex_ai_utils.js +0 -27
  627. package/dist/web/workflow/base_node.js +0 -215
  628. package/dist/web/workflow/branch_path.js +0 -77
  629. package/dist/web/workflow/dynamic_node_scheduler.js +0 -202
  630. package/dist/web/workflow/errors.js +0 -140
  631. package/dist/web/workflow/graph.js +0 -127
  632. package/dist/web/workflow/index.js +0 -80
  633. package/dist/web/workflow/node.js +0 -87
  634. package/dist/web/workflow/node_builders.js +0 -40
  635. package/dist/web/workflow/node_context.js +0 -236
  636. package/dist/web/workflow/node_error_event.js +0 -86
  637. package/dist/web/workflow/node_runner.js +0 -481
  638. package/dist/web/workflow/node_state.js +0 -43
  639. package/dist/web/workflow/node_status.js +0 -20
  640. package/dist/web/workflow/nodes/function_node.js +0 -221
  641. package/dist/web/workflow/nodes/join_node.js +0 -47
  642. package/dist/web/workflow/nodes/node_tool.js +0 -131
  643. package/dist/web/workflow/nodes/parallel_worker.js +0 -120
  644. package/dist/web/workflow/nodes/tool_node.js +0 -126
  645. package/dist/web/workflow/request_input.js +0 -36
  646. package/dist/web/workflow/retry_config.js +0 -43
  647. package/dist/web/workflow/run_llm_agent_as_node.js +0 -266
  648. package/dist/web/workflow/run_node_as_invocation.js +0 -170
  649. package/dist/web/workflow/schedule_dynamic_node.js +0 -26
  650. package/dist/web/workflow/trigger.js +0 -7
  651. package/dist/web/workflow/utils/graph_parser.js +0 -188
  652. package/dist/web/workflow/utils/graph_validation.js +0 -189
  653. package/dist/web/workflow/utils/hitl_utils.js +0 -239
  654. package/dist/web/workflow/utils/rehydration_utils.js +0 -342
  655. package/dist/web/workflow/utils/retry_utils.js +0 -82
  656. package/dist/web/workflow/utils/workflow_graph_utils.js +0 -115
  657. package/dist/web/workflow/workflow.js +0 -529
  658. /package/dist/{web/artifacts/session_artifact_service.js → esm/tools/resume_inputs.js} +0 -0
@@ -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;
@@ -4,15 +4,27 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { OpenAPIV3 } from 'openapi-types';
7
- import { AuthCredential } from '../../../auth/auth_credential.js';
7
+ import { AuthCredential, ServiceAccount } from '../../../auth/auth_credential.js';
8
+ import { AuthScheme, OpenIdConnectWithConfig } from '../../../auth/auth_schemes.js';
9
+ import { ApiParameter } from '../openapi_spec_parser/operation_parser.js';
10
+ /**
11
+ * Prefix that marks a tool parameter as auth-injected rather than
12
+ * model-supplied.
13
+ */
14
+ export declare const INTERNAL_AUTH_PREFIX = "_auth_prefix_vaf_";
8
15
  /**
9
16
  * Applies the given credential to the request headers and URL.
10
17
  *
18
+ * An HTTP credential that carries no usable token throws, so the caller never
19
+ * sends an unauthenticated request in place of an authenticated one.
20
+ *
11
21
  * @param url The target URL.
12
22
  * @param headers The request headers.
13
23
  * @param credential The auth credential.
14
24
  * @param authScheme The auth scheme from OpenAPI spec.
15
25
  * @returns The updated URL (if modified by query params).
26
+ * @throws {Error} If an HTTP credential holds basic credentials, or holds no
27
+ * credentials at all.
16
28
  */
17
29
  export declare function applyCredential(url: string, headers: Record<string, string>, credential?: AuthCredential, authScheme?: OpenAPIV3.SecuritySchemeObject): string;
18
30
  /**
@@ -23,3 +35,105 @@ export declare function createApiKeyScheme(name: string, inLocation: 'header' |
23
35
  * Helper to create a simple Bearer Token auth scheme.
24
36
  */
25
37
  export declare function createBearerScheme(): OpenAPIV3.SecuritySchemeObject;
38
+ /**
39
+ * Creates an AuthScheme and AuthCredential for an API key or a bearer token.
40
+ *
41
+ * @example
42
+ * // API key in a header.
43
+ * const [scheme, credential] = tokenToSchemeCredential(
44
+ * 'apikey', 'header', 'X-API-Key', 'your_api_key_value');
45
+ *
46
+ * @example
47
+ * // OAuth2 bearer token in the Authorization header.
48
+ * const [scheme, credential] = tokenToSchemeCredential(
49
+ * 'oauth2Token', 'header', 'Authorization', 'your_bearer_token_value');
50
+ *
51
+ * @param tokenType `'apikey'` or `'oauth2Token'`.
52
+ * @param location Where the API key travels. Ignored for `'oauth2Token'`,
53
+ * because a bearer token always travels in the Authorization header.
54
+ * @param name The name of the header, query parameter, or cookie.
55
+ * @param credentialValue The API key or token value. Omit it to build the
56
+ * scheme alone.
57
+ * @returns A `[scheme, credential]` pair. The credential is `undefined` when
58
+ * `credentialValue` is omitted.
59
+ * @throws Error For an unsupported token type or API key location.
60
+ */
61
+ export declare function tokenToSchemeCredential(tokenType: 'apikey' | 'oauth2Token', location?: 'header' | 'query' | 'cookie', name?: string, credentialValue?: string): [AuthScheme, AuthCredential | undefined];
62
+ /**
63
+ * Creates a bearer scheme and a service-account credential from a raw Google
64
+ * service-account JSON object.
65
+ *
66
+ * @param config The parsed service-account key file.
67
+ * @param scopes The scopes to request.
68
+ * @returns A `[scheme, credential]` pair.
69
+ */
70
+ export declare function serviceAccountDictToSchemeCredential(config: Record<string, unknown>, scopes: string[]): [AuthScheme, AuthCredential];
71
+ /**
72
+ * Creates a bearer scheme and a service-account credential from an already
73
+ * built `ServiceAccount`.
74
+ *
75
+ * @param config The service-account configuration.
76
+ * @returns A `[scheme, credential]` pair.
77
+ */
78
+ export declare function serviceAccountSchemeCredential(config: ServiceAccount): [AuthScheme, AuthCredential];
79
+ /**
80
+ * Builds an OpenID Connect scheme and credential from a configuration object
81
+ * and a client-secret object.
82
+ *
83
+ * @param configDict An OpenID Connect configuration. Snake_case keys, as a
84
+ * discovery document delivers them, are accepted and normalized.
85
+ * @param scopes The scopes to request.
86
+ * @param credentialDict The Google OAuth client secret. Its keys stay
87
+ * snake_case, because it is an on-disk wire format. A `{web: {…}}` or
88
+ * `{installed: {…}}` wrapper is unwrapped.
89
+ * @returns A `[scheme, credential]` pair.
90
+ * @throws Error When the configuration or the client secret is incomplete.
91
+ */
92
+ export declare function openidDictToSchemeCredential(configDict: Record<string, unknown>, scopes: string[], credentialDict: Record<string, unknown>): [OpenIdConnectWithConfig, AuthCredential];
93
+ /**
94
+ * Fetches an OpenID Connect discovery document and pairs it with a client
95
+ * secret.
96
+ *
97
+ * The URL is used as given. A caller that accepts it from an untrusted source
98
+ * has to validate it first, because this function performs the request.
99
+ *
100
+ * @param openidUrl The OpenID Connect discovery URL.
101
+ * @param scopes The scopes to request.
102
+ * @param credentialDict The Google OAuth client secret, keyed snake_case.
103
+ * @returns A `[scheme, credential]` pair.
104
+ * @throws Error When the request fails, the body is not a JSON object, or the
105
+ * configuration is incomplete.
106
+ */
107
+ export declare function openidUrlToSchemeCredential(openidUrl: string, scopes: string[], credentialDict: Record<string, unknown>): Promise<[OpenIdConnectWithConfig, AuthCredential]>;
108
+ /**
109
+ * Converts a scheme and credential into the tool parameter that carries the
110
+ * credential, plus the value to send for it.
111
+ *
112
+ * Service-account, OAuth2, and OpenID Connect credentials reach this function
113
+ * already exchanged for a bearer token, so they take the HTTP branch.
114
+ *
115
+ * @param authScheme The auth scheme.
116
+ * @param authCredential The auth credential.
117
+ * @returns A `[parameter, values]` pair, both `undefined` when the credential
118
+ * carries nothing to send.
119
+ * @throws Error For basic authentication, which is not supported, and for a
120
+ * scheme and credential combination that cannot be expressed as a parameter.
121
+ */
122
+ export declare function credentialToParam(authScheme: AuthScheme, authCredential?: AuthCredential): [ApiParameter | undefined, Record<string, string> | undefined];
123
+ /**
124
+ * Converts a security scheme object out of an OpenAPI document into an
125
+ * `AuthScheme`.
126
+ *
127
+ * @example
128
+ * const scheme = dictToAuthScheme({
129
+ * type: 'apiKey',
130
+ * in: 'header',
131
+ * name: 'X-API-Key',
132
+ * });
133
+ *
134
+ * @param data The security scheme object.
135
+ * @returns The validated auth scheme.
136
+ * @throws Error When `type` is missing or unrecognised, or the rest of the
137
+ * object does not match the shape that type requires.
138
+ */
139
+ export declare function dictToAuthScheme(data: Record<string, unknown>): AuthScheme;
@@ -3,18 +3,47 @@
3
3
  * Copyright 2026 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { AuthCredential } from '../../../../auth/auth_credential.js';
6
+ import { AuthCredential, AuthCredentialTypes } from '../../../../auth/auth_credential.js';
7
7
  import { AuthScheme } from '../../../../auth/auth_schemes.js';
8
8
  import { BaseCredentialExchanger, ExchangeResult } from '../../../../auth/exchanger/base_credential_exchanger.js';
9
+ /**
10
+ * A map from auth credential type to the exchanger that handles it, merged
11
+ * over the built-in defaults.
12
+ */
13
+ export type CustomCredentialExchangers = Partial<Record<AuthCredentialTypes, BaseCredentialExchanger>>;
9
14
  /**
10
15
  * Automatically selects the appropriate credential exchanger based on the auth scheme.
11
16
  * Ported from Python implementation.
17
+ *
18
+ * @example
19
+ * // Common case: a built-in exchanger handles the credential.
20
+ * const exchanger = new AutoAuthCredentialExchanger();
21
+ * const result = await exchanger.exchange({
22
+ * authScheme: serviceAccountScheme,
23
+ * authCredential: serviceAccountCredential,
24
+ * });
25
+ * // result.credential carries an OAuth token as a bearer token.
26
+ *
27
+ * @example
28
+ * // Use CustomAuthExchanger for OAuth2 instead of the built-in exchanger.
29
+ * const exchanger = new AutoAuthCredentialExchanger({
30
+ * [AuthCredentialTypes.OAUTH2]: new CustomAuthExchanger(),
31
+ * });
12
32
  */
13
33
  export declare class AutoAuthCredentialExchanger implements BaseCredentialExchanger {
14
34
  private exchangers;
15
- constructor();
35
+ /**
36
+ * @param customExchangers - Optional exchangers that add to or override the
37
+ * built-in ones. The key is the auth credential type; the value is the
38
+ * exchanger instance to use for that type.
39
+ */
40
+ constructor(customExchangers?: CustomCredentialExchangers);
16
41
  exchange(params: {
17
42
  authScheme?: AuthScheme;
18
43
  authCredential: AuthCredential;
19
44
  }): Promise<ExchangeResult>;
45
+ exchange(params: {
46
+ authScheme?: AuthScheme;
47
+ authCredential?: AuthCredential;
48
+ }): Promise<ExchangeResult | null>;
20
49
  }
@@ -0,0 +1,35 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { AuthCredential } from '../../../../auth/auth_credential.js';
7
+ import { AuthScheme } from '../../../../auth/auth_schemes.js';
8
+ /**
9
+ * Error raised when a required authentication credential is missing.
10
+ */
11
+ export declare class AuthCredentialMissingError extends Error {
12
+ constructor(message: string);
13
+ }
14
+ /**
15
+ * Base class for authentication credential exchangers.
16
+ *
17
+ * A subclass exchanges the credential an OpenAPI tool was configured with for
18
+ * one that can be sent to the API. The base implementation always throws, so a
19
+ * subclass that forgets to override the method fails on the first call rather
20
+ * than silently returning nothing.
21
+ */
22
+ export declare class BaseAuthCredentialExchanger {
23
+ /**
24
+ * Exchanges the provided authentication credential for a usable
25
+ * token or credential.
26
+ *
27
+ * @param _authScheme The security scheme.
28
+ * @param _authCredential The authentication credential.
29
+ * @returns An updated AuthCredential object containing the fetched
30
+ * credential. For simple schemes like API key, it may return the original
31
+ * credential if no exchange is needed.
32
+ * @throws {Error} If the method is not implemented by a subclass.
33
+ */
34
+ exchangeCredential(_authScheme: AuthScheme, _authCredential?: AuthCredential): AuthCredential;
35
+ }
@@ -0,0 +1,54 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { AuthCredential } from '../../../../auth/auth_credential.js';
7
+ import { AuthScheme } from '../../../../auth/auth_schemes.js';
8
+ import { BaseCredentialExchanger, ExchangeResult } from '../../../../auth/exchanger/base_credential_exchanger.js';
9
+ /**
10
+ * Validates that the scheme and the credential can produce a bearer token.
11
+ *
12
+ * @param authScheme - The OpenID Connect or OAuth2 auth scheme.
13
+ * @param authCredential - The auth credential to validate.
14
+ * @throws Error - If the credential is absent, the scheme is
15
+ * not OpenID Connect or OAuth2, or the credential carries neither `oauth2`
16
+ * nor `http`.
17
+ */
18
+ export declare function checkSchemeCredentialType(authScheme: AuthScheme, authCredential?: AuthCredential): asserts authCredential is AuthCredential;
19
+ /**
20
+ * Converts an OAuth2 access token into an HTTP bearer credential.
21
+ *
22
+ * @param authCredential - The auth credential holding the access token.
23
+ * @returns A new credential holding the access token as an HTTP bearer token,
24
+ * or the original credential when there is no access token to convert. The
25
+ * input credential is never modified.
26
+ */
27
+ export declare function generateAuthToken(authCredential: AuthCredential): AuthCredential;
28
+ /**
29
+ * Exchanges an OAuth2 or OpenID Connect credential for an HTTP bearer one.
30
+ *
31
+ * @param authScheme - The auth scheme.
32
+ * @param authCredential - The auth credential.
33
+ * @returns The credential unchanged when it already carries `http`, a new HTTP
34
+ * bearer credential when it carries an access token, or `null` when there
35
+ * is no token to convert.
36
+ * @throws Error - If the scheme or the credential is invalid.
37
+ */
38
+ export declare function exchangeCredential(authScheme: AuthScheme, authCredential?: AuthCredential): AuthCredential | null;
39
+ /**
40
+ * Converts OAuth2 and OpenID Connect credentials into HTTP bearer credentials.
41
+ *
42
+ * Ports `OAuth2CredentialExchanger` from adk-python
43
+ * `src/google/adk/tools/openapi_tool/auth/credential_exchangers/oauth2_exchanger.py`
44
+ * at tag `v0.1.0`. The adk-js class carries a different name because
45
+ * `OAuth2CredentialExchanger` in `core/src/auth/oauth2/` already owns that one,
46
+ * and it solves a different problem: it fetches tokens from the token endpoint,
47
+ * where this class converts a token it is given.
48
+ */
49
+ export declare class OAuth2BearerExchanger implements BaseCredentialExchanger {
50
+ exchange(params: {
51
+ authScheme?: AuthScheme;
52
+ authCredential: AuthCredential;
53
+ }): Promise<ExchangeResult>;
54
+ }
@@ -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: {
@@ -0,0 +1,60 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { OpenAPIV3 } from 'openapi-types';
7
+ import { ApiParameter } from '../openapi_spec_parser/operation_parser.js';
8
+ /**
9
+ * The type hints these helpers emit are Python tokens, in a TypeScript SDK,
10
+ * on purpose. They are assembled into a tool description that reaches the
11
+ * model, so the same OpenAPI operation has to describe itself identically in
12
+ * adk-js and in adk-python. The reference is adk-python
13
+ * `src/google/adk/tools/openapi_tool/common/common.py`.
14
+ */
15
+ /** Input to {@link createApiParameter}; `name` is derived when omitted. */
16
+ export interface ApiParameterInit {
17
+ originalName: string;
18
+ paramLocation: string;
19
+ paramSchema: OpenAPIV3.SchemaObject;
20
+ description?: string;
21
+ name?: string;
22
+ required?: boolean;
23
+ }
24
+ /**
25
+ * Returns the Python type hint for an OpenAPI schema.
26
+ *
27
+ * @param schema The schema to describe, if any.
28
+ * @returns A Python type name such as `str`, `List[int]` or `Dict[str, Any]`.
29
+ * A missing or unrecognised type gives `Any`.
30
+ */
31
+ export declare function getTypeHint(schema: OpenAPIV3.SchemaObject | undefined): string;
32
+ /**
33
+ * Generates the docstring line documenting one parameter.
34
+ *
35
+ * @param param The parameter to document.
36
+ * @returns A line of the form `name (type): description`, followed by an
37
+ * indented property list when the schema is an object with properties.
38
+ */
39
+ export declare function generateParamDoc(param: ApiParameter): string;
40
+ /**
41
+ * Generates the docstring block documenting the return value.
42
+ *
43
+ * Uses the 2xx response with the smallest status code that has content.
44
+ *
45
+ * @param responses The responses of an OpenAPI operation.
46
+ * @returns A line of the form `Returns (type): description`, or `''` when no
47
+ * 2xx response has content.
48
+ */
49
+ export declare function generateReturnDoc(responses: OpenAPIV3.ResponsesObject): string;
50
+ /**
51
+ * Builds an {@link ApiParameter}, deriving the fields adk-python derives in
52
+ * `ApiParameter.model_post_init`.
53
+ *
54
+ * `name` falls back to the reserved-word-safe snake_case form of
55
+ * `originalName`, and `description` falls back to the schema description.
56
+ *
57
+ * @param init The parameter fields.
58
+ * @returns The parameter with its derived fields filled in.
59
+ */
60
+ export declare function createApiParameter(init: ApiParameterInit): ApiParameter;
@@ -4,6 +4,7 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { OpenAPIV3 } from 'openapi-types';
7
+ import { AuthCredential } from '../../../auth/auth_credential.js';
7
8
  import { ApiParameter } from './operation_parser.js';
8
9
  export interface OperationEndpoint {
9
10
  baseUrl: string;
@@ -18,6 +19,12 @@ export interface ParsedOperation {
18
19
  parameters: ApiParameter[];
19
20
  returnValue?: ApiParameter;
20
21
  authScheme?: OpenAPIV3.SecuritySchemeObject;
22
+ /**
23
+ * Credential for the operation. The parser leaves this undefined; a caller
24
+ * that builds a `ParsedOperation` by hand can set it, and `OpenAPIToolset`
25
+ * passes it to the tool it creates.
26
+ */
27
+ authCredential?: AuthCredential;
21
28
  }
22
29
  export declare class OpenApiSpecParser {
23
30
  private preservePropertyNames;
@@ -19,13 +19,32 @@ export interface ApiParameter {
19
19
  * that are compatible with Gemini's tool function declarations.
20
20
  */
21
21
  export declare class OperationParser {
22
- private readonly operation;
23
22
  private params;
24
23
  private returnValue?;
25
24
  private preservePropertyNames;
26
- constructor(operation: OpenAPIV3.OperationObject, options?: {
25
+ private readonly operation;
26
+ /**
27
+ * @param operation The operation to parse. A string is parsed as JSON, and a
28
+ * plain object is used as given.
29
+ * @param options.preservePropertyNames Keeps the original parameter and
30
+ * function names instead of converting them to snake_case.
31
+ * @param options.shouldParse Whether to parse the operation during
32
+ * construction. Defaults to `true`.
33
+ */
34
+ constructor(operation: OpenAPIV3.OperationObject | Record<string, unknown> | string, options?: {
27
35
  preservePropertyNames?: boolean;
36
+ shouldParse?: boolean;
28
37
  });
38
+ /**
39
+ * Builds a parser from parameters that were already parsed, without walking
40
+ * the operation again.
41
+ *
42
+ * @param operation The operation the parameters came from.
43
+ * @param params The parsed parameters.
44
+ * @param returnValue The parsed return value, if any.
45
+ * @returns A parser holding the given parameters.
46
+ */
47
+ static load(operation: OpenAPIV3.OperationObject | Record<string, unknown> | string, params: ApiParameter[], returnValue?: ApiParameter): OperationParser;
29
48
  private getParamName;
30
49
  private processOperationParameters;
31
50
  private processRequestBody;
@@ -56,4 +75,39 @@ export declare class OperationParser {
56
75
  * @returns A string representing the description.
57
76
  */
58
77
  getDescription(): string;
78
+ /**
79
+ * Gets the name of the security scheme this operation declares.
80
+ *
81
+ * Only operation-level security is considered. Document-level security is
82
+ * not visible from here, so a caller that needs the fallback uses
83
+ * `OpenApiSpecParser` instead.
84
+ *
85
+ * @returns The first declared scheme name, or `''` when the operation
86
+ * declares none.
87
+ */
88
+ getAuthSchemeName(): string;
89
+ /**
90
+ * Gets the parsed return value of the operation.
91
+ *
92
+ * @returns The return value, or `undefined` when the parser was constructed
93
+ * with `shouldParse: false` and nothing was loaded.
94
+ */
95
+ getReturnValue(): ApiParameter | undefined;
96
+ /**
97
+ * Gets the Python-style type hint of the return value.
98
+ *
99
+ * @returns A type name such as `str`, or `Any` when the operation declares
100
+ * no typed 2xx response.
101
+ */
102
+ getReturnTypeHint(): string;
103
+ /**
104
+ * Generates a Python-style docstring describing the operation, every
105
+ * parameter and the return value.
106
+ *
107
+ * The type names inside it are Python's, because the artifact is a docstring
108
+ * in adk-python's format and the same text reaches the model in both SDKs.
109
+ *
110
+ * @returns The generated docstring.
111
+ */
112
+ getPydocString(): string;
59
113
  }