@google/adk 1.5.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 (796) hide show
  1. package/dist/cjs/a2a/a2a_event.js +18 -0
  2. package/dist/cjs/a2a/a2a_remote_agent.js +17 -4
  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 -11
  8. package/dist/cjs/a2a/auth.js +68 -0
  9. package/dist/cjs/a2a/event_converter_utils.js +50 -15
  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 +58 -23
  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 +536 -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 +8 -4
  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 +11 -25
  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 +8 -3
  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 +19 -11
  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 +19 -5
  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 +31 -14
  72. package/dist/cjs/common.js +112 -1
  73. package/dist/cjs/context/agent_controlled_context_compactor.js +7 -13
  74. package/dist/cjs/context/anchored_context_compactor.js +5 -2
  75. package/dist/cjs/context/compaction_utils.js +17 -2
  76. package/dist/cjs/context/summarizers/llm_summarizer.js +5 -2
  77. package/dist/cjs/context/token_based_context_compactor.js +11 -23
  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 -22
  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 +21 -4
  94. package/dist/cjs/memory/vertex_ai_memory_bank_service.js +20 -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 +43 -7
  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 +226 -29
  111. package/dist/cjs/sessions/base_session_service.js +21 -5
  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 +30 -22
  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 +132 -25
  121. package/dist/cjs/skills/gcp_skill_registry.js +2 -0
  122. package/dist/cjs/skills/loader.js +62 -16
  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 +54 -0
  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 +69 -27
  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 +56 -0
  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 +45 -0
  176. package/dist/cjs/utils/deprecated.js +68 -0
  177. package/dist/cjs/utils/env_aware_utils.js +56 -13
  178. package/dist/cjs/utils/error_utils.js +128 -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 +12 -4
  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 +45 -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 +6 -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 +18 -4
  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 -16
  238. package/dist/esm/a2a/auth.js +41 -0
  239. package/dist/esm/a2a/event_converter_utils.js +51 -15
  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 +62 -20
  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 +537 -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 +9 -4
  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 +12 -25
  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 +9 -3
  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 +20 -11
  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 +20 -5
  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 +31 -13
  302. package/dist/esm/common.js +113 -4
  303. package/dist/esm/context/agent_controlled_context_compactor.js +8 -13
  304. package/dist/esm/context/anchored_context_compactor.js +6 -2
  305. package/dist/esm/context/compaction_utils.js +16 -1
  306. package/dist/esm/context/summarizers/llm_summarizer.js +6 -2
  307. package/dist/esm/context/token_based_context_compactor.js +16 -24
  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 -13
  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 +22 -4
  324. package/dist/esm/memory/vertex_ai_memory_bank_service.js +25 -3
  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 +43 -7
  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 +233 -31
  341. package/dist/esm/sessions/base_session_service.js +22 -5
  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 +31 -22
  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 +136 -26
  351. package/dist/esm/skills/gcp_skill_registry.js +2 -0
  352. package/dist/esm/skills/loader.js +63 -16
  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 +27 -0
  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 +80 -30
  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 +29 -0
  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 +18 -0
  406. package/dist/esm/utils/deprecated.js +40 -0
  407. package/dist/esm/utils/env_aware_utils.js +56 -13
  408. package/dist/esm/utils/error_utils.js +101 -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 +13 -4
  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 +18 -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 +7 -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/auth.d.ts +30 -0
  464. package/dist/types/a2a/event_converter_utils.d.ts +4 -1
  465. package/dist/types/a2a/event_processor_utils.d.ts +17 -2
  466. package/dist/types/a2a/index.d.ts +18 -0
  467. package/dist/types/agents/base_agent.d.ts +37 -9
  468. package/dist/types/agents/framework_function_calls.d.ts +26 -0
  469. package/dist/types/agents/functions.d.ts +1 -2
  470. package/dist/types/agents/invocation_context.d.ts +95 -3
  471. package/dist/types/agents/live_request_queue.d.ts +7 -1
  472. package/dist/types/agents/llm_agent.d.ts +77 -1
  473. package/dist/types/agents/loop_agent.d.ts +5 -0
  474. package/dist/types/agents/parallel_agent.d.ts +5 -0
  475. package/dist/types/agents/processors/content_processor_utils.d.ts +3 -2
  476. package/dist/types/agents/processors/identity_llm_request_processor.d.ts +4 -1
  477. package/dist/types/agents/processors/request_input_llm_request_processor.d.ts +21 -0
  478. package/dist/types/agents/run_config.d.ts +57 -2
  479. package/dist/types/agents/sequential_agent.d.ts +5 -0
  480. package/dist/types/agents/user_input_request.d.ts +71 -0
  481. package/dist/types/apps/app.d.ts +8 -3
  482. package/dist/types/artifacts/gcs_artifact_service.d.ts +9 -2
  483. package/dist/types/auth/credential_response_binding.d.ts +24 -0
  484. package/dist/types/auth/credential_service/in_memory_credential_service.d.ts +11 -0
  485. package/dist/types/code_executors/unsafe_local_code_executor.d.ts +5 -1
  486. package/dist/types/common.d.ts +20 -8
  487. package/dist/types/context/agent_controlled_context_compactor.d.ts +0 -1
  488. package/dist/types/context/compaction_utils.d.ts +8 -0
  489. package/dist/types/context/token_based_context_compactor.d.ts +0 -1
  490. package/dist/types/environment/base_environment.d.ts +101 -0
  491. package/dist/types/environment/local_environment.d.ts +72 -0
  492. package/dist/types/events/event.d.ts +94 -1
  493. package/dist/types/events/event_actions.d.ts +10 -0
  494. package/dist/types/index.d.ts +6 -13
  495. package/dist/types/memory/in_memory_memory_service.d.ts +11 -0
  496. package/dist/types/models/apigee_llm.d.ts +4 -4
  497. package/dist/types/models/google_llm.d.ts +2 -1
  498. package/dist/types/plugins/base_plugin.d.ts +39 -2
  499. package/dist/types/plugins/plugin_manager.d.ts +20 -0
  500. package/dist/types/plugins/security_plugin.d.ts +4 -2
  501. package/dist/types/runner/in_memory_runner.d.ts +2 -2
  502. package/dist/types/runner/runner.d.ts +59 -3
  503. package/dist/types/sessions/base_session_service.d.ts +10 -2
  504. package/dist/types/sessions/in_memory_session_service.d.ts +9 -0
  505. package/dist/types/sessions/state.d.ts +34 -1
  506. package/dist/types/sessions/state_write_order.d.ts +39 -0
  507. package/dist/types/sessions/vertex_ai_session_service.d.ts +19 -1
  508. package/dist/types/skills/loader.d.ts +5 -0
  509. package/dist/types/telemetry/tracing.d.ts +15 -0
  510. package/dist/types/tools/base_tool.d.ts +15 -0
  511. package/dist/types/tools/finish_task_tool.d.ts +47 -0
  512. package/dist/types/tools/function_tool.d.ts +46 -1
  513. package/dist/types/tools/get_user_choice_tool.d.ts +14 -0
  514. package/dist/types/tools/mcp/index.d.ts +13 -0
  515. package/dist/types/tools/mcp/mcp_session_manager.d.ts +3 -3
  516. package/dist/types/tools/mcp/mcp_tool.d.ts +1 -1
  517. package/dist/types/tools/mcp/mcp_toolset.d.ts +1 -1
  518. package/dist/types/tools/request_input_tool.d.ts +20 -0
  519. package/dist/types/tools/skill/skill_toolset.d.ts +26 -0
  520. package/dist/types/tools/tool_confirmation.d.ts +47 -0
  521. package/dist/types/utils/async_queue.d.ts +34 -2
  522. package/dist/types/utils/crypto_shim.d.ts +16 -0
  523. package/dist/types/utils/deprecated.d.ts +21 -0
  524. package/dist/types/utils/env_aware_utils.d.ts +39 -0
  525. package/dist/types/utils/error_utils.d.ts +18 -0
  526. package/dist/types/utils/file_utils.d.ts +10 -2
  527. package/dist/types/utils/genai_schema_to_json.d.ts +25 -0
  528. package/dist/types/utils/optional_peer.d.ts +36 -0
  529. package/dist/types/utils/output_schema_utils.d.ts +18 -0
  530. package/dist/types/utils/redact_uri.d.ts +28 -0
  531. package/dist/types/utils/schema.d.ts +73 -0
  532. package/dist/types/utils/simple_zod_to_json.d.ts +8 -0
  533. package/dist/types/utils/vertex_ai_utils.d.ts +5 -0
  534. package/dist/types/version.d.ts +1 -1
  535. package/dist/types/workflow/base_node.d.ts +142 -0
  536. package/dist/types/workflow/branch_path.d.ts +40 -0
  537. package/dist/types/workflow/dynamic_node_scheduler.d.ts +64 -0
  538. package/dist/types/workflow/errors.d.ts +132 -0
  539. package/dist/types/workflow/graph.d.ts +127 -0
  540. package/dist/types/workflow/index.d.ts +46 -0
  541. package/dist/types/workflow/node.d.ts +48 -0
  542. package/dist/types/workflow/node_builders.d.ts +25 -0
  543. package/dist/types/workflow/node_context.d.ts +208 -0
  544. package/dist/types/workflow/node_error_event.d.ts +18 -0
  545. package/dist/types/workflow/node_runner.d.ts +82 -0
  546. package/dist/types/workflow/node_state.d.ts +47 -0
  547. package/dist/types/workflow/node_status.d.ts +28 -0
  548. package/dist/types/workflow/nodes/function_node.d.ts +78 -0
  549. package/dist/types/workflow/nodes/join_node.d.ts +24 -0
  550. package/dist/types/workflow/nodes/node_tool.d.ts +53 -0
  551. package/dist/types/workflow/nodes/parallel_worker.d.ts +55 -0
  552. package/dist/types/workflow/nodes/tool_node.d.ts +34 -0
  553. package/dist/types/workflow/request_input.d.ts +73 -0
  554. package/dist/types/workflow/retry_config.d.ts +84 -0
  555. package/dist/types/workflow/run_llm_agent_as_node.d.ts +28 -0
  556. package/dist/types/workflow/run_node_as_invocation.d.ts +72 -0
  557. package/dist/types/workflow/schedule_dynamic_node.d.ts +66 -0
  558. package/dist/types/workflow/trigger.d.ts +22 -0
  559. package/dist/types/workflow/utils/graph_parser.d.ts +8 -0
  560. package/dist/types/workflow/utils/graph_validation.d.ts +18 -0
  561. package/dist/types/workflow/utils/hitl_utils.d.ts +92 -0
  562. package/dist/types/workflow/utils/rehydration_utils.d.ts +132 -0
  563. package/dist/types/workflow/utils/retry_utils.d.ts +54 -0
  564. package/dist/types/workflow/utils/workflow_graph_utils.d.ts +76 -0
  565. package/dist/types/workflow/workflow.d.ts +115 -0
  566. package/dist/web/a2a/a2a_event.js +19 -0
  567. package/dist/web/a2a/a2a_remote_agent.js +18 -4
  568. package/dist/web/a2a/a2a_remote_agent_run_processor.js +8 -3
  569. package/dist/web/a2a/a2a_remote_agent_utils.js +10 -2
  570. package/dist/web/a2a/agent_card.js +34 -3
  571. package/dist/web/a2a/agent_executor.js +45 -17
  572. package/dist/web/a2a/agent_to_a2a.js +44 -16
  573. package/dist/web/a2a/auth.js +41 -0
  574. package/dist/web/a2a/event_converter_utils.js +50 -15
  575. package/dist/web/a2a/event_processor_utils.js +73 -34
  576. package/dist/web/a2a/executor_context.js +3 -0
  577. package/dist/web/a2a/index.js +20 -0
  578. package/dist/web/a2a/metadata_converter_utils.js +5 -0
  579. package/dist/web/a2a/part_converter_utils.js +13 -0
  580. package/dist/web/agents/active_streaming_tool.js +6 -2
  581. package/dist/web/agents/base_agent.js +48 -9
  582. package/dist/web/agents/context.js +6 -2
  583. package/dist/web/agents/framework_function_calls.js +34 -0
  584. package/dist/web/agents/functions.js +62 -20
  585. package/dist/web/agents/instructions.js +52 -12
  586. package/dist/web/agents/invocation_context.js +56 -7
  587. package/dist/web/agents/live_request_queue.js +30 -5
  588. package/dist/web/agents/llm_agent.js +631 -52
  589. package/dist/web/agents/loop_agent.js +21 -2
  590. package/dist/web/agents/parallel_agent.js +23 -2
  591. package/dist/web/agents/processors/agent_transfer_llm_request_processor.js +8 -4
  592. package/dist/web/agents/processors/base_llm_processor.js +10 -4
  593. package/dist/web/agents/processors/basic_llm_request_processor.js +8 -4
  594. package/dist/web/agents/processors/code_execution_request_processor.js +19 -5
  595. package/dist/web/agents/processors/content_processor_utils.js +87 -16
  596. package/dist/web/agents/processors/content_request_processor.js +12 -25
  597. package/dist/web/agents/processors/context_compactor_request_processor.js +6 -2
  598. package/dist/web/agents/processors/identity_llm_request_processor.js +13 -4
  599. package/dist/web/agents/processors/instructions_llm_request_processor.js +9 -3
  600. package/dist/web/agents/processors/interactions_request_processor.js +6 -2
  601. package/dist/web/agents/processors/request_confirmation_llm_request_processor.js +329 -104
  602. package/dist/web/agents/processors/request_input_llm_request_processor.js +228 -0
  603. package/dist/web/agents/processors/tool_filter_request_processor.js +6 -2
  604. package/dist/web/agents/readonly_context.js +8 -3
  605. package/dist/web/agents/routed_agent.js +6 -14
  606. package/dist/web/agents/run_config.js +12 -0
  607. package/dist/web/agents/sequential_agent.js +22 -3
  608. package/dist/web/agents/user_input_request.js +135 -0
  609. package/dist/web/apps/app.js +14 -11
  610. package/dist/web/apps/resumability_config.js +2 -0
  611. package/dist/web/artifacts/file_artifact_service.js +22 -2
  612. package/dist/web/artifacts/gcs_artifact_service.js +56 -11
  613. package/dist/web/artifacts/in_memory_artifact_service.js +20 -11
  614. package/dist/web/artifacts/registry.js +7 -1
  615. package/dist/web/artifacts/scoped_artifact_service.js +5 -2
  616. package/dist/web/auth/auth_handler.js +5 -2
  617. package/dist/web/auth/auth_preprocessor.js +50 -41
  618. package/dist/web/auth/auth_provider_registry.js +6 -2
  619. package/dist/web/auth/auth_schemes.js +3 -0
  620. package/dist/web/auth/credential_response_binding.js +91 -0
  621. package/dist/web/auth/credential_service/in_memory_credential_service.js +20 -5
  622. package/dist/web/auth/credential_service/session_state_credential_service.js +6 -2
  623. package/dist/web/auth/exchanger/base_credential_exchanger.js +6 -2
  624. package/dist/web/auth/exchanger/credential_exchanger_registry.js +6 -2
  625. package/dist/web/auth/oauth2/oauth2_credential_exchanger.js +8 -2
  626. package/dist/web/auth/oauth2/oauth2_credential_refresher.js +5 -2
  627. package/dist/web/auth/oauth2/oauth2_discovery.js +8 -2
  628. package/dist/web/auth/oauth2/oauth2_utils.js +7 -0
  629. package/dist/web/auth/refresher/base_credential_refresher.js +6 -2
  630. package/dist/web/auth/refresher/credential_refresher_registry.js +6 -2
  631. package/dist/web/code_executors/agent_engine_sandbox_code_executor.js +3 -0
  632. package/dist/web/code_executors/base_code_executor.js +7 -2
  633. package/dist/web/code_executors/built_in_code_executor.js +7 -2
  634. package/dist/web/code_executors/code_execution_utils.js +7 -0
  635. package/dist/web/code_executors/code_executor_context.js +6 -2
  636. package/dist/web/code_executors/unsafe_local_code_executor.js +31 -13
  637. package/dist/web/common.js +113 -4
  638. package/dist/web/context/agent_controlled_context_compactor.js +8 -13
  639. package/dist/web/context/anchored_context_compactor.js +5 -2
  640. package/dist/web/context/compaction_utils.js +16 -1
  641. package/dist/web/context/summarizers/llm_summarizer.js +6 -2
  642. package/dist/web/context/token_based_context_compactor.js +16 -24
  643. package/dist/web/context/trajectory_thought_pruning_compactor.js +6 -2
  644. package/dist/web/context/truncating_context_compactor.js +6 -2
  645. package/dist/web/environment/base_environment.js +71 -0
  646. package/dist/web/environment/local_environment.js +165 -0
  647. package/dist/web/events/compacted_event.js +4 -0
  648. package/dist/web/events/event.js +37 -3
  649. package/dist/web/events/event_actions.js +5 -0
  650. package/dist/web/events/structured_events.js +3 -0
  651. package/dist/web/examples/base_example_provider.js +7 -2
  652. package/dist/web/examples/example_util.js +4 -0
  653. package/dist/web/features/feature_registry.js +8 -0
  654. package/dist/web/index.js +4 -13
  655. package/dist/web/integrations/agent_registry/agent_registry.js +8 -4
  656. package/dist/web/integrations/agent_registry/agent_registry_mcp_toolset.js +5 -2
  657. package/dist/web/integrations/agent_registry/helpers.js +4 -0
  658. package/dist/web/memory/in_memory_memory_service.js +22 -4
  659. package/dist/web/memory/vertex_ai_memory_bank_service.js +24 -3
  660. package/dist/web/models/apigee_llm.js +9 -3
  661. package/dist/web/models/base_llm.js +8 -3
  662. package/dist/web/models/gemini_llm_connection.js +6 -2
  663. package/dist/web/models/google_llm.js +25 -13
  664. package/dist/web/models/interactions_utils.js +17 -0
  665. package/dist/web/models/llm_request.js +5 -0
  666. package/dist/web/models/llm_response.js +3 -0
  667. package/dist/web/models/registry.js +7 -2
  668. package/dist/web/models/routed_llm.js +4 -14
  669. package/dist/web/plugins/base_plugin.js +43 -7
  670. package/dist/web/plugins/global_instruction_plugin.js +6 -2
  671. package/dist/web/plugins/logging_plugin.js +14 -8
  672. package/dist/web/plugins/plugin_manager.js +38 -2
  673. package/dist/web/plugins/security_plugin.js +14 -6
  674. package/dist/web/runner/in_memory_runner.js +6 -2
  675. package/dist/web/runner/runner.js +249 -31
  676. package/dist/web/sessions/base_session_service.js +22 -5
  677. package/dist/web/sessions/database_session_service.js +6 -2
  678. package/dist/web/sessions/db/operations.js +34 -6
  679. package/dist/web/sessions/db/schema.js +16 -8
  680. package/dist/web/sessions/in_memory_session_service.js +31 -22
  681. package/dist/web/sessions/registry.js +5 -1
  682. package/dist/web/sessions/session.js +3 -0
  683. package/dist/web/sessions/state.js +77 -7
  684. package/dist/web/sessions/state_write_order.js +74 -0
  685. package/dist/web/sessions/vertex_ai_session_service.js +142 -26
  686. package/dist/web/skills/gcp_skill_registry.js +2 -0
  687. package/dist/web/skills/loader.js +62 -16
  688. package/dist/web/skills/prompt.js +4 -0
  689. package/dist/web/telemetry/google_cloud.js +54 -9
  690. package/dist/web/telemetry/setup.js +6 -0
  691. package/dist/web/telemetry/tracing.js +77 -7
  692. package/dist/web/tools/agent_tool.js +7 -2
  693. package/dist/web/tools/base_tool.js +25 -2
  694. package/dist/web/tools/base_toolset.js +7 -2
  695. package/dist/web/tools/consolidate_context_tool.js +6 -2
  696. package/dist/web/tools/enterprise_web_search_tool.js +7 -2
  697. package/dist/web/tools/example_tool.js +6 -2
  698. package/dist/web/tools/exit_loop_tool.js +6 -2
  699. package/dist/web/tools/finish_task_tool.js +92 -0
  700. package/dist/web/tools/forwarding_artifact_service.js +6 -2
  701. package/dist/web/tools/function_tool.js +74 -8
  702. package/dist/web/tools/get_user_choice_tool.js +27 -0
  703. package/dist/web/tools/google_maps_grounding_tool.js +7 -2
  704. package/dist/web/tools/google_search_tool.js +6 -2
  705. package/dist/web/tools/load_artifacts_tool.js +9 -2
  706. package/dist/web/tools/load_memory_tool.js +6 -2
  707. package/dist/web/tools/load_web_page.js +22 -1
  708. package/dist/web/tools/long_running_tool.js +5 -2
  709. package/dist/web/tools/mcp/index.js +11 -0
  710. package/dist/web/tools/mcp/load_mcp_resource_tool.js +6 -2
  711. package/dist/web/tools/mcp/mcp_session_manager.js +80 -30
  712. package/dist/web/tools/mcp/mcp_tool.js +6 -2
  713. package/dist/web/tools/mcp/mcp_toolset.js +5 -2
  714. package/dist/web/tools/openapi_tool/auth/auth_helpers.js +5 -0
  715. package/dist/web/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +2 -0
  716. package/dist/web/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +2 -0
  717. package/dist/web/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +30 -9
  718. package/dist/web/tools/openapi_tool/openapi_spec_parser/operation_parser.js +2 -0
  719. package/dist/web/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +6 -2
  720. package/dist/web/tools/openapi_tool/openapi_toolset.js +2 -0
  721. package/dist/web/tools/openapi_tool/rest_api_tool.js +23 -5
  722. package/dist/web/tools/preload_memory_tool.js +6 -2
  723. package/dist/web/tools/request_input_tool.js +29 -0
  724. package/dist/web/tools/skill/list_skills_tool.js +2 -0
  725. package/dist/web/tools/skill/load_skill_resource_tool.js +2 -0
  726. package/dist/web/tools/skill/load_skill_tool.js +4 -1
  727. package/dist/web/tools/skill/run_skill_inline_script_tool.js +26 -2
  728. package/dist/web/tools/skill/run_skill_script_tool.js +28 -2
  729. package/dist/web/tools/skill/search_skills_tool.js +2 -0
  730. package/dist/web/tools/skill/skill_toolset.js +25 -0
  731. package/dist/web/tools/tool_confirmation.js +24 -2
  732. package/dist/web/tools/url_context_tool.js +6 -2
  733. package/dist/web/tools/vertex_ai_search_tool.js +6 -2
  734. package/dist/web/tools/vertex_rag_retrieval_tool.js +6 -2
  735. package/dist/web/utils/async_hooks_shim.js +6 -2
  736. package/dist/web/utils/async_queue.js +46 -18
  737. package/dist/web/utils/branch_trie.js +3 -0
  738. package/dist/web/utils/case_utils.js +3 -0
  739. package/dist/web/utils/client_labels.js +6 -0
  740. package/dist/web/utils/crypto_shim.js +18 -0
  741. package/dist/web/utils/deprecated.js +40 -0
  742. package/dist/web/utils/env_aware_utils.js +56 -13
  743. package/dist/web/utils/error_utils.js +101 -0
  744. package/dist/web/utils/experimental.js +10 -2
  745. package/dist/web/utils/failover_utils.js +4 -0
  746. package/dist/web/utils/file_extension_utils.js +4 -0
  747. package/dist/web/utils/file_utils.js +12 -4
  748. package/dist/web/utils/gemini_schema_util.js +6 -2
  749. package/dist/web/utils/genai_schema_to_json.js +80 -0
  750. package/dist/web/utils/live_connection_utils.js +5 -2
  751. package/dist/web/utils/logger.js +14 -4
  752. package/dist/web/utils/model_name.js +9 -0
  753. package/dist/web/utils/object_notation_utils.js +8 -3
  754. package/dist/web/utils/optional_peer.js +38 -0
  755. package/dist/web/utils/output_schema_utils.js +18 -0
  756. package/dist/web/utils/partial_copy.js +3 -0
  757. package/dist/web/utils/redact_uri.js +39 -0
  758. package/dist/web/utils/schema.js +167 -0
  759. package/dist/web/utils/simple_zod_to_json.js +15 -4
  760. package/dist/web/utils/streaming_utils.js +14 -6
  761. package/dist/web/utils/task.js +8 -4
  762. package/dist/web/utils/variant_utils.js +5 -2
  763. package/dist/web/utils/vertex_ai_utils.js +7 -2
  764. package/dist/web/version.js +1 -1
  765. package/dist/web/workflow/base_node.js +215 -0
  766. package/dist/web/workflow/branch_path.js +77 -0
  767. package/dist/web/workflow/dynamic_node_scheduler.js +202 -0
  768. package/dist/web/workflow/errors.js +140 -0
  769. package/dist/web/workflow/graph.js +127 -0
  770. package/dist/web/workflow/index.js +80 -0
  771. package/dist/web/workflow/node.js +87 -0
  772. package/dist/web/workflow/node_builders.js +40 -0
  773. package/dist/web/workflow/node_context.js +236 -0
  774. package/dist/web/workflow/node_error_event.js +86 -0
  775. package/dist/web/workflow/node_runner.js +481 -0
  776. package/dist/web/workflow/node_state.js +43 -0
  777. package/dist/web/workflow/node_status.js +20 -0
  778. package/dist/web/workflow/nodes/function_node.js +221 -0
  779. package/dist/web/workflow/nodes/join_node.js +47 -0
  780. package/dist/web/workflow/nodes/node_tool.js +131 -0
  781. package/dist/web/workflow/nodes/parallel_worker.js +120 -0
  782. package/dist/web/workflow/nodes/tool_node.js +126 -0
  783. package/dist/web/workflow/request_input.js +36 -0
  784. package/dist/web/workflow/retry_config.js +43 -0
  785. package/dist/web/workflow/run_llm_agent_as_node.js +266 -0
  786. package/dist/web/workflow/run_node_as_invocation.js +170 -0
  787. package/dist/web/workflow/schedule_dynamic_node.js +26 -0
  788. package/dist/web/workflow/trigger.js +7 -0
  789. package/dist/web/workflow/utils/graph_parser.js +188 -0
  790. package/dist/web/workflow/utils/graph_validation.js +189 -0
  791. package/dist/web/workflow/utils/hitl_utils.js +239 -0
  792. package/dist/web/workflow/utils/rehydration_utils.js +342 -0
  793. package/dist/web/workflow/utils/retry_utils.js +82 -0
  794. package/dist/web/workflow/utils/workflow_graph_utils.js +115 -0
  795. package/dist/web/workflow/workflow.js +529 -0
  796. package/package.json +82 -8
@@ -0,0 +1,76 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { AuthConfig } from '../../auth/auth_tool.js';
7
+ import { SchemaLike } from '../../utils/schema.js';
8
+ import { BaseNode } from '../base_node.js';
9
+ import { NodeLike } from '../graph.js';
10
+ import { RetryConfig } from '../retry_config.js';
11
+ /**
12
+ * Property overrides applied when building a node from a {@link NodeLike}.
13
+ */
14
+ export interface BuildNodeOptions {
15
+ name?: string;
16
+ description?: string;
17
+ rerunOnResume?: boolean;
18
+ retryConfig?: RetryConfig;
19
+ timeout?: number;
20
+ inputSchema?: SchemaLike;
21
+ outputSchema?: SchemaLike;
22
+ stateSchema?: SchemaLike;
23
+ authConfig?: AuthConfig;
24
+ /** Runs the node's subtree in an isolated conversation scope. */
25
+ isolationScope?: string | true;
26
+ /** If true, wrap the built node in a parallel worker. */
27
+ parallelWorker?: boolean;
28
+ /** Concurrency limit for the parallel worker (requires `parallelWorker`). */
29
+ maxParallelWorkers?: number;
30
+ }
31
+ /**
32
+ * Converts a matched {@link NodeLike} value into a concrete {@link BaseNode}.
33
+ *
34
+ * Builders are wired into the static {@link NODE_BUILDERS} list (in
35
+ * `node_builders.ts`) and consulted by {@link buildNode} / {@link isNodeLike} in
36
+ * order — first match wins. Keeping them in one explicit list (rather than a
37
+ * runtime registry) means no global mutable state and no import-order side
38
+ * effects: `node_builders.ts` imports the concrete node modules, and the engine
39
+ * core imports that one list.
40
+ */
41
+ export interface NodeBuilder {
42
+ /** Returns whether this builder can convert `value` into a node. */
43
+ match(value: unknown): boolean;
44
+ /** Builds a node from a value this builder previously matched. */
45
+ build(value: NodeLike, options: BuildNodeOptions): BaseNode;
46
+ }
47
+ /**
48
+ * Wraps an already-built node in a parallel worker. Provided by the
49
+ * `parallel_worker` node module via {@link PARALLEL_WORKER_FACTORY}.
50
+ *
51
+ * `retryConfig`/`timeout` are intentionally not forwarded to the wrapper: they
52
+ * apply to the inner node (per item), so the two levels don't compose.
53
+ */
54
+ export type ParallelWorkerFactory = (inner: BaseNode, options: {
55
+ maxParallelWorkers?: number;
56
+ }) => BaseNode;
57
+ /**
58
+ * Returns whether a value is a plain object literal (a `RoutingMap`) rather than
59
+ * a class instance such as a node/tool/agent.
60
+ */
61
+ export declare function isPlainObject(value: unknown): boolean;
62
+ /**
63
+ * Returns whether a value can be converted into a workflow node via
64
+ * {@link buildNode}: the `'START'` sentinel, an existing {@link BaseNode}, or a
65
+ * value matched by a registered {@link NodeBuilder}.
66
+ */
67
+ export declare function isNodeLike(value: unknown): value is NodeLike;
68
+ /**
69
+ * Converts a {@link NodeLike} into a concrete {@link BaseNode}.
70
+ *
71
+ * Handles the `'START'` sentinel and existing {@link BaseNode} instances
72
+ * directly — an agent is one, so it goes into the graph as itself; every other
73
+ * value is delegated to the registered {@link NodeBuilder}s (function →
74
+ * `FunctionNode`, tool → `ToolNode`).
75
+ */
76
+ export declare function buildNode(nodeLike: NodeLike, options?: BuildNodeOptions): BaseNode;
@@ -0,0 +1,115 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Event } from '../events/event.js';
7
+ import { BaseNode, BaseNodeConfig } from './base_node.js';
8
+ import { EdgeItem, Graph } from './graph.js';
9
+ import { NodeContext } from './node_context.js';
10
+ /**
11
+ * A unique symbol branding {@link Workflow} instances.
12
+ *
13
+ * `isWorkflow` matches on this brand rather than `instanceof` so a workflow
14
+ * built by another copy of adk-js in the same runtime is still recognised —
15
+ * mirroring the `Symbol.for('google.adk.*')` brands used across ADK.
16
+ */
17
+ declare const WORKFLOW_SIGNATURE_SYMBOL: unique symbol;
18
+ /**
19
+ * An imperative workflow entry point. Receives the workflow's node context and
20
+ * input, drives execution via `ctx.runNode(...)`, and returns the workflow
21
+ * output. Mutually exclusive with `edges`.
22
+ */
23
+ export type DynamicEntry = (ctx: NodeContext, input: unknown) => unknown | Promise<unknown>;
24
+ /**
25
+ * Configuration for a {@link Workflow}.
26
+ *
27
+ * A workflow is driven either by a static `edges` graph or by an imperative
28
+ * `dynamicEntry` function — exactly one is required, and the two are mutually
29
+ * exclusive. The type is a discriminated union so that constraint is enforced at
30
+ * compile time (the runtime constructor keeps the equivalent throws for JS
31
+ * callers).
32
+ */
33
+ export type WorkflowConfig = BaseNodeConfig & {
34
+ /**
35
+ * Maximum number of graph-scheduled nodes running in parallel. `undefined`
36
+ * means unlimited; must be a positive integer otherwise. Does not throttle
37
+ * dynamic (`ctx.runNode`) children.
38
+ */
39
+ maxConcurrency?: number;
40
+ } & ({
41
+ /** Edge definitions used to build the workflow graph. */
42
+ edges: EdgeItem[];
43
+ dynamicEntry?: never;
44
+ } | {
45
+ /**
46
+ * An imperative entry function driving execution via `ctx.runNode(...)`.
47
+ * Mutually exclusive with `edges`.
48
+ */
49
+ dynamicEntry: DynamicEntry;
50
+ edges?: never;
51
+ });
52
+ /**
53
+ * A graph-based workflow node. `runImpl()` IS the orchestration loop:
54
+ * SETUP (seed START triggers) → LOOP (schedule ready nodes, handle
55
+ * completions) → FINALIZE (collect the terminal output).
56
+ *
57
+ * Ported (Phase 2 subset) from `google/adk-python` `workflow/_workflow.py`.
58
+ * Replay/checkpointing, dynamic scheduling, and task/chat isolation scopes are
59
+ * added in later phases; hook points are marked with TODO(phase-N).
60
+ */
61
+ export declare class Workflow extends BaseNode {
62
+ /** Brand identifying this object as a {@link Workflow} (see `isWorkflow`). */
63
+ readonly [WORKFLOW_SIGNATURE_SYMBOL] = true;
64
+ readonly graph?: Graph;
65
+ readonly dynamicEntry?: DynamicEntry;
66
+ readonly maxConcurrency?: number;
67
+ constructor(config: WorkflowConfig);
68
+ protected runImpl(ctx: NodeContext, nodeInput: unknown): AsyncGenerator<Event, void, void>;
69
+ /**
70
+ * The orchestration body, wrapped by {@link runImpl} so its workflow-scoped
71
+ * abort controller is always disposed.
72
+ */
73
+ private orchestrate;
74
+ /**
75
+ * Runs an imperative `dynamicEntry` workflow. The entry drives execution via
76
+ * `ctx.runNode(...)` (routed through the scheduler) and returns the output.
77
+ */
78
+ private runDynamicEntry;
79
+ /**
80
+ * Merges resolved interrupt responses from prior session events into
81
+ * `ctx.resumeInputs`, so waiting nodes (which read `ctx.resumeInputs[id]`)
82
+ * resume with the user's response. Shared by child contexts via propagation.
83
+ *
84
+ * Taken from the events rather than from `rehydrated`, because that view is
85
+ * scoped to this workflow's direct children: an interrupt raised deeper — by
86
+ * a `ctx.runNode` child, or inside a nested workflow — is keyed out of it,
87
+ * and its answer would never reach the node waiting on it.
88
+ */
89
+ private applyResumeInputs;
90
+ private seedStartTriggers;
91
+ private runLoop;
92
+ private reportNodeError;
93
+ private scheduleReadyNodes;
94
+ private atConcurrencyLimit;
95
+ private prepareNodeStateForStarting;
96
+ private startNodeTask;
97
+ private handleCompletion;
98
+ private bufferDownstreamTriggers;
99
+ private collectRemainingInterrupts;
100
+ private finalize;
101
+ private pushTrigger;
102
+ private popTrigger;
103
+ private getStaticNode;
104
+ private cleanupPending;
105
+ }
106
+ /**
107
+ * Type guard for {@link Workflow}.
108
+ *
109
+ * Matches on the `google.adk.workflow.workflow` brand rather than `instanceof`
110
+ * so it stays correct across package copies — two copies of adk-js in one
111
+ * runtime would fail an `instanceof` check between them. Named rather than
112
+ * `{@link}`ed because the brand itself is internal, and this guard is public.
113
+ */
114
+ export declare function isWorkflow(value: unknown): value is Workflow;
115
+ export {};
@@ -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;
@@ -127,7 +129,12 @@ class RemoteA2AAgent extends BaseAgent {
127
129
  yield new __await(callback(context, chunk));
128
130
  }
