/** * AST Transform Types * * Types for AST-based code transformations. * * @module autofix/ast/types */ import type { Severity } from "../../certification/types.js"; export type SupportedLanguage = "typescript" | "javascript"; export interface ASTTransformPattern { id: string; name: string; description: string; language: SupportedLanguage | SupportedLanguage[]; category: string; severity: Severity; risk: "low" | "medium" | "high"; safeToAutoApply: boolean; } export interface ASTTransformContext { filePath: string; projectPath: string; finding: { id: string; file: string; line: number; category: string; description: string; }; } export interface ASTTransformResult { success: boolean; filePath: string; originalCode: string; transformedCode: string; changesApplied: ASTChange[]; error?: string; } export interface ASTChange { type: "insert" | "replace" | "delete"; startLine: number; endLine: number; startColumn?: number; endColumn?: number; originalText: string; newText: string; description: string; } export interface SQLInjectionFix { type: "parameterized-query" | "prepared-statement" | "orm-method"; originalQuery: string; safeQuery: string; parameters: string[]; } export interface XSSFix { type: "sanitize" | "escape" | "safe-method"; originalCode: string; safeCode: string; sanitizer?: string; } export interface SecretsFix { type: "env-variable" | "config-file" | "secret-manager"; secretName: string; envVarName: string; originalValue: string; } export interface IDORFix { type: "ownership-check" | "access-control"; resourceType: string; checkCode: string; } export interface AuthBypassFix { type: "middleware" | "decorator" | "guard"; authCode: string; placement: "before" | "wrap"; } //# sourceMappingURL=types.d.ts.map