@google/adk 0.6.1 → 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 (402) hide show
  1. package/dist/cjs/agents/base_agent.js +11 -2
  2. package/dist/cjs/agents/context.js +1 -0
  3. package/dist/cjs/agents/functions.js +1 -0
  4. package/dist/cjs/agents/invocation_context.js +1 -0
  5. package/dist/cjs/agents/llm_agent.js +70 -13
  6. package/dist/cjs/agents/loop_agent.js +4 -0
  7. package/dist/cjs/agents/parallel_agent.js +4 -0
  8. package/dist/cjs/agents/processors/code_execution_request_processor.js +2 -0
  9. package/dist/cjs/agents/processors/context_compactor_request_processor.js +9 -0
  10. package/dist/cjs/agents/processors/tool_filter_request_processor.js +73 -0
  11. package/dist/cjs/agents/routed_agent.js +97 -0
  12. package/dist/cjs/auth/auth_handler.js +66 -1
  13. package/dist/cjs/auth/auth_preprocessor.js +178 -0
  14. package/dist/cjs/auth/auth_provider_registry.js +61 -0
  15. package/dist/cjs/auth/base_auth_provider.js +27 -0
  16. package/dist/cjs/auth/credential_service/session_state_credential_service.js +51 -0
  17. package/dist/cjs/auth/oauth2/oauth2_credential_exchanger.js +198 -0
  18. package/dist/cjs/auth/oauth2/oauth2_credential_refresher.js +109 -0
  19. package/dist/cjs/auth/oauth2/oauth2_discovery.js +186 -0
  20. package/dist/cjs/auth/oauth2/oauth2_utils.js +119 -0
  21. package/dist/cjs/auth/refresher/base_credential_refresher.js +44 -0
  22. package/dist/cjs/auth/refresher/credential_refresher_registry.js +68 -0
  23. package/dist/cjs/code_executors/base_code_executor.js +9 -5
  24. package/dist/cjs/code_executors/code_execution_utils.js +19 -0
  25. package/dist/cjs/code_executors/unsafe_local_code_executor.js +241 -0
  26. package/dist/cjs/common.js +61 -0
  27. package/dist/cjs/features/feature_registry.js +141 -0
  28. package/dist/cjs/index.js +32 -20
  29. package/dist/cjs/index.js.map +4 -4
  30. package/dist/cjs/models/apigee_llm.js +2 -2
  31. package/dist/cjs/models/google_llm.js +18 -53
  32. package/dist/cjs/models/routed_llm.js +99 -0
  33. package/dist/cjs/plugins/base_plugin.js +39 -2
  34. package/dist/cjs/plugins/plugin_manager.js +39 -0
  35. package/dist/cjs/runner/runner.js +31 -3
  36. package/dist/cjs/sessions/db/operations.js +3 -10
  37. package/dist/cjs/skills/loader.js +283 -0
  38. package/dist/cjs/skills/prompt.js +58 -0
  39. package/dist/cjs/skills/skill.js +78 -0
  40. package/dist/cjs/tools/agent_tool.js +10 -3
  41. package/dist/cjs/tools/mcp/mcp_tool.js +4 -1
  42. package/dist/cjs/tools/skill/list_skills_tool.js +76 -0
  43. package/dist/cjs/tools/skill/load_skill_resource_tool.js +225 -0
  44. package/dist/cjs/tools/skill/load_skill_tool.js +108 -0
  45. package/dist/cjs/tools/skill/run_skill_inline_script_tool.js +146 -0
  46. package/dist/cjs/tools/skill/run_skill_script_tool.js +224 -0
  47. package/dist/cjs/tools/skill/skill_toolset.js +163 -0
  48. package/dist/cjs/utils/experimental.js +74 -0
  49. package/dist/cjs/utils/failover_utils.js +93 -0
  50. package/dist/cjs/utils/file_extension_utils.js +77 -0
  51. package/dist/cjs/utils/file_utils.js +94 -0
  52. package/dist/cjs/utils/streaming_utils.js +333 -0
  53. package/dist/cjs/version.js +1 -1
  54. package/dist/esm/a2a/a2a_event.js +2 -0
  55. package/dist/esm/a2a/a2a_remote_agent.js +2 -0
  56. package/dist/esm/a2a/a2a_remote_agent_run_processor.js +2 -0
  57. package/dist/esm/a2a/a2a_remote_agent_utils.js +2 -0
  58. package/dist/esm/a2a/agent_card.js +2 -0
  59. package/dist/esm/a2a/agent_executor.js +2 -0
  60. package/dist/esm/a2a/agent_to_a2a.js +2 -0
  61. package/dist/esm/a2a/event_converter_utils.js +2 -0
  62. package/dist/esm/a2a/event_processor_utils.js +2 -0
  63. package/dist/esm/a2a/executor_context.js +2 -0
  64. package/dist/esm/a2a/metadata_converter_utils.js +2 -0
  65. package/dist/esm/a2a/part_converter_utils.js +2 -0
  66. package/dist/esm/agents/active_streaming_tool.js +2 -0
  67. package/dist/esm/agents/base_agent.js +13 -2
  68. package/dist/esm/agents/context.js +3 -0
  69. package/dist/esm/agents/functions.js +3 -0
  70. package/dist/esm/agents/instructions.js +2 -0
  71. package/dist/esm/agents/invocation_context.js +3 -0
  72. package/dist/esm/agents/live_request_queue.js +2 -0
  73. package/dist/esm/agents/llm_agent.js +72 -13
  74. package/dist/esm/agents/loop_agent.js +6 -0
  75. package/dist/esm/agents/parallel_agent.js +6 -0
  76. package/dist/esm/agents/processors/agent_transfer_llm_request_processor.js +2 -0
  77. package/dist/esm/agents/processors/base_llm_processor.js +2 -0
  78. package/dist/esm/agents/processors/basic_llm_request_processor.js +2 -0
  79. package/dist/esm/agents/processors/code_execution_request_processor.js +5 -0
  80. package/dist/esm/agents/processors/content_processor_utils.js +2 -0
  81. package/dist/esm/agents/processors/content_request_processor.js +2 -0
  82. package/dist/esm/agents/processors/context_compactor_request_processor.js +11 -0
  83. package/dist/esm/agents/processors/identity_llm_request_processor.js +2 -0
  84. package/dist/esm/agents/processors/instructions_llm_request_processor.js +2 -0
  85. package/dist/esm/agents/processors/request_confirmation_llm_request_processor.js +2 -0
  86. package/dist/esm/agents/processors/tool_filter_request_processor.js +44 -0
  87. package/dist/esm/agents/readonly_context.js +2 -0
  88. package/dist/esm/agents/routed_agent.js +70 -0
  89. package/dist/esm/agents/run_config.js +2 -0
  90. package/dist/esm/agents/sequential_agent.js +2 -0
  91. package/dist/esm/agents/transcription_entry.js +2 -0
  92. package/dist/esm/artifacts/base_artifact_service.js +2 -0
  93. package/dist/esm/artifacts/file_artifact_service.js +2 -0
  94. package/dist/esm/artifacts/gcs_artifact_service.js +2 -0
  95. package/dist/esm/artifacts/in_memory_artifact_service.js +2 -0
  96. package/dist/esm/artifacts/registry.js +2 -0
  97. package/dist/esm/auth/auth_credential.js +2 -0
  98. package/dist/esm/auth/auth_handler.js +68 -1
  99. package/dist/esm/auth/auth_preprocessor.js +155 -0
  100. package/dist/esm/auth/auth_provider_registry.js +33 -0
  101. package/dist/esm/auth/auth_schemes.js +2 -0
  102. package/dist/esm/auth/auth_tool.js +2 -0
  103. package/dist/esm/auth/base_auth_provider.js +7 -0
  104. package/dist/esm/auth/credential_service/base_credential_service.js +2 -0
  105. package/dist/esm/auth/credential_service/in_memory_credential_service.js +2 -0
  106. package/dist/esm/auth/credential_service/session_state_credential_service.js +23 -0
  107. package/dist/esm/auth/exchanger/base_credential_exchanger.js +2 -0
  108. package/dist/esm/auth/exchanger/credential_exchanger_registry.js +2 -0
  109. package/dist/esm/auth/oauth2/oauth2_credential_exchanger.js +177 -0
  110. package/dist/esm/auth/oauth2/oauth2_credential_refresher.js +85 -0
  111. package/dist/esm/auth/oauth2/oauth2_discovery.js +156 -0
  112. package/dist/esm/auth/oauth2/oauth2_utils.js +87 -0
  113. package/dist/esm/auth/refresher/base_credential_refresher.js +16 -0
  114. package/dist/esm/auth/refresher/credential_refresher_registry.js +40 -0
  115. package/dist/esm/code_executors/base_code_executor.js +11 -5
  116. package/dist/esm/code_executors/built_in_code_executor.js +2 -0
  117. package/dist/esm/code_executors/code_execution_utils.js +19 -0
  118. package/dist/esm/code_executors/code_executor_context.js +2 -0
  119. package/dist/esm/code_executors/unsafe_local_code_executor.js +205 -0
  120. package/dist/esm/common.js +47 -3
  121. package/dist/esm/context/base_context_compactor.js +2 -0
  122. package/dist/esm/context/summarizers/base_summarizer.js +2 -0
  123. package/dist/esm/context/summarizers/llm_summarizer.js +2 -0
  124. package/dist/esm/context/token_based_context_compactor.js +2 -0
  125. package/dist/esm/context/truncating_context_compactor.js +2 -0
  126. package/dist/esm/events/compacted_event.js +2 -0
  127. package/dist/esm/events/event.js +2 -0
  128. package/dist/esm/events/event_actions.js +2 -0
  129. package/dist/esm/events/structured_events.js +2 -0
  130. package/dist/esm/examples/base_example_provider.js +2 -0
  131. package/dist/esm/examples/example.js +2 -0
  132. package/dist/esm/examples/example_util.js +2 -0
  133. package/dist/esm/features/feature_registry.js +107 -0
  134. package/dist/esm/index.js +34 -21
  135. package/dist/esm/index.js.map +4 -4
  136. package/dist/esm/index_web.js +2 -0
  137. package/dist/esm/memory/base_memory_service.js +2 -0
  138. package/dist/esm/memory/in_memory_memory_service.js +2 -0
  139. package/dist/esm/memory/memory_entry.js +2 -0
  140. package/dist/esm/models/apigee_llm.js +4 -2
  141. package/dist/esm/models/base_llm.js +2 -0
  142. package/dist/esm/models/base_llm_connection.js +2 -0
  143. package/dist/esm/models/gemini_llm_connection.js +2 -0
  144. package/dist/esm/models/google_llm.js +20 -54
  145. package/dist/esm/models/llm_request.js +2 -0
  146. package/dist/esm/models/llm_response.js +2 -0
  147. package/dist/esm/models/registry.js +2 -0
  148. package/dist/esm/models/routed_llm.js +73 -0
  149. package/dist/esm/plugins/base_plugin.js +41 -1
  150. package/dist/esm/plugins/logging_plugin.js +2 -0
  151. package/dist/esm/plugins/plugin_manager.js +41 -0
  152. package/dist/esm/plugins/security_plugin.js +2 -0
  153. package/dist/esm/runner/in_memory_runner.js +2 -0
  154. package/dist/esm/runner/runner.js +33 -3
  155. package/dist/esm/sessions/base_session_service.js +2 -0
  156. package/dist/esm/sessions/database_session_service.js +2 -0
  157. package/dist/esm/sessions/db/operations.js +5 -10
  158. package/dist/esm/sessions/db/schema.js +2 -0
  159. package/dist/esm/sessions/in_memory_session_service.js +2 -0
  160. package/dist/esm/sessions/registry.js +2 -0
  161. package/dist/esm/sessions/session.js +2 -0
  162. package/dist/esm/sessions/state.js +2 -0
  163. package/dist/esm/skills/loader.js +244 -0
  164. package/dist/esm/skills/prompt.js +30 -0
  165. package/dist/esm/skills/skill.js +49 -0
  166. package/dist/esm/telemetry/google_cloud.js +2 -0
  167. package/dist/esm/telemetry/setup.js +2 -0
  168. package/dist/esm/telemetry/tracing.js +2 -0
  169. package/dist/esm/tools/agent_tool.js +12 -3
  170. package/dist/esm/tools/base_tool.js +2 -0
  171. package/dist/esm/tools/base_toolset.js +2 -0
  172. package/dist/esm/tools/exit_loop_tool.js +2 -0
  173. package/dist/esm/tools/forwarding_artifact_service.js +2 -0
  174. package/dist/esm/tools/function_tool.js +2 -0
  175. package/dist/esm/tools/google_search_tool.js +2 -0
  176. package/dist/esm/tools/load_artifacts_tool.js +2 -0
  177. package/dist/esm/tools/load_memory_tool.js +2 -0
  178. package/dist/esm/tools/long_running_tool.js +2 -0
  179. package/dist/esm/tools/mcp/mcp_session_manager.js +2 -0
  180. package/dist/esm/tools/mcp/mcp_tool.js +6 -1
  181. package/dist/esm/tools/mcp/mcp_toolset.js +2 -0
  182. package/dist/esm/tools/preload_memory_tool.js +2 -0
  183. package/dist/esm/tools/skill/list_skills_tool.js +50 -0
  184. package/dist/esm/tools/skill/load_skill_resource_tool.js +191 -0
  185. package/dist/esm/tools/skill/load_skill_tool.js +82 -0
  186. package/dist/esm/tools/skill/run_skill_inline_script_tool.js +120 -0
  187. package/dist/esm/tools/skill/run_skill_script_tool.js +192 -0
  188. package/dist/esm/tools/skill/skill_toolset.js +137 -0
  189. package/dist/esm/tools/tool_confirmation.js +2 -0
  190. package/dist/esm/utils/client_labels.js +2 -0
  191. package/dist/esm/utils/env_aware_utils.js +2 -0
  192. package/dist/esm/utils/experimental.js +46 -0
  193. package/dist/esm/utils/failover_utils.js +65 -0
  194. package/dist/esm/utils/file_extension_utils.js +51 -0
  195. package/dist/esm/utils/file_utils.js +56 -0
  196. package/dist/esm/utils/gemini_schema_util.js +2 -0
  197. package/dist/esm/utils/logger.js +2 -0
  198. package/dist/esm/utils/model_name.js +2 -0
  199. package/dist/esm/utils/object_notation_utils.js +2 -0
  200. package/dist/esm/utils/simple_zod_to_json.js +2 -0
  201. package/dist/esm/utils/streaming_utils.js +307 -0
  202. package/dist/esm/utils/variant_utils.js +2 -0
  203. package/dist/esm/version.js +3 -1
  204. package/dist/types/agents/context.d.ts +1 -0
  205. package/dist/types/agents/invocation_context.d.ts +5 -0
  206. package/dist/types/agents/processors/tool_filter_request_processor.d.ts +14 -0
  207. package/dist/types/agents/routed_agent.d.ts +59 -0
  208. package/dist/types/auth/auth_credential.d.ts +17 -0
  209. package/dist/types/auth/auth_handler.d.ts +1 -0
  210. package/dist/types/auth/auth_preprocessor.d.ts +12 -0
  211. package/dist/types/auth/auth_provider_registry.d.ts +27 -0
  212. package/dist/types/auth/base_auth_provider.d.ts +20 -0
  213. package/dist/types/auth/credential_service/session_state_credential_service.d.ts +20 -0
  214. package/dist/types/auth/exchanger/base_credential_exchanger.d.ts +12 -5
  215. package/dist/types/auth/oauth2/oauth2_credential_exchanger.d.ts +26 -0
  216. package/dist/types/auth/oauth2/oauth2_credential_refresher.d.ts +29 -0
  217. package/dist/types/auth/oauth2/oauth2_discovery.d.ts +38 -0
  218. package/dist/types/auth/oauth2/oauth2_utils.d.ts +56 -0
  219. package/dist/types/auth/refresher/base_credential_refresher.d.ts +38 -0
  220. package/dist/types/auth/refresher/credential_refresher_registry.d.ts +27 -0
  221. package/dist/types/code_executors/base_code_executor.d.ts +4 -4
  222. package/dist/types/code_executors/code_execution_utils.d.ts +29 -1
  223. package/dist/types/code_executors/unsafe_local_code_executor.d.ts +48 -0
  224. package/dist/types/common.d.ts +26 -3
  225. package/dist/types/features/feature_registry.d.ts +66 -0
  226. package/dist/types/index.d.ts +4 -0
  227. package/dist/types/memory/base_memory_service.d.ts +6 -0
  228. package/dist/types/memory/memory_entry.d.ts +11 -5
  229. package/dist/types/models/apigee_llm.d.ts +1 -1
  230. package/dist/types/models/base_llm.d.ts +1 -1
  231. package/dist/types/models/google_llm.d.ts +1 -1
  232. package/dist/types/models/llm_request.d.ts +4 -0
  233. package/dist/types/models/routed_llm.d.ts +38 -0
  234. package/dist/types/plugins/base_plugin.d.ts +49 -0
  235. package/dist/types/plugins/plugin_manager.d.ts +22 -1
  236. package/dist/types/runner/runner.d.ts +1 -0
  237. package/dist/types/skills/loader.d.ts +38 -0
  238. package/dist/types/skills/prompt.d.ts +13 -0
  239. package/dist/types/skills/skill.d.ts +48 -0
  240. package/dist/types/tools/skill/list_skills_tool.d.ts +14 -0
  241. package/dist/types/tools/skill/load_skill_resource_tool.d.ts +15 -0
  242. package/dist/types/tools/skill/load_skill_tool.d.ts +14 -0
  243. package/dist/types/tools/skill/run_skill_inline_script_tool.d.ts +14 -0
  244. package/dist/types/tools/skill/run_skill_script_tool.d.ts +17 -0
  245. package/dist/types/tools/skill/skill_toolset.d.ts +28 -0
  246. package/dist/types/utils/experimental.d.ts +11 -0
  247. package/dist/types/utils/failover_utils.d.ts +17 -0
  248. package/dist/types/utils/file_extension_utils.d.ts +21 -0
  249. package/dist/types/utils/file_utils.d.ts +11 -0
  250. package/dist/types/utils/streaming_utils.d.ts +40 -0
  251. package/dist/types/version.d.ts +1 -1
  252. package/dist/web/a2a/a2a_event.js +2 -0
  253. package/dist/web/a2a/a2a_remote_agent.js +2 -0
  254. package/dist/web/a2a/a2a_remote_agent_run_processor.js +2 -0
  255. package/dist/web/a2a/a2a_remote_agent_utils.js +2 -0
  256. package/dist/web/a2a/agent_card.js +2 -0
  257. package/dist/web/a2a/agent_executor.js +2 -0
  258. package/dist/web/a2a/agent_to_a2a.js +2 -0
  259. package/dist/web/a2a/event_converter_utils.js +2 -0
  260. package/dist/web/a2a/event_processor_utils.js +2 -0
  261. package/dist/web/a2a/executor_context.js +2 -0
  262. package/dist/web/a2a/metadata_converter_utils.js +2 -0
  263. package/dist/web/a2a/part_converter_utils.js +2 -0
  264. package/dist/web/agents/active_streaming_tool.js +2 -0
  265. package/dist/web/agents/base_agent.js +13 -2
  266. package/dist/web/agents/context.js +3 -0
  267. package/dist/web/agents/functions.js +3 -0
  268. package/dist/web/agents/instructions.js +2 -0
  269. package/dist/web/agents/invocation_context.js +3 -0
  270. package/dist/web/agents/live_request_queue.js +2 -0
  271. package/dist/web/agents/llm_agent.js +72 -13
  272. package/dist/web/agents/loop_agent.js +6 -0
  273. package/dist/web/agents/parallel_agent.js +6 -0
  274. package/dist/web/agents/processors/agent_transfer_llm_request_processor.js +2 -0
  275. package/dist/web/agents/processors/base_llm_processor.js +2 -0
  276. package/dist/web/agents/processors/basic_llm_request_processor.js +2 -0
  277. package/dist/web/agents/processors/code_execution_request_processor.js +5 -0
  278. package/dist/web/agents/processors/content_processor_utils.js +2 -0
  279. package/dist/web/agents/processors/content_request_processor.js +2 -0
  280. package/dist/web/agents/processors/context_compactor_request_processor.js +11 -0
  281. package/dist/web/agents/processors/identity_llm_request_processor.js +2 -0
  282. package/dist/web/agents/processors/instructions_llm_request_processor.js +2 -0
  283. package/dist/web/agents/processors/request_confirmation_llm_request_processor.js +2 -0
  284. package/dist/web/agents/processors/tool_filter_request_processor.js +62 -0
  285. package/dist/web/agents/readonly_context.js +2 -0
  286. package/dist/web/agents/routed_agent.js +138 -0
  287. package/dist/web/agents/run_config.js +2 -0
  288. package/dist/web/agents/sequential_agent.js +2 -0
  289. package/dist/web/agents/transcription_entry.js +2 -0
  290. package/dist/web/artifacts/base_artifact_service.js +2 -0
  291. package/dist/web/artifacts/file_artifact_service.js +2 -0
  292. package/dist/web/artifacts/gcs_artifact_service.js +2 -0
  293. package/dist/web/artifacts/in_memory_artifact_service.js +2 -0
  294. package/dist/web/artifacts/registry.js +2 -0
  295. package/dist/web/auth/auth_credential.js +2 -0
  296. package/dist/web/auth/auth_handler.js +85 -1
  297. package/dist/web/auth/auth_preprocessor.js +173 -0
  298. package/dist/web/auth/auth_provider_registry.js +33 -0
  299. package/dist/web/auth/auth_schemes.js +2 -0
  300. package/dist/web/auth/auth_tool.js +2 -0
  301. package/dist/web/auth/base_auth_provider.js +7 -0
  302. package/dist/web/auth/credential_service/base_credential_service.js +2 -0
  303. package/dist/web/auth/credential_service/in_memory_credential_service.js +2 -0
  304. package/dist/web/auth/credential_service/session_state_credential_service.js +23 -0
  305. package/dist/web/auth/exchanger/base_credential_exchanger.js +2 -0
  306. package/dist/web/auth/exchanger/credential_exchanger_registry.js +2 -0
  307. package/dist/web/auth/oauth2/oauth2_credential_exchanger.js +188 -0
  308. package/dist/web/auth/oauth2/oauth2_credential_refresher.js +102 -0
  309. package/dist/web/auth/oauth2/oauth2_discovery.js +156 -0
  310. package/dist/web/auth/oauth2/oauth2_utils.js +87 -0
  311. package/dist/web/auth/refresher/base_credential_refresher.js +16 -0
  312. package/dist/web/auth/refresher/credential_refresher_registry.js +40 -0
  313. package/dist/web/code_executors/base_code_executor.js +11 -5
  314. package/dist/web/code_executors/built_in_code_executor.js +2 -0
  315. package/dist/web/code_executors/code_execution_utils.js +19 -0
  316. package/dist/web/code_executors/code_executor_context.js +2 -0
  317. package/dist/web/code_executors/unsafe_local_code_executor.js +203 -0
  318. package/dist/web/common.js +47 -3
  319. package/dist/web/context/base_context_compactor.js +2 -0
  320. package/dist/web/context/summarizers/base_summarizer.js +2 -0
  321. package/dist/web/context/summarizers/llm_summarizer.js +2 -0
  322. package/dist/web/context/token_based_context_compactor.js +2 -0
  323. package/dist/web/context/truncating_context_compactor.js +2 -0
  324. package/dist/web/events/compacted_event.js +2 -0
  325. package/dist/web/events/event.js +2 -0
  326. package/dist/web/events/event_actions.js +2 -0
  327. package/dist/web/events/structured_events.js +2 -0
  328. package/dist/web/examples/base_example_provider.js +2 -0
  329. package/dist/web/examples/example.js +2 -0
  330. package/dist/web/examples/example_util.js +2 -0
  331. package/dist/web/features/feature_registry.js +107 -0
  332. package/dist/web/index.js +3 -2
  333. package/dist/web/index.js.map +4 -4
  334. package/dist/web/index_web.js +2 -0
  335. package/dist/web/memory/base_memory_service.js +2 -0
  336. package/dist/web/memory/in_memory_memory_service.js +2 -0
  337. package/dist/web/memory/memory_entry.js +2 -0
  338. package/dist/web/models/apigee_llm.js +4 -2
  339. package/dist/web/models/base_llm.js +2 -0
  340. package/dist/web/models/base_llm_connection.js +2 -0
  341. package/dist/web/models/gemini_llm_connection.js +2 -0
  342. package/dist/web/models/google_llm.js +37 -59
  343. package/dist/web/models/llm_request.js +2 -0
  344. package/dist/web/models/llm_response.js +2 -0
  345. package/dist/web/models/registry.js +2 -0
  346. package/dist/web/models/routed_llm.js +122 -0
  347. package/dist/web/plugins/base_plugin.js +41 -1
  348. package/dist/web/plugins/logging_plugin.js +2 -0
  349. package/dist/web/plugins/plugin_manager.js +41 -0
  350. package/dist/web/plugins/security_plugin.js +2 -0
  351. package/dist/web/runner/in_memory_runner.js +2 -0
  352. package/dist/web/runner/runner.js +33 -3
  353. package/dist/web/sessions/base_session_service.js +2 -0
  354. package/dist/web/sessions/database_session_service.js +2 -0
  355. package/dist/web/sessions/db/operations.js +5 -10
  356. package/dist/web/sessions/db/schema.js +2 -0
  357. package/dist/web/sessions/in_memory_session_service.js +2 -0
  358. package/dist/web/sessions/registry.js +2 -0
  359. package/dist/web/sessions/session.js +2 -0
  360. package/dist/web/sessions/state.js +2 -0
  361. package/dist/web/skills/loader.js +262 -0
  362. package/dist/web/skills/prompt.js +30 -0
  363. package/dist/web/skills/skill.js +67 -0
  364. package/dist/web/telemetry/google_cloud.js +2 -0
  365. package/dist/web/telemetry/setup.js +2 -0
  366. package/dist/web/telemetry/tracing.js +2 -0
  367. package/dist/web/tools/agent_tool.js +12 -3
  368. package/dist/web/tools/base_tool.js +2 -0
  369. package/dist/web/tools/base_toolset.js +2 -0
  370. package/dist/web/tools/exit_loop_tool.js +2 -0
  371. package/dist/web/tools/forwarding_artifact_service.js +2 -0
  372. package/dist/web/tools/function_tool.js +2 -0
  373. package/dist/web/tools/google_search_tool.js +2 -0
  374. package/dist/web/tools/load_artifacts_tool.js +2 -0
  375. package/dist/web/tools/load_memory_tool.js +2 -0
  376. package/dist/web/tools/long_running_tool.js +2 -0
  377. package/dist/web/tools/mcp/mcp_session_manager.js +2 -0
  378. package/dist/web/tools/mcp/mcp_tool.js +6 -1
  379. package/dist/web/tools/mcp/mcp_toolset.js +2 -0
  380. package/dist/web/tools/preload_memory_tool.js +2 -0
  381. package/dist/web/tools/skill/list_skills_tool.js +50 -0
  382. package/dist/web/tools/skill/load_skill_resource_tool.js +191 -0
  383. package/dist/web/tools/skill/load_skill_tool.js +82 -0
  384. package/dist/web/tools/skill/run_skill_inline_script_tool.js +120 -0
  385. package/dist/web/tools/skill/run_skill_script_tool.js +190 -0
  386. package/dist/web/tools/skill/skill_toolset.js +123 -0
  387. package/dist/web/tools/tool_confirmation.js +2 -0
  388. package/dist/web/utils/client_labels.js +2 -0
  389. package/dist/web/utils/env_aware_utils.js +2 -0
  390. package/dist/web/utils/experimental.js +46 -0
  391. package/dist/web/utils/failover_utils.js +96 -0
  392. package/dist/web/utils/file_extension_utils.js +51 -0
  393. package/dist/web/utils/file_utils.js +74 -0
  394. package/dist/web/utils/gemini_schema_util.js +2 -0
  395. package/dist/web/utils/logger.js +2 -0
  396. package/dist/web/utils/model_name.js +2 -0
  397. package/dist/web/utils/object_notation_utils.js +2 -0
  398. package/dist/web/utils/simple_zod_to_json.js +2 -0
  399. package/dist/web/utils/streaming_utils.js +325 -0
  400. package/dist/web/utils/variant_utils.js +2 -0
  401. package/dist/web/version.js +3 -1
  402. package/package.json +19 -17
