@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,139 @@
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 common_exports = {};
27
+ __export(common_exports, {
28
+ createApiParameter: () => createApiParameter,
29
+ generateParamDoc: () => generateParamDoc,
30
+ generateReturnDoc: () => generateReturnDoc,
31
+ getTypeHint: () => getTypeHint
32
+ });
33
+ module.exports = __toCommonJS(common_exports);
34
+ var import_case_utils = require("../../../utils/case_utils.js");
35
+ /**
36
+ * @license
37
+ * Copyright 2026 Google LLC
38
+ * SPDX-License-Identifier: Apache-2.0
39
+ */
40
+ const ANY_TYPE_HINT = "Any";
41
+ const PARAM_PROPERTY_INDENT = " ";
42
+ const RETURN_PROPERTY_INDENT = " ";
43
+ const TYPE_HINTS = {
44
+ integer: "int",
45
+ number: "float",
46
+ boolean: "bool",
47
+ string: "str",
48
+ object: "Dict[str, Any]"
49
+ };
50
+ function getTypeHint(schema) {
51
+ var _a;
52
+ if (!(schema == null ? void 0 : schema.type)) {
53
+ return ANY_TYPE_HINT;
54
+ }
55
+ if (schema.type === "array") {
56
+ return `List[${getArrayItemTypeHint(schema.items)}]`;
57
+ }
58
+ return (_a = TYPE_HINTS[schema.type]) != null ? _a : ANY_TYPE_HINT;
59
+ }
60
+ __name(getTypeHint, "getTypeHint");
61
+ function getArrayItemTypeHint(items) {
62
+ var _a, _b;
63
+ const itemType = (_a = resolveSchema(items)) == null ? void 0 : _a.type;
64
+ if (!itemType || itemType === "array") {
65
+ return ANY_TYPE_HINT;
66
+ }
67
+ return (_b = TYPE_HINTS[itemType]) != null ? _b : ANY_TYPE_HINT;
68
+ }
69
+ __name(getArrayItemTypeHint, "getArrayItemTypeHint");
70
+ function generateParamDoc(param) {
71
+ var _a, _b;
72
+ const description = (_b = (_a = param.description) == null ? void 0 : _a.trim()) != null ? _b : "";
73
+ const typeHint = getTypeHint(param.paramSchema);
74
+ return `${param.name} (${typeHint}): ${description}` + describeProperties(param.paramSchema, PARAM_PROPERTY_INDENT);
75
+ }
76
+ __name(generateParamDoc, "generateParamDoc");
77
+ function generateReturnDoc(responses) {
78
+ var _a;
79
+ const response = Object.entries(responses).filter(([code]) => /^2(\d\d|XX)$/i.test(code)).sort(([a], [b]) => {
80
+ const numeric = /* @__PURE__ */ __name((c) => /^\d+$/.test(c) ? Number(c) : Infinity, "numeric");
81
+ return numeric(a) - numeric(b);
82
+ }).map(([, value]) => value).find(hasContent);
83
+ if (!response) {
84
+ return "";
85
+ }
86
+ const description = (response.description || "").trim();
87
+ const firstMimeType = Object.keys(response.content)[0];
88
+ const schema = resolveSchema((_a = response.content[firstMimeType]) == null ? void 0 : _a.schema);
89
+ return `Returns (${getTypeHint(schema)}): ${description}` + describeProperties(schema, RETURN_PROPERTY_INDENT);
90
+ }
91
+ __name(generateReturnDoc, "generateReturnDoc");
92
+ function hasContent(response) {
93
+ return !("$ref" in response) && response.content !== void 0 && Object.keys(response.content).length > 0;
94
+ }
95
+ __name(hasContent, "hasContent");
96
+ function resolveSchema(schema) {
97
+ return schema && !("$ref" in schema) ? schema : void 0;
98
+ }
99
+ __name(resolveSchema, "resolveSchema");
100
+ function describeProperties(schema, indent) {
101
+ var _a;
102
+ if ((schema == null ? void 0 : schema.type) !== "object") {
103
+ return "";
104
+ }
105
+ const properties = Object.entries((_a = schema.properties) != null ? _a : {});
106
+ if (properties.length === 0) {
107
+ return "";
108
+ }
109
+ return properties.reduce((doc, [propName, propDetails]) => {
110
+ var _a2;
111
+ const propSchema = resolveSchema(propDetails);
112
+ if (!propSchema) {
113
+ return doc;
114
+ }
115
+ const propDesc = (_a2 = propSchema.description) != null ? _a2 : "";
116
+ return `${doc}${indent}${propName} (${getTypeHint(propSchema)}): ${propDesc}
117
+ `;
118
+ }, " Object properties:\n");
119
+ }
120
+ __name(describeProperties, "describeProperties");
121
+ function createApiParameter(init) {
122
+ var _a;
123
+ return {
124
+ originalName: init.originalName,
125
+ paramLocation: init.paramLocation,
126
+ paramSchema: init.paramSchema,
127
+ description: init.description || init.paramSchema.description || "",
128
+ name: init.name || (0, import_case_utils.renameReservedKeywords)((0, import_case_utils.toSnakeCaseName)(init.originalName)),
129
+ required: (_a = init.required) != null ? _a : false
130
+ };
131
+ }
132
+ __name(createApiParameter, "createApiParameter");
133
+ // Annotate the CommonJS export names for ESM import in node:
134
+ 0 && (module.exports = {
135
+ createApiParameter,
136
+ generateParamDoc,
137
+ generateReturnDoc,
138
+ getTypeHint
139
+ });
@@ -36,6 +36,7 @@ __export(openapi_spec_parser_exports, {
36
36
  OpenApiSpecParser: () => OpenApiSpecParser
37
37
  });
38
38
  module.exports = __toCommonJS(openapi_spec_parser_exports);
39
+ var import_case_utils = require("../../../utils/case_utils.js");
39
40
  var import_experimental = require("../../../utils/experimental.js");
40
41
  var import_operation_parser = require("./operation_parser.js");
41
42
  /**
@@ -72,9 +73,13 @@ __decorateClass([
72
73
  OpenApiSpecParser = __decorateClass([
73
74
  import_experimental.experimental
74
75
  ], OpenApiSpecParser);
76
+ function deepCopy(value) {
77
+ return JSON.parse(JSON.stringify(value));
78
+ }
79
+ __name(deepCopy, "deepCopy");
75
80
  function resolveReferences(spec) {
76
81
  const resolvedCache = /* @__PURE__ */ new Map();
77
- const specCopy = JSON.parse(JSON.stringify(spec));
82
+ const specCopy = deepCopy(spec);
78
83
  const recursiveResolve = /* @__PURE__ */ __name((obj, currentDoc, seenRefs = /* @__PURE__ */ new Set()) => {
79
84
  if (typeof obj !== "object" || obj === null) {
80
85
  return obj;
@@ -92,13 +97,13 @@ function resolveReferences(spec) {
92
97
  }
93
98
  seenRefs.add(refString);
94
99
  if (resolvedCache.has(refString)) {
95
- return resolvedCache.get(refString);
100
+ return deepCopy(resolvedCache.get(refString));
96
101
  }
97
102
  let resolvedValue = resolveRef(refString, currentDoc);
98
103
  if (resolvedValue !== void 0) {
99
104
  resolvedValue = recursiveResolve(resolvedValue, currentDoc, seenRefs);
100
105
  resolvedCache.set(refString, resolvedValue);
101
- return resolvedValue;
106
+ return deepCopy(resolvedValue);
102
107
  } else {
103
108
  return obj;
104
109
  }
@@ -129,7 +134,6 @@ function resolveRef(refString, currentDoc) {
129
134
  }
130
135
  __name(resolveRef, "resolveRef");
131
136
  function sanitizeSchemaTypes(openapiSpec) {
132
- const specCopy = JSON.parse(JSON.stringify(openapiSpec));
133
137
  const sanitizeTypeField = /* @__PURE__ */ __name((schemaDict) => {
134
138
  if (!("type" in schemaDict)) return;
135
139
  const typeValue = schemaDict["type"];
@@ -175,7 +179,7 @@ function sanitizeSchemaTypes(openapiSpec) {
175
179
  }
176
180
  return objRecord;
177
181
  }, "sanitizeRecursive");
178
- return sanitizeRecursive(specCopy, false);
182
+ return sanitizeRecursive(openapiSpec, false);
179
183
  }
180
184
  __name(sanitizeSchemaTypes, "sanitizeSchemaTypes");
181
185
  function resolveServerUrl(server) {
@@ -223,7 +227,7 @@ function collectOperations(spec, options = {}) {
223
227
  const opParams = operation.parameters || [];
224
228
  operation.parameters = [...opParams, ...pathParams];
225
229
  if (!operation.operationId) {
226
- operation.operationId = `${method}_${path.replace(/[^a-zA-Z0-9]/g, "_")}`;
230
+ operation.operationId = (0, import_case_utils.toSnakeCaseName)(`${path}_${method}`);
227
231
  }
228
232
  const parser = new import_operation_parser.OperationParser(operation, {
229
233
  preservePropertyNames
@@ -240,6 +244,7 @@ function collectOperations(spec, options = {}) {
240
244
  endpoint: { baseUrl, path, method },
241
245
  operation,
242
246
  parameters: parser.getParameters(),
247
+ returnValue: parser.getReturnValue(),
243
248
  authScheme
244
249
  });
245
250
  }
@@ -36,28 +36,46 @@ __export(operation_parser_exports, {
36
36
  OperationParser: () => OperationParser
37
37
  });
38
38
  module.exports = __toCommonJS(operation_parser_exports);
39
+ var import_case_utils = require("../../../utils/case_utils.js");
39
40
  var import_experimental = require("../../../utils/experimental.js");
41
+ var import_common = require("../common/common.js");
40
42
  /**
41
43
  * @license
42
44
  * Copyright 2026 Google LLC
43
45
  * SPDX-License-Identifier: Apache-2.0
44
46
  */
45
47
  let OperationParser = class {
48
+ /**
49
+ * @param operation The operation to parse. A string is parsed as JSON, and a
50
+ * plain object is used as given.
51
+ * @param options.preservePropertyNames Keeps the original parameter and
52
+ * function names instead of converting them to snake_case.
53
+ * @param options.shouldParse Whether to parse the operation during
54
+ * construction. Defaults to `true`.
55
+ */
46
56
  constructor(operation, options = {}) {
47
- this.operation = operation;
48
57
  this.params = [];
49
- var _a;
58
+ var _a, _b;
59
+ this.operation = typeof operation === "string" ? JSON.parse(operation) : operation;
50
60
  this.preservePropertyNames = (_a = options.preservePropertyNames) != null ? _a : false;
51
- this.processOperationParameters();
52
- this.processRequestBody();
53
- this.processReturnValue();
54
- this.dedupeParamNames();
61
+ if ((_b = options.shouldParse) != null ? _b : true) {
62
+ this.processOperationParameters();
63
+ this.processRequestBody();
64
+ this.returnValue = this.processReturnValue();
65
+ this.dedupeParamNames();
66
+ }
67
+ }
68
+ static load(operation, params, returnValue) {
69
+ const parser = new this(operation, { shouldParse: false });
70
+ parser.params = params;
71
+ parser.returnValue = returnValue;
72
+ return parser;
55
73
  }
56
74
  getParamName(originalName) {
57
75
  if (this.preservePropertyNames) {
58
76
  return originalName;
59
77
  }
60
- return originalName.replace(/[A-Z]/g, (g) => "_" + g.toLowerCase()).replace(/^_/, "");
78
+ return (0, import_case_utils.renameReservedKeywords)((0, import_case_utils.toSnakeCaseName)(originalName));
61
79
  }
62
80
  processOperationParameters() {
63
81
  const parameters = this.operation.parameters || [];
@@ -79,6 +97,7 @@ let OperationParser = class {
79
97
  }
80
98
  }
81
99
  processRequestBody() {
100
+ var _a;
82
101
  const requestBody = this.operation.requestBody;
83
102
  if (!requestBody || "$ref" in requestBody) {
84
103
  return;
@@ -89,9 +108,9 @@ let OperationParser = class {
89
108
  return;
90
109
  }
91
110
  const mediaTypeObject = content[firstMimeType];
92
- const schema = mediaTypeObject.schema;
111
+ const schema = (_a = mediaTypeObject.schema) != null ? _a : {};
93
112
  const description = requestBody.description || "";
94
- if (schema && !("$ref" in schema)) {
113
+ if (!("$ref" in schema)) {
95
114
  if (schema.type === "object") {
96
115
  const properties = schema.properties || {};
97
116
  if (Object.keys(properties).length > 0) {
@@ -146,16 +165,16 @@ let OperationParser = class {
146
165
  if (min20x) {
147
166
  const response = responses[min20x];
148
167
  if (!("$ref" in response) && response.content) {
149
- const firstMimeType = Object.keys(response.content)[0];
150
- if (firstMimeType) {
151
- const schema = response.content[firstMimeType].schema;
168
+ for (const mediaType of Object.values(response.content)) {
169
+ const schema = mediaType.schema;
152
170
  if (schema && !("$ref" in schema)) {
153
171
  returnSchema = schema;
172
+ break;
154
173
  }
155
174
  }
156
175
  }
157
176
  }
158
- this.returnValue = {
177
+ return {
159
178
  originalName: "",
160
179
  paramLocation: "",
161
180
  paramSchema: returnSchema,
@@ -189,7 +208,7 @@ let OperationParser = class {
189
208
  return {
190
209
  type: "object",
191
210
  properties,
192
- required: required.length > 0 ? required : void 0,
211
+ required,
193
212
  title: `${this.operation.operationId || "unnamed"}_Arguments`
194
213
  };
195
214
  }
@@ -203,6 +222,32 @@ let OperationParser = class {
203
222
  getDescription() {
204
223
  return this.operation.description || this.operation.summary || "";
205
224
  }
225
+ getAuthSchemeName() {
226
+ var _a, _b;
227
+ const security = (_a = this.operation.security) != null ? _a : [];
228
+ return security.length > 0 ? (_b = Object.keys(security[0])[0]) != null ? _b : "" : "";
229
+ }
230
+ getReturnValue() {
231
+ return this.returnValue;
232
+ }
233
+ getReturnTypeHint() {
234
+ var _a;
235
+ return (0, import_common.getTypeHint)((_a = this.returnValue) == null ? void 0 : _a.paramSchema);
236
+ }
237
+ getPydocString() {
238
+ var _a;
239
+ const description = this.operation.summary || this.operation.description || "";
240
+ const argLines = this.params.map((param) => ` ${(0, import_common.generateParamDoc)(param)}`).join("\n");
241
+ const returnDoc = (0, import_common.generateReturnDoc)((_a = this.operation.responses) != null ? _a : {});
242
+ const returnBlock = returnDoc ? `
243
+
244
+ ${returnDoc}` : "";
245
+ return `"""${description}
246
+
247
+ Args:
248
+ ${argLines}${returnBlock}
249
+ """`;
250
+ }
206
251
  };
207
252
  __name(OperationParser, "OperationParser");
208
253
  __decorateClass([
@@ -217,6 +262,21 @@ __decorateClass([
217
262
  __decorateClass([
218
263
  import_experimental.experimental
219
264
  ], OperationParser.prototype, "getDescription", 1);
265
+ __decorateClass([
266
+ import_experimental.experimental
267
+ ], OperationParser.prototype, "getAuthSchemeName", 1);
268
+ __decorateClass([
269
+ import_experimental.experimental
270
+ ], OperationParser.prototype, "getReturnValue", 1);
271
+ __decorateClass([
272
+ import_experimental.experimental
273
+ ], OperationParser.prototype, "getReturnTypeHint", 1);
274
+ __decorateClass([
275
+ import_experimental.experimental
276
+ ], OperationParser.prototype, "getPydocString", 1);
277
+ __decorateClass([
278
+ import_experimental.experimental
279
+ ], OperationParser, "load", 1);
220
280
  OperationParser = __decorateClass([
221
281
  import_experimental.experimental
222
282
  ], OperationParser);
@@ -33,79 +33,190 @@ var __decorateClass = (decorators, target, key, kind) => {
33
33
  };
34
34
  var tool_auth_handler_exports = {};
35
35
  __export(tool_auth_handler_exports, {
36
- ToolAuthHandler: () => ToolAuthHandler
36
+ ToolAuthHandler: () => ToolAuthHandler,
37
+ ToolContextCredentialStore: () => ToolContextCredentialStore
37
38
  });
38
39
  module.exports = __toCommonJS(tool_auth_handler_exports);
40
+ var import_lodash_es = require("lodash-es");
41
+ var import_auth_credential = require("../../../auth/auth_credential.js");
39
42
  var import_experimental = require("../../../utils/experimental.js");
43
+ var import_hash_utils = require("../../../utils/hash_utils.js");
44
+ var import_logger = require("../../../utils/logger.js");
40
45
  var import_auto_auth_credential_exchanger = require("../auth/credential_exchangers/auto_auth_credential_exchanger.js");
46
+ var import_base_auth_credential_exchanger = require("../auth/credential_exchangers/base_auth_credential_exchanger.js");
41
47
  /**
42
48
  * @license
43
49
  * Copyright 2026 Google LLC
44
50
  * SPDX-License-Identifier: Apache-2.0
45
51
  */
52
+ const DEFAULT_CREDENTIAL_KEY = "default_openapi_key";
46
53
  const _ToolContextCredentialStore = class _ToolContextCredentialStore {
47
54
  constructor(context) {
48
55
  this.context = context;
49
56
  }
50
- getCredentialKey(authScheme) {
51
- const schemeName = (authScheme == null ? void 0 : authScheme.type) || "default";
52
- return `${schemeName}_existing_exchanged_credential`;
57
+ /**
58
+ * Returns the state key that holds the credential exchanged for this scheme
59
+ * and credential pair.
60
+ *
61
+ * Both operands are hashed into the key, so two tools configured with
62
+ * different schemes, or with different credentials under one scheme, never
63
+ * share a slot.
64
+ *
65
+ * The key deliberately carries no `temp:` prefix. Session state is a copy and
66
+ * only the delta is persisted, and `temp:` is cleared at the end of a run,
67
+ * while an exchanged token has to stay readable across runs.
68
+ */
69
+ getCredentialKey(authScheme, authCredential) {
70
+ const schemeName = authScheme ? `${authScheme.type}_${(0, import_hash_utils.stableHash)(authScheme)}` : "";
71
+ const credentialName = authCredential ? `${authCredential.authType}_${(0, import_hash_utils.stableHash)(authCredential)}` : "";
72
+ return `${schemeName}_${credentialName}_existing_exchanged_credential`;
53
73
  }
54
- getCredential(authScheme) {
55
- const key = this.getCredentialKey(authScheme);
56
- return this.context.state.get(key);
74
+ /**
75
+ * Returns the credential stored for this scheme and credential pair, or
76
+ * `undefined` when there is none.
77
+ *
78
+ * @throws Error if the state entry under the key is not an
79
+ * {@link AuthCredential}, which means something else wrote to the key.
80
+ */
81
+ getCredential(authScheme, authCredential) {
82
+ const key = this.getCredentialKey(authScheme, authCredential);
83
+ const stored = this.context.state.get(key);
84
+ if (stored === void 0 || stored === null) {
85
+ return void 0;
86
+ }
87
+ if (!(0, import_auth_credential.isAuthCredential)(stored)) {
88
+ throw new Error(
89
+ `State entry '${key}' is not an AuthCredential. Another writer has taken this key.`
90
+ );
91
+ }
92
+ return stored;
57
93
  }
58
94
  storeCredential(key, credential) {
59
- this.context.state.set(key, credential);
95
+ this.context.state.set(key, JSON.parse(JSON.stringify(credential)));
96
+ }
97
+ /**
98
+ * Makes the credential under `key` unreadable again.
99
+ *
100
+ * adk-python deletes the state entry. `State` has no delete, so this writes
101
+ * `undefined`, which `State.get` returns for a missing key as well, and
102
+ * {@link getCredential} therefore misses exactly as a delete would make it.
103
+ */
104
+ removeCredential(key) {
105
+ this.context.state.set(key, void 0);
60
106
  }
61
107
  };
62
108
  __name(_ToolContextCredentialStore, "ToolContextCredentialStore");
63
109
  let ToolContextCredentialStore = _ToolContextCredentialStore;
64
110
  let ToolAuthHandler = class {
65
- constructor(context, authScheme, authCredential, credentialKey) {
111
+ constructor(context, authScheme, authCredential, options = {}) {
66
112
  this.context = context;
67
- this.authScheme = authScheme;
68
- this.authCredential = authCredential;
69
- this.credentialKey = credentialKey;
113
+ var _a;
114
+ this.authScheme = authScheme ? (0, import_lodash_es.cloneDeep)(authScheme) : void 0;
115
+ this.authCredential = authCredential ? (0, import_lodash_es.cloneDeep)(authCredential) : void 0;
116
+ this.credentialKey = options.credentialKey;
117
+ this.credentialExchanger = options.credentialExchanger;
118
+ this.credentialStore = (_a = options.credentialStore) != null ? _a : new ToolContextCredentialStore(context);
70
119
  }
71
120
  static fromToolContext(context, authScheme, authCredential, options = {}) {
72
- return new ToolAuthHandler(
73
- context,
74
- authScheme,
75
- authCredential,
76
- options.credentialKey
77
- );
121
+ return new ToolAuthHandler(context, authScheme, authCredential, options);
78
122
  }
79
123
  async prepareAuthCredentials() {
80
124
  if (!this.authScheme) {
81
125
  return { state: "done" };
82
126
  }
83
- const store = new ToolContextCredentialStore(this.context);
84
- const existingCredential = store.getCredential(this.authScheme);
127
+ const existingCredential = this.credentialStore.getCredential(
128
+ this.authScheme,
129
+ this.authCredential
130
+ );
85
131
  if (existingCredential) {
86
- return { state: "done", authCredential: existingCredential };
132
+ return {
133
+ state: "done",
134
+ authScheme: this.authScheme,
135
+ authCredential: existingCredential
136
+ };
87
137
  }
88
138
  const authConfig = {
89
139
  authScheme: this.authScheme,
90
140
  rawAuthCredential: this.authCredential,
91
- credentialKey: this.credentialKey || "default_openapi_key"
141
+ credentialKey: this.credentialKey || DEFAULT_CREDENTIAL_KEY
92
142
  };
93
143
  const authResponseCredential = this.context.getAuthResponse(authConfig);
94
144
  const credential = authResponseCredential != null ? authResponseCredential : this.authCredential;
95
- if (!credential) {
96
- this.context.requestCredential(authConfig);
97
- return { state: "pending" };
145
+ const exchanged = credential ? await this.tryExchange(credential) : void 0;
146
+ if (!exchanged) {
147
+ this.requestCredential(authConfig);
148
+ return {
149
+ state: "pending",
150
+ authScheme: this.authScheme,
151
+ authCredential: this.authCredential
152
+ };
98
153
  }
99
- const exchanger = new import_auto_auth_credential_exchanger.AutoAuthCredentialExchanger();
100
- const result = await exchanger.exchange({
154
+ if (authResponseCredential || exchanged.wasExchanged) {
155
+ const key = this.credentialStore.getCredentialKey(
156
+ this.authScheme,
157
+ this.authCredential
158
+ );
159
+ this.credentialStore.storeCredential(key, exchanged.credential);
160
+ }
161
+ return {
162
+ state: "done",
101
163
  authScheme: this.authScheme,
102
- authCredential: credential
103
- });
104
- if (authResponseCredential || result.wasExchanged) {
105
- const key = store.getCredentialKey(this.authScheme);
106
- store.storeCredential(key, result.credential);
164
+ authCredential: exchanged.credential
165
+ };
166
+ }
167
+ /**
168
+ * Exchanges `credential`, or returns `undefined` when the exchange failed.
169
+ *
170
+ * An exchange failure is transient far more often than it is fatal, so it
171
+ * becomes a `pending` result the client can resume from rather than an
172
+ * exception that fails the whole tool call.
173
+ */
174
+ async tryExchange(credential) {
175
+ var _a;
176
+ const exchanger = (_a = this.credentialExchanger) != null ? _a : new import_auto_auth_credential_exchanger.AutoAuthCredentialExchanger();
177
+ try {
178
+ return await exchanger.exchange({
179
+ authScheme: this.authScheme,
180
+ authCredential: credential
181
+ });
182
+ } catch (e) {
183
+ import_logger.logger.error(
184
+ `Failed to exchange credential: ${e instanceof Error ? e.message : e}`
185
+ );
186
+ return void 0;
187
+ }
188
+ }
189
+ /**
190
+ * Asks the client for a credential, after checking that an interactive
191
+ * scheme has the OAuth2 client configuration it cannot proceed without.
192
+ *
193
+ * @throws Error if an `oauth2` or `openIdConnect` scheme has no OAuth2
194
+ * credential.
195
+ * @throws AuthCredentialMissingError if that credential omits `clientId` or
196
+ * `clientSecret`.
197
+ */
198
+ requestCredential(authConfig) {
199
+ var _a, _b;
200
+ const schemeType = (_a = this.authScheme) == null ? void 0 : _a.type;
201
+ if (schemeType === "oauth2" || schemeType === "openIdConnect") {
202
+ const oauth2 = (_b = this.authCredential) == null ? void 0 : _b.oauth2;
203
+ if (!oauth2) {
204
+ throw new Error(
205
+ `authCredential is empty for scheme ${schemeType}. Please create AuthCredential using OAuth2Auth.`
206
+ );
207
+ }
208
+ if (!oauth2.clientId) {
209
+ throw new import_base_auth_credential_exchanger.AuthCredentialMissingError(
210
+ "OAuth2 credentials clientId is missing."
211
+ );
212
+ }
213
+ if (!oauth2.clientSecret) {
214
+ throw new import_base_auth_credential_exchanger.AuthCredentialMissingError(
215
+ "OAuth2 credentials clientSecret is missing."
216
+ );
217
+ }
107
218
  }
108
- return { state: "done", authCredential: result.credential };
219
+ this.context.requestCredential(authConfig);
109
220
  }
110
221
  };
111
222
  __name(ToolAuthHandler, "ToolAuthHandler");
@@ -120,5 +231,6 @@ ToolAuthHandler = __decorateClass([
120
231
  ], ToolAuthHandler);
121
232
  // Annotate the CommonJS export names for ESM import in node:
122
233
  0 && (module.exports = {
123
- ToolAuthHandler
234
+ ToolAuthHandler,
235
+ ToolContextCredentialStore
124
236
  });
@@ -48,6 +48,7 @@ __export(openapi_toolset_exports, {
48
48
  module.exports = __toCommonJS(openapi_toolset_exports);
49
49
  var import_js_yaml = __toESM(require("js-yaml"), 1);
50
50
  var import_experimental = require("../../utils/experimental.js");
51
+ var import_logger = require("../../utils/logger.js");
51
52
  var import_base_toolset = require("../base_toolset.js");
52
53
  var import_openapi_spec_parser = require("./openapi_spec_parser/openapi_spec_parser.js");
53
54
  var import_rest_api_tool = require("./rest_api_tool.js");
@@ -64,8 +65,10 @@ let OpenAPIToolset = class extends import_base_toolset.BaseToolset {
64
65
  if (!spec && options.specStr) {
65
66
  if (options.specType === "yaml" || !options.specType && options.specStr.trim().startsWith("---")) {
66
67
  spec = import_js_yaml.default.load(options.specStr);
67
- } else {
68
+ } else if (options.specType === "json" || !options.specType) {
68
69
  spec = JSON.parse(options.specStr);
70
+ } else {
71
+ throw new Error(`Unsupported spec type: ${options.specType}`);
69
72
  }
70
73
  }
71
74
  if (!spec) {
@@ -86,7 +89,9 @@ let OpenAPIToolset = class extends import_base_toolset.BaseToolset {
86
89
  description: op.description,
87
90
  endpoint: op.endpoint,
88
91
  operation: op.operation,
89
- authScheme: op.authScheme
92
+ authScheme: op.authScheme,
93
+ parameters: op.parameters,
94
+ authCredential: op.authCredential
90
95
  },
91
96
  {
92
97
  preservePropertyNames: options.preservePropertyNames,
@@ -95,6 +100,7 @@ let OpenAPIToolset = class extends import_base_toolset.BaseToolset {
95
100
  }
96
101
  );
97
102
  this.tools.push(tool);
103
+ import_logger.logger.info(`Parsed tool: ${tool.name}`);
98
104
  }
99
105
  if (options.authScheme || options.authCredential) {
100
106
  for (const tool of this.tools) {
@@ -115,6 +121,9 @@ let OpenAPIToolset = class extends import_base_toolset.BaseToolset {
115
121
  return true;
116
122
  });
117
123
  }
124
+ getTool(toolName) {
125
+ return this.tools.find((tool) => tool.name === toolName);
126
+ }
118
127
  async close() {
119
128
  return Promise.resolve();
120
129
  }
@@ -123,6 +132,9 @@ __name(OpenAPIToolset, "OpenAPIToolset");
123
132
  __decorateClass([
124
133
  import_experimental.experimental
125
134
  ], OpenAPIToolset.prototype, "getTools", 1);
135
+ __decorateClass([
136
+ import_experimental.experimental
137
+ ], OpenAPIToolset.prototype, "getTool", 1);
126
138
  __decorateClass([
127
139
  import_experimental.experimental
128
140
  ], OpenAPIToolset.prototype, "close", 1);