export interface SessionCheckpoint { timestamp: number; projectPath: string; filesModified: string[]; decisionsMade: string[]; bugsResolved: string[]; tasksPending: string[]; summary: string; tokenEstimate: number; } export declare function saveCheckpoint(checkpoint: Omit, projectRoot: string): SessionCheckpoint; /** * Builds and saves a checkpoint from repository state alone. * * The model-driven path (calling `conversation_checkpoint` with action "save") depends on the * assistant remembering to do it at the end of a session, which in practice does not happen — * `.lemma/session/` did not exist in this repo across six releases. This derives what it can * from git without any model involvement, so a session-end hook can call it unconditionally. * * It cannot recover decisions or pending tasks — those only exist in the conversation. Those * fields stay empty here rather than being invented, and a model-written checkpoint that has * them is always the better record when one exists. */ export declare function captureAutoCheckpoint(projectRoot: string, summary?: string): SessionCheckpoint | null; export declare function loadLatestCheckpoint(projectRoot: string): SessionCheckpoint | null; /** Newest-first, for building a project-history view rather than just resuming the last session. */ export declare function loadRecentCheckpoints(projectRoot: string, limit?: number): SessionCheckpoint[]; export declare function buildCheckpointSummary(filesModified: string[], decisionsMade: string[], bugsResolved: string[], tasksPending: string[]): string; //# sourceMappingURL=ConversationCheckpoint.d.ts.map