@google/adk 2.3.0 → 2.5.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 (396) hide show
  1. package/dist/cjs/a2a/a2a_remote_agent.js +17 -2
  2. package/dist/cjs/a2a/a2a_remote_agent_utils.js +8 -4
  3. package/dist/cjs/a2a/agent_card.js +5 -81
  4. package/dist/cjs/a2a/agent_to_a2a.js +7 -0
  5. package/dist/cjs/a2a/event_converter_utils.js +10 -3
  6. package/dist/cjs/agents/agent_engine_client.js +399 -0
  7. package/dist/cjs/agents/base_agent.js +127 -68
  8. package/dist/cjs/agents/functions.js +64 -59
  9. package/dist/cjs/agents/instructions.js +8 -6
  10. package/dist/cjs/agents/invocation_context.js +2 -2
  11. package/dist/cjs/agents/llm_agent.js +124 -101
  12. package/dist/cjs/agents/processors/basic_llm_request_processor.js +1 -1
  13. package/dist/cjs/agents/processors/code_execution_request_processor.js +8 -0
  14. package/dist/cjs/agents/processors/content_processor_utils.js +72 -17
  15. package/dist/cjs/agents/processors/content_request_processor.js +51 -2
  16. package/dist/cjs/agents/processors/context_compactor_request_processor.js +5 -1
  17. package/dist/cjs/agents/processors/instructions_llm_request_processor.js +1 -1
  18. package/dist/cjs/agents/processors/nl_planning_processor.js +13 -3
  19. package/dist/cjs/artifacts/file_artifact_service.js +1 -1
  20. package/dist/cjs/cli/cli_eval.js +884 -17
  21. package/dist/cjs/cli/utils/cleanup.js +84 -0
  22. package/dist/cjs/cli/utils/envs.js +33 -2
  23. package/dist/cjs/cli/utils/evals.js +75 -8
  24. package/dist/cjs/cli/utils/logs.js +134 -15
  25. package/dist/cjs/cli/utils/path_validation.js +83 -0
  26. package/dist/cjs/code_executors/container_code_executor.js +171 -38
  27. package/dist/cjs/code_executors/unsafe_local_code_executor.js +6 -1
  28. package/dist/cjs/common.js +59 -32
  29. package/dist/cjs/context/compaction_utils.js +19 -0
  30. package/dist/cjs/errors/input_validation_error.js +3 -2
  31. package/dist/cjs/events/event.js +7 -3
  32. package/dist/cjs/features/feature_registry.js +5 -0
  33. package/dist/cjs/index.js +34 -12
  34. package/dist/cjs/models/google_llm.js +33 -2
  35. package/dist/cjs/models/interactions_utils.js +3 -0
  36. package/dist/cjs/plugins/base_plugin.js +54 -40
  37. package/dist/cjs/plugins/plugin_manager.js +27 -0
  38. package/dist/cjs/runner/runner.js +306 -189
  39. package/dist/cjs/sessions/base_session_service.js +15 -12
  40. package/dist/cjs/sessions/database_session_service.js +232 -38
  41. package/dist/cjs/sessions/db/operations.js +70 -1
  42. package/dist/cjs/sessions/db/schema.js +4 -0
  43. package/dist/cjs/sessions/in_memory_session_service.js +2 -2
  44. package/dist/cjs/sessions/stale_session_error.js +59 -0
  45. package/dist/cjs/sessions/vertex_ai_session_service.js +11 -3
  46. package/dist/cjs/skills/loader.js +76 -41
  47. package/dist/cjs/telemetry/api/instrumentation.js +632 -0
  48. package/dist/cjs/telemetry/api/internal/common/accumulators.js +169 -0
  49. package/dist/cjs/telemetry/api/internal/common/attributes.js +131 -0
  50. package/dist/cjs/telemetry/api/internal/common/config.js +159 -0
  51. package/dist/cjs/telemetry/api/internal/common/error.js +98 -0
  52. package/dist/cjs/telemetry/api/internal/common/finish_reason.js +63 -0
  53. package/dist/cjs/telemetry/api/internal/common/genai_messages.js +217 -0
  54. package/dist/cjs/telemetry/api/internal/common/http_exchange.js +169 -0
  55. package/dist/cjs/telemetry/api/internal/common/provider_name.js +87 -0
  56. package/dist/cjs/telemetry/api/internal/common/redaction.js +148 -0
  57. package/dist/cjs/telemetry/api/internal/common/serialization.js +58 -0
  58. package/dist/cjs/telemetry/api/internal/common/token_usage.js +118 -0
  59. package/dist/cjs/telemetry/api/internal/logs/inference.js +50 -0
  60. package/dist/cjs/telemetry/api/internal/logs/logger.js +46 -0
  61. package/dist/cjs/telemetry/api/internal/logs/mcp.js +141 -0
  62. package/dist/cjs/telemetry/api/internal/metrics/agent.js +128 -0
  63. package/dist/cjs/telemetry/api/internal/metrics/inference_start_hook.js +56 -0
  64. package/dist/cjs/telemetry/api/internal/metrics/meters.js +189 -0
  65. package/dist/cjs/telemetry/api/internal/metrics/tool.js +147 -0
  66. package/dist/cjs/telemetry/api/internal/metrics/workflow.js +132 -0
  67. package/dist/cjs/telemetry/api/internal/trace/agent.js +52 -0
  68. package/dist/cjs/telemetry/api/internal/trace/compaction.js +78 -0
  69. package/dist/cjs/telemetry/api/internal/trace/inference.js +132 -0
  70. package/dist/cjs/telemetry/api/internal/trace/live.js +52 -0
  71. package/dist/cjs/telemetry/api/internal/trace/node.js +73 -0
  72. package/dist/cjs/telemetry/api/internal/trace/propagation.js +67 -0
  73. package/dist/cjs/telemetry/api/internal/trace/tool.js +122 -0
  74. package/dist/cjs/telemetry/api/internal/trace/tracer.js +77 -0
  75. package/dist/cjs/telemetry/api/internal/trace/workflow.js +77 -0
  76. package/dist/cjs/telemetry/export/agent_engine.js +90 -0
  77. package/dist/cjs/telemetry/export/agent_runtime.js +73 -0
  78. package/dist/cjs/telemetry/export/google_cloud.js +763 -0
  79. package/dist/cjs/telemetry/export/request_driven_metric_reader.js +303 -0
  80. package/dist/cjs/telemetry/{setup.js → export/setup.js} +72 -6
  81. package/dist/cjs/tools/agent_tool.js +9 -1
  82. package/dist/cjs/tools/apihub_tool/apihub_toolset.js +18 -23
  83. package/dist/cjs/tools/application_integration_tool/application_integration_toolset.js +109 -43
  84. package/dist/cjs/tools/application_integration_tool/clients/connections_client.js +222 -114
  85. package/dist/cjs/tools/application_integration_tool/clients/integration_client.js +34 -14
  86. package/dist/cjs/tools/application_integration_tool/integration_connector_tool.js +175 -0
  87. package/dist/cjs/tools/base_toolset.js +1 -1
  88. package/dist/cjs/tools/computer_use/base_computer.js +125 -0
  89. package/dist/cjs/tools/computer_use/computer_use_actions.js +502 -0
  90. package/dist/cjs/tools/computer_use/computer_use_tool.js +244 -0
  91. package/dist/cjs/tools/computer_use/computer_use_toolset.js +360 -0
  92. package/dist/cjs/tools/function_tool.js +15 -5
  93. package/dist/cjs/tools/google_api_tool/google_api_tool.js +4 -1
  94. package/dist/cjs/tools/google_api_tool/google_api_toolset.js +174 -0
  95. package/dist/cjs/tools/google_api_tool/google_api_toolsets.js +124 -0
  96. package/dist/cjs/tools/google_api_tool/googleapi_to_openapi_converter.js +5 -3
  97. package/dist/cjs/tools/google_api_tool/index.js +20 -23
  98. package/dist/cjs/tools/load_artifacts_tool.js +27 -11
  99. package/dist/cjs/tools/load_memory_tool.js +14 -15
  100. package/dist/cjs/tools/mcp/mcp_session_manager.js +23 -3
  101. package/dist/cjs/tools/mcp/mcp_tool.js +7 -3
  102. package/dist/cjs/tools/mcp/mcp_toolset.js +19 -20
  103. package/dist/cjs/tools/openapi_tool/auth/auth_helpers.js +30 -29
  104. package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/oauth2_exchanger.js +4 -4
  105. package/dist/cjs/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +20 -6
  106. package/dist/cjs/tools/openapi_tool/openapi_spec_parser/operation_parser.js +17 -6
  107. package/dist/cjs/tools/openapi_tool/openapi_toolset.js +7 -13
  108. package/dist/cjs/tools/openapi_tool/rest_api_tool.js +57 -10
  109. package/dist/cjs/tools/skill/load_skill_resource_tool.js +7 -0
  110. package/dist/cjs/tools/skill/load_skill_tool.js +3 -0
  111. package/dist/cjs/tools/skill/run_skill_script_tool.js +12 -2
  112. package/dist/cjs/tools/toolbox_toolset.js +193 -0
  113. package/dist/cjs/tools/webmcp/webmcp_toolset.js +1 -14
  114. package/dist/cjs/utils/async_queue.js +37 -3
  115. package/dist/cjs/utils/client_labels.js +17 -2
  116. package/dist/cjs/utils/env_aware_utils.js +13 -7
  117. package/dist/cjs/utils/error_utils.js +40 -2
  118. package/dist/cjs/utils/failover_utils.js +11 -10
  119. package/dist/cjs/utils/gemini_schema_util.js +145 -14
  120. package/dist/cjs/utils/id_provider.js +63 -0
  121. package/dist/cjs/utils/logger_node.js +4 -0
  122. package/dist/cjs/utils/model_name.js +15 -0
  123. package/dist/cjs/utils/output_schema_utils.js +5 -2
  124. package/dist/cjs/utils/simple_zod_to_json.js +13 -31
  125. package/dist/cjs/utils/ssrf_guard.js +46 -16
  126. package/dist/cjs/utils/task.js +1 -1
  127. package/dist/cjs/version.js +1 -1
  128. package/dist/cjs/workflow/index.js +2 -0
  129. package/dist/cjs/workflow/node_runner.js +24 -80
  130. package/dist/cjs/workflow/nodes/parallel_worker.js +18 -7
  131. package/dist/cjs/workflow/run_llm_agent_as_node.js +19 -14
  132. package/dist/cjs/workflow/utils/retry_utils.js +2 -2
  133. package/dist/cjs/workflow/workflow.js +12 -12
  134. package/dist/esm/a2a/a2a_remote_agent.js +23 -3
  135. package/dist/esm/a2a/a2a_remote_agent_utils.js +8 -4
  136. package/dist/esm/a2a/agent_card.js +5 -83
  137. package/dist/esm/a2a/agent_to_a2a.js +7 -0
  138. package/dist/esm/a2a/event_converter_utils.js +10 -3
  139. package/dist/esm/agents/agent_engine_client.js +382 -0
  140. package/dist/esm/agents/base_agent.js +127 -72
  141. package/dist/esm/agents/functions.js +69 -63
  142. package/dist/esm/agents/instructions.js +8 -6
  143. package/dist/esm/agents/invocation_context.js +2 -2
  144. package/dist/esm/agents/llm_agent.js +130 -106
  145. package/dist/esm/agents/processors/basic_llm_request_processor.js +1 -1
  146. package/dist/esm/agents/processors/code_execution_request_processor.js +8 -0
  147. package/dist/esm/agents/processors/content_processor_utils.js +72 -17
  148. package/dist/esm/agents/processors/content_request_processor.js +51 -2
  149. package/dist/esm/agents/processors/context_compactor_request_processor.js +5 -1
  150. package/dist/esm/agents/processors/instructions_llm_request_processor.js +1 -1
  151. package/dist/esm/agents/processors/nl_planning_processor.js +13 -3
  152. package/dist/esm/artifacts/file_artifact_service.js +1 -1
  153. package/dist/esm/cli/cli_eval.js +880 -17
  154. package/dist/esm/cli/utils/cleanup.js +56 -0
  155. package/dist/esm/cli/utils/envs.js +33 -2
  156. package/dist/esm/cli/utils/evals.js +74 -8
  157. package/dist/esm/cli/utils/logs.js +132 -13
  158. package/dist/esm/cli/utils/path_validation.js +45 -0
  159. package/dist/esm/code_executors/container_code_executor.js +171 -38
  160. package/dist/esm/code_executors/unsafe_local_code_executor.js +6 -1
  161. package/dist/esm/common.js +59 -19
  162. package/dist/esm/context/compaction_utils.js +19 -0
  163. package/dist/esm/errors/input_validation_error.js +3 -2
  164. package/dist/esm/events/event.js +7 -3
  165. package/dist/esm/features/feature_registry.js +5 -0
  166. package/dist/esm/index.js +36 -10
  167. package/dist/esm/models/google_llm.js +33 -2
  168. package/dist/esm/models/interactions_utils.js +3 -0
  169. package/dist/esm/plugins/base_plugin.js +54 -40
  170. package/dist/esm/plugins/plugin_manager.js +27 -0
  171. package/dist/esm/runner/runner.js +310 -192
  172. package/dist/esm/sessions/base_session_service.js +13 -11
  173. package/dist/esm/sessions/database_session_service.js +231 -38
  174. package/dist/esm/sessions/db/operations.js +70 -1
  175. package/dist/esm/sessions/db/schema.js +4 -0
  176. package/dist/esm/sessions/in_memory_session_service.js +2 -2
  177. package/dist/esm/sessions/stale_session_error.js +31 -0
  178. package/dist/esm/sessions/vertex_ai_session_service.js +11 -3
  179. package/dist/esm/skills/loader.js +76 -41
  180. package/dist/esm/telemetry/api/instrumentation.js +655 -0
  181. package/dist/esm/telemetry/api/internal/common/accumulators.js +139 -0
  182. package/dist/esm/telemetry/api/internal/common/attributes.js +94 -0
  183. package/dist/esm/telemetry/api/internal/common/config.js +128 -0
  184. package/dist/esm/telemetry/api/internal/common/error.js +69 -0
  185. package/dist/esm/telemetry/api/internal/common/finish_reason.js +35 -0
  186. package/dist/esm/telemetry/api/internal/common/genai_messages.js +188 -0
  187. package/dist/esm/telemetry/api/internal/common/http_exchange.js +142 -0
  188. package/dist/esm/telemetry/api/internal/common/provider_name.js +59 -0
  189. package/dist/esm/telemetry/api/internal/common/redaction.js +121 -0
  190. package/dist/esm/telemetry/api/internal/common/serialization.js +30 -0
  191. package/dist/esm/telemetry/api/internal/common/token_usage.js +85 -0
  192. package/dist/esm/telemetry/api/internal/logs/inference.js +23 -0
  193. package/dist/esm/telemetry/api/internal/logs/logger.js +19 -0
  194. package/dist/esm/telemetry/api/internal/logs/mcp.js +113 -0
  195. package/dist/esm/telemetry/api/internal/metrics/agent.js +107 -0
  196. package/dist/esm/telemetry/api/internal/metrics/inference_start_hook.js +29 -0
  197. package/dist/esm/telemetry/api/internal/metrics/meters.js +165 -0
  198. package/dist/esm/telemetry/api/internal/metrics/tool.js +119 -0
  199. package/dist/esm/telemetry/api/internal/metrics/workflow.js +112 -0
  200. package/dist/esm/telemetry/api/internal/trace/agent.js +25 -0
  201. package/dist/esm/telemetry/api/internal/trace/compaction.js +50 -0
  202. package/dist/esm/telemetry/api/internal/trace/inference.js +107 -0
  203. package/dist/esm/telemetry/api/internal/trace/live.js +28 -0
  204. package/dist/esm/telemetry/api/internal/trace/node.js +44 -0
  205. package/dist/esm/telemetry/api/internal/trace/propagation.js +39 -0
  206. package/dist/esm/telemetry/api/internal/trace/tool.js +96 -0
  207. package/dist/esm/telemetry/api/internal/trace/tracer.js +52 -0
  208. package/dist/esm/telemetry/api/internal/trace/workflow.js +54 -0
  209. package/dist/esm/telemetry/export/agent_engine.js +67 -0
  210. package/dist/esm/telemetry/export/agent_runtime.js +46 -0
  211. package/dist/esm/telemetry/export/google_cloud.js +733 -0
  212. package/dist/esm/telemetry/export/request_driven_metric_reader.js +276 -0
  213. package/dist/esm/telemetry/export/setup.js +160 -0
  214. package/dist/esm/tools/agent_tool.js +9 -1
  215. package/dist/esm/tools/apihub_tool/apihub_toolset.js +17 -22
  216. package/dist/esm/tools/application_integration_tool/application_integration_toolset.js +114 -44
  217. package/dist/esm/tools/application_integration_tool/clients/connections_client.js +226 -115
  218. package/dist/esm/tools/application_integration_tool/clients/integration_client.js +34 -14
  219. package/dist/esm/tools/application_integration_tool/integration_connector_tool.js +149 -0
  220. package/dist/esm/tools/base_toolset.js +1 -1
  221. package/dist/esm/tools/computer_use/base_computer.js +99 -0
  222. package/dist/esm/tools/computer_use/computer_use_actions.js +477 -0
  223. package/dist/esm/tools/computer_use/computer_use_tool.js +217 -0
  224. package/dist/esm/tools/computer_use/computer_use_toolset.js +344 -0
  225. package/dist/esm/tools/function_tool.js +15 -5
  226. package/dist/esm/tools/google_api_tool/google_api_tool.js +4 -1
  227. package/dist/esm/tools/google_api_tool/google_api_toolset.js +147 -0
  228. package/dist/esm/tools/google_api_tool/google_api_toolsets.js +94 -0
  229. package/dist/esm/tools/google_api_tool/googleapi_to_openapi_converter.js +5 -3
  230. package/dist/esm/tools/google_api_tool/index.js +18 -20
  231. package/dist/esm/tools/load_artifacts_tool.js +25 -10
  232. package/dist/esm/tools/load_memory_tool.js +14 -15
  233. package/dist/esm/tools/mcp/mcp_session_manager.js +23 -3
  234. package/dist/esm/tools/mcp/mcp_tool.js +7 -3
  235. package/dist/esm/tools/mcp/mcp_toolset.js +19 -20
  236. package/dist/esm/tools/openapi_tool/auth/auth_helpers.js +27 -26
  237. package/dist/esm/tools/openapi_tool/auth/credential_exchangers/oauth2_exchanger.js +4 -4
  238. package/dist/esm/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +20 -6
  239. package/dist/esm/tools/openapi_tool/openapi_spec_parser/operation_parser.js +17 -6
  240. package/dist/esm/tools/openapi_tool/openapi_toolset.js +6 -12
  241. package/dist/esm/tools/openapi_tool/rest_api_tool.js +57 -10
  242. package/dist/esm/tools/skill/load_skill_resource_tool.js +7 -0
  243. package/dist/esm/tools/skill/load_skill_tool.js +3 -0
  244. package/dist/esm/tools/skill/run_skill_script_tool.js +12 -2
  245. package/dist/esm/tools/toolbox_toolset.js +167 -0
  246. package/dist/esm/tools/webmcp/webmcp_toolset.js +1 -14
  247. package/dist/esm/utils/async_queue.js +37 -3
  248. package/dist/esm/utils/client_labels.js +17 -2
  249. package/dist/esm/utils/env_aware_utils.js +12 -7
  250. package/dist/esm/utils/error_utils.js +37 -1
  251. package/dist/esm/utils/failover_utils.js +11 -10
  252. package/dist/esm/utils/gemini_schema_util.js +144 -14
  253. package/dist/esm/utils/id_provider.js +33 -0
  254. package/dist/esm/utils/logger_node.js +4 -0
  255. package/dist/esm/utils/model_name.js +14 -0
  256. package/dist/esm/utils/output_schema_utils.js +5 -2
  257. package/dist/esm/utils/simple_zod_to_json.js +13 -31
  258. package/dist/esm/utils/ssrf_guard.js +55 -15
  259. package/dist/esm/utils/task.js +1 -1
  260. package/dist/esm/version.js +1 -1
  261. package/dist/esm/workflow/index.js +2 -1
  262. package/dist/esm/workflow/node_runner.js +26 -80
  263. package/dist/esm/workflow/nodes/parallel_worker.js +16 -6
  264. package/dist/esm/workflow/run_llm_agent_as_node.js +19 -14
  265. package/dist/esm/workflow/utils/retry_utils.js +2 -2
  266. package/dist/esm/workflow/workflow.js +12 -12
  267. package/dist/types/a2a/a2a_remote_agent.d.ts +6 -0
  268. package/dist/types/a2a/a2a_remote_agent_utils.d.ts +3 -2
  269. package/dist/types/agents/agent_engine_client.d.ts +155 -0
  270. package/dist/types/agents/base_agent.d.ts +14 -0
  271. package/dist/types/agents/llm_agent.d.ts +5 -1
  272. package/dist/types/agents/processors/content_processor_utils.d.ts +12 -10
  273. package/dist/types/agents/processors/nl_planning_processor.d.ts +2 -1
  274. package/dist/types/agents/run_config.d.ts +14 -0
  275. package/dist/types/cli/cli_eval.d.ts +172 -9
  276. package/dist/types/cli/utils/cleanup.d.ts +18 -0
  277. package/dist/types/cli/utils/envs.d.ts +13 -3
  278. package/dist/types/cli/utils/evals.d.ts +64 -1
  279. package/dist/types/cli/utils/logs.d.ts +20 -3
  280. package/dist/types/cli/utils/path_validation.d.ts +30 -0
  281. package/dist/types/code_executors/container_code_executor.d.ts +62 -9
  282. package/dist/types/common.d.ts +21 -18
  283. package/dist/types/context/compaction_utils.d.ts +13 -1
  284. package/dist/types/errors/input_validation_error.d.ts +2 -1
  285. package/dist/types/events/event.d.ts +3 -0
  286. package/dist/types/features/feature_registry.d.ts +1 -0
  287. package/dist/types/index.d.ts +11 -6
  288. package/dist/types/plugins/base_plugin.d.ts +50 -31
  289. package/dist/types/plugins/plugin_manager.d.ts +13 -0
  290. package/dist/types/runner/runner.d.ts +11 -0
  291. package/dist/types/sessions/base_session_service.d.ts +5 -2
  292. package/dist/types/sessions/database_session_service.d.ts +17 -1
  293. package/dist/types/sessions/db/operations.d.ts +2 -1
  294. package/dist/types/sessions/db/schema.d.ts +5 -3
  295. package/dist/types/sessions/stale_session_error.d.ts +21 -0
  296. package/dist/types/skills/loader.d.ts +3 -2
  297. package/dist/types/telemetry/api/instrumentation.d.ts +259 -0
  298. package/dist/types/telemetry/api/internal/common/accumulators.d.ts +91 -0
  299. package/dist/types/telemetry/api/internal/common/attributes.d.ts +90 -0
  300. package/dist/types/telemetry/api/internal/common/config.d.ts +61 -0
  301. package/dist/types/telemetry/api/internal/common/error.d.ts +29 -0
  302. package/dist/types/telemetry/api/internal/common/finish_reason.d.ts +18 -0
  303. package/dist/types/telemetry/api/internal/common/genai_messages.d.ts +26 -0
  304. package/dist/types/telemetry/api/internal/common/http_exchange.d.ts +50 -0
  305. package/dist/types/telemetry/api/internal/common/provider_name.d.ts +16 -0
  306. package/dist/types/telemetry/api/internal/common/redaction.d.ts +14 -0
  307. package/dist/types/telemetry/api/internal/common/serialization.d.ts +18 -0
  308. package/dist/types/telemetry/api/internal/common/token_usage.d.ts +47 -0
  309. package/dist/types/telemetry/api/internal/logs/inference.d.ts +15 -0
  310. package/dist/types/telemetry/api/internal/logs/logger.d.ts +13 -0
  311. package/dist/types/telemetry/api/internal/logs/mcp.d.ts +31 -0
  312. package/dist/types/telemetry/api/internal/metrics/agent.d.ts +28 -0
  313. package/dist/types/telemetry/api/internal/metrics/inference_start_hook.d.ts +12 -0
  314. package/dist/types/telemetry/api/internal/metrics/meters.d.ts +57 -0
  315. package/dist/types/telemetry/api/internal/metrics/tool.d.ts +44 -0
  316. package/dist/types/telemetry/api/internal/metrics/workflow.d.ts +32 -0
  317. package/dist/types/telemetry/api/internal/trace/agent.d.ts +14 -0
  318. package/dist/types/telemetry/api/internal/trace/compaction.d.ts +20 -0
  319. package/dist/types/telemetry/api/internal/trace/inference.d.ts +31 -0
  320. package/dist/types/telemetry/api/internal/trace/live.d.ts +21 -0
  321. package/dist/types/telemetry/api/internal/trace/node.d.ts +22 -0
  322. package/dist/types/telemetry/api/internal/trace/propagation.d.ts +22 -0
  323. package/dist/types/telemetry/api/internal/trace/tool.d.ts +57 -0
  324. package/dist/types/telemetry/api/internal/trace/tracer.d.ts +31 -0
  325. package/dist/types/telemetry/api/internal/trace/workflow.d.ts +21 -0
  326. package/dist/types/telemetry/export/agent_engine.d.ts +23 -0
  327. package/dist/types/telemetry/export/agent_runtime.d.ts +40 -0
  328. package/dist/types/telemetry/export/google_cloud.d.ts +189 -0
  329. package/dist/types/telemetry/export/request_driven_metric_reader.d.ts +144 -0
  330. package/dist/types/telemetry/{setup.d.ts → export/setup.d.ts} +3 -0
  331. package/dist/types/tools/agent_tool.d.ts +1 -1
  332. package/dist/types/tools/apihub_tool/apihub_toolset.d.ts +14 -21
  333. package/dist/types/tools/application_integration_tool/application_integration_toolset.d.ts +32 -9
  334. package/dist/types/tools/application_integration_tool/clients/connections_client.d.ts +35 -12
  335. package/dist/types/tools/application_integration_tool/clients/integration_client.d.ts +3 -3
  336. package/dist/types/tools/application_integration_tool/integration_connector_tool.d.ts +70 -0
  337. package/dist/types/tools/base_toolset.d.ts +7 -6
  338. package/dist/types/tools/computer_use/base_computer.d.ts +281 -0
  339. package/dist/types/tools/computer_use/computer_use_actions.d.ts +53 -0
  340. package/dist/types/tools/computer_use/computer_use_tool.d.ts +108 -0
  341. package/dist/types/tools/computer_use/computer_use_toolset.d.ts +132 -0
  342. package/dist/types/tools/google_api_tool/google_api_tool.d.ts +10 -3
  343. package/dist/types/tools/google_api_tool/google_api_toolset.d.ts +57 -0
  344. package/dist/types/tools/google_api_tool/google_api_toolsets.d.ts +48 -0
  345. package/dist/types/tools/google_api_tool/googleapi_to_openapi_converter.d.ts +5 -4
  346. package/dist/types/tools/google_api_tool/index.d.ts +4 -5
  347. package/dist/types/tools/load_artifacts_tool.d.ts +18 -1
  348. package/dist/types/tools/load_memory_tool.d.ts +32 -4
  349. package/dist/types/tools/mcp/mcp_session_manager.d.ts +16 -0
  350. package/dist/types/tools/openapi_tool/auth/auth_helpers.d.ts +8 -8
  351. package/dist/types/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.d.ts +12 -0
  352. package/dist/types/tools/openapi_tool/openapi_spec_parser/operation_parser.d.ts +15 -3
  353. package/dist/types/tools/openapi_tool/openapi_toolset.d.ts +5 -0
  354. package/dist/types/tools/openapi_tool/rest_api_tool.d.ts +10 -0
  355. package/dist/types/tools/toolbox_toolset.d.ts +154 -0
  356. package/dist/types/utils/async_queue.d.ts +14 -0
  357. package/dist/types/utils/client_labels.d.ts +2 -1
  358. package/dist/types/utils/env_aware_utils.d.ts +11 -0
  359. package/dist/types/utils/error_utils.d.ts +4 -0
  360. package/dist/types/utils/gemini_schema_util.d.ts +29 -0
  361. package/dist/types/utils/id_provider.d.ts +43 -0
  362. package/dist/types/utils/model_name.d.ts +8 -0
  363. package/dist/types/utils/output_schema_utils.d.ts +3 -2
  364. package/dist/types/utils/simple_zod_to_json.d.ts +1 -2
  365. package/dist/types/utils/ssrf_guard.d.ts +2 -0
  366. package/dist/types/version.d.ts +1 -1
  367. package/dist/types/workflow/index.d.ts +1 -1
  368. package/dist/types/workflow/nodes/parallel_worker.d.ts +8 -1
  369. package/dist/web/index_web.js +94 -88
  370. package/dist/web/index_web.js.map +4 -4
  371. package/package.json +43 -38
  372. package/dist/cjs/agents/remote_agent.js +0 -187
  373. package/dist/cjs/telemetry/google_cloud.js +0 -116
  374. package/dist/cjs/telemetry/tracing.js +0 -350
  375. package/dist/cjs/tools/crewai_tool.js +0 -132
  376. package/dist/cjs/tools/google_api_tool/google_api_tool_set.js +0 -226
  377. package/dist/cjs/tools/google_api_tool/google_api_tool_sets.js +0 -58
  378. package/dist/cjs/tools/langchain_tool.js +0 -172
  379. package/dist/cjs/tools/toolbox_tool.js +0 -108
  380. package/dist/esm/agents/remote_agent.js +0 -164
  381. package/dist/esm/telemetry/google_cloud.js +0 -99
  382. package/dist/esm/telemetry/setup.js +0 -89
  383. package/dist/esm/telemetry/tracing.js +0 -315
  384. package/dist/esm/tools/crewai_tool.js +0 -107
  385. package/dist/esm/tools/google_api_tool/google_api_tool_set.js +0 -188
  386. package/dist/esm/tools/google_api_tool/google_api_tool_sets.js +0 -24
  387. package/dist/esm/tools/langchain_tool.js +0 -148
  388. package/dist/esm/tools/toolbox_tool.js +0 -80
  389. package/dist/types/agents/remote_agent.d.ts +0 -68
  390. package/dist/types/telemetry/google_cloud.d.ts +0 -9
  391. package/dist/types/telemetry/tracing.d.ts +0 -129
  392. package/dist/types/tools/crewai_tool.d.ts +0 -85
  393. package/dist/types/tools/google_api_tool/google_api_tool_set.d.ts +0 -78
  394. package/dist/types/tools/google_api_tool/google_api_tool_sets.d.ts +0 -33
  395. package/dist/types/tools/langchain_tool.d.ts +0 -103
  396. package/dist/types/tools/toolbox_tool.d.ts +0 -73
