@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
@@ -9,6 +9,7 @@ var __defProp = Object.defineProperty;
9
9
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
10
10
  var __getOwnPropNames = Object.getOwnPropertyNames;
11
11
  var __hasOwnProp = Object.prototype.hasOwnProperty;
12
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
12
13
  var __export = (target, all) => {
13
14
  for (var name in all)
14
15
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -69,15 +70,19 @@ var TaskState = /* @__PURE__ */ ((TaskState2) => {
69
70
  function isTaskStatusUpdateEvent(event) {
70
71
  return (event == null ? void 0 : event.kind) === "status-update";
71
72
  }
73
+ __name(isTaskStatusUpdateEvent, "isTaskStatusUpdateEvent");
72
74
  function isTaskArtifactUpdateEvent(event) {
73
75
  return (event == null ? void 0 : event.kind) === "artifact-update";
74
76
  }
77
+ __name(isTaskArtifactUpdateEvent, "isTaskArtifactUpdateEvent");
75
78
  function isMessage(event) {
76
79
  return (event == null ? void 0 : event.kind) === "message";
77
80
  }
81
+ __name(isMessage, "isMessage");
78
82
  function isTask(event) {
79
83
  return (event == null ? void 0 : event.kind) === "task";
80
84
  }
85
+ __name(isTask, "isTask");
81
86
  function getEventMetadata(event) {
82
87
  if (isTaskArtifactUpdateEvent(event)) {
83
88
  return event.artifact.metadata || {};
@@ -87,9 +92,11 @@ function getEventMetadata(event) {
87
92
  }
88
93
  return {};
89
94
  }
95
+ __name(getEventMetadata, "getEventMetadata");
90
96
  function isFailedTaskStatusUpdateEvent(event) {
91
97
  return (isTaskStatusUpdateEvent(event) || isTask(event)) && event.status.state === "failed" /* FAILED */;
92
98
  }
99
+ __name(isFailedTaskStatusUpdateEvent, "isFailedTaskStatusUpdateEvent");
93
100
  function isTerminalTaskStatusUpdateEvent(event) {
94
101
  return (isTaskStatusUpdateEvent(event) || isTask(event)) && [
95
102
  "completed" /* COMPLETED */,
@@ -98,9 +105,11 @@ function isTerminalTaskStatusUpdateEvent(event) {
98
105
  "rejected" /* REJECTED */
99
106
  ].includes(event.status.state);
100
107
  }
108
+ __name(isTerminalTaskStatusUpdateEvent, "isTerminalTaskStatusUpdateEvent");
101
109
  function isInputRequiredTaskStatusUpdateEvent(event) {
102
110
  return (isTaskStatusUpdateEvent(event) || isTask(event)) && event.status.state === "input-required" /* INPUT_REQUIRED */;
103
111
  }
112
+ __name(isInputRequiredTaskStatusUpdateEvent, "isInputRequiredTaskStatusUpdateEvent");
104
113
  function getFailedTaskStatusUpdateEventError(event) {
105
114
  var _a;
106
115
  if (!isFailedTaskStatusUpdateEvent(event)) {
@@ -115,6 +124,7 @@ function getFailedTaskStatusUpdateEventError(event) {
115
124
  }
116
125
  return parts[0].text;
117
126
  }
127
+ __name(getFailedTaskStatusUpdateEventError, "getFailedTaskStatusUpdateEventError");
118
128
  function createTaskSubmittedEvent({
119
129
  taskId,
120
130
  contextId,
@@ -134,6 +144,7 @@ function createTaskSubmittedEvent({
134
144
  metadata
135
145
  };
136
146
  }
147
+ __name(createTaskSubmittedEvent, "createTaskSubmittedEvent");
137
148
  function createTask({
138
149
  contextId,
139
150
  message,
@@ -152,6 +163,7 @@ function createTask({
152
163
  metadata
153
164
  };
154
165
  }
166
+ __name(createTask, "createTask");
155
167
  function createTaskWorkingEvent({
156
168
  taskId,
157
169
  contextId,
@@ -171,6 +183,7 @@ function createTaskWorkingEvent({
171
183
  metadata
172
184
  };
173
185
  }
186
+ __name(createTaskWorkingEvent, "createTaskWorkingEvent");
174
187
  function createTaskCompletedEvent({
175
188
  taskId,
176
189
  contextId,
@@ -188,6 +201,7 @@ function createTaskCompletedEvent({
188
201
  metadata
189
202
  };
190
203
  }
204
+ __name(createTaskCompletedEvent, "createTaskCompletedEvent");
191
205
  function createTaskArtifactUpdateEvent({
192
206
  taskId,
193
207
  contextId,
@@ -210,6 +224,7 @@ function createTaskArtifactUpdateEvent({
210
224
  metadata
211
225
  };
212
226
  }
227
+ __name(createTaskArtifactUpdateEvent, "createTaskArtifactUpdateEvent");
213
228
  function createTaskFailedEvent({
214
229
  taskId,
215
230
  contextId,
@@ -241,6 +256,7 @@ function createTaskFailedEvent({
241
256
  metadata
242
257
  };
243
258
  }
259
+ __name(createTaskFailedEvent, "createTaskFailedEvent");
244
260
  function createTaskInputRequiredEvent({
245
261
  taskId,
246
262
  contextId,
@@ -267,6 +283,7 @@ function createTaskInputRequiredEvent({
267
283
  metadata
268
284
  };
269
285
  }
286
+ __name(createTaskInputRequiredEvent, "createTaskInputRequiredEvent");
270
287
  function createInputMissingErrorEvent({
271
288
  taskId,
272
289
  contextId,
@@ -293,6 +310,7 @@ function createInputMissingErrorEvent({
293
310
  metadata
294
311
  };
295
312
  }
313
+ __name(createInputMissingErrorEvent, "createInputMissingErrorEvent");
296
314
  // Annotate the CommonJS export names for ESM import in node:
297
315
  0 && (module.exports = {
298
316
  MessageRole,
@@ -9,6 +9,7 @@ var __defProp = Object.defineProperty;
9
9
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
10
10
  var __getOwnPropNames = Object.getOwnPropertyNames;
11
11
  var __hasOwnProp = Object.prototype.hasOwnProperty;
12
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
12
13
  var __export = (target, all) => {
13
14
  for (var name in all)
14
15
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -46,7 +47,7 @@ var import_part_converter_utils = require("./part_converter_utils.js");
46
47
  * Copyright 2026 Google LLC
47
48
  * SPDX-License-Identifier: Apache-2.0
48
49
  */
49
- class RemoteA2AAgent extends import_base_agent.BaseAgent {
50
+ const _RemoteA2AAgent = class _RemoteA2AAgent extends import_base_agent.BaseAgent {
50
51
  constructor(a2aConfig) {
51
52
  super(a2aConfig);
52
53
  this.a2aConfig = a2aConfig;
@@ -181,7 +182,9 @@ class RemoteA2AAgent extends import_base_agent.BaseAgent {
181
182
  runLiveImpl(_context) {
182
183
  throw new Error("Live mode is not supported in A2ARemoteAgent yet.");
183
184
  }
184
- }
185
+ };
186
+ __name(_RemoteA2AAgent, "RemoteA2AAgent");
187
+ let RemoteA2AAgent = _RemoteA2AAgent;
185
188
  // Annotate the CommonJS export names for ESM import in node:
186
189
  0 && (module.exports = {
187
190
  AGENT_CARD_PATH,
@@ -9,6 +9,7 @@ var __defProp = Object.defineProperty;
9
9
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
10
10
  var __getOwnPropNames = Object.getOwnPropertyNames;
11
11
  var __hasOwnProp = Object.prototype.hasOwnProperty;
12
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
12
13
  var __export = (target, all) => {
13
14
  for (var name in all)
14
15
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -28,6 +29,7 @@ __export(a2a_remote_agent_run_processor_exports, {
28
29
  });
29
30
  module.exports = __toCommonJS(a2a_remote_agent_run_processor_exports);
30
31
  var import_genai = require("@google/genai");
32
+ var import_invocation_context = require("../agents/invocation_context.js");
31
33
  var import_event = require("../events/event.js");
32
34
  var import_a2a_event = require("./a2a_event.js");
33
35
  var import_metadata_converter_utils = require("./metadata_converter_utils.js");
@@ -36,7 +38,7 @@ var import_metadata_converter_utils = require("./metadata_converter_utils.js");
36
38
  * Copyright 2026 Google LLC
37
39
  * SPDX-License-Identifier: Apache-2.0
38
40
  */
39
- class A2ARemoteAgentRunProcessor {
41
+ const _A2ARemoteAgentRunProcessor = class _A2ARemoteAgentRunProcessor {
40
42
  constructor(request) {
41
43
  this.request = request;
42
44
  this.aggregations = /* @__PURE__ */ new Map();
@@ -147,7 +149,7 @@ class A2ARemoteAgentRunProcessor {
147
149
  buildNonPartialAggregation(context, agg) {
148
150
  this.promoteTextBlocksToParts(agg);
149
151
  const result = (0, import_event.createEvent)({
150
- author: context.agent.name,
152
+ author: (0, import_invocation_context.requireAgent)(context).name,
151
153
  invocationId: context.invocationId,
152
154
  content: agg.parts.length > 0 ? (0, import_genai.createModelContent)([...agg.parts]) : void 0,
153
155
  customMetadata: agg.customMeta,
@@ -198,7 +200,9 @@ class A2ARemoteAgentRunProcessor {
198
200
  event.customMetadata[`a2a:${k}`] = v;
199
201
  }
200
202
  }
201
- }
203
+ };
204
+ __name(_A2ARemoteAgentRunProcessor, "A2ARemoteAgentRunProcessor");
205
+ let A2ARemoteAgentRunProcessor = _A2ARemoteAgentRunProcessor;
202
206
  // Annotate the CommonJS export names for ESM import in node:
203
207
  0 && (module.exports = {
204
208
  A2ARemoteAgentRunProcessor
@@ -9,6 +9,7 @@ var __defProp = Object.defineProperty;
9
9
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
10
10
  var __getOwnPropNames = Object.getOwnPropertyNames;
11
11
  var __hasOwnProp = Object.prototype.hasOwnProperty;
12
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
12
13
  var __export = (target, all) => {
13
14
  for (var name in all)
14
15
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -31,6 +32,7 @@ __export(a2a_remote_agent_utils_exports, {
31
32
  toMissingRemoteSessionParts: () => toMissingRemoteSessionParts
32
33
  });
33
34
  module.exports = __toCommonJS(a2a_remote_agent_utils_exports);
35
+ var import_invocation_context = require("../agents/invocation_context.js");
34
36
  var import_event = require("../events/event.js");
35
37
  var import_metadata_converter_utils = require("./metadata_converter_utils.js");
36
38
  var import_part_converter_utils = require("./part_converter_utils.js");
@@ -68,6 +70,7 @@ function getUserFunctionCallAt(session, index) {
68
70
  }
69
71
  return void 0;
70
72
  }
73
+ __name(getUserFunctionCallAt, "getUserFunctionCallAt");
71
74
  function isFunctionCallEvent(event, callId) {
72
75
  if (!event || !event.content || !event.content.parts) {
73
76
  return false;
@@ -76,6 +79,7 @@ function isFunctionCallEvent(event, callId) {
76
79
  (part) => part.functionCall && part.functionCall.id === callId
77
80
  );
78
81
  }
82
+ __name(isFunctionCallEvent, "isFunctionCallEvent");
79
83
  function getFunctionResponseCallId(event) {
80
84
  var _a;
81
85
  if (!event || !event.content || !event.content.parts) {
@@ -86,13 +90,14 @@ function getFunctionResponseCallId(event) {
86
90
  );
87
91
  return (_a = responsePart == null ? void 0 : responsePart.functionResponse) == null ? void 0 : _a.id;
88
92
  }
93
+ __name(getFunctionResponseCallId, "getFunctionResponseCallId");
89
94
  function toMissingRemoteSessionParts(ctx, session) {
90
95
  const events = session.events;
91
96
  let contextId = void 0;
92
97
  let lastRemoteResponseIndex = -1;
93
98
  for (let i = events.length - 1; i >= 0; i--) {
94
99
  const event = events[i];
95
- if (event.author === ctx.agent.name) {
100
+ if (event.author === (0, import_invocation_context.requireAgent)(ctx).name) {
96
101
  lastRemoteResponseIndex = i;
97
102
  const metadata = event.customMetadata || {};
98
103
  contextId = metadata[import_metadata_converter_utils.AdkMetadataKeys.CONTEXT_ID];
@@ -102,7 +107,7 @@ function toMissingRemoteSessionParts(ctx, session) {
102
107
  const missingParts = [];
103
108
  for (let i = lastRemoteResponseIndex + 1; i < events.length; i++) {
104
109
  let event = events[i];
105
- if (event.author !== "user" && event.author !== ctx.agent.name) {
110
+ if (event.author !== "user" && event.author !== (0, import_invocation_context.requireAgent)(ctx).name) {
106
111
  event = presentAsUserMessage(ctx, event);
107
112
  }
108
113
  if (!event.content || !event.content.parts || event.content.parts.length === 0) {
@@ -116,6 +121,7 @@ function toMissingRemoteSessionParts(ctx, session) {
116
121
  contextId
117
122
  };
118
123
  }
124
+ __name(toMissingRemoteSessionParts, "toMissingRemoteSessionParts");
119
125
  function presentAsUserMessage(ctx, agentEvent) {
120
126
  const event = (0, import_event.createEvent)({
121
127
  author: "user",
@@ -155,6 +161,7 @@ function presentAsUserMessage(ctx, agentEvent) {
155
161
  }
156
162
  return event;
157
163
  }
164
+ __name(presentAsUserMessage, "presentAsUserMessage");
158
165
  // Annotate the CommonJS export names for ESM import in node:
159
166
  0 && (module.exports = {
160
167
  getFunctionResponseCallId,
@@ -11,6 +11,7 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
11
11
  var __getOwnPropNames = Object.getOwnPropertyNames;
12
12
  var __getProtoOf = Object.getPrototypeOf;
13
13
  var __hasOwnProp = Object.prototype.hasOwnProperty;
14
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
14
15
  var __export = (target, all) => {
15
16
  for (var name in all)
16
17
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -50,6 +51,7 @@ var import_sequential_agent = require("../agents/sequential_agent.js");
50
51
  var import_base_tool = require("../tools/base_tool.js");
51
52
  var import_base_toolset = require("../tools/base_toolset.js");
52
53
  var import_logger = require("../utils/logger.js");
54
+ var import_workflow = require("../workflow/workflow.js");
53
55
  /**
54
56
  * @license
55
57
  * Copyright 2026 Google LLC
@@ -73,6 +75,7 @@ async function resolveAgentCard(agentCard) {
73
75
  );
74
76
  }
75
77
  }
78
+ __name(resolveAgentCard, "resolveAgentCard");
76
79
  async function getA2AAgentCard(agent, transports) {
77
80
  return {
78
81
  name: agent.name,
@@ -93,6 +96,7 @@ async function getA2AAgentCard(agent, transports) {
93
96
  additionalInterfaces: transports
94
97
  };
95
98
  }
99
+ __name(getA2AAgentCard, "getA2AAgentCard");
96
100
  async function buildAgentSkills(agent) {
97
101
  const [primarySkills, subAgentSkills] = await Promise.all([
98
102
  buildPrimarySkills(agent),
@@ -100,14 +104,26 @@ async function buildAgentSkills(agent) {
100
104
  ]);
101
105
  return [...primarySkills, ...subAgentSkills];
102
106
  }
107
+ __name(buildAgentSkills, "buildAgentSkills");
103
108
  async function buildPrimarySkills(agent) {
109
+ if ((0, import_workflow.isWorkflow)(agent)) {
110
+ return [
111
+ {
112
+ id: agent.name,
113
+ name: "workflow",
114
+ description: agent.description || `Workflow ${agent.name}`,
115
+ tags: ["workflow"]
116
+ }
117
+ ];
118
+ }
104
119
  if ((0, import_llm_agent.isLlmAgent)(agent)) {
105
120
  return buildLLMAgentSkills(agent);
106
121
  }
107
122
  return buildNonLLMAgentSkills(agent);
108
123
  }
124
+ __name(buildPrimarySkills, "buildPrimarySkills");
109
125
  async function buildSubAgentSkills(agent) {
110
- const subAgents = agent.subAgents;
126
+ const subAgents = (0, import_workflow.isWorkflow)(agent) ? [] : agent.subAgents;
111
127
  const result = [];
112
128
  for (const sub of subAgents) {
113
129
  const skills = await buildPrimarySkills(sub);
@@ -123,6 +139,7 @@ async function buildSubAgentSkills(agent) {
123
139
  }
124
140
  return result;
125
141
  }
142
+ __name(buildSubAgentSkills, "buildSubAgentSkills");
126
143
  async function buildLLMAgentSkills(agent) {
127
144
  const skills = [
128
145
  {
@@ -146,6 +163,7 @@ async function buildLLMAgentSkills(agent) {
146
163
  }
147
164
  return skills;
148
165
  }
166
+ __name(buildLLMAgentSkills, "buildLLMAgentSkills");
149
167
  function toolToSkill(prefix, tool) {
150
168
  let description = tool.description;
151
169
  if (!description) {
@@ -158,6 +176,7 @@ function toolToSkill(prefix, tool) {
158
176
  tags: ["llm", "tools"]
159
177
  };
160
178
  }
179
+ __name(toolToSkill, "toolToSkill");
161
180
  function buildNonLLMAgentSkills(agent) {
162
181
  const skills = [
163
182
  {
@@ -181,6 +200,7 @@ function buildNonLLMAgentSkills(agent) {
181
200
  }
182
201
  return skills;
183
202
  }
203
+ __name(buildNonLLMAgentSkills, "buildNonLLMAgentSkills");
184
204
  function buildAgentDescription(agent) {
185
205
  const descriptionParts = [];
186
206
  if (agent.description) {
@@ -201,6 +221,7 @@ function buildAgentDescription(agent) {
201
221
  return getDefaultAgentDescription(agent);
202
222
  }
203
223
  }
224
+ __name(buildAgentDescription, "buildAgentDescription");
204
225
  function buildSequentialAgentDescription(agent) {
205
226
  const subAgents = agent.subAgents;
206
227
  const descriptions = [];
@@ -219,6 +240,7 @@ function buildSequentialAgentDescription(agent) {
219
240
  });
220
241
  return descriptions.join(" ");
221
242
  }
243
+ __name(buildSequentialAgentDescription, "buildSequentialAgentDescription");
222
244
  function buildParallelAgentDescription(agent) {
223
245
  const subAgents = agent.subAgents;
224
246
  const descriptions = [];
@@ -237,6 +259,7 @@ function buildParallelAgentDescription(agent) {
237
259
  });
238
260
  return `${descriptions.join(" ")} simultaneously.`;
239
261
  }
262
+ __name(buildParallelAgentDescription, "buildParallelAgentDescription");
240
263
  function buildLoopAgentDescription(agent) {
241
264
  const maxIterationsVal = agent.maxIterations;
242
265
  let maxIterations = "unlimited";
@@ -260,6 +283,7 @@ function buildLoopAgentDescription(agent) {
260
283
  });
261
284
  return `${descriptions.join(" ")} in a loop (max ${maxIterations} iterations).`;
262
285
  }
286
+ __name(buildLoopAgentDescription, "buildLoopAgentDescription");
263
287
  async function buildDescriptionFromInstructions(agent) {
264
288
  const descriptionParts = [];
265
289
  if (agent.description) {
@@ -317,6 +341,7 @@ async function buildDescriptionFromInstructions(agent) {
317
341
  return getDefaultAgentDescription(agent);
318
342
  }
319
343
  }
344
+ __name(buildDescriptionFromInstructions, "buildDescriptionFromInstructions");
320
345
  function replacePronouns(instruction) {
321
346
  const substitutions = [
322
347
  { original: "you were", target: "I was" },
@@ -334,6 +359,7 @@ function replacePronouns(instruction) {
334
359
  }
335
360
  return result;
336
361
  }
362
+ __name(replacePronouns, "replacePronouns");
337
363
  function getDefaultAgentDescription(agent) {
338
364
  if ((0, import_loop_agent.isLoopAgent)(agent)) {
339
365
  return "A loop workflow agent";
@@ -347,6 +373,7 @@ function getDefaultAgentDescription(agent) {
347
373
  return "A custom agent";
348
374
  }
349
375
  }
376
+ __name(getDefaultAgentDescription, "getDefaultAgentDescription");
350
377
  function getAgentTypeTag(agent) {
351
378
  if ((0, import_loop_agent.isLoopAgent)(agent)) {
352
379
  return "loop_workflow";
@@ -360,18 +387,21 @@ function getAgentTypeTag(agent) {
360
387
  return "custom_agent";
361
388
  }
362
389
  }
390
+ __name(getAgentTypeTag, "getAgentTypeTag");
363
391
  function getAgentSkillName(agent) {
364
392
  if ((0, import_llm_agent.isLlmAgent)(agent)) {
365
393
  return "model";
366
394
  }
367
- if (isWorkflowAgent(agent)) {
395
+ if (isCompositeShellAgent(agent) || (0, import_workflow.isWorkflow)(agent)) {
368
396
  return "workflow";
369
397
  }
370
398
  return "custom";
371
399
  }
372
- function isWorkflowAgent(agent) {
400
+ __name(getAgentSkillName, "getAgentSkillName");
401
+ function isCompositeShellAgent(agent) {
373
402
  return (0, import_loop_agent.isLoopAgent)(agent) || (0, import_sequential_agent.isSequentialAgent)(agent) || (0, import_parallel_agent.isParallelAgent)(agent);
374
403
  }
404
+ __name(isCompositeShellAgent, "isCompositeShellAgent");
375
405
  // Annotate the CommonJS export names for ESM import in node:
376
406
  0 && (module.exports = {
377
407
  buildAgentSkills,
@@ -9,6 +9,7 @@ var __defProp = Object.defineProperty;
9
9
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
10
10
  var __getOwnPropNames = Object.getOwnPropertyNames;
11
11
  var __hasOwnProp = Object.prototype.hasOwnProperty;
12
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
12
13
  var __export = (target, all) => {
13
14
  for (var name in all)
14
15
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -40,7 +41,7 @@ var import_part_converter_utils = require("./part_converter_utils.js");
40
41
  * Copyright 2026 Google LLC
41
42
  * SPDX-License-Identifier: Apache-2.0
42
43
  */
43
- class A2AAgentExecutor {
44
+ const _A2AAgentExecutor = class _A2AAgentExecutor {
44
45
  constructor(config) {
45
46
  this.config = config;
46
47
  this.agentPartialArtifactIdsMap = {};
@@ -70,19 +71,20 @@ class A2AAgentExecutor {
70
71
  if (this.config.beforeExecuteCallback) {
71
72
  await this.config.beforeExecuteCallback(ctx);
72
73
  }
73
- if (ctx.task) {
74
- const inputRequiredEvent = (0, import_event_processor_utils.getTaskInputRequiredEvent)(
75
- ctx.task,
76
- genAIUserMessage
77
- );
78
- if (inputRequiredEvent) {
79
- await this.publishFinalTaskStatus({
80
- executorContext,
81
- eventBus,
82
- event: inputRequiredEvent
83
- });
84
- return;
85
- }
74
+ const unansweredRequestEvent = (0, import_event_processor_utils.getUnansweredRequestEvent)({
75
+ taskId: ctx.taskId,
76
+ contextId: ctx.contextId,
77
+ task: ctx.task,
78
+ sessionEvents: session.events,
79
+ genAIContent: genAIUserMessage
80
+ });
81
+ if (unansweredRequestEvent) {
82
+ await this.publishFinalTaskStatus({
83
+ executorContext,
84
+ eventBus,
85
+ event: unansweredRequestEvent
86
+ });
87
+ return;
86
88
  }
87
89
  if (!ctx.task) {
88
90
  eventBus.publish(
@@ -104,7 +106,10 @@ class A2AAgentExecutor {
104
106
  userId,
105
107
  sessionId,
106
108
  newMessage: genAIUserMessage,
107
- runConfig: this.config.runConfig
109
+ // Marked remote so the run knows this message came from a peer rather
110
+ // than from the operator: a human-in-the-loop gate is not answerable
111
+ // over A2A unless the deployment opts in.
112
+ runConfig: { ...this.config.runConfig, remoteDelivered: true }
108
113
  })) {
109
114
  adkEvents.push(adkEvent);
110
115
  const a2aEvent = this.convertAdkEventToA2AEvent(
@@ -189,7 +194,9 @@ class A2AAgentExecutor {
189
194
  }
190
195
  eventBus.publish(event);
191
196
  }
192
- }
197
+ };
198
+ __name(_A2AAgentExecutor, "A2AAgentExecutor");
199
+ let A2AAgentExecutor = _A2AAgentExecutor;
193
200
  async function getAdkSession(userId, sessionId, sessionService, appName) {
194
201
  const session = await sessionService.getSession({
195
202
  appName,
@@ -205,6 +212,7 @@ async function getAdkSession(userId, sessionId, sessionService, appName) {
205
212
  sessionId
206
213
  });
207
214
  }
215
+ __name(getAdkSession, "getAdkSession");
208
216
  async function getAdkRunner(runnerOrConfig) {
209
217
  if (typeof runnerOrConfig === "function") {
210
218
  const result = await runnerOrConfig();
@@ -215,6 +223,7 @@ async function getAdkRunner(runnerOrConfig) {
215
223
  }
216
224
  return new import_runner.Runner(runnerOrConfig);
217
225
  }
226
+ __name(getAdkRunner, "getAdkRunner");
218
227
  // Annotate the CommonJS export names for ESM import in node:
219
228
  0 && (module.exports = {
220
229
  A2AAgentExecutor
@@ -11,6 +11,7 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
11
11
  var __getOwnPropNames = Object.getOwnPropertyNames;
12
12
  var __getProtoOf = Object.getPrototypeOf;
13
13
  var __hasOwnProp = Object.prototype.hasOwnProperty;
14
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
14
15
  var __export = (target, all) => {
15
16
  for (var name in all)
16
17
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -39,11 +40,10 @@ __export(agent_to_a2a_exports, {
39
40
  module.exports = __toCommonJS(agent_to_a2a_exports);
40
41
  var import_sdk = require("@a2a-js/sdk");
41
42
  var import_server = require("@a2a-js/sdk/server");
42
- var import_express = require("@a2a-js/sdk/server/express");
43
- var import_express2 = __toESM(require("express"), 1);
44
43
  var import_run_config = require("../agents/run_config.js");
45
44
  var import_in_memory_session_service = require("../sessions/in_memory_session_service.js");
46
45
  var import_logger = require("../utils/logger.js");
46
+ var import_optional_peer = require("../utils/optional_peer.js");
47
47
  var import_agent_card = require("./agent_card.js");
48
48
  var import_agent_executor = require("./agent_executor.js");
49
49
  /**
@@ -51,7 +51,16 @@ var import_agent_executor = require("./agent_executor.js");
51
51
  * Copyright 2026 Google LLC
52
52
  * SPDX-License-Identifier: Apache-2.0
53
53
  */
54
- function resolveA2aUserBuilder(options) {
54
+ async function loadExpressBindings() {
55
+ const expressModule = await (0, import_optional_peer.loadOptionalPeer)(
56
+ { packageName: "express", feature: "toA2a" },
57
+ () => Promise.resolve().then(() => __toESM(require("express"), 1))
58
+ );
59
+ const a2aExpress = await Promise.resolve().then(() => __toESM(require("@a2a-js/sdk/server/express"), 1));
60
+ return { express: expressModule.default, a2aExpress };
61
+ }
62
+ __name(loadExpressBindings, "loadExpressBindings");
63
+ function resolveA2aUserBuilder(options, a2aExpress) {
55
64
  if (options.authentication) {
56
65
  return options.authentication;
57
66
  }
@@ -59,15 +68,17 @@ function resolveA2aUserBuilder(options) {
59
68
  import_logger.logger.warn(
60
69
  "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."
61
70
  );
62
- return import_express.UserBuilder.noAuthentication;
71
+ return a2aExpress.UserBuilder.noAuthentication;
63
72
  }
64
73
  throw new Error(
65
74
  "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`."
66
75
  );
67
76
  }
77
+ __name(resolveA2aUserBuilder, "resolveA2aUserBuilder");
68
78
  async function toA2a(agent, options = {}) {
69
79
  var _a, _b, _c, _d;
70
- const userBuilder = resolveA2aUserBuilder(options);
80
+ const { express: expressFactory, a2aExpress } = await loadExpressBindings();
81
+ const userBuilder = resolveA2aUserBuilder(options, a2aExpress);
71
82
  const host = (_a = options.host) != null ? _a : "localhost";
72
83
  const port = (_b = options.port) != null ? _b : 8e3;
73
84
  const protocol = (_c = options.protocol) != null ? _c : "http";
@@ -100,30 +111,31 @@ async function toA2a(agent, options = {}) {
100
111
  new import_server.InMemoryTaskStore(),
101
112
  agentExecutor
102
113
  );
103
- const app = (_d = options.app) != null ? _d : (0, import_express2.default)();
114
+ const app = (_d = options.app) != null ? _d : expressFactory();
104
115
  if (!options.app) {
105
- app.use(import_express2.default.json({ limit: "50mb" }));
116
+ app.use(expressFactory.json({ limit: "50mb" }));
106
117
  }
107
118
  app.use(
108
119
  `${basePath}/${import_sdk.AGENT_CARD_PATH}`,
109
- (0, import_express.agentCardHandler)({ agentCardProvider: requestHandler })
120
+ a2aExpress.agentCardHandler({ agentCardProvider: requestHandler })
110
121
  );
111
122
  app.use(
112
123
  `${basePath}/rest`,
113
- (0, import_express.restHandler)({
124
+ a2aExpress.restHandler({
114
125
  requestHandler,
115
126
  userBuilder
116
127
  })
117
128
  );
118
129
  app.use(
119
130
  `${basePath}/jsonrpc`,
120
- (0, import_express.jsonRpcHandler)({
131
+ a2aExpress.jsonRpcHandler({
121
132
  requestHandler,
122
133
  userBuilder
123
134
  })
124
135
  );
125
136
  return app;
126
137
  }
138
+ __name(toA2a, "toA2a");
127
139
  // Annotate the CommonJS export names for ESM import in node:
128
140
  0 && (module.exports = {
129
141
  toA2a
@@ -9,6 +9,7 @@ var __defProp = Object.defineProperty;
9
9
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
10
10
  var __getOwnPropNames = Object.getOwnPropertyNames;
11
11
  var __hasOwnProp = Object.prototype.hasOwnProperty;
12
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
12
13
  var __export = (target, all) => {
13
14
  for (var name in all)
14
15
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -40,6 +41,7 @@ function timingSafeEqualStrings(a, b) {
40
41
  const right = Buffer.from(b, "utf8");
41
42
  return left.length === right.length && (0, import_node_crypto.timingSafeEqual)(left, right);
42
43
  }
44
+ __name(timingSafeEqualStrings, "timingSafeEqualStrings");
43
45
  function bearerTokenUserBuilder(token) {
44
46
  const expected = token.trim();
45
47
  if (!expected) {
@@ -59,6 +61,7 @@ function bearerTokenUserBuilder(token) {
59
61
  return { isAuthenticated: true, userName: AUTHENTICATED_USER_NAME };
60
62
  };
61
63
  }
64
+ __name(bearerTokenUserBuilder, "bearerTokenUserBuilder");
62
65
  // Annotate the CommonJS export names for ESM import in node:
63
66
  0 && (module.exports = {
64
67
  bearerTokenUserBuilder