@google/adk 2.0.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (566) 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 +58 -6
  5. package/dist/cjs/a2a/agent_executor.js +10 -3
  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 +6 -5
  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 +5 -5
  21. package/dist/cjs/agents/processors/content_request_processor.js +4 -1
  22. package/dist/cjs/agents/processors/request_confirmation_llm_request_processor.js +19 -12
  23. package/dist/cjs/agents/processors/request_input_llm_request_processor.js +3 -7
  24. package/dist/cjs/agents/readonly_context.js +6 -0
  25. package/dist/cjs/agents/routed_agent.js +1 -1
  26. package/dist/cjs/agents/sequential_agent.js +1 -1
  27. package/dist/cjs/apps/app.js +1 -1
  28. package/dist/cjs/artifacts/file_artifact_service.js +1 -2
  29. package/dist/cjs/artifacts/scoped_artifact_service.js +9 -0
  30. package/dist/cjs/artifacts/session_artifact_service.js +19 -0
  31. package/dist/cjs/auth/auth_handler.js +44 -8
  32. package/dist/cjs/auth/oauth2/oauth2_credential_refresher.js +1 -1
  33. package/dist/cjs/auth/oauth2/oauth2_utils.js +17 -2
  34. package/dist/cjs/code_executors/base_code_executor.js +1 -1
  35. package/dist/cjs/code_executors/built_in_code_executor.js +1 -1
  36. package/dist/cjs/code_executors/code_execution_utils.js +2 -2
  37. package/dist/cjs/code_executors/container_code_executor.js +186 -0
  38. package/dist/cjs/code_executors/docker_container.js +282 -0
  39. package/dist/cjs/code_executors/unsafe_local_code_executor.js +11 -6
  40. package/dist/cjs/common.js +74 -45
  41. package/dist/cjs/context/agent_controlled_context_compactor.js +10 -5
  42. package/dist/cjs/context/anchored_context_compactor.js +41 -18
  43. package/dist/cjs/context/compaction_utils.js +15 -6
  44. package/dist/cjs/context/token_based_context_compactor.js +10 -2
  45. package/dist/cjs/context/trajectory_thought_pruning_compactor.js +17 -10
  46. package/dist/cjs/context/truncating_context_compactor.js +17 -5
  47. package/dist/cjs/errors/already_exists_error.js +50 -0
  48. package/dist/cjs/errors/input_validation_error.js +50 -0
  49. package/dist/cjs/errors/not_found_error.js +50 -0
  50. package/dist/cjs/errors/session_not_found_error.js +50 -0
  51. package/dist/cjs/errors/tool_execution_error.js +68 -0
  52. package/dist/cjs/events/event.js +1 -1
  53. package/dist/cjs/events/event_actions.js +7 -0
  54. package/dist/cjs/examples/base_example_provider.js +1 -1
  55. package/dist/cjs/index.js +47 -0
  56. package/dist/cjs/index_web.js +2 -0
  57. package/dist/cjs/integrations/agent_registry/agent_registry.js +3 -2
  58. package/dist/cjs/memory/rag_memory_transcript.js +136 -0
  59. package/dist/cjs/memory/vertex_ai_memory_bank_service.js +2 -2
  60. package/dist/cjs/memory/vertex_ai_rag_api.js +120 -0
  61. package/dist/cjs/memory/vertex_ai_rag_memory_service.js +228 -0
  62. package/dist/cjs/models/apigee_llm.js +1 -1
  63. package/dist/cjs/models/base_llm.js +1 -1
  64. package/dist/cjs/models/chrome_prompt_llm.js +304 -0
  65. package/dist/cjs/models/chrome_prompt_utils.js +229 -0
  66. package/dist/cjs/models/google_llm.js +9 -4
  67. package/dist/cjs/models/interactions_utils.js +2 -3
  68. package/dist/cjs/models/registry.js +2 -0
  69. package/dist/cjs/plugins/_reflect_retry_utils.js +142 -0
  70. package/dist/cjs/plugins/reflect_retry_model_plugin.js +274 -0
  71. package/dist/cjs/plugins/reflect_retry_tool_plugin.js +276 -0
  72. package/dist/cjs/runner/runner.js +29 -26
  73. package/dist/cjs/sessions/database_session_service.js +78 -43
  74. package/dist/cjs/sessions/db/operations.js +229 -22
  75. package/dist/cjs/sessions/db/schema.js +113 -159
  76. package/dist/cjs/sessions/registry.js +5 -1
  77. package/dist/cjs/sessions/vertex_ai_session_service.js +2 -2
  78. package/dist/cjs/telemetry/setup.js +1 -1
  79. package/dist/cjs/telemetry/tracing.js +11 -1
  80. package/dist/cjs/tools/agent_tool.js +4 -5
  81. package/dist/cjs/tools/base_tool.js +14 -4
  82. package/dist/cjs/tools/base_toolset.js +4 -4
  83. package/dist/cjs/tools/built_in_tool.js +75 -0
  84. package/dist/cjs/tools/enterprise_web_search_tool.js +3 -6
  85. package/dist/cjs/tools/forwarding_artifact_service.js +18 -13
  86. package/dist/cjs/tools/function_tool.js +6 -3
  87. package/dist/cjs/tools/google_maps_grounding_tool.js +3 -6
  88. package/dist/cjs/tools/google_search_tool.js +3 -6
  89. package/dist/cjs/tools/load_artifacts_tool.js +47 -23
  90. package/dist/cjs/tools/load_web_page.js +6 -172
  91. package/dist/cjs/tools/mcp/load_mcp_resource_tool.js +34 -5
  92. package/dist/cjs/tools/openapi_tool/auth/auth_helpers.js +11 -2
  93. package/dist/cjs/tools/openapi_tool/openapi_spec_parser/operation_parser.js +1 -1
  94. package/dist/cjs/tools/openapi_tool/rest_api_tool.js +16 -18
  95. package/dist/cjs/tools/preload_memory_tool.js +1 -1
  96. package/dist/cjs/tools/resume_inputs.js +27 -0
  97. package/dist/cjs/tools/retrieval/base_retrieval_tool.js +60 -0
  98. package/dist/cjs/tools/retrieval/files_retrieval.js +95 -0
  99. package/dist/cjs/tools/retrieval/llama_index_retrieval.js +57 -0
  100. package/dist/cjs/tools/url_context_tool.js +3 -6
  101. package/dist/cjs/tools/vertex_ai_search_tool.js +4 -8
  102. package/dist/cjs/tools/vertex_rag_retrieval_tool.js +3 -10
  103. package/dist/cjs/utils/crypto_shim.js +16 -0
  104. package/dist/cjs/utils/gemini_schema_util.js +0 -6
  105. package/dist/cjs/utils/logger.js +15 -50
  106. package/dist/cjs/utils/logger_browser.js +86 -0
  107. package/dist/cjs/utils/logger_node.js +119 -0
  108. package/dist/cjs/utils/redact_inline_data.js +46 -0
  109. package/dist/cjs/utils/redact_uri.js +15 -1
  110. package/dist/cjs/utils/schema.js +1 -1
  111. package/dist/cjs/utils/ssrf_guard.js +262 -0
  112. package/dist/cjs/version.js +1 -1
  113. package/dist/cjs/workflow/base_node.js +1 -1
  114. package/dist/cjs/workflow/graph.js +1 -1
  115. package/dist/cjs/workflow/nodes/node_tool.js +2 -11
  116. package/dist/cjs/workflow/request_input.js +1 -1
  117. package/dist/cjs/workflow/run_llm_agent_as_node.js +1 -1
  118. package/dist/cjs/workflow/workflow.js +1 -1
  119. package/dist/esm/a2a/a2a_event.js +0 -28
  120. package/dist/esm/a2a/a2a_remote_agent.js +10 -5
  121. package/dist/esm/a2a/a2a_remote_agent_utils.js +102 -2
  122. package/dist/esm/a2a/agent_card.js +63 -6
  123. package/dist/esm/a2a/agent_executor.js +10 -3
  124. package/dist/esm/a2a/agent_to_a2a.js +8 -2
  125. package/dist/esm/a2a/event_processor_utils.js +1 -2
  126. package/dist/esm/a2a/executor_context.js +4 -2
  127. package/dist/esm/a2a/index.js +7 -1
  128. package/dist/esm/a2a/request_metadata.js +68 -0
  129. package/dist/esm/agents/base_agent.js +9 -8
  130. package/dist/esm/agents/context.js +7 -0
  131. package/dist/esm/agents/functions.js +152 -48
  132. package/dist/esm/agents/invocation_context.js +1 -0
  133. package/dist/esm/agents/llm_agent.js +6 -5
  134. package/dist/esm/agents/loop_agent.js +1 -1
  135. package/dist/esm/agents/parallel_agent.js +1 -1
  136. package/dist/esm/agents/processors/agent_transfer_llm_request_processor.js +26 -5
  137. package/dist/esm/agents/processors/code_execution_request_processor.js +2 -2
  138. package/dist/esm/agents/processors/content_processor_utils.js +5 -5
  139. package/dist/esm/agents/processors/content_request_processor.js +4 -1
  140. package/dist/esm/agents/processors/request_confirmation_llm_request_processor.js +19 -12
  141. package/dist/esm/agents/processors/request_input_llm_request_processor.js +3 -7
  142. package/dist/esm/agents/readonly_context.js +6 -0
  143. package/dist/esm/agents/routed_agent.js +1 -1
  144. package/dist/esm/agents/sequential_agent.js +1 -1
  145. package/dist/esm/apps/app.js +1 -1
  146. package/dist/esm/artifacts/file_artifact_service.js +1 -2
  147. package/dist/esm/artifacts/scoped_artifact_service.js +9 -0
  148. package/dist/esm/artifacts/session_artifact_service.js +12 -0
  149. package/dist/esm/auth/auth_handler.js +47 -8
  150. package/dist/esm/auth/oauth2/oauth2_credential_refresher.js +1 -1
  151. package/dist/esm/auth/oauth2/oauth2_utils.js +15 -2
  152. package/dist/esm/code_executors/base_code_executor.js +1 -1
  153. package/dist/esm/code_executors/built_in_code_executor.js +1 -1
  154. package/dist/esm/code_executors/code_execution_utils.js +2 -2
  155. package/dist/esm/code_executors/container_code_executor.js +155 -0
  156. package/dist/esm/code_executors/docker_container.js +265 -0
  157. package/dist/esm/code_executors/unsafe_local_code_executor.js +11 -6
  158. package/dist/esm/common.js +73 -38
  159. package/dist/esm/context/agent_controlled_context_compactor.js +10 -5
  160. package/dist/esm/context/anchored_context_compactor.js +45 -19
  161. package/dist/esm/context/compaction_utils.js +13 -5
  162. package/dist/esm/context/token_based_context_compactor.js +10 -2
  163. package/dist/esm/context/trajectory_thought_pruning_compactor.js +17 -10
  164. package/dist/esm/context/truncating_context_compactor.js +17 -5
  165. package/dist/esm/errors/already_exists_error.js +23 -0
  166. package/dist/esm/errors/input_validation_error.js +23 -0
  167. package/dist/{web/auth/refresher/base_credential_refresher.js → esm/errors/not_found_error.js} +9 -6
  168. package/dist/esm/errors/session_not_found_error.js +23 -0
  169. package/dist/esm/errors/tool_execution_error.js +40 -0
  170. package/dist/esm/events/event.js +1 -1
  171. package/dist/esm/events/event_actions.js +6 -0
  172. package/dist/esm/examples/base_example_provider.js +1 -1
  173. package/dist/esm/index.js +37 -0
  174. package/dist/esm/index_web.js +2 -0
  175. package/dist/esm/integrations/agent_registry/agent_registry.js +3 -2
  176. package/dist/esm/memory/rag_memory_transcript.js +106 -0
  177. package/dist/esm/memory/vertex_ai_memory_bank_service.js +2 -2
  178. package/dist/esm/memory/vertex_ai_rag_api.js +93 -0
  179. package/dist/esm/memory/vertex_ai_rag_memory_service.js +208 -0
  180. package/dist/esm/models/apigee_llm.js +1 -1
  181. package/dist/esm/models/base_llm.js +1 -1
  182. package/dist/esm/models/chrome_prompt_llm.js +285 -0
  183. package/dist/esm/models/chrome_prompt_utils.js +192 -0
  184. package/dist/esm/models/google_llm.js +9 -4
  185. package/dist/esm/models/interactions_utils.js +2 -3
  186. package/dist/esm/models/registry.js +2 -0
  187. package/dist/esm/plugins/_reflect_retry_utils.js +111 -0
  188. package/dist/esm/plugins/reflect_retry_model_plugin.js +250 -0
  189. package/dist/esm/plugins/reflect_retry_tool_plugin.js +254 -0
  190. package/dist/esm/runner/runner.js +35 -27
  191. package/dist/esm/sessions/database_session_service.js +58 -25
  192. package/dist/esm/sessions/db/operations.js +229 -22
  193. package/dist/esm/sessions/db/schema.js +111 -160
  194. package/dist/esm/sessions/registry.js +5 -1
  195. package/dist/esm/sessions/vertex_ai_session_service.js +1 -1
  196. package/dist/esm/telemetry/setup.js +1 -1
  197. package/dist/esm/telemetry/tracing.js +11 -1
  198. package/dist/esm/tools/agent_tool.js +4 -5
  199. package/dist/esm/tools/base_tool.js +11 -3
  200. package/dist/esm/tools/base_toolset.js +4 -4
  201. package/dist/esm/tools/built_in_tool.js +51 -0
  202. package/dist/esm/tools/enterprise_web_search_tool.js +3 -6
  203. package/dist/esm/tools/forwarding_artifact_service.js +18 -13
  204. package/dist/esm/tools/function_tool.js +6 -3
  205. package/dist/esm/tools/google_maps_grounding_tool.js +3 -6
  206. package/dist/esm/tools/google_search_tool.js +3 -6
  207. package/dist/esm/tools/load_artifacts_tool.js +48 -24
  208. package/dist/esm/tools/load_web_page.js +10 -170
  209. package/dist/esm/tools/mcp/load_mcp_resource_tool.js +34 -5
  210. package/dist/esm/tools/openapi_tool/auth/auth_helpers.js +13 -2
  211. package/dist/esm/tools/openapi_tool/openapi_spec_parser/operation_parser.js +1 -1
  212. package/dist/esm/tools/openapi_tool/rest_api_tool.js +16 -18
  213. package/dist/esm/tools/preload_memory_tool.js +1 -1
  214. package/dist/esm/tools/retrieval/base_retrieval_tool.js +33 -0
  215. package/dist/esm/tools/retrieval/files_retrieval.js +81 -0
  216. package/dist/esm/tools/retrieval/llama_index_retrieval.js +30 -0
  217. package/dist/esm/tools/url_context_tool.js +3 -6
  218. package/dist/esm/tools/vertex_ai_search_tool.js +4 -8
  219. package/dist/esm/tools/vertex_rag_retrieval_tool.js +3 -10
  220. package/dist/esm/utils/crypto_shim.js +14 -0
  221. package/dist/esm/utils/gemini_schema_util.js +0 -6
  222. package/dist/esm/utils/logger.js +14 -40
  223. package/dist/esm/utils/logger_browser.js +58 -0
  224. package/dist/esm/utils/logger_node.js +81 -0
  225. package/dist/esm/utils/redact_inline_data.js +19 -0
  226. package/dist/esm/utils/redact_uri.js +15 -1
  227. package/dist/esm/utils/schema.js +1 -1
  228. package/dist/{web/tools/load_web_page.js → esm/utils/ssrf_guard.js} +95 -107
  229. package/dist/esm/version.js +1 -1
  230. package/dist/esm/workflow/base_node.js +1 -1
  231. package/dist/esm/workflow/graph.js +1 -1
  232. package/dist/esm/workflow/nodes/node_tool.js +2 -11
  233. package/dist/esm/workflow/request_input.js +1 -1
  234. package/dist/esm/workflow/run_llm_agent_as_node.js +1 -1
  235. package/dist/esm/workflow/workflow.js +1 -1
  236. package/dist/types/a2a/a2a_event.d.ts +7 -10
  237. package/dist/types/a2a/a2a_remote_agent.d.ts +5 -0
  238. package/dist/types/a2a/a2a_remote_agent_utils.d.ts +25 -0
  239. package/dist/types/a2a/agent_card.d.ts +9 -0
  240. package/dist/types/a2a/agent_executor.d.ts +1 -1
  241. package/dist/types/a2a/agent_to_a2a.d.ts +2 -0
  242. package/dist/types/a2a/auth.d.ts +5 -1
  243. package/dist/types/a2a/executor_context.d.ts +7 -1
  244. package/dist/types/a2a/index.d.ts +1 -1
  245. package/dist/types/a2a/request_metadata.d.ts +22 -0
  246. package/dist/types/agents/base_agent.d.ts +19 -16
  247. package/dist/types/agents/context.d.ts +8 -0
  248. package/dist/types/agents/functions.d.ts +72 -6
  249. package/dist/types/agents/invocation_context.d.ts +11 -3
  250. package/dist/types/agents/llm_agent.d.ts +9 -7
  251. package/dist/types/agents/processors/agent_transfer_llm_request_processor.d.ts +16 -1
  252. package/dist/types/agents/readonly_context.d.ts +4 -0
  253. package/dist/types/agents/run_config.d.ts +21 -8
  254. package/dist/types/artifacts/scoped_artifact_service.d.ts +13 -0
  255. package/dist/types/artifacts/session_artifact_service.d.ts +8 -1
  256. package/dist/types/auth/auth_credential.d.ts +13 -8
  257. package/dist/types/auth/auth_handler.d.ts +12 -1
  258. package/dist/types/auth/oauth2/oauth2_credential_refresher.d.ts +1 -1
  259. package/dist/types/auth/oauth2/oauth2_utils.d.ts +9 -0
  260. package/dist/types/auth/refresher/base_credential_refresher.d.ts +1 -1
  261. package/dist/types/code_executors/code_execution_utils.d.ts +1 -1
  262. package/dist/types/code_executors/container_code_executor.d.ts +89 -0
  263. package/dist/types/code_executors/docker_container.d.ts +79 -0
  264. package/dist/types/common.d.ts +22 -20
  265. package/dist/types/context/compaction_utils.d.ts +9 -1
  266. package/dist/types/errors/already_exists_error.d.ts +14 -0
  267. package/dist/types/errors/input_validation_error.d.ts +14 -0
  268. package/dist/types/errors/not_found_error.d.ts +14 -0
  269. package/dist/types/errors/session_not_found_error.d.ts +14 -0
  270. package/dist/types/errors/tool_execution_error.d.ts +36 -0
  271. package/dist/types/events/event_actions.d.ts +13 -0
  272. package/dist/types/index.d.ts +22 -1
  273. package/dist/types/memory/rag_memory_transcript.d.ts +55 -0
  274. package/dist/types/memory/vertex_ai_rag_api.d.ts +89 -0
  275. package/dist/types/memory/vertex_ai_rag_memory_service.d.ts +68 -0
  276. package/dist/types/models/chrome_prompt_llm.d.ts +210 -0
  277. package/dist/types/models/chrome_prompt_utils.d.ts +68 -0
  278. package/dist/types/models/google_llm.d.ts +8 -3
  279. package/dist/types/models/registry.d.ts +3 -2
  280. package/dist/types/plugins/_reflect_retry_utils.d.ts +72 -0
  281. package/dist/types/plugins/base_plugin.d.ts +12 -10
  282. package/dist/types/plugins/logging_plugin.d.ts +3 -2
  283. package/dist/types/plugins/reflect_retry_model_plugin.d.ts +132 -0
  284. package/dist/types/plugins/reflect_retry_tool_plugin.d.ts +187 -0
  285. package/dist/types/runner/runner.d.ts +7 -8
  286. package/dist/types/sessions/database_session_service.d.ts +1 -1
  287. package/dist/types/sessions/db/operations.d.ts +13 -1
  288. package/dist/types/sessions/db/schema.d.ts +23 -9
  289. package/dist/types/tools/base_tool.d.ts +11 -0
  290. package/dist/types/tools/base_toolset.d.ts +3 -4
  291. package/dist/types/tools/built_in_tool.d.ts +41 -0
  292. package/dist/types/tools/enterprise_web_search_tool.d.ts +4 -4
  293. package/dist/types/tools/forwarding_artifact_service.d.ts +23 -10
  294. package/dist/types/tools/function_tool.d.ts +42 -9
  295. package/dist/types/tools/google_maps_grounding_tool.d.ts +4 -4
  296. package/dist/types/tools/google_search_tool.d.ts +4 -4
  297. package/dist/types/tools/long_running_tool.d.ts +1 -1
  298. package/dist/types/tools/mcp/mcp_toolset.d.ts +11 -10
  299. package/dist/types/tools/openapi_tool/auth/auth_helpers.d.ts +5 -0
  300. package/dist/types/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.d.ts +0 -1
  301. package/dist/types/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.d.ts +0 -1
  302. package/dist/types/tools/preload_memory_tool.d.ts +1 -1
  303. package/dist/types/tools/resume_inputs.d.ts +25 -0
  304. package/dist/types/tools/retrieval/base_retrieval_tool.d.ts +21 -0
  305. package/dist/types/tools/retrieval/files_retrieval.d.ts +50 -0
  306. package/dist/types/tools/retrieval/llama_index_retrieval.d.ts +62 -0
  307. package/dist/types/tools/url_context_tool.d.ts +4 -4
  308. package/dist/types/tools/vertex_ai_search_tool.d.ts +4 -4
  309. package/dist/types/tools/vertex_rag_retrieval_tool.d.ts +13 -12
  310. package/dist/types/utils/crypto_shim.d.ts +16 -0
  311. package/dist/types/utils/gemini_schema_util.d.ts +5 -7
  312. package/dist/types/utils/logger.d.ts +23 -1
  313. package/dist/types/utils/logger_browser.d.ts +28 -0
  314. package/dist/types/utils/logger_node.d.ts +20 -0
  315. package/dist/types/utils/output_schema_utils.d.ts +3 -3
  316. package/dist/types/utils/redact_inline_data.d.ts +16 -0
  317. package/dist/types/utils/redact_uri.d.ts +12 -8
  318. package/dist/types/utils/ssrf_guard.d.ts +32 -0
  319. package/dist/types/version.d.ts +1 -1
  320. package/dist/web/index_web.js +304 -3
  321. package/dist/web/index_web.js.map +7 -0
  322. package/package.json +17 -14
  323. package/dist/web/a2a/a2a_event.js +0 -290
  324. package/dist/web/a2a/a2a_remote_agent.js +0 -200
  325. package/dist/web/a2a/a2a_remote_agent_run_processor.js +0 -189
  326. package/dist/web/a2a/a2a_remote_agent_utils.js +0 -141
  327. package/dist/web/a2a/agent_card.js +0 -373
  328. package/dist/web/a2a/agent_executor.js +0 -246
  329. package/dist/web/a2a/agent_to_a2a.js +0 -126
  330. package/dist/web/a2a/auth.js +0 -41
  331. package/dist/web/a2a/event_converter_utils.js +0 -242
  332. package/dist/web/a2a/event_processor_utils.js +0 -209
  333. package/dist/web/a2a/executor_context.js +0 -28
  334. package/dist/web/a2a/index.js +0 -20
  335. package/dist/web/a2a/metadata_converter_utils.js +0 -115
  336. package/dist/web/a2a/part_converter_utils.js +0 -201
  337. package/dist/web/agents/active_streaming_tool.js +0 -25
  338. package/dist/web/agents/base_agent.js +0 -462
  339. package/dist/web/agents/context.js +0 -146
  340. package/dist/web/agents/framework_function_calls.js +0 -34
  341. package/dist/web/agents/functions.js +0 -462
  342. package/dist/web/agents/instructions.js +0 -188
  343. package/dist/web/agents/invocation_context.js +0 -126
  344. package/dist/web/agents/live_request_queue.js +0 -151
  345. package/dist/web/agents/llm_agent.js +0 -1514
  346. package/dist/web/agents/loop_agent.js +0 -131
  347. package/dist/web/agents/parallel_agent.js +0 -122
  348. package/dist/web/agents/processors/agent_transfer_llm_request_processor.js +0 -113
  349. package/dist/web/agents/processors/base_llm_processor.js +0 -21
  350. package/dist/web/agents/processors/basic_llm_request_processor.js +0 -84
  351. package/dist/web/agents/processors/code_execution_request_processor.js +0 -381
  352. package/dist/web/agents/processors/content_processor_utils.js +0 -432
  353. package/dist/web/agents/processors/content_request_processor.js +0 -73
  354. package/dist/web/agents/processors/context_compactor_request_processor.js +0 -78
  355. package/dist/web/agents/processors/identity_llm_request_processor.js +0 -59
  356. package/dist/web/agents/processors/instructions_llm_request_processor.js +0 -85
  357. package/dist/web/agents/processors/interactions_request_processor.js +0 -56
  358. package/dist/web/agents/processors/request_confirmation_llm_request_processor.js +0 -393
  359. package/dist/web/agents/processors/request_input_llm_request_processor.js +0 -228
  360. package/dist/web/agents/processors/tool_filter_request_processor.js +0 -72
  361. package/dist/web/agents/readonly_context.js +0 -60
  362. package/dist/web/agents/routed_agent.js +0 -161
  363. package/dist/web/agents/run_config.js +0 -74
  364. package/dist/web/agents/sequential_agent.js +0 -141
  365. package/dist/web/agents/transcription_entry.js +0 -7
  366. package/dist/web/agents/user_input_request.js +0 -135
  367. package/dist/web/apps/app.js +0 -52
  368. package/dist/web/apps/resumability_config.js +0 -33
  369. package/dist/web/artifacts/base_artifact_service.js +0 -7
  370. package/dist/web/artifacts/file_artifact_service.js +0 -568
  371. package/dist/web/artifacts/gcs_artifact_service.js +0 -298
  372. package/dist/web/artifacts/in_memory_artifact_service.js +0 -172
  373. package/dist/web/artifacts/registry.js +0 -36
  374. package/dist/web/artifacts/scoped_artifact_service.js +0 -89
  375. package/dist/web/auth/auth_credential.js +0 -18
  376. package/dist/web/auth/auth_handler.js +0 -151
  377. package/dist/web/auth/auth_preprocessor.js +0 -184
  378. package/dist/web/auth/auth_provider_registry.js +0 -37
  379. package/dist/web/auth/auth_schemes.js +0 -36
  380. package/dist/web/auth/auth_tool.js +0 -7
  381. package/dist/web/auth/base_auth_provider.js +0 -7
  382. package/dist/web/auth/credential_response_binding.js +0 -91
  383. package/dist/web/auth/credential_service/base_credential_service.js +0 -7
  384. package/dist/web/auth/credential_service/in_memory_credential_service.js +0 -50
  385. package/dist/web/auth/credential_service/session_state_credential_service.js +0 -27
  386. package/dist/web/auth/exchanger/base_credential_exchanger.js +0 -16
  387. package/dist/web/auth/exchanger/credential_exchanger_registry.js +0 -35
  388. package/dist/web/auth/oauth2/oauth2_credential_exchanger.js +0 -194
  389. package/dist/web/auth/oauth2/oauth2_credential_refresher.js +0 -105
  390. package/dist/web/auth/oauth2/oauth2_discovery.js +0 -196
  391. package/dist/web/auth/oauth2/oauth2_utils.js +0 -105
  392. package/dist/web/auth/refresher/credential_refresher_registry.js +0 -44
  393. package/dist/web/code_executors/agent_engine_sandbox_code_executor.js +0 -284
  394. package/dist/web/code_executors/base_code_executor.js +0 -68
  395. package/dist/web/code_executors/built_in_code_executor.js +0 -50
  396. package/dist/web/code_executors/code_execution_utils.js +0 -131
  397. package/dist/web/code_executors/code_executor_context.js +0 -174
  398. package/dist/web/code_executors/unsafe_local_code_executor.js +0 -221
  399. package/dist/web/common.js +0 -452
  400. package/dist/web/context/agent_controlled_context_compactor.js +0 -76
  401. package/dist/web/context/anchored_context_compactor.js +0 -120
  402. package/dist/web/context/base_context_compactor.js +0 -7
  403. package/dist/web/context/compaction_utils.js +0 -42
  404. package/dist/web/context/summarizers/base_summarizer.js +0 -7
  405. package/dist/web/context/summarizers/llm_summarizer.js +0 -91
  406. package/dist/web/context/token_based_context_compactor.js +0 -118
  407. package/dist/web/context/trajectory_thought_pruning_compactor.js +0 -47
  408. package/dist/web/context/truncating_context_compactor.js +0 -34
  409. package/dist/web/environment/base_environment.js +0 -71
  410. package/dist/web/environment/local_environment.js +0 -165
  411. package/dist/web/events/compacted_event.js +0 -51
  412. package/dist/web/events/event.js +0 -208
  413. package/dist/web/events/event_actions.js +0 -74
  414. package/dist/web/events/structured_events.js +0 -79
  415. package/dist/web/examples/base_example_provider.js +0 -32
  416. package/dist/web/examples/example.js +0 -7
  417. package/dist/web/examples/example_util.js +0 -83
  418. package/dist/web/features/feature_registry.js +0 -115
  419. package/dist/web/index.js +0 -57
  420. package/dist/web/integrations/agent_registry/agent_registry.js +0 -337
  421. package/dist/web/integrations/agent_registry/agent_registry_mcp_toolset.js +0 -120
  422. package/dist/web/integrations/agent_registry/helpers.js +0 -32
  423. package/dist/web/integrations/agent_registry/types.js +0 -20
  424. package/dist/web/memory/base_memory_service.js +0 -7
  425. package/dist/web/memory/in_memory_memory_service.js +0 -89
  426. package/dist/web/memory/memory_entry.js +0 -7
  427. package/dist/web/memory/vertex_ai_memory_bank_service.js +0 -496
  428. package/dist/web/models/apigee_llm.js +0 -227
  429. package/dist/web/models/base_llm.js +0 -78
  430. package/dist/web/models/base_llm_connection.js +0 -7
  431. package/dist/web/models/gemini_llm_connection.js +0 -183
  432. package/dist/web/models/google_llm.js +0 -396
  433. package/dist/web/models/interactions_utils.js +0 -745
  434. package/dist/web/models/llm_request.js +0 -57
  435. package/dist/web/models/llm_response.js +0 -48
  436. package/dist/web/models/registry.js +0 -100
  437. package/dist/web/models/routed_llm.js +0 -112
  438. package/dist/web/plugins/base_plugin.js +0 -305
  439. package/dist/web/plugins/global_instruction_plugin.js +0 -71
  440. package/dist/web/plugins/logging_plugin.js +0 -241
  441. package/dist/web/plugins/plugin_manager.js +0 -318
  442. package/dist/web/plugins/security_plugin.js +0 -148
  443. package/dist/web/runner/in_memory_runner.js +0 -50
  444. package/dist/web/runner/runner.js +0 -747
  445. package/dist/web/sessions/base_session_service.js +0 -123
  446. package/dist/web/sessions/database_session_service.js +0 -440
  447. package/dist/web/sessions/db/operations.js +0 -124
  448. package/dist/web/sessions/db/schema.js +0 -216
  449. package/dist/web/sessions/in_memory_session_service.js +0 -251
  450. package/dist/web/sessions/registry.js +0 -38
  451. package/dist/web/sessions/session.js +0 -23
  452. package/dist/web/sessions/state.js +0 -159
  453. package/dist/web/sessions/state_write_order.js +0 -74
  454. package/dist/web/sessions/vertex_ai_session_service.js +0 -546
  455. package/dist/web/skills/gcp_skill_registry.js +0 -80
  456. package/dist/web/skills/loader.js +0 -372
  457. package/dist/web/skills/prompt.js +0 -34
  458. package/dist/web/skills/skill.js +0 -67
  459. package/dist/web/skills/skill_registry.js +0 -7
  460. package/dist/web/telemetry/google_cloud.js +0 -99
  461. package/dist/web/telemetry/setup.js +0 -89
  462. package/dist/web/telemetry/tracing.js +0 -304
  463. package/dist/web/tools/agent_tool.js +0 -150
  464. package/dist/web/tools/base_tool.js +0 -116
  465. package/dist/web/tools/base_toolset.js +0 -62
  466. package/dist/web/tools/consolidate_context_tool.js +0 -55
  467. package/dist/web/tools/enterprise_web_search_tool.js +0 -60
  468. package/dist/web/tools/example_tool.js +0 -46
  469. package/dist/web/tools/exit_loop_tool.js +0 -47
  470. package/dist/web/tools/finish_task_tool.js +0 -92
  471. package/dist/web/tools/forwarding_artifact_service.js +0 -51
  472. package/dist/web/tools/function_tool.js +0 -151
  473. package/dist/web/tools/get_user_choice_tool.js +0 -27
  474. package/dist/web/tools/google_maps_grounding_tool.js +0 -59
  475. package/dist/web/tools/google_search_tool.js +0 -55
  476. package/dist/web/tools/load_artifacts_tool.js +0 -159
  477. package/dist/web/tools/load_memory_tool.js +0 -83
  478. package/dist/web/tools/long_running_tool.js +0 -58
  479. package/dist/web/tools/mcp/index.js +0 -11
  480. package/dist/web/tools/mcp/load_mcp_resource_tool.js +0 -111
  481. package/dist/web/tools/mcp/mcp_session_manager.js +0 -114
  482. package/dist/web/tools/mcp/mcp_tool.js +0 -47
  483. package/dist/web/tools/mcp/mcp_toolset.js +0 -144
  484. package/dist/web/tools/openapi_tool/auth/auth_helpers.js +0 -53
  485. package/dist/web/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +0 -62
  486. package/dist/web/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +0 -113
  487. package/dist/web/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +0 -242
  488. package/dist/web/tools/openapi_tool/openapi_spec_parser/operation_parser.js +0 -200
  489. package/dist/web/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +0 -98
  490. package/dist/web/tools/openapi_tool/openapi_toolset.js +0 -99
  491. package/dist/web/tools/openapi_tool/rest_api_tool.js +0 -247
  492. package/dist/web/tools/preload_memory_tool.js +0 -81
  493. package/dist/web/tools/request_input_tool.js +0 -29
  494. package/dist/web/tools/skill/list_skills_tool.js +0 -52
  495. package/dist/web/tools/skill/load_skill_resource_tool.js +0 -192
  496. package/dist/web/tools/skill/load_skill_tool.js +0 -96
  497. package/dist/web/tools/skill/run_skill_inline_script_tool.js +0 -191
  498. package/dist/web/tools/skill/run_skill_script_tool.js +0 -227
  499. package/dist/web/tools/skill/search_skills_tool.js +0 -84
  500. package/dist/web/tools/skill/skill_toolset.js +0 -185
  501. package/dist/web/tools/tool_confirmation.js +0 -43
  502. package/dist/web/tools/url_context_tool.js +0 -48
  503. package/dist/web/tools/vertex_ai_search_tool.js +0 -107
  504. package/dist/web/tools/vertex_rag_retrieval_tool.js +0 -40
  505. package/dist/web/utils/async_hooks_shim.js +0 -28
  506. package/dist/web/utils/async_queue.js +0 -88
  507. package/dist/web/utils/branch_trie.js +0 -16
  508. package/dist/web/utils/case_utils.js +0 -28
  509. package/dist/web/utils/client_labels.js +0 -70
  510. package/dist/web/utils/crypto_shim.js +0 -18
  511. package/dist/web/utils/deprecated.js +0 -40
  512. package/dist/web/utils/env_aware_utils.js +0 -115
  513. package/dist/web/utils/error_utils.js +0 -101
  514. package/dist/web/utils/experimental.js +0 -54
  515. package/dist/web/utils/failover_utils.js +0 -100
  516. package/dist/web/utils/file_extension_utils.js +0 -55
  517. package/dist/web/utils/file_utils.js +0 -108
  518. package/dist/web/utils/gemini_schema_util.js +0 -177
  519. package/dist/web/utils/genai_schema_to_json.js +0 -80
  520. package/dist/web/utils/live_connection_utils.js +0 -257
  521. package/dist/web/utils/logger.js +0 -140
  522. package/dist/web/utils/model_name.js +0 -75
  523. package/dist/web/utils/object_notation_utils.js +0 -54
  524. package/dist/web/utils/optional_peer.js +0 -38
  525. package/dist/web/utils/output_schema_utils.js +0 -18
  526. package/dist/web/utils/partial_copy.js +0 -26
  527. package/dist/web/utils/redact_uri.js +0 -39
  528. package/dist/web/utils/schema.js +0 -167
  529. package/dist/web/utils/simple_zod_to_json.js +0 -134
  530. package/dist/web/utils/streaming_utils.js +0 -438
  531. package/dist/web/utils/task.js +0 -38
  532. package/dist/web/utils/variant_utils.js +0 -23
  533. package/dist/web/utils/vertex_ai_utils.js +0 -27
  534. package/dist/web/version.js +0 -11
  535. package/dist/web/workflow/base_node.js +0 -215
  536. package/dist/web/workflow/branch_path.js +0 -77
  537. package/dist/web/workflow/dynamic_node_scheduler.js +0 -202
  538. package/dist/web/workflow/errors.js +0 -140
  539. package/dist/web/workflow/graph.js +0 -127
  540. package/dist/web/workflow/index.js +0 -80
  541. package/dist/web/workflow/node.js +0 -87
  542. package/dist/web/workflow/node_builders.js +0 -40
  543. package/dist/web/workflow/node_context.js +0 -236
  544. package/dist/web/workflow/node_error_event.js +0 -86
  545. package/dist/web/workflow/node_runner.js +0 -481
  546. package/dist/web/workflow/node_state.js +0 -43
  547. package/dist/web/workflow/node_status.js +0 -20
  548. package/dist/web/workflow/nodes/function_node.js +0 -221
  549. package/dist/web/workflow/nodes/join_node.js +0 -47
  550. package/dist/web/workflow/nodes/node_tool.js +0 -131
  551. package/dist/web/workflow/nodes/parallel_worker.js +0 -120
  552. package/dist/web/workflow/nodes/tool_node.js +0 -126
  553. package/dist/web/workflow/request_input.js +0 -36
  554. package/dist/web/workflow/retry_config.js +0 -43
  555. package/dist/web/workflow/run_llm_agent_as_node.js +0 -266
  556. package/dist/web/workflow/run_node_as_invocation.js +0 -170
  557. package/dist/web/workflow/schedule_dynamic_node.js +0 -26
  558. package/dist/web/workflow/trigger.js +0 -7
  559. package/dist/web/workflow/utils/graph_parser.js +0 -188
  560. package/dist/web/workflow/utils/graph_validation.js +0 -189
  561. package/dist/web/workflow/utils/hitl_utils.js +0 -239
  562. package/dist/web/workflow/utils/rehydration_utils.js +0 -342
  563. package/dist/web/workflow/utils/retry_utils.js +0 -82
  564. package/dist/web/workflow/utils/workflow_graph_utils.js +0 -115
  565. package/dist/web/workflow/workflow.js +0 -529
  566. /package/dist/{web/artifacts/session_artifact_service.js → esm/tools/resume_inputs.js} +0 -0
