@google/gemini-cli-core 0.31.0 → 0.33.0-nightly.20260228.1ca5c05d0

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 (323) hide show
  1. package/dist/docs/changelogs/index.md +22 -0
  2. package/dist/docs/changelogs/latest.md +307 -352
  3. package/dist/docs/changelogs/preview.md +391 -293
  4. package/dist/docs/cli/cli-reference.md +12 -12
  5. package/dist/docs/cli/custom-commands.md +9 -0
  6. package/dist/docs/cli/enterprise.md +19 -0
  7. package/dist/docs/cli/model.md +5 -14
  8. package/dist/docs/cli/plan-mode.md +29 -7
  9. package/dist/docs/cli/sandbox.md +42 -2
  10. package/dist/docs/cli/settings.md +15 -6
  11. package/dist/docs/cli/telemetry.md +68 -11
  12. package/dist/docs/cli/tutorials/automation.md +101 -5
  13. package/dist/docs/cli/tutorials/mcp-setup.md +8 -0
  14. package/dist/docs/cli/tutorials/skills-getting-started.md +8 -0
  15. package/dist/docs/extensions/reference.md +36 -0
  16. package/dist/docs/extensions/writing-extensions.md +16 -0
  17. package/dist/docs/get-started/authentication.md +86 -5
  18. package/dist/docs/get-started/installation.md +2 -2
  19. package/dist/docs/hooks/best-practices.md +33 -1
  20. package/dist/docs/hooks/writing-hooks.md +24 -0
  21. package/dist/docs/ide-integration/index.md +8 -0
  22. package/dist/docs/local-development.md +49 -43
  23. package/dist/docs/reference/configuration.md +48 -7
  24. package/dist/docs/reference/keyboard-shortcuts.md +6 -6
  25. package/dist/docs/reference/policy-engine.md +14 -3
  26. package/dist/docs/resources/faq.md +21 -0
  27. package/dist/docs/resources/tos-privacy.md +6 -0
  28. package/dist/docs/resources/troubleshooting.md +4 -1
  29. package/dist/docs/resources/uninstall.md +1 -10
  30. package/dist/docs/tools/mcp-server.md +22 -0
  31. package/dist/google-gemini-cli-core-0.33.0-nightly.20260227.08ee13613.tgz +0 -0
  32. package/dist/src/agents/a2a-client-manager.d.ts +7 -6
  33. package/dist/src/agents/a2a-client-manager.js +8 -9
  34. package/dist/src/agents/a2a-client-manager.js.map +1 -1
  35. package/dist/src/agents/a2a-client-manager.test.js +45 -31
  36. package/dist/src/agents/a2a-client-manager.test.js.map +1 -1
  37. package/dist/src/agents/a2aUtils.d.ts +25 -7
  38. package/dist/src/agents/a2aUtils.js +165 -58
  39. package/dist/src/agents/a2aUtils.js.map +1 -1
  40. package/dist/src/agents/a2aUtils.test.js +170 -27
  41. package/dist/src/agents/a2aUtils.test.js.map +1 -1
  42. package/dist/src/agents/generalist-agent.js +1 -2
  43. package/dist/src/agents/generalist-agent.js.map +1 -1
  44. package/dist/src/agents/registry.test.js +4 -2
  45. package/dist/src/agents/registry.test.js.map +1 -1
  46. package/dist/src/agents/remote-invocation.d.ts +2 -1
  47. package/dist/src/agents/remote-invocation.js +41 -22
  48. package/dist/src/agents/remote-invocation.js.map +1 -1
  49. package/dist/src/agents/remote-invocation.test.js +196 -56
  50. package/dist/src/agents/remote-invocation.test.js.map +1 -1
  51. package/dist/src/agents/subagent-tool-wrapper.js +1 -1
  52. package/dist/src/agents/subagent-tool-wrapper.test.js +1 -1
  53. package/dist/src/agents/subagent-tool.js +15 -2
  54. package/dist/src/agents/subagent-tool.js.map +1 -1
  55. package/dist/src/agents/subagent-tool.test.js +31 -0
  56. package/dist/src/agents/subagent-tool.test.js.map +1 -1
  57. package/dist/src/billing/billing.d.ts +80 -0
  58. package/dist/src/billing/billing.js +127 -0
  59. package/dist/src/billing/billing.js.map +1 -0
  60. package/dist/src/billing/billing.test.d.ts +6 -0
  61. package/dist/src/billing/billing.test.js +182 -0
  62. package/dist/src/billing/billing.test.js.map +1 -0
  63. package/dist/src/billing/index.d.ts +6 -0
  64. package/dist/src/billing/index.js +7 -0
  65. package/dist/src/billing/index.js.map +1 -0
  66. package/dist/src/code_assist/codeAssist.js +1 -1
  67. package/dist/src/code_assist/codeAssist.js.map +1 -1
  68. package/dist/src/code_assist/codeAssist.test.js +2 -2
  69. package/dist/src/code_assist/codeAssist.test.js.map +1 -1
  70. package/dist/src/code_assist/converter.d.ts +9 -4
  71. package/dist/src/code_assist/converter.js +17 -2
  72. package/dist/src/code_assist/converter.js.map +1 -1
  73. package/dist/src/code_assist/converter.test.js.map +1 -1
  74. package/dist/src/code_assist/oauth2.js +6 -3
  75. package/dist/src/code_assist/oauth2.js.map +1 -1
  76. package/dist/src/code_assist/oauth2.test.js +1 -0
  77. package/dist/src/code_assist/oauth2.test.js.map +1 -1
  78. package/dist/src/code_assist/server.d.ts +9 -4
  79. package/dist/src/code_assist/server.js +86 -5
  80. package/dist/src/code_assist/server.js.map +1 -1
  81. package/dist/src/code_assist/server.test.js +11 -0
  82. package/dist/src/code_assist/server.test.js.map +1 -1
  83. package/dist/src/code_assist/setup.d.ts +2 -1
  84. package/dist/src/code_assist/setup.js +15 -4
  85. package/dist/src/code_assist/setup.js.map +1 -1
  86. package/dist/src/code_assist/types.d.ts +33 -10
  87. package/dist/src/code_assist/types.js.map +1 -1
  88. package/dist/src/config/config.d.ts +50 -4
  89. package/dist/src/config/config.js +77 -3
  90. package/dist/src/config/config.js.map +1 -1
  91. package/dist/src/config/config.test.js +151 -1
  92. package/dist/src/config/config.test.js.map +1 -1
  93. package/dist/src/config/storage.d.ts +1 -0
  94. package/dist/src/config/storage.js +3 -0
  95. package/dist/src/config/storage.js.map +1 -1
  96. package/dist/src/core/contentGenerator.d.ts +3 -2
  97. package/dist/src/core/contentGenerator.js +9 -2
  98. package/dist/src/core/contentGenerator.js.map +1 -1
  99. package/dist/src/core/coreToolScheduler.js +2 -1
  100. package/dist/src/core/coreToolScheduler.js.map +1 -1
  101. package/dist/src/core/coreToolScheduler.test.js +21 -2
  102. package/dist/src/core/coreToolScheduler.test.js.map +1 -1
  103. package/dist/src/core/fakeContentGenerator.d.ts +2 -1
  104. package/dist/src/core/fakeContentGenerator.js +1 -0
  105. package/dist/src/core/fakeContentGenerator.js.map +1 -1
  106. package/dist/src/core/geminiChat.js +6 -2
  107. package/dist/src/core/geminiChat.js.map +1 -1
  108. package/dist/src/core/geminiChat.test.js +34 -0
  109. package/dist/src/core/geminiChat.test.js.map +1 -1
  110. package/dist/src/core/localLiteRtLmClient.d.ts +24 -0
  111. package/dist/src/core/localLiteRtLmClient.js +77 -0
  112. package/dist/src/core/localLiteRtLmClient.js.map +1 -0
  113. package/dist/src/core/localLiteRtLmClient.test.d.ts +6 -0
  114. package/dist/src/core/localLiteRtLmClient.test.js +87 -0
  115. package/dist/src/core/localLiteRtLmClient.test.js.map +1 -0
  116. package/dist/src/core/loggingContentGenerator.d.ts +3 -1
  117. package/dist/src/core/loggingContentGenerator.js +65 -17
  118. package/dist/src/core/loggingContentGenerator.js.map +1 -1
  119. package/dist/src/core/loggingContentGenerator.test.js +164 -5
  120. package/dist/src/core/loggingContentGenerator.test.js.map +1 -1
  121. package/dist/src/core/prompts.test.js +1 -1
  122. package/dist/src/core/prompts.test.js.map +1 -1
  123. package/dist/src/fallback/handler.js +2 -0
  124. package/dist/src/fallback/handler.js.map +1 -1
  125. package/dist/src/fallback/types.d.ts +1 -1
  126. package/dist/src/generated/git-commit.d.ts +2 -2
  127. package/dist/src/generated/git-commit.js +2 -2
  128. package/dist/src/generated/git-commit.js.map +1 -1
  129. package/dist/src/index.d.ts +5 -0
  130. package/dist/src/index.js +5 -0
  131. package/dist/src/index.js.map +1 -1
  132. package/dist/src/policy/config.d.ts +18 -6
  133. package/dist/src/policy/config.js +50 -12
  134. package/dist/src/policy/config.js.map +1 -1
  135. package/dist/src/policy/config.test.js +26 -26
  136. package/dist/src/policy/config.test.js.map +1 -1
  137. package/dist/src/policy/policies/plan.toml +1 -1
  138. package/dist/src/policy/policy-engine.d.ts +8 -0
  139. package/dist/src/policy/policy-engine.js +12 -0
  140. package/dist/src/policy/policy-engine.js.map +1 -1
  141. package/dist/src/policy/policy-engine.test.js +93 -0
  142. package/dist/src/policy/policy-engine.test.js.map +1 -1
  143. package/dist/src/policy/toml-loader.d.ts +1 -1
  144. package/dist/src/policy/toml-loader.js +4 -2
  145. package/dist/src/policy/toml-loader.js.map +1 -1
  146. package/dist/src/policy/toml-loader.test.js +15 -12
  147. package/dist/src/policy/toml-loader.test.js.map +1 -1
  148. package/dist/src/policy/workspace-policy.test.js +10 -10
  149. package/dist/src/prompts/snippets.js +43 -27
  150. package/dist/src/prompts/snippets.js.map +1 -1
  151. package/dist/src/routing/modelRouterService.js +19 -11
  152. package/dist/src/routing/modelRouterService.js.map +1 -1
  153. package/dist/src/routing/modelRouterService.test.js +38 -1
  154. package/dist/src/routing/modelRouterService.test.js.map +1 -1
  155. package/dist/src/routing/routingStrategy.d.ts +3 -2
  156. package/dist/src/routing/strategies/classifierStrategy.d.ts +2 -1
  157. package/dist/src/routing/strategies/classifierStrategy.js +1 -1
  158. package/dist/src/routing/strategies/classifierStrategy.js.map +1 -1
  159. package/dist/src/routing/strategies/classifierStrategy.test.js +15 -13
  160. package/dist/src/routing/strategies/classifierStrategy.test.js.map +1 -1
  161. package/dist/src/routing/strategies/compositeStrategy.d.ts +2 -1
  162. package/dist/src/routing/strategies/compositeStrategy.js +3 -3
  163. package/dist/src/routing/strategies/compositeStrategy.js.map +1 -1
  164. package/dist/src/routing/strategies/compositeStrategy.test.js +10 -8
  165. package/dist/src/routing/strategies/compositeStrategy.test.js.map +1 -1
  166. package/dist/src/routing/strategies/defaultStrategy.d.ts +2 -1
  167. package/dist/src/routing/strategies/defaultStrategy.js +1 -1
  168. package/dist/src/routing/strategies/defaultStrategy.js.map +1 -1
  169. package/dist/src/routing/strategies/defaultStrategy.test.js +8 -4
  170. package/dist/src/routing/strategies/defaultStrategy.test.js.map +1 -1
  171. package/dist/src/routing/strategies/fallbackStrategy.d.ts +2 -1
  172. package/dist/src/routing/strategies/fallbackStrategy.js +1 -1
  173. package/dist/src/routing/strategies/fallbackStrategy.js.map +1 -1
  174. package/dist/src/routing/strategies/fallbackStrategy.test.js +6 -5
  175. package/dist/src/routing/strategies/fallbackStrategy.test.js.map +1 -1
  176. package/dist/src/routing/strategies/gemmaClassifierStrategy.d.ts +14 -0
  177. package/dist/src/routing/strategies/gemmaClassifierStrategy.js +182 -0
  178. package/dist/src/routing/strategies/gemmaClassifierStrategy.js.map +1 -0
  179. package/dist/src/routing/strategies/gemmaClassifierStrategy.test.d.ts +6 -0
  180. package/dist/src/routing/strategies/gemmaClassifierStrategy.test.js +218 -0
  181. package/dist/src/routing/strategies/gemmaClassifierStrategy.test.js.map +1 -0
  182. package/dist/src/routing/strategies/numericalClassifierStrategy.d.ts +2 -1
  183. package/dist/src/routing/strategies/numericalClassifierStrategy.js +1 -1
  184. package/dist/src/routing/strategies/numericalClassifierStrategy.js.map +1 -1
  185. package/dist/src/routing/strategies/numericalClassifierStrategy.test.js +24 -22
  186. package/dist/src/routing/strategies/numericalClassifierStrategy.test.js.map +1 -1
  187. package/dist/src/routing/strategies/overrideStrategy.d.ts +2 -1
  188. package/dist/src/routing/strategies/overrideStrategy.js +1 -1
  189. package/dist/src/routing/strategies/overrideStrategy.js.map +1 -1
  190. package/dist/src/routing/strategies/overrideStrategy.test.js +5 -4
  191. package/dist/src/routing/strategies/overrideStrategy.test.js.map +1 -1
  192. package/dist/src/scheduler/scheduler.d.ts +1 -0
  193. package/dist/src/scheduler/scheduler.js +18 -7
  194. package/dist/src/scheduler/scheduler.js.map +1 -1
  195. package/dist/src/scheduler/scheduler.test.js +19 -1
  196. package/dist/src/scheduler/scheduler.test.js.map +1 -1
  197. package/dist/src/scheduler/scheduler_parallel.test.js +94 -3
  198. package/dist/src/scheduler/scheduler_parallel.test.js.map +1 -1
  199. package/dist/src/scheduler/tool-executor.js +21 -12
  200. package/dist/src/scheduler/tool-executor.js.map +1 -1
  201. package/dist/src/scheduler/tool-executor.test.js +54 -0
  202. package/dist/src/scheduler/tool-executor.test.js.map +1 -1
  203. package/dist/src/services/trackerService.d.ts +49 -0
  204. package/dist/src/services/trackerService.js +172 -0
  205. package/dist/src/services/trackerService.js.map +1 -0
  206. package/dist/src/services/trackerService.test.d.ts +6 -0
  207. package/dist/src/services/trackerService.test.js +117 -0
  208. package/dist/src/services/trackerService.test.js.map +1 -0
  209. package/dist/src/services/trackerTypes.d.ts +51 -0
  210. package/dist/src/services/trackerTypes.js +33 -0
  211. package/dist/src/services/trackerTypes.js.map +1 -0
  212. package/dist/src/telemetry/billingEvents.d.ts +75 -0
  213. package/dist/src/telemetry/billingEvents.js +181 -0
  214. package/dist/src/telemetry/billingEvents.js.map +1 -0
  215. package/dist/src/telemetry/billingEvents.test.d.ts +6 -0
  216. package/dist/src/telemetry/billingEvents.test.js +139 -0
  217. package/dist/src/telemetry/billingEvents.test.js.map +1 -0
  218. package/dist/src/telemetry/conseca-logger.test.js +1 -0
  219. package/dist/src/telemetry/conseca-logger.test.js.map +1 -1
  220. package/dist/src/telemetry/constants.d.ts +25 -0
  221. package/dist/src/telemetry/constants.js +29 -0
  222. package/dist/src/telemetry/constants.js.map +1 -1
  223. package/dist/src/telemetry/index.d.ts +3 -1
  224. package/dist/src/telemetry/index.js +5 -1
  225. package/dist/src/telemetry/index.js.map +1 -1
  226. package/dist/src/telemetry/loggers.d.ts +2 -0
  227. package/dist/src/telemetry/loggers.js +10 -0
  228. package/dist/src/telemetry/loggers.js.map +1 -1
  229. package/dist/src/telemetry/loggers.test.js +16 -0
  230. package/dist/src/telemetry/loggers.test.js.map +1 -1
  231. package/dist/src/telemetry/metrics.d.ts +28 -0
  232. package/dist/src/telemetry/metrics.js +40 -0
  233. package/dist/src/telemetry/metrics.js.map +1 -1
  234. package/dist/src/telemetry/sanitize.test.js +1 -0
  235. package/dist/src/telemetry/sanitize.test.js.map +1 -1
  236. package/dist/src/telemetry/sdk.test.js +1 -0
  237. package/dist/src/telemetry/sdk.test.js.map +1 -1
  238. package/dist/src/telemetry/telemetryAttributes.js +2 -0
  239. package/dist/src/telemetry/telemetryAttributes.js.map +1 -1
  240. package/dist/src/telemetry/trace.d.ts +2 -1
  241. package/dist/src/telemetry/trace.js +13 -18
  242. package/dist/src/telemetry/trace.js.map +1 -1
  243. package/dist/src/telemetry/trace.test.d.ts +6 -0
  244. package/dist/src/telemetry/trace.test.js +116 -0
  245. package/dist/src/telemetry/trace.test.js.map +1 -0
  246. package/dist/src/tools/confirmation-policy.test.js +1 -0
  247. package/dist/src/tools/confirmation-policy.test.js.map +1 -1
  248. package/dist/src/tools/definitions/model-family-sets/default-legacy.js +2 -2
  249. package/dist/src/tools/definitions/model-family-sets/default-legacy.js.map +1 -1
  250. package/dist/src/tools/definitions/model-family-sets/gemini-3.js +3 -3
  251. package/dist/src/tools/definitions/model-family-sets/gemini-3.js.map +1 -1
  252. package/dist/src/tools/grep-utils.d.ts +1 -1
  253. package/dist/src/tools/grep-utils.js +4 -4
  254. package/dist/src/tools/grep-utils.js.map +1 -1
  255. package/dist/src/tools/grep.d.ts +1 -1
  256. package/dist/src/tools/grep.js +9 -9
  257. package/dist/src/tools/grep.js.map +1 -1
  258. package/dist/src/tools/grep.test.js +8 -5
  259. package/dist/src/tools/grep.test.js.map +1 -1
  260. package/dist/src/tools/line-endings.test.js +3 -11
  261. package/dist/src/tools/line-endings.test.js.map +1 -1
  262. package/dist/src/tools/mcp-client-manager.d.ts +25 -0
  263. package/dist/src/tools/mcp-client-manager.js +66 -3
  264. package/dist/src/tools/mcp-client-manager.js.map +1 -1
  265. package/dist/src/tools/mcp-client-manager.test.js +47 -0
  266. package/dist/src/tools/mcp-client-manager.test.js.map +1 -1
  267. package/dist/src/tools/mcp-client.d.ts +20 -9
  268. package/dist/src/tools/mcp-client.js +50 -46
  269. package/dist/src/tools/mcp-client.js.map +1 -1
  270. package/dist/src/tools/mcp-client.test.js +96 -84
  271. package/dist/src/tools/mcp-client.test.js.map +1 -1
  272. package/dist/src/tools/mcp-tool.d.ts +3 -3
  273. package/dist/src/tools/mcp-tool.js +1 -0
  274. package/dist/src/tools/mcp-tool.js.map +1 -1
  275. package/dist/src/tools/ripGrep.d.ts +1 -1
  276. package/dist/src/tools/ripGrep.js +7 -7
  277. package/dist/src/tools/ripGrep.js.map +1 -1
  278. package/dist/src/tools/ripGrep.test.js +10 -7
  279. package/dist/src/tools/ripGrep.test.js.map +1 -1
  280. package/dist/src/tools/tools.d.ts +1 -0
  281. package/dist/src/tools/tools.js +1 -0
  282. package/dist/src/tools/tools.js.map +1 -1
  283. package/dist/src/tools/write-file.js +4 -17
  284. package/dist/src/tools/write-file.js.map +1 -1
  285. package/dist/src/tools/write-file.test.js +29 -83
  286. package/dist/src/tools/write-file.test.js.map +1 -1
  287. package/dist/src/utils/editCorrector.d.ts +1 -42
  288. package/dist/src/utils/editCorrector.js +9 -461
  289. package/dist/src/utils/editCorrector.js.map +1 -1
  290. package/dist/src/utils/editCorrector.test.js +17 -421
  291. package/dist/src/utils/editCorrector.test.js.map +1 -1
  292. package/dist/src/utils/envExpansion.js.map +1 -1
  293. package/dist/src/utils/errors.js +7 -0
  294. package/dist/src/utils/errors.js.map +1 -1
  295. package/dist/src/utils/errors_timeout.test.d.ts +6 -0
  296. package/dist/src/utils/errors_timeout.test.js +40 -0
  297. package/dist/src/utils/errors_timeout.test.js.map +1 -0
  298. package/dist/src/utils/extensionLoader.js +35 -0
  299. package/dist/src/utils/extensionLoader.js.map +1 -1
  300. package/dist/src/utils/extensionLoader.test.js +36 -0
  301. package/dist/src/utils/extensionLoader.test.js.map +1 -1
  302. package/dist/src/utils/fetch.js +13 -2
  303. package/dist/src/utils/fetch.js.map +1 -1
  304. package/dist/src/utils/fileUtils.js +0 -1
  305. package/dist/src/utils/fileUtils.js.map +1 -1
  306. package/dist/src/utils/fileUtils.test.js +0 -1
  307. package/dist/src/utils/fileUtils.test.js.map +1 -1
  308. package/dist/src/utils/flashFallback.test.js +24 -0
  309. package/dist/src/utils/flashFallback.test.js.map +1 -1
  310. package/dist/src/utils/googleErrors.d.ts +2 -2
  311. package/dist/src/utils/googleQuotaErrors.d.ts +3 -1
  312. package/dist/src/utils/googleQuotaErrors.js +22 -12
  313. package/dist/src/utils/googleQuotaErrors.js.map +1 -1
  314. package/dist/src/utils/googleQuotaErrors.test.js +33 -1
  315. package/dist/src/utils/googleQuotaErrors.test.js.map +1 -1
  316. package/dist/src/utils/retry.js +4 -2
  317. package/dist/src/utils/retry.js.map +1 -1
  318. package/dist/src/utils/retry.test.js +20 -0
  319. package/dist/src/utils/retry.test.js.map +1 -1
  320. package/dist/src/utils/schemaValidator.js +0 -1
  321. package/dist/src/utils/schemaValidator.js.map +1 -1
  322. package/dist/tsconfig.tsbuildinfo +1 -1
  323. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"registry.test.js","sourceRoot":"","sources":["../../../src/agents/registry.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.test.js","sourceRoot":"","sources":["../../../src/agents/registry.test.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ import { BaseToolInvocation } from '../tools/tools.js';
8
8
  import type { RemoteAgentInputs, RemoteAgentDefinition, AgentInputs } from './types.js';
9
9
  import type { MessageBus } from '../confirmation-bus/message-bus.js';
10
10
  import type { AuthenticationHandler } from '@a2a-js/sdk/client';
11
+ import type { AnsiOutput } from '../utils/terminalSerializer.js';
11
12
  /**
12
13
  * Authentication handler implementation using Google Application Default Credentials (ADC).
13
14
  */
@@ -32,5 +33,5 @@ export declare class RemoteAgentInvocation extends BaseToolInvocation<RemoteAgen
32
33
  constructor(definition: RemoteAgentDefinition, params: AgentInputs, messageBus: MessageBus, _toolName?: string, _toolDisplayName?: string);
33
34
  getDescription(): string;
34
35
  protected getConfirmationDetails(_abortSignal: AbortSignal): Promise<ToolCallConfirmationDetails | false>;
35
- execute(_signal: AbortSignal): Promise<ToolResult>;
36
+ execute(_signal: AbortSignal, updateOutput?: (output: string | AnsiOutput) => void): Promise<ToolResult>;
36
37
  }
@@ -6,7 +6,7 @@
6
6
  import { BaseToolInvocation } from '../tools/tools.js';
7
7
  import { DEFAULT_QUERY_STRING } from './types.js';
8
8
  import { A2AClientManager } from './a2a-client-manager.js';
9
- import { extractMessageText, extractTaskText, extractIdsFromResponse, } from './a2aUtils.js';
9
+ import { extractIdsFromResponse, A2AResultReassembler } from './a2aUtils.js';
10
10
  import { GoogleAuth } from 'google-auth-library';
11
11
  import { debugLogger } from '../utils/debugLogger.js';
12
12
  /**
@@ -76,10 +76,11 @@ export class RemoteAgentInvocation extends BaseToolInvocation {
76
76
  },
77
77
  };
78
78
  }
79
- async execute(_signal) {
79
+ async execute(_signal, updateOutput) {
80
80
  // 1. Ensure the agent is loaded (cached by manager)
81
81
  // We assume the user has provided an access token via some mechanism (TODO),
82
82
  // or we rely on ADC.
83
+ const reassembler = new A2AResultReassembler();
83
84
  try {
84
85
  const priorState = RemoteAgentInvocation.sessionState.get(this.definition.name);
85
86
  if (priorState) {
@@ -90,38 +91,56 @@ export class RemoteAgentInvocation extends BaseToolInvocation {
90
91
  await this.clientManager.loadAgent(this.definition.name, this.definition.agentCardUrl, this.authHandler);
91
92
  }
92
93
  const message = this.params.query;
93
- const response = await this.clientManager.sendMessage(this.definition.name, message, {
94
+ const stream = this.clientManager.sendMessageStream(this.definition.name, message, {
94
95
  contextId: this.contextId,
95
96
  taskId: this.taskId,
97
+ signal: _signal,
96
98
  });
97
- // Extracts IDs, taskID will be undefined if the task is completed/failed/canceled.
98
- const { contextId, taskId } = extractIdsFromResponse(response);
99
- this.contextId = contextId ?? this.contextId;
100
- this.taskId = taskId;
101
- RemoteAgentInvocation.sessionState.set(this.definition.name, {
102
- contextId: this.contextId,
103
- taskId: this.taskId,
104
- });
105
- // Extract the output text
106
- const outputText = response.kind === 'task'
107
- ? extractTaskText(response)
108
- : response.kind === 'message'
109
- ? extractMessageText(response)
110
- : JSON.stringify(response);
111
- debugLogger.debug(`[RemoteAgent] Response from ${this.definition.name}:\n${JSON.stringify(response, null, 2)}`);
99
+ let finalResponse;
100
+ for await (const chunk of stream) {
101
+ if (_signal.aborted) {
102
+ throw new Error('Operation aborted');
103
+ }
104
+ finalResponse = chunk;
105
+ reassembler.update(chunk);
106
+ if (updateOutput) {
107
+ updateOutput(reassembler.toString());
108
+ }
109
+ const { contextId: newContextId, taskId: newTaskId, clearTaskId, } = extractIdsFromResponse(chunk);
110
+ if (newContextId) {
111
+ this.contextId = newContextId;
112
+ }
113
+ this.taskId = clearTaskId ? undefined : (newTaskId ?? this.taskId);
114
+ }
115
+ if (!finalResponse) {
116
+ throw new Error('No response from remote agent.');
117
+ }
118
+ const finalOutput = reassembler.toString();
119
+ debugLogger.debug(`[RemoteAgent] Final response from ${this.definition.name}:\n${JSON.stringify(finalResponse, null, 2)}`);
112
120
  return {
113
- llmContent: [{ text: outputText }],
114
- returnDisplay: outputText,
121
+ llmContent: [{ text: finalOutput }],
122
+ returnDisplay: finalOutput,
115
123
  };
116
124
  }
117
125
  catch (error) {
126
+ const partialOutput = reassembler.toString();
118
127
  const errorMessage = `Error calling remote agent: ${error instanceof Error ? error.message : String(error)}`;
128
+ const fullDisplay = partialOutput
129
+ ? `${partialOutput}\n\n${errorMessage}`
130
+ : errorMessage;
119
131
  return {
120
- llmContent: [{ text: errorMessage }],
121
- returnDisplay: errorMessage,
132
+ llmContent: [{ text: fullDisplay }],
133
+ returnDisplay: fullDisplay,
122
134
  error: { message: errorMessage },
123
135
  };
124
136
  }
137
+ finally {
138
+ // Persist state even on partial failures or aborts to maintain conversational continuity.
139
+ RemoteAgentInvocation.sessionState.set(this.definition.name, {
140
+ contextId: this.contextId,
141
+ taskId: this.taskId,
142
+ });
143
+ }
125
144
  }
126
145
  }
127
146
  //# sourceMappingURL=remote-invocation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"remote-invocation.js","sourceRoot":"","sources":["../../../src/agents/remote-invocation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"remote-invocation.js","sourceRoot":"","sources":["../../../src/agents/remote-invocation.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@
5
5
  */
6
6
  import { describe, it, expect, vi, beforeEach, afterEach, } from 'vitest';
7
7
  import { RemoteAgentInvocation } from './remote-invocation.js';
8
- import { A2AClientManager } from './a2a-client-manager.js';
8
+ import { A2AClientManager, } from './a2a-client-manager.js';
9
9
  import { createMockMessageBus } from '../test-utils/mock-message-bus.js';
10
10
  // Mock A2AClientManager
11
11
  vi.mock('./a2a-client-manager.js', () => {
@@ -28,7 +28,7 @@ describe('RemoteAgentInvocation', () => {
28
28
  const mockClientManager = {
29
29
  getClient: vi.fn(),
30
30
  loadAgent: vi.fn(),
31
- sendMessage: vi.fn(),
31
+ sendMessageStream: vi.fn(),
32
32
  };
33
33
  const mockMessageBus = createMockMessageBus();
34
34
  beforeEach(() => {
@@ -52,15 +52,17 @@ describe('RemoteAgentInvocation', () => {
52
52
  });
53
53
  it('uses "Get Started!" default when query is missing during execution', async () => {
54
54
  mockClientManager.getClient.mockReturnValue({});
55
- mockClientManager.sendMessage.mockResolvedValue({
56
- kind: 'message',
57
- messageId: 'msg-1',
58
- role: 'agent',
59
- parts: [{ kind: 'text', text: 'Hello' }],
55
+ mockClientManager.sendMessageStream.mockImplementation(async function* () {
56
+ yield {
57
+ kind: 'message',
58
+ messageId: 'msg-1',
59
+ role: 'agent',
60
+ parts: [{ kind: 'text', text: 'Hello' }],
61
+ };
60
62
  });
61
63
  const invocation = new RemoteAgentInvocation(mockDefinition, {}, mockMessageBus);
62
64
  await invocation.execute(new AbortController().signal);
63
- expect(mockClientManager.sendMessage).toHaveBeenCalledWith('test-agent', 'Get Started!', expect.any(Object));
65
+ expect(mockClientManager.sendMessageStream).toHaveBeenCalledWith('test-agent', 'Get Started!', expect.objectContaining({ signal: expect.any(Object) }));
64
66
  });
65
67
  it('throws if query is not a string', () => {
66
68
  expect(() => {
@@ -71,11 +73,13 @@ describe('RemoteAgentInvocation', () => {
71
73
  describe('Execution Logic', () => {
72
74
  it('should lazy load the agent with ADCHandler if not present', async () => {
73
75
  mockClientManager.getClient.mockReturnValue(undefined);
74
- mockClientManager.sendMessage.mockResolvedValue({
75
- kind: 'message',
76
- messageId: 'msg-1',
77
- role: 'agent',
78
- parts: [{ kind: 'text', text: 'Hello' }],
76
+ mockClientManager.sendMessageStream.mockImplementation(async function* () {
77
+ yield {
78
+ kind: 'message',
79
+ messageId: 'msg-1',
80
+ role: 'agent',
81
+ parts: [{ kind: 'text', text: 'Hello' }],
82
+ };
79
83
  });
80
84
  const invocation = new RemoteAgentInvocation(mockDefinition, {
81
85
  query: 'hi',
@@ -88,11 +92,13 @@ describe('RemoteAgentInvocation', () => {
88
92
  });
89
93
  it('should not load the agent if already present', async () => {
90
94
  mockClientManager.getClient.mockReturnValue({});
91
- mockClientManager.sendMessage.mockResolvedValue({
92
- kind: 'message',
93
- messageId: 'msg-1',
94
- role: 'agent',
95
- parts: [{ kind: 'text', text: 'Hello' }],
95
+ mockClientManager.sendMessageStream.mockImplementation(async function* () {
96
+ yield {
97
+ kind: 'message',
98
+ messageId: 'msg-1',
99
+ role: 'agent',
100
+ parts: [{ kind: 'text', text: 'Hello' }],
101
+ };
96
102
  });
97
103
  const invocation = new RemoteAgentInvocation(mockDefinition, {
98
104
  query: 'hi',
@@ -103,13 +109,15 @@ describe('RemoteAgentInvocation', () => {
103
109
  it('should persist contextId and taskId across invocations', async () => {
104
110
  mockClientManager.getClient.mockReturnValue({});
105
111
  // First call return values
106
- mockClientManager.sendMessage.mockResolvedValueOnce({
107
- kind: 'message',
108
- messageId: 'msg-1',
109
- role: 'agent',
110
- parts: [{ kind: 'text', text: 'Response 1' }],
111
- contextId: 'ctx-1',
112
- taskId: 'task-1',
112
+ mockClientManager.sendMessageStream.mockImplementationOnce(async function* () {
113
+ yield {
114
+ kind: 'message',
115
+ messageId: 'msg-1',
116
+ role: 'agent',
117
+ parts: [{ kind: 'text', text: 'Response 1' }],
118
+ contextId: 'ctx-1',
119
+ taskId: 'task-1',
120
+ };
113
121
  });
114
122
  const invocation1 = new RemoteAgentInvocation(mockDefinition, {
115
123
  query: 'first',
@@ -117,51 +125,107 @@ describe('RemoteAgentInvocation', () => {
117
125
  // Execute first time
118
126
  const result1 = await invocation1.execute(new AbortController().signal);
119
127
  expect(result1.returnDisplay).toBe('Response 1');
120
- expect(mockClientManager.sendMessage).toHaveBeenLastCalledWith('test-agent', 'first', { contextId: undefined, taskId: undefined });
128
+ expect(mockClientManager.sendMessageStream).toHaveBeenLastCalledWith('test-agent', 'first', { contextId: undefined, taskId: undefined, signal: expect.any(Object) });
121
129
  // Prepare for second call with simulated state persistence
122
- mockClientManager.sendMessage.mockResolvedValueOnce({
123
- kind: 'message',
124
- messageId: 'msg-2',
125
- role: 'agent',
126
- parts: [{ kind: 'text', text: 'Response 2' }],
127
- contextId: 'ctx-1',
128
- taskId: 'task-2',
130
+ mockClientManager.sendMessageStream.mockImplementationOnce(async function* () {
131
+ yield {
132
+ kind: 'message',
133
+ messageId: 'msg-2',
134
+ role: 'agent',
135
+ parts: [{ kind: 'text', text: 'Response 2' }],
136
+ contextId: 'ctx-1',
137
+ taskId: 'task-2',
138
+ };
129
139
  });
130
140
  const invocation2 = new RemoteAgentInvocation(mockDefinition, {
131
141
  query: 'second',
132
142
  }, mockMessageBus);
133
143
  const result2 = await invocation2.execute(new AbortController().signal);
134
144
  expect(result2.returnDisplay).toBe('Response 2');
135
- expect(mockClientManager.sendMessage).toHaveBeenLastCalledWith('test-agent', 'second', { contextId: 'ctx-1', taskId: 'task-1' });
145
+ expect(mockClientManager.sendMessageStream).toHaveBeenLastCalledWith('test-agent', 'second', { contextId: 'ctx-1', taskId: 'task-1', signal: expect.any(Object) });
136
146
  // Third call: Task completes
137
- mockClientManager.sendMessage.mockResolvedValueOnce({
138
- kind: 'task',
139
- id: 'task-2',
140
- contextId: 'ctx-1',
141
- status: { state: 'completed', message: undefined },
142
- artifacts: [],
143
- history: [],
147
+ mockClientManager.sendMessageStream.mockImplementationOnce(async function* () {
148
+ yield {
149
+ kind: 'task',
150
+ id: 'task-2',
151
+ contextId: 'ctx-1',
152
+ status: { state: 'completed', message: undefined },
153
+ artifacts: [],
154
+ history: [],
155
+ };
144
156
  });
145
157
  const invocation3 = new RemoteAgentInvocation(mockDefinition, {
146
158
  query: 'third',
147
159
  }, mockMessageBus);
148
160
  await invocation3.execute(new AbortController().signal);
149
161
  // Fourth call: Should start new task (taskId undefined)
150
- mockClientManager.sendMessage.mockResolvedValueOnce({
151
- kind: 'message',
152
- messageId: 'msg-3',
153
- role: 'agent',
154
- parts: [{ kind: 'text', text: 'New Task' }],
162
+ mockClientManager.sendMessageStream.mockImplementationOnce(async function* () {
163
+ yield {
164
+ kind: 'message',
165
+ messageId: 'msg-3',
166
+ role: 'agent',
167
+ parts: [{ kind: 'text', text: 'New Task' }],
168
+ };
155
169
  });
156
170
  const invocation4 = new RemoteAgentInvocation(mockDefinition, {
157
171
  query: 'fourth',
158
172
  }, mockMessageBus);
159
173
  await invocation4.execute(new AbortController().signal);
160
- expect(mockClientManager.sendMessage).toHaveBeenLastCalledWith('test-agent', 'fourth', { contextId: 'ctx-1', taskId: undefined });
174
+ expect(mockClientManager.sendMessageStream).toHaveBeenLastCalledWith('test-agent', 'fourth', { contextId: 'ctx-1', taskId: undefined, signal: expect.any(Object) });
175
+ });
176
+ it('should handle streaming updates and reassemble output', async () => {
177
+ mockClientManager.getClient.mockReturnValue({});
178
+ mockClientManager.sendMessageStream.mockImplementation(async function* () {
179
+ yield {
180
+ kind: 'message',
181
+ messageId: 'msg-1',
182
+ role: 'agent',
183
+ parts: [{ kind: 'text', text: 'Hello' }],
184
+ };
185
+ yield {
186
+ kind: 'message',
187
+ messageId: 'msg-1',
188
+ role: 'agent',
189
+ parts: [{ kind: 'text', text: 'Hello World' }],
190
+ };
191
+ });
192
+ const updateOutput = vi.fn();
193
+ const invocation = new RemoteAgentInvocation(mockDefinition, { query: 'hi' }, mockMessageBus);
194
+ await invocation.execute(new AbortController().signal, updateOutput);
195
+ expect(updateOutput).toHaveBeenCalledWith('Hello');
196
+ expect(updateOutput).toHaveBeenCalledWith('Hello\n\nHello World');
197
+ });
198
+ it('should abort when signal is aborted during streaming', async () => {
199
+ mockClientManager.getClient.mockReturnValue({});
200
+ const controller = new AbortController();
201
+ mockClientManager.sendMessageStream.mockImplementation(async function* () {
202
+ yield {
203
+ kind: 'message',
204
+ messageId: 'msg-1',
205
+ role: 'agent',
206
+ parts: [{ kind: 'text', text: 'Partial' }],
207
+ };
208
+ // Simulate abort between chunks
209
+ controller.abort();
210
+ yield {
211
+ kind: 'message',
212
+ messageId: 'msg-2',
213
+ role: 'agent',
214
+ parts: [{ kind: 'text', text: 'Partial response continued' }],
215
+ };
216
+ });
217
+ const invocation = new RemoteAgentInvocation(mockDefinition, { query: 'hi' }, mockMessageBus);
218
+ const result = await invocation.execute(controller.signal);
219
+ expect(result.error).toBeDefined();
220
+ expect(result.error?.message).toContain('Operation aborted');
161
221
  });
162
222
  it('should handle errors gracefully', async () => {
163
223
  mockClientManager.getClient.mockReturnValue({});
164
- mockClientManager.sendMessage.mockRejectedValue(new Error('Network error'));
224
+ mockClientManager.sendMessageStream.mockImplementation(async function* () {
225
+ if (Math.random() < 0)
226
+ yield {};
227
+ throw new Error('Network error');
228
+ });
165
229
  const invocation = new RemoteAgentInvocation(mockDefinition, {
166
230
  query: 'hi',
167
231
  }, mockMessageBus);
@@ -173,14 +237,16 @@ describe('RemoteAgentInvocation', () => {
173
237
  it('should use a2a helpers for extracting text', async () => {
174
238
  mockClientManager.getClient.mockReturnValue({});
175
239
  // Mock a complex message part that needs extraction
176
- mockClientManager.sendMessage.mockResolvedValue({
177
- kind: 'message',
178
- messageId: 'msg-1',
179
- role: 'agent',
180
- parts: [
181
- { kind: 'text', text: 'Extracted text' },
182
- { kind: 'data', data: { foo: 'bar' } },
183
- ],
240
+ mockClientManager.sendMessageStream.mockImplementation(async function* () {
241
+ yield {
242
+ kind: 'message',
243
+ messageId: 'msg-1',
244
+ role: 'agent',
245
+ parts: [
246
+ { kind: 'text', text: 'Extracted text' },
247
+ { kind: 'data', data: { foo: 'bar' } },
248
+ ],
249
+ };
184
250
  });
185
251
  const invocation = new RemoteAgentInvocation(mockDefinition, {
186
252
  query: 'hi',
@@ -189,6 +255,80 @@ describe('RemoteAgentInvocation', () => {
189
255
  // Just check that text is present, exact formatting depends on helper
190
256
  expect(result.returnDisplay).toContain('Extracted text');
191
257
  });
258
+ it('should handle mixed response types during streaming (TaskStatusUpdateEvent + Message)', async () => {
259
+ mockClientManager.getClient.mockReturnValue({});
260
+ mockClientManager.sendMessageStream.mockImplementation(async function* () {
261
+ yield {
262
+ kind: 'status-update',
263
+ taskId: 'task-1',
264
+ contextId: 'ctx-1',
265
+ final: false,
266
+ status: {
267
+ state: 'working',
268
+ message: {
269
+ kind: 'message',
270
+ role: 'agent',
271
+ messageId: 'm1',
272
+ parts: [{ kind: 'text', text: 'Thinking...' }],
273
+ },
274
+ },
275
+ };
276
+ yield {
277
+ kind: 'message',
278
+ messageId: 'msg-final',
279
+ role: 'agent',
280
+ parts: [{ kind: 'text', text: 'Final Answer' }],
281
+ };
282
+ });
283
+ const updateOutput = vi.fn();
284
+ const invocation = new RemoteAgentInvocation(mockDefinition, { query: 'hi' }, mockMessageBus);
285
+ const result = await invocation.execute(new AbortController().signal, updateOutput);
286
+ expect(updateOutput).toHaveBeenCalledWith('Thinking...');
287
+ expect(updateOutput).toHaveBeenCalledWith('Thinking...\n\nFinal Answer');
288
+ expect(result.returnDisplay).toBe('Thinking...\n\nFinal Answer');
289
+ });
290
+ it('should handle artifact reassembly with append: true', async () => {
291
+ mockClientManager.getClient.mockReturnValue({});
292
+ mockClientManager.sendMessageStream.mockImplementation(async function* () {
293
+ yield {
294
+ kind: 'status-update',
295
+ taskId: 'task-1',
296
+ status: {
297
+ state: 'working',
298
+ message: {
299
+ kind: 'message',
300
+ role: 'agent',
301
+ parts: [{ kind: 'text', text: 'Generating...' }],
302
+ },
303
+ },
304
+ };
305
+ yield {
306
+ kind: 'artifact-update',
307
+ taskId: 'task-1',
308
+ append: false,
309
+ artifact: {
310
+ artifactId: 'art-1',
311
+ name: 'Result',
312
+ parts: [{ kind: 'text', text: 'Part 1' }],
313
+ },
314
+ };
315
+ yield {
316
+ kind: 'artifact-update',
317
+ taskId: 'task-1',
318
+ append: true,
319
+ artifact: {
320
+ artifactId: 'art-1',
321
+ parts: [{ kind: 'text', text: ' Part 2' }],
322
+ },
323
+ };
324
+ });
325
+ const updateOutput = vi.fn();
326
+ const invocation = new RemoteAgentInvocation(mockDefinition, { query: 'hi' }, mockMessageBus);
327
+ await invocation.execute(new AbortController().signal, updateOutput);
328
+ expect(updateOutput).toHaveBeenCalledWith('Generating...');
329
+ expect(updateOutput).toHaveBeenCalledWith('Generating...\n\nArtifact (Result):\nPart 1');
330
+ expect(updateOutput).toHaveBeenCalledWith('Generating...\n\nArtifact (Result):\nPart 1 Part 2');
331
+ });
192
332
  });
193
333
  describe('Confirmations', () => {
194
334
  it('should return info confirmation details', async () => {