// Global error handling for runtime errors (() => { const formatRuntimeError = (e) => { if (e instanceof Error) { let t = e.stack || "", n = e.message || "Unknown error"; return `${e.name || "Error"}: ${n}\n${t}`; } else if ("error" in e && e.error instanceof Error) { let t = e.error, n = t.stack || "", r = t.message || "Unknown error", i = "filename" in e ? e.filename : "", a = "lineno" in e ? e.lineno : "", o = "colno" in e ? e.colno : "", s = ""; return i && a && (s = ` at ${i}:${a}`, o && (s += `:${o}`)), `${t.name || "Error"}: ${r}${s}\n${n}`; } else if ("reason" in e) { let t = e.reason; if (t instanceof Error) { let e = t.stack || "", n = t.message || "Unknown error"; return `Unhandled Promise Rejection - ${t.name || "Error"}: ${n}\n${e}`; } else return `Unhandled Promise Rejection: ${String(t)}`; } else return `Unknown runtime error: ${String(e)}`; }; // Handle uncaught JavaScript errors window.addEventListener('error', (event) => { const formattedErrorMessage = formatRuntimeError(event); parent.postMessage({ type: 'runtimeError', formattedErrorMessage }, "*"); }); // Handle unhandled promise rejections window.addEventListener('unhandledrejection', (event) => { const formattedErrorMessage = formatRuntimeError(event); parent.postMessage({ type: 'runtimeError', formattedErrorMessage }, "*"); }); })();