export type CodaliSessionStatus = "active" | "paused" | "completed" | "failed"; export interface CodaliSessionMetadata { schemaVersion: 1; sessionId: string; repoRoot: string; task: string; status: CodaliSessionStatus; branch?: string; parentSessionId?: string; runIds: string[]; transcriptRefs: string[]; summaryRefs: string[]; contextLaneRefs: string[]; instructionSources: string[]; createdAt: string; updatedAt: string; } export type CodaliSessionTranscriptEventType = "run_started" | "provider_request" | "provider_response" | "tool_result" | "codali_response" | "subagent_result" | "final" | "error" | "note"; export interface CodaliSessionTranscriptEvent { schemaVersion: 1; sessionId: string; type: CodaliSessionTranscriptEventType; timestamp: string; runId?: string; data: Record; } export interface CodaliSessionSummary { schemaVersion: 1; sessionId: string; createdAt: string; eventCount: number; summary: string; highlights: string[]; } export interface CodaliResumeBundle { metadata: CodaliSessionMetadata; latestSummary?: CodaliSessionSummary; recentEvents: CodaliSessionTranscriptEvent[]; } export interface SessionStoreOptions { workspaceRoot: string; storageDir?: string; } export interface CreateSessionInput { sessionId?: string; repoRoot: string; task: string; status?: CodaliSessionStatus; branch?: string; parentSessionId?: string; contextLaneRefs?: string[]; instructionSources?: string[]; } export declare class SessionStore { readonly workspaceRoot: string; readonly storageDir: string; private lastTimestampMs; constructor(options: SessionStoreOptions); private rootDir; private sessionDir; private metadataPath; private transcriptPath; private summariesDir; private nextTimestampIso; createSession(input: CreateSessionInput): Promise; readSession(sessionId: string): Promise; getOrCreateSession(input: CreateSessionInput): Promise; updateSession(sessionId: string, patch: Partial>): Promise; addRun(sessionId: string, runId: string): Promise; appendTranscript(sessionId: string, event: Omit & { timestamp?: string; }): Promise; readTranscript(sessionId: string): Promise; listSessions(): Promise; compactSession(sessionId: string): Promise; readLatestSummary(sessionId: string): Promise; buildResumeBundle(sessionId: string, options?: { recentEvents?: number; }): Promise; } //# sourceMappingURL=SessionStore.d.ts.map