@google/adk 2.0.0 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (658) hide show
  1. package/dist/cjs/a2a/a2a_event.js +0 -29
  2. package/dist/cjs/a2a/a2a_remote_agent.js +8 -5
  3. package/dist/cjs/a2a/a2a_remote_agent_utils.js +104 -2
  4. package/dist/cjs/a2a/agent_card.js +66 -6
  5. package/dist/cjs/a2a/agent_executor.js +18 -6
  6. package/dist/cjs/a2a/agent_to_a2a.js +6 -1
  7. package/dist/cjs/a2a/event_processor_utils.js +1 -1
  8. package/dist/cjs/a2a/executor_context.js +4 -2
  9. package/dist/cjs/a2a/index.js +4 -0
  10. package/dist/cjs/a2a/request_metadata.js +94 -0
  11. package/dist/cjs/agents/base_agent.js +9 -8
  12. package/dist/cjs/agents/context.js +7 -0
  13. package/dist/cjs/agents/functions.js +150 -47
  14. package/dist/cjs/agents/invocation_context.js +1 -0
  15. package/dist/cjs/agents/llm_agent.js +21 -6
  16. package/dist/cjs/agents/loop_agent.js +1 -1
  17. package/dist/cjs/agents/parallel_agent.js +1 -1
  18. package/dist/cjs/agents/processors/agent_transfer_llm_request_processor.js +26 -5
  19. package/dist/cjs/agents/processors/code_execution_request_processor.js +2 -2
  20. package/dist/cjs/agents/processors/content_processor_utils.js +15 -7
  21. package/dist/cjs/agents/processors/content_request_processor.js +4 -1
  22. package/dist/cjs/agents/processors/nl_planning_processor.js +114 -0
  23. package/dist/cjs/agents/processors/request_confirmation_llm_request_processor.js +19 -12
  24. package/dist/cjs/agents/processors/request_input_llm_request_processor.js +3 -7
  25. package/dist/cjs/agents/readonly_context.js +6 -0
  26. package/dist/cjs/agents/routed_agent.js +1 -1
  27. package/dist/cjs/agents/sequential_agent.js +1 -1
  28. package/dist/cjs/apps/app.js +1 -1
  29. package/dist/cjs/artifacts/file_artifact_service.js +1 -2
  30. package/dist/cjs/artifacts/gcs_artifact_service.js +13 -7
  31. package/dist/cjs/artifacts/scoped_artifact_service.js +9 -0
  32. package/dist/cjs/artifacts/session_artifact_service.js +19 -0
  33. package/dist/cjs/auth/auth_credential.js +12 -2
  34. package/dist/cjs/auth/auth_handler.js +44 -8
  35. package/dist/cjs/auth/oauth2/oauth2_credential_refresher.js +1 -1
  36. package/dist/cjs/auth/oauth2/oauth2_utils.js +17 -2
  37. package/dist/cjs/code_executors/base_code_executor.js +1 -1
  38. package/dist/cjs/code_executors/built_in_code_executor.js +1 -1
  39. package/dist/cjs/code_executors/code_execution_utils.js +5 -5
  40. package/dist/cjs/code_executors/container_code_executor.js +186 -0
  41. package/dist/cjs/code_executors/docker_container.js +282 -0
  42. package/dist/cjs/code_executors/unsafe_local_code_executor.js +11 -6
  43. package/dist/cjs/common.js +119 -45
  44. package/dist/cjs/context/agent_controlled_context_compactor.js +10 -5
  45. package/dist/cjs/context/anchored_context_compactor.js +41 -18
  46. package/dist/cjs/context/compaction_utils.js +15 -6
  47. package/dist/cjs/context/token_based_context_compactor.js +10 -2
  48. package/dist/cjs/context/trajectory_thought_pruning_compactor.js +17 -10
  49. package/dist/cjs/context/truncating_context_compactor.js +17 -5
  50. package/dist/cjs/errors/already_exists_error.js +50 -0
  51. package/dist/cjs/errors/input_validation_error.js +50 -0
  52. package/dist/cjs/errors/not_found_error.js +50 -0
  53. package/dist/cjs/errors/session_not_found_error.js +50 -0
  54. package/dist/cjs/errors/tool_execution_error.js +68 -0
  55. package/dist/cjs/events/event.js +1 -1
  56. package/dist/cjs/events/event_actions.js +7 -0
  57. package/dist/cjs/examples/base_example_provider.js +1 -1
  58. package/dist/cjs/examples/example.js +92 -0
  59. package/dist/cjs/examples/example_util.js +28 -4
  60. package/dist/cjs/examples/index.js +39 -0
  61. package/dist/cjs/examples/vertex_ai_example_store.js +39 -0
  62. package/dist/cjs/index.js +93 -0
  63. package/dist/cjs/index_web.js +2 -0
  64. package/dist/cjs/integrations/agent_registry/agent_registry.js +3 -2
  65. package/dist/cjs/memory/rag_memory_transcript.js +136 -0
  66. package/dist/cjs/memory/vertex_ai_memory_bank_service.js +19 -7
  67. package/dist/cjs/memory/vertex_ai_rag_api.js +120 -0
  68. package/dist/cjs/memory/vertex_ai_rag_memory_service.js +228 -0
  69. package/dist/cjs/models/apigee_llm.js +1 -1
  70. package/dist/cjs/models/base_llm.js +2 -7
  71. package/dist/cjs/models/chrome_prompt_llm.js +318 -0
  72. package/dist/cjs/models/chrome_prompt_utils.js +281 -0
  73. package/dist/cjs/models/gemini_llm_connection.js +5 -4
  74. package/dist/cjs/models/google_llm.js +9 -4
  75. package/dist/cjs/models/interactions_utils.js +2 -3
  76. package/dist/cjs/models/registry.js +2 -0
  77. package/dist/cjs/planners/base_planner.js +56 -0
  78. package/dist/cjs/planners/built_in_planner.js +85 -0
  79. package/dist/cjs/planners/plan_re_act_planner.js +172 -0
  80. package/dist/cjs/plugins/_reflect_retry_utils.js +142 -0
  81. package/dist/cjs/plugins/base_plugin.js +46 -61
  82. package/dist/cjs/plugins/reflect_retry_model_plugin.js +274 -0
  83. package/dist/cjs/plugins/reflect_retry_tool_plugin.js +276 -0
  84. package/dist/cjs/runner/runner.js +29 -26
  85. package/dist/cjs/sessions/database_session_service.js +78 -43
  86. package/dist/cjs/sessions/db/operations.js +229 -22
  87. package/dist/cjs/sessions/db/schema.js +113 -159
  88. package/dist/cjs/sessions/registry.js +5 -1
  89. package/dist/cjs/sessions/vertex_ai_session_service.js +2 -2
  90. package/dist/cjs/telemetry/setup.js +1 -1
  91. package/dist/cjs/telemetry/tracing.js +11 -1
  92. package/dist/cjs/tools/agent_tool.js +4 -5
  93. package/dist/cjs/tools/base_tool.js +14 -4
  94. package/dist/cjs/tools/base_toolset.js +4 -4
  95. package/dist/cjs/tools/built_in_tool.js +75 -0
  96. package/dist/cjs/tools/enterprise_web_search_tool.js +3 -6
  97. package/dist/cjs/tools/example_tool.js +1 -1
  98. package/dist/cjs/tools/forwarding_artifact_service.js +18 -13
  99. package/dist/cjs/tools/function_tool.js +6 -3
  100. package/dist/cjs/tools/google_maps_grounding_tool.js +3 -6
  101. package/dist/cjs/tools/google_search_tool.js +3 -6
  102. package/dist/cjs/tools/load_artifacts_tool.js +47 -23
  103. package/dist/cjs/tools/load_web_page.js +6 -172
  104. package/dist/cjs/tools/mcp/load_mcp_resource_tool.js +34 -5
  105. package/dist/cjs/tools/mcp/mcp_session_manager.js +14 -8
  106. package/dist/cjs/tools/openapi_tool/auth/auth_helpers.js +292 -4
  107. package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +15 -1
  108. package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/base_auth_credential_exchanger.js +70 -0
  109. package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/oauth2_exchanger.js +120 -0
  110. package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +10 -10
  111. package/dist/cjs/tools/openapi_tool/common/common.js +139 -0
  112. package/dist/cjs/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +11 -6
  113. package/dist/cjs/tools/openapi_tool/openapi_spec_parser/operation_parser.js +74 -14
  114. package/dist/cjs/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +146 -34
  115. package/dist/cjs/tools/openapi_tool/openapi_toolset.js +14 -2
  116. package/dist/cjs/tools/openapi_tool/rest_api_tool.js +106 -46
  117. package/dist/cjs/tools/preload_memory_tool.js +1 -1
  118. package/dist/cjs/tools/resume_inputs.js +27 -0
  119. package/dist/cjs/tools/retrieval/base_retrieval_tool.js +60 -0
  120. package/dist/cjs/tools/retrieval/files_retrieval.js +95 -0
  121. package/dist/cjs/tools/retrieval/llama_index_retrieval.js +57 -0
  122. package/dist/cjs/tools/skill/skill_toolset.js +2 -0
  123. package/dist/cjs/tools/tool_context.js +41 -0
  124. package/dist/cjs/tools/url_context_tool.js +3 -6
  125. package/dist/cjs/tools/vertex_ai_search_tool.js +4 -8
  126. package/dist/cjs/tools/vertex_rag_retrieval_tool.js +3 -10
  127. package/dist/cjs/tools/webmcp/index.js +37 -0
  128. package/dist/cjs/tools/webmcp/webmcp_tool.js +156 -0
  129. package/dist/cjs/tools/webmcp/webmcp_toolset.js +116 -0
  130. package/dist/cjs/tools/webmcp/webmcp_types.js +50 -0
  131. package/dist/cjs/utils/case_utils.js +52 -2
  132. package/dist/cjs/utils/client_labels.js +67 -0
  133. package/dist/cjs/utils/crypto_shim.js +16 -0
  134. package/dist/cjs/utils/gemini_schema_util.js +103 -9
  135. package/dist/cjs/utils/hash_utils.js +73 -0
  136. package/dist/cjs/utils/live_connection_utils.js +10 -9
  137. package/dist/cjs/utils/logger.js +15 -50
  138. package/dist/cjs/utils/logger_browser.js +86 -0
  139. package/dist/cjs/utils/logger_node.js +119 -0
  140. package/dist/cjs/utils/model_name.js +17 -2
  141. package/dist/cjs/utils/redact_inline_data.js +46 -0
  142. package/dist/cjs/utils/redact_uri.js +15 -1
  143. package/dist/cjs/utils/schema.js +1 -1
  144. package/dist/cjs/utils/simple_zod_to_json.js +5 -0
  145. package/dist/cjs/utils/ssrf_guard.js +262 -0
  146. package/dist/cjs/version.js +1 -1
  147. package/dist/cjs/workflow/base_node.js +1 -1
  148. package/dist/cjs/workflow/graph.js +1 -1
  149. package/dist/cjs/workflow/nodes/node_tool.js +2 -11
  150. package/dist/cjs/workflow/request_input.js +1 -1
  151. package/dist/cjs/workflow/run_llm_agent_as_node.js +1 -1
  152. package/dist/cjs/workflow/workflow.js +1 -1
  153. package/dist/esm/a2a/a2a_event.js +0 -28
  154. package/dist/esm/a2a/a2a_remote_agent.js +10 -5
  155. package/dist/esm/a2a/a2a_remote_agent_utils.js +102 -2
  156. package/dist/esm/a2a/agent_card.js +71 -6
  157. package/dist/esm/a2a/agent_executor.js +18 -6
  158. package/dist/esm/a2a/agent_to_a2a.js +8 -2
  159. package/dist/esm/a2a/event_processor_utils.js +1 -2
  160. package/dist/esm/a2a/executor_context.js +4 -2
  161. package/dist/esm/a2a/index.js +7 -1
  162. package/dist/esm/a2a/request_metadata.js +68 -0
  163. package/dist/esm/agents/base_agent.js +9 -8
  164. package/dist/esm/agents/context.js +7 -0
  165. package/dist/esm/agents/functions.js +152 -48
  166. package/dist/esm/agents/invocation_context.js +1 -0
  167. package/dist/esm/agents/llm_agent.js +24 -6
  168. package/dist/esm/agents/loop_agent.js +1 -1
  169. package/dist/esm/agents/parallel_agent.js +1 -1
  170. package/dist/esm/agents/processors/agent_transfer_llm_request_processor.js +26 -5
  171. package/dist/esm/agents/processors/code_execution_request_processor.js +2 -2
  172. package/dist/esm/agents/processors/content_processor_utils.js +15 -7
  173. package/dist/esm/agents/processors/content_request_processor.js +4 -1
  174. package/dist/esm/agents/processors/nl_planning_processor.js +87 -0
  175. package/dist/esm/agents/processors/request_confirmation_llm_request_processor.js +19 -12
  176. package/dist/esm/agents/processors/request_input_llm_request_processor.js +3 -7
  177. package/dist/esm/agents/readonly_context.js +6 -0
  178. package/dist/esm/agents/routed_agent.js +1 -1
  179. package/dist/esm/agents/sequential_agent.js +1 -1
  180. package/dist/esm/apps/app.js +1 -1
  181. package/dist/esm/artifacts/file_artifact_service.js +1 -2
  182. package/dist/esm/artifacts/gcs_artifact_service.js +13 -7
  183. package/dist/esm/artifacts/scoped_artifact_service.js +9 -0
  184. package/dist/esm/artifacts/session_artifact_service.js +12 -0
  185. package/dist/esm/auth/auth_credential.js +11 -1
  186. package/dist/esm/auth/auth_handler.js +47 -8
  187. package/dist/esm/auth/oauth2/oauth2_credential_refresher.js +1 -1
  188. package/dist/esm/auth/oauth2/oauth2_utils.js +15 -2
  189. package/dist/esm/code_executors/base_code_executor.js +1 -1
  190. package/dist/esm/code_executors/built_in_code_executor.js +1 -1
  191. package/dist/esm/code_executors/code_execution_utils.js +5 -5
  192. package/dist/esm/code_executors/container_code_executor.js +155 -0
  193. package/dist/esm/code_executors/docker_container.js +265 -0
  194. package/dist/esm/code_executors/unsafe_local_code_executor.js +11 -6
  195. package/dist/esm/common.js +111 -40
  196. package/dist/esm/context/agent_controlled_context_compactor.js +10 -5
  197. package/dist/esm/context/anchored_context_compactor.js +45 -19
  198. package/dist/esm/context/compaction_utils.js +13 -5
  199. package/dist/esm/context/token_based_context_compactor.js +10 -2
  200. package/dist/esm/context/trajectory_thought_pruning_compactor.js +17 -10
  201. package/dist/esm/context/truncating_context_compactor.js +17 -5
  202. package/dist/esm/errors/already_exists_error.js +23 -0
  203. package/dist/esm/errors/input_validation_error.js +23 -0
  204. package/dist/{web/auth/refresher/base_credential_refresher.js → esm/errors/not_found_error.js} +9 -6
  205. package/dist/esm/errors/session_not_found_error.js +23 -0
  206. package/dist/esm/errors/tool_execution_error.js +40 -0
  207. package/dist/esm/events/event.js +1 -1
  208. package/dist/esm/events/event_actions.js +6 -0
  209. package/dist/esm/examples/base_example_provider.js +1 -1
  210. package/dist/esm/examples/example.js +85 -0
  211. package/dist/esm/examples/example_util.js +25 -3
  212. package/dist/{web/auth/credential_service/base_credential_service.js → esm/examples/index.js} +4 -0
  213. package/dist/{web/version.js → esm/examples/vertex_ai_example_store.js} +2 -2
  214. package/dist/esm/index.js +87 -0
  215. package/dist/esm/index_web.js +2 -0
  216. package/dist/esm/integrations/agent_registry/agent_registry.js +3 -2
  217. package/dist/esm/memory/rag_memory_transcript.js +106 -0
  218. package/dist/esm/memory/vertex_ai_memory_bank_service.js +19 -7
  219. package/dist/esm/memory/vertex_ai_rag_api.js +93 -0
  220. package/dist/esm/memory/vertex_ai_rag_memory_service.js +208 -0
  221. package/dist/esm/models/apigee_llm.js +1 -1
  222. package/dist/esm/models/base_llm.js +3 -8
  223. package/dist/esm/models/chrome_prompt_llm.js +302 -0
  224. package/dist/esm/models/chrome_prompt_utils.js +241 -0
  225. package/dist/esm/models/gemini_llm_connection.js +6 -5
  226. package/dist/esm/models/google_llm.js +9 -4
  227. package/dist/esm/models/interactions_utils.js +2 -3
  228. package/dist/esm/models/registry.js +2 -0
  229. package/dist/esm/planners/base_planner.js +28 -0
  230. package/dist/esm/planners/built_in_planner.js +57 -0
  231. package/dist/esm/planners/plan_re_act_planner.js +145 -0
  232. package/dist/esm/plugins/_reflect_retry_utils.js +111 -0
  233. package/dist/esm/plugins/base_plugin.js +46 -61
  234. package/dist/esm/plugins/reflect_retry_model_plugin.js +250 -0
  235. package/dist/esm/plugins/reflect_retry_tool_plugin.js +254 -0
  236. package/dist/esm/runner/runner.js +35 -27
  237. package/dist/esm/sessions/database_session_service.js +58 -25
  238. package/dist/esm/sessions/db/operations.js +229 -22
  239. package/dist/esm/sessions/db/schema.js +111 -160
  240. package/dist/esm/sessions/registry.js +5 -1
  241. package/dist/esm/sessions/vertex_ai_session_service.js +1 -1
  242. package/dist/esm/telemetry/setup.js +1 -1
  243. package/dist/esm/telemetry/tracing.js +11 -1
  244. package/dist/esm/tools/agent_tool.js +4 -5
  245. package/dist/esm/tools/base_tool.js +11 -3
  246. package/dist/esm/tools/base_toolset.js +4 -4
  247. package/dist/esm/tools/built_in_tool.js +51 -0
  248. package/dist/esm/tools/enterprise_web_search_tool.js +3 -6
  249. package/dist/esm/tools/example_tool.js +1 -1
  250. package/dist/esm/tools/forwarding_artifact_service.js +18 -13
  251. package/dist/esm/tools/function_tool.js +6 -3
  252. package/dist/esm/tools/google_maps_grounding_tool.js +3 -6
  253. package/dist/esm/tools/google_search_tool.js +3 -6
  254. package/dist/esm/tools/load_artifacts_tool.js +48 -24
  255. package/dist/esm/tools/load_web_page.js +10 -170
  256. package/dist/esm/tools/mcp/load_mcp_resource_tool.js +34 -5
  257. package/dist/esm/tools/mcp/mcp_session_manager.js +14 -8
  258. package/dist/esm/tools/openapi_tool/auth/auth_helpers.js +285 -3
  259. package/dist/esm/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +15 -1
  260. package/dist/esm/tools/openapi_tool/auth/credential_exchangers/base_auth_credential_exchanger.js +43 -0
  261. package/dist/esm/tools/openapi_tool/auth/credential_exchangers/oauth2_exchanger.js +93 -0
  262. package/dist/esm/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +10 -12
  263. package/dist/esm/tools/openapi_tool/common/common.js +112 -0
  264. package/dist/esm/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +11 -6
  265. package/dist/esm/tools/openapi_tool/openapi_spec_parser/operation_parser.js +81 -14
  266. package/dist/esm/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +146 -33
  267. package/dist/esm/tools/openapi_tool/openapi_toolset.js +14 -2
  268. package/dist/esm/tools/openapi_tool/rest_api_tool.js +105 -46
  269. package/dist/esm/tools/preload_memory_tool.js +1 -1
  270. package/dist/esm/tools/retrieval/base_retrieval_tool.js +33 -0
  271. package/dist/esm/tools/retrieval/files_retrieval.js +81 -0
  272. package/dist/esm/tools/retrieval/llama_index_retrieval.js +30 -0
  273. package/dist/esm/tools/skill/skill_toolset.js +2 -0
  274. package/dist/{web/context/base_context_compactor.js → esm/tools/tool_context.js} +8 -0
  275. package/dist/esm/tools/url_context_tool.js +3 -6
  276. package/dist/esm/tools/vertex_ai_search_tool.js +4 -8
  277. package/dist/esm/tools/vertex_rag_retrieval_tool.js +3 -10
  278. package/dist/{web/auth/base_auth_provider.js → esm/tools/webmcp/index.js} +3 -0
  279. package/dist/esm/tools/webmcp/webmcp_tool.js +131 -0
  280. package/dist/esm/tools/webmcp/webmcp_toolset.js +89 -0
  281. package/dist/{web/utils/crypto_shim.js → esm/tools/webmcp/webmcp_types.js} +10 -6
  282. package/dist/esm/utils/case_utils.js +49 -1
  283. package/dist/esm/utils/client_labels.js +65 -0
  284. package/dist/esm/utils/crypto_shim.js +14 -0
  285. package/dist/esm/utils/gemini_schema_util.js +102 -9
  286. package/dist/esm/utils/hash_utils.js +45 -0
  287. package/dist/esm/utils/live_connection_utils.js +11 -10
  288. package/dist/esm/utils/logger.js +14 -40
  289. package/dist/esm/utils/logger_browser.js +58 -0
  290. package/dist/esm/utils/logger_node.js +81 -0
  291. package/dist/esm/utils/model_name.js +15 -2
  292. package/dist/esm/utils/redact_inline_data.js +19 -0
  293. package/dist/esm/utils/redact_uri.js +15 -1
  294. package/dist/esm/utils/schema.js +1 -1
  295. package/dist/esm/utils/simple_zod_to_json.js +5 -0
  296. package/dist/{web/tools/load_web_page.js → esm/utils/ssrf_guard.js} +95 -107
  297. package/dist/esm/version.js +1 -1
  298. package/dist/esm/workflow/base_node.js +1 -1
  299. package/dist/esm/workflow/graph.js +1 -1
  300. package/dist/esm/workflow/nodes/node_tool.js +2 -11
  301. package/dist/esm/workflow/request_input.js +1 -1
  302. package/dist/esm/workflow/run_llm_agent_as_node.js +1 -1
  303. package/dist/esm/workflow/workflow.js +1 -1
  304. package/dist/types/a2a/a2a_event.d.ts +7 -10
  305. package/dist/types/a2a/a2a_remote_agent.d.ts +5 -0
  306. package/dist/types/a2a/a2a_remote_agent_utils.d.ts +25 -0
  307. package/dist/types/a2a/agent_card.d.ts +9 -0
  308. package/dist/types/a2a/agent_executor.d.ts +1 -1
  309. package/dist/types/a2a/agent_to_a2a.d.ts +2 -0
  310. package/dist/types/a2a/auth.d.ts +5 -1
  311. package/dist/types/a2a/executor_context.d.ts +7 -1
  312. package/dist/types/a2a/index.d.ts +1 -1
  313. package/dist/types/a2a/request_metadata.d.ts +22 -0
  314. package/dist/types/agents/base_agent.d.ts +19 -16
  315. package/dist/types/agents/context.d.ts +8 -0
  316. package/dist/types/agents/functions.d.ts +72 -6
  317. package/dist/types/agents/invocation_context.d.ts +11 -3
  318. package/dist/types/agents/llm_agent.d.ts +20 -7
  319. package/dist/types/agents/processors/agent_transfer_llm_request_processor.d.ts +16 -1
  320. package/dist/types/agents/processors/nl_planning_processor.d.ts +30 -0
  321. package/dist/types/agents/readonly_context.d.ts +4 -0
  322. package/dist/types/agents/run_config.d.ts +21 -8
  323. package/dist/types/artifacts/scoped_artifact_service.d.ts +13 -0
  324. package/dist/types/artifacts/session_artifact_service.d.ts +8 -1
  325. package/dist/types/auth/auth_credential.d.ts +22 -8
  326. package/dist/types/auth/auth_handler.d.ts +12 -1
  327. package/dist/types/auth/oauth2/oauth2_credential_refresher.d.ts +1 -1
  328. package/dist/types/auth/oauth2/oauth2_utils.d.ts +9 -0
  329. package/dist/types/auth/refresher/base_credential_refresher.d.ts +1 -1
  330. package/dist/types/code_executors/code_execution_utils.d.ts +1 -1
  331. package/dist/types/code_executors/container_code_executor.d.ts +89 -0
  332. package/dist/types/code_executors/docker_container.d.ts +79 -0
  333. package/dist/types/common.d.ts +37 -23
  334. package/dist/types/context/compaction_utils.d.ts +9 -1
  335. package/dist/types/errors/already_exists_error.d.ts +14 -0
  336. package/dist/types/errors/input_validation_error.d.ts +14 -0
  337. package/dist/types/errors/not_found_error.d.ts +14 -0
  338. package/dist/types/errors/session_not_found_error.d.ts +14 -0
  339. package/dist/types/errors/tool_execution_error.d.ts +36 -0
  340. package/dist/types/events/event_actions.d.ts +13 -0
  341. package/dist/types/examples/base_example_provider.d.ts +2 -2
  342. package/dist/types/examples/example.d.ts +75 -0
  343. package/dist/types/examples/example_util.d.ts +13 -2
  344. package/dist/types/examples/index.d.ts +18 -0
  345. package/dist/types/examples/vertex_ai_example_store.d.ts +7 -0
  346. package/dist/types/index.d.ts +31 -1
  347. package/dist/types/memory/memory_entry.d.ts +15 -0
  348. package/dist/types/memory/rag_memory_transcript.d.ts +55 -0
  349. package/dist/types/memory/vertex_ai_memory_bank_service.d.ts +9 -0
  350. package/dist/types/memory/vertex_ai_rag_api.d.ts +89 -0
  351. package/dist/types/memory/vertex_ai_rag_memory_service.d.ts +68 -0
  352. package/dist/types/models/chrome_prompt_llm.d.ts +210 -0
  353. package/dist/types/models/chrome_prompt_utils.d.ts +97 -0
  354. package/dist/types/models/google_llm.d.ts +8 -3
  355. package/dist/types/models/registry.d.ts +3 -2
  356. package/dist/types/planners/base_planner.d.ts +50 -0
  357. package/dist/types/planners/built_in_planner.d.ts +53 -0
  358. package/dist/types/planners/plan_re_act_planner.d.ts +21 -0
  359. package/dist/types/plugins/_reflect_retry_utils.d.ts +72 -0
  360. package/dist/types/plugins/base_plugin.d.ts +64 -62
  361. package/dist/types/plugins/logging_plugin.d.ts +3 -2
  362. package/dist/types/plugins/reflect_retry_model_plugin.d.ts +132 -0
  363. package/dist/types/plugins/reflect_retry_tool_plugin.d.ts +187 -0
  364. package/dist/types/runner/runner.d.ts +7 -8
  365. package/dist/types/sessions/database_session_service.d.ts +1 -1
  366. package/dist/types/sessions/db/operations.d.ts +13 -1
  367. package/dist/types/sessions/db/schema.d.ts +23 -9
  368. package/dist/types/skills/skill_registry.d.ts +8 -0
  369. package/dist/types/tools/base_tool.d.ts +11 -0
  370. package/dist/types/tools/base_toolset.d.ts +3 -4
  371. package/dist/types/tools/built_in_tool.d.ts +41 -0
  372. package/dist/types/tools/enterprise_web_search_tool.d.ts +4 -4
  373. package/dist/types/tools/forwarding_artifact_service.d.ts +23 -10
  374. package/dist/types/tools/function_tool.d.ts +42 -9
  375. package/dist/types/tools/google_maps_grounding_tool.d.ts +4 -4
  376. package/dist/types/tools/google_search_tool.d.ts +4 -4
  377. package/dist/types/tools/long_running_tool.d.ts +1 -1
  378. package/dist/types/tools/mcp/mcp_toolset.d.ts +11 -10
  379. package/dist/types/tools/openapi_tool/auth/auth_helpers.d.ts +115 -1
  380. package/dist/types/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.d.ts +31 -2
  381. package/dist/types/tools/openapi_tool/auth/credential_exchangers/base_auth_credential_exchanger.d.ts +35 -0
  382. package/dist/types/tools/openapi_tool/auth/credential_exchangers/oauth2_exchanger.d.ts +54 -0
  383. package/dist/types/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.d.ts +0 -1
  384. package/dist/types/tools/openapi_tool/common/common.d.ts +60 -0
  385. package/dist/types/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.d.ts +7 -0
  386. package/dist/types/tools/openapi_tool/openapi_spec_parser/operation_parser.d.ts +56 -2
  387. package/dist/types/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.d.ts +73 -5
  388. package/dist/types/tools/openapi_tool/openapi_toolset.d.ts +11 -0
  389. package/dist/types/tools/openapi_tool/rest_api_tool.d.ts +42 -8
  390. package/dist/types/tools/preload_memory_tool.d.ts +1 -1
  391. package/dist/types/tools/resume_inputs.d.ts +25 -0
  392. package/dist/types/tools/retrieval/base_retrieval_tool.d.ts +21 -0
  393. package/dist/types/tools/retrieval/files_retrieval.d.ts +50 -0
  394. package/dist/types/tools/retrieval/llama_index_retrieval.d.ts +62 -0
  395. package/dist/types/tools/tool_context.d.ts +19 -0
  396. package/dist/types/tools/url_context_tool.d.ts +4 -4
  397. package/dist/types/tools/vertex_ai_search_tool.d.ts +4 -4
  398. package/dist/types/tools/vertex_rag_retrieval_tool.d.ts +13 -12
  399. package/dist/types/tools/webmcp/index.d.ts +12 -0
  400. package/dist/types/tools/webmcp/webmcp_tool.d.ts +47 -0
  401. package/dist/types/tools/webmcp/webmcp_toolset.d.ts +67 -0
  402. package/dist/types/tools/webmcp/webmcp_types.d.ts +69 -0
  403. package/dist/types/utils/case_utils.d.ts +36 -0
  404. package/dist/types/utils/client_labels.d.ts +33 -0
  405. package/dist/types/utils/crypto_shim.d.ts +16 -0
  406. package/dist/types/utils/gemini_schema_util.d.ts +18 -7
  407. package/dist/types/utils/hash_utils.d.ts +25 -0
  408. package/dist/types/utils/logger.d.ts +33 -3
  409. package/dist/types/utils/logger_browser.d.ts +28 -0
  410. package/dist/types/utils/logger_node.d.ts +20 -0
  411. package/dist/types/utils/model_name.d.ts +30 -2
  412. package/dist/types/utils/output_schema_utils.d.ts +3 -3
  413. package/dist/types/utils/redact_inline_data.d.ts +16 -0
  414. package/dist/types/utils/redact_uri.d.ts +12 -8
  415. package/dist/types/utils/ssrf_guard.d.ts +32 -0
  416. package/dist/types/version.d.ts +1 -1
  417. package/dist/web/index_web.js +337 -3
  418. package/dist/web/index_web.js.map +7 -0
  419. package/package.json +24 -15
  420. package/dist/web/a2a/a2a_event.js +0 -290
  421. package/dist/web/a2a/a2a_remote_agent.js +0 -200
  422. package/dist/web/a2a/a2a_remote_agent_run_processor.js +0 -189
  423. package/dist/web/a2a/a2a_remote_agent_utils.js +0 -141
  424. package/dist/web/a2a/agent_card.js +0 -373
  425. package/dist/web/a2a/agent_executor.js +0 -246
  426. package/dist/web/a2a/agent_to_a2a.js +0 -126
  427. package/dist/web/a2a/auth.js +0 -41
  428. package/dist/web/a2a/event_converter_utils.js +0 -242
  429. package/dist/web/a2a/event_processor_utils.js +0 -209
  430. package/dist/web/a2a/executor_context.js +0 -28
  431. package/dist/web/a2a/index.js +0 -20
  432. package/dist/web/a2a/metadata_converter_utils.js +0 -115
  433. package/dist/web/a2a/part_converter_utils.js +0 -201
  434. package/dist/web/agents/active_streaming_tool.js +0 -25
  435. package/dist/web/agents/base_agent.js +0 -462
  436. package/dist/web/agents/context.js +0 -146
  437. package/dist/web/agents/framework_function_calls.js +0 -34
  438. package/dist/web/agents/functions.js +0 -462
  439. package/dist/web/agents/instructions.js +0 -188
  440. package/dist/web/agents/invocation_context.js +0 -126
  441. package/dist/web/agents/live_request_queue.js +0 -151
  442. package/dist/web/agents/llm_agent.js +0 -1514
  443. package/dist/web/agents/loop_agent.js +0 -131
  444. package/dist/web/agents/parallel_agent.js +0 -122
  445. package/dist/web/agents/processors/agent_transfer_llm_request_processor.js +0 -113
  446. package/dist/web/agents/processors/base_llm_processor.js +0 -21
  447. package/dist/web/agents/processors/basic_llm_request_processor.js +0 -84
  448. package/dist/web/agents/processors/code_execution_request_processor.js +0 -381
  449. package/dist/web/agents/processors/content_processor_utils.js +0 -432
  450. package/dist/web/agents/processors/content_request_processor.js +0 -73
  451. package/dist/web/agents/processors/context_compactor_request_processor.js +0 -78
  452. package/dist/web/agents/processors/identity_llm_request_processor.js +0 -59
  453. package/dist/web/agents/processors/instructions_llm_request_processor.js +0 -85
  454. package/dist/web/agents/processors/interactions_request_processor.js +0 -56
  455. package/dist/web/agents/processors/request_confirmation_llm_request_processor.js +0 -393
  456. package/dist/web/agents/processors/request_input_llm_request_processor.js +0 -228
  457. package/dist/web/agents/processors/tool_filter_request_processor.js +0 -72
  458. package/dist/web/agents/readonly_context.js +0 -60
  459. package/dist/web/agents/routed_agent.js +0 -161
  460. package/dist/web/agents/run_config.js +0 -74
  461. package/dist/web/agents/sequential_agent.js +0 -141
  462. package/dist/web/agents/transcription_entry.js +0 -7
  463. package/dist/web/agents/user_input_request.js +0 -135
  464. package/dist/web/apps/app.js +0 -52
  465. package/dist/web/apps/resumability_config.js +0 -33
  466. package/dist/web/artifacts/base_artifact_service.js +0 -7
  467. package/dist/web/artifacts/file_artifact_service.js +0 -568
  468. package/dist/web/artifacts/gcs_artifact_service.js +0 -298
  469. package/dist/web/artifacts/in_memory_artifact_service.js +0 -172
  470. package/dist/web/artifacts/registry.js +0 -36
  471. package/dist/web/artifacts/scoped_artifact_service.js +0 -89
  472. package/dist/web/auth/auth_credential.js +0 -18
  473. package/dist/web/auth/auth_handler.js +0 -151
  474. package/dist/web/auth/auth_preprocessor.js +0 -184
  475. package/dist/web/auth/auth_provider_registry.js +0 -37
  476. package/dist/web/auth/auth_schemes.js +0 -36
  477. package/dist/web/auth/auth_tool.js +0 -7
  478. package/dist/web/auth/credential_response_binding.js +0 -91
  479. package/dist/web/auth/credential_service/in_memory_credential_service.js +0 -50
  480. package/dist/web/auth/credential_service/session_state_credential_service.js +0 -27
  481. package/dist/web/auth/exchanger/base_credential_exchanger.js +0 -16
  482. package/dist/web/auth/exchanger/credential_exchanger_registry.js +0 -35
  483. package/dist/web/auth/oauth2/oauth2_credential_exchanger.js +0 -194
  484. package/dist/web/auth/oauth2/oauth2_credential_refresher.js +0 -105
  485. package/dist/web/auth/oauth2/oauth2_discovery.js +0 -196
  486. package/dist/web/auth/oauth2/oauth2_utils.js +0 -105
  487. package/dist/web/auth/refresher/credential_refresher_registry.js +0 -44
  488. package/dist/web/code_executors/agent_engine_sandbox_code_executor.js +0 -284
  489. package/dist/web/code_executors/base_code_executor.js +0 -68
  490. package/dist/web/code_executors/built_in_code_executor.js +0 -50
  491. package/dist/web/code_executors/code_execution_utils.js +0 -131
  492. package/dist/web/code_executors/code_executor_context.js +0 -174
  493. package/dist/web/code_executors/unsafe_local_code_executor.js +0 -221
  494. package/dist/web/common.js +0 -452
  495. package/dist/web/context/agent_controlled_context_compactor.js +0 -76
  496. package/dist/web/context/anchored_context_compactor.js +0 -120
  497. package/dist/web/context/compaction_utils.js +0 -42
  498. package/dist/web/context/summarizers/base_summarizer.js +0 -7
  499. package/dist/web/context/summarizers/llm_summarizer.js +0 -91
  500. package/dist/web/context/token_based_context_compactor.js +0 -118
  501. package/dist/web/context/trajectory_thought_pruning_compactor.js +0 -47
  502. package/dist/web/context/truncating_context_compactor.js +0 -34
  503. package/dist/web/environment/base_environment.js +0 -71
  504. package/dist/web/environment/local_environment.js +0 -165
  505. package/dist/web/events/compacted_event.js +0 -51
  506. package/dist/web/events/event.js +0 -208
  507. package/dist/web/events/event_actions.js +0 -74
  508. package/dist/web/events/structured_events.js +0 -79
  509. package/dist/web/examples/base_example_provider.js +0 -32
  510. package/dist/web/examples/example.js +0 -7
  511. package/dist/web/examples/example_util.js +0 -83
  512. package/dist/web/features/feature_registry.js +0 -115
  513. package/dist/web/index.js +0 -57
  514. package/dist/web/integrations/agent_registry/agent_registry.js +0 -337
  515. package/dist/web/integrations/agent_registry/agent_registry_mcp_toolset.js +0 -120
  516. package/dist/web/integrations/agent_registry/helpers.js +0 -32
  517. package/dist/web/integrations/agent_registry/types.js +0 -20
  518. package/dist/web/memory/base_memory_service.js +0 -7
  519. package/dist/web/memory/in_memory_memory_service.js +0 -89
  520. package/dist/web/memory/memory_entry.js +0 -7
  521. package/dist/web/memory/vertex_ai_memory_bank_service.js +0 -496
  522. package/dist/web/models/apigee_llm.js +0 -227
  523. package/dist/web/models/base_llm.js +0 -78
  524. package/dist/web/models/base_llm_connection.js +0 -7
  525. package/dist/web/models/gemini_llm_connection.js +0 -183
  526. package/dist/web/models/google_llm.js +0 -396
  527. package/dist/web/models/interactions_utils.js +0 -745
  528. package/dist/web/models/llm_request.js +0 -57
  529. package/dist/web/models/llm_response.js +0 -48
  530. package/dist/web/models/registry.js +0 -100
  531. package/dist/web/models/routed_llm.js +0 -112
  532. package/dist/web/plugins/base_plugin.js +0 -305
  533. package/dist/web/plugins/global_instruction_plugin.js +0 -71
  534. package/dist/web/plugins/logging_plugin.js +0 -241
  535. package/dist/web/plugins/plugin_manager.js +0 -318
  536. package/dist/web/plugins/security_plugin.js +0 -148
  537. package/dist/web/runner/in_memory_runner.js +0 -50
  538. package/dist/web/runner/runner.js +0 -747
  539. package/dist/web/sessions/base_session_service.js +0 -123
  540. package/dist/web/sessions/database_session_service.js +0 -440
  541. package/dist/web/sessions/db/operations.js +0 -124
  542. package/dist/web/sessions/db/schema.js +0 -216
  543. package/dist/web/sessions/in_memory_session_service.js +0 -251
  544. package/dist/web/sessions/registry.js +0 -38
  545. package/dist/web/sessions/session.js +0 -23
  546. package/dist/web/sessions/state.js +0 -159
  547. package/dist/web/sessions/state_write_order.js +0 -74
  548. package/dist/web/sessions/vertex_ai_session_service.js +0 -546
  549. package/dist/web/skills/gcp_skill_registry.js +0 -80
  550. package/dist/web/skills/loader.js +0 -372
  551. package/dist/web/skills/prompt.js +0 -34
  552. package/dist/web/skills/skill.js +0 -67
  553. package/dist/web/skills/skill_registry.js +0 -7
  554. package/dist/web/telemetry/google_cloud.js +0 -99
  555. package/dist/web/telemetry/setup.js +0 -89
  556. package/dist/web/telemetry/tracing.js +0 -304
  557. package/dist/web/tools/agent_tool.js +0 -150
  558. package/dist/web/tools/base_tool.js +0 -116
  559. package/dist/web/tools/base_toolset.js +0 -62
  560. package/dist/web/tools/consolidate_context_tool.js +0 -55
  561. package/dist/web/tools/enterprise_web_search_tool.js +0 -60
  562. package/dist/web/tools/example_tool.js +0 -46
  563. package/dist/web/tools/exit_loop_tool.js +0 -47
  564. package/dist/web/tools/finish_task_tool.js +0 -92
  565. package/dist/web/tools/forwarding_artifact_service.js +0 -51
  566. package/dist/web/tools/function_tool.js +0 -151
  567. package/dist/web/tools/get_user_choice_tool.js +0 -27
  568. package/dist/web/tools/google_maps_grounding_tool.js +0 -59
  569. package/dist/web/tools/google_search_tool.js +0 -55
  570. package/dist/web/tools/load_artifacts_tool.js +0 -159
  571. package/dist/web/tools/load_memory_tool.js +0 -83
  572. package/dist/web/tools/long_running_tool.js +0 -58
  573. package/dist/web/tools/mcp/index.js +0 -11
  574. package/dist/web/tools/mcp/load_mcp_resource_tool.js +0 -111
  575. package/dist/web/tools/mcp/mcp_session_manager.js +0 -114
  576. package/dist/web/tools/mcp/mcp_tool.js +0 -47
  577. package/dist/web/tools/mcp/mcp_toolset.js +0 -144
  578. package/dist/web/tools/openapi_tool/auth/auth_helpers.js +0 -53
  579. package/dist/web/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +0 -62
  580. package/dist/web/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +0 -113
  581. package/dist/web/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +0 -242
  582. package/dist/web/tools/openapi_tool/openapi_spec_parser/operation_parser.js +0 -200
  583. package/dist/web/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +0 -98
  584. package/dist/web/tools/openapi_tool/openapi_toolset.js +0 -99
  585. package/dist/web/tools/openapi_tool/rest_api_tool.js +0 -247
  586. package/dist/web/tools/preload_memory_tool.js +0 -81
  587. package/dist/web/tools/request_input_tool.js +0 -29
  588. package/dist/web/tools/skill/list_skills_tool.js +0 -52
  589. package/dist/web/tools/skill/load_skill_resource_tool.js +0 -192
  590. package/dist/web/tools/skill/load_skill_tool.js +0 -96
  591. package/dist/web/tools/skill/run_skill_inline_script_tool.js +0 -191
  592. package/dist/web/tools/skill/run_skill_script_tool.js +0 -227
  593. package/dist/web/tools/skill/search_skills_tool.js +0 -84
  594. package/dist/web/tools/skill/skill_toolset.js +0 -185
  595. package/dist/web/tools/tool_confirmation.js +0 -43
  596. package/dist/web/tools/url_context_tool.js +0 -48
  597. package/dist/web/tools/vertex_ai_search_tool.js +0 -107
  598. package/dist/web/tools/vertex_rag_retrieval_tool.js +0 -40
  599. package/dist/web/utils/async_hooks_shim.js +0 -28
  600. package/dist/web/utils/async_queue.js +0 -88
  601. package/dist/web/utils/branch_trie.js +0 -16
  602. package/dist/web/utils/case_utils.js +0 -28
  603. package/dist/web/utils/client_labels.js +0 -70
  604. package/dist/web/utils/deprecated.js +0 -40
  605. package/dist/web/utils/env_aware_utils.js +0 -115
  606. package/dist/web/utils/error_utils.js +0 -101
  607. package/dist/web/utils/experimental.js +0 -54
  608. package/dist/web/utils/failover_utils.js +0 -100
  609. package/dist/web/utils/file_extension_utils.js +0 -55
  610. package/dist/web/utils/file_utils.js +0 -108
  611. package/dist/web/utils/gemini_schema_util.js +0 -177
  612. package/dist/web/utils/genai_schema_to_json.js +0 -80
  613. package/dist/web/utils/live_connection_utils.js +0 -257
  614. package/dist/web/utils/logger.js +0 -140
  615. package/dist/web/utils/model_name.js +0 -75
  616. package/dist/web/utils/object_notation_utils.js +0 -54
  617. package/dist/web/utils/optional_peer.js +0 -38
  618. package/dist/web/utils/output_schema_utils.js +0 -18
  619. package/dist/web/utils/partial_copy.js +0 -26
  620. package/dist/web/utils/redact_uri.js +0 -39
  621. package/dist/web/utils/schema.js +0 -167
  622. package/dist/web/utils/simple_zod_to_json.js +0 -134
  623. package/dist/web/utils/streaming_utils.js +0 -438
  624. package/dist/web/utils/task.js +0 -38
  625. package/dist/web/utils/variant_utils.js +0 -23
  626. package/dist/web/utils/vertex_ai_utils.js +0 -27
  627. package/dist/web/workflow/base_node.js +0 -215
  628. package/dist/web/workflow/branch_path.js +0 -77
  629. package/dist/web/workflow/dynamic_node_scheduler.js +0 -202
  630. package/dist/web/workflow/errors.js +0 -140
  631. package/dist/web/workflow/graph.js +0 -127
  632. package/dist/web/workflow/index.js +0 -80
  633. package/dist/web/workflow/node.js +0 -87
  634. package/dist/web/workflow/node_builders.js +0 -40
  635. package/dist/web/workflow/node_context.js +0 -236
  636. package/dist/web/workflow/node_error_event.js +0 -86
  637. package/dist/web/workflow/node_runner.js +0 -481
  638. package/dist/web/workflow/node_state.js +0 -43
  639. package/dist/web/workflow/node_status.js +0 -20
  640. package/dist/web/workflow/nodes/function_node.js +0 -221
  641. package/dist/web/workflow/nodes/join_node.js +0 -47
  642. package/dist/web/workflow/nodes/node_tool.js +0 -131
  643. package/dist/web/workflow/nodes/parallel_worker.js +0 -120
  644. package/dist/web/workflow/nodes/tool_node.js +0 -126
  645. package/dist/web/workflow/request_input.js +0 -36
  646. package/dist/web/workflow/retry_config.js +0 -43
  647. package/dist/web/workflow/run_llm_agent_as_node.js +0 -266
  648. package/dist/web/workflow/run_node_as_invocation.js +0 -170
  649. package/dist/web/workflow/schedule_dynamic_node.js +0 -26
  650. package/dist/web/workflow/trigger.js +0 -7
  651. package/dist/web/workflow/utils/graph_parser.js +0 -188
  652. package/dist/web/workflow/utils/graph_validation.js +0 -189
  653. package/dist/web/workflow/utils/hitl_utils.js +0 -239
  654. package/dist/web/workflow/utils/rehydration_utils.js +0 -342
  655. package/dist/web/workflow/utils/retry_utils.js +0 -82
  656. package/dist/web/workflow/utils/workflow_graph_utils.js +0 -115
  657. package/dist/web/workflow/workflow.js +0 -529
  658. /package/dist/{web/artifacts/session_artifact_service.js → esm/tools/resume_inputs.js} +0 -0
