@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
@@ -25,17 +25,92 @@ var __copyProps = (to, from, except, desc) => {
25
25
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
26
26
  var auth_helpers_exports = {};
27
27
  __export(auth_helpers_exports, {
28
+ INTERNAL_AUTH_PREFIX: () => INTERNAL_AUTH_PREFIX,
28
29
  applyCredential: () => applyCredential,
29
30
  createApiKeyScheme: () => createApiKeyScheme,
30
- createBearerScheme: () => createBearerScheme
31
+ createBearerScheme: () => createBearerScheme,
32
+ credentialToParam: () => credentialToParam,
33
+ dictToAuthScheme: () => dictToAuthScheme,
34
+ openidDictToSchemeCredential: () => openidDictToSchemeCredential,
35
+ openidUrlToSchemeCredential: () => openidUrlToSchemeCredential,
36
+ serviceAccountDictToSchemeCredential: () => serviceAccountDictToSchemeCredential,
37
+ serviceAccountSchemeCredential: () => serviceAccountSchemeCredential,
38
+ tokenToSchemeCredential: () => tokenToSchemeCredential
31
39
  });
32
40
  module.exports = __toCommonJS(auth_helpers_exports);
41
+ var import_zod = require("zod");
42
+ var import_auth_credential = require("../../../auth/auth_credential.js");
43
+ var import_case_utils = require("../../../utils/case_utils.js");
33
44
  /**
34
45
  * @license
35
46
  * Copyright 2026 Google LLC
36
47
  * SPDX-License-Identifier: Apache-2.0
37
48
  */
49
+ const INTERNAL_AUTH_PREFIX = "_auth_prefix_vaf_";
50
+ const API_KEY_LOCATIONS = ["header", "query", "cookie"];
51
+ const OPENID_FETCH_TIMEOUT_MS = 1e4;
52
+ const REQUIRED_CREDENTIAL_FIELDS = ["client_id", "client_secret"];
53
+ const scopesSchema = import_zod.z.record(import_zod.z.string(), import_zod.z.string()).default({});
54
+ const OAuthFlowsSchema = import_zod.z.looseObject({
55
+ implicit: import_zod.z.looseObject({
56
+ authorizationUrl: import_zod.z.string(),
57
+ refreshUrl: import_zod.z.string().optional(),
58
+ scopes: scopesSchema
59
+ }).optional(),
60
+ password: import_zod.z.looseObject({
61
+ tokenUrl: import_zod.z.string(),
62
+ refreshUrl: import_zod.z.string().optional(),
63
+ scopes: scopesSchema
64
+ }).optional(),
65
+ clientCredentials: import_zod.z.looseObject({
66
+ tokenUrl: import_zod.z.string(),
67
+ refreshUrl: import_zod.z.string().optional(),
68
+ scopes: scopesSchema
69
+ }).optional(),
70
+ authorizationCode: import_zod.z.looseObject({
71
+ authorizationUrl: import_zod.z.string(),
72
+ tokenUrl: import_zod.z.string(),
73
+ refreshUrl: import_zod.z.string().optional(),
74
+ scopes: scopesSchema
75
+ }).optional()
76
+ });
77
+ const ApiKeySchemeSchema = import_zod.z.looseObject({
78
+ type: import_zod.z.literal("apiKey"),
79
+ description: import_zod.z.string().optional(),
80
+ name: import_zod.z.string(),
81
+ in: import_zod.z.enum(API_KEY_LOCATIONS)
82
+ });
83
+ const HttpSchemeSchema = import_zod.z.looseObject({
84
+ type: import_zod.z.literal("http"),
85
+ description: import_zod.z.string().optional(),
86
+ scheme: import_zod.z.string(),
87
+ bearerFormat: import_zod.z.string().optional()
88
+ });
89
+ const Oauth2SchemeSchema = import_zod.z.looseObject({
90
+ type: import_zod.z.literal("oauth2"),
91
+ description: import_zod.z.string().optional(),
92
+ flows: OAuthFlowsSchema
93
+ });
94
+ const OpenIdConnectSchemeSchema = import_zod.z.looseObject({
95
+ type: import_zod.z.literal("openIdConnect"),
96
+ description: import_zod.z.string().optional(),
97
+ openIdConnectUrl: import_zod.z.string()
98
+ });
99
+ const OpenIdConnectConfigSchema = import_zod.z.looseObject({
100
+ type: import_zod.z.literal("openIdConnect").default("openIdConnect"),
101
+ description: import_zod.z.string().optional(),
102
+ openIdConnectUrl: import_zod.z.string().default(""),
103
+ authorizationEndpoint: import_zod.z.string(),
104
+ tokenEndpoint: import_zod.z.string(),
105
+ userinfoEndpoint: import_zod.z.string().optional(),
106
+ revocationEndpoint: import_zod.z.string().optional(),
107
+ tokenEndpointAuthMethodsSupported: import_zod.z.array(import_zod.z.string()).optional(),
108
+ grantTypesSupported: import_zod.z.array(import_zod.z.string()).optional(),
109
+ scopes: import_zod.z.array(import_zod.z.string()).optional()
110
+ });
111
+ const JsonObjectSchema = import_zod.z.record(import_zod.z.string(), import_zod.z.unknown());
38
112
  function applyCredential(url, headers, credential, authScheme) {
113
+ var _a;
39
114
  if (!credential) return url;
40
115
  if (credential.apiKey) {
41
116
  let inLocation;
@@ -53,8 +128,15 @@ function applyCredential(url, headers, credential, authScheme) {
53
128
  } else {
54
129
  headers["Authorization"] = credential.apiKey;
55
130
  }
56
- } else if (credential.http && credential.http.credentials && credential.http.credentials.token) {
57
- headers["Authorization"] = `Bearer ${credential.http.credentials.token}`;
131
+ } else if (credential.authType === import_auth_credential.AuthCredentialTypes.HTTP || credential.http) {
132
+ const httpCredentials = (_a = credential.http) == null ? void 0 : _a.credentials;
133
+ if (httpCredentials == null ? void 0 : httpCredentials.token) {
134
+ headers["Authorization"] = `Bearer ${httpCredentials.token}`;
135
+ } else if ((httpCredentials == null ? void 0 : httpCredentials.username) || (httpCredentials == null ? void 0 : httpCredentials.password)) {
136
+ throw new Error("Basic Authentication is not supported.");
137
+ } else {
138
+ throw new Error("Invalid HTTP auth credentials");
139
+ }
58
140
  }
59
141
  return url;
60
142
  }
@@ -74,9 +156,215 @@ function createBearerScheme() {
74
156
  };
75
157
  }
