/** * Deny-list storage + agent-directed expunge helper. * * Historical note: this file once hosted `runPrune`, a four-rule autonomous * engine (orphan-delete, deny-list null, candidate-merge flag, contradiction * flag) invoked by a 03:00 cron and the `graph-prune-run` MCP tool. The * 2026-04-20 incident — one `graph-prune-run` call wiped 19 nodes via the * orphan-delete rule — ended the autonomous-rule doctrine for graph hygiene. The LLM agent now applies * discretion on what to null / delete / flag, using `memory-update`, * `memory-delete` (soft-delete), and `conversation-memory-expunge` * on a per-case basis. The operator-curated deny-list remains as a stored * signal the agent reads and reasons about; nothing auto-applies it. * * What this file still exports: * - `DenyList`, `loadDenylist`, `saveDenylist`, `denylistPath` — operator * curation storage for the `graph-prune-denylist-{add,list,remove}` tools. * Reads are advisory context for the agent, not automatic hits. * - `resolveConfigDir` — brand config-dir resolver, shared with other plugins. * - `expungeConversationMemory` — the helper behind the manual * `conversation-memory-expunge` tool. Agent-directed: caller passes a * sessionId + pattern, the helper nulls matching string properties on * `:Memory` nodes linked to that conversation. No bulk logic. */ import type { Driver } from "neo4j-driver"; export interface DenyList { values: string[]; updatedAt: string; } export declare function denylistPath(configDir: string): string; export declare function loadDenylist(configDir: string): DenyList; export declare function saveDenylist(configDir: string, list: DenyList): void; export declare function resolveConfigDir(): string; export interface ExpungeResult { sessionId: string; pattern: string; nodesScanned: number; propertiesNulled: number; affectedNodeIds: number[]; } export declare function expungeConversationMemory(driver: Driver, accountId: string, sessionId: string, pattern: string): Promise; //# sourceMappingURL=graph-prune.d.ts.map