/** * Dashboard memory API — dreb-only global/project memory editor. * * Scope ids are derived from the server's current cwd inventory. Clients can * select only those ids; absolute target paths never cross the wire as * authority. All path handling fails closed and re-checks symlink containment * immediately before atomic replacement. */ import type { MemoryDocumentDto, MemoryListingDto, MemoryMutationResultDto, MemoryScopeDto } from "../shared/protocol.js"; export type MemoryOpLogger = (operation: string, scopeId: string, detail?: string) => void; export declare const MEMORY_INDEX_FILE = "MEMORY.md"; export declare const MAX_MEMORY_CONTENT_BYTES: number; export declare class MemoryApi { private readonly homeDir; private readonly log; constructor(homeDir: string, log: MemoryOpLogger); scopes(cwdInventory: string[]): Promise; listing(scopeId: string, cwdInventory: string[]): Promise; private listingForScope; readDocument(scopeId: string, file: string, cwdInventory: string[]): Promise; private readDocumentForScope; saveDocument(scopeId: string, file: string, body: unknown, cwdInventory: string[]): Promise; deleteEntry(scopeId: string, file: string, body: unknown, cwdInventory: string[]): Promise; private requireScope; private canonicalMemoryRootIfExists; private requireCanonicalMemoryRoot; private resolveExistingTarget; private resolveExistingTargetWithinRoot; } //# sourceMappingURL=memories.d.ts.map