76
158
  __name(createBearerScheme, "createBearerScheme");
159
+ function isApiKeyLocation(value) {
160
+ return API_KEY_LOCATIONS.some((location) => location === value);
161
+ }
162
+ __name(isApiKeyLocation, "isApiKeyLocation");
163
+ function bearerJwtScheme() {
164
+ return { type: "http", scheme: "bearer", bearerFormat: "JWT" };
165
+ }
166
+ __name(bearerJwtScheme, "bearerJwtScheme");
167
+ function bearerTokenParam(authScheme, token) {
168
+ var _a;
169
+ const param = {
170
+ originalName: "Authorization",
171
+ paramLocation: "header",
172
+ paramSchema: { type: "string" },
173
+ description: (_a = authScheme.description) != null ? _a : "Bearer token",
174
+ name: `${INTERNAL_AUTH_PREFIX}Authorization`,
175
+ required: true
176
+ };
177
+ return [param, { [param.name]: `Bearer ${token}` }];
178
+ }
179
+ __name(bearerTokenParam, "bearerTokenParam");
180
+ function tokenToSchemeCredential(tokenType, location, name, credentialValue) {
181
+ if (tokenType === "apikey") {
182
+ if (!isApiKeyLocation(location)) {
183
+ throw new Error(`Invalid location for apiKey: ${location}`);
184
+ }
185
+ const authScheme = {
186
+ type: "apiKey",
187
+ in: location,
188
+ name: name != null ? name : ""
189
+ };
190
+ const authCredential = credentialValue ? { authType: import_auth_credential.AuthCredentialTypes.API_KEY, apiKey: credentialValue } : void 0;
191
+ return [authScheme, authCredential];
192
+ }
193
+ if (tokenType === "oauth2Token") {
194
+ const authCredential = credentialValue ? {
195
+ authType: import_auth_credential.AuthCredentialTypes.HTTP,
196
+ http: { scheme: "bearer", credentials: { token: credentialValue } }
197
+ } : void 0;
198
+ return [bearerJwtScheme(), authCredential];
199
+ }
200
+ throw new Error(`Invalid security scheme type: ${tokenType}`);
201
+ }
202
+ __name(tokenToSchemeCredential, "tokenToSchemeCredential");
203
+ function serviceAccountDictToSchemeCredential(config, scopes) {
204
+ const authCredential = {
205
+ authType: import_auth_credential.AuthCredentialTypes.SERVICE_ACCOUNT,
206
+ serviceAccount: {
207
+ // The reference calls `ServiceAccountCredential.model_construct`, which
208
+ // skips validation on purpose, so the port does not validate either.
209
+ serviceAccountCredential: (0, import_case_utils.camelCaseKeys)(
210
+ config
211
+ ),
212
+ scopes
213
+ }
214
+ };
215
+ return [bearerJwtScheme(), authCredential];
216
+ }
217
+ __name(serviceAccountDictToSchemeCredential, "serviceAccountDictToSchemeCredential");
218
+ function serviceAccountSchemeCredential(config) {
219
+ const authCredential = {
220
+ authType: import_auth_credential.AuthCredentialTypes.SERVICE_ACCOUNT,
221
+ serviceAccount: config
222
+ };
223
+ return [bearerJwtScheme(), authCredential];
224
+ }
225
+ __name(serviceAccountSchemeCredential, "serviceAccountSchemeCredential");
226
+ function openidDictToSchemeCredential(configDict, scopes, credentialDict) {
227
+ const parsedConfig = OpenIdConnectConfigSchema.safeParse(
228
+ (0, import_case_utils.camelCaseKeys)(configDict)
229
+ );
230
+ if (!parsedConfig.success) {
231
+ throw new Error(
232
+ `Invalid OpenID Connect configuration: ${import_zod.z.prettifyError(parsedConfig.error)}`
233
+ );
234
+ }
235
+ const openidScheme = { ...parsedConfig.data, scopes };
236
+ const values = Object.values(credentialDict);
237
+ if (values.length === 1) {
238
+ const wrapped = JsonObjectSchema.safeParse(values[0]);
239
+ if (wrapped.success && "client_id" in wrapped.data && "client_secret" in wrapped.data) {
240
+ credentialDict = wrapped.data;
241
+ }
242
+ }
243
+ const missingFields = REQUIRED_CREDENTIAL_FIELDS.filter(
244
+ (field) => !(field in credentialDict)
245
+ );
246
+ if (missingFields.length > 0) {
247
+ throw new Error(
248
+ `Missing required fields in credential_dict: ${missingFields.join(", ")}`
249
+ );
250
+ }
251
+ const authCredential = {
252
+ authType: import_auth_credential.AuthCredentialTypes.OPEN_ID_CONNECT,
253
+ oauth2: {
254
+ clientId: String(credentialDict["client_id"]),
255
+ clientSecret: String(credentialDict["client_secret"]),
256
+ redirectUri: "redirect_uri" in credentialDict ? String(credentialDict["redirect_uri"]) : void 0
257
+ }
258
+ };
259
+ return [openidScheme, authCredential];
260
+ }
261
+ __name(openidDictToSchemeCredential, "openidDictToSchemeCredential");
262
+ async function openidUrlToSchemeCredential(openidUrl, scopes, credentialDict) {
263
+ let response;
264
+ try {
265
+ response = await fetch(openidUrl, {
266
+ signal: AbortSignal.timeout(OPENID_FETCH_TIMEOUT_MS)
267
+ });
268
+ if (!response.ok) {
269
+ throw new Error(`responded with status ${response.status}`);
270
+ }
271
+ } catch (e) {
272
+ throw new Error(
273
+ `Failed to fetch OpenID configuration from ${openidUrl}: ${String(e)}`
274
+ );
275
+ }
276
+ let configDict;
277
+ try {
278
+ configDict = JsonObjectSchema.parse(await response.json());
279
+ } catch (e) {
280
+ throw new Error(
281
+ `Invalid JSON response from OpenID configuration endpoint ${openidUrl}: ${String(e)}`
282
+ );
283
+ }
284
+ return openidDictToSchemeCredential(
285
+ { ...configDict, openIdConnectUrl: openidUrl },
286
+ scopes,
287
+ credentialDict
288
+ );
289
+ }
290
+ __name(openidUrlToSchemeCredential, "openidUrlToSchemeCredential");
291
+ function credentialToParam(authScheme, authCredential) {
292
+ var _a, _b, _c, _d;
293
+ if (!authCredential) {
294
+ return [void 0, void 0];
295
+ }
296
+ if (authScheme.type === "apiKey" && authCredential.apiKey) {
297
+ if (!isApiKeyLocation(authScheme.in)) {
298
+ throw new Error(`Invalid API Key location: ${authScheme.in}`);
299
+ }
300
+ const paramName = authScheme.name || "";
301
+ const param = {
302
+ originalName: paramName,
303
+ paramLocation: authScheme.in,
304
+ paramSchema: { type: "string" },
305
+ description: (_a = authScheme.description) != null ? _a : "",
306
+ name: INTERNAL_AUTH_PREFIX + paramName,
307
+ required: true
308
+ };
309
+ return [param, { [param.name]: authCredential.apiKey }];
310
+ }
311
+ if (authCredential.authType === import_auth_credential.AuthCredentialTypes.HTTP) {
312
+ const credentials = (_b = authCredential.http) == null ? void 0 : _b.credentials;
313
+ if (credentials == null ? void 0 : credentials.token) {
314
+ return bearerTokenParam(authScheme, credentials.token);
315
+ }
316
+ if ((credentials == null ? void 0 : credentials.username) || (credentials == null ? void 0 : credentials.password)) {
317
+ throw new Error("Basic Authentication is not supported.");
318
+ }
319
+ throw new Error("Invalid HTTP auth credentials");
320
+ }
321
+ if (authScheme.type === "oauth2" || authScheme.type === "openIdConnect") {
322
+ const token = (_d = (_c = authCredential.http) == null ? void 0 : _c.credentials) == null ? void 0 : _d.token;
323
+ return token ? bearerTokenParam(authScheme, token) : [void 0, void 0];
324
+ }
325
+ throw new Error("Invalid security scheme and credential combination");
326
+ }
327
+ __name(credentialToParam, "credentialToParam");
328
+ function parseSecurityScheme(schema, data) {
329
+ const result = schema.safeParse(data);
330
+ if (!result.success) {
331
+ throw new Error(
332
+ `Invalid security scheme data: ${import_zod.z.prettifyError(result.error)}`
333
+ );
334
+ }
335
+ return result.data;
336
+ }
337
+ __name(parseSecurityScheme, "parseSecurityScheme");
338
+ function dictToAuthScheme(data) {
339
+ if (!("type" in data)) {
340
+ throw new Error("Missing 'type' field in security scheme dictionary.");
341
+ }
342
+ const securityType = data["type"];
343
+ switch (securityType) {
344
+ case "apiKey":
345
+ return parseSecurityScheme(ApiKeySchemeSchema, data);
346
+ case "http":
347
+ return parseSecurityScheme(HttpSchemeSchema, data);
348
+ case "oauth2":
349
+ return parseSecurityScheme(Oauth2SchemeSchema, data);
350
+ case "openIdConnect":
351
+ return parseSecurityScheme(OpenIdConnectSchemeSchema, data);
352
+ default:
353
+ throw new Error(`Invalid security scheme type: ${securityType}`);
354
+ }
355
+ }
356
+ __name(dictToAuthScheme, "dictToAuthScheme");
77
357
  // Annotate the CommonJS export names for ESM import in node:
78
358
  0 && (module.exports = {
359
+ INTERNAL_AUTH_PREFIX,
79
360
  applyCredential,
80
361
  createApiKeyScheme,
81
- createBearerScheme
362
+ createBearerScheme,
363
+ credentialToParam,
364
+ dictToAuthScheme,
365
+ openidDictToSchemeCredential,
366
+ openidUrlToSchemeCredential,
367
+ serviceAccountDictToSchemeCredential,
368
+ serviceAccountSchemeCredential,
369
+ tokenToSchemeCredential
82
370
  });
@@ -46,7 +46,12 @@ var import_service_account_exchanger = require("./service_account_exchanger.js")
46
46
  * SPDX-License-Identifier: Apache-2.0
47
47
  */
48
48
  let AutoAuthCredentialExchanger = class {
49
- constructor() {
49
+ /**
50
+ * @param customExchangers - Optional exchangers that add to or override the
51
+ * built-in ones. The key is the auth credential type; the value is the
52
+ * exchanger instance to use for that type.
53
+ */
54
+ constructor(customExchangers) {
50
55
  this.exchangers = /* @__PURE__ */ new Map();
51
56
  this.exchangers.set(
52
57
  import_auth_credential.AuthCredentialTypes.OAUTH2,
@@ -60,9 +65,18 @@ let AutoAuthCredentialExchanger = class {
60
65
  import_auth_credential.AuthCredentialTypes.SERVICE_ACCOUNT,
61
66
  new import_service_account_exchanger.ServiceAccountCredentialExchanger()
62
67
  );
68
+ for (const authType of Object.values(import_auth_credential.AuthCredentialTypes)) {
69
+ const customExchanger = customExchangers == null ? void 0 : customExchangers[authType];
70
+ if (customExchanger) {
71
+ this.exchangers.set(authType, customExchanger);
72
+ }
73
+ }
63
74
  }
64
75
  async exchange(params) {
65
76
  const { authCredential, authScheme } = params;
77
+ if (!authCredential) {
78
+ return null;
79
+ }
66
80
  const exchanger = this.exchangers.get(authCredential.authType);
67
81
  if (!exchanger) {
68
82
  return {
@@ -0,0 +1,70 @@
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 __decorateClass = (decorators, target, key, kind) => {
27
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
28
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
29
+ if (decorator = decorators[i])
30
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
31
+ if (kind && result) __defProp(target, key, result);
32
+ return result;
33
+ };
34
+ var base_auth_credential_exchanger_exports = {};
35
+ __export(base_auth_credential_exchanger_exports, {
36
+ AuthCredentialMissingError: () => AuthCredentialMissingError,
37
+ BaseAuthCredentialExchanger: () => BaseAuthCredentialExchanger
38
+ });
39
+ module.exports = __toCommonJS(base_auth_credential_exchanger_exports);
40
+ var import_experimental = require("../../../../utils/experimental.js");
41
+ /**
42
+ * @license
43
+ * Copyright 2026 Google LLC
44
+ * SPDX-License-Identifier: Apache-2.0
45
+ */
46
+ const _AuthCredentialMissingError = class _AuthCredentialMissingError extends Error {
47
+ constructor(message) {
48
+ super(message);
49
+ this.name = "AuthCredentialMissingError";
50
+ }
51
+ };
52
+ __name(_AuthCredentialMissingError, "AuthCredentialMissingError");
53
+ let AuthCredentialMissingError = _AuthCredentialMissingError;
54
+ let BaseAuthCredentialExchanger = class {
55
+ exchangeCredential(_authScheme, _authCredential) {
56
+ throw new Error("Subclasses must implement exchangeCredential.");
57
+ }
58
+ };
59
+ __name(BaseAuthCredentialExchanger, "BaseAuthCredentialExchanger");
60
+ __decorateClass([
61
+ import_experimental.experimental
62
+ ], BaseAuthCredentialExchanger.prototype, "exchangeCredential", 1);
63
+ BaseAuthCredentialExchanger = __decorateClass([
64
+ import_experimental.experimental
65
+ ], BaseAuthCredentialExchanger);
66
+ // Annotate the CommonJS export names for ESM import in node:
67
+ 0 && (module.exports = {
68
+ AuthCredentialMissingError,
69
+ BaseAuthCredentialExchanger
70
+ });
@@ -0,0 +1,120 @@
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 __decorateClass = (decorators, target, key, kind) => {
27
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
28
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
29
+ if (decorator = decorators[i])
30
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
31
+ if (kind && result) __defProp(target, key, result);
32
+ return result;
33
+ };
34
+ var oauth2_exchanger_exports = {};
35
+ __export(oauth2_exchanger_exports, {
36
+ OAuth2BearerExchanger: () => OAuth2BearerExchanger,
37
+ checkSchemeCredentialType: () => checkSchemeCredentialType,
38
+ exchangeCredential: () => exchangeCredential,
39
+ generateAuthToken: () => generateAuthToken
40
+ });
41
+ module.exports = __toCommonJS(oauth2_exchanger_exports);
42
+ var import_auth_credential = require("../../../../auth/auth_credential.js");
43
+ var import_experimental = require("../../../../utils/experimental.js");
44
+ /**
45
+ * @license
46
+ * Copyright 2026 Google LLC
47
+ * SPDX-License-Identifier: Apache-2.0
48
+ */
49
+ function checkSchemeCredentialType(authScheme, authCredential) {
50
+ if (!authCredential) {
51
+ throw new Error(
52
+ "auth_credential is empty. Please create AuthCredential using OAuth2Auth."
53
+ );
54
+ }
55
+ if (authScheme.type !== "openIdConnect" && authScheme.type !== "oauth2") {
56
+ throw new Error(
57
+ `Invalid security scheme, expect AuthSchemeType.openIdConnect or AuthSchemeType.oauth2 auth scheme, but got ${authScheme.type}`
58
+ );
59
+ }
60
+ if (!authCredential.oauth2 && !authCredential.http) {
61
+ throw new Error(
62
+ "auth_credential is not configured with oauth2. Please create AuthCredential and set OAuth2Auth."
63
+ );
64
+ }
65
+ }
66
+ __name(checkSchemeCredentialType, "checkSchemeCredentialType");
67
+ function generateAuthToken(authCredential) {
68
+ var _a;
69
+ const accessToken = (_a = authCredential.oauth2) == null ? void 0 : _a.accessToken;
70
+ if (!accessToken) {
71
+ return authCredential;
72
+ }
73
+ return {
74
+ authType: import_auth_credential.AuthCredentialTypes.HTTP,
75
+ http: {
76
+ scheme: "bearer",
77
+ credentials: { token: accessToken }
78
+ }
79
+ };
80
+ }
81
+ __name(generateAuthToken, "generateAuthToken");
82
+ function exchangeCredential(authScheme, authCredential) {
83
+ var _a, _b;
84
+ checkSchemeCredentialType(authScheme, authCredential);
85
+ if (authCredential.http) {
86
+ return authCredential;
87
+ }
88
+ if (((_a = authCredential.oauth2) == null ? void 0 : _a.accessToken) || ((_b = authCredential.oauth2) == null ? void 0 : _b.refreshToken)) {
89
+ return generateAuthToken(authCredential);
90
+ }
91
+ return null;
92
+ }
93
+ __name(exchangeCredential, "exchangeCredential");
94
+ let OAuth2BearerExchanger = class {
95
+ async exchange(params) {
96
+ const { authScheme, authCredential } = params;
97
+ if (!authScheme) {
98
+ throw new Error("authScheme is required for OAuth2 credential exchange");
99
+ }
100
+ const credential = exchangeCredential(authScheme, authCredential);
101
+ return {
102
+ credential: credential != null ? credential : authCredential,
103
+ wasExchanged: credential !== null && credential !== authCredential
104
+ };
105
+ }
106
+ };
107
+ __name(OAuth2BearerExchanger, "OAuth2BearerExchanger");
108
+ __decorateClass([
109
+ import_experimental.experimental
110
+ ], OAuth2BearerExchanger.prototype, "exchange", 1);
111
+ OAuth2BearerExchanger = __decorateClass([
112
+ import_experimental.experimental
113
+ ], OAuth2BearerExchanger);
114
+ // Annotate the CommonJS export names for ESM import in node:
115
+ 0 && (module.exports = {
116
+ OAuth2BearerExchanger,
117
+ checkSchemeCredentialType,
118
+ exchangeCredential,
119
+ generateAuthToken
120
+ });
@@ -38,21 +38,20 @@ __export(service_account_exchanger_exports, {
38
38
  module.exports = __toCommonJS(service_account_exchanger_exports);
39
39
  var import_google_auth_library = require("google-auth-library");
40
40
  var import_auth_credential = require("../../../../auth/auth_credential.js");
41
- var import_base_credential_exchanger = require("../../../../auth/exchanger/base_credential_exchanger.js");
42
41
  var import_experimental = require("../../../../utils/experimental.js");
42
+ var import_base_auth_credential_exchanger = require("./base_auth_credential_exchanger.js");
43
43
  /**
44
44
  * @license
45
45
  * Copyright 2026 Google LLC
46
46
  * SPDX-License-Identifier: Apache-2.0
47
47
  */
48
48
  const DEFAULT_SCOPES = ["https://www.googleapis.com/auth/cloud-platform"];
49
+ const MISSING_SERVICE_ACCOUNT_CREDENTIALS = "Service account credentials are missing. Please provide them, or set `useDefaultCredential: true` to use application default credentials in a hosted service like Cloud Run.";
49
50
  let ServiceAccountCredentialExchanger = class {
50
51
  async exchange(params) {
51
52
  const { authCredential } = params;
52
- if (authCredential.authType !== import_auth_credential.AuthCredentialTypes.SERVICE_ACCOUNT || !authCredential.serviceAccount) {
53
- throw new import_base_credential_exchanger.CredentialExchangeError(
54
- "Invalid credential type for ServiceAccountCredentialExchanger"
55
- );
53
+ if (!authCredential.serviceAccount) {
54
+ throw new import_base_auth_credential_exchanger.AuthCredentialMissingError(MISSING_SERVICE_ACCOUNT_CREDENTIALS);
56
55
  }
57
56
  const saConfig = authCredential.serviceAccount;
58
57
  if (saConfig.useDefaultCredential) {
@@ -82,7 +81,7 @@ let ServiceAccountCredentialExchanger = class {
82
81
  wasExchanged: true
83
82
  };
84
83
  } catch (error) {
85
- throw new import_base_credential_exchanger.CredentialExchangeError(
84
+ throw new import_base_auth_credential_exchanger.AuthCredentialMissingError(
86
85
  `Failed to exchange default service account token: ${error.message}`
87
86
  );
88
87
  }
@@ -90,14 +89,15 @@ let ServiceAccountCredentialExchanger = class {
90
89
  async exchangeForExplicitCredential(saConfig) {
91
90
  const creds = saConfig.serviceAccountCredential;
92
91
  if (!creds) {
93
- throw new import_base_credential_exchanger.CredentialExchangeError(
94
- "Service account credentials are missing."
95
- );
92
+ throw new import_base_auth_credential_exchanger.AuthCredentialMissingError(MISSING_SERVICE_ACCOUNT_CREDENTIALS);
96
93
  }
97
94
  try {
98
95
  const client = new import_google_auth_library.JWT({
99
96
  email: creds.clientEmail,
100
97
  key: creds.privateKey,
98
+ keyId: creds.privateKeyId,
99
+ projectId: creds.projectId,
100
+ universeDomain: creds.universeDomain,
101
101
  scopes: saConfig.scopes
102
102
  });
103
103
  const tokens = await client.authorize();
@@ -116,7 +116,7 @@ let ServiceAccountCredentialExchanger = class {
116
116
  wasExchanged: true
117
117
  };
118
118
  } catch (error) {
119
- throw new import_base_credential_exchanger.CredentialExchangeError(
119
+ throw new import_base_auth_credential_exchanger.AuthCredentialMissingError(
120
120
  `Failed to exchange explicit service account token: ${error.message}`
121
121
  );
122
122
  }