@@ -0,0 +1,241 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ "use strict";
8
+ var __create = Object.create;
9
+ var __defProp = Object.defineProperty;
10
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
11
+ var __getOwnPropNames = Object.getOwnPropertyNames;
12
+ var __getProtoOf = Object.getPrototypeOf;
13
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
14
+ var __export = (target, all) => {
15
+ for (var name in all)
16
+ __defProp(target, name, { get: all[name], enumerable: true });
17
+ };
18
+ var __copyProps = (to, from, except, desc) => {
19
+ if (from && typeof from === "object" || typeof from === "function") {
20
+ for (let key of __getOwnPropNames(from))
21
+ if (!__hasOwnProp.call(to, key) && key !== except)
22
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
23
+ }
24
+ return to;
25
+ };
26
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
27
+ // If the importer is in node compatibility mode or this is not an ESM
28
+ // file that has been converted to a CommonJS file using a Babel-
29
+ // compatible transform (i.e. "__esModule" has not been set), then set
30
+ // "default" to the CommonJS "module.exports" for node compatibility.
31
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
32
+ mod
33
+ ));
34
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
35
+ var unsafe_local_code_executor_exports = {};
36
+ __export(unsafe_local_code_executor_exports, {
37
+ UnsafeLocalCodeExecutor: () => UnsafeLocalCodeExecutor
38
+ });
39
+ module.exports = __toCommonJS(unsafe_local_code_executor_exports);
40
+ var import_child_process = require("child_process");
41
+ var fs = __toESM(require("node:fs/promises"), 1);
42
+ var os = __toESM(require("node:os"), 1);
43
+ var path = __toESM(require("node:path"), 1);
44
+ var import_file_extension_utils = require("../utils/file_extension_utils.js");
45
+ var import_file_utils = require("../utils/file_utils.js");
46
+ var import_logger = require("../utils/logger.js");
47
+ var import_base_code_executor = require("./base_code_executor.js");
48
+ var import_code_execution_utils = require("./code_execution_utils.js");
49
+ /**
50
+ * @license
51
+ * Copyright 2026 Google LLC
52
+ * SPDX-License-Identifier: Apache-2.0
53
+ */
54
+ const IS_WINDOWS = os.platform() === "win32";
55
+ async function createTempScriptFile(code, language, shellCommandPath) {
56
+ const tempDir = path.join(
57
+ os.tmpdir(),
58
+ "adk_js_unsafe_code_executor",
59
+ Date.now().toString() + "_" + Math.random().toString(36).slice(2)
60
+ );
61
+ await fs.mkdir(tempDir, { recursive: true });
62
+ const ext = getExtensionForLanguage(language, shellCommandPath) || ".js";
63
+ const filePath = path.join(tempDir, `script${ext}`);
64
+ await fs.writeFile(filePath, code);
65
+ return { filePath, tempDir };
66
+ }
67
+ function getExtensionForLanguage(language, shellCommandPath) {
68
+ if (language === import_code_execution_utils.CodeExecutionLanguage.JAVASCRIPT) {
69
+ return ".js";
70
+ }
71
+ if (language === import_code_execution_utils.CodeExecutionLanguage.PYTHON) {
72
+ return ".py";
73
+ }
74
+ if (language === import_code_execution_utils.CodeExecutionLanguage.POWERSHELL) {
75
+ return ".ps1";
76
+ }
77
+ if (language === import_code_execution_utils.CodeExecutionLanguage.WINDOWS_CMD) {
78
+ return ".bat";
79
+ }
80
+ if (language === import_code_execution_utils.CodeExecutionLanguage.SHELL) {
81
+ if (IS_WINDOWS) {
82
+ if (shellCommandPath && shellCommandPath.toLowerCase().includes("cmd")) {
83
+ return ".bat";
84
+ }
85
+ return ".ps1";
86
+ }
87
+ return ".sh";
88
+ }
89
+ return void 0;
90
+ }
91
+ class UnsafeLocalCodeExecutor extends import_base_code_executor.BaseCodeExecutor {
92
+ constructor(options = {}) {
93
+ var _a, _b, _c, _d;
94
+ super();
95
+ this.timeoutSeconds = (_a = options.timeoutSeconds) != null ? _a : 30;
96
+ this.nodeCommandPath = (_b = options.commandPath) != null ? _b : process.execPath;
97
+ this.pythonCommandPath = (_c = options.pythonCommandPath) != null ? _c : IS_WINDOWS ? "python" : "python3";
98
+ this.shellCommandPath = (_d = options.shellCommandPath) != null ? _d : IS_WINDOWS ? "powershell" : "bash";
99
+ this.stateful = false;
100
+ this.optimizeDataFile = false;
101
+ }
102
+ async executeCode(params) {
103
+ var _a;
104
+ const { code, language } = params.codeExecutionInput;
105
+ if (![
106
+ import_code_execution_utils.CodeExecutionLanguage.JAVASCRIPT,
107
+ import_code_execution_utils.CodeExecutionLanguage.PYTHON,
108
+ import_code_execution_utils.CodeExecutionLanguage.SHELL,
109
+ import_code_execution_utils.CodeExecutionLanguage.WINDOWS_CMD,
110
+ import_code_execution_utils.CodeExecutionLanguage.POWERSHELL
111
+ ].includes(language)) {
112
+ return {
113
+ stdout: "",
114
+ stderr: `Unsupported language: ${language}`,
115
+ outputFiles: []
116
+ };
117
+ }
118
+ import_logger.logger.warn(
119
+ "\n====================================================================================\n\u26A0\uFE0F DANGER: UnsafeLocalCodeExecutor is executing code locally on this host machine!\nThis component provides NO sandboxing or container isolation. Arbitrary shell/script\ncommands generated by AI or untrusted sources could lead to serious security risks.\n====================================================================================\n"
120
+ );
121
+ let tempDir;
122
+ try {
123
+ const res = await createTempScriptFile(
124
+ code,
125
+ language,
126
+ this.shellCommandPath
127
+ );
128
+ const filePath = res.filePath;
129
+ tempDir = res.tempDir;
130
+ if (params.codeExecutionInput.inputFiles) {
131
+ await (0, import_file_utils.materializeFiles)(params.codeExecutionInput.inputFiles, tempDir);
132
+ }
133
+ let command = this.nodeCommandPath;
134
+ let args = [filePath];
135
+ if (language === import_code_execution_utils.CodeExecutionLanguage.PYTHON) {
136
+ command = this.pythonCommandPath;
137
+ } else if (language === import_code_execution_utils.CodeExecutionLanguage.SHELL) {
138
+ command = this.shellCommandPath;
139
+ if (this.shellCommandPath.toLowerCase().includes("powershell")) {
140
+ args = ["-NoLogo", "-ExecutionPolicy", "Bypass", "-File", filePath];
141
+ } else if (this.shellCommandPath.toLowerCase().includes("cmd")) {
142
+ args = ["/c", filePath];
143
+ }
144
+ } else if (language === import_code_execution_utils.CodeExecutionLanguage.POWERSHELL) {
145
+ command = IS_WINDOWS ? "powershell" : "pwsh";
146
+ args = ["-NoLogo", "-ExecutionPolicy", "Bypass", "-File", filePath];
147
+ } else if (language === import_code_execution_utils.CodeExecutionLanguage.WINDOWS_CMD) {
148
+ command = "cmd.exe";
149
+ args = ["/c", filePath];
150
+ }
151
+ if (params.codeExecutionInput.args) {
152
+ if (Array.isArray(params.codeExecutionInput.args)) {
153
+ args.push(...params.codeExecutionInput.args);
154
+ } else {
155
+ for (const [k, v] of Object.entries(params.codeExecutionInput.args)) {
156
+ args.push(`--${k}`, String(v));
157
+ }
158
+ }
159
+ }
160
+ const executionResult = await new Promise((resolve) => {
161
+ const child = (0, import_child_process.spawn)(command, args, {
162
+ timeout: this.timeoutSeconds * 1e3,
163
+ killSignal: "SIGKILL",
164
+ cwd: tempDir
165
+ });
166
+ let stdout = "";
167
+ let stderr = "";
168
+ if (child.stdout) {
169
+ child.stdout.on("data", (data) => {
170
+ stdout += data.toString();
171
+ });
172
+ }
173
+ if (child.stderr) {
174
+ child.stderr.on("data", (data) => {
175
+ stderr += data.toString();
176
+ });
177
+ }
178
+ child.on("error", (err) => {
179
+ stderr += `Process error: ${err.message}
180
+ `;
181
+ });
182
+ child.on("close", (exitCode, signal) => {
183
+ if (signal === "SIGKILL" || signal === "SIGTERM") {
184
+ stderr += `
185
+ Code execution timed out after ${this.timeoutSeconds} seconds.`;
186
+ } else if (exitCode !== 0 && exitCode !== null) {
187
+ if (!stderr) {
188
+ stderr = `Exit code ${exitCode}`;
189
+ }
190
+ }
191
+ resolve({ stdout, stderr, exitCode });
192
+ });
193
+ });
194
+ const outputFiles = [];
195
+ try {
196
+ const allFiles = await fs.readdir(tempDir, { recursive: true });
197
+ for (const relativeFilePath of allFiles) {
198
+ const fullPath = path.join(tempDir, relativeFilePath);
199
+ const stat = await fs.lstat(fullPath);
200
+ if (!stat.isFile()) {
201
+ continue;
202
+ }
203
+ if (relativeFilePath === path.basename(filePath)) {
204
+ continue;
205
+ }
206
+ const isInputFile = (_a = params.codeExecutionInput.inputFiles) == null ? void 0 : _a.some(
207
+ (f) => f.name === relativeFilePath
208
+ );
209
+ if (isInputFile) {
210
+ continue;
211
+ }
212
+ const fileContent = await fs.readFile(fullPath);
213
+ const { mimeType, encoding } = (0, import_file_extension_utils.getMimeTypeAndEncoding)(
214
+ path.extname(relativeFilePath)
215
+ );
216
+ outputFiles.push({
217
+ name: relativeFilePath,
218
+ content: fileContent.toString(encoding),
219
+ contentEncoding: encoding,
220
+ mimeType
221
+ });
222
+ }
223
+ } catch (e) {
224
+ import_logger.logger.error(`Error scanning output files: ${e}`);
225
+ }
226
+ return {
227
+ stdout: executionResult.stdout,
228
+ stderr: executionResult.stderr,
229
+ outputFiles
230
+ };
231
+ } finally {
232
+ if (tempDir) {
233
+ await fs.rm(tempDir, { recursive: true, force: true });
234
+ }
235
+ }
236
+ }
237
+ }
238
+ // Annotate the CommonJS export names for ESM import in node:
239
+ 0 && (module.exports = {
240
+ UnsafeLocalCodeExecutor
241
+ });
@@ -26,9 +26,13 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
26
26
  var common_exports = {};
