@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
@@ -70,6 +70,16 @@ let ContainerCodeExecutor = class extends import_base_code_executor.BaseCodeExec
70
70
  constructor(options = {}) {
71
71
  var _a, _b, _c;
72
72
  super();
73
+ /** Started session containers, ordered from least to most recently used. */
74
+ this.containers = /* @__PURE__ */ new Map();
75
+ /** Container starts that are still in flight, keyed by session. */
76
+ this.initPromises = /* @__PURE__ */ new Map();
77
+ /**
78
+ * Number of `executeCode` calls in progress per session. A session with a
79
+ * call in progress is never evicted, so a run is not stopped midway.
80
+ */
81
+ this.activeExecutions = /* @__PURE__ */ new Map();
82
+ this.closing = false;
73
83
  if (!options.image && !options.dockerPath) {
74
84
  throw new Error(
75
85
  "Either image or dockerPath must be set for ContainerCodeExecutor."
@@ -81,6 +91,12 @@ let ContainerCodeExecutor = class extends import_base_code_executor.BaseCodeExec
81
91
  "timeoutSeconds must be greater than 0 for ContainerCodeExecutor."
82
92
  );
83
93
  }
94
+ this.maxContainers = options.maxContainers;
95
+ if (this.maxContainers !== void 0 && (!Number.isInteger(this.maxContainers) || this.maxContainers < 1)) {
96
+ throw new Error(
97
+ "maxContainers must be a positive integer for ContainerCodeExecutor."
98
+ );
99
+ }
84
100
  this.dockerPath = options.dockerPath ? path.resolve(options.dockerPath) : void 0;
85
101
  this.containerOptions = {
86
102
  image: (_b = options.image) != null ? _b : DEFAULT_IMAGE_TAG,
@@ -92,6 +108,7 @@ let ContainerCodeExecutor = class extends import_base_code_executor.BaseCodeExec
92
108
  defineFrozenFalse(this, "optimizeDataFile");
93
109
  }
94
110
  async executeCode(params) {
111
+ var _a, _b;
95
112
  const { code, language } = params.codeExecutionInput;
96
113
  const command = LANGUAGE_RUNTIME_COMMAND_MAP[language];
97
114
  if (!command) {
@@ -99,20 +116,32 @@ let ContainerCodeExecutor = class extends import_base_code_executor.BaseCodeExec
99
116
  `Unsupported language for ContainerCodeExecutor: ${language}. Supported: ${Object.keys(LANGUAGE_RUNTIME_COMMAND_MAP).join(", ")}.`
100
117
  );
101
118
  }
102
- await this.ensureContainer();
103
- const { stdout, stderr, exitCode } = await this.container.execute(
104
- [...TIMEOUT_COMMAND, String(this.timeoutSeconds), ...command, code],
105
- this.timeoutSeconds
106
- );
107
- import_logger.logger.debug(`Executed ${language} code:
119
+ const key = sessionKey(params.invocationContext);
120
+ this.activeExecutions.set(key, ((_a = this.activeExecutions.get(key)) != null ? _a : 0) + 1);
121
+ try {
122
+ const container = await this.ensureContainer(key);
123
+ const { stdout, stderr, exitCode } = await container.execute(
124
+ [...TIMEOUT_COMMAND, String(this.timeoutSeconds), ...command, code],
125
+ this.timeoutSeconds
126
+ );
127
+ import_logger.logger.debug(`Executed ${language} code:
108
128
  \`\`\`
109
129
  ${code}
110
130
  \`\`\``);
111
- return {
112
- stdout,
113
- stderr: this.describeExit(stderr, exitCode),
114
- outputFiles: []
115
- };
131
+ return {
132
+ stdout,
133
+ stderr: this.describeExit(stderr, exitCode),
134
+ outputFiles: []
135
+ };
136
+ } finally {
137
+ const remaining = ((_b = this.activeExecutions.get(key)) != null ? _b : 1) - 1;
138
+ if (remaining > 0) {
139
+ this.activeExecutions.set(key, remaining);
140
+ } else {
141
+ this.activeExecutions.delete(key);
142
+ }
143
+ this.evictLeastRecentlyUsed();
144
+ }
116
145
  }
117
146
  /**
118
147
  * Turns a non-zero exit into stderr the model can see. An empty stderr maps
@@ -132,38 +161,134 @@ ${message}` : message;
132
161
  return stderr;
133
162
  }
134
163
  /**
135
- * Stops and removes the container. Safe to call when no container has been
136
- * started; provided for deterministic teardown in tests and app shutdown.
164
+ * Stops and removes every session's container. Waits for container starts
165
+ * that are still in flight, so no container is left running after it
166
+ * resolves. Safe to call when none has been started, and concurrent calls
167
+ * share one teardown. Provided for deterministic teardown in tests and app
168
+ * shutdown.
137
169
  */
