@google/adk 0.6.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (406) hide show
  1. package/dist/cjs/a2a/a2a_remote_agent.js +18 -13
  2. package/dist/cjs/a2a/a2a_remote_agent_run_processor.js +7 -0
  3. package/dist/cjs/agents/base_agent.js +11 -2
  4. package/dist/cjs/agents/context.js +1 -0
  5. package/dist/cjs/agents/functions.js +1 -0
  6. package/dist/cjs/agents/invocation_context.js +1 -0
  7. package/dist/cjs/agents/llm_agent.js +70 -13
  8. package/dist/cjs/agents/loop_agent.js +4 -0
  9. package/dist/cjs/agents/parallel_agent.js +4 -0
  10. package/dist/cjs/agents/processors/code_execution_request_processor.js +2 -0
  11. package/dist/cjs/agents/processors/context_compactor_request_processor.js +9 -0
  12. package/dist/cjs/agents/processors/tool_filter_request_processor.js +73 -0
  13. package/dist/cjs/agents/routed_agent.js +97 -0
  14. package/dist/cjs/auth/auth_handler.js +66 -1
  15. package/dist/cjs/auth/auth_preprocessor.js +178 -0
  16. package/dist/cjs/auth/auth_provider_registry.js +61 -0
  17. package/dist/cjs/auth/base_auth_provider.js +27 -0
  18. package/dist/cjs/auth/credential_service/session_state_credential_service.js +51 -0
  19. package/dist/cjs/auth/oauth2/oauth2_credential_exchanger.js +198 -0
  20. package/dist/cjs/auth/oauth2/oauth2_credential_refresher.js +109 -0
  21. package/dist/cjs/auth/oauth2/oauth2_discovery.js +186 -0
  22. package/dist/cjs/auth/oauth2/oauth2_utils.js +119 -0
  23. package/dist/cjs/auth/refresher/base_credential_refresher.js +44 -0
  24. package/dist/cjs/auth/refresher/credential_refresher_registry.js +68 -0
  25. package/dist/cjs/code_executors/base_code_executor.js +9 -5
  26. package/dist/cjs/code_executors/code_execution_utils.js +19 -0
  27. package/dist/cjs/code_executors/unsafe_local_code_executor.js +241 -0
  28. package/dist/cjs/common.js +61 -0
  29. package/dist/cjs/features/feature_registry.js +141 -0
  30. package/dist/cjs/index.js +32 -20
  31. package/dist/cjs/index.js.map +4 -4
  32. package/dist/cjs/models/apigee_llm.js +2 -2
  33. package/dist/cjs/models/google_llm.js +18 -53
  34. package/dist/cjs/models/routed_llm.js +99 -0
  35. package/dist/cjs/plugins/base_plugin.js +39 -2
  36. package/dist/cjs/plugins/plugin_manager.js +39 -0
  37. package/dist/cjs/runner/runner.js +31 -3
  38. package/dist/cjs/sessions/db/operations.js +3 -10
  39. package/dist/cjs/skills/loader.js +283 -0
  40. package/dist/cjs/skills/prompt.js +58 -0
  41. package/dist/cjs/skills/skill.js +78 -0
  42. package/dist/cjs/tools/agent_tool.js +10 -3
  43. package/dist/cjs/tools/mcp/mcp_tool.js +4 -1
  44. package/dist/cjs/tools/skill/list_skills_tool.js +76 -0
  45. package/dist/cjs/tools/skill/load_skill_resource_tool.js +225 -0
  46. package/dist/cjs/tools/skill/load_skill_tool.js +108 -0
  47. package/dist/cjs/tools/skill/run_skill_inline_script_tool.js +146 -0
  48. package/dist/cjs/tools/skill/run_skill_script_tool.js +224 -0
  49. package/dist/cjs/tools/skill/skill_toolset.js +163 -0
  50. package/dist/cjs/utils/experimental.js +74 -0
  51. package/dist/cjs/utils/failover_utils.js +93 -0
  52. package/dist/cjs/utils/file_extension_utils.js +77 -0
  53. package/dist/cjs/utils/file_utils.js +94 -0
  54. package/dist/cjs/utils/gemini_schema_util.js +54 -12
  55. package/dist/cjs/utils/streaming_utils.js +333 -0
  56. package/dist/cjs/version.js +1 -1
  57. package/dist/esm/a2a/a2a_event.js +2 -0
  58. package/dist/esm/a2a/a2a_remote_agent.js +20 -13
  59. package/dist/esm/a2a/a2a_remote_agent_run_processor.js +9 -0
  60. package/dist/esm/a2a/a2a_remote_agent_utils.js +2 -0
  61. package/dist/esm/a2a/agent_card.js +2 -0
  62. package/dist/esm/a2a/agent_executor.js +2 -0
  63. package/dist/esm/a2a/agent_to_a2a.js +2 -0
  64. package/dist/esm/a2a/event_converter_utils.js +2 -0
  65. package/dist/esm/a2a/event_processor_utils.js +2 -0
  66. package/dist/esm/a2a/executor_context.js +2 -0
  67. package/dist/esm/a2a/metadata_converter_utils.js +2 -0
  68. package/dist/esm/a2a/part_converter_utils.js +2 -0
  69. package/dist/esm/agents/active_streaming_tool.js +2 -0
  70. package/dist/esm/agents/base_agent.js +13 -2
  71. package/dist/esm/agents/context.js +3 -0
  72. package/dist/esm/agents/functions.js +3 -0
  73. package/dist/esm/agents/instructions.js +2 -0
  74. package/dist/esm/agents/invocation_context.js +3 -0
  75. package/dist/esm/agents/live_request_queue.js +2 -0
  76. package/dist/esm/agents/llm_agent.js +72 -13
  77. package/dist/esm/agents/loop_agent.js +6 -0
  78. package/dist/esm/agents/parallel_agent.js +6 -0
  79. package/dist/esm/agents/processors/agent_transfer_llm_request_processor.js +2 -0
  80. package/dist/esm/agents/processors/base_llm_processor.js +2 -0
  81. package/dist/esm/agents/processors/basic_llm_request_processor.js +2 -0
  82. package/dist/esm/agents/processors/code_execution_request_processor.js +5 -0
  83. package/dist/esm/agents/processors/content_processor_utils.js +2 -0
  84. package/dist/esm/agents/processors/content_request_processor.js +2 -0
  85. package/dist/esm/agents/processors/context_compactor_request_processor.js +11 -0
  86. package/dist/esm/agents/processors/identity_llm_request_processor.js +2 -0
  87. package/dist/esm/agents/processors/instructions_llm_request_processor.js +2 -0
  88. package/dist/esm/agents/processors/request_confirmation_llm_request_processor.js +2 -0
  89. package/dist/esm/agents/processors/tool_filter_request_processor.js +44 -0
  90. package/dist/esm/agents/readonly_context.js +2 -0
  91. package/dist/esm/agents/routed_agent.js +70 -0
  92. package/dist/esm/agents/run_config.js +2 -0
  93. package/dist/esm/agents/sequential_agent.js +2 -0
  94. package/dist/esm/agents/transcription_entry.js +2 -0
  95. package/dist/esm/artifacts/base_artifact_service.js +2 -0
  96. package/dist/esm/artifacts/file_artifact_service.js +2 -0
  97. package/dist/esm/artifacts/gcs_artifact_service.js +2 -0
  98. package/dist/esm/artifacts/in_memory_artifact_service.js +2 -0
  99. package/dist/esm/artifacts/registry.js +2 -0
  100. package/dist/esm/auth/auth_credential.js +2 -0
  101. package/dist/esm/auth/auth_handler.js +68 -1
  102. package/dist/esm/auth/auth_preprocessor.js +155 -0
  103. package/dist/esm/auth/auth_provider_registry.js +33 -0
  104. package/dist/esm/auth/auth_schemes.js +2 -0
  105. package/dist/esm/auth/auth_tool.js +2 -0
  106. package/dist/esm/auth/base_auth_provider.js +7 -0
  107. package/dist/esm/auth/credential_service/base_credential_service.js +2 -0
  108. package/dist/esm/auth/credential_service/in_memory_credential_service.js +2 -0
  109. package/dist/esm/auth/credential_service/session_state_credential_service.js +23 -0
  110. package/dist/esm/auth/exchanger/base_credential_exchanger.js +2 -0
  111. package/dist/esm/auth/exchanger/credential_exchanger_registry.js +2 -0
  112. package/dist/esm/auth/oauth2/oauth2_credential_exchanger.js +177 -0
  113. package/dist/esm/auth/oauth2/oauth2_credential_refresher.js +85 -0
  114. package/dist/esm/auth/oauth2/oauth2_discovery.js +156 -0
  115. package/dist/esm/auth/oauth2/oauth2_utils.js +87 -0
  116. package/dist/esm/auth/refresher/base_credential_refresher.js +16 -0
  117. package/dist/esm/auth/refresher/credential_refresher_registry.js +40 -0
  118. package/dist/esm/code_executors/base_code_executor.js +11 -5
  119. package/dist/esm/code_executors/built_in_code_executor.js +2 -0
  120. package/dist/esm/code_executors/code_execution_utils.js +19 -0
  121. package/dist/esm/code_executors/code_executor_context.js +2 -0
  122. package/dist/esm/code_executors/unsafe_local_code_executor.js +205 -0
  123. package/dist/esm/common.js +47 -3
  124. package/dist/esm/context/base_context_compactor.js +2 -0
  125. package/dist/esm/context/summarizers/base_summarizer.js +2 -0
  126. package/dist/esm/context/summarizers/llm_summarizer.js +2 -0
  127. package/dist/esm/context/token_based_context_compactor.js +2 -0
  128. package/dist/esm/context/truncating_context_compactor.js +2 -0
  129. package/dist/esm/events/compacted_event.js +2 -0
  130. package/dist/esm/events/event.js +2 -0
  131. package/dist/esm/events/event_actions.js +2 -0
  132. package/dist/esm/events/structured_events.js +2 -0
  133. package/dist/esm/examples/base_example_provider.js +2 -0
  134. package/dist/esm/examples/example.js +2 -0
  135. package/dist/esm/examples/example_util.js +2 -0
  136. package/dist/esm/features/feature_registry.js +107 -0
  137. package/dist/esm/index.js +34 -21
  138. package/dist/esm/index.js.map +4 -4
  139. package/dist/esm/index_web.js +2 -0
  140. package/dist/esm/memory/base_memory_service.js +2 -0
  141. package/dist/esm/memory/in_memory_memory_service.js +2 -0
  142. package/dist/esm/memory/memory_entry.js +2 -0
  143. package/dist/esm/models/apigee_llm.js +4 -2
  144. package/dist/esm/models/base_llm.js +2 -0
  145. package/dist/esm/models/base_llm_connection.js +2 -0
  146. package/dist/esm/models/gemini_llm_connection.js +2 -0
  147. package/dist/esm/models/google_llm.js +20 -54
  148. package/dist/esm/models/llm_request.js +2 -0
  149. package/dist/esm/models/llm_response.js +2 -0
  150. package/dist/esm/models/registry.js +2 -0
  151. package/dist/esm/models/routed_llm.js +73 -0
  152. package/dist/esm/plugins/base_plugin.js +41 -1
  153. package/dist/esm/plugins/logging_plugin.js +2 -0
  154. package/dist/esm/plugins/plugin_manager.js +41 -0
  155. package/dist/esm/plugins/security_plugin.js +2 -0
  156. package/dist/esm/runner/in_memory_runner.js +2 -0
  157. package/dist/esm/runner/runner.js +33 -3
  158. package/dist/esm/sessions/base_session_service.js +2 -0
  159. package/dist/esm/sessions/database_session_service.js +2 -0
  160. package/dist/esm/sessions/db/operations.js +5 -10
  161. package/dist/esm/sessions/db/schema.js +2 -0
  162. package/dist/esm/sessions/in_memory_session_service.js +2 -0
  163. package/dist/esm/sessions/registry.js +2 -0
  164. package/dist/esm/sessions/session.js +2 -0
  165. package/dist/esm/sessions/state.js +2 -0
  166. package/dist/esm/skills/loader.js +244 -0
  167. package/dist/esm/skills/prompt.js +30 -0
  168. package/dist/esm/skills/skill.js +49 -0
  169. package/dist/esm/telemetry/google_cloud.js +2 -0
  170. package/dist/esm/telemetry/setup.js +2 -0
  171. package/dist/esm/telemetry/tracing.js +2 -0
  172. package/dist/esm/tools/agent_tool.js +12 -3
  173. package/dist/esm/tools/base_tool.js +2 -0
  174. package/dist/esm/tools/base_toolset.js +2 -0
  175. package/dist/esm/tools/exit_loop_tool.js +2 -0
  176. package/dist/esm/tools/forwarding_artifact_service.js +2 -0
  177. package/dist/esm/tools/function_tool.js +2 -0
  178. package/dist/esm/tools/google_search_tool.js +2 -0
  179. package/dist/esm/tools/load_artifacts_tool.js +2 -0
  180. package/dist/esm/tools/load_memory_tool.js +2 -0
  181. package/dist/esm/tools/long_running_tool.js +2 -0
  182. package/dist/esm/tools/mcp/mcp_session_manager.js +2 -0
  183. package/dist/esm/tools/mcp/mcp_tool.js +6 -1
  184. package/dist/esm/tools/mcp/mcp_toolset.js +2 -0
  185. package/dist/esm/tools/preload_memory_tool.js +2 -0
  186. package/dist/esm/tools/skill/list_skills_tool.js +50 -0
  187. package/dist/esm/tools/skill/load_skill_resource_tool.js +191 -0
  188. package/dist/esm/tools/skill/load_skill_tool.js +82 -0
  189. package/dist/esm/tools/skill/run_skill_inline_script_tool.js +120 -0
  190. package/dist/esm/tools/skill/run_skill_script_tool.js +192 -0
  191. package/dist/esm/tools/skill/skill_toolset.js +137 -0
  192. package/dist/esm/tools/tool_confirmation.js +2 -0
  193. package/dist/esm/utils/client_labels.js +2 -0
  194. package/dist/esm/utils/env_aware_utils.js +2 -0
  195. package/dist/esm/utils/experimental.js +46 -0
  196. package/dist/esm/utils/failover_utils.js +65 -0
  197. package/dist/esm/utils/file_extension_utils.js +51 -0
  198. package/dist/esm/utils/file_utils.js +56 -0
  199. package/dist/esm/utils/gemini_schema_util.js +56 -12
  200. package/dist/esm/utils/logger.js +2 -0
  201. package/dist/esm/utils/model_name.js +2 -0
  202. package/dist/esm/utils/object_notation_utils.js +2 -0
  203. package/dist/esm/utils/simple_zod_to_json.js +2 -0
  204. package/dist/esm/utils/streaming_utils.js +307 -0
  205. package/dist/esm/utils/variant_utils.js +2 -0
  206. package/dist/esm/version.js +3 -1
  207. package/dist/types/a2a/a2a_remote_agent.d.ts +7 -3
  208. package/dist/types/agents/context.d.ts +1 -0
  209. package/dist/types/agents/invocation_context.d.ts +5 -0
  210. package/dist/types/agents/processors/tool_filter_request_processor.d.ts +14 -0
  211. package/dist/types/agents/routed_agent.d.ts +59 -0
  212. package/dist/types/auth/auth_credential.d.ts +17 -0
  213. package/dist/types/auth/auth_handler.d.ts +1 -0
  214. package/dist/types/auth/auth_preprocessor.d.ts +12 -0
  215. package/dist/types/auth/auth_provider_registry.d.ts +27 -0
  216. package/dist/types/auth/base_auth_provider.d.ts +20 -0
  217. package/dist/types/auth/credential_service/session_state_credential_service.d.ts +20 -0
  218. package/dist/types/auth/exchanger/base_credential_exchanger.d.ts +12 -5
  219. package/dist/types/auth/oauth2/oauth2_credential_exchanger.d.ts +26 -0
  220. package/dist/types/auth/oauth2/oauth2_credential_refresher.d.ts +29 -0
  221. package/dist/types/auth/oauth2/oauth2_discovery.d.ts +38 -0
  222. package/dist/types/auth/oauth2/oauth2_utils.d.ts +56 -0
  223. package/dist/types/auth/refresher/base_credential_refresher.d.ts +38 -0
  224. package/dist/types/auth/refresher/credential_refresher_registry.d.ts +27 -0
  225. package/dist/types/code_executors/base_code_executor.d.ts +4 -4
  226. package/dist/types/code_executors/code_execution_utils.d.ts +29 -1
  227. package/dist/types/code_executors/unsafe_local_code_executor.d.ts +48 -0
  228. package/dist/types/common.d.ts +26 -3
  229. package/dist/types/features/feature_registry.d.ts +66 -0
  230. package/dist/types/index.d.ts +4 -0
  231. package/dist/types/memory/base_memory_service.d.ts +6 -0
  232. package/dist/types/memory/memory_entry.d.ts +11 -5
  233. package/dist/types/models/apigee_llm.d.ts +1 -1
  234. package/dist/types/models/base_llm.d.ts +1 -1
  235. package/dist/types/models/google_llm.d.ts +1 -1
  236. package/dist/types/models/llm_request.d.ts +4 -0
  237. package/dist/types/models/routed_llm.d.ts +38 -0
  238. package/dist/types/plugins/base_plugin.d.ts +49 -0
  239. package/dist/types/plugins/plugin_manager.d.ts +22 -1
  240. package/dist/types/runner/runner.d.ts +1 -0
  241. package/dist/types/skills/loader.d.ts +38 -0
  242. package/dist/types/skills/prompt.d.ts +13 -0
  243. package/dist/types/skills/skill.d.ts +48 -0
  244. package/dist/types/tools/skill/list_skills_tool.d.ts +14 -0
  245. package/dist/types/tools/skill/load_skill_resource_tool.d.ts +15 -0
  246. package/dist/types/tools/skill/load_skill_tool.d.ts +14 -0
  247. package/dist/types/tools/skill/run_skill_inline_script_tool.d.ts +14 -0
  248. package/dist/types/tools/skill/run_skill_script_tool.d.ts +17 -0
  249. package/dist/types/tools/skill/skill_toolset.d.ts +28 -0
  250. package/dist/types/utils/experimental.d.ts +11 -0
  251. package/dist/types/utils/failover_utils.d.ts +17 -0
  252. package/dist/types/utils/file_extension_utils.d.ts +21 -0
  253. package/dist/types/utils/file_utils.d.ts +11 -0
  254. package/dist/types/utils/streaming_utils.d.ts +40 -0
  255. package/dist/types/version.d.ts +1 -1
  256. package/dist/web/a2a/a2a_event.js +2 -0
  257. package/dist/web/a2a/a2a_remote_agent.js +17 -24
  258. package/dist/web/a2a/a2a_remote_agent_run_processor.js +9 -0
  259. package/dist/web/a2a/a2a_remote_agent_utils.js +2 -0
  260. package/dist/web/a2a/agent_card.js +2 -0
  261. package/dist/web/a2a/agent_executor.js +2 -0
  262. package/dist/web/a2a/agent_to_a2a.js +2 -0
  263. package/dist/web/a2a/event_converter_utils.js +2 -0
  264. package/dist/web/a2a/event_processor_utils.js +2 -0
  265. package/dist/web/a2a/executor_context.js +2 -0
  266. package/dist/web/a2a/metadata_converter_utils.js +2 -0
  267. package/dist/web/a2a/part_converter_utils.js +2 -0
  268. package/dist/web/agents/active_streaming_tool.js +2 -0
  269. package/dist/web/agents/base_agent.js +13 -2
  270. package/dist/web/agents/context.js +3 -0
  271. package/dist/web/agents/functions.js +3 -0
  272. package/dist/web/agents/instructions.js +2 -0
  273. package/dist/web/agents/invocation_context.js +3 -0
  274. package/dist/web/agents/live_request_queue.js +2 -0
  275. package/dist/web/agents/llm_agent.js +72 -13
  276. package/dist/web/agents/loop_agent.js +6 -0
  277. package/dist/web/agents/parallel_agent.js +6 -0
  278. package/dist/web/agents/processors/agent_transfer_llm_request_processor.js +2 -0
  279. package/dist/web/agents/processors/base_llm_processor.js +2 -0
  280. package/dist/web/agents/processors/basic_llm_request_processor.js +2 -0
  281. package/dist/web/agents/processors/code_execution_request_processor.js +5 -0
  282. package/dist/web/agents/processors/content_processor_utils.js +2 -0
  283. package/dist/web/agents/processors/content_request_processor.js +2 -0
  284. package/dist/web/agents/processors/context_compactor_request_processor.js +11 -0
  285. package/dist/web/agents/processors/identity_llm_request_processor.js +2 -0
  286. package/dist/web/agents/processors/instructions_llm_request_processor.js +2 -0
  287. package/dist/web/agents/processors/request_confirmation_llm_request_processor.js +2 -0
  288. package/dist/web/agents/processors/tool_filter_request_processor.js +62 -0
  289. package/dist/web/agents/readonly_context.js +2 -0
  290. package/dist/web/agents/routed_agent.js +138 -0
  291. package/dist/web/agents/run_config.js +2 -0
  292. package/dist/web/agents/sequential_agent.js +2 -0
  293. package/dist/web/agents/transcription_entry.js +2 -0
  294. package/dist/web/artifacts/base_artifact_service.js +2 -0
  295. package/dist/web/artifacts/file_artifact_service.js +2 -0
  296. package/dist/web/artifacts/gcs_artifact_service.js +2 -0
  297. package/dist/web/artifacts/in_memory_artifact_service.js +2 -0
  298. package/dist/web/artifacts/registry.js +2 -0
  299. package/dist/web/auth/auth_credential.js +2 -0
  300. package/dist/web/auth/auth_handler.js +85 -1
  301. package/dist/web/auth/auth_preprocessor.js +173 -0
  302. package/dist/web/auth/auth_provider_registry.js +33 -0
  303. package/dist/web/auth/auth_schemes.js +2 -0
  304. package/dist/web/auth/auth_tool.js +2 -0
  305. package/dist/web/auth/base_auth_provider.js +7 -0
  306. package/dist/web/auth/credential_service/base_credential_service.js +2 -0
  307. package/dist/web/auth/credential_service/in_memory_credential_service.js +2 -0
  308. package/dist/web/auth/credential_service/session_state_credential_service.js +23 -0
  309. package/dist/web/auth/exchanger/base_credential_exchanger.js +2 -0
  310. package/dist/web/auth/exchanger/credential_exchanger_registry.js +2 -0
  311. package/dist/web/auth/oauth2/oauth2_credential_exchanger.js +188 -0
  312. package/dist/web/auth/oauth2/oauth2_credential_refresher.js +102 -0
  313. package/dist/web/auth/oauth2/oauth2_discovery.js +156 -0
  314. package/dist/web/auth/oauth2/oauth2_utils.js +87 -0
  315. package/dist/web/auth/refresher/base_credential_refresher.js +16 -0
  316. package/dist/web/auth/refresher/credential_refresher_registry.js +40 -0
  317. package/dist/web/code_executors/base_code_executor.js +11 -5
  318. package/dist/web/code_executors/built_in_code_executor.js +2 -0
  319. package/dist/web/code_executors/code_execution_utils.js +19 -0
  320. package/dist/web/code_executors/code_executor_context.js +2 -0
  321. package/dist/web/code_executors/unsafe_local_code_executor.js +203 -0
  322. package/dist/web/common.js +47 -3
  323. package/dist/web/context/base_context_compactor.js +2 -0
  324. package/dist/web/context/summarizers/base_summarizer.js +2 -0
  325. package/dist/web/context/summarizers/llm_summarizer.js +2 -0
  326. package/dist/web/context/token_based_context_compactor.js +2 -0
  327. package/dist/web/context/truncating_context_compactor.js +2 -0
  328. package/dist/web/events/compacted_event.js +2 -0
  329. package/dist/web/events/event.js +2 -0
  330. package/dist/web/events/event_actions.js +2 -0
  331. package/dist/web/events/structured_events.js +2 -0
  332. package/dist/web/examples/base_example_provider.js +2 -0
  333. package/dist/web/examples/example.js +2 -0
  334. package/dist/web/examples/example_util.js +2 -0
  335. package/dist/web/features/feature_registry.js +107 -0
  336. package/dist/web/index.js +3 -2
  337. package/dist/web/index.js.map +4 -4
  338. package/dist/web/index_web.js +2 -0
  339. package/dist/web/memory/base_memory_service.js +2 -0
  340. package/dist/web/memory/in_memory_memory_service.js +2 -0
  341. package/dist/web/memory/memory_entry.js +2 -0
  342. package/dist/web/models/apigee_llm.js +4 -2
  343. package/dist/web/models/base_llm.js +2 -0
  344. package/dist/web/models/base_llm_connection.js +2 -0
  345. package/dist/web/models/gemini_llm_connection.js +2 -0
  346. package/dist/web/models/google_llm.js +37 -59
  347. package/dist/web/models/llm_request.js +2 -0
  348. package/dist/web/models/llm_response.js +2 -0
  349. package/dist/web/models/registry.js +2 -0
  350. package/dist/web/models/routed_llm.js +122 -0
  351. package/dist/web/plugins/base_plugin.js +41 -1
  352. package/dist/web/plugins/logging_plugin.js +2 -0
  353. package/dist/web/plugins/plugin_manager.js +41 -0
  354. package/dist/web/plugins/security_plugin.js +2 -0
  355. package/dist/web/runner/in_memory_runner.js +2 -0
  356. package/dist/web/runner/runner.js +33 -3
  357. package/dist/web/sessions/base_session_service.js +2 -0
  358. package/dist/web/sessions/database_session_service.js +2 -0
  359. package/dist/web/sessions/db/operations.js +5 -10
  360. package/dist/web/sessions/db/schema.js +2 -0
  361. package/dist/web/sessions/in_memory_session_service.js +2 -0
  362. package/dist/web/sessions/registry.js +2 -0
  363. package/dist/web/sessions/session.js +2 -0
  364. package/dist/web/sessions/state.js +2 -0
  365. package/dist/web/skills/loader.js +262 -0
  366. package/dist/web/skills/prompt.js +30 -0
  367. package/dist/web/skills/skill.js +67 -0
  368. package/dist/web/telemetry/google_cloud.js +2 -0
  369. package/dist/web/telemetry/setup.js +2 -0
  370. package/dist/web/telemetry/tracing.js +2 -0
  371. package/dist/web/tools/agent_tool.js +12 -3
  372. package/dist/web/tools/base_tool.js +2 -0
  373. package/dist/web/tools/base_toolset.js +2 -0
  374. package/dist/web/tools/exit_loop_tool.js +2 -0
  375. package/dist/web/tools/forwarding_artifact_service.js +2 -0
  376. package/dist/web/tools/function_tool.js +2 -0
  377. package/dist/web/tools/google_search_tool.js +2 -0
  378. package/dist/web/tools/load_artifacts_tool.js +2 -0
  379. package/dist/web/tools/load_memory_tool.js +2 -0
  380. package/dist/web/tools/long_running_tool.js +2 -0
  381. package/dist/web/tools/mcp/mcp_session_manager.js +2 -0
  382. package/dist/web/tools/mcp/mcp_tool.js +6 -1
  383. package/dist/web/tools/mcp/mcp_toolset.js +2 -0
  384. package/dist/web/tools/preload_memory_tool.js +2 -0
  385. package/dist/web/tools/skill/list_skills_tool.js +50 -0
  386. package/dist/web/tools/skill/load_skill_resource_tool.js +191 -0
  387. package/dist/web/tools/skill/load_skill_tool.js +82 -0
  388. package/dist/web/tools/skill/run_skill_inline_script_tool.js +120 -0
  389. package/dist/web/tools/skill/run_skill_script_tool.js +190 -0
  390. package/dist/web/tools/skill/skill_toolset.js +123 -0
  391. package/dist/web/tools/tool_confirmation.js +2 -0
  392. package/dist/web/utils/client_labels.js +2 -0
  393. package/dist/web/utils/env_aware_utils.js +2 -0
  394. package/dist/web/utils/experimental.js +46 -0
  395. package/dist/web/utils/failover_utils.js +96 -0
  396. package/dist/web/utils/file_extension_utils.js +51 -0
  397. package/dist/web/utils/file_utils.js +74 -0
  398. package/dist/web/utils/gemini_schema_util.js +87 -12
  399. package/dist/web/utils/logger.js +2 -0
  400. package/dist/web/utils/model_name.js +2 -0
  401. package/dist/web/utils/object_notation_utils.js +2 -0
  402. package/dist/web/utils/simple_zod_to_json.js +2 -0
  403. package/dist/web/utils/streaming_utils.js +325 -0
  404. package/dist/web/utils/variant_utils.js +2 -0
  405. package/dist/web/version.js +3 -1
  406. package/package.json +20 -18
