@google/adk 1.1.0 → 1.3.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 (300) hide show
  1. package/dist/cjs/agents/base_agent.js +19 -1
  2. package/dist/cjs/agents/functions.js +4 -0
  3. package/dist/cjs/agents/instructions.js +81 -33
  4. package/dist/cjs/agents/invocation_context.js +0 -1
  5. package/dist/cjs/agents/llm_agent.js +52 -5
  6. package/dist/cjs/agents/processors/agent_transfer_llm_request_processor.js +7 -0
  7. package/dist/cjs/agents/processors/basic_llm_request_processor.js +8 -1
  8. package/dist/cjs/agents/processors/content_processor_utils.js +37 -24
  9. package/dist/cjs/agents/processors/content_request_processor.js +7 -0
  10. package/dist/cjs/agents/processors/context_compactor_request_processor.js +12 -0
  11. package/dist/cjs/agents/processors/identity_llm_request_processor.js +7 -0
  12. package/dist/cjs/agents/processors/instructions_llm_request_processor.js +5 -0
  13. package/dist/cjs/agents/processors/request_confirmation_llm_request_processor.js +9 -1
  14. package/dist/cjs/agents/processors/tool_filter_request_processor.js +7 -1
  15. package/dist/cjs/auth/auth_preprocessor.js +12 -10
  16. package/dist/cjs/auth/oauth2/oauth2_discovery.js +26 -2
  17. package/dist/cjs/code_executors/agent_engine_sandbox_code_executor.js +305 -0
  18. package/dist/cjs/code_executors/code_execution_utils.js +1 -1
  19. package/dist/cjs/code_executors/code_executor_context.js +7 -7
  20. package/dist/cjs/common.js +50 -0
  21. package/dist/cjs/context/summarizers/llm_summarizer.js +11 -0
  22. package/dist/cjs/context/token_based_context_compactor.js +1 -1
  23. package/dist/cjs/events/event.js +4 -2
  24. package/dist/cjs/index.js +14 -0
  25. package/dist/cjs/integrations/agent_registry/agent_registry.js +362 -0
  26. package/dist/cjs/integrations/agent_registry/agent_registry_mcp_toolset.js +122 -0
  27. package/dist/cjs/integrations/agent_registry/helpers.js +57 -0
  28. package/dist/cjs/integrations/agent_registry/types.js +50 -0
  29. package/dist/cjs/memory/vertex_ai_memory_bank_service.js +496 -0
  30. package/dist/cjs/models/gemini_llm_connection.js +62 -19
  31. package/dist/cjs/models/google_llm.js +26 -8
  32. package/dist/cjs/plugins/security_plugin.js +16 -0
  33. package/dist/cjs/runner/in_memory_runner.js +10 -5
  34. package/dist/cjs/runner/runner.js +32 -2
  35. package/dist/cjs/sessions/base_session_service.js +13 -2
  36. package/dist/cjs/sessions/database_session_service.js +51 -5
  37. package/dist/cjs/sessions/db/schema.js +45 -10
  38. package/dist/cjs/sessions/in_memory_session_service.js +72 -15
  39. package/dist/cjs/sessions/registry.js +4 -0
  40. package/dist/cjs/sessions/vertex_ai_session_service.js +429 -0
  41. package/dist/cjs/skills/gcp_skill_registry.js +104 -0
  42. package/dist/cjs/skills/loader.js +65 -0
  43. package/dist/cjs/skills/skill_registry.js +27 -0
  44. package/dist/cjs/tools/agent_tool.js +10 -5
  45. package/dist/cjs/tools/exit_loop_tool.js +9 -0
  46. package/dist/cjs/tools/function_tool.js +7 -2
  47. package/dist/cjs/tools/google_maps_grounding_tool.js +80 -0
  48. package/dist/cjs/tools/long_running_tool.js +2 -1
  49. package/dist/cjs/tools/mcp/mcp_session_manager.js +11 -0
  50. package/dist/cjs/tools/mcp/mcp_tool.js +10 -6
  51. package/dist/cjs/tools/mcp/mcp_toolset.js +26 -3
  52. package/dist/cjs/tools/openapi_tool/auth/auth_helpers.js +78 -0
  53. package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +84 -0
  54. package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +133 -0
  55. package/dist/cjs/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +232 -0
  56. package/dist/cjs/tools/openapi_tool/openapi_spec_parser/operation_parser.js +224 -0
  57. package/dist/cjs/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +127 -0
  58. package/dist/cjs/tools/openapi_tool/openapi_toolset.js +133 -0
  59. package/dist/cjs/tools/openapi_tool/rest_api_tool.js +256 -0
  60. package/dist/cjs/tools/skill/load_skill_resource_tool.js +27 -28
  61. package/dist/cjs/tools/skill/load_skill_tool.js +12 -1
  62. package/dist/cjs/tools/skill/run_skill_script_tool.js +12 -1
  63. package/dist/cjs/tools/skill/search_skills_tool.js +108 -0
  64. package/dist/cjs/tools/skill/skill_toolset.js +40 -5
  65. package/dist/cjs/tools/vertex_rag_retrieval_tool.js +64 -0
  66. package/dist/cjs/utils/async_queue.js +88 -0
  67. package/dist/cjs/utils/case_utils.js +53 -0
  68. package/dist/cjs/utils/env_aware_utils.js +4 -0
  69. package/dist/cjs/utils/file_utils.js +28 -0
  70. package/dist/cjs/utils/gemini_schema_util.js +18 -0
  71. package/dist/cjs/utils/live_connection_utils.js +284 -0
  72. package/dist/cjs/utils/model_name.js +9 -0
  73. package/dist/cjs/utils/partial_copy.js +51 -0
  74. package/dist/cjs/utils/streaming_utils.js +169 -122
  75. package/dist/cjs/utils/vertex_ai_utils.js +50 -0
  76. package/dist/cjs/version.js +1 -1
  77. package/dist/esm/agents/base_agent.js +19 -1
  78. package/dist/esm/agents/functions.js +4 -0
  79. package/dist/esm/agents/instructions.js +81 -33
  80. package/dist/esm/agents/invocation_context.js +0 -1
  81. package/dist/esm/agents/llm_agent.js +53 -5
  82. package/dist/esm/agents/processors/agent_transfer_llm_request_processor.js +7 -0
  83. package/dist/esm/agents/processors/basic_llm_request_processor.js +8 -1
  84. package/dist/esm/agents/processors/content_processor_utils.js +35 -23
  85. package/dist/esm/agents/processors/content_request_processor.js +7 -0
  86. package/dist/esm/agents/processors/context_compactor_request_processor.js +12 -0
  87. package/dist/esm/agents/processors/identity_llm_request_processor.js +7 -0
  88. package/dist/esm/agents/processors/instructions_llm_request_processor.js +5 -0
  89. package/dist/esm/agents/processors/request_confirmation_llm_request_processor.js +9 -1
  90. package/dist/esm/agents/processors/tool_filter_request_processor.js +7 -1
  91. package/dist/esm/auth/auth_preprocessor.js +12 -10
  92. package/dist/esm/auth/oauth2/oauth2_discovery.js +26 -2
  93. package/dist/esm/code_executors/agent_engine_sandbox_code_executor.js +281 -0
  94. package/dist/esm/code_executors/code_execution_utils.js +1 -1
  95. package/dist/esm/code_executors/code_executor_context.js +7 -7
  96. package/dist/esm/common.js +43 -1
  97. package/dist/esm/context/summarizers/llm_summarizer.js +11 -0
  98. package/dist/esm/context/token_based_context_compactor.js +1 -1
  99. package/dist/esm/events/event.js +4 -2
  100. package/dist/esm/index.js +11 -0
  101. package/dist/esm/integrations/agent_registry/agent_registry.js +333 -0
  102. package/dist/esm/integrations/agent_registry/agent_registry_mcp_toolset.js +96 -0
  103. package/dist/esm/integrations/agent_registry/helpers.js +28 -0
  104. package/dist/esm/integrations/agent_registry/types.js +20 -0
  105. package/dist/esm/memory/vertex_ai_memory_bank_service.js +468 -0
  106. package/dist/esm/models/gemini_llm_connection.js +62 -19
  107. package/dist/esm/models/google_llm.js +26 -8
  108. package/dist/esm/plugins/security_plugin.js +16 -0
  109. package/dist/esm/runner/in_memory_runner.js +10 -5
  110. package/dist/esm/runner/runner.js +32 -2
  111. package/dist/esm/sessions/base_session_service.js +11 -1
  112. package/dist/esm/sessions/database_session_service.js +51 -5
  113. package/dist/esm/sessions/db/schema.js +44 -10
  114. package/dist/esm/sessions/in_memory_session_service.js +74 -16
  115. package/dist/esm/sessions/registry.js +7 -0
  116. package/dist/esm/sessions/vertex_ai_session_service.js +405 -0
  117. package/dist/esm/skills/gcp_skill_registry.js +78 -0
  118. package/dist/esm/skills/loader.js +64 -0
  119. package/dist/esm/skills/skill_registry.js +7 -0
  120. package/dist/esm/tools/agent_tool.js +10 -5
  121. package/dist/esm/tools/exit_loop_tool.js +9 -0
  122. package/dist/esm/tools/function_tool.js +7 -2
  123. package/dist/esm/tools/google_maps_grounding_tool.js +54 -0
  124. package/dist/esm/tools/long_running_tool.js +2 -1
  125. package/dist/esm/tools/mcp/mcp_session_manager.js +11 -0
  126. package/dist/esm/tools/mcp/mcp_tool.js +10 -6
  127. package/dist/esm/tools/mcp/mcp_toolset.js +26 -3
  128. package/dist/esm/tools/openapi_tool/auth/auth_helpers.js +48 -0
  129. package/dist/esm/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +60 -0
  130. package/dist/esm/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +111 -0
  131. package/dist/esm/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +206 -0
  132. package/dist/esm/tools/openapi_tool/openapi_spec_parser/operation_parser.js +198 -0
  133. package/dist/esm/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +101 -0
  134. package/dist/esm/tools/openapi_tool/openapi_toolset.js +97 -0
  135. package/dist/esm/tools/openapi_tool/rest_api_tool.js +229 -0
  136. package/dist/esm/tools/skill/load_skill_resource_tool.js +26 -27
  137. package/dist/esm/tools/skill/load_skill_tool.js +12 -1
  138. package/dist/esm/tools/skill/run_skill_script_tool.js +12 -1
  139. package/dist/esm/tools/skill/search_skills_tool.js +82 -0
  140. package/dist/esm/tools/skill/skill_toolset.js +40 -5
  141. package/dist/esm/tools/vertex_rag_retrieval_tool.js +36 -0
  142. package/dist/esm/utils/async_queue.js +60 -0
  143. package/dist/esm/utils/case_utils.js +25 -0
  144. package/dist/esm/utils/env_aware_utils.js +4 -0
  145. package/dist/esm/utils/file_utils.js +26 -0
  146. package/dist/esm/utils/gemini_schema_util.js +18 -0
  147. package/dist/esm/utils/live_connection_utils.js +256 -0
  148. package/dist/esm/utils/model_name.js +8 -0
  149. package/dist/esm/utils/partial_copy.js +23 -0
  150. package/dist/esm/utils/streaming_utils.js +167 -121
  151. package/dist/esm/utils/vertex_ai_utils.js +22 -0
  152. package/dist/esm/version.js +1 -1
  153. package/dist/types/a2a/a2a_remote_agent.d.ts +14 -0
  154. package/dist/types/a2a/a2a_remote_agent_utils.d.ts +29 -4
  155. package/dist/types/a2a/event_converter_utils.d.ts +14 -1
  156. package/dist/types/a2a/metadata_converter_utils.d.ts +18 -0
  157. package/dist/types/a2a/part_converter_utils.d.ts +51 -6
  158. package/dist/types/agents/invocation_context.d.ts +0 -9
  159. package/dist/types/agents/llm_agent.d.ts +14 -0
  160. package/dist/types/agents/processors/agent_transfer_llm_request_processor.d.ts +14 -0
  161. package/dist/types/agents/processors/base_llm_processor.d.ts +12 -4
  162. package/dist/types/agents/processors/basic_llm_request_processor.d.ts +12 -0
  163. package/dist/types/agents/processors/content_processor_utils.d.ts +26 -0
  164. package/dist/types/agents/processors/content_request_processor.d.ts +16 -0
  165. package/dist/types/agents/processors/context_compactor_request_processor.d.ts +12 -0
  166. package/dist/types/agents/processors/identity_llm_request_processor.d.ts +11 -0
  167. package/dist/types/agents/processors/request_confirmation_llm_request_processor.d.ts +14 -1
  168. package/dist/types/agents/processors/tool_filter_request_processor.d.ts +12 -1
  169. package/dist/types/agents/run_config.d.ts +15 -0
  170. package/dist/types/code_executors/agent_engine_sandbox_code_executor.d.ts +51 -0
  171. package/dist/types/common.d.ts +19 -1
  172. package/dist/types/context/summarizers/llm_summarizer.d.ts +17 -0
  173. package/dist/types/events/event_actions.d.ts +25 -8
  174. package/dist/types/events/structured_events.d.ts +13 -0
  175. package/dist/types/examples/example_util.d.ts +25 -0
  176. package/dist/types/index.d.ts +6 -0
  177. package/dist/types/integrations/agent_registry/agent_registry.d.ts +94 -0
  178. package/dist/types/integrations/agent_registry/agent_registry_mcp_toolset.d.ts +62 -0
  179. package/dist/types/integrations/agent_registry/helpers.d.ts +7 -0
  180. package/dist/types/integrations/agent_registry/types.d.ts +101 -0
  181. package/dist/types/memory/vertex_ai_memory_bank_service.d.ts +52 -0
  182. package/dist/types/models/base_llm_connection.d.ts +10 -0
  183. package/dist/types/models/gemini_llm_connection.d.ts +15 -4
  184. package/dist/types/models/llm_response.d.ts +10 -1
  185. package/dist/types/plugins/security_plugin.d.ts +30 -0
  186. package/dist/types/runner/in_memory_runner.d.ts +28 -1
  187. package/dist/types/runner/runner.d.ts +47 -0
  188. package/dist/types/sessions/base_session_service.d.ts +22 -0
  189. package/dist/types/sessions/database_session_service.d.ts +1 -1
  190. package/dist/types/sessions/db/schema.d.ts +1 -0
  191. package/dist/types/sessions/in_memory_session_service.d.ts +1 -1
  192. package/dist/types/sessions/vertex_ai_session_service.d.ts +37 -0
  193. package/dist/types/skills/gcp_skill_registry.d.ts +24 -0
  194. package/dist/types/skills/loader.d.ts +7 -0
  195. package/dist/types/skills/skill.d.ts +1 -1
  196. package/dist/types/skills/skill_registry.d.ts +29 -0
  197. package/dist/types/tools/exit_loop_tool.d.ts +9 -0
  198. package/dist/types/tools/function_tool.d.ts +22 -2
  199. package/dist/types/tools/google_maps_grounding_tool.d.ts +22 -0
  200. package/dist/types/tools/long_running_tool.d.ts +11 -1
  201. package/dist/types/tools/mcp/mcp_session_manager.d.ts +3 -0
  202. package/dist/types/tools/mcp/mcp_toolset.d.ts +2 -1
  203. package/dist/types/tools/openapi_tool/auth/auth_helpers.d.ts +25 -0
  204. package/dist/types/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.d.ts +20 -0
  205. package/dist/types/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.d.ts +20 -0
  206. package/dist/types/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.d.ts +34 -0
  207. package/dist/types/tools/openapi_tool/openapi_spec_parser/operation_parser.d.ts +59 -0
  208. package/dist/types/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.d.ts +23 -0
  209. package/dist/types/tools/openapi_tool/openapi_toolset.d.ts +27 -0
  210. package/dist/types/tools/openapi_tool/rest_api_tool.d.ts +50 -0
  211. package/dist/types/tools/skill/load_skill_resource_tool.d.ts +1 -1
  212. package/dist/types/tools/skill/search_skills_tool.d.ts +14 -0
  213. package/dist/types/tools/skill/skill_toolset.d.ts +5 -0
  214. package/dist/types/tools/vertex_rag_retrieval_tool.d.ts +42 -0
  215. package/dist/types/utils/async_queue.d.ts +18 -0
  216. package/dist/types/utils/case_utils.d.ts +12 -0
  217. package/dist/types/utils/file_utils.d.ts +2 -0
  218. package/dist/types/utils/live_connection_utils.d.ts +30 -0
  219. package/dist/types/utils/model_name.d.ts +7 -0
  220. package/dist/types/utils/partial_copy.d.ts +13 -0
  221. package/dist/types/utils/streaming_utils.d.ts +7 -17
  222. package/dist/types/utils/vertex_ai_utils.d.ts +14 -0
  223. package/dist/types/version.d.ts +1 -1
  224. package/dist/web/agents/base_agent.js +31 -1
  225. package/dist/web/agents/functions.js +4 -0
  226. package/dist/web/agents/instructions.js +81 -33
  227. package/dist/web/agents/invocation_context.js +0 -1
  228. package/dist/web/agents/llm_agent.js +53 -5
  229. package/dist/web/agents/processors/agent_transfer_llm_request_processor.js +7 -0
  230. package/dist/web/agents/processors/basic_llm_request_processor.js +8 -1
  231. package/dist/web/agents/processors/content_processor_utils.js +53 -23
  232. package/dist/web/agents/processors/content_request_processor.js +7 -0
  233. package/dist/web/agents/processors/context_compactor_request_processor.js +12 -0
  234. package/dist/web/agents/processors/identity_llm_request_processor.js +7 -0
  235. package/dist/web/agents/processors/instructions_llm_request_processor.js +5 -0
  236. package/dist/web/agents/processors/request_confirmation_llm_request_processor.js +9 -1
  237. package/dist/web/agents/processors/tool_filter_request_processor.js +7 -1
  238. package/dist/web/auth/auth_preprocessor.js +12 -10
  239. package/dist/web/auth/oauth2/oauth2_discovery.js +26 -2
  240. package/dist/web/code_executors/agent_engine_sandbox_code_executor.js +281 -0
  241. package/dist/web/code_executors/code_execution_utils.js +1 -1
  242. package/dist/web/code_executors/code_executor_context.js +7 -7
  243. package/dist/web/common.js +43 -1
  244. package/dist/web/context/summarizers/llm_summarizer.js +11 -0
  245. package/dist/web/context/token_based_context_compactor.js +1 -1
  246. package/dist/web/events/event.js +4 -2
  247. package/dist/web/index.js +11 -0
  248. package/dist/web/integrations/agent_registry/agent_registry.js +333 -0
  249. package/dist/web/integrations/agent_registry/agent_registry_mcp_toolset.js +109 -0
  250. package/dist/web/integrations/agent_registry/helpers.js +28 -0
  251. package/dist/web/integrations/agent_registry/types.js +20 -0
  252. package/dist/web/memory/vertex_ai_memory_bank_service.js +475 -0
  253. package/dist/web/models/gemini_llm_connection.js +75 -19
  254. package/dist/web/models/google_llm.js +26 -8
  255. package/dist/web/plugins/security_plugin.js +16 -0
  256. package/dist/web/runner/in_memory_runner.js +10 -5
  257. package/dist/web/runner/runner.js +32 -2
  258. package/dist/web/sessions/base_session_service.js +11 -1
  259. package/dist/web/sessions/database_session_service.js +51 -5
  260. package/dist/web/sessions/db/schema.js +44 -10
  261. package/dist/web/sessions/in_memory_session_service.js +74 -16
  262. package/dist/web/sessions/registry.js +7 -0
  263. package/dist/web/sessions/vertex_ai_session_service.js +416 -0
  264. package/dist/web/skills/gcp_skill_registry.js +78 -0
  265. package/dist/web/skills/loader.js +64 -0
  266. package/dist/web/skills/skill_registry.js +7 -0
  267. package/dist/web/tools/agent_tool.js +10 -5
  268. package/dist/web/tools/exit_loop_tool.js +9 -0
  269. package/dist/web/tools/function_tool.js +7 -2
  270. package/dist/web/tools/google_maps_grounding_tool.js +54 -0
  271. package/dist/web/tools/long_running_tool.js +2 -1
  272. package/dist/web/tools/mcp/mcp_session_manager.js +11 -0
  273. package/dist/web/tools/mcp/mcp_tool.js +10 -6
  274. package/dist/web/tools/mcp/mcp_toolset.js +26 -3
  275. package/dist/web/tools/openapi_tool/auth/auth_helpers.js +48 -0
  276. package/dist/web/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +60 -0
  277. package/dist/web/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +111 -0
  278. package/dist/web/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +221 -0
  279. package/dist/web/tools/openapi_tool/openapi_spec_parser/operation_parser.js +198 -0
  280. package/dist/web/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +101 -0
  281. package/dist/web/tools/openapi_tool/openapi_toolset.js +97 -0
  282. package/dist/web/tools/openapi_tool/rest_api_tool.js +229 -0
  283. package/dist/web/tools/skill/load_skill_resource_tool.js +26 -27
  284. package/dist/web/tools/skill/load_skill_tool.js +12 -1
  285. package/dist/web/tools/skill/run_skill_script_tool.js +12 -1
  286. package/dist/web/tools/skill/search_skills_tool.js +82 -0
  287. package/dist/web/tools/skill/skill_toolset.js +40 -5
  288. package/dist/web/tools/vertex_rag_retrieval_tool.js +36 -0
  289. package/dist/web/utils/async_queue.js +60 -0
  290. package/dist/web/utils/case_utils.js +25 -0
  291. package/dist/web/utils/env_aware_utils.js +4 -0
  292. package/dist/web/utils/file_utils.js +26 -0
  293. package/dist/web/utils/gemini_schema_util.js +18 -0
  294. package/dist/web/utils/live_connection_utils.js +254 -0
  295. package/dist/web/utils/model_name.js +8 -0
  296. package/dist/web/utils/partial_copy.js +23 -0
  297. package/dist/web/utils/streaming_utils.js +221 -122
  298. package/dist/web/utils/vertex_ai_utils.js +22 -0
  299. package/dist/web/version.js +1 -1
  300. package/package.json +4 -1