129
131
  }
130
- const adkEvent = toAdkEvent(chunk, context.invocationId, this.name);
132
+ const adkEvent = toAdkEvent(
133
+ chunk,
134
+ context.invocationId,
135
+ this.name,
136
+ context.branch
137
+ );
131
138
  if (!adkEvent) {
132
139
  continue;
133
140
  }
@@ -158,7 +165,12 @@ class RemoteA2AAgent extends BaseAgent {
158
165
  yield new __await(callback(context, result));
159
166
  }
160
167
  }
161
- const adkEvent = toAdkEvent(result, context.invocationId, this.name);
168
+ const adkEvent = toAdkEvent(
169
+ result,
170
+ context.invocationId,
171
+ this.name,
172
+ context.branch
173
+ );
162
174
  if (adkEvent) {
163
175
  processor.updateCustomMetadata(adkEvent, result);
164
176
  yield adkEvent;
@@ -179,7 +191,9 @@ class RemoteA2AAgent extends BaseAgent {
179
191
  runLiveImpl(_context) {
180
192
  throw new Error("Live mode is not supported in A2ARemoteAgent yet.");
181
193
  }
182
- }
194
+ };
195
+ __name(_RemoteA2AAgent, "RemoteA2AAgent");
196
+ let RemoteA2AAgent = _RemoteA2AAgent;
183
197
  export {
184
198
  AGENT_CARD_PATH,
185
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,