@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
@@ -7,6 +7,7 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
7
7
  * Copyright 2025 Google LLC
8
8
  * SPDX-License-Identifier: Apache-2.0
9
9
  */
10
+ var _a, _b;
10
11
  import { createUserContent } from "@google/genai";
11
12
  import { isEmpty } from "lodash-es";
12
13
  import {
@@ -15,7 +16,11 @@ import {
15
16
  getFunctionCalls,
16
17
  getFunctionResponses
17
18
  } from "../events/event.js";
18
- import { mergeEventActions } from "../events/event_actions.js";
19
+ import {
20
+ isDefaultEventActions,
21
+ mergeEventActions
22
+ } from "../events/event_actions.js";
23
+ import { BaseTool } from "../tools/base_tool.js";
19
24
  import { logger } from "../utils/logger.js";
20
25
  import { Context } from "./context.js";
21
26
  import {
@@ -28,8 +33,8 @@ import {
28
33
  traceToolCall
29
34
  } from "../telemetry/tracing.js";
30
35
  function toolEventAuthor(invocationContext) {
31
- var _a, _b;
32
- return (_b = (_a = invocationContext.agent) == null ? void 0 : _a.name) != null ? _b : "";
36
+ var _a2, _b2;
37
+ return (_b2 = (_a2 = invocationContext.agent) == null ? void 0 : _a2.name) != null ? _b2 : "";
33
38
  }
34
39
  __name(toolEventAuthor, "toolEventAuthor");
35
40
  import {
@@ -59,8 +64,8 @@ function getLongRunningFunctionCalls(functionCalls, toolsDict) {
59
64
  }
60
65
  __name(getLongRunningFunctionCalls, "getLongRunningFunctionCalls");
61
66
  function generateAuthEvent(invocationContext, functionResponseEvent) {
62
- var _a;
63
- if (!((_a = functionResponseEvent.actions) == null ? void 0 : _a.requestedAuthConfigs) || isEmpty(functionResponseEvent.actions.requestedAuthConfigs)) {
67
+ var _a2, _b2, _c;
68
+ if (!((_a2 = functionResponseEvent.actions) == null ? void 0 : _a2.requestedAuthConfigs) || isEmpty(functionResponseEvent.actions.requestedAuthConfigs)) {
64
69
  return void 0;
65
70
  }
66
71
  const parts = [];
@@ -85,7 +90,7 @@ function generateAuthEvent(invocationContext, functionResponseEvent) {
85
90
  branch: invocationContext.branch,
86
91
  content: {
87
92
  parts,
88
- role: functionResponseEvent.content.role
93
+ role: (_c = (_b2 = functionResponseEvent.content) == null ? void 0 : _b2.role) != null ? _c : "user"
89
94
  },
90
95
  longRunningToolIds: Array.from(longRunningToolIds)
91
96
  });
@@ -96,8 +101,8 @@ function generateRequestConfirmationEvent({
96
101
  functionCallEvent,
97
102
  functionResponseEvent
98
103
  }) {
99
- var _a, _b;
100
- if (!((_a = functionResponseEvent.actions) == null ? void 0 : _a.requestedToolConfirmations) || isEmpty(functionResponseEvent.actions.requestedToolConfirmations)) {
104
+ var _a2, _b2, _c, _d;
105
+ if (!((_a2 = functionResponseEvent.actions) == null ? void 0 : _a2.requestedToolConfirmations) || isEmpty(functionResponseEvent.actions.requestedToolConfirmations)) {
101
106
  return;
102
107
  }
103
108
  const parts = [];
@@ -106,7 +111,7 @@ function generateRequestConfirmationEvent({
106
111
  for (const [functionCallId, toolConfirmation] of Object.entries(
107
112
  functionResponseEvent.actions.requestedToolConfirmations
108
113
  )) {
109
- const originalFunctionCall = (_b = functionCalls.find((call) => call.id === functionCallId)) != null ? _b : void 0;
114
+ const originalFunctionCall = (_b2 = functionCalls.find((call) => call.id === functionCallId)) != null ? _b2 : void 0;
110
115
  if (!originalFunctionCall) {
111
116
  continue;
112
117
  }
@@ -127,7 +132,7 @@ function generateRequestConfirmationEvent({
127
132
  branch: invocationContext.branch,
128
133
  content: {
129
134
  parts,
130
- role: functionResponseEvent.content.role
135
+ role: (_d = (_c = functionResponseEvent.content) == null ? void 0 : _c.role) != null ? _d : "user"
131
136
  },
132
137
  actions: functionResponseEvent.actions,
133
138
  longRunningToolIds: Array.from(longRunningToolIds)
@@ -192,7 +197,8 @@ async function handleFunctionCallsAsync({
192
197
  beforeToolCallbacks,
193
198
  afterToolCallbacks,
194
199
  filters,
195
- toolConfirmationDict
200
+ toolConfirmationDict,
201
+ resumeInputsDict
196
202
  }) {
197
203
  const functionCalls = getFunctionCalls(functionCallEvent);
198
204
  return await handleFunctionCallList({
@@ -202,7 +208,8 @@ async function handleFunctionCallsAsync({
202
208
  beforeToolCallbacks,
203
209
  afterToolCallbacks,
204
210
  filters,
205
- toolConfirmationDict
211
+ toolConfirmationDict,
212
+ resumeInputsDict
206
213
  });
207
214
  }
208
215
  __name(handleFunctionCallsAsync, "handleFunctionCallsAsync");
@@ -219,6 +226,70 @@ function normalizeCallbackResponse(response) {
219
226
  return response;
220
227
  }
221
228
  __name(normalizeCallbackResponse, "normalizeCallbackResponse");
229
+ const RESOLUTION_FAILURE_CAUSES = `Possible causes:
230
+ 1. The model hallucinated the name.
231
+ 2. The tool is not registered on this agent, or a plugin filtered it out of this request.
232
+ 3. The name does not match the registered tool's name exactly.
233
+ 4. The tool is registered but never enters the toolsDict, because its \`_getDeclaration()\` returns undefined (as prompt-injecting tools like \`ExampleTool\` and \`PreloadMemoryTool\` do).`;
234
+ const TOOL_NOT_FOUND_SYMBOL = /* @__PURE__ */ Symbol.for("google.adk.toolNotFound");
235
+ function isToolNotFound(tool) {
236
+ return typeof tool === "object" && tool !== null && tool[TOOL_NOT_FOUND_SYMBOL] === true;
237
+ }
238
+ __name(isToolNotFound, "isToolNotFound");
239
+ const _ToolNotFoundPlaceholder = class _ToolNotFoundPlaceholder extends (_b = BaseTool, _a = TOOL_NOT_FOUND_SYMBOL, _b) {
240
+ constructor(name, resolutionError) {
241
+ super({ name, description: "Tool not found" });
242
+ this.resolutionError = resolutionError;
243
+ this[_a] = true;
244
+ }
245
+ async runAsync() {
246
+ throw this.resolutionError;
247
+ }
248
+ };
249
+ __name(_ToolNotFoundPlaceholder, "ToolNotFoundPlaceholder");
250
+ let ToolNotFoundPlaceholder = _ToolNotFoundPlaceholder;
251
+ async function answerUnresolvableCall({
252
+ invocationContext,
253
+ functionCall,
254
+ toolsDict,
255
+ toolContext
256
+ }) {
257
+ return tracer.startActiveSpan(
258
+ `execute_tool ${functionCall.name || "<unnamed>"}`,
259
+ async (span) => {
260
+ var _a2, _b2;
261
+ try {
262
+ const toolName = functionCall.name || "<unnamed>";
263
+ const error = new Error(
264
+ `Function ${toolName} is not found in the toolsDict.`
265
+ );
266
+ const tool = new ToolNotFoundPlaceholder(toolName, error);
267
+ const onToolErrorResponse = await invocationContext.pluginManager.runOnToolErrorCallback({
268
+ tool,
269
+ toolArgs: (_a2 = functionCall.args) != null ? _a2 : {},
270
+ toolContext,
271
+ error
272
+ });
273
+ if (onToolErrorResponse == null) {
274
+ const callableTools = Object.keys(toolsDict);
275
+ logger.warn(
276
+ `Could not resolve tool '${toolName}' for function call '${(_b2 = functionCall.id) != null ? _b2 : ""}'. Callable tools: ${callableTools.length ? callableTools.join(", ") : "(none)"}.
277
+ ` + RESOLUTION_FAILURE_CAUSES
278
+ );
279
+ }
280
+ return buildResponseEvent(
281
+ tool,
282
+ onToolErrorResponse != null ? onToolErrorResponse : { error: error.message },
283
+ toolContext,
284
+ invocationContext
285
+ );
286
+ } finally {
287
+ span.end();
288
+ }
289
+ }
290
+ );
291
+ }
292
+ __name(answerUnresolvableCall, "answerUnresolvableCall");
222
293
  async function handleFunctionCallList({
223
294
  invocationContext,
224
295
  functionCalls,
@@ -226,9 +297,10 @@ async function handleFunctionCallList({
226
297
  beforeToolCallbacks,
227
298
  afterToolCallbacks,
228
299
  filters,
229
- toolConfirmationDict
300
+ toolConfirmationDict,
301
+ resumeInputsDict
230
302
  }) {
231
- var _a;
303
+ var _a2;
232
304
  const functionResponseEvents = [];
233
305
  const filteredFunctionCalls = functionCalls.filter((functionCall) => {
234
306
  return !filters || functionCall.id && filters.has(functionCall.id);
@@ -238,14 +310,30 @@ async function handleFunctionCallList({
238
310
  if (toolConfirmationDict && functionCall.id) {
239
311
  toolConfirmation = toolConfirmationDict[functionCall.id];
240
312
  }
241
- const { tool, toolContext } = getToolAndContext({
313
+ let resumeInputs = void 0;
314
+ if (resumeInputsDict && functionCall.id) {
315
+ resumeInputs = resumeInputsDict[functionCall.id];
316
+ }
317
+ const toolContext = new Context({
242
318
  invocationContext,
243
- functionCall,
244
- toolsDict,
245
- toolConfirmation
319
+ functionCallId: functionCall.id || void 0,
320
+ toolConfirmation,
321
+ resumeInputs
246
322
  });
323
+ const tool = functionCall.name && Object.hasOwn(toolsDict, functionCall.name) ? toolsDict[functionCall.name] : void 0;
324
+ if (!tool) {
325
+ functionResponseEvents.push(
326
+ await answerUnresolvableCall({
327
+ invocationContext,
328
+ functionCall,
329
+ toolsDict,
330
+ toolContext
331
+ })
332
+ );
333
+ continue;
334
+ }
247
335
  logger.debug(`execute_tool ${tool.name}`);
248
- const functionArgs = (_a = functionCall.args) != null ? _a : {};
336
+ const functionArgs = (_a2 = functionCall.args) != null ? _a2 : {};
249
337
  let functionResponse = null;
250
338
  let functionResponseError;
251
339
  functionResponse = await invocationContext.pluginManager.runBeforeToolCallback({
@@ -310,6 +398,16 @@ async function handleFunctionCallList({
310
398
  functionResponse = normalizeCallbackResponse(alteredFunctionResponse);
311
399
  }
312
400
  if (tool.isLongRunning && functionResponse == null) {
401
+ if (!isDefaultEventActions(toolContext.actions)) {
402
+ functionResponseEvents.push(
403
+ createEvent({
404
+ invocationId: invocationContext.invocationId,
405
+ author: toolEventAuthor(invocationContext),
406
+ actions: toolContext.actions,
407
+ branch: invocationContext.branch
408
+ })
409
+ );
410
+ }
313
411
  continue;
314
412
  }
315
413
  if (functionResponseError) {
@@ -365,26 +463,6 @@ async function handleFunctionCallList({
365
463
  return mergedEvent;
366
464
  }
367
465
  __name(handleFunctionCallList, "handleFunctionCallList");
368
- function getToolAndContext({
369
- invocationContext,
370
- functionCall,
371
- toolsDict,
372
- toolConfirmation
373
- }) {
374
- if (!functionCall.name || !(functionCall.name in toolsDict)) {
375
- throw new Error(
376
- `Function ${functionCall.name} is not found in the toolsDict.`
377
- );
378
- }
379
- const toolContext = new Context({
380
- invocationContext,
381
- functionCallId: functionCall.id || void 0,
382
- toolConfirmation
383
- });
384
- const tool = toolsDict[functionCall.name];
385
- return { tool, toolContext };
386
- }
387
- __name(getToolAndContext, "getToolAndContext");
388
466
  function mergeParallelFunctionResponseEvents(functionResponseEvents) {
389
467
  if (!functionResponseEvents.length) {
390
468
  throw new Error("No function response events provided.");
@@ -426,22 +504,46 @@ function findEventByFunctionCallId(events, functionCallId, endIndex = events.len
426
504
  return void 0;
427
505
  }
428
506
  __name(findEventByFunctionCallId, "findEventByFunctionCallId");
429
- function findMatchingFunctionCall(events) {
507
+ function resolveFunctionResponseMatch(events) {
508
+ var _a2, _b2;
430
509
  if (!events.length) {
431
- return void 0;
510
+ return { resolved: void 0, conflictingAuthors: void 0 };
432
511
  }
433
512
  const lastEvent = events[events.length - 1];
434
513
  const functionResponses = getFunctionResponses(lastEvent);
435
- if (!functionResponses.length || !functionResponses[0].id) {
436
- return void 0;
514
+ if (!functionResponses.length) {
515
+ return { resolved: void 0, conflictingAuthors: void 0 };
437
516
  }
438
- return findEventByFunctionCallId(
439
- events,
440
- functionResponses[0].id,
441
- events.length - 1
442
- );
517
+ let resolved;
518
+ let conflictingAuthors;
519
+ for (const functionResponse of functionResponses) {
520
+ if (!functionResponse.id) {
521
+ continue;
522
+ }
523
+ const match = findEventByFunctionCallId(
524
+ events,
525
+ functionResponse.id,
526
+ events.length - 1
527
+ );
528
+ if (!match) {
529
+ continue;
530
+ }
531
+ if (!conflictingAuthors && resolved && resolved.author !== match.author) {
532
+ conflictingAuthors = [(_a2 = resolved.author) != null ? _a2 : "", (_b2 = match.author) != null ? _b2 : ""];
533
+ }
534
+ resolved = match;
535
+ }
536
+ return { resolved, conflictingAuthors };
537
+ }
538
+ __name(resolveFunctionResponseMatch, "resolveFunctionResponseMatch");
539
+ function findMatchingFunctionCall(events) {
540
+ return resolveFunctionResponseMatch(events).resolved;
443
541
  }
444
542
  __name(findMatchingFunctionCall, "findMatchingFunctionCall");
543
+ function getConflictingFunctionResponseAuthors(events) {
544
+ return resolveFunctionResponseMatch(events).conflictingAuthors;
545
+ }
546
+ __name(getConflictingFunctionResponseAuthors, "getConflictingFunctionResponseAuthors");
445
547
  export {
446
548
  AF_FUNCTION_CALL_ID_PREFIX,
447
549
  REQUEST_CONFIRMATION_FUNCTION_CALL_NAME2 as REQUEST_CONFIRMATION_FUNCTION_CALL_NAME,
@@ -453,9 +555,11 @@ export {
453
555
  generateAuthEvent,
454
556
  generateClientFunctionCallId2 as generateClientFunctionCallId,
455
557
  generateRequestConfirmationEvent,
558
+ getConflictingFunctionResponseAuthors,
456
559
  getLongRunningFunctionCalls,
457
560
  handleFunctionCallList,
458
561
  handleFunctionCallsAsync,
562
+ isToolNotFound,
459
563
  mergeParallelFunctionResponseEvents,
460
564
  populateClientFunctionCallId,
461
565
  reservedFunctionCallName
@@ -52,6 +52,7 @@ const _InvocationContext = class _InvocationContext {
52
52
  this.workflowInstructionScope = params.workflowInstructionScope;
53
53
  this.isolationScope = params.isolationScope;
54
54
  this.nodeToolDepth = (_a = params.nodeToolDepth) != null ? _a : 0;
55
+ this.a2aMetadata = params.a2aMetadata;
55
56
  this.invocationCostManager = (_b = params.invocationCostManager) != null ? _b : new InvocationCostManager();
56
57
  this.liveRequestQueue = params.liveRequestQueue;
57
58
  this.liveSessionResumptionHandle = params.liveSessionResumptionHandle;
@@ -23,6 +23,7 @@ import {
23
23
  isFinalResponse,
24
24
  populateClientFunctionCallId
25
25
  } from "../events/event.js";
26
+ import { isDefaultEventActions } from "../events/event_actions.js";
26
27
  import { isBaseLlm } from "../models/base_llm.js";
27
28
  import { LLMRegistry } from "../models/registry.js";
28
29
  import { isBaseTool } from "../tools/base_tool.js";
@@ -119,7 +120,7 @@ async function convertToolUnionToTools(toolUnion, context2) {
119
120
  return await toolUnion.getTools(context2);
120
121
  }
121
122
  __name(convertToolUnionToTools, "convertToolUnionToTools");
122
- const LLM_AGENT_SIGNATURE_SYMBOL = Symbol.for("google.adk.llmAgent");
123
+ const LLM_AGENT_SIGNATURE_SYMBOL = /* @__PURE__ */ Symbol.for("google.adk.llmAgent");
123
124
  function isLlmAgent(obj) {
124
125
  return typeof obj === "object" && obj !== null && LLM_AGENT_SIGNATURE_SYMBOL in obj && obj[LLM_AGENT_SIGNATURE_SYMBOL] === true;
125
126
  }
@@ -453,7 +454,7 @@ const _LlmAgent = class _LlmAgent extends (_b = BaseAgent, _a = LLM_AGENT_SIGNAT
453
454
  if (!lastEvent) {
454
455
  break;
455
456
  }
456
- const isEmptyMetadataEvent = lastEvent.author === this.name && !lastEvent.partial && (!((_b2 = lastEvent.content) == null ? void 0 : _b2.parts) || lastEvent.content.parts.length === 0);
457
+ const isEmptyMetadataEvent = lastEvent.author === this.name && !lastEvent.partial && (!((_b2 = lastEvent.content) == null ? void 0 : _b2.parts) || lastEvent.content.parts.length === 0) && isDefaultEventActions(lastEvent.actions);
457
458
  if (isFinalResponse(lastEvent) && !(isEmptyMetadataEvent && stepHadToolCalls)) {
458
459
  break;
459
460
  }
@@ -1228,9 +1229,9 @@ const _LlmAgent = class _LlmAgent extends (_b = BaseAgent, _a = LLM_AGENT_SIGNAT
1228
1229
  // --------------------------------------------------------------------------
1229
1230
  // #END LlmFlow Logic
1230
1231
  // --------------------------------------------------------------------------
1231
- // TODO - b/425992518: omitted Py LlmAgent features.
1232
- // - code_executor
1233
- // - configurable agents by yaml config
1232
+ // TODO - b/425992518: LlmAgent features not implemented yet.
1233
+ // - codeExecutor
1234
+ // - configuring agents from a YAML file
1234
1235
  };
1235
1236
  __name(_LlmAgent, "LlmAgent");
1236
1237
  let LlmAgent = _LlmAgent;
@@ -19,7 +19,7 @@ var __decorateClass = (decorators, target, key, kind) => {
19
19
  var _a, _b;
20
20
  import { deprecated } from "../utils/deprecated.js";
21
21
  import { BaseAgent } from "./base_agent.js";
22
- const LOOP_AGENT_SIGNATURE_SYMBOL = Symbol.for("google.adk.loopAgent");
22
+ const LOOP_AGENT_SIGNATURE_SYMBOL = /* @__PURE__ */ Symbol.for("google.adk.loopAgent");
23
23
  function isLoopAgent(obj) {
24
24
  return typeof obj === "object" && obj !== null && LOOP_AGENT_SIGNATURE_SYMBOL in obj && obj[LOOP_AGENT_SIGNATURE_SYMBOL] === true;
25
25
  }
@@ -20,7 +20,7 @@ var _a, _b;
20
20
  import { deprecated } from "../utils/deprecated.js";
21
21
  import { BaseAgent } from "./base_agent.js";
22
22
  import { InvocationContext } from "./invocation_context.js";
23
- const PARALLEL_AGENT_SIGNATURE_SYMBOL = Symbol.for("google.adk.parallelAgent");
23
+ const PARALLEL_AGENT_SIGNATURE_SYMBOL = /* @__PURE__ */ Symbol.for("google.adk.parallelAgent");
24
24
  function isParallelAgent(obj) {
25
25
  return typeof obj === "object" && obj !== null && PARALLEL_AGENT_SIGNATURE_SYMBOL in obj && obj[PARALLEL_AGENT_SIGNATURE_SYMBOL] === true;
26
26
  }
@@ -17,17 +17,34 @@ const _AgentTransferLlmRequestProcessor = class _AgentTransferLlmRequestProcesso
17
17
  constructor() {
18
18
  super(...arguments);
19
19
  this.toolName = "transfer_to_agent";
20
- this.tool = new FunctionTool({
20
+ }
21
+ /**
22
+ * Builds the `transfer_to_agent` tool for one invocation.
23
+ *
24
+ * Built per call rather than shared, because the parameter is an enum of the
25
+ * agents actually reachable from here. That mirrors adk-python's
26
+ * `TransferToAgentTool`, and it stops the model inventing a target: an
27
+ * unknown name now fails argument validation and comes back to the model as
28
+ * a tool error it can retry, instead of silently setting `transferToAgent`
29
+ * to an agent that does not exist.
30
+ *
31
+ * The parameter is `agent_name`, not `agentName`. It is wire format — it
32
+ * appears in the declaration sent to the model and in the events that get
33
+ * persisted — and adk-python spells it `agent_name`, so a transcript
34
+ * produced by one runtime has to be readable by the other.
35
+ */
36
+ buildTool(targetNames) {
37
+ return new FunctionTool({
21
38
  name: this.toolName,
22
39
  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.",
23
40
  parameters: z.object({
24
- agentName: z.string().describe("the agent name to transfer to.")
41
+ agent_name: z.enum(targetNames).describe("the agent name to transfer to.")
25
42
  }),
26
- execute: /* @__PURE__ */ __name(function(args, toolContext) {
43
+ execute: /* @__PURE__ */ __name((args, toolContext) => {
27
44
  if (!toolContext) {
28
45
  throw new Error("toolContext is required.");
29
46
  }
30
- toolContext.actions.transferToAgent = args.agentName;
47
+ toolContext.actions.transferToAgent = args.agent_name;
31
48
  return "Transfer queued";
32
49
  }, "execute")
33
50
  });
@@ -55,7 +72,11 @@ const _AgentTransferLlmRequestProcessor = class _AgentTransferLlmRequestProcesso
55
72
  )
56
73
  ]);
57
74
  const toolContext = new Context({ invocationContext });
58
- await this.tool.processLlmRequest({ toolContext, llmRequest });
75
+ const targetNames = transferTargets.map((t) => t.name);
76
+ await this.buildTool(targetNames).processLlmRequest({
77
+ toolContext,
78
+ llmRequest
79
+ });
59
80
  }
60
81
  buildTargetAgentsInfo(targetAgent) {
61
82
  return `
@@ -42,10 +42,10 @@ const _CodeExecutionRequestProcessor = class _CodeExecutionRequestProcessor exte
42
42
  return;
43
43
  }
44
44
  for (const content of llmRequest.contents) {
45
- const delimeters = invocationContext.agent.codeExecutor.codeBlockDelimiters.length ? invocationContext.agent.codeExecutor.codeBlockDelimiters[0] : ["", ""];
45
+ const delimiters = invocationContext.agent.codeExecutor.codeBlockDelimiters.length ? invocationContext.agent.codeExecutor.codeBlockDelimiters[0] : ["", ""];
46
46
  convertCodeExecutionParts(
47
47
  content,
48
- delimeters,
48
+ delimiters,
49
49
  invocationContext.agent.codeExecutor.executionResultDelimiters
50
50
  );
51
51
  }
@@ -18,6 +18,7 @@ import {
18
18
  getFunctionResponses
19
19
  } from "../../events/event.js";
20
20
  import { isSegmentPrefix } from "../../utils/branch_trie.js";
21
+ import { isEventVisibleInIsolationScope } from "../../context/compaction_utils.js";
21
22
  import {
22
23
  AF_FUNCTION_CALL_ID_PREFIX,
23
24
  REQUEST_CONFIRMATION_FUNCTION_CALL_NAME,
@@ -39,6 +40,9 @@ __name(removeClientFunctionCallId, "removeClientFunctionCallId");
39
40
  function getContents(events, agentName, currentBranch, currentIsolationScope) {
40
41
  const filteredEvents = [];
41
42
  for (const event of events) {
43
+ if (!isEventVisibleInIsolationScope(event, currentIsolationScope)) {
44
+ continue;
45
+ }
42
46
  if (isCompactedEvent(event)) {
43
47
  filteredEvents.push(convertCompactedEvent(event));
44
48
  continue;
@@ -69,7 +73,7 @@ function shouldIncludeEventInContext(event, currentBranch, currentIsolationScope
69
73
  if (currentBranch && event.branch && !isSegmentPrefix(currentBranch, event.branch)) {
70
74
  return false;
71
75
  }
72
- if (isOutsideIsolationScope(event, currentIsolationScope)) {
76
+ if (!isEventVisibleInIsolationScope(event, currentIsolationScope)) {
73
77
  return false;
74
78
  }
75
79
  return !isAuthEvent(event) && !isToolConfirmationEvent(event) && !isRequestInputEvent(event);
@@ -134,10 +138,6 @@ function turnStart(events, anchor) {
134
138
  return start;
135
139
  }
136
140
  __name(turnStart, "turnStart");
137
- function isOutsideIsolationScope(event, currentIsolationScope) {
138
- return event.isolationScope !== void 0 && event.isolationScope !== currentIsolationScope;
139
- }
140
- __name(isOutsideIsolationScope, "isOutsideIsolationScope");
141
141
  function isAuthEvent(event) {
142
142
  var _a, _b, _c;
143
143
  if (!((_a = event.content) == null ? void 0 : _a.parts)) {
@@ -27,7 +27,10 @@ const _ContentRequestProcessor = class _ContentRequestProcessor {
27
27
  if (!agent || !isLlmAgent(agent)) {
28
28
  return;
29
29
  }
30
- const events = getActiveEvents(invocationContext.session.events);
30
+ const events = getActiveEvents(
31
+ invocationContext.session.events,
32
+ invocationContext.isolationScope
33
+ );
31
34
  if (agent.includeContents === "default") {
32
35
  llmRequest.contents = getContents(
33
36
  events,
@@ -55,7 +55,8 @@ const _RequestConfirmationLlmRequestProcessor = class _RequestConfirmationLlmReq
55
55
  }
56
56
  const approvals = collectApprovals(
57
57
  events,
58
- (_a = runConfig == null ? void 0 : runConfig.plainTextToolConfirmation) != null ? _a : false
58
+ (_a = runConfig == null ? void 0 : runConfig.plainTextToolConfirmation) != null ? _a : false,
59
+ agent.name
59
60
  );
60
61
  if (approvals.size === 0) {
61
62
  return;
@@ -116,7 +117,7 @@ function eventsInScope(invocationContext) {
116
117
  );
117
118
  }
118
119
  __name(eventsInScope, "eventsInScope");
119
- function collectApprovals(events, allowPlainText) {
120
+ function collectApprovals(events, allowPlainText, agentName) {
120
121
  const approvals = /* @__PURE__ */ new Map();
121
122
  const latestUserEvent = findLatestUserEvent(events);
122
123
  if (!latestUserEvent) {
@@ -135,7 +136,7 @@ function collectApprovals(events, allowPlainText) {
135
136
  );
136
137
  }
137
138
  if (approvals.size === 0 && allowPlainText) {
138
- return mapPlainTextConfirmation(events);
139
+ return mapPlainTextConfirmation(events, agentName);
139
140
  }
140
141
  return approvals;
141
142
  }
@@ -167,6 +168,9 @@ function collectGateCandidates(events, approvals, agentName) {
167
168
  functionCallId: functionCall.id
168
169
  });
169
170
  }
171
+ logger.debug(
172
+ `Skipping tool confirmation from event ${event.id}: authored by ${event.author}, not by ${agentName}.`
173
+ );
170
174
  continue;
171
175
  }
172
176
  const pinned = pinnedCall(functionCall);
@@ -179,7 +183,7 @@ function collectGateCandidates(events, approvals, agentName) {
179
183
  functionCallId: functionCall.id
180
184
  });
181
185
  }
182
- if (hasRespondedAfter(events, pinned.id, index)) {
186
+ if (hasRespondedAfter(events, pinned.id, index, agentName)) {
183
187
  continue;
184
188
  }
185
189
  candidates.push({ pinned, confirmation });
@@ -239,16 +243,16 @@ function agentAuthoredCalls(events, agentName) {
239
243
  }
240
244
  __name(agentAuthoredCalls, "agentAuthoredCalls");
241
245
  function dynamicallyRequestedCallIds(events, agentName) {
246
+ var _a;
242
247
  const requested = /* @__PURE__ */ new Set();
243
248
  for (const event of events) {
244
249
  if (event.author !== agentName) {
245
250
  continue;
246
251
  }
247
- const confirmations = event.actions.requestedToolConfirmations;
248
- for (const functionResponse of getFunctionResponses(event)) {
249
- if (functionResponse.id && functionResponse.id in confirmations) {
250
- requested.add(functionResponse.id);
251
- }
252
+ for (const functionCallId of Object.keys(
253
+ (_a = event.actions.requestedToolConfirmations) != null ? _a : {}
254
+ )) {
255
+ requested.add(functionCallId);
252
256
  }
253
257
  }
254
258
  return requested;
@@ -266,9 +270,9 @@ function pinnedCall(functionCall) {
266
270
  return pinned;
267
271
  }
268
272
  __name(pinnedCall, "pinnedCall");
269
- function hasRespondedAfter(events, pinnedCallId, gateIndex) {
273
+ function hasRespondedAfter(events, pinnedCallId, gateIndex, agentName) {
270
274
  return events.slice(gateIndex + 1).some(
271
- (event) => getFunctionResponses(event).some(
275
+ (event) => event.author === agentName && getFunctionResponses(event).some(
272
276
  (functionResponse) => functionResponse.id === pinnedCallId
273
277
  )
274
278
  );
@@ -305,7 +309,7 @@ const NEGATIVE = /* @__PURE__ */ new Set([
305
309
  "cancel",
306
310
  "cancelled"
307
311
  ]);
308
- function mapPlainTextConfirmation(events) {
312
+ function mapPlainTextConfirmation(events, agentName) {
309
313
  var _a, _b;
310
314
  const none = /* @__PURE__ */ new Map();
311
315
  let turnIndex = -1;
@@ -343,6 +347,9 @@ function mapPlainTextConfirmation(events) {
343
347
  if (event.author === "user") {
344
348
  break;
345
349
  }
350
+ if (event.author !== agentName) {
351
+ continue;
352
+ }
346
353
  for (const fc of getFunctionCalls(event)) {
347
354
  if (fc.name === REQUEST_CONFIRMATION_FUNCTION_CALL_NAME && fc.id && !answered.has(fc.id)) {
348
355
  pendingId = fc.id;
@@ -11,7 +11,6 @@ import {
11
11
  getFunctionCalls,
12
12
  getFunctionResponses
13
13
  } from "../../events/event.js";
14
- import { ToolConfirmation } from "../../tools/tool_confirmation.js";
15
14
  import { AsyncQueue } from "../../utils/async_queue.js";
16
15
  import { isNodeTool } from "../../workflow/nodes/node_tool.js";
17
16
  import {
@@ -70,12 +69,9 @@ const _RequestInputLlmRequestProcessor = class _RequestInputLlmRequestProcessor
70
69
  if (Object.keys(pending).length === 0) {
71
70
  return;
72
71
  }
73
- const toolConfirmationDict = {};
72
+ const resumeInputsDict = {};
74
73
  for (const id of Object.keys(pending)) {
75
- toolConfirmationDict[id] = new ToolConfirmation({
76
- confirmed: true,
77
- payload: resumeInputs
78
- });
74
+ resumeInputsDict[id] = resumeInputs;
79
75
  }
80
76
  const eventQueue = new AsyncQueue();
81
77
  invocationContext.eventQueue = eventQueue;
@@ -88,7 +84,7 @@ const _RequestInputLlmRequestProcessor = class _RequestInputLlmRequestProcessor
88
84
  beforeToolCallbacks: agent.canonicalBeforeToolCallbacks,
89
85
  afterToolCallbacks: agent.canonicalAfterToolCallbacks,
90
86
  filters: new Set(Object.keys(pending)),
91
- toolConfirmationDict
87
+ resumeInputsDict
92
88
  });
93
89
  } finally {
94
90
  eventQueue.close();
@@ -52,6 +52,12 @@ const _ReadonlyContext = class _ReadonlyContext {
52
52
  {}
53
53
  );
54
54
  }
55
+ /**
56
+ * Request-level metadata passed from an incoming A2A request or caller.
57
+ */
58
+ get a2aMetadata() {
59
+ return this.invocationContext.a2aMetadata;
60
+ }
55
61
  };
56
62
  __name(_ReadonlyContext, "ReadonlyContext");
57
63
  let ReadonlyContext = _ReadonlyContext;
@@ -10,7 +10,7 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
10
10
  var _a, _b;
11
11
  import { BaseAgent } from "./base_agent.js";
12
12
  import { runWithRouting } from "../utils/failover_utils.js";
13
- const ROUTED_AGENT_SIGNATURE_SYMBOL = Symbol.for("google.adk.routedAgent");
13
+ const ROUTED_AGENT_SIGNATURE_SYMBOL = /* @__PURE__ */ Symbol.for("google.adk.routedAgent");
14
14
  function isRoutedAgent(obj) {
15
15
  return typeof obj === "object" && obj !== null && ROUTED_AGENT_SIGNATURE_SYMBOL in obj && obj[ROUTED_AGENT_SIGNATURE_SYMBOL] === true;
16
16
  }