/** Unified vulnerability after normalizing npm/pnpm/yarn audit output */ export type Severity = "info" | "low" | "moderate" | "high" | "critical"; export interface VulnerabilityFinding { id: string; packageName: string; /** Installed version(s) observed in audit if known */ versions?: string[]; /** Semver range affected per advisory */ vulnerableRange?: string; /** Suggested patched range for this package (advisory patched_versions) */ patchedRange?: string; /** npm audit fixAvailable: upgrade this package to fix the finding */ fixViaPackage?: string; fixViaVersion?: string; fixIsSemVerMajor?: boolean; severity: Severity; title?: string; url?: string; cveIds?: string[]; /** Raw paths from audit e.g. node_refs */ nodePaths?: string[]; } export interface DependencyNode { id: string; /** logical path in lockfile / graph id */ pathKey: string; name: string; version: string; dev: boolean; optional: boolean; peer: boolean; } export interface DependencyEdge { from: string; to: string; depType: "dependencies" | "devDependencies" | "optionalDependencies" | "peerDependencies"; } export interface DependencyGraphSnapshot { nodes: Map; edges: DependencyEdge[]; rootIds: string[]; lockfileKind: "npm" | "pnpm" | "yarn-classic" | "unknown"; /** package name -> node ids (same name may appear multiple times) */ byPackageName: Map; } export type CiDiagnosticSeverity = "info" | "warn" | "error"; export interface CiDiagnostic { severity: CiDiagnosticSeverity; /** Stable machine-readable code */ code: string; message: string; detail?: string; relatedPackages?: string[]; remediationHint?: string; policy?: Record; } export interface AuditReport { findings: VulnerabilityFinding[]; graph: DependencyGraphSnapshot | null; diagnostics: CiDiagnostic[]; remediation: RemediationSuggestion[]; } export interface RemediationSuggestion { kind: "overrides" | "resolutions" | "upgrade"; reason: string; targetPackage: string; /** JSON snippet or semver constraint */ constraint?: string; /** Example package.json patch */ manifestPatch?: Record; } export interface WorkspaceInfo { isMonorepo: boolean; rootDir: string; packagePaths: string[]; tools: { nx?: boolean; turbo?: boolean; pnpmWorkspace?: boolean; npmWorkspaces?: boolean; yarnWorkspaces?: boolean; }; } export declare const CI_CODES: { readonly FAIL_POLICY: "FAIL_POLICY"; readonly FAIL_HIGH_PROD: "FAIL_HIGH_PROD"; readonly VULN_FOUND: "VULN_FOUND"; readonly AUDIT_SOURCE_FALLBACK: "AUDIT_SOURCE_FALLBACK"; readonly NO_LOCKFILE: "NO_LOCKFILE"; readonly GRAPH_BUILD_WARN: "GRAPH_BUILD_WARN"; }; //# sourceMappingURL=models.d.ts.map