/** * PR Strategy — plans which pull requests to create from analysis output. * * Strategy: * 1. Security fixes -> separate PRs (highest priority) * 2. Grouped dependency updates -> one PR per group * 3. Individual dependency updates -> one PR per package * 4. Migration PRs -> one PR per migration phase * * Requirements: 12.1, 12.2, 12.3, 12.5 */ import type { OutputSchema, UpdateItem, RecommendedChange, PRType } from '../schemas/output.schema.js'; export interface PRPolicy { enabled: boolean; maxOpenPRs: number; groupUpdates: boolean; separateSecurityPRs: boolean; createMigrationPRs: boolean; labels: string[]; reviewers: string[]; draft: boolean; branchPrefix: string; } export type PRItemKind = { kind: 'update'; update: UpdateItem; } | { kind: 'migration'; recommendation: RecommendedChange; phaseNumber: number; } | { kind: 'security'; update: UpdateItem; }; export interface PRPlan { type: PRType; /** Unique branch name (Property 26) */ branchName: string; /** Items included in this PR */ items: PRItemKind[]; /** Priority: higher = create first */ priority: number; } export interface PRStrategyInput { output: OutputSchema; policy: PRPolicy; } /** * Plan which PRs to create from the analysis output. * * Property 25: Security PRs separated when policy requires. * Property 26: Branch name uniqueness. * Property 27: Max open PRs respected. */ export declare function planPRs(input: PRStrategyInput): PRPlan[]; //# sourceMappingURL=pr-strategy.d.ts.map