/** * SQLite-backed embedding index with FTS5 keyword search. * * Implements the `IndexStore` interface plus an optional `keywordSearch()` * for hybrid retrieval. Vectors are stored as Float32 BLOBs; cosine similarity * is computed in-process over all rows (brute force). FTS5 provides BM25-ranked * keyword search over chunk content, symbol name, and file path. * * Design notes: * - One DB per project at `.forge/embeddings.db`, isolated from graph.db. * - Schema is created idempotently on open. * - All writes run inside transactions for durability and speed. * - Cosine search remains O(N); acceptable up to ~100k chunks. If needed, * swap in an ANN index later without changing the public interface. */ import type { IndexStore, SearchResult } from './index-store'; export interface SqliteIndexStore extends IndexStore { /** Keyword (BM25) search via FTS5. Empty query returns []. */ keywordSearch(query: string, topK?: number): SearchResult[]; /** Close the underlying database. */ close(): void; } export declare function createSqliteIndexStore(dbPath: string): SqliteIndexStore; //# sourceMappingURL=fts-store.d.ts.map