@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
@@ -0,0 +1,114 @@
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 nl_planning_processor_exports = {};
27
+ __export(nl_planning_processor_exports, {
28
+ NL_PLANNING_REQUEST_PROCESSOR: () => NL_PLANNING_REQUEST_PROCESSOR,
29
+ NL_PLANNING_RESPONSE_PROCESSOR: () => NL_PLANNING_RESPONSE_PROCESSOR,
30
+ NlPlanningRequestProcessor: () => NlPlanningRequestProcessor,
31
+ NlPlanningResponseProcessor: () => NlPlanningResponseProcessor
32
+ });
33
+ module.exports = __toCommonJS(nl_planning_processor_exports);
34
+ var import_llm_request = require("../../models/llm_request.js");
35
+ var import_base_planner = require("../../planners/base_planner.js");
36
+ var import_built_in_planner = require("../../planners/built_in_planner.js");
37
+ var import_context = require("../context.js");
38
+ var import_llm_agent = require("../llm_agent.js");
39
+ var import_readonly_context = require("../readonly_context.js");
40
+ var import_base_llm_processor = require("./base_llm_processor.js");
41
+ /**
42
+ * @license
43
+ * Copyright 2026 Google LLC
44
+ * SPDX-License-Identifier: Apache-2.0
45
+ */
46
+ function getPlanner(invocationContext) {
47
+ const agent = invocationContext.agent;
48
+ if (!(0, import_llm_agent.isLlmAgent)(agent) || !(0, import_base_planner.isBasePlanner)(agent.planner)) {
49
+ return void 0;
50
+ }
51
+ return agent.planner;
52
+ }
53
+ __name(getPlanner, "getPlanner");
54
+ function removeThought(part) {
55
+ const { thought: _thought, ...rest } = part;
56
+ return rest;
57
+ }
58
+ __name(removeThought, "removeThought");
59
+ function removeThoughtFromContents(contents) {
60
+ return contents.map(
61
+ (content) => content.parts ? { ...content, parts: content.parts.map(removeThought) } : content
62
+ );
63
+ }
64
+ __name(removeThoughtFromContents, "removeThoughtFromContents");
65
+ const _NlPlanningRequestProcessor = class _NlPlanningRequestProcessor extends import_base_llm_processor.BaseLlmRequestProcessor {
66
+ // eslint-disable-next-line require-yield -- this processor only mutates the request and has no event to emit
67
+ async *runAsync(invocationContext, llmRequest) {
68
+ const planner = getPlanner(invocationContext);
69
+ if (!planner) {
70
+ return;
71
+ }
72
+ if ((0, import_built_in_planner.isBuiltInPlanner)(planner)) {
73
+ planner.applyThinkingConfig(llmRequest);
74
+ }
75
+ const planningInstruction = planner.buildPlanningInstruction(
76
+ new import_readonly_context.ReadonlyContext(invocationContext),
77
+ llmRequest
78
+ );
79
+ if (planningInstruction) {
80
+ (0, import_llm_request.appendInstructions)(llmRequest, [planningInstruction]);
81
+ }
82
+ llmRequest.contents = removeThoughtFromContents(llmRequest.contents);
83
+ }
84
+ };
85
+ __name(_NlPlanningRequestProcessor, "NlPlanningRequestProcessor");
86
+ let NlPlanningRequestProcessor = _NlPlanningRequestProcessor;
87
+ const _NlPlanningResponseProcessor = class _NlPlanningResponseProcessor extends import_base_llm_processor.BaseLlmResponseProcessor {
88
+ // eslint-disable-next-line require-yield -- this processor only rewrites the response and has no event to emit
89
+ async *runAsync(invocationContext, llmResponse) {
90
+ var _a, _b;
91
+ const planner = getPlanner(invocationContext);
92
+ if (!planner || !((_b = (_a = llmResponse.content) == null ? void 0 : _a.parts) == null ? void 0 : _b.length)) {
93
+ return;
94
+ }
95
+ const processedParts = planner.processPlanningResponse(
96
+ new import_context.Context({ invocationContext }),
97
+ llmResponse.content.parts
98
+ );
99
+ if (processedParts !== void 0) {
100
+ llmResponse.content = { ...llmResponse.content, parts: processedParts };
101
+ }
102
+ }
103
+ };
104
+ __name(_NlPlanningResponseProcessor, "NlPlanningResponseProcessor");
105
+ let NlPlanningResponseProcessor = _NlPlanningResponseProcessor;
106
+ const NL_PLANNING_REQUEST_PROCESSOR = new NlPlanningRequestProcessor();
107
+ const NL_PLANNING_RESPONSE_PROCESSOR = new NlPlanningResponseProcessor();
108
+ // Annotate the CommonJS export names for ESM import in node:
109
+ 0 && (module.exports = {
110
+ NL_PLANNING_REQUEST_PROCESSOR,
111
+ NL_PLANNING_RESPONSE_PROCESSOR,
112
+ NlPlanningRequestProcessor,
113
+ NlPlanningResponseProcessor
114
+ });
@@ -73,7 +73,8 @@ const _RequestConfirmationLlmRequestProcessor = class _RequestConfirmationLlmReq
73
73
  }
74
74
  const approvals = collectApprovals(
75
75
  events,
76
- (_a = runConfig == null ? void 0 : runConfig.plainTextToolConfirmation) != null ? _a : false
76
+ (_a = runConfig == null ? void 0 : runConfig.plainTextToolConfirmation) != null ? _a : false,
77
+ agent.name
77
78
  );
78
79
  if (approvals.size === 0) {
79
80
  return;
@@ -134,7 +135,7 @@ function eventsInScope(invocationContext) {
134
135
  );
135
136
  }
136
137
  __name(eventsInScope, "eventsInScope");
137
- function collectApprovals(events, allowPlainText) {
138
+ function collectApprovals(events, allowPlainText, agentName) {
138
139
  const approvals = /* @__PURE__ */ new Map();
139
140
  const latestUserEvent = findLatestUserEvent(events);
140
141
  if (!latestUserEvent) {
@@ -153,7 +154,7 @@ function collectApprovals(events, allowPlainText) {
153
154
  );
154
155
  }
155
156
  if (approvals.size === 0 && allowPlainText) {
156
- return mapPlainTextConfirmation(events);
157
+ return mapPlainTextConfirmation(events, agentName);
157
158
  }
158
159
  return approvals;
159
160
  }
@@ -185,6 +186,9 @@ function collectGateCandidates(events, approvals, agentName) {
185
186
  functionCallId: functionCall.id
186
187
  });
187
188
  }
189
+ import_logger.logger.debug(
190
+ `Skipping tool confirmation from event ${event.id}: authored by ${event.author}, not by ${agentName}.`
191
+ );
188
192
  continue;
189
193
  }
190
194
  const pinned = pinnedCall(functionCall);
@@ -197,7 +201,7 @@ function collectGateCandidates(events, approvals, agentName) {
197
201
  functionCallId: functionCall.id
198
202
  });
199
203
  }
