@google/adk 2.0.0 → 2.2.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 (658) 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 +66 -6
  5. package/dist/cjs/a2a/agent_executor.js +18 -6
  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 +21 -6
  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 +15 -7
  21. package/dist/cjs/agents/processors/content_request_processor.js +4 -1
  22. package/dist/cjs/agents/processors/nl_planning_processor.js +114 -0
  23. package/dist/cjs/agents/processors/request_confirmation_llm_request_processor.js +19 -12
  24. package/dist/cjs/agents/processors/request_input_llm_request_processor.js +3 -7
  25. package/dist/cjs/agents/readonly_context.js +6 -0
  26. package/dist/cjs/agents/routed_agent.js +1 -1
  27. package/dist/cjs/agents/sequential_agent.js +1 -1
  28. package/dist/cjs/apps/app.js +1 -1
  29. package/dist/cjs/artifacts/file_artifact_service.js +1 -2
  30. package/dist/cjs/artifacts/gcs_artifact_service.js +13 -7
  31. package/dist/cjs/artifacts/scoped_artifact_service.js +9 -0
  32. package/dist/cjs/artifacts/session_artifact_service.js +19 -0
  33. package/dist/cjs/auth/auth_credential.js +12 -2
  34. package/dist/cjs/auth/auth_handler.js +44 -8
  35. package/dist/cjs/auth/oauth2/oauth2_credential_refresher.js +1 -1
  36. package/dist/cjs/auth/oauth2/oauth2_utils.js +17 -2
  37. package/dist/cjs/code_executors/base_code_executor.js +1 -1
  38. package/dist/cjs/code_executors/built_in_code_executor.js +1 -1
  39. package/dist/cjs/code_executors/code_execution_utils.js +5 -5
  40. package/dist/cjs/code_executors/container_code_executor.js +186 -0
  41. package/dist/cjs/code_executors/docker_container.js +282 -0
  42. package/dist/cjs/code_executors/unsafe_local_code_executor.js +11 -6
  43. package/dist/cjs/common.js +119 -45
  44. package/dist/cjs/context/agent_controlled_context_compactor.js +10 -5
  45. package/dist/cjs/context/anchored_context_compactor.js +41 -18
  46. package/dist/cjs/context/compaction_utils.js +15 -6
  47. package/dist/cjs/context/token_based_context_compactor.js +10 -2
  48. package/dist/cjs/context/trajectory_thought_pruning_compactor.js +17 -10
  49. package/dist/cjs/context/truncating_context_compactor.js +17 -5
  50. package/dist/cjs/errors/already_exists_error.js +50 -0
  51. package/dist/cjs/errors/input_validation_error.js +50 -0
  52. package/dist/cjs/errors/not_found_error.js +50 -0
  53. package/dist/cjs/errors/session_not_found_error.js +50 -0
  54. package/dist/cjs/errors/tool_execution_error.js +68 -0
  55. package/dist/cjs/events/event.js +1 -1
  56. package/dist/cjs/events/event_actions.js +7 -0
  57. package/dist/cjs/examples/base_example_provider.js +1 -1
  58. package/dist/cjs/examples/example.js +92 -0
  59. package/dist/cjs/examples/example_util.js +28 -4
  60. package/dist/cjs/examples/index.js +39 -0
  61. package/dist/cjs/examples/vertex_ai_example_store.js +39 -0
  62. package/dist/cjs/index.js +93 -0
  63. package/dist/cjs/index_web.js +2 -0
  64. package/dist/cjs/integrations/agent_registry/agent_registry.js +3 -2
  65. package/dist/cjs/memory/rag_memory_transcript.js +136 -0
  66. package/dist/cjs/memory/vertex_ai_memory_bank_service.js +19 -7
  67. package/dist/cjs/memory/vertex_ai_rag_api.js +120 -0
  68. package/dist/cjs/memory/vertex_ai_rag_memory_service.js +228 -0
  69. package/dist/cjs/models/apigee_llm.js +1 -1
  70. package/dist/cjs/models/base_llm.js +2 -7
  71. package/dist/cjs/models/chrome_prompt_llm.js +318 -0
  72. package/dist/cjs/models/chrome_prompt_utils.js +281 -0
  73. package/dist/cjs/models/gemini_llm_connection.js +5 -4
  74. package/dist/cjs/models/google_llm.js +9 -4
  75. package/dist/cjs/models/interactions_utils.js +2 -3
  76. package/dist/cjs/models/registry.js +2 -0
  77. package/dist/cjs/planners/base_planner.js +56 -0
  78. package/dist/cjs/planners/built_in_planner.js +85 -0
  79. package/dist/cjs/planners/plan_re_act_planner.js +172 -0
  80. package/dist/cjs/plugins/_reflect_retry_utils.js +142 -0
  81. package/dist/cjs/plugins/base_plugin.js +46 -61
  82. package/dist/cjs/plugins/reflect_retry_model_plugin.js +274 -0
  83. package/dist/cjs/plugins/reflect_retry_tool_plugin.js +276 -0
  84. package/dist/cjs/runner/runner.js +29 -26
  85. package/dist/cjs/sessions/database_session_service.js +78 -43
  86. package/dist/cjs/sessions/db/operations.js +229 -22
  87. package/dist/cjs/sessions/db/schema.js +113 -159
  88. package/dist/cjs/sessions/registry.js +5 -1
  89. package/dist/cjs/sessions/vertex_ai_session_service.js +2 -2
  90. package/dist/cjs/telemetry/setup.js +1 -1
  91. package/dist/cjs/telemetry/tracing.js +11 -1
  92. package/dist/cjs/tools/agent_tool.js +4 -5
  93. package/dist/cjs/tools/base_tool.js +14 -4
  94. package/dist/cjs/tools/base_toolset.js +4 -4
  95. package/dist/cjs/tools/built_in_tool.js +75 -0
  96. package/dist/cjs/tools/enterprise_web_search_tool.js +3 -6
  97. package/dist/cjs/tools/example_tool.js +1 -1
  98. package/dist/cjs/tools/forwarding_artifact_service.js +18 -13
  99. package/dist/cjs/tools/function_tool.js +6 -3
  100. package/dist/cjs/tools/google_maps_grounding_tool.js +3 -6
  101. package/dist/cjs/tools/google_search_tool.js +3 -6
  102. package/dist/cjs/tools/load_artifacts_tool.js +47 -23
  103. package/dist/cjs/tools/load_web_page.js +6 -172
  104. package/dist/cjs/tools/mcp/load_mcp_resource_tool.js +34 -5
  105. package/dist/cjs/tools/mcp/mcp_session_manager.js +14 -8
  106. package/dist/cjs/tools/openapi_tool/auth/auth_helpers.js +292 -4
  107. package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +15 -1
  108. package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/base_auth_credential_exchanger.js +70 -0
  109. package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/oauth2_exchanger.js +120 -0
  110. package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +10 -10
  111. package/dist/cjs/tools/openapi_tool/common/common.js +139 -0
  112. package/dist/cjs/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +11 -6
  113. package/dist/cjs/tools/openapi_tool/openapi_spec_parser/operation_parser.js +74 -14
  114. package/dist/cjs/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +146 -34
  115. package/dist/cjs/tools/openapi_tool/openapi_toolset.js +14 -2
  116. package/dist/cjs/tools/openapi_tool/rest_api_tool.js +106 -46
  117. package/dist/cjs/tools/preload_memory_tool.js +1 -1
  118. package/dist/cjs/tools/resume_inputs.js +27 -0
  119. package/dist/cjs/tools/retrieval/base_retrieval_tool.js +60 -0
  120. package/dist/cjs/tools/retrieval/files_retrieval.js +95 -0
  121. package/dist/cjs/tools/retrieval/llama_index_retrieval.js +57 -0
  122. package/dist/cjs/tools/skill/skill_toolset.js +2 -0
  123. package/dist/cjs/tools/tool_context.js +41 -0
  124. package/dist/cjs/tools/url_context_tool.js +3 -6
  125. package/dist/cjs/tools/vertex_ai_search_tool.js +4 -8
  126. package/dist/cjs/tools/vertex_rag_retrieval_tool.js +3 -10
  127. package/dist/cjs/tools/webmcp/index.js +37 -0
  128. package/dist/cjs/tools/webmcp/webmcp_tool.js +156 -0
  129. package/dist/cjs/tools/webmcp/webmcp_toolset.js +116 -0
  130. package/dist/cjs/tools/webmcp/webmcp_types.js +50 -0
  131. package/dist/cjs/utils/case_utils.js +52 -2
  132. package/dist/cjs/utils/client_labels.js +67 -0
  133. package/dist/cjs/utils/crypto_shim.js +16 -0
  134. package/dist/cjs/utils/gemini_schema_util.js +103 -9
  135. package/dist/cjs/utils/hash_utils.js +73 -0
  136. package/dist/cjs/utils/live_connection_utils.js +10 -9
  137. package/dist/cjs/utils/logger.js +15 -50
  138. package/dist/cjs/utils/logger_browser.js +86 -0
  139. package/dist/cjs/utils/logger_node.js +119 -0
  140. package/dist/cjs/utils/model_name.js +17 -2
  141. package/dist/cjs/utils/redact_inline_data.js +46 -0
  142. package/dist/cjs/utils/redact_uri.js +15 -1
  143. package/dist/cjs/utils/schema.js +1 -1
  144. package/dist/cjs/utils/simple_zod_to_json.js +5 -0
  145. package/dist/cjs/utils/ssrf_guard.js +262 -0
  146. package/dist/cjs/version.js +1 -1
  147. package/dist/cjs/workflow/base_node.js +1 -1
  148. package/dist/cjs/workflow/graph.js +1 -1
  149. package/dist/cjs/workflow/nodes/node_tool.js +2 -11
  150. package/dist/cjs/workflow/request_input.js +1 -1
  151. package/dist/cjs/workflow/run_llm_agent_as_node.js +1 -1
  152. package/dist/cjs/workflow/workflow.js +1 -1
  153. package/dist/esm/a2a/a2a_event.js +0 -28
  154. package/dist/esm/a2a/a2a_remote_agent.js +10 -5
  155. package/dist/esm/a2a/a2a_remote_agent_utils.js +102 -2
  156. package/dist/esm/a2a/agent_card.js +71 -6
  157. package/dist/esm/a2a/agent_executor.js +18 -6
  158. package/dist/esm/a2a/agent_to_a2a.js +8 -2
  159. package/dist/esm/a2a/event_processor_utils.js +1 -2
  160. package/dist/esm/a2a/executor_context.js +4 -2
  161. package/dist/esm/a2a/index.js +7 -1
  162. package/dist/esm/a2a/request_metadata.js +68 -0
  163. package/dist/esm/agents/base_agent.js +9 -8
  164. package/dist/esm/agents/context.js +7 -0
  165. package/dist/esm/agents/functions.js +152 -48
  166. package/dist/esm/agents/invocation_context.js +1 -0
  167. package/dist/esm/agents/llm_agent.js +24 -6
  168. package/dist/esm/agents/loop_agent.js +1 -1
  169. package/dist/esm/agents/parallel_agent.js +1 -1
  170. package/dist/esm/agents/processors/agent_transfer_llm_request_processor.js +26 -5
  171. package/dist/esm/agents/processors/code_execution_request_processor.js +2 -2
  172. package/dist/esm/agents/processors/content_processor_utils.js +15 -7
  173. package/dist/esm/agents/processors/content_request_processor.js +4 -1
  174. package/dist/esm/agents/processors/nl_planning_processor.js +87 -0
  175. package/dist/esm/agents/processors/request_confirmation_llm_request_processor.js +19 -12
  176. package/dist/esm/agents/processors/request_input_llm_request_processor.js +3 -7
  177. package/dist/esm/agents/readonly_context.js +6 -0
  178. package/dist/esm/agents/routed_agent.js +1 -1
  179. package/dist/esm/agents/sequential_agent.js +1 -1
  180. package/dist/esm/apps/app.js +1 -1
  181. package/dist/esm/artifacts/file_artifact_service.js +1 -2
  182. package/dist/esm/artifacts/gcs_artifact_service.js +13 -7
  183. package/dist/esm/artifacts/scoped_artifact_service.js +9 -0
  184. package/dist/esm/artifacts/session_artifact_service.js +12 -0
  185. package/dist/esm/auth/auth_credential.js +11 -1
  186. package/dist/esm/auth/auth_handler.js +47 -8
  187. package/dist/esm/auth/oauth2/oauth2_credential_refresher.js +1 -1
  188. package/dist/esm/auth/oauth2/oauth2_utils.js +15 -2
  189. package/dist/esm/code_executors/base_code_executor.js +1 -1
  190. package/dist/esm/code_executors/built_in_code_executor.js +1 -1
  191. package/dist/esm/code_executors/code_execution_utils.js +5 -5
  192. package/dist/esm/code_executors/container_code_executor.js +155 -0
  193. package/dist/esm/code_executors/docker_container.js +265 -0
  194. package/dist/esm/code_executors/unsafe_local_code_executor.js +11 -6
  195. package/dist/esm/common.js +111 -40
  196. package/dist/esm/context/agent_controlled_context_compactor.js +10 -5
  197. package/dist/esm/context/anchored_context_compactor.js +45 -19
  198. package/dist/esm/context/compaction_utils.js +13 -5
  199. package/dist/esm/context/token_based_context_compactor.js +10 -2
  200. package/dist/esm/context/trajectory_thought_pruning_compactor.js +17 -10
  201. package/dist/esm/context/truncating_context_compactor.js +17 -5
  202. package/dist/esm/errors/already_exists_error.js +23 -0
  203. package/dist/esm/errors/input_validation_error.js +23 -0
  204. package/dist/{web/auth/refresher/base_credential_refresher.js → esm/errors/not_found_error.js} +9 -6
  205. package/dist/esm/errors/session_not_found_error.js +23 -0
  206. package/dist/esm/errors/tool_execution_error.js +40 -0
  207. package/dist/esm/events/event.js +1 -1
  208. package/dist/esm/events/event_actions.js +6 -0
  209. package/dist/esm/examples/base_example_provider.js +1 -1
  210. package/dist/esm/examples/example.js +85 -0
  211. package/dist/esm/examples/example_util.js +25 -3
  212. package/dist/{web/auth/credential_service/base_credential_service.js → esm/examples/index.js} +4 -0
  213. package/dist/{web/version.js → esm/examples/vertex_ai_example_store.js} +2 -2
  214. package/dist/esm/index.js +87 -0
  215. package/dist/esm/index_web.js +2 -0
  216. package/dist/esm/integrations/agent_registry/agent_registry.js +3 -2
  217. package/dist/esm/memory/rag_memory_transcript.js +106 -0
  218. package/dist/esm/memory/vertex_ai_memory_bank_service.js +19 -7
  219. package/dist/esm/memory/vertex_ai_rag_api.js +93 -0
  220. package/dist/esm/memory/vertex_ai_rag_memory_service.js +208 -0
  221. package/dist/esm/models/apigee_llm.js +1 -1
  222. package/dist/esm/models/base_llm.js +3 -8
  223. package/dist/esm/models/chrome_prompt_llm.js +302 -0
  224. package/dist/esm/models/chrome_prompt_utils.js +241 -0
  225. package/dist/esm/models/gemini_llm_connection.js +6 -5
  226. package/dist/esm/models/google_llm.js +9 -4
  227. package/dist/esm/models/interactions_utils.js +2 -3
  228. package/dist/esm/models/registry.js +2 -0
  229. package/dist/esm/planners/base_planner.js +28 -0
  230. package/dist/esm/planners/built_in_planner.js +57 -0
  231. package/dist/esm/planners/plan_re_act_planner.js +145 -0
  232. package/dist/esm/plugins/_reflect_retry_utils.js +111 -0
  233. package/dist/esm/plugins/base_plugin.js +46 -61
  234. package/dist/esm/plugins/reflect_retry_model_plugin.js +250 -0
  235. package/dist/esm/plugins/reflect_retry_tool_plugin.js +254 -0
  236. package/dist/esm/runner/runner.js +35 -27
  237. package/dist/esm/sessions/database_session_service.js +58 -25
  238. package/dist/esm/sessions/db/operations.js +229 -22
  239. package/dist/esm/sessions/db/schema.js +111 -160
  240. package/dist/esm/sessions/registry.js +5 -1
  241. package/dist/esm/sessions/vertex_ai_session_service.js +1 -1
  242. package/dist/esm/telemetry/setup.js +1 -1
  243. package/dist/esm/telemetry/tracing.js +11 -1
  244. package/dist/esm/tools/agent_tool.js +4 -5
  245. package/dist/esm/tools/base_tool.js +11 -3
  246. package/dist/esm/tools/base_toolset.js +4 -4
  247. package/dist/esm/tools/built_in_tool.js +51 -0
  248. package/dist/esm/tools/enterprise_web_search_tool.js +3 -6
  249. package/dist/esm/tools/example_tool.js +1 -1
  250. package/dist/esm/tools/forwarding_artifact_service.js +18 -13
  251. package/dist/esm/tools/function_tool.js +6 -3
  252. package/dist/esm/tools/google_maps_grounding_tool.js +3 -6
  253. package/dist/esm/tools/google_search_tool.js +3 -6
  254. package/dist/esm/tools/load_artifacts_tool.js +48 -24
  255. package/dist/esm/tools/load_web_page.js +10 -170
  256. package/dist/esm/tools/mcp/load_mcp_resource_tool.js +34 -5
  257. package/dist/esm/tools/mcp/mcp_session_manager.js +14 -8
  258. package/dist/esm/tools/openapi_tool/auth/auth_helpers.js +285 -3
  259. package/dist/esm/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +15 -1
  260. package/dist/esm/tools/openapi_tool/auth/credential_exchangers/base_auth_credential_exchanger.js +43 -0
  261. package/dist/esm/tools/openapi_tool/auth/credential_exchangers/oauth2_exchanger.js +93 -0
  262. package/dist/esm/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +10 -12
  263. package/dist/esm/tools/openapi_tool/common/common.js +112 -0
  264. package/dist/esm/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +11 -6
  265. package/dist/esm/tools/openapi_tool/openapi_spec_parser/operation_parser.js +81 -14
  266. package/dist/esm/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +146 -33
  267. package/dist/esm/tools/openapi_tool/openapi_toolset.js +14 -2
  268. package/dist/esm/tools/openapi_tool/rest_api_tool.js +105 -46
  269. package/dist/esm/tools/preload_memory_tool.js +1 -1
  270. package/dist/esm/tools/retrieval/base_retrieval_tool.js +33 -0
  271. package/dist/esm/tools/retrieval/files_retrieval.js +81 -0
  272. package/dist/esm/tools/retrieval/llama_index_retrieval.js +30 -0
  273. package/dist/esm/tools/skill/skill_toolset.js +2 -0
  274. package/dist/{web/context/base_context_compactor.js → esm/tools/tool_context.js} +8 -0
  275. package/dist/esm/tools/url_context_tool.js +3 -6
  276. package/dist/esm/tools/vertex_ai_search_tool.js +4 -8
  277. package/dist/esm/tools/vertex_rag_retrieval_tool.js +3 -10
  278. package/dist/{web/auth/base_auth_provider.js → esm/tools/webmcp/index.js} +3 -0
  279. package/dist/esm/tools/webmcp/webmcp_tool.js +131 -0
  280. package/dist/esm/tools/webmcp/webmcp_toolset.js +89 -0
  281. package/dist/{web/utils/crypto_shim.js → esm/tools/webmcp/webmcp_types.js} +10 -6
  282. package/dist/esm/utils/case_utils.js +49 -1
  283. package/dist/esm/utils/client_labels.js +65 -0
  284. package/dist/esm/utils/crypto_shim.js +14 -0
  285. package/dist/esm/utils/gemini_schema_util.js +102 -9
  286. package/dist/esm/utils/hash_utils.js +45 -0
  287. package/dist/esm/utils/live_connection_utils.js +11 -10
  288. package/dist/esm/utils/logger.js +14 -40
  289. package/dist/esm/utils/logger_browser.js +58 -0
  290. package/dist/esm/utils/logger_node.js +81 -0
  291. package/dist/esm/utils/model_name.js +15 -2
  292. package/dist/esm/utils/redact_inline_data.js +19 -0
  293. package/dist/esm/utils/redact_uri.js +15 -1
  294. package/dist/esm/utils/schema.js +1 -1
  295. package/dist/esm/utils/simple_zod_to_json.js +5 -0
  296. package/dist/{web/tools/load_web_page.js → esm/utils/ssrf_guard.js} +95 -107
  297. package/dist/esm/version.js +1 -1
  298. package/dist/esm/workflow/base_node.js +1 -1
  299. package/dist/esm/workflow/graph.js +1 -1
  300. package/dist/esm/workflow/nodes/node_tool.js +2 -11
  301. package/dist/esm/workflow/request_input.js +1 -1
  302. package/dist/esm/workflow/run_llm_agent_as_node.js +1 -1
  303. package/dist/esm/workflow/workflow.js +1 -1
  304. package/dist/types/a2a/a2a_event.d.ts +7 -10
  305. package/dist/types/a2a/a2a_remote_agent.d.ts +5 -0
  306. package/dist/types/a2a/a2a_remote_agent_utils.d.ts +25 -0
  307. package/dist/types/a2a/agent_card.d.ts +9 -0
  308. package/dist/types/a2a/agent_executor.d.ts +1 -1
  309. package/dist/types/a2a/agent_to_a2a.d.ts +2 -0
  310. package/dist/types/a2a/auth.d.ts +5 -1
  311. package/dist/types/a2a/executor_context.d.ts +7 -1
  312. package/dist/types/a2a/index.d.ts +1 -1
  313. package/dist/types/a2a/request_metadata.d.ts +22 -0
  314. package/dist/types/agents/base_agent.d.ts +19 -16
  315. package/dist/types/agents/context.d.ts +8 -0
  316. package/dist/types/agents/functions.d.ts +72 -6
  317. package/dist/types/agents/invocation_context.d.ts +11 -3
  318. package/dist/types/agents/llm_agent.d.ts +20 -7
  319. package/dist/types/agents/processors/agent_transfer_llm_request_processor.d.ts +16 -1
  320. package/dist/types/agents/processors/nl_planning_processor.d.ts +30 -0
  321. package/dist/types/agents/readonly_context.d.ts +4 -0
  322. package/dist/types/agents/run_config.d.ts +21 -8
  323. package/dist/types/artifacts/scoped_artifact_service.d.ts +13 -0
  324. package/dist/types/artifacts/session_artifact_service.d.ts +8 -1
  325. package/dist/types/auth/auth_credential.d.ts +22 -8
  326. package/dist/types/auth/auth_handler.d.ts +12 -1
  327. package/dist/types/auth/oauth2/oauth2_credential_refresher.d.ts +1 -1
  328. package/dist/types/auth/oauth2/oauth2_utils.d.ts +9 -0
  329. package/dist/types/auth/refresher/base_credential_refresher.d.ts +1 -1
  330. package/dist/types/code_executors/code_execution_utils.d.ts +1 -1
  331. package/dist/types/code_executors/container_code_executor.d.ts +89 -0
  332. package/dist/types/code_executors/docker_container.d.ts +79 -0
  333. package/dist/types/common.d.ts +37 -23
  334. package/dist/types/context/compaction_utils.d.ts +9 -1
  335. package/dist/types/errors/already_exists_error.d.ts +14 -0
  336. package/dist/types/errors/input_validation_error.d.ts +14 -0
  337. package/dist/types/errors/not_found_error.d.ts +14 -0
  338. package/dist/types/errors/session_not_found_error.d.ts +14 -0
  339. package/dist/types/errors/tool_execution_error.d.ts +36 -0
  340. package/dist/types/events/event_actions.d.ts +13 -0
  341. package/dist/types/examples/base_example_provider.d.ts +2 -2
  342. package/dist/types/examples/example.d.ts +75 -0
  343. package/dist/types/examples/example_util.d.ts +13 -2
  344. package/dist/types/examples/index.d.ts +18 -0
  345. package/dist/types/examples/vertex_ai_example_store.d.ts +7 -0
  346. package/dist/types/index.d.ts +31 -1
  347. package/dist/types/memory/memory_entry.d.ts +15 -0
  348. package/dist/types/memory/rag_memory_transcript.d.ts +55 -0
  349. package/dist/types/memory/vertex_ai_memory_bank_service.d.ts +9 -0
  350. package/dist/types/memory/vertex_ai_rag_api.d.ts +89 -0
  351. package/dist/types/memory/vertex_ai_rag_memory_service.d.ts +68 -0
  352. package/dist/types/models/chrome_prompt_llm.d.ts +210 -0
  353. package/dist/types/models/chrome_prompt_utils.d.ts +97 -0
  354. package/dist/types/models/google_llm.d.ts +8 -3
  355. package/dist/types/models/registry.d.ts +3 -2
  356. package/dist/types/planners/base_planner.d.ts +50 -0
  357. package/dist/types/planners/built_in_planner.d.ts +53 -0
  358. package/dist/types/planners/plan_re_act_planner.d.ts +21 -0
  359. package/dist/types/plugins/_reflect_retry_utils.d.ts +72 -0
  360. package/dist/types/plugins/base_plugin.d.ts +64 -62
  361. package/dist/types/plugins/logging_plugin.d.ts +3 -2
  362. package/dist/types/plugins/reflect_retry_model_plugin.d.ts +132 -0
  363. package/dist/types/plugins/reflect_retry_tool_plugin.d.ts +187 -0
  364. package/dist/types/runner/runner.d.ts +7 -8
  365. package/dist/types/sessions/database_session_service.d.ts +1 -1
  366. package/dist/types/sessions/db/operations.d.ts +13 -1
  367. package/dist/types/sessions/db/schema.d.ts +23 -9
  368. package/dist/types/skills/skill_registry.d.ts +8 -0
  369. package/dist/types/tools/base_tool.d.ts +11 -0
  370. package/dist/types/tools/base_toolset.d.ts +3 -4
  371. package/dist/types/tools/built_in_tool.d.ts +41 -0
  372. package/dist/types/tools/enterprise_web_search_tool.d.ts +4 -4
  373. package/dist/types/tools/forwarding_artifact_service.d.ts +23 -10
  374. package/dist/types/tools/function_tool.d.ts +42 -9
  375. package/dist/types/tools/google_maps_grounding_tool.d.ts +4 -4
  376. package/dist/types/tools/google_search_tool.d.ts +4 -4
  377. package/dist/types/tools/long_running_tool.d.ts +1 -1
  378. package/dist/types/tools/mcp/mcp_toolset.d.ts +11 -10
  379. package/dist/types/tools/openapi_tool/auth/auth_helpers.d.ts +115 -1
  380. package/dist/types/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.d.ts +31 -2
  381. package/dist/types/tools/openapi_tool/auth/credential_exchangers/base_auth_credential_exchanger.d.ts +35 -0
  382. package/dist/types/tools/openapi_tool/auth/credential_exchangers/oauth2_exchanger.d.ts +54 -0
  383. package/dist/types/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.d.ts +0 -1
  384. package/dist/types/tools/openapi_tool/common/common.d.ts +60 -0
  385. package/dist/types/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.d.ts +7 -0
  386. package/dist/types/tools/openapi_tool/openapi_spec_parser/operation_parser.d.ts +56 -2
  387. package/dist/types/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.d.ts +73 -5
  388. package/dist/types/tools/openapi_tool/openapi_toolset.d.ts +11 -0
  389. package/dist/types/tools/openapi_tool/rest_api_tool.d.ts +42 -8
  390. package/dist/types/tools/preload_memory_tool.d.ts +1 -1
  391. package/dist/types/tools/resume_inputs.d.ts +25 -0
  392. package/dist/types/tools/retrieval/base_retrieval_tool.d.ts +21 -0
  393. package/dist/types/tools/retrieval/files_retrieval.d.ts +50 -0
  394. package/dist/types/tools/retrieval/llama_index_retrieval.d.ts +62 -0
  395. package/dist/types/tools/tool_context.d.ts +19 -0
  396. package/dist/types/tools/url_context_tool.d.ts +4 -4
  397. package/dist/types/tools/vertex_ai_search_tool.d.ts +4 -4
  398. package/dist/types/tools/vertex_rag_retrieval_tool.d.ts +13 -12
  399. package/dist/types/tools/webmcp/index.d.ts +12 -0
  400. package/dist/types/tools/webmcp/webmcp_tool.d.ts +47 -0
  401. package/dist/types/tools/webmcp/webmcp_toolset.d.ts +67 -0
  402. package/dist/types/tools/webmcp/webmcp_types.d.ts +69 -0
  403. package/dist/types/utils/case_utils.d.ts +36 -0
  404. package/dist/types/utils/client_labels.d.ts +33 -0
  405. package/dist/types/utils/crypto_shim.d.ts +16 -0
  406. package/dist/types/utils/gemini_schema_util.d.ts +18 -7
  407. package/dist/types/utils/hash_utils.d.ts +25 -0
  408. package/dist/types/utils/logger.d.ts +33 -3
  409. package/dist/types/utils/logger_browser.d.ts +28 -0
  410. package/dist/types/utils/logger_node.d.ts +20 -0
  411. package/dist/types/utils/model_name.d.ts +30 -2
  412. package/dist/types/utils/output_schema_utils.d.ts +3 -3
  413. package/dist/types/utils/redact_inline_data.d.ts +16 -0
  414. package/dist/types/utils/redact_uri.d.ts +12 -8
  415. package/dist/types/utils/ssrf_guard.d.ts +32 -0
  416. package/dist/types/version.d.ts +1 -1
  417. package/dist/web/index_web.js +337 -3
  418. package/dist/web/index_web.js.map +7 -0
  419. package/package.json +24 -15
  420. package/dist/web/a2a/a2a_event.js +0 -290
  421. package/dist/web/a2a/a2a_remote_agent.js +0 -200
  422. package/dist/web/a2a/a2a_remote_agent_run_processor.js +0 -189
  423. package/dist/web/a2a/a2a_remote_agent_utils.js +0 -141
  424. package/dist/web/a2a/agent_card.js +0 -373
  425. package/dist/web/a2a/agent_executor.js +0 -246
  426. package/dist/web/a2a/agent_to_a2a.js +0 -126
  427. package/dist/web/a2a/auth.js +0 -41
  428. package/dist/web/a2a/event_converter_utils.js +0 -242
  429. package/dist/web/a2a/event_processor_utils.js +0 -209
  430. package/dist/web/a2a/executor_context.js +0 -28
  431. package/dist/web/a2a/index.js +0 -20
  432. package/dist/web/a2a/metadata_converter_utils.js +0 -115
  433. package/dist/web/a2a/part_converter_utils.js +0 -201
  434. package/dist/web/agents/active_streaming_tool.js +0 -25
  435. package/dist/web/agents/base_agent.js +0 -462
  436. package/dist/web/agents/context.js +0 -146
  437. package/dist/web/agents/framework_function_calls.js +0 -34
  438. package/dist/web/agents/functions.js +0 -462
  439. package/dist/web/agents/instructions.js +0 -188
  440. package/dist/web/agents/invocation_context.js +0 -126
  441. package/dist/web/agents/live_request_queue.js +0 -151
  442. package/dist/web/agents/llm_agent.js +0 -1514
  443. package/dist/web/agents/loop_agent.js +0 -131
  444. package/dist/web/agents/parallel_agent.js +0 -122
  445. package/dist/web/agents/processors/agent_transfer_llm_request_processor.js +0 -113
  446. package/dist/web/agents/processors/base_llm_processor.js +0 -21
  447. package/dist/web/agents/processors/basic_llm_request_processor.js +0 -84
  448. package/dist/web/agents/processors/code_execution_request_processor.js +0 -381
  449. package/dist/web/agents/processors/content_processor_utils.js +0 -432
  450. package/dist/web/agents/processors/content_request_processor.js +0 -73
  451. package/dist/web/agents/processors/context_compactor_request_processor.js +0 -78
  452. package/dist/web/agents/processors/identity_llm_request_processor.js +0 -59
  453. package/dist/web/agents/processors/instructions_llm_request_processor.js +0 -85
  454. package/dist/web/agents/processors/interactions_request_processor.js +0 -56
  455. package/dist/web/agents/processors/request_confirmation_llm_request_processor.js +0 -393
  456. package/dist/web/agents/processors/request_input_llm_request_processor.js +0 -228
  457. package/dist/web/agents/processors/tool_filter_request_processor.js +0 -72
  458. package/dist/web/agents/readonly_context.js +0 -60
  459. package/dist/web/agents/routed_agent.js +0 -161
  460. package/dist/web/agents/run_config.js +0 -74
  461. package/dist/web/agents/sequential_agent.js +0 -141
  462. package/dist/web/agents/transcription_entry.js +0 -7
  463. package/dist/web/agents/user_input_request.js +0 -135
  464. package/dist/web/apps/app.js +0 -52
  465. package/dist/web/apps/resumability_config.js +0 -33
  466. package/dist/web/artifacts/base_artifact_service.js +0 -7
  467. package/dist/web/artifacts/file_artifact_service.js +0 -568
  468. package/dist/web/artifacts/gcs_artifact_service.js +0 -298
  469. package/dist/web/artifacts/in_memory_artifact_service.js +0 -172
  470. package/dist/web/artifacts/registry.js +0 -36
  471. package/dist/web/artifacts/scoped_artifact_service.js +0 -89
  472. package/dist/web/auth/auth_credential.js +0 -18
  473. package/dist/web/auth/auth_handler.js +0 -151
  474. package/dist/web/auth/auth_preprocessor.js +0 -184
  475. package/dist/web/auth/auth_provider_registry.js +0 -37
  476. package/dist/web/auth/auth_schemes.js +0 -36
  477. package/dist/web/auth/auth_tool.js +0 -7
  478. package/dist/web/auth/credential_response_binding.js +0 -91
  479. package/dist/web/auth/credential_service/in_memory_credential_service.js +0 -50
  480. package/dist/web/auth/credential_service/session_state_credential_service.js +0 -27
  481. package/dist/web/auth/exchanger/base_credential_exchanger.js +0 -16
  482. package/dist/web/auth/exchanger/credential_exchanger_registry.js +0 -35
  483. package/dist/web/auth/oauth2/oauth2_credential_exchanger.js +0 -194
  484. package/dist/web/auth/oauth2/oauth2_credential_refresher.js +0 -105
  485. package/dist/web/auth/oauth2/oauth2_discovery.js +0 -196
  486. package/dist/web/auth/oauth2/oauth2_utils.js +0 -105
  487. package/dist/web/auth/refresher/credential_refresher_registry.js +0 -44
  488. package/dist/web/code_executors/agent_engine_sandbox_code_executor.js +0 -284
  489. package/dist/web/code_executors/base_code_executor.js +0 -68
  490. package/dist/web/code_executors/built_in_code_executor.js +0 -50
  491. package/dist/web/code_executors/code_execution_utils.js +0 -131
  492. package/dist/web/code_executors/code_executor_context.js +0 -174
  493. package/dist/web/code_executors/unsafe_local_code_executor.js +0 -221
  494. package/dist/web/common.js +0 -452
  495. package/dist/web/context/agent_controlled_context_compactor.js +0 -76
  496. package/dist/web/context/anchored_context_compactor.js +0 -120
  497. package/dist/web/context/compaction_utils.js +0 -42
  498. package/dist/web/context/summarizers/base_summarizer.js +0 -7
  499. package/dist/web/context/summarizers/llm_summarizer.js +0 -91
  500. package/dist/web/context/token_based_context_compactor.js +0 -118
  501. package/dist/web/context/trajectory_thought_pruning_compactor.js +0 -47
  502. package/dist/web/context/truncating_context_compactor.js +0 -34
  503. package/dist/web/environment/base_environment.js +0 -71
  504. package/dist/web/environment/local_environment.js +0 -165
  505. package/dist/web/events/compacted_event.js +0 -51
  506. package/dist/web/events/event.js +0 -208
  507. package/dist/web/events/event_actions.js +0 -74
  508. package/dist/web/events/structured_events.js +0 -79
  509. package/dist/web/examples/base_example_provider.js +0 -32
  510. package/dist/web/examples/example.js +0 -7
  511. package/dist/web/examples/example_util.js +0 -83
  512. package/dist/web/features/feature_registry.js +0 -115
  513. package/dist/web/index.js +0 -57
  514. package/dist/web/integrations/agent_registry/agent_registry.js +0 -337
  515. package/dist/web/integrations/agent_registry/agent_registry_mcp_toolset.js +0 -120
  516. package/dist/web/integrations/agent_registry/helpers.js +0 -32
  517. package/dist/web/integrations/agent_registry/types.js +0 -20
  518. package/dist/web/memory/base_memory_service.js +0 -7
  519. package/dist/web/memory/in_memory_memory_service.js +0 -89
  520. package/dist/web/memory/memory_entry.js +0 -7
  521. package/dist/web/memory/vertex_ai_memory_bank_service.js +0 -496
  522. package/dist/web/models/apigee_llm.js +0 -227
  523. package/dist/web/models/base_llm.js +0 -78
  524. package/dist/web/models/base_llm_connection.js +0 -7
  525. package/dist/web/models/gemini_llm_connection.js +0 -183
  526. package/dist/web/models/google_llm.js +0 -396
  527. package/dist/web/models/interactions_utils.js +0 -745
  528. package/dist/web/models/llm_request.js +0 -57
  529. package/dist/web/models/llm_response.js +0 -48
  530. package/dist/web/models/registry.js +0 -100
  531. package/dist/web/models/routed_llm.js +0 -112
  532. package/dist/web/plugins/base_plugin.js +0 -305
  533. package/dist/web/plugins/global_instruction_plugin.js +0 -71
  534. package/dist/web/plugins/logging_plugin.js +0 -241
  535. package/dist/web/plugins/plugin_manager.js +0 -318
  536. package/dist/web/plugins/security_plugin.js +0 -148
  537. package/dist/web/runner/in_memory_runner.js +0 -50
  538. package/dist/web/runner/runner.js +0 -747
  539. package/dist/web/sessions/base_session_service.js +0 -123
  540. package/dist/web/sessions/database_session_service.js +0 -440
  541. package/dist/web/sessions/db/operations.js +0 -124
  542. package/dist/web/sessions/db/schema.js +0 -216
  543. package/dist/web/sessions/in_memory_session_service.js +0 -251
  544. package/dist/web/sessions/registry.js +0 -38
  545. package/dist/web/sessions/session.js +0 -23
  546. package/dist/web/sessions/state.js +0 -159
  547. package/dist/web/sessions/state_write_order.js +0 -74
  548. package/dist/web/sessions/vertex_ai_session_service.js +0 -546
  549. package/dist/web/skills/gcp_skill_registry.js +0 -80
  550. package/dist/web/skills/loader.js +0 -372
  551. package/dist/web/skills/prompt.js +0 -34
  552. package/dist/web/skills/skill.js +0 -67
  553. package/dist/web/skills/skill_registry.js +0 -7
  554. package/dist/web/telemetry/google_cloud.js +0 -99
  555. package/dist/web/telemetry/setup.js +0 -89
  556. package/dist/web/telemetry/tracing.js +0 -304
  557. package/dist/web/tools/agent_tool.js +0 -150
  558. package/dist/web/tools/base_tool.js +0 -116
  559. package/dist/web/tools/base_toolset.js +0 -62
  560. package/dist/web/tools/consolidate_context_tool.js +0 -55
  561. package/dist/web/tools/enterprise_web_search_tool.js +0 -60
  562. package/dist/web/tools/example_tool.js +0 -46
  563. package/dist/web/tools/exit_loop_tool.js +0 -47
  564. package/dist/web/tools/finish_task_tool.js +0 -92
  565. package/dist/web/tools/forwarding_artifact_service.js +0 -51
  566. package/dist/web/tools/function_tool.js +0 -151
  567. package/dist/web/tools/get_user_choice_tool.js +0 -27
  568. package/dist/web/tools/google_maps_grounding_tool.js +0 -59
  569. package/dist/web/tools/google_search_tool.js +0 -55
  570. package/dist/web/tools/load_artifacts_tool.js +0 -159
  571. package/dist/web/tools/load_memory_tool.js +0 -83
  572. package/dist/web/tools/long_running_tool.js +0 -58
  573. package/dist/web/tools/mcp/index.js +0 -11
  574. package/dist/web/tools/mcp/load_mcp_resource_tool.js +0 -111
  575. package/dist/web/tools/mcp/mcp_session_manager.js +0 -114
  576. package/dist/web/tools/mcp/mcp_tool.js +0 -47
  577. package/dist/web/tools/mcp/mcp_toolset.js +0 -144
  578. package/dist/web/tools/openapi_tool/auth/auth_helpers.js +0 -53
  579. package/dist/web/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +0 -62
  580. package/dist/web/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +0 -113
  581. package/dist/web/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +0 -242
  582. package/dist/web/tools/openapi_tool/openapi_spec_parser/operation_parser.js +0 -200
  583. package/dist/web/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +0 -98
  584. package/dist/web/tools/openapi_tool/openapi_toolset.js +0 -99
  585. package/dist/web/tools/openapi_tool/rest_api_tool.js +0 -247
  586. package/dist/web/tools/preload_memory_tool.js +0 -81
  587. package/dist/web/tools/request_input_tool.js +0 -29
  588. package/dist/web/tools/skill/list_skills_tool.js +0 -52
  589. package/dist/web/tools/skill/load_skill_resource_tool.js +0 -192
  590. package/dist/web/tools/skill/load_skill_tool.js +0 -96
  591. package/dist/web/tools/skill/run_skill_inline_script_tool.js +0 -191
  592. package/dist/web/tools/skill/run_skill_script_tool.js +0 -227
  593. package/dist/web/tools/skill/search_skills_tool.js +0 -84
  594. package/dist/web/tools/skill/skill_toolset.js +0 -185
  595. package/dist/web/tools/tool_confirmation.js +0 -43
  596. package/dist/web/tools/url_context_tool.js +0 -48
  597. package/dist/web/tools/vertex_ai_search_tool.js +0 -107
  598. package/dist/web/tools/vertex_rag_retrieval_tool.js +0 -40
  599. package/dist/web/utils/async_hooks_shim.js +0 -28
  600. package/dist/web/utils/async_queue.js +0 -88
  601. package/dist/web/utils/branch_trie.js +0 -16
  602. package/dist/web/utils/case_utils.js +0 -28
  603. package/dist/web/utils/client_labels.js +0 -70
  604. package/dist/web/utils/deprecated.js +0 -40
  605. package/dist/web/utils/env_aware_utils.js +0 -115
  606. package/dist/web/utils/error_utils.js +0 -101
  607. package/dist/web/utils/experimental.js +0 -54
  608. package/dist/web/utils/failover_utils.js +0 -100
  609. package/dist/web/utils/file_extension_utils.js +0 -55
  610. package/dist/web/utils/file_utils.js +0 -108
  611. package/dist/web/utils/gemini_schema_util.js +0 -177
  612. package/dist/web/utils/genai_schema_to_json.js +0 -80
  613. package/dist/web/utils/live_connection_utils.js +0 -257
  614. package/dist/web/utils/logger.js +0 -140
  615. package/dist/web/utils/model_name.js +0 -75
  616. package/dist/web/utils/object_notation_utils.js +0 -54
  617. package/dist/web/utils/optional_peer.js +0 -38
  618. package/dist/web/utils/output_schema_utils.js +0 -18
  619. package/dist/web/utils/partial_copy.js +0 -26
  620. package/dist/web/utils/redact_uri.js +0 -39
  621. package/dist/web/utils/schema.js +0 -167
  622. package/dist/web/utils/simple_zod_to_json.js +0 -134
  623. package/dist/web/utils/streaming_utils.js +0 -438
  624. package/dist/web/utils/task.js +0 -38
  625. package/dist/web/utils/variant_utils.js +0 -23
  626. package/dist/web/utils/vertex_ai_utils.js +0 -27
  627. package/dist/web/workflow/base_node.js +0 -215
  628. package/dist/web/workflow/branch_path.js +0 -77
  629. package/dist/web/workflow/dynamic_node_scheduler.js +0 -202
  630. package/dist/web/workflow/errors.js +0 -140
  631. package/dist/web/workflow/graph.js +0 -127
  632. package/dist/web/workflow/index.js +0 -80
  633. package/dist/web/workflow/node.js +0 -87
  634. package/dist/web/workflow/node_builders.js +0 -40
  635. package/dist/web/workflow/node_context.js +0 -236
  636. package/dist/web/workflow/node_error_event.js +0 -86
  637. package/dist/web/workflow/node_runner.js +0 -481
  638. package/dist/web/workflow/node_state.js +0 -43
  639. package/dist/web/workflow/node_status.js +0 -20
  640. package/dist/web/workflow/nodes/function_node.js +0 -221
  641. package/dist/web/workflow/nodes/join_node.js +0 -47
  642. package/dist/web/workflow/nodes/node_tool.js +0 -131
  643. package/dist/web/workflow/nodes/parallel_worker.js +0 -120
  644. package/dist/web/workflow/nodes/tool_node.js +0 -126
  645. package/dist/web/workflow/request_input.js +0 -36
  646. package/dist/web/workflow/retry_config.js +0 -43
  647. package/dist/web/workflow/run_llm_agent_as_node.js +0 -266
  648. package/dist/web/workflow/run_node_as_invocation.js +0 -170
  649. package/dist/web/workflow/schedule_dynamic_node.js +0 -26
  650. package/dist/web/workflow/trigger.js +0 -7
  651. package/dist/web/workflow/utils/graph_parser.js +0 -188
  652. package/dist/web/workflow/utils/graph_validation.js +0 -189
  653. package/dist/web/workflow/utils/hitl_utils.js +0 -239
  654. package/dist/web/workflow/utils/rehydration_utils.js +0 -342
  655. package/dist/web/workflow/utils/retry_utils.js +0 -82
  656. package/dist/web/workflow/utils/workflow_graph_utils.js +0 -115
  657. package/dist/web/workflow/workflow.js +0 -529
  658. /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,8 +37,10 @@ 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");
