/** * Batch Execute * * Execute multiple tickets sequentially (for safety) with queue management. */ import type { ExecutionResult } from "../ai/executor"; /** * Batch execution options */ export interface BatchExecuteOptions { repoRoot: string; baseDir?: string; dryRun?: boolean; skipTests?: boolean; maxConcurrent?: number; continueOnError?: boolean; } /** * Batch execution result */ export interface BatchExecuteResult { success: boolean; total: number; successful: number; failed: number; results: Array<{ ticketKey: string; result: ExecutionResult; }>; errors: Array<{ ticketKey: string; error: string; }>; duration: number; } /** * Execute multiple tickets sequentially * * Sequential execution ensures safety and prevents conflicts. * * @param tickets Array of ticket keys to execute * @param options Execution options * @returns Batch execution result */ export declare function batchExecute(tickets: string[], options: BatchExecuteOptions): Promise; /** * Queue management for batch execution */ export declare class ExecutionQueue { private queue; private processing; private options; constructor(options: BatchExecuteOptions); /** * Add ticket to queue */ enqueue(ticketKey: string): void; /** * Add multiple tickets to queue */ enqueueMany(ticketKeys: string[]): void; /** * Remove ticket from queue */ dequeue(): string | undefined; /** * Get queue size */ size(): number; /** * Check if queue is empty */ isEmpty(): boolean; /** * Clear queue */ clear(): void; /** * Process queue */ process(): Promise; /** * Check if queue is being processed */ isProcessing(): boolean; } //# sourceMappingURL=batch-execute.d.ts.map