@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.
126 lines • 4.69 kB
TypeScript
/**
* AgentElementValidator - Specialized validator for Agent elements
*
* Extends GenericElementValidator to add Agent-specific validation:
* - V2.0 fields: goal (template/parameters), activates, tools, systemPrompt, autonomy
* - V1.x legacy fields with deprecation warnings
* - Complex validations: goal template/parameter consistency, autonomy conflict detection
* - Migration suggestions for V1 agents
*
* @since v2.0.0 - Agentic Loop Redesign
*/
import { GenericElementValidator } from './GenericElementValidator.js';
import { ValidationResult, ElementValidationOptions } from './ElementValidator.js';
import { ValidationService } from './ValidationService.js';
import { TriggerValidationService } from './TriggerValidationService.js';
import { MetadataService } from '../MetadataService.js';
/**
* Specialized validator for Agent elements
*/
export declare class AgentElementValidator extends GenericElementValidator {
constructor(validationService: ValidationService, triggerValidationService: TriggerValidationService, metadataService: MetadataService);
/**
* Override validateCreate to add agent-specific validation
*/
validateCreate(data: unknown, options?: ElementValidationOptions): Promise<ValidationResult>;
/**
* Validate V2.0 goal configuration (REQUIRED)
*
* Must have:
* - template (string with {parameter} placeholders)
* - parameters (array of parameter definitions)
* - successCriteria (optional string[])
*
* Also validates template/parameter consistency.
*
* Architecture: Input normalization happens at GenericElementValidator boundary.
* This validator receives pre-normalized data and validates business rules.
*/
private validateGoal;
/**
* Validate goal parameters and check consistency with template
*/
private validateGoalParameters;
/**
* Extract parameter placeholders from template
* Finds all {parameterName} patterns
*/
private extractTemplatePlaceholders;
/**
* Validate V2.0 activates configuration (OPTIONAL)
*
* Must be an object where each property is a string array.
* Supports: personas, skills, memories, templates, ensembles
*/
private validateActivates;
/**
* Validate V2.0 tools configuration (OPTIONAL)
*
* Must have:
* - allowed (string[], required if tools defined)
* - denied (string[], optional)
*/
private validateTools;
/**
* Validate V2.0 system prompt (OPTIONAL)
*
* Must be a string, length 1-10000 characters.
* Uses validationService for content security.
*
* Architecture: Input is already normalized by GenericElementValidator.
* This validator checks business rules (length, patterns) on normalized data.
*/
private validateSystemPrompt;
/**
* Validate V2.0 autonomy configuration (OPTIONAL)
*
* Fields:
* - riskTolerance (enum)
* - maxAutonomousSteps (positive integer, 0 = unlimited)
* - requiresApproval (string[] glob patterns)
* - autoApprove (string[] glob patterns)
*
* Also detects conflicts between requiresApproval and autoApprove.
*/
private validateAutonomy;
/**
* Validate V2.1 resilience configuration (OPTIONAL, nested under autonomy)
*
* Fields:
* - onStepLimitReached ('pause' | 'continue' | 'restart')
* - onExecutionFailure ('pause' | 'retry' | 'restart-fresh')
* - maxRetries (non-negative integer, default 3)
* - maxContinuations (non-negative integer, 0 = unlimited, default 10)
* - retryBackoff ('none' | 'linear' | 'exponential')
* - preserveState (boolean)
*
* @since v2.1.0 - Agent Execution Resilience (Issue #526)
*/
private validateResilience;
/**
* Validate V1.x decisionFramework (DEPRECATED)
* Data is already normalized by GenericElementValidator
*/
private validateDecisionFramework;
/**
* Validate V1.x specializations (DEPRECATED)
* Data is already normalized by GenericElementValidator
*/
private validateSpecializations;
/**
* Validate riskTolerance enum
* Used in both V1.x (deprecated) and V2.0 autonomy config
* Data is already normalized by GenericElementValidator
*/
private validateRiskTolerance;
/**
* Validate V1.x maxConcurrentGoals (DEPRECATED)
*/
private validateMaxConcurrentGoals;
/**
* Check if an agent appears to be V1.x format
* V1 agents have decisionFramework or specializations but no goal config
*/
private isV1Agent;
}
//# sourceMappingURL=AgentElementValidator.d.ts.map