@google/gemini-cli-core 0.1.8 → 0.1.9-nightly.20250704.b1fbe7b0
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.
- package/README.md +1 -1
- package/dist/src/code_assist/codeAssist.d.ts +1 -1
- package/dist/src/code_assist/codeAssist.js +2 -2
- package/dist/src/code_assist/codeAssist.js.map +1 -1
- package/dist/src/code_assist/converter.d.ts +2 -1
- package/dist/src/code_assist/converter.js +4 -3
- package/dist/src/code_assist/converter.js.map +1 -1
- package/dist/src/code_assist/converter.test.js +24 -0
- package/dist/src/code_assist/converter.test.js.map +1 -1
- package/dist/src/code_assist/oauth2.d.ts +1 -1
- package/dist/src/code_assist/oauth2.js +28 -20
- package/dist/src/code_assist/oauth2.js.map +1 -1
- package/dist/src/code_assist/oauth2.test.js +18 -0
- package/dist/src/code_assist/oauth2.test.js.map +1 -1
- package/dist/src/code_assist/server.d.ts +2 -1
- package/dist/src/code_assist/server.js +5 -3
- package/dist/src/code_assist/server.js.map +1 -1
- package/dist/src/core/client.d.ts +1 -1
- package/dist/src/core/client.js +17 -13
- package/dist/src/core/client.js.map +1 -1
- package/dist/src/core/client.test.js +302 -3
- package/dist/src/core/client.test.js.map +1 -1
- package/dist/src/core/contentGenerator.d.ts +1 -1
- package/dist/src/core/contentGenerator.js +2 -2
- package/dist/src/core/contentGenerator.js.map +1 -1
- package/dist/src/core/logger.d.ts +3 -4
- package/dist/src/core/logger.js +7 -11
- package/dist/src/core/logger.js.map +1 -1
- package/dist/src/core/logger.test.js +6 -15
- package/dist/src/core/logger.test.js.map +1 -1
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +34 -11
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
- package/dist/src/tools/glob.d.ts +5 -1
- package/dist/src/tools/glob.js +5 -1
- package/dist/src/tools/glob.js.map +1 -1
- package/dist/src/tools/mcp-client.d.ts +7 -0
- package/dist/src/tools/mcp-client.js +17 -0
- package/dist/src/tools/mcp-client.js.map +1 -1
- package/dist/src/tools/shell.d.ts +16 -0
- package/dist/src/tools/shell.js +16 -0
- package/dist/src/tools/shell.js.map +1 -1
- package/dist/src/tools/web-search.d.ts +6 -1
- package/dist/src/tools/web-search.js +7 -2
- package/dist/src/tools/web-search.js.map +1 -1
- package/dist/src/tools/write-file.d.ts +7 -0
- package/dist/src/tools/write-file.js +7 -0
- package/dist/src/tools/write-file.js.map +1 -1
- package/dist/src/utils/fileUtils.js +5 -0
- package/dist/src/utils/fileUtils.js.map +1 -1
- package/dist/src/utils/fileUtils.test.js +4 -0
- package/dist/src/utils/fileUtils.test.js.map +1 -1
- package/dist/src/utils/user_id.d.ts +1 -1
- package/dist/src/utils/user_id.js +5 -5
- package/dist/src/utils/user_id.js.map +1 -1
- package/dist/src/utils/user_id.test.js +15 -11
- package/dist/src/utils/user_id.test.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +7 -9
- package/dist/google-gemini-cli-core-0.1.8.tgz +0 -0
|
@@ -13,6 +13,7 @@ import { getCoreSystemPrompt } from './prompts.js';
|
|
|
13
13
|
import { DEFAULT_GEMINI_FLASH_MODEL } from '../config/models.js';
|
|
14
14
|
import { FileDiscoveryService } from '../services/fileDiscoveryService.js';
|
|
15
15
|
import { setSimulate429 } from '../utils/testUtils.js';
|
|
16
|
+
import { tokenLimit } from './tokenLimits.js';
|
|
16
17
|
// --- Mocks ---
|
|
17
18
|
const mockChatCreateFn = vi.fn();
|
|
18
19
|
const mockGenerateContentFn = vi.fn();
|
|
@@ -66,7 +67,6 @@ describe('Gemini Client (client.ts)', () => {
|
|
|
66
67
|
embedContent: mockEmbedContentFn,
|
|
67
68
|
},
|
|
68
69
|
};
|
|
69
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
70
70
|
return mock;
|
|
71
71
|
});
|
|
72
72
|
mockChatCreateFn.mockResolvedValue({});
|
|
@@ -112,12 +112,10 @@ describe('Gemini Client (client.ts)', () => {
|
|
|
112
112
|
getWorkingDir: vi.fn().mockReturnValue('/test/dir'),
|
|
113
113
|
getFileService: vi.fn().mockReturnValue(fileService),
|
|
114
114
|
};
|
|
115
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
116
115
|
return mock;
|
|
117
116
|
});
|
|
118
117
|
// We can instantiate the client here since Config is mocked
|
|
119
118
|
// and the constructor will use the mocked GoogleGenAI
|
|
120
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
121
119
|
const mockConfig = new Config({});
|
|
122
120
|
client = new GeminiClient(mockConfig);
|
|
123
121
|
await client.initialize(contentGeneratorConfig);
|
|
@@ -296,6 +294,91 @@ describe('Gemini Client (client.ts)', () => {
|
|
|
296
294
|
expect(JSON.stringify(newHistory)).not.toContain('some old message');
|
|
297
295
|
});
|
|
298
296
|
});
|
|
297
|
+
describe('tryCompressChat', () => {
|
|
298
|
+
const mockCountTokens = vi.fn();
|
|
299
|
+
const mockSendMessage = vi.fn();
|
|
300
|
+
beforeEach(() => {
|
|
301
|
+
vi.mock('./tokenLimits', () => ({
|
|
302
|
+
tokenLimit: vi.fn(),
|
|
303
|
+
}));
|
|
304
|
+
const mockGenerator = {
|
|
305
|
+
countTokens: mockCountTokens,
|
|
306
|
+
};
|
|
307
|
+
client['contentGenerator'] = mockGenerator;
|
|
308
|
+
// Mock the chat's sendMessage method
|
|
309
|
+
const mockChat = {
|
|
310
|
+
getHistory: vi
|
|
311
|
+
.fn()
|
|
312
|
+
.mockReturnValue([
|
|
313
|
+
{ role: 'user', parts: [{ text: '...history...' }] },
|
|
314
|
+
]),
|
|
315
|
+
addHistory: vi.fn(),
|
|
316
|
+
sendMessage: mockSendMessage,
|
|
317
|
+
};
|
|
318
|
+
client['chat'] = mockChat;
|
|
319
|
+
});
|
|
320
|
+
it('should not trigger summarization if token count is below threshold', async () => {
|
|
321
|
+
const MOCKED_TOKEN_LIMIT = 1000;
|
|
322
|
+
vi.mocked(tokenLimit).mockReturnValue(MOCKED_TOKEN_LIMIT);
|
|
323
|
+
mockCountTokens.mockResolvedValue({
|
|
324
|
+
totalTokens: MOCKED_TOKEN_LIMIT * 0.699, // TOKEN_THRESHOLD_FOR_SUMMARIZATION = 0.7
|
|
325
|
+
});
|
|
326
|
+
const initialChat = client.getChat();
|
|
327
|
+
const result = await client.tryCompressChat();
|
|
328
|
+
const newChat = client.getChat();
|
|
329
|
+
expect(tokenLimit).toHaveBeenCalled();
|
|
330
|
+
expect(result).toBeNull();
|
|
331
|
+
expect(newChat).toBe(initialChat);
|
|
332
|
+
});
|
|
333
|
+
it('should trigger summarization if token count is at threshold', async () => {
|
|
334
|
+
const MOCKED_TOKEN_LIMIT = 1000;
|
|
335
|
+
vi.mocked(tokenLimit).mockReturnValue(MOCKED_TOKEN_LIMIT);
|
|
336
|
+
const originalTokenCount = 1000 * 0.7;
|
|
337
|
+
const newTokenCount = 100;
|
|
338
|
+
mockCountTokens
|
|
339
|
+
.mockResolvedValueOnce({ totalTokens: originalTokenCount }) // First call for the check
|
|
340
|
+
.mockResolvedValueOnce({ totalTokens: newTokenCount }); // Second call for the new history
|
|
341
|
+
// Mock the summary response from the chat
|
|
342
|
+
mockSendMessage.mockResolvedValue({
|
|
343
|
+
role: 'model',
|
|
344
|
+
parts: [{ text: 'This is a summary.' }],
|
|
345
|
+
});
|
|
346
|
+
const initialChat = client.getChat();
|
|
347
|
+
const result = await client.tryCompressChat();
|
|
348
|
+
const newChat = client.getChat();
|
|
349
|
+
expect(tokenLimit).toHaveBeenCalled();
|
|
350
|
+
expect(mockSendMessage).toHaveBeenCalled();
|
|
351
|
+
// Assert that summarization happened and returned the correct stats
|
|
352
|
+
expect(result).toEqual({
|
|
353
|
+
originalTokenCount,
|
|
354
|
+
newTokenCount,
|
|
355
|
+
});
|
|
356
|
+
// Assert that the chat was reset
|
|
357
|
+
expect(newChat).not.toBe(initialChat);
|
|
358
|
+
});
|
|
359
|
+
it('should always trigger summarization when force is true, regardless of token count', async () => {
|
|
360
|
+
const originalTokenCount = 10; // Well below threshold
|
|
361
|
+
const newTokenCount = 5;
|
|
362
|
+
mockCountTokens
|
|
363
|
+
.mockResolvedValueOnce({ totalTokens: originalTokenCount })
|
|
364
|
+
.mockResolvedValueOnce({ totalTokens: newTokenCount });
|
|
365
|
+
// Mock the summary response from the chat
|
|
366
|
+
mockSendMessage.mockResolvedValue({
|
|
367
|
+
role: 'model',
|
|
368
|
+
parts: [{ text: 'This is a summary.' }],
|
|
369
|
+
});
|
|
370
|
+
const initialChat = client.getChat();
|
|
371
|
+
const result = await client.tryCompressChat(true); // force = true
|
|
372
|
+
const newChat = client.getChat();
|
|
373
|
+
expect(mockSendMessage).toHaveBeenCalled();
|
|
374
|
+
expect(result).toEqual({
|
|
375
|
+
originalTokenCount,
|
|
376
|
+
newTokenCount,
|
|
377
|
+
});
|
|
378
|
+
// Assert that the chat was reset
|
|
379
|
+
expect(newChat).not.toBe(initialChat);
|
|
380
|
+
});
|
|
381
|
+
});
|
|
299
382
|
describe('sendMessageStream', () => {
|
|
300
383
|
it('should return the turn instance after the stream is complete', async () => {
|
|
301
384
|
// Arrange
|
|
@@ -326,6 +409,222 @@ describe('Gemini Client (client.ts)', () => {
|
|
|
326
409
|
// Assert
|
|
327
410
|
expect(finalResult).toBeInstanceOf(Turn);
|
|
328
411
|
});
|
|
412
|
+
it('should stop infinite loop after MAX_TURNS when nextSpeaker always returns model', async () => {
|
|
413
|
+
// Get the mocked checkNextSpeaker function and configure it to trigger infinite loop
|
|
414
|
+
const { checkNextSpeaker } = await import('../utils/nextSpeakerChecker.js');
|
|
415
|
+
const mockCheckNextSpeaker = vi.mocked(checkNextSpeaker);
|
|
416
|
+
mockCheckNextSpeaker.mockResolvedValue({
|
|
417
|
+
next_speaker: 'model',
|
|
418
|
+
reasoning: 'Test case - always continue',
|
|
419
|
+
});
|
|
420
|
+
// Mock Turn to have no pending tool calls (which would allow nextSpeaker check)
|
|
421
|
+
const mockStream = (async function* () {
|
|
422
|
+
yield { type: 'content', value: 'Continue...' };
|
|
423
|
+
})();
|
|
424
|
+
mockTurnRunFn.mockReturnValue(mockStream);
|
|
425
|
+
const mockChat = {
|
|
426
|
+
addHistory: vi.fn(),
|
|
427
|
+
getHistory: vi.fn().mockReturnValue([]),
|
|
428
|
+
};
|
|
429
|
+
client['chat'] = mockChat;
|
|
430
|
+
const mockGenerator = {
|
|
431
|
+
countTokens: vi.fn().mockResolvedValue({ totalTokens: 0 }),
|
|
432
|
+
};
|
|
433
|
+
client['contentGenerator'] = mockGenerator;
|
|
434
|
+
// Use a signal that never gets aborted
|
|
435
|
+
const abortController = new AbortController();
|
|
436
|
+
const signal = abortController.signal;
|
|
437
|
+
// Act - Start the stream that should loop
|
|
438
|
+
const stream = client.sendMessageStream([{ text: 'Start conversation' }], signal);
|
|
439
|
+
// Count how many stream events we get
|
|
440
|
+
let eventCount = 0;
|
|
441
|
+
let finalResult;
|
|
442
|
+
// Consume the stream and count iterations
|
|
443
|
+
while (true) {
|
|
444
|
+
const result = await stream.next();
|
|
445
|
+
if (result.done) {
|
|
446
|
+
finalResult = result.value;
|
|
447
|
+
break;
|
|
448
|
+
}
|
|
449
|
+
eventCount++;
|
|
450
|
+
// Safety check to prevent actual infinite loop in test
|
|
451
|
+
if (eventCount > 200) {
|
|
452
|
+
abortController.abort();
|
|
453
|
+
throw new Error('Test exceeded expected event limit - possible actual infinite loop');
|
|
454
|
+
}
|
|
455
|
+
}
|
|
456
|
+
// Assert
|
|
457
|
+
expect(finalResult).toBeInstanceOf(Turn);
|
|
458
|
+
// Debug: Check how many times checkNextSpeaker was called
|
|
459
|
+
const callCount = mockCheckNextSpeaker.mock.calls.length;
|
|
460
|
+
// If infinite loop protection is working, checkNextSpeaker should be called many times
|
|
461
|
+
// but stop at MAX_TURNS (100). Since each recursive call should trigger checkNextSpeaker,
|
|
462
|
+
// we expect it to be called multiple times before hitting the limit
|
|
463
|
+
expect(mockCheckNextSpeaker).toHaveBeenCalled();
|
|
464
|
+
// The test should demonstrate that the infinite loop protection works:
|
|
465
|
+
// - If checkNextSpeaker is called many times (close to MAX_TURNS), it shows the loop was happening
|
|
466
|
+
// - If it's only called once, the recursive behavior might not be triggered
|
|
467
|
+
if (callCount === 0) {
|
|
468
|
+
throw new Error('checkNextSpeaker was never called - the recursive condition was not met');
|
|
469
|
+
}
|
|
470
|
+
else if (callCount === 1) {
|
|
471
|
+
// This might be expected behavior if the turn has pending tool calls or other conditions prevent recursion
|
|
472
|
+
console.log('checkNextSpeaker called only once - no infinite loop occurred');
|
|
473
|
+
}
|
|
474
|
+
else {
|
|
475
|
+
console.log(`checkNextSpeaker called ${callCount} times - infinite loop protection worked`);
|
|
476
|
+
// If called multiple times, we expect it to be stopped before MAX_TURNS
|
|
477
|
+
expect(callCount).toBeLessThanOrEqual(100); // Should not exceed MAX_TURNS
|
|
478
|
+
}
|
|
479
|
+
// The stream should produce events and eventually terminate
|
|
480
|
+
expect(eventCount).toBeGreaterThanOrEqual(1);
|
|
481
|
+
expect(eventCount).toBeLessThan(200); // Should not exceed our safety limit
|
|
482
|
+
});
|
|
483
|
+
it('should respect MAX_TURNS limit even when turns parameter is set to a large value', async () => {
|
|
484
|
+
// This test verifies that the infinite loop protection works even when
|
|
485
|
+
// someone tries to bypass it by calling with a very large turns value
|
|
486
|
+
// Get the mocked checkNextSpeaker function and configure it to trigger infinite loop
|
|
487
|
+
const { checkNextSpeaker } = await import('../utils/nextSpeakerChecker.js');
|
|
488
|
+
const mockCheckNextSpeaker = vi.mocked(checkNextSpeaker);
|
|
489
|
+
mockCheckNextSpeaker.mockResolvedValue({
|
|
490
|
+
next_speaker: 'model',
|
|
491
|
+
reasoning: 'Test case - always continue',
|
|
492
|
+
});
|
|
493
|
+
// Mock Turn to have no pending tool calls (which would allow nextSpeaker check)
|
|
494
|
+
const mockStream = (async function* () {
|
|
495
|
+
yield { type: 'content', value: 'Continue...' };
|
|
496
|
+
})();
|
|
497
|
+
mockTurnRunFn.mockReturnValue(mockStream);
|
|
498
|
+
const mockChat = {
|
|
499
|
+
addHistory: vi.fn(),
|
|
500
|
+
getHistory: vi.fn().mockReturnValue([]),
|
|
501
|
+
};
|
|
502
|
+
client['chat'] = mockChat;
|
|
503
|
+
const mockGenerator = {
|
|
504
|
+
countTokens: vi.fn().mockResolvedValue({ totalTokens: 0 }),
|
|
505
|
+
};
|
|
506
|
+
client['contentGenerator'] = mockGenerator;
|
|
507
|
+
// Use a signal that never gets aborted
|
|
508
|
+
const abortController = new AbortController();
|
|
509
|
+
const signal = abortController.signal;
|
|
510
|
+
// Act - Start the stream with an extremely high turns value
|
|
511
|
+
// This simulates a case where the turns protection is bypassed
|
|
512
|
+
const stream = client.sendMessageStream([{ text: 'Start conversation' }], signal, Number.MAX_SAFE_INTEGER);
|
|
513
|
+
// Count how many stream events we get
|
|
514
|
+
let eventCount = 0;
|
|
515
|
+
const maxTestIterations = 1000; // Higher limit to show the loop continues
|
|
516
|
+
// Consume the stream and count iterations
|
|
517
|
+
try {
|
|
518
|
+
while (true) {
|
|
519
|
+
const result = await stream.next();
|
|
520
|
+
if (result.done) {
|
|
521
|
+
break;
|
|
522
|
+
}
|
|
523
|
+
eventCount++;
|
|
524
|
+
// This test should hit this limit, demonstrating the infinite loop
|
|
525
|
+
if (eventCount > maxTestIterations) {
|
|
526
|
+
abortController.abort();
|
|
527
|
+
// This is the expected behavior - we hit the infinite loop
|
|
528
|
+
break;
|
|
529
|
+
}
|
|
530
|
+
}
|
|
531
|
+
}
|
|
532
|
+
catch (error) {
|
|
533
|
+
// If the test framework times out, that also demonstrates the infinite loop
|
|
534
|
+
console.error('Test timed out or errored:', error);
|
|
535
|
+
}
|
|
536
|
+
// Assert that the fix works - the loop should stop at MAX_TURNS
|
|
537
|
+
const callCount = mockCheckNextSpeaker.mock.calls.length;
|
|
538
|
+
// With the fix: even when turns is set to a very high value,
|
|
539
|
+
// the loop should stop at MAX_TURNS (100)
|
|
540
|
+
expect(callCount).toBeLessThanOrEqual(100); // Should not exceed MAX_TURNS
|
|
541
|
+
expect(eventCount).toBeLessThanOrEqual(200); // Should have reasonable number of events
|
|
542
|
+
console.log(`Infinite loop protection working: checkNextSpeaker called ${callCount} times, ` +
|
|
543
|
+
`${eventCount} events generated (properly bounded by MAX_TURNS)`);
|
|
544
|
+
});
|
|
545
|
+
});
|
|
546
|
+
describe('generateContent', () => {
|
|
547
|
+
it('should use current model from config for content generation', async () => {
|
|
548
|
+
const initialModel = client['config'].getModel();
|
|
549
|
+
const contents = [{ role: 'user', parts: [{ text: 'test' }] }];
|
|
550
|
+
const currentModel = initialModel + '-changed';
|
|
551
|
+
vi.spyOn(client['config'], 'getModel').mockReturnValueOnce(currentModel);
|
|
552
|
+
const mockGenerator = {
|
|
553
|
+
countTokens: vi.fn().mockResolvedValue({ totalTokens: 1 }),
|
|
554
|
+
generateContent: mockGenerateContentFn,
|
|
555
|
+
};
|
|
556
|
+
client['contentGenerator'] = mockGenerator;
|
|
557
|
+
await client.generateContent(contents, {}, new AbortController().signal);
|
|
558
|
+
expect(mockGenerateContentFn).not.toHaveBeenCalledWith({
|
|
559
|
+
model: initialModel,
|
|
560
|
+
config: expect.any(Object),
|
|
561
|
+
contents,
|
|
562
|
+
});
|
|
563
|
+
expect(mockGenerateContentFn).toHaveBeenCalledWith({
|
|
564
|
+
model: currentModel,
|
|
565
|
+
config: expect.any(Object),
|
|
566
|
+
contents,
|
|
567
|
+
});
|
|
568
|
+
});
|
|
569
|
+
});
|
|
570
|
+
describe('tryCompressChat', () => {
|
|
571
|
+
it('should use current model from config for token counting after sendMessage', async () => {
|
|
572
|
+
const initialModel = client['config'].getModel();
|
|
573
|
+
const mockCountTokens = vi
|
|
574
|
+
.fn()
|
|
575
|
+
.mockResolvedValueOnce({ totalTokens: 100000 })
|
|
576
|
+
.mockResolvedValueOnce({ totalTokens: 5000 });
|
|
577
|
+
const mockSendMessage = vi.fn().mockResolvedValue({ text: 'Summary' });
|
|
578
|
+
const mockChatHistory = [
|
|
579
|
+
{ role: 'user', parts: [{ text: 'Long conversation' }] },
|
|
580
|
+
{ role: 'model', parts: [{ text: 'Long response' }] },
|
|
581
|
+
];
|
|
582
|
+
const mockChat = {
|
|
583
|
+
getHistory: vi.fn().mockReturnValue(mockChatHistory),
|
|
584
|
+
sendMessage: mockSendMessage,
|
|
585
|
+
};
|
|
586
|
+
const mockGenerator = {
|
|
587
|
+
countTokens: mockCountTokens,
|
|
588
|
+
};
|
|
589
|
+
// mock the model has been changed between calls of `countTokens`
|
|
590
|
+
const firstCurrentModel = initialModel + '-changed-1';
|
|
591
|
+
const secondCurrentModel = initialModel + '-changed-2';
|
|
592
|
+
vi.spyOn(client['config'], 'getModel')
|
|
593
|
+
.mockReturnValueOnce(firstCurrentModel)
|
|
594
|
+
.mockReturnValueOnce(secondCurrentModel);
|
|
595
|
+
client['chat'] = mockChat;
|
|
596
|
+
client['contentGenerator'] = mockGenerator;
|
|
597
|
+
client['startChat'] = vi.fn().mockResolvedValue(mockChat);
|
|
598
|
+
const result = await client.tryCompressChat(true);
|
|
599
|
+
expect(mockCountTokens).toHaveBeenCalledTimes(2);
|
|
600
|
+
expect(mockCountTokens).toHaveBeenNthCalledWith(1, {
|
|
601
|
+
model: firstCurrentModel,
|
|
602
|
+
contents: mockChatHistory,
|
|
603
|
+
});
|
|
604
|
+
expect(mockCountTokens).toHaveBeenNthCalledWith(2, {
|
|
605
|
+
model: secondCurrentModel,
|
|
606
|
+
contents: expect.any(Array),
|
|
607
|
+
});
|
|
608
|
+
expect(result).toEqual({
|
|
609
|
+
originalTokenCount: 100000,
|
|
610
|
+
newTokenCount: 5000,
|
|
611
|
+
});
|
|
612
|
+
});
|
|
613
|
+
});
|
|
614
|
+
describe('handleFlashFallback', () => {
|
|
615
|
+
it('should use current model from config when checking for fallback', async () => {
|
|
616
|
+
const initialModel = client['config'].getModel();
|
|
617
|
+
const fallbackModel = DEFAULT_GEMINI_FLASH_MODEL;
|
|
618
|
+
// mock config been changed
|
|
619
|
+
const currentModel = initialModel + '-changed';
|
|
620
|
+
vi.spyOn(client['config'], 'getModel').mockReturnValueOnce(currentModel);
|
|
621
|
+
const mockFallbackHandler = vi.fn().mockResolvedValue(true);
|
|
622
|
+
client['config'].flashFallbackHandler = mockFallbackHandler;
|
|
623
|
+
client['config'].setModel = vi.fn();
|
|
624
|
+
const result = await client['handleFlashFallback'](AuthType.LOGIN_WITH_GOOGLE);
|
|
625
|
+
expect(result).toBe(fallbackModel);
|
|
626
|
+
expect(mockFallbackHandler).toHaveBeenCalledWith(currentModel, fallbackModel);
|
|
627
|
+
});
|
|
329
628
|
});
|
|
330
629
|
});
|
|
331
630
|
//# sourceMappingURL=client.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.test.js","sourceRoot":"","sources":["../../../src/core/client.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.test.js","sourceRoot":"","sources":["../../../src/core/client.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,4 +27,4 @@ export type ContentGeneratorConfig = {
|
|
|
27
27
|
export declare function createContentGeneratorConfig(model: string | undefined, authType: AuthType | undefined, config?: {
|
|
28
28
|
getModel?: () => string;
|
|
29
29
|
}): Promise<ContentGeneratorConfig>;
|
|
30
|
-
export declare function createContentGenerator(config: ContentGeneratorConfig): Promise<ContentGenerator>;
|
|
30
|
+
export declare function createContentGenerator(config: ContentGeneratorConfig, sessionId?: string): Promise<ContentGenerator>;
|
|
@@ -44,7 +44,7 @@ export async function createContentGeneratorConfig(model, authType, config) {
|
|
|
44
44
|
}
|
|
45
45
|
return contentGeneratorConfig;
|
|
46
46
|
}
|
|
47
|
-
export async function createContentGenerator(config) {
|
|
47
|
+
export async function createContentGenerator(config, sessionId) {
|
|
48
48
|
const version = process.env.CLI_VERSION || process.version;
|
|
49
49
|
const httpOptions = {
|
|
50
50
|
headers: {
|
|
@@ -52,7 +52,7 @@ export async function createContentGenerator(config) {
|
|
|
52
52
|
},
|
|
53
53
|
};
|
|
54
54
|
if (config.authType === AuthType.LOGIN_WITH_GOOGLE) {
|
|
55
|
-
return createCodeAssistContentGenerator(httpOptions, config.authType);
|
|
55
|
+
return createCodeAssistContentGenerator(httpOptions, config.authType, sessionId);
|
|
56
56
|
}
|
|
57
57
|
if (config.authType === AuthType.USE_GEMINI ||
|
|
58
58
|
config.authType === AuthType.USE_VERTEX_AI) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contentGenerator.js","sourceRoot":"","sources":["../../../src/core/contentGenerator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAOL,WAAW,GACZ,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,gCAAgC,EAAE,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAmBpD,MAAM,CAAN,IAAY,QAIX;AAJD,WAAY,QAAQ;IAClB,gDAAoC,CAAA;IACpC,yCAA6B,CAAA;IAC7B,uCAA2B,CAAA;AAC7B,CAAC,EAJW,QAAQ,KAAR,QAAQ,QAInB;AASD,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,KAAyB,EACzB,QAA8B,EAC9B,MAAoC;IAEpC,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IAChD,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IAChD,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;IAC5D,MAAM,mBAAmB,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;IAE9D,yFAAyF;IACzF,MAAM,cAAc,GAAG,MAAM,EAAE,QAAQ,EAAE,EAAE,IAAI,KAAK,IAAI,oBAAoB,CAAC;IAE7E,MAAM,sBAAsB,GAA2B;QACrD,KAAK,EAAE,cAAc;QACrB,QAAQ;KACT,CAAC;IAEF,+DAA+D;IAC/D,IAAI,QAAQ,KAAK,QAAQ,CAAC,iBAAiB,EAAE,CAAC;QAC5C,OAAO,sBAAsB,CAAC;IAChC,CAAC;IAED,IAAI,QAAQ,KAAK,QAAQ,CAAC,UAAU,IAAI,YAAY,EAAE,CAAC;QACrD,sBAAsB,CAAC,MAAM,GAAG,YAAY,CAAC;QAC7C,sBAAsB,CAAC,KAAK,GAAG,MAAM,iBAAiB,CACpD,sBAAsB,CAAC,MAAM,EAC7B,sBAAsB,CAAC,KAAK,CAC7B,CAAC;QAEF,OAAO,sBAAsB,CAAC;IAChC,CAAC;IAED,IACE,QAAQ,KAAK,QAAQ,CAAC,aAAa;QACnC,CAAC,CAAC,YAAY;QACd,kBAAkB;QAClB,mBAAmB,EACnB,CAAC;QACD,sBAAsB,CAAC,MAAM,GAAG,YAAY,CAAC;QAC7C,sBAAsB,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvC,sBAAsB,CAAC,KAAK,GAAG,MAAM,iBAAiB,CACpD,sBAAsB,CAAC,MAAM,EAC7B,sBAAsB,CAAC,KAAK,CAC7B,CAAC;QAEF,OAAO,sBAAsB,CAAC;IAChC,CAAC;IAED,OAAO,sBAAsB,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,MAA8B;
|
|
1
|
+
{"version":3,"file":"contentGenerator.js","sourceRoot":"","sources":["../../../src/core/contentGenerator.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,7 +17,6 @@ export interface LogEntry {
|
|
|
17
17
|
export declare class Logger {
|
|
18
18
|
private geminiDir;
|
|
19
19
|
private logFilePath;
|
|
20
|
-
private checkpointFilePath;
|
|
21
20
|
private sessionId;
|
|
22
21
|
private messageId;
|
|
23
22
|
private initialized;
|
|
@@ -29,8 +28,8 @@ export declare class Logger {
|
|
|
29
28
|
private _updateLogFile;
|
|
30
29
|
getPreviousUserMessages(): Promise<string[]>;
|
|
31
30
|
logMessage(type: MessageSenderType, message: string): Promise<void>;
|
|
32
|
-
_checkpointPath(tag: string
|
|
33
|
-
saveCheckpoint(conversation: Content[], tag
|
|
34
|
-
loadCheckpoint(tag
|
|
31
|
+
_checkpointPath(tag: string): string;
|
|
32
|
+
saveCheckpoint(conversation: Content[], tag: string): Promise<void>;
|
|
33
|
+
loadCheckpoint(tag: string): Promise<Content[]>;
|
|
35
34
|
close(): void;
|
|
36
35
|
}
|
package/dist/src/core/logger.js
CHANGED
|
@@ -7,7 +7,6 @@ import path from 'node:path';
|
|
|
7
7
|
import { promises as fs } from 'node:fs';
|
|
8
8
|
import { getProjectTempDir } from '../utils/paths.js';
|
|
9
9
|
const LOG_FILE_NAME = 'logs.json';
|
|
10
|
-
const CHECKPOINT_FILE_NAME = 'checkpoint.json';
|
|
11
10
|
export var MessageSenderType;
|
|
12
11
|
(function (MessageSenderType) {
|
|
13
12
|
MessageSenderType["USER"] = "user";
|
|
@@ -15,7 +14,6 @@ export var MessageSenderType;
|
|
|
15
14
|
export class Logger {
|
|
16
15
|
geminiDir;
|
|
17
16
|
logFilePath;
|
|
18
|
-
checkpointFilePath;
|
|
19
17
|
sessionId;
|
|
20
18
|
messageId = 0; // Instance-specific counter for the next messageId
|
|
21
19
|
initialized = false;
|
|
@@ -73,7 +71,6 @@ export class Logger {
|
|
|
73
71
|
}
|
|
74
72
|
this.geminiDir = getProjectTempDir(process.cwd());
|
|
75
73
|
this.logFilePath = path.join(this.geminiDir, LOG_FILE_NAME);
|
|
76
|
-
this.checkpointFilePath = path.join(this.geminiDir, CHECKPOINT_FILE_NAME);
|
|
77
74
|
try {
|
|
78
75
|
await fs.mkdir(this.geminiDir, { recursive: true });
|
|
79
76
|
let fileExisted = true;
|
|
@@ -181,16 +178,16 @@ export class Logger {
|
|
|
181
178
|
}
|
|
182
179
|
}
|
|
183
180
|
_checkpointPath(tag) {
|
|
184
|
-
if (!
|
|
185
|
-
throw new Error('
|
|
181
|
+
if (!tag.length) {
|
|
182
|
+
throw new Error('No checkpoint tag specified.');
|
|
186
183
|
}
|
|
187
|
-
if (!
|
|
188
|
-
|
|
184
|
+
if (!this.geminiDir) {
|
|
185
|
+
throw new Error('Checkpoint file path not set.');
|
|
189
186
|
}
|
|
190
187
|
return path.join(this.geminiDir, `checkpoint-${tag}.json`);
|
|
191
188
|
}
|
|
192
189
|
async saveCheckpoint(conversation, tag) {
|
|
193
|
-
if (!this.initialized
|
|
190
|
+
if (!this.initialized) {
|
|
194
191
|
console.error('Logger not initialized or checkpoint file path not set. Cannot save a checkpoint.');
|
|
195
192
|
return;
|
|
196
193
|
}
|
|
@@ -203,7 +200,7 @@ export class Logger {
|
|
|
203
200
|
}
|
|
204
201
|
}
|
|
205
202
|
async loadCheckpoint(tag) {
|
|
206
|
-
if (!this.initialized
|
|
203
|
+
if (!this.initialized) {
|
|
207
204
|
console.error('Logger not initialized or checkpoint file path not set. Cannot load checkpoint.');
|
|
208
205
|
return [];
|
|
209
206
|
}
|
|
@@ -218,19 +215,18 @@ export class Logger {
|
|
|
218
215
|
return parsedContent;
|
|
219
216
|
}
|
|
220
217
|
catch (error) {
|
|
218
|
+
console.error(`Failed to read or parse checkpoint file ${path}:`, error);
|
|
221
219
|
const nodeError = error;
|
|
222
220
|
if (nodeError.code === 'ENOENT') {
|
|
223
221
|
// File doesn't exist, which is fine. Return empty array.
|
|
224
222
|
return [];
|
|
225
223
|
}
|
|
226
|
-
console.error(`Failed to read or parse checkpoint file ${path}:`, error);
|
|
227
224
|
return [];
|
|
228
225
|
}
|
|
229
226
|
}
|
|
230
227
|
close() {
|
|
231
228
|
this.initialized = false;
|
|
232
229
|
this.logFilePath = undefined;
|
|
233
|
-
this.checkpointFilePath = undefined;
|
|
234
230
|
this.logs = [];
|
|
235
231
|
this.sessionId = undefined;
|
|
236
232
|
this.messageId = 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/core/logger.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AAEzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,MAAM,aAAa,GAAG,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/core/logger.ts"],"names":[],"mappings":"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"}
|