refactor: route browser control via gateway/node

This commit is contained in:
Peter Steinberger
2026-01-27 03:23:42 +00:00
parent b151b8d196
commit e7fdccce39
91 changed files with 1909 additions and 1608 deletions

View File

@@ -9,7 +9,19 @@ export async function startBrowserControlServerIfEnabled(): Promise<BrowserContr
// Lazy import: keeps startup fast, but still bundles for the embedded
// gateway (bun --compile) via the static specifier path.
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 };
const mod = override ? await import(override) : await import("../browser/control-service.js");
const start =
typeof (mod as { startBrowserControlServiceFromConfig?: unknown })
.startBrowserControlServiceFromConfig === "function"
? (mod as { startBrowserControlServiceFromConfig: () => Promise<unknown> })
.startBrowserControlServiceFromConfig
: (mod as { startBrowserControlServerFromConfig?: () => Promise<unknown> })
.startBrowserControlServerFromConfig;
const stop =
typeof (mod as { stopBrowserControlService?: unknown }).stopBrowserControlService === "function"
? (mod as { stopBrowserControlService: () => Promise<void> }).stopBrowserControlService
: (mod as { stopBrowserControlServer?: () => Promise<void> }).stopBrowserControlServer;
if (!start) return null;
await start();
return { stop: stop ?? (async () => {}) };
}