/** * Replay Sandbox: creates an isolated workspace for deterministic replay. * * Three modes: * - current: run in cwd (no isolation, fast) * - strict: git worktree at exact commit, falls back to artifact files/ * - branch: git worktree at branch tip, falls back to current */ export interface SandboxOptions { mode: 'current' | 'strict' | 'branch'; originalWorkingDir: string; artifactPath: string; gitCommit?: string; gitBranch?: string; /** Optional pre-created directory to place the sandbox into */ targetDir?: string; /** Override source directory — use current dir's git repo instead of captured path */ sourceDir?: string; } export interface SandboxResult { workingDirectory: string; tempDir?: string; needsCleanup: boolean; /** True when git checkout failed and we fell back to the artifact's files/ snapshot */ usedFallback?: boolean; /** Reason for fallback (for user messaging) */ fallbackReason?: string; /** Source of files: 'git-worktree' | 'git-clone' | 'artifact-files' | 'original-path' */ sourceType?: string; } /** * Creates a sandbox workspace for replay. */ export declare function createSandbox(options: SandboxOptions): Promise; /** * Removes the sandbox temp directory. */ export declare function cleanupSandbox(result: SandboxResult): void; //# sourceMappingURL=sandbox.d.ts.map