@google/adk 2.4.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 (326) 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 +282 -55
  7. package/dist/cjs/agents/base_agent.js +111 -68
  8. package/dist/cjs/agents/functions.js +62 -85
  9. package/dist/cjs/agents/instructions.js +7 -6
  10. package/dist/cjs/agents/invocation_context.js +2 -2
  11. package/dist/cjs/agents/llm_agent.js +105 -95
  12. package/dist/cjs/agents/processors/content_processor_utils.js +42 -15
  13. package/dist/cjs/agents/processors/content_request_processor.js +28 -11
  14. package/dist/cjs/agents/processors/context_compactor_request_processor.js +5 -1
  15. package/dist/cjs/agents/processors/instructions_llm_request_processor.js +1 -1
  16. package/dist/cjs/agents/processors/nl_planning_processor.js +2 -1
  17. package/dist/cjs/artifacts/file_artifact_service.js +1 -1
  18. package/dist/cjs/cli/cli_eval.js +884 -17
  19. package/dist/cjs/cli/utils/cleanup.js +84 -0
  20. package/dist/cjs/cli/utils/envs.js +33 -2
  21. package/dist/cjs/cli/utils/evals.js +75 -8
  22. package/dist/cjs/cli/utils/logs.js +128 -9
  23. package/dist/cjs/cli/utils/path_validation.js +83 -0
  24. package/dist/cjs/code_executors/container_code_executor.js +158 -36
  25. package/dist/cjs/common.js +50 -12
  26. package/dist/cjs/context/compaction_utils.js +19 -0
  27. package/dist/cjs/events/event.js +7 -3
  28. package/dist/cjs/features/feature_registry.js +5 -0
  29. package/dist/cjs/index.js +29 -14
  30. package/dist/cjs/models/google_llm.js +33 -2
  31. package/dist/cjs/models/interactions_utils.js +3 -0
  32. package/dist/cjs/plugins/base_plugin.js +45 -21
  33. package/dist/cjs/plugins/plugin_manager.js +27 -0
  34. package/dist/cjs/runner/runner.js +306 -189
  35. package/dist/cjs/sessions/base_session_service.js +1 -4
  36. package/dist/cjs/sessions/database_session_service.js +191 -19
  37. package/dist/cjs/sessions/db/operations.js +70 -1
  38. package/dist/cjs/sessions/db/schema.js +4 -0
  39. package/dist/cjs/sessions/in_memory_session_service.js +2 -2
  40. package/dist/cjs/sessions/vertex_ai_session_service.js +11 -3
  41. package/dist/cjs/skills/loader.js +29 -28
  42. package/dist/cjs/telemetry/api/instrumentation.js +632 -0
  43. package/dist/cjs/telemetry/api/internal/common/accumulators.js +169 -0
  44. package/dist/cjs/telemetry/api/internal/common/attributes.js +131 -0
  45. package/dist/cjs/telemetry/api/internal/common/config.js +159 -0
  46. package/dist/cjs/telemetry/api/internal/common/error.js +98 -0
  47. package/dist/cjs/telemetry/api/internal/common/finish_reason.js +63 -0
  48. package/dist/cjs/telemetry/api/internal/common/genai_messages.js +217 -0
  49. package/dist/cjs/telemetry/api/internal/common/http_exchange.js +169 -0
  50. package/dist/cjs/telemetry/api/internal/common/provider_name.js +87 -0
  51. package/dist/cjs/telemetry/api/internal/common/redaction.js +148 -0
  52. package/dist/cjs/telemetry/api/internal/common/serialization.js +58 -0
  53. package/dist/cjs/telemetry/api/internal/common/token_usage.js +118 -0
  54. package/dist/cjs/telemetry/api/internal/logs/inference.js +50 -0
  55. package/dist/cjs/telemetry/api/internal/logs/logger.js +46 -0
  56. package/dist/cjs/telemetry/api/internal/logs/mcp.js +141 -0
  57. package/dist/cjs/telemetry/api/internal/metrics/agent.js +128 -0
  58. package/dist/cjs/telemetry/api/internal/metrics/inference_start_hook.js +56 -0
  59. package/dist/cjs/telemetry/api/internal/metrics/meters.js +189 -0
  60. package/dist/cjs/telemetry/api/internal/metrics/tool.js +147 -0
  61. package/dist/cjs/telemetry/api/internal/metrics/workflow.js +132 -0
  62. package/dist/cjs/telemetry/api/internal/trace/agent.js +52 -0
  63. package/dist/cjs/telemetry/api/internal/trace/compaction.js +78 -0
  64. package/dist/cjs/telemetry/api/internal/trace/inference.js +132 -0
  65. package/dist/cjs/telemetry/api/internal/trace/live.js +52 -0
  66. package/dist/cjs/telemetry/api/internal/trace/node.js +73 -0
  67. package/dist/cjs/telemetry/api/internal/trace/propagation.js +67 -0
  68. package/dist/cjs/telemetry/api/internal/trace/tool.js +122 -0
  69. package/dist/cjs/telemetry/api/internal/trace/tracer.js +77 -0
  70. package/dist/cjs/telemetry/api/internal/trace/workflow.js +77 -0
  71. package/dist/cjs/telemetry/export/agent_engine.js +90 -0
  72. package/dist/cjs/telemetry/export/agent_runtime.js +73 -0
  73. package/dist/cjs/telemetry/export/google_cloud.js +763 -0
  74. package/dist/cjs/telemetry/export/request_driven_metric_reader.js +303 -0
  75. package/dist/cjs/telemetry/{setup.js → export/setup.js} +72 -5
  76. package/dist/cjs/tools/agent_tool.js +9 -1
  77. package/dist/cjs/tools/application_integration_tool/application_integration_toolset.js +22 -34
  78. package/dist/cjs/tools/application_integration_tool/clients/connections_client.js +60 -20
  79. package/dist/cjs/tools/application_integration_tool/clients/integration_client.js +26 -10
  80. package/dist/cjs/tools/application_integration_tool/integration_connector_tool.js +14 -23
  81. package/dist/cjs/tools/base_toolset.js +1 -1
  82. package/dist/cjs/tools/computer_use/base_computer.js +125 -0
  83. package/dist/cjs/tools/computer_use/computer_use_actions.js +502 -0
  84. package/dist/cjs/tools/computer_use/computer_use_tool.js +244 -0
  85. package/dist/cjs/tools/computer_use/computer_use_toolset.js +360 -0
  86. package/dist/cjs/tools/function_tool.js +15 -5
  87. package/dist/cjs/tools/google_api_tool/google_api_toolset.js +3 -2
  88. package/dist/cjs/tools/google_api_tool/googleapi_to_openapi_converter.js +3 -1
  89. package/dist/cjs/tools/load_artifacts_tool.js +15 -5
  90. package/dist/cjs/tools/load_memory_tool.js +2 -5
  91. package/dist/cjs/tools/mcp/mcp_session_manager.js +23 -3
  92. package/dist/cjs/tools/mcp/mcp_tool.js +7 -3
  93. package/dist/cjs/tools/mcp/mcp_toolset.js +18 -6
  94. package/dist/cjs/tools/openapi_tool/auth/auth_helpers.js +30 -29
  95. package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/oauth2_exchanger.js +2 -2
  96. package/dist/cjs/tools/openapi_tool/rest_api_tool.js +45 -14
  97. package/dist/cjs/tools/skill/load_skill_resource_tool.js +7 -0
  98. package/dist/cjs/tools/skill/load_skill_tool.js +3 -0
  99. package/dist/cjs/tools/skill/run_skill_script_tool.js +12 -2
  100. package/dist/cjs/tools/toolbox_toolset.js +47 -28
  101. package/dist/cjs/utils/async_queue.js +37 -3
  102. package/dist/cjs/utils/client_labels.js +9 -11
  103. package/dist/cjs/utils/env_aware_utils.js +13 -7
  104. package/dist/cjs/utils/error_utils.js +40 -2
  105. package/dist/cjs/utils/failover_utils.js +10 -9
  106. package/dist/cjs/utils/gemini_schema_util.js +125 -12
  107. package/dist/cjs/utils/id_provider.js +63 -0
  108. package/dist/cjs/utils/model_name.js +15 -0
  109. package/dist/cjs/utils/simple_zod_to_json.js +13 -31
  110. package/dist/cjs/utils/ssrf_guard.js +46 -16
  111. package/dist/cjs/version.js +1 -1
  112. package/dist/cjs/workflow/index.js +2 -0
  113. package/dist/cjs/workflow/node_runner.js +24 -80
  114. package/dist/cjs/workflow/nodes/parallel_worker.js +18 -7
  115. package/dist/cjs/workflow/run_llm_agent_as_node.js +19 -14
  116. package/dist/cjs/workflow/utils/retry_utils.js +2 -2
  117. package/dist/cjs/workflow/workflow.js +12 -12
  118. package/dist/esm/a2a/a2a_remote_agent.js +23 -3
  119. package/dist/esm/a2a/a2a_remote_agent_utils.js +8 -4
  120. package/dist/esm/a2a/agent_card.js +5 -83
  121. package/dist/esm/a2a/agent_to_a2a.js +7 -0
  122. package/dist/esm/a2a/event_converter_utils.js +10 -3
  123. package/dist/esm/agents/agent_engine_client.js +293 -55
  124. package/dist/esm/agents/base_agent.js +111 -72
  125. package/dist/esm/agents/functions.js +67 -89
  126. package/dist/esm/agents/instructions.js +7 -6
  127. package/dist/esm/agents/invocation_context.js +2 -2
  128. package/dist/esm/agents/llm_agent.js +111 -100
  129. package/dist/esm/agents/processors/content_processor_utils.js +42 -15
  130. package/dist/esm/agents/processors/content_request_processor.js +28 -11
  131. package/dist/esm/agents/processors/context_compactor_request_processor.js +5 -1
  132. package/dist/esm/agents/processors/instructions_llm_request_processor.js +1 -1
  133. package/dist/esm/agents/processors/nl_planning_processor.js +2 -1
  134. package/dist/esm/artifacts/file_artifact_service.js +1 -1
  135. package/dist/esm/cli/cli_eval.js +880 -17
  136. package/dist/esm/cli/utils/cleanup.js +56 -0
  137. package/dist/esm/cli/utils/envs.js +33 -2
  138. package/dist/esm/cli/utils/evals.js +74 -8
  139. package/dist/esm/cli/utils/logs.js +128 -9
  140. package/dist/esm/cli/utils/path_validation.js +45 -0
  141. package/dist/esm/code_executors/container_code_executor.js +158 -36
  142. package/dist/esm/common.js +49 -6
  143. package/dist/esm/context/compaction_utils.js +19 -0
  144. package/dist/esm/events/event.js +7 -3
  145. package/dist/esm/features/feature_registry.js +5 -0
  146. package/dist/esm/index.js +27 -15
  147. package/dist/esm/models/google_llm.js +33 -2
  148. package/dist/esm/models/interactions_utils.js +3 -0
  149. package/dist/esm/plugins/base_plugin.js +45 -21
  150. package/dist/esm/plugins/plugin_manager.js +27 -0
  151. package/dist/esm/runner/runner.js +310 -192
  152. package/dist/esm/sessions/base_session_service.js +1 -4
  153. package/dist/esm/sessions/database_session_service.js +191 -19
  154. package/dist/esm/sessions/db/operations.js +70 -1
  155. package/dist/esm/sessions/db/schema.js +4 -0
  156. package/dist/esm/sessions/in_memory_session_service.js +2 -2
  157. package/dist/esm/sessions/vertex_ai_session_service.js +11 -3
  158. package/dist/esm/skills/loader.js +29 -28
  159. package/dist/esm/telemetry/api/instrumentation.js +655 -0
  160. package/dist/esm/telemetry/api/internal/common/accumulators.js +139 -0
  161. package/dist/esm/telemetry/api/internal/common/attributes.js +94 -0
  162. package/dist/esm/telemetry/api/internal/common/config.js +128 -0
  163. package/dist/esm/telemetry/api/internal/common/error.js +69 -0
  164. package/dist/esm/telemetry/api/internal/common/finish_reason.js +35 -0
  165. package/dist/esm/telemetry/api/internal/common/genai_messages.js +188 -0
  166. package/dist/esm/telemetry/api/internal/common/http_exchange.js +142 -0
  167. package/dist/esm/telemetry/api/internal/common/provider_name.js +59 -0
  168. package/dist/esm/telemetry/api/internal/common/redaction.js +121 -0
  169. package/dist/esm/telemetry/api/internal/common/serialization.js +30 -0
  170. package/dist/esm/telemetry/api/internal/common/token_usage.js +85 -0
  171. package/dist/esm/telemetry/api/internal/logs/inference.js +23 -0
  172. package/dist/esm/telemetry/api/internal/logs/logger.js +19 -0
  173. package/dist/esm/telemetry/api/internal/logs/mcp.js +113 -0
  174. package/dist/esm/telemetry/api/internal/metrics/agent.js +107 -0
  175. package/dist/esm/telemetry/api/internal/metrics/inference_start_hook.js +29 -0
  176. package/dist/esm/telemetry/api/internal/metrics/meters.js +165 -0
  177. package/dist/esm/telemetry/api/internal/metrics/tool.js +119 -0
  178. package/dist/esm/telemetry/api/internal/metrics/workflow.js +112 -0
  179. package/dist/esm/telemetry/api/internal/trace/agent.js +25 -0
  180. package/dist/esm/telemetry/api/internal/trace/compaction.js +50 -0
  181. package/dist/esm/telemetry/api/internal/trace/inference.js +107 -0
  182. package/dist/esm/telemetry/api/internal/trace/live.js +28 -0
  183. package/dist/esm/telemetry/api/internal/trace/node.js +44 -0
  184. package/dist/esm/telemetry/api/internal/trace/propagation.js +39 -0
  185. package/dist/esm/telemetry/api/internal/trace/tool.js +96 -0
  186. package/dist/esm/telemetry/api/internal/trace/tracer.js +52 -0
  187. package/dist/esm/telemetry/api/internal/trace/workflow.js +54 -0
  188. package/dist/esm/telemetry/export/agent_engine.js +67 -0
  189. package/dist/esm/telemetry/export/agent_runtime.js +46 -0
  190. package/dist/esm/telemetry/export/google_cloud.js +733 -0
  191. package/dist/esm/telemetry/export/request_driven_metric_reader.js +276 -0
  192. package/dist/esm/telemetry/export/setup.js +160 -0
  193. package/dist/esm/tools/agent_tool.js +9 -1
  194. package/dist/esm/tools/application_integration_tool/application_integration_toolset.js +23 -35
  195. package/dist/esm/tools/application_integration_tool/clients/connections_client.js +64 -21
  196. package/dist/esm/tools/application_integration_tool/clients/integration_client.js +26 -10
  197. package/dist/esm/tools/application_integration_tool/integration_connector_tool.js +14 -23
  198. package/dist/esm/tools/base_toolset.js +1 -1
  199. package/dist/esm/tools/computer_use/base_computer.js +99 -0
  200. package/dist/esm/tools/computer_use/computer_use_actions.js +477 -0
  201. package/dist/esm/tools/computer_use/computer_use_tool.js +217 -0
  202. package/dist/esm/tools/computer_use/computer_use_toolset.js +344 -0
  203. package/dist/esm/tools/function_tool.js +15 -5
  204. package/dist/esm/tools/google_api_tool/google_api_toolset.js +3 -2
  205. package/dist/esm/tools/google_api_tool/googleapi_to_openapi_converter.js +3 -1
  206. package/dist/esm/tools/load_artifacts_tool.js +15 -5
  207. package/dist/esm/tools/load_memory_tool.js +2 -5
  208. package/dist/esm/tools/mcp/mcp_session_manager.js +23 -3
  209. package/dist/esm/tools/mcp/mcp_tool.js +7 -3
  210. package/dist/esm/tools/mcp/mcp_toolset.js +18 -6
  211. package/dist/esm/tools/openapi_tool/auth/auth_helpers.js +27 -26
  212. package/dist/esm/tools/openapi_tool/auth/credential_exchangers/oauth2_exchanger.js +2 -2
  213. package/dist/esm/tools/openapi_tool/rest_api_tool.js +45 -14
  214. package/dist/esm/tools/skill/load_skill_resource_tool.js +7 -0
  215. package/dist/esm/tools/skill/load_skill_tool.js +3 -0
  216. package/dist/esm/tools/skill/run_skill_script_tool.js +12 -2
  217. package/dist/esm/tools/toolbox_toolset.js +47 -28
  218. package/dist/esm/utils/async_queue.js +37 -3
  219. package/dist/esm/utils/client_labels.js +9 -11
  220. package/dist/esm/utils/env_aware_utils.js +12 -7
  221. package/dist/esm/utils/error_utils.js +37 -1
  222. package/dist/esm/utils/failover_utils.js +10 -9
  223. package/dist/esm/utils/gemini_schema_util.js +124 -11
  224. package/dist/esm/utils/id_provider.js +33 -0
  225. package/dist/esm/utils/model_name.js +14 -0
  226. package/dist/esm/utils/simple_zod_to_json.js +13 -31
  227. package/dist/esm/utils/ssrf_guard.js +55 -15
  228. package/dist/esm/version.js +1 -1
  229. package/dist/esm/workflow/index.js +2 -1
  230. package/dist/esm/workflow/node_runner.js +26 -80
  231. package/dist/esm/workflow/nodes/parallel_worker.js +16 -6
  232. package/dist/esm/workflow/run_llm_agent_as_node.js +19 -14
  233. package/dist/esm/workflow/utils/retry_utils.js +2 -2
  234. package/dist/esm/workflow/workflow.js +12 -12
  235. package/dist/types/a2a/a2a_remote_agent.d.ts +6 -0
  236. package/dist/types/a2a/a2a_remote_agent_utils.d.ts +3 -2
  237. package/dist/types/agents/agent_engine_client.d.ts +121 -3
  238. package/dist/types/agents/base_agent.d.ts +2 -0
  239. package/dist/types/agents/processors/content_processor_utils.d.ts +9 -9
  240. package/dist/types/agents/run_config.d.ts +14 -0
  241. package/dist/types/cli/cli_eval.d.ts +172 -9
  242. package/dist/types/cli/utils/cleanup.d.ts +18 -0
  243. package/dist/types/cli/utils/envs.d.ts +13 -3
  244. package/dist/types/cli/utils/evals.d.ts +64 -1
  245. package/dist/types/cli/utils/logs.d.ts +19 -2
  246. package/dist/types/cli/utils/path_validation.d.ts +30 -0
  247. package/dist/types/code_executors/container_code_executor.d.ts +49 -8
  248. package/dist/types/common.d.ts +16 -9
  249. package/dist/types/context/compaction_utils.d.ts +13 -1
  250. package/dist/types/events/event.d.ts +3 -0
  251. package/dist/types/features/feature_registry.d.ts +1 -0
  252. package/dist/types/index.d.ts +9 -6
  253. package/dist/types/plugins/base_plugin.d.ts +50 -21
  254. package/dist/types/plugins/plugin_manager.d.ts +13 -0
  255. package/dist/types/runner/runner.d.ts +11 -0
  256. package/dist/types/sessions/base_session_service.d.ts +0 -2
  257. package/dist/types/sessions/db/operations.d.ts +2 -1
  258. package/dist/types/sessions/db/schema.d.ts +5 -3
  259. package/dist/types/telemetry/api/instrumentation.d.ts +259 -0
  260. package/dist/types/telemetry/api/internal/common/accumulators.d.ts +91 -0
  261. package/dist/types/telemetry/api/internal/common/attributes.d.ts +90 -0
  262. package/dist/types/telemetry/api/internal/common/config.d.ts +61 -0
  263. package/dist/types/telemetry/api/internal/common/error.d.ts +29 -0
  264. package/dist/types/telemetry/api/internal/common/finish_reason.d.ts +18 -0
  265. package/dist/types/telemetry/api/internal/common/genai_messages.d.ts +26 -0
  266. package/dist/types/telemetry/api/internal/common/http_exchange.d.ts +50 -0
  267. package/dist/types/telemetry/api/internal/common/provider_name.d.ts +16 -0
  268. package/dist/types/telemetry/api/internal/common/redaction.d.ts +14 -0
  269. package/dist/types/telemetry/api/internal/common/serialization.d.ts +18 -0
  270. package/dist/types/telemetry/api/internal/common/token_usage.d.ts +47 -0
  271. package/dist/types/telemetry/api/internal/logs/inference.d.ts +15 -0
  272. package/dist/types/telemetry/api/internal/logs/logger.d.ts +13 -0
  273. package/dist/types/telemetry/api/internal/logs/mcp.d.ts +31 -0
  274. package/dist/types/telemetry/api/internal/metrics/agent.d.ts +28 -0
  275. package/dist/types/telemetry/api/internal/metrics/inference_start_hook.d.ts +12 -0
  276. package/dist/types/telemetry/api/internal/metrics/meters.d.ts +57 -0
  277. package/dist/types/telemetry/api/internal/metrics/tool.d.ts +44 -0
  278. package/dist/types/telemetry/api/internal/metrics/workflow.d.ts +32 -0
  279. package/dist/types/telemetry/api/internal/trace/agent.d.ts +14 -0
  280. package/dist/types/telemetry/api/internal/trace/compaction.d.ts +20 -0
  281. package/dist/types/telemetry/api/internal/trace/inference.d.ts +31 -0
  282. package/dist/types/telemetry/api/internal/trace/live.d.ts +21 -0
  283. package/dist/types/telemetry/api/internal/trace/node.d.ts +22 -0
  284. package/dist/types/telemetry/api/internal/trace/propagation.d.ts +22 -0
  285. package/dist/types/telemetry/api/internal/trace/tool.d.ts +57 -0
  286. package/dist/types/telemetry/api/internal/trace/tracer.d.ts +31 -0
  287. package/dist/types/telemetry/api/internal/trace/workflow.d.ts +21 -0
  288. package/dist/types/telemetry/export/agent_engine.d.ts +23 -0
  289. package/dist/types/telemetry/export/agent_runtime.d.ts +40 -0
  290. package/dist/types/telemetry/export/google_cloud.d.ts +189 -0
  291. package/dist/types/telemetry/export/request_driven_metric_reader.d.ts +144 -0
  292. package/dist/types/telemetry/{setup.d.ts → export/setup.d.ts} +3 -0
  293. package/dist/types/tools/agent_tool.d.ts +1 -1
  294. package/dist/types/tools/application_integration_tool/clients/connections_client.d.ts +13 -4
  295. package/dist/types/tools/base_toolset.d.ts +1 -1
  296. package/dist/types/tools/computer_use/base_computer.d.ts +281 -0
  297. package/dist/types/tools/computer_use/computer_use_actions.d.ts +53 -0
  298. package/dist/types/tools/computer_use/computer_use_tool.d.ts +108 -0
  299. package/dist/types/tools/computer_use/computer_use_toolset.d.ts +132 -0
  300. package/dist/types/tools/google_api_tool/google_api_toolset.d.ts +2 -0
  301. package/dist/types/tools/load_artifacts_tool.d.ts +5 -1
  302. package/dist/types/tools/load_memory_tool.d.ts +13 -7
  303. package/dist/types/tools/mcp/mcp_session_manager.d.ts +16 -0
  304. package/dist/types/tools/openapi_tool/auth/auth_helpers.d.ts +8 -8
  305. package/dist/types/tools/openapi_tool/openapi_spec_parser/operation_parser.d.ts +7 -3
  306. package/dist/types/tools/toolbox_toolset.d.ts +15 -20
  307. package/dist/types/utils/async_queue.d.ts +14 -0
  308. package/dist/types/utils/env_aware_utils.d.ts +11 -0
  309. package/dist/types/utils/error_utils.d.ts +4 -0
  310. package/dist/types/utils/gemini_schema_util.d.ts +27 -6
  311. package/dist/types/utils/id_provider.d.ts +43 -0
  312. package/dist/types/utils/model_name.d.ts +8 -0
  313. package/dist/types/utils/ssrf_guard.d.ts +2 -0
  314. package/dist/types/version.d.ts +1 -1
  315. package/dist/types/workflow/index.d.ts +1 -1
  316. package/dist/types/workflow/nodes/parallel_worker.d.ts +8 -1
  317. package/dist/web/index_web.js +86 -88
  318. package/dist/web/index_web.js.map +4 -4
  319. package/package.json +13 -15
  320. package/dist/cjs/telemetry/google_cloud.js +0 -116
  321. package/dist/cjs/telemetry/tracing.js +0 -393
  322. package/dist/esm/telemetry/google_cloud.js +0 -99
  323. package/dist/esm/telemetry/setup.js +0 -88
  324. package/dist/esm/telemetry/tracing.js +0 -361
  325. package/dist/types/telemetry/google_cloud.d.ts +0 -9
  326. package/dist/types/telemetry/tracing.d.ts +0 -143
package/dist/cjs/index.js CHANGED
@@ -53,6 +53,8 @@ __export(index_exports, {
53
53
  LOGGING_FORMAT: () => import_logs.LOGGING_FORMAT,
54
54
  LoadSkillResourceTool: () => import_load_skill_resource_tool.LoadSkillResourceTool,
55
55
  LocalEnvironment: () => import_local_environment.LocalEnvironment,
56
+ LocalEvalSetResultsManager: () => import_cli_eval.LocalEvalSetResultsManager,
57
+ LocalEvalSetsManager: () => import_cli_eval.LocalEvalSetsManager,
56
58
  MISSING_EVAL_DEPENDENCIES_MESSAGE: () => import_cli_eval.MISSING_EVAL_DEPENDENCIES_MESSAGE,
57
59
  OAuth2BearerExchanger: () => import_oauth2_exchanger.OAuth2BearerExchanger,
58
60
  OpenAPIToolset: () => import_openapi_toolset.OpenAPIToolset,
@@ -67,7 +69,6 @@ __export(index_exports, {
67
69
  SecretManagerClient: () => import_secret_client.SecretManagerClient,
68
70
  ServiceAccountCredentialExchanger: () => import_service_account_exchanger.ServiceAccountCredentialExchanger,
69
71
  SkillToolset: () => import_skill_toolset.SkillToolset,
70
- StaleSessionError: () => import_database_session_service.StaleSessionError,
71
72
  TOOL_TRAJECTORY_SCORE_KEY: () => import_cli_eval.TOOL_TRAJECTORY_SCORE_KEY,
72
73
  ToolAuthHandler: () => import_tool_auth_handler.ToolAuthHandler,
73
74
  ToolContextCredentialStore: () => import_tool_auth_handler.ToolContextCredentialStore,
@@ -77,7 +78,9 @@ __export(index_exports, {
77
78
  VertexAiSessionService: () => import_vertex_ai_session_service.VertexAiSessionService,
78
79
  actionRequest: () => import_connections_client.actionRequest,
79
80
  actionResponse: () => import_connections_client.actionResponse,
81
+ agentRuntimeRequestHooks: () => import_agent_runtime.agentRuntimeRequestHooks,
80
82
  connectorPayload: () => import_connections_client.connectorPayload,
83
+ convertEvalSetToSchema: () => import_cli_eval.convertEvalSetToSchema,
81
84
  createApiParameter: () => import_common.createApiParameter,
82
85
  createOperation: () => import_connections_client.createOperation,
83
86
  createOperationRequest: () => import_connections_client.createOperationRequest,
@@ -86,7 +89,6 @@ __export(index_exports, {
86
89
  credentialToParam: () => import_auth_helpers.credentialToParam,
87
90
  deleteOperation: () => import_connections_client.deleteOperation,
88
91
  deleteOperationRequest: () => import_connections_client.deleteOperationRequest,
89
- dictToAuthScheme: () => import_auth_helpers.dictToAuthScheme,
90
92
  exchangeCredential: () => import_oauth2_exchanger.exchangeCredential,
91
93
  executeCustomQueryRequest: () => import_connections_client.executeCustomQueryRequest,
92
94
  generateAuthToken: () => import_oauth2_exchanger.generateAuthToken,
@@ -101,26 +103,30 @@ __export(index_exports, {
101
103
  getSessionServiceFromUri: () => import_registry2.getSessionServiceFromUri,
102
104
  getTypeHint: () => import_common.getTypeHint,
103
105
  isDebugLoggingPlugin: () => import_debug_logging_plugin.isDebugLoggingPlugin,
104
- isStaleSessionError: () => import_database_session_service.isStaleSessionError,
105
106
  listOperation: () => import_connections_client.listOperation,
106
107
  listOperationRequest: () => import_connections_client.listOperationRequest,
107
108
  loadAllSkillsInDir: () => import_loader.loadAllSkillsInDir,
108
109
  loadDotenvForAgent: () => import_envs.loadDotenvForAgent,
110
+ loadEvalSetFromFile: () => import_cli_eval.loadEvalSetFromFile,
109
111
  loadSkillFromDir: () => import_loader.loadSkillFromDir,
110
112
  loadSkillFromZipBuffer: () => import_loader.loadSkillFromZipBuffer,
111
113
  loadWebPage: () => import_load_web_page.loadWebPage,
112
114
  logToTmpFolder: () => import_logs.logToTmpFolder,
113
- openidDictToSchemeCredential: () => import_auth_helpers.openidDictToSchemeCredential,
115
+ normalizeEvalCase: () => import_cli_eval.normalizeEvalCase,
116
+ openidRecordToSchemeCredential: () => import_auth_helpers.openidRecordToSchemeCredential,
114
117
  openidUrlToSchemeCredential: () => import_auth_helpers.openidUrlToSchemeCredential,
115
118
  parseAndGetEvalsToRun: () => import_cli_eval.parseAndGetEvalsToRun,
119
+ recordToAuthScheme: () => import_auth_helpers.recordToAuthScheme,
116
120
  runEvals: () => import_cli_eval.runEvals,
117
- serviceAccountDictToSchemeCredential: () => import_auth_helpers.serviceAccountDictToSchemeCredential,
121
+ runWithAgentEngineContext: () => import_agent_engine.runWithAgentEngineContext,
122
+ serviceAccountRecordToSchemeCredential: () => import_auth_helpers.serviceAccountRecordToSchemeCredential,
118
123
  serviceAccountSchemeCredential: () => import_auth_helpers.serviceAccountSchemeCredential,
119
124
  setupAdkLogger: () => import_logs.setupAdkLogger,
120
125
  tokenToSchemeCredential: () => import_auth_helpers.tokenToSchemeCredential,
121
126
  tryGetResetFunc: () => import_cli_eval.tryGetResetFunc,
122
127
  updateOperation: () => import_connections_client.updateOperation,
123
128
  updateOperationRequest: () => import_connections_client.updateOperationRequest,
129
+ validatePathSegment: () => import_path_validation.validatePathSegment,
124
130
  validateSkillDir: () => import_loader.validateSkillDir,
125
131
  walkToRootUntilFound: () => import_envs.walkToRootUntilFound
126
132
  });
@@ -170,12 +176,15 @@ var import_run_skill_inline_script_tool = require("./tools/skill/run_skill_inlin
170
176
  var import_run_skill_script_tool = require("./tools/skill/run_skill_script_tool.js");
171
177
  var import_skill_toolset = require("./tools/skill/skill_toolset.js");
172
178
  __reExport(index_exports, require("./integrations/agent_registry/agent_registry.js"), module.exports);
173
- __reExport(index_exports, require("./telemetry/google_cloud.js"), module.exports);
174
- __reExport(index_exports, require("./telemetry/setup.js"), module.exports);
179
+ var import_agent_engine = require("./telemetry/export/agent_engine.js");
180
+ var import_agent_runtime = require("./telemetry/export/agent_runtime.js");
181
+ __reExport(index_exports, require("./telemetry/export/google_cloud.js"), module.exports);
182
+ __reExport(index_exports, require("./telemetry/export/setup.js"), module.exports);
175
183
  __reExport(index_exports, require("./tools/google_api_tool/index.js"), module.exports);
176
184
  var import_cli_eval = require("./cli/cli_eval.js");
177
185
  var import_envs = require("./cli/utils/envs.js");
178
186
  var import_logs = require("./cli/utils/logs.js");
187
+ var import_path_validation = require("./cli/utils/path_validation.js");
179
188
  __reExport(index_exports, require("./tools/mcp/index.js"), module.exports);
180
189
  /**
181
190
  * @license
@@ -213,6 +222,8 @@ __reExport(index_exports, require("./tools/mcp/index.js"), module.exports);
213
222
  LOGGING_FORMAT,
214
223
  LoadSkillResourceTool,
215
224
  LocalEnvironment,
225
+ LocalEvalSetResultsManager,
226
+ LocalEvalSetsManager,
216
227
  MISSING_EVAL_DEPENDENCIES_MESSAGE,
217
228
  OAuth2BearerExchanger,
218
229
  OpenAPIToolset,
@@ -227,7 +238,6 @@ __reExport(index_exports, require("./tools/mcp/index.js"), module.exports);
227
238
  SecretManagerClient,
228
239
  ServiceAccountCredentialExchanger,
229
240
  SkillToolset,
230
- StaleSessionError,
231
241
  TOOL_TRAJECTORY_SCORE_KEY,
232
242
  ToolAuthHandler,
233
243
  ToolContextCredentialStore,
@@ -237,7 +247,9 @@ __reExport(index_exports, require("./tools/mcp/index.js"), module.exports);
237
247
  VertexAiSessionService,
238
248
  actionRequest,
239
249
  actionResponse,
250
+ agentRuntimeRequestHooks,
240
251
  connectorPayload,
252
+ convertEvalSetToSchema,
241
253
  createApiParameter,
242
254
  createOperation,
243
255
  createOperationRequest,
@@ -246,7 +258,6 @@ __reExport(index_exports, require("./tools/mcp/index.js"), module.exports);
246
258
  credentialToParam,
247
259
  deleteOperation,
248
260
  deleteOperationRequest,
249
- dictToAuthScheme,
250
261
  exchangeCredential,
251
262
  executeCustomQueryRequest,
252
263
  generateAuthToken,
@@ -261,33 +272,37 @@ __reExport(index_exports, require("./tools/mcp/index.js"), module.exports);
261
272
  getSessionServiceFromUri,
262
273
  getTypeHint,
263
274
  isDebugLoggingPlugin,
264
- isStaleSessionError,
265
275
  listOperation,
266
276
  listOperationRequest,
267
277
  loadAllSkillsInDir,
268
278
  loadDotenvForAgent,
279
+ loadEvalSetFromFile,
269
280
  loadSkillFromDir,
270
281
  loadSkillFromZipBuffer,
271
282
  loadWebPage,
272
283
  logToTmpFolder,
273
- openidDictToSchemeCredential,
284
+ normalizeEvalCase,
285
+ openidRecordToSchemeCredential,
274
286
  openidUrlToSchemeCredential,
275
287
  parseAndGetEvalsToRun,
288
+ recordToAuthScheme,
276
289
  runEvals,
277
- serviceAccountDictToSchemeCredential,
290
+ runWithAgentEngineContext,
291
+ serviceAccountRecordToSchemeCredential,
278
292
  serviceAccountSchemeCredential,
279
293
  setupAdkLogger,
280
294
  tokenToSchemeCredential,
281
295
  tryGetResetFunc,
282
296
  updateOperation,
283
297
  updateOperationRequest,
298
+ validatePathSegment,
284
299
  validateSkillDir,
285
300
  walkToRootUntilFound,
286
301
  ...require("./a2a/index.js"),
287
302
  ...require("./common.js"),
288
303
  ...require("./integrations/agent_registry/agent_registry.js"),
289
- ...require("./telemetry/google_cloud.js"),
290
- ...require("./telemetry/setup.js"),
304
+ ...require("./telemetry/export/google_cloud.js"),
305
+ ...require("./telemetry/export/setup.js"),
291
306
  ...require("./tools/google_api_tool/index.js"),
292
307
  ...require("./tools/mcp/index.js")
293
308
  });
@@ -31,6 +31,7 @@ __export(google_llm_exports, {
31
31
  });
32
32
  module.exports = __toCommonJS(google_llm_exports);
33
33
  var import_genai = require("@google/genai");
34
+ var import_computer_use_toolset = require("../tools/computer_use/computer_use_toolset.js");
34
35
  var import_env_aware_utils = require("../utils/env_aware_utils.js");
35
36
  var import_logger = require("../utils/logger.js");
36
37
  var import_variant_utils = require("../utils/variant_utils.js");
@@ -102,6 +103,7 @@ const _Gemini = class _Gemini extends (_b = import_base_llm.BaseLlm, _a = GEMINI
102
103
  */
103
104
  async *generateContentAsync(llmRequest, stream = false, abortSignal) {
104
105
  var _a2, _b2;
106
+ await adaptComputerUseRequest(llmRequest);
105
107
  if (this.useInteractionsApi) {
106
108
  yield* (0, import_interactions_utils.generateContentViaInteractions)(this.apiClient, llmRequest, stream);
107
109
  return;
@@ -265,8 +267,14 @@ const _Gemini = class _Gemini extends (_b = import_base_llm.BaseLlm, _a = GEMINI
265
267
  for (const content of llmRequest.contents) {
266
268
  if (!content.parts) continue;
267
269
  for (const part of content.parts) {
268
- removeDisplayNameIfPresent(part.inlineData);
269
- removeDisplayNameIfPresent(part.fileData);
270
+ if (part.inlineData) {
271
+ part.inlineData = { ...part.inlineData };
272
+ removeDisplayNameIfPresent(part.inlineData);
273
+ }
274
+ if (part.fileData) {
275
+ part.fileData = { ...part.fileData };
276
+ removeDisplayNameIfPresent(part.fileData);
277
+ }
270
278
  }
271
279
  }
272
280
  }
@@ -287,6 +295,29 @@ _Gemini.supportedModels = [
287
295
  /projects\/.+\/locations\/.+\/publishers\/google\/models\/gemini.+/
288
296
  ];
289
297
  let Gemini = _Gemini;
298
+ async function adaptComputerUseRequest(llmRequest) {
299
+ var _a2, _b2;
300
+ if (!((_b2 = (_a2 = llmRequest.config) == null ? void 0 : _a2.tools) == null ? void 0 : _b2.some(
301
+ (tool) => "computerUse" in tool && tool.computerUse
302
+ ))) {
303
+ return;
304
+ }
305
+ llmRequest.config.systemInstruction = void 0;
306
+ const waitTool = Object.hasOwn(llmRequest.toolsDict, "wait") ? llmRequest.toolsDict["wait"] : void 0;
307
+ await (0, import_computer_use_toolset.adaptComputerUseTool)({
308
+ methodName: "wait",
309
+ adapter: /* @__PURE__ */ __name((waitFunc) => ({
310
+ name: "wait_5_seconds",
311
+ description: "Waits for 5 seconds.",
312
+ execute: /* @__PURE__ */ __name((_args, toolContext) => waitFunc({ seconds: 5 }, toolContext), "execute")
313
+ }), "adapter"),
314
+ llmRequest
315
+ });
316
+ if (waitTool && Object.hasOwn(llmRequest.toolsDict, "wait_5_seconds")) {
317
+ llmRequest.toolsDict["wait"] = waitTool;
318
+ }
319
+ }
320
+ __name(adaptComputerUseRequest, "adaptComputerUseRequest");
290
321
  function removeDisplayNameIfPresent(dataObj) {
291
322
  if (dataObj && dataObj.displayName) {
292
323
  dataObj.displayName = void 0;
@@ -375,6 +375,9 @@ function convertToolsConfigToInteractionsFormat(config) {
375
375
  if (t.urlContext) {
376
376
  interactionTools.push({ type: "url_context" });
377
377
  }
378
+ if (t.computerUse) {
379
+ interactionTools.push({ type: "computer_use" });
380
+ }
378
381
  }
379
382
  return interactionTools;
380
383
  }
@@ -82,9 +82,9 @@ const _BasePlugin = class _BasePlugin {
82
82
  *
83
83
  * @param _params.invocationContext The context for the entire invocation, containing
84
84
  * session information, the root agent, etc.
85
- * @returns An optional `Event` to be returned to the ADK. Returning a value
86
- * to halt execution of the runner and ends the runner with that event.
87
- * Return `undefined` to proceed normally.
85
+ * @returns An optional `Content` to be returned to the ADK. Returning a value
86
+ * halts execution of the runner and ends the run with an event containing
87
+ * that content. Return `undefined` to proceed normally.
88
88
  */
89
89
  async beforeRunCallback(_params) {
90
90
  return;
@@ -107,10 +107,12 @@ const _BasePlugin = class _BasePlugin {
107
107
  return;
108
108
  }
109
109
  /**
110
- * Callback executed after an ADK runner run has completed.
110
+ * Callback executed after successful completion, abort, or early iterator close.
111
111
  *
112
112
  * This is the final callback in the ADK lifecycle, suitable for cleanup,
113
- * final logging, or reporting tasks.
113
+ * final logging, or reporting tasks. It is skipped when execution fails;
114
+ * {@link onRunErrorCallback} is called instead. Receiving this callback does
115
+ * not imply success: recognized cancellation still propagates to the caller.
114
116
  *
115
117
  * @param _params.invocationContext The context for the entire invocation.
116
118
  * @returns undefined
@@ -118,6 +120,23 @@ const _BasePlugin = class _BasePlugin {
118
120
  async afterRunCallback(_params) {
119
121
  return;
120
122
  }
123
+ /**
124
+ * Observes an error escaping an agent's execution or lifecycle callbacks.
125
+ *
126
+ * Notification-only: return values are ignored and callback failures are
127
+ * logged. The original execution error always propagates.
128
+ */
129
+ async onAgentErrorCallback(_params) {
130
+ }
131
+ /**
132
+ * Observes an error in the run lifecycle, including before/after-run callbacks.
133
+ *
134
+ * Notification-only: return values are ignored and callback failures are
135
+ * logged. The original execution error always propagates. A completion-hook
136
+ * failure during early iterator close is reported but does not prevent closing.
137
+ */
138
+ async onRunErrorCallback(_params) {
139
+ }
121
140
  /**
122
141
  * Callback executed before an agent's primary logic is invoked.
123
142
  *
@@ -136,14 +155,14 @@ const _BasePlugin = class _BasePlugin {
136
155
  /**
137
156
  * Callback executed after an agent's primary logic has completed.
138
157
  *
139
- * This callback can be used to inspect, log, or modify the agent's final
140
- * result before it is returned.
158
+ * This callback can be used to inspect, log, or append an additional event
159
+ * after the agent's execution completes.
141
160
  *
142
161
  * @param _params.agent The agent that has just run.
143
162
  * @param _params.callbackContext The context for the agent invocation.
144
- * @returns An optional `Content` object. If a value is returned, it will
145
- * replace the agent's original result. Returning `undefined` uses the
146
- * original, unmodified result.
163
+ * @returns An optional `Content` object. If a value is returned, it will be
164
+ * emitted as an additional event appended after the agent's execution.
165
+ * Returning `undefined` emits no additional content event.
147
166
  */
148
167
  async afterAgentCallback(_params) {
149
168
  return;
@@ -188,8 +207,8 @@ const _BasePlugin = class _BasePlugin {
188
207
  *
189
208
  * @param _params.callbackContext The context for the current agent call.
190
209
  * @param _params.llmRequest The prepared request object to be sent to the model.
191
- * @returns An optional value. The interpretation of a non-`undefined`
192
- * trigger an early exit and returns the response immediately. Returning
210
+ * @returns An optional `LlmResponse`. Returning a non-`undefined` value
211
+ * triggers an early exit and returns that response immediately. Returning
193
212
  * `undefined` allows the LLM request to proceed normally.
194
213
  */
195
214
  async beforeModelCallback(_params) {
@@ -211,7 +230,7 @@ const _BasePlugin = class _BasePlugin {
211
230
  return;
212
231
  }
213
232
  /**
214
- * Callback executed when a model call encounters an error.
233
+ * Callback executed when a model call encounters an `Error`.
215
234
  *
216
235
  * This callback provides an opportunity to handle model errors gracefully,
217
236
  * potentially providing alternative responses or recovery mechanisms.
@@ -219,10 +238,11 @@ const _BasePlugin = class _BasePlugin {
219
238
  * @param _params.callbackContext The context for the current agent call.
220
239
  * @param _params.llmRequest The request that was sent to the model when the error
221
240
  * occurred.
222
- * @param _params.error The exception that was raised during model execution.
223
- * @returns An optional LlmResponse. If an LlmResponse is returned, it will be
224
- * used instead of propagating the error. Returning `undefined` allows
225
- * the original error to be raised.
241
+ * @param _params.error The `Error` instance thrown during model execution.
242
+ * @returns An optional `LlmResponse`. If an `LlmResponse` is returned, it
243
+ * will be used instead of the default error response. Returning
244
+ * `undefined` causes an error response/event with `errorCode` and
245
+ * `errorMessage` derived from `error` to be yielded.
226
246
  */
227
247
  async onModelErrorCallback(_params) {
228
248
  return;
@@ -272,7 +292,8 @@ const _BasePlugin = class _BasePlugin {
272
292
  return;
273
293
  }
274
294
  /**
275
- * Callback executed when a tool call encounters an error.
295
+ * Callback executed when a tool call encounters an `Error` or cannot be
296
+ * resolved.
276
297
  *
277
298
  * This callback provides an opportunity to handle tool errors gracefully,
278
299
  * potentially providing alternative responses or recovery mechanisms.
@@ -280,10 +301,13 @@ const _BasePlugin = class _BasePlugin {
280
301
  * @param _params.tool The tool instance that encountered an error.
281
302
  * @param _params.toolArgs The arguments that were passed to the tool.
282
303
  * @param _params.toolContext The context specific to the tool execution.
283
- * @param _params.error The exception that was raised during tool execution.
304
+ * @param _params.error The `Error` that was raised during tool resolution or
305
+ * execution.
284
306
  * @returns An optional dictionary. If a dictionary is returned, it will be
285
- * used as the tool response instead of propagating the error. Returning
286
- * `undefined` allows the original error to be raised.
307
+ * used as the tool response instead of the default error response.
308
+ * Returning `undefined` causes `{error: error.message}` to be returned as
309
+ * the tool response (unlike adk-python, which re-raises). Non-`Error`
310
+ * throwables bypass this callback and become `{error: thrownValue}`.
287
311
  */
288
312
  async onToolErrorCallback(_params) {
289
313
  return;
@@ -109,6 +109,33 @@ const _PluginManager = class _PluginManager {
109
109
  }
110
110
  return void 0;
111
111
  }
112
+ /** Notifies every plugin without allowing one failure to hide another. */
113
+ async runNotificationCallbacks(callback, callbackName) {
114
+ for (const plugin of this.plugins) {
115
+ try {
116
+ await callback(plugin);
117
+ } catch (error) {
118
+ import_logger.logger.error(
119
+ `Error in plugin '${plugin.name}' during '${callbackName}' callback:`,
120
+ error
121
+ );
122
+ }
123
+ }
124
+ }
125
+ /** Runs the notification-only agent error callback for every plugin. */
126
+ async runOnAgentErrorCallback(params) {
127
+ await this.runNotificationCallbacks(
128
+ (plugin) => plugin.onAgentErrorCallback(params),
129
+ "onAgentErrorCallback"
130
+ );
131
+ }
132
+ /** Runs the notification-only run error callback for every plugin. */
133
+ async runOnRunErrorCallback(params) {
134
+ await this.runNotificationCallbacks(
135
+ (plugin) => plugin.onRunErrorCallback(params),
136
+ "onRunErrorCallback"
137
+ );
138
+ }
112
139
  /**
113
140
  * Runs the `onUserMessageCallback` for all plugins.
114
141
  */