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 ×

103 lines (102 loc) 2.63 kB
/** * Quality Validator * * Validates data quality using configurable rules and thresholds */ import { EventEmitter } from "node:events"; import type { DataQualityValidation, QualityResult } from "../types/porter-types"; export interface ValidationContext { requestId: string; userId: string; correlationId: string; timestamp: number; metadata: Record<string, unknown>; } export interface FieldAnalysis { field: string; totalRecords: number; nullCount: number; emptyCount: number; uniqueCount: number; validCount: number; invalidCount: number; completeness: number; uniqueness: number; validity: number; examples: unknown[]; patterns: string[]; } export declare class QualityValidator extends EventEmitter { private config; private readonly expressionEvaluator; private readonly builtInRules; constructor(config: DataQualityValidation); /** * Create built-in quality rules */ private createBuiltInRules; /** * Validate data quality */ validate(data: unknown, context: ValidationContext): Promise<QualityResult>; /** * Analyze fields in the dataset */ private analyzeFields; /** * Apply quality rules to field analyses */ private applyQualityRules; /** * Evaluate a quality rule against field analysis */ private evaluateRule; /** * Calculate overall quality scores */ private calculateQualityScores; /** * Detect patterns in field values */ private detectPatterns; /** * Normalize value for uniqueness calculation */ private normalizeValue; /** * Create empty quality result */ private createEmptyResult; /** * Analyze single field across dataset */ analyzeField(records: unknown[], fieldName: string): Promise<FieldAnalysis>; /** * Get quality recommendations */ getQualityRecommendations(result: QualityResult): Array<{ type: string; severity: "low" | "medium" | "high" | "critical"; message: string; suggestion: string; }>; /** * Update quality validator configuration */ updateConfig(newConfig: Partial<DataQualityValidation>): void; /** * Get quality validator health status */ getHealthStatus(): { status: "healthy" | "degraded" | "unhealthy"; details: unknown; }; /** * Test quality validator */ test(testData?: unknown[]): Promise<{ success: boolean; error?: string; result?: QualityResult; }>; }