openclaw/src/gateway/server-browser.ts

16 lines
649 B
TypeScript
Raw Normal View History

export type BrowserControlServer = {
stop: () => Promise<void>;
};
2026-01-03 18:51:25 +00:00
export async function startBrowserControlServerIfEnabled(): Promise<BrowserControlServer | null> {
2026-01-04 14:32:47 +00:00
if (process.env.CLAWDBOT_SKIP_BROWSER_CONTROL_SERVER === "1") return null;
// Lazy import: keeps startup fast, but still bundles for the embedded
// gateway (bun --compile) via the static specifier path.
2026-01-04 14:32:47 +00:00
const override = process.env.CLAWDBOT_BROWSER_CONTROL_MODULE?.trim();
const mod = override
? await import(override)
: await import("../browser/server.js");
await mod.startBrowserControlServerFromConfig();
return { stop: mod.stopBrowserControlServer };
}