@google/adk 0.6.1 → 1.0.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 (402) hide show
  1. package/dist/cjs/agents/base_agent.js +11 -2
  2. package/dist/cjs/agents/context.js +1 -0
  3. package/dist/cjs/agents/functions.js +1 -0
  4. package/dist/cjs/agents/invocation_context.js +1 -0
  5. package/dist/cjs/agents/llm_agent.js +70 -13
  6. package/dist/cjs/agents/loop_agent.js +4 -0
  7. package/dist/cjs/agents/parallel_agent.js +4 -0
  8. package/dist/cjs/agents/processors/code_execution_request_processor.js +2 -0
  9. package/dist/cjs/agents/processors/context_compactor_request_processor.js +9 -0
  10. package/dist/cjs/agents/processors/tool_filter_request_processor.js +73 -0
  11. package/dist/cjs/agents/routed_agent.js +97 -0
  12. package/dist/cjs/auth/auth_handler.js +66 -1
  13. package/dist/cjs/auth/auth_preprocessor.js +178 -0
  14. package/dist/cjs/auth/auth_provider_registry.js +61 -0
  15. package/dist/cjs/auth/base_auth_provider.js +27 -0
  16. package/dist/cjs/auth/credential_service/session_state_credential_service.js +51 -0
  17. package/dist/cjs/auth/oauth2/oauth2_credential_exchanger.js +198 -0
  18. package/dist/cjs/auth/oauth2/oauth2_credential_refresher.js +109 -0
  19. package/dist/cjs/auth/oauth2/oauth2_discovery.js +186 -0
  20. package/dist/cjs/auth/oauth2/oauth2_utils.js +119 -0
  21. package/dist/cjs/auth/refresher/base_credential_refresher.js +44 -0
  22. package/dist/cjs/auth/refresher/credential_refresher_registry.js +68 -0
  23. package/dist/cjs/code_executors/base_code_executor.js +9 -5
  24. package/dist/cjs/code_executors/code_execution_utils.js +19 -0
  25. package/dist/cjs/code_executors/unsafe_local_code_executor.js +241 -0
  26. package/dist/cjs/common.js +61 -0
  27. package/dist/cjs/features/feature_registry.js +141 -0
  28. package/dist/cjs/index.js +32 -20
  29. package/dist/cjs/index.js.map +4 -4
  30. package/dist/cjs/models/apigee_llm.js +2 -2
  31. package/dist/cjs/models/google_llm.js +18 -53
  32. package/dist/cjs/models/routed_llm.js +99 -0
  33. package/dist/cjs/plugins/base_plugin.js +39 -2
  34. package/dist/cjs/plugins/plugin_manager.js +39 -0
  35. package/dist/cjs/runner/runner.js +31 -3
  36. package/dist/cjs/sessions/db/operations.js +3 -10
  37. package/dist/cjs/skills/loader.js +283 -0
  38. package/dist/cjs/skills/prompt.js +58 -0
  39. package/dist/cjs/skills/skill.js +78 -0
  40. package/dist/cjs/tools/agent_tool.js +10 -3
  41. package/dist/cjs/tools/mcp/mcp_tool.js +4 -1
  42. package/dist/cjs/tools/skill/list_skills_tool.js +76 -0
  43. package/dist/cjs/tools/skill/load_skill_resource_tool.js +225 -0
  44. package/dist/cjs/tools/skill/load_skill_tool.js +108 -0
  45. package/dist/cjs/tools/skill/run_skill_inline_script_tool.js +146 -0
  46. package/dist/cjs/tools/skill/run_skill_script_tool.js +224 -0
  47. package/dist/cjs/tools/skill/skill_toolset.js +163 -0
  48. package/dist/cjs/utils/experimental.js +74 -0
  49. package/dist/cjs/utils/failover_utils.js +93 -0
  50. package/dist/cjs/utils/file_extension_utils.js +77 -0
  51. package/dist/cjs/utils/file_utils.js +94 -0
  52. package/dist/cjs/utils/streaming_utils.js +333 -0
  53. package/dist/cjs/version.js +1 -1
  54. package/dist/esm/a2a/a2a_event.js +2 -0
  55. package/dist/esm/a2a/a2a_remote_agent.js +2 -0
  56. package/dist/esm/a2a/a2a_remote_agent_run_processor.js +2 -0
  57. package/dist/esm/a2a/a2a_remote_agent_utils.js +2 -0
  58. package/dist/esm/a2a/agent_card.js +2 -0
  59. package/dist/esm/a2a/agent_executor.js +2 -0
  60. package/dist/esm/a2a/agent_to_a2a.js +2 -0
  61. package/dist/esm/a2a/event_converter_utils.js +2 -0
  62. package/dist/esm/a2a/event_processor_utils.js +2 -0
  63. package/dist/esm/a2a/executor_context.js +2 -0
  64. package/dist/esm/a2a/metadata_converter_utils.js +2 -0
  65. package/dist/esm/a2a/part_converter_utils.js +2 -0
  66. package/dist/esm/agents/active_streaming_tool.js +2 -0
  67. package/dist/esm/agents/base_agent.js +13 -2
  68. package/dist/esm/agents/context.js +3 -0
  69. package/dist/esm/agents/functions.js +3 -0
  70. package/dist/esm/agents/instructions.js +2 -0
  71. package/dist/esm/agents/invocation_context.js +3 -0
  72. package/dist/esm/agents/live_request_queue.js +2 -0
  73. package/dist/esm/agents/llm_agent.js +72 -13
  74. package/dist/esm/agents/loop_agent.js +6 -0
  75. package/dist/esm/agents/parallel_agent.js +6 -0
  76. package/dist/esm/agents/processors/agent_transfer_llm_request_processor.js +2 -0
  77. package/dist/esm/agents/processors/base_llm_processor.js +2 -0
  78. package/dist/esm/agents/processors/basic_llm_request_processor.js +2 -0
  79. package/dist/esm/agents/processors/code_execution_request_processor.js +5 -0
  80. package/dist/esm/agents/processors/content_processor_utils.js +2 -0
  81. package/dist/esm/agents/processors/content_request_processor.js +2 -0
  82. package/dist/esm/agents/processors/context_compactor_request_processor.js +11 -0
  83. package/dist/esm/agents/processors/identity_llm_request_processor.js +2 -0
  84. package/dist/esm/agents/processors/instructions_llm_request_processor.js +2 -0
  85. package/dist/esm/agents/processors/request_confirmation_llm_request_processor.js +2 -0
  86. package/dist/esm/agents/processors/tool_filter_request_processor.js +44 -0
  87. package/dist/esm/agents/readonly_context.js +2 -0
  88. package/dist/esm/agents/routed_agent.js +70 -0
  89. package/dist/esm/agents/run_config.js +2 -0
  90. package/dist/esm/agents/sequential_agent.js +2 -0
  91. package/dist/esm/agents/transcription_entry.js +2 -0
  92. package/dist/esm/artifacts/base_artifact_service.js +2 -0
  93. package/dist/esm/artifacts/file_artifact_service.js +2 -0
  94. package/dist/esm/artifacts/gcs_artifact_service.js +2 -0
  95. package/dist/esm/artifacts/in_memory_artifact_service.js +2 -0
  96. package/dist/esm/artifacts/registry.js +2 -0
  97. package/dist/esm/auth/auth_credential.js +2 -0
  98. package/dist/esm/auth/auth_handler.js +68 -1
  99. package/dist/esm/auth/auth_preprocessor.js +155 -0
  100. package/dist/esm/auth/auth_provider_registry.js +33 -0
  101. package/dist/esm/auth/auth_schemes.js +2 -0
  102. package/dist/esm/auth/auth_tool.js +2 -0
  103. package/dist/esm/auth/base_auth_provider.js +7 -0
  104. package/dist/esm/auth/credential_service/base_credential_service.js +2 -0
  105. package/dist/esm/auth/credential_service/in_memory_credential_service.js +2 -0
  106. package/dist/esm/auth/credential_service/session_state_credential_service.js +23 -0
  107. package/dist/esm/auth/exchanger/base_credential_exchanger.js +2 -0
  108. package/dist/esm/auth/exchanger/credential_exchanger_registry.js +2 -0
  109. package/dist/esm/auth/oauth2/oauth2_credential_exchanger.js +177 -0
  110. package/dist/esm/auth/oauth2/oauth2_credential_refresher.js +85 -0
  111. package/dist/esm/auth/oauth2/oauth2_discovery.js +156 -0
  112. package/dist/esm/auth/oauth2/oauth2_utils.js +87 -0
  113. package/dist/esm/auth/refresher/base_credential_refresher.js +16 -0
  114. package/dist/esm/auth/refresher/credential_refresher_registry.js +40 -0
  115. package/dist/esm/code_executors/base_code_executor.js +11 -5
  116. package/dist/esm/code_executors/built_in_code_executor.js +2 -0
  117. package/dist/esm/code_executors/code_execution_utils.js +19 -0
  118. package/dist/esm/code_executors/code_executor_context.js +2 -0
  119. package/dist/esm/code_executors/unsafe_local_code_executor.js +205 -0
  120. package/dist/esm/common.js +47 -3
  121. package/dist/esm/context/base_context_compactor.js +2 -0
  122. package/dist/esm/context/summarizers/base_summarizer.js +2 -0
  123. package/dist/esm/context/summarizers/llm_summarizer.js +2 -0
  124. package/dist/esm/context/token_based_context_compactor.js +2 -0
  125. package/dist/esm/context/truncating_context_compactor.js +2 -0
  126. package/dist/esm/events/compacted_event.js +2 -0
  127. package/dist/esm/events/event.js +2 -0
  128. package/dist/esm/events/event_actions.js +2 -0
  129. package/dist/esm/events/structured_events.js +2 -0
  130. package/dist/esm/examples/base_example_provider.js +2 -0
  131. package/dist/esm/examples/example.js +2 -0
  132. package/dist/esm/examples/example_util.js +2 -0
  133. package/dist/esm/features/feature_registry.js +107 -0
  134. package/dist/esm/index.js +34 -21
  135. package/dist/esm/index.js.map +4 -4
  136. package/dist/esm/index_web.js +2 -0
  137. package/dist/esm/memory/base_memory_service.js +2 -0
  138. package/dist/esm/memory/in_memory_memory_service.js +2 -0
  139. package/dist/esm/memory/memory_entry.js +2 -0
  140. package/dist/esm/models/apigee_llm.js +4 -2
  141. package/dist/esm/models/base_llm.js +2 -0
  142. package/dist/esm/models/base_llm_connection.js +2 -0
  143. package/dist/esm/models/gemini_llm_connection.js +2 -0
  144. package/dist/esm/models/google_llm.js +20 -54
  145. package/dist/esm/models/llm_request.js +2 -0
  146. package/dist/esm/models/llm_response.js +2 -0
  147. package/dist/esm/models/registry.js +2 -0
  148. package/dist/esm/models/routed_llm.js +73 -0
  149. package/dist/esm/plugins/base_plugin.js +41 -1
  150. package/dist/esm/plugins/logging_plugin.js +2 -0
  151. package/dist/esm/plugins/plugin_manager.js +41 -0
  152. package/dist/esm/plugins/security_plugin.js +2 -0
  153. package/dist/esm/runner/in_memory_runner.js +2 -0
  154. package/dist/esm/runner/runner.js +33 -3
  155. package/dist/esm/sessions/base_session_service.js +2 -0
  156. package/dist/esm/sessions/database_session_service.js +2 -0
  157. package/dist/esm/sessions/db/operations.js +5 -10
  158. package/dist/esm/sessions/db/schema.js +2 -0
  159. package/dist/esm/sessions/in_memory_session_service.js +2 -0
  160. package/dist/esm/sessions/registry.js +2 -0
  161. package/dist/esm/sessions/session.js +2 -0
  162. package/dist/esm/sessions/state.js +2 -0
  163. package/dist/esm/skills/loader.js +244 -0
  164. package/dist/esm/skills/prompt.js +30 -0
  165. package/dist/esm/skills/skill.js +49 -0
  166. package/dist/esm/telemetry/google_cloud.js +2 -0
  167. package/dist/esm/telemetry/setup.js +2 -0
  168. package/dist/esm/telemetry/tracing.js +2 -0
  169. package/dist/esm/tools/agent_tool.js +12 -3
  170. package/dist/esm/tools/base_tool.js +2 -0
  171. package/dist/esm/tools/base_toolset.js +2 -0
  172. package/dist/esm/tools/exit_loop_tool.js +2 -0
  173. package/dist/esm/tools/forwarding_artifact_service.js +2 -0
  174. package/dist/esm/tools/function_tool.js +2 -0
  175. package/dist/esm/tools/google_search_tool.js +2 -0
  176. package/dist/esm/tools/load_artifacts_tool.js +2 -0
  177. package/dist/esm/tools/load_memory_tool.js +2 -0
  178. package/dist/esm/tools/long_running_tool.js +2 -0
  179. package/dist/esm/tools/mcp/mcp_session_manager.js +2 -0
  180. package/dist/esm/tools/mcp/mcp_tool.js +6 -1
  181. package/dist/esm/tools/mcp/mcp_toolset.js +2 -0
  182. package/dist/esm/tools/preload_memory_tool.js +2 -0
  183. package/dist/esm/tools/skill/list_skills_tool.js +50 -0
  184. package/dist/esm/tools/skill/load_skill_resource_tool.js +191 -0
  185. package/dist/esm/tools/skill/load_skill_tool.js +82 -0
  186. package/dist/esm/tools/skill/run_skill_inline_script_tool.js +120 -0
  187. package/dist/esm/tools/skill/run_skill_script_tool.js +192 -0
  188. package/dist/esm/tools/skill/skill_toolset.js +137 -0
  189. package/dist/esm/tools/tool_confirmation.js +2 -0
  190. package/dist/esm/utils/client_labels.js +2 -0
  191. package/dist/esm/utils/env_aware_utils.js +2 -0
  192. package/dist/esm/utils/experimental.js +46 -0
  193. package/dist/esm/utils/failover_utils.js +65 -0
  194. package/dist/esm/utils/file_extension_utils.js +51 -0
  195. package/dist/esm/utils/file_utils.js +56 -0
  196. package/dist/esm/utils/gemini_schema_util.js +2 -0
  197. package/dist/esm/utils/logger.js +2 -0
  198. package/dist/esm/utils/model_name.js +2 -0
  199. package/dist/esm/utils/object_notation_utils.js +2 -0
  200. package/dist/esm/utils/simple_zod_to_json.js +2 -0
  201. package/dist/esm/utils/streaming_utils.js +307 -0
  202. package/dist/esm/utils/variant_utils.js +2 -0
  203. package/dist/esm/version.js +3 -1
  204. package/dist/types/agents/context.d.ts +1 -0
  205. package/dist/types/agents/invocation_context.d.ts +5 -0
  206. package/dist/types/agents/processors/tool_filter_request_processor.d.ts +14 -0
  207. package/dist/types/agents/routed_agent.d.ts +59 -0
  208. package/dist/types/auth/auth_credential.d.ts +17 -0
  209. package/dist/types/auth/auth_handler.d.ts +1 -0
  210. package/dist/types/auth/auth_preprocessor.d.ts +12 -0
  211. package/dist/types/auth/auth_provider_registry.d.ts +27 -0
  212. package/dist/types/auth/base_auth_provider.d.ts +20 -0
  213. package/dist/types/auth/credential_service/session_state_credential_service.d.ts +20 -0
  214. package/dist/types/auth/exchanger/base_credential_exchanger.d.ts +12 -5
  215. package/dist/types/auth/oauth2/oauth2_credential_exchanger.d.ts +26 -0
  216. package/dist/types/auth/oauth2/oauth2_credential_refresher.d.ts +29 -0
  217. package/dist/types/auth/oauth2/oauth2_discovery.d.ts +38 -0
  218. package/dist/types/auth/oauth2/oauth2_utils.d.ts +56 -0
  219. package/dist/types/auth/refresher/base_credential_refresher.d.ts +38 -0
  220. package/dist/types/auth/refresher/credential_refresher_registry.d.ts +27 -0
  221. package/dist/types/code_executors/base_code_executor.d.ts +4 -4
  222. package/dist/types/code_executors/code_execution_utils.d.ts +29 -1
  223. package/dist/types/code_executors/unsafe_local_code_executor.d.ts +48 -0
  224. package/dist/types/common.d.ts +26 -3
  225. package/dist/types/features/feature_registry.d.ts +66 -0
  226. package/dist/types/index.d.ts +4 -0
  227. package/dist/types/memory/base_memory_service.d.ts +6 -0
  228. package/dist/types/memory/memory_entry.d.ts +11 -5
  229. package/dist/types/models/apigee_llm.d.ts +1 -1
  230. package/dist/types/models/base_llm.d.ts +1 -1
  231. package/dist/types/models/google_llm.d.ts +1 -1
  232. package/dist/types/models/llm_request.d.ts +4 -0
  233. package/dist/types/models/routed_llm.d.ts +38 -0
  234. package/dist/types/plugins/base_plugin.d.ts +49 -0
  235. package/dist/types/plugins/plugin_manager.d.ts +22 -1
  236. package/dist/types/runner/runner.d.ts +1 -0
  237. package/dist/types/skills/loader.d.ts +38 -0
  238. package/dist/types/skills/prompt.d.ts +13 -0
  239. package/dist/types/skills/skill.d.ts +48 -0
  240. package/dist/types/tools/skill/list_skills_tool.d.ts +14 -0
  241. package/dist/types/tools/skill/load_skill_resource_tool.d.ts +15 -0
  242. package/dist/types/tools/skill/load_skill_tool.d.ts +14 -0
  243. package/dist/types/tools/skill/run_skill_inline_script_tool.d.ts +14 -0
  244. package/dist/types/tools/skill/run_skill_script_tool.d.ts +17 -0
  245. package/dist/types/tools/skill/skill_toolset.d.ts +28 -0
  246. package/dist/types/utils/experimental.d.ts +11 -0
  247. package/dist/types/utils/failover_utils.d.ts +17 -0
  248. package/dist/types/utils/file_extension_utils.d.ts +21 -0
  249. package/dist/types/utils/file_utils.d.ts +11 -0
  250. package/dist/types/utils/streaming_utils.d.ts +40 -0
  251. package/dist/types/version.d.ts +1 -1
  252. package/dist/web/a2a/a2a_event.js +2 -0
  253. package/dist/web/a2a/a2a_remote_agent.js +2 -0
  254. package/dist/web/a2a/a2a_remote_agent_run_processor.js +2 -0
  255. package/dist/web/a2a/a2a_remote_agent_utils.js +2 -0
  256. package/dist/web/a2a/agent_card.js +2 -0
  257. package/dist/web/a2a/agent_executor.js +2 -0
  258. package/dist/web/a2a/agent_to_a2a.js +2 -0
  259. package/dist/web/a2a/event_converter_utils.js +2 -0
  260. package/dist/web/a2a/event_processor_utils.js +2 -0
  261. package/dist/web/a2a/executor_context.js +2 -0
  262. package/dist/web/a2a/metadata_converter_utils.js +2 -0
  263. package/dist/web/a2a/part_converter_utils.js +2 -0
  264. package/dist/web/agents/active_streaming_tool.js +2 -0
  265. package/dist/web/agents/base_agent.js +13 -2
  266. package/dist/web/agents/context.js +3 -0
  267. package/dist/web/agents/functions.js +3 -0
  268. package/dist/web/agents/instructions.js +2 -0
  269. package/dist/web/agents/invocation_context.js +3 -0
  270. package/dist/web/agents/live_request_queue.js +2 -0
  271. package/dist/web/agents/llm_agent.js +72 -13
  272. package/dist/web/agents/loop_agent.js +6 -0
  273. package/dist/web/agents/parallel_agent.js +6 -0
  274. package/dist/web/agents/processors/agent_transfer_llm_request_processor.js +2 -0
  275. package/dist/web/agents/processors/base_llm_processor.js +2 -0
  276. package/dist/web/agents/processors/basic_llm_request_processor.js +2 -0
  277. package/dist/web/agents/processors/code_execution_request_processor.js +5 -0
  278. package/dist/web/agents/processors/content_processor_utils.js +2 -0
  279. package/dist/web/agents/processors/content_request_processor.js +2 -0
  280. package/dist/web/agents/processors/context_compactor_request_processor.js +11 -0
  281. package/dist/web/agents/processors/identity_llm_request_processor.js +2 -0
  282. package/dist/web/agents/processors/instructions_llm_request_processor.js +2 -0
  283. package/dist/web/agents/processors/request_confirmation_llm_request_processor.js +2 -0
  284. package/dist/web/agents/processors/tool_filter_request_processor.js +62 -0
  285. package/dist/web/agents/readonly_context.js +2 -0
  286. package/dist/web/agents/routed_agent.js +138 -0
  287. package/dist/web/agents/run_config.js +2 -0
  288. package/dist/web/agents/sequential_agent.js +2 -0
  289. package/dist/web/agents/transcription_entry.js +2 -0
  290. package/dist/web/artifacts/base_artifact_service.js +2 -0
  291. package/dist/web/artifacts/file_artifact_service.js +2 -0
  292. package/dist/web/artifacts/gcs_artifact_service.js +2 -0
  293. package/dist/web/artifacts/in_memory_artifact_service.js +2 -0
  294. package/dist/web/artifacts/registry.js +2 -0
  295. package/dist/web/auth/auth_credential.js +2 -0
  296. package/dist/web/auth/auth_handler.js +85 -1
  297. package/dist/web/auth/auth_preprocessor.js +173 -0
  298. package/dist/web/auth/auth_provider_registry.js +33 -0
  299. package/dist/web/auth/auth_schemes.js +2 -0
  300. package/dist/web/auth/auth_tool.js +2 -0
  301. package/dist/web/auth/base_auth_provider.js +7 -0
  302. package/dist/web/auth/credential_service/base_credential_service.js +2 -0
  303. package/dist/web/auth/credential_service/in_memory_credential_service.js +2 -0
  304. package/dist/web/auth/credential_service/session_state_credential_service.js +23 -0
  305. package/dist/web/auth/exchanger/base_credential_exchanger.js +2 -0
  306. package/dist/web/auth/exchanger/credential_exchanger_registry.js +2 -0
  307. package/dist/web/auth/oauth2/oauth2_credential_exchanger.js +188 -0
  308. package/dist/web/auth/oauth2/oauth2_credential_refresher.js +102 -0
  309. package/dist/web/auth/oauth2/oauth2_discovery.js +156 -0
  310. package/dist/web/auth/oauth2/oauth2_utils.js +87 -0
  311. package/dist/web/auth/refresher/base_credential_refresher.js +16 -0
  312. package/dist/web/auth/refresher/credential_refresher_registry.js +40 -0
  313. package/dist/web/code_executors/base_code_executor.js +11 -5
  314. package/dist/web/code_executors/built_in_code_executor.js +2 -0
  315. package/dist/web/code_executors/code_execution_utils.js +19 -0
  316. package/dist/web/code_executors/code_executor_context.js +2 -0
  317. package/dist/web/code_executors/unsafe_local_code_executor.js +203 -0
  318. package/dist/web/common.js +47 -3
  319. package/dist/web/context/base_context_compactor.js +2 -0
  320. package/dist/web/context/summarizers/base_summarizer.js +2 -0
  321. package/dist/web/context/summarizers/llm_summarizer.js +2 -0
  322. package/dist/web/context/token_based_context_compactor.js +2 -0
  323. package/dist/web/context/truncating_context_compactor.js +2 -0
  324. package/dist/web/events/compacted_event.js +2 -0
  325. package/dist/web/events/event.js +2 -0
  326. package/dist/web/events/event_actions.js +2 -0
  327. package/dist/web/events/structured_events.js +2 -0
  328. package/dist/web/examples/base_example_provider.js +2 -0
  329. package/dist/web/examples/example.js +2 -0
  330. package/dist/web/examples/example_util.js +2 -0
  331. package/dist/web/features/feature_registry.js +107 -0
  332. package/dist/web/index.js +3 -2
  333. package/dist/web/index.js.map +4 -4
  334. package/dist/web/index_web.js +2 -0
  335. package/dist/web/memory/base_memory_service.js +2 -0
  336. package/dist/web/memory/in_memory_memory_service.js +2 -0
  337. package/dist/web/memory/memory_entry.js +2 -0
  338. package/dist/web/models/apigee_llm.js +4 -2
  339. package/dist/web/models/base_llm.js +2 -0
  340. package/dist/web/models/base_llm_connection.js +2 -0
  341. package/dist/web/models/gemini_llm_connection.js +2 -0
  342. package/dist/web/models/google_llm.js +37 -59
  343. package/dist/web/models/llm_request.js +2 -0
  344. package/dist/web/models/llm_response.js +2 -0
  345. package/dist/web/models/registry.js +2 -0
  346. package/dist/web/models/routed_llm.js +122 -0
  347. package/dist/web/plugins/base_plugin.js +41 -1
  348. package/dist/web/plugins/logging_plugin.js +2 -0
  349. package/dist/web/plugins/plugin_manager.js +41 -0
  350. package/dist/web/plugins/security_plugin.js +2 -0
  351. package/dist/web/runner/in_memory_runner.js +2 -0
  352. package/dist/web/runner/runner.js +33 -3
  353. package/dist/web/sessions/base_session_service.js +2 -0
  354. package/dist/web/sessions/database_session_service.js +2 -0
  355. package/dist/web/sessions/db/operations.js +5 -10
  356. package/dist/web/sessions/db/schema.js +2 -0
  357. package/dist/web/sessions/in_memory_session_service.js +2 -0
  358. package/dist/web/sessions/registry.js +2 -0
  359. package/dist/web/sessions/session.js +2 -0
  360. package/dist/web/sessions/state.js +2 -0
  361. package/dist/web/skills/loader.js +262 -0
  362. package/dist/web/skills/prompt.js +30 -0
  363. package/dist/web/skills/skill.js +67 -0
  364. package/dist/web/telemetry/google_cloud.js +2 -0
  365. package/dist/web/telemetry/setup.js +2 -0
  366. package/dist/web/telemetry/tracing.js +2 -0
  367. package/dist/web/tools/agent_tool.js +12 -3
  368. package/dist/web/tools/base_tool.js +2 -0
  369. package/dist/web/tools/base_toolset.js +2 -0
  370. package/dist/web/tools/exit_loop_tool.js +2 -0
  371. package/dist/web/tools/forwarding_artifact_service.js +2 -0
  372. package/dist/web/tools/function_tool.js +2 -0
  373. package/dist/web/tools/google_search_tool.js +2 -0
  374. package/dist/web/tools/load_artifacts_tool.js +2 -0
  375. package/dist/web/tools/load_memory_tool.js +2 -0
  376. package/dist/web/tools/long_running_tool.js +2 -0
  377. package/dist/web/tools/mcp/mcp_session_manager.js +2 -0
  378. package/dist/web/tools/mcp/mcp_tool.js +6 -1
  379. package/dist/web/tools/mcp/mcp_toolset.js +2 -0
  380. package/dist/web/tools/preload_memory_tool.js +2 -0
  381. package/dist/web/tools/skill/list_skills_tool.js +50 -0
  382. package/dist/web/tools/skill/load_skill_resource_tool.js +191 -0
  383. package/dist/web/tools/skill/load_skill_tool.js +82 -0
  384. package/dist/web/tools/skill/run_skill_inline_script_tool.js +120 -0
  385. package/dist/web/tools/skill/run_skill_script_tool.js +190 -0
  386. package/dist/web/tools/skill/skill_toolset.js +123 -0
  387. package/dist/web/tools/tool_confirmation.js +2 -0
  388. package/dist/web/utils/client_labels.js +2 -0
  389. package/dist/web/utils/env_aware_utils.js +2 -0
  390. package/dist/web/utils/experimental.js +46 -0
  391. package/dist/web/utils/failover_utils.js +96 -0
  392. package/dist/web/utils/file_extension_utils.js +51 -0
  393. package/dist/web/utils/file_utils.js +74 -0
  394. package/dist/web/utils/gemini_schema_util.js +2 -0
  395. package/dist/web/utils/logger.js +2 -0
  396. package/dist/web/utils/model_name.js +2 -0
  397. package/dist/web/utils/object_notation_utils.js +2 -0
  398. package/dist/web/utils/simple_zod_to_json.js +2 -0
  399. package/dist/web/utils/streaming_utils.js +325 -0
  400. package/dist/web/utils/variant_utils.js +2 -0
  401. package/dist/web/version.js +3 -1
  402. package/package.json +19 -17
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  /**
2
4
  * @license
3
5
  * Copyright 2025 Google LLC
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  /**
2
4
  * @license
3
5
  * Copyright 2025 Google LLC
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  /**
2
4
  * @license
3
5
  * Copyright 2025 Google LLC
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  /**
2
4
  * @license
3
5
  * Copyright 2025 Google LLC
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  var __defProp = Object.defineProperty;
2
4
  var __defProps = Object.defineProperties;
3
5
  var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
@@ -131,12 +133,12 @@ class ApigeeLlm extends Gemini {
131
133
  }
132
134
  return this._apigeeLiveApiVersion;
133
135
  }
134
- generateContentAsync(llmRequest, stream = false) {
136
+ generateContentAsync(llmRequest, stream = false, abortSignal) {
135
137
  return __asyncGenerator(this, null, function* () {
136
138
  var _a;
137
139
  const modelToUse = (_a = llmRequest.model) != null ? _a : this.model;
138
140
  llmRequest.model = getModelId(modelToUse);
139
- yield* __yieldStar(super.generateContentAsync(llmRequest, stream));
141
+ yield* __yieldStar(super.generateContentAsync(llmRequest, stream, abortSignal));
140
142
  });
141
143
  }
142
144
  async connect(llmRequest) {
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  /**
2
4
  * @license
3
5
  * Copyright 2025 Google LLC
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  /**
2
4
  * @license
3
5
  * Copyright 2025 Google LLC
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
2
4
  var __await = function(promise, isYieldStar) {
3
5
  this[0] = promise;
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  var __defProp = Object.defineProperty;
2
4
  var __getOwnPropSymbols = Object.getOwnPropertySymbols;
3
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
@@ -38,12 +40,12 @@ var __forAwait = (obj, it, method) => (it = obj[__knownSymbol("asyncIterator")])
38
40
  */
