UNPKG

@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.

64 lines 1.97 kB
/** * Persona element class implementing IElement interface. * Represents a behavioral profile that defines AI personality and interaction style. */ import { BaseElement } from '../elements/BaseElement.js'; import { IElement, IElementMetadata, ElementValidationResult } from '../types/elements/index.js'; import { PersonaMetadata } from '../types/persona.js'; export interface PersonaElementMetadata extends IElementMetadata { triggers?: string[]; category?: string; age_rating?: 'all' | '13+' | '18+'; content_flags?: string[]; ai_generated?: boolean; generation_method?: 'human' | 'ChatGPT' | 'Claude' | 'hybrid'; price?: string; revenue_split?: string; license?: string; created_date?: string; } export declare class PersonaElement extends BaseElement implements IElement { content: string; filename: string; metadata: PersonaElementMetadata; constructor(metadata: Partial<PersonaElementMetadata>, content?: string, filename?: string); /** * Create PersonaElement from legacy Persona interface */ static fromLegacy(legacyPersona: { metadata: PersonaMetadata; content: string; filename: string; unique_id: string; }): PersonaElement; /** * Convert to legacy Persona interface for backward compatibility */ toLegacy(): { metadata: PersonaMetadata; content: string; filename: string; unique_id: string; }; /** * Persona-specific validation */ validate(): ElementValidationResult; /** * Serialize persona to markdown format */ serialize(): string; /** * Deserialize persona from markdown format */ deserialize(data: string): void; /** * Persona activation lifecycle */ activate(): Promise<void>; /** * Persona deactivation lifecycle */ deactivate(): Promise<void>; } //# sourceMappingURL=PersonaElement.d.ts.map