@softactivate/adk 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (616) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +3 -0
  3. package/dist/cjs/a2a/a2a_event.js +317 -0
  4. package/dist/cjs/a2a/a2a_remote_agent.js +179 -0
  5. package/dist/cjs/a2a/a2a_remote_agent_run_processor.js +205 -0
  6. package/dist/cjs/a2a/a2a_remote_agent_utils.js +165 -0
  7. package/dist/cjs/a2a/agent_card.js +380 -0
  8. package/dist/cjs/a2a/agent_executor.js +221 -0
  9. package/dist/cjs/a2a/agent_to_a2a.js +115 -0
  10. package/dist/cjs/a2a/event_converter_utils.js +201 -0
  11. package/dist/cjs/a2a/event_processor_utils.js +180 -0
  12. package/dist/cjs/a2a/executor_context.js +53 -0
  13. package/dist/cjs/a2a/metadata_converter_utils.js +126 -0
  14. package/dist/cjs/a2a/part_converter_utils.js +223 -0
  15. package/dist/cjs/agents/active_streaming_tool.js +44 -0
  16. package/dist/cjs/agents/base_agent.js +294 -0
  17. package/dist/cjs/agents/context.js +180 -0
  18. package/dist/cjs/agents/functions.js +525 -0
  19. package/dist/cjs/agents/instructions.js +110 -0
  20. package/dist/cjs/agents/invocation_context.js +110 -0
  21. package/dist/cjs/agents/live_request_queue.js +136 -0
  22. package/dist/cjs/agents/llm_agent.js +722 -0
  23. package/dist/cjs/agents/loop_agent.js +84 -0
  24. package/dist/cjs/agents/parallel_agent.js +95 -0
  25. package/dist/cjs/agents/processors/agent_transfer_llm_request_processor.js +132 -0
  26. package/dist/cjs/agents/processors/base_llm_processor.js +44 -0
  27. package/dist/cjs/agents/processors/basic_llm_request_processor.js +68 -0
  28. package/dist/cjs/agents/processors/code_execution_request_processor.js +391 -0
  29. package/dist/cjs/agents/processors/content_processor_utils.js +338 -0
  30. package/dist/cjs/agents/processors/content_request_processor.js +87 -0
  31. package/dist/cjs/agents/processors/context_compactor_request_processor.js +70 -0
  32. package/dist/cjs/agents/processors/identity_llm_request_processor.js +54 -0
  33. package/dist/cjs/agents/processors/instructions_llm_request_processor.js +85 -0
  34. package/dist/cjs/agents/processors/request_confirmation_llm_request_processor.js +165 -0
  35. package/dist/cjs/agents/processors/tool_filter_request_processor.js +73 -0
  36. package/dist/cjs/agents/readonly_context.js +83 -0
  37. package/dist/cjs/agents/routed_agent.js +97 -0
  38. package/dist/cjs/agents/run_config.js +71 -0
  39. package/dist/cjs/agents/sequential_agent.js +106 -0
  40. package/dist/cjs/agents/transcription_entry.js +27 -0
  41. package/dist/cjs/artifacts/base_artifact_service.js +27 -0
  42. package/dist/cjs/artifacts/file_artifact_service.js +522 -0
  43. package/dist/cjs/artifacts/gcs_artifact_service.js +227 -0
  44. package/dist/cjs/artifacts/in_memory_artifact_service.js +181 -0
  45. package/dist/cjs/artifacts/registry.js +55 -0
  46. package/dist/cjs/auth/auth_credential.js +46 -0
  47. package/dist/cjs/auth/auth_handler.js +159 -0
  48. package/dist/cjs/auth/auth_preprocessor.js +178 -0
  49. package/dist/cjs/auth/auth_provider_registry.js +61 -0
  50. package/dist/cjs/auth/auth_schemes.js +62 -0
  51. package/dist/cjs/auth/auth_tool.js +27 -0
  52. package/dist/cjs/auth/base_auth_provider.js +27 -0
  53. package/dist/cjs/auth/credential_service/base_credential_service.js +27 -0
  54. package/dist/cjs/auth/credential_service/in_memory_credential_service.js +63 -0
  55. package/dist/cjs/auth/credential_service/session_state_credential_service.js +51 -0
  56. package/dist/cjs/auth/exchanger/base_credential_exchanger.js +40 -0
  57. package/dist/cjs/auth/exchanger/credential_exchanger_registry.js +59 -0
  58. package/dist/cjs/auth/oauth2/oauth2_credential_exchanger.js +198 -0
  59. package/dist/cjs/auth/oauth2/oauth2_credential_refresher.js +109 -0
  60. package/dist/cjs/auth/oauth2/oauth2_discovery.js +186 -0
  61. package/dist/cjs/auth/oauth2/oauth2_utils.js +119 -0
  62. package/dist/cjs/auth/refresher/base_credential_refresher.js +44 -0
  63. package/dist/cjs/auth/refresher/credential_refresher_registry.js +68 -0
  64. package/dist/cjs/code_executors/base_code_executor.js +92 -0
  65. package/dist/cjs/code_executors/built_in_code_executor.js +74 -0
  66. package/dist/cjs/code_executors/code_execution_utils.js +161 -0
  67. package/dist/cjs/code_executors/code_executor_context.js +198 -0
  68. package/dist/cjs/code_executors/unsafe_local_code_executor.js +241 -0
  69. package/dist/cjs/common.js +362 -0
  70. package/dist/cjs/context/base_context_compactor.js +27 -0
  71. package/dist/cjs/context/summarizers/base_summarizer.js +27 -0
  72. package/dist/cjs/context/summarizers/llm_summarizer.js +93 -0
  73. package/dist/cjs/context/token_based_context_compactor.js +135 -0
  74. package/dist/cjs/context/truncating_context_compactor.js +58 -0
  75. package/dist/cjs/events/compacted_event.js +53 -0
  76. package/dist/cjs/events/event.js +146 -0
  77. package/dist/cjs/events/event_actions.js +83 -0
  78. package/dist/cjs/events/structured_events.js +105 -0
  79. package/dist/cjs/examples/base_example_provider.js +56 -0
  80. package/dist/cjs/examples/example.js +27 -0
  81. package/dist/cjs/examples/example_util.js +107 -0
  82. package/dist/cjs/features/feature_registry.js +141 -0
  83. package/dist/cjs/index.js +94 -0
  84. package/dist/cjs/index_web.js +33 -0
  85. package/dist/cjs/memory/base_memory_service.js +27 -0
  86. package/dist/cjs/memory/in_memory_memory_service.js +99 -0
  87. package/dist/cjs/memory/memory_entry.js +27 -0
  88. package/dist/cjs/models/apigee_llm.js +182 -0
  89. package/dist/cjs/models/base_llm.js +102 -0
  90. package/dist/cjs/models/base_llm_connection.js +27 -0
  91. package/dist/cjs/models/gemini_llm_connection.js +133 -0
  92. package/dist/cjs/models/google_llm.js +291 -0
  93. package/dist/cjs/models/llm_request.js +82 -0
  94. package/dist/cjs/models/llm_response.js +73 -0
  95. package/dist/cjs/models/registry.js +123 -0
  96. package/dist/cjs/models/routed_llm.js +99 -0
  97. package/dist/cjs/package.json +1 -0
  98. package/dist/cjs/plugins/base_plugin.js +295 -0
  99. package/dist/cjs/plugins/logging_plugin.js +259 -0
  100. package/dist/cjs/plugins/plugin_manager.js +310 -0
  101. package/dist/cjs/plugins/security_plugin.js +156 -0
  102. package/dist/cjs/runner/in_memory_runner.js +58 -0
  103. package/dist/cjs/runner/runner.js +380 -0
  104. package/dist/cjs/sessions/base_session_service.js +121 -0
  105. package/dist/cjs/sessions/database_session_service.js +367 -0
  106. package/dist/cjs/sessions/db/operations.js +109 -0
  107. package/dist/cjs/sessions/db/schema.js +204 -0
  108. package/dist/cjs/sessions/in_memory_session_service.js +210 -0
  109. package/dist/cjs/sessions/registry.js +49 -0
  110. package/dist/cjs/sessions/session.js +48 -0
  111. package/dist/cjs/sessions/state.js +101 -0
  112. package/dist/cjs/skills/loader.js +283 -0
  113. package/dist/cjs/skills/prompt.js +58 -0
  114. package/dist/cjs/skills/skill.js +78 -0
  115. package/dist/cjs/telemetry/google_cloud.js +83 -0
  116. package/dist/cjs/telemetry/setup.js +105 -0
  117. package/dist/cjs/telemetry/tracing.js +253 -0
  118. package/dist/cjs/tools/agent_tool.js +219 -0
  119. package/dist/cjs/tools/base_tool.js +122 -0
  120. package/dist/cjs/tools/base_toolset.js +86 -0
  121. package/dist/cjs/tools/exit_loop_tool.js +63 -0
  122. package/dist/cjs/tools/forwarding_artifact_service.js +87 -0
  123. package/dist/cjs/tools/function_tool.js +109 -0
  124. package/dist/cjs/tools/google_maps_grounding_tool.js +80 -0
  125. package/dist/cjs/tools/google_search_tool.js +80 -0
  126. package/dist/cjs/tools/load_artifacts_tool.js +188 -0
  127. package/dist/cjs/tools/load_memory_tool.js +107 -0
  128. package/dist/cjs/tools/long_running_tool.js +63 -0
  129. package/dist/cjs/tools/mcp/mcp_session_manager.js +77 -0
  130. package/dist/cjs/tools/mcp/mcp_tool.js +68 -0
  131. package/dist/cjs/tools/mcp/mcp_toolset.js +80 -0
  132. package/dist/cjs/tools/preload_memory_tool.js +109 -0
  133. package/dist/cjs/tools/skill/list_skills_tool.js +76 -0
  134. package/dist/cjs/tools/skill/load_skill_resource_tool.js +225 -0
  135. package/dist/cjs/tools/skill/load_skill_tool.js +108 -0
  136. package/dist/cjs/tools/skill/run_skill_inline_script_tool.js +146 -0
  137. package/dist/cjs/tools/skill/run_skill_script_tool.js +224 -0
  138. package/dist/cjs/tools/skill/skill_toolset.js +163 -0
  139. package/dist/cjs/tools/tool_confirmation.js +49 -0
  140. package/dist/cjs/tools/url_context_tool.js +73 -0
  141. package/dist/cjs/tools/vertex_ai_search_tool.js +127 -0
  142. package/dist/cjs/tools/vertex_rag_retrieval_tool.js +64 -0
  143. package/dist/cjs/utils/client_labels.js +56 -0
  144. package/dist/cjs/utils/env_aware_utils.js +92 -0
  145. package/dist/cjs/utils/experimental.js +74 -0
  146. package/dist/cjs/utils/failover_utils.js +93 -0
  147. package/dist/cjs/utils/file_extension_utils.js +77 -0
  148. package/dist/cjs/utils/file_utils.js +94 -0
  149. package/dist/cjs/utils/gemini_schema_util.js +152 -0
  150. package/dist/cjs/utils/logger.js +173 -0
  151. package/dist/cjs/utils/model_name.js +90 -0
  152. package/dist/cjs/utils/object_notation_utils.js +78 -0
  153. package/dist/cjs/utils/simple_zod_to_json.js +150 -0
  154. package/dist/cjs/utils/streaming_utils.js +330 -0
  155. package/dist/cjs/utils/variant_utils.js +49 -0
  156. package/dist/cjs/version.js +39 -0
  157. package/dist/esm/a2a/a2a_event.js +271 -0
  158. package/dist/esm/a2a/a2a_remote_agent.js +155 -0
  159. package/dist/esm/a2a/a2a_remote_agent_run_processor.js +184 -0
  160. package/dist/esm/a2a/a2a_remote_agent_utils.js +133 -0
  161. package/dist/esm/a2a/agent_card.js +342 -0
  162. package/dist/esm/a2a/agent_executor.js +204 -0
  163. package/dist/esm/a2a/agent_to_a2a.js +82 -0
  164. package/dist/esm/a2a/event_converter_utils.js +189 -0
  165. package/dist/esm/a2a/event_processor_utils.js +161 -0
  166. package/dist/esm/a2a/executor_context.js +25 -0
  167. package/dist/esm/a2a/metadata_converter_utils.js +93 -0
  168. package/dist/esm/a2a/part_converter_utils.js +188 -0
  169. package/dist/esm/agents/active_streaming_tool.js +16 -0
  170. package/dist/esm/agents/base_agent.js +268 -0
  171. package/dist/esm/agents/context.js +152 -0
  172. package/dist/esm/agents/functions.js +489 -0
  173. package/dist/esm/agents/instructions.js +82 -0
  174. package/dist/esm/agents/invocation_context.js +81 -0
  175. package/dist/esm/agents/live_request_queue.js +108 -0
  176. package/dist/esm/agents/llm_agent.js +708 -0
  177. package/dist/esm/agents/loop_agent.js +55 -0
  178. package/dist/esm/agents/parallel_agent.js +66 -0
  179. package/dist/esm/agents/processors/agent_transfer_llm_request_processor.js +103 -0
  180. package/dist/esm/agents/processors/base_llm_processor.js +15 -0
  181. package/dist/esm/agents/processors/basic_llm_request_processor.js +39 -0
  182. package/dist/esm/agents/processors/code_execution_request_processor.js +368 -0
  183. package/dist/esm/agents/processors/content_processor_utils.js +319 -0
  184. package/dist/esm/agents/processors/content_request_processor.js +61 -0
  185. package/dist/esm/agents/processors/context_compactor_request_processor.js +42 -0
  186. package/dist/esm/agents/processors/identity_llm_request_processor.js +25 -0
  187. package/dist/esm/agents/processors/instructions_llm_request_processor.js +56 -0
  188. package/dist/esm/agents/processors/request_confirmation_llm_request_processor.js +142 -0
  189. package/dist/esm/agents/processors/tool_filter_request_processor.js +44 -0
  190. package/dist/esm/agents/readonly_context.js +55 -0
  191. package/dist/esm/agents/routed_agent.js +70 -0
  192. package/dist/esm/agents/run_config.js +42 -0
  193. package/dist/esm/agents/sequential_agent.js +77 -0
  194. package/dist/esm/agents/transcription_entry.js +7 -0
  195. package/dist/esm/artifacts/base_artifact_service.js +7 -0
  196. package/dist/esm/artifacts/file_artifact_service.js +480 -0
  197. package/dist/esm/artifacts/gcs_artifact_service.js +199 -0
  198. package/dist/esm/artifacts/in_memory_artifact_service.js +152 -0
  199. package/dist/esm/artifacts/registry.js +30 -0
  200. package/dist/esm/auth/auth_credential.js +18 -0
  201. package/dist/esm/auth/auth_handler.js +131 -0
  202. package/dist/esm/auth/auth_preprocessor.js +155 -0
  203. package/dist/esm/auth/auth_provider_registry.js +33 -0
  204. package/dist/esm/auth/auth_schemes.js +33 -0
  205. package/dist/esm/auth/auth_tool.js +7 -0
  206. package/dist/esm/auth/base_auth_provider.js +7 -0
  207. package/dist/esm/auth/credential_service/base_credential_service.js +7 -0
  208. package/dist/esm/auth/credential_service/in_memory_credential_service.js +35 -0
  209. package/dist/esm/auth/credential_service/session_state_credential_service.js +23 -0
  210. package/dist/esm/auth/exchanger/base_credential_exchanger.js +12 -0
  211. package/dist/esm/auth/exchanger/credential_exchanger_registry.js +31 -0
  212. package/dist/esm/auth/oauth2/oauth2_credential_exchanger.js +177 -0
  213. package/dist/esm/auth/oauth2/oauth2_credential_refresher.js +85 -0
  214. package/dist/esm/auth/oauth2/oauth2_discovery.js +156 -0
  215. package/dist/esm/auth/oauth2/oauth2_utils.js +87 -0
  216. package/dist/esm/auth/refresher/base_credential_refresher.js +16 -0
  217. package/dist/esm/auth/refresher/credential_refresher_registry.js +40 -0
  218. package/dist/esm/code_executors/base_code_executor.js +63 -0
  219. package/dist/esm/code_executors/built_in_code_executor.js +45 -0
  220. package/dist/esm/code_executors/code_execution_utils.js +127 -0
  221. package/dist/esm/code_executors/code_executor_context.js +170 -0
  222. package/dist/esm/code_executors/unsafe_local_code_executor.js +205 -0
  223. package/dist/esm/common.js +245 -0
  224. package/dist/esm/context/base_context_compactor.js +7 -0
  225. package/dist/esm/context/summarizers/base_summarizer.js +7 -0
  226. package/dist/esm/context/summarizers/llm_summarizer.js +67 -0
  227. package/dist/esm/context/token_based_context_compactor.js +107 -0
  228. package/dist/esm/context/truncating_context_compactor.js +30 -0
  229. package/dist/esm/events/compacted_event.js +24 -0
  230. package/dist/esm/events/event.js +110 -0
  231. package/dist/esm/events/event_actions.js +54 -0
  232. package/dist/esm/events/structured_events.js +76 -0
  233. package/dist/esm/examples/base_example_provider.js +27 -0
  234. package/dist/esm/examples/example.js +7 -0
  235. package/dist/esm/examples/example_util.js +80 -0
  236. package/dist/esm/features/feature_registry.js +107 -0
  237. package/dist/esm/index.js +50 -0
  238. package/dist/esm/index_web.js +8 -0
  239. package/dist/esm/memory/base_memory_service.js +7 -0
  240. package/dist/esm/memory/in_memory_memory_service.js +71 -0
  241. package/dist/esm/memory/memory_entry.js +7 -0
  242. package/dist/esm/models/apigee_llm.js +154 -0
  243. package/dist/esm/models/base_llm.js +73 -0
  244. package/dist/esm/models/base_llm_connection.js +7 -0
  245. package/dist/esm/models/gemini_llm_connection.js +105 -0
  246. package/dist/esm/models/google_llm.js +265 -0
  247. package/dist/esm/models/llm_request.js +52 -0
  248. package/dist/esm/models/llm_response.js +45 -0
  249. package/dist/esm/models/registry.js +95 -0
  250. package/dist/esm/models/routed_llm.js +73 -0
  251. package/dist/esm/plugins/base_plugin.js +268 -0
  252. package/dist/esm/plugins/logging_plugin.js +235 -0
  253. package/dist/esm/plugins/plugin_manager.js +282 -0
  254. package/dist/esm/plugins/security_plugin.js +124 -0
  255. package/dist/esm/runner/in_memory_runner.js +30 -0
  256. package/dist/esm/runner/runner.js +360 -0
  257. package/dist/esm/sessions/base_session_service.js +91 -0
  258. package/dist/esm/sessions/database_session_service.js +355 -0
  259. package/dist/esm/sessions/db/operations.js +96 -0
  260. package/dist/esm/sessions/db/schema.js +174 -0
  261. package/dist/esm/sessions/in_memory_session_service.js +184 -0
  262. package/dist/esm/sessions/registry.js +27 -0
  263. package/dist/esm/sessions/session.js +20 -0
  264. package/dist/esm/sessions/state.js +73 -0
  265. package/dist/esm/skills/loader.js +244 -0
  266. package/dist/esm/skills/prompt.js +30 -0
  267. package/dist/esm/skills/skill.js +49 -0
  268. package/dist/esm/telemetry/google_cloud.js +54 -0
  269. package/dist/esm/telemetry/setup.js +83 -0
  270. package/dist/esm/telemetry/tracing.js +219 -0
  271. package/dist/esm/tools/agent_tool.js +190 -0
  272. package/dist/esm/tools/base_tool.js +93 -0
  273. package/dist/esm/tools/base_toolset.js +57 -0
  274. package/dist/esm/tools/exit_loop_tool.js +34 -0
  275. package/dist/esm/tools/forwarding_artifact_service.js +59 -0
  276. package/dist/esm/tools/function_tool.js +80 -0
  277. package/dist/esm/tools/google_maps_grounding_tool.js +54 -0
  278. package/dist/esm/tools/google_search_tool.js +51 -0
  279. package/dist/esm/tools/load_artifacts_tool.js +161 -0
  280. package/dist/esm/tools/load_memory_tool.js +80 -0
  281. package/dist/esm/tools/long_running_tool.js +37 -0
  282. package/dist/esm/tools/mcp/mcp_session_manager.js +53 -0
  283. package/dist/esm/tools/mcp/mcp_tool.js +40 -0
  284. package/dist/esm/tools/mcp/mcp_toolset.js +52 -0
  285. package/dist/esm/tools/preload_memory_tool.js +82 -0
  286. package/dist/esm/tools/skill/list_skills_tool.js +50 -0
  287. package/dist/esm/tools/skill/load_skill_resource_tool.js +191 -0
  288. package/dist/esm/tools/skill/load_skill_tool.js +82 -0
  289. package/dist/esm/tools/skill/run_skill_inline_script_tool.js +120 -0
  290. package/dist/esm/tools/skill/run_skill_script_tool.js +192 -0
  291. package/dist/esm/tools/skill/skill_toolset.js +137 -0
  292. package/dist/esm/tools/tool_confirmation.js +21 -0
  293. package/dist/esm/tools/url_context_tool.js +44 -0
  294. package/dist/esm/tools/vertex_ai_search_tool.js +103 -0
  295. package/dist/esm/tools/vertex_rag_retrieval_tool.js +36 -0
  296. package/dist/esm/utils/client_labels.js +28 -0
  297. package/dist/esm/utils/env_aware_utils.js +59 -0
  298. package/dist/esm/utils/experimental.js +46 -0
  299. package/dist/esm/utils/failover_utils.js +65 -0
  300. package/dist/esm/utils/file_extension_utils.js +51 -0
  301. package/dist/esm/utils/file_utils.js +56 -0
  302. package/dist/esm/utils/gemini_schema_util.js +124 -0
  303. package/dist/esm/utils/logger.js +130 -0
  304. package/dist/esm/utils/model_name.js +58 -0
  305. package/dist/esm/utils/object_notation_utils.js +49 -0
  306. package/dist/esm/utils/simple_zod_to_json.js +123 -0
  307. package/dist/esm/utils/streaming_utils.js +304 -0
  308. package/dist/esm/utils/variant_utils.js +20 -0
  309. package/dist/esm/version.js +11 -0
  310. package/dist/types/a2a/a2a_event.d.ts +139 -0
  311. package/dist/types/a2a/a2a_remote_agent.d.ts +67 -0
  312. package/dist/types/a2a/a2a_remote_agent_run_processor.d.ts +31 -0
  313. package/dist/types/a2a/a2a_remote_agent_utils.d.ts +38 -0
  314. package/dist/types/a2a/agent_card.d.ts +23 -0
  315. package/dist/types/a2a/agent_executor.d.ts +52 -0
  316. package/dist/types/a2a/agent_to_a2a.d.ts +45 -0
  317. package/dist/types/a2a/event_converter_utils.d.ts +20 -0
  318. package/dist/types/a2a/event_processor_utils.d.ts +24 -0
  319. package/dist/types/a2a/executor_context.d.ts +33 -0
  320. package/dist/types/a2a/metadata_converter_utils.d.ts +63 -0
  321. package/dist/types/a2a/part_converter_utils.d.ts +48 -0
  322. package/dist/types/agents/active_streaming_tool.d.ts +29 -0
  323. package/dist/types/agents/base_agent.d.ts +194 -0
  324. package/dist/types/agents/context.d.ts +99 -0
  325. package/dist/types/agents/functions.d.ts +112 -0
  326. package/dist/types/agents/instructions.d.ts +32 -0
  327. package/dist/types/agents/invocation_context.d.ts +162 -0
  328. package/dist/types/agents/live_request_queue.d.ts +67 -0
  329. package/dist/types/agents/llm_agent.d.ts +351 -0
  330. package/dist/types/agents/loop_agent.d.ts +47 -0
  331. package/dist/types/agents/parallel_agent.d.ts +37 -0
  332. package/dist/types/agents/processors/agent_transfer_llm_request_processor.d.ts +18 -0
  333. package/dist/types/agents/processors/base_llm_processor.d.ts +27 -0
  334. package/dist/types/agents/processors/basic_llm_request_processor.d.ts +13 -0
  335. package/dist/types/agents/processors/code_execution_request_processor.d.ts +34 -0
  336. package/dist/types/agents/processors/content_processor_utils.d.ts +36 -0
  337. package/dist/types/agents/processors/content_request_processor.d.ts +13 -0
  338. package/dist/types/agents/processors/context_compactor_request_processor.d.ts +22 -0
  339. package/dist/types/agents/processors/identity_llm_request_processor.d.ts +13 -0
  340. package/dist/types/agents/processors/instructions_llm_request_processor.d.ts +16 -0
  341. package/dist/types/agents/processors/request_confirmation_llm_request_processor.d.ts +13 -0
  342. package/dist/types/agents/processors/tool_filter_request_processor.d.ts +14 -0
  343. package/dist/types/agents/readonly_context.d.ts +39 -0
  344. package/dist/types/agents/routed_agent.d.ts +59 -0
  345. package/dist/types/agents/run_config.d.ts +94 -0
  346. package/dist/types/agents/sequential_agent.d.ts +42 -0
  347. package/dist/types/agents/transcription_entry.d.ts +17 -0
  348. package/dist/types/artifacts/base_artifact_service.d.ts +158 -0
  349. package/dist/types/artifacts/file_artifact_service.d.ts +47 -0
  350. package/dist/types/artifacts/gcs_artifact_service.d.ts +18 -0
  351. package/dist/types/artifacts/in_memory_artifact_service.d.ts +21 -0
  352. package/dist/types/artifacts/registry.d.ts +7 -0
  353. package/dist/types/auth/auth_credential.d.ts +244 -0
  354. package/dist/types/auth/auth_handler.d.ts +28 -0
  355. package/dist/types/auth/auth_preprocessor.d.ts +12 -0
  356. package/dist/types/auth/auth_provider_registry.d.ts +27 -0
  357. package/dist/types/auth/auth_schemes.d.ts +39 -0
  358. package/dist/types/auth/auth_tool.d.ts +51 -0
  359. package/dist/types/auth/base_auth_provider.d.ts +20 -0
  360. package/dist/types/auth/credential_service/base_credential_service.d.ts +27 -0
  361. package/dist/types/auth/credential_service/in_memory_credential_service.d.ts +19 -0
  362. package/dist/types/auth/credential_service/session_state_credential_service.d.ts +20 -0
  363. package/dist/types/auth/exchanger/base_credential_exchanger.d.ts +39 -0
  364. package/dist/types/auth/exchanger/credential_exchanger_registry.d.ts +28 -0
  365. package/dist/types/auth/oauth2/oauth2_credential_exchanger.d.ts +26 -0
  366. package/dist/types/auth/oauth2/oauth2_credential_refresher.d.ts +29 -0
  367. package/dist/types/auth/oauth2/oauth2_discovery.d.ts +38 -0
  368. package/dist/types/auth/oauth2/oauth2_utils.d.ts +56 -0
  369. package/dist/types/auth/refresher/base_credential_refresher.d.ts +38 -0
  370. package/dist/types/auth/refresher/credential_refresher_registry.d.ts +27 -0
  371. package/dist/types/code_executors/base_code_executor.d.ts +74 -0
  372. package/dist/types/code_executors/built_in_code_executor.d.ts +32 -0
  373. package/dist/types/code_executors/code_execution_utils.d.ts +127 -0
  374. package/dist/types/code_executors/code_executor_context.d.ts +85 -0
  375. package/dist/types/code_executors/unsafe_local_code_executor.d.ts +48 -0
  376. package/dist/types/common.d.ts +137 -0
  377. package/dist/types/context/base_context_compactor.d.ts +24 -0
  378. package/dist/types/context/summarizers/base_summarizer.d.ts +19 -0
  379. package/dist/types/context/summarizers/llm_summarizer.d.ts +23 -0
  380. package/dist/types/context/token_based_context_compactor.d.ts +33 -0
  381. package/dist/types/context/truncating_context_compactor.d.ts +24 -0
  382. package/dist/types/events/compacted_event.d.ts +33 -0
  383. package/dist/types/events/event.d.ts +102 -0
  384. package/dist/types/events/event_actions.d.ts +74 -0
  385. package/dist/types/events/structured_events.d.ts +106 -0
  386. package/dist/types/examples/base_example_provider.d.ts +36 -0
  387. package/dist/types/examples/example.d.ts +19 -0
  388. package/dist/types/examples/example_util.d.ts +13 -0
  389. package/dist/types/features/feature_registry.d.ts +66 -0
  390. package/dist/types/index.d.ts +28 -0
  391. package/dist/types/index_web.d.ts +6 -0
  392. package/dist/types/memory/base_memory_service.d.ts +53 -0
  393. package/dist/types/memory/in_memory_memory_service.d.ts +18 -0
  394. package/dist/types/memory/memory_entry.d.ts +30 -0
  395. package/dist/types/models/apigee_llm.d.ts +59 -0
  396. package/dist/types/models/base_llm.d.ts +66 -0
  397. package/dist/types/models/base_llm_connection.d.ts +51 -0
  398. package/dist/types/models/gemini_llm_connection.d.ts +54 -0
  399. package/dist/types/models/google_llm.d.ts +90 -0
  400. package/dist/types/models/llm_request.d.ts +53 -0
  401. package/dist/types/models/llm_response.d.ts +83 -0
  402. package/dist/types/models/registry.d.ts +49 -0
  403. package/dist/types/models/routed_llm.d.ts +38 -0
  404. package/dist/types/plugins/base_plugin.d.ts +368 -0
  405. package/dist/types/plugins/logging_plugin.d.ts +103 -0
  406. package/dist/types/plugins/plugin_manager.d.ts +175 -0
  407. package/dist/types/plugins/security_plugin.d.ts +60 -0
  408. package/dist/types/runner/in_memory_runner.d.ts +15 -0
  409. package/dist/types/runner/runner.d.ts +117 -0
  410. package/dist/types/sessions/base_session_service.d.ts +149 -0
  411. package/dist/types/sessions/database_session_service.d.ts +32 -0
  412. package/dist/types/sessions/db/operations.d.ts +28 -0
  413. package/dist/types/sessions/db/schema.d.ts +45 -0
  414. package/dist/types/sessions/in_memory_session_service.d.ts +30 -0
  415. package/dist/types/sessions/registry.d.ts +7 -0
  416. package/dist/types/sessions/session.d.ts +46 -0
  417. package/dist/types/sessions/state.d.ts +57 -0
  418. package/dist/types/skills/loader.d.ts +38 -0
  419. package/dist/types/skills/prompt.d.ts +13 -0
  420. package/dist/types/skills/skill.d.ts +48 -0
  421. package/dist/types/telemetry/google_cloud.d.ts +9 -0
  422. package/dist/types/telemetry/setup.d.ts +48 -0
  423. package/dist/types/telemetry/tracing.d.ts +112 -0
  424. package/dist/types/tools/agent_tool.d.ts +73 -0
  425. package/dist/types/tools/base_tool.d.ts +98 -0
  426. package/dist/types/tools/base_toolset.d.ts +74 -0
  427. package/dist/types/tools/exit_loop_tool.d.ts +24 -0
  428. package/dist/types/tools/forwarding_artifact_service.d.ts +23 -0
  429. package/dist/types/tools/function_tool.d.ts +62 -0
  430. package/dist/types/tools/google_maps_grounding_tool.d.ts +22 -0
  431. package/dist/types/tools/google_search_tool.d.ts +17 -0
  432. package/dist/types/tools/load_artifacts_tool.d.ts +21 -0
  433. package/dist/types/tools/load_memory_tool.d.ts +22 -0
  434. package/dist/types/tools/long_running_tool.d.ts +18 -0
  435. package/dist/types/tools/mcp/mcp_session_manager.d.ts +64 -0
  436. package/dist/types/tools/mcp/mcp_tool.d.ts +36 -0
  437. package/dist/types/tools/mcp/mcp_toolset.d.ts +44 -0
  438. package/dist/types/tools/preload_memory_tool.d.ts +23 -0
  439. package/dist/types/tools/skill/list_skills_tool.d.ts +14 -0
  440. package/dist/types/tools/skill/load_skill_resource_tool.d.ts +15 -0
  441. package/dist/types/tools/skill/load_skill_tool.d.ts +14 -0
  442. package/dist/types/tools/skill/run_skill_inline_script_tool.d.ts +14 -0
  443. package/dist/types/tools/skill/run_skill_script_tool.d.ts +17 -0
  444. package/dist/types/tools/skill/skill_toolset.d.ts +28 -0
  445. package/dist/types/tools/tool_confirmation.d.ts +25 -0
  446. package/dist/types/tools/url_context_tool.d.ts +17 -0
  447. package/dist/types/tools/vertex_ai_search_tool.d.ts +55 -0
  448. package/dist/types/tools/vertex_rag_retrieval_tool.d.ts +42 -0
  449. package/dist/types/utils/client_labels.d.ts +9 -0
  450. package/dist/types/utils/env_aware_utils.d.ts +38 -0
  451. package/dist/types/utils/experimental.d.ts +11 -0
  452. package/dist/types/utils/failover_utils.d.ts +17 -0
  453. package/dist/types/utils/file_extension_utils.d.ts +21 -0
  454. package/dist/types/utils/file_utils.d.ts +11 -0
  455. package/dist/types/utils/gemini_schema_util.d.ts +15 -0
  456. package/dist/types/utils/logger.d.ts +38 -0
  457. package/dist/types/utils/model_name.d.ts +38 -0
  458. package/dist/types/utils/object_notation_utils.d.ts +21 -0
  459. package/dist/types/utils/simple_zod_to_json.d.ts +13 -0
  460. package/dist/types/utils/streaming_utils.d.ts +40 -0
  461. package/dist/types/utils/variant_utils.d.ts +24 -0
  462. package/dist/types/version.d.ts +6 -0
  463. package/dist/web/a2a/a2a_event.js +271 -0
  464. package/dist/web/a2a/a2a_remote_agent.js +186 -0
  465. package/dist/web/a2a/a2a_remote_agent_run_processor.js +184 -0
  466. package/dist/web/a2a/a2a_remote_agent_utils.js +133 -0
  467. package/dist/web/a2a/agent_card.js +342 -0
  468. package/dist/web/a2a/agent_executor.js +218 -0
  469. package/dist/web/a2a/agent_to_a2a.js +82 -0
  470. package/dist/web/a2a/event_converter_utils.js +203 -0
  471. package/dist/web/a2a/event_processor_utils.js +170 -0
  472. package/dist/web/a2a/executor_context.js +25 -0
  473. package/dist/web/a2a/metadata_converter_utils.js +110 -0
  474. package/dist/web/a2a/part_converter_utils.js +188 -0
  475. package/dist/web/agents/active_streaming_tool.js +16 -0
  476. package/dist/web/agents/base_agent.js +354 -0
  477. package/dist/web/agents/context.js +152 -0
  478. package/dist/web/agents/functions.js +520 -0
  479. package/dist/web/agents/instructions.js +82 -0
  480. package/dist/web/agents/invocation_context.js +81 -0
  481. package/dist/web/agents/live_request_queue.js +126 -0
  482. package/dist/web/agents/llm_agent.js +907 -0
  483. package/dist/web/agents/loop_agent.js +88 -0
  484. package/dist/web/agents/parallel_agent.js +101 -0
  485. package/dist/web/agents/processors/agent_transfer_llm_request_processor.js +102 -0
  486. package/dist/web/agents/processors/base_llm_processor.js +15 -0
  487. package/dist/web/agents/processors/basic_llm_request_processor.js +73 -0
  488. package/dist/web/agents/processors/code_execution_request_processor.js +370 -0
  489. package/dist/web/agents/processors/content_processor_utils.js +318 -0
  490. package/dist/web/agents/processors/content_request_processor.js +79 -0
  491. package/dist/web/agents/processors/context_compactor_request_processor.js +60 -0
  492. package/dist/web/agents/processors/identity_llm_request_processor.js +43 -0
  493. package/dist/web/agents/processors/instructions_llm_request_processor.js +74 -0
  494. package/dist/web/agents/processors/request_confirmation_llm_request_processor.js +160 -0
  495. package/dist/web/agents/processors/tool_filter_request_processor.js +62 -0
  496. package/dist/web/agents/readonly_context.js +55 -0
  497. package/dist/web/agents/routed_agent.js +138 -0
  498. package/dist/web/agents/run_config.js +57 -0
  499. package/dist/web/agents/sequential_agent.js +122 -0
  500. package/dist/web/agents/transcription_entry.js +7 -0
  501. package/dist/web/artifacts/base_artifact_service.js +7 -0
  502. package/dist/web/artifacts/file_artifact_service.js +535 -0
  503. package/dist/web/artifacts/gcs_artifact_service.js +213 -0
  504. package/dist/web/artifacts/in_memory_artifact_service.js +152 -0
  505. package/dist/web/artifacts/registry.js +30 -0
  506. package/dist/web/auth/auth_credential.js +18 -0
  507. package/dist/web/auth/auth_handler.js +148 -0
  508. package/dist/web/auth/auth_preprocessor.js +173 -0
  509. package/dist/web/auth/auth_provider_registry.js +33 -0
  510. package/dist/web/auth/auth_schemes.js +33 -0
  511. package/dist/web/auth/auth_tool.js +7 -0
  512. package/dist/web/auth/base_auth_provider.js +7 -0
  513. package/dist/web/auth/credential_service/base_credential_service.js +7 -0
  514. package/dist/web/auth/credential_service/in_memory_credential_service.js +35 -0
  515. package/dist/web/auth/credential_service/session_state_credential_service.js +23 -0
  516. package/dist/web/auth/exchanger/base_credential_exchanger.js +12 -0
  517. package/dist/web/auth/exchanger/credential_exchanger_registry.js +31 -0
  518. package/dist/web/auth/oauth2/oauth2_credential_exchanger.js +188 -0
  519. package/dist/web/auth/oauth2/oauth2_credential_refresher.js +102 -0
  520. package/dist/web/auth/oauth2/oauth2_discovery.js +156 -0
  521. package/dist/web/auth/oauth2/oauth2_utils.js +87 -0
  522. package/dist/web/auth/refresher/base_credential_refresher.js +16 -0
  523. package/dist/web/auth/refresher/credential_refresher_registry.js +40 -0
  524. package/dist/web/code_executors/base_code_executor.js +63 -0
  525. package/dist/web/code_executors/built_in_code_executor.js +45 -0
  526. package/dist/web/code_executors/code_execution_utils.js +124 -0
  527. package/dist/web/code_executors/code_executor_context.js +170 -0
  528. package/dist/web/code_executors/unsafe_local_code_executor.js +203 -0
  529. package/dist/web/common.js +245 -0
  530. package/dist/web/context/base_context_compactor.js +7 -0
  531. package/dist/web/context/summarizers/base_summarizer.js +7 -0
  532. package/dist/web/context/summarizers/llm_summarizer.js +76 -0
  533. package/dist/web/context/token_based_context_compactor.js +107 -0
  534. package/dist/web/context/truncating_context_compactor.js +30 -0
  535. package/dist/web/events/compacted_event.js +42 -0
  536. package/dist/web/events/event.js +128 -0
  537. package/dist/web/events/event_actions.js +69 -0
  538. package/dist/web/events/structured_events.js +76 -0
  539. package/dist/web/examples/base_example_provider.js +27 -0
  540. package/dist/web/examples/example.js +7 -0
  541. package/dist/web/examples/example_util.js +79 -0
  542. package/dist/web/features/feature_registry.js +107 -0
  543. package/dist/web/index.js +50 -0
  544. package/dist/web/index_web.js +8 -0
  545. package/dist/web/memory/base_memory_service.js +7 -0
  546. package/dist/web/memory/in_memory_memory_service.js +71 -0
  547. package/dist/web/memory/memory_entry.js +7 -0
  548. package/dist/web/models/apigee_llm.js +221 -0
  549. package/dist/web/models/base_llm.js +73 -0
  550. package/dist/web/models/base_llm_connection.js +7 -0
  551. package/dist/web/models/gemini_llm_connection.js +123 -0
  552. package/dist/web/models/google_llm.js +321 -0
  553. package/dist/web/models/llm_request.js +52 -0
  554. package/dist/web/models/llm_response.js +45 -0
  555. package/dist/web/models/registry.js +95 -0
  556. package/dist/web/models/routed_llm.js +122 -0
  557. package/dist/web/plugins/base_plugin.js +268 -0
  558. package/dist/web/plugins/logging_plugin.js +235 -0
  559. package/dist/web/plugins/plugin_manager.js +282 -0
  560. package/dist/web/plugins/security_plugin.js +124 -0
  561. package/dist/web/runner/in_memory_runner.js +30 -0
  562. package/dist/web/runner/runner.js +426 -0
  563. package/dist/web/sessions/base_session_service.js +91 -0
  564. package/dist/web/sessions/database_session_service.js +373 -0
  565. package/dist/web/sessions/db/operations.js +96 -0
  566. package/dist/web/sessions/db/schema.js +174 -0
  567. package/dist/web/sessions/in_memory_session_service.js +184 -0
  568. package/dist/web/sessions/registry.js +27 -0
  569. package/dist/web/sessions/session.js +20 -0
  570. package/dist/web/sessions/state.js +89 -0
  571. package/dist/web/skills/loader.js +262 -0
  572. package/dist/web/skills/prompt.js +30 -0
  573. package/dist/web/skills/skill.js +67 -0
  574. package/dist/web/telemetry/google_cloud.js +54 -0
  575. package/dist/web/telemetry/setup.js +83 -0
  576. package/dist/web/telemetry/tracing.js +234 -0
  577. package/dist/web/tools/agent_tool.js +233 -0
  578. package/dist/web/tools/base_tool.js +93 -0
  579. package/dist/web/tools/base_toolset.js +57 -0
  580. package/dist/web/tools/exit_loop_tool.js +34 -0
  581. package/dist/web/tools/forwarding_artifact_service.js +59 -0
  582. package/dist/web/tools/function_tool.js +80 -0
  583. package/dist/web/tools/google_maps_grounding_tool.js +54 -0
  584. package/dist/web/tools/google_search_tool.js +51 -0
  585. package/dist/web/tools/load_artifacts_tool.js +152 -0
  586. package/dist/web/tools/load_memory_tool.js +79 -0
  587. package/dist/web/tools/long_running_tool.js +54 -0
  588. package/dist/web/tools/mcp/mcp_session_manager.js +53 -0
  589. package/dist/web/tools/mcp/mcp_tool.js +40 -0
  590. package/dist/web/tools/mcp/mcp_toolset.js +70 -0
  591. package/dist/web/tools/preload_memory_tool.js +77 -0
  592. package/dist/web/tools/skill/list_skills_tool.js +50 -0
  593. package/dist/web/tools/skill/load_skill_resource_tool.js +191 -0
  594. package/dist/web/tools/skill/load_skill_tool.js +82 -0
  595. package/dist/web/tools/skill/run_skill_inline_script_tool.js +120 -0
  596. package/dist/web/tools/skill/run_skill_script_tool.js +190 -0
  597. package/dist/web/tools/skill/skill_toolset.js +123 -0
  598. package/dist/web/tools/tool_confirmation.js +21 -0
  599. package/dist/web/tools/url_context_tool.js +44 -0
  600. package/dist/web/tools/vertex_ai_search_tool.js +103 -0
  601. package/dist/web/tools/vertex_rag_retrieval_tool.js +36 -0
  602. package/dist/web/utils/client_labels.js +28 -0
  603. package/dist/web/utils/env_aware_utils.js +59 -0
  604. package/dist/web/utils/experimental.js +46 -0
  605. package/dist/web/utils/failover_utils.js +96 -0
  606. package/dist/web/utils/file_extension_utils.js +51 -0
  607. package/dist/web/utils/file_utils.js +74 -0
  608. package/dist/web/utils/gemini_schema_util.js +155 -0
  609. package/dist/web/utils/logger.js +130 -0
  610. package/dist/web/utils/model_name.js +58 -0
  611. package/dist/web/utils/object_notation_utils.js +49 -0
  612. package/dist/web/utils/simple_zod_to_json.js +123 -0
  613. package/dist/web/utils/streaming_utils.js +322 -0
  614. package/dist/web/utils/variant_utils.js +20 -0
  615. package/dist/web/version.js +11 -0
  616. package/package.json +84 -0
