@google/adk 2.0.0 → 2.2.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 (658) hide show
  1. package/dist/cjs/a2a/a2a_event.js +0 -29
  2. package/dist/cjs/a2a/a2a_remote_agent.js +8 -5
  3. package/dist/cjs/a2a/a2a_remote_agent_utils.js +104 -2
  4. package/dist/cjs/a2a/agent_card.js +66 -6
  5. package/dist/cjs/a2a/agent_executor.js +18 -6
  6. package/dist/cjs/a2a/agent_to_a2a.js +6 -1
  7. package/dist/cjs/a2a/event_processor_utils.js +1 -1
  8. package/dist/cjs/a2a/executor_context.js +4 -2
  9. package/dist/cjs/a2a/index.js +4 -0
  10. package/dist/cjs/a2a/request_metadata.js +94 -0
  11. package/dist/cjs/agents/base_agent.js +9 -8
  12. package/dist/cjs/agents/context.js +7 -0
  13. package/dist/cjs/agents/functions.js +150 -47
  14. package/dist/cjs/agents/invocation_context.js +1 -0
  15. package/dist/cjs/agents/llm_agent.js +21 -6
  16. package/dist/cjs/agents/loop_agent.js +1 -1
  17. package/dist/cjs/agents/parallel_agent.js +1 -1
  18. package/dist/cjs/agents/processors/agent_transfer_llm_request_processor.js +26 -5
  19. package/dist/cjs/agents/processors/code_execution_request_processor.js +2 -2
  20. package/dist/cjs/agents/processors/content_processor_utils.js +15 -7
  21. package/dist/cjs/agents/processors/content_request_processor.js +4 -1
  22. package/dist/cjs/agents/processors/nl_planning_processor.js +114 -0
  23. package/dist/cjs/agents/processors/request_confirmation_llm_request_processor.js +19 -12
  24. package/dist/cjs/agents/processors/request_input_llm_request_processor.js +3 -7
  25. package/dist/cjs/agents/readonly_context.js +6 -0
  26. package/dist/cjs/agents/routed_agent.js +1 -1
  27. package/dist/cjs/agents/sequential_agent.js +1 -1
  28. package/dist/cjs/apps/app.js +1 -1
  29. package/dist/cjs/artifacts/file_artifact_service.js +1 -2
  30. package/dist/cjs/artifacts/gcs_artifact_service.js +13 -7
  31. package/dist/cjs/artifacts/scoped_artifact_service.js +9 -0
  32. package/dist/cjs/artifacts/session_artifact_service.js +19 -0
  33. package/dist/cjs/auth/auth_credential.js +12 -2
  34. package/dist/cjs/auth/auth_handler.js +44 -8
  35. package/dist/cjs/auth/oauth2/oauth2_credential_refresher.js +1 -1
  36. package/dist/cjs/auth/oauth2/oauth2_utils.js +17 -2
  37. package/dist/cjs/code_executors/base_code_executor.js +1 -1
  38. package/dist/cjs/code_executors/built_in_code_executor.js +1 -1
  39. package/dist/cjs/code_executors/code_execution_utils.js +5 -5
  40. package/dist/cjs/code_executors/container_code_executor.js +186 -0
  41. package/dist/cjs/code_executors/docker_container.js +282 -0
  42. package/dist/cjs/code_executors/unsafe_local_code_executor.js +11 -6
  43. package/dist/cjs/common.js +119 -45
  44. package/dist/cjs/context/agent_controlled_context_compactor.js +10 -5
  45. package/dist/cjs/context/anchored_context_compactor.js +41 -18
  46. package/dist/cjs/context/compaction_utils.js +15 -6
  47. package/dist/cjs/context/token_based_context_compactor.js +10 -2
  48. package/dist/cjs/context/trajectory_thought_pruning_compactor.js +17 -10
  49. package/dist/cjs/context/truncating_context_compactor.js +17 -5
  50. package/dist/cjs/errors/already_exists_error.js +50 -0
  51. package/dist/cjs/errors/input_validation_error.js +50 -0
  52. package/dist/cjs/errors/not_found_error.js +50 -0
  53. package/dist/cjs/errors/session_not_found_error.js +50 -0
  54. package/dist/cjs/errors/tool_execution_error.js +68 -0
  55. package/dist/cjs/events/event.js +1 -1
  56. package/dist/cjs/events/event_actions.js +7 -0
  57. package/dist/cjs/examples/base_example_provider.js +1 -1
  58. package/dist/cjs/examples/example.js +92 -0
  59. package/dist/cjs/examples/example_util.js +28 -4
  60. package/dist/cjs/examples/index.js +39 -0
  61. package/dist/cjs/examples/vertex_ai_example_store.js +39 -0
  62. package/dist/cjs/index.js +93 -0
  63. package/dist/cjs/index_web.js +2 -0
  64. package/dist/cjs/integrations/agent_registry/agent_registry.js +3 -2
  65. package/dist/cjs/memory/rag_memory_transcript.js +136 -0
  66. package/dist/cjs/memory/vertex_ai_memory_bank_service.js +19 -7
  67. package/dist/cjs/memory/vertex_ai_rag_api.js +120 -0
  68. package/dist/cjs/memory/vertex_ai_rag_memory_service.js +228 -0
  69. package/dist/cjs/models/apigee_llm.js +1 -1
  70. package/dist/cjs/models/base_llm.js +2 -7
  71. package/dist/cjs/models/chrome_prompt_llm.js +318 -0
  72. package/dist/cjs/models/chrome_prompt_utils.js +281 -0
  73. package/dist/cjs/models/gemini_llm_connection.js +5 -4
  74. package/dist/cjs/models/google_llm.js +9 -4
  75. package/dist/cjs/models/interactions_utils.js +2 -3
  76. package/dist/cjs/models/registry.js +2 -0
  77. package/dist/cjs/planners/base_planner.js +56 -0
  78. package/dist/cjs/planners/built_in_planner.js +85 -0
  79. package/dist/cjs/planners/plan_re_act_planner.js +172 -0
  80. package/dist/cjs/plugins/_reflect_retry_utils.js +142 -0
  81. package/dist/cjs/plugins/base_plugin.js +46 -61
  82. package/dist/cjs/plugins/reflect_retry_model_plugin.js +274 -0
  83. package/dist/cjs/plugins/reflect_retry_tool_plugin.js +276 -0
  84. package/dist/cjs/runner/runner.js +29 -26
  85. package/dist/cjs/sessions/database_session_service.js +78 -43
  86. package/dist/cjs/sessions/db/operations.js +229 -22
  87. package/dist/cjs/sessions/db/schema.js +113 -159
  88. package/dist/cjs/sessions/registry.js +5 -1
  89. package/dist/cjs/sessions/vertex_ai_session_service.js +2 -2
  90. package/dist/cjs/telemetry/setup.js +1 -1
  91. package/dist/cjs/telemetry/tracing.js +11 -1
  92. package/dist/cjs/tools/agent_tool.js +4 -5
  93. package/dist/cjs/tools/base_tool.js +14 -4
  94. package/dist/cjs/tools/base_toolset.js +4 -4
  95. package/dist/cjs/tools/built_in_tool.js +75 -0
  96. package/dist/cjs/tools/enterprise_web_search_tool.js +3 -6
  97. package/dist/cjs/tools/example_tool.js +1 -1
  98. package/dist/cjs/tools/forwarding_artifact_service.js +18 -13
  99. package/dist/cjs/tools/function_tool.js +6 -3
  100. package/dist/cjs/tools/google_maps_grounding_tool.js +3 -6
  101. package/dist/cjs/tools/google_search_tool.js +3 -6
  102. package/dist/cjs/tools/load_artifacts_tool.js +47 -23
  103. package/dist/cjs/tools/load_web_page.js +6 -172
  104. package/dist/cjs/tools/mcp/load_mcp_resource_tool.js +34 -5
  105. package/dist/cjs/tools/mcp/mcp_session_manager.js +14 -8
  106. package/dist/cjs/tools/openapi_tool/auth/auth_helpers.js +292 -4
  107. package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +15 -1
  108. package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/base_auth_credential_exchanger.js +70 -0
  109. package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/oauth2_exchanger.js +120 -0
  110. package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +10 -10
  111. package/dist/cjs/tools/openapi_tool/common/common.js +139 -0
  112. package/dist/cjs/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +11 -6
  113. package/dist/cjs/tools/openapi_tool/openapi_spec_parser/operation_parser.js +74 -14
  114. package/dist/cjs/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +146 -34
  115. package/dist/cjs/tools/openapi_tool/openapi_toolset.js +14 -2
  116. package/dist/cjs/tools/openapi_tool/rest_api_tool.js +106 -46
  117. package/dist/cjs/tools/preload_memory_tool.js +1 -1
  118. package/dist/cjs/tools/resume_inputs.js +27 -0
  119. package/dist/cjs/tools/retrieval/base_retrieval_tool.js +60 -0
  120. package/dist/cjs/tools/retrieval/files_retrieval.js +95 -0
  121. package/dist/cjs/tools/retrieval/llama_index_retrieval.js +57 -0
  122. package/dist/cjs/tools/skill/skill_toolset.js +2 -0
  123. package/dist/cjs/tools/tool_context.js +41 -0
  124. package/dist/cjs/tools/url_context_tool.js +3 -6
  125. package/dist/cjs/tools/vertex_ai_search_tool.js +4 -8
  126. package/dist/cjs/tools/vertex_rag_retrieval_tool.js +3 -10
  127. package/dist/cjs/tools/webmcp/index.js +37 -0
  128. package/dist/cjs/tools/webmcp/webmcp_tool.js +156 -0
  129. package/dist/cjs/tools/webmcp/webmcp_toolset.js +116 -0
  130. package/dist/cjs/tools/webmcp/webmcp_types.js +50 -0
  131. package/dist/cjs/utils/case_utils.js +52 -2
  132. package/dist/cjs/utils/client_labels.js +67 -0
  133. package/dist/cjs/utils/crypto_shim.js +16 -0
  134. package/dist/cjs/utils/gemini_schema_util.js +103 -9
  135. package/dist/cjs/utils/hash_utils.js +73 -0
  136. package/dist/cjs/utils/live_connection_utils.js +10 -9
  137. package/dist/cjs/utils/logger.js +15 -50
  138. package/dist/cjs/utils/logger_browser.js +86 -0
  139. package/dist/cjs/utils/logger_node.js +119 -0
  140. package/dist/cjs/utils/model_name.js +17 -2
  141. package/dist/cjs/utils/redact_inline_data.js +46 -0
  142. package/dist/cjs/utils/redact_uri.js +15 -1
  143. package/dist/cjs/utils/schema.js +1 -1
  144. package/dist/cjs/utils/simple_zod_to_json.js +5 -0
  145. package/dist/cjs/utils/ssrf_guard.js +262 -0
  146. package/dist/cjs/version.js +1 -1
  147. package/dist/cjs/workflow/base_node.js +1 -1
  148. package/dist/cjs/workflow/graph.js +1 -1
  149. package/dist/cjs/workflow/nodes/node_tool.js +2 -11
  150. package/dist/cjs/workflow/request_input.js +1 -1
  151. package/dist/cjs/workflow/run_llm_agent_as_node.js +1 -1
  152. package/dist/cjs/workflow/workflow.js +1 -1
  153. package/dist/esm/a2a/a2a_event.js +0 -28
  154. package/dist/esm/a2a/a2a_remote_agent.js +10 -5
  155. package/dist/esm/a2a/a2a_remote_agent_utils.js +102 -2
  156. package/dist/esm/a2a/agent_card.js +71 -6
  157. package/dist/esm/a2a/agent_executor.js +18 -6
  158. package/dist/esm/a2a/agent_to_a2a.js +8 -2
  159. package/dist/esm/a2a/event_processor_utils.js +1 -2
  160. package/dist/esm/a2a/executor_context.js +4 -2
  161. package/dist/esm/a2a/index.js +7 -1
  162. package/dist/esm/a2a/request_metadata.js +68 -0
  163. package/dist/esm/agents/base_agent.js +9 -8
  164. package/dist/esm/agents/context.js +7 -0
  165. package/dist/esm/agents/functions.js +152 -48
  166. package/dist/esm/agents/invocation_context.js +1 -0
  167. package/dist/esm/agents/llm_agent.js +24 -6
  168. package/dist/esm/agents/loop_agent.js +1 -1
  169. package/dist/esm/agents/parallel_agent.js +1 -1
  170. package/dist/esm/agents/processors/agent_transfer_llm_request_processor.js +26 -5
  171. package/dist/esm/agents/processors/code_execution_request_processor.js +2 -2
  172. package/dist/esm/agents/processors/content_processor_utils.js +15 -7
  173. package/dist/esm/agents/processors/content_request_processor.js +4 -1
  174. package/dist/esm/agents/processors/nl_planning_processor.js +87 -0
  175. package/dist/esm/agents/processors/request_confirmation_llm_request_processor.js +19 -12
  176. package/dist/esm/agents/processors/request_input_llm_request_processor.js +3 -7
  177. package/dist/esm/agents/readonly_context.js +6 -0
  178. package/dist/esm/agents/routed_agent.js +1 -1
  179. package/dist/esm/agents/sequential_agent.js +1 -1
  180. package/dist/esm/apps/app.js +1 -1
  181. package/dist/esm/artifacts/file_artifact_service.js +1 -2
  182. package/dist/esm/artifacts/gcs_artifact_service.js +13 -7
  183. package/dist/esm/artifacts/scoped_artifact_service.js +9 -0
  184. package/dist/esm/artifacts/session_artifact_service.js +12 -0
  185. package/dist/esm/auth/auth_credential.js +11 -1
  186. package/dist/esm/auth/auth_handler.js +47 -8
  187. package/dist/esm/auth/oauth2/oauth2_credential_refresher.js +1 -1
  188. package/dist/esm/auth/oauth2/oauth2_utils.js +15 -2
  189. package/dist/esm/code_executors/base_code_executor.js +1 -1
  190. package/dist/esm/code_executors/built_in_code_executor.js +1 -1
  191. package/dist/esm/code_executors/code_execution_utils.js +5 -5
  192. package/dist/esm/code_executors/container_code_executor.js +155 -0
  193. package/dist/esm/code_executors/docker_container.js +265 -0
  194. package/dist/esm/code_executors/unsafe_local_code_executor.js +11 -6
  195. package/dist/esm/common.js +111 -40
  196. package/dist/esm/context/agent_controlled_context_compactor.js +10 -5
  197. package/dist/esm/context/anchored_context_compactor.js +45 -19
  198. package/dist/esm/context/compaction_utils.js +13 -5
  199. package/dist/esm/context/token_based_context_compactor.js +10 -2
  200. package/dist/esm/context/trajectory_thought_pruning_compactor.js +17 -10
  201. package/dist/esm/context/truncating_context_compactor.js +17 -5
  202. package/dist/esm/errors/already_exists_error.js +23 -0
  203. package/dist/esm/errors/input_validation_error.js +23 -0
  204. package/dist/{web/auth/refresher/base_credential_refresher.js → esm/errors/not_found_error.js} +9 -6
  205. package/dist/esm/errors/session_not_found_error.js +23 -0
  206. package/dist/esm/errors/tool_execution_error.js +40 -0
  207. package/dist/esm/events/event.js +1 -1
  208. package/dist/esm/events/event_actions.js +6 -0
  209. package/dist/esm/examples/base_example_provider.js +1 -1
  210. package/dist/esm/examples/example.js +85 -0
  211. package/dist/esm/examples/example_util.js +25 -3
  212. package/dist/{web/auth/credential_service/base_credential_service.js → esm/examples/index.js} +4 -0
  213. package/dist/{web/version.js → esm/examples/vertex_ai_example_store.js} +2 -2
  214. package/dist/esm/index.js +87 -0
  215. package/dist/esm/index_web.js +2 -0
  216. package/dist/esm/integrations/agent_registry/agent_registry.js +3 -2
  217. package/dist/esm/memory/rag_memory_transcript.js +106 -0
  218. package/dist/esm/memory/vertex_ai_memory_bank_service.js +19 -7
  219. package/dist/esm/memory/vertex_ai_rag_api.js +93 -0
  220. package/dist/esm/memory/vertex_ai_rag_memory_service.js +208 -0
  221. package/dist/esm/models/apigee_llm.js +1 -1
  222. package/dist/esm/models/base_llm.js +3 -8
  223. package/dist/esm/models/chrome_prompt_llm.js +302 -0
  224. package/dist/esm/models/chrome_prompt_utils.js +241 -0
  225. package/dist/esm/models/gemini_llm_connection.js +6 -5
  226. package/dist/esm/models/google_llm.js +9 -4
  227. package/dist/esm/models/interactions_utils.js +2 -3
  228. package/dist/esm/models/registry.js +2 -0
  229. package/dist/esm/planners/base_planner.js +28 -0
  230. package/dist/esm/planners/built_in_planner.js +57 -0
  231. package/dist/esm/planners/plan_re_act_planner.js +145 -0
  232. package/dist/esm/plugins/_reflect_retry_utils.js +111 -0
  233. package/dist/esm/plugins/base_plugin.js +46 -61
  234. package/dist/esm/plugins/reflect_retry_model_plugin.js +250 -0
  235. package/dist/esm/plugins/reflect_retry_tool_plugin.js +254 -0
  236. package/dist/esm/runner/runner.js +35 -27
  237. package/dist/esm/sessions/database_session_service.js +58 -25
  238. package/dist/esm/sessions/db/operations.js +229 -22
  239. package/dist/esm/sessions/db/schema.js +111 -160
  240. package/dist/esm/sessions/registry.js +5 -1
  241. package/dist/esm/sessions/vertex_ai_session_service.js +1 -1
  242. package/dist/esm/telemetry/setup.js +1 -1
  243. package/dist/esm/telemetry/tracing.js +11 -1
  244. package/dist/esm/tools/agent_tool.js +4 -5
  245. package/dist/esm/tools/base_tool.js +11 -3
  246. package/dist/esm/tools/base_toolset.js +4 -4
  247. package/dist/esm/tools/built_in_tool.js +51 -0
  248. package/dist/esm/tools/enterprise_web_search_tool.js +3 -6
  249. package/dist/esm/tools/example_tool.js +1 -1
  250. package/dist/esm/tools/forwarding_artifact_service.js +18 -13
  251. package/dist/esm/tools/function_tool.js +6 -3
  252. package/dist/esm/tools/google_maps_grounding_tool.js +3 -6
  253. package/dist/esm/tools/google_search_tool.js +3 -6
  254. package/dist/esm/tools/load_artifacts_tool.js +48 -24
  255. package/dist/esm/tools/load_web_page.js +10 -170
  256. package/dist/esm/tools/mcp/load_mcp_resource_tool.js +34 -5
  257. package/dist/esm/tools/mcp/mcp_session_manager.js +14 -8
  258. package/dist/esm/tools/openapi_tool/auth/auth_helpers.js +285 -3
  259. package/dist/esm/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +15 -1
  260. package/dist/esm/tools/openapi_tool/auth/credential_exchangers/base_auth_credential_exchanger.js +43 -0
  261. package/dist/esm/tools/openapi_tool/auth/credential_exchangers/oauth2_exchanger.js +93 -0
  262. package/dist/esm/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +10 -12
  263. package/dist/esm/tools/openapi_tool/common/common.js +112 -0
  264. package/dist/esm/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +11 -6
  265. package/dist/esm/tools/openapi_tool/openapi_spec_parser/operation_parser.js +81 -14
  266. package/dist/esm/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +146 -33
  267. package/dist/esm/tools/openapi_tool/openapi_toolset.js +14 -2
  268. package/dist/esm/tools/openapi_tool/rest_api_tool.js +105 -46
  269. package/dist/esm/tools/preload_memory_tool.js +1 -1
  270. package/dist/esm/tools/retrieval/base_retrieval_tool.js +33 -0
  271. package/dist/esm/tools/retrieval/files_retrieval.js +81 -0
  272. package/dist/esm/tools/retrieval/llama_index_retrieval.js +30 -0
  273. package/dist/esm/tools/skill/skill_toolset.js +2 -0
  274. package/dist/{web/context/base_context_compactor.js → esm/tools/tool_context.js} +8 -0
  275. package/dist/esm/tools/url_context_tool.js +3 -6
  276. package/dist/esm/tools/vertex_ai_search_tool.js +4 -8
  277. package/dist/esm/tools/vertex_rag_retrieval_tool.js +3 -10
  278. package/dist/{web/auth/base_auth_provider.js → esm/tools/webmcp/index.js} +3 -0
  279. package/dist/esm/tools/webmcp/webmcp_tool.js +131 -0
  280. package/dist/esm/tools/webmcp/webmcp_toolset.js +89 -0
  281. package/dist/{web/utils/crypto_shim.js → esm/tools/webmcp/webmcp_types.js} +10 -6
  282. package/dist/esm/utils/case_utils.js +49 -1
  283. package/dist/esm/utils/client_labels.js +65 -0
  284. package/dist/esm/utils/crypto_shim.js +14 -0
  285. package/dist/esm/utils/gemini_schema_util.js +102 -9
  286. package/dist/esm/utils/hash_utils.js +45 -0
  287. package/dist/esm/utils/live_connection_utils.js +11 -10
  288. package/dist/esm/utils/logger.js +14 -40
  289. package/dist/esm/utils/logger_browser.js +58 -0
  290. package/dist/esm/utils/logger_node.js +81 -0
  291. package/dist/esm/utils/model_name.js +15 -2
  292. package/dist/esm/utils/redact_inline_data.js +19 -0
  293. package/dist/esm/utils/redact_uri.js +15 -1
  294. package/dist/esm/utils/schema.js +1 -1
  295. package/dist/esm/utils/simple_zod_to_json.js +5 -0
  296. package/dist/{web/tools/load_web_page.js → esm/utils/ssrf_guard.js} +95 -107
  297. package/dist/esm/version.js +1 -1
  298. package/dist/esm/workflow/base_node.js +1 -1
  299. package/dist/esm/workflow/graph.js +1 -1
  300. package/dist/esm/workflow/nodes/node_tool.js +2 -11
  301. package/dist/esm/workflow/request_input.js +1 -1
  302. package/dist/esm/workflow/run_llm_agent_as_node.js +1 -1
  303. package/dist/esm/workflow/workflow.js +1 -1
  304. package/dist/types/a2a/a2a_event.d.ts +7 -10
  305. package/dist/types/a2a/a2a_remote_agent.d.ts +5 -0
  306. package/dist/types/a2a/a2a_remote_agent_utils.d.ts +25 -0
  307. package/dist/types/a2a/agent_card.d.ts +9 -0
  308. package/dist/types/a2a/agent_executor.d.ts +1 -1
  309. package/dist/types/a2a/agent_to_a2a.d.ts +2 -0
  310. package/dist/types/a2a/auth.d.ts +5 -1
  311. package/dist/types/a2a/executor_context.d.ts +7 -1
  312. package/dist/types/a2a/index.d.ts +1 -1
  313. package/dist/types/a2a/request_metadata.d.ts +22 -0
  314. package/dist/types/agents/base_agent.d.ts +19 -16
  315. package/dist/types/agents/context.d.ts +8 -0
  316. package/dist/types/agents/functions.d.ts +72 -6
  317. package/dist/types/agents/invocation_context.d.ts +11 -3
  318. package/dist/types/agents/llm_agent.d.ts +20 -7
  319. package/dist/types/agents/processors/agent_transfer_llm_request_processor.d.ts +16 -1
  320. package/dist/types/agents/processors/nl_planning_processor.d.ts +30 -0
  321. package/dist/types/agents/readonly_context.d.ts +4 -0
  322. package/dist/types/agents/run_config.d.ts +21 -8
  323. package/dist/types/artifacts/scoped_artifact_service.d.ts +13 -0
  324. package/dist/types/artifacts/session_artifact_service.d.ts +8 -1
  325. package/dist/types/auth/auth_credential.d.ts +22 -8
  326. package/dist/types/auth/auth_handler.d.ts +12 -1
  327. package/dist/types/auth/oauth2/oauth2_credential_refresher.d.ts +1 -1
  328. package/dist/types/auth/oauth2/oauth2_utils.d.ts +9 -0
  329. package/dist/types/auth/refresher/base_credential_refresher.d.ts +1 -1
  330. package/dist/types/code_executors/code_execution_utils.d.ts +1 -1
  331. package/dist/types/code_executors/container_code_executor.d.ts +89 -0
  332. package/dist/types/code_executors/docker_container.d.ts +79 -0
  333. package/dist/types/common.d.ts +37 -23
  334. package/dist/types/context/compaction_utils.d.ts +9 -1
  335. package/dist/types/errors/already_exists_error.d.ts +14 -0
  336. package/dist/types/errors/input_validation_error.d.ts +14 -0
  337. package/dist/types/errors/not_found_error.d.ts +14 -0
  338. package/dist/types/errors/session_not_found_error.d.ts +14 -0
  339. package/dist/types/errors/tool_execution_error.d.ts +36 -0
  340. package/dist/types/events/event_actions.d.ts +13 -0
  341. package/dist/types/examples/base_example_provider.d.ts +2 -2
  342. package/dist/types/examples/example.d.ts +75 -0
  343. package/dist/types/examples/example_util.d.ts +13 -2
  344. package/dist/types/examples/index.d.ts +18 -0
  345. package/dist/types/examples/vertex_ai_example_store.d.ts +7 -0
  346. package/dist/types/index.d.ts +31 -1
  347. package/dist/types/memory/memory_entry.d.ts +15 -0
  348. package/dist/types/memory/rag_memory_transcript.d.ts +55 -0
  349. package/dist/types/memory/vertex_ai_memory_bank_service.d.ts +9 -0
  350. package/dist/types/memory/vertex_ai_rag_api.d.ts +89 -0
  351. package/dist/types/memory/vertex_ai_rag_memory_service.d.ts +68 -0
  352. package/dist/types/models/chrome_prompt_llm.d.ts +210 -0
  353. package/dist/types/models/chrome_prompt_utils.d.ts +97 -0
  354. package/dist/types/models/google_llm.d.ts +8 -3
  355. package/dist/types/models/registry.d.ts +3 -2
  356. package/dist/types/planners/base_planner.d.ts +50 -0
  357. package/dist/types/planners/built_in_planner.d.ts +53 -0
  358. package/dist/types/planners/plan_re_act_planner.d.ts +21 -0
  359. package/dist/types/plugins/_reflect_retry_utils.d.ts +72 -0
  360. package/dist/types/plugins/base_plugin.d.ts +64 -62
  361. package/dist/types/plugins/logging_plugin.d.ts +3 -2
  362. package/dist/types/plugins/reflect_retry_model_plugin.d.ts +132 -0
  363. package/dist/types/plugins/reflect_retry_tool_plugin.d.ts +187 -0
  364. package/dist/types/runner/runner.d.ts +7 -8
  365. package/dist/types/sessions/database_session_service.d.ts +1 -1
  366. package/dist/types/sessions/db/operations.d.ts +13 -1
  367. package/dist/types/sessions/db/schema.d.ts +23 -9
  368. package/dist/types/skills/skill_registry.d.ts +8 -0
  369. package/dist/types/tools/base_tool.d.ts +11 -0
  370. package/dist/types/tools/base_toolset.d.ts +3 -4
  371. package/dist/types/tools/built_in_tool.d.ts +41 -0
  372. package/dist/types/tools/enterprise_web_search_tool.d.ts +4 -4
  373. package/dist/types/tools/forwarding_artifact_service.d.ts +23 -10
  374. package/dist/types/tools/function_tool.d.ts +42 -9
  375. package/dist/types/tools/google_maps_grounding_tool.d.ts +4 -4
  376. package/dist/types/tools/google_search_tool.d.ts +4 -4
  377. package/dist/types/tools/long_running_tool.d.ts +1 -1
  378. package/dist/types/tools/mcp/mcp_toolset.d.ts +11 -10
  379. package/dist/types/tools/openapi_tool/auth/auth_helpers.d.ts +115 -1
  380. package/dist/types/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.d.ts +31 -2
  381. package/dist/types/tools/openapi_tool/auth/credential_exchangers/base_auth_credential_exchanger.d.ts +35 -0
  382. package/dist/types/tools/openapi_tool/auth/credential_exchangers/oauth2_exchanger.d.ts +54 -0
  383. package/dist/types/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.d.ts +0 -1
  384. package/dist/types/tools/openapi_tool/common/common.d.ts +60 -0
  385. package/dist/types/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.d.ts +7 -0
  386. package/dist/types/tools/openapi_tool/openapi_spec_parser/operation_parser.d.ts +56 -2
  387. package/dist/types/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.d.ts +73 -5
  388. package/dist/types/tools/openapi_tool/openapi_toolset.d.ts +11 -0
  389. package/dist/types/tools/openapi_tool/rest_api_tool.d.ts +42 -8
  390. package/dist/types/tools/preload_memory_tool.d.ts +1 -1
  391. package/dist/types/tools/resume_inputs.d.ts +25 -0
  392. package/dist/types/tools/retrieval/base_retrieval_tool.d.ts +21 -0
  393. package/dist/types/tools/retrieval/files_retrieval.d.ts +50 -0
  394. package/dist/types/tools/retrieval/llama_index_retrieval.d.ts +62 -0
  395. package/dist/types/tools/tool_context.d.ts +19 -0
  396. package/dist/types/tools/url_context_tool.d.ts +4 -4
  397. package/dist/types/tools/vertex_ai_search_tool.d.ts +4 -4
  398. package/dist/types/tools/vertex_rag_retrieval_tool.d.ts +13 -12
  399. package/dist/types/tools/webmcp/index.d.ts +12 -0
  400. package/dist/types/tools/webmcp/webmcp_tool.d.ts +47 -0
  401. package/dist/types/tools/webmcp/webmcp_toolset.d.ts +67 -0
  402. package/dist/types/tools/webmcp/webmcp_types.d.ts +69 -0
  403. package/dist/types/utils/case_utils.d.ts +36 -0
  404. package/dist/types/utils/client_labels.d.ts +33 -0
  405. package/dist/types/utils/crypto_shim.d.ts +16 -0
  406. package/dist/types/utils/gemini_schema_util.d.ts +18 -7
  407. package/dist/types/utils/hash_utils.d.ts +25 -0
  408. package/dist/types/utils/logger.d.ts +33 -3
  409. package/dist/types/utils/logger_browser.d.ts +28 -0
  410. package/dist/types/utils/logger_node.d.ts +20 -0
  411. package/dist/types/utils/model_name.d.ts +30 -2
  412. package/dist/types/utils/output_schema_utils.d.ts +3 -3
  413. package/dist/types/utils/redact_inline_data.d.ts +16 -0
  414. package/dist/types/utils/redact_uri.d.ts +12 -8
  415. package/dist/types/utils/ssrf_guard.d.ts +32 -0
  416. package/dist/types/version.d.ts +1 -1
  417. package/dist/web/index_web.js +337 -3
  418. package/dist/web/index_web.js.map +7 -0
  419. package/package.json +24 -15
  420. package/dist/web/a2a/a2a_event.js +0 -290
  421. package/dist/web/a2a/a2a_remote_agent.js +0 -200
  422. package/dist/web/a2a/a2a_remote_agent_run_processor.js +0 -189
  423. package/dist/web/a2a/a2a_remote_agent_utils.js +0 -141
  424. package/dist/web/a2a/agent_card.js +0 -373
  425. package/dist/web/a2a/agent_executor.js +0 -246
  426. package/dist/web/a2a/agent_to_a2a.js +0 -126
  427. package/dist/web/a2a/auth.js +0 -41
  428. package/dist/web/a2a/event_converter_utils.js +0 -242
  429. package/dist/web/a2a/event_processor_utils.js +0 -209
  430. package/dist/web/a2a/executor_context.js +0 -28
  431. package/dist/web/a2a/index.js +0 -20
  432. package/dist/web/a2a/metadata_converter_utils.js +0 -115
  433. package/dist/web/a2a/part_converter_utils.js +0 -201
  434. package/dist/web/agents/active_streaming_tool.js +0 -25
  435. package/dist/web/agents/base_agent.js +0 -462
  436. package/dist/web/agents/context.js +0 -146
  437. package/dist/web/agents/framework_function_calls.js +0 -34
  438. package/dist/web/agents/functions.js +0 -462
  439. package/dist/web/agents/instructions.js +0 -188
  440. package/dist/web/agents/invocation_context.js +0 -126
  441. package/dist/web/agents/live_request_queue.js +0 -151
  442. package/dist/web/agents/llm_agent.js +0 -1514
  443. package/dist/web/agents/loop_agent.js +0 -131
  444. package/dist/web/agents/parallel_agent.js +0 -122
  445. package/dist/web/agents/processors/agent_transfer_llm_request_processor.js +0 -113
  446. package/dist/web/agents/processors/base_llm_processor.js +0 -21
  447. package/dist/web/agents/processors/basic_llm_request_processor.js +0 -84
  448. package/dist/web/agents/processors/code_execution_request_processor.js +0 -381
  449. package/dist/web/agents/processors/content_processor_utils.js +0 -432
  450. package/dist/web/agents/processors/content_request_processor.js +0 -73
  451. package/dist/web/agents/processors/context_compactor_request_processor.js +0 -78
  452. package/dist/web/agents/processors/identity_llm_request_processor.js +0 -59
  453. package/dist/web/agents/processors/instructions_llm_request_processor.js +0 -85
  454. package/dist/web/agents/processors/interactions_request_processor.js +0 -56
  455. package/dist/web/agents/processors/request_confirmation_llm_request_processor.js +0 -393
  456. package/dist/web/agents/processors/request_input_llm_request_processor.js +0 -228
  457. package/dist/web/agents/processors/tool_filter_request_processor.js +0 -72
  458. package/dist/web/agents/readonly_context.js +0 -60
  459. package/dist/web/agents/routed_agent.js +0 -161
  460. package/dist/web/agents/run_config.js +0 -74
  461. package/dist/web/agents/sequential_agent.js +0 -141
  462. package/dist/web/agents/transcription_entry.js +0 -7
  463. package/dist/web/agents/user_input_request.js +0 -135
  464. package/dist/web/apps/app.js +0 -52
  465. package/dist/web/apps/resumability_config.js +0 -33
  466. package/dist/web/artifacts/base_artifact_service.js +0 -7
  467. package/dist/web/artifacts/file_artifact_service.js +0 -568
  468. package/dist/web/artifacts/gcs_artifact_service.js +0 -298
  469. package/dist/web/artifacts/in_memory_artifact_service.js +0 -172
  470. package/dist/web/artifacts/registry.js +0 -36
  471. package/dist/web/artifacts/scoped_artifact_service.js +0 -89
  472. package/dist/web/auth/auth_credential.js +0 -18
  473. package/dist/web/auth/auth_handler.js +0 -151
  474. package/dist/web/auth/auth_preprocessor.js +0 -184
  475. package/dist/web/auth/auth_provider_registry.js +0 -37
  476. package/dist/web/auth/auth_schemes.js +0 -36
  477. package/dist/web/auth/auth_tool.js +0 -7
  478. package/dist/web/auth/credential_response_binding.js +0 -91
  479. package/dist/web/auth/credential_service/in_memory_credential_service.js +0 -50
  480. package/dist/web/auth/credential_service/session_state_credential_service.js +0 -27
  481. package/dist/web/auth/exchanger/base_credential_exchanger.js +0 -16
  482. package/dist/web/auth/exchanger/credential_exchanger_registry.js +0 -35
  483. package/dist/web/auth/oauth2/oauth2_credential_exchanger.js +0 -194
  484. package/dist/web/auth/oauth2/oauth2_credential_refresher.js +0 -105
  485. package/dist/web/auth/oauth2/oauth2_discovery.js +0 -196
  486. package/dist/web/auth/oauth2/oauth2_utils.js +0 -105
  487. package/dist/web/auth/refresher/credential_refresher_registry.js +0 -44
  488. package/dist/web/code_executors/agent_engine_sandbox_code_executor.js +0 -284
  489. package/dist/web/code_executors/base_code_executor.js +0 -68
  490. package/dist/web/code_executors/built_in_code_executor.js +0 -50
  491. package/dist/web/code_executors/code_execution_utils.js +0 -131
  492. package/dist/web/code_executors/code_executor_context.js +0 -174
  493. package/dist/web/code_executors/unsafe_local_code_executor.js +0 -221
  494. package/dist/web/common.js +0 -452
  495. package/dist/web/context/agent_controlled_context_compactor.js +0 -76
  496. package/dist/web/context/anchored_context_compactor.js +0 -120
  497. package/dist/web/context/compaction_utils.js +0 -42
  498. package/dist/web/context/summarizers/base_summarizer.js +0 -7
  499. package/dist/web/context/summarizers/llm_summarizer.js +0 -91
  500. package/dist/web/context/token_based_context_compactor.js +0 -118
  501. package/dist/web/context/trajectory_thought_pruning_compactor.js +0 -47
  502. package/dist/web/context/truncating_context_compactor.js +0 -34
  503. package/dist/web/environment/base_environment.js +0 -71
  504. package/dist/web/environment/local_environment.js +0 -165
  505. package/dist/web/events/compacted_event.js +0 -51
  506. package/dist/web/events/event.js +0 -208
  507. package/dist/web/events/event_actions.js +0 -74
  508. package/dist/web/events/structured_events.js +0 -79
  509. package/dist/web/examples/base_example_provider.js +0 -32
  510. package/dist/web/examples/example.js +0 -7
  511. package/dist/web/examples/example_util.js +0 -83
  512. package/dist/web/features/feature_registry.js +0 -115
  513. package/dist/web/index.js +0 -57
  514. package/dist/web/integrations/agent_registry/agent_registry.js +0 -337
  515. package/dist/web/integrations/agent_registry/agent_registry_mcp_toolset.js +0 -120
  516. package/dist/web/integrations/agent_registry/helpers.js +0 -32
  517. package/dist/web/integrations/agent_registry/types.js +0 -20
  518. package/dist/web/memory/base_memory_service.js +0 -7
  519. package/dist/web/memory/in_memory_memory_service.js +0 -89
  520. package/dist/web/memory/memory_entry.js +0 -7
  521. package/dist/web/memory/vertex_ai_memory_bank_service.js +0 -496
  522. package/dist/web/models/apigee_llm.js +0 -227
  523. package/dist/web/models/base_llm.js +0 -78
  524. package/dist/web/models/base_llm_connection.js +0 -7
  525. package/dist/web/models/gemini_llm_connection.js +0 -183
  526. package/dist/web/models/google_llm.js +0 -396
  527. package/dist/web/models/interactions_utils.js +0 -745
  528. package/dist/web/models/llm_request.js +0 -57
  529. package/dist/web/models/llm_response.js +0 -48
  530. package/dist/web/models/registry.js +0 -100
  531. package/dist/web/models/routed_llm.js +0 -112
  532. package/dist/web/plugins/base_plugin.js +0 -305
  533. package/dist/web/plugins/global_instruction_plugin.js +0 -71
  534. package/dist/web/plugins/logging_plugin.js +0 -241
  535. package/dist/web/plugins/plugin_manager.js +0 -318
  536. package/dist/web/plugins/security_plugin.js +0 -148
  537. package/dist/web/runner/in_memory_runner.js +0 -50
  538. package/dist/web/runner/runner.js +0 -747
  539. package/dist/web/sessions/base_session_service.js +0 -123
  540. package/dist/web/sessions/database_session_service.js +0 -440
  541. package/dist/web/sessions/db/operations.js +0 -124
  542. package/dist/web/sessions/db/schema.js +0 -216
  543. package/dist/web/sessions/in_memory_session_service.js +0 -251
  544. package/dist/web/sessions/registry.js +0 -38
  545. package/dist/web/sessions/session.js +0 -23
  546. package/dist/web/sessions/state.js +0 -159
  547. package/dist/web/sessions/state_write_order.js +0 -74
  548. package/dist/web/sessions/vertex_ai_session_service.js +0 -546
  549. package/dist/web/skills/gcp_skill_registry.js +0 -80
  550. package/dist/web/skills/loader.js +0 -372
  551. package/dist/web/skills/prompt.js +0 -34
  552. package/dist/web/skills/skill.js +0 -67
  553. package/dist/web/skills/skill_registry.js +0 -7
  554. package/dist/web/telemetry/google_cloud.js +0 -99
  555. package/dist/web/telemetry/setup.js +0 -89
  556. package/dist/web/telemetry/tracing.js +0 -304
  557. package/dist/web/tools/agent_tool.js +0 -150
  558. package/dist/web/tools/base_tool.js +0 -116
  559. package/dist/web/tools/base_toolset.js +0 -62
  560. package/dist/web/tools/consolidate_context_tool.js +0 -55
  561. package/dist/web/tools/enterprise_web_search_tool.js +0 -60
  562. package/dist/web/tools/example_tool.js +0 -46
  563. package/dist/web/tools/exit_loop_tool.js +0 -47
  564. package/dist/web/tools/finish_task_tool.js +0 -92
  565. package/dist/web/tools/forwarding_artifact_service.js +0 -51
  566. package/dist/web/tools/function_tool.js +0 -151
  567. package/dist/web/tools/get_user_choice_tool.js +0 -27
  568. package/dist/web/tools/google_maps_grounding_tool.js +0 -59
  569. package/dist/web/tools/google_search_tool.js +0 -55
  570. package/dist/web/tools/load_artifacts_tool.js +0 -159
  571. package/dist/web/tools/load_memory_tool.js +0 -83
  572. package/dist/web/tools/long_running_tool.js +0 -58
  573. package/dist/web/tools/mcp/index.js +0 -11
  574. package/dist/web/tools/mcp/load_mcp_resource_tool.js +0 -111
  575. package/dist/web/tools/mcp/mcp_session_manager.js +0 -114
  576. package/dist/web/tools/mcp/mcp_tool.js +0 -47
  577. package/dist/web/tools/mcp/mcp_toolset.js +0 -144
  578. package/dist/web/tools/openapi_tool/auth/auth_helpers.js +0 -53
  579. package/dist/web/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +0 -62
  580. package/dist/web/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +0 -113
  581. package/dist/web/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +0 -242
  582. package/dist/web/tools/openapi_tool/openapi_spec_parser/operation_parser.js +0 -200
  583. package/dist/web/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +0 -98
  584. package/dist/web/tools/openapi_tool/openapi_toolset.js +0 -99
  585. package/dist/web/tools/openapi_tool/rest_api_tool.js +0 -247
  586. package/dist/web/tools/preload_memory_tool.js +0 -81
  587. package/dist/web/tools/request_input_tool.js +0 -29
  588. package/dist/web/tools/skill/list_skills_tool.js +0 -52
  589. package/dist/web/tools/skill/load_skill_resource_tool.js +0 -192
  590. package/dist/web/tools/skill/load_skill_tool.js +0 -96
  591. package/dist/web/tools/skill/run_skill_inline_script_tool.js +0 -191
  592. package/dist/web/tools/skill/run_skill_script_tool.js +0 -227
  593. package/dist/web/tools/skill/search_skills_tool.js +0 -84
  594. package/dist/web/tools/skill/skill_toolset.js +0 -185
  595. package/dist/web/tools/tool_confirmation.js +0 -43
  596. package/dist/web/tools/url_context_tool.js +0 -48
  597. package/dist/web/tools/vertex_ai_search_tool.js +0 -107
  598. package/dist/web/tools/vertex_rag_retrieval_tool.js +0 -40
  599. package/dist/web/utils/async_hooks_shim.js +0 -28
  600. package/dist/web/utils/async_queue.js +0 -88
  601. package/dist/web/utils/branch_trie.js +0 -16
  602. package/dist/web/utils/case_utils.js +0 -28
  603. package/dist/web/utils/client_labels.js +0 -70
  604. package/dist/web/utils/deprecated.js +0 -40
  605. package/dist/web/utils/env_aware_utils.js +0 -115
  606. package/dist/web/utils/error_utils.js +0 -101
  607. package/dist/web/utils/experimental.js +0 -54
  608. package/dist/web/utils/failover_utils.js +0 -100
  609. package/dist/web/utils/file_extension_utils.js +0 -55
  610. package/dist/web/utils/file_utils.js +0 -108
  611. package/dist/web/utils/gemini_schema_util.js +0 -177
  612. package/dist/web/utils/genai_schema_to_json.js +0 -80
  613. package/dist/web/utils/live_connection_utils.js +0 -257
  614. package/dist/web/utils/logger.js +0 -140
  615. package/dist/web/utils/model_name.js +0 -75
  616. package/dist/web/utils/object_notation_utils.js +0 -54
  617. package/dist/web/utils/optional_peer.js +0 -38
  618. package/dist/web/utils/output_schema_utils.js +0 -18
  619. package/dist/web/utils/partial_copy.js +0 -26
  620. package/dist/web/utils/redact_uri.js +0 -39
  621. package/dist/web/utils/schema.js +0 -167
  622. package/dist/web/utils/simple_zod_to_json.js +0 -134
  623. package/dist/web/utils/streaming_utils.js +0 -438
  624. package/dist/web/utils/task.js +0 -38
  625. package/dist/web/utils/variant_utils.js +0 -23
  626. package/dist/web/utils/vertex_ai_utils.js +0 -27
  627. package/dist/web/workflow/base_node.js +0 -215
  628. package/dist/web/workflow/branch_path.js +0 -77
  629. package/dist/web/workflow/dynamic_node_scheduler.js +0 -202
  630. package/dist/web/workflow/errors.js +0 -140
  631. package/dist/web/workflow/graph.js +0 -127
  632. package/dist/web/workflow/index.js +0 -80
  633. package/dist/web/workflow/node.js +0 -87
  634. package/dist/web/workflow/node_builders.js +0 -40
  635. package/dist/web/workflow/node_context.js +0 -236
  636. package/dist/web/workflow/node_error_event.js +0 -86
  637. package/dist/web/workflow/node_runner.js +0 -481
  638. package/dist/web/workflow/node_state.js +0 -43
  639. package/dist/web/workflow/node_status.js +0 -20
  640. package/dist/web/workflow/nodes/function_node.js +0 -221
  641. package/dist/web/workflow/nodes/join_node.js +0 -47
  642. package/dist/web/workflow/nodes/node_tool.js +0 -131
  643. package/dist/web/workflow/nodes/parallel_worker.js +0 -120
  644. package/dist/web/workflow/nodes/tool_node.js +0 -126
  645. package/dist/web/workflow/request_input.js +0 -36
  646. package/dist/web/workflow/retry_config.js +0 -43
  647. package/dist/web/workflow/run_llm_agent_as_node.js +0 -266
  648. package/dist/web/workflow/run_node_as_invocation.js +0 -170
  649. package/dist/web/workflow/schedule_dynamic_node.js +0 -26
  650. package/dist/web/workflow/trigger.js +0 -7
  651. package/dist/web/workflow/utils/graph_parser.js +0 -188
  652. package/dist/web/workflow/utils/graph_validation.js +0 -189
  653. package/dist/web/workflow/utils/hitl_utils.js +0 -239
  654. package/dist/web/workflow/utils/rehydration_utils.js +0 -342
  655. package/dist/web/workflow/utils/retry_utils.js +0 -82
  656. package/dist/web/workflow/utils/workflow_graph_utils.js +0 -115
  657. package/dist/web/workflow/workflow.js +0 -529
  658. /package/dist/{web/artifacts/session_artifact_service.js → esm/tools/resume_inputs.js} +0 -0