@@ -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
@@ -38,6 +40,7 @@ import { ContextCompactorRequestProcessor } from "./processors/context_compactor
38
40
  import { IDENTITY_LLM_REQUEST_PROCESSOR } from "./processors/identity_llm_request_processor.js";
39
41
  import { INSTRUCTIONS_LLM_REQUEST_PROCESSOR } from "./processors/instructions_llm_request_processor.js";
40
42
  import { REQUEST_CONFIRMATION_LLM_REQUEST_PROCESSOR } from "./processors/request_confirmation_llm_request_processor.js";
43
+ import { TOOL_FILTER_REQUEST_PROCESSOR } from "./processors/tool_filter_request_processor.js";
41
44
  import { ReadonlyContext } from "./readonly_context.js";
42
45
  import { StreamingMode } from "./run_config.js";
43
46
  const ADK_AGENT_NAME_LABEL_KEY = "adk_agent_name";
@@ -79,7 +82,8 @@ class LlmAgent extends (_b = BaseAgent, _a = LLM_AGENT_SIGNATURE_SYMBOL, _b) {
79
82
  INSTRUCTIONS_LLM_REQUEST_PROCESSOR,
80
83
  REQUEST_CONFIRMATION_LLM_REQUEST_PROCESSOR,
81
84
  CONTENT_REQUEST_PROCESSOR,
82
- CODE_EXECUTION_REQUEST_PROCESSOR
85
+ CODE_EXECUTION_REQUEST_PROCESSOR,
86
+ TOOL_FILTER_REQUEST_PROCESSOR
83
87
  ];
