Files
openclaw/extensions/browser/plugin-registration.ts
2026-04-07 23:52:55 +01:00

41 lines
1.3 KiB
TypeScript

import type {
OpenClawPluginApi,
OpenClawPluginNodeHostCommand,
OpenClawPluginToolContext,
OpenClawPluginToolFactory,
} from "openclaw/plugin-sdk/plugin-entry";
import {
collectBrowserSecurityAuditFindings,
createBrowserPluginService,
createBrowserTool,
handleBrowserGatewayRequest,
registerBrowserCli,
runBrowserProxyCommand,
} from "./register.runtime.js";
export const browserPluginReload = { restartPrefixes: ["browser"] };
export const browserPluginNodeHostCommands: OpenClawPluginNodeHostCommand[] = [
{
command: "browser.proxy",
cap: "browser",
handle: runBrowserProxyCommand,
},
];
export const browserSecurityAuditCollectors = [collectBrowserSecurityAuditFindings];
export function registerBrowserPlugin(api: OpenClawPluginApi) {
api.registerTool(((ctx: OpenClawPluginToolContext) =>
createBrowserTool({
sandboxBridgeUrl: ctx.browser?.sandboxBridgeUrl,
allowHostControl: ctx.browser?.allowHostControl,
agentSessionKey: ctx.sessionKey,
})) as OpenClawPluginToolFactory);
api.registerCli(({ program }) => registerBrowserCli(program), { commands: ["browser"] });
api.registerGatewayMethod("browser.request", handleBrowserGatewayRequest, {
scope: "operator.write",
});
api.registerService(createBrowserPluginService());
}