@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 ×
88 lines (87 loc) • 2.22 kB
TypeScript
/**
* Schema Validator
*
* Validates data against predefined schemas with auto-detection capabilities
*/
import { EventEmitter } from "node:events";
import type { SchemaValidation, SchemaDefinition, ValidationResult } from "../types/porter-types";
export interface ValidationContext {
requestId: string;
userId: string;
correlationId: string;
timestamp: number;
metadata: Record<string, unknown>;
}
export interface SchemaMatchResult {
schema: SchemaDefinition;
confidence: number;
reasons: string[];
}
export declare class SchemaValidator extends EventEmitter {
private config;
private readonly builtInSchemas;
constructor(config: SchemaValidation);
/**
* Initialize built-in schema definitions
*/
private initializeBuiltInSchemas;
/**
* Validate data against schemas
*/
validate(data: unknown, context: ValidationContext): Promise<ValidationResult>;
/**
* Detect possible schemas for data
*/
detectSchemas(data: unknown): Promise<SchemaMatchResult[]>;
/**
* Calculate confidence score for schema match
*/
private calculateSchemaConfidence;
/**
* Get reasons for schema match
*/
private getMatchReasons;
/**
* Count total number of schema checks
*/
private countSchemaChecks;
/**
* Validate data against specific schema
*/
private validateAgainstSchema;
/**
* Validate object against schema
*/
private validateObject;
/**
* Validate array against schema
*/
private validateArray;
/**
* Validate string against schema
*/
private validateString;
/**
* Validate number against schema
*/
private validateNumber;
/**
* Validate property value recursively
*/
private validatePropertyValue;
/**
* Validate string format
*/
private validateFormat;
/**
* Update schema validator configuration
*/
updateConfig(newConfig: Partial<SchemaValidation>): void;
/**
* Get schema validator health status
*/
getHealthStatus(): {
status: "healthy" | "degraded" | "unhealthy";
details: unknown;
};
}