@@ -0,0 +1,174 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ "use strict";
8
+ var __defProp = Object.defineProperty;
9
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
10
+ var __getOwnPropNames = Object.getOwnPropertyNames;
11
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
12
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
13
+ var __export = (target, all) => {
14
+ for (var name in all)
15
+ __defProp(target, name, { get: all[name], enumerable: true });
16
+ };
17
+ var __copyProps = (to, from, except, desc) => {
18
+ if (from && typeof from === "object" || typeof from === "function") {
19
+ for (let key of __getOwnPropNames(from))
20
+ if (!__hasOwnProp.call(to, key) && key !== except)
21
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
22
+ }
23
+ return to;
24
+ };
25
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
26
+ var __decorateClass = (decorators, target, key, kind) => {
27
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
28
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
29
+ if (decorator = decorators[i])
30
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
31
+ if (kind && result) __defProp(target, key, result);
32
+ return result;
33
+ };
34
+ var google_api_toolset_exports = {};
35
+ __export(google_api_toolset_exports, {
36
+ GoogleApiToolset: () => GoogleApiToolset,
37
+ isGoogleApiToolset: () => isGoogleApiToolset
38
+ });
39
+ module.exports = __toCommonJS(google_api_toolset_exports);
40
+ var import_experimental = require("../../utils/experimental.js");
41
+ var import_base_toolset = require("../base_toolset.js");
42
+ var import_openapi_toolset = require("../openapi_tool/openapi_toolset.js");
43
+ var import_google_api_tool = require("./google_api_tool.js");
44
+ var import_googleapi_to_openapi_converter = require("./googleapi_to_openapi_converter.js");
45
+ /**
46
+ * @license
47
+ * Copyright 2026 Google LLC
48
+ * SPDX-License-Identifier: Apache-2.0
49
+ */
50
+ var _a, _b;
51
+ const GOOGLE_API_TOOLSET_SIGNATURE_SYMBOL = /* @__PURE__ */ Symbol.for(
52
+ "google.adk.googleApiToolset"
53
+ );
54
+ const GOOGLE_OIDC_AUTH_ENDPOINT = "https://accounts.google.com/o/oauth2/v2/auth";
55
+ const GOOGLE_OIDC_TOKEN_ENDPOINT = "https://oauth2.googleapis.com/token";
56
+ const GOOGLE_OIDC_USERINFO_ENDPOINT = "https://openidconnect.googleapis.com/v1/userinfo";
57
+ const GOOGLE_OIDC_REVOCATION_ENDPOINT = "https://oauth2.googleapis.com/revoke";
58
+ function isGoogleApiToolset(obj) {
59
+ return typeof obj === "object" && obj !== null && GOOGLE_API_TOOLSET_SIGNATURE_SYMBOL in obj && obj[GOOGLE_API_TOOLSET_SIGNATURE_SYMBOL] === true;
60
+ }
61
+ __name(isGoogleApiToolset, "isGoogleApiToolset");
62
+ let GoogleApiToolset = class extends (_b = import_base_toolset.BaseToolset, _a = GOOGLE_API_TOOLSET_SIGNATURE_SYMBOL, _b) {
63
+ constructor(options = {}) {
64
+ var _a2;
65
+ const toolFilter = (_a2 = options.toolFilter) != null ? _a2 : [];
66
+ super(toolFilter);
67
+ this[_a] = true;
68
+ this.tools = [];
69
+ this.toolFilter = toolFilter;
70
+ this.apiName = options.apiName;
71
+ this.apiVersion = options.apiVersion;
72
+ this.clientId = options.clientId;
73
+ this.clientSecret = options.clientSecret;
74
+ this.scopes = options.scopes ? [...options.scopes] : void 0;
75
+ }
76
+ async loadToolsetWithOidcAuth() {
77
+ var _a2, _b2, _c, _d, _e;
78
+ if (!this.apiName || !this.apiVersion) {
79
+ throw new Error(
80
+ "Both apiName and apiVersion are required to load a GoogleApiToolset."
81
+ );
82
+ }
83
+ const specDict = await new import_googleapi_to_openapi_converter.GoogleApiToOpenApiConverter(
84
+ this.apiName,
85
+ this.apiVersion
86
+ ).convert();
87
+ const oauth2Scheme = (_b2 = (_a2 = specDict.components) == null ? void 0 : _a2.securitySchemes) == null ? void 0 : _b2["oauth2"];
88
+ const scopesMap = (_e = (_d = (_c = oauth2Scheme == null ? void 0 : oauth2Scheme.flows) == null ? void 0 : _c.authorizationCode) == null ? void 0 : _d.scopes) != null ? _e : {};
89
+ const firstScope = Object.keys(scopesMap)[0];
90
+ const scopes = this.scopes !== void 0 ? [...this.scopes] : firstScope ? [firstScope] : void 0;
91
+ const authScheme = {
92
+ type: "openIdConnect",
93
+ openIdConnectUrl: "",
94
+ authorizationEndpoint: GOOGLE_OIDC_AUTH_ENDPOINT,
95
+ tokenEndpoint: GOOGLE_OIDC_TOKEN_ENDPOINT,
96
+ userinfoEndpoint: GOOGLE_OIDC_USERINFO_ENDPOINT,
97
+ revocationEndpoint: GOOGLE_OIDC_REVOCATION_ENDPOINT,
98
+ tokenEndpointAuthMethodsSupported: [
99
+ "client_secret_post",
100
+ "client_secret_basic"
101
+ ],
102
+ grantTypesSupported: ["authorization_code"],
103
+ scopes
104
+ };
105
+ return new import_openapi_toolset.OpenAPIToolset({
106
+ specDict,
107
+ specType: "yaml",
108
+ authScheme
109
+ });
110
+ }
111
+ async ensureToolsLoaded() {
112
+ var _a2;
113
+ if (this.openapiToolset) {
114
+ return;
115
+ }
116
+ (_a2 = this.loadingPromise) != null ? _a2 : this.loadingPromise = (async () => {
117
+ try {
118
+ const openapiToolset = await this.loadToolsetWithOidcAuth();
119
+ const restTools = await openapiToolset.getTools();
120
+ this.tools = restTools.map(
121
+ (tool) => new import_google_api_tool.GoogleApiTool(tool, {
122
+ clientId: this.clientId,
123
+ clientSecret: this.clientSecret
124
+ })
125
+ );
126
+ this.openapiToolset = openapiToolset;
127
+ } catch (error) {
128
+ this.loadingPromise = void 0;
129
+ throw error;
130
+ }
131
+ })();
132
+ await this.loadingPromise;
133
+ }
134
+ async getTools(context) {
135
+ await this.ensureToolsLoaded();
136
+ return this.tools.filter((tool) => this.isToolSelected(tool, context));
137
+ }
138
+ setToolFilter(toolFilter) {
139
+ this.toolFilter = toolFilter;
140
+ }
141
+ configureAuth(clientId, clientSecret) {
142
+ this.clientId = clientId;
143
+ this.clientSecret = clientSecret;
144
+ for (const tool of this.tools) {
145
+ tool.configureAuth(clientId, clientSecret);
146
+ }
147
+ }
148
+ async close() {
149
+ if (this.openapiToolset) {
150
+ await this.openapiToolset.close();
151
+ }
152
+ }
153
+ };
154
+ __name(GoogleApiToolset, "GoogleApiToolset");
155
+ __decorateClass([
156
+ import_experimental.experimental
157
+ ], GoogleApiToolset.prototype, "getTools", 1);
158
+ __decorateClass([
159
+ import_experimental.experimental
160
+ ], GoogleApiToolset.prototype, "setToolFilter", 1);
161
+ __decorateClass([
162
+ import_experimental.experimental
163
+ ], GoogleApiToolset.prototype, "configureAuth", 1);
164
+ __decorateClass([
165
+ import_experimental.experimental
166
+ ], GoogleApiToolset.prototype, "close", 1);
167
+ GoogleApiToolset = __decorateClass([
168
+ import_experimental.experimental
169
+ ], GoogleApiToolset);
170
+ // Annotate the CommonJS export names for ESM import in node:
171
+ 0 && (module.exports = {
172
+ GoogleApiToolset,
173
+ isGoogleApiToolset
174
+ });
@@ -0,0 +1,124 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ "use strict";
8
+ var __defProp = Object.defineProperty;
9
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
10
+ var __getOwnPropNames = Object.getOwnPropertyNames;
11
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
12
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
13
+ var __export = (target, all) => {
14
+ for (var name in all)
15
+ __defProp(target, name, { get: all[name], enumerable: true });
16
+ };
17
+ var __copyProps = (to, from, except, desc) => {
18
+ if (from && typeof from === "object" || typeof from === "function") {
19
+ for (let key of __getOwnPropNames(from))
20
+ if (!__hasOwnProp.call(to, key) && key !== except)
21
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
22
+ }
23
+ return to;
24
+ };
25
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
26
+ var __decorateClass = (decorators, target, key, kind) => {
27
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
28
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
29
+ if (decorator = decorators[i])
30
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
31
+ if (kind && result) __defProp(target, key, result);
32
+ return result;
33
+ };
34
+ var google_api_toolsets_exports = {};
35
+ __export(google_api_toolsets_exports, {
36
+ BigQueryToolset: () => BigQueryToolset,
37
+ CalendarToolset: () => CalendarToolset,
38
+ DocsToolset: () => DocsToolset,
39
+ GmailToolset: () => GmailToolset,
40
+ SheetsToolset: () => SheetsToolset,
41
+ SlidesToolset: () => SlidesToolset,
42
+ YoutubeToolset: () => YoutubeToolset
43
+ });
44
+ module.exports = __toCommonJS(google_api_toolsets_exports);
45
+ var import_experimental = require("../../utils/experimental.js");
46
+ var import_google_api_toolset = require("./google_api_toolset.js");
47
+ /**
48
+ * @license
49
+ * Copyright 2026 Google LLC
50
+ * SPDX-License-Identifier: Apache-2.0
51
+ */
52
+ let BigQueryToolset = class extends import_google_api_toolset.GoogleApiToolset {
53
+ constructor(options = {}) {
54
+ super({ ...options, apiName: "bigquery", apiVersion: "v2" });
55
+ }
56
+ };
57
+ __name(BigQueryToolset, "BigQueryToolset");
58
+ BigQueryToolset = __decorateClass([
59
+ import_experimental.experimental
60
+ ], BigQueryToolset);
61
+ let CalendarToolset = class extends import_google_api_toolset.GoogleApiToolset {
62
+ constructor(options = {}) {
63
+ super({ ...options, apiName: "calendar", apiVersion: "v3" });
64
+ }
65
+ };
66
+ __name(CalendarToolset, "CalendarToolset");
67
+ CalendarToolset = __decorateClass([
68
+ import_experimental.experimental
69
+ ], CalendarToolset);
70
+ let GmailToolset = class extends import_google_api_toolset.GoogleApiToolset {
71
+ constructor(options = {}) {
72
+ super({ ...options, apiName: "gmail", apiVersion: "v1" });
73
+ }
74
+ };
75
+ __name(GmailToolset, "GmailToolset");
76
+ GmailToolset = __decorateClass([
77
+ import_experimental.experimental
78
+ ], GmailToolset);
79
+ let YoutubeToolset = class extends import_google_api_toolset.GoogleApiToolset {
80
+ constructor(options = {}) {
81
+ super({ ...options, apiName: "youtube", apiVersion: "v3" });
82
+ }
83
+ };
84
+ __name(YoutubeToolset, "YoutubeToolset");
85
+ YoutubeToolset = __decorateClass([
86
+ import_experimental.experimental
87
+ ], YoutubeToolset);
88
+ let SlidesToolset = class extends import_google_api_toolset.GoogleApiToolset {
89
+ constructor(options = {}) {
90
+ super({ ...options, apiName: "slides", apiVersion: "v1" });
91
+ }
92
+ };
93
+ __name(SlidesToolset, "SlidesToolset");
94
+ SlidesToolset = __decorateClass([
95
+ import_experimental.experimental
96
+ ], SlidesToolset);
97
+ let SheetsToolset = class extends import_google_api_toolset.GoogleApiToolset {
98
+ constructor(options = {}) {
99
+ super({ ...options, apiName: "sheets", apiVersion: "v4" });
100
+ }
101
+ };
102
+ __name(SheetsToolset, "SheetsToolset");
103
+ SheetsToolset = __decorateClass([
104
+ import_experimental.experimental
105
+ ], SheetsToolset);
106
+ let DocsToolset = class extends import_google_api_toolset.GoogleApiToolset {
107
+ constructor(options = {}) {
108
+ super({ ...options, apiName: "docs", apiVersion: "v1" });
109
+ }
110
+ };
111
+ __name(DocsToolset, "DocsToolset");
112
+ DocsToolset = __decorateClass([
113
+ import_experimental.experimental
114
+ ], DocsToolset);
115
+ // Annotate the CommonJS export names for ESM import in node:
116
+ 0 && (module.exports = {
117
+ BigQueryToolset,
118
+ CalendarToolset,
119
+ DocsToolset,
120
+ GmailToolset,
121
+ SheetsToolset,
122
+ SlidesToolset,
123
+ YoutubeToolset
124
+ });
@@ -251,11 +251,13 @@ function convertOperation(methodData, pathParams) {
251
251
  var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
252
252
  const parameters = [];
253
253
  for (const paramName of pathParams) {
254
+ const paramData = methodData.parameters && Object.hasOwn(methodData.parameters, paramName) ? methodData.parameters[paramName] : void 0;
254
255
  parameters.push({
255
256
  name: paramName,
256
257
  in: "path",
258
+ ...(paramData == null ? void 0 : paramData.description) !== void 0 ? { description: paramData.description } : {},
257
259
  required: true,
258
- schema: { type: "string" }
260
+ schema: paramData ? convertParameterSchema(paramData) : { type: "string" }
259
261
  });
260
262
  }
261
263
  const pathParamSet = new Set(pathParams);
@@ -319,10 +321,10 @@ function convertOperation(methodData, pathParams) {
319
321
  }
320
322
  __name(convertOperation, "convertOperation");
321
323
  function convertMethods(methods, _resourcePath, openapiSpec) {
322
- var _a, _b;
324
+ var _a, _b, _c;
323
325
  for (const methodData of Object.values(methods)) {
324
326
  const httpMethod = ((_a = methodData.httpMethod) != null ? _a : "GET").toLowerCase();
325
- let restPath = ((_b = methodData.path) != null ? _b : "/").replace(
327
+ let restPath = ((_c = (_b = methodData.flatPath) != null ? _b : methodData.path) != null ? _c : "/").replace(
326
328
  /\{\+([^{}]+)\}/g,
327
329
  (_match, paramName) => `{${paramName}}`
328
330
  );
@@ -24,24 +24,22 @@ var __copyProps = (to, from, except, desc) => {
24
24
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
25
25
  var google_api_tool_exports = {};
26
26
  __export(google_api_tool_exports, {
27
- GoogleApiToOpenApiConverter: () => import_googleapi_to_openapi_converter.GoogleApiToOpenApiConverter,
27
+ BigQueryToolset: () => import_google_api_toolsets.BigQueryToolset,
28
+ CalendarToolset: () => import_google_api_toolsets.CalendarToolset,
29
+ DocsToolset: () => import_google_api_toolsets.DocsToolset,
30
+ GmailToolset: () => import_google_api_toolsets.GmailToolset,
28
31
  GoogleApiTool: () => import_google_api_tool.GoogleApiTool,
29
- GoogleApiToolSet: () => import_google_api_tool_set.GoogleApiToolSet,
30
- bigqueryToolSet: () => import_google_api_tool_sets.bigqueryToolSet,
31
- calendarToolSet: () => import_google_api_tool_sets.calendarToolSet,
32
- docsToolSet: () => import_google_api_tool_sets.docsToolSet,
33
- gmailToolSet: () => import_google_api_tool_sets.gmailToolSet,
32
+ GoogleApiToolset: () => import_google_api_toolset.GoogleApiToolset,
33
+ SheetsToolset: () => import_google_api_toolsets.SheetsToolset,
34
+ SlidesToolset: () => import_google_api_toolsets.SlidesToolset,
35
+ YoutubeToolset: () => import_google_api_toolsets.YoutubeToolset,
34
36
  isGoogleApiTool: () => import_google_api_tool.isGoogleApiTool,
35
- isGoogleApiToolSet: () => import_google_api_tool_set.isGoogleApiToolSet,
36
- sheetsToolSet: () => import_google_api_tool_sets.sheetsToolSet,
37
- slidesToolSet: () => import_google_api_tool_sets.slidesToolSet,
38
- youtubeToolSet: () => import_google_api_tool_sets.youtubeToolSet
37
+ isGoogleApiToolset: () => import_google_api_toolset.isGoogleApiToolset
39
38
  });
40
39
  module.exports = __toCommonJS(google_api_tool_exports);
41
40
  var import_google_api_tool = require("./google_api_tool.js");
42
- var import_google_api_tool_set = require("./google_api_tool_set.js");
43
- var import_google_api_tool_sets = require("./google_api_tool_sets.js");
44
- var import_googleapi_to_openapi_converter = require("./googleapi_to_openapi_converter.js");
41
+ var import_google_api_toolset = require("./google_api_toolset.js");
42
+ var import_google_api_toolsets = require("./google_api_toolsets.js");
45
43
  /**
46
44
  * @license
47
45
  * Copyright 2026 Google LLC
@@ -49,16 +47,15 @@ var import_googleapi_to_openapi_converter = require("./googleapi_to_openapi_conv
49
47
  */
50
48
  // Annotate the CommonJS export names for ESM import in node:
51
49
  0 && (module.exports = {
52
- GoogleApiToOpenApiConverter,
50
+ BigQueryToolset,
51
+ CalendarToolset,
52
+ DocsToolset,
53
+ GmailToolset,
53
54
  GoogleApiTool,
54
- GoogleApiToolSet,
55
- bigqueryToolSet,
56
- calendarToolSet,
57
- docsToolSet,
58
- gmailToolSet,
55
+ GoogleApiToolset,
56
+ SheetsToolset,
57
+ SlidesToolset,
58
+ YoutubeToolset,
59
59
  isGoogleApiTool,
60
- isGoogleApiToolSet,
61
- sheetsToolSet,
62
- slidesToolSet,
63
- youtubeToolSet
60
+ isGoogleApiToolset
64
61
  });
@@ -26,11 +26,13 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
26
26
  var load_artifacts_tool_exports = {};
27
27
  __export(load_artifacts_tool_exports, {
28
28
  LOAD_ARTIFACTS: () => LOAD_ARTIFACTS,
29
- LoadArtifactsTool: () => LoadArtifactsTool
29
+ LoadArtifactsTool: () => LoadArtifactsTool,
30
+ asSafePartForLlm: () => asSafePartForLlm
30
31
  });
31
32
  module.exports = __toCommonJS(load_artifacts_tool_exports);
32
33
  var import_genai = require("@google/genai");
33
34
  var import_llm_request = require("../models/llm_request.js");
35
+ var import_env_aware_utils = require("../utils/env_aware_utils.js");
34
36
  var import_logger = require("../utils/logger.js");
35
37
  var import_base_tool = require("./base_tool.js");
36
38
  /**
@@ -49,7 +51,7 @@ function normalizeMimeType(mimeType) {
49
51
  if (!mimeType) {
50
52
  return void 0;
51
53
  }
52
- return mimeType.split(";")[0].trim();
54
+ return mimeType.split(";")[0].trim().toLowerCase();
53
55
  }
54
56
  __name(normalizeMimeType, "normalizeMimeType");
55
57
  function isInlineMimeTypeSupported(mimeType) {
@@ -62,31 +64,44 @@ function isInlineMimeTypeSupported(mimeType) {
62
64
  ) || GEMINI_SUPPORTED_INLINE_MIME_TYPES.has(normalized);
63
65
  }
64
66
  __name(isInlineMimeTypeSupported, "isInlineMimeTypeSupported");
65
- function asSafePartForLlm(artifact, artifactName) {
67
+ function base64ByteLength(data) {
68
+ const digits = data.replace(/[=\s]/g, "").length;
69
+ return Math.floor(digits * 3 / 4);
70
+ }
71
+ __name(base64ByteLength, "base64ByteLength");
72
+ function asSafePartForLlm(artifact, artifactName, options) {
73
+ if ((options == null ? void 0 : options.inlineMediaAsPlaceholder) && !artifact.inlineData && artifact.fileData) {
74
+ const fileUri = artifact.fileData.fileUri || "unknown";
75
+ const mimeType2 = normalizeMimeType(artifact.fileData.mimeType) || "application/octet-stream";
76
+ return {
77
+ text: `[Artifact: ${artifactName}, uri: ${fileUri}, type: ${mimeType2}.]`
78
+ };
79
+ }
66
80
  const inlineData = artifact.inlineData;
67
81
  if (!inlineData) {
68
82
  return artifact;
69
83
  }
70
- if (isInlineMimeTypeSupported(inlineData.mimeType)) {
84
+ if (!(options == null ? void 0 : options.inlineMediaAsPlaceholder) && isInlineMimeTypeSupported(inlineData.mimeType)) {
71
85
  return artifact;
72
86
  }
73
87
  const mimeType = normalizeMimeType(inlineData.mimeType) || "application/octet-stream";
88
+ const isTextLike = mimeType.startsWith("text/") || TEXT_LIKE_MIME_TYPES.has(mimeType);
74
89
  const data = inlineData.data;
75
- if (!data) {
90
+ if (data === void 0 || data === null || !isTextLike && data === "") {
76
91
  return {
77
92
  text: `[Artifact: ${artifactName}, type: ${mimeType}. No inline data was provided.]`
78
93
  };
79
94
  }
80
- const isTextLike = mimeType.startsWith("text/") || TEXT_LIKE_MIME_TYPES.has(mimeType);
81
- const decodedBuffer = Buffer.from(data, "base64");
82
95
  if (isTextLike) {
96
+ if (data === "") {
97
+ return { text: "" };
98
+ }
83
99
  try {
84
- const decoded = decodedBuffer.toString("utf8");
85
- return { text: decoded };
100
+ return { text: (0, import_env_aware_utils.base64Decode)(data.replace(/-/g, "+").replace(/_/g, "/")) };
86
101
  } catch {
87
102
  }
88
103
  }
89
- const sizeKb = decodedBuffer.length / 1024;
104
+ const sizeKb = base64ByteLength(data) / 1024;
90
105
  return {
91
106
  text: `[Binary artifact: ${artifactName}, type: ${mimeType}, size: ${sizeKb.toFixed(1)} KB. Content cannot be displayed inline.]`
92
107
  };
@@ -214,5 +229,6 @@ const LOAD_ARTIFACTS = new LoadArtifactsTool();
214
229
  // Annotate the CommonJS export names for ESM import in node:
215
230
  0 && (module.exports = {
216
231
  LOAD_ARTIFACTS,
217
- LoadArtifactsTool
232
+ LoadArtifactsTool,
233
+ asSafePartForLlm
218
234
  });
@@ -38,11 +38,13 @@ var import_base_tool = require("./base_tool.js");
38
38
  * SPDX-License-Identifier: Apache-2.0
39
39
  */
40
40
  const _LoadMemoryTool = class _LoadMemoryTool extends import_base_tool.BaseTool {
41
- constructor() {
41
+ constructor(options = {}) {
42
+ var _a;
42
43
  super({
43
44
  name: "load_memory",
44
- description: "Loads the memory for the current user.\n\nNOTE: Currently this tool only uses text part from the memory."
45
+ description: "Loads the memory for the current user."
45
46
  });
47
+ this.textOnlyContent = (_a = options.textOnlyContent) != null ? _a : false;
46
48
  }
47
49
  _getDeclaration() {
48
50
  return {
@@ -60,16 +62,13 @@ const _LoadMemoryTool = class _LoadMemoryTool extends import_base_tool.BaseTool
60
62
  }
61
63
  };
62
64
  }
63
- async runAsync({
64
- args,
65
- toolContext
66
- }) {
67
- try {
68
- const query = args["query"];
69
- if (!toolContext.invocationContext.memoryService) {
70
- throw new Error("Memory service is not initialized.");
71
- }
72
- const searchMemoryResponse = await toolContext.searchMemory(query);
65
+ async runAsync({ args, toolContext }) {
66
+ const query = args["query"];
67
+ if (!toolContext.invocationContext.memoryService) {
68
+ throw new Error("Memory service is not initialized.");
69
+ }
70
+ const searchMemoryResponse = await toolContext.searchMemory(query);
71
+ if (this.textOnlyContent) {
73
72
  return {
74
73
  memories: searchMemoryResponse.memories.map((m) => {
75
74
  var _a, _b;
@@ -84,10 +83,10 @@ const _LoadMemoryTool = class _LoadMemoryTool extends import_base_tool.BaseTool
84
83
  };
85
84
  })
86
85
  };
87
- } catch (e) {
88
- console.error("ERROR in LoadMemoryTool runAsync:", e);
89
- throw e;
90
86
  }
87
+ return {
88
+ memories: searchMemoryResponse.memories
89
+ };
91
90
  }
92
91
  async processLlmRequest(request) {
93
92
  await super.processLlmRequest(request);
@@ -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_instrumentation = require("../../telemetry/api/instrumentation.js");
41
42
  var import_client_labels = require("../../utils/client_labels.js");
42
43
  var import_error_utils = require("../../utils/error_utils.js");
43
44
  var import_logger = require("../../utils/logger.js");
@@ -63,7 +64,8 @@ function buildTransportOptions(params) {
63
64
  requestInit: {
64
65
  ...transportOptions == null ? void 0 : transportOptions.requestInit,
65
66
  headers: (0, import_client_labels.mergeTrackingHeaders)(callerHeaders)
66
- }
67
+ },
68
+ fetch: (0, import_instrumentation.instrumentMcpFetch)(transportOptions == null ? void 0 : transportOptions.fetch)
67
69
  };
68
70
  }
69
71
  __name(buildTransportOptions, "buildTransportOptions");
@@ -75,7 +77,8 @@ function buildSseTransportOptions(params) {
75
77
  requestInit: {
76
78
  ...transportOptions == null ? void 0 : transportOptions.requestInit,
77
79
  headers: (0, import_client_labels.mergeTrackingHeaders)(callerHeaders)
78
- }
80
+ },
81
+ fetch: (0, import_instrumentation.instrumentMcpFetch)(transportOptions == null ? void 0 : transportOptions.fetch)
79
82
  };
80
83
  }
81
84
  __name(buildSseTransportOptions, "buildSseTransportOptions");
@@ -84,6 +87,23 @@ const _MCPSessionManager = class _MCPSessionManager {
84
87
  this.activeSessions = /* @__PURE__ */ new Set();
85
88
  this.connectionParams = connectionParams;
86
89
  }
90
+ /**
91
+ * Builds per-request options for MCP client operations.
92
+ *
93
+ * For a stdio connection with a configured `timeout`, the timeout is
94
+ * converted from seconds to milliseconds. Otherwise the MCP SDK applies its
95
+ * own default request timeout.
96
+ *
97
+ * @param signal Optional abort signal to attach to the request.
98
+ * @return The request options for the MCP SDK client.
99
+ */
100
+ getRequestOptions(signal) {
101
+ const options = signal !== void 0 ? { signal } : {};
102
+ if (this.connectionParams.type === "StdioConnectionParams" && this.connectionParams.timeout !== void 0) {
103
+ options.timeout = this.connectionParams.timeout * 1e3;
104
+ }
105
+ return options;
106
+ }
87
107
  async createSession() {
88
108
  const { Client } = await (0, import_optional_peer.loadOptionalPeer)(
89
109
  MCP_SDK,
@@ -101,7 +121,7 @@ const _MCPSessionManager = class _MCPSessionManager {
101
121
  this.connectionParams.serverParams
102
122
  );
103
123
  transport.onerror = logTransportError;
104
- await client.connect(transport);
124
+ await client.connect(transport, this.getRequestOptions());
105
125
  break;
106
126
  }
107
127
  case "StreamableHTTPConnectionParams": {
@@ -57,9 +57,13 @@ const _MCPTool = class _MCPTool extends import_base_tool.BaseTool {
57
57
  try {
58
58
  const callRequest = {};
59
59
  callRequest.params = { name: this.originalName, arguments: request.args };
60
- const result = await session.callTool(callRequest.params, void 0, {
61
- signal: request.toolContext.abortSignal
62
- });
60
+ const result = await session.callTool(
61
+ callRequest.params,
62
+ void 0,
63
+ this.mcpSessionManager.getRequestOptions(
64
+ request.toolContext.abortSignal
65
+ )
66
+ );
63
67
  return result;
64
68
  } finally {
65
69
  await this.mcpSessionManager.closeSession(session);
@@ -46,7 +46,10 @@ const _MCPToolset = class _MCPToolset extends import_base_toolset.BaseToolset {
46
46
  const session = await this.mcpSessionManager.createSession();
47
47
  let listResult;
48
48
  try {
49
- listResult = await session.listTools();
49
+ listResult = await session.listTools(
50
+ void 0,
51
+ this.mcpSessionManager.getRequestOptions()
52
+ );
50
53
  } finally {
51
54
  await this.mcpSessionManager.closeSession(session);
52
55
  }
@@ -61,20 +64,7 @@ const _MCPToolset = class _MCPToolset extends import_base_toolset.BaseToolset {
61
64
  };
62
65
  return new import_mcp_tool.MCPTool(toolWithPrefix, this.mcpSessionManager, tool.name);
63
66
  });
64
- const filter = this.toolFilter;
65
- if (!filter || Array.isArray(filter) && filter.length === 0) {
66
- return tools;
67
- }
68
- if (Array.isArray(filter)) {
69
- return tools.filter((tool) => filter.includes(tool.name));
70
- }
71
- if (context) {
72
- return tools.filter((tool) => filter(tool, context));
73
- }
74
- import_logger.logger.warn(
75
- "MCPToolset: a ToolPredicate toolFilter was provided but getTools() was called without a ReadonlyContext. The filter will not be applied."
76
- );
77
- return tools;
67
+ return tools.filter((tool) => this.isToolSelected(tool, context));
78
68
  }
79
69
  /**
80
70
  * Lists the names of the resources advertised by the MCP server.
@@ -84,7 +74,10 @@ const _MCPToolset = class _MCPToolset extends import_base_toolset.BaseToolset {
84
74
  async listResources() {
85
75
  const session = await this.mcpSessionManager.createSession();
86
76
  try {
87
- const result = await session.listResources();
77
+ const result = await session.listResources(
78
+ void 0,
79
+ this.mcpSessionManager.getRequestOptions()
80
+ );
88
81
  return result.resources.map((resource) => resource.name);
89
82
  } finally {
90
83
  await this.mcpSessionManager.closeSession(session);
@@ -101,7 +94,10 @@ const _MCPToolset = class _MCPToolset extends import_base_toolset.BaseToolset {
101
94
  const session = await this.mcpSessionManager.createSession();
102
95
  let result;
103
96
  try {
104
- result = await session.listResources();
97
+ result = await session.listResources(
98
+ void 0,
99
+ this.mcpSessionManager.getRequestOptions()
100
+ );
105
101
  } finally {
106
102
  await this.mcpSessionManager.closeSession(session);
107
103
  }
@@ -131,9 +127,12 @@ const _MCPToolset = class _MCPToolset extends import_base_toolset.BaseToolset {
131
127
  }
132
128
  const session = await this.mcpSessionManager.createSession();
133
129
  try {
134
- const result = await session.readResource({
135
- uri: resourceInfo.uri
136
- });
130
+ const result = await session.readResource(
131
+ {
132
+ uri: resourceInfo.uri
133
+ },
134
+ this.mcpSessionManager.getRequestOptions()
135
+ );
137
136
  return result.contents;
138
137
  } finally {
139
138
  await this.mcpSessionManager.closeSession(session);