@@ -1,85 +0,0 @@
1
- import {createRequire as topLevelCreateRequire} from 'module';
2
- const require = topLevelCreateRequire(import.meta.url);
3
- var __defProp = Object.defineProperty;
4
- var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
5
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
6
- var __await = function(promise, isYieldStar) {
7
- this[0] = promise;
8
- this[1] = isYieldStar;
9
- };
10
- var __asyncGenerator = (__this, __arguments, generator) => {
11
- var resume = (k, v, yes, no) => {
12
- try {
13
- var x = generator[k](v), isAwait = (v = x.value) instanceof __await, done = x.done;
14
- Promise.resolve(isAwait ? v[0] : v).then((y) => isAwait ? resume(k === "return" ? k : "next", v[1] ? { done: y.done, value: y.value } : y, yes, no) : yes({ value: y, done })).catch((e) => resume("throw", e, yes, no));
15
- } catch (e) {
16
- no(e);
17
- }
18
- }, method = (k) => it[k] = (x) => new Promise((yes, no) => resume(k, x, yes, no)), it = {};
19
- return generator = generator.apply(__this, __arguments), it[__knownSymbol("asyncIterator")] = () => it, method("next"), method("throw"), method("return"), it;
20
- };
21
- /**
22
- * @license
23
- * Copyright 2025 Google LLC
24
- * SPDX-License-Identifier: Apache-2.0
25
- */
26
- import { appendInstructions } from "../../models/llm_request.js";
27
- import { canUseOutputSchemaWithTools } from "../../utils/output_schema_utils.js";
28
- import { injectSessionState } from "../instructions.js";
29
- import { isLlmAgent } from "../llm_agent.js";
30
- import { ReadonlyContext } from "../readonly_context.js";
31
- import { BaseLlmRequestProcessor } from "./base_llm_processor.js";
32
- const _InstructionsLlmRequestProcessor = class _InstructionsLlmRequestProcessor extends BaseLlmRequestProcessor {
33
- /**
34
- * Handles instructions and global instructions for LLM flow.
35
- */
36
- // eslint-disable-next-line require-yield
37
- runAsync(invocationContext, llmRequest) {
38
- return __asyncGenerator(this, null, function* () {
39
- var _a;
40
- const agent = invocationContext.agent;
41
- if (!isLlmAgent(agent)) {
42
- return;
43
- }
44
- const rootAgent = agent.rootAgent;
45
- if (isLlmAgent(rootAgent) && rootAgent.globalInstruction) {
46
- const { instruction, requireStateInjection } = yield new __await(rootAgent.canonicalGlobalInstruction(
47
- new ReadonlyContext(invocationContext)
48
- ));
49
- let instructionWithState = instruction;
50
- if (requireStateInjection) {
51
- instructionWithState = yield new __await(injectSessionState(
52
- instruction,
53
- new ReadonlyContext(invocationContext)
54
- ));
55
- }
56
- appendInstructions(llmRequest, [instructionWithState]);
57
- }
58
- if (agent.instruction) {
59
- const { instruction, requireStateInjection } = yield new __await(agent.canonicalInstruction(
60
- new ReadonlyContext(invocationContext)
61
- ));
62
- let instructionWithState = instruction;
63
- if (requireStateInjection) {
64
- instructionWithState = yield new __await(injectSessionState(
65
- instruction,
66
- new ReadonlyContext(invocationContext)
67
- ));
68
- }
69
- appendInstructions(llmRequest, [instructionWithState]);
70
- }
71
- if (agent.outputSchema && ((_a = agent.tools) == null ? void 0 : _a.length) && !canUseOutputSchemaWithTools(agent.canonicalModel.model)) {
72
- appendInstructions(llmRequest, [
73
- 'To output the final result, you must call the "set_model_response" function with the appropriate values. Do not output anything else.'
74
- ]);
75
- }
76
- });
77
- }
78
- };
79
- __name(_InstructionsLlmRequestProcessor, "InstructionsLlmRequestProcessor");
80
- let InstructionsLlmRequestProcessor = _InstructionsLlmRequestProcessor;
81
- const INSTRUCTIONS_LLM_REQUEST_PROCESSOR = new InstructionsLlmRequestProcessor();
82
- export {
83
- INSTRUCTIONS_LLM_REQUEST_PROCESSOR,
84
- InstructionsLlmRequestProcessor
85
- };
@@ -1,56 +0,0 @@
1
- import {createRequire as topLevelCreateRequire} from 'module';
2
- const require = topLevelCreateRequire(import.meta.url);
3
- var __defProp = Object.defineProperty;
4
- var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
5
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
6
- var __await = function(promise, isYieldStar) {
7
- this[0] = promise;
8
- this[1] = isYieldStar;
9
- };
10
- var __asyncGenerator = (__this, __arguments, generator) => {
11
- var resume = (k, v, yes, no) => {
12
- try {
13
- var x = generator[k](v), isAwait = (v = x.value) instanceof __await, done = x.done;
14
- Promise.resolve(isAwait ? v[0] : v).then((y) => isAwait ? resume(k === "return" ? k : "next", v[1] ? { done: y.done, value: y.value } : y, yes, no) : yes({ value: y, done })).catch((e) => resume("throw", e, yes, no));
15
- } catch (e) {
16
- no(e);
17
- }
18
- }, method = (k) => it[k] = (x) => new Promise((yes, no) => resume(k, x, yes, no)), it = {};
19
- return generator = generator.apply(__this, __arguments), it[__knownSymbol("asyncIterator")] = () => it, method("next"), method("throw"), method("return"), it;
20
- };
21
- /**
22
- * @license
23
- * Copyright 2026 Google LLC
24
- * SPDX-License-Identifier: Apache-2.0
25
- */
26
- import { isGemini } from "../../models/google_llm.js";
27
- import { isLlmAgent } from "../llm_agent.js";
28
- const _InteractionsRequestProcessor = class _InteractionsRequestProcessor {
29
- // eslint-disable-next-line require-yield
30
- runAsync(invocationContext, llmRequest) {
31
- return __asyncGenerator(this, null, function* () {
32
- const agent = invocationContext.agent;
33
- if (!agent || !isLlmAgent(agent)) {
34
- return;
35
- }
36
- const model = agent.canonicalModel;
37
- if (isGemini(model) && model.useInteractionsApi) {
38
- const events = invocationContext.session.events;
39
- for (let i = events.length - 1; i >= 0; i--) {
40
- const event = events[i];
41
- if (event.branch === invocationContext.branch && event.author === agent.name && event.interactionId) {
42
- llmRequest.previousInteractionId = event.interactionId;
43
- break;
44
- }
45
- }
46
- }
47
- });
48
- }
49
- };
50
- __name(_InteractionsRequestProcessor, "InteractionsRequestProcessor");
51
- let InteractionsRequestProcessor = _InteractionsRequestProcessor;
52
- const INTERACTIONS_REQUEST_PROCESSOR = new InteractionsRequestProcessor();
53
- export {
54
- INTERACTIONS_REQUEST_PROCESSOR,
55
- InteractionsRequestProcessor
56
- };
@@ -1,393 +0,0 @@
1
- import {createRequire as topLevelCreateRequire} from 'module';
2
- const require = topLevelCreateRequire(import.meta.url);
3
- var __defProp = Object.defineProperty;
4
- var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
5
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
6
- var __await = function(promise, isYieldStar) {
7
- this[0] = promise;
8
- this[1] = isYieldStar;
9
- };
10
- var __asyncGenerator = (__this, __arguments, generator) => {
11
- var resume = (k, v, yes, no) => {
12
- try {
13
- var x = generator[k](v), isAwait = (v = x.value) instanceof __await, done = x.done;
14
- Promise.resolve(isAwait ? v[0] : v).then((y) => isAwait ? resume(k === "return" ? k : "next", v[1] ? { done: y.done, value: y.value } : y, yes, no) : yes({ value: y, done })).catch((e) => resume("throw", e, yes, no));
15
- } catch (e) {
16
- no(e);
17
- }
18
- }, method = (k) => it[k] = (x) => new Promise((yes, no) => resume(k, x, yes, no)), it = {};
19
- return generator = generator.apply(__this, __arguments), it[__knownSymbol("asyncIterator")] = () => it, method("next"), method("throw"), method("return"), it;
20
- };
21
- /**
22
- * @license
23
- * Copyright 2025 Google LLC
24
- * SPDX-License-Identifier: Apache-2.0
25
- */
26
- import { isEqual } from "lodash-es";
27
- import {
28
- getFunctionCalls,
29
- getFunctionResponses
30
- } from "../../events/event.js";
31
- import {
32
- IntentMismatchError,
33
- ToolConfirmation
34
- } from "../../tools/tool_confirmation.js";
35
- import { isSegmentPrefix } from "../../utils/branch_trie.js";
36
- import { logger } from "../../utils/logger.js";
37
- import { Context } from "../context.js";
38
- import {
39
- REQUEST_CONFIRMATION_FUNCTION_CALL_NAME,
40
- handleFunctionCallList
41
- } from "../functions.js";
42
- import { isLlmAgent } from "../llm_agent.js";
43
- import { ReadonlyContext } from "../readonly_context.js";
44
- import { BaseLlmRequestProcessor } from "./base_llm_processor.js";
45
- const _RequestConfirmationLlmRequestProcessor = class _RequestConfirmationLlmRequestProcessor extends BaseLlmRequestProcessor {
46
- /**
47
- * Resumes tool calls that were paused for user confirmation, re-invoking
48
- * them with the confirmed or denied decision before the next LLM turn.
49
- *
50
- * @param invocationContext - The current invocation context, including the
51
- * session event history used to locate pending confirmation responses.
52
- * @yields Function response events for tools that have been confirmed and
53
- * are ready to resume.
54
- */
55
- runAsync(invocationContext) {
56
- return __asyncGenerator(this, null, function* () {
57
- var _a;
58
- const agent = invocationContext.agent;
59
- if (!isLlmAgent(agent)) {
60
- return;
61
- }
62
- const events = eventsInScope(invocationContext);
63
- if (events.length === 0) {
64
- return;
65
- }
66
- const runConfig = invocationContext.runConfig;
67
- if ((runConfig == null ? void 0 : runConfig.remoteDelivered) && !runConfig.allowRemoteToolConfirmation) {
68
- logger.warn(
69
- "Ignoring tool confirmation(s) delivered over A2A: a remote peer cannot answer a human-in-the-loop gate. Set `allowRemoteToolConfirmation` on the run config if the peer relays a real operator decision."
70
- );
71
- return;
72
- }
73
- const approvals = collectApprovals(
74
- events,
75
- (_a = runConfig == null ? void 0 : runConfig.plainTextToolConfirmation) != null ? _a : false
76
- );
77
- if (approvals.size === 0) {
78
- return;
79
- }
80
- const candidates = collectGateCandidates(events, approvals, agent.name);
81
- if (candidates.length === 0) {
82
- return;
83
- }
84
- const toolsList = yield new __await(agent.canonicalTools(
85
- new ReadonlyContext(invocationContext)
86
- ));
87
- const toolsDict = Object.fromEntries(
88
- toolsList.map((tool) => [tool.name, tool])
89
- );
90
- const resumable = yield new __await(bindApprovedCalls({
91
- candidates,
92
- events,
93
- toolsDict,
94
- agentName: agent.name,
95
- invocationContext
96
- }));
97
- const functionResponseEvent = yield new __await(handleFunctionCallList({
98
- invocationContext,
99
- functionCalls: [...resumable.values()].map((entry) => entry.call),
100
- toolsDict,
101
- beforeToolCallbacks: agent.canonicalBeforeToolCallbacks,
102
- afterToolCallbacks: agent.canonicalAfterToolCallbacks,
103
- filters: new Set(resumable.keys()),
104
- toolConfirmationDict: Object.fromEntries(
105
- [...resumable].map(([id, entry]) => [id, entry.confirmation])
106
- )
107
- }));
108
- if (!functionResponseEvent) {
109
- return;
110
- }
111
- const sessionEvents = invocationContext.session.events;
112
- const existing = sessionEvents.findIndex(
113
- (e) => e.id === functionResponseEvent.id
114
- );
115
- if (existing >= 0) {
116
- sessionEvents[existing] = functionResponseEvent;
117
- } else {
118
- sessionEvents.push(functionResponseEvent);
119
- }
120
- yield functionResponseEvent;
121
- });
122
- }
123
- };
124
- __name(_RequestConfirmationLlmRequestProcessor, "RequestConfirmationLlmRequestProcessor");
125
- let RequestConfirmationLlmRequestProcessor = _RequestConfirmationLlmRequestProcessor;
126
- function eventsInScope(invocationContext) {
127
- const events = invocationContext.session.events;
128
- const currentBranch = invocationContext.branch;
129
- if (!currentBranch) {
130
- return events;
131
- }
132
- return events.filter(
133
- (event) => !event.branch || isSegmentPrefix(currentBranch, event.branch)
134
- );
135
- }
136
- __name(eventsInScope, "eventsInScope");
137
- function collectApprovals(events, allowPlainText) {
138
- const approvals = /* @__PURE__ */ new Map();
139
- const latestUserEvent = findLatestUserEvent(events);
140
- if (!latestUserEvent) {
141
- return approvals;
142
- }
143
- for (const functionResponse of getFunctionResponses(latestUserEvent)) {
144
- if (functionResponse.name !== REQUEST_CONFIRMATION_FUNCTION_CALL_NAME) {
145
- continue;
146
- }
147
- if (!functionResponse.id || !functionResponse.response) {
148
- continue;
149
- }
150
- approvals.set(
151
- functionResponse.id,
152
- parseToolConfirmation(functionResponse.response)
153
- );
154
- }
155
- if (approvals.size === 0 && allowPlainText) {
156
- return mapPlainTextConfirmation(events);
157
- }
158
- return approvals;
159
- }
160
- __name(collectApprovals, "collectApprovals");
161
- function parseToolConfirmation(response) {
162
- const fields = Object.keys(response).length === 1 && "response" in response ? JSON.parse(response["response"]) : response;
163
- return new ToolConfirmation({
164
- hint: fields["hint"],
165
- payload: fields["payload"],
166
- confirmed: fields["confirmed"] === true
167
- });
168
- }
169
- __name(parseToolConfirmation, "parseToolConfirmation");
170
- function collectGateCandidates(events, approvals, agentName) {
171
- const candidates = [];
172
- for (const [index, event] of events.entries()) {
173
- for (const functionCall of getFunctionCalls(event)) {
174
- const confirmation = functionCall.id ? approvals.get(functionCall.id) : void 0;
175
- if (!confirmation) {
176
- continue;
177
- }
178
- if (functionCall.name !== REQUEST_CONFIRMATION_FUNCTION_CALL_NAME) {
179
- continue;
180
- }
181
- if (event.author !== agentName) {
182
- if (event.author === "user") {
183
- throw new IntentMismatchError({
184
- reason: "untrusted_request",
185
- functionCallId: functionCall.id
186
- });
187
- }
188
- continue;
189
- }
190
- const pinned = pinnedCall(functionCall);
191
- if (!pinned) {
192
- continue;
193
- }
194
- if (!pinned.id || !pinned.name) {
195
- throw new IntentMismatchError({
196
- reason: "malformed_request",
197
- functionCallId: functionCall.id
198
- });
199
- }
200
- if (hasRespondedAfter(events, pinned.id, index)) {
201
- continue;
202
- }
203
- candidates.push({ pinned, confirmation });
204
- }
205
- }
206
- return candidates;
207
- }
208
- __name(collectGateCandidates, "collectGateCandidates");
209
- async function bindApprovedCalls(options) {
210
- var _a, _b, _c;
211
- const { candidates, events, toolsDict, agentName, invocationContext } = options;
212
- const history = agentAuthoredCalls(events, agentName);
213
- const dynamicallyRequested = dynamicallyRequestedCallIds(events, agentName);
214
- const resumable = /* @__PURE__ */ new Map();
215
- for (const { pinned, confirmation } of candidates) {
216
- const pinnedId = pinned.id;
217
- const refuse = /* @__PURE__ */ __name((reason) => new IntentMismatchError({ reason, functionCallId: pinnedId }), "refuse");
218
- const original = history.get(pinnedId);
219
- if (!original) {
220
- throw refuse("unknown_original_call");
221
- }
222
- const tool = toolsDict[pinned.name];
223
- if (!tool) {
224
- throw refuse("unregistered_tool");
225
- }
226
- if (original.name !== pinned.name) {
227
- throw refuse("tool_name_mismatch");
228
- }
229
- if (!isEqual((_a = original.args) != null ? _a : {}, (_b = pinned.args) != null ? _b : {})) {
230
- throw refuse("arguments_mismatch");
231
- }
232
- const gates = await tool.checkRequireConfirmation(
233
- (_c = original.args) != null ? _c : {},
234
- new Context({ invocationContext, functionCallId: pinnedId })
235
- );
236
- if (!gates && !dynamicallyRequested.has(pinnedId)) {
237
- throw refuse("confirmation_not_required");
238
- }
239
- resumable.set(pinnedId, { call: pinned, confirmation });
240
- }
241
- return resumable;
242
- }
243
- __name(bindApprovedCalls, "bindApprovedCalls");
244
- function agentAuthoredCalls(events, agentName) {
245
- const calls = /* @__PURE__ */ new Map();
246
- for (const event of events) {
247
- if (event.author !== agentName) {
248
- continue;
249
- }
250
- for (const functionCall of getFunctionCalls(event)) {
251
- if (functionCall.id && functionCall.name !== REQUEST_CONFIRMATION_FUNCTION_CALL_NAME) {
252
- calls.set(functionCall.id, functionCall);
253
- }
254
- }
255
- }
256
- return calls;
257
- }
258
- __name(agentAuthoredCalls, "agentAuthoredCalls");
259
- function dynamicallyRequestedCallIds(events, agentName) {
260
- const requested = /* @__PURE__ */ new Set();
261
- for (const event of events) {
262
- if (event.author !== agentName) {
263
- continue;
264
- }
265
- const confirmations = event.actions.requestedToolConfirmations;
266
- for (const functionResponse of getFunctionResponses(event)) {
267
- if (functionResponse.id && functionResponse.id in confirmations) {
268
- requested.add(functionResponse.id);
269
- }
270
- }
271
- }
272
- return requested;
273
- }
274
- __name(dynamicallyRequestedCallIds, "dynamicallyRequestedCallIds");
275
- function pinnedCall(functionCall) {
276
- const args = functionCall.args;
277
- if (!args || !("originalFunctionCall" in args)) {
278
- return void 0;
279
- }
280
- const pinned = args["originalFunctionCall"];
281
- if (typeof pinned !== "object" || pinned === null || Array.isArray(pinned)) {
282
- return void 0;
283
- }
284
- return pinned;
285
- }
286
- __name(pinnedCall, "pinnedCall");
287
- function hasRespondedAfter(events, pinnedCallId, gateIndex) {
288
- return events.slice(gateIndex + 1).some(
289
- (event) => getFunctionResponses(event).some(
290
- (functionResponse) => functionResponse.id === pinnedCallId
291
- )
292
- );
293
- }
294
- __name(hasRespondedAfter, "hasRespondedAfter");
295
- function findLatestUserEvent(events) {
296
- for (let i = events.length - 1; i >= 0; i--) {
297
- if (events[i].author === "user") {
298
- return events[i];
299
- }
300
- }
301
- return void 0;
302
- }
303
- __name(findLatestUserEvent, "findLatestUserEvent");
304
- const AFFIRMATIVE = /* @__PURE__ */ new Set([
305
- "yes",
306
- "y",
307
- "true",
308
- "approve",
309
- "approved",
310
- "ok",
311
- "okay",
312
- "confirm",
313
- "confirmed"
314
- ]);
315
- const NEGATIVE = /* @__PURE__ */ new Set([
316
- "no",
317
- "n",
318
- "false",
319
- "reject",
320
- "rejected",
321
- "deny",
322
- "denied",
323
- "cancel",
324
- "cancelled"
325
- ]);
326
- function mapPlainTextConfirmation(events) {
327
- var _a, _b;
328
- const none = /* @__PURE__ */ new Map();
329
- let turnIndex = -1;
330
- let text = "";
331
- for (let i = events.length - 1; i >= 0; i--) {
332
- const event = events[i];
333
- if (event.author !== "user") {
334
- continue;
335
- }
336
- const parts = (_b = (_a = event.content) == null ? void 0 : _a.parts) != null ? _b : [];
337
- const isPlainText = parts.length > 0 && parts.every((p) => typeof p.text === "string");
338
- if (isPlainText) {
339
- turnIndex = i;
340
- text = parts.map((p) => p.text).join("");
341
- }
342
- break;
343
- }
344
- if (turnIndex < 0) {
345
- return none;
346
- }
347
- const answered = /* @__PURE__ */ new Set();
348
- for (const event of events) {
349
- if (event.author !== "user") {
350
- continue;
351
- }
352
- for (const fr of getFunctionResponses(event)) {
353
- if (fr.id) {
354
- answered.add(fr.id);
355
- }
356
- }
357
- }
358
- let pendingId;
359
- for (let i = turnIndex - 1; i >= 0; i--) {
360
- const event = events[i];
361
- if (event.author === "user") {
362
- break;
363
- }
364
- for (const fc of getFunctionCalls(event)) {
365
- if (fc.name === REQUEST_CONFIRMATION_FUNCTION_CALL_NAME && fc.id && !answered.has(fc.id)) {
366
- pendingId = fc.id;
367
- break;
368
- }
369
- }
370
- if (pendingId) {
371
- break;
372
- }
373
- }
374
- if (!pendingId) {
375
- return none;
376
- }
377
- const normalized = text.trim().toLowerCase();
378
- let confirmed;
379
- if (AFFIRMATIVE.has(normalized)) {
380
- confirmed = true;
381
- } else if (NEGATIVE.has(normalized)) {
382
- confirmed = false;
383
- } else {
384
- return none;
385
- }
386
- return /* @__PURE__ */ new Map([[pendingId, new ToolConfirmation({ confirmed })]]);
387
- }
388
- __name(mapPlainTextConfirmation, "mapPlainTextConfirmation");
389
- const REQUEST_CONFIRMATION_LLM_REQUEST_PROCESSOR = new RequestConfirmationLlmRequestProcessor();
390
- export {
391
- REQUEST_CONFIRMATION_LLM_REQUEST_PROCESSOR,
392
- RequestConfirmationLlmRequestProcessor
393
- };