@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
@@ -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 });
@@ -26,7 +27,6 @@ var a2a_event_exports = {};
26
27
  __export(a2a_event_exports, {
27
28
  MessageRole: () => MessageRole,
28
29
  TaskState: () => TaskState,
29
- createInputMissingErrorEvent: () => createInputMissingErrorEvent,
30
30
  createTask: () => createTask,
31
31
  createTaskArtifactUpdateEvent: () => createTaskArtifactUpdateEvent,
32
32
  createTaskCompletedEvent: () => createTaskCompletedEvent,
@@ -69,15 +69,19 @@ var TaskState = /* @__PURE__ */ ((TaskState2) => {
69
69
  function isTaskStatusUpdateEvent(event) {
70
70
  return (event == null ? void 0 : event.kind) === "status-update";
71
71
  }
72
+ __name(isTaskStatusUpdateEvent, "isTaskStatusUpdateEvent");
72
73
  function isTaskArtifactUpdateEvent(event) {
73
74
  return (event == null ? void 0 : event.kind) === "artifact-update";
74
75
  }
76
+ __name(isTaskArtifactUpdateEvent, "isTaskArtifactUpdateEvent");
75
77
  function isMessage(event) {
76
78
  return (event == null ? void 0 : event.kind) === "message";
77
79
  }
80
+ __name(isMessage, "isMessage");
78
81
  function isTask(event) {
79
82
  return (event == null ? void 0 : event.kind) === "task";
80
83
  }
84
+ __name(isTask, "isTask");
81
85
  function getEventMetadata(event) {
82
86
  if (isTaskArtifactUpdateEvent(event)) {
83
87
  return event.artifact.metadata || {};
@@ -87,9 +91,11 @@ function getEventMetadata(event) {
87
91
  }
88
92
  return {};
89
93
  }
94
+ __name(getEventMetadata, "getEventMetadata");
90
95
  function isFailedTaskStatusUpdateEvent(event) {
91
96
  return (isTaskStatusUpdateEvent(event) || isTask(event)) && event.status.state === "failed" /* FAILED */;
92
97
  }
98
+ __name(isFailedTaskStatusUpdateEvent, "isFailedTaskStatusUpdateEvent");
93
99
  function isTerminalTaskStatusUpdateEvent(event) {
94
100
  return (isTaskStatusUpdateEvent(event) || isTask(event)) && [
95
101
  "completed" /* COMPLETED */,
@@ -98,9 +104,11 @@ function isTerminalTaskStatusUpdateEvent(event) {
98
104
  "rejected" /* REJECTED */
99
105
  ].includes(event.status.state);
100
106
  }
107
+ __name(isTerminalTaskStatusUpdateEvent, "isTerminalTaskStatusUpdateEvent");
101
108
  function isInputRequiredTaskStatusUpdateEvent(event) {
102
109
  return (isTaskStatusUpdateEvent(event) || isTask(event)) && event.status.state === "input-required" /* INPUT_REQUIRED */;
103
110
  }
111
+ __name(isInputRequiredTaskStatusUpdateEvent, "isInputRequiredTaskStatusUpdateEvent");
104
112
  function getFailedTaskStatusUpdateEventError(event) {
105
113
  var _a;
106
114
  if (!isFailedTaskStatusUpdateEvent(event)) {
@@ -115,6 +123,7 @@ function getFailedTaskStatusUpdateEventError(event) {
115
123
  }
116
124
  return parts[0].text;
117
125
  }
126
+ __name(getFailedTaskStatusUpdateEventError, "getFailedTaskStatusUpdateEventError");
118
127
  function createTaskSubmittedEvent({
119
128
  taskId,
120
129
  contextId,
@@ -134,6 +143,7 @@ function createTaskSubmittedEvent({
134
143
  metadata
135
144
  };
136
145
  }
146
+ __name(createTaskSubmittedEvent, "createTaskSubmittedEvent");
137
147
  function createTask({
138
148
  contextId,
139
149
  message,
@@ -152,6 +162,7 @@ function createTask({
152
162
  metadata
153
163
  };
154
164
  }
165
+ __name(createTask, "createTask");
155
166
  function createTaskWorkingEvent({
156
167
  taskId,
157
168
  contextId,
@@ -171,6 +182,7 @@ function createTaskWorkingEvent({
171
182
  metadata
172
183
  };
173
184
  }
185
+ __name(createTaskWorkingEvent, "createTaskWorkingEvent");
174
186
  function createTaskCompletedEvent({
175
187
  taskId,
176
188
  contextId,
@@ -188,6 +200,7 @@ function createTaskCompletedEvent({
188
200
  metadata
189
201
  };
190
202
  }
203
+ __name(createTaskCompletedEvent, "createTaskCompletedEvent");
191
204
  function createTaskArtifactUpdateEvent({
192
205
  taskId,
193
206
  contextId,
@@ -210,6 +223,7 @@ function createTaskArtifactUpdateEvent({
210
223
  metadata
211
224
  };
212
225
  }
226
+ __name(createTaskArtifactUpdateEvent, "createTaskArtifactUpdateEvent");
213
227
  function createTaskFailedEvent({
214
228
  taskId,
215
229
  contextId,
@@ -241,6 +255,7 @@ function createTaskFailedEvent({
241
255
  metadata
242
256
  };
243
257
  }
258
+ __name(createTaskFailedEvent, "createTaskFailedEvent");
244
259
  function createTaskInputRequiredEvent({
245
260
  taskId,
246
261
  contextId,
@@ -267,37 +282,11 @@ function createTaskInputRequiredEvent({
267
282
  metadata
268
283
  };
269
284
  }
270
- function createInputMissingErrorEvent({
271
- taskId,
272
- contextId,
273
- parts,
274
- metadata
275
- }) {
276
- return {
277
- kind: "status-update",
278
- taskId,
279
- contextId,
280
- final: true,
281
- status: {
282
- state: "input-required" /* INPUT_REQUIRED */,
283
- message: {
284
- kind: "message",
285
- messageId: (0, import_env_aware_utils.randomUUID)(),
286
- role: "agent",
287
- taskId,
288
- contextId,
289
- parts
290
- },
291
- timestamp: (/* @__PURE__ */ new Date()).toISOString()
292
- },
293
- metadata
294
- };
295
- }
285
+ __name(createTaskInputRequiredEvent, "createTaskInputRequiredEvent");
296
286
  // Annotate the CommonJS export names for ESM import in node:
297
287
  0 && (module.exports = {
298
288
  MessageRole,
299
289
  TaskState,
300
- createInputMissingErrorEvent,
301
290
  createTask,
302
291
  createTaskArtifactUpdateEvent,
303
292
  createTaskCompletedEvent,
@@ -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 });
@@ -40,13 +41,12 @@ var import_a2a_remote_agent_utils = require("./a2a_remote_agent_utils.js");
40
41
  var import_agent_card = require("./agent_card.js");
41
42
  var import_event_converter_utils = require("./event_converter_utils.js");
42
43
  var import_metadata_converter_utils = require("./metadata_converter_utils.js");
43
- var import_part_converter_utils = require("./part_converter_utils.js");
44
44
  /**
45
45
  * @license
46
46
  * Copyright 2026 Google LLC
47
47
  * SPDX-License-Identifier: Apache-2.0
48
48
  */
49
- class RemoteA2AAgent extends import_base_agent.BaseAgent {
49
+ const _RemoteA2AAgent = class _RemoteA2AAgent extends import_base_agent.BaseAgent {
50
50
  constructor(a2aConfig) {
51
51
  super(a2aConfig);
52
52
  this.a2aConfig = a2aConfig;
@@ -88,9 +88,11 @@ class RemoteA2AAgent extends import_base_agent.BaseAgent {
88
88
  let contextId = void 0;
89
89
  if (userFnCall) {
90
90
  const event = userFnCall.response;
91
- parts = (0, import_part_converter_utils.toA2AParts)(
92
- ((_a = event.content) == null ? void 0 : _a.parts) || [],
93
- event.longRunningToolIds
91
+ const peerRequestedIds = (0, import_a2a_remote_agent_utils.peerRequestedCallIds)(events, this.name);
92
+ parts = (0, import_a2a_remote_agent_utils.toForwardableA2AParts)(
93
+ event.content,
94
+ event.longRunningToolIds,
95
+ peerRequestedIds
94
96
  );
95
97
  taskId = userFnCall.taskId;
96
98
  contextId = userFnCall.contextId;
@@ -112,9 +114,11 @@ class RemoteA2AAgent extends import_base_agent.BaseAgent {
112
114
  };
113
115
  if (taskId) message.taskId = taskId;
114
116
  if (contextId) message.contextId = contextId;
117
+ const metadata = (_a = this.a2aConfig.metadata) != null ? _a : context.a2aMetadata;
115
118
  const params = {
116
119
  message,
117
- configuration: this.a2aConfig.messageSendConfig
120
+ configuration: this.a2aConfig.messageSendConfig,
121
+ ...metadata ? { metadata } : {}
118
122
  };
119
123
  const processor = new import_a2a_remote_agent_run_processor.A2ARemoteAgentRunProcessor(params);
120
124
  if (this.a2aConfig.beforeRequestCallbacks) {
@@ -181,7 +185,9 @@ class RemoteA2AAgent extends import_base_agent.BaseAgent {
181
185
  runLiveImpl(_context) {
182
186
  throw new Error("Live mode is not supported in A2ARemoteAgent yet.");
183
187
  }
184
- }
188
+ };
189
+ __name(_RemoteA2AAgent, "RemoteA2AAgent");
190
+ let RemoteA2AAgent = _RemoteA2AAgent;
185
191
  // Annotate the CommonJS export names for ESM import in node:
186
192
  0 && (module.exports = {
187
193
  AGENT_CARD_PATH,
@@ -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,6 +29,7 @@ __export(a2a_remote_agent_run_processor_exports, {
28
29
  });
29
30
  module.exports = __toCommonJS(a2a_remote_agent_run_processor_exports);
30
31
  var import_genai = require("@google/genai");
32
+ var import_invocation_context = require("../agents/invocation_context.js");
31
33
  var import_event = require("../events/event.js");
32
34
  var import_a2a_event = require("./a2a_event.js");
33
35
  var import_metadata_converter_utils = require("./metadata_converter_utils.js");
@@ -36,7 +38,7 @@ var import_metadata_converter_utils = require("./metadata_converter_utils.js");
36
38
  * Copyright 2026 Google LLC
37
39
  * SPDX-License-Identifier: Apache-2.0
38
40
  */
39
- class A2ARemoteAgentRunProcessor {
41
+ const _A2ARemoteAgentRunProcessor = class _A2ARemoteAgentRunProcessor {
40
42
  constructor(request) {
41
43
  this.request = request;
42
44
  this.aggregations = /* @__PURE__ */ new Map();
@@ -147,7 +149,7 @@ class A2ARemoteAgentRunProcessor {
147
149
  buildNonPartialAggregation(context, agg) {
148
150
  this.promoteTextBlocksToParts(agg);
149
151
  const result = (0, import_event.createEvent)({
150
- author: context.agent.name,
152
+ author: (0, import_invocation_context.requireAgent)(context).name,
151
153
  invocationId: context.invocationId,
152
154
  content: agg.parts.length > 0 ? (0, import_genai.createModelContent)([...agg.parts]) : void 0,
153
155
  customMetadata: agg.customMeta,
@@ -198,7 +200,9 @@ class A2ARemoteAgentRunProcessor {
198
200
  event.customMetadata[`a2a:${k}`] = v;
199
201
  }
200
202
  }
201
- }
203
+ };
204
+ __name(_A2ARemoteAgentRunProcessor, "A2ARemoteAgentRunProcessor");
205
+ let A2ARemoteAgentRunProcessor = _A2ARemoteAgentRunProcessor;
202
206
  // Annotate the CommonJS export names for ESM import in node:
203
207
  0 && (module.exports = {
204
208
  A2ARemoteAgentRunProcessor
@@ -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 });
@@ -27,11 +28,17 @@ __export(a2a_remote_agent_utils_exports, {
27
28
  getFunctionResponseCallId: () => getFunctionResponseCallId,
28
29
  getUserFunctionCallAt: () => getUserFunctionCallAt,
29
30
  isFunctionCallEvent: () => isFunctionCallEvent,
31
+ peerRequestedCallIds: () => peerRequestedCallIds,
30
32
  presentAsUserMessage: () => presentAsUserMessage,
33
+ toForwardableA2AParts: () => toForwardableA2AParts,
31
34
  toMissingRemoteSessionParts: () => toMissingRemoteSessionParts
32
35
  });
33
36
  module.exports = __toCommonJS(a2a_remote_agent_utils_exports);
37
+ var import_functions = require("../agents/functions.js");
38
+ var import_invocation_context = require("../agents/invocation_context.js");
34
39
  var import_event = require("../events/event.js");
40
+ var import_case_utils = require("../utils/case_utils.js");
41
+ var import_logger = require("../utils/logger.js");
35
42
  var import_metadata_converter_utils = require("./metadata_converter_utils.js");
36
43
  var import_part_converter_utils = require("./part_converter_utils.js");
37
44
  /**
@@ -68,6 +75,7 @@ function getUserFunctionCallAt(session, index) {
68
75
  }
69
76
  return void 0;
70
77
  }
78
+ __name(getUserFunctionCallAt, "getUserFunctionCallAt");
71
79
  function isFunctionCallEvent(event, callId) {
72
80
  if (!event || !event.content || !event.content.parts) {
73
81
  return false;
@@ -76,6 +84,7 @@ function isFunctionCallEvent(event, callId) {
76
84
  (part) => part.functionCall && part.functionCall.id === callId
77
85
  );
78
86
  }
87
+ __name(isFunctionCallEvent, "isFunctionCallEvent");
79
88
  function getFunctionResponseCallId(event) {
80
89
  var _a;
81
90
  if (!event || !event.content || !event.content.parts) {
@@ -86,23 +95,119 @@ function getFunctionResponseCallId(event) {
86
95
  );
87
96
  return (_a = responsePart == null ? void 0 : responsePart.functionResponse) == null ? void 0 : _a.id;
88
97
  }
98
+ __name(getFunctionResponseCallId, "getFunctionResponseCallId");
99
+ const AUTH_CONFIG_SCHEME_KEY = "authScheme";
100
+ const AUTH_CONFIG_CREDENTIAL_KEYS = [
101
+ // camelCase only by design: callers normalise the payload with
102
+ // camelCaseKeys() before these keys are looked up, so the snake_case
103
+ // spellings (raw_auth_credential, exchanged_auth_credential) are covered.
104
+ "rawAuthCredential",
105
+ "exchangedAuthCredential"
106
+ ];
107
+ function payloadIsAuthConfig(payload) {
108
+ if (!payload || typeof payload !== "object" || Array.isArray(payload)) {
109
+ return false;
110
+ }
111
+ const keys = new Set(Object.keys(payload));
112
+ if (!keys.has(AUTH_CONFIG_SCHEME_KEY)) {
113
+ return false;
114
+ }
115
+ return AUTH_CONFIG_CREDENTIAL_KEYS.some((key) => keys.has(key));
116
+ }
117
+ __name(payloadIsAuthConfig, "payloadIsAuthConfig");
118
+ function isCredentialFunctionCall(functionCall) {
119
+ if (functionCall.name === import_functions.REQUEST_CREDENTIAL_FUNCTION_CALL_NAME) {
120
+ return true;
121
+ }
122
+ const args = (0, import_case_utils.camelCaseKeys)(functionCall.args);
123
+ if (!args || typeof args !== "object") {
124
+ return false;
125
+ }
126
+ const authConfig = args["authConfig"];
127
+ return payloadIsAuthConfig(authConfig);
128
+ }
129
+ __name(isCredentialFunctionCall, "isCredentialFunctionCall");
130
+ function isCredentialFunctionResponse(functionResponse) {
131
+ if (functionResponse.name === import_functions.REQUEST_CREDENTIAL_FUNCTION_CALL_NAME) {
132
+ return true;
133
+ }
134
+ return payloadIsAuthConfig((0, import_case_utils.camelCaseKeys)(functionResponse.response));
135
+ }
136
+ __name(isCredentialFunctionResponse, "isCredentialFunctionResponse");
137
+ function peerRequestedCallIds(events, peerName) {
138
+ var _a, _b, _c;
139
+ const peer = /* @__PURE__ */ new Set();
140
+ const local = /* @__PURE__ */ new Set();
141
+ for (const event of events) {
142
+ for (const part of (_b = (_a = event.content) == null ? void 0 : _a.parts) != null ? _b : []) {
143
+ const id = (_c = part.functionCall) == null ? void 0 : _c.id;
144
+ if (!id) {
145
+ continue;
146
+ }
147
+ (event.author === peerName ? peer : local).add(id);
148
+ }
149
+ }
150
+ return new Set([...peer].filter((id) => !local.has(id)));
151
+ }
152
+ __name(peerRequestedCallIds, "peerRequestedCallIds");
153
+ function withoutCredentialParts(content, peerRequestedIds) {
154
+ if (!content || !content.parts) {
155
+ return content;
156
+ }
157
+ const isDroppedCredentialPart = /* @__PURE__ */ __name((part) => {
158
+ if (part.functionCall && isCredentialFunctionCall(part.functionCall)) {
159
+ return true;
160
+ }
161
+ if (part.functionResponse && isCredentialFunctionResponse(part.functionResponse)) {
162
+ const id = part.functionResponse.id;
163
+ return !(id && peerRequestedIds.has(id));
164
+ }
165
+ return false;
166
+ }, "isDroppedCredentialPart");
167
+ const parts = content.parts.filter((part) => !isDroppedCredentialPart(part));
168
+ if (parts.length === content.parts.length) {
169
+ return content;
170
+ }
171
+ import_logger.logger.warn(
172
+ `Dropped ${content.parts.length - parts.length} credential-bearing part(s) before forwarding to the remote peer -- it did not request them.`
173
+ );
174
+ return { ...content, parts };
175
+ }
176
+ __name(withoutCredentialParts, "withoutCredentialParts");
177
+ function toForwardableA2AParts(content, longRunningToolIds, peerRequestedIds) {
178
+ const scrubbed = withoutCredentialParts(content, peerRequestedIds);
179
+ if (!(scrubbed == null ? void 0 : scrubbed.parts)) {
180
+ return [];
181
+ }
182
+ return (0, import_part_converter_utils.toA2AParts)(scrubbed.parts, longRunningToolIds);
183
+ }
184
+ __name(toForwardableA2AParts, "toForwardableA2AParts");
89
185
  function toMissingRemoteSessionParts(ctx, session) {
90
186
  const events = session.events;
187
+ const peerName = (0, import_invocation_context.requireAgent)(ctx).name;
91
188
  let contextId = void 0;
92
189
  let lastRemoteResponseIndex = -1;
93
190
  for (let i = events.length - 1; i >= 0; i--) {
94
191
  const event = events[i];
95
- if (event.author === ctx.agent.name) {
192
+ if (event.author === peerName) {
96
193
  lastRemoteResponseIndex = i;
97
194
  const metadata = event.customMetadata || {};
98
195
  contextId = metadata[import_metadata_converter_utils.AdkMetadataKeys.CONTEXT_ID];
99
196
  break;
100
197
  }
101
198
  }
199
+ const peerRequestedIds = peerRequestedCallIds(events, peerName);
102
200
  const missingParts = [];
103
201
  for (let i = lastRemoteResponseIndex + 1; i < events.length; i++) {
104
202
  let event = events[i];
105
- if (event.author !== "user" && event.author !== ctx.agent.name) {
203
+ const scrubbedContent = withoutCredentialParts(
204
+ event.content,
205
+ peerRequestedIds
206
+ );
207
+ if (scrubbedContent !== event.content) {
208
+ event = { ...event, content: scrubbedContent };
209
+ }
210
+ if (event.author !== "user" && event.author !== peerName) {
106
211
  event = presentAsUserMessage(ctx, event);
107
212
  }
108
213
  if (!event.content || !event.content.parts || event.content.parts.length === 0) {
@@ -116,6 +221,7 @@ function toMissingRemoteSessionParts(ctx, session) {
116
221
  contextId
117
222
  };
118
223
  }
224
+ __name(toMissingRemoteSessionParts, "toMissingRemoteSessionParts");
119
225
  function presentAsUserMessage(ctx, agentEvent) {
120
226
  const event = (0, import_event.createEvent)({
121
227
  author: "user",
@@ -155,11 +261,14 @@ function presentAsUserMessage(ctx, agentEvent) {
155
261
  }
156
262
  return event;
157
263
  }
264
+ __name(presentAsUserMessage, "presentAsUserMessage");
158
265
  // Annotate the CommonJS export names for ESM import in node:
159
266
  0 && (module.exports = {
160
267
  getFunctionResponseCallId,
161
268
  getUserFunctionCallAt,
162
269
  isFunctionCallEvent,
270
+ peerRequestedCallIds,
163
271
  presentAsUserMessage,
272
+ toForwardableA2AParts,
164
273
  toMissingRemoteSessionParts
165
274
  });
@@ -11,6 +11,7 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
11
11
  var __getOwnPropNames = Object.getOwnPropertyNames;
12
12
  var __getProtoOf = Object.getPrototypeOf;
13
13
  var __hasOwnProp = Object.prototype.hasOwnProperty;
14
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
14
15
  var __export = (target, all) => {
15
16
  for (var name in all)
16
17
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -41,6 +42,7 @@ __export(agent_card_exports, {
41
42
  module.exports = __toCommonJS(agent_card_exports);
42
43
  var import_client = require("@a2a-js/sdk/client");
43
44
  var fs = __toESM(require("node:fs/promises"), 1);
45
+ var import_node_url = require("node:url");
44
46
  var import_invocation_context = require("../agents/invocation_context.js");
45
47
  var import_llm_agent = require("../agents/llm_agent.js");
46
48
  var import_loop_agent = require("../agents/loop_agent.js");
@@ -50,22 +52,48 @@ var import_sequential_agent = require("../agents/sequential_agent.js");
50
52
  var import_base_tool = require("../tools/base_tool.js");
51
53
  var import_base_toolset = require("../tools/base_toolset.js");
52
54
  var import_logger = require("../utils/logger.js");
55
+ var import_ssrf_guard = require("../utils/ssrf_guard.js");
56
+ var import_workflow = require("../workflow/workflow.js");
53
57
  /**
54
58
  * @license
55
59
  * Copyright 2026 Google LLC
56
60
  * SPDX-License-Identifier: Apache-2.0
57
61
  */
62
+ const WINDOWS_DRIVE_PROTOCOL = /^[a-z]:$/i;
58
63
  async function resolveAgentCard(agentCard) {
59
64
  if (typeof agentCard === "object") {
60
65
  return agentCard;
61
66
  }
62
- const source = agentCard;
63
- if (source.startsWith("http://") || source.startsWith("https://")) {
64
- const resolver = new import_client.DefaultAgentCardResolver();
65
- return await resolver.resolve(source);
67
+ const url = parseCardUrl(agentCard);
68
+ if (url && (0, import_ssrf_guard.isHttpUrl)(url)) {
69
+ await assertHostAllowed(url);
70
+ const resolver = new import_client.DefaultAgentCardResolver({
71
+ fetchImpl: noRedirectFetch(agentCard)
72
+ });
73
+ return resolver.resolve(agentCard);
74
+ }
75
+ if (url && url.protocol !== "file:") {
76
+ throw new Error(
77
+ `Unsupported agent card URL scheme "${url.protocol}": ${agentCard}. Use http://, https:// or file://, or pass a filesystem path with no scheme.`
78
+ );
79
+ }
80
+ return readAgentCardFile(agentCard, url);
81
+ }
82
+ __name(resolveAgentCard, "resolveAgentCard");
83
+ function parseCardUrl(source) {
84
+ let url;
85
+ try {
86
+ url = new URL(source);
87
+ } catch {
88
+ return null;
66
89
  }
90
+ return WINDOWS_DRIVE_PROTOCOL.test(url.protocol) ? null : url;
91
+ }
92
+ __name(parseCardUrl, "parseCardUrl");
93
+ async function readAgentCardFile(source, url) {
67
94
  try {
68
- const content = await fs.readFile(source, "utf-8");
95
+ const path = url ? (0, import_node_url.fileURLToPath)(url) : source;
96
+ const content = await fs.readFile(path, "utf-8");
69
97
  return JSON.parse(content);
70
98
  } catch (err) {
71
99
  throw new Error(
@@ -73,6 +101,33 @@ async function resolveAgentCard(agentCard) {
73
101
  );
74
102
  }
75
103
  }
104
+ __name(readAgentCardFile, "readAgentCardFile");
105
+ function noRedirectFetch(source) {
106
+ return async (input, init) => {
107
+ const response = await fetch(input, { ...init, redirect: "manual" });
108
+ if (isRedirect(response.status)) {
109
+ throw new Error(
110
+ `Refusing to follow a redirect while fetching the agent card from ${source} (status ${response.status}, location ${response.headers.get("location")}). Configure the final URL instead.`
111
+ );
112
+ }
113
+ return response;
114
+ };
115
+ }
116
+ __name(noRedirectFetch, "noRedirectFetch");
117
+ function isRedirect(status) {
118
+ return status === 0 || status >= 300 && status < 400;
119
+ }
120
+ __name(isRedirect, "isRedirect");
121
+ async function assertHostAllowed(url) {
122
+ const host = (0, import_ssrf_guard.normalizeHost)(url.hostname);
123
+ const addresses = await (0, import_ssrf_guard.resolveHostAddresses)(host);
124
+ if (addresses.some(import_ssrf_guard.isLinkLocalAddress)) {
125
+ throw new Error(
126
+ `Refusing to fetch agent card from a link-local address: ${host}`
127
+ );
128
+ }
129
+ }
130
+ __name(assertHostAllowed, "assertHostAllowed");
76
131
  async function getA2AAgentCard(agent, transports) {
77
132
  return {
78
133
  name: agent.name,
@@ -93,6 +148,7 @@ async function getA2AAgentCard(agent, transports) {
93
148
  additionalInterfaces: transports
94
149
  };
95
150
  }
151
+ __name(getA2AAgentCard, "getA2AAgentCard");
96
152
  async function buildAgentSkills(agent) {
97
153
  const [primarySkills, subAgentSkills] = await Promise.all([
98
154
  buildPrimarySkills(agent),
@@ -100,14 +156,26 @@ async function buildAgentSkills(agent) {
100
156
  ]);
101
157
  return [...primarySkills, ...subAgentSkills];
102
158
  }
159
+ __name(buildAgentSkills, "buildAgentSkills");
103
160
  async function buildPrimarySkills(agent) {
161
+ if ((0, import_workflow.isWorkflow)(agent)) {
162
+ return [
163
+ {
164
+ id: agent.name,
165
+ name: "workflow",
166
+ description: agent.description || `Workflow ${agent.name}`,
167
+ tags: ["workflow"]
168
+ }
169
+ ];
170
+ }
104
171
  if ((0, import_llm_agent.isLlmAgent)(agent)) {
105
172
  return buildLLMAgentSkills(agent);
106
173
  }
107
174
  return buildNonLLMAgentSkills(agent);
108
175
  }
176
+ __name(buildPrimarySkills, "buildPrimarySkills");
109
177
  async function buildSubAgentSkills(agent) {
110
- const subAgents = agent.subAgents;
178
+ const subAgents = (0, import_workflow.isWorkflow)(agent) ? [] : agent.subAgents;
111
179
  const result = [];
112
180
  for (const sub of subAgents) {
113
181
  const skills = await buildPrimarySkills(sub);
@@ -123,6 +191,7 @@ async function buildSubAgentSkills(agent) {
123
191
  }
124
192
  return result;
125
193
  }
194
+ __name(buildSubAgentSkills, "buildSubAgentSkills");
126
195
  async function buildLLMAgentSkills(agent) {
127
196
  const skills = [
128
197
  {
@@ -146,6 +215,7 @@ async function buildLLMAgentSkills(agent) {
146
215
  }
147
216
  return skills;
148
217
  }
218
+ __name(buildLLMAgentSkills, "buildLLMAgentSkills");
149
219
  function toolToSkill(prefix, tool) {
150
220
  let description = tool.description;
151
221
  if (!description) {
@@ -158,6 +228,7 @@ function toolToSkill(prefix, tool) {
158
228
  tags: ["llm", "tools"]
159
229
  };
160
230
  }
231
+ __name(toolToSkill, "toolToSkill");
161
232
  function buildNonLLMAgentSkills(agent) {
162
233
  const skills = [
163
234
  {
@@ -181,6 +252,7 @@ function buildNonLLMAgentSkills(agent) {
181
252
  }
182
253
  return skills;
183
254
  }
255
+ __name(buildNonLLMAgentSkills, "buildNonLLMAgentSkills");
184
256
  function buildAgentDescription(agent) {
185
257
  const descriptionParts = [];
186
258
  if (agent.description) {
@@ -201,6 +273,7 @@ function buildAgentDescription(agent) {
201
273
  return getDefaultAgentDescription(agent);
202
274
  }
203
275
  }
276
+ __name(buildAgentDescription, "buildAgentDescription");
204
277
  function buildSequentialAgentDescription(agent) {
205
278
  const subAgents = agent.subAgents;
206
279
  const descriptions = [];
@@ -219,6 +292,7 @@ function buildSequentialAgentDescription(agent) {
219
292
  });
220
293
  return descriptions.join(" ");
221
294
  }
295
+ __name(buildSequentialAgentDescription, "buildSequentialAgentDescription");
222
296
  function buildParallelAgentDescription(agent) {
223
297
  const subAgents = agent.subAgents;
224
298
  const descriptions = [];
@@ -237,6 +311,7 @@ function buildParallelAgentDescription(agent) {
237
311
  });
238
312
  return `${descriptions.join(" ")} simultaneously.`;
239
313
  }
314
+ __name(buildParallelAgentDescription, "buildParallelAgentDescription");
240
315
  function buildLoopAgentDescription(agent) {
241
316
  const maxIterationsVal = agent.maxIterations;
242
317
  let maxIterations = "unlimited";
@@ -260,6 +335,7 @@ function buildLoopAgentDescription(agent) {
260
335
  });
261
336
  return `${descriptions.join(" ")} in a loop (max ${maxIterations} iterations).`;
262
337
  }
338
+ __name(buildLoopAgentDescription, "buildLoopAgentDescription");
263
339
  async function buildDescriptionFromInstructions(agent) {
264
340
  const descriptionParts = [];
265
341
  if (agent.description) {
@@ -317,6 +393,7 @@ async function buildDescriptionFromInstructions(agent) {
317
393
  return getDefaultAgentDescription(agent);
318
394
  }
319
395
  }
396
+ __name(buildDescriptionFromInstructions, "buildDescriptionFromInstructions");
320
397
  function replacePronouns(instruction) {
321
398
  const substitutions = [
322
399
  { original: "you were", target: "I was" },
@@ -334,6 +411,7 @@ function replacePronouns(instruction) {
334
411
  }
335
412
  return result;
336
413
  }
414
+ __name(replacePronouns, "replacePronouns");
337
415
  function getDefaultAgentDescription(agent) {
338
416
  if ((0, import_loop_agent.isLoopAgent)(agent)) {
339
417
  return "A loop workflow agent";
@@ -347,6 +425,7 @@ function getDefaultAgentDescription(agent) {
347
425
  return "A custom agent";
348
426
  }
349
427
  }
428
+ __name(getDefaultAgentDescription, "getDefaultAgentDescription");
350
429
  function getAgentTypeTag(agent) {
351
430
  if ((0, import_loop_agent.isLoopAgent)(agent)) {
352
431
  return "loop_workflow";
@@ -360,18 +439,21 @@ function getAgentTypeTag(agent) {
360
439
  return "custom_agent";
361
440
  }
362
441
  }
442
+ __name(getAgentTypeTag, "getAgentTypeTag");
363
443
  function getAgentSkillName(agent) {
364
444
  if ((0, import_llm_agent.isLlmAgent)(agent)) {
365
445
  return "model";
366
446
  }
367
- if (isWorkflowAgent(agent)) {
447
+ if (isCompositeShellAgent(agent) || (0, import_workflow.isWorkflow)(agent)) {
368
448
  return "workflow";
369
449
  }
370
450
  return "custom";
371
451
  }
372
- function isWorkflowAgent(agent) {
452
+ __name(getAgentSkillName, "getAgentSkillName");
453
+ function isCompositeShellAgent(agent) {
373
454
  return (0, import_loop_agent.isLoopAgent)(agent) || (0, import_sequential_agent.isSequentialAgent)(agent) || (0, import_parallel_agent.isParallelAgent)(agent);
374
455
  }
456
+ __name(isCompositeShellAgent, "isCompositeShellAgent");
375
457
  // Annotate the CommonJS export names for ESM import in node:
376
458
  0 && (module.exports = {
377
459
  buildAgentSkills,