@simonecoelhosfo/optimizely-mcp-server
Version:
Optimizely MCP Server for AI assistants with integrated CLI tools
109 lines • 2.79 kB
TypeScript
/**
* Template Validator
* @description Validates orchestration templates for correctness and completeness
* @author Optimizely MCP Server
* @version 1.0.0
*/
import { OrchestrationTemplate, TemplateParameters } from '../types/index.js';
export interface ValidationResult {
valid: boolean;
errors: string[];
warnings: string[];
}
export interface ParameterValidationResult extends ValidationResult {
missingRequired: string[];
invalidTypes: Array<{
param: string;
expected: string;
received: string;
}>;
}
export declare class TemplateValidator {
private logger;
/**
* Validate a complete orchestration template
*/
validateTemplate(template: OrchestrationTemplate): Promise<ValidationResult>;
/**
* Validate template metadata
*/
private validateMetadata;
/**
* Validate semantic version string
*/
private isValidVersion;
/**
* Validate parameters definition
*/
private validateParametersDefinition;
/**
* Validate individual parameter definition
*/
private validateParameterDefinition;
/**
* Validate parameter validation rules
*/
private validateParameterValidation;
/**
* Validate steps
*/
private validateSteps;
/**
* Validate individual step
*/
private validateStep;
/**
* Validate template step configuration
*/
private validateTemplateStep;
/**
* Validate conditional step configuration
*/
private validateConditionalStep;
/**
* Validate loop step configuration
*/
private validateLoopStep;
/**
* Validate plugin step configuration
*/
private validatePluginStep;
/**
* Validate wait step configuration
*/
private validateWaitStep;
/**
* Validate parallel step configuration
*/
private validateParallelStep;
/**
* Validate retry configuration
*/
private validateRetryConfig;
/**
* Validate step dependencies
*/
private validateStepDependencies;
/**
* Validate outputs configuration
*/
private validateOutputs;
/**
* Validate configuration
*/
private validateConfig;
/**
* Validate parameters against template definition
*/
validateParameters(parameterDefs: TemplateParameters, providedParams: Record<string, any>): Promise<ParameterValidationResult>;
/**
* Validate parameter value against rules
*/
private validateParameterValue;
/**
* Validate orchestration step for new Direct Template Architecture
*/
validateOrchestrationStep(step: any): ValidationResult;
private validatePlatformCompatibility;
}
//# sourceMappingURL=TemplateValidator.d.ts.map