@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.
67 lines • 2.27 kB
TypeScript
/**
* Browse collection content from GitHub
*/
import { GitHubClient } from './GitHubClient.js';
import { CollectionCache } from '../cache/CollectionCache.js';
import { CollectionIndexManager } from './CollectionIndexManager.js';
export declare class CollectionBrowser {
private githubClient;
private collectionCache;
private indexManager;
private baseUrl;
constructor(githubClient: GitHubClient, collectionCache: CollectionCache, indexManager: CollectionIndexManager);
/**
* Browse collection content by section and type
* Uses CollectionIndexManager for fast browsing with background refresh
* Falls back to cached data when GitHub API is not available or not authenticated
* @param section - Top level section: library, showcase, or catalog
* @param type - Optional content type within the library section (personas, skills, etc.)
*/
browseCollection(section?: string, type?: string): Promise<{
items: any[];
categories: any[];
sections?: any[];
}>;
/**
* Browse collection using the fast collection index
* Returns null if index is not available or browsing fails
*/
private browseFromIndex;
/**
* Get unique content types from collection index
*/
private getContentTypesFromIndex;
/**
* Get items from collection index by section and type
*/
private getItemsFromIndex;
/**
* Convert index entries to GitHub API format for compatibility
*/
private convertIndexItemsToGitHubFormat;
/**
* Browse collection from cached data
*/
private browseFromCache;
/**
* Browse collection from seed data as last resort
*/
private browseFromSeedData;
/**
* Get unique content types from items
*/
private getContentTypesFromItems;
/**
* Filter items by section and type
*/
private filterItemsBySection;
/**
* Convert cache items to GitHub API format
*/
private convertCacheItemsToGitHubFormat;
/**
* Format collection browse results
*/
formatBrowseResults(items: any[], categories: any[], section?: string, type?: string, personaIndicator?: string): string;
}
//# sourceMappingURL=CollectionBrowser.d.ts.map