/** * Anchored-memory (notes) store — CRUD for .openlore/memory/notes.json. * (change: add-code-anchored-memory-staleness) * * Deliberately separate from the decision store and commit gate: a `remember` * note is a durable, code-anchored fact, not an architectural decision, and must * never touch the consolidation/sync pipeline. Shared by the remember/recall * handlers and the memory-staleness drift detector. */ import type { MemoryStore, StructuralAnchor } from '../../types/index.js'; export declare function memoryDir(rootPath: string): string; export declare function loadMemoryStore(rootPath: string): Promise; export declare function saveMemoryStore(rootPath: string, store: MemoryStore): Promise; /** * Concurrency-safe read-modify-write of the memory store. Loads, applies * `mutate` (a pure id-keyed merge), and commits under compare-and-swap so that * two concurrent `remember` calls never lose a write — on a conflict the mutate * is re-applied to the newer store. (harden-memory-integrity-invariant) */ export declare function updateMemoryStore(rootPath: string, mutate: (store: MemoryStore) => MemoryStore): Promise; /** * Stable 8-char id derived from content + resolved anchors * (add-bitemporal-typed-memory-operations). Re-recording the same fact about the same * code yields the same id (updates in place); the same content on a different anchor is * a distinct record. Keying on anchors, not the record timestamp, is what makes dedup * exact and deterministic. */ export declare function makeMemoryId(content: string, anchors: readonly StructuralAnchor[]): string; //# sourceMappingURL=memory-store.d.ts.map