using MarketAlly.GitCommitEditor.Models; namespace MarketAlly.GitCommitEditor.Services; /// /// Provides commit analysis functionality. /// public interface ICommitAnalysisService { Task> AnalyzeAllReposAsync( bool onlyNeedsImprovement = true, IProgress<(string Repo, int Processed)>? progress = null, CancellationToken ct = default); IEnumerable AnalyzeRepo(ManagedRepo repo); CommitAnalysis AnalyzeCommit(string repoPath, string commitHash); Task UpdateRepoAnalysisAsync(ManagedRepo repo, int totalCommits, int commitsNeedingImprovement, CancellationToken ct = default); }