/** * postgres-mcp - Sandbox Factory * * Mode selection factory for choosing between VM and Worker sandboxes. * Allows runtime configuration of the sandbox mode. */ import type { SandboxOptions, PoolOptions, SandboxResult } from "./types.js"; /** Available sandbox modes */ export type SandboxMode = "vm" | "worker"; /** Common sandbox interface */ export interface ISandbox { execute(code: string, bindings: Record, timeoutMs?: number): Promise; } /** Common pool interface */ export interface ISandboxPool { execute(code: string, bindings: Record, timeoutMs?: number): Promise; getActiveCount?: () => number; readonly poolId?: string; } /** Information about a sandbox mode */ export interface SandboxModeInfo { mode: SandboxMode; description: string; securityLevel: "basic" | "production"; isolation: string; } /** * Set the default sandbox mode for new sandbox instances. */ export declare function setDefaultSandboxMode(mode: SandboxMode): void; /** * Get the current default sandbox mode. */ export declare function getDefaultSandboxMode(): SandboxMode; /** * Get all available sandbox modes. */ export declare function getAvailableSandboxModes(): SandboxMode[]; /** * Create a sandbox instance for the specified mode. * * Note: VM-based sandbox uses static factory (CodeModeSandbox.create()), * worker-based sandbox uses constructor (new WorkerSandbox()). */ export declare function createSandbox(mode?: SandboxMode, options?: SandboxOptions): ISandbox; /** * Create a sandbox pool for the specified mode. * * Note: VM-based pool uses (poolOptions, sandboxOptions) arg order, * worker-based pool uses (sandboxOptions, poolOptions) arg order. * This factory normalizes the interface. */ export declare function createSandboxPool(mode?: SandboxMode, sandboxOptions?: SandboxOptions, poolOptions?: PoolOptions): ISandboxPool; /** * Get information about a sandbox mode. */ export declare function getSandboxModeInfo(mode?: SandboxMode): SandboxModeInfo; //# sourceMappingURL=sandbox-factory.d.ts.map