"use strict";
/**
 * Runtime abstraction for executing tools in different environments.
 *
 * DESIGN PRINCIPLE: Keep this interface minimal and low-level.
 * - Prefer streaming primitives over buffered APIs
 * - Implement shared helpers (utils/runtime/) that work across all runtimes
 * - Avoid duplicating helper logic in each runtime implementation
 *
 * This interface allows tools to run locally, in Docker containers, over SSH, etc.
 */
Object.defineProperty(exports, "__esModule", { value: true });
exports.RuntimeError = void 0;
/**
 * Error thrown by runtime implementations
 */
class RuntimeError extends Error {
    type;
    cause;
    constructor(message, type, cause) {
        super(message);
        this.type = type;
        this.cause = cause;
        this.name = "RuntimeError";
    }
}
exports.RuntimeError = RuntimeError;
//# sourceMappingURL=Runtime.js.map