export function toCodeModeJsonSafe(value: unknown): unknown { if (value === undefined) { return null; } try { const serialized = JSON.stringify(value); return serialized === undefined ? null : (JSON.parse(serialized) as unknown); } catch { if (value instanceof Error) { return { name: value.name, message: value.message }; } if (value === null) { return null; } switch (typeof value) { case "string": case "number": case "boolean": return value; case "bigint": case "symbol": case "function": return String(value); default: return Object.prototype.toString.call(value); } } }