@google/gemini-cli-core 0.31.0-preview.2 → 0.32.0-preview.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 (312) 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/plan-mode.md +29 -7
  5. package/dist/docs/cli/settings.md +15 -6
  6. package/dist/docs/cli/telemetry.md +39 -11
  7. package/dist/docs/extensions/reference.md +36 -0
  8. package/dist/docs/get-started/installation.md +1 -1
  9. package/dist/docs/local-development.md +49 -43
  10. package/dist/docs/reference/configuration.md +32 -0
  11. package/dist/docs/reference/keyboard-shortcuts.md +6 -6
  12. package/dist/docs/reference/policy-engine.md +4 -3
  13. package/dist/docs/resources/faq.md +13 -0
  14. package/dist/docs/resources/tos-privacy.md +6 -0
  15. package/dist/docs/resources/uninstall.md +1 -10
  16. package/dist/docs/tools/mcp-server.md +22 -0
  17. package/dist/src/agents/a2a-client-manager.d.ts +7 -6
  18. package/dist/src/agents/a2a-client-manager.js +8 -9
  19. package/dist/src/agents/a2a-client-manager.js.map +1 -1
  20. package/dist/src/agents/a2a-client-manager.test.js +45 -31
  21. package/dist/src/agents/a2a-client-manager.test.js.map +1 -1
  22. package/dist/src/agents/a2aUtils.d.ts +25 -7
  23. package/dist/src/agents/a2aUtils.js +165 -58
  24. package/dist/src/agents/a2aUtils.js.map +1 -1
  25. package/dist/src/agents/a2aUtils.test.js +170 -27
  26. package/dist/src/agents/a2aUtils.test.js.map +1 -1
  27. package/dist/src/agents/generalist-agent.js +1 -2
  28. package/dist/src/agents/generalist-agent.js.map +1 -1
  29. package/dist/src/agents/registry.test.js +4 -2
  30. package/dist/src/agents/registry.test.js.map +1 -1
  31. package/dist/src/agents/remote-invocation.d.ts +2 -1
  32. package/dist/src/agents/remote-invocation.js +41 -22
  33. package/dist/src/agents/remote-invocation.js.map +1 -1
  34. package/dist/src/agents/remote-invocation.test.js +196 -56
  35. package/dist/src/agents/remote-invocation.test.js.map +1 -1
  36. package/dist/src/agents/subagent-tool-wrapper.js +1 -1
  37. package/dist/src/agents/subagent-tool-wrapper.test.js +1 -1
  38. package/dist/src/agents/subagent-tool.js +15 -2
  39. package/dist/src/agents/subagent-tool.js.map +1 -1
  40. package/dist/src/agents/subagent-tool.test.js +31 -0
  41. package/dist/src/agents/subagent-tool.test.js.map +1 -1
  42. package/dist/src/billing/billing.d.ts +80 -0
  43. package/dist/src/billing/billing.js +127 -0
  44. package/dist/src/billing/billing.js.map +1 -0
  45. package/dist/src/billing/billing.test.d.ts +6 -0
  46. package/dist/src/billing/billing.test.js +182 -0
  47. package/dist/src/billing/billing.test.js.map +1 -0
  48. package/dist/src/billing/index.d.ts +6 -0
  49. package/dist/src/billing/index.js +7 -0
  50. package/dist/src/billing/index.js.map +1 -0
  51. package/dist/src/code_assist/codeAssist.js +1 -1
  52. package/dist/src/code_assist/codeAssist.js.map +1 -1
  53. package/dist/src/code_assist/codeAssist.test.js +2 -2
  54. package/dist/src/code_assist/codeAssist.test.js.map +1 -1
  55. package/dist/src/code_assist/converter.d.ts +9 -4
  56. package/dist/src/code_assist/converter.js +17 -2
  57. package/dist/src/code_assist/converter.js.map +1 -1
  58. package/dist/src/code_assist/converter.test.js.map +1 -1
  59. package/dist/src/code_assist/oauth2.js +6 -3
  60. package/dist/src/code_assist/oauth2.js.map +1 -1
  61. package/dist/src/code_assist/oauth2.test.js +1 -0
  62. package/dist/src/code_assist/oauth2.test.js.map +1 -1
  63. package/dist/src/code_assist/server.d.ts +9 -4
  64. package/dist/src/code_assist/server.js +86 -5
  65. package/dist/src/code_assist/server.js.map +1 -1
  66. package/dist/src/code_assist/server.test.js +11 -0
  67. package/dist/src/code_assist/server.test.js.map +1 -1
  68. package/dist/src/code_assist/setup.d.ts +2 -1
  69. package/dist/src/code_assist/setup.js +15 -4
  70. package/dist/src/code_assist/setup.js.map +1 -1
  71. package/dist/src/code_assist/types.d.ts +33 -10
  72. package/dist/src/code_assist/types.js.map +1 -1
  73. package/dist/src/config/config.d.ts +50 -4
  74. package/dist/src/config/config.js +77 -3
  75. package/dist/src/config/config.js.map +1 -1
  76. package/dist/src/config/config.test.js +151 -1
  77. package/dist/src/config/config.test.js.map +1 -1
  78. package/dist/src/config/storage.d.ts +1 -0
  79. package/dist/src/config/storage.js +4 -1
  80. package/dist/src/config/storage.js.map +1 -1
  81. package/dist/src/core/contentGenerator.d.ts +3 -2
  82. package/dist/src/core/contentGenerator.js +9 -2
  83. package/dist/src/core/contentGenerator.js.map +1 -1
  84. package/dist/src/core/coreToolScheduler.js +2 -1
  85. package/dist/src/core/coreToolScheduler.js.map +1 -1
  86. package/dist/src/core/coreToolScheduler.test.js +21 -2
  87. package/dist/src/core/coreToolScheduler.test.js.map +1 -1
  88. package/dist/src/core/fakeContentGenerator.d.ts +2 -1
  89. package/dist/src/core/fakeContentGenerator.js +1 -0
  90. package/dist/src/core/fakeContentGenerator.js.map +1 -1
  91. package/dist/src/core/geminiChat.js +6 -2
  92. package/dist/src/core/geminiChat.js.map +1 -1
  93. package/dist/src/core/geminiChat.test.js +34 -0
  94. package/dist/src/core/geminiChat.test.js.map +1 -1
  95. package/dist/src/core/localLiteRtLmClient.d.ts +24 -0
  96. package/dist/src/core/localLiteRtLmClient.js +77 -0
  97. package/dist/src/core/localLiteRtLmClient.js.map +1 -0
  98. package/dist/src/core/localLiteRtLmClient.test.d.ts +6 -0
  99. package/dist/src/core/localLiteRtLmClient.test.js +87 -0
  100. package/dist/src/core/localLiteRtLmClient.test.js.map +1 -0
  101. package/dist/src/core/loggingContentGenerator.d.ts +2 -1
  102. package/dist/src/core/loggingContentGenerator.js +39 -17
  103. package/dist/src/core/loggingContentGenerator.js.map +1 -1
  104. package/dist/src/core/loggingContentGenerator.test.js +122 -5
  105. package/dist/src/core/loggingContentGenerator.test.js.map +1 -1
  106. package/dist/src/core/prompts.test.js +1 -1
  107. package/dist/src/core/prompts.test.js.map +1 -1
  108. package/dist/src/fallback/handler.js +2 -0
  109. package/dist/src/fallback/handler.js.map +1 -1
  110. package/dist/src/fallback/types.d.ts +1 -1
  111. package/dist/src/generated/git-commit.d.ts +2 -2
  112. package/dist/src/generated/git-commit.js +2 -2
  113. package/dist/src/index.d.ts +5 -0
  114. package/dist/src/index.js +5 -0
  115. package/dist/src/index.js.map +1 -1
  116. package/dist/src/policy/config.d.ts +18 -6
  117. package/dist/src/policy/config.js +51 -14
  118. package/dist/src/policy/config.js.map +1 -1
  119. package/dist/src/policy/config.test.js +26 -26
  120. package/dist/src/policy/config.test.js.map +1 -1
  121. package/dist/src/policy/persistence.test.js +9 -14
  122. package/dist/src/policy/persistence.test.js.map +1 -1
  123. package/dist/src/policy/policies/plan.toml +1 -1
  124. package/dist/src/policy/policy-engine.d.ts +8 -0
  125. package/dist/src/policy/policy-engine.js +12 -0
  126. package/dist/src/policy/policy-engine.js.map +1 -1
  127. package/dist/src/policy/policy-engine.test.js +93 -0
  128. package/dist/src/policy/policy-engine.test.js.map +1 -1
  129. package/dist/src/policy/policy-updater.test.js +1 -1
  130. package/dist/src/policy/policy-updater.test.js.map +1 -1
  131. package/dist/src/policy/toml-loader.d.ts +1 -1
  132. package/dist/src/policy/toml-loader.js +4 -2
  133. package/dist/src/policy/toml-loader.js.map +1 -1
  134. package/dist/src/policy/toml-loader.test.js +15 -12
  135. package/dist/src/policy/toml-loader.test.js.map +1 -1
  136. package/dist/src/policy/workspace-policy.test.js +10 -10
  137. package/dist/src/prompts/snippets.js +43 -27
  138. package/dist/src/prompts/snippets.js.map +1 -1
  139. package/dist/src/routing/modelRouterService.js +19 -11
  140. package/dist/src/routing/modelRouterService.js.map +1 -1
  141. package/dist/src/routing/modelRouterService.test.js +38 -1
  142. package/dist/src/routing/modelRouterService.test.js.map +1 -1
  143. package/dist/src/routing/routingStrategy.d.ts +3 -2
  144. package/dist/src/routing/strategies/classifierStrategy.d.ts +2 -1
  145. package/dist/src/routing/strategies/classifierStrategy.js +1 -1
  146. package/dist/src/routing/strategies/classifierStrategy.js.map +1 -1
  147. package/dist/src/routing/strategies/classifierStrategy.test.js +15 -13
  148. package/dist/src/routing/strategies/classifierStrategy.test.js.map +1 -1
  149. package/dist/src/routing/strategies/compositeStrategy.d.ts +2 -1
  150. package/dist/src/routing/strategies/compositeStrategy.js +3 -3
  151. package/dist/src/routing/strategies/compositeStrategy.js.map +1 -1
  152. package/dist/src/routing/strategies/compositeStrategy.test.js +10 -8
  153. package/dist/src/routing/strategies/compositeStrategy.test.js.map +1 -1
  154. package/dist/src/routing/strategies/defaultStrategy.d.ts +2 -1
  155. package/dist/src/routing/strategies/defaultStrategy.js +1 -1
  156. package/dist/src/routing/strategies/defaultStrategy.js.map +1 -1
  157. package/dist/src/routing/strategies/defaultStrategy.test.js +8 -4
  158. package/dist/src/routing/strategies/defaultStrategy.test.js.map +1 -1
  159. package/dist/src/routing/strategies/fallbackStrategy.d.ts +2 -1
  160. package/dist/src/routing/strategies/fallbackStrategy.js +1 -1
  161. package/dist/src/routing/strategies/fallbackStrategy.js.map +1 -1
  162. package/dist/src/routing/strategies/fallbackStrategy.test.js +6 -5
  163. package/dist/src/routing/strategies/fallbackStrategy.test.js.map +1 -1
  164. package/dist/src/routing/strategies/gemmaClassifierStrategy.d.ts +14 -0
  165. package/dist/src/routing/strategies/gemmaClassifierStrategy.js +182 -0
  166. package/dist/src/routing/strategies/gemmaClassifierStrategy.js.map +1 -0
  167. package/dist/src/routing/strategies/gemmaClassifierStrategy.test.d.ts +6 -0
  168. package/dist/src/routing/strategies/gemmaClassifierStrategy.test.js +218 -0
  169. package/dist/src/routing/strategies/gemmaClassifierStrategy.test.js.map +1 -0
  170. package/dist/src/routing/strategies/numericalClassifierStrategy.d.ts +2 -1
  171. package/dist/src/routing/strategies/numericalClassifierStrategy.js +1 -1
  172. package/dist/src/routing/strategies/numericalClassifierStrategy.js.map +1 -1
  173. package/dist/src/routing/strategies/numericalClassifierStrategy.test.js +24 -22
  174. package/dist/src/routing/strategies/numericalClassifierStrategy.test.js.map +1 -1
  175. package/dist/src/routing/strategies/overrideStrategy.d.ts +2 -1
  176. package/dist/src/routing/strategies/overrideStrategy.js +1 -1
  177. package/dist/src/routing/strategies/overrideStrategy.js.map +1 -1
  178. package/dist/src/routing/strategies/overrideStrategy.test.js +5 -4
  179. package/dist/src/routing/strategies/overrideStrategy.test.js.map +1 -1
  180. package/dist/src/scheduler/scheduler.d.ts +1 -0
  181. package/dist/src/scheduler/scheduler.js +18 -7
  182. package/dist/src/scheduler/scheduler.js.map +1 -1
  183. package/dist/src/scheduler/scheduler.test.js +19 -1
  184. package/dist/src/scheduler/scheduler.test.js.map +1 -1
  185. package/dist/src/scheduler/scheduler_parallel.test.js +94 -3
  186. package/dist/src/scheduler/scheduler_parallel.test.js.map +1 -1
  187. package/dist/src/scheduler/tool-executor.js +21 -12
  188. package/dist/src/scheduler/tool-executor.js.map +1 -1
  189. package/dist/src/scheduler/tool-executor.test.js +54 -0
  190. package/dist/src/scheduler/tool-executor.test.js.map +1 -1
  191. package/dist/src/services/trackerService.d.ts +49 -0
  192. package/dist/src/services/trackerService.js +172 -0
  193. package/dist/src/services/trackerService.js.map +1 -0
  194. package/dist/src/services/trackerService.test.d.ts +6 -0
  195. package/dist/src/services/trackerService.test.js +117 -0
  196. package/dist/src/services/trackerService.test.js.map +1 -0
  197. package/dist/src/services/trackerTypes.d.ts +51 -0
  198. package/dist/src/services/trackerTypes.js +33 -0
  199. package/dist/src/services/trackerTypes.js.map +1 -0
  200. package/dist/src/telemetry/billingEvents.d.ts +75 -0
  201. package/dist/src/telemetry/billingEvents.js +181 -0
  202. package/dist/src/telemetry/billingEvents.js.map +1 -0
  203. package/dist/src/telemetry/billingEvents.test.d.ts +6 -0
  204. package/dist/src/telemetry/billingEvents.test.js +139 -0
  205. package/dist/src/telemetry/billingEvents.test.js.map +1 -0
  206. package/dist/src/telemetry/conseca-logger.test.js +1 -0
  207. package/dist/src/telemetry/conseca-logger.test.js.map +1 -1
  208. package/dist/src/telemetry/constants.d.ts +25 -0
  209. package/dist/src/telemetry/constants.js +29 -0
  210. package/dist/src/telemetry/constants.js.map +1 -1
  211. package/dist/src/telemetry/index.d.ts +3 -1
  212. package/dist/src/telemetry/index.js +5 -1
  213. package/dist/src/telemetry/index.js.map +1 -1
  214. package/dist/src/telemetry/loggers.d.ts +2 -0
  215. package/dist/src/telemetry/loggers.js +10 -0
  216. package/dist/src/telemetry/loggers.js.map +1 -1
  217. package/dist/src/telemetry/loggers.test.js +16 -0
  218. package/dist/src/telemetry/loggers.test.js.map +1 -1
  219. package/dist/src/telemetry/metrics.d.ts +28 -0
  220. package/dist/src/telemetry/metrics.js +40 -0
  221. package/dist/src/telemetry/metrics.js.map +1 -1
  222. package/dist/src/telemetry/sanitize.test.js +1 -0
  223. package/dist/src/telemetry/sanitize.test.js.map +1 -1
  224. package/dist/src/telemetry/sdk.test.js +1 -0
  225. package/dist/src/telemetry/sdk.test.js.map +1 -1
  226. package/dist/src/telemetry/telemetryAttributes.js +2 -0
  227. package/dist/src/telemetry/telemetryAttributes.js.map +1 -1
  228. package/dist/src/telemetry/trace.d.ts +2 -1
  229. package/dist/src/telemetry/trace.js +13 -18
  230. package/dist/src/telemetry/trace.js.map +1 -1
  231. package/dist/src/telemetry/trace.test.d.ts +6 -0
  232. package/dist/src/telemetry/trace.test.js +116 -0
  233. package/dist/src/telemetry/trace.test.js.map +1 -0
  234. package/dist/src/tools/confirmation-policy.test.js +1 -0
  235. package/dist/src/tools/confirmation-policy.test.js.map +1 -1
  236. package/dist/src/tools/definitions/model-family-sets/default-legacy.js +2 -2
  237. package/dist/src/tools/definitions/model-family-sets/default-legacy.js.map +1 -1
  238. package/dist/src/tools/definitions/model-family-sets/gemini-3.js +3 -3
  239. package/dist/src/tools/definitions/model-family-sets/gemini-3.js.map +1 -1
  240. package/dist/src/tools/grep-utils.d.ts +1 -1
  241. package/dist/src/tools/grep-utils.js +4 -4
  242. package/dist/src/tools/grep-utils.js.map +1 -1
  243. package/dist/src/tools/grep.d.ts +1 -1
  244. package/dist/src/tools/grep.js +9 -9
  245. package/dist/src/tools/grep.js.map +1 -1
  246. package/dist/src/tools/grep.test.js +8 -5
  247. package/dist/src/tools/grep.test.js.map +1 -1
  248. package/dist/src/tools/line-endings.test.js +3 -11
  249. package/dist/src/tools/line-endings.test.js.map +1 -1
  250. package/dist/src/tools/mcp-client-manager.d.ts +25 -0
  251. package/dist/src/tools/mcp-client-manager.js +66 -3
  252. package/dist/src/tools/mcp-client-manager.js.map +1 -1
  253. package/dist/src/tools/mcp-client-manager.test.js +47 -0
  254. package/dist/src/tools/mcp-client-manager.test.js.map +1 -1
  255. package/dist/src/tools/mcp-client.d.ts +20 -9
  256. package/dist/src/tools/mcp-client.js +50 -46
  257. package/dist/src/tools/mcp-client.js.map +1 -1
  258. package/dist/src/tools/mcp-client.test.js +96 -84
  259. package/dist/src/tools/mcp-client.test.js.map +1 -1
  260. package/dist/src/tools/mcp-tool.d.ts +3 -3
  261. package/dist/src/tools/mcp-tool.js +1 -0
  262. package/dist/src/tools/mcp-tool.js.map +1 -1
  263. package/dist/src/tools/ripGrep.d.ts +1 -1
  264. package/dist/src/tools/ripGrep.js +7 -7
  265. package/dist/src/tools/ripGrep.js.map +1 -1
  266. package/dist/src/tools/ripGrep.test.js +10 -7
  267. package/dist/src/tools/ripGrep.test.js.map +1 -1
  268. package/dist/src/tools/tools.d.ts +1 -0
  269. package/dist/src/tools/tools.js +1 -0
  270. package/dist/src/tools/tools.js.map +1 -1
  271. package/dist/src/tools/write-file.js +4 -17
  272. package/dist/src/tools/write-file.js.map +1 -1
  273. package/dist/src/tools/write-file.test.js +29 -83
  274. package/dist/src/tools/write-file.test.js.map +1 -1
  275. package/dist/src/utils/editCorrector.d.ts +1 -42
  276. package/dist/src/utils/editCorrector.js +9 -461
  277. package/dist/src/utils/editCorrector.js.map +1 -1
  278. package/dist/src/utils/editCorrector.test.js +17 -421
  279. package/dist/src/utils/editCorrector.test.js.map +1 -1
  280. package/dist/src/utils/envExpansion.js.map +1 -1
  281. package/dist/src/utils/errors.js +7 -0
  282. package/dist/src/utils/errors.js.map +1 -1
  283. package/dist/src/utils/errors_timeout.test.d.ts +6 -0
  284. package/dist/src/utils/errors_timeout.test.js +40 -0
  285. package/dist/src/utils/errors_timeout.test.js.map +1 -0
  286. package/dist/src/utils/extensionLoader.js +35 -0
  287. package/dist/src/utils/extensionLoader.js.map +1 -1
  288. package/dist/src/utils/extensionLoader.test.js +36 -0
  289. package/dist/src/utils/extensionLoader.test.js.map +1 -1
  290. package/dist/src/utils/fetch.js +13 -2
  291. package/dist/src/utils/fetch.js.map +1 -1
  292. package/dist/src/utils/fileUtils.js +0 -1
  293. package/dist/src/utils/fileUtils.js.map +1 -1
  294. package/dist/src/utils/fileUtils.test.js +0 -1
  295. package/dist/src/utils/fileUtils.test.js.map +1 -1
  296. package/dist/src/utils/flashFallback.test.js +24 -0
  297. package/dist/src/utils/flashFallback.test.js.map +1 -1
  298. package/dist/src/utils/googleErrors.d.ts +2 -2
  299. package/dist/src/utils/googleQuotaErrors.d.ts +3 -1
  300. package/dist/src/utils/googleQuotaErrors.js +22 -12
  301. package/dist/src/utils/googleQuotaErrors.js.map +1 -1
  302. package/dist/src/utils/googleQuotaErrors.test.js +33 -1
  303. package/dist/src/utils/googleQuotaErrors.test.js.map +1 -1
  304. package/dist/src/utils/retry.js +4 -2
  305. package/dist/src/utils/retry.js.map +1 -1
  306. package/dist/src/utils/retry.test.js +20 -0
  307. package/dist/src/utils/retry.test.js.map +1 -1
  308. package/dist/src/utils/schemaValidator.js +0 -1
  309. package/dist/src/utils/schemaValidator.js.map +1 -1
  310. package/dist/tsconfig.tsbuildinfo +1 -1
  311. package/package.json +1 -1
  312. package/dist/google-gemini-cli-core-0.31.0-preview.1.tgz +0 -0
