@google/gemini-cli-core 0.21.0-nightly.20251208.7a7203757 → 0.21.0-nightly.20251210.d90356e8a

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 (136) hide show
  1. package/README.md +1 -1
  2. package/dist/google-gemini-cli-core-0.21.0-nightly.20251209.ec9a8c7a7.tgz +0 -0
  3. package/dist/src/agents/codebase-investigator.js +2 -2
  4. package/dist/src/agents/codebase-investigator.js.map +1 -1
  5. package/dist/src/agents/codebase-investigator.test.js +2 -2
  6. package/dist/src/agents/codebase-investigator.test.js.map +1 -1
  7. package/dist/src/agents/registry.js +12 -2
  8. package/dist/src/agents/registry.js.map +1 -1
  9. package/dist/src/agents/registry.test.js +14 -0
  10. package/dist/src/agents/registry.test.js.map +1 -1
  11. package/dist/src/availability/errorClassification.d.ts +7 -0
  12. package/dist/src/availability/errorClassification.js +20 -0
  13. package/dist/src/availability/errorClassification.js.map +1 -0
  14. package/dist/src/availability/modelPolicy.d.ts +8 -1
  15. package/dist/src/availability/policyCatalog.js +1 -0
  16. package/dist/src/availability/policyCatalog.js.map +1 -1
  17. package/dist/src/availability/policyHelpers.d.ts +29 -2
  18. package/dist/src/availability/policyHelpers.js +92 -5
  19. package/dist/src/availability/policyHelpers.js.map +1 -1
  20. package/dist/src/availability/policyHelpers.test.js +104 -12
  21. package/dist/src/availability/policyHelpers.test.js.map +1 -1
  22. package/dist/src/availability/testUtils.d.ts +10 -0
  23. package/dist/src/availability/testUtils.js +22 -0
  24. package/dist/src/availability/testUtils.js.map +1 -0
  25. package/dist/src/code_assist/oauth2.js +10 -0
  26. package/dist/src/code_assist/oauth2.js.map +1 -1
  27. package/dist/src/code_assist/oauth2.test.js +73 -4
  28. package/dist/src/code_assist/oauth2.test.js.map +1 -1
  29. package/dist/src/commands/restore.d.ts +1 -11
  30. package/dist/src/commands/restore.js +1 -0
  31. package/dist/src/commands/restore.js.map +1 -1
  32. package/dist/src/commands/restore.test.js +1 -0
  33. package/dist/src/commands/restore.test.js.map +1 -1
  34. package/dist/src/config/config.d.ts +7 -0
  35. package/dist/src/config/config.js +24 -2
  36. package/dist/src/config/config.js.map +1 -1
  37. package/dist/src/config/config.test.js +36 -0
  38. package/dist/src/config/config.test.js.map +1 -1
  39. package/dist/src/config/models.d.ts +1 -0
  40. package/dist/src/config/models.js +6 -0
  41. package/dist/src/config/models.js.map +1 -1
  42. package/dist/src/core/baseLlmClient.js +32 -2
  43. package/dist/src/core/baseLlmClient.js.map +1 -1
  44. package/dist/src/core/baseLlmClient.test.js +184 -7
  45. package/dist/src/core/baseLlmClient.test.js.map +1 -1
  46. package/dist/src/core/client.js +41 -9
  47. package/dist/src/core/client.js.map +1 -1
  48. package/dist/src/core/client.test.js +107 -5
  49. package/dist/src/core/client.test.js.map +1 -1
  50. package/dist/src/core/geminiChat.js +50 -18
  51. package/dist/src/core/geminiChat.js.map +1 -1
  52. package/dist/src/core/geminiChat.test.js +187 -1
  53. package/dist/src/core/geminiChat.test.js.map +1 -1
  54. package/dist/src/core/geminiChat_network_retry.test.js +1 -0
  55. package/dist/src/core/geminiChat_network_retry.test.js.map +1 -1
  56. package/dist/src/core/turn.d.ts +1 -0
  57. package/dist/src/core/turn.js.map +1 -1
  58. package/dist/src/fallback/handler.js +31 -23
  59. package/dist/src/fallback/handler.js.map +1 -1
  60. package/dist/src/fallback/handler.test.js +44 -14
  61. package/dist/src/fallback/handler.test.js.map +1 -1
  62. package/dist/src/generated/git-commit.d.ts +2 -2
  63. package/dist/src/generated/git-commit.js +2 -2
  64. package/dist/src/ide/ide-client.js +3 -3
  65. package/dist/src/ide/ide-client.js.map +1 -1
  66. package/dist/src/ide/ide-client.test.js +17 -0
  67. package/dist/src/ide/ide-client.test.js.map +1 -1
  68. package/dist/src/index.d.ts +2 -0
  69. package/dist/src/index.js +2 -0
  70. package/dist/src/index.js.map +1 -1
  71. package/dist/src/resources/resource-registry.d.ts +30 -0
  72. package/dist/src/resources/resource-registry.js +57 -0
  73. package/dist/src/resources/resource-registry.js.map +1 -0
  74. package/dist/src/resources/resource-registry.test.d.ts +6 -0
  75. package/dist/src/resources/resource-registry.test.js +54 -0
  76. package/dist/src/resources/resource-registry.test.js.map +1 -0
  77. package/dist/src/services/gitService.js +5 -0
  78. package/dist/src/services/gitService.js.map +1 -1
  79. package/dist/src/services/gitService.test.js +28 -0
  80. package/dist/src/services/gitService.test.js.map +1 -1
  81. package/dist/src/services/modelConfigServiceTestUtils.d.ts +10 -0
  82. package/dist/src/services/modelConfigServiceTestUtils.js +17 -0
  83. package/dist/src/services/modelConfigServiceTestUtils.js.map +1 -0
  84. package/dist/src/services/shellExecutionService.js +47 -2
  85. package/dist/src/services/shellExecutionService.js.map +1 -1
  86. package/dist/src/services/shellExecutionService.test.js +102 -1
  87. package/dist/src/services/shellExecutionService.test.js.map +1 -1
  88. package/dist/src/telemetry/loggers.d.ts +2 -1
  89. package/dist/src/telemetry/loggers.js +10 -0
  90. package/dist/src/telemetry/loggers.js.map +1 -1
  91. package/dist/src/telemetry/sdk.js +15 -2
  92. package/dist/src/telemetry/sdk.js.map +1 -1
  93. package/dist/src/telemetry/sdk.test.js +20 -1
  94. package/dist/src/telemetry/sdk.test.js.map +1 -1
  95. package/dist/src/telemetry/startupProfiler.js +23 -0
  96. package/dist/src/telemetry/startupProfiler.js.map +1 -1
  97. package/dist/src/telemetry/startupProfiler.test.js +25 -0
  98. package/dist/src/telemetry/startupProfiler.test.js.map +1 -1
  99. package/dist/src/telemetry/types.d.ts +21 -1
  100. package/dist/src/telemetry/types.js +31 -0
  101. package/dist/src/telemetry/types.js.map +1 -1
  102. package/dist/src/tools/mcp-client-manager.d.ts +2 -1
  103. package/dist/src/tools/mcp-client-manager.js +4 -1
  104. package/dist/src/tools/mcp-client-manager.js.map +1 -1
  105. package/dist/src/tools/mcp-client-manager.test.js +13 -10
  106. package/dist/src/tools/mcp-client-manager.test.js.map +1 -1
  107. package/dist/src/tools/mcp-client.d.ts +25 -4
  108. package/dist/src/tools/mcp-client.js +132 -22
  109. package/dist/src/tools/mcp-client.js.map +1 -1
  110. package/dist/src/tools/mcp-client.test.js +197 -17
  111. package/dist/src/tools/mcp-client.test.js.map +1 -1
  112. package/dist/src/tools/read-file.js +1 -1
  113. package/dist/src/tools/read-file.js.map +1 -1
  114. package/dist/src/tools/read-many-files.js +6 -4
  115. package/dist/src/tools/read-many-files.js.map +1 -1
  116. package/dist/src/tools/read-many-files.test.js +1 -1
  117. package/dist/src/tools/read-many-files.test.js.map +1 -1
  118. package/dist/src/tools/tool-names.d.ts +1 -0
  119. package/dist/src/tools/tool-names.js +1 -0
  120. package/dist/src/tools/tool-names.js.map +1 -1
  121. package/dist/src/utils/checkpointUtils.d.ts +82 -0
  122. package/dist/src/utils/checkpointUtils.js +117 -0
  123. package/dist/src/utils/checkpointUtils.js.map +1 -0
  124. package/dist/src/utils/checkpointUtils.test.d.ts +6 -0
  125. package/dist/src/utils/checkpointUtils.test.js +229 -0
  126. package/dist/src/utils/checkpointUtils.test.js.map +1 -0
  127. package/dist/src/utils/fileUtils.test.js +15 -0
  128. package/dist/src/utils/fileUtils.test.js.map +1 -1
  129. package/dist/src/utils/retry.d.ts +3 -0
  130. package/dist/src/utils/retry.js +20 -2
  131. package/dist/src/utils/retry.js.map +1 -1
  132. package/dist/src/utils/retry.test.js +115 -1
  133. package/dist/src/utils/retry.test.js.map +1 -1
  134. package/dist/tsconfig.tsbuildinfo +1 -1
  135. package/package.json +1 -1
  136. package/dist/google-gemini-cli-core-0.21.0-nightly.20251207.025e450ac.tgz +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-client.js","sourceRoot":"","sources":["../../../src/tools/mcp-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-client.js","sourceRoot":"","sources":["../../../src/tools/mcp-client.ts"],"names":[],"mappings":"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"}
