mirror of
https://github.com/QwenLM/qwen-code.git
synced 2025-12-21 01:07:46 +00:00
Sync upstream Gemini-CLI v0.8.2 (#838)
This commit is contained in:
@@ -22,7 +22,7 @@ import type {
|
||||
} from '../core/coreToolScheduler.js';
|
||||
import { ToolErrorType } from '../tools/tool-error.js';
|
||||
import { ToolConfirmationOutcome } from '../tools/tools.js';
|
||||
import { MockTool } from '../test-utils/tools.js';
|
||||
import { MockTool } from '../test-utils/mock-tool.js';
|
||||
|
||||
const createFakeCompletedToolCall = (
|
||||
name: string,
|
||||
@@ -38,7 +38,7 @@ const createFakeCompletedToolCall = (
|
||||
isClientInitiated: false,
|
||||
prompt_id: 'prompt-id-1',
|
||||
};
|
||||
const tool = new MockTool(name);
|
||||
const tool = new MockTool({ name });
|
||||
|
||||
if (success === true) {
|
||||
return {
|
||||
@@ -167,7 +167,7 @@ describe('UiTelemetryService', () => {
|
||||
expect(spy).toHaveBeenCalledOnce();
|
||||
const { metrics, lastPromptTokenCount } = spy.mock.calls[0][0];
|
||||
expect(metrics).toBeDefined();
|
||||
expect(lastPromptTokenCount).toBe(10);
|
||||
expect(lastPromptTokenCount).toBe(0);
|
||||
});
|
||||
|
||||
describe('API Response Event Processing', () => {
|
||||
@@ -202,7 +202,7 @@ describe('UiTelemetryService', () => {
|
||||
tool: 3,
|
||||
},
|
||||
});
|
||||
expect(service.getLastPromptTokenCount()).toBe(10);
|
||||
expect(service.getLastPromptTokenCount()).toBe(0);
|
||||
});
|
||||
|
||||
it('should aggregate multiple ApiResponseEvents for the same model', () => {
|
||||
@@ -252,7 +252,7 @@ describe('UiTelemetryService', () => {
|
||||
tool: 9,
|
||||
},
|
||||
});
|
||||
expect(service.getLastPromptTokenCount()).toBe(15);
|
||||
expect(service.getLastPromptTokenCount()).toBe(0);
|
||||
});
|
||||
|
||||
it('should handle ApiResponseEvents for different models', () => {
|
||||
@@ -291,7 +291,7 @@ describe('UiTelemetryService', () => {
|
||||
expect(metrics.models['gemini-2.5-flash']).toBeDefined();
|
||||
expect(metrics.models['gemini-2.5-pro'].api.totalRequests).toBe(1);
|
||||
expect(metrics.models['gemini-2.5-flash'].api.totalRequests).toBe(1);
|
||||
expect(service.getLastPromptTokenCount()).toBe(100);
|
||||
expect(service.getLastPromptTokenCount()).toBe(0);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -602,10 +602,10 @@ describe('UiTelemetryService', () => {
|
||||
} as ApiResponseEvent & { 'event.name': typeof EVENT_API_RESPONSE };
|
||||
|
||||
service.addEvent(event);
|
||||
expect(service.getLastPromptTokenCount()).toBe(100);
|
||||
expect(service.getLastPromptTokenCount()).toBe(0);
|
||||
|
||||
// Now reset the token count
|
||||
service.resetLastPromptTokenCount();
|
||||
service.setLastPromptTokenCount(0);
|
||||
expect(service.getLastPromptTokenCount()).toBe(0);
|
||||
});
|
||||
|
||||
@@ -629,7 +629,7 @@ describe('UiTelemetryService', () => {
|
||||
service.addEvent(event);
|
||||
spy.mockClear(); // Clear the spy to focus on the reset call
|
||||
|
||||
service.resetLastPromptTokenCount();
|
||||
service.setLastPromptTokenCount(0);
|
||||
|
||||
expect(spy).toHaveBeenCalledOnce();
|
||||
const { metrics, lastPromptTokenCount } = spy.mock.calls[0][0];
|
||||
@@ -655,7 +655,7 @@ describe('UiTelemetryService', () => {
|
||||
|
||||
const metricsBefore = service.getMetrics();
|
||||
|
||||
service.resetLastPromptTokenCount();
|
||||
service.setLastPromptTokenCount(0);
|
||||
|
||||
const metricsAfter = service.getMetrics();
|
||||
|
||||
@@ -684,15 +684,15 @@ describe('UiTelemetryService', () => {
|
||||
} as ApiResponseEvent & { 'event.name': typeof EVENT_API_RESPONSE };
|
||||
|
||||
service.addEvent(event);
|
||||
expect(service.getLastPromptTokenCount()).toBe(100);
|
||||
expect(service.getLastPromptTokenCount()).toBe(0);
|
||||
|
||||
// Reset once
|
||||
service.resetLastPromptTokenCount();
|
||||
service.setLastPromptTokenCount(0);
|
||||
expect(service.getLastPromptTokenCount()).toBe(0);
|
||||
|
||||
// Reset again - should still be 0 and still emit event
|
||||
spy.mockClear();
|
||||
service.resetLastPromptTokenCount();
|
||||
service.setLastPromptTokenCount(0);
|
||||
expect(service.getLastPromptTokenCount()).toBe(0);
|
||||
expect(spy).toHaveBeenCalledOnce();
|
||||
});
|
||||
@@ -733,8 +733,8 @@ describe('UiTelemetryService', () => {
|
||||
...structuredClone(new ToolCallEvent(toolCall)),
|
||||
'event.name': EVENT_TOOL_CALL,
|
||||
metadata: {
|
||||
ai_added_lines: 10,
|
||||
ai_removed_lines: 5,
|
||||
model_added_lines: 10,
|
||||
model_removed_lines: 5,
|
||||
},
|
||||
} as ToolCallEvent & { 'event.name': typeof EVENT_TOOL_CALL };
|
||||
|
||||
@@ -751,8 +751,8 @@ describe('UiTelemetryService', () => {
|
||||
...structuredClone(new ToolCallEvent(toolCall)),
|
||||
'event.name': EVENT_TOOL_CALL,
|
||||
metadata: {
|
||||
ai_added_lines: null,
|
||||
ai_removed_lines: undefined,
|
||||
model_added_lines: null,
|
||||
model_removed_lines: undefined,
|
||||
},
|
||||
} as ToolCallEvent & { 'event.name': typeof EVENT_TOOL_CALL };
|
||||
|
||||
|
||||
Reference in New Issue
Block a user