@google/adk 1.1.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (300) hide show
  1. package/dist/cjs/agents/base_agent.js +19 -1
  2. package/dist/cjs/agents/functions.js +4 -0
  3. package/dist/cjs/agents/instructions.js +81 -33
  4. package/dist/cjs/agents/invocation_context.js +0 -1
  5. package/dist/cjs/agents/llm_agent.js +52 -5
  6. package/dist/cjs/agents/processors/agent_transfer_llm_request_processor.js +7 -0
  7. package/dist/cjs/agents/processors/basic_llm_request_processor.js +8 -1
  8. package/dist/cjs/agents/processors/content_processor_utils.js +37 -24
  9. package/dist/cjs/agents/processors/content_request_processor.js +7 -0
  10. package/dist/cjs/agents/processors/context_compactor_request_processor.js +12 -0
  11. package/dist/cjs/agents/processors/identity_llm_request_processor.js +7 -0
  12. package/dist/cjs/agents/processors/instructions_llm_request_processor.js +5 -0
  13. package/dist/cjs/agents/processors/request_confirmation_llm_request_processor.js +9 -1
  14. package/dist/cjs/agents/processors/tool_filter_request_processor.js +7 -1
  15. package/dist/cjs/auth/auth_preprocessor.js +12 -10
  16. package/dist/cjs/auth/oauth2/oauth2_discovery.js +26 -2
  17. package/dist/cjs/code_executors/agent_engine_sandbox_code_executor.js +305 -0
  18. package/dist/cjs/code_executors/code_execution_utils.js +1 -1
  19. package/dist/cjs/code_executors/code_executor_context.js +7 -7
  20. package/dist/cjs/common.js +50 -0
  21. package/dist/cjs/context/summarizers/llm_summarizer.js +11 -0
  22. package/dist/cjs/context/token_based_context_compactor.js +1 -1
  23. package/dist/cjs/events/event.js +4 -2
  24. package/dist/cjs/index.js +14 -0
  25. package/dist/cjs/integrations/agent_registry/agent_registry.js +362 -0
  26. package/dist/cjs/integrations/agent_registry/agent_registry_mcp_toolset.js +122 -0
  27. package/dist/cjs/integrations/agent_registry/helpers.js +57 -0
  28. package/dist/cjs/integrations/agent_registry/types.js +50 -0
  29. package/dist/cjs/memory/vertex_ai_memory_bank_service.js +496 -0
  30. package/dist/cjs/models/gemini_llm_connection.js +62 -19
  31. package/dist/cjs/models/google_llm.js +26 -8
  32. package/dist/cjs/plugins/security_plugin.js +16 -0
  33. package/dist/cjs/runner/in_memory_runner.js +10 -5
  34. package/dist/cjs/runner/runner.js +32 -2
  35. package/dist/cjs/sessions/base_session_service.js +13 -2
  36. package/dist/cjs/sessions/database_session_service.js +51 -5
  37. package/dist/cjs/sessions/db/schema.js +45 -10
  38. package/dist/cjs/sessions/in_memory_session_service.js +72 -15
  39. package/dist/cjs/sessions/registry.js +4 -0
  40. package/dist/cjs/sessions/vertex_ai_session_service.js +429 -0
  41. package/dist/cjs/skills/gcp_skill_registry.js +104 -0
  42. package/dist/cjs/skills/loader.js +65 -0
  43. package/dist/cjs/skills/skill_registry.js +27 -0
  44. package/dist/cjs/tools/agent_tool.js +10 -5
  45. package/dist/cjs/tools/exit_loop_tool.js +9 -0
  46. package/dist/cjs/tools/function_tool.js +7 -2
  47. package/dist/cjs/tools/google_maps_grounding_tool.js +80 -0
  48. package/dist/cjs/tools/long_running_tool.js +2 -1
  49. package/dist/cjs/tools/mcp/mcp_session_manager.js +11 -0
  50. package/dist/cjs/tools/mcp/mcp_tool.js +10 -6
  51. package/dist/cjs/tools/mcp/mcp_toolset.js +26 -3
  52. package/dist/cjs/tools/openapi_tool/auth/auth_helpers.js +78 -0
  53. package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +84 -0
  54. package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +133 -0
  55. package/dist/cjs/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +232 -0
  56. package/dist/cjs/tools/openapi_tool/openapi_spec_parser/operation_parser.js +224 -0
  57. package/dist/cjs/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +127 -0
  58. package/dist/cjs/tools/openapi_tool/openapi_toolset.js +133 -0
  59. package/dist/cjs/tools/openapi_tool/rest_api_tool.js +256 -0
  60. package/dist/cjs/tools/skill/load_skill_resource_tool.js +27 -28
  61. package/dist/cjs/tools/skill/load_skill_tool.js +12 -1
  62. package/dist/cjs/tools/skill/run_skill_script_tool.js +12 -1
  63. package/dist/cjs/tools/skill/search_skills_tool.js +108 -0
  64. package/dist/cjs/tools/skill/skill_toolset.js +40 -5
  65. package/dist/cjs/tools/vertex_rag_retrieval_tool.js +64 -0
  66. package/dist/cjs/utils/async_queue.js +88 -0
  67. package/dist/cjs/utils/case_utils.js +53 -0
  68. package/dist/cjs/utils/env_aware_utils.js +4 -0
  69. package/dist/cjs/utils/file_utils.js +28 -0
  70. package/dist/cjs/utils/gemini_schema_util.js +18 -0
  71. package/dist/cjs/utils/live_connection_utils.js +284 -0
  72. package/dist/cjs/utils/model_name.js +9 -0
  73. package/dist/cjs/utils/partial_copy.js +51 -0
  74. package/dist/cjs/utils/streaming_utils.js +169 -122
  75. package/dist/cjs/utils/vertex_ai_utils.js +50 -0
  76. package/dist/cjs/version.js +1 -1
  77. package/dist/esm/agents/base_agent.js +19 -1
  78. package/dist/esm/agents/functions.js +4 -0
  79. package/dist/esm/agents/instructions.js +81 -33
  80. package/dist/esm/agents/invocation_context.js +0 -1
  81. package/dist/esm/agents/llm_agent.js +53 -5
  82. package/dist/esm/agents/processors/agent_transfer_llm_request_processor.js +7 -0
  83. package/dist/esm/agents/processors/basic_llm_request_processor.js +8 -1
  84. package/dist/esm/agents/processors/content_processor_utils.js +35 -23
  85. package/dist/esm/agents/processors/content_request_processor.js +7 -0
  86. package/dist/esm/agents/processors/context_compactor_request_processor.js +12 -0
  87. package/dist/esm/agents/processors/identity_llm_request_processor.js +7 -0
  88. package/dist/esm/agents/processors/instructions_llm_request_processor.js +5 -0
  89. package/dist/esm/agents/processors/request_confirmation_llm_request_processor.js +9 -1
  90. package/dist/esm/agents/processors/tool_filter_request_processor.js +7 -1
  91. package/dist/esm/auth/auth_preprocessor.js +12 -10
  92. package/dist/esm/auth/oauth2/oauth2_discovery.js +26 -2
  93. package/dist/esm/code_executors/agent_engine_sandbox_code_executor.js +281 -0
  94. package/dist/esm/code_executors/code_execution_utils.js +1 -1
  95. package/dist/esm/code_executors/code_executor_context.js +7 -7
  96. package/dist/esm/common.js +43 -1
  97. package/dist/esm/context/summarizers/llm_summarizer.js +11 -0
  98. package/dist/esm/context/token_based_context_compactor.js +1 -1
  99. package/dist/esm/events/event.js +4 -2
  100. package/dist/esm/index.js +11 -0
  101. package/dist/esm/integrations/agent_registry/agent_registry.js +333 -0
  102. package/dist/esm/integrations/agent_registry/agent_registry_mcp_toolset.js +96 -0
  103. package/dist/esm/integrations/agent_registry/helpers.js +28 -0
  104. package/dist/esm/integrations/agent_registry/types.js +20 -0
  105. package/dist/esm/memory/vertex_ai_memory_bank_service.js +468 -0
  106. package/dist/esm/models/gemini_llm_connection.js +62 -19
  107. package/dist/esm/models/google_llm.js +26 -8
  108. package/dist/esm/plugins/security_plugin.js +16 -0
  109. package/dist/esm/runner/in_memory_runner.js +10 -5
  110. package/dist/esm/runner/runner.js +32 -2
  111. package/dist/esm/sessions/base_session_service.js +11 -1
  112. package/dist/esm/sessions/database_session_service.js +51 -5
  113. package/dist/esm/sessions/db/schema.js +44 -10
  114. package/dist/esm/sessions/in_memory_session_service.js +74 -16
  115. package/dist/esm/sessions/registry.js +7 -0
  116. package/dist/esm/sessions/vertex_ai_session_service.js +405 -0
  117. package/dist/esm/skills/gcp_skill_registry.js +78 -0
  118. package/dist/esm/skills/loader.js +64 -0
  119. package/dist/esm/skills/skill_registry.js +7 -0
  120. package/dist/esm/tools/agent_tool.js +10 -5
  121. package/dist/esm/tools/exit_loop_tool.js +9 -0
  122. package/dist/esm/tools/function_tool.js +7 -2
  123. package/dist/esm/tools/google_maps_grounding_tool.js +54 -0
  124. package/dist/esm/tools/long_running_tool.js +2 -1
  125. package/dist/esm/tools/mcp/mcp_session_manager.js +11 -0
  126. package/dist/esm/tools/mcp/mcp_tool.js +10 -6
  127. package/dist/esm/tools/mcp/mcp_toolset.js +26 -3
  128. package/dist/esm/tools/openapi_tool/auth/auth_helpers.js +48 -0
  129. package/dist/esm/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +60 -0
  130. package/dist/esm/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +111 -0
  131. package/dist/esm/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +206 -0
  132. package/dist/esm/tools/openapi_tool/openapi_spec_parser/operation_parser.js +198 -0
  133. package/dist/esm/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +101 -0
  134. package/dist/esm/tools/openapi_tool/openapi_toolset.js +97 -0
  135. package/dist/esm/tools/openapi_tool/rest_api_tool.js +229 -0
  136. package/dist/esm/tools/skill/load_skill_resource_tool.js +26 -27
  137. package/dist/esm/tools/skill/load_skill_tool.js +12 -1
  138. package/dist/esm/tools/skill/run_skill_script_tool.js +12 -1
  139. package/dist/esm/tools/skill/search_skills_tool.js +82 -0
  140. package/dist/esm/tools/skill/skill_toolset.js +40 -5
  141. package/dist/esm/tools/vertex_rag_retrieval_tool.js +36 -0
  142. package/dist/esm/utils/async_queue.js +60 -0
  143. package/dist/esm/utils/case_utils.js +25 -0
  144. package/dist/esm/utils/env_aware_utils.js +4 -0
  145. package/dist/esm/utils/file_utils.js +26 -0
  146. package/dist/esm/utils/gemini_schema_util.js +18 -0
  147. package/dist/esm/utils/live_connection_utils.js +256 -0
  148. package/dist/esm/utils/model_name.js +8 -0
  149. package/dist/esm/utils/partial_copy.js +23 -0
  150. package/dist/esm/utils/streaming_utils.js +167 -121
  151. package/dist/esm/utils/vertex_ai_utils.js +22 -0
  152. package/dist/esm/version.js +1 -1
  153. package/dist/types/a2a/a2a_remote_agent.d.ts +14 -0
  154. package/dist/types/a2a/a2a_remote_agent_utils.d.ts +29 -4
  155. package/dist/types/a2a/event_converter_utils.d.ts +14 -1
  156. package/dist/types/a2a/metadata_converter_utils.d.ts +18 -0
  157. package/dist/types/a2a/part_converter_utils.d.ts +51 -6
  158. package/dist/types/agents/invocation_context.d.ts +0 -9
  159. package/dist/types/agents/llm_agent.d.ts +14 -0
  160. package/dist/types/agents/processors/agent_transfer_llm_request_processor.d.ts +14 -0
  161. package/dist/types/agents/processors/base_llm_processor.d.ts +12 -4
  162. package/dist/types/agents/processors/basic_llm_request_processor.d.ts +12 -0
  163. package/dist/types/agents/processors/content_processor_utils.d.ts +26 -0
  164. package/dist/types/agents/processors/content_request_processor.d.ts +16 -0
  165. package/dist/types/agents/processors/context_compactor_request_processor.d.ts +12 -0
  166. package/dist/types/agents/processors/identity_llm_request_processor.d.ts +11 -0
  167. package/dist/types/agents/processors/request_confirmation_llm_request_processor.d.ts +14 -1
  168. package/dist/types/agents/processors/tool_filter_request_processor.d.ts +12 -1
  169. package/dist/types/agents/run_config.d.ts +15 -0
  170. package/dist/types/code_executors/agent_engine_sandbox_code_executor.d.ts +51 -0
  171. package/dist/types/common.d.ts +19 -1
  172. package/dist/types/context/summarizers/llm_summarizer.d.ts +17 -0
  173. package/dist/types/events/event_actions.d.ts +25 -8
  174. package/dist/types/events/structured_events.d.ts +13 -0
  175. package/dist/types/examples/example_util.d.ts +25 -0
  176. package/dist/types/index.d.ts +6 -0
  177. package/dist/types/integrations/agent_registry/agent_registry.d.ts +94 -0
  178. package/dist/types/integrations/agent_registry/agent_registry_mcp_toolset.d.ts +62 -0
  179. package/dist/types/integrations/agent_registry/helpers.d.ts +7 -0
  180. package/dist/types/integrations/agent_registry/types.d.ts +101 -0
  181. package/dist/types/memory/vertex_ai_memory_bank_service.d.ts +52 -0
  182. package/dist/types/models/base_llm_connection.d.ts +10 -0
  183. package/dist/types/models/gemini_llm_connection.d.ts +15 -4
  184. package/dist/types/models/llm_response.d.ts +10 -1
  185. package/dist/types/plugins/security_plugin.d.ts +30 -0
  186. package/dist/types/runner/in_memory_runner.d.ts +28 -1
  187. package/dist/types/runner/runner.d.ts +47 -0
  188. package/dist/types/sessions/base_session_service.d.ts +22 -0
  189. package/dist/types/sessions/database_session_service.d.ts +1 -1
  190. package/dist/types/sessions/db/schema.d.ts +1 -0
  191. package/dist/types/sessions/in_memory_session_service.d.ts +1 -1
  192. package/dist/types/sessions/vertex_ai_session_service.d.ts +37 -0
  193. package/dist/types/skills/gcp_skill_registry.d.ts +24 -0
  194. package/dist/types/skills/loader.d.ts +7 -0
  195. package/dist/types/skills/skill.d.ts +1 -1
  196. package/dist/types/skills/skill_registry.d.ts +29 -0
  197. package/dist/types/tools/exit_loop_tool.d.ts +9 -0
  198. package/dist/types/tools/function_tool.d.ts +22 -2
  199. package/dist/types/tools/google_maps_grounding_tool.d.ts +22 -0
  200. package/dist/types/tools/long_running_tool.d.ts +11 -1
  201. package/dist/types/tools/mcp/mcp_session_manager.d.ts +3 -0
  202. package/dist/types/tools/mcp/mcp_toolset.d.ts +2 -1
  203. package/dist/types/tools/openapi_tool/auth/auth_helpers.d.ts +25 -0
  204. package/dist/types/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.d.ts +20 -0
  205. package/dist/types/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.d.ts +20 -0
  206. package/dist/types/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.d.ts +34 -0
  207. package/dist/types/tools/openapi_tool/openapi_spec_parser/operation_parser.d.ts +59 -0
  208. package/dist/types/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.d.ts +23 -0
  209. package/dist/types/tools/openapi_tool/openapi_toolset.d.ts +27 -0
  210. package/dist/types/tools/openapi_tool/rest_api_tool.d.ts +50 -0
  211. package/dist/types/tools/skill/load_skill_resource_tool.d.ts +1 -1
  212. package/dist/types/tools/skill/search_skills_tool.d.ts +14 -0
  213. package/dist/types/tools/skill/skill_toolset.d.ts +5 -0
  214. package/dist/types/tools/vertex_rag_retrieval_tool.d.ts +42 -0
  215. package/dist/types/utils/async_queue.d.ts +18 -0
  216. package/dist/types/utils/case_utils.d.ts +12 -0
  217. package/dist/types/utils/file_utils.d.ts +2 -0
  218. package/dist/types/utils/live_connection_utils.d.ts +30 -0
  219. package/dist/types/utils/model_name.d.ts +7 -0
  220. package/dist/types/utils/partial_copy.d.ts +13 -0
  221. package/dist/types/utils/streaming_utils.d.ts +7 -17
  222. package/dist/types/utils/vertex_ai_utils.d.ts +14 -0
  223. package/dist/types/version.d.ts +1 -1
  224. package/dist/web/agents/base_agent.js +31 -1
  225. package/dist/web/agents/functions.js +4 -0
  226. package/dist/web/agents/instructions.js +81 -33
  227. package/dist/web/agents/invocation_context.js +0 -1
  228. package/dist/web/agents/llm_agent.js +53 -5
  229. package/dist/web/agents/processors/agent_transfer_llm_request_processor.js +7 -0
  230. package/dist/web/agents/processors/basic_llm_request_processor.js +8 -1
  231. package/dist/web/agents/processors/content_processor_utils.js +53 -23
  232. package/dist/web/agents/processors/content_request_processor.js +7 -0
  233. package/dist/web/agents/processors/context_compactor_request_processor.js +12 -0
  234. package/dist/web/agents/processors/identity_llm_request_processor.js +7 -0
  235. package/dist/web/agents/processors/instructions_llm_request_processor.js +5 -0
  236. package/dist/web/agents/processors/request_confirmation_llm_request_processor.js +9 -1
  237. package/dist/web/agents/processors/tool_filter_request_processor.js +7 -1
  238. package/dist/web/auth/auth_preprocessor.js +12 -10
  239. package/dist/web/auth/oauth2/oauth2_discovery.js +26 -2
  240. package/dist/web/code_executors/agent_engine_sandbox_code_executor.js +281 -0
  241. package/dist/web/code_executors/code_execution_utils.js +1 -1
  242. package/dist/web/code_executors/code_executor_context.js +7 -7
  243. package/dist/web/common.js +43 -1
  244. package/dist/web/context/summarizers/llm_summarizer.js +11 -0
  245. package/dist/web/context/token_based_context_compactor.js +1 -1
  246. package/dist/web/events/event.js +4 -2
  247. package/dist/web/index.js +11 -0
  248. package/dist/web/integrations/agent_registry/agent_registry.js +333 -0
  249. package/dist/web/integrations/agent_registry/agent_registry_mcp_toolset.js +109 -0
  250. package/dist/web/integrations/agent_registry/helpers.js +28 -0
  251. package/dist/web/integrations/agent_registry/types.js +20 -0
  252. package/dist/web/memory/vertex_ai_memory_bank_service.js +475 -0
  253. package/dist/web/models/gemini_llm_connection.js +75 -19
  254. package/dist/web/models/google_llm.js +26 -8
  255. package/dist/web/plugins/security_plugin.js +16 -0
  256. package/dist/web/runner/in_memory_runner.js +10 -5
  257. package/dist/web/runner/runner.js +32 -2
  258. package/dist/web/sessions/base_session_service.js +11 -1
  259. package/dist/web/sessions/database_session_service.js +51 -5
  260. package/dist/web/sessions/db/schema.js +44 -10
  261. package/dist/web/sessions/in_memory_session_service.js +74 -16
  262. package/dist/web/sessions/registry.js +7 -0
  263. package/dist/web/sessions/vertex_ai_session_service.js +416 -0
  264. package/dist/web/skills/gcp_skill_registry.js +78 -0
  265. package/dist/web/skills/loader.js +64 -0
  266. package/dist/web/skills/skill_registry.js +7 -0
  267. package/dist/web/tools/agent_tool.js +10 -5
  268. package/dist/web/tools/exit_loop_tool.js +9 -0
  269. package/dist/web/tools/function_tool.js +7 -2
  270. package/dist/web/tools/google_maps_grounding_tool.js +54 -0
  271. package/dist/web/tools/long_running_tool.js +2 -1
  272. package/dist/web/tools/mcp/mcp_session_manager.js +11 -0
  273. package/dist/web/tools/mcp/mcp_tool.js +10 -6
  274. package/dist/web/tools/mcp/mcp_toolset.js +26 -3
  275. package/dist/web/tools/openapi_tool/auth/auth_helpers.js +48 -0
  276. package/dist/web/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +60 -0
  277. package/dist/web/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +111 -0
  278. package/dist/web/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +221 -0
  279. package/dist/web/tools/openapi_tool/openapi_spec_parser/operation_parser.js +198 -0
  280. package/dist/web/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +101 -0
  281. package/dist/web/tools/openapi_tool/openapi_toolset.js +97 -0
  282. package/dist/web/tools/openapi_tool/rest_api_tool.js +229 -0
  283. package/dist/web/tools/skill/load_skill_resource_tool.js +26 -27
  284. package/dist/web/tools/skill/load_skill_tool.js +12 -1
  285. package/dist/web/tools/skill/run_skill_script_tool.js +12 -1
  286. package/dist/web/tools/skill/search_skills_tool.js +82 -0
  287. package/dist/web/tools/skill/skill_toolset.js +40 -5
  288. package/dist/web/tools/vertex_rag_retrieval_tool.js +36 -0
  289. package/dist/web/utils/async_queue.js +60 -0
  290. package/dist/web/utils/case_utils.js +25 -0
  291. package/dist/web/utils/env_aware_utils.js +4 -0
  292. package/dist/web/utils/file_utils.js +26 -0
  293. package/dist/web/utils/gemini_schema_util.js +18 -0
  294. package/dist/web/utils/live_connection_utils.js +254 -0
  295. package/dist/web/utils/model_name.js +8 -0
  296. package/dist/web/utils/partial_copy.js +23 -0
  297. package/dist/web/utils/streaming_utils.js +221 -122
  298. package/dist/web/utils/vertex_ai_utils.js +22 -0
  299. package/dist/web/version.js +1 -1
  300. package/package.json +4 -1
@@ -0,0 +1,281 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __decorateClass = (decorators, target, key, kind) => {
6
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
7
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
8
+ if (decorator = decorators[i])
9
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
10
+ if (kind && result) __defProp(target, key, result);
11
+ return result;
12
+ };
13
+ /**
14
+ * @license
15
+ * Copyright 2026 Google LLC
16
+ * SPDX-License-Identifier: Apache-2.0
17
+ */
18
+ import { Client } from "@google-cloud/vertexai";
19
+ import { Language } from "@google-cloud/vertexai/build/src/genai/types.js";
20
+ import { experimental } from "../utils/experimental.js";
21
+ import { guessMimeType } from "../utils/file_utils.js";
22
+ const SANDBOX_PATTERN = /^projects\/([a-zA-Z0-9-_]+)\/locations\/([a-zA-Z0-9-_]+)\/reasoningEngines\/(\d+)\/sandboxEnvironments\/(\d+)$/;
23
+ const ENGINE_PATTERN = /^projects\/([a-zA-Z0-9-_]+)\/locations\/([a-zA-Z0-9-_]+)\/reasoningEngines\/(\d+)$/;
24
+ import { logger } from "../utils/logger.js";
25
+ import { BaseCodeExecutor } from "./base_code_executor.js";
26
+ import {
27
+ CodeExecutionLanguage
28
+ } from "./code_execution_utils.js";
29
+ const DEFAULT_MAX_ATTEMPTS = 180;
30
+ const DEFAULT_SANDBOX_TTL = "31536000s";
31
+ const DEFAULT_SANDBOX_DISPLAY_NAME = "default_sandbox";
32
+ const DEFAULT_ENGINE_DISPLAY_NAME = "default_engine";
33
+ function mapLanguage(lang) {
34
+ switch (lang) {
35
+ case CodeExecutionLanguage.PYTHON:
36
+ return Language.LANGUAGE_PYTHON;
37
+ case CodeExecutionLanguage.JAVASCRIPT:
38
+ return Language.LANGUAGE_JAVASCRIPT;
39
+ default:
40
+ throw new Error(`Unsupported language for Agent Engine Sandbox: ${lang}`);
41
+ }
42
+ }
43
+ let AgentEngineSandboxCodeExecutor = class extends BaseCodeExecutor {
44
+ constructor(options = {}) {
45
+ super();
46
+ this.sandboxResourceName = options.sandboxResourceName;
47
+ this.agentEngineResourceName = options.agentEngineResourceName;
48
+ this.projectId = options.projectId || process.env.GOOGLE_CLOUD_PROJECT;
49
+ this.location = options.location || process.env.GOOGLE_CLOUD_LOCATION || "us-central1";
50
+ if (this.sandboxResourceName) {
51
+ const match = this.sandboxResourceName.match(SANDBOX_PATTERN);
52
+ if (match) {
53
+ this.projectId = match[1];
54
+ this.location = match[2];
55
+ } else {
56
+ throw new Error(
57
+ `Invalid sandbox resource name: ${this.sandboxResourceName}`
58
+ );
59
+ }
60
+ } else if (this.agentEngineResourceName) {
61
+ const match = this.agentEngineResourceName.match(ENGINE_PATTERN);
62
+ if (match) {
63
+ this.projectId = match[1];
64
+ this.location = match[2];
65
+ } else {
66
+ throw new Error(
67
+ `Invalid agent engine resource name: ${this.agentEngineResourceName}`
68
+ );
69
+ }
70
+ }
71
+ if (options.client) {
72
+ this.client = options.client;
73
+ } else {
74
+ if (!this.projectId) {
75
+ throw new Error("Project ID is required.");
76
+ }
77
+ this.client = new Client({
78
+ project: this.projectId,
79
+ location: this.location
80
+ });
81
+ }
82
+ }
83
+ async executeCode(params) {
84
+ var _a;
85
+ const { invocationContext, codeExecutionInput } = params;
86
+ const language = mapLanguage(codeExecutionInput.language);
87
+ const agentEngineName = await this.getOrCreateAgentEngine();
88
+ const sandboxName = await this.getOrCreateSandbox(
89
+ invocationContext,
90
+ agentEngineName,
91
+ language
92
+ );
93
+ const inputs = [
94
+ {
95
+ mimeType: "application/json",
96
+ data: Buffer.from(
97
+ JSON.stringify({ code: codeExecutionInput.code })
98
+ ).toString("base64")
99
+ }
100
+ ];
101
+ if (codeExecutionInput.inputFiles) {
102
+ for (const file of codeExecutionInput.inputFiles) {
103
+ inputs.push({
104
+ mimeType: file.mimeType,
105
+ data: file.content,
106
+ // Assumed to be already base64 encoded based on CodeExecutionInput definition
107
+ metadata: {
108
+ attributes: {
109
+ file_name: Buffer.from(file.name).toString("base64")
110
+ }
111
+ }
112
+ });
113
+ }
114
+ }
115
+ logger.debug(`Executing code in sandbox ${sandboxName}...`);
116
+ const response = await this.client.agentEnginesInternal.sandboxes.executeCodeInternal({
117
+ name: sandboxName,
118
+ inputs
119
+ });
120
+ let stdout = "";
121
+ let stderr = "";
122
+ const outputFiles = [];
123
+ if (response.outputs) {
124
+ for (const output of response.outputs) {
125
+ const attributes = ((_a = output.metadata) == null ? void 0 : _a.attributes) || {};
126
+ const encodedFileName = attributes["file_name"];
127
+ const fileName = encodedFileName ? Buffer.from(encodedFileName, "base64").toString("utf-8") : void 0;
128
+ if (output.mimeType === "application/json" && !fileName) {
129
+ if (output.data) {
130
+ const jsonStr = Buffer.from(output.data, "base64").toString(
131
+ "utf-8"
132
+ );
133
+ try {
134
+ const jsonData = JSON.parse(jsonStr);
135
+ if (jsonData.msg_out !== void 0) {
136
+ stdout = jsonData.msg_out;
137
+ } else {
138
+ stdout = "";
139
+ }
140
+ if (jsonData.msg_err !== void 0) {
141
+ stderr = jsonData.msg_err;
142
+ } else {
143
+ stderr = "";
144
+ }
145
+ } catch (e) {
146
+ logger.warn("Failed to parse JSON output from sandbox", e);
147
+ stdout = jsonStr;
148
+ }
149
+ }
150
+ } else {
151
+ let mimeType = output.mimeType;
152
+ const name = fileName || "output_file";
153
+ if (!mimeType) {
154
+ mimeType = guessMimeType(name);
155
+ }
156
+ outputFiles.push({
157
+ name,
158
+ content: output.data || "",
159
+ mimeType
160
+ });
161
+ }
162
+ }
163
+ }
164
+ return {
165
+ stdout,
166
+ stderr,
167
+ outputFiles
168
+ };
169
+ }
170
+ async getOrCreateAgentEngine() {
171
+ if (this.agentEngineResourceName) {
172
+ return this.agentEngineResourceName;
173
+ }
174
+ if (!this.agentEngineCreationPromise) {
175
+ this.agentEngineCreationPromise = (async () => {
176
+ logger.debug(
177
+ "No Agent Engine resource name provided. Creating a new one..."
178
+ );
179
+ const operation = await this.client.agentEnginesInternal.createInternal(
180
+ {
181
+ config: {
182
+ displayName: DEFAULT_ENGINE_DISPLAY_NAME
183
+ }
184
+ }
185
+ );
186
+ let apiResponse = operation;
187
+ let attempts = 0;
188
+ while (!apiResponse.done && attempts < DEFAULT_MAX_ATTEMPTS) {
189
+ await new Promise((resolve) => setTimeout(resolve, 1e3));
190
+ apiResponse = await this.client.agentEnginesInternal.getAgentOperationInternal({
191
+ operationName: operation.name
192
+ });
193
+ attempts++;
194
+ }
195
+ if (!apiResponse.done) {
196
+ throw new Error(
197
+ `Agent Engine creation operation ${operation.name} did not complete in time.`
198
+ );
199
+ }
200
+ const response = apiResponse.response;
201
+ this.agentEngineResourceName = response.name;
202
+ logger.debug(`Created Agent Engine: ${this.agentEngineResourceName}`);
203
+ return this.agentEngineResourceName;
204
+ })();
205
+ }
206
+ return this.agentEngineCreationPromise;
207
+ }
208
+ async getOrCreateSandbox(invocationContext, agentEngineName, language) {
209
+ var _a, _b;
210
+ if (this.sandboxResourceName) {
211
+ return this.sandboxResourceName;
212
+ }
213
+ const stateKey = `sandbox_name_${language.toLowerCase()}`;
214
+ let sandboxName = (_b = (_a = invocationContext.session) == null ? void 0 : _a.state) == null ? void 0 : _b[stateKey];
215
+ let createNewSandbox = false;
216
+ if (!sandboxName) {
217
+ createNewSandbox = true;
218
+ } else {
219
+ try {
220
+ const sandbox = await this.client.agentEnginesInternal.sandboxes.getInternal({
221
+ name: sandboxName
222
+ });
223
+ if (!sandbox || sandbox.state !== "STATE_RUNNING") {
224
+ createNewSandbox = true;
225
+ }
226
+ } catch (error) {
227
+ logger.debug(
228
+ `Failed to get sandbox ${sandboxName}, will create a new one`,
229
+ error
230
+ );
231
+ createNewSandbox = true;
232
+ }
233
+ }
234
+ if (createNewSandbox) {
235
+ logger.debug(`Creating a new ${language} code execution sandbox...`);
236
+ const operation = await this.client.agentEnginesInternal.sandboxes.createInternal({
237
+ name: agentEngineName,
238
+ spec: {
239
+ codeExecutionEnvironment: {
240
+ codeLanguage: language
241
+ }
242
+ },
243
+ config: {
244
+ displayName: DEFAULT_SANDBOX_DISPLAY_NAME,
245
+ ttl: DEFAULT_SANDBOX_TTL
246
+ }
247
+ });
248
+ let apiResponse = operation;
249
+ let attempts = 0;
250
+ while (!apiResponse.done && attempts < DEFAULT_MAX_ATTEMPTS) {
251
+ await new Promise((resolve) => setTimeout(resolve, 1e3));
252
+ apiResponse = await this.client.agentEnginesInternal.sandboxes.getSandboxOperationInternal(
253
+ {
254
+ operationName: operation.name
255
+ }
256
+ );
257
+ attempts++;
258
+ }
259
+ if (!apiResponse.done) {
260
+ throw new Error(
261
+ `Sandbox creation operation ${operation.name} did not complete in time.`
262
+ );
263
+ }
264
+ const response = apiResponse.response;
265
+ sandboxName = response.name;
266
+ if (invocationContext.session) {
267
+ if (!invocationContext.session.state) {
268
+ invocationContext.session.state = {};
269
+ }
270
+ invocationContext.session.state[stateKey] = sandboxName;
271
+ }
272
+ }
273
+ return sandboxName;
274
+ }
275
+ };
276
+ AgentEngineSandboxCodeExecutor = __decorateClass([
277
+ experimental
278
+ ], AgentEngineSandboxCodeExecutor);
279
+ export {
280
+ AgentEngineSandboxCodeExecutor
281
+ };
@@ -47,7 +47,7 @@ function extractCodeAndTruncateContent(content, codeBlockDelimiters) {
47
47
  const leadingDelimiterPattern = codeBlockDelimiters.map((d) => d[0]).join("|");
48
48
  const trailingDelimiterPattern = codeBlockDelimiters.map((d) => d[1]).join("|");
49
49
  const match = new RegExp(
50
- `?<prefix>.*?)(${leadingDelimiterPattern})(?<codeStr>.*?)(${trailingDelimiterPattern})(?<suffix>.*?)$`,
50
+ `(?<prefix>.*?)(${leadingDelimiterPattern})(?<codeStr>.*?)(${trailingDelimiterPattern})(?<suffix>.*?)$`,
51
51
  "s"
52
52
  ).exec(responseText);
53
53
  const { prefix, codeStr } = (match == null ? void 0 : match.groups) || {};
@@ -70,7 +70,7 @@ class CodeExecutorContext {
70
70
  * @return A list of input files in the code executor context.
71
71
  */
72
72
  getInputFiles() {
73
- if (!(INPUT_FILE_KEY in this.sessionState)) {
73
+ if (!this.sessionState.has(INPUT_FILE_KEY)) {
74
74
  return [];
75
75
  }
76
76
  return this.sessionState.get(INPUT_FILE_KEY);
@@ -80,13 +80,13 @@ class CodeExecutorContext {
80
80
  * @param inputFiles The input files to add to the session state.
81
81
  */
82
82
  addInputFiles(inputFiles) {
83
- if (!(INPUT_FILE_KEY in this.sessionState)) {
83
+ if (!this.sessionState.has(INPUT_FILE_KEY)) {
84
84
  this.sessionState.set(INPUT_FILE_KEY, []);
85
85
  }
86
86
  this.sessionState.get(INPUT_FILE_KEY).push(...inputFiles);
87
87
  }
88
88
  clearInputFiles() {
89
- if (INPUT_FILE_KEY in this.sessionState) {
89
+ if (this.sessionState.has(INPUT_FILE_KEY)) {
90
90
  this.sessionState.set(INPUT_FILE_KEY, []);
91
91
  }
92
92
  if (PROCESSED_FILE_NAMES_KEY in this.context) {
@@ -99,7 +99,7 @@ class CodeExecutorContext {
99
99
  * @return The error count for the given invocation ID.
100
100
  */
101
101
  getErrorCount(invocationId) {
102
- if (!(ERROR_COUNT_KEY in this.sessionState)) {
102
+ if (!this.sessionState.has(ERROR_COUNT_KEY)) {
103
103
  return 0;
104
104
  }
105
105
  return this.sessionState.get(ERROR_COUNT_KEY)[invocationId] || 0;
@@ -109,7 +109,7 @@ class CodeExecutorContext {
109
109
  * @param invocationId The invocation ID to increment the error count for.
110
110
  */
111
111
  incrementErrorCount(invocationId) {
112
- if (!(ERROR_COUNT_KEY in this.sessionState)) {
112
+ if (!this.sessionState.has(ERROR_COUNT_KEY)) {
113
113
  this.sessionState.set(ERROR_COUNT_KEY, {});
114
114
  }
115
115
  this.sessionState.get(ERROR_COUNT_KEY)[invocationId] = this.getErrorCount(invocationId) + 1;
@@ -119,7 +119,7 @@ class CodeExecutorContext {
119
119
  * @param invocationId The invocation ID to reset the error count for.
120
120
  */
121
121
  resetErrorCount(invocationId) {
122
- if (!(ERROR_COUNT_KEY in this.sessionState)) {
122
+ if (!this.sessionState.has(ERROR_COUNT_KEY)) {
123
123
  return;
124
124
  }
125
125
  const errorCounts = this.sessionState.get(ERROR_COUNT_KEY);
@@ -141,7 +141,7 @@ class CodeExecutorContext {
141
141
  resultStdout,
142
142
  resultStderr
143
143
  }) {
144
- if (!(CODE_EXECUTION_RESULTS_KEY in this.sessionState)) {
144
+ if (!this.sessionState.has(CODE_EXECUTION_RESULTS_KEY)) {
145
145
  this.sessionState.set(CODE_EXECUTION_RESULTS_KEY, {});
146
146
  }
147
147
  const codeExecutionResults = this.sessionState.get(
@@ -31,6 +31,7 @@ import { SequentialAgent, isSequentialAgent } from "./agents/sequential_agent.js
31
31
  import { InMemoryArtifactService } from "./artifacts/in_memory_artifact_service.js";
32
32
  import { AuthCredentialTypes } from "./auth/auth_credential.js";
33
33
  import { AuthHandler } from "./auth/auth_handler.js";
34
+ import { AUTH_PREPROCESSOR, AuthPreprocessor } from "./auth/auth_preprocessor.js";
34
35
  import { AuthProviderRegistry } from "./auth/auth_provider_registry.js";
35
36
  import { OAuthGrantType } from "./auth/auth_schemes.js";
36
37
  import { InMemoryCredentialService } from "./auth/credential_service/in_memory_credential_service.js";
@@ -64,6 +65,7 @@ import {
64
65
  isBaseExampleProvider
65
66
  } from "./examples/base_example_provider.js";
66
67
  import { InMemoryMemoryService } from "./memory/in_memory_memory_service.js";
68
+ import { VertexAiMemoryBankService } from "./memory/vertex_ai_memory_bank_service.js";
67
69
  import { ApigeeLlm } from "./models/apigee_llm.js";
68
70
  import { BaseLlm, isBaseLlm } from "./models/base_llm.js";
69
71
  import { Gemini, geminiInitParams } from "./models/google_llm.js";
@@ -90,6 +92,10 @@ import { BaseTool, isBaseTool } from "./tools/base_tool.js";
90
92
  import { BaseToolset, isBaseToolset } from "./tools/base_toolset.js";
91
93
  import { EXIT_LOOP, ExitLoopTool } from "./tools/exit_loop_tool.js";
92
94
  import { FunctionTool, isFunctionTool } from "./tools/function_tool.js";
95
+ import {
96
+ GOOGLE_MAPS_GROUNDING,
97
+ GoogleMapsGroundingTool
98
+ } from "./tools/google_maps_grounding_tool.js";
93
99
  import { GOOGLE_SEARCH, GoogleSearchTool } from "./tools/google_search_tool.js";
94
100
  import {
95
101
  LOAD_ARTIFACTS,
@@ -104,21 +110,39 @@ import {
104
110
  import { ToolConfirmation } from "./tools/tool_confirmation.js";
105
111
  import { URL_CONTEXT, UrlContextTool } from "./tools/url_context_tool.js";
106
112
  import { VertexAiSearchTool } from "./tools/vertex_ai_search_tool.js";
113
+ import { VertexRagRetrievalTool } from "./tools/vertex_rag_retrieval_tool.js";
107
114
  import { LogLevel, getLogger, setLogLevel, setLogger } from "./utils/logger.js";
108
- import { isGemini2OrAbove } from "./utils/model_name.js";
115
+ import { isGemini2OrAbove, isGemini3xFlashLive } from "./utils/model_name.js";
109
116
  import { zodObjectToSchema } from "./utils/simple_zod_to_json.js";
110
117
  import { GoogleLLMVariant } from "./utils/variant_utils.js";
111
118
  import { version } from "./version.js";
119
+ import { GCPSkillRegistry } from "./skills/gcp_skill_registry.js";
120
+ import {
121
+ loadAllSkillsInDir,
122
+ loadSkillFromDir,
123
+ loadSkillFromZipBuffer,
124
+ validateSkillDir
125
+ } from "./skills/loader.js";
112
126
  import { ListSkillsTool } from "./tools/skill/list_skills_tool.js";
113
127
  import { LoadSkillResourceTool } from "./tools/skill/load_skill_resource_tool.js";
114
128
  import { LoadSkillTool } from "./tools/skill/load_skill_tool.js";
129
+ import { SearchSkillsTool } from "./tools/skill/search_skills_tool.js";
115
130
  import { SkillToolset } from "./tools/skill/skill_toolset.js";
131
+ import { OpenApiSpecParser } from "./tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js";
132
+ import { OperationParser } from "./tools/openapi_tool/openapi_spec_parser/operation_parser.js";
133
+ import { ToolAuthHandler } from "./tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js";
134
+ import { OpenAPIToolset } from "./tools/openapi_tool/openapi_toolset.js";
135
+ import {
136
+ RestApiTool,
137
+ createRestApiTool
138
+ } from "./tools/openapi_tool/rest_api_tool.js";
116
139
  export * from "./artifacts/base_artifact_service.js";
117
140
  export * from "./features/feature_registry.js";
118
141
  export * from "./memory/base_memory_service.js";
119
142
  export * from "./sessions/base_session_service.js";
120
143
  export * from "./tools/base_tool.js";
121
144
  export {
145
+ AUTH_PREPROCESSOR,
122
146
  ActiveStreamingTool,
123
147
  LlmAgent as Agent,
124
148
  AgentTool,
@@ -126,6 +150,7 @@ export {
126
150
  ApigeeLlm,
127
151
  AuthCredentialTypes,
128
152
  AuthHandler,
153
+ AuthPreprocessor,
129
154
  AuthProviderRegistry,
130
155
  BaseAgent,
131
156
  BaseCodeExecutor,
@@ -151,9 +176,12 @@ export {
151
176
  ExitLoopTool,
152
177
  FileContentEncoding,
153
178
  FunctionTool,
179
+ GCPSkillRegistry,
180
+ GOOGLE_MAPS_GROUNDING,
154
181
  GOOGLE_SEARCH,
155
182
  Gemini,
156
183
  GoogleLLMVariant,
184
+ GoogleMapsGroundingTool,
157
185
  GoogleSearchTool,
158
186
  InMemoryArtifactService,
159
187
  InMemoryCredentialService,
@@ -180,6 +208,9 @@ export {
180
208
  OAuth2CredentialExchanger,
181
209
  OAuth2DiscoveryManager,
182
210
  OAuthGrantType,
211
+ OpenAPIToolset,
212
+ OpenApiSpecParser,
213
+ OperationParser,
183
214
  PRELOAD_MEMORY,
184
215
  ParallelAgent,
185
216
  PluginManager,
@@ -187,9 +218,11 @@ export {
187
218
  PreloadMemoryTool,
188
219
  REQUEST_CONFIRMATION_FUNCTION_CALL_NAME,
189
220
  ReadonlyContext,
221
+ RestApiTool,
190
222
  RoutedAgent,
191
223
  RoutedLlm,
192
224
  Runner,
225
+ SearchSkillsTool,
193
226
  SecurityPlugin,
194
227
  SequentialAgent,
195
228
  SessionStateCredentialService,
@@ -197,13 +230,17 @@ export {
197
230
  State,
198
231
  StreamingMode,
199
232
  TokenBasedContextCompactor,
233
+ ToolAuthHandler,
200
234
  ToolConfirmation,
201
235
  TruncatingContextCompactor,
202
236
  URL_CONTEXT,
203
237
  UrlContextTool,
238
+ VertexAiMemoryBankService,
204
239
  VertexAiSearchTool,
240
+ VertexRagRetrievalTool,
205
241
  createEvent,
206
242
  createEventActions,
243
+ createRestApiTool,
207
244
  createSession,
208
245
  functionsExportedForTestingOnly,
209
246
  geminiInitParams,
@@ -222,16 +259,21 @@ export {
222
259
  isFinalResponse,
223
260
  isFunctionTool,
224
261
  isGemini2OrAbove,
262
+ isGemini3xFlashLive,
225
263
  isLlmAgent,
226
264
  isLoopAgent,
227
265
  isParallelAgent,
228
266
  isRoutedAgent,
229
267
  isRunner,
230
268
  isSequentialAgent,
269
+ loadAllSkillsInDir,
270
+ loadSkillFromDir,
271
+ loadSkillFromZipBuffer,
231
272
  setLogLevel,
232
273
  setLogger,
233
274
  stringifyContent,
234
275
  toStructuredEvents,
276
+ validateSkillDir,
235
277
  version,
236
278
  zodObjectToSchema
237
279
  };
@@ -11,10 +11,21 @@ import {
11
11
  import { stringifyContent } from "../../events/event.js";
12
12
  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.";
13
13
  class LlmSummarizer {
14
+ /**
15
+ * @param options - Configuration specifying the LLM and optional prompt.
16
+ */
14
17
  constructor(options) {
15
18
  this.llm = options.llm;
16
19
  this.prompt = options.prompt || DEFAULT_PROMPT;
17
20
  }
21
+ /**
22
+ * Summarizes a list of events into a single {@link CompactedEvent} using the
23
+ * configured LLM.
24
+ *
25
+ * @param events - The events to summarize. Must be non-empty.
26
+ * @returns A promise resolving to the compacted representation.
27
+ * @throws {Error} If `events` is empty or the LLM returns no content.
28
+ */
18
29
  async summarize(events) {
19
30
  var _a, _b, _c, _d, _e, _f;
20
31
  if (events.length === 0) {
@@ -75,7 +75,7 @@ class TokenBasedContextCompactor {
75
75
  compactedEvent.actions = {
76
76
  stateDelta: {},
77
77
  artifactDelta: {},
78
- requestedAuthConfigs: [],
78
+ requestedAuthConfigs: {},
79
79
  requestedToolConfirmations: {}
80
80
  };
81
81
  }
@@ -20,7 +20,7 @@ function createEvent(params = {}) {
20
20
  };
21
21
  }
22
22
  function isFinalResponse(event) {
23
- if (event.actions.skipSummarization || event.longRunningToolIds && event.longRunningToolIds.length > 0) {
23
+ if (event.actions.skipSummarization || event.longRunningToolIds && event.longRunningToolIds.length > 0 || event.actions.requestedAuthConfigs && Object.keys(event.actions.requestedAuthConfigs).length > 0) {
24
24
  return true;
25
25
  }
26
26
  return getFunctionCalls(event).length === 0 && getFunctionResponses(event).length === 0 && !event.partial && !hasTrailingCodeExecutionResult(event);
@@ -60,7 +60,7 @@ function stringifyContent(event) {
60
60
  if (!((_a = event.content) == null ? void 0 : _a.parts)) {
61
61
  return "";
62
62
  }
63
- return event.content.parts.map((part) => {
63
+ return event.content.parts.filter((part) => !part.thought).map((part) => {
64
64
  var _a2;
65
65
  return (_a2 = part.text) != null ? _a2 : "";
66
66
  }).join("");
@@ -79,6 +79,7 @@ const PRESERVE_KEYS_CAMEL_CASE = [
79
79
  "actions.requestedAuthConfigs",
80
80
  "actions.requestedToolConfirmations",
81
81
  "actions.customMetadata",
82
+ "customMetadata",
82
83
  "content.parts.functionCall.args",
83
84
  "content.parts.functionResponse.response"
84
85
  ];
@@ -88,6 +89,7 @@ const PRESERVE_KEYS_SNAKE_CASE = [
88
89
  "actions.requested_auth_configs",
89
90
  "actions.requested_tool_confirmations",
90
91
  "actions.custom_metadata",
92
+ "custom_metadata",
91
93
  "content.parts.function_call.args",
92
94
  "content.parts.function_response.response"
93
95
  ];
package/dist/esm/index.js CHANGED
@@ -9,15 +9,21 @@ import { AGENT_CARD_PATH, RemoteA2AAgent } from "./a2a/a2a_remote_agent.js";
9
9
  import { getA2AAgentCard } from "./a2a/agent_card.js";
10
10
  import { A2AAgentExecutor } from "./a2a/agent_executor.js";
11
11
  import { toA2a } from "./a2a/agent_to_a2a.js";
12
+ import { InvocationContext } from "./agents/invocation_context.js";
12
13
  import { FileArtifactService } from "./artifacts/file_artifact_service.js";
13
14
  import { GcsArtifactService } from "./artifacts/gcs_artifact_service.js";
14
15
  import { getArtifactServiceFromUri } from "./artifacts/registry.js";
16
+ import {
17
+ AgentEngineSandboxCodeExecutor
18
+ } from "./code_executors/agent_engine_sandbox_code_executor.js";
19
+ import { CodeExecutionLanguage } from "./code_executors/code_execution_utils.js";
15
20
  import {
16
21
  UnsafeLocalCodeExecutor
17
22
  } from "./code_executors/unsafe_local_code_executor.js";
18
23
  export * from "./common.js";
19
24
  import { DatabaseSessionService } from "./sessions/database_session_service.js";
20
25
  import { getSessionServiceFromUri } from "./sessions/registry.js";
26
+ import { VertexAiSessionService } from "./sessions/vertex_ai_session_service.js";
21
27
  import {
22
28
  loadAllSkillsInDir,
23
29
  loadSkillFromDir,
@@ -25,6 +31,7 @@ import {
25
31
  } from "./skills/loader.js";
26
32
  import { RunSkillInlineScriptTool } from "./tools/skill/run_skill_inline_script_tool.js";
27
33
  import { RunSkillScriptTool } from "./tools/skill/run_skill_script_tool.js";
34
+ export * from "./integrations/agent_registry/agent_registry.js";
28
35
  export * from "./telemetry/google_cloud.js";
29
36
  export * from "./telemetry/setup.js";
30
37
  export * from "./tools/mcp/mcp_session_manager.js";
@@ -33,13 +40,17 @@ export * from "./tools/mcp/mcp_toolset.js";
33
40
  export {
34
41
  A2AAgentExecutor,
35
42
  AGENT_CARD_PATH,
43
+ AgentEngineSandboxCodeExecutor,
44
+ CodeExecutionLanguage,
36
45
  DatabaseSessionService,
37
46
  FileArtifactService,
38
47
  GcsArtifactService,
48
+ InvocationContext,
39
49
  RemoteA2AAgent,
40
50
  RunSkillInlineScriptTool,
41
51
  RunSkillScriptTool,
42
52
  UnsafeLocalCodeExecutor,
53
+ VertexAiSessionService,
43
54
  getA2AAgentCard,
44
55
  getArtifactServiceFromUri,
45
56
  getSessionServiceFromUri,