@@ -55,6 +55,7 @@ describe('mcp-client', () => {
55
55
  getStatus: vi.fn(),
56
56
  registerCapabilities: vi.fn(),
57
57
  setRequestHandler: vi.fn(),
58
+ setNotificationHandler: vi.fn(),
58
59
  getServerCapabilities: vi.fn().mockReturnValue({ tools: {} }),
59
60
  listTools: vi.fn().mockResolvedValue({
60
61
  tools: [
@@ -79,9 +80,17 @@ describe('mcp-client', () => {
79
80
  sortTools: vi.fn(),
80
81
  getMessageBus: vi.fn().mockReturnValue(undefined),
81
82
  };
83
+ const promptRegistry = {
84
+ registerPrompt: vi.fn(),
85
+ removePromptsByServer: vi.fn(),
86
+ };
87
+ const resourceRegistry = {
88
+ setResourcesForServer: vi.fn(),
89
+ removeResourcesByServer: vi.fn(),
90
+ };
82
91
  const client = new McpClient('test-server', {
83
92
  command: 'test-command',
84
- }, mockedToolRegistry, {}, workspaceContext, {}, false);
93
+ }, mockedToolRegistry, promptRegistry, resourceRegistry, workspaceContext, {}, false);
85
94
  await client.connect();
86
95
  await client.discover({});
87
96
  expect(mockedClient.listTools).toHaveBeenCalledWith({}, { timeout: 600000 });
@@ -97,6 +106,7 @@ describe('mcp-client', () => {
97
106
  getStatus: vi.fn(),
98
107
  registerCapabilities: vi.fn(),
99
108
  setRequestHandler: vi.fn(),
109
+ setNotificationHandler: vi.fn(),
100
110
  getServerCapabilities: vi.fn().mockReturnValue({ tools: {} }),
101
111
  listTools: vi.fn().mockResolvedValue({
102
112
  tools: [
@@ -132,9 +142,17 @@ describe('mcp-client', () => {
132
142
  sortTools: vi.fn(),
133
143
  getMessageBus: vi.fn().mockReturnValue(undefined),
134
144
  };
145
+ const promptRegistry = {
146
+ registerPrompt: vi.fn(),
147
+ removePromptsByServer: vi.fn(),
148
+ };
149
+ const resourceRegistry = {
150
+ setResourcesForServer: vi.fn(),
151
+ removeResourcesByServer: vi.fn(),
152
+ };
135
153
  const client = new McpClient('test-server', {
136
154
  command: 'test-command',
137
- }, mockedToolRegistry, {}, workspaceContext, {}, false);
155
+ }, mockedToolRegistry, promptRegistry, resourceRegistry, workspaceContext, {}, false);
138
156
  await client.connect();
139
157
  await client.discover({});
140
158
  expect(mockedToolRegistry.registerTool).toHaveBeenCalledTimes(2);
@@ -149,6 +167,7 @@ describe('mcp-client', () => {
149
167
  getStatus: vi.fn(),
150
168
  registerCapabilities: vi.fn(),
151
169
  setRequestHandler: vi.fn(),
170
+ setNotificationHandler: vi.fn(),
152
171
  getServerCapabilities: vi.fn().mockReturnValue({ prompts: {} }),
153
172
  listTools: vi.fn().mockResolvedValue({ tools: [] }),
154
173
  listPrompts: vi.fn().mockRejectedValue(new Error('Test error')),
@@ -160,11 +179,19 @@ describe('mcp-client', () => {
160
179
  registerTool: vi.fn(),
161
180
  getMessageBus: vi.fn().mockReturnValue(undefined),
162
181
  };
182
+ const promptRegistry = {
183
+ registerPrompt: vi.fn(),
184
+ removePromptsByServer: vi.fn(),
185
+ };
186
+ const resourceRegistry = {
187
+ setResourcesForServer: vi.fn(),
188
+ removeResourcesByServer: vi.fn(),
189
+ };
163
190
  const client = new McpClient('test-server', {
164
191
  command: 'test-command',
165
- }, mockedToolRegistry, {}, workspaceContext, {}, false);
192
+ }, mockedToolRegistry, promptRegistry, resourceRegistry, workspaceContext, {}, false);
166
193
  await client.connect();
167
- await expect(client.discover({})).rejects.toThrow('No prompts or tools found on the server.');
194
+ await expect(client.discover({})).rejects.toThrow('No prompts, tools, or resources found on the server.');
168
195
  expect(coreEvents.emitFeedback).toHaveBeenCalledWith('error', `Error discovering prompts from test-server: Test error`, expect.any(Error));
169
196
  });
170
197
  it('should not discover tools if server does not support them', async () => {
@@ -175,6 +202,7 @@ describe('mcp-client', () => {
175
202
  getStatus: vi.fn(),
176
203
  registerCapabilities: vi.fn(),
177
204
  setRequestHandler: vi.fn(),
205
+ setNotificationHandler: vi.fn(),
178
206
  getServerCapabilities: vi.fn().mockReturnValue({ prompts: {} }),
179
207
  listPrompts: vi.fn().mockResolvedValue({ prompts: [] }),
180
208
  request: vi.fn().mockResolvedValue({}),
@@ -186,11 +214,19 @@ describe('mcp-client', () => {
186
214
  sortTools: vi.fn(),
187
215
  getMessageBus: vi.fn().mockReturnValue(undefined),
188
216
  };
217
+ const promptRegistry = {
218
+ registerPrompt: vi.fn(),
219
+ removePromptsByServer: vi.fn(),
220
+ };
221
+ const resourceRegistry = {
222
+ setResourcesForServer: vi.fn(),
223
+ removeResourcesByServer: vi.fn(),
224
+ };
189
225
  const client = new McpClient('test-server', {
190
226
  command: 'test-command',
191
- }, mockedToolRegistry, {}, workspaceContext, {}, false);
227
+ }, mockedToolRegistry, promptRegistry, resourceRegistry, workspaceContext, {}, false);
192
228
  await client.connect();
193
- await expect(client.discover({})).rejects.toThrow('No prompts or tools found on the server.');
229
+ await expect(client.discover({})).rejects.toThrow('No prompts, tools, or resources found on the server.');
194
230
  });
195
231
  it('should discover tools if server supports them', async () => {
196
232
  const mockedClient = {
@@ -200,6 +236,7 @@ describe('mcp-client', () => {
200
236
  getStatus: vi.fn(),
201
237
  registerCapabilities: vi.fn(),
202
238
  setRequestHandler: vi.fn(),
239
+ setNotificationHandler: vi.fn(),
203
240
  getServerCapabilities: vi.fn().mockReturnValue({ tools: {} }),
204
241
  listTools: vi.fn().mockResolvedValue({
205
242
  tools: [
@@ -220,9 +257,17 @@ describe('mcp-client', () => {
220
257
  sortTools: vi.fn(),
221
258
  getMessageBus: vi.fn().mockReturnValue(undefined),
222
259
  };
260
+ const promptRegistry = {
261
+ registerPrompt: vi.fn(),
262
+ removePromptsByServer: vi.fn(),
263
+ };
264
+ const resourceRegistry = {
265
+ setResourcesForServer: vi.fn(),
266
+ removeResourcesByServer: vi.fn(),
267
+ };
223
268
  const client = new McpClient('test-server', {
224
269
  command: 'test-command',
225
- }, mockedToolRegistry, {}, workspaceContext, {}, false);
270
+ }, mockedToolRegistry, promptRegistry, resourceRegistry, workspaceContext, {}, false);
226
271
  await client.connect();
227
272
  await client.discover({});
228
273
  expect(mockedToolRegistry.registerTool).toHaveBeenCalledOnce();
@@ -235,6 +280,7 @@ describe('mcp-client', () => {
235
280
  getStatus: vi.fn(),
236
281
  registerCapabilities: vi.fn(),
237
282
  setRequestHandler: vi.fn(),
283
+ setNotificationHandler: vi.fn(),
238
284
  getServerCapabilities: vi.fn().mockReturnValue({ tools: {} }),
239
285
  listTools: vi.fn().mockResolvedValue({
240
286
  tools: [
@@ -270,9 +316,17 @@ describe('mcp-client', () => {
270
316
  sortTools: vi.fn(),
271
317
  getMessageBus: vi.fn().mockReturnValue(undefined),
272
318
  };
319
+ const promptRegistry = {
320
+ registerPrompt: vi.fn(),
321
+ removePromptsByServer: vi.fn(),
322
+ };
323
+ const resourceRegistry = {
324
+ setResourcesForServer: vi.fn(),
325
+ removeResourcesByServer: vi.fn(),
326
+ };
273
327
  const client = new McpClient('test-server', {
274
328
  command: 'test-command',
275
- }, mockedToolRegistry, {}, workspaceContext, {}, false);
329
+ }, mockedToolRegistry, promptRegistry, resourceRegistry, workspaceContext, {}, false);
276
330
  await client.connect();
277
331
  await client.discover({});
278
332
  expect(mockedToolRegistry.registerTool).toHaveBeenCalledOnce();
@@ -293,6 +347,126 @@ describe('mcp-client', () => {
293
347
  },
294
348
  });
295
349
  });
350
+ it('should discover resources when a server only exposes resources', async () => {
351
+ const mockedClient = {
352
+ connect: vi.fn(),
353
+ discover: vi.fn(),
354
+ disconnect: vi.fn(),
355
+ getStatus: vi.fn(),
356
+ registerCapabilities: vi.fn(),
357
+ setRequestHandler: vi.fn(),
358
+ setNotificationHandler: vi.fn(),
359
+ getServerCapabilities: vi.fn().mockReturnValue({ resources: {} }),
360
+ request: vi.fn().mockImplementation(({ method }) => {
361
+ if (method === 'resources/list') {
362
+ return Promise.resolve({
363
+ resources: [
364
+ {
365
+ uri: 'file:///tmp/resource.txt',
366
+ name: 'resource',
367
+ description: 'Test Resource',
368
+ mimeType: 'text/plain',
369
+ },
370
+ ],
371
+ });
372
+ }
373
+ return Promise.resolve({ prompts: [] });
374
+ }),
375
+ };
376
+ vi.mocked(ClientLib.Client).mockReturnValue(mockedClient);
377
+ vi.spyOn(SdkClientStdioLib, 'StdioClientTransport').mockReturnValue({});
378
+ const mockedToolRegistry = {
379
+ registerTool: vi.fn(),
380
+ sortTools: vi.fn(),
381
+ getMessageBus: vi.fn().mockReturnValue(undefined),
382
+ };
383
+ const promptRegistry = {
384
+ registerPrompt: vi.fn(),
385
+ removePromptsByServer: vi.fn(),
386
+ };
387
+ const resourceRegistry = {
388
+ setResourcesForServer: vi.fn(),
389
+ removeResourcesByServer: vi.fn(),
390
+ };
391
+ const client = new McpClient('test-server', {
392
+ command: 'test-command',
393
+ }, mockedToolRegistry, promptRegistry, resourceRegistry, workspaceContext, {}, false);
394
+ await client.connect();
395
+ await client.discover({});
396
+ expect(resourceRegistry.setResourcesForServer).toHaveBeenCalledWith('test-server', [
397
+ expect.objectContaining({
398
+ uri: 'file:///tmp/resource.txt',
399
+ name: 'resource',
400
+ }),
401
+ ]);
402
+ });
403
+ it('refreshes registry when resource list change notification is received', async () => {
404
+ let listCallCount = 0;
405
+ let resourceListHandler;
406
+ const mockedClient = {
407
+ connect: vi.fn(),
408
+ discover: vi.fn(),
409
+ disconnect: vi.fn(),
410
+ getStatus: vi.fn(),
411
+ registerCapabilities: vi.fn(),
412
+ setRequestHandler: vi.fn(),
413
+ setNotificationHandler: vi.fn((_, handler) => {
414
+ resourceListHandler = handler;
415
+ }),
416
+ getServerCapabilities: vi
417
+ .fn()
418
+ .mockReturnValue({ resources: { listChanged: true } }),
419
+ request: vi.fn().mockImplementation(({ method }) => {
420
+ if (method === 'resources/list') {
421
+ listCallCount += 1;
422
+ if (listCallCount === 1) {
423
+ return Promise.resolve({
424
+ resources: [
425
+ {
426
+ uri: 'file:///tmp/one.txt',
427
+ },
428
+ ],
429
+ });
430
+ }
431
+ return Promise.resolve({
432
+ resources: [
433
+ {
434
+ uri: 'file:///tmp/two.txt',
435
+ },
436
+ ],
437
+ });
438
+ }
439
+ return Promise.resolve({ prompts: [] });
440
+ }),
441
+ };
442
+ vi.mocked(ClientLib.Client).mockReturnValue(mockedClient);
443
+ vi.spyOn(SdkClientStdioLib, 'StdioClientTransport').mockReturnValue({});
444
+ const mockedToolRegistry = {
445
+ registerTool: vi.fn(),
446
+ sortTools: vi.fn(),
447
+ getMessageBus: vi.fn().mockReturnValue(undefined),
448
+ };
449
+ const promptRegistry = {
450
+ registerPrompt: vi.fn(),
451
+ removePromptsByServer: vi.fn(),
452
+ };
453
+ const resourceRegistry = {
454
+ setResourcesForServer: vi.fn(),
455
+ removeResourcesByServer: vi.fn(),
456
+ };
457
+ const client = new McpClient('test-server', {
458
+ command: 'test-command',
459
+ }, mockedToolRegistry, promptRegistry, resourceRegistry, workspaceContext, {}, false);
460
+ await client.connect();
461
+ await client.discover({});
462
+ expect(mockedClient.setNotificationHandler).toHaveBeenCalledOnce();
463
+ expect(resourceListHandler).toBeDefined();
464
+ await resourceListHandler?.({
465
+ method: 'notifications/resources/list_changed',
466
+ });
467
+ expect(resourceRegistry.setResourcesForServer).toHaveBeenLastCalledWith('test-server', [expect.objectContaining({ uri: 'file:///tmp/two.txt' })]);
468
+ expect(coreEvents.emitFeedback).toHaveBeenCalledWith('info', 'Resources updated for server: test-server');
469
+ });
296
470
  it('should remove tools and prompts on disconnect', async () => {
297
471
  const mockedClient = {
298
472
  connect: vi.fn(),
@@ -300,6 +474,7 @@ describe('mcp-client', () => {
300
474
  getStatus: vi.fn(),
301
475
  registerCapabilities: vi.fn(),
302
476
  setRequestHandler: vi.fn(),
477
+ setNotificationHandler: vi.fn(),
303
478
  getServerCapabilities: vi
304
479
  .fn()
305
480
  .mockReturnValue({ tools: {}, prompts: {} }),
@@ -331,9 +506,13 @@ describe('mcp-client', () => {
331
506
  unregisterPrompt: vi.fn(),
332
507
  removePromptsByServer: vi.fn(),
333
508
  };
509
+ const resourceRegistry = {
510
+ setResourcesForServer: vi.fn(),
511
+ removeResourcesByServer: vi.fn(),
512
+ };
334
513
  const client = new McpClient('test-server', {
335
514
  command: 'test-command',
336
- }, mockedToolRegistry, mockedPromptRegistry, workspaceContext, {}, false);
515
+ }, mockedToolRegistry, mockedPromptRegistry, resourceRegistry, workspaceContext, {}, false);
337
516
  await client.connect();
338
517
  await client.discover({});
339
518
  expect(mockedToolRegistry.registerTool).toHaveBeenCalledOnce();
@@ -342,6 +521,7 @@ describe('mcp-client', () => {
342
521
  expect(mockedClient.close).toHaveBeenCalledOnce();
343
522
  expect(mockedToolRegistry.removeMcpToolsByServer).toHaveBeenCalledOnce();
344
523
  expect(mockedPromptRegistry.removePromptsByServer).toHaveBeenCalledOnce();
524
+ expect(resourceRegistry.removeResourcesByServer).toHaveBeenCalledOnce();
345
525
  });
346
526
  });
347
527
  describe('Dynamic Tool Updates', () => {
@@ -362,7 +542,7 @@ describe('mcp-client', () => {
362
542
  };
363
543
  vi.mocked(ClientLib.Client).mockReturnValue(mockedClient);
364
544
  vi.spyOn(SdkClientStdioLib, 'StdioClientTransport').mockReturnValue({});
365
- const client = new McpClient('test-server', { command: 'test-command' }, {}, {}, workspaceContext, {}, false);
545
+ const client = new McpClient('test-server', { command: 'test-command' }, {}, {}, {}, workspaceContext, {}, false);
366
546
  await client.connect();
367
547
  expect(mockedClient.setNotificationHandler).toHaveBeenCalledWith(ToolListChangedNotificationSchema, expect.any(Function));
368
548
  });
@@ -377,7 +557,7 @@ describe('mcp-client', () => {
377
557
  };
378
558
  vi.mocked(ClientLib.Client).mockReturnValue(mockedClient);
379
559
  vi.spyOn(SdkClientStdioLib, 'StdioClientTransport').mockReturnValue({});
380
- const client = new McpClient('test-server', { command: 'test-command' }, {}, {}, workspaceContext, {}, false);
560
+ const client = new McpClient('test-server', { command: 'test-command' }, {}, {}, {}, workspaceContext, {}, false);
381
561
  await client.connect();
382
562
  expect(mockedClient.setNotificationHandler).not.toHaveBeenCalled();
383
563
  });
@@ -412,7 +592,7 @@ describe('mcp-client', () => {
412
592
  };
413
593
  const onToolsUpdatedSpy = vi.fn().mockResolvedValue(undefined);
414
594
  // Initialize client with onToolsUpdated callback
415
- const client = new McpClient('test-server', { command: 'test-command' }, mockedToolRegistry, {}, workspaceContext, {}, false, onToolsUpdatedSpy);
595
+ const client = new McpClient('test-server', { command: 'test-command' }, mockedToolRegistry, {}, {}, workspaceContext, {}, false, onToolsUpdatedSpy);
416
596
  // 1. Connect (sets up listener)
417
597
  await client.connect();
418
598
  // 2. Extract the callback passed to setNotificationHandler
@@ -450,7 +630,7 @@ describe('mcp-client', () => {
450
630
  removeMcpToolsByServer: vi.fn(),
451
631
  getMessageBus: vi.fn().mockReturnValue(undefined),
452
632
  };
453
- const client = new McpClient('test-server', { command: 'test-command' }, mockedToolRegistry, {}, workspaceContext, {}, false);
633
+ const client = new McpClient('test-server', { command: 'test-command' }, mockedToolRegistry, {}, {}, workspaceContext, {}, false);
454
634
  await client.connect();
455
635
  const notificationCallback = mockedClient.setNotificationHandler.mock.calls[0][1];
456
636
  // Trigger notification - should fail internally but catch the error
@@ -493,8 +673,8 @@ describe('mcp-client', () => {
493
673
  getMessageBus: vi.fn().mockReturnValue(undefined),
494
674
  };
495
675
  const onToolsUpdatedSpy = vi.fn().mockResolvedValue(undefined);
496
- const clientA = new McpClient('server-A', { command: 'cmd-a' }, mockedToolRegistry, {}, workspaceContext, {}, false, onToolsUpdatedSpy);
497
- const clientB = new McpClient('server-B', { command: 'cmd-b' }, mockedToolRegistry, {}, workspaceContext, {}, false, onToolsUpdatedSpy);
676
+ const clientA = new McpClient('server-A', { command: 'cmd-a' }, mockedToolRegistry, {}, {}, workspaceContext, {}, false, onToolsUpdatedSpy);
677
+ const clientB = new McpClient('server-B', { command: 'cmd-b' }, mockedToolRegistry, {}, {}, workspaceContext, {}, false, onToolsUpdatedSpy);
498
678
  await clientA.connect();
499
679
  await clientB.connect();
500
680
  const handlerA = mockClientA.setNotificationHandler.mock.calls[0][1];
@@ -544,7 +724,7 @@ describe('mcp-client', () => {
544
724
  };
545
725
  const client = new McpClient('test-server',
546
726
  // Set a short timeout
547
- { command: 'test-command', timeout: 100 }, mockedToolRegistry, {}, workspaceContext, {}, false);
727
+ { command: 'test-command', timeout: 100 }, mockedToolRegistry, {}, {}, workspaceContext, {}, false);
548
728
  await client.connect();
549
729
  const notificationCallback = mockedClient.setNotificationHandler.mock.calls[0][1];
550
730
  const refreshPromise = notificationCallback();
@@ -578,7 +758,7 @@ describe('mcp-client', () => {
578
758
  getMessageBus: vi.fn().mockReturnValue(undefined),
579
759
  };
580
760
  const onToolsUpdatedSpy = vi.fn().mockResolvedValue(undefined);
581
- const client = new McpClient('test-server', { command: 'test-command' }, mockedToolRegistry, {}, workspaceContext, {}, false, onToolsUpdatedSpy);
761
+ const client = new McpClient('test-server', { command: 'test-command' }, mockedToolRegistry, {}, {}, workspaceContext, {}, false, onToolsUpdatedSpy);
582
762
  await client.connect();
583
763
  const notificationCallback = mockedClient.setNotificationHandler.mock.calls[0][1];
584
764
  await notificationCallback();