@invisiblecities/sidequest-cqo
Version:
Configuration-agnostic TypeScript and ESLint orchestrator with real-time watch mode, SQLite persistence, and intelligent terminal detection
42 lines • 2.03 kB
TypeScript
/**
* Analysis Service for Code Quality Orchestrator
* Provides historical analysis and delta computation
*/
import type { IAnalysisService, IStorageService, TimeRange, ViolationTrend, RulePerformanceAnalysis, FileQualityTrend, ViolationStats, ProblemFile, FlakyRule, ViolationPrediction, RuleFrequencyRecommendation, QualityReport, RuleEfficiencyReport } from "./interfaces.js";
export declare class AnalysisService implements IAnalysisService {
private storageService;
constructor(storageService: IStorageService);
computeViolationDeltas(previousViolations: string[], currentViolations: string[]): {
added: string[];
removed: string[];
unchanged: string[];
};
getViolationTrends(timeRange: TimeRange): Promise<ViolationTrend[]>;
getRulePerformanceAnalysis(ruleId?: string): RulePerformanceAnalysis[];
getFileQualityTrends(filePath?: string): Promise<FileQualityTrend[]>;
calculateViolationStats(_timeRange: TimeRange): Promise<ViolationStats>;
identifyProblemFiles(threshold?: number): Promise<ProblemFile[]>;
detectRuleFlakyness(minRuns?: number): FlakyRule[];
predictViolationGrowth(timeRange: TimeRange): Promise<ViolationPrediction>;
recommendRuleFrequencies(): RuleFrequencyRecommendation[];
generateQualityReport(timeRange: TimeRange): Promise<QualityReport>;
generateRuleEfficiencyReport(): Promise<RuleEfficiencyReport>;
private calculateTrend;
private calculateFileTrend;
private calculateSeverityScore;
private calculateVariance;
private groupTrendsByDate;
private calculateGrowthRate;
private identifyGrowthFactors;
private calculateResourceUtilization;
private generateRecommendations;
}
/**
* Get or create analysis service instance
*/
export declare function getAnalysisService(storageService: IStorageService): AnalysisService;
/**
* Reset analysis service instance (useful for testing)
*/
export declare function resetAnalysisService(): void;
//# sourceMappingURL=analysis-service.d.ts.map