import type { SandboxSession } from "#public/definitions/sandbox.js"; import type { SandboxEnvironmentIdentity } from "#shared/sandbox-environment.js"; import type { SandboxDeleteOptions, SandboxPreparedArtifact } from "#shared/sandbox-provider.js"; export type SandboxSessionEndReason = "completed" | "expired" | "failed"; export interface SandboxSessionState { readonly providerName: string; readonly state: SandboxPreparedArtifact; readonly stateProtocolVersion: number; } export interface SandboxState { readonly session: SandboxSessionState | null; } export interface SandboxAccess { readonly environment?: SandboxEnvironmentIdentity; captureState(): Promise; delete?(options?: SandboxDeleteOptions): Promise; get(): Promise; stop(): Promise; }