/** * Agentic QE v3 - Test Execution Coordinator * Orchestrates test execution workflow and publishes domain events */ import { Result } from '../../shared/types'; import { TestExecutionAPI, ExecuteTestsRequest, ParallelExecutionRequest, TestRunResult, FlakyDetectionRequest, FlakyTestReport, RetryRequest, RetryResult, ExecutionStats } from './interfaces'; import { EventBus, MemoryBackend } from '../../kernel/interfaces'; import { TestExecutorConfig } from './services/test-executor'; import { FlakyDetectorConfig } from './services/flaky-detector'; import { RetryHandlerConfig } from './services/retry-handler'; /** * Configuration for the test execution coordinator */ export interface TestExecutionCoordinatorConfig { /** * When true, enables simulation mode for all services (for unit testing). * When false (default), services operate in deterministic production mode. */ simulateForTesting: boolean; /** * Optional executor-specific config overrides */ executorConfig?: Partial; /** * Optional flaky detector-specific config overrides */ flakyDetectorConfig?: Partial; /** * Optional retry handler-specific config overrides */ retryHandlerConfig?: Partial; } export interface ITestExecutionCoordinator extends TestExecutionAPI { /** Initialize the coordinator */ initialize(): Promise; /** Dispose resources */ dispose(): Promise; /** Get active runs */ getActiveRuns(): string[]; /** Cancel a running test */ cancelRun(runId: string): Promise>; } export declare class TestExecutionCoordinator implements ITestExecutionCoordinator { private readonly eventBus; private readonly executor; private readonly flakyDetector; private readonly retryHandler; private readonly activeRuns; private initialized; constructor(eventBus: EventBus, memory: MemoryBackend, config?: Partial); /** * Initialize the coordinator */ initialize(): Promise; /** * Dispose resources */ dispose(): Promise; /** * Get list of active run IDs */ getActiveRuns(): string[]; /** * Cancel a running test execution */ cancelRun(runId: string): Promise>; /** * Execute a test suite */ execute(request: ExecuteTestsRequest): Promise>; /** * Execute tests in parallel */ executeParallel(request: ParallelExecutionRequest): Promise>; /** * Detect flaky tests */ detectFlaky(request: FlakyDetectionRequest): Promise>; /** * Retry failed tests */ retry(request: RetryRequest): Promise>; /** * Get execution statistics */ getStats(runId: string): Promise>; private subscribeToEvents; private publishEvent; } export declare function createTestExecutionCoordinator(eventBus: EventBus, memory: MemoryBackend, config?: Partial): ITestExecutionCoordinator; //# sourceMappingURL=coordinator.d.ts.map