UNPKG

insite-mcp

Version:

MCP server for browser automation with 52 tools using Playwright

90 lines 2.29 kB
/** * Type definitions for Browser MCP Server */ /** * Browser automation tool categories */ export type ToolCategory = 'navigation' | 'visual' | 'dom' | 'interaction' | 'javascript' | 'wait' | 'configuration' | 'console'; /** * Browser automation error types */ export type BrowserErrorType = 'BROWSER_NOT_INITIALIZED' | 'BROWSER_NOT_SUPPORTED' | 'PAGE_NOT_LOADED' | 'ELEMENT_NOT_FOUND' | 'NAVIGATION_FAILED' | 'TIMEOUT_ERROR' | 'JAVASCRIPT_ERROR' | 'NETWORK_ERROR' | 'INVALID_URL' | 'INVALID_SELECTOR' | 'FILE_OPERATION_ERROR'; /** * Custom error class for browser automation operations */ export declare class BrowserAutomationError extends Error { readonly type: BrowserErrorType; readonly details?: Record<string, unknown> | undefined; constructor(type: BrowserErrorType, message: string, details?: Record<string, unknown> | undefined); } /** * Tool result wrapper for consistent response format */ export interface ToolResult<T = unknown> { success: boolean; data?: T; error?: { type: BrowserErrorType; message: string; details?: Record<string, unknown>; }; } /** * Screenshot capture options */ export interface ScreenshotOptions { fullPage?: boolean; quality?: number; type?: 'png' | 'jpeg'; clip?: { x: number; y: number; width: number; height: number; }; } /** * Viewport information */ export interface ViewportInfo { width: number; height: number; devicePixelRatio: number; } /** * Element information */ export interface ElementInfo { tagName: string; id?: string; className?: string; textContent?: string; visible: boolean; enabled: boolean; boundingBox?: { x: number; y: number; width: number; height: number; }; } /** * Wait condition types */ export type WaitCondition = 'load' | 'domcontentloaded' | 'networkidle' | 'commit'; /** * Click options */ export interface ClickOptions { button?: 'left' | 'right' | 'middle'; clickCount?: number; delay?: number; force?: boolean; modifiers?: Array<'Alt' | 'Control' | 'Meta' | 'Shift'>; position?: { x: number; y: number; }; timeout?: number; } //# sourceMappingURL=types.d.ts.map