138
- async close() {
139
- const container = this.container;
140
- this.container = void 0;
141
- this.initPromise = void 0;
142
- await (container == null ? void 0 : container.stop());
170
+ close() {
171
+ var _a;
172
+ (_a = this.closePromise) != null ? _a : this.closePromise = this.stopAll().finally(() => {
173
+ this.closePromise = void 0;
174
+ });
175
+ return this.closePromise;
143
176
  }
144
- /** Lazily builds/starts the container exactly once. */
145
- ensureContainer() {
146
- if (!this.initPromise) {
147
- this.initPromise = this.initContainer().catch((error) => {
148
- this.initPromise = void 0;
149
- throw error;
150
- });
177
+ async stopAll() {
178
+ this.closing = true;
179
+ try {
180
+ while (this.initPromises.size > 0) {
181
+ await Promise.allSettled([...this.initPromises.values()]);
182
+ }
183
+ const containers = [...this.containers.values()];
184
+ this.containers.clear();
185
+ this.initPromises.clear();
186
+ await Promise.allSettled(containers.map((container) => container.stop()));
187
+ } finally {
188
+ this.closing = false;
151
189
  }
152
- return this.initPromise;
153
190
  }
154
- async initContainer() {
191
+ /**
192
+ * Returns the given session's container, starting it if needed. Concurrent
193
+ * calls for one session share a single in-flight start, and reuse marks the
194
+ * container as the most recently used.
195
+ */
196
+ ensureContainer(key) {
197
+ const existing = this.containers.get(key);
198
+ if (existing) {
199
+ this.containers.delete(key);
200
+ this.containers.set(key, existing);
201
+ return Promise.resolve(existing);
202
+ }
203
+ const inFlight = this.initPromises.get(key);
204
+ if (inFlight) {
205
+ return inFlight;
206
+ }
207
+ const initPromise = this.initContainer(
208
+ key
209
+ ).finally(() => {
210
+ if (this.initPromises.get(key) === initPromise) {
211
+ this.initPromises.delete(key);
212
+ }
213
+ });
214
+ this.initPromises.set(key, initPromise);
215
+ return initPromise;
216
+ }
217
+ /**
218
+ * Builds the image from `dockerPath` once and shares the build across every
219
+ * session. A failed build is cleared so the next call retries it.
220
+ */
221
+ ensureImageBuilt() {
222
+ var _a;
223
+ const dockerPath = this.dockerPath;
224
+ if (!dockerPath) {
225
+ return Promise.resolve();
226
+ }
227
+ (_a = this.buildPromise) != null ? _a : this.buildPromise = new import_docker_container.DockerContainer(this.containerOptions).build(dockerPath).catch((error) => {
228
+ this.buildPromise = void 0;
229
+ throw error;
230
+ });
231
+ return this.buildPromise;
232
+ }
233
+ async initContainer(key) {
234
+ await this.ensureImageBuilt();
235
+ if (this.closing) {
236
+ throw new Error(
237
+ "ContainerCodeExecutor closed during container initialization."
238
+ );
239
+ }
155
240
  const container = new import_docker_container.DockerContainer(this.containerOptions);
156
- if (this.dockerPath) {
157
- await container.build(this.dockerPath);
158
- }
159
- await container.start();
160
- this.container = container;
161
- const { exitCode } = await container.execute(
162
- ["which", "python3"],
163
- this.timeoutSeconds
164
- );
165
- if (exitCode !== 0) {
166
- throw new Error("python3 is not installed in the container.");
241
+ try {
242
+ await container.start();
243
+ const { exitCode } = await container.execute(
244
+ ["which", "python3"],
245
+ this.timeoutSeconds
246
+ );
247
+ if (exitCode !== 0) {
248
+ throw new Error("python3 is not installed in the container.");
249
+ }
250
+ } catch (error) {
251
+ await container.stop().catch((stopError) => {
252
+ import_logger.logger.debug(
253
+ `Failed to stop container after failed start: ${stopError}`
254
+ );
255
+ });
256
+ throw error;
257
+ }
258
+ if (this.closing) {
259
+ await container.stop().catch((stopError) => {
260
+ import_logger.logger.debug(`Failed to stop container during close: ${stopError}`);
261
+ });
262
+ throw new Error(
263
+ "ContainerCodeExecutor closed during container initialization."
264
+ );
265
+ }
266
+ this.containers.set(key, container);
267
+ this.evictLeastRecentlyUsed();
268
+ return container;
269
+ }
270
+ /**
271
+ * Stops the least recently used idle session containers until the count is
272
+ * within `maxContainers`. A session with a call in progress is skipped, which
273
+ * includes the caller that just registered its container; if every session
274
+ * is busy, the overshoot stays until a call ends. The stop is not awaited so
275
+ * the caller is not delayed by another session's teardown.
276
+ */
277
+ evictLeastRecentlyUsed() {
278
+ if (this.maxContainers === void 0) {
279
+ return;
280
+ }
281
+ for (const [key, container] of this.containers) {
282
+ if (this.containers.size <= this.maxContainers) {
283
+ return;
284
+ }
285
+ if (this.activeExecutions.has(key)) {
286
+ continue;
287
+ }
288
+ this.containers.delete(key);
289
+ void container.stop().catch((error) => {
290
+ import_logger.logger.debug(`Failed to stop evicted container: ${error}`);
291
+ });
167
292
  }
168
293
  }
169
294
  };
@@ -171,6 +296,14 @@ __name(ContainerCodeExecutor, "ContainerCodeExecutor");
171
296
  ContainerCodeExecutor = __decorateClass([
172
297
  import_experimental.experimental
173
298
  ], ContainerCodeExecutor);
299
+ function sessionKey(invocationContext) {
300
+ const session = invocationContext == null ? void 0 : invocationContext.session;
301
+ if (!session) {
302
+ return "default";
303
+ }
304
+ return JSON.stringify([session.appName, session.userId, session.id]);
305
+ }
306
+ __name(sessionKey, "sessionKey");
174
307
  function defineFrozenFalse(target, key) {
175
308
  Object.defineProperty(target, key, {
176
309
  value: false,
@@ -250,7 +250,12 @@ Code execution timed out after ${this.timeoutSeconds} seconds.`;
250
250
  };
251
251
  } finally {
252
252
  if (tempDir) {
253
- await fs.rm(tempDir, { recursive: true, force: true });
253
+ await fs.rm(tempDir, {
254
+ recursive: true,
255
+ force: true,
256
+ maxRetries: 10,
257
+ retryDelay: 500
258
+ });
254
259
  }
255
260
  }
256
261
  }
@@ -44,6 +44,7 @@ __export(common_exports, {
44
44
  AuthSchemeType: () => import_auth_schemes.AuthSchemeType,
45
45
  BaseAgent: () => import_base_agent.BaseAgent,
46
46
  BaseCodeExecutor: () => import_base_code_executor.BaseCodeExecutor,
47
+ BaseComputer: () => import_base_computer.BaseComputer,
47
48
  BaseEnvironment: () => import_base_environment.BaseEnvironment,
48
49
  BaseExampleProvider: () => import_base_example_provider.BaseExampleProvider,
49
50
  BaseLlm: () => import_base_llm.BaseLlm,
@@ -66,6 +67,9 @@ __export(common_exports, {
66
67
  ChromeModelUnavailableError: () => import_chrome_prompt_llm.ChromeModelUnavailableError,
67
68
  CodeExecutionLanguage: () => import_code_execution_utils.CodeExecutionLanguage,
68
69
  CodeExecutionResponseProcessor: () => import_code_execution_request_processor.CodeExecutionResponseProcessor,
70
+ ComputerEnvironment: () => import_base_computer.ComputerEnvironment,
71
+ ComputerUseTool: () => import_computer_use_tool.ComputerUseTool,
72
+ ComputerUseToolset: () => import_computer_use_toolset.ComputerUseToolset,
69
73
  ConsolidateContextTool: () => import_consolidate_context_tool.ConsolidateContextTool,
70
74
  ContentRequestProcessor: () => import_content_request_processor.ContentRequestProcessor,
71
75
  Context: () => import_context.Context,
@@ -73,7 +77,6 @@ __export(common_exports, {
73
77
  ContextCompactorRequestProcessor: () => import_context_compactor_request_processor.ContextCompactorRequestProcessor,
74
78
  CredentialExchangeError: () => import_base_credential_exchanger.CredentialExchangeError,
75
79
  CredentialRefresherRegistry: () => import_credential_refresher_registry.CredentialRefresherRegistry,
76
- CrewaiTool: () => import_crewai_tool.CrewaiTool,
77
80
  DEFAULT_ROUTE: () => import_workflow.DEFAULT_ROUTE,
78
81
  ENTERPRISE_WEB_SEARCH: () => import_enterprise_web_search_tool.ENTERPRISE_WEB_SEARCH,
79
82
  EXIT_LOOP: () => import_exit_loop_tool.EXIT_LOOP,
@@ -115,7 +118,6 @@ __export(common_exports, {
115
118
  LOAD_ARTIFACTS: () => import_load_artifacts_tool.LOAD_ARTIFACTS,
116
119
  LOAD_MEMORY: () => import_load_memory_tool.LOAD_MEMORY,
117
120
  LangGraphAgent: () => import_langgraph_agent.LangGraphAgent,
118
- LangchainTool: () => import_langchain_tool.LangchainTool,
119
121
  ListSkillsTool: () => import_list_skills_tool.ListSkillsTool,
120
122
  LiveRequestQueue: () => import_live_request_queue.LiveRequestQueue,
121
123
  LlamaIndexRetrieval: () => import_llama_index_retrieval.LlamaIndexRetrieval,
@@ -152,10 +154,10 @@ __export(common_exports, {
152
154
  REQUEST_INPUT_FUNCTION_CALL_NAME: () => import_functions.REQUEST_INPUT_FUNCTION_CALL_NAME,
153
155
  RESERVED_TOOL_CALL_ERROR_TYPE: () => import_reflect_retry_model_plugin.RESERVED_TOOL_CALL_ERROR_TYPE,
154
156
  RESTORED_EVENT_KEY: () => import_internal_metadata.RESTORED_EVENT_KEY,
157
+ RUNNER_CLEANUP_TIMEOUT_MS: () => import_cleanup.RUNNER_CLEANUP_TIMEOUT_MS,
155
158
  ReadonlyContext: () => import_readonly_context.ReadonlyContext,
156
159
  ReflectAndRetryModelPlugin: () => import_reflect_retry_model_plugin.ReflectAndRetryModelPlugin,
157
160
  ReflectAndRetryToolPlugin: () => import_reflect_retry_tool_plugin.ReflectAndRetryToolPlugin,
158
- RemoteAgent: () => import_remote_agent.RemoteAgent,
159
161
  RequestInput: () => import_workflow.RequestInput,
160
162
  RoutedAgent: () => import_routed_agent.RoutedAgent,
161
163
  RoutedLlm: () => import_routed_llm.RoutedLlm,
@@ -168,6 +170,7 @@ __export(common_exports, {
168
170
  SequentialAgent: () => import_sequential_agent.SequentialAgent,
169
171
  SessionNotFoundError: () => import_session_not_found_error.SessionNotFoundError,
170
172
  SessionStateCredentialService: () => import_session_state_credential_service.SessionStateCredentialService,
173
+ StaleSessionError: () => import_stale_session_error.StaleSessionError,
171
174
  State: () => import_state.State,
172
175
  StateSchemaError: () => import_state.StateSchemaError,
173
176
  StreamingMode: () => import_run_config.StreamingMode,
@@ -180,7 +183,7 @@ __export(common_exports, {
180
183
  ToolErrorType: () => import_tool_execution_error.ToolErrorType,
181
184
  ToolExecutionError: () => import_tool_execution_error.ToolExecutionError,
182
185
  ToolNode: () => import_workflow.ToolNode,
183
- ToolboxTool: () => import_toolbox_tool.ToolboxTool,
186
+ ToolboxToolset: () => import_toolbox_toolset.ToolboxToolset,
184
187
  TrackingScope: () => import_reflect_retry_utils.TrackingScope,
185
188
  TrajectoryThoughtPruningCompactor: () => import_trajectory_thought_pruning_compactor.TrajectoryThoughtPruningCompactor,
186
189
  TruncatingContextCompactor: () => import_truncating_context_compactor.TruncatingContextCompactor,
@@ -193,13 +196,16 @@ __export(common_exports, {
193
196
  WebMCPToolset: () => import_webmcp_toolset.WebMCPToolset,
194
197
  Workflow: () => import_workflow.Workflow,
195
198
  WorkflowNode: () => import_workflow.WorkflowNode,
199
+ adaptComputerUseTool: () => import_computer_use_toolset.adaptComputerUseTool,
196
200
  appendInstructions: () => import_llm_request.appendInstructions,
197
201
  asRunnableRoot: () => import_workflow.asRunnableRoot,
198
202
  buildFunctionDeclarationForLangchain: () => import_function_tool2.buildFunctionDeclarationForLangchain,
199
203
  buildFunctionDeclarationForParamsForCrewai: () => import_function_tool2.buildFunctionDeclarationForParamsForCrewai,
200
204
  buildFunctionDeclarationUtil: () => import_function_tool2.buildFunctionDeclarationUtil,
205
+ closeRunners: () => import_cleanup.closeRunners,
201
206
  commonPrefixOf: () => import_workflow.commonPrefixOf,
202
207
  convertSessionToEvalFormat: () => import_evals.convertSessionToEvalFormat,
208
+ convertSessionToEvalInvocations: () => import_evals.convertSessionToEvalInvocations,
203
209
  createEmptyState: () => import_evals.createEmptyState,
204
210
  createEvent: () => import_event.createEvent,
205
211
  createEventActions: () => import_event_actions.createEventActions,
@@ -232,10 +238,12 @@ __export(common_exports, {
232
238
  handleFunctionCallsLive: () => import_functions.handleFunctionCallsLive,
233
239
  hasThoughts: () => import_event.hasThoughts,
234
240
  hasTrailingCodeExecutionResult: () => import_event.hasTrailingCodeExecutionResult,
241
+ injectSessionState: () => import_instructions.injectSessionState,
235
242
  isAgentTool: () => import_agent_tool.isAgentTool,
236
243
  isApp: () => import_app.isApp,
237
244
  isAuthCredential: () => import_auth_credential.isAuthCredential,
238
245
  isBaseAgent: () => import_base_agent.isBaseAgent,
246
+ isBaseComputer: () => import_base_computer.isBaseComputer,
239
247
  isBaseExampleProvider: () => import_base_example_provider.isBaseExampleProvider,
240
248
  isBaseLlm: () => import_base_llm.isBaseLlm,
241
249
  isBasePlanner: () => import_base_planner.isBasePlanner,
@@ -244,7 +252,8 @@ __export(common_exports, {
244
252
  isBaseToolset: () => import_base_toolset.isBaseToolset,
245
253
  isBuiltInPlanner: () => import_built_in_planner.isBuiltInPlanner,
246
254
  isCompactedEvent: () => import_compacted_event.isCompactedEvent,
247
- isCrewaiTool: () => import_crewai_tool.isCrewaiTool,
255
+ isComputerUseTool: () => import_computer_use_tool.isComputerUseTool,
256
+ isComputerUseToolset: () => import_computer_use_toolset.isComputerUseToolset,
248
257
  isFinalResponse: () => import_event.isFinalResponse,
249
258
  isFunctionTool: () => import_function_tool.isFunctionTool,
250
259
  isGemini2OrAbove: () => import_model_name.isGemini2OrAbove,
@@ -253,7 +262,6 @@ __export(common_exports, {
253
262
  isGemini3xLive: () => import_model_name.isGemini3xLive,
254
263
  isIntentMismatchError: () => import_tool_confirmation.isIntentMismatchError,
255
264
  isLangGraphAgent: () => import_langgraph_agent.isLangGraphAgent,
256
- isLangchainTool: () => import_langchain_tool.isLangchainTool,
257
265
  isLlmAgent: () => import_llm_agent.isLlmAgent,
258
266
  isLlmCallsLimitExceededError: () => import_invocation_context.isLlmCallsLimitExceededError,
259
267
  isLoopAgent: () => import_loop_agent.isLoopAgent,
@@ -263,7 +271,7 @@ __export(common_exports, {
263
271
  isNodeState: () => import_workflow.isNodeState,
264
272
  isNodeTimeoutError: () => import_workflow.isNodeTimeoutError,
265
273
  isParallelAgent: () => import_parallel_agent.isParallelAgent,
266
- isRemoteAgent: () => import_remote_agent.isRemoteAgent,
274
+ isParallelWorker: () => import_workflow.isParallelWorker,
267
275
  isRequestInput: () => import_workflow.isRequestInput,
268
276
  isRoutableLlmAgent: () => import_runner.isRoutableLlmAgent,
269
277
  isRoutedAgent: () => import_routed_agent.isRoutedAgent,
@@ -272,13 +280,18 @@ __export(common_exports, {
272
280
  isScratchpadEvent: () => import_compacted_event.isScratchpadEvent,
273
281
  isSequentialAgent: () => import_sequential_agent.isSequentialAgent,
274
282
  isSessionArtifactService: () => import_session_artifact_service.isSessionArtifactService,
283
+ isStaleSessionError: () => import_stale_session_error.isStaleSessionError,
275
284
  isStateSchemaError: () => import_state.isStateSchemaError,
276
285
  isToolNotFound: () => import_functions.isToolNotFound,
277
- isToolboxTool: () => import_toolbox_tool.isToolboxTool,
286
+ isToolboxToolset: () => import_toolbox_toolset.isToolboxToolset,
278
287
  isWebMCPSupported: () => import_webmcp_types.isWebMCPSupported,
279
288
  isWorkflow: () => import_workflow.isWorkflow,
289
+ isZodObject: () => import_simple_zod_to_json.isZodObject,
290
+ isZodSchema: () => import_simple_zod_to_json.isZodSchema,
280
291
  logger: () => import_logger.logger,
281
292
  markRestored: () => import_internal_metadata.markRestored,
293
+ mergeStates: () => import_base_session_service2.mergeStates,
294
+ newId: () => import_id_provider.newId,
282
295
  node: () => import_workflow.node,
283
296
  normalizeRetryExceptions: () => import_workflow.normalizeRetryExceptions,
284
297
  populateClientFunctionCallId: () => import_event.populateClientFunctionCallId,
@@ -291,9 +304,11 @@ __export(common_exports, {
291
304
  requestInputTool: () => import_request_input_tool.requestInputTool,
292
305
  requireAgent: () => import_invocation_context.requireAgent,
293
306
  requiresUserInput: () => import_user_input_request.requiresUserInput,
307
+ resetIdProvider: () => import_id_provider.resetIdProvider,
294
308
  resetLogger: () => import_logger.resetLogger,
295
309
  resolveScopeKey: () => import_reflect_retry_utils.resolveScopeKey,
296
310
  runWithClientLabel: () => import_client_labels.runWithClientLabel,
311
+ setIdProvider: () => import_id_provider.setIdProvider,
297
312
  setLogLevel: () => import_logger.setLogLevel,
298
313
  setLogger: () => import_logger.setLogger,
299
314
  stringifyContent: () => import_event.stringifyContent,
@@ -302,6 +317,8 @@ __export(common_exports, {
302
317
  toJsonSchema: () => import_schema.toJsonSchema,
303
318
  toSnakeCaseName: () => import_case_utils.toSnakeCaseName,
304
319
  toStructuredEvents: () => import_structured_events.toStructuredEvents,
320
+ trimTempDeltaState: () => import_base_session_service2.trimTempDeltaState,
321
+ trimTempState: () => import_base_session_service2.trimTempState,
305
322
  validateAppName: () => import_app.validateAppName,
306
323
  version: () => import_version.version,
307
324
  zodObjectToSchema: () => import_simple_zod_to_json.zodObjectToSchema
@@ -311,6 +328,7 @@ var import_active_streaming_tool = require("./agents/active_streaming_tool.js");
311
328
  var import_base_agent = require("./agents/base_agent.js");
312
329
  var import_context = require("./agents/context.js");
313
330
  var import_functions = require("./agents/functions.js");
331
+ var import_instructions = require("./agents/instructions.js");
314
332
  var import_invocation_context = require("./agents/invocation_context.js");
315
333
  var import_langgraph_agent = require("./agents/langgraph_agent.js");
316
334
  var import_live_request_queue = require("./agents/live_request_queue.js");
@@ -324,7 +342,6 @@ var import_content_request_processor = require("./agents/processors/content_requ
324
342
  var import_context_compactor_request_processor = require("./agents/processors/context_compactor_request_processor.js");
325
343
  var import_interactions_request_processor = require("./agents/processors/interactions_request_processor.js");
326
344
  var import_readonly_context = require("./agents/readonly_context.js");
327
- var import_remote_agent = require("./agents/remote_agent.js");
328
345
  var import_routed_agent = require("./agents/routed_agent.js");
329
346
  var import_run_config = require("./agents/run_config.js");
330
347
  var import_sequential_agent = require("./agents/sequential_agent.js");
@@ -392,11 +409,15 @@ var import_runner = require("./runner/runner.js");
392
409
  var import_base_session_service = require("./sessions/base_session_service.js");
393
410
  var import_in_memory_session_service = require("./sessions/in_memory_session_service.js");
394
411
  var import_session = require("./sessions/session.js");
412
+ var import_stale_session_error = require("./sessions/stale_session_error.js");
395
413
  var import_state = require("./sessions/state.js");
396
414
  var import_agent_tool = require("./tools/agent_tool.js");
397
415
  var import_base_tool = require("./tools/base_tool.js");
398
416
  var import_base_toolset = require("./tools/base_toolset.js");
399
417
  var import_built_in_tool = require("./tools/built_in_tool.js");
418
+ var import_base_computer = require("./tools/computer_use/base_computer.js");
419
+ var import_computer_use_tool = require("./tools/computer_use/computer_use_tool.js");
420
+ var import_computer_use_toolset = require("./tools/computer_use/computer_use_toolset.js");
400
421
  var import_consolidate_context_tool = require("./tools/consolidate_context_tool.js");
401
422
  var import_enterprise_web_search_tool = require("./tools/enterprise_web_search_tool.js");
402
423
  var import_example_tool = require("./tools/example_tool.js");
@@ -427,6 +448,7 @@ var import_case_utils = require("./utils/case_utils.js");
427
448
  var import_client_labels = require("./utils/client_labels.js");
428
449
  var import_gemini_schema_util = require("./utils/gemini_schema_util.js");
429
450
  var import_genai_schema_to_json = require("./utils/genai_schema_to_json.js");
451
+ var import_id_provider = require("./utils/id_provider.js");
430
452
  var import_logger = require("./utils/logger.js");
431
453
  var import_model_name = require("./utils/model_name.js");
432
454
  var import_schema = require("./utils/schema.js");
@@ -440,21 +462,15 @@ var import_search_skills_tool = require("./tools/skill/search_skills_tool.js");
440
462
  __reExport(common_exports, require("./artifacts/base_artifact_service.js"), module.exports);
441
463
  __reExport(common_exports, require("./features/feature_registry.js"), module.exports);
442
464
  __reExport(common_exports, require("./memory/base_memory_service.js"), module.exports);
443
- __reExport(common_exports, require("./sessions/base_session_service.js"), module.exports);
465
+ var import_base_session_service2 = require("./sessions/base_session_service.js");
444
466
  __reExport(common_exports, require("./tools/base_tool.js"), module.exports);
445
467
  var import_workflow = require("./workflow/index.js");
446
468
  var import_app = require("./apps/app.js");
447
- __reExport(common_exports, require("./artifacts/base_artifact_service.js"), module.exports);
448
- __reExport(common_exports, require("./features/feature_registry.js"), module.exports);
449
- __reExport(common_exports, require("./memory/base_memory_service.js"), module.exports);
450
- __reExport(common_exports, require("./sessions/base_session_service.js"), module.exports);
451
- __reExport(common_exports, require("./tools/base_tool.js"), module.exports);
469
+ var import_cleanup = require("./cli/utils/cleanup.js");
452
470
  var import_evals = require("./cli/utils/evals.js");
453
- var import_crewai_tool = require("./tools/crewai_tool.js");
454
471
  var import_function_tool2 = require("./tools/function_tool.js");
455
- var import_langchain_tool = require("./tools/langchain_tool.js");
456
472
  var import_base_retrieval_tool2 = require("./tools/retrieval/base_retrieval_tool.js");
457
- var import_toolbox_tool = require("./tools/toolbox_tool.js");
473
+ var import_toolbox_toolset = require("./tools/toolbox_toolset.js");
458
474
  /**
459
475
  * @license
460
476
  * Copyright 2025 Google LLC
@@ -481,6 +497,7 @@ var import_toolbox_tool = require("./tools/toolbox_tool.js");
481
497
  AuthSchemeType,
482
498
  BaseAgent,
483
499
  BaseCodeExecutor,
500
+ BaseComputer,
484
501
  BaseEnvironment,
485
502
  BaseExampleProvider,
486
503
  BaseLlm,
@@ -503,6 +520,9 @@ var import_toolbox_tool = require("./tools/toolbox_tool.js");
503
520
  ChromeModelUnavailableError,
504
521
  CodeExecutionLanguage,
505
522
  CodeExecutionResponseProcessor,
523
+ ComputerEnvironment,
524
+ ComputerUseTool,
525
+ ComputerUseToolset,
506
526
  ConsolidateContextTool,
507
527
  ContentRequestProcessor,
508
528
  Context,
@@ -510,7 +530,6 @@ var import_toolbox_tool = require("./tools/toolbox_tool.js");
510
530
  ContextCompactorRequestProcessor,
511
531
  CredentialExchangeError,
512
532
  CredentialRefresherRegistry,
513
- CrewaiTool,
514
533
  DEFAULT_ROUTE,
515
534
  ENTERPRISE_WEB_SEARCH,
516
535
  EXIT_LOOP,
@@ -552,7 +571,6 @@ var import_toolbox_tool = require("./tools/toolbox_tool.js");
552
571
  LOAD_ARTIFACTS,
553
572
  LOAD_MEMORY,
554
573
  LangGraphAgent,
555
- LangchainTool,
556
574
  ListSkillsTool,
557
575
  LiveRequestQueue,
558
576
  LlamaIndexRetrieval,
@@ -589,10 +607,10 @@ var import_toolbox_tool = require("./tools/toolbox_tool.js");
589
607
  REQUEST_INPUT_FUNCTION_CALL_NAME,
590
608
  RESERVED_TOOL_CALL_ERROR_TYPE,
591
609
  RESTORED_EVENT_KEY,
610
+ RUNNER_CLEANUP_TIMEOUT_MS,
592
611
  ReadonlyContext,
593
612
  ReflectAndRetryModelPlugin,
594
613
  ReflectAndRetryToolPlugin,
595
- RemoteAgent,
596
614
  RequestInput,
597
615
  RoutedAgent,
598
616
  RoutedLlm,
@@ -605,6 +623,7 @@ var import_toolbox_tool = require("./tools/toolbox_tool.js");
605
623
  SequentialAgent,
606
624
  SessionNotFoundError,
607
625
  SessionStateCredentialService,
626
+ StaleSessionError,
608
627
  State,
609
628
  StateSchemaError,
610
629
  StreamingMode,
@@ -617,7 +636,7 @@ var import_toolbox_tool = require("./tools/toolbox_tool.js");
617
636
  ToolErrorType,
618
637
  ToolExecutionError,
619
638
  ToolNode,
620
- ToolboxTool,
639
+ ToolboxToolset,
621
640
  TrackingScope,
622
641
  TrajectoryThoughtPruningCompactor,
623
642
  TruncatingContextCompactor,
@@ -630,13 +649,16 @@ var import_toolbox_tool = require("./tools/toolbox_tool.js");
630
649
  WebMCPToolset,
631
650
  Workflow,
632
651
  WorkflowNode,
652
+ adaptComputerUseTool,
633
653
  appendInstructions,
634
654
  asRunnableRoot,
635
655
  buildFunctionDeclarationForLangchain,
636
656
  buildFunctionDeclarationForParamsForCrewai,
637
657
  buildFunctionDeclarationUtil,
658
+ closeRunners,
638
659
  commonPrefixOf,
639
660
  convertSessionToEvalFormat,
661
+ convertSessionToEvalInvocations,
640
662
  createEmptyState,
641
663
  createEvent,
642
664
  createEventActions,
@@ -669,10 +691,12 @@ var import_toolbox_tool = require("./tools/toolbox_tool.js");
669
691
  handleFunctionCallsLive,
670
692
  hasThoughts,
671
693
  hasTrailingCodeExecutionResult,
694
+ injectSessionState,
672
695
  isAgentTool,
673
696
  isApp,
674
697
  isAuthCredential,
675
698
  isBaseAgent,
699
+ isBaseComputer,
676
700
  isBaseExampleProvider,
677
701
  isBaseLlm,
678
702
  isBasePlanner,
@@ -681,7 +705,8 @@ var import_toolbox_tool = require("./tools/toolbox_tool.js");
681
705
  isBaseToolset,
682
706
  isBuiltInPlanner,
683
707
  isCompactedEvent,
684
- isCrewaiTool,
708
+ isComputerUseTool,
709
+ isComputerUseToolset,
685
710
  isFinalResponse,
686
711
  isFunctionTool,
687
712
  isGemini2OrAbove,
@@ -690,7 +715,6 @@ var import_toolbox_tool = require("./tools/toolbox_tool.js");
690
715
  isGemini3xLive,
691
716
  isIntentMismatchError,
692
717
  isLangGraphAgent,
693
- isLangchainTool,
694
718
  isLlmAgent,
695
719
  isLlmCallsLimitExceededError,
696
720
  isLoopAgent,
@@ -700,7 +724,7 @@ var import_toolbox_tool = require("./tools/toolbox_tool.js");
700
724
  isNodeState,
701
725
  isNodeTimeoutError,
702
726
  isParallelAgent,
703
- isRemoteAgent,
727
+ isParallelWorker,
704
728
  isRequestInput,
705
729
  isRoutableLlmAgent,
706
730
  isRoutedAgent,
@@ -709,13 +733,18 @@ var import_toolbox_tool = require("./tools/toolbox_tool.js");
709
733
  isScratchpadEvent,
710
734
  isSequentialAgent,
711
735
  isSessionArtifactService,
736
+ isStaleSessionError,
712
737
  isStateSchemaError,
713
738
  isToolNotFound,
714
- isToolboxTool,
739
+ isToolboxToolset,
715
740
  isWebMCPSupported,
716
741
  isWorkflow,
742
+ isZodObject,
743
+ isZodSchema,
717
744
  logger,
718
745
  markRestored,
746
+ mergeStates,
747
+ newId,
719
748
  node,
720
749
  normalizeRetryExceptions,
721
750
  populateClientFunctionCallId,
@@ -728,9 +757,11 @@ var import_toolbox_tool = require("./tools/toolbox_tool.js");
728
757
  requestInputTool,
729
758
  requireAgent,
730
759
  requiresUserInput,
760
+ resetIdProvider,
731
761
  resetLogger,
732
762
  resolveScopeKey,
733
763
  runWithClientLabel,
764
+ setIdProvider,
734
765
  setLogLevel,
735
766
  setLogger,
736
767
  stringifyContent,
@@ -739,17 +770,13 @@ var import_toolbox_tool = require("./tools/toolbox_tool.js");
739
770
  toJsonSchema,
740
771
  toSnakeCaseName,
741
772
  toStructuredEvents,
773
+ trimTempDeltaState,
774
+ trimTempState,
742
775
  validateAppName,
743
776
  version,
744
777
  zodObjectToSchema,
745
778
  ...require("./artifacts/base_artifact_service.js"),
746
779
  ...require("./features/feature_registry.js"),
747
780
  ...require("./memory/base_memory_service.js"),
748
- ...require("./sessions/base_session_service.js"),
749
- ...require("./tools/base_tool.js"),
750
- ...require("./artifacts/base_artifact_service.js"),
751
- ...require("./features/feature_registry.js"),
752
- ...require("./memory/base_memory_service.js"),
753
- ...require("./sessions/base_session_service.js"),
754
781
  ...require("./tools/base_tool.js")
755
782
  });