/
aqa
/
claude-code
Обзор
Документация
Войти
/
aqa
/
claude-code
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
hooks/useIdeLogging.ts
41 строка
1 KB
kuberwastaken
new initial commit (history rewritten)
01 апр 2026, 14:57
01 апр 2026, 14:57
c1996f2
Код
Авторство
О чём код?
import { useEffect } from 'react' import { logEvent } from 'src/services/analytics/index.js' import { z } from 'zod/v4' import type { MCPServerConnection } from '../services/mcp/types.js' import { getConnectedIdeClient } from '../utils/ide.js' import { lazySchema } from '../utils/lazySchema.js' const LogEventSchema = lazySchema(() => z.object({ method: z.literal('log_event'), params: z.object({ eventName: z.string(), eventData: z.object({}).passthrough(), }), }), ) export function useIdeLogging(mcpClients: MCPServerConnection[]): void { useEffect(() => { // Skip if there are no clients if (!mcpClients.length) { return } // Find the IDE client from the MCP clients list const ideClient = getConnectedIdeClient(mcpClients) if (ideClient) { // Register the log event handler ideClient.client.setNotificationHandler( LogEventSchema(), notification => { const { eventName, eventData } = notification.params logEvent( `tengu_ide_${eventName}`, eventData as { [key: string]: boolean | number | undefined }, ) }, ) } }, [mcpClients]) }