import type { ReviewContextBundle, ResolvedChimeraConfig } from './review-types.js'; /** * List all changed files in the working tree (porcelain status). * Includes both tracked modifications and untracked additions. * * Uses NUL-delimited porcelain output so Git returns raw path bytes instead of * C-style quoted/escaped names. Rename and copy entries contain an additional * source-path record; the first record is the destination path we review. */ export declare function parsePorcelainStatusZ(stdout: string): Array<{ path: string; status: string; }>; export interface BuildReviewContextOptions { cwd: string; config: ResolvedChimeraConfig; /** Files to review, with content already read. */ files: Array<{ path: string; status: 'added' | 'modified'; content: string; }>; /** * Active todo items from the session Context (P1 enrichment). * Available from `ctx.todos` in the iteration.completed handler. * Passed in by the caller — the builder itself has no ctx access. */ activeTodos?: Array<{ id: string; content: string; status: string; }> | undefined; /** * Cascade severity threshold from the auto-review plugin config. * Threaded into the bundle so execution.ts and the cascade listener * can decide whether findings warrant a follow-up agent. Absent for * non-auto-review triggers (chimera plugin, /review slash command). */ cascadeOn?: 'off' | 'critical' | 'high' | undefined; /** * Current cascade depth (0 = initial review). Increments on each * fix+re-review cycle; the cascade stops at maxCascadeDepth. */ cascadeDepth?: number | undefined; /** * Maximum cascade iterations before the self-correcting loop stops. * Default 2. Absent for non-auto-review triggers. */ maxCascadeDepth?: number | undefined; } /** * Enrich a bare file list with diffs, sibling-change awareness, and * recent commit history — the minimal "story" a reviewer needs to * judge changes in context rather than in isolation. * * This is the P0 subset: diffs + siblings + commits. * Future additions: todos, kanban card, prompt chain, prior findings. * * The function never throws — all enrichment is best-effort. If a git * operation fails, the corresponding field is simply left `undefined`, * and the caller still gets a valid bundle with the original file data. */ export declare function buildReviewContext(opts: BuildReviewContextOptions): Promise; //# sourceMappingURL=review-context-builder.d.ts.map