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.

66 lines 2.14 kB
/** * Submit personas to the collection * Handles both authenticated and anonymous submission workflows * * Security Features: * - Rate limiting to prevent spam (5 submissions per hour per session) * - URL length validation for GitHub limits * - No email submission pathway (GitHub account required) */ import { Persona } from '../types/persona.js'; import { RateLimitStatus } from '../update/RateLimiter.js'; export declare class PersonaSubmitter { private rateLimiter; constructor(); /** * Generate GitHub issue for persona submission * Includes URL length validation to comply with GitHub's ~8KB limit */ generateSubmissionIssue(persona: Persona): { issueTitle: string; issueBody: string; githubIssueUrl: string; rateLimitStatus?: RateLimitStatus; }; /** * Format submission response for authenticated users */ formatSubmissionResponse(persona: Persona, githubIssueUrl: string, personaIndicator?: string): string; /** * Format anonymous submission response for unauthenticated users */ formatAnonymousSubmissionResponse(persona: Persona, githubIssueUrl: string, personaIndicator?: string): string; /** * Build the full issue body with all persona details */ private buildIssueBody; /** * Build a truncated issue body to fit within URL limits */ private buildTruncatedIssueBody; /** * Serialize persona metadata to YAML format */ private serializeMetadata; /** * Build the GitHub issue URL */ private buildGitHubIssueUrl; /** * Build common response header used by both authenticated and anonymous responses */ private buildResponseHeader; /** * Build standard submission steps for authenticated users */ private buildStandardSubmissionSteps; /** * Build anonymous submission process instructions */ private buildAnonymousSubmissionProcess; /** * Build anonymous submission next steps and expectations */ private buildAnonymousNextSteps; } //# sourceMappingURL=PersonaSubmitter.d.ts.map