import type { TestCase, RiskItem, FileCoverage } from '../schemas/report.js'; import type { FileSnippet, ImportInfo } from '../parsers/file-reader.js'; export interface FileContext { path: string; status: 'added' | 'modified' | 'deleted' | 'renamed'; snippets: FileSnippet[]; imports: ImportInfo[]; functionSignatures: Array<{ name: string; signature: string; line: number; }>; changedLines: { added: number[]; removed: number[]; }; truncated: boolean; } export interface AnalysisContext { diffSummary: string; files: FileContext[]; totalAdditions: number; totalDeletions: number; truncatedFiles: string[]; projectInfo?: { name?: string; description?: string; type?: string; }; } export interface AnalysisResult { testCases: TestCase[]; risks: RiskItem[]; coverage: FileCoverage[]; summary: { filesAnalyzed: number; testsRecommended: number; riskLevel: 'critical' | 'high' | 'medium' | 'low' | 'minimal'; }; unknownsCount: number; } export interface LLMProvider { name: string; model: string; analyze(context: AnalysisContext): Promise; } export interface ProviderOptions { name: string; model: string; maxTokens: number; apiKey?: string; } //# sourceMappingURL=types.d.ts.map