export type NodeRole = 'source' | 'sink' | 'sanitizer' | 'transform' | 'unknown'; export type TrustLevel = 'untrusted' | 'semi-trusted' | 'trusted'; export type SinkSeverity = 'critical' | 'high' | 'medium' | 'low'; export interface SourceClassification { role: 'source'; trustLevel: TrustLevel; taintedFields: string[]; description: string; } export interface SinkClassification { role: 'sink'; severity: SinkSeverity; riskType: string; dangerousParams: string[]; description: string; } export interface SanitizerClassification { role: 'sanitizer'; sanitizerType: 'validation' | 'transformation' | 'conditional'; validatesAgainst?: string[]; description: string; } export interface TransformClassification { role: 'transform'; propagatesTaint: boolean; description: string; } export interface UnknownClassification { role: 'unknown'; description: string; } export type NodeClassification = SourceClassification | SinkClassification | SanitizerClassification | TransformClassification | UnknownClassification; export type ClassificationMap = Map;