Files
moltbot/src/plugin-sdk/browser-control-auth.ts
Josh Avant 33ad806a14 Browser: consolidate duplicate helper surfaces via facade delegation (#63957)
* Plugin SDK: route browser helper surfaces through browser facade

* Browser doctor flow: add facade path regression and export parity guards

* Contracts: dedupe browser facade parity checks without reducing coverage

* Browser tests: restore host-inspection semantics coverage in extension

* fix: add changelog note for browser facade consolidation (#63957) (thanks @joshavant)
2026-04-09 19:49:04 -05:00

50 lines
1.5 KiB
TypeScript

import type { OpenClawConfig } from "../config/config.js";
import { loadBundledPluginPublicSurfaceModuleSync } from "./facade-loader.js";
export type BrowserControlAuth = {
token?: string;
password?: string;
};
type EnsureBrowserControlAuthParams = {
cfg: OpenClawConfig;
env?: NodeJS.ProcessEnv;
};
type EnsureBrowserControlAuthResult = {
auth: BrowserControlAuth;
generatedToken?: string;
};
type BrowserControlAuthSurface = {
resolveBrowserControlAuth: (cfg?: OpenClawConfig, env?: NodeJS.ProcessEnv) => BrowserControlAuth;
shouldAutoGenerateBrowserAuth: (env: NodeJS.ProcessEnv) => boolean;
ensureBrowserControlAuth: (
params: EnsureBrowserControlAuthParams,
) => Promise<EnsureBrowserControlAuthResult>;
};
function loadBrowserControlAuthSurface(): BrowserControlAuthSurface {
return loadBundledPluginPublicSurfaceModuleSync<BrowserControlAuthSurface>({
dirName: "browser",
artifactBasename: "browser-control-auth.js",
});
}
export function resolveBrowserControlAuth(
cfg?: OpenClawConfig,
env: NodeJS.ProcessEnv = process.env,
): BrowserControlAuth {
return loadBrowserControlAuthSurface().resolveBrowserControlAuth(cfg, env);
}
export function shouldAutoGenerateBrowserAuth(env: NodeJS.ProcessEnv): boolean {
return loadBrowserControlAuthSurface().shouldAutoGenerateBrowserAuth(env);
}
export async function ensureBrowserControlAuth(
params: EnsureBrowserControlAuthParams,
): Promise<EnsureBrowserControlAuthResult> {
return await loadBrowserControlAuthSurface().ensureBrowserControlAuth(params);
}