@@ -0,0 +1,232 @@
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 __export = (target, all) => {
13
+ for (var name in all)
14
+ __defProp(target, name, { get: all[name], enumerable: true });
15
+ };
16
+ var __copyProps = (to, from, except, desc) => {
17
+ if (from && typeof from === "object" || typeof from === "function") {
18
+ for (let key of __getOwnPropNames(from))
19
+ if (!__hasOwnProp.call(to, key) && key !== except)
20
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
21
+ }
22
+ return to;
23
+ };
24
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
25
+ var __decorateClass = (decorators, target, key, kind) => {
26
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
27
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
28
+ if (decorator = decorators[i])
29
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
30
+ if (kind && result) __defProp(target, key, result);
31
+ return result;
32
+ };
33
+ var openapi_spec_parser_exports = {};
34
+ __export(openapi_spec_parser_exports, {
35
+ OpenApiSpecParser: () => OpenApiSpecParser
36
+ });
37
+ module.exports = __toCommonJS(openapi_spec_parser_exports);
38
+ var import_experimental = require("../../../utils/experimental.js");
39
+ var import_operation_parser = require("./operation_parser.js");
40
+ /**
41
+ * @license
42
+ * Copyright 2026 Google LLC
43
+ * SPDX-License-Identifier: Apache-2.0
44
+ */
45
+ const VALID_SCHEMA_TYPES = /* @__PURE__ */ new Set([
46
+ "array",
47
+ "boolean",
48
+ "integer",
49
+ "null",
50
+ "number",
51
+ "object",
52
+ "string"
53
+ ]);
54
+ let OpenApiSpecParser = class {
55
+ constructor(options = {}) {
56
+ var _a;
57
+ this.preservePropertyNames = (_a = options.preservePropertyNames) != null ? _a : false;
58
+ }
59
+ parse(openapiSpec) {
60
+ const resolvedSpec = resolveReferences(openapiSpec);
61
+ const sanitizedSpec = sanitizeSchemaTypes(resolvedSpec);
62
+ return collectOperations(sanitizedSpec, {
63
+ preservePropertyNames: this.preservePropertyNames
64
+ });
65
+ }
66
+ };
67
+ __decorateClass([
68
+ import_experimental.experimental
69
+ ], OpenApiSpecParser.prototype, "parse", 1);
70
+ OpenApiSpecParser = __decorateClass([
71
+ import_experimental.experimental
72
+ ], OpenApiSpecParser);
73
+ function resolveReferences(spec) {
74
+ const resolvedCache = /* @__PURE__ */ new Map();
75
+ const specCopy = JSON.parse(JSON.stringify(spec));
76
+ const recursiveResolve = (obj, currentDoc, seenRefs = /* @__PURE__ */ new Set()) => {
77
+ if (typeof obj !== "object" || obj === null) {
78
+ return obj;
79
+ }
80
+ if (Array.isArray(obj)) {
81
+ return obj.map((item) => recursiveResolve(item, currentDoc, seenRefs));
82
+ }
83
+ const objRecord = obj;
84
+ if ("$ref" in objRecord && typeof objRecord["$ref"] === "string") {
85
+ const refString = objRecord["$ref"];
86
+ if (seenRefs.has(refString) && !resolvedCache.has(refString)) {
87
+ const copy = { ...objRecord };
88
+ delete copy["$ref"];
89
+ return copy;
90
+ }
91
+ seenRefs.add(refString);
92
+ if (resolvedCache.has(refString)) {
93
+ return resolvedCache.get(refString);
94
+ }
95
+ let resolvedValue = resolveRef(refString, currentDoc);
96
+ if (resolvedValue !== void 0) {
97
+ resolvedValue = recursiveResolve(resolvedValue, currentDoc, seenRefs);
98
+ resolvedCache.set(refString, resolvedValue);
99
+ return resolvedValue;
100
+ } else {
101
+ return obj;
102
+ }
103
+ }
104
+ const newDict = {};
105
+ for (const [key, value] of Object.entries(objRecord)) {
106
+ newDict[key] = recursiveResolve(value, currentDoc, seenRefs);
107
+ }
108
+ return newDict;
109
+ };
110
+ return recursiveResolve(specCopy, specCopy);
111
+ }
112
+ function resolveRef(refString, currentDoc) {
113
+ const parts = refString.split("/");
114
+ if (parts[0] !== "#") {
115
+ throw new Error(`External references not supported: ${refString}`);
116
+ }
117
+ let current = currentDoc;
118
+ for (const part of parts.slice(1)) {
119
+ if (typeof current === "object" && current !== null && part in current) {
120
+ current = current[part];
121
+ } else {
122
+ return void 0;
123
+ }
124
+ }
125
+ return current;
126
+ }
127
+ function sanitizeSchemaTypes(openapiSpec) {
128
+ const specCopy = JSON.parse(JSON.stringify(openapiSpec));
129
+ const sanitizeTypeField = (schemaDict) => {
130
+ if (!("type" in schemaDict)) return;
131
+ const typeValue = schemaDict["type"];
132
+ if (typeof typeValue === "string") {
133
+ const normalizedType = typeValue.toLowerCase();
134
+ if (VALID_SCHEMA_TYPES.has(normalizedType)) {
135
+ schemaDict["type"] = normalizedType;
136
+ } else {
137
+ delete schemaDict["type"];
138
+ }
139
+ return;
140
+ }
141
+ if (Array.isArray(typeValue)) {
142
+ const validTypes = [];
143
+ for (const entry of typeValue) {
144
+ if (typeof entry !== "string") continue;
145
+ const normalizedEntry = entry.toLowerCase();
146
+ if (VALID_SCHEMA_TYPES.has(normalizedEntry) && !validTypes.includes(normalizedEntry)) {
147
+ validTypes.push(normalizedEntry);
148
+ }
149
+ }
150
+ if (validTypes.length > 0) {
151
+ schemaDict["type"] = validTypes;
152
+ } else {
153
+ delete schemaDict["type"];
154
+ }
155
+ }
156
+ };
157
+ const sanitizeRecursive = (obj, inSchema) => {
158
+ if (typeof obj !== "object" || obj === null) {
159
+ return obj;
160
+ }
161
+ if (Array.isArray(obj)) {
162
+ return obj.map((item) => sanitizeRecursive(item, inSchema));
163
+ }
164
+ const objRecord = obj;
165
+ if (inSchema) {
166
+ sanitizeTypeField(objRecord);
167
+ }
168
+ for (const [key, value] of Object.entries(objRecord)) {
169
+ const isSchemaContainer = key === "schema" || key === "schemas";
170
+ objRecord[key] = sanitizeRecursive(value, inSchema || isSchemaContainer);
171
+ }
172
+ return objRecord;
173
+ };
174
+ return sanitizeRecursive(specCopy, false);
175
+ }
176
+ function collectOperations(spec, options = {}) {
177
+ var _a, _b, _c, _d;
178
+ const preservePropertyNames = (_a = options.preservePropertyNames) != null ? _a : false;
179
+ const operations = [];
180
+ const baseUrl = ((_c = (_b = spec.servers) == null ? void 0 : _b[0]) == null ? void 0 : _c.url) || "";
181
+ const globalSecurity = spec.security || [];
182
+ let globalSchemeName;
183
+ if (globalSecurity.length > 0) {
184
+ globalSchemeName = Object.keys(globalSecurity[0])[0];
185
+ }
186
+ const authSchemes = ((_d = spec.components) == null ? void 0 : _d.securitySchemes) || {};
187
+ for (const [path, pathItem] of Object.entries(spec.paths || {})) {
188
+ if (!pathItem) continue;
189
+ const methods = [
190
+ "get",
191
+ "post",
192
+ "put",
193
+ "delete",
194
+ "patch",
195
+ "head",
196
+ "options",
197
+ "trace"
198
+ ];
199
+ for (const method of methods) {
200
+ const operation = pathItem[method];
201
+ if (!operation) continue;
202
+ const pathParams = pathItem.parameters || [];
203
+ const opParams = operation.parameters || [];
204
+ operation.parameters = [...opParams, ...pathParams];
205
+ if (!operation.operationId) {
206
+ operation.operationId = `${method}_${path.replace(/[^a-zA-Z0-9]/g, "_")}`;
207
+ }
208
+ const parser = new import_operation_parser.OperationParser(operation, {
209
+ preservePropertyNames
210
+ });
211
+ let authSchemeName;
212
+ if (operation.security && operation.security.length > 0) {
213
+ authSchemeName = Object.keys(operation.security[0])[0];
214
+ }
215
+ authSchemeName = authSchemeName || globalSchemeName;
216
+ const authScheme = authSchemeName ? authSchemes[authSchemeName] : void 0;
217
+ operations.push({
218
+ name: parser.getFunctionName(),
219
+ description: parser.getDescription(),
220
+ endpoint: { baseUrl, path, method },
221
+ operation,
222
+ parameters: parser.getParameters(),
223
+ authScheme
224
+ });
225
+ }
226
+ }
227
+ return operations;
228
+ }
229
+ // Annotate the CommonJS export names for ESM import in node:
230
+ 0 && (module.exports = {
231
+ OpenApiSpecParser
232
+ });
@@ -0,0 +1,224 @@
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 __export = (target, all) => {
13
+ for (var name in all)
14
+ __defProp(target, name, { get: all[name], enumerable: true });
15
+ };
16
+ var __copyProps = (to, from, except, desc) => {
17
+ if (from && typeof from === "object" || typeof from === "function") {
18
+ for (let key of __getOwnPropNames(from))
19
+ if (!__hasOwnProp.call(to, key) && key !== except)
20
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
21
+ }
22
+ return to;
23
+ };
24
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
25
+ var __decorateClass = (decorators, target, key, kind) => {
26
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
27
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
28
+ if (decorator = decorators[i])
29
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
30
+ if (kind && result) __defProp(target, key, result);
31
+ return result;
32
+ };
33
+ var operation_parser_exports = {};
34
+ __export(operation_parser_exports, {
35
+ OperationParser: () => OperationParser
36
+ });
37
+ module.exports = __toCommonJS(operation_parser_exports);
38
+ var import_experimental = require("../../../utils/experimental.js");
39
+ /**
40
+ * @license
41
+ * Copyright 2026 Google LLC
42
+ * SPDX-License-Identifier: Apache-2.0
43
+ */
44
+ let OperationParser = class {
45
+ constructor(operation, options = {}) {
46
+ this.operation = operation;
47
+ this.params = [];
48
+ var _a;
49
+ this.preservePropertyNames = (_a = options.preservePropertyNames) != null ? _a : false;
50
+ this.processOperationParameters();
51
+ this.processRequestBody();
52
+ this.processReturnValue();
53
+ this.dedupeParamNames();
54
+ }
55
+ getParamName(originalName) {
56
+ if (this.preservePropertyNames) {
57
+ return originalName;
58
+ }
59
+ return originalName.replace(/[A-Z]/g, (g) => "_" + g.toLowerCase()).replace(/^_/, "");
60
+ }
61
+ processOperationParameters() {
62
+ const parameters = this.operation.parameters || [];
63
+ for (const param of parameters) {
64
+ if ("name" in param) {
65
+ const originalName = param.name;
66
+ const description = param.description || "";
67
+ const location = param.in || "";
68
+ const schema = param.schema || {};
69
+ this.params.push({
70
+ originalName,
71
+ paramLocation: location,
72
+ paramSchema: schema,
73
+ description,
74
+ required: param.required || false,
75
+ name: this.getParamName(originalName)
76
+ });
77
+ }
78
+ }
79
+ }
80
+ processRequestBody() {
81
+ const requestBody = this.operation.requestBody;
82
+ if (!requestBody || "$ref" in requestBody) {
83
+ return;
84
+ }
85
+ const content = requestBody.content || {};
86
+ const firstMimeType = Object.keys(content)[0];
87
+ if (!firstMimeType) {
88
+ return;
89
+ }
90
+ const mediaTypeObject = content[firstMimeType];
91
+ const schema = mediaTypeObject.schema;
92
+ const description = requestBody.description || "";
93
+ if (schema && !("$ref" in schema)) {
94
+ if (schema.type === "object") {
95
+ const properties = schema.properties || {};
96
+ if (Object.keys(properties).length > 0) {
97
+ for (const [propName, propDetails] of Object.entries(properties)) {
98
+ if (!("$ref" in propDetails)) {
99
+ this.params.push({
100
+ originalName: propName,
101
+ paramLocation: "body",
102
+ paramSchema: propDetails,
103
+ description: propDetails.description,
104
+ required: (schema.required || []).includes(propName),
105
+ name: this.getParamName(propName)
106
+ });
107
+ }
108
+ }
109
+ } else {
110
+ this.params.push({
111
+ originalName: "",
112
+ paramLocation: "body",
113
+ paramSchema: schema,
114
+ description,
115
+ required: true,
116
+ name: "body"
117
+ });
118
+ }
119
+ } else if (schema.type === "array") {
120
+ this.params.push({
121
+ originalName: "array",
122
+ paramLocation: "body",
123
+ paramSchema: schema,
124
+ description,
125
+ required: true,
126
+ name: "body"
127
+ });
128
+ } else {
129
+ this.params.push({
130
+ originalName: "body",
131
+ paramLocation: "body",
132
+ paramSchema: schema,
133
+ description,
134
+ required: true,
135
+ name: "body"
136
+ });
137
+ }
138
+ }
139
+ }
140
+ processReturnValue() {
141
+ const responses = this.operation.responses || {};
142
+ const validCodes = Object.keys(responses).filter((k) => k.startsWith("2"));
143
+ const min20x = validCodes.sort()[0];
144
+ let returnSchema = {};
145
+ if (min20x) {
146
+ const response = responses[min20x];
147
+ if (!("$ref" in response) && response.content) {
148
+ const firstMimeType = Object.keys(response.content)[0];
149
+ if (firstMimeType) {
150
+ const schema = response.content[firstMimeType].schema;
151
+ if (schema && !("$ref" in schema)) {
152
+ returnSchema = schema;
153
+ }
154
+ }
155
+ }
156
+ }
157
+ this.returnValue = {
158
+ originalName: "",
159
+ paramLocation: "",
160
+ paramSchema: returnSchema,
161
+ required: true,
162
+ name: "return"
163
+ };
164
+ }
165
+ dedupeParamNames() {
166
+ const nameCounts = /* @__PURE__ */ new Map();
167
+ for (const param of this.params) {
168
+ const name = param.name;
169
+ const count = nameCounts.get(name) || 0;
170
+ if (count > 0) {
171
+ param.name = `${name}_${count}`;
172
+ }
173
+ nameCounts.set(name, count + 1);
174
+ }
175
+ }
176
+ getParameters() {
177
+ return this.params;
178
+ }
179
+ getJsonSchema() {
180
+ const properties = {};
181
+ const required = [];
182
+ for (const param of this.params) {
183
+ properties[param.name] = param.paramSchema;
184
+ if (param.required) {
185
+ required.push(param.name);
186
+ }
187
+ }
188
+ return {
189
+ type: "object",
190
+ properties,
191
+ required: required.length > 0 ? required : void 0,
192
+ title: `${this.operation.operationId || "unnamed"}_Arguments`
193
+ };
194
+ }
195
+ getFunctionName() {
196
+ const operationId = this.operation.operationId;
197
+ if (!operationId) {
198
+ throw new Error("Operation ID is missing");
199
+ }
200
+ return this.getParamName(operationId).substring(0, 60);
201
+ }
202
+ getDescription() {
203
+ return this.operation.description || this.operation.summary || "";
204
+ }
205
+ };
206
+ __decorateClass([
207
+ import_experimental.experimental
208
+ ], OperationParser.prototype, "getParameters", 1);
209
+ __decorateClass([
210
+ import_experimental.experimental
211
+ ], OperationParser.prototype, "getJsonSchema", 1);
212
+ __decorateClass([
213
+ import_experimental.experimental
214
+ ], OperationParser.prototype, "getFunctionName", 1);
215
+ __decorateClass([
216
+ import_experimental.experimental
217
+ ], OperationParser.prototype, "getDescription", 1);
218
+ OperationParser = __decorateClass([
219
+ import_experimental.experimental
220
+ ], OperationParser);
221
+ // Annotate the CommonJS export names for ESM import in node:
222
+ 0 && (module.exports = {
223
+ OperationParser
224
+ });
@@ -0,0 +1,127 @@
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 __export = (target, all) => {
13
+ for (var name in all)
14
+ __defProp(target, name, { get: all[name], enumerable: true });
15
+ };
16
+ var __copyProps = (to, from, except, desc) => {
17
+ if (from && typeof from === "object" || typeof from === "function") {
18
+ for (let key of __getOwnPropNames(from))
19
+ if (!__hasOwnProp.call(to, key) && key !== except)
20
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
21
+ }
22
+ return to;
23
+ };
24
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
25
+ var __decorateClass = (decorators, target, key, kind) => {
26
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
27
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
28
+ if (decorator = decorators[i])
29
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
30
+ if (kind && result) __defProp(target, key, result);
31
+ return result;
32
+ };
33
+ var tool_auth_handler_exports = {};
34
+ __export(tool_auth_handler_exports, {
35
+ ToolAuthHandler: () => ToolAuthHandler
36
+ });
37
+ module.exports = __toCommonJS(tool_auth_handler_exports);
38
+ var import_experimental = require("../../../utils/experimental.js");
39
+ var import_auto_auth_credential_exchanger = require("../auth/credential_exchangers/auto_auth_credential_exchanger.js");
40
+ /**
41
+ * @license
42
+ * Copyright 2026 Google LLC
43
+ * SPDX-License-Identifier: Apache-2.0
44
+ */
45
+ class ToolContextCredentialStore {
46
+ constructor(context) {
47
+ this.context = context;
48
+ }
49
+ getCredentialKey(authScheme) {
50
+ const schemeName = (authScheme == null ? void 0 : authScheme.type) || "default";
51
+ return `${schemeName}_existing_exchanged_credential`;
52
+ }
53
+ getCredential(authScheme) {
54
+ const key = this.getCredentialKey(authScheme);
55
+ const state = this.context.state;
56
+ if (state) {
57
+ const serialized = state[key];
58
+ if (serialized) {
59
+ return serialized;
60
+ }
61
+ }
62
+ return void 0;
63
+ }
64
+ storeCredential(key, credential) {
65
+ const state = this.context.state;
66
+ if (state) {
67
+ state[key] = credential;
68
+ }
69
+ }
70
+ }
71
+ let ToolAuthHandler = class {
72
+ constructor(context, authScheme, authCredential, credentialKey) {
73
+ this.context = context;
74
+ this.authScheme = authScheme;
75
+ this.authCredential = authCredential;
76
+ this.credentialKey = credentialKey;
77
+ }
78
+ static fromToolContext(context, authScheme, authCredential, options = {}) {
79
+ return new ToolAuthHandler(
80
+ context,
81
+ authScheme,
82
+ authCredential,
83
+ options.credentialKey
84
+ );
85
+ }
86
+ async prepareAuthCredentials() {
87
+ if (!this.authScheme) {
88
+ return { state: "done" };
89
+ }
90
+ const store = new ToolContextCredentialStore(this.context);
91
+ const existingCredential = store.getCredential(this.authScheme);
92
+ if (existingCredential) {
93
+ return { state: "done", authCredential: existingCredential };
94
+ }
95
+ const authConfig = {
96
+ authScheme: this.authScheme,
97
+ rawAuthCredential: this.authCredential,
98
+ credentialKey: this.credentialKey || "default_openapi_key"
99
+ };
100
+ const credential = this.context.getAuthResponse(authConfig);
101
+ if (credential) {
102
+ const exchanger = new import_auto_auth_credential_exchanger.AutoAuthCredentialExchanger();
103
+ const result = await exchanger.exchange({
104
+ authScheme: this.authScheme,
105
+ authCredential: credential
106
+ });
107
+ const key = store.getCredentialKey(this.authScheme);
108
+ store.storeCredential(key, result.credential);
109
+ return { state: "done", authCredential: result.credential };
110
+ }
111
+ this.context.requestCredential(authConfig);
112
+ return { state: "pending" };
113
+ }
114
+ };
115
+ __decorateClass([
116
+ import_experimental.experimental
117
+ ], ToolAuthHandler.prototype, "prepareAuthCredentials", 1);
118
+ __decorateClass([
119
+ import_experimental.experimental
120
+ ], ToolAuthHandler, "fromToolContext", 1);
121
+ ToolAuthHandler = __decorateClass([
122
+ import_experimental.experimental
123
+ ], ToolAuthHandler);
124
+ // Annotate the CommonJS export names for ESM import in node:
125
+ 0 && (module.exports = {
126
+ ToolAuthHandler
127
+ });