@@ -15,7 +15,11 @@ import { A2aUserBuilder } from './agent_to_a2a.js';
15
15
  * text on every call.
16
16
  *
17
17
  * ```ts
18
- * toA2a(agent, {authentication: bearerTokenUserBuilder(process.env.MY_TOKEN)});
18
+ * const token = process.env.MY_TOKEN;
19
+ * if (!token) {
20
+ * throw new Error('MY_TOKEN is not set');
21
+ * }
22
+ * toA2a(agent, {authentication: bearerTokenUserBuilder(token)});
19
23
  * ```
20
24
  *
21
25
  * A rejected request surfaces as whatever the `@a2a-js/sdk` handler produces
@@ -18,16 +18,22 @@ export interface ExecutorContext {
18
18
  events: Event[];
19
19
  userContent: Content;
20
20
  requestContext: RequestContext;
21
+ /**
22
+ * Request-level metadata passed from an incoming A2A request.
23
+ */
24
+ a2aMetadata?: Record<string, unknown>;
21
25
  }
22
26
  /**
23
27
  * Creates an A2A Agent Executor context from the given parameters.
24
28
  * @param session The session.
25
29
  * @param userContent The content of the user.
26
30
  * @param requestContext The request context.
31
+ * @param a2aMetadata Optional request-level metadata.
27
32
  * @returns The A2A Agent Executor context.
28
33
  */
