import type { AgentController } from '../runtime/agentController.js'; import { type RepoUpgradeMode, type RepoUpgradeReport, type UpgradeVariant } from '../core/repoUpgradeOrchestrator.js'; import { type CrossVariantComparison } from '../core/gitWorktreeManager.js'; export interface RepoUpgradeFlowOptions { controller: AgentController; workingDir: string; mode: RepoUpgradeMode; continueOnFailure?: boolean; additionalScopes?: string[]; objective?: string; onEvent?: (event: { type: string; data?: Record; }) => void; /** Callback to receive raw agent events (tool calls, streaming, thinking) for UI display. */ onAgentEvent?: (event: import('../contracts/v1/agent.js').AgentEventUnion) => void; validationMode?: 'auto' | 'ask' | 'skip'; confirmValidation?: (moduleId: string, commands: string[]) => Promise; /** Create separate variant workspaces (git worktrees or copies) for dual RL. */ enableVariantWorktrees?: boolean; /** Optional explicit variant workspace roots (overrides automatic creation). */ variantWorkspaceRoots?: Partial>; /** Optional upgrade/change-management policy to display in prompts and reports. */ repoPolicy?: string; /** Enable parallel variant execution in dual-RL modes. */ parallelVariants?: boolean; /** Apply winning variant's changes to primary workspace after completion. Defaults to true for tournament mode. */ applyWinnerChanges?: boolean; /** Custom reward weights for scoring (uses defaults if not provided). */ rewardWeights?: import('../core/repoUpgradeOrchestrator.js').RewardWeights; /** Optional factory to create variant-specific controllers for parallel execution. */ createVariantController?: (variant: UpgradeVariant, workspaceRoot: string) => Promise; } /** Extended report with cross-variant comparison data */ export interface EnhancedRepoUpgradeReport extends RepoUpgradeReport { /** Comparison of changes between variants */ variantComparison?: CrossVariantComparison; /** Whether winner's changes were applied to primary */ winnerChangesApplied?: boolean; /** Which variant won overall (most step wins) */ overallWinner?: UpgradeVariant; } export declare function runRepoUpgradeFlow(options: RepoUpgradeFlowOptions): Promise; //# sourceMappingURL=repoUpgradeRunner.d.ts.map