@simonecoelhosfo/optimizely-mcp-server
Version:
Optimizely MCP Server for AI assistants with integrated CLI tools
59 lines • 1.95 kB
TypeScript
/**
* Pre-Execution Validator
*
* Validates entity data AFTER template parameter substitution but BEFORE API execution.
* This ensures that the final payload sent to the API meets all requirements.
*/
import { ValidationResult, FieldValidator, PreExecutionValidatorConfig } from './types.js';
export declare class PreExecutionValidator {
private logger;
private rules;
constructor(config?: PreExecutionValidatorConfig);
/**
* Initialize all validation rules based on our comprehensive audit
*/
private initializeValidationRules;
/**
* Register ModelFriendlyTemplate specific validation rules
*/
private registerModelFriendlyRules;
/**
* Validate change object based on its type
*/
private validateChangeType;
/**
* Register a validation rule for a specific entity type and field
*/
registerRule(entityType: string, fieldPath: string, validators: FieldValidator | FieldValidator[]): void;
/**
* Register custom validation rules from configuration
*/
private registerCustomRules;
/**
* Enhanced validation with ModelFriendlyTemplate checks
*/
validate(entityType: string, data: any, context?: {
skipFields?: string[];
additionalContext?: any;
platform?: 'web' | 'feature';
validateModelFriendly?: boolean;
}): ValidationResult;
/**
* Get field value from data object using dot notation path
*/
private getFieldValue;
/**
* Validate ModelFriendlyTemplate compliance
*/
private validateModelFriendlyCompliance;
/**
* Get all registered validation rules (for debugging/testing)
*/
getRegisteredRules(): Map<string, Map<string, FieldValidator[]>>;
/**
* Clear all validation rules
*/
clearRules(): void;
}
export declare const preExecutionValidator: PreExecutionValidator;
//# sourceMappingURL=PreExecutionValidator.d.ts.map