/** * MAMA Memory Store - Compatibility Wrapper * * This file now serves as a compatibility layer that re-exports db-manager functions. * The actual database logic has been moved to db-manager.js which supports both * SQLite (local development) and PostgreSQL (Railway production). * * Migration Note: * - Old: memory-store.js directly used better-sqlite3 + sqlite-vss * - New: memory-store.js → db-manager.js → db-adapter (SQLite or PostgreSQL) * * All MAMA modules can continue to require('memory-store') without changes. * * @module memory-store * @version 2.0 * @date 2025-11-17 */ import * as dbManager from './db-manager.js'; import type { PreparedStatement, VectorSearchResult } from './db-manager.js'; export type { PreparedStatement }; export interface DatabaseAdapter { prepare: (sql: string) => PreparedStatement; vectorSearchEnabled?: boolean; insertEmbedding?: (rowid: number, embedding: Float32Array | number[]) => void; vectorSearch?: (embedding: Float32Array | number[], limit: number) => Promise; transaction?: (fn: () => T) => T; } export interface DecisionForStorage { id: string; topic: string; decision: string; reasoning?: string | null; outcome?: string | null; failure_reason?: string | null; limitation?: string | null; user_involvement?: string | null; session_id?: string | null; supersedes?: string | null; superseded_by?: string | null; refined_from?: string[] | null; confidence?: number; created_at?: number; updated_at?: number; needs_validation?: number; validation_attempts?: number; last_validated_at?: number | null; usage_count?: number; trust_context?: string | null; usage_success?: number; usage_failure?: number; time_saved?: number; evidence?: string | null; alternatives?: string | null; risks?: string | null; } export interface OutcomeData { outcome?: string | null; failure_reason?: string | null; limitation?: string | null; duration_days?: number | null; confidence?: number | null; } export interface VectorSearchParams { query: string; limit?: number; threshold?: number; timeWindow?: number; } export declare const initDB: typeof dbManager.initDB; export declare const getDB: typeof dbManager.getDB; export declare const getAdapter: typeof dbManager.getAdapter; export declare const closeDB: typeof dbManager.closeDB; export declare const insertEmbedding: typeof dbManager.insertEmbedding; export declare const vectorSearch: typeof dbManager.vectorSearch; export declare const queryVectorSearch: typeof dbManager.queryVectorSearch; export declare const insertDecisionWithEmbedding: typeof dbManager.insertDecisionWithEmbedding; export declare const queryDecisionGraph: typeof dbManager.queryDecisionGraph; export declare const querySemanticEdges: typeof dbManager.querySemanticEdges; export declare const updateDecisionOutcome: typeof dbManager.updateDecisionOutcome; export declare const getPreparedStmt: typeof dbManager.getPreparedStmt; export declare const getDbPath: typeof dbManager.getDbPath; export declare const traverseDecisionChain: typeof dbManager.queryDecisionGraph; /** * Get decisions for a specific session */ export declare function getSessionDecisions(sessionId: string): Promise; /** * Increment usage success counter */ export declare function incrementUsageSuccess(decisionId: string, timeSaved?: number): Promise; /** * Increment usage failure counter */ export declare function incrementUsageFailure(decisionId: string): Promise; /** * Get decision by ID */ export declare function getDecisionById(decisionId: string): Promise; export declare const DB_PATH: string; export declare const DB_DIR: string; export declare const LEGACY_DB_PATH = "~/.spinelift/memories.db"; export declare const DEFAULT_DB_PATH = "~/.mama/memories.db"; //# sourceMappingURL=memory-store.d.ts.map