/** * JavaScript Runtime for @moicad/sdk * * Executes user JavaScript code in a sandboxed environment. * Security features: * - Configurable timeout * - Memory monitoring * - Restricted imports (only moicad modules allowed) * - Browser-compatible execution * * Usage: * ```typescript * import { evaluateJavaScript } from '@moicad/sdk/runtime'; * * const result = await evaluateJavaScript(` * import { Shape } from '@moicad/sdk'; * export default Shape.cube(10); * `); * ``` */ import type { EvaluateResult } from '../types'; /** * Runtime options for JavaScript evaluation */ export interface RuntimeOptions { /** Execution timeout in milliseconds (default: 60000) */ timeout?: number; /** Memory limit in bytes (default: 1GB) */ memoryLimit?: number; /** List of allowed module imports (default: ['@moicad/sdk', 'moicad']) */ allowedModules?: string[]; /** Animation time parameter (0.0 to 1.0) - if provided, exported function will be called with this value */ t?: number; } /** * Evaluate JavaScript code and return Geometry * * @param code - User JavaScript code * @param options - Runtime options * @returns EvaluateResult with geometry or errors */ export declare function evaluateJavaScript(code: string, options?: RuntimeOptions): Promise; /** * Additional utilities for JavaScript evaluation */ export declare class JavaScriptRuntime { private options; /** * Create a runtime instance with custom options */ constructor(options?: RuntimeOptions); /** * Evaluate JavaScript code */ evaluate(code: string, options?: Partial): Promise; /** * Check if a code snippet is safe to evaluate */ validateCode(code: string): { isValid: boolean; errors: string[]; }; } //# sourceMappingURL=index.d.ts.map