29
- export declare function createExecutorContext({ session, userContent, requestContext, }: {
34
+ export declare function createExecutorContext({ session, userContent, requestContext, a2aMetadata, }: {
30
35
  session: Session;
31
36
  userContent: Content;
32
37
  requestContext: RequestContext;
38
+ a2aMetadata?: Record<string, unknown>;
33
39
  }): ExecutorContext;
@@ -12,7 +12,7 @@ export type { A2AStreamEventData, AfterA2ARequestCallback, BeforeA2ARequestCallb
12
12
  export { getA2AAgentCard } from './agent_card.js';
13
13
  export { A2AAgentExecutor } from './agent_executor.js';
14
14
  export type { AfterEventCallback, AfterExecuteCallback, AgentExecutorConfig, BeforeExecuteCallback, RunnerOrRunnerConfig, } from './agent_executor.js';
15
- export { toA2a } from './agent_to_a2a.js';
15
+ export { AdkDefaultRequestHandler, getA2aRequestMetadata, toA2a, } from './agent_to_a2a.js';
16
16
  export type { A2aUserBuilder, ToA2aOptions } from './agent_to_a2a.js';
17
17
  export { bearerTokenUserBuilder } from './auth.js';
18
18
  export type { ExecutorContext } from './executor_context.js';
@@ -0,0 +1,22 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Message, MessageSendParams, Task, TaskArtifactUpdateEvent, TaskStatusUpdateEvent } from '@a2a-js/sdk';
7
+ import { DefaultRequestHandler, RequestContext, ServerCallContext } from '@a2a-js/sdk/server';
8
+ /**
9
+ * Extracts request-level A2A metadata from a RequestContext.
10
+ *
11
+ * Supports @a2a-js/sdk >= 1.0.0 (`ctx.request.metadata`) and @a2a-js/sdk 0.3.x via
12
+ * `AdkDefaultRequestHandler`.
13
+ */
14
+ export declare function getA2aRequestMetadata(ctx: RequestContext): Record<string, unknown> | undefined;
15
+ /**
16
+ * A2A DefaultRequestHandler extension that preserves request-level metadata (`params.metadata`)
17
+ * across agent executions regardless of @a2a-js/sdk version.
18
+ */
19
+ export declare class AdkDefaultRequestHandler extends DefaultRequestHandler {
20
+ sendMessage(params: MessageSendParams, context?: ServerCallContext): Promise<Message | Task>;
21
+ sendMessageStream(params: MessageSendParams, context?: ServerCallContext): AsyncGenerator<Message | Task | TaskStatusUpdateEvent | TaskArtifactUpdateEvent, void, undefined>;
22
+ }
@@ -109,11 +109,15 @@ export declare abstract class BaseAgent<TConfig extends BaseAgentConfig = BaseAg
109
109
  * When a list of callbacks is provided, the callbacks will be called in the
110
110
  * order they are listed until a callback does not return undefined.
111
111
  *
112
- * @param callbackContext: MUST be named 'callbackContext' (enforced).
112
+ * Each callback takes a single {@link Context} argument. Returning `Content`
113
+ * skips this agent's own run — its `runAsyncImpl` body and its
114
+ * `afterAgentCallback` — and emits the returned content as this agent's
115
+ * response; return `undefined` to let the run proceed.
113
116
  *
114
- * @return Content: The content to return to the user. When the content is
115
- * present, the agent run will be skipped and the provided content will be
116
- * returned to user.
117
+ * That skip is scoped to this agent. It sets `endInvocation` on the
118
+ * invocation context the agent created for itself, which is a copy of its
119
+ * parent's, so callers above are unaffected: a `SequentialAgent` still runs
120
+ * the remaining sub-agents.
117
121
  */
118
122
  readonly beforeAgentCallback: SingleAgentCallback[];
119
123
  /**
@@ -122,26 +126,25 @@ export declare abstract class BaseAgent<TConfig extends BaseAgentConfig = BaseAg
122
126
  * When a list of callbacks is provided, the callbacks will be called in the
123
127
  * order they are listed until a callback does not return undefined.
124
128
  *
125
- * @param callbackContext: MUST be named 'callbackContext' (enforced).
126
- *
127
- * @return Content: The content to return to the user. When the content is
128
- * present, the provided content will be used as agent response and
129
- * appended to event history as agent response.
129
+ * Each callback takes a single {@link Context} argument. Returning `Content`
130
+ * emits it as the agent's response, appended to the event history; return
131
+ * `undefined` to leave the response as the agent produced it.
130
132
  */
131
133
  readonly afterAgentCallback: SingleAgentCallback[];
132
134
  constructor(config: BaseAgentConfig);
133
135
  /**
134
136
  * Creates a copy of this agent with the given config fields overridden.
135
137
  *
136
- * Mirrors adk-python's `BaseAgent.clone(update=...)`. The clone is a detached
137
- * root: its `parentAgent` is always `undefined`. Sub-agents are recursively
138
- * cloned (and re-parented to the clone) unless `subAgents` is overridden.
139
- * Rebuilding via the concrete constructor re-derives all state, so a cloned
140
- * `LlmAgent` gets a fresh `requestProcessors` array rather than sharing the
141
- * original's. See google/adk-js#534.
138
+ * The clone is a detached root: its `parentAgent` is always `undefined`.
139
+ * Sub-agents are recursively cloned (and re-parented to the clone) unless
140
+ * `subAgents` is overridden. Rebuilding via the concrete constructor
141
+ * re-derives all state, so a cloned `LlmAgent` gets a fresh
142
+ * `requestProcessors` array rather than sharing the original's.
143
+ * See google/adk-js#534.
142
144
  *
143
145
  * @param overrides Config fields to override on the clone. Overriding
144
- * `parentAgent` is rejected, matching adk-python.
146
+ * `parentAgent` is rejected: parentage is assigned only when a parent
147
+ * agent is constructed with its sub-agents.
145
148
  * @returns A new detached agent instance of the same concrete class.
146
149
  */
147
150
  clone(overrides?: Partial<TConfig>): this;
@@ -9,6 +9,7 @@ import { AuthConfig } from '../auth/auth_tool.js';
9
9
  import { EventActions } from '../events/event_actions.js';
10
10
  import { SearchMemoryResponse } from '../memory/base_memory_service.js';
11
11
  import { State } from '../sessions/state.js';
12
+ import { ResumeInputs } from '../tools/resume_inputs.js';
12
13
  import { ToolConfirmation } from '../tools/tool_confirmation.js';
13
14
  import { InvocationContext } from './invocation_context.js';
14
15
  import { ReadonlyContext } from './readonly_context.js';
@@ -26,6 +27,7 @@ export declare class Context extends ReadonlyContext {
26
27
  readonly eventActions: EventActions;
27
28
  readonly functionCallId?: string;
28
29
  toolConfirmation?: ToolConfirmation;
30
+ readonly resumeInputs: ResumeInputs;
29
31
  readonly abortSignal?: AbortSignal;
30
32
  /**
31
33
  * @param options The configuration options for the Context.
@@ -38,12 +40,18 @@ export declare class Context extends ReadonlyContext {
38
40
  * call.
39
41
  * @param options.toolConfirmation The tool confirmation of the current tool
40
42
  * call.
43
+ * @param options.resumeInputs The inputs the current tool call is being
44
+ * resumed with, if it paused to ask for them, keyed by interrupt id.
45
+ * Defaults to empty rather than absent, matching adk-python's
46
+ * `Context.resume_inputs`. Carries no approval; see
47
+ * {@link ResumeInputs}.
41
48
  */
42
49
  constructor(options: {
43
50
  invocationContext: InvocationContext;
44
51
  eventActions?: EventActions;
45
52
  functionCallId?: string;
46
53
  toolConfirmation?: ToolConfirmation;
54
+ resumeInputs?: ResumeInputs;
47
55
  });
48
56
  /**
49
57
  * The delta-aware state of the current session.
@@ -7,6 +7,7 @@ import { FunctionCall } from '@google/genai';
7
7
  import { InvocationContext } from '../agents/invocation_context.js';
8
8
  import { Event } from '../events/event.js';
9
9
  import { BaseTool } from '../tools/base_tool.js';
10
+ import { ResumeInputs } from '../tools/resume_inputs.js';
10
11
  import { ToolConfirmation } from '../tools/tool_confirmation.js';
11
12
  import { SingleAfterToolCallback, SingleBeforeToolCallback } from './llm_agent.js';
12
13
  export { AF_FUNCTION_CALL_ID_PREFIX, generateClientFunctionCallId, populateClientFunctionCallId, } from '../events/event.js';
@@ -39,6 +40,11 @@ export declare function generateRequestConfirmationEvent({ invocationContext, fu
39
40
  * Handles function calls.
40
41
  * Runtime behavior to pay attention to:
41
42
  * - Iterate through each function call in the `functionCallEvent`:
43
+ * - Resolve the named tool. If the name is not callable, run the on-tool-
44
+ * error callbacks and answer the call with their response, or with the
45
+ * resolution error when none handles it, then move to the next call. That
46
+ * answer skips the before/after tool callbacks below, so a plugin auditing
47
+ * every response does not observe it — as in Python.
42
48
  * - Execute before tool callbacks !!if a callback provides a response, short
43
49
  * circuit the rest.
44
50
  * - Execute the tool.
@@ -47,7 +53,7 @@ export declare function generateRequestConfirmationEvent({ invocationContext, fu
47
53
  * - If the tool is long-running and the response is null, continue. !!state
48
54
  * - Merge all function response events into a single event.
49
55
  */
50
- export declare function handleFunctionCallsAsync({ invocationContext, functionCallEvent, toolsDict, beforeToolCallbacks, afterToolCallbacks, filters, toolConfirmationDict, }: {
56
+ export declare function handleFunctionCallsAsync({ invocationContext, functionCallEvent, toolsDict, beforeToolCallbacks, afterToolCallbacks, filters, toolConfirmationDict, resumeInputsDict, }: {
51
57
  invocationContext: InvocationContext;
52
58
  functionCallEvent: Event;
53
59
  toolsDict: Record<string, BaseTool>;
@@ -55,13 +61,22 @@ export declare function handleFunctionCallsAsync({ invocationContext, functionCa
55
61
  afterToolCallbacks: SingleAfterToolCallback[];
56
62
  filters?: Set<string>;
57
63
  toolConfirmationDict?: Record<string, ToolConfirmation>;
64
+ resumeInputsDict?: Record<string, ResumeInputs>;
58
65
  }): Promise<Event | null>;
66
+ /**
67
+ * Whether `tool` is the placeholder handed to the on-tool-error callbacks for a
68
+ * function call naming a tool this agent cannot call.
69
+ *
70
+ * Lets a plugin tell an unresolvable name from a registered tool that threw
71
+ * without matching on the error message.
72
+ */
73
+ export declare function isToolNotFound(tool: unknown): boolean;
59
74
  /**
60
75
  * The underlying implementation of handleFunctionCalls, but takes a list of
61
76
  * function calls instead of an event.
62
77
  * This is also used by llm_agent execution flow in preprocessing.
63
78
  */
64
- export declare function handleFunctionCallList({ invocationContext, functionCalls, toolsDict, beforeToolCallbacks, afterToolCallbacks, filters, toolConfirmationDict, }: {
79
+ export declare function handleFunctionCallList({ invocationContext, functionCalls, toolsDict, beforeToolCallbacks, afterToolCallbacks, filters, toolConfirmationDict, resumeInputsDict, }: {
65
80
  invocationContext: InvocationContext;
66
81
  functionCalls: FunctionCall[];
67
82
  toolsDict: Record<string, BaseTool>;
@@ -69,18 +84,69 @@ export declare function handleFunctionCallList({ invocationContext, functionCall
69
84
  afterToolCallbacks: SingleAfterToolCallback[];
70
85
  filters?: Set<string>;
71
86
  toolConfirmationDict?: Record<string, ToolConfirmation>;
87
+ /**
88
+ * Inputs to resume a paused tool call with, keyed by function call id. Each
89
+ * value is itself keyed by interrupt id. Kept apart from
90
+ * `toolConfirmationDict` so resume inputs can never be mistaken for a human
91
+ * approval; see {@link ResumeInputs}.
92
+ */
93
+ resumeInputsDict?: Record<string, ResumeInputs>;
72
94
  }): Promise<Event | null>;
73
95
  /**
74
96
  * Merges a list of function response events into a single event.
75
97
  */
76
98
  export declare function mergeParallelFunctionResponseEvents(functionResponseEvents: Event[]): Event;
77
99
  /**
78
- * Finds the function call event that matches the function call ID.
79
- * Mirrors Python ADK's `find_event_by_function_call_id`.
100
+ * Finds the most recent event before `endIndex` that contains a function call
101
+ * with the given ID.
80
102
  */
81
103
  export declare function findEventByFunctionCallId(events: Event[], functionCallId: string, endIndex?: number): Event | undefined;
82
104
  /**
83
- * Finds the function call event that matches the function response ID of the last event.
84
- * Mirrors Python ADK's `find_matching_function_call`.
105
+ * Returns the event containing the function call that the last event's
106
+ * function response(s) answer, by matching functionCall.id to
107
+ * functionResponse.id.
108
+ *
109
+ * Every function response in the last event is checked, not just the
110
+ * first one. A single event can carry responses answering calls from
111
+ * different agents at once -- for example two long-running operations
112
+ * from sibling sub-agents completing together and being resumed in one
113
+ * message. Resolving from only `functionResponses[0]` would silently
114
+ * attribute the rest to whichever agent's call happened to come first,
115
+ * which is the wrong agent for any response that isn't the first one:
116
+ * that response would then be processed under a resumed agent's context
117
+ * it was never meant for, and the agent it actually answers would never
118
+ * be correctly resumed at all.
119
+ *
120
+ * This is a pure lookup: responses with no id, or whose id matches no
121
+ * function call, are skipped rather than treated as an error, and when
122
+ * several responses resolve to calls from more than one distinct
123
+ * author, this does not throw -- it returns the last-resolved match by
124
+ * iteration order (whichever response is checked last wins). That is a
125
+ * change from the pre-existing behavior of resolving only
126
+ * `functionResponses[0]` (which effectively made the first response
127
+ * win): an external caller of {@link findEventByLastFunctionResponseId}
128
+ * can now get a different event, and a different id, than before this
129
+ * fix, even though {@link determineAgentForResumption} itself is
130
+ * unaffected, since it only reads `.author` and every distinct-author
131
+ * case is instead surfaced there as a thrown conflict (see
132
+ * `getConflictingFunctionResponseAuthors`) after that caller's own
133
+ * resumability gate, not from this function.
85
134
  */
86
135
  export declare function findMatchingFunctionCall(events: Event[]): Event | undefined;
136
+ /**
137
+ * Returns the distinct pair of authors when the last event's function
138
+ * responses resolve to function calls from more than one agent, or
139
+ * `undefined` when they all resolve to a single agent (or there is
140
+ * nothing to resolve).
141
+ *
142
+ * This performs the same walk as {@link findMatchingFunctionCall} but
143
+ * reports a conflict instead of silently resolving to one match, so
144
+ * that a caller can decide when it is safe to raise it. {@link
145
+ * determineAgentForResumption} is the only current caller, and calls
146
+ * this only once resumability is confirmed enabled: this function
147
+ * existing separately from `findMatchingFunctionCall`, rather than
148
+ * that function throwing directly, is what keeps a session with such
149
+ * an event from aborting every run (not only resumption attempts) --
150
+ * see that caller's own comment for why the check has to live there.
151
+ */
152
+ export declare function getConflictingFunctionResponseAuthors(events: Event[]): [string, string] | undefined;
@@ -54,6 +54,10 @@ export interface InvocationContextParams {
54
54
  nodeToolDepth?: number;
55
55
  liveRequestQueue?: LiveRequestQueue;
56
56
  liveSessionResumptionHandle?: string;
57
+ /**
58
+ * Request-level metadata passed from an incoming A2A request or caller.
59
+ */
60
+ a2aMetadata?: Record<string, unknown>;
57
61
  }
58
62
  /**
59
63
  * An invocation context represents the data of a single invocation of an agent.
@@ -76,7 +80,7 @@ export interface InvocationContextParams {
76
80
  * An LLM agent runs steps in a loop until:
77
81
  * 1. A final response is generated.
78
82
  * 2. The agent transfers to another agent.
79
- * 3. The end_invocation is set to true by any callbacks or tools.
83
+ * 3. `endInvocation` is set to true by any callbacks or tools.
80
84
  *
81
85
  * A step:
82
86
  * 1. Calls the LLM only once and yields its response.
@@ -84,7 +88,7 @@ export interface InvocationContextParams {
84
88
  *
85
89
  * The summarization of the function response is considered another step, since
86
90
  * it is another llm call.
87
- * A step ends when it's done calling llm and tools, or if the end_invocation
91
+ * A step ends when it's done calling llm and tools, or if `endInvocation`
88
92
  * is set to true at any time.
89
93
  *
90
94
  * ```
@@ -137,7 +141,7 @@ export declare class InvocationContext {
137
141
  readonly session: Session;
138
142
  /**
139
143
  * Whether to end this invocation.
140
- * Set to True in callbacks or tools to terminate this invocation.
144
+ * Set to `true` in callbacks or tools to terminate this invocation.
141
145
  */
142
146
  endInvocation: boolean;
143
147
  /**
@@ -201,6 +205,10 @@ export declare class InvocationContext {
201
205
  * server-side state instead of replaying history. Mutable by design.
202
206
  */
203
207
  liveSessionResumptionHandle?: string;
208
+ /**
209
+ * Request-level metadata passed from an incoming A2A request or caller.
210
+ */
211
+ readonly a2aMetadata?: Record<string, unknown>;
204
212
  /**
205
213
  * @param params The parameters for creating an invocation context.
206
214
  */
@@ -16,6 +16,7 @@ import { Example } from '../examples/example.js';
16
16
  import { BaseLlm } from '../models/base_llm.js';
17
17
  import { LlmRequest } from '../models/llm_request.js';
18
18
  import { LlmResponse } from '../models/llm_response.js';
19
+ import type { BasePlanner } from '../planners/base_planner.js';
19
20
  import { BaseTool } from '../tools/base_tool.js';
20
21
  import { BaseToolset } from '../tools/base_toolset.js';
21
22
  import { Context } from './context.js';
@@ -47,7 +48,7 @@ export type SingleBeforeModelCallback = (params: {
47
48
  * A single callback or a list of callbacks.
48
49
  *
49
50
  * When a list of callbacks is provided, the callbacks will be called in the
50
- * order they are listed until a callback does not return None.
51
+ * order they are listed until a callback does not return `undefined`.
51
52
  */
52
53
  export type BeforeModelCallback = SingleBeforeModelCallback | SingleBeforeModelCallback[];
53
54
  /**
@@ -67,7 +68,7 @@ export type SingleAfterModelCallback = (params: {
67
68
  * A single callback or a list of callbacks.
68
69
  *
69
70
  * When a list of callbacks is provided, the callbacks will be called in the
70
- order they are listed until a callback does not return None.
71
+ * order they are listed until a callback does not return `undefined`.
71
72
  */
72
73
  export type AfterModelCallback = SingleAfterModelCallback | SingleAfterModelCallback[];
73
74
  /**
@@ -88,7 +89,7 @@ export type SingleBeforeToolCallback = (params: {
88
89
  * A single callback or a list of callbacks.
89
90
  *
90
91
  * When a list of callbacks is provided, the callbacks will be called in the
91
- * order they are listed until a callback does not return None.
92
+ * order they are listed until a callback does not return `undefined`.
92
93
  */
93
94
  export type BeforeToolCallback = SingleBeforeToolCallback | SingleBeforeToolCallback[];
94
95
  /**
@@ -110,7 +111,7 @@ export type SingleAfterToolCallback = (params: {
110
111
  * A single callback or a list of callbacks.
111
112
  *
112
113
  * When a list of callbacks is provided, the callbacks will be called in the
113
- * order they are listed until acallback does not return None.
114
+ * order they are listed until a callback does not return `undefined`.
114
115
  */
115
116
  export type AfterToolCallback = SingleAfterToolCallback | SingleAfterToolCallback[];
116
117
  /** A list of examples or an example provider. */
@@ -143,8 +144,12 @@ export interface LlmAgentConfig extends BaseAgentConfig {
143
144
  /**
144
145
  * The additional content generation configurations.
145
146
  *
146
- * NOTE: not all fields are usable, e.g. tools must be configured via
147
- * `tools`, thinking_config must be configured via `planner` in LlmAgent.
147
+ * Three fields are rejected by the constructor, because the agent owns them:
148
+ * `tools` (set them through `tools`), `systemInstruction` (through
149
+ * `instruction`) and `responseSchema` (through `outputSchema`). Every other
150
+ * field is forwarded to the model as given. That includes `thinkingConfig`,
151
+ * unless `planner` is a `BuiltInPlanner` with its own `thinkingConfig`: the
152
+ * planner's `thinkingConfig` then takes precedence.
148
153
  *
149
154
  * For example: use this config to adjust model temperature, configure safety
150
155
  * settings, etc.
@@ -153,7 +158,7 @@ export interface LlmAgentConfig extends BaseAgentConfig {
153
158
  /**
154
159
  * Disallows LLM-controlled transferring to the parent agent.
155
160
  *
156
- * NOTE: Setting this as True also prevents this agent to continue reply to
161
+ * NOTE: Setting this to `true` also prevents this agent to continue reply to
157
162
  * the end-user. This behavior prevents one-way transfer, in which end-user
158
163
  * may be stuck with one agent that cannot transfer to other agents in the
159
164
  * agent tree.
@@ -224,6 +229,13 @@ export interface LlmAgentConfig extends BaseAgentConfig {
224
229
  * Instructs the agent to make a plan and execute it step by step.
225
230
  */
226
231
  codeExecutor?: BaseCodeExecutor;
232
+ /**
233
+ * Instructs the agent to make a plan and execute it step by step.
234
+ *
235
+ * NOTE: to use the model's built-in thinking features, set `thinkingConfig`
236
+ * on a `BuiltInPlanner`.
237
+ */
238
+ planner?: BasePlanner;
227
239
  }
228
240
  /**
229
241
  * A unique symbol to identify ADK agent classes.
@@ -286,6 +298,7 @@ export declare class LlmAgent extends BaseAgent<LlmAgentConfig> {
286
298
  requestProcessors: BaseLlmRequestProcessor[];
287
299
  responseProcessors: BaseLlmResponseProcessor[];
288
300
  codeExecutor?: BaseCodeExecutor;
301
+ planner?: BasePlanner;
289
302
  constructor(config: LlmAgentConfig);
290
303
  /**
291
304
  * The resolved BaseLlm instance.
@@ -16,7 +16,22 @@ import { BaseLlmRequestProcessor } from './base_llm_processor.js';
16
16
  */
17
17
  export declare class AgentTransferLlmRequestProcessor extends BaseLlmRequestProcessor {
18
18
  private readonly toolName;
19
- private readonly tool;
19
+ /**
20
+ * Builds the `transfer_to_agent` tool for one invocation.
21
+ *
22
+ * Built per call rather than shared, because the parameter is an enum of the
23
+ * agents actually reachable from here. That mirrors adk-python's
24
+ * `TransferToAgentTool`, and it stops the model inventing a target: an
25
+ * unknown name now fails argument validation and comes back to the model as
26
+ * a tool error it can retry, instead of silently setting `transferToAgent`
27
+ * to an agent that does not exist.
28
+ *
29
+ * The parameter is `agent_name`, not `agentName`. It is wire format — it
30
+ * appears in the declaration sent to the model and in the events that get
31
+ * persisted — and adk-python spells it `agent_name`, so a transcript
32
+ * produced by one runtime has to be readable by the other.
33
+ */
34
+ private buildTool;
20
35
  /**
21
36
  * Appends transfer instructions and registers the `transfer_to_agent` tool
22
37
  * when the agent has reachable transfer targets.
@@ -0,0 +1,30 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Event } from '../../events/event.js';
7
+ import { LlmRequest } from '../../models/llm_request.js';
8
+ import { LlmResponse } from '../../models/llm_response.js';
9
+ import { InvocationContext } from '../invocation_context.js';
10
+ import { BaseLlmRequestProcessor, BaseLlmResponseProcessor } from './base_llm_processor.js';
11
+ /**
12
+ * Prepares the LLM request for the agent's planner.
13
+ *
14
+ * Applies a `BuiltInPlanner`'s thinking config, appends the planner's
15
+ * planning instruction, and clears the `thought` flag on every request part
16
+ * so that earlier planning output goes back to the model as plain text.
17
+ */
18
+ export declare class NlPlanningRequestProcessor extends BaseLlmRequestProcessor {
19
+ runAsync(invocationContext: InvocationContext, llmRequest: LlmRequest): AsyncGenerator<Event, void, void>;
20
+ }
21
+ /**
22
+ * Replaces the LLM response parts with the planner's processed parts.
23
+ *
24
+ * Partial responses are processed too.
25
+ */
26
+ export declare class NlPlanningResponseProcessor extends BaseLlmResponseProcessor {
27
+ runAsync(invocationContext: InvocationContext, llmResponse: LlmResponse): AsyncGenerator<Event, void, void>;
28
+ }
29
+ export declare const NL_PLANNING_REQUEST_PROCESSOR: NlPlanningRequestProcessor;
30
+ export declare const NL_PLANNING_RESPONSE_PROCESSOR: NlPlanningResponseProcessor;
@@ -36,4 +36,8 @@ export declare class ReadonlyContext {
36
36
  * The state of the current session.
37
37
  */
38
38
  get state(): Readonly<State>;
39
+ /**
40
+ * Request-level metadata passed from an incoming A2A request or caller.
41
+ */
42
+ get a2aMetadata(): Record<string, unknown> | undefined;
39
43
  }
@@ -8,12 +8,17 @@ import { AudioTranscriptionConfig, ContextWindowCompressionConfig, Modality, Pro
8
8
  * The streaming mode for the run config.
9
9
  */
10
10
  export declare enum StreamingMode {
11
+ /** Deliver the response as a single event once the turn completes. */
11
12
  NONE = "none",
13
+ /**
14
+ * Deliver the response incrementally, as a series of partial events
15
+ * followed by a final event carrying the complete text.
16
+ */
12
17
  SSE = "sse",
13
18
  /**
14
- * Bidirectional streaming. Not yet supported; passing this value to
15
- * `createRunConfig` throws. Use {@link StreamingMode.SSE} for token
16
- * streaming.
19
+ * Reserved. Bidirectional streaming is reached through `Runner.runLive()`,
20
+ * not through this value: `runLive` itself calls `createRunConfig`, which
21
+ * rejects `BIDI`. Use {@link StreamingMode.SSE} for incremental responses.
17
22
  */
18
23
  BIDI = "bidi"
19
24
  }
@@ -43,9 +48,11 @@ export interface RunConfig {
43
48
  */
44
49
  supportCfc?: boolean;
45
50
  /**
46
- * Streaming mode. Supported values are {@link StreamingMode.NONE} and
47
- * {@link StreamingMode.SSE}. {@link StreamingMode.BIDI} is not yet
48
- * supported and is rejected by `createRunConfig`.
51
+ * How the response is delivered. Defaults to {@link StreamingMode.NONE},
52
+ * which emits one event when the turn completes; set
53
+ * {@link StreamingMode.SSE} to receive partial events as the response is
54
+ * produced. {@link StreamingMode.BIDI} is rejected by `createRunConfig`;
55
+ * bidirectional streaming is reached through `Runner.runLive()` instead.
49
56
  */
50
57
  streamingMode?: StreamingMode;
51
58
  /**
@@ -79,8 +86,9 @@ export interface RunConfig {
79
86
  * A limit on the total number of llm calls for a given run.
80
87
  *
81
88
  * Valid Values:
82
- * - More than 0 and less than sys.maxsize: The bound on the number of llm
83
- * calls is enforced, if the value is set in this range.
89
+ * - More than 0 and at most `Number.MAX_SAFE_INTEGER`: The bound on the
90
+ * number of llm calls is enforced. `createRunConfig()` throws for
91
+ * anything larger.
84
92
  * - Less than or equal to 0: This allows for unbounded number of llm calls.
85
93
  */
86
94
  maxLlmCalls?: number;
@@ -96,6 +104,10 @@ export interface RunConfig {
96
104
  * decision; interactive front-ends (e.g. `adk run`) opt in explicitly.
97
105
  */
98
106
  plainTextToolConfirmation?: boolean;
107
+ /**
108
+ * Request-level metadata passed from an incoming A2A request or caller.
109
+ */
110
+ a2aMetadata?: Record<string, unknown>;
99
111
  /**
100
112
  * If true, a `requireConfirmation` gate may be answered by a message that
101
113
  * arrived over A2A.
@@ -159,6 +171,7 @@ export declare function createRunConfig(params?: Partial<RunConfig>): {
159
171
  contextWindowCompression?: ContextWindowCompressionConfig | undefined;
160
172
  pauseOnToolCalls: boolean;
161
173
  plainTextToolConfirmation?: boolean | undefined;
174
+ a2aMetadata?: Record<string, unknown> | undefined;
162
175
  allowRemoteToolConfirmation?: boolean | undefined;
163
176
  remoteDelivered?: boolean | undefined;
164
177
  };
@@ -6,6 +6,14 @@
6
6
  import { Part } from '@google/genai';
7
7
  import { ArtifactVersion, BaseArtifactService } from './base_artifact_service.js';
8
8
  import { SessionArtifactService, SessionLoadArtifactRequest, SessionSaveArtifactRequest } from './session_artifact_service.js';
9
+ /**
10
+ * A unique symbol to identify session-scoped artifact services.
11
+ *
12
+ * Resolves to the same symbol as the one used by `isSessionArtifactService` in
13
+ * `session_artifact_service.ts` because `Symbol.for` looks up the global
14
+ * symbol registry.
15
+ */
16
+ declare const SESSION_ARTIFACT_SERVICE_SIGNATURE_SYMBOL: unique symbol;
9
17
  /**
10
18
  * A wrapper that scopes a BaseArtifactService to a specific session.
11
19
  */
@@ -14,6 +22,10 @@ export declare class ScopedArtifactService implements SessionArtifactService {
14
22
  private readonly appName;
15
23
  private readonly userId;
16
24
  private readonly sessionId;
25
+ /**
26
+ * Brands this class as a session-scoped artifact service.
27
+ */
28
+ readonly [SESSION_ARTIFACT_SERVICE_SIGNATURE_SYMBOL] = true;
17
29
  constructor(delegate: BaseArtifactService, appName: string, userId: string, sessionId: string);
18
30
  saveArtifact(request: SessionSaveArtifactRequest): Promise<number>;
19
31
  loadArtifact(request: SessionLoadArtifactRequest): Promise<Part | undefined>;
@@ -23,3 +35,4 @@ export declare class ScopedArtifactService implements SessionArtifactService {
23
35
  listArtifactVersions(filename: string): Promise<ArtifactVersion[]>;
24
36
  getArtifactVersion(request: SessionLoadArtifactRequest): Promise<ArtifactVersion | undefined>;
25
37
  }
38
+ export {};
@@ -4,7 +4,7 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { Part } from '@google/genai';
7
- import { ArtifactVersion } from './base_artifact_service.js';
7
+ import { ArtifactVersion, BaseArtifactService } from './base_artifact_service.js';
8
8
  export interface SessionSaveArtifactRequest {
9
9
  filename: string;
10
10
  artifact: Part;
@@ -23,3 +23,10 @@ export interface SessionArtifactService {
23
23
  listArtifactVersions(filename: string): Promise<ArtifactVersion[]>;
24
24
  getArtifactVersion(request: SessionLoadArtifactRequest): Promise<ArtifactVersion | undefined>;
25
25
  }
26
+ /**
27
+ * Type guard to check if an object implements SessionArtifactService.
28
+ *
29
+ * @param service The artifact service to check.
30
+ * @returns True if the service is a session-scoped artifact service.
31
+ */
32
+ export declare function isSessionArtifactService(service: BaseArtifactService | SessionArtifactService): service is SessionArtifactService;