bc-code-intelligence-mcp
Version:
BC Code Intelligence MCP Server - Complete Specialist Bundle with AI-driven expert consultation, seamless handoffs, and context-preserving workflows
97 lines • 3.64 kB
TypeScript
/**
* Intelligent Search Engine with AI-Powered Recommendations
*
* Advanced search capabilities including semantic search, context understanding,
* intelligent topic recommendations, and learning from user patterns.
*/
import { AtomicTopic, TopicSearchResult } from '../types/bc-knowledge.js';
export interface SearchContext {
user_code_context?: string;
current_domain?: string;
difficulty_preference?: 'beginner' | 'intermediate' | 'advanced' | 'expert';
recent_topics?: string[];
user_skill_level?: number;
project_type?: 'new' | 'maintenance' | 'optimization' | 'migration';
}
export interface SmartSearchResult extends TopicSearchResult {
relevance_reasons: string[];
learning_path_position?: number;
prerequisite_satisfaction_score?: number;
difficulty_match_score?: number;
context_relevance_score?: number;
recommendation_strength?: 'high' | 'medium' | 'low';
}
export interface TopicRecommendation {
topic_id: string;
title: string;
reason: string;
confidence: number;
type: 'prerequisite' | 'related' | 'next_step' | 'alternative' | 'deep_dive';
estimated_value: number;
}
export interface LearningPath {
path_id: string;
name: string;
description: string;
topics: Array<{
topic_id: string;
position: number;
is_required: boolean;
estimated_time: string;
}>;
total_estimated_time: string;
difficulty_progression: string[];
success_criteria: string[];
}
export declare class IntelligentSearchEngine {
private readonly enableSemanticSearch;
private readonly enableLearningRecommendations;
private readonly maxSearchHistory;
private searchIndex;
private topicRelationships;
private searchHistory;
private userPreferences;
constructor(enableSemanticSearch?: boolean, enableLearningRecommendations?: boolean, maxSearchHistory?: number);
/**
* Build intelligent search index from topics
*/
buildSearchIndex(topics: AtomicTopic[]): void;
/**
* Perform intelligent search with context awareness
*/
intelligentSearch(query: string, context: SearchContext, limit?: number): Promise<SmartSearchResult[]>;
/**
* Generate intelligent topic recommendations based on context
*/
getTopicRecommendations(currentTopic: string, context: SearchContext, maxRecommendations?: number): Promise<TopicRecommendation[]>;
/**
* Generate personalized learning path
*/
generateLearningPath(goal: string, context: SearchContext): Promise<LearningPath>;
/**
* Update user preferences based on interaction patterns
*/
updateUserPreferences(viewedTopics: string[], positiveInteractions: string[], negativeInteractions?: string[]): void;
private processSearchQuery;
private calculateRelevanceReasons;
private calculateLearningPathPosition;
private calculatePrerequisiteSatisfaction;
private calculateDifficultyMatch;
private calculateContextRelevance;
private calculateRecommendationStrength;
private reRankResults;
private buildTopicRelationships;
private extractCodeKeywords;
private topicToSearchResult;
private trackSearch;
private generatePrerequisiteRecommendations;
private generateNextStepRecommendations;
private generateAlternativeRecommendations;
private generateDeepDiveRecommendations;
private calculateRecommendationScore;
private findPathTopics;
private calculateTotalTime;
private calculateDifficultyProgression;
private generateSuccessCriteria;
}
//# sourceMappingURL=intelligent-search.d.ts.map