import { format } from "node:util"; import type { RuntimeEnv } from "../runtime.js"; type LoggerLike = { info: (message: string) => void; error: (message: string) => void; }; export function createLoggerBackedRuntime(params: { logger: LoggerLike; exitError?: (code: number) => Error; }): RuntimeEnv { return { log: (...args) => { params.logger.info(format(...args)); }, error: (...args) => { params.logger.error(format(...args)); }, exit: (code: number): never => { throw params.exitError?.(code) ?? new Error(`exit ${code}`); }, }; }