/** * OpenClaw Memory Plugin: EngramX (Hybrid Architecture) * * This plugin uses a hybrid approach: * * EngramX canister = source of truth for markdown memory files * Local SQLite = performance cache for search (vector + FTS5) * EngramX backup API = disaster recovery for the SQLite database * * How it works: * 1. Local SQLite search (memory_search / memory_get) — delegated to * OpenClaw's built-in memory-core runtime, which uses sqlite-vec * and FTS5 for sub-100ms hybrid search. Never queries the canister. * * 2. Memory file sync — pulls markdown files from the engram canister * to the local memory/ directory on startup and periodically. Local * file changes are pushed back to the canister. The existing SQLite * indexer watches these files and re-chunks/embeds automatically. * * 3. Database backup — auto-detects active databases (SQLite, QMD, * LanceDB) from openclaw.json and periodically uploads snapshots * to the engram canister's backup API for disaster recovery. * * 4. (REMOVED 2026-08-09) session-transcript auto-sync — a curated record is not a * transcript archive; see the note at the former hook site. * * 5. Supplementary engram_* tools — direct canister access for wallet, * audit log, and cross-machine memory retrieval. */ import type { OpenClawPluginApi } from 'openclaw/plugin-sdk'; declare const memoryEngramXPlugin: { id: string; name: string; description: string; kind: "memory"; configSchema: { parse(value: unknown): import("./config.js").EngramXPluginConfig; }; register(api: OpenClawPluginApi): void; }; export default memoryEngramXPlugin;