@google/adk 2.0.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (566) hide show
  1. package/dist/cjs/a2a/a2a_event.js +0 -29
  2. package/dist/cjs/a2a/a2a_remote_agent.js +8 -5
  3. package/dist/cjs/a2a/a2a_remote_agent_utils.js +104 -2
  4. package/dist/cjs/a2a/agent_card.js +58 -6
  5. package/dist/cjs/a2a/agent_executor.js +10 -3
  6. package/dist/cjs/a2a/agent_to_a2a.js +6 -1
  7. package/dist/cjs/a2a/event_processor_utils.js +1 -1
  8. package/dist/cjs/a2a/executor_context.js +4 -2
  9. package/dist/cjs/a2a/index.js +4 -0
  10. package/dist/cjs/a2a/request_metadata.js +94 -0
  11. package/dist/cjs/agents/base_agent.js +9 -8
  12. package/dist/cjs/agents/context.js +7 -0
  13. package/dist/cjs/agents/functions.js +150 -47
  14. package/dist/cjs/agents/invocation_context.js +1 -0
  15. package/dist/cjs/agents/llm_agent.js +6 -5
  16. package/dist/cjs/agents/loop_agent.js +1 -1
  17. package/dist/cjs/agents/parallel_agent.js +1 -1
  18. package/dist/cjs/agents/processors/agent_transfer_llm_request_processor.js +26 -5
  19. package/dist/cjs/agents/processors/code_execution_request_processor.js +2 -2
  20. package/dist/cjs/agents/processors/content_processor_utils.js +5 -5
  21. package/dist/cjs/agents/processors/content_request_processor.js +4 -1
  22. package/dist/cjs/agents/processors/request_confirmation_llm_request_processor.js +19 -12
  23. package/dist/cjs/agents/processors/request_input_llm_request_processor.js +3 -7
  24. package/dist/cjs/agents/readonly_context.js +6 -0
  25. package/dist/cjs/agents/routed_agent.js +1 -1
  26. package/dist/cjs/agents/sequential_agent.js +1 -1
  27. package/dist/cjs/apps/app.js +1 -1
  28. package/dist/cjs/artifacts/file_artifact_service.js +1 -2
  29. package/dist/cjs/artifacts/scoped_artifact_service.js +9 -0
  30. package/dist/cjs/artifacts/session_artifact_service.js +19 -0
  31. package/dist/cjs/auth/auth_handler.js +44 -8
  32. package/dist/cjs/auth/oauth2/oauth2_credential_refresher.js +1 -1
  33. package/dist/cjs/auth/oauth2/oauth2_utils.js +17 -2
  34. package/dist/cjs/code_executors/base_code_executor.js +1 -1
  35. package/dist/cjs/code_executors/built_in_code_executor.js +1 -1
  36. package/dist/cjs/code_executors/code_execution_utils.js +2 -2
  37. package/dist/cjs/code_executors/container_code_executor.js +186 -0
  38. package/dist/cjs/code_executors/docker_container.js +282 -0
  39. package/dist/cjs/code_executors/unsafe_local_code_executor.js +11 -6
  40. package/dist/cjs/common.js +74 -45
  41. package/dist/cjs/context/agent_controlled_context_compactor.js +10 -5
  42. package/dist/cjs/context/anchored_context_compactor.js +41 -18
  43. package/dist/cjs/context/compaction_utils.js +15 -6
  44. package/dist/cjs/context/token_based_context_compactor.js +10 -2
  45. package/dist/cjs/context/trajectory_thought_pruning_compactor.js +17 -10
  46. package/dist/cjs/context/truncating_context_compactor.js +17 -5
  47. package/dist/cjs/errors/already_exists_error.js +50 -0
  48. package/dist/cjs/errors/input_validation_error.js +50 -0
  49. package/dist/cjs/errors/not_found_error.js +50 -0
  50. package/dist/cjs/errors/session_not_found_error.js +50 -0
  51. package/dist/cjs/errors/tool_execution_error.js +68 -0
  52. package/dist/cjs/events/event.js +1 -1
  53. package/dist/cjs/events/event_actions.js +7 -0
  54. package/dist/cjs/examples/base_example_provider.js +1 -1
  55. package/dist/cjs/index.js +47 -0
  56. package/dist/cjs/index_web.js +2 -0
  57. package/dist/cjs/integrations/agent_registry/agent_registry.js +3 -2
  58. package/dist/cjs/memory/rag_memory_transcript.js +136 -0
  59. package/dist/cjs/memory/vertex_ai_memory_bank_service.js +2 -2
  60. package/dist/cjs/memory/vertex_ai_rag_api.js +120 -0
  61. package/dist/cjs/memory/vertex_ai_rag_memory_service.js +228 -0
  62. package/dist/cjs/models/apigee_llm.js +1 -1
  63. package/dist/cjs/models/base_llm.js +1 -1
  64. package/dist/cjs/models/chrome_prompt_llm.js +304 -0
  65. package/dist/cjs/models/chrome_prompt_utils.js +229 -0
  66. package/dist/cjs/models/google_llm.js +9 -4
  67. package/dist/cjs/models/interactions_utils.js +2 -3
  68. package/dist/cjs/models/registry.js +2 -0
  69. package/dist/cjs/plugins/_reflect_retry_utils.js +142 -0
  70. package/dist/cjs/plugins/reflect_retry_model_plugin.js +274 -0
  71. package/dist/cjs/plugins/reflect_retry_tool_plugin.js +276 -0
  72. package/dist/cjs/runner/runner.js +29 -26
  73. package/dist/cjs/sessions/database_session_service.js +78 -43
  74. package/dist/cjs/sessions/db/operations.js +229 -22
  75. package/dist/cjs/sessions/db/schema.js +113 -159
  76. package/dist/cjs/sessions/registry.js +5 -1
  77. package/dist/cjs/sessions/vertex_ai_session_service.js +2 -2
  78. package/dist/cjs/telemetry/setup.js +1 -1
  79. package/dist/cjs/telemetry/tracing.js +11 -1
  80. package/dist/cjs/tools/agent_tool.js +4 -5
  81. package/dist/cjs/tools/base_tool.js +14 -4
  82. package/dist/cjs/tools/base_toolset.js +4 -4
  83. package/dist/cjs/tools/built_in_tool.js +75 -0
  84. package/dist/cjs/tools/enterprise_web_search_tool.js +3 -6
  85. package/dist/cjs/tools/forwarding_artifact_service.js +18 -13
  86. package/dist/cjs/tools/function_tool.js +6 -3
  87. package/dist/cjs/tools/google_maps_grounding_tool.js +3 -6
  88. package/dist/cjs/tools/google_search_tool.js +3 -6
  89. package/dist/cjs/tools/load_artifacts_tool.js +47 -23
  90. package/dist/cjs/tools/load_web_page.js +6 -172
  91. package/dist/cjs/tools/mcp/load_mcp_resource_tool.js +34 -5
  92. package/dist/cjs/tools/openapi_tool/auth/auth_helpers.js +11 -2
  93. package/dist/cjs/tools/openapi_tool/openapi_spec_parser/operation_parser.js +1 -1
  94. package/dist/cjs/tools/openapi_tool/rest_api_tool.js +16 -18
  95. package/dist/cjs/tools/preload_memory_tool.js +1 -1
  96. package/dist/cjs/tools/resume_inputs.js +27 -0
  97. package/dist/cjs/tools/retrieval/base_retrieval_tool.js +60 -0
  98. package/dist/cjs/tools/retrieval/files_retrieval.js +95 -0
  99. package/dist/cjs/tools/retrieval/llama_index_retrieval.js +57 -0
  100. package/dist/cjs/tools/url_context_tool.js +3 -6
  101. package/dist/cjs/tools/vertex_ai_search_tool.js +4 -8
  102. package/dist/cjs/tools/vertex_rag_retrieval_tool.js +3 -10
  103. package/dist/cjs/utils/crypto_shim.js +16 -0
  104. package/dist/cjs/utils/gemini_schema_util.js +0 -6
  105. package/dist/cjs/utils/logger.js +15 -50
  106. package/dist/cjs/utils/logger_browser.js +86 -0
  107. package/dist/cjs/utils/logger_node.js +119 -0
  108. package/dist/cjs/utils/redact_inline_data.js +46 -0
  109. package/dist/cjs/utils/redact_uri.js +15 -1
  110. package/dist/cjs/utils/schema.js +1 -1
  111. package/dist/cjs/utils/ssrf_guard.js +262 -0
  112. package/dist/cjs/version.js +1 -1
  113. package/dist/cjs/workflow/base_node.js +1 -1
  114. package/dist/cjs/workflow/graph.js +1 -1
  115. package/dist/cjs/workflow/nodes/node_tool.js +2 -11
  116. package/dist/cjs/workflow/request_input.js +1 -1
  117. package/dist/cjs/workflow/run_llm_agent_as_node.js +1 -1
  118. package/dist/cjs/workflow/workflow.js +1 -1
  119. package/dist/esm/a2a/a2a_event.js +0 -28
  120. package/dist/esm/a2a/a2a_remote_agent.js +10 -5
  121. package/dist/esm/a2a/a2a_remote_agent_utils.js +102 -2
  122. package/dist/esm/a2a/agent_card.js +63 -6
  123. package/dist/esm/a2a/agent_executor.js +10 -3
  124. package/dist/esm/a2a/agent_to_a2a.js +8 -2
  125. package/dist/esm/a2a/event_processor_utils.js +1 -2
  126. package/dist/esm/a2a/executor_context.js +4 -2
  127. package/dist/esm/a2a/index.js +7 -1
  128. package/dist/esm/a2a/request_metadata.js +68 -0
  129. package/dist/esm/agents/base_agent.js +9 -8
  130. package/dist/esm/agents/context.js +7 -0
  131. package/dist/esm/agents/functions.js +152 -48
  132. package/dist/esm/agents/invocation_context.js +1 -0
  133. package/dist/esm/agents/llm_agent.js +6 -5
  134. package/dist/esm/agents/loop_agent.js +1 -1
  135. package/dist/esm/agents/parallel_agent.js +1 -1
  136. package/dist/esm/agents/processors/agent_transfer_llm_request_processor.js +26 -5
  137. package/dist/esm/agents/processors/code_execution_request_processor.js +2 -2
  138. package/dist/esm/agents/processors/content_processor_utils.js +5 -5
  139. package/dist/esm/agents/processors/content_request_processor.js +4 -1
  140. package/dist/esm/agents/processors/request_confirmation_llm_request_processor.js +19 -12
  141. package/dist/esm/agents/processors/request_input_llm_request_processor.js +3 -7
  142. package/dist/esm/agents/readonly_context.js +6 -0
  143. package/dist/esm/agents/routed_agent.js +1 -1
  144. package/dist/esm/agents/sequential_agent.js +1 -1
  145. package/dist/esm/apps/app.js +1 -1
  146. package/dist/esm/artifacts/file_artifact_service.js +1 -2
  147. package/dist/esm/artifacts/scoped_artifact_service.js +9 -0
  148. package/dist/esm/artifacts/session_artifact_service.js +12 -0
  149. package/dist/esm/auth/auth_handler.js +47 -8
  150. package/dist/esm/auth/oauth2/oauth2_credential_refresher.js +1 -1
  151. package/dist/esm/auth/oauth2/oauth2_utils.js +15 -2
  152. package/dist/esm/code_executors/base_code_executor.js +1 -1
  153. package/dist/esm/code_executors/built_in_code_executor.js +1 -1
  154. package/dist/esm/code_executors/code_execution_utils.js +2 -2
  155. package/dist/esm/code_executors/container_code_executor.js +155 -0
  156. package/dist/esm/code_executors/docker_container.js +265 -0
  157. package/dist/esm/code_executors/unsafe_local_code_executor.js +11 -6
  158. package/dist/esm/common.js +73 -38
  159. package/dist/esm/context/agent_controlled_context_compactor.js +10 -5
  160. package/dist/esm/context/anchored_context_compactor.js +45 -19
  161. package/dist/esm/context/compaction_utils.js +13 -5
  162. package/dist/esm/context/token_based_context_compactor.js +10 -2
  163. package/dist/esm/context/trajectory_thought_pruning_compactor.js +17 -10
  164. package/dist/esm/context/truncating_context_compactor.js +17 -5
  165. package/dist/esm/errors/already_exists_error.js +23 -0
  166. package/dist/esm/errors/input_validation_error.js +23 -0
  167. package/dist/{web/auth/refresher/base_credential_refresher.js → esm/errors/not_found_error.js} +9 -6
  168. package/dist/esm/errors/session_not_found_error.js +23 -0
  169. package/dist/esm/errors/tool_execution_error.js +40 -0
  170. package/dist/esm/events/event.js +1 -1
  171. package/dist/esm/events/event_actions.js +6 -0
  172. package/dist/esm/examples/base_example_provider.js +1 -1
  173. package/dist/esm/index.js +37 -0
  174. package/dist/esm/index_web.js +2 -0
  175. package/dist/esm/integrations/agent_registry/agent_registry.js +3 -2
  176. package/dist/esm/memory/rag_memory_transcript.js +106 -0
  177. package/dist/esm/memory/vertex_ai_memory_bank_service.js +2 -2
  178. package/dist/esm/memory/vertex_ai_rag_api.js +93 -0
  179. package/dist/esm/memory/vertex_ai_rag_memory_service.js +208 -0
  180. package/dist/esm/models/apigee_llm.js +1 -1
  181. package/dist/esm/models/base_llm.js +1 -1
  182. package/dist/esm/models/chrome_prompt_llm.js +285 -0
  183. package/dist/esm/models/chrome_prompt_utils.js +192 -0
  184. package/dist/esm/models/google_llm.js +9 -4
  185. package/dist/esm/models/interactions_utils.js +2 -3
  186. package/dist/esm/models/registry.js +2 -0
  187. package/dist/esm/plugins/_reflect_retry_utils.js +111 -0
  188. package/dist/esm/plugins/reflect_retry_model_plugin.js +250 -0
  189. package/dist/esm/plugins/reflect_retry_tool_plugin.js +254 -0
  190. package/dist/esm/runner/runner.js +35 -27
  191. package/dist/esm/sessions/database_session_service.js +58 -25
  192. package/dist/esm/sessions/db/operations.js +229 -22
  193. package/dist/esm/sessions/db/schema.js +111 -160
  194. package/dist/esm/sessions/registry.js +5 -1
  195. package/dist/esm/sessions/vertex_ai_session_service.js +1 -1
  196. package/dist/esm/telemetry/setup.js +1 -1
  197. package/dist/esm/telemetry/tracing.js +11 -1
  198. package/dist/esm/tools/agent_tool.js +4 -5
  199. package/dist/esm/tools/base_tool.js +11 -3
  200. package/dist/esm/tools/base_toolset.js +4 -4
  201. package/dist/esm/tools/built_in_tool.js +51 -0
  202. package/dist/esm/tools/enterprise_web_search_tool.js +3 -6
  203. package/dist/esm/tools/forwarding_artifact_service.js +18 -13
  204. package/dist/esm/tools/function_tool.js +6 -3
  205. package/dist/esm/tools/google_maps_grounding_tool.js +3 -6
  206. package/dist/esm/tools/google_search_tool.js +3 -6
  207. package/dist/esm/tools/load_artifacts_tool.js +48 -24
  208. package/dist/esm/tools/load_web_page.js +10 -170
  209. package/dist/esm/tools/mcp/load_mcp_resource_tool.js +34 -5
  210. package/dist/esm/tools/openapi_tool/auth/auth_helpers.js +13 -2
  211. package/dist/esm/tools/openapi_tool/openapi_spec_parser/operation_parser.js +1 -1
  212. package/dist/esm/tools/openapi_tool/rest_api_tool.js +16 -18
  213. package/dist/esm/tools/preload_memory_tool.js +1 -1
  214. package/dist/esm/tools/retrieval/base_retrieval_tool.js +33 -0
  215. package/dist/esm/tools/retrieval/files_retrieval.js +81 -0
  216. package/dist/esm/tools/retrieval/llama_index_retrieval.js +30 -0
  217. package/dist/esm/tools/url_context_tool.js +3 -6
  218. package/dist/esm/tools/vertex_ai_search_tool.js +4 -8
  219. package/dist/esm/tools/vertex_rag_retrieval_tool.js +3 -10
  220. package/dist/esm/utils/crypto_shim.js +14 -0
  221. package/dist/esm/utils/gemini_schema_util.js +0 -6
  222. package/dist/esm/utils/logger.js +14 -40
  223. package/dist/esm/utils/logger_browser.js +58 -0
  224. package/dist/esm/utils/logger_node.js +81 -0
  225. package/dist/esm/utils/redact_inline_data.js +19 -0
  226. package/dist/esm/utils/redact_uri.js +15 -1
  227. package/dist/esm/utils/schema.js +1 -1
  228. package/dist/{web/tools/load_web_page.js → esm/utils/ssrf_guard.js} +95 -107
  229. package/dist/esm/version.js +1 -1
  230. package/dist/esm/workflow/base_node.js +1 -1
  231. package/dist/esm/workflow/graph.js +1 -1
  232. package/dist/esm/workflow/nodes/node_tool.js +2 -11
  233. package/dist/esm/workflow/request_input.js +1 -1
  234. package/dist/esm/workflow/run_llm_agent_as_node.js +1 -1
  235. package/dist/esm/workflow/workflow.js +1 -1
  236. package/dist/types/a2a/a2a_event.d.ts +7 -10
  237. package/dist/types/a2a/a2a_remote_agent.d.ts +5 -0
  238. package/dist/types/a2a/a2a_remote_agent_utils.d.ts +25 -0
  239. package/dist/types/a2a/agent_card.d.ts +9 -0
  240. package/dist/types/a2a/agent_executor.d.ts +1 -1
  241. package/dist/types/a2a/agent_to_a2a.d.ts +2 -0
  242. package/dist/types/a2a/auth.d.ts +5 -1
  243. package/dist/types/a2a/executor_context.d.ts +7 -1
  244. package/dist/types/a2a/index.d.ts +1 -1
  245. package/dist/types/a2a/request_metadata.d.ts +22 -0
  246. package/dist/types/agents/base_agent.d.ts +19 -16
  247. package/dist/types/agents/context.d.ts +8 -0
  248. package/dist/types/agents/functions.d.ts +72 -6
  249. package/dist/types/agents/invocation_context.d.ts +11 -3
  250. package/dist/types/agents/llm_agent.d.ts +9 -7
  251. package/dist/types/agents/processors/agent_transfer_llm_request_processor.d.ts +16 -1
  252. package/dist/types/agents/readonly_context.d.ts +4 -0
  253. package/dist/types/agents/run_config.d.ts +21 -8
  254. package/dist/types/artifacts/scoped_artifact_service.d.ts +13 -0
  255. package/dist/types/artifacts/session_artifact_service.d.ts +8 -1
  256. package/dist/types/auth/auth_credential.d.ts +13 -8
  257. package/dist/types/auth/auth_handler.d.ts +12 -1
  258. package/dist/types/auth/oauth2/oauth2_credential_refresher.d.ts +1 -1
  259. package/dist/types/auth/oauth2/oauth2_utils.d.ts +9 -0
  260. package/dist/types/auth/refresher/base_credential_refresher.d.ts +1 -1
  261. package/dist/types/code_executors/code_execution_utils.d.ts +1 -1
  262. package/dist/types/code_executors/container_code_executor.d.ts +89 -0
  263. package/dist/types/code_executors/docker_container.d.ts +79 -0
  264. package/dist/types/common.d.ts +22 -20
  265. package/dist/types/context/compaction_utils.d.ts +9 -1
  266. package/dist/types/errors/already_exists_error.d.ts +14 -0
  267. package/dist/types/errors/input_validation_error.d.ts +14 -0
  268. package/dist/types/errors/not_found_error.d.ts +14 -0
  269. package/dist/types/errors/session_not_found_error.d.ts +14 -0
  270. package/dist/types/errors/tool_execution_error.d.ts +36 -0
  271. package/dist/types/events/event_actions.d.ts +13 -0
  272. package/dist/types/index.d.ts +22 -1
  273. package/dist/types/memory/rag_memory_transcript.d.ts +55 -0
  274. package/dist/types/memory/vertex_ai_rag_api.d.ts +89 -0
  275. package/dist/types/memory/vertex_ai_rag_memory_service.d.ts +68 -0
  276. package/dist/types/models/chrome_prompt_llm.d.ts +210 -0
  277. package/dist/types/models/chrome_prompt_utils.d.ts +68 -0
  278. package/dist/types/models/google_llm.d.ts +8 -3
  279. package/dist/types/models/registry.d.ts +3 -2
  280. package/dist/types/plugins/_reflect_retry_utils.d.ts +72 -0
  281. package/dist/types/plugins/base_plugin.d.ts +12 -10
  282. package/dist/types/plugins/logging_plugin.d.ts +3 -2
  283. package/dist/types/plugins/reflect_retry_model_plugin.d.ts +132 -0
  284. package/dist/types/plugins/reflect_retry_tool_plugin.d.ts +187 -0
  285. package/dist/types/runner/runner.d.ts +7 -8
  286. package/dist/types/sessions/database_session_service.d.ts +1 -1
  287. package/dist/types/sessions/db/operations.d.ts +13 -1
  288. package/dist/types/sessions/db/schema.d.ts +23 -9
  289. package/dist/types/tools/base_tool.d.ts +11 -0
  290. package/dist/types/tools/base_toolset.d.ts +3 -4
  291. package/dist/types/tools/built_in_tool.d.ts +41 -0
  292. package/dist/types/tools/enterprise_web_search_tool.d.ts +4 -4
  293. package/dist/types/tools/forwarding_artifact_service.d.ts +23 -10
  294. package/dist/types/tools/function_tool.d.ts +42 -9
  295. package/dist/types/tools/google_maps_grounding_tool.d.ts +4 -4
  296. package/dist/types/tools/google_search_tool.d.ts +4 -4
  297. package/dist/types/tools/long_running_tool.d.ts +1 -1
  298. package/dist/types/tools/mcp/mcp_toolset.d.ts +11 -10
  299. package/dist/types/tools/openapi_tool/auth/auth_helpers.d.ts +5 -0
  300. package/dist/types/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.d.ts +0 -1
  301. package/dist/types/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.d.ts +0 -1
  302. package/dist/types/tools/preload_memory_tool.d.ts +1 -1
  303. package/dist/types/tools/resume_inputs.d.ts +25 -0
  304. package/dist/types/tools/retrieval/base_retrieval_tool.d.ts +21 -0
  305. package/dist/types/tools/retrieval/files_retrieval.d.ts +50 -0
  306. package/dist/types/tools/retrieval/llama_index_retrieval.d.ts +62 -0
  307. package/dist/types/tools/url_context_tool.d.ts +4 -4
  308. package/dist/types/tools/vertex_ai_search_tool.d.ts +4 -4
  309. package/dist/types/tools/vertex_rag_retrieval_tool.d.ts +13 -12
  310. package/dist/types/utils/crypto_shim.d.ts +16 -0
  311. package/dist/types/utils/gemini_schema_util.d.ts +5 -7
  312. package/dist/types/utils/logger.d.ts +23 -1
  313. package/dist/types/utils/logger_browser.d.ts +28 -0
  314. package/dist/types/utils/logger_node.d.ts +20 -0
  315. package/dist/types/utils/output_schema_utils.d.ts +3 -3
  316. package/dist/types/utils/redact_inline_data.d.ts +16 -0
  317. package/dist/types/utils/redact_uri.d.ts +12 -8
  318. package/dist/types/utils/ssrf_guard.d.ts +32 -0
  319. package/dist/types/version.d.ts +1 -1
  320. package/dist/web/index_web.js +304 -3
  321. package/dist/web/index_web.js.map +7 -0
  322. package/package.json +17 -14
  323. package/dist/web/a2a/a2a_event.js +0 -290
  324. package/dist/web/a2a/a2a_remote_agent.js +0 -200
  325. package/dist/web/a2a/a2a_remote_agent_run_processor.js +0 -189
  326. package/dist/web/a2a/a2a_remote_agent_utils.js +0 -141
  327. package/dist/web/a2a/agent_card.js +0 -373
  328. package/dist/web/a2a/agent_executor.js +0 -246
  329. package/dist/web/a2a/agent_to_a2a.js +0 -126
  330. package/dist/web/a2a/auth.js +0 -41
  331. package/dist/web/a2a/event_converter_utils.js +0 -242
  332. package/dist/web/a2a/event_processor_utils.js +0 -209
  333. package/dist/web/a2a/executor_context.js +0 -28
  334. package/dist/web/a2a/index.js +0 -20
  335. package/dist/web/a2a/metadata_converter_utils.js +0 -115
  336. package/dist/web/a2a/part_converter_utils.js +0 -201
  337. package/dist/web/agents/active_streaming_tool.js +0 -25
  338. package/dist/web/agents/base_agent.js +0 -462
  339. package/dist/web/agents/context.js +0 -146
  340. package/dist/web/agents/framework_function_calls.js +0 -34
  341. package/dist/web/agents/functions.js +0 -462
  342. package/dist/web/agents/instructions.js +0 -188
  343. package/dist/web/agents/invocation_context.js +0 -126
  344. package/dist/web/agents/live_request_queue.js +0 -151
  345. package/dist/web/agents/llm_agent.js +0 -1514
  346. package/dist/web/agents/loop_agent.js +0 -131
  347. package/dist/web/agents/parallel_agent.js +0 -122
  348. package/dist/web/agents/processors/agent_transfer_llm_request_processor.js +0 -113
  349. package/dist/web/agents/processors/base_llm_processor.js +0 -21
  350. package/dist/web/agents/processors/basic_llm_request_processor.js +0 -84
  351. package/dist/web/agents/processors/code_execution_request_processor.js +0 -381
  352. package/dist/web/agents/processors/content_processor_utils.js +0 -432
  353. package/dist/web/agents/processors/content_request_processor.js +0 -73
  354. package/dist/web/agents/processors/context_compactor_request_processor.js +0 -78
  355. package/dist/web/agents/processors/identity_llm_request_processor.js +0 -59
  356. package/dist/web/agents/processors/instructions_llm_request_processor.js +0 -85
  357. package/dist/web/agents/processors/interactions_request_processor.js +0 -56
  358. package/dist/web/agents/processors/request_confirmation_llm_request_processor.js +0 -393
  359. package/dist/web/agents/processors/request_input_llm_request_processor.js +0 -228
  360. package/dist/web/agents/processors/tool_filter_request_processor.js +0 -72
  361. package/dist/web/agents/readonly_context.js +0 -60
  362. package/dist/web/agents/routed_agent.js +0 -161
  363. package/dist/web/agents/run_config.js +0 -74
  364. package/dist/web/agents/sequential_agent.js +0 -141
  365. package/dist/web/agents/transcription_entry.js +0 -7
  366. package/dist/web/agents/user_input_request.js +0 -135
  367. package/dist/web/apps/app.js +0 -52
  368. package/dist/web/apps/resumability_config.js +0 -33
  369. package/dist/web/artifacts/base_artifact_service.js +0 -7
  370. package/dist/web/artifacts/file_artifact_service.js +0 -568
  371. package/dist/web/artifacts/gcs_artifact_service.js +0 -298
  372. package/dist/web/artifacts/in_memory_artifact_service.js +0 -172
  373. package/dist/web/artifacts/registry.js +0 -36
  374. package/dist/web/artifacts/scoped_artifact_service.js +0 -89
  375. package/dist/web/auth/auth_credential.js +0 -18
  376. package/dist/web/auth/auth_handler.js +0 -151
  377. package/dist/web/auth/auth_preprocessor.js +0 -184
  378. package/dist/web/auth/auth_provider_registry.js +0 -37
  379. package/dist/web/auth/auth_schemes.js +0 -36
  380. package/dist/web/auth/auth_tool.js +0 -7
  381. package/dist/web/auth/base_auth_provider.js +0 -7
  382. package/dist/web/auth/credential_response_binding.js +0 -91
  383. package/dist/web/auth/credential_service/base_credential_service.js +0 -7
  384. package/dist/web/auth/credential_service/in_memory_credential_service.js +0 -50
  385. package/dist/web/auth/credential_service/session_state_credential_service.js +0 -27
  386. package/dist/web/auth/exchanger/base_credential_exchanger.js +0 -16
  387. package/dist/web/auth/exchanger/credential_exchanger_registry.js +0 -35
  388. package/dist/web/auth/oauth2/oauth2_credential_exchanger.js +0 -194
  389. package/dist/web/auth/oauth2/oauth2_credential_refresher.js +0 -105
  390. package/dist/web/auth/oauth2/oauth2_discovery.js +0 -196
  391. package/dist/web/auth/oauth2/oauth2_utils.js +0 -105
  392. package/dist/web/auth/refresher/credential_refresher_registry.js +0 -44
  393. package/dist/web/code_executors/agent_engine_sandbox_code_executor.js +0 -284
  394. package/dist/web/code_executors/base_code_executor.js +0 -68
  395. package/dist/web/code_executors/built_in_code_executor.js +0 -50
  396. package/dist/web/code_executors/code_execution_utils.js +0 -131
  397. package/dist/web/code_executors/code_executor_context.js +0 -174
  398. package/dist/web/code_executors/unsafe_local_code_executor.js +0 -221
  399. package/dist/web/common.js +0 -452
  400. package/dist/web/context/agent_controlled_context_compactor.js +0 -76
  401. package/dist/web/context/anchored_context_compactor.js +0 -120
  402. package/dist/web/context/base_context_compactor.js +0 -7
  403. package/dist/web/context/compaction_utils.js +0 -42
  404. package/dist/web/context/summarizers/base_summarizer.js +0 -7
  405. package/dist/web/context/summarizers/llm_summarizer.js +0 -91
  406. package/dist/web/context/token_based_context_compactor.js +0 -118
  407. package/dist/web/context/trajectory_thought_pruning_compactor.js +0 -47
  408. package/dist/web/context/truncating_context_compactor.js +0 -34
  409. package/dist/web/environment/base_environment.js +0 -71
  410. package/dist/web/environment/local_environment.js +0 -165
  411. package/dist/web/events/compacted_event.js +0 -51
  412. package/dist/web/events/event.js +0 -208
  413. package/dist/web/events/event_actions.js +0 -74
  414. package/dist/web/events/structured_events.js +0 -79
  415. package/dist/web/examples/base_example_provider.js +0 -32
  416. package/dist/web/examples/example.js +0 -7
  417. package/dist/web/examples/example_util.js +0 -83
  418. package/dist/web/features/feature_registry.js +0 -115
  419. package/dist/web/index.js +0 -57
  420. package/dist/web/integrations/agent_registry/agent_registry.js +0 -337
  421. package/dist/web/integrations/agent_registry/agent_registry_mcp_toolset.js +0 -120
  422. package/dist/web/integrations/agent_registry/helpers.js +0 -32
  423. package/dist/web/integrations/agent_registry/types.js +0 -20
  424. package/dist/web/memory/base_memory_service.js +0 -7
  425. package/dist/web/memory/in_memory_memory_service.js +0 -89
  426. package/dist/web/memory/memory_entry.js +0 -7
  427. package/dist/web/memory/vertex_ai_memory_bank_service.js +0 -496
  428. package/dist/web/models/apigee_llm.js +0 -227
  429. package/dist/web/models/base_llm.js +0 -78
  430. package/dist/web/models/base_llm_connection.js +0 -7
  431. package/dist/web/models/gemini_llm_connection.js +0 -183
  432. package/dist/web/models/google_llm.js +0 -396
  433. package/dist/web/models/interactions_utils.js +0 -745
  434. package/dist/web/models/llm_request.js +0 -57
  435. package/dist/web/models/llm_response.js +0 -48
  436. package/dist/web/models/registry.js +0 -100
  437. package/dist/web/models/routed_llm.js +0 -112
  438. package/dist/web/plugins/base_plugin.js +0 -305
  439. package/dist/web/plugins/global_instruction_plugin.js +0 -71
  440. package/dist/web/plugins/logging_plugin.js +0 -241
  441. package/dist/web/plugins/plugin_manager.js +0 -318
  442. package/dist/web/plugins/security_plugin.js +0 -148
  443. package/dist/web/runner/in_memory_runner.js +0 -50
  444. package/dist/web/runner/runner.js +0 -747
  445. package/dist/web/sessions/base_session_service.js +0 -123
  446. package/dist/web/sessions/database_session_service.js +0 -440
  447. package/dist/web/sessions/db/operations.js +0 -124
  448. package/dist/web/sessions/db/schema.js +0 -216
  449. package/dist/web/sessions/in_memory_session_service.js +0 -251
  450. package/dist/web/sessions/registry.js +0 -38
  451. package/dist/web/sessions/session.js +0 -23
  452. package/dist/web/sessions/state.js +0 -159
  453. package/dist/web/sessions/state_write_order.js +0 -74
  454. package/dist/web/sessions/vertex_ai_session_service.js +0 -546
  455. package/dist/web/skills/gcp_skill_registry.js +0 -80
  456. package/dist/web/skills/loader.js +0 -372
  457. package/dist/web/skills/prompt.js +0 -34
  458. package/dist/web/skills/skill.js +0 -67
  459. package/dist/web/skills/skill_registry.js +0 -7
  460. package/dist/web/telemetry/google_cloud.js +0 -99
  461. package/dist/web/telemetry/setup.js +0 -89
  462. package/dist/web/telemetry/tracing.js +0 -304
  463. package/dist/web/tools/agent_tool.js +0 -150
  464. package/dist/web/tools/base_tool.js +0 -116
  465. package/dist/web/tools/base_toolset.js +0 -62
  466. package/dist/web/tools/consolidate_context_tool.js +0 -55
  467. package/dist/web/tools/enterprise_web_search_tool.js +0 -60
  468. package/dist/web/tools/example_tool.js +0 -46
  469. package/dist/web/tools/exit_loop_tool.js +0 -47
  470. package/dist/web/tools/finish_task_tool.js +0 -92
  471. package/dist/web/tools/forwarding_artifact_service.js +0 -51
  472. package/dist/web/tools/function_tool.js +0 -151
  473. package/dist/web/tools/get_user_choice_tool.js +0 -27
  474. package/dist/web/tools/google_maps_grounding_tool.js +0 -59
  475. package/dist/web/tools/google_search_tool.js +0 -55
  476. package/dist/web/tools/load_artifacts_tool.js +0 -159
  477. package/dist/web/tools/load_memory_tool.js +0 -83
  478. package/dist/web/tools/long_running_tool.js +0 -58
  479. package/dist/web/tools/mcp/index.js +0 -11
  480. package/dist/web/tools/mcp/load_mcp_resource_tool.js +0 -111
  481. package/dist/web/tools/mcp/mcp_session_manager.js +0 -114
  482. package/dist/web/tools/mcp/mcp_tool.js +0 -47
  483. package/dist/web/tools/mcp/mcp_toolset.js +0 -144
  484. package/dist/web/tools/openapi_tool/auth/auth_helpers.js +0 -53
  485. package/dist/web/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +0 -62
  486. package/dist/web/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +0 -113
  487. package/dist/web/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +0 -242
  488. package/dist/web/tools/openapi_tool/openapi_spec_parser/operation_parser.js +0 -200
  489. package/dist/web/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +0 -98
  490. package/dist/web/tools/openapi_tool/openapi_toolset.js +0 -99
  491. package/dist/web/tools/openapi_tool/rest_api_tool.js +0 -247
  492. package/dist/web/tools/preload_memory_tool.js +0 -81
  493. package/dist/web/tools/request_input_tool.js +0 -29
  494. package/dist/web/tools/skill/list_skills_tool.js +0 -52
  495. package/dist/web/tools/skill/load_skill_resource_tool.js +0 -192
  496. package/dist/web/tools/skill/load_skill_tool.js +0 -96
  497. package/dist/web/tools/skill/run_skill_inline_script_tool.js +0 -191
  498. package/dist/web/tools/skill/run_skill_script_tool.js +0 -227
  499. package/dist/web/tools/skill/search_skills_tool.js +0 -84
  500. package/dist/web/tools/skill/skill_toolset.js +0 -185
  501. package/dist/web/tools/tool_confirmation.js +0 -43
  502. package/dist/web/tools/url_context_tool.js +0 -48
  503. package/dist/web/tools/vertex_ai_search_tool.js +0 -107
  504. package/dist/web/tools/vertex_rag_retrieval_tool.js +0 -40
  505. package/dist/web/utils/async_hooks_shim.js +0 -28
  506. package/dist/web/utils/async_queue.js +0 -88
  507. package/dist/web/utils/branch_trie.js +0 -16
  508. package/dist/web/utils/case_utils.js +0 -28
  509. package/dist/web/utils/client_labels.js +0 -70
  510. package/dist/web/utils/crypto_shim.js +0 -18
  511. package/dist/web/utils/deprecated.js +0 -40
  512. package/dist/web/utils/env_aware_utils.js +0 -115
  513. package/dist/web/utils/error_utils.js +0 -101
  514. package/dist/web/utils/experimental.js +0 -54
  515. package/dist/web/utils/failover_utils.js +0 -100
  516. package/dist/web/utils/file_extension_utils.js +0 -55
  517. package/dist/web/utils/file_utils.js +0 -108
  518. package/dist/web/utils/gemini_schema_util.js +0 -177
  519. package/dist/web/utils/genai_schema_to_json.js +0 -80
  520. package/dist/web/utils/live_connection_utils.js +0 -257
  521. package/dist/web/utils/logger.js +0 -140
  522. package/dist/web/utils/model_name.js +0 -75
  523. package/dist/web/utils/object_notation_utils.js +0 -54
  524. package/dist/web/utils/optional_peer.js +0 -38
  525. package/dist/web/utils/output_schema_utils.js +0 -18
  526. package/dist/web/utils/partial_copy.js +0 -26
  527. package/dist/web/utils/redact_uri.js +0 -39
  528. package/dist/web/utils/schema.js +0 -167
  529. package/dist/web/utils/simple_zod_to_json.js +0 -134
  530. package/dist/web/utils/streaming_utils.js +0 -438
  531. package/dist/web/utils/task.js +0 -38
  532. package/dist/web/utils/variant_utils.js +0 -23
  533. package/dist/web/utils/vertex_ai_utils.js +0 -27
  534. package/dist/web/version.js +0 -11
  535. package/dist/web/workflow/base_node.js +0 -215
  536. package/dist/web/workflow/branch_path.js +0 -77
  537. package/dist/web/workflow/dynamic_node_scheduler.js +0 -202
  538. package/dist/web/workflow/errors.js +0 -140
  539. package/dist/web/workflow/graph.js +0 -127
  540. package/dist/web/workflow/index.js +0 -80
  541. package/dist/web/workflow/node.js +0 -87
  542. package/dist/web/workflow/node_builders.js +0 -40
  543. package/dist/web/workflow/node_context.js +0 -236
  544. package/dist/web/workflow/node_error_event.js +0 -86
  545. package/dist/web/workflow/node_runner.js +0 -481
  546. package/dist/web/workflow/node_state.js +0 -43
  547. package/dist/web/workflow/node_status.js +0 -20
  548. package/dist/web/workflow/nodes/function_node.js +0 -221
  549. package/dist/web/workflow/nodes/join_node.js +0 -47
  550. package/dist/web/workflow/nodes/node_tool.js +0 -131
  551. package/dist/web/workflow/nodes/parallel_worker.js +0 -120
  552. package/dist/web/workflow/nodes/tool_node.js +0 -126
  553. package/dist/web/workflow/request_input.js +0 -36
  554. package/dist/web/workflow/retry_config.js +0 -43
  555. package/dist/web/workflow/run_llm_agent_as_node.js +0 -266
  556. package/dist/web/workflow/run_node_as_invocation.js +0 -170
  557. package/dist/web/workflow/schedule_dynamic_node.js +0 -26
  558. package/dist/web/workflow/trigger.js +0 -7
  559. package/dist/web/workflow/utils/graph_parser.js +0 -188
  560. package/dist/web/workflow/utils/graph_validation.js +0 -189
  561. package/dist/web/workflow/utils/hitl_utils.js +0 -239
  562. package/dist/web/workflow/utils/rehydration_utils.js +0 -342
  563. package/dist/web/workflow/utils/retry_utils.js +0 -82
  564. package/dist/web/workflow/utils/workflow_graph_utils.js +0 -115
  565. package/dist/web/workflow/workflow.js +0 -529
  566. /package/dist/{web/artifacts/session_artifact_service.js → esm/tools/resume_inputs.js} +0 -0
@@ -0,0 +1,304 @@
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
+ this.diagnostic({
253
+ phase: "parse-fallback",
254
+ note: "unparseable JSON; treated as text"
255
+ });
256
+ return (0, import_chrome_prompt_utils.finalText)(raw);
257
+ }
258
+ if (parsed["kind"] === "tool" && typeof parsed["name"] === "string") {
259
+ const name = parsed["name"];
260
+ if (!declarations.some((declaration) => declaration.name === name)) {
261
+ return (0, import_chrome_prompt_utils.finalText)(`The model requested an unknown tool "${name}".`);
262
+ }
263
+ const args = (0, import_chrome_prompt_utils.isRecord)(parsed["args"]) ? parsed["args"] : {};
264
+ return {
265
+ content: {
266
+ role: "model",
267
+ parts: [
268
+ { functionCall: { id: (0, import_event.generateClientFunctionCallId)(), name, args } }
269
+ ]
270
+ },
271
+ turnComplete: true
272
+ };
273
+ }
274
+ return (0, import_chrome_prompt_utils.finalText)(typeof parsed["text"] === "string" ? parsed["text"] : raw);
275
+ }
276
+ async connect(_llmRequest) {
277
+ throw new Error(
278
+ "Chrome's Prompt API has no bidirectional live mode, so connect() is not supported by ChromeBuiltInLlm."
279
+ );
280
+ }
281
+ /** Releases the warm base session. */
282
+ destroy() {
283
+ var _a, _b;
284
+ (_b = (_a = this.baseSession) == null ? void 0 : _a.destroy) == null ? void 0 : _b.call(_a);
285
+ this.baseSession = void 0;
286
+ this.baseSessionPromise = void 0;
287
+ this.baseSessionKey = void 0;
288
+ }
289
+ };
290
+ __name(_ChromeBuiltInLlm, "ChromeBuiltInLlm");
291
+ // Left unanchored on purpose: LLMRegistry.resolve wraps each pattern in
292
+ // `^...$` before matching, so anchoring here would double-anchor and never
293
+ // match.
294
+ _ChromeBuiltInLlm.supportedModels = [
295
+ /chrome-on-device/,
296
+ /chrome\/.*/
297
+ ];
298
+ let ChromeBuiltInLlm = _ChromeBuiltInLlm;
299
+ // Annotate the CommonJS export names for ESM import in node:
300
+ 0 && (module.exports = {
301
+ ChromeBuiltInLlm,
302
+ ChromeModelUnavailableError,
303
+ stripAdkIdentityPreamble
304
+ });
@@ -0,0 +1,229 @@
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_utils_exports = {};
27
+ __export(chrome_prompt_utils_exports, {
28
+ buildToolChoiceSchema: () => buildToolChoiceSchema,
29
+ collectFunctionDeclarations: () => collectFunctionDeclarations,
30
+ contentsToMessages: () => contentsToMessages,
31
+ errorResponse: () => errorResponse,
32
+ extractSystemInstruction: () => extractSystemInstruction,
33
+ finalText: () => finalText,
34
+ isAbortError: () => isAbortError,
35
+ isRecord: () => isRecord,
36
+ renderToolInstructions: () => renderToolInstructions,
37
+ renderToolResult: () => renderToolResult,
38
+ stripAdkIdentityPreamble: () => stripAdkIdentityPreamble
39
+ });
40
+ module.exports = __toCommonJS(chrome_prompt_utils_exports);
41
+ var import_genai_schema_to_json = require("../utils/genai_schema_to_json.js");
42
+ /**
43
+ * @license
44
+ * Copyright 2026 Google LLC
45
+ * SPDX-License-Identifier: Apache-2.0
46
+ */
47
+ function isRecord(value) {
48
+ return typeof value === "object" && value !== null && !Array.isArray(value);
49
+ }
50
+ __name(isRecord, "isRecord");
51
+ function argumentSchema(declaration) {
52
+ if (isRecord(declaration.parametersJsonSchema)) {
53
+ return declaration.parametersJsonSchema;
54
+ }
55
+ if (declaration.parameters) {
56
+ return (0, import_genai_schema_to_json.genaiSchemaToJsonSchema)(declaration.parameters);
57
+ }
58
+ return { type: "object", properties: {} };
59
+ }
60
+ __name(argumentSchema, "argumentSchema");
61
+ function collectFunctionDeclarations(llmRequest) {
62
+ var _a, _b;
63
+ const declarations = [];
64
+ for (const tool of (_b = (_a = llmRequest.config) == null ? void 0 : _a.tools) != null ? _b : []) {
65
+ if (isRecord(tool) && Array.isArray(tool["functionDeclarations"])) {
66
+ declarations.push(
67
+ ...tool["functionDeclarations"]
68
+ );
69
+ }
70
+ }
71
+ return declarations;
72
+ }
73
+ __name(collectFunctionDeclarations, "collectFunctionDeclarations");
74
+ function buildToolChoiceSchema(declarations) {
75
+ const branches = [
76
+ {
77
+ type: "object",
78
+ properties: {
79
+ kind: { type: "string", enum: ["final"] },
80
+ text: { type: "string" }
81
+ },
82
+ required: ["kind", "text"]
83
+ }
84
+ ];
85
+ for (const declaration of declarations) {
86
+ if (!declaration.name) continue;
87
+ branches.push({
88
+ type: "object",
89
+ properties: {
90
+ kind: { type: "string", enum: ["tool"] },
91
+ name: { type: "string", enum: [declaration.name] },
92
+ args: argumentSchema(declaration)
93
+ },
94
+ required: ["kind", "name", "args"]
95
+ });
96
+ }
97
+ return branches.length === 1 ? branches[0] : { anyOf: branches };
98
+ }
99
+ __name(buildToolChoiceSchema, "buildToolChoiceSchema");
100
+ function renderToolInstructions(declarations) {
101
+ if (!declarations.length) return "";
102
+ const lines = declarations.map(
103
+ (declaration) => {
104
+ var _a;
105
+ return `- ${declaration.name}: ${(_a = declaration.description) != null ? _a : ""}
106
+ arguments: ${JSON.stringify(argumentSchema(declaration))}`;
107
+ }
108
+ );
109
+ return [
110
+ "You can call these tools:",
111
+ ...lines,
112
+ "",
113
+ 'Reply with JSON only. To call a tool use {"kind":"tool","name":<tool>,"args":{...}}.',
114
+ 'When you have the answer use {"kind":"final","text":<answer>}.'
115
+ ].join("\n");
116
+ }
117
+ __name(renderToolInstructions, "renderToolInstructions");
118
+ function renderToolResult(response) {
119
+ if (response == null) return "{}";
120
+ let value = response;
121
+ if (isRecord(value) && Object.keys(value).length === 1 && "result" in value) {
122
+ value = value["result"];
123
+ }
124
+ if (typeof value === "string") {
125
+ const trimmed = value.trim();
126
+ if (trimmed.startsWith("{") || trimmed.startsWith("[")) {
127
+ try {
128
+ return JSON.stringify(JSON.parse(trimmed));
129
+ } catch {
130
+ return trimmed;
131
+ }
132
+ }
133
+ return trimmed;
134
+ }
135
+ try {
136
+ return JSON.stringify(value);
137
+ } catch {
138
+ return String(value);
139
+ }
140
+ }
141
+ __name(renderToolResult, "renderToolResult");
142
+ function contentsToMessages(contents) {
143
+ var _a, _b;
144
+ const messages = [];
145
+ for (const content of contents != null ? contents : []) {
146
+ const role = content.role === "model" ? "assistant" : "user";
147
+ const chunks = [];
148
+ for (const part of (_a = content.parts) != null ? _a : []) {
149
+ if (part.text) chunks.push(part.text);
150
+ if (part.functionCall) {
151
+ const args = JSON.stringify((_b = part.functionCall.args) != null ? _b : {});
152
+ chunks.push(`[tool_call] ${part.functionCall.name}(${args})`);
153
+ }
154
+ if (part.functionResponse) {
155
+ const rendered = renderToolResult(part.functionResponse.response);
156
+ chunks.push(
157
+ `[tool_result] ${part.functionResponse.name} -> ${rendered}`
158
+ );
159
+ }
160
+ }
161
+ if (chunks.length) {
162
+ messages.push({ role, content: chunks.join("\n") });
163
+ }
164
+ }
165
+ return messages;
166
+ }
167
+ __name(contentsToMessages, "contentsToMessages");
168
+ function extractSystemInstruction(llmRequest) {
169
+ var _a;
170
+ const instruction = (_a = llmRequest.config) == null ? void 0 : _a.systemInstruction;
171
+ if (!instruction) return "";
172
+ if (typeof instruction === "string") return instruction;
173
+ if (Array.isArray(instruction)) {
174
+ return instruction.map(
175
+ (entry) => {
176
+ var _a2;
177
+ return typeof entry === "string" ? entry : (_a2 = entry == null ? void 0 : entry.text) != null ? _a2 : "";
178
+ }
179
+ ).filter(Boolean).join("\n");
180
+ }
181
+ if (isRecord(instruction) && Array.isArray(instruction["parts"])) {
182
+ return instruction["parts"].map((part) => {
183
+ var _a2;
184
+ return (_a2 = part.text) != null ? _a2 : "";
185
+ }).filter(Boolean).join("\n");
186
+ }
187
+ return String(instruction);
188
+ }
189
+ __name(extractSystemInstruction, "extractSystemInstruction");
190
+ function stripAdkIdentityPreamble(systemPrompt) {
191
+ return systemPrompt.replace(/^You are an agent\. Your internal name is "[^"]*"\.\s*/m, "").replace(/^The description about you is "[^"]*"\s*/m, "").trimStart();
192
+ }
193
+ __name(stripAdkIdentityPreamble, "stripAdkIdentityPreamble");
194
+ function isAbortError(error) {
195
+ return isRecord(error) && error["name"] === "AbortError";
196
+ }
197
+ __name(isAbortError, "isAbortError");
198
+ function finalText(text) {
199
+ return { content: { role: "model", parts: [{ text }] }, turnComplete: true };
200
+ }
201
+ __name(finalText, "finalText");
202
+ function errorResponse(error) {
203
+ const details = isRecord(error) ? error : {};
204
+ const name = typeof details["name"] === "string" ? details["name"] : "UnknownError";
205
+ const message = typeof details["message"] === "string" ? details["message"] : String(error);
206
+ if (name === "QuotaExceededError") {
207
+ return {
208
+ errorCode: name,
209
+ errorMessage: `Prompt exceeded the context window (requested ${details["requested"]} of ${details["quota"]} tokens).`,
210
+ turnComplete: true
211
+ };
212
+ }
213
+ return { errorCode: name, errorMessage: message, turnComplete: true };
214
+ }
215
+ __name(errorResponse, "errorResponse");
216
+ // Annotate the CommonJS export names for ESM import in node:
217
+ 0 && (module.exports = {
218
+ buildToolChoiceSchema,
219
+ collectFunctionDeclarations,
220
+ contentsToMessages,
221
+ errorResponse,
222
+ extractSystemInstruction,
223
+ finalText,
224
+ isAbortError,
225
+ isRecord,
226
+ renderToolInstructions,
227
+ renderToolResult,
228
+ stripAdkIdentityPreamble
229
+ });
@@ -46,7 +46,7 @@ var import_llm_response = require("./llm_response.js");
46
46
  * SPDX-License-Identifier: Apache-2.0
