/** * Skyvern Vision Fallback * * Skyvern combines computer vision + LLM reasoning to navigate sites that * defeat DOM-based approaches: CAPTCHAs, legacy apps, visual-only login flows, * government portals. It's the "break glass" option when Stagehand fails. * * Production setup (Phase 4+): * 1. Self-host: https://github.com/Skyvern-AI/skyvern * 2. Or use cloud: https://app.skyvern.com * 3. Set SKYVERN_API_URL + SKYVERN_API_KEY in .env * * Pricing note: vision tasks cost more per step than DOM-based Stagehand. * Use only when the fast path fails. */ export interface SkyvernTask { taskDescription: string; url: string; credentials?: { username: string; password: string; oneTimeCode?: string; }; } export interface SkyvernConfig { apiUrl: string; apiKey: string; llmKey?: string; llmApiKey?: string; } export interface SkyvernStep { order: number; action_type: string; element_description?: string; reasoning?: string; success: boolean; screenshot_url?: string; duration_ms?: number; error?: string; } export interface SkyvernNavigateResult { screenshotUrls: string[]; visitedUrls: string[]; status: 'success' | 'failed' | 'partial'; steps?: SkyvernStep[]; taskId?: string; durationMs?: number; triggerReason?: string; } /** * Gap 5: Post-login navigation via Skyvern vision for apps where DOM analysis * cannot discover screens (canvas, WebGL, legacy Flash-replacement stacks). * Skyvern drives the browser via screenshot + LLM, returning visited page list. */ export declare function skyvernNavigate(startUrl: string, navigationGoals: string[], tenantConfig?: SkyvernConfig, triggerReason?: string): Promise; export declare function skyvernFallback(task: SkyvernTask, tenantConfig?: SkyvernConfig): Promise<'success' | 'failed'>;