@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
@@ -37,7 +37,21 @@ const SECRET_QUERY_PARAMS = /* @__PURE__ */ new Set([
37
37
  "password",
38
38
  "passwd",
39
39
  "pwd",
40
- "sslpassword"
40
+ "sslpassword",
41
+ // OAuth2 callback/authorization-response URIs carry their own secrets as
42
+ // query parameters rather than in userinfo: an authorization `code` is a
43
+ // single-use, bearer-equivalent credential, and a token response echoed
44
+ // back via URI can carry `access_token`/`id_token`/`refresh_token`.
45
+ // Only the query string is scanned: in the implicit and hybrid flows those
46
+ // token parameters arrive in the fragment, which is left untouched.
47
+ // `client_secret` is not meant to travel in a URL at all, but is included
48
+ // here in case a misconfigured flow puts it there anyway.
49
+ "code",
50
+ "access_token",
51
+ "id_token",
52
+ "refresh_token",
53
+ "client_secret",
54
+ "code_verifier"
41
55
  ]);
42
56
  function redactUriPassword(uri) {
43
57
  try {
@@ -114,7 +114,7 @@ function objectSchemaFields(schema) {
114
114
  return fields != null ? fields : void 0;
115
115
  }
116
116
  __name(objectSchemaFields, "objectSchemaFields");
117
- const UNRESOLVABLE_REF = Symbol("unresolvable-ref");
117
+ const UNRESOLVABLE_REF = /* @__PURE__ */ Symbol("unresolvable-ref");
118
118
  function compileField(fieldSchema, document) {
119
119
  try {
120
120
  return compileJsonSchema(inlineRefs(fieldSchema, document));
@@ -114,6 +114,11 @@ function zodObjectToSchema(schema) {
114
114
  if (isZodV3Schema(schema)) {
115
115
  return (0, import_zod_to_json_schema.zodToJsonSchema)(schema, {
116
116
  target: "openApi3",
117
+ // The genai `Schema` type has no `$ref`, so a pointer back at an earlier
118
+ // occurrence of a reused sub-schema reaches the model as an untyped
119
+ // parameter. Inline every occurrence instead. A cycle has no finite
120
+ // inlining and degrades to an unconstrained schema.
121
+ $refStrategy: "none",
117
122
  emailStrategy: "format:email",
118
123
  postProcess: /* @__PURE__ */ __name((jsonSchema) => {
119
124
  var _a, _b, _c, _d, _e, _f, _g;
@@ -0,0 +1,262 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ "use strict";
8
+ var __defProp = Object.defineProperty;
9
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
10
+ var __getOwnPropNames = Object.getOwnPropertyNames;
11
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
12
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
13
+ var __export = (target, all) => {
14
+ for (var name in all)
15
+ __defProp(target, name, { get: all[name], enumerable: true });
16
+ };
17
+ var __copyProps = (to, from, except, desc) => {
18
+ if (from && typeof from === "object" || typeof from === "function") {
19
+ for (let key of __getOwnPropNames(from))
20
+ if (!__hasOwnProp.call(to, key) && key !== except)
21
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
22
+ }
23
+ return to;
24
+ };
25
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
26
+ var ssrf_guard_exports = {};
27
+ __export(ssrf_guard_exports, {
28
+ isHttpUrl: () => isHttpUrl,
29
+ isLinkLocalAddress: () => isLinkLocalAddress,
30
+ isLocalhostHostname: () => isLocalhostHostname,
31
+ isNonGlobalAddress: () => isNonGlobalAddress,
32
+ normalizeHost: () => normalizeHost,
33
+ resolveHostAddresses: () => resolveHostAddresses
34
+ });
35
+ module.exports = __toCommonJS(ssrf_guard_exports);
36
+ var import_promises = require("node:dns/promises");
37
+ var import_node_net = require("node:net");
38
+ /**
39
+ * @license
40
+ * Copyright 2026 Google LLC
41
+ * SPDX-License-Identifier: Apache-2.0
42
+ */
43
+ const HTTP_SCHEMES = /* @__PURE__ */ new Set(["http:", "https:"]);
44
+ const NON_GLOBAL_IPV4_CIDRS = [
45
+ "0.0.0.0/8",
46
+ // "this host on this network"
47
+ "10.0.0.0/8",
48
+ // private
49
+ "100.64.0.0/10",
50
+ // shared address space / CGNAT
51
+ "127.0.0.0/8",
52
+ // loopback
53
+ "169.254.0.0/16",
54
+ // link-local (includes GCP metadata 169.254.169.254)
55
+ "172.16.0.0/12",
56
+ // private
57
+ "192.0.0.0/24",
58
+ // IETF protocol assignments
59
+ "192.0.2.0/24",
60
+ // TEST-NET-1 (documentation)
61
+ "192.88.99.0/24",
62
+ // 6to4 relay anycast (deprecated)
63
+ "192.168.0.0/16",
64
+ // private
65
+ "198.18.0.0/15",
66
+ // benchmarking
67
+ "198.51.100.0/24",
68
+ // TEST-NET-2 (documentation)
69
+ "203.0.113.0/24",
70
+ // TEST-NET-3 (documentation)
71
+ "224.0.0.0/4",
72
+ // multicast
73
+ "240.0.0.0/4"
74
+ // reserved / future use (includes 255.255.255.255)
75
+ ].map(parseIpv4Cidr);
76
+ const NON_GLOBAL_IPV6_CIDRS = [
77
+ "::/128",
78
+ // unspecified
79
+ "::1/128",
80
+ // loopback
81
+ "64:ff9b:1::/48",
82
+ // local NAT64
83
+ "100::/64",
84
+ // discard-only
85
+ "2001:db8::/32",
86
+ // documentation
87
+ "fc00::/7",
88
+ // unique-local (ULA, private)
89
+ "fe80::/10",
90
+ // link-local
91
+ "ff00::/8"
92
+ // multicast
93
+ ].map(parseIpv6Cidr);
94
+ const LINK_LOCAL_IPV4_CIDR = parseIpv4Cidr("169.254.0.0/16");
95
+ const LINK_LOCAL_IPV6_CIDR = parseIpv6Cidr("fe80::/10");
96
+ const IPV4_MAPPED_CIDR = parseIpv6Cidr("::ffff:0:0/96");
97
+ const NAT64_CIDR = parseIpv6Cidr("64:ff9b::/96");
98
+ const SIX_TO_FOUR_CIDR = parseIpv6Cidr("2002::/16");
99
+ const IPV4_COMPATIBLE_CIDR = parseIpv6Cidr("::/96");
100
+ function isHttpUrl(url) {
101
+ return HTTP_SCHEMES.has(url.protocol);
102
+ }
103
+ __name(isHttpUrl, "isHttpUrl");
104
+ function isLocalhostHostname(hostname) {
105
+ const normalized = hostname.replace(/\.+$/, "").toLowerCase();
106
+ return normalized === "localhost" || normalized.endsWith(".localhost");
107
+ }
108
+ __name(isLocalhostHostname, "isLocalhostHostname");
109
+ function normalizeHost(hostname) {
110
+ return hostname.startsWith("[") ? hostname.slice(1, -1) : hostname;
111
+ }
112
+ __name(normalizeHost, "normalizeHost");
113
+ function isNonGlobalAddress(address) {
114
+ return classifyAddress(address, isNonGlobalIpv4, isNonGlobalIpv6);
115
+ }
116
+ __name(isNonGlobalAddress, "isNonGlobalAddress");
117
+ function isLinkLocalAddress(address) {
118
+ return classifyAddress(address, isLinkLocalIpv4, isLinkLocalIpv6);
119
+ }
120
+ __name(isLinkLocalAddress, "isLinkLocalAddress");
121
+ async function resolveHostAddresses(hostname) {
122
+ if ((0, import_node_net.isIP)(hostname) !== 0) {
123
+ return [hostname];
124
+ }
125
+ const records = await (0, import_promises.lookup)(hostname, { all: true });
126
+ const addresses = [...new Set(records.map((record) => record.address))];
127
+ if (addresses.length === 0) {
128
+ throw new Error(`Unable to resolve host: ${hostname}`);
129
+ }
130
+ return addresses;
131
+ }
132
+ __name(resolveHostAddresses, "resolveHostAddresses");
133
+ function classifyAddress(address, matchesIpv4, matchesIpv6) {
134
+ const octets = parseIpv4(address);
135
+ if (octets) {
136
+ return matchesIpv4(octets);
137
+ }
138
+ const hextets = parseIpv6(address);
139
+ if (hextets) {
140
+ return matchesIpv6(hextets);
141
+ }
142
+ return true;
143
+ }
144
+ __name(classifyAddress, "classifyAddress");
145
+ function parseIpv4(address) {
146
+ const match = /^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/.exec(address);
147
+ if (!match) {
148
+ return null;
149
+ }
150
+ const octets = match.slice(1).map(Number);
151
+ if (octets.some((octet) => octet > 255)) {
152
+ return null;
153
+ }
154
+ return octets;
155
+ }
156
+ __name(parseIpv4, "parseIpv4");
157
+ function parseIpv6(address) {
158
+ if ((0, import_node_net.isIP)(address) !== 6) {
159
+ return null;
160
+ }
161
+ const [head, tail] = address.split("::");
162
+ const highGroups = head ? expandHextets(head) : [];
163
+ const lowGroups = tail ? expandHextets(tail) : [];
164
+ const compressed = address.includes("::") ? new Array(8 - highGroups.length - lowGroups.length).fill(0) : [];
165
+ return [...highGroups, ...compressed, ...lowGroups];
166
+ }
167
+ __name(parseIpv6, "parseIpv6");
168
+ function expandHextets(fragment) {
169
+ const hextets = [];
170
+ for (const group of fragment.split(":")) {
171
+ if (group.includes(".")) {
172
+ const octets = parseIpv4(group);
173
+ hextets.push(octets[0] << 8 | octets[1], octets[2] << 8 | octets[3]);
174
+ } else {
175
+ hextets.push(parseInt(group, 16));
176
+ }
177
+ }
178
+ return hextets;
179
+ }
180
+ __name(expandHextets, "expandHextets");
181
+ function ipv4ToInt(octets) {
182
+ return (octets[0] << 24 | octets[1] << 16 | octets[2] << 8 | octets[3]) >>> 0;
183
+ }
184
+ __name(ipv4ToInt, "ipv4ToInt");
185
+ function hextetsToBigInt(hextets) {
186
+ let value = 0n;
187
+ for (const hextet of hextets) {
188
+ value = value << 16n | BigInt(hextet);
189
+ }
190
+ return value;
191
+ }
192
+ __name(hextetsToBigInt, "hextetsToBigInt");
193
+ function parseIpv4Cidr(cidr) {
194
+ const [address, prefix] = cidr.split("/");
195
+ const mask = 4294967295 << 32 - Number(prefix) >>> 0;
196
+ return { base: (ipv4ToInt(parseIpv4(address)) & mask) >>> 0, mask };
197
+ }
198
+ __name(parseIpv4Cidr, "parseIpv4Cidr");
199
+ function parseIpv6Cidr(cidr) {
200
+ const [address, prefix] = cidr.split("/");
201
+ return { base: hextetsToBigInt(parseIpv6(address)), prefix: Number(prefix) };
202
+ }
203
+ __name(parseIpv6Cidr, "parseIpv6Cidr");
204
+ function matchesIpv4Cidr(octets, { base, mask }) {
205
+ return (ipv4ToInt(octets) & mask) >>> 0 === base;
206
+ }
207
+ __name(matchesIpv4Cidr, "matchesIpv4Cidr");
208
+ function matchesIpv6Cidr(hextets, { base, prefix }) {
209
+ const shift = BigInt(128 - prefix);
210
+ return hextetsToBigInt(hextets) >> shift === base >> shift;
211
+ }
212
+ __name(matchesIpv6Cidr, "matchesIpv6Cidr");
213
+ function embeddedIpv4(hextets) {
214
+ if (matchesIpv6Cidr(hextets, SIX_TO_FOUR_CIDR)) {
215
+ return hextetsToOctets(hextets[1], hextets[2]);
216
+ }
217
+ if (matchesIpv6Cidr(hextets, IPV4_MAPPED_CIDR) || matchesIpv6Cidr(hextets, NAT64_CIDR)) {
218
+ return hextetsToOctets(hextets[6], hextets[7]);
219
+ }
220
+ if (matchesIpv6Cidr(hextets, IPV4_COMPATIBLE_CIDR) && (hextets[6] !== 0 || hextets[7] > 1)) {
221
+ return hextetsToOctets(hextets[6], hextets[7]);
222
+ }
223
+ return null;
224
+ }
225
+ __name(embeddedIpv4, "embeddedIpv4");
226
+ function hextetsToOctets(high, low) {
227
+ return [high >> 8, high & 255, low >> 8, low & 255];
228
+ }
229
+ __name(hextetsToOctets, "hextetsToOctets");
230
+ function isNonGlobalIpv4(octets) {
231
+ return NON_GLOBAL_IPV4_CIDRS.some((cidr) => matchesIpv4Cidr(octets, cidr));
232
+ }
233
+ __name(isNonGlobalIpv4, "isNonGlobalIpv4");
234
+ function isNonGlobalIpv6(hextets) {
235
+ const embedded = embeddedIpv4(hextets);
236
+ if (embedded) {
237
+ return isNonGlobalIpv4(embedded);
238
+ }
239
+ return NON_GLOBAL_IPV6_CIDRS.some((cidr) => matchesIpv6Cidr(hextets, cidr));
240
+ }
241
+ __name(isNonGlobalIpv6, "isNonGlobalIpv6");
242
+ function isLinkLocalIpv4(octets) {
243
+ return matchesIpv4Cidr(octets, LINK_LOCAL_IPV4_CIDR);
244
+ }
245
+ __name(isLinkLocalIpv4, "isLinkLocalIpv4");
246
+ function isLinkLocalIpv6(hextets) {
247
+ const embedded = embeddedIpv4(hextets);
248
+ if (embedded) {
249
+ return isLinkLocalIpv4(embedded);
250
+ }
251
+ return matchesIpv6Cidr(hextets, LINK_LOCAL_IPV6_CIDR);
252
+ }
253
+ __name(isLinkLocalIpv6, "isLinkLocalIpv6");
254
+ // Annotate the CommonJS export names for ESM import in node:
255
+ 0 && (module.exports = {
256
+ isHttpUrl,
257
+ isLinkLocalAddress,
258
+ isLocalhostHostname,
259
+ isNonGlobalAddress,
260
+ normalizeHost,
261
+ resolveHostAddresses
262
+ });
@@ -32,7 +32,7 @@ module.exports = __toCommonJS(version_exports);
32
32
  * Copyright 2025 Google LLC
33
33
  * SPDX-License-Identifier: Apache-2.0
34
34
  */
35
- const version = "2.0.0";
35
+ const version = "2.2.0";
36
36
  // Annotate the CommonJS export names for ESM import in node:
37
37
  0 && (module.exports = {
38
38
  version
@@ -45,7 +45,7 @@ var import_hitl_utils = require("./utils/hitl_utils.js");
45
45
  * SPDX-License-Identifier: Apache-2.0
46
46
  */
47
47
  var _a;
48
- const BASE_NODE_SIGNATURE_SYMBOL = Symbol.for("google.adk.workflow.baseNode");
48
+ const BASE_NODE_SIGNATURE_SYMBOL = /* @__PURE__ */ Symbol.for("google.adk.workflow.baseNode");
49
49
  _a = BASE_NODE_SIGNATURE_SYMBOL;
50
50
  const _BaseNode = class _BaseNode {
51
51
  constructor(config) {
@@ -41,7 +41,7 @@ var import_graph_validation = require("./utils/graph_validation.js");
41
41
  * SPDX-License-Identifier: Apache-2.0
42
42
  */
43
43
  var _a;
44
- const EDGE_SIGNATURE_SYMBOL = Symbol.for("google.adk.workflow.edge");
44
+ const EDGE_SIGNATURE_SYMBOL = /* @__PURE__ */ Symbol.for("google.adk.workflow.edge");
45
45
  const DEFAULT_ROUTE = "__DEFAULT__";
46
46
  _a = EDGE_SIGNATURE_SYMBOL;
47
47
  const _Edge = class _Edge {
@@ -40,7 +40,7 @@ var import_node_runner = require("../node_runner.js");
40
40
  * SPDX-License-Identifier: Apache-2.0
41
41
  */
42
42
  var _a, _b;
43
- const NODE_TOOL_SIGNATURE_SYMBOL = Symbol.for("google.adk.workflow.nodeTool");
43
+ const NODE_TOOL_SIGNATURE_SYMBOL = /* @__PURE__ */ Symbol.for("google.adk.workflow.nodeTool");
44
44
  const MAX_NODE_TOOL_DEPTH = 8;
45
45
  const _NodeTool = class _NodeTool extends (_b = import_base_tool.BaseTool, _a = NODE_TOOL_SIGNATURE_SYMBOL, _b) {
46
46
  constructor(node, name, description) {
@@ -121,7 +121,7 @@ const _NodeTool = class _NodeTool extends (_b = import_base_tool.BaseTool, _a =
121
121
  // not the node name doubled.
122
122
  nodePath: "",
123
123
  runId,
124
- resumeInputs: collectResumeInputs(toolContext)
124
+ resumeInputs: toolContext.resumeInputs
125
125
  });
126
126
  const base = childIc.branch;
127
127
  const segment = `${this.name}@${runId}`;
@@ -140,15 +140,6 @@ function isNodeTool(value) {
140
140
  return typeof value === "object" && value !== null && NODE_TOOL_SIGNATURE_SYMBOL in value && value[NODE_TOOL_SIGNATURE_SYMBOL] === true;
141
141
  }
142
142
  __name(isNodeTool, "isNodeTool");
143
- function collectResumeInputs(toolContext) {
144
- var _a2;
145
- const payload = (_a2 = toolContext.toolConfirmation) == null ? void 0 : _a2.payload;
146
- if (payload && typeof payload === "object") {
147
- return payload;
148
- }
149
- return {};
150
- }
151
- __name(collectResumeInputs, "collectResumeInputs");
152
143
  // Annotate the CommonJS export names for ESM import in node:
153
144
  0 && (module.exports = {
154
145
  NodeTool,
@@ -36,7 +36,7 @@ var import_env_aware_utils = require("../utils/env_aware_utils.js");
36
36
  * SPDX-License-Identifier: Apache-2.0
37
37
  */
38
38
  var _a;
39
- const REQUEST_INPUT_SIGNATURE_SYMBOL = Symbol.for(
39
+ const REQUEST_INPUT_SIGNATURE_SYMBOL = /* @__PURE__ */ Symbol.for(
40
40
  "google.adk.workflow.requestInput"
41
41
  );
42
42
  _a = REQUEST_INPUT_SIGNATURE_SYMBOL;
@@ -69,7 +69,7 @@ async function appendNodeInputAsUserTurn(ctx, nodeInput) {
69
69
  branch: ctx.branch,
70
70
  content: toUserContent(nodeInput)
71
71
  });
72
- if (ctx.isolationScope) {
72
+ if (ctx.isolationScope !== void 0) {
73
73
  userEvent.isolationScope = ctx.isolationScope;
74
74
  }
75
75
  const sessionService = ctx.invocationContext.sessionService;
@@ -57,7 +57,7 @@ var import_rehydration_utils = require("./utils/rehydration_utils.js");
57
57
  * SPDX-License-Identifier: Apache-2.0
58
58
  */
59
59
  var _a, _b;
60
- const WORKFLOW_SIGNATURE_SYMBOL = Symbol.for("google.adk.workflow.workflow");
60
+ const WORKFLOW_SIGNATURE_SYMBOL = /* @__PURE__ */ Symbol.for("google.adk.workflow.workflow");
61
61
  const _LoopState = class _LoopState {
62
62
  constructor() {
63
63
  this.nodes = /* @__PURE__ */ new Map();
@@ -240,37 +240,9 @@ function createTaskInputRequiredEvent({
240
240
  };
241
241
  }
242
242
  __name(createTaskInputRequiredEvent, "createTaskInputRequiredEvent");
243
- function createInputMissingErrorEvent({
244
- taskId,
245
- contextId,
246
- parts,
247
- metadata
248
- }) {
249
- return {
250
- kind: "status-update",
251
- taskId,
252
- contextId,
253
- final: true,
254
- status: {
255
- state: "input-required" /* INPUT_REQUIRED */,
256
- message: {
257
- kind: "message",
258
- messageId: randomUUID(),
259
- role: "agent",
260
- taskId,
261
- contextId,
262
- parts
263
- },
264
- timestamp: (/* @__PURE__ */ new Date()).toISOString()
265
- },
266
- metadata
267
- };
268
- }
269
- __name(createInputMissingErrorEvent, "createInputMissingErrorEvent");
270
243
  export {
271
244
  MessageRole,
272
245
  TaskState,
273
- createInputMissingErrorEvent,
274
246
  createTask,
275
247
  createTaskArtifactUpdateEvent,
276
248
  createTaskCompletedEvent,
@@ -19,12 +19,13 @@ import { MessageRole } from "./a2a_event.js";
19
19
  import { A2ARemoteAgentRunProcessor } from "./a2a_remote_agent_run_processor.js";
20
20
  import {
21
21
  getUserFunctionCallAt,
22
+ peerRequestedCallIds,
23
+ toForwardableA2AParts,
22
24
  toMissingRemoteSessionParts
23
25
  } from "./a2a_remote_agent_utils.js";
24
26
  import { resolveAgentCard } from "./agent_card.js";
25
27
  import { toAdkEvent } from "./event_converter_utils.js";
26
28
  import { getA2ASessionMetadata } from "./metadata_converter_utils.js";
27
- import { toA2AParts } from "./part_converter_utils.js";
28
29
  const _RemoteA2AAgent = class _RemoteA2AAgent extends BaseAgent {
29
30
  constructor(a2aConfig) {
30
31
  super(a2aConfig);
@@ -67,9 +68,11 @@ const _RemoteA2AAgent = class _RemoteA2AAgent extends BaseAgent {
67
68
  let contextId = void 0;
68
69
  if (userFnCall) {
69
70
  const event = userFnCall.response;
70
- parts = toA2AParts(
71
- ((_a = event.content) == null ? void 0 : _a.parts) || [],
72
- event.longRunningToolIds
71
+ const peerRequestedIds = peerRequestedCallIds(events, this.name);
72
+ parts = toForwardableA2AParts(
73
+ event.content,
74
+ event.longRunningToolIds,
75
+ peerRequestedIds
73
76
  );
74
77
  taskId = userFnCall.taskId;
75
78
  contextId = userFnCall.contextId;
@@ -91,9 +94,11 @@ const _RemoteA2AAgent = class _RemoteA2AAgent extends BaseAgent {
91
94
  };
92
95
  if (taskId) message.taskId = taskId;
93
96
  if (contextId) message.contextId = contextId;
97
+ const metadata = (_a = this.a2aConfig.metadata) != null ? _a : context.a2aMetadata;
94
98
  const params = {
95
99
  message,
96
- configuration: this.a2aConfig.messageSendConfig
100
+ configuration: this.a2aConfig.messageSendConfig,
101
+ ...metadata ? { metadata } : {}
97
102
  };
98
103
  const processor = new A2ARemoteAgentRunProcessor(params);
99
104
  if (this.a2aConfig.beforeRequestCallbacks) {
@@ -7,8 +7,11 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
7
7
  * Copyright 2026 Google LLC
8
8
  * SPDX-License-Identifier: Apache-2.0
9
9
  */
10
+ import { REQUEST_CREDENTIAL_FUNCTION_CALL_NAME } from "../agents/functions.js";
10
11
  import { requireAgent } from "../agents/invocation_context.js";
11
12
  import { createEvent } from "../events/event.js";
13
+ import { camelCaseKeys } from "../utils/case_utils.js";
14
+ import { logger } from "../utils/logger.js";
12
15
  import { AdkMetadataKeys } from "./metadata_converter_utils.js";
13
16
  import { toA2AParts } from "./part_converter_utils.js";
14
17
  function getUserFunctionCallAt(session, index) {
@@ -61,23 +64,118 @@ function getFunctionResponseCallId(event) {
61
64
  return (_a = responsePart == null ? void 0 : responsePart.functionResponse) == null ? void 0 : _a.id;
62
65
  }
63
66
  __name(getFunctionResponseCallId, "getFunctionResponseCallId");
67
+ const AUTH_CONFIG_SCHEME_KEY = "authScheme";
68
+ const AUTH_CONFIG_CREDENTIAL_KEYS = [
69
+ // camelCase only by design: callers normalise the payload with
70
+ // camelCaseKeys() before these keys are looked up, so the snake_case
71
+ // spellings (raw_auth_credential, exchanged_auth_credential) are covered.
72
+ "rawAuthCredential",
73
+ "exchangedAuthCredential"
74
+ ];
75
+ function payloadIsAuthConfig(payload) {
76
+ if (!payload || typeof payload !== "object" || Array.isArray(payload)) {
77
+ return false;
78
+ }
79
+ const keys = new Set(Object.keys(payload));
80
+ if (!keys.has(AUTH_CONFIG_SCHEME_KEY)) {
81
+ return false;
82
+ }
83
+ return AUTH_CONFIG_CREDENTIAL_KEYS.some((key) => keys.has(key));
84
+ }
85
+ __name(payloadIsAuthConfig, "payloadIsAuthConfig");
86
+ function isCredentialFunctionCall(functionCall) {
87
+ if (functionCall.name === REQUEST_CREDENTIAL_FUNCTION_CALL_NAME) {
88
+ return true;
89
+ }
90
+ const args = camelCaseKeys(functionCall.args);
91
+ if (!args || typeof args !== "object") {
92
+ return false;
93
+ }
94
+ const authConfig = args["authConfig"];
95
+ return payloadIsAuthConfig(authConfig);
96
+ }
97
+ __name(isCredentialFunctionCall, "isCredentialFunctionCall");
98
+ function isCredentialFunctionResponse(functionResponse) {
99
+ if (functionResponse.name === REQUEST_CREDENTIAL_FUNCTION_CALL_NAME) {
100
+ return true;
101
+ }
102
+ return payloadIsAuthConfig(camelCaseKeys(functionResponse.response));
103
+ }
104
+ __name(isCredentialFunctionResponse, "isCredentialFunctionResponse");
105
+ function peerRequestedCallIds(events, peerName) {
106
+ var _a, _b, _c;
107
+ const peer = /* @__PURE__ */ new Set();
108
+ const local = /* @__PURE__ */ new Set();
109
+ for (const event of events) {
110
+ for (const part of (_b = (_a = event.content) == null ? void 0 : _a.parts) != null ? _b : []) {
111
+ const id = (_c = part.functionCall) == null ? void 0 : _c.id;
112
+ if (!id) {
113
+ continue;
114
+ }
115
+ (event.author === peerName ? peer : local).add(id);
116
+ }
117
+ }
118
+ return new Set([...peer].filter((id) => !local.has(id)));
119
+ }
120
+ __name(peerRequestedCallIds, "peerRequestedCallIds");
121
+ function withoutCredentialParts(content, peerRequestedIds) {
122
+ if (!content || !content.parts) {
123
+ return content;
124
+ }
125
+ const isDroppedCredentialPart = /* @__PURE__ */ __name((part) => {
126
+ if (part.functionCall && isCredentialFunctionCall(part.functionCall)) {
127
+ return true;
128
+ }
129
+ if (part.functionResponse && isCredentialFunctionResponse(part.functionResponse)) {
130
+ const id = part.functionResponse.id;
131
+ return !(id && peerRequestedIds.has(id));
132
+ }
133
+ return false;
134
+ }, "isDroppedCredentialPart");
135
+ const parts = content.parts.filter((part) => !isDroppedCredentialPart(part));
136
+ if (parts.length === content.parts.length) {
137
+ return content;
138
+ }
139
+ logger.warn(
140
+ `Dropped ${content.parts.length - parts.length} credential-bearing part(s) before forwarding to the remote peer -- it did not request them.`
141
+ );
142
+ return { ...content, parts };
143
+ }
144
+ __name(withoutCredentialParts, "withoutCredentialParts");
145
+ function toForwardableA2AParts(content, longRunningToolIds, peerRequestedIds) {
146
+ const scrubbed = withoutCredentialParts(content, peerRequestedIds);
147
+ if (!(scrubbed == null ? void 0 : scrubbed.parts)) {
148
+ return [];
149
+ }
150
+ return toA2AParts(scrubbed.parts, longRunningToolIds);
151
+ }
152
+ __name(toForwardableA2AParts, "toForwardableA2AParts");
64
153
  function toMissingRemoteSessionParts(ctx, session) {
65
154
  const events = session.events;
155
+ const peerName = requireAgent(ctx).name;
66
156
  let contextId = void 0;
67
157
  let lastRemoteResponseIndex = -1;
68
158
  for (let i = events.length - 1; i >= 0; i--) {
69
159
  const event = events[i];
70
- if (event.author === requireAgent(ctx).name) {
160
+ if (event.author === peerName) {
71
161
  lastRemoteResponseIndex = i;
72
162
  const metadata = event.customMetadata || {};
73
163
  contextId = metadata[AdkMetadataKeys.CONTEXT_ID];
74
164
  break;
75
165
  }
76
166
  }
167
+ const peerRequestedIds = peerRequestedCallIds(events, peerName);
77
168
  const missingParts = [];
78
169
  for (let i = lastRemoteResponseIndex + 1; i < events.length; i++) {
79
170
  let event = events[i];
80
- if (event.author !== "user" && event.author !== requireAgent(ctx).name) {
171
+ const scrubbedContent = withoutCredentialParts(
172
+ event.content,
173
+ peerRequestedIds
174
+ );
175
+ if (scrubbedContent !== event.content) {
176
+ event = { ...event, content: scrubbedContent };
177
+ }
178
+ if (event.author !== "user" && event.author !== peerName) {
81
179
  event = presentAsUserMessage(ctx, event);
82
180
  }
83
181
  if (!event.content || !event.content.parts || event.content.parts.length === 0) {
@@ -136,6 +234,8 @@ export {
136
234
  getFunctionResponseCallId,
137
235
  getUserFunctionCallAt,
138
236
  isFunctionCallEvent,
237
+ peerRequestedCallIds,
139
238
  presentAsUserMessage,
239
+ toForwardableA2AParts,
140
240
  toMissingRemoteSessionParts
141
241
  };