/** * Memory Schema * SQL schema for the Monomind memory database. * Extracted from memory-initializer.ts (ARCH-4) * * @module v1/cli/memory-schema */ /** * Enhanced schema with pattern confidence, temporal decay, versioning * Vector embeddings enabled for semantic search */ export declare const MEMORY_SCHEMA = "\n-- Monomind Memory Database\n-- Version: 3.0.0\n-- Features: Pattern learning, vector embeddings, temporal decay, migration tracking\n\nPRAGMA journal_mode = WAL;\nPRAGMA synchronous = NORMAL;\nPRAGMA foreign_keys = ON;\n\n-- ============================================\n-- CORE MEMORY TABLES\n-- ============================================\n\n-- Memory entries (main storage)\nCREATE TABLE IF NOT EXISTS memory_entries (\n id TEXT PRIMARY KEY,\n key TEXT NOT NULL,\n namespace TEXT NOT NULL DEFAULT 'default',\n content TEXT NOT NULL DEFAULT '',\n type TEXT NOT NULL DEFAULT 'semantic',\n embedding TEXT,\n embedding_model TEXT DEFAULT 'local',\n embedding_dimensions INTEGER,\n confidence REAL DEFAULT 1.0,\n decay_rate REAL DEFAULT 0.01,\n importance_score REAL DEFAULT 0.5,\n access_count INTEGER DEFAULT 0,\n last_accessed_at INTEGER,\n expires_at INTEGER,\n tags TEXT,\n metadata TEXT,\n owner_id TEXT,\n agent_id TEXT,\n session_id TEXT,\n status TEXT DEFAULT 'active',\n created_at INTEGER DEFAULT (strftime('%s', 'now') * 1000),\n updated_at INTEGER DEFAULT (strftime('%s', 'now') * 1000)\n);\n\nCREATE INDEX IF NOT EXISTS idx_memory_namespace ON memory_entries(namespace);\nCREATE INDEX IF NOT EXISTS idx_memory_key ON memory_entries(key);\nCREATE INDEX IF NOT EXISTS idx_memory_type ON memory_entries(type);\nCREATE INDEX IF NOT EXISTS idx_memory_status ON memory_entries(status);\nCREATE INDEX IF NOT EXISTS idx_memory_created ON memory_entries(created_at);\nCREATE INDEX IF NOT EXISTS idx_memory_accessed ON memory_entries(last_accessed_at);\nCREATE INDEX IF NOT EXISTS idx_memory_owner ON memory_entries(owner_id);\n\n-- Pattern learning tables\nCREATE TABLE IF NOT EXISTS patterns (\n id TEXT PRIMARY KEY,\n name TEXT NOT NULL,\n pattern_type TEXT NOT NULL DEFAULT 'task-routing',\n condition TEXT NOT NULL,\n action TEXT NOT NULL,\n confidence REAL DEFAULT 0.5,\n success_count INTEGER DEFAULT 0,\n failure_count INTEGER DEFAULT 0,\n decay_rate REAL DEFAULT 0.05,\n last_matched_at INTEGER,\n status TEXT DEFAULT 'active',\n metadata TEXT,\n created_at INTEGER DEFAULT (strftime('%s', 'now') * 1000),\n updated_at INTEGER DEFAULT (strftime('%s', 'now') * 1000)\n);\n\nCREATE INDEX IF NOT EXISTS idx_patterns_type ON patterns(pattern_type);\nCREATE INDEX IF NOT EXISTS idx_patterns_confidence ON patterns(confidence);\nCREATE INDEX IF NOT EXISTS idx_patterns_status ON patterns(status);\nCREATE INDEX IF NOT EXISTS idx_patterns_last_matched ON patterns(last_matched_at);\n\n-- Pattern history for temporal analysis\nCREATE TABLE IF NOT EXISTS pattern_history (\n id TEXT PRIMARY KEY,\n pattern_id TEXT NOT NULL REFERENCES patterns(id) ON DELETE CASCADE,\n event_type TEXT NOT NULL,\n confidence_before REAL,\n confidence_after REAL,\n metadata TEXT,\n created_at INTEGER DEFAULT (strftime('%s', 'now') * 1000)\n);\n\nCREATE INDEX IF NOT EXISTS idx_pattern_history_pattern ON pattern_history(pattern_id);\n\n-- Trajectory recording for learning\nCREATE TABLE IF NOT EXISTS trajectories (\n id TEXT PRIMARY KEY,\n task_description TEXT NOT NULL,\n agent_type TEXT,\n success BOOLEAN DEFAULT FALSE,\n total_steps INTEGER DEFAULT 0,\n duration_ms INTEGER,\n metadata TEXT,\n created_at INTEGER DEFAULT (strftime('%s', 'now') * 1000),\n completed_at INTEGER\n);\n\n-- Trajectory steps\nCREATE TABLE IF NOT EXISTS trajectory_steps (\n id TEXT PRIMARY KEY,\n trajectory_id TEXT NOT NULL REFERENCES trajectories(id) ON DELETE CASCADE,\n step_number INTEGER NOT NULL,\n action TEXT NOT NULL,\n result TEXT,\n success BOOLEAN,\n duration_ms INTEGER,\n metadata TEXT,\n created_at INTEGER DEFAULT (strftime('%s', 'now') * 1000)\n);\n\nCREATE INDEX IF NOT EXISTS idx_steps_trajectory ON trajectory_steps(trajectory_id);\n\n-- Migration state tracking\nCREATE TABLE IF NOT EXISTS migration_state (\n id TEXT PRIMARY KEY,\n migration_type TEXT NOT NULL,\n source_path TEXT,\n target_path TEXT,\n status TEXT DEFAULT 'pending',\n entries_migrated INTEGER DEFAULT 0,\n errors INTEGER DEFAULT 0,\n started_at INTEGER,\n completed_at INTEGER,\n metadata TEXT,\n created_at INTEGER DEFAULT (strftime('%s', 'now') * 1000)\n);\n\n-- Session management\nCREATE TABLE IF NOT EXISTS sessions (\n id TEXT PRIMARY KEY,\n agent_id TEXT,\n metadata TEXT,\n status TEXT DEFAULT 'active',\n started_at INTEGER DEFAULT (strftime('%s', 'now') * 1000),\n ended_at INTEGER,\n summary TEXT\n);\n\n-- Vector index configuration\nCREATE TABLE IF NOT EXISTS vector_indexes (\n id TEXT PRIMARY KEY,\n name TEXT NOT NULL,\n dimensions INTEGER NOT NULL DEFAULT 768,\n hnsw_m INTEGER DEFAULT 16,\n hnsw_ef_construction INTEGER DEFAULT 200,\n entry_count INTEGER DEFAULT 0,\n created_at INTEGER DEFAULT (strftime('%s', 'now') * 1000),\n updated_at INTEGER DEFAULT (strftime('%s', 'now') * 1000)\n);\n\nCREATE TABLE IF NOT EXISTS metadata (\n key TEXT PRIMARY KEY,\n value TEXT NOT NULL,\n updated_at INTEGER DEFAULT (strftime('%s', 'now') * 1000)\n);\n"; //# sourceMappingURL=memory-schema.d.ts.map