/** * Page interface: type-safe abstraction over Playwright MCP browser page. * * All pipeline steps and CLI adapters should use this interface * instead of `any` for browser interactions. */ export interface IPage { goto(url: string): Promise; evaluate(js: string): Promise; snapshot(opts?: { interactive?: boolean; compact?: boolean; maxDepth?: number; raw?: boolean }): Promise; click(ref: string): Promise; typeText(ref: string, text: string): Promise; pressKey(key: string): Promise; wait(options: number | { text?: string; time?: number; timeout?: number }): Promise; tabs(): Promise; closeTab(index?: number): Promise; newTab(): Promise; selectTab(index: number): Promise; networkRequests(includeStatic?: boolean): Promise; consoleMessages(level?: string): Promise; scroll(direction?: string, amount?: number): Promise; autoScroll(options?: { times?: number; delayMs?: number }): Promise; installInterceptor(pattern: string): Promise; getInterceptedRequests(): Promise; }