@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,302 @@
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
+ looksLikeEnvelope,
23
+ renderToolInstructions,
24
+ salvageFinalText,
25
+ TRUNCATED_REPLY
26
+ } from "./chrome_prompt_utils.js";
27
+ import { stripAdkIdentityPreamble } from "./chrome_prompt_utils.js";
28
+ const _ChromeModelUnavailableError = class _ChromeModelUnavailableError extends Error {
29
+ constructor(availability) {
30
+ super(
31
+ 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}").`
32
+ );
33
+ this.availability = availability;
34
+ this.name = "ChromeModelUnavailableError";
35
+ }
36
+ };
37
+ __name(_ChromeModelUnavailableError, "ChromeModelUnavailableError");
38
+ let ChromeModelUnavailableError = _ChromeModelUnavailableError;
39
+ const _ChromeBuiltInLlm = class _ChromeBuiltInLlm extends BaseLlm {
40
+ constructor(params = {}) {
41
+ var _a;
42
+ super({ model: (_a = params.model) != null ? _a : "chrome-on-device" });
43
+ this.params = params;
44
+ }
45
+ get api() {
46
+ var _a;
47
+ const api = (_a = this.params.languageModel) != null ? _a : globalThis.LanguageModel;
48
+ if (!api) throw new ChromeModelUnavailableError("missing-api");
49
+ return api;
50
+ }
51
+ /** Reports whether this browser can actually run the model. */
52
+ async availability() {
53
+ try {
54
+ return await this.api.availability({
55
+ expectedInputs: this.params.expectedInputs,
56
+ expectedOutputs: this.params.expectedOutputs
57
+ });
58
+ } catch {
59
+ return "unavailable";
60
+ }
61
+ }
62
+ diagnostic(diagnostic) {
63
+ var _a, _b;
64
+ (_b = (_a = this.params).onDiagnostic) == null ? void 0 : _b.call(_a, diagnostic);
65
+ }
66
+ /**
67
+ * Returns a session cloned from a warm base carrying `systemPrompt`, and
68
+ * rebuilds that base only when the system prompt or sampling changes.
69
+ */
70
+ async acquireSession(systemPrompt, signal) {
71
+ var _a, _b;
72
+ const key = JSON.stringify([
73
+ systemPrompt,
74
+ this.params.temperature,
75
+ this.params.topK,
76
+ this.params.expectedInputs
77
+ ]);
78
+ if (this.baseSessionKey !== key || !this.baseSessionPromise) {
79
+ (_b = (_a = this.baseSession) == null ? void 0 : _a.destroy) == null ? void 0 : _b.call(_a);
80
+ this.baseSession = void 0;
81
+ this.baseSessionKey = key;
82
+ this.baseSessionPromise = this.createBaseSession(systemPrompt);
83
+ }
84
+ let base;
85
+ try {
86
+ base = await this.baseSessionPromise;
87
+ } catch (error) {
88
+ this.baseSessionPromise = void 0;
89
+ this.baseSessionKey = void 0;
90
+ throw error;
91
+ }
92
+ return base.clone({ signal });
93
+ }
94
+ async createBaseSession(systemPrompt) {
95
+ var _a, _b;
96
+ const availability = await this.availability();
97
+ if (availability === "unavailable") {
98
+ throw new ChromeModelUnavailableError(availability);
99
+ }
100
+ const createOptions = {};
101
+ if (this.params.onDownloadProgress) {
102
+ createOptions.monitor = (monitor) => {
103
+ monitor.addEventListener("downloadprogress", (event) => {
104
+ this.params.onDownloadProgress(event.loaded);
105
+ });
106
+ };
107
+ }
108
+ if (systemPrompt) {
109
+ createOptions.initialPrompts = [{ role: "system", content: systemPrompt }];
110
+ }
111
+ if (this.params.expectedInputs) {
112
+ createOptions.expectedInputs = this.params.expectedInputs;
113
+ }
114
+ if (this.params.expectedOutputs) {
115
+ createOptions.expectedOutputs = this.params.expectedOutputs;
116
+ }
117
+ if (this.params.temperature !== void 0) {
118
+ createOptions.temperature = this.params.temperature;
119
+ createOptions.topK = (_a = this.params.topK) != null ? _a : 3;
120
+ }
121
+ const startedAt = performance.now();
122
+ let session;
123
+ try {
124
+ session = await this.api.create(createOptions);
125
+ } catch (error) {
126
+ if (this.params.temperature === void 0) throw error;
127
+ delete createOptions.temperature;
128
+ delete createOptions.topK;
129
+ session = await this.api.create(createOptions);
130
+ }
131
+ this.diagnostic({ phase: "create", ms: performance.now() - startedAt });
132
+ (_b = session.addEventListener) == null ? void 0 : _b.call(session, "contextoverflow", () => {
133
+ this.diagnostic({
134
+ phase: "context-overflow",
135
+ note: "history truncated by the browser",
136
+ contextUsage: session.contextUsage,
137
+ contextWindow: session.contextWindow
138
+ });
139
+ });
140
+ this.baseSession = session;
141
+ return session;
142
+ }
143
+ async *generateContentAsync(llmRequest, stream = false, abortSignal) {
144
+ var _a, _b, _c, _d;
145
+ const declarations = collectFunctionDeclarations(llmRequest);
146
+ const useTools = declarations.length > 0;
147
+ const rawSystem = extractSystemInstruction(llmRequest);
148
+ const systemParts = [
149
+ this.params.normalizeSystemPrompt ? this.params.normalizeSystemPrompt(rawSystem) : rawSystem
150
+ ];
151
+ if (useTools) systemParts.push(renderToolInstructions(declarations));
152
+ const systemPrompt = systemParts.filter(Boolean).join("\n\n");
153
+ this.maybeAppendUserContent(llmRequest);
154
+ const messages = contentsToMessages((_a = llmRequest.contents) != null ? _a : []);
155
+ let session;
156
+ try {
157
+ session = await this.acquireSession(systemPrompt, abortSignal);
158
+ const responseJsonSchema = (_b = llmRequest.config) == null ? void 0 : _b.responseJsonSchema;
159
+ const responseSchema = (_c = llmRequest.config) == null ? void 0 : _c.responseSchema;
160
+ let responseConstraint;
161
+ if (useTools) {
162
+ responseConstraint = buildToolChoiceSchema(declarations);
163
+ } else if (isRecord(responseJsonSchema)) {
164
+ responseConstraint = responseJsonSchema;
165
+ } else if (responseSchema) {
166
+ responseConstraint = genaiSchemaToJsonSchema(responseSchema);
167
+ }
168
+ if (stream && !responseConstraint) {
169
+ yield* this.streamText(session, messages, abortSignal);
170
+ return;
171
+ }
172
+ const raw = await this.promptOnce(
173
+ session,
174
+ messages,
175
+ responseConstraint,
176
+ abortSignal
177
+ );
178
+ yield useTools ? this.parseToolChoice(raw, declarations) : finalText(raw);
179
+ } catch (error) {
180
+ if (isAbortError(error)) throw error;
181
+ yield errorResponse(error);
182
+ } finally {
183
+ if (session && session !== this.baseSession) (_d = session.destroy) == null ? void 0 : _d.call(session);
184
+ }
185
+ }
186
+ async promptOnce(session, messages, responseConstraint, signal) {
187
+ const startedAt = performance.now();
188
+ const output = await session.prompt(messages, {
189
+ signal,
190
+ ...responseConstraint ? { responseConstraint, omitResponseConstraintInput: true } : {}
191
+ });
192
+ this.diagnostic({
193
+ phase: "prompt",
194
+ ms: performance.now() - startedAt,
195
+ contextUsage: session.contextUsage,
196
+ contextWindow: session.contextWindow
197
+ });
198
+ return output;
199
+ }
200
+ async *streamText(session, messages, signal) {
201
+ const reader = session.promptStreaming(messages, { signal }).getReader();
202
+ let accumulated = "";
203
+ try {
204
+ for (; ; ) {
205
+ const { done, value } = await reader.read();
206
+ if (done) break;
207
+ accumulated += value;
208
+ yield {
209
+ content: { role: "model", parts: [{ text: value }] },
210
+ partial: true
211
+ };
212
+ }
213
+ } finally {
214
+ await reader.cancel();
215
+ reader.releaseLock();
216
+ }
217
+ yield {
218
+ content: { role: "model", parts: [{ text: accumulated }] },
219
+ turnComplete: true
220
+ };
221
+ }
222
+ /** Turns the constrained JSON reply into an ADK response. */
223
+ parseToolChoice(raw, declarations) {
224
+ let parsed;
225
+ try {
226
+ parsed = JSON.parse(raw);
227
+ } catch {
228
+ const match = raw.match(/\{[\s\S]*\}/);
229
+ if (match) {
230
+ try {
231
+ parsed = JSON.parse(match[0]);
232
+ } catch {
233
+ }
234
+ }
235
+ }
236
+ if (!isRecord(parsed)) {
237
+ const salvaged = salvageFinalText(raw);
238
+ if (salvaged !== void 0) {
239
+ this.diagnostic({
240
+ phase: "parse-fallback",
241
+ note: "truncated envelope; recovered the text"
242
+ });
243
+ return finalText(salvaged);
244
+ }
245
+ this.diagnostic({
246
+ phase: "parse-fallback",
247
+ note: "unparseable JSON; treated as text"
248
+ });
249
+ return finalText(looksLikeEnvelope(raw) ? TRUNCATED_REPLY : raw);
250
+ }
251
+ if (parsed["kind"] === "tool" && typeof parsed["name"] === "string") {
252
+ const name = parsed["name"];
253
+ if (!declarations.some((declaration) => declaration.name === name)) {
254
+ return finalText(`The model requested an unknown tool "${name}".`);
255
+ }
256
+ const args = isRecord(parsed["args"]) ? parsed["args"] : {};
257
+ return {
258
+ content: {
259
+ role: "model",
260
+ parts: [
261
+ { functionCall: { id: generateClientFunctionCallId(), name, args } }
262
+ ]
263
+ },
264
+ turnComplete: true
265
+ };
266
+ }
267
+ if (typeof parsed["text"] === "string") return finalText(parsed["text"]);
268
+ if (parsed["text"] !== void 0) return finalText(String(parsed["text"]));
269
+ this.diagnostic({
270
+ phase: "parse-fallback",
271
+ note: "envelope carried no text"
272
+ });
273
+ return finalText(looksLikeEnvelope(raw) ? TRUNCATED_REPLY : raw);
274
+ }
275
+ async connect(_llmRequest) {
276
+ throw new Error(
277
+ "Chrome's Prompt API has no bidirectional live mode, so connect() is not supported by ChromeBuiltInLlm."
278
+ );
279
+ }
280
+ /** Releases the warm base session. */
281
+ destroy() {
282
+ var _a, _b;
283
+ (_b = (_a = this.baseSession) == null ? void 0 : _a.destroy) == null ? void 0 : _b.call(_a);
284
+ this.baseSession = void 0;
285
+ this.baseSessionPromise = void 0;
286
+ this.baseSessionKey = void 0;
287
+ }
288
+ };
289
+ __name(_ChromeBuiltInLlm, "ChromeBuiltInLlm");
290
+ // Left unanchored on purpose: LLMRegistry.resolve wraps each pattern in
291
+ // `^...$` before matching, so anchoring here would double-anchor and never
292
+ // match.
293
+ _ChromeBuiltInLlm.supportedModels = [
294
+ /chrome-on-device/,
295
+ /chrome\/.*/
296
+ ];
297
+ let ChromeBuiltInLlm = _ChromeBuiltInLlm;
298
+ export {
299
+ ChromeBuiltInLlm,
300
+ ChromeModelUnavailableError,
301
+ stripAdkIdentityPreamble
302
+ };
@@ -0,0 +1,241 @@
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
+ additionalProperties: false
48
+ }
49
+ ];
50
+ for (const declaration of declarations) {
51
+ if (!declaration.name) continue;
52
+ branches.push({
53
+ type: "object",
54
+ properties: {
55
+ kind: { type: "string", enum: ["tool"] },
56
+ name: { type: "string", enum: [declaration.name] },
57
+ args: argumentSchema(declaration)
58
+ },
59
+ required: ["kind", "name", "args"],
60
+ additionalProperties: false
61
+ });
62
+ }
63
+ return branches.length === 1 ? branches[0] : { anyOf: branches };
64
+ }
65
+ __name(buildToolChoiceSchema, "buildToolChoiceSchema");
66
+ function renderToolInstructions(declarations) {
67
+ if (!declarations.length) return "";
68
+ const lines = declarations.map(
69
+ (declaration) => {
70
+ var _a;
71
+ return `- ${declaration.name}: ${(_a = declaration.description) != null ? _a : ""}
72
+ arguments: ${JSON.stringify(argumentSchema(declaration))}`;
73
+ }
74
+ );
75
+ return [
76
+ "You can call these tools:",
77
+ ...lines,
78
+ "",
79
+ 'Reply with JSON only. To call a tool use {"kind":"tool","name":<tool>,"args":{...}}.',
80
+ 'When you have the answer use {"kind":"final","text":<answer>}.'
81
+ ].join("\n");
82
+ }
83
+ __name(renderToolInstructions, "renderToolInstructions");
84
+ function renderToolResult(response) {
85
+ if (response == null) return "{}";
86
+ let value = response;
87
+ if (isRecord(value) && Object.keys(value).length === 1 && "result" in value) {
88
+ value = value["result"];
89
+ }
90
+ if (typeof value === "string") {
91
+ const trimmed = value.trim();
92
+ if (trimmed.startsWith("{") || trimmed.startsWith("[")) {
93
+ try {
94
+ return JSON.stringify(JSON.parse(trimmed));
95
+ } catch {
96
+ return trimmed;
97
+ }
98
+ }
99
+ return trimmed;
100
+ }
101
+ try {
102
+ return JSON.stringify(value);
103
+ } catch {
104
+ return String(value);
105
+ }
106
+ }
107
+ __name(renderToolResult, "renderToolResult");
108
+ function contentsToMessages(contents) {
109
+ var _a, _b;
110
+ const messages = [];
111
+ for (const content of contents != null ? contents : []) {
112
+ const role = content.role === "model" ? "assistant" : "user";
113
+ const chunks = [];
114
+ for (const part of (_a = content.parts) != null ? _a : []) {
115
+ if (part.text) chunks.push(part.text);
116
+ if (part.functionCall) {
117
+ const args = JSON.stringify((_b = part.functionCall.args) != null ? _b : {});
118
+ chunks.push(`[tool_call] ${part.functionCall.name}(${args})`);
119
+ }
120
+ if (part.functionResponse) {
121
+ const rendered = renderToolResult(part.functionResponse.response);
122
+ chunks.push(
123
+ `[tool_result] ${part.functionResponse.name} -> ${rendered}`
124
+ );
125
+ }
126
+ }
127
+ if (chunks.length) {
128
+ messages.push({ role, content: chunks.join("\n") });
129
+ }
130
+ }
131
+ return messages;
132
+ }
133
+ __name(contentsToMessages, "contentsToMessages");
134
+ function extractSystemInstruction(llmRequest) {
135
+ var _a;
136
+ const instruction = (_a = llmRequest.config) == null ? void 0 : _a.systemInstruction;
137
+ if (!instruction) return "";
138
+ if (typeof instruction === "string") return instruction;
139
+ if (Array.isArray(instruction)) {
140
+ return instruction.map(
141
+ (entry) => {
142
+ var _a2;
143
+ return typeof entry === "string" ? entry : (_a2 = entry == null ? void 0 : entry.text) != null ? _a2 : "";
144
+ }
145
+ ).filter(Boolean).join("\n");
146
+ }
147
+ if (isRecord(instruction) && Array.isArray(instruction["parts"])) {
148
+ return instruction["parts"].map((part) => {
149
+ var _a2;
150
+ return (_a2 = part.text) != null ? _a2 : "";
151
+ }).filter(Boolean).join("\n");
152
+ }
153
+ return String(instruction);
154
+ }
155
+ __name(extractSystemInstruction, "extractSystemInstruction");
156
+ function stripAdkIdentityPreamble(systemPrompt) {
157
+ return systemPrompt.replace(/^You are an agent\. Your internal name is "[^"]*"\.\s*/m, "").replace(/^The description about you is "[^"]*"\s*/m, "").trimStart();
158
+ }
159
+ __name(stripAdkIdentityPreamble, "stripAdkIdentityPreamble");
160
+ function isAbortError(error) {
161
+ return isRecord(error) && error["name"] === "AbortError";
162
+ }
163
+ __name(isAbortError, "isAbortError");
164
+ function finalText(text) {
165
+ return { content: { role: "model", parts: [{ text }] }, turnComplete: true };
166
+ }
167
+ __name(finalText, "finalText");
168
+ function errorResponse(error) {
169
+ const details = isRecord(error) ? error : {};
170
+ const name = typeof details["name"] === "string" ? details["name"] : "UnknownError";
171
+ const message = typeof details["message"] === "string" ? details["message"] : String(error);
172
+ if (name === "QuotaExceededError") {
173
+ return {
174
+ errorCode: name,
175
+ errorMessage: `Prompt exceeded the context window (requested ${details["requested"]} of ${details["quota"]} tokens).`,
176
+ turnComplete: true
177
+ };
178
+ }
179
+ return { errorCode: name, errorMessage: message, turnComplete: true };
180
+ }
181
+ __name(errorResponse, "errorResponse");
182
+ const TRUNCATED_REPLY = "The model started an answer and did not finish it. Ask again.";
183
+ function looksLikeEnvelope(raw) {
184
+ return /^\s*[[{]/.test(raw) || /"kind"\s*:/.test(raw);
185
+ }
186
+ __name(looksLikeEnvelope, "looksLikeEnvelope");
187
+ function salvageFinalText(raw) {
188
+ var _a;
189
+ const key = raw.match(/"text"\s*:\s*"/);
190
+ if ((key == null ? void 0 : key.index) === void 0) return void 0;
191
+ const escapes = {
192
+ n: "\n",
193
+ t: " ",
194
+ r: "\r",
195
+ b: "\b",
196
+ f: "\f",
197
+ '"': '"',
198
+ "\\": "\\",
199
+ "/": "/"
200
+ };
201
+ let out = "";
202
+ for (let i = key.index + key[0].length; i < raw.length; i++) {
203
+ const char = raw[i];
204
+ if (char === '"') break;
205
+ if (char !== "\\") {
206
+ out += char;
207
+ continue;
208
+ }
209
+ const next = raw[i + 1];
210
+ if (next === void 0) break;
211
+ if (next === "u") {
212
+ const hex = raw.slice(i + 2, i + 6);
213
+ if (/^[0-9a-fA-F]{4}$/.test(hex)) {
214
+ out += String.fromCharCode(parseInt(hex, 16));
215
+ i += 5;
216
+ continue;
217
+ }
218
+ }
219
+ out += (_a = escapes[next]) != null ? _a : next;
220
+ i++;
221
+ }
222
+ const text = out.trim();
223
+ return text.length ? text : void 0;
224
+ }
225
+ __name(salvageFinalText, "salvageFinalText");
226
+ export {
227
+ TRUNCATED_REPLY,
228
+ buildToolChoiceSchema,
229
+ collectFunctionDeclarations,
230
+ contentsToMessages,
231
+ errorResponse,
232
+ extractSystemInstruction,
233
+ finalText,
234
+ isAbortError,
235
+ isRecord,
236
+ looksLikeEnvelope,
237
+ renderToolInstructions,
238
+ renderToolResult,
239
+ salvageFinalText,
240
+ stripAdkIdentityPreamble
241
+ };
@@ -9,7 +9,7 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
9
9
  */
10
10
  import { LiveResponseAggregator } from "../utils/live_connection_utils.js";
11
11
  import { logger } from "../utils/logger.js";
12
- import { isGemini3xFlashLive } from "../utils/model_name.js";
12
+ import { isGemini35LiveTranslate, isGemini3xLive } from "../utils/model_name.js";
13
13
  const _GeminiLlmConnection = class _GeminiLlmConnection {
14
14
  constructor(geminiSession, modelVersion, messageQueue) {
15
15
  this.geminiSession = geminiSession;
@@ -33,7 +33,7 @@ const _GeminiLlmConnection = class _GeminiLlmConnection {
33
33
  }
34
34
  );
35
35
  if (contents.length > 0) {
36
- const isGemini3x = isGemini3xFlashLive(this.modelVersion);
36
+ const isGemini3x = isGemini3xLive(this.modelVersion);
37
37
  this.geminiSession.sendClientContent({
38
38
  turns: contents,
39
39
  turnComplete: isGemini3x ? true : contents[contents.length - 1].role === "user"
@@ -63,7 +63,7 @@ const _GeminiLlmConnection = class _GeminiLlmConnection {
63
63
  });
64
64
  } else {
65
65
  logger.debug("Sending LLM new content", content);
66
- const isGemini3x = isGemini3xFlashLive(this.modelVersion);
66
+ const isGemini3x = isGemini3xLive(this.modelVersion);
67
67
  if (isGemini3x && content.parts.length === 1 && content.parts[0].text) {
68
68
  logger.debug("Using sendRealtimeInput for Gemini 3.x text input");
69
69
  this.geminiSession.sendRealtimeInput({ text: content.parts[0].text });
@@ -83,9 +83,10 @@ const _GeminiLlmConnection = class _GeminiLlmConnection {
83
83
  async sendRealtime(blob) {
84
84
  var _a, _b, _c;
85
85
  logger.debug("Sending LLM Blob:", blob);
86
- const isGemini3x = isGemini3xFlashLive(this.modelVersion);
86
+ const isGemini3x = isGemini3xLive(this.modelVersion);
87
87
  const isNativeAudio = (_a = this.modelVersion) == null ? void 0 : _a.includes("native-audio");
88
- if (isGemini3x || isNativeAudio) {
88
+ const isLiveTranslate = isGemini35LiveTranslate(this.modelVersion);
89
+ if (isGemini3x || isNativeAudio || isLiveTranslate) {
89
90
  if ((_b = blob.mimeType) == null ? void 0 : _b.startsWith("audio/")) {
90
91
  this.geminiSession.sendRealtimeInput({ audio: blob });
91
92
  } else if ((_c = blob.mimeType) == null ? void 0 : _c.startsWith("image/")) {
@@ -21,7 +21,7 @@ import { BaseLlm } from "./base_llm.js";
21
21
  import { GeminiLlmConnection } from "./gemini_llm_connection.js";
22
22
  import { generateContentViaInteractions } from "./interactions_utils.js";
23
23
  import { createLlmResponse } from "./llm_response.js";
24
- const GEMINI_MODEL_SYMBOL = Symbol.for("google.adk.geminiModel");
24
+ const GEMINI_MODEL_SYMBOL = /* @__PURE__ */ Symbol.for("google.adk.geminiModel");
25
25
  function isGemini(obj) {
26
26
  return typeof obj === "object" && obj !== null && GEMINI_MODEL_SYMBOL in obj && obj[GEMINI_MODEL_SYMBOL] === true;
27
27
  }
@@ -66,9 +66,14 @@ const _Gemini = class _Gemini extends (_b = BaseLlm, _a = GEMINI_MODEL_SYMBOL, _
66
66
  /**
67
67
  * Sends a request to the Gemini model.
68
68
  *
69
- * @param llmRequest LlmRequest, the request to send to the Gemini model.
70
- * @param stream bool = false, whether to do streaming call.
71
- * @yields LlmResponse: The model response.
69
+ * @param llmRequest The request to send to the Gemini model.
70
+ * @param stream Whether to make a streaming call. Defaults to `false`.
71
+ * @yields Each {@link LlmResponse} produced by the model. A non-streaming
72
+ * call yields exactly one; a streaming call yields the partial responses
73
+ * as they arrive, then a final aggregated response whenever the stream
74
+ * carried either content or usage/grounding/citation metadata. A
75
+ * metadata-only stream therefore still ends with one, holding the
76
+ * metadata and no `content`; only a stream with neither ends silently.
72
77
  */
73
78
  async *generateContentAsync(llmRequest, stream = false, abortSignal) {
74
79
  var _a2, _b2, _c;
@@ -662,13 +662,12 @@ async function* generateContentViaInteractions(apiClient, llmRequest, stream) {
662
662
  });
663
663
  const aggregatedParts = [];
664
664
  for await (const event of responses) {
665
- const sseEvent = event;
666
- const interactionId = extractStreamInteractionId(sseEvent);
665
+ const interactionId = extractStreamInteractionId(event);
667
666
  if (interactionId) {
668
667
  currentInteractionId = interactionId;
669
668
  }
670
669
  const llmResponse = convertInteractionEventToLlmResponse(
671
- sseEvent,
670
+ event,
672
671
  aggregatedParts,
673
672
  currentInteractionId
674
673
  );
@@ -9,6 +9,7 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
9
9
  */
10
10
  import { logger } from "../utils/logger.js";
11
11
  import { ApigeeLlm } from "./apigee_llm.js";
12
+ import { ChromeBuiltInLlm } from "./chrome_prompt_llm.js";
12
13
  import { Gemini } from "./google_llm.js";
13
14
  const _LRUCache = class _LRUCache {
14
15
  constructor(maxSize) {
@@ -95,6 +96,7 @@ _LLMRegistry.resolveCache = new LRUCache(32);
95
96
  let LLMRegistry = _LLMRegistry;
96
97
  LLMRegistry.register(Gemini);
97
98
  LLMRegistry.register(ApigeeLlm);
99
+ LLMRegistry.register(ChromeBuiltInLlm);
98
100
  export {
99
101
  LLMRegistry
100
102
  };
@@ -0,0 +1,28 @@
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
+ var _a;
11
+ const BASE_PLANNER_SIGNATURE_SYMBOL = /* @__PURE__ */ Symbol.for("google.adk.basePlanner");
12
+ function isBasePlanner(obj) {
13
+ return typeof obj === "object" && obj !== null && BASE_PLANNER_SIGNATURE_SYMBOL in obj && obj[BASE_PLANNER_SIGNATURE_SYMBOL] === true;
14
+ }
15
+ __name(isBasePlanner, "isBasePlanner");
16
+ _a = BASE_PLANNER_SIGNATURE_SYMBOL;
17
+ const _BasePlanner = class _BasePlanner {
18
+ constructor() {
19
+ /** A unique symbol to identify ADK base planner class. */
20
+ this[_a] = true;
21
+ }
22
+ };
23
+ __name(_BasePlanner, "BasePlanner");
24
+ let BasePlanner = _BasePlanner;
25
+ export {
26
+ BasePlanner,
27
+ isBasePlanner
28
+ };