bc-code-intelligence-mcp
Version:
BC Code Intelligence MCP Server - Complete Specialist Bundle with AI-driven expert consultation, seamless handoffs, and context-preserving workflows
90 lines • 3.08 kB
TypeScript
import { AtomicTopic, TopicSearchParams, TopicSearchResult, BCKBConfig } from '../types/bc-knowledge.js';
import { MultiContentLayerService } from '../services/multi-content-layer-service.js';
import { SpecialistDefinition } from './specialist-loader.js';
/**
* Business Central Knowledge Service
*
* Manages loading, caching, and searching of atomic BC knowledge topics
* using the layered architecture system. Provides intelligent topic discovery
* and relationship traversal with support for project overrides.
*/
export declare class KnowledgeService {
private config;
private layerService;
private initialized;
constructor(config: BCKBConfig, layerService?: MultiContentLayerService);
/**
* Initialize the knowledge service by loading all layers
*/
initialize(): Promise<void>;
private getTagIndexes;
/**
* Search for topics based on various criteria using the layer system
*/
searchTopics(params: TopicSearchParams): Promise<TopicSearchResult[]>;
/**
* Get a specific topic by ID with layer resolution
*/
getTopic(topicId: string, includeSamples?: boolean): Promise<AtomicTopic | null>;
/**
* Get topic relationships and learning paths from layers
*/
getTopicRelationships(topicId: string): Promise<any>;
/**
* Find learning pathways that include this topic
*/
private findLearningPathways;
/**
* Find topics related by domain using layer system
*/
private findRelatedByDomain;
/**
* Find topics by type from frontmatter (e.g., 'code-pattern', 'workflow')
*/
findTopicsByType(type: string): Promise<AtomicTopic[]>;
/**
* Get knowledge base statistics from layer system
*/
getStatistics(): {
total_topics: any;
total_layers: any;
layer_details: any;
domains: any;
most_common_tags: any;
initialized: boolean;
last_loaded: string;
memory_usage: any;
};
/**
* Search topics by specialist persona
*/
searchTopicsBySpecialist(specialistId: string, query?: string, limit?: number): Promise<TopicSearchResult[]>;
/**
* Get specialist consultation for a specific topic
* TODO: Refactor to use SpecialistDefinition
*/
/**
* Get all available specialists
*/
/**
* Get all available specialists (delegates to MultiContentLayerService)
*/
getAllSpecialists(): Promise<SpecialistDefinition[]>;
/**
* Ask a specialist a question (delegates to MultiContentLayerService)
*/
askSpecialist(question: string, preferredSpecialist?: string): Promise<any>;
/**
* Find specialists by query (delegates to MultiContentLayerService)
*/
findSpecialistsByQuery(query: string): Promise<any[]>;
/**
* Get specialists by expertise area
* TODO: Refactor to use SpecialistDefinition
*/
/**
* Generate consultation content from specialist
*/
private generateConsultationContent;
}
//# sourceMappingURL=knowledge-service.d.ts.map