/** * Search Coordination Service * Orchestrates all types of search operations including hybrid, BM25, vector, and intelligent search */ import { JinaApiService } from './JinaApiService.js'; import { TurbopufferService } from './TurbopufferService.js'; export interface SearchOptions { limit?: number; vectorWeight?: number; bm25Weight?: number; fileTypes?: string[]; offset?: number; enableReranking?: boolean; } export interface SearchResult { id: string; score: number; content: string; filePath: string; startLine: number; endLine: number; symbols: string[]; language: string; similarity?: number; connections?: { imports: string[]; exports: string[]; relatedFiles: string[]; }; } export interface SearchResponse { success: boolean; results: SearchResult[]; searchTime: number; strategy: string; metadata?: { vectorResults?: number; bm25Results?: number; totalMatches?: number; reranked?: boolean; }; } export interface IntelligentSearchResponse { success: boolean; results: any[]; totalResults: number; searchTimeMs: number; message: string; } export declare class SearchCoordinationService { private jinaApiService; private turbopufferService; private connectionExtractor; private logger; constructor(jinaApiService: JinaApiService, turbopufferService: TurbopufferService, connectionExtractor: (filePath: string, content: string) => Promise, loggerName?: string); /** * Advanced hybrid search combining vector similarity and BM25 full-text search */ searchHybrid(namespace: string, query: string, options?: SearchOptions): Promise; /** * Pure BM25 full-text search using Turbopuffer */ searchBM25(namespace: string, query: string, options?: SearchOptions): Promise; /** * Vector similarity search */ searchVector(namespace: string, query: string, limit?: number): Promise; /** * Symbol-based vector search */ searchVectorBySymbols(namespace: string, symbols: string[], limit?: number): Promise; /** * Intelligent search with automatic namespace detection */ searchWithIntelligence(query: string, codebasePath: string | undefined, indexedCodebases: Map, maxResults?: number): Promise; /** * Check if search services are available */ isAvailable(): boolean; /** * Get search service status */ getStatus(): { jinaAvailable: boolean; turbopufferAvailable: boolean; overallAvailable: boolean; }; } //# sourceMappingURL=SearchCoordinationService.d.ts.map