/** * storytellingjs - Session Manager * * Parity with Python storytelling/session_manager.py * Provides session persistence and resume capabilities. */ import type { SessionInfo, SessionCheckpoint, SessionStatus, WorkflowNode } from './types.js'; /** * Manages story generation sessions with checkpoint and resume capabilities. */ export declare class SessionManager { readonly baseLogsDir: string; constructor(baseLogsDir?: string); /** * Create a new generation session. */ createSession(options: { promptFile: string; outputFile: string; config: Record; }): string; /** * Save a checkpoint during generation. */ saveCheckpoint(sessionId: string, nodeName: WorkflowNode, state: Record, metadata?: Record): void; /** * Load session state from latest or specific checkpoint. */ loadSessionState(sessionId: string, checkpointId?: string): Record; /** * List all available sessions. */ listSessions(): SessionInfo[]; /** * List checkpoints for a session. */ listCheckpoints(sessionId: string): SessionCheckpoint[]; /** * Load session information. */ loadSessionInfo(sessionId: string): SessionInfo; /** * Update session status. */ updateSessionStatus(sessionId: string, status: SessionStatus, metadata?: Record): void; /** * Check if session can be resumed from a specific node. */ canResumeFromNode(sessionId: string, nodeName: WorkflowNode): boolean; /** * Determine the best entry point for resuming generation. */ getResumeEntryPoint(sessionId: string): WorkflowNode; private generateSessionId; private saveSessionInfo; private loadSessionInfoFromFile; private sanitizeState; private ensureDir; } /** * Migrate an existing session directory to new format. */ export declare function migrateExistingSession(logsDir: string, sessionId: string): SessionInfo; //# sourceMappingURL=session-manager.d.ts.map