UNPKG

claude-computer-use-mcp

Version:

MCP server providing browser automation capabilities to Claude Code

112 lines 3.48 kB
import { BrowserSession } from './browser-controller.js'; export interface TabInfo { index: number; url: string; title: string; active: boolean; } export interface FormField { selector: string; value: string; type?: 'text' | 'email' | 'password' | 'number' | 'tel' | 'url' | 'search'; } export interface PerformanceMetrics { loadTime: number; domContentLoaded: number; firstContentfulPaint: number; largestContentfulPaint: number; totalBytes: number; requestCount: number; jsHeapUsedSize: number; } export interface NetworkRequest { url: string; method: string; status: number; headers: Record<string, string>; size: number; duration: number; timestamp: number; } export interface AccessibilityInfo { violations: Array<{ id: string; impact: 'minor' | 'moderate' | 'serious' | 'critical'; description: string; nodes: Array<{ target: string; html: string; }>; }>; summary: { total: number; critical: number; serious: number; moderate: number; minor: number; }; } export declare class AdvancedBrowserController { private sessions; private tabManagement; private networkLogs; private downloadPaths; constructor(sessions: Map<string, BrowserSession>); createNewTab(sessionId: string, url?: string): Promise<{ tabIndex: number; url: string; }>; switchToTab(sessionId: string, tabIndex: number): Promise<{ success: boolean; url: string; title: string; }>; closeTab(sessionId: string, tabIndex: number): Promise<{ success: boolean; }>; listTabs(sessionId: string): Promise<TabInfo[]>; fillForm(sessionId: string, formData: FormField[], submitSelector?: string): Promise<{ success: boolean; fieldsProcessed: number; }>; uploadFile(sessionId: string, fileSelector: string, filePath: string): Promise<{ success: boolean; }>; downloadFile(sessionId: string, downloadSelector: string, downloadPath?: string): Promise<{ success: boolean; filePath: string; }>; takeAdvancedScreenshot(sessionId: string, options?: { element?: string; quality?: number; format?: 'png' | 'jpeg'; clip?: { x: number; y: number; width: number; height: number; }; }): Promise<{ screenshot: string; mimeType: string; metadata: any; }>; scroll(sessionId: string, direction: 'up' | 'down' | 'left' | 'right', distance?: number): Promise<{ success: boolean; }>; dragAndDrop(sessionId: string, sourceSelector: string, targetSelector: string): Promise<{ success: boolean; }>; waitForNavigation(sessionId: string, timeout?: number, waitUntil?: 'load' | 'domcontentloaded' | 'networkidle'): Promise<{ success: boolean; url: string; }>; enableNetworkLogging(sessionId: string): Promise<{ success: boolean; }>; getNetworkLogs(sessionId: string, includeHeaders?: boolean): Promise<NetworkRequest[]>; getPerformanceMetrics(sessionId: string): Promise<PerformanceMetrics>; runAccessibilityAudit(sessionId: string, selector?: string): Promise<AccessibilityInfo>; cleanup(sessionId: string): Promise<void>; } //# sourceMappingURL=advanced-browser.d.ts.map