@dollhousemcp/mcp-server
Version:
DollhouseMCP - A Model Context Protocol (MCP) server that enables dynamic AI persona management from markdown files, allowing Claude and other compatible AI assistants to activate and switch between different behavioral personas.
56 lines • 2.31 kB
TypeScript
/**
* PersonaElementValidator - Specialized validator for persona elements
*
* Restores and extends the original PersonaValidator functionality including:
* - Content length quality checks (min 50 chars, warn if >5000)
* - Age rating validation
* - Improvement suggestions
* - Validation report generation
*
* This validator provides persona-specific validation logic while using
* the shared validation services for security-first patterns.
*/
import { ValidationService } from './ValidationService.js';
import { TriggerValidationService } from './TriggerValidationService.js';
import { MetadataService } from '../MetadataService.js';
import { ValidationResult, ValidationReport, ElementValidationOptions, MetadataValidationOptions } from './ElementValidator.js';
import { GenericElementValidator } from './GenericElementValidator.js';
/**
* Specialized validator for persona elements
*/
export declare class PersonaElementValidator extends GenericElementValidator {
constructor(validationService: ValidationService, triggerValidationService: TriggerValidationService, metadataService: MetadataService);
/**
* Validate data for persona creation
* Extends base validation with persona-specific checks
*/
validateCreate(data: unknown, options?: ElementValidationOptions): Promise<ValidationResult>;
/**
* Validate metadata with persona-specific rules
*/
validateMetadata(metadata: unknown, options?: MetadataValidationOptions): Promise<ValidationResult>;
/**
* Generate a comprehensive validation report for a persona
* Restores original PersonaValidator report generation
*/
generateReport(element: unknown): Promise<ValidationReport>;
/**
* Validate age rating
*/
private validateAgeRating;
/**
* Suggest improvements for a persona
* Restores original PersonaValidator.suggestImprovements functionality
*/
private suggestImprovements;
/**
* Check if a persona name is valid
* Restores original PersonaValidator.isValidPersonaName functionality
*/
isValidPersonaName(name: string): boolean;
/**
* Calculate a quality score specific to personas (0-100)
*/
private calculatePersonaQualityScore;
}
//# sourceMappingURL=PersonaElementValidator.d.ts.map