@google/adk 1.6.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 (869) hide show
  1. package/dist/cjs/a2a/a2a_event.js +17 -28
  2. package/dist/cjs/a2a/a2a_remote_agent.js +13 -7
  3. package/dist/cjs/a2a/a2a_remote_agent_run_processor.js +7 -3
  4. package/dist/cjs/a2a/a2a_remote_agent_utils.js +111 -2
  5. package/dist/cjs/a2a/agent_card.js +90 -8
  6. package/dist/cjs/a2a/agent_executor.js +34 -18
  7. package/dist/cjs/a2a/agent_to_a2a.js +28 -11
  8. package/dist/cjs/a2a/auth.js +3 -0
  9. package/dist/cjs/a2a/event_converter_utils.js +10 -0
  10. package/dist/cjs/a2a/event_processor_utils.js +71 -35
  11. package/dist/cjs/a2a/executor_context.js +6 -2
  12. package/dist/cjs/a2a/index.js +57 -0
  13. package/dist/cjs/a2a/metadata_converter_utils.js +5 -0
  14. package/dist/cjs/a2a/part_converter_utils.js +12 -0
  15. package/dist/cjs/a2a/request_metadata.js +94 -0
  16. package/dist/cjs/agents/active_streaming_tool.js +5 -2
  17. package/dist/cjs/agents/base_agent.js +55 -17
  18. package/dist/cjs/agents/context.js +12 -2
  19. package/dist/cjs/agents/framework_function_calls.js +64 -0
  20. package/dist/cjs/agents/functions.js +185 -60
  21. package/dist/cjs/agents/instructions.js +51 -12
  22. package/dist/cjs/agents/invocation_context.js +43 -8
  23. package/dist/cjs/agents/live_request_queue.js +29 -5
  24. package/dist/cjs/agents/llm_agent.js +541 -50
  25. package/dist/cjs/agents/loop_agent.js +20 -3
  26. package/dist/cjs/agents/parallel_agent.js +22 -3
  27. package/dist/cjs/agents/processors/agent_transfer_llm_request_processor.js +32 -8
  28. package/dist/cjs/agents/processors/base_llm_processor.js +9 -4
  29. package/dist/cjs/agents/processors/basic_llm_request_processor.js +6 -3
  30. package/dist/cjs/agents/processors/code_execution_request_processor.js +20 -7
  31. package/dist/cjs/agents/processors/content_processor_utils.js +85 -15
  32. package/dist/cjs/agents/processors/content_request_processor.js +13 -5
  33. package/dist/cjs/agents/processors/context_compactor_request_processor.js +5 -2
  34. package/dist/cjs/agents/processors/identity_llm_request_processor.js +12 -4
  35. package/dist/cjs/agents/processors/instructions_llm_request_processor.js +5 -2
  36. package/dist/cjs/agents/processors/interactions_request_processor.js +5 -2
  37. package/dist/cjs/agents/processors/request_confirmation_llm_request_processor.js +320 -92
  38. package/dist/cjs/agents/processors/request_input_llm_request_processor.js +214 -0
  39. package/dist/cjs/agents/processors/tool_filter_request_processor.js +5 -2
  40. package/dist/cjs/agents/readonly_context.js +13 -3
  41. package/dist/cjs/agents/routed_agent.js +7 -14
  42. package/dist/cjs/agents/run_config.js +12 -0
  43. package/dist/cjs/agents/sequential_agent.js +21 -4
  44. package/dist/cjs/agents/user_input_request.js +145 -0
  45. package/dist/cjs/apps/app.js +12 -12
  46. package/dist/cjs/apps/resumability_config.js +2 -0
  47. package/dist/cjs/artifacts/file_artifact_service.js +22 -4
  48. package/dist/cjs/artifacts/gcs_artifact_service.js +46 -11
  49. package/dist/cjs/artifacts/in_memory_artifact_service.js +9 -2
  50. package/dist/cjs/artifacts/registry.js +6 -1
  51. package/dist/cjs/artifacts/scoped_artifact_service.js +14 -2
  52. package/dist/cjs/artifacts/session_artifact_service.js +19 -0
  53. package/dist/cjs/auth/auth_handler.js +49 -10
  54. package/dist/cjs/auth/auth_preprocessor.js +48 -40
  55. package/dist/cjs/auth/auth_provider_registry.js +5 -2
  56. package/dist/cjs/auth/auth_schemes.js +2 -0
  57. package/dist/cjs/auth/credential_response_binding.js +101 -0
  58. package/dist/cjs/auth/credential_service/in_memory_credential_service.js +5 -2
  59. package/dist/cjs/auth/credential_service/session_state_credential_service.js +5 -2
  60. package/dist/cjs/auth/exchanger/base_credential_exchanger.js +5 -2
  61. package/dist/cjs/auth/exchanger/credential_exchanger_registry.js +5 -2
  62. package/dist/cjs/auth/oauth2/oauth2_credential_exchanger.js +8 -2
  63. package/dist/cjs/auth/oauth2/oauth2_credential_refresher.js +6 -3
  64. package/dist/cjs/auth/oauth2/oauth2_discovery.js +7 -2
  65. package/dist/cjs/auth/oauth2/oauth2_utils.js +23 -2
  66. package/dist/cjs/auth/refresher/base_credential_refresher.js +5 -2
  67. package/dist/cjs/auth/refresher/credential_refresher_registry.js +5 -2
  68. package/dist/cjs/code_executors/agent_engine_sandbox_code_executor.js +3 -0
  69. package/dist/cjs/code_executors/base_code_executor.js +7 -3
  70. package/dist/cjs/code_executors/built_in_code_executor.js +7 -3
  71. package/dist/cjs/code_executors/code_execution_utils.js +8 -2
  72. package/dist/cjs/code_executors/code_executor_context.js +5 -2
  73. package/dist/cjs/code_executors/container_code_executor.js +186 -0
  74. package/dist/cjs/code_executors/docker_container.js +282 -0
  75. package/dist/cjs/code_executors/unsafe_local_code_executor.js +19 -8
  76. package/dist/cjs/common.js +180 -46
  77. package/dist/cjs/context/agent_controlled_context_compactor.js +15 -7
  78. package/dist/cjs/context/anchored_context_compactor.js +46 -20
  79. package/dist/cjs/context/compaction_utils.js +18 -6
  80. package/dist/cjs/context/summarizers/llm_summarizer.js +5 -2
  81. package/dist/cjs/context/token_based_context_compactor.js +19 -5
  82. package/dist/cjs/context/trajectory_thought_pruning_compactor.js +22 -12
  83. package/dist/cjs/context/truncating_context_compactor.js +22 -7
  84. package/dist/cjs/environment/base_environment.js +97 -0
  85. package/dist/cjs/environment/local_environment.js +186 -0
  86. package/dist/cjs/errors/already_exists_error.js +50 -0
  87. package/dist/cjs/errors/input_validation_error.js +50 -0
  88. package/dist/cjs/errors/not_found_error.js +50 -0
  89. package/dist/cjs/errors/session_not_found_error.js +50 -0
  90. package/dist/cjs/errors/tool_execution_error.js +68 -0
  91. package/dist/cjs/events/compacted_event.js +4 -0
  92. package/dist/cjs/events/event.js +38 -3
  93. package/dist/cjs/events/event_actions.js +12 -0
  94. package/dist/cjs/events/structured_events.js +2 -0
  95. package/dist/cjs/examples/base_example_provider.js +7 -3
  96. package/dist/cjs/examples/example_util.js +3 -0
  97. package/dist/cjs/features/feature_registry.js +7 -0
  98. package/dist/cjs/index.js +54 -25
  99. package/dist/cjs/index_web.js +2 -0
  100. package/dist/cjs/integrations/agent_registry/agent_registry.js +10 -6
  101. package/dist/cjs/integrations/agent_registry/agent_registry_mcp_toolset.js +7 -4
  102. package/dist/cjs/integrations/agent_registry/helpers.js +3 -0
  103. package/dist/cjs/memory/in_memory_memory_service.js +8 -2
  104. package/dist/cjs/memory/rag_memory_transcript.js +136 -0
  105. package/dist/cjs/memory/vertex_ai_memory_bank_service.js +19 -4
  106. package/dist/cjs/memory/vertex_ai_rag_api.js +120 -0
  107. package/dist/cjs/memory/vertex_ai_rag_memory_service.js +228 -0
  108. package/dist/cjs/models/apigee_llm.js +10 -4
  109. package/dist/cjs/models/base_llm.js +8 -4
  110. package/dist/cjs/models/chrome_prompt_llm.js +304 -0
  111. package/dist/cjs/models/chrome_prompt_utils.js +229 -0
  112. package/dist/cjs/models/gemini_llm_connection.js +5 -2
  113. package/dist/cjs/models/google_llm.js +33 -16
  114. package/dist/cjs/models/interactions_utils.js +18 -3
  115. package/dist/cjs/models/llm_request.js +4 -0
  116. package/dist/cjs/models/llm_response.js +2 -0
  117. package/dist/cjs/models/registry.js +8 -2
  118. package/dist/cjs/models/routed_llm.js +4 -13
  119. package/dist/cjs/plugins/_reflect_retry_utils.js +142 -0
  120. package/dist/cjs/plugins/base_plugin.js +39 -5
  121. package/dist/cjs/plugins/global_instruction_plugin.js +5 -2
  122. package/dist/cjs/plugins/logging_plugin.js +13 -8
  123. package/dist/cjs/plugins/plugin_manager.js +37 -2
  124. package/dist/cjs/plugins/reflect_retry_model_plugin.js +274 -0
  125. package/dist/cjs/plugins/reflect_retry_tool_plugin.js +276 -0
  126. package/dist/cjs/plugins/security_plugin.js +15 -8
  127. package/dist/cjs/runner/in_memory_runner.js +5 -2
  128. package/dist/cjs/runner/runner.js +236 -43
  129. package/dist/cjs/sessions/base_session_service.js +13 -2
  130. package/dist/cjs/sessions/database_session_service.js +84 -45
  131. package/dist/cjs/sessions/db/operations.js +259 -24
  132. package/dist/cjs/sessions/db/schema.js +118 -156
  133. package/dist/cjs/sessions/in_memory_session_service.js +22 -14
  134. package/dist/cjs/sessions/registry.js +9 -2
  135. package/dist/cjs/sessions/session.js +2 -0
  136. package/dist/cjs/sessions/state.js +80 -8
  137. package/dist/cjs/sessions/state_write_order.js +105 -0
  138. package/dist/cjs/sessions/vertex_ai_session_service.js +112 -17
  139. package/dist/cjs/skills/gcp_skill_registry.js +2 -0
  140. package/dist/cjs/skills/loader.js +22 -10
  141. package/dist/cjs/skills/prompt.js +3 -0
  142. package/dist/cjs/telemetry/google_cloud.js +42 -9
  143. package/dist/cjs/telemetry/setup.js +6 -1
  144. package/dist/cjs/telemetry/tracing.js +71 -5
  145. package/dist/cjs/tools/agent_tool.js +10 -7
  146. package/dist/cjs/tools/base_tool.js +38 -6
  147. package/dist/cjs/tools/base_toolset.js +10 -6
  148. package/dist/cjs/tools/built_in_tool.js +75 -0
  149. package/dist/cjs/tools/consolidate_context_tool.js +5 -2
  150. package/dist/cjs/tools/enterprise_web_search_tool.js +8 -7
  151. package/dist/cjs/tools/example_tool.js +5 -2
  152. package/dist/cjs/tools/exit_loop_tool.js +5 -2
  153. package/dist/cjs/tools/finish_task_tool.js +119 -0
  154. package/dist/cjs/tools/forwarding_artifact_service.js +23 -15
  155. package/dist/cjs/tools/function_tool.js +79 -11
  156. package/dist/cjs/tools/get_user_choice_tool.js +3 -2
  157. package/dist/cjs/tools/google_maps_grounding_tool.js +8 -7
  158. package/dist/cjs/tools/google_search_tool.js +7 -7
  159. package/dist/cjs/tools/load_artifacts_tool.js +55 -25
  160. package/dist/cjs/tools/load_memory_tool.js +5 -2
  161. package/dist/cjs/tools/load_web_page.js +14 -160
  162. package/dist/cjs/tools/long_running_tool.js +5 -2
  163. package/dist/cjs/tools/mcp/index.js +39 -0
  164. package/dist/cjs/tools/mcp/load_mcp_resource_tool.js +39 -7
  165. package/dist/cjs/tools/mcp/mcp_session_manager.js +36 -8
  166. package/dist/cjs/tools/mcp/mcp_tool.js +5 -2
  167. package/dist/cjs/tools/mcp/mcp_toolset.js +5 -2
  168. package/dist/cjs/tools/openapi_tool/auth/auth_helpers.js +15 -2
  169. package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +2 -0
  170. package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +2 -0
  171. package/dist/cjs/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +30 -9
  172. package/dist/cjs/tools/openapi_tool/openapi_spec_parser/operation_parser.js +3 -1
  173. package/dist/cjs/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +6 -2
  174. package/dist/cjs/tools/openapi_tool/openapi_toolset.js +2 -0
  175. package/dist/cjs/tools/openapi_tool/rest_api_tool.js +39 -23
  176. package/dist/cjs/tools/preload_memory_tool.js +6 -3
  177. package/dist/cjs/tools/request_input_tool.js +6 -4
  178. package/dist/cjs/tools/resume_inputs.js +27 -0
  179. package/dist/cjs/tools/retrieval/base_retrieval_tool.js +60 -0
  180. package/dist/cjs/tools/retrieval/files_retrieval.js +95 -0
  181. package/dist/cjs/tools/retrieval/llama_index_retrieval.js +57 -0
  182. package/dist/cjs/tools/skill/list_skills_tool.js +2 -0
  183. package/dist/cjs/tools/skill/load_skill_resource_tool.js +2 -0
  184. package/dist/cjs/tools/skill/load_skill_tool.js +4 -1
  185. package/dist/cjs/tools/skill/run_skill_inline_script_tool.js +8 -2
  186. package/dist/cjs/tools/skill/run_skill_script_tool.js +10 -2
  187. package/dist/cjs/tools/skill/search_skills_tool.js +2 -0
  188. package/dist/cjs/tools/skill/skill_toolset.js +35 -0
  189. package/dist/cjs/tools/tool_confirmation.js +26 -3
  190. package/dist/cjs/tools/url_context_tool.js +7 -7
  191. package/dist/cjs/tools/vertex_ai_search_tool.js +8 -9
  192. package/dist/cjs/tools/vertex_rag_retrieval_tool.js +7 -11
  193. package/dist/cjs/utils/async_hooks_shim.js +5 -2
  194. package/dist/cjs/utils/async_queue.js +45 -18
  195. package/dist/cjs/utils/branch_trie.js +2 -0
  196. package/dist/cjs/utils/case_utils.js +2 -0
  197. package/dist/cjs/utils/client_labels.js +5 -0
  198. package/dist/cjs/utils/crypto_shim.js +18 -0
  199. package/dist/cjs/utils/deprecated.js +68 -0
  200. package/dist/cjs/utils/env_aware_utils.js +41 -0
  201. package/dist/cjs/utils/error_utils.js +8 -0
  202. package/dist/cjs/utils/experimental.js +9 -2
  203. package/dist/cjs/utils/failover_utils.js +3 -0
  204. package/dist/cjs/utils/file_extension_utils.js +3 -0
  205. package/dist/cjs/utils/file_utils.js +7 -2
  206. package/dist/cjs/utils/gemini_schema_util.js +6 -8
  207. package/dist/cjs/utils/genai_schema_to_json.js +107 -0
  208. package/dist/cjs/utils/live_connection_utils.js +5 -2
  209. package/dist/cjs/utils/logger.js +28 -54
  210. package/dist/cjs/utils/logger_browser.js +86 -0
  211. package/dist/cjs/utils/logger_node.js +119 -0
  212. package/dist/cjs/utils/model_name.js +8 -0
  213. package/dist/cjs/utils/object_notation_utils.js +7 -3
  214. package/dist/cjs/utils/optional_peer.js +68 -0
  215. package/dist/cjs/utils/output_schema_utils.js +2 -0
  216. package/dist/cjs/utils/partial_copy.js +2 -0
  217. package/dist/cjs/utils/redact_inline_data.js +46 -0
  218. package/dist/cjs/utils/redact_uri.js +80 -0
  219. package/dist/cjs/utils/schema.js +178 -0
  220. package/dist/cjs/utils/simple_zod_to_json.js +17 -4
  221. package/dist/cjs/utils/ssrf_guard.js +262 -0
  222. package/dist/cjs/utils/streaming_utils.js +14 -6
  223. package/dist/cjs/utils/task.js +7 -4
  224. package/dist/cjs/utils/variant_utils.js +3 -1
  225. package/dist/cjs/utils/vertex_ai_utils.js +3 -1
  226. package/dist/cjs/version.js +1 -1
  227. package/dist/cjs/workflow/base_node.js +211 -0
  228. package/dist/cjs/workflow/branch_path.js +108 -0
  229. package/dist/cjs/workflow/dynamic_node_scheduler.js +220 -0
  230. package/dist/cjs/workflow/errors.js +178 -0
  231. package/dist/cjs/workflow/graph.js +158 -0
  232. package/dist/cjs/workflow/index.js +131 -0
  233. package/dist/cjs/workflow/node.js +65 -0
  234. package/dist/cjs/workflow/node_builders.js +68 -0
  235. package/dist/cjs/workflow/node_context.js +246 -0
  236. package/dist/cjs/workflow/node_error_event.js +86 -0
  237. package/dist/cjs/workflow/node_runner.js +459 -0
  238. package/dist/cjs/workflow/node_state.js +57 -0
  239. package/dist/cjs/workflow/node_status.js +48 -0
  240. package/dist/cjs/workflow/nodes/function_node.js +195 -0
  241. package/dist/cjs/workflow/nodes/join_node.js +56 -0
  242. package/dist/cjs/workflow/nodes/node_tool.js +147 -0
  243. package/dist/cjs/workflow/nodes/parallel_worker.js +129 -0
  244. package/dist/cjs/workflow/nodes/tool_node.js +117 -0
  245. package/dist/cjs/workflow/request_input.js +64 -0
  246. package/dist/cjs/workflow/retry_config.js +71 -0
  247. package/dist/cjs/workflow/run_llm_agent_as_node.js +192 -0
  248. package/dist/cjs/workflow/run_node_as_invocation.js +165 -0
  249. package/dist/cjs/workflow/schedule_dynamic_node.js +53 -0
  250. package/dist/cjs/workflow/trigger.js +27 -0
  251. package/dist/cjs/workflow/utils/graph_parser.js +212 -0
  252. package/dist/cjs/workflow/utils/graph_validation.js +216 -0
  253. package/dist/cjs/workflow/utils/hitl_utils.js +252 -0
  254. package/dist/cjs/workflow/utils/rehydration_utils.js +373 -0
  255. package/dist/cjs/workflow/utils/retry_utils.js +112 -0
  256. package/dist/cjs/workflow/utils/workflow_graph_utils.js +144 -0
  257. package/dist/cjs/workflow/workflow.js +509 -0
  258. package/dist/esm/a2a/a2a_event.js +18 -27
  259. package/dist/esm/a2a/a2a_remote_agent.js +16 -7
  260. package/dist/esm/a2a/a2a_remote_agent_run_processor.js +8 -3
  261. package/dist/esm/a2a/a2a_remote_agent_utils.js +110 -2
  262. package/dist/esm/a2a/agent_card.js +96 -8
  263. package/dist/esm/a2a/agent_executor.js +36 -19
  264. package/dist/esm/a2a/agent_to_a2a.js +52 -17
  265. package/dist/esm/a2a/auth.js +4 -0
  266. package/dist/esm/a2a/event_converter_utils.js +11 -0
  267. package/dist/esm/a2a/event_processor_utils.js +74 -35
  268. package/dist/esm/a2a/executor_context.js +7 -2
  269. package/dist/esm/a2a/index.js +26 -0
  270. package/dist/esm/a2a/metadata_converter_utils.js +6 -0
  271. package/dist/esm/a2a/part_converter_utils.js +13 -0
  272. package/dist/esm/a2a/request_metadata.js +68 -0
  273. package/dist/esm/agents/active_streaming_tool.js +6 -2
  274. package/dist/esm/agents/base_agent.js +56 -17
  275. package/dist/esm/agents/context.js +13 -2
  276. package/dist/esm/agents/framework_function_calls.js +34 -0
  277. package/dist/esm/agents/functions.js +191 -58
  278. package/dist/esm/agents/instructions.js +52 -12
  279. package/dist/esm/agents/invocation_context.js +42 -7
  280. package/dist/esm/agents/live_request_queue.js +30 -5
  281. package/dist/esm/agents/llm_agent.js +542 -50
  282. package/dist/esm/agents/loop_agent.js +22 -3
  283. package/dist/esm/agents/parallel_agent.js +24 -3
  284. package/dist/esm/agents/processors/agent_transfer_llm_request_processor.js +33 -8
  285. package/dist/esm/agents/processors/base_llm_processor.js +10 -4
  286. package/dist/esm/agents/processors/basic_llm_request_processor.js +7 -3
  287. package/dist/esm/agents/processors/code_execution_request_processor.js +21 -7
  288. package/dist/esm/agents/processors/content_processor_utils.js +88 -16
  289. package/dist/esm/agents/processors/content_request_processor.js +14 -5
  290. package/dist/esm/agents/processors/context_compactor_request_processor.js +6 -2
  291. package/dist/esm/agents/processors/identity_llm_request_processor.js +13 -4
  292. package/dist/esm/agents/processors/instructions_llm_request_processor.js +6 -2
  293. package/dist/esm/agents/processors/interactions_request_processor.js +6 -2
  294. package/dist/esm/agents/processors/request_confirmation_llm_request_processor.js +325 -93
  295. package/dist/esm/agents/processors/request_input_llm_request_processor.js +193 -0
  296. package/dist/esm/agents/processors/tool_filter_request_processor.js +6 -2
  297. package/dist/esm/agents/readonly_context.js +14 -3
  298. package/dist/esm/agents/routed_agent.js +7 -15
  299. package/dist/esm/agents/run_config.js +13 -0
  300. package/dist/esm/agents/sequential_agent.js +23 -4
  301. package/dist/esm/agents/user_input_request.js +120 -0
  302. package/dist/esm/apps/app.js +15 -12
  303. package/dist/esm/apps/resumability_config.js +3 -0
  304. package/dist/esm/artifacts/file_artifact_service.js +23 -4
  305. package/dist/esm/artifacts/gcs_artifact_service.js +58 -11
  306. package/dist/esm/artifacts/in_memory_artifact_service.js +10 -2
  307. package/dist/esm/artifacts/registry.js +7 -1
  308. package/dist/esm/artifacts/scoped_artifact_service.js +15 -2
  309. package/dist/esm/artifacts/session_artifact_service.js +12 -0
  310. package/dist/esm/auth/auth_handler.js +53 -10
  311. package/dist/esm/auth/auth_preprocessor.js +50 -41
  312. package/dist/esm/auth/auth_provider_registry.js +6 -2
  313. package/dist/esm/auth/auth_schemes.js +3 -0
  314. package/dist/esm/auth/credential_response_binding.js +74 -0
  315. package/dist/esm/auth/credential_service/in_memory_credential_service.js +6 -2
  316. package/dist/esm/auth/credential_service/session_state_credential_service.js +6 -2
  317. package/dist/esm/auth/exchanger/base_credential_exchanger.js +6 -2
  318. package/dist/esm/auth/exchanger/credential_exchanger_registry.js +6 -2
  319. package/dist/esm/auth/oauth2/oauth2_credential_exchanger.js +9 -2
  320. package/dist/esm/auth/oauth2/oauth2_credential_refresher.js +7 -3
  321. package/dist/esm/auth/oauth2/oauth2_discovery.js +8 -2
  322. package/dist/esm/auth/oauth2/oauth2_utils.js +22 -2
  323. package/dist/esm/auth/refresher/base_credential_refresher.js +6 -2
  324. package/dist/esm/auth/refresher/credential_refresher_registry.js +6 -2
  325. package/dist/esm/code_executors/agent_engine_sandbox_code_executor.js +3 -0
  326. package/dist/esm/code_executors/base_code_executor.js +8 -3
  327. package/dist/esm/code_executors/built_in_code_executor.js +8 -3
  328. package/dist/esm/code_executors/code_execution_utils.js +9 -2
  329. package/dist/esm/code_executors/code_executor_context.js +6 -2
  330. package/dist/esm/code_executors/container_code_executor.js +155 -0
  331. package/dist/esm/code_executors/docker_container.js +265 -0
  332. package/dist/esm/code_executors/unsafe_local_code_executor.js +20 -8
  333. package/dist/esm/common.js +181 -41
  334. package/dist/esm/context/agent_controlled_context_compactor.js +16 -7
  335. package/dist/esm/context/anchored_context_compactor.js +51 -21
  336. package/dist/esm/context/compaction_utils.js +17 -5
  337. package/dist/esm/context/summarizers/llm_summarizer.js +6 -2
  338. package/dist/esm/context/token_based_context_compactor.js +20 -5
  339. package/dist/esm/context/trajectory_thought_pruning_compactor.js +23 -12
  340. package/dist/esm/context/truncating_context_compactor.js +23 -7
  341. package/dist/esm/environment/base_environment.js +71 -0
  342. package/dist/esm/environment/local_environment.js +150 -0
  343. package/dist/esm/errors/already_exists_error.js +23 -0
  344. package/dist/esm/errors/input_validation_error.js +23 -0
  345. package/dist/esm/errors/not_found_error.js +23 -0
  346. package/dist/esm/errors/session_not_found_error.js +23 -0
  347. package/dist/esm/errors/tool_execution_error.js +40 -0
  348. package/dist/esm/events/compacted_event.js +5 -0
  349. package/dist/esm/events/event.js +38 -3
  350. package/dist/esm/events/event_actions.js +12 -0
  351. package/dist/esm/events/structured_events.js +3 -0
  352. package/dist/esm/examples/base_example_provider.js +8 -3
  353. package/dist/esm/examples/example_util.js +4 -0
  354. package/dist/esm/features/feature_registry.js +8 -0
  355. package/dist/esm/index.js +41 -15
  356. package/dist/esm/index_web.js +2 -0
  357. package/dist/esm/integrations/agent_registry/agent_registry.js +11 -6
  358. package/dist/esm/integrations/agent_registry/agent_registry_mcp_toolset.js +6 -2
  359. package/dist/esm/integrations/agent_registry/helpers.js +4 -0
  360. package/dist/esm/memory/in_memory_memory_service.js +9 -2
  361. package/dist/esm/memory/rag_memory_transcript.js +106 -0
  362. package/dist/esm/memory/vertex_ai_memory_bank_service.js +20 -4
  363. package/dist/esm/memory/vertex_ai_rag_api.js +93 -0
  364. package/dist/esm/memory/vertex_ai_rag_memory_service.js +208 -0
  365. package/dist/esm/models/apigee_llm.js +11 -4
  366. package/dist/esm/models/base_llm.js +9 -4
  367. package/dist/esm/models/chrome_prompt_llm.js +285 -0
  368. package/dist/esm/models/chrome_prompt_utils.js +192 -0
  369. package/dist/esm/models/gemini_llm_connection.js +6 -2
  370. package/dist/esm/models/google_llm.js +35 -17
  371. package/dist/esm/models/interactions_utils.js +19 -3
  372. package/dist/esm/models/llm_request.js +5 -0
  373. package/dist/esm/models/llm_response.js +3 -0
  374. package/dist/esm/models/registry.js +9 -2
  375. package/dist/esm/models/routed_llm.js +4 -14
  376. package/dist/esm/plugins/_reflect_retry_utils.js +111 -0
  377. package/dist/esm/plugins/base_plugin.js +39 -5
  378. package/dist/esm/plugins/global_instruction_plugin.js +6 -2
  379. package/dist/esm/plugins/logging_plugin.js +14 -8
  380. package/dist/esm/plugins/plugin_manager.js +38 -2
  381. package/dist/esm/plugins/reflect_retry_model_plugin.js +250 -0
  382. package/dist/esm/plugins/reflect_retry_tool_plugin.js +254 -0
  383. package/dist/esm/plugins/security_plugin.js +14 -6
  384. package/dist/esm/runner/in_memory_runner.js +6 -2
  385. package/dist/esm/runner/runner.js +249 -46
  386. package/dist/esm/sessions/base_session_service.js +14 -2
  387. package/dist/esm/sessions/database_session_service.js +65 -27
  388. package/dist/esm/sessions/db/operations.js +259 -24
  389. package/dist/esm/sessions/db/schema.js +116 -157
  390. package/dist/esm/sessions/in_memory_session_service.js +23 -14
  391. package/dist/esm/sessions/registry.js +10 -2
  392. package/dist/esm/sessions/session.js +3 -0
  393. package/dist/esm/sessions/state.js +78 -7
  394. package/dist/esm/sessions/state_write_order.js +74 -0
  395. package/dist/esm/sessions/vertex_ai_session_service.js +111 -16
  396. package/dist/esm/skills/gcp_skill_registry.js +2 -0
  397. package/dist/esm/skills/loader.js +23 -10
  398. package/dist/esm/skills/prompt.js +4 -0
  399. package/dist/esm/telemetry/google_cloud.js +54 -9
  400. package/dist/esm/telemetry/setup.js +7 -1
  401. package/dist/esm/telemetry/tracing.js +70 -5
  402. package/dist/esm/tools/agent_tool.js +11 -7
  403. package/dist/esm/tools/base_tool.js +36 -5
  404. package/dist/esm/tools/base_toolset.js +11 -6
  405. package/dist/esm/tools/built_in_tool.js +51 -0
  406. package/dist/esm/tools/consolidate_context_tool.js +6 -2
  407. package/dist/esm/tools/enterprise_web_search_tool.js +9 -7
  408. package/dist/esm/tools/example_tool.js +6 -2
  409. package/dist/esm/tools/exit_loop_tool.js +6 -2
  410. package/dist/esm/tools/finish_task_tool.js +92 -0
  411. package/dist/esm/tools/forwarding_artifact_service.js +24 -15
  412. package/dist/esm/tools/function_tool.js +80 -11
  413. package/dist/esm/tools/get_user_choice_tool.js +4 -2
  414. package/dist/esm/tools/google_maps_grounding_tool.js +9 -7
  415. package/dist/esm/tools/google_search_tool.js +8 -7
  416. package/dist/esm/tools/load_artifacts_tool.js +57 -26
  417. package/dist/esm/tools/load_memory_tool.js +6 -2
  418. package/dist/esm/tools/load_web_page.js +19 -158
  419. package/dist/esm/tools/long_running_tool.js +6 -2
  420. package/dist/{web/context/summarizers/base_summarizer.js → esm/tools/mcp/index.js} +4 -0
  421. package/dist/esm/tools/mcp/load_mcp_resource_tool.js +40 -7
  422. package/dist/esm/tools/mcp/mcp_session_manager.js +45 -9
  423. package/dist/esm/tools/mcp/mcp_tool.js +6 -2
  424. package/dist/esm/tools/mcp/mcp_toolset.js +6 -2
  425. package/dist/esm/tools/openapi_tool/auth/auth_helpers.js +18 -2
  426. package/dist/esm/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +2 -0
  427. package/dist/esm/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +2 -0
  428. package/dist/esm/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +30 -9
  429. package/dist/esm/tools/openapi_tool/openapi_spec_parser/operation_parser.js +3 -1
  430. package/dist/esm/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +6 -2
  431. package/dist/esm/tools/openapi_tool/openapi_toolset.js +2 -0
  432. package/dist/esm/tools/openapi_tool/rest_api_tool.js +39 -23
  433. package/dist/esm/tools/preload_memory_tool.js +7 -3
  434. package/dist/esm/tools/request_input_tool.js +7 -4
  435. package/dist/esm/tools/retrieval/base_retrieval_tool.js +33 -0
  436. package/dist/esm/tools/retrieval/files_retrieval.js +81 -0
  437. package/dist/esm/tools/retrieval/llama_index_retrieval.js +30 -0
  438. package/dist/esm/tools/skill/list_skills_tool.js +2 -0
  439. package/dist/esm/tools/skill/load_skill_resource_tool.js +2 -0
  440. package/dist/esm/tools/skill/load_skill_tool.js +4 -1
  441. package/dist/esm/tools/skill/run_skill_inline_script_tool.js +8 -2
  442. package/dist/esm/tools/skill/run_skill_script_tool.js +10 -2
  443. package/dist/esm/tools/skill/search_skills_tool.js +2 -0
  444. package/dist/esm/tools/skill/skill_toolset.js +25 -0
  445. package/dist/esm/tools/tool_confirmation.js +24 -2
  446. package/dist/esm/tools/url_context_tool.js +8 -7
  447. package/dist/esm/tools/vertex_ai_search_tool.js +9 -9
  448. package/dist/esm/tools/vertex_rag_retrieval_tool.js +8 -11
  449. package/dist/esm/utils/async_hooks_shim.js +6 -2
  450. package/dist/esm/utils/async_queue.js +46 -18
  451. package/dist/esm/utils/branch_trie.js +3 -0
  452. package/dist/esm/utils/case_utils.js +3 -0
  453. package/dist/esm/utils/client_labels.js +6 -0
  454. package/dist/esm/utils/crypto_shim.js +17 -0
  455. package/dist/esm/utils/deprecated.js +40 -0
  456. package/dist/esm/utils/env_aware_utils.js +41 -0
  457. package/dist/esm/utils/error_utils.js +9 -0
  458. package/dist/esm/utils/experimental.js +10 -2
  459. package/dist/esm/utils/failover_utils.js +4 -0
  460. package/dist/esm/utils/file_extension_utils.js +4 -0
  461. package/dist/esm/utils/file_utils.js +8 -2
  462. package/dist/esm/utils/gemini_schema_util.js +7 -8
  463. package/dist/esm/utils/genai_schema_to_json.js +80 -0
  464. package/dist/esm/utils/live_connection_utils.js +6 -2
  465. package/dist/esm/utils/logger.js +28 -44
  466. package/dist/esm/utils/logger_browser.js +58 -0
  467. package/dist/esm/utils/logger_node.js +81 -0
  468. package/dist/esm/utils/model_name.js +9 -0
  469. package/dist/esm/utils/object_notation_utils.js +8 -3
  470. package/dist/esm/utils/optional_peer.js +41 -0
  471. package/dist/esm/utils/output_schema_utils.js +3 -0
  472. package/dist/esm/utils/partial_copy.js +3 -0
  473. package/dist/esm/utils/redact_inline_data.js +19 -0
  474. package/dist/esm/utils/redact_uri.js +53 -0
  475. package/dist/esm/utils/schema.js +152 -0
  476. package/dist/esm/utils/simple_zod_to_json.js +15 -4
  477. package/dist/esm/utils/ssrf_guard.js +230 -0
  478. package/dist/esm/utils/streaming_utils.js +15 -6
  479. package/dist/esm/utils/task.js +8 -4
  480. package/dist/esm/utils/variant_utils.js +5 -2
  481. package/dist/esm/utils/vertex_ai_utils.js +5 -2
  482. package/dist/esm/version.js +1 -1
  483. package/dist/esm/workflow/base_node.js +182 -0
  484. package/dist/esm/workflow/branch_path.js +77 -0
  485. package/dist/esm/workflow/dynamic_node_scheduler.js +202 -0
  486. package/dist/esm/workflow/errors.js +140 -0
  487. package/dist/esm/workflow/graph.js +127 -0
  488. package/dist/esm/workflow/index.js +80 -0
  489. package/dist/esm/workflow/node.js +38 -0
  490. package/dist/esm/workflow/node_builders.js +40 -0
  491. package/dist/esm/workflow/node_context.js +219 -0
  492. package/dist/esm/workflow/node_error_event.js +57 -0
  493. package/dist/esm/workflow/node_runner.js +439 -0
  494. package/dist/esm/workflow/node_state.js +29 -0
  495. package/dist/esm/workflow/node_status.js +20 -0
  496. package/dist/esm/workflow/nodes/function_node.js +172 -0
  497. package/dist/esm/workflow/nodes/join_node.js +29 -0
  498. package/dist/esm/workflow/nodes/node_tool.js +122 -0
  499. package/dist/esm/workflow/nodes/parallel_worker.js +102 -0
  500. package/dist/esm/workflow/nodes/tool_node.js +90 -0
  501. package/dist/esm/workflow/request_input.js +36 -0
  502. package/dist/esm/workflow/retry_config.js +43 -0
  503. package/dist/esm/workflow/run_llm_agent_as_node.js +172 -0
  504. package/dist/esm/workflow/run_node_as_invocation.js +139 -0
  505. package/dist/esm/workflow/schedule_dynamic_node.js +26 -0
  506. package/dist/esm/workflow/utils/graph_parser.js +188 -0
  507. package/dist/esm/workflow/utils/graph_validation.js +189 -0
  508. package/dist/esm/workflow/utils/hitl_utils.js +222 -0
  509. package/dist/esm/workflow/utils/rehydration_utils.js +342 -0
  510. package/dist/esm/workflow/utils/retry_utils.js +82 -0
  511. package/dist/esm/workflow/utils/workflow_graph_utils.js +115 -0
  512. package/dist/esm/workflow/workflow.js +493 -0
  513. package/dist/types/a2a/a2a_event.d.ts +7 -10
  514. package/dist/types/a2a/a2a_remote_agent.d.ts +5 -0
  515. package/dist/types/a2a/a2a_remote_agent_utils.d.ts +25 -0
  516. package/dist/types/a2a/agent_card.d.ts +12 -3
  517. package/dist/types/a2a/agent_executor.d.ts +1 -1
  518. package/dist/types/a2a/agent_to_a2a.d.ts +6 -4
  519. package/dist/types/a2a/auth.d.ts +5 -1
  520. package/dist/types/a2a/event_processor_utils.d.ts +17 -2
  521. package/dist/types/a2a/executor_context.d.ts +7 -1
  522. package/dist/types/a2a/index.d.ts +18 -0
  523. package/dist/types/a2a/request_metadata.d.ts +22 -0
  524. package/dist/types/agents/base_agent.d.ts +56 -25
  525. package/dist/types/agents/context.d.ts +8 -0
  526. package/dist/types/agents/framework_function_calls.d.ts +26 -0
  527. package/dist/types/agents/functions.d.ts +73 -8
  528. package/dist/types/agents/invocation_context.d.ts +106 -6
  529. package/dist/types/agents/live_request_queue.d.ts +7 -1
  530. package/dist/types/agents/llm_agent.d.ts +86 -8
  531. package/dist/types/agents/loop_agent.d.ts +5 -0
  532. package/dist/types/agents/parallel_agent.d.ts +5 -0
  533. package/dist/types/agents/processors/agent_transfer_llm_request_processor.d.ts +16 -1
  534. package/dist/types/agents/processors/content_processor_utils.d.ts +3 -2
  535. package/dist/types/agents/processors/identity_llm_request_processor.d.ts +4 -1
  536. package/dist/types/agents/processors/request_input_llm_request_processor.d.ts +21 -0
  537. package/dist/types/agents/readonly_context.d.ts +4 -0
  538. package/dist/types/agents/run_config.d.ts +72 -4
  539. package/dist/types/agents/sequential_agent.d.ts +5 -0
  540. package/dist/types/agents/user_input_request.d.ts +71 -0
  541. package/dist/types/apps/app.d.ts +8 -3
  542. package/dist/types/artifacts/gcs_artifact_service.d.ts +9 -2
  543. package/dist/types/artifacts/scoped_artifact_service.d.ts +13 -0
  544. package/dist/types/artifacts/session_artifact_service.d.ts +8 -1
  545. package/dist/types/auth/auth_credential.d.ts +13 -8
  546. package/dist/types/auth/auth_handler.d.ts +12 -1
  547. package/dist/types/auth/credential_response_binding.d.ts +24 -0
  548. package/dist/types/auth/oauth2/oauth2_credential_refresher.d.ts +1 -1
  549. package/dist/types/auth/oauth2/oauth2_utils.d.ts +9 -0
  550. package/dist/types/auth/refresher/base_credential_refresher.d.ts +1 -1
  551. package/dist/types/code_executors/code_execution_utils.d.ts +1 -1
  552. package/dist/types/code_executors/container_code_executor.d.ts +89 -0
  553. package/dist/types/code_executors/docker_container.d.ts +79 -0
  554. package/dist/types/common.d.ts +39 -27
  555. package/dist/types/context/compaction_utils.d.ts +9 -1
  556. package/dist/types/environment/base_environment.d.ts +101 -0
  557. package/dist/types/environment/local_environment.d.ts +72 -0
  558. package/dist/types/errors/already_exists_error.d.ts +14 -0
  559. package/dist/types/errors/input_validation_error.d.ts +14 -0
  560. package/dist/types/errors/not_found_error.d.ts +14 -0
  561. package/dist/types/errors/session_not_found_error.d.ts +14 -0
  562. package/dist/types/errors/tool_execution_error.d.ts +36 -0
  563. package/dist/types/events/event.d.ts +94 -1
  564. package/dist/types/events/event_actions.d.ts +23 -0
  565. package/dist/types/index.d.ts +27 -14
  566. package/dist/types/memory/rag_memory_transcript.d.ts +55 -0
  567. package/dist/types/memory/vertex_ai_rag_api.d.ts +89 -0
  568. package/dist/types/memory/vertex_ai_rag_memory_service.d.ts +68 -0
  569. package/dist/types/models/apigee_llm.d.ts +4 -4
  570. package/dist/types/models/chrome_prompt_llm.d.ts +210 -0
  571. package/dist/types/models/chrome_prompt_utils.d.ts +68 -0
  572. package/dist/types/models/google_llm.d.ts +10 -4
  573. package/dist/types/models/registry.d.ts +3 -2
  574. package/dist/types/plugins/_reflect_retry_utils.d.ts +72 -0
  575. package/dist/types/plugins/base_plugin.d.ts +47 -10
  576. package/dist/types/plugins/logging_plugin.d.ts +3 -2
  577. package/dist/types/plugins/plugin_manager.d.ts +20 -0
  578. package/dist/types/plugins/reflect_retry_model_plugin.d.ts +132 -0
  579. package/dist/types/plugins/reflect_retry_tool_plugin.d.ts +187 -0
  580. package/dist/types/plugins/security_plugin.d.ts +4 -2
  581. package/dist/types/runner/in_memory_runner.d.ts +2 -2
  582. package/dist/types/runner/runner.d.ts +64 -9
  583. package/dist/types/sessions/base_session_service.d.ts +2 -2
  584. package/dist/types/sessions/database_session_service.d.ts +1 -1
  585. package/dist/types/sessions/db/operations.d.ts +13 -1
  586. package/dist/types/sessions/db/schema.d.ts +23 -9
  587. package/dist/types/sessions/state.d.ts +34 -1
  588. package/dist/types/sessions/state_write_order.d.ts +39 -0
  589. package/dist/types/telemetry/tracing.d.ts +15 -0
  590. package/dist/types/tools/base_tool.d.ts +26 -0
  591. package/dist/types/tools/base_toolset.d.ts +3 -4
  592. package/dist/types/tools/built_in_tool.d.ts +41 -0
  593. package/dist/types/tools/enterprise_web_search_tool.d.ts +4 -4
  594. package/dist/types/tools/finish_task_tool.d.ts +47 -0
  595. package/dist/types/tools/forwarding_artifact_service.d.ts +23 -10
  596. package/dist/types/tools/function_tool.d.ts +88 -10
  597. package/dist/types/tools/google_maps_grounding_tool.d.ts +4 -4
  598. package/dist/types/tools/google_search_tool.d.ts +4 -4
  599. package/dist/types/tools/long_running_tool.d.ts +1 -1
  600. package/dist/types/tools/mcp/index.d.ts +13 -0
  601. package/dist/types/tools/mcp/mcp_session_manager.d.ts +3 -3
  602. package/dist/types/tools/mcp/mcp_tool.d.ts +1 -1
  603. package/dist/types/tools/mcp/mcp_toolset.d.ts +12 -11
  604. package/dist/types/tools/openapi_tool/auth/auth_helpers.d.ts +5 -0
  605. package/dist/types/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.d.ts +0 -1
  606. package/dist/types/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.d.ts +0 -1
  607. package/dist/types/tools/preload_memory_tool.d.ts +1 -1
  608. package/dist/types/tools/request_input_tool.d.ts +6 -1
  609. package/dist/types/tools/resume_inputs.d.ts +25 -0
  610. package/dist/types/tools/retrieval/base_retrieval_tool.d.ts +21 -0
  611. package/dist/types/tools/retrieval/files_retrieval.d.ts +50 -0
  612. package/dist/types/tools/retrieval/llama_index_retrieval.d.ts +62 -0
  613. package/dist/types/tools/skill/skill_toolset.d.ts +26 -0
  614. package/dist/types/tools/tool_confirmation.d.ts +47 -0
  615. package/dist/types/tools/url_context_tool.d.ts +4 -4
  616. package/dist/types/tools/vertex_ai_search_tool.d.ts +4 -4
  617. package/dist/types/tools/vertex_rag_retrieval_tool.d.ts +13 -12
  618. package/dist/types/utils/async_queue.d.ts +34 -2
  619. package/dist/types/utils/crypto_shim.d.ts +16 -0
  620. package/dist/types/utils/deprecated.d.ts +21 -0
  621. package/dist/types/utils/env_aware_utils.d.ts +16 -0
  622. package/dist/types/utils/file_utils.d.ts +10 -2
  623. package/dist/types/utils/gemini_schema_util.d.ts +5 -7
  624. package/dist/types/utils/genai_schema_to_json.d.ts +25 -0
  625. package/dist/types/utils/logger.d.ts +23 -1
  626. package/dist/types/utils/logger_browser.d.ts +28 -0
  627. package/dist/types/utils/logger_node.d.ts +20 -0
  628. package/dist/types/utils/optional_peer.d.ts +36 -0
  629. package/dist/types/utils/output_schema_utils.d.ts +3 -3
  630. package/dist/types/utils/redact_inline_data.d.ts +16 -0
  631. package/dist/types/utils/redact_uri.d.ts +32 -0
  632. package/dist/types/utils/schema.d.ts +73 -0
  633. package/dist/types/utils/simple_zod_to_json.d.ts +8 -0
  634. package/dist/types/utils/ssrf_guard.d.ts +32 -0
  635. package/dist/types/utils/vertex_ai_utils.d.ts +4 -0
  636. package/dist/types/version.d.ts +1 -1
  637. package/dist/types/workflow/base_node.d.ts +142 -0
  638. package/dist/types/workflow/branch_path.d.ts +40 -0
  639. package/dist/types/workflow/dynamic_node_scheduler.d.ts +64 -0
  640. package/dist/types/workflow/errors.d.ts +132 -0
  641. package/dist/types/workflow/graph.d.ts +127 -0
  642. package/dist/types/workflow/index.d.ts +46 -0
  643. package/dist/types/workflow/node.d.ts +48 -0
  644. package/dist/types/workflow/node_builders.d.ts +25 -0
  645. package/dist/types/workflow/node_context.d.ts +208 -0
  646. package/dist/types/workflow/node_error_event.d.ts +18 -0
  647. package/dist/types/workflow/node_runner.d.ts +82 -0
  648. package/dist/types/workflow/node_state.d.ts +47 -0
  649. package/dist/types/workflow/node_status.d.ts +28 -0
  650. package/dist/types/workflow/nodes/function_node.d.ts +78 -0
  651. package/dist/types/workflow/nodes/join_node.d.ts +24 -0
  652. package/dist/types/workflow/nodes/node_tool.d.ts +53 -0
  653. package/dist/types/workflow/nodes/parallel_worker.d.ts +55 -0
  654. package/dist/types/workflow/nodes/tool_node.d.ts +34 -0
  655. package/dist/types/workflow/request_input.d.ts +73 -0
  656. package/dist/types/workflow/retry_config.d.ts +84 -0
  657. package/dist/types/workflow/run_llm_agent_as_node.d.ts +28 -0
  658. package/dist/types/workflow/run_node_as_invocation.d.ts +72 -0
  659. package/dist/types/workflow/schedule_dynamic_node.d.ts +66 -0
  660. package/dist/types/workflow/trigger.d.ts +22 -0
  661. package/dist/types/workflow/utils/graph_parser.d.ts +8 -0
  662. package/dist/types/workflow/utils/graph_validation.d.ts +18 -0
  663. package/dist/types/workflow/utils/hitl_utils.d.ts +92 -0
  664. package/dist/types/workflow/utils/rehydration_utils.d.ts +132 -0
  665. package/dist/types/workflow/utils/retry_utils.d.ts +54 -0
  666. package/dist/types/workflow/utils/workflow_graph_utils.d.ts +76 -0
  667. package/dist/types/workflow/workflow.d.ts +115 -0
  668. package/dist/web/index_web.js +304 -3
  669. package/dist/web/index_web.js.map +7 -0
  670. package/package.json +97 -20
  671. package/dist/web/a2a/a2a_event.js +0 -271
  672. package/dist/web/a2a/a2a_remote_agent.js +0 -196
  673. package/dist/web/a2a/a2a_remote_agent_run_processor.js +0 -184
  674. package/dist/web/a2a/a2a_remote_agent_utils.js +0 -133
  675. package/dist/web/a2a/agent_card.js +0 -342
  676. package/dist/web/a2a/agent_executor.js +0 -218
  677. package/dist/web/a2a/agent_to_a2a.js +0 -97
  678. package/dist/web/a2a/auth.js +0 -37
  679. package/dist/web/a2a/event_converter_utils.js +0 -232
  680. package/dist/web/a2a/event_processor_utils.js +0 -170
  681. package/dist/web/a2a/executor_context.js +0 -25
  682. package/dist/web/a2a/metadata_converter_utils.js +0 -110
  683. package/dist/web/a2a/part_converter_utils.js +0 -188
  684. package/dist/web/agents/active_streaming_tool.js +0 -21
  685. package/dist/web/agents/base_agent.js +0 -423
  686. package/dist/web/agents/context.js +0 -142
  687. package/dist/web/agents/functions.js +0 -433
  688. package/dist/web/agents/instructions.js +0 -148
  689. package/dist/web/agents/invocation_context.js +0 -77
  690. package/dist/web/agents/live_request_queue.js +0 -126
  691. package/dist/web/agents/llm_agent.js +0 -936
  692. package/dist/web/agents/loop_agent.js +0 -112
  693. package/dist/web/agents/parallel_agent.js +0 -101
  694. package/dist/web/agents/processors/agent_transfer_llm_request_processor.js +0 -109
  695. package/dist/web/agents/processors/base_llm_processor.js +0 -15
  696. package/dist/web/agents/processors/basic_llm_request_processor.js +0 -81
  697. package/dist/web/agents/processors/code_execution_request_processor.js +0 -367
  698. package/dist/web/agents/processors/content_processor_utils.js +0 -361
  699. package/dist/web/agents/processors/content_request_processor.js +0 -67
  700. package/dist/web/agents/processors/context_compactor_request_processor.js +0 -74
  701. package/dist/web/agents/processors/identity_llm_request_processor.js +0 -50
  702. package/dist/web/agents/processors/instructions_llm_request_processor.js +0 -81
  703. package/dist/web/agents/processors/interactions_request_processor.js +0 -52
  704. package/dist/web/agents/processors/request_confirmation_llm_request_processor.js +0 -168
  705. package/dist/web/agents/processors/tool_filter_request_processor.js +0 -68
  706. package/dist/web/agents/readonly_context.js +0 -55
  707. package/dist/web/agents/routed_agent.js +0 -169
  708. package/dist/web/agents/run_config.js +0 -62
  709. package/dist/web/agents/sequential_agent.js +0 -122
  710. package/dist/web/agents/transcription_entry.js +0 -7
  711. package/dist/web/apps/app.js +0 -49
  712. package/dist/web/apps/resumability_config.js +0 -31
  713. package/dist/web/artifacts/base_artifact_service.js +0 -7
  714. package/dist/web/artifacts/file_artifact_service.js +0 -548
  715. package/dist/web/artifacts/gcs_artifact_service.js +0 -253
  716. package/dist/web/artifacts/in_memory_artifact_service.js +0 -164
  717. package/dist/web/artifacts/registry.js +0 -30
  718. package/dist/web/artifacts/scoped_artifact_service.js +0 -86
  719. package/dist/web/auth/auth_credential.js +0 -18
  720. package/dist/web/auth/auth_handler.js +0 -148
  721. package/dist/web/auth/auth_preprocessor.js +0 -175
  722. package/dist/web/auth/auth_provider_registry.js +0 -33
  723. package/dist/web/auth/auth_schemes.js +0 -33
  724. package/dist/web/auth/auth_tool.js +0 -7
  725. package/dist/web/auth/credential_service/base_credential_service.js +0 -7
  726. package/dist/web/auth/credential_service/in_memory_credential_service.js +0 -46
  727. package/dist/web/auth/credential_service/session_state_credential_service.js +0 -23
  728. package/dist/web/auth/exchanger/base_credential_exchanger.js +0 -12
  729. package/dist/web/auth/exchanger/credential_exchanger_registry.js +0 -31
  730. package/dist/web/auth/oauth2/oauth2_credential_exchanger.js +0 -188
  731. package/dist/web/auth/oauth2/oauth2_credential_refresher.js +0 -102
  732. package/dist/web/auth/oauth2/oauth2_discovery.js +0 -190
  733. package/dist/web/auth/oauth2/oauth2_utils.js +0 -98
  734. package/dist/web/auth/refresher/base_credential_refresher.js +0 -16
  735. package/dist/web/auth/refresher/credential_refresher_registry.js +0 -40
  736. package/dist/web/code_executors/agent_engine_sandbox_code_executor.js +0 -281
  737. package/dist/web/code_executors/base_code_executor.js +0 -63
  738. package/dist/web/code_executors/built_in_code_executor.js +0 -45
  739. package/dist/web/code_executors/code_execution_utils.js +0 -124
  740. package/dist/web/code_executors/code_executor_context.js +0 -170
  741. package/dist/web/code_executors/unsafe_local_code_executor.js +0 -214
  742. package/dist/web/common.js +0 -347
  743. package/dist/web/context/agent_controlled_context_compactor.js +0 -72
  744. package/dist/web/context/anchored_context_compactor.js +0 -117
  745. package/dist/web/context/base_context_compactor.js +0 -7
  746. package/dist/web/context/compaction_utils.js +0 -38
  747. package/dist/web/context/summarizers/llm_summarizer.js +0 -87
  748. package/dist/web/context/token_based_context_compactor.js +0 -111
  749. package/dist/web/context/trajectory_thought_pruning_compactor.js +0 -43
  750. package/dist/web/context/truncating_context_compactor.js +0 -30
  751. package/dist/web/events/compacted_event.js +0 -47
  752. package/dist/web/events/event.js +0 -174
  753. package/dist/web/events/event_actions.js +0 -69
  754. package/dist/web/events/structured_events.js +0 -76
  755. package/dist/web/examples/base_example_provider.js +0 -27
  756. package/dist/web/examples/example.js +0 -7
  757. package/dist/web/examples/example_util.js +0 -79
  758. package/dist/web/features/feature_registry.js +0 -107
  759. package/dist/web/index.js +0 -68
  760. package/dist/web/integrations/agent_registry/agent_registry.js +0 -333
  761. package/dist/web/integrations/agent_registry/agent_registry_mcp_toolset.js +0 -117
  762. package/dist/web/integrations/agent_registry/helpers.js +0 -28
  763. package/dist/web/integrations/agent_registry/types.js +0 -20
  764. package/dist/web/memory/base_memory_service.js +0 -7
  765. package/dist/web/memory/in_memory_memory_service.js +0 -82
  766. package/dist/web/memory/memory_entry.js +0 -7
  767. package/dist/web/memory/vertex_ai_memory_bank_service.js +0 -481
  768. package/dist/web/models/apigee_llm.js +0 -221
  769. package/dist/web/models/base_llm.js +0 -73
  770. package/dist/web/models/base_llm_connection.js +0 -7
  771. package/dist/web/models/gemini_llm_connection.js +0 -179
  772. package/dist/web/models/google_llm.js +0 -384
  773. package/dist/web/models/interactions_utils.js +0 -728
  774. package/dist/web/models/llm_request.js +0 -52
  775. package/dist/web/models/llm_response.js +0 -45
  776. package/dist/web/models/registry.js +0 -95
  777. package/dist/web/models/routed_llm.js +0 -122
  778. package/dist/web/plugins/base_plugin.js +0 -271
  779. package/dist/web/plugins/global_instruction_plugin.js +0 -67
  780. package/dist/web/plugins/logging_plugin.js +0 -235
  781. package/dist/web/plugins/plugin_manager.js +0 -282
  782. package/dist/web/plugins/security_plugin.js +0 -140
  783. package/dist/web/runner/in_memory_runner.js +0 -46
  784. package/dist/web/runner/runner.js +0 -535
  785. package/dist/web/sessions/base_session_service.js +0 -111
  786. package/dist/web/sessions/database_session_service.js +0 -436
  787. package/dist/web/sessions/db/operations.js +0 -96
  788. package/dist/web/sessions/db/schema.js +0 -208
  789. package/dist/web/sessions/in_memory_session_service.js +0 -242
  790. package/dist/web/sessions/registry.js +0 -34
  791. package/dist/web/sessions/session.js +0 -20
  792. package/dist/web/sessions/state.js +0 -89
  793. package/dist/web/sessions/vertex_ai_session_service.js +0 -443
  794. package/dist/web/skills/gcp_skill_registry.js +0 -78
  795. package/dist/web/skills/loader.js +0 -360
  796. package/dist/web/skills/prompt.js +0 -30
  797. package/dist/web/skills/skill.js +0 -67
  798. package/dist/web/skills/skill_registry.js +0 -7
  799. package/dist/web/telemetry/google_cloud.js +0 -54
  800. package/dist/web/telemetry/setup.js +0 -83
  801. package/dist/web/telemetry/tracing.js +0 -234
  802. package/dist/web/tools/agent_tool.js +0 -145
  803. package/dist/web/tools/base_tool.js +0 -93
  804. package/dist/web/tools/base_toolset.js +0 -57
  805. package/dist/web/tools/consolidate_context_tool.js +0 -51
  806. package/dist/web/tools/enterprise_web_search_tool.js +0 -55
  807. package/dist/web/tools/example_tool.js +0 -42
  808. package/dist/web/tools/exit_loop_tool.js +0 -43
  809. package/dist/web/tools/forwarding_artifact_service.js +0 -47
  810. package/dist/web/tools/function_tool.js +0 -85
  811. package/dist/web/tools/get_user_choice_tool.js +0 -25
  812. package/dist/web/tools/google_maps_grounding_tool.js +0 -54
  813. package/dist/web/tools/google_search_tool.js +0 -51
  814. package/dist/web/tools/load_artifacts_tool.js +0 -152
  815. package/dist/web/tools/load_memory_tool.js +0 -79
  816. package/dist/web/tools/load_web_page.js +0 -221
  817. package/dist/web/tools/long_running_tool.js +0 -55
  818. package/dist/web/tools/mcp/load_mcp_resource_tool.js +0 -107
  819. package/dist/web/tools/mcp/mcp_session_manager.js +0 -78
  820. package/dist/web/tools/mcp/mcp_tool.js +0 -43
  821. package/dist/web/tools/mcp/mcp_toolset.js +0 -141
  822. package/dist/web/tools/openapi_tool/auth/auth_helpers.js +0 -48
  823. package/dist/web/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +0 -60
  824. package/dist/web/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +0 -111
  825. package/dist/web/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +0 -221
  826. package/dist/web/tools/openapi_tool/openapi_spec_parser/operation_parser.js +0 -198
  827. package/dist/web/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +0 -94
  828. package/dist/web/tools/openapi_tool/openapi_toolset.js +0 -97
  829. package/dist/web/tools/openapi_tool/rest_api_tool.js +0 -229
  830. package/dist/web/tools/preload_memory_tool.js +0 -77
  831. package/dist/web/tools/request_input_tool.js +0 -26
  832. package/dist/web/tools/skill/list_skills_tool.js +0 -50
  833. package/dist/web/tools/skill/load_skill_resource_tool.js +0 -190
  834. package/dist/web/tools/skill/load_skill_tool.js +0 -93
  835. package/dist/web/tools/skill/run_skill_inline_script_tool.js +0 -167
  836. package/dist/web/tools/skill/run_skill_script_tool.js +0 -201
  837. package/dist/web/tools/skill/search_skills_tool.js +0 -82
  838. package/dist/web/tools/skill/skill_toolset.js +0 -160
  839. package/dist/web/tools/tool_confirmation.js +0 -21
  840. package/dist/web/tools/url_context_tool.js +0 -44
  841. package/dist/web/tools/vertex_ai_search_tool.js +0 -103
  842. package/dist/web/tools/vertex_rag_retrieval_tool.js +0 -36
  843. package/dist/web/utils/async_hooks_shim.js +0 -24
  844. package/dist/web/utils/async_queue.js +0 -60
  845. package/dist/web/utils/branch_trie.js +0 -13
  846. package/dist/web/utils/case_utils.js +0 -25
  847. package/dist/web/utils/client_labels.js +0 -64
  848. package/dist/web/utils/crypto_shim.js +0 -15
  849. package/dist/web/utils/env_aware_utils.js +0 -74
  850. package/dist/web/utils/error_utils.js +0 -92
  851. package/dist/web/utils/experimental.js +0 -46
  852. package/dist/web/utils/failover_utils.js +0 -96
  853. package/dist/web/utils/file_extension_utils.js +0 -51
  854. package/dist/web/utils/file_utils.js +0 -103
  855. package/dist/web/utils/gemini_schema_util.js +0 -173
  856. package/dist/web/utils/live_connection_utils.js +0 -254
  857. package/dist/web/utils/logger.js +0 -130
  858. package/dist/web/utils/model_name.js +0 -66
  859. package/dist/web/utils/object_notation_utils.js +0 -49
  860. package/dist/web/utils/output_schema_utils.js +0 -15
  861. package/dist/web/utils/partial_copy.js +0 -23
  862. package/dist/web/utils/simple_zod_to_json.js +0 -123
  863. package/dist/web/utils/streaming_utils.js +0 -430
  864. package/dist/web/utils/task.js +0 -34
  865. package/dist/web/utils/variant_utils.js +0 -20
  866. package/dist/web/utils/vertex_ai_utils.js +0 -24
  867. package/dist/web/version.js +0 -11
  868. /package/dist/{web/artifacts/session_artifact_service.js → esm/tools/resume_inputs.js} +0 -0
  869. /package/dist/{web/auth/base_auth_provider.js → esm/workflow/trigger.js} +0 -0
