UNPKG

bc-code-intelligence-mcp

Version:

BC Code Intelligence MCP Server - Complete Specialist Bundle with AI-driven expert consultation, seamless handoffs, and context-preserving workflows

101 lines 3.09 kB
/** * Specialist Loader Service * * Loads and parses specialist persona definitions from markdown files * with rich YAML frontmatter including personality traits, collaboration * patterns, and roleplay information. */ export interface SpecialistPersona { personality: string[]; communication_style: string; greeting: string; } export interface SpecialistExpertise { primary: string[]; secondary: string[]; } export interface SpecialistCollaboration { natural_handoffs: string[]; team_consultations: string[]; } export interface SpecialistDefinition { title: string; specialist_id: string; emoji: string; role: string; team: string; persona: SpecialistPersona; expertise: SpecialistExpertise; domains: string[]; when_to_use: string[]; collaboration: SpecialistCollaboration; related_specialists: string[]; content: string; } export interface SpecialistCharacterGuide { identity_section: string; process_section: string; examples_section: string; collaboration_section: string; } export declare class SpecialistLoader { private specialistsPath; private specialistCache; private loaded; constructor(specialistsPath: string); /** * Load all specialist definitions from the specialists folder */ loadAllSpecialists(): Promise<Map<string, SpecialistDefinition>>; /** * Load a single specialist from a markdown file */ loadSpecialist(filePath: string): Promise<SpecialistDefinition | null>; /** * Parse specialist markdown file with YAML frontmatter */ private parseSpecialistFile; /** * Get a specific specialist by ID */ getSpecialist(specialistId: string): Promise<SpecialistDefinition | null>; /** * Get all loaded specialists */ getAllSpecialists(): Promise<SpecialistDefinition[]>; /** * Get specialists by team */ getSpecialistsByTeam(team: string): Promise<SpecialistDefinition[]>; /** * Get specialists by domain expertise */ getSpecialistsByDomain(domain: string): Promise<SpecialistDefinition[]>; /** * Extract character guide sections from specialist content */ extractCharacterGuide(specialist: SpecialistDefinition): SpecialistCharacterGuide; private extractSection; /** * Find specialists who can collaborate with the given specialist */ getCollaborators(specialistId: string): Promise<{ handoffs: SpecialistDefinition[]; consultations: SpecialistDefinition[]; related: SpecialistDefinition[]; }>; /** * Get specialist suggestions for a given context or problem */ suggestSpecialist(context: string, problemType?: string): Promise<SpecialistDefinition[]>; /** * Get statistics about loaded specialists */ getStatistics(): { total_specialists: number; teams: Record<string, number>; domains: Record<string, number>; average_collaborators: number; }; } //# sourceMappingURL=specialist-loader.d.ts.map