export interface SandboxConfig { provider: "e2b"; template?: string; timeout?: number; repository?: string; token?: string; session?: string; autoCommit?: boolean; envs?: Record; } /** * Wraps the gitmachine GitMachine + Machine instances. * Types are `any` because gitmachine is an optional peer dependency * loaded via dynamic import — we don't have compile-time types. */ export interface SandboxContext { /** GitMachine instance (gitmachine) — provides run(), commit(), start(), stop() */ gitMachine: any; /** Underlying Machine instance — provides readFile(), writeFile() */ machine: any; /** Absolute path to the repo root inside the sandbox (e.g. /home/user/repo) */ repoPath: string; } /** * Create a SandboxContext by dynamically importing gitmachine. * Throws a clear error if gitmachine is not installed. */ export declare function createSandboxContext(config: SandboxConfig, dir: string): Promise;