/** * Recording a finished turn in an ACP thread's conversation. */ import { type Message } from '../config/index.js'; /** The part of a session a turn needs. */ export interface TurnSession { workspaceRoot: string; history: Message[]; codeepSessionId: string; /** Bumped whenever the thread moves to another conversation. */ conversation?: number; } /** * Start a turn: returns the function that records its messages once it ran. * If the thread moved to another conversation meanwhile, the turn belongs to * the one it started in — it is saved there, not appended to the new one — * and after a /rewind of that same conversation it is dropped, since saving * it would undo the rewind. */ export declare function beginTurn(session: TurnSession): (entries: Message[]) => void;