@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
@@ -152,6 +152,18 @@ class OAuth2DiscoveryManager {
152
152
  return void 0;
153
153
  }
154
154
  }
155
+ function normaliseHostname(raw) {
156
+ const stripped = raw.replace(/^\[|\]$/g, "");
157
+ const m = stripped.match(/^::ffff:([0-9a-f]{1,4}):([0-9a-f]{1,4})$/i);
158
+ if (m) {
159
+ const hi = parseInt(m[1], 16);
160
+ const lo = parseInt(m[2], 16);
161
+ return [hi >> 8 & 255, hi & 255, lo >> 8 & 255, lo & 255].join(".");
162
+ }
163
+ const mDot = stripped.match(/^::ffff:(\d+\.\d+\.\d+\.\d+)$/i);
164
+ if (mDot) return mDot[1];
165
+ return raw;
166
+ }
155
167
  function validateDiscoveryUrl(urlStr) {
156
168
  try {
157
169
  const url = new URL(urlStr);
@@ -159,8 +171,8 @@ function validateDiscoveryUrl(urlStr) {
159
171
  import_logger.logger.warn(`Unsafe protocol for discovery URL: ${url.protocol}`);
160
172
  return false;
161
173
  }
162
- const host = url.hostname.toLowerCase();
163
- if (host === "localhost" || host === "127.0.0.1" || host === "[::1]" || host.startsWith("10.") || host.startsWith("192.168.") || host.startsWith("169.254.")) {
174
+ const host = normaliseHostname(url.hostname.toLowerCase());
175
+ if (host === "localhost" || host === "metadata.google.internal" || host === "metadata.goog" || host.startsWith("127.") || host === "[::1]" || host === "0.0.0.0" || host.startsWith("10.") || host.startsWith("192.168.") || host.startsWith("169.254.")) {
164
176
  import_logger.logger.warn(`Unsafe host for discovery URL: ${host}`);
165
177
  return false;
166
178
  }
@@ -172,6 +184,18 @@ function validateDiscoveryUrl(urlStr) {
172
184
  return false;
173
185
  }
174
186
  }
187
+ const cgnatMatch = host.match(/^100\.(\d+)\./);
188
+ if (cgnatMatch) {
189
+ const secondOctet = parseInt(cgnatMatch[1], 10);
190
+ if (secondOctet >= 64 && secondOctet <= 127) {
191
+ import_logger.logger.warn(`Unsafe host for discovery URL: ${host}`);
192
+ return false;
193
+ }
194
+ }
195
+ if (/^\[(f[cd][0-9a-f]{2}|fe[89ab][0-9a-f]):/i.test(url.hostname)) {
196
+ import_logger.logger.warn(`Unsafe host for discovery URL: ${url.hostname}`);
197
+ return false;
198
+ }
175
199
  return true;
176
200
  } catch (e) {
177
201
  import_logger.logger.warn(`Failed to parse URL for validation ${urlStr}: ${e}`);
@@ -0,0 +1,305 @@
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 agent_engine_sandbox_code_executor_exports = {};
34
+ __export(agent_engine_sandbox_code_executor_exports, {
35
+ AgentEngineSandboxCodeExecutor: () => AgentEngineSandboxCodeExecutor
36
+ });
37
+ module.exports = __toCommonJS(agent_engine_sandbox_code_executor_exports);
38
+ var import_vertexai = require("@google-cloud/vertexai");
39
+ var import_types = require("@google-cloud/vertexai/build/src/genai/types.js");
40
+ var import_experimental = require("../utils/experimental.js");
41
+ var import_file_utils = require("../utils/file_utils.js");
42
+ var import_logger = require("../utils/logger.js");
43
+ var import_base_code_executor = require("./base_code_executor.js");
44
+ var import_code_execution_utils = require("./code_execution_utils.js");
45
+ /**
46
+ * @license
47
+ * Copyright 2026 Google LLC
48
+ * SPDX-License-Identifier: Apache-2.0
49
+ */
50
+ const SANDBOX_PATTERN = /^projects\/([a-zA-Z0-9-_]+)\/locations\/([a-zA-Z0-9-_]+)\/reasoningEngines\/(\d+)\/sandboxEnvironments\/(\d+)$/;
51
+ const ENGINE_PATTERN = /^projects\/([a-zA-Z0-9-_]+)\/locations\/([a-zA-Z0-9-_]+)\/reasoningEngines\/(\d+)$/;
52
+ const DEFAULT_MAX_ATTEMPTS = 180;
53
+ const DEFAULT_SANDBOX_TTL = "31536000s";
54
+ const DEFAULT_SANDBOX_DISPLAY_NAME = "default_sandbox";
55
+ const DEFAULT_ENGINE_DISPLAY_NAME = "default_engine";
56
+ function mapLanguage(lang) {
57
+ switch (lang) {
58
+ case import_code_execution_utils.CodeExecutionLanguage.PYTHON:
59
+ return import_types.Language.LANGUAGE_PYTHON;
60
+ case import_code_execution_utils.CodeExecutionLanguage.JAVASCRIPT:
61
+ return import_types.Language.LANGUAGE_JAVASCRIPT;
62
+ default:
63
+ throw new Error(`Unsupported language for Agent Engine Sandbox: ${lang}`);
64
+ }
65
+ }
66
+ let AgentEngineSandboxCodeExecutor = class extends import_base_code_executor.BaseCodeExecutor {
67
+ constructor(options = {}) {
68
+ super();
69
+ this.sandboxResourceName = options.sandboxResourceName;
70
+ this.agentEngineResourceName = options.agentEngineResourceName;
71
+ this.projectId = options.projectId || process.env.GOOGLE_CLOUD_PROJECT;
72
+ this.location = options.location || process.env.GOOGLE_CLOUD_LOCATION || "us-central1";
73
+ if (this.sandboxResourceName) {
74
+ const match = this.sandboxResourceName.match(SANDBOX_PATTERN);
75
+ if (match) {
76
+ this.projectId = match[1];
77
+ this.location = match[2];
78
+ } else {
79
+ throw new Error(
80
+ `Invalid sandbox resource name: ${this.sandboxResourceName}`
81
+ );
82
+ }
83
+ } else if (this.agentEngineResourceName) {
84
+ const match = this.agentEngineResourceName.match(ENGINE_PATTERN);
85
+ if (match) {
86
+ this.projectId = match[1];
87
+ this.location = match[2];
88
+ } else {
89
+ throw new Error(
90
+ `Invalid agent engine resource name: ${this.agentEngineResourceName}`
91
+ );
92
+ }
93
+ }
94
+ if (options.client) {
95
+ this.client = options.client;
96
+ } else {
97
+ if (!this.projectId) {
98
+ throw new Error("Project ID is required.");
99
+ }
100
+ this.client = new import_vertexai.Client({
101
+ project: this.projectId,
102
+ location: this.location
103
+ });
104
+ }
105
+ }
106
+ async executeCode(params) {
107
+ var _a;
108
+ const { invocationContext, codeExecutionInput } = params;
109
+ const language = mapLanguage(codeExecutionInput.language);
110
+ const agentEngineName = await this.getOrCreateAgentEngine();
111
+ const sandboxName = await this.getOrCreateSandbox(
112
+ invocationContext,
113
+ agentEngineName,
114
+ language
115
+ );
116
+ const inputs = [
117
+ {
118
+ mimeType: "application/json",
119
+ data: Buffer.from(
120
+ JSON.stringify({ code: codeExecutionInput.code })
121
+ ).toString("base64")
122
+ }
123
+ ];
124
+ if (codeExecutionInput.inputFiles) {
125
+ for (const file of codeExecutionInput.inputFiles) {
126
+ inputs.push({
127
+ mimeType: file.mimeType,
128
+ data: file.content,
129
+ // Assumed to be already base64 encoded based on CodeExecutionInput definition
130
+ metadata: {
131
+ attributes: {
132
+ file_name: Buffer.from(file.name).toString("base64")
133
+ }
134
+ }
135
+ });
136
+ }
137
+ }
138
+ import_logger.logger.debug(`Executing code in sandbox ${sandboxName}...`);
139
+ const response = await this.client.agentEnginesInternal.sandboxes.executeCodeInternal({
140
+ name: sandboxName,
141
+ inputs
142
+ });
143
+ let stdout = "";
144
+ let stderr = "";
145
+ const outputFiles = [];
146
+ if (response.outputs) {
147
+ for (const output of response.outputs) {
148
+ const attributes = ((_a = output.metadata) == null ? void 0 : _a.attributes) || {};
149
+ const encodedFileName = attributes["file_name"];
150
+ const fileName = encodedFileName ? Buffer.from(encodedFileName, "base64").toString("utf-8") : void 0;
151
+ if (output.mimeType === "application/json" && !fileName) {
152
+ if (output.data) {
153
+ const jsonStr = Buffer.from(output.data, "base64").toString(
154
+ "utf-8"
155
+ );
156
+ try {
157
+ const jsonData = JSON.parse(jsonStr);
158
+ if (jsonData.msg_out !== void 0) {
159
+ stdout = jsonData.msg_out;
160
+ } else {
161
+ stdout = "";
162
+ }
163
+ if (jsonData.msg_err !== void 0) {
164
+ stderr = jsonData.msg_err;
165
+ } else {
166
+ stderr = "";
167
+ }
168
+ } catch (e) {
169
+ import_logger.logger.warn("Failed to parse JSON output from sandbox", e);
170
+ stdout = jsonStr;
171
+ }
172
+ }
173
+ } else {
174
+ let mimeType = output.mimeType;
175
+ const name = fileName || "output_file";
176
+ if (!mimeType) {
177
+ mimeType = (0, import_file_utils.guessMimeType)(name);
178
+ }
179
+ outputFiles.push({
180
+ name,
181
+ content: output.data || "",
182
+ mimeType
183
+ });
184
+ }
185
+ }
186
+ }
187
+ return {
188
+ stdout,
189
+ stderr,
190
+ outputFiles
191
+ };
192
+ }
193
+ async getOrCreateAgentEngine() {
194
+ if (this.agentEngineResourceName) {
195
+ return this.agentEngineResourceName;
196
+ }
197
+ if (!this.agentEngineCreationPromise) {
198
+ this.agentEngineCreationPromise = (async () => {
199
+ import_logger.logger.debug(
200
+ "No Agent Engine resource name provided. Creating a new one..."
201
+ );
202
+ const operation = await this.client.agentEnginesInternal.createInternal(
203
+ {
204
+ config: {
205
+ displayName: DEFAULT_ENGINE_DISPLAY_NAME
206
+ }
207
+ }
208
+ );
209
+ let apiResponse = operation;
210
+ let attempts = 0;
211
+ while (!apiResponse.done && attempts < DEFAULT_MAX_ATTEMPTS) {
212
+ await new Promise((resolve) => setTimeout(resolve, 1e3));
213
+ apiResponse = await this.client.agentEnginesInternal.getAgentOperationInternal({
214
+ operationName: operation.name
215
+ });
216
+ attempts++;
217
+ }
218
+ if (!apiResponse.done) {
219
+ throw new Error(
220
+ `Agent Engine creation operation ${operation.name} did not complete in time.`
221
+ );
222
+ }
223
+ const response = apiResponse.response;
224
+ this.agentEngineResourceName = response.name;
225
+ import_logger.logger.debug(`Created Agent Engine: ${this.agentEngineResourceName}`);
226
+ return this.agentEngineResourceName;
227
+ })();
228
+ }
229
+ return this.agentEngineCreationPromise;
230
+ }
231
+ async getOrCreateSandbox(invocationContext, agentEngineName, language) {
232
+ var _a, _b;
233
+ if (this.sandboxResourceName) {
234
+ return this.sandboxResourceName;
235
+ }
236
+ const stateKey = `sandbox_name_${language.toLowerCase()}`;
237
+ let sandboxName = (_b = (_a = invocationContext.session) == null ? void 0 : _a.state) == null ? void 0 : _b[stateKey];
238
+ let createNewSandbox = false;
239
+ if (!sandboxName) {
240
+ createNewSandbox = true;
241
+ } else {
242
+ try {
243
+ const sandbox = await this.client.agentEnginesInternal.sandboxes.getInternal({
244
+ name: sandboxName
245
+ });
246
+ if (!sandbox || sandbox.state !== "STATE_RUNNING") {
247
+ createNewSandbox = true;
248
+ }
249
+ } catch (error) {
250
+ import_logger.logger.debug(
251
+ `Failed to get sandbox ${sandboxName}, will create a new one`,
252
+ error
253
+ );
254
+ createNewSandbox = true;
255
+ }
256
+ }
257
+ if (createNewSandbox) {
258
+ import_logger.logger.debug(`Creating a new ${language} code execution sandbox...`);
259
+ const operation = await this.client.agentEnginesInternal.sandboxes.createInternal({
260
+ name: agentEngineName,
261
+ spec: {
262
+ codeExecutionEnvironment: {
263
+ codeLanguage: language
264
+ }
265
+ },
266
+ config: {
267
+ displayName: DEFAULT_SANDBOX_DISPLAY_NAME,
268
+ ttl: DEFAULT_SANDBOX_TTL
269
+ }
270
+ });
271
+ let apiResponse = operation;
272
+ let attempts = 0;
273
+ while (!apiResponse.done && attempts < DEFAULT_MAX_ATTEMPTS) {
274
+ await new Promise((resolve) => setTimeout(resolve, 1e3));
275
+ apiResponse = await this.client.agentEnginesInternal.sandboxes.getSandboxOperationInternal(
276
+ {
277
+ operationName: operation.name
278
+ }
279
+ );
280
+ attempts++;
281
+ }
282
+ if (!apiResponse.done) {
283
+ throw new Error(
284
+ `Sandbox creation operation ${operation.name} did not complete in time.`
285
+ );
286
+ }
287
+ const response = apiResponse.response;
288
+ sandboxName = response.name;
289
+ if (invocationContext.session) {
290
+ if (!invocationContext.session.state) {
291
+ invocationContext.session.state = {};
292
+ }
293
+ invocationContext.session.state[stateKey] = sandboxName;
294
+ }
295
+ }
296
+ return sandboxName;
297
+ }
298
+ };
299
+ AgentEngineSandboxCodeExecutor = __decorateClass([
300
+ import_experimental.experimental
301
+ ], AgentEngineSandboxCodeExecutor);
302
+ // Annotate the CommonJS export names for ESM import in node:
303
+ 0 && (module.exports = {
304
+ AgentEngineSandboxCodeExecutor
305
+ });
@@ -80,7 +80,7 @@ function extractCodeAndTruncateContent(content, codeBlockDelimiters) {
80
80
  const leadingDelimiterPattern = codeBlockDelimiters.map((d) => d[0]).join("|");
81
81
  const trailingDelimiterPattern = codeBlockDelimiters.map((d) => d[1]).join("|");
82
82
  const match = new RegExp(
83
- `?<prefix>.*?)(${leadingDelimiterPattern})(?<codeStr>.*?)(${trailingDelimiterPattern})(?<suffix>.*?)$`,
83
+ `(?<prefix>.*?)(${leadingDelimiterPattern})(?<codeStr>.*?)(${trailingDelimiterPattern})(?<suffix>.*?)$`,
84
84
  "s"
85
85
  ).exec(responseText);
86
86
  const { prefix, codeStr } = (match == null ? void 0 : match.groups) || {};
@@ -97,7 +97,7 @@ class CodeExecutorContext {
97
97
  * @return A list of input files in the code executor context.
98
98
  */
99
99
  getInputFiles() {
100
- if (!(INPUT_FILE_KEY in this.sessionState)) {
100
+ if (!this.sessionState.has(INPUT_FILE_KEY)) {
101
101
  return [];
102
102
  }
103
103
  return this.sessionState.get(INPUT_FILE_KEY);
@@ -107,13 +107,13 @@ class CodeExecutorContext {
107
107
  * @param inputFiles The input files to add to the session state.
108
108
  */
109
109
  addInputFiles(inputFiles) {
110
- if (!(INPUT_FILE_KEY in this.sessionState)) {
110
+ if (!this.sessionState.has(INPUT_FILE_KEY)) {
111
111
  this.sessionState.set(INPUT_FILE_KEY, []);
112
112
  }
113
113
  this.sessionState.get(INPUT_FILE_KEY).push(...inputFiles);
114
114
  }
115
115
  clearInputFiles() {
116
- if (INPUT_FILE_KEY in this.sessionState) {
116
+ if (this.sessionState.has(INPUT_FILE_KEY)) {
117
117
  this.sessionState.set(INPUT_FILE_KEY, []);
118
118
  }
119
119
  if (PROCESSED_FILE_NAMES_KEY in this.context) {
@@ -126,7 +126,7 @@ class CodeExecutorContext {
126
126
  * @return The error count for the given invocation ID.
127
127
  */
128
128
  getErrorCount(invocationId) {
129
- if (!(ERROR_COUNT_KEY in this.sessionState)) {
129
+ if (!this.sessionState.has(ERROR_COUNT_KEY)) {
130
130
  return 0;
131
131
  }
132
132
  return this.sessionState.get(ERROR_COUNT_KEY)[invocationId] || 0;
@@ -136,7 +136,7 @@ class CodeExecutorContext {
136
136
  * @param invocationId The invocation ID to increment the error count for.
137
137
  */
138
138
  incrementErrorCount(invocationId) {
139
- if (!(ERROR_COUNT_KEY in this.sessionState)) {
139
+ if (!this.sessionState.has(ERROR_COUNT_KEY)) {
140
140
  this.sessionState.set(ERROR_COUNT_KEY, {});
141
141
  }
142
142
  this.sessionState.get(ERROR_COUNT_KEY)[invocationId] = this.getErrorCount(invocationId) + 1;
@@ -146,7 +146,7 @@ class CodeExecutorContext {
146
146
  * @param invocationId The invocation ID to reset the error count for.
147
147
  */
148
148
  resetErrorCount(invocationId) {
149
- if (!(ERROR_COUNT_KEY in this.sessionState)) {
149
+ if (!this.sessionState.has(ERROR_COUNT_KEY)) {
150
150
  return;
151
151
  }
152
152
  const errorCounts = this.sessionState.get(ERROR_COUNT_KEY);
@@ -168,7 +168,7 @@ class CodeExecutorContext {
168
168
  resultStdout,
169
169
  resultStderr
170
170
  }) {
171
- if (!(CODE_EXECUTION_RESULTS_KEY in this.sessionState)) {
171
+ if (!this.sessionState.has(CODE_EXECUTION_RESULTS_KEY)) {
172
172
  this.sessionState.set(CODE_EXECUTION_RESULTS_KEY, {});
173
173
  }
174
174
  const codeExecutionResults = this.sessionState.get(
@@ -25,6 +25,7 @@ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "defau
25
25
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
26
26
  var common_exports = {};
27
27
  __export(common_exports, {
28
+ AUTH_PREPROCESSOR: () => import_auth_preprocessor.AUTH_PREPROCESSOR,
28
29
  ActiveStreamingTool: () => import_active_streaming_tool.ActiveStreamingTool,
29
30
  Agent: () => import_llm_agent.LlmAgent,
30
31
  AgentTool: () => import_agent_tool.AgentTool,
@@ -32,6 +33,7 @@ __export(common_exports, {
32
33
  ApigeeLlm: () => import_apigee_llm.ApigeeLlm,
33
34
  AuthCredentialTypes: () => import_auth_credential.AuthCredentialTypes,
34
35
  AuthHandler: () => import_auth_handler.AuthHandler,
36
+ AuthPreprocessor: () => import_auth_preprocessor.AuthPreprocessor,
35
37
  AuthProviderRegistry: () => import_auth_provider_registry.AuthProviderRegistry,
36
38
  BaseAgent: () => import_base_agent.BaseAgent,
37
39
  BaseCodeExecutor: () => import_base_code_executor.BaseCodeExecutor,
@@ -57,9 +59,12 @@ __export(common_exports, {
57
59
  ExitLoopTool: () => import_exit_loop_tool.ExitLoopTool,
58
60
  FileContentEncoding: () => import_code_execution_utils.FileContentEncoding,
59
61
  FunctionTool: () => import_function_tool.FunctionTool,
62
+ GCPSkillRegistry: () => import_gcp_skill_registry.GCPSkillRegistry,
63
+ GOOGLE_MAPS_GROUNDING: () => import_google_maps_grounding_tool.GOOGLE_MAPS_GROUNDING,
60
64
  GOOGLE_SEARCH: () => import_google_search_tool.GOOGLE_SEARCH,
61
65
  Gemini: () => import_google_llm.Gemini,
62
66
  GoogleLLMVariant: () => import_variant_utils.GoogleLLMVariant,
67
+ GoogleMapsGroundingTool: () => import_google_maps_grounding_tool.GoogleMapsGroundingTool,
63
68
  GoogleSearchTool: () => import_google_search_tool.GoogleSearchTool,
64
69
  InMemoryArtifactService: () => import_in_memory_artifact_service.InMemoryArtifactService,
65
70
  InMemoryCredentialService: () => import_in_memory_credential_service.InMemoryCredentialService,
@@ -86,6 +91,9 @@ __export(common_exports, {
86
91
  OAuth2CredentialExchanger: () => import_oauth2_credential_exchanger.OAuth2CredentialExchanger,
87
92
  OAuth2DiscoveryManager: () => import_oauth2_discovery.OAuth2DiscoveryManager,
88
93
  OAuthGrantType: () => import_auth_schemes.OAuthGrantType,
94
+ OpenAPIToolset: () => import_openapi_toolset.OpenAPIToolset,
95
+ OpenApiSpecParser: () => import_openapi_spec_parser.OpenApiSpecParser,
96
+ OperationParser: () => import_operation_parser.OperationParser,
89
97
  PRELOAD_MEMORY: () => import_preload_memory_tool.PRELOAD_MEMORY,
90
98
  ParallelAgent: () => import_parallel_agent.ParallelAgent,
91
99
  PluginManager: () => import_plugin_manager.PluginManager,
@@ -93,9 +101,11 @@ __export(common_exports, {
93
101
  PreloadMemoryTool: () => import_preload_memory_tool.PreloadMemoryTool,
94
102
  REQUEST_CONFIRMATION_FUNCTION_CALL_NAME: () => import_security_plugin.REQUEST_CONFIRMATION_FUNCTION_CALL_NAME,
95
103
  ReadonlyContext: () => import_readonly_context.ReadonlyContext,
104
+ RestApiTool: () => import_rest_api_tool.RestApiTool,
96
105
  RoutedAgent: () => import_routed_agent.RoutedAgent,
97
106
  RoutedLlm: () => import_routed_llm.RoutedLlm,
98
107
  Runner: () => import_runner.Runner,
108
+ SearchSkillsTool: () => import_search_skills_tool.SearchSkillsTool,
99
109
  SecurityPlugin: () => import_security_plugin.SecurityPlugin,
100
110
  SequentialAgent: () => import_sequential_agent.SequentialAgent,
101
111
  SessionStateCredentialService: () => import_session_state_credential_service.SessionStateCredentialService,
@@ -103,13 +113,17 @@ __export(common_exports, {
103
113
  State: () => import_state.State,
104
114
  StreamingMode: () => import_run_config.StreamingMode,
105
115
  TokenBasedContextCompactor: () => import_token_based_context_compactor.TokenBasedContextCompactor,
116
+ ToolAuthHandler: () => import_tool_auth_handler.ToolAuthHandler,
106
117
  ToolConfirmation: () => import_tool_confirmation.ToolConfirmation,
107
118
  TruncatingContextCompactor: () => import_truncating_context_compactor.TruncatingContextCompactor,
108
119
  URL_CONTEXT: () => import_url_context_tool.URL_CONTEXT,
109
120
  UrlContextTool: () => import_url_context_tool.UrlContextTool,
121
+ VertexAiMemoryBankService: () => import_vertex_ai_memory_bank_service.VertexAiMemoryBankService,
110
122
  VertexAiSearchTool: () => import_vertex_ai_search_tool.VertexAiSearchTool,
123
+ VertexRagRetrievalTool: () => import_vertex_rag_retrieval_tool.VertexRagRetrievalTool,
111
124
  createEvent: () => import_event.createEvent,
112
125
  createEventActions: () => import_event_actions.createEventActions,
126
+ createRestApiTool: () => import_rest_api_tool.createRestApiTool,
113
127
  createSession: () => import_session.createSession,
114
128
  functionsExportedForTestingOnly: () => import_functions.functionsExportedForTestingOnly,
115
129
  geminiInitParams: () => import_google_llm.geminiInitParams,
@@ -128,16 +142,21 @@ __export(common_exports, {
128
142
  isFinalResponse: () => import_event.isFinalResponse,
129
143
  isFunctionTool: () => import_function_tool.isFunctionTool,
130
144
  isGemini2OrAbove: () => import_model_name.isGemini2OrAbove,
145
+ isGemini3xFlashLive: () => import_model_name.isGemini3xFlashLive,
131
146
  isLlmAgent: () => import_llm_agent.isLlmAgent,
132
147
  isLoopAgent: () => import_loop_agent.isLoopAgent,
133
148
  isParallelAgent: () => import_parallel_agent.isParallelAgent,
134
149
  isRoutedAgent: () => import_routed_agent.isRoutedAgent,
135
150
  isRunner: () => import_runner.isRunner,
136
151
  isSequentialAgent: () => import_sequential_agent.isSequentialAgent,
152
+ loadAllSkillsInDir: () => import_loader.loadAllSkillsInDir,
153
+ loadSkillFromDir: () => import_loader.loadSkillFromDir,
154
+ loadSkillFromZipBuffer: () => import_loader.loadSkillFromZipBuffer,
137
155
  setLogLevel: () => import_logger.setLogLevel,
138
156
  setLogger: () => import_logger.setLogger,
139
157
  stringifyContent: () => import_event.stringifyContent,
140
158
  toStructuredEvents: () => import_structured_events.toStructuredEvents,
159
+ validateSkillDir: () => import_loader.validateSkillDir,
141
160
  version: () => import_version.version,
142
161
  zodObjectToSchema: () => import_simple_zod_to_json.zodObjectToSchema
143
162
  });
@@ -162,6 +181,7 @@ var import_sequential_agent = require("./agents/sequential_agent.js");
162
181
  var import_in_memory_artifact_service = require("./artifacts/in_memory_artifact_service.js");
163
182
  var import_auth_credential = require("./auth/auth_credential.js");
164
183
  var import_auth_handler = require("./auth/auth_handler.js");
184
+ var import_auth_preprocessor = require("./auth/auth_preprocessor.js");
165
185
  var import_auth_provider_registry = require("./auth/auth_provider_registry.js");
166
186
  var import_auth_schemes = require("./auth/auth_schemes.js");
167
187
  var import_in_memory_credential_service = require("./auth/credential_service/in_memory_credential_service.js");
@@ -182,6 +202,7 @@ var import_event_actions = require("./events/event_actions.js");
182
202
  var import_structured_events = require("./events/structured_events.js");
183
203
  var import_base_example_provider = require("./examples/base_example_provider.js");
184
204
  var import_in_memory_memory_service = require("./memory/in_memory_memory_service.js");
205
+ var import_vertex_ai_memory_bank_service = require("./memory/vertex_ai_memory_bank_service.js");
185
206
  var import_apigee_llm = require("./models/apigee_llm.js");
186
207
  var import_base_llm = require("./models/base_llm.js");
187
208
  var import_google_llm = require("./models/google_llm.js");
@@ -202,6 +223,7 @@ var import_base_tool = require("./tools/base_tool.js");
202
223
  var import_base_toolset = require("./tools/base_toolset.js");
203
224
  var import_exit_loop_tool = require("./tools/exit_loop_tool.js");
204
225
  var import_function_tool = require("./tools/function_tool.js");
226
+ var import_google_maps_grounding_tool = require("./tools/google_maps_grounding_tool.js");
205
227
  var import_google_search_tool = require("./tools/google_search_tool.js");
206
228
  var import_load_artifacts_tool = require("./tools/load_artifacts_tool.js");
207
229
  var import_load_memory_tool = require("./tools/load_memory_tool.js");
@@ -210,15 +232,24 @@ var import_preload_memory_tool = require("./tools/preload_memory_tool.js");
210
232
  var import_tool_confirmation = require("./tools/tool_confirmation.js");
211
233
  var import_url_context_tool = require("./tools/url_context_tool.js");
212
234
  var import_vertex_ai_search_tool = require("./tools/vertex_ai_search_tool.js");
235
+ var import_vertex_rag_retrieval_tool = require("./tools/vertex_rag_retrieval_tool.js");
213
236
  var import_logger = require("./utils/logger.js");
214
237
  var import_model_name = require("./utils/model_name.js");
215
238
  var import_simple_zod_to_json = require("./utils/simple_zod_to_json.js");
216
239
  var import_variant_utils = require("./utils/variant_utils.js");
217
240
  var import_version = require("./version.js");
241
+ var import_gcp_skill_registry = require("./skills/gcp_skill_registry.js");
242
+ var import_loader = require("./skills/loader.js");
218
243
  var import_list_skills_tool = require("./tools/skill/list_skills_tool.js");
219
244
  var import_load_skill_resource_tool = require("./tools/skill/load_skill_resource_tool.js");
220
245
  var import_load_skill_tool = require("./tools/skill/load_skill_tool.js");
246
+ var import_search_skills_tool = require("./tools/skill/search_skills_tool.js");
221
247
  var import_skill_toolset = require("./tools/skill/skill_toolset.js");
248
+ var import_openapi_spec_parser = require("./tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js");
249
+ var import_operation_parser = require("./tools/openapi_tool/openapi_spec_parser/operation_parser.js");
250
+ var import_tool_auth_handler = require("./tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js");
251
+ var import_openapi_toolset = require("./tools/openapi_tool/openapi_toolset.js");
252
+ var import_rest_api_tool = require("./tools/openapi_tool/rest_api_tool.js");
222
253
  __reExport(common_exports, require("./artifacts/base_artifact_service.js"), module.exports);
223
254
  __reExport(common_exports, require("./features/feature_registry.js"), module.exports);
224
255
  __reExport(common_exports, require("./memory/base_memory_service.js"), module.exports);
@@ -231,6 +262,7 @@ __reExport(common_exports, require("./tools/base_tool.js"), module.exports);
231
262
  */
232
263
  // Annotate the CommonJS export names for ESM import in node:
233
264
  0 && (module.exports = {
265
+ AUTH_PREPROCESSOR,
234
266
  ActiveStreamingTool,
235
267
  Agent,
236
268
  AgentTool,
@@ -238,6 +270,7 @@ __reExport(common_exports, require("./tools/base_tool.js"), module.exports);
238
270
  ApigeeLlm,
239
271
  AuthCredentialTypes,
240
272
  AuthHandler,
273
+ AuthPreprocessor,
241
274
  AuthProviderRegistry,
242
275
  BaseAgent,
243
276
  BaseCodeExecutor,
@@ -263,9 +296,12 @@ __reExport(common_exports, require("./tools/base_tool.js"), module.exports);
263
296
  ExitLoopTool,
264
297
  FileContentEncoding,
265
298
  FunctionTool,
299
+ GCPSkillRegistry,
300
+ GOOGLE_MAPS_GROUNDING,
266
301
  GOOGLE_SEARCH,
267
302
  Gemini,
268
303
  GoogleLLMVariant,
304
+ GoogleMapsGroundingTool,
269
305
  GoogleSearchTool,
270
306
  InMemoryArtifactService,
271
307
  InMemoryCredentialService,
@@ -292,6 +328,9 @@ __reExport(common_exports, require("./tools/base_tool.js"), module.exports);
292
328
  OAuth2CredentialExchanger,
293
329
  OAuth2DiscoveryManager,
294
330
  OAuthGrantType,
331
+ OpenAPIToolset,
332
+ OpenApiSpecParser,
333
+ OperationParser,
295
334
  PRELOAD_MEMORY,
296
335
  ParallelAgent,
297
336
  PluginManager,
@@ -299,9 +338,11 @@ __reExport(common_exports, require("./tools/base_tool.js"), module.exports);
299
338
  PreloadMemoryTool,
300
339
  REQUEST_CONFIRMATION_FUNCTION_CALL_NAME,
301
340
  ReadonlyContext,
341
+ RestApiTool,
302
342
  RoutedAgent,
303
343
  RoutedLlm,
304
344
  Runner,
345
+ SearchSkillsTool,
305
346
  SecurityPlugin,
306
347
  SequentialAgent,
307
348
  SessionStateCredentialService,
@@ -309,13 +350,17 @@ __reExport(common_exports, require("./tools/base_tool.js"), module.exports);
309
350
  State,
310
351
  StreamingMode,
311
352
  TokenBasedContextCompactor,
353
+ ToolAuthHandler,
312
354
  ToolConfirmation,
313
355
  TruncatingContextCompactor,
314
356
  URL_CONTEXT,
315
357
  UrlContextTool,
358
+ VertexAiMemoryBankService,
316
359
  VertexAiSearchTool,
360
+ VertexRagRetrievalTool,
317
361
  createEvent,
318
362
  createEventActions,
363
+ createRestApiTool,
319
364
  createSession,
320
365
  functionsExportedForTestingOnly,
321
366
  geminiInitParams,
@@ -334,16 +379,21 @@ __reExport(common_exports, require("./tools/base_tool.js"), module.exports);
334
379
  isFinalResponse,
335
380
  isFunctionTool,
336
381
  isGemini2OrAbove,
382
+ isGemini3xFlashLive,
337
383
  isLlmAgent,
338
384
  isLoopAgent,
339
385
  isParallelAgent,
340
386
  isRoutedAgent,
341
387
  isRunner,
342
388
  isSequentialAgent,
389
+ loadAllSkillsInDir,
390
+ loadSkillFromDir,
391
+ loadSkillFromZipBuffer,
343
392
  setLogLevel,
344
393
  setLogger,
345
394
  stringifyContent,
346
395
  toStructuredEvents,
396
+ validateSkillDir,
347
397
  version,
348
398
  zodObjectToSchema,
349
399
  ...require("./artifacts/base_artifact_service.js"),
@@ -36,10 +36,21 @@ var import_event = require("../../events/event.js");
36
36
  */
37
37
  const DEFAULT_PROMPT = "The following is a conversation history between a user and an AI agent. Please summarize the conversation, focusing on key information and decisions made, as well as any unresolved questions or tasks. The summary should be concise and capture the essence of the interaction.";
38
38
  class LlmSummarizer {
39
+ /**
40
+ * @param options - Configuration specifying the LLM and optional prompt.
41
+ */
39
42
  constructor(options) {
40
43
  this.llm = options.llm;
41
44
  this.prompt = options.prompt || DEFAULT_PROMPT;
42
45
  }
46
+ /**
47
+ * Summarizes a list of events into a single {@link CompactedEvent} using the
48
+ * configured LLM.
49
+ *
50
+ * @param events - The events to summarize. Must be non-empty.
51
+ * @returns A promise resolving to the compacted representation.
52
+ * @throws {Error} If `events` is empty or the LLM returns no content.
53
+ */
43
54
  async summarize(events) {
44
55
  var _a, _b, _c, _d, _e, _f;
45
56
  if (events.length === 0) {
@@ -102,7 +102,7 @@ class TokenBasedContextCompactor {
102
102
  compactedEvent.actions = {
103
103
  stateDelta: {},
104
104
  artifactDelta: {},
105
- requestedAuthConfigs: [],
105
+ requestedAuthConfigs: {},
106
106
  requestedToolConfirmations: {}
107
107
  };
108
108
  }