@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
package/dist/esm/index.js CHANGED
@@ -74,14 +74,17 @@ import {
74
74
  import {
75
75
  IntegrationClient
76
76
  } from "./tools/application_integration_tool/clients/integration_client.js";
77
+ import {
78
+ IntegrationConnectorTool
79
+ } from "./tools/application_integration_tool/integration_connector_tool.js";
77
80
  import { LOAD_WEB_PAGE, loadWebPage } from "./tools/load_web_page.js";
78
81
  import {
79
82
  credentialToParam,
80
- dictToAuthScheme,
81
83
  INTERNAL_AUTH_PREFIX,
82
- openidDictToSchemeCredential,
84
+ openidRecordToSchemeCredential,
83
85
  openidUrlToSchemeCredential,
84
- serviceAccountDictToSchemeCredential,
86
+ recordToAuthScheme,
87
+ serviceAccountRecordToSchemeCredential,
85
88
  serviceAccountSchemeCredential,
86
89
  tokenToSchemeCredential
87
90
  } from "./tools/openapi_tool/auth/auth_helpers.js";
@@ -123,16 +126,25 @@ import {
123
126
  import { RunSkillScriptTool } from "./tools/skill/run_skill_script_tool.js";
124
127
  import { SkillToolset } from "./tools/skill/skill_toolset.js";
125
128
  export * from "./integrations/agent_registry/agent_registry.js";
126
- export * from "./telemetry/google_cloud.js";
127
- export * from "./telemetry/setup.js";
129
+ import { runWithAgentEngineContext } from "./telemetry/export/agent_engine.js";
130
+ import {
131
+ agentRuntimeRequestHooks
132
+ } from "./telemetry/export/agent_runtime.js";
133
+ export * from "./telemetry/export/google_cloud.js";
134
+ export * from "./telemetry/export/setup.js";
128
135
  export * from "./tools/google_api_tool/index.js";
129
136
  import {
137
+ convertEvalSetToSchema,
130
138
  DEFAULT_CRITERIA,
131
139
  EVAL_SESSION_ID_PREFIX,
132
140
  EvalStatus,
133
141
  getEvaluationCriteriaOrDefault,
134
142
  getRootAgent,
143
+ loadEvalSetFromFile,
144
+ LocalEvalSetResultsManager,
145
+ LocalEvalSetsManager,
135
146
  MISSING_EVAL_DEPENDENCIES_MESSAGE,
147
+ normalizeEvalCase,
136
148
  parseAndGetEvalsToRun,
137
149
  RESPONSE_EVALUATION_SCORE_KEY,
138
150
  RESPONSE_MATCH_SCORE_KEY,
@@ -141,7 +153,12 @@ import {
141
153
  tryGetResetFunc
142
154
  } from "./cli/cli_eval.js";
143
155
  import { loadDotenvForAgent, walkToRootUntilFound } from "./cli/utils/envs.js";
144
- import { LOGGING_FORMAT, logToStderr, logToTmpFolder } from "./cli/utils/logs.js";
156
+ import {
157
+ LOGGING_FORMAT,
158
+ logToTmpFolder,
159
+ setupAdkLogger
160
+ } from "./cli/utils/logs.js";
161
+ import { validatePathSegment } from "./cli/utils/path_validation.js";
145
162
  export * from "./tools/mcp/index.js";
146
163
  export {
147
164
  APIHubClient,
@@ -166,11 +183,14 @@ export {
166
183
  GcsArtifactService,
167
184
  INTERNAL_AUTH_PREFIX,
168
185
  IntegrationClient,
186
+ IntegrationConnectorTool,
169
187
  InvocationContext,
170
188
  LOAD_WEB_PAGE,
171
189
  LOGGING_FORMAT,
172
190
  LoadSkillResourceTool,
173
191
  LocalEnvironment,
192
+ LocalEvalSetResultsManager,
193
+ LocalEvalSetsManager,
174
194
  MISSING_EVAL_DEPENDENCIES_MESSAGE,
175
195
  OAuth2BearerExchanger,
176
196
  OpenAPIToolset,
@@ -194,7 +214,9 @@ export {
194
214
  VertexAiSessionService,
195
215
  actionRequest,
196
216
  actionResponse,
217
+ agentRuntimeRequestHooks,
197
218
  connectorPayload,
219
+ convertEvalSetToSchema,
198
220
  createApiParameter,
199
221
  createOperation,
200
222
  createOperationRequest,
@@ -203,7 +225,6 @@ export {
203
225
  credentialToParam,
204
226
  deleteOperation,
205
227
  deleteOperationRequest,
206
- dictToAuthScheme,
207
228
  exchangeCredential,
208
229
  executeCustomQueryRequest,
209
230
  generateAuthToken,
@@ -222,21 +243,26 @@ export {
222
243
  listOperationRequest,
223
244
  loadAllSkillsInDir,
224
245
  loadDotenvForAgent,
246
+ loadEvalSetFromFile,
225
247
  loadSkillFromDir,
226
248
  loadSkillFromZipBuffer,
227
249
  loadWebPage,
228
- logToStderr,
229
250
  logToTmpFolder,
230
- openidDictToSchemeCredential,
251
+ normalizeEvalCase,
252
+ openidRecordToSchemeCredential,
231
253
  openidUrlToSchemeCredential,
232
254
  parseAndGetEvalsToRun,
255
+ recordToAuthScheme,
233
256
  runEvals,
234
- serviceAccountDictToSchemeCredential,
257
+ runWithAgentEngineContext,
258
+ serviceAccountRecordToSchemeCredential,
235
259
  serviceAccountSchemeCredential,
260
+ setupAdkLogger,
236
261
  tokenToSchemeCredential,
237
262
  tryGetResetFunc,
238
263
  updateOperation,
239
264
  updateOperationRequest,
265
+ validatePathSegment,
240
266
  validateSkillDir,
241
267
  walkToRootUntilFound
242
268
  };
@@ -12,6 +12,7 @@ import {
12
12
  createPartFromText,
13
13
  GoogleGenAI
14
14
  } from "@google/genai";
15
+ import { adaptComputerUseTool } from "../tools/computer_use/computer_use_toolset.js";
15
16
  import { isBrowser, isEnterpriseModeEnabled } from "../utils/env_aware_utils.js";
16
17
  import { logger } from "../utils/logger.js";
17
18
  import { GoogleLLMVariant } from "../utils/variant_utils.js";
@@ -77,6 +78,7 @@ const _Gemini = class _Gemini extends (_b = BaseLlm, _a = GEMINI_MODEL_SYMBOL, _
77
78
  */
78
79
  async *generateContentAsync(llmRequest, stream = false, abortSignal) {
79
80
  var _a2, _b2;
81
+ await adaptComputerUseRequest(llmRequest);
80
82
  if (this.useInteractionsApi) {
81
83
  yield* generateContentViaInteractions(this.apiClient, llmRequest, stream);
82
84
  return;
@@ -240,8 +242,14 @@ const _Gemini = class _Gemini extends (_b = BaseLlm, _a = GEMINI_MODEL_SYMBOL, _
240
242
  for (const content of llmRequest.contents) {
241
243
  if (!content.parts) continue;
242
244
  for (const part of content.parts) {
243
- removeDisplayNameIfPresent(part.inlineData);
244
- removeDisplayNameIfPresent(part.fileData);
245
+ if (part.inlineData) {
246
+ part.inlineData = { ...part.inlineData };
247
+ removeDisplayNameIfPresent(part.inlineData);
248
+ }
249
+ if (part.fileData) {
250
+ part.fileData = { ...part.fileData };
251
+ removeDisplayNameIfPresent(part.fileData);
252
+ }
245
253
  }
246
254
  }
247
255
  }
@@ -262,6 +270,29 @@ _Gemini.supportedModels = [
262
270
  /projects\/.+\/locations\/.+\/publishers\/google\/models\/gemini.+/
263
271
  ];
264
272
  let Gemini = _Gemini;
273
+ async function adaptComputerUseRequest(llmRequest) {
274
+ var _a2, _b2;
275
+ if (!((_b2 = (_a2 = llmRequest.config) == null ? void 0 : _a2.tools) == null ? void 0 : _b2.some(
276
+ (tool) => "computerUse" in tool && tool.computerUse
277
+ ))) {
278
+ return;
279
+ }
280
+ llmRequest.config.systemInstruction = void 0;
281
+ const waitTool = Object.hasOwn(llmRequest.toolsDict, "wait") ? llmRequest.toolsDict["wait"] : void 0;
282
+ await adaptComputerUseTool({
283
+ methodName: "wait",
284
+ adapter: /* @__PURE__ */ __name((waitFunc) => ({
285
+ name: "wait_5_seconds",
286
+ description: "Waits for 5 seconds.",
287
+ execute: /* @__PURE__ */ __name((_args, toolContext) => waitFunc({ seconds: 5 }, toolContext), "execute")
288
+ }), "adapter"),
289
+ llmRequest
290
+ });
291
+ if (waitTool && Object.hasOwn(llmRequest.toolsDict, "wait_5_seconds")) {
292
+ llmRequest.toolsDict["wait"] = waitTool;
293
+ }
294
+ }
295
+ __name(adaptComputerUseRequest, "adaptComputerUseRequest");
265
296
  function removeDisplayNameIfPresent(dataObj) {
266
297
  if (dataObj && dataObj.displayName) {
267
298
  dataObj.displayName = void 0;
@@ -342,6 +342,9 @@ function convertToolsConfigToInteractionsFormat(config) {
342
342
  if (t.urlContext) {
343
343
  interactionTools.push({ type: "url_context" });
344
344
  }
345
+ if (t.computerUse) {
346
+ interactionTools.push({ type: "computer_use" });
347
+ }
345
348
  }
346
349
  return interactionTools;
347
350
  }
@@ -56,9 +56,9 @@ const _BasePlugin = class _BasePlugin {
56
56
  *
57
57
  * @param _params.invocationContext The context for the entire invocation, containing
58
58
  * session information, the root agent, etc.
59
- * @returns An optional `Event` to be returned to the ADK. Returning a value
60
- * to halt execution of the runner and ends the runner with that event.
61
- * Return `undefined` to proceed normally.
59
+ * @returns An optional `Content` to be returned to the ADK. Returning a value
60
+ * halts execution of the runner and ends the run with an event containing
61
+ * that content. Return `undefined` to proceed normally.
62
62
  */
63
63
  async beforeRunCallback(_params) {
64
64
  return;
@@ -81,10 +81,12 @@ const _BasePlugin = class _BasePlugin {
81
81
  return;
82
82
  }
83
83
  /**
84
- * Callback executed after an ADK runner run has completed.
84
+ * Callback executed after successful completion, abort, or early iterator close.
85
85
  *
86
86
  * This is the final callback in the ADK lifecycle, suitable for cleanup,
87
- * final logging, or reporting tasks.
87
+ * final logging, or reporting tasks. It is skipped when execution fails;
88
+ * {@link onRunErrorCallback} is called instead. Receiving this callback does
89
+ * not imply success: recognized cancellation still propagates to the caller.
88
90
  *
89
91
  * @param _params.invocationContext The context for the entire invocation.
90
92
  * @returns undefined
@@ -92,6 +94,23 @@ const _BasePlugin = class _BasePlugin {
92
94
  async afterRunCallback(_params) {
93
95
  return;
94
96
  }
97
+ /**
98
+ * Observes an error escaping an agent's execution or lifecycle callbacks.
99
+ *
100
+ * Notification-only: return values are ignored and callback failures are
101
+ * logged. The original execution error always propagates.
102
+ */
103
+ async onAgentErrorCallback(_params) {
104
+ }
105
+ /**
106
+ * Observes an error in the run lifecycle, including before/after-run callbacks.
107
+ *
108
+ * Notification-only: return values are ignored and callback failures are
109
+ * logged. The original execution error always propagates. A completion-hook
110
+ * failure during early iterator close is reported but does not prevent closing.
111
+ */
112
+ async onRunErrorCallback(_params) {
113
+ }
95
114
  /**
96
115
  * Callback executed before an agent's primary logic is invoked.
97
116
  *
@@ -110,14 +129,14 @@ const _BasePlugin = class _BasePlugin {
110
129
  /**
111
130
  * Callback executed after an agent's primary logic has completed.
112
131
  *
113
- * This callback can be used to inspect, log, or modify the agent's final
114
- * result before it is returned.
132
+ * This callback can be used to inspect, log, or append an additional event
133
+ * after the agent's execution completes.
115
134
  *
116
135
  * @param _params.agent The agent that has just run.
117
136
  * @param _params.callbackContext The context for the agent invocation.
118
- * @returns An optional `Content` object. If a value is returned, it will
119
- * replace the agent's original result. Returning `undefined` uses the
120
- * original, unmodified result.
137
+ * @returns An optional `Content` object. If a value is returned, it will be
138
+ * emitted as an additional event appended after the agent's execution.
139
+ * Returning `undefined` emits no additional content event.
121
140
  */
122
141
  async afterAgentCallback(_params) {
123
142
  return;
@@ -162,8 +181,8 @@ const _BasePlugin = class _BasePlugin {
162
181
  *
163
182
  * @param _params.callbackContext The context for the current agent call.
164
183
  * @param _params.llmRequest The prepared request object to be sent to the model.
165
- * @returns An optional value. The interpretation of a non-`undefined`
166
- * trigger an early exit and returns the response immediately. Returning
184
+ * @returns An optional `LlmResponse`. Returning a non-`undefined` value
185
+ * triggers an early exit and returns that response immediately. Returning
167
186
  * `undefined` allows the LLM request to proceed normally.
168
187
  */
169
188
  async beforeModelCallback(_params) {
@@ -185,7 +204,7 @@ const _BasePlugin = class _BasePlugin {
185
204
  return;
186
205
  }
187
206
  /**
188
- * Callback executed when a model call encounters an error.
207
+ * Callback executed when a model call encounters an `Error`.
189
208
  *
190
209
  * This callback provides an opportunity to handle model errors gracefully,
191
210
  * potentially providing alternative responses or recovery mechanisms.
@@ -193,10 +212,11 @@ const _BasePlugin = class _BasePlugin {
193
212
  * @param _params.callbackContext The context for the current agent call.
194
213
  * @param _params.llmRequest The request that was sent to the model when the error
195
214
  * occurred.
196
- * @param _params.error The exception that was raised during model execution.
197
- * @returns An optional LlmResponse. If an LlmResponse is returned, it will be
198
- * used instead of propagating the error. Returning `undefined` allows
199
- * the original error to be raised.
215
+ * @param _params.error The `Error` instance thrown during model execution.
216
+ * @returns An optional `LlmResponse`. If an `LlmResponse` is returned, it
217
+ * will be used instead of the default error response. Returning
218
+ * `undefined` causes an error response/event with `errorCode` and
219
+ * `errorMessage` derived from `error` to be yielded.
200
220
  */
201
221
  async onModelErrorCallback(_params) {
202
222
  return;
@@ -246,29 +266,23 @@ const _BasePlugin = class _BasePlugin {
246
266
  return;
247
267
  }
248
268
  /**
249
- * Callback executed when a tool call encounters an error.
250
- tool: BaseTool;
251
- toolArgs: Record<string, unknown>;
252
- toolContext: Context;
253
- result: Record<string, unknown>;
254
- }): Promise<Record<string, unknown> | undefined> {
255
- return;
256
- }
257
-
258
- /**
259
- * Callback executed when a tool call encounters an error.
260
- *
261
- * This callback provides an opportunity to handle tool errors gracefully,
262
- * potentially providing alternative responses or recovery mechanisms.
263
- *
264
- * @param _params.tool The tool instance that encountered an error.
265
- * @param _params.toolArgs The arguments that were passed to the tool.
266
- * @param _params.toolContext The context specific to the tool execution.
267
- * @param _params.error The exception that was raised during tool execution.
268
- * @returns An optional dictionary. If a dictionary is returned, it will be
269
- * used as the tool response instead of propagating the error. Returning
270
- * `undefined` allows the original error to be raised.
271
- */
269
+ * Callback executed when a tool call encounters an `Error` or cannot be
270
+ * resolved.
271
+ *
272
+ * This callback provides an opportunity to handle tool errors gracefully,
273
+ * potentially providing alternative responses or recovery mechanisms.
274
+ *
275
+ * @param _params.tool The tool instance that encountered an error.
276
+ * @param _params.toolArgs The arguments that were passed to the tool.
277
+ * @param _params.toolContext The context specific to the tool execution.
278
+ * @param _params.error The `Error` that was raised during tool resolution or
279
+ * execution.
280
+ * @returns An optional dictionary. If a dictionary is returned, it will be
281
+ * used as the tool response instead of the default error response.
282
+ * Returning `undefined` causes `{error: error.message}` to be returned as
283
+ * the tool response (unlike adk-python, which re-raises). Non-`Error`
284
+ * throwables bypass this callback and become `{error: thrownValue}`.
285
+ */
272
286
  async onToolErrorCallback(_params) {
273
287
  return;
274
288
  }
@@ -83,6 +83,33 @@ const _PluginManager = class _PluginManager {
83
83
  }
84
84
  return void 0;
85
85
  }
86
+ /** Notifies every plugin without allowing one failure to hide another. */
87
+ async runNotificationCallbacks(callback, callbackName) {
88
+ for (const plugin of this.plugins) {
89
+ try {
90
+ await callback(plugin);
91
+ } catch (error) {
92
+ logger.error(
93
+ `Error in plugin '${plugin.name}' during '${callbackName}' callback:`,
94
+ error
95
+ );
96
+ }
97
+ }
98
+ }
99
+ /** Runs the notification-only agent error callback for every plugin. */
100
+ async runOnAgentErrorCallback(params) {
101
+ await this.runNotificationCallbacks(
102
+ (plugin) => plugin.onAgentErrorCallback(params),
103
+ "onAgentErrorCallback"
104
+ );
105
+ }
106
+ /** Runs the notification-only run error callback for every plugin. */
107
+ async runOnRunErrorCallback(params) {
108
+ await this.runNotificationCallbacks(
109
+ (plugin) => plugin.onRunErrorCallback(params),
110
+ "onRunErrorCallback"
111
+ );
112
+ }
86
113
  /**
87
114
  * Runs the `onUserMessageCallback` for all plugins.
88
115
  */