mirror of
https://github.com/harivansh-afk/sandbox-agent.git
synced 2026-04-18 11:02:11 +00:00
Integrate OpenHandoff factory workspace (#212)
This commit is contained in:
parent
3d9476ed0b
commit
bf282199b5
251 changed files with 42824 additions and 692 deletions
41
factory/packages/frontend-errors/src/client.ts
Normal file
41
factory/packages/frontend-errors/src/client.ts
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
import type { FrontendErrorContext } from "./types.js";
|
||||
|
||||
interface FrontendErrorCollectorGlobal {
|
||||
setContext: (context: FrontendErrorContext) => void;
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface Window {
|
||||
__OPENHANDOFF_FRONTEND_ERROR_COLLECTOR__?: FrontendErrorCollectorGlobal;
|
||||
__OPENHANDOFF_FRONTEND_ERROR_CONTEXT__?: FrontendErrorContext;
|
||||
}
|
||||
}
|
||||
|
||||
export function setFrontendErrorContext(context: FrontendErrorContext): void {
|
||||
if (typeof window === "undefined") {
|
||||
return;
|
||||
}
|
||||
|
||||
const nextContext = sanitizeContext(context);
|
||||
window.__OPENHANDOFF_FRONTEND_ERROR_CONTEXT__ = {
|
||||
...(window.__OPENHANDOFF_FRONTEND_ERROR_CONTEXT__ ?? {}),
|
||||
...nextContext,
|
||||
};
|
||||
window.__OPENHANDOFF_FRONTEND_ERROR_COLLECTOR__?.setContext(nextContext);
|
||||
}
|
||||
|
||||
function sanitizeContext(input: FrontendErrorContext): FrontendErrorContext {
|
||||
const output: FrontendErrorContext = {};
|
||||
for (const [key, value] of Object.entries(input)) {
|
||||
if (
|
||||
value === null ||
|
||||
value === undefined ||
|
||||
typeof value === "string" ||
|
||||
typeof value === "number" ||
|
||||
typeof value === "boolean"
|
||||
) {
|
||||
output[key] = value;
|
||||
}
|
||||
}
|
||||
return output;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue