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