@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,180 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ "use strict";
8
+ var __defProp = Object.defineProperty;
9
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
10
+ var __getOwnPropNames = Object.getOwnPropertyNames;
11
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
12
+ var __export = (target, all) => {
13
+ for (var name in all)
14
+ __defProp(target, name, { get: all[name], enumerable: true });
15
+ };
16
+ var __copyProps = (to, from, except, desc) => {
17
+ if (from && typeof from === "object" || typeof from === "function") {
18
+ for (let key of __getOwnPropNames(from))
19
+ if (!__hasOwnProp.call(to, key) && key !== except)
20
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
21
+ }
22
+ return to;
23
+ };
24
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
25
+ var context_exports = {};
26
+ __export(context_exports, {
27
+ Context: () => Context
28
+ });
29
+ module.exports = __toCommonJS(context_exports);
30
+ var import_auth_handler = require("../auth/auth_handler.js");
31
+ var import_event_actions = require("../events/event_actions.js");
32
+ var import_state = require("../sessions/state.js");
33
+ var import_tool_confirmation = require("../tools/tool_confirmation.js");
34
+ var import_readonly_context = require("./readonly_context.js");
35
+ /**
36
+ * @license
37
+ * Copyright 2025 Google LLC
38
+ * SPDX-License-Identifier: Apache-2.0
39
+ */
40
+ class Context extends import_readonly_context.ReadonlyContext {
41
+ /**
42
+ * @param options The configuration options for the Context.
43
+ * @param options.invocationContext The invocation context.
44
+ * @param options.eventActions The event actions of the current call.
45
+ * @param options.functionCallId The function call id of the current tool call.
46
+ * This id was returned in the function call event from LLM to identify a
47
+ * function call. If LLM didn't return this id, ADK will assign one to it.
48
+ * This id is used to map function call response to the original function
49
+ * call.
50
+ * @param options.toolConfirmation The tool confirmation of the current tool
51
+ * call.
52
+ */
53
+ constructor(options) {
54
+ super(options.invocationContext);
55
+ this.eventActions = options.eventActions || (0, import_event_actions.createEventActions)();
56
+ this._state = new import_state.State(
57
+ options.invocationContext.session.state,
58
+ this.eventActions.stateDelta
59
+ );
60
+ this.functionCallId = options.functionCallId;
61
+ this.toolConfirmation = options.toolConfirmation;
62
+ this.abortSignal = options.invocationContext.abortSignal;
63
+ }
64
+ /**
65
+ * The delta-aware state of the current session.
66
+ */
67
+ get state() {
68
+ return this._state;
69
+ }
70
+ get actions() {
71
+ return this.eventActions;
72
+ }
73
+ /**
74
+ * Loads an artifact attached to the current session.
75
+ *
76
+ * @param filename The filename of the artifact.
77
+ * @param version The version of the artifact. If not provided, the latest
78
+ * version will be used.
79
+ * @return A promise that resolves to the loaded artifact.
80
+ */
81
+ loadArtifact(filename, version) {
82
+ if (!this.invocationContext.artifactService) {
83
+ throw new Error("Artifact service is not initialized.");
84
+ }
85
+ return this.invocationContext.artifactService.loadArtifact({
86
+ appName: this.invocationContext.appName,
87
+ userId: this.invocationContext.userId,
88
+ sessionId: this.invocationContext.session.id,
89
+ filename,
90
+ version
91
+ });
92
+ }
93
+ /**
94
+ * Saves an artifact attached to the current session.
95
+ *
96
+ * @param filename The filename of the artifact.
97
+ * @param artifact The artifact to save.
98
+ * @return A promise that resolves to the version of the saved artifact.
99
+ */
100
+ async saveArtifact(filename, artifact) {
101
+ if (!this.invocationContext.artifactService) {
102
+ throw new Error("Artifact service is not initialized.");
103
+ }
104
+ const version = await this.invocationContext.artifactService.saveArtifact({
105
+ appName: this.invocationContext.appName,
106
+ userId: this.invocationContext.userId,
107
+ sessionId: this.invocationContext.session.id,
108
+ filename,
109
+ artifact
110
+ });
111
+ this.eventActions.artifactDelta[filename] = version;
112
+ return version;
113
+ }
114
+ requestCredential(authConfig) {
115
+ if (!this.functionCallId) {
116
+ throw new Error("functionCallId is not set.");
117
+ }
118
+ const authHandler = new import_auth_handler.AuthHandler(authConfig);
119
+ this.eventActions.requestedAuthConfigs[this.functionCallId] = authHandler.generateAuthRequest();
120
+ }
121
+ /**
122
+ * Gets the auth credential for the given auth config.
123
+ *
124
+ * @param authConfig The auth config to get the auth credential for.
125
+ * @return The auth credential for the given auth config.
126
+ */
127
+ getAuthResponse(authConfig) {
128
+ const authHandler = new import_auth_handler.AuthHandler(authConfig);
129
+ return authHandler.getAuthResponse(this.state);
130
+ }
131
+ /**
132
+ * Lists the filenames of the artifacts attached to the current session.
133
+ *
134
+ * @return A promise that resolves to a list of artifact filenames.
135
+ */
136
+ listArtifacts() {
137
+ if (!this.invocationContext.artifactService) {
138
+ throw new Error("Artifact service is not initialized.");
139
+ }
140
+ return this.invocationContext.artifactService.listArtifactKeys({
141
+ appName: this.invocationContext.session.appName,
142
+ userId: this.invocationContext.session.userId,
143
+ sessionId: this.invocationContext.session.id
144
+ });
145
+ }
146
+ /**
147
+ * Searches the memory of the current user.
148
+ *
149
+ * @param query The query to search memory for.
150
+ * @return A promise that resolves to SearchMemoryResponse containing the
151
+ * matching memories.
152
+ */
153
+ searchMemory(query) {
154
+ if (!this.invocationContext.memoryService) {
155
+ throw new Error("Memory service is not initialized.");
156
+ }
157
+ return this.invocationContext.memoryService.searchMemory({
158
+ appName: this.invocationContext.session.appName,
159
+ userId: this.invocationContext.session.userId,
160
+ query
161
+ });
162
+ }
163
+ /**
164
+ * Requests confirmation for the current tool call.
165
+ */
166
+ requestConfirmation({ hint, payload }) {
167
+ if (!this.functionCallId) {
168
+ throw new Error("functionCallId is not set.");
169
+ }
170
+ this.eventActions.requestedToolConfirmations[this.functionCallId] = new import_tool_confirmation.ToolConfirmation({
171
+ hint,
172
+ confirmed: false,
173
+ payload
174
+ });
175
+ }
176
+ }
177
+ // Annotate the CommonJS export names for ESM import in node:
178
+ 0 && (module.exports = {
179
+ Context
180
+ });
@@ -0,0 +1,525 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ "use strict";
8
+ var __defProp = Object.defineProperty;
9
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
10
+ var __getOwnPropNames = Object.getOwnPropertyNames;
11
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
12
+ var __export = (target, all) => {
13
+ for (var name in all)
14
+ __defProp(target, name, { get: all[name], enumerable: true });
15
+ };
16
+ var __copyProps = (to, from, except, desc) => {
17
+ if (from && typeof from === "object" || typeof from === "function") {
18
+ for (let key of __getOwnPropNames(from))
19
+ if (!__hasOwnProp.call(to, key) && key !== except)
20
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
21
+ }
22
+ return to;
23
+ };
24
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
25
+ var functions_exports = {};
26
+ __export(functions_exports, {
27
+ REQUEST_CONFIRMATION_FUNCTION_CALL_NAME: () => REQUEST_CONFIRMATION_FUNCTION_CALL_NAME,
28
+ REQUEST_EUC_FUNCTION_CALL_NAME: () => REQUEST_EUC_FUNCTION_CALL_NAME,
29
+ functionsExportedForTestingOnly: () => functionsExportedForTestingOnly,
30
+ generateAuthEvent: () => generateAuthEvent,
31
+ generateClientFunctionCallId: () => generateClientFunctionCallId,
32
+ generateRequestConfirmationEvent: () => generateRequestConfirmationEvent,
33
+ getLongRunningFunctionCalls: () => getLongRunningFunctionCalls,
34
+ handleFunctionCallList: () => handleFunctionCallList,
35
+ handleFunctionCallsAsync: () => handleFunctionCallsAsync,
36
+ handleFunctionCallsStreamingAsync: () => handleFunctionCallsStreamingAsync,
37
+ mergeParallelFunctionResponseEvents: () => mergeParallelFunctionResponseEvents,
38
+ populateClientFunctionCallId: () => populateClientFunctionCallId,
39
+ removeClientFunctionCallId: () => removeClientFunctionCallId
40
+ });
41
+ module.exports = __toCommonJS(functions_exports);
42
+ var import_genai = require("@google/genai");
43
+ var import_lodash_es = require("lodash-es");
44
+ var import_event = require("../events/event.js");
45
+ var import_event_actions = require("../events/event_actions.js");
46
+ var import_agent_tool = require("../tools/agent_tool.js");
47
+ var import_env_aware_utils = require("../utils/env_aware_utils.js");
48
+ var import_logger = require("../utils/logger.js");
49
+ var import_context = require("./context.js");
50
+ var import_tracing = require("../telemetry/tracing.js");
51
+ /**
52
+ * @license
53
+ * Copyright 2025 Google LLC
54
+ * SPDX-License-Identifier: Apache-2.0
55
+ */
56
+ const AF_FUNCTION_CALL_ID_PREFIX = "adk-";
57
+ const REQUEST_EUC_FUNCTION_CALL_NAME = "adk_request_credential";
58
+ const REQUEST_CONFIRMATION_FUNCTION_CALL_NAME = "adk_request_confirmation";
59
+ const functionsExportedForTestingOnly = {
60
+ handleFunctionCallList,
61
+ generateAuthEvent,
62
+ generateRequestConfirmationEvent
63
+ };
64
+ function generateClientFunctionCallId() {
65
+ return `${AF_FUNCTION_CALL_ID_PREFIX}${(0, import_env_aware_utils.randomUUID)()}`;
66
+ }
67
+ function populateClientFunctionCallId(modelResponseEvent) {
68
+ const functionCalls = (0, import_event.getFunctionCalls)(modelResponseEvent);
69
+ if (!functionCalls) {
70
+ return;
71
+ }
72
+ for (const functionCall of functionCalls) {
73
+ if (!functionCall.id) {
74
+ functionCall.id = generateClientFunctionCallId();
75
+ }
76
+ }
77
+ }
78
+ function removeClientFunctionCallId(content) {
79
+ if (content && content.parts) {
80
+ for (const part of content.parts) {
81
+ if (part.functionCall && part.functionCall.id && part.functionCall.id.startsWith(AF_FUNCTION_CALL_ID_PREFIX)) {
82
+ part.functionCall.id = void 0;
83
+ }
84
+ if (part.functionResponse && part.functionResponse.id && part.functionResponse.id.startsWith(AF_FUNCTION_CALL_ID_PREFIX)) {
85
+ part.functionResponse.id = void 0;
86
+ }
87
+ }
88
+ }
89
+ }
90
+ function getLongRunningFunctionCalls(functionCalls, toolsDict) {
91
+ const longRunningToolIds = /* @__PURE__ */ new Set();
92
+ for (const functionCall of functionCalls) {
93
+ if (functionCall.name && functionCall.name in toolsDict && toolsDict[functionCall.name].isLongRunning && functionCall.id) {
94
+ longRunningToolIds.add(functionCall.id);
95
+ }
96
+ }
97
+ return longRunningToolIds;
98
+ }
99
+ function generateAuthEvent(invocationContext, functionResponseEvent) {
100
+ var _a;
101
+ if (!((_a = functionResponseEvent.actions) == null ? void 0 : _a.requestedAuthConfigs) || (0, import_lodash_es.isEmpty)(functionResponseEvent.actions.requestedAuthConfigs)) {
102
+ return void 0;
103
+ }
104
+ const parts = [];
105
+ const longRunningToolIds = /* @__PURE__ */ new Set();
106
+ for (const [functionCallId, authConfig] of Object.entries(
107
+ functionResponseEvent.actions.requestedAuthConfigs
108
+ )) {
109
+ const requestEucFunctionCall = {
110
+ name: REQUEST_EUC_FUNCTION_CALL_NAME,
111
+ args: {
112
+ "function_call_id": functionCallId,
113
+ "auth_config": authConfig
114
+ },
115
+ id: generateClientFunctionCallId()
116
+ };
117
+ longRunningToolIds.add(requestEucFunctionCall.id);
118
+ parts.push({ functionCall: requestEucFunctionCall });
119
+ }
120
+ return (0, import_event.createEvent)({
121
+ invocationId: invocationContext.invocationId,
122
+ author: invocationContext.agent.name,
123
+ branch: invocationContext.branch,
124
+ content: {
125
+ parts,
126
+ role: functionResponseEvent.content.role
127
+ },
128
+ longRunningToolIds: Array.from(longRunningToolIds)
129
+ });
130
+ }
131
+ function generateRequestConfirmationEvent({
132
+ invocationContext,
133
+ functionCallEvent,
134
+ functionResponseEvent
135
+ }) {
136
+ var _a, _b;
137
+ if (!((_a = functionResponseEvent.actions) == null ? void 0 : _a.requestedToolConfirmations) || (0, import_lodash_es.isEmpty)(functionResponseEvent.actions.requestedToolConfirmations)) {
138
+ return;
139
+ }
140
+ const parts = [];
141
+ const longRunningToolIds = /* @__PURE__ */ new Set();
142
+ const functionCalls = (0, import_event.getFunctionCalls)(functionCallEvent);
143
+ for (const [functionCallId, toolConfirmation] of Object.entries(
144
+ functionResponseEvent.actions.requestedToolConfirmations
145
+ )) {
146
+ const originalFunctionCall = (_b = functionCalls.find((call) => call.id === functionCallId)) != null ? _b : void 0;
147
+ if (!originalFunctionCall) {
148
+ continue;
149
+ }
150
+ const requestConfirmationFunctionCall = {
151
+ name: REQUEST_CONFIRMATION_FUNCTION_CALL_NAME,
152
+ args: {
153
+ "originalFunctionCall": originalFunctionCall,
154
+ "toolConfirmation": toolConfirmation
155
+ },
156
+ id: generateClientFunctionCallId()
157
+ };
158
+ longRunningToolIds.add(requestConfirmationFunctionCall.id);
159
+ parts.push({ functionCall: requestConfirmationFunctionCall });
160
+ }
161
+ return (0, import_event.createEvent)({
162
+ invocationId: invocationContext.invocationId,
163
+ author: invocationContext.agent.name,
164
+ branch: invocationContext.branch,
165
+ content: {
166
+ parts,
167
+ role: functionResponseEvent.content.role
168
+ },
169
+ actions: functionResponseEvent.actions,
170
+ longRunningToolIds: Array.from(longRunningToolIds)
171
+ });
172
+ }
173
+ async function callToolAsync(tool, args, toolContext) {
174
+ return import_tracing.tracer.startActiveSpan(`execute_tool ${tool.name}`, async (span) => {
175
+ try {
176
+ import_logger.logger.debug(`callToolAsync ${tool.name}`);
177
+ const result = await tool.runAsync({ args, toolContext });
178
+ (0, import_tracing.traceToolCall)({
179
+ tool,
180
+ args,
181
+ functionResponseEvent: buildResponseEvent(
182
+ tool,
183
+ result,
184
+ toolContext,
185
+ toolContext.invocationContext
186
+ )
187
+ });
188
+ return result;
189
+ } finally {
190
+ span.end();
191
+ }
192
+ });
193
+ }
194
+ function buildResponseEvent(tool, functionResult, toolContext, invocationContext) {
195
+ let responseResult;
196
+ if (typeof functionResult !== "object" || functionResult == null) {
197
+ responseResult = { result: functionResult };
198
+ } else {
199
+ responseResult = functionResult;
200
+ }
201
+ const partFunctionResponse = {
202
+ functionResponse: {
203
+ name: tool.name,
204
+ response: responseResult,
205
+ id: toolContext.functionCallId
206
+ }
207
+ };
208
+ const content = {
209
+ role: "user",
210
+ parts: [partFunctionResponse]
211
+ };
212
+ return (0, import_event.createEvent)({
213
+ invocationId: invocationContext.invocationId,
214
+ author: invocationContext.agent.name,
215
+ content,
216
+ actions: toolContext.actions,
217
+ branch: invocationContext.branch
218
+ });
219
+ }
220
+ async function handleFunctionCallsAsync({
221
+ invocationContext,
222
+ functionCallEvent,
223
+ toolsDict,
224
+ beforeToolCallbacks,
225
+ afterToolCallbacks,
226
+ filters,
227
+ toolConfirmationDict
228
+ }) {
229
+ const functionCalls = (0, import_event.getFunctionCalls)(functionCallEvent);
230
+ return await handleFunctionCallList({
231
+ invocationContext,
232
+ functionCalls,
233
+ toolsDict,
234
+ beforeToolCallbacks,
235
+ afterToolCallbacks,
236
+ filters,
237
+ toolConfirmationDict
238
+ });
239
+ }
240
+ async function* handleFunctionCallsStreamingAsync({
241
+ invocationContext,
242
+ functionCallEvent,
243
+ toolsDict,
244
+ beforeToolCallbacks,
245
+ afterToolCallbacks,
246
+ toolConfirmationDict
247
+ }) {
248
+ var _a, _b;
249
+ const functionCalls = (0, import_event.getFunctionCalls)(functionCallEvent);
250
+ if (!functionCalls.length) {
251
+ return;
252
+ }
253
+ const agentToolCalls = [];
254
+ const regularCalls = [];
255
+ for (const functionCall of functionCalls) {
256
+ const tool = functionCall.name ? toolsDict[functionCall.name] : void 0;
257
+ if (tool && (0, import_agent_tool.isAgentTool)(tool)) {
258
+ agentToolCalls.push({ call: functionCall, tool });
259
+ } else {
260
+ regularCalls.push(functionCall);
261
+ }
262
+ }
263
+ const agentToolResponseEvents = [];
264
+ for (const { call, tool } of agentToolCalls) {
265
+ const toolContext = new import_context.Context({
266
+ invocationContext,
267
+ functionCallId: call.id || void 0,
268
+ toolConfirmation: toolConfirmationDict && call.id ? toolConfirmationDict[call.id] : void 0
269
+ });
270
+ let lastContent;
271
+ for await (const event of tool.runAsyncWithEvents({
272
+ args: (_a = call.args) != null ? _a : {},
273
+ toolContext
274
+ })) {
275
+ if ((_b = invocationContext.abortSignal) == null ? void 0 : _b.aborted) {
276
+ return;
277
+ }
278
+ if (event.content) {
279
+ lastContent = event.content;
280
+ }
281
+ yield event;
282
+ }
283
+ const toolResult = tool.buildToolResultFromContent(lastContent);
284
+ const responseValue = typeof toolResult !== "object" || toolResult == null ? { result: toolResult } : toolResult;
285
+ agentToolResponseEvents.push(
286
+ (0, import_event.createEvent)({
287
+ invocationId: invocationContext.invocationId,
288
+ author: invocationContext.agent.name,
289
+ content: (0, import_genai.createUserContent)({
290
+ functionResponse: {
291
+ id: call.id,
292
+ name: tool.name,
293
+ response: responseValue
294
+ }
295
+ }),
296
+ actions: toolContext.actions,
297
+ branch: invocationContext.branch
298
+ })
299
+ );
300
+ }
301
+ let regularResponseEvent = null;
302
+ if (regularCalls.length) {
303
+ regularResponseEvent = await handleFunctionCallList({
304
+ invocationContext,
305
+ functionCalls: regularCalls,
306
+ toolsDict,
307
+ beforeToolCallbacks,
308
+ afterToolCallbacks,
309
+ toolConfirmationDict
310
+ });
311
+ }
312
+ const allResponseEvents = [];
313
+ if (regularResponseEvent) {
314
+ allResponseEvents.push(regularResponseEvent);
315
+ }
316
+ allResponseEvents.push(...agentToolResponseEvents);
317
+ if (!allResponseEvents.length) {
318
+ return;
319
+ }
320
+ yield allResponseEvents.length === 1 ? allResponseEvents[0] : mergeParallelFunctionResponseEvents(allResponseEvents);
321
+ }
322
+ async function handleFunctionCallList({
323
+ invocationContext,
324
+ functionCalls,
325
+ toolsDict,
326
+ beforeToolCallbacks,
327
+ afterToolCallbacks,
328
+ filters,
329
+ toolConfirmationDict
330
+ }) {
331
+ var _a;
332
+ const functionResponseEvents = [];
333
+ const filteredFunctionCalls = functionCalls.filter((functionCall) => {
334
+ return !filters || functionCall.id && filters.has(functionCall.id);
335
+ });
336
+ for (const functionCall of filteredFunctionCalls) {
337
+ let toolConfirmation = void 0;
338
+ if (toolConfirmationDict && functionCall.id) {
339
+ toolConfirmation = toolConfirmationDict[functionCall.id];
340
+ }
341
+ const { tool, toolContext } = getToolAndContext({
342
+ invocationContext,
343
+ functionCall,
344
+ toolsDict,
345
+ toolConfirmation
346
+ });
347
+ import_logger.logger.debug(`execute_tool ${tool.name}`);
348
+ const functionArgs = (_a = functionCall.args) != null ? _a : {};
349
+ let functionResponse = null;
350
+ let functionResponseError;
351
+ functionResponse = await invocationContext.pluginManager.runBeforeToolCallback({
352
+ tool,
353
+ toolArgs: functionArgs,
354
+ toolContext
355
+ });
356
+ if (functionResponse == null) {
357
+ for (const callback of beforeToolCallbacks) {
358
+ functionResponse = await callback({
359
+ tool,
360
+ args: functionArgs,
361
+ context: toolContext
362
+ });
363
+ if (functionResponse) {
364
+ break;
365
+ }
366
+ }
367
+ }
368
+ if (functionResponse == null) {
369
+ try {
370
+ functionResponse = await callToolAsync(tool, functionArgs, toolContext);
371
+ } catch (e) {
372
+ if (e instanceof Error) {
373
+ const onToolErrorResponse = await invocationContext.pluginManager.runOnToolErrorCallback({
374
+ tool,
375
+ toolArgs: functionArgs,
376
+ toolContext,
377
+ error: e
378
+ });
379
+ if (onToolErrorResponse) {
380
+ functionResponse = onToolErrorResponse;
381
+ } else {
382
+ functionResponseError = e.message;
383
+ }
384
+ } else {
385
+ functionResponseError = e;
386
+ }
387
+ }
388
+ }
389
+ let alteredFunctionResponse = await invocationContext.pluginManager.runAfterToolCallback({
390
+ tool,
391
+ toolArgs: functionArgs,
392
+ toolContext,
393
+ result: functionResponse
394
+ });
395
+ if (alteredFunctionResponse == null) {
396
+ for (const callback of afterToolCallbacks) {
397
+ alteredFunctionResponse = await callback({
398
+ tool,
399
+ args: functionArgs,
400
+ context: toolContext,
401
+ response: functionResponse
402
+ });
403
+ if (alteredFunctionResponse) {
404
+ break;
405
+ }
406
+ }
407
+ }
408
+ if (alteredFunctionResponse != null) {
409
+ functionResponse = alteredFunctionResponse;
410
+ }
411
+ if (tool.isLongRunning && !functionResponse) {
412
+ continue;
413
+ }
414
+ if (functionResponseError) {
415
+ functionResponse = { error: functionResponseError };
416
+ } else if (typeof functionResponse !== "object" || functionResponse == null) {
417
+ functionResponse = { result: functionResponse };
418
+ }
419
+ const functionResponseEvent = (0, import_event.createEvent)({
420
+ invocationId: invocationContext.invocationId,
421
+ author: invocationContext.agent.name,
422
+ content: (0, import_genai.createUserContent)({
423
+ functionResponse: {
424
+ id: toolContext.functionCallId,
425
+ name: tool.name,
426
+ response: functionResponse
427
+ }
428
+ }),
429
+ actions: toolContext.actions,
430
+ branch: invocationContext.branch
431
+ });
432
+ import_logger.logger.debug("traceToolCall", {
433
+ tool: tool.name,
434
+ args: functionArgs,
435
+ functionResponseEvent: functionResponseEvent.id
436
+ });
437
+ functionResponseEvents.push(functionResponseEvent);
438
+ }
439
+ if (!functionResponseEvents.length) {
440
+ return null;
441
+ }
442
+ const mergedEvent = mergeParallelFunctionResponseEvents(
443
+ functionResponseEvents
444
+ );
445
+ if (functionResponseEvents.length > 1) {
446
+ import_tracing.tracer.startActiveSpan("execute_tool (merged)", (span) => {
447
+ try {
448
+ import_logger.logger.debug("execute_tool (merged)");
449
+ import_logger.logger.debug("traceMergedToolCalls", {
450
+ responseEventId: mergedEvent.id,
451
+ functionResponseEvent: mergedEvent.id
452
+ });
453
+ (0, import_tracing.traceMergedToolCalls)({
454
+ responseEventId: mergedEvent.id,
455
+ functionResponseEvent: mergedEvent
456
+ });
457
+ } finally {
458
+ span.end();
459
+ }
460
+ });
461
+ }
462
+ return mergedEvent;
463
+ }
464
+ function getToolAndContext({
465
+ invocationContext,
466
+ functionCall,
467
+ toolsDict,
468
+ toolConfirmation
469
+ }) {
470
+ if (!functionCall.name || !(functionCall.name in toolsDict)) {
471
+ throw new Error(
472
+ `Function ${functionCall.name} is not found in the toolsDict.`
473
+ );
474
+ }
475
+ const toolContext = new import_context.Context({
476
+ invocationContext,
477
+ functionCallId: functionCall.id || void 0,
478
+ toolConfirmation
479
+ });
480
+ const tool = toolsDict[functionCall.name];
481
+ return { tool, toolContext };
482
+ }
483
+ function mergeParallelFunctionResponseEvents(functionResponseEvents) {
484
+ if (!functionResponseEvents.length) {
485
+ throw new Error("No function response events provided.");
486
+ }
487
+ if (functionResponseEvents.length === 1) {
488
+ return functionResponseEvents[0];
489
+ }
490
+ const mergedParts = [];
491
+ for (const event of functionResponseEvents) {
492
+ if (event.content && event.content.parts) {
493
+ mergedParts.push(...event.content.parts);
494
+ }
495
+ }
496
+ const baseEvent = functionResponseEvents[0];
497
+ const actionsList = functionResponseEvents.map(
498
+ (event) => event.actions || {}
499
+ );
500
+ const mergedActions = (0, import_event_actions.mergeEventActions)(actionsList);
501
+ return (0, import_event.createEvent)({
502
+ invocationId: baseEvent.invocationId,
503
+ author: baseEvent.author,
504
+ branch: baseEvent.branch,
505
+ content: { role: "user", parts: mergedParts },
506
+ actions: mergedActions,
507
+ timestamp: baseEvent.timestamp
508
+ });
509
+ }
510
+ // Annotate the CommonJS export names for ESM import in node:
511
+ 0 && (module.exports = {
512
+ REQUEST_CONFIRMATION_FUNCTION_CALL_NAME,
513
+ REQUEST_EUC_FUNCTION_CALL_NAME,
514
+ functionsExportedForTestingOnly,
515
+ generateAuthEvent,
516
+ generateClientFunctionCallId,
517
+ generateRequestConfirmationEvent,
518
+ getLongRunningFunctionCalls,
519
+ handleFunctionCallList,
520
+ handleFunctionCallsAsync,
521
+ handleFunctionCallsStreamingAsync,
522
+ mergeParallelFunctionResponseEvents,
523
+ populateClientFunctionCallId,
524
+ removeClientFunctionCallId
525
+ });