@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
@@ -0,0 +1,97 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { Content, FunctionDeclaration } from '@google/genai';
7
+ import type { ChromeMessage } from './chrome_prompt_llm.js';
8
+ import type { LlmRequest } from './llm_request.js';
9
+ import type { LlmResponse } from './llm_response.js';
10
+ export declare function isRecord(value: unknown): value is Record<string, unknown>;
11
+ /** Pulls function declarations out of a request's tool config. */
12
+ export declare function collectFunctionDeclarations(llmRequest: LlmRequest): FunctionDeclaration[];
13
+ /**
14
+ * Builds the constrained-decoding schema: a union of "final answer" and one
15
+ * branch per available tool, each carrying that tool's exact argument schema.
16
+ *
17
+ * A single-value `enum` is used rather than `const`, because it is semantically
18
+ * identical and more widely supported across constraint engines.
19
+ *
20
+ * Every branch sets `additionalProperties: false`, and that is load-bearing
21
+ * rather than tidy. Omitted, JSON Schema permits extra keys, so a decoder may
22
+ * emit `,"` after the last required key instead of `}`. The object then never
23
+ * has to close: the model keeps writing until the output runs out, and the
24
+ * reply arrives as truncated JSON. Whether it closes in time is left to
25
+ * sampling, which is why one session can answer a question cleanly and mangle
26
+ * the next. Closing the branch makes `}` the only legal token once `text` is
27
+ * written.
28
+ *
29
+ * It is set on the envelope only, never pushed into a tool's own argument
30
+ * schema. Those belong to the caller; some describe objects that legitimately
31
+ * accept keys they do not list, and forbidding those here would make a valid
32
+ * call impossible to express.
33
+ */
34
+ export declare function buildToolChoiceSchema(declarations: FunctionDeclaration[]): Record<string, unknown>;
35
+ /** Renders tool declarations into instructions the model can act on. */
36
+ export declare function renderToolInstructions(declarations: FunctionDeclaration[]): string;
37
+ /**
38
+ * Renders a tool result as text the model can actually read.
39
+ *
40
+ * ADK wraps a tool's string return value as `{result: "<the string>"}`. Naively
41
+ * JSON-stringifying that produces double-encoded output, in which every quote
42
+ * is escaped twice:
43
+ *
44
+ * [tool_result] search -> {"result":"{\"matches\":[{\"id\":8, ...
45
+ *
46
+ * A large model shrugs at this. A small one has to spend attention unpicking
47
+ * the encoding before it can read the payload, and often just fails. Unwrapping
48
+ * the single `result` key and re-emitting plain JSON costs nothing and gives
49
+ * the model something legible:
50
+ *
51
+ * [tool_result] search -> {"matches":[{"id":8, ...
52
+ */
53
+ export declare function renderToolResult(response: unknown): string;
54
+ /**
55
+ * Maps genai `Content[]` onto Prompt API messages.
56
+ *
57
+ * Function calls and responses have no native representation in a Prompt API
58
+ * message, so they are serialised to text. Without this the model loses the
59
+ * thread of a multi-step tool interaction.
60
+ */
61
+ export declare function contentsToMessages(contents: Content[]): ChromeMessage[];
62
+ /** Extracts the system instruction from a request as plain text. */
63
+ export declare function extractSystemInstruction(llmRequest: LlmRequest): string;
64
+ /**
65
+ * Removes ADK's per-agent identity preamble from a system prompt.
66
+ *
67
+ * Turns:
68
+ *
69
+ * You are an agent. Your internal name is "rerank_11".
70
+ * The description about you is "..."
71
+ *
72
+ * <the actual instruction>
73
+ *
74
+ * into just the instruction, so that sibling agents sharing one instruction
75
+ * also share one cached session. See
76
+ * {@link ChromeBuiltInLlmParams.normalizeSystemPrompt}.
77
+ */
78
+ export declare function stripAdkIdentityPreamble(systemPrompt: string): string;
79
+ /** Whether an error is an aborted-operation error from a cancelled signal. */
80
+ export declare function isAbortError(error: unknown): boolean;
81
+ export declare function finalText(text: string): LlmResponse;
82
+ export declare function errorResponse(error: unknown): LlmResponse;
83
+ /** Shown when a reply is JSON, is broken, and holds no readable answer. */
84
+ export declare const TRUNCATED_REPLY = "The model started an answer and did not finish it. Ask again.";
85
+ /** True when a reply is the JSON envelope rather than plain prose. */
86
+ export declare function looksLikeEnvelope(raw: string): boolean;
87
+ /**
88
+ * Reads the answer out of a truncated `{"kind":"final","text":"…` envelope.
89
+ *
90
+ * A constrained reply that stops early is usually still readable: the answer
91
+ * sits in `text` and only the closing quote and brace are missing. Scanning it
92
+ * out by hand beats `JSON.parse`, which needs the whole document, and beats
93
+ * showing the envelope to the caller.
94
+ *
95
+ * Returns undefined when there is no `text` key to read.
96
+ */
97
+ export declare function salvageFinalText(raw: string): string | undefined;
@@ -81,9 +81,14 @@ export declare class Gemini extends BaseLlm {
81
81
  /**
82
82
  * Sends a request to the Gemini model.
83
83
  *
84
- * @param llmRequest LlmRequest, the request to send to the Gemini model.
85
- * @param stream bool = false, whether to do streaming call.
86
- * @yields LlmResponse: The model response.
84
+ * @param llmRequest The request to send to the Gemini model.
85
+ * @param stream Whether to make a streaming call. Defaults to `false`.
86
+ * @yields Each {@link LlmResponse} produced by the model. A non-streaming
87
+ * call yields exactly one; a streaming call yields the partial responses
88
+ * as they arrive, then a final aggregated response whenever the stream
89
+ * carried either content or usage/grounding/citation metadata. A
90
+ * metadata-only stream therefore still ends with one, holding the
91
+ * metadata and no `content`; only a stream with neither ends silently.
87
92
  */
88
93
  generateContentAsync(llmRequest: LlmRequest, stream?: boolean, abortSignal?: AbortSignal): AsyncGenerator<LlmResponse, void>;
89
94
  protected getHttpOptions(): HttpOptions;
@@ -5,8 +5,9 @@
5
5
  */
6
6
  import { BaseLlm } from './base_llm.js';
7
7
  /**
8
- * type[BaseLlm] equivalent in TypeScript, represents a class that can be new-ed
9
- * to create a BaseLlm instance.
8
+ * The constructor of a {@link BaseLlm} subclass, rather than an instance of
9
+ * one: a class that can be `new`-ed with a model name, and that also exposes
10
+ * the static `supportedModels` patterns the registry matches against.
10
11
  */
11
12
  export type BaseLlmType = (new (params: {
12
13
  model: string;
@@ -0,0 +1,50 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Part } from '@google/genai';
7
+ import { Context } from '../agents/context.js';
8
+ import { ReadonlyContext } from '../agents/readonly_context.js';
9
+ import { LlmRequest } from '../models/llm_request.js';
10
+ /**
11
+ * A unique symbol to identify ADK planner classes.
12
+ * Defined once and shared by all BasePlanner instances.
13
+ */
14
+ declare const BASE_PLANNER_SIGNATURE_SYMBOL: unique symbol;
15
+ /**
16
+ * Type guard to check if an object is an instance of BasePlanner.
17
+ * @param obj The object to check.
18
+ * @returns True if the object is an instance of BasePlanner, false otherwise.
19
+ */
20
+ export declare function isBasePlanner(obj: unknown): obj is BasePlanner;
21
+ /**
22
+ * Abstract base class for all planners.
23
+ *
24
+ * The planner allows the agent to generate plans for the queries to guide its
25
+ * action.
26
+ */
27
+ export declare abstract class BasePlanner {
28
+ /** A unique symbol to identify ADK base planner class. */
29
+ readonly [BASE_PLANNER_SIGNATURE_SYMBOL] = true;
30
+ /**
31
+ * Builds the system instruction to be appended to the LLM request for
32
+ * planning.
33
+ *
34
+ * @param readonlyContext The readonly context of the invocation.
35
+ * @param llmRequest The LLM request. Readonly.
36
+ * @returns The planning system instruction, or undefined if no instruction is
37
+ * needed.
38
+ */
39
+ abstract buildPlanningInstruction(readonlyContext: ReadonlyContext, llmRequest: LlmRequest): string | undefined;
40
+ /**
41
+ * Processes the LLM response for planning.
42
+ *
43
+ * @param callbackContext The callback context of the invocation.
44
+ * @param responseParts The LLM response parts. Readonly.
45
+ * @returns The processed response parts, or undefined if no processing is
46
+ * needed.
47
+ */
48
+ abstract processPlanningResponse(callbackContext: Context, responseParts: Part[]): Part[] | undefined;
49
+ }
50
+ export {};
@@ -0,0 +1,53 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Part, ThinkingConfig } from '@google/genai';
7
+ import { Context } from '../agents/context.js';
8
+ import { ReadonlyContext } from '../agents/readonly_context.js';
9
+ import { LlmRequest } from '../models/llm_request.js';
10
+ import { BasePlanner } from './base_planner.js';
11
+ /**
12
+ * A unique symbol to identify ADK built-in planner classes.
13
+ * Defined once and shared by all BuiltInPlanner instances.
14
+ */
15
+ declare const BUILT_IN_PLANNER_SIGNATURE_SYMBOL: unique symbol;
16
+ /**
17
+ * Type guard to check if an object is an instance of BuiltInPlanner.
18
+ * @param obj The object to check.
19
+ * @returns True if the object is an instance of BuiltInPlanner, false
20
+ * otherwise.
21
+ */
22
+ export declare function isBuiltInPlanner(obj: unknown): obj is BuiltInPlanner;
23
+ /**
24
+ * The built-in planner that uses model's built-in thinking features.
25
+ */
26
+ export declare class BuiltInPlanner extends BasePlanner {
27
+ /** A unique symbol to identify ADK built-in planner class. */
28
+ readonly [BUILT_IN_PLANNER_SIGNATURE_SYMBOL] = true;
29
+ /**
30
+ * Config for model built-in thinking features. An error will be returned if
31
+ * this field is set for models that don't support thinking.
32
+ */
33
+ thinkingConfig: ThinkingConfig;
34
+ /**
35
+ * Initializes the built-in planner.
36
+ *
37
+ * @param options.thinkingConfig Config for model built-in thinking features.
38
+ * An error will be returned if this field is set for models that don't
39
+ * support thinking.
40
+ */
41
+ constructor(options: {
42
+ thinkingConfig: ThinkingConfig;
43
+ });
44
+ /**
45
+ * Applies the thinking config to the LLM request.
46
+ *
47
+ * @param llmRequest The LLM request to apply the thinking config to.
48
+ */
49
+ applyThinkingConfig(llmRequest: LlmRequest): void;
50
+ buildPlanningInstruction(_readonlyContext: ReadonlyContext, _llmRequest: LlmRequest): string | undefined;
51
+ processPlanningResponse(_callbackContext: Context, _responseParts: Part[]): Part[] | undefined;
52
+ }
53
+ export {};
@@ -0,0 +1,21 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Part } from '@google/genai';
7
+ import { Context } from '../agents/context.js';
8
+ import { ReadonlyContext } from '../agents/readonly_context.js';
9
+ import { LlmRequest } from '../models/llm_request.js';
10
+ import { BasePlanner } from './base_planner.js';
11
+ /**
12
+ * Plan-Re-Act planner that constrains the LLM response to generate a plan
13
+ * before any action/observation.
14
+ *
15
+ * Note: this planner does not require the model to support built-in thinking
16
+ * features or setting the thinking config.
17
+ */
18
+ export declare class PlanReActPlanner extends BasePlanner {
19
+ buildPlanningInstruction(_readonlyContext: ReadonlyContext, _llmRequest: LlmRequest): string;
20
+ processPlanningResponse(_callbackContext: Context, responseParts: Part[]): Part[] | undefined;
21
+ }
@@ -0,0 +1,72 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export declare const REFLECT_AND_RETRY_RESPONSE_TYPE = "ERROR_HANDLED_BY_REFLECT_AND_RETRY_PLUGIN";
7
+ export declare const GLOBAL_SCOPE_KEY = "__global_reflect_and_retry_scope__";
8
+ /**
9
+ * Defines the lifecycle scope for tracking failure counts.
10
+ */
11
+ export declare enum TrackingScope {
12
+ /** Track failures within the current agent invocation. */
13
+ INVOCATION = "invocation",
14
+ /** Track failures globally across all invocations. */
15
+ GLOBAL = "global"
16
+ }
17
+ /**
18
+ * A mapping from an item's (tool or model) name to its consecutive failure count.
19
+ */
20
+ export type PerItemFailuresCounter = Map<string, number>;
21
+ /**
22
+ * Response containing tool failure details and retry guidance.
23
+ *
24
+ * Field names use snake_case to match the model-facing reflection payload schema
25
+ * and maintain parity with ADK Python.
26
+ */
27
+ export interface ToolFailureResponse {
28
+ response_type: string;
29
+ error_type: string;
30
+ error_details: string;
31
+ retry_count: number;
32
+ reflection_guidance: string;
33
+ [key: string]: unknown;
34
+ }
35
+ /**
36
+ * Resolves the scope key based on tracking scope and invocation ID.
37
+ *
38
+ * @param scope - The tracking scope (INVOCATION or GLOBAL).
39
+ * @param invocationId - The invocation ID (required for INVOCATION scope).
40
+ * @returns The resolved scope key string.
41
+ */
42
+ export declare function resolveScopeKey(scope: TrackingScope, invocationId?: string): string;
43
+ /**
44
+ * Thread-safe failure counter scoped by invocation or global key.
45
+ */
46
+ export declare class ScopedFailureTracker {
47
+ private readonly scopedFailureCounters;
48
+ private lockPromise;
49
+ private acquireLock;
50
+ /**
51
+ * Atomically increments and returns the failure count for an item.
52
+ *
53
+ * @param scopeKey - The scope identifier (e.g. invocation ID or global key).
54
+ * @param itemName - The name of the tool or model.
55
+ * @returns The updated failure count.
56
+ */
57
+ increment(scopeKey: string, itemName: string): Promise<number>;
58
+ /**
59
+ * Atomically resets the failure count for an item and cleans up state.
60
+ *
61
+ * @param scopeKey - The scope identifier.
62
+ * @param itemName - The name of the tool or model.
63
+ */
64
+ reset(scopeKey: string, itemName: string): Promise<void>;
65
+ /**
66
+ * Gets the current failure count for an item.
67
+ *
68
+ * @param scopeKey - The scope identifier.
69
+ * @param itemName - The name of the tool or model.
70
+ */
71
+ getCount(scopeKey: string, itemName: string): Promise<number>;
72
+ }
@@ -60,38 +60,40 @@ export declare enum ContextCompactionTrigger {
60
60
  * Example:
61
61
  * A simple plugin that logs every tool call.
62
62
  * ```typescript
63
+ * import {BasePlugin, BaseTool, Context, getLogger} from '@google/adk';
64
+ *
65
+ * const logger = getLogger();
66
+ *
63
67
  * class ToolLoggerPlugin extends BasePlugin {
64
68
  * constructor() {
65
69
  * super('tool_logger');
66
70
  * }
67
71
  *
68
72
  * override async beforeToolCallback(
69
- * {tool, toolArgs, toolContext}: {
73
+ * {tool, toolArgs}: {
70
74
  * tool: BaseTool,
71
75
  * toolArgs: Record<string, unknown>,
72
76
  * toolContext: Context,
73
77
  * },
74
78
  * ): Promise<Record<string, unknown> | undefined> {
75
- * this.logger.info(
76
- * `[${this.name}] Calling tool '${tool.name}' with args:
77
- * ${JSON.stringify( toolArgs,
78
- * )}`,
79
+ * logger.info(
80
+ * `[${this.name}] calling tool '${tool.name}' with args: ` +
81
+ * JSON.stringify(toolArgs),
79
82
  * );
80
83
  * return;
81
84
  * }
82
85
  *
83
86
  * override async afterToolCallback(
84
- * {tool, toolArgs, toolContext, result}: {
87
+ * {tool, result}: {
85
88
  * tool: BaseTool,
86
89
  * toolArgs: Record<string, unknown>,
87
90
  * toolContext: Context,
88
91
  * result: Record<string, unknown>,
89
92
  * },
90
93
  * ): Promise<Record<string, unknown> | undefined> {
91
- * this.logger.info(
92
- * `[${this.name}] Tool '${tool.name}' finished with result:
93
- * ${JSON.stringify( result,
94
- * )}`,
94
+ * logger.info(
95
+ * `[${this.name}] tool '${tool.name}' finished with result: ` +
96
+ * JSON.stringify(result),
95
97
  * );
96
98
  * return;
97
99
  * }
@@ -119,13 +121,13 @@ export declare abstract class BasePlugin {
119
121
  * This callback helps logging and modifying the user message before the
120
122
  * runner starts the invocation.
121
123
  *
122
- * @param params.invocationContext The context for the entire invocation.
123
- * @param params.userMessage The message content input by user.
124
+ * @param _params.invocationContext The context for the entire invocation.
125
+ * @param _params.userMessage The message content input by user.
124
126
  * @returns An optional `Content` to be returned to the ADK. Returning a
125
127
  * value to replace the user message. Returning `undefined` to proceed
126
128
  * normally.
127
129
  */
128
- onUserMessageCallback(params: {
130
+ onUserMessageCallback(_params: {
129
131
  invocationContext: InvocationContext;
130
132
  userMessage: Content;
131
133
  }): Promise<Content | undefined>;
@@ -135,13 +137,13 @@ export declare abstract class BasePlugin {
135
137
  * This is the first callback to be called in the lifecycle, ideal for global
136
138
  * setup or initialization tasks.
137
139
  *
138
- * @param params.invocationContext The context for the entire invocation, containing
140
+ * @param _params.invocationContext The context for the entire invocation, containing
139
141
  * session information, the root agent, etc.
140
142
  * @returns An optional `Event` to be returned to the ADK. Returning a value
141
143
  * to halt execution of the runner and ends the runner with that event.
142
144
  * Return `undefined` to proceed normally.
143
145
  */
144
- beforeRunCallback(params: {
146
+ beforeRunCallback(_params: {
145
147
  invocationContext: InvocationContext;
146
148
  }): Promise<Content | undefined>;
147
149
  /**
@@ -150,15 +152,15 @@ export declare abstract class BasePlugin {
150
152
  * This is the ideal place to make modification to the event before the event
151
153
  * is handled by the underlying agent app.
152
154
  *
153
- * @param params.invocationContext The context for the entire invocation.
154
- * @param params.event The event raised by the runner.
155
+ * @param _params.invocationContext The context for the entire invocation.
156
+ * @param _params.event The event raised by the runner.
155
157
  * @returns An optional value. A non-`undefined` return may be used by the
156
- * framework to modify or replace the response. Copy `params.event` when
157
- * constructing a replacement to preserve fields that are not being
158
- * modified, such as event actions. Returning `undefined` allows the
158
+ * framework to modify or replace the response. Copy the incoming
159
+ * `event` when constructing a replacement to preserve fields that are not
160
+ * being modified, such as event actions. Returning `undefined` allows the
159
161
  * original response to be used.
160
162
  */
161
- onEventCallback(params: {
163
+ onEventCallback(_params: {
162
164
  invocationContext: InvocationContext;
163
165
  event: Event;
164
166
  }): Promise<Event | undefined>;
@@ -168,10 +170,10 @@ export declare abstract class BasePlugin {
168
170
  * This is the final callback in the ADK lifecycle, suitable for cleanup,
169
171
  * final logging, or reporting tasks.
170
172
  *
171
- * @param params.invocationContext The context for the entire invocation.
173
+ * @param _params.invocationContext The context for the entire invocation.
172
174
  * @returns undefined
173
175
  */
174
- afterRunCallback(params: {
176
+ afterRunCallback(_params: {
175
177
  invocationContext: InvocationContext;
176
178
  }): Promise<void>;
177
179
  /**
@@ -180,13 +182,13 @@ export declare abstract class BasePlugin {
180
182
  * This callback can be used for logging, setup, or to short-circuit the
181
183
  * agent's execution by returning a value.
182
184
  *
183
- * @param params.agent The agent that is about to run.
184
- * @param params.callbackContext The context for the agent invocation.
185
+ * @param _params.agent The agent that is about to run.
186
+ * @param _params.callbackContext The context for the agent invocation.
185
187
  * @returns An optional `Content` object. If a value is returned, it will
186
188
  * bypass the agent's callbacks and its execution, and return this value
187
189
  * directly. Returning `undefined` allows the agent to proceed normally.
188
190
  */
189
- beforeAgentCallback(params: {
191
+ beforeAgentCallback(_params: {
190
192
  agent: BaseAgent;
191
193
  callbackContext: Context;
192
194
  }): Promise<Content | undefined>;
@@ -196,13 +198,13 @@ export declare abstract class BasePlugin {
196
198
  * This callback can be used to inspect, log, or modify the agent's final
197
199
  * result before it is returned.
198
200
  *
199
- * @param params.agent The agent that has just run.
200
- * @param params.callbackContext The context for the agent invocation.
201
+ * @param _params.agent The agent that has just run.
202
+ * @param _params.callbackContext The context for the agent invocation.
201
203
  * @returns An optional `Content` object. If a value is returned, it will
202
204
  * replace the agent's original result. Returning `undefined` uses the
203
205
  * original, unmodified result.
204
206
  */
205
- afterAgentCallback(params: {
207
+ afterAgentCallback(_params: {
206
208
  agent: BaseAgent;
207
209
  callbackContext: Context;
208
210
  }): Promise<Content | undefined>;
@@ -246,13 +248,13 @@ export declare abstract class BasePlugin {
246
248
  * object. It can also be used to implement caching by returning a cached
247
249
  * `LlmResponse`, which would skip the actual model call.
248
250
  *
249
- * @param params.callbackContext The context for the current agent call.
250
- * @param params.llmRequest The prepared request object to be sent to the model.
251
+ * @param _params.callbackContext The context for the current agent call.
252
+ * @param _params.llmRequest The prepared request object to be sent to the model.
251
253
  * @returns An optional value. The interpretation of a non-`undefined`
252
254
  * trigger an early exit and returns the response immediately. Returning
253
255
  * `undefined` allows the LLM request to proceed normally.
254
256
  */
255
- beforeModelCallback(params: {
257
+ beforeModelCallback(_params: {
256
258
  callbackContext: Context;
257
259
  llmRequest: LlmRequest;
258
260
  }): Promise<LlmResponse | undefined>;
@@ -262,13 +264,13 @@ export declare abstract class BasePlugin {
262
264
  * This is the ideal place to log model responses, collect metrics on token
263
265
  * usage, or perform post-processing on the raw `LlmResponse`.
264
266
  *
265
- * @param params.callbackContext The context for the current agent call.
266
- * @param params.llmResponse The response object received from the model.
267
+ * @param _params.callbackContext The context for the current agent call.
268
+ * @param _params.llmResponse The response object received from the model.
267
269
  * @returns An optional value. A non-`undefined` return may be used by the
268
270
  * framework to modify or replace the response. Returning `undefined`
269
271
  * allows the original response to be used.
270
272
  */
271
- afterModelCallback(params: {
273
+ afterModelCallback(_params: {
272
274
  callbackContext: Context;
273
275
  llmResponse: LlmResponse;
274
276
  }): Promise<LlmResponse | undefined>;
@@ -278,15 +280,15 @@ export declare abstract class BasePlugin {
278
280
  * This callback provides an opportunity to handle model errors gracefully,
279
281
  * potentially providing alternative responses or recovery mechanisms.
280
282
  *
281
- * @param params.callbackContext The context for the current agent call.
282
- * @param params.llmRequest The request that was sent to the model when the error
283
+ * @param _params.callbackContext The context for the current agent call.
284
+ * @param _params.llmRequest The request that was sent to the model when the error
283
285
  * occurred.
284
- * @param params.error The exception that was raised during model execution.
286
+ * @param _params.error The exception that was raised during model execution.
285
287
  * @returns An optional LlmResponse. If an LlmResponse is returned, it will be
286
288
  * used instead of propagating the error. Returning `undefined` allows
287
289
  * the original error to be raised.
288
290
  */
289
- onModelErrorCallback(params: {
291
+ onModelErrorCallback(_params: {
290
292
  callbackContext: Context;
291
293
  llmRequest: LlmRequest;
292
294
  error: Error;
@@ -297,13 +299,13 @@ export declare abstract class BasePlugin {
297
299
  * This callback provides an opportunity to inspect, log, or modify the
298
300
  * available tools before they are selected.
299
301
  *
300
- * @param params.callbackContext The context for the current agent call.
301
- * @param params.tools The available tools.
302
+ * @param _params.callbackContext The context for the current agent call.
303
+ * @param _params.tools The available tools.
302
304
  * @returns An optional value. A non-`undefined` return may be used by the
303
305
  * framework to modify or replace the available tools. Returning
304
306
  * `undefined` allows the original tools to be used.
305
307
  */
306
- beforeToolSelection(params: {
308
+ beforeToolSelection(_params: {
307
309
  callbackContext: Context;
308
310
  tools: Readonly<Record<string, BaseTool>>;
309
311
  }): Promise<Readonly<Record<string, BaseTool>> | undefined>;
@@ -313,10 +315,10 @@ export declare abstract class BasePlugin {
313
315
  * This callback provides an opportunity to inspect or modify the context
314
316
  * before it is compacted.
315
317
  *
316
- * @param params.invocationContext The context for the entire invocation.
317
- * @param params.trigger The trigger for the context compaction.
318
+ * @param _params.invocationContext The context for the entire invocation.
319
+ * @param _params.trigger The trigger for the context compaction.
318
320
  */
319
- beforeContextCompaction(params: {
321
+ beforeContextCompaction(_params: {
320
322
  invocationContext: InvocationContext;
321
323
  trigger: ContextCompactionTrigger;
322
324
  }): Promise<void>;
@@ -326,10 +328,10 @@ export declare abstract class BasePlugin {
326
328
  * This callback provides an opportunity to inspect the context
327
329
  * after it has been compacted.
328
330
  *
329
- * @param params.invocationContext The context for the entire invocation.
330
- * @param params.trigger The trigger for the context compaction.
331
+ * @param _params.invocationContext The context for the entire invocation.
332
+ * @param _params.trigger The trigger for the context compaction.
331
333
  */
332
- afterContextCompaction(params: {
334
+ afterContextCompaction(_params: {
333
335
  invocationContext: InvocationContext;
334
336
  trigger: ContextCompactionTrigger;
335
337
  }): Promise<void>;
@@ -339,15 +341,15 @@ export declare abstract class BasePlugin {
339
341
  * This callback is useful for logging tool usage, input validation, or
340
342
  * modifying the arguments before they are passed to the tool.
341
343
  *
342
- * @param params.tool The tool instance that is about to be executed.
343
- * @param params.toolArgs The dictionary of arguments to be used for invoking the
344
+ * @param _params.tool The tool instance that is about to be executed.
345
+ * @param _params.toolArgs The dictionary of arguments to be used for invoking the
344
346
  * tool.
345
- * @param params.toolContext The context specific to the tool execution.
347
+ * @param _params.toolContext The context specific to the tool execution.
346
348
  * @returns An optional dictionary. If a dictionary is returned, it will stop
347
349
  * the tool execution and return this response immediately. Returning
348
350
  * `undefined` uses the original, unmodified arguments.
349
351
  */
350
- beforeToolCallback(params: {
352
+ beforeToolCallback(_params: {
351
353
  tool: BaseTool;
352
354
  toolArgs: Record<string, unknown>;
353
355
  toolContext: Context;
@@ -358,16 +360,16 @@ export declare abstract class BasePlugin {
358
360
  * This callback allows for inspecting, logging, or modifying the result
359
361
  * returned by a tool.
360
362
  *
361
- * @param params.tool The tool instance that has just been executed.
362
- * @param params.toolArgs The original arguments that were passed to the tool.
363
- * @param params.toolContext The context specific to the tool execution.
364
- * @param params.result The dictionary returned by the tool invocation.
363
+ * @param _params.tool The tool instance that has just been executed.
364
+ * @param _params.toolArgs The original arguments that were passed to the tool.
365
+ * @param _params.toolContext The context specific to the tool execution.
366
+ * @param _params.result The dictionary returned by the tool invocation.
365
367
  * @returns An optional dictionary. If a dictionary is returned, it will
366
368
  * **replace** the original result from the tool. This allows for
367
369
  * post-processing or altering tool outputs. Returning `undefined` uses
368
370
  * the original, unmodified result.
369
371
  */
370
- afterToolCallback(params: {
372
+ afterToolCallback(_params: {
371
373
  tool: BaseTool;
372
374
  toolArgs: Record<string, unknown>;
373
375
  toolContext: Context;
@@ -389,15 +391,15 @@ export declare abstract class BasePlugin {
389
391
  * This callback provides an opportunity to handle tool errors gracefully,
390
392
  * potentially providing alternative responses or recovery mechanisms.
391
393
  *
392
- * @param params.tool The tool instance that encountered an error.
393
- * @param params.toolArgs The arguments that were passed to the tool.
394
- * @param params.toolContext The context specific to the tool execution.
395
- * @param params.error The exception that was raised during tool execution.
394
+ * @param _params.tool The tool instance that encountered an error.
395
+ * @param _params.toolArgs The arguments that were passed to the tool.
396
+ * @param _params.toolContext The context specific to the tool execution.
397
+ * @param _params.error The exception that was raised during tool execution.
396
398
  * @returns An optional dictionary. If a dictionary is returned, it will be
397
399
  * used as the tool response instead of propagating the error. Returning
398
400
  * `undefined` allows the original error to be raised.
399
401
  */
400
- onToolErrorCallback(params: {
402
+ onToolErrorCallback(_params: {
401
403
  tool: BaseTool;
402
404
  toolArgs: Record<string, unknown>;
403
405
  toolContext: Context;
@@ -32,8 +32,9 @@ import { BasePlugin } from './base_plugin.js';
32
32
  * ```typescript
33
33
  * const loggingPlugin = new LoggingPlugin();
34
34
  * const runner = new Runner({
35
- * agents: [myAgent],
36
- * // ...
35
+ * appName: 'my_app',
36
+ * agent: myAgent,
37
+ * sessionService: new InMemorySessionService(),
37
38
  * plugins: [loggingPlugin],
38
39
  * });
39
40
  * ```