/** * Main types export file */ export * from './adapters/types'; export * from './engine/types'; import { ScreenshotOptions } from './adapters/types'; import { ActionStep, TaskContext } from './engine/types'; import { LaunchOptions, BrowserType, BrowserInstance, PageInstance } from './adapters/types'; export interface BrowserConfig { adapter: string; launchOptions?: LaunchOptions; timeout?: number; retries?: number; browserType?: BrowserType; headless?: boolean; viewport?: { width: number; height: number; }; userAgent?: string; locale?: string; timezone?: string; proxy?: string; fallbackAdapters?: string[]; } export interface BrowserRequirements { browserType: BrowserType; crossBrowser?: boolean; performance?: 'fast' | 'balanced' | 'thorough'; features?: string[]; } export interface BrowserManager { getCurrentPage(): Promise; launchBrowser(options?: LaunchOptions): Promise; closeBrowser(): Promise; isReady(): boolean; createPage(url?: string): Promise; takeScreenshot(options?: ScreenshotOptions): Promise; } export interface AIConfig { provider: string; apiKey?: string; model?: string; temperature?: number; maxTokens?: number; } export interface ExecutionOptions { timeout?: number; retries?: number; screenshot?: boolean; headless?: boolean; slowMo?: number; } export interface TaskResult { success: boolean; data?: any; error?: string; duration: number; screenshots?: Buffer[]; steps: ActionStep[]; extractedData?: any; hierarchicalPlan?: any; } export { ActionStep, ActionPlan, ActionType, PageState, TaskContext } from './engine/types'; export { BrowserAdapter, BrowserInstance, PageInstance, ElementHandle, BrowserType, LaunchOptions } from './adapters/types'; export interface ActionEngine { executeTask(objective: string, context?: TaskContext): Promise; }