@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
@@ -33,10 +33,18 @@ module.exports = __toCommonJS(forwarding_artifact_service_exports);
33
33
  * Copyright 2025 Google LLC
34
34
  * SPDX-License-Identifier: Apache-2.0
35
35
  */
36
+ var _a;
37
+ const SESSION_ARTIFACT_SERVICE_SIGNATURE_SYMBOL = /* @__PURE__ */ Symbol.for(
38
+ "google.adk.sessionArtifactService"
39
+ );
40
+ _a = SESSION_ARTIFACT_SERVICE_SIGNATURE_SYMBOL;
36
41
  const _ForwardingArtifactService = class _ForwardingArtifactService {
37
42
  constructor(toolContext) {
38
43
  this.toolContext = toolContext;
39
- this.invocationContext = toolContext.invocationContext;
44
+ /**
45
+ * Brands this class as a session-scoped artifact service.
46
+ */
47
+ this[_a] = true;
40
48
  }
41
49
  async saveArtifact(request) {
42
50
  return this.toolContext.saveArtifact(request.filename, request.artifact);
@@ -44,30 +52,27 @@ const _ForwardingArtifactService = class _ForwardingArtifactService {
44
52
  async loadArtifact(request) {
45
53
  return this.toolContext.loadArtifact(request.filename, request.version);
46
54
  }
47
- async listArtifactKeys(_request) {
55
+ async listArtifactKeys() {
48
56
  return this.toolContext.listArtifacts();
49
57
  }
50
58
  getArtifactService() {
51
- const service = this.invocationContext.artifactService;
59
+ const service = this.toolContext.invocationContext.artifactService;
52
60
  if (!service) {
53
61
  throw new Error("Artifact service is not initialized.");
54
62
  }
55
63
  return service;
56
64
  }
57
- async deleteArtifact(request) {
58
- return this.getArtifactService().deleteArtifact(request.filename);
65
+ async deleteArtifact(filename) {
66
+ return this.getArtifactService().deleteArtifact(filename);
59
67
  }
60
- async listVersions(request) {
61
- return this.getArtifactService().listVersions(request.filename);
68
+ async listVersions(filename) {
69
+ return this.getArtifactService().listVersions(filename);
62
70
  }
63
- async listArtifactVersions(request) {
64
- return this.getArtifactService().listArtifactVersions(request.filename);
71
+ async listArtifactVersions(filename) {
72
+ return this.getArtifactService().listArtifactVersions(filename);
65
73
  }
66
74
  async getArtifactVersion(request) {
67
- return this.getArtifactService().getArtifactVersion({
68
- filename: request.filename,
69
- version: request.version
70
- });
75
+ return this.getArtifactService().getArtifactVersion(request);
71
76
  }
72
77
  };
73
78
  __name(_ForwardingArtifactService, "ForwardingArtifactService");
@@ -48,7 +48,7 @@ function toSchema(parameters) {
48
48
  return parameters;
49
49
  }
50
50
  __name(toSchema, "toSchema");
51
- const FUNCTION_TOOL_SIGNATURE_SYMBOL = Symbol.for("google.adk.functionTool");
51
+ const FUNCTION_TOOL_SIGNATURE_SYMBOL = /* @__PURE__ */ Symbol.for("google.adk.functionTool");
52
52
  function isFunctionTool(obj) {
53
53
  return typeof obj === "object" && obj !== null && FUNCTION_TOOL_SIGNATURE_SYMBOL in obj && obj[FUNCTION_TOOL_SIGNATURE_SYMBOL] === true;
54
54
  }
@@ -89,11 +89,14 @@ const _FunctionTool = class _FunctionTool extends (_b = import_base_tool.BaseToo
89
89
  };
90
90
  }
91
91
  /**
92
- * Validates the model-provided arguments against the parameter schema and
93
- * invokes the user-defined `execute` function.
92
+ * Invokes the user-defined `execute` function with the model-provided
93
+ * arguments, after parsing them when `parameters` is a Zod object schema.
94
+ * Any other `parameters` value is passed through unchecked.
94
95
  *
95
96
  * @param req The tool request containing arguments and tool context.
96
97
  * @returns A promise resolving to the function's return value.
98
+ * @throws {Error} Wrapped as `Error in tool '<name>': …` when a Zod
99
+ * `parameters` schema rejects the arguments or `execute` throws.
97
100
  */
98
101
  async runAsync(req) {
99
102
  try {
@@ -31,7 +31,7 @@ __export(google_maps_grounding_tool_exports, {
31
31
  });
32
32
  module.exports = __toCommonJS(google_maps_grounding_tool_exports);
33
33
  var import_model_name = require("../utils/model_name.js");
34
- var import_base_tool = require("./base_tool.js");
34
+ var import_built_in_tool = require("./built_in_tool.js");
35
35
  /**
36
36
  * @license
37
37
  * Copyright 2026 Google LLC
@@ -60,14 +60,11 @@ function applyGoogleMapsGrounding(llmRequest) {
60
60
  );
61
61
  }
62
62
  __name(applyGoogleMapsGrounding, "applyGoogleMapsGrounding");
63
- const _GoogleMapsGroundingTool = class _GoogleMapsGroundingTool extends import_base_tool.BaseTool {
63
+ const _GoogleMapsGroundingTool = class _GoogleMapsGroundingTool extends import_built_in_tool.BuiltInTool {
64
64
  constructor() {
65
65
  super({ name: "google_maps", description: "Google Maps Grounding Tool" });
66
66
  }
67
- runAsync() {
68
- return Promise.resolve();
69
- }
70
- async processLlmRequest({
67
+ async applyBuiltInConfig({
71
68
  llmRequest
72
69
  }) {
73
70
  applyGoogleMapsGrounding(llmRequest);
@@ -30,20 +30,17 @@ __export(google_search_tool_exports, {
30
30
  });
31
31
  module.exports = __toCommonJS(google_search_tool_exports);
32
32
  var import_model_name = require("../utils/model_name.js");
33
- var import_base_tool = require("./base_tool.js");
33
+ var import_built_in_tool = require("./built_in_tool.js");
34
34
  /**
35
35
  * @license
36
36
  * Copyright 2025 Google LLC
37
37
  * SPDX-License-Identifier: Apache-2.0
38
38
  */
39
- const _GoogleSearchTool = class _GoogleSearchTool extends import_base_tool.BaseTool {
39
+ const _GoogleSearchTool = class _GoogleSearchTool extends import_built_in_tool.BuiltInTool {
40
40
  constructor() {
41
41
  super({ name: "google_search", description: "Google Search Tool" });
42
42
  }
43
- runAsync() {
44
- return Promise.resolve();
45
- }
46
- async processLlmRequest({
43
+ async applyBuiltInConfig({
47
44
  llmRequest
48
45
  }) {
49
46
  if (!llmRequest.model) {
@@ -38,7 +38,6 @@ var import_base_tool = require("./base_tool.js");
38
38
  * Copyright 2026 Google LLC
39
39
  * SPDX-License-Identifier: Apache-2.0
40
40
  */
41
- const logger = (0, import_logger.getLogger)();
42
41
  const GEMINI_SUPPORTED_INLINE_MIME_PREFIXES = ["image/", "audio/", "video/"];
43
42
  const GEMINI_SUPPORTED_INLINE_MIME_TYPES = /* @__PURE__ */ new Set(["application/pdf"]);
44
43
  const TEXT_LIKE_MIME_TYPES = /* @__PURE__ */ new Set([
@@ -135,6 +134,7 @@ NOTE: Call when you need access to artifacts (for example, uploads saved by the
135
134
  );
136
135
  }
137
136
  async appendArtifactsToLlmRequest(toolContext, llmRequest) {
137
+ var _a, _b;
138
138
  if (!toolContext.invocationContext.artifactService) {
139
139
  return;
140
140
  }
@@ -155,33 +155,57 @@ NOTE: Call when you need access to artifacts (for example, uploads saved by the
155
155
  artifacts.`
156
156
  ]);
157
157
  const contents = llmRequest.contents;
158
- if (contents && contents.length > 0) {
159
- const lastContent = contents[contents.length - 1];
160
- if (lastContent.role === "user" && lastContent.parts && lastContent.parts.length > 0) {
161
- const functionResponsePart = lastContent.parts[0];
162
- const functionResponse = functionResponsePart.functionResponse;
163
- if (functionResponse && functionResponse.name === "load_artifacts") {
164
- const response = functionResponse.response || {};
165
- const namesToLoad = response["artifact_names"] || [];
166
- for (const artifactName of namesToLoad) {
167
- let artifact = await toolContext.loadArtifact(artifactName);
168
- if (!artifact && !artifactName.startsWith("user:")) {
169
- const prefixedName = `user:${artifactName}`;
170
- artifact = await toolContext.loadArtifact(prefixedName);
171
- }
172
- if (!artifact) {
173
- logger.warn(`Artifact "${artifactName}" not found, skipping`);
174
- continue;
158
+ if (!contents || contents.length === 0) {
159
+ return;
160
+ }
161
+ let startIndex = 0;
162
+ for (let i = contents.length - 1; i >= 0; i--) {
163
+ const content = contents[i];
164
+ const hasFunctionResponse = (_a = content.parts) == null ? void 0 : _a.some(
165
+ (part) => part.functionResponse !== void 0
166
+ );
167
+ const hasFunctionCall = (_b = content.parts) == null ? void 0 : _b.some(
168
+ (part) => part.functionCall !== void 0
169
+ );
170
+ if (content.role === "model" && !hasFunctionCall || content.role === "user" && !hasFunctionResponse) {
171
+ startIndex = i;
172
+ break;
173
+ }
174
+ }
175
+ const namesToLoad = [];
176
+ for (let i = startIndex; i < contents.length; i++) {
177
+ const content = contents[i];
178
+ if (content.role === "user" && content.parts) {
179
+ for (const part of content.parts) {
180
+ const functionResponse = part.functionResponse;
181
+ if (functionResponse && functionResponse.name === this.name) {
182
+ const response = functionResponse.response || {};
183
+ const artifactNames2 = response["artifact_names"] || [];
184
+ for (const name of artifactNames2) {
185
+ if (name && !namesToLoad.includes(name)) {
186
+ namesToLoad.push(name);
187
+ }
175
188
  }
176
- const artifactPart = asSafePartForLlm(artifact, artifactName);
177
- llmRequest.contents.push({
178
- role: "user",
179
- parts: [{ text: `Artifact ${artifactName} is:` }, artifactPart]
180
- });
181
189
  }
182
190
  }
183
191
  }
184
192
  }
193
+ for (const artifactName of namesToLoad) {
194
+ let artifact = await toolContext.loadArtifact(artifactName);
195
+ if (!artifact && !artifactName.startsWith("user:")) {
196
+ const prefixedName = `user:${artifactName}`;
197
+ artifact = await toolContext.loadArtifact(prefixedName);
198
+ }
199
+ if (!artifact) {
200
+ import_logger.logger.warn(`Artifact "${artifactName}" not found, skipping`);
201
+ continue;
202
+ }
203
+ const artifactPart = asSafePartForLlm(artifact, artifactName);
204
+ llmRequest.contents.push({
205
+ role: "user",
206
+ parts: [{ text: `Artifact ${artifactName} is:` }, artifactPart]
207
+ });
208
+ }
185
209
  }
186
210
  };
187
211
  __name(_LoadArtifactsTool, "LoadArtifactsTool");
@@ -29,199 +29,33 @@ __export(load_web_page_exports, {
29
29
  loadWebPage: () => loadWebPage
30
30
  });
31
31
  module.exports = __toCommonJS(load_web_page_exports);
32
- var import_promises = require("node:dns/promises");
33
- var import_node_net = require("node:net");
34
32
  var import_zod = require("zod");
33
+ var import_ssrf_guard = require("../utils/ssrf_guard.js");
35
34
  var import_function_tool = require("./function_tool.js");
36
35
  /**
37
36
  * @license
38
37
  * Copyright 2026 Google LLC
39
38
  * SPDX-License-Identifier: Apache-2.0
40
39
  */
41
- const ALLOWED_SCHEMES = /* @__PURE__ */ new Set(["http:", "https:"]);
42
40
  const DEFAULT_TIMEOUT_MS = 3e4;
43
- const BLOCKED_IPV4_CIDRS = [
44
- "0.0.0.0/8",
45
- // "this host on this network"
46
- "10.0.0.0/8",
47
- // private
48
- "100.64.0.0/10",
49
- // shared address space / CGNAT
50
- "127.0.0.0/8",
51
- // loopback
52
- "169.254.0.0/16",
53
- // link-local (includes GCP metadata 169.254.169.254)
54
- "172.16.0.0/12",
55
- // private
56
- "192.0.0.0/24",
57
- // IETF protocol assignments
58
- "192.0.2.0/24",
59
- // TEST-NET-1 (documentation)
60
- "192.88.99.0/24",
61
- // 6to4 relay anycast (deprecated)
62
- "192.168.0.0/16",
63
- // private
64
- "198.18.0.0/15",
65
- // benchmarking
66
- "198.51.100.0/24",
67
- // TEST-NET-2 (documentation)
68
- "203.0.113.0/24",
69
- // TEST-NET-3 (documentation)
70
- "224.0.0.0/4",
71
- // multicast
72
- "240.0.0.0/4"
73
- // reserved / future use (includes 255.255.255.255)
74
- ].map(parseIpv4Cidr);
75
- const BLOCKED_IPV6_CIDRS = [
76
- "::/128",
77
- // unspecified
78
- "::1/128",
79
- // loopback
80
- "64:ff9b:1::/48",
81
- // local NAT64
82
- "100::/64",
83
- // discard-only
84
- "2001:db8::/32",
85
- // documentation
86
- "fc00::/7",
87
- // unique-local (ULA, private)
88
- "fe80::/10",
89
- // link-local
90
- "ff00::/8"
91
- // multicast
92
- ].map(parseIpv6Cidr);
93
41
  function failedToFetchMessage(url) {
94
42
  return `Failed to fetch url: ${url}`;
95
43
  }
96
44
  __name(failedToFetchMessage, "failedToFetchMessage");
97
- function isBlockedHostname(hostname) {
98
- const normalized = hostname.replace(/\.+$/, "").toLowerCase();
99
- return normalized === "localhost" || normalized.endsWith(".localhost");
100
- }
101
- __name(isBlockedHostname, "isBlockedHostname");
102
- function normalizeHost(hostname) {
103
- return hostname.startsWith("[") ? hostname.slice(1, -1) : hostname;
104
- }
105
- __name(normalizeHost, "normalizeHost");
106
- function parseIpv4(address) {
107
- const match = /^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/.exec(address);
108
- if (!match) {
109
- return null;
110
- }
111
- const octets = match.slice(1).map(Number);
112
- if (octets.some((octet) => octet > 255)) {
113
- return null;
114
- }
115
- return octets;
116
- }
117
- __name(parseIpv4, "parseIpv4");
118
- function parseIpv6(address) {
119
- if ((0, import_node_net.isIP)(address) !== 6) {
120
- return null;
121
- }
122
- const [head, tail] = address.split("::");
123
- const highGroups = head ? expandHextets(head) : [];
124
- const lowGroups = tail ? expandHextets(tail) : [];
125
- const compressed = address.includes("::") ? new Array(8 - highGroups.length - lowGroups.length).fill(0) : [];
126
- return [...highGroups, ...compressed, ...lowGroups];
127
- }
128
- __name(parseIpv6, "parseIpv6");
129
- function expandHextets(fragment) {
130
- const hextets = [];
131
- for (const group of fragment.split(":")) {
132
- if (group.includes(".")) {
133
- const octets = parseIpv4(group);
134
- hextets.push(octets[0] << 8 | octets[1], octets[2] << 8 | octets[3]);
135
- } else {
136
- hextets.push(parseInt(group, 16));
137
- }
138
- }
139
- return hextets;
140
- }
141
- __name(expandHextets, "expandHextets");
142
- function ipv4ToInt(octets) {
143
- return (octets[0] << 24 | octets[1] << 16 | octets[2] << 8 | octets[3]) >>> 0;
144
- }
145
- __name(ipv4ToInt, "ipv4ToInt");
146
- function hextetsToBigInt(hextets) {
147
- let value = 0n;
148
- for (const hextet of hextets) {
149
- value = value << 16n | BigInt(hextet);
150
- }
151
- return value;
152
- }
153
- __name(hextetsToBigInt, "hextetsToBigInt");
154
- function parseIpv4Cidr(cidr) {
155
- const [address, prefix] = cidr.split("/");
156
- const mask = 4294967295 << 32 - Number(prefix) >>> 0;
157
- return { base: (ipv4ToInt(parseIpv4(address)) & mask) >>> 0, mask };
158
- }
159
- __name(parseIpv4Cidr, "parseIpv4Cidr");
160
- function parseIpv6Cidr(cidr) {
161
- const [address, prefix] = cidr.split("/");
162
- return { base: hextetsToBigInt(parseIpv6(address)), prefix: Number(prefix) };
163
- }
164
- __name(parseIpv6Cidr, "parseIpv6Cidr");
165
- function isBlockedIpv4(octets) {
166
- const value = ipv4ToInt(octets);
167
- return BLOCKED_IPV4_CIDRS.some(
168
- ({ base, mask }) => (value & mask) >>> 0 === base
169
- );
170
- }
171
- __name(isBlockedIpv4, "isBlockedIpv4");
172
- function isBlockedIpv6(hextets) {
173
- const value = hextetsToBigInt(hextets);
174
- if (value >> 32n === 0xffffn) {
175
- return isBlockedIpv4([
176
- Number(value >> 24n & 0xffn),
177
- Number(value >> 16n & 0xffn),
178
- Number(value >> 8n & 0xffn),
179
- Number(value & 0xffn)
180
- ]);
181
- }
182
- return BLOCKED_IPV6_CIDRS.some(
183
- ({ base, prefix }) => value >> BigInt(128 - prefix) === base >> BigInt(128 - prefix)
184
- );
185
- }
186
- __name(isBlockedIpv6, "isBlockedIpv6");
187
- function isBlockedAddress(address) {
188
- const octets = parseIpv4(address);
189
- if (octets) {
190
- return isBlockedIpv4(octets);
191
- }
192
- const hextets = parseIpv6(address);
193
- if (hextets) {
194
- return isBlockedIpv6(hextets);
195
- }
196
- return true;
197
- }
198
- __name(isBlockedAddress, "isBlockedAddress");
199
- async function resolveHostAddresses(hostname) {
200
- if ((0, import_node_net.isIP)(hostname) !== 0) {
201
- return [hostname];
202
- }
203
- const records = await (0, import_promises.lookup)(hostname, { all: true });
204
- const addresses = [...new Set(records.map((record) => record.address))];
205
- if (addresses.length === 0) {
206
- throw new Error(`Unable to resolve host: ${hostname}`);
207
- }
208
- return addresses;
209
- }
210
- __name(resolveHostAddresses, "resolveHostAddresses");
211
45
  function assertUrlAllowed(url) {
212
46
  const parsed = new URL(url);
213
- if (!ALLOWED_SCHEMES.has(parsed.protocol)) {
47
+ if (!(0, import_ssrf_guard.isHttpUrl)(parsed)) {
214
48
  throw new Error(`Unsupported url scheme: ${url}`);
215
49
  }
216
- if (isBlockedHostname(parsed.hostname)) {
50
+ if ((0, import_ssrf_guard.isLocalhostHostname)(parsed.hostname)) {
217
51
  throw new Error(`Blocked host: ${parsed.hostname}`);
218
52
  }
219
53
  return parsed;
220
54
  }
221
55
  __name(assertUrlAllowed, "assertUrlAllowed");
222
56
  async function validateResolvedAddresses(hostname) {
223
- const addresses = await resolveHostAddresses(hostname);
224
- if (addresses.some(isBlockedAddress)) {
57
+ const addresses = await (0, import_ssrf_guard.resolveHostAddresses)(hostname);
58
+ if (addresses.some(import_ssrf_guard.isNonGlobalAddress)) {
225
59
  throw new Error(`Blocked host: ${hostname}`);
226
60
  }
227
61
  }
@@ -241,7 +75,7 @@ async function loadWebPage(url, options) {
241
75
  const timeoutMs = (_a = options == null ? void 0 : options.timeoutMs) != null ? _a : DEFAULT_TIMEOUT_MS;
242
76
  try {
243
77
  const parsed = assertUrlAllowed(url);
244
- await validateResolvedAddresses(normalizeHost(parsed.hostname));
78
+ await validateResolvedAddresses((0, import_ssrf_guard.normalizeHost)(parsed.hostname));
245
79
  const response = await fetch(url, {
246
80
  redirect: "manual",
247
81
  signal: AbortSignal.timeout(timeoutMs)
@@ -95,13 +95,42 @@ before answering questions related to the resources.`
95
95
  } catch (e) {
96
96
  import_logger.logger.warn(`Failed to list MCP resources: ${e}`);
97
97
  }
98
- const lastContent = llmRequest.contents.at(-1);
99
- const functionResponse = (_b = (_a = lastContent == null ? void 0 : lastContent.parts) == null ? void 0 : _a[0]) == null ? void 0 : _b.functionResponse;
100
- if (!functionResponse || functionResponse.name !== this.name) {
98
+ const contents = llmRequest.contents;
99
+ if (!contents || contents.length === 0) {
101
100
  return;
102
101
  }
103
- const response = functionResponse.response || {};
104
- const requestedResourceNames = response["resource_names"] || [];
102
+ let startIndex = 0;
103
+ for (let i = contents.length - 1; i >= 0; i--) {
104
+ const content = contents[i];
105
+ const hasFunctionResponse = (_a = content.parts) == null ? void 0 : _a.some(
106
+ (part) => part.functionResponse !== void 0
107
+ );
108
+ const hasFunctionCall = (_b = content.parts) == null ? void 0 : _b.some(
109
+ (part) => part.functionCall !== void 0
110
+ );
111
+ if (content.role === "model" && !hasFunctionCall || content.role === "user" && !hasFunctionResponse) {
112
+ startIndex = i;
113
+ break;
114
+ }
115
+ }
116
+ const requestedResourceNames = [];
117
+ for (let i = startIndex; i < contents.length; i++) {
118
+ const content = contents[i];
119
+ if (content.role === "user" && content.parts) {
120
+ for (const part of content.parts) {
121
+ const functionResponse = part.functionResponse;
122
+ if (functionResponse && functionResponse.name === this.name) {
123
+ const response = functionResponse.response || {};
124
+ const names = response["resource_names"] || [];
125
+ for (const name of names) {
126
+ if (name && !requestedResourceNames.includes(name)) {
127
+ requestedResourceNames.push(name);
128
+ }
129
+ }
130
+ }
131
+ }
132
+ }
133
+ }
105
134
  for (const resourceName of requestedResourceNames) {
106
135
  try {
107
136
  const resourceContents = await this.mcpToolset.readResource(resourceName);
@@ -38,6 +38,7 @@ __export(mcp_session_manager_exports, {
38
38
  MCPSessionManager: () => MCPSessionManager
39
39
  });
40
40
  module.exports = __toCommonJS(mcp_session_manager_exports);
41
+ var import_client_labels = require("../../utils/client_labels.js");
41
42
  var import_error_utils = require("../../utils/error_utils.js");
42
43
  var import_logger = require("../../utils/logger.js");
43
44
  var import_optional_peer = require("../../utils/optional_peer.js");
@@ -54,13 +55,24 @@ function logTransportError(err) {
54
55
  import_logger.logger.error("MCP transport error: " + (0, import_error_utils.formatError)(err));
55
56
  }
56
57
  __name(logTransportError, "logTransportError");
58
+ function buildTransportOptions(params) {
59
+ const { transportOptions, header } = params;
60
+ const callerHeaders = (transportOptions == null ? void 0 : transportOptions.requestInit) === void 0 ? header : transportOptions.requestInit.headers;
61
+ return {
62
+ ...transportOptions,
63
+ requestInit: {
64
+ ...transportOptions == null ? void 0 : transportOptions.requestInit,
65
+ headers: (0, import_client_labels.mergeTrackingHeaders)(callerHeaders)
66
+ }
67
+ };
68
+ }
69
+ __name(buildTransportOptions, "buildTransportOptions");
57
70
  const _MCPSessionManager = class _MCPSessionManager {
58
71
  constructor(connectionParams) {
59
72
  this.activeSessions = /* @__PURE__ */ new Set();
60
73
  this.connectionParams = connectionParams;
61
74
  }
62
75
  async createSession() {
63
- var _a;
64
76
  const { Client } = await (0, import_optional_peer.loadOptionalPeer)(
65
77
  MCP_SDK,
66
78
  () => Promise.resolve().then(() => __toESM(require("@modelcontextprotocol/sdk/client/index.js"), 1))
@@ -81,19 +93,13 @@ const _MCPSessionManager = class _MCPSessionManager {
81
93
  break;
82
94
  }
83
95
  case "StreamableHTTPConnectionParams": {
84
- const options = (_a = this.connectionParams.transportOptions) != null ? _a : {};
85
- if (!options.requestInit && this.connectionParams.header !== void 0) {
86
- options.requestInit = {
87
- headers: this.connectionParams.header
88
- };
89
- }
90
96
  const { StreamableHTTPClientTransport } = await (0, import_optional_peer.loadOptionalPeer)(
91
97
  MCP_SDK,
92
98
  () => Promise.resolve().then(() => __toESM(require("@modelcontextprotocol/sdk/client/streamableHttp.js"), 1))
93
99
  );
94
100
  const transport = new StreamableHTTPClientTransport(
95
101
  new URL(this.connectionParams.url),
96
- options
102
+ buildTransportOptions(this.connectionParams)
97
103
  );
98
104
  transport.onerror = logTransportError;
99
105
  await client.connect(transport);