@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
@@ -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 });
@@ -32,6 +33,7 @@ module.exports = __toCommonJS(base_agent_exports);
32
33
  var import_api = require("@opentelemetry/api");
33
34
  var import_event = require("../events/event.js");
34
35
  var import_tracing = require("../telemetry/tracing.js");
36
+ var import_base_node = require("../workflow/base_node.js");
35
37
  var import_context = require("./context.js");
36
38
  var import_invocation_context = require("./invocation_context.js");
37
39
  /**
@@ -39,21 +41,21 @@ var import_invocation_context = require("./invocation_context.js");
39
41
  * Copyright 2025 Google LLC
40
42
  * SPDX-License-Identifier: Apache-2.0
41
43
  */
42
- var _a;
44
+ var _a, _b;
43
45
  const BASE_AGENT_SIGNATURE_SYMBOL = Symbol.for("google.adk.baseAgent");
44
46
  function isBaseAgent(obj) {
45
47
  return typeof obj === "object" && obj !== null && BASE_AGENT_SIGNATURE_SYMBOL in obj && obj[BASE_AGENT_SIGNATURE_SYMBOL] === true;
46
48
  }
47
- _a = BASE_AGENT_SIGNATURE_SYMBOL;
48
- class BaseAgent {
49
+ __name(isBaseAgent, "isBaseAgent");
50
+ const _BaseAgent = class _BaseAgent extends (_b = import_base_node.BaseNode, _a = BASE_AGENT_SIGNATURE_SYMBOL, _b) {
49
51
  constructor(config) {
52
+ super({ ...config, name: validateAgentName(config.name) });
50
53
  /**
51
54
  * A unique symbol to identify ADK agent classes.
52
55
  */
53
56
  this[_a] = true;
54
57
  this.config = { ...config };
55
58
  this.name = validateAgentName(config.name);
56
- this.description = config.description;
57
59
  this.parentAgent = config.parentAgent;
58
60
  this.subAgents = config.subAgents || [];
59
61
  this.beforeAgentCallback = getCannonicalCallback(
@@ -62,6 +64,10 @@ class BaseAgent {
62
64
  this.afterAgentCallback = getCannonicalCallback(config.afterAgentCallback);
63
65
  this.setParentAgentForSubAgents();
64
66
  }
67
+ // `description` is inherited from BaseNode, which declares it `string` and
68
+ // defaults it to ''. It used to be `string | undefined` here; every consumer
69
+ // already coalesced (`agent.description || ''`), so the default is
70
+ // equivalent for them.
65
71
  /**
66
72
  * Root agent of this agent.
67
73
  * Computed dynamically by traversing up the parent chain.
@@ -122,7 +128,7 @@ class BaseAgent {
122
128
  ctx,
123
129
  this,
124
130
  async function* () {
125
- var _a2, _b;
131
+ var _a2, _b2;
126
132
  const context2 = this.createInvocationContext(parentContext);
127
133
  const beforeAgentCallbackEvent = await this.handleBeforeAgentCallback(context2);
128
134
  if (beforeAgentCallbackEvent) {
@@ -135,7 +141,7 @@ class BaseAgent {
135
141
  for await (const event of this.runAsyncImpl(context2)) {
136
142
  yield event;
137
143
  }
138
- if (context2.endInvocation || ((_b = parentContext.abortSignal) == null ? void 0 : _b.aborted)) {
144
+ if (context2.endInvocation || ((_b2 = parentContext.abortSignal) == null ? void 0 : _b2.aborted)) {
139
145
  return;
140
146
  }
141
147
  const afterAgentCallbackEvent = await this.handleAfterAgentCallback(context2);
@@ -148,6 +154,31 @@ class BaseAgent {
148
154
  span.end();
149
155
  }
150
156
  }
157
+ /**
158
+ * Runs this agent as a workflow node.
159
+ *
160
+ * The node runner calls this; it delegates to {@link runAsync}, so an agent
161
+ * behaves identically whether it is run directly or as a node. Mirrors
162
+ * adk-python `BaseAgent._run_impl`.
163
+ *
164
+ * The invocation context comes from {@link NodeContext.getInvocationContext}
165
+ * rather than the raw field, so the agent runs against whatever view of the
166
+ * session the workflow wants it to see.
167
+ *
168
+ * Unlike adk-python's `_run_impl`, nothing is stamped onto the events here.
169
+ * Python has to fix up the author and the node path because it authors
170
+ * in-workflow events as the workflow itself; the TypeScript node runner
171
+ * already owns both (`enrichEvent` keeps an author the node set, and always
172
+ * stamps the true node path), so repeating it would be dead code.
173
+ *
174
+ * `nodeInput` is intentionally unused: an agent's input is its conversation,
175
+ * which the workflow supplies through the session. A node that needs to read
176
+ * its input — an `LlmAgent` injecting it into the prompt, say — does so in
177
+ * its own wrapper.
178
+ */
179
+ async *runImpl(ctx, _nodeInput) {
180
+ yield* this.runAsync(ctx.getInvocationContext());
181
+ }
151
182
  /**
152
183
  * Entry method to run an agent via video/audio-based conversation.
153
184
  *
@@ -163,7 +194,7 @@ class BaseAgent {
163
194
  ctx,
164
195
  this,
165
196
  async function* () {
166
- var _a2, _b;
197
+ var _a2, _b2;
167
198
  const context2 = this.createInvocationContext(parentContext);
168
199
  const beforeAgentCallbackEvent = await this.handleBeforeAgentCallback(context2);
169
200
  if (beforeAgentCallbackEvent) {
@@ -175,7 +206,7 @@ class BaseAgent {
175
206
  for await (const event of this.runLiveImpl(context2)) {
176
207
  yield event;
177
208
  }
178
- if (context2.endInvocation || ((_b = parentContext.abortSignal) == null ? void 0 : _b.aborted)) {
209
+ if (context2.endInvocation || ((_b2 = parentContext.abortSignal) == null ? void 0 : _b2.aborted)) {
179
210
  return;
180
211
  }
181
212
  const afterAgentCallbackEvent = await this.handleAfterAgentCallback(context2);
@@ -314,7 +345,9 @@ class BaseAgent {
314
345
  subAgent.parentAgent = this;
315
346
  }
316
347
  }
317
- }
348
+ };
349
+ __name(_BaseAgent, "BaseAgent");
350
+ let BaseAgent = _BaseAgent;
318
351
  function validateAgentName(name) {
319
352
  if (!isIdentifier(name)) {
320
353
  throw new Error(
@@ -328,21 +361,25 @@ function validateAgentName(name) {
328
361
  }
329
362
  return name;
330
363
  }
364
+ __name(validateAgentName, "validateAgentName");
331
365
  function isIdentifier(str) {
332
366
  return /^[\p{ID_Start}$_][\p{ID_Continue}$_-]*$/u.test(str);
333
367
  }
368
+ __name(isIdentifier, "isIdentifier");
334
369
  function getRootAgent(rootAgent) {
335
370
  while (rootAgent.parentAgent) {
336
371
  rootAgent = rootAgent.parentAgent;
337
372
  }
338
373
  return rootAgent;
339
374
  }
375
+ __name(getRootAgent, "getRootAgent");
340
376
  function getCannonicalCallback(callbacks) {
341
377
  if (!callbacks) {
342
378
  return [];
343
379
  }
344
380
  return Array.isArray(callbacks) ? callbacks : [callbacks];
345
381
  }
382
+ __name(getCannonicalCallback, "getCannonicalCallback");
346
383
  // Annotate the CommonJS export names for ESM import in node:
347
384
  0 && (module.exports = {
348
385
  BaseAgent,
@@ -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 });
@@ -37,7 +38,7 @@ var import_readonly_context = require("./readonly_context.js");
37
38
  * Copyright 2025 Google LLC
38
39
  * SPDX-License-Identifier: Apache-2.0
39
40
  */
40
- class Context extends import_readonly_context.ReadonlyContext {
41
+ const _Context = class _Context extends import_readonly_context.ReadonlyContext {
41
42
  /**
42
43
  * @param options The configuration options for the Context.
43
44
  * @param options.invocationContext The invocation context.
@@ -163,7 +164,9 @@ class Context extends import_readonly_context.ReadonlyContext {
163
164
  payload
164
165
  });
165
166
  }
166
- }
167
+ };
168
+ __name(_Context, "Context");
169
+ let Context = _Context;
167
170
  // Annotate the CommonJS export names for ESM import in node:
168
171
  0 && (module.exports = {
169
172
  Context
@@ -0,0 +1,64 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ "use strict";
8
+ var __defProp = Object.defineProperty;
9
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
10
+ var __getOwnPropNames = Object.getOwnPropertyNames;
11
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
12
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
13
+ var __export = (target, all) => {
14
+ for (var name in all)
15
+ __defProp(target, name, { get: all[name], enumerable: true });
16
+ };
17
+ var __copyProps = (to, from, except, desc) => {
18
+ if (from && typeof from === "object" || typeof from === "function") {
19
+ for (let key of __getOwnPropNames(from))
20
+ if (!__hasOwnProp.call(to, key) && key !== except)
21
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
22
+ }
23
+ return to;
24
+ };
25
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
26
+ var framework_function_calls_exports = {};
27
+ __export(framework_function_calls_exports, {
28
+ REQUEST_CONFIRMATION_FUNCTION_CALL_NAME: () => REQUEST_CONFIRMATION_FUNCTION_CALL_NAME,
29
+ REQUEST_CREDENTIAL_FUNCTION_CALL_NAME: () => REQUEST_CREDENTIAL_FUNCTION_CALL_NAME,
30
+ REQUEST_INPUT_FUNCTION_CALL_NAME: () => REQUEST_INPUT_FUNCTION_CALL_NAME,
31
+ reservedFunctionCallName: () => reservedFunctionCallName
32
+ });
33
+ module.exports = __toCommonJS(framework_function_calls_exports);
34
+ /**
35
+ * @license
36
+ * Copyright 2026 Google LLC
37
+ * SPDX-License-Identifier: Apache-2.0
38
+ */
39
+ const REQUEST_CONFIRMATION_FUNCTION_CALL_NAME = "adk_request_confirmation";
40
+ const REQUEST_CREDENTIAL_FUNCTION_CALL_NAME = "adk_request_credential";
41
+ const REQUEST_INPUT_FUNCTION_CALL_NAME = "adk_request_input";
42
+ const RESERVED_FUNCTION_CALL_NAMES = /* @__PURE__ */ new Set([
43
+ REQUEST_CONFIRMATION_FUNCTION_CALL_NAME,
44
+ REQUEST_CREDENTIAL_FUNCTION_CALL_NAME,
45
+ REQUEST_INPUT_FUNCTION_CALL_NAME
46
+ ]);
47
+ function reservedFunctionCallName(content) {
48
+ var _a, _b;
49
+ for (const part of (_a = content == null ? void 0 : content.parts) != null ? _a : []) {
50
+ const name = (_b = part.functionCall) == null ? void 0 : _b.name;
51
+ if (name && RESERVED_FUNCTION_CALL_NAMES.has(name)) {
52
+ return name;
53
+ }
54
+ }
55
+ return void 0;
56
+ }
57
+ __name(reservedFunctionCallName, "reservedFunctionCallName");
58
+ // Annotate the CommonJS export names for ESM import in node:
59
+ 0 && (module.exports = {
60
+ REQUEST_CONFIRMATION_FUNCTION_CALL_NAME,
61
+ REQUEST_CREDENTIAL_FUNCTION_CALL_NAME,
62
+ REQUEST_INPUT_FUNCTION_CALL_NAME,
63
+ reservedFunctionCallName
64
+ });
@@ -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 });
@@ -25,8 +26,9 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
25
26
  var functions_exports = {};
26
27
  __export(functions_exports, {
27
28
  AF_FUNCTION_CALL_ID_PREFIX: () => import_event2.AF_FUNCTION_CALL_ID_PREFIX,
28
- REQUEST_CONFIRMATION_FUNCTION_CALL_NAME: () => REQUEST_CONFIRMATION_FUNCTION_CALL_NAME,
29
- REQUEST_EUC_FUNCTION_CALL_NAME: () => REQUEST_EUC_FUNCTION_CALL_NAME,
29
+ REQUEST_CONFIRMATION_FUNCTION_CALL_NAME: () => import_framework_function_calls2.REQUEST_CONFIRMATION_FUNCTION_CALL_NAME,
30
+ REQUEST_CREDENTIAL_FUNCTION_CALL_NAME: () => import_framework_function_calls2.REQUEST_CREDENTIAL_FUNCTION_CALL_NAME,
31
+ REQUEST_INPUT_FUNCTION_CALL_NAME: () => import_framework_function_calls2.REQUEST_INPUT_FUNCTION_CALL_NAME,
30
32
  findEventByFunctionCallId: () => findEventByFunctionCallId,
31
33
  findMatchingFunctionCall: () => findMatchingFunctionCall,
32
34
  functionsExportedForTestingOnly: () => functionsExportedForTestingOnly,
@@ -37,7 +39,8 @@ __export(functions_exports, {
37
39
  handleFunctionCallList: () => handleFunctionCallList,
38
40
  handleFunctionCallsAsync: () => handleFunctionCallsAsync,
39
41
  mergeParallelFunctionResponseEvents: () => mergeParallelFunctionResponseEvents,
40
- populateClientFunctionCallId: () => import_event2.populateClientFunctionCallId
42
+ populateClientFunctionCallId: () => import_event2.populateClientFunctionCallId,
43
+ reservedFunctionCallName: () => import_framework_function_calls2.reservedFunctionCallName
41
44
  });
42
45
  module.exports = __toCommonJS(functions_exports);
43
46
  var import_genai = require("@google/genai");
@@ -46,15 +49,20 @@ var import_event = require("../events/event.js");
46
49
  var import_event_actions = require("../events/event_actions.js");
47
50
  var import_logger = require("../utils/logger.js");
48
51
  var import_context = require("./context.js");
52
+ var import_framework_function_calls = require("./framework_function_calls.js");
49
53
  var import_tracing = require("../telemetry/tracing.js");
50
54
  var import_event2 = require("../events/event.js");
55
+ var import_framework_function_calls2 = require("./framework_function_calls.js");
51
56
  /**
52
57
  * @license
53
58
  * Copyright 2025 Google LLC
54
59
  * SPDX-License-Identifier: Apache-2.0
55
60
  */
56
- const REQUEST_EUC_FUNCTION_CALL_NAME = "adk_request_credential";
57
- const REQUEST_CONFIRMATION_FUNCTION_CALL_NAME = "adk_request_confirmation";
61
+ function toolEventAuthor(invocationContext) {
62
+ var _a, _b;
63
+ return (_b = (_a = invocationContext.agent) == null ? void 0 : _a.name) != null ? _b : "";
64
+ }
65
+ __name(toolEventAuthor, "toolEventAuthor");
58
66
  const functionsExportedForTestingOnly = {
59
67
  handleFunctionCallList,
60
68
  generateAuthEvent,
@@ -69,6 +77,7 @@ function getLongRunningFunctionCalls(functionCalls, toolsDict) {
69
77
  }
70
78
  return longRunningToolIds;
71
79
  }
80
+ __name(getLongRunningFunctionCalls, "getLongRunningFunctionCalls");
72
81
  function generateAuthEvent(invocationContext, functionResponseEvent) {
73
82
  var _a;
74
83
  if (!((_a = functionResponseEvent.actions) == null ? void 0 : _a.requestedAuthConfigs) || (0, import_lodash_es.isEmpty)(functionResponseEvent.actions.requestedAuthConfigs)) {
@@ -79,20 +88,20 @@ function generateAuthEvent(invocationContext, functionResponseEvent) {
79
88
  for (const [functionCallId, authConfig] of Object.entries(
80
89
  functionResponseEvent.actions.requestedAuthConfigs
81
90
  )) {
82
- const requestEucFunctionCall = {
83
- name: REQUEST_EUC_FUNCTION_CALL_NAME,
91
+ const requestCredentialFunctionCall = {
92
+ name: import_framework_function_calls.REQUEST_CREDENTIAL_FUNCTION_CALL_NAME,
84
93
  args: {
85
94
  "function_call_id": functionCallId,
86
95
  "auth_config": authConfig
87
96
  },
88
97
  id: (0, import_event.generateClientFunctionCallId)()
89
98
  };
90
- longRunningToolIds.add(requestEucFunctionCall.id);
91
- parts.push({ functionCall: requestEucFunctionCall });
99
+ longRunningToolIds.add(requestCredentialFunctionCall.id);
100
+ parts.push({ functionCall: requestCredentialFunctionCall });
92
101
  }
93
102
  return (0, import_event.createEvent)({
94
103
  invocationId: invocationContext.invocationId,
95
- author: invocationContext.agent.name,
104
+ author: toolEventAuthor(invocationContext),
96
105
  branch: invocationContext.branch,
97
106
  content: {
98
107
  parts,
@@ -101,6 +110,7 @@ function generateAuthEvent(invocationContext, functionResponseEvent) {
101
110
  longRunningToolIds: Array.from(longRunningToolIds)
102
111
  });
103
112
  }
113
+ __name(generateAuthEvent, "generateAuthEvent");
104
114
  function generateRequestConfirmationEvent({
105
115
  invocationContext,
106
116
  functionCallEvent,
@@ -121,7 +131,7 @@ function generateRequestConfirmationEvent({
121
131
  continue;
122
132
  }
123
133
  const requestConfirmationFunctionCall = {
124
- name: REQUEST_CONFIRMATION_FUNCTION_CALL_NAME,
134
+ name: import_framework_function_calls.REQUEST_CONFIRMATION_FUNCTION_CALL_NAME,
125
135
  args: {
126
136
  "originalFunctionCall": originalFunctionCall,
127
137
  "toolConfirmation": toolConfirmation
@@ -133,7 +143,7 @@ function generateRequestConfirmationEvent({
133
143
  }
134
144
  return (0, import_event.createEvent)({
135
145
  invocationId: invocationContext.invocationId,
136
- author: invocationContext.agent.name,
146
+ author: toolEventAuthor(invocationContext),
137
147
  branch: invocationContext.branch,
138
148
  content: {
139
149
  parts,
@@ -143,6 +153,7 @@ function generateRequestConfirmationEvent({
143
153
  longRunningToolIds: Array.from(longRunningToolIds)
144
154
  });
145
155
  }
156
+ __name(generateRequestConfirmationEvent, "generateRequestConfirmationEvent");
146
157
  async function callToolAsync(tool, args, toolContext) {
147
158
  return import_tracing.tracer.startActiveSpan(`execute_tool ${tool.name}`, async (span) => {
148
159
  try {
@@ -164,6 +175,7 @@ async function callToolAsync(tool, args, toolContext) {
164
175
  }
165
176
  });
166
177
  }
178
+ __name(callToolAsync, "callToolAsync");
167
179
  function buildResponseEvent(tool, functionResult, toolContext, invocationContext) {
168
180
  let responseResult;
169
181
  if (typeof functionResult !== "object" || functionResult == null) {
@@ -186,12 +198,13 @@ function buildResponseEvent(tool, functionResult, toolContext, invocationContext
186
198
  };
187
199
  return (0, import_event.createEvent)({
188
200
  invocationId: invocationContext.invocationId,
189
- author: invocationContext.agent.name,
201
+ author: toolEventAuthor(invocationContext),
190
202
  content,
191
203
  actions: toolContext.actions,
192
204
  branch: invocationContext.branch
193
205
  });
194
206
  }
207
+ __name(buildResponseEvent, "buildResponseEvent");
195
208
  async function handleFunctionCallsAsync({
196
209
  invocationContext,
197
210
  functionCallEvent,
@@ -212,6 +225,20 @@ async function handleFunctionCallsAsync({
212
225
  toolConfirmationDict
213
226
  });
214
227
  }
228
+ __name(handleFunctionCallsAsync, "handleFunctionCallsAsync");
229
+ function normalizeCallbackResponse(response) {
230
+ if (response == null) {
231
+ return void 0;
232
+ }
233
+ if (typeof response !== "object") {
234
+ return { result: response };
235
+ }
236
+ if (Array.isArray(response)) {
237
+ return { results: response };
238
+ }
239
+ return response;
240
+ }
241
+ __name(normalizeCallbackResponse, "normalizeCallbackResponse");
215
242
  async function handleFunctionCallList({
216
243
  invocationContext,
217
244
  functionCalls,
@@ -258,6 +285,7 @@ async function handleFunctionCallList({
258
285
  }
259
286
  }
260
287
  }
288
+ functionResponse = normalizeCallbackResponse(functionResponse);
261
289
  if (functionResponse == null) {
262
290
  try {
263
291
  functionResponse = await callToolAsync(tool, functionArgs, toolContext);
@@ -269,8 +297,8 @@ async function handleFunctionCallList({
269
297
  toolContext,
270
298
  error: e
271
299
  });
272
- if (onToolErrorResponse) {
273
- functionResponse = onToolErrorResponse;
300
+ if (onToolErrorResponse != null) {
301
+ functionResponse = normalizeCallbackResponse(onToolErrorResponse);
274
302
  } else {
275
303
  functionResponseError = e.message;
276
304
  }
@@ -299,21 +327,21 @@ async function handleFunctionCallList({
299
327
  }
300
328
  }
301
329
  if (alteredFunctionResponse != null) {
302
- functionResponse = alteredFunctionResponse;
330
+ functionResponse = normalizeCallbackResponse(alteredFunctionResponse);
303
331
  }
304
- if (tool.isLongRunning && !functionResponse) {
332
+ if (tool.isLongRunning && functionResponse == null) {
305
333
  continue;
306
334
  }
307
335
  if (functionResponseError) {
308
336
  functionResponse = { error: functionResponseError };
309
- } else if (typeof functionResponse !== "object" || functionResponse == null) {
337
+ } else if (functionResponse == null) {
310
338
  functionResponse = { result: functionResponse };
311
- } else if (Array.isArray(functionResponse)) {
312
- functionResponse = { results: functionResponse };
339
+ } else {
340
+ functionResponse = normalizeCallbackResponse(functionResponse);
313
341
  }
314
342
  const functionResponseEvent = (0, import_event.createEvent)({
315
343
  invocationId: invocationContext.invocationId,
316
- author: invocationContext.agent.name,
344
+ author: toolEventAuthor(invocationContext),
317
345
  content: (0, import_genai.createUserContent)({
318
346
  functionResponse: {
319
347
  id: toolContext.functionCallId,
@@ -356,6 +384,7 @@ async function handleFunctionCallList({
356
384
  }
357
385
  return mergedEvent;
358
386
  }
387
+ __name(handleFunctionCallList, "handleFunctionCallList");
359
388
  function getToolAndContext({
360
389
  invocationContext,
361
390
  functionCall,
@@ -375,6 +404,7 @@ function getToolAndContext({
375
404
  const tool = toolsDict[functionCall.name];
376
405
  return { tool, toolContext };
377
406
  }
407
+ __name(getToolAndContext, "getToolAndContext");
378
408
  function mergeParallelFunctionResponseEvents(functionResponseEvents) {
379
409
  if (!functionResponseEvents.length) {
380
410
  throw new Error("No function response events provided.");
@@ -402,6 +432,7 @@ function mergeParallelFunctionResponseEvents(functionResponseEvents) {
402
432
  timestamp: baseEvent.timestamp
403
433
  });
404
434
  }
435
+ __name(mergeParallelFunctionResponseEvents, "mergeParallelFunctionResponseEvents");
405
436
  function findEventByFunctionCallId(events, functionCallId, endIndex = events.length) {
406
437
  for (let i = endIndex - 1; i >= 0; i--) {
407
438
  const event = events[i];
@@ -414,6 +445,7 @@ function findEventByFunctionCallId(events, functionCallId, endIndex = events.len
414
445
  }
415
446
  return void 0;
416
447
  }
448
+ __name(findEventByFunctionCallId, "findEventByFunctionCallId");
417
449
  function findMatchingFunctionCall(events) {
418
450
  if (!events.length) {
419
451
  return void 0;
@@ -429,11 +461,13 @@ function findMatchingFunctionCall(events) {
429
461
  events.length - 1
430
462
  );
431
463
  }
464
+ __name(findMatchingFunctionCall, "findMatchingFunctionCall");
432
465
  // Annotate the CommonJS export names for ESM import in node:
433
466
  0 && (module.exports = {
434
467
  AF_FUNCTION_CALL_ID_PREFIX,
435
468
  REQUEST_CONFIRMATION_FUNCTION_CALL_NAME,
436
- REQUEST_EUC_FUNCTION_CALL_NAME,
469
+ REQUEST_CREDENTIAL_FUNCTION_CALL_NAME,
470
+ REQUEST_INPUT_FUNCTION_CALL_NAME,
437
471
  findEventByFunctionCallId,
438
472
  findMatchingFunctionCall,
439
473
  functionsExportedForTestingOnly,
@@ -444,5 +478,6 @@ function findMatchingFunctionCall(events) {
444
478
  handleFunctionCallList,
445
479
  handleFunctionCallsAsync,
446
480
  mergeParallelFunctionResponseEvents,
447
- populateClientFunctionCallId
481
+ populateClientFunctionCallId,
482
+ reservedFunctionCallName
448
483
  });
@@ -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 });
@@ -34,6 +35,17 @@ var import_state = require("../sessions/state.js");
34
35
  * SPDX-License-Identifier: Apache-2.0
35
36
  */
36
37
  const ARTIFACT_PREFIX = "artifact.";
38
+ const WORKFLOW_FIELD_KEY = /^[A-Za-z_]\w*\.[A-Za-z_]\w*$/;
39
+ const SOURCE_NODE_PLACEHOLDER = /<\s*[A-Za-z_]\w*\.([A-Za-z_]\w*)\s+from\s+([A-Za-z_]\w*)\s*>/g;
40
+ function resolveSourceNode(raw, field, nodeName, scope) {
41
+ var _a;
42
+ const out = (_a = scope.outputsByNode) == null ? void 0 : _a[nodeName];
43
+ if (out && typeof out === "object" && field in out) {
44
+ return formatValue(out[field], false);
45
+ }
46
+ return raw;
47
+ }
48
+ __name(resolveSourceNode, "resolveSourceNode");
37
49
  async function resolveKey(key, isOptional, rawMatch, readonlyContext) {
38
50
  const invocationContext = readonlyContext.invocationContext;
39
51
  if (key.startsWith(ARTIFACT_PREFIX)) {
@@ -52,17 +64,29 @@ async function resolveKey(key, isOptional, rawMatch, readonlyContext) {
52
64
  }
53
65
  return formatValue(artifact, true);
54
66
  }
55
- if (!isValidStateName(key)) {
56
- return rawMatch;
57
- }
58
- if (key in invocationContext.session.state) {
59
- return formatValue(invocationContext.session.state[key], false);
67
+ if (isValidStateName(key)) {
68
+ if (key in invocationContext.session.state) {
69
+ return formatValue(invocationContext.session.state[key], false);
70
+ }
71
+ if (isOptional) {
72
+ return "";
73
+ }
74
+ throw new Error(`Context variable not found: \`${key}\`.`);
60
75
  }
61
- if (isOptional) {
62
- return "";
76
+ const scope = invocationContext.workflowInstructionScope;
77
+ if (scope && WORKFLOW_FIELD_KEY.test(key)) {
78
+ const field = key.slice(key.indexOf(".") + 1);
79
+ const input = scope.input;
80
+ if (input && typeof input === "object" && field in input) {
81
+ return formatValue(input[field], false);
82
+ }
83
+ if (isOptional) {
84
+ return "";
85
+ }
63
86
  }
64
- throw new Error(`Context variable not found: \`${key}\`.`);
87
+ return rawMatch;
65
88
  }
89
+ __name(resolveKey, "resolveKey");
66
90
  function formatValue(value, isArtifact = false) {
67
91
  if (typeof value === "string") {
68
92
  return value;
@@ -84,10 +108,17 @@ function formatValue(value, isArtifact = false) {
84
108
  }
85
109
  return String(value);
86
110
  }
111
+ __name(formatValue, "formatValue");
87
112
  async function injectSessionState(template, readonlyContext) {
113
+ const scope = readonlyContext.invocationContext.workflowInstructionScope;
114
+ const sourceMatches = scope ? Array.from(template.matchAll(SOURCE_NODE_PLACEHOLDER)).map((match) => ({
115
+ raw: match[0],
116
+ index: match.index,
117
+ resolved: resolveSourceNode(match[0], match[1], match[2], scope)
118
+ })) : [];
88
119
  const pattern = /\{+[^{}]*}+/g;
89
120
  const matches = Array.from(template.matchAll(pattern));
90
- if (matches.length === 0) {
121
+ if (matches.length === 0 && sourceMatches.length === 0) {
91
122
  return template;
92
123
  }
93
124
  const parsedMatches = matches.map((match) => {
@@ -97,7 +128,7 @@ async function injectSessionState(template, readonlyContext) {
97
128
  if (isOptional) {
98
129
  key = key.slice(0, -1);
99
130
  }
100
- const isValid = key.startsWith(ARTIFACT_PREFIX) || isValidStateName(key);
131
+ const isValid = key.startsWith(ARTIFACT_PREFIX) || isValidStateName(key) || !!scope && WORKFLOW_FIELD_KEY.test(key);
101
132
  return {
102
133
  raw,
103
134
  key,
@@ -132,11 +163,16 @@ async function injectSessionState(template, readonlyContext) {
132
163
  );
133
164
  }
134
165
  await Promise.all(resolutions.values());
166
+ const allMatches = [...parsedMatches, ...sourceMatches].sort(
167
+ (a, b) => a.index - b.index
168
+ );
135
169
  const result = [];
136
170
  let lastEnd = 0;
137
- for (const pm of parsedMatches) {
171
+ for (const pm of allMatches) {
138
172
  result.push(template.slice(lastEnd, pm.index));
139
- if (pm.isValid) {
173
+ if ("resolved" in pm) {
174
+ result.push(pm.resolved);
175
+ } else if (pm.isValid) {
140
176
  const replacement = await resolutions.get(pm.key);
141
177
  result.push(replacement);
142
178
  } else {
@@ -147,6 +183,7 @@ async function injectSessionState(template, readonlyContext) {
147
183
  result.push(template.slice(lastEnd));
148
184
  return result.join("");
149
185
  }
186
+ __name(injectSessionState, "injectSessionState");
150
187
  const isIdentifierPattern = /* @__PURE__ */ (() => {
151
188
  return /^[a-zA-Z_][a-zA-Z0-9_]*$/;
152
189
  })();
@@ -156,6 +193,7 @@ function isIdentifier(s) {
156
193
  }
157
194
  return isIdentifierPattern.test(s);
158
195
  }
196
+ __name(isIdentifier, "isIdentifier");
159
197
  const VALID_PREFIXES = [import_state.State.APP_PREFIX, import_state.State.USER_PREFIX, import_state.State.TEMP_PREFIX];
160
198
  function isValidStateName(variableName) {
161
199
  const parts = variableName.split(":");
@@ -170,6 +208,7 @@ function isValidStateName(variableName) {
170
208
  }
171
209
  return false;
172
210
  }
211
+ __name(isValidStateName, "isValidStateName");
173
212
  // Annotate the CommonJS export names for ESM import in node:
174
213
  0 && (module.exports = {
175
214
  injectSessionState