@google/adk 0.6.0 → 1.0.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 (406) hide show
  1. package/dist/cjs/a2a/a2a_remote_agent.js +18 -13
  2. package/dist/cjs/a2a/a2a_remote_agent_run_processor.js +7 -0
  3. package/dist/cjs/agents/base_agent.js +11 -2
  4. package/dist/cjs/agents/context.js +1 -0
  5. package/dist/cjs/agents/functions.js +1 -0
  6. package/dist/cjs/agents/invocation_context.js +1 -0
  7. package/dist/cjs/agents/llm_agent.js +70 -13
  8. package/dist/cjs/agents/loop_agent.js +4 -0
  9. package/dist/cjs/agents/parallel_agent.js +4 -0
  10. package/dist/cjs/agents/processors/code_execution_request_processor.js +2 -0
  11. package/dist/cjs/agents/processors/context_compactor_request_processor.js +9 -0
  12. package/dist/cjs/agents/processors/tool_filter_request_processor.js +73 -0
  13. package/dist/cjs/agents/routed_agent.js +97 -0
  14. package/dist/cjs/auth/auth_handler.js +66 -1
  15. package/dist/cjs/auth/auth_preprocessor.js +178 -0
  16. package/dist/cjs/auth/auth_provider_registry.js +61 -0
  17. package/dist/cjs/auth/base_auth_provider.js +27 -0
  18. package/dist/cjs/auth/credential_service/session_state_credential_service.js +51 -0
  19. package/dist/cjs/auth/oauth2/oauth2_credential_exchanger.js +198 -0
  20. package/dist/cjs/auth/oauth2/oauth2_credential_refresher.js +109 -0
  21. package/dist/cjs/auth/oauth2/oauth2_discovery.js +186 -0
  22. package/dist/cjs/auth/oauth2/oauth2_utils.js +119 -0
  23. package/dist/cjs/auth/refresher/base_credential_refresher.js +44 -0
  24. package/dist/cjs/auth/refresher/credential_refresher_registry.js +68 -0
  25. package/dist/cjs/code_executors/base_code_executor.js +9 -5
  26. package/dist/cjs/code_executors/code_execution_utils.js +19 -0
  27. package/dist/cjs/code_executors/unsafe_local_code_executor.js +241 -0
  28. package/dist/cjs/common.js +61 -0
  29. package/dist/cjs/features/feature_registry.js +141 -0
  30. package/dist/cjs/index.js +32 -20
  31. package/dist/cjs/index.js.map +4 -4
  32. package/dist/cjs/models/apigee_llm.js +2 -2
  33. package/dist/cjs/models/google_llm.js +18 -53
  34. package/dist/cjs/models/routed_llm.js +99 -0
  35. package/dist/cjs/plugins/base_plugin.js +39 -2
  36. package/dist/cjs/plugins/plugin_manager.js +39 -0
  37. package/dist/cjs/runner/runner.js +31 -3
  38. package/dist/cjs/sessions/db/operations.js +3 -10
  39. package/dist/cjs/skills/loader.js +283 -0
  40. package/dist/cjs/skills/prompt.js +58 -0
  41. package/dist/cjs/skills/skill.js +78 -0
  42. package/dist/cjs/tools/agent_tool.js +10 -3
  43. package/dist/cjs/tools/mcp/mcp_tool.js +4 -1
  44. package/dist/cjs/tools/skill/list_skills_tool.js +76 -0
  45. package/dist/cjs/tools/skill/load_skill_resource_tool.js +225 -0
  46. package/dist/cjs/tools/skill/load_skill_tool.js +108 -0
  47. package/dist/cjs/tools/skill/run_skill_inline_script_tool.js +146 -0
  48. package/dist/cjs/tools/skill/run_skill_script_tool.js +224 -0
  49. package/dist/cjs/tools/skill/skill_toolset.js +163 -0
  50. package/dist/cjs/utils/experimental.js +74 -0
  51. package/dist/cjs/utils/failover_utils.js +93 -0
  52. package/dist/cjs/utils/file_extension_utils.js +77 -0
  53. package/dist/cjs/utils/file_utils.js +94 -0
  54. package/dist/cjs/utils/gemini_schema_util.js +54 -12
  55. package/dist/cjs/utils/streaming_utils.js +333 -0
  56. package/dist/cjs/version.js +1 -1
  57. package/dist/esm/a2a/a2a_event.js +2 -0
  58. package/dist/esm/a2a/a2a_remote_agent.js +20 -13
  59. package/dist/esm/a2a/a2a_remote_agent_run_processor.js +9 -0
  60. package/dist/esm/a2a/a2a_remote_agent_utils.js +2 -0
  61. package/dist/esm/a2a/agent_card.js +2 -0
  62. package/dist/esm/a2a/agent_executor.js +2 -0
  63. package/dist/esm/a2a/agent_to_a2a.js +2 -0
  64. package/dist/esm/a2a/event_converter_utils.js +2 -0
  65. package/dist/esm/a2a/event_processor_utils.js +2 -0
  66. package/dist/esm/a2a/executor_context.js +2 -0
  67. package/dist/esm/a2a/metadata_converter_utils.js +2 -0
  68. package/dist/esm/a2a/part_converter_utils.js +2 -0
  69. package/dist/esm/agents/active_streaming_tool.js +2 -0
  70. package/dist/esm/agents/base_agent.js +13 -2
  71. package/dist/esm/agents/context.js +3 -0
  72. package/dist/esm/agents/functions.js +3 -0
  73. package/dist/esm/agents/instructions.js +2 -0
  74. package/dist/esm/agents/invocation_context.js +3 -0
  75. package/dist/esm/agents/live_request_queue.js +2 -0
  76. package/dist/esm/agents/llm_agent.js +72 -13
  77. package/dist/esm/agents/loop_agent.js +6 -0
  78. package/dist/esm/agents/parallel_agent.js +6 -0
  79. package/dist/esm/agents/processors/agent_transfer_llm_request_processor.js +2 -0
  80. package/dist/esm/agents/processors/base_llm_processor.js +2 -0
  81. package/dist/esm/agents/processors/basic_llm_request_processor.js +2 -0
  82. package/dist/esm/agents/processors/code_execution_request_processor.js +5 -0
  83. package/dist/esm/agents/processors/content_processor_utils.js +2 -0
  84. package/dist/esm/agents/processors/content_request_processor.js +2 -0
  85. package/dist/esm/agents/processors/context_compactor_request_processor.js +11 -0
  86. package/dist/esm/agents/processors/identity_llm_request_processor.js +2 -0
  87. package/dist/esm/agents/processors/instructions_llm_request_processor.js +2 -0
  88. package/dist/esm/agents/processors/request_confirmation_llm_request_processor.js +2 -0
  89. package/dist/esm/agents/processors/tool_filter_request_processor.js +44 -0
  90. package/dist/esm/agents/readonly_context.js +2 -0
  91. package/dist/esm/agents/routed_agent.js +70 -0
  92. package/dist/esm/agents/run_config.js +2 -0
  93. package/dist/esm/agents/sequential_agent.js +2 -0
  94. package/dist/esm/agents/transcription_entry.js +2 -0
  95. package/dist/esm/artifacts/base_artifact_service.js +2 -0
  96. package/dist/esm/artifacts/file_artifact_service.js +2 -0
  97. package/dist/esm/artifacts/gcs_artifact_service.js +2 -0
  98. package/dist/esm/artifacts/in_memory_artifact_service.js +2 -0
  99. package/dist/esm/artifacts/registry.js +2 -0
  100. package/dist/esm/auth/auth_credential.js +2 -0
  101. package/dist/esm/auth/auth_handler.js +68 -1
  102. package/dist/esm/auth/auth_preprocessor.js +155 -0
  103. package/dist/esm/auth/auth_provider_registry.js +33 -0
  104. package/dist/esm/auth/auth_schemes.js +2 -0
  105. package/dist/esm/auth/auth_tool.js +2 -0
  106. package/dist/esm/auth/base_auth_provider.js +7 -0
  107. package/dist/esm/auth/credential_service/base_credential_service.js +2 -0
  108. package/dist/esm/auth/credential_service/in_memory_credential_service.js +2 -0
  109. package/dist/esm/auth/credential_service/session_state_credential_service.js +23 -0
  110. package/dist/esm/auth/exchanger/base_credential_exchanger.js +2 -0
  111. package/dist/esm/auth/exchanger/credential_exchanger_registry.js +2 -0
  112. package/dist/esm/auth/oauth2/oauth2_credential_exchanger.js +177 -0
  113. package/dist/esm/auth/oauth2/oauth2_credential_refresher.js +85 -0
  114. package/dist/esm/auth/oauth2/oauth2_discovery.js +156 -0
  115. package/dist/esm/auth/oauth2/oauth2_utils.js +87 -0
  116. package/dist/esm/auth/refresher/base_credential_refresher.js +16 -0
  117. package/dist/esm/auth/refresher/credential_refresher_registry.js +40 -0
  118. package/dist/esm/code_executors/base_code_executor.js +11 -5
  119. package/dist/esm/code_executors/built_in_code_executor.js +2 -0
  120. package/dist/esm/code_executors/code_execution_utils.js +19 -0
  121. package/dist/esm/code_executors/code_executor_context.js +2 -0
  122. package/dist/esm/code_executors/unsafe_local_code_executor.js +205 -0
  123. package/dist/esm/common.js +47 -3
  124. package/dist/esm/context/base_context_compactor.js +2 -0
  125. package/dist/esm/context/summarizers/base_summarizer.js +2 -0
  126. package/dist/esm/context/summarizers/llm_summarizer.js +2 -0
  127. package/dist/esm/context/token_based_context_compactor.js +2 -0
  128. package/dist/esm/context/truncating_context_compactor.js +2 -0
  129. package/dist/esm/events/compacted_event.js +2 -0
  130. package/dist/esm/events/event.js +2 -0
  131. package/dist/esm/events/event_actions.js +2 -0
  132. package/dist/esm/events/structured_events.js +2 -0
  133. package/dist/esm/examples/base_example_provider.js +2 -0
  134. package/dist/esm/examples/example.js +2 -0
  135. package/dist/esm/examples/example_util.js +2 -0
  136. package/dist/esm/features/feature_registry.js +107 -0
  137. package/dist/esm/index.js +34 -21
  138. package/dist/esm/index.js.map +4 -4
  139. package/dist/esm/index_web.js +2 -0
  140. package/dist/esm/memory/base_memory_service.js +2 -0
  141. package/dist/esm/memory/in_memory_memory_service.js +2 -0
  142. package/dist/esm/memory/memory_entry.js +2 -0
  143. package/dist/esm/models/apigee_llm.js +4 -2
  144. package/dist/esm/models/base_llm.js +2 -0
  145. package/dist/esm/models/base_llm_connection.js +2 -0
  146. package/dist/esm/models/gemini_llm_connection.js +2 -0
  147. package/dist/esm/models/google_llm.js +20 -54
  148. package/dist/esm/models/llm_request.js +2 -0
  149. package/dist/esm/models/llm_response.js +2 -0
  150. package/dist/esm/models/registry.js +2 -0
  151. package/dist/esm/models/routed_llm.js +73 -0
  152. package/dist/esm/plugins/base_plugin.js +41 -1
  153. package/dist/esm/plugins/logging_plugin.js +2 -0
  154. package/dist/esm/plugins/plugin_manager.js +41 -0
  155. package/dist/esm/plugins/security_plugin.js +2 -0
  156. package/dist/esm/runner/in_memory_runner.js +2 -0
  157. package/dist/esm/runner/runner.js +33 -3
  158. package/dist/esm/sessions/base_session_service.js +2 -0
  159. package/dist/esm/sessions/database_session_service.js +2 -0
  160. package/dist/esm/sessions/db/operations.js +5 -10
  161. package/dist/esm/sessions/db/schema.js +2 -0
  162. package/dist/esm/sessions/in_memory_session_service.js +2 -0
  163. package/dist/esm/sessions/registry.js +2 -0
  164. package/dist/esm/sessions/session.js +2 -0
  165. package/dist/esm/sessions/state.js +2 -0
  166. package/dist/esm/skills/loader.js +244 -0
  167. package/dist/esm/skills/prompt.js +30 -0
  168. package/dist/esm/skills/skill.js +49 -0
  169. package/dist/esm/telemetry/google_cloud.js +2 -0
  170. package/dist/esm/telemetry/setup.js +2 -0
  171. package/dist/esm/telemetry/tracing.js +2 -0
  172. package/dist/esm/tools/agent_tool.js +12 -3
  173. package/dist/esm/tools/base_tool.js +2 -0
  174. package/dist/esm/tools/base_toolset.js +2 -0
  175. package/dist/esm/tools/exit_loop_tool.js +2 -0
  176. package/dist/esm/tools/forwarding_artifact_service.js +2 -0
  177. package/dist/esm/tools/function_tool.js +2 -0
  178. package/dist/esm/tools/google_search_tool.js +2 -0
  179. package/dist/esm/tools/load_artifacts_tool.js +2 -0
  180. package/dist/esm/tools/load_memory_tool.js +2 -0
  181. package/dist/esm/tools/long_running_tool.js +2 -0
  182. package/dist/esm/tools/mcp/mcp_session_manager.js +2 -0
  183. package/dist/esm/tools/mcp/mcp_tool.js +6 -1
  184. package/dist/esm/tools/mcp/mcp_toolset.js +2 -0
  185. package/dist/esm/tools/preload_memory_tool.js +2 -0
  186. package/dist/esm/tools/skill/list_skills_tool.js +50 -0
  187. package/dist/esm/tools/skill/load_skill_resource_tool.js +191 -0
  188. package/dist/esm/tools/skill/load_skill_tool.js +82 -0
  189. package/dist/esm/tools/skill/run_skill_inline_script_tool.js +120 -0
  190. package/dist/esm/tools/skill/run_skill_script_tool.js +192 -0
  191. package/dist/esm/tools/skill/skill_toolset.js +137 -0
  192. package/dist/esm/tools/tool_confirmation.js +2 -0
  193. package/dist/esm/utils/client_labels.js +2 -0
  194. package/dist/esm/utils/env_aware_utils.js +2 -0
  195. package/dist/esm/utils/experimental.js +46 -0
  196. package/dist/esm/utils/failover_utils.js +65 -0
  197. package/dist/esm/utils/file_extension_utils.js +51 -0
  198. package/dist/esm/utils/file_utils.js +56 -0
  199. package/dist/esm/utils/gemini_schema_util.js +56 -12
  200. package/dist/esm/utils/logger.js +2 -0
  201. package/dist/esm/utils/model_name.js +2 -0
  202. package/dist/esm/utils/object_notation_utils.js +2 -0
  203. package/dist/esm/utils/simple_zod_to_json.js +2 -0
  204. package/dist/esm/utils/streaming_utils.js +307 -0
  205. package/dist/esm/utils/variant_utils.js +2 -0
  206. package/dist/esm/version.js +3 -1
  207. package/dist/types/a2a/a2a_remote_agent.d.ts +7 -3
  208. package/dist/types/agents/context.d.ts +1 -0
  209. package/dist/types/agents/invocation_context.d.ts +5 -0
  210. package/dist/types/agents/processors/tool_filter_request_processor.d.ts +14 -0
  211. package/dist/types/agents/routed_agent.d.ts +59 -0
  212. package/dist/types/auth/auth_credential.d.ts +17 -0
  213. package/dist/types/auth/auth_handler.d.ts +1 -0
  214. package/dist/types/auth/auth_preprocessor.d.ts +12 -0
  215. package/dist/types/auth/auth_provider_registry.d.ts +27 -0
  216. package/dist/types/auth/base_auth_provider.d.ts +20 -0
  217. package/dist/types/auth/credential_service/session_state_credential_service.d.ts +20 -0
  218. package/dist/types/auth/exchanger/base_credential_exchanger.d.ts +12 -5
  219. package/dist/types/auth/oauth2/oauth2_credential_exchanger.d.ts +26 -0
  220. package/dist/types/auth/oauth2/oauth2_credential_refresher.d.ts +29 -0
  221. package/dist/types/auth/oauth2/oauth2_discovery.d.ts +38 -0
  222. package/dist/types/auth/oauth2/oauth2_utils.d.ts +56 -0
  223. package/dist/types/auth/refresher/base_credential_refresher.d.ts +38 -0
  224. package/dist/types/auth/refresher/credential_refresher_registry.d.ts +27 -0
  225. package/dist/types/code_executors/base_code_executor.d.ts +4 -4
  226. package/dist/types/code_executors/code_execution_utils.d.ts +29 -1
  227. package/dist/types/code_executors/unsafe_local_code_executor.d.ts +48 -0
  228. package/dist/types/common.d.ts +26 -3
  229. package/dist/types/features/feature_registry.d.ts +66 -0
  230. package/dist/types/index.d.ts +4 -0
  231. package/dist/types/memory/base_memory_service.d.ts +6 -0
  232. package/dist/types/memory/memory_entry.d.ts +11 -5
  233. package/dist/types/models/apigee_llm.d.ts +1 -1
  234. package/dist/types/models/base_llm.d.ts +1 -1
  235. package/dist/types/models/google_llm.d.ts +1 -1
  236. package/dist/types/models/llm_request.d.ts +4 -0
  237. package/dist/types/models/routed_llm.d.ts +38 -0
  238. package/dist/types/plugins/base_plugin.d.ts +49 -0
  239. package/dist/types/plugins/plugin_manager.d.ts +22 -1
  240. package/dist/types/runner/runner.d.ts +1 -0
  241. package/dist/types/skills/loader.d.ts +38 -0
  242. package/dist/types/skills/prompt.d.ts +13 -0
  243. package/dist/types/skills/skill.d.ts +48 -0
  244. package/dist/types/tools/skill/list_skills_tool.d.ts +14 -0
  245. package/dist/types/tools/skill/load_skill_resource_tool.d.ts +15 -0
  246. package/dist/types/tools/skill/load_skill_tool.d.ts +14 -0
  247. package/dist/types/tools/skill/run_skill_inline_script_tool.d.ts +14 -0
  248. package/dist/types/tools/skill/run_skill_script_tool.d.ts +17 -0
  249. package/dist/types/tools/skill/skill_toolset.d.ts +28 -0
  250. package/dist/types/utils/experimental.d.ts +11 -0
  251. package/dist/types/utils/failover_utils.d.ts +17 -0
  252. package/dist/types/utils/file_extension_utils.d.ts +21 -0
  253. package/dist/types/utils/file_utils.d.ts +11 -0
  254. package/dist/types/utils/streaming_utils.d.ts +40 -0
  255. package/dist/types/version.d.ts +1 -1
  256. package/dist/web/a2a/a2a_event.js +2 -0
  257. package/dist/web/a2a/a2a_remote_agent.js +17 -24
  258. package/dist/web/a2a/a2a_remote_agent_run_processor.js +9 -0
  259. package/dist/web/a2a/a2a_remote_agent_utils.js +2 -0
  260. package/dist/web/a2a/agent_card.js +2 -0
  261. package/dist/web/a2a/agent_executor.js +2 -0
  262. package/dist/web/a2a/agent_to_a2a.js +2 -0
  263. package/dist/web/a2a/event_converter_utils.js +2 -0
  264. package/dist/web/a2a/event_processor_utils.js +2 -0
  265. package/dist/web/a2a/executor_context.js +2 -0
  266. package/dist/web/a2a/metadata_converter_utils.js +2 -0
  267. package/dist/web/a2a/part_converter_utils.js +2 -0
  268. package/dist/web/agents/active_streaming_tool.js +2 -0
  269. package/dist/web/agents/base_agent.js +13 -2
  270. package/dist/web/agents/context.js +3 -0
  271. package/dist/web/agents/functions.js +3 -0
  272. package/dist/web/agents/instructions.js +2 -0
  273. package/dist/web/agents/invocation_context.js +3 -0
  274. package/dist/web/agents/live_request_queue.js +2 -0
  275. package/dist/web/agents/llm_agent.js +72 -13
  276. package/dist/web/agents/loop_agent.js +6 -0
  277. package/dist/web/agents/parallel_agent.js +6 -0
  278. package/dist/web/agents/processors/agent_transfer_llm_request_processor.js +2 -0
  279. package/dist/web/agents/processors/base_llm_processor.js +2 -0
  280. package/dist/web/agents/processors/basic_llm_request_processor.js +2 -0
  281. package/dist/web/agents/processors/code_execution_request_processor.js +5 -0
  282. package/dist/web/agents/processors/content_processor_utils.js +2 -0
  283. package/dist/web/agents/processors/content_request_processor.js +2 -0
  284. package/dist/web/agents/processors/context_compactor_request_processor.js +11 -0
  285. package/dist/web/agents/processors/identity_llm_request_processor.js +2 -0
  286. package/dist/web/agents/processors/instructions_llm_request_processor.js +2 -0
  287. package/dist/web/agents/processors/request_confirmation_llm_request_processor.js +2 -0
  288. package/dist/web/agents/processors/tool_filter_request_processor.js +62 -0
  289. package/dist/web/agents/readonly_context.js +2 -0
  290. package/dist/web/agents/routed_agent.js +138 -0
  291. package/dist/web/agents/run_config.js +2 -0
  292. package/dist/web/agents/sequential_agent.js +2 -0
  293. package/dist/web/agents/transcription_entry.js +2 -0
  294. package/dist/web/artifacts/base_artifact_service.js +2 -0
  295. package/dist/web/artifacts/file_artifact_service.js +2 -0
  296. package/dist/web/artifacts/gcs_artifact_service.js +2 -0
  297. package/dist/web/artifacts/in_memory_artifact_service.js +2 -0
  298. package/dist/web/artifacts/registry.js +2 -0
  299. package/dist/web/auth/auth_credential.js +2 -0
  300. package/dist/web/auth/auth_handler.js +85 -1
  301. package/dist/web/auth/auth_preprocessor.js +173 -0
  302. package/dist/web/auth/auth_provider_registry.js +33 -0
  303. package/dist/web/auth/auth_schemes.js +2 -0
  304. package/dist/web/auth/auth_tool.js +2 -0
  305. package/dist/web/auth/base_auth_provider.js +7 -0
  306. package/dist/web/auth/credential_service/base_credential_service.js +2 -0
  307. package/dist/web/auth/credential_service/in_memory_credential_service.js +2 -0
  308. package/dist/web/auth/credential_service/session_state_credential_service.js +23 -0
  309. package/dist/web/auth/exchanger/base_credential_exchanger.js +2 -0
  310. package/dist/web/auth/exchanger/credential_exchanger_registry.js +2 -0
  311. package/dist/web/auth/oauth2/oauth2_credential_exchanger.js +188 -0
  312. package/dist/web/auth/oauth2/oauth2_credential_refresher.js +102 -0
  313. package/dist/web/auth/oauth2/oauth2_discovery.js +156 -0
  314. package/dist/web/auth/oauth2/oauth2_utils.js +87 -0
  315. package/dist/web/auth/refresher/base_credential_refresher.js +16 -0
  316. package/dist/web/auth/refresher/credential_refresher_registry.js +40 -0
  317. package/dist/web/code_executors/base_code_executor.js +11 -5
  318. package/dist/web/code_executors/built_in_code_executor.js +2 -0
  319. package/dist/web/code_executors/code_execution_utils.js +19 -0
  320. package/dist/web/code_executors/code_executor_context.js +2 -0
  321. package/dist/web/code_executors/unsafe_local_code_executor.js +203 -0
  322. package/dist/web/common.js +47 -3
  323. package/dist/web/context/base_context_compactor.js +2 -0
  324. package/dist/web/context/summarizers/base_summarizer.js +2 -0
  325. package/dist/web/context/summarizers/llm_summarizer.js +2 -0
  326. package/dist/web/context/token_based_context_compactor.js +2 -0
  327. package/dist/web/context/truncating_context_compactor.js +2 -0
  328. package/dist/web/events/compacted_event.js +2 -0
  329. package/dist/web/events/event.js +2 -0
  330. package/dist/web/events/event_actions.js +2 -0
  331. package/dist/web/events/structured_events.js +2 -0
  332. package/dist/web/examples/base_example_provider.js +2 -0
  333. package/dist/web/examples/example.js +2 -0
  334. package/dist/web/examples/example_util.js +2 -0
  335. package/dist/web/features/feature_registry.js +107 -0
  336. package/dist/web/index.js +3 -2
  337. package/dist/web/index.js.map +4 -4
  338. package/dist/web/index_web.js +2 -0
  339. package/dist/web/memory/base_memory_service.js +2 -0
  340. package/dist/web/memory/in_memory_memory_service.js +2 -0
  341. package/dist/web/memory/memory_entry.js +2 -0
  342. package/dist/web/models/apigee_llm.js +4 -2
  343. package/dist/web/models/base_llm.js +2 -0
  344. package/dist/web/models/base_llm_connection.js +2 -0
  345. package/dist/web/models/gemini_llm_connection.js +2 -0
  346. package/dist/web/models/google_llm.js +37 -59
  347. package/dist/web/models/llm_request.js +2 -0
  348. package/dist/web/models/llm_response.js +2 -0
  349. package/dist/web/models/registry.js +2 -0
  350. package/dist/web/models/routed_llm.js +122 -0
  351. package/dist/web/plugins/base_plugin.js +41 -1
  352. package/dist/web/plugins/logging_plugin.js +2 -0
  353. package/dist/web/plugins/plugin_manager.js +41 -0
  354. package/dist/web/plugins/security_plugin.js +2 -0
  355. package/dist/web/runner/in_memory_runner.js +2 -0
  356. package/dist/web/runner/runner.js +33 -3
  357. package/dist/web/sessions/base_session_service.js +2 -0
  358. package/dist/web/sessions/database_session_service.js +2 -0
  359. package/dist/web/sessions/db/operations.js +5 -10
  360. package/dist/web/sessions/db/schema.js +2 -0
  361. package/dist/web/sessions/in_memory_session_service.js +2 -0
  362. package/dist/web/sessions/registry.js +2 -0
  363. package/dist/web/sessions/session.js +2 -0
  364. package/dist/web/sessions/state.js +2 -0
  365. package/dist/web/skills/loader.js +262 -0
  366. package/dist/web/skills/prompt.js +30 -0
  367. package/dist/web/skills/skill.js +67 -0
  368. package/dist/web/telemetry/google_cloud.js +2 -0
  369. package/dist/web/telemetry/setup.js +2 -0
  370. package/dist/web/telemetry/tracing.js +2 -0
  371. package/dist/web/tools/agent_tool.js +12 -3
  372. package/dist/web/tools/base_tool.js +2 -0
  373. package/dist/web/tools/base_toolset.js +2 -0
  374. package/dist/web/tools/exit_loop_tool.js +2 -0
  375. package/dist/web/tools/forwarding_artifact_service.js +2 -0
  376. package/dist/web/tools/function_tool.js +2 -0
  377. package/dist/web/tools/google_search_tool.js +2 -0
  378. package/dist/web/tools/load_artifacts_tool.js +2 -0
  379. package/dist/web/tools/load_memory_tool.js +2 -0
  380. package/dist/web/tools/long_running_tool.js +2 -0
  381. package/dist/web/tools/mcp/mcp_session_manager.js +2 -0
  382. package/dist/web/tools/mcp/mcp_tool.js +6 -1
  383. package/dist/web/tools/mcp/mcp_toolset.js +2 -0
  384. package/dist/web/tools/preload_memory_tool.js +2 -0
  385. package/dist/web/tools/skill/list_skills_tool.js +50 -0
  386. package/dist/web/tools/skill/load_skill_resource_tool.js +191 -0
  387. package/dist/web/tools/skill/load_skill_tool.js +82 -0
  388. package/dist/web/tools/skill/run_skill_inline_script_tool.js +120 -0
  389. package/dist/web/tools/skill/run_skill_script_tool.js +190 -0
  390. package/dist/web/tools/skill/skill_toolset.js +123 -0
  391. package/dist/web/tools/tool_confirmation.js +2 -0
  392. package/dist/web/utils/client_labels.js +2 -0
  393. package/dist/web/utils/env_aware_utils.js +2 -0
  394. package/dist/web/utils/experimental.js +46 -0
  395. package/dist/web/utils/failover_utils.js +96 -0
  396. package/dist/web/utils/file_extension_utils.js +51 -0
  397. package/dist/web/utils/file_utils.js +74 -0
  398. package/dist/web/utils/gemini_schema_util.js +87 -12
  399. package/dist/web/utils/logger.js +2 -0
  400. package/dist/web/utils/model_name.js +2 -0
  401. package/dist/web/utils/object_notation_utils.js +2 -0
  402. package/dist/web/utils/simple_zod_to_json.js +2 -0
  403. package/dist/web/utils/streaming_utils.js +325 -0
  404. package/dist/web/utils/variant_utils.js +2 -0
  405. package/dist/web/version.js +3 -1
  406. package/package.json +20 -18
