@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
@@ -55,7 +55,7 @@ function createEvent(params = {}) {
55
55
  };
56
56
  }
57
57
  function isFinalResponse(event) {
58
- if (event.actions.skipSummarization || event.longRunningToolIds && event.longRunningToolIds.length > 0) {
58
+ if (event.actions.skipSummarization || event.longRunningToolIds && event.longRunningToolIds.length > 0 || event.actions.requestedAuthConfigs && Object.keys(event.actions.requestedAuthConfigs).length > 0) {
59
59
  return true;
60
60
  }
61
61
  return getFunctionCalls(event).length === 0 && getFunctionResponses(event).length === 0 && !event.partial && !hasTrailingCodeExecutionResult(event);
@@ -95,7 +95,7 @@ function stringifyContent(event) {
95
95
  if (!((_a = event.content) == null ? void 0 : _a.parts)) {
96
96
  return "";
97
97
  }
98
- return event.content.parts.map((part) => {
98
+ return event.content.parts.filter((part) => !part.thought).map((part) => {
99
99
  var _a2;
100
100
  return (_a2 = part.text) != null ? _a2 : "";
101
101
  }).join("");
@@ -114,6 +114,7 @@ const PRESERVE_KEYS_CAMEL_CASE = [
114
114
  "actions.requestedAuthConfigs",
115
115
  "actions.requestedToolConfirmations",
116
116
  "actions.customMetadata",
117
+ "customMetadata",
117
118
  "content.parts.functionCall.args",
118
119
  "content.parts.functionResponse.response"
119
120
  ];
@@ -123,6 +124,7 @@ const PRESERVE_KEYS_SNAKE_CASE = [
123
124
  "actions.requested_auth_configs",
124
125
  "actions.requested_tool_confirmations",
125
126
  "actions.custom_metadata",
127
+ "custom_metadata",
126
128
  "content.parts.function_call.args",
127
129
  "content.parts.function_response.response"
128
130
  ];
package/dist/cjs/index.js CHANGED
@@ -27,13 +27,17 @@ var index_exports = {};
27
27
  __export(index_exports, {
28
28
  A2AAgentExecutor: () => import_agent_executor.A2AAgentExecutor,
29
29
  AGENT_CARD_PATH: () => import_a2a_remote_agent.AGENT_CARD_PATH,
30
+ AgentEngineSandboxCodeExecutor: () => import_agent_engine_sandbox_code_executor.AgentEngineSandboxCodeExecutor,
31
+ CodeExecutionLanguage: () => import_code_execution_utils.CodeExecutionLanguage,
30
32
  DatabaseSessionService: () => import_database_session_service.DatabaseSessionService,
31
33
  FileArtifactService: () => import_file_artifact_service.FileArtifactService,
32
34
  GcsArtifactService: () => import_gcs_artifact_service.GcsArtifactService,
35
+ InvocationContext: () => import_invocation_context.InvocationContext,
33
36
  RemoteA2AAgent: () => import_a2a_remote_agent.RemoteA2AAgent,
34
37
  RunSkillInlineScriptTool: () => import_run_skill_inline_script_tool.RunSkillInlineScriptTool,
35
38
  RunSkillScriptTool: () => import_run_skill_script_tool.RunSkillScriptTool,
36
39
  UnsafeLocalCodeExecutor: () => import_unsafe_local_code_executor.UnsafeLocalCodeExecutor,
40
+ VertexAiSessionService: () => import_vertex_ai_session_service.VertexAiSessionService,
37
41
  getA2AAgentCard: () => import_agent_card.getA2AAgentCard,
38
42
  getArtifactServiceFromUri: () => import_registry.getArtifactServiceFromUri,
39
43
  getSessionServiceFromUri: () => import_registry2.getSessionServiceFromUri,
@@ -47,16 +51,21 @@ var import_a2a_remote_agent = require("./a2a/a2a_remote_agent.js");
47
51
  var import_agent_card = require("./a2a/agent_card.js");
48
52
  var import_agent_executor = require("./a2a/agent_executor.js");
49
53
  var import_agent_to_a2a = require("./a2a/agent_to_a2a.js");
54
+ var import_invocation_context = require("./agents/invocation_context.js");
50
55
  var import_file_artifact_service = require("./artifacts/file_artifact_service.js");
51
56
  var import_gcs_artifact_service = require("./artifacts/gcs_artifact_service.js");
52
57
  var import_registry = require("./artifacts/registry.js");
58
+ var import_agent_engine_sandbox_code_executor = require("./code_executors/agent_engine_sandbox_code_executor.js");
59
+ var import_code_execution_utils = require("./code_executors/code_execution_utils.js");
53
60
  var import_unsafe_local_code_executor = require("./code_executors/unsafe_local_code_executor.js");
54
61
  __reExport(index_exports, require("./common.js"), module.exports);
55
62
  var import_database_session_service = require("./sessions/database_session_service.js");
56
63
  var import_registry2 = require("./sessions/registry.js");
64
+ var import_vertex_ai_session_service = require("./sessions/vertex_ai_session_service.js");
57
65
  var import_loader = require("./skills/loader.js");
58
66
  var import_run_skill_inline_script_tool = require("./tools/skill/run_skill_inline_script_tool.js");
59
67
  var import_run_skill_script_tool = require("./tools/skill/run_skill_script_tool.js");
68
+ __reExport(index_exports, require("./integrations/agent_registry/agent_registry.js"), module.exports);
60
69
  __reExport(index_exports, require("./telemetry/google_cloud.js"), module.exports);
61
70
  __reExport(index_exports, require("./telemetry/setup.js"), module.exports);
62
71
  __reExport(index_exports, require("./tools/mcp/mcp_session_manager.js"), module.exports);
@@ -71,13 +80,17 @@ __reExport(index_exports, require("./tools/mcp/mcp_toolset.js"), module.exports)
71
80
  0 && (module.exports = {
72
81
  A2AAgentExecutor,
73
82
  AGENT_CARD_PATH,
83
+ AgentEngineSandboxCodeExecutor,
84
+ CodeExecutionLanguage,
74
85
  DatabaseSessionService,
75
86
  FileArtifactService,
76
87
  GcsArtifactService,
88
+ InvocationContext,
77
89
  RemoteA2AAgent,
78
90
  RunSkillInlineScriptTool,
79
91
  RunSkillScriptTool,
80
92
  UnsafeLocalCodeExecutor,
93
+ VertexAiSessionService,
81
94
  getA2AAgentCard,
82
95
  getArtifactServiceFromUri,
83
96
  getSessionServiceFromUri,
@@ -86,6 +99,7 @@ __reExport(index_exports, require("./tools/mcp/mcp_toolset.js"), module.exports)
86
99
  toA2a,
87
100
  validateSkillDir,
88
101
  ...require("./common.js"),
102
+ ...require("./integrations/agent_registry/agent_registry.js"),
89
103
  ...require("./telemetry/google_cloud.js"),
90
104
  ...require("./telemetry/setup.js"),
91
105
  ...require("./tools/mcp/mcp_session_manager.js"),
@@ -0,0 +1,362 @@
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 __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
25
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
26
+ var agent_registry_exports = {};
27
+ __export(agent_registry_exports, {
28
+ AgentRegistry: () => AgentRegistry
29
+ });
30
+ module.exports = __toCommonJS(agent_registry_exports);
31
+ var import_google_auth_library = require("google-auth-library");
32
+ var import_a2a_remote_agent = require("../../a2a/a2a_remote_agent.js");
33
+ var import_logger = require("../../utils/logger.js");
34
+ var import_agent_registry_mcp_toolset = require("./agent_registry_mcp_toolset.js");
35
+ var import_helpers = require("./helpers.js");
36
+ var import_types = require("./types.js");
37
+ __reExport(agent_registry_exports, require("./agent_registry_mcp_toolset.js"), module.exports);
38
+ __reExport(agent_registry_exports, require("./helpers.js"), module.exports);
39
+ __reExport(agent_registry_exports, require("./types.js"), module.exports);
40
+ /**
41
+ * @license
42
+ * Copyright 2026 Google LLC
43
+ * SPDX-License-Identifier: Apache-2.0
44
+ */
45
+ const TRANSPORT_MAPPING = {
46
+ "HTTP_JSON": "HTTP+JSON",
47
+ "JSONRPC": "JSONRPC",
48
+ "GRPC": "GRPC"
49
+ };
50
+ class AgentRegistry {
51
+ constructor(options) {
52
+ if (!options.projectId || !options.location) {
53
+ throw new Error("project_id and location must be provided");
54
+ }
55
+ this.projectId = options.projectId;
56
+ this.location = options.location;
57
+ this.basePath = `projects/${this.projectId}/locations/${this.location}`;
58
+ this.headerProvider = options.headerProvider;
59
+ this.auth = new import_google_auth_library.GoogleAuth({
60
+ scopes: ["https://www.googleapis.com/auth/cloud-platform"]
61
+ });
62
+ }
63
+ /**
64
+ * Resolves default Google Cloud credentials and returns standard headers.
65
+ * Automatically caches, fetches, and handles refreshing expired OAuth tokens.
66
+ * Injects the billing/quota project identifier `x-goog-user-project` if present.
67
+ */
68
+ async getAuthHeaders() {
69
+ try {
70
+ const client = await this.auth.getClient();
71
+ const headers = await client.getRequestHeaders(
72
+ "https://agentregistry.googleapis.com"
73
+ );
74
+ const authHeaders = {};
75
+ const rawHeaders = headers;
76
+ const authKey = Object.keys(rawHeaders).find(
77
+ (k) => k.toLowerCase() === "authorization"
78
+ );
79
+ let token = authKey ? rawHeaders[authKey] : void 0;
80
+ if (!token && client.credentials && client.credentials.access_token) {
81
+ token = `Bearer ${client.credentials.access_token}`;
82
+ }
83
+ if (token) {
84
+ authHeaders["Authorization"] = token;
85
+ }
86
+ authHeaders["Content-Type"] = "application/json";
87
+ const quotaProjectId = client.quotaProjectId || this.auth.quotaProjectId;
88
+ if (quotaProjectId) {
89
+ authHeaders["x-goog-user-project"] = quotaProjectId;
90
+ }
91
+ return authHeaders;
92
+ } catch (err) {
93
+ const msg = err instanceof Error ? err.message : String(err);
94
+ throw new Error(`Failed to refresh Google Cloud credentials: ${msg}`);
95
+ }
96
+ }
97
+ /**
98
+ * Helper function to execute HTTP GET requests against the Agent Registry API.
99
+ * Handles path resolution, search query params compilation, and auth headers fetching.
100
+ */
101
+ async makeRequest(path, params) {
102
+ let url;
103
+ if (path.startsWith("projects/")) {
104
+ url = `${import_types.AGENT_REGISTRY_BASE_URL}/${path}`;
105
+ } else {
106
+ url = `${import_types.AGENT_REGISTRY_BASE_URL}/${this.basePath}/${path}`;
107
+ }
108
+ if (params && Object.keys(params).length > 0) {
109
+ const searchParams = new URLSearchParams(params);
110
+ url += `?${searchParams.toString()}`;
111
+ }
112
+ try {
113
+ const headers = await this.getAuthHeaders();
114
+ const res = await fetch(url, {
115
+ method: "GET",
116
+ headers
117
+ });
118
+ if (!res.ok) {
119
+ const text = await res.text();
120
+ throw new Error(
121
+ `API request failed with status ${res.status}: ${text}`
122
+ );
123
+ }
124
+ return await res.json();
125
+ } catch (err) {
126
+ const msg = err instanceof Error ? err.message : String(err);
127
+ if (msg.includes("API request failed")) {
128
+ throw err;
129
+ }
130
+ throw new Error(`API request failed: ${msg}`);
131
+ }
132
+ }
133
+ /**
134
+ * Parses connection interfaces list from registry metadata and returns the first match
135
+ * corresponding to requested protocol types and binding options.
136
+ */
137
+ getConnectionUri(resourceDetails, filters) {
138
+ const protocols = [];
139
+ if (resourceDetails.protocols) {
140
+ protocols.push(...resourceDetails.protocols);
141
+ }
142
+ if (resourceDetails.interfaces) {
143
+ protocols.push({ interfaces: resourceDetails.interfaces });
144
+ }
145
+ for (const p of protocols) {
146
+ if ((filters == null ? void 0 : filters.protocolType) && p.type !== filters.protocolType) {
147
+ continue;
148
+ }
149
+ const protocolVersion = p.protocolVersion;
150
+ const interfaces = p.interfaces || [];
151
+ for (const i of interfaces) {
152
+ const mappedBinding = i.protocolBinding ? TRANSPORT_MAPPING[i.protocolBinding] : void 0;
153
+ if ((filters == null ? void 0 : filters.protocolBinding) && mappedBinding !== filters.protocolBinding) {
154
+ continue;
155
+ }
156
+ if (i.url) {
157
+ return { url: i.url, protocolVersion, protocolBinding: mappedBinding };
158
+ }
159
+ }
160
+ }
161
+ return {};
162
+ }
163
+ // --- MCP Server Methods ---
164
+ async listMcpServers(options) {
165
+ const params = {};
166
+ if (options == null ? void 0 : options.filterStr) {
167
+ params["filter"] = options.filterStr;
168
+ }
169
+ if (options == null ? void 0 : options.pageSize) {
170
+ params["pageSize"] = String(options.pageSize);
171
+ }
172
+ if (options == null ? void 0 : options.pageToken) {
173
+ params["pageToken"] = options.pageToken;
174
+ }
175
+ return this.makeRequest("mcpServers", params);
176
+ }
177
+ async getMcpServer(name) {
178
+ return this.makeRequest(name);
179
+ }
180
+ async getMcpToolset(mcpServerName, options) {
181
+ var _a, _b;
182
+ const serverDetails = await this.getMcpServer(mcpServerName);
183
+ const name = (0, import_helpers.cleanName)(serverDetails.displayName || mcpServerName);
184
+ const mcpServerId = serverDetails.mcpServerId;
185
+ let endpointUri = this.getConnectionUri(serverDetails, {
186
+ protocolBinding: "JSONRPC"
187
+ }).url;
188
+ if (!endpointUri) {
189
+ endpointUri = this.getConnectionUri(serverDetails, {
190
+ protocolBinding: "HTTP+JSON"
191
+ }).url;
192
+ }
193
+ if (!endpointUri) {
194
+ throw new Error(
195
+ `MCP Server endpoint URI not found for: ${mcpServerName}`
196
+ );
197
+ }
198
+ let authScheme = options == null ? void 0 : options.authScheme;
199
+ if (mcpServerId && !authScheme) {
200
+ try {
201
+ const bindingsData = await this.makeRequest("bindings");
202
+ const bindings = bindingsData.bindings || [];
203
+ for (const b of bindings) {
204
+ const targetId = ((_a = b.target) == null ? void 0 : _a.identifier) || "";
205
+ if (targetId.endsWith(mcpServerId)) {
206
+ const authProvider = (_b = b.authProviderBinding) == null ? void 0 : _b.authProvider;
207
+ if (authProvider) {
208
+ authScheme = {
209
+ type: "gcpAuthProviderScheme",
210
+ name: authProvider,
211
+ continueUri: options == null ? void 0 : options.continueUri
212
+ };
213
+ break;
214
+ }
215
+ }
216
+ }
217
+ } catch (err) {
218
+ const msg = err instanceof Error ? err.message : String(err);
219
+ import_logger.logger.warn(
220
+ `Failed to fetch bindings for MCP Server ${mcpServerName}: ${msg}`
221
+ );
222
+ }
223
+ }
224
+ const connectionParams = {
225
+ type: "StreamableHTTPConnectionParams",
226
+ url: endpointUri
227
+ };
228
+ const combinedHeaderProvider = async (context) => {
229
+ const headers = {};
230
+ if (!authScheme && !(options == null ? void 0 : options.authCredential) && (0, import_helpers.isGoogleApi)(endpointUri)) {
231
+ Object.assign(headers, await this.getAuthHeaders());
232
+ }
233
+ if (this.headerProvider && context) {
234
+ Object.assign(headers, this.headerProvider(context));
235
+ }
236
+ return headers;
237
+ };
238
+ return new import_agent_registry_mcp_toolset.AgentRegistrySingleMCPToolset({
239
+ destinationResourceId: mcpServerId,
240
+ connectionParams,
241
+ prefix: name,
242
+ headerProvider: combinedHeaderProvider,
243
+ authScheme,
244
+ authCredential: options == null ? void 0 : options.authCredential
245
+ });
246
+ }
247
+ // --- Endpoint Methods ---
248
+ async listEndpoints(options) {
249
+ const params = {};
250
+ if (options == null ? void 0 : options.filterStr) {
251
+ params["filter"] = options.filterStr;
252
+ }
253
+ if (options == null ? void 0 : options.pageSize) {
254
+ params["pageSize"] = String(options.pageSize);
255
+ }
256
+ if (options == null ? void 0 : options.pageToken) {
257
+ params["pageToken"] = options.pageToken;
258
+ }
259
+ return this.makeRequest("endpoints", params);
260
+ }
261
+ async getEndpoint(name) {
262
+ return this.makeRequest(name);
263
+ }
264
+ async getModelName(endpointName) {
265
+ const endpointDetails = await this.getEndpoint(endpointName);
266
+ const { url } = this.getConnectionUri(endpointDetails);
267
+ if (!url) {
268
+ throw new Error(`Connection URI not found for endpoint: ${endpointName}`);
269
+ }
270
+ const uri = url.replace(/:\w+$/, "");
271
+ if (uri.startsWith("projects/")) {
272
+ return uri;
273
+ }
274
+ const match = uri.match(/(projects\/.+)/);
275
+ if (match) {
276
+ return match[1];
277
+ }
278
+ return uri;
279
+ }
280
+ // --- Agent Methods ---
281
+ async listAgents(options) {
282
+ const params = {};
283
+ if (options == null ? void 0 : options.filterStr) {
284
+ params["filter"] = options.filterStr;
285
+ }
286
+ if (options == null ? void 0 : options.pageSize) {
287
+ params["pageSize"] = String(options.pageSize);
288
+ }
289
+ if (options == null ? void 0 : options.pageToken) {
290
+ params["pageToken"] = options.pageToken;
291
+ }
292
+ return this.makeRequest("agents", params);
293
+ }
294
+ async getAgentInfo(name) {
295
+ return this.makeRequest(name);
296
+ }
297
+ async getRemoteA2AAgent(agentName, options) {
298
+ const agentInfo = await this.getAgentInfo(agentName);
299
+ const card = agentInfo.card || {};
300
+ const cardContent = card.content;
301
+ if (card.type === "A2A_AGENT_CARD" && cardContent) {
302
+ const agentCard2 = cardContent;
303
+ const name2 = (0, import_helpers.cleanName)(agentCard2.name);
304
+ return new import_a2a_remote_agent.RemoteA2AAgent({
305
+ name: name2,
306
+ agentCard: agentCard2,
307
+ description: agentCard2.description,
308
+ client: options == null ? void 0 : options.client,
309
+ clientFactory: options == null ? void 0 : options.clientFactory
310
+ });
311
+ }
312
+ const name = (0, import_helpers.cleanName)(agentInfo.displayName || agentName);
313
+ const description = agentInfo.description || "";
314
+ const version = agentInfo.version || "";
315
+ const { url, protocolVersion, protocolBinding } = this.getConnectionUri(
316
+ agentInfo,
317
+ {
318
+ protocolType: import_types.ProtocolType.A2A_AGENT
319
+ }
320
+ );
321
+ if (!url) {
322
+ throw new Error(`A2A connection URI not found for Agent: ${agentName}`);
323
+ }
324
+ const skills = (agentInfo.skills || []).map(
325
+ (s) => ({
326
+ id: s.id,
327
+ name: s.name,
328
+ description: s.description || "",
329
+ tags: s.tags || [],
330
+ examples: s.examples || []
331
+ })
332
+ );
333
+ const agentCard = {
334
+ name,
335
+ description,
336
+ version,
337
+ preferredTransport: protocolBinding || "HTTP+JSON",
338
+ protocolVersion: protocolVersion || "0.3.0",
339
+ url,
340
+ skills,
341
+ capabilities: {
342
+ streaming: false
343
+ },
344
+ defaultInputModes: ["text"],
345
+ defaultOutputModes: ["text"]
346
+ };
347
+ return new import_a2a_remote_agent.RemoteA2AAgent({
348
+ name,
349
+ agentCard,
350
+ description,
351
+ client: options == null ? void 0 : options.client,
352
+ clientFactory: options == null ? void 0 : options.clientFactory
353
+ });
354
+ }
355
+ }
356
+ // Annotate the CommonJS export names for ESM import in node:
357
+ 0 && (module.exports = {
358
+ AgentRegistry,
359
+ ...require("./agent_registry_mcp_toolset.js"),
360
+ ...require("./helpers.js"),
361
+ ...require("./types.js")
362
+ });
@@ -0,0 +1,122 @@
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 agent_registry_mcp_toolset_exports = {};
26
+ __export(agent_registry_mcp_toolset_exports, {
27
+ AgentRegistrySingleMCPToolset: () => AgentRegistrySingleMCPToolset
28
+ });
29
+ module.exports = __toCommonJS(agent_registry_mcp_toolset_exports);
30
+ var import_base_toolset = require("../../tools/base_toolset.js");
31
+ var import_mcp_session_manager = require("../../tools/mcp/mcp_session_manager.js");
32
+ var import_mcp_tool = require("../../tools/mcp/mcp_tool.js");
33
+ var import_types2 = require("./types.js");
34
+ /**
35
+ * @license
36
+ * Copyright 2026 Google LLC
37
+ * SPDX-License-Identifier: Apache-2.0
38
+ */
39
+ class AgentRegistrySingleMCPToolset extends import_base_toolset.BaseToolset {
40
+ /**
41
+ * @param options - Configuration for the MCP toolset.
42
+ * @param options.destinationResourceId - Telemetry identifier injected as
43
+ * `gcp.mcp.server.destination.id` into each resolved tool's custom metadata.
44
+ * @param options.connectionParams - HTTP connection parameters for the MCP server.
45
+ * @param options.toolFilter - Optional predicate or list of tool names to include.
46
+ * When omitted, all tools from the server are returned.
47
+ * @param options.prefix - Optional prefix prepended to each tool name (e.g. `myServer_toolName`).
48
+ * @param options.headerProvider - Optional async function called immediately before each
49
+ * {@link getTools} invocation to supply or refresh request headers (e.g. GCP auth tokens).
50
+ * @param options.authScheme - Optional auth scheme forwarded to each resolved tool.
51
+ * @param options.authCredential - Optional credential forwarded to each resolved tool.
52
+ */
53
+ constructor(options) {
54
+ super(options.toolFilter || [], options.prefix);
55
+ this.destinationResourceId = options.destinationResourceId;
56
+ this.connectionParams = options.connectionParams;
57
+ this.headerProvider = options.headerProvider;
58
+ this.authScheme = options.authScheme;
59
+ this.authCredential = options.authCredential;
60
+ }
61
+ /**
62
+ * Connects to the underlying MCP server, retrieves tool definitions, prefixes
63
+ * tool names, and injects destination telemetry metadata into each tool.
64
+ *
65
+ * The `headerProvider`, if configured, is invoked immediately before the
66
+ * connection is established so that tokens are always fresh.
67
+ *
68
+ * @param context - Optional readonly agent context passed to the header provider.
69
+ * @returns The resolved and optionally filtered list of {@link MCPTool} instances.
70
+ */
71
+ async getTools(context) {
72
+ var _a, _b, _c;
73
+ const headers = {};
74
+ if (this.headerProvider) {
75
+ const providerHeaders = await this.headerProvider(context);
76
+ Object.assign(headers, providerHeaders);
77
+ }
78
+ const connectionParamsCopy = {
79
+ ...this.connectionParams,
80
+ transportOptions: {
81
+ ...this.connectionParams.transportOptions,
82
+ requestInit: {
83
+ ...(_a = this.connectionParams.transportOptions) == null ? void 0 : _a.requestInit,
84
+ headers: {
85
+ ...(_c = (_b = this.connectionParams.transportOptions) == null ? void 0 : _b.requestInit) == null ? void 0 : _c.headers,
86
+ ...headers
87
+ }
88
+ }
89
+ }
90
+ };
91
+ const sessionManager = new import_mcp_session_manager.MCPSessionManager(connectionParamsCopy);
92
+ const session = await sessionManager.createSession();
93
+ const listResult = await session.listTools();
94
+ const tools = listResult.tools.map((tool) => {
95
+ const prefixedName = this.prefix ? `${this.prefix}_${tool.name}` : tool.name;
96
+ const mcpTool = new import_mcp_tool.MCPTool(
97
+ { ...tool, name: prefixedName },
98
+ sessionManager,
99
+ tool.name
100
+ );
101
+ const toolWithMetadata = mcpTool;
102
+ if (this.destinationResourceId) {
103
+ if (!toolWithMetadata.customMetadata) {
104
+ toolWithMetadata.customMetadata = {};
105
+ }
106
+ toolWithMetadata.customMetadata[import_types2.GCP_MCP_SERVER_DESTINATION_ID] = this.destinationResourceId;
107
+ }
108
+ return mcpTool;
109
+ });
110
+ const filter = this.toolFilter;
111
+ if (!filter || Array.isArray(filter) && filter.length === 0) {
112
+ return tools;
113
+ }
114
+ return tools.filter((t) => this.isToolSelected(t, context));
115
+ }
116
+ async close() {
117
+ }
118
+ }
119
+ // Annotate the CommonJS export names for ESM import in node:
120
+ 0 && (module.exports = {
121
+ AgentRegistrySingleMCPToolset
122
+ });
@@ -0,0 +1,57 @@
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 helpers_exports = {};
26
+ __export(helpers_exports, {
27
+ cleanName: () => cleanName,
28
+ isGoogleApi: () => isGoogleApi
29
+ });
30
+ module.exports = __toCommonJS(helpers_exports);
31
+ /**
32
+ * @license
33
+ * Copyright 2026 Google LLC
34
+ * SPDX-License-Identifier: Apache-2.0
35
+ */
36
+ function isGoogleApi(url) {
37
+ try {
38
+ const parsed = new URL(url);
39
+ return parsed.hostname === "googleapis.com" || parsed.hostname.endsWith(".googleapis.com");
40
+ } catch {
41
+ return false;
42
+ }
43
+ }
44
+ function cleanName(name) {
45
+ let clean = name.replace(/[^a-zA-Z0-9_]/g, "_");
46
+ clean = clean.replace(/_+/g, "_");
47
+ clean = clean.replace(/^_+|_+$/g, "");
48
+ if (clean && !/^[a-zA-Z_]/.test(clean)) {
49
+ clean = "_" + clean;
50
+ }
51
+ return clean;
52
+ }
53
+ // Annotate the CommonJS export names for ESM import in node:
54
+ 0 && (module.exports = {
55
+ cleanName,
56
+ isGoogleApi
57
+ });
@@ -0,0 +1,50 @@
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 types_exports = {};
26
+ __export(types_exports, {
27
+ AGENT_REGISTRY_BASE_URL: () => AGENT_REGISTRY_BASE_URL,
28
+ GCP_MCP_SERVER_DESTINATION_ID: () => GCP_MCP_SERVER_DESTINATION_ID,
29
+ ProtocolType: () => ProtocolType
30
+ });
31
+ module.exports = __toCommonJS(types_exports);
32
+ /**
33
+ * @license
34
+ * Copyright 2026 Google LLC
35
+ * SPDX-License-Identifier: Apache-2.0
36
+ */
37
+ const AGENT_REGISTRY_BASE_URL = "https://agentregistry.googleapis.com/v1alpha";
38
+ const GCP_MCP_SERVER_DESTINATION_ID = "gcp.mcp.server.destination.id";
39
+ var ProtocolType = /* @__PURE__ */ ((ProtocolType2) => {
40
+ ProtocolType2["TYPE_UNSPECIFIED"] = "TYPE_UNSPECIFIED";
41
+ ProtocolType2["A2A_AGENT"] = "A2A_AGENT";
42
+ ProtocolType2["CUSTOM"] = "CUSTOM";
43
+ return ProtocolType2;
44
+ })(ProtocolType || {});
45
+ // Annotate the CommonJS export names for ESM import in node:
46
+ 0 && (module.exports = {
47
+ AGENT_REGISTRY_BASE_URL,
48
+ GCP_MCP_SERVER_DESTINATION_ID,
49
+ ProtocolType
50
+ });