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
TypeScript
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;
}