84
88
  if (!config.requestProcessors && config.contextCompactors && config.contextCompactors.length > 0) {
85
89
  const contentIndex = this.requestProcessors.indexOf(
@@ -299,9 +303,13 @@ class LlmAgent extends (_b = BaseAgent, _a = LLM_AGENT_SIGNATURE_SYMBOL, _b) {
299
303
  event.actions.stateDelta[this.outputKey] = result;
300
304
  }
301
305
  async *runAsyncImpl(context2) {
306
+ var _a2;
302
307
  while (true) {
303
308
  let lastEvent = void 0;
304
309
  for await (const event of this.runOneStepAsync(context2)) {
310
+ if ((_a2 = context2.abortSignal) == null ? void 0 : _a2.aborted) {
311
+ return;
312
+ }
305
313
  lastEvent = event;
306
314
  this.maybeSaveOutputToState(event);
307
315
  yield event;
@@ -316,7 +324,11 @@ class LlmAgent extends (_b = BaseAgent, _a = LLM_AGENT_SIGNATURE_SYMBOL, _b) {
316
324
  }
317
325
  }
318
326
  async *runLiveImpl(context2) {
327
+ var _a2;
319
328
  for await (const event of this.runLiveFlow(context2)) {
329
+ if ((_a2 = context2.abortSignal) == null ? void 0 : _a2.aborted) {
330
+ return;
331
+ }
320
332
  this.maybeSaveOutputToState(event);
321
333
  yield event;
322
334
  }
@@ -333,6 +345,7 @@ class LlmAgent extends (_b = BaseAgent, _a = LLM_AGENT_SIGNATURE_SYMBOL, _b) {
333
345
  throw new Error("LlmAgent.runLiveFlow not implemented");
334
346
  }
335
347
  async *runOneStepAsync(invocationContext) {
348
+ var _a2, _b2, _c;
336
349
  const llmRequest = {
337
350
  contents: [],
338
351
  toolsDict: {},
@@ -343,20 +356,28 @@ class LlmAgent extends (_b = BaseAgent, _a = LLM_AGENT_SIGNATURE_SYMBOL, _b) {
343
356
  invocationContext,
344
357
  llmRequest
345
358
  )) {
359
+ if ((_a2 = invocationContext.abortSignal) == null ? void 0 : _a2.aborted) {
360
+ return;
361
+ }
346
362
  yield event;
347
363
  }
348
364
  }
349
365
  for (const toolUnion of this.tools) {
350
366
  const toolContext = new Context({ invocationContext });
351
- const tools = await convertToolUnionToTools(
367
+ const tools = (await convertToolUnionToTools(
352
368
  toolUnion,
353
369
  new ReadonlyContext(invocationContext)
354
- );
370
+ )).filter((tool) => {
371
+ return !llmRequest.allowedTools || llmRequest.allowedTools.includes(tool.name);
372
+ });
355
373
  for (const tool of tools) {
356
374
  await tool.processLlmRequest({ toolContext, llmRequest });
375
+ if ((_b2 = invocationContext.abortSignal) == null ? void 0 : _b2.aborted) {
376
+ return;
377
+ }
357
378
  }
358
379
  }
359
- if (invocationContext.endInvocation) {
380
+ if (invocationContext.endInvocation || ((_c = invocationContext.abortSignal) == null ? void 0 : _c.aborted)) {
360
381
  return;
361
382
  }
362
383
  const modelResponseEvent = createEvent({
@@ -371,17 +392,24 @@ class LlmAgent extends (_b = BaseAgent, _a = LLM_AGENT_SIGNATURE_SYMBOL, _b) {
371
392
  this,
372
393
  async function* () {
373
394
  const responsesGenerator = async function* () {
395
+ var _a3, _b3;
374
396
  for await (const llmResponse of this.callLlmAsync(
375
397
  invocationContext,
376
398
  llmRequest,
377
399
  modelResponseEvent
378
400
  )) {
401
+ if ((_a3 = invocationContext.abortSignal) == null ? void 0 : _a3.aborted) {
402
+ return;
403
+ }
379
404
  for await (const event of this.postprocess(
380
405
  invocationContext,
381
406
  llmRequest,
382
407
  llmResponse,
383
408
  modelResponseEvent
384
409
  )) {
410
+ if ((_b3 = invocationContext.abortSignal) == null ? void 0 : _b3.aborted) {
411
+ return;
412
+ }
385
413
  modelResponseEvent.id = createNewEventId();
386
414
  modelResponseEvent.timestamp = (/* @__PURE__ */ new Date()).getTime();
387
415
  yield event;
@@ -399,12 +427,15 @@ class LlmAgent extends (_b = BaseAgent, _a = LLM_AGENT_SIGNATURE_SYMBOL, _b) {
399
427
  span.end();
400
428
  }
401
429
  async *postprocess(invocationContext, llmRequest, llmResponse, modelResponseEvent) {
402
- var _a2, _b2;
430
+ var _a2, _b2, _c, _d, _e;
403
431
  for (const processor of this.responseProcessors) {
404
432
  for await (const event of processor.runAsync(
405
433
  invocationContext,
406
434
  llmResponse
407
435
  )) {
436
+ if ((_a2 = invocationContext.abortSignal) == null ? void 0 : _a2.aborted) {
437
+ return;
438
+ }
408
439
  yield event;
409
440
  }
410
441
  }
@@ -425,10 +456,10 @@ class LlmAgent extends (_b = BaseAgent, _a = LLM_AGENT_SIGNATURE_SYMBOL, _b) {
425
456
  }
426
457
  }
427
458
  yield mergedEvent;
428
- if (!((_a2 = getFunctionCalls(mergedEvent)) == null ? void 0 : _a2.length)) {
459
+ if (!((_b2 = getFunctionCalls(mergedEvent)) == null ? void 0 : _b2.length)) {
429
460
  return;
430
461
  }
431
- if ((_b2 = invocationContext.runConfig) == null ? void 0 : _b2.pauseOnToolCalls) {
462
+ if ((_c = invocationContext.runConfig) == null ? void 0 : _c.pauseOnToolCalls) {
432
463
  invocationContext.endInvocation = true;
433
464
  return;
434
465
  }
@@ -439,7 +470,7 @@ class LlmAgent extends (_b = BaseAgent, _a = LLM_AGENT_SIGNATURE_SYMBOL, _b) {
439
470
  beforeToolCallbacks: this.canonicalBeforeToolCallbacks,
440
471
  afterToolCallbacks: this.canonicalAfterToolCallbacks
441
472
  });
442
- if (!functionResponseEvent) {
473
+ if (!functionResponseEvent || ((_d = invocationContext.abortSignal) == null ? void 0 : _d.aborted)) {
443
474
  return;
444
475
  }
445
476
  const authEvent = generateAuthEvent(
@@ -464,6 +495,9 @@ class LlmAgent extends (_b = BaseAgent, _a = LLM_AGENT_SIGNATURE_SYMBOL, _b) {
464
495
  if (nextAgentName) {
465
496
  const nextAgent = this.getAgentByName(invocationContext, nextAgentName);
466
497
  for await (const event of nextAgent.runAsync(invocationContext)) {
498
+ if ((_e = invocationContext.abortSignal) == null ? void 0 : _e.aborted) {
499
+ return;
500
+ }
467
501
  yield event;
468
502
  }
469
503
  }
@@ -489,30 +523,34 @@ class LlmAgent extends (_b = BaseAgent, _a = LLM_AGENT_SIGNATURE_SYMBOL, _b) {
489
523
  return agentToRun;
490
524
  }
491
525
  async *callLlmAsync(invocationContext, llmRequest, modelResponseEvent) {
492
- var _a2, _b2, _c, _d, _e;
526
+ var _a2, _b2, _c, _d, _e, _f, _g, _h;
493
527
  const beforeModelResponse = await this.handleBeforeModelCallback(
494
528
  invocationContext,
495
529
  llmRequest,
496
530
  modelResponseEvent
497
531
  );
532
+ if ((_a2 = invocationContext.abortSignal) == null ? void 0 : _a2.aborted) {
533
+ return;
534
+ }
498
535
  if (beforeModelResponse) {
499
536
  yield beforeModelResponse;
500
537
  return;
501
538
  }
502
- (_a2 = llmRequest.config) != null ? _a2 : llmRequest.config = {};
503
- (_c = (_b2 = llmRequest.config).labels) != null ? _c : _b2.labels = {};
539
+ (_b2 = llmRequest.config) != null ? _b2 : llmRequest.config = {};
540
+ (_d = (_c = llmRequest.config).labels) != null ? _d : _c.labels = {};
504
541
  if (!llmRequest.config.labels[ADK_AGENT_NAME_LABEL_KEY]) {
505
542
  llmRequest.config.labels[ADK_AGENT_NAME_LABEL_KEY] = this.name;
506
543
  }
507
544
  const llm = this.canonicalModel;
508
- if ((_d = invocationContext.runConfig) == null ? void 0 : _d.supportCfc) {
545
+ if ((_e = invocationContext.runConfig) == null ? void 0 : _e.supportCfc) {
509
546
  throw new Error("CFC is not yet supported in callLlmAsync");
510
547
  } else {
511
548
  invocationContext.incrementLlmCallCount();
512
549
  const responsesGenerator = llm.generateContentAsync(
513
550
  llmRequest,
514
551
  /* stream= */
515
- ((_e = invocationContext.runConfig) == null ? void 0 : _e.streamingMode) === StreamingMode.SSE
552
+ ((_f = invocationContext.runConfig) == null ? void 0 : _f.streamingMode) === StreamingMode.SSE,
553
+ invocationContext.abortSignal
516
554
  );
517
555
  for await (const llmResponse of responsesGenerator) {
518
556
  traceCallLlm({
@@ -521,16 +559,23 @@ class LlmAgent extends (_b = BaseAgent, _a = LLM_AGENT_SIGNATURE_SYMBOL, _b) {
521
559
  llmRequest,
522
560
  llmResponse
523
561
  });
562
+ if ((_g = invocationContext.abortSignal) == null ? void 0 : _g.aborted) {
563
+ return;
564
+ }
524
565
  const alteredLlmResponse = await this.handleAfterModelCallback(
525
566
  invocationContext,
526
567
  llmResponse,
527
568
  modelResponseEvent
528
569
  );
570
+ if ((_h = invocationContext.abortSignal) == null ? void 0 : _h.aborted) {
571
+ return;
572
+ }
529
573
  yield alteredLlmResponse != null ? alteredLlmResponse : llmResponse;
530
574
  }
531
575
  }
532
576
  }
533
577
  async handleBeforeModelCallback(invocationContext, llmRequest, modelResponseEvent) {
578
+ var _a2, _b2;
534
579
  const callbackContext = new Context({
535
580
  invocationContext,
536
581
  eventActions: modelResponseEvent.actions
@@ -539,6 +584,9 @@ class LlmAgent extends (_b = BaseAgent, _a = LLM_AGENT_SIGNATURE_SYMBOL, _b) {
539
584
  callbackContext,
540
585
  llmRequest
541
586
  });
587
+ if ((_a2 = invocationContext.abortSignal) == null ? void 0 : _a2.aborted) {
588
+ return;
589
+ }
542
590
  if (beforeModelCallbackResponse) {
543
591
  return beforeModelCallbackResponse;
544
592
  }
@@ -547,6 +595,9 @@ class LlmAgent extends (_b = BaseAgent, _a = LLM_AGENT_SIGNATURE_SYMBOL, _b) {
547
595
  context: callbackContext,
548
596
  request: llmRequest
549
597
  });
598
+ if ((_b2 = invocationContext.abortSignal) == null ? void 0 : _b2.aborted) {
599
+ return;
600
+ }
550
601
  if (callbackResponse) {
551
602
  return callbackResponse;
552
603
  }
@@ -554,6 +605,7 @@ class LlmAgent extends (_b = BaseAgent, _a = LLM_AGENT_SIGNATURE_SYMBOL, _b) {
554
605
  return void 0;
555
606
  }
556
607
  async handleAfterModelCallback(invocationContext, llmResponse, modelResponseEvent) {
608
+ var _a2;
557
609
  const callbackContext = new Context({
558
610
  invocationContext,
559
611
  eventActions: modelResponseEvent.actions
@@ -570,6 +622,9 @@ class LlmAgent extends (_b = BaseAgent, _a = LLM_AGENT_SIGNATURE_SYMBOL, _b) {
570
622
  context: callbackContext,
571
623
  response: llmResponse
572
624
  });
625
+ if ((_a2 = invocationContext.abortSignal) == null ? void 0 : _a2.aborted) {
626
+ return;
627
+ }
573
628
  if (callbackResponse) {
574
629
  return callbackResponse;
575
630
  }
@@ -577,8 +632,12 @@ class LlmAgent extends (_b = BaseAgent, _a = LLM_AGENT_SIGNATURE_SYMBOL, _b) {
577
632
  return void 0;
578
633
  }
579
634
  async *runAndHandleError(responseGenerator, invocationContext, llmRequest, modelResponseEvent) {
635
+ var _a2;
580
636
  try {
581
637
  for await (const response of responseGenerator) {
638
+ if ((_a2 = invocationContext.abortSignal) == null ? void 0 : _a2.aborted) {
639
+ return;
640
+ }
582
641
  yield response;
583
642
  }
584
643
  } catch (modelError) {
@@ -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
@@ -20,11 +22,15 @@ class LoopAgent extends (_b = BaseAgent, _a = LOOP_AGENT_SIGNATURE_SYMBOL, _b) {
20
22
  this.maxIterations = (_a2 = config.maxIterations) != null ? _a2 : Number.MAX_SAFE_INTEGER;
21
23
  }
22
24
  async *runAsyncImpl(context) {
25
+ var _a2;
23
26
  let iteration = 0;
24
27
  while (iteration < this.maxIterations) {
25
28
  for (const subAgent of this.subAgents) {
26
29
  let shouldExit = false;
27
30
  for await (const event of subAgent.runAsync(context)) {
31
+ if ((_a2 = context.abortSignal) == null ? void 0 : _a2.aborted) {
32
+ return;
33
+ }
28
34
  yield event;
29
35
  if (event.actions.escalate) {
30
36
  shouldExit = true;
@@ -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
@@ -19,10 +21,14 @@ class ParallelAgent extends (_b = BaseAgent, _a = PARALLEL_AGENT_SIGNATURE_SYMBO
19
21
  this[_a] = true;
20
22
  }
21
23
  async *runAsyncImpl(context) {
24
+ var _a2;
22
25
  const agentRuns = this.subAgents.map(
23
26
  (subAgent) => subAgent.runAsync(createBranchCtxForSubAgent(this, subAgent, context))
24
27
  );
25
28
  for await (const event of mergeAgentRuns(agentRuns)) {
29
+ if ((_a2 = context.abortSignal) == null ? void 0 : _a2.aborted) {
30
+ return;
31
+ }
26
32
  yield event;
27
33
  }
28
34
  }
@@ -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
  /**
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
  /**
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
  /**
2
4
  * @license
3
5
  * Copyright 2025 Google LLC
@@ -9,6 +11,7 @@ import { isBuiltInCodeExecutor } from "../../code_executors/built_in_code_execut
9
11
  import {
10
12
  buildCodeExecutionResultPart,
11
13
  buildExecutableCodePart,
14
+ CodeExecutionLanguage,
12
15
  convertCodeExecutionParts,
13
16
  extractCodeAndTruncateContent
14
17
  } from "../../code_executors/code_execution_utils.js";
@@ -169,6 +172,7 @@ async function* runPreProcessor(invocationContext, llmRequest) {
169
172
  invocationContext,
170
173
  codeExecutionInput: {
171
174
  code: codeStr,
175
+ language: CodeExecutionLanguage.PYTHON,
172
176
  inputFiles: [file],
173
177
  executionId
174
178
  }
@@ -232,6 +236,7 @@ async function* runPostProcessor(invocationContext, llmResponse) {
232
236
  invocationContext,
233
237
  codeExecutionInput: {
234
238
  code: codeStr,
239
+ language: CodeExecutionLanguage.PYTHON,
235
240
  inputFiles: codeExecutorContext.getInputFiles(),
236
241
  executionId
237
242
  }
@@ -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
  /**
2
4
  * @license
3
5
  * Copyright 2025 Google LLC
@@ -1,8 +1,11 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  /**
2
4
  * @license
3
5
  * Copyright 2026 Google LLC
4
6
  * SPDX-License-Identifier: Apache-2.0
5
7
  */
8
+ import { ContextCompactionTrigger } from "../../plugins/base_plugin.js";
6
9
  class ContextCompactorRequestProcessor {
7
10
  constructor(compactors) {
8
11
  this.compactors = compactors;
@@ -13,8 +16,16 @@ class ContextCompactorRequestProcessor {
13
16
  compactor.shouldCompact(invocationContext)
14
17
  );
15
18
  if (shouldCompact) {
19
+ await invocationContext.pluginManager.runBeforeContextCompaction({
20
+ invocationContext,
21
+ trigger: ContextCompactionTrigger.Auto
22
+ });
16
23
  const oldEvents = new Set(invocationContext.session.events);
17
24
  await Promise.resolve(compactor.compact(invocationContext));
25
+ await invocationContext.pluginManager.runAfterContextCompaction({
26
+ invocationContext,
27
+ trigger: ContextCompactionTrigger.Auto
28
+ });
18
29
  const newEvents = invocationContext.session.events.filter(
19
30
  (e) => !oldEvents.has(e)
20
31
  );
@@ -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
  /**
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
  /**
2
4
  * @license
3
5
  * Copyright 2025 Google LLC
@@ -0,0 +1,44 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
3
+ /**
4
+ * @license
5
+ * Copyright 2025 Google LLC
6
+ * SPDX-License-Identifier: Apache-2.0
7
+ */
8
+ import { Context } from "../context.js";
9
+ import { isLlmAgent } from "../llm_agent.js";
10
+ import { ReadonlyContext } from "../readonly_context.js";
11
+ import { BaseLlmRequestProcessor } from "./base_llm_processor.js";
12
+ class ToolFilterRequestProcessor extends BaseLlmRequestProcessor {
13
+ /** Filters the set of tools on the request based on plugins. */
14
+ // eslint-disable-next-line require-yield
15
+ async *runAsync(invocationContext, llmRequest) {
16
+ const agent = invocationContext.agent;
17
+ if (!isLlmAgent(agent)) {
18
+ return;
19
+ }
20
+ const toolsList = await agent.canonicalTools(
21
+ new ReadonlyContext(invocationContext)
22
+ );
23
+ if (toolsList.length === 0) {
24
+ return;
25
+ }
26
+ const toolsDict = {};
27
+ for (const tool of toolsList) {
28
+ toolsDict[tool.name] = tool;
29
+ }
30
+ const callbackContext = new Context({ invocationContext });
31
+ const filteredTools = await invocationContext.pluginManager.runBeforeToolSelection({
32
+ callbackContext,
33
+ tools: toolsDict
34
+ });
35
+ if (filteredTools !== void 0) {
36
+ llmRequest.allowedTools = Object.keys(filteredTools);
37
+ }
38
+ }
39
+ }
40
+ const TOOL_FILTER_REQUEST_PROCESSOR = new ToolFilterRequestProcessor();
41
+ export {
42
+ TOOL_FILTER_REQUEST_PROCESSOR,
43
+ ToolFilterRequestProcessor
44
+ };
@@ -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,70 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __decorateClass = (decorators, target, key, kind) => {
6
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
7
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
8
+ if (decorator = decorators[i])
9
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
10
+ if (kind && result) __defProp(target, key, result);
11
+ return result;
12
+ };
13
+ /**
14
+ * @license
15
+ * Copyright 2026 Google LLC
16
+ * SPDX-License-Identifier: Apache-2.0
17
+ */
18
+ var _a, _b;
19
+ import { BaseAgent } from "./base_agent.js";
20
+ import { experimental } from "../utils/experimental.js";
21
+ import { runWithRouting } from "../utils/failover_utils.js";
22
+ const ROUTED_AGENT_SIGNATURE_SYMBOL = Symbol.for("google.adk.routedAgent");
23
+ function isRoutedAgent(obj) {
24
+ return typeof obj === "object" && obj !== null && ROUTED_AGENT_SIGNATURE_SYMBOL in obj && obj[ROUTED_AGENT_SIGNATURE_SYMBOL] === true;
25
+ }
26
+ let RoutedAgent = class extends (_b = BaseAgent, _a = ROUTED_AGENT_SIGNATURE_SYMBOL, _b) {
27
+ constructor(config) {
28
+ const agentsArray = Array.isArray(config.agents) ? config.agents : Object.values(config.agents);
29
+ super({
30
+ ...config,
31
+ subAgents: agentsArray
32
+ });
33
+ this[_a] = true;
34
+ if (Array.isArray(config.agents)) {
35
+ this.agents = Object.fromEntries(config.agents.map((a) => [a.name, a]));
36
+ } else {
37
+ this.agents = config.agents;
38
+ }
39
+ this.router = config.router;
40
+ }
41
+ /**
42
+ * Runs the selected agent via text-based conversation.
43
+ */
44
+ async *runAsyncImpl(context) {
45
+ yield* runWithRouting(
46
+ this.agents,
47
+ context,
48
+ this.router,
49
+ (agent) => agent.runAsync(context)
50
+ );
51
+ }
52
+ /**
53
+ * Runs the selected agent via video/audio-based conversation.
54
+ */
55
+ async *runLiveImpl(context) {
56
+ yield* runWithRouting(
57
+ this.agents,
58
+ context,
59
+ this.router,
60
+ (agent) => agent.runLive(context)
61
+ );
62
+ }
63
+ };
64
+ RoutedAgent = __decorateClass([
65
+ experimental
66
+ ], RoutedAgent);
67
+ export {
68
+ RoutedAgent,
69
+ isRoutedAgent
70
+ };
@@ -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
  /**
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
  /**
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
  /**
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
  /**
2
4
  * @license
3
5
  * Copyright 2026 Google LLC
@@ -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
  /**
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
  /**
2
4
  * @license
3
5
  * Copyright 2026 Google LLC
@@ -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