import type { State } from './app-reducer.js'; /** * Build the steering preamble that gets prepended to a user's message * after they pressed Esc to interrupt the agent. The preamble carries * three things the model would otherwise have to infer: * * 1. Context — exactly what was in flight (tool calls, subagents, * partial assistant text). Without this the model rationalizes * from chat scrollback and often resumes the prior task by * accident. * 2. Authority — a short, explicit list of what the model is * allowed to do (abandon the prior plan, respawn fresh * subagents, ask for clarification). Models hedge unless they * believe they have permission to pivot hard. * 3. New direction — the user's actual instruction, fenced off. * * The block is user-role plain text. We deliberately don't use a * system role here — the human triggered this, so accountability * stays with their turn and the model can challenge / clarify * without violating role separation. * * Exported for the steering test that pins the contract. */ export declare function buildSteeringPreamble(snapshot: State['steerSnapshot'], newDirection: string): string; //# sourceMappingURL=steering-preamble.d.ts.map