/** * Command tracking utility */ import { AnalyticsService } from '../services/analytics'; /** * Wrapper to track command execution */ export async function trackCommand( command: string, model: string | undefined, fn: () => Promise ): Promise { const analytics = new AnalyticsService(); const startTime = Date.now(); let success = false; let errorType: string | undefined; try { const result = await fn(); success = true; return result; } catch (error) { success = false; errorType = error instanceof Error ? error.name : 'UnknownError'; throw error; } finally { const durationMs = Date.now() - startTime; analytics.trackCommand({ command, timestamp: startTime, model, success, durationMs, errorType, }); } }