@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,146 @@
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 __decorateClass = (decorators, target, key, kind) => {
26
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
27
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
28
+ if (decorator = decorators[i])
29
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
30
+ if (kind && result) __defProp(target, key, result);
31
+ return result;
32
+ };
33
+ var run_skill_inline_script_tool_exports = {};
34
+ __export(run_skill_inline_script_tool_exports, {
35
+ RunSkillInlineScriptTool: () => RunSkillInlineScriptTool
36
+ });
37
+ module.exports = __toCommonJS(run_skill_inline_script_tool_exports);
38
+ var import_genai = require("@google/genai");
39
+ var import_llm_agent = require("../../agents/llm_agent.js");
40
+ var import_code_execution_utils = require("../../code_executors/code_execution_utils.js");
41
+ var import_experimental = require("../../utils/experimental.js");
42
+ var import_file_utils = require("../../utils/file_utils.js");
43
+ var import_base_tool = require("../base_tool.js");
44
+ /**
45
+ * @license
46
+ * Copyright 2026 Google LLC
47
+ * SPDX-License-Identifier: Apache-2.0
48
+ */
49
+ let RunSkillInlineScriptTool = class extends import_base_tool.BaseTool {
50
+ constructor(toolset) {
51
+ super({
52
+ name: "run_skill_inline_script",
53
+ description: "Executes an inline script provided directly in the request."
54
+ });
55
+ this.toolset = toolset;
56
+ }
57
+ _getDeclaration() {
58
+ return {
59
+ name: this.name,
60
+ description: this.description,
61
+ parameters: {
62
+ type: import_genai.Type.OBJECT,
63
+ properties: {
64
+ script_content: {
65
+ type: import_genai.Type.STRING,
66
+ description: "The content of the script to execute."
67
+ },
68
+ language: {
69
+ type: import_genai.Type.STRING,
70
+ description: "The language/type of the script.",
71
+ enum: Object.values(import_code_execution_utils.CodeExecutionLanguage).filter(
72
+ (l) => l !== import_code_execution_utils.CodeExecutionLanguage.UNSPECIFIED
73
+ )
74
+ },
75
+ args: {
76
+ anyOf: [
77
+ { type: import_genai.Type.OBJECT },
78
+ { type: import_genai.Type.ARRAY, items: { type: import_genai.Type.STRING } }
79
+ ],
80
+ description: "Optional arguments to pass to the script as key-value pairs or an array of strings."
81
+ }
82
+ },
83
+ required: ["script_content", "language"]
84
+ }
85
+ };
86
+ }
87
+ async runAsync({
88
+ args,
89
+ toolContext
90
+ }) {
91
+ var _a;
92
+ const inlineScriptContent = args["script_content"];
93
+ const language = args["language"];
94
+ const scriptArgs = args["args"];
95
+ if (!inlineScriptContent) {
96
+ return {
97
+ error: "Script content is required.",
98
+ errorCode: "MISSING_SCRIPT_CONTENT"
99
+ };
100
+ }
101
+ if (!language) {
102
+ return {
103
+ error: "Language is required.",
104
+ errorCode: "MISSING_LANGUAGE"
105
+ };
106
+ }
107
+ let codeExecutor = (_a = this.toolset) == null ? void 0 : _a.codeExecutor;
108
+ if (!codeExecutor) {
109
+ const agent = toolContext.invocationContext.agent;
110
+ if ((0, import_llm_agent.isLlmAgent)(agent)) {
111
+ codeExecutor = agent.codeExecutor;
112
+ }
113
+ }
114
+ if (!codeExecutor) {
115
+ return {
116
+ error: "No code executor configured.",
117
+ errorCode: "NO_CODE_EXECUTOR"
118
+ };
119
+ }
120
+ try {
121
+ const result = await codeExecutor.executeCode({
122
+ invocationContext: toolContext.invocationContext,
123
+ codeExecutionInput: {
124
+ code: inlineScriptContent,
125
+ inputFiles: [],
126
+ language,
127
+ args: scriptArgs
128
+ }
129
+ });
130
+ result.outputFiles = await (0, import_file_utils.materializeFiles)(result.outputFiles);
131
+ return result;
132
+ } catch (e) {
133
+ return {
134
+ error: `Failed to execute inline script: ${e.message}`,
135
+ errorCode: "EXECUTION_ERROR"
136
+ };
137
+ }
138
+ }
139
+ };
140
+ RunSkillInlineScriptTool = __decorateClass([
141
+ import_experimental.experimental
142
+ ], RunSkillInlineScriptTool);
143
+ // Annotate the CommonJS export names for ESM import in node:
144
+ 0 && (module.exports = {
145
+ RunSkillInlineScriptTool
146
+ });
@@ -0,0 +1,224 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ "use strict";
8
+ var __create = Object.create;
9
+ var __defProp = Object.defineProperty;
10
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
11
+ var __getOwnPropNames = Object.getOwnPropertyNames;
12
+ var __getProtoOf = Object.getPrototypeOf;
13
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
14
+ var __export = (target, all) => {
15
+ for (var name in all)
16
+ __defProp(target, name, { get: all[name], enumerable: true });
17
+ };
18
+ var __copyProps = (to, from, except, desc) => {
19
+ if (from && typeof from === "object" || typeof from === "function") {
20
+ for (let key of __getOwnPropNames(from))
21
+ if (!__hasOwnProp.call(to, key) && key !== except)
22
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
23
+ }
24
+ return to;
25
+ };
26
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
27
+ // If the importer is in node compatibility mode or this is not an ESM
28
+ // file that has been converted to a CommonJS file using a Babel-
29
+ // compatible transform (i.e. "__esModule" has not been set), then set
30
+ // "default" to the CommonJS "module.exports" for node compatibility.
31
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
32
+ mod
33
+ ));
34
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
35
+ var __decorateClass = (decorators, target, key, kind) => {
36
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
37
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
38
+ if (decorator = decorators[i])
39
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
40
+ if (kind && result) __defProp(target, key, result);
41
+ return result;
42
+ };
43
+ var run_skill_script_tool_exports = {};
44
+ __export(run_skill_script_tool_exports, {
45
+ RunSkillScriptTool: () => RunSkillScriptTool,
46
+ getSkillResourceFiles: () => getSkillResourceFiles
47
+ });
48
+ module.exports = __toCommonJS(run_skill_script_tool_exports);
49
+ var import_genai = require("@google/genai");
50
+ var path = __toESM(require("node:path"), 1);
51
+ var import_llm_agent = require("../../agents/llm_agent.js");
52
+ var import_code_execution_utils = require("../../code_executors/code_execution_utils.js");
53
+ var import_experimental = require("../../utils/experimental.js");
54
+ var import_file_extension_utils = require("../../utils/file_extension_utils.js");
55
+ var import_file_utils = require("../../utils/file_utils.js");
56
+ var import_base_tool = require("../base_tool.js");
57
+ /**
58
+ * @license
59
+ * Copyright 2026 Google LLC
60
+ * SPDX-License-Identifier: Apache-2.0
61
+ */
62
+ let RunSkillScriptTool = class extends import_base_tool.BaseTool {
63
+ constructor(toolset) {
64
+ super({
65
+ name: "run_skill_script",
66
+ description: "Executes a script from a skill's scripts/ directory."
67
+ });
68
+ this.toolset = toolset;
69
+ }
70
+ _getDeclaration() {
71
+ return {
72
+ name: this.name,
73
+ description: this.description,
74
+ parameters: {
75
+ type: import_genai.Type.OBJECT,
76
+ properties: {
77
+ skill_name: {
78
+ type: import_genai.Type.STRING,
79
+ description: "The name of the skill."
80
+ },
81
+ script_path: {
82
+ type: import_genai.Type.STRING,
83
+ description: "The relative path to the script (e.g., 'scripts/setup.js')."
84
+ },
85
+ args: {
86
+ type: import_genai.Type.OBJECT,
87
+ description: "Optional arguments to pass to the script as key-value pairs."
88
+ }
89
+ },
90
+ required: ["skill_name", "script_path"]
91
+ }
92
+ };
93
+ }
94
+ async runAsync({
95
+ args,
96
+ toolContext
97
+ }) {
98
+ var _a, _b, _c, _d;
99
+ const skillName = args["skill_name"];
100
+ const scriptPath = args["script_path"];
101
+ const scriptArgs = args["args"] || {};
102
+ if (!skillName) {
103
+ return {
104
+ error: "Skill name is required.",
105
+ errorCode: "MISSING_SKILL_NAME"
106
+ };
107
+ }
108
+ if (!scriptPath) {
109
+ return {
110
+ error: "Script path is required.",
111
+ errorCode: "MISSING_SCRIPT_PATH"
112
+ };
113
+ }
114
+ const skill = this.toolset.getSkill(skillName);
115
+ if (!skill) {
116
+ return {
117
+ error: `Skill '${skillName}' not found.`,
118
+ errorCode: "SKILL_NOT_FOUND"
119
+ };
120
+ }
121
+ const relScriptPath = scriptPath.startsWith("scripts/") ? scriptPath.substring("scripts/".length) : scriptPath;
122
+ let script = (_b = (_a = skill.resources) == null ? void 0 : _a.scripts) == null ? void 0 : _b[relScriptPath];
123
+ if (!script) {
124
+ script = (_d = (_c = skill.resources) == null ? void 0 : _c.scripts) == null ? void 0 : _d[scriptPath];
125
+ }
126
+ if (!script) {
127
+ return {
128
+ error: `Script '${scriptPath}' not found in skill '${skillName}'.`,
129
+ errorCode: "SCRIPT_NOT_FOUND"
130
+ };
131
+ }
132
+ let codeExecutor = this.toolset.codeExecutor;
133
+ if (!codeExecutor) {
134
+ const agent = toolContext.invocationContext.agent;
135
+ if ((0, import_llm_agent.isLlmAgent)(agent)) {
136
+ codeExecutor = agent.codeExecutor;
137
+ }
138
+ }
139
+ if (!codeExecutor) {
140
+ return {
141
+ error: "No code executor configured.",
142
+ errorCode: "NO_CODE_EXECUTOR"
143
+ };
144
+ }
145
+ try {
146
+ const language = (0, import_file_extension_utils.getScriptLanguageByExtension)(path.extname(scriptPath));
147
+ const result = await codeExecutor.executeCode({
148
+ invocationContext: toolContext.invocationContext,
149
+ codeExecutionInput: {
150
+ code: buildWrapperCode(scriptPath, language),
151
+ inputFiles: getSkillResourceFiles(skill),
152
+ language,
153
+ args: scriptArgs
154
+ }
155
+ });
156
+ result.outputFiles = await (0, import_file_utils.materializeFiles)(result.outputFiles);
157
+ return result;
158
+ } catch (e) {
159
+ return {
160
+ error: `Failed to execute script '${scriptPath}': ${e.message}`,
161
+ errorCode: "EXECUTION_ERROR"
162
+ };
163
+ }
164
+ }
165
+ };
166
+ RunSkillScriptTool = __decorateClass([
167
+ import_experimental.experimental
168
+ ], RunSkillScriptTool);
169
+ function buildWrapperCode(scriptPath, language) {
170
+ switch (language) {
171
+ case import_code_execution_utils.CodeExecutionLanguage.JAVASCRIPT:
172
+ return `require('./${scriptPath}');`;
173
+ case import_code_execution_utils.CodeExecutionLanguage.TYPESCRIPT:
174
+ return `require('ts-node/register');
175
+ require('./${scriptPath}');`;
176
+ case import_code_execution_utils.CodeExecutionLanguage.PYTHON:
177
+ return `import runpy
178
+ runpy.run_path('./${scriptPath}', run_name='__main__')`;
179
+ case import_code_execution_utils.CodeExecutionLanguage.SHELL:
180
+ return `source ./${scriptPath} "$@"`;
181
+ case import_code_execution_utils.CodeExecutionLanguage.POWERSHELL:
182
+ return `& .\\${scriptPath.replace(/\//g, "\\\\")} $args`;
183
+ case import_code_execution_utils.CodeExecutionLanguage.WINDOWS_CMD:
184
+ return `call .\\${scriptPath.replace(/\//g, "\\\\")} %*`;
185
+ default:
186
+ throw new Error(`Unsupported wrapper language: ${language}`);
187
+ }
188
+ }
189
+ function getSkillResourceFiles(skill) {
190
+ var _a, _b, _c;
191
+ const files = [];
192
+ for (const resourceType of ["references", "assets", "scripts"]) {
193
+ const resources = (_b = (_a = skill.resources) == null ? void 0 : _a[resourceType]) != null ? _b : {};
194
+ for (const resourceName of Object.keys(resources)) {
195
+ const content = (_c = resources[resourceName]) != null ? _c : void 0;
196
+ if (content === void 0) {
197
+ continue;
198
+ }
199
+ let fileContent = void 0;
200
+ if (typeof content === "string" || Buffer.isBuffer(content)) {
201
+ fileContent = content;
202
+ } else if (typeof content === "object" && content !== null && "src" in content && typeof content.src === "string") {
203
+ fileContent = content.src;
204
+ }
205
+ if (fileContent === void 0) {
206
+ continue;
207
+ }
208
+ const ext = path.extname(resourceName).toLowerCase();
209
+ const { encoding, mimeType } = (0, import_file_extension_utils.getMimeTypeAndEncoding)(ext);
210
+ files.push({
211
+ name: `${resourceType}/${resourceName}`,
212
+ content: Buffer.from(fileContent).toString(encoding),
213
+ contentEncoding: encoding,
214
+ mimeType
215
+ });
216
+ }
217
+ }
218
+ return files;
219
+ }
220
+ // Annotate the CommonJS export names for ESM import in node:
221
+ 0 && (module.exports = {
222
+ RunSkillScriptTool,
223
+ getSkillResourceFiles
224
+ });
@@ -0,0 +1,163 @@
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 __decorateClass = (decorators, target, key, kind) => {
26
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
27
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
28
+ if (decorator = decorators[i])
29
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
30
+ if (kind && result) __defProp(target, key, result);
31
+ return result;
32
+ };
33
+ var skill_toolset_exports = {};
34
+ __export(skill_toolset_exports, {
35
+ SkillToolset: () => SkillToolset
36
+ });
37
+ module.exports = __toCommonJS(skill_toolset_exports);
38
+ var import_llm_request = require("../../models/llm_request.js");
39
+ var import_prompt = require("../../skills/prompt.js");
40
+ var import_experimental = require("../../utils/experimental.js");
41
+ var import_base_tool = require("../base_tool.js");
42
+ var import_base_toolset = require("../base_toolset.js");
43
+ var import_list_skills_tool = require("./list_skills_tool.js");
44
+ var import_load_skill_resource_tool = require("./load_skill_resource_tool.js");
45
+ var import_load_skill_tool = require("./load_skill_tool.js");
46
+ var import_run_skill_inline_script_tool = require("./run_skill_inline_script_tool.js");
47
+ var import_run_skill_script_tool = require("./run_skill_script_tool.js");
48
+ /**
49
+ * @license
50
+ * Copyright 2026 Google LLC
51
+ * SPDX-License-Identifier: Apache-2.0
52
+ */
53
+ const DEFAULT_SKILL_SYSTEM_INSTRUCTION = `You can use specialized 'skills' to help you with complex tasks. You MUST use the skill tools to interact with these skills.
54
+
55
+ Skills are folders of instructions and resources that extend your capabilities for specialized tasks. Each skill folder contains:
56
+ - **SKILL.md** (required): The main instruction file with skill metadata and detailed markdown instructions.
57
+ - **references/** (Optional): Additional documentation or examples for skill usage.
58
+ - **assets/** (Optional): Templates, scripts or other resources used by the skill.
59
+ - **scripts/** (Optional): Executable scripts that can be run via bash.
60
+
61
+ This is very important:
62
+
63
+ 1. If a skill seems relevant to the current user query, you MUST use the \`load_skill\` tool with \`name="<SKILL_NAME>"\` to read its full instructions before proceeding.
64
+ 2. Once you have read the instructions, follow them exactly as documented before replying to the user. For example, If the instruction lists multiple steps, please make sure you complete all of them in order.
65
+ 3. The \`load_skill_resource\` tool is for viewing files within a skill's directory (e.g., \`references/*\`, \`assets/*\`, \`scripts/*\`). Do NOT use other tools to access these files.
66
+ 4. Use \`run_skill_script\` to run scripts from a skill's \`scripts/\` directory. Use \`load_skill_resource\` to view script content first if needed.
67
+ `;
68
+ let SkillToolset = class extends import_base_toolset.BaseToolset {
69
+ constructor(skills, options = {}) {
70
+ super([], "adk_skill_toolset");
71
+ this.toolCache = /* @__PURE__ */ new Map();
72
+ this.skills = Array.isArray(skills) ? Object.fromEntries(skills.map((s) => [s.frontmatter.name, s])) : skills;
73
+ this.codeExecutor = options.codeExecutor;
74
+ this.additionalTools = options.additionalTools || [];
75
+ this.tools = [
76
+ new import_list_skills_tool.ListSkillsTool(this),
77
+ new import_load_skill_tool.LoadSkillTool(this),
78
+ new import_load_skill_resource_tool.LoadSkillResourceTool(this),
79
+ new import_run_skill_script_tool.RunSkillScriptTool(this),
80
+ new import_run_skill_inline_script_tool.RunSkillInlineScriptTool(this)
81
+ ];
82
+ }
83
+ async getTools(context) {
84
+ const dynamicTools = await this.resolveAdditionalTools(context);
85
+ return [...this.tools, ...dynamicTools];
86
+ }
87
+ async close() {
88
+ }
89
+ getSkill(name) {
90
+ return this.skills[name];
91
+ }
92
+ async processLlmRequest(toolContext, llmRequest) {
93
+ await super.processLlmRequest(toolContext, llmRequest);
94
+ const skills = Object.values(this.skills);
95
+ const skillsXml = (0, import_prompt.formatSkillsAsXml)(skills);
96
+ (0, import_llm_request.appendInstructions)(llmRequest, [
97
+ DEFAULT_SKILL_SYSTEM_INSTRUCTION,
98
+ skillsXml
99
+ ]);
100
+ }
101
+ async resolveAdditionalTools(context) {
102
+ if (!context) return [];
103
+ const agentName = context.agentName;
104
+ const stateKey = `_adk_activated_skill_${agentName}`;
105
+ const activatedSkills = context.state.get(stateKey) || [];
106
+ if (activatedSkills.length === 0) return [];
107
+ const cacheKey = `${agentName}:${activatedSkills.join(",")}`;
108
+ if (this.toolCache.has(cacheKey)) {
109
+ return this.toolCache.get(cacheKey);
110
+ }
111
+ const additionalToolNames = /* @__PURE__ */ new Set();
112
+ for (const skillName of activatedSkills) {
113
+ const skill = this.skills[skillName];
114
+ if (skill && skill.frontmatter.metadata) {
115
+ const tools = skill.frontmatter.metadata["adk_additional_tools"];
116
+ if (tools) {
117
+ tools.forEach((t) => additionalToolNames.add(t));
118
+ }
119
+ }
120
+ }
121
+ if (additionalToolNames.size === 0) {
122
+ this.toolCache.set(cacheKey, []);
123
+ return [];
124
+ }
125
+ const candidateTools = {};
126
+ for (const toolUnion of this.additionalTools) {
127
+ if (toolUnion instanceof import_base_tool.BaseTool) {
128
+ if (candidateTools[toolUnion.name]) {
129
+ throw new Error(`Duplicate tool name: ${toolUnion.name}`);
130
+ }
131
+ candidateTools[toolUnion.name] = toolUnion;
132
+ } else if (toolUnion instanceof import_base_toolset.BaseToolset) {
133
+ const tsTools = await toolUnion.getTools(context);
134
+ for (const t of tsTools) {
135
+ if (candidateTools[t.name]) {
136
+ throw new Error(`Duplicate tool name: ${t.name}`);
137
+ }
138
+ candidateTools[t.name] = t;
139
+ }
140
+ }
141
+ }
142
+ const resolvedTools = [];
143
+ const existingNames = new Set(this.tools.map((t) => t.name));
144
+ for (const name of additionalToolNames) {
145
+ if (candidateTools[name]) {
146
+ const tool = candidateTools[name];
147
+ if (!existingNames.has(tool.name)) {
148
+ resolvedTools.push(tool);
149
+ existingNames.add(tool.name);
150
+ }
151
+ }
152
+ }
153
+ this.toolCache.set(cacheKey, resolvedTools);
154
+ return resolvedTools;
155
+ }
156
+ };
157
+ SkillToolset = __decorateClass([
158
+ import_experimental.experimental
159
+ ], SkillToolset);
160
+ // Annotate the CommonJS export names for ESM import in node:
161
+ 0 && (module.exports = {
162
+ SkillToolset
163
+ });
@@ -0,0 +1,49 @@
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 tool_confirmation_exports = {};
26
+ __export(tool_confirmation_exports, {
27
+ ToolConfirmation: () => ToolConfirmation
28
+ });
29
+ module.exports = __toCommonJS(tool_confirmation_exports);
30
+ /**
31
+ * @license
32
+ * Copyright 2025 Google LLC
33
+ * SPDX-License-Identifier: Apache-2.0
34
+ */
35
+ class ToolConfirmation {
36
+ constructor({
37
+ hint,
38
+ confirmed,
39
+ payload
40
+ }) {
41
+ this.hint = hint != null ? hint : "";
42
+ this.confirmed = confirmed;
43
+ this.payload = payload;
44
+ }
45
+ }
46
+ // Annotate the CommonJS export names for ESM import in node:
47
+ 0 && (module.exports = {
48
+ ToolConfirmation
49
+ });
@@ -0,0 +1,73 @@
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 url_context_tool_exports = {};
26
+ __export(url_context_tool_exports, {
27
+ URL_CONTEXT: () => URL_CONTEXT,
28
+ UrlContextTool: () => UrlContextTool
29
+ });
30
+ module.exports = __toCommonJS(url_context_tool_exports);
31
+ var import_model_name = require("../utils/model_name.js");
32
+ var import_base_tool = require("./base_tool.js");
33
+ /**
34
+ * @license
35
+ * Copyright 2026 Google LLC
36
+ * SPDX-License-Identifier: Apache-2.0
37
+ */
38
+ class UrlContextTool extends import_base_tool.BaseTool {
39
+ constructor() {
40
+ super({ name: "url_context", description: "URL Context Tool" });
41
+ }
42
+ runAsync() {
43
+ return Promise.resolve();
44
+ }
45
+ async processLlmRequest({
46
+ llmRequest
47
+ }) {
48
+ if (!llmRequest.model) {
49
+ return;
50
+ }
51
+ if (!(0, import_model_name.isGeminiModel)(llmRequest.model)) {
52
+ throw new Error(
53
+ `URL context tool is not supported for model ${llmRequest.model}`
54
+ );
55
+ }
56
+ if (!(0, import_model_name.isGemini2OrAbove)(llmRequest.model)) {
57
+ throw new Error(
58
+ `URL context tool requires Gemini 2 or above, but got ${llmRequest.model}`
59
+ );
60
+ }
61
+ llmRequest.config = llmRequest.config || {};
62
+ llmRequest.config.tools = llmRequest.config.tools || [];
63
+ llmRequest.config.tools.push({
64
+ urlContext: {}
65
+ });
66
+ }
67
+ }
68
+ const URL_CONTEXT = new UrlContextTool();
69
+ // Annotate the CommonJS export names for ESM import in node:
70
+ 0 && (module.exports = {
71
+ URL_CONTEXT,
72
+ UrlContextTool
73
+ });