/** * Session Stats - Track Merlin usage and show value * * Shows users the value: "5K tokens vs 65K if you read files directly" */ export interface SessionStats { sessionStart: number; queries: number; merlinTokens: number; wouldHaveRead: number; filesFound: number; lastQueryTime: number; lastSyncTime: number; newCodeDetected: boolean; } /** * Get the next rotating reminder */ export declare function getNextReminder(): string; /** * Get a reminder footer for tool responses * Returns empty string for Sights tools (they don't need reminders) */ export declare function getReminderFooter(toolName: string): string; /** * Record a Sights query * * Estimates: * - Average file is ~300 lines = ~2400 tokens * - Merlin summary per file is ~50 tokens * - Time to read file: ~30s, Merlin: ~2s */ export declare function recordQuery(toolName: string, responseText: string, filesFound?: number): void; /** * Mark that new code was detected in the sync */ export declare function markNewCodeDetected(): void; /** * Clear the new code flag (after showing it once) */ export declare function clearNewCodeFlag(): void; /** * Get current session stats */ export declare function getStats(): SessionStats; /** * Format the visual header for a Sights response * * Example output: * 🔮 SIGHTS › get_context ("add auth") * ✅ Found 5 files │ 2.1K tokens (vs ~12K reading files) │ ~45s saved * 📡 Includes recent code changes */ export declare function formatHeader(toolName: string, options?: { task?: string; filesFound?: number; responseTokens?: number; isSuccess?: boolean; summary?: string; }): string; /** * Wrap a response with Merlin visual formatting */ export declare function wrapResponse(toolName: string, content: string, options?: { task?: string; filesFound?: number; isSuccess?: boolean; summary?: string; skipReminder?: boolean; }): string; /** * Get cumulative session stats for display */ export declare function getSessionSummary(): string; /** * Get a compact stats line for quick display */ export declare function getCompactStats(): string; /** * Types of save operations for notifications */ export type SaveType = 'state' | 'task' | 'rule' | 'checkpoint' | 'planning' | 'blocker' | 'activity' | 'session'; /** * Format a save notification to show the user * * Example output: * ☑️ SAVED › State * ✓ "project" saved to Merlin cloud * Version: 3 │ Updated: 2024-01-15T10:30:00Z */ export declare function formatSaveNotification(saveType: SaveType, options?: { key?: string; version?: number; timestamp?: string; details?: string; isSuccess?: boolean; error?: string; }): string; /** * Wrap a save operation response with notification formatting * Returns the full response with notification header */ export declare function wrapSaveResponse(saveType: SaveType, originalResponse: string, options?: { key?: string; version?: number; timestamp?: string; details?: string; isSuccess?: boolean; error?: string; }): string; //# sourceMappingURL=stats.d.ts.map