/** * Simple Pattern Analyzer for 0xRay * * Reads activity log → Counts patterns → Generates insights * * This is the "learning" system - simple pattern matching, not ML. * */ import type { Outcome, ComplexityAccuracy } from "../core/framework-logger.js"; export interface ParsedLogEntry { timestamp: string; jobId: string; component: string; action: string; status: string; duration?: number; complexityScore?: number; agentUsed?: string; operationType?: string; outcome?: Outcome; complexityAccuracy?: ComplexityAccuracy; } export interface AgentStats { attempts: number; successes: number; failures: number; escalated: number; autoFixed: number; avgDuration: number; totalDuration: number; } export interface TaskTypeStats { count: number; successRate: number; avgComplexity: number; } export interface ComplexityStats { underestimated: number; accurate: number; overestimated: number; total: number; } export interface PatternInsights { agentStats: Map; taskTypeStats: Map; complexityStats: ComplexityStats; totalEntries: number; dateRange: { start: string; end: string; }; } export declare class SimplePatternAnalyzer { private logPath; private outcomesPath; constructor(logPath?: string); /** * Main analysis method - reads log and returns insights */ analyze(limit?: number): Promise; /** * Parse a single log line */ private parseLine; /** * Calculate statistics from parsed entries */ private calculateStats; /** * Earliest and latest timestamp. Matches a stable sort on finite times. */ private entryDateRange; /** * Generate human-readable insights */ generateInsights(insights: PatternInsights): string[]; /** * Generate insights as a formatted report */ generateReport(): Promise; private emptyInsights; } export declare const patternAnalyzer: SimplePatternAnalyzer;