@google/gemini-cli-core 0.64.0-preview.0 → 0.65.0-nightly.20261007.gef59c532f

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 (42) hide show
  1. package/dist/docs/changelogs/index.md +14 -0
  2. package/dist/docs/changelogs/latest.md +55 -34
  3. package/dist/docs/changelogs/preview.md +59 -54
  4. package/dist/docs/tools/mcp-server.md +41 -12
  5. package/dist/google-gemini-cli-core-0.65.0-nightly.20261006.gfb972b2f8.tgz +0 -0
  6. package/dist/src/generated/git-commit.d.ts +2 -2
  7. package/dist/src/generated/git-commit.js +2 -2
  8. package/dist/src/generated/git-commit.js.map +1 -1
  9. package/dist/src/mcp/oauth-callback-iss-handling.test.d.ts +6 -0
  10. package/dist/src/mcp/oauth-callback-iss-handling.test.js +251 -0
  11. package/dist/src/mcp/oauth-callback-iss-handling.test.js.map +1 -0
  12. package/dist/src/mcp/oauth-provider.d.ts +1 -0
  13. package/dist/src/mcp/oauth-provider.js +10 -1
  14. package/dist/src/mcp/oauth-provider.js.map +1 -1
  15. package/dist/src/mcp/oauth-provider.test.js +112 -0
  16. package/dist/src/mcp/oauth-provider.test.js.map +1 -1
  17. package/dist/src/mcp/oauth-utils.d.ts +6 -0
  18. package/dist/src/mcp/oauth-utils.js +6 -0
  19. package/dist/src/mcp/oauth-utils.js.map +1 -1
  20. package/dist/src/mcp/oauth-utils.test.js +32 -0
  21. package/dist/src/mcp/oauth-utils.test.js.map +1 -1
  22. package/dist/src/services/chatRecordingService.d.ts +6 -1
  23. package/dist/src/services/chatRecordingService.js +86 -22
  24. package/dist/src/services/chatRecordingService.js.map +1 -1
  25. package/dist/src/services/chatRecordingService.test.js +176 -15
  26. package/dist/src/services/chatRecordingService.test.js.map +1 -1
  27. package/dist/src/tools/mcp-client.js +5 -0
  28. package/dist/src/tools/mcp-client.js.map +1 -1
  29. package/dist/src/tools/mcp-client.test.js +49 -0
  30. package/dist/src/tools/mcp-client.test.js.map +1 -1
  31. package/dist/src/utils/oauth-flow.d.ts +2 -1
  32. package/dist/src/utils/oauth-flow.js +11 -6
  33. package/dist/src/utils/oauth-flow.js.map +1 -1
  34. package/dist/src/utils/oauth-flow.test.js +34 -2
  35. package/dist/src/utils/oauth-flow.test.js.map +1 -1
  36. package/dist/src/utils/sessionUtils.d.ts +11 -0
  37. package/dist/src/utils/sessionUtils.js +99 -13
  38. package/dist/src/utils/sessionUtils.js.map +1 -1
  39. package/dist/src/utils/sessionUtils.test.js +405 -7
  40. package/dist/src/utils/sessionUtils.test.js.map +1 -1
  41. package/dist/tsconfig.tsbuildinfo +1 -1
  42. package/package.json +1 -1
@@ -147,18 +147,78 @@ describe('convertSessionToClientHistory', () => {
147
147
  },
148
148
  ];
149
149
  const history = convertSessionToClientHistory(messages);
