Versions in this module Expand all Collapse all v0 v0.2.0 Jul 14, 2026 v0.1.0 Jun 22, 2026 Changes in this version + var ErrMalformedTranscriptEntry = errors.New("malformed transcript entry") + type Backend interface + AppendTranscriptEntries func(sessionID types.SessionID, entries []types.TranscriptEntry) error + DeleteSession func(sessionID types.SessionID) error + ListSessions func() ([]types.SessionID, error) + LoadCheckpoint func(sessionID types.SessionID) (*Checkpoint, error) + LoadSession func(sessionID types.SessionID) (*types.SessionMetadata, error) + LoadTranscript func(sessionID types.SessionID) ([]types.TranscriptEntry, error) + ReplaceTranscript func(sessionID types.SessionID, entries []types.TranscriptEntry) error + SaveCheckpoint func(sessionID types.SessionID, checkpoint *Checkpoint) error + SaveSession func(sessionID types.SessionID, metadata *types.SessionMetadata) error + SearchTranscriptsByContent func(needle string, limit int) ([]types.SessionID, error) + type Checkpoint struct + MessagesHash string + Metadata map[string]any + SessionID types.SessionID + Timestamp int64 + TurnNumber int + type FileState struct + ModTime int64 + Path string + Size int64 + type FileStateCache struct + func NewFileStateCache() *FileStateCache + func (c *FileStateCache) Clear() + func (c *FileStateCache) Delete(path string) + func (c *FileStateCache) Get(path string) (*FileState, bool) + func (c *FileStateCache) Set(path string, state FileState) + type FilesystemBackend struct + func NewFilesystemBackend(baseDir string) (*FilesystemBackend, error) + func (b *FilesystemBackend) AppendTranscriptEntries(sessionID types.SessionID, entries []types.TranscriptEntry) error + func (b *FilesystemBackend) DeleteSession(sessionID types.SessionID) error + func (b *FilesystemBackend) ListSessions() ([]types.SessionID, error) + func (b *FilesystemBackend) LoadCheckpoint(sessionID types.SessionID) (*Checkpoint, error) + func (b *FilesystemBackend) LoadSession(sessionID types.SessionID) (*types.SessionMetadata, error) + func (b *FilesystemBackend) LoadTranscript(sessionID types.SessionID) ([]types.TranscriptEntry, error) + func (b *FilesystemBackend) ReplaceTranscript(sessionID types.SessionID, entries []types.TranscriptEntry) error + func (b *FilesystemBackend) SaveCheckpoint(sessionID types.SessionID, checkpoint *Checkpoint) error + func (b *FilesystemBackend) SaveSession(sessionID types.SessionID, metadata *types.SessionMetadata) error + func (b *FilesystemBackend) SearchTranscriptsByContent(needle string, limit int) ([]types.SessionID, error) + type MemoryBackend struct + func NewMemoryBackend() *MemoryBackend + func (b *MemoryBackend) AppendTranscriptEntries(sessionID types.SessionID, entries []types.TranscriptEntry) error + func (b *MemoryBackend) DeleteSession(sessionID types.SessionID) error + func (b *MemoryBackend) ListSessions() ([]types.SessionID, error) + func (b *MemoryBackend) LoadCheckpoint(sessionID types.SessionID) (*Checkpoint, error) + func (b *MemoryBackend) LoadSession(sessionID types.SessionID) (*types.SessionMetadata, error) + func (b *MemoryBackend) LoadTranscript(sessionID types.SessionID) ([]types.TranscriptEntry, error) + func (b *MemoryBackend) ReplaceTranscript(sessionID types.SessionID, entries []types.TranscriptEntry) error + func (b *MemoryBackend) SaveCheckpoint(sessionID types.SessionID, checkpoint *Checkpoint) error + func (b *MemoryBackend) SaveSession(sessionID types.SessionID, metadata *types.SessionMetadata) error + func (b *MemoryBackend) SearchTranscriptsByContent(needle string, limit int) ([]types.SessionID, error) + type SQLiteBackend struct + func NewSQLiteBackend(database *dbpkg.DB) (*SQLiteBackend, error) + func OpenSQLiteBackend(path string) (*SQLiteBackend, error) + func (b *SQLiteBackend) AppendTranscriptEntries(sessionID types.SessionID, entries []types.TranscriptEntry) error + func (b *SQLiteBackend) Close() error + func (b *SQLiteBackend) DeleteSession(sessionID types.SessionID) error + func (b *SQLiteBackend) ListSessions() ([]types.SessionID, error) + func (b *SQLiteBackend) LoadCheckpoint(sessionID types.SessionID) (*Checkpoint, error) + func (b *SQLiteBackend) LoadSession(sessionID types.SessionID) (*types.SessionMetadata, error) + func (b *SQLiteBackend) LoadTranscript(sessionID types.SessionID) ([]types.TranscriptEntry, error) + func (b *SQLiteBackend) ReplaceTranscript(sessionID types.SessionID, entries []types.TranscriptEntry) error + func (b *SQLiteBackend) SaveCheckpoint(sessionID types.SessionID, checkpoint *Checkpoint) error + func (b *SQLiteBackend) SaveSession(sessionID types.SessionID, metadata *types.SessionMetadata) error + func (b *SQLiteBackend) SearchTranscriptsByContent(needle string, limit int) ([]types.SessionID, error) + type SessionInfo struct + CreatedAt int64 + ID types.SessionID + Preview string + Status types.SessionStatus + Title string + TotalTokens int + TotalTurns int + UpdatedAt int64 + type Store struct + func NewStore(baseDir string) (*Store, error) + func NewStoreWithBackend(backend Backend) (*Store, error) + func (s *Store) AppendTranscriptEntries(sessionID types.SessionID, entries []types.TranscriptEntry) error + func (s *Store) AppendTranscriptEntry(sessionID types.SessionID, entry types.TranscriptEntry) error + func (s *Store) CleanupOldSessions(maxAge int64) (int, error) + func (s *Store) Close() error + func (s *Store) DeleteSession(sessionID types.SessionID) error + func (s *Store) GetAllSessionsInfo() ([]*SessionInfo, error) + func (s *Store) GetSessionInfo(sessionID types.SessionID) (*SessionInfo, error) + func (s *Store) ListSessions() ([]types.SessionID, error) + func (s *Store) LoadCanonicalMessages(sessionID types.SessionID) ([]types.Message, error) + func (s *Store) LoadCheckpoint(sessionID types.SessionID) (*Checkpoint, error) + func (s *Store) LoadSession(sessionID types.SessionID) (*types.SessionMetadata, error) + func (s *Store) LoadTranscript(sessionID types.SessionID) ([]types.TranscriptEntry, error) + func (s *Store) ReplaceTranscript(sessionID types.SessionID, entries []types.TranscriptEntry) error + func (s *Store) RestoreSessionState(sessionID types.SessionID) (*types.SessionMetadata, []types.Message, error) + func (s *Store) SaveCanonicalMessages(sessionID types.SessionID, messages []types.Message) error + func (s *Store) SaveCheckpoint(sessionID types.SessionID, checkpoint *Checkpoint) error + func (s *Store) SaveSession(sessionID types.SessionID, metadata *types.SessionMetadata) error + func (s *Store) SaveSessionState(sessionID types.SessionID, metadata *types.SessionMetadata, ...) error + func (s *Store) SyncTranscriptMessages(sessionID types.SessionID, previousMessages []types.Message, ...) error + func (s *Store) UpdateSessionTitle(sessionID types.SessionID, title string) error