@google/adk 1.5.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (796) hide show
  1. package/dist/cjs/a2a/a2a_event.js +18 -0
  2. package/dist/cjs/a2a/a2a_remote_agent.js +17 -4
  3. package/dist/cjs/a2a/a2a_remote_agent_run_processor.js +7 -3
  4. package/dist/cjs/a2a/a2a_remote_agent_utils.js +9 -2
  5. package/dist/cjs/a2a/agent_card.js +33 -3
  6. package/dist/cjs/a2a/agent_executor.js +25 -16
  7. package/dist/cjs/a2a/agent_to_a2a.js +22 -11
  8. package/dist/cjs/a2a/auth.js +68 -0
  9. package/dist/cjs/a2a/event_converter_utils.js +50 -15
  10. package/dist/cjs/a2a/event_processor_utils.js +71 -35
  11. package/dist/cjs/a2a/executor_context.js +2 -0
  12. package/dist/cjs/a2a/index.js +53 -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/agents/active_streaming_tool.js +5 -2
  16. package/dist/cjs/agents/base_agent.js +46 -9
  17. package/dist/cjs/agents/context.js +5 -2
  18. package/dist/cjs/agents/framework_function_calls.js +64 -0
  19. package/dist/cjs/agents/functions.js +58 -23
  20. package/dist/cjs/agents/instructions.js +51 -12
  21. package/dist/cjs/agents/invocation_context.js +42 -8
  22. package/dist/cjs/agents/live_request_queue.js +29 -5
  23. package/dist/cjs/agents/llm_agent.js +536 -45
  24. package/dist/cjs/agents/loop_agent.js +19 -2
  25. package/dist/cjs/agents/parallel_agent.js +21 -2
  26. package/dist/cjs/agents/processors/agent_transfer_llm_request_processor.js +7 -4
  27. package/dist/cjs/agents/processors/base_llm_processor.js +9 -4
  28. package/dist/cjs/agents/processors/basic_llm_request_processor.js +8 -4
  29. package/dist/cjs/agents/processors/code_execution_request_processor.js +18 -5
  30. package/dist/cjs/agents/processors/content_processor_utils.js +85 -15
  31. package/dist/cjs/agents/processors/content_request_processor.js +11 -25
  32. package/dist/cjs/agents/processors/context_compactor_request_processor.js +5 -2
  33. package/dist/cjs/agents/processors/identity_llm_request_processor.js +12 -4
  34. package/dist/cjs/agents/processors/instructions_llm_request_processor.js +8 -3
  35. package/dist/cjs/agents/processors/interactions_request_processor.js +5 -2
  36. package/dist/cjs/agents/processors/request_confirmation_llm_request_processor.js +313 -92
  37. package/dist/cjs/agents/processors/request_input_llm_request_processor.js +218 -0
  38. package/dist/cjs/agents/processors/tool_filter_request_processor.js +5 -2
  39. package/dist/cjs/agents/readonly_context.js +7 -3
  40. package/dist/cjs/agents/routed_agent.js +6 -13
  41. package/dist/cjs/agents/run_config.js +12 -0
  42. package/dist/cjs/agents/sequential_agent.js +20 -3
  43. package/dist/cjs/agents/user_input_request.js +145 -0
  44. package/dist/cjs/apps/app.js +11 -11
  45. package/dist/cjs/apps/resumability_config.js +2 -0
  46. package/dist/cjs/artifacts/file_artifact_service.js +21 -2
  47. package/dist/cjs/artifacts/gcs_artifact_service.js +46 -11
  48. package/dist/cjs/artifacts/in_memory_artifact_service.js +19 -11
  49. package/dist/cjs/artifacts/registry.js +6 -1
  50. package/dist/cjs/artifacts/scoped_artifact_service.js +5 -2
  51. package/dist/cjs/auth/auth_handler.js +5 -2
  52. package/dist/cjs/auth/auth_preprocessor.js +48 -40
  53. package/dist/cjs/auth/auth_provider_registry.js +5 -2
  54. package/dist/cjs/auth/auth_schemes.js +2 -0
  55. package/dist/cjs/auth/credential_response_binding.js +101 -0
  56. package/dist/cjs/auth/credential_service/in_memory_credential_service.js +19 -5
  57. package/dist/cjs/auth/credential_service/session_state_credential_service.js +5 -2
  58. package/dist/cjs/auth/exchanger/base_credential_exchanger.js +5 -2
  59. package/dist/cjs/auth/exchanger/credential_exchanger_registry.js +5 -2
  60. package/dist/cjs/auth/oauth2/oauth2_credential_exchanger.js +8 -2
  61. package/dist/cjs/auth/oauth2/oauth2_credential_refresher.js +5 -2
  62. package/dist/cjs/auth/oauth2/oauth2_discovery.js +7 -2
  63. package/dist/cjs/auth/oauth2/oauth2_utils.js +6 -0
  64. package/dist/cjs/auth/refresher/base_credential_refresher.js +5 -2
  65. package/dist/cjs/auth/refresher/credential_refresher_registry.js +5 -2
  66. package/dist/cjs/code_executors/agent_engine_sandbox_code_executor.js +3 -0
  67. package/dist/cjs/code_executors/base_code_executor.js +6 -2
  68. package/dist/cjs/code_executors/built_in_code_executor.js +6 -2
  69. package/dist/cjs/code_executors/code_execution_utils.js +6 -0
  70. package/dist/cjs/code_executors/code_executor_context.js +5 -2
  71. package/dist/cjs/code_executors/unsafe_local_code_executor.js +31 -14
  72. package/dist/cjs/common.js +112 -1
  73. package/dist/cjs/context/agent_controlled_context_compactor.js +7 -13
  74. package/dist/cjs/context/anchored_context_compactor.js +5 -2
  75. package/dist/cjs/context/compaction_utils.js +17 -2
  76. package/dist/cjs/context/summarizers/llm_summarizer.js +5 -2
  77. package/dist/cjs/context/token_based_context_compactor.js +11 -23
  78. package/dist/cjs/context/trajectory_thought_pruning_compactor.js +5 -2
  79. package/dist/cjs/context/truncating_context_compactor.js +5 -2
  80. package/dist/cjs/environment/base_environment.js +97 -0
  81. package/dist/cjs/environment/local_environment.js +186 -0
  82. package/dist/cjs/events/compacted_event.js +4 -0
  83. package/dist/cjs/events/event.js +38 -3
  84. package/dist/cjs/events/event_actions.js +5 -0
  85. package/dist/cjs/events/structured_events.js +2 -0
  86. package/dist/cjs/examples/base_example_provider.js +6 -2
  87. package/dist/cjs/examples/example_util.js +3 -0
  88. package/dist/cjs/features/feature_registry.js +7 -0
  89. package/dist/cjs/index.js +7 -22
  90. package/dist/cjs/integrations/agent_registry/agent_registry.js +7 -4
  91. package/dist/cjs/integrations/agent_registry/agent_registry_mcp_toolset.js +7 -4
  92. package/dist/cjs/integrations/agent_registry/helpers.js +3 -0
  93. package/dist/cjs/memory/in_memory_memory_service.js +21 -4
  94. package/dist/cjs/memory/vertex_ai_memory_bank_service.js +20 -2
  95. package/dist/cjs/models/apigee_llm.js +9 -3
  96. package/dist/cjs/models/base_llm.js +7 -3
  97. package/dist/cjs/models/gemini_llm_connection.js +5 -2
  98. package/dist/cjs/models/google_llm.js +24 -12
  99. package/dist/cjs/models/interactions_utils.js +16 -0
  100. package/dist/cjs/models/llm_request.js +4 -0
  101. package/dist/cjs/models/llm_response.js +2 -0
  102. package/dist/cjs/models/registry.js +6 -2
  103. package/dist/cjs/models/routed_llm.js +4 -13
  104. package/dist/cjs/plugins/base_plugin.js +43 -7
  105. package/dist/cjs/plugins/global_instruction_plugin.js +5 -2
  106. package/dist/cjs/plugins/logging_plugin.js +13 -8
  107. package/dist/cjs/plugins/plugin_manager.js +37 -2
  108. package/dist/cjs/plugins/security_plugin.js +15 -8
  109. package/dist/cjs/runner/in_memory_runner.js +5 -2
  110. package/dist/cjs/runner/runner.js +226 -29
  111. package/dist/cjs/sessions/base_session_service.js +21 -5
  112. package/dist/cjs/sessions/database_session_service.js +6 -2
  113. package/dist/cjs/sessions/db/operations.js +34 -6
  114. package/dist/cjs/sessions/db/schema.js +16 -8
  115. package/dist/cjs/sessions/in_memory_session_service.js +30 -22
  116. package/dist/cjs/sessions/registry.js +4 -1
  117. package/dist/cjs/sessions/session.js +2 -0
  118. package/dist/cjs/sessions/state.js +80 -8
  119. package/dist/cjs/sessions/state_write_order.js +105 -0
  120. package/dist/cjs/sessions/vertex_ai_session_service.js +132 -25
  121. package/dist/cjs/skills/gcp_skill_registry.js +2 -0
  122. package/dist/cjs/skills/loader.js +62 -16
  123. package/dist/cjs/skills/prompt.js +3 -0
  124. package/dist/cjs/telemetry/google_cloud.js +42 -9
  125. package/dist/cjs/telemetry/setup.js +5 -0
  126. package/dist/cjs/telemetry/tracing.js +60 -4
  127. package/dist/cjs/tools/agent_tool.js +6 -2
  128. package/dist/cjs/tools/base_tool.js +24 -2
  129. package/dist/cjs/tools/base_toolset.js +6 -2
  130. package/dist/cjs/tools/consolidate_context_tool.js +5 -2
  131. package/dist/cjs/tools/enterprise_web_search_tool.js +6 -2
  132. package/dist/cjs/tools/example_tool.js +5 -2
  133. package/dist/cjs/tools/exit_loop_tool.js +5 -2
  134. package/dist/cjs/tools/finish_task_tool.js +119 -0
  135. package/dist/cjs/tools/forwarding_artifact_service.js +5 -2
  136. package/dist/cjs/tools/function_tool.js +73 -8
  137. package/dist/cjs/tools/get_user_choice_tool.js +54 -0
  138. package/dist/cjs/tools/google_maps_grounding_tool.js +6 -2
  139. package/dist/cjs/tools/google_search_tool.js +5 -2
  140. package/dist/cjs/tools/load_artifacts_tool.js +8 -2
  141. package/dist/cjs/tools/load_memory_tool.js +5 -2
  142. package/dist/cjs/tools/load_web_page.js +21 -1
  143. package/dist/cjs/tools/long_running_tool.js +5 -2
  144. package/dist/cjs/tools/mcp/index.js +39 -0
  145. package/dist/cjs/tools/mcp/load_mcp_resource_tool.js +5 -2
  146. package/dist/cjs/tools/mcp/mcp_session_manager.js +69 -27
  147. package/dist/cjs/tools/mcp/mcp_tool.js +5 -2
  148. package/dist/cjs/tools/mcp/mcp_toolset.js +5 -2
  149. package/dist/cjs/tools/openapi_tool/auth/auth_helpers.js +4 -0
  150. package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +2 -0
  151. package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +2 -0
  152. package/dist/cjs/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +30 -9
  153. package/dist/cjs/tools/openapi_tool/openapi_spec_parser/operation_parser.js +2 -0
  154. package/dist/cjs/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +6 -2
  155. package/dist/cjs/tools/openapi_tool/openapi_toolset.js +2 -0
  156. package/dist/cjs/tools/openapi_tool/rest_api_tool.js +23 -5
  157. package/dist/cjs/tools/preload_memory_tool.js +5 -2
  158. package/dist/cjs/tools/request_input_tool.js +56 -0
  159. package/dist/cjs/tools/skill/list_skills_tool.js +2 -0
  160. package/dist/cjs/tools/skill/load_skill_resource_tool.js +2 -0
  161. package/dist/cjs/tools/skill/load_skill_tool.js +4 -1
  162. package/dist/cjs/tools/skill/run_skill_inline_script_tool.js +8 -2
  163. package/dist/cjs/tools/skill/run_skill_script_tool.js +10 -2
  164. package/dist/cjs/tools/skill/search_skills_tool.js +2 -0
  165. package/dist/cjs/tools/skill/skill_toolset.js +35 -0
  166. package/dist/cjs/tools/tool_confirmation.js +26 -3
  167. package/dist/cjs/tools/url_context_tool.js +5 -2
  168. package/dist/cjs/tools/vertex_ai_search_tool.js +5 -2
  169. package/dist/cjs/tools/vertex_rag_retrieval_tool.js +5 -2
  170. package/dist/cjs/utils/async_hooks_shim.js +5 -2
  171. package/dist/cjs/utils/async_queue.js +45 -18
  172. package/dist/cjs/utils/branch_trie.js +2 -0
  173. package/dist/cjs/utils/case_utils.js +2 -0
  174. package/dist/cjs/utils/client_labels.js +5 -0
  175. package/dist/cjs/utils/crypto_shim.js +45 -0
  176. package/dist/cjs/utils/deprecated.js +68 -0
  177. package/dist/cjs/utils/env_aware_utils.js +56 -13
  178. package/dist/cjs/utils/error_utils.js +128 -0
  179. package/dist/cjs/utils/experimental.js +9 -2
  180. package/dist/cjs/utils/failover_utils.js +3 -0
  181. package/dist/cjs/utils/file_extension_utils.js +3 -0
  182. package/dist/cjs/utils/file_utils.js +12 -4
  183. package/dist/cjs/utils/gemini_schema_util.js +6 -2
  184. package/dist/cjs/utils/genai_schema_to_json.js +107 -0
  185. package/dist/cjs/utils/live_connection_utils.js +5 -2
  186. package/dist/cjs/utils/logger.js +13 -4
  187. package/dist/cjs/utils/model_name.js +8 -0
  188. package/dist/cjs/utils/object_notation_utils.js +7 -3
  189. package/dist/cjs/utils/optional_peer.js +68 -0
  190. package/dist/cjs/utils/output_schema_utils.js +45 -0
  191. package/dist/cjs/utils/partial_copy.js +2 -0
  192. package/dist/cjs/utils/redact_uri.js +66 -0
  193. package/dist/cjs/utils/schema.js +178 -0
  194. package/dist/cjs/utils/simple_zod_to_json.js +17 -4
  195. package/dist/cjs/utils/streaming_utils.js +14 -6
  196. package/dist/cjs/utils/task.js +7 -4
  197. package/dist/cjs/utils/variant_utils.js +3 -1
  198. package/dist/cjs/utils/vertex_ai_utils.js +6 -1
  199. package/dist/cjs/version.js +1 -1
  200. package/dist/cjs/workflow/base_node.js +211 -0
  201. package/dist/cjs/workflow/branch_path.js +108 -0
  202. package/dist/cjs/workflow/dynamic_node_scheduler.js +220 -0
  203. package/dist/cjs/workflow/errors.js +178 -0
  204. package/dist/cjs/workflow/graph.js +158 -0
  205. package/dist/cjs/workflow/index.js +131 -0
  206. package/dist/cjs/workflow/node.js +65 -0
  207. package/dist/cjs/workflow/node_builders.js +68 -0
  208. package/dist/cjs/workflow/node_context.js +246 -0
  209. package/dist/cjs/workflow/node_error_event.js +86 -0
  210. package/dist/cjs/workflow/node_runner.js +459 -0
  211. package/dist/cjs/workflow/node_state.js +57 -0
  212. package/dist/cjs/workflow/node_status.js +48 -0
  213. package/dist/cjs/workflow/nodes/function_node.js +195 -0
  214. package/dist/cjs/workflow/nodes/join_node.js +56 -0
  215. package/dist/cjs/workflow/nodes/node_tool.js +156 -0
  216. package/dist/cjs/workflow/nodes/parallel_worker.js +129 -0
  217. package/dist/cjs/workflow/nodes/tool_node.js +117 -0
  218. package/dist/cjs/workflow/request_input.js +64 -0
  219. package/dist/cjs/workflow/retry_config.js +71 -0
  220. package/dist/cjs/workflow/run_llm_agent_as_node.js +192 -0
  221. package/dist/cjs/workflow/run_node_as_invocation.js +165 -0
  222. package/dist/cjs/workflow/schedule_dynamic_node.js +53 -0
  223. package/dist/cjs/workflow/trigger.js +27 -0
  224. package/dist/cjs/workflow/utils/graph_parser.js +212 -0
  225. package/dist/cjs/workflow/utils/graph_validation.js +216 -0
  226. package/dist/cjs/workflow/utils/hitl_utils.js +252 -0
  227. package/dist/cjs/workflow/utils/rehydration_utils.js +373 -0
  228. package/dist/cjs/workflow/utils/retry_utils.js +112 -0
  229. package/dist/cjs/workflow/utils/workflow_graph_utils.js +144 -0
  230. package/dist/cjs/workflow/workflow.js +509 -0
  231. package/dist/esm/a2a/a2a_event.js +19 -0
  232. package/dist/esm/a2a/a2a_remote_agent.js +18 -4
  233. package/dist/esm/a2a/a2a_remote_agent_run_processor.js +8 -3
  234. package/dist/esm/a2a/a2a_remote_agent_utils.js +10 -2
  235. package/dist/esm/a2a/agent_card.js +34 -3
  236. package/dist/esm/a2a/agent_executor.js +27 -17
  237. package/dist/esm/a2a/agent_to_a2a.js +44 -16
  238. package/dist/esm/a2a/auth.js +41 -0
  239. package/dist/esm/a2a/event_converter_utils.js +51 -15
  240. package/dist/esm/a2a/event_processor_utils.js +74 -34
  241. package/dist/esm/a2a/executor_context.js +3 -0
  242. package/dist/esm/a2a/index.js +20 -0
  243. package/dist/esm/a2a/metadata_converter_utils.js +6 -0
  244. package/dist/esm/a2a/part_converter_utils.js +13 -0
  245. package/dist/esm/agents/active_streaming_tool.js +6 -2
  246. package/dist/esm/agents/base_agent.js +47 -9
  247. package/dist/esm/agents/context.js +6 -2
  248. package/dist/esm/agents/framework_function_calls.js +34 -0
  249. package/dist/esm/agents/functions.js +62 -20
  250. package/dist/esm/agents/instructions.js +52 -12
  251. package/dist/esm/agents/invocation_context.js +41 -7
  252. package/dist/esm/agents/live_request_queue.js +30 -5
  253. package/dist/esm/agents/llm_agent.js +537 -45
  254. package/dist/esm/agents/loop_agent.js +21 -2
  255. package/dist/esm/agents/parallel_agent.js +23 -2
  256. package/dist/esm/agents/processors/agent_transfer_llm_request_processor.js +8 -4
  257. package/dist/esm/agents/processors/base_llm_processor.js +10 -4
  258. package/dist/esm/agents/processors/basic_llm_request_processor.js +9 -4
  259. package/dist/esm/agents/processors/code_execution_request_processor.js +19 -5
  260. package/dist/esm/agents/processors/content_processor_utils.js +88 -16
  261. package/dist/esm/agents/processors/content_request_processor.js +12 -25
  262. package/dist/esm/agents/processors/context_compactor_request_processor.js +6 -2
  263. package/dist/esm/agents/processors/identity_llm_request_processor.js +13 -4
  264. package/dist/esm/agents/processors/instructions_llm_request_processor.js +9 -3
  265. package/dist/esm/agents/processors/interactions_request_processor.js +6 -2
  266. package/dist/esm/agents/processors/request_confirmation_llm_request_processor.js +318 -93
  267. package/dist/esm/agents/processors/request_input_llm_request_processor.js +197 -0
  268. package/dist/esm/agents/processors/tool_filter_request_processor.js +6 -2
  269. package/dist/esm/agents/readonly_context.js +8 -3
  270. package/dist/esm/agents/routed_agent.js +6 -14
  271. package/dist/esm/agents/run_config.js +13 -0
  272. package/dist/esm/agents/sequential_agent.js +22 -3
  273. package/dist/esm/agents/user_input_request.js +120 -0
  274. package/dist/esm/apps/app.js +14 -11
  275. package/dist/esm/apps/resumability_config.js +3 -0
  276. package/dist/esm/artifacts/file_artifact_service.js +22 -2
  277. package/dist/esm/artifacts/gcs_artifact_service.js +58 -11
  278. package/dist/esm/artifacts/in_memory_artifact_service.js +20 -11
  279. package/dist/esm/artifacts/registry.js +7 -1
  280. package/dist/esm/artifacts/scoped_artifact_service.js +6 -2
  281. package/dist/esm/auth/auth_handler.js +6 -2
  282. package/dist/esm/auth/auth_preprocessor.js +50 -41
  283. package/dist/esm/auth/auth_provider_registry.js +6 -2
  284. package/dist/esm/auth/auth_schemes.js +3 -0
  285. package/dist/esm/auth/credential_response_binding.js +74 -0
  286. package/dist/esm/auth/credential_service/in_memory_credential_service.js +20 -5
  287. package/dist/esm/auth/credential_service/session_state_credential_service.js +6 -2
  288. package/dist/esm/auth/exchanger/base_credential_exchanger.js +6 -2
  289. package/dist/esm/auth/exchanger/credential_exchanger_registry.js +6 -2
  290. package/dist/esm/auth/oauth2/oauth2_credential_exchanger.js +9 -2
  291. package/dist/esm/auth/oauth2/oauth2_credential_refresher.js +6 -2
  292. package/dist/esm/auth/oauth2/oauth2_discovery.js +8 -2
  293. package/dist/esm/auth/oauth2/oauth2_utils.js +7 -0
  294. package/dist/esm/auth/refresher/base_credential_refresher.js +6 -2
  295. package/dist/esm/auth/refresher/credential_refresher_registry.js +6 -2
  296. package/dist/esm/code_executors/agent_engine_sandbox_code_executor.js +3 -0
  297. package/dist/esm/code_executors/base_code_executor.js +7 -2
  298. package/dist/esm/code_executors/built_in_code_executor.js +7 -2
  299. package/dist/esm/code_executors/code_execution_utils.js +7 -0
  300. package/dist/esm/code_executors/code_executor_context.js +6 -2
  301. package/dist/esm/code_executors/unsafe_local_code_executor.js +31 -13
  302. package/dist/esm/common.js +113 -4
  303. package/dist/esm/context/agent_controlled_context_compactor.js +8 -13
  304. package/dist/esm/context/anchored_context_compactor.js +6 -2
  305. package/dist/esm/context/compaction_utils.js +16 -1
  306. package/dist/esm/context/summarizers/llm_summarizer.js +6 -2
  307. package/dist/esm/context/token_based_context_compactor.js +16 -24
  308. package/dist/esm/context/trajectory_thought_pruning_compactor.js +6 -2
  309. package/dist/esm/context/truncating_context_compactor.js +6 -2
  310. package/dist/esm/environment/base_environment.js +71 -0
  311. package/dist/esm/environment/local_environment.js +150 -0
  312. package/dist/esm/events/compacted_event.js +5 -0
  313. package/dist/esm/events/event.js +38 -3
  314. package/dist/esm/events/event_actions.js +6 -0
  315. package/dist/esm/events/structured_events.js +3 -0
  316. package/dist/esm/examples/base_example_provider.js +7 -2
  317. package/dist/esm/examples/example_util.js +4 -0
  318. package/dist/esm/features/feature_registry.js +8 -0
  319. package/dist/esm/index.js +4 -13
  320. package/dist/esm/integrations/agent_registry/agent_registry.js +8 -4
  321. package/dist/esm/integrations/agent_registry/agent_registry_mcp_toolset.js +6 -2
  322. package/dist/esm/integrations/agent_registry/helpers.js +4 -0
  323. package/dist/esm/memory/in_memory_memory_service.js +22 -4
  324. package/dist/esm/memory/vertex_ai_memory_bank_service.js +25 -3
  325. package/dist/esm/models/apigee_llm.js +10 -3
  326. package/dist/esm/models/base_llm.js +8 -3
  327. package/dist/esm/models/gemini_llm_connection.js +6 -2
  328. package/dist/esm/models/google_llm.js +26 -13
  329. package/dist/esm/models/interactions_utils.js +17 -0
  330. package/dist/esm/models/llm_request.js +5 -0
  331. package/dist/esm/models/llm_response.js +3 -0
  332. package/dist/esm/models/registry.js +7 -2
  333. package/dist/esm/models/routed_llm.js +4 -14
  334. package/dist/esm/plugins/base_plugin.js +43 -7
  335. package/dist/esm/plugins/global_instruction_plugin.js +6 -2
  336. package/dist/esm/plugins/logging_plugin.js +14 -8
  337. package/dist/esm/plugins/plugin_manager.js +38 -2
  338. package/dist/esm/plugins/security_plugin.js +14 -6
  339. package/dist/esm/runner/in_memory_runner.js +6 -2
  340. package/dist/esm/runner/runner.js +233 -31
  341. package/dist/esm/sessions/base_session_service.js +22 -5
  342. package/dist/esm/sessions/database_session_service.js +7 -2
  343. package/dist/esm/sessions/db/operations.js +34 -6
  344. package/dist/esm/sessions/db/schema.js +16 -8
  345. package/dist/esm/sessions/in_memory_session_service.js +31 -22
  346. package/dist/esm/sessions/registry.js +5 -1
  347. package/dist/esm/sessions/session.js +3 -0
  348. package/dist/esm/sessions/state.js +78 -7
  349. package/dist/esm/sessions/state_write_order.js +74 -0
  350. package/dist/esm/sessions/vertex_ai_session_service.js +136 -26
  351. package/dist/esm/skills/gcp_skill_registry.js +2 -0
  352. package/dist/esm/skills/loader.js +63 -16
  353. package/dist/esm/skills/prompt.js +4 -0
  354. package/dist/esm/telemetry/google_cloud.js +54 -9
  355. package/dist/esm/telemetry/setup.js +6 -0
  356. package/dist/esm/telemetry/tracing.js +59 -4
  357. package/dist/esm/tools/agent_tool.js +7 -2
  358. package/dist/esm/tools/base_tool.js +25 -2
  359. package/dist/esm/tools/base_toolset.js +7 -2
  360. package/dist/esm/tools/consolidate_context_tool.js +6 -2
  361. package/dist/esm/tools/enterprise_web_search_tool.js +7 -2
  362. package/dist/esm/tools/example_tool.js +6 -2
  363. package/dist/esm/tools/exit_loop_tool.js +6 -2
  364. package/dist/esm/tools/finish_task_tool.js +92 -0
  365. package/dist/esm/tools/forwarding_artifact_service.js +6 -2
  366. package/dist/esm/tools/function_tool.js +74 -8
  367. package/dist/esm/tools/get_user_choice_tool.js +27 -0
  368. package/dist/esm/tools/google_maps_grounding_tool.js +7 -2
  369. package/dist/esm/tools/google_search_tool.js +6 -2
  370. package/dist/esm/tools/load_artifacts_tool.js +9 -2
  371. package/dist/esm/tools/load_memory_tool.js +6 -2
  372. package/dist/esm/tools/load_web_page.js +22 -1
  373. package/dist/esm/tools/long_running_tool.js +6 -2
  374. package/dist/esm/tools/mcp/index.js +11 -0
  375. package/dist/esm/tools/mcp/load_mcp_resource_tool.js +6 -2
  376. package/dist/esm/tools/mcp/mcp_session_manager.js +80 -30
  377. package/dist/esm/tools/mcp/mcp_tool.js +6 -2
  378. package/dist/esm/tools/mcp/mcp_toolset.js +6 -2
  379. package/dist/esm/tools/openapi_tool/auth/auth_helpers.js +5 -0
  380. package/dist/esm/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +2 -0
  381. package/dist/esm/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +2 -0
  382. package/dist/esm/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +30 -9
  383. package/dist/esm/tools/openapi_tool/openapi_spec_parser/operation_parser.js +2 -0
  384. package/dist/esm/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +6 -2
  385. package/dist/esm/tools/openapi_tool/openapi_toolset.js +2 -0
  386. package/dist/esm/tools/openapi_tool/rest_api_tool.js +23 -5
  387. package/dist/esm/tools/preload_memory_tool.js +6 -2
  388. package/dist/esm/tools/request_input_tool.js +29 -0
  389. package/dist/esm/tools/skill/list_skills_tool.js +2 -0
  390. package/dist/esm/tools/skill/load_skill_resource_tool.js +2 -0
  391. package/dist/esm/tools/skill/load_skill_tool.js +4 -1
  392. package/dist/esm/tools/skill/run_skill_inline_script_tool.js +8 -2
  393. package/dist/esm/tools/skill/run_skill_script_tool.js +10 -2
  394. package/dist/esm/tools/skill/search_skills_tool.js +2 -0
  395. package/dist/esm/tools/skill/skill_toolset.js +25 -0
  396. package/dist/esm/tools/tool_confirmation.js +24 -2
  397. package/dist/esm/tools/url_context_tool.js +6 -2
  398. package/dist/esm/tools/vertex_ai_search_tool.js +6 -2
  399. package/dist/esm/tools/vertex_rag_retrieval_tool.js +6 -2
  400. package/dist/esm/utils/async_hooks_shim.js +6 -2
  401. package/dist/esm/utils/async_queue.js +46 -18
  402. package/dist/esm/utils/branch_trie.js +3 -0
  403. package/dist/esm/utils/case_utils.js +3 -0
  404. package/dist/esm/utils/client_labels.js +6 -0
  405. package/dist/esm/utils/crypto_shim.js +18 -0
  406. package/dist/esm/utils/deprecated.js +40 -0
  407. package/dist/esm/utils/env_aware_utils.js +56 -13
  408. package/dist/esm/utils/error_utils.js +101 -0
  409. package/dist/esm/utils/experimental.js +10 -2
  410. package/dist/esm/utils/failover_utils.js +4 -0
  411. package/dist/esm/utils/file_extension_utils.js +4 -0
  412. package/dist/esm/utils/file_utils.js +13 -4
  413. package/dist/esm/utils/gemini_schema_util.js +7 -2
  414. package/dist/esm/utils/genai_schema_to_json.js +80 -0
  415. package/dist/esm/utils/live_connection_utils.js +6 -2
  416. package/dist/esm/utils/logger.js +14 -4
  417. package/dist/esm/utils/model_name.js +9 -0
  418. package/dist/esm/utils/object_notation_utils.js +8 -3
  419. package/dist/esm/utils/optional_peer.js +41 -0
  420. package/dist/esm/utils/output_schema_utils.js +18 -0
  421. package/dist/esm/utils/partial_copy.js +3 -0
  422. package/dist/esm/utils/redact_uri.js +39 -0
  423. package/dist/esm/utils/schema.js +152 -0
  424. package/dist/esm/utils/simple_zod_to_json.js +15 -4
  425. package/dist/esm/utils/streaming_utils.js +15 -6
  426. package/dist/esm/utils/task.js +8 -4
  427. package/dist/esm/utils/variant_utils.js +5 -2
  428. package/dist/esm/utils/vertex_ai_utils.js +7 -2
  429. package/dist/esm/version.js +1 -1
  430. package/dist/esm/workflow/base_node.js +182 -0
  431. package/dist/esm/workflow/branch_path.js +77 -0
  432. package/dist/esm/workflow/dynamic_node_scheduler.js +202 -0
  433. package/dist/esm/workflow/errors.js +140 -0
  434. package/dist/esm/workflow/graph.js +127 -0
  435. package/dist/esm/workflow/index.js +80 -0
  436. package/dist/esm/workflow/node.js +38 -0
  437. package/dist/esm/workflow/node_builders.js +40 -0
  438. package/dist/esm/workflow/node_context.js +219 -0
  439. package/dist/esm/workflow/node_error_event.js +57 -0
  440. package/dist/esm/workflow/node_runner.js +439 -0
  441. package/dist/esm/workflow/node_state.js +29 -0
  442. package/dist/esm/workflow/node_status.js +20 -0
  443. package/dist/esm/workflow/nodes/function_node.js +172 -0
  444. package/dist/esm/workflow/nodes/join_node.js +29 -0
  445. package/dist/esm/workflow/nodes/node_tool.js +131 -0
  446. package/dist/esm/workflow/nodes/parallel_worker.js +102 -0
  447. package/dist/esm/workflow/nodes/tool_node.js +90 -0
  448. package/dist/esm/workflow/request_input.js +36 -0
  449. package/dist/esm/workflow/retry_config.js +43 -0
  450. package/dist/esm/workflow/run_llm_agent_as_node.js +172 -0
  451. package/dist/esm/workflow/run_node_as_invocation.js +139 -0
  452. package/dist/esm/workflow/schedule_dynamic_node.js +26 -0
  453. package/dist/esm/workflow/trigger.js +7 -0
  454. package/dist/esm/workflow/utils/graph_parser.js +188 -0
  455. package/dist/esm/workflow/utils/graph_validation.js +189 -0
  456. package/dist/esm/workflow/utils/hitl_utils.js +222 -0
  457. package/dist/esm/workflow/utils/rehydration_utils.js +342 -0
  458. package/dist/esm/workflow/utils/retry_utils.js +82 -0
  459. package/dist/esm/workflow/utils/workflow_graph_utils.js +115 -0
  460. package/dist/esm/workflow/workflow.js +493 -0
  461. package/dist/types/a2a/agent_card.d.ts +3 -3
  462. package/dist/types/a2a/agent_to_a2a.d.ts +4 -4
  463. package/dist/types/a2a/auth.d.ts +30 -0
  464. package/dist/types/a2a/event_converter_utils.d.ts +4 -1
  465. package/dist/types/a2a/event_processor_utils.d.ts +17 -2
  466. package/dist/types/a2a/index.d.ts +18 -0
  467. package/dist/types/agents/base_agent.d.ts +37 -9
  468. package/dist/types/agents/framework_function_calls.d.ts +26 -0
  469. package/dist/types/agents/functions.d.ts +1 -2
  470. package/dist/types/agents/invocation_context.d.ts +95 -3
  471. package/dist/types/agents/live_request_queue.d.ts +7 -1
  472. package/dist/types/agents/llm_agent.d.ts +77 -1
  473. package/dist/types/agents/loop_agent.d.ts +5 -0
  474. package/dist/types/agents/parallel_agent.d.ts +5 -0
  475. package/dist/types/agents/processors/content_processor_utils.d.ts +3 -2
  476. package/dist/types/agents/processors/identity_llm_request_processor.d.ts +4 -1
  477. package/dist/types/agents/processors/request_input_llm_request_processor.d.ts +21 -0
  478. package/dist/types/agents/run_config.d.ts +57 -2
  479. package/dist/types/agents/sequential_agent.d.ts +5 -0
  480. package/dist/types/agents/user_input_request.d.ts +71 -0
  481. package/dist/types/apps/app.d.ts +8 -3
  482. package/dist/types/artifacts/gcs_artifact_service.d.ts +9 -2
  483. package/dist/types/auth/credential_response_binding.d.ts +24 -0
  484. package/dist/types/auth/credential_service/in_memory_credential_service.d.ts +11 -0
  485. package/dist/types/code_executors/unsafe_local_code_executor.d.ts +5 -1
  486. package/dist/types/common.d.ts +20 -8
  487. package/dist/types/context/agent_controlled_context_compactor.d.ts +0 -1
  488. package/dist/types/context/compaction_utils.d.ts +8 -0
  489. package/dist/types/context/token_based_context_compactor.d.ts +0 -1
  490. package/dist/types/environment/base_environment.d.ts +101 -0
  491. package/dist/types/environment/local_environment.d.ts +72 -0
  492. package/dist/types/events/event.d.ts +94 -1
  493. package/dist/types/events/event_actions.d.ts +10 -0
  494. package/dist/types/index.d.ts +6 -13
  495. package/dist/types/memory/in_memory_memory_service.d.ts +11 -0
  496. package/dist/types/models/apigee_llm.d.ts +4 -4
  497. package/dist/types/models/google_llm.d.ts +2 -1
  498. package/dist/types/plugins/base_plugin.d.ts +39 -2
  499. package/dist/types/plugins/plugin_manager.d.ts +20 -0
  500. package/dist/types/plugins/security_plugin.d.ts +4 -2
  501. package/dist/types/runner/in_memory_runner.d.ts +2 -2
  502. package/dist/types/runner/runner.d.ts +59 -3
  503. package/dist/types/sessions/base_session_service.d.ts +10 -2
  504. package/dist/types/sessions/in_memory_session_service.d.ts +9 -0
  505. package/dist/types/sessions/state.d.ts +34 -1
  506. package/dist/types/sessions/state_write_order.d.ts +39 -0
  507. package/dist/types/sessions/vertex_ai_session_service.d.ts +19 -1
  508. package/dist/types/skills/loader.d.ts +5 -0
  509. package/dist/types/telemetry/tracing.d.ts +15 -0
  510. package/dist/types/tools/base_tool.d.ts +15 -0
  511. package/dist/types/tools/finish_task_tool.d.ts +47 -0
  512. package/dist/types/tools/function_tool.d.ts +46 -1
  513. package/dist/types/tools/get_user_choice_tool.d.ts +14 -0
  514. package/dist/types/tools/mcp/index.d.ts +13 -0
  515. package/dist/types/tools/mcp/mcp_session_manager.d.ts +3 -3
  516. package/dist/types/tools/mcp/mcp_tool.d.ts +1 -1
  517. package/dist/types/tools/mcp/mcp_toolset.d.ts +1 -1
  518. package/dist/types/tools/request_input_tool.d.ts +20 -0
  519. package/dist/types/tools/skill/skill_toolset.d.ts +26 -0
  520. package/dist/types/tools/tool_confirmation.d.ts +47 -0
  521. package/dist/types/utils/async_queue.d.ts +34 -2
  522. package/dist/types/utils/crypto_shim.d.ts +16 -0
  523. package/dist/types/utils/deprecated.d.ts +21 -0
  524. package/dist/types/utils/env_aware_utils.d.ts +39 -0
  525. package/dist/types/utils/error_utils.d.ts +18 -0
  526. package/dist/types/utils/file_utils.d.ts +10 -2
  527. package/dist/types/utils/genai_schema_to_json.d.ts +25 -0
  528. package/dist/types/utils/optional_peer.d.ts +36 -0
  529. package/dist/types/utils/output_schema_utils.d.ts +18 -0
  530. package/dist/types/utils/redact_uri.d.ts +28 -0
  531. package/dist/types/utils/schema.d.ts +73 -0
  532. package/dist/types/utils/simple_zod_to_json.d.ts +8 -0
  533. package/dist/types/utils/vertex_ai_utils.d.ts +5 -0
  534. package/dist/types/version.d.ts +1 -1
  535. package/dist/types/workflow/base_node.d.ts +142 -0
  536. package/dist/types/workflow/branch_path.d.ts +40 -0
  537. package/dist/types/workflow/dynamic_node_scheduler.d.ts +64 -0
  538. package/dist/types/workflow/errors.d.ts +132 -0
  539. package/dist/types/workflow/graph.d.ts +127 -0
  540. package/dist/types/workflow/index.d.ts +46 -0
  541. package/dist/types/workflow/node.d.ts +48 -0
  542. package/dist/types/workflow/node_builders.d.ts +25 -0
  543. package/dist/types/workflow/node_context.d.ts +208 -0
  544. package/dist/types/workflow/node_error_event.d.ts +18 -0
  545. package/dist/types/workflow/node_runner.d.ts +82 -0
  546. package/dist/types/workflow/node_state.d.ts +47 -0
  547. package/dist/types/workflow/node_status.d.ts +28 -0
  548. package/dist/types/workflow/nodes/function_node.d.ts +78 -0
  549. package/dist/types/workflow/nodes/join_node.d.ts +24 -0
  550. package/dist/types/workflow/nodes/node_tool.d.ts +53 -0
  551. package/dist/types/workflow/nodes/parallel_worker.d.ts +55 -0
  552. package/dist/types/workflow/nodes/tool_node.d.ts +34 -0
  553. package/dist/types/workflow/request_input.d.ts +73 -0
  554. package/dist/types/workflow/retry_config.d.ts +84 -0
  555. package/dist/types/workflow/run_llm_agent_as_node.d.ts +28 -0
  556. package/dist/types/workflow/run_node_as_invocation.d.ts +72 -0
  557. package/dist/types/workflow/schedule_dynamic_node.d.ts +66 -0
  558. package/dist/types/workflow/trigger.d.ts +22 -0
  559. package/dist/types/workflow/utils/graph_parser.d.ts +8 -0
  560. package/dist/types/workflow/utils/graph_validation.d.ts +18 -0
  561. package/dist/types/workflow/utils/hitl_utils.d.ts +92 -0
  562. package/dist/types/workflow/utils/rehydration_utils.d.ts +132 -0
  563. package/dist/types/workflow/utils/retry_utils.d.ts +54 -0
  564. package/dist/types/workflow/utils/workflow_graph_utils.d.ts +76 -0
  565. package/dist/types/workflow/workflow.d.ts +115 -0
  566. package/dist/web/a2a/a2a_event.js +19 -0
  567. package/dist/web/a2a/a2a_remote_agent.js +18 -4
  568. package/dist/web/a2a/a2a_remote_agent_run_processor.js +8 -3
  569. package/dist/web/a2a/a2a_remote_agent_utils.js +10 -2
  570. package/dist/web/a2a/agent_card.js +34 -3
  571. package/dist/web/a2a/agent_executor.js +45 -17
  572. package/dist/web/a2a/agent_to_a2a.js +44 -16
  573. package/dist/web/a2a/auth.js +41 -0
  574. package/dist/web/a2a/event_converter_utils.js +50 -15
  575. package/dist/web/a2a/event_processor_utils.js +73 -34
  576. package/dist/web/a2a/executor_context.js +3 -0
  577. package/dist/web/a2a/index.js +20 -0
  578. package/dist/web/a2a/metadata_converter_utils.js +5 -0
  579. package/dist/web/a2a/part_converter_utils.js +13 -0
  580. package/dist/web/agents/active_streaming_tool.js +6 -2
  581. package/dist/web/agents/base_agent.js +48 -9
  582. package/dist/web/agents/context.js +6 -2
  583. package/dist/web/agents/framework_function_calls.js +34 -0
  584. package/dist/web/agents/functions.js +62 -20
  585. package/dist/web/agents/instructions.js +52 -12
  586. package/dist/web/agents/invocation_context.js +56 -7
  587. package/dist/web/agents/live_request_queue.js +30 -5
  588. package/dist/web/agents/llm_agent.js +631 -52
  589. package/dist/web/agents/loop_agent.js +21 -2
  590. package/dist/web/agents/parallel_agent.js +23 -2
  591. package/dist/web/agents/processors/agent_transfer_llm_request_processor.js +8 -4
  592. package/dist/web/agents/processors/base_llm_processor.js +10 -4
  593. package/dist/web/agents/processors/basic_llm_request_processor.js +8 -4
  594. package/dist/web/agents/processors/code_execution_request_processor.js +19 -5
  595. package/dist/web/agents/processors/content_processor_utils.js +87 -16
  596. package/dist/web/agents/processors/content_request_processor.js +12 -25
  597. package/dist/web/agents/processors/context_compactor_request_processor.js +6 -2
  598. package/dist/web/agents/processors/identity_llm_request_processor.js +13 -4
  599. package/dist/web/agents/processors/instructions_llm_request_processor.js +9 -3
  600. package/dist/web/agents/processors/interactions_request_processor.js +6 -2
  601. package/dist/web/agents/processors/request_confirmation_llm_request_processor.js +329 -104
  602. package/dist/web/agents/processors/request_input_llm_request_processor.js +228 -0
  603. package/dist/web/agents/processors/tool_filter_request_processor.js +6 -2
  604. package/dist/web/agents/readonly_context.js +8 -3
  605. package/dist/web/agents/routed_agent.js +6 -14
  606. package/dist/web/agents/run_config.js +12 -0
  607. package/dist/web/agents/sequential_agent.js +22 -3
  608. package/dist/web/agents/user_input_request.js +135 -0
  609. package/dist/web/apps/app.js +14 -11
  610. package/dist/web/apps/resumability_config.js +2 -0
  611. package/dist/web/artifacts/file_artifact_service.js +22 -2
  612. package/dist/web/artifacts/gcs_artifact_service.js +56 -11
  613. package/dist/web/artifacts/in_memory_artifact_service.js +20 -11
  614. package/dist/web/artifacts/registry.js +7 -1
  615. package/dist/web/artifacts/scoped_artifact_service.js +5 -2
  616. package/dist/web/auth/auth_handler.js +5 -2
  617. package/dist/web/auth/auth_preprocessor.js +50 -41
  618. package/dist/web/auth/auth_provider_registry.js +6 -2
  619. package/dist/web/auth/auth_schemes.js +3 -0
  620. package/dist/web/auth/credential_response_binding.js +91 -0
  621. package/dist/web/auth/credential_service/in_memory_credential_service.js +20 -5
  622. package/dist/web/auth/credential_service/session_state_credential_service.js +6 -2
  623. package/dist/web/auth/exchanger/base_credential_exchanger.js +6 -2
  624. package/dist/web/auth/exchanger/credential_exchanger_registry.js +6 -2
  625. package/dist/web/auth/oauth2/oauth2_credential_exchanger.js +8 -2
  626. package/dist/web/auth/oauth2/oauth2_credential_refresher.js +5 -2
  627. package/dist/web/auth/oauth2/oauth2_discovery.js +8 -2
  628. package/dist/web/auth/oauth2/oauth2_utils.js +7 -0
  629. package/dist/web/auth/refresher/base_credential_refresher.js +6 -2
  630. package/dist/web/auth/refresher/credential_refresher_registry.js +6 -2
  631. package/dist/web/code_executors/agent_engine_sandbox_code_executor.js +3 -0
  632. package/dist/web/code_executors/base_code_executor.js +7 -2
  633. package/dist/web/code_executors/built_in_code_executor.js +7 -2
  634. package/dist/web/code_executors/code_execution_utils.js +7 -0
  635. package/dist/web/code_executors/code_executor_context.js +6 -2
  636. package/dist/web/code_executors/unsafe_local_code_executor.js +31 -13
  637. package/dist/web/common.js +113 -4
  638. package/dist/web/context/agent_controlled_context_compactor.js +8 -13
  639. package/dist/web/context/anchored_context_compactor.js +5 -2
  640. package/dist/web/context/compaction_utils.js +16 -1
  641. package/dist/web/context/summarizers/llm_summarizer.js +6 -2
  642. package/dist/web/context/token_based_context_compactor.js +16 -24
  643. package/dist/web/context/trajectory_thought_pruning_compactor.js +6 -2
  644. package/dist/web/context/truncating_context_compactor.js +6 -2
  645. package/dist/web/environment/base_environment.js +71 -0
  646. package/dist/web/environment/local_environment.js +165 -0
  647. package/dist/web/events/compacted_event.js +4 -0
  648. package/dist/web/events/event.js +37 -3
  649. package/dist/web/events/event_actions.js +5 -0
  650. package/dist/web/events/structured_events.js +3 -0
  651. package/dist/web/examples/base_example_provider.js +7 -2
  652. package/dist/web/examples/example_util.js +4 -0
  653. package/dist/web/features/feature_registry.js +8 -0
  654. package/dist/web/index.js +4 -13
  655. package/dist/web/integrations/agent_registry/agent_registry.js +8 -4
  656. package/dist/web/integrations/agent_registry/agent_registry_mcp_toolset.js +5 -2
  657. package/dist/web/integrations/agent_registry/helpers.js +4 -0
  658. package/dist/web/memory/in_memory_memory_service.js +22 -4
  659. package/dist/web/memory/vertex_ai_memory_bank_service.js +24 -3
  660. package/dist/web/models/apigee_llm.js +9 -3
  661. package/dist/web/models/base_llm.js +8 -3
  662. package/dist/web/models/gemini_llm_connection.js +6 -2
  663. package/dist/web/models/google_llm.js +25 -13
  664. package/dist/web/models/interactions_utils.js +17 -0
  665. package/dist/web/models/llm_request.js +5 -0
  666. package/dist/web/models/llm_response.js +3 -0
  667. package/dist/web/models/registry.js +7 -2
  668. package/dist/web/models/routed_llm.js +4 -14
  669. package/dist/web/plugins/base_plugin.js +43 -7
  670. package/dist/web/plugins/global_instruction_plugin.js +6 -2
  671. package/dist/web/plugins/logging_plugin.js +14 -8
  672. package/dist/web/plugins/plugin_manager.js +38 -2
  673. package/dist/web/plugins/security_plugin.js +14 -6
  674. package/dist/web/runner/in_memory_runner.js +6 -2
  675. package/dist/web/runner/runner.js +249 -31
  676. package/dist/web/sessions/base_session_service.js +22 -5
  677. package/dist/web/sessions/database_session_service.js +6 -2
  678. package/dist/web/sessions/db/operations.js +34 -6
  679. package/dist/web/sessions/db/schema.js +16 -8
  680. package/dist/web/sessions/in_memory_session_service.js +31 -22
  681. package/dist/web/sessions/registry.js +5 -1
  682. package/dist/web/sessions/session.js +3 -0
  683. package/dist/web/sessions/state.js +77 -7
  684. package/dist/web/sessions/state_write_order.js +74 -0
  685. package/dist/web/sessions/vertex_ai_session_service.js +142 -26
  686. package/dist/web/skills/gcp_skill_registry.js +2 -0
  687. package/dist/web/skills/loader.js +62 -16
  688. package/dist/web/skills/prompt.js +4 -0
  689. package/dist/web/telemetry/google_cloud.js +54 -9
  690. package/dist/web/telemetry/setup.js +6 -0
  691. package/dist/web/telemetry/tracing.js +77 -7
  692. package/dist/web/tools/agent_tool.js +7 -2
  693. package/dist/web/tools/base_tool.js +25 -2
  694. package/dist/web/tools/base_toolset.js +7 -2
  695. package/dist/web/tools/consolidate_context_tool.js +6 -2
  696. package/dist/web/tools/enterprise_web_search_tool.js +7 -2
  697. package/dist/web/tools/example_tool.js +6 -2
  698. package/dist/web/tools/exit_loop_tool.js +6 -2
  699. package/dist/web/tools/finish_task_tool.js +92 -0
  700. package/dist/web/tools/forwarding_artifact_service.js +6 -2
  701. package/dist/web/tools/function_tool.js +74 -8
  702. package/dist/web/tools/get_user_choice_tool.js +27 -0
  703. package/dist/web/tools/google_maps_grounding_tool.js +7 -2
  704. package/dist/web/tools/google_search_tool.js +6 -2
  705. package/dist/web/tools/load_artifacts_tool.js +9 -2
  706. package/dist/web/tools/load_memory_tool.js +6 -2
  707. package/dist/web/tools/load_web_page.js +22 -1
  708. package/dist/web/tools/long_running_tool.js +5 -2
  709. package/dist/web/tools/mcp/index.js +11 -0
  710. package/dist/web/tools/mcp/load_mcp_resource_tool.js +6 -2
  711. package/dist/web/tools/mcp/mcp_session_manager.js +80 -30
  712. package/dist/web/tools/mcp/mcp_tool.js +6 -2
  713. package/dist/web/tools/mcp/mcp_toolset.js +5 -2
  714. package/dist/web/tools/openapi_tool/auth/auth_helpers.js +5 -0
  715. package/dist/web/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +2 -0
  716. package/dist/web/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +2 -0
  717. package/dist/web/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +30 -9
  718. package/dist/web/tools/openapi_tool/openapi_spec_parser/operation_parser.js +2 -0
  719. package/dist/web/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +6 -2
  720. package/dist/web/tools/openapi_tool/openapi_toolset.js +2 -0
  721. package/dist/web/tools/openapi_tool/rest_api_tool.js +23 -5
  722. package/dist/web/tools/preload_memory_tool.js +6 -2
  723. package/dist/web/tools/request_input_tool.js +29 -0
  724. package/dist/web/tools/skill/list_skills_tool.js +2 -0
  725. package/dist/web/tools/skill/load_skill_resource_tool.js +2 -0
  726. package/dist/web/tools/skill/load_skill_tool.js +4 -1
  727. package/dist/web/tools/skill/run_skill_inline_script_tool.js +26 -2
  728. package/dist/web/tools/skill/run_skill_script_tool.js +28 -2
  729. package/dist/web/tools/skill/search_skills_tool.js +2 -0
  730. package/dist/web/tools/skill/skill_toolset.js +25 -0
  731. package/dist/web/tools/tool_confirmation.js +24 -2
  732. package/dist/web/tools/url_context_tool.js +6 -2
  733. package/dist/web/tools/vertex_ai_search_tool.js +6 -2
  734. package/dist/web/tools/vertex_rag_retrieval_tool.js +6 -2
  735. package/dist/web/utils/async_hooks_shim.js +6 -2
  736. package/dist/web/utils/async_queue.js +46 -18
  737. package/dist/web/utils/branch_trie.js +3 -0
  738. package/dist/web/utils/case_utils.js +3 -0
  739. package/dist/web/utils/client_labels.js +6 -0
  740. package/dist/web/utils/crypto_shim.js +18 -0
  741. package/dist/web/utils/deprecated.js +40 -0
  742. package/dist/web/utils/env_aware_utils.js +56 -13
  743. package/dist/web/utils/error_utils.js +101 -0
  744. package/dist/web/utils/experimental.js +10 -2
  745. package/dist/web/utils/failover_utils.js +4 -0
  746. package/dist/web/utils/file_extension_utils.js +4 -0
  747. package/dist/web/utils/file_utils.js +12 -4
  748. package/dist/web/utils/gemini_schema_util.js +6 -2
  749. package/dist/web/utils/genai_schema_to_json.js +80 -0
  750. package/dist/web/utils/live_connection_utils.js +5 -2
  751. package/dist/web/utils/logger.js +14 -4
  752. package/dist/web/utils/model_name.js +9 -0
  753. package/dist/web/utils/object_notation_utils.js +8 -3
  754. package/dist/web/utils/optional_peer.js +38 -0
  755. package/dist/web/utils/output_schema_utils.js +18 -0
  756. package/dist/web/utils/partial_copy.js +3 -0
  757. package/dist/web/utils/redact_uri.js +39 -0
  758. package/dist/web/utils/schema.js +167 -0
  759. package/dist/web/utils/simple_zod_to_json.js +15 -4
  760. package/dist/web/utils/streaming_utils.js +14 -6
  761. package/dist/web/utils/task.js +8 -4
  762. package/dist/web/utils/variant_utils.js +5 -2
  763. package/dist/web/utils/vertex_ai_utils.js +7 -2
  764. package/dist/web/version.js +1 -1
  765. package/dist/web/workflow/base_node.js +215 -0
  766. package/dist/web/workflow/branch_path.js +77 -0
  767. package/dist/web/workflow/dynamic_node_scheduler.js +202 -0
  768. package/dist/web/workflow/errors.js +140 -0
  769. package/dist/web/workflow/graph.js +127 -0
  770. package/dist/web/workflow/index.js +80 -0
  771. package/dist/web/workflow/node.js +87 -0
  772. package/dist/web/workflow/node_builders.js +40 -0
  773. package/dist/web/workflow/node_context.js +236 -0
  774. package/dist/web/workflow/node_error_event.js +86 -0
  775. package/dist/web/workflow/node_runner.js +481 -0
  776. package/dist/web/workflow/node_state.js +43 -0
  777. package/dist/web/workflow/node_status.js +20 -0
  778. package/dist/web/workflow/nodes/function_node.js +221 -0
  779. package/dist/web/workflow/nodes/join_node.js +47 -0
  780. package/dist/web/workflow/nodes/node_tool.js +131 -0
  781. package/dist/web/workflow/nodes/parallel_worker.js +120 -0
  782. package/dist/web/workflow/nodes/tool_node.js +126 -0
  783. package/dist/web/workflow/request_input.js +36 -0
  784. package/dist/web/workflow/retry_config.js +43 -0
  785. package/dist/web/workflow/run_llm_agent_as_node.js +266 -0
  786. package/dist/web/workflow/run_node_as_invocation.js +170 -0
  787. package/dist/web/workflow/schedule_dynamic_node.js +26 -0
  788. package/dist/web/workflow/trigger.js +7 -0
  789. package/dist/web/workflow/utils/graph_parser.js +188 -0
  790. package/dist/web/workflow/utils/graph_validation.js +189 -0
  791. package/dist/web/workflow/utils/hitl_utils.js +239 -0
  792. package/dist/web/workflow/utils/rehydration_utils.js +342 -0
  793. package/dist/web/workflow/utils/retry_utils.js +82 -0
  794. package/dist/web/workflow/utils/workflow_graph_utils.js +115 -0
  795. package/dist/web/workflow/workflow.js +529 -0
  796. package/package.json +82 -8
