import type { ToolDefinition, ToolConstraints, ToolTestResult } from './types.js'; export interface SandboxRequest { readonly toolId: string; readonly entryPoint: string; readonly functionName: string; readonly input: unknown; readonly constraints: ToolConstraints; } export interface SandboxResponse { readonly status: 'success' | 'error' | 'timeout' | 'constraint_violation'; readonly output?: unknown; readonly error?: string; readonly durationMs: number; readonly memoryUsageMb?: number; readonly networkAttempts?: readonly string[]; readonly filesystemWrites?: readonly string[]; } export declare class ToolSandbox { private sandboxDir; constructor(sandboxBaseDir?: string); /** * Execute a tool in a sandboxed child process. * Enforces all constraints from the ToolDefinition. */ execute(request: SandboxRequest): Promise; /** * Run a full test suite against a tool: happy path, malformed input, * timeout behavior, and constraint compliance. */ runTestSuite(tool: ToolDefinition, toolSourceDir: string): Promise<{ happy_path: ToolTestResult; malformed_input: ToolTestResult; timeout_behavior: ToolTestResult; constraint_compliance: ToolTestResult; }>; private forkAndRun; private generateRunnerScript; private runSingleTest; private runTimeoutTest; private runConstraintComplianceTest; private generateHappyPathInput; private generateMalformedInput; }