@google/adk 2.0.0 → 2.1.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 (566) hide show
  1. package/dist/cjs/a2a/a2a_event.js +0 -29
  2. package/dist/cjs/a2a/a2a_remote_agent.js +8 -5
  3. package/dist/cjs/a2a/a2a_remote_agent_utils.js +104 -2
  4. package/dist/cjs/a2a/agent_card.js +58 -6
  5. package/dist/cjs/a2a/agent_executor.js +10 -3
  6. package/dist/cjs/a2a/agent_to_a2a.js +6 -1
  7. package/dist/cjs/a2a/event_processor_utils.js +1 -1
  8. package/dist/cjs/a2a/executor_context.js +4 -2
  9. package/dist/cjs/a2a/index.js +4 -0
  10. package/dist/cjs/a2a/request_metadata.js +94 -0
  11. package/dist/cjs/agents/base_agent.js +9 -8
  12. package/dist/cjs/agents/context.js +7 -0
  13. package/dist/cjs/agents/functions.js +150 -47
  14. package/dist/cjs/agents/invocation_context.js +1 -0
  15. package/dist/cjs/agents/llm_agent.js +6 -5
  16. package/dist/cjs/agents/loop_agent.js +1 -1
  17. package/dist/cjs/agents/parallel_agent.js +1 -1
  18. package/dist/cjs/agents/processors/agent_transfer_llm_request_processor.js +26 -5
  19. package/dist/cjs/agents/processors/code_execution_request_processor.js +2 -2
  20. package/dist/cjs/agents/processors/content_processor_utils.js +5 -5
  21. package/dist/cjs/agents/processors/content_request_processor.js +4 -1
  22. package/dist/cjs/agents/processors/request_confirmation_llm_request_processor.js +19 -12
  23. package/dist/cjs/agents/processors/request_input_llm_request_processor.js +3 -7
  24. package/dist/cjs/agents/readonly_context.js +6 -0
  25. package/dist/cjs/agents/routed_agent.js +1 -1
  26. package/dist/cjs/agents/sequential_agent.js +1 -1
  27. package/dist/cjs/apps/app.js +1 -1
  28. package/dist/cjs/artifacts/file_artifact_service.js +1 -2
  29. package/dist/cjs/artifacts/scoped_artifact_service.js +9 -0
  30. package/dist/cjs/artifacts/session_artifact_service.js +19 -0
  31. package/dist/cjs/auth/auth_handler.js +44 -8
  32. package/dist/cjs/auth/oauth2/oauth2_credential_refresher.js +1 -1
  33. package/dist/cjs/auth/oauth2/oauth2_utils.js +17 -2
  34. package/dist/cjs/code_executors/base_code_executor.js +1 -1
  35. package/dist/cjs/code_executors/built_in_code_executor.js +1 -1
  36. package/dist/cjs/code_executors/code_execution_utils.js +2 -2
  37. package/dist/cjs/code_executors/container_code_executor.js +186 -0
  38. package/dist/cjs/code_executors/docker_container.js +282 -0
  39. package/dist/cjs/code_executors/unsafe_local_code_executor.js +11 -6
  40. package/dist/cjs/common.js +74 -45
  41. package/dist/cjs/context/agent_controlled_context_compactor.js +10 -5
  42. package/dist/cjs/context/anchored_context_compactor.js +41 -18
  43. package/dist/cjs/context/compaction_utils.js +15 -6
  44. package/dist/cjs/context/token_based_context_compactor.js +10 -2
  45. package/dist/cjs/context/trajectory_thought_pruning_compactor.js +17 -10
  46. package/dist/cjs/context/truncating_context_compactor.js +17 -5
  47. package/dist/cjs/errors/already_exists_error.js +50 -0
  48. package/dist/cjs/errors/input_validation_error.js +50 -0
  49. package/dist/cjs/errors/not_found_error.js +50 -0
  50. package/dist/cjs/errors/session_not_found_error.js +50 -0
  51. package/dist/cjs/errors/tool_execution_error.js +68 -0
  52. package/dist/cjs/events/event.js +1 -1
  53. package/dist/cjs/events/event_actions.js +7 -0
  54. package/dist/cjs/examples/base_example_provider.js +1 -1
  55. package/dist/cjs/index.js +47 -0
  56. package/dist/cjs/index_web.js +2 -0
  57. package/dist/cjs/integrations/agent_registry/agent_registry.js +3 -2
  58. package/dist/cjs/memory/rag_memory_transcript.js +136 -0
  59. package/dist/cjs/memory/vertex_ai_memory_bank_service.js +2 -2
  60. package/dist/cjs/memory/vertex_ai_rag_api.js +120 -0
  61. package/dist/cjs/memory/vertex_ai_rag_memory_service.js +228 -0
  62. package/dist/cjs/models/apigee_llm.js +1 -1
  63. package/dist/cjs/models/base_llm.js +1 -1
  64. package/dist/cjs/models/chrome_prompt_llm.js +304 -0
  65. package/dist/cjs/models/chrome_prompt_utils.js +229 -0
  66. package/dist/cjs/models/google_llm.js +9 -4
  67. package/dist/cjs/models/interactions_utils.js +2 -3
  68. package/dist/cjs/models/registry.js +2 -0
  69. package/dist/cjs/plugins/_reflect_retry_utils.js +142 -0
  70. package/dist/cjs/plugins/reflect_retry_model_plugin.js +274 -0
  71. package/dist/cjs/plugins/reflect_retry_tool_plugin.js +276 -0
  72. package/dist/cjs/runner/runner.js +29 -26
  73. package/dist/cjs/sessions/database_session_service.js +78 -43
  74. package/dist/cjs/sessions/db/operations.js +229 -22
  75. package/dist/cjs/sessions/db/schema.js +113 -159
  76. package/dist/cjs/sessions/registry.js +5 -1
  77. package/dist/cjs/sessions/vertex_ai_session_service.js +2 -2
  78. package/dist/cjs/telemetry/setup.js +1 -1
  79. package/dist/cjs/telemetry/tracing.js +11 -1
  80. package/dist/cjs/tools/agent_tool.js +4 -5
  81. package/dist/cjs/tools/base_tool.js +14 -4
  82. package/dist/cjs/tools/base_toolset.js +4 -4
  83. package/dist/cjs/tools/built_in_tool.js +75 -0
  84. package/dist/cjs/tools/enterprise_web_search_tool.js +3 -6
  85. package/dist/cjs/tools/forwarding_artifact_service.js +18 -13
  86. package/dist/cjs/tools/function_tool.js +6 -3
  87. package/dist/cjs/tools/google_maps_grounding_tool.js +3 -6
  88. package/dist/cjs/tools/google_search_tool.js +3 -6
  89. package/dist/cjs/tools/load_artifacts_tool.js +47 -23
  90. package/dist/cjs/tools/load_web_page.js +6 -172
  91. package/dist/cjs/tools/mcp/load_mcp_resource_tool.js +34 -5
  92. package/dist/cjs/tools/openapi_tool/auth/auth_helpers.js +11 -2
  93. package/dist/cjs/tools/openapi_tool/openapi_spec_parser/operation_parser.js +1 -1
  94. package/dist/cjs/tools/openapi_tool/rest_api_tool.js +16 -18
  95. package/dist/cjs/tools/preload_memory_tool.js +1 -1
  96. package/dist/cjs/tools/resume_inputs.js +27 -0
  97. package/dist/cjs/tools/retrieval/base_retrieval_tool.js +60 -0
  98. package/dist/cjs/tools/retrieval/files_retrieval.js +95 -0
  99. package/dist/cjs/tools/retrieval/llama_index_retrieval.js +57 -0
  100. package/dist/cjs/tools/url_context_tool.js +3 -6
  101. package/dist/cjs/tools/vertex_ai_search_tool.js +4 -8
  102. package/dist/cjs/tools/vertex_rag_retrieval_tool.js +3 -10
  103. package/dist/cjs/utils/crypto_shim.js +16 -0
  104. package/dist/cjs/utils/gemini_schema_util.js +0 -6
  105. package/dist/cjs/utils/logger.js +15 -50
  106. package/dist/cjs/utils/logger_browser.js +86 -0
  107. package/dist/cjs/utils/logger_node.js +119 -0
  108. package/dist/cjs/utils/redact_inline_data.js +46 -0
  109. package/dist/cjs/utils/redact_uri.js +15 -1
  110. package/dist/cjs/utils/schema.js +1 -1
  111. package/dist/cjs/utils/ssrf_guard.js +262 -0
  112. package/dist/cjs/version.js +1 -1
  113. package/dist/cjs/workflow/base_node.js +1 -1
  114. package/dist/cjs/workflow/graph.js +1 -1
  115. package/dist/cjs/workflow/nodes/node_tool.js +2 -11
  116. package/dist/cjs/workflow/request_input.js +1 -1
  117. package/dist/cjs/workflow/run_llm_agent_as_node.js +1 -1
  118. package/dist/cjs/workflow/workflow.js +1 -1
  119. package/dist/esm/a2a/a2a_event.js +0 -28
  120. package/dist/esm/a2a/a2a_remote_agent.js +10 -5
  121. package/dist/esm/a2a/a2a_remote_agent_utils.js +102 -2
  122. package/dist/esm/a2a/agent_card.js +63 -6
  123. package/dist/esm/a2a/agent_executor.js +10 -3
  124. package/dist/esm/a2a/agent_to_a2a.js +8 -2
  125. package/dist/esm/a2a/event_processor_utils.js +1 -2
  126. package/dist/esm/a2a/executor_context.js +4 -2
  127. package/dist/esm/a2a/index.js +7 -1
  128. package/dist/esm/a2a/request_metadata.js +68 -0
  129. package/dist/esm/agents/base_agent.js +9 -8
  130. package/dist/esm/agents/context.js +7 -0
  131. package/dist/esm/agents/functions.js +152 -48
  132. package/dist/esm/agents/invocation_context.js +1 -0
  133. package/dist/esm/agents/llm_agent.js +6 -5
  134. package/dist/esm/agents/loop_agent.js +1 -1
  135. package/dist/esm/agents/parallel_agent.js +1 -1
  136. package/dist/esm/agents/processors/agent_transfer_llm_request_processor.js +26 -5
  137. package/dist/esm/agents/processors/code_execution_request_processor.js +2 -2
  138. package/dist/esm/agents/processors/content_processor_utils.js +5 -5
  139. package/dist/esm/agents/processors/content_request_processor.js +4 -1
  140. package/dist/esm/agents/processors/request_confirmation_llm_request_processor.js +19 -12
  141. package/dist/esm/agents/processors/request_input_llm_request_processor.js +3 -7
  142. package/dist/esm/agents/readonly_context.js +6 -0
  143. package/dist/esm/agents/routed_agent.js +1 -1
  144. package/dist/esm/agents/sequential_agent.js +1 -1
  145. package/dist/esm/apps/app.js +1 -1
  146. package/dist/esm/artifacts/file_artifact_service.js +1 -2
  147. package/dist/esm/artifacts/scoped_artifact_service.js +9 -0
  148. package/dist/esm/artifacts/session_artifact_service.js +12 -0
  149. package/dist/esm/auth/auth_handler.js +47 -8
  150. package/dist/esm/auth/oauth2/oauth2_credential_refresher.js +1 -1
  151. package/dist/esm/auth/oauth2/oauth2_utils.js +15 -2
  152. package/dist/esm/code_executors/base_code_executor.js +1 -1
  153. package/dist/esm/code_executors/built_in_code_executor.js +1 -1
  154. package/dist/esm/code_executors/code_execution_utils.js +2 -2
  155. package/dist/esm/code_executors/container_code_executor.js +155 -0
  156. package/dist/esm/code_executors/docker_container.js +265 -0
  157. package/dist/esm/code_executors/unsafe_local_code_executor.js +11 -6
  158. package/dist/esm/common.js +73 -38
  159. package/dist/esm/context/agent_controlled_context_compactor.js +10 -5
  160. package/dist/esm/context/anchored_context_compactor.js +45 -19
  161. package/dist/esm/context/compaction_utils.js +13 -5
  162. package/dist/esm/context/token_based_context_compactor.js +10 -2
  163. package/dist/esm/context/trajectory_thought_pruning_compactor.js +17 -10
  164. package/dist/esm/context/truncating_context_compactor.js +17 -5
  165. package/dist/esm/errors/already_exists_error.js +23 -0
  166. package/dist/esm/errors/input_validation_error.js +23 -0
  167. package/dist/{web/auth/refresher/base_credential_refresher.js → esm/errors/not_found_error.js} +9 -6
  168. package/dist/esm/errors/session_not_found_error.js +23 -0
  169. package/dist/esm/errors/tool_execution_error.js +40 -0
  170. package/dist/esm/events/event.js +1 -1
  171. package/dist/esm/events/event_actions.js +6 -0
  172. package/dist/esm/examples/base_example_provider.js +1 -1
  173. package/dist/esm/index.js +37 -0
  174. package/dist/esm/index_web.js +2 -0
  175. package/dist/esm/integrations/agent_registry/agent_registry.js +3 -2
  176. package/dist/esm/memory/rag_memory_transcript.js +106 -0
  177. package/dist/esm/memory/vertex_ai_memory_bank_service.js +2 -2
  178. package/dist/esm/memory/vertex_ai_rag_api.js +93 -0
  179. package/dist/esm/memory/vertex_ai_rag_memory_service.js +208 -0
  180. package/dist/esm/models/apigee_llm.js +1 -1
  181. package/dist/esm/models/base_llm.js +1 -1
  182. package/dist/esm/models/chrome_prompt_llm.js +285 -0
  183. package/dist/esm/models/chrome_prompt_utils.js +192 -0
  184. package/dist/esm/models/google_llm.js +9 -4
  185. package/dist/esm/models/interactions_utils.js +2 -3
  186. package/dist/esm/models/registry.js +2 -0
  187. package/dist/esm/plugins/_reflect_retry_utils.js +111 -0
  188. package/dist/esm/plugins/reflect_retry_model_plugin.js +250 -0
  189. package/dist/esm/plugins/reflect_retry_tool_plugin.js +254 -0
  190. package/dist/esm/runner/runner.js +35 -27
  191. package/dist/esm/sessions/database_session_service.js +58 -25
  192. package/dist/esm/sessions/db/operations.js +229 -22
  193. package/dist/esm/sessions/db/schema.js +111 -160
  194. package/dist/esm/sessions/registry.js +5 -1
  195. package/dist/esm/sessions/vertex_ai_session_service.js +1 -1
  196. package/dist/esm/telemetry/setup.js +1 -1
  197. package/dist/esm/telemetry/tracing.js +11 -1
  198. package/dist/esm/tools/agent_tool.js +4 -5
  199. package/dist/esm/tools/base_tool.js +11 -3
  200. package/dist/esm/tools/base_toolset.js +4 -4
  201. package/dist/esm/tools/built_in_tool.js +51 -0
  202. package/dist/esm/tools/enterprise_web_search_tool.js +3 -6
  203. package/dist/esm/tools/forwarding_artifact_service.js +18 -13
  204. package/dist/esm/tools/function_tool.js +6 -3
  205. package/dist/esm/tools/google_maps_grounding_tool.js +3 -6
  206. package/dist/esm/tools/google_search_tool.js +3 -6
  207. package/dist/esm/tools/load_artifacts_tool.js +48 -24
  208. package/dist/esm/tools/load_web_page.js +10 -170
  209. package/dist/esm/tools/mcp/load_mcp_resource_tool.js +34 -5
  210. package/dist/esm/tools/openapi_tool/auth/auth_helpers.js +13 -2
  211. package/dist/esm/tools/openapi_tool/openapi_spec_parser/operation_parser.js +1 -1
  212. package/dist/esm/tools/openapi_tool/rest_api_tool.js +16 -18
  213. package/dist/esm/tools/preload_memory_tool.js +1 -1
  214. package/dist/esm/tools/retrieval/base_retrieval_tool.js +33 -0
  215. package/dist/esm/tools/retrieval/files_retrieval.js +81 -0
  216. package/dist/esm/tools/retrieval/llama_index_retrieval.js +30 -0
  217. package/dist/esm/tools/url_context_tool.js +3 -6
  218. package/dist/esm/tools/vertex_ai_search_tool.js +4 -8
  219. package/dist/esm/tools/vertex_rag_retrieval_tool.js +3 -10
  220. package/dist/esm/utils/crypto_shim.js +14 -0
  221. package/dist/esm/utils/gemini_schema_util.js +0 -6
  222. package/dist/esm/utils/logger.js +14 -40
  223. package/dist/esm/utils/logger_browser.js +58 -0
  224. package/dist/esm/utils/logger_node.js +81 -0
  225. package/dist/esm/utils/redact_inline_data.js +19 -0
  226. package/dist/esm/utils/redact_uri.js +15 -1
  227. package/dist/esm/utils/schema.js +1 -1
  228. package/dist/{web/tools/load_web_page.js → esm/utils/ssrf_guard.js} +95 -107
  229. package/dist/esm/version.js +1 -1
  230. package/dist/esm/workflow/base_node.js +1 -1
  231. package/dist/esm/workflow/graph.js +1 -1
  232. package/dist/esm/workflow/nodes/node_tool.js +2 -11
  233. package/dist/esm/workflow/request_input.js +1 -1
  234. package/dist/esm/workflow/run_llm_agent_as_node.js +1 -1
  235. package/dist/esm/workflow/workflow.js +1 -1
  236. package/dist/types/a2a/a2a_event.d.ts +7 -10
  237. package/dist/types/a2a/a2a_remote_agent.d.ts +5 -0
  238. package/dist/types/a2a/a2a_remote_agent_utils.d.ts +25 -0
  239. package/dist/types/a2a/agent_card.d.ts +9 -0
  240. package/dist/types/a2a/agent_executor.d.ts +1 -1
  241. package/dist/types/a2a/agent_to_a2a.d.ts +2 -0
  242. package/dist/types/a2a/auth.d.ts +5 -1
  243. package/dist/types/a2a/executor_context.d.ts +7 -1
  244. package/dist/types/a2a/index.d.ts +1 -1
  245. package/dist/types/a2a/request_metadata.d.ts +22 -0
  246. package/dist/types/agents/base_agent.d.ts +19 -16
  247. package/dist/types/agents/context.d.ts +8 -0
  248. package/dist/types/agents/functions.d.ts +72 -6
  249. package/dist/types/agents/invocation_context.d.ts +11 -3
  250. package/dist/types/agents/llm_agent.d.ts +9 -7
  251. package/dist/types/agents/processors/agent_transfer_llm_request_processor.d.ts +16 -1
  252. package/dist/types/agents/readonly_context.d.ts +4 -0
  253. package/dist/types/agents/run_config.d.ts +21 -8
  254. package/dist/types/artifacts/scoped_artifact_service.d.ts +13 -0
  255. package/dist/types/artifacts/session_artifact_service.d.ts +8 -1
  256. package/dist/types/auth/auth_credential.d.ts +13 -8
  257. package/dist/types/auth/auth_handler.d.ts +12 -1
  258. package/dist/types/auth/oauth2/oauth2_credential_refresher.d.ts +1 -1
  259. package/dist/types/auth/oauth2/oauth2_utils.d.ts +9 -0
  260. package/dist/types/auth/refresher/base_credential_refresher.d.ts +1 -1
  261. package/dist/types/code_executors/code_execution_utils.d.ts +1 -1
  262. package/dist/types/code_executors/container_code_executor.d.ts +89 -0
  263. package/dist/types/code_executors/docker_container.d.ts +79 -0
  264. package/dist/types/common.d.ts +22 -20
  265. package/dist/types/context/compaction_utils.d.ts +9 -1
  266. package/dist/types/errors/already_exists_error.d.ts +14 -0
  267. package/dist/types/errors/input_validation_error.d.ts +14 -0
  268. package/dist/types/errors/not_found_error.d.ts +14 -0
  269. package/dist/types/errors/session_not_found_error.d.ts +14 -0
  270. package/dist/types/errors/tool_execution_error.d.ts +36 -0
  271. package/dist/types/events/event_actions.d.ts +13 -0
  272. package/dist/types/index.d.ts +22 -1
  273. package/dist/types/memory/rag_memory_transcript.d.ts +55 -0
  274. package/dist/types/memory/vertex_ai_rag_api.d.ts +89 -0
  275. package/dist/types/memory/vertex_ai_rag_memory_service.d.ts +68 -0
  276. package/dist/types/models/chrome_prompt_llm.d.ts +210 -0
  277. package/dist/types/models/chrome_prompt_utils.d.ts +68 -0
  278. package/dist/types/models/google_llm.d.ts +8 -3
  279. package/dist/types/models/registry.d.ts +3 -2
  280. package/dist/types/plugins/_reflect_retry_utils.d.ts +72 -0
  281. package/dist/types/plugins/base_plugin.d.ts +12 -10
  282. package/dist/types/plugins/logging_plugin.d.ts +3 -2
  283. package/dist/types/plugins/reflect_retry_model_plugin.d.ts +132 -0
  284. package/dist/types/plugins/reflect_retry_tool_plugin.d.ts +187 -0
  285. package/dist/types/runner/runner.d.ts +7 -8
  286. package/dist/types/sessions/database_session_service.d.ts +1 -1
  287. package/dist/types/sessions/db/operations.d.ts +13 -1
  288. package/dist/types/sessions/db/schema.d.ts +23 -9
  289. package/dist/types/tools/base_tool.d.ts +11 -0
  290. package/dist/types/tools/base_toolset.d.ts +3 -4
  291. package/dist/types/tools/built_in_tool.d.ts +41 -0
  292. package/dist/types/tools/enterprise_web_search_tool.d.ts +4 -4
  293. package/dist/types/tools/forwarding_artifact_service.d.ts +23 -10
  294. package/dist/types/tools/function_tool.d.ts +42 -9
  295. package/dist/types/tools/google_maps_grounding_tool.d.ts +4 -4
  296. package/dist/types/tools/google_search_tool.d.ts +4 -4
  297. package/dist/types/tools/long_running_tool.d.ts +1 -1
  298. package/dist/types/tools/mcp/mcp_toolset.d.ts +11 -10
  299. package/dist/types/tools/openapi_tool/auth/auth_helpers.d.ts +5 -0
  300. package/dist/types/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.d.ts +0 -1
  301. package/dist/types/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.d.ts +0 -1
  302. package/dist/types/tools/preload_memory_tool.d.ts +1 -1
  303. package/dist/types/tools/resume_inputs.d.ts +25 -0
  304. package/dist/types/tools/retrieval/base_retrieval_tool.d.ts +21 -0
  305. package/dist/types/tools/retrieval/files_retrieval.d.ts +50 -0
  306. package/dist/types/tools/retrieval/llama_index_retrieval.d.ts +62 -0
  307. package/dist/types/tools/url_context_tool.d.ts +4 -4
  308. package/dist/types/tools/vertex_ai_search_tool.d.ts +4 -4
  309. package/dist/types/tools/vertex_rag_retrieval_tool.d.ts +13 -12
  310. package/dist/types/utils/crypto_shim.d.ts +16 -0
  311. package/dist/types/utils/gemini_schema_util.d.ts +5 -7
  312. package/dist/types/utils/logger.d.ts +23 -1
  313. package/dist/types/utils/logger_browser.d.ts +28 -0
  314. package/dist/types/utils/logger_node.d.ts +20 -0
  315. package/dist/types/utils/output_schema_utils.d.ts +3 -3
  316. package/dist/types/utils/redact_inline_data.d.ts +16 -0
  317. package/dist/types/utils/redact_uri.d.ts +12 -8
  318. package/dist/types/utils/ssrf_guard.d.ts +32 -0
  319. package/dist/types/version.d.ts +1 -1
  320. package/dist/web/index_web.js +304 -3
  321. package/dist/web/index_web.js.map +7 -0
  322. package/package.json +17 -14
  323. package/dist/web/a2a/a2a_event.js +0 -290
  324. package/dist/web/a2a/a2a_remote_agent.js +0 -200
  325. package/dist/web/a2a/a2a_remote_agent_run_processor.js +0 -189
  326. package/dist/web/a2a/a2a_remote_agent_utils.js +0 -141
  327. package/dist/web/a2a/agent_card.js +0 -373
  328. package/dist/web/a2a/agent_executor.js +0 -246
  329. package/dist/web/a2a/agent_to_a2a.js +0 -126
  330. package/dist/web/a2a/auth.js +0 -41
  331. package/dist/web/a2a/event_converter_utils.js +0 -242
  332. package/dist/web/a2a/event_processor_utils.js +0 -209
  333. package/dist/web/a2a/executor_context.js +0 -28
  334. package/dist/web/a2a/index.js +0 -20
  335. package/dist/web/a2a/metadata_converter_utils.js +0 -115
  336. package/dist/web/a2a/part_converter_utils.js +0 -201
  337. package/dist/web/agents/active_streaming_tool.js +0 -25
  338. package/dist/web/agents/base_agent.js +0 -462
  339. package/dist/web/agents/context.js +0 -146
  340. package/dist/web/agents/framework_function_calls.js +0 -34
  341. package/dist/web/agents/functions.js +0 -462
  342. package/dist/web/agents/instructions.js +0 -188
  343. package/dist/web/agents/invocation_context.js +0 -126
  344. package/dist/web/agents/live_request_queue.js +0 -151
  345. package/dist/web/agents/llm_agent.js +0 -1514
  346. package/dist/web/agents/loop_agent.js +0 -131
  347. package/dist/web/agents/parallel_agent.js +0 -122
  348. package/dist/web/agents/processors/agent_transfer_llm_request_processor.js +0 -113
  349. package/dist/web/agents/processors/base_llm_processor.js +0 -21
  350. package/dist/web/agents/processors/basic_llm_request_processor.js +0 -84
  351. package/dist/web/agents/processors/code_execution_request_processor.js +0 -381
  352. package/dist/web/agents/processors/content_processor_utils.js +0 -432
  353. package/dist/web/agents/processors/content_request_processor.js +0 -73
  354. package/dist/web/agents/processors/context_compactor_request_processor.js +0 -78
  355. package/dist/web/agents/processors/identity_llm_request_processor.js +0 -59
  356. package/dist/web/agents/processors/instructions_llm_request_processor.js +0 -85
  357. package/dist/web/agents/processors/interactions_request_processor.js +0 -56
  358. package/dist/web/agents/processors/request_confirmation_llm_request_processor.js +0 -393
  359. package/dist/web/agents/processors/request_input_llm_request_processor.js +0 -228
  360. package/dist/web/agents/processors/tool_filter_request_processor.js +0 -72
  361. package/dist/web/agents/readonly_context.js +0 -60
  362. package/dist/web/agents/routed_agent.js +0 -161
  363. package/dist/web/agents/run_config.js +0 -74
  364. package/dist/web/agents/sequential_agent.js +0 -141
  365. package/dist/web/agents/transcription_entry.js +0 -7
  366. package/dist/web/agents/user_input_request.js +0 -135
  367. package/dist/web/apps/app.js +0 -52
  368. package/dist/web/apps/resumability_config.js +0 -33
  369. package/dist/web/artifacts/base_artifact_service.js +0 -7
  370. package/dist/web/artifacts/file_artifact_service.js +0 -568
  371. package/dist/web/artifacts/gcs_artifact_service.js +0 -298
  372. package/dist/web/artifacts/in_memory_artifact_service.js +0 -172
  373. package/dist/web/artifacts/registry.js +0 -36
  374. package/dist/web/artifacts/scoped_artifact_service.js +0 -89
  375. package/dist/web/auth/auth_credential.js +0 -18
  376. package/dist/web/auth/auth_handler.js +0 -151
  377. package/dist/web/auth/auth_preprocessor.js +0 -184
  378. package/dist/web/auth/auth_provider_registry.js +0 -37
  379. package/dist/web/auth/auth_schemes.js +0 -36
  380. package/dist/web/auth/auth_tool.js +0 -7
  381. package/dist/web/auth/base_auth_provider.js +0 -7
  382. package/dist/web/auth/credential_response_binding.js +0 -91
  383. package/dist/web/auth/credential_service/base_credential_service.js +0 -7
  384. package/dist/web/auth/credential_service/in_memory_credential_service.js +0 -50
  385. package/dist/web/auth/credential_service/session_state_credential_service.js +0 -27
  386. package/dist/web/auth/exchanger/base_credential_exchanger.js +0 -16
  387. package/dist/web/auth/exchanger/credential_exchanger_registry.js +0 -35
  388. package/dist/web/auth/oauth2/oauth2_credential_exchanger.js +0 -194
  389. package/dist/web/auth/oauth2/oauth2_credential_refresher.js +0 -105
  390. package/dist/web/auth/oauth2/oauth2_discovery.js +0 -196
  391. package/dist/web/auth/oauth2/oauth2_utils.js +0 -105
  392. package/dist/web/auth/refresher/credential_refresher_registry.js +0 -44
  393. package/dist/web/code_executors/agent_engine_sandbox_code_executor.js +0 -284
  394. package/dist/web/code_executors/base_code_executor.js +0 -68
  395. package/dist/web/code_executors/built_in_code_executor.js +0 -50
  396. package/dist/web/code_executors/code_execution_utils.js +0 -131
  397. package/dist/web/code_executors/code_executor_context.js +0 -174
  398. package/dist/web/code_executors/unsafe_local_code_executor.js +0 -221
  399. package/dist/web/common.js +0 -452
  400. package/dist/web/context/agent_controlled_context_compactor.js +0 -76
  401. package/dist/web/context/anchored_context_compactor.js +0 -120
  402. package/dist/web/context/base_context_compactor.js +0 -7
  403. package/dist/web/context/compaction_utils.js +0 -42
  404. package/dist/web/context/summarizers/base_summarizer.js +0 -7
  405. package/dist/web/context/summarizers/llm_summarizer.js +0 -91
  406. package/dist/web/context/token_based_context_compactor.js +0 -118
  407. package/dist/web/context/trajectory_thought_pruning_compactor.js +0 -47
  408. package/dist/web/context/truncating_context_compactor.js +0 -34
  409. package/dist/web/environment/base_environment.js +0 -71
  410. package/dist/web/environment/local_environment.js +0 -165
  411. package/dist/web/events/compacted_event.js +0 -51
  412. package/dist/web/events/event.js +0 -208
  413. package/dist/web/events/event_actions.js +0 -74
  414. package/dist/web/events/structured_events.js +0 -79
  415. package/dist/web/examples/base_example_provider.js +0 -32
  416. package/dist/web/examples/example.js +0 -7
  417. package/dist/web/examples/example_util.js +0 -83
  418. package/dist/web/features/feature_registry.js +0 -115
  419. package/dist/web/index.js +0 -57
  420. package/dist/web/integrations/agent_registry/agent_registry.js +0 -337
  421. package/dist/web/integrations/agent_registry/agent_registry_mcp_toolset.js +0 -120
  422. package/dist/web/integrations/agent_registry/helpers.js +0 -32
  423. package/dist/web/integrations/agent_registry/types.js +0 -20
  424. package/dist/web/memory/base_memory_service.js +0 -7
  425. package/dist/web/memory/in_memory_memory_service.js +0 -89
  426. package/dist/web/memory/memory_entry.js +0 -7
  427. package/dist/web/memory/vertex_ai_memory_bank_service.js +0 -496
  428. package/dist/web/models/apigee_llm.js +0 -227
  429. package/dist/web/models/base_llm.js +0 -78
  430. package/dist/web/models/base_llm_connection.js +0 -7
  431. package/dist/web/models/gemini_llm_connection.js +0 -183
  432. package/dist/web/models/google_llm.js +0 -396
  433. package/dist/web/models/interactions_utils.js +0 -745
  434. package/dist/web/models/llm_request.js +0 -57
  435. package/dist/web/models/llm_response.js +0 -48
  436. package/dist/web/models/registry.js +0 -100
  437. package/dist/web/models/routed_llm.js +0 -112
  438. package/dist/web/plugins/base_plugin.js +0 -305
  439. package/dist/web/plugins/global_instruction_plugin.js +0 -71
  440. package/dist/web/plugins/logging_plugin.js +0 -241
  441. package/dist/web/plugins/plugin_manager.js +0 -318
  442. package/dist/web/plugins/security_plugin.js +0 -148
  443. package/dist/web/runner/in_memory_runner.js +0 -50
  444. package/dist/web/runner/runner.js +0 -747
  445. package/dist/web/sessions/base_session_service.js +0 -123
  446. package/dist/web/sessions/database_session_service.js +0 -440
  447. package/dist/web/sessions/db/operations.js +0 -124
  448. package/dist/web/sessions/db/schema.js +0 -216
  449. package/dist/web/sessions/in_memory_session_service.js +0 -251
  450. package/dist/web/sessions/registry.js +0 -38
  451. package/dist/web/sessions/session.js +0 -23
  452. package/dist/web/sessions/state.js +0 -159
  453. package/dist/web/sessions/state_write_order.js +0 -74
  454. package/dist/web/sessions/vertex_ai_session_service.js +0 -546
  455. package/dist/web/skills/gcp_skill_registry.js +0 -80
  456. package/dist/web/skills/loader.js +0 -372
  457. package/dist/web/skills/prompt.js +0 -34
  458. package/dist/web/skills/skill.js +0 -67
  459. package/dist/web/skills/skill_registry.js +0 -7
  460. package/dist/web/telemetry/google_cloud.js +0 -99
  461. package/dist/web/telemetry/setup.js +0 -89
  462. package/dist/web/telemetry/tracing.js +0 -304
  463. package/dist/web/tools/agent_tool.js +0 -150
  464. package/dist/web/tools/base_tool.js +0 -116
  465. package/dist/web/tools/base_toolset.js +0 -62
  466. package/dist/web/tools/consolidate_context_tool.js +0 -55
  467. package/dist/web/tools/enterprise_web_search_tool.js +0 -60
  468. package/dist/web/tools/example_tool.js +0 -46
  469. package/dist/web/tools/exit_loop_tool.js +0 -47
  470. package/dist/web/tools/finish_task_tool.js +0 -92
  471. package/dist/web/tools/forwarding_artifact_service.js +0 -51
  472. package/dist/web/tools/function_tool.js +0 -151
  473. package/dist/web/tools/get_user_choice_tool.js +0 -27
  474. package/dist/web/tools/google_maps_grounding_tool.js +0 -59
  475. package/dist/web/tools/google_search_tool.js +0 -55
  476. package/dist/web/tools/load_artifacts_tool.js +0 -159
  477. package/dist/web/tools/load_memory_tool.js +0 -83
  478. package/dist/web/tools/long_running_tool.js +0 -58
  479. package/dist/web/tools/mcp/index.js +0 -11
  480. package/dist/web/tools/mcp/load_mcp_resource_tool.js +0 -111
  481. package/dist/web/tools/mcp/mcp_session_manager.js +0 -114
  482. package/dist/web/tools/mcp/mcp_tool.js +0 -47
  483. package/dist/web/tools/mcp/mcp_toolset.js +0 -144
  484. package/dist/web/tools/openapi_tool/auth/auth_helpers.js +0 -53
  485. package/dist/web/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +0 -62
  486. package/dist/web/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +0 -113
  487. package/dist/web/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +0 -242
  488. package/dist/web/tools/openapi_tool/openapi_spec_parser/operation_parser.js +0 -200
  489. package/dist/web/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +0 -98
  490. package/dist/web/tools/openapi_tool/openapi_toolset.js +0 -99
  491. package/dist/web/tools/openapi_tool/rest_api_tool.js +0 -247
  492. package/dist/web/tools/preload_memory_tool.js +0 -81
  493. package/dist/web/tools/request_input_tool.js +0 -29
  494. package/dist/web/tools/skill/list_skills_tool.js +0 -52
  495. package/dist/web/tools/skill/load_skill_resource_tool.js +0 -192
  496. package/dist/web/tools/skill/load_skill_tool.js +0 -96
  497. package/dist/web/tools/skill/run_skill_inline_script_tool.js +0 -191
  498. package/dist/web/tools/skill/run_skill_script_tool.js +0 -227
  499. package/dist/web/tools/skill/search_skills_tool.js +0 -84
  500. package/dist/web/tools/skill/skill_toolset.js +0 -185
  501. package/dist/web/tools/tool_confirmation.js +0 -43
  502. package/dist/web/tools/url_context_tool.js +0 -48
  503. package/dist/web/tools/vertex_ai_search_tool.js +0 -107
  504. package/dist/web/tools/vertex_rag_retrieval_tool.js +0 -40
  505. package/dist/web/utils/async_hooks_shim.js +0 -28
  506. package/dist/web/utils/async_queue.js +0 -88
  507. package/dist/web/utils/branch_trie.js +0 -16
  508. package/dist/web/utils/case_utils.js +0 -28
  509. package/dist/web/utils/client_labels.js +0 -70
  510. package/dist/web/utils/crypto_shim.js +0 -18
  511. package/dist/web/utils/deprecated.js +0 -40
  512. package/dist/web/utils/env_aware_utils.js +0 -115
  513. package/dist/web/utils/error_utils.js +0 -101
  514. package/dist/web/utils/experimental.js +0 -54
  515. package/dist/web/utils/failover_utils.js +0 -100
  516. package/dist/web/utils/file_extension_utils.js +0 -55
  517. package/dist/web/utils/file_utils.js +0 -108
  518. package/dist/web/utils/gemini_schema_util.js +0 -177
  519. package/dist/web/utils/genai_schema_to_json.js +0 -80
  520. package/dist/web/utils/live_connection_utils.js +0 -257
  521. package/dist/web/utils/logger.js +0 -140
  522. package/dist/web/utils/model_name.js +0 -75
  523. package/dist/web/utils/object_notation_utils.js +0 -54
  524. package/dist/web/utils/optional_peer.js +0 -38
  525. package/dist/web/utils/output_schema_utils.js +0 -18
  526. package/dist/web/utils/partial_copy.js +0 -26
  527. package/dist/web/utils/redact_uri.js +0 -39
  528. package/dist/web/utils/schema.js +0 -167
  529. package/dist/web/utils/simple_zod_to_json.js +0 -134
  530. package/dist/web/utils/streaming_utils.js +0 -438
  531. package/dist/web/utils/task.js +0 -38
  532. package/dist/web/utils/variant_utils.js +0 -23
  533. package/dist/web/utils/vertex_ai_utils.js +0 -27
  534. package/dist/web/version.js +0 -11
  535. package/dist/web/workflow/base_node.js +0 -215
  536. package/dist/web/workflow/branch_path.js +0 -77
  537. package/dist/web/workflow/dynamic_node_scheduler.js +0 -202
  538. package/dist/web/workflow/errors.js +0 -140
  539. package/dist/web/workflow/graph.js +0 -127
  540. package/dist/web/workflow/index.js +0 -80
  541. package/dist/web/workflow/node.js +0 -87
  542. package/dist/web/workflow/node_builders.js +0 -40
  543. package/dist/web/workflow/node_context.js +0 -236
  544. package/dist/web/workflow/node_error_event.js +0 -86
  545. package/dist/web/workflow/node_runner.js +0 -481
  546. package/dist/web/workflow/node_state.js +0 -43
  547. package/dist/web/workflow/node_status.js +0 -20
  548. package/dist/web/workflow/nodes/function_node.js +0 -221
  549. package/dist/web/workflow/nodes/join_node.js +0 -47
  550. package/dist/web/workflow/nodes/node_tool.js +0 -131
  551. package/dist/web/workflow/nodes/parallel_worker.js +0 -120
  552. package/dist/web/workflow/nodes/tool_node.js +0 -126
  553. package/dist/web/workflow/request_input.js +0 -36
  554. package/dist/web/workflow/retry_config.js +0 -43
  555. package/dist/web/workflow/run_llm_agent_as_node.js +0 -266
  556. package/dist/web/workflow/run_node_as_invocation.js +0 -170
  557. package/dist/web/workflow/schedule_dynamic_node.js +0 -26
  558. package/dist/web/workflow/trigger.js +0 -7
  559. package/dist/web/workflow/utils/graph_parser.js +0 -188
  560. package/dist/web/workflow/utils/graph_validation.js +0 -189
  561. package/dist/web/workflow/utils/hitl_utils.js +0 -239
  562. package/dist/web/workflow/utils/rehydration_utils.js +0 -342
  563. package/dist/web/workflow/utils/retry_utils.js +0 -82
  564. package/dist/web/workflow/utils/workflow_graph_utils.js +0 -115
  565. package/dist/web/workflow/workflow.js +0 -529
  566. /package/dist/{web/artifacts/session_artifact_service.js → esm/tools/resume_inputs.js} +0 -0
