/** * Isolated profile warm-up (plan Phase 2, R-C3). * * Aggressive real-profile reuse seeds a session with the user's cookies / * localStorage / cache. To stay safe (never lock or corrupt the live browser * session) we NEVER bind the source profile directly: we copy an allowlisted * subset of artifacts into an ephemeral, isolated directory and drive Chromium * against that copy. Chromium single-instance lock files (SingletonLock/Socket/ * Cookie) are explicitly excluded so the isolated copy can never contend with a * running browser. * * This module is pure filesystem logic (no browser, no network) so it is * deterministically unit-testable. */ /** Chromium single-instance lock artifacts — must never be copied. */ export declare const CHROME_LOCK_ARTIFACTS: readonly ["SingletonLock", "SingletonSocket", "SingletonCookie"]; /** * Profile-relative artifacts worth seeding for warm-up. Kept intentionally * small: session state (cookies, storage) plus a light cache. Anything not * listed is skipped, which also keeps the isolated copy cheap. */ export declare const WARMUP_ARTIFACTS: readonly ["Cookies", "Cookies-journal", "Local Storage", "Session Storage", "IndexedDB", "Network", "Preferences"]; export interface WarmupManifest { sourceProfileDir: string; destDir: string; copied: string[]; skippedMissing: string[]; /** Always empty unless a lock artifact was seen (never copied). */ excludedLocks: string[]; } /** * Copy warm-up artifacts from `sourceProfileDir` into an isolated `destDir`. * * Guarantees: * - The source profile is only ever read, never written or locked. * - Chromium lock artifacts are never copied (recorded in `excludedLocks`). * - Missing artifacts are skipped, not fatal (recorded in `skippedMissing`). */ export declare function collectWarmupArtifacts(sourceProfileDir: string, destDir: string): WarmupManifest;