import * as sqlite3 from 'sqlite3'; import { VssLoader } from './vss-loader'; /** * Manages VSS Virtual Table for vector similarity search. * Creates and maintains the embeddings_vss virtual table. */ export declare class VssManager { private db; private vssLoader; private vssAvailable; constructor(db: sqlite3.Database, vssLoader: VssLoader); /** * Initializes VSS Virtual Table. * Must be called after VSS extension is loaded. * * @returns Promise that resolves when VSS is initialized */ initialize(): Promise; /** * Checks if VSS virtual table exists. */ private checkTableExists; /** * Creates the VSS virtual table. */ private createVirtualTable; /** * Inserts or updates an embedding in the VSS virtual table. * VSS uses rowid to link to the embeddings table. * * @param embeddingId The embedding ID (UUID) from the embeddings table * @param embeddingVector The embedding vector as Float32Array or Buffer */ upsertEmbedding(embeddingId: string, embeddingVector: Float32Array | Buffer): Promise; /** * Gets rowid from embedding ID. */ private getRowidFromEmbeddingId; /** * Checks if a row exists in VSS virtual table. */ private checkRowExists; /** * Inserts a new embedding into VSS virtual table. * VSS expects the vector as a JSON array or BLOB. */ private insertEmbedding; /** * Deletes an embedding from VSS virtual table by embedding ID. * * @param embeddingId The embedding ID (UUID) from the embeddings table */ deleteEmbedding(embeddingId: string): Promise; /** * Deletes an embedding from VSS virtual table by rowid. */ private deleteEmbeddingByRowid; /** * Performs vector similarity search using VSS. * * @param queryVector The query embedding vector * @param limit Maximum number of results * @param dimension Optional dimension filter * @param pluginId Plugin ID filter * @returns Promise that resolves to array of {rowid, distance, similarity} pairs */ search(queryVector: number[], limit?: number, dimension?: 'X' | 'Y' | 'Z' | 'W' | 'T', pluginId?: string): Promise>; /** * Alternative VSS search syntax (fallback). */ private tryAlternativeSearch; /** * Checks if VSS is available and initialized. */ isAvailable(): boolean; } //# sourceMappingURL=vss-manager.d.ts.map