39
41
  import {
40
42
  createPartFromText,
41
- FinishReason,
42
43
  GoogleGenAI
43
44
  } from "@google/genai";
44
45
  import { getBooleanEnvVar, isBrowser } from "../utils/env_aware_utils.js";
45
46
  import { logger } from "../utils/logger.js";
46
47
  import { GoogleLLMVariant } from "../utils/variant_utils.js";
48
+ import { StreamingResponseAggregator } from "../utils/streaming_utils.js";
47
49
  import { BaseLlm } from "./base_llm.js";
48
50
  import { GeminiLlmConnection } from "./gemini_llm_connection.js";
49
51
  import { createLlmResponse } from "./llm_response.js";
@@ -88,90 +90,66 @@ class Gemini extends BaseLlm {
88
90
  * @param stream bool = false, whether to do streaming call.
89
91
  * @yields LlmResponse: The model response.
90
92
  */
91
- generateContentAsync(llmRequest, stream = false) {
93
+ generateContentAsync(llmRequest, stream = false, abortSignal) {
92
94
  return __asyncGenerator(this, null, function* () {
93
- var _a, _b, _c, _d, _e, _f, _g;
95
+ var _a, _b, _c;
94
96
  this.preprocessRequest(llmRequest);
95
97
  this.maybeAppendUserContent(llmRequest);
96
98
  logger.info(
97
- "Sending out request, model: ".concat(llmRequest.model, ", backend: ").concat(this.apiBackend, ", stream: ").concat(stream)
99
+ "Sending out request, model: ".concat((_a = llmRequest.model) != null ? _a : this.model, ", backend: ").concat(this.apiBackend, ", stream: ").concat(stream)
98
100
  );
99
- if ((_a = llmRequest.config) == null ? void 0 : _a.httpOptions) {
101
+ if (!llmRequest.config) {
102
+ llmRequest.config = {};
103
+ }
104
+ if (llmRequest.config.httpOptions) {
100
105
  llmRequest.config.httpOptions.headers = __spreadValues(__spreadValues({}, llmRequest.config.httpOptions.headers), this.trackingHeaders);
101
106
  }
107
+ if (abortSignal) {
108
+ llmRequest.config.abortSignal = abortSignal;
109
+ }
102
110
  if (stream) {
103
111
  const streamResult = yield new __await(this.apiClient.models.generateContentStream({
104
112
  model: (_b = llmRequest.model) != null ? _b : this.model,
105
113
  contents: llmRequest.contents,
106
114
  config: llmRequest.config
107
115
  }));
108
- let thoughtText = "";
109
- let text = "";
110
- let usageMetadata;
111
- let lastResponse;
116
+ const aggregator = new StreamingResponseAggregator();
112
117
  try {
113
- for (var iter = __forAwait(streamResult), more, temp, error; more = !(temp = yield new __await(iter.next())).done; more = false) {
114
- const response = temp.value;
115
- lastResponse = response;
116
- const llmResponse = createLlmResponse(response);
117
- usageMetadata = llmResponse.usageMetadata;
118
- const firstPart = (_d = (_c = llmResponse.content) == null ? void 0 : _c.parts) == null ? void 0 : _d[0];
119
- if (firstPart == null ? void 0 : firstPart.text) {
120
- if ("thought" in firstPart && firstPart.thought) {
121
- thoughtText += firstPart.text;
122
- } else {
123
- text += firstPart.text;
124
- }
125
- llmResponse.partial = true;
126
- } else if ((thoughtText || text) && (!firstPart || !firstPart.inlineData)) {
127
- const parts = [];
128
- if (thoughtText) {
129
- parts.push({ text: thoughtText, thought: true });
118
+ for (var iter2 = __forAwait(streamResult), more2, temp2, error2; more2 = !(temp2 = yield new __await(iter2.next())).done; more2 = false) {
119
+ const response = temp2.value;
120
+ try {
121
+ for (var iter = __forAwait(aggregator.processResponse(response)), more, temp, error; more = !(temp = yield new __await(iter.next())).done; more = false) {
122
+ const llmResponse = temp.value;
123
+ yield llmResponse;
130
124
  }
131
- if (text) {
132
- parts.push(createPartFromText(text));
125
+ } catch (temp) {
126
+ error = [temp];
127
+ } finally {
128
+ try {
129
+ more && (temp = iter.return) && (yield new __await(temp.call(iter)));
130
+ } finally {
131
+ if (error)
132
+ throw error[0];
133
133
  }
134
- yield {
135
- content: {
136
- role: "model",
137
- parts
138
- },
139
- usageMetadata: llmResponse.usageMetadata
140
- };
141
- thoughtText = "";
142
- text = "";
143
134
  }
144
- yield llmResponse;
145
135
  }
146
- } catch (temp) {
147
- error = [temp];
136
+ } catch (temp2) {
137
+ error2 = [temp2];
148
138
  } finally {
149
139
  try {
150
- more && (temp = iter.return) && (yield new __await(temp.call(iter)));
140
+ more2 && (temp2 = iter2.return) && (yield new __await(temp2.call(iter2)));
151
141
  } finally {
152
- if (error)
153
- throw error[0];
142
+ if (error2)
143
+ throw error2[0];
154
144
  }
155
145
  }
156
- if ((text || thoughtText) && ((_f = (_e = lastResponse == null ? void 0 : lastResponse.candidates) == null ? void 0 : _e[0]) == null ? void 0 : _f.finishReason) === FinishReason.STOP) {
157
- const parts = [];
158
- if (thoughtText) {
159
- parts.push({ text: thoughtText, thought: true });
160
- }
161
- if (text) {
162
- parts.push({ text });
163
- }
164
- yield {
165
- content: {
166
- role: "model",
167
- parts
168
- },
169
- usageMetadata
170
- };
146
+ const finalResponse = aggregator.close();
147
+ if (finalResponse) {
148
+ yield finalResponse;
171
149
  }
172
150
  } else {
173
151
  const response = yield new __await(this.apiClient.models.generateContent({
174
- model: (_g = llmRequest.model) != null ? _g : this.model,
152
+ model: (_c = llmRequest.model) != null ? _c : this.model,
175
153
  contents: llmRequest.contents,
176
154
  config: llmRequest.config
177
155
  }));
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  /**
2
4
  * @license
3
5
  * Copyright 2025 Google LLC
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  /**
2
4
  * @license
3
5
  * Copyright 2025 Google LLC
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  /**
2
4
  * @license
3
5
  * Copyright 2025 Google LLC
@@ -0,0 +1,122 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
6
+ var __typeError = (msg) => {
7
+ throw TypeError(msg);
8
+ };
9
+ var __decorateClass = (decorators, target, key, kind) => {
10
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
11
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
12
+ if (decorator = decorators[i])
13
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
14
+ if (kind && result) __defProp(target, key, result);
15
+ return result;
16
+ };
17
+ var __await = function(promise, isYieldStar) {
18
+ this[0] = promise;
19
+ this[1] = isYieldStar;
20
+ };
21
+ var __asyncGenerator = (__this, __arguments, generator) => {
22
+ var resume = (k, v, yes, no) => {
23
+ try {
24
+ var x = generator[k](v), isAwait = (v = x.value) instanceof __await, done = x.done;
25
+ Promise.resolve(isAwait ? v[0] : v).then((y) => isAwait ? resume(k === "return" ? k : "next", v[1] ? { done: y.done, value: y.value } : y, yes, no) : yes({ value: y, done })).catch((e) => resume("throw", e, yes, no));
26
+ } catch (e) {
27
+ no(e);
28
+ }
29
+ }, method = (k) => it[k] = (x) => new Promise((yes, no) => resume(k, x, yes, no)), it = {};
30
+ return generator = generator.apply(__this, __arguments), it[__knownSymbol("asyncIterator")] = () => it, method("next"), method("throw"), method("return"), it;
31
+ };
32
+ var __yieldStar = (value) => {
33
+ var obj = value[__knownSymbol("asyncIterator")], isAwait = false, method, it = {};
34
+ if (obj == null) {
35
+ obj = value[__knownSymbol("iterator")]();
36
+ method = (k) => it[k] = (x) => obj[k](x);
37
+ } else {
38
+ obj = obj.call(value);
39
+ method = (k) => it[k] = (v) => {
40
+ if (isAwait) {
41
+ isAwait = false;
42
+ if (k === "throw") throw v;
43
+ return v;
44
+ }
45
+ isAwait = true;
46
+ return {
47
+ done: false,
48
+ value: new __await(new Promise((resolve) => {
49
+ var x = obj[k](v);
50
+ if (!(x instanceof Object)) __typeError("Object expected");
51
+ resolve(x);
52
+ }), 1)
53
+ };
54
+ };
55
+ }
56
+ return it[__knownSymbol("iterator")] = () => it, method("next"), "throw" in obj ? method("throw") : it.throw = (x) => {
57
+ throw x;
58
+ }, "return" in obj && method("return"), it;
59
+ };
60
+ /**
61
+ * @license
62
+ * Copyright 2026 Google LLC
63
+ * SPDX-License-Identifier: Apache-2.0
64
+ */
65
+ import { BaseLlm } from "./base_llm.js";
66
+ import { experimental } from "../utils/experimental.js";
67
+ import { runWithRouting } from "../utils/failover_utils.js";
68
+ import { logger } from "../utils/logger.js";
69
+ let RoutedLlm = class extends BaseLlm {
70
+ constructor({
71
+ models,
72
+ router,
73
+ modelName = "routed-llm"
74
+ }) {
75
+ const modelsMap = Array.isArray(models) ? Object.fromEntries(models.map((m) => [m.model, m])) : models;
76
+ const modelNames = Object.entries(modelsMap).map(
77
+ ([name, model]) => "".concat(name, " (").concat(model.model, ")")
78
+ );
79
+ const computedName = "RoutedLlm[".concat(modelNames.join(", "), "]");
80
+ super({ model: modelName === "routed-llm" ? computedName : modelName });
81
+ this.models = modelsMap;
82
+ this.router = router;
83
+ }
84
+ /**
85
+ * Generates content by delegating to the selected model.
86
+ */
87
+ generateContentAsync(llmRequest, stream) {
88
+ return __asyncGenerator(this, null, function* () {
89
+ logger.info("Routing request via ".concat(this.model));
90
+ yield* __yieldStar(runWithRouting(
91
+ this.models,
92
+ llmRequest,
93
+ this.router,
94
+ (model) => model.generateContentAsync(llmRequest, stream)
95
+ ));
96
+ });
97
+ }
98
+ /**
99
+ * Creates a live connection to the LLM by delegating to the selected model.
100
+ * This live connection cannot be switched mid-stream, it is tied to the model
101
+ * selected at the time of connection.
102
+ */
103
+ async connect(llmRequest) {
104
+ const generator = runWithRouting(
105
+ this.models,
106
+ llmRequest,
107
+ this.router,
108
+ (model) => model.connect(llmRequest)
109
+ );
110
+ const result = await generator.next();
111
+ if (result.done || result.value === void 0) {
112
+ throw new Error("Failed to establish connection: No connection yielded.");
113
+ }
114
+ return result.value;
115
+ }
116
+ };
117
+ RoutedLlm = __decorateClass([
118
+ experimental
119
+ ], RoutedLlm);
120
+ export {
121
+ RoutedLlm
122
+ };
@@ -1,8 +1,26 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __decorateClass = (decorators, target, key, kind) => {
6
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
7
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
8
+ if (decorator = decorators[i])
9
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
10
+ if (kind && result) __defProp(target, key, result);
11
+ return result;
12
+ };
1
13
  /**
2
14
  * @license
3
15
  * Copyright 2025 Google LLC
4
16
  * SPDX-License-Identifier: Apache-2.0
5
17
  */
18
+ import { experimental } from "../utils/experimental.js";
19
+ var ContextCompactionTrigger = /* @__PURE__ */ ((ContextCompactionTrigger2) => {
20
+ ContextCompactionTrigger2["Manual"] = "Manual";
21
+ ContextCompactionTrigger2["Auto"] = "Auto";
22
+ return ContextCompactionTrigger2;
23
+ })(ContextCompactionTrigger || {});
6
24
  class BasePlugin {
7
25
  /**
8
26
  * Initializes the plugin.
@@ -157,6 +175,18 @@ class BasePlugin {
157
175
  async onModelErrorCallback(params) {
158
176
  return;
159
177
  }
178
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
179
+ async beforeToolSelection(params) {
180
+ return;
181
+ }
182
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
183
+ async beforeContextCompaction(params) {
184
+ return;
185
+ }
186
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
187
+ async afterContextCompaction(params) {
188
+ return;
189
+ }
160
190
  /**
161
191
  * Callback executed before a tool is called.
162
192
  *
@@ -223,6 +253,16 @@ class BasePlugin {
223
253
  return;
224
254
  }
225
255
  }
256
+ __decorateClass([
257
+ experimental
258
+ ], BasePlugin.prototype, "beforeToolSelection", 1);
259
+ __decorateClass([
260
+ experimental
261
+ ], BasePlugin.prototype, "beforeContextCompaction", 1);
262
+ __decorateClass([
263
+ experimental
264
+ ], BasePlugin.prototype, "afterContextCompaction", 1);
226
265
  export {
227
- BasePlugin
266
+ BasePlugin,
267
+ ContextCompactionTrigger
228
268
  };
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  /**
2
4
  * @license
3
5
  * Copyright 2025 Google LLC
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  /**
2
4
  * @license
3
5
  * Copyright 2025 Google LLC
@@ -151,6 +153,45 @@ class PluginManager {
151
153
  "afterAgentCallback"
152
154
  );
153
155
  }
156
+ /**
157
+ * Runs the `beforeToolSelection` for all plugins.
158
+ */
159
+ async runBeforeToolSelection({
160
+ callbackContext,
161
+ tools
162
+ }) {
163
+ return await this.runCallbacks(
164
+ this.plugins,
165
+ (plugin) => plugin.beforeToolSelection({ callbackContext, tools }),
166
+ "beforeToolSelection"
167
+ );
168
+ }
169
+ /**
170
+ * Runs the `beforeContextCompaction` for all plugins.
171
+ */
172
+ async runBeforeContextCompaction({
173
+ invocationContext,
174
+ trigger
175
+ }) {
176
+ await this.runCallbacks(
177
+ this.plugins,
178
+ (plugin) => plugin.beforeContextCompaction({ invocationContext, trigger }),
179
+ "beforeContextCompaction"
180
+ );
181
+ }
182
+ /**
183
+ * Runs the `afterContextCompaction` for all plugins.
184
+ */
185
+ async runAfterContextCompaction({
186
+ invocationContext,
187
+ trigger
188
+ }) {
189
+ await this.runCallbacks(
190
+ this.plugins,
191
+ (plugin) => plugin.afterContextCompaction({ invocationContext, trigger }),
192
+ "afterContextCompaction"
193
+ );
194
+ }
154
195
  /**
155
196
  * Runs the `beforeToolCallback` for all plugins.
156
197
  */
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  /**
2
4
  * @license
3
5
  * Copyright 2025 Google LLC
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  /**
2
4
  * @license
3
5
  * Copyright 2025 Google LLC
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
2
4
  var __typeError = (msg) => {
3
5
  throw TypeError(msg);
@@ -148,12 +150,15 @@ class Runner {
148
150
  this,
149
151
  function() {
150
152
  return __asyncGenerator(this, null, function* () {
151
- var _a2;
153
+ var _a2, _b, _c, _d, _e, _f, _g, _h, _i, _j;
152
154
  const session = yield new __await(this.sessionService.getSession({
153
155
  appName: this.appName,
154
156
  userId,
155
157
  sessionId
156
158
  }));
159
+ if ((_a2 = params.abortSignal) == null ? void 0 : _a2.aborted) {
160
+ return;
161
+ }
157
162
  if (!session) {
158
163
  if (!this.appName) {
159
164
  throw new Error(
@@ -183,17 +188,21 @@ class Runner {
183
188
  session,
184
189
  userContent: newMessage,
185
190
  runConfig,
186
- pluginManager: this.pluginManager
191
+ pluginManager: this.pluginManager,
192
+ abortSignal: params.abortSignal
187
193
  });
188
194
  const pluginUserMessage = yield new __await(this.pluginManager.runOnUserMessageCallback({
189
195
  userMessage: newMessage,
190
196
  invocationContext
191
197
  }));
198
+ if ((_b = params.abortSignal) == null ? void 0 : _b.aborted) {
199
+ return;
200
+ }
192
201
  if (pluginUserMessage) {
193
202
  newMessage = pluginUserMessage;
194
203
  }
195
204
  if (newMessage) {
196
- if (!((_a2 = newMessage.parts) == null ? void 0 : _a2.length)) {
205
+ if (!((_c = newMessage.parts) == null ? void 0 : _c.length)) {
197
206
  throw new Error("No parts in the newMessage.");
198
207
  }
199
208
  if (runConfig.saveInputBlobsAsArtifacts) {
@@ -203,6 +212,9 @@ class Runner {
203
212
  session.id,
204
213
  newMessage
205
214
  ));
215
+ if ((_d = params.abortSignal) == null ? void 0 : _d.aborted) {
216
+ return;
217
+ }
206
218
  }
207
219
  yield new __await(this.sessionService.appendEvent({
208
220
  session,
@@ -213,6 +225,9 @@ class Runner {
213
225
  content: newMessage
214
226
  })
215
227
  }));
228
+ if ((_e = params.abortSignal) == null ? void 0 : _e.aborted) {
229
+ return;
230
+ }
216
231
  }
217
232
  invocationContext.agent = this.determineAgentForResumption(
218
233
  session,
@@ -222,6 +237,9 @@ class Runner {
222
237
  const beforeRunCallbackResponse = yield new __await(this.pluginManager.runBeforeRunCallback({
223
238
  invocationContext
224
239
  }));
240
+ if ((_f = params.abortSignal) == null ? void 0 : _f.aborted) {
241
+ return;
242
+ }
225
243
  if (beforeRunCallbackResponse) {
226
244
  const earlyExitEvent = createEvent({
227
245
  invocationId: invocationContext.invocationId,
@@ -232,6 +250,9 @@ class Runner {
232
250
  session,
233
251
  event: earlyExitEvent
234
252
  }));
253
+ if ((_g = params.abortSignal) == null ? void 0 : _g.aborted) {
254
+ return;
255
+ }
235
256
  yield earlyExitEvent;
236
257
  } else {
237
258
  try {
@@ -239,6 +260,9 @@ class Runner {
239
260
  invocationContext
240
261
  )), more, temp, error; more = !(temp = yield new __await(iter.next())).done; more = false) {
241
262
  const event = temp.value;
263
+ if ((_h = params.abortSignal) == null ? void 0 : _h.aborted) {
264
+ return;
265
+ }
242
266
  if (!event.partial) {
243
267
  yield new __await(this.sessionService.appendEvent({ session, event }));
244
268
  }
@@ -246,6 +270,9 @@ class Runner {
246
270
  invocationContext,
247
271
  event
248
272
  }));
273
+ if ((_i = params.abortSignal) == null ? void 0 : _i.aborted) {
274
+ return;
275
+ }
249
276
  if (modifiedEvent) {
250
277
  yield modifiedEvent;
251
278
  } else {
@@ -263,6 +290,9 @@ class Runner {
263
290
  }
264
291
  }
265
292
  yield new __await(this.pluginManager.runAfterRunCallback({ invocationContext }));
293
+ if ((_j = params.abortSignal) == null ? void 0 : _j.aborted) {
294
+ return;
295
+ }
266
296
  }
267
297
  }
268
298
  });
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  /**
2
4
  * @license
3
5
  * Copyright 2025 Google LLC
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  var __defProp = Object.defineProperty;
2
4
  var __defProps = Object.defineProperties;
3
5
  var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  var __create = Object.create;
2
4
  var __defProp = Object.defineProperty;
3
5
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -51,23 +53,16 @@ async function getConnectionOptionsFromUri(uri) {
51
53
  } else {
52
54
  throw new Error("Unsupported database URI: ".concat(uri));
53
55
  }
54
- if (uri === "sqlite://:memory:") {
56
+ if (uri.startsWith("sqlite://")) {
55
57
  return {
56
58
  entities: ENTITIES,
57
- dbName: ":memory:",
59
+ dbName: uri === "sqlite://:memory:" ? ":memory:" : uri.substring("sqlite://".length),
58
60
  driver
59
61
  };
60
62
  }
61
- const { host, port, username, password, pathname } = new URL(uri);
62
- const hostName = host.split(":")[0];
63
- const dbName = uri.startsWith("sqlite://") ? uri.substring("sqlite://".length) : pathname.slice(1);
64
63
  return {
65
64
  entities: ENTITIES,
66
- dbName,
67
- host: hostName,
68
- port: port ? parseInt(port) : void 0,
69
- user: username,
70
- password,
65
+ clientUrl: uri,
71
66
  driver
72
67
  };
73
68
  }
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  var __defProp = Object.defineProperty;
2
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
5
  var __decorateClass = (decorators, target, key, kind) => {
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  /**
2
4
  * @license
3
5
  * Copyright 2025 Google LLC