@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
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  var __defProp = Object.defineProperty;
2
4
  var __getOwnPropSymbols = Object.getOwnPropertySymbols;
3
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
@@ -102,6 +104,7 @@ import { ContextCompactorRequestProcessor } from "./processors/context_compactor
102
104
  import { IDENTITY_LLM_REQUEST_PROCESSOR } from "./processors/identity_llm_request_processor.js";
103
105
  import { INSTRUCTIONS_LLM_REQUEST_PROCESSOR } from "./processors/instructions_llm_request_processor.js";
104
106
  import { REQUEST_CONFIRMATION_LLM_REQUEST_PROCESSOR } from "./processors/request_confirmation_llm_request_processor.js";
107
+ import { TOOL_FILTER_REQUEST_PROCESSOR } from "./processors/tool_filter_request_processor.js";
105
108
  import { ReadonlyContext } from "./readonly_context.js";
106
109
  import { StreamingMode } from "./run_config.js";
107
110
  const ADK_AGENT_NAME_LABEL_KEY = "adk_agent_name";
@@ -143,7 +146,8 @@ class LlmAgent extends (_b = BaseAgent, _a = LLM_AGENT_SIGNATURE_SYMBOL, _b) {
143
146
  INSTRUCTIONS_LLM_REQUEST_PROCESSOR,
144
147
  REQUEST_CONFIRMATION_LLM_REQUEST_PROCESSOR,
145
148
  CONTENT_REQUEST_PROCESSOR,
146
- CODE_EXECUTION_REQUEST_PROCESSOR
149
+ CODE_EXECUTION_REQUEST_PROCESSOR,
150
+ TOOL_FILTER_REQUEST_PROCESSOR
147
151
  ];