@@ -1,747 +0,0 @@
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 __getOwnPropDescs = Object.getOwnPropertyDescriptors;
6
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
9
- var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
10
- var __typeError = (msg) => {
11
- throw TypeError(msg);
12
- };
13
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
14
- var __spreadValues = (a, b) => {
15
- for (var prop in b || (b = {}))
16
- if (__hasOwnProp.call(b, prop))
17
- __defNormalProp(a, prop, b[prop]);
18
- if (__getOwnPropSymbols)
19
- for (var prop of __getOwnPropSymbols(b)) {
20
- if (__propIsEnum.call(b, prop))
21
- __defNormalProp(a, prop, b[prop]);
22
- }
23
- return a;
24
- };
25
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
26
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
27
- var __await = function(promise, isYieldStar) {
28
- this[0] = promise;
29
- this[1] = isYieldStar;
30
- };
31
- var __asyncGenerator = (__this, __arguments, generator) => {
32
- var resume = (k, v, yes, no) => {
33
- try {
34
- var x = generator[k](v), isAwait = (v = x.value) instanceof __await, done = x.done;
35
- 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));
36
- } catch (e) {
37
- no(e);
38
- }
39
- }, method = (k) => it[k] = (x) => new Promise((yes, no) => resume(k, x, yes, no)), it = {};
40
- return generator = generator.apply(__this, __arguments), it[__knownSymbol("asyncIterator")] = () => it, method("next"), method("throw"), method("return"), it;
41
- };
42
- var __yieldStar = (value) => {
43
- var obj = value[__knownSymbol("asyncIterator")], isAwait = false, method, it = {};
44
- if (obj == null) {
45
- obj = value[__knownSymbol("iterator")]();
46
- method = (k) => it[k] = (x) => obj[k](x);
47
- } else {
48
- obj = obj.call(value);
49
- method = (k) => it[k] = (v) => {
50
- if (isAwait) {
51
- isAwait = false;
52
- if (k === "throw") throw v;
53
- return v;
54
- }
55
- isAwait = true;
56
- return {
57
- done: false,
58
- value: new __await(new Promise((resolve) => {
59
- var x = obj[k](v);
60
- if (!(x instanceof Object)) __typeError("Object expected");
61
- resolve(x);
62
- }), 1)
63
- };
64
- };
65
- }
66
- return it[__knownSymbol("iterator")] = () => it, method("next"), "throw" in obj ? method("throw") : it.throw = (x) => {
67
- throw x;
68
- }, "return" in obj && method("return"), it;
69
- };
70
- var __forAwait = (obj, it, method) => (it = obj[__knownSymbol("asyncIterator")]) ? it.call(obj) : (obj = obj[__knownSymbol("iterator")](), it = {}, method = (key, fn) => (fn = obj[key]) && (it[key] = (arg) => new Promise((yes, no, done) => (arg = fn.call(obj, arg), done = arg.done, Promise.resolve(arg.value).then((value) => yes({ value, done }), no)))), method("next"), method("return"), it);
71
- /**
72
- * @license
73
- * Copyright 2025 Google LLC
74
- * SPDX-License-Identifier: Apache-2.0
75
- */
76
- var _a;
77
- import { createPartFromText, Modality } from "@google/genai";
78
- import { context, trace } from "@opentelemetry/api";
79
- import { isBaseAgent } from "../agents/base_agent.js";
80
- import { reservedFunctionCallName } from "../agents/framework_function_calls.js";
81
- import { findMatchingFunctionCall } from "../agents/functions.js";
82
- import {
83
- InvocationContext,
84
- newInvocationContextId,
85
- requireAgent
86
- } from "../agents/invocation_context.js";
87
- import { isLlmAgent } from "../agents/llm_agent.js";
88
- import { createRunConfig } from "../agents/run_config.js";
89
- import { ScopedArtifactService } from "../artifacts/scoped_artifact_service.js";
90
- import {
91
- BuiltInCodeExecutor,
92
- isBuiltInCodeExecutor
93
- } from "../code_executors/built_in_code_executor.js";
94
- import { createEvent } from "../events/event.js";
95
- import { createEventActions } from "../events/event_actions.js";
96
- import { PluginManager } from "../plugins/plugin_manager.js";
97
- import {
98
- runAsyncGeneratorWithOtelContext,
99
- tracer
100
- } from "../telemetry/tracing.js";
101
- import { isBaseToolset } from "../tools/base_toolset.js";
102
- import { logger } from "../utils/logger.js";
103
- import { isGemini2OrAbove } from "../utils/model_name.js";
104
- import {
105
- asRunnableRoot,
106
- runNodeAsInvocation
107
- } from "../workflow/run_node_as_invocation.js";
108
- const RUNNER_SIGNATURE_SYMBOL = Symbol.for("google.adk.runner");
109
- function isRunner(obj) {
110
- return typeof obj === "object" && obj !== null && RUNNER_SIGNATURE_SYMBOL in obj && obj[RUNNER_SIGNATURE_SYMBOL] === true;
111
- }
112
- __name(isRunner, "isRunner");
113
- _a = RUNNER_SIGNATURE_SYMBOL;
114
- const _Runner = class _Runner {
115
- /**
116
- * Creates a new Runner instance.
117
- *
118
- * @param input The configuration for the runner.
119
- */
120
- constructor(input) {
121
- this[_a] = true;
122
- var _a2, _b, _c, _d, _e, _f, _g, _h, _i;
123
- const appName = (_b = (_a2 = input.app) == null ? void 0 : _a2.name) != null ? _b : input.appName;
124
- const agent = (_d = (_c = input.app) == null ? void 0 : _c.rootAgent) != null ? _d : input.agent;
125
- if (!agent) {
126
- throw new Error(
127
- "agent must be provided in runner constructor (or via app.rootAgent)"
128
- );
129
- }
130
- this.appName = appName;
131
- this.agent = asRunnableRoot(agent);
132
- const appPlugins = (_f = (_e = input.app) == null ? void 0 : _e.plugins) != null ? _f : [];
133
- const configPlugins = (_g = input.plugins) != null ? _g : [];
134
- this.pluginManager = new PluginManager([...appPlugins, ...configPlugins]);
135
- this.artifactService = input.artifactService;
136
- this.sessionService = input.sessionService;
137
- this.memoryService = input.memoryService;
138
- this.credentialService = input.credentialService;
139
- this.resumabilityConfig = (_i = (_h = input.app) == null ? void 0 : _h.resumabilityConfig) != null ? _i : input.resumabilityConfig;
140
- }
141
- /**
142
- * Runs the agent with a new, ephemeral session.
143
- *
144
- * @param params.userId The user ID of the session.
145
- * @param params.newMessage A new message to append to the session.
146
- * @param params.stateDelta An optional state delta to apply to the session.
147
- * @param params.runConfig The run config for the agent.
148
- * @yields The Events generated by the agent.
149
- */
150
- runEphemeral(params) {
151
- return __asyncGenerator(this, null, function* () {
152
- const session = yield new __await(this.sessionService.createSession({
153
- appName: this.appName,
154
- userId: params.userId
155
- }));
156
- const sessionId = session.id;
157
- try {
158
- yield* __yieldStar(this.runAsync({
159
- userId: params.userId,
160
- sessionId,
161
- newMessage: params.newMessage,
162
- stateDelta: params.stateDelta,
163
- runConfig: params.runConfig,
164
- customMetadata: params.customMetadata
165
- }));
166
- } finally {
167
- yield new __await(this.sessionService.deleteSession({
168
- appName: this.appName,
169
- userId: params.userId,
170
- sessionId
171
- }));
172
- }
173
- });
174
- }
175
- /**
176
- * Runs the agent with the given message, and returns an async generator of
177
- * events.
178
- *
179
- * @param params.userId The user ID of the session.
180
- * @param params.sessionId The session ID of the session.
181
- * @param params.newMessage A new message to append to the session.
182
- * @param params.stateDelta An optional state delta to apply to the session.
183
- * @param params.runConfig The run config for the agent.
184
- * @yields The events generated by the agent.
185
- */
186
- // TODO - b/425992518: user, sessionId, and runConfig can be internalized.
187
- runAsync(params) {
188
- return __asyncGenerator(this, null, function* () {
189
- const { userId, sessionId, stateDelta } = params;
190
- const runConfig = createRunConfig(params.runConfig);
191
- let newMessage = params.newMessage;
192
- if (newMessage && !newMessage.role) {
193
- newMessage.role = "user";
194
- }
195
- rejectReservedFunctionCalls(newMessage);
196
- const span = tracer.startSpan("invocation");
197
- const ctx = trace.setSpan(context.active(), span);
198
- try {
199
- yield* __yieldStar(runAsyncGeneratorWithOtelContext(
200
- ctx,
201
- this,
202
- function() {
203
- return __asyncGenerator(this, null, function* () {
204
- var _a2, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k;
205
- const session = yield new __await(this.sessionService.getSession({
206
- appName: this.appName,
207
- userId,
208
- sessionId
209
- }));
210
- if ((_a2 = params.abortSignal) == null ? void 0 : _a2.aborted) {
211
- return;
212
- }
213
- if (!session) {
214
- if (!this.appName) {
215
- throw new Error(
216
- "Session lookup failed: appName must be provided in runner constructor (or via app.name)"
217
- );
218
- }
219
- throw new Error("Session not found: ".concat(sessionId));
220
- }
221
- if (runConfig.supportCfc && isLlmAgent(this.agent)) {
222
- const modelName = this.agent.canonicalModel.model;
223
- if (!isGemini2OrAbove(modelName)) {
224
- throw new Error(
225
- "CFC is not supported for model: ".concat(modelName, " in agent: ").concat(this.agent.name)
226
- );
227
- }
228
- if (!isBuiltInCodeExecutor(this.agent.codeExecutor)) {
229
- this.agent.codeExecutor = new BuiltInCodeExecutor();
230
- }
231
- }
232
- const invocationContext = new InvocationContext({
233
- artifactService: this.artifactService ? new ScopedArtifactService(
234
- this.artifactService,
235
- this.appName,
236
- userId,
237
- sessionId
238
- ) : void 0,
239
- sessionService: this.sessionService,
240
- memoryService: this.memoryService,
241
- credentialService: this.credentialService,
242
- invocationId: newInvocationContextId(),
243
- agent: isBaseAgent(this.agent) ? this.agent : void 0,
244
- session,
245
- userContent: newMessage,
246
- runConfig,
247
- pluginManager: this.pluginManager,
248
- abortSignal: params.abortSignal
249
- });
250
- const pluginUserMessage = yield new __await(this.pluginManager.runOnUserMessageCallback({
251
- userMessage: newMessage,
252
- invocationContext
253
- }));
254
- if ((_b = params.abortSignal) == null ? void 0 : _b.aborted) {
255
- return;
256
- }
257
- if (pluginUserMessage) {
258
- newMessage = pluginUserMessage;
259
- }
260
- if (newMessage) {
261
- if (!((_c = newMessage.parts) == null ? void 0 : _c.length)) {
262
- throw new Error("No parts in the newMessage.");
263
- }
264
- if (runConfig.saveInputBlobsAsArtifacts) {
265
- newMessage = yield new __await(this.saveArtifacts(
266
- invocationContext.invocationId,
267
- session.userId,
268
- session.id,
269
- newMessage
270
- ));
271
- if ((_d = params.abortSignal) == null ? void 0 : _d.aborted) {
272
- return;
273
- }
274
- }
275
- yield new __await(this.sessionService.appendEvent({
276
- session,
277
- event: createEvent({
278
- invocationId: invocationContext.invocationId,
279
- author: "user",
280
- actions: stateDelta ? createEventActions({ stateDelta }) : void 0,
281
- content: newMessage,
282
- customMetadata: params.customMetadata
283
- })
284
- }));
285
- if ((_e = params.abortSignal) == null ? void 0 : _e.aborted) {
286
- return;
287
- }
288
- }
289
- if (isBaseAgent(this.agent)) {
290
- invocationContext.agent = this.determineAgentForResumption(
291
- session,
292
- this.agent
293
- );
294
- }
295
- if (newMessage) {
296
- const beforeRunCallbackResponse = yield new __await(this.pluginManager.runBeforeRunCallback({
297
- invocationContext
298
- }));
299
- if ((_f = params.abortSignal) == null ? void 0 : _f.aborted) {
300
- return;
301
- }
302
- if (beforeRunCallbackResponse) {
303
- const earlyExitEvent = createEvent({
304
- invocationId: invocationContext.invocationId,
305
- author: "model",
306
- content: beforeRunCallbackResponse
307
- });
308
- yield new __await(this.sessionService.appendEvent({
309
- session,
310
- event: earlyExitEvent
311
- }));
312
- if ((_g = params.abortSignal) == null ? void 0 : _g.aborted) {
313
- return;
314
- }
315
- yield earlyExitEvent;
316
- } else {
317
- try {
318
- for (var iter = __forAwait(this.runRoot(invocationContext)), more, temp, error; more = !(temp = yield new __await(iter.next())).done; more = false) {
319
- const event = temp.value;
320
- if ((_h = params.abortSignal) == null ? void 0 : _h.aborted) {
321
- return;
322
- }
323
- const modifiedEvent = yield new __await(this.pluginManager.runOnEventCallback({
324
- invocationContext,
325
- event
326
- }));
327
- const outputEvent = modifiedEvent ? __spreadProps(__spreadValues({}, modifiedEvent), {
328
- id: event.id,
329
- invocationId: event.invocationId,
330
- timestamp: event.timestamp,
331
- author: modifiedEvent.author || event.author,
332
- branch: (_i = modifiedEvent.branch) != null ? _i : event.branch
333
- }) : event;
334
- if (!event.partial) {
335
- yield new __await(this.sessionService.appendEvent({
336
- session,
337
- event: outputEvent
338
- }));
339
- }
340
- if ((_j = params.abortSignal) == null ? void 0 : _j.aborted) {
341
- return;
342
- }
343
- yield outputEvent;
344
- }
345
- } catch (temp) {
346
- error = [temp];
347
- } finally {
348
- try {
349
- more && (temp = iter.return) && (yield new __await(temp.call(iter)));
350
- } finally {
351
- if (error)
352
- throw error[0];
353
- }
354
- }
355
- yield new __await(this.pluginManager.runAfterRunCallback({ invocationContext }));
356
- if ((_k = params.abortSignal) == null ? void 0 : _k.aborted) {
357
- return;
358
- }
359
- }
360
- }
361
- });
362
- }
363
- ));
364
- } finally {
365
- span.end();
366
- const toolsets = isBaseAgent(this.agent) ? getAllToolsets(this.agent) : [];
367
- yield new __await(Promise.allSettled(toolsets.map((t) => t.close())));
368
- }
369
- });
370
- }
371
- /**
372
- * Runs whatever this runner was given as its root.
373
- *
374
- * An agent is run through `runAsync`, as always. A bare node — a `Workflow`
375
- * handed to the runner directly — is driven by {@link runNodeAsInvocation}.
376
- *
377
- * Only the execution differs. Everything around it (the run callbacks, event
378
- * persistence, cancellation) is shared, so the node path cannot drift from
379
- * the agent path on the things that are not about execution. adk-python has
380
- * two separate loops here and a TODO noting its node one lacks tracing and
381
- * plugins; there is nothing to lack if there is only one loop.
382
- */
383
- runRoot(invocationContext) {
384
- return __asyncGenerator(this, null, function* () {
385
- if (isBaseAgent(this.agent)) {
386
- yield* __yieldStar(requireAgent(invocationContext).runAsync(invocationContext));
387
- return;
388
- }
389
- yield* __yieldStar(runNodeAsInvocation(this.agent, invocationContext));
390
- });
391
- }
392
- /**
393
- * Saves artifacts from the message parts and replaces the inline data with
394
- * a file name placeholder and optional file reference.
395
- *
396
- * @param invocationId The current invocation ID.
397
- * @param userId The user ID of the session.
398
- * @param sessionId The session ID of the session.
399
- * @param message The message containing parts to process.
400
- */
401
- async saveArtifacts(invocationId, userId, sessionId, message) {
402
- var _a2;
403
- if (!this.artifactService || !((_a2 = message.parts) == null ? void 0 : _a2.length)) {
404
- return message;
405
- }
406
- const sessionKey = {
407
- appName: this.appName,
408
- userId,
409
- sessionId
410
- };
411
- const newParts = [];
412
- let modified = false;
413
- for (let i = 0; i < message.parts.length; i++) {
414
- const part = message.parts[i];
415
- if (!part.inlineData) {
416
- newParts.push(part);
417
- continue;
418
- }
419
- try {
420
- const inlineData = part.inlineData;
421
- const fileName = inlineData.displayName || "artifact_".concat(invocationId, "_").concat(i);
422
- const version = await this.artifactService.saveArtifact(__spreadProps(__spreadValues({}, sessionKey), {
423
- filename: fileName,
424
- artifact: part
425
- }));
426
- newParts.push(createPartFromText('[Uploaded Artifact: "'.concat(fileName, '"]')));
427
- try {
428
- const artifactVersion = await this.artifactService.getArtifactVersion(
429
- __spreadProps(__spreadValues({}, sessionKey), {
430
- filename: fileName,
431
- version
432
- })
433
- );
434
- if ((artifactVersion == null ? void 0 : artifactVersion.canonicalUri) && /^(gs|https?):/i.test(artifactVersion.canonicalUri)) {
435
- newParts.push({
436
- fileData: {
437
- fileUri: artifactVersion.canonicalUri,
438
- mimeType: artifactVersion.mimeType || inlineData.mimeType || "",
439
- displayName: fileName
440
- }
441
- });
442
- }
443
- } catch (error) {
444
- logger.warn(
445
- "Failed to resolve artifact version for ".concat(fileName, ":"),
446
- error
447
- );
448
- }
449
- modified = true;
450
- logger.info("Successfully saved artifact: ".concat(fileName));
451
- } catch (error) {
452
- logger.error("Failed to save artifact for part ".concat(i, ":"), error);
453
- newParts.push(part);
454
- }
455
- }
456
- if (!modified) {
457
- return message;
458
- }
459
- return __spreadProps(__spreadValues({}, message), {
460
- parts: newParts
461
- });
462
- }
463
- /**
464
- * Determines the next agent to run to continue the session. This is primarily
465
- * used for session resumption.
466
- */
467
- /**
468
- * Determines the next agent to run to continue the session. This is primarily
469
- * used for session resumption across tool and LRO boundaries.
470
- */
471
- determineAgentForResumption(session, rootAgent) {
472
- return determineAgentForResumption(
473
- session,
474
- rootAgent,
475
- this.resumabilityConfig
476
- );
477
- }
478
- /**
479
- * Whether the agent to run can transfer to any other agent in the agent tree.
480
- *
481
- * @param agentToRun The agent to check for transferability.
482
- * @returns True if the agent can transfer, False otherwise.
483
- */
484
- isRoutableLlmAgent(agentToRun) {
485
- return isRoutableLlmAgent(agentToRun);
486
- }
487
- /**
488
- * Runs the agent in the live (bidirectional streaming) mode.
489
- *
490
- * Model media events that carry raw inline bytes (audio, video, or image)
491
- * are yielded but not appended to the session to avoid persisting large
492
- * blobs; events with `fileData` references and most other live events
493
- * (transcriptions, tool calls, usage) are persisted as in `runAsync`.
494
- *
495
- * This feature is **experimental** and its API may change.
496
- *
497
- * @param params.userId The user ID of the session.
498
- * @param params.sessionId The session ID of the session.
499
- * @param params.liveRequestQueue The queue used to feed the live model.
500
- * @param params.runConfig The run config for the agent.
501
- * @param params.abortSignal Optional signal to abort the live run.
502
- * @param params.liveSessionResumptionHandle Optional session resumption
503
- * handle observed from a prior `runLive` cycle on the same conversation.
504
- * When set, the agent's live flow opens the connection with
505
- * `liveConnectConfig.sessionResumption.handle` so the server restores its
506
- * state instead of relying on client-side history replay.
507
- * @yields The events generated by the agent.
508
- */
509
- runLive(params) {
510
- return __asyncGenerator(this, null, function* () {
511
- var _a2, _b, _c, _d;
512
- if (!params.liveRequestQueue) {
513
- throw new Error("liveRequestQueue is required for runLive.");
514
- }
515
- if (!isBaseAgent(this.agent)) {
516
- throw new Error("runLive is only supported for agents.");
517
- }
518
- const agent = this.agent;
519
- const runConfig = createRunConfig(params.runConfig);
520
- if (!((_a2 = runConfig.responseModalities) == null ? void 0 : _a2.length)) {
521
- runConfig.responseModalities = [Modality.AUDIO];
522
- }
523
- if ((_b = agent.subAgents) == null ? void 0 : _b.length) {
524
- if (runConfig.responseModalities.includes(Modality.AUDIO)) {
525
- (_c = runConfig.outputAudioTranscription) != null ? _c : runConfig.outputAudioTranscription = {};
526
- }
527
- (_d = runConfig.inputAudioTranscription) != null ? _d : runConfig.inputAudioTranscription = {};
528
- }
529
- const span = tracer.startSpan("invocation");
530
- const ctx = trace.setSpan(context.active(), span);
531
- try {
532
- yield* __yieldStar(runAsyncGeneratorWithOtelContext(
533
- ctx,
534
- this,
535
- function() {
536
- return __asyncGenerator(this, null, function* () {
537
- var _a3, _b2, _c2, _d2;
538
- const session = yield new __await(this.sessionService.getOrCreateSession({
539
- appName: this.appName,
540
- userId: params.userId,
541
- sessionId: params.sessionId
542
- }));
543
- if ((_a3 = params.abortSignal) == null ? void 0 : _a3.aborted) {
544
- return;
545
- }
546
- const invocationContext = new InvocationContext({
547
- artifactService: this.artifactService ? new ScopedArtifactService(
548
- this.artifactService,
549
- this.appName,
550
- params.userId,
551
- params.sessionId
552
- ) : void 0,
553
- sessionService: this.sessionService,
554
- memoryService: this.memoryService,
555
- credentialService: this.credentialService,
556
- invocationId: newInvocationContextId(),
557
- agent,
558
- session,
559
- runConfig,
560
- pluginManager: this.pluginManager,
561
- liveRequestQueue: params.liveRequestQueue,
562
- abortSignal: params.abortSignal,
563
- liveSessionResumptionHandle: params.liveSessionResumptionHandle
564
- });
565
- invocationContext.agent = this.determineAgentForResumption(
566
- session,
567
- agent
568
- );
569
- const beforeRunCallbackResponse = yield new __await(this.pluginManager.runBeforeRunCallback({
570
- invocationContext
571
- }));
572
- if ((_b2 = params.abortSignal) == null ? void 0 : _b2.aborted) {
573
- return;
574
- }
575
- if (beforeRunCallbackResponse) {
576
- const earlyExitEvent = createEvent({
577
- invocationId: invocationContext.invocationId,
578
- author: "model",
579
- content: beforeRunCallbackResponse
580
- });
581
- yield new __await(this.sessionService.appendEvent({
582
- session,
583
- event: earlyExitEvent
584
- }));
585
- yield earlyExitEvent;
586
- return;
587
- }
588
- try {
589
- for (var iter = __forAwait(requireAgent(invocationContext).runLive(
590
- invocationContext
591
- )), more, temp, error; more = !(temp = yield new __await(iter.next())).done; more = false) {
592
- const event = temp.value;
593
- if ((_c2 = params.abortSignal) == null ? void 0 : _c2.aborted) {
594
- return;
595
- }
596
- const modifiedEvent = yield new __await(this.pluginManager.runOnEventCallback({
597
- invocationContext,
598
- event
599
- }));
600
- if ((_d2 = params.abortSignal) == null ? void 0 : _d2.aborted) {
601
- return;
602
- }
603
- const eventToProcess = modifiedEvent != null ? modifiedEvent : event;
604
- if (!eventToProcess.partial && !isLiveModelMediaEventWithInlineData(eventToProcess)) {
605
- yield new __await(this.sessionService.appendEvent({
606
- session,
607
- event: eventToProcess
608
- }));
609
- }
610
- yield eventToProcess;
611
- }
612
- } catch (temp) {
613
- error = [temp];
614
- } finally {
615
- try {
616
- more && (temp = iter.return) && (yield new __await(temp.call(iter)));
617
- } finally {
618
- if (error)
619
- throw error[0];
620
- }
621
- }
622
- yield new __await(this.pluginManager.runAfterRunCallback({ invocationContext }));
623
- });
624
- }
625
- ));
626
- } finally {
627
- span.end();
628
- }
629
- });
630
- }
631
- };
632
- __name(_Runner, "Runner");
633
- let Runner = _Runner;
634
- function isLiveModelMediaEventWithInlineData(event) {
635
- var _a2;
636
- const parts = (_a2 = event.content) == null ? void 0 : _a2.parts;
637
- if (!(parts == null ? void 0 : parts.length)) {
638
- return false;
639
- }
640
- return parts.some((part) => {
641
- var _a3, _b;
642
- const mimeType = (_b = (_a3 = part.inlineData) == null ? void 0 : _a3.mimeType) == null ? void 0 : _b.toLowerCase();
643
- return mimeType !== void 0 && (mimeType.startsWith("audio/") || mimeType.startsWith("video/") || mimeType.startsWith("image/"));
644
- });
645
- }
646
- __name(isLiveModelMediaEventWithInlineData, "isLiveModelMediaEventWithInlineData");
647
- function determineAgentForResumption(session, rootAgent, resumabilityConfig) {
648
- const event = findEventByLastFunctionResponseId(session.events);
649
- const isResumable = Boolean(resumabilityConfig == null ? void 0 : resumabilityConfig.isResumable);
650
- if (event && event.author && isResumable) {
651
- const resumedAgent = rootAgent.findAgent(event.author);
652
- if (resumedAgent) {
653
- return resumedAgent;
654
- }
655
- if (!isWorkflowNodeEvent(event)) {
656
- logger.warn(
657
- "Function response from an unknown agent: ".concat(event.author, ", event id: ").concat(event.id)
658
- );
659
- }
660
- }
661
- for (let i = session.events.length - 1; i >= 0; i--) {
662
- logger.debug("event:", JSON.stringify(session.events[i]));
663
- const event2 = session.events[i];
664
- if (event2.author === "user" || !event2.author) {
665
- continue;
666
- }
667
- if (event2.author === rootAgent.name) {
668
- return rootAgent;
669
- }
670
- const agent = rootAgent.findSubAgent(event2.author);
671
- if (!agent) {
672
- if (!isWorkflowNodeEvent(event2)) {
673
- logger.warn(
674
- "Event from an unknown agent: ".concat(event2.author, ", event id: ").concat(event2.id)
675
- );
676
- }
677
- continue;
678
- }
679
- if (isRoutableLlmAgent(agent)) {
680
- return agent;
681
- }
682
- }
683
- return rootAgent;
684
- }
685
- __name(determineAgentForResumption, "determineAgentForResumption");
686
- function isWorkflowNodeEvent(event) {
687
- var _a2;
688
- return Boolean((_a2 = event.nodeInfo) == null ? void 0 : _a2.path);
689
- }
690
- __name(isWorkflowNodeEvent, "isWorkflowNodeEvent");
691
- function isRoutableLlmAgent(agentToRun) {
692
- let agent = agentToRun;
693
- while (agent) {
694
- if (!isLlmAgent(agent)) {
695
- return false;
696
- }
697
- if (agent.disallowTransferToParent) {
698
- return false;
699
- }
700
- agent = agent.parentAgent;
701
- }
702
- return true;
703
- }
704
- __name(isRoutableLlmAgent, "isRoutableLlmAgent");
705
- function findEventByLastFunctionResponseId(events) {
706
- var _a2;
707
- return (_a2 = findMatchingFunctionCall(events)) != null ? _a2 : null;
708
- }
709
- __name(findEventByLastFunctionResponseId, "findEventByLastFunctionResponseId");
710
- function getAllToolsets(agent) {
711
- const toolsets = [];
712
- const visited = /* @__PURE__ */ new Set();
713
- function traverse(curr) {
714
- if (visited.has(curr)) return;
715
- visited.add(curr);
716
- if (isLlmAgent(curr)) {
717
- for (const tool of curr.tools) {
718
- if (isBaseToolset(tool)) {
719
- toolsets.push(tool);
720
- }
721
- }
722
- }
723
- for (const sub of curr.subAgents) {
724
- traverse(sub);
725
- }
726
- }
727
- __name(traverse, "traverse");
728
- traverse(agent);
729
- return toolsets;
730
- }
731
- __name(getAllToolsets, "getAllToolsets");
732
- function rejectReservedFunctionCalls(newMessage) {
733
- const reserved = reservedFunctionCallName(newMessage);
734
- if (reserved) {
735
- throw new Error(
736
- "A client message may not contain a '".concat(reserved, "' function call: it is ") + "raised by the framework, and can only be answered with a function response."
737
- );
738
- }
739
- }
740
- __name(rejectReservedFunctionCalls, "rejectReservedFunctionCalls");
741
- export {
742
- Runner,
743
- determineAgentForResumption,
744
- findEventByLastFunctionResponseId,
745
- isRoutableLlmAgent,
746
- isRunner
747
- };