@google/adk 1.6.0 → 2.0.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 (781) hide show
  1. package/dist/cjs/a2a/a2a_event.js +18 -0
  2. package/dist/cjs/a2a/a2a_remote_agent.js +5 -2
  3. package/dist/cjs/a2a/a2a_remote_agent_run_processor.js +7 -3
  4. package/dist/cjs/a2a/a2a_remote_agent_utils.js +9 -2
  5. package/dist/cjs/a2a/agent_card.js +33 -3
  6. package/dist/cjs/a2a/agent_executor.js +25 -16
  7. package/dist/cjs/a2a/agent_to_a2a.js +22 -10
  8. package/dist/cjs/a2a/auth.js +3 -0
  9. package/dist/cjs/a2a/event_converter_utils.js +10 -0
  10. package/dist/cjs/a2a/event_processor_utils.js +71 -35
  11. package/dist/cjs/a2a/executor_context.js +2 -0
  12. package/dist/cjs/a2a/index.js +53 -0
  13. package/dist/cjs/a2a/metadata_converter_utils.js +5 -0
  14. package/dist/cjs/a2a/part_converter_utils.js +12 -0
  15. package/dist/cjs/agents/active_streaming_tool.js +5 -2
  16. package/dist/cjs/agents/base_agent.js +46 -9
  17. package/dist/cjs/agents/context.js +5 -2
  18. package/dist/cjs/agents/framework_function_calls.js +64 -0
  19. package/dist/cjs/agents/functions.js +38 -16
  20. package/dist/cjs/agents/instructions.js +51 -12
  21. package/dist/cjs/agents/invocation_context.js +42 -8
  22. package/dist/cjs/agents/live_request_queue.js +29 -5
  23. package/dist/cjs/agents/llm_agent.js +535 -45
  24. package/dist/cjs/agents/loop_agent.js +19 -2
  25. package/dist/cjs/agents/parallel_agent.js +21 -2
  26. package/dist/cjs/agents/processors/agent_transfer_llm_request_processor.js +7 -4
  27. package/dist/cjs/agents/processors/base_llm_processor.js +9 -4
  28. package/dist/cjs/agents/processors/basic_llm_request_processor.js +6 -3
  29. package/dist/cjs/agents/processors/code_execution_request_processor.js +18 -5
  30. package/dist/cjs/agents/processors/content_processor_utils.js +85 -15
  31. package/dist/cjs/agents/processors/content_request_processor.js +9 -4
  32. package/dist/cjs/agents/processors/context_compactor_request_processor.js +5 -2
  33. package/dist/cjs/agents/processors/identity_llm_request_processor.js +12 -4
  34. package/dist/cjs/agents/processors/instructions_llm_request_processor.js +5 -2
  35. package/dist/cjs/agents/processors/interactions_request_processor.js +5 -2
  36. package/dist/cjs/agents/processors/request_confirmation_llm_request_processor.js +313 -92
  37. package/dist/cjs/agents/processors/request_input_llm_request_processor.js +218 -0
  38. package/dist/cjs/agents/processors/tool_filter_request_processor.js +5 -2
  39. package/dist/cjs/agents/readonly_context.js +7 -3
  40. package/dist/cjs/agents/routed_agent.js +6 -13
  41. package/dist/cjs/agents/run_config.js +12 -0
  42. package/dist/cjs/agents/sequential_agent.js +20 -3
  43. package/dist/cjs/agents/user_input_request.js +145 -0
  44. package/dist/cjs/apps/app.js +11 -11
  45. package/dist/cjs/apps/resumability_config.js +2 -0
  46. package/dist/cjs/artifacts/file_artifact_service.js +21 -2
  47. package/dist/cjs/artifacts/gcs_artifact_service.js +46 -11
  48. package/dist/cjs/artifacts/in_memory_artifact_service.js +9 -2
  49. package/dist/cjs/artifacts/registry.js +6 -1
  50. package/dist/cjs/artifacts/scoped_artifact_service.js +5 -2
  51. package/dist/cjs/auth/auth_handler.js +5 -2
  52. package/dist/cjs/auth/auth_preprocessor.js +48 -40
  53. package/dist/cjs/auth/auth_provider_registry.js +5 -2
  54. package/dist/cjs/auth/auth_schemes.js +2 -0
  55. package/dist/cjs/auth/credential_response_binding.js +101 -0
  56. package/dist/cjs/auth/credential_service/in_memory_credential_service.js +5 -2
  57. package/dist/cjs/auth/credential_service/session_state_credential_service.js +5 -2
  58. package/dist/cjs/auth/exchanger/base_credential_exchanger.js +5 -2
  59. package/dist/cjs/auth/exchanger/credential_exchanger_registry.js +5 -2
  60. package/dist/cjs/auth/oauth2/oauth2_credential_exchanger.js +8 -2
  61. package/dist/cjs/auth/oauth2/oauth2_credential_refresher.js +5 -2
  62. package/dist/cjs/auth/oauth2/oauth2_discovery.js +7 -2
  63. package/dist/cjs/auth/oauth2/oauth2_utils.js +6 -0
  64. package/dist/cjs/auth/refresher/base_credential_refresher.js +5 -2
  65. package/dist/cjs/auth/refresher/credential_refresher_registry.js +5 -2
  66. package/dist/cjs/code_executors/agent_engine_sandbox_code_executor.js +3 -0
  67. package/dist/cjs/code_executors/base_code_executor.js +6 -2
  68. package/dist/cjs/code_executors/built_in_code_executor.js +6 -2
  69. package/dist/cjs/code_executors/code_execution_utils.js +6 -0
  70. package/dist/cjs/code_executors/code_executor_context.js +5 -2
  71. package/dist/cjs/code_executors/unsafe_local_code_executor.js +8 -2
  72. package/dist/cjs/common.js +106 -1
  73. package/dist/cjs/context/agent_controlled_context_compactor.js +5 -2
  74. package/dist/cjs/context/anchored_context_compactor.js +5 -2
  75. package/dist/cjs/context/compaction_utils.js +3 -0
  76. package/dist/cjs/context/summarizers/llm_summarizer.js +5 -2
  77. package/dist/cjs/context/token_based_context_compactor.js +9 -3
  78. package/dist/cjs/context/trajectory_thought_pruning_compactor.js +5 -2
  79. package/dist/cjs/context/truncating_context_compactor.js +5 -2
  80. package/dist/cjs/environment/base_environment.js +97 -0
  81. package/dist/cjs/environment/local_environment.js +186 -0
  82. package/dist/cjs/events/compacted_event.js +4 -0
  83. package/dist/cjs/events/event.js +38 -3
  84. package/dist/cjs/events/event_actions.js +5 -0
  85. package/dist/cjs/events/structured_events.js +2 -0
  86. package/dist/cjs/examples/base_example_provider.js +6 -2
  87. package/dist/cjs/examples/example_util.js +3 -0
  88. package/dist/cjs/features/feature_registry.js +7 -0
  89. package/dist/cjs/index.js +7 -25
  90. package/dist/cjs/integrations/agent_registry/agent_registry.js +7 -4
  91. package/dist/cjs/integrations/agent_registry/agent_registry_mcp_toolset.js +7 -4
  92. package/dist/cjs/integrations/agent_registry/helpers.js +3 -0
  93. package/dist/cjs/memory/in_memory_memory_service.js +8 -2
  94. package/dist/cjs/memory/vertex_ai_memory_bank_service.js +17 -2
  95. package/dist/cjs/models/apigee_llm.js +9 -3
  96. package/dist/cjs/models/base_llm.js +7 -3
  97. package/dist/cjs/models/gemini_llm_connection.js +5 -2
  98. package/dist/cjs/models/google_llm.js +24 -12
  99. package/dist/cjs/models/interactions_utils.js +16 -0
  100. package/dist/cjs/models/llm_request.js +4 -0
  101. package/dist/cjs/models/llm_response.js +2 -0
  102. package/dist/cjs/models/registry.js +6 -2
  103. package/dist/cjs/models/routed_llm.js +4 -13
  104. package/dist/cjs/plugins/base_plugin.js +39 -5
  105. package/dist/cjs/plugins/global_instruction_plugin.js +5 -2
  106. package/dist/cjs/plugins/logging_plugin.js +13 -8
  107. package/dist/cjs/plugins/plugin_manager.js +37 -2
  108. package/dist/cjs/plugins/security_plugin.js +15 -8
  109. package/dist/cjs/runner/in_memory_runner.js +5 -2
  110. package/dist/cjs/runner/runner.js +208 -18
  111. package/dist/cjs/sessions/base_session_service.js +13 -2
  112. package/dist/cjs/sessions/database_session_service.js +6 -2
  113. package/dist/cjs/sessions/db/operations.js +34 -6
  114. package/dist/cjs/sessions/db/schema.js +16 -8
  115. package/dist/cjs/sessions/in_memory_session_service.js +22 -14
  116. package/dist/cjs/sessions/registry.js +4 -1
  117. package/dist/cjs/sessions/session.js +2 -0
  118. package/dist/cjs/sessions/state.js +80 -8
  119. package/dist/cjs/sessions/state_write_order.js +105 -0
  120. package/dist/cjs/sessions/vertex_ai_session_service.js +110 -15
  121. package/dist/cjs/skills/gcp_skill_registry.js +2 -0
  122. package/dist/cjs/skills/loader.js +22 -10
  123. package/dist/cjs/skills/prompt.js +3 -0
  124. package/dist/cjs/telemetry/google_cloud.js +42 -9
  125. package/dist/cjs/telemetry/setup.js +5 -0
  126. package/dist/cjs/telemetry/tracing.js +60 -4
  127. package/dist/cjs/tools/agent_tool.js +6 -2
  128. package/dist/cjs/tools/base_tool.js +24 -2
  129. package/dist/cjs/tools/base_toolset.js +6 -2
  130. package/dist/cjs/tools/consolidate_context_tool.js +5 -2
  131. package/dist/cjs/tools/enterprise_web_search_tool.js +6 -2
  132. package/dist/cjs/tools/example_tool.js +5 -2
  133. package/dist/cjs/tools/exit_loop_tool.js +5 -2
  134. package/dist/cjs/tools/finish_task_tool.js +119 -0
  135. package/dist/cjs/tools/forwarding_artifact_service.js +5 -2
  136. package/dist/cjs/tools/function_tool.js +73 -8
  137. package/dist/cjs/tools/get_user_choice_tool.js +3 -2
  138. package/dist/cjs/tools/google_maps_grounding_tool.js +6 -2
  139. package/dist/cjs/tools/google_search_tool.js +5 -2
  140. package/dist/cjs/tools/load_artifacts_tool.js +8 -2
  141. package/dist/cjs/tools/load_memory_tool.js +5 -2
  142. package/dist/cjs/tools/load_web_page.js +21 -1
  143. package/dist/cjs/tools/long_running_tool.js +5 -2
  144. package/dist/cjs/tools/mcp/index.js +39 -0
  145. package/dist/cjs/tools/mcp/load_mcp_resource_tool.js +5 -2
  146. package/dist/cjs/tools/mcp/mcp_session_manager.js +36 -8
  147. package/dist/cjs/tools/mcp/mcp_tool.js +5 -2
  148. package/dist/cjs/tools/mcp/mcp_toolset.js +5 -2
  149. package/dist/cjs/tools/openapi_tool/auth/auth_helpers.js +4 -0
  150. package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +2 -0
  151. package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +2 -0
  152. package/dist/cjs/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +30 -9
  153. package/dist/cjs/tools/openapi_tool/openapi_spec_parser/operation_parser.js +2 -0
  154. package/dist/cjs/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +6 -2
  155. package/dist/cjs/tools/openapi_tool/openapi_toolset.js +2 -0
  156. package/dist/cjs/tools/openapi_tool/rest_api_tool.js +23 -5
  157. package/dist/cjs/tools/preload_memory_tool.js +5 -2
  158. package/dist/cjs/tools/request_input_tool.js +6 -4
  159. package/dist/cjs/tools/skill/list_skills_tool.js +2 -0
  160. package/dist/cjs/tools/skill/load_skill_resource_tool.js +2 -0
  161. package/dist/cjs/tools/skill/load_skill_tool.js +4 -1
  162. package/dist/cjs/tools/skill/run_skill_inline_script_tool.js +8 -2
  163. package/dist/cjs/tools/skill/run_skill_script_tool.js +10 -2
  164. package/dist/cjs/tools/skill/search_skills_tool.js +2 -0
  165. package/dist/cjs/tools/skill/skill_toolset.js +35 -0
  166. package/dist/cjs/tools/tool_confirmation.js +26 -3
  167. package/dist/cjs/tools/url_context_tool.js +5 -2
  168. package/dist/cjs/tools/vertex_ai_search_tool.js +5 -2
  169. package/dist/cjs/tools/vertex_rag_retrieval_tool.js +5 -2
  170. package/dist/cjs/utils/async_hooks_shim.js +5 -2
  171. package/dist/cjs/utils/async_queue.js +45 -18
  172. package/dist/cjs/utils/branch_trie.js +2 -0
  173. package/dist/cjs/utils/case_utils.js +2 -0
  174. package/dist/cjs/utils/client_labels.js +5 -0
  175. package/dist/cjs/utils/crypto_shim.js +2 -0
  176. package/dist/cjs/utils/deprecated.js +68 -0
  177. package/dist/cjs/utils/env_aware_utils.js +41 -0
  178. package/dist/cjs/utils/error_utils.js +8 -0
  179. package/dist/cjs/utils/experimental.js +9 -2
  180. package/dist/cjs/utils/failover_utils.js +3 -0
  181. package/dist/cjs/utils/file_extension_utils.js +3 -0
  182. package/dist/cjs/utils/file_utils.js +7 -2
  183. package/dist/cjs/utils/gemini_schema_util.js +6 -2
  184. package/dist/cjs/utils/genai_schema_to_json.js +107 -0
  185. package/dist/cjs/utils/live_connection_utils.js +5 -2
  186. package/dist/cjs/utils/logger.js +13 -4
  187. package/dist/cjs/utils/model_name.js +8 -0
  188. package/dist/cjs/utils/object_notation_utils.js +7 -3
  189. package/dist/cjs/utils/optional_peer.js +68 -0
  190. package/dist/cjs/utils/output_schema_utils.js +2 -0
  191. package/dist/cjs/utils/partial_copy.js +2 -0
  192. package/dist/cjs/utils/redact_uri.js +66 -0
  193. package/dist/cjs/utils/schema.js +178 -0
  194. package/dist/cjs/utils/simple_zod_to_json.js +17 -4
  195. package/dist/cjs/utils/streaming_utils.js +14 -6
  196. package/dist/cjs/utils/task.js +7 -4
  197. package/dist/cjs/utils/variant_utils.js +3 -1
  198. package/dist/cjs/utils/vertex_ai_utils.js +3 -1
  199. package/dist/cjs/version.js +1 -1
  200. package/dist/cjs/workflow/base_node.js +211 -0
  201. package/dist/cjs/workflow/branch_path.js +108 -0
  202. package/dist/cjs/workflow/dynamic_node_scheduler.js +220 -0
  203. package/dist/cjs/workflow/errors.js +178 -0
  204. package/dist/cjs/workflow/graph.js +158 -0
  205. package/dist/cjs/workflow/index.js +131 -0
  206. package/dist/cjs/workflow/node.js +65 -0
  207. package/dist/cjs/workflow/node_builders.js +68 -0
  208. package/dist/cjs/workflow/node_context.js +246 -0
  209. package/dist/cjs/workflow/node_error_event.js +86 -0
  210. package/dist/cjs/workflow/node_runner.js +459 -0
  211. package/dist/cjs/workflow/node_state.js +57 -0
  212. package/dist/cjs/workflow/node_status.js +48 -0
  213. package/dist/cjs/workflow/nodes/function_node.js +195 -0
  214. package/dist/cjs/workflow/nodes/join_node.js +56 -0
  215. package/dist/cjs/workflow/nodes/node_tool.js +156 -0
  216. package/dist/cjs/workflow/nodes/parallel_worker.js +129 -0
  217. package/dist/cjs/workflow/nodes/tool_node.js +117 -0
  218. package/dist/cjs/workflow/request_input.js +64 -0
  219. package/dist/cjs/workflow/retry_config.js +71 -0
  220. package/dist/cjs/workflow/run_llm_agent_as_node.js +192 -0
  221. package/dist/cjs/workflow/run_node_as_invocation.js +165 -0
  222. package/dist/cjs/workflow/schedule_dynamic_node.js +53 -0
  223. package/dist/cjs/workflow/trigger.js +27 -0
  224. package/dist/cjs/workflow/utils/graph_parser.js +212 -0
  225. package/dist/cjs/workflow/utils/graph_validation.js +216 -0
  226. package/dist/cjs/workflow/utils/hitl_utils.js +252 -0
  227. package/dist/cjs/workflow/utils/rehydration_utils.js +373 -0
  228. package/dist/cjs/workflow/utils/retry_utils.js +112 -0
  229. package/dist/cjs/workflow/utils/workflow_graph_utils.js +144 -0
  230. package/dist/cjs/workflow/workflow.js +509 -0
  231. package/dist/esm/a2a/a2a_event.js +19 -0
  232. package/dist/esm/a2a/a2a_remote_agent.js +6 -2
  233. package/dist/esm/a2a/a2a_remote_agent_run_processor.js +8 -3
  234. package/dist/esm/a2a/a2a_remote_agent_utils.js +10 -2
  235. package/dist/esm/a2a/agent_card.js +34 -3
  236. package/dist/esm/a2a/agent_executor.js +27 -17
  237. package/dist/esm/a2a/agent_to_a2a.js +44 -15
  238. package/dist/esm/a2a/auth.js +4 -0
  239. package/dist/esm/a2a/event_converter_utils.js +11 -0
  240. package/dist/esm/a2a/event_processor_utils.js +74 -34
  241. package/dist/esm/a2a/executor_context.js +3 -0
  242. package/dist/esm/a2a/index.js +20 -0
  243. package/dist/esm/a2a/metadata_converter_utils.js +6 -0
  244. package/dist/esm/a2a/part_converter_utils.js +13 -0
  245. package/dist/esm/agents/active_streaming_tool.js +6 -2
  246. package/dist/esm/agents/base_agent.js +47 -9
  247. package/dist/esm/agents/context.js +6 -2
  248. package/dist/esm/agents/framework_function_calls.js +34 -0
  249. package/dist/esm/agents/functions.js +42 -13
  250. package/dist/esm/agents/instructions.js +52 -12
  251. package/dist/esm/agents/invocation_context.js +41 -7
  252. package/dist/esm/agents/live_request_queue.js +30 -5
  253. package/dist/esm/agents/llm_agent.js +536 -45
  254. package/dist/esm/agents/loop_agent.js +21 -2
  255. package/dist/esm/agents/parallel_agent.js +23 -2
  256. package/dist/esm/agents/processors/agent_transfer_llm_request_processor.js +8 -4
  257. package/dist/esm/agents/processors/base_llm_processor.js +10 -4
  258. package/dist/esm/agents/processors/basic_llm_request_processor.js +7 -3
  259. package/dist/esm/agents/processors/code_execution_request_processor.js +19 -5
  260. package/dist/esm/agents/processors/content_processor_utils.js +88 -16
  261. package/dist/esm/agents/processors/content_request_processor.js +10 -4
  262. package/dist/esm/agents/processors/context_compactor_request_processor.js +6 -2
  263. package/dist/esm/agents/processors/identity_llm_request_processor.js +13 -4
  264. package/dist/esm/agents/processors/instructions_llm_request_processor.js +6 -2
  265. package/dist/esm/agents/processors/interactions_request_processor.js +6 -2
  266. package/dist/esm/agents/processors/request_confirmation_llm_request_processor.js +318 -93
  267. package/dist/esm/agents/processors/request_input_llm_request_processor.js +197 -0
  268. package/dist/esm/agents/processors/tool_filter_request_processor.js +6 -2
  269. package/dist/esm/agents/readonly_context.js +8 -3
  270. package/dist/esm/agents/routed_agent.js +6 -14
  271. package/dist/esm/agents/run_config.js +13 -0
  272. package/dist/esm/agents/sequential_agent.js +22 -3
  273. package/dist/esm/agents/user_input_request.js +120 -0
  274. package/dist/esm/apps/app.js +14 -11
  275. package/dist/esm/apps/resumability_config.js +3 -0
  276. package/dist/esm/artifacts/file_artifact_service.js +22 -2
  277. package/dist/esm/artifacts/gcs_artifact_service.js +58 -11
  278. package/dist/esm/artifacts/in_memory_artifact_service.js +10 -2
  279. package/dist/esm/artifacts/registry.js +7 -1
  280. package/dist/esm/artifacts/scoped_artifact_service.js +6 -2
  281. package/dist/esm/auth/auth_handler.js +6 -2
  282. package/dist/esm/auth/auth_preprocessor.js +50 -41
  283. package/dist/esm/auth/auth_provider_registry.js +6 -2
  284. package/dist/esm/auth/auth_schemes.js +3 -0
  285. package/dist/esm/auth/credential_response_binding.js +74 -0
  286. package/dist/esm/auth/credential_service/in_memory_credential_service.js +6 -2
  287. package/dist/esm/auth/credential_service/session_state_credential_service.js +6 -2
  288. package/dist/esm/auth/exchanger/base_credential_exchanger.js +6 -2
  289. package/dist/esm/auth/exchanger/credential_exchanger_registry.js +6 -2
  290. package/dist/esm/auth/oauth2/oauth2_credential_exchanger.js +9 -2
  291. package/dist/esm/auth/oauth2/oauth2_credential_refresher.js +6 -2
  292. package/dist/esm/auth/oauth2/oauth2_discovery.js +8 -2
  293. package/dist/esm/auth/oauth2/oauth2_utils.js +7 -0
  294. package/dist/esm/auth/refresher/base_credential_refresher.js +6 -2
  295. package/dist/esm/auth/refresher/credential_refresher_registry.js +6 -2
  296. package/dist/esm/code_executors/agent_engine_sandbox_code_executor.js +3 -0
  297. package/dist/esm/code_executors/base_code_executor.js +7 -2
  298. package/dist/esm/code_executors/built_in_code_executor.js +7 -2
  299. package/dist/esm/code_executors/code_execution_utils.js +7 -0
  300. package/dist/esm/code_executors/code_executor_context.js +6 -2
  301. package/dist/esm/code_executors/unsafe_local_code_executor.js +9 -2
  302. package/dist/esm/common.js +109 -4
  303. package/dist/esm/context/agent_controlled_context_compactor.js +6 -2
  304. package/dist/esm/context/anchored_context_compactor.js +6 -2
  305. package/dist/esm/context/compaction_utils.js +4 -0
  306. package/dist/esm/context/summarizers/llm_summarizer.js +6 -2
  307. package/dist/esm/context/token_based_context_compactor.js +10 -3
  308. package/dist/esm/context/trajectory_thought_pruning_compactor.js +6 -2
  309. package/dist/esm/context/truncating_context_compactor.js +6 -2
  310. package/dist/esm/environment/base_environment.js +71 -0
  311. package/dist/esm/environment/local_environment.js +150 -0
  312. package/dist/esm/events/compacted_event.js +5 -0
  313. package/dist/esm/events/event.js +38 -3
  314. package/dist/esm/events/event_actions.js +6 -0
  315. package/dist/esm/events/structured_events.js +3 -0
  316. package/dist/esm/examples/base_example_provider.js +7 -2
  317. package/dist/esm/examples/example_util.js +4 -0
  318. package/dist/esm/features/feature_registry.js +8 -0
  319. package/dist/esm/index.js +4 -15
  320. package/dist/esm/integrations/agent_registry/agent_registry.js +8 -4
  321. package/dist/esm/integrations/agent_registry/agent_registry_mcp_toolset.js +6 -2
  322. package/dist/esm/integrations/agent_registry/helpers.js +4 -0
  323. package/dist/esm/memory/in_memory_memory_service.js +9 -2
  324. package/dist/esm/memory/vertex_ai_memory_bank_service.js +18 -2
  325. package/dist/esm/models/apigee_llm.js +10 -3
  326. package/dist/esm/models/base_llm.js +8 -3
  327. package/dist/esm/models/gemini_llm_connection.js +6 -2
  328. package/dist/esm/models/google_llm.js +26 -13
  329. package/dist/esm/models/interactions_utils.js +17 -0
  330. package/dist/esm/models/llm_request.js +5 -0
  331. package/dist/esm/models/llm_response.js +3 -0
  332. package/dist/esm/models/registry.js +7 -2
  333. package/dist/esm/models/routed_llm.js +4 -14
  334. package/dist/esm/plugins/base_plugin.js +39 -5
  335. package/dist/esm/plugins/global_instruction_plugin.js +6 -2
  336. package/dist/esm/plugins/logging_plugin.js +14 -8
  337. package/dist/esm/plugins/plugin_manager.js +38 -2
  338. package/dist/esm/plugins/security_plugin.js +14 -6
  339. package/dist/esm/runner/in_memory_runner.js +6 -2
  340. package/dist/esm/runner/runner.js +215 -20
  341. package/dist/esm/sessions/base_session_service.js +14 -2
  342. package/dist/esm/sessions/database_session_service.js +7 -2
  343. package/dist/esm/sessions/db/operations.js +34 -6
  344. package/dist/esm/sessions/db/schema.js +16 -8
  345. package/dist/esm/sessions/in_memory_session_service.js +23 -14
  346. package/dist/esm/sessions/registry.js +5 -1
  347. package/dist/esm/sessions/session.js +3 -0
  348. package/dist/esm/sessions/state.js +78 -7
  349. package/dist/esm/sessions/state_write_order.js +74 -0
  350. package/dist/esm/sessions/vertex_ai_session_service.js +110 -15
  351. package/dist/esm/skills/gcp_skill_registry.js +2 -0
  352. package/dist/esm/skills/loader.js +23 -10
  353. package/dist/esm/skills/prompt.js +4 -0
  354. package/dist/esm/telemetry/google_cloud.js +54 -9
  355. package/dist/esm/telemetry/setup.js +6 -0
  356. package/dist/esm/telemetry/tracing.js +59 -4
  357. package/dist/esm/tools/agent_tool.js +7 -2
  358. package/dist/esm/tools/base_tool.js +25 -2
  359. package/dist/esm/tools/base_toolset.js +7 -2
  360. package/dist/esm/tools/consolidate_context_tool.js +6 -2
  361. package/dist/esm/tools/enterprise_web_search_tool.js +7 -2
  362. package/dist/esm/tools/example_tool.js +6 -2
  363. package/dist/esm/tools/exit_loop_tool.js +6 -2
  364. package/dist/esm/tools/finish_task_tool.js +92 -0
  365. package/dist/esm/tools/forwarding_artifact_service.js +6 -2
  366. package/dist/esm/tools/function_tool.js +74 -8
  367. package/dist/esm/tools/get_user_choice_tool.js +4 -2
  368. package/dist/esm/tools/google_maps_grounding_tool.js +7 -2
  369. package/dist/esm/tools/google_search_tool.js +6 -2
  370. package/dist/esm/tools/load_artifacts_tool.js +9 -2
  371. package/dist/esm/tools/load_memory_tool.js +6 -2
  372. package/dist/esm/tools/load_web_page.js +22 -1
  373. package/dist/esm/tools/long_running_tool.js +6 -2
  374. package/dist/esm/tools/mcp/index.js +11 -0
  375. package/dist/esm/tools/mcp/load_mcp_resource_tool.js +6 -2
  376. package/dist/esm/tools/mcp/mcp_session_manager.js +45 -9
  377. package/dist/esm/tools/mcp/mcp_tool.js +6 -2
  378. package/dist/esm/tools/mcp/mcp_toolset.js +6 -2
  379. package/dist/esm/tools/openapi_tool/auth/auth_helpers.js +5 -0
  380. package/dist/esm/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +2 -0
  381. package/dist/esm/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +2 -0
  382. package/dist/esm/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +30 -9
  383. package/dist/esm/tools/openapi_tool/openapi_spec_parser/operation_parser.js +2 -0
  384. package/dist/esm/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +6 -2
  385. package/dist/esm/tools/openapi_tool/openapi_toolset.js +2 -0
  386. package/dist/esm/tools/openapi_tool/rest_api_tool.js +23 -5
  387. package/dist/esm/tools/preload_memory_tool.js +6 -2
  388. package/dist/esm/tools/request_input_tool.js +7 -4
  389. package/dist/esm/tools/skill/list_skills_tool.js +2 -0
  390. package/dist/esm/tools/skill/load_skill_resource_tool.js +2 -0
  391. package/dist/esm/tools/skill/load_skill_tool.js +4 -1
  392. package/dist/esm/tools/skill/run_skill_inline_script_tool.js +8 -2
  393. package/dist/esm/tools/skill/run_skill_script_tool.js +10 -2
  394. package/dist/esm/tools/skill/search_skills_tool.js +2 -0
  395. package/dist/esm/tools/skill/skill_toolset.js +25 -0
  396. package/dist/esm/tools/tool_confirmation.js +24 -2
  397. package/dist/esm/tools/url_context_tool.js +6 -2
  398. package/dist/esm/tools/vertex_ai_search_tool.js +6 -2
  399. package/dist/esm/tools/vertex_rag_retrieval_tool.js +6 -2
  400. package/dist/esm/utils/async_hooks_shim.js +6 -2
  401. package/dist/esm/utils/async_queue.js +46 -18
  402. package/dist/esm/utils/branch_trie.js +3 -0
  403. package/dist/esm/utils/case_utils.js +3 -0
  404. package/dist/esm/utils/client_labels.js +6 -0
  405. package/dist/esm/utils/crypto_shim.js +3 -0
  406. package/dist/esm/utils/deprecated.js +40 -0
  407. package/dist/esm/utils/env_aware_utils.js +41 -0
  408. package/dist/esm/utils/error_utils.js +9 -0
  409. package/dist/esm/utils/experimental.js +10 -2
  410. package/dist/esm/utils/failover_utils.js +4 -0
  411. package/dist/esm/utils/file_extension_utils.js +4 -0
  412. package/dist/esm/utils/file_utils.js +8 -2
  413. package/dist/esm/utils/gemini_schema_util.js +7 -2
  414. package/dist/esm/utils/genai_schema_to_json.js +80 -0
  415. package/dist/esm/utils/live_connection_utils.js +6 -2
  416. package/dist/esm/utils/logger.js +14 -4
  417. package/dist/esm/utils/model_name.js +9 -0
  418. package/dist/esm/utils/object_notation_utils.js +8 -3
  419. package/dist/esm/utils/optional_peer.js +41 -0
  420. package/dist/esm/utils/output_schema_utils.js +3 -0
  421. package/dist/esm/utils/partial_copy.js +3 -0
  422. package/dist/esm/utils/redact_uri.js +39 -0
  423. package/dist/esm/utils/schema.js +152 -0
  424. package/dist/esm/utils/simple_zod_to_json.js +15 -4
  425. package/dist/esm/utils/streaming_utils.js +15 -6
  426. package/dist/esm/utils/task.js +8 -4
  427. package/dist/esm/utils/variant_utils.js +5 -2
  428. package/dist/esm/utils/vertex_ai_utils.js +5 -2
  429. package/dist/esm/version.js +1 -1
  430. package/dist/esm/workflow/base_node.js +182 -0
  431. package/dist/esm/workflow/branch_path.js +77 -0
  432. package/dist/esm/workflow/dynamic_node_scheduler.js +202 -0
  433. package/dist/esm/workflow/errors.js +140 -0
  434. package/dist/esm/workflow/graph.js +127 -0
  435. package/dist/esm/workflow/index.js +80 -0
  436. package/dist/esm/workflow/node.js +38 -0
  437. package/dist/esm/workflow/node_builders.js +40 -0
  438. package/dist/esm/workflow/node_context.js +219 -0
  439. package/dist/esm/workflow/node_error_event.js +57 -0
  440. package/dist/esm/workflow/node_runner.js +439 -0
  441. package/dist/esm/workflow/node_state.js +29 -0
  442. package/dist/esm/workflow/node_status.js +20 -0
  443. package/dist/esm/workflow/nodes/function_node.js +172 -0
  444. package/dist/esm/workflow/nodes/join_node.js +29 -0
  445. package/dist/esm/workflow/nodes/node_tool.js +131 -0
  446. package/dist/esm/workflow/nodes/parallel_worker.js +102 -0
  447. package/dist/esm/workflow/nodes/tool_node.js +90 -0
  448. package/dist/esm/workflow/request_input.js +36 -0
  449. package/dist/esm/workflow/retry_config.js +43 -0
  450. package/dist/esm/workflow/run_llm_agent_as_node.js +172 -0
  451. package/dist/esm/workflow/run_node_as_invocation.js +139 -0
  452. package/dist/esm/workflow/schedule_dynamic_node.js +26 -0
  453. package/dist/esm/workflow/trigger.js +7 -0
  454. package/dist/esm/workflow/utils/graph_parser.js +188 -0
  455. package/dist/esm/workflow/utils/graph_validation.js +189 -0
  456. package/dist/esm/workflow/utils/hitl_utils.js +222 -0
  457. package/dist/esm/workflow/utils/rehydration_utils.js +342 -0
  458. package/dist/esm/workflow/utils/retry_utils.js +82 -0
  459. package/dist/esm/workflow/utils/workflow_graph_utils.js +115 -0
  460. package/dist/esm/workflow/workflow.js +493 -0
  461. package/dist/types/a2a/agent_card.d.ts +3 -3
  462. package/dist/types/a2a/agent_to_a2a.d.ts +4 -4
  463. package/dist/types/a2a/event_processor_utils.d.ts +17 -2
  464. package/dist/types/a2a/index.d.ts +18 -0
  465. package/dist/types/agents/base_agent.d.ts +37 -9
  466. package/dist/types/agents/framework_function_calls.d.ts +26 -0
  467. package/dist/types/agents/functions.d.ts +1 -2
  468. package/dist/types/agents/invocation_context.d.ts +95 -3
  469. package/dist/types/agents/live_request_queue.d.ts +7 -1
  470. package/dist/types/agents/llm_agent.d.ts +77 -1
  471. package/dist/types/agents/loop_agent.d.ts +5 -0
  472. package/dist/types/agents/parallel_agent.d.ts +5 -0
  473. package/dist/types/agents/processors/content_processor_utils.d.ts +3 -2
  474. package/dist/types/agents/processors/identity_llm_request_processor.d.ts +4 -1
  475. package/dist/types/agents/processors/request_input_llm_request_processor.d.ts +21 -0
  476. package/dist/types/agents/run_config.d.ts +57 -2
  477. package/dist/types/agents/sequential_agent.d.ts +5 -0
  478. package/dist/types/agents/user_input_request.d.ts +71 -0
  479. package/dist/types/apps/app.d.ts +8 -3
  480. package/dist/types/artifacts/gcs_artifact_service.d.ts +9 -2
  481. package/dist/types/auth/credential_response_binding.d.ts +24 -0
  482. package/dist/types/common.d.ts +18 -8
  483. package/dist/types/environment/base_environment.d.ts +101 -0
  484. package/dist/types/environment/local_environment.d.ts +72 -0
  485. package/dist/types/events/event.d.ts +94 -1
  486. package/dist/types/events/event_actions.d.ts +10 -0
  487. package/dist/types/index.d.ts +5 -13
  488. package/dist/types/models/apigee_llm.d.ts +4 -4
  489. package/dist/types/models/google_llm.d.ts +2 -1
  490. package/dist/types/plugins/base_plugin.d.ts +35 -0
  491. package/dist/types/plugins/plugin_manager.d.ts +20 -0
  492. package/dist/types/plugins/security_plugin.d.ts +4 -2
  493. package/dist/types/runner/in_memory_runner.d.ts +2 -2
  494. package/dist/types/runner/runner.d.ts +59 -3
  495. package/dist/types/sessions/base_session_service.d.ts +2 -2
  496. package/dist/types/sessions/state.d.ts +34 -1
  497. package/dist/types/sessions/state_write_order.d.ts +39 -0
  498. package/dist/types/telemetry/tracing.d.ts +15 -0
  499. package/dist/types/tools/base_tool.d.ts +15 -0
  500. package/dist/types/tools/finish_task_tool.d.ts +47 -0
  501. package/dist/types/tools/function_tool.d.ts +46 -1
  502. package/dist/types/tools/mcp/index.d.ts +13 -0
  503. package/dist/types/tools/mcp/mcp_session_manager.d.ts +3 -3
  504. package/dist/types/tools/mcp/mcp_tool.d.ts +1 -1
  505. package/dist/types/tools/mcp/mcp_toolset.d.ts +1 -1
  506. package/dist/types/tools/request_input_tool.d.ts +6 -1
  507. package/dist/types/tools/skill/skill_toolset.d.ts +26 -0
  508. package/dist/types/tools/tool_confirmation.d.ts +47 -0
  509. package/dist/types/utils/async_queue.d.ts +34 -2
  510. package/dist/types/utils/deprecated.d.ts +21 -0
  511. package/dist/types/utils/env_aware_utils.d.ts +16 -0
  512. package/dist/types/utils/file_utils.d.ts +10 -2
  513. package/dist/types/utils/genai_schema_to_json.d.ts +25 -0
  514. package/dist/types/utils/optional_peer.d.ts +36 -0
  515. package/dist/types/utils/redact_uri.d.ts +28 -0
  516. package/dist/types/utils/schema.d.ts +73 -0
  517. package/dist/types/utils/simple_zod_to_json.d.ts +8 -0
  518. package/dist/types/utils/vertex_ai_utils.d.ts +4 -0
  519. package/dist/types/version.d.ts +1 -1
  520. package/dist/types/workflow/base_node.d.ts +142 -0
  521. package/dist/types/workflow/branch_path.d.ts +40 -0
  522. package/dist/types/workflow/dynamic_node_scheduler.d.ts +64 -0
  523. package/dist/types/workflow/errors.d.ts +132 -0
  524. package/dist/types/workflow/graph.d.ts +127 -0
  525. package/dist/types/workflow/index.d.ts +46 -0
  526. package/dist/types/workflow/node.d.ts +48 -0
  527. package/dist/types/workflow/node_builders.d.ts +25 -0
  528. package/dist/types/workflow/node_context.d.ts +208 -0
  529. package/dist/types/workflow/node_error_event.d.ts +18 -0
  530. package/dist/types/workflow/node_runner.d.ts +82 -0
  531. package/dist/types/workflow/node_state.d.ts +47 -0
  532. package/dist/types/workflow/node_status.d.ts +28 -0
  533. package/dist/types/workflow/nodes/function_node.d.ts +78 -0
  534. package/dist/types/workflow/nodes/join_node.d.ts +24 -0
  535. package/dist/types/workflow/nodes/node_tool.d.ts +53 -0
  536. package/dist/types/workflow/nodes/parallel_worker.d.ts +55 -0
  537. package/dist/types/workflow/nodes/tool_node.d.ts +34 -0
  538. package/dist/types/workflow/request_input.d.ts +73 -0
  539. package/dist/types/workflow/retry_config.d.ts +84 -0
  540. package/dist/types/workflow/run_llm_agent_as_node.d.ts +28 -0
  541. package/dist/types/workflow/run_node_as_invocation.d.ts +72 -0
  542. package/dist/types/workflow/schedule_dynamic_node.d.ts +66 -0
  543. package/dist/types/workflow/trigger.d.ts +22 -0
  544. package/dist/types/workflow/utils/graph_parser.d.ts +8 -0
  545. package/dist/types/workflow/utils/graph_validation.d.ts +18 -0
  546. package/dist/types/workflow/utils/hitl_utils.d.ts +92 -0
  547. package/dist/types/workflow/utils/rehydration_utils.d.ts +132 -0
  548. package/dist/types/workflow/utils/retry_utils.d.ts +54 -0
  549. package/dist/types/workflow/utils/workflow_graph_utils.d.ts +76 -0
  550. package/dist/types/workflow/workflow.d.ts +115 -0
  551. package/dist/web/a2a/a2a_event.js +19 -0
  552. package/dist/web/a2a/a2a_remote_agent.js +6 -2
  553. package/dist/web/a2a/a2a_remote_agent_run_processor.js +8 -3
  554. package/dist/web/a2a/a2a_remote_agent_utils.js +10 -2
  555. package/dist/web/a2a/agent_card.js +34 -3
  556. package/dist/web/a2a/agent_executor.js +45 -17
  557. package/dist/web/a2a/agent_to_a2a.js +44 -15
  558. package/dist/web/a2a/auth.js +4 -0
  559. package/dist/web/a2a/event_converter_utils.js +10 -0
  560. package/dist/web/a2a/event_processor_utils.js +73 -34
  561. package/dist/web/a2a/executor_context.js +3 -0
  562. package/dist/web/a2a/index.js +20 -0
  563. package/dist/web/a2a/metadata_converter_utils.js +5 -0
  564. package/dist/web/a2a/part_converter_utils.js +13 -0
  565. package/dist/web/agents/active_streaming_tool.js +6 -2
  566. package/dist/web/agents/base_agent.js +48 -9
  567. package/dist/web/agents/context.js +6 -2
  568. package/dist/web/agents/framework_function_calls.js +34 -0
  569. package/dist/web/agents/functions.js +42 -13
  570. package/dist/web/agents/instructions.js +52 -12
  571. package/dist/web/agents/invocation_context.js +56 -7
  572. package/dist/web/agents/live_request_queue.js +30 -5
  573. package/dist/web/agents/llm_agent.js +630 -52
  574. package/dist/web/agents/loop_agent.js +21 -2
  575. package/dist/web/agents/parallel_agent.js +23 -2
  576. package/dist/web/agents/processors/agent_transfer_llm_request_processor.js +8 -4
  577. package/dist/web/agents/processors/base_llm_processor.js +10 -4
  578. package/dist/web/agents/processors/basic_llm_request_processor.js +6 -3
  579. package/dist/web/agents/processors/code_execution_request_processor.js +19 -5
  580. package/dist/web/agents/processors/content_processor_utils.js +87 -16
  581. package/dist/web/agents/processors/content_request_processor.js +10 -4
  582. package/dist/web/agents/processors/context_compactor_request_processor.js +6 -2
  583. package/dist/web/agents/processors/identity_llm_request_processor.js +13 -4
  584. package/dist/web/agents/processors/instructions_llm_request_processor.js +6 -2
  585. package/dist/web/agents/processors/interactions_request_processor.js +6 -2
  586. package/dist/web/agents/processors/request_confirmation_llm_request_processor.js +329 -104
  587. package/dist/web/agents/processors/request_input_llm_request_processor.js +228 -0
  588. package/dist/web/agents/processors/tool_filter_request_processor.js +6 -2
  589. package/dist/web/agents/readonly_context.js +8 -3
  590. package/dist/web/agents/routed_agent.js +6 -14
  591. package/dist/web/agents/run_config.js +12 -0
  592. package/dist/web/agents/sequential_agent.js +22 -3
  593. package/dist/web/agents/user_input_request.js +135 -0
  594. package/dist/web/apps/app.js +14 -11
  595. package/dist/web/apps/resumability_config.js +2 -0
  596. package/dist/web/artifacts/file_artifact_service.js +22 -2
  597. package/dist/web/artifacts/gcs_artifact_service.js +56 -11
  598. package/dist/web/artifacts/in_memory_artifact_service.js +10 -2
  599. package/dist/web/artifacts/registry.js +7 -1
  600. package/dist/web/artifacts/scoped_artifact_service.js +5 -2
  601. package/dist/web/auth/auth_handler.js +5 -2
  602. package/dist/web/auth/auth_preprocessor.js +50 -41
  603. package/dist/web/auth/auth_provider_registry.js +6 -2
  604. package/dist/web/auth/auth_schemes.js +3 -0
  605. package/dist/web/auth/credential_response_binding.js +91 -0
  606. package/dist/web/auth/credential_service/in_memory_credential_service.js +6 -2
  607. package/dist/web/auth/credential_service/session_state_credential_service.js +6 -2
  608. package/dist/web/auth/exchanger/base_credential_exchanger.js +6 -2
  609. package/dist/web/auth/exchanger/credential_exchanger_registry.js +6 -2
  610. package/dist/web/auth/oauth2/oauth2_credential_exchanger.js +8 -2
  611. package/dist/web/auth/oauth2/oauth2_credential_refresher.js +5 -2
  612. package/dist/web/auth/oauth2/oauth2_discovery.js +8 -2
  613. package/dist/web/auth/oauth2/oauth2_utils.js +7 -0
  614. package/dist/web/auth/refresher/base_credential_refresher.js +6 -2
  615. package/dist/web/auth/refresher/credential_refresher_registry.js +6 -2
  616. package/dist/web/code_executors/agent_engine_sandbox_code_executor.js +3 -0
  617. package/dist/web/code_executors/base_code_executor.js +7 -2
  618. package/dist/web/code_executors/built_in_code_executor.js +7 -2
  619. package/dist/web/code_executors/code_execution_utils.js +7 -0
  620. package/dist/web/code_executors/code_executor_context.js +6 -2
  621. package/dist/web/code_executors/unsafe_local_code_executor.js +9 -2
  622. package/dist/web/common.js +109 -4
  623. package/dist/web/context/agent_controlled_context_compactor.js +6 -2
  624. package/dist/web/context/anchored_context_compactor.js +5 -2
  625. package/dist/web/context/compaction_utils.js +4 -0
  626. package/dist/web/context/summarizers/llm_summarizer.js +6 -2
  627. package/dist/web/context/token_based_context_compactor.js +10 -3
  628. package/dist/web/context/trajectory_thought_pruning_compactor.js +6 -2
  629. package/dist/web/context/truncating_context_compactor.js +6 -2
  630. package/dist/web/environment/base_environment.js +71 -0
  631. package/dist/web/environment/local_environment.js +165 -0
  632. package/dist/web/events/compacted_event.js +4 -0
  633. package/dist/web/events/event.js +37 -3
  634. package/dist/web/events/event_actions.js +5 -0
  635. package/dist/web/events/structured_events.js +3 -0
  636. package/dist/web/examples/base_example_provider.js +7 -2
  637. package/dist/web/examples/example_util.js +4 -0
  638. package/dist/web/features/feature_registry.js +8 -0
  639. package/dist/web/index.js +4 -15
  640. package/dist/web/integrations/agent_registry/agent_registry.js +8 -4
  641. package/dist/web/integrations/agent_registry/agent_registry_mcp_toolset.js +5 -2
  642. package/dist/web/integrations/agent_registry/helpers.js +4 -0
  643. package/dist/web/memory/in_memory_memory_service.js +9 -2
  644. package/dist/web/memory/vertex_ai_memory_bank_service.js +17 -2
  645. package/dist/web/models/apigee_llm.js +9 -3
  646. package/dist/web/models/base_llm.js +8 -3
  647. package/dist/web/models/gemini_llm_connection.js +6 -2
  648. package/dist/web/models/google_llm.js +25 -13
  649. package/dist/web/models/interactions_utils.js +17 -0
  650. package/dist/web/models/llm_request.js +5 -0
  651. package/dist/web/models/llm_response.js +3 -0
  652. package/dist/web/models/registry.js +7 -2
  653. package/dist/web/models/routed_llm.js +4 -14
  654. package/dist/web/plugins/base_plugin.js +39 -5
  655. package/dist/web/plugins/global_instruction_plugin.js +6 -2
  656. package/dist/web/plugins/logging_plugin.js +14 -8
  657. package/dist/web/plugins/plugin_manager.js +38 -2
  658. package/dist/web/plugins/security_plugin.js +14 -6
  659. package/dist/web/runner/in_memory_runner.js +6 -2
  660. package/dist/web/runner/runner.js +232 -20
  661. package/dist/web/sessions/base_session_service.js +14 -2
  662. package/dist/web/sessions/database_session_service.js +6 -2
  663. package/dist/web/sessions/db/operations.js +34 -6
  664. package/dist/web/sessions/db/schema.js +16 -8
  665. package/dist/web/sessions/in_memory_session_service.js +23 -14
  666. package/dist/web/sessions/registry.js +5 -1
  667. package/dist/web/sessions/session.js +3 -0
  668. package/dist/web/sessions/state.js +77 -7
  669. package/dist/web/sessions/state_write_order.js +74 -0
  670. package/dist/web/sessions/vertex_ai_session_service.js +118 -15
  671. package/dist/web/skills/gcp_skill_registry.js +2 -0
  672. package/dist/web/skills/loader.js +22 -10
  673. package/dist/web/skills/prompt.js +4 -0
  674. package/dist/web/telemetry/google_cloud.js +54 -9
  675. package/dist/web/telemetry/setup.js +6 -0
  676. package/dist/web/telemetry/tracing.js +77 -7
  677. package/dist/web/tools/agent_tool.js +7 -2
  678. package/dist/web/tools/base_tool.js +25 -2
  679. package/dist/web/tools/base_toolset.js +7 -2
  680. package/dist/web/tools/consolidate_context_tool.js +6 -2
  681. package/dist/web/tools/enterprise_web_search_tool.js +7 -2
  682. package/dist/web/tools/example_tool.js +6 -2
  683. package/dist/web/tools/exit_loop_tool.js +6 -2
  684. package/dist/web/tools/finish_task_tool.js +92 -0
  685. package/dist/web/tools/forwarding_artifact_service.js +6 -2
  686. package/dist/web/tools/function_tool.js +74 -8
  687. package/dist/web/tools/get_user_choice_tool.js +4 -2
  688. package/dist/web/tools/google_maps_grounding_tool.js +7 -2
  689. package/dist/web/tools/google_search_tool.js +6 -2
  690. package/dist/web/tools/load_artifacts_tool.js +9 -2
  691. package/dist/web/tools/load_memory_tool.js +6 -2
  692. package/dist/web/tools/load_web_page.js +22 -1
  693. package/dist/web/tools/long_running_tool.js +5 -2
  694. package/dist/web/tools/mcp/index.js +11 -0
  695. package/dist/web/tools/mcp/load_mcp_resource_tool.js +6 -2
  696. package/dist/web/tools/mcp/mcp_session_manager.js +45 -9
  697. package/dist/web/tools/mcp/mcp_tool.js +6 -2
  698. package/dist/web/tools/mcp/mcp_toolset.js +5 -2
  699. package/dist/web/tools/openapi_tool/auth/auth_helpers.js +5 -0
  700. package/dist/web/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +2 -0
  701. package/dist/web/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +2 -0
  702. package/dist/web/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +30 -9
  703. package/dist/web/tools/openapi_tool/openapi_spec_parser/operation_parser.js +2 -0
  704. package/dist/web/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +6 -2
  705. package/dist/web/tools/openapi_tool/openapi_toolset.js +2 -0
  706. package/dist/web/tools/openapi_tool/rest_api_tool.js +23 -5
  707. package/dist/web/tools/preload_memory_tool.js +6 -2
  708. package/dist/web/tools/request_input_tool.js +7 -4
  709. package/dist/web/tools/skill/list_skills_tool.js +2 -0
  710. package/dist/web/tools/skill/load_skill_resource_tool.js +2 -0
  711. package/dist/web/tools/skill/load_skill_tool.js +4 -1
  712. package/dist/web/tools/skill/run_skill_inline_script_tool.js +26 -2
  713. package/dist/web/tools/skill/run_skill_script_tool.js +28 -2
  714. package/dist/web/tools/skill/search_skills_tool.js +2 -0
  715. package/dist/web/tools/skill/skill_toolset.js +25 -0
  716. package/dist/web/tools/tool_confirmation.js +24 -2
  717. package/dist/web/tools/url_context_tool.js +6 -2
  718. package/dist/web/tools/vertex_ai_search_tool.js +6 -2
  719. package/dist/web/tools/vertex_rag_retrieval_tool.js +6 -2
  720. package/dist/web/utils/async_hooks_shim.js +6 -2
  721. package/dist/web/utils/async_queue.js +46 -18
  722. package/dist/web/utils/branch_trie.js +3 -0
  723. package/dist/web/utils/case_utils.js +3 -0
  724. package/dist/web/utils/client_labels.js +6 -0
  725. package/dist/web/utils/crypto_shim.js +3 -0
  726. package/dist/web/utils/deprecated.js +40 -0
  727. package/dist/web/utils/env_aware_utils.js +41 -0
  728. package/dist/web/utils/error_utils.js +9 -0
  729. package/dist/web/utils/experimental.js +10 -2
  730. package/dist/web/utils/failover_utils.js +4 -0
  731. package/dist/web/utils/file_extension_utils.js +4 -0
  732. package/dist/web/utils/file_utils.js +7 -2
  733. package/dist/web/utils/gemini_schema_util.js +6 -2
  734. package/dist/web/utils/genai_schema_to_json.js +80 -0
  735. package/dist/web/utils/live_connection_utils.js +5 -2
  736. package/dist/web/utils/logger.js +14 -4
  737. package/dist/web/utils/model_name.js +9 -0
  738. package/dist/web/utils/object_notation_utils.js +8 -3
  739. package/dist/web/utils/optional_peer.js +38 -0
  740. package/dist/web/utils/output_schema_utils.js +3 -0
  741. package/dist/web/utils/partial_copy.js +3 -0
  742. package/dist/web/utils/redact_uri.js +39 -0
  743. package/dist/web/utils/schema.js +167 -0
  744. package/dist/web/utils/simple_zod_to_json.js +15 -4
  745. package/dist/web/utils/streaming_utils.js +14 -6
  746. package/dist/web/utils/task.js +8 -4
  747. package/dist/web/utils/variant_utils.js +5 -2
  748. package/dist/web/utils/vertex_ai_utils.js +5 -2
  749. package/dist/web/version.js +1 -1
  750. package/dist/web/workflow/base_node.js +215 -0
  751. package/dist/web/workflow/branch_path.js +77 -0
  752. package/dist/web/workflow/dynamic_node_scheduler.js +202 -0
  753. package/dist/web/workflow/errors.js +140 -0
  754. package/dist/web/workflow/graph.js +127 -0
  755. package/dist/web/workflow/index.js +80 -0
  756. package/dist/web/workflow/node.js +87 -0
  757. package/dist/web/workflow/node_builders.js +40 -0
  758. package/dist/web/workflow/node_context.js +236 -0
  759. package/dist/web/workflow/node_error_event.js +86 -0
  760. package/dist/web/workflow/node_runner.js +481 -0
  761. package/dist/web/workflow/node_state.js +43 -0
  762. package/dist/web/workflow/node_status.js +20 -0
  763. package/dist/web/workflow/nodes/function_node.js +221 -0
  764. package/dist/web/workflow/nodes/join_node.js +47 -0
  765. package/dist/web/workflow/nodes/node_tool.js +131 -0
  766. package/dist/web/workflow/nodes/parallel_worker.js +120 -0
  767. package/dist/web/workflow/nodes/tool_node.js +126 -0
  768. package/dist/web/workflow/request_input.js +36 -0
  769. package/dist/web/workflow/retry_config.js +43 -0
  770. package/dist/web/workflow/run_llm_agent_as_node.js +266 -0
  771. package/dist/web/workflow/run_node_as_invocation.js +170 -0
  772. package/dist/web/workflow/schedule_dynamic_node.js +26 -0
  773. package/dist/web/workflow/trigger.js +7 -0
  774. package/dist/web/workflow/utils/graph_parser.js +188 -0
  775. package/dist/web/workflow/utils/graph_validation.js +189 -0
  776. package/dist/web/workflow/utils/hitl_utils.js +239 -0
  777. package/dist/web/workflow/utils/rehydration_utils.js +342 -0
  778. package/dist/web/workflow/utils/retry_utils.js +82 -0
  779. package/dist/web/workflow/utils/workflow_graph_utils.js +115 -0
  780. package/dist/web/workflow/workflow.js +529 -0
  781. package/package.json +82 -8
