/** * `cleo doctor` row `sync_sealer` (journal spec §2.5, §4.4; T13036). * * Read-only. It opens the project `cleo.db` as a snapshot and reports: * - the capture backlog head: live captures, the oldest one's seq and age * (a head that stays put across seals is stuck, and `sealPending` names * the reason in `pending`); * - quarantined captures per table (`_sync_quarantine`): those tables are * suspect until the repair diff re-derives them (S3d); * - a persisted sync flag that is still unreleased: the sealer refuses it, * but its presence means something wrote it outside `setSyncFlag`. * * A store without the sealer tables reports `ok`: nothing to seal. * * @module * @task T13036 */ /** The `sync_sealer` row of `cleo doctor`. */ export interface SyncSealerDoctorCheck { readonly check: 'sync_sealer'; readonly status: 'ok' | 'warning' | 'error'; readonly message: string; readonly details?: Record; readonly fix?: string; } /** What {@link inspectSyncSealer} found. */ export interface SyncSealerReport { readonly dbPath: string; readonly storeExists: boolean; /** The sealer tables exist. */ readonly sealerInstalled: boolean; readonly backlog: { readonly live: number; readonly oldestSeq: number | null; readonly oldestAtMs: number | null; }; /** Quarantined captures per table: those tables are suspect. */ readonly quarantined: Readonly>; /** Unreleased sync flags that are persisted on. */ readonly unreleasedOn: readonly string[]; } /** A backlog head older than this is reported as a warning. */ export declare const SEAL_BACKLOG_STALE_MS: number; /** Inspect the project store's sealer state. Read-only. */ export declare function inspectSyncSealer(projectRoot: string): SyncSealerReport; /** The `sync_sealer` row of the default `cleo doctor` report. */ export declare function syncSealerDoctorCheck(projectRoot: string, now?: () => number): SyncSealerDoctorCheck; //# sourceMappingURL=sync-sealer.d.ts.map