@@ -9,6 +9,7 @@ var __defProp = Object.defineProperty;
9
9
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
10
10
  var __getOwnPropNames = Object.getOwnPropertyNames;
11
11
  var __hasOwnProp = Object.prototype.hasOwnProperty;
12
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
12
13
  var __export = (target, all) => {
13
14
  for (var name in all)
14
15
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -22,12 +23,21 @@ var __copyProps = (to, from, except, desc) => {
22
23
  return to;
23
24
  };
24
25
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
26
+ var __decorateClass = (decorators, target, key, kind) => {
27
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
28
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
29
+ if (decorator = decorators[i])
30
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
31
+ if (kind && result) __defProp(target, key, result);
32
+ return result;
33
+ };
25
34
  var loop_agent_exports = {};
26
35
  __export(loop_agent_exports, {
27
36
  LoopAgent: () => LoopAgent,
28
37
  isLoopAgent: () => isLoopAgent
29
38
  });
30
39
  module.exports = __toCommonJS(loop_agent_exports);
40
+ var import_deprecated = require("../utils/deprecated.js");
31
41
  var import_base_agent = require("./base_agent.js");
32
42
  /**
33
43
  * @license
@@ -39,7 +49,8 @@ const LOOP_AGENT_SIGNATURE_SYMBOL = Symbol.for("google.adk.loopAgent");
39
49
  function isLoopAgent(obj) {
40
50
  return typeof obj === "object" && obj !== null && LOOP_AGENT_SIGNATURE_SYMBOL in obj && obj[LOOP_AGENT_SIGNATURE_SYMBOL] === true;
41
51
  }
42
- class LoopAgent extends (_b = import_base_agent.BaseAgent, _a = LOOP_AGENT_SIGNATURE_SYMBOL, _b) {
52
+ __name(isLoopAgent, "isLoopAgent");
53
+ let LoopAgent = class extends (_b = import_base_agent.BaseAgent, _a = LOOP_AGENT_SIGNATURE_SYMBOL, _b) {
43
54
  constructor(config) {
44
55
  var _a2;
45
56
  super(config);
@@ -88,7 +99,13 @@ class LoopAgent extends (_b = import_base_agent.BaseAgent, _a = LOOP_AGENT_SIGNA
88
99
  }
89
100
  }
90
101
  }
91
- }
102
+ };
103
+ __name(LoopAgent, "LoopAgent");
104
+ LoopAgent = __decorateClass([
105
+ (0, import_deprecated.deprecated)(
106
+ "LoopAgent is deprecated in favor of Workflow and will be removed in a future version. Workflow cannot yet be used as an LlmAgent sub-agent."
107
+ )
108
+ ], LoopAgent);
92
109
  // Annotate the CommonJS export names for ESM import in node:
93
110
  0 && (module.exports = {
94
111
  LoopAgent,
@@ -9,6 +9,7 @@ var __defProp = Object.defineProperty;
9
9
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
10
10
  var __getOwnPropNames = Object.getOwnPropertyNames;
11
11
  var __hasOwnProp = Object.prototype.hasOwnProperty;
12
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
12
13
  var __export = (target, all) => {
13
14
  for (var name in all)
14
15
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -22,12 +23,21 @@ var __copyProps = (to, from, except, desc) => {
22
23
  return to;
23
24
  };
24
25
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
26
+ var __decorateClass = (decorators, target, key, kind) => {
27
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
28
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
29
+ if (decorator = decorators[i])
30
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
31
+ if (kind && result) __defProp(target, key, result);
32
+ return result;
33
+ };
25
34
  var parallel_agent_exports = {};
26
35
  __export(parallel_agent_exports, {
27
36
  ParallelAgent: () => ParallelAgent,
28
37
  isParallelAgent: () => isParallelAgent
29
38
  });
30
39
  module.exports = __toCommonJS(parallel_agent_exports);
40
+ var import_deprecated = require("../utils/deprecated.js");
31
41
  var import_base_agent = require("./base_agent.js");
32
42
  var import_invocation_context = require("./invocation_context.js");
33
43
  /**
@@ -40,7 +50,8 @@ const PARALLEL_AGENT_SIGNATURE_SYMBOL = Symbol.for("google.adk.parallelAgent");
40
50
  function isParallelAgent(obj) {
41
51
  return typeof obj === "object" && obj !== null && PARALLEL_AGENT_SIGNATURE_SYMBOL in obj && obj[PARALLEL_AGENT_SIGNATURE_SYMBOL] === true;
42
52
  }
43
- class ParallelAgent extends (_b = import_base_agent.BaseAgent, _a = PARALLEL_AGENT_SIGNATURE_SYMBOL, _b) {
53
+ __name(isParallelAgent, "isParallelAgent");
54
+ let ParallelAgent = class extends (_b = import_base_agent.BaseAgent, _a = PARALLEL_AGENT_SIGNATURE_SYMBOL, _b) {
44
55
  constructor() {
45
56
  super(...arguments);
46
57
  /**
@@ -64,13 +75,20 @@ class ParallelAgent extends (_b = import_base_agent.BaseAgent, _a = PARALLEL_AGE
64
75
  async *runLiveImpl(_context) {
65
76
  throw new Error("This is not supported yet for ParallelAgent.");
66
77
  }
67
- }
78
+ };
79
+ __name(ParallelAgent, "ParallelAgent");
80
+ ParallelAgent = __decorateClass([
81
+ (0, import_deprecated.deprecated)(
82
+ "ParallelAgent is deprecated in favor of Workflow and will be removed in a future version. Workflow cannot yet be used as an LlmAgent sub-agent."
83
+ )
84
+ ], ParallelAgent);
68
85
  function createBranchCtxForSubAgent(agent, subAgent, originalContext) {
69
86
  const invocationContext = new import_invocation_context.InvocationContext(originalContext);
70
87
  const branchSuffix = `${agent.name}.${subAgent.name}`;
71
88
  invocationContext.branch = invocationContext.branch ? `${invocationContext.branch}.${branchSuffix}` : branchSuffix;
72
89
  return invocationContext;
73
90
  }
91
+ __name(createBranchCtxForSubAgent, "createBranchCtxForSubAgent");
74
92
  async function* mergeAgentRuns(agentRuns) {
75
93
  const pendingPromises = /* @__PURE__ */ new Map();
76
94
  for (const [index, generator] of agentRuns.entries()) {
@@ -88,6 +106,7 @@ async function* mergeAgentRuns(agentRuns) {
88
106
  pendingPromises.set(index, nextPromise);
89
107
  }
90
108
  }
109
+ __name(mergeAgentRuns, "mergeAgentRuns");
91
110
  // Annotate the CommonJS export names for ESM import in node:
92
111
  0 && (module.exports = {
93
112
  ParallelAgent,
@@ -9,6 +9,7 @@ var __defProp = Object.defineProperty;
9
9
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
10
10
  var __getOwnPropNames = Object.getOwnPropertyNames;
11
11
  var __hasOwnProp = Object.prototype.hasOwnProperty;
12
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
12
13
  var __export = (target, all) => {
13
14
  for (var name in all)
14
15
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -39,7 +40,7 @@ var import_base_llm_processor = require("./base_llm_processor.js");
39
40
  * Copyright 2025 Google LLC
40
41
  * SPDX-License-Identifier: Apache-2.0
41
42
  */
42
- class AgentTransferLlmRequestProcessor extends import_base_llm_processor.BaseLlmRequestProcessor {
43
+ const _AgentTransferLlmRequestProcessor = class _AgentTransferLlmRequestProcessor extends import_base_llm_processor.BaseLlmRequestProcessor {
43
44
  constructor() {
44
45
  super(...arguments);
45
46
  this.toolName = "transfer_to_agent";
@@ -49,13 +50,13 @@ class AgentTransferLlmRequestProcessor extends import_base_llm_processor.BaseLlm
49
50
  parameters: import_zod.z.object({
50
51
  agentName: import_zod.z.string().describe("the agent name to transfer to.")
51
52
  }),
52
- execute: function(args, toolContext) {
53
+ execute: /* @__PURE__ */ __name(function(args, toolContext) {
53
54
  if (!toolContext) {
54
55
  throw new Error("toolContext is required.");
55
56
  }
56
57
  toolContext.actions.transferToAgent = args.agentName;
57
58
  return "Transfer queued";
58
- }
59
+ }, "execute")
59
60
  });
60
61
  }
61
62
  /**
@@ -130,7 +131,9 @@ to your parent agent.
130
131
  }
131
132
  return targets;
132
133
  }
133
- }
134
+ };
135
+ __name(_AgentTransferLlmRequestProcessor, "AgentTransferLlmRequestProcessor");
136
+ let AgentTransferLlmRequestProcessor = _AgentTransferLlmRequestProcessor;
134
137
  const AGENT_TRANSFER_LLM_REQUEST_PROCESSOR = new AgentTransferLlmRequestProcessor();
135
138
  // Annotate the CommonJS export names for ESM import in node:
136
139
  0 && (module.exports = {
@@ -9,6 +9,7 @@ var __defProp = Object.defineProperty;
9
9
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
10
10
  var __getOwnPropNames = Object.getOwnPropertyNames;
11
11
  var __hasOwnProp = Object.prototype.hasOwnProperty;
12
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
12
13
  var __export = (target, all) => {
13
14
  for (var name in all)
14
15
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -33,10 +34,14 @@ module.exports = __toCommonJS(base_llm_processor_exports);
33
34
  * Copyright 2025 Google LLC
34
35
  * SPDX-License-Identifier: Apache-2.0
35
36
  */
36
- class BaseLlmRequestProcessor {
37
- }
38
- class BaseLlmResponseProcessor {
39
- }
37
+ const _BaseLlmRequestProcessor = class _BaseLlmRequestProcessor {
38
+ };
39
+ __name(_BaseLlmRequestProcessor, "BaseLlmRequestProcessor");
40
+ let BaseLlmRequestProcessor = _BaseLlmRequestProcessor;
41
+ const _BaseLlmResponseProcessor = class _BaseLlmResponseProcessor {
42
+ };
43
+ __name(_BaseLlmResponseProcessor, "BaseLlmResponseProcessor");
44
+ let BaseLlmResponseProcessor = _BaseLlmResponseProcessor;
40
45
  // Annotate the CommonJS export names for ESM import in node:
41
46
  0 && (module.exports = {
42
47
  BaseLlmRequestProcessor,
@@ -9,6 +9,7 @@ var __defProp = Object.defineProperty;
9
9
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
10
10
  var __getOwnPropNames = Object.getOwnPropertyNames;
11
11
  var __hasOwnProp = Object.prototype.hasOwnProperty;
12
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
12
13
  var __export = (target, all) => {
13
14
  for (var name in all)
14
15
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -29,6 +30,7 @@ __export(basic_llm_request_processor_exports, {
29
30
  });
30
31
  module.exports = __toCommonJS(basic_llm_request_processor_exports);
31
32
  var import_llm_request = require("../../models/llm_request.js");
33
+ var import_output_schema_utils = require("../../utils/output_schema_utils.js");
32
34
  var import_llm_agent = require("../llm_agent.js");
33
35
  var import_base_llm_processor = require("./base_llm_processor.js");
34
36
  /**
@@ -36,7 +38,7 @@ var import_base_llm_processor = require("./base_llm_processor.js");
36
38
  * Copyright 2025 Google LLC
37
39
  * SPDX-License-Identifier: Apache-2.0
38
40
  */
39
- class BasicLlmRequestProcessor extends import_base_llm_processor.BaseLlmRequestProcessor {
41
+ const _BasicLlmRequestProcessor = class _BasicLlmRequestProcessor extends import_base_llm_processor.BaseLlmRequestProcessor {
40
42
  /**
41
43
  * Populates model name, generation config, output schema, and live connect
42
44
  * settings on the request from the agent and run config.
@@ -46,14 +48,14 @@ class BasicLlmRequestProcessor extends import_base_llm_processor.BaseLlmRequestP
46
48
  */
47
49
  // eslint-disable-next-line require-yield
48
50
  async *runAsync(invocationContext, llmRequest) {
49
- var _a;
51
+ var _a, _b;
50
52
  const agent = invocationContext.agent;
51
53
  if (!(0, import_llm_agent.isLlmAgent)(agent)) {
52
54
  return;
53
55
  }
54
56
  llmRequest.model = agent.canonicalModel.model;
55
57
  llmRequest.config = { ...(_a = agent.generateContentConfig) != null ? _a : {} };
56
- if (agent.outputSchema && (!agent.tools || agent.tools.length === 0)) {
58
+ if (agent.outputSchema && agent.mode !== "task" && (!((_b = agent.tools) == null ? void 0 : _b.length) || (0, import_output_schema_utils.canUseOutputSchemaWithTools)(agent.canonicalModel.model))) {
57
59
  (0, import_llm_request.setOutputSchema)(llmRequest, agent.outputSchema);
58
60
  }
59
61
  if (invocationContext.runConfig) {
@@ -66,7 +68,9 @@ class BasicLlmRequestProcessor extends import_base_llm_processor.BaseLlmRequestP
66
68
  llmRequest.liveConnectConfig.proactivity = invocationContext.runConfig.proactivity;
67
69
  }
68
70
  }
69
- }
71
+ };
72
+ __name(_BasicLlmRequestProcessor, "BasicLlmRequestProcessor");
73
+ let BasicLlmRequestProcessor = _BasicLlmRequestProcessor;
70
74
  const BASIC_LLM_REQUEST_PROCESSOR = new BasicLlmRequestProcessor();
71
75
  // Annotate the CommonJS export names for ESM import in node:
72
76
  0 && (module.exports = {
@@ -9,6 +9,7 @@ var __defProp = Object.defineProperty;
9
9
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
10
10
  var __getOwnPropNames = Object.getOwnPropertyNames;
11
11
  var __hasOwnProp = Object.prototype.hasOwnProperty;
12
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
12
13
  var __export = (target, all) => {
13
14
  for (var name in all)
14
15
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -39,6 +40,7 @@ var import_event = require("../../events/event.js");
39
40
  var import_event_actions = require("../../events/event_actions.js");
40
41
  var import_state = require("../../sessions/state.js");
41
42
  var import_env_aware_utils = require("../../utils/env_aware_utils.js");
43
+ var import_invocation_context = require("../invocation_context.js");
42
44
  var import_llm_agent = require("../llm_agent.js");
43
45
  var import_base_llm_processor = require("./base_llm_processor.js");
44
46
  /**
@@ -46,7 +48,7 @@ var import_base_llm_processor = require("./base_llm_processor.js");
46
48
  * Copyright 2025 Google LLC
47
49
  * SPDX-License-Identifier: Apache-2.0
48
50
  */
49
- class CodeExecutionRequestProcessor extends import_base_llm_processor.BaseLlmRequestProcessor {
51
+ const _CodeExecutionRequestProcessor = class _CodeExecutionRequestProcessor extends import_base_llm_processor.BaseLlmRequestProcessor {
50
52
  async *runAsync(invocationContext, llmRequest) {
51
53
  if (!(0, import_llm_agent.isLlmAgent)(invocationContext.agent)) {
52
54
  return;
@@ -69,7 +71,9 @@ class CodeExecutionRequestProcessor extends import_base_llm_processor.BaseLlmReq
69
71
  );
70
72
  }
71
73
  }
72
- }
74
+ };
75
+ __name(_CodeExecutionRequestProcessor, "CodeExecutionRequestProcessor");
76
+ let CodeExecutionRequestProcessor = _CodeExecutionRequestProcessor;
73
77
  const DATA_FILE_UTIL_MAP = {
74
78
  "text/csv": {
75
79
  extension: ".csv",
@@ -114,7 +118,7 @@ Total columns: {df.shape[1]}
114
118
 
115
119
  {df_info}""")
116
120
  `;
117
- class CodeExecutionResponseProcessor {
121
+ const _CodeExecutionResponseProcessor = class _CodeExecutionResponseProcessor {
118
122
  /**
119
123
  * Processes the LLM response asynchronously.
120
124
  *
@@ -133,7 +137,9 @@ class CodeExecutionResponseProcessor {
133
137
  yield event;
134
138
  }
135
139
  }
136
- }
140
+ };
141
+ __name(_CodeExecutionResponseProcessor, "CodeExecutionResponseProcessor");
142
+ let CodeExecutionResponseProcessor = _CodeExecutionResponseProcessor;
137
143
  const responseProcessor = new CodeExecutionResponseProcessor();
138
144
  async function* runPreProcessor(invocationContext, llmRequest) {
139
145
  const agent = invocationContext.agent;
@@ -215,6 +221,7 @@ async function* runPreProcessor(invocationContext, llmRequest) {
215
221
  llmRequest.contents.push((0, import_lodash_es.cloneDeep)(executionResultEvent.content));
216
222
  }
217
223
  }
224
+ __name(runPreProcessor, "runPreProcessor");
218
225
  async function* runPostProcessor(invocationContext, llmResponse) {
219
226
  const agent = invocationContext.agent;
220
227
  if (!(0, import_llm_agent.isLlmAgent)(agent)) {
@@ -276,6 +283,7 @@ async function* runPostProcessor(invocationContext, llmResponse) {
276
283
  );
277
284
  llmResponse.content = void 0;
278
285
  }
286
+ __name(runPostProcessor, "runPostProcessor");
279
287
  function extractAndReplaceInlineFiles(codeExecutorContext, llmRequest) {
280
288
  var _a;
281
289
  const allInputFiles = codeExecutorContext.getInputFiles();
@@ -308,6 +316,7 @@ Available file: \`${fileName}\`
308
316
  }
309
317
  return allInputFiles;
310
318
  }
319
+ __name(extractAndReplaceInlineFiles, "extractAndReplaceInlineFiles");
311
320
  function getOrSetExecutionId(invocationContext, codeExecutorContext) {
312
321
  var _a;
313
322
  const agent = invocationContext.agent;
@@ -321,6 +330,7 @@ function getOrSetExecutionId(invocationContext, codeExecutorContext) {
321
330
  }
322
331
  return executionId;
323
332
  }
333
+ __name(getOrSetExecutionId, "getOrSetExecutionId");
324
334
  async function postProcessCodeExecutionResult(invocationContext, codeExecutorContext, codeExecutionResult) {
325
335
  if (!invocationContext.artifactService) {
326
336
  throw new Error("Artifact service is not initialized.");
@@ -348,12 +358,13 @@ async function postProcessCodeExecutionResult(invocationContext, codeExecutorCon
348
358
  }
349
359
  return (0, import_event.createEvent)({
350
360
  invocationId: invocationContext.invocationId,
351
- author: invocationContext.agent.name,
361
+ author: (0, import_invocation_context.requireAgent)(invocationContext).name,
352
362
  branch: invocationContext.branch,
353
363
  content: resultContent,
354
364
  actions: eventActions
355
365
  });
356
366
  }
367
+ __name(postProcessCodeExecutionResult, "postProcessCodeExecutionResult");
357
368
  function getDataFilePreprocessingCode(file) {
358
369
  function getNormalizedFileName(fileName) {
359
370
  const [varName2] = fileName.split(".");
@@ -363,6 +374,7 @@ function getDataFilePreprocessingCode(file) {
363
374
  }
364
375
  return normalizedName;
365
376
  }
377
+ __name(getNormalizedFileName, "getNormalizedFileName");
366
378
  if (!DATA_FILE_UTIL_MAP[file.mimeType]) {
367
379
  return void 0;
368
380
  }
@@ -378,6 +390,7 @@ ${varName} = ${loaderCode}
378
390
  explore_df(${varName})
379
391
  `;
380
392
  }
393
+ __name(getDataFilePreprocessingCode, "getDataFilePreprocessingCode");
381
394
  const CODE_EXECUTION_REQUEST_PROCESSOR = new CodeExecutionRequestProcessor();
382
395
  // Annotate the CommonJS export names for ESM import in node:
383
396
  0 && (module.exports = {
@@ -9,6 +9,7 @@ var __defProp = Object.defineProperty;
9
9
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
10
10
  var __getOwnPropNames = Object.getOwnPropertyNames;
11
11
  var __hasOwnProp = Object.prototype.hasOwnProperty;
12
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
12
13
  var __export = (target, all) => {
13
14
  for (var name in all)
14
15
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -52,24 +53,15 @@ function removeClientFunctionCallId(content) {
52
53
  }
53
54
  }
54
55
  }
55
- function getContents(events, agentName, currentBranch) {
56
- var _a, _b, _c;
56
+ __name(removeClientFunctionCallId, "removeClientFunctionCallId");
57
+ function getContents(events, agentName, currentBranch, currentIsolationScope) {
57
58
  const filteredEvents = [];
58
59
  for (const event of events) {
59
60
  if ((0, import_compacted_event.isCompactedEvent)(event)) {
60
61
  filteredEvents.push(convertCompactedEvent(event));
61
62
  continue;
62
63
  }
63
- if (!((_a = event.content) == null ? void 0 : _a.role) || ((_c = (_b = event.content.parts) == null ? void 0 : _b[0]) == null ? void 0 : _c.text) === "") {
64
- continue;
65
- }
66
- if (currentBranch && event.branch && !(0, import_branch_trie.isSegmentPrefix)(currentBranch, event.branch)) {
67
- continue;
68
- }
69
- if (isAuthEvent(event)) {
70
- continue;
71
- }
72
- if (isToolConfirmationEvent(event)) {
64
+ if (!shouldIncludeEventInContext(event, currentBranch, currentIsolationScope)) {
73
65
  continue;
74
66
  }
75
67
  filteredEvents.push(
@@ -86,27 +78,97 @@ function getContents(events, agentName, currentBranch) {
86
78
  }
87
79
  return contents;
88
80
  }
89
- function getCurrentTurnContents(events, agentName, currentBranch) {
81
+ __name(getContents, "getContents");
82
+ function shouldIncludeEventInContext(event, currentBranch, currentIsolationScope) {
83
+ var _a, _b, _c;
84
+ if (!((_a = event.content) == null ? void 0 : _a.role) || ((_c = (_b = event.content.parts) == null ? void 0 : _b[0]) == null ? void 0 : _c.text) === "") {
85
+ return false;
86
+ }
87
+ if (currentBranch && event.branch && !(0, import_branch_trie.isSegmentPrefix)(currentBranch, event.branch)) {
88
+ return false;
89
+ }
90
+ if (isOutsideIsolationScope(event, currentIsolationScope)) {
91
+ return false;
92
+ }
93
+ return !isAuthEvent(event) && !isToolConfirmationEvent(event) && !isRequestInputEvent(event);
94
+ }
95
+ __name(shouldIncludeEventInContext, "shouldIncludeEventInContext");
96
+ function isRequestInputEvent(event) {
97
+ var _a, _b, _c;
98
+ if (!((_a = event.content) == null ? void 0 : _a.parts)) {
99
+ return false;
100
+ }
101
+ for (const part of event.content.parts) {
102
+ if (((_b = part.functionCall) == null ? void 0 : _b.name) === import_functions.REQUEST_INPUT_FUNCTION_CALL_NAME || ((_c = part.functionResponse) == null ? void 0 : _c.name) === import_functions.REQUEST_INPUT_FUNCTION_CALL_NAME) {
103
+ return true;
104
+ }
105
+ }
106
+ return false;
107
+ }
108
+ __name(isRequestInputEvent, "isRequestInputEvent");
109
+ function getCurrentTurnContents(events, agentName, currentBranch, currentIsolationScope) {
90
110
  for (let i = events.length - 1; i >= 0; i--) {
91
111
  const event = events[i];
112
+ if (!shouldIncludeEventInContext(event, currentBranch, currentIsolationScope)) {
113
+ continue;
114
+ }
92
115
  if (event.author === "user" || isEventFromAnotherAgent(agentName, event)) {
93
- return getContents(events.slice(i), agentName, currentBranch);
116
+ return getContents(
117
+ events.slice(turnStart(events, i)),
118
+ agentName,
119
+ currentBranch,
120
+ currentIsolationScope
121
+ );
94
122
  }
95
123
  }
96
124
  return [];
97
125
  }
126
+ __name(getCurrentTurnContents, "getCurrentTurnContents");
127
+ function turnStart(events, anchor) {
128
+ var _a, _b, _c, _d, _e;
129
+ const answered = /* @__PURE__ */ new Set();
130
+ for (const event of events.slice(anchor)) {
131
+ for (const part of (_b = (_a = event.content) == null ? void 0 : _a.parts) != null ? _b : []) {
132
+ if ((_c = part.functionResponse) == null ? void 0 : _c.id) {
133
+ answered.add(part.functionResponse.id);
134
+ }
135
+ }
136
+ }
137
+ if (answered.size === 0) {
138
+ return anchor;
139
+ }
140
+ let start = anchor;
141
+ for (let i = anchor - 1; i >= 0; i--) {
142
+ const answersACall = ((_e = (_d = events[i].content) == null ? void 0 : _d.parts) != null ? _e : []).some(
143
+ (p) => {
144
+ var _a2;
145
+ return ((_a2 = p.functionCall) == null ? void 0 : _a2.id) ? answered.has(p.functionCall.id) : false;
146
+ }
147
+ );
148
+ if (answersACall) {
149
+ start = i;
150
+ }
151
+ }
152
+ return start;
153
+ }
154
+ __name(turnStart, "turnStart");
155
+ function isOutsideIsolationScope(event, currentIsolationScope) {
156
+ return event.isolationScope !== void 0 && event.isolationScope !== currentIsolationScope;
157
+ }
158
+ __name(isOutsideIsolationScope, "isOutsideIsolationScope");
98
159
  function isAuthEvent(event) {
99
160
  var _a, _b, _c;
100
161
  if (!((_a = event.content) == null ? void 0 : _a.parts)) {
101
162
  return false;
102
163
  }
103
164
  for (const part of event.content.parts) {
104
- if (((_b = part.functionCall) == null ? void 0 : _b.name) === import_functions.REQUEST_EUC_FUNCTION_CALL_NAME || ((_c = part.functionResponse) == null ? void 0 : _c.name) === import_functions.REQUEST_EUC_FUNCTION_CALL_NAME) {
165
+ if (((_b = part.functionCall) == null ? void 0 : _b.name) === import_functions.REQUEST_CREDENTIAL_FUNCTION_CALL_NAME || ((_c = part.functionResponse) == null ? void 0 : _c.name) === import_functions.REQUEST_CREDENTIAL_FUNCTION_CALL_NAME) {
105
166
  return true;
106
167
  }
107
168
  }
108
169
  return false;
109
170
  }
171
+ __name(isAuthEvent, "isAuthEvent");
110
172
  function isToolConfirmationEvent(event) {
111
173
  var _a, _b, _c;
112
174
  if (!((_a = event.content) == null ? void 0 : _a.parts)) {
@@ -119,9 +181,11 @@ function isToolConfirmationEvent(event) {
119
181
  }
120
182
  return false;
121
183
  }
184
+ __name(isToolConfirmationEvent, "isToolConfirmationEvent");
122
185
  function isEventFromAnotherAgent(agentName, event) {
123
186
  return !!agentName && event.author !== agentName && event.author !== "user";
124
187
  }
188
+ __name(isEventFromAnotherAgent, "isEventFromAnotherAgent");
125
189
  function convertForeignEvent(event) {
126
190
  var _a, _b, _c, _d, _e, _f;
127
191
  if (!((_b = (_a = event.content) == null ? void 0 : _a.parts) == null ? void 0 : _b.length)) {
@@ -164,6 +228,7 @@ function convertForeignEvent(event) {
164
228
  timestamp: event.timestamp
165
229
  });
166
230
  }
231
+ __name(convertForeignEvent, "convertForeignEvent");
167
232
  function mergeFunctionResponseEvents(events) {
168
233
  var _a;
169
234
  if (events.length === 0) {
@@ -205,6 +270,7 @@ function mergeFunctionResponseEvents(events) {
205
270
  }
206
271
  return mergedEvent;
207
272
  }
273
+ __name(mergeFunctionResponseEvents, "mergeFunctionResponseEvents");
208
274
  function rearrangeEventsForLatestFunctionResponse(events) {
209
275
  if (events.length === 0) {
210
276
  return events;
@@ -283,6 +349,7 @@ function rearrangeEventsForLatestFunctionResponse(events) {
283
349
  resultEvents.push(mergeFunctionResponseEvents(functionResponseEvents));
284
350
  return resultEvents;
285
351
  }
352
+ __name(rearrangeEventsForLatestFunctionResponse, "rearrangeEventsForLatestFunctionResponse");
286
353
  function rearrangeEventsForAsyncFunctionResponsesInHistory(events) {
287
354
  const functionCallIdToResponseEventIndex = /* @__PURE__ */ new Map();
288
355
  for (let i = 0; i < events.length; i++) {
@@ -333,6 +400,7 @@ function rearrangeEventsForAsyncFunctionResponsesInHistory(events) {
333
400
  }
334
401
  return resultEvents;
335
402
  }
403
+ __name(rearrangeEventsForAsyncFunctionResponsesInHistory, "rearrangeEventsForAsyncFunctionResponsesInHistory");
336
404
  function safeStringify(obj) {
337
405
  if (typeof obj === "string") {
338
406
  return obj;
@@ -343,6 +411,7 @@ function safeStringify(obj) {
343
411
  return String(obj);
344
412
  }
345
413
  }
414
+ __name(safeStringify, "safeStringify");
346
415
  function convertCompactedEvent(event) {
347
416
  const content = (0, import_genai.createUserContent)(
348
417
  `[Previous Context Summary]:
@@ -356,6 +425,7 @@ ${event.compactedContent}`
356
425
  timestamp: event.timestamp
357
426
  });
358
427
  }
428
+ __name(convertCompactedEvent, "convertCompactedEvent");
359
429
  // Annotate the CommonJS export names for ESM import in node:
360
430
  0 && (module.exports = {
361
431
  getContents,
@@ -9,6 +9,7 @@ var __defProp = Object.defineProperty;
9
9
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
10
10
  var __getOwnPropNames = Object.getOwnPropertyNames;
11
11
  var __hasOwnProp = Object.prototype.hasOwnProperty;
12
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
12
13
  var __export = (target, all) => {
13
14
  for (var name in all)
14
15
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -28,7 +29,7 @@ __export(content_request_processor_exports, {
28
29
  ContentRequestProcessor: () => ContentRequestProcessor
29
30
  });
30
31
  module.exports = __toCommonJS(content_request_processor_exports);
31
- var import_compacted_event = require("../../events/compacted_event.js");
32
+ var import_compaction_utils = require("../../context/compaction_utils.js");
32
33
  var import_llm_agent = require("../llm_agent.js");
33
34
  var import_content_processor_utils = require("./content_processor_utils.js");
34
35
  /**
@@ -36,7 +37,7 @@ var import_content_processor_utils = require("./content_processor_utils.js");
36
37
  * Copyright 2025 Google LLC
37
38
  * SPDX-License-Identifier: Apache-2.0
38
39
  */
39
- class ContentRequestProcessor {
40
+ const _ContentRequestProcessor = class _ContentRequestProcessor {
40
41
  /**
41
42
  * Fills {@link LlmRequest.contents} based on the session event history and
42
43
  * agent configuration.
@@ -50,42 +51,27 @@ class ContentRequestProcessor {
50
51
  if (!agent || !(0, import_llm_agent.isLlmAgent)(agent)) {
51
52
  return;
52
53
  }
53
- let events = invocationContext.session.events;
54
- const compactedEvents = events.filter(import_compacted_event.isCompactedEvent);
55
- const latestCompactedEvent = compactedEvents.length > 0 ? compactedEvents.reduce(
56
- (latest, current) => current.endTime > latest.endTime ? current : latest
57
- ) : void 0;
58
- if (latestCompactedEvent) {
59
- const remainingEvents = events.filter((event) => {
60
- if (event === latestCompactedEvent) {
61
- return false;
62
- }
63
- if ((0, import_compacted_event.isCompactedEvent)(event)) {
64
- return false;
65
- }
66
- if (event.timestamp <= latestCompactedEvent.endTime) {
67
- return false;
68
- }
69
- return true;
70
- });
71
- events = [latestCompactedEvent, ...remainingEvents];
72
- }
54
+ const events = (0, import_compaction_utils.getActiveEvents)(invocationContext.session.events);
73
55
  if (agent.includeContents === "default") {
74
56
  llmRequest.contents = (0, import_content_processor_utils.getContents)(
75
57
  events,
76
58
  agent.name,
77
- invocationContext.branch
59
+ invocationContext.branch,
60
+ invocationContext.isolationScope
78
61
  );
79
62
  } else {
80
63
  llmRequest.contents = (0, import_content_processor_utils.getCurrentTurnContents)(
81
64
  events,
82
65
  agent.name,
83
- invocationContext.branch
66
+ invocationContext.branch,
67
+ invocationContext.isolationScope
84
68
  );
85
69
  }
86
70
  return;
87
71
  }
88
- }
72
+ };
73
+ __name(_ContentRequestProcessor, "ContentRequestProcessor");
74
+ let ContentRequestProcessor = _ContentRequestProcessor;
89
75
  const CONTENT_REQUEST_PROCESSOR = new ContentRequestProcessor();
90
76
  // Annotate the CommonJS export names for ESM import in node:
91
77
  0 && (module.exports = {
@@ -9,6 +9,7 @@ var __defProp = Object.defineProperty;
9
9
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
10
10
  var __getOwnPropNames = Object.getOwnPropertyNames;
11
11
  var __hasOwnProp = Object.prototype.hasOwnProperty;
12
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
12
13
  var __export = (target, all) => {
13
14
  for (var name in all)
14
15
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -33,7 +34,7 @@ var import_base_plugin = require("../../plugins/base_plugin.js");
33
34
  * Copyright 2026 Google LLC
34
35
  * SPDX-License-Identifier: Apache-2.0
35
36
  */
36
- class ContextCompactorRequestProcessor {
37
+ const _ContextCompactorRequestProcessor = class _ContextCompactorRequestProcessor {
37
38
  /**
38
39
  * @param compactors - Ordered list of compactors to evaluate; the first one
39
40
  * that reports it should compact will perform the compaction.
@@ -77,7 +78,9 @@ class ContextCompactorRequestProcessor {
77
78
  }
78
79
  }
79
80
  }
80
- }
81
+ };
82
+ __name(_ContextCompactorRequestProcessor, "ContextCompactorRequestProcessor");
83
+ let ContextCompactorRequestProcessor = _ContextCompactorRequestProcessor;
81
84
  // Annotate the CommonJS export names for ESM import in node:
82
85
  0 && (module.exports = {
83
86
  ContextCompactorRequestProcessor