@@ -1,5 +1,7 @@
1
1
  import {createRequire as topLevelCreateRequire} from 'module';
2
2
  const require = topLevelCreateRequire(import.meta.url);
3
+ var __defProp = Object.defineProperty;
4
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
5
  /**
4
6
  * @license
5
7
  * Copyright 2026 Google LLC
@@ -24,15 +26,19 @@ var TaskState = /* @__PURE__ */ ((TaskState2) => {
24
26
  function isTaskStatusUpdateEvent(event) {
25
27
  return (event == null ? void 0 : event.kind) === "status-update";
26
28
  }
29
+ __name(isTaskStatusUpdateEvent, "isTaskStatusUpdateEvent");
27
30
  function isTaskArtifactUpdateEvent(event) {
28
31
  return (event == null ? void 0 : event.kind) === "artifact-update";
29
32
  }
33
+ __name(isTaskArtifactUpdateEvent, "isTaskArtifactUpdateEvent");
30
34
  function isMessage(event) {
31
35
  return (event == null ? void 0 : event.kind) === "message";
32
36
  }
37
+ __name(isMessage, "isMessage");
33
38
  function isTask(event) {
34
39
  return (event == null ? void 0 : event.kind) === "task";
35
40
  }
41
+ __name(isTask, "isTask");
36
42
  function getEventMetadata(event) {
37
43
  if (isTaskArtifactUpdateEvent(event)) {
38
44
  return event.artifact.metadata || {};
@@ -42,9 +48,11 @@ function getEventMetadata(event) {
42
48
  }
43
49
  return {};
44
50
  }
51
+ __name(getEventMetadata, "getEventMetadata");
45
52
  function isFailedTaskStatusUpdateEvent(event) {
46
53
  return (isTaskStatusUpdateEvent(event) || isTask(event)) && event.status.state === "failed" /* FAILED */;
47
54
  }
55
+ __name(isFailedTaskStatusUpdateEvent, "isFailedTaskStatusUpdateEvent");
48
56
  function isTerminalTaskStatusUpdateEvent(event) {
49
57
  return (isTaskStatusUpdateEvent(event) || isTask(event)) && [
50
58
  "completed" /* COMPLETED */,
@@ -53,9 +61,11 @@ function isTerminalTaskStatusUpdateEvent(event) {
53
61
  "rejected" /* REJECTED */
54
62
  ].includes(event.status.state);
55
63
  }
64
+ __name(isTerminalTaskStatusUpdateEvent, "isTerminalTaskStatusUpdateEvent");
56
65
  function isInputRequiredTaskStatusUpdateEvent(event) {
57
66
  return (isTaskStatusUpdateEvent(event) || isTask(event)) && event.status.state === "input-required" /* INPUT_REQUIRED */;
58
67
  }
68
+ __name(isInputRequiredTaskStatusUpdateEvent, "isInputRequiredTaskStatusUpdateEvent");
59
69
  function getFailedTaskStatusUpdateEventError(event) {
60
70
  var _a;
61
71
  if (!isFailedTaskStatusUpdateEvent(event)) {
@@ -70,6 +80,7 @@ function getFailedTaskStatusUpdateEventError(event) {
70
80
  }
71
81
  return parts[0].text;
72
82
  }
83
+ __name(getFailedTaskStatusUpdateEventError, "getFailedTaskStatusUpdateEventError");
73
84
  function createTaskSubmittedEvent({
74
85
  taskId,
75
86
  contextId,
@@ -89,6 +100,7 @@ function createTaskSubmittedEvent({
89
100
  metadata
90
101
  };
91
102
  }
103
+ __name(createTaskSubmittedEvent, "createTaskSubmittedEvent");
92
104
  function createTask({
93
105
  contextId,
94
106
  message,
@@ -107,6 +119,7 @@ function createTask({
107
119
  metadata
108
120
  };
109
121
  }
122
+ __name(createTask, "createTask");
110
123
  function createTaskWorkingEvent({
111
124
  taskId,
112
125
  contextId,
@@ -126,6 +139,7 @@ function createTaskWorkingEvent({
126
139
  metadata
127
140
  };
128
141
  }
142
+ __name(createTaskWorkingEvent, "createTaskWorkingEvent");
129
143
  function createTaskCompletedEvent({
130
144
  taskId,
131
145
  contextId,
@@ -143,6 +157,7 @@ function createTaskCompletedEvent({
143
157
  metadata
144
158
  };
145
159
  }
160
+ __name(createTaskCompletedEvent, "createTaskCompletedEvent");
146
161
  function createTaskArtifactUpdateEvent({
147
162
  taskId,
148
163
  contextId,
@@ -165,6 +180,7 @@ function createTaskArtifactUpdateEvent({
165
180
  metadata
166
181
  };
167
182
  }
183
+ __name(createTaskArtifactUpdateEvent, "createTaskArtifactUpdateEvent");
168
184
  function createTaskFailedEvent({
169
185
  taskId,
170
186
  contextId,
@@ -196,6 +212,7 @@ function createTaskFailedEvent({
196
212
  metadata
197
213
  };
198
214
  }
215
+ __name(createTaskFailedEvent, "createTaskFailedEvent");
199
216
  function createTaskInputRequiredEvent({
200
217
  taskId,
201
218
  contextId,
@@ -222,6 +239,7 @@ function createTaskInputRequiredEvent({
222
239
  metadata
223
240
  };
224
241
  }
242
+ __name(createTaskInputRequiredEvent, "createTaskInputRequiredEvent");
225
243
  function createInputMissingErrorEvent({
226
244
  taskId,
227
245
  contextId,
@@ -248,6 +266,7 @@ function createInputMissingErrorEvent({
248
266
  metadata
249
267
  };
250
268
  }
269
+ __name(createInputMissingErrorEvent, "createInputMissingErrorEvent");
251
270
  export {
252
271
  MessageRole,
253
272
  TaskState,
@@ -1,6 +1,8 @@
1
1
  import {createRequire as topLevelCreateRequire} from 'module';
2
2
  const require = topLevelCreateRequire(import.meta.url);
3
+ var __defProp = Object.defineProperty;
3
4
  var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
5
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
4
6
  var __await = function(promise, isYieldStar) {
5
7
  this[0] = promise;
6
8
  this[1] = isYieldStar;
@@ -40,7 +42,7 @@ import { resolveAgentCard } from "./agent_card.js";
40
42
  import { toAdkEvent } from "./event_converter_utils.js";
41
43
  import { getA2ASessionMetadata } from "./metadata_converter_utils.js";
42
44
  import { toA2AParts } from "./part_converter_utils.js";
43
- class RemoteA2AAgent extends BaseAgent {
45
+ const _RemoteA2AAgent = class _RemoteA2AAgent extends BaseAgent {
44
46
  constructor(a2aConfig) {
45
47
  super(a2aConfig);
46
48
  this.a2aConfig = a2aConfig;
@@ -189,7 +191,9 @@ class RemoteA2AAgent extends BaseAgent {
189
191
  runLiveImpl(_context) {
190
192
  throw new Error("Live mode is not supported in A2ARemoteAgent yet.");
191
193
  }
192
- }
194
+ };
195
+ __name(_RemoteA2AAgent, "RemoteA2AAgent");
196
+ let RemoteA2AAgent = _RemoteA2AAgent;
193
197
  export {
194
198
  AGENT_CARD_PATH,
195
199
  RemoteA2AAgent
@@ -1,5 +1,7 @@
1
1
  import {createRequire as topLevelCreateRequire} from 'module';
2
2
  const require = topLevelCreateRequire(import.meta.url);
3
+ var __defProp = Object.defineProperty;
4
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
5
  /**
4
6
  * @license
5
7
  * Copyright 2026 Google LLC
@@ -8,6 +10,7 @@ const require = topLevelCreateRequire(import.meta.url);
8
10
  import {
9
11
  createModelContent
10
12
  } from "@google/genai";
13
+ import { requireAgent } from "../agents/invocation_context.js";
11
14
  import { createEvent } from "../events/event.js";
12
15
  import {
13
16
  getEventMetadata,
@@ -16,7 +19,7 @@ import {
16
19
  isTaskStatusUpdateEvent
17
20
  } from "./a2a_event.js";
18
21
  import { A2AMetadataKeys } from "./metadata_converter_utils.js";
19
- class A2ARemoteAgentRunProcessor {
22
+ const _A2ARemoteAgentRunProcessor = class _A2ARemoteAgentRunProcessor {
20
23
  constructor(request) {
21
24
  this.request = request;
22
25
  this.aggregations = /* @__PURE__ */ new Map();
@@ -127,7 +130,7 @@ class A2ARemoteAgentRunProcessor {
127
130
  buildNonPartialAggregation(context, agg) {
128
131
  this.promoteTextBlocksToParts(agg);
129
132
  const result = createEvent({
130
- author: context.agent.name,
133
+ author: requireAgent(context).name,
131
134
  invocationId: context.invocationId,
132
135
  content: agg.parts.length > 0 ? createModelContent([...agg.parts]) : void 0,
133
136
  customMetadata: agg.customMeta,
@@ -178,7 +181,9 @@ class A2ARemoteAgentRunProcessor {
178
181
  event.customMetadata["a2a:".concat(k)] = v;
179
182
  }
180
183
  }
181
- }
184
+ };
185
+ __name(_A2ARemoteAgentRunProcessor, "A2ARemoteAgentRunProcessor");
186
+ let A2ARemoteAgentRunProcessor = _A2ARemoteAgentRunProcessor;
182
187
  export {
183
188
  A2ARemoteAgentRunProcessor
184
189
  };
@@ -1,10 +1,13 @@
1
1
  import {createRequire as topLevelCreateRequire} from 'module';
2
2
  const require = topLevelCreateRequire(import.meta.url);
3
+ var __defProp = Object.defineProperty;
4
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
5
  /**
4
6
  * @license
5
7
  * Copyright 2026 Google LLC
6
8
  * SPDX-License-Identifier: Apache-2.0
7
9
  */
10
+ import { requireAgent } from "../agents/invocation_context.js";
8
11
  import { createEvent } from "../events/event.js";
9
12
  import { AdkMetadataKeys } from "./metadata_converter_utils.js";
10
13
  import { toA2AParts } from "./part_converter_utils.js";
@@ -37,6 +40,7 @@ function getUserFunctionCallAt(session, index) {
37
40
  }
38
41
  return void 0;
39
42
  }
43
+ __name(getUserFunctionCallAt, "getUserFunctionCallAt");
40
44
  function isFunctionCallEvent(event, callId) {
41
45
  if (!event || !event.content || !event.content.parts) {
42
46
  return false;
@@ -45,6 +49,7 @@ function isFunctionCallEvent(event, callId) {
45
49
  (part) => part.functionCall && part.functionCall.id === callId
46
50
  );
47
51
  }
52
+ __name(isFunctionCallEvent, "isFunctionCallEvent");
48
53
  function getFunctionResponseCallId(event) {
49
54
  var _a;
50
55
  if (!event || !event.content || !event.content.parts) {
@@ -55,13 +60,14 @@ function getFunctionResponseCallId(event) {
55
60
  );
56
61
  return (_a = responsePart == null ? void 0 : responsePart.functionResponse) == null ? void 0 : _a.id;
57
62
  }
63
+ __name(getFunctionResponseCallId, "getFunctionResponseCallId");
58
64
  function toMissingRemoteSessionParts(ctx, session) {
59
65
  const events = session.events;
60
66
  let contextId = void 0;
61
67
  let lastRemoteResponseIndex = -1;
62
68
  for (let i = events.length - 1; i >= 0; i--) {
63
69
  const event = events[i];
64
- if (event.author === ctx.agent.name) {
70
+ if (event.author === requireAgent(ctx).name) {
65
71
  lastRemoteResponseIndex = i;
66
72
  const metadata = event.customMetadata || {};
67
73
  contextId = metadata[AdkMetadataKeys.CONTEXT_ID];
@@ -71,7 +77,7 @@ function toMissingRemoteSessionParts(ctx, session) {
71
77
  const missingParts = [];
72
78
  for (let i = lastRemoteResponseIndex + 1; i < events.length; i++) {
73
79
  let event = events[i];
74
- if (event.author !== "user" && event.author !== ctx.agent.name) {
80
+ if (event.author !== "user" && event.author !== requireAgent(ctx).name) {
75
81
  event = presentAsUserMessage(ctx, event);
76
82
  }
77
83
  if (!event.content || !event.content.parts || event.content.parts.length === 0) {
@@ -85,6 +91,7 @@ function toMissingRemoteSessionParts(ctx, session) {
85
91
  contextId
86
92
  };
87
93
  }
94
+ __name(toMissingRemoteSessionParts, "toMissingRemoteSessionParts");
88
95
  function presentAsUserMessage(ctx, agentEvent) {
89
96
  const event = createEvent({
90
97
  author: "user",
@@ -124,6 +131,7 @@ function presentAsUserMessage(ctx, agentEvent) {
124
131
  }
125
132
  return event;
126
133
  }
134
+ __name(presentAsUserMessage, "presentAsUserMessage");
127
135
  export {
128
136
  getFunctionResponseCallId,
129
137
  getUserFunctionCallAt,
@@ -1,5 +1,7 @@
1
1
  import {createRequire as topLevelCreateRequire} from 'module';
2
2
  const require = topLevelCreateRequire(import.meta.url);
3
+ var __defProp = Object.defineProperty;
4
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
5
  /**
4
6
  * @license
5
7
  * Copyright 2026 Google LLC
@@ -18,6 +20,7 @@ import { isSequentialAgent } from "../agents/sequential_agent.js";
18
20
  import { isBaseTool } from "../tools/base_tool.js";
19
21
  import { isBaseToolset } from "../tools/base_toolset.js";
20
22
  import { logger } from "../utils/logger.js";
23
+ import { isWorkflow } from "../workflow/workflow.js";
21
24
  async function resolveAgentCard(agentCard) {
22
25
  if (typeof agentCard === "object") {
23
26
  return agentCard;
@@ -36,6 +39,7 @@ async function resolveAgentCard(agentCard) {
36
39
  );
37
40
  }
38
41
  }
42
+ __name(resolveAgentCard, "resolveAgentCard");
39
43
  async function getA2AAgentCard(agent, transports) {
40
44
  return {
41
45
  name: agent.name,
@@ -56,6 +60,7 @@ async function getA2AAgentCard(agent, transports) {
56
60
  additionalInterfaces: transports
57
61
  };
58
62
  }
63
+ __name(getA2AAgentCard, "getA2AAgentCard");
59
64
  async function buildAgentSkills(agent) {
60
65
  const [primarySkills, subAgentSkills] = await Promise.all([
61
66
  buildPrimarySkills(agent),
@@ -63,14 +68,26 @@ async function buildAgentSkills(agent) {
63
68
  ]);
64
69
  return [...primarySkills, ...subAgentSkills];
65
70
  }
71
+ __name(buildAgentSkills, "buildAgentSkills");
66
72
  async function buildPrimarySkills(agent) {
73
+ if (isWorkflow(agent)) {
74
+ return [
75
+ {
76
+ id: agent.name,
77
+ name: "workflow",
78
+ description: agent.description || "Workflow ".concat(agent.name),
79
+ tags: ["workflow"]
80
+ }
81
+ ];
82
+ }
67
83
  if (isLlmAgent(agent)) {
68
84
  return buildLLMAgentSkills(agent);
69
85
  }
70
86
  return buildNonLLMAgentSkills(agent);
71
87
  }
88
+ __name(buildPrimarySkills, "buildPrimarySkills");
72
89
  async function buildSubAgentSkills(agent) {
73
- const subAgents = agent.subAgents;
90
+ const subAgents = isWorkflow(agent) ? [] : agent.subAgents;
74
91
  const result = [];
75
92
  for (const sub of subAgents) {
76
93
  const skills = await buildPrimarySkills(sub);
@@ -86,6 +103,7 @@ async function buildSubAgentSkills(agent) {
86
103
  }
87
104
  return result;
88
105
  }
106
+ __name(buildSubAgentSkills, "buildSubAgentSkills");
89
107
  async function buildLLMAgentSkills(agent) {
90
108
  const skills = [
91
109
  {
@@ -109,6 +127,7 @@ async function buildLLMAgentSkills(agent) {
109
127
  }
110
128
  return skills;
111
129
  }
130
+ __name(buildLLMAgentSkills, "buildLLMAgentSkills");
112
131
  function toolToSkill(prefix, tool) {
113
132
  let description = tool.description;
114
133
  if (!description) {
@@ -121,6 +140,7 @@ function toolToSkill(prefix, tool) {
121
140
  tags: ["llm", "tools"]
122
141
  };
123
142
  }
143
+ __name(toolToSkill, "toolToSkill");
124
144
  function buildNonLLMAgentSkills(agent) {
125
145
  const skills = [
126
146
  {
@@ -144,6 +164,7 @@ function buildNonLLMAgentSkills(agent) {
144
164
  }
145
165
  return skills;
146
166
  }
167
+ __name(buildNonLLMAgentSkills, "buildNonLLMAgentSkills");
147
168
  function buildAgentDescription(agent) {
148
169
  const descriptionParts = [];
149
170
  if (agent.description) {
@@ -164,6 +185,7 @@ function buildAgentDescription(agent) {
164
185
  return getDefaultAgentDescription(agent);
165
186
  }
166
187
  }
188
+ __name(buildAgentDescription, "buildAgentDescription");
167
189
  function buildSequentialAgentDescription(agent) {
168
190
  const subAgents = agent.subAgents;
169
191
  const descriptions = [];
@@ -182,6 +204,7 @@ function buildSequentialAgentDescription(agent) {
182
204
  });
183
205
  return descriptions.join(" ");
184
206
  }
207
+ __name(buildSequentialAgentDescription, "buildSequentialAgentDescription");
185
208
  function buildParallelAgentDescription(agent) {
186
209
  const subAgents = agent.subAgents;
187
210
  const descriptions = [];
@@ -200,6 +223,7 @@ function buildParallelAgentDescription(agent) {
200
223
  });
201
224
  return "".concat(descriptions.join(" "), " simultaneously.");
202
225
  }
226
+ __name(buildParallelAgentDescription, "buildParallelAgentDescription");
203
227
  function buildLoopAgentDescription(agent) {
204
228
  const maxIterationsVal = agent.maxIterations;
205
229
  let maxIterations = "unlimited";
@@ -223,6 +247,7 @@ function buildLoopAgentDescription(agent) {
223
247
  });
224
248
  return "".concat(descriptions.join(" "), " in a loop (max ").concat(maxIterations, " iterations).");
225
249
  }
250
+ __name(buildLoopAgentDescription, "buildLoopAgentDescription");
226
251
  async function buildDescriptionFromInstructions(agent) {
227
252
  const descriptionParts = [];
228
253
  if (agent.description) {
@@ -280,6 +305,7 @@ async function buildDescriptionFromInstructions(agent) {
280
305
  return getDefaultAgentDescription(agent);
281
306
  }
282
307
  }
308
+ __name(buildDescriptionFromInstructions, "buildDescriptionFromInstructions");
283
309
  function replacePronouns(instruction) {
284
310
  const substitutions = [
285
311
  { original: "you were", target: "I was" },
@@ -297,6 +323,7 @@ function replacePronouns(instruction) {
297
323
  }
298
324
  return result;
299
325
  }
326
+ __name(replacePronouns, "replacePronouns");
300
327
  function getDefaultAgentDescription(agent) {
301
328
  if (isLoopAgent(agent)) {
302
329
  return "A loop workflow agent";
@@ -310,6 +337,7 @@ function getDefaultAgentDescription(agent) {
310
337
  return "A custom agent";
311
338
  }
312
339
  }
340
+ __name(getDefaultAgentDescription, "getDefaultAgentDescription");
313
341
  function getAgentTypeTag(agent) {
314
342
  if (isLoopAgent(agent)) {
315
343
  return "loop_workflow";
@@ -323,18 +351,21 @@ function getAgentTypeTag(agent) {
323
351
  return "custom_agent";
324
352
  }
325
353
  }
354
+ __name(getAgentTypeTag, "getAgentTypeTag");
326
355
  function getAgentSkillName(agent) {
327
356
  if (isLlmAgent(agent)) {
328
357
  return "model";
329
358
  }
330
- if (isWorkflowAgent(agent)) {
359
+ if (isCompositeShellAgent(agent) || isWorkflow(agent)) {
331
360
  return "workflow";
332
361
  }
333
362
  return "custom";
334
363
  }
335
- function isWorkflowAgent(agent) {
364
+ __name(getAgentSkillName, "getAgentSkillName");
365
+ function isCompositeShellAgent(agent) {
336
366
  return isLoopAgent(agent) || isSequentialAgent(agent) || isParallelAgent(agent);
337
367
  }
368
+ __name(isCompositeShellAgent, "isCompositeShellAgent");
338
369
  export {
339
370
  buildAgentSkills,
340
371
  getA2AAgentCard,
@@ -1,6 +1,26 @@
1
1
  import {createRequire as topLevelCreateRequire} from 'module';
2
2
  const require = topLevelCreateRequire(import.meta.url);
3
+ var __defProp = Object.defineProperty;
4
+ var __defProps = Object.defineProperties;
5
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
6
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
3
9
  var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
10
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
11
+ var __spreadValues = (a, b) => {
12
+ for (var prop in b || (b = {}))
13
+ if (__hasOwnProp.call(b, prop))
14
+ __defNormalProp(a, prop, b[prop]);
15
+ if (__getOwnPropSymbols)
16
+ for (var prop of __getOwnPropSymbols(b)) {
17
+ if (__propIsEnum.call(b, prop))
18
+ __defNormalProp(a, prop, b[prop]);
19
+ }
20
+ return a;
21
+ };
22
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
23
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
4
24
  var __forAwait = (obj, it, method) => (it = obj[__knownSymbol("asyncIterator")]) ? it.call(obj) : (obj = obj[__knownSymbol("iterator")](), it = {}, method = (key, fn) => (fn = obj[key]) && (it[key] = (arg) => new Promise((yes, no, done) => (arg = fn.call(obj, arg), done = arg.done, Promise.resolve(arg.value).then((value) => yes({ value, done }), no)))), method("next"), method("return"), it);
5
25
  /**
6
26
  * @license
@@ -18,7 +38,7 @@ import {
18
38
  } from "./a2a_event.js";
19
39
  import {
20
40
  getFinalTaskStatusUpdate,
21
- getTaskInputRequiredEvent
41
+ getUnansweredRequestEvent
22
42
  } from "./event_processor_utils.js";
23
43
  import { createExecutorContext } from "./executor_context.js";
24
44
  import {
@@ -26,7 +46,7 @@ import {
26
46
  getA2ASessionMetadata
27
47
  } from "./metadata_converter_utils.js";
28
48
  import { toA2AParts, toGenAIContent } from "./part_converter_utils.js";
29
- class A2AAgentExecutor {
49
+ const _A2AAgentExecutor = class _A2AAgentExecutor {
30
50
  constructor(config) {
31
51
  this.config = config;
32
52
  this.agentPartialArtifactIdsMap = {};
@@ -56,19 +76,20 @@ class A2AAgentExecutor {
56
76
  if (this.config.beforeExecuteCallback) {
57
77
  await this.config.beforeExecuteCallback(ctx);
58
78
  }
59
- if (ctx.task) {
60
- const inputRequiredEvent = getTaskInputRequiredEvent(
61
- ctx.task,
62
- genAIUserMessage
63
- );
64
- if (inputRequiredEvent) {
65
- await this.publishFinalTaskStatus({
66
- executorContext,
67
- eventBus,
68
- event: inputRequiredEvent
69
- });
70
- return;
71
- }
79
+ const unansweredRequestEvent = getUnansweredRequestEvent({
80
+ taskId: ctx.taskId,
81
+ contextId: ctx.contextId,
82
+ task: ctx.task,
83
+ sessionEvents: session.events,
84
+ genAIContent: genAIUserMessage
85
+ });
86
+ if (unansweredRequestEvent) {
87
+ await this.publishFinalTaskStatus({
88
+ executorContext,
89
+ eventBus,
90
+ event: unansweredRequestEvent
91
+ });
92
+ return;
72
93
  }
73
94
  if (!ctx.task) {
74
95
  eventBus.publish(
@@ -91,7 +112,10 @@ class A2AAgentExecutor {
91
112
  userId,
92
113
  sessionId,
93
114
  newMessage: genAIUserMessage,
94
- runConfig: this.config.runConfig
115
+ // Marked remote so the run knows this message came from a peer rather
116
+ // than from the operator: a human-in-the-loop gate is not answerable
117
+ // over A2A unless the deployment opts in.
118
+ runConfig: __spreadProps(__spreadValues({}, this.config.runConfig), { remoteDelivered: true })
95
119
  })), more, temp, error; more = !(temp = await iter.next()).done; more = false) {
96
120
  const adkEvent = temp.value;
97
121
  adkEvents.push(adkEvent);
@@ -187,7 +211,9 @@ class A2AAgentExecutor {
187
211
  }
188
212
  eventBus.publish(event);
189
213
  }
190
- }
214
+ };
215
+ __name(_A2AAgentExecutor, "A2AAgentExecutor");
216
+ let A2AAgentExecutor = _A2AAgentExecutor;
191
217
  async function getAdkSession(userId, sessionId, sessionService, appName) {
192
218
  const session = await sessionService.getSession({
193
219
  appName,
@@ -203,6 +229,7 @@ async function getAdkSession(userId, sessionId, sessionService, appName) {
203
229
  sessionId
204
230
  });
205
231
  }
232
+ __name(getAdkSession, "getAdkSession");
206
233
  async function getAdkRunner(runnerOrConfig) {
207
234
  if (typeof runnerOrConfig === "function") {
208
235
  const result = await runnerOrConfig();
@@ -213,6 +240,7 @@ async function getAdkRunner(runnerOrConfig) {
213
240
  }
214
241
  return new Runner(runnerOrConfig);
215
242
  }
243
+ __name(getAdkRunner, "getAdkRunner");
216
244
  export {
217
245
  A2AAgentExecutor
218
246
  };
@@ -1,5 +1,28 @@
1
1
  import {createRequire as topLevelCreateRequire} from 'module';
2
2
  const require = topLevelCreateRequire(import.meta.url);
3
+ var __create = Object.create;
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;
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
+ ));
3
26
  /**
4
27
  * @license
5
28
  * Copyright 2026 Google LLC
@@ -7,19 +30,22 @@ const require = topLevelCreateRequire(import.meta.url);
7
30
  */
8
31
  import { AGENT_CARD_PATH } from "@a2a-js/sdk";
9
32
  import { DefaultRequestHandler, InMemoryTaskStore } from "@a2a-js/sdk/server";
10
- import {
11
- agentCardHandler,
12
- jsonRpcHandler,
13
- restHandler,
14
- UserBuilder
15
- } from "@a2a-js/sdk/server/express";
16
- import express from "express";
17
33
  import { StreamingMode } from "../agents/run_config.js";
18
34
  import { InMemorySessionService } from "../sessions/in_memory_session_service.js";
19
35
  import { logger } from "../utils/logger.js";
36
+ import { loadOptionalPeer } from "../utils/optional_peer.js";
20
37
  import { getA2AAgentCard, resolveAgentCard } from "./agent_card.js";
21
38
  import { A2AAgentExecutor } from "./agent_executor.js";
22
- function resolveA2aUserBuilder(options) {
39
+ async function loadExpressBindings() {
40
+ const expressModule = await loadOptionalPeer(
41
+ { packageName: "express", feature: "toA2a" },
42
+ () => Promise.resolve().then(() => __toESM(require("express"), 1))
43
+ );
44
+ const a2aExpress = await Promise.resolve().then(() => __toESM(require("@a2a-js/sdk/server/express"), 1));
45
+ return { express: expressModule.default, a2aExpress };
46
+ }
47
+ __name(loadExpressBindings, "loadExpressBindings");
48
+ function resolveA2aUserBuilder(options, a2aExpress) {
23
49
  if (options.authentication) {
24
50
  return options.authentication;
25
51
  }
@@ -27,15 +53,17 @@ function resolveA2aUserBuilder(options) {
27
53
  logger.warn(
28
54
  "SECURITY WARNING: Mounting the A2A server WITHOUT authentication because `allowUnauthenticated: true` was set. The agent and all of its tools are exposed to any network-reachable caller, which can invoke them with arbitrary input and read the output. Do NOT use this outside of local, trusted development."
29
55
  );
30
- return UserBuilder.noAuthentication;
56
+ return a2aExpress.UserBuilder.noAuthentication;
31
57
  }
32
58
  throw new Error(
33
59
  "toA2a: refusing to mount the A2A server without authentication. The A2A surface lets any network-reachable caller invoke this agent and its tools with arbitrary input and read the output, so it must be authenticated. Provide `authentication` (a UserBuilder that validates the request, e.g. a bearer token or OIDC credential) or, only for local/trusted development, explicitly set `allowUnauthenticated: true`."
34
60
  );
35
61
  }
62
+ __name(resolveA2aUserBuilder, "resolveA2aUserBuilder");
36
63
  async function toA2a(agent, options = {}) {
37
64
  var _a, _b, _c, _d;
38
- const userBuilder = resolveA2aUserBuilder(options);
65
+ const { express: expressFactory, a2aExpress } = await loadExpressBindings();
66
+ const userBuilder = resolveA2aUserBuilder(options, a2aExpress);
39
67
  const host = (_a = options.host) != null ? _a : "localhost";
40
68
  const port = (_b = options.port) != null ? _b : 8e3;
41
69
  const protocol = (_c = options.protocol) != null ? _c : "http";
@@ -68,30 +96,31 @@ async function toA2a(agent, options = {}) {
68
96
  new InMemoryTaskStore(),
69
97
  agentExecutor
70
98
  );
71
- const app = (_d = options.app) != null ? _d : express();
99
+ const app = (_d = options.app) != null ? _d : expressFactory();
72
100
  if (!options.app) {
73
- app.use(express.json({ limit: "50mb" }));
101
+ app.use(expressFactory.json({ limit: "50mb" }));
74
102
  }
75
103
  app.use(
76
104
  "".concat(basePath, "/").concat(AGENT_CARD_PATH),
77
- agentCardHandler({ agentCardProvider: requestHandler })
105
+ a2aExpress.agentCardHandler({ agentCardProvider: requestHandler })
78
106
  );
79
107
  app.use(
80
108
  "".concat(basePath, "/rest"),
81
- restHandler({
109
+ a2aExpress.restHandler({
82
110
  requestHandler,
83
111
  userBuilder
84
112
  })
85
113
  );
86
114
  app.use(
87
115
  "".concat(basePath, "/jsonrpc"),
88
- jsonRpcHandler({
116
+ a2aExpress.jsonRpcHandler({
89
117
  requestHandler,
90
118
  userBuilder
91
119
  })
92
120
  );
93
121
  return app;
94
122
  }
123
+ __name(toA2a, "toA2a");
95
124
  export {
96
125
  toA2a
97
126
  };
@@ -1,5 +1,7 @@
1
1
  import {createRequire as topLevelCreateRequire} from 'module';
2
2
  const require = topLevelCreateRequire(import.meta.url);
3
+ var __defProp = Object.defineProperty;
4
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
5
  /**
4
6
  * @license
5
7
  * Copyright 2026 Google LLC
@@ -13,6 +15,7 @@ function timingSafeEqualStrings(a, b) {
13
15
  const right = Buffer.from(b, "utf8");
14
16
  return left.length === right.length && timingSafeEqual(left, right);
15
17
  }
18
+ __name(timingSafeEqualStrings, "timingSafeEqualStrings");
16
19
  function bearerTokenUserBuilder(token) {
17
20
  const expected = token.trim();
18
21
  if (!expected) {
@@ -32,6 +35,7 @@ function bearerTokenUserBuilder(token) {
32
35
  return { isAuthenticated: true, userName: AUTHENTICATED_USER_NAME };
33
36
  };
34
37
  }
38
+ __name(bearerTokenUserBuilder, "bearerTokenUserBuilder");
35
39
  export {
36
40
  bearerTokenUserBuilder
37
41
  };