/** * SQLite Database Adapter using node:sqlite * * Keeps the existing DatabaseAdapter surface while avoiding external native addon installation. */ import { DatabaseAdapter, type VectorSearchResult, type RunResult } from './base-adapter.js'; import { type Statement } from './statement.js'; interface SQLiteAdapterConfig { dbPath?: string; } interface NodeSQLiteDatabaseLike { exec(sql: string): void; close(): void; prepare(sql: string): NodeSQLiteStatementLike; } interface NodeSQLiteStatementLike { all: (...params: unknown[]) => unknown[]; get: (...params: unknown[]) => unknown; run: (...params: unknown[]) => { changes: number; lastInsertRowid: number | bigint; }; } declare class NodeSQLiteConnection { private db; private connected; private isBetterSQLite3; constructor(db: NodeSQLiteDatabaseLike); prepare(sql: string): NodeSQLiteStatementLike; exec(sql: string): void; pragma(sql: string, options?: { simple?: boolean; }): unknown; close(): void; get open(): boolean; } export declare class NodeSQLiteAdapter extends DatabaseAdapter { private config; private db; private _vectorSearchEnabled; private vectorCache; private topicCache; constructor(config?: SQLiteAdapterConfig); get vectorSearchEnabled(): boolean; getDbPath(): string; connect(): NodeSQLiteConnection; reloadVectorCache(): void; private loadVectorCache; disconnect(): void; isConnected(): boolean; prepare(sql: string): Statement; exec(sql: string): void; transaction(fn: () => T): T; vectorSearch(embedding: Float32Array | number[], limit?: number, topicPrefix?: string): VectorSearchResult[] | null; insertEmbedding(rowid: number, embedding: Float32Array | number[]): RunResult | null; getLastInsertRowid(): number; runMigrations(migrationsDir: string): void; private repairSkippedFeatureMigrations; private applyRepairMigration; private recoverMemoryProvenanceMigration032; private assertMigration032Complete; private recoverConnectorEventScopeMigration034; private assertMigration034Complete; private tableColumns; private tableExists; private indexExists; private migrateFromVssMemories; } export default NodeSQLiteAdapter; //# sourceMappingURL=node-sqlite-adapter.d.ts.map