export interface BlocklistEntry { skillName: string; sourceUrl?: string; sourceRegistry?: string; contentHash?: string; threatType: string; severity: string; reason: string; evidenceUrls: string[]; discoveredAt: string; } export interface BlocklistCache { entries: BlocklistEntry[]; count: number; lastUpdated: string; fetchedAt: string; etag?: string; } export interface RejectionInfo { skillName: string; state: string; reason: string; score: number | null; rejectedAt: string; repoUrl?: string; } export interface InstallSafetyResult { blocked: boolean; entry?: BlocklistEntry; rejected: boolean; rejection?: RejectionInfo; tainted?: boolean; taintReason?: string; }