@@ -0,0 +1,120 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ "use strict";
8
+ var __defProp = Object.defineProperty;
9
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
10
+ var __getOwnPropNames = Object.getOwnPropertyNames;
11
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
12
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
13
+ var __export = (target, all) => {
14
+ for (var name in all)
15
+ __defProp(target, name, { get: all[name], enumerable: true });
16
+ };
17
+ var __copyProps = (to, from, except, desc) => {
18
+ if (from && typeof from === "object" || typeof from === "function") {
19
+ for (let key of __getOwnPropNames(from))
20
+ if (!__hasOwnProp.call(to, key) && key !== except)
21
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
22
+ }
23
+ return to;
24
+ };
25
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
26
+ var vertex_ai_rag_api_exports = {};
27
+ __export(vertex_ai_rag_api_exports, {
28
+ VertexRagApiClient: () => VertexRagApiClient
29
+ });
30
+ module.exports = __toCommonJS(vertex_ai_rag_api_exports);
31
+ var import_google_auth_library = require("google-auth-library");
32
+ /**
33
+ * @license
34
+ * Copyright 2026 Google LLC
35
+ * SPDX-License-Identifier: Apache-2.0
36
+ */
37
+ const CLOUD_PLATFORM_SCOPE = "https://www.googleapis.com/auth/cloud-platform";
38
+ const _VertexRagApiClient = class _VertexRagApiClient {
39
+ constructor(options) {
40
+ this.host = `https://${options.location}-aiplatform.googleapis.com`;
41
+ this.auth = new import_google_auth_library.GoogleAuth({ scopes: [CLOUD_PLATFORM_SCOPE] });
42
+ }
43
+ /** Lists one page of the files in a corpus. */
44
+ async listRagFiles(params) {
45
+ const query = new URLSearchParams({ pageSize: String(params.pageSize) });
46
+ if (params.pageToken) {
47
+ query.set("pageToken", params.pageToken);
48
+ }
49
+ const url = `${this.host}/v1/${params.ragCorpus}/ragFiles?${query.toString()}`;
50
+ return this.send(url, {
51
+ method: "GET",
52
+ headers: await this.authHeaders(url)
53
+ });
54
+ }
55
+ /** Uploads `content` into a corpus as one RAG file. */
56
+ async uploadRagFile(params) {
57
+ const url = `${this.host}/upload/v1/${params.ragCorpus}/ragFiles:upload`;
58
+ const metadata = JSON.stringify({
59
+ ragFile: { displayName: params.displayName },
60
+ // Empty message: the corpus default chunking applies. The reference SDK
61
+ // omits this key unless chunking is configured, so it is optional here.
62
+ uploadRagFileConfig: {}
63
+ });
64
+ const body = new FormData();
65
+ body.append(
66
+ "metadata",
67
+ new Blob([metadata], { type: "application/json; charset=UTF-8" })
68
+ );
69
+ body.append(
70
+ "file",
71
+ new Blob([params.content], { type: "text/plain; charset=UTF-8" }),
72
+ "content.txt"
73
+ );
74
+ const headers = await this.authHeaders(url);
75
+ headers.set("X-Goog-Upload-Protocol", "multipart");
76
+ const response = await this.send(url, {
77
+ method: "POST",
78
+ headers,
79
+ body
80
+ });
81
+ if (response.error) {
82
+ throw new Error(
83
+ `Vertex AI RAG file upload was rejected: ${JSON.stringify(response.error)}`
84
+ );
85
+ }
86
+ }
87
+ /** Runs a retrieval query over a corpus. */
88
+ async retrieveContexts(params) {
89
+ const url = `${this.host}/v1/${params.parent}:retrieveContexts`;
90
+ const headers = await this.authHeaders(url);
91
+ headers.set("Content-Type", "application/json");
92
+ return this.send(url, {
93
+ method: "POST",
94
+ headers,
95
+ body: JSON.stringify({
96
+ vertexRagStore: params.vertexRagStore,
97
+ query: params.query
98
+ })
99
+ });
100
+ }
101
+ async authHeaders(url) {
102
+ const client = await this.auth.getClient();
103
+ return client.getRequestHeaders(url);
104
+ }
105
+ async send(url, init) {
106
+ const response = await fetch(url, init);
107
+ if (!response.ok) {
108
+ throw new Error(
109
+ `Vertex AI RAG request failed with status ${response.status}: ${await response.text()}`
110
+ );
111
+ }
112
+ return await response.json();
113
+ }
114
+ };
115
+ __name(_VertexRagApiClient, "VertexRagApiClient");
116
+ let VertexRagApiClient = _VertexRagApiClient;
117
+ // Annotate the CommonJS export names for ESM import in node:
118
+ 0 && (module.exports = {
119
+ VertexRagApiClient
120
+ });
@@ -0,0 +1,228 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ "use strict";
8
+ var __defProp = Object.defineProperty;
9
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
10
+ var __getOwnPropNames = Object.getOwnPropertyNames;
11
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
12
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
13
+ var __export = (target, all) => {
14
+ for (var name in all)
15
+ __defProp(target, name, { get: all[name], enumerable: true });
16
+ };
17
+ var __copyProps = (to, from, except, desc) => {
18
+ if (from && typeof from === "object" || typeof from === "function") {
19
+ for (let key of __getOwnPropNames(from))
20
+ if (!__hasOwnProp.call(to, key) && key !== except)
21
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
22
+ }
23
+ return to;
24
+ };
25
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
26
+ var vertex_ai_rag_memory_service_exports = {};
27
+ __export(vertex_ai_rag_memory_service_exports, {
28
+ VertexAiRagMemoryService: () => VertexAiRagMemoryService
29
+ });
30
+ module.exports = __toCommonJS(vertex_ai_rag_memory_service_exports);
31
+ var import_error_utils = require("../utils/error_utils.js");
32
+ var import_logger = require("../utils/logger.js");
33
+ var import_rag_memory_transcript = require("./rag_memory_transcript.js");
34
+ var import_vertex_ai_rag_api = require("./vertex_ai_rag_api.js");
35
+ /**
36
+ * @license
37
+ * Copyright 2026 Google LLC
38
+ * SPDX-License-Identifier: Apache-2.0
39
+ */
40
+ const RAG_FILE_PAGE_SIZE = 100;
41
+ const MAX_RAG_FILE_PAGES = 10;
42
+ const DEFAULT_VECTOR_DISTANCE_THRESHOLD = 10;
43
+ function resolveRagCorpus(options) {
44
+ var _a, _b, _c;
45
+ const ragCorpus = (_a = options.ragCorpus) == null ? void 0 : _a.trim();
46
+ if (!ragCorpus) {
47
+ throw new Error("ragCorpus is required for VertexAiRagMemoryService.");
48
+ }
49
+ const segments = ragCorpus.split("/");
50
+ const isResourceName = segments.length >= 4 && segments[0] === "projects" && segments[2] === "locations";
51
+ const projectId = (_b = options.projectId) != null ? _b : isResourceName ? segments[1] : process.env["GOOGLE_CLOUD_PROJECT"];
52
+ const location = (_c = options.location) != null ? _c : isResourceName ? segments[3] : process.env["GOOGLE_CLOUD_LOCATION"];
53
+ if (!projectId) {
54
+ throw new Error(
55
+ "projectId is required for VertexAiRagMemoryService: pass projectId, set GOOGLE_CLOUD_PROJECT, or give ragCorpus as a full resource name."
56
+ );
57
+ }
58
+ if (!location) {
59
+ throw new Error(
60
+ "location is required for VertexAiRagMemoryService: pass location, set GOOGLE_CLOUD_LOCATION, or give ragCorpus as a full resource name."
61
+ );
62
+ }
63
+ return {
64
+ projectId,
65
+ location,
66
+ ragCorpus: isResourceName ? ragCorpus : `projects/${projectId}/locations/${location}/ragCorpora/${ragCorpus}`
67
+ };
68
+ }
69
+ __name(resolveRagCorpus, "resolveRagCorpus");
70
+ function tenantSource(displayName, appName, userId) {
71
+ if (!displayName) {
72
+ return void 0;
73
+ }
74
+ const source = (0, import_rag_memory_transcript.parseSourceDisplayName)(displayName);
75
+ if (!source || source.appName !== appName || source.userId !== userId) {
76
+ return void 0;
77
+ }
78
+ return source;
79
+ }
80
+ __name(tenantSource, "tenantSource");
81
+ function toMemoryEntries(contexts, request) {
82
+ var _a;
83
+ const eventsBySession = /* @__PURE__ */ new Map();
84
+ for (const context of contexts) {
85
+ const source = tenantSource(
86
+ context.sourceDisplayName,
87
+ request.appName,
88
+ request.userId
89
+ );
90
+ if (!source) {
91
+ continue;
92
+ }
93
+ let events = eventsBySession.get(source.sessionId);
94
+ if (!events) {
95
+ events = /* @__PURE__ */ new Map();
96
+ eventsBySession.set(source.sessionId, events);
97
+ }
98
+ for (const event of (0, import_rag_memory_transcript.parseTranscriptEvents)((_a = context.text) != null ? _a : "")) {
99
+ if (!events.has(event.timestamp)) {
100
+ events.set(event.timestamp, event);
101
+ }
102
+ }
103
+ }
104
+ const memories = [];
105
+ for (const events of eventsBySession.values()) {
106
+ const sorted = [...events.values()].sort(
107
+ (a, b) => a.timestamp - b.timestamp
108
+ );
109
+ for (const event of sorted) {
110
+ memories.push({
111
+ author: event.author,
112
+ content: { parts: [{ text: event.text }] },
113
+ timestamp: new Date(event.timestamp).toISOString()
114
+ });
115
+ }
116
+ }
117
+ return memories;
118
+ }
119
+ __name(toMemoryEntries, "toMemoryEntries");
120
+ const _VertexAiRagMemoryService = class _VertexAiRagMemoryService {
121
+ /**
122
+ * @param ragApiClient An internal seam for tests to substitute a fake REST
123
+ * client. Production callers omit it and get a client for the resolved
124
+ * location.
125
+ * @internal
126
+ */
127
+ constructor(options, ragApiClient) {
128
+ var _a;
129
+ const resolved = resolveRagCorpus(options);
130
+ this.ragCorpus = resolved.ragCorpus;
131
+ this.projectId = resolved.projectId;
132
+ this.location = resolved.location;
133
+ this.similarityTopK = options.similarityTopK;
134
+ this.vectorDistanceThreshold = (_a = options.vectorDistanceThreshold) != null ? _a : DEFAULT_VECTOR_DISTANCE_THRESHOLD;
135
+ this.ragApiClient = ragApiClient != null ? ragApiClient : new import_vertex_ai_rag_api.VertexRagApiClient({ location: this.location });
136
+ }
137
+ /** Uploads the session's transcript into the corpus as one RAG file. */
138
+ async addSessionToMemory(session) {
139
+ return this.ragApiClient.uploadRagFile({
140
+ ragCorpus: this.ragCorpus,
141
+ displayName: (0, import_rag_memory_transcript.buildSourceDisplayName)(
142
+ session.appName,
143
+ session.userId,
144
+ session.id
145
+ ),
146
+ content: (0, import_rag_memory_transcript.serializeSessionTranscript)(session)
147
+ });
148
+ }
149
+ async searchMemory(request) {
150
+ var _a, _b;
151
+ const ragFileIds = await this.listTenantRagFileIds(request);
152
+ if ((ragFileIds == null ? void 0 : ragFileIds.length) === 0) {
153
+ return { memories: [] };
154
+ }
155
+ const response = await this.ragApiClient.retrieveContexts({
156
+ parent: `projects/${this.projectId}/locations/${this.location}`,
157
+ vertexRagStore: {
158
+ ragResources: [{ ragCorpus: this.ragCorpus, ragFileIds }]
159
+ },
160
+ query: {
161
+ text: request.query,
162
+ // Top-k belongs on the query: retrieveContexts ignores
163
+ // VertexRagStore.similarityTopK.
164
+ ragRetrievalConfig: {
165
+ topK: this.similarityTopK,
166
+ filter: { vectorDistanceThreshold: this.vectorDistanceThreshold }
167
+ }
168
+ }
169
+ });
170
+ return {
171
+ memories: toMemoryEntries((_b = (_a = response.contexts) == null ? void 0 : _a.contexts) != null ? _b : [], request)
172
+ };
173
+ }
174
+ /**
175
+ * Returns the ids of the corpus files owned by the requesting app and user,
176
+ * or `undefined` when the corpus could not be listed within the page budget.
177
+ *
178
+ * An `undefined` result retrieves over the whole corpus. Narrowing only
179
+ * improves ranking and transfer size, and every returned context is filtered
180
+ * by tenant anyway. Scoping to a partial listing would instead hide the
181
+ * caller's own memories.
182
+ */
183
+ async listTenantRagFileIds(request) {
184
+ var _a;
185
+ const ragFileIds = [];
186
+ let pageToken;
187
+ try {
188
+ for (let page = 0; page < MAX_RAG_FILE_PAGES; page++) {
189
+ const response = await this.ragApiClient.listRagFiles({
190
+ ragCorpus: this.ragCorpus,
191
+ pageSize: RAG_FILE_PAGE_SIZE,
192
+ pageToken
193
+ });
194
+ for (const ragFile of (_a = response.ragFiles) != null ? _a : []) {
195
+ const source = tenantSource(
196
+ ragFile.displayName,
197
+ request.appName,
198
+ request.userId
199
+ );
200
+ if (source && ragFile.name) {
201
+ ragFileIds.push(
202
+ ragFile.name.slice(ragFile.name.lastIndexOf("/") + 1)
203
+ );
204
+ }
205
+ }
206
+ pageToken = response.nextPageToken;
207
+ if (!pageToken) {
208
+ return ragFileIds;
209
+ }
210
+ }
211
+ } catch (e) {
212
+ import_logger.logger.warn(
213
+ `Listing the corpus failed, so retrieval is not scoped to the requesting app and user: ${(0, import_error_utils.formatError)(e)}`
214
+ );
215
+ return void 0;
216
+ }
217
+ import_logger.logger.warn(
218
+ `Listing ${this.ragCorpus} did not finish within ${MAX_RAG_FILE_PAGES} pages, so retrieval is not scoped to the requesting app and user.`
219
+ );
220
+ return void 0;
221
+ }
222
+ };
223
+ __name(_VertexAiRagMemoryService, "VertexAiRagMemoryService");
224
+ let VertexAiRagMemoryService = _VertexAiRagMemoryService;
225
+ // Annotate the CommonJS export names for ESM import in node:
226
+ 0 && (module.exports = {
227
+ VertexAiRagMemoryService
228
+ });
@@ -160,7 +160,7 @@ function validateModel(model) {
160
160
  if (modelPart.length === 0) {
161
161
  return false;
162
162
  }
163
- const components = modelPart.split("/", -1);
163
+ const components = modelPart.split("/");
164
164
  if (components[components.length - 1].length === 0) {
165
165
  return false;
166
166
  }
@@ -36,7 +36,7 @@ var import_client_labels = require("../utils/client_labels.js");
36
36
  * SPDX-License-Identifier: Apache-2.0
37
37
  */
38
38
  var _a;
39
- const BASE_MODEL_SYMBOL = Symbol.for("google.adk.baseModel");
39
+ const BASE_MODEL_SYMBOL = /* @__PURE__ */ Symbol.for("google.adk.baseModel");
40
40
  function isBaseLlm(obj) {
41
41
  return typeof obj === "object" && obj !== null && BASE_MODEL_SYMBOL in obj && obj[BASE_MODEL_SYMBOL] === true;
42
42
  }
@@ -57,12 +57,7 @@ const _BaseLlm = class _BaseLlm {
57
57
  this.model = model;
58
58
  }
59
59
  get trackingHeaders() {
60
- const labels = (0, import_client_labels.getClientLabels)();
61
- const headerValue = labels.join(" ");
62
- return {
63
- "x-goog-api-client": headerValue,
64
- "user-agent": headerValue
65
- };
60
+ return (0, import_client_labels.getTrackingHeaders)();
66
61
  }
67
62
  /**
68
63
  * Appends a user content, so that model can continue to output.
@@ -0,0 +1,318 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ "use strict";
8
+ var __defProp = Object.defineProperty;
9
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
10
+ var __getOwnPropNames = Object.getOwnPropertyNames;
11
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
12
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
13
+ var __export = (target, all) => {
14
+ for (var name in all)
15
+ __defProp(target, name, { get: all[name], enumerable: true });
16
+ };
17
+ var __copyProps = (to, from, except, desc) => {
18
+ if (from && typeof from === "object" || typeof from === "function") {
19
+ for (let key of __getOwnPropNames(from))
20
+ if (!__hasOwnProp.call(to, key) && key !== except)
21
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
22
+ }
23
+ return to;
24
+ };
25
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
26
+ var chrome_prompt_llm_exports = {};
27
+ __export(chrome_prompt_llm_exports, {
28
+ ChromeBuiltInLlm: () => ChromeBuiltInLlm,
29
+ ChromeModelUnavailableError: () => ChromeModelUnavailableError,
30
+ stripAdkIdentityPreamble: () => import_chrome_prompt_utils2.stripAdkIdentityPreamble
31
+ });
32
+ module.exports = __toCommonJS(chrome_prompt_llm_exports);
33
+ var import_event = require("../events/event.js");
34
+ var import_genai_schema_to_json = require("../utils/genai_schema_to_json.js");
35
+ var import_base_llm = require("./base_llm.js");
36
+ var import_chrome_prompt_utils = require("./chrome_prompt_utils.js");
37
+ var import_chrome_prompt_utils2 = require("./chrome_prompt_utils.js");
38
+ /**
39
+ * @license
40
+ * Copyright 2026 Google LLC
41
+ * SPDX-License-Identifier: Apache-2.0
42
+ */
43
+ const _ChromeModelUnavailableError = class _ChromeModelUnavailableError extends Error {
44
+ constructor(availability) {
45
+ super(
46
+ 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}").`
47
+ );
48
+ this.availability = availability;
49
+ this.name = "ChromeModelUnavailableError";
50
+ }
51
+ };
52
+ __name(_ChromeModelUnavailableError, "ChromeModelUnavailableError");
53
+ let ChromeModelUnavailableError = _ChromeModelUnavailableError;
54
+ const _ChromeBuiltInLlm = class _ChromeBuiltInLlm extends import_base_llm.BaseLlm {
55
+ constructor(params = {}) {
56
+ var _a;
57
+ super({ model: (_a = params.model) != null ? _a : "chrome-on-device" });
58
+ this.params = params;
59
+ }
60
+ get api() {
61
+ var _a;
62
+ const api = (_a = this.params.languageModel) != null ? _a : globalThis.LanguageModel;
63
+ if (!api) throw new ChromeModelUnavailableError("missing-api");
64
+ return api;
65
+ }
66
+ /** Reports whether this browser can actually run the model. */
67
+ async availability() {
68
+ try {
69
+ return await this.api.availability({
70
+ expectedInputs: this.params.expectedInputs,
71
+ expectedOutputs: this.params.expectedOutputs
72
+ });
73
+ } catch {
74
+ return "unavailable";
75
+ }
76
+ }
77
+ diagnostic(diagnostic) {
78
+ var _a, _b;
79
+ (_b = (_a = this.params).onDiagnostic) == null ? void 0 : _b.call(_a, diagnostic);
80
+ }
81
+ /**
82
+ * Returns a session cloned from a warm base carrying `systemPrompt`, and
83
+ * rebuilds that base only when the system prompt or sampling changes.
84
+ */
85
+ async acquireSession(systemPrompt, signal) {
86
+ var _a, _b;
87
+ const key = JSON.stringify([
88
+ systemPrompt,
89
+ this.params.temperature,
90
+ this.params.topK,
91
+ this.params.expectedInputs
92
+ ]);
93
+ if (this.baseSessionKey !== key || !this.baseSessionPromise) {
94
+ (_b = (_a = this.baseSession) == null ? void 0 : _a.destroy) == null ? void 0 : _b.call(_a);
95
+ this.baseSession = void 0;
96
+ this.baseSessionKey = key;
97
+ this.baseSessionPromise = this.createBaseSession(systemPrompt);
98
+ }
99
+ let base;
100
+ try {
101
+ base = await this.baseSessionPromise;
102
+ } catch (error) {
103
+ this.baseSessionPromise = void 0;
104
+ this.baseSessionKey = void 0;
105
+ throw error;
106
+ }
107
+ return base.clone({ signal });
108
+ }
109
+ async createBaseSession(systemPrompt) {
110
+ var _a, _b;
111
+ const availability = await this.availability();
112
+ if (availability === "unavailable") {
113
+ throw new ChromeModelUnavailableError(availability);
114
+ }
115
+ const createOptions = {};
116
+ if (this.params.onDownloadProgress) {
117
+ createOptions.monitor = (monitor) => {
118
+ monitor.addEventListener("downloadprogress", (event) => {
119
+ this.params.onDownloadProgress(event.loaded);
120
+ });
121
+ };
122
+ }
123
+ if (systemPrompt) {
124
+ createOptions.initialPrompts = [{ role: "system", content: systemPrompt }];
125
+ }
126
+ if (this.params.expectedInputs) {
127
+ createOptions.expectedInputs = this.params.expectedInputs;
128
+ }
129
+ if (this.params.expectedOutputs) {
130
+ createOptions.expectedOutputs = this.params.expectedOutputs;
131
+ }
132
+ if (this.params.temperature !== void 0) {
133
+ createOptions.temperature = this.params.temperature;
134
+ createOptions.topK = (_a = this.params.topK) != null ? _a : 3;
135
+ }
136
+ const startedAt = performance.now();
137
+ let session;
138
+ try {
139
+ session = await this.api.create(createOptions);
140
+ } catch (error) {
141
+ if (this.params.temperature === void 0) throw error;
142
+ delete createOptions.temperature;
143
+ delete createOptions.topK;
144
+ session = await this.api.create(createOptions);
145
+ }
146
+ this.diagnostic({ phase: "create", ms: performance.now() - startedAt });
147
+ (_b = session.addEventListener) == null ? void 0 : _b.call(session, "contextoverflow", () => {
148
+ this.diagnostic({
149
+ phase: "context-overflow",
150
+ note: "history truncated by the browser",
151
+ contextUsage: session.contextUsage,
152
+ contextWindow: session.contextWindow
153
+ });
154
+ });
155
+ this.baseSession = session;
156
+ return session;
157
+ }
158
+ async *generateContentAsync(llmRequest, stream = false, abortSignal) {
159
+ var _a, _b, _c, _d;
160
+ const declarations = (0, import_chrome_prompt_utils.collectFunctionDeclarations)(llmRequest);
161
+ const useTools = declarations.length > 0;
162
+ const rawSystem = (0, import_chrome_prompt_utils.extractSystemInstruction)(llmRequest);
163
+ const systemParts = [
164
+ this.params.normalizeSystemPrompt ? this.params.normalizeSystemPrompt(rawSystem) : rawSystem
165
+ ];
166
+ if (useTools) systemParts.push((0, import_chrome_prompt_utils.renderToolInstructions)(declarations));
167
+ const systemPrompt = systemParts.filter(Boolean).join("\n\n");
168
+ this.maybeAppendUserContent(llmRequest);
169
+ const messages = (0, import_chrome_prompt_utils.contentsToMessages)((_a = llmRequest.contents) != null ? _a : []);
170
+ let session;
171
+ try {
172
+ session = await this.acquireSession(systemPrompt, abortSignal);
173
+ const responseJsonSchema = (_b = llmRequest.config) == null ? void 0 : _b.responseJsonSchema;
174
+ const responseSchema = (_c = llmRequest.config) == null ? void 0 : _c.responseSchema;
175
+ let responseConstraint;
176
+ if (useTools) {
177
+ responseConstraint = (0, import_chrome_prompt_utils.buildToolChoiceSchema)(declarations);
178
+ } else if ((0, import_chrome_prompt_utils.isRecord)(responseJsonSchema)) {
179
+ responseConstraint = responseJsonSchema;
180
+ } else if (responseSchema) {
181
+ responseConstraint = (0, import_genai_schema_to_json.genaiSchemaToJsonSchema)(responseSchema);
182
+ }
183
+ if (stream && !responseConstraint) {
184
+ yield* this.streamText(session, messages, abortSignal);
185
+ return;
186
+ }
187
+ const raw = await this.promptOnce(
188
+ session,
189
+ messages,
190
+ responseConstraint,
191
+ abortSignal
192
+ );
193
+ yield useTools ? this.parseToolChoice(raw, declarations) : (0, import_chrome_prompt_utils.finalText)(raw);
194
+ } catch (error) {
195
+ if ((0, import_chrome_prompt_utils.isAbortError)(error)) throw error;
196
+ yield (0, import_chrome_prompt_utils.errorResponse)(error);
197
+ } finally {
198
+ if (session && session !== this.baseSession) (_d = session.destroy) == null ? void 0 : _d.call(session);
199
+ }
200
+ }
201
+ async promptOnce(session, messages, responseConstraint, signal) {
202
+ const startedAt = performance.now();
203
+ const output = await session.prompt(messages, {
204
+ signal,
205
+ ...responseConstraint ? { responseConstraint, omitResponseConstraintInput: true } : {}
206
+ });
207
+ this.diagnostic({
208
+ phase: "prompt",
209
+ ms: performance.now() - startedAt,
210
+ contextUsage: session.contextUsage,
211
+ contextWindow: session.contextWindow
212
+ });
213
+ return output;
214
+ }
215
+ async *streamText(session, messages, signal) {
216
+ const reader = session.promptStreaming(messages, { signal }).getReader();
217
+ let accumulated = "";
218
+ try {
219
+ for (; ; ) {
220
+ const { done, value } = await reader.read();
221
+ if (done) break;
222
+ accumulated += value;
223
+ yield {
224
+ content: { role: "model", parts: [{ text: value }] },
225
+ partial: true
226
+ };
227
+ }
228
+ } finally {
229
+ await reader.cancel();
230
+ reader.releaseLock();
231
+ }
232
+ yield {
233
+ content: { role: "model", parts: [{ text: accumulated }] },
234
+ turnComplete: true
235
+ };
236
+ }
237
+ /** Turns the constrained JSON reply into an ADK response. */
238
+ parseToolChoice(raw, declarations) {
239
+ let parsed;
240
+ try {
241
+ parsed = JSON.parse(raw);
242
+ } catch {
243
+ const match = raw.match(/\{[\s\S]*\}/);
244
+ if (match) {
245
+ try {
246
+ parsed = JSON.parse(match[0]);
247
+ } catch {
248
+ }
249
+ }
250
+ }
251
+ if (!(0, import_chrome_prompt_utils.isRecord)(parsed)) {
252
+ const salvaged = (0, import_chrome_prompt_utils.salvageFinalText)(raw);
253
+ if (salvaged !== void 0) {
254
+ this.diagnostic({
255
+ phase: "parse-fallback",
256
+ note: "truncated envelope; recovered the text"
257
+ });
258
+ return (0, import_chrome_prompt_utils.finalText)(salvaged);
259
+ }
260
+ this.diagnostic({
261
+ phase: "parse-fallback",
262
+ note: "unparseable JSON; treated as text"
263
+ });
264
+ return (0, import_chrome_prompt_utils.finalText)((0, import_chrome_prompt_utils.looksLikeEnvelope)(raw) ? import_chrome_prompt_utils.TRUNCATED_REPLY : raw);
265
+ }
266
+ if (parsed["kind"] === "tool" && typeof parsed["name"] === "string") {
267
+ const name = parsed["name"];
268
+ if (!declarations.some((declaration) => declaration.name === name)) {
269
+ return (0, import_chrome_prompt_utils.finalText)(`The model requested an unknown tool "${name}".`);
270
+ }
271
+ const args = (0, import_chrome_prompt_utils.isRecord)(parsed["args"]) ? parsed["args"] : {};
272
+ return {
273
+ content: {
274
+ role: "model",
275
+ parts: [
276
+ { functionCall: { id: (0, import_event.generateClientFunctionCallId)(), name, args } }
277
+ ]
278
+ },
279
+ turnComplete: true
280
+ };
281
+ }
282
+ if (typeof parsed["text"] === "string") return (0, import_chrome_prompt_utils.finalText)(parsed["text"]);
283
+ if (parsed["text"] !== void 0) return (0, import_chrome_prompt_utils.finalText)(String(parsed["text"]));
284
+ this.diagnostic({
285
+ phase: "parse-fallback",
286
+ note: "envelope carried no text"
287
+ });
288
+ return (0, import_chrome_prompt_utils.finalText)((0, import_chrome_prompt_utils.looksLikeEnvelope)(raw) ? import_chrome_prompt_utils.TRUNCATED_REPLY : raw);
289
+ }
290
+ async connect(_llmRequest) {
291
+ throw new Error(
292
+ "Chrome's Prompt API has no bidirectional live mode, so connect() is not supported by ChromeBuiltInLlm."
293
+ );
294
+ }
295
+ /** Releases the warm base session. */
296
+ destroy() {
297
+ var _a, _b;
298
+ (_b = (_a = this.baseSession) == null ? void 0 : _a.destroy) == null ? void 0 : _b.call(_a);
299
+ this.baseSession = void 0;
300
+ this.baseSessionPromise = void 0;
301
+ this.baseSessionKey = void 0;
302
+ }
303
+ };
304
+ __name(_ChromeBuiltInLlm, "ChromeBuiltInLlm");
305
+ // Left unanchored on purpose: LLMRegistry.resolve wraps each pattern in
306
+ // `^...$` before matching, so anchoring here would double-anchor and never
307
+ // match.
308
+ _ChromeBuiltInLlm.supportedModels = [
309
+ /chrome-on-device/,
310
+ /chrome\/.*/
311
+ ];
312
+ let ChromeBuiltInLlm = _ChromeBuiltInLlm;
313
+ // Annotate the CommonJS export names for ESM import in node:
314
+ 0 && (module.exports = {
315
+ ChromeBuiltInLlm,
316
+ ChromeModelUnavailableError,
317
+ stripAdkIdentityPreamble
318
+ });