UNPKG

ai-debug-local-mcp

Version:

🎯 ENHANCED AI GUIDANCE v4.1.2: Dramatically improved tool descriptions help AI users choose the right tools instead of 'close enough' options. Ultra-fast keyboard automation (10x speed), universal recording, multi-ecosystem debugging support, and compreh

154 lines • 4.17 kB
export interface DebugState { url: string; localStorage: Record<string, any>; sessionStorage: Record<string, any>; cookies: Array<{ name: string; value: string; domain?: string; path?: string; }>; timestamp: Date; tidewave?: { framework: 'phoenix' | 'rails' | 'unknown'; available_tools: string[]; version?: string; recent_logs?: any[]; processes?: any[]; documentation?: any; }; } export interface DOMSnapshot { html: string; structure: any; timestamp: Date; } export interface NetworkRequest { url: string; method: string; headers: Record<string, string>; timestamp: Date; status: 'pending' | 'complete' | 'failed'; responseStatus?: number; responseStatusText?: string; responseHeaders?: Record<string, string>; error?: string; requestBody?: string | null; responseBody?: any; responseSize?: number; duration?: number; resourceType?: string; queryParams?: Record<string, string>; failureReason?: string; } export interface DebugSession { id: string; page?: any; state?: DebugState; events: RecordedEvent[]; startTime?: Date; endTime?: Date; timestamp: Date; duration: number; url: string; metadata?: SessionMetadata; framework?: string; privacy?: PrivacySettings; } export interface DebugEvent { sessionId: string; type: 'console' | 'network' | 'error' | 'state_change' | 'user_action'; data: any; timestamp: Date; } export interface RecordedEvent { type: 'click' | 'input' | 'navigation' | 'network_request' | 'network_response' | 'console_log' | 'console_error' | 'dom_mutation' | 'scroll' | 'resize' | 'error' | 'liveview_mount' | 'liveview_handle_event' | 'liveview_handle_info' | 'liveview_handle_params' | 'phoenix_controller_action' | 'phoenix_channel_join' | 'phoenix_channel_broadcast' | 'phoenix_channel_leave' | 'ecto_query' | 'ecto_changeset' | 'phoenix_pubsub' | 'phoenix_presence' | 'form_submit' | 'form_validate' | 'route_change' | 'component_mount' | 'component_update'; timestamp: number; data: EventData; context?: EventContext; } export interface EventData { selector?: string; value?: string; url?: string; position?: { x: number; y: number; }; element?: { tag: string; attributes: Record<string, string>; text?: string; }; method?: string; status?: number; requestBody?: any; responseBody?: any; error?: string; [key: string]: any; } export interface EventContext { viewport: { width: number; height: number; }; url: string; timestamp: number; } export interface SessionMetadata { testIntent: string; userStory?: string; tags?: string[]; } export interface PrivacySettings { redactSensitiveData?: boolean; excludedDomains?: string[]; sensitiveFields?: string[]; excludeNetworkDomains?: string[]; } export interface ReviewCriteria { clarity: { hasDescriptiveName: boolean; explainsPurpose: boolean; score: number; }; robustness: { avoidsBrittleSelectors: boolean; handlesAsyncProperly: boolean; score: number; }; maintainability: { followsConventions: boolean; appropriateAbstractions: boolean; score: number; }; security: { noSensitiveData: boolean; noHardcodedSecrets: boolean; score: number; }; } export interface ReviewResult { overallScore: number; criteria: ReviewCriteria; feedback: string; approved: boolean; autoFixSuggestions?: string[]; escalateToHuman?: boolean; timestamp: Date; framework: string; testCode: string; } export interface TestReviewerOptions { model?: string; temperature?: number; qualityThreshold?: number; autoFixThreshold?: number; criteriaWeights?: { clarity: number; robustness: number; maintainability: number; security: number; }; } //# sourceMappingURL=types.d.ts.map