import { a as CommandResult, d as RunOptions, f as Sandbox, g as SandboxProcess, i as CommandInput, n as CapabilityMap, o as ExposedPort, p as SandboxDirectoryEntry, s as FileValue, u as ProviderName, v as SandboxSnapshot } from "./types-Bv6I2U1c.mjs"; //#region src/core/provider.d.ts interface ProviderCreateOptions { cwd: string; env: Readonly>; timeout?: number; signal?: AbortSignal; } interface SandboxRuntime { readonly id: string; readonly raw: TRaw; readonly capabilities: CapabilityMap; files: { write(path: string, value: FileValue): Promise; read(path: string): Promise; list(path: string): Promise; mkdir(path: string): Promise; remove(path: string): Promise; exists(path: string): Promise; }; run(command: CommandInput, options: RunOptions): Promise; start(command: CommandInput, options: RunOptions): Promise; expose(port: number): Promise; snapshots: { create(options?: { name?: string; }): Promise; delete(snapshot: SandboxSnapshot | string): Promise; restore(snapshot: SandboxSnapshot | string): Promise; }; stop(): Promise; } interface SandboxProvider { readonly id: ProviderName; readonly capabilities: CapabilityMap; create(options: ProviderCreateOptions): Promise>; readonly managed?: ManagedSandboxProvider; } type SandboxNetworkPolicy = { mode: "allow-all"; } | { mode: "deny-all"; } | { mode: "native"; value: unknown; } | { mode: "custom"; allowedHosts?: readonly string[]; allowedCIDRs?: readonly string[]; deniedCIDRs?: readonly string[]; }; interface ManagedSandboxCreateOptions { readonly sessionId: string; readonly identity?: string; readonly cwd?: string; readonly env?: Readonly>; readonly ports?: ReadonlyArray; readonly signal?: AbortSignal; readonly onFirstCreate?: (sandbox: Sandbox) => void | Promise; } interface ManagedSandboxResumeOptions { readonly sessionId: string; readonly signal?: AbortSignal; } /** Optional lifecycle surface implemented by providers for durable agent sessions. */ interface ManagedSandboxSession { readonly id: string; readonly sandbox: Sandbox; readonly defaultWorkingDirectory: string; readonly ports: ReadonlyArray; getPortUrl(options: { port: number; protocol?: "http" | "https" | "ws"; }): Promise; stop(): Promise; /** Reattach or restart a session after managed stop. */ resume(): Promise; destroy(): Promise; setPorts?(ports: ReadonlyArray, options?: { signal?: AbortSignal; }): Promise; setNetworkPolicy?(policy: SandboxNetworkPolicy): Promise; } interface ManagedSandboxProvider { create(options: ManagedSandboxCreateOptions): Promise; resume(options: ManagedSandboxResumeOptions): Promise; } //#endregion export { SandboxNetworkPolicy as a, ManagedSandboxSession as i, ManagedSandboxProvider as n, SandboxProvider as o, ManagedSandboxResumeOptions as r, ManagedSandboxCreateOptions as t }; //# sourceMappingURL=provider-DOBErkBO.d.mts.map