@google/adk 2.0.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 (566) hide show
  1. package/dist/cjs/a2a/a2a_event.js +0 -29
  2. package/dist/cjs/a2a/a2a_remote_agent.js +8 -5
  3. package/dist/cjs/a2a/a2a_remote_agent_utils.js +104 -2
  4. package/dist/cjs/a2a/agent_card.js +58 -6
  5. package/dist/cjs/a2a/agent_executor.js +10 -3
  6. package/dist/cjs/a2a/agent_to_a2a.js +6 -1
  7. package/dist/cjs/a2a/event_processor_utils.js +1 -1
  8. package/dist/cjs/a2a/executor_context.js +4 -2
  9. package/dist/cjs/a2a/index.js +4 -0
  10. package/dist/cjs/a2a/request_metadata.js +94 -0
  11. package/dist/cjs/agents/base_agent.js +9 -8
  12. package/dist/cjs/agents/context.js +7 -0
  13. package/dist/cjs/agents/functions.js +150 -47
  14. package/dist/cjs/agents/invocation_context.js +1 -0
  15. package/dist/cjs/agents/llm_agent.js +6 -5
  16. package/dist/cjs/agents/loop_agent.js +1 -1
  17. package/dist/cjs/agents/parallel_agent.js +1 -1
  18. package/dist/cjs/agents/processors/agent_transfer_llm_request_processor.js +26 -5
  19. package/dist/cjs/agents/processors/code_execution_request_processor.js +2 -2
  20. package/dist/cjs/agents/processors/content_processor_utils.js +5 -5
  21. package/dist/cjs/agents/processors/content_request_processor.js +4 -1
  22. package/dist/cjs/agents/processors/request_confirmation_llm_request_processor.js +19 -12
  23. package/dist/cjs/agents/processors/request_input_llm_request_processor.js +3 -7
  24. package/dist/cjs/agents/readonly_context.js +6 -0
  25. package/dist/cjs/agents/routed_agent.js +1 -1
  26. package/dist/cjs/agents/sequential_agent.js +1 -1
  27. package/dist/cjs/apps/app.js +1 -1
  28. package/dist/cjs/artifacts/file_artifact_service.js +1 -2
  29. package/dist/cjs/artifacts/scoped_artifact_service.js +9 -0
  30. package/dist/cjs/artifacts/session_artifact_service.js +19 -0
  31. package/dist/cjs/auth/auth_handler.js +44 -8
  32. package/dist/cjs/auth/oauth2/oauth2_credential_refresher.js +1 -1
  33. package/dist/cjs/auth/oauth2/oauth2_utils.js +17 -2
  34. package/dist/cjs/code_executors/base_code_executor.js +1 -1
  35. package/dist/cjs/code_executors/built_in_code_executor.js +1 -1
  36. package/dist/cjs/code_executors/code_execution_utils.js +2 -2
  37. package/dist/cjs/code_executors/container_code_executor.js +186 -0
  38. package/dist/cjs/code_executors/docker_container.js +282 -0
  39. package/dist/cjs/code_executors/unsafe_local_code_executor.js +11 -6
  40. package/dist/cjs/common.js +74 -45
  41. package/dist/cjs/context/agent_controlled_context_compactor.js +10 -5
  42. package/dist/cjs/context/anchored_context_compactor.js +41 -18
  43. package/dist/cjs/context/compaction_utils.js +15 -6
  44. package/dist/cjs/context/token_based_context_compactor.js +10 -2
  45. package/dist/cjs/context/trajectory_thought_pruning_compactor.js +17 -10
  46. package/dist/cjs/context/truncating_context_compactor.js +17 -5
  47. package/dist/cjs/errors/already_exists_error.js +50 -0
  48. package/dist/cjs/errors/input_validation_error.js +50 -0
  49. package/dist/cjs/errors/not_found_error.js +50 -0
  50. package/dist/cjs/errors/session_not_found_error.js +50 -0
  51. package/dist/cjs/errors/tool_execution_error.js +68 -0
  52. package/dist/cjs/events/event.js +1 -1
  53. package/dist/cjs/events/event_actions.js +7 -0
  54. package/dist/cjs/examples/base_example_provider.js +1 -1
  55. package/dist/cjs/index.js +47 -0
  56. package/dist/cjs/index_web.js +2 -0
  57. package/dist/cjs/integrations/agent_registry/agent_registry.js +3 -2
  58. package/dist/cjs/memory/rag_memory_transcript.js +136 -0
  59. package/dist/cjs/memory/vertex_ai_memory_bank_service.js +2 -2
  60. package/dist/cjs/memory/vertex_ai_rag_api.js +120 -0
  61. package/dist/cjs/memory/vertex_ai_rag_memory_service.js +228 -0
  62. package/dist/cjs/models/apigee_llm.js +1 -1
  63. package/dist/cjs/models/base_llm.js +1 -1
  64. package/dist/cjs/models/chrome_prompt_llm.js +304 -0
  65. package/dist/cjs/models/chrome_prompt_utils.js +229 -0
  66. package/dist/cjs/models/google_llm.js +9 -4
  67. package/dist/cjs/models/interactions_utils.js +2 -3
  68. package/dist/cjs/models/registry.js +2 -0
  69. package/dist/cjs/plugins/_reflect_retry_utils.js +142 -0
  70. package/dist/cjs/plugins/reflect_retry_model_plugin.js +274 -0
  71. package/dist/cjs/plugins/reflect_retry_tool_plugin.js +276 -0
  72. package/dist/cjs/runner/runner.js +29 -26
  73. package/dist/cjs/sessions/database_session_service.js +78 -43
  74. package/dist/cjs/sessions/db/operations.js +229 -22
  75. package/dist/cjs/sessions/db/schema.js +113 -159
  76. package/dist/cjs/sessions/registry.js +5 -1
  77. package/dist/cjs/sessions/vertex_ai_session_service.js +2 -2
  78. package/dist/cjs/telemetry/setup.js +1 -1
  79. package/dist/cjs/telemetry/tracing.js +11 -1
  80. package/dist/cjs/tools/agent_tool.js +4 -5
  81. package/dist/cjs/tools/base_tool.js +14 -4
  82. package/dist/cjs/tools/base_toolset.js +4 -4
  83. package/dist/cjs/tools/built_in_tool.js +75 -0
  84. package/dist/cjs/tools/enterprise_web_search_tool.js +3 -6
  85. package/dist/cjs/tools/forwarding_artifact_service.js +18 -13
  86. package/dist/cjs/tools/function_tool.js +6 -3
  87. package/dist/cjs/tools/google_maps_grounding_tool.js +3 -6
  88. package/dist/cjs/tools/google_search_tool.js +3 -6
  89. package/dist/cjs/tools/load_artifacts_tool.js +47 -23
  90. package/dist/cjs/tools/load_web_page.js +6 -172
  91. package/dist/cjs/tools/mcp/load_mcp_resource_tool.js +34 -5
  92. package/dist/cjs/tools/openapi_tool/auth/auth_helpers.js +11 -2
  93. package/dist/cjs/tools/openapi_tool/openapi_spec_parser/operation_parser.js +1 -1
  94. package/dist/cjs/tools/openapi_tool/rest_api_tool.js +16 -18
  95. package/dist/cjs/tools/preload_memory_tool.js +1 -1
  96. package/dist/cjs/tools/resume_inputs.js +27 -0
  97. package/dist/cjs/tools/retrieval/base_retrieval_tool.js +60 -0
  98. package/dist/cjs/tools/retrieval/files_retrieval.js +95 -0
  99. package/dist/cjs/tools/retrieval/llama_index_retrieval.js +57 -0
  100. package/dist/cjs/tools/url_context_tool.js +3 -6
  101. package/dist/cjs/tools/vertex_ai_search_tool.js +4 -8
  102. package/dist/cjs/tools/vertex_rag_retrieval_tool.js +3 -10
  103. package/dist/cjs/utils/crypto_shim.js +16 -0
  104. package/dist/cjs/utils/gemini_schema_util.js +0 -6
  105. package/dist/cjs/utils/logger.js +15 -50
  106. package/dist/cjs/utils/logger_browser.js +86 -0
  107. package/dist/cjs/utils/logger_node.js +119 -0
  108. package/dist/cjs/utils/redact_inline_data.js +46 -0
  109. package/dist/cjs/utils/redact_uri.js +15 -1
  110. package/dist/cjs/utils/schema.js +1 -1
  111. package/dist/cjs/utils/ssrf_guard.js +262 -0
  112. package/dist/cjs/version.js +1 -1
  113. package/dist/cjs/workflow/base_node.js +1 -1
  114. package/dist/cjs/workflow/graph.js +1 -1
  115. package/dist/cjs/workflow/nodes/node_tool.js +2 -11
  116. package/dist/cjs/workflow/request_input.js +1 -1
  117. package/dist/cjs/workflow/run_llm_agent_as_node.js +1 -1
  118. package/dist/cjs/workflow/workflow.js +1 -1
  119. package/dist/esm/a2a/a2a_event.js +0 -28
  120. package/dist/esm/a2a/a2a_remote_agent.js +10 -5
  121. package/dist/esm/a2a/a2a_remote_agent_utils.js +102 -2
  122. package/dist/esm/a2a/agent_card.js +63 -6
  123. package/dist/esm/a2a/agent_executor.js +10 -3
  124. package/dist/esm/a2a/agent_to_a2a.js +8 -2
  125. package/dist/esm/a2a/event_processor_utils.js +1 -2
  126. package/dist/esm/a2a/executor_context.js +4 -2
  127. package/dist/esm/a2a/index.js +7 -1
  128. package/dist/esm/a2a/request_metadata.js +68 -0
  129. package/dist/esm/agents/base_agent.js +9 -8
  130. package/dist/esm/agents/context.js +7 -0
  131. package/dist/esm/agents/functions.js +152 -48
  132. package/dist/esm/agents/invocation_context.js +1 -0
  133. package/dist/esm/agents/llm_agent.js +6 -5
  134. package/dist/esm/agents/loop_agent.js +1 -1
  135. package/dist/esm/agents/parallel_agent.js +1 -1
  136. package/dist/esm/agents/processors/agent_transfer_llm_request_processor.js +26 -5
  137. package/dist/esm/agents/processors/code_execution_request_processor.js +2 -2
  138. package/dist/esm/agents/processors/content_processor_utils.js +5 -5
  139. package/dist/esm/agents/processors/content_request_processor.js +4 -1
  140. package/dist/esm/agents/processors/request_confirmation_llm_request_processor.js +19 -12
  141. package/dist/esm/agents/processors/request_input_llm_request_processor.js +3 -7
  142. package/dist/esm/agents/readonly_context.js +6 -0
  143. package/dist/esm/agents/routed_agent.js +1 -1
  144. package/dist/esm/agents/sequential_agent.js +1 -1
  145. package/dist/esm/apps/app.js +1 -1
  146. package/dist/esm/artifacts/file_artifact_service.js +1 -2
  147. package/dist/esm/artifacts/scoped_artifact_service.js +9 -0
  148. package/dist/esm/artifacts/session_artifact_service.js +12 -0
  149. package/dist/esm/auth/auth_handler.js +47 -8
  150. package/dist/esm/auth/oauth2/oauth2_credential_refresher.js +1 -1
  151. package/dist/esm/auth/oauth2/oauth2_utils.js +15 -2
  152. package/dist/esm/code_executors/base_code_executor.js +1 -1
  153. package/dist/esm/code_executors/built_in_code_executor.js +1 -1
  154. package/dist/esm/code_executors/code_execution_utils.js +2 -2
  155. package/dist/esm/code_executors/container_code_executor.js +155 -0
  156. package/dist/esm/code_executors/docker_container.js +265 -0
  157. package/dist/esm/code_executors/unsafe_local_code_executor.js +11 -6
  158. package/dist/esm/common.js +73 -38
  159. package/dist/esm/context/agent_controlled_context_compactor.js +10 -5
  160. package/dist/esm/context/anchored_context_compactor.js +45 -19
  161. package/dist/esm/context/compaction_utils.js +13 -5
  162. package/dist/esm/context/token_based_context_compactor.js +10 -2
  163. package/dist/esm/context/trajectory_thought_pruning_compactor.js +17 -10
  164. package/dist/esm/context/truncating_context_compactor.js +17 -5
  165. package/dist/esm/errors/already_exists_error.js +23 -0
  166. package/dist/esm/errors/input_validation_error.js +23 -0
  167. package/dist/{web/auth/refresher/base_credential_refresher.js → esm/errors/not_found_error.js} +9 -6
  168. package/dist/esm/errors/session_not_found_error.js +23 -0
  169. package/dist/esm/errors/tool_execution_error.js +40 -0
  170. package/dist/esm/events/event.js +1 -1
  171. package/dist/esm/events/event_actions.js +6 -0
  172. package/dist/esm/examples/base_example_provider.js +1 -1
  173. package/dist/esm/index.js +37 -0
  174. package/dist/esm/index_web.js +2 -0
  175. package/dist/esm/integrations/agent_registry/agent_registry.js +3 -2
  176. package/dist/esm/memory/rag_memory_transcript.js +106 -0
  177. package/dist/esm/memory/vertex_ai_memory_bank_service.js +2 -2
  178. package/dist/esm/memory/vertex_ai_rag_api.js +93 -0
  179. package/dist/esm/memory/vertex_ai_rag_memory_service.js +208 -0
  180. package/dist/esm/models/apigee_llm.js +1 -1
  181. package/dist/esm/models/base_llm.js +1 -1
  182. package/dist/esm/models/chrome_prompt_llm.js +285 -0
  183. package/dist/esm/models/chrome_prompt_utils.js +192 -0
  184. package/dist/esm/models/google_llm.js +9 -4
  185. package/dist/esm/models/interactions_utils.js +2 -3
  186. package/dist/esm/models/registry.js +2 -0
  187. package/dist/esm/plugins/_reflect_retry_utils.js +111 -0
  188. package/dist/esm/plugins/reflect_retry_model_plugin.js +250 -0
  189. package/dist/esm/plugins/reflect_retry_tool_plugin.js +254 -0
  190. package/dist/esm/runner/runner.js +35 -27
  191. package/dist/esm/sessions/database_session_service.js +58 -25
  192. package/dist/esm/sessions/db/operations.js +229 -22
  193. package/dist/esm/sessions/db/schema.js +111 -160
  194. package/dist/esm/sessions/registry.js +5 -1
  195. package/dist/esm/sessions/vertex_ai_session_service.js +1 -1
  196. package/dist/esm/telemetry/setup.js +1 -1
  197. package/dist/esm/telemetry/tracing.js +11 -1
  198. package/dist/esm/tools/agent_tool.js +4 -5
  199. package/dist/esm/tools/base_tool.js +11 -3
  200. package/dist/esm/tools/base_toolset.js +4 -4
  201. package/dist/esm/tools/built_in_tool.js +51 -0
  202. package/dist/esm/tools/enterprise_web_search_tool.js +3 -6
  203. package/dist/esm/tools/forwarding_artifact_service.js +18 -13
  204. package/dist/esm/tools/function_tool.js +6 -3
  205. package/dist/esm/tools/google_maps_grounding_tool.js +3 -6
  206. package/dist/esm/tools/google_search_tool.js +3 -6
  207. package/dist/esm/tools/load_artifacts_tool.js +48 -24
  208. package/dist/esm/tools/load_web_page.js +10 -170
  209. package/dist/esm/tools/mcp/load_mcp_resource_tool.js +34 -5
  210. package/dist/esm/tools/openapi_tool/auth/auth_helpers.js +13 -2
  211. package/dist/esm/tools/openapi_tool/openapi_spec_parser/operation_parser.js +1 -1
  212. package/dist/esm/tools/openapi_tool/rest_api_tool.js +16 -18
  213. package/dist/esm/tools/preload_memory_tool.js +1 -1
  214. package/dist/esm/tools/retrieval/base_retrieval_tool.js +33 -0
  215. package/dist/esm/tools/retrieval/files_retrieval.js +81 -0
  216. package/dist/esm/tools/retrieval/llama_index_retrieval.js +30 -0
  217. package/dist/esm/tools/url_context_tool.js +3 -6
  218. package/dist/esm/tools/vertex_ai_search_tool.js +4 -8
  219. package/dist/esm/tools/vertex_rag_retrieval_tool.js +3 -10
  220. package/dist/esm/utils/crypto_shim.js +14 -0
  221. package/dist/esm/utils/gemini_schema_util.js +0 -6
  222. package/dist/esm/utils/logger.js +14 -40
  223. package/dist/esm/utils/logger_browser.js +58 -0
  224. package/dist/esm/utils/logger_node.js +81 -0
  225. package/dist/esm/utils/redact_inline_data.js +19 -0
  226. package/dist/esm/utils/redact_uri.js +15 -1
  227. package/dist/esm/utils/schema.js +1 -1
  228. package/dist/{web/tools/load_web_page.js → esm/utils/ssrf_guard.js} +95 -107
  229. package/dist/esm/version.js +1 -1
  230. package/dist/esm/workflow/base_node.js +1 -1
  231. package/dist/esm/workflow/graph.js +1 -1
  232. package/dist/esm/workflow/nodes/node_tool.js +2 -11
  233. package/dist/esm/workflow/request_input.js +1 -1
  234. package/dist/esm/workflow/run_llm_agent_as_node.js +1 -1
  235. package/dist/esm/workflow/workflow.js +1 -1
  236. package/dist/types/a2a/a2a_event.d.ts +7 -10
  237. package/dist/types/a2a/a2a_remote_agent.d.ts +5 -0
  238. package/dist/types/a2a/a2a_remote_agent_utils.d.ts +25 -0
  239. package/dist/types/a2a/agent_card.d.ts +9 -0
  240. package/dist/types/a2a/agent_executor.d.ts +1 -1
  241. package/dist/types/a2a/agent_to_a2a.d.ts +2 -0
  242. package/dist/types/a2a/auth.d.ts +5 -1
  243. package/dist/types/a2a/executor_context.d.ts +7 -1
  244. package/dist/types/a2a/index.d.ts +1 -1
  245. package/dist/types/a2a/request_metadata.d.ts +22 -0
  246. package/dist/types/agents/base_agent.d.ts +19 -16
  247. package/dist/types/agents/context.d.ts +8 -0
  248. package/dist/types/agents/functions.d.ts +72 -6
  249. package/dist/types/agents/invocation_context.d.ts +11 -3
  250. package/dist/types/agents/llm_agent.d.ts +9 -7
  251. package/dist/types/agents/processors/agent_transfer_llm_request_processor.d.ts +16 -1
  252. package/dist/types/agents/readonly_context.d.ts +4 -0
  253. package/dist/types/agents/run_config.d.ts +21 -8
  254. package/dist/types/artifacts/scoped_artifact_service.d.ts +13 -0
  255. package/dist/types/artifacts/session_artifact_service.d.ts +8 -1
  256. package/dist/types/auth/auth_credential.d.ts +13 -8
  257. package/dist/types/auth/auth_handler.d.ts +12 -1
  258. package/dist/types/auth/oauth2/oauth2_credential_refresher.d.ts +1 -1
  259. package/dist/types/auth/oauth2/oauth2_utils.d.ts +9 -0
  260. package/dist/types/auth/refresher/base_credential_refresher.d.ts +1 -1
  261. package/dist/types/code_executors/code_execution_utils.d.ts +1 -1
  262. package/dist/types/code_executors/container_code_executor.d.ts +89 -0
  263. package/dist/types/code_executors/docker_container.d.ts +79 -0
  264. package/dist/types/common.d.ts +22 -20
  265. package/dist/types/context/compaction_utils.d.ts +9 -1
  266. package/dist/types/errors/already_exists_error.d.ts +14 -0
  267. package/dist/types/errors/input_validation_error.d.ts +14 -0
  268. package/dist/types/errors/not_found_error.d.ts +14 -0
  269. package/dist/types/errors/session_not_found_error.d.ts +14 -0
  270. package/dist/types/errors/tool_execution_error.d.ts +36 -0
  271. package/dist/types/events/event_actions.d.ts +13 -0
  272. package/dist/types/index.d.ts +22 -1
  273. package/dist/types/memory/rag_memory_transcript.d.ts +55 -0
  274. package/dist/types/memory/vertex_ai_rag_api.d.ts +89 -0
  275. package/dist/types/memory/vertex_ai_rag_memory_service.d.ts +68 -0
  276. package/dist/types/models/chrome_prompt_llm.d.ts +210 -0
  277. package/dist/types/models/chrome_prompt_utils.d.ts +68 -0
  278. package/dist/types/models/google_llm.d.ts +8 -3
  279. package/dist/types/models/registry.d.ts +3 -2
  280. package/dist/types/plugins/_reflect_retry_utils.d.ts +72 -0
  281. package/dist/types/plugins/base_plugin.d.ts +12 -10
  282. package/dist/types/plugins/logging_plugin.d.ts +3 -2
  283. package/dist/types/plugins/reflect_retry_model_plugin.d.ts +132 -0
  284. package/dist/types/plugins/reflect_retry_tool_plugin.d.ts +187 -0
  285. package/dist/types/runner/runner.d.ts +7 -8
  286. package/dist/types/sessions/database_session_service.d.ts +1 -1
  287. package/dist/types/sessions/db/operations.d.ts +13 -1
  288. package/dist/types/sessions/db/schema.d.ts +23 -9
  289. package/dist/types/tools/base_tool.d.ts +11 -0
  290. package/dist/types/tools/base_toolset.d.ts +3 -4
  291. package/dist/types/tools/built_in_tool.d.ts +41 -0
  292. package/dist/types/tools/enterprise_web_search_tool.d.ts +4 -4
  293. package/dist/types/tools/forwarding_artifact_service.d.ts +23 -10
  294. package/dist/types/tools/function_tool.d.ts +42 -9
  295. package/dist/types/tools/google_maps_grounding_tool.d.ts +4 -4
  296. package/dist/types/tools/google_search_tool.d.ts +4 -4
  297. package/dist/types/tools/long_running_tool.d.ts +1 -1
  298. package/dist/types/tools/mcp/mcp_toolset.d.ts +11 -10
  299. package/dist/types/tools/openapi_tool/auth/auth_helpers.d.ts +5 -0
  300. package/dist/types/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.d.ts +0 -1
  301. package/dist/types/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.d.ts +0 -1
  302. package/dist/types/tools/preload_memory_tool.d.ts +1 -1
  303. package/dist/types/tools/resume_inputs.d.ts +25 -0
  304. package/dist/types/tools/retrieval/base_retrieval_tool.d.ts +21 -0
  305. package/dist/types/tools/retrieval/files_retrieval.d.ts +50 -0
  306. package/dist/types/tools/retrieval/llama_index_retrieval.d.ts +62 -0
  307. package/dist/types/tools/url_context_tool.d.ts +4 -4
  308. package/dist/types/tools/vertex_ai_search_tool.d.ts +4 -4
  309. package/dist/types/tools/vertex_rag_retrieval_tool.d.ts +13 -12
  310. package/dist/types/utils/crypto_shim.d.ts +16 -0
  311. package/dist/types/utils/gemini_schema_util.d.ts +5 -7
  312. package/dist/types/utils/logger.d.ts +23 -1
  313. package/dist/types/utils/logger_browser.d.ts +28 -0
  314. package/dist/types/utils/logger_node.d.ts +20 -0
  315. package/dist/types/utils/output_schema_utils.d.ts +3 -3
  316. package/dist/types/utils/redact_inline_data.d.ts +16 -0
  317. package/dist/types/utils/redact_uri.d.ts +12 -8
  318. package/dist/types/utils/ssrf_guard.d.ts +32 -0
  319. package/dist/types/version.d.ts +1 -1
  320. package/dist/web/index_web.js +304 -3
  321. package/dist/web/index_web.js.map +7 -0
  322. package/package.json +17 -14
  323. package/dist/web/a2a/a2a_event.js +0 -290
  324. package/dist/web/a2a/a2a_remote_agent.js +0 -200
  325. package/dist/web/a2a/a2a_remote_agent_run_processor.js +0 -189
  326. package/dist/web/a2a/a2a_remote_agent_utils.js +0 -141
  327. package/dist/web/a2a/agent_card.js +0 -373
  328. package/dist/web/a2a/agent_executor.js +0 -246
  329. package/dist/web/a2a/agent_to_a2a.js +0 -126
  330. package/dist/web/a2a/auth.js +0 -41
  331. package/dist/web/a2a/event_converter_utils.js +0 -242
  332. package/dist/web/a2a/event_processor_utils.js +0 -209
  333. package/dist/web/a2a/executor_context.js +0 -28
  334. package/dist/web/a2a/index.js +0 -20
  335. package/dist/web/a2a/metadata_converter_utils.js +0 -115
  336. package/dist/web/a2a/part_converter_utils.js +0 -201
  337. package/dist/web/agents/active_streaming_tool.js +0 -25
  338. package/dist/web/agents/base_agent.js +0 -462
  339. package/dist/web/agents/context.js +0 -146
  340. package/dist/web/agents/framework_function_calls.js +0 -34
  341. package/dist/web/agents/functions.js +0 -462
  342. package/dist/web/agents/instructions.js +0 -188
  343. package/dist/web/agents/invocation_context.js +0 -126
  344. package/dist/web/agents/live_request_queue.js +0 -151
  345. package/dist/web/agents/llm_agent.js +0 -1514
  346. package/dist/web/agents/loop_agent.js +0 -131
  347. package/dist/web/agents/parallel_agent.js +0 -122
  348. package/dist/web/agents/processors/agent_transfer_llm_request_processor.js +0 -113
  349. package/dist/web/agents/processors/base_llm_processor.js +0 -21
  350. package/dist/web/agents/processors/basic_llm_request_processor.js +0 -84
  351. package/dist/web/agents/processors/code_execution_request_processor.js +0 -381
  352. package/dist/web/agents/processors/content_processor_utils.js +0 -432
  353. package/dist/web/agents/processors/content_request_processor.js +0 -73
  354. package/dist/web/agents/processors/context_compactor_request_processor.js +0 -78
  355. package/dist/web/agents/processors/identity_llm_request_processor.js +0 -59
  356. package/dist/web/agents/processors/instructions_llm_request_processor.js +0 -85
  357. package/dist/web/agents/processors/interactions_request_processor.js +0 -56
  358. package/dist/web/agents/processors/request_confirmation_llm_request_processor.js +0 -393
  359. package/dist/web/agents/processors/request_input_llm_request_processor.js +0 -228
  360. package/dist/web/agents/processors/tool_filter_request_processor.js +0 -72
  361. package/dist/web/agents/readonly_context.js +0 -60
  362. package/dist/web/agents/routed_agent.js +0 -161
  363. package/dist/web/agents/run_config.js +0 -74
  364. package/dist/web/agents/sequential_agent.js +0 -141
  365. package/dist/web/agents/transcription_entry.js +0 -7
  366. package/dist/web/agents/user_input_request.js +0 -135
  367. package/dist/web/apps/app.js +0 -52
  368. package/dist/web/apps/resumability_config.js +0 -33
  369. package/dist/web/artifacts/base_artifact_service.js +0 -7
  370. package/dist/web/artifacts/file_artifact_service.js +0 -568
  371. package/dist/web/artifacts/gcs_artifact_service.js +0 -298
  372. package/dist/web/artifacts/in_memory_artifact_service.js +0 -172
  373. package/dist/web/artifacts/registry.js +0 -36
  374. package/dist/web/artifacts/scoped_artifact_service.js +0 -89
  375. package/dist/web/auth/auth_credential.js +0 -18
  376. package/dist/web/auth/auth_handler.js +0 -151
  377. package/dist/web/auth/auth_preprocessor.js +0 -184
  378. package/dist/web/auth/auth_provider_registry.js +0 -37
  379. package/dist/web/auth/auth_schemes.js +0 -36
  380. package/dist/web/auth/auth_tool.js +0 -7
  381. package/dist/web/auth/base_auth_provider.js +0 -7
  382. package/dist/web/auth/credential_response_binding.js +0 -91
  383. package/dist/web/auth/credential_service/base_credential_service.js +0 -7
  384. package/dist/web/auth/credential_service/in_memory_credential_service.js +0 -50
  385. package/dist/web/auth/credential_service/session_state_credential_service.js +0 -27
  386. package/dist/web/auth/exchanger/base_credential_exchanger.js +0 -16
  387. package/dist/web/auth/exchanger/credential_exchanger_registry.js +0 -35
  388. package/dist/web/auth/oauth2/oauth2_credential_exchanger.js +0 -194
  389. package/dist/web/auth/oauth2/oauth2_credential_refresher.js +0 -105
  390. package/dist/web/auth/oauth2/oauth2_discovery.js +0 -196
  391. package/dist/web/auth/oauth2/oauth2_utils.js +0 -105
  392. package/dist/web/auth/refresher/credential_refresher_registry.js +0 -44
  393. package/dist/web/code_executors/agent_engine_sandbox_code_executor.js +0 -284
  394. package/dist/web/code_executors/base_code_executor.js +0 -68
  395. package/dist/web/code_executors/built_in_code_executor.js +0 -50
  396. package/dist/web/code_executors/code_execution_utils.js +0 -131
  397. package/dist/web/code_executors/code_executor_context.js +0 -174
  398. package/dist/web/code_executors/unsafe_local_code_executor.js +0 -221
  399. package/dist/web/common.js +0 -452
  400. package/dist/web/context/agent_controlled_context_compactor.js +0 -76
  401. package/dist/web/context/anchored_context_compactor.js +0 -120
  402. package/dist/web/context/base_context_compactor.js +0 -7
  403. package/dist/web/context/compaction_utils.js +0 -42
  404. package/dist/web/context/summarizers/base_summarizer.js +0 -7
  405. package/dist/web/context/summarizers/llm_summarizer.js +0 -91
  406. package/dist/web/context/token_based_context_compactor.js +0 -118
  407. package/dist/web/context/trajectory_thought_pruning_compactor.js +0 -47
  408. package/dist/web/context/truncating_context_compactor.js +0 -34
  409. package/dist/web/environment/base_environment.js +0 -71
  410. package/dist/web/environment/local_environment.js +0 -165
  411. package/dist/web/events/compacted_event.js +0 -51
  412. package/dist/web/events/event.js +0 -208
  413. package/dist/web/events/event_actions.js +0 -74
  414. package/dist/web/events/structured_events.js +0 -79
  415. package/dist/web/examples/base_example_provider.js +0 -32
  416. package/dist/web/examples/example.js +0 -7
  417. package/dist/web/examples/example_util.js +0 -83
  418. package/dist/web/features/feature_registry.js +0 -115
  419. package/dist/web/index.js +0 -57
  420. package/dist/web/integrations/agent_registry/agent_registry.js +0 -337
  421. package/dist/web/integrations/agent_registry/agent_registry_mcp_toolset.js +0 -120
  422. package/dist/web/integrations/agent_registry/helpers.js +0 -32
  423. package/dist/web/integrations/agent_registry/types.js +0 -20
  424. package/dist/web/memory/base_memory_service.js +0 -7
  425. package/dist/web/memory/in_memory_memory_service.js +0 -89
  426. package/dist/web/memory/memory_entry.js +0 -7
  427. package/dist/web/memory/vertex_ai_memory_bank_service.js +0 -496
  428. package/dist/web/models/apigee_llm.js +0 -227
  429. package/dist/web/models/base_llm.js +0 -78
  430. package/dist/web/models/base_llm_connection.js +0 -7
  431. package/dist/web/models/gemini_llm_connection.js +0 -183
  432. package/dist/web/models/google_llm.js +0 -396
  433. package/dist/web/models/interactions_utils.js +0 -745
  434. package/dist/web/models/llm_request.js +0 -57
  435. package/dist/web/models/llm_response.js +0 -48
  436. package/dist/web/models/registry.js +0 -100
  437. package/dist/web/models/routed_llm.js +0 -112
  438. package/dist/web/plugins/base_plugin.js +0 -305
  439. package/dist/web/plugins/global_instruction_plugin.js +0 -71
  440. package/dist/web/plugins/logging_plugin.js +0 -241
  441. package/dist/web/plugins/plugin_manager.js +0 -318
  442. package/dist/web/plugins/security_plugin.js +0 -148
  443. package/dist/web/runner/in_memory_runner.js +0 -50
  444. package/dist/web/runner/runner.js +0 -747
  445. package/dist/web/sessions/base_session_service.js +0 -123
  446. package/dist/web/sessions/database_session_service.js +0 -440
  447. package/dist/web/sessions/db/operations.js +0 -124
  448. package/dist/web/sessions/db/schema.js +0 -216
  449. package/dist/web/sessions/in_memory_session_service.js +0 -251
  450. package/dist/web/sessions/registry.js +0 -38
  451. package/dist/web/sessions/session.js +0 -23
  452. package/dist/web/sessions/state.js +0 -159
  453. package/dist/web/sessions/state_write_order.js +0 -74
  454. package/dist/web/sessions/vertex_ai_session_service.js +0 -546
  455. package/dist/web/skills/gcp_skill_registry.js +0 -80
  456. package/dist/web/skills/loader.js +0 -372
  457. package/dist/web/skills/prompt.js +0 -34
  458. package/dist/web/skills/skill.js +0 -67
  459. package/dist/web/skills/skill_registry.js +0 -7
  460. package/dist/web/telemetry/google_cloud.js +0 -99
  461. package/dist/web/telemetry/setup.js +0 -89
  462. package/dist/web/telemetry/tracing.js +0 -304
  463. package/dist/web/tools/agent_tool.js +0 -150
  464. package/dist/web/tools/base_tool.js +0 -116
  465. package/dist/web/tools/base_toolset.js +0 -62
  466. package/dist/web/tools/consolidate_context_tool.js +0 -55
  467. package/dist/web/tools/enterprise_web_search_tool.js +0 -60
  468. package/dist/web/tools/example_tool.js +0 -46
  469. package/dist/web/tools/exit_loop_tool.js +0 -47
  470. package/dist/web/tools/finish_task_tool.js +0 -92
  471. package/dist/web/tools/forwarding_artifact_service.js +0 -51
  472. package/dist/web/tools/function_tool.js +0 -151
  473. package/dist/web/tools/get_user_choice_tool.js +0 -27
  474. package/dist/web/tools/google_maps_grounding_tool.js +0 -59
  475. package/dist/web/tools/google_search_tool.js +0 -55
  476. package/dist/web/tools/load_artifacts_tool.js +0 -159
  477. package/dist/web/tools/load_memory_tool.js +0 -83
  478. package/dist/web/tools/long_running_tool.js +0 -58
  479. package/dist/web/tools/mcp/index.js +0 -11
  480. package/dist/web/tools/mcp/load_mcp_resource_tool.js +0 -111
  481. package/dist/web/tools/mcp/mcp_session_manager.js +0 -114
  482. package/dist/web/tools/mcp/mcp_tool.js +0 -47
  483. package/dist/web/tools/mcp/mcp_toolset.js +0 -144
  484. package/dist/web/tools/openapi_tool/auth/auth_helpers.js +0 -53
  485. package/dist/web/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +0 -62
  486. package/dist/web/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +0 -113
  487. package/dist/web/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +0 -242
  488. package/dist/web/tools/openapi_tool/openapi_spec_parser/operation_parser.js +0 -200
  489. package/dist/web/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +0 -98
  490. package/dist/web/tools/openapi_tool/openapi_toolset.js +0 -99
  491. package/dist/web/tools/openapi_tool/rest_api_tool.js +0 -247
  492. package/dist/web/tools/preload_memory_tool.js +0 -81
  493. package/dist/web/tools/request_input_tool.js +0 -29
  494. package/dist/web/tools/skill/list_skills_tool.js +0 -52
  495. package/dist/web/tools/skill/load_skill_resource_tool.js +0 -192
  496. package/dist/web/tools/skill/load_skill_tool.js +0 -96
  497. package/dist/web/tools/skill/run_skill_inline_script_tool.js +0 -191
  498. package/dist/web/tools/skill/run_skill_script_tool.js +0 -227
  499. package/dist/web/tools/skill/search_skills_tool.js +0 -84
  500. package/dist/web/tools/skill/skill_toolset.js +0 -185
  501. package/dist/web/tools/tool_confirmation.js +0 -43
  502. package/dist/web/tools/url_context_tool.js +0 -48
  503. package/dist/web/tools/vertex_ai_search_tool.js +0 -107
  504. package/dist/web/tools/vertex_rag_retrieval_tool.js +0 -40
  505. package/dist/web/utils/async_hooks_shim.js +0 -28
  506. package/dist/web/utils/async_queue.js +0 -88
  507. package/dist/web/utils/branch_trie.js +0 -16
  508. package/dist/web/utils/case_utils.js +0 -28
  509. package/dist/web/utils/client_labels.js +0 -70
  510. package/dist/web/utils/crypto_shim.js +0 -18
  511. package/dist/web/utils/deprecated.js +0 -40
  512. package/dist/web/utils/env_aware_utils.js +0 -115
  513. package/dist/web/utils/error_utils.js +0 -101
  514. package/dist/web/utils/experimental.js +0 -54
  515. package/dist/web/utils/failover_utils.js +0 -100
  516. package/dist/web/utils/file_extension_utils.js +0 -55
  517. package/dist/web/utils/file_utils.js +0 -108
  518. package/dist/web/utils/gemini_schema_util.js +0 -177
  519. package/dist/web/utils/genai_schema_to_json.js +0 -80
  520. package/dist/web/utils/live_connection_utils.js +0 -257
  521. package/dist/web/utils/logger.js +0 -140
  522. package/dist/web/utils/model_name.js +0 -75
  523. package/dist/web/utils/object_notation_utils.js +0 -54
  524. package/dist/web/utils/optional_peer.js +0 -38
  525. package/dist/web/utils/output_schema_utils.js +0 -18
  526. package/dist/web/utils/partial_copy.js +0 -26
  527. package/dist/web/utils/redact_uri.js +0 -39
  528. package/dist/web/utils/schema.js +0 -167
  529. package/dist/web/utils/simple_zod_to_json.js +0 -134
  530. package/dist/web/utils/streaming_utils.js +0 -438
  531. package/dist/web/utils/task.js +0 -38
  532. package/dist/web/utils/variant_utils.js +0 -23
  533. package/dist/web/utils/vertex_ai_utils.js +0 -27
  534. package/dist/web/version.js +0 -11
  535. package/dist/web/workflow/base_node.js +0 -215
  536. package/dist/web/workflow/branch_path.js +0 -77
  537. package/dist/web/workflow/dynamic_node_scheduler.js +0 -202
  538. package/dist/web/workflow/errors.js +0 -140
  539. package/dist/web/workflow/graph.js +0 -127
  540. package/dist/web/workflow/index.js +0 -80
  541. package/dist/web/workflow/node.js +0 -87
  542. package/dist/web/workflow/node_builders.js +0 -40
  543. package/dist/web/workflow/node_context.js +0 -236
  544. package/dist/web/workflow/node_error_event.js +0 -86
  545. package/dist/web/workflow/node_runner.js +0 -481
  546. package/dist/web/workflow/node_state.js +0 -43
  547. package/dist/web/workflow/node_status.js +0 -20
  548. package/dist/web/workflow/nodes/function_node.js +0 -221
  549. package/dist/web/workflow/nodes/join_node.js +0 -47
  550. package/dist/web/workflow/nodes/node_tool.js +0 -131
  551. package/dist/web/workflow/nodes/parallel_worker.js +0 -120
  552. package/dist/web/workflow/nodes/tool_node.js +0 -126
  553. package/dist/web/workflow/request_input.js +0 -36
  554. package/dist/web/workflow/retry_config.js +0 -43
  555. package/dist/web/workflow/run_llm_agent_as_node.js +0 -266
  556. package/dist/web/workflow/run_node_as_invocation.js +0 -170
  557. package/dist/web/workflow/schedule_dynamic_node.js +0 -26
  558. package/dist/web/workflow/trigger.js +0 -7
  559. package/dist/web/workflow/utils/graph_parser.js +0 -188
  560. package/dist/web/workflow/utils/graph_validation.js +0 -189
  561. package/dist/web/workflow/utils/hitl_utils.js +0 -239
  562. package/dist/web/workflow/utils/rehydration_utils.js +0 -342
  563. package/dist/web/workflow/utils/retry_utils.js +0 -82
  564. package/dist/web/workflow/utils/workflow_graph_utils.js +0 -115
  565. package/dist/web/workflow/workflow.js +0 -529
  566. /package/dist/{web/artifacts/session_artifact_service.js → esm/tools/resume_inputs.js} +0 -0
