Documentation Index
Fetch the complete documentation index at: https://mintlify.com/vercel-labs/agent-browser/llms.txt
Use this file to discover all available pages before exploring further.
Powered by Mintlify
Auto-generate your docs
Key TypeScript interfaces and types for Agent Browser
Documentation Index
Fetch the complete documentation index at: https://mintlify.com/vercel-labs/agent-browser/llms.txt
Use this file to discover all available pages before exploring further.
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';