Files
Peter Steinberger b5d5ec340f feat(cloud-workers): add desktop apps and browser autonomy (#121475)
* feat(cloud-workers): add desktop apps and browser autonomy

provider-attested Browser/Terminal launchers, shared visible loopback CDP Browser tool, no MCP/cookies/generic command.

* feat(ui): add cloud desktop app launcher

* docs(gateway): document cloud desktop apps and browser autonomy

* perf(ui): trim desktop launcher startup copy

* refactor(ui): simplify desktop launch feedback

* perf(ui): reuse desktop app labels

* fix(ui): keep desktop launch failures actionable

* fix(crabbox): allow browser bootstrap to finish

* fix(cloud-workers): honor provider provision budgets

* fix(cloud-workers): persist browser screenshot receipts

* fix(cloud-workers): bound browser screenshot lifecycle

* fix(cloud-workers): avoid replaying desktop launches

* test(cloud-workers): isolate browser runtime integration

* refactor(cloud-workers): tighten desktop runtime boundaries

* test(cloud-workers): keep browser runtime mock synchronous

* fix(cloud-workers): break gateway type import cycle

* fix(ci): settle admitted setup sessions in tests

* build(plugin-sdk): refresh desktop app contract

* ci: refresh merge-tree validation

* build(plugin-sdk): regenerate desktop app baseline

* style(gateway): format merged method order test
2026-08-10 20:31:07 -07:00

101 lines
2.9 KiB
TypeScript

/**
* Browser runtime API barrel. It exposes the full Browser runtime surface for
* plugin consumers while keeping the entrypoint itself declarative.
*/
export { createBrowserTool } from "./src/browser-tool.js";
export {
createAttachedBrowserToolRuntime,
type AttachedBrowserToolRuntime,
type CreateAttachedBrowserToolRuntimeParams,
} from "./src/attached-browser-tool-runtime.js";
export {
applyBrowserProxyPaths,
browserAct,
browserArmDialog,
browserArmFileChooser,
type BrowserBridge,
browserCloseTab,
browserConsoleMessages,
browserCreateProfile,
type BrowserCreateProfileResult,
browserDeleteProfile,
type BrowserDeleteProfileResult,
browserDoctor,
type BrowserDoctorCheck,
type BrowserDoctorReport,
type BrowserExecutable,
browserFocusTab,
type BrowserFormField,
browserNavigate,
browserOpenTab,
browserPdfSave,
browserProfiles,
browserResetProfile,
type BrowserResetProfileResult,
type BrowserRouteRegistrar,
browserScreenshotAction,
type BrowserServerState,
browserSnapshot,
browserStart,
browserStatus,
type BrowserStatus,
browserStop,
type BrowserTab,
browserTabAction,
browserTabs,
type BrowserTransport,
closeTrackedBrowserTabsForSessions,
createBrowserControlContext,
createBrowserRouteContext,
createBrowserRouteDispatcher,
createBrowserRuntimeState,
DEFAULT_AI_SNAPSHOT_MAX_CHARS,
DEFAULT_BROWSER_EVALUATE_ENABLED,
DEFAULT_OPENCLAW_BROWSER_COLOR,
DEFAULT_OPENCLAW_BROWSER_PROFILE_NAME,
DEFAULT_UPLOAD_DIR,
ensureBrowserControlAuth,
getBrowserControlState,
getBrowserProfileCapabilities,
installBrowserAuthMiddleware,
installBrowserCommonMiddleware,
isPersistentBrowserProfileMutation,
movePathToTrash,
normalizeBrowserFormField,
normalizeBrowserFormFieldValue,
normalizeBrowserRequestPath,
parseBrowserMajorVersion,
persistBrowserProxyFiles,
type ProfileStatus,
readBrowserVersion,
redactCdpUrl,
registerBrowserRoutes,
resolveBrowserConfig,
resolveBrowserControlAuth,
type ResolvedBrowserConfig,
type ResolvedBrowserProfile,
resolveExistingPathsWithinRoot,
resolveGoogleChromeExecutableForPlatform,
resolveProfile,
resolveRequestedBrowserProfile,
runBrowserProxyCommand,
type SnapshotResult,
startBrowserBridgeServer,
startBrowserControlServiceFromConfig,
stopBrowserBridgeServer,
stopBrowserControlService,
stopBrowserRuntime,
trackSessionBrowserTab,
untrackSessionBrowserTab,
} from "./src/browser-runtime.js";
export { registerBrowserCli } from "./src/cli/browser-cli.js";
export { createBrowserPluginService } from "./src/plugin-service.js";
export { handleBrowserGatewayRequest } from "./src/gateway/browser-request.js";
export { browserHandlers } from "./src/gateway/browser-request.js";
export {
definePluginEntry,
type OpenClawPluginApi,
type OpenClawPluginToolContext,
type OpenClawPluginToolFactory,
} from "openclaw/plugin-sdk/plugin-entry";