diff --git a/services/mcp-server/src/modules/a2a/runner.test.ts b/services/mcp-server/src/modules/a2a/runner.test.ts index d9a57c91..14dd87d6 100644 --- a/services/mcp-server/src/modules/a2a/runner.test.ts +++ b/services/mcp-server/src/modules/a2a/runner.test.ts @@ -30,19 +30,24 @@ const mockClusters = [ id: 'abc123:202503', pk: 'lysnrai:ios:keyboard', fingerprint: 'abc123', - severity: 'error', + severity: 'error' as const, totalCount: 42, + firstSeenAt: '2026-03-01T00:00:00Z', lastSeenAt: '2026-03-05T10:00:00Z', platform: 'ios', module: 'keyboard', + eventName: 'insertText.failed', sampleMessage: 'insertText returned noop', - status: 'open', + status: 'open' as const, }, ]; beforeEach(() => { vi.clearAllMocks(); - vi.mocked(telemetryClusters).mockResolvedValue({ clusters: mockClusters } as never); + vi.mocked(telemetryClusters).mockResolvedValue({ + clusters: mockClusters, + total: mockClusters.length, + }); vi.mocked(diagnosticsCreateSession).mockResolvedValue({ id: 'sess_001', status: 'active', diff --git a/services/mcp-server/src/modules/support/debug-pack.ts b/services/mcp-server/src/modules/support/debug-pack.ts index 2773101a..1dc01c68 100644 --- a/services/mcp-server/src/modules/support/debug-pack.ts +++ b/services/mcp-server/src/modules/support/debug-pack.ts @@ -41,7 +41,7 @@ registerTool({ const generatedAt = new Date().toISOString(); // Step 1: collect error clusters - let clusters: unknown[] = []; + let clusters: import('../../lib/platform-client.js').TelemetryCluster[] = []; let clusterError: string | undefined; try { const result = await telemetryClusters({ from: args.from, to: args.to }, opts); @@ -88,9 +88,11 @@ registerTool({ lines.push('No error clusters found in the requested time range.'); } else { for (const c of clusters.slice(0, 10)) { - const cl = c as { fingerprint?: string; count?: number; lastSeen?: string }; lines.push( - `- **${cl.fingerprint ?? '(unknown)'}** — ${cl.count ?? '?'} events, last seen ${cl.lastSeen ?? '?'}` + `- **[${c.severity.toUpperCase()}]** \`${c.id}\` — ${c.totalCount} events` + + ` | platform: ${c.platform} | module: ${c.module}` + + ` | last seen: ${c.lastSeenAt}` + + (c.sampleMessage ? ` | "${c.sampleMessage}"` : '') ); } if (clusters.length > 10) lines.push(`… and ${clusters.length - 10} more clusters`);