/** * Agent Runner * * Executes ticket implementation using AI Provider. */ import type { AIProvider } from '../../ai-provider/index.js'; import type { ImplementationResult, TicketContext } from '../types.js'; import { AgentSelector } from './agent-selector.js'; /** * Agent Runner Options */ export interface AgentRunnerOptions { aiProvider: AIProvider; workingDirectory: string; agentSelector?: AgentSelector; autoCommit?: boolean; timeout?: number; } /** * Validation Result */ export interface ValidationResult { command: string; name: string; success: boolean; output?: string; error?: string; durationMs: number; } /** * Agent Runner */ export declare class AgentRunner { private aiProvider; private workingDirectory; private agentSelector; private autoCommit; private timeout; constructor(options: AgentRunnerOptions); /** * Run implementation for a ticket */ run(context: TicketContext): Promise; /** * Build the implementation prompt with full ticket data */ private buildPrompt; /** * Try to parse structured notes from a string */ private tryParseStructuredNotes; /** * Run validation commands */ private runValidations; /** * Run a single validation command */ private runValidationCommand; /** * Commit changes for a ticket */ private commit; /** * Parse discoveries from AI output using explicit markers */ private parseDiscoveries; /** * Parse and validate discovery type */ private parseDiscoveryType; /** * Parse and validate discovery severity */ private parseDiscoverySeverity; /** * Extract file changes (created, modified, deleted) from AI output */ private extractFileChanges; /** * Get the SHA of the last commit */ private getLastCommitSha; /** * Extract modified files from AI output (legacy method for backwards compatibility) */ private extractModifiedFiles; /** * Get AI provider */ getAIProvider(): AIProvider; /** * Get agent selector */ getAgentSelector(): AgentSelector; /** * Update working directory */ setWorkingDirectory(dir: string): void; /** * Get working directory */ getWorkingDirectory(): string; } /** * Create an agent runner */ export declare function createAgentRunner(options: AgentRunnerOptions): AgentRunner; //# sourceMappingURL=agent-runner.d.ts.map