@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.
102 lines • 3.98 kB
TypeScript
import { CollectionBrowser, CollectionSearch, PersonaDetails, ElementInstaller } from '../collection/index.js';
import { CollectionCache } from '../cache/index.js';
import { PortfolioManager } from '../portfolio/PortfolioManager.js';
import { FileOperationsService } from '../services/FileOperationsService.js';
import { SubmitToPortfolioTool } from '../tools/portfolio/submitToPortfolioTool.js';
import { UnifiedIndexManager } from '../portfolio/UnifiedIndexManager.js';
import { APICache } from '../cache/index.js';
import { InitializationService } from '../services/InitializationService.js';
import { PersonaIndicatorService } from '../services/PersonaIndicatorService.js';
import { PersonaManager } from '../persona/PersonaManager.js';
/**
* CollectionHandler - Manages DollhouseMCP collection browsing, search, and content installation
*
* Uses dependency injection for all services:
* - InitializationService for setup tasks
* - PersonaIndicatorService for persona indicator formatting
* - PersonaManager for persona management
*
* FIX: DMCP-SEC-006 - Security audit suppression
* This handler delegates collection operations to specialized services.
* Audit logging happens in the underlying services (CollectionBrowser, ElementInstaller, etc.).
* @security-audit-suppress DMCP-SEC-006
*/
export declare class CollectionHandler {
private readonly collectionBrowser;
private readonly collectionSearch;
private readonly personaDetails;
private readonly elementInstaller;
private readonly collectionCache;
private readonly portfolioManager;
private readonly apiCache;
private readonly personaManager;
private readonly submitToPortfolioTool;
private readonly unifiedIndexManager;
private readonly initService;
private readonly indicatorService;
private readonly fileOperations;
constructor(collectionBrowser: CollectionBrowser, collectionSearch: CollectionSearch, personaDetails: PersonaDetails, elementInstaller: ElementInstaller, collectionCache: CollectionCache, portfolioManager: PortfolioManager, apiCache: APICache, personaManager: PersonaManager, submitToPortfolioTool: SubmitToPortfolioTool, unifiedIndexManager: UnifiedIndexManager, initService: InitializationService, indicatorService: PersonaIndicatorService, fileOperations: FileOperationsService);
browseCollection(section?: string, type?: string): Promise<{
content: {
type: string;
text: string;
}[];
}>;
searchCollection(query: string): Promise<{
content: {
type: string;
text: string;
}[];
}>;
searchCollectionEnhanced(query: string, options?: any): Promise<{
content: {
type: string;
text: string;
}[];
}>;
getCollectionContent(path: string): Promise<{
content: {
type: string;
text: string;
}[];
}>;
installContent(inputPath: string): Promise<{
content: {
type: string;
text: string;
}[];
}>;
submitContent(contentIdentifier: string): Promise<{
content: {
type: string;
text: string;
}[];
}>;
/**
* Configure collection submission settings
* Controls whether content is automatically submitted to the DollhouseMCP collection
*/
configureCollectionSubmission(autoSubmit: boolean): Promise<{
content: {
type: string;
text: string;
}[];
}>;
/**
* Get current collection submission configuration
* Shows whether auto-submit is enabled or disabled
*/
getCollectionSubmissionConfig(): Promise<{
content: {
type: string;
text: string;
}[];
}>;
getCollectionCacheHealth(): Promise<{
content: {
type: string;
text: string;
}[];
}>;
}
//# sourceMappingURL=CollectionHandler.d.ts.map