/** * Lexical + semantic retrieval, fused. * * Lexical search (names, stemmed summaries) is exact and fast but only finds * what shares words with the query. Embeddings find "which agent should handle * a task" -> `pickAgents` but blur exact identifiers. Reciprocal-rank fusion * keeps the strengths of both; the weights follow the query's style, and an * exact name match is always pinned first. * * Degrades to plain lexical search when no embedder is supplied, nothing has * been embedded yet, or the query only concerns documentation. */ import type Database from 'better-sqlite3'; import { type Embedder } from '../embeddings/store.js'; import { type GraphSearchOptions, type GraphSearchResult } from './hybrid-query.js'; export interface FusedSearchOptions extends GraphSearchOptions { embedder?: Embedder | null; } /** A single token (`UserService`, `agent-pick`, `fts-store.ts`) is a name, not a question. */ export declare function isIdentifierQuery(query: string): boolean; export declare function searchGraphFused(db: Database.Database, query: string, options?: FusedSearchOptions): Promise; //# sourceMappingURL=fused-search.d.ts.map