mushcode-mcp-server
Version:
A specialized Model Context Protocol server for MUSHCODE development assistance. Provides AI-powered code generation, validation, optimization, and examples for MUD development.
73 lines • 2 kB
TypeScript
/**
* Persistence layer for knowledge base data
*/
import { MushcodeKnowledgeBase } from './base.js';
import { MushcodePattern, ServerDialect, SecurityRule, CodeExample, LearningPath } from '../types/knowledge.js';
/**
* Knowledge base data structure for serialization
*/
export interface SerializedKnowledgeBase {
patterns: MushcodePattern[];
dialects: ServerDialect[];
securityRules: SecurityRule[];
examples: CodeExample[];
learningPaths: LearningPath[];
metadata: {
version: string;
lastUpdated: string;
sources: string[];
totalFiles: number;
};
}
/**
* Persistence manager for knowledge base
*/
export declare class KnowledgeBasePersistence {
private dataDir;
constructor(dataDir?: string);
/**
* Save knowledge base to JSON files
*/
save(knowledgeBase: MushcodeKnowledgeBase): Promise<void>;
/**
* Load knowledge base from JSON files
*/
load(): Promise<MushcodeKnowledgeBase>;
/**
* Check if knowledge base files exist
*/
exists(): Promise<boolean>;
/**
* Get information about saved knowledge base
*/
getInfo(): Promise<SerializedKnowledgeBase['metadata'] | null>;
/**
* Export knowledge base to a specific directory
*/
exportTo(targetDir: string, knowledgeBase: MushcodeKnowledgeBase): Promise<void>;
/**
* Import knowledge base from a specific directory
*/
importFrom(sourceDir: string): Promise<MushcodeKnowledgeBase>;
/**
* Ensure data directory exists
*/
private ensureDataDirectory;
/**
* Save data to JSON file
*/
private saveJsonFile;
/**
* Load data from JSON file
*/
private loadJsonFile;
/**
* List all saved knowledge base files
*/
listFiles(): Promise<string[]>;
/**
* Get file sizes for saved knowledge base
*/
getFileSizes(): Promise<Record<string, number>>;
}
//# sourceMappingURL=persistence.d.ts.map