@@ -1,936 +0,0 @@
1
- import {createRequire as topLevelCreateRequire} from 'module';
2
- const require = topLevelCreateRequire(import.meta.url);
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
- var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
8
- var __typeError = (msg) => {
9
- throw TypeError(msg);
10
- };
11
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
12
- var __spreadValues = (a, b) => {
13
- for (var prop in b || (b = {}))
14
- if (__hasOwnProp.call(b, prop))
15
- __defNormalProp(a, prop, b[prop]);
16
- if (__getOwnPropSymbols)
17
- for (var prop of __getOwnPropSymbols(b)) {
18
- if (__propIsEnum.call(b, prop))
19
- __defNormalProp(a, prop, b[prop]);
20
- }
21
- return a;
22
- };
23
- var __await = function(promise, isYieldStar) {
24
- this[0] = promise;
25
- this[1] = isYieldStar;
26
- };
27
- var __asyncGenerator = (__this, __arguments, generator) => {
28
- var resume = (k, v, yes, no) => {
29
- try {
30
- var x = generator[k](v), isAwait = (v = x.value) instanceof __await, done = x.done;
31
- 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));
32
- } catch (e) {
33
- no(e);
34
- }
35
- }, method = (k) => it[k] = (x) => new Promise((yes, no) => resume(k, x, yes, no)), it = {};
36
- return generator = generator.apply(__this, __arguments), it[__knownSymbol("asyncIterator")] = () => it, method("next"), method("throw"), method("return"), it;
37
- };
38
- var __yieldStar = (value) => {
39
- var obj = value[__knownSymbol("asyncIterator")], isAwait = false, method, it = {};
40
- if (obj == null) {
41
- obj = value[__knownSymbol("iterator")]();
42
- method = (k) => it[k] = (x) => obj[k](x);
43
- } else {
44
- obj = obj.call(value);
45
- method = (k) => it[k] = (v) => {
46
- if (isAwait) {
47
- isAwait = false;
48
- if (k === "throw") throw v;
49
- return v;
50
- }
51
- isAwait = true;
52
- return {
53
- done: false,
54
- value: new __await(new Promise((resolve) => {
55
- var x = obj[k](v);
56
- if (!(x instanceof Object)) __typeError("Object expected");
57
- resolve(x);
58
- }), 1)
59
- };
60
- };
61
- }
62
- return it[__knownSymbol("iterator")] = () => it, method("next"), "throw" in obj ? method("throw") : it.throw = (x) => {
63
- throw x;
64
- }, "return" in obj && method("return"), it;
65
- };
66
- 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);
67
- /**
68
- * @license
69
- * Copyright 2025 Google LLC
70
- * SPDX-License-Identifier: Apache-2.0
71
- */
72
- var _a, _b;
73
- import { context, trace } from "@opentelemetry/api";
74
- import { FunctionTool } from "../tools/function_tool.js";
75
- import {
76
- createEvent,
77
- createNewEventId,
78
- getFunctionCalls,
79
- getFunctionResponses,
80
- isFinalResponse,
81
- populateClientFunctionCallId
82
- } from "../events/event.js";
83
- import { isBaseLlm } from "../models/base_llm.js";
84
- import { LLMRegistry } from "../models/registry.js";
85
- import { isBaseTool } from "../tools/base_tool.js";
86
- import { logger } from "../utils/logger.js";
87
- import { canUseOutputSchemaWithTools } from "../utils/output_schema_utils.js";
88
- import { Context } from "./context.js";
89
- import {
90
- runAsyncGeneratorWithOtelContext,
91
- traceCallLlm,
92
- tracer
93
- } from "../telemetry/tracing.js";
94
- import { isZodObject, zodObjectToSchema } from "../utils/simple_zod_to_json.js";
95
- import { BaseAgent } from "./base_agent.js";
96
- import {
97
- generateAuthEvent,
98
- generateRequestConfirmationEvent,
99
- getLongRunningFunctionCalls,
100
- handleFunctionCallsAsync
101
- } from "./functions.js";
102
- import { AUTH_PREPROCESSOR } from "../auth/auth_preprocessor.js";
103
- import { AGENT_TRANSFER_LLM_REQUEST_PROCESSOR } from "./processors/agent_transfer_llm_request_processor.js";
104
- import { BASIC_LLM_REQUEST_PROCESSOR } from "./processors/basic_llm_request_processor.js";
105
- import { CODE_EXECUTION_REQUEST_PROCESSOR } from "./processors/code_execution_request_processor.js";
106
- import { CONTENT_REQUEST_PROCESSOR } from "./processors/content_request_processor.js";
107
- import { ContextCompactorRequestProcessor } from "./processors/context_compactor_request_processor.js";
108
- import { IDENTITY_LLM_REQUEST_PROCESSOR } from "./processors/identity_llm_request_processor.js";
109
- import { INSTRUCTIONS_LLM_REQUEST_PROCESSOR } from "./processors/instructions_llm_request_processor.js";
110
- import { INTERACTIONS_REQUEST_PROCESSOR } from "./processors/interactions_request_processor.js";
111
- import { REQUEST_CONFIRMATION_LLM_REQUEST_PROCESSOR } from "./processors/request_confirmation_llm_request_processor.js";
112
- import { TOOL_FILTER_REQUEST_PROCESSOR } from "./processors/tool_filter_request_processor.js";
113
- import { ReadonlyContext } from "./readonly_context.js";
114
- import { StreamingMode } from "./run_config.js";
115
- const ADK_AGENT_NAME_LABEL_KEY = "adk_agent_name";
116
- async function convertToolUnionToTools(toolUnion, context2) {
117
- if (isBaseTool(toolUnion)) {
118
- return [toolUnion];
119
- }
120
- return await toolUnion.getTools(context2);
121
- }
122
- const LLM_AGENT_SIGNATURE_SYMBOL = Symbol.for("google.adk.llmAgent");
123
- function isLlmAgent(obj) {
124
- return typeof obj === "object" && obj !== null && LLM_AGENT_SIGNATURE_SYMBOL in obj && obj[LLM_AGENT_SIGNATURE_SYMBOL] === true;
125
- }
126
- class LlmAgent extends (_b = BaseAgent, _a = LLM_AGENT_SIGNATURE_SYMBOL, _b) {
127
- constructor(config) {
128
- var _a2, _b2, _c, _d, _e, _f, _g, _h, _i;
129
- super(config);
130
- /** A unique symbol to identify ADK LLM agent class. */
131
- this[_a] = true;
132
- this.model = config.model;
133
- this.instruction = (_a2 = config.instruction) != null ? _a2 : "";
134
- this.globalInstruction = (_b2 = config.globalInstruction) != null ? _b2 : "";
135
- this.tools = (_c = config.tools) != null ? _c : [];
136
- this.generateContentConfig = config.generateContentConfig;
137
- this.disallowTransferToParent = (_d = config.disallowTransferToParent) != null ? _d : false;
138
- this.disallowTransferToPeers = (_e = config.disallowTransferToPeers) != null ? _e : false;
139
- this.includeContents = (_f = config.includeContents) != null ? _f : "default";
140
- this.inputSchema = isZodObject(config.inputSchema) ? zodObjectToSchema(config.inputSchema) : config.inputSchema;
141
- this.outputSchema = isZodObject(config.outputSchema) ? zodObjectToSchema(config.outputSchema) : config.outputSchema;
142
- this.outputKey = config.outputKey;
143
- this.beforeModelCallback = config.beforeModelCallback;
144
- this.afterModelCallback = config.afterModelCallback;
145
- this.beforeToolCallback = config.beforeToolCallback;
146
- this.afterToolCallback = config.afterToolCallback;
147
- this.codeExecutor = config.codeExecutor;
148
- this.requestProcessors = (_g = config.requestProcessors) != null ? _g : [
149
- BASIC_LLM_REQUEST_PROCESSOR,
150
- AUTH_PREPROCESSOR,
151
- IDENTITY_LLM_REQUEST_PROCESSOR,
152
- INSTRUCTIONS_LLM_REQUEST_PROCESSOR,
153
- REQUEST_CONFIRMATION_LLM_REQUEST_PROCESSOR,
154
- CONTENT_REQUEST_PROCESSOR,
155
- INTERACTIONS_REQUEST_PROCESSOR,
156
- CODE_EXECUTION_REQUEST_PROCESSOR,
157
- TOOL_FILTER_REQUEST_PROCESSOR
158
- ];
159
- if (!config.requestProcessors && config.contextCompactors && config.contextCompactors.length > 0) {
160
- const contentIndex = this.requestProcessors.indexOf(
161
- CONTENT_REQUEST_PROCESSOR
162
- );
163
- if (contentIndex !== -1) {
164
- this.requestProcessors.splice(
165
- contentIndex,
166
- 0,
167
- new ContextCompactorRequestProcessor(config.contextCompactors)
168
- );
169
- } else {
170
- this.requestProcessors.push(
171
- new ContextCompactorRequestProcessor(config.contextCompactors)
172
- );
173
- }
174
- }
175
- this.responseProcessors = (_h = config.responseProcessors) != null ? _h : [];
176
- const agentTransferDisabled = this.disallowTransferToParent && this.disallowTransferToPeers && !((_i = this.subAgents) == null ? void 0 : _i.length);
177
- if (!agentTransferDisabled) {
178
- this.requestProcessors.push(AGENT_TRANSFER_LLM_REQUEST_PROCESSOR);
179
- }
180
- if (config.generateContentConfig) {
181
- if (config.generateContentConfig.tools) {
182
- throw new Error("All tools must be set via LlmAgent.tools.");
183
- }
184
- if (config.generateContentConfig.systemInstruction) {
185
- throw new Error(
186
- "System instruction must be set via LlmAgent.instruction."
187
- );
188
- }
189
- if (config.generateContentConfig.responseSchema) {
190
- throw new Error(
191
- "Response schema must be set via LlmAgent.output_schema."
192
- );
193
- }
194
- } else {
195
- this.generateContentConfig = {};
196
- }
197
- if (this.outputSchema) {
198
- if (!this.disallowTransferToParent || !this.disallowTransferToPeers) {
199
- logger.warn(
200
- "Invalid config for agent ".concat(this.name, ": outputSchema cannot co-exist with agent transfer configurations. Setting disallowTransferToParent=true, disallowTransferToPeers=true")
201
- );
202
- this.disallowTransferToParent = true;
203
- this.disallowTransferToPeers = true;
204
- }
205
- }
206
- }
207
- /**
208
- * The resolved BaseLlm instance.
209
- *
210
- * When not set, the agent will inherit the model from its ancestor.
211
- */
212
- get canonicalModel() {
213
- if (isBaseLlm(this.model)) {
214
- return this.model;
215
- }
216
- if (typeof this.model === "string" && this.model) {
217
- return LLMRegistry.newLlm(this.model);
218
- }
219
- let ancestorAgent = this.parentAgent;
220
- while (ancestorAgent) {
221
- if (isLlmAgent(ancestorAgent)) {
222
- return ancestorAgent.canonicalModel;
223
- }
224
- ancestorAgent = ancestorAgent.parentAgent;
225
- }
226
- throw new Error("No model found for ".concat(this.name, "."));
227
- }
228
- /**
229
- * The resolved instruction field to construct instruction for this
230
- * agent.
231
- *
232
- * This method is only for use by Agent Development Kit.
233
- * @param context The context to retrieve the session state.
234
- * @returns The resolved instruction field.
235
- */
236
- async canonicalInstruction(context2) {
237
- if (typeof this.instruction === "string") {
238
- return { instruction: this.instruction, requireStateInjection: true };
239
- }
240
- return {
241
- instruction: await this.instruction(context2),
242
- requireStateInjection: false
243
- };
244
- }
245
- /**
246
- * The resolved globalInstruction field to construct global instruction.
247
- *
248
- * This method is only for use by Agent Development Kit.
249
- * @param context The context to retrieve the session state.
250
- * @returns The resolved globalInstruction field.
251
- * @deprecated Use GlobalInstructionPlugin instead.
252
- */
253
- async canonicalGlobalInstruction(context2) {
254
- if (typeof this.globalInstruction === "string") {
255
- return {
256
- instruction: this.globalInstruction,
257
- requireStateInjection: true
258
- };
259
- }
260
- return {
261
- instruction: await this.globalInstruction(context2),
262
- requireStateInjection: false
263
- };
264
- }
265
- /**
266
- * The resolved tools field as a list of BaseTool based on the context.
267
- *
268
- * This method is only for use by Agent Development Kit.
269
- */
270
- async canonicalTools(context2) {
271
- const resolvedTools = [];
272
- for (const toolUnion of this.tools) {
273
- const tools = await convertToolUnionToTools(toolUnion, context2);
274
- resolvedTools.push(...tools);
275
- }
276
- return resolvedTools;
277
- }
278
- /**
279
- * Normalizes a callback or an array of callbacks into an array of callbacks.
280
- *
281
- * @param callback The callback or an array of callbacks.
282
- * @returns An array of callbacks.
283
- */
284
- static normalizeCallbackArray(callback) {
285
- if (!callback) {
286
- return [];
287
- }
288
- if (Array.isArray(callback)) {
289
- return callback;
290
- }
291
- return [callback];
292
- }
293
- /**
294
- * The resolved beforeModelCallback field as a list of
295
- * SingleBeforeModelCallback.
296
- *
297
- * This method is only for use by Agent Development Kit.
298
- */
299
- get canonicalBeforeModelCallbacks() {
300
- return LlmAgent.normalizeCallbackArray(this.beforeModelCallback);
301
- }
302
- /**
303
- * The resolved afterModelCallback field as a list of
304
- * SingleAfterModelCallback.
305
- *
306
- * This method is only for use by Agent Development Kit.
307
- */
308
- get canonicalAfterModelCallbacks() {
309
- return LlmAgent.normalizeCallbackArray(this.afterModelCallback);
310
- }
311
- /**
312
- * The resolved beforeToolCallback field as a list of
313
- * BeforeToolCallback.
314
- *
315
- * This method is only for use by Agent Development Kit.
316
- */
317
- get canonicalBeforeToolCallbacks() {
318
- return LlmAgent.normalizeCallbackArray(this.beforeToolCallback);
319
- }
320
- /**
321
- * The resolved afterToolCallback field as a list of AfterToolCallback.
322
- *
323
- * This method is only for use by Agent Development Kit.
324
- */
325
- get canonicalAfterToolCallbacks() {
326
- return LlmAgent.normalizeCallbackArray(this.afterToolCallback);
327
- }
328
- /**
329
- * Saves the agent's final response to the session state if configured.
330
- *
331
- * It extracts the text content from the final response event, optionally
332
- * parses it as JSON based on the output schema, and stores the result in the
333
- * session state using the specified output key.
334
- *
335
- * @param event The event to process.
336
- */
337
- maybeSaveOutputToState(event) {
338
- var _a2, _b2;
339
- if (event.author !== this.name) {
340
- logger.debug(
341
- "Skipping output save for agent ".concat(this.name, ": event authored by ").concat(event.author)
342
- );
343
- return;
344
- }
345
- if (!this.outputKey) {
346
- logger.debug(
347
- "Skipping output save for agent ".concat(this.name, ": outputKey is not set")
348
- );
349
- return;
350
- }
351
- if (!isFinalResponse(event)) {
352
- logger.debug(
353
- "Skipping output save for agent ".concat(this.name, ": event is not a final response")
354
- );
355
- return;
356
- }
357
- if (!((_b2 = (_a2 = event.content) == null ? void 0 : _a2.parts) == null ? void 0 : _b2.length)) {
358
- logger.debug(
359
- "Skipping output save for agent ".concat(this.name, ": event content is empty")
360
- );
361
- return;
362
- }
363
- const resultStr = event.content.parts.map((part) => part.text ? part.text : "").join("");
364
- let result = resultStr;
365
- if (this.outputSchema) {
366
- if (!resultStr.trim()) {
367
- return;
368
- }
369
- try {
370
- result = JSON.parse(resultStr);
371
- } catch (e) {
372
- logger.error("Error parsing output for agent ".concat(this.name), e);
373
- }
374
- }
375
- event.actions.stateDelta[this.outputKey] = result;
376
- }
377
- runAsyncImpl(context2) {
378
- return __asyncGenerator(this, null, function* () {
379
- var _a2, _b2;
380
- while (true) {
381
- let lastEvent = void 0;
382
- let stepHadToolCalls = false;
383
- try {
384
- for (var iter = __forAwait(this.runOneStepAsync(context2)), more, temp, error; more = !(temp = yield new __await(iter.next())).done; more = false) {
385
- const event = temp.value;
386
- if ((_a2 = context2.abortSignal) == null ? void 0 : _a2.aborted) {
387
- return;
388
- }
389
- lastEvent = event;
390
- if (getFunctionCalls(event).length > 0 || getFunctionResponses(event).length > 0) {
391
- stepHadToolCalls = true;
392
- }
393
- this.maybeSaveOutputToState(event);
394
- yield event;
395
- }
396
- } catch (temp) {
397
- error = [temp];
398
- } finally {
399
- try {
400
- more && (temp = iter.return) && (yield new __await(temp.call(iter)));
401
- } finally {
402
- if (error)
403
- throw error[0];
404
- }
405
- }
406
- if (!lastEvent) {
407
- break;
408
- }
409
- const isEmptyMetadataEvent = lastEvent.author === this.name && !lastEvent.partial && (!((_b2 = lastEvent.content) == null ? void 0 : _b2.parts) || lastEvent.content.parts.length === 0);
410
- if (isFinalResponse(lastEvent) && !(isEmptyMetadataEvent && stepHadToolCalls)) {
411
- break;
412
- }
413
- if (lastEvent.partial) {
414
- logger.warn("The last event is partial, which is not expected.");
415
- break;
416
- }
417
- }
418
- });
419
- }
420
- runLiveImpl(context2) {
421
- return __asyncGenerator(this, null, function* () {
422
- var _a2;
423
- try {
424
- for (var iter = __forAwait(this.runLiveFlow(context2)), more, temp, error; more = !(temp = yield new __await(iter.next())).done; more = false) {
425
- const event = temp.value;
426
- if ((_a2 = context2.abortSignal) == null ? void 0 : _a2.aborted) {
427
- return;
428
- }
429
- this.maybeSaveOutputToState(event);
430
- yield event;
431
- }
432
- } catch (temp) {
433
- error = [temp];
434
- } finally {
435
- try {
436
- more && (temp = iter.return) && (yield new __await(temp.call(iter)));
437
- } finally {
438
- if (error)
439
- throw error[0];
440
- }
441
- }
442
- if (context2.endInvocation) {
443
- return;
444
- }
445
- });
446
- }
447
- // --------------------------------------------------------------------------
448
- // #START LlmFlow Logic
449
- // --------------------------------------------------------------------------
450
- /**
451
- * Runs the bidirectional (live) flow for this agent.
452
- *
453
- * Establishes a live connection to the model, drains the invocation's
454
- * `liveRequestQueue` into the connection on a parallel task, and yields
455
- * events derived from server messages until the queue closes, the model
456
- * finishes, or an agent transfer occurs.
457
- *
458
- * If the live connection drops (network failure, server `goAway`) and a
459
- * session resumption handle has been observed, the flow transparently
460
- * reconnects using that handle up to {@link MAX_LIVE_RECONNECT_ATTEMPTS}
461
- * times. Subsequent reconnects skip `sendHistory` because the server
462
- * already holds the conversation state associated with the handle.
463
- */
464
- // eslint-disable-next-line require-yield
465
- runLiveFlow(_invocationContext) {
466
- return __asyncGenerator(this, null, function* () {
467
- yield new __await(Promise.resolve());
468
- throw new Error("LlmAgent.runLiveFlow not implemented");
469
- });
470
- }
471
- runOneStepAsync(invocationContext) {
472
- return __asyncGenerator(this, null, function* () {
473
- var _a2, _b2, _c;
474
- const llmRequest = {
475
- contents: [],
476
- toolsDict: {},
477
- liveConnectConfig: {}
478
- };
479
- for (const processor of this.requestProcessors) {
480
- try {
481
- for (var iter = __forAwait(processor.runAsync(
482
- invocationContext,
483
- llmRequest
484
- )), more, temp, error; more = !(temp = yield new __await(iter.next())).done; more = false) {
485
- const event = temp.value;
486
- if ((_a2 = invocationContext.abortSignal) == null ? void 0 : _a2.aborted) {
487
- return;
488
- }
489
- yield event;
490
- }
491
- } catch (temp) {
492
- error = [temp];
493
- } finally {
494
- try {
495
- more && (temp = iter.return) && (yield new __await(temp.call(iter)));
496
- } finally {
497
- if (error)
498
- throw error[0];
499
- }
500
- }
501
- }
502
- const allTools = [...this.tools];
503
- if (this.outputSchema && allTools.length > 0 && !canUseOutputSchemaWithTools(this.canonicalModel.model)) {
504
- const setModelResponseTool = new FunctionTool({
505
- name: "set_model_response",
506
- description: "Call this tool to submit your final response conforming to the output schema. Use this tool only when you have collected all the information and are ready to return the final answer.",
507
- parameters: this.outputSchema,
508
- execute: async (args, toolContext) => {
509
- if (toolContext) {
510
- toolContext.actions.skipSummarization = true;
511
- }
512
- return JSON.stringify(args);
513
- }
514
- });
515
- allTools.push(setModelResponseTool);
516
- }
517
- for (const toolUnion of allTools) {
518
- const toolContext = new Context({ invocationContext });
519
- const tools = (yield new __await(convertToolUnionToTools(
520
- toolUnion,
521
- new ReadonlyContext(invocationContext)
522
- ))).filter((tool) => {
523
- return !llmRequest.allowedTools || llmRequest.allowedTools.includes(tool.name) || tool.name === "set_model_response";
524
- });
525
- for (const tool of tools) {
526
- yield new __await(tool.processLlmRequest({ toolContext, llmRequest }));
527
- if ((_b2 = invocationContext.abortSignal) == null ? void 0 : _b2.aborted) {
528
- return;
529
- }
530
- }
531
- }
532
- if (invocationContext.endInvocation || ((_c = invocationContext.abortSignal) == null ? void 0 : _c.aborted)) {
533
- return;
534
- }
535
- const modelResponseEvent = createEvent({
536
- invocationId: invocationContext.invocationId,
537
- author: this.name,
538
- branch: invocationContext.branch
539
- });
540
- const span = tracer.startSpan("call_llm");
541
- const ctx = trace.setSpan(context.active(), span);
542
- yield* __yieldStar(runAsyncGeneratorWithOtelContext(
543
- ctx,
544
- this,
545
- function() {
546
- return __asyncGenerator(this, null, function* () {
547
- const responsesGenerator = function() {
548
- return __asyncGenerator(this, null, function* () {
549
- var _a3, _b3;
550
- try {
551
- for (var iter3 = __forAwait(this.callLlmAsync(
552
- invocationContext,
553
- llmRequest,
554
- modelResponseEvent
555
- )), more3, temp3, error3; more3 = !(temp3 = yield new __await(iter3.next())).done; more3 = false) {
556
- const llmResponse = temp3.value;
557
- if ((_a3 = invocationContext.abortSignal) == null ? void 0 : _a3.aborted) {
558
- return;
559
- }
560
- try {
561
- for (var iter2 = __forAwait(this.postprocess(
562
- invocationContext,
563
- llmRequest,
564
- llmResponse,
565
- modelResponseEvent
566
- )), more2, temp2, error2; more2 = !(temp2 = yield new __await(iter2.next())).done; more2 = false) {
567
- const event = temp2.value;
568
- if ((_b3 = invocationContext.abortSignal) == null ? void 0 : _b3.aborted) {
569
- return;
570
- }
571
- modelResponseEvent.id = createNewEventId();
572
- modelResponseEvent.timestamp = (/* @__PURE__ */ new Date()).getTime();
573
- yield event;
574
- }
575
- } catch (temp2) {
576
- error2 = [temp2];
577
- } finally {
578
- try {
579
- more2 && (temp2 = iter2.return) && (yield new __await(temp2.call(iter2)));
580
- } finally {
581
- if (error2)
582
- throw error2[0];
583
- }
584
- }
585
- }
586
- } catch (temp3) {
587
- error3 = [temp3];
588
- } finally {
589
- try {
590
- more3 && (temp3 = iter3.return) && (yield new __await(temp3.call(iter3)));
591
- } finally {
592
- if (error3)
593
- throw error3[0];
594
- }
595
- }
596
- });
597
- };
598
- yield* __yieldStar(this.runAndHandleError(
599
- responsesGenerator.call(this),
600
- invocationContext,
601
- llmRequest,
602
- modelResponseEvent
603
- ));
604
- });
605
- }
606
- ));
607
- span.end();
608
- });
609
- }
610
- postprocess(invocationContext, llmRequest, llmResponse, modelResponseEvent) {
611
- return __asyncGenerator(this, null, function* () {
612
- var _a2, _b2, _c, _d, _e, _f;
613
- for (const processor of this.responseProcessors) {
614
- try {
615
- for (var iter = __forAwait(processor.runAsync(
616
- invocationContext,
617
- llmResponse
618
- )), more, temp, error; more = !(temp = yield new __await(iter.next())).done; more = false) {
619
- const event = temp.value;
620
- if ((_a2 = invocationContext.abortSignal) == null ? void 0 : _a2.aborted) {
621
- return;
622
- }
623
- yield event;
624
- }
625
- } catch (temp) {
626
- error = [temp];
627
- } finally {
628
- try {
629
- more && (temp = iter.return) && (yield new __await(temp.call(iter)));
630
- } finally {
631
- if (error)
632
- throw error[0];
633
- }
634
- }
635
- }
636
- if ((!llmResponse.content || ((_b2 = llmResponse.content.parts) == null ? void 0 : _b2.length) === 0) && !llmResponse.errorCode && !llmResponse.interrupted) {
637
- return;
638
- }
639
- const mergedEvent = createEvent(__spreadValues(__spreadValues({}, modelResponseEvent), llmResponse));
640
- if (mergedEvent.content) {
641
- const functionCalls = getFunctionCalls(mergedEvent);
642
- const setModelResponseCall = functionCalls.find(
643
- (call) => call.name === "set_model_response"
644
- );
645
- if (setModelResponseCall) {
646
- const args = setModelResponseCall.args;
647
- mergedEvent.content.parts = [{ text: JSON.stringify(args) }];
648
- mergedEvent.actions.skipSummarization = true;
649
- } else if (functionCalls && functionCalls.length) {
650
- populateClientFunctionCallId(mergedEvent);
651
- mergedEvent.longRunningToolIds = Array.from(
652
- getLongRunningFunctionCalls(functionCalls, llmRequest.toolsDict)
653
- );
654
- }
655
- }
656
- yield mergedEvent;
657
- if (!((_c = getFunctionCalls(mergedEvent)) == null ? void 0 : _c.length)) {
658
- return;
659
- }
660
- if ((_d = invocationContext.runConfig) == null ? void 0 : _d.pauseOnToolCalls) {
661
- invocationContext.endInvocation = true;
662
- return;
663
- }
664
- const functionResponseEvent = yield new __await(handleFunctionCallsAsync({
665
- invocationContext,
666
- functionCallEvent: mergedEvent,
667
- toolsDict: llmRequest.toolsDict,
668
- beforeToolCallbacks: this.canonicalBeforeToolCallbacks,
669
- afterToolCallbacks: this.canonicalAfterToolCallbacks
670
- }));
671
- if (!functionResponseEvent || ((_e = invocationContext.abortSignal) == null ? void 0 : _e.aborted)) {
672
- return;
673
- }
674
- const authEvent = generateAuthEvent(
675
- invocationContext,
676
- functionResponseEvent
677
- );
678
- if (authEvent) {
679
- yield authEvent;
680
- }
681
- const toolConfirmationEvent = generateRequestConfirmationEvent({
682
- invocationContext,
683
- functionCallEvent: mergedEvent,
684
- functionResponseEvent
685
- });
686
- if (toolConfirmationEvent) {
687
- yield toolConfirmationEvent;
688
- invocationContext.endInvocation = true;
689
- return;
690
- }
691
- yield functionResponseEvent;
692
- const nextAgentName = functionResponseEvent.actions.transferToAgent;
693
- if (nextAgentName) {
694
- const nextAgent = this.getAgentByName(invocationContext, nextAgentName);
695
- try {
696
- for (var iter2 = __forAwait(nextAgent.runAsync(invocationContext)), more2, temp2, error2; more2 = !(temp2 = yield new __await(iter2.next())).done; more2 = false) {
697
- const event = temp2.value;
698
- if ((_f = invocationContext.abortSignal) == null ? void 0 : _f.aborted) {
699
- return;
700
- }
701
- yield event;
702
- }
703
- } catch (temp2) {
704
- error2 = [temp2];
705
- } finally {
706
- try {
707
- more2 && (temp2 = iter2.return) && (yield new __await(temp2.call(iter2)));
708
- } finally {
709
- if (error2)
710
- throw error2[0];
711
- }
712
- }
713
- }
714
- });
715
- }
716
- /**
717
- * Retrieves an agent from the agent tree by its name.
718
- *
719
- * Performing a depth-first search to locate the agent with the given name.
720
- * - Starts searching from the root agent of the current invocation context.
721
- * - Traverses down the agent tree to find the specified agent.
722
- *
723
- * @param invocationContext The current invocation context.
724
- * @param agentName The name of the agent to retrieve.
725
- * @returns The agent with the given name.
726
- * @throws Error if the agent is not found.
727
- */
728
- getAgentByName(invocationContext, agentName) {
729
- const rootAgent = invocationContext.agent.rootAgent;
730
- const agentToRun = rootAgent.findAgent(agentName);
731
- if (!agentToRun) {
732
- throw new Error("Agent ".concat(agentName, " not found in the agent tree."));
733
- }
734
- return agentToRun;
735
- }
736
- callLlmAsync(invocationContext, llmRequest, modelResponseEvent) {
737
- return __asyncGenerator(this, null, function* () {
738
- var _a2, _b2, _c, _d, _e, _f, _g, _h;
739
- const beforeModelResponse = yield new __await(this.handleBeforeModelCallback(
740
- invocationContext,
741
- llmRequest,
742
- modelResponseEvent
743
- ));
744
- if ((_a2 = invocationContext.abortSignal) == null ? void 0 : _a2.aborted) {
745
- return;
746
- }
747
- if (beforeModelResponse) {
748
- yield beforeModelResponse;
749
- return;
750
- }
751
- (_b2 = llmRequest.config) != null ? _b2 : llmRequest.config = {};
752
- (_d = (_c = llmRequest.config).labels) != null ? _d : _c.labels = {};
753
- if (!llmRequest.config.labels[ADK_AGENT_NAME_LABEL_KEY]) {
754
- llmRequest.config.labels[ADK_AGENT_NAME_LABEL_KEY] = this.name;
755
- }
756
- const llm = this.canonicalModel;
757
- if ((_e = invocationContext.runConfig) == null ? void 0 : _e.supportCfc) {
758
- throw new Error("CFC is not yet supported in callLlmAsync");
759
- } else {
760
- invocationContext.incrementLlmCallCount();
761
- const responsesGenerator = llm.generateContentAsync(
762
- llmRequest,
763
- /* stream= */
764
- ((_f = invocationContext.runConfig) == null ? void 0 : _f.streamingMode) === StreamingMode.SSE,
765
- invocationContext.abortSignal
766
- );
767
- try {
768
- for (var iter = __forAwait(responsesGenerator), more, temp, error; more = !(temp = yield new __await(iter.next())).done; more = false) {
769
- const llmResponse = temp.value;
770
- traceCallLlm({
771
- invocationContext,
772
- eventId: modelResponseEvent.id,
773
- llmRequest,
774
- llmResponse
775
- });
776
- if ((_g = invocationContext.abortSignal) == null ? void 0 : _g.aborted) {
777
- return;
778
- }
779
- const alteredLlmResponse = yield new __await(this.handleAfterModelCallback(
780
- invocationContext,
781
- llmResponse,
782
- modelResponseEvent
783
- ));
784
- if ((_h = invocationContext.abortSignal) == null ? void 0 : _h.aborted) {
785
- return;
786
- }
787
- yield alteredLlmResponse != null ? alteredLlmResponse : llmResponse;
788
- }
789
- } catch (temp) {
790
- error = [temp];
791
- } finally {
792
- try {
793
- more && (temp = iter.return) && (yield new __await(temp.call(iter)));
794
- } finally {
795
- if (error)
796
- throw error[0];
797
- }
798
- }
799
- }
800
- });
801
- }
802
- async handleBeforeModelCallback(invocationContext, llmRequest, modelResponseEvent) {
803
- var _a2, _b2;
804
- const callbackContext = new Context({
805
- invocationContext,
806
- eventActions: modelResponseEvent.actions
807
- });
808
- const beforeModelCallbackResponse = await invocationContext.pluginManager.runBeforeModelCallback({
809
- callbackContext,
810
- llmRequest
811
- });
812
- if ((_a2 = invocationContext.abortSignal) == null ? void 0 : _a2.aborted) {
813
- return;
814
- }
815
- if (beforeModelCallbackResponse) {
816
- return beforeModelCallbackResponse;
817
- }
818
- for (const callback of this.canonicalBeforeModelCallbacks) {
819
- const callbackResponse = await callback({
820
- context: callbackContext,
821
- request: llmRequest
822
- });
823
- if ((_b2 = invocationContext.abortSignal) == null ? void 0 : _b2.aborted) {
824
- return;
825
- }
826
- if (callbackResponse) {
827
- return callbackResponse;
828
- }
829
- }
830
- return void 0;
831
- }
832
- async handleAfterModelCallback(invocationContext, llmResponse, modelResponseEvent) {
833
- var _a2;
834
- const callbackContext = new Context({
835
- invocationContext,
836
- eventActions: modelResponseEvent.actions
837
- });
838
- const afterModelCallbackResponse = await invocationContext.pluginManager.runAfterModelCallback({
839
- callbackContext,
840
- llmResponse
841
- });
842
- if (afterModelCallbackResponse) {
843
- return afterModelCallbackResponse;
844
- }
845
- for (const callback of this.canonicalAfterModelCallbacks) {
846
- const callbackResponse = await callback({
847
- context: callbackContext,
848
- response: llmResponse
849
- });
850
- if ((_a2 = invocationContext.abortSignal) == null ? void 0 : _a2.aborted) {
851
- return;
852
- }
853
- if (callbackResponse) {
854
- return callbackResponse;
855
- }
856
- }
857
- return void 0;
858
- }
859
- runAndHandleError(responseGenerator, invocationContext, llmRequest, modelResponseEvent) {
860
- return __asyncGenerator(this, null, function* () {
861
- var _a2;
862
- try {
863
- try {
864
- for (var iter = __forAwait(responseGenerator), more, temp, error; more = !(temp = yield new __await(iter.next())).done; more = false) {
865
- const response = temp.value;
866
- if ((_a2 = invocationContext.abortSignal) == null ? void 0 : _a2.aborted) {
867
- return;
868
- }
869
- yield response;
870
- }
871
- } catch (temp) {
872
- error = [temp];
873
- } finally {
874
- try {
875
- more && (temp = iter.return) && (yield new __await(temp.call(iter)));
876
- } finally {
877
- if (error)
878
- throw error[0];
879
- }
880
- }
881
- } catch (modelError) {
882
- const callbackContext = new Context({
883
- invocationContext,
884
- eventActions: modelResponseEvent.actions
885
- });
886
- if (modelError instanceof Error) {
887
- const onModelErrorCallbackResponse = yield new __await(invocationContext.pluginManager.runOnModelErrorCallback({
888
- callbackContext,
889
- llmRequest,
890
- error: modelError
891
- }));
892
- if (onModelErrorCallbackResponse) {
893
- yield onModelErrorCallbackResponse;
894
- } else {
895
- let errorCode = "UNKNOWN_ERROR";
896
- let errorMessage = modelError.message;
897
- try {
898
- const errorResponse = JSON.parse(modelError.message);
899
- if (errorResponse == null ? void 0 : errorResponse.error) {
900
- errorCode = String(errorResponse.error.code || "UNKNOWN_ERROR");
901
- errorMessage = errorResponse.error.message || errorMessage;
902
- }
903
- } catch (e) {
904
- }
905
- if (modelResponseEvent.actions) {
906
- yield createEvent({
907
- invocationId: invocationContext.invocationId,
908
- author: this.name,
909
- errorCode,
910
- errorMessage
911
- });
912
- } else {
913
- yield {
914
- errorCode,
915
- errorMessage
916
- };
917
- }
918
- }
919
- } else {
920
- logger.error("Unknown error during response generation", modelError);
921
- throw modelError;
922
- }
923
- }
924
- });
925
- }
926
- // --------------------------------------------------------------------------
927
- // #END LlmFlow Logic
928
- // --------------------------------------------------------------------------
929
- // TODO - b/425992518: omitted Py LlmAgent features.
930
- // - code_executor
931
- // - configurable agents by yaml config
932
- }
933
- export {
934
- LlmAgent,
935
- isLlmAgent
936
- };