43
+ var import_built_in_planner = require("../planners/built_in_planner.js");
42
44
  var import_base_tool = require("../tools/base_tool.js");
43
45
  var import_logger = require("../utils/logger.js");
44
46
  var import_output_schema_utils = require("../utils/output_schema_utils.js");
@@ -58,6 +60,7 @@ var import_context_compactor_request_processor = require("./processors/context_c
58
60
  var import_identity_llm_request_processor = require("./processors/identity_llm_request_processor.js");
59
61
  var import_instructions_llm_request_processor = require("./processors/instructions_llm_request_processor.js");
60
62
  var import_interactions_request_processor = require("./processors/interactions_request_processor.js");
63
+ var import_nl_planning_processor = require("./processors/nl_planning_processor.js");
61
64
  var import_request_confirmation_llm_request_processor = require("./processors/request_confirmation_llm_request_processor.js");
62
65
  var import_request_input_llm_request_processor = require("./processors/request_input_llm_request_processor.js");
63
66
  var import_tool_filter_request_processor = require("./processors/tool_filter_request_processor.js");
@@ -130,7 +133,7 @@ async function convertToolUnionToTools(toolUnion, context2) {
130
133
  return await toolUnion.getTools(context2);
131
134
  }
132
135
  __name(convertToolUnionToTools, "convertToolUnionToTools");
133
- const LLM_AGENT_SIGNATURE_SYMBOL = Symbol.for("google.adk.llmAgent");
136
+ const LLM_AGENT_SIGNATURE_SYMBOL = /* @__PURE__ */ Symbol.for("google.adk.llmAgent");
134
137
  function isLlmAgent(obj) {
135
138
  return typeof obj === "object" && obj !== null && LLM_AGENT_SIGNATURE_SYMBOL in obj && obj[LLM_AGENT_SIGNATURE_SYMBOL] === true;
136
139
  }
@@ -165,6 +168,7 @@ const _LlmAgent = class _LlmAgent extends (_b = import_base_agent.BaseAgent, _a
165
168
  this.beforeToolCallback = config.beforeToolCallback;
166
169
  this.afterToolCallback = config.afterToolCallback;
167
170
  this.codeExecutor = config.codeExecutor;
171
+ this.planner = config.planner;
168
172
  this.requestProcessors = (_i = config.requestProcessors) != null ? _i : [
169
173
  import_basic_llm_request_processor.BASIC_LLM_REQUEST_PROCESSOR,
170
174
  import_auth_preprocessor.AUTH_PREPROCESSOR,
@@ -173,6 +177,10 @@ const _LlmAgent = class _LlmAgent extends (_b = import_base_agent.BaseAgent, _a
173
177
  import_request_confirmation_llm_request_processor.REQUEST_CONFIRMATION_LLM_REQUEST_PROCESSOR,
174
178
  import_request_input_llm_request_processor.REQUEST_INPUT_LLM_REQUEST_PROCESSOR,
175
179
  import_content_request_processor.CONTENT_REQUEST_PROCESSOR,
180
+ // Planning clears the thought flags that the planning response
181
+ // processor sets, so it must run after the contents are built and
182
+ // before code execution rewrites them.
183
+ import_nl_planning_processor.NL_PLANNING_REQUEST_PROCESSOR,
176
184
  import_interactions_request_processor.INTERACTIONS_REQUEST_PROCESSOR,
177
185
  import_code_execution_request_processor.CODE_EXECUTION_REQUEST_PROCESSOR,
178
186
  import_tool_filter_request_processor.TOOL_FILTER_REQUEST_PROCESSOR
@@ -193,7 +201,9 @@ const _LlmAgent = class _LlmAgent extends (_b = import_base_agent.BaseAgent, _a
193
201
  );
194
202
  }
195
203
  }
196
- this.responseProcessors = (_j = config.responseProcessors) != null ? _j : [];
204
+ this.responseProcessors = (_j = config.responseProcessors) != null ? _j : [
205
+ import_nl_planning_processor.NL_PLANNING_RESPONSE_PROCESSOR
206
+ ];
197
207
  const agentTransferDisabled = this.disallowTransferToParent && this.disallowTransferToPeers && !((_k = this.subAgents) == null ? void 0 : _k.length);
198
208
  if (!agentTransferDisabled) {
199
209
  this.requestProcessors.push(import_agent_transfer_llm_request_processor.AGENT_TRANSFER_LLM_REQUEST_PROCESSOR);
@@ -212,6 +222,11 @@ const _LlmAgent = class _LlmAgent extends (_b = import_base_agent.BaseAgent, _a
212
222
  "Response schema must be set via LlmAgent.output_schema."
213
223
  );
214
224
  }
225
+ if (config.generateContentConfig.thinkingConfig && (0, import_built_in_planner.isBuiltInPlanner)(this.planner) && this.planner.thinkingConfig) {
226
+ import_logger.logger.warn(
227
+ `Agent ${this.name}: both generateContentConfig.thinkingConfig and planner.thinkingConfig are set. The planner's thinkingConfig takes precedence.`
228
+ );
229
+ }
215
230
  } else {
216
231
  this.generateContentConfig = {};
217
232
  }
@@ -464,7 +479,7 @@ const _LlmAgent = class _LlmAgent extends (_b = import_base_agent.BaseAgent, _a
464
479
  if (!lastEvent) {
465
480
  break;
466
481
  }
467
- const isEmptyMetadataEvent = lastEvent.author === this.name && !lastEvent.partial && (!((_b2 = lastEvent.content) == null ? void 0 : _b2.parts) || lastEvent.content.parts.length === 0);
482
+ 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
483
  if ((0, import_event.isFinalResponse)(lastEvent) && !(isEmptyMetadataEvent && stepHadToolCalls)) {
469
484
  break;
470
485
  }
@@ -1239,9 +1254,9 @@ const _LlmAgent = class _LlmAgent extends (_b = import_base_agent.BaseAgent, _a
1239
1254
  // --------------------------------------------------------------------------
1240
1255
  // #END LlmFlow Logic
1241
1256
  // --------------------------------------------------------------------------
1242
- // TODO - b/425992518: omitted Py LlmAgent features.
1243
- // - code_executor
1244
- // - configurable agents by yaml config
1257
+ // TODO - b/425992518: LlmAgent features not implemented yet.
1258
+ // - codeExecutor
1259
+ // - configuring agents from a YAML file
1245
1260
  };
1246
1261
  __name(_LlmAgent, "LlmAgent");
1247
1262
  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,12 +36,14 @@ 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
42
43
  * Copyright 2025 Google LLC
43
44
  * SPDX-License-Identifier: Apache-2.0
44
45
  */
46
+ const UNSTRINGIFIABLE_VALUE = "<unstringifiable value>";
45
47
  function removeClientFunctionCallId(content) {
46
48
  var _a, _b, _c, _d, _e;
47
49
  for (const part of (_a = content == null ? void 0 : content.parts) != null ? _a : []) {
@@ -57,6 +59,9 @@ __name(removeClientFunctionCallId, "removeClientFunctionCallId");
57
59
  function getContents(events, agentName, currentBranch, currentIsolationScope) {
58
60
  const filteredEvents = [];
59
61
  for (const event of events) {
62
+ if (!(0, import_compaction_utils.isEventVisibleInIsolationScope)(event, currentIsolationScope)) {
63
+ continue;
64
+ }
60
65
  if ((0, import_compacted_event.isCompactedEvent)(event)) {
61
66
  filteredEvents.push(convertCompactedEvent(event));
62
67
  continue;
@@ -87,7 +92,7 @@ function shouldIncludeEventInContext(event, currentBranch, currentIsolationScope
87
92
  if (currentBranch && event.branch && !(0, import_branch_trie.isSegmentPrefix)(currentBranch, event.branch)) {
88
93
  return false;
89
94
  }
90
- if (isOutsideIsolationScope(event, currentIsolationScope)) {
95
+ if (!(0, import_compaction_utils.isEventVisibleInIsolationScope)(event, currentIsolationScope)) {
91
96
  return false;
92
97
  }
93
98
  return !isAuthEvent(event) && !isToolConfirmationEvent(event) && !isRequestInputEvent(event);
@@ -152,10 +157,6 @@ function turnStart(events, anchor) {
152
157
  return start;
153
158
  }
154
159
  __name(turnStart, "turnStart");
155
- function isOutsideIsolationScope(event, currentIsolationScope) {
156
- return event.isolationScope !== void 0 && event.isolationScope !== currentIsolationScope;
157
- }
158
- __name(isOutsideIsolationScope, "isOutsideIsolationScope");
159
160
  function isAuthEvent(event) {
160
161
  var _a, _b, _c;
161
162
  if (!((_a = event.content) == null ? void 0 : _a.parts)) {
@@ -406,9 +407,16 @@ function safeStringify(obj) {
406
407
  return obj;
407
408
  }
408
409
  try {
409
- return JSON.stringify(obj);
410
- } catch (_e) {
410
+ const json = JSON.stringify(obj);
411
+ if (typeof json === "string") {
412
+ return json;
413
+ }
414
+ } catch {
415
+ }
416
+ try {
411
417
  return String(obj);
418
+ } catch {
419
+ return UNSTRINGIFIABLE_VALUE;
412
420
  }
413
421
  }
414
422
  __name(safeStringify, "safeStringify");
@@ -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,