/** * Spec-09 — repo cache + fetch layer. * * Materializes a manifest repo into a gitignored cache, checked out at exactly its * pinned SHA. Determinism guarantees (spec-09 §2): * - A warm, valid cache entry makes NO network calls. * - After checkout, the resolved HEAD MUST equal the pinned SHA — a moved tag or * rewritten history fails loudly; it never silently changes inputs. * - When a repo is absent and the network is unavailable, fetch SKIPS with a * single explicit log line — never a silent pass. */ import { FixtureRepo } from './fixture-repos.js'; /** Gitignored cache directory. Override with OPENLORE_LIVE_CACHE_DIR. */ export declare function cacheDir(): string; export type FetchStatus = 'ready' | 'skipped'; export interface FetchResult { entry: FixtureRepo; /** Absolute path to the checked-out repo (only valid when status === 'ready'). */ dir: string; status: FetchStatus; /** Present when skipped — the single explicit reason. */ reason?: string; } /** * Ensure the repo is present at its pinned SHA. Returns 'ready' with a usable dir, * or 'skipped' with a loud reason (placeholder SHA, or network unavailable). * * Throws ONLY on the integrity violation: a successful fetch whose HEAD does not * equal the pinned SHA. That must never be swallowed. */ export declare function ensureRepo(entry: FixtureRepo): Promise; //# sourceMappingURL=repo-cache.d.ts.map