/** * State Management Module * * Provides conversation persistence and session management. * Inspired by LangGraph's checkpointer pattern. * * @example * ```typescript * import { FileCheckpointer, JsonSerializer } from '@compilr-dev/agents'; * * // Create checkpointer * const checkpointer = new FileCheckpointer('~/.myapp/sessions/'); * * // Use with agent * const agent = new Agent({ * provider, * checkpointer, * autoCheckpoint: true, * }); * * // Or manually checkpoint * await agent.run('Hello!'); * const sessionId = await agent.checkpoint(); * * // Resume later * const resumed = await Agent.resume(sessionId, { provider, checkpointer }); * ``` */ export type { AgentState, SessionMetadata, SessionInfo, StateSerializer, Checkpointer, CheckpointerWithPending, PendingWrite, ListSessionsOptions, ResumeOptions, FromStateOptions, } from './types.js'; export { CURRENT_STATE_VERSION } from './types.js'; export { StateError, StateErrorCode } from './errors.js'; export { JsonSerializer, CompactJsonSerializer, defaultSerializer } from './serializer.js'; export { MemoryCheckpointer, FileCheckpointer } from './checkpointer.js'; export type { FileCheckpointerOptions } from './checkpointer.js'; export { generateSessionId, createEmptyState, createAgentState, serializeTodos, deserializeTodos, touchState, } from './agent-state.js';