150
- expect(history.map((h) => h.content)).toEqual([
151
- { role: 'user', parts: [{ text: 'List files' }] },
150
+ expect(history).toEqual([
152
151
  {
153
- role: 'model',
154
- parts: [
152
+ id: 'msg1',
153
+ content: { role: 'user', parts: [{ text: 'List files' }] },
154
+ },
155
+ {
156
+ id: 'msg2',
157
+ content: {
158
+ role: 'model',
159
+ parts: [
160
+ { text: 'Let me check.' },
161
+ { functionCall: { name: 'ls', args: { dir: '.' }, id: 'call123' } },
162
+ ],
163
+ },
164
+ },
165
+ {
166
+ id: 'msg2_response',
167
+ content: {
168
+ role: 'user',
169
+ parts: [
170
+ {
171
+ functionResponse: {
172
+ id: 'call123',
173
+ name: 'ls',
174
+ response: { output: 'file.txt' },
175
+ },
176
+ },
177
+ ],
178
+ },
179
+ },
180
+ ]);
181
+ });
182
+ it('should not synthesize duplicate tool response turns when a recorded user functionResponse turn follows', () => {
183
+ const messages = [
184
+ {
185
+ id: 'msg1',
186
+ type: 'user',
187
+ timestamp: '2024-01-01T10:00:00Z',
188
+ content: 'List files',
189
+ },
190
+ {
191
+ id: 'msg2',
192
+ type: 'gemini',
193
+ timestamp: '2024-01-01T10:01:00Z',
194
+ content: [
155
195
  { text: 'Let me check.' },
156
- { functionCall: { name: 'ls', args: { dir: '.' }, id: 'call123' } },
196
+ { functionCall: { id: 'call123', name: 'ls', args: { dir: '.' } } },
197
+ ],
198
+ toolCalls: [
199
+ {
200
+ id: 'call123',
201
+ name: 'ls',
202
+ args: { dir: '.' },
203
+ status: CoreToolCallStatus.Success,
204
+ timestamp: '2024-01-01T10:01:05Z',
205
+ result: [
206
+ {
207
+ functionResponse: {
208
+ id: 'call123',
209
+ name: 'ls',
210
+ response: { output: 'file.txt' },
211
+ },
212
+ },
213
+ ],
214
+ },
157
215
  ],
158
216
  },
159
217
  {
160
- role: 'user',
161
- parts: [
218
+ id: 'msg3',
219
+ type: 'user',
220
+ timestamp: '2024-01-01T10:01:06Z',
221
+ content: [
162
222
  {
163
223
  functionResponse: {
164
224
  id: 'call123',
@@ -168,6 +228,318 @@ describe('convertSessionToClientHistory', () => {
168
228
  },
169
229
  ],
170
230
  },
231
+ ];
232
+ const history = convertSessionToClientHistory(messages);
233
+ expect(history).toEqual([
234
+ {
235
+ id: 'msg1',
236
+ content: { role: 'user', parts: [{ text: 'List files' }] },
237
+ },
238
+ {
239
+ id: 'msg2',
240
+ content: {
241
+ role: 'model',
242
+ parts: [
243
+ { text: 'Let me check.' },
244
+ { functionCall: { id: 'call123', name: 'ls', args: { dir: '.' } } },
245
+ ],
246
+ },
247
+ },
248
+ {
249
+ id: 'msg3',
250
+ content: {
251
+ role: 'user',
252
+ parts: [
253
+ {
254
+ functionResponse: {
255
+ id: 'call123',
256
+ name: 'ls',
257
+ response: { output: 'file.txt' },
258
+ },
259
+ },
260
+ ],
261
+ },
262
+ },
263
+ ]);
264
+ });
265
+ it('should handle parallel tool calls in a single turn without duplicating responses', () => {
266
+ const respA = {
267
+ functionResponse: {
268
+ id: 'callA',
269
+ name: 'read_file',
270
+ response: { output: 'contents A' },
271
+ },
272
+ };
273
+ const respB = {
274
+ functionResponse: {
275
+ id: 'callB',
276
+ name: 'read_file',
277
+ response: { output: 'contents B' },
278
+ },
279
+ };
280
+ const messages = [
281
+ {
282
+ id: 'msg1',
283
+ type: 'user',
284
+ timestamp: '2024-01-01T10:00:00Z',
285
+ content: 'Read both files',
286
+ },
287
+ {
288
+ id: 'msg2',
289
+ type: 'gemini',
290
+ timestamp: '2024-01-01T10:01:00Z',
291
+ content: [
292
+ {
293
+ functionCall: {
294
+ id: 'callA',
295
+ name: 'read_file',
296
+ args: { path: 'a.txt' },
297
+ },
298
+ },
299
+ {
300
+ functionCall: {
301
+ id: 'callB',
302
+ name: 'read_file',
303
+ args: { path: 'b.txt' },
304
+ },
305
+ },
306
+ ],
307
+ toolCalls: [
308
+ {
309
+ id: 'callA',
310
+ name: 'read_file',
311
+ args: { path: 'a.txt' },
312
+ status: CoreToolCallStatus.Success,
313
+ timestamp: '2024-01-01T10:01:05Z',
314
+ result: [respA, respB],
315
+ },
316
+ {
317
+ id: 'callB',
318
+ name: 'read_file',
319
+ args: { path: 'b.txt' },
320
+ status: CoreToolCallStatus.Success,
321
+ timestamp: '2024-01-01T10:01:05Z',
322
+ result: [respA, respB],
323
+ },
324
+ ],
325
+ },
326
+ {
327
+ id: 'msg3',
328
+ type: 'user',
329
+ timestamp: '2024-01-01T10:01:06Z',
330
+ content: [respA, respB],
331
+ },
332
+ ];
333
+ const history = convertSessionToClientHistory(messages);
334
+ expect(history).toEqual([
335
+ {
336
+ id: 'msg1',
337
+ content: { role: 'user', parts: [{ text: 'Read both files' }] },
338
+ },
339
+ {
340
+ id: 'msg2',
341
+ content: {
342
+ role: 'model',
343
+ parts: [
344
+ {
345
+ functionCall: {
346
+ id: 'callA',
347
+ name: 'read_file',
348
+ args: { path: 'a.txt' },
349
+ },
350
+ },
351
+ {
352
+ functionCall: {
353
+ id: 'callB',
354
+ name: 'read_file',
355
+ args: { path: 'b.txt' },
356
+ },
357
+ },
358
+ ],
359
+ },
360
+ },
361
+ {
362
+ id: 'msg3',
363
+ content: {
364
+ role: 'user',
365
+ parts: [respA, respB],
366
+ },
367
+ },
368
+ ]);
369
+ });
370
+ it('should deduplicate already corrupted history containing duplicate functionResponse parts', () => {
371
+ const dupResp = {
372
+ functionResponse: {
373
+ id: 'call123',
374
+ name: 'ls',
375
+ response: { output: 'file.txt' },
376
+ },
377
+ };
378
+ const messages = [
379
+ {
380
+ id: 'msg1',
381
+ type: 'user',
382
+ timestamp: '2024-01-01T10:00:00Z',
383
+ content: 'List files',
384
+ },
385
+ {
386
+ id: 'msg2',
387
+ type: 'gemini',
388
+ timestamp: '2024-01-01T10:01:00Z',
389
+ content: [
390
+ { functionCall: { id: 'call123', name: 'ls', args: { dir: '.' } } },
391
+ ],
392
+ toolCalls: [
393
+ {
394
+ id: 'call123',
395
+ name: 'ls',
396
+ args: { dir: '.' },
397
+ status: CoreToolCallStatus.Success,
398
+ timestamp: '2024-01-01T10:01:05Z',
399
+ result: [dupResp, dupResp],
400
+ },
401
+ ],
402
+ },
403
+ {
404
+ id: 'msg2_response',
405
+ type: 'user',
406
+ timestamp: '2024-01-01T10:01:05Z',
407
+ content: [dupResp, dupResp],
408
+ },
409
+ {
410
+ id: 'msg3',
411
+ type: 'user',
412
+ timestamp: '2024-01-01T10:01:06Z',
413
+ content: [dupResp],
414
+ },
415
+ ];
416
+ const history = convertSessionToClientHistory(messages);
417
+ expect(history).toEqual([
418
+ {
419
+ id: 'msg1',
420
+ content: { role: 'user', parts: [{ text: 'List files' }] },
421
+ },
422
+ {
423
+ id: 'msg2',
424
+ content: {
425
+ role: 'model',
426
+ parts: [
427
+ { functionCall: { id: 'call123', name: 'ls', args: { dir: '.' } } },
428
+ ],
429
+ },
430
+ },
431
+ {
432
+ id: 'msg2_response',
433
+ content: {
434
+ role: 'user',
435
+ parts: [dupResp],
436
+ },
437
+ },
438
+ ]);
439
+ });
440
+ it('should merge synthesized missing tool responses into the subsequent user turn without creating consecutive user turns', () => {
441
+ const respA = {
442
+ functionResponse: {
443
+ id: 'callA',
444
+ name: 'read_file',
445
+ response: { output: 'contents A' },
446
+ },
447
+ };
448
+ const respB = {
449
+ functionResponse: {
450
+ id: 'callB',
451
+ name: 'read_file',
452
+ response: { output: 'contents B' },
453
+ },
454
+ };
455
+ const messages = [
456
+ {
457
+ id: 'msg1',
458
+ type: 'user',
459
+ timestamp: '2024-01-01T10:00:00Z',
460
+ content: 'Read both files',
461
+ },
462
+ {
463
+ id: 'msg2',
464
+ type: 'gemini',
465
+ timestamp: '2024-01-01T10:01:00Z',
466
+ content: [
467
+ {
468
+ functionCall: {
469
+ id: 'callA',
470
+ name: 'read_file',
471
+ args: { path: 'a.txt' },
472
+ },
473
+ },
474
+ {
475
+ functionCall: {
476
+ id: 'callB',
477
+ name: 'read_file',
478
+ args: { path: 'b.txt' },
479
+ },
480
+ },
481
+ ],
482
+ toolCalls: [
483
+ {
484
+ id: 'callA',
485
+ name: 'read_file',
486
+ args: { path: 'a.txt' },
487
+ status: CoreToolCallStatus.Success,
488
+ timestamp: '2024-01-01T10:01:05Z',
489
+ result: [respA],
490
+ },
491
+ {
492
+ id: 'callB',
493
+ name: 'read_file',
494
+ args: { path: 'b.txt' },
495
+ status: CoreToolCallStatus.Success,
496
+ timestamp: '2024-01-01T10:01:05Z',
497
+ result: [respB],
498
+ },
499
+ ],
500
+ },
501
+ {
502
+ id: 'msg3',
503
+ type: 'user',
504
+ timestamp: '2024-01-01T10:01:06Z',
505
+ content: [respA],
506
+ },
507
+ ];
508
+ const history = convertSessionToClientHistory(messages);
509
+ expect(history).toEqual([
510
+ {
511
+ id: 'msg1',
512
+ content: { role: 'user', parts: [{ text: 'Read both files' }] },
513
+ },
514
+ {
515
+ id: 'msg2',
516
+ content: {
517
+ role: 'model',
518
+ parts: [
519
+ {
520
+ functionCall: {
521
+ id: 'callA',
522
+ name: 'read_file',
523
+ args: { path: 'a.txt' },
524
+ },
525
+ },
526
+ {
527
+ functionCall: {
528
+ id: 'callB',
529
+ name: 'read_file',
530
+ args: { path: 'b.txt' },
531
+ },
532
+ },
533
+ ],
534
+ },
535
+ },
536
+ {
537
+ id: 'msg3',
538
+ content: {
539
+ role: 'user',
540
+ parts: [respA, respB],
541
+ },
542
+ },
171
543
  ]);
172
544
  });
173
545
  it('should preserve multi-modal parts (inlineData)', () => {
@@ -193,5 +565,31 @@ describe('convertSessionToClientHistory', () => {
193
565
  },
194
566
  ]);
195
567
  });
568
+ it('should safely skip user messages with undefined content', () => {
569
+ const messages = [
570
+ {
571
+ id: 'msg1',
572
+ type: 'user',
573
+ timestamp: '2024-01-01T10:00:00Z',
574
+ content: undefined,
575
+ },
576
+ {
577
+ id: 'msg2',
578
+ type: 'user',
579
+ timestamp: '2024-01-01T10:01:00Z',
580
+ content: 'Valid query',
581
+ },
582
+ ];
583
+ const history = convertSessionToClientHistory(messages);
584
+ expect(history).toEqual([
585
+ {
586
+ id: 'msg2',
587
+ content: {
588
+ role: 'user',
589
+ parts: [{ text: 'Valid query' }],
590
+ },
591
+ },
592
+ ]);
593
+ });
196
594
  });
197
595
  //# sourceMappingURL=sessionUtils.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sessionUtils.test.js","sourceRoot":"","sources":["../../../src/utils/sessionUtils.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sessionUtils.test.js","sourceRoot":"","sources":["../../../src/utils/sessionUtils.test.ts"],"names":[],"mappings":"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"}