@@ -15,6 +15,7 @@ describe('NumericalClassifierStrategy', () => {
15
15
  let mockContext;
16
16
  let mockConfig;
17
17
  let mockBaseLlmClient;
18
+ let mockLocalLiteRtLmClient;
18
19
  let mockResolvedConfig;
19
20
  beforeEach(() => {
20
21
  vi.clearAllMocks();
@@ -44,6 +45,7 @@ describe('NumericalClassifierStrategy', () => {
44
45
  mockBaseLlmClient = {
45
46
  generateJson: vi.fn(),
46
47
  };
48
+ mockLocalLiteRtLmClient = {};
47
49
  vi.spyOn(promptIdContext, 'getStore').mockReturnValue('test-prompt-id');
48
50
  });
49
51
  afterEach(() => {
@@ -51,19 +53,19 @@ describe('NumericalClassifierStrategy', () => {
51
53
  });
52
54
  it('should return null if numerical routing is disabled', async () => {
53
55
  vi.mocked(mockConfig.getNumericalRoutingEnabled).mockResolvedValue(false);
54
- const decision = await strategy.route(mockContext, mockConfig, mockBaseLlmClient);
56
+ const decision = await strategy.route(mockContext, mockConfig, mockBaseLlmClient, mockLocalLiteRtLmClient);
55
57
  expect(decision).toBeNull();
56
58
  expect(mockBaseLlmClient.generateJson).not.toHaveBeenCalled();
57
59
  });
58
60
  it('should return null if the model is not a Gemini 3 model', async () => {
59
61
  vi.mocked(mockConfig.getModel).mockReturnValue(DEFAULT_GEMINI_MODEL_AUTO);
60
- const decision = await strategy.route(mockContext, mockConfig, mockBaseLlmClient);
62
+ const decision = await strategy.route(mockContext, mockConfig, mockBaseLlmClient, mockLocalLiteRtLmClient);
61
63
  expect(decision).toBeNull();
62
64
  expect(mockBaseLlmClient.generateJson).not.toHaveBeenCalled();
63
65
  });
64
66
  it('should return null if the model is explicitly a Gemini 2 model', async () => {
65
67
  vi.mocked(mockConfig.getModel).mockReturnValue(DEFAULT_GEMINI_MODEL);
66
- const decision = await strategy.route(mockContext, mockConfig, mockBaseLlmClient);
68
+ const decision = await strategy.route(mockContext, mockConfig, mockBaseLlmClient, mockLocalLiteRtLmClient);
67
69
  expect(decision).toBeNull();
68
70
  expect(mockBaseLlmClient.generateJson).not.toHaveBeenCalled();
69
71
  });
@@ -73,7 +75,7 @@ describe('NumericalClassifierStrategy', () => {
73
75
  complexity_score: 10,
74
76
  };
75
77
  vi.mocked(mockBaseLlmClient.generateJson).mockResolvedValue(mockApiResponse);
76
- await strategy.route(mockContext, mockConfig, mockBaseLlmClient);
78
+ await strategy.route(mockContext, mockConfig, mockBaseLlmClient, mockLocalLiteRtLmClient);
77
79
  const generateJsonCall = vi.mocked(mockBaseLlmClient.generateJson).mock
78
80
  .calls[0][0];
79
81
  expect(generateJsonCall).toMatchObject({
@@ -93,7 +95,7 @@ describe('NumericalClassifierStrategy', () => {
93
95
  complexity_score: 40,
94
96
  };
95
97
  vi.mocked(mockBaseLlmClient.generateJson).mockResolvedValue(mockApiResponse);
96
- const decision = await strategy.route(mockContext, mockConfig, mockBaseLlmClient);
98
+ const decision = await strategy.route(mockContext, mockConfig, mockBaseLlmClient, mockLocalLiteRtLmClient);
97
99
  expect(decision).toEqual({
98
100
  model: PREVIEW_GEMINI_FLASH_MODEL,
99
101
  metadata: {
@@ -110,7 +112,7 @@ describe('NumericalClassifierStrategy', () => {
110
112
  complexity_score: 60,
111
113
  };
112
114
  vi.mocked(mockBaseLlmClient.generateJson).mockResolvedValue(mockApiResponse);
113
- const decision = await strategy.route(mockContext, mockConfig, mockBaseLlmClient);
115
+ const decision = await strategy.route(mockContext, mockConfig, mockBaseLlmClient, mockLocalLiteRtLmClient);
114
116
  expect(decision).toEqual({
115
117
  model: PREVIEW_GEMINI_MODEL,
116
118
  metadata: {
@@ -127,7 +129,7 @@ describe('NumericalClassifierStrategy', () => {
127
129
  complexity_score: 60,
128
130
  };
129
131
  vi.mocked(mockBaseLlmClient.generateJson).mockResolvedValue(mockApiResponse);
130
- const decision = await strategy.route(mockContext, mockConfig, mockBaseLlmClient);
132
+ const decision = await strategy.route(mockContext, mockConfig, mockBaseLlmClient, mockLocalLiteRtLmClient);
131
133
  expect(decision).toEqual({
132
134
  model: PREVIEW_GEMINI_FLASH_MODEL, // Routed to Flash because 60 < 80
133
135
  metadata: {
@@ -144,7 +146,7 @@ describe('NumericalClassifierStrategy', () => {
144
146
  complexity_score: 90,
145
147
  };
146
148
  vi.mocked(mockBaseLlmClient.generateJson).mockResolvedValue(mockApiResponse);
147
- const decision = await strategy.route(mockContext, mockConfig, mockBaseLlmClient);
149
+ const decision = await strategy.route(mockContext, mockConfig, mockBaseLlmClient, mockLocalLiteRtLmClient);
148
150
  expect(decision).toEqual({
149
151
  model: PREVIEW_GEMINI_MODEL,
150
152
  metadata: {
@@ -163,7 +165,7 @@ describe('NumericalClassifierStrategy', () => {
163
165
  complexity_score: 60,
164
166
  };
165
167
  vi.mocked(mockBaseLlmClient.generateJson).mockResolvedValue(mockApiResponse);
166
- const decision = await strategy.route(mockContext, mockConfig, mockBaseLlmClient);
168
+ const decision = await strategy.route(mockContext, mockConfig, mockBaseLlmClient, mockLocalLiteRtLmClient);
167
169
  expect(decision).toEqual({
168
170
  model: PREVIEW_GEMINI_FLASH_MODEL, // Score 60 < Threshold 70
169
171
  metadata: {
@@ -180,7 +182,7 @@ describe('NumericalClassifierStrategy', () => {
180
182
  complexity_score: 40,
181
183
  };
182
184
  vi.mocked(mockBaseLlmClient.generateJson).mockResolvedValue(mockApiResponse);
183
- const decision = await strategy.route(mockContext, mockConfig, mockBaseLlmClient);
185
+ const decision = await strategy.route(mockContext, mockConfig, mockBaseLlmClient, mockLocalLiteRtLmClient);
184
186
  expect(decision).toEqual({
185
187
  model: PREVIEW_GEMINI_FLASH_MODEL, // Score 40 < Threshold 45.5
186
188
  metadata: {
@@ -197,7 +199,7 @@ describe('NumericalClassifierStrategy', () => {
197
199
  complexity_score: 35,
198
200
  };
199
201
  vi.mocked(mockBaseLlmClient.generateJson).mockResolvedValue(mockApiResponse);
200
- const decision = await strategy.route(mockContext, mockConfig, mockBaseLlmClient);
202
+ const decision = await strategy.route(mockContext, mockConfig, mockBaseLlmClient, mockLocalLiteRtLmClient);
201
203
  expect(decision).toEqual({
202
204
  model: PREVIEW_GEMINI_MODEL, // Score 35 >= Threshold 30
203
205
  metadata: {
@@ -216,7 +218,7 @@ describe('NumericalClassifierStrategy', () => {
216
218
  complexity_score: 40,
217
219
  };
218
220
  vi.mocked(mockBaseLlmClient.generateJson).mockResolvedValue(mockApiResponse);
219
- const decision = await strategy.route(mockContext, mockConfig, mockBaseLlmClient);
221
+ const decision = await strategy.route(mockContext, mockConfig, mockBaseLlmClient, mockLocalLiteRtLmClient);
220
222
  expect(decision).toEqual({
221
223
  model: PREVIEW_GEMINI_FLASH_MODEL, // Score 40 < Default A/B Threshold 50
222
224
  metadata: {
@@ -234,7 +236,7 @@ describe('NumericalClassifierStrategy', () => {
234
236
  complexity_score: 40,
235
237
  };
236
238
  vi.mocked(mockBaseLlmClient.generateJson).mockResolvedValue(mockApiResponse);
237
- const decision = await strategy.route(mockContext, mockConfig, mockBaseLlmClient);
239
+ const decision = await strategy.route(mockContext, mockConfig, mockBaseLlmClient, mockLocalLiteRtLmClient);
238
240
  expect(decision).toEqual({
239
241
  model: PREVIEW_GEMINI_FLASH_MODEL,
240
242
  metadata: {
@@ -252,7 +254,7 @@ describe('NumericalClassifierStrategy', () => {
252
254
  complexity_score: 60,
253
255
  };
254
256
  vi.mocked(mockBaseLlmClient.generateJson).mockResolvedValue(mockApiResponse);
255
- const decision = await strategy.route(mockContext, mockConfig, mockBaseLlmClient);
257
+ const decision = await strategy.route(mockContext, mockConfig, mockBaseLlmClient, mockLocalLiteRtLmClient);
256
258
  expect(decision).toEqual({
257
259
  model: PREVIEW_GEMINI_MODEL,
258
260
  metadata: {
@@ -269,7 +271,7 @@ describe('NumericalClassifierStrategy', () => {
269
271
  .mockImplementation(() => { });
270
272
  const testError = new Error('API Failure');
271
273
  vi.mocked(mockBaseLlmClient.generateJson).mockRejectedValue(testError);
272
- const decision = await strategy.route(mockContext, mockConfig, mockBaseLlmClient);
274
+ const decision = await strategy.route(mockContext, mockConfig, mockBaseLlmClient, mockLocalLiteRtLmClient);
273
275
  expect(decision).toBeNull();
274
276
  expect(consoleWarnSpy).toHaveBeenCalled();
275
277
  });
@@ -282,7 +284,7 @@ describe('NumericalClassifierStrategy', () => {
282
284
  // complexity_score is missing
283
285
  };
284
286
  vi.mocked(mockBaseLlmClient.generateJson).mockResolvedValue(malformedApiResponse);
285
- const decision = await strategy.route(mockContext, mockConfig, mockBaseLlmClient);
287
+ const decision = await strategy.route(mockContext, mockConfig, mockBaseLlmClient, mockLocalLiteRtLmClient);
286
288
  expect(decision).toBeNull();
287
289
  expect(consoleWarnSpy).toHaveBeenCalled();
288
290
  });
@@ -303,7 +305,7 @@ describe('NumericalClassifierStrategy', () => {
303
305
  complexity_score: 10,
304
306
  };
305
307
  vi.mocked(mockBaseLlmClient.generateJson).mockResolvedValue(mockApiResponse);
306
- await strategy.route(mockContext, mockConfig, mockBaseLlmClient);
308
+ await strategy.route(mockContext, mockConfig, mockBaseLlmClient, mockLocalLiteRtLmClient);
307
309
  const generateJsonCall = vi.mocked(mockBaseLlmClient.generateJson).mock
308
310
  .calls[0][0];
309
311
  const contents = generateJsonCall.contents;
@@ -328,7 +330,7 @@ describe('NumericalClassifierStrategy', () => {
328
330
  complexity_score: 10,
329
331
  };
330
332
  vi.mocked(mockBaseLlmClient.generateJson).mockResolvedValue(mockApiResponse);
331
- await strategy.route(mockContext, mockConfig, mockBaseLlmClient);
333
+ await strategy.route(mockContext, mockConfig, mockBaseLlmClient, mockLocalLiteRtLmClient);
332
334
  const generateJsonCall = vi.mocked(mockBaseLlmClient.generateJson).mock
333
335
  .calls[0][0];
334
336
  const contents = generateJsonCall.contents;
@@ -353,7 +355,7 @@ describe('NumericalClassifierStrategy', () => {
353
355
  complexity_score: 10,
354
356
  };
355
357
  vi.mocked(mockBaseLlmClient.generateJson).mockResolvedValue(mockApiResponse);
356
- await strategy.route(mockContext, mockConfig, mockBaseLlmClient);
358
+ await strategy.route(mockContext, mockConfig, mockBaseLlmClient, mockLocalLiteRtLmClient);
357
359
  const generateJsonCall = vi.mocked(mockBaseLlmClient.generateJson).mock
358
360
  .calls[0][0];
359
361
  expect(generateJsonCall.promptId).toMatch(/^classifier-router-fallback-\d+-\w+$/);
@@ -367,7 +369,7 @@ describe('NumericalClassifierStrategy', () => {
367
369
  complexity_score: 80,
368
370
  };
369
371
  vi.mocked(mockBaseLlmClient.generateJson).mockResolvedValue(mockApiResponse);
370
- const decision = await strategy.route(mockContext, mockConfig, mockBaseLlmClient);
372
+ const decision = await strategy.route(mockContext, mockConfig, mockBaseLlmClient, mockLocalLiteRtLmClient);
371
373
  expect(decision?.model).toBe(PREVIEW_GEMINI_3_1_MODEL);
372
374
  });
373
375
  it('should route to PREVIEW_GEMINI_3_1_CUSTOM_TOOLS_MODEL when Gemini 3.1 is launched and auth is USE_GEMINI', async () => {
@@ -380,7 +382,7 @@ describe('NumericalClassifierStrategy', () => {
380
382
  complexity_score: 80,
381
383
  };
382
384
  vi.mocked(mockBaseLlmClient.generateJson).mockResolvedValue(mockApiResponse);
383
- const decision = await strategy.route(mockContext, mockConfig, mockBaseLlmClient);
385
+ const decision = await strategy.route(mockContext, mockConfig, mockBaseLlmClient, mockLocalLiteRtLmClient);
384
386
  expect(decision?.model).toBe(PREVIEW_GEMINI_3_1_CUSTOM_TOOLS_MODEL);
385
387
  });
386
388
  it('should NOT route to custom tools model when auth is USE_VERTEX_AI', async () => {
@@ -393,7 +395,7 @@ describe('NumericalClassifierStrategy', () => {
393
395
  complexity_score: 80,
394
396
  };
395
397
  vi.mocked(mockBaseLlmClient.generateJson).mockResolvedValue(mockApiResponse);
396
- const decision = await strategy.route(mockContext, mockConfig, mockBaseLlmClient);
398
+ const decision = await strategy.route(mockContext, mockConfig, mockBaseLlmClient, mockLocalLiteRtLmClient);
397
399
  expect(decision?.model).toBe(PREVIEW_GEMINI_3_1_MODEL);
398
400
  });
399
401
  });
@@ -1 +1 @@
1
- {"version":3,"file":"numericalClassifierStrategy.test.js","sourceRoot":"","sources":["../../../../src/routing/strategies/numericalClassifierStrategy.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"numericalClassifierStrategy.test.js","sourceRoot":"","sources":["../../../../src/routing/strategies/numericalClassifierStrategy.test.ts"],"names":[],"mappings":"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"}
@@ -6,10 +6,11 @@
6
6
  import type { Config } from '../../config/config.js';
7
7
  import type { BaseLlmClient } from '../../core/baseLlmClient.js';
8
8
  import type { RoutingContext, RoutingDecision, RoutingStrategy } from '../routingStrategy.js';
9
+ import type { LocalLiteRtLmClient } from '../../core/localLiteRtLmClient.js';
9
10
  /**
10
11
  * Handles cases where the user explicitly specifies a model (override).
11
12
  */
12
13
  export declare class OverrideStrategy implements RoutingStrategy {
13
14
  readonly name = "override";
14
- route(context: RoutingContext, config: Config, _baseLlmClient: BaseLlmClient): Promise<RoutingDecision | null>;
15
+ route(context: RoutingContext, config: Config, _baseLlmClient: BaseLlmClient, _localLiteRtLmClient: LocalLiteRtLmClient): Promise<RoutingDecision | null>;
15
16
  }
@@ -9,7 +9,7 @@ import { isAutoModel, resolveModel } from '../../config/models.js';
9
9
  */
10
10
  export class OverrideStrategy {
11
11
  name = 'override';
12
- async route(context, config, _baseLlmClient) {
12
+ async route(context, config, _baseLlmClient, _localLiteRtLmClient) {
13
13
  const overrideModel = context.requestedModel ?? config.getModel();
14
14
  // If the model is 'auto' we should pass to the next strategy.
15
15
  if (isAutoModel(overrideModel)) {
@@ -1 +1 @@
1
- {"version":3,"file":"overrideStrategy.js","sourceRoot":"","sources":["../../../../src/routing/strategies/overrideStrategy.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAQnE;;GAEG;AACH,MAAM,OAAO,gBAAgB;IAClB,IAAI,GAAG,UAAU,CAAC;IAE3B,KAAK,CAAC,KAAK,CACT,OAAuB,EACvB,MAAc,EACd,cAA6B;QAE7B,MAAM,aAAa,GAAG,OAAO,CAAC,cAAc,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QAElE,8DAA8D;QAC9D,IAAI,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,oCAAoC;QACpC,OAAO;YACL,KAAK,EAAE,YAAY,CACjB,aAAa,EACb,MAAM,CAAC,uBAAuB,EAAE,EAAE,IAAI,KAAK,CAC5C;YACD,QAAQ,EAAE;gBACR,MAAM,EAAE,IAAI,CAAC,IAAI;gBACjB,SAAS,EAAE,CAAC;gBACZ,SAAS,EAAE,sDAAsD,aAAa,EAAE;aACjF;SACF,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"overrideStrategy.js","sourceRoot":"","sources":["../../../../src/routing/strategies/overrideStrategy.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AASnE;;GAEG;AACH,MAAM,OAAO,gBAAgB;IAClB,IAAI,GAAG,UAAU,CAAC;IAE3B,KAAK,CAAC,KAAK,CACT,OAAuB,EACvB,MAAc,EACd,cAA6B,EAC7B,oBAAyC;QAEzC,MAAM,aAAa,GAAG,OAAO,CAAC,cAAc,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QAElE,8DAA8D;QAC9D,IAAI,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,oCAAoC;QACpC,OAAO;YACL,KAAK,EAAE,YAAY,CACjB,aAAa,EACb,MAAM,CAAC,uBAAuB,EAAE,EAAE,IAAI,KAAK,CAC5C;YACD,QAAQ,EAAE;gBACR,MAAM,EAAE,IAAI,CAAC,IAAI;gBACjB,SAAS,EAAE,CAAC;gBACZ,SAAS,EAAE,sDAAsD,aAAa,EAAE;aACjF;SACF,CAAC;IACJ,CAAC;CACF"}
@@ -10,11 +10,12 @@ describe('OverrideStrategy', () => {
10
10
  const strategy = new OverrideStrategy();
11
11
  const mockContext = {};
12
12
  const mockClient = {};
13
+ const mockLocalLiteRtLmClient = {};
13
14
  it('should return null when the override model is auto', async () => {
14
15
  const mockConfig = {
15
16
  getModel: () => DEFAULT_GEMINI_MODEL_AUTO,
16
17
  };
17
- const decision = await strategy.route(mockContext, mockConfig, mockClient);
18
+ const decision = await strategy.route(mockContext, mockConfig, mockClient, mockLocalLiteRtLmClient);
18
19
  expect(decision).toBeNull();
19
20
  });
20
21
  it('should return a decision with the override model when one is specified', async () => {
@@ -22,7 +23,7 @@ describe('OverrideStrategy', () => {
22
23
  const mockConfig = {
23
24
  getModel: () => overrideModel,
24
25
  };
25
- const decision = await strategy.route(mockContext, mockConfig, mockClient);
26
+ const decision = await strategy.route(mockContext, mockConfig, mockClient, mockLocalLiteRtLmClient);
26
27
  expect(decision).not.toBeNull();
27
28
  expect(decision?.model).toBe(overrideModel);
28
29
  expect(decision?.metadata.source).toBe('override');
@@ -34,7 +35,7 @@ describe('OverrideStrategy', () => {
34
35
  const mockConfig = {
35
36
  getModel: () => overrideModel,
36
37
  };
37
- const decision = await strategy.route(mockContext, mockConfig, mockClient);
38
+ const decision = await strategy.route(mockContext, mockConfig, mockClient, mockLocalLiteRtLmClient);
38
39
  expect(decision).not.toBeNull();
39
40
  expect(decision?.model).toBe(overrideModel);
40
41
  });
@@ -47,7 +48,7 @@ describe('OverrideStrategy', () => {
47
48
  const contextWithRequestedModel = {
48
49
  requestedModel,
49
50
  };
50
- const decision = await strategy.route(contextWithRequestedModel, mockConfig, mockClient);
51
+ const decision = await strategy.route(contextWithRequestedModel, mockConfig, mockClient, mockLocalLiteRtLmClient);
51
52
  expect(decision).not.toBeNull();
52
53
  expect(decision?.model).toBe(requestedModel);
53
54
  });
@@ -1 +1 @@
1
- {"version":3,"file":"overrideStrategy.test.js","sourceRoot":"","sources":["../../../../src/routing/strategies/overrideStrategy.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAIzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAEnE,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,MAAM,QAAQ,GAAG,IAAI,gBAAgB,EAAE,CAAC;IACxC,MAAM,WAAW,GAAG,EAAoB,CAAC;IACzC,MAAM,UAAU,GAAG,EAAmB,CAAC;IAEvC,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;QAClE,MAAM,UAAU,GAAG;YACjB,QAAQ,EAAE,GAAG,EAAE,CAAC,yBAAyB;SAChC,CAAC;QAEZ,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;QAC3E,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wEAAwE,EAAE,KAAK,IAAI,EAAE;QACtF,MAAM,aAAa,GAAG,uBAAuB,CAAC;QAC9C,MAAM,UAAU,GAAG;YACjB,QAAQ,EAAE,GAAG,EAAE,CAAC,aAAa;SACpB,CAAC;QAEZ,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;QAE3E,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAChC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC5C,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACnD,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,SAAS,CAC5C,4CAA4C,CAC7C,CAAC;QACF,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAC5D,MAAM,aAAa,GAAG,+BAA+B,CAAC;QACtD,MAAM,UAAU,GAAG;YACjB,QAAQ,EAAE,GAAG,EAAE,CAAC,aAAa;SACpB,CAAC;QAEZ,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;QAE3E,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAChC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,cAAc,GAAG,iBAAiB,CAAC;QACzC,MAAM,WAAW,GAAG,cAAc,CAAC;QACnC,MAAM,UAAU,GAAG;YACjB,QAAQ,EAAE,GAAG,EAAE,CAAC,WAAW;SAClB,CAAC;QACZ,MAAM,yBAAyB,GAAG;YAChC,cAAc;SACG,CAAC;QAEpB,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,KAAK,CACnC,yBAAyB,EACzB,UAAU,EACV,UAAU,CACX,CAAC;QAEF,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAChC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"overrideStrategy.test.js","sourceRoot":"","sources":["../../../../src/routing/strategies/overrideStrategy.test.ts"],"names":[],"mappings":"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"}
@@ -55,6 +55,7 @@ export declare class Scheduler {
55
55
  * @returns true if the loop should continue, false if it should terminate.
56
56
  */
57
57
  private _processNextItem;
58
+ private _isParallelizable;
58
59
  private _processValidatingCall;
59
60
  private _processToolCall;
60
61
  /**
@@ -11,7 +11,7 @@ import { ToolModificationHandler } from './tool-modifier.js';
11
11
  import { CoreToolCallStatus, } from './types.js';
12
12
  import { ToolErrorType } from '../tools/tool-error.js';
13
13
  import { PolicyDecision } from '../policy/types.js';
14
- import { ToolConfirmationOutcome, } from '../tools/tools.js';
14
+ import { ToolConfirmationOutcome, Kind, } from '../tools/tools.js';
15
15
  import { getToolSuggestion } from '../utils/tool-utils.js';
16
16
  import { runInDevTraceSpan } from '../telemetry/trace.js';
17
17
  import { logToolCall } from '../telemetry/loggers.js';
@@ -19,6 +19,7 @@ import { ToolCallEvent } from '../telemetry/types.js';
19
19
  import { MessageBusType, } from '../confirmation-bus/types.js';
20
20
  import { runWithToolCallContext } from '../utils/toolCallContext.js';
21
21
  import { coreEvents, CoreEvent, } from '../utils/events.js';
22
+ import { GeminiCliOperation } from '../telemetry/constants.js';
22
23
  const createErrorResponse = (request, error, errorType) => ({
23
24
  callId: request.callId,
24
25
  error,
@@ -111,13 +112,18 @@ export class Scheduler {
111
112
  * @returns A promise that resolves with the results of the completed batch.
112
113
  */
113
114
  async schedule(request, signal) {
114
- return runInDevTraceSpan({ name: 'schedule' }, async ({ metadata: spanMetadata }) => {
115
+ return runInDevTraceSpan({ operation: GeminiCliOperation.ScheduleToolCalls }, async ({ metadata: spanMetadata }) => {
115
116
  const requests = Array.isArray(request) ? request : [request];
116
117
  spanMetadata.input = requests;
118
+ let toolCallResponse = [];
117
119
  if (this.isProcessing || this.state.isActive) {
118
- return this._enqueueRequest(requests, signal);
120
+ toolCallResponse = await this._enqueueRequest(requests, signal);
119
121
  }
120
- return this._startBatch(requests, signal);
122
+ else {
123
+ toolCallResponse = await this._startBatch(requests, signal);
124
+ }
125
+ spanMetadata.output = toolCallResponse;
126
+ return toolCallResponse;
121
127
  });
122
128
  }
123
129
  _enqueueRequest(requests, signal) {
@@ -276,11 +282,11 @@ export class Scheduler {
276
282
  this.state.finalizeCall(next.request.callId);
277
283
  return true;
278
284
  }
279
- // If the first tool is read-only, batch all contiguous read-only tools.
280
- if (next.tool?.isReadOnly) {
285
+ // If the first tool is parallelizable, batch all contiguous parallelizable tools.
286
+ if (this._isParallelizable(next.tool)) {
281
287
  while (this.state.queueLength > 0) {
282
288
  const peeked = this.state.peekQueue();
283
- if (peeked && peeked.tool?.isReadOnly) {
289
+ if (peeked && this._isParallelizable(peeked.tool)) {
284
290
  this.state.dequeue();
285
291
  }
286
292
  else {
@@ -335,6 +341,11 @@ export class Scheduler {
335
341
  // This is a stuck state.
336
342
  return false;
337
343
  }
344
+ _isParallelizable(tool) {
345
+ if (!tool)
346
+ return false;
347
+ return tool.isReadOnly || tool.kind === Kind.Agent;
348
+ }
338
349
  async _processValidatingCall(active, signal) {
339
350
  try {
340
351
  await this._processToolCall(active, signal);
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../../src/scheduler/scheduler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../../src/scheduler/scheduler.ts"],"names":[],"mappings":"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"}
@@ -8,8 +8,15 @@ import { randomUUID } from 'node:crypto';
8
8
  vi.mock('node:crypto', () => ({
9
9
  randomUUID: vi.fn(),
10
10
  }));
11
+ const runInDevTraceSpan = vi.hoisted(() => vi.fn(async (opts, fn) => {
12
+ const metadata = { attributes: opts.attributes || {} };
13
+ return fn({
14
+ metadata,
15
+ endSpan: vi.fn(),
16
+ });
17
+ }));
11
18
  vi.mock('../telemetry/trace.js', () => ({
12
- runInDevTraceSpan: vi.fn(async (_opts, fn) => fn({ metadata: { input: {}, output: {} } })),
19
+ runInDevTraceSpan,
13
20
  }));
14
21
  import { logToolCall } from '../telemetry/loggers.js';
15
22
  vi.mock('../telemetry/loggers.js', () => ({
@@ -40,6 +47,7 @@ import { PolicyDecision, ApprovalMode } from '../policy/types.js';
40
47
  import { ToolConfirmationOutcome, } from '../tools/tools.js';
41
48
  import { CoreToolCallStatus, ROOT_SCHEDULER_ID } from './types.js';
42
49
  import { ToolErrorType } from '../tools/tool-error.js';
50
+ import { GeminiCliOperation } from '../telemetry/constants.js';
43
51
  import * as ToolUtils from '../utils/tool-utils.js';
44
52
  import { getToolCallContext, } from '../utils/toolCallContext.js';
45
53
  import { coreEvents, CoreEvent, } from '../utils/events.js';
@@ -266,6 +274,16 @@ describe('Scheduler (Orchestrator)', () => {
266
274
  startTime: expect.any(Number),
267
275
  }),
268
276
  ]));
277
+ expect(runInDevTraceSpan).toHaveBeenCalledWith(expect.objectContaining({
278
+ operation: GeminiCliOperation.ScheduleToolCalls,
279
+ }), expect.any(Function));
280
+ const spanArgs = vi.mocked(runInDevTraceSpan).mock.calls[0];
281
+ const fn = spanArgs[1];
282
+ const metadata = { attributes: {} };
283
+ await fn({ metadata, endSpan: vi.fn() });
284
+ expect(metadata).toMatchObject({
285
+ input: [req1],
286
+ });
269
287
  });
270
288
  it('should set approvalMode to PLAN when config returns PLAN', async () => {
271
289
  mockConfig.getApprovalMode.mockReturnValue(ApprovalMode.PLAN);