@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
@@ -25,6 +25,7 @@ var __copyProps = (to, from, except, desc) => {
25
25
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
26
26
  var gemini_schema_util_exports = {};
27
27
  __export(gemini_schema_util_exports, {
28
+ copySchemaConstraints: () => copySchemaConstraints,
28
29
  openApiSchemaToGeminiSchema: () => openApiSchemaToGeminiSchema,
29
30
  toGeminiSchema: () => toGeminiSchema
30
31
  });
@@ -66,6 +67,66 @@ const getTypeFromArrayItem = /* @__PURE__ */ __name((mcpType) => {
66
67
  }
67
68
  return (_b = (_a = mcpType == null ? void 0 : mcpType.type) == null ? void 0 : _a.toLowerCase) == null ? void 0 : _b.call(_a);
68
69
  }, "getTypeFromArrayItem");
70
+ const STRINGIFIED_CONSTRAINT_FIELDS = [
71
+ "maxItems",
72
+ "maxLength",
73
+ "maxProperties",
74
+ "minItems",
75
+ "minLength",
76
+ "minProperties"
77
+ ];
78
+ const NUMERIC_CONSTRAINT_FIELDS = ["maximum", "minimum"];
79
+ const PATTERN_REDUNDANT_FORMATS = /* @__PURE__ */ new Set([
80
+ "email",
81
+ "uuid"
82
+ ]);
83
+ const GEMINI_INTEGER_NUMBER_FORMATS = /* @__PURE__ */ new Set([
84
+ "int32",
85
+ "int64"
86
+ ]);
87
+ const GEMINI_STRING_FORMATS = /* @__PURE__ */ new Set([
88
+ "date-time",
89
+ "enum"
90
+ ]);
91
+ function keepsGeminiFormat(type, format) {
92
+ if (typeof type !== "string" || typeof format !== "string") {
93
+ return false;
94
+ }
95
+ if (type === "integer" || type === "number") {
96
+ return GEMINI_INTEGER_NUMBER_FORMATS.has(format);
97
+ }
98
+ if (type === "string") {
99
+ return GEMINI_STRING_FORMATS.has(format);
100
+ }
101
+ return false;
102
+ }
103
+ __name(keepsGeminiFormat, "keepsGeminiFormat");
104
+ function copySchemaConstraints(source, target) {
105
+ for (const field of STRINGIFIED_CONSTRAINT_FIELDS) {
106
+ const value = source[field];
107
+ if (typeof value === "number" || typeof value === "string") {
108
+ target[field] = String(value);
109
+ }
110
+ }
111
+ for (const field of NUMERIC_CONSTRAINT_FIELDS) {
112
+ const value = source[field];
113
+ if (typeof value === "number") {
114
+ target[field] = value;
115
+ } else if (typeof value === "string" && value.trim() !== "" && !Number.isNaN(Number(value))) {
116
+ target[field] = Number(value);
117
+ }
118
+ }
119
+ const pattern = source["pattern"];
120
+ const format = source["format"];
121
+ if (typeof pattern === "string") {
122
+ if (typeof format === "string" && PATTERN_REDUNDANT_FORMATS.has(format)) {
123
+ delete target["pattern"];
124
+ } else {
125
+ target["pattern"] = pattern;
126
+ }
127
+ }
128
+ }
129
+ __name(copySchemaConstraints, "copySchemaConstraints");
69
130
  function toGeminiSchema(mcpSchema) {
70
131
  if (!mcpSchema) {
71
132
  return void 0;
@@ -110,6 +171,7 @@ function toGeminiSchema(mcpSchema) {
110
171
  mcp = { ...rest, anyOf: anyOfItems };
111
172
  }
112
173
  }
174
+ const declaredType = mcp.type;
113
175
  if (!mcp.type) {
114
176
  if (mcp.properties || mcp.$ref) {
115
177
  mcp.type = "object";
@@ -146,6 +208,9 @@ function toGeminiSchema(mcpSchema) {
146
208
  if (mcp.description) {
147
209
  geminiSchema.description = mcp.description;
148
210
  }
211
+ if (keepsGeminiFormat(declaredType, mcp.format)) {
212
+ geminiSchema.format = mcp.format;
213
+ }
149
214
  if (mcp.enum) {
150
215
  geminiSchema.enum = mcp.enum.filter((v) => v != null).map(String);
151
216
  }
@@ -169,6 +234,10 @@ function toGeminiSchema(mcpSchema) {
169
234
  geminiSchema.items = recursiveConvert(mcp.items);
170
235
  }
171
236
  }
237
+ copySchemaConstraints(
238
+ mcp,
239
+ geminiSchema
240
+ );
172
241
  return geminiSchema;
173
242
  }
174
243
  __name(recursiveConvert, "recursiveConvert");
@@ -201,10 +270,8 @@ const GEMINI_SCHEMA_FIELDS = /* @__PURE__ */ new Set([
201
270
  ]);
202
271
  const GEMINI_REJECTED_SCHEMA_FIELDS = /* @__PURE__ */ new Set([
203
272
  "title",
204
- "default",
205
- "format"
273
+ "default"
206
274
  ]);
207
- const EMPTY_OBJECT_PLACEHOLDER = "dummy_DO_NOT_GENERATE";
208
275
  function toGeminiSchemaField(key) {
209
276
  return (0, import_case_utils.toSnakeCaseName)(key).replace(
210
277
  /_([a-z0-9])/g,
@@ -216,6 +283,23 @@ function isPlainObject(value) {
216
283
  return typeof value === "object" && value !== null && !Array.isArray(value);
217
284
  }
218
285
  __name(isPlainObject, "isPlainObject");
286
+ function normalizeJsonSchemaType(jsonSchemaType) {
287
+ if (typeof jsonSchemaType === "string") {
288
+ if (jsonSchemaType === "null") {
289
+ return [void 0, true];
290
+ }
291
+ return [jsonSchemaType, false];
292
+ }
293
+ if (Array.isArray(jsonSchemaType)) {
294
+ const nullable = jsonSchemaType.includes("null");
295
+ const nonNullTypes = jsonSchemaType.filter(
296
+ (t) => typeof t === "string" && t !== "null"
297
+ );
298
+ return [nonNullTypes[0], nullable];
299
+ }
300
+ return [void 0, false];
301
+ }
302
+ __name(normalizeJsonSchemaType, "normalizeJsonSchemaType");
219
303
  function convertSchemaField(field, value) {
220
304
  if (field === "type") {
221
305
  return toGeminiType(typeof value === "string" ? value : void 0);
@@ -231,41 +315,88 @@ function convertSchemaField(field, value) {
231
315
  if (field === "items" && isPlainObject(value)) {
232
316
  return openApiSchemaToGeminiSchema(value);
233
317
  }
234
- if (field === "anyOf" && Array.isArray(value)) {
235
- return value.map((item) => openApiSchemaToGeminiSchema(item));
236
- }
237
318
  return value;
238
319
  }
239
320
  __name(convertSchemaField, "convertSchemaField");
321
+ function isNullSchema(value) {
322
+ return isPlainObject(value) && value["type"] === "null";
323
+ }
324
+ __name(isNullSchema, "isNullSchema");
325
+ function takeUnionBranches(schema) {
326
+ let branches;
327
+ for (const [key, value] of Object.entries(schema)) {
328
+ const field = toGeminiSchemaField(key);
329
+ if (field !== "anyOf" && field !== "oneOf") {
330
+ continue;
331
+ }
332
+ delete schema[key];
333
+ if (Array.isArray(value)) {
334
+ branches = [...branches != null ? branches : [], ...value];
335
+ }
336
+ }
337
+ return branches;
338
+ }
339
+ __name(takeUnionBranches, "takeUnionBranches");
240
340
  function openApiSchemaToGeminiSchema(openApiSchema) {
241
341
  if (openApiSchema === void 0 || openApiSchema === null) {
242
342
  return void 0;
243
343
  }
244
344
  if (!isPlainObject(openApiSchema)) {
245
- throw new TypeError("openapi_schema must be a dictionary");
345
+ throw new TypeError("openApiSchema must be a plain object");
246
346
  }
247
347
  const source = { ...openApiSchema };
248
- if (!source["type"]) {
249
- source["type"] = "object";
348
+ let unionNullable = false;
349
+ let anyOf;
350
+ const branches = takeUnionBranches(source);
351
+ if (branches) {
352
+ const nonNullBranches = branches.filter((branch) => !isNullSchema(branch));
353
+ unionNullable = nonNullBranches.length !== branches.length;
354
+ if (nonNullBranches.length === 1 && isPlainObject(nonNullBranches[0])) {
355
+ const merged = openApiSchemaToGeminiSchema({
356
+ ...nonNullBranches[0],
357
+ ...source
358
+ });
359
+ if (unionNullable) {
360
+ merged.nullable = true;
361
+ }
362
+ return merged;
363
+ } else if (nonNullBranches.length > 0) {
364
+ anyOf = nonNullBranches.map(
365
+ (branch) => openApiSchemaToGeminiSchema(branch)
366
+ );
367
+ }
250
368
  }
251
- const properties = source["properties"];
252
- const hasProperties = isPlainObject(properties) && Object.keys(properties).length > 0;
253
- if (source["type"] === "object" && !hasProperties) {
254
- source["properties"] = { [EMPTY_OBJECT_PLACEHOLDER]: { type: "string" } };
369
+ const [schemaType, typeNullable] = normalizeJsonSchemaType(source["type"]);
370
+ source["type"] = schemaType;
371
+ if (typeNullable || unionNullable) {
372
+ source["nullable"] = true;
373
+ }
374
+ if (!source["type"] && !anyOf) {
375
+ source["type"] = "object";
255
376
  }
256
377
  const converted = {};
257
378
  for (const [key, value] of Object.entries(source)) {
258
379
  const field = toGeminiSchemaField(key);
259
- if (!GEMINI_SCHEMA_FIELDS.has(field) || GEMINI_REJECTED_SCHEMA_FIELDS.has(field)) {
380
+ if (value === void 0 || !GEMINI_SCHEMA_FIELDS.has(field) || GEMINI_REJECTED_SCHEMA_FIELDS.has(field)) {
381
+ continue;
382
+ }
383
+ if (field === "format") {
384
+ if (keepsGeminiFormat(schemaType, value)) {
385
+ converted[field] = value;
386
+ }
260
387
  continue;
261
388
  }
262
389
  converted[field] = convertSchemaField(field, value);
263
390
  }
391
+ if (anyOf) {
392
+ converted["anyOf"] = anyOf;
393
+ }
264
394
  return converted;
265
395
  }
266
396
  __name(openApiSchemaToGeminiSchema, "openApiSchemaToGeminiSchema");
267
397
  // Annotate the CommonJS export names for ESM import in node:
268
398
  0 && (module.exports = {
399
+ copySchemaConstraints,
269
400
  openApiSchemaToGeminiSchema,
270
401
  toGeminiSchema
271
402
  });
@@ -0,0 +1,63 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ "use strict";
8
+ var __defProp = Object.defineProperty;
9
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
10
+ var __getOwnPropNames = Object.getOwnPropertyNames;
11
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
12
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
13
+ var __export = (target, all) => {
14
+ for (var name in all)
15
+ __defProp(target, name, { get: all[name], enumerable: true });
16
+ };
17
+ var __copyProps = (to, from, except, desc) => {
18
+ if (from && typeof from === "object" || typeof from === "function") {
19
+ for (let key of __getOwnPropNames(from))
20
+ if (!__hasOwnProp.call(to, key) && key !== except)
21
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
22
+ }
23
+ return to;
24
+ };
25
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
26
+ var id_provider_exports = {};
27
+ __export(id_provider_exports, {
28
+ newId: () => newId,
29
+ newIdOr: () => newIdOr,
30
+ resetIdProvider: () => resetIdProvider,
31
+ setIdProvider: () => setIdProvider
32
+ });
33
+ module.exports = __toCommonJS(id_provider_exports);
34
+ var import_env_aware_utils = require("./env_aware_utils.js");
35
+ /**
36
+ * @license
37
+ * Copyright 2026 Google LLC
38
+ * SPDX-License-Identifier: Apache-2.0
39
+ */
40
+ let idProvider;
41
+ function setIdProvider(provider) {
42
+ idProvider = provider;
43
+ }
44
+ __name(setIdProvider, "setIdProvider");
45
+ function resetIdProvider() {
46
+ idProvider = void 0;
47
+ }
48
+ __name(resetIdProvider, "resetIdProvider");
49
+ function newId() {
50
+ return newIdOr(import_env_aware_utils.randomUUID);
51
+ }
52
+ __name(newId, "newId");
53
+ function newIdOr(fallback) {
54
+ return idProvider ? idProvider() : fallback();
55
+ }
56
+ __name(newIdOr, "newIdOr");
57
+ // Annotate the CommonJS export names for ESM import in node:
58
+ 0 && (module.exports = {
59
+ newId,
60
+ newIdOr,
61
+ resetIdProvider,
62
+ setIdProvider
63
+ });
@@ -62,6 +62,10 @@ const _WinstonLogger = class _WinstonLogger {
62
62
  "warn": import_logger.LogLevel.WARN,
63
63
  "error": import_logger.LogLevel.ERROR
64
64
  },
65
+ // `levels` above inverts winston's npm ordering, so `error` (3) is the
66
+ // most permissive and leaves winston pass-through. Every method already
67
+ // gates on `this.logLevel`; a lower value here would double-gate and
68
+ // drop records.
65
69
  level: "error",
66
70
  format: winston.format.combine(
67
71
  winston.format.label({ label: "ADK" }),
@@ -26,6 +26,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
26
26
  var model_name_exports = {};
27
27
  __export(model_name_exports, {
28
28
  extractModelName: () => extractModelName,
29
+ getGeminiMajorVersion: () => getGeminiMajorVersion,
29
30
  isGemini1Model: () => isGemini1Model,
30
31
  isGemini2OrAbove: () => isGemini2OrAbove,
31
32
  isGemini35LiveTranslate: () => isGemini35LiveTranslate,
@@ -68,6 +69,19 @@ function parseVersion(versionString) {
68
69
  };
69
70
  }
70
71
  __name(parseVersion, "parseVersion");
72
+ function getGeminiMajorVersion(modelString) {
73
+ if (!modelString) {
74
+ return void 0;
75
+ }
76
+ const modelName = extractModelName(modelString);
77
+ if (!modelName.startsWith("gemini-")) {
78
+ return void 0;
79
+ }
80
+ const versionString = modelName.slice("gemini-".length).split("-", 1)[0];
81
+ const parsedVersion = parseVersion(versionString);
82
+ return parsedVersion.valid ? parsedVersion.major : void 0;
83
+ }
84
+ __name(getGeminiMajorVersion, "getGeminiMajorVersion");
71
85
  function isGemini1Model(modelString) {
72
86
  const modelName = extractModelName(modelString);
73
87
  return modelName.startsWith("gemini-1");
@@ -112,6 +126,7 @@ __name(isGeminiModelIdCheckDisabled, "isGeminiModelIdCheckDisabled");
112
126
  // Annotate the CommonJS export names for ESM import in node:
113
127
  0 && (module.exports = {
114
128
  extractModelName,
129
+ getGeminiMajorVersion,
115
130
  isGemini1Model,
116
131
  isGemini2OrAbove,
117
132
  isGemini35LiveTranslate,
@@ -28,6 +28,7 @@ __export(output_schema_utils_exports, {
28
28
  canUseOutputSchemaWithTools: () => canUseOutputSchemaWithTools
29
29
  });
30
30
  module.exports = __toCommonJS(output_schema_utils_exports);
31
+ var import_google_llm = require("../models/google_llm.js");
31
32
  var import_model_name = require("./model_name.js");
32
33
  var import_variant_utils = require("./variant_utils.js");
33
34
  /**
@@ -35,8 +36,10 @@ var import_variant_utils = require("./variant_utils.js");
35
36
  * Copyright 2026 Google LLC
36
37
  * SPDX-License-Identifier: Apache-2.0
37
38
  */
38
- function canUseOutputSchemaWithTools(modelString) {
39
- return (0, import_variant_utils.getGoogleLlmVariant)() === import_variant_utils.GoogleLLMVariant.VERTEX_AI && (0, import_model_name.isGemini2OrAbove)(modelString);
39
+ function canUseOutputSchemaWithTools(model) {
40
+ const modelString = typeof model === "string" ? model : model.model;
41
+ const variant = (0, import_google_llm.isGemini)(model) ? model.apiBackend : (0, import_variant_utils.getGoogleLlmVariant)();
42
+ return variant === import_variant_utils.GoogleLLMVariant.VERTEX_AI && (0, import_model_name.isGemini2OrAbove)(modelString);
40
43
  }
41
44
  __name(canUseOutputSchemaWithTools, "canUseOutputSchemaWithTools");
42
45
  // Annotate the CommonJS export names for ESM import in node:
@@ -35,6 +35,7 @@ module.exports = __toCommonJS(simple_zod_to_json_exports);
35
35
  var import_genai = require("@google/genai");
36
36
  var import_zod_to_json_schema = require("zod-to-json-schema");
37
37
  var import_v4 = require("zod/v4");
38
+ var import_gemini_schema_util = require("./gemini_schema_util.js");
38
39
  /**
39
40
  * @license
40
41
  * Copyright 2025 Google LLC
@@ -86,21 +87,10 @@ function zodObjectToSchema(schema) {
86
87
  if (jsonSchema.readOnly !== void 0) {
87
88
  delete jsonSchema.readOnly;
88
89
  }
89
- if (jsonSchema.maxItems !== void 0) {
90
- jsonSchema.maxItems = jsonSchema.maxItems.toString();
91
- }
92
- if (jsonSchema.format === "email" || jsonSchema.format === "uuid") {
93
- delete jsonSchema.pattern;
94
- }
95
- if (jsonSchema.minItems !== void 0) {
96
- jsonSchema.minItems = jsonSchema.minItems.toString();
97
- }
98
- if (jsonSchema.minLength !== void 0) {
99
- jsonSchema.minLength = jsonSchema.minLength.toString();
100
- }
101
- if (jsonSchema.maxLength !== void 0) {
102
- jsonSchema.maxLength = jsonSchema.maxLength.toString();
103
- }
90
+ (0, import_gemini_schema_util.copySchemaConstraints)(
91
+ jsonSchema,
92
+ jsonSchema
93
+ );
104
94
  if (((_a = jsonSchema.enum) == null ? void 0 : _a.length) === 1 && jsonSchema.enum[0] === null) {
105
95
  jsonSchema.type = import_genai.Type.NULL;
106
96
  delete jsonSchema.enum;
@@ -121,32 +111,24 @@ function zodObjectToSchema(schema) {
121
111
  $refStrategy: "none",
122
112
  emailStrategy: "format:email",
123
113
  postProcess: /* @__PURE__ */ __name((jsonSchema) => {
124
- var _a, _b, _c, _d, _e, _f, _g;
114
+ var _a, _b, _c;
125
115
  if (!jsonSchema) {
126
116
  return;
127
117
  }
128
118
  if (jsonSchema.additionalProperties !== void 0) {
129
119
  delete jsonSchema.additionalProperties;
130
120
  }
131
- if (jsonSchema.maxItems !== void 0) {
132
- jsonSchema.maxItems = (_a = jsonSchema.maxItems) == null ? void 0 : _a.toString();
133
- }
134
- if (jsonSchema.minItems !== void 0) {
135
- jsonSchema.minItems = (_b = jsonSchema.minItems) == null ? void 0 : _b.toString();
136
- }
137
- if (jsonSchema.minLength !== void 0) {
138
- jsonSchema.minLength = (_c = jsonSchema.minLength) == null ? void 0 : _c.toString();
139
- }
140
- if (jsonSchema.maxLength !== void 0) {
141
- jsonSchema.maxLength = (_d = jsonSchema.maxLength) == null ? void 0 : _d.toString();
142
- }
143
- if (((_e = jsonSchema.enum) == null ? void 0 : _e.length) === 1 && jsonSchema.enum[0] === "null") {
121
+ (0, import_gemini_schema_util.copySchemaConstraints)(
122
+ jsonSchema,
123
+ jsonSchema
124
+ );
125
+ if (((_a = jsonSchema.enum) == null ? void 0 : _a.length) === 1 && jsonSchema.enum[0] === "null") {
144
126
  jsonSchema.type = import_genai.Type.NULL;
145
127
  delete jsonSchema.enum;
146
128
  }
147
129
  if (jsonSchema.type === "integer" && jsonSchema.format !== "int64") {
148
- (_f = jsonSchema.minimum) != null ? _f : jsonSchema.minimum = Number.MIN_SAFE_INTEGER;
149
- (_g = jsonSchema.maximum) != null ? _g : jsonSchema.maximum = Number.MAX_SAFE_INTEGER;
130
+ (_b = jsonSchema.minimum) != null ? _b : jsonSchema.minimum = Number.MIN_SAFE_INTEGER;
131
+ (_c = jsonSchema.maximum) != null ? _c : jsonSchema.maximum = Number.MAX_SAFE_INTEGER;
150
132
  }
151
133
  if (jsonSchema.type !== void 0) {
152
134
  jsonSchema.type = jsonSchema.type.toUpperCase();
@@ -5,9 +5,11 @@
5
5
  */
6
6
 
7
7
  "use strict";
8
+ var __create = Object.create;
8
9
  var __defProp = Object.defineProperty;
9
10
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
10
11
  var __getOwnPropNames = Object.getOwnPropertyNames;
12
+ var __getProtoOf = Object.getPrototypeOf;
11
13
  var __hasOwnProp = Object.prototype.hasOwnProperty;
12
14
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
13
15
  var __export = (target, all) => {
@@ -22,10 +24,19 @@ var __copyProps = (to, from, except, desc) => {
22
24
  }
23
25
  return to;
24
26
  };
27
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
28
+ // If the importer is in node compatibility mode or this is not an ESM
29
+ // file that has been converted to a CommonJS file using a Babel-
30
+ // compatible transform (i.e. "__esModule" has not been set), then set
31
+ // "default" to the CommonJS "module.exports" for node compatibility.
32
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
33
+ mod
34
+ ));
25
35
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
26
36
  var ssrf_guard_exports = {};
27
37
  __export(ssrf_guard_exports, {
28
38
  isHttpUrl: () => isHttpUrl,
39
+ isIpAddress: () => isIpAddress,
29
40
  isLinkLocalAddress: () => isLinkLocalAddress,
30
41
  isLocalhostHostname: () => isLocalhostHostname,
31
42
  isNonGlobalAddress: () => isNonGlobalAddress,
@@ -33,13 +44,13 @@ __export(ssrf_guard_exports, {
33
44
  resolveHostAddresses: () => resolveHostAddresses
34
45
  });
35
46
  module.exports = __toCommonJS(ssrf_guard_exports);
36
- var import_promises = require("node:dns/promises");
37
- var import_node_net = require("node:net");
38
47
  /**
39
48
  * @license
40
49
  * Copyright 2026 Google LLC
41
50
  * SPDX-License-Identifier: Apache-2.0
42
51
  */
52
+ const DNS_MODULE = "node:dns/promises";
53
+ const IPV6_CHARACTERS = /^[0-9a-f:.]+$/i;
43
54
  const HTTP_SCHEMES = /* @__PURE__ */ new Set(["http:", "https:"]);
44
55
  const NON_GLOBAL_IPV4_CIDRS = [
45
56
  "0.0.0.0/8",
@@ -118,11 +129,16 @@ function isLinkLocalAddress(address) {
118
129
  return classifyAddress(address, isLinkLocalIpv4, isLinkLocalIpv6);
119
130
  }
120
131
  __name(isLinkLocalAddress, "isLinkLocalAddress");
132
+ function isIpAddress(address) {
133
+ return parseIpv4(address) !== null || isIpv6Literal(address);
134
+ }
135
+ __name(isIpAddress, "isIpAddress");
121
136
  async function resolveHostAddresses(hostname) {
122
- if ((0, import_node_net.isIP)(hostname) !== 0) {
137
+ if (isIpAddress(hostname)) {
123
138
  return [hostname];
124
139
  }
125
- const records = await (0, import_promises.lookup)(hostname, { all: true });
140
+ const { lookup } = await Promise.resolve().then(() => __toESM(require(DNS_MODULE)));
141
+ const records = await lookup(hostname, { all: true });
126
142
  const addresses = [...new Set(records.map((record) => record.address))];
127
143
  if (addresses.length === 0) {
128
144
  throw new Error(`Unable to resolve host: ${hostname}`);
@@ -154,8 +170,20 @@ function parseIpv4(address) {
154
170
  return octets;
155
171
  }
156
172
  __name(parseIpv4, "parseIpv4");
173
+ function isIpv6Literal(address) {
174
+ if (!address.includes(":") || !IPV6_CHARACTERS.test(address)) {
175
+ return false;
176
+ }
177
+ try {
178
+ new URL(`http://[${address}]/`);
179
+ return true;
180
+ } catch {
181
+ return false;
182
+ }
183
+ }
184
+ __name(isIpv6Literal, "isIpv6Literal");
157
185
  function parseIpv6(address) {
158
- if ((0, import_node_net.isIP)(address) !== 6) {
186
+ if (!isIpv6Literal(address)) {
159
187
  return null;
160
188
  }
161
189
  const [head, tail] = address.split("::");
@@ -182,14 +210,6 @@ function ipv4ToInt(octets) {
182
210
  return (octets[0] << 24 | octets[1] << 16 | octets[2] << 8 | octets[3]) >>> 0;
183
211
  }
184
212
  __name(ipv4ToInt, "ipv4ToInt");
185
- function hextetsToBigInt(hextets) {
186
- let value = 0n;
187
- for (const hextet of hextets) {
188
- value = value << 16n | BigInt(hextet);
189
- }
190
- return value;
191
- }
192
- __name(hextetsToBigInt, "hextetsToBigInt");
193
213
  function parseIpv4Cidr(cidr) {
194
214
  const [address, prefix] = cidr.split("/");
195
215
  const mask = 4294967295 << 32 - Number(prefix) >>> 0;
@@ -198,7 +218,7 @@ function parseIpv4Cidr(cidr) {
198
218
  __name(parseIpv4Cidr, "parseIpv4Cidr");
199
219
  function parseIpv6Cidr(cidr) {
200
220
  const [address, prefix] = cidr.split("/");
201
- return { base: hextetsToBigInt(parseIpv6(address)), prefix: Number(prefix) };
221
+ return { base: parseIpv6(address), prefix: Number(prefix) };
202
222
  }
203
223
  __name(parseIpv6Cidr, "parseIpv6Cidr");
204
224
  function matchesIpv4Cidr(octets, { base, mask }) {
@@ -206,8 +226,17 @@ function matchesIpv4Cidr(octets, { base, mask }) {
206
226
  }
207
227
  __name(matchesIpv4Cidr, "matchesIpv4Cidr");
208
228
  function matchesIpv6Cidr(hextets, { base, prefix }) {
209
- const shift = BigInt(128 - prefix);
210
- return hextetsToBigInt(hextets) >> shift === base >> shift;
229
+ for (let i = 0; i < base.length; i++) {
230
+ const bits = Math.min(16, prefix - i * 16);
231
+ if (bits <= 0) {
232
+ return true;
233
+ }
234
+ const mask = 65535 << 16 - bits & 65535;
235
+ if ((hextets[i] & mask) !== (base[i] & mask)) {
236
+ return false;
237
+ }
238
+ }
239
+ return true;
211
240
  }
212
241
  __name(matchesIpv6Cidr, "matchesIpv6Cidr");
213
242
  function embeddedIpv4(hextets) {
@@ -254,6 +283,7 @@ __name(isLinkLocalIpv6, "isLinkLocalIpv6");
254
283
  // Annotate the CommonJS export names for ESM import in node:
255
284
  0 && (module.exports = {
256
285
  isHttpUrl,
286
+ isIpAddress,
257
287
  isLinkLocalAddress,
258
288
  isLocalhostHostname,
259
289
  isNonGlobalAddress,
@@ -42,7 +42,7 @@ const _Task = class _Task {
42
42
  this.isDone = true;
43
43
  }, "markDone");
44
44
  this.promise = executable(this.abortController.signal);
45
- this.promise.then(markDone).catch(markDone);
45
+ this.promise.then(markDone, markDone);
46
46
  }
47
47
  /**
48
48
  * Cancels the task execution.
@@ -32,7 +32,7 @@ module.exports = __toCommonJS(version_exports);
32
32
  * Copyright 2025 Google LLC
33
33
  * SPDX-License-Identifier: Apache-2.0
34
34
  */
35
- const version = "2.3.0";
35
+ const version = "2.5.0";
36
36
  // Annotate the CommonJS export names for ESM import in node:
37
37
  0 && (module.exports = {
38
38
  version
@@ -55,6 +55,7 @@ __export(workflow_exports, {
55
55
  isNodeSchemaValidationError: () => import_errors.isNodeSchemaValidationError,
56
56
  isNodeState: () => import_node_state.isNodeState,
57
57
  isNodeTimeoutError: () => import_errors.isNodeTimeoutError,
58
+ isParallelWorker: () => import_parallel_worker.isParallelWorker,
58
59
  isRequestInput: () => import_request_input.isRequestInput,
59
60
  isRunnableRoot: () => import_run_node_as_invocation.isRunnableRoot,
60
61
  isWorkflow: () => import_workflow.isWorkflow,
@@ -121,6 +122,7 @@ var import_node_error_event = require("./node_error_event.js");
121
122
  isNodeSchemaValidationError,
122
123
  isNodeState,
123
124
  isNodeTimeoutError,
125
+ isParallelWorker,
124
126
  isRequestInput,
125
127
  isRunnableRoot,
126
128
  isWorkflow,