semantic-ds-toolkit
Version:
Performance-first semantic layer for modern data stacks - Stable Column Anchors & intelligent inference
56 lines • 1.9 kB
TypeScript
import { PRContext } from './github-bot';
import { PRAnalysisResult } from './pr-analyzer';
import { SuggestionResult } from './suggestion-engine';
export interface AnalysisLog {
pr_context: PRContext;
analysis_result: PRAnalysisResult;
suggestions: SuggestionResult;
processing_time_ms: number;
timestamp: string;
}
export interface AcceptanceLog {
pr_context: PRContext;
accepted_suggestions: string[];
timestamp: string;
}
export interface ErrorLog {
pr_context: PRContext;
error: string;
timestamp: string;
}
export interface BotMetrics {
total_prs_analyzed: number;
total_suggestions_made: number;
total_suggestions_accepted: number;
acceptance_rate: number;
avg_processing_time_ms: number;
error_count: number;
last_activity: string;
}
export declare class EvidenceLogger {
private logsPath;
private metricsPath;
constructor(logsPath?: string);
ensureLogsDirectory(): Promise<void>;
logAnalysis(log: AnalysisLog): Promise<void>;
logAcceptance(log: AcceptanceLog): Promise<void>;
logError(log: ErrorLog): Promise<void>;
private generateLogFileName;
private appendToDailySummary;
private updateMetrics;
getMetrics(): Promise<BotMetrics>;
getAnalysisHistory(owner: string, repo: string, days?: number): Promise<AnalysisLog[]>;
generateReport(owner: string, repo: string, days?: number): Promise<{
summary: BotMetrics;
recent_activity: any[];
top_suggestions: any[];
error_summary: any[];
}>;
getLatestSuggestionsForPR(pr: PRContext): Promise<any[] | null>;
exportLogs(owner: string, repo: string, startDate: string, endDate: string, outputPath: string): Promise<void>;
cleanupOldLogs(retentionDays?: number): Promise<{
deleted: number;
errors: number;
}>;
}
//# sourceMappingURL=evidence-logger.d.ts.map