@google/adk 1.6.0 → 2.1.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 (869) hide show
  1. package/dist/cjs/a2a/a2a_event.js +17 -28
  2. package/dist/cjs/a2a/a2a_remote_agent.js +13 -7
  3. package/dist/cjs/a2a/a2a_remote_agent_run_processor.js +7 -3
  4. package/dist/cjs/a2a/a2a_remote_agent_utils.js +111 -2
  5. package/dist/cjs/a2a/agent_card.js +90 -8
  6. package/dist/cjs/a2a/agent_executor.js +34 -18
  7. package/dist/cjs/a2a/agent_to_a2a.js +28 -11
  8. package/dist/cjs/a2a/auth.js +3 -0
  9. package/dist/cjs/a2a/event_converter_utils.js +10 -0
  10. package/dist/cjs/a2a/event_processor_utils.js +71 -35
  11. package/dist/cjs/a2a/executor_context.js +6 -2
  12. package/dist/cjs/a2a/index.js +57 -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/a2a/request_metadata.js +94 -0
  16. package/dist/cjs/agents/active_streaming_tool.js +5 -2
  17. package/dist/cjs/agents/base_agent.js +55 -17
  18. package/dist/cjs/agents/context.js +12 -2
  19. package/dist/cjs/agents/framework_function_calls.js +64 -0
  20. package/dist/cjs/agents/functions.js +185 -60
  21. package/dist/cjs/agents/instructions.js +51 -12
  22. package/dist/cjs/agents/invocation_context.js +43 -8
  23. package/dist/cjs/agents/live_request_queue.js +29 -5
  24. package/dist/cjs/agents/llm_agent.js +541 -50
  25. package/dist/cjs/agents/loop_agent.js +20 -3
  26. package/dist/cjs/agents/parallel_agent.js +22 -3
  27. package/dist/cjs/agents/processors/agent_transfer_llm_request_processor.js +32 -8
  28. package/dist/cjs/agents/processors/base_llm_processor.js +9 -4
  29. package/dist/cjs/agents/processors/basic_llm_request_processor.js +6 -3
  30. package/dist/cjs/agents/processors/code_execution_request_processor.js +20 -7
  31. package/dist/cjs/agents/processors/content_processor_utils.js +85 -15
  32. package/dist/cjs/agents/processors/content_request_processor.js +13 -5
  33. package/dist/cjs/agents/processors/context_compactor_request_processor.js +5 -2
  34. package/dist/cjs/agents/processors/identity_llm_request_processor.js +12 -4
  35. package/dist/cjs/agents/processors/instructions_llm_request_processor.js +5 -2
  36. package/dist/cjs/agents/processors/interactions_request_processor.js +5 -2
  37. package/dist/cjs/agents/processors/request_confirmation_llm_request_processor.js +320 -92
  38. package/dist/cjs/agents/processors/request_input_llm_request_processor.js +214 -0
  39. package/dist/cjs/agents/processors/tool_filter_request_processor.js +5 -2
  40. package/dist/cjs/agents/readonly_context.js +13 -3
  41. package/dist/cjs/agents/routed_agent.js +7 -14
  42. package/dist/cjs/agents/run_config.js +12 -0
  43. package/dist/cjs/agents/sequential_agent.js +21 -4
  44. package/dist/cjs/agents/user_input_request.js +145 -0
  45. package/dist/cjs/apps/app.js +12 -12
  46. package/dist/cjs/apps/resumability_config.js +2 -0
  47. package/dist/cjs/artifacts/file_artifact_service.js +22 -4
  48. package/dist/cjs/artifacts/gcs_artifact_service.js +46 -11
  49. package/dist/cjs/artifacts/in_memory_artifact_service.js +9 -2
  50. package/dist/cjs/artifacts/registry.js +6 -1
  51. package/dist/cjs/artifacts/scoped_artifact_service.js +14 -2
  52. package/dist/cjs/artifacts/session_artifact_service.js +19 -0
  53. package/dist/cjs/auth/auth_handler.js +49 -10
  54. package/dist/cjs/auth/auth_preprocessor.js +48 -40
  55. package/dist/cjs/auth/auth_provider_registry.js +5 -2
  56. package/dist/cjs/auth/auth_schemes.js +2 -0
  57. package/dist/cjs/auth/credential_response_binding.js +101 -0
  58. package/dist/cjs/auth/credential_service/in_memory_credential_service.js +5 -2
  59. package/dist/cjs/auth/credential_service/session_state_credential_service.js +5 -2
  60. package/dist/cjs/auth/exchanger/base_credential_exchanger.js +5 -2
  61. package/dist/cjs/auth/exchanger/credential_exchanger_registry.js +5 -2
  62. package/dist/cjs/auth/oauth2/oauth2_credential_exchanger.js +8 -2
  63. package/dist/cjs/auth/oauth2/oauth2_credential_refresher.js +6 -3
  64. package/dist/cjs/auth/oauth2/oauth2_discovery.js +7 -2
  65. package/dist/cjs/auth/oauth2/oauth2_utils.js +23 -2
  66. package/dist/cjs/auth/refresher/base_credential_refresher.js +5 -2
  67. package/dist/cjs/auth/refresher/credential_refresher_registry.js +5 -2
  68. package/dist/cjs/code_executors/agent_engine_sandbox_code_executor.js +3 -0
  69. package/dist/cjs/code_executors/base_code_executor.js +7 -3
  70. package/dist/cjs/code_executors/built_in_code_executor.js +7 -3
  71. package/dist/cjs/code_executors/code_execution_utils.js +8 -2
  72. package/dist/cjs/code_executors/code_executor_context.js +5 -2
  73. package/dist/cjs/code_executors/container_code_executor.js +186 -0
  74. package/dist/cjs/code_executors/docker_container.js +282 -0
  75. package/dist/cjs/code_executors/unsafe_local_code_executor.js +19 -8
  76. package/dist/cjs/common.js +180 -46
  77. package/dist/cjs/context/agent_controlled_context_compactor.js +15 -7
  78. package/dist/cjs/context/anchored_context_compactor.js +46 -20
  79. package/dist/cjs/context/compaction_utils.js +18 -6
  80. package/dist/cjs/context/summarizers/llm_summarizer.js +5 -2
  81. package/dist/cjs/context/token_based_context_compactor.js +19 -5
  82. package/dist/cjs/context/trajectory_thought_pruning_compactor.js +22 -12
  83. package/dist/cjs/context/truncating_context_compactor.js +22 -7
  84. package/dist/cjs/environment/base_environment.js +97 -0
  85. package/dist/cjs/environment/local_environment.js +186 -0
  86. package/dist/cjs/errors/already_exists_error.js +50 -0
  87. package/dist/cjs/errors/input_validation_error.js +50 -0
  88. package/dist/cjs/errors/not_found_error.js +50 -0
  89. package/dist/cjs/errors/session_not_found_error.js +50 -0
  90. package/dist/cjs/errors/tool_execution_error.js +68 -0
  91. package/dist/cjs/events/compacted_event.js +4 -0
  92. package/dist/cjs/events/event.js +38 -3
  93. package/dist/cjs/events/event_actions.js +12 -0
  94. package/dist/cjs/events/structured_events.js +2 -0
  95. package/dist/cjs/examples/base_example_provider.js +7 -3
  96. package/dist/cjs/examples/example_util.js +3 -0
  97. package/dist/cjs/features/feature_registry.js +7 -0
  98. package/dist/cjs/index.js +54 -25
  99. package/dist/cjs/index_web.js +2 -0
  100. package/dist/cjs/integrations/agent_registry/agent_registry.js +10 -6
  101. package/dist/cjs/integrations/agent_registry/agent_registry_mcp_toolset.js +7 -4
  102. package/dist/cjs/integrations/agent_registry/helpers.js +3 -0
  103. package/dist/cjs/memory/in_memory_memory_service.js +8 -2
  104. package/dist/cjs/memory/rag_memory_transcript.js +136 -0
  105. package/dist/cjs/memory/vertex_ai_memory_bank_service.js +19 -4
  106. package/dist/cjs/memory/vertex_ai_rag_api.js +120 -0
  107. package/dist/cjs/memory/vertex_ai_rag_memory_service.js +228 -0
  108. package/dist/cjs/models/apigee_llm.js +10 -4
  109. package/dist/cjs/models/base_llm.js +8 -4
  110. package/dist/cjs/models/chrome_prompt_llm.js +304 -0
  111. package/dist/cjs/models/chrome_prompt_utils.js +229 -0
  112. package/dist/cjs/models/gemini_llm_connection.js +5 -2
  113. package/dist/cjs/models/google_llm.js +33 -16
  114. package/dist/cjs/models/interactions_utils.js +18 -3
  115. package/dist/cjs/models/llm_request.js +4 -0
  116. package/dist/cjs/models/llm_response.js +2 -0
  117. package/dist/cjs/models/registry.js +8 -2
  118. package/dist/cjs/models/routed_llm.js +4 -13
  119. package/dist/cjs/plugins/_reflect_retry_utils.js +142 -0
  120. package/dist/cjs/plugins/base_plugin.js +39 -5
  121. package/dist/cjs/plugins/global_instruction_plugin.js +5 -2
  122. package/dist/cjs/plugins/logging_plugin.js +13 -8
  123. package/dist/cjs/plugins/plugin_manager.js +37 -2
  124. package/dist/cjs/plugins/reflect_retry_model_plugin.js +274 -0
  125. package/dist/cjs/plugins/reflect_retry_tool_plugin.js +276 -0
  126. package/dist/cjs/plugins/security_plugin.js +15 -8
  127. package/dist/cjs/runner/in_memory_runner.js +5 -2
  128. package/dist/cjs/runner/runner.js +236 -43
  129. package/dist/cjs/sessions/base_session_service.js +13 -2
  130. package/dist/cjs/sessions/database_session_service.js +84 -45
  131. package/dist/cjs/sessions/db/operations.js +259 -24
  132. package/dist/cjs/sessions/db/schema.js +118 -156
  133. package/dist/cjs/sessions/in_memory_session_service.js +22 -14
  134. package/dist/cjs/sessions/registry.js +9 -2
  135. package/dist/cjs/sessions/session.js +2 -0
  136. package/dist/cjs/sessions/state.js +80 -8
  137. package/dist/cjs/sessions/state_write_order.js +105 -0
  138. package/dist/cjs/sessions/vertex_ai_session_service.js +112 -17
  139. package/dist/cjs/skills/gcp_skill_registry.js +2 -0
  140. package/dist/cjs/skills/loader.js +22 -10
  141. package/dist/cjs/skills/prompt.js +3 -0
  142. package/dist/cjs/telemetry/google_cloud.js +42 -9
  143. package/dist/cjs/telemetry/setup.js +6 -1
  144. package/dist/cjs/telemetry/tracing.js +71 -5
  145. package/dist/cjs/tools/agent_tool.js +10 -7
  146. package/dist/cjs/tools/base_tool.js +38 -6
  147. package/dist/cjs/tools/base_toolset.js +10 -6
  148. package/dist/cjs/tools/built_in_tool.js +75 -0
  149. package/dist/cjs/tools/consolidate_context_tool.js +5 -2
  150. package/dist/cjs/tools/enterprise_web_search_tool.js +8 -7
  151. package/dist/cjs/tools/example_tool.js +5 -2
  152. package/dist/cjs/tools/exit_loop_tool.js +5 -2
  153. package/dist/cjs/tools/finish_task_tool.js +119 -0
  154. package/dist/cjs/tools/forwarding_artifact_service.js +23 -15
  155. package/dist/cjs/tools/function_tool.js +79 -11
  156. package/dist/cjs/tools/get_user_choice_tool.js +3 -2
  157. package/dist/cjs/tools/google_maps_grounding_tool.js +8 -7
  158. package/dist/cjs/tools/google_search_tool.js +7 -7
  159. package/dist/cjs/tools/load_artifacts_tool.js +55 -25
  160. package/dist/cjs/tools/load_memory_tool.js +5 -2
  161. package/dist/cjs/tools/load_web_page.js +14 -160
  162. package/dist/cjs/tools/long_running_tool.js +5 -2
  163. package/dist/cjs/tools/mcp/index.js +39 -0
  164. package/dist/cjs/tools/mcp/load_mcp_resource_tool.js +39 -7
  165. package/dist/cjs/tools/mcp/mcp_session_manager.js +36 -8
  166. package/dist/cjs/tools/mcp/mcp_tool.js +5 -2
  167. package/dist/cjs/tools/mcp/mcp_toolset.js +5 -2
  168. package/dist/cjs/tools/openapi_tool/auth/auth_helpers.js +15 -2
  169. package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +2 -0
  170. package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +2 -0
  171. package/dist/cjs/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +30 -9
  172. package/dist/cjs/tools/openapi_tool/openapi_spec_parser/operation_parser.js +3 -1
  173. package/dist/cjs/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +6 -2
  174. package/dist/cjs/tools/openapi_tool/openapi_toolset.js +2 -0
  175. package/dist/cjs/tools/openapi_tool/rest_api_tool.js +39 -23
  176. package/dist/cjs/tools/preload_memory_tool.js +6 -3
  177. package/dist/cjs/tools/request_input_tool.js +6 -4
  178. package/dist/cjs/tools/resume_inputs.js +27 -0
  179. package/dist/cjs/tools/retrieval/base_retrieval_tool.js +60 -0
  180. package/dist/cjs/tools/retrieval/files_retrieval.js +95 -0
  181. package/dist/cjs/tools/retrieval/llama_index_retrieval.js +57 -0
  182. package/dist/cjs/tools/skill/list_skills_tool.js +2 -0
  183. package/dist/cjs/tools/skill/load_skill_resource_tool.js +2 -0
  184. package/dist/cjs/tools/skill/load_skill_tool.js +4 -1
  185. package/dist/cjs/tools/skill/run_skill_inline_script_tool.js +8 -2
  186. package/dist/cjs/tools/skill/run_skill_script_tool.js +10 -2
  187. package/dist/cjs/tools/skill/search_skills_tool.js +2 -0
  188. package/dist/cjs/tools/skill/skill_toolset.js +35 -0
  189. package/dist/cjs/tools/tool_confirmation.js +26 -3
  190. package/dist/cjs/tools/url_context_tool.js +7 -7
  191. package/dist/cjs/tools/vertex_ai_search_tool.js +8 -9
  192. package/dist/cjs/tools/vertex_rag_retrieval_tool.js +7 -11
  193. package/dist/cjs/utils/async_hooks_shim.js +5 -2
  194. package/dist/cjs/utils/async_queue.js +45 -18
  195. package/dist/cjs/utils/branch_trie.js +2 -0
  196. package/dist/cjs/utils/case_utils.js +2 -0
  197. package/dist/cjs/utils/client_labels.js +5 -0
  198. package/dist/cjs/utils/crypto_shim.js +18 -0
  199. package/dist/cjs/utils/deprecated.js +68 -0
  200. package/dist/cjs/utils/env_aware_utils.js +41 -0
  201. package/dist/cjs/utils/error_utils.js +8 -0
  202. package/dist/cjs/utils/experimental.js +9 -2
  203. package/dist/cjs/utils/failover_utils.js +3 -0
  204. package/dist/cjs/utils/file_extension_utils.js +3 -0
  205. package/dist/cjs/utils/file_utils.js +7 -2
  206. package/dist/cjs/utils/gemini_schema_util.js +6 -8
  207. package/dist/cjs/utils/genai_schema_to_json.js +107 -0
  208. package/dist/cjs/utils/live_connection_utils.js +5 -2
  209. package/dist/cjs/utils/logger.js +28 -54
  210. package/dist/cjs/utils/logger_browser.js +86 -0
  211. package/dist/cjs/utils/logger_node.js +119 -0
  212. package/dist/cjs/utils/model_name.js +8 -0
  213. package/dist/cjs/utils/object_notation_utils.js +7 -3
  214. package/dist/cjs/utils/optional_peer.js +68 -0
  215. package/dist/cjs/utils/output_schema_utils.js +2 -0
  216. package/dist/cjs/utils/partial_copy.js +2 -0
  217. package/dist/cjs/utils/redact_inline_data.js +46 -0
  218. package/dist/cjs/utils/redact_uri.js +80 -0
  219. package/dist/cjs/utils/schema.js +178 -0
  220. package/dist/cjs/utils/simple_zod_to_json.js +17 -4
  221. package/dist/cjs/utils/ssrf_guard.js +262 -0
  222. package/dist/cjs/utils/streaming_utils.js +14 -6
  223. package/dist/cjs/utils/task.js +7 -4
  224. package/dist/cjs/utils/variant_utils.js +3 -1
  225. package/dist/cjs/utils/vertex_ai_utils.js +3 -1
  226. package/dist/cjs/version.js +1 -1
  227. package/dist/cjs/workflow/base_node.js +211 -0
  228. package/dist/cjs/workflow/branch_path.js +108 -0
  229. package/dist/cjs/workflow/dynamic_node_scheduler.js +220 -0
  230. package/dist/cjs/workflow/errors.js +178 -0
  231. package/dist/cjs/workflow/graph.js +158 -0
  232. package/dist/cjs/workflow/index.js +131 -0
  233. package/dist/cjs/workflow/node.js +65 -0
  234. package/dist/cjs/workflow/node_builders.js +68 -0
  235. package/dist/cjs/workflow/node_context.js +246 -0
  236. package/dist/cjs/workflow/node_error_event.js +86 -0
  237. package/dist/cjs/workflow/node_runner.js +459 -0
  238. package/dist/cjs/workflow/node_state.js +57 -0
  239. package/dist/cjs/workflow/node_status.js +48 -0
  240. package/dist/cjs/workflow/nodes/function_node.js +195 -0
  241. package/dist/cjs/workflow/nodes/join_node.js +56 -0
  242. package/dist/cjs/workflow/nodes/node_tool.js +147 -0
  243. package/dist/cjs/workflow/nodes/parallel_worker.js +129 -0
  244. package/dist/cjs/workflow/nodes/tool_node.js +117 -0
  245. package/dist/cjs/workflow/request_input.js +64 -0
  246. package/dist/cjs/workflow/retry_config.js +71 -0
  247. package/dist/cjs/workflow/run_llm_agent_as_node.js +192 -0
  248. package/dist/cjs/workflow/run_node_as_invocation.js +165 -0
  249. package/dist/cjs/workflow/schedule_dynamic_node.js +53 -0
  250. package/dist/cjs/workflow/trigger.js +27 -0
  251. package/dist/cjs/workflow/utils/graph_parser.js +212 -0
  252. package/dist/cjs/workflow/utils/graph_validation.js +216 -0
  253. package/dist/cjs/workflow/utils/hitl_utils.js +252 -0
  254. package/dist/cjs/workflow/utils/rehydration_utils.js +373 -0
  255. package/dist/cjs/workflow/utils/retry_utils.js +112 -0
  256. package/dist/cjs/workflow/utils/workflow_graph_utils.js +144 -0
  257. package/dist/cjs/workflow/workflow.js +509 -0
  258. package/dist/esm/a2a/a2a_event.js +18 -27
  259. package/dist/esm/a2a/a2a_remote_agent.js +16 -7
  260. package/dist/esm/a2a/a2a_remote_agent_run_processor.js +8 -3
  261. package/dist/esm/a2a/a2a_remote_agent_utils.js +110 -2
  262. package/dist/esm/a2a/agent_card.js +96 -8
  263. package/dist/esm/a2a/agent_executor.js +36 -19
  264. package/dist/esm/a2a/agent_to_a2a.js +52 -17
  265. package/dist/esm/a2a/auth.js +4 -0
  266. package/dist/esm/a2a/event_converter_utils.js +11 -0
  267. package/dist/esm/a2a/event_processor_utils.js +74 -35
  268. package/dist/esm/a2a/executor_context.js +7 -2
  269. package/dist/esm/a2a/index.js +26 -0
  270. package/dist/esm/a2a/metadata_converter_utils.js +6 -0
  271. package/dist/esm/a2a/part_converter_utils.js +13 -0
  272. package/dist/esm/a2a/request_metadata.js +68 -0
  273. package/dist/esm/agents/active_streaming_tool.js +6 -2
  274. package/dist/esm/agents/base_agent.js +56 -17
  275. package/dist/esm/agents/context.js +13 -2
  276. package/dist/esm/agents/framework_function_calls.js +34 -0
  277. package/dist/esm/agents/functions.js +191 -58
  278. package/dist/esm/agents/instructions.js +52 -12
  279. package/dist/esm/agents/invocation_context.js +42 -7
  280. package/dist/esm/agents/live_request_queue.js +30 -5
  281. package/dist/esm/agents/llm_agent.js +542 -50
  282. package/dist/esm/agents/loop_agent.js +22 -3
  283. package/dist/esm/agents/parallel_agent.js +24 -3
  284. package/dist/esm/agents/processors/agent_transfer_llm_request_processor.js +33 -8
  285. package/dist/esm/agents/processors/base_llm_processor.js +10 -4
  286. package/dist/esm/agents/processors/basic_llm_request_processor.js +7 -3
  287. package/dist/esm/agents/processors/code_execution_request_processor.js +21 -7
  288. package/dist/esm/agents/processors/content_processor_utils.js +88 -16
  289. package/dist/esm/agents/processors/content_request_processor.js +14 -5
  290. package/dist/esm/agents/processors/context_compactor_request_processor.js +6 -2
  291. package/dist/esm/agents/processors/identity_llm_request_processor.js +13 -4
  292. package/dist/esm/agents/processors/instructions_llm_request_processor.js +6 -2
  293. package/dist/esm/agents/processors/interactions_request_processor.js +6 -2
  294. package/dist/esm/agents/processors/request_confirmation_llm_request_processor.js +325 -93
  295. package/dist/esm/agents/processors/request_input_llm_request_processor.js +193 -0
  296. package/dist/esm/agents/processors/tool_filter_request_processor.js +6 -2
  297. package/dist/esm/agents/readonly_context.js +14 -3
  298. package/dist/esm/agents/routed_agent.js +7 -15
  299. package/dist/esm/agents/run_config.js +13 -0
  300. package/dist/esm/agents/sequential_agent.js +23 -4
  301. package/dist/esm/agents/user_input_request.js +120 -0
  302. package/dist/esm/apps/app.js +15 -12
  303. package/dist/esm/apps/resumability_config.js +3 -0
  304. package/dist/esm/artifacts/file_artifact_service.js +23 -4
  305. package/dist/esm/artifacts/gcs_artifact_service.js +58 -11
  306. package/dist/esm/artifacts/in_memory_artifact_service.js +10 -2
  307. package/dist/esm/artifacts/registry.js +7 -1
  308. package/dist/esm/artifacts/scoped_artifact_service.js +15 -2
  309. package/dist/esm/artifacts/session_artifact_service.js +12 -0
  310. package/dist/esm/auth/auth_handler.js +53 -10
  311. package/dist/esm/auth/auth_preprocessor.js +50 -41
  312. package/dist/esm/auth/auth_provider_registry.js +6 -2
  313. package/dist/esm/auth/auth_schemes.js +3 -0
  314. package/dist/esm/auth/credential_response_binding.js +74 -0
  315. package/dist/esm/auth/credential_service/in_memory_credential_service.js +6 -2
  316. package/dist/esm/auth/credential_service/session_state_credential_service.js +6 -2
  317. package/dist/esm/auth/exchanger/base_credential_exchanger.js +6 -2
  318. package/dist/esm/auth/exchanger/credential_exchanger_registry.js +6 -2
  319. package/dist/esm/auth/oauth2/oauth2_credential_exchanger.js +9 -2
  320. package/dist/esm/auth/oauth2/oauth2_credential_refresher.js +7 -3
  321. package/dist/esm/auth/oauth2/oauth2_discovery.js +8 -2
  322. package/dist/esm/auth/oauth2/oauth2_utils.js +22 -2
  323. package/dist/esm/auth/refresher/base_credential_refresher.js +6 -2
  324. package/dist/esm/auth/refresher/credential_refresher_registry.js +6 -2
  325. package/dist/esm/code_executors/agent_engine_sandbox_code_executor.js +3 -0
  326. package/dist/esm/code_executors/base_code_executor.js +8 -3
  327. package/dist/esm/code_executors/built_in_code_executor.js +8 -3
  328. package/dist/esm/code_executors/code_execution_utils.js +9 -2
  329. package/dist/esm/code_executors/code_executor_context.js +6 -2
  330. package/dist/esm/code_executors/container_code_executor.js +155 -0
  331. package/dist/esm/code_executors/docker_container.js +265 -0
  332. package/dist/esm/code_executors/unsafe_local_code_executor.js +20 -8
  333. package/dist/esm/common.js +181 -41
  334. package/dist/esm/context/agent_controlled_context_compactor.js +16 -7
  335. package/dist/esm/context/anchored_context_compactor.js +51 -21
  336. package/dist/esm/context/compaction_utils.js +17 -5
  337. package/dist/esm/context/summarizers/llm_summarizer.js +6 -2
  338. package/dist/esm/context/token_based_context_compactor.js +20 -5
  339. package/dist/esm/context/trajectory_thought_pruning_compactor.js +23 -12
  340. package/dist/esm/context/truncating_context_compactor.js +23 -7
  341. package/dist/esm/environment/base_environment.js +71 -0
  342. package/dist/esm/environment/local_environment.js +150 -0
  343. package/dist/esm/errors/already_exists_error.js +23 -0
  344. package/dist/esm/errors/input_validation_error.js +23 -0
  345. package/dist/esm/errors/not_found_error.js +23 -0
  346. package/dist/esm/errors/session_not_found_error.js +23 -0
  347. package/dist/esm/errors/tool_execution_error.js +40 -0
  348. package/dist/esm/events/compacted_event.js +5 -0
  349. package/dist/esm/events/event.js +38 -3
  350. package/dist/esm/events/event_actions.js +12 -0
  351. package/dist/esm/events/structured_events.js +3 -0
  352. package/dist/esm/examples/base_example_provider.js +8 -3
  353. package/dist/esm/examples/example_util.js +4 -0
  354. package/dist/esm/features/feature_registry.js +8 -0
  355. package/dist/esm/index.js +41 -15
  356. package/dist/esm/index_web.js +2 -0
  357. package/dist/esm/integrations/agent_registry/agent_registry.js +11 -6
  358. package/dist/esm/integrations/agent_registry/agent_registry_mcp_toolset.js +6 -2
  359. package/dist/esm/integrations/agent_registry/helpers.js +4 -0
  360. package/dist/esm/memory/in_memory_memory_service.js +9 -2
  361. package/dist/esm/memory/rag_memory_transcript.js +106 -0
  362. package/dist/esm/memory/vertex_ai_memory_bank_service.js +20 -4
  363. package/dist/esm/memory/vertex_ai_rag_api.js +93 -0
  364. package/dist/esm/memory/vertex_ai_rag_memory_service.js +208 -0
  365. package/dist/esm/models/apigee_llm.js +11 -4
  366. package/dist/esm/models/base_llm.js +9 -4
  367. package/dist/esm/models/chrome_prompt_llm.js +285 -0
  368. package/dist/esm/models/chrome_prompt_utils.js +192 -0
  369. package/dist/esm/models/gemini_llm_connection.js +6 -2
  370. package/dist/esm/models/google_llm.js +35 -17
  371. package/dist/esm/models/interactions_utils.js +19 -3
  372. package/dist/esm/models/llm_request.js +5 -0
  373. package/dist/esm/models/llm_response.js +3 -0
  374. package/dist/esm/models/registry.js +9 -2
  375. package/dist/esm/models/routed_llm.js +4 -14
  376. package/dist/esm/plugins/_reflect_retry_utils.js +111 -0
  377. package/dist/esm/plugins/base_plugin.js +39 -5
  378. package/dist/esm/plugins/global_instruction_plugin.js +6 -2
  379. package/dist/esm/plugins/logging_plugin.js +14 -8
  380. package/dist/esm/plugins/plugin_manager.js +38 -2
  381. package/dist/esm/plugins/reflect_retry_model_plugin.js +250 -0
  382. package/dist/esm/plugins/reflect_retry_tool_plugin.js +254 -0
  383. package/dist/esm/plugins/security_plugin.js +14 -6
  384. package/dist/esm/runner/in_memory_runner.js +6 -2
  385. package/dist/esm/runner/runner.js +249 -46
  386. package/dist/esm/sessions/base_session_service.js +14 -2
  387. package/dist/esm/sessions/database_session_service.js +65 -27
  388. package/dist/esm/sessions/db/operations.js +259 -24
  389. package/dist/esm/sessions/db/schema.js +116 -157
  390. package/dist/esm/sessions/in_memory_session_service.js +23 -14
  391. package/dist/esm/sessions/registry.js +10 -2
  392. package/dist/esm/sessions/session.js +3 -0
  393. package/dist/esm/sessions/state.js +78 -7
  394. package/dist/esm/sessions/state_write_order.js +74 -0
  395. package/dist/esm/sessions/vertex_ai_session_service.js +111 -16
  396. package/dist/esm/skills/gcp_skill_registry.js +2 -0
  397. package/dist/esm/skills/loader.js +23 -10
  398. package/dist/esm/skills/prompt.js +4 -0
  399. package/dist/esm/telemetry/google_cloud.js +54 -9
  400. package/dist/esm/telemetry/setup.js +7 -1
  401. package/dist/esm/telemetry/tracing.js +70 -5
  402. package/dist/esm/tools/agent_tool.js +11 -7
  403. package/dist/esm/tools/base_tool.js +36 -5
  404. package/dist/esm/tools/base_toolset.js +11 -6
  405. package/dist/esm/tools/built_in_tool.js +51 -0
  406. package/dist/esm/tools/consolidate_context_tool.js +6 -2
  407. package/dist/esm/tools/enterprise_web_search_tool.js +9 -7
  408. package/dist/esm/tools/example_tool.js +6 -2
  409. package/dist/esm/tools/exit_loop_tool.js +6 -2
  410. package/dist/esm/tools/finish_task_tool.js +92 -0
  411. package/dist/esm/tools/forwarding_artifact_service.js +24 -15
  412. package/dist/esm/tools/function_tool.js +80 -11
  413. package/dist/esm/tools/get_user_choice_tool.js +4 -2
  414. package/dist/esm/tools/google_maps_grounding_tool.js +9 -7
  415. package/dist/esm/tools/google_search_tool.js +8 -7
  416. package/dist/esm/tools/load_artifacts_tool.js +57 -26
  417. package/dist/esm/tools/load_memory_tool.js +6 -2
  418. package/dist/esm/tools/load_web_page.js +19 -158
  419. package/dist/esm/tools/long_running_tool.js +6 -2
  420. package/dist/{web/context/summarizers/base_summarizer.js → esm/tools/mcp/index.js} +4 -0
  421. package/dist/esm/tools/mcp/load_mcp_resource_tool.js +40 -7
  422. package/dist/esm/tools/mcp/mcp_session_manager.js +45 -9
  423. package/dist/esm/tools/mcp/mcp_tool.js +6 -2
  424. package/dist/esm/tools/mcp/mcp_toolset.js +6 -2
  425. package/dist/esm/tools/openapi_tool/auth/auth_helpers.js +18 -2
  426. package/dist/esm/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +2 -0
  427. package/dist/esm/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +2 -0
  428. package/dist/esm/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +30 -9
  429. package/dist/esm/tools/openapi_tool/openapi_spec_parser/operation_parser.js +3 -1
  430. package/dist/esm/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +6 -2
  431. package/dist/esm/tools/openapi_tool/openapi_toolset.js +2 -0
  432. package/dist/esm/tools/openapi_tool/rest_api_tool.js +39 -23
  433. package/dist/esm/tools/preload_memory_tool.js +7 -3
  434. package/dist/esm/tools/request_input_tool.js +7 -4
  435. package/dist/esm/tools/retrieval/base_retrieval_tool.js +33 -0
  436. package/dist/esm/tools/retrieval/files_retrieval.js +81 -0
  437. package/dist/esm/tools/retrieval/llama_index_retrieval.js +30 -0
  438. package/dist/esm/tools/skill/list_skills_tool.js +2 -0
  439. package/dist/esm/tools/skill/load_skill_resource_tool.js +2 -0
  440. package/dist/esm/tools/skill/load_skill_tool.js +4 -1
  441. package/dist/esm/tools/skill/run_skill_inline_script_tool.js +8 -2
  442. package/dist/esm/tools/skill/run_skill_script_tool.js +10 -2
  443. package/dist/esm/tools/skill/search_skills_tool.js +2 -0
  444. package/dist/esm/tools/skill/skill_toolset.js +25 -0
  445. package/dist/esm/tools/tool_confirmation.js +24 -2
  446. package/dist/esm/tools/url_context_tool.js +8 -7
  447. package/dist/esm/tools/vertex_ai_search_tool.js +9 -9
  448. package/dist/esm/tools/vertex_rag_retrieval_tool.js +8 -11
  449. package/dist/esm/utils/async_hooks_shim.js +6 -2
  450. package/dist/esm/utils/async_queue.js +46 -18
  451. package/dist/esm/utils/branch_trie.js +3 -0
  452. package/dist/esm/utils/case_utils.js +3 -0
  453. package/dist/esm/utils/client_labels.js +6 -0
  454. package/dist/esm/utils/crypto_shim.js +17 -0
  455. package/dist/esm/utils/deprecated.js +40 -0
  456. package/dist/esm/utils/env_aware_utils.js +41 -0
  457. package/dist/esm/utils/error_utils.js +9 -0
  458. package/dist/esm/utils/experimental.js +10 -2
  459. package/dist/esm/utils/failover_utils.js +4 -0
  460. package/dist/esm/utils/file_extension_utils.js +4 -0
  461. package/dist/esm/utils/file_utils.js +8 -2
  462. package/dist/esm/utils/gemini_schema_util.js +7 -8
  463. package/dist/esm/utils/genai_schema_to_json.js +80 -0
  464. package/dist/esm/utils/live_connection_utils.js +6 -2
  465. package/dist/esm/utils/logger.js +28 -44
  466. package/dist/esm/utils/logger_browser.js +58 -0
  467. package/dist/esm/utils/logger_node.js +81 -0
  468. package/dist/esm/utils/model_name.js +9 -0
  469. package/dist/esm/utils/object_notation_utils.js +8 -3
  470. package/dist/esm/utils/optional_peer.js +41 -0
  471. package/dist/esm/utils/output_schema_utils.js +3 -0
  472. package/dist/esm/utils/partial_copy.js +3 -0
  473. package/dist/esm/utils/redact_inline_data.js +19 -0
  474. package/dist/esm/utils/redact_uri.js +53 -0
  475. package/dist/esm/utils/schema.js +152 -0
  476. package/dist/esm/utils/simple_zod_to_json.js +15 -4
  477. package/dist/esm/utils/ssrf_guard.js +230 -0
  478. package/dist/esm/utils/streaming_utils.js +15 -6
  479. package/dist/esm/utils/task.js +8 -4
  480. package/dist/esm/utils/variant_utils.js +5 -2
  481. package/dist/esm/utils/vertex_ai_utils.js +5 -2
  482. package/dist/esm/version.js +1 -1
  483. package/dist/esm/workflow/base_node.js +182 -0
  484. package/dist/esm/workflow/branch_path.js +77 -0
  485. package/dist/esm/workflow/dynamic_node_scheduler.js +202 -0
  486. package/dist/esm/workflow/errors.js +140 -0
  487. package/dist/esm/workflow/graph.js +127 -0
  488. package/dist/esm/workflow/index.js +80 -0
  489. package/dist/esm/workflow/node.js +38 -0
  490. package/dist/esm/workflow/node_builders.js +40 -0
  491. package/dist/esm/workflow/node_context.js +219 -0
  492. package/dist/esm/workflow/node_error_event.js +57 -0
  493. package/dist/esm/workflow/node_runner.js +439 -0
  494. package/dist/esm/workflow/node_state.js +29 -0
  495. package/dist/esm/workflow/node_status.js +20 -0
  496. package/dist/esm/workflow/nodes/function_node.js +172 -0
  497. package/dist/esm/workflow/nodes/join_node.js +29 -0
  498. package/dist/esm/workflow/nodes/node_tool.js +122 -0
  499. package/dist/esm/workflow/nodes/parallel_worker.js +102 -0
  500. package/dist/esm/workflow/nodes/tool_node.js +90 -0
  501. package/dist/esm/workflow/request_input.js +36 -0
  502. package/dist/esm/workflow/retry_config.js +43 -0
  503. package/dist/esm/workflow/run_llm_agent_as_node.js +172 -0
  504. package/dist/esm/workflow/run_node_as_invocation.js +139 -0
  505. package/dist/esm/workflow/schedule_dynamic_node.js +26 -0
  506. package/dist/esm/workflow/utils/graph_parser.js +188 -0
  507. package/dist/esm/workflow/utils/graph_validation.js +189 -0
  508. package/dist/esm/workflow/utils/hitl_utils.js +222 -0
  509. package/dist/esm/workflow/utils/rehydration_utils.js +342 -0
  510. package/dist/esm/workflow/utils/retry_utils.js +82 -0
  511. package/dist/esm/workflow/utils/workflow_graph_utils.js +115 -0
  512. package/dist/esm/workflow/workflow.js +493 -0
  513. package/dist/types/a2a/a2a_event.d.ts +7 -10
  514. package/dist/types/a2a/a2a_remote_agent.d.ts +5 -0
  515. package/dist/types/a2a/a2a_remote_agent_utils.d.ts +25 -0
  516. package/dist/types/a2a/agent_card.d.ts +12 -3
  517. package/dist/types/a2a/agent_executor.d.ts +1 -1
  518. package/dist/types/a2a/agent_to_a2a.d.ts +6 -4
  519. package/dist/types/a2a/auth.d.ts +5 -1
  520. package/dist/types/a2a/event_processor_utils.d.ts +17 -2
  521. package/dist/types/a2a/executor_context.d.ts +7 -1
  522. package/dist/types/a2a/index.d.ts +18 -0
  523. package/dist/types/a2a/request_metadata.d.ts +22 -0
  524. package/dist/types/agents/base_agent.d.ts +56 -25
  525. package/dist/types/agents/context.d.ts +8 -0
  526. package/dist/types/agents/framework_function_calls.d.ts +26 -0
  527. package/dist/types/agents/functions.d.ts +73 -8
  528. package/dist/types/agents/invocation_context.d.ts +106 -6
  529. package/dist/types/agents/live_request_queue.d.ts +7 -1
  530. package/dist/types/agents/llm_agent.d.ts +86 -8
  531. package/dist/types/agents/loop_agent.d.ts +5 -0
  532. package/dist/types/agents/parallel_agent.d.ts +5 -0
  533. package/dist/types/agents/processors/agent_transfer_llm_request_processor.d.ts +16 -1
  534. package/dist/types/agents/processors/content_processor_utils.d.ts +3 -2
  535. package/dist/types/agents/processors/identity_llm_request_processor.d.ts +4 -1
  536. package/dist/types/agents/processors/request_input_llm_request_processor.d.ts +21 -0
  537. package/dist/types/agents/readonly_context.d.ts +4 -0
  538. package/dist/types/agents/run_config.d.ts +72 -4
  539. package/dist/types/agents/sequential_agent.d.ts +5 -0
  540. package/dist/types/agents/user_input_request.d.ts +71 -0
  541. package/dist/types/apps/app.d.ts +8 -3
  542. package/dist/types/artifacts/gcs_artifact_service.d.ts +9 -2
  543. package/dist/types/artifacts/scoped_artifact_service.d.ts +13 -0
  544. package/dist/types/artifacts/session_artifact_service.d.ts +8 -1
  545. package/dist/types/auth/auth_credential.d.ts +13 -8
  546. package/dist/types/auth/auth_handler.d.ts +12 -1
  547. package/dist/types/auth/credential_response_binding.d.ts +24 -0
  548. package/dist/types/auth/oauth2/oauth2_credential_refresher.d.ts +1 -1
  549. package/dist/types/auth/oauth2/oauth2_utils.d.ts +9 -0
  550. package/dist/types/auth/refresher/base_credential_refresher.d.ts +1 -1
  551. package/dist/types/code_executors/code_execution_utils.d.ts +1 -1
  552. package/dist/types/code_executors/container_code_executor.d.ts +89 -0
  553. package/dist/types/code_executors/docker_container.d.ts +79 -0
  554. package/dist/types/common.d.ts +39 -27
  555. package/dist/types/context/compaction_utils.d.ts +9 -1
  556. package/dist/types/environment/base_environment.d.ts +101 -0
  557. package/dist/types/environment/local_environment.d.ts +72 -0
  558. package/dist/types/errors/already_exists_error.d.ts +14 -0
  559. package/dist/types/errors/input_validation_error.d.ts +14 -0
  560. package/dist/types/errors/not_found_error.d.ts +14 -0
  561. package/dist/types/errors/session_not_found_error.d.ts +14 -0
  562. package/dist/types/errors/tool_execution_error.d.ts +36 -0
  563. package/dist/types/events/event.d.ts +94 -1
  564. package/dist/types/events/event_actions.d.ts +23 -0
  565. package/dist/types/index.d.ts +27 -14
  566. package/dist/types/memory/rag_memory_transcript.d.ts +55 -0
  567. package/dist/types/memory/vertex_ai_rag_api.d.ts +89 -0
  568. package/dist/types/memory/vertex_ai_rag_memory_service.d.ts +68 -0
  569. package/dist/types/models/apigee_llm.d.ts +4 -4
  570. package/dist/types/models/chrome_prompt_llm.d.ts +210 -0
  571. package/dist/types/models/chrome_prompt_utils.d.ts +68 -0
  572. package/dist/types/models/google_llm.d.ts +10 -4
  573. package/dist/types/models/registry.d.ts +3 -2
  574. package/dist/types/plugins/_reflect_retry_utils.d.ts +72 -0
  575. package/dist/types/plugins/base_plugin.d.ts +47 -10
  576. package/dist/types/plugins/logging_plugin.d.ts +3 -2
  577. package/dist/types/plugins/plugin_manager.d.ts +20 -0
  578. package/dist/types/plugins/reflect_retry_model_plugin.d.ts +132 -0
  579. package/dist/types/plugins/reflect_retry_tool_plugin.d.ts +187 -0
  580. package/dist/types/plugins/security_plugin.d.ts +4 -2
  581. package/dist/types/runner/in_memory_runner.d.ts +2 -2
  582. package/dist/types/runner/runner.d.ts +64 -9
  583. package/dist/types/sessions/base_session_service.d.ts +2 -2
  584. package/dist/types/sessions/database_session_service.d.ts +1 -1
  585. package/dist/types/sessions/db/operations.d.ts +13 -1
  586. package/dist/types/sessions/db/schema.d.ts +23 -9
  587. package/dist/types/sessions/state.d.ts +34 -1
  588. package/dist/types/sessions/state_write_order.d.ts +39 -0
  589. package/dist/types/telemetry/tracing.d.ts +15 -0
  590. package/dist/types/tools/base_tool.d.ts +26 -0
  591. package/dist/types/tools/base_toolset.d.ts +3 -4
  592. package/dist/types/tools/built_in_tool.d.ts +41 -0
  593. package/dist/types/tools/enterprise_web_search_tool.d.ts +4 -4
  594. package/dist/types/tools/finish_task_tool.d.ts +47 -0
  595. package/dist/types/tools/forwarding_artifact_service.d.ts +23 -10
  596. package/dist/types/tools/function_tool.d.ts +88 -10
  597. package/dist/types/tools/google_maps_grounding_tool.d.ts +4 -4
  598. package/dist/types/tools/google_search_tool.d.ts +4 -4
  599. package/dist/types/tools/long_running_tool.d.ts +1 -1
  600. package/dist/types/tools/mcp/index.d.ts +13 -0
  601. package/dist/types/tools/mcp/mcp_session_manager.d.ts +3 -3
  602. package/dist/types/tools/mcp/mcp_tool.d.ts +1 -1
  603. package/dist/types/tools/mcp/mcp_toolset.d.ts +12 -11
  604. package/dist/types/tools/openapi_tool/auth/auth_helpers.d.ts +5 -0
  605. package/dist/types/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.d.ts +0 -1
  606. package/dist/types/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.d.ts +0 -1
  607. package/dist/types/tools/preload_memory_tool.d.ts +1 -1
  608. package/dist/types/tools/request_input_tool.d.ts +6 -1
  609. package/dist/types/tools/resume_inputs.d.ts +25 -0
  610. package/dist/types/tools/retrieval/base_retrieval_tool.d.ts +21 -0
  611. package/dist/types/tools/retrieval/files_retrieval.d.ts +50 -0
  612. package/dist/types/tools/retrieval/llama_index_retrieval.d.ts +62 -0
  613. package/dist/types/tools/skill/skill_toolset.d.ts +26 -0
  614. package/dist/types/tools/tool_confirmation.d.ts +47 -0
  615. package/dist/types/tools/url_context_tool.d.ts +4 -4
  616. package/dist/types/tools/vertex_ai_search_tool.d.ts +4 -4
  617. package/dist/types/tools/vertex_rag_retrieval_tool.d.ts +13 -12
  618. package/dist/types/utils/async_queue.d.ts +34 -2
  619. package/dist/types/utils/crypto_shim.d.ts +16 -0
  620. package/dist/types/utils/deprecated.d.ts +21 -0
  621. package/dist/types/utils/env_aware_utils.d.ts +16 -0
  622. package/dist/types/utils/file_utils.d.ts +10 -2
  623. package/dist/types/utils/gemini_schema_util.d.ts +5 -7
  624. package/dist/types/utils/genai_schema_to_json.d.ts +25 -0
  625. package/dist/types/utils/logger.d.ts +23 -1
  626. package/dist/types/utils/logger_browser.d.ts +28 -0
  627. package/dist/types/utils/logger_node.d.ts +20 -0
  628. package/dist/types/utils/optional_peer.d.ts +36 -0
  629. package/dist/types/utils/output_schema_utils.d.ts +3 -3
  630. package/dist/types/utils/redact_inline_data.d.ts +16 -0
  631. package/dist/types/utils/redact_uri.d.ts +32 -0
  632. package/dist/types/utils/schema.d.ts +73 -0
  633. package/dist/types/utils/simple_zod_to_json.d.ts +8 -0
  634. package/dist/types/utils/ssrf_guard.d.ts +32 -0
  635. package/dist/types/utils/vertex_ai_utils.d.ts +4 -0
  636. package/dist/types/version.d.ts +1 -1
  637. package/dist/types/workflow/base_node.d.ts +142 -0
  638. package/dist/types/workflow/branch_path.d.ts +40 -0
  639. package/dist/types/workflow/dynamic_node_scheduler.d.ts +64 -0
  640. package/dist/types/workflow/errors.d.ts +132 -0
  641. package/dist/types/workflow/graph.d.ts +127 -0
  642. package/dist/types/workflow/index.d.ts +46 -0
  643. package/dist/types/workflow/node.d.ts +48 -0
  644. package/dist/types/workflow/node_builders.d.ts +25 -0
  645. package/dist/types/workflow/node_context.d.ts +208 -0
  646. package/dist/types/workflow/node_error_event.d.ts +18 -0
  647. package/dist/types/workflow/node_runner.d.ts +82 -0
  648. package/dist/types/workflow/node_state.d.ts +47 -0
  649. package/dist/types/workflow/node_status.d.ts +28 -0
  650. package/dist/types/workflow/nodes/function_node.d.ts +78 -0
  651. package/dist/types/workflow/nodes/join_node.d.ts +24 -0
  652. package/dist/types/workflow/nodes/node_tool.d.ts +53 -0
  653. package/dist/types/workflow/nodes/parallel_worker.d.ts +55 -0
  654. package/dist/types/workflow/nodes/tool_node.d.ts +34 -0
  655. package/dist/types/workflow/request_input.d.ts +73 -0
  656. package/dist/types/workflow/retry_config.d.ts +84 -0
  657. package/dist/types/workflow/run_llm_agent_as_node.d.ts +28 -0
  658. package/dist/types/workflow/run_node_as_invocation.d.ts +72 -0
  659. package/dist/types/workflow/schedule_dynamic_node.d.ts +66 -0
  660. package/dist/types/workflow/trigger.d.ts +22 -0
  661. package/dist/types/workflow/utils/graph_parser.d.ts +8 -0
  662. package/dist/types/workflow/utils/graph_validation.d.ts +18 -0
  663. package/dist/types/workflow/utils/hitl_utils.d.ts +92 -0
  664. package/dist/types/workflow/utils/rehydration_utils.d.ts +132 -0
  665. package/dist/types/workflow/utils/retry_utils.d.ts +54 -0
  666. package/dist/types/workflow/utils/workflow_graph_utils.d.ts +76 -0
  667. package/dist/types/workflow/workflow.d.ts +115 -0
  668. package/dist/web/index_web.js +304 -3
  669. package/dist/web/index_web.js.map +7 -0
  670. package/package.json +97 -20
  671. package/dist/web/a2a/a2a_event.js +0 -271
  672. package/dist/web/a2a/a2a_remote_agent.js +0 -196
  673. package/dist/web/a2a/a2a_remote_agent_run_processor.js +0 -184
  674. package/dist/web/a2a/a2a_remote_agent_utils.js +0 -133
  675. package/dist/web/a2a/agent_card.js +0 -342
  676. package/dist/web/a2a/agent_executor.js +0 -218
  677. package/dist/web/a2a/agent_to_a2a.js +0 -97
  678. package/dist/web/a2a/auth.js +0 -37
  679. package/dist/web/a2a/event_converter_utils.js +0 -232
  680. package/dist/web/a2a/event_processor_utils.js +0 -170
  681. package/dist/web/a2a/executor_context.js +0 -25
  682. package/dist/web/a2a/metadata_converter_utils.js +0 -110
  683. package/dist/web/a2a/part_converter_utils.js +0 -188
  684. package/dist/web/agents/active_streaming_tool.js +0 -21
  685. package/dist/web/agents/base_agent.js +0 -423
  686. package/dist/web/agents/context.js +0 -142
  687. package/dist/web/agents/functions.js +0 -433
  688. package/dist/web/agents/instructions.js +0 -148
  689. package/dist/web/agents/invocation_context.js +0 -77
  690. package/dist/web/agents/live_request_queue.js +0 -126
  691. package/dist/web/agents/llm_agent.js +0 -936
  692. package/dist/web/agents/loop_agent.js +0 -112
  693. package/dist/web/agents/parallel_agent.js +0 -101
  694. package/dist/web/agents/processors/agent_transfer_llm_request_processor.js +0 -109
  695. package/dist/web/agents/processors/base_llm_processor.js +0 -15
  696. package/dist/web/agents/processors/basic_llm_request_processor.js +0 -81
  697. package/dist/web/agents/processors/code_execution_request_processor.js +0 -367
  698. package/dist/web/agents/processors/content_processor_utils.js +0 -361
  699. package/dist/web/agents/processors/content_request_processor.js +0 -67
  700. package/dist/web/agents/processors/context_compactor_request_processor.js +0 -74
  701. package/dist/web/agents/processors/identity_llm_request_processor.js +0 -50
  702. package/dist/web/agents/processors/instructions_llm_request_processor.js +0 -81
  703. package/dist/web/agents/processors/interactions_request_processor.js +0 -52
  704. package/dist/web/agents/processors/request_confirmation_llm_request_processor.js +0 -168
  705. package/dist/web/agents/processors/tool_filter_request_processor.js +0 -68
  706. package/dist/web/agents/readonly_context.js +0 -55
  707. package/dist/web/agents/routed_agent.js +0 -169
  708. package/dist/web/agents/run_config.js +0 -62
  709. package/dist/web/agents/sequential_agent.js +0 -122
  710. package/dist/web/agents/transcription_entry.js +0 -7
  711. package/dist/web/apps/app.js +0 -49
  712. package/dist/web/apps/resumability_config.js +0 -31
  713. package/dist/web/artifacts/base_artifact_service.js +0 -7
  714. package/dist/web/artifacts/file_artifact_service.js +0 -548
  715. package/dist/web/artifacts/gcs_artifact_service.js +0 -253
  716. package/dist/web/artifacts/in_memory_artifact_service.js +0 -164
  717. package/dist/web/artifacts/registry.js +0 -30
  718. package/dist/web/artifacts/scoped_artifact_service.js +0 -86
  719. package/dist/web/auth/auth_credential.js +0 -18
  720. package/dist/web/auth/auth_handler.js +0 -148
  721. package/dist/web/auth/auth_preprocessor.js +0 -175
  722. package/dist/web/auth/auth_provider_registry.js +0 -33
  723. package/dist/web/auth/auth_schemes.js +0 -33
  724. package/dist/web/auth/auth_tool.js +0 -7
  725. package/dist/web/auth/credential_service/base_credential_service.js +0 -7
  726. package/dist/web/auth/credential_service/in_memory_credential_service.js +0 -46
  727. package/dist/web/auth/credential_service/session_state_credential_service.js +0 -23
  728. package/dist/web/auth/exchanger/base_credential_exchanger.js +0 -12
  729. package/dist/web/auth/exchanger/credential_exchanger_registry.js +0 -31
  730. package/dist/web/auth/oauth2/oauth2_credential_exchanger.js +0 -188
  731. package/dist/web/auth/oauth2/oauth2_credential_refresher.js +0 -102
  732. package/dist/web/auth/oauth2/oauth2_discovery.js +0 -190
  733. package/dist/web/auth/oauth2/oauth2_utils.js +0 -98
  734. package/dist/web/auth/refresher/base_credential_refresher.js +0 -16
  735. package/dist/web/auth/refresher/credential_refresher_registry.js +0 -40
  736. package/dist/web/code_executors/agent_engine_sandbox_code_executor.js +0 -281
  737. package/dist/web/code_executors/base_code_executor.js +0 -63
  738. package/dist/web/code_executors/built_in_code_executor.js +0 -45
  739. package/dist/web/code_executors/code_execution_utils.js +0 -124
  740. package/dist/web/code_executors/code_executor_context.js +0 -170
  741. package/dist/web/code_executors/unsafe_local_code_executor.js +0 -214
  742. package/dist/web/common.js +0 -347
  743. package/dist/web/context/agent_controlled_context_compactor.js +0 -72
  744. package/dist/web/context/anchored_context_compactor.js +0 -117
  745. package/dist/web/context/base_context_compactor.js +0 -7
  746. package/dist/web/context/compaction_utils.js +0 -38
  747. package/dist/web/context/summarizers/llm_summarizer.js +0 -87
  748. package/dist/web/context/token_based_context_compactor.js +0 -111
  749. package/dist/web/context/trajectory_thought_pruning_compactor.js +0 -43
  750. package/dist/web/context/truncating_context_compactor.js +0 -30
  751. package/dist/web/events/compacted_event.js +0 -47
  752. package/dist/web/events/event.js +0 -174
  753. package/dist/web/events/event_actions.js +0 -69
  754. package/dist/web/events/structured_events.js +0 -76
  755. package/dist/web/examples/base_example_provider.js +0 -27
  756. package/dist/web/examples/example.js +0 -7
  757. package/dist/web/examples/example_util.js +0 -79
  758. package/dist/web/features/feature_registry.js +0 -107
  759. package/dist/web/index.js +0 -68
  760. package/dist/web/integrations/agent_registry/agent_registry.js +0 -333
  761. package/dist/web/integrations/agent_registry/agent_registry_mcp_toolset.js +0 -117
  762. package/dist/web/integrations/agent_registry/helpers.js +0 -28
  763. package/dist/web/integrations/agent_registry/types.js +0 -20
  764. package/dist/web/memory/base_memory_service.js +0 -7
  765. package/dist/web/memory/in_memory_memory_service.js +0 -82
  766. package/dist/web/memory/memory_entry.js +0 -7
  767. package/dist/web/memory/vertex_ai_memory_bank_service.js +0 -481
  768. package/dist/web/models/apigee_llm.js +0 -221
  769. package/dist/web/models/base_llm.js +0 -73
  770. package/dist/web/models/base_llm_connection.js +0 -7
  771. package/dist/web/models/gemini_llm_connection.js +0 -179
  772. package/dist/web/models/google_llm.js +0 -384
  773. package/dist/web/models/interactions_utils.js +0 -728
  774. package/dist/web/models/llm_request.js +0 -52
  775. package/dist/web/models/llm_response.js +0 -45
  776. package/dist/web/models/registry.js +0 -95
  777. package/dist/web/models/routed_llm.js +0 -122
  778. package/dist/web/plugins/base_plugin.js +0 -271
  779. package/dist/web/plugins/global_instruction_plugin.js +0 -67
  780. package/dist/web/plugins/logging_plugin.js +0 -235
  781. package/dist/web/plugins/plugin_manager.js +0 -282
  782. package/dist/web/plugins/security_plugin.js +0 -140
  783. package/dist/web/runner/in_memory_runner.js +0 -46
  784. package/dist/web/runner/runner.js +0 -535
  785. package/dist/web/sessions/base_session_service.js +0 -111
  786. package/dist/web/sessions/database_session_service.js +0 -436
  787. package/dist/web/sessions/db/operations.js +0 -96
  788. package/dist/web/sessions/db/schema.js +0 -208
  789. package/dist/web/sessions/in_memory_session_service.js +0 -242
  790. package/dist/web/sessions/registry.js +0 -34
  791. package/dist/web/sessions/session.js +0 -20
  792. package/dist/web/sessions/state.js +0 -89
  793. package/dist/web/sessions/vertex_ai_session_service.js +0 -443
  794. package/dist/web/skills/gcp_skill_registry.js +0 -78
  795. package/dist/web/skills/loader.js +0 -360
  796. package/dist/web/skills/prompt.js +0 -30
  797. package/dist/web/skills/skill.js +0 -67
  798. package/dist/web/skills/skill_registry.js +0 -7
  799. package/dist/web/telemetry/google_cloud.js +0 -54
  800. package/dist/web/telemetry/setup.js +0 -83
  801. package/dist/web/telemetry/tracing.js +0 -234
  802. package/dist/web/tools/agent_tool.js +0 -145
  803. package/dist/web/tools/base_tool.js +0 -93
  804. package/dist/web/tools/base_toolset.js +0 -57
  805. package/dist/web/tools/consolidate_context_tool.js +0 -51
  806. package/dist/web/tools/enterprise_web_search_tool.js +0 -55
  807. package/dist/web/tools/example_tool.js +0 -42
  808. package/dist/web/tools/exit_loop_tool.js +0 -43
  809. package/dist/web/tools/forwarding_artifact_service.js +0 -47
  810. package/dist/web/tools/function_tool.js +0 -85
  811. package/dist/web/tools/get_user_choice_tool.js +0 -25
  812. package/dist/web/tools/google_maps_grounding_tool.js +0 -54
  813. package/dist/web/tools/google_search_tool.js +0 -51
  814. package/dist/web/tools/load_artifacts_tool.js +0 -152
  815. package/dist/web/tools/load_memory_tool.js +0 -79
  816. package/dist/web/tools/load_web_page.js +0 -221
  817. package/dist/web/tools/long_running_tool.js +0 -55
  818. package/dist/web/tools/mcp/load_mcp_resource_tool.js +0 -107
  819. package/dist/web/tools/mcp/mcp_session_manager.js +0 -78
  820. package/dist/web/tools/mcp/mcp_tool.js +0 -43
  821. package/dist/web/tools/mcp/mcp_toolset.js +0 -141
  822. package/dist/web/tools/openapi_tool/auth/auth_helpers.js +0 -48
  823. package/dist/web/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +0 -60
  824. package/dist/web/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +0 -111
  825. package/dist/web/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +0 -221
  826. package/dist/web/tools/openapi_tool/openapi_spec_parser/operation_parser.js +0 -198
  827. package/dist/web/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +0 -94
  828. package/dist/web/tools/openapi_tool/openapi_toolset.js +0 -97
  829. package/dist/web/tools/openapi_tool/rest_api_tool.js +0 -229
  830. package/dist/web/tools/preload_memory_tool.js +0 -77
  831. package/dist/web/tools/request_input_tool.js +0 -26
  832. package/dist/web/tools/skill/list_skills_tool.js +0 -50
  833. package/dist/web/tools/skill/load_skill_resource_tool.js +0 -190
  834. package/dist/web/tools/skill/load_skill_tool.js +0 -93
  835. package/dist/web/tools/skill/run_skill_inline_script_tool.js +0 -167
  836. package/dist/web/tools/skill/run_skill_script_tool.js +0 -201
  837. package/dist/web/tools/skill/search_skills_tool.js +0 -82
  838. package/dist/web/tools/skill/skill_toolset.js +0 -160
  839. package/dist/web/tools/tool_confirmation.js +0 -21
  840. package/dist/web/tools/url_context_tool.js +0 -44
  841. package/dist/web/tools/vertex_ai_search_tool.js +0 -103
  842. package/dist/web/tools/vertex_rag_retrieval_tool.js +0 -36
  843. package/dist/web/utils/async_hooks_shim.js +0 -24
  844. package/dist/web/utils/async_queue.js +0 -60
  845. package/dist/web/utils/branch_trie.js +0 -13
  846. package/dist/web/utils/case_utils.js +0 -25
  847. package/dist/web/utils/client_labels.js +0 -64
  848. package/dist/web/utils/crypto_shim.js +0 -15
  849. package/dist/web/utils/env_aware_utils.js +0 -74
  850. package/dist/web/utils/error_utils.js +0 -92
  851. package/dist/web/utils/experimental.js +0 -46
  852. package/dist/web/utils/failover_utils.js +0 -96
  853. package/dist/web/utils/file_extension_utils.js +0 -51
  854. package/dist/web/utils/file_utils.js +0 -103
  855. package/dist/web/utils/gemini_schema_util.js +0 -173
  856. package/dist/web/utils/live_connection_utils.js +0 -254
  857. package/dist/web/utils/logger.js +0 -130
  858. package/dist/web/utils/model_name.js +0 -66
  859. package/dist/web/utils/object_notation_utils.js +0 -49
  860. package/dist/web/utils/output_schema_utils.js +0 -15
  861. package/dist/web/utils/partial_copy.js +0 -23
  862. package/dist/web/utils/simple_zod_to_json.js +0 -123
  863. package/dist/web/utils/streaming_utils.js +0 -430
  864. package/dist/web/utils/task.js +0 -34
  865. package/dist/web/utils/variant_utils.js +0 -20
  866. package/dist/web/utils/vertex_ai_utils.js +0 -24
  867. package/dist/web/version.js +0 -11
  868. /package/dist/{web/artifacts/session_artifact_service.js → esm/tools/resume_inputs.js} +0 -0
  869. /package/dist/{web/auth/base_auth_provider.js → esm/workflow/trigger.js} +0 -0
@@ -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,36 +26,47 @@ 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,
33
35
  generateAuthEvent: () => generateAuthEvent,
34
36
  generateClientFunctionCallId: () => import_event2.generateClientFunctionCallId,
35
37
  generateRequestConfirmationEvent: () => generateRequestConfirmationEvent,
38
+ getConflictingFunctionResponseAuthors: () => getConflictingFunctionResponseAuthors,
36
39
  getLongRunningFunctionCalls: () => getLongRunningFunctionCalls,
37
40
  handleFunctionCallList: () => handleFunctionCallList,
38
41
  handleFunctionCallsAsync: () => handleFunctionCallsAsync,
42
+ isToolNotFound: () => isToolNotFound,
39
43
  mergeParallelFunctionResponseEvents: () => mergeParallelFunctionResponseEvents,
40
- populateClientFunctionCallId: () => import_event2.populateClientFunctionCallId
44
+ populateClientFunctionCallId: () => import_event2.populateClientFunctionCallId,
45
+ reservedFunctionCallName: () => import_framework_function_calls2.reservedFunctionCallName
41
46
  });
42
47
  module.exports = __toCommonJS(functions_exports);
43
48
  var import_genai = require("@google/genai");
44
49
  var import_lodash_es = require("lodash-es");
45
50
  var import_event = require("../events/event.js");
46
51
  var import_event_actions = require("../events/event_actions.js");
52
+ var import_base_tool = require("../tools/base_tool.js");
47
53
  var import_logger = require("../utils/logger.js");
48
54
  var import_context = require("./context.js");
55
+ var import_framework_function_calls = require("./framework_function_calls.js");
49
56
  var import_tracing = require("../telemetry/tracing.js");
50
57
  var import_event2 = require("../events/event.js");
58
+ var import_framework_function_calls2 = require("./framework_function_calls.js");
51
59
  /**
52
60
  * @license
53
61
  * Copyright 2025 Google LLC
54
62
  * SPDX-License-Identifier: Apache-2.0
55
63
  */
56
- const REQUEST_EUC_FUNCTION_CALL_NAME = "adk_request_credential";
57
- const REQUEST_CONFIRMATION_FUNCTION_CALL_NAME = "adk_request_confirmation";
64
+ var _a, _b;
65
+ function toolEventAuthor(invocationContext) {
66
+ var _a2, _b2;
67
+ return (_b2 = (_a2 = invocationContext.agent) == null ? void 0 : _a2.name) != null ? _b2 : "";
68
+ }
69
+ __name(toolEventAuthor, "toolEventAuthor");
58
70
  const functionsExportedForTestingOnly = {
59
71
  handleFunctionCallList,
60
72
  generateAuthEvent,
@@ -69,9 +81,10 @@ function getLongRunningFunctionCalls(functionCalls, toolsDict) {
69
81
  }
70
82
  return longRunningToolIds;
71
83
  }
84
+ __name(getLongRunningFunctionCalls, "getLongRunningFunctionCalls");
72
85
  function generateAuthEvent(invocationContext, functionResponseEvent) {
73
- var _a;
74
- if (!((_a = functionResponseEvent.actions) == null ? void 0 : _a.requestedAuthConfigs) || (0, import_lodash_es.isEmpty)(functionResponseEvent.actions.requestedAuthConfigs)) {
86
+ var _a2, _b2, _c;
87
+ if (!((_a2 = functionResponseEvent.actions) == null ? void 0 : _a2.requestedAuthConfigs) || (0, import_lodash_es.isEmpty)(functionResponseEvent.actions.requestedAuthConfigs)) {
75
88
  return void 0;
76
89
  }
77
90
  const parts = [];
@@ -79,35 +92,36 @@ function generateAuthEvent(invocationContext, functionResponseEvent) {
79
92
  for (const [functionCallId, authConfig] of Object.entries(
80
93
  functionResponseEvent.actions.requestedAuthConfigs
81
94
  )) {
82
- const requestEucFunctionCall = {
83
- name: REQUEST_EUC_FUNCTION_CALL_NAME,
95
+ const requestCredentialFunctionCall = {
96
+ name: import_framework_function_calls.REQUEST_CREDENTIAL_FUNCTION_CALL_NAME,
84
97
  args: {
85
98
  "function_call_id": functionCallId,
86
99
  "auth_config": authConfig
87
100
  },
88
101
  id: (0, import_event.generateClientFunctionCallId)()
89
102
  };
90
- longRunningToolIds.add(requestEucFunctionCall.id);
91
- parts.push({ functionCall: requestEucFunctionCall });
103
+ longRunningToolIds.add(requestCredentialFunctionCall.id);
104
+ parts.push({ functionCall: requestCredentialFunctionCall });
92
105
  }
93
106
  return (0, import_event.createEvent)({
94
107
  invocationId: invocationContext.invocationId,
95
- author: invocationContext.agent.name,
108
+ author: toolEventAuthor(invocationContext),
96
109
  branch: invocationContext.branch,
97
110
  content: {
98
111
  parts,
99
- role: functionResponseEvent.content.role
112
+ role: (_c = (_b2 = functionResponseEvent.content) == null ? void 0 : _b2.role) != null ? _c : "user"
100
113
  },
101
114
  longRunningToolIds: Array.from(longRunningToolIds)
102
115
  });
103
116
  }
117
+ __name(generateAuthEvent, "generateAuthEvent");
104
118
  function generateRequestConfirmationEvent({
105
119
  invocationContext,
106
120
  functionCallEvent,
107
121
  functionResponseEvent
108
122
  }) {
109
- var _a, _b;
110
- if (!((_a = functionResponseEvent.actions) == null ? void 0 : _a.requestedToolConfirmations) || (0, import_lodash_es.isEmpty)(functionResponseEvent.actions.requestedToolConfirmations)) {
123
+ var _a2, _b2, _c, _d;
124
+ if (!((_a2 = functionResponseEvent.actions) == null ? void 0 : _a2.requestedToolConfirmations) || (0, import_lodash_es.isEmpty)(functionResponseEvent.actions.requestedToolConfirmations)) {
111
125
  return;
112
126
  }
113
127
  const parts = [];
@@ -116,12 +130,12 @@ function generateRequestConfirmationEvent({
116
130
  for (const [functionCallId, toolConfirmation] of Object.entries(
117
131
  functionResponseEvent.actions.requestedToolConfirmations
118
132
  )) {
119
- const originalFunctionCall = (_b = functionCalls.find((call) => call.id === functionCallId)) != null ? _b : void 0;
133
+ const originalFunctionCall = (_b2 = functionCalls.find((call) => call.id === functionCallId)) != null ? _b2 : void 0;
120
134
  if (!originalFunctionCall) {
121
135
  continue;
122
136
  }
123
137
  const requestConfirmationFunctionCall = {
124
- name: REQUEST_CONFIRMATION_FUNCTION_CALL_NAME,
138
+ name: import_framework_function_calls.REQUEST_CONFIRMATION_FUNCTION_CALL_NAME,
125
139
  args: {
126
140
  "originalFunctionCall": originalFunctionCall,
127
141
  "toolConfirmation": toolConfirmation
@@ -133,16 +147,17 @@ function generateRequestConfirmationEvent({
133
147
  }
134
148
  return (0, import_event.createEvent)({
135
149
  invocationId: invocationContext.invocationId,
136
- author: invocationContext.agent.name,
150
+ author: toolEventAuthor(invocationContext),
137
151
  branch: invocationContext.branch,
138
152
  content: {
139
153
  parts,
140
- role: functionResponseEvent.content.role
154
+ role: (_d = (_c = functionResponseEvent.content) == null ? void 0 : _c.role) != null ? _d : "user"
141
155
  },
142
156
  actions: functionResponseEvent.actions,
143
157
  longRunningToolIds: Array.from(longRunningToolIds)
144
158
  });
145
159
  }
160
+ __name(generateRequestConfirmationEvent, "generateRequestConfirmationEvent");
146
161
  async function callToolAsync(tool, args, toolContext) {
147
162
  return import_tracing.tracer.startActiveSpan(`execute_tool ${tool.name}`, async (span) => {
148
163
  try {
@@ -164,6 +179,7 @@ async function callToolAsync(tool, args, toolContext) {
164
179
  }
165
180
  });
166
181
  }
182
+ __name(callToolAsync, "callToolAsync");
167
183
  function buildResponseEvent(tool, functionResult, toolContext, invocationContext) {
168
184
  let responseResult;
169
185
  if (typeof functionResult !== "object" || functionResult == null) {
@@ -186,12 +202,13 @@ function buildResponseEvent(tool, functionResult, toolContext, invocationContext
186
202
  };
187
203
  return (0, import_event.createEvent)({
188
204
  invocationId: invocationContext.invocationId,
189
- author: invocationContext.agent.name,
205
+ author: toolEventAuthor(invocationContext),
190
206
  content,
191
207
  actions: toolContext.actions,
192
208
  branch: invocationContext.branch
193
209
  });
194
210
  }
211
+ __name(buildResponseEvent, "buildResponseEvent");
195
212
  async function handleFunctionCallsAsync({
196
213
  invocationContext,
197
214
  functionCallEvent,
@@ -199,7 +216,8 @@ async function handleFunctionCallsAsync({
199
216
  beforeToolCallbacks,
200
217
  afterToolCallbacks,
201
218
  filters,
202
- toolConfirmationDict
219
+ toolConfirmationDict,
220
+ resumeInputsDict
203
221
  }) {
204
222
  const functionCalls = (0, import_event.getFunctionCalls)(functionCallEvent);
205
223
  return await handleFunctionCallList({
@@ -209,9 +227,11 @@ async function handleFunctionCallsAsync({
209
227
  beforeToolCallbacks,
210
228
  afterToolCallbacks,
211
229
  filters,
212
- toolConfirmationDict
230
+ toolConfirmationDict,
231
+ resumeInputsDict
213
232
  });
214
233
  }
234
+ __name(handleFunctionCallsAsync, "handleFunctionCallsAsync");
215
235
  function normalizeCallbackResponse(response) {
216
236
  if (response == null) {
217
237
  return void 0;
@@ -224,6 +244,71 @@ function normalizeCallbackResponse(response) {
224
244
  }
225
245
  return response;
226
246
  }
247
+ __name(normalizeCallbackResponse, "normalizeCallbackResponse");
248
+ const RESOLUTION_FAILURE_CAUSES = `Possible causes:
249
+ 1. The model hallucinated the name.
250
+ 2. The tool is not registered on this agent, or a plugin filtered it out of this request.
251
+ 3. The name does not match the registered tool's name exactly.
252
+ 4. The tool is registered but never enters the toolsDict, because its \`_getDeclaration()\` returns undefined (as prompt-injecting tools like \`ExampleTool\` and \`PreloadMemoryTool\` do).`;
253
+ const TOOL_NOT_FOUND_SYMBOL = /* @__PURE__ */ Symbol.for("google.adk.toolNotFound");
254
+ function isToolNotFound(tool) {
255
+ return typeof tool === "object" && tool !== null && tool[TOOL_NOT_FOUND_SYMBOL] === true;
256
+ }
257
+ __name(isToolNotFound, "isToolNotFound");
258
+ const _ToolNotFoundPlaceholder = class _ToolNotFoundPlaceholder extends (_b = import_base_tool.BaseTool, _a = TOOL_NOT_FOUND_SYMBOL, _b) {
259
+ constructor(name, resolutionError) {
260
+ super({ name, description: "Tool not found" });
261
+ this.resolutionError = resolutionError;
262
+ this[_a] = true;
263
+ }
264
+ async runAsync() {
265
+ throw this.resolutionError;
266
+ }
267
+ };
268
+ __name(_ToolNotFoundPlaceholder, "ToolNotFoundPlaceholder");
269
+ let ToolNotFoundPlaceholder = _ToolNotFoundPlaceholder;
270
+ async function answerUnresolvableCall({
271
+ invocationContext,
272
+ functionCall,
273
+ toolsDict,
274
+ toolContext
275
+ }) {
276
+ return import_tracing.tracer.startActiveSpan(
277
+ `execute_tool ${functionCall.name || "<unnamed>"}`,
278
+ async (span) => {
279
+ var _a2, _b2;
280
+ try {
281
+ const toolName = functionCall.name || "<unnamed>";
282
+ const error = new Error(
283
+ `Function ${toolName} is not found in the toolsDict.`
284
+ );
285
+ const tool = new ToolNotFoundPlaceholder(toolName, error);
286
+ const onToolErrorResponse = await invocationContext.pluginManager.runOnToolErrorCallback({
287
+ tool,
288
+ toolArgs: (_a2 = functionCall.args) != null ? _a2 : {},
289
+ toolContext,
290
+ error
291
+ });
292
+ if (onToolErrorResponse == null) {
293
+ const callableTools = Object.keys(toolsDict);
294
+ import_logger.logger.warn(
295
+ `Could not resolve tool '${toolName}' for function call '${(_b2 = functionCall.id) != null ? _b2 : ""}'. Callable tools: ${callableTools.length ? callableTools.join(", ") : "(none)"}.
296
+ ` + RESOLUTION_FAILURE_CAUSES
297
+ );
298
+ }
299
+ return buildResponseEvent(
300
+ tool,
301
+ onToolErrorResponse != null ? onToolErrorResponse : { error: error.message },
302
+ toolContext,
303
+ invocationContext
304
+ );
305
+ } finally {
306
+ span.end();
307
+ }
308
+ }
309
+ );
310
+ }
311
+ __name(answerUnresolvableCall, "answerUnresolvableCall");
227
312
  async function handleFunctionCallList({
228
313
  invocationContext,
229
314
  functionCalls,
@@ -231,9 +316,10 @@ async function handleFunctionCallList({
231
316
  beforeToolCallbacks,
232
317
  afterToolCallbacks,
233
318
  filters,
234
- toolConfirmationDict
319
+ toolConfirmationDict,
320
+ resumeInputsDict
235
321
  }) {
236
- var _a;
322
+ var _a2;
237
323
  const functionResponseEvents = [];
238
324
  const filteredFunctionCalls = functionCalls.filter((functionCall) => {
239
325
  return !filters || functionCall.id && filters.has(functionCall.id);
@@ -243,14 +329,30 @@ async function handleFunctionCallList({
243
329
  if (toolConfirmationDict && functionCall.id) {
244
330
  toolConfirmation = toolConfirmationDict[functionCall.id];
245
331
  }
246
- const { tool, toolContext } = getToolAndContext({
332
+ let resumeInputs = void 0;
333
+ if (resumeInputsDict && functionCall.id) {
334
+ resumeInputs = resumeInputsDict[functionCall.id];
335
+ }
336
+ const toolContext = new import_context.Context({
247
337
  invocationContext,
248
- functionCall,
249
- toolsDict,
250
- toolConfirmation
338
+ functionCallId: functionCall.id || void 0,
339
+ toolConfirmation,
340
+ resumeInputs
251
341
  });
342
+ const tool = functionCall.name && Object.hasOwn(toolsDict, functionCall.name) ? toolsDict[functionCall.name] : void 0;
343
+ if (!tool) {
344
+ functionResponseEvents.push(
345
+ await answerUnresolvableCall({
346
+ invocationContext,
347
+ functionCall,
348
+ toolsDict,
349
+ toolContext
350
+ })
351
+ );
352
+ continue;
353
+ }
252
354
  import_logger.logger.debug(`execute_tool ${tool.name}`);
253
- const functionArgs = (_a = functionCall.args) != null ? _a : {};
355
+ const functionArgs = (_a2 = functionCall.args) != null ? _a2 : {};
254
356
  let functionResponse = null;
255
357
  let functionResponseError;
256
358
  functionResponse = await invocationContext.pluginManager.runBeforeToolCallback({
@@ -315,6 +417,16 @@ async function handleFunctionCallList({
315
417
  functionResponse = normalizeCallbackResponse(alteredFunctionResponse);
316
418
  }
317
419
  if (tool.isLongRunning && functionResponse == null) {
420
+ if (!(0, import_event_actions.isDefaultEventActions)(toolContext.actions)) {
421
+ functionResponseEvents.push(
422
+ (0, import_event.createEvent)({
423
+ invocationId: invocationContext.invocationId,
424
+ author: toolEventAuthor(invocationContext),
425
+ actions: toolContext.actions,
426
+ branch: invocationContext.branch
427
+ })
428
+ );
429
+ }
318
430
  continue;
319
431
  }
320
432
  if (functionResponseError) {
@@ -326,7 +438,7 @@ async function handleFunctionCallList({
326
438
  }
327
439
  const functionResponseEvent = (0, import_event.createEvent)({
328
440
  invocationId: invocationContext.invocationId,
329
- author: invocationContext.agent.name,
441
+ author: toolEventAuthor(invocationContext),
330
442
  content: (0, import_genai.createUserContent)({
331
443
  functionResponse: {
332
444
  id: toolContext.functionCallId,
@@ -369,25 +481,7 @@ async function handleFunctionCallList({
369
481
  }
370
482
  return mergedEvent;
371
483
  }
372
- function getToolAndContext({
373
- invocationContext,
374
- functionCall,
375
- toolsDict,
376
- toolConfirmation
377
- }) {
378
- if (!functionCall.name || !(functionCall.name in toolsDict)) {
379
- throw new Error(
380
- `Function ${functionCall.name} is not found in the toolsDict.`
381
- );
382
- }
383
- const toolContext = new import_context.Context({
384
- invocationContext,
385
- functionCallId: functionCall.id || void 0,
386
- toolConfirmation
387
- });
388
- const tool = toolsDict[functionCall.name];
389
- return { tool, toolContext };
390
- }
484
+ __name(handleFunctionCallList, "handleFunctionCallList");
391
485
  function mergeParallelFunctionResponseEvents(functionResponseEvents) {
392
486
  if (!functionResponseEvents.length) {
393
487
  throw new Error("No function response events provided.");
@@ -415,6 +509,7 @@ function mergeParallelFunctionResponseEvents(functionResponseEvents) {
415
509
  timestamp: baseEvent.timestamp
416
510
  });
417
511
  }
512
+ __name(mergeParallelFunctionResponseEvents, "mergeParallelFunctionResponseEvents");
418
513
  function findEventByFunctionCallId(events, functionCallId, endIndex = events.length) {
419
514
  for (let i = endIndex - 1; i >= 0; i--) {
420
515
  const event = events[i];
@@ -427,35 +522,65 @@ function findEventByFunctionCallId(events, functionCallId, endIndex = events.len
427
522
  }
428
523
  return void 0;
429
524
  }
430
- function findMatchingFunctionCall(events) {
525
+ __name(findEventByFunctionCallId, "findEventByFunctionCallId");
526
+ function resolveFunctionResponseMatch(events) {
527
+ var _a2, _b2;
431
528
  if (!events.length) {
432
- return void 0;
529
+ return { resolved: void 0, conflictingAuthors: void 0 };
433
530
  }
434
531
  const lastEvent = events[events.length - 1];
435
532
  const functionResponses = (0, import_event.getFunctionResponses)(lastEvent);
436
- if (!functionResponses.length || !functionResponses[0].id) {
437
- return void 0;
533
+ if (!functionResponses.length) {
534
+ return { resolved: void 0, conflictingAuthors: void 0 };
438
535
  }
439
- return findEventByFunctionCallId(
440
- events,
441
- functionResponses[0].id,
442
- events.length - 1
443
- );
536
+ let resolved;
537
+ let conflictingAuthors;
538
+ for (const functionResponse of functionResponses) {
539
+ if (!functionResponse.id) {
540
+ continue;
541
+ }
542
+ const match = findEventByFunctionCallId(
543
+ events,
544
+ functionResponse.id,
545
+ events.length - 1
546
+ );
547
+ if (!match) {
548
+ continue;
549
+ }
550
+ if (!conflictingAuthors && resolved && resolved.author !== match.author) {
551
+ conflictingAuthors = [(_a2 = resolved.author) != null ? _a2 : "", (_b2 = match.author) != null ? _b2 : ""];
552
+ }
553
+ resolved = match;
554
+ }
555
+ return { resolved, conflictingAuthors };
556
+ }
557
+ __name(resolveFunctionResponseMatch, "resolveFunctionResponseMatch");
558
+ function findMatchingFunctionCall(events) {
559
+ return resolveFunctionResponseMatch(events).resolved;
560
+ }
561
+ __name(findMatchingFunctionCall, "findMatchingFunctionCall");
562
+ function getConflictingFunctionResponseAuthors(events) {
563
+ return resolveFunctionResponseMatch(events).conflictingAuthors;
444
564
  }
565
+ __name(getConflictingFunctionResponseAuthors, "getConflictingFunctionResponseAuthors");
445
566
  // Annotate the CommonJS export names for ESM import in node:
446
567
  0 && (module.exports = {
447
568
  AF_FUNCTION_CALL_ID_PREFIX,
448
569
  REQUEST_CONFIRMATION_FUNCTION_CALL_NAME,
449
- REQUEST_EUC_FUNCTION_CALL_NAME,
570
+ REQUEST_CREDENTIAL_FUNCTION_CALL_NAME,
571
+ REQUEST_INPUT_FUNCTION_CALL_NAME,
450
572
  findEventByFunctionCallId,
451
573
  findMatchingFunctionCall,
452
574
  functionsExportedForTestingOnly,
453
575
  generateAuthEvent,
454
576
  generateClientFunctionCallId,
455
577
  generateRequestConfirmationEvent,
578
+ getConflictingFunctionResponseAuthors,
456
579
  getLongRunningFunctionCalls,
457
580
  handleFunctionCallList,
458
581
  handleFunctionCallsAsync,
582
+ isToolNotFound,
459
583
  mergeParallelFunctionResponseEvents,
460
- populateClientFunctionCallId
584
+ populateClientFunctionCallId,
585
+ reservedFunctionCallName
461
586
  });
@@ -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
@@ -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,7 +26,8 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
25
26
  var invocation_context_exports = {};
26
27
  __export(invocation_context_exports, {
27
28
  InvocationContext: () => InvocationContext,
28
- newInvocationContextId: () => newInvocationContextId
29
+ newInvocationContextId: () => newInvocationContextId,
30
+ requireAgent: () => requireAgent
29
31
  });
30
32
  module.exports = __toCommonJS(invocation_context_exports);
31
33
  var import_env_aware_utils = require("../utils/env_aware_utils.js");
@@ -34,7 +36,7 @@ var import_env_aware_utils = require("../utils/env_aware_utils.js");
34
36
  * Copyright 2025 Google LLC
35
37
  * SPDX-License-Identifier: Apache-2.0
36
38
  */
37
- class InvocationCostManager {
39
+ const _InvocationCostManager = class _InvocationCostManager {
38
40
  constructor() {
39
41
  this.numberOfLlmCalls = 0;
40
42
  }
@@ -52,13 +54,15 @@ class InvocationCostManager {
52
54
  );
53
55
  }
54
56
  }
55
- }
56
- class InvocationContext {
57
+ };
58
+ __name(_InvocationCostManager, "InvocationCostManager");
59
+ let InvocationCostManager = _InvocationCostManager;
60
+ const _InvocationContext = class _InvocationContext {
57
61
  /**
58
62
  * @param params The parameters for creating an invocation context.
59
63
  */
60
64
  constructor(params) {
61
- var _a;
65
+ var _a, _b;
62
66
  this.artifactService = params.artifactService;
63
67
  this.sessionService = params.sessionService;
64
68
  this.memoryService = params.memoryService;
@@ -73,7 +77,13 @@ class InvocationContext {
73
77
  this.activeStreamingTools = params.activeStreamingTools;
74
78
  this.pluginManager = params.pluginManager;
75
79
  this.abortSignal = params.abortSignal;
76
- this.invocationCostManager = (_a = params.invocationCostManager) != null ? _a : new InvocationCostManager();
80
+ this.workflowInstructionScope = params.workflowInstructionScope;
81
+ this.isolationScope = params.isolationScope;
82
+ this.nodeToolDepth = (_a = params.nodeToolDepth) != null ? _a : 0;
83
+ this.a2aMetadata = params.a2aMetadata;
84
+ this.invocationCostManager = (_b = params.invocationCostManager) != null ? _b : new InvocationCostManager();
85
+ this.liveRequestQueue = params.liveRequestQueue;
86
+ this.liveSessionResumptionHandle = params.liveSessionResumptionHandle;
77
87
  }
78
88
  /**
79
89
  * The app name of the current session.
@@ -95,12 +105,37 @@ class InvocationContext {
95
105
  incrementLlmCallCount() {
96
106
  this.invocationCostManager.incrementAndEnforceLlmCallsLimit(this.runConfig);
97
107
  }
98
- }
108
+ /**
109
+ * Returns a copy of this context with `overrides` applied. The spread carries
110
+ * every own field over (including the shared cost manager), so the copy keeps
111
+ * a single LLM-call counter for the invocation.
112
+ *
113
+ * Note: this copies own enumerable fields by value — scalar mutable fields
114
+ * (e.g. `endInvocation`) are decoupled from the original, while object-valued
115
+ * fields (`session`, …) stay shared by reference.
116
+ */
117
+ clone(overrides = {}) {
118
+ return new _InvocationContext({ ...this, ...overrides });
119
+ }
120
+ };
121
+ __name(_InvocationContext, "InvocationContext");
122
+ let InvocationContext = _InvocationContext;
99
123
  function newInvocationContextId() {
100
124
  return `e-${(0, import_env_aware_utils.randomUUID)()}`;
101
125
  }
126
+ __name(newInvocationContextId, "newInvocationContextId");
127
+ function requireAgent(ctx) {
128
+ if (!ctx.agent) {
129
+ throw new Error(
130
+ "InvocationContext.agent is not set: this invocation is running a node directly, so there is no agent at this level."
131
+ );
132
+ }
133
+ return ctx.agent;
134
+ }
135
+ __name(requireAgent, "requireAgent");
102
136
  // Annotate the CommonJS export names for ESM import in node:
103
137
  0 && (module.exports = {
104
138
  InvocationContext,
105
- newInvocationContextId
139
+ newInvocationContextId,
140
+ requireAgent
106
141
  });