export interface MtopRequest { id: number; timestamp: string; timestampMs: number; method: string; url: string; apiName: string; status: number; statusText: string; headers: Array<{ name: string; value: string; }>; responseHeaders: Array<{ name: string; value: string; }>; queryString: Record; postData: Record | null; responseBody: any; duration?: number; proxyData?: any; } export interface ConsoleLog { level: 'log' | 'warn' | 'error' | 'info'; message: string; timestamp: number; /** 来源文件和行号,格式 "filename.js:42",仅在可获取时存在 */ source?: string; args: any[]; } export interface WaitForRequestParams { pattern: string; timeout?: number; includeExisting?: boolean; } export interface GetRequestsParams { count?: number; filter?: string; since?: number; } export interface GetLogsParams { level?: 'log' | 'warn' | 'error' | 'info' | 'all'; since?: number; limit?: number; filter?: string; } export interface SetMockParams { apiName: string; mockData: any; enabled?: boolean; duration?: number; conditions?: Record; } export interface GetApiSchemaParams { api: string; version?: string; } export interface GetSelectedElementParams { includeOuterHTML?: boolean; includeScreenshot?: boolean; } export interface RequestsResponse { meta: { /** 实际返回的请求数量 */ count: number; /** 缓冲区中符合过滤条件的总请求数 */ totalMatched: number; /** 缓冲区中的总请求数(未过滤) */ totalInBuffer: number; /** 应用的过滤器(如果有) */ filter?: string; /** 时间过滤器(秒) */ since?: number; /** 是否包含请求/响应体 */ includeBody: boolean; /** 是否包含请求/响应头 */ includeHeaders: boolean; /** 提取的字段(如果有) */ fields?: string[]; /** 是否只返回键结构 */ keysOnly: boolean; }; /** 请求数据列表 */ requests: MtopRequest[]; } export interface LogsResponse { meta: { /** 实际返回的日志数量 */ count: number; /** 符合过滤条件的总日志数 */ totalMatched: number; /** 应用的日志级别过滤 */ level: string; /** 时间过滤器(秒) */ since?: number; /** 应用的过滤模式 */ filter?: string; }; /** 日志数据列表 */ logs: ConsoleLog[]; } export interface ScreenshotResponse { meta: { /** 截图格式 */ format: 'png' | 'jpeg'; /** 截图宽度 */ width: number; /** 截图高度 */ height: number; /** 截图数据大小(字节) */ size: number; /** 截图的页面 URL */ url: string; /** 截图的页面标题 */ title: string; }; /** Base64 编码的截图数据 */ data: string; }