UNPKG

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
/** * 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