UNPKG

@dorothywebb/any-browser-mcp

Version:

Any Browser MCP - Launch Chrome with your actual data in debug mode for comprehensive browser automation

86 lines 2.67 kB
/** * Lazy Browser Manager - Only connects when MCP tools are actually used * Prevents any browser connections during VS Code startup */ import { ConnectionState, PageInfo, BrowserActionResult } from '../types/index.js'; export declare enum InitializationState { NOT_INITIALIZED = "not_initialized", INITIALIZING = "initializing", READY = "ready", FAILED = "failed" } export declare class LazyBrowserManager { private connection; private initState; private config; private initPromise; private lastError; private connectionPool; private resourceManager; constructor(); /** * Check if manager is ready (initialized and connected) */ isReady(): boolean; /** * Get current status without triggering initialization */ getStatus(): { state: InitializationState; connected: boolean; connectionState?: ConnectionState; lastError?: string; }; /** * Initialize connection pool for performance optimization */ private initializeConnectionPool; /** * Initialize connection to browser (lazy - only when first needed) * This is the ONLY method that actually connects to browser */ ensureConnection(): Promise<void>; /** * Perform the actual browser connection */ private performInitialization; /** * Execute a browser action, ensuring connection is established first * This is the main entry point for all browser operations */ executeAction<T>(actionName: string, action: () => Promise<T>): Promise<T>; /** * Send command to browser (with lazy initialization) */ sendCommand(method: string, params?: any): Promise<any>; /** * Get available pages (with lazy initialization) */ getPages(): Promise<PageInfo[]>; /** * Navigate to URL (with lazy initialization) */ navigate(url: string): Promise<BrowserActionResult>; /** * Take screenshot (with lazy initialization) */ screenshot(): Promise<BrowserActionResult>; /** * Click element (with lazy initialization) */ click(selector: string, options?: any): Promise<BrowserActionResult>; /** * Type text (with lazy initialization) */ type(text: string, options?: any): Promise<BrowserActionResult>; /** * Get page content (with lazy initialization) */ getContent(selector?: string): Promise<BrowserActionResult>; /** * Disconnect and cleanup */ disconnect(): Promise<void>; } export declare function createLazyBrowserManager(): LazyBrowserManager; //# sourceMappingURL=LazyBrowserManager.d.ts.map