/** * Session Recovery for Claude-Flow Memory * SMI-641: Session ID Storage in Claude-Flow Memory * * Provides session recovery capabilities: * - Find latest session from memory * - Restore session context * - Resume from last checkpoint * - Merge with new session if needed */ import type { SessionData, Checkpoint, SessionContext } from './SessionContext.js'; import type { SessionManager, CommandExecutor, SessionOptions } from './SessionManager.js'; /** * Recovery result status */ export type RecoveryStatus = 'restored' | 'merged' | 'not_found' | 'error'; /** * Result of a session recovery attempt */ export interface RecoveryResult { status: RecoveryStatus; session: SessionData | null; checkpoint: Checkpoint | null; message: string; } /** * Options for session recovery */ export interface RecoveryOptions { /** Session ID to recover (uses current if not specified) */ sessionId?: string; /** Whether to merge with a new session if recovery fails */ mergeOnFailure?: boolean; /** Options for new session if merging */ newSessionOptions?: SessionOptions; } /** * Session Recovery handles restoring sessions from claude-flow memory */ export declare class SessionRecovery { private manager; private executor; constructor(manager: SessionManager, executor: CommandExecutor); /** * Find the latest session from memory */ findLatestSession(): Promise; /** * Search for recent sessions in memory */ private searchForRecentSession; /** * Restore session context from memory */ restoreSession(options?: RecoveryOptions): Promise; /** * Resume from the last checkpoint in a session */ resumeFromCheckpoint(session: SessionData, checkpointId?: string): Promise; /** * Merge a previous session with a new one * * This is useful when starting a new session but wanting to * preserve context from a previous incomplete session. */ mergeWithNewSession(previousSession: SessionData, newSessionOptions: SessionOptions): Promise; /** * Create a session context from recovery result */ createContext(result: RecoveryResult): SessionContext; /** * Retrieve checkpoint data from memory */ private retrieveCheckpointData; /** * Run session restore hook */ private runSessionRestoreHook; } /** * Factory function to create SessionRecovery with default dependencies */ export declare function createSessionRecovery(manager: SessionManager, executor: CommandExecutor): SessionRecovery; //# sourceMappingURL=SessionRecovery.d.ts.map