@@ -0,0 +1,304 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
3
+ /**
4
+ * @license
5
+ * Copyright 2026 Google LLC
6
+ * SPDX-License-Identifier: Apache-2.0
7
+ */
8
+ import {
9
+ FinishReason
10
+ } from "@google/genai";
11
+ import { JSONPath } from "jsonpath-plus";
12
+ import { generateClientFunctionCallId } from "../agents/functions.js";
13
+ import { FeatureName, isFeatureEnabled } from "../features/feature_registry.js";
14
+ import { createLlmResponse } from "../models/llm_response.js";
15
+ class StreamingResponseAggregator {
16
+ constructor(isProgressiveMode = isFeatureEnabled(
17
+ FeatureName.PROGRESSIVE_SSE_STREAMING
18
+ )) {
19
+ this.isProgressiveMode = isProgressiveMode;
20
+ // For non-progressive SSE streaming mode
21
+ this.text = "";
22
+ this.thoughtText = "";
23
+ // For progressive SSE streaming mode: accumulate parts in order
24
+ this.partsSequence = [];
25
+ this.currentTextBuffer = "";
26
+ this.currentFcArgs = {};
27
+ }
28
+ flushTextBufferToSequence() {
29
+ if (!this.currentTextBuffer) {
30
+ return;
31
+ }
32
+ if (this.currentTextIsThought) {
33
+ this.partsSequence.push({
34
+ text: this.currentTextBuffer,
35
+ thought: true
36
+ });
37
+ } else {
38
+ this.partsSequence.push({
39
+ text: this.currentTextBuffer
40
+ });
41
+ }
42
+ this.currentTextBuffer = "";
43
+ this.currentTextIsThought = void 0;
44
+ }
45
+ getValueFromPartialArg(partialArg, jsonPath) {
46
+ let value = null;
47
+ let hasValue = false;
48
+ const stringValue = partialArg.stringValue;
49
+ const numberValue = partialArg.numberValue;
50
+ const boolValue = partialArg.boolValue;
51
+ const nullValue = partialArg.nullValue;
52
+ if (stringValue !== void 0) {
53
+ const stringChunk = stringValue;
54
+ hasValue = true;
55
+ const pathParts = JSONPath.toPathArray(jsonPath).filter(
56
+ (p) => p !== "$" && p !== "$["
57
+ );
58
+ let existingValue = this.currentFcArgs;
59
+ for (const part of pathParts) {
60
+ if (existingValue && typeof existingValue === "object" && part in existingValue) {
61
+ existingValue = existingValue[part];
62
+ } else {
63
+ existingValue = void 0;
64
+ break;
65
+ }
66
+ }
67
+ if (typeof existingValue === "string") {
68
+ value = existingValue + stringChunk;
69
+ } else {
70
+ value = stringChunk;
71
+ }
72
+ } else if (numberValue !== void 0) {
73
+ value = numberValue;
74
+ hasValue = true;
75
+ } else if (boolValue !== void 0) {
76
+ value = boolValue;
77
+ hasValue = true;
78
+ } else if (nullValue !== void 0) {
79
+ value = null;
80
+ hasValue = true;
81
+ }
82
+ return [value, hasValue];
83
+ }
84
+ setValueByJsonPath(jsonPath, value) {
85
+ const pathParts = JSONPath.toPathArray(jsonPath).filter(
86
+ (p) => p !== "$" && p !== "$["
87
+ );
88
+ let current = this.currentFcArgs;
89
+ for (let i = 0; i < pathParts.length - 1; i++) {
90
+ const part = pathParts[i];
91
+ if (!(part in current)) {
92
+ current[part] = {};
93
+ }
94
+ current = current[part];
95
+ }
96
+ if (pathParts.length > 0) {
97
+ current[pathParts[pathParts.length - 1]] = value;
98
+ }
99
+ }
100
+ flushFunctionCallToSequence() {
101
+ var _a;
102
+ if (this.currentFcName) {
103
+ const fcPart = {
104
+ functionCall: {
105
+ name: this.currentFcName,
106
+ args: JSON.parse(JSON.stringify(this.currentFcArgs)),
107
+ id: (_a = this.currentFcId) != null ? _a : generateClientFunctionCallId()
108
+ }
109
+ };
110
+ if (this.currentThoughtSignature) {
111
+ fcPart.thoughtSignature = this.currentThoughtSignature.toString();
112
+ }
113
+ this.partsSequence.push(fcPart);
114
+ this.currentFcName = void 0;
115
+ this.currentFcArgs = {};
116
+ this.currentFcId = void 0;
117
+ this.currentThoughtSignature = void 0;
118
+ }
119
+ }
120
+ processStreamingFunctionCall(fc) {
121
+ if (fc.name) {
122
+ this.currentFcName = fc.name;
123
+ }
124
+ if (fc.id) {
125
+ this.currentFcId = fc.id;
126
+ }
127
+ for (const partialArg of fc.partialArgs || []) {
128
+ const jsonPath = partialArg.jsonPath;
129
+ if (!jsonPath) {
130
+ continue;
131
+ }
132
+ const [value, hasValue] = this.getValueFromPartialArg(
133
+ partialArg,
134
+ jsonPath
135
+ );
136
+ if (hasValue) {
137
+ this.setValueByJsonPath(jsonPath, value);
138
+ }
139
+ }
140
+ if (!fc.willContinue) {
141
+ this.flushTextBufferToSequence();
142
+ this.flushFunctionCallToSequence();
143
+ }
144
+ }
145
+ processFunctionCallPart(part) {
146
+ const fc = part.functionCall;
147
+ if (!fc) {
148
+ return;
149
+ }
150
+ if (part.thoughtSignature) {
151
+ this.lastThoughtSignature = part.thoughtSignature;
152
+ } else if (this.lastThoughtSignature) {
153
+ part.thoughtSignature = this.lastThoughtSignature.toString();
154
+ }
155
+ if (fc.partialArgs || fc.willContinue) {
156
+ if (!fc.id && !this.currentFcId) {
157
+ fc.id = generateClientFunctionCallId();
158
+ }
159
+ if (part.thoughtSignature && !this.currentThoughtSignature) {
160
+ this.currentThoughtSignature = part.thoughtSignature;
161
+ }
162
+ this.processStreamingFunctionCall(fc);
163
+ } else {
164
+ if (fc.name) {
165
+ if (!fc.id) {
166
+ fc.id = generateClientFunctionCallId();
167
+ }
168
+ this.flushTextBufferToSequence();
169
+ this.partsSequence.push(part);
170
+ }
171
+ }
172
+ }
173
+ async *processResponse(response) {
174
+ var _a, _b, _c;
175
+ this.response = response;
176
+ const llmResponse = createLlmResponse(response);
177
+ this.usageMetadata = llmResponse.usageMetadata;
178
+ if (llmResponse.groundingMetadata) {
179
+ this.groundingMetadata = llmResponse.groundingMetadata;
180
+ }
181
+ if (llmResponse.citationMetadata) {
182
+ this.citationMetadata = llmResponse.citationMetadata;
183
+ }
184
+ if (llmResponse.finishReason) {
185
+ this.finishReason = llmResponse.finishReason;
186
+ }
187
+ if (llmResponse.content && llmResponse.content.parts) {
188
+ for (const part of llmResponse.content.parts) {
189
+ if (part.thoughtSignature) {
190
+ this.lastThoughtSignature = part.thoughtSignature;
191
+ } else if (part.functionCall && this.lastThoughtSignature) {
192
+ part.thoughtSignature = this.lastThoughtSignature.toString();
193
+ }
194
+ }
195
+ }
196
+ if (this.isProgressiveMode) {
197
+ if (llmResponse.content && llmResponse.content.parts) {
198
+ for (const part of llmResponse.content.parts) {
199
+ if (part.text) {
200
+ const isThought = (_a = part.thought) != null ? _a : false;
201
+ if (this.currentTextBuffer && isThought !== this.currentTextIsThought) {
202
+ this.flushTextBufferToSequence();
203
+ }
204
+ if (!this.currentTextBuffer) {
205
+ this.currentTextIsThought = isThought;
206
+ }
207
+ this.currentTextBuffer += part.text;
208
+ } else if (part.functionCall) {
209
+ this.processFunctionCallPart(part);
210
+ } else {
211
+ this.flushTextBufferToSequence();
212
+ this.partsSequence.push(part);
213
+ }
214
+ }
215
+ }
216
+ llmResponse.partial = true;
217
+ yield llmResponse;
218
+ return;
219
+ }
220
+ if (llmResponse.content && llmResponse.content.parts && typeof ((_b = llmResponse.content.parts[0]) == null ? void 0 : _b.text) === "string") {
221
+ const part0 = llmResponse.content.parts[0];
222
+ const partText = part0.text || "";
223
+ if (part0.thought) {
224
+ this.thoughtText += partText;
225
+ } else {
226
+ this.text += partText;
227
+ }
228
+ llmResponse.partial = true;
229
+ } else if ((this.thoughtText || this.text) && (!llmResponse.content || !llmResponse.content.parts || !((_c = llmResponse.content.parts[0]) == null ? void 0 : _c.inlineData))) {
230
+ const parts = [];
231
+ if (this.thoughtText) {
232
+ parts.push({ text: this.thoughtText, thought: true });
233
+ }
234
+ if (this.text) {
235
+ parts.push({ text: this.text });
236
+ }
237
+ yield {
238
+ content: {
239
+ role: "model",
240
+ parts
241
+ },
242
+ usageMetadata: llmResponse.usageMetadata,
243
+ partial: false
244
+ };
245
+ this.thoughtText = "";
246
+ this.text = "";
247
+ }
248
+ yield llmResponse;
249
+ }
250
+ close() {
251
+ var _a, _b, _c, _d, _e, _f;
252
+ if (this.isProgressiveMode) {
253
+ this.flushTextBufferToSequence();
254
+ this.flushFunctionCallToSequence();
255
+ const finalParts = this.partsSequence;
256
+ if (finalParts.length === 0) {
257
+ return;
258
+ }
259
+ const candidate = (_b = (_a = this.response) == null ? void 0 : _a.candidates) == null ? void 0 : _b[0];
260
+ const finishReason = (_c = this.finishReason) != null ? _c : candidate == null ? void 0 : candidate.finishReason;
261
+ return {
262
+ content: {
263
+ role: "model",
264
+ parts: finalParts
265
+ },
266
+ groundingMetadata: this.groundingMetadata,
267
+ citationMetadata: this.citationMetadata,
268
+ errorCode: finishReason === FinishReason.STOP ? void 0 : finishReason,
269
+ errorMessage: finishReason === FinishReason.STOP ? void 0 : candidate == null ? void 0 : candidate.finishMessage,
270
+ usageMetadata: this.usageMetadata,
271
+ finishReason,
272
+ partial: false
273
+ };
274
+ }
275
+ if (this.text || this.thoughtText) {
276
+ const parts = [];
277
+ if (this.thoughtText) {
278
+ parts.push({ text: this.thoughtText, thought: true });
279
+ }
280
+ if (this.text) {
281
+ parts.push({ text: this.text });
282
+ }
283
+ const candidate = (_e = (_d = this.response) == null ? void 0 : _d.candidates) == null ? void 0 : _e[0];
284
+ const finishReason = (_f = this.finishReason) != null ? _f : candidate == null ? void 0 : candidate.finishReason;
285
+ return {
286
+ content: {
287
+ role: "model",
288
+ parts
289
+ },
290
+ groundingMetadata: this.groundingMetadata,
291
+ citationMetadata: this.citationMetadata,
292
+ errorCode: finishReason === FinishReason.STOP ? void 0 : finishReason,
293
+ errorMessage: finishReason === FinishReason.STOP ? void 0 : candidate == null ? void 0 : candidate.finishMessage,
294
+ usageMetadata: this.usageMetadata,
295
+ finishReason,
296
+ partial: false
297
+ };
298
+ }
299
+ return void 0;
300
+ }
301
+ }
302
+ export {
303
+ StreamingResponseAggregator
304
+ };
@@ -0,0 +1,20 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
3
+ /**
4
+ * @license
5
+ * Copyright 2025 Google LLC
6
+ * SPDX-License-Identifier: Apache-2.0
7
+ */
8
+ import { getBooleanEnvVar } from "./env_aware_utils.js";
9
+ var GoogleLLMVariant = /* @__PURE__ */ ((GoogleLLMVariant2) => {
10
+ GoogleLLMVariant2["VERTEX_AI"] = "VERTEX_AI";
11
+ GoogleLLMVariant2["GEMINI_API"] = "GEMINI_API";
12
+ return GoogleLLMVariant2;
13
+ })(GoogleLLMVariant || {});
14
+ function getGoogleLlmVariant() {
15
+ return getBooleanEnvVar("GOOGLE_GENAI_USE_VERTEXAI") ? "VERTEX_AI" /* VERTEX_AI */ : "GEMINI_API" /* GEMINI_API */;
16
+ }
17
+ export {
18
+ GoogleLLMVariant,
19
+ getGoogleLlmVariant
20
+ };
@@ -0,0 +1,11 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
3
+ /**
4
+ * @license
5
+ * Copyright 2025 Google LLC
6
+ * SPDX-License-Identifier: Apache-2.0
7
+ */
8
+ const version = "1.1.0";
9
+ export {
10
+ version
11
+ };
@@ -0,0 +1,139 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Part as A2APart, Message, Task, TaskArtifactUpdateEvent, TaskStatusUpdateEvent } from '@a2a-js/sdk';
7
+ /**
8
+ * Message roles.
9
+ */
10
+ export declare enum MessageRole {
11
+ USER = "user",
12
+ AGENT = "agent"
13
+ }
14
+ /**
15
+ * Task states.
16
+ */
17
+ export declare enum TaskState {
18
+ SUBMITTED = "submitted",
19
+ WORKING = "working",
20
+ COMPLETED = "completed",
21
+ FAILED = "failed",
22
+ CANCELED = "canceled",
23
+ REJECTED = "rejected",
24
+ INPUT_REQUIRED = "input-required"
25
+ }
26
+ /**
27
+ * A2A event.
28
+ */
29
+ export type A2AEvent = Task | Message | TaskStatusUpdateEvent | TaskArtifactUpdateEvent;
30
+ /**
31
+ * Checks if the event is an A2A TaskStatusUpdateEvent.
32
+ */
33
+ export declare function isTaskStatusUpdateEvent(event: unknown): event is TaskStatusUpdateEvent;
34
+ /**
35
+ * Checks if the event is an A2A TaskArtifactUpdateEvent.
36
+ */
37
+ export declare function isTaskArtifactUpdateEvent(event: unknown): event is TaskArtifactUpdateEvent;
38
+ /**
39
+ * Checks if the event is an A2A Message.
40
+ */
41
+ export declare function isMessage(event: unknown): event is Message;
42
+ /**
43
+ * Checks if the event is an A2A Task.
44
+ */
45
+ export declare function isTask(event: unknown): event is Task;
46
+ /**
47
+ * Gets the metadata from an A2A event.
48
+ */
49
+ export declare function getEventMetadata(event: A2AEvent): Record<string, unknown>;
50
+ /**
51
+ * Checks if the event is a failed task status update event.
52
+ */
53
+ export declare function isFailedTaskStatusUpdateEvent(event: unknown): boolean;
54
+ /**
55
+ * Checks if the event is a terminal task status update event.
56
+ */
57
+ export declare function isTerminalTaskStatusUpdateEvent(event: unknown): boolean;
58
+ /**
59
+ * Checks if the event is an input required task status update event.
60
+ */
61
+ export declare function isInputRequiredTaskStatusUpdateEvent(event: unknown): boolean;
62
+ /**
63
+ * Gets the error message from a failed task status update event.
64
+ */
65
+ export declare function getFailedTaskStatusUpdateEventError(event: TaskStatusUpdateEvent | Task): string | undefined;
66
+ /**
67
+ * Creates a task submitted event.
68
+ */
69
+ export declare function createTaskSubmittedEvent({ taskId, contextId, message, metadata, }: {
70
+ taskId: string;
71
+ contextId: string;
72
+ message: Message;
73
+ metadata?: Record<string, unknown>;
74
+ }): TaskStatusUpdateEvent;
75
+ /**
76
+ * Creates a task with submitted status.
77
+ */
78
+ export declare function createTask({ contextId, message, taskId, metadata, }: {
79
+ taskId: string;
80
+ contextId: string;
81
+ message: Message;
82
+ metadata?: Record<string, unknown>;
83
+ }): Task;
84
+ /**
85
+ * Creates a task working event.
86
+ */
87
+ export declare function createTaskWorkingEvent({ taskId, contextId, message, metadata, }: {
88
+ taskId: string;
89
+ contextId: string;
90
+ message?: Message;
91
+ metadata?: Record<string, unknown>;
92
+ }): TaskStatusUpdateEvent;
93
+ /**
94
+ * Creates a task completed event.
95
+ */
96
+ export declare function createTaskCompletedEvent({ taskId, contextId, metadata, }: {
97
+ taskId: string;
98
+ contextId: string;
99
+ metadata?: Record<string, unknown>;
100
+ }): TaskStatusUpdateEvent;
101
+ /**
102
+ * Creates an artifact update event.
103
+ */
104
+ export declare function createTaskArtifactUpdateEvent({ taskId, contextId, artifactId, parts, metadata, append, lastChunk, }: {
105
+ taskId: string;
106
+ contextId: string;
107
+ artifactId?: string;
108
+ parts?: A2APart[];
109
+ metadata?: Record<string, unknown>;
110
+ append?: boolean;
111
+ lastChunk?: boolean;
112
+ }): TaskArtifactUpdateEvent;
113
+ /**
114
+ * Creates an error message for task execution failure.
115
+ */
116
+ export declare function createTaskFailedEvent({ taskId, contextId, error, metadata, }: {
117
+ taskId: string;
118
+ contextId: string;
119
+ error: Error;
120
+ metadata?: Record<string, unknown>;
121
+ }): TaskStatusUpdateEvent;
122
+ /**
123
+ * Creates an input required event.
124
+ */
125
+ export declare function createTaskInputRequiredEvent({ taskId, contextId, parts, metadata, }: {
126
+ taskId: string;
127
+ contextId: string;
128
+ parts: A2APart[];
129
+ metadata?: Record<string, unknown>;
130
+ }): TaskStatusUpdateEvent;
131
+ /**
132
+ * Creates an error message for missing input for a function call.
133
+ */
134
+ export declare function createInputMissingErrorEvent({ taskId, contextId, parts, metadata, }: {
135
+ parts: A2APart[];
136
+ taskId: string;
137
+ contextId: string;
138
+ metadata?: Record<string, unknown>;
139
+ }): TaskStatusUpdateEvent;
@@ -0,0 +1,67 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { AGENT_CARD_PATH, AgentCard, Message, MessageSendConfiguration, MessageSendParams, Task, TaskArtifactUpdateEvent, TaskStatusUpdateEvent } from '@a2a-js/sdk';
7
+ import { Client, ClientFactory } from '@a2a-js/sdk/client';
8
+ import { BaseAgent, BaseAgentConfig } from '../agents/base_agent.js';
9
+ import { InvocationContext } from '../agents/invocation_context.js';
10
+ import { Event as AdkEvent } from '../events/event.js';
11
+ export { AGENT_CARD_PATH };
12
+ /**
13
+ * Type alias for A2A stream event data.
14
+ */
15
+ export type A2AStreamEventData = Message | Task | TaskStatusUpdateEvent | TaskArtifactUpdateEvent;
16
+ /**
17
+ * Callback called before sending a request to the remote agent.
18
+ * Allows modifying the request parameters.
19
+ */
20
+ export type BeforeA2ARequestCallback = (ctx: InvocationContext, params: MessageSendParams) => Promise<void> | void;
21
+ /**
22
+ * Callback called after receiving a response from the remote agent.
23
+ * Allows inspecting or modifying the response.
24
+ */
25
+ export type AfterA2ARequestCallback = (ctx: InvocationContext, resp: A2AStreamEventData) => Promise<void> | void;
26
+ /**
27
+ * Configuration for the A2ARemoteAgent.
28
+ */
29
+ export interface RemoteA2AAgentConfig extends BaseAgentConfig {
30
+ /**
31
+ * Loaded AgentCard or URL to AgentCard.
32
+ */
33
+ agentCard?: AgentCard | string;
34
+ /**
35
+ * Optional pre-initialized Client for connection pooling.
36
+ */
37
+ client?: Client;
38
+ /**
39
+ * Optional ClientFactory for creating the A2A Client.
40
+ */
41
+ clientFactory?: ClientFactory;
42
+ /**
43
+ * Optional default configuration for sending messages.
44
+ */
45
+ messageSendConfig?: MessageSendConfiguration;
46
+ /**
47
+ * Callbacks run before the remote request is sent.
48
+ */
49
+ beforeRequestCallbacks?: BeforeA2ARequestCallback[];
50
+ /**
51
+ * Callbacks run after receiving a response chunk or event, before conversion.
52
+ */
53
+ afterRequestCallbacks?: AfterA2ARequestCallback[];
54
+ }
55
+ /**
56
+ * RemoteA2AAgent delegates execution to a remote agent using the A2A protocol.
57
+ */
58
+ export declare class RemoteA2AAgent extends BaseAgent {
59
+ private readonly a2aConfig;
60
+ private client?;
61
+ private card?;
62
+ private isInitialized;
63
+ constructor(a2aConfig: RemoteA2AAgentConfig);
64
+ private init;
65
+ protected runAsyncImpl(context: InvocationContext): AsyncGenerator<AdkEvent, void, void>;
66
+ protected runLiveImpl(_context: InvocationContext): AsyncGenerator<AdkEvent, void, void>;
67
+ }
@@ -0,0 +1,31 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { MessageSendParams } from '@a2a-js/sdk';
7
+ import { InvocationContext } from '../agents/invocation_context.js';
8
+ import { Event as AdkEvent } from '../events/event.js';
9
+ import { A2AEvent } from './a2a_event.js';
10
+ /**
11
+ * Processes streams of A2A events and aggregates partials for emissions.
12
+ */
13
+ export declare class A2ARemoteAgentRunProcessor {
14
+ private readonly request?;
15
+ private aggregations;
16
+ private aggregationOrder;
17
+ constructor(request?: MessageSendParams | undefined);
18
+ /**
19
+ * aggregatePartial stores contents of partial events to emit them with the terminal event.
20
+ * It can return multiple events to emit instead of just the provided one.
21
+ */
22
+ aggregatePartial(context: InvocationContext, a2aEvent: A2AEvent, adkEvent: AdkEvent): AdkEvent[];
23
+ private removeAggregation;
24
+ private updateAggregation;
25
+ private buildNonPartialAggregation;
26
+ private promoteTextBlocksToParts;
27
+ /**
28
+ * Adds request and response metadata to the event.
29
+ */
30
+ updateCustomMetadata(event: AdkEvent, response?: A2AEvent): void;
31
+ }
@@ -0,0 +1,38 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Part as A2APart } from '@a2a-js/sdk';
7
+ import { InvocationContext } from '../agents/invocation_context.js';
8
+ import { Event as AdkEvent } from '../events/event.js';
9
+ import { Session } from '../sessions/session.js';
10
+ export interface UserFunctionCall {
11
+ response: AdkEvent;
12
+ taskId: string;
13
+ contextId: string;
14
+ }
15
+ /**
16
+ * Returns a UserFunctionCall when the event at index has a FunctionResponse.
17
+ */
18
+ export declare function getUserFunctionCallAt(session: Session, index: number): UserFunctionCall | undefined;
19
+ /**
20
+ * Checks if an event contains a function call with the given ID.
21
+ */
22
+ export declare function isFunctionCallEvent(event: AdkEvent, callId: string): boolean;
23
+ /**
24
+ * Finds the first part with a FunctionResponse and returns the call ID.
25
+ */
26
+ export declare function getFunctionResponseCallId(event: AdkEvent): string | undefined;
27
+ /**
28
+ * Returns content parts for all events not present in the remote session
29
+ * and a2a contextId if found in a remote agent event metadata.
30
+ */
31
+ export declare function toMissingRemoteSessionParts(ctx: InvocationContext, session: Session): {
32
+ parts: A2APart[];
33
+ contextId?: string;
34
+ };
35
+ /**
36
+ * Wraps an agent event as a user message for context.
37
+ */
38
+ export declare function presentAsUserMessage(ctx: InvocationContext, agentEvent: AdkEvent): AdkEvent;
@@ -0,0 +1,23 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { AgentCard, AgentInterface, AgentSkill } from '@a2a-js/sdk';
7
+ import { BaseAgent } from '../agents/base_agent.js';
8
+ /**
9
+ * Resolves the AgentCard from the provided source.
10
+ */
11
+ export declare function resolveAgentCard(agentCard: AgentCard | string): Promise<AgentCard>;
12
+ /**
13
+ * Converts an ADK agent to an A2A AgentCard.
14
+ */
15
+ export declare function getA2AAgentCard(agent: BaseAgent, transports: AgentInterface[]): Promise<AgentCard>;
16
+ /**
17
+ * Builds a list of AgentSkills based on agent descriptions and types.
18
+ * This information can be used in AgentCard to help clients understand agent capabilities.
19
+ *
20
+ * @param agent The agent to build skills for.
21
+ * @returns A promise resolving to a list of AgentSkills.
22
+ */
23
+ export declare function buildAgentSkills(agent: BaseAgent): Promise<AgentSkill[]>;
@@ -0,0 +1,52 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { TaskArtifactUpdateEvent, TaskStatusUpdateEvent } from '@a2a-js/sdk';
7
+ import { AgentExecutor, ExecutionEventBus, RequestContext } from '@a2a-js/sdk/server';
8
+ import { RunConfig } from '../agents/run_config.js';
9
+ import { Event as AdkEvent } from '../events/event.js';
10
+ import { Runner, RunnerConfig } from '../runner/runner.js';
11
+ import { ExecutorContext } from './executor_context.js';
12
+ /**
13
+ * Represents a runner or a configuration for a runner.
14
+ */
15
+ export type RunnerOrRunnerConfig = Runner | RunnerConfig | (() => Runner | RunnerConfig) | (() => Promise<Runner | RunnerConfig>);
16
+ /**
17
+ * Callback called before execution starts.
18
+ */
19
+ export type BeforeExecuteCallback = (reqCtx: RequestContext) => Promise<void>;
20
+ /**
21
+ * Callback called after an ADK event is converted to an A2A event.
22
+ */
23
+ export type AfterEventCallback = (ctx: ExecutorContext, adkEvent: AdkEvent, a2aEvent?: TaskArtifactUpdateEvent) => Promise<void>;
24
+ /**
25
+ * Callback called after execution resolved into a completed or failed task.
26
+ */
27
+ export type AfterExecuteCallback = (ctx: ExecutorContext, finalA2aEvent: TaskStatusUpdateEvent, err?: Error) => Promise<void>;
28
+ /**
29
+ * Configuration for the Executor.
30
+ */
31
+ export interface AgentExecutorConfig {
32
+ runner: RunnerOrRunnerConfig;
33
+ runConfig?: RunConfig;
34
+ beforeExecuteCallback?: BeforeExecuteCallback;
35
+ afterEventCallback?: AfterEventCallback;
36
+ afterExecuteCallback?: AfterExecuteCallback;
37
+ }
38
+ /**
39
+ * AgentExecutor invokes an ADK agent and translates session events to A2A events.
40
+ */
41
+ export declare class A2AAgentExecutor implements AgentExecutor {
42
+ private readonly config;
43
+ private agentPartialArtifactIdsMap;
44
+ constructor(config: AgentExecutorConfig);
45
+ execute(ctx: RequestContext, eventBus: ExecutionEventBus): Promise<void>;
46
+ cancelTask(_taskId: string): Promise<void>;
47
+ private convertAdkEventToA2AEvent;
48
+ /**
49
+ * Writes the final status event to the queue.
50
+ */
51
+ private publishFinalTaskStatus;
52
+ }