47
47
  */
48
48
  var _a, _b;
49
- const GEMINI_MODEL_SYMBOL = Symbol.for("google.adk.geminiModel");
49
+ const GEMINI_MODEL_SYMBOL = /* @__PURE__ */ Symbol.for("google.adk.geminiModel");
50
50
  function isGemini(obj) {
51
51
  return typeof obj === "object" && obj !== null && GEMINI_MODEL_SYMBOL in obj && obj[GEMINI_MODEL_SYMBOL] === true;
52
52
  }
@@ -91,9 +91,14 @@ const _Gemini = class _Gemini extends (_b = import_base_llm.BaseLlm, _a = GEMINI
91
91
  /**
92
92
  * Sends a request to the Gemini model.
93
93
  *
94
- * @param llmRequest LlmRequest, the request to send to the Gemini model.
95
- * @param stream bool = false, whether to do streaming call.
96
- * @yields LlmResponse: The model response.
94
+ * @param llmRequest The request to send to the Gemini model.
95
+ * @param stream Whether to make a streaming call. Defaults to `false`.
96
+ * @yields Each {@link LlmResponse} produced by the model. A non-streaming
97
+ * call yields exactly one; a streaming call yields the partial responses
98
+ * as they arrive, then a final aggregated response whenever the stream
99
+ * carried either content or usage/grounding/citation metadata. A
100
+ * metadata-only stream therefore still ends with one, holding the
101
+ * metadata and no `content`; only a stream with neither ends silently.
97
102
  */
98
103
  async *generateContentAsync(llmRequest, stream = false, abortSignal) {
99
104
  var _a2, _b2, _c;
@@ -695,13 +695,12 @@ async function* generateContentViaInteractions(apiClient, llmRequest, stream) {
695
695
  });
696
696
  const aggregatedParts = [];
697
697
  for await (const event of responses) {
698
- const sseEvent = event;
699
- const interactionId = extractStreamInteractionId(sseEvent);
698
+ const interactionId = extractStreamInteractionId(event);
700
699
  if (interactionId) {
701
700
  currentInteractionId = interactionId;
702
701
  }
703
702
  const llmResponse = convertInteractionEventToLlmResponse(
704
- sseEvent,
703
+ event,
705
704
  aggregatedParts,
706
705
  currentInteractionId
707
706
  );
@@ -30,6 +30,7 @@ __export(registry_exports, {
30
30
  module.exports = __toCommonJS(registry_exports);
31
31
  var import_logger = require("../utils/logger.js");
32
32
  var import_apigee_llm = require("./apigee_llm.js");
33
+ var import_chrome_prompt_llm = require("./chrome_prompt_llm.js");
33
34
  var import_google_llm = require("./google_llm.js");
34
35
  /**
35
36
  * @license
@@ -121,6 +122,7 @@ _LLMRegistry.resolveCache = new LRUCache(32);
121
122
  let LLMRegistry = _LLMRegistry;
122
123
  LLMRegistry.register(import_google_llm.Gemini);
123
124
  LLMRegistry.register(import_apigee_llm.ApigeeLlm);
125
+ LLMRegistry.register(import_chrome_prompt_llm.ChromeBuiltInLlm);
124
126
  // Annotate the CommonJS export names for ESM import in node:
125
127
  0 && (module.exports = {
126
128
  LLMRegistry