wip: complete rework first round

This commit is contained in:
2026-02-26 09:27:22 +01:00
parent c70f4b9154
commit affd62ca79
78 changed files with 2635 additions and 4053 deletions

View File

@@ -9,21 +9,6 @@ const mainWindowMock = {
},
};
const protocolSnapshot = {
totalTurns: 3,
validEnvelopeTurns: 2,
repairAttempts: 1,
fallbackTurns: 1,
blockedActionCount: 2,
parseValidityRate: 2 / 3,
repairRate: 1 / 3,
fallbackRate: 1 / 3,
};
const telemetryServiceMock = {
getSnapshot: vi.fn(() => protocolSnapshot),
};
const chatEngineInstances: Array<Record<string, any>> = [];
const openCodeManagerInstances: Array<Record<string, any>> = [];
@@ -50,10 +35,6 @@ vi.mock('../../src/main/engine/MediaEngine', () => ({
getMediaEngine: vi.fn(() => ({})),
}));
vi.mock('../../src/main/agentic/observability/protocolTelemetry', () => ({
getProtocolTelemetryService: vi.fn(() => telemetryServiceMock),
}));
vi.mock('../../src/main/engine/ChatEngine', () => ({
ChatEngine: class {
constructor() {
@@ -85,18 +66,6 @@ vi.mock('../../src/main/engine/OpenCodeManager', () => ({
return {
success: true,
message: 'assistant reply',
envelope: {
protocolVersion: '2.0',
assistantText: 'assistant reply',
intent: 'summarize',
needsInput: { required: false, fields: [] },
actions: [],
confidence: 0.9,
traceId: 'trace-1',
},
protocolVersion: '2.0',
traceId: 'trace-1',
warnings: [],
};
}),
abortMessage: vi.fn(async () => ({ success: true })),
@@ -116,7 +85,6 @@ describe('chatHandlers', () => {
webContentsSend.mockReset();
chatEngineInstances.length = 0;
openCodeManagerInstances.length = 0;
telemetryServiceMock.getSnapshot.mockClear();
vi.resetModules();
});
@@ -125,19 +93,6 @@ describe('chatHandlers', () => {
await mod.cleanupChatHandlers();
});
it('returns protocol health snapshot from telemetry service', async () => {
const mod = await import('../../src/main/ipc/chatHandlers');
mod.registerChatHandlers();
const handler = registeredHandlers.get('chat:getProtocolHealth');
expect(handler).toBeDefined();
const result = await handler!();
expect(telemetryServiceMock.getSnapshot).toHaveBeenCalledTimes(1);
expect(result).toEqual(protocolSnapshot);
});
it('streams sendMessage callbacks through main window events', async () => {
const mod = await import('../../src/main/ipc/chatHandlers');
mod.initializeChatHandlers(() => mainWindowMock as never);
@@ -154,7 +109,6 @@ describe('chatHandlers', () => {
);
expect(result.success).toBe(true);
expect(result.envelope?.protocolVersion).toBe('2.0');
const manager = openCodeManagerInstances[0];
expect(manager.setApiKey).toHaveBeenCalledWith('stored-key');
@@ -182,4 +136,4 @@ describe('chatHandlers', () => {
result: { name: 'search_posts', result: { ok: true } },
});
});
});
});