@google/adk 0.6.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (406) hide show
  1. package/dist/cjs/a2a/a2a_remote_agent.js +18 -13
  2. package/dist/cjs/a2a/a2a_remote_agent_run_processor.js +7 -0
  3. package/dist/cjs/agents/base_agent.js +11 -2
  4. package/dist/cjs/agents/context.js +1 -0
  5. package/dist/cjs/agents/functions.js +1 -0
  6. package/dist/cjs/agents/invocation_context.js +1 -0
  7. package/dist/cjs/agents/llm_agent.js +70 -13
  8. package/dist/cjs/agents/loop_agent.js +4 -0
  9. package/dist/cjs/agents/parallel_agent.js +4 -0
  10. package/dist/cjs/agents/processors/code_execution_request_processor.js +2 -0
  11. package/dist/cjs/agents/processors/context_compactor_request_processor.js +9 -0
  12. package/dist/cjs/agents/processors/tool_filter_request_processor.js +73 -0
  13. package/dist/cjs/agents/routed_agent.js +97 -0
  14. package/dist/cjs/auth/auth_handler.js +66 -1
  15. package/dist/cjs/auth/auth_preprocessor.js +178 -0
  16. package/dist/cjs/auth/auth_provider_registry.js +61 -0
  17. package/dist/cjs/auth/base_auth_provider.js +27 -0
  18. package/dist/cjs/auth/credential_service/session_state_credential_service.js +51 -0
  19. package/dist/cjs/auth/oauth2/oauth2_credential_exchanger.js +198 -0
  20. package/dist/cjs/auth/oauth2/oauth2_credential_refresher.js +109 -0
  21. package/dist/cjs/auth/oauth2/oauth2_discovery.js +186 -0
  22. package/dist/cjs/auth/oauth2/oauth2_utils.js +119 -0
  23. package/dist/cjs/auth/refresher/base_credential_refresher.js +44 -0
  24. package/dist/cjs/auth/refresher/credential_refresher_registry.js +68 -0
  25. package/dist/cjs/code_executors/base_code_executor.js +9 -5
  26. package/dist/cjs/code_executors/code_execution_utils.js +19 -0
  27. package/dist/cjs/code_executors/unsafe_local_code_executor.js +241 -0
  28. package/dist/cjs/common.js +61 -0
  29. package/dist/cjs/features/feature_registry.js +141 -0
  30. package/dist/cjs/index.js +32 -20
  31. package/dist/cjs/index.js.map +4 -4
  32. package/dist/cjs/models/apigee_llm.js +2 -2
  33. package/dist/cjs/models/google_llm.js +18 -53
  34. package/dist/cjs/models/routed_llm.js +99 -0
  35. package/dist/cjs/plugins/base_plugin.js +39 -2
  36. package/dist/cjs/plugins/plugin_manager.js +39 -0
  37. package/dist/cjs/runner/runner.js +31 -3
  38. package/dist/cjs/sessions/db/operations.js +3 -10
  39. package/dist/cjs/skills/loader.js +283 -0
  40. package/dist/cjs/skills/prompt.js +58 -0
  41. package/dist/cjs/skills/skill.js +78 -0
  42. package/dist/cjs/tools/agent_tool.js +10 -3
  43. package/dist/cjs/tools/mcp/mcp_tool.js +4 -1
  44. package/dist/cjs/tools/skill/list_skills_tool.js +76 -0
  45. package/dist/cjs/tools/skill/load_skill_resource_tool.js +225 -0
  46. package/dist/cjs/tools/skill/load_skill_tool.js +108 -0
  47. package/dist/cjs/tools/skill/run_skill_inline_script_tool.js +146 -0
  48. package/dist/cjs/tools/skill/run_skill_script_tool.js +224 -0
  49. package/dist/cjs/tools/skill/skill_toolset.js +163 -0
  50. package/dist/cjs/utils/experimental.js +74 -0
  51. package/dist/cjs/utils/failover_utils.js +93 -0
  52. package/dist/cjs/utils/file_extension_utils.js +77 -0
  53. package/dist/cjs/utils/file_utils.js +94 -0
  54. package/dist/cjs/utils/gemini_schema_util.js +54 -12
  55. package/dist/cjs/utils/streaming_utils.js +333 -0
  56. package/dist/cjs/version.js +1 -1
  57. package/dist/esm/a2a/a2a_event.js +2 -0
  58. package/dist/esm/a2a/a2a_remote_agent.js +20 -13
  59. package/dist/esm/a2a/a2a_remote_agent_run_processor.js +9 -0
  60. package/dist/esm/a2a/a2a_remote_agent_utils.js +2 -0
  61. package/dist/esm/a2a/agent_card.js +2 -0
  62. package/dist/esm/a2a/agent_executor.js +2 -0
  63. package/dist/esm/a2a/agent_to_a2a.js +2 -0
  64. package/dist/esm/a2a/event_converter_utils.js +2 -0
  65. package/dist/esm/a2a/event_processor_utils.js +2 -0
  66. package/dist/esm/a2a/executor_context.js +2 -0
  67. package/dist/esm/a2a/metadata_converter_utils.js +2 -0
  68. package/dist/esm/a2a/part_converter_utils.js +2 -0
  69. package/dist/esm/agents/active_streaming_tool.js +2 -0
  70. package/dist/esm/agents/base_agent.js +13 -2
  71. package/dist/esm/agents/context.js +3 -0
  72. package/dist/esm/agents/functions.js +3 -0
  73. package/dist/esm/agents/instructions.js +2 -0
  74. package/dist/esm/agents/invocation_context.js +3 -0
  75. package/dist/esm/agents/live_request_queue.js +2 -0
  76. package/dist/esm/agents/llm_agent.js +72 -13
  77. package/dist/esm/agents/loop_agent.js +6 -0
  78. package/dist/esm/agents/parallel_agent.js +6 -0
  79. package/dist/esm/agents/processors/agent_transfer_llm_request_processor.js +2 -0
  80. package/dist/esm/agents/processors/base_llm_processor.js +2 -0
  81. package/dist/esm/agents/processors/basic_llm_request_processor.js +2 -0
  82. package/dist/esm/agents/processors/code_execution_request_processor.js +5 -0
  83. package/dist/esm/agents/processors/content_processor_utils.js +2 -0
  84. package/dist/esm/agents/processors/content_request_processor.js +2 -0
  85. package/dist/esm/agents/processors/context_compactor_request_processor.js +11 -0
  86. package/dist/esm/agents/processors/identity_llm_request_processor.js +2 -0
  87. package/dist/esm/agents/processors/instructions_llm_request_processor.js +2 -0
  88. package/dist/esm/agents/processors/request_confirmation_llm_request_processor.js +2 -0
  89. package/dist/esm/agents/processors/tool_filter_request_processor.js +44 -0
  90. package/dist/esm/agents/readonly_context.js +2 -0
  91. package/dist/esm/agents/routed_agent.js +70 -0
  92. package/dist/esm/agents/run_config.js +2 -0
  93. package/dist/esm/agents/sequential_agent.js +2 -0
  94. package/dist/esm/agents/transcription_entry.js +2 -0
  95. package/dist/esm/artifacts/base_artifact_service.js +2 -0
  96. package/dist/esm/artifacts/file_artifact_service.js +2 -0
  97. package/dist/esm/artifacts/gcs_artifact_service.js +2 -0
  98. package/dist/esm/artifacts/in_memory_artifact_service.js +2 -0
  99. package/dist/esm/artifacts/registry.js +2 -0
  100. package/dist/esm/auth/auth_credential.js +2 -0
  101. package/dist/esm/auth/auth_handler.js +68 -1
  102. package/dist/esm/auth/auth_preprocessor.js +155 -0
  103. package/dist/esm/auth/auth_provider_registry.js +33 -0
  104. package/dist/esm/auth/auth_schemes.js +2 -0
  105. package/dist/esm/auth/auth_tool.js +2 -0
  106. package/dist/esm/auth/base_auth_provider.js +7 -0
  107. package/dist/esm/auth/credential_service/base_credential_service.js +2 -0
  108. package/dist/esm/auth/credential_service/in_memory_credential_service.js +2 -0
  109. package/dist/esm/auth/credential_service/session_state_credential_service.js +23 -0
  110. package/dist/esm/auth/exchanger/base_credential_exchanger.js +2 -0
  111. package/dist/esm/auth/exchanger/credential_exchanger_registry.js +2 -0
  112. package/dist/esm/auth/oauth2/oauth2_credential_exchanger.js +177 -0
  113. package/dist/esm/auth/oauth2/oauth2_credential_refresher.js +85 -0
  114. package/dist/esm/auth/oauth2/oauth2_discovery.js +156 -0
  115. package/dist/esm/auth/oauth2/oauth2_utils.js +87 -0
  116. package/dist/esm/auth/refresher/base_credential_refresher.js +16 -0
  117. package/dist/esm/auth/refresher/credential_refresher_registry.js +40 -0
  118. package/dist/esm/code_executors/base_code_executor.js +11 -5
  119. package/dist/esm/code_executors/built_in_code_executor.js +2 -0
  120. package/dist/esm/code_executors/code_execution_utils.js +19 -0
  121. package/dist/esm/code_executors/code_executor_context.js +2 -0
  122. package/dist/esm/code_executors/unsafe_local_code_executor.js +205 -0
  123. package/dist/esm/common.js +47 -3
  124. package/dist/esm/context/base_context_compactor.js +2 -0
  125. package/dist/esm/context/summarizers/base_summarizer.js +2 -0
  126. package/dist/esm/context/summarizers/llm_summarizer.js +2 -0
  127. package/dist/esm/context/token_based_context_compactor.js +2 -0
  128. package/dist/esm/context/truncating_context_compactor.js +2 -0
  129. package/dist/esm/events/compacted_event.js +2 -0
  130. package/dist/esm/events/event.js +2 -0
  131. package/dist/esm/events/event_actions.js +2 -0
  132. package/dist/esm/events/structured_events.js +2 -0
  133. package/dist/esm/examples/base_example_provider.js +2 -0
  134. package/dist/esm/examples/example.js +2 -0
  135. package/dist/esm/examples/example_util.js +2 -0
  136. package/dist/esm/features/feature_registry.js +107 -0
  137. package/dist/esm/index.js +34 -21
  138. package/dist/esm/index.js.map +4 -4
  139. package/dist/esm/index_web.js +2 -0
  140. package/dist/esm/memory/base_memory_service.js +2 -0
  141. package/dist/esm/memory/in_memory_memory_service.js +2 -0
  142. package/dist/esm/memory/memory_entry.js +2 -0
  143. package/dist/esm/models/apigee_llm.js +4 -2
  144. package/dist/esm/models/base_llm.js +2 -0
  145. package/dist/esm/models/base_llm_connection.js +2 -0
  146. package/dist/esm/models/gemini_llm_connection.js +2 -0
  147. package/dist/esm/models/google_llm.js +20 -54
  148. package/dist/esm/models/llm_request.js +2 -0
  149. package/dist/esm/models/llm_response.js +2 -0
  150. package/dist/esm/models/registry.js +2 -0
  151. package/dist/esm/models/routed_llm.js +73 -0
  152. package/dist/esm/plugins/base_plugin.js +41 -1
  153. package/dist/esm/plugins/logging_plugin.js +2 -0
  154. package/dist/esm/plugins/plugin_manager.js +41 -0
  155. package/dist/esm/plugins/security_plugin.js +2 -0
  156. package/dist/esm/runner/in_memory_runner.js +2 -0
  157. package/dist/esm/runner/runner.js +33 -3
  158. package/dist/esm/sessions/base_session_service.js +2 -0
  159. package/dist/esm/sessions/database_session_service.js +2 -0
  160. package/dist/esm/sessions/db/operations.js +5 -10
  161. package/dist/esm/sessions/db/schema.js +2 -0
  162. package/dist/esm/sessions/in_memory_session_service.js +2 -0
  163. package/dist/esm/sessions/registry.js +2 -0
  164. package/dist/esm/sessions/session.js +2 -0
  165. package/dist/esm/sessions/state.js +2 -0
  166. package/dist/esm/skills/loader.js +244 -0
  167. package/dist/esm/skills/prompt.js +30 -0
  168. package/dist/esm/skills/skill.js +49 -0
  169. package/dist/esm/telemetry/google_cloud.js +2 -0
  170. package/dist/esm/telemetry/setup.js +2 -0
  171. package/dist/esm/telemetry/tracing.js +2 -0
  172. package/dist/esm/tools/agent_tool.js +12 -3
  173. package/dist/esm/tools/base_tool.js +2 -0
  174. package/dist/esm/tools/base_toolset.js +2 -0
  175. package/dist/esm/tools/exit_loop_tool.js +2 -0
  176. package/dist/esm/tools/forwarding_artifact_service.js +2 -0
  177. package/dist/esm/tools/function_tool.js +2 -0
  178. package/dist/esm/tools/google_search_tool.js +2 -0
  179. package/dist/esm/tools/load_artifacts_tool.js +2 -0
  180. package/dist/esm/tools/load_memory_tool.js +2 -0
  181. package/dist/esm/tools/long_running_tool.js +2 -0
  182. package/dist/esm/tools/mcp/mcp_session_manager.js +2 -0
  183. package/dist/esm/tools/mcp/mcp_tool.js +6 -1
  184. package/dist/esm/tools/mcp/mcp_toolset.js +2 -0
  185. package/dist/esm/tools/preload_memory_tool.js +2 -0
  186. package/dist/esm/tools/skill/list_skills_tool.js +50 -0
  187. package/dist/esm/tools/skill/load_skill_resource_tool.js +191 -0
  188. package/dist/esm/tools/skill/load_skill_tool.js +82 -0
  189. package/dist/esm/tools/skill/run_skill_inline_script_tool.js +120 -0
  190. package/dist/esm/tools/skill/run_skill_script_tool.js +192 -0
  191. package/dist/esm/tools/skill/skill_toolset.js +137 -0
  192. package/dist/esm/tools/tool_confirmation.js +2 -0
  193. package/dist/esm/utils/client_labels.js +2 -0
  194. package/dist/esm/utils/env_aware_utils.js +2 -0
  195. package/dist/esm/utils/experimental.js +46 -0
  196. package/dist/esm/utils/failover_utils.js +65 -0
  197. package/dist/esm/utils/file_extension_utils.js +51 -0
  198. package/dist/esm/utils/file_utils.js +56 -0
  199. package/dist/esm/utils/gemini_schema_util.js +56 -12
  200. package/dist/esm/utils/logger.js +2 -0
  201. package/dist/esm/utils/model_name.js +2 -0
  202. package/dist/esm/utils/object_notation_utils.js +2 -0
  203. package/dist/esm/utils/simple_zod_to_json.js +2 -0
  204. package/dist/esm/utils/streaming_utils.js +307 -0
  205. package/dist/esm/utils/variant_utils.js +2 -0
  206. package/dist/esm/version.js +3 -1
  207. package/dist/types/a2a/a2a_remote_agent.d.ts +7 -3
  208. package/dist/types/agents/context.d.ts +1 -0
  209. package/dist/types/agents/invocation_context.d.ts +5 -0
  210. package/dist/types/agents/processors/tool_filter_request_processor.d.ts +14 -0
  211. package/dist/types/agents/routed_agent.d.ts +59 -0
  212. package/dist/types/auth/auth_credential.d.ts +17 -0
  213. package/dist/types/auth/auth_handler.d.ts +1 -0
  214. package/dist/types/auth/auth_preprocessor.d.ts +12 -0
  215. package/dist/types/auth/auth_provider_registry.d.ts +27 -0
  216. package/dist/types/auth/base_auth_provider.d.ts +20 -0
  217. package/dist/types/auth/credential_service/session_state_credential_service.d.ts +20 -0
  218. package/dist/types/auth/exchanger/base_credential_exchanger.d.ts +12 -5
  219. package/dist/types/auth/oauth2/oauth2_credential_exchanger.d.ts +26 -0
  220. package/dist/types/auth/oauth2/oauth2_credential_refresher.d.ts +29 -0
  221. package/dist/types/auth/oauth2/oauth2_discovery.d.ts +38 -0
  222. package/dist/types/auth/oauth2/oauth2_utils.d.ts +56 -0
  223. package/dist/types/auth/refresher/base_credential_refresher.d.ts +38 -0
  224. package/dist/types/auth/refresher/credential_refresher_registry.d.ts +27 -0
  225. package/dist/types/code_executors/base_code_executor.d.ts +4 -4
  226. package/dist/types/code_executors/code_execution_utils.d.ts +29 -1
  227. package/dist/types/code_executors/unsafe_local_code_executor.d.ts +48 -0
  228. package/dist/types/common.d.ts +26 -3
  229. package/dist/types/features/feature_registry.d.ts +66 -0
  230. package/dist/types/index.d.ts +4 -0
  231. package/dist/types/memory/base_memory_service.d.ts +6 -0
  232. package/dist/types/memory/memory_entry.d.ts +11 -5
  233. package/dist/types/models/apigee_llm.d.ts +1 -1
  234. package/dist/types/models/base_llm.d.ts +1 -1
  235. package/dist/types/models/google_llm.d.ts +1 -1
  236. package/dist/types/models/llm_request.d.ts +4 -0
  237. package/dist/types/models/routed_llm.d.ts +38 -0
  238. package/dist/types/plugins/base_plugin.d.ts +49 -0
  239. package/dist/types/plugins/plugin_manager.d.ts +22 -1
  240. package/dist/types/runner/runner.d.ts +1 -0
  241. package/dist/types/skills/loader.d.ts +38 -0
  242. package/dist/types/skills/prompt.d.ts +13 -0
  243. package/dist/types/skills/skill.d.ts +48 -0
  244. package/dist/types/tools/skill/list_skills_tool.d.ts +14 -0
  245. package/dist/types/tools/skill/load_skill_resource_tool.d.ts +15 -0
  246. package/dist/types/tools/skill/load_skill_tool.d.ts +14 -0
  247. package/dist/types/tools/skill/run_skill_inline_script_tool.d.ts +14 -0
  248. package/dist/types/tools/skill/run_skill_script_tool.d.ts +17 -0
  249. package/dist/types/tools/skill/skill_toolset.d.ts +28 -0
  250. package/dist/types/utils/experimental.d.ts +11 -0
  251. package/dist/types/utils/failover_utils.d.ts +17 -0
  252. package/dist/types/utils/file_extension_utils.d.ts +21 -0
  253. package/dist/types/utils/file_utils.d.ts +11 -0
  254. package/dist/types/utils/streaming_utils.d.ts +40 -0
  255. package/dist/types/version.d.ts +1 -1
  256. package/dist/web/a2a/a2a_event.js +2 -0
  257. package/dist/web/a2a/a2a_remote_agent.js +17 -24
  258. package/dist/web/a2a/a2a_remote_agent_run_processor.js +9 -0
  259. package/dist/web/a2a/a2a_remote_agent_utils.js +2 -0
  260. package/dist/web/a2a/agent_card.js +2 -0
  261. package/dist/web/a2a/agent_executor.js +2 -0
  262. package/dist/web/a2a/agent_to_a2a.js +2 -0
  263. package/dist/web/a2a/event_converter_utils.js +2 -0
  264. package/dist/web/a2a/event_processor_utils.js +2 -0
  265. package/dist/web/a2a/executor_context.js +2 -0
  266. package/dist/web/a2a/metadata_converter_utils.js +2 -0
  267. package/dist/web/a2a/part_converter_utils.js +2 -0
  268. package/dist/web/agents/active_streaming_tool.js +2 -0
  269. package/dist/web/agents/base_agent.js +13 -2
  270. package/dist/web/agents/context.js +3 -0
  271. package/dist/web/agents/functions.js +3 -0
  272. package/dist/web/agents/instructions.js +2 -0
  273. package/dist/web/agents/invocation_context.js +3 -0
  274. package/dist/web/agents/live_request_queue.js +2 -0
  275. package/dist/web/agents/llm_agent.js +72 -13
  276. package/dist/web/agents/loop_agent.js +6 -0
  277. package/dist/web/agents/parallel_agent.js +6 -0
  278. package/dist/web/agents/processors/agent_transfer_llm_request_processor.js +2 -0
  279. package/dist/web/agents/processors/base_llm_processor.js +2 -0
  280. package/dist/web/agents/processors/basic_llm_request_processor.js +2 -0
  281. package/dist/web/agents/processors/code_execution_request_processor.js +5 -0
  282. package/dist/web/agents/processors/content_processor_utils.js +2 -0
  283. package/dist/web/agents/processors/content_request_processor.js +2 -0
  284. package/dist/web/agents/processors/context_compactor_request_processor.js +11 -0
  285. package/dist/web/agents/processors/identity_llm_request_processor.js +2 -0
  286. package/dist/web/agents/processors/instructions_llm_request_processor.js +2 -0
  287. package/dist/web/agents/processors/request_confirmation_llm_request_processor.js +2 -0
  288. package/dist/web/agents/processors/tool_filter_request_processor.js +62 -0
  289. package/dist/web/agents/readonly_context.js +2 -0
  290. package/dist/web/agents/routed_agent.js +138 -0
  291. package/dist/web/agents/run_config.js +2 -0
  292. package/dist/web/agents/sequential_agent.js +2 -0
  293. package/dist/web/agents/transcription_entry.js +2 -0
  294. package/dist/web/artifacts/base_artifact_service.js +2 -0
  295. package/dist/web/artifacts/file_artifact_service.js +2 -0
  296. package/dist/web/artifacts/gcs_artifact_service.js +2 -0
  297. package/dist/web/artifacts/in_memory_artifact_service.js +2 -0
  298. package/dist/web/artifacts/registry.js +2 -0
  299. package/dist/web/auth/auth_credential.js +2 -0
  300. package/dist/web/auth/auth_handler.js +85 -1
  301. package/dist/web/auth/auth_preprocessor.js +173 -0
  302. package/dist/web/auth/auth_provider_registry.js +33 -0
  303. package/dist/web/auth/auth_schemes.js +2 -0
  304. package/dist/web/auth/auth_tool.js +2 -0
  305. package/dist/web/auth/base_auth_provider.js +7 -0
  306. package/dist/web/auth/credential_service/base_credential_service.js +2 -0
  307. package/dist/web/auth/credential_service/in_memory_credential_service.js +2 -0
  308. package/dist/web/auth/credential_service/session_state_credential_service.js +23 -0
  309. package/dist/web/auth/exchanger/base_credential_exchanger.js +2 -0
  310. package/dist/web/auth/exchanger/credential_exchanger_registry.js +2 -0
  311. package/dist/web/auth/oauth2/oauth2_credential_exchanger.js +188 -0
  312. package/dist/web/auth/oauth2/oauth2_credential_refresher.js +102 -0
  313. package/dist/web/auth/oauth2/oauth2_discovery.js +156 -0
  314. package/dist/web/auth/oauth2/oauth2_utils.js +87 -0
  315. package/dist/web/auth/refresher/base_credential_refresher.js +16 -0
  316. package/dist/web/auth/refresher/credential_refresher_registry.js +40 -0
  317. package/dist/web/code_executors/base_code_executor.js +11 -5
  318. package/dist/web/code_executors/built_in_code_executor.js +2 -0
  319. package/dist/web/code_executors/code_execution_utils.js +19 -0
  320. package/dist/web/code_executors/code_executor_context.js +2 -0
  321. package/dist/web/code_executors/unsafe_local_code_executor.js +203 -0
  322. package/dist/web/common.js +47 -3
  323. package/dist/web/context/base_context_compactor.js +2 -0
  324. package/dist/web/context/summarizers/base_summarizer.js +2 -0
  325. package/dist/web/context/summarizers/llm_summarizer.js +2 -0
  326. package/dist/web/context/token_based_context_compactor.js +2 -0
  327. package/dist/web/context/truncating_context_compactor.js +2 -0
  328. package/dist/web/events/compacted_event.js +2 -0
  329. package/dist/web/events/event.js +2 -0
  330. package/dist/web/events/event_actions.js +2 -0
  331. package/dist/web/events/structured_events.js +2 -0
  332. package/dist/web/examples/base_example_provider.js +2 -0
  333. package/dist/web/examples/example.js +2 -0
  334. package/dist/web/examples/example_util.js +2 -0
  335. package/dist/web/features/feature_registry.js +107 -0
  336. package/dist/web/index.js +3 -2
  337. package/dist/web/index.js.map +4 -4
  338. package/dist/web/index_web.js +2 -0
  339. package/dist/web/memory/base_memory_service.js +2 -0
  340. package/dist/web/memory/in_memory_memory_service.js +2 -0
  341. package/dist/web/memory/memory_entry.js +2 -0
  342. package/dist/web/models/apigee_llm.js +4 -2
  343. package/dist/web/models/base_llm.js +2 -0
  344. package/dist/web/models/base_llm_connection.js +2 -0
  345. package/dist/web/models/gemini_llm_connection.js +2 -0
  346. package/dist/web/models/google_llm.js +37 -59
  347. package/dist/web/models/llm_request.js +2 -0
  348. package/dist/web/models/llm_response.js +2 -0
  349. package/dist/web/models/registry.js +2 -0
  350. package/dist/web/models/routed_llm.js +122 -0
  351. package/dist/web/plugins/base_plugin.js +41 -1
  352. package/dist/web/plugins/logging_plugin.js +2 -0
  353. package/dist/web/plugins/plugin_manager.js +41 -0
  354. package/dist/web/plugins/security_plugin.js +2 -0
  355. package/dist/web/runner/in_memory_runner.js +2 -0
  356. package/dist/web/runner/runner.js +33 -3
  357. package/dist/web/sessions/base_session_service.js +2 -0
  358. package/dist/web/sessions/database_session_service.js +2 -0
  359. package/dist/web/sessions/db/operations.js +5 -10
  360. package/dist/web/sessions/db/schema.js +2 -0
  361. package/dist/web/sessions/in_memory_session_service.js +2 -0
  362. package/dist/web/sessions/registry.js +2 -0
  363. package/dist/web/sessions/session.js +2 -0
  364. package/dist/web/sessions/state.js +2 -0
  365. package/dist/web/skills/loader.js +262 -0
  366. package/dist/web/skills/prompt.js +30 -0
  367. package/dist/web/skills/skill.js +67 -0
  368. package/dist/web/telemetry/google_cloud.js +2 -0
  369. package/dist/web/telemetry/setup.js +2 -0
  370. package/dist/web/telemetry/tracing.js +2 -0
  371. package/dist/web/tools/agent_tool.js +12 -3
  372. package/dist/web/tools/base_tool.js +2 -0
  373. package/dist/web/tools/base_toolset.js +2 -0
  374. package/dist/web/tools/exit_loop_tool.js +2 -0
  375. package/dist/web/tools/forwarding_artifact_service.js +2 -0
  376. package/dist/web/tools/function_tool.js +2 -0
  377. package/dist/web/tools/google_search_tool.js +2 -0
  378. package/dist/web/tools/load_artifacts_tool.js +2 -0
  379. package/dist/web/tools/load_memory_tool.js +2 -0
  380. package/dist/web/tools/long_running_tool.js +2 -0
  381. package/dist/web/tools/mcp/mcp_session_manager.js +2 -0
  382. package/dist/web/tools/mcp/mcp_tool.js +6 -1
  383. package/dist/web/tools/mcp/mcp_toolset.js +2 -0
  384. package/dist/web/tools/preload_memory_tool.js +2 -0
  385. package/dist/web/tools/skill/list_skills_tool.js +50 -0
  386. package/dist/web/tools/skill/load_skill_resource_tool.js +191 -0
  387. package/dist/web/tools/skill/load_skill_tool.js +82 -0
  388. package/dist/web/tools/skill/run_skill_inline_script_tool.js +120 -0
  389. package/dist/web/tools/skill/run_skill_script_tool.js +190 -0
  390. package/dist/web/tools/skill/skill_toolset.js +123 -0
  391. package/dist/web/tools/tool_confirmation.js +2 -0
  392. package/dist/web/utils/client_labels.js +2 -0
  393. package/dist/web/utils/env_aware_utils.js +2 -0
  394. package/dist/web/utils/experimental.js +46 -0
  395. package/dist/web/utils/failover_utils.js +96 -0
  396. package/dist/web/utils/file_extension_utils.js +51 -0
  397. package/dist/web/utils/file_utils.js +74 -0
  398. package/dist/web/utils/gemini_schema_util.js +87 -12
  399. package/dist/web/utils/logger.js +2 -0
  400. package/dist/web/utils/model_name.js +2 -0
  401. package/dist/web/utils/object_notation_utils.js +2 -0
  402. package/dist/web/utils/simple_zod_to_json.js +2 -0
  403. package/dist/web/utils/streaming_utils.js +325 -0
  404. package/dist/web/utils/variant_utils.js +2 -0
  405. package/dist/web/version.js +3 -1
  406. package/package.json +20 -18
@@ -0,0 +1,244 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
3
+ /**
4
+ * @license
5
+ * Copyright 2026 Google LLC
6
+ * SPDX-License-Identifier: Apache-2.0
7
+ */
8
+ import yaml from "js-yaml";
9
+ import * as fs from "node:fs/promises";
10
+ import * as path from "node:path";
11
+ import { logger } from "../utils/logger.js";
12
+ import {
13
+ FrontmatterSchema
14
+ } from "./skill.js";
15
+ const ALLOWED_FRONTMATTER_KEYS = /* @__PURE__ */ new Set([
16
+ "name",
17
+ "description",
18
+ "license",
19
+ "allowed-tools",
20
+ "metadata",
21
+ "compatibility"
22
+ ]);
23
+ const IGNORED_DIRECTORIES = /* @__PURE__ */ new Set([
24
+ "__pycache__",
25
+ ".pytest_cache",
26
+ ".mypy_cache",
27
+ ".ruff_cache",
28
+ "node_modules",
29
+ "coverage",
30
+ "venv",
31
+ ".venv",
32
+ "env",
33
+ ".env",
34
+ ".git",
35
+ ".vscode",
36
+ ".idea"
37
+ ]);
38
+ const IGNORED_EXTENSIONS = /* @__PURE__ */ new Set([
39
+ ".pyc",
40
+ ".pyo",
41
+ ".pyd",
42
+ ".tsbuildinfo",
43
+ ".DS_Store"
44
+ ]);
45
+ async function loadDir(directoryPath) {
46
+ const files = {};
47
+ async function walk(dir) {
48
+ const entries = await fs.readdir(dir, { withFileTypes: true });
49
+ for (const entry of entries) {
50
+ const fullPath = path.join(dir, entry.name);
51
+ if (entry.isDirectory()) {
52
+ if (IGNORED_DIRECTORIES.has(entry.name)) {
53
+ continue;
54
+ }
55
+ await walk(fullPath);
56
+ } else if (entry.isFile()) {
57
+ const relativePath = path.relative(directoryPath, fullPath);
58
+ if (IGNORED_EXTENSIONS.has(path.extname(entry.name))) {
59
+ continue;
60
+ }
61
+ const fileData = await fs.readFile(fullPath);
62
+ try {
63
+ files[relativePath] = fileData.toString("utf-8");
64
+ } catch (_e) {
65
+ files[relativePath] = fileData;
66
+ }
67
+ }
68
+ }
69
+ }
70
+ try {
71
+ const stats = await fs.stat(directoryPath);
72
+ if (stats.isDirectory()) {
73
+ await walk(directoryPath);
74
+ }
75
+ } catch (e) {
76
+ logger.warn(
77
+ `Failed to load directory '${directoryPath}': ${e.message}`
78
+ );
79
+ }
80
+ return files;
81
+ }
82
+ function parseSkillMdContent(content) {
83
+ if (!content.startsWith("---")) {
84
+ throw new Error("SKILL.md must start with YAML frontmatter (---)");
85
+ }
86
+ const parts = content.split("---", 3);
87
+ if (parts.length < 3) {
88
+ throw new Error("SKILL.md frontmatter not properly closed with ---");
89
+ }
90
+ const frontmatterStr = parts[1];
91
+ const body = parts[2].trim();
92
+ try {
93
+ const parsed = yaml.load(frontmatterStr);
94
+ if (typeof parsed !== "object" || parsed === null) {
95
+ throw new Error("SKILL.md frontmatter must be a YAML mapping");
96
+ }
97
+ const frontmatter = FrontmatterSchema.parse(parsed);
98
+ return { frontmatter, body };
99
+ } catch (e) {
100
+ throw new Error(`Invalid YAML in frontmatter: ${e.message}`);
101
+ }
102
+ }
103
+ async function loadSkillFromDir(skillDir) {
104
+ const resolvedDir = path.resolve(skillDir);
105
+ const skill = await loadSkillFile(skillDir);
106
+ const referencesDir = path.join(resolvedDir, "references");
107
+ const assetsDir = path.join(resolvedDir, "assets");
108
+ const scriptsDir = path.join(resolvedDir, "scripts");
109
+ const [references, assets, rawScripts] = await Promise.all([
110
+ loadDir(referencesDir),
111
+ loadDir(assetsDir),
112
+ loadDir(scriptsDir)
113
+ ]);
114
+ const scripts = {};
115
+ for (const [name, src] of Object.entries(rawScripts)) {
116
+ if (typeof src === "string") {
117
+ scripts[name] = { src };
118
+ }
119
+ }
120
+ const resources = { references, assets, scripts };
121
+ return {
122
+ ...skill,
123
+ resources
124
+ };
125
+ }
126
+ async function validateSkillDir(skillDir) {
127
+ const problems = [];
128
+ const resolvedDir = path.resolve(skillDir);
129
+ let skill;
130
+ try {
131
+ skill = await loadSkillFile(resolvedDir);
132
+ } catch (e) {
133
+ return [e.message];
134
+ }
135
+ try {
136
+ const keys = Object.keys(skill.frontmatter);
137
+ const unknown = keys.filter((k) => !ALLOWED_FRONTMATTER_KEYS.has(k));
138
+ if (unknown.length > 0) {
139
+ problems.push(
140
+ `Unknown frontmatter fields: [${unknown.sort().join(", ")}]`
141
+ );
142
+ }
143
+ const dirName = path.basename(resolvedDir);
144
+ if (dirName !== skill.frontmatter.name) {
145
+ problems.push(
146
+ `Skill name '${skill.frontmatter.name}' does not match directory name '${dirName}'.`
147
+ );
148
+ }
149
+ } catch (e) {
150
+ problems.push(e.message);
151
+ }
152
+ return problems;
153
+ }
154
+ async function loadSkillFile(skillDir) {
155
+ const resolvedDir = path.resolve(skillDir);
156
+ let skillMdPath = "";
157
+ let content = "";
158
+ try {
159
+ const entries = await fs.readdir(resolvedDir, { withFileTypes: true });
160
+ for (const entry of entries) {
161
+ if (entry.isFile() && entry.name.toLowerCase() === "skill.md") {
162
+ const p = path.join(resolvedDir, entry.name);
163
+ try {
164
+ content = await fs.readFile(p, "utf-8");
165
+ skillMdPath = p;
166
+ break;
167
+ } catch (_e) {
168
+ }
169
+ }
170
+ }
171
+ } catch (e) {
172
+ logger.warn(
173
+ `Failed to load directory '${skillDir}': ${e.message}`
174
+ );
175
+ }
176
+ if (!skillMdPath) {
177
+ throw new Error(
178
+ `SKILL.md (or any case variation like skill.md) not found in '${skillDir}'.`
179
+ );
180
+ }
181
+ const { frontmatter: parsed, body } = parseSkillMdContent(content);
182
+ const frontmatter = FrontmatterSchema.parse(parsed);
183
+ const dirName = path.basename(resolvedDir);
184
+ if (dirName !== frontmatter.name) {
185
+ throw new Error(
186
+ `Skill name '${frontmatter.name}' does not match directory name '${dirName}'.`
187
+ );
188
+ }
189
+ return {
190
+ frontmatter,
191
+ instructions: body
192
+ };
193
+ }
194
+ async function loadAllSkillsInDir(skillsBasePath) {
195
+ const resolvedPath = path.resolve(skillsBasePath);
196
+ const skills = {};
197
+ async function scanDir(currentDir) {
198
+ let entries;
199
+ try {
200
+ entries = await fs.readdir(currentDir, { withFileTypes: true });
201
+ } catch (_e) {
202
+ return;
203
+ }
204
+ let isSkillDir = false;
205
+ if (currentDir !== resolvedPath) {
206
+ for (const entry of entries) {
207
+ if (entry.isFile() && entry.name.toLowerCase() === "skill.md") {
208
+ isSkillDir = true;
209
+ break;
210
+ }
211
+ }
212
+ }
213
+ if (isSkillDir) {
214
+ try {
215
+ const skill = await loadSkillFromDir(currentDir);
216
+ skills[skill.frontmatter.name] = skill;
217
+ } catch (e) {
218
+ logger.warn(`Skipping invalid skill in '${currentDir}':`, e);
219
+ }
220
+ } else {
221
+ for (const entry of entries) {
222
+ if (entry.isDirectory()) {
223
+ if (IGNORED_DIRECTORIES.has(entry.name)) {
224
+ continue;
225
+ }
226
+ await scanDir(path.join(currentDir, entry.name));
227
+ }
228
+ }
229
+ }
230
+ }
231
+ try {
232
+ await fs.readdir(resolvedPath);
233
+ await scanDir(resolvedPath);
234
+ } catch (e) {
235
+ logger.warn(`Skills base path '${skillsBasePath}' is not a directory.`, e);
236
+ }
237
+ return skills;
238
+ }
239
+ export {
240
+ loadAllSkillsInDir,
241
+ loadSkillFromDir,
242
+ parseSkillMdContent,
243
+ validateSkillDir
244
+ };
@@ -0,0 +1,30 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
3
+ /**
4
+ * @license
5
+ * Copyright 2026 Google LLC
6
+ * SPDX-License-Identifier: Apache-2.0
7
+ */
8
+ function escapeHtml(unsafe) {
9
+ return unsafe.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#039;");
10
+ }
11
+ function formatSkillsAsXml(skills) {
12
+ if (!skills || skills.length === 0) {
13
+ return "<available_skills>\n</available_skills>";
14
+ }
15
+ const lines = ["<available_skills>"];
16
+ for (const item of skills) {
17
+ const frontmatter = "frontmatter" in item ? item.frontmatter : item;
18
+ lines.push(" <skill>");
19
+ lines.push(` <name>${escapeHtml(frontmatter.name)}</name>`);
20
+ lines.push(
21
+ ` <description>${escapeHtml(frontmatter.description)}</description>`
22
+ );
23
+ lines.push(" </skill>");
24
+ }
25
+ lines.push("</available_skills>");
26
+ return lines.join("\n");
27
+ }
28
+ export {
29
+ formatSkillsAsXml
30
+ };
@@ -0,0 +1,49 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
3
+ /**
4
+ * @license
5
+ * Copyright 2026 Google LLC
6
+ * SPDX-License-Identifier: Apache-2.0
7
+ */
8
+ import { z } from "zod";
9
+ const SNAKE_OR_KEBAB_NAME_PATTERN = /^([a-z0-9]+(-[a-z0-9]+)*|[a-z0-9]+(_[a-z0-9]+)*)$/;
10
+ const FrontmatterSchema = z.preprocess(
11
+ (data) => {
12
+ if (typeof data === "object" && data !== null) {
13
+ const obj = data;
14
+ if ("allowed-tools" in obj && !("allowedTools" in obj)) {
15
+ return {
16
+ ...obj,
17
+ allowedTools: obj["allowed-tools"]
18
+ };
19
+ }
20
+ }
21
+ return data;
22
+ },
23
+ z.object({
24
+ name: z.string().regex(SNAKE_OR_KEBAB_NAME_PATTERN, {
25
+ message: "name must be lowercase kebab-case (a-z, 0-9, hyphens) or snake_case (a-z, 0-9, underscores), with no leading, trailing, or consecutive delimiters. Mixing hyphens and underscores is not allowed."
26
+ }).max(64),
27
+ description: z.string().min(1).max(1024),
28
+ license: z.string().optional(),
29
+ compatibility: z.string().max(500).optional(),
30
+ "allowed-tools": z.string().optional(),
31
+ metadata: z.record(z.string(), z.any()).default({}).refine(
32
+ (data) => {
33
+ if ("adk_additional_tools" in data) {
34
+ return Array.isArray(data.adk_additional_tools) && data.adk_additional_tools.every(
35
+ (item) => typeof item === "string"
36
+ );
37
+ }
38
+ return true;
39
+ },
40
+ {
41
+ message: "adk_additional_tools must be a list of strings"
42
+ }
43
+ )
44
+ }).loose()
45
+ );
46
+ export {
47
+ FrontmatterSchema,
48
+ SNAKE_OR_KEBAB_NAME_PATTERN
49
+ };
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  /**
2
4
  * @license
3
5
  * Copyright 2025 Google LLC
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  /**
2
4
  * @license
3
5
  * Copyright 2025 Google LLC
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  /**
2
4
  * @license
3
5
  * Copyright 2025 Google LLC
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  /**
2
4
  * @license
3
5
  * Copyright 2025 Google LLC
@@ -63,7 +65,7 @@ class AgentTool extends (_b = BaseTool, _a = AGENT_TOOL_SIGNATURE_SYMBOL, _b) {
63
65
  args,
64
66
  toolContext
65
67
  }) {
66
- var _a2, _b2, _c, _d;
68
+ var _a2, _b2, _c, _d, _e, _f;
67
69
  if (this.skipSummarization) {
68
70
  toolContext.actions.skipSummarization = true;
69
71
  }
@@ -92,18 +94,25 @@ class AgentTool extends (_b = BaseTool, _a = AGENT_TOOL_SIGNATURE_SYMBOL, _b) {
92
94
  sessionId: toolContext.invocationContext.session.id,
93
95
  state: toolContext.state.toRecord()
94
96
  });
97
+ if ((_c = toolContext.abortSignal) == null ? void 0 : _c.aborted) {
98
+ return "";
99
+ }
95
100
  let lastEvent;
96
101
  for await (const event of runner.runAsync({
97
102
  userId: session.userId,
98
103
  sessionId: session.id,
99
- newMessage: content
104
+ newMessage: content,
105
+ abortSignal: toolContext.abortSignal
100
106
  })) {
107
+ if ((_d = toolContext.abortSignal) == null ? void 0 : _d.aborted) {
108
+ return;
109
+ }
101
110
  if (event.actions.stateDelta) {
102
111
  toolContext.state.update(event.actions.stateDelta);
103
112
  }
104
113
  lastEvent = event;
105
114
  }
106
- if (!((_d = (_c = lastEvent == null ? void 0 : lastEvent.content) == null ? void 0 : _c.parts) == null ? void 0 : _d.length)) {
115
+ if (!((_f = (_e = lastEvent == null ? void 0 : lastEvent.content) == null ? void 0 : _e.parts) == null ? void 0 : _f.length)) {
107
116
  return "";
108
117
  }
109
118
  const hasOutputSchema = isLlmAgent(this.agent) && this.agent.outputSchema;
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  /**
2
4
  * @license
3
5
  * Copyright 2025 Google LLC
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  /**
2
4
  * @license
3
5
  * Copyright 2025 Google LLC
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  /**
2
4
  * @license
3
5
  * Copyright 2026 Google LLC
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  /**
2
4
  * @license
3
5
  * Copyright 2025 Google LLC
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  /**
2
4
  * @license
3
5
  * Copyright 2025 Google LLC
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  /**
2
4
  * @license
3
5
  * Copyright 2025 Google LLC
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  /**
2
4
  * @license
3
5
  * Copyright 2026 Google LLC
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  /**
2
4
  * @license
3
5
  * Copyright 2026 Google LLC
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  /**
2
4
  * @license
3
5
  * Copyright 2025 Google LLC
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  /**
2
4
  * @license
3
5
  * Copyright 2025 Google LLC
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  /**
2
4
  * @license
3
5
  * Copyright 2025 Google LLC
@@ -25,7 +27,10 @@ class MCPTool extends BaseTool {
25
27
  const session = await this.mcpSessionManager.createSession();
26
28
  const callRequest = {};
27
29
  callRequest.params = { name: this.mcpTool.name, arguments: request.args };
28
- return await session.callTool(callRequest.params);
30
+ const result = await session.callTool(callRequest.params, void 0, {
31
+ signal: request.toolContext.abortSignal
32
+ });
33
+ return result;
29
34
  }
30
35
  }
31
36
  export {
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  /**
2
4
  * @license
3
5
  * Copyright 2025 Google LLC
@@ -1,3 +1,5 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
1
3
  /**
2
4
  * @license
3
5
  * Copyright 2026 Google LLC
@@ -0,0 +1,50 @@
1
+ import {createRequire as topLevelCreateRequire} from 'module';
2
+ const require = topLevelCreateRequire(import.meta.url);
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __decorateClass = (decorators, target, key, kind) => {
6
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
7
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
8
+ if (decorator = decorators[i])
9
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
10
+ if (kind && result) __defProp(target, key, result);
11
+ return result;
12
+ };
13
+ /**
14
+ * @license
15
+ * Copyright 2026 Google LLC
16
+ * SPDX-License-Identifier: Apache-2.0
17
+ */
18
+ import { Type } from "@google/genai";
19
+ import { formatSkillsAsXml } from "../../skills/prompt.js";
20
+ import { experimental } from "../../utils/experimental.js";
21
+ import { BaseTool } from "../base_tool.js";
22
+ let ListSkillsTool = class extends BaseTool {
23
+ constructor(toolset) {
24
+ super({
25
+ name: "list_skills",
26
+ description: "Lists all available skills with their names and descriptions."
27
+ });
28
+ this.toolset = toolset;
29
+ }
30
+ _getDeclaration() {
31
+ return {
32
+ name: this.name,
33
+ description: this.description,
34
+ parameters: {
35
+ type: Type.OBJECT,
36
+ properties: {}
37
+ }
38
+ };
39
+ }
40
+ async runAsync(_request) {
41
+ const skills = Object.values(this.toolset.skills);
42
+ return formatSkillsAsXml(skills);
43
+ }
44
+ };
45
+ ListSkillsTool = __decorateClass([
46
+ experimental
47
+ ], ListSkillsTool);
48
+ export {
49
+ ListSkillsTool
50
+ };