/** * Shared Policy Validation Utilities * * Common functions and types for policy validation across tools. * This module provides shared utilities for Rego policy evaluation and violation mapping. */ import type { Logger } from 'pino'; import type { RegoEvaluator, RegoPolicyViolation } from '../config/policy-rego.js'; /** * Policy violation from organizational policy validation */ export interface PolicyViolation { ruleId: string; category: string; priority?: number; message: string; severity: 'block' | 'warn' | 'suggest'; description?: string; } /** * Policy validation result */ export interface PolicyValidationResult { passed: boolean; violations: PolicyViolation[]; warnings: PolicyViolation[]; suggestions: PolicyViolation[]; summary: { totalRules: number; matchedRules: number; blockingViolations: number; warnings: number; suggestions: number; }; } /** * Convert RegoPolicyViolation to PolicyViolation format * * @param regoViolation - Violation from Rego evaluation * @returns Standardized PolicyViolation */ export declare function mapRegoPolicyViolation(regoViolation: RegoPolicyViolation): PolicyViolation; /** * Validate content against Rego policy * * Generic utility for evaluating content against a Rego policy evaluator. * Used by tools like generate-dockerfile, fix-dockerfile, and generate-k8s-manifests. * * @param content - Content to validate (Dockerfile text, K8s manifest, etc.) * @param policyEvaluator - Rego policy evaluator * @param logger - Logger instance for diagnostics * @param contentType - Description of content type for logging (e.g., "Dockerfile", "K8s manifest") * @returns PolicyValidationResult * * @example * ```typescript * const result = await validateContentAgainstPolicy( * dockerfileContent, * policyEvaluator, * logger, * 'Dockerfile' * ); * if (!result.passed) { * console.log('Violations:', result.violations); * } * ``` */ export declare function validateContentAgainstPolicy(content: string, policyEvaluator: RegoEvaluator, logger: Logger, contentType?: string): Promise; //# sourceMappingURL=policy-helpers.d.ts.map