200
- if (hasRespondedAfter(events, pinned.id, index)) {
204
+ if (hasRespondedAfter(events, pinned.id, index, agentName)) {
201
205
  continue;
202
206
  }
203
207
  candidates.push({ pinned, confirmation });
@@ -257,16 +261,16 @@ function agentAuthoredCalls(events, agentName) {
257
261
  }
258
262
  __name(agentAuthoredCalls, "agentAuthoredCalls");
259
263
  function dynamicallyRequestedCallIds(events, agentName) {
264
+ var _a;
260
265
  const requested = /* @__PURE__ */ new Set();
261
266
  for (const event of events) {
262
267
  if (event.author !== agentName) {
263
268
  continue;
264
269
  }
265
- const confirmations = event.actions.requestedToolConfirmations;
266
- for (const functionResponse of (0, import_event.getFunctionResponses)(event)) {
267
- if (functionResponse.id && functionResponse.id in confirmations) {
268
- requested.add(functionResponse.id);
269
- }
270
+ for (const functionCallId of Object.keys(
271
+ (_a = event.actions.requestedToolConfirmations) != null ? _a : {}
272
+ )) {
273
+ requested.add(functionCallId);
270
274
  }
271
275
  }
272
276
  return requested;
@@ -284,9 +288,9 @@ function pinnedCall(functionCall) {
284
288
  return pinned;
285
289
  }
286
290
  __name(pinnedCall, "pinnedCall");
287
- function hasRespondedAfter(events, pinnedCallId, gateIndex) {
291
+ function hasRespondedAfter(events, pinnedCallId, gateIndex, agentName) {
288
292
  return events.slice(gateIndex + 1).some(
289
- (event) => (0, import_event.getFunctionResponses)(event).some(
293
+ (event) => event.author === agentName && (0, import_event.getFunctionResponses)(event).some(
290
294
  (functionResponse) => functionResponse.id === pinnedCallId
291
295
  )
292
296
  );
@@ -323,7 +327,7 @@ const NEGATIVE = /* @__PURE__ */ new Set([
323
327
  "cancel",
324
328
  "cancelled"
325
329
  ]);
326
- function mapPlainTextConfirmation(events) {
330
+ function mapPlainTextConfirmation(events, agentName) {
327
331
  var _a, _b;
328
332
  const none = /* @__PURE__ */ new Map();
329
333
  let turnIndex = -1;
@@ -361,6 +365,9 @@ function mapPlainTextConfirmation(events) {
361
365
  if (event.author === "user") {
362
366
  break;
363
367
  }
368
+ if (event.author !== agentName) {
369
+ continue;
370
+ }
364
371
  for (const fc of (0, import_event.getFunctionCalls)(event)) {
365
372
  if (fc.name === import_functions.REQUEST_CONFIRMATION_FUNCTION_CALL_NAME && fc.id && !answered.has(fc.id)) {
366
373
  pendingId = fc.id;
@@ -30,7 +30,6 @@ __export(request_input_llm_request_processor_exports, {
30
30
  });
31
31
  module.exports = __toCommonJS(request_input_llm_request_processor_exports);
32
32
  var import_event = require("../../events/event.js");
33
- var import_tool_confirmation = require("../../tools/tool_confirmation.js");
34
33
  var import_async_queue = require("../../utils/async_queue.js");
35
34
  var import_node_tool = require("../../workflow/nodes/node_tool.js");
36
35
  var import_hitl_utils = require("../../workflow/utils/hitl_utils.js");
@@ -90,12 +89,9 @@ const _RequestInputLlmRequestProcessor = class _RequestInputLlmRequestProcessor
90
89
  if (Object.keys(pending).length === 0) {
91
90
  return;
92
91
  }
93
- const toolConfirmationDict = {};
92
+ const resumeInputsDict = {};
94
93
  for (const id of Object.keys(pending)) {
95
- toolConfirmationDict[id] = new import_tool_confirmation.ToolConfirmation({
96
- confirmed: true,
97
- payload: resumeInputs
98
- });
94
+ resumeInputsDict[id] = resumeInputs;
99
95
  }
100
96
  const eventQueue = new import_async_queue.AsyncQueue();
101
97
  invocationContext.eventQueue = eventQueue;
@@ -108,7 +104,7 @@ const _RequestInputLlmRequestProcessor = class _RequestInputLlmRequestProcessor
108
104
  beforeToolCallbacks: agent.canonicalBeforeToolCallbacks,
109
105
  afterToolCallbacks: agent.canonicalAfterToolCallbacks,
110
106
  filters: new Set(Object.keys(pending)),
111
- toolConfirmationDict
107
+ resumeInputsDict
112
108
  });
113
109
  } finally {
114
110
  eventQueue.close();
@@ -78,6 +78,12 @@ const _ReadonlyContext = class _ReadonlyContext {
78
78
  {}
79
79
  );
80
80
  }
81
+ /**
82
+ * Request-level metadata passed from an incoming A2A request or caller.
83
+ */
84
+ get a2aMetadata() {
85
+ return this.invocationContext.a2aMetadata;
86
+ }
81
87
  };
82
88
  __name(_ReadonlyContext, "ReadonlyContext");
83
89
  let ReadonlyContext = _ReadonlyContext;
@@ -37,7 +37,7 @@ var import_failover_utils = require("../utils/failover_utils.js");
37
37
  * SPDX-License-Identifier: Apache-2.0
38
38
  */
39
39
  var _a, _b;
40
- const ROUTED_AGENT_SIGNATURE_SYMBOL = Symbol.for("google.adk.routedAgent");
40
+ const ROUTED_AGENT_SIGNATURE_SYMBOL = /* @__PURE__ */ Symbol.for("google.adk.routedAgent");
41
41
  function isRoutedAgent(obj) {
42
42
  return typeof obj === "object" && obj !== null && ROUTED_AGENT_SIGNATURE_SYMBOL in obj && obj[ROUTED_AGENT_SIGNATURE_SYMBOL] === true;
43
43
  }
@@ -49,7 +49,7 @@ var import_readonly_context = require("./readonly_context.js");
49
49
  */
50
50
  var _a, _b;
51
51
  const TASK_COMPLETED_TOOL_NAME = "task_completed";
52
- const SEQUENTIAL_AGENT_SIGNATURE_SYMBOL = Symbol.for(
52
+ const SEQUENTIAL_AGENT_SIGNATURE_SYMBOL = /* @__PURE__ */ Symbol.for(
53
53
  "google.adk.sequentialAgent"
54
54
  );
55
55
  function isSequentialAgent(obj) {
@@ -49,7 +49,7 @@ function validateAppName(name) {
49
49
  }
50
50
  }
51
51
  __name(validateAppName, "validateAppName");
52
- const APP_SIGNATURE_SYMBOL = Symbol.for("google.adk.app");
52
+ const APP_SIGNATURE_SYMBOL = /* @__PURE__ */ Symbol.for("google.adk.app");
53
53
  function isApp(obj) {
54
54
  return typeof obj === "object" && obj !== null && APP_SIGNATURE_SYMBOL in obj && obj[APP_SIGNATURE_SYMBOL] === true;
55
55
  }
@@ -514,10 +514,9 @@ async function* iterateArtifactDirs(dir) {
514
514
  );
515
515
  if (hasVersions) {
516
516
  yield dir;
517
- return;
518
517
  }
519
518
  for (const entry of entries) {
520
- if (entry.isDirectory()) {
519
+ if (entry.isDirectory() && entry.name !== "versions") {
521
520
  const subdir = path.join(dir, entry.name);
522
521
  for await (const foundDir of iterateArtifactDirs(subdir)) {
523
522
  yield foundDir;
@@ -82,9 +82,7 @@ const _GcsArtifactService = class _GcsArtifactService {
82
82
  version
83
83
  })
84
84
  );
85
- const customMetadata = {
86
- ...request.customMetadata
87
- };
85
+ const customMetadata = stringifyMetadataValues(request.customMetadata);
88
86
  if (request.artifact.inlineData) {
89
87
  if (request.artifact.inlineData.displayName) {
90
88
  customMetadata[GCS_DISPLAY_NAME_METADATA_KEY] = request.artifact.inlineData.displayName;
@@ -208,10 +206,9 @@ const _GcsArtifactService = class _GcsArtifactService {
208
206
  const [files] = await bucket.getFiles({ prefix: searchPrefix });
209
207
  const versions = [];
210
208
  for (const file of files) {
211
- const version = file.name.split("/").pop();
212
- const v = parseInt(version, 10);
213
- if (!isNaN(v)) {
214
- versions.push(v);
209
+ const suffix = file.name.slice(searchPrefix.length);
210
+ if (/^\d+$/.test(suffix)) {
211
+ versions.push(Number(suffix));
215
212
  }
216
213
  }
217
214
  return versions.sort((a, b) => a - b);
@@ -277,6 +274,15 @@ function getFileName({
277
274
  return version !== void 0 ? `${prefix}/${version}` : prefix;
278
275
  }
279
276
  __name(getFileName, "getFileName");
277
+ function stringifyMetadataValues(customMetadata) {
278
+ return Object.fromEntries(
279
+ Object.entries(customMetadata != null ? customMetadata : {}).map(([key, value]) => [
280
+ key,
281
+ String(value)
282
+ ])
283
+ );
284
+ }
285
+ __name(stringifyMetadataValues, "stringifyMetadataValues");
280
286
  function extractArtifactKeys(files, fileNamePrefix, keyPrefix = "") {
281
287
  const keys = /* @__PURE__ */ new Set();
282
288
  for (const file of files) {
@@ -33,12 +33,21 @@ module.exports = __toCommonJS(scoped_artifact_service_exports);
33
33
  * Copyright 2026 Google LLC
34
34
  * SPDX-License-Identifier: Apache-2.0
35
35
  */
36
+ var _a;
37
+ const SESSION_ARTIFACT_SERVICE_SIGNATURE_SYMBOL = /* @__PURE__ */ Symbol.for(
38
+ "google.adk.sessionArtifactService"
39
+ );
40
+ _a = SESSION_ARTIFACT_SERVICE_SIGNATURE_SYMBOL;
36
41
  const _ScopedArtifactService = class _ScopedArtifactService {
37
42
  constructor(delegate, appName, userId, sessionId) {
38
43
  this.delegate = delegate;
39
44
  this.appName = appName;
40
45
  this.userId = userId;
41
46
  this.sessionId = sessionId;
47
+ /**
48
+ * Brands this class as a session-scoped artifact service.
49
+ */
50
+ this[_a] = true;
42
51
  }
43
52
  async saveArtifact(request) {
44
53
  return this.delegate.saveArtifact({
@@ -9,6 +9,11 @@ var __defProp = Object.defineProperty;
9
9
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
10
10
  var __getOwnPropNames = Object.getOwnPropertyNames;
11
11
  var __hasOwnProp = Object.prototype.hasOwnProperty;
12
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
13
+ var __export = (target, all) => {
14
+ for (var name in all)
15
+ __defProp(target, name, { get: all[name], enumerable: true });
16
+ };
12
17
  var __copyProps = (to, from, except, desc) => {
13
18
  if (from && typeof from === "object" || typeof from === "function") {
14
19
  for (let key of __getOwnPropNames(from))
@@ -19,9 +24,23 @@ var __copyProps = (to, from, except, desc) => {
19
24
  };
20
25
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
21
26
  var session_artifact_service_exports = {};
27
+ __export(session_artifact_service_exports, {
28
+ isSessionArtifactService: () => isSessionArtifactService
29
+ });
22
30
  module.exports = __toCommonJS(session_artifact_service_exports);
23
31
  /**
24
32
  * @license
25
33
  * Copyright 2026 Google LLC
26
34
  * SPDX-License-Identifier: Apache-2.0
27
35
  */
36
+ const SESSION_ARTIFACT_SERVICE_SIGNATURE_SYMBOL = /* @__PURE__ */ Symbol.for(
37
+ "google.adk.sessionArtifactService"
38
+ );
39
+ function isSessionArtifactService(service) {
40
+ return typeof service === "object" && service !== null && SESSION_ARTIFACT_SERVICE_SIGNATURE_SYMBOL in service && service[SESSION_ARTIFACT_SERVICE_SIGNATURE_SYMBOL] === true;
41
+ }
42
+ __name(isSessionArtifactService, "isSessionArtifactService");
43
+ // Annotate the CommonJS export names for ESM import in node:
44
+ 0 && (module.exports = {
45
+ isSessionArtifactService
46
+ });
@@ -9,6 +9,7 @@ var __defProp = Object.defineProperty;
9
9
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
10
10
  var __getOwnPropNames = Object.getOwnPropertyNames;
11
11
  var __hasOwnProp = Object.prototype.hasOwnProperty;
12
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
12
13
  var __export = (target, all) => {
13
14
  for (var name in all)
14
15
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -24,7 +25,8 @@ var __copyProps = (to, from, except, desc) => {
24
25
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
25
26
  var auth_credential_exports = {};
26
27
  __export(auth_credential_exports, {
27
- AuthCredentialTypes: () => AuthCredentialTypes
28
+ AuthCredentialTypes: () => AuthCredentialTypes,
29
+ isAuthCredential: () => isAuthCredential
28
30
  });
29
31
  module.exports = __toCommonJS(auth_credential_exports);
30
32
  /**
@@ -40,7 +42,15 @@ var AuthCredentialTypes = /* @__PURE__ */ ((AuthCredentialTypes2) => {
40
42
  AuthCredentialTypes2["SERVICE_ACCOUNT"] = "serviceAccount";
41
43
  return AuthCredentialTypes2;
42
44
  })(AuthCredentialTypes || {});
45
+ const AUTH_CREDENTIAL_TYPES = new Set(
46
+ Object.values(AuthCredentialTypes)
47
+ );
48
+ function isAuthCredential(value) {
49
+ return typeof value === "object" && value !== null && "authType" in value && AUTH_CREDENTIAL_TYPES.has(value.authType);
50
+ }
51
+ __name(isAuthCredential, "isAuthCredential");
43
52
  // Annotate the CommonJS export names for ESM import in node:
44
53
  0 && (module.exports = {
45
- AuthCredentialTypes
54
+ AuthCredentialTypes,
55
+ isAuthCredential
46
56
  });
@@ -30,11 +30,13 @@ __export(auth_handler_exports, {
30
30
  module.exports = __toCommonJS(auth_handler_exports);
31
31
  var import_env_aware_utils = require("../utils/env_aware_utils.js");
32
32
  var import_oauth2_credential_exchanger = require("./oauth2/oauth2_credential_exchanger.js");
33
+ var import_oauth2_utils = require("./oauth2/oauth2_utils.js");
33
34
  /**
34
35
  * @license
35
36
  * Copyright 2025 Google LLC
36
37
  * SPDX-License-Identifier: Apache-2.0
37
38
  */
39
+ const S256_CODE_CHALLENGE_METHOD = "S256";
38
40
  const _AuthHandler = class _AuthHandler {
39
41
  constructor(authConfig) {
40
42
  this.authConfig = authConfig;
@@ -43,7 +45,16 @@ const _AuthHandler = class _AuthHandler {
43
45
  const credentialKey = "temp:" + this.authConfig.credentialKey;
44
46
  return state.get(credentialKey);
45
47
  }
48
+ /**
49
+ * Stores the exchanged credential in the session state.
50
+ *
51
+ * @param state The session state to store the credential in.
52
+ * @throws Error: If the auth config has no credentialKey.
53
+ */
46
54
  async parseAndStoreAuthResponse(state) {
55
+ if (!this.authConfig.credentialKey) {
56
+ throw new Error("credentialKey is empty.");
57
+ }
47
58
  const credentialKey = "temp:" + this.authConfig.credentialKey;
48
59
  const authSchemeType = this.authConfig.authScheme.type;
49
60
  if (!["oauth2", "openIdConnect"].includes(authSchemeType)) {
@@ -99,9 +110,14 @@ const _AuthHandler = class _AuthHandler {
99
110
  /**
100
111
  * Generates an response containing the auth uri for user to sign in.
101
112
  *
113
+ * When the credential requests PKCE, the URI also carries the S256 code
114
+ * challenge derived from the credential's code verifier, and the returned
115
+ * credential carries the verifier the later token exchange must send.
116
+ *
102
117
  * @return An AuthCredential object containing the auth URI and state.
103
118
  * @throws Error: If the authorization endpoint is not configured in the
104
- * auth scheme.
119
+ * auth scheme, or the credential requests a code challenge method other
120
+ * than 'S256'.
105
121
  */
106
122
  generateAuthUri() {
107
123
  const authScheme = this.authConfig.authScheme;
@@ -109,6 +125,13 @@ const _AuthHandler = class _AuthHandler {
109
125
  if (!authCredential || !authCredential.oauth2) {
110
126
  return authCredential;
111
127
  }
128
+ const oauth2 = authCredential.oauth2;
129
+ const codeChallengeMethod = oauth2.codeChallengeMethod;
130
+ if (codeChallengeMethod && codeChallengeMethod !== S256_CODE_CHALLENGE_METHOD) {
131
+ throw new Error(
132
+ `Unsupported codeChallengeMethod: ${codeChallengeMethod}. Only '${S256_CODE_CHALLENGE_METHOD}' is supported.`
133
+ );
134
+ }
112
135
  let authorizationEndpoint = "";
113
136
  let scopes = [];
114
137
  if ("authorizationEndpoint" in authScheme) {
@@ -133,22 +156,35 @@ const _AuthHandler = class _AuthHandler {
133
156
  }
134
157
  const state = (0, import_env_aware_utils.randomUUID)();
135
158
  const url = new URL(authorizationEndpoint);
136
- url.searchParams.set("client_id", authCredential.oauth2.clientId || "");
137
- url.searchParams.set(
138
- "redirect_uri",
139
- authCredential.oauth2.redirectUri || ""
140
- );
159
+ url.searchParams.set("client_id", oauth2.clientId || "");
160
+ url.searchParams.set("redirect_uri", oauth2.redirectUri || "");
141
161
  url.searchParams.set("response_type", "code");
142
162
  url.searchParams.set("scope", scopes.join(" "));
143
163
  url.searchParams.set("state", state);
144
164
  url.searchParams.set("access_type", "offline");
145
165
  url.searchParams.set("prompt", "consent");
166
+ if (oauth2.audience) {
167
+ url.searchParams.set("audience", oauth2.audience);
168
+ }
169
+ if (oauth2.nonce) {
170
+ url.searchParams.set("nonce", oauth2.nonce);
171
+ }
172
+ let codeVerifier = oauth2.codeVerifier;
173
+ if (codeChallengeMethod) {
174
+ codeVerifier != null ? codeVerifier : codeVerifier = (0, import_oauth2_utils.generateCodeVerifier)();
175
+ url.searchParams.set(
176
+ "code_challenge",
177
+ (0, import_oauth2_utils.createS256CodeChallenge)(codeVerifier)
178
+ );
179
+ url.searchParams.set("code_challenge_method", codeChallengeMethod);
180
+ }
146
181
  const exchangedAuthCredential = {
147
182
  ...authCredential,
148
183
  oauth2: {
149
- ...authCredential.oauth2,
184
+ ...oauth2,
150
185
  authUri: url.toString(),
151
- state
186
+ state,
187
+ codeVerifier
152
188
  }
153
189
  };
154
190
  return exchangedAuthCredential;
@@ -41,7 +41,7 @@ const _OAuth2CredentialRefresher = class _OAuth2CredentialRefresher {
41
41
  *
42
42
  * @param authCredential The OAuth2 credential to check.
43
43
  * @param authScheme The OAuth2 authentication scheme (optional).
44
- * @returns True if the credential needs to be refreshed, False otherwise.
44
+ * @returns True if the credential needs to be refreshed, false otherwise.
45
45
  */
46
46
  async isRefreshNeeded(authCredential) {
47
47
  if (!authCredential.oauth2) {
@@ -26,19 +26,32 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
26
26
  var oauth2_utils_exports = {};
27
27
  __export(oauth2_utils_exports, {
28
28
  createOAuth2TokenRequestBody: () => createOAuth2TokenRequestBody,
29
+ createS256CodeChallenge: () => createS256CodeChallenge,
29
30
  fetchOAuth2Tokens: () => fetchOAuth2Tokens,
31
+ generateCodeVerifier: () => generateCodeVerifier,
30
32
  getTokenEndpoint: () => getTokenEndpoint,
31
33
  isTokenExpired: () => isTokenExpired,
32
34
  parseAuthorizationCode: () => parseAuthorizationCode
33
35
  });
34
36
  module.exports = __toCommonJS(oauth2_utils_exports);
37
+ var import_node_crypto = require("node:crypto");
35
38
  var import_logger = require("../../utils/logger.js");
39
+ var import_redact_uri = require("../../utils/redact_uri.js");
36
40
  var import_oauth2_discovery = require("./oauth2_discovery.js");
37
41
  /**
38
42
  * @license
39
43
  * Copyright 2026 Google LLC
40
44
  * SPDX-License-Identifier: Apache-2.0
41
45
  */
46
+ const CODE_VERIFIER_BYTES = 36;
47
+ function generateCodeVerifier() {
48
+ return (0, import_node_crypto.randomBytes)(CODE_VERIFIER_BYTES).toString("base64url");
49
+ }
50
+ __name(generateCodeVerifier, "generateCodeVerifier");
51
+ function createS256CodeChallenge(codeVerifier) {
52
+ return (0, import_node_crypto.createHash)("sha256").update(codeVerifier).digest("base64url");
53
+ }
54
+ __name(createS256CodeChallenge, "createS256CodeChallenge");
42
55
  function getTokenEndpoint(authScheme) {
43
56
  if (authScheme.type === "openIdConnect" && authScheme.tokenEndpoint) {
44
57
  return authScheme.tokenEndpoint;
@@ -93,8 +106,8 @@ function parseAuthorizationCode(uri) {
93
106
  try {
94
107
  const url = new URL(uri);
95
108
  return url.searchParams.get("code") || void 0;
96
- } catch (e) {
97
- import_logger.logger.warn(`Failed to parse authorization URI ${uri}: ${e}`);
109
+ } catch {
110
+ import_logger.logger.warn(`Failed to parse authorization URI ${(0, import_redact_uri.redactUriPassword)(uri)}`);
98
111
  return void 0;
99
112
  }
100
113
  }
@@ -129,7 +142,9 @@ __name(isTokenExpired, "isTokenExpired");
129
142
  // Annotate the CommonJS export names for ESM import in node:
130
143
  0 && (module.exports = {
131
144
  createOAuth2TokenRequestBody,
145
+ createS256CodeChallenge,
132
146
  fetchOAuth2Tokens,
147
+ generateCodeVerifier,
133
148
  getTokenEndpoint,
134
149
  isTokenExpired,
135
150
  parseAuthorizationCode
@@ -35,7 +35,7 @@ module.exports = __toCommonJS(base_code_executor_exports);
35
35
  * SPDX-License-Identifier: Apache-2.0
36
36
  */
37
37
  var _a;
38
- const BASE_CODE_EXECUTOR_SIGNATURE_SYMBOL = Symbol.for(
38
+ const BASE_CODE_EXECUTOR_SIGNATURE_SYMBOL = /* @__PURE__ */ Symbol.for(
39
39
  "google.adk.baseCodeExecutor"
40
40
  );
41
41
  function isBaseCodeExecutor(obj) {
@@ -37,7 +37,7 @@ var import_base_code_executor = require("./base_code_executor.js");
37
37
  * SPDX-License-Identifier: Apache-2.0
38
38
  */
39
39
  var _a, _b;
40
- const BUILT_IN_CODE_EXECUTOR_SIGNATURE_SYMBOL = Symbol.for(
40
+ const BUILT_IN_CODE_EXECUTOR_SIGNATURE_SYMBOL = /* @__PURE__ */ Symbol.for(
41
41
  "google.adk.builtInCodeExecutor"
42
42
  );
43
43
  function isBuiltInCodeExecutor(obj) {
@@ -70,7 +70,7 @@ function extractCodeAndTruncateContent(content, codeBlockDelimiters) {
70
70
  const part = content.parts[i];
71
71
  if (part.executableCode && (i === content.parts.length - 1 || !content.parts[i + 1].codeExecutionResult)) {
72
72
  content.parts = content.parts.slice(0, i + 1);
73
- return part.executableCode.code;
73
+ return part.executableCode.code || "";
74
74
  }
75
75
  }
76
76
  const textParts = content.parts.filter((part) => part.text);
@@ -145,12 +145,12 @@ function convertCodeExecutionParts(content, codeBlockDelimiter, executionResultD
145
145
  const lastPart = content.parts[content.parts.length - 1];
146
146
  if (lastPart.executableCode) {
147
147
  content.parts[content.parts.length - 1] = {
148
- text: codeBlockDelimiter[0] + lastPart.executableCode.code + codeBlockDelimiter[1]
148
+ text: codeBlockDelimiter[0] + (lastPart.executableCode.code || "") + codeBlockDelimiter[1]
149
149
  };
150
150
  } else if (content.parts.length == 1 && lastPart.codeExecutionResult) {
151
- content.parts[content.parts.length - 1] = {
152
- text: executionResultDelimiters[0] + lastPart.codeExecutionResult.output + executionResultDelimiters[1]
153
- };
151
+ const output = lastPart.codeExecutionResult.output;
152
+ const text = output == null ? "" : executionResultDelimiters[0] + output + executionResultDelimiters[1];
153
+ content.parts[content.parts.length - 1] = { text };
154
154
  content.role = "user";
155
155
  }
156
156
  }