148
152
  if (!config.requestProcessors && config.contextCompactors && config.contextCompactors.length > 0) {
149
153
  const contentIndex = this.requestProcessors.indexOf(
@@ -364,11 +368,15 @@ class LlmAgent extends (_b = BaseAgent, _a = LLM_AGENT_SIGNATURE_SYMBOL, _b) {
364
368
  }
365
369
  runAsyncImpl(context2) {
366
370
  return __asyncGenerator(this, null, function* () {
371
+ var _a2;
367
372
  while (true) {
368
373
  let lastEvent = void 0;
369
374
  try {
370
375
  for (var iter = __forAwait(this.runOneStepAsync(context2)), more, temp, error; more = !(temp = yield new __await(iter.next())).done; more = false) {
371
376
  const event = temp.value;
377
+ if ((_a2 = context2.abortSignal) == null ? void 0 : _a2.aborted) {
378
+ return;
379
+ }
372
380
  lastEvent = event;
373
381
  this.maybeSaveOutputToState(event);
374
382
  yield event;
@@ -395,9 +403,13 @@ class LlmAgent extends (_b = BaseAgent, _a = LLM_AGENT_SIGNATURE_SYMBOL, _b) {
395
403
  }
396
404
  runLiveImpl(context2) {
397
405
  return __asyncGenerator(this, null, function* () {
406
+ var _a2;
398
407
  try {
399
408
  for (var iter = __forAwait(this.runLiveFlow(context2)), more, temp, error; more = !(temp = yield new __await(iter.next())).done; more = false) {
400
409
  const event = temp.value;
410
+ if ((_a2 = context2.abortSignal) == null ? void 0 : _a2.aborted) {
411
+ return;
412
+ }
401
413
  this.maybeSaveOutputToState(event);
402
414
  yield event;
403
415
  }
@@ -428,6 +440,7 @@ class LlmAgent extends (_b = BaseAgent, _a = LLM_AGENT_SIGNATURE_SYMBOL, _b) {
428
440
  }
429
441
  runOneStepAsync(invocationContext) {
430
442
  return __asyncGenerator(this, null, function* () {
443
+ var _a2, _b2, _c;
431
444
  const llmRequest = {
432
445
  contents: [],
433
446
  toolsDict: {},
@@ -440,6 +453,9 @@ class LlmAgent extends (_b = BaseAgent, _a = LLM_AGENT_SIGNATURE_SYMBOL, _b) {
440
453
  llmRequest
441
454
  )), more, temp, error; more = !(temp = yield new __await(iter.next())).done; more = false) {
442
455
  const event = temp.value;
456
+ if ((_a2 = invocationContext.abortSignal) == null ? void 0 : _a2.aborted) {
457
+ return;
458
+ }
443
459
  yield event;
444
460
  }
445
461
  } catch (temp) {
@@ -455,15 +471,20 @@ class LlmAgent extends (_b = BaseAgent, _a = LLM_AGENT_SIGNATURE_SYMBOL, _b) {
455
471
  }
456
472
  for (const toolUnion of this.tools) {
457
473
  const toolContext = new Context({ invocationContext });
458
- const tools = yield new __await(convertToolUnionToTools(
474
+ const tools = (yield new __await(convertToolUnionToTools(
459
475
  toolUnion,
460
476
  new ReadonlyContext(invocationContext)
461
- ));
477
+ ))).filter((tool) => {
478
+ return !llmRequest.allowedTools || llmRequest.allowedTools.includes(tool.name);
479
+ });
462
480
  for (const tool of tools) {
463
481
  yield new __await(tool.processLlmRequest({ toolContext, llmRequest }));
482
+ if ((_b2 = invocationContext.abortSignal) == null ? void 0 : _b2.aborted) {
483
+ return;
484
+ }
464
485
  }
465
486
  }
466
- if (invocationContext.endInvocation) {
487
+ if (invocationContext.endInvocation || ((_c = invocationContext.abortSignal) == null ? void 0 : _c.aborted)) {
467
488
  return;
468
489
  }
469
490
  const modelResponseEvent = createEvent({
@@ -480,6 +501,7 @@ class LlmAgent extends (_b = BaseAgent, _a = LLM_AGENT_SIGNATURE_SYMBOL, _b) {
480
501
  return __asyncGenerator(this, null, function* () {
481
502
  const responsesGenerator = function() {
482
503
  return __asyncGenerator(this, null, function* () {
504
+ var _a3, _b3;
483
505
  try {
484
506
  for (var iter3 = __forAwait(this.callLlmAsync(
485
507
  invocationContext,
@@ -487,6 +509,9 @@ class LlmAgent extends (_b = BaseAgent, _a = LLM_AGENT_SIGNATURE_SYMBOL, _b) {
487
509
  modelResponseEvent
488
510
  )), more3, temp3, error3; more3 = !(temp3 = yield new __await(iter3.next())).done; more3 = false) {
489
511
  const llmResponse = temp3.value;
512
+ if ((_a3 = invocationContext.abortSignal) == null ? void 0 : _a3.aborted) {
513
+ return;
514
+ }
490
515
  try {
491
516
  for (var iter2 = __forAwait(this.postprocess(
492
517
  invocationContext,
@@ -495,6 +520,9 @@ class LlmAgent extends (_b = BaseAgent, _a = LLM_AGENT_SIGNATURE_SYMBOL, _b) {
495
520
  modelResponseEvent
496
521
  )), more2, temp2, error2; more2 = !(temp2 = yield new __await(iter2.next())).done; more2 = false) {
497
522
  const event = temp2.value;
523
+ if ((_b3 = invocationContext.abortSignal) == null ? void 0 : _b3.aborted) {
524
+ return;
525
+ }
498
526
  modelResponseEvent.id = createNewEventId();
499
527
  modelResponseEvent.timestamp = (/* @__PURE__ */ new Date()).getTime();
500
528
  yield event;
@@ -536,7 +564,7 @@ class LlmAgent extends (_b = BaseAgent, _a = LLM_AGENT_SIGNATURE_SYMBOL, _b) {
536
564
  }
537
565
  postprocess(invocationContext, llmRequest, llmResponse, modelResponseEvent) {
538
566
  return __asyncGenerator(this, null, function* () {
539
- var _a2, _b2;
567
+ var _a2, _b2, _c, _d, _e;
540
568
  for (const processor of this.responseProcessors) {
541
569
  try {
542
570
  for (var iter = __forAwait(processor.runAsync(
@@ -544,6 +572,9 @@ class LlmAgent extends (_b = BaseAgent, _a = LLM_AGENT_SIGNATURE_SYMBOL, _b) {
544
572
  llmResponse
545
573
  )), more, temp, error; more = !(temp = yield new __await(iter.next())).done; more = false) {
546
574
  const event = temp.value;
575
+ if ((_a2 = invocationContext.abortSignal) == null ? void 0 : _a2.aborted) {
576
+ return;
577
+ }
547
578
  yield event;
548
579
  }
549
580
  } catch (temp) {
@@ -571,10 +602,10 @@ class LlmAgent extends (_b = BaseAgent, _a = LLM_AGENT_SIGNATURE_SYMBOL, _b) {
571
602
  }
572
603
  }
573
604
  yield mergedEvent;
574
- if (!((_a2 = getFunctionCalls(mergedEvent)) == null ? void 0 : _a2.length)) {
605
+ if (!((_b2 = getFunctionCalls(mergedEvent)) == null ? void 0 : _b2.length)) {
575
606
  return;
576
607
  }
577
- if ((_b2 = invocationContext.runConfig) == null ? void 0 : _b2.pauseOnToolCalls) {
608
+ if ((_c = invocationContext.runConfig) == null ? void 0 : _c.pauseOnToolCalls) {
578
609
  invocationContext.endInvocation = true;
579
610
  return;
580
611
  }
@@ -585,7 +616,7 @@ class LlmAgent extends (_b = BaseAgent, _a = LLM_AGENT_SIGNATURE_SYMBOL, _b) {
585
616
  beforeToolCallbacks: this.canonicalBeforeToolCallbacks,
586
617
  afterToolCallbacks: this.canonicalAfterToolCallbacks
587
618
  }));
588
- if (!functionResponseEvent) {
619
+ if (!functionResponseEvent || ((_d = invocationContext.abortSignal) == null ? void 0 : _d.aborted)) {
589
620
  return;
590
621
  }
591
622
  const authEvent = generateAuthEvent(
@@ -612,6 +643,9 @@ class LlmAgent extends (_b = BaseAgent, _a = LLM_AGENT_SIGNATURE_SYMBOL, _b) {
612
643
  try {
613
644
  for (var iter2 = __forAwait(nextAgent.runAsync(invocationContext)), more2, temp2, error2; more2 = !(temp2 = yield new __await(iter2.next())).done; more2 = false) {
614
645
  const event = temp2.value;
646
+ if ((_e = invocationContext.abortSignal) == null ? void 0 : _e.aborted) {
647
+ return;
648
+ }
615
649
  yield event;
616
650
  }
617
651
  } catch (temp2) {
@@ -649,30 +683,34 @@ class LlmAgent extends (_b = BaseAgent, _a = LLM_AGENT_SIGNATURE_SYMBOL, _b) {
649
683
  }
650
684
  callLlmAsync(invocationContext, llmRequest, modelResponseEvent) {
651
685
  return __asyncGenerator(this, null, function* () {
652
- var _a2, _b2, _c, _d, _e;
686
+ var _a2, _b2, _c, _d, _e, _f, _g, _h;
653
687
  const beforeModelResponse = yield new __await(this.handleBeforeModelCallback(
654
688
  invocationContext,
655
689
  llmRequest,
656
690
  modelResponseEvent
657
691
  ));
692
+ if ((_a2 = invocationContext.abortSignal) == null ? void 0 : _a2.aborted) {
693
+ return;
694
+ }
658
695
  if (beforeModelResponse) {
659
696
  yield beforeModelResponse;
660
697
  return;
661
698
  }
662
- (_a2 = llmRequest.config) != null ? _a2 : llmRequest.config = {};
663
- (_c = (_b2 = llmRequest.config).labels) != null ? _c : _b2.labels = {};
699
+ (_b2 = llmRequest.config) != null ? _b2 : llmRequest.config = {};
700
+ (_d = (_c = llmRequest.config).labels) != null ? _d : _c.labels = {};
664
701
  if (!llmRequest.config.labels[ADK_AGENT_NAME_LABEL_KEY]) {
665
702
  llmRequest.config.labels[ADK_AGENT_NAME_LABEL_KEY] = this.name;
666
703
  }
667
704
  const llm = this.canonicalModel;
668
- if ((_d = invocationContext.runConfig) == null ? void 0 : _d.supportCfc) {
705
+ if ((_e = invocationContext.runConfig) == null ? void 0 : _e.supportCfc) {
669
706
  throw new Error("CFC is not yet supported in callLlmAsync");
670
707
  } else {
671
708
  invocationContext.incrementLlmCallCount();
672
709
  const responsesGenerator = llm.generateContentAsync(
673
710
  llmRequest,
674
711
  /* stream= */
675
- ((_e = invocationContext.runConfig) == null ? void 0 : _e.streamingMode) === StreamingMode.SSE
712
+ ((_f = invocationContext.runConfig) == null ? void 0 : _f.streamingMode) === StreamingMode.SSE,
713
+ invocationContext.abortSignal
676
714
  );
677
715
  try {
678
716
  for (var iter = __forAwait(responsesGenerator), more, temp, error; more = !(temp = yield new __await(iter.next())).done; more = false) {
@@ -683,11 +721,17 @@ class LlmAgent extends (_b = BaseAgent, _a = LLM_AGENT_SIGNATURE_SYMBOL, _b) {
683
721
  llmRequest,
684
722
  llmResponse
685
723
  });
724
+ if ((_g = invocationContext.abortSignal) == null ? void 0 : _g.aborted) {
725
+ return;
726
+ }
686
727
  const alteredLlmResponse = yield new __await(this.handleAfterModelCallback(
687
728
  invocationContext,
688
729
  llmResponse,
689
730
  modelResponseEvent
690
731
  ));
732
+ if ((_h = invocationContext.abortSignal) == null ? void 0 : _h.aborted) {
733
+ return;
734
+ }
691
735
  yield alteredLlmResponse != null ? alteredLlmResponse : llmResponse;
692
736
  }
693
737
  } catch (temp) {
@@ -704,6 +748,7 @@ class LlmAgent extends (_b = BaseAgent, _a = LLM_AGENT_SIGNATURE_SYMBOL, _b) {
704
748
  });
705
749
  }
706
750
  async handleBeforeModelCallback(invocationContext, llmRequest, modelResponseEvent) {
751
+ var _a2, _b2;
707
752
  const callbackContext = new Context({
708
753
  invocationContext,
709
754
  eventActions: modelResponseEvent.actions
@@ -712,6 +757,9 @@ class LlmAgent extends (_b = BaseAgent, _a = LLM_AGENT_SIGNATURE_SYMBOL, _b) {
712
757
  callbackContext,
713
758
  llmRequest
714
759
  });
760
+ if ((_a2 = invocationContext.abortSignal) == null ? void 0 : _a2.aborted) {
761
+ return;
762
+ }
715
763
  if (beforeModelCallbackResponse) {
716
764
  return beforeModelCallbackResponse;
717
765
  }
@@ -720,6 +768,9 @@ class LlmAgent extends (_b = BaseAgent, _a = LLM_AGENT_SIGNATURE_SYMBOL, _b) {
720
768
  context: callbackContext,
721
769
  request: llmRequest
722
770
  });
771
+ if ((_b2 = invocationContext.abortSignal) == null ? void 0 : _b2.aborted) {
772
+ return;
773
+ }
723
774
  if (callbackResponse) {
724
775
  return callbackResponse;
725
776
  }
@@ -727,6 +778,7 @@ class LlmAgent extends (_b = BaseAgent, _a = LLM_AGENT_SIGNATURE_SYMBOL, _b) {
727
778
  return void 0;
728
779
  }
729
780
  async handleAfterModelCallback(invocationContext, llmResponse, modelResponseEvent) {
781
+ var _a2;
730
782
  const callbackContext = new Context({
731
783
  invocationContext,
732
784
  eventActions: modelResponseEvent.actions
@@ -743,6 +795,9 @@ class LlmAgent extends (_b = BaseAgent, _a = LLM_AGENT_SIGNATURE_SYMBOL, _b) {
743
795
  context: callbackContext,
744
796
  response: llmResponse
745
797
  });
798
+ if ((_a2 = invocationContext.abortSignal) == null ? void 0 : _a2.aborted) {
799
+ return;
800
+ }
746
801
  if (callbackResponse) {
747
802
  return callbackResponse;
748
803
  }
@@ -751,10 +806,14 @@ class LlmAgent extends (_b = BaseAgent, _a = LLM_AGENT_SIGNATURE_SYMBOL, _b) {
751
806
  }
752
807
  runAndHandleError(responseGenerator, invocationContext, llmRequest, modelResponseEvent) {
753
808
  return __asyncGenerator(this, null, function* () {
809
+ var _a2;
754
810
  try {
755
811
  try {
756
812
  for (var iter = __forAwait(responseGenerator), more, temp, error; more = !(temp = yield new __await(iter.next())).done; more = false) {
757
813
  const response = temp.value;
814
+ if ((_a2 = invocationContext.abortSignal) == null ? void 0 : _a2.aborted) {
815
+ return;
816
+ }
758
817
  yield response;
759
818
  }
760
819
  } catch (temp) {
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
2
4
  var __await = function(promise, isYieldStar) {
3
5
  this[0] = promise;
@@ -38,6 +40,7 @@ class LoopAgent extends (_b = BaseAgent, _a = LOOP_AGENT_SIGNATURE_SYMBOL, _b) {
38
40
  }
39
41
  runAsyncImpl(context) {
40
42
  return __asyncGenerator(this, null, function* () {
43
+ var _a2;
41
44
  let iteration = 0;
42
45
  while (iteration < this.maxIterations) {
43
46
  for (const subAgent of this.subAgents) {
@@ -45,6 +48,9 @@ class LoopAgent extends (_b = BaseAgent, _a = LOOP_AGENT_SIGNATURE_SYMBOL, _b) {
45
48
  try {
46
49
  for (var iter = __forAwait(subAgent.runAsync(context)), more, temp, error; more = !(temp = yield new __await(iter.next())).done; more = false) {
47
50
  const event = temp.value;
51
+ if ((_a2 = context.abortSignal) == null ? void 0 : _a2.aborted) {
52
+ return;
53
+ }
48
54
  yield event;
49
55
  if (event.actions.escalate) {
50
56
  shouldExit = true;
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
2
4
  var __await = function(promise, isYieldStar) {
3
5
  this[0] = promise;
@@ -37,12 +39,16 @@ class ParallelAgent extends (_b = BaseAgent, _a = PARALLEL_AGENT_SIGNATURE_SYMBO
37
39
  }
38
40
  runAsyncImpl(context) {
39
41
  return __asyncGenerator(this, null, function* () {
42
+ var _a2;
40
43
  const agentRuns = this.subAgents.map(
41
44
  (subAgent) => subAgent.runAsync(createBranchCtxForSubAgent(this, subAgent, context))
42
45
  );
43
46
  try {
44
47
  for (var iter = __forAwait(mergeAgentRuns(agentRuns)), more, temp, error; more = !(temp = yield new __await(iter.next())).done; more = false) {
45
48
  const event = temp.value;
49
+ if ((_a2 = context.abortSignal) == null ? void 0 : _a2.aborted) {
50
+ return;
51
+ }
46
52
  yield event;
47
53
  }
48
54
  } catch (temp) {
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
2
4
  var __await = function(promise, isYieldStar) {
3
5
  this[0] = promise;
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  /**
2
4
  * @license
3
5
  * Copyright 2025 Google LLC
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  var __defProp = Object.defineProperty;
2
4
  var __getOwnPropSymbols = Object.getOwnPropertySymbols;
3
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
2
4
  var __await = function(promise, isYieldStar) {
3
5
  this[0] = promise;
@@ -26,6 +28,7 @@ import { isBuiltInCodeExecutor } from "../../code_executors/built_in_code_execut
26
28
  import {
27
29
  buildCodeExecutionResultPart,
28
30
  buildExecutableCodePart,
31
+ CodeExecutionLanguage,
29
32
  convertCodeExecutionParts,
30
33
  extractCodeAndTruncateContent
31
34
  } from "../../code_executors/code_execution_utils.js";
@@ -178,6 +181,7 @@ function runPreProcessor(invocationContext, llmRequest) {
178
181
  invocationContext,
179
182
  codeExecutionInput: {
180
183
  code: codeStr,
184
+ language: CodeExecutionLanguage.PYTHON,
181
185
  inputFiles: [file],
182
186
  executionId
183
187
  }
@@ -243,6 +247,7 @@ function runPostProcessor(invocationContext, llmResponse) {
243
247
  invocationContext,
244
248
  codeExecutionInput: {
245
249
  code: codeStr,
250
+ language: CodeExecutionLanguage.PYTHON,
246
251
  inputFiles: codeExecutorContext.getInputFiles(),
247
252
  executionId
248
253
  }
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  /**
2
4
  * @license
3
5
  * Copyright 2025 Google LLC
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
2
4
  var __await = function(promise, isYieldStar) {
3
5
  this[0] = promise;
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
2
4
  var __await = function(promise, isYieldStar) {
3
5
  this[0] = promise;
@@ -19,6 +21,7 @@ var __asyncGenerator = (__this, __arguments, generator) => {
19
21
  * Copyright 2026 Google LLC
20
22
  * SPDX-License-Identifier: Apache-2.0
21
23
  */
24
+ import { ContextCompactionTrigger } from "../../plugins/base_plugin.js";
22
25
  class ContextCompactorRequestProcessor {
23
26
  constructor(compactors) {
24
27
  this.compactors = compactors;
@@ -30,8 +33,16 @@ class ContextCompactorRequestProcessor {
30
33
  compactor.shouldCompact(invocationContext)
31
34
  ));
32
35
  if (shouldCompact) {
36
+ yield new __await(invocationContext.pluginManager.runBeforeContextCompaction({
37
+ invocationContext,
38
+ trigger: ContextCompactionTrigger.Auto
39
+ }));
33
40
  const oldEvents = new Set(invocationContext.session.events);
34
41
  yield new __await(Promise.resolve(compactor.compact(invocationContext)));
42
+ yield new __await(invocationContext.pluginManager.runAfterContextCompaction({
43
+ invocationContext,
44
+ trigger: ContextCompactionTrigger.Auto
45
+ }));
35
46
  const newEvents = invocationContext.session.events.filter(
36
47
  (e) => !oldEvents.has(e)
37
48
  );
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
2
4
  var __await = function(promise, isYieldStar) {
3
5
  this[0] = promise;
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
2
4
  var __await = function(promise, isYieldStar) {
3
5
  this[0] = promise;
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
2
4
  var __await = function(promise, isYieldStar) {
3
5
  this[0] = promise;
@@ -0,0 +1,62 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
3
+ var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
4
+ var __await = function(promise, isYieldStar) {
5
+ this[0] = promise;
6
+ this[1] = isYieldStar;
7
+ };
8
+ var __asyncGenerator = (__this, __arguments, generator) => {
9
+ var resume = (k, v, yes, no) => {
10
+ try {
11
+ var x = generator[k](v), isAwait = (v = x.value) instanceof __await, done = x.done;
12
+ Promise.resolve(isAwait ? v[0] : v).then((y) => isAwait ? resume(k === "return" ? k : "next", v[1] ? { done: y.done, value: y.value } : y, yes, no) : yes({ value: y, done })).catch((e) => resume("throw", e, yes, no));
13
+ } catch (e) {
14
+ no(e);
15
+ }
16
+ }, method = (k) => it[k] = (x) => new Promise((yes, no) => resume(k, x, yes, no)), it = {};
17
+ return generator = generator.apply(__this, __arguments), it[__knownSymbol("asyncIterator")] = () => it, method("next"), method("throw"), method("return"), it;
18
+ };
19
+ /**
20
+ * @license
21
+ * Copyright 2025 Google LLC
22
+ * SPDX-License-Identifier: Apache-2.0
23
+ */
24
+ import { Context } from "../context.js";
25
+ import { isLlmAgent } from "../llm_agent.js";
26
+ import { ReadonlyContext } from "../readonly_context.js";
27
+ import { BaseLlmRequestProcessor } from "./base_llm_processor.js";
28
+ class ToolFilterRequestProcessor extends BaseLlmRequestProcessor {
29
+ /** Filters the set of tools on the request based on plugins. */
30
+ // eslint-disable-next-line require-yield
31
+ runAsync(invocationContext, llmRequest) {
32
+ return __asyncGenerator(this, null, function* () {
33
+ const agent = invocationContext.agent;
34
+ if (!isLlmAgent(agent)) {
35
+ return;
36
+ }
37
+ const toolsList = yield new __await(agent.canonicalTools(
38
+ new ReadonlyContext(invocationContext)
39
+ ));
40
+ if (toolsList.length === 0) {
41
+ return;
42
+ }
43
+ const toolsDict = {};
44
+ for (const tool of toolsList) {
45
+ toolsDict[tool.name] = tool;
46
+ }
47
+ const callbackContext = new Context({ invocationContext });
48
+ const filteredTools = yield new __await(invocationContext.pluginManager.runBeforeToolSelection({
49
+ callbackContext,
50
+ tools: toolsDict
51
+ }));
52
+ if (filteredTools !== void 0) {
53
+ llmRequest.allowedTools = Object.keys(filteredTools);
54
+ }
55
+ });
56
+ }
57
+ }
58
+ const TOOL_FILTER_REQUEST_PROCESSOR = new ToolFilterRequestProcessor();
59
+ export {
60
+ TOOL_FILTER_REQUEST_PROCESSOR,
61
+ ToolFilterRequestProcessor
62
+ };
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  /**
2
4
  * @license
3
5
  * Copyright 2025 Google LLC
@@ -0,0 +1,138 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
3
+ var __defProp = Object.defineProperty;
4
+ var __defProps = Object.defineProperties;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
7
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
8
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
9
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
10
+ var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
11
+ var __typeError = (msg) => {
12
+ throw TypeError(msg);
13
+ };
14
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
15
+ var __spreadValues = (a, b) => {
16
+ for (var prop in b || (b = {}))
17
+ if (__hasOwnProp.call(b, prop))
18
+ __defNormalProp(a, prop, b[prop]);
19
+ if (__getOwnPropSymbols)
20
+ for (var prop of __getOwnPropSymbols(b)) {
21
+ if (__propIsEnum.call(b, prop))
22
+ __defNormalProp(a, prop, b[prop]);
23
+ }
24
+ return a;
25
+ };
26
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
27
+ var __decorateClass = (decorators, target, key, kind) => {
28
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
29
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
30
+ if (decorator = decorators[i])
31
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
32
+ if (kind && result) __defProp(target, key, result);
33
+ return result;
34
+ };
35
+ var __await = function(promise, isYieldStar) {
36
+ this[0] = promise;
37
+ this[1] = isYieldStar;
38
+ };
39
+ var __asyncGenerator = (__this, __arguments, generator) => {
40
+ var resume = (k, v, yes, no) => {
41
+ try {
42
+ var x = generator[k](v), isAwait = (v = x.value) instanceof __await, done = x.done;
43
+ Promise.resolve(isAwait ? v[0] : v).then((y) => isAwait ? resume(k === "return" ? k : "next", v[1] ? { done: y.done, value: y.value } : y, yes, no) : yes({ value: y, done })).catch((e) => resume("throw", e, yes, no));
44
+ } catch (e) {
45
+ no(e);
46
+ }
47
+ }, method = (k) => it[k] = (x) => new Promise((yes, no) => resume(k, x, yes, no)), it = {};
48
+ return generator = generator.apply(__this, __arguments), it[__knownSymbol("asyncIterator")] = () => it, method("next"), method("throw"), method("return"), it;
49
+ };
50
+ var __yieldStar = (value) => {
51
+ var obj = value[__knownSymbol("asyncIterator")], isAwait = false, method, it = {};
52
+ if (obj == null) {
53
+ obj = value[__knownSymbol("iterator")]();
54
+ method = (k) => it[k] = (x) => obj[k](x);
55
+ } else {
56
+ obj = obj.call(value);
57
+ method = (k) => it[k] = (v) => {
58
+ if (isAwait) {
59
+ isAwait = false;
60
+ if (k === "throw") throw v;
61
+ return v;
62
+ }
63
+ isAwait = true;
64
+ return {
65
+ done: false,
66
+ value: new __await(new Promise((resolve) => {
67
+ var x = obj[k](v);
68
+ if (!(x instanceof Object)) __typeError("Object expected");
69
+ resolve(x);
70
+ }), 1)
71
+ };
72
+ };
73
+ }
74
+ return it[__knownSymbol("iterator")] = () => it, method("next"), "throw" in obj ? method("throw") : it.throw = (x) => {
75
+ throw x;
76
+ }, "return" in obj && method("return"), it;
77
+ };
78
+ /**
79
+ * @license
80
+ * Copyright 2026 Google LLC
81
+ * SPDX-License-Identifier: Apache-2.0
82
+ */
83
+ var _a, _b;
84
+ import { BaseAgent } from "./base_agent.js";
85
+ import { experimental } from "../utils/experimental.js";
86
+ import { runWithRouting } from "../utils/failover_utils.js";
87
+ const ROUTED_AGENT_SIGNATURE_SYMBOL = Symbol.for("google.adk.routedAgent");
88
+ function isRoutedAgent(obj) {
89
+ return typeof obj === "object" && obj !== null && ROUTED_AGENT_SIGNATURE_SYMBOL in obj && obj[ROUTED_AGENT_SIGNATURE_SYMBOL] === true;
90
+ }
91
+ let RoutedAgent = class extends (_b = BaseAgent, _a = ROUTED_AGENT_SIGNATURE_SYMBOL, _b) {
92
+ constructor(config) {
93
+ const agentsArray = Array.isArray(config.agents) ? config.agents : Object.values(config.agents);
94
+ super(__spreadProps(__spreadValues({}, config), {
95
+ subAgents: agentsArray
96
+ }));
97
+ this[_a] = true;
98
+ if (Array.isArray(config.agents)) {
99
+ this.agents = Object.fromEntries(config.agents.map((a) => [a.name, a]));
100
+ } else {
101
+ this.agents = config.agents;
102
+ }
103
+ this.router = config.router;
104
+ }
105
+ /**
106
+ * Runs the selected agent via text-based conversation.
107
+ */
108
+ runAsyncImpl(context) {
109
+ return __asyncGenerator(this, null, function* () {
110
+ yield* __yieldStar(runWithRouting(
111
+ this.agents,
112
+ context,
113
+ this.router,
114
+ (agent) => agent.runAsync(context)
115
+ ));
116
+ });
117
+ }
118
+ /**
119
+ * Runs the selected agent via video/audio-based conversation.
120
+ */
121
+ runLiveImpl(context) {
122
+ return __asyncGenerator(this, null, function* () {
123
+ yield* __yieldStar(runWithRouting(
124
+ this.agents,
125
+ context,
126
+ this.router,
127
+ (agent) => agent.runLive(context)
128
+ ));
129
+ });
130
+ }
131
+ };
132
+ RoutedAgent = __decorateClass([
133
+ experimental
134
+ ], RoutedAgent);
135
+ export {
136
+ RoutedAgent,
137
+ isRoutedAgent
138
+ };
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  var __defProp = Object.defineProperty;
2
4
  var __getOwnPropSymbols = Object.getOwnPropertySymbols;
3
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
2
4
  var __await = function(promise, isYieldStar) {
3
5
  this[0] = promise;