@google/adk 2.2.1 → 2.4.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 (298) hide show
  1. package/dist/cjs/a2a/a2a_remote_agent.js +4 -1
  2. package/dist/cjs/a2a/agent_card.js +102 -26
  3. package/dist/cjs/a2a/agent_to_a2a.js +1 -1
  4. package/dist/cjs/agents/agent_engine_client.js +172 -0
  5. package/dist/cjs/agents/base_agent.js +20 -4
  6. package/dist/cjs/agents/functions.js +227 -25
  7. package/dist/cjs/agents/instructions.js +6 -2
  8. package/dist/cjs/agents/invocation_context.js +26 -4
  9. package/dist/cjs/agents/langgraph_agent.js +152 -0
  10. package/dist/cjs/agents/llm_agent.js +194 -107
  11. package/dist/cjs/agents/processors/basic_llm_request_processor.js +1 -1
  12. package/dist/cjs/agents/processors/code_execution_request_processor.js +18 -6
  13. package/dist/cjs/agents/processors/content_processor_utils.js +38 -10
  14. package/dist/cjs/agents/processors/content_request_processor.js +34 -2
  15. package/dist/cjs/agents/processors/instructions_llm_request_processor.js +1 -1
  16. package/dist/cjs/agents/processors/nl_planning_processor.js +12 -3
  17. package/dist/cjs/artifacts/in_memory_artifact_service.js +14 -0
  18. package/dist/cjs/auth/auth_handler.js +37 -5
  19. package/dist/cjs/auth/auth_schemes.js +9 -0
  20. package/dist/cjs/cli/cli_eval.js +532 -0
  21. package/dist/cjs/cli/utils/envs.js +116 -0
  22. package/dist/cjs/cli/utils/evals.js +137 -0
  23. package/dist/cjs/cli/utils/logs.js +150 -0
  24. package/dist/cjs/code_executors/agent_engine_sandbox_code_executor.js +7 -2
  25. package/dist/cjs/code_executors/code_execution_utils.js +48 -16
  26. package/dist/cjs/code_executors/code_executor_context.js +6 -2
  27. package/dist/cjs/code_executors/container_code_executor.js +27 -16
  28. package/dist/cjs/code_executors/unsafe_local_code_executor.js +6 -1
  29. package/dist/cjs/common.js +61 -0
  30. package/dist/cjs/context/summarizers/llm_summarizer.js +12 -10
  31. package/dist/cjs/context/token_based_context_compactor.js +2 -1
  32. package/dist/cjs/errors/input_validation_error.js +3 -2
  33. package/dist/cjs/events/event.js +4 -2
  34. package/dist/cjs/examples/example_util.js +23 -2
  35. package/dist/cjs/flows/llm_flows/audio_transcriber.js +170 -0
  36. package/dist/cjs/index.js +104 -1
  37. package/dist/cjs/integrations/agent_registry/helpers.js +1 -1
  38. package/dist/cjs/models/gemini_llm_connection.js +16 -8
  39. package/dist/cjs/models/google_llm.js +13 -16
  40. package/dist/cjs/models/llm_response.js +9 -1
  41. package/dist/cjs/models/registry.js +1 -1
  42. package/dist/cjs/models/routed_llm.js +9 -8
  43. package/dist/cjs/planners/plan_re_act_planner.js +1 -1
  44. package/dist/cjs/plugins/base_plugin.js +13 -23
  45. package/dist/cjs/runner/in_memory_runner.js +6 -11
  46. package/dist/cjs/runner/runner.js +105 -33
  47. package/dist/cjs/sessions/base_session_service.js +14 -8
  48. package/dist/cjs/sessions/database_session_service.js +50 -28
  49. package/dist/cjs/sessions/db/operations.js +1 -1
  50. package/dist/cjs/sessions/in_memory_session_service.js +3 -1
  51. package/dist/cjs/sessions/stale_session_error.js +59 -0
  52. package/dist/cjs/sessions/state.js +8 -4
  53. package/dist/cjs/sessions/vertex_ai_session_service.js +34 -15
  54. package/dist/cjs/skills/loader.js +52 -18
  55. package/dist/cjs/telemetry/setup.js +0 -1
  56. package/dist/cjs/telemetry/tracing.js +147 -73
  57. package/dist/cjs/tools/agent_tool.js +44 -0
  58. package/dist/cjs/tools/apihub_tool/apihub_toolset.js +137 -0
  59. package/dist/cjs/tools/apihub_tool/clients/apihub_client.js +272 -0
  60. package/dist/cjs/tools/apihub_tool/clients/secret_client.js +148 -0
  61. package/dist/cjs/tools/apihub_tool/clients/service_account.js +48 -0
  62. package/dist/cjs/tools/application_integration_tool/application_integration_toolset.js +263 -0
  63. package/dist/cjs/tools/application_integration_tool/clients/cloud_request.js +133 -0
  64. package/dist/cjs/tools/application_integration_tool/clients/connections_client.js +671 -0
  65. package/dist/cjs/tools/application_integration_tool/clients/integration_client.js +223 -0
  66. package/dist/cjs/tools/application_integration_tool/integration_connector_tool.js +184 -0
  67. package/dist/cjs/tools/example_tool.js +10 -0
  68. package/dist/cjs/tools/function_tool.js +319 -0
  69. package/dist/cjs/tools/google_api_tool/google_api_tool.js +100 -0
  70. package/dist/cjs/tools/google_api_tool/google_api_toolset.js +173 -0
  71. package/dist/cjs/tools/google_api_tool/google_api_toolsets.js +124 -0
  72. package/dist/cjs/tools/google_api_tool/googleapi_to_openapi_converter.js +440 -0
  73. package/dist/cjs/tools/google_api_tool/index.js +61 -0
  74. package/dist/cjs/tools/load_artifacts_tool.js +12 -6
  75. package/dist/cjs/tools/load_memory_tool.js +12 -10
  76. package/dist/cjs/tools/mcp/index.js +12 -0
  77. package/dist/cjs/tools/mcp/mcp_session_manager.js +25 -0
  78. package/dist/cjs/tools/mcp/mcp_toolset.js +1 -14
  79. package/dist/cjs/tools/openapi_tool/auth/auth_helpers.js +1 -2
  80. package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +46 -2
  81. package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/oauth2_exchanger.js +4 -3
  82. package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +94 -10
  83. package/dist/cjs/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +20 -6
  84. package/dist/cjs/tools/openapi_tool/openapi_spec_parser/operation_parser.js +17 -6
  85. package/dist/cjs/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +14 -2
  86. package/dist/cjs/tools/openapi_tool/openapi_toolset.js +7 -13
  87. package/dist/cjs/tools/openapi_tool/rest_api_tool.js +17 -1
  88. package/dist/cjs/tools/retrieval/base_retrieval_tool.js +18 -3
  89. package/dist/cjs/tools/toolbox_toolset.js +174 -0
  90. package/dist/cjs/tools/webmcp/webmcp_toolset.js +1 -14
  91. package/dist/cjs/utils/client_labels.js +19 -2
  92. package/dist/cjs/utils/env_aware_utils.js +6 -8
  93. package/dist/cjs/utils/error_utils.js +11 -11
  94. package/dist/cjs/utils/failover_utils.js +1 -1
  95. package/dist/cjs/utils/file_extension_utils.js +11 -0
  96. package/dist/cjs/utils/file_utils.js +2 -24
  97. package/dist/cjs/utils/gemini_schema_util.js +28 -7
  98. package/dist/cjs/utils/json_utils.js +49 -0
  99. package/dist/cjs/utils/live_connection_utils.js +4 -5
  100. package/dist/cjs/utils/logger_node.js +11 -1
  101. package/dist/cjs/utils/object_notation_utils.js +6 -3
  102. package/dist/cjs/utils/output_schema_utils.js +5 -2
  103. package/dist/cjs/utils/streaming_utils.js +12 -12
  104. package/dist/cjs/utils/task.js +1 -1
  105. package/dist/cjs/version.js +1 -1
  106. package/dist/esm/a2a/a2a_remote_agent.js +4 -1
  107. package/dist/esm/a2a/agent_card.js +103 -27
  108. package/dist/esm/a2a/agent_to_a2a.js +5 -2
  109. package/dist/esm/agents/agent_engine_client.js +144 -0
  110. package/dist/esm/agents/base_agent.js +20 -4
  111. package/dist/esm/agents/functions.js +226 -25
  112. package/dist/esm/agents/instructions.js +6 -2
  113. package/dist/esm/agents/invocation_context.js +24 -4
  114. package/dist/esm/agents/langgraph_agent.js +123 -0
  115. package/dist/esm/agents/llm_agent.js +204 -110
  116. package/dist/esm/agents/processors/basic_llm_request_processor.js +1 -1
  117. package/dist/esm/agents/processors/code_execution_request_processor.js +21 -8
  118. package/dist/esm/agents/processors/content_processor_utils.js +38 -10
  119. package/dist/esm/agents/processors/content_request_processor.js +34 -2
  120. package/dist/esm/agents/processors/instructions_llm_request_processor.js +1 -1
  121. package/dist/esm/agents/processors/nl_planning_processor.js +12 -3
  122. package/dist/esm/artifacts/in_memory_artifact_service.js +14 -0
  123. package/dist/esm/auth/auth_handler.js +37 -5
  124. package/dist/esm/auth/auth_schemes.js +8 -0
  125. package/dist/esm/cli/cli_eval.js +510 -0
  126. package/dist/esm/cli/utils/envs.js +78 -0
  127. package/dist/esm/cli/utils/evals.js +109 -0
  128. package/dist/esm/cli/utils/logs.js +111 -0
  129. package/dist/esm/code_executors/agent_engine_sandbox_code_executor.js +7 -2
  130. package/dist/esm/code_executors/code_execution_utils.js +46 -16
  131. package/dist/esm/code_executors/code_executor_context.js +5 -2
  132. package/dist/esm/code_executors/container_code_executor.js +27 -16
  133. package/dist/esm/code_executors/unsafe_local_code_executor.js +6 -1
  134. package/dist/esm/common.js +65 -4
  135. package/dist/esm/context/summarizers/llm_summarizer.js +12 -10
  136. package/dist/esm/context/token_based_context_compactor.js +2 -1
  137. package/dist/esm/errors/input_validation_error.js +3 -2
  138. package/dist/esm/events/event.js +4 -2
  139. package/dist/esm/examples/example_util.js +21 -1
  140. package/dist/esm/flows/llm_flows/audio_transcriber.js +142 -0
  141. package/dist/esm/index.js +114 -2
  142. package/dist/esm/integrations/agent_registry/helpers.js +1 -1
  143. package/dist/esm/models/gemini_llm_connection.js +16 -8
  144. package/dist/esm/models/google_llm.js +14 -17
  145. package/dist/esm/models/llm_response.js +9 -1
  146. package/dist/esm/models/registry.js +1 -1
  147. package/dist/esm/models/routed_llm.js +9 -8
  148. package/dist/esm/planners/plan_re_act_planner.js +1 -1
  149. package/dist/esm/plugins/base_plugin.js +13 -23
  150. package/dist/esm/runner/in_memory_runner.js +6 -11
  151. package/dist/esm/runner/runner.js +105 -33
  152. package/dist/esm/sessions/base_session_service.js +12 -7
  153. package/dist/esm/sessions/database_session_service.js +49 -28
  154. package/dist/esm/sessions/db/operations.js +1 -1
  155. package/dist/esm/sessions/in_memory_session_service.js +3 -1
  156. package/dist/esm/sessions/stale_session_error.js +31 -0
  157. package/dist/esm/sessions/state.js +8 -4
  158. package/dist/esm/sessions/vertex_ai_session_service.js +34 -15
  159. package/dist/esm/skills/loader.js +51 -17
  160. package/dist/esm/telemetry/setup.js +1 -2
  161. package/dist/esm/telemetry/tracing.js +151 -74
  162. package/dist/esm/tools/agent_tool.js +44 -0
  163. package/dist/esm/tools/apihub_tool/apihub_toolset.js +101 -0
  164. package/dist/esm/tools/apihub_tool/clients/apihub_client.js +244 -0
  165. package/dist/esm/tools/apihub_tool/clients/secret_client.js +132 -0
  166. package/dist/esm/tools/apihub_tool/clients/service_account.js +21 -0
  167. package/dist/esm/tools/application_integration_tool/application_integration_toolset.js +245 -0
  168. package/dist/esm/tools/application_integration_tool/clients/cloud_request.js +103 -0
  169. package/dist/esm/tools/application_integration_tool/clients/connections_client.js +629 -0
  170. package/dist/esm/tools/application_integration_tool/clients/integration_client.js +219 -0
  171. package/dist/esm/tools/application_integration_tool/integration_connector_tool.js +158 -0
  172. package/dist/esm/tools/example_tool.js +13 -1
  173. package/dist/esm/tools/function_tool.js +316 -0
  174. package/dist/esm/tools/google_api_tool/google_api_tool.js +73 -0
  175. package/dist/esm/tools/google_api_tool/google_api_toolset.js +146 -0
  176. package/dist/esm/tools/google_api_tool/google_api_toolsets.js +94 -0
  177. package/dist/esm/tools/google_api_tool/googleapi_to_openapi_converter.js +393 -0
  178. package/dist/esm/tools/google_api_tool/index.js +31 -0
  179. package/dist/esm/tools/load_artifacts_tool.js +10 -5
  180. package/dist/esm/tools/load_memory_tool.js +12 -10
  181. package/dist/esm/tools/mcp/index.js +6 -0
  182. package/dist/esm/tools/mcp/mcp_session_manager.js +25 -0
  183. package/dist/esm/tools/mcp/mcp_toolset.js +1 -14
  184. package/dist/esm/tools/openapi_tool/auth/auth_helpers.js +1 -2
  185. package/dist/esm/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +50 -3
  186. package/dist/esm/tools/openapi_tool/auth/credential_exchangers/oauth2_exchanger.js +4 -3
  187. package/dist/esm/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +94 -10
  188. package/dist/esm/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +20 -6
  189. package/dist/esm/tools/openapi_tool/openapi_spec_parser/operation_parser.js +17 -6
  190. package/dist/esm/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +15 -2
  191. package/dist/esm/tools/openapi_tool/openapi_toolset.js +6 -12
  192. package/dist/esm/tools/openapi_tool/rest_api_tool.js +17 -1
  193. package/dist/esm/tools/retrieval/base_retrieval_tool.js +16 -2
  194. package/dist/esm/tools/toolbox_toolset.js +148 -0
  195. package/dist/esm/tools/webmcp/webmcp_toolset.js +1 -14
  196. package/dist/esm/utils/client_labels.js +19 -2
  197. package/dist/esm/utils/env_aware_utils.js +6 -8
  198. package/dist/esm/utils/error_utils.js +9 -10
  199. package/dist/esm/utils/failover_utils.js +1 -1
  200. package/dist/esm/utils/file_extension_utils.js +11 -0
  201. package/dist/esm/utils/file_utils.js +2 -23
  202. package/dist/esm/utils/gemini_schema_util.js +27 -7
  203. package/dist/esm/utils/json_utils.js +21 -0
  204. package/dist/esm/utils/live_connection_utils.js +4 -5
  205. package/dist/esm/utils/logger_node.js +11 -1
  206. package/dist/esm/utils/object_notation_utils.js +4 -2
  207. package/dist/esm/utils/output_schema_utils.js +5 -2
  208. package/dist/esm/utils/streaming_utils.js +11 -11
  209. package/dist/esm/utils/task.js +1 -1
  210. package/dist/esm/version.js +1 -1
  211. package/dist/types/a2a/a2a_remote_agent.d.ts +9 -0
  212. package/dist/types/a2a/agent_card.d.ts +44 -1
  213. package/dist/types/a2a/agent_to_a2a.d.ts +9 -0
  214. package/dist/types/a2a/index.d.ts +1 -0
  215. package/dist/types/agents/agent_engine_client.d.ts +37 -0
  216. package/dist/types/agents/base_agent.d.ts +12 -0
  217. package/dist/types/agents/functions.d.ts +33 -1
  218. package/dist/types/agents/invocation_context.d.ts +20 -1
  219. package/dist/types/agents/langgraph_agent.d.ts +153 -0
  220. package/dist/types/agents/llm_agent.d.ts +5 -1
  221. package/dist/types/agents/processors/content_processor_utils.d.ts +4 -2
  222. package/dist/types/agents/processors/nl_planning_processor.d.ts +2 -1
  223. package/dist/types/auth/auth_handler.d.ts +28 -1
  224. package/dist/types/auth/auth_schemes.d.ts +13 -0
  225. package/dist/types/cli/cli_eval.d.ts +173 -0
  226. package/dist/types/cli/utils/envs.d.ts +23 -0
  227. package/dist/types/cli/utils/evals.d.ts +47 -0
  228. package/dist/types/cli/utils/logs.d.ts +38 -0
  229. package/dist/types/code_executors/code_execution_utils.d.ts +39 -0
  230. package/dist/types/code_executors/code_executor_context.d.ts +1 -0
  231. package/dist/types/code_executors/container_code_executor.d.ts +17 -5
  232. package/dist/types/common.d.ts +24 -5
  233. package/dist/types/errors/input_validation_error.d.ts +2 -1
  234. package/dist/types/events/event.d.ts +4 -0
  235. package/dist/types/examples/example_util.d.ts +17 -0
  236. package/dist/types/flows/llm_flows/audio_transcriber.d.ts +85 -0
  237. package/dist/types/index.d.ts +19 -2
  238. package/dist/types/models/gemini_llm_connection.d.ts +6 -7
  239. package/dist/types/models/routed_llm.d.ts +1 -1
  240. package/dist/types/plugins/base_plugin.d.ts +0 -10
  241. package/dist/types/runner/in_memory_runner.d.ts +2 -1
  242. package/dist/types/runner/runner.d.ts +34 -0
  243. package/dist/types/sessions/base_session_service.d.ts +5 -0
  244. package/dist/types/sessions/database_session_service.d.ts +17 -1
  245. package/dist/types/sessions/stale_session_error.d.ts +21 -0
  246. package/dist/types/sessions/state.d.ts +5 -1
  247. package/dist/types/sessions/vertex_ai_session_service.d.ts +8 -0
  248. package/dist/types/skills/loader.d.ts +3 -2
  249. package/dist/types/skills/skill.d.ts +1 -1
  250. package/dist/types/telemetry/tracing.d.ts +20 -4
  251. package/dist/types/tools/apihub_tool/apihub_toolset.d.ts +115 -0
  252. package/dist/types/tools/apihub_tool/clients/apihub_client.d.ts +142 -0
  253. package/dist/types/tools/apihub_tool/clients/secret_client.d.ts +55 -0
  254. package/dist/types/tools/apihub_tool/clients/service_account.d.ts +11 -0
  255. package/dist/types/tools/application_integration_tool/application_integration_toolset.d.ts +109 -0
  256. package/dist/types/tools/application_integration_tool/clients/cloud_request.d.ts +53 -0
  257. package/dist/types/tools/application_integration_tool/clients/connections_client.d.ts +229 -0
  258. package/dist/types/tools/application_integration_tool/clients/integration_client.d.ts +72 -0
  259. package/dist/types/tools/application_integration_tool/integration_connector_tool.d.ts +70 -0
  260. package/dist/types/tools/base_toolset.d.ts +6 -5
  261. package/dist/types/tools/example_tool.d.ts +10 -0
  262. package/dist/types/tools/function_tool.d.ts +32 -0
  263. package/dist/types/tools/google_api_tool/google_api_tool.d.ts +37 -0
  264. package/dist/types/tools/google_api_tool/google_api_toolset.d.ts +55 -0
  265. package/dist/types/tools/google_api_tool/google_api_toolsets.d.ts +48 -0
  266. package/dist/types/tools/google_api_tool/googleapi_to_openapi_converter.d.ts +165 -0
  267. package/dist/types/tools/google_api_tool/index.d.ts +10 -0
  268. package/dist/types/tools/load_artifacts_tool.d.ts +14 -1
  269. package/dist/types/tools/load_memory_tool.d.ts +23 -1
  270. package/dist/types/tools/mcp/index.d.ts +3 -0
  271. package/dist/types/tools/mcp/mcp_session_manager.d.ts +34 -1
  272. package/dist/types/tools/mcp/mcp_toolset.d.ts +15 -0
  273. package/dist/types/tools/openapi_tool/auth/auth_helpers.d.ts +19 -0
  274. package/dist/types/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.d.ts +18 -1
  275. package/dist/types/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.d.ts +12 -0
  276. package/dist/types/tools/openapi_tool/openapi_spec_parser/operation_parser.d.ts +8 -0
  277. package/dist/types/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.d.ts +2 -1
  278. package/dist/types/tools/openapi_tool/openapi_toolset.d.ts +5 -0
  279. package/dist/types/tools/openapi_tool/rest_api_tool.d.ts +10 -0
  280. package/dist/types/tools/retrieval/base_retrieval_tool.d.ts +15 -0
  281. package/dist/types/tools/toolbox_toolset.d.ts +159 -0
  282. package/dist/types/utils/client_labels.d.ts +2 -1
  283. package/dist/types/utils/env_aware_utils.d.ts +18 -2
  284. package/dist/types/utils/error_utils.d.ts +7 -0
  285. package/dist/types/utils/file_utils.d.ts +6 -1
  286. package/dist/types/utils/gemini_schema_util.d.ts +9 -2
  287. package/dist/types/utils/json_utils.d.ts +11 -0
  288. package/dist/types/utils/object_notation_utils.d.ts +7 -0
  289. package/dist/types/utils/output_schema_utils.d.ts +3 -2
  290. package/dist/types/utils/simple_zod_to_json.d.ts +1 -2
  291. package/dist/types/utils/streaming_utils.d.ts +11 -4
  292. package/dist/types/version.d.ts +1 -1
  293. package/dist/web/index_web.js +117 -110
  294. package/dist/web/index_web.js.map +4 -4
  295. package/package.json +38 -26
  296. package/dist/cjs/models/gemini_continuation.js +0 -232
  297. package/dist/esm/models/gemini_continuation.js +0 -205
  298. package/dist/types/models/gemini_continuation.d.ts +0 -59
