@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
@@ -0,0 +1,208 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
3
+ var __defProp = Object.defineProperty;
4
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
5
+ /**
6
+ * @license
7
+ * Copyright 2026 Google LLC
8
+ * SPDX-License-Identifier: Apache-2.0
9
+ */
10
+ import { formatError } from "../utils/error_utils.js";
11
+ import { logger } from "../utils/logger.js";
12
+ import {
13
+ buildSourceDisplayName,
14
+ parseSourceDisplayName,
15
+ parseTranscriptEvents,
16
+ serializeSessionTranscript
17
+ } from "./rag_memory_transcript.js";
18
+ import {
19
+ VertexRagApiClient
20
+ } from "./vertex_ai_rag_api.js";
21
+ const RAG_FILE_PAGE_SIZE = 100;
22
+ const MAX_RAG_FILE_PAGES = 10;
23
+ const DEFAULT_VECTOR_DISTANCE_THRESHOLD = 10;
24
+ function resolveRagCorpus(options) {
25
+ var _a, _b, _c;
26
+ const ragCorpus = (_a = options.ragCorpus) == null ? void 0 : _a.trim();
27
+ if (!ragCorpus) {
28
+ throw new Error("ragCorpus is required for VertexAiRagMemoryService.");
29
+ }
30
+ const segments = ragCorpus.split("/");
31
+ const isResourceName = segments.length >= 4 && segments[0] === "projects" && segments[2] === "locations";
32
+ const projectId = (_b = options.projectId) != null ? _b : isResourceName ? segments[1] : process.env["GOOGLE_CLOUD_PROJECT"];
33
+ const location = (_c = options.location) != null ? _c : isResourceName ? segments[3] : process.env["GOOGLE_CLOUD_LOCATION"];
34
+ if (!projectId) {
35
+ throw new Error(
36
+ "projectId is required for VertexAiRagMemoryService: pass projectId, set GOOGLE_CLOUD_PROJECT, or give ragCorpus as a full resource name."
37
+ );
38
+ }
39
+ if (!location) {
40
+ throw new Error(
41
+ "location is required for VertexAiRagMemoryService: pass location, set GOOGLE_CLOUD_LOCATION, or give ragCorpus as a full resource name."
42
+ );
43
+ }
44
+ return {
45
+ projectId,
46
+ location,
47
+ ragCorpus: isResourceName ? ragCorpus : `projects/${projectId}/locations/${location}/ragCorpora/${ragCorpus}`
48
+ };
49
+ }
50
+ __name(resolveRagCorpus, "resolveRagCorpus");
51
+ function tenantSource(displayName, appName, userId) {
52
+ if (!displayName) {
53
+ return void 0;
54
+ }
55
+ const source = parseSourceDisplayName(displayName);
56
+ if (!source || source.appName !== appName || source.userId !== userId) {
57
+ return void 0;
58
+ }
59
+ return source;
60
+ }
61
+ __name(tenantSource, "tenantSource");
62
+ function toMemoryEntries(contexts, request) {
63
+ var _a;
64
+ const eventsBySession = /* @__PURE__ */ new Map();
65
+ for (const context of contexts) {
66
+ const source = tenantSource(
67
+ context.sourceDisplayName,
68
+ request.appName,
69
+ request.userId
70
+ );
71
+ if (!source) {
72
+ continue;
73
+ }
74
+ let events = eventsBySession.get(source.sessionId);
75
+ if (!events) {
76
+ events = /* @__PURE__ */ new Map();
77
+ eventsBySession.set(source.sessionId, events);
78
+ }
79
+ for (const event of parseTranscriptEvents((_a = context.text) != null ? _a : "")) {
80
+ if (!events.has(event.timestamp)) {
81
+ events.set(event.timestamp, event);
82
+ }
83
+ }
84
+ }
85
+ const memories = [];
86
+ for (const events of eventsBySession.values()) {
87
+ const sorted = [...events.values()].sort(
88
+ (a, b) => a.timestamp - b.timestamp
89
+ );
90
+ for (const event of sorted) {
91
+ memories.push({
92
+ author: event.author,
93
+ content: { parts: [{ text: event.text }] },
94
+ timestamp: new Date(event.timestamp).toISOString()
95
+ });
96
+ }
97
+ }
98
+ return memories;
99
+ }
100
+ __name(toMemoryEntries, "toMemoryEntries");
101
+ const _VertexAiRagMemoryService = class _VertexAiRagMemoryService {
102
+ /**
103
+ * @param ragApiClient An internal seam for tests to substitute a fake REST
104
+ * client. Production callers omit it and get a client for the resolved
105
+ * location.
106
+ * @internal
107
+ */
108
+ constructor(options, ragApiClient) {
109
+ var _a;
110
+ const resolved = resolveRagCorpus(options);
111
+ this.ragCorpus = resolved.ragCorpus;
112
+ this.projectId = resolved.projectId;
113
+ this.location = resolved.location;
114
+ this.similarityTopK = options.similarityTopK;
115
+ this.vectorDistanceThreshold = (_a = options.vectorDistanceThreshold) != null ? _a : DEFAULT_VECTOR_DISTANCE_THRESHOLD;
116
+ this.ragApiClient = ragApiClient != null ? ragApiClient : new VertexRagApiClient({ location: this.location });
117
+ }
118
+ /** Uploads the session's transcript into the corpus as one RAG file. */
119
+ async addSessionToMemory(session) {
120
+ return this.ragApiClient.uploadRagFile({
121
+ ragCorpus: this.ragCorpus,
122
+ displayName: buildSourceDisplayName(
123
+ session.appName,
124
+ session.userId,
125
+ session.id
126
+ ),
127
+ content: serializeSessionTranscript(session)
128
+ });
129
+ }
130
+ async searchMemory(request) {
131
+ var _a, _b;
132
+ const ragFileIds = await this.listTenantRagFileIds(request);
133
+ if ((ragFileIds == null ? void 0 : ragFileIds.length) === 0) {
134
+ return { memories: [] };
135
+ }
136
+ const response = await this.ragApiClient.retrieveContexts({
137
+ parent: `projects/${this.projectId}/locations/${this.location}`,
138
+ vertexRagStore: {
139
+ ragResources: [{ ragCorpus: this.ragCorpus, ragFileIds }]
140
+ },
141
+ query: {
142
+ text: request.query,
143
+ // Top-k belongs on the query: retrieveContexts ignores
144
+ // VertexRagStore.similarityTopK.
145
+ ragRetrievalConfig: {
146
+ topK: this.similarityTopK,
147
+ filter: { vectorDistanceThreshold: this.vectorDistanceThreshold }
148
+ }
149
+ }
150
+ });
151
+ return {
152
+ memories: toMemoryEntries((_b = (_a = response.contexts) == null ? void 0 : _a.contexts) != null ? _b : [], request)
153
+ };
154
+ }
155
+ /**
156
+ * Returns the ids of the corpus files owned by the requesting app and user,
157
+ * or `undefined` when the corpus could not be listed within the page budget.
158
+ *
159
+ * An `undefined` result retrieves over the whole corpus. Narrowing only
160
+ * improves ranking and transfer size, and every returned context is filtered
161
+ * by tenant anyway. Scoping to a partial listing would instead hide the
162
+ * caller's own memories.
163
+ */
164
+ async listTenantRagFileIds(request) {
165
+ var _a;
166
+ const ragFileIds = [];
167
+ let pageToken;
168
+ try {
169
+ for (let page = 0; page < MAX_RAG_FILE_PAGES; page++) {
170
+ const response = await this.ragApiClient.listRagFiles({
171
+ ragCorpus: this.ragCorpus,
172
+ pageSize: RAG_FILE_PAGE_SIZE,
173
+ pageToken
174
+ });
175
+ for (const ragFile of (_a = response.ragFiles) != null ? _a : []) {
176
+ const source = tenantSource(
177
+ ragFile.displayName,
178
+ request.appName,
179
+ request.userId
180
+ );
181
+ if (source && ragFile.name) {
182
+ ragFileIds.push(
183
+ ragFile.name.slice(ragFile.name.lastIndexOf("/") + 1)
184
+ );
185
+ }
186
+ }
187
+ pageToken = response.nextPageToken;
188
+ if (!pageToken) {
189
+ return ragFileIds;
190
+ }
191
+ }
192
+ } catch (e) {
193
+ logger.warn(
194
+ `Listing the corpus failed, so retrieval is not scoped to the requesting app and user: ${formatError(e)}`
195
+ );
196
+ return void 0;
197
+ }
198
+ logger.warn(
199
+ `Listing ${this.ragCorpus} did not finish within ${MAX_RAG_FILE_PAGES} pages, so retrieval is not scoped to the requesting app and user.`
200
+ );
201
+ return void 0;
202
+ }
203
+ };
204
+ __name(_VertexAiRagMemoryService, "VertexAiRagMemoryService");
205
+ let VertexAiRagMemoryService = _VertexAiRagMemoryService;
206
+ export {
207
+ VertexAiRagMemoryService
208
+ };
@@ -134,7 +134,7 @@ function validateModel(model) {
134
134
  if (modelPart.length === 0) {
135
135
  return false;
136
136
  }
137
- const components = modelPart.split("/", -1);
137
+ const components = modelPart.split("/");
138
138
  if (components[components.length - 1].length === 0) {
139
139
  return false;
140
140
  }
@@ -9,7 +9,7 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
9
9
  */
10
10
  var _a;
11
11
  import { getClientLabels } from "../utils/client_labels.js";
12
- const BASE_MODEL_SYMBOL = Symbol.for("google.adk.baseModel");
12
+ const BASE_MODEL_SYMBOL = /* @__PURE__ */ Symbol.for("google.adk.baseModel");
13
13
  function isBaseLlm(obj) {
14
14
  return typeof obj === "object" && obj !== null && BASE_MODEL_SYMBOL in obj && obj[BASE_MODEL_SYMBOL] === true;
15
15
  }
@@ -0,0 +1,285 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
3
+ var __defProp = Object.defineProperty;
4
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
5
+ /**
6
+ * @license
7
+ * Copyright 2026 Google LLC
8
+ * SPDX-License-Identifier: Apache-2.0
9
+ */
10
+ import { generateClientFunctionCallId } from "../events/event.js";
11
+ import { genaiSchemaToJsonSchema } from "../utils/genai_schema_to_json.js";
12
+ import { BaseLlm } from "./base_llm.js";
13
+ import {
14
+ buildToolChoiceSchema,
15
+ collectFunctionDeclarations,
16
+ contentsToMessages,
17
+ errorResponse,
18
+ extractSystemInstruction,
19
+ finalText,
20
+ isAbortError,
21
+ isRecord,
22
+ renderToolInstructions
23
+ } from "./chrome_prompt_utils.js";
24
+ import { stripAdkIdentityPreamble } from "./chrome_prompt_utils.js";
25
+ const _ChromeModelUnavailableError = class _ChromeModelUnavailableError extends Error {
26
+ constructor(availability) {
27
+ super(
28
+ availability === "missing-api" ? "This browser does not expose the Prompt API (globalThis.LanguageModel is undefined)." : `Chrome's built-in model is not available (availability: "${availability}").`
29
+ );
30
+ this.availability = availability;
31
+ this.name = "ChromeModelUnavailableError";
32
+ }
33
+ };
34
+ __name(_ChromeModelUnavailableError, "ChromeModelUnavailableError");
35
+ let ChromeModelUnavailableError = _ChromeModelUnavailableError;
36
+ const _ChromeBuiltInLlm = class _ChromeBuiltInLlm extends BaseLlm {
37
+ constructor(params = {}) {
38
+ var _a;
39
+ super({ model: (_a = params.model) != null ? _a : "chrome-on-device" });
40
+ this.params = params;
41
+ }
42
+ get api() {
43
+ var _a;
44
+ const api = (_a = this.params.languageModel) != null ? _a : globalThis.LanguageModel;
45
+ if (!api) throw new ChromeModelUnavailableError("missing-api");
46
+ return api;
47
+ }
48
+ /** Reports whether this browser can actually run the model. */
49
+ async availability() {
50
+ try {
51
+ return await this.api.availability({
52
+ expectedInputs: this.params.expectedInputs,
53
+ expectedOutputs: this.params.expectedOutputs
54
+ });
55
+ } catch {
56
+ return "unavailable";
57
+ }
58
+ }
59
+ diagnostic(diagnostic) {
60
+ var _a, _b;
61
+ (_b = (_a = this.params).onDiagnostic) == null ? void 0 : _b.call(_a, diagnostic);
62
+ }
63
+ /**
64
+ * Returns a session cloned from a warm base carrying `systemPrompt`, and
65
+ * rebuilds that base only when the system prompt or sampling changes.
66
+ */
67
+ async acquireSession(systemPrompt, signal) {
68
+ var _a, _b;
69
+ const key = JSON.stringify([
70
+ systemPrompt,
71
+ this.params.temperature,
72
+ this.params.topK,
73
+ this.params.expectedInputs
74
+ ]);
75
+ if (this.baseSessionKey !== key || !this.baseSessionPromise) {
76
+ (_b = (_a = this.baseSession) == null ? void 0 : _a.destroy) == null ? void 0 : _b.call(_a);
77
+ this.baseSession = void 0;
78
+ this.baseSessionKey = key;
79
+ this.baseSessionPromise = this.createBaseSession(systemPrompt);
80
+ }
81
+ let base;
82
+ try {
83
+ base = await this.baseSessionPromise;
84
+ } catch (error) {
85
+ this.baseSessionPromise = void 0;
86
+ this.baseSessionKey = void 0;
87
+ throw error;
88
+ }
89
+ return base.clone({ signal });
90
+ }
91
+ async createBaseSession(systemPrompt) {
92
+ var _a, _b;
93
+ const availability = await this.availability();
94
+ if (availability === "unavailable") {
95
+ throw new ChromeModelUnavailableError(availability);
96
+ }
97
+ const createOptions = {};
98
+ if (this.params.onDownloadProgress) {
99
+ createOptions.monitor = (monitor) => {
100
+ monitor.addEventListener("downloadprogress", (event) => {
101
+ this.params.onDownloadProgress(event.loaded);
102
+ });
103
+ };
104
+ }
105
+ if (systemPrompt) {
106
+ createOptions.initialPrompts = [{ role: "system", content: systemPrompt }];
107
+ }
108
+ if (this.params.expectedInputs) {
109
+ createOptions.expectedInputs = this.params.expectedInputs;
110
+ }
111
+ if (this.params.expectedOutputs) {
112
+ createOptions.expectedOutputs = this.params.expectedOutputs;
113
+ }
114
+ if (this.params.temperature !== void 0) {
115
+ createOptions.temperature = this.params.temperature;
116
+ createOptions.topK = (_a = this.params.topK) != null ? _a : 3;
117
+ }
118
+ const startedAt = performance.now();
119
+ let session;
120
+ try {
121
+ session = await this.api.create(createOptions);
122
+ } catch (error) {
123
+ if (this.params.temperature === void 0) throw error;
124
+ delete createOptions.temperature;
125
+ delete createOptions.topK;
126
+ session = await this.api.create(createOptions);
127
+ }
128
+ this.diagnostic({ phase: "create", ms: performance.now() - startedAt });
129
+ (_b = session.addEventListener) == null ? void 0 : _b.call(session, "contextoverflow", () => {
130
+ this.diagnostic({
131
+ phase: "context-overflow",
132
+ note: "history truncated by the browser",
133
+ contextUsage: session.contextUsage,
134
+ contextWindow: session.contextWindow
135
+ });
136
+ });
137
+ this.baseSession = session;
138
+ return session;
139
+ }
140
+ async *generateContentAsync(llmRequest, stream = false, abortSignal) {
141
+ var _a, _b, _c, _d;
142
+ const declarations = collectFunctionDeclarations(llmRequest);
143
+ const useTools = declarations.length > 0;
144
+ const rawSystem = extractSystemInstruction(llmRequest);
145
+ const systemParts = [
146
+ this.params.normalizeSystemPrompt ? this.params.normalizeSystemPrompt(rawSystem) : rawSystem
147
+ ];
148
+ if (useTools) systemParts.push(renderToolInstructions(declarations));
149
+ const systemPrompt = systemParts.filter(Boolean).join("\n\n");
150
+ this.maybeAppendUserContent(llmRequest);
151
+ const messages = contentsToMessages((_a = llmRequest.contents) != null ? _a : []);
152
+ let session;
153
+ try {
154
+ session = await this.acquireSession(systemPrompt, abortSignal);
155
+ const responseJsonSchema = (_b = llmRequest.config) == null ? void 0 : _b.responseJsonSchema;
156
+ const responseSchema = (_c = llmRequest.config) == null ? void 0 : _c.responseSchema;
157
+ let responseConstraint;
158
+ if (useTools) {
159
+ responseConstraint = buildToolChoiceSchema(declarations);
160
+ } else if (isRecord(responseJsonSchema)) {
161
+ responseConstraint = responseJsonSchema;
162
+ } else if (responseSchema) {
163
+ responseConstraint = genaiSchemaToJsonSchema(responseSchema);
164
+ }
165
+ if (stream && !responseConstraint) {
166
+ yield* this.streamText(session, messages, abortSignal);
167
+ return;
168
+ }
169
+ const raw = await this.promptOnce(
170
+ session,
171
+ messages,
172
+ responseConstraint,
173
+ abortSignal
174
+ );
175
+ yield useTools ? this.parseToolChoice(raw, declarations) : finalText(raw);
176
+ } catch (error) {
177
+ if (isAbortError(error)) throw error;
178
+ yield errorResponse(error);
179
+ } finally {
180
+ if (session && session !== this.baseSession) (_d = session.destroy) == null ? void 0 : _d.call(session);
181
+ }
182
+ }
183
+ async promptOnce(session, messages, responseConstraint, signal) {
184
+ const startedAt = performance.now();
185
+ const output = await session.prompt(messages, {
186
+ signal,
187
+ ...responseConstraint ? { responseConstraint, omitResponseConstraintInput: true } : {}
188
+ });
189
+ this.diagnostic({
190
+ phase: "prompt",
191
+ ms: performance.now() - startedAt,
192
+ contextUsage: session.contextUsage,
193
+ contextWindow: session.contextWindow
194
+ });
195
+ return output;
196
+ }
197
+ async *streamText(session, messages, signal) {
198
+ const reader = session.promptStreaming(messages, { signal }).getReader();
199
+ let accumulated = "";
200
+ try {
201
+ for (; ; ) {
202
+ const { done, value } = await reader.read();
203
+ if (done) break;
204
+ accumulated += value;
205
+ yield {
206
+ content: { role: "model", parts: [{ text: value }] },
207
+ partial: true
208
+ };
209
+ }
210
+ } finally {
211
+ await reader.cancel();
212
+ reader.releaseLock();
213
+ }
214
+ yield {
215
+ content: { role: "model", parts: [{ text: accumulated }] },
216
+ turnComplete: true
217
+ };
218
+ }
219
+ /** Turns the constrained JSON reply into an ADK response. */
220
+ parseToolChoice(raw, declarations) {
221
+ let parsed;
222
+ try {
223
+ parsed = JSON.parse(raw);
224
+ } catch {
225
+ const match = raw.match(/\{[\s\S]*\}/);
226
+ if (match) {
227
+ try {
228
+ parsed = JSON.parse(match[0]);
229
+ } catch {
230
+ }
231
+ }
232
+ }
233
+ if (!isRecord(parsed)) {
234
+ this.diagnostic({
235
+ phase: "parse-fallback",
236
+ note: "unparseable JSON; treated as text"
237
+ });
238
+ return finalText(raw);
239
+ }
240
+ if (parsed["kind"] === "tool" && typeof parsed["name"] === "string") {
241
+ const name = parsed["name"];
242
+ if (!declarations.some((declaration) => declaration.name === name)) {
243
+ return finalText(`The model requested an unknown tool "${name}".`);
244
+ }
245
+ const args = isRecord(parsed["args"]) ? parsed["args"] : {};
246
+ return {
247
+ content: {
248
+ role: "model",
249
+ parts: [
250
+ { functionCall: { id: generateClientFunctionCallId(), name, args } }
251
+ ]
252
+ },
253
+ turnComplete: true
254
+ };
255
+ }
256
+ return finalText(typeof parsed["text"] === "string" ? parsed["text"] : raw);
257
+ }
258
+ async connect(_llmRequest) {
259
+ throw new Error(
260
+ "Chrome's Prompt API has no bidirectional live mode, so connect() is not supported by ChromeBuiltInLlm."
261
+ );
262
+ }
263
+ /** Releases the warm base session. */
264
+ destroy() {
265
+ var _a, _b;
266
+ (_b = (_a = this.baseSession) == null ? void 0 : _a.destroy) == null ? void 0 : _b.call(_a);
267
+ this.baseSession = void 0;
268
+ this.baseSessionPromise = void 0;
269
+ this.baseSessionKey = void 0;
270
+ }
271
+ };
272
+ __name(_ChromeBuiltInLlm, "ChromeBuiltInLlm");
273
+ // Left unanchored on purpose: LLMRegistry.resolve wraps each pattern in
274
+ // `^...$` before matching, so anchoring here would double-anchor and never
275
+ // match.
276
+ _ChromeBuiltInLlm.supportedModels = [
277
+ /chrome-on-device/,
278
+ /chrome\/.*/
279
+ ];
280
+ let ChromeBuiltInLlm = _ChromeBuiltInLlm;
281
+ export {
282
+ ChromeBuiltInLlm,
283
+ ChromeModelUnavailableError,
284
+ stripAdkIdentityPreamble
285
+ };
@@ -0,0 +1,192 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
3
+ var __defProp = Object.defineProperty;
4
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
5
+ /**
6
+ * @license
7
+ * Copyright 2026 Google LLC
8
+ * SPDX-License-Identifier: Apache-2.0
9
+ */
10
+ import { genaiSchemaToJsonSchema } from "../utils/genai_schema_to_json.js";
11
+ function isRecord(value) {
12
+ return typeof value === "object" && value !== null && !Array.isArray(value);
13
+ }
14
+ __name(isRecord, "isRecord");
15
+ function argumentSchema(declaration) {
16
+ if (isRecord(declaration.parametersJsonSchema)) {
17
+ return declaration.parametersJsonSchema;
18
+ }
19
+ if (declaration.parameters) {
20
+ return genaiSchemaToJsonSchema(declaration.parameters);
21
+ }
22
+ return { type: "object", properties: {} };
23
+ }
24
+ __name(argumentSchema, "argumentSchema");
25
+ function collectFunctionDeclarations(llmRequest) {
26
+ var _a, _b;
27
+ const declarations = [];
28
+ for (const tool of (_b = (_a = llmRequest.config) == null ? void 0 : _a.tools) != null ? _b : []) {
29
+ if (isRecord(tool) && Array.isArray(tool["functionDeclarations"])) {
30
+ declarations.push(
31
+ ...tool["functionDeclarations"]
32
+ );
33
+ }
34
+ }
35
+ return declarations;
36
+ }
37
+ __name(collectFunctionDeclarations, "collectFunctionDeclarations");
38
+ function buildToolChoiceSchema(declarations) {
39
+ const branches = [
40
+ {
41
+ type: "object",
42
+ properties: {
43
+ kind: { type: "string", enum: ["final"] },
44
+ text: { type: "string" }
45
+ },
46
+ required: ["kind", "text"]
47
+ }
48
+ ];
49
+ for (const declaration of declarations) {
50
+ if (!declaration.name) continue;
51
+ branches.push({
52
+ type: "object",
53
+ properties: {
54
+ kind: { type: "string", enum: ["tool"] },
55
+ name: { type: "string", enum: [declaration.name] },
56
+ args: argumentSchema(declaration)
57
+ },
58
+ required: ["kind", "name", "args"]
59
+ });
60
+ }
61
+ return branches.length === 1 ? branches[0] : { anyOf: branches };
62
+ }
63
+ __name(buildToolChoiceSchema, "buildToolChoiceSchema");
64
+ function renderToolInstructions(declarations) {
65
+ if (!declarations.length) return "";
66
+ const lines = declarations.map(
67
+ (declaration) => {
68
+ var _a;
69
+ return `- ${declaration.name}: ${(_a = declaration.description) != null ? _a : ""}
70
+ arguments: ${JSON.stringify(argumentSchema(declaration))}`;
71
+ }
72
+ );
73
+ return [
74
+ "You can call these tools:",
75
+ ...lines,
76
+ "",
77
+ 'Reply with JSON only. To call a tool use {"kind":"tool","name":<tool>,"args":{...}}.',
78
+ 'When you have the answer use {"kind":"final","text":<answer>}.'
79
+ ].join("\n");
80
+ }
81
+ __name(renderToolInstructions, "renderToolInstructions");
82
+ function renderToolResult(response) {
83
+ if (response == null) return "{}";
84
+ let value = response;
85
+ if (isRecord(value) && Object.keys(value).length === 1 && "result" in value) {
86
+ value = value["result"];
87
+ }
88
+ if (typeof value === "string") {
89
+ const trimmed = value.trim();
90
+ if (trimmed.startsWith("{") || trimmed.startsWith("[")) {
91
+ try {
92
+ return JSON.stringify(JSON.parse(trimmed));
93
+ } catch {
94
+ return trimmed;
95
+ }
96
+ }
97
+ return trimmed;
98
+ }
99
+ try {
100
+ return JSON.stringify(value);
101
+ } catch {
102
+ return String(value);
103
+ }
104
+ }
105
+ __name(renderToolResult, "renderToolResult");
106
+ function contentsToMessages(contents) {
107
+ var _a, _b;
108
+ const messages = [];
109
+ for (const content of contents != null ? contents : []) {
110
+ const role = content.role === "model" ? "assistant" : "user";
111
+ const chunks = [];
112
+ for (const part of (_a = content.parts) != null ? _a : []) {
113
+ if (part.text) chunks.push(part.text);
114
+ if (part.functionCall) {
115
+ const args = JSON.stringify((_b = part.functionCall.args) != null ? _b : {});
116
+ chunks.push(`[tool_call] ${part.functionCall.name}(${args})`);
117
+ }
118
+ if (part.functionResponse) {
119
+ const rendered = renderToolResult(part.functionResponse.response);
120
+ chunks.push(
121
+ `[tool_result] ${part.functionResponse.name} -> ${rendered}`
122
+ );
123
+ }
124
+ }
125
+ if (chunks.length) {
126
+ messages.push({ role, content: chunks.join("\n") });
127
+ }
128
+ }
129
+ return messages;
130
+ }
131
+ __name(contentsToMessages, "contentsToMessages");
132
+ function extractSystemInstruction(llmRequest) {
133
+ var _a;
134
+ const instruction = (_a = llmRequest.config) == null ? void 0 : _a.systemInstruction;
135
+ if (!instruction) return "";
136
+ if (typeof instruction === "string") return instruction;
137
+ if (Array.isArray(instruction)) {
138
+ return instruction.map(
139
+ (entry) => {
140
+ var _a2;
141
+ return typeof entry === "string" ? entry : (_a2 = entry == null ? void 0 : entry.text) != null ? _a2 : "";
142
+ }
143
+ ).filter(Boolean).join("\n");
144
+ }
145
+ if (isRecord(instruction) && Array.isArray(instruction["parts"])) {
146
+ return instruction["parts"].map((part) => {
147
+ var _a2;
148
+ return (_a2 = part.text) != null ? _a2 : "";
149
+ }).filter(Boolean).join("\n");
150
+ }
151
+ return String(instruction);
152
+ }
153
+ __name(extractSystemInstruction, "extractSystemInstruction");
154
+ function stripAdkIdentityPreamble(systemPrompt) {
155
+ return systemPrompt.replace(/^You are an agent\. Your internal name is "[^"]*"\.\s*/m, "").replace(/^The description about you is "[^"]*"\s*/m, "").trimStart();
156
+ }
157
+ __name(stripAdkIdentityPreamble, "stripAdkIdentityPreamble");
158
+ function isAbortError(error) {
159
+ return isRecord(error) && error["name"] === "AbortError";
160
+ }
161
+ __name(isAbortError, "isAbortError");
162
+ function finalText(text) {
163
+ return { content: { role: "model", parts: [{ text }] }, turnComplete: true };
164
+ }
165
+ __name(finalText, "finalText");
166
+ function errorResponse(error) {
167
+ const details = isRecord(error) ? error : {};
168
+ const name = typeof details["name"] === "string" ? details["name"] : "UnknownError";
169
+ const message = typeof details["message"] === "string" ? details["message"] : String(error);
170
+ if (name === "QuotaExceededError") {
171
+ return {
172
+ errorCode: name,
173
+ errorMessage: `Prompt exceeded the context window (requested ${details["requested"]} of ${details["quota"]} tokens).`,
174
+ turnComplete: true
175
+ };
176
+ }
177
+ return { errorCode: name, errorMessage: message, turnComplete: true };
178
+ }
179
+ __name(errorResponse, "errorResponse");
180
+ export {
181
+ buildToolChoiceSchema,
182
+ collectFunctionDeclarations,
183
+ contentsToMessages,
184
+ errorResponse,
185
+ extractSystemInstruction,
186
+ finalText,
187
+ isAbortError,
188
+ isRecord,
189
+ renderToolInstructions,
190
+ renderToolResult,
191
+ stripAdkIdentityPreamble
192
+ };