/** * Agentic QE v3 - Visual & Accessibility Coordinator * Orchestrates the visual and accessibility testing workflows */ import { Result } from '../../shared/types/index.js'; import { EventBus, MemoryBackend, AgentCoordinator } from '../../kernel/interfaces.js'; import { IVisualAccessibilityCoordinator, Viewport, VisualTestReport, AccessibilityAuditReport, AccessibilityViolation, RemediationPlan, VisualTestingStatus } from './interfaces.js'; import { VisualTesterConfig } from './services/visual-tester.js'; import { AccessibilityTesterConfig } from './services/accessibility-tester.js'; import { ResponsiveTesterService, ResponsiveTestConfig } from './services/responsive-tester.js'; /** * Workflow status tracking */ export interface WorkflowStatus { id: string; type: 'visual' | 'accessibility' | 'responsive' | 'combined'; status: 'pending' | 'running' | 'completed' | 'failed'; startedAt: Date; completedAt?: Date; agentIds: string[]; progress: number; error?: string; } /** * Coordinator configuration */ export interface CoordinatorConfig { maxConcurrentWorkflows: number; defaultTimeout: number; publishEvents: boolean; enableParallelViewportTesting: boolean; } /** * Visual & Accessibility Coordinator Interface */ export interface IVisualAccessibilityCoordinatorExtended extends IVisualAccessibilityCoordinator { initialize(): Promise; dispose(): Promise; getActiveWorkflows(): WorkflowStatus[]; } /** * Visual & Accessibility Coordinator * Orchestrates visual regression, accessibility, and responsive testing workflows */ export declare class VisualAccessibilityCoordinator implements IVisualAccessibilityCoordinatorExtended { private readonly eventBus; private readonly memory; private readonly agentCoordinator; private readonly config; private readonly visualTester; private readonly accessibilityTester; readonly responsiveTester: ResponsiveTesterService; private readonly workflows; private initialized; constructor(eventBus: EventBus, memory: MemoryBackend, agentCoordinator: AgentCoordinator, config?: Partial, visualConfig?: Partial, accessibilityConfig?: Partial, responsiveConfig?: Partial); /** * Initialize the coordinator */ initialize(): Promise; /** * Dispose and cleanup */ dispose(): Promise; /** * Get active workflow statuses */ getActiveWorkflows(): WorkflowStatus[]; /** * Run visual regression test suite */ runVisualTests(urls: string[], viewports: Viewport[]): Promise>; /** * Run accessibility audit suite */ runAccessibilityAudit(urls: string[], level: 'A' | 'AA' | 'AAA'): Promise>; /** * Update baselines for approved changes */ approveVisualChanges(diffIds: string[], reason: string): Promise>; /** * Generate remediation plan for violations */ generateRemediationPlan(violations: AccessibilityViolation[]): Promise>; /** * Get visual testing status */ getVisualTestingStatus(): Promise>; private spawnVisualTestingAgent; private spawnAccessibilityTestingAgent; /** * Calculate viewport coverage from baseline keys * Parses baseline keys to extract viewport dimensions and maps to categories */ private calculateViewportCoverage; /** * Categorize viewport width into mobile/tablet/desktop */ private categorizeViewport; private publishVisualRegressionEvent; private publishAccessibilityAuditEvent; private publishBaselineUpdatedEvent; private startWorkflow; private completeWorkflow; private failWorkflow; private addAgentToWorkflow; private updateWorkflowProgress; private identifyTopIssues; private createRemediation; private estimateEffort; private generateCodeExample; private calculateTotalEffort; private subscribeToEvents; private handleFileChanged; private handleDeploymentCompleted; private loadWorkflowState; private saveWorkflowState; } //# sourceMappingURL=coordinator.d.ts.map