/** * Decides, in one batched request, which conversion units are substantial * enough to earn a separate todo-planning pass. Adaptive planning trades this * one cheap classification for the per-unit todo call of every request it * judges simple, so thousands of small changes never pay for planning they do * not need. */ import type { PromptMessages } from "./direct-conversion.ts"; /** The longest task text the classifier is shown; complexity is judged from a * bounded excerpt, never the whole file. */ export declare const MAX_PLAN_CLASSIFICATION_INSTRUCTION_CHARS = 600; export interface DirectPlanClassificationItem { /** 1-based position the model echoes back. Stable within one batch only. */ index: number; targetPath: string; instruction: string; /** True when this replaces one inline @human marker rather than a whole file. */ inline: boolean; } export interface DirectPlanClassificationPromptInput { items: readonly DirectPlanClassificationItem[]; } /** * Build the deliberately code-free triage prompt. The model returns only the * indices that warrant planning; anything it omits stays on the single-pass * path, which is the entire point — the cheap default is "no planning". */ export declare function buildDirectPlanClassificationPrompt(input: DirectPlanClassificationPromptInput): PromptMessages; /** * Strictly parse the triage protocol into the set of indices needing planning. * A malformed response throws so the caller can fall back to planning the batch * rather than silently skipping it. */ export declare function parseDirectPlanClassification(raw: string, count: number): Set; //# sourceMappingURL=direct-plan-classification.d.ts.map