/** * Darwin — SQLite Memory Provider * * Persistent storage for experiments, prompt versions, learnings, and state. * Uses better-sqlite3 for synchronous, fast, single-file storage. * * Database location: {dataDir}/.darwin/darwin.db */ import type { DarwinConfig, DarwinExperiment, DarwinState, Learning, MemoryProvider, PromptVersion } from '../types.js'; export declare class SqliteMemoryProvider implements MemoryProvider { private db; private readonly dbPath; constructor(config: DarwinConfig); init(): Promise; close(): Promise; saveExperiment(exp: DarwinExperiment): Promise; loadExperiments(agentName: string, limit?: number): Promise; savePromptVersion(pv: PromptVersion): Promise; getActivePrompt(agentName: string): Promise; getAllPromptVersions(agentName: string): Promise; saveLearning(learning: Learning): Promise; searchLearnings(query: string, limit?: number): Promise; getState(): Promise; saveState(state: DarwinState): Promise; /** * Atomically read-modify-write the Darwin state inside a single transaction. * Prevents race conditions when multiple agents update state concurrently. * Uses BEGIN IMMEDIATE to acquire a write lock before reading. */ updateState(fn: (state: DarwinState) => DarwinState): Promise; /** Get the database connection, throw if not initialized */ private getDb; /** Create all tables and indexes */ private createTables; } //# sourceMappingURL=sqlite-memory.d.ts.map