@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
@@ -9,6 +9,7 @@ export { BaseAgent, isBaseAgent } from './agents/base_agent.js';
9
9
  export type { AfterAgentCallback, BaseAgentConfig, BeforeAgentCallback, SingleAgentCallback, } from './agents/base_agent.js';
10
10
  export { Context } from './agents/context.js';
11
11
  export { REQUEST_CONFIRMATION_FUNCTION_CALL_NAME, REQUEST_CREDENTIAL_FUNCTION_CALL_NAME, REQUEST_INPUT_FUNCTION_CALL_NAME, findEventByFunctionCallId, findMatchingFunctionCall, functionsExportedForTestingOnly, handleFunctionCallsLive, isToolNotFound, } from './agents/functions.js';
12
+ export { injectSessionState } from './agents/instructions.js';
12
13
  export { InvocationContext, LlmCallsLimitExceededError, isLlmCallsLimitExceededError, requireAgent, } from './agents/invocation_context.js';
13
14
  export type { InvocationContextParams, WorkflowInstructionScope, } from './agents/invocation_context.js';
14
15
  export { LangGraphAgent, getLastHumanMessages, isLangGraphAgent, } from './agents/langgraph_agent.js';
@@ -27,8 +28,6 @@ export { CONTENT_REQUEST_PROCESSOR, ContentRequestProcessor, } from './agents/pr
27
28
  export { ContextCompactorRequestProcessor } from './agents/processors/context_compactor_request_processor.js';
28
29
  export { INTERACTIONS_REQUEST_PROCESSOR, InteractionsRequestProcessor, } from './agents/processors/interactions_request_processor.js';
29
30
  export { ReadonlyContext } from './agents/readonly_context.js';
30
- export { RemoteAgent, isRemoteAgent } from './agents/remote_agent.js';
31
- export type { RemoteAgentConfig, RemoteAgentFetch, } from './agents/remote_agent.js';
32
31
  export { RoutedAgent, isRoutedAgent } from './agents/routed_agent.js';
33
32
  export type { AgentRouter, RoutedAgentConfig } from './agents/routed_agent.js';
34
33
  export { StreamingMode, createRunConfig } from './agents/run_config.js';
