@google/gemini-cli-core 0.12.0-nightly.20251023.c4c0c0d1 → 0.12.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 (258) hide show
  1. package/README.md +7 -5
  2. package/dist/index.d.ts +3 -0
  3. package/dist/index.js +2 -0
  4. package/dist/index.js.map +1 -1
  5. package/dist/src/agents/subagent-tool-wrapper.test.js +2 -4
  6. package/dist/src/agents/subagent-tool-wrapper.test.js.map +1 -1
  7. package/dist/src/code_assist/oauth2.d.ts +2 -2
  8. package/dist/src/code_assist/oauth2.js +53 -41
  9. package/dist/src/code_assist/oauth2.js.map +1 -1
  10. package/dist/src/code_assist/oauth2.test.js +65 -33
  11. package/dist/src/code_assist/oauth2.test.js.map +1 -1
  12. package/dist/src/code_assist/server.d.ts +3 -3
  13. package/dist/src/code_assist/server.js.map +1 -1
  14. package/dist/src/code_assist/setup.d.ts +2 -2
  15. package/dist/src/code_assist/setup.js.map +1 -1
  16. package/dist/src/config/config.d.ts +12 -3
  17. package/dist/src/config/config.js +35 -9
  18. package/dist/src/config/config.js.map +1 -1
  19. package/dist/src/config/config.test.js +58 -21
  20. package/dist/src/config/config.test.js.map +1 -1
  21. package/dist/src/config/storage.d.ts +1 -0
  22. package/dist/src/config/storage.js +3 -0
  23. package/dist/src/config/storage.js.map +1 -1
  24. package/dist/src/core/client.d.ts +1 -11
  25. package/dist/src/core/client.js +17 -165
  26. package/dist/src/core/client.js.map +1 -1
  27. package/dist/src/core/client.test.js +70 -405
  28. package/dist/src/core/client.test.js.map +1 -1
  29. package/dist/src/core/contentGenerator.js +39 -28
  30. package/dist/src/core/contentGenerator.js.map +1 -1
  31. package/dist/src/core/contentGenerator.test.js +28 -0
  32. package/dist/src/core/contentGenerator.test.js.map +1 -1
  33. package/dist/src/core/coreToolScheduler.d.ts +7 -7
  34. package/dist/src/core/coreToolScheduler.js +312 -183
  35. package/dist/src/core/coreToolScheduler.js.map +1 -1
  36. package/dist/src/core/coreToolScheduler.test.js +239 -9
  37. package/dist/src/core/coreToolScheduler.test.js.map +1 -1
  38. package/dist/src/core/fakeContentGenerator.d.ts +33 -0
  39. package/dist/src/core/fakeContentGenerator.js +58 -0
  40. package/dist/src/core/fakeContentGenerator.js.map +1 -0
  41. package/dist/src/core/fakeContentGenerator.test.d.ts +6 -0
  42. package/dist/src/core/fakeContentGenerator.test.js +127 -0
  43. package/dist/src/core/fakeContentGenerator.test.js.map +1 -0
  44. package/dist/src/core/loggingContentGenerator.d.ts +1 -0
  45. package/dist/src/core/loggingContentGenerator.js +113 -33
  46. package/dist/src/core/loggingContentGenerator.js.map +1 -1
  47. package/dist/src/core/nonInteractiveToolExecutor.js +5 -4
  48. package/dist/src/core/nonInteractiveToolExecutor.js.map +1 -1
  49. package/dist/src/core/prompts.test.js +30 -108
  50. package/dist/src/core/prompts.test.js.map +1 -1
  51. package/dist/src/core/recordingContentGenerator.d.ts +18 -0
  52. package/dist/src/core/recordingContentGenerator.js +77 -0
  53. package/dist/src/core/recordingContentGenerator.js.map +1 -0
  54. package/dist/src/core/recordingContentGenerator.test.d.ts +6 -0
  55. package/dist/src/core/recordingContentGenerator.test.js +101 -0
  56. package/dist/src/core/recordingContentGenerator.test.js.map +1 -0
  57. package/dist/src/fallback/handler.js +2 -0
  58. package/dist/src/fallback/handler.js.map +1 -1
  59. package/dist/src/generated/git-commit.d.ts +2 -2
  60. package/dist/src/generated/git-commit.js +2 -2
  61. package/dist/src/generated/git-commit.js.map +1 -1
  62. package/dist/src/index.d.ts +3 -0
  63. package/dist/src/index.js +3 -0
  64. package/dist/src/index.js.map +1 -1
  65. package/dist/src/mcp/google-auth-provider.d.ts +2 -0
  66. package/dist/src/mcp/google-auth-provider.js +19 -2
  67. package/dist/src/mcp/google-auth-provider.js.map +1 -1
  68. package/dist/src/mcp/google-auth-provider.test.js +42 -9
  69. package/dist/src/mcp/google-auth-provider.test.js.map +1 -1
  70. package/dist/src/mcp/oauth-provider.js +2 -2
  71. package/dist/src/mcp/oauth-provider.js.map +1 -1
  72. package/dist/src/mcp/oauth-provider.test.js +130 -0
  73. package/dist/src/mcp/oauth-provider.test.js.map +1 -1
  74. package/dist/src/mcp/oauth-token-storage.js +5 -4
  75. package/dist/src/mcp/oauth-token-storage.js.map +1 -1
  76. package/dist/src/mcp/oauth-token-storage.test.js +17 -11
  77. package/dist/src/mcp/oauth-token-storage.test.js.map +1 -1
  78. package/dist/src/mcp/oauth-utils.d.ts +7 -0
  79. package/dist/src/mcp/oauth-utils.js +19 -0
  80. package/dist/src/mcp/oauth-utils.js.map +1 -1
  81. package/dist/src/mcp/oauth-utils.test.js +32 -0
  82. package/dist/src/mcp/oauth-utils.test.js.map +1 -1
  83. package/dist/src/mcp/sa-impersonation-provider.d.ts +0 -6
  84. package/dist/src/mcp/sa-impersonation-provider.js +6 -23
  85. package/dist/src/mcp/sa-impersonation-provider.js.map +1 -1
  86. package/dist/src/mcp/token-storage/base-token-storage.test.js +75 -84
  87. package/dist/src/mcp/token-storage/base-token-storage.test.js.map +1 -1
  88. package/dist/src/mcp/token-storage/keychain-token-storage.d.ts +6 -2
  89. package/dist/src/mcp/token-storage/keychain-token-storage.js +62 -6
  90. package/dist/src/mcp/token-storage/keychain-token-storage.js.map +1 -1
  91. package/dist/src/mcp/token-storage/keychain-token-storage.test.js +54 -3
  92. package/dist/src/mcp/token-storage/keychain-token-storage.test.js.map +1 -1
  93. package/dist/src/mcp/token-storage/types.d.ts +6 -0
  94. package/dist/src/mcp/token-storage/types.js.map +1 -1
  95. package/dist/src/policy/policy-engine.js +4 -0
  96. package/dist/src/policy/policy-engine.js.map +1 -1
  97. package/dist/src/services/chatCompressionService.d.ts +32 -0
  98. package/dist/src/services/chatCompressionService.js +164 -0
  99. package/dist/src/services/chatCompressionService.js.map +1 -0
  100. package/dist/src/services/chatCompressionService.test.d.ts +6 -0
  101. package/dist/src/services/chatCompressionService.test.js +211 -0
  102. package/dist/src/services/chatCompressionService.test.js.map +1 -0
  103. package/dist/src/services/fileDiscoveryService.d.ts +0 -8
  104. package/dist/src/services/fileDiscoveryService.js +5 -33
  105. package/dist/src/services/fileDiscoveryService.js.map +1 -1
  106. package/dist/src/services/fileDiscoveryService.test.js +11 -11
  107. package/dist/src/services/fileDiscoveryService.test.js.map +1 -1
  108. package/dist/src/services/loopDetectionService.js +19 -9
  109. package/dist/src/services/loopDetectionService.js.map +1 -1
  110. package/dist/src/services/loopDetectionService.test.js +40 -11
  111. package/dist/src/services/loopDetectionService.test.js.map +1 -1
  112. package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +1 -0
  113. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +40 -33
  114. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
  115. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js +1 -1
  116. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +1 -1
  117. package/dist/src/telemetry/index.d.ts +1 -0
  118. package/dist/src/telemetry/index.js +1 -0
  119. package/dist/src/telemetry/index.js.map +1 -1
  120. package/dist/src/telemetry/loggers.js +10 -17
  121. package/dist/src/telemetry/loggers.js.map +1 -1
  122. package/dist/src/telemetry/loggers.test.js +173 -30
  123. package/dist/src/telemetry/loggers.test.js.map +1 -1
  124. package/dist/src/telemetry/metrics.d.ts +1 -1
  125. package/dist/src/telemetry/metrics.js +1 -1
  126. package/dist/src/telemetry/metrics.js.map +1 -1
  127. package/dist/src/telemetry/metrics.test.js +2 -2
  128. package/dist/src/telemetry/metrics.test.js.map +1 -1
  129. package/dist/src/telemetry/semantic.d.ts +82 -0
  130. package/dist/src/telemetry/semantic.js +269 -0
  131. package/dist/src/telemetry/semantic.js.map +1 -0
  132. package/dist/src/telemetry/semantic.test.d.ts +6 -0
  133. package/dist/src/telemetry/semantic.test.js +387 -0
  134. package/dist/src/telemetry/semantic.test.js.map +1 -0
  135. package/dist/src/telemetry/trace.d.ts +46 -0
  136. package/dist/src/telemetry/trace.js +121 -0
  137. package/dist/src/telemetry/trace.js.map +1 -0
  138. package/dist/src/telemetry/types.d.ts +37 -18
  139. package/dist/src/telemetry/types.js +107 -36
  140. package/dist/src/telemetry/types.js.map +1 -1
  141. package/dist/src/telemetry/uiTelemetry.js +6 -6
  142. package/dist/src/telemetry/uiTelemetry.js.map +1 -1
  143. package/dist/src/telemetry/uiTelemetry.test.js +88 -66
  144. package/dist/src/telemetry/uiTelemetry.test.js.map +1 -1
  145. package/dist/src/tools/edit.d.ts +3 -2
  146. package/dist/src/tools/edit.js +15 -11
  147. package/dist/src/tools/edit.js.map +1 -1
  148. package/dist/src/tools/edit.test.js +19 -0
  149. package/dist/src/tools/edit.test.js.map +1 -1
  150. package/dist/src/tools/glob.js +4 -2
  151. package/dist/src/tools/glob.js.map +1 -1
  152. package/dist/src/tools/glob.test.js +203 -199
  153. package/dist/src/tools/glob.test.js.map +1 -1
  154. package/dist/src/tools/grep.js +2 -2
  155. package/dist/src/tools/grep.js.map +1 -1
  156. package/dist/src/tools/ls.js +2 -1
  157. package/dist/src/tools/ls.js.map +1 -1
  158. package/dist/src/tools/ls.test.js +0 -7
  159. package/dist/src/tools/ls.test.js.map +1 -1
  160. package/dist/src/tools/mcp-client-manager.js +2 -1
  161. package/dist/src/tools/mcp-client-manager.js.map +1 -1
  162. package/dist/src/tools/mcp-client.d.ts +4 -1
  163. package/dist/src/tools/mcp-client.js +71 -92
  164. package/dist/src/tools/mcp-client.js.map +1 -1
  165. package/dist/src/tools/mcp-client.test.js +16 -6
  166. package/dist/src/tools/mcp-client.test.js.map +1 -1
  167. package/dist/src/tools/mcp-tool.d.ts +3 -2
  168. package/dist/src/tools/mcp-tool.js +12 -10
  169. package/dist/src/tools/mcp-tool.js.map +1 -1
  170. package/dist/src/tools/memoryTool.d.ts +5 -3
  171. package/dist/src/tools/memoryTool.js +9 -7
  172. package/dist/src/tools/memoryTool.js.map +1 -1
  173. package/dist/src/tools/read-file.js +7 -3
  174. package/dist/src/tools/read-file.js.map +1 -1
  175. package/dist/src/tools/read-file.test.js +25 -2
  176. package/dist/src/tools/read-file.test.js.map +1 -1
  177. package/dist/src/tools/shell.d.ts +6 -4
  178. package/dist/src/tools/shell.js +18 -12
  179. package/dist/src/tools/shell.js.map +1 -1
  180. package/dist/src/tools/shell.test.js +7 -0
  181. package/dist/src/tools/shell.test.js.map +1 -1
  182. package/dist/src/tools/smart-edit.d.ts +2 -1
  183. package/dist/src/tools/smart-edit.js +10 -9
  184. package/dist/src/tools/smart-edit.js.map +1 -1
  185. package/dist/src/tools/tool-registry.d.ts +5 -1
  186. package/dist/src/tools/tool-registry.js +10 -3
  187. package/dist/src/tools/tool-registry.js.map +1 -1
  188. package/dist/src/tools/tools.d.ts +6 -0
  189. package/dist/src/tools/tools.js +29 -17
  190. package/dist/src/tools/tools.js.map +1 -1
  191. package/dist/src/tools/web-fetch.js +1 -12
  192. package/dist/src/tools/web-fetch.js.map +1 -1
  193. package/dist/src/tools/web-fetch.test.js +2 -2
  194. package/dist/src/tools/web-fetch.test.js.map +1 -1
  195. package/dist/src/tools/write-file.d.ts +2 -1
  196. package/dist/src/tools/write-file.js +6 -6
  197. package/dist/src/tools/write-file.js.map +1 -1
  198. package/dist/src/tools/write-todos.d.ts +2 -1
  199. package/dist/src/tools/write-todos.js +5 -2
  200. package/dist/src/tools/write-todos.js.map +1 -1
  201. package/dist/src/utils/environmentContext.d.ts +2 -1
  202. package/dist/src/utils/environmentContext.js +18 -0
  203. package/dist/src/utils/environmentContext.js.map +1 -1
  204. package/dist/src/utils/errorParsing.d.ts +1 -1
  205. package/dist/src/utils/errorParsing.js +5 -33
  206. package/dist/src/utils/errorParsing.js.map +1 -1
  207. package/dist/src/utils/errorParsing.test.js +0 -88
  208. package/dist/src/utils/errorParsing.test.js.map +1 -1
  209. package/dist/src/utils/errors.d.ts +3 -0
  210. package/dist/src/utils/errors.js +6 -0
  211. package/dist/src/utils/errors.js.map +1 -1
  212. package/dist/src/utils/events.d.ts +19 -1
  213. package/dist/src/utils/events.js +9 -0
  214. package/dist/src/utils/events.js.map +1 -1
  215. package/dist/src/utils/extensionLoader.d.ts +38 -0
  216. package/dist/src/utils/extensionLoader.js +20 -0
  217. package/dist/src/utils/extensionLoader.js.map +1 -0
  218. package/dist/src/utils/flashFallback.test.js +26 -45
  219. package/dist/src/utils/flashFallback.test.js.map +1 -1
  220. package/dist/src/utils/getFolderStructure.js +7 -16
  221. package/dist/src/utils/getFolderStructure.js.map +1 -1
  222. package/dist/src/utils/googleErrors.d.ts +104 -0
  223. package/dist/src/utils/googleErrors.js +152 -0
  224. package/dist/src/utils/googleErrors.js.map +1 -0
  225. package/dist/src/utils/googleErrors.test.d.ts +6 -0
  226. package/dist/src/utils/googleErrors.test.js +301 -0
  227. package/dist/src/utils/googleErrors.test.js.map +1 -0
  228. package/dist/src/utils/googleQuotaErrors.d.ts +35 -0
  229. package/dist/src/utils/googleQuotaErrors.js +131 -0
  230. package/dist/src/utils/googleQuotaErrors.js.map +1 -0
  231. package/dist/src/utils/googleQuotaErrors.test.d.ts +6 -0
  232. package/dist/src/utils/googleQuotaErrors.test.js +281 -0
  233. package/dist/src/utils/googleQuotaErrors.test.js.map +1 -0
  234. package/dist/src/utils/ignorePatterns.test.js +26 -30
  235. package/dist/src/utils/ignorePatterns.test.js.map +1 -1
  236. package/dist/src/utils/memoryDiscovery.d.ts +2 -2
  237. package/dist/src/utils/memoryDiscovery.js +3 -2
  238. package/dist/src/utils/memoryDiscovery.js.map +1 -1
  239. package/dist/src/utils/memoryDiscovery.test.js +19 -35
  240. package/dist/src/utils/memoryDiscovery.test.js.map +1 -1
  241. package/dist/src/utils/paths.js +126 -26
  242. package/dist/src/utils/paths.js.map +1 -1
  243. package/dist/src/utils/paths.test.js +200 -68
  244. package/dist/src/utils/paths.test.js.map +1 -1
  245. package/dist/src/utils/quotaErrorDetection.d.ts +0 -2
  246. package/dist/src/utils/quotaErrorDetection.js +0 -46
  247. package/dist/src/utils/quotaErrorDetection.js.map +1 -1
  248. package/dist/src/utils/retry.js +41 -145
  249. package/dist/src/utils/retry.js.map +1 -1
  250. package/dist/src/utils/retry.test.js +31 -110
  251. package/dist/src/utils/retry.test.js.map +1 -1
  252. package/dist/src/utils/shell-utils.test.js +70 -0
  253. package/dist/src/utils/shell-utils.test.js.map +1 -1
  254. package/dist/src/utils/workspaceContext.js +1 -1
  255. package/dist/src/utils/workspaceContext.js.map +1 -1
  256. package/dist/tsconfig.tsbuildinfo +1 -1
  257. package/package.json +2 -2
  258. package/dist/google-gemini-cli-core-0.12.0-nightly.20251022.0542de95.tgz +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"coreToolScheduler.js","sourceRoot":"","sources":["../../../src/core/coreToolScheduler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coreToolScheduler.js","sourceRoot":"","sources":["../../../src/core/coreToolScheduler.ts"],"names":[],"mappings":"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"}
@@ -193,6 +193,232 @@ describe('CoreToolScheduler', () => {
193
193
  .calls[0][0];
194
194
  expect(completedCalls[0].status).toBe('cancelled');
195
195
  });
196
+ it('should cancel all tools when cancelAll is called', async () => {
197
+ const mockTool1 = new MockTool({
198
+ name: 'mockTool1',
199
+ shouldConfirmExecute: MOCK_TOOL_SHOULD_CONFIRM_EXECUTE,
200
+ });
201
+ const mockTool2 = new MockTool({ name: 'mockTool2' });
202
+ const mockTool3 = new MockTool({ name: 'mockTool3' });
203
+ const mockToolRegistry = {
204
+ getTool: (name) => {
205
+ if (name === 'mockTool1')
206
+ return mockTool1;
207
+ if (name === 'mockTool2')
208
+ return mockTool2;
209
+ if (name === 'mockTool3')
210
+ return mockTool3;
211
+ return undefined;
212
+ },
213
+ getFunctionDeclarations: () => [],
214
+ tools: new Map(),
215
+ discovery: {},
216
+ registerTool: () => { },
217
+ getToolByName: (name) => {
218
+ if (name === 'mockTool1')
219
+ return mockTool1;
220
+ if (name === 'mockTool2')
221
+ return mockTool2;
222
+ if (name === 'mockTool3')
223
+ return mockTool3;
224
+ return undefined;
225
+ },
226
+ getToolByDisplayName: () => undefined,
227
+ getTools: () => [],
228
+ discoverTools: async () => { },
229
+ getAllTools: () => [],
230
+ getToolsByServer: () => [],
231
+ };
232
+ const onAllToolCallsComplete = vi.fn();
233
+ const onToolCallsUpdate = vi.fn();
234
+ const mockConfig = {
235
+ getSessionId: () => 'test-session-id',
236
+ getUsageStatisticsEnabled: () => true,
237
+ getDebugMode: () => false,
238
+ getApprovalMode: () => ApprovalMode.DEFAULT,
239
+ getAllowedTools: () => [],
240
+ getContentGeneratorConfig: () => ({
241
+ model: 'test-model',
242
+ authType: 'oauth-personal',
243
+ }),
244
+ getShellExecutionConfig: () => ({
245
+ terminalWidth: 90,
246
+ terminalHeight: 30,
247
+ }),
248
+ storage: {
249
+ getProjectTempDir: () => '/tmp',
250
+ },
251
+ getTruncateToolOutputThreshold: () => DEFAULT_TRUNCATE_TOOL_OUTPUT_THRESHOLD,
252
+ getTruncateToolOutputLines: () => DEFAULT_TRUNCATE_TOOL_OUTPUT_LINES,
253
+ getToolRegistry: () => mockToolRegistry,
254
+ getUseSmartEdit: () => false,
255
+ getUseModelRouter: () => false,
256
+ getGeminiClient: () => null, // No client needed for these tests
257
+ getEnableMessageBusIntegration: () => false,
258
+ getMessageBus: () => null,
259
+ getPolicyEngine: () => null,
260
+ };
261
+ const scheduler = new CoreToolScheduler({
262
+ config: mockConfig,
263
+ onAllToolCallsComplete,
264
+ onToolCallsUpdate,
265
+ getPreferredEditor: () => 'vscode',
266
+ onEditorClose: vi.fn(),
267
+ });
268
+ const abortController = new AbortController();
269
+ const requests = [
270
+ {
271
+ callId: '1',
272
+ name: 'mockTool1',
273
+ args: {},
274
+ isClientInitiated: false,
275
+ prompt_id: 'prompt-id-1',
276
+ },
277
+ {
278
+ callId: '2',
279
+ name: 'mockTool2',
280
+ args: {},
281
+ isClientInitiated: false,
282
+ prompt_id: 'prompt-id-1',
283
+ },
284
+ {
285
+ callId: '3',
286
+ name: 'mockTool3',
287
+ args: {},
288
+ isClientInitiated: false,
289
+ prompt_id: 'prompt-id-1',
290
+ },
291
+ ];
292
+ // Don't await, let it run in the background
293
+ void scheduler.schedule(requests, abortController.signal);
294
+ // Wait for the first tool to be awaiting approval
295
+ await waitForStatus(onToolCallsUpdate, 'awaiting_approval');
296
+ // Cancel all operations
297
+ scheduler.cancelAll(abortController.signal);
298
+ abortController.abort(); // Also fire the signal
299
+ await vi.waitFor(() => {
300
+ expect(onAllToolCallsComplete).toHaveBeenCalled();
301
+ });
302
+ const completedCalls = onAllToolCallsComplete.mock
303
+ .calls[0][0];
304
+ expect(completedCalls).toHaveLength(3);
305
+ expect(completedCalls.find((c) => c.request.callId === '1')?.status).toBe('cancelled');
306
+ expect(completedCalls.find((c) => c.request.callId === '2')?.status).toBe('cancelled');
307
+ expect(completedCalls.find((c) => c.request.callId === '3')?.status).toBe('cancelled');
308
+ });
309
+ it('should cancel all tools in a batch when one is cancelled via confirmation', async () => {
310
+ const mockTool1 = new MockTool({
311
+ name: 'mockTool1',
312
+ shouldConfirmExecute: MOCK_TOOL_SHOULD_CONFIRM_EXECUTE,
313
+ });
314
+ const mockTool2 = new MockTool({ name: 'mockTool2' });
315
+ const mockTool3 = new MockTool({ name: 'mockTool3' });
316
+ const mockToolRegistry = {
317
+ getTool: (name) => {
318
+ if (name === 'mockTool1')
319
+ return mockTool1;
320
+ if (name === 'mockTool2')
321
+ return mockTool2;
322
+ if (name === 'mockTool3')
323
+ return mockTool3;
324
+ return undefined;
325
+ },
326
+ getFunctionDeclarations: () => [],
327
+ tools: new Map(),
328
+ discovery: {},
329
+ registerTool: () => { },
330
+ getToolByName: (name) => {
331
+ if (name === 'mockTool1')
332
+ return mockTool1;
333
+ if (name === 'mockTool2')
334
+ return mockTool2;
335
+ if (name === 'mockTool3')
336
+ return mockTool3;
337
+ return undefined;
338
+ },
339
+ getToolByDisplayName: () => undefined,
340
+ getTools: () => [],
341
+ discoverTools: async () => { },
342
+ getAllTools: () => [],
343
+ getToolsByServer: () => [],
344
+ };
345
+ const onAllToolCallsComplete = vi.fn();
346
+ const onToolCallsUpdate = vi.fn();
347
+ const mockConfig = {
348
+ getSessionId: () => 'test-session-id',
349
+ getUsageStatisticsEnabled: () => true,
350
+ getDebugMode: () => false,
351
+ getApprovalMode: () => ApprovalMode.DEFAULT,
352
+ getAllowedTools: () => [],
353
+ getContentGeneratorConfig: () => ({
354
+ model: 'test-model',
355
+ authType: 'oauth-personal',
356
+ }),
357
+ getShellExecutionConfig: () => ({
358
+ terminalWidth: 90,
359
+ terminalHeight: 30,
360
+ }),
361
+ storage: {
362
+ getProjectTempDir: () => '/tmp',
363
+ },
364
+ getTruncateToolOutputThreshold: () => DEFAULT_TRUNCATE_TOOL_OUTPUT_THRESHOLD,
365
+ getTruncateToolOutputLines: () => DEFAULT_TRUNCATE_TOOL_OUTPUT_LINES,
366
+ getToolRegistry: () => mockToolRegistry,
367
+ getUseSmartEdit: () => false,
368
+ getUseModelRouter: () => false,
369
+ getGeminiClient: () => null, // No client needed for these tests
370
+ getEnableMessageBusIntegration: () => false,
371
+ getMessageBus: () => null,
372
+ getPolicyEngine: () => null,
373
+ };
374
+ const scheduler = new CoreToolScheduler({
375
+ config: mockConfig,
376
+ onAllToolCallsComplete,
377
+ onToolCallsUpdate,
378
+ getPreferredEditor: () => 'vscode',
379
+ onEditorClose: vi.fn(),
380
+ });
381
+ const abortController = new AbortController();
382
+ const requests = [
383
+ {
384
+ callId: '1',
385
+ name: 'mockTool1',
386
+ args: {},
387
+ isClientInitiated: false,
388
+ prompt_id: 'prompt-id-1',
389
+ },
390
+ {
391
+ callId: '2',
392
+ name: 'mockTool2',
393
+ args: {},
394
+ isClientInitiated: false,
395
+ prompt_id: 'prompt-id-1',
396
+ },
397
+ {
398
+ callId: '3',
399
+ name: 'mockTool3',
400
+ args: {},
401
+ isClientInitiated: false,
402
+ prompt_id: 'prompt-id-1',
403
+ },
404
+ ];
405
+ // Don't await, let it run in the background
406
+ void scheduler.schedule(requests, abortController.signal);
407
+ // Wait for the first tool to be awaiting approval
408
+ const awaitingCall = (await waitForStatus(onToolCallsUpdate, 'awaiting_approval'));
409
+ // Cancel the first tool via its confirmation handler
410
+ await awaitingCall.confirmationDetails.onConfirm(ToolConfirmationOutcome.Cancel);
411
+ abortController.abort(); // User cancelling often involves an abort signal
412
+ await vi.waitFor(() => {
413
+ expect(onAllToolCallsComplete).toHaveBeenCalled();
414
+ });
415
+ const completedCalls = onAllToolCallsComplete.mock
416
+ .calls[0][0];
417
+ expect(completedCalls).toHaveLength(3);
418
+ expect(completedCalls.find((c) => c.request.callId === '1')?.status).toBe('cancelled');
419
+ expect(completedCalls.find((c) => c.request.callId === '2')?.status).toBe('cancelled');
420
+ expect(completedCalls.find((c) => c.request.callId === '3')?.status).toBe('cancelled');
421
+ });
196
422
  it('should mark tool call as cancelled when abort happens during confirmation error', async () => {
197
423
  const abortController = new AbortController();
198
424
  const abortError = new Error('Abort requested during confirmation');
@@ -1239,23 +1465,28 @@ describe('CoreToolScheduler request queueing', () => {
1239
1465
  },
1240
1466
  ];
1241
1467
  await scheduler.schedule(requests, abortController.signal);
1242
- // Wait for all tools to be awaiting approval
1468
+ // Wait for the FIRST tool to be awaiting approval
1243
1469
  await vi.waitFor(() => {
1244
1470
  const calls = onToolCallsUpdate.mock.calls.at(-1)?.[0];
1471
+ // With the sequential scheduler, the update includes the active call and the queue.
1245
1472
  expect(calls?.length).toBe(3);
1246
- expect(calls?.every((call) => call.status === 'awaiting_approval')).toBe(true);
1473
+ expect(calls?.[0].status).toBe('awaiting_approval');
1474
+ expect(calls?.[0].request.callId).toBe('1');
1475
+ // Check that the other two are in the queue (still in 'validating' state)
1476
+ expect(calls?.[1].status).toBe('validating');
1477
+ expect(calls?.[2].status).toBe('validating');
1247
1478
  });
1248
- expect(pendingConfirmations.length).toBe(3);
1479
+ expect(pendingConfirmations.length).toBe(1);
1249
1480
  // Approve the first tool with ProceedAlways
1250
1481
  const firstConfirmation = pendingConfirmations[0];
1251
1482
  firstConfirmation(ToolConfirmationOutcome.ProceedAlways);
1252
1483
  // Wait for all tools to be completed
1253
1484
  await vi.waitFor(() => {
1254
1485
  expect(onAllToolCallsComplete).toHaveBeenCalled();
1255
- const completedCalls = onAllToolCallsComplete.mock.calls.at(-1)?.[0];
1256
- expect(completedCalls?.length).toBe(3);
1257
- expect(completedCalls?.every((call) => call.status === 'success')).toBe(true);
1258
1486
  });
1487
+ const completedCalls = onAllToolCallsComplete.mock.calls.at(-1)?.[0];
1488
+ expect(completedCalls?.length).toBe(3);
1489
+ expect(completedCalls?.every((call) => call.status === 'success')).toBe(true);
1259
1490
  // Verify approval mode was changed
1260
1491
  expect(approvalMode).toBe(ApprovalMode.AUTO_EDIT);
1261
1492
  });
@@ -1475,11 +1706,10 @@ describe('CoreToolScheduler Sequential Execution', () => {
1475
1706
  await vi.waitFor(() => {
1476
1707
  expect(onAllToolCallsComplete).toHaveBeenCalled();
1477
1708
  });
1478
- // Check that execute was called for all three tools initially
1479
- expect(executeFn).toHaveBeenCalledTimes(3);
1709
+ // Check that execute was called for the first two tools only
1710
+ expect(executeFn).toHaveBeenCalledTimes(2);
1480
1711
  expect(executeFn).toHaveBeenCalledWith({ call: 1 });
1481
1712
  expect(executeFn).toHaveBeenCalledWith({ call: 2 });
1482
- expect(executeFn).toHaveBeenCalledWith({ call: 3 });
1483
1713
  const completedCalls = onAllToolCallsComplete.mock
1484
1714
  .calls[0][0];
1485
1715
  expect(completedCalls).toHaveLength(3);