@@ -41,6 +41,7 @@ __export(common_exports, {
41
41
  AuthHandler: () => import_auth_handler.AuthHandler,
42
42
  AuthPreprocessor: () => import_auth_preprocessor.AuthPreprocessor,
43
43
  AuthProviderRegistry: () => import_auth_provider_registry.AuthProviderRegistry,
44
+ AuthSchemeType: () => import_auth_schemes.AuthSchemeType,
44
45
  BaseAgent: () => import_base_agent.BaseAgent,
45
46
  BaseCodeExecutor: () => import_base_code_executor.BaseCodeExecutor,
46
47
  BaseEnvironment: () => import_base_environment.BaseEnvironment,
@@ -64,6 +65,7 @@ __export(common_exports, {
64
65
  ChromeBuiltInLlm: () => import_chrome_prompt_llm.ChromeBuiltInLlm,
65
66
  ChromeModelUnavailableError: () => import_chrome_prompt_llm.ChromeModelUnavailableError,
66
67
  CodeExecutionLanguage: () => import_code_execution_utils.CodeExecutionLanguage,
68
+ CodeExecutionResponseProcessor: () => import_code_execution_request_processor.CodeExecutionResponseProcessor,
67
69
  ConsolidateContextTool: () => import_consolidate_context_tool.ConsolidateContextTool,
68
70
  ContentRequestProcessor: () => import_content_request_processor.ContentRequestProcessor,
69
71
  Context: () => import_context.Context,
@@ -111,10 +113,12 @@ __export(common_exports, {
111
113
  LLMRegistry: () => import_registry.LLMRegistry,
112
114
  LOAD_ARTIFACTS: () => import_load_artifacts_tool.LOAD_ARTIFACTS,
113
115
  LOAD_MEMORY: () => import_load_memory_tool.LOAD_MEMORY,
116
+ LangGraphAgent: () => import_langgraph_agent.LangGraphAgent,
114
117
  ListSkillsTool: () => import_list_skills_tool.ListSkillsTool,
115
118
  LiveRequestQueue: () => import_live_request_queue.LiveRequestQueue,
116
119
  LlamaIndexRetrieval: () => import_llama_index_retrieval.LlamaIndexRetrieval,
117
120
  LlmAgent: () => import_llm_agent.LlmAgent,
121
+ LlmCallsLimitExceededError: () => import_invocation_context.LlmCallsLimitExceededError,
118
122
  LlmSummarizer: () => import_llm_summarizer.LlmSummarizer,
119
123
  LoadArtifactsTool: () => import_load_artifacts_tool.LoadArtifactsTool,
120
124
  LoadMemoryTool: () => import_load_memory_tool.LoadMemoryTool,
@@ -173,6 +177,7 @@ __export(common_exports, {
173
177
  ToolErrorType: () => import_tool_execution_error.ToolErrorType,
174
178
  ToolExecutionError: () => import_tool_execution_error.ToolExecutionError,
175
179
  ToolNode: () => import_workflow.ToolNode,
180
+ ToolboxToolset: () => import_toolbox_toolset.ToolboxToolset,
176
181
  TrackingScope: () => import_reflect_retry_utils.TrackingScope,
177
182
  TrajectoryThoughtPruningCompactor: () => import_trajectory_thought_pruning_compactor.TrajectoryThoughtPruningCompactor,
178
183
  TruncatingContextCompactor: () => import_truncating_context_compactor.TruncatingContextCompactor,
@@ -185,13 +190,21 @@ __export(common_exports, {
185
190
  WebMCPToolset: () => import_webmcp_toolset.WebMCPToolset,
186
191
  Workflow: () => import_workflow.Workflow,
187
192
  WorkflowNode: () => import_workflow.WorkflowNode,
193
+ appendInstructions: () => import_llm_request.appendInstructions,
188
194
  asRunnableRoot: () => import_workflow.asRunnableRoot,
195
+ buildFunctionDeclarationForLangchain: () => import_function_tool2.buildFunctionDeclarationForLangchain,
196
+ buildFunctionDeclarationForParamsForCrewai: () => import_function_tool2.buildFunctionDeclarationForParamsForCrewai,
197
+ buildFunctionDeclarationUtil: () => import_function_tool2.buildFunctionDeclarationUtil,
189
198
  commonPrefixOf: () => import_workflow.commonPrefixOf,
199
+ convertSessionToEvalFormat: () => import_evals.convertSessionToEvalFormat,
200
+ createEmptyState: () => import_evals.createEmptyState,
190
201
  createEvent: () => import_event.createEvent,
191
202
  createEventActions: () => import_event_actions.createEventActions,
203
+ createLlmResponse: () => import_llm_response.createLlmResponse,
192
204
  createNodeErrorEvent: () => import_workflow.createNodeErrorEvent,
193
205
  createNodeState: () => import_workflow.createNodeState,
194
206
  createResumabilityConfig: () => import_resumability_config.createResumabilityConfig,
207
+ createRunConfig: () => import_run_config.createRunConfig,
195
208
  createSession: () => import_session.createSession,
196
209
  createSubBranch: () => import_workflow.createSubBranch,
197
210
  determineAgentForResumption: () => import_runner.determineAgentForResumption,
@@ -200,16 +213,20 @@ __export(common_exports, {
200
213
  findMatchingFunctionCall: () => import_functions.findMatchingFunctionCall,
201
214
  functionsExportedForTestingOnly: () => import_functions.functionsExportedForTestingOnly,
202
215
  geminiInitParams: () => import_google_llm.geminiInitParams,
216
+ genaiSchemaToJsonSchema: () => import_genai_schema_to_json.genaiSchemaToJsonSchema,
203
217
  generateClientFunctionCallId: () => import_event.generateClientFunctionCallId,
204
218
  getAskUserConfirmationFunctionCalls: () => import_security_plugin.getAskUserConfirmationFunctionCalls,
205
219
  getClientLabels: () => import_client_labels.getClientLabels,
206
220
  getFunctionCalls: () => import_event.getFunctionCalls,
207
221
  getFunctionResponses: () => import_event.getFunctionResponses,
222
+ getLastHumanMessages: () => import_langgraph_agent.getLastHumanMessages,
208
223
  getLogger: () => import_logger.getLogger,
209
224
  getModelContext: () => import_webmcp_types.getModelContext,
225
+ getOAuthGrantTypeFromFlow: () => import_auth_schemes.getOAuthGrantTypeFromFlow,
210
226
  getPendingUserInputRequests: () => import_user_input_request.getPendingUserInputRequests,
211
227
  getUserChoiceTool: () => import_get_user_choice_tool.getUserChoiceTool,
212
228
  getUserInputRequests: () => import_user_input_request.getUserInputRequests,
229
+ handleFunctionCallsLive: () => import_functions.handleFunctionCallsLive,
213
230
  hasThoughts: () => import_event.hasThoughts,
214
231
  hasTrailingCodeExecutionResult: () => import_event.hasTrailingCodeExecutionResult,
215
232
  isAgentTool: () => import_agent_tool.isAgentTool,
@@ -219,6 +236,7 @@ __export(common_exports, {
219
236
  isBaseExampleProvider: () => import_base_example_provider.isBaseExampleProvider,
220
237
  isBaseLlm: () => import_base_llm.isBaseLlm,
221
238
  isBasePlanner: () => import_base_planner.isBasePlanner,
239
+ isBaseRetrievalTool: () => import_base_retrieval_tool2.isBaseRetrievalTool,
222
240
  isBaseTool: () => import_base_tool.isBaseTool,
223
241
  isBaseToolset: () => import_base_toolset.isBaseToolset,
224
242
  isBuiltInPlanner: () => import_built_in_planner.isBuiltInPlanner,
@@ -230,7 +248,9 @@ __export(common_exports, {
230
248
  isGemini3xFlashLive: () => import_model_name.isGemini3xFlashLive,
231
249
  isGemini3xLive: () => import_model_name.isGemini3xLive,
232
250
  isIntentMismatchError: () => import_tool_confirmation.isIntentMismatchError,
251
+ isLangGraphAgent: () => import_langgraph_agent.isLangGraphAgent,
233
252
  isLlmAgent: () => import_llm_agent.isLlmAgent,
253
+ isLlmCallsLimitExceededError: () => import_invocation_context.isLlmCallsLimitExceededError,
234
254
  isLoopAgent: () => import_loop_agent.isLoopAgent,
235
255
  isNodeErrorEvent: () => import_workflow.isNodeErrorEvent,
236
256
  isNodeReportedError: () => import_workflow.isNodeReportedError,
@@ -248,8 +268,11 @@ __export(common_exports, {
248
268
  isSessionArtifactService: () => import_session_artifact_service.isSessionArtifactService,
249
269
  isStateSchemaError: () => import_state.isStateSchemaError,
250
270
  isToolNotFound: () => import_functions.isToolNotFound,
271
+ isToolboxToolset: () => import_toolbox_toolset.isToolboxToolset,
251
272
  isWebMCPSupported: () => import_webmcp_types.isWebMCPSupported,
252
273
  isWorkflow: () => import_workflow.isWorkflow,
274
+ isZodObject: () => import_simple_zod_to_json.isZodObject,
275
+ isZodSchema: () => import_simple_zod_to_json.isZodSchema,
253
276
  logger: () => import_logger.logger,
254
277
  markRestored: () => import_internal_metadata.markRestored,
255
278
  node: () => import_workflow.node,
@@ -271,6 +294,8 @@ __export(common_exports, {
271
294
  setLogger: () => import_logger.setLogger,
272
295
  stringifyContent: () => import_event.stringifyContent,
273
296
  stripAdkIdentityPreamble: () => import_chrome_prompt_llm.stripAdkIdentityPreamble,
297
+ toGeminiSchema: () => import_gemini_schema_util.toGeminiSchema,
298
+ toJsonSchema: () => import_schema.toJsonSchema,
274
299
  toSnakeCaseName: () => import_case_utils.toSnakeCaseName,
275
300
  toStructuredEvents: () => import_structured_events.toStructuredEvents,
276
301
  validateAppName: () => import_app.validateAppName,
@@ -283,12 +308,14 @@ var import_base_agent = require("./agents/base_agent.js");
283
308
  var import_context = require("./agents/context.js");
284
309
  var import_functions = require("./agents/functions.js");
285
310
  var import_invocation_context = require("./agents/invocation_context.js");
311
+ var import_langgraph_agent = require("./agents/langgraph_agent.js");
286
312
  var import_live_request_queue = require("./agents/live_request_queue.js");
287
313
  var import_llm_agent = require("./agents/llm_agent.js");
288
314
  var import_loop_agent = require("./agents/loop_agent.js");
289
315
  var import_parallel_agent = require("./agents/parallel_agent.js");
290
316
  var import_agent_transfer_llm_request_processor = require("./agents/processors/agent_transfer_llm_request_processor.js");
291
317
  var import_base_llm_processor = require("./agents/processors/base_llm_processor.js");
318
+ var import_code_execution_request_processor = require("./agents/processors/code_execution_request_processor.js");
292
319
  var import_content_request_processor = require("./agents/processors/content_request_processor.js");
293
320
  var import_context_compactor_request_processor = require("./agents/processors/context_compactor_request_processor.js");
294
321
  var import_interactions_request_processor = require("./agents/processors/interactions_request_processor.js");
@@ -339,6 +366,8 @@ var import_apigee_llm = require("./models/apigee_llm.js");
339
366
  var import_base_llm = require("./models/base_llm.js");
340
367
  var import_chrome_prompt_llm = require("./models/chrome_prompt_llm.js");
341
368
  var import_google_llm = require("./models/google_llm.js");
369
+ var import_llm_request = require("./models/llm_request.js");
370
+ var import_llm_response = require("./models/llm_response.js");
342
371
  var import_registry = require("./models/registry.js");
343
372
  var import_routed_llm = require("./models/routed_llm.js");
344
373
  var import_base_planner = require("./planners/base_planner.js");
@@ -391,8 +420,11 @@ var import_webmcp_types = require("./tools/webmcp/webmcp_types.js");
391
420
  var import_async_queue = require("./utils/async_queue.js");
392
421
  var import_case_utils = require("./utils/case_utils.js");
393
422
  var import_client_labels = require("./utils/client_labels.js");
423
+ var import_gemini_schema_util = require("./utils/gemini_schema_util.js");
424
+ var import_genai_schema_to_json = require("./utils/genai_schema_to_json.js");
394
425
  var import_logger = require("./utils/logger.js");
395
426
  var import_model_name = require("./utils/model_name.js");
427
+ var import_schema = require("./utils/schema.js");
396
428
  var import_simple_zod_to_json = require("./utils/simple_zod_to_json.js");
397
429
  var import_task = require("./utils/task.js");
398
430
  var import_variant_utils = require("./utils/variant_utils.js");
@@ -412,6 +444,10 @@ __reExport(common_exports, require("./features/feature_registry.js"), module.exp
412
444
  __reExport(common_exports, require("./memory/base_memory_service.js"), module.exports);
413
445
  __reExport(common_exports, require("./sessions/base_session_service.js"), module.exports);
414
446
  __reExport(common_exports, require("./tools/base_tool.js"), module.exports);
447
+ var import_evals = require("./cli/utils/evals.js");
448
+ var import_function_tool2 = require("./tools/function_tool.js");
449
+ var import_base_retrieval_tool2 = require("./tools/retrieval/base_retrieval_tool.js");
450
+ var import_toolbox_toolset = require("./tools/toolbox_toolset.js");
415
451
  /**
416
452
  * @license
417
453
  * Copyright 2025 Google LLC
@@ -435,6 +471,7 @@ __reExport(common_exports, require("./tools/base_tool.js"), module.exports);
435
471
  AuthHandler,
436
472
  AuthPreprocessor,
437
473
  AuthProviderRegistry,
474
+ AuthSchemeType,
438
475
  BaseAgent,
439
476
  BaseCodeExecutor,
440
477
  BaseEnvironment,
@@ -458,6 +495,7 @@ __reExport(common_exports, require("./tools/base_tool.js"), module.exports);
458
495
  ChromeBuiltInLlm,
459
496
  ChromeModelUnavailableError,
460
497
  CodeExecutionLanguage,
498
+ CodeExecutionResponseProcessor,
461
499
  ConsolidateContextTool,
462
500
  ContentRequestProcessor,
463
501
  Context,
@@ -505,10 +543,12 @@ __reExport(common_exports, require("./tools/base_tool.js"), module.exports);
505
543
  LLMRegistry,
506
544
  LOAD_ARTIFACTS,
507
545
  LOAD_MEMORY,
546
+ LangGraphAgent,
508
547
  ListSkillsTool,
509
548
  LiveRequestQueue,
510
549
  LlamaIndexRetrieval,
511
550
  LlmAgent,
551
+ LlmCallsLimitExceededError,
512
552
  LlmSummarizer,
513
553
  LoadArtifactsTool,
514
554
  LoadMemoryTool,
@@ -567,6 +607,7 @@ __reExport(common_exports, require("./tools/base_tool.js"), module.exports);
567
607
  ToolErrorType,
568
608
  ToolExecutionError,
569
609
  ToolNode,
610
+ ToolboxToolset,
570
611
  TrackingScope,
571
612
  TrajectoryThoughtPruningCompactor,
572
613
  TruncatingContextCompactor,
@@ -579,13 +620,21 @@ __reExport(common_exports, require("./tools/base_tool.js"), module.exports);
579
620
  WebMCPToolset,
580
621
  Workflow,
581
622
  WorkflowNode,
623
+ appendInstructions,
582
624
  asRunnableRoot,
625
+ buildFunctionDeclarationForLangchain,
626
+ buildFunctionDeclarationForParamsForCrewai,
627
+ buildFunctionDeclarationUtil,
583
628
  commonPrefixOf,
629
+ convertSessionToEvalFormat,
630
+ createEmptyState,
584
631
  createEvent,
585
632
  createEventActions,
633
+ createLlmResponse,
586
634
  createNodeErrorEvent,
587
635
  createNodeState,
588
636
  createResumabilityConfig,
637
+ createRunConfig,
589
638
  createSession,
590
639
  createSubBranch,
591
640
  determineAgentForResumption,
@@ -594,16 +643,20 @@ __reExport(common_exports, require("./tools/base_tool.js"), module.exports);
594
643
  findMatchingFunctionCall,
595
644
  functionsExportedForTestingOnly,
596
645
  geminiInitParams,
646
+ genaiSchemaToJsonSchema,
597
647
  generateClientFunctionCallId,
598
648
  getAskUserConfirmationFunctionCalls,
599
649
  getClientLabels,
600
650
  getFunctionCalls,
601
651
  getFunctionResponses,
652
+ getLastHumanMessages,
602
653
  getLogger,
603
654
  getModelContext,
655
+ getOAuthGrantTypeFromFlow,
604
656
  getPendingUserInputRequests,
605
657
  getUserChoiceTool,
606
658
  getUserInputRequests,
659
+ handleFunctionCallsLive,
607
660
  hasThoughts,
608
661
  hasTrailingCodeExecutionResult,
609
662
  isAgentTool,
@@ -613,6 +666,7 @@ __reExport(common_exports, require("./tools/base_tool.js"), module.exports);
613
666
  isBaseExampleProvider,
614
667
  isBaseLlm,
615
668
  isBasePlanner,
669
+ isBaseRetrievalTool,
616
670
  isBaseTool,
617
671
  isBaseToolset,
618
672
  isBuiltInPlanner,
@@ -624,7 +678,9 @@ __reExport(common_exports, require("./tools/base_tool.js"), module.exports);
624
678
  isGemini3xFlashLive,
625
679
  isGemini3xLive,
626
680
  isIntentMismatchError,
681
+ isLangGraphAgent,
627
682
  isLlmAgent,
683
+ isLlmCallsLimitExceededError,
628
684
  isLoopAgent,
629
685
  isNodeErrorEvent,
630
686
  isNodeReportedError,
@@ -642,8 +698,11 @@ __reExport(common_exports, require("./tools/base_tool.js"), module.exports);
642
698
  isSessionArtifactService,
643
699
  isStateSchemaError,
644
700
  isToolNotFound,
701
+ isToolboxToolset,
645
702
  isWebMCPSupported,
646
703
  isWorkflow,
704
+ isZodObject,
705
+ isZodSchema,
647
706
  logger,
648
707
  markRestored,
649
708
  node,
@@ -665,6 +724,8 @@ __reExport(common_exports, require("./tools/base_tool.js"), module.exports);
665
724
  setLogger,
666
725
  stringifyContent,
667
726
  stripAdkIdentityPreamble,
727
+ toGeminiSchema,
728
+ toJsonSchema,
668
729
  toSnakeCaseName,
669
730
  toStructuredEvents,
670
731
  validateAppName,
@@ -53,7 +53,7 @@ const _LlmSummarizer = class _LlmSummarizer {
53
53
  * @throws {Error} If `events` is empty or the LLM returns no content.
54
54
  */
55
55
  async summarize(events) {
56
- var _a, _b, _c, _d, _e, _f;
56
+ var _a, _b;
57
57
  if (events.length === 0) {
58
58
  throw new Error("Cannot summarize an empty list of events.");
59
59
  }
@@ -75,18 +75,20 @@ ${formattedEvents}`;
75
75
  toolsDict: {},
76
76
  liveConnectConfig: {}
77
77
  };
78
- const responseGen = this.llm.generateContentAsync(request, false);
79
78
  let compactedContent = "";
80
- const firstResponse = await responseGen.next();
81
- if (firstResponse.done || !((_c = (_b = (_a = firstResponse.value.content) == null ? void 0 : _a.parts) == null ? void 0 : _b[0]) == null ? void 0 : _c.text)) {
82
- throw new Error("LLM failed to return a valid summary.");
83
- }
84
- compactedContent += firstResponse.value.content.parts[0].text;
85
- for await (const chunk of responseGen) {
86
- if ((_f = (_e = (_d = chunk.content) == null ? void 0 : _d.parts) == null ? void 0 : _e[0]) == null ? void 0 : _f.text) {
87
- compactedContent += chunk.content.parts[0].text;
79
+ for await (const response of this.llm.generateContentAsync(
80
+ request,
81
+ false
82
+ )) {
83
+ for (const part of (_b = (_a = response.content) == null ? void 0 : _a.parts) != null ? _b : []) {
84
+ if (part.text && !part.thought) {
85
+ compactedContent += part.text;
86
+ }
88
87
  }
89
88
  }
89
+ if (!compactedContent) {
90
+ throw new Error("LLM failed to return a valid summary.");
91
+ }
90
92
  return (0, import_compacted_event.createCompactedEvent)({
91
93
  author: "system",
92
94
  content: {
@@ -109,7 +109,8 @@ let TokenBasedContextCompactor = _TokenBasedContextCompactor;
109
109
  function latestPromptTokenCount(activeEvents, invocationContext) {
110
110
  var _a;
111
111
  for (let i = activeEvents.length - 1; i >= 0; i--) {
112
- const count = (_a = activeEvents[i].usageMetadata) == null ? void 0 : _a.promptTokenCount;
112
+ const usage = activeEvents[i].usageMetadata;
113
+ const count = (_a = usage == null ? void 0 : usage.initialPromptTokenCount) != null ? _a : usage == null ? void 0 : usage.promptTokenCount;
113
114
  if (count !== void 0) {
114
115
  return count;
115
116
  }
@@ -36,9 +36,10 @@ module.exports = __toCommonJS(input_validation_error_exports);
36
36
  const _InputValidationError = class _InputValidationError extends Error {
37
37
  /**
38
38
  * @param message A message describing why the input is invalid.
39
+ * @param options Standard error options, e.g. `{cause}`.
39
40
  */
40
- constructor(message = "Invalid input.") {
41
- super(message);
41
+ constructor(message = "Invalid input.", options) {
42
+ super(message, options);
42
43
  this.name = "InputValidationError";
43
44
  }
44
45
  };
@@ -132,8 +132,10 @@ function stringifyContent(event) {
132
132
  __name(stringifyContent, "stringifyContent");
133
133
  function getEventTokens(event) {
134
134
  var _a;
135
- if (((_a = event.usageMetadata) == null ? void 0 : _a.promptTokenCount) !== void 0) {
136
- return event.usageMetadata.promptTokenCount;
135
+ const usage = event.usageMetadata;
136
+ const promptTokenCount = (_a = usage == null ? void 0 : usage.initialPromptTokenCount) != null ? _a : usage == null ? void 0 : usage.promptTokenCount;
137
+ if (promptTokenCount !== void 0) {
138
+ return promptTokenCount;
137
139
  }
138
140
  const contentStr = stringifyContent(event);
139
141
  return Math.ceil(contentStr.length / 4);
@@ -28,9 +28,12 @@ __export(example_util_exports, {
28
28
  _getLatestMessageFromUser: () => _getLatestMessageFromUser,
29
29
  buildExampleSi: () => buildExampleSi,
30
30
  convertExamplesToText: () => convertExamplesToText,
31
- getLatestMessageFromUser: () => getLatestMessageFromUser
31
+ getLatestMessageFromUser: () => getLatestMessageFromUser,
32
+ validateExamples: () => validateExamples
32
33
  });
33
34
  module.exports = __toCommonJS(example_util_exports);
35
+ var import_zod = require("zod");
36
+ var import_input_validation_error = require("../errors/input_validation_error.js");
34
37
  var import_event = require("../events/event.js");
35
38
  var import_logger = require("../utils/logger.js");
36
39
  var import_base_example_provider = require("./base_example_provider.js");
@@ -39,6 +42,23 @@ var import_base_example_provider = require("./base_example_provider.js");
39
42
  * Copyright 2025 Google LLC
40
43
  * SPDX-License-Identifier: Apache-2.0
41
44
  */
45
+ const contentSchema = import_zod.z.object({
46
+ role: import_zod.z.string().optional(),
47
+ parts: import_zod.z.array(import_zod.z.object({}).loose()).optional()
48
+ }).loose();
49
+ const examplesSchema = import_zod.z.array(
50
+ import_zod.z.object({ input: contentSchema, output: import_zod.z.array(contentSchema) })
51
+ );
52
+ function validateExamples(examples) {
53
+ const result = examplesSchema.safeParse(examples);
54
+ if (!result.success) {
55
+ throw new import_input_validation_error.InputValidationError(
56
+ `Invalid few-shot examples:
57
+ ${import_zod.z.prettifyError(result.error)}`
58
+ );
59
+ }
60
+ }
61
+ __name(validateExamples, "validateExamples");
42
62
  const EXAMPLES_INTRO = "<EXAMPLES>\nBegin few-shot\nThe following are examples of user queries and model responses using the available tools.\n\n";
43
63
  const EXAMPLES_END = "End few-shot\n<EXAMPLES>";
44
64
  const EXAMPLE_START = "EXAMPLE {}:\nBegin example\n";
@@ -130,5 +150,6 @@ __name(buildExampleSi, "buildExampleSi");
130
150
  _getLatestMessageFromUser,
131
151
  buildExampleSi,
132
152
  convertExamplesToText,
133
- getLatestMessageFromUser
153
+ getLatestMessageFromUser,
154
+ validateExamples
134
155
  });
@@ -0,0 +1,170 @@
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 audio_transcriber_exports = {};
27
+ __export(audio_transcriber_exports, {
28
+ AudioEncoding: () => AudioEncoding,
29
+ AudioTranscriber: () => AudioTranscriber
30
+ });
31
+ module.exports = __toCommonJS(audio_transcriber_exports);
32
+ /**
33
+ * @license
34
+ * Copyright 2026 Google LLC
35
+ * SPDX-License-Identifier: Apache-2.0
36
+ */
37
+ var AudioEncoding = /* @__PURE__ */ ((AudioEncoding2) => {
38
+ AudioEncoding2[AudioEncoding2["ENCODING_UNSPECIFIED"] = 0] = "ENCODING_UNSPECIFIED";
39
+ AudioEncoding2[AudioEncoding2["LINEAR16"] = 1] = "LINEAR16";
40
+ return AudioEncoding2;
41
+ })(AudioEncoding || {});
42
+ function isSpeechClientLike(value) {
43
+ return typeof value === "object" && value !== null && typeof value.recognize === "function";
44
+ }
45
+ __name(isSpeechClientLike, "isSpeechClientLike");
46
+ function isContentEntry(data) {
47
+ return "parts" in data || !("data" in data) && !("mimeType" in data);
48
+ }
49
+ __name(isContentEntry, "isContentEntry");
50
+ function blobDataToBytes(data) {
51
+ if (typeof data !== "string") {
52
+ return data;
53
+ }
54
+ if (data.length > 0 && data.length % 4 === 0 && /^[A-Za-z0-9+/]+={0,2}$/.test(data)) {
55
+ const atobFn = globalThis.atob;
56
+ if (typeof Buffer === "undefined" && typeof atobFn === "function") {
57
+ const binary = atobFn(data);
58
+ return Uint8Array.from(binary, (char) => char.charCodeAt(0));
59
+ }
60
+ return new Uint8Array(Buffer.from(data, "base64"));
61
+ }
62
+ return new TextEncoder().encode(data);
63
+ }
64
+ __name(blobDataToBytes, "blobDataToBytes");
65
+ function concatBytes(first, second) {
66
+ const merged = new Uint8Array(first.length + second.length);
67
+ merged.set(first, 0);
68
+ merged.set(second, first.length);
69
+ return merged;
70
+ }
71
+ __name(concatBytes, "concatBytes");
72
+ const _AudioTranscriber = class _AudioTranscriber {
73
+ constructor(optionsOrClient) {
74
+ if (isSpeechClientLike(optionsOrClient)) {
75
+ this.client = optionsOrClient;
76
+ } else if (optionsOrClient == null ? void 0 : optionsOrClient.client) {
77
+ this.client = optionsOrClient.client;
78
+ } else {
79
+ this.client = {
80
+ recognize() {
81
+ throw new Error(
82
+ "SpeechClient is not configured on AudioTranscriber. Pass a SpeechClientLike implementation to new AudioTranscriber({client})."
83
+ );
84
+ }
85
+ };
86
+ }
87
+ }
88
+ /**
89
+ * Bundles consecutive audio blobs from the same speaker in
90
+ * `invocationContext.transcriptionCache`, transcribes user audio bundles into
91
+ * text `Content` entries, preserves already-transcribed `Content`
92
+ * entries in order, clears `invocationContext.transcriptionCache`, and
93
+ * returns the resulting content list.
94
+ *
95
+ * @param invocationContext The invocation context holding `transcriptionCache`.
96
+ * @returns Ordered list of transcribed `Content` objects.
97
+ */
98
+ async transcribeFile(invocationContext) {
99
+ var _a, _b, _c, _d;
100
+ const bundledAudio = [];
101
+ const transcriptionHistory = [];
102
+ let currentSpeaker = void 0;
103
+ let currentAudioData = new Uint8Array(0);
104
+ for (const transcriptionEntry of (_a = invocationContext.transcriptionCache) != null ? _a : []) {
105
+ const speaker = transcriptionEntry.role;
106
+ const audioData = transcriptionEntry.data;
107
+ if (isContentEntry(audioData)) {
108
+ if (currentSpeaker !== void 0) {
109
+ bundledAudio.push([currentSpeaker, currentAudioData]);
110
+ currentSpeaker = void 0;
111
+ currentAudioData = new Uint8Array(0);
112
+ }
113
+ bundledAudio.push([speaker, audioData]);
114
+ continue;
115
+ }
116
+ const rawData = audioData.data;
117
+ if (!rawData) {
118
+ continue;
119
+ }
120
+ const chunkBytes = blobDataToBytes(rawData);
121
+ if (chunkBytes.length === 0) {
122
+ continue;
123
+ }
124
+ if (speaker === currentSpeaker) {
125
+ currentAudioData = concatBytes(currentAudioData, chunkBytes);
126
+ } else {
127
+ if (currentSpeaker !== void 0) {
128
+ bundledAudio.push([currentSpeaker, currentAudioData]);
129
+ }
130
+ currentSpeaker = speaker;
131
+ currentAudioData = chunkBytes;
132
+ }
133
+ }
134
+ if (currentSpeaker !== void 0) {
135
+ bundledAudio.push([currentSpeaker, currentAudioData]);
136
+ }
137
+ invocationContext.transcriptionCache = [];
138
+ for (const [speaker, data] of bundledAudio) {
139
+ if (ArrayBuffer.isView(data)) {
140
+ const audio = { content: data };
141
+ const config = {
142
+ encoding: 1 /* LINEAR16 */,
143
+ sampleRateHertz: 16e3,
144
+ languageCode: "en-US"
145
+ };
146
+ const rawResponse = await this.client.recognize({ config, audio });
147
+ const response = Array.isArray(rawResponse) ? rawResponse[0] : rawResponse;
148
+ for (const result of (_b = response.results) != null ? _b : []) {
149
+ const transcript = (_d = (_c = result.alternatives) == null ? void 0 : _c[0]) == null ? void 0 : _d.transcript;
150
+ if (transcript !== void 0 && transcript !== null) {
151
+ transcriptionHistory.push({
152
+ role: speaker ? speaker.toLowerCase() : "user",
153
+ parts: [{ text: transcript }]
154
+ });
155
+ }
156
+ }
157
+ } else {
158
+ transcriptionHistory.push(data);
159
+ }
160
+ }
161
+ return transcriptionHistory;
162
+ }
163
+ };
164
+ __name(_AudioTranscriber, "AudioTranscriber");
165
+ let AudioTranscriber = _AudioTranscriber;
166
+ // Annotate the CommonJS export names for ESM import in node:
167
+ 0 && (module.exports = {
168
+ AudioEncoding,
169
+ AudioTranscriber
170
+ });