/** What the summary model says about a finished turn (SM-2). */ export interface TurnSummary { summary: string; kind: "done" | "question"; reply: string | null; } export declare const SUMMARY_MAX = 80; export declare const TURN_SYSTEM = "You summarise one turn of a coding agent's session for a dashboard row.\nReply with JSON only: {\"summary\": string, \"kind\": \"done\" | \"question\", \"reply\": string | null}\n- summary: at most 80 characters, plain text, what was done or what is being asked; no \"The agent\".\n- kind: \"question\" only when the agent ends by asking the user something it needs to continue.\n- reply: for a question, a short likely answer the user might send; otherwise null."; export declare const PROGRESS_SYSTEM = "You summarise what a coding agent is doing right now for a dashboard row.\nReply with JSON only: {\"summary\": string}. At most 80 characters, present tense, plain text."; export declare const NAME_SYSTEM = "Name a coding task for a list of background sessions.\nReply with JSON only: {\"name\": string}. Two to five words, no quotes or trailing punctuation, in the language of the task."; export declare const RECAP_SYSTEM = "Tell a developer returning to a coding agent's session what happened while they were away.\nReply with JSON only: {\"recap\": string}. One or two short sentences, plain text."; /** The last part of a transcript, oldest first, as plain text for the model. */ export declare function transcriptTail(lines: string[], max?: number): string; /** The first JSON object in a model's reply (models wrap JSON in prose or fences). */ export declare function parseJsonObject(text: string): Record | undefined; export declare function parseTurnSummary(text: string): TurnSummary | undefined; export declare function parseField(text: string, field: string, max: number): string | undefined; /** "provider/model-id" → its parts; the id may itself contain slashes. */ export declare function splitModelRef(ref: string | undefined): { provider: string; id: string; } | undefined; /** AT-5 without a model: what happened since the user last looked. */ export interface AwayLog { turns: number; tools: Record; questions: string[]; failures: number; } export declare const emptyAway: () => AwayLog; export declare const awayIsEmpty: (a: AwayLog) => boolean; export declare function recapList(a: AwayLog): string;