@@ -0,0 +1,109 @@
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 oauth2_credential_refresher_exports = {};
26
+ __export(oauth2_credential_refresher_exports, {
27
+ OAuth2CredentialRefresher: () => OAuth2CredentialRefresher
28
+ });
29
+ module.exports = __toCommonJS(oauth2_credential_refresher_exports);
30
+ var import_logger = require("../../utils/logger.js");
31
+ var import_oauth2_utils = require("./oauth2_utils.js");
32
+ /**
33
+ * @license
34
+ * Copyright 2026 Google LLC
35
+ * SPDX-License-Identifier: Apache-2.0
36
+ */
37
+ class OAuth2CredentialRefresher {
38
+ /**
39
+ * Check if the OAuth2 credential needs to be refreshed.
40
+ *
41
+ * @param authCredential The OAuth2 credential to check.
42
+ * @param authScheme The OAuth2 authentication scheme (optional).
43
+ * @returns True if the credential needs to be refreshed, False otherwise.
44
+ */
45
+ async isRefreshNeeded(authCredential) {
46
+ if (!authCredential.oauth2) {
47
+ return false;
48
+ }
49
+ if (authCredential.oauth2 && authCredential.oauth2.expiresAt) {
50
+ return (0, import_oauth2_utils.isTokenExpired)(authCredential.oauth2);
51
+ }
52
+ return false;
53
+ }
54
+ /**
55
+ * Refresh the OAuth2 credential.
56
+ *
57
+ * @param authCredential The OAuth2 credential to refresh.
58
+ * @param authScheme The OAuth2 authentication scheme.
59
+ * @returns The refreshed credential.
60
+ */
61
+ async refresh(authCredential, authScheme) {
62
+ if (!authCredential.oauth2 || !authScheme) {
63
+ return authCredential;
64
+ }
65
+ if (!authCredential.oauth2.refreshToken) {
66
+ import_logger.logger.warn("No refresh token available to refresh credential");
67
+ return authCredential;
68
+ }
69
+ const isNeeded = await this.isRefreshNeeded(authCredential);
70
+ if (!isNeeded) {
71
+ return authCredential;
72
+ }
73
+ const tokenEndpoint = (0, import_oauth2_utils.getTokenEndpoint)(authScheme);
74
+ if (!tokenEndpoint) {
75
+ import_logger.logger.warn("Token endpoint not found in auth scheme.");
76
+ return authCredential;
77
+ }
78
+ if (!authCredential.oauth2.clientId || !authCredential.oauth2.clientSecret) {
79
+ import_logger.logger.warn("clientId and clientSecret are required for token refresh.");
80
+ return authCredential;
81
+ }
82
+ const body = new URLSearchParams();
83
+ body.set("grant_type", "refresh_token");
84
+ body.set("refresh_token", authCredential.oauth2.refreshToken);
85
+ body.set("client_id", authCredential.oauth2.clientId);
86
+ body.set("client_secret", authCredential.oauth2.clientSecret);
87
+ try {
88
+ const data = await (0, import_oauth2_utils.fetchOAuth2Tokens)(tokenEndpoint, body);
89
+ const updatedOAuth2 = {
90
+ ...authCredential.oauth2,
91
+ accessToken: data.accessToken || authCredential.oauth2.accessToken,
92
+ refreshToken: data.refreshToken || authCredential.oauth2.refreshToken,
93
+ expiresIn: data.expiresIn,
94
+ expiresAt: data.expiresAt || authCredential.oauth2.expiresAt
95
+ };
96
+ return {
97
+ ...authCredential,
98
+ oauth2: updatedOAuth2
99
+ };
100
+ } catch (error) {
101
+ import_logger.logger.error("Failed to refresh tokens:", error);
102
+ return authCredential;
103
+ }
104
+ }
105
+ }
106
+ // Annotate the CommonJS export names for ESM import in node:
107
+ 0 && (module.exports = {
108
+ OAuth2CredentialRefresher
109
+ });
@@ -0,0 +1,186 @@
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 oauth2_discovery_exports = {};
26
+ __export(oauth2_discovery_exports, {
27
+ AuthorizationServerMetadataSchema: () => AuthorizationServerMetadataSchema,
28
+ OAuth2DiscoveryManager: () => OAuth2DiscoveryManager,
29
+ ProtectedResourceMetadataSchema: () => ProtectedResourceMetadataSchema
30
+ });
31
+ module.exports = __toCommonJS(oauth2_discovery_exports);
32
+ var import_zod = require("zod");
33
+ var import_logger = require("../../utils/logger.js");
34
+ /**
35
+ * @license
36
+ * Copyright 2026 Google LLC
37
+ * SPDX-License-Identifier: Apache-2.0
38
+ */
39
+ const AuthorizationServerMetadataSchema = import_zod.z.object({
40
+ issuer: import_zod.z.string(),
41
+ authorization_endpoint: import_zod.z.string(),
42
+ token_endpoint: import_zod.z.string(),
43
+ scopes_supported: import_zod.z.array(import_zod.z.string()).optional(),
44
+ registration_endpoint: import_zod.z.string().optional()
45
+ });
46
+ const ProtectedResourceMetadataSchema = import_zod.z.object({
47
+ resource: import_zod.z.string(),
48
+ authorization_servers: import_zod.z.array(import_zod.z.string()).default([])
49
+ });
50
+ class OAuth2DiscoveryManager {
51
+ /**
52
+ * Discovers the OAuth2 authorization server metadata.
53
+ */
54
+ async discoverAuthServerMetadata(issuerUrl) {
55
+ if (!validateDiscoveryUrl(issuerUrl)) {
56
+ return void 0;
57
+ }
58
+ let baseUrl;
59
+ let path;
60
+ try {
61
+ const url = new URL(issuerUrl);
62
+ baseUrl = `${url.protocol}//${url.host}`;
63
+ path = url.pathname;
64
+ } catch (e) {
65
+ import_logger.logger.warn(`Failed to parse issuerUrl ${issuerUrl}: ${e}`);
66
+ return void 0;
67
+ }
68
+ const endpointsToTry = [];
69
+ if (path && path !== "/") {
70
+ endpointsToTry.push(
71
+ `${baseUrl}/.well-known/oauth-authorization-server${path}`,
72
+ `${baseUrl}/.well-known/openid-configuration${path}`,
73
+ `${baseUrl}${path}/.well-known/openid-configuration`
74
+ );
75
+ } else {
76
+ endpointsToTry.push(
77
+ `${baseUrl}/.well-known/oauth-authorization-server`,
78
+ `${baseUrl}/.well-known/openid-configuration`
79
+ );
80
+ }
81
+ for (const endpoint of endpointsToTry) {
82
+ try {
83
+ const response = await fetch(endpoint, {
84
+ method: "GET",
85
+ headers: {
86
+ Accept: "application/json"
87
+ }
88
+ });
89
+ if (!response.ok) {
90
+ continue;
91
+ }
92
+ const data = await response.json();
93
+ const metadata = AuthorizationServerMetadataSchema.parse(data);
94
+ if (metadata.issuer.replace(/\/$/, "") === issuerUrl.replace(/\/$/, "")) {
95
+ return metadata;
96
+ } else {
97
+ import_logger.logger.warn(
98
+ `Issuer in metadata ${metadata.issuer} does not match issuerUrl ${issuerUrl}`
99
+ );
100
+ }
101
+ } catch (e) {
102
+ import_logger.logger.debug(`Failed to fetch metadata from ${endpoint}: ${e}`);
103
+ }
104
+ }
105
+ return void 0;
106
+ }
107
+ /**
108
+ * Discovers the OAuth2 protected resource metadata.
109
+ */
110
+ async discoverResourceMetadata(resourceUrl) {
111
+ if (!validateDiscoveryUrl(resourceUrl)) {
112
+ return void 0;
113
+ }
114
+ let baseUrl;
115
+ let path;
116
+ try {
117
+ const url = new URL(resourceUrl);
118
+ baseUrl = `${url.protocol}//${url.host}`;
119
+ path = url.pathname;
120
+ } catch (e) {
121
+ import_logger.logger.warn(`Failed to parse resourceUrl ${resourceUrl}: ${e}`);
122
+ return void 0;
123
+ }
124
+ let wellKnownEndpoint;
125
+ if (path && path !== "/") {
126
+ wellKnownEndpoint = `${baseUrl}/.well-known/oauth-protected-resource${path}`;
127
+ } else {
128
+ wellKnownEndpoint = `${baseUrl}/.well-known/oauth-protected-resource`;
129
+ }
130
+ try {
131
+ const response = await fetch(wellKnownEndpoint, {
132
+ method: "GET",
133
+ headers: {
134
+ Accept: "application/json"
135
+ }
136
+ });
137
+ if (!response.ok) {
138
+ return void 0;
139
+ }
140
+ const data = await response.json();
141
+ const metadata = ProtectedResourceMetadataSchema.parse(data);
142
+ if (metadata.resource.replace(/\/$/, "") === resourceUrl.replace(/\/$/, "")) {
143
+ return metadata;
144
+ } else {
145
+ import_logger.logger.warn(
146
+ `Resource in metadata ${metadata.resource} does not match resourceUrl ${resourceUrl}`
147
+ );
148
+ }
149
+ } catch (e) {
150
+ import_logger.logger.debug(`Failed to fetch metadata from ${wellKnownEndpoint}: ${e}`);
151
+ }
152
+ return void 0;
153
+ }
154
+ }
155
+ function validateDiscoveryUrl(urlStr) {
156
+ try {
157
+ const url = new URL(urlStr);
158
+ if (url.protocol !== "https:") {
159
+ import_logger.logger.warn(`Unsafe protocol for discovery URL: ${url.protocol}`);
160
+ return false;
161
+ }
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.")) {
164
+ import_logger.logger.warn(`Unsafe host for discovery URL: ${host}`);
165
+ return false;
166
+ }
167
+ const match = host.match(/^172\.(\d+)\./);
168
+ if (match) {
169
+ const secondOctet = parseInt(match[1], 10);
170
+ if (secondOctet >= 16 && secondOctet <= 31) {
171
+ import_logger.logger.warn(`Unsafe host for discovery URL: ${host}`);
172
+ return false;
173
+ }
174
+ }
175
+ return true;
176
+ } catch (e) {
177
+ import_logger.logger.warn(`Failed to parse URL for validation ${urlStr}: ${e}`);
178
+ return false;
179
+ }
180
+ }
181
+ // Annotate the CommonJS export names for ESM import in node:
182
+ 0 && (module.exports = {
183
+ AuthorizationServerMetadataSchema,
184
+ OAuth2DiscoveryManager,
185
+ ProtectedResourceMetadataSchema
186
+ });
@@ -0,0 +1,119 @@
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 oauth2_utils_exports = {};
26
+ __export(oauth2_utils_exports, {
27
+ createOAuth2TokenRequestBody: () => createOAuth2TokenRequestBody,
28
+ fetchOAuth2Tokens: () => fetchOAuth2Tokens,
29
+ getTokenEndpoint: () => getTokenEndpoint,
30
+ isTokenExpired: () => isTokenExpired,
31
+ parseAuthorizationCode: () => parseAuthorizationCode
32
+ });
33
+ module.exports = __toCommonJS(oauth2_utils_exports);
34
+ var import_logger = require("../../utils/logger.js");
35
+ /**
36
+ * @license
37
+ * Copyright 2026 Google LLC
38
+ * SPDX-License-Identifier: Apache-2.0
39
+ */
40
+ function getTokenEndpoint(authScheme) {
41
+ if (authScheme.type === "openIdConnect" && authScheme.tokenEndpoint) {
42
+ return authScheme.tokenEndpoint;
43
+ }
44
+ if (authScheme.type === "oauth2" && authScheme.flows) {
45
+ const flows = authScheme.flows;
46
+ const flow = flows.authorizationCode || flows.clientCredentials || flows.password || flows.implicit;
47
+ if (flow && "tokenUrl" in flow) {
48
+ return flow.tokenUrl;
49
+ }
50
+ }
51
+ return void 0;
52
+ }
53
+ async function fetchOAuth2Tokens(endpoint, body) {
54
+ try {
55
+ const response = await fetch(endpoint, {
56
+ method: "POST",
57
+ headers: {
58
+ "Content-Type": "application/x-www-form-urlencoded"
59
+ },
60
+ body: body.toString()
61
+ });
62
+ if (!response.ok) {
63
+ throw new Error(`Token request failed with status ${response.status}`);
64
+ }
65
+ const data = await response.json();
66
+ return {
67
+ accessToken: data.access_token,
68
+ refreshToken: data.refresh_token,
69
+ idToken: data.id_token,
70
+ expiresIn: data.expires_in,
71
+ expiresAt: data.expires_in ? Date.now() + data.expires_in * 1e3 : void 0
72
+ };
73
+ } catch (e) {
74
+ import_logger.logger.error(`Failed to fetch OAuth2 tokens: ${e}`);
75
+ throw e;
76
+ }
77
+ }
78
+ function parseAuthorizationCode(uri) {
79
+ try {
80
+ const url = new URL(uri);
81
+ return url.searchParams.get("code") || void 0;
82
+ } catch (e) {
83
+ import_logger.logger.warn(`Failed to parse authorization URI ${uri}: ${e}`);
84
+ return void 0;
85
+ }
86
+ }
87
+ function createOAuth2TokenRequestBody(params) {
88
+ const body = new URLSearchParams();
89
+ body.set("grant_type", params.grantType);
90
+ body.set("client_id", params.clientId);
91
+ body.set("client_secret", params.clientSecret);
92
+ if (params.grantType === "authorization_code") {
93
+ body.set("code", params.code);
94
+ if (params.redirectUri) {
95
+ body.set("redirect_uri", params.redirectUri);
96
+ }
97
+ if (params.codeVerifier) {
98
+ body.set("code_verifier", params.codeVerifier);
99
+ }
100
+ } else if (params.grantType === "refresh_token") {
101
+ body.set("refresh_token", params.refreshToken);
102
+ }
103
+ return body;
104
+ }
105
+ function isTokenExpired(token, leeway = 60) {
106
+ if (typeof token.expiresAt !== "number") {
107
+ return false;
108
+ }
109
+ const expirationThreshold = token.expiresAt - leeway * 1e3;
110
+ return expirationThreshold < Date.now();
111
+ }
112
+ // Annotate the CommonJS export names for ESM import in node:
113
+ 0 && (module.exports = {
114
+ createOAuth2TokenRequestBody,
115
+ fetchOAuth2Tokens,
116
+ getTokenEndpoint,
117
+ isTokenExpired,
118
+ parseAuthorizationCode
119
+ });
@@ -0,0 +1,44 @@
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 base_credential_refresher_exports = {};
26
+ __export(base_credential_refresher_exports, {
27
+ CredentialRefresherError: () => CredentialRefresherError
28
+ });
29
+ module.exports = __toCommonJS(base_credential_refresher_exports);
30
+ /**
31
+ * @license
32
+ * Copyright 2026 Google LLC
33
+ * SPDX-License-Identifier: Apache-2.0
34
+ */
35
+ class CredentialRefresherError extends Error {
36
+ constructor(message) {
37
+ super(message);
38
+ this.name = "CredentialRefresherError";
39
+ }
40
+ }
41
+ // Annotate the CommonJS export names for ESM import in node:
42
+ 0 && (module.exports = {
43
+ CredentialRefresherError
44
+ });
@@ -0,0 +1,68 @@
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 credential_refresher_registry_exports = {};
26
+ __export(credential_refresher_registry_exports, {
27
+ CredentialRefresherRegistry: () => CredentialRefresherRegistry
28
+ });
29
+ module.exports = __toCommonJS(credential_refresher_registry_exports);
30
+ var import_auth_credential = require("../auth_credential.js");
31
+ /**
32
+ * @license
33
+ * Copyright 2026 Google LLC
34
+ * SPDX-License-Identifier: Apache-2.0
35
+ */
36
+ class CredentialRefresherRegistry {
37
+ constructor() {
38
+ this.refreshers = {
39
+ [import_auth_credential.AuthCredentialTypes.API_KEY]: void 0,
40
+ [import_auth_credential.AuthCredentialTypes.HTTP]: void 0,
41
+ [import_auth_credential.AuthCredentialTypes.OAUTH2]: void 0,
42
+ [import_auth_credential.AuthCredentialTypes.OPEN_ID_CONNECT]: void 0,
43
+ [import_auth_credential.AuthCredentialTypes.SERVICE_ACCOUNT]: void 0
44
+ };
45
+ }
46
+ /**
47
+ * Register a refresher instance for a credential type.
48
+ *
49
+ * @param credentialType The credential type to register for.
50
+ * @param refresherInstance The refresher instance to register.
51
+ */
52
+ register(credentialType, refresherInstance) {
53
+ this.refreshers[credentialType] = refresherInstance;
54
+ }
55
+ /**
56
+ * Get the refresher instance for a credential type.
57
+ *
58
+ * @param credentialType The credential type to get refresher for.
59
+ * @returns The refresher instance if registered, undefined otherwise.
60
+ */
61
+ getRefresher(credentialType) {
62
+ return this.refreshers[credentialType];
63
+ }
64
+ }
65
+ // Annotate the CommonJS export names for ESM import in node:
66
+ 0 && (module.exports = {
67
+ CredentialRefresherRegistry
68
+ });
@@ -64,16 +64,20 @@ class BaseCodeExecutor {
64
64
  this.errorRetryAttempts = 2;
65
65
  /**
66
66
  * The list of the enclosing delimiters to identify the code blocks.
67
- * For example, the delimiter('```python\\n', '\\n```') can be used to
68
- * identify code blocks with the following format::
67
+ * For example, the delimiter('```javascript\\n', '\\n```') can be used to
68
+ * identify code blocks with the following format:
69
69
  *
70
- * ```python
71
- * print("hello")
70
+ * ```javascript
71
+ * console.log("hello")
72
72
  * ```
73
73
  */
74
74
  this.codeBlockDelimiters = [
75
75
  ["```tool_code\n", "\n```"],
76
- ["```python\n", "\n```"]
76
+ ["```python\n", "\n```"],
77
+ ["```javascript\n", "\n```"],
78
+ ["```typescript\n", "\n```"],
79
+ ["```bash\n", "\n```"],
80
+ ["```sh\n", "\n```"]
77
81
  ];
78
82
  /**
79
83
  * The delimiters to format the code execution result.
@@ -24,6 +24,8 @@ var __copyProps = (to, from, except, desc) => {
24
24
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
25
25
  var code_execution_utils_exports = {};
26
26
  __export(code_execution_utils_exports, {
27
+ CodeExecutionLanguage: () => CodeExecutionLanguage,
28
+ FileContentEncoding: () => FileContentEncoding,
27
29
  buildCodeExecutionResultPart: () => buildCodeExecutionResultPart,
28
30
  buildExecutableCodePart: () => buildExecutableCodePart,
29
31
  convertCodeExecutionParts: () => convertCodeExecutionParts,
@@ -39,6 +41,21 @@ var import_env_aware_utils = require("../utils/env_aware_utils.js");
39
41
  * Copyright 2025 Google LLC
40
42
  * SPDX-License-Identifier: Apache-2.0
41
43
  */
44
+ var FileContentEncoding = /* @__PURE__ */ ((FileContentEncoding2) => {
45
+ FileContentEncoding2["UTF8"] = "utf-8";
46
+ FileContentEncoding2["BASE64"] = "base64";
47
+ return FileContentEncoding2;
48
+ })(FileContentEncoding || {});
49
+ var CodeExecutionLanguage = /* @__PURE__ */ ((CodeExecutionLanguage2) => {
50
+ CodeExecutionLanguage2["UNSPECIFIED"] = "unspecified";
51
+ CodeExecutionLanguage2["PYTHON"] = "python";
52
+ CodeExecutionLanguage2["JAVASCRIPT"] = "javascript";
53
+ CodeExecutionLanguage2["TYPESCRIPT"] = "typescript";
54
+ CodeExecutionLanguage2["SHELL"] = "shell";
55
+ CodeExecutionLanguage2["POWERSHELL"] = "powershell";
56
+ CodeExecutionLanguage2["WINDOWS_CMD"] = "cmd";
57
+ return CodeExecutionLanguage2;
58
+ })(CodeExecutionLanguage || {});
42
59
  function getEncodedFileContent(data) {
43
60
  return (0, import_env_aware_utils.isBase64Encoded)(data) ? data : (0, import_env_aware_utils.base64Encode)(data);
44
61
  }
@@ -134,6 +151,8 @@ function convertCodeExecutionParts(content, codeBlockDelimiter, executionResultD
134
151
  }
135
152
  // Annotate the CommonJS export names for ESM import in node:
136
153
  0 && (module.exports = {
154
+ CodeExecutionLanguage,
155
+ FileContentEncoding,
137
156
  buildCodeExecutionResultPart,
138
157
  buildExecutableCodePart,
139
158
  convertCodeExecutionParts,