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.
172 lines • 4.65 kB
TypeScript
/**
* Knowledge base storage system for MUSHCODE reference data
*/
import { KnowledgeBase, MushcodePattern, ServerDialect, SecurityRule, CodeExample, LearningPath, KnowledgeQuery, KnowledgeSearchResult } from '../types/knowledge.js';
/**
* In-memory knowledge base implementation
*/
export declare class MushcodeKnowledgeBase implements KnowledgeBase {
patterns: Map<string, MushcodePattern>;
dialects: Map<string, ServerDialect>;
securityRules: Map<string, SecurityRule>;
examples: Map<string, CodeExample>;
learningPaths: Map<string, LearningPath>;
patternsByCategory: Map<string, string[]>;
patternsByServer: Map<string, string[]>;
patternsByDifficulty: Map<string, string[]>;
examplesByCategory: Map<string, string[]>;
examplesByDifficulty: Map<string, string[]>;
version: string;
lastUpdated: Date;
sources: string[];
constructor();
/**
* Initialize empty indexes
*/
private initializeIndexes;
/**
* Add a pattern to the knowledge base
*/
addPattern(pattern: MushcodePattern): void;
/**
* Add a server dialect to the knowledge base
*/
addDialect(dialect: ServerDialect): void;
/**
* Add a security rule to the knowledge base
*/
addSecurityRule(rule: SecurityRule): void;
/**
* Add a code example to the knowledge base
*/
addExample(example: CodeExample): void;
/**
* Add a learning path to the knowledge base
*/
addLearningPath(path: LearningPath): void;
/**
* Update pattern indexes when adding a pattern
*/
private updatePatternIndexes;
/**
* Update example indexes when adding an example
*/
private updateExampleIndexes;
/**
* Get pattern by ID
*/
getPattern(id: string): MushcodePattern | undefined;
/**
* Get patterns by category
*/
getPatternsByCategory(category: string): MushcodePattern[];
/**
* Get patterns by server compatibility
*/
getPatternsByServer(serverName: string): MushcodePattern[];
/**
* Get patterns by difficulty
*/
getPatternsByDifficulty(difficulty: string): MushcodePattern[];
/**
* Get server dialect by name
*/
getDialect(name: string): ServerDialect | undefined;
/**
* Get all available server dialects
*/
getAllDialects(): ServerDialect[];
/**
* Get security rule by ID
*/
getSecurityRule(ruleId: string): SecurityRule | undefined;
/**
* Get security rules by severity
*/
getSecurityRulesBySeverity(severity: string): SecurityRule[];
/**
* Get security rules by category
*/
getSecurityRulesByCategory(category: string): SecurityRule[];
/**
* Get example by ID
*/
getExample(id: string): CodeExample | undefined;
/**
* Get examples by category
*/
getExamplesByCategory(category: string): CodeExample[];
/**
* Get examples by difficulty
*/
getExamplesByDifficulty(difficulty: string): CodeExample[];
/**
* Get learning path by ID
*/
getLearningPath(id: string): LearningPath | undefined;
/**
* Get learning paths by difficulty
*/
getLearningPathsByDifficulty(difficulty: string): LearningPath[];
/**
* Search the knowledge base
*/
search(query: KnowledgeQuery): KnowledgeSearchResult;
/**
* Search patterns based on query
*/
private searchPatterns;
/**
* Search examples based on query
*/
private searchExamples;
/**
* Calculate pattern relevance score
*/
private calculatePatternRelevance;
/**
* Calculate example relevance score
*/
private calculateExampleRelevance;
/**
* Get matched terms for a pattern
*/
private getMatchedTerms;
/**
* Get matched terms for an example
*/
private getExampleMatchedTerms;
/**
* Clear all data from the knowledge base
*/
clear(): void;
/**
* Get all examples
*/
getAllExamples(): CodeExample[];
/**
* Get all learning paths
*/
getAllLearningPaths(): LearningPath[];
/**
* Get all patterns
*/
getAllPatterns(): MushcodePattern[];
/**
* Get all security rules
*/
getAllSecurityRules(): SecurityRule[];
/**
* Get knowledge base statistics
*/
getStats(): {
patterns: number;
dialects: number;
securityRules: number;
examples: number;
learningPaths: number;
lastUpdated: Date;
version: string;
};
}
//# sourceMappingURL=base.d.ts.map