/** * AI Execution Interface (Pillar III - JIRA-TICKET-TO-BUILD) * * Defines interfaces for AI execution integration without hard-coding specific models. * These interfaces are consumed by higher-level tools (e.g., agent-handler). */ import type { JiraIssue } from "../types"; /** * File change representation */ export interface FileChange { path: string; content: string; operation: "create" | "update" | "delete"; } /** * Execution result */ export interface ExecutionResult { success: boolean; ticketKey: string; branchName?: string; prUrl?: string; changes: FileChange[]; testResults?: TestResult; error?: string; summary?: string; } /** * Test execution result */ export interface TestResult { passed: boolean; total: number; passedCount: number; failedCount: number; duration?: number; output?: string; errors?: string[]; } /** * Ticket Build Executor Interface * * This interface defines how AI agents execute work from a ticket. * Default implementation logs a plan but does not change the filesystem. */ export interface TicketBuildExecutor { /** * Run build from ticket * * @param options Execution options * @returns Execution result */ runBuildFromTicket(options: { ticketKey: string; ticketMarkdownPath: string; repoRoot: string; dryRun?: boolean; }): Promise; } /** * Default stub implementation * * Reads the ticket brief, logs a detailed plan, but does not change the filesystem. * This is the conservative default mode: plan, simulate, report. */ export declare class DefaultTicketBuildExecutor implements TicketBuildExecutor { runBuildFromTicket(options: { ticketKey: string; ticketMarkdownPath: string; repoRoot: string; dryRun?: boolean; }): Promise; } /** * Acceptance Criteria Generator Interface * * Optional interface for generating acceptance criteria from ticket content. */ export interface AcceptanceCriteriaGenerator { /** * Generate acceptance criteria from ticket */ generate(ticket: JiraIssue): Promise; } /** * Business Context Generator Interface * * Optional interface for generating business context from ticket content. */ export interface BusinessContextGenerator { /** * Generate business context from ticket */ generate(ticket: JiraIssue): Promise; } /** * Test Suggestion Generator Interface * * Optional interface for suggesting tests based on acceptance criteria. */ export interface TestSuggestionGenerator { /** * Generate test suggestions from acceptance criteria */ generate(acceptanceCriteria: string[]): Promise; } //# sourceMappingURL=executor.d.ts.map