@@ -140,7 +139,9 @@ export type { AppendEventRequest, CreateSessionRequest, DeleteSessionRequest, Ge
140
139
  export { InMemorySessionService } from './sessions/in_memory_session_service.js';
141
140
  export { createSession } from './sessions/session.js';
142
141
  export type { CompositeSessionKey, Session } from './sessions/session.js';
142
+ export { StaleSessionError, isStaleSessionError, } from './sessions/stale_session_error.js';
143
143
  export { State, StateSchemaError, isStateSchemaError } from './sessions/state.js';
144
+ export type { ContentCapturingMode, ExperimentalFeature, TelemetryConfig, } from './telemetry/api/instrumentation.js';
144
145
  export { AgentTool, isAgentTool } from './tools/agent_tool.js';
145
146
  export type { AgentToolConfig } from './tools/agent_tool.js';
146
147
  export { BaseTool, isBaseTool } from './tools/base_tool.js';
@@ -148,6 +149,12 @@ export type { BaseToolParams, RunAsyncToolRequest, ToolProcessLlmRequest, } from
148
149
  export { BaseToolset, isBaseToolset } from './tools/base_toolset.js';
149
150
  export type { ToolPredicate } from './tools/base_toolset.js';
150
151
  export { BuiltInTool } from './tools/built_in_tool.js';
152
+ export { BaseComputer, ComputerEnvironment, isBaseComputer, } from './tools/computer_use/base_computer.js';
153
+ export type { ComputerState, ScrollDirection, } from './tools/computer_use/base_computer.js';
154
+ export { ComputerUseTool, isComputerUseTool, } from './tools/computer_use/computer_use_tool.js';
155
+ export type { ComputerUseFunction, ComputerUseToolOptions, } from './tools/computer_use/computer_use_tool.js';
156
+ export { ComputerUseToolset, adaptComputerUseTool, isComputerUseToolset, } from './tools/computer_use/computer_use_toolset.js';
157
+ export type { AdaptComputerUseToolParams, AdaptedComputerUseFunction, ComputerUseToolsetOptions, } from './tools/computer_use/computer_use_toolset.js';
151
158
  export { ConsolidateContextTool } from './tools/consolidate_context_tool.js';
152
159
  export { ENTERPRISE_WEB_SEARCH, EnterpriseWebSearchTool, } from './tools/enterprise_web_search_tool.js';
153
160
  export { ExampleTool } from './tools/example_tool.js';
@@ -187,12 +194,15 @@ export { getClientLabels, runWithClientLabel } from './utils/client_labels.js';
187
194
  export { toGeminiSchema } from './utils/gemini_schema_util.js';
188
195
  export type { MCPToolSchema } from './utils/gemini_schema_util.js';
189
196
  export { genaiSchemaToJsonSchema } from './utils/genai_schema_to_json.js';
197
+ export { newId, resetIdProvider, setIdProvider } from './utils/id_provider.js';
198
+ export type { IdProvider } from './utils/id_provider.js';
190
199
  export { LogLevel, getLogger, logger, resetLogger, setLogLevel, setLogger, } from './utils/logger.js';
191
200
  export type { Logger } from './utils/logger.js';
192
201
  export { isGemini2OrAbove, isGemini35LiveTranslate, isGemini3xFlashLive, isGemini3xLive, } from './utils/model_name.js';
193
202
  export { toJsonSchema } from './utils/schema.js';
194
203
  export type { SchemaLike } from './utils/schema.js';
195
- export { zodObjectToSchema } from './utils/simple_zod_to_json.js';
204
+ export { isZodObject, isZodSchema, zodObjectToSchema, } from './utils/simple_zod_to_json.js';
205
+ export type { ZodSchema } from './utils/simple_zod_to_json.js';
196
206
  export { Task } from './utils/task.js';
197
207
  export type { TaskExecutable } from './utils/task.js';
198
208
  export { GoogleLLMVariant } from './utils/variant_utils.js';
@@ -205,25 +215,18 @@ export { SearchSkillsTool } from './tools/skill/search_skills_tool.js';
205
215
  export * from './artifacts/base_artifact_service.js';
206
216
  export * from './features/feature_registry.js';
207
217
  export * from './memory/base_memory_service.js';
208
- export * from './sessions/base_session_service.js';
218
+ export { mergeStates, trimTempDeltaState, trimTempState, } from './sessions/base_session_service.js';
209
219
  export * from './tools/base_tool.js';
210
- export { BaseNode, BranchPath, DEFAULT_ROUTE, Edge, FunctionNode, Graph, JoinNode, NodeContext, NodeReportedError, NodeSchemaValidationError, NodeStatus, NodeTimeoutError, NodeTool, ParallelWorker, RequestInput, START, ToolNode, Workflow, WorkflowNode, asRunnableRoot, commonPrefixOf, createNodeErrorEvent, createNodeState, createSubBranch, isNodeErrorEvent, isNodeReportedError, isNodeSchemaValidationError, isNodeState, isNodeTimeoutError, isRequestInput, isRunnableRoot, isWorkflow, node, normalizeRetryExceptions, prepareRetryConfig, } from './workflow/index.js';
220
+ export { BaseNode, BranchPath, DEFAULT_ROUTE, Edge, FunctionNode, Graph, JoinNode, NodeContext, NodeReportedError, NodeSchemaValidationError, NodeStatus, NodeTimeoutError, NodeTool, ParallelWorker, RequestInput, START, ToolNode, Workflow, WorkflowNode, asRunnableRoot, commonPrefixOf, createNodeErrorEvent, createNodeState, createSubBranch, isNodeErrorEvent, isNodeReportedError, isNodeSchemaValidationError, isNodeState, isNodeTimeoutError, isParallelWorker, isRequestInput, isRunnableRoot, isWorkflow, node, normalizeRetryExceptions, prepareRetryConfig, } from './workflow/index.js';
211
221
  export type { BaseNodeConfig, BuildNodeOptions, ChainElement, CreateNodeErrorEventParams, DynamicEntry, EdgeItem, ErrorClass, FunctionNodeConfig, FunctionNodeHandler, FunctionNodeResult, NodeContextOptions, NodeErrorEvent, NodeLike, NodeOptions, NodeResult, NodeState, ParallelWorkerConfig, PreparedRetryConfig, RequestInputParams, RetryConfig, RouteValue, RoutingMap, RunNodeOptions, RunnableNode, RunnableRoot, ScheduleDynamicNode, ScheduleDynamicNodeOptions, ToolNodeConfig, WorkflowConfig, } from './workflow/index.js';
212
222
  export { App, isApp, validateAppName } from './apps/app.js';
213
223
  export type { AppOptions } from './apps/app.js';
214
- export * from './artifacts/base_artifact_service.js';
215
- export * from './features/feature_registry.js';
216
- export * from './memory/base_memory_service.js';
217
- export * from './sessions/base_session_service.js';
218
- export * from './tools/base_tool.js';
219
- export { convertSessionToEvalFormat, createEmptyState, } from './cli/utils/evals.js';
220
- export type { EvaluationItem, IntermediateAgentResponseItem, ToolUseItem, } from './cli/utils/evals.js';
221
- export { CrewaiTool, isCrewaiTool } from './tools/crewai_tool.js';
222
- export type { CrewaiSchemaLike, CrewaiToolConfig, CrewaiToolLike, } from './tools/crewai_tool.js';
224
+ export { RUNNER_CLEANUP_TIMEOUT_MS, closeRunners } from './cli/utils/cleanup.js';
225
+ export { convertSessionToEvalFormat, convertSessionToEvalInvocations, createEmptyState, } from './cli/utils/evals.js';
226
+ export type { EvalCase, EvalIntermediateData, EvalInvocation, EvalSessionInput, EvalSet, EvaluationItem, IntermediateAgentResponseItem, ToolUseItem, } from './cli/utils/evals.js';
223
227
  export { buildFunctionDeclarationForLangchain, buildFunctionDeclarationForParamsForCrewai, buildFunctionDeclarationUtil, } from './tools/function_tool.js';
224
228
  export type { CallLiveToolRequest } from './tools/function_tool.js';
225
- export { LangchainTool, isLangchainTool } from './tools/langchain_tool.js';
226
- export type { LangchainSchemaLike, LangchainToolConfig, LangchainToolLike, } from './tools/langchain_tool.js';
229
+ export type { LoadMemoryResponse, LoadMemoryToolOptions, } from './tools/load_memory_tool.js';
227
230
  export { isBaseRetrievalTool } from './tools/retrieval/base_retrieval_tool.js';
228
- export { ToolboxTool, isToolboxTool } from './tools/toolbox_tool.js';
229
- export type { ToolboxClientLike, ToolboxToolOptions, } from './tools/toolbox_tool.js';
231
+ export { ToolboxToolset, isToolboxToolset } from './tools/toolbox_toolset.js';
232
+ export type { ToolboxLoadOptions, ToolboxToolLike, ToolboxToolsetClientLike, ToolboxToolsetOptions, } from './tools/toolbox_toolset.js';
@@ -24,7 +24,19 @@ export declare function isEventVisibleInIsolationScope(event: Event, currentIsol
24
24
  * Determines the baseline index to retain from active raw events,
25
25
  * ensuring we don't split between a function call and its response.
26
26
  *
27
- * @param rawEvents The active raw events to consider for compaction.
27
+ * Two checks protect a pair, mirroring the two places that can otherwise
28
+ * observe half of it:
29
+ * - Adjacent pairs: while the event before the split contains a function call
30
+ * and the event at the split contains a function response, move the split
31
+ * earlier.
32
+ * - Non-adjacent pairs: extend the retained tail back to the nearest preceding
33
+ * call for every retained response ID, following any dependencies that
34
+ * extension exposes. This matches the content builder, which pairs calls and
35
+ * responses by ID alone after filtering by scope and branch, so a call on a
36
+ * sub-agent branch answered by an unbranched user response is still kept.
37
+ *
38
+ * @param rawEvents The active raw events to consider for compaction. They are
39
+ * already filtered to the caller's isolation scope.
28
40
  * @param eventRetentionSize The minimum number of raw events to keep at the end of the session.
29
41
  * @returns The index in `rawEvents` at which to split. Events before this index will be compacted.
30
42
  */
@@ -9,6 +9,7 @@
9
9
  export declare class InputValidationError extends Error {
10
10
  /**
11
11
  * @param message A message describing why the input is invalid.
12
+ * @param options Standard error options, e.g. `{cause}`.
12
13
  */
13
- constructor(message?: string);
14
+ constructor(message?: string, options?: ErrorOptions);
14
15
  }
@@ -201,6 +201,9 @@ export declare function pruneThoughts(event: Event): Event;
201
201
  export declare function isEvent(obj: unknown): obj is Event;
202
202
  /**
203
203
  * Generates a new unique ID for the event.
204
+ *
205
+ * The ID comes from the provider set with `setIdProvider`, or is 8 random
206
+ * alphanumeric characters when none is set.
204
207
  */
205
208
  export declare function createNewEventId(): string;
206
209
  /**
@@ -7,6 +7,7 @@
7
7
  * Feature names.
8
8
  */
9
9
  export declare enum FeatureName {
10
+ COMPUTER_USE = "COMPUTER_USE",
10
11
  PROGRESSIVE_SSE_STREAMING = "PROGRESSIVE_SSE_STREAMING"
11
12
  }
12
13
  /**
@@ -22,6 +22,7 @@ export { VertexAiRagMemoryService } from './memory/vertex_ai_rag_memory_service.
22
22
  export type { VertexAiRagMemoryServiceOptions } from './memory/vertex_ai_rag_memory_service.js';
23
23
  export { DebugLoggingPlugin, isDebugLoggingPlugin, } from './plugins/debug_logging_plugin.js';
24
24
  export { DatabaseSessionService } from './sessions/database_session_service.js';
25
+ export type { DatabaseSessionServiceOptions } from './sessions/database_session_service.js';
25
26
  export { getSessionServiceFromUri } from './sessions/registry.js';
26
27
  export { VertexAiSessionService } from './sessions/vertex_ai_session_service.js';
27
28
  export type { VertexAiCreateSessionRequest, VertexAiSessionServiceOptions, } from './sessions/vertex_ai_session_service.js';
@@ -34,9 +35,10 @@ export { SecretManagerClient, type SecretManagerClientOptions, } from './tools/a
34
35
  export { ApplicationIntegrationToolset, type ApplicationIntegrationToolsetOptions, } from './tools/application_integration_tool/application_integration_toolset.js';
35
36
  export { actionRequest, actionResponse, ConnectionsClient, CONNECTOR_BASE_SPEC, connectorPayload, createOperation, createOperationRequest, deleteOperation, deleteOperationRequest, executeCustomQueryRequest, getActionOperation, getOperation, getOperationRequest, listOperation, listOperationRequest, updateOperation, updateOperationRequest, type ActionSchema, type ConnectionDetails, type ConnectionsClientOptions, type ConnectorSpec, type EntityOperationOptions, type EntitySchemaAndOperations, type EntitySchemaOperationOptions, type GetActionOperationOptions, } from './tools/application_integration_tool/clients/connections_client.js';
36
37
  export { IntegrationClient, type IntegrationClientOptions, } from './tools/application_integration_tool/clients/integration_client.js';
38
+ export { IntegrationConnectorTool, type IntegrationConnectorToolOptions, } from './tools/application_integration_tool/integration_connector_tool.js';
37
39
  export { LOAD_WEB_PAGE, loadWebPage } from './tools/load_web_page.js';
38
40
  export type { LoadWebPageOptions } from './tools/load_web_page.js';
39
- export { credentialToParam, dictToAuthScheme, INTERNAL_AUTH_PREFIX, openidDictToSchemeCredential, openidUrlToSchemeCredential, serviceAccountDictToSchemeCredential, serviceAccountSchemeCredential, tokenToSchemeCredential, } from './tools/openapi_tool/auth/auth_helpers.js';
41
+ export { credentialToParam, INTERNAL_AUTH_PREFIX, openidRecordToSchemeCredential, openidUrlToSchemeCredential, recordToAuthScheme, serviceAccountRecordToSchemeCredential, serviceAccountSchemeCredential, tokenToSchemeCredential, } from './tools/openapi_tool/auth/auth_helpers.js';
40
42
  export type { OpenIdConfig } from './tools/openapi_tool/auth/auth_helpers.js';
41
43
  export { AutoAuthCredentialExchanger } from './tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js';
42
44
  export type { CustomCredentialExchangers } from './tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js';
@@ -62,12 +64,15 @@ export { RunSkillScriptTool } from './tools/skill/run_skill_script_tool.js';
62
64
  export { SkillToolset } from './tools/skill/skill_toolset.js';
63
65
  export type { JsonObject } from './utils/json_utils.js';
64
66
  export * from './integrations/agent_registry/agent_registry.js';
65
- export * from './telemetry/google_cloud.js';
66
- export * from './telemetry/setup.js';
67
+ export { runWithAgentEngineContext } from './telemetry/export/agent_engine.js';
68
+ export { agentRuntimeRequestHooks, type AgentRuntimeRequestHooks, } from './telemetry/export/agent_runtime.js';
69
+ export * from './telemetry/export/google_cloud.js';
70
+ export * from './telemetry/export/setup.js';
67
71
  export * from './tools/google_api_tool/index.js';
68
- export { DEFAULT_CRITERIA, EVAL_SESSION_ID_PREFIX, EvalStatus, getEvaluationCriteriaOrDefault, getRootAgent, MISSING_EVAL_DEPENDENCIES_MESSAGE, parseAndGetEvalsToRun, RESPONSE_EVALUATION_SCORE_KEY, RESPONSE_MATCH_SCORE_KEY, runEvals, TOOL_TRAJECTORY_SCORE_KEY, tryGetResetFunc, } from './cli/cli_eval.js';
69
- export type { AddSessionToEvalSetRequest, EvalEntry, EvalInitialSession, EvalMetric, EvalMetricResult, EvalResult, EvalSetItem, InvocationEvalMetricResult, RunEvalRequest, RunEvalResult, RunEvalsOptions, } from './cli/cli_eval.js';
72
+ export { convertEvalSetToSchema, DEFAULT_CRITERIA, EVAL_SESSION_ID_PREFIX, EvalStatus, getEvaluationCriteriaOrDefault, getRootAgent, loadEvalSetFromFile, LocalEvalSetResultsManager, LocalEvalSetsManager, MISSING_EVAL_DEPENDENCIES_MESSAGE, normalizeEvalCase, parseAndGetEvalsToRun, RESPONSE_EVALUATION_SCORE_KEY, RESPONSE_MATCH_SCORE_KEY, runEvals, TOOL_TRAJECTORY_SCORE_KEY, tryGetResetFunc, } from './cli/cli_eval.js';
73
+ export type { AddSessionToEvalSetRequest, EvalCaseResult, EvalEntry, EvalInitialSession, EvalMetric, EvalMetricResult, EvalResult, EvalSetItem, EvalSetResult, InvocationEvalMetricResult, RunEvalRequest, RunEvalResult, RunEvalsOptions, SaveEvalSetResultParams, } from './cli/cli_eval.js';
70
74
  export { loadDotenvForAgent, walkToRootUntilFound } from './cli/utils/envs.js';
71
- export { LOGGING_FORMAT, logToStderr, logToTmpFolder } from './cli/utils/logs.js';
75
+ export { LOGGING_FORMAT, logToTmpFolder, setupAdkLogger, } from './cli/utils/logs.js';
72
76
  export type { LogToTmpFolderOptions } from './cli/utils/logs.js';
77
+ export { validatePathSegment } from './cli/utils/path_validation.js';
73
78
  export * from './tools/mcp/index.js';
@@ -139,9 +139,9 @@ export declare abstract class BasePlugin {
139
139
  *
140
140
  * @param _params.invocationContext The context for the entire invocation, containing
141
141
  * session information, the root agent, etc.
142
- * @returns An optional `Event` to be returned to the ADK. Returning a value
143
- * to halt execution of the runner and ends the runner with that event.
144
- * Return `undefined` to proceed normally.
142
+ * @returns An optional `Content` to be returned to the ADK. Returning a value
143
+ * halts execution of the runner and ends the run with an event containing
144
+ * that content. Return `undefined` to proceed normally.
145
145
  */
146
146
  beforeRunCallback(_params: {
147
147
  invocationContext: InvocationContext;
@@ -165,10 +165,12 @@ export declare abstract class BasePlugin {
165
165
  event: Event;
166
166
  }): Promise<Event | undefined>;
167
167
  /**
168
- * Callback executed after an ADK runner run has completed.
168
+ * Callback executed after successful completion, abort, or early iterator close.
169
169
  *
170
170
  * This is the final callback in the ADK lifecycle, suitable for cleanup,
171
- * final logging, or reporting tasks.
171
+ * final logging, or reporting tasks. It is skipped when execution fails;
172
+ * {@link onRunErrorCallback} is called instead. Receiving this callback does
173
+ * not imply success: recognized cancellation still propagates to the caller.
172
174
  *
173
175
  * @param _params.invocationContext The context for the entire invocation.
174
176
  * @returns undefined
@@ -176,6 +178,28 @@ export declare abstract class BasePlugin {
176
178
  afterRunCallback(_params: {
177
179
  invocationContext: InvocationContext;
178
180
  }): Promise<void>;
181
+ /**
182
+ * Observes an error escaping an agent's execution or lifecycle callbacks.
183
+ *
184
+ * Notification-only: return values are ignored and callback failures are
185
+ * logged. The original execution error always propagates.
186
+ */
187
+ onAgentErrorCallback(_params: {
188
+ agent: BaseAgent;
189
+ callbackContext: Context;
190
+ error: Error;
191
+ }): Promise<void>;
192
+ /**
193
+ * Observes an error in the run lifecycle, including before/after-run callbacks.
194
+ *
195
+ * Notification-only: return values are ignored and callback failures are
196
+ * logged. The original execution error always propagates. A completion-hook
197
+ * failure during early iterator close is reported but does not prevent closing.
198
+ */
199
+ onRunErrorCallback(_params: {
200
+ invocationContext: InvocationContext;
201
+ error: Error;
202
+ }): Promise<void>;
179
203
  /**
180
204
  * Callback executed before an agent's primary logic is invoked.
181
205
  *
@@ -195,14 +219,14 @@ export declare abstract class BasePlugin {
195
219
  /**
196
220
  * Callback executed after an agent's primary logic has completed.
197
221
  *
198
- * This callback can be used to inspect, log, or modify the agent's final
199
- * result before it is returned.
222
+ * This callback can be used to inspect, log, or append an additional event
223
+ * after the agent's execution completes.
200
224
  *
201
225
  * @param _params.agent The agent that has just run.
202
226
  * @param _params.callbackContext The context for the agent invocation.
203
- * @returns An optional `Content` object. If a value is returned, it will
204
- * replace the agent's original result. Returning `undefined` uses the
205
- * original, unmodified result.
227
+ * @returns An optional `Content` object. If a value is returned, it will be
228
+ * emitted as an additional event appended after the agent's execution.
229
+ * Returning `undefined` emits no additional content event.
206
230
  */
207
231
  afterAgentCallback(_params: {
208
232
  agent: BaseAgent;
@@ -250,8 +274,8 @@ export declare abstract class BasePlugin {
250
274
  *
251
275
  * @param _params.callbackContext The context for the current agent call.
252
276
  * @param _params.llmRequest The prepared request object to be sent to the model.
253
- * @returns An optional value. The interpretation of a non-`undefined`
254
- * trigger an early exit and returns the response immediately. Returning
277
+ * @returns An optional `LlmResponse`. Returning a non-`undefined` value
278
+ * triggers an early exit and returns that response immediately. Returning
255
279
  * `undefined` allows the LLM request to proceed normally.
256
280
  */
257
281
  beforeModelCallback(_params: {
@@ -275,7 +299,7 @@ export declare abstract class BasePlugin {
275
299
  llmResponse: LlmResponse;
276
300
  }): Promise<LlmResponse | undefined>;
277
301
  /**
278
- * Callback executed when a model call encounters an error.
302
+ * Callback executed when a model call encounters an `Error`.
279
303
  *
280
304
  * This callback provides an opportunity to handle model errors gracefully,
281
305
  * potentially providing alternative responses or recovery mechanisms.
@@ -283,10 +307,11 @@ export declare abstract class BasePlugin {
283
307
  * @param _params.callbackContext The context for the current agent call.
284
308
  * @param _params.llmRequest The request that was sent to the model when the error
285
309
  * occurred.
286
- * @param _params.error The exception that was raised during model execution.
287
- * @returns An optional LlmResponse. If an LlmResponse is returned, it will be
288
- * used instead of propagating the error. Returning `undefined` allows
289
- * the original error to be raised.
310
+ * @param _params.error The `Error` instance thrown during model execution.
311
+ * @returns An optional `LlmResponse`. If an `LlmResponse` is returned, it
312
+ * will be used instead of the default error response. Returning
313
+ * `undefined` causes an error response/event with `errorCode` and
314
+ * `errorMessage` derived from `error` to be yielded.
290
315
  */
291
316
  onModelErrorCallback(_params: {
292
317
  callbackContext: Context;
@@ -376,17 +401,8 @@ export declare abstract class BasePlugin {
376
401
  result: Record<string, unknown>;
377
402
  }): Promise<Record<string, unknown> | undefined>;
378
403
  /**
379
- * Callback executed when a tool call encounters an error.
380
- tool: BaseTool;
381
- toolArgs: Record<string, unknown>;
382
- toolContext: Context;
383
- result: Record<string, unknown>;
384
- }): Promise<Record<string, unknown> | undefined> {
385
- return;
386
- }
387
-
388
- /**
389
- * Callback executed when a tool call encounters an error.
404
+ * Callback executed when a tool call encounters an `Error` or cannot be
405
+ * resolved.
390
406
  *
391
407
  * This callback provides an opportunity to handle tool errors gracefully,
392
408
  * potentially providing alternative responses or recovery mechanisms.
@@ -394,10 +410,13 @@ export declare abstract class BasePlugin {
394
410
  * @param _params.tool The tool instance that encountered an error.
395
411
  * @param _params.toolArgs The arguments that were passed to the tool.
396
412
  * @param _params.toolContext The context specific to the tool execution.
397
- * @param _params.error The exception that was raised during tool execution.
413
+ * @param _params.error The `Error` that was raised during tool resolution or
414
+ * execution.
398
415
  * @returns An optional dictionary. If a dictionary is returned, it will be
399
- * used as the tool response instead of propagating the error. Returning
400
- * `undefined` allows the original error to be raised.
416
+ * used as the tool response instead of the default error response.
417
+ * Returning `undefined` causes `{error: error.message}` to be returned as
418
+ * the tool response (unlike adk-python, which re-raises). Non-`Error`
419
+ * throwables bypass this callback and become `{error: thrownValue}`.
401
420
  */
402
421
  onToolErrorCallback(_params: {
403
422
  tool: BaseTool;
@@ -67,6 +67,19 @@ export declare class PluginManager {
67
67
  * the proper type for the plugin method.
68
68
  */
69
69
  private runCallbacks;
70
+ /** Notifies every plugin without allowing one failure to hide another. */
71
+ private runNotificationCallbacks;
72
+ /** Runs the notification-only agent error callback for every plugin. */
73
+ runOnAgentErrorCallback(params: {
74
+ agent: BaseAgent;
75
+ callbackContext: Context;
76
+ error: Error;
77
+ }): Promise<void>;
78
+ /** Runs the notification-only run error callback for every plugin. */
79
+ runOnRunErrorCallback(params: {
80
+ invocationContext: InvocationContext;
81
+ error: Error;
82
+ }): Promise<void>;
70
83
  /**
71
84
  * Runs the `onUserMessageCallback` for all plugins.
72
85
  */
@@ -177,6 +177,16 @@ export declare class Runner {
177
177
  abortSignal?: AbortSignal;
178
178
  customMetadata?: Record<string, unknown>;
179
179
  }): AsyncGenerator<Event, void, undefined>;
180
+ /**
181
+ * Closes the runner and cleans up all toolsets reachable from the root agent
182
+ * or workflow.
183
+ */
184
+ close(): Promise<void>;
185
+ private runAsyncWithPlugins;
186
+ /** Finalizes a started run, including when its consumer closes the iterator. */
187
+ private runWithPluginLifecycle;
188
+ private finishRun;
189
+ private notifyRunError;
180
190
  /**
181
191
  * Runs whatever this runner was given as its root.
182
192
  *
@@ -260,6 +270,7 @@ export declare class Runner {
260
270
  abortSignal?: AbortSignal;
261
271
  liveSessionResumptionHandle?: string;
262
272
  }): AsyncGenerator<Event, void, undefined>;
273
+ private runLiveWithPlugins;
263
274
  }
264
275
  /**
265
276
  * Determines the next agent to run to continue the session. This is primarily
@@ -139,6 +139,11 @@ export declare abstract class BaseSessionService {
139
139
  */
140
140
  private updateSessionState;
141
141
  }
142
+ /**
143
+ * Places `event` into `session.events`, replacing the entry with the same id
144
+ * if one is already there and appending it otherwise.
145
+ */
146
+ export declare function upsertSessionEvent(session: Session, event: Event): void;
142
147
  /**
143
148
  * Removes temporary state delta keys from the event.
144
149
  */
@@ -151,8 +156,6 @@ export declare function trimTempDeltaState(event: Event): Event;
151
156
  * and `JSON.parse` makes `__proto__` an own key, so copying it into a plain
152
157
  * object literal would invoke the inherited `__proto__` setter: the entry is
153
158
  * dropped and the new state object is re-parented onto the attacker's object.
154
- * `State.get`/`State.has` use the `in` operator, so every key on that object
155
- * would then read back as session state.
156
159
  */
157
160
  export declare function trimTempState(state: Record<string, unknown>): Record<string, unknown>;
158
161
  /**
@@ -7,6 +7,21 @@ import type { MikroORMOptions as MikroDBOptions } from './db/operations.js';
7
7
  import { Event } from '../events/event.js';
8
8
  import { AppendEventRequest, BaseSessionService, CreateSessionRequest, DeleteSessionRequest, GetSessionRequest, ListSessionsRequest, ListSessionsResponse } from './base_session_service.js';
9
9
  import { Session } from './session.js';
10
+ export { isStaleSessionError, StaleSessionError } from './stale_session_error.js';
11
+ /**
12
+ * Options for configuring {@link DatabaseSessionService}.
13
+ */
14
+ export interface DatabaseSessionServiceOptions extends MikroDBOptions {
15
+ /**
16
+ * How to handle stale sessions in {@link DatabaseSessionService.appendEvent}.
17
+ *
18
+ * - `'reject'` (default): throws a {@link StaleSessionError} without persisting changes.
19
+ * - `'reload'`: reloads stored events and state into the session object after writing.
20
+ *
21
+ * @deprecated 'reload' is deprecated and will be removed in a future release. Use 'reject' (the default) and re-read the session with `getSession` to retry.
22
+ */
23
+ staleSession?: 'reject' | 'reload';
24
+ }
10
25
  /**
11
26
  * Checks if a URI is a database connection URI.
12
27
  *
@@ -22,7 +37,8 @@ export declare class DatabaseSessionService extends BaseSessionService {
22
37
  private initialized;
23
38
  private options?;
24
39
  private connectionString?;
25
- constructor(connectionStringOrOptions: MikroDBOptions | string);
40
+ private readonly staleSession;
41
+ constructor(connectionStringOrOptions: DatabaseSessionServiceOptions | string, options?: DatabaseSessionServiceOptions);
26
42
  init(): Promise<void>;
27
43
  createSession({ appName, userId, state, sessionId, }: CreateSessionRequest): Promise<Session>;
28
44
  getSession({ appName, userId, sessionId, config, }: GetSessionRequest): Promise<Session | undefined>;
@@ -25,7 +25,8 @@ export type MikroORMOptions = Partial<Options>;
25
25
  */
26
26
  export declare function getConnectionOptionsFromUri(uri: string): Promise<MikroORMOptions>;
27
27
  /**
28
- * Creates a database and tables if they don't exist.
28
+ * Creates a database and any missing entity tables without altering existing
29
+ * tables.
29
30
  *
30
31
  * @param orm The MikroORM instance.
31
32
  * @returns Promise<void>
@@ -9,12 +9,14 @@ export declare const SCHEMA_VERSION_KEY = "schema_version";
9
9
  export declare const SCHEMA_VERSION_1_JSON = "1";
10
10
  export declare const STORAGE_KEY_COLUMN_LENGTH = 191;
11
11
  /**
12
- * Fractional-second digits requested for the stored event timestamp.
12
+ * Fractional-second digits requested for stored session, state, and event
13
+ * timestamp columns.
13
14
  *
14
15
  * MySQL and MariaDB round a `datetime` column to whole seconds unless a
15
16
  * precision is given. That collapses events written in the same second onto one
16
- * value and leaves their order undefined. Other backends are unaffected:
17
- * PostgreSQL already defaults to six digits and SQLite ignores the precision.
17
+ * value and rounds session `update_time` up across a second boundary. Other
18
+ * backends are unaffected: PostgreSQL already defaults to six digits and SQLite
19
+ * ignores the precision.
18
20
  */
19
21
  export declare const EVENT_TIMESTAMP_PRECISION = 6;
20
22
  export declare class StorageMetadata {
@@ -0,0 +1,21 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ declare const STALE_SESSION_ERROR_SIGNATURE_SYMBOL: unique symbol;
7
+ /**
8
+ * Error thrown when a session write loses an optimistic concurrency race.
9
+ */
10
+ export declare class StaleSessionError extends Error {
11
+ readonly [STALE_SESSION_ERROR_SIGNATURE_SYMBOL] = true;
12
+ constructor(message: string);
13
+ }
14
+ /**
15
+ * Type guard for {@link StaleSessionError}.
16
+ *
17
+ * @param obj The value to check.
18
+ * @returns True if obj is a {@link StaleSessionError}.
19
+ */
20
+ export declare function isStaleSessionError(obj: unknown): obj is StaleSessionError;
21
+ export {};
@@ -9,7 +9,7 @@ import { Frontmatter, Skill } from './skill.js';
9
9
  *
10
10
  * @param content - The raw content of the SKILL.md file.
11
11
  * @returns An object containing the parsed frontmatter and the remaining markdown body.
12
- * @throws {Error} If the content is not properly formatted with YAML frontmatter.
12
+ * @throws {InputValidationError} If the content is not properly formatted with YAML frontmatter.
13
13
  */
14
14
  export declare function parseSkillMdContent(content: string): {
15
15
  frontmatter: Frontmatter;
@@ -44,7 +44,8 @@ export declare function loadAllSkillsInDir(skillsBasePath: string): Promise<Reco
44
44
  *
45
45
  * @param zipBuffer - The raw Buffer of the zip file containing the skill.
46
46
  * @returns A Skill object with all components loaded.
47
- * @throws {Error} If a member name is a traversal path, if SKILL.md is missing,
47
+ * @throws {NotFoundError} If the archive has no SKILL.md.
48
+ * @throws {InputValidationError} If a member name is a traversal path,
48
49
  * or if the skill name is missing or is not a bare path segment.
49
50
  */
50
51
  export declare function loadSkillFromZipBuffer(zipBuffer: Buffer): Skill;