mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-05-13 13:22:35 -07:00
revert 6b9b778d82 (#26893)
This commit is contained in:
@@ -2904,73 +2904,6 @@ describe('GeminiChat', () => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('getHistory with curated: true', () => {
|
|
||||||
it('should not drop model turns with function calls and empty text', () => {
|
|
||||||
const history: Content[] = [
|
|
||||||
{ role: 'user', parts: [{ text: 'Hello' }] },
|
|
||||||
{
|
|
||||||
role: 'model',
|
|
||||||
parts: [{ functionCall: { name: 'test_tool', args: {} }, text: '' }],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
role: 'user',
|
|
||||||
parts: [{ functionResponse: { name: 'test_tool', response: {} } }],
|
|
||||||
},
|
|
||||||
];
|
|
||||||
const chatWithHistory = new GeminiChat(mockConfig, '', [], history);
|
|
||||||
|
|
||||||
const curatedHistory = chatWithHistory.getHistory(true);
|
|
||||||
|
|
||||||
expect(curatedHistory.length).toBe(3);
|
|
||||||
expect(curatedHistory[1].role).toBe('model');
|
|
||||||
expect(curatedHistory[1].parts![0].functionCall).toBeDefined();
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should not drop model turns with inlineData and empty text', () => {
|
|
||||||
const history: Content[] = [
|
|
||||||
{ role: 'user', parts: [{ text: 'Hello' }] },
|
|
||||||
{
|
|
||||||
role: 'model',
|
|
||||||
parts: [
|
|
||||||
{
|
|
||||||
inlineData: { mimeType: 'image/jpeg', data: 'base64...' },
|
|
||||||
text: '',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
];
|
|
||||||
const chatWithHistory = new GeminiChat(mockConfig, '', [], history);
|
|
||||||
|
|
||||||
const curatedHistory = chatWithHistory.getHistory(true);
|
|
||||||
|
|
||||||
expect(curatedHistory.length).toBe(2);
|
|
||||||
expect(curatedHistory[1].role).toBe('model');
|
|
||||||
expect(curatedHistory[1].parts![0].inlineData).toBeDefined();
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should not drop model turns with fileData and empty text', () => {
|
|
||||||
const history: Content[] = [
|
|
||||||
{ role: 'user', parts: [{ text: 'Hello' }] },
|
|
||||||
{
|
|
||||||
role: 'model',
|
|
||||||
parts: [
|
|
||||||
{
|
|
||||||
fileData: { mimeType: 'image/jpeg', fileUri: 'https://...' },
|
|
||||||
text: '',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
];
|
|
||||||
const chatWithHistory = new GeminiChat(mockConfig, '', [], history);
|
|
||||||
|
|
||||||
const curatedHistory = chatWithHistory.getHistory(true);
|
|
||||||
|
|
||||||
expect(curatedHistory.length).toBe(2);
|
|
||||||
expect(curatedHistory[1].role).toBe('model');
|
|
||||||
expect(curatedHistory[1].parts![0].fileData).toBeDefined();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
describe('stripToolCallIdPrefixes', () => {
|
describe('stripToolCallIdPrefixes', () => {
|
||||||
it('should strip tool name prefix matching the tool name', () => {
|
it('should strip tool name prefix matching the tool name', () => {
|
||||||
const contents: Content[] = [
|
const contents: Content[] = [
|
||||||
|
|||||||
@@ -146,15 +146,7 @@ function isValidContent(content: Content): boolean {
|
|||||||
if (part === undefined || Object.keys(part).length === 0) {
|
if (part === undefined || Object.keys(part).length === 0) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (
|
if (!part.thought && part.text !== undefined && part.text === '') {
|
||||||
!part.thought &&
|
|
||||||
!part.functionCall &&
|
|
||||||
!part.functionResponse &&
|
|
||||||
!part.inlineData &&
|
|
||||||
!part.fileData &&
|
|
||||||
part.text !== undefined &&
|
|
||||||
part.text === ''
|
|
||||||
) {
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user