UNPKG

remcode

Version:

Turn your AI assistant into a codebase expert. Intelligent code analysis, semantic search, and software engineering guidance through MCP integration.

115 lines (114 loc) 3.02 kB
import { SemanticSearch, SearchResult } from './semantic'; import { ProcessedQuery, QueryFilters } from './query-processor'; import { ContextExtractor } from './context-extractor'; import { SimilarityAnalyzer } from './similarity'; /** * Enhanced search result with full content and metadata */ export interface EnhancedSearchResult extends SearchResult { actualContent?: string; highlights?: string[]; relevanceExplanation?: string; fileStats?: { size: number; lastModified: Date; lineCount: number; }; contextBefore?: string; contextAfter?: string; } /** * Options for unified search */ export interface UnifiedSearchOptions { includeContext?: boolean; contextLines?: number; includeFileStats?: boolean; maxContentLength?: number; enableCaching?: boolean; cacheTimeout?: number; } /** * Result of unified search operation */ export interface UnifiedSearchResult { query: ProcessedQuery; results: EnhancedSearchResult[]; totalResults: number; searchTime: number; cached: boolean; filters: QueryFilters; } /** * Unified search engine that combines all search capabilities */ export declare class UnifiedSearch { private semanticSearch; private queryProcessor; private contextExtractor; private similarityAnalyzer; private fileCache; private queryCache; private options; constructor(semanticSearch?: SemanticSearch, options?: UnifiedSearchOptions); /** * Get the context extractor instance */ getContextExtractor(): ContextExtractor; /** * Get the similarity analyzer instance */ getSimilarityAnalyzer(): SimilarityAnalyzer; /** * Get the semantic search instance */ getSemanticSearch(): SemanticSearch; /** * Perform unified search with automatic query processing and enhancement */ search(query: string, topK?: number, additionalFilters?: QueryFilters): Promise<UnifiedSearchResult>; /** * Perform exact match search */ private performExactSearch; /** * Perform pattern-based search */ private performPatternSearch; /** * Perform context-aware search */ private performContextSearch; /** * Enhance search results with actual file content and metadata */ private enhanceSearchResults; /** * Get file content with caching */ private getFileContent; /** * Get file statistics */ private getFileStats; /** * Generate highlights for matched content */ private generateHighlights; /** * Generate explanation of why a result is relevant */ private generateRelevanceExplanation; /** * Apply filtering based on query intent */ private applyIntentBasedFiltering; /** * Sort results by relevance considering multiple factors */ private sortResultsByRelevance; /** * Clean old cache entries */ private cleanCache; }