/** * Disk-marker blocking checkpoint mechanism. * * Writes .bober/approvals/.pending.json containing a SUMMARY of * the artifact (NOT the full artifact — perf budget 100ms), polls the directory * until .approved.json or .rejected.json appears, deletes the pending * file, and returns the matching CheckpointOutcome. Times out at a configurable * cap (default 24h, max 7d) writing a TIMEOUT marker. * * Sprint 9 — colocated in mechanisms/ per Sprint 7+8 precedent. */ import type { CheckpointArtifact, CheckpointId, CheckpointMechanism, CheckpointOutcome } from "../types.js"; export interface DiskMechanismOptions { /** Default 2000ms; configurable via pipeline.approvalPollMs */ pollMs?: number; /** Default 24h; capped at 7d via MAX_TIMEOUT_MS */ timeoutMs?: number; /** Optional runId stamped into the pending file */ runId?: string; } export declare class DiskCheckpointMechanism implements CheckpointMechanism { private readonly approvalsDir; private readonly options; private readonly now; /** * @param approvalsDir - Absolute path to .bober/approvals directory. * @param options - Polling + timeout + runId options. * @param now - Clock injection for deterministic timeout tests. * Defaults to Date.now. */ constructor(approvalsDir: string, options?: DiskMechanismOptions, now?: () => number); request(checkpoint: CheckpointId, artifact: CheckpointArtifact): Promise; } //# sourceMappingURL=disk.d.ts.map