import type { EmbeddingConfig } from './embedding.js'; import type { EmbeddingStore } from './embedding-store.js'; import type { GolfScorecard } from './types.js'; export interface PrepPlan { ticket: string; title: string; club: string; description: string; files: { modify: Array<{ path: string; relevance: number; snippet: string; }>; test: string[]; }; similarTickets: Array<{ key: string; title: string; result: string; sprint: number; }>; hazards: string[]; constraints: string[]; verification: string[]; metadata: { version: 1; generatedAt: string; estimatedTokens: number; queryText: string; }; } export interface TicketData { key: string; title: string; description: string; modules: string[]; acceptance_criteria: string[]; club: string; max_files: number; } /** * Resolve full ticket data from backlog or roadmap. */ export declare function resolveTicket(ticketId: string, cwd: string, backlogPath?: string, roadmapPath?: string): TicketData | null; /** * Build embedding query text from ticket fields. */ export declare function buildQueryText(ticket: { title: string; description: string; modules: string[]; }): string; /** * Find test files matching source file stems. */ export declare function collectTestFiles(primaryPaths: string[], cwd: string): string[]; /** * Find similar past tickets from scorecards by keyword overlap. */ export declare function findSimilarTickets(title: string, scorecards: GolfScorecard[], maxResults?: number): Array<{ key: string; title: string; result: string; sprint: number; }>; /** * Extract hazards from recent scorecards' bunker_locations. */ export declare function extractHazards(modules: string[], scorecards: GolfScorecard[], recentCount?: number): string[]; /** * Generate a structured execution plan for a ticket. */ export declare function generatePrepPlan(opts: { ticketId: string; store: EmbeddingStore; embeddingConfig: EmbeddingConfig; scorecards: GolfScorecard[]; cwd: string; backlogPath?: string; roadmapPath?: string; topK?: number; }): Promise; /** * Format a lite prep plan (hazards + similar tickets only, no embedding search). * Used as fallback when full prep fails or embedding index is unavailable. */ export declare function formatLitePrepPlan(ticketId: string, title: string, similarTickets: Array<{ key: string; title: string; result: string; sprint: number; }>, hazards: string[]): string; /** * Format a PrepPlan as markdown for Aider --read injection. */ export declare function formatPrepPlan(plan: PrepPlan): string; //# sourceMappingURL=prep.d.ts.map