27
27
  __export(common_exports, {
28
28
  ActiveStreamingTool: () => import_active_streaming_tool.ActiveStreamingTool,
29
+ Agent: () => import_llm_agent.LlmAgent,
29
30
  AgentTool: () => import_agent_tool.AgentTool,
31
+ AgentTransferLlmRequestProcessor: () => import_agent_transfer_llm_request_processor.AgentTransferLlmRequestProcessor,
30
32
  ApigeeLlm: () => import_apigee_llm.ApigeeLlm,
31
33
  AuthCredentialTypes: () => import_auth_credential.AuthCredentialTypes,
34
+ AuthHandler: () => import_auth_handler.AuthHandler,
35
+ AuthProviderRegistry: () => import_auth_provider_registry.AuthProviderRegistry,
32
36
  BaseAgent: () => import_base_agent.BaseAgent,
33
37
  BaseCodeExecutor: () => import_base_code_executor.BaseCodeExecutor,
34
38
  BaseExampleProvider: () => import_base_example_provider.BaseExampleProvider,
@@ -41,18 +45,24 @@ __export(common_exports, {
41
45
  BaseToolset: () => import_base_toolset.BaseToolset,
42
46
  BuiltInCodeExecutor: () => import_built_in_code_executor.BuiltInCodeExecutor,
43
47
  CONTENT_REQUEST_PROCESSOR: () => import_content_request_processor.CONTENT_REQUEST_PROCESSOR,
48
+ CodeExecutionLanguage: () => import_code_execution_utils.CodeExecutionLanguage,
44
49
  ContentRequestProcessor: () => import_content_request_processor.ContentRequestProcessor,
45
50
  Context: () => import_context.Context,
51
+ ContextCompactionTrigger: () => import_base_plugin.ContextCompactionTrigger,
46
52
  ContextCompactorRequestProcessor: () => import_context_compactor_request_processor.ContextCompactorRequestProcessor,
53
+ CredentialExchangeError: () => import_base_credential_exchanger.CredentialExchangeError,
54
+ CredentialRefresherRegistry: () => import_credential_refresher_registry.CredentialRefresherRegistry,
47
55
  EXIT_LOOP: () => import_exit_loop_tool.EXIT_LOOP,
48
56
  EventType: () => import_structured_events.EventType,
49
57
  ExitLoopTool: () => import_exit_loop_tool.ExitLoopTool,
58
+ FileContentEncoding: () => import_code_execution_utils.FileContentEncoding,
50
59
  FunctionTool: () => import_function_tool.FunctionTool,
51
60
  GOOGLE_SEARCH: () => import_google_search_tool.GOOGLE_SEARCH,
52
61
  Gemini: () => import_google_llm.Gemini,
53
62
  GoogleLLMVariant: () => import_variant_utils.GoogleLLMVariant,
54
63
  GoogleSearchTool: () => import_google_search_tool.GoogleSearchTool,
55
64
  InMemoryArtifactService: () => import_in_memory_artifact_service.InMemoryArtifactService,
65
+ InMemoryCredentialService: () => import_in_memory_credential_service.InMemoryCredentialService,
56
66
  InMemoryMemoryService: () => import_in_memory_memory_service.InMemoryMemoryService,
57
67
  InMemoryPolicyEngine: () => import_security_plugin.InMemoryPolicyEngine,
58
68
  InMemoryRunner: () => import_in_memory_runner.InMemoryRunner,
@@ -61,15 +71,21 @@ __export(common_exports, {
61
71
  LLMRegistry: () => import_registry.LLMRegistry,
62
72
  LOAD_ARTIFACTS: () => import_load_artifacts_tool.LOAD_ARTIFACTS,
63
73
  LOAD_MEMORY: () => import_load_memory_tool.LOAD_MEMORY,
74
+ ListSkillsTool: () => import_list_skills_tool.ListSkillsTool,
64
75
  LiveRequestQueue: () => import_live_request_queue.LiveRequestQueue,
65
76
  LlmAgent: () => import_llm_agent.LlmAgent,
66
77
  LlmSummarizer: () => import_llm_summarizer.LlmSummarizer,
67
78
  LoadArtifactsTool: () => import_load_artifacts_tool.LoadArtifactsTool,
68
79
  LoadMemoryTool: () => import_load_memory_tool.LoadMemoryTool,
80
+ LoadSkillResourceTool: () => import_load_skill_resource_tool.LoadSkillResourceTool,
81
+ LoadSkillTool: () => import_load_skill_tool.LoadSkillTool,
69
82
  LogLevel: () => import_logger.LogLevel,
70
83
  LoggingPlugin: () => import_logging_plugin.LoggingPlugin,
71
84
  LongRunningFunctionTool: () => import_long_running_tool.LongRunningFunctionTool,
72
85
  LoopAgent: () => import_loop_agent.LoopAgent,
86
+ OAuth2CredentialExchanger: () => import_oauth2_credential_exchanger.OAuth2CredentialExchanger,
87
+ OAuth2DiscoveryManager: () => import_oauth2_discovery.OAuth2DiscoveryManager,
88
+ OAuthGrantType: () => import_auth_schemes.OAuthGrantType,
73
89
  PRELOAD_MEMORY: () => import_preload_memory_tool.PRELOAD_MEMORY,
74
90
  ParallelAgent: () => import_parallel_agent.ParallelAgent,
75
91
  PluginManager: () => import_plugin_manager.PluginManager,
@@ -77,9 +93,13 @@ __export(common_exports, {
77
93
  PreloadMemoryTool: () => import_preload_memory_tool.PreloadMemoryTool,
78
94
  REQUEST_CONFIRMATION_FUNCTION_CALL_NAME: () => import_security_plugin.REQUEST_CONFIRMATION_FUNCTION_CALL_NAME,
79
95
  ReadonlyContext: () => import_readonly_context.ReadonlyContext,
96
+ RoutedAgent: () => import_routed_agent.RoutedAgent,
97
+ RoutedLlm: () => import_routed_llm.RoutedLlm,
80
98
  Runner: () => import_runner.Runner,
81
99
  SecurityPlugin: () => import_security_plugin.SecurityPlugin,
82
100
  SequentialAgent: () => import_sequential_agent.SequentialAgent,
101
+ SessionStateCredentialService: () => import_session_state_credential_service.SessionStateCredentialService,
102
+ SkillToolset: () => import_skill_toolset.SkillToolset,
83
103
  State: () => import_state.State,
84
104
  StreamingMode: () => import_run_config.StreamingMode,
85
105
  TokenBasedContextCompactor: () => import_token_based_context_compactor.TokenBasedContextCompactor,
@@ -108,6 +128,7 @@ __export(common_exports, {
108
128
  isLlmAgent: () => import_llm_agent.isLlmAgent,
109
129
  isLoopAgent: () => import_loop_agent.isLoopAgent,
110
130
  isParallelAgent: () => import_parallel_agent.isParallelAgent,
131
+ isRoutedAgent: () => import_routed_agent.isRoutedAgent,
111
132
  isRunner: () => import_runner.isRunner,
112
133
  isSequentialAgent: () => import_sequential_agent.isSequentialAgent,
113
134
  setLogLevel: () => import_logger.setLogLevel,
@@ -127,16 +148,28 @@ var import_live_request_queue = require("./agents/live_request_queue.js");
127
148
  var import_llm_agent = require("./agents/llm_agent.js");
128
149
  var import_loop_agent = require("./agents/loop_agent.js");
129
150
  var import_parallel_agent = require("./agents/parallel_agent.js");
151
+ var import_agent_transfer_llm_request_processor = require("./agents/processors/agent_transfer_llm_request_processor.js");
130
152
  var import_base_llm_processor = require("./agents/processors/base_llm_processor.js");
131
153
  var import_content_request_processor = require("./agents/processors/content_request_processor.js");
132
154
  var import_context_compactor_request_processor = require("./agents/processors/context_compactor_request_processor.js");
133
155
  var import_readonly_context = require("./agents/readonly_context.js");
156
+ var import_routed_agent = require("./agents/routed_agent.js");
134
157
  var import_run_config = require("./agents/run_config.js");
135
158
  var import_sequential_agent = require("./agents/sequential_agent.js");
136
159
  var import_in_memory_artifact_service = require("./artifacts/in_memory_artifact_service.js");
137
160
  var import_auth_credential = require("./auth/auth_credential.js");
161
+ var import_auth_handler = require("./auth/auth_handler.js");
162
+ var import_auth_provider_registry = require("./auth/auth_provider_registry.js");
163
+ var import_auth_schemes = require("./auth/auth_schemes.js");
164
+ var import_in_memory_credential_service = require("./auth/credential_service/in_memory_credential_service.js");
165
+ var import_session_state_credential_service = require("./auth/credential_service/session_state_credential_service.js");
166
+ var import_base_credential_exchanger = require("./auth/exchanger/base_credential_exchanger.js");
167
+ var import_oauth2_credential_exchanger = require("./auth/oauth2/oauth2_credential_exchanger.js");
168
+ var import_oauth2_discovery = require("./auth/oauth2/oauth2_discovery.js");
169
+ var import_credential_refresher_registry = require("./auth/refresher/credential_refresher_registry.js");
138
170
  var import_base_code_executor = require("./code_executors/base_code_executor.js");
139
171
  var import_built_in_code_executor = require("./code_executors/built_in_code_executor.js");
172
+ var import_code_execution_utils = require("./code_executors/code_execution_utils.js");
140
173
  var import_llm_summarizer = require("./context/summarizers/llm_summarizer.js");
141
174
  var import_token_based_context_compactor = require("./context/token_based_context_compactor.js");
142
175
  var import_truncating_context_compactor = require("./context/truncating_context_compactor.js");
@@ -150,6 +183,7 @@ var import_apigee_llm = require("./models/apigee_llm.js");
150
183
  var import_base_llm = require("./models/base_llm.js");
151
184
  var import_google_llm = require("./models/google_llm.js");
152
185
  var import_registry = require("./models/registry.js");
186
+ var import_routed_llm = require("./models/routed_llm.js");
153
187
  var import_base_plugin = require("./plugins/base_plugin.js");
154
188
  var import_logging_plugin = require("./plugins/logging_plugin.js");
155
189
  var import_plugin_manager = require("./plugins/plugin_manager.js");
@@ -176,7 +210,12 @@ var import_model_name = require("./utils/model_name.js");
176
210
  var import_simple_zod_to_json = require("./utils/simple_zod_to_json.js");
177
211
  var import_variant_utils = require("./utils/variant_utils.js");
178
212
  var import_version = require("./version.js");
213
+ var import_list_skills_tool = require("./tools/skill/list_skills_tool.js");
214
+ var import_load_skill_resource_tool = require("./tools/skill/load_skill_resource_tool.js");
215
+ var import_load_skill_tool = require("./tools/skill/load_skill_tool.js");
216
+ var import_skill_toolset = require("./tools/skill/skill_toolset.js");
179
217
  __reExport(common_exports, require("./artifacts/base_artifact_service.js"), module.exports);
218
+ __reExport(common_exports, require("./features/feature_registry.js"), module.exports);
180
219
  __reExport(common_exports, require("./memory/base_memory_service.js"), module.exports);
181
220
  __reExport(common_exports, require("./sessions/base_session_service.js"), module.exports);
182
221
  __reExport(common_exports, require("./tools/base_tool.js"), module.exports);
@@ -188,9 +227,13 @@ __reExport(common_exports, require("./tools/base_tool.js"), module.exports);
188
227
  // Annotate the CommonJS export names for ESM import in node:
189
228
  0 && (module.exports = {
190
229
  ActiveStreamingTool,
230
+ Agent,
191
231
  AgentTool,
232
+ AgentTransferLlmRequestProcessor,
192
233
  ApigeeLlm,
193
234
  AuthCredentialTypes,
235
+ AuthHandler,
236
+ AuthProviderRegistry,
194
237
  BaseAgent,
195
238
  BaseCodeExecutor,
196
239
  BaseExampleProvider,
@@ -203,18 +246,24 @@ __reExport(common_exports, require("./tools/base_tool.js"), module.exports);
203
246
  BaseToolset,
204
247
  BuiltInCodeExecutor,
205
248
  CONTENT_REQUEST_PROCESSOR,
249
+ CodeExecutionLanguage,
206
250
  ContentRequestProcessor,
207
251
  Context,
252
+ ContextCompactionTrigger,
208
253
  ContextCompactorRequestProcessor,
254
+ CredentialExchangeError,
255
+ CredentialRefresherRegistry,
209
256
  EXIT_LOOP,
210
257
  EventType,
211
258
  ExitLoopTool,
259
+ FileContentEncoding,
212
260
  FunctionTool,
213
261
  GOOGLE_SEARCH,
214
262
  Gemini,
215
263
  GoogleLLMVariant,
216
264
  GoogleSearchTool,
217
265
  InMemoryArtifactService,
266
+ InMemoryCredentialService,
218
267
  InMemoryMemoryService,
219
268
  InMemoryPolicyEngine,
220
269
  InMemoryRunner,
@@ -223,15 +272,21 @@ __reExport(common_exports, require("./tools/base_tool.js"), module.exports);
223
272
  LLMRegistry,
224
273
  LOAD_ARTIFACTS,
225
274
  LOAD_MEMORY,
275
+ ListSkillsTool,
226
276
  LiveRequestQueue,
227
277
  LlmAgent,
228
278
  LlmSummarizer,
229
279
  LoadArtifactsTool,
230
280
  LoadMemoryTool,
281
+ LoadSkillResourceTool,
282
+ LoadSkillTool,
231
283
  LogLevel,
232
284
  LoggingPlugin,
233
285
  LongRunningFunctionTool,
234
286
  LoopAgent,
287
+ OAuth2CredentialExchanger,
288
+ OAuth2DiscoveryManager,
289
+ OAuthGrantType,
235
290
  PRELOAD_MEMORY,
236
291
  ParallelAgent,
237
292
  PluginManager,
@@ -239,9 +294,13 @@ __reExport(common_exports, require("./tools/base_tool.js"), module.exports);
239
294
  PreloadMemoryTool,
240
295
  REQUEST_CONFIRMATION_FUNCTION_CALL_NAME,
241
296
  ReadonlyContext,
297
+ RoutedAgent,
298
+ RoutedLlm,
242
299
  Runner,
243
300
  SecurityPlugin,
244
301
  SequentialAgent,
302
+ SessionStateCredentialService,
303
+ SkillToolset,
245
304
  State,
246
305
  StreamingMode,
247
306
  TokenBasedContextCompactor,
@@ -270,6 +329,7 @@ __reExport(common_exports, require("./tools/base_tool.js"), module.exports);
270
329
  isLlmAgent,
271
330
  isLoopAgent,
272
331
  isParallelAgent,
332
+ isRoutedAgent,
273
333
  isRunner,
274
334
  isSequentialAgent,
275
335
  setLogLevel,
@@ -279,6 +339,7 @@ __reExport(common_exports, require("./tools/base_tool.js"), module.exports);
279
339
  version,
280
340
  zodObjectToSchema,
281
341
  ...require("./artifacts/base_artifact_service.js"),
342
+ ...require("./features/feature_registry.js"),
282
343
  ...require("./memory/base_memory_service.js"),
283
344
  ...require("./sessions/base_session_service.js"),
284
345
  ...require("./tools/base_tool.js")
@@ -0,0 +1,141 @@
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 feature_registry_exports = {};
26
+ __export(feature_registry_exports, {
27
+ FeatureName: () => FeatureName,
28
+ FeatureStage: () => FeatureStage,
29
+ getFeatureConfig: () => getFeatureConfig,
30
+ isFeatureEnabled: () => isFeatureEnabled,
31
+ overrideFeatureEnabled: () => overrideFeatureEnabled,
32
+ registerFeature: () => registerFeature,
33
+ withTemporaryFeatureOverride: () => withTemporaryFeatureOverride
34
+ });
35
+ module.exports = __toCommonJS(feature_registry_exports);
36
+ var import_env_aware_utils = require("../utils/env_aware_utils.js");
37
+ var import_logger = require("../utils/logger.js");
38
+ /**
39
+ * @license
40
+ * Copyright 2026 Google LLC
41
+ * SPDX-License-Identifier: Apache-2.0
42
+ */
43
+ var FeatureName = /* @__PURE__ */ ((FeatureName2) => {
44
+ FeatureName2["PROGRESSIVE_SSE_STREAMING"] = "PROGRESSIVE_SSE_STREAMING";
45
+ return FeatureName2;
46
+ })(FeatureName || {});
47
+ var FeatureStage = /* @__PURE__ */ ((FeatureStage2) => {
48
+ FeatureStage2["WIP"] = "wip";
49
+ FeatureStage2["EXPERIMENTAL"] = "experimental";
50
+ FeatureStage2["STABLE"] = "stable";
51
+ return FeatureStage2;
52
+ })(FeatureStage || {});
53
+ const FEATURE_REGISTRY = {
54
+ ["PROGRESSIVE_SSE_STREAMING" /* PROGRESSIVE_SSE_STREAMING */]: {
55
+ stage: "experimental" /* EXPERIMENTAL */,
56
+ defaultOn: false
57
+ }
58
+ };
59
+ const WARNED_FEATURES = /* @__PURE__ */ new Set();
60
+ const FEATURE_OVERRIDES = {};
61
+ function getFeatureConfig(featureName) {
62
+ return FEATURE_REGISTRY[featureName];
63
+ }
64
+ function registerFeature(featureName, config) {
65
+ FEATURE_REGISTRY[featureName] = config;
66
+ }
67
+ function overrideFeatureEnabled(featureName, enabled) {
68
+ const config = getFeatureConfig(featureName);
69
+ if (!config) {
70
+ throw new Error(`Feature ${featureName} is not registered.`);
71
+ }
72
+ if (enabled === void 0) {
73
+ delete FEATURE_OVERRIDES[featureName];
74
+ } else {
75
+ FEATURE_OVERRIDES[featureName] = enabled;
76
+ }
77
+ }
78
+ function isFeatureEnabled(featureName) {
79
+ const config = getFeatureConfig(featureName);
80
+ if (!config) {
81
+ throw new Error(`Feature ${featureName} is not registered.`);
82
+ }
83
+ if (featureName in FEATURE_OVERRIDES) {
84
+ const enabled = FEATURE_OVERRIDES[featureName];
85
+ if (enabled && config.stage !== "stable" /* STABLE */) {
86
+ emitNonStableWarningOnce(featureName, config.stage);
87
+ }
88
+ return enabled;
89
+ }
90
+ const enableVar = `ADK_ENABLE_${featureName}`;
91
+ const disableVar = `ADK_DISABLE_${featureName}`;
92
+ if ((0, import_env_aware_utils.getBooleanEnvVar)(enableVar)) {
93
+ if (config.stage !== "stable" /* STABLE */) {
94
+ emitNonStableWarningOnce(featureName, config.stage);
95
+ }
96
+ return true;
97
+ }
98
+ if ((0, import_env_aware_utils.getBooleanEnvVar)(disableVar)) {
99
+ return false;
100
+ }
101
+ if (config.stage !== "stable" /* STABLE */ && config.defaultOn) {
102
+ emitNonStableWarningOnce(featureName, config.stage);
103
+ }
104
+ return config.defaultOn;
105
+ }
106
+ function emitNonStableWarningOnce(featureName, featureStage) {
107
+ if (!WARNED_FEATURES.has(featureName)) {
108
+ WARNED_FEATURES.add(featureName);
109
+ import_logger.logger.warn(
110
+ `[${featureStage.toUpperCase()}] feature ${featureName} is enabled.`
111
+ );
112
+ }
113
+ }
114
+ async function withTemporaryFeatureOverride(featureName, enabled, callback) {
115
+ const config = getFeatureConfig(featureName);
116
+ if (!config) {
117
+ throw new Error(`Feature ${featureName} is not registered.`);
118
+ }
119
+ const hadOverride = featureName in FEATURE_OVERRIDES;
120
+ const originalValue = FEATURE_OVERRIDES[featureName];
121
+ FEATURE_OVERRIDES[featureName] = enabled;
122
+ try {
123
+ return await callback();
124
+ } finally {
125
+ if (hadOverride) {
126
+ FEATURE_OVERRIDES[featureName] = originalValue;
127
+ } else {
128
+ delete FEATURE_OVERRIDES[featureName];
129
+ }
130
+ }
131
+ }
132
+ // Annotate the CommonJS export names for ESM import in node:
133
+ 0 && (module.exports = {
134
+ FeatureName,
135
+ FeatureStage,
136
+ getFeatureConfig,
137
+ isFeatureEnabled,
138
+ overrideFeatureEnabled,
139
+ registerFeature,
140
+ withTemporaryFeatureOverride
141
+ });