Powered by Mintlify
Auto-generate your docs
Key TypeScript interfaces and types for Agent Browser
interface LaunchCommand extends BaseCommand { action: 'launch'; headless?: boolean; viewport?: { width: number; height: number } | null; browser?: 'chromium' | 'firefox' | 'webkit'; headers?: Record<string, string>; executablePath?: string; cdpPort?: number; cdpUrl?: string; autoConnect?: boolean; extensions?: string[]; profile?: string; storageState?: string; proxy?: { server: string; bypass?: string; username?: string; password?: string; }; args?: string[]; userAgent?: string; provider?: string; ignoreHTTPSErrors?: boolean; allowFileAccess?: boolean; colorScheme?: 'light' | 'dark' | 'no-preference'; downloadPath?: string; allowedDomains?: string[]; autoStateFilePath?: string; }
interface NavigateCommand extends BaseCommand { action: 'navigate'; url: string; waitUntil?: 'load' | 'domcontentloaded' | 'networkidle'; headers?: Record<string, string>; }
interface ClickCommand extends BaseCommand { action: 'click'; selector: string; button?: 'left' | 'right' | 'middle'; clickCount?: number; delay?: number; newTab?: boolean; }
interface TypeCommand extends BaseCommand { action: 'type'; selector: string; text: string; delay?: number; clear?: boolean; }
interface FillCommand extends BaseCommand { action: 'fill'; selector: string; value: string; }
interface ScreenshotCommand extends BaseCommand { action: 'screenshot'; path?: string; fullPage?: boolean; selector?: string; format?: 'png' | 'jpeg'; quality?: number; annotate?: boolean; }
interface SnapshotCommand extends BaseCommand { action: 'snapshot'; }
interface EvaluateCommand extends BaseCommand { action: 'evaluate'; script: string; args?: unknown[]; }
interface WaitCommand extends BaseCommand { action: 'wait'; selector?: string; timeout?: number; state?: 'attached' | 'detached' | 'visible' | 'hidden'; }
interface ScrollCommand extends BaseCommand { action: 'scroll'; selector?: string; x?: number; y?: number; direction?: 'up' | 'down' | 'left' | 'right'; amount?: number; }
interface EnhancedSnapshot { tree: string; refs: RefMap; }
interface RefMap { [ref: string]: { selector: string; role: string; name: string; nth?: number; }; }
interface SnapshotOptions { interactive?: boolean; cursor?: boolean; maxDepth?: number; compact?: boolean; selector?: string; }
interface SuccessResponse<T = unknown> { id: string; success: true; data: T; }
interface ErrorResponse { id: string; success: false; error: string; }
type Response<T = unknown> = SuccessResponse<T> | ErrorResponse;
interface NavigateData { url: string; title: string; }
interface ScreenshotData { path?: string; base64?: string; annotations?: Annotation[]; }
interface Annotation { ref: string; number: number; role: string; name?: string; box: { x: number; y: number; width: number; height: number }; }
interface SnapshotData { snapshot: string; refs?: Record<string, { role: string; name?: string }>; origin?: string; }
interface TabListData { tabs: TabInfo[]; active: number; } interface TabInfo { index: number; url: string; title: string; active: boolean; }
interface ScreencastFrame { data: string; // base64 encoded image metadata: { offsetTop: number; pageScaleFactor: number; deviceWidth: number; deviceHeight: number; scrollOffsetX: number; scrollOffsetY: number; timestamp?: number; }; sessionId: number; }
interface ScreencastOptions { format?: 'jpeg' | 'png'; quality?: number; // 0-100, only for jpeg maxWidth?: number; maxHeight?: number; everyNthFrame?: number; }
interface TraceEvent { cat?: string; name?: string; ph?: string; pid?: number; tid?: number; ts?: number; dur?: number; args?: Record<string, unknown>; [key: string]: unknown; }
interface IOSDeviceInfo { name: string; udid: string; state: string; runtime: string; isAvailable: boolean; isRealDevice?: boolean; }
interface IOSEnhancedSnapshot { tree: string; refs: IOSRefMap; }
interface IOSRefMap { [ref: string]: { selector: string; role?: string; name?: string; xpath?: string; }; }
interface DiffSnapshotData { diff: string; additions: number; removals: number; unchanged: number; changed: boolean; }
interface DiffScreenshotData { diffPath: string; totalPixels: number; differentPixels: number; mismatchPercentage: number; match: boolean; dimensionMismatch?: boolean; }
interface DiffUrlData { snapshot: DiffSnapshotData; screenshot?: DiffScreenshotData; }
interface CookiesSetCommand extends BaseCommand { action: 'cookies_set'; cookies: Array<{ name: string; value: string; url?: string; domain?: string; path?: string; expires?: number; httpOnly?: boolean; secure?: boolean; sameSite?: 'Strict' | 'Lax' | 'None'; }>; }
interface StorageGetCommand extends BaseCommand { action: 'storage_get'; key?: string; type: 'local' | 'session'; }
interface StorageSetCommand extends BaseCommand { action: 'storage_set'; key: string; value: string; type: 'local' | 'session'; }
interface RouteCommand extends BaseCommand { action: 'route'; url: string; response?: { status?: number; body?: string; contentType?: string; headers?: Record<string, string>; }; abort?: boolean; }
interface RequestsCommand extends BaseCommand { action: 'requests'; filter?: string; clear?: boolean; }
interface StateListCommand extends BaseCommand { action: 'state_list'; }
interface StateClearCommand extends BaseCommand { action: 'state_clear'; sessionName?: string; all?: boolean; }
interface AuthSaveCommand extends BaseCommand { action: 'auth_save'; name: string; url: string; username: string; password: string; usernameSelector?: string; passwordSelector?: string; submitSelector?: string; }
interface InputMouseCommand extends BaseCommand { action: 'input_mouse'; type: 'mousePressed' | 'mouseReleased' | 'mouseMoved' | 'mouseWheel'; x: number; y: number; button?: 'left' | 'right' | 'middle' | 'none'; clickCount?: number; deltaX?: number; deltaY?: number; modifiers?: number; }
interface InputKeyboardCommand extends BaseCommand { action: 'input_keyboard'; type: 'keyDown' | 'keyUp' | 'char'; key?: string; code?: string; text?: string; modifiers?: number; }
interface InputTouchCommand extends BaseCommand { action: 'input_touch'; type: 'touchStart' | 'touchEnd' | 'touchMove' | 'touchCancel'; touchPoints: Array<{ x: number; y: number; id?: number }>; modifiers?: number; }
import type { // Commands LaunchCommand, NavigateCommand, ClickCommand, ScreenshotCommand, SnapshotCommand, // Snapshot EnhancedSnapshot, RefMap, SnapshotOptions, // Responses Response, SuccessResponse, ErrorResponse, NavigateData, ScreenshotData, SnapshotData, // Screencast ScreencastFrame, ScreencastOptions, // iOS IOSDeviceInfo, IOSEnhancedSnapshot, IOSRefMap, // Tracing TraceEvent, } from '@agentic-labs/browser';