Versions in this module Expand all Collapse all v0 v0.1.0 Aug 9, 2025 Changes in this version + type Checkpoint struct + CreatedAt time.Time + ID string + Metadata map[string]interface{} + NodeID string + State *core.BaseState + StepID int + ThreadID string + type CheckpointManager struct + func NewCheckpointManager(checkpointer Checkpointer) *CheckpointManager + func (cm *CheckpointManager) Close() error + func (cm *CheckpointManager) DeleteCheckpoint(ctx context.Context, threadID, checkpointID string) error + func (cm *CheckpointManager) IsEnabled() bool + func (cm *CheckpointManager) ListCheckpoints(ctx context.Context, threadID string) ([]*CheckpointMetadata, error) + func (cm *CheckpointManager) LoadCheckpoint(ctx context.Context, threadID, checkpointID string) (*Checkpoint, error) + func (cm *CheckpointManager) SaveCheckpoint(ctx context.Context, threadID, nodeID string, stepID int, ...) error + type CheckpointMetadata struct + CreatedAt time.Time + ID string + Metadata map[string]interface{} + NodeID string + StepID int + ThreadID string + type Checkpointer interface + Close func() error + Delete func(ctx context.Context, threadID, checkpointID string) error + List func(ctx context.Context, threadID string) ([]*CheckpointMetadata, error) + Load func(ctx context.Context, threadID, checkpointID string) (*Checkpoint, error) + Save func(ctx context.Context, checkpoint *Checkpoint) error + func CreateCheckpointer(config *DatabaseConfig) (Checkpointer, error) + type DatabaseConfig struct + APIKey string + CACert string + CloudID string + ConnectionParams map[string]string + Database string + EmbeddingDimension int + EmbeddingModel string + EnableRAG bool + Host string + Index string + MaxIdleConns int + MaxLifetime string + MaxOpenConns int + Password string + Port int + SSLMode string + SimilarityThreshold float64 + Type DatabaseType + Username string + VectorDimension int + VectorMetric string + func NewPgVectorConfig(host string, port int, database, username, password string, vectorDim int) *DatabaseConfig + func NewPostgresConfig(host string, port int, database, username, password string) *DatabaseConfig + func NewRedisConfig(host string, port int, password string) *DatabaseConfig + type DatabaseConnection interface + Close func() error + Connect func() error + ExecuteQuery func(ctx context.Context, query string, args ...interface{}) error + GetConfig func() *DatabaseConfig + GetType func() DatabaseType + Ping func() error + QueryRow func(ctx context.Context, query string, args ...interface{}) interface{} + QueryRows func(ctx context.Context, query string, args ...interface{}) (interface{}, error) + type DatabaseConnectionManager struct + func NewDatabaseConnectionManager() *DatabaseConnectionManager + func (dcm *DatabaseConnectionManager) AddConnection(name string, config *DatabaseConfig) error + func (dcm *DatabaseConnectionManager) CloseAll() error + func (dcm *DatabaseConnectionManager) GetConnection(name string) (DatabaseConnection, error) + type DatabaseType string + const DatabaseTypeElastic + const DatabaseTypeMongoDB + const DatabaseTypeMySQL + const DatabaseTypeOpenSearch + const DatabaseTypePgVector + const DatabaseTypePostgres + const DatabaseTypePostgresQL + const DatabaseTypeRedis + const DatabaseTypeSQLite + type Document struct + Content string + CreatedAt time.Time + Embedding []float64 + ID string + Metadata map[string]interface{} + ThreadID string + UpdatedAt time.Time + type FileCheckpointer struct + func NewFileCheckpointer(basePath string) *FileCheckpointer + func (c *FileCheckpointer) Close() error + func (c *FileCheckpointer) Delete(ctx context.Context, threadID, checkpointID string) error + func (c *FileCheckpointer) List(ctx context.Context, threadID string) ([]*CheckpointMetadata, error) + func (c *FileCheckpointer) Load(ctx context.Context, threadID, checkpointID string) (*Checkpoint, error) + func (c *FileCheckpointer) Save(ctx context.Context, checkpoint *Checkpoint) error + type MemoryCheckpointer struct + func NewMemoryCheckpointer() *MemoryCheckpointer + func (c *MemoryCheckpointer) Close() error + func (c *MemoryCheckpointer) Delete(ctx context.Context, threadID, checkpointID string) error + func (c *MemoryCheckpointer) GetCheckpointCount() int + func (c *MemoryCheckpointer) GetThreadIDs() []string + func (c *MemoryCheckpointer) List(ctx context.Context, threadID string) ([]*CheckpointMetadata, error) + func (c *MemoryCheckpointer) Load(ctx context.Context, threadID, checkpointID string) (*Checkpoint, error) + func (c *MemoryCheckpointer) Save(ctx context.Context, checkpoint *Checkpoint) error + type PostgresCheckpointer struct + func NewPostgresCheckpointer(config *DatabaseConfig) (*PostgresCheckpointer, error) + func (p *PostgresCheckpointer) Close() error + func (p *PostgresCheckpointer) Delete(ctx context.Context, threadID, checkpointID string) error + func (p *PostgresCheckpointer) List(ctx context.Context, threadID string) ([]*CheckpointMetadata, error) + func (p *PostgresCheckpointer) Load(ctx context.Context, threadID, checkpointID string) (*Checkpoint, error) + func (p *PostgresCheckpointer) Save(ctx context.Context, checkpoint *Checkpoint) error + func (p *PostgresCheckpointer) SaveDocument(ctx context.Context, doc *Document) error + func (p *PostgresCheckpointer) SearchDocuments(ctx context.Context, threadID string, queryEmbedding []float64, limit int) ([]*Document, error) + type PostgresConnection struct + func NewPostgresConnection(config *DatabaseConfig) (*PostgresConnection, error) + func (p *PostgresConnection) Close() error + func (p *PostgresConnection) Connect() error + func (p *PostgresConnection) ExecuteQuery(ctx context.Context, query string, args ...interface{}) error + func (p *PostgresConnection) GetConfig() *DatabaseConfig + func (p *PostgresConnection) GetType() DatabaseType + func (p *PostgresConnection) Ping() error + func (p *PostgresConnection) QueryRow(ctx context.Context, query string, args ...interface{}) interface{} + func (p *PostgresConnection) QueryRows(ctx context.Context, query string, args ...interface{}) (interface{}, error) + type RedisCheckpointer struct + func NewRedisCheckpointer(config *DatabaseConfig) (*RedisCheckpointer, error) + func (r *RedisCheckpointer) Close() error + func (r *RedisCheckpointer) Delete(ctx context.Context, threadID, checkpointID string) error + func (r *RedisCheckpointer) List(ctx context.Context, threadID string) ([]*CheckpointMetadata, error) + func (r *RedisCheckpointer) Load(ctx context.Context, threadID, checkpointID string) (*Checkpoint, error) + func (r *RedisCheckpointer) Save(ctx context.Context, checkpoint *Checkpoint) error + type Session struct + CreatedAt time.Time + ExpiresAt *time.Time + ID string + Metadata map[string]interface{} + ThreadID string + UserID string + type SessionManager struct + func NewSessionManager(conn DatabaseConnection) *SessionManager + func (sm *SessionManager) CreateSession(ctx context.Context, session *Session) error + func (sm *SessionManager) CreateThread(ctx context.Context, thread *Thread) error + func (sm *SessionManager) GetSession(ctx context.Context, sessionID string) (*Session, error) + func (sm *SessionManager) GetThread(ctx context.Context, threadID string) (*Thread, error) + type Thread struct + CreatedAt time.Time + ID string + Metadata map[string]interface{} + Name string + UpdatedAt time.Time + type TimeTravel struct + func NewTimeTravel(checkpointManager *CheckpointManager) *TimeTravel + func (tt *TimeTravel) FindCheckpointByNode(ctx context.Context, threadID, nodeID string) (*CheckpointMetadata, error) + func (tt *TimeTravel) FindCheckpointByStep(ctx context.Context, threadID string, stepID int) (*CheckpointMetadata, error) + func (tt *TimeTravel) GetHistory(ctx context.Context, threadID string) ([]*CheckpointMetadata, error) + func (tt *TimeTravel) RewindTo(ctx context.Context, threadID, checkpointID string) (*core.BaseState, error)