UNPKG

navflow-browser-server

Version:

Standalone Playwright browser server for NavFlow - enables browser automation with API key authentication, workspace device management, session sync, LLM discovery tools, and requires Node.js v22+

62 lines 2.08 kB
import { BrowserManager } from './BrowserManager'; import { ScreenShareService } from './ScreenShareService'; import { HumanLoopBannerService } from './HumanLoopBannerService'; export declare class FlowExecutor { private browserManager; private screenShareService; private humanLoopBannerService; private deviceApiKey?; private proxyServerUrl?; private wsClients; constructor(browserManager: BrowserManager, screenShareService?: ScreenShareService, humanLoopBannerService?: HumanLoopBannerService, deviceApiKey?: string, proxyServerUrl?: string); addWebSocketClient(ws: any): void; removeWebSocketClient(ws: any): void; private broadcastToClients; private log; executeFlow(flow: any, config?: { headless?: boolean; viewport?: { width: number; height: number; }; browserType?: 'chromium' | 'firefox' | 'webkit'; userAgent?: string; timeout?: number; slowMo?: number; stealth?: boolean; customArgs?: string; keepBrowserOpen?: boolean; args?: string[]; proxy?: { enabled: boolean; host?: string; port?: string; username?: string; password?: string; }; }, userContext?: { userId?: string; sessionName?: string; }, userInputVariables?: Record<string, any>, stepScreenshots?: boolean): Promise<any>; private executeNode; private executeBrowserAction; private executeAPICall; private executeHumanInLoop; private resolveVariable; private resolveVariables; private extractScreenshots; private topologicalSort; /** * Find the start node of the flow (node with no incoming edges) */ private findStartNode; /** * Execute flow starting from a specific node with conditional branching */ private executeFlowFromNode; /** * Get next nodes based on current node and optional handle ID */ private getNextNodes; } //# sourceMappingURL=FlowExecutor.d.ts.map