@@ -35,9 +35,11 @@ __export(functions_exports, {
35
35
  generateAuthEvent: () => generateAuthEvent,
36
36
  generateClientFunctionCallId: () => import_event2.generateClientFunctionCallId,
37
37
  generateRequestConfirmationEvent: () => generateRequestConfirmationEvent,
38
+ getConflictingFunctionResponseAuthors: () => getConflictingFunctionResponseAuthors,
38
39
  getLongRunningFunctionCalls: () => getLongRunningFunctionCalls,
39
40
  handleFunctionCallList: () => handleFunctionCallList,
40
41
  handleFunctionCallsAsync: () => handleFunctionCallsAsync,
42
+ isToolNotFound: () => isToolNotFound,
41
43
  mergeParallelFunctionResponseEvents: () => mergeParallelFunctionResponseEvents,
42
44
  populateClientFunctionCallId: () => import_event2.populateClientFunctionCallId,
43
45
  reservedFunctionCallName: () => import_framework_function_calls2.reservedFunctionCallName
@@ -47,6 +49,7 @@ var import_genai = require("@google/genai");
47
49
  var import_lodash_es = require("lodash-es");
48
50
  var import_event = require("../events/event.js");
49
51
  var import_event_actions = require("../events/event_actions.js");
52
+ var import_base_tool = require("../tools/base_tool.js");
50
53
  var import_logger = require("../utils/logger.js");
51
54
  var import_context = require("./context.js");
52
55
  var import_framework_function_calls = require("./framework_function_calls.js");
@@ -58,9 +61,10 @@ var import_framework_function_calls2 = require("./framework_function_calls.js");
58
61
  * Copyright 2025 Google LLC
59
62
  * SPDX-License-Identifier: Apache-2.0
60
63
  */
64
+ var _a, _b;
61
65
  function toolEventAuthor(invocationContext) {
62
- var _a, _b;
63
- return (_b = (_a = invocationContext.agent) == null ? void 0 : _a.name) != null ? _b : "";
66
+ var _a2, _b2;
67
+ return (_b2 = (_a2 = invocationContext.agent) == null ? void 0 : _a2.name) != null ? _b2 : "";
64
68
  }
65
69
  __name(toolEventAuthor, "toolEventAuthor");
66
70
  const functionsExportedForTestingOnly = {
@@ -79,8 +83,8 @@ function getLongRunningFunctionCalls(functionCalls, toolsDict) {
79
83
  }
80
84
  __name(getLongRunningFunctionCalls, "getLongRunningFunctionCalls");
81
85
  function generateAuthEvent(invocationContext, functionResponseEvent) {
82
- var _a;
83
- 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)) {
84
88
  return void 0;
85
89
  }
86
90
  const parts = [];
@@ -105,7 +109,7 @@ function generateAuthEvent(invocationContext, functionResponseEvent) {
105
109
  branch: invocationContext.branch,
106
110
  content: {
107
111
  parts,
108
- role: functionResponseEvent.content.role
112
+ role: (_c = (_b2 = functionResponseEvent.content) == null ? void 0 : _b2.role) != null ? _c : "user"
109
113
  },
110
114
  longRunningToolIds: Array.from(longRunningToolIds)
111
115
  });
@@ -116,8 +120,8 @@ function generateRequestConfirmationEvent({
116
120
  functionCallEvent,
117
121
  functionResponseEvent
118
122
  }) {
119
- var _a, _b;
120
- 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)) {
121
125
  return;
122
126
  }
123
127
  const parts = [];
@@ -126,7 +130,7 @@ function generateRequestConfirmationEvent({
126
130
  for (const [functionCallId, toolConfirmation] of Object.entries(
127
131
  functionResponseEvent.actions.requestedToolConfirmations
128
132
  )) {
129
- 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;
130
134
  if (!originalFunctionCall) {
131
135
  continue;
132
136
  }
@@ -147,7 +151,7 @@ function generateRequestConfirmationEvent({
147
151
  branch: invocationContext.branch,
148
152
  content: {
149
153
  parts,
150
- role: functionResponseEvent.content.role
154
+ role: (_d = (_c = functionResponseEvent.content) == null ? void 0 : _c.role) != null ? _d : "user"
151
155
  },
152
156
  actions: functionResponseEvent.actions,
153
157
  longRunningToolIds: Array.from(longRunningToolIds)
@@ -212,7 +216,8 @@ async function handleFunctionCallsAsync({
212
216
  beforeToolCallbacks,
213
217
  afterToolCallbacks,
214
218
  filters,
215
- toolConfirmationDict
219
+ toolConfirmationDict,
220
+ resumeInputsDict
216
221
  }) {
217
222
  const functionCalls = (0, import_event.getFunctionCalls)(functionCallEvent);
218
223
  return await handleFunctionCallList({
@@ -222,7 +227,8 @@ async function handleFunctionCallsAsync({
222
227
  beforeToolCallbacks,
223
228
  afterToolCallbacks,
224
229
  filters,
225
- toolConfirmationDict
230
+ toolConfirmationDict,
231
+ resumeInputsDict
226
232
  });
227
233
  }
228
234
  __name(handleFunctionCallsAsync, "handleFunctionCallsAsync");
@@ -239,6 +245,70 @@ function normalizeCallbackResponse(response) {
239
245
  return response;
240
246
  }
241
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");
242
312
  async function handleFunctionCallList({
243
313
  invocationContext,
244
314
  functionCalls,
@@ -246,9 +316,10 @@ async function handleFunctionCallList({
246
316
  beforeToolCallbacks,
247
317
  afterToolCallbacks,
248
318
  filters,
249
- toolConfirmationDict
319
+ toolConfirmationDict,
320
+ resumeInputsDict
250
321
  }) {
251
- var _a;
322
+ var _a2;
252
323
  const functionResponseEvents = [];
253
324
  const filteredFunctionCalls = functionCalls.filter((functionCall) => {
254
325
  return !filters || functionCall.id && filters.has(functionCall.id);
@@ -258,14 +329,30 @@ async function handleFunctionCallList({
258
329
  if (toolConfirmationDict && functionCall.id) {
259
330
  toolConfirmation = toolConfirmationDict[functionCall.id];
260
331
  }
261
- 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({
262
337
  invocationContext,
263
- functionCall,
264
- toolsDict,
265
- toolConfirmation
338
+ functionCallId: functionCall.id || void 0,
339
+ toolConfirmation,
340
+ resumeInputs
266
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
+ }
267
354
  import_logger.logger.debug(`execute_tool ${tool.name}`);
268
- const functionArgs = (_a = functionCall.args) != null ? _a : {};
355
+ const functionArgs = (_a2 = functionCall.args) != null ? _a2 : {};
269
356
  let functionResponse = null;
270
357
  let functionResponseError;
271
358
  functionResponse = await invocationContext.pluginManager.runBeforeToolCallback({
@@ -330,6 +417,16 @@ async function handleFunctionCallList({
330
417
  functionResponse = normalizeCallbackResponse(alteredFunctionResponse);
331
418
  }
332
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
+ }
333
430
  continue;
334
431
  }
335
432
  if (functionResponseError) {
@@ -385,26 +482,6 @@ async function handleFunctionCallList({
385
482
  return mergedEvent;
386
483
  }
387
484
  __name(handleFunctionCallList, "handleFunctionCallList");
388
- function getToolAndContext({
389
- invocationContext,
390
- functionCall,
391
- toolsDict,
392
- toolConfirmation
393
- }) {
394
- if (!functionCall.name || !(functionCall.name in toolsDict)) {
395
- throw new Error(
396
- `Function ${functionCall.name} is not found in the toolsDict.`
397
- );
398
- }
399
- const toolContext = new import_context.Context({
400
- invocationContext,
401
- functionCallId: functionCall.id || void 0,
402
- toolConfirmation
403
- });
404
- const tool = toolsDict[functionCall.name];
405
- return { tool, toolContext };
406
- }
407
- __name(getToolAndContext, "getToolAndContext");
408
485
  function mergeParallelFunctionResponseEvents(functionResponseEvents) {
409
486
  if (!functionResponseEvents.length) {
410
487
  throw new Error("No function response events provided.");
@@ -446,22 +523,46 @@ function findEventByFunctionCallId(events, functionCallId, endIndex = events.len
446
523
  return void 0;
447
524
  }
448
525
  __name(findEventByFunctionCallId, "findEventByFunctionCallId");
449
- function findMatchingFunctionCall(events) {
526
+ function resolveFunctionResponseMatch(events) {
527
+ var _a2, _b2;
450
528
  if (!events.length) {
451
- return void 0;
529
+ return { resolved: void 0, conflictingAuthors: void 0 };
452
530
  }
453
531
  const lastEvent = events[events.length - 1];
454
532
  const functionResponses = (0, import_event.getFunctionResponses)(lastEvent);
455
- if (!functionResponses.length || !functionResponses[0].id) {
456
- return void 0;
533
+ if (!functionResponses.length) {
534
+ return { resolved: void 0, conflictingAuthors: void 0 };
457
535
  }
458
- return findEventByFunctionCallId(
459
- events,
460
- functionResponses[0].id,
461
- events.length - 1
462
- );
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;
463
560
  }
464
561
  __name(findMatchingFunctionCall, "findMatchingFunctionCall");
562
+ function getConflictingFunctionResponseAuthors(events) {
563
+ return resolveFunctionResponseMatch(events).conflictingAuthors;
564
+ }
565
+ __name(getConflictingFunctionResponseAuthors, "getConflictingFunctionResponseAuthors");
465
566
  // Annotate the CommonJS export names for ESM import in node:
466
567
  0 && (module.exports = {
467
568
  AF_FUNCTION_CALL_ID_PREFIX,
@@ -474,9 +575,11 @@ __name(findMatchingFunctionCall, "findMatchingFunctionCall");
474
575
  generateAuthEvent,
475
576
  generateClientFunctionCallId,
476
577
  generateRequestConfirmationEvent,
578
+ getConflictingFunctionResponseAuthors,
477
579
  getLongRunningFunctionCalls,
478
580
  handleFunctionCallList,
479
581
  handleFunctionCallsAsync,
582
+ isToolNotFound,
480
583
  mergeParallelFunctionResponseEvents,
481
584
  populateClientFunctionCallId,
482
585
  reservedFunctionCallName
@@ -80,6 +80,7 @@ const _InvocationContext = class _InvocationContext {
80
80
  this.workflowInstructionScope = params.workflowInstructionScope;
81
81
  this.isolationScope = params.isolationScope;
82
82
  this.nodeToolDepth = (_a = params.nodeToolDepth) != null ? _a : 0;
83
+ this.a2aMetadata = params.a2aMetadata;
83
84
  this.invocationCostManager = (_b = params.invocationCostManager) != null ? _b : new InvocationCostManager();
84
85
  this.liveRequestQueue = params.liveRequestQueue;
85
86
  this.liveSessionResumptionHandle = params.liveSessionResumptionHandle;
@@ -37,6 +37,7 @@ var import_base_node = require("../workflow/base_node.js");
37
37
  var import_node_tool = require("../workflow/nodes/node_tool.js");
38
38
  var import_run_llm_agent_as_node = require("../workflow/run_llm_agent_as_node.js");
39
39
  var import_event = require("../events/event.js");
40
+ var import_event_actions = require("../events/event_actions.js");
40
41
  var import_base_llm = require("../models/base_llm.js");
41
42
  var import_registry = require("../models/registry.js");
42
43
  var import_base_tool = require("../tools/base_tool.js");
@@ -130,7 +131,7 @@ async function convertToolUnionToTools(toolUnion, context2) {
130
131
  return await toolUnion.getTools(context2);
131
132
  }
132
133
  __name(convertToolUnionToTools, "convertToolUnionToTools");
133
- const LLM_AGENT_SIGNATURE_SYMBOL = Symbol.for("google.adk.llmAgent");
134
+ const LLM_AGENT_SIGNATURE_SYMBOL = /* @__PURE__ */ Symbol.for("google.adk.llmAgent");
134
135
  function isLlmAgent(obj) {
135
136
  return typeof obj === "object" && obj !== null && LLM_AGENT_SIGNATURE_SYMBOL in obj && obj[LLM_AGENT_SIGNATURE_SYMBOL] === true;
136
137
  }
@@ -464,7 +465,7 @@ const _LlmAgent = class _LlmAgent extends (_b = import_base_agent.BaseAgent, _a
464
465
  if (!lastEvent) {
465
466
  break;
466
467
  }
467
- const isEmptyMetadataEvent = lastEvent.author === this.name && !lastEvent.partial && (!((_b2 = lastEvent.content) == null ? void 0 : _b2.parts) || lastEvent.content.parts.length === 0);
468
+ const isEmptyMetadataEvent = lastEvent.author === this.name && !lastEvent.partial && (!((_b2 = lastEvent.content) == null ? void 0 : _b2.parts) || lastEvent.content.parts.length === 0) && (0, import_event_actions.isDefaultEventActions)(lastEvent.actions);
468
469
  if ((0, import_event.isFinalResponse)(lastEvent) && !(isEmptyMetadataEvent && stepHadToolCalls)) {
469
470
  break;
470
471
  }
@@ -1239,9 +1240,9 @@ const _LlmAgent = class _LlmAgent extends (_b = import_base_agent.BaseAgent, _a
1239
1240
  // --------------------------------------------------------------------------
1240
1241
  // #END LlmFlow Logic
1241
1242
  // --------------------------------------------------------------------------
1242
- // TODO - b/425992518: omitted Py LlmAgent features.
1243
- // - code_executor
1244
- // - configurable agents by yaml config
1243
+ // TODO - b/425992518: LlmAgent features not implemented yet.
1244
+ // - codeExecutor
1245
+ // - configuring agents from a YAML file
1245
1246
  };
1246
1247
  __name(_LlmAgent, "LlmAgent");
1247
1248
  let LlmAgent = _LlmAgent;
@@ -45,7 +45,7 @@ var import_base_agent = require("./base_agent.js");
45
45
  * SPDX-License-Identifier: Apache-2.0
46
46
  */
47
47
  var _a, _b;
48
- const LOOP_AGENT_SIGNATURE_SYMBOL = Symbol.for("google.adk.loopAgent");
48
+ const LOOP_AGENT_SIGNATURE_SYMBOL = /* @__PURE__ */ Symbol.for("google.adk.loopAgent");
49
49
  function isLoopAgent(obj) {
50
50
  return typeof obj === "object" && obj !== null && LOOP_AGENT_SIGNATURE_SYMBOL in obj && obj[LOOP_AGENT_SIGNATURE_SYMBOL] === true;
51
51
  }
@@ -46,7 +46,7 @@ var import_invocation_context = require("./invocation_context.js");
46
46
  * SPDX-License-Identifier: Apache-2.0
47
47
  */
48
48
  var _a, _b;
49
- const PARALLEL_AGENT_SIGNATURE_SYMBOL = Symbol.for("google.adk.parallelAgent");
49
+ const PARALLEL_AGENT_SIGNATURE_SYMBOL = /* @__PURE__ */ Symbol.for("google.adk.parallelAgent");
50
50
  function isParallelAgent(obj) {
51
51
  return typeof obj === "object" && obj !== null && PARALLEL_AGENT_SIGNATURE_SYMBOL in obj && obj[PARALLEL_AGENT_SIGNATURE_SYMBOL] === true;
52
52
  }
@@ -44,17 +44,34 @@ const _AgentTransferLlmRequestProcessor = class _AgentTransferLlmRequestProcesso
44
44
  constructor() {
45
45
  super(...arguments);
46
46
  this.toolName = "transfer_to_agent";
47
- this.tool = new import_function_tool.FunctionTool({
47
+ }
48
+ /**
49
+ * Builds the `transfer_to_agent` tool for one invocation.
50
+ *
51
+ * Built per call rather than shared, because the parameter is an enum of the
52
+ * agents actually reachable from here. That mirrors adk-python's
53
+ * `TransferToAgentTool`, and it stops the model inventing a target: an
54
+ * unknown name now fails argument validation and comes back to the model as
55
+ * a tool error it can retry, instead of silently setting `transferToAgent`
56
+ * to an agent that does not exist.
57
+ *
58
+ * The parameter is `agent_name`, not `agentName`. It is wire format — it
59
+ * appears in the declaration sent to the model and in the events that get
60
+ * persisted — and adk-python spells it `agent_name`, so a transcript
61
+ * produced by one runtime has to be readable by the other.
62
+ */
63
+ buildTool(targetNames) {
64
+ return new import_function_tool.FunctionTool({
48
65
  name: this.toolName,
49
66
  description: "Transfer the question to another agent. This tool hands off control to another agent when it is more suitable to answer the user question according to the agent description.",
50
67
  parameters: import_zod.z.object({
51
- agentName: import_zod.z.string().describe("the agent name to transfer to.")
68
+ agent_name: import_zod.z.enum(targetNames).describe("the agent name to transfer to.")
52
69
  }),
53
- execute: /* @__PURE__ */ __name(function(args, toolContext) {
70
+ execute: /* @__PURE__ */ __name((args, toolContext) => {
54
71
  if (!toolContext) {
55
72
  throw new Error("toolContext is required.");
56
73
  }
57
- toolContext.actions.transferToAgent = args.agentName;
74
+ toolContext.actions.transferToAgent = args.agent_name;
58
75
  return "Transfer queued";
59
76
  }, "execute")
60
77
  });
@@ -82,7 +99,11 @@ const _AgentTransferLlmRequestProcessor = class _AgentTransferLlmRequestProcesso
82
99
  )
83
100
  ]);
84
101
  const toolContext = new import_context.Context({ invocationContext });
85
- await this.tool.processLlmRequest({ toolContext, llmRequest });
102
+ const targetNames = transferTargets.map((t) => t.name);
103
+ await this.buildTool(targetNames).processLlmRequest({
104
+ toolContext,
105
+ llmRequest
106
+ });
86
107
  }
87
108
  buildTargetAgentsInfo(targetAgent) {
88
109
  return `
@@ -63,10 +63,10 @@ const _CodeExecutionRequestProcessor = class _CodeExecutionRequestProcessor exte
63
63
  return;
64
64
  }
65
65
  for (const content of llmRequest.contents) {
66
- const delimeters = invocationContext.agent.codeExecutor.codeBlockDelimiters.length ? invocationContext.agent.codeExecutor.codeBlockDelimiters[0] : ["", ""];
66
+ const delimiters = invocationContext.agent.codeExecutor.codeBlockDelimiters.length ? invocationContext.agent.codeExecutor.codeBlockDelimiters[0] : ["", ""];
67
67
  (0, import_code_execution_utils.convertCodeExecutionParts)(
68
68
  content,
69
- delimeters,
69
+ delimiters,
70
70
  invocationContext.agent.codeExecutor.executionResultDelimiters
71
71
  );
72
72
  }
@@ -36,6 +36,7 @@ var import_lodash_es = require("lodash-es");
36
36
  var import_compacted_event = require("../../events/compacted_event.js");
37
37
  var import_event = require("../../events/event.js");
38
38
  var import_branch_trie = require("../../utils/branch_trie.js");
39
+ var import_compaction_utils = require("../../context/compaction_utils.js");
39
40
  var import_functions = require("../functions.js");
40
41
  /**
41
42
  * @license
@@ -57,6 +58,9 @@ __name(removeClientFunctionCallId, "removeClientFunctionCallId");
57
58
  function getContents(events, agentName, currentBranch, currentIsolationScope) {
58
59
  const filteredEvents = [];
59
60
  for (const event of events) {
61
+ if (!(0, import_compaction_utils.isEventVisibleInIsolationScope)(event, currentIsolationScope)) {
62
+ continue;
63
+ }
60
64
  if ((0, import_compacted_event.isCompactedEvent)(event)) {
61
65
  filteredEvents.push(convertCompactedEvent(event));
62
66
  continue;
@@ -87,7 +91,7 @@ function shouldIncludeEventInContext(event, currentBranch, currentIsolationScope
87
91
  if (currentBranch && event.branch && !(0, import_branch_trie.isSegmentPrefix)(currentBranch, event.branch)) {
88
92
  return false;
89
93
  }
90
- if (isOutsideIsolationScope(event, currentIsolationScope)) {
94
+ if (!(0, import_compaction_utils.isEventVisibleInIsolationScope)(event, currentIsolationScope)) {
91
95
  return false;
92
96
  }
93
97
  return !isAuthEvent(event) && !isToolConfirmationEvent(event) && !isRequestInputEvent(event);
@@ -152,10 +156,6 @@ function turnStart(events, anchor) {
152
156
  return start;
153
157
  }
154
158
  __name(turnStart, "turnStart");
155
- function isOutsideIsolationScope(event, currentIsolationScope) {
156
- return event.isolationScope !== void 0 && event.isolationScope !== currentIsolationScope;
157
- }
158
- __name(isOutsideIsolationScope, "isOutsideIsolationScope");
159
159
  function isAuthEvent(event) {
160
160
  var _a, _b, _c;
161
161
  if (!((_a = event.content) == null ? void 0 : _a.parts)) {
@@ -51,7 +51,10 @@ const _ContentRequestProcessor = class _ContentRequestProcessor {
51
51
  if (!agent || !(0, import_llm_agent.isLlmAgent)(agent)) {
52
52
  return;
53
53
  }
54
- const events = (0, import_compaction_utils.getActiveEvents)(invocationContext.session.events);
54
+ const events = (0, import_compaction_utils.getActiveEvents)(
55
+ invocationContext.session.events,
56
+ invocationContext.isolationScope
57
+ );
55
58
  if (agent.includeContents === "default") {
56
59
  llmRequest.contents = (0, import_content_processor_utils.getContents)(
57
60
  events,
@@ -73,7 +73,8 @@ const _RequestConfirmationLlmRequestProcessor = class _RequestConfirmationLlmReq
73
73
  }
74
74
  const approvals = collectApprovals(
75
75
  events,
76
- (_a = runConfig == null ? void 0 : runConfig.plainTextToolConfirmation) != null ? _a : false
76
+ (_a = runConfig == null ? void 0 : runConfig.plainTextToolConfirmation) != null ? _a : false,
77
+ agent.name
77
78
  );
78
79
  if (approvals.size === 0) {
79
80
  return;
@@ -134,7 +135,7 @@ function eventsInScope(invocationContext) {
134
135
  );
135
136
  }
136
137
  __name(eventsInScope, "eventsInScope");
137
- function collectApprovals(events, allowPlainText) {
138
+ function collectApprovals(events, allowPlainText, agentName) {
138
139
  const approvals = /* @__PURE__ */ new Map();
139
140
  const latestUserEvent = findLatestUserEvent(events);
140
141
  if (!latestUserEvent) {
@@ -153,7 +154,7 @@ function collectApprovals(events, allowPlainText) {
153
154
  );
154
155
  }
155
156
  if (approvals.size === 0 && allowPlainText) {
156
- return mapPlainTextConfirmation(events);
157
+ return mapPlainTextConfirmation(events, agentName);
157
158
  }
158
159
  return approvals;
159
160
  }
@@ -185,6 +186,9 @@ function collectGateCandidates(events, approvals, agentName) {
185
186
  functionCallId: functionCall.id
186
187
  });
187
188
  }
189
+ import_logger.logger.debug(
190
+ `Skipping tool confirmation from event ${event.id}: authored by ${event.author}, not by ${agentName}.`
191
+ );
188
192
  continue;
189
193
  }
190
194
  const pinned = pinnedCall(functionCall);
@@ -197,7 +201,7 @@ function collectGateCandidates(events, approvals, agentName) {
197
201
  functionCallId: functionCall.id
198
202
  });
199
203
  }
200
- if (hasRespondedAfter(events, pinned.id, index)) {
204
+ if (hasRespondedAfter(events, pinned.id, index, agentName)) {
201
205
  continue;
202
206
  }
203
207
  candidates.push({ pinned, confirmation });
@@ -257,16 +261,16 @@ function agentAuthoredCalls(events, agentName) {
257
261
  }
258
262
  __name(agentAuthoredCalls, "agentAuthoredCalls");
259
263
  function dynamicallyRequestedCallIds(events, agentName) {
264
+ var _a;
260
265
  const requested = /* @__PURE__ */ new Set();
261
266
  for (const event of events) {
262
267
  if (event.author !== agentName) {
263
268
  continue;
264
269
  }
265
- const confirmations = event.actions.requestedToolConfirmations;
266
- for (const functionResponse of (0, import_event.getFunctionResponses)(event)) {
267
- if (functionResponse.id && functionResponse.id in confirmations) {
268
- requested.add(functionResponse.id);
269
- }
270
+ for (const functionCallId of Object.keys(
271
+ (_a = event.actions.requestedToolConfirmations) != null ? _a : {}
272
+ )) {
273
+ requested.add(functionCallId);
270
274
  }
271
275
  }
272
276
  return requested;
@@ -284,9 +288,9 @@ function pinnedCall(functionCall) {
284
288
  return pinned;
285
289
  }
286
290
  __name(pinnedCall, "pinnedCall");
287
- function hasRespondedAfter(events, pinnedCallId, gateIndex) {
291
+ function hasRespondedAfter(events, pinnedCallId, gateIndex, agentName) {
288
292
  return events.slice(gateIndex + 1).some(
289
- (event) => (0, import_event.getFunctionResponses)(event).some(
293
+ (event) => event.author === agentName && (0, import_event.getFunctionResponses)(event).some(
290
294
  (functionResponse) => functionResponse.id === pinnedCallId
291
295
  )
292
296
  );
@@ -323,7 +327,7 @@ const NEGATIVE = /* @__PURE__ */ new Set([
323
327
  "cancel",
324
328
  "cancelled"
325
329
  ]);
326
- function mapPlainTextConfirmation(events) {
330
+ function mapPlainTextConfirmation(events, agentName) {
327
331
  var _a, _b;
328
332
  const none = /* @__PURE__ */ new Map();
329
333
  let turnIndex = -1;
@@ -361,6 +365,9 @@ function mapPlainTextConfirmation(events) {
361
365
  if (event.author === "user") {
362
366
  break;
363
367
  }
368
+ if (event.author !== agentName) {
369
+ continue;
370
+ }
364
371
  for (const fc of (0, import_event.getFunctionCalls)(event)) {
365
372
  if (fc.name === import_functions.REQUEST_CONFIRMATION_FUNCTION_CALL_NAME && fc.id && !answered.has(fc.id)) {
366
373
  pendingId = fc.id;
@@ -30,7 +30,6 @@ __export(request_input_llm_request_processor_exports, {
30
30
  });
31
31
  module.exports = __toCommonJS(request_input_llm_request_processor_exports);
32
32
  var import_event = require("../../events/event.js");
33
- var import_tool_confirmation = require("../../tools/tool_confirmation.js");
34
33
  var import_async_queue = require("../../utils/async_queue.js");
35
34
  var import_node_tool = require("../../workflow/nodes/node_tool.js");
36
35
  var import_hitl_utils = require("../../workflow/utils/hitl_utils.js");
@@ -90,12 +89,9 @@ const _RequestInputLlmRequestProcessor = class _RequestInputLlmRequestProcessor
90
89
  if (Object.keys(pending).length === 0) {
91
90
  return;
92
91
  }
93
- const toolConfirmationDict = {};
92
+ const resumeInputsDict = {};
94
93
  for (const id of Object.keys(pending)) {
95
- toolConfirmationDict[id] = new import_tool_confirmation.ToolConfirmation({
96
- confirmed: true,
97
- payload: resumeInputs
98
- });
94
+ resumeInputsDict[id] = resumeInputs;
99
95
  }
100
96
  const eventQueue = new import_async_queue.AsyncQueue();
101
97
  invocationContext.eventQueue = eventQueue;
@@ -108,7 +104,7 @@ const _RequestInputLlmRequestProcessor = class _RequestInputLlmRequestProcessor
108
104
  beforeToolCallbacks: agent.canonicalBeforeToolCallbacks,
109
105
  afterToolCallbacks: agent.canonicalAfterToolCallbacks,
110
106
  filters: new Set(Object.keys(pending)),
111
- toolConfirmationDict
107
+ resumeInputsDict
112
108
  });
113
109
  } finally {
114
110
  eventQueue.close();
@@ -78,6 +78,12 @@ const _ReadonlyContext = class _ReadonlyContext {
78
78
  {}
79
79
  );
80
80
  }
81
+ /**
82
+ * Request-level metadata passed from an incoming A2A request or caller.
83
+ */
84
+ get a2aMetadata() {
85
+ return this.invocationContext.a2aMetadata;
86
+ }
81
87
  };
82
88
  __name(_ReadonlyContext, "ReadonlyContext");
83
89
  let ReadonlyContext = _ReadonlyContext;
@@ -37,7 +37,7 @@ var import_failover_utils = require("../utils/failover_utils.js");
37
37
  * SPDX-License-Identifier: Apache-2.0
38
38
  */
39
39
  var _a, _b;
40
- const ROUTED_AGENT_SIGNATURE_SYMBOL = Symbol.for("google.adk.routedAgent");
40
+ const ROUTED_AGENT_SIGNATURE_SYMBOL = /* @__PURE__ */ Symbol.for("google.adk.routedAgent");
41
41
  function isRoutedAgent(obj) {
42
42
  return typeof obj === "object" && obj !== null && ROUTED_AGENT_SIGNATURE_SYMBOL in obj && obj[ROUTED_AGENT_SIGNATURE_SYMBOL] === true;
43
43
  }