import { asOptionalBoolean, asOptionalString, asTrimmedString, type AcpxErrorEvent, isRecord, } from "./shared.js"; export function parseControlJsonError(value: unknown): AcpxErrorEvent | null { if (!isRecord(value)) { return null; } const error = isRecord(value.error) ? value.error : null; if (!error) { return null; } const message = asTrimmedString(error.message) || "acpx reported an error"; const codeValue = error.code; return { message, code: typeof codeValue === "number" && Number.isFinite(codeValue) ? String(codeValue) : asOptionalString(codeValue), retryable: asOptionalBoolean(error.retryable), }; }