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.

135 lines 5.07 kB
/** * Central configuration for all element types * * This file serves as the single source of truth for element type configurations. * When adding new element types, update this config and use the derived arrays * to ensure consistency across the codebase. */ import { ElementType } from '../portfolio/types.js'; /** * Complete configuration for each element type */ export declare const ELEMENT_TYPE_CONFIG: { readonly personas: { readonly plural: "personas"; readonly directory: "personas"; readonly mcpSupported: true; readonly hasManager: true; readonly icon: "👤"; readonly description: "Behavioral profiles that define AI personality and interaction style"; }; readonly skills: { readonly plural: "skills"; readonly directory: "skills"; readonly mcpSupported: true; readonly hasManager: true; readonly icon: "🛠️"; readonly description: "Discrete capabilities for specific tasks"; }; readonly templates: { readonly plural: "templates"; readonly directory: "templates"; readonly mcpSupported: true; readonly hasManager: true; readonly icon: "📄"; readonly description: "Reusable content structures with variable substitution"; }; readonly agents: { readonly plural: "agents"; readonly directory: "agents"; readonly mcpSupported: true; readonly hasManager: true; readonly icon: "🤖"; readonly description: "Autonomous goal-oriented actors with decision-making capabilities"; }; readonly memories: { readonly plural: "memories"; readonly directory: "memories"; readonly mcpSupported: false; readonly hasManager: true; readonly icon: "🧠"; readonly description: "Persistent context storage for continuity and learning"; }; readonly ensembles: { readonly plural: "ensembles"; readonly directory: "ensembles"; readonly mcpSupported: true; readonly hasManager: true; readonly icon: "🎭"; readonly description: "Groups of elements working together as a cohesive unit"; }; }; /** * Derived arrays for validation and filtering * These are automatically generated from the config above */ export declare const MCP_SUPPORTED_TYPES: ElementType[]; export declare const VALID_TYPES_ARRAY: ("personas" | "skills" | "templates" | "agents" | "memories" | "ensembles")[]; export declare const PLURAL_TO_ELEMENT_TYPE_MAP: { [k: string]: ElementType; }; export declare const SINGULAR_TO_DIRECTORY_MAP: { [k: string]: "personas" | "skills" | "templates" | "agents" | "memories" | "ensembles"; }; /** * Utility functions */ export declare function isElementTypeSupported(type: ElementType): boolean; export declare function getElementTypeConfig(type: ElementType): { readonly plural: "personas"; readonly directory: "personas"; readonly mcpSupported: true; readonly hasManager: true; readonly icon: "👤"; readonly description: "Behavioral profiles that define AI personality and interaction style"; } | { readonly plural: "skills"; readonly directory: "skills"; readonly mcpSupported: true; readonly hasManager: true; readonly icon: "🛠️"; readonly description: "Discrete capabilities for specific tasks"; } | { readonly plural: "templates"; readonly directory: "templates"; readonly mcpSupported: true; readonly hasManager: true; readonly icon: "📄"; readonly description: "Reusable content structures with variable substitution"; } | { readonly plural: "agents"; readonly directory: "agents"; readonly mcpSupported: true; readonly hasManager: true; readonly icon: "🤖"; readonly description: "Autonomous goal-oriented actors with decision-making capabilities"; } | { readonly plural: "memories"; readonly directory: "memories"; readonly mcpSupported: false; readonly hasManager: true; readonly icon: "🧠"; readonly description: "Persistent context storage for continuity and learning"; } | { readonly plural: "ensembles"; readonly directory: "ensembles"; readonly mcpSupported: true; readonly hasManager: true; readonly icon: "🎭"; readonly description: "Groups of elements working together as a cohesive unit"; }; export declare function getAllSupportedTypes(): ElementType[]; export declare function getValidTypesForMCP(): string[]; /** * Migration note: To use this centralized config: * * 1. Replace hardcoded arrays with imports from this file: * - Replace validTypes in src/index.ts with VALID_TYPES_ARRAY * - Replace MCP_SUPPORTED_TYPES in CollectionBrowser.ts with import * - Replace mapping objects with imports from this file * * 2. Update components to use utility functions instead of hardcoded checks * * 3. When adding new types, only update ELEMENT_TYPE_CONFIG above */ //# sourceMappingURL=element-types.d.ts.map