export interface ActionConfig { prompt: string; model: string; contextWindow: number; maxToolCalls: number; } export interface EnvConfig { botToken: string; ollamaHost: string; giteaUrl: string; } export interface PRContext { owner: string; repo: string; prNumber: number; headSha: string; } export type TriggerType = "pr_open" | "issue_comment"; export interface DiffChunk { filename: string; language: string; hunk: string; context: string; } export type MCPToolName = "read_file" | "list_dir" | "find_symbol"; export type ReviewSeverity = "error" | "warning" | "nit"; export interface ReviewIssue { line: number; severity: ReviewSeverity; comment: string; } export interface ReviewResult { issues: ReviewIssue[]; summary: string; } export interface ChunkReview { chunk: DiffChunk; result: ReviewResult; } export interface Finding extends ReviewIssue { filename: string; } export interface AggregatedReview { findings: Finding[]; summaries: string[]; }