UNPKG

@bonginkan/maria

Version:

MARIA OS v5.9.5 – Self-Evolving Organizational Intelligence OS | Speed Improvement Phase 3: LLM Optimization + Command Refactoring | Performance Measurement + Run Evidence System | Zero ESLint/TypeScript Errors | 人とAIが役割を持ち、学び、進化し続けるための仕事のOS | GraphRAG ×

108 lines (107 loc) 3.06 kB
/** * Validation Engine * * Core validation orchestrator for data quality, schema, and integrity checks */ import { EventEmitter } from "node:events"; import type { ValidationConfig, ValidationResult, QualityResult } from "../types/porter-types"; export interface ValidationContext { requestId: string; userId: string; correlationId: string; timestamp: number; metadata: Record<string, unknown>; } export interface ValidationSummary { overall: ValidationResult; schema?: ValidationResult; integrity?: ValidationResult; quality?: QualityResult; context: ValidationContext; executionTime: number; validatedRecords: number; } export declare class ValidationEngine extends EventEmitter { private readonly config; private readonly schemaValidator; private readonly integrityValidator; private readonly qualityValidator; constructor(config: ValidationConfig); /** * Comprehensive validation of data */ validate(data: unknown, context: ValidationContext, options?: { skipSchema?: boolean; skipIntegrity?: boolean; skipQuality?: boolean; failFast?: boolean; maxErrors?: number; }): Promise<ValidationSummary>; /** * Validate single record */ validateRecord(record: unknown, recordIndex: number, context: ValidationContext): Promise<ValidationResult>; /** * Batch validation for large datasets */ validateBatch(data: unknown[], context: ValidationContext, batchSize?: number): AsyncIterable<{ batchIndex: number; records: ValidationResult[]; summary: { validRecords: number; invalidRecords: number; totalWarnings: number; }; }>; /** * Create validation context */ createContext(requestId: string, userId: string, correlationId?: string, metadata?: Record<string, unknown>): ValidationContext; /** * Update validation configuration */ updateConfig(newConfig: Partial<ValidationConfig>): void; /** * Get validation statistics */ getStats(): { totalValidations: number; successRate: number; averageExecutionTime: number; commonErrors: Array<{ error: string; count: number; }>; qualityScores: { average: number; recent: number[]; }; }; /** * Test validation engine */ test(testData?: unknown): Promise<{ success: boolean; error?: string; results?: ValidationSummary; }>; /** * Get validation engine health status */ getHealthStatus(): { status: "healthy" | "degraded" | "unhealthy"; details: unknown; }; /** * Setup event forwarding from sub-validators */ private setupEventForwarding; /** * Merge validation results */ private mergeResults; /** * Get quality suggestion based on issue type */ private getQualitySuggestion; }