store

package
v0.1.24 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 20, 2026 License: MIT Imports: 20 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DefaultListLimit           = 100
	DefaultKeywordLimit        = 10
	DefaultSemanticLimit       = 3
	DefaultSemanticMaxDistance = 0.80
	DefaultRecentWindow        = 2000
	DefaultRecallCandidateMin  = 64
	MaxListLimit               = 1000
	MaxSearchLimit             = 100
	MaxSemanticLimit           = 100
	MaxRecentWindow            = 5000
	MaxRecallCandidates        = 1000
)
View Source
const CurrentFormatVersion = 2

Variables

View Source
var (
	ErrMigrationRequired    = errors.New("database migration required")
	ErrDatabaseIncompatible = errors.New("database format incompatible")
)
View Source
var (
	ErrMemoryNotFound   = errors.New("memory not found")
	ErrScopeNotFound    = errors.New("scope not found")
	ErrScopeConflict    = errors.New("memory scope conflict")
	ErrRevisionConflict = errors.New("memory revision conflict")
)
View Source
var (
	ErrRepositoryAmbiguous        = errors.New("repository identity ambiguous")
	ErrRepositoryScopeUnpersisted = errors.New("repository scope is not persisted")
	ErrBindingConflict            = errors.New("repository checkout already bound")
	ErrConfirmationRequired       = errors.New("confirmation required")
)
View Source
var (
	ErrDatabaseNotFound       = errors.New("database not found")
	ErrReadOnlyWALUnavailable = errors.New("read-only WAL inspection unavailable")
)

Functions

func CreateCurrentDatabase added in v0.1.24

func CreateCurrentDatabase(path string) (*sql.DB, error)

func IsDatabaseNotFound

func IsDatabaseNotFound(err error) bool

func IsMigrationRequired

func IsMigrationRequired(err error) bool

func Open

func Open(path string) (*sql.DB, error)

func OpenCompatibleReadOnly added in v0.1.24

func OpenCompatibleReadOnly(path string) (*sql.DB, error)

func OpenExisting

func OpenExisting(path string) (*sql.DB, error)

func OpenExistingWritable

func OpenExistingWritable(path string) (*sql.DB, error)

Types

type DatabaseInfo added in v0.1.24

type DatabaseInfo struct {
	Path   string
	Status DatabaseStatus
}

func InspectDatabase added in v0.1.24

func InspectDatabase(path string) (DatabaseInfo, error)

func InspectOperationalDatabase added in v0.1.24

func InspectOperationalDatabase(path string) (DatabaseInfo, error)

type DatabaseStatus added in v0.1.24

type DatabaseStatus string
const (
	DatabaseMissing           DatabaseStatus = "missing"
	DatabaseCompatible        DatabaseStatus = "compatible"
	DatabaseMigrationRequired DatabaseStatus = "migration_required"
	DatabaseIncompatible      DatabaseStatus = "incompatible"
)

type EmbeddingIdentity

type EmbeddingIdentity struct {
	ModelID        string
	ModelRevision  string
	ManifestSHA256 string
	Dimension      int
}

type IndexHealth

type IndexHealth struct {
	Memories          int64
	Indexed           int64
	Stale             int64
	MissingEmbeddings int64
}

type MigrationResult added in v0.1.24

type MigrationResult struct {
	BackupPath      string
	OldFormat       int
	NewFormat       int
	Memories        int64
	Embeddings      int64
	EmbeddingModels int64
}

func MigratePath added in v0.1.24

func MigratePath(ctx context.Context, path string) (MigrationResult, error)

type MoveResult added in v0.1.24

type MoveResult struct {
	Memory         domain.Memory
	From           domain.Scope
	FromAssignment domain.ScopeAssignment
	To             domain.Scope
}

type Preconditions added in v0.1.24

type Preconditions struct {
	ScopeID  string
	Revision int64
}

type Repository

type Repository struct {
	// contains filtered or unexported fields
}

func NewRepository

func NewRepository(db *sql.DB) *Repository

func (*Repository) AddMemory

func (r *Repository) AddMemory(ctx context.Context, text string, embedding []float32, identity EmbeddingIdentity, scopeID string, assignment domain.ScopeAssignment) (domain.Memory, error)

func (*Repository) AddRepositoryMemory added in v0.1.24

func (r *Repository) AddRepositoryMemory(ctx context.Context, text string, embedding []float32, identity EmbeddingIdentity, observation repoctx.Observation, assignment domain.ScopeAssignment) (domain.Memory, error)

func (*Repository) BindRepository added in v0.1.24

func (r *Repository) BindRepository(ctx context.Context, scopeID string, observation repoctx.Observation) (RepositoryBinding, error)

func (*Repository) CountMemories

func (r *Repository) CountMemories(ctx context.Context) (int64, error)

func (*Repository) EditMemory

func (r *Repository) EditMemory(ctx context.Context, id int64, text string, embedding []float32, identity EmbeddingIdentity, pre Preconditions) (domain.Memory, error)

func (*Repository) EnsureRepositoryScope added in v0.1.24

func (r *Repository) EnsureRepositoryScope(ctx context.Context, observation repoctx.Observation) (domain.Scope, error)

func (*Repository) ForgetMemory

func (r *Repository) ForgetMemory(ctx context.Context, id int64, pre Preconditions) (domain.Memory, error)

func (*Repository) GetMemory

func (r *Repository) GetMemory(ctx context.Context, id int64) (domain.Memory, error)

func (*Repository) GetScope added in v0.1.24

func (r *Repository) GetScope(ctx context.Context, id string) (domain.Scope, error)

func (*Repository) IndexHealth

func (r *Repository) IndexHealth(ctx context.Context, scopeIDs []string, identity EmbeddingIdentity) (IndexHealth, error)

func (*Repository) KeywordSearch

func (r *Repository) KeywordSearch(ctx context.Context, query string, scopeIDs []string, limit int) ([]domain.Memory, error)

func (*Repository) ListMemories

func (r *Repository) ListMemories(ctx context.Context, scopeIDs []string, limit int, legacyOnly bool) ([]domain.Memory, error)

func (*Repository) ListMemoriesNeedingIndex

func (r *Repository) ListMemoriesNeedingIndex(ctx context.Context, scopeIDs []string, identity EmbeddingIdentity) ([]domain.Memory, error)

func (*Repository) ListScopes added in v0.1.24

func (r *Repository) ListScopes(ctx context.Context) ([]ScopeInfo, error)

func (*Repository) MoveMemory added in v0.1.24

func (r *Repository) MoveMemory(ctx context.Context, id int64, destination string, pre Preconditions) (MoveResult, error)

func (*Repository) MoveMemoryToRepository added in v0.1.24

func (r *Repository) MoveMemoryToRepository(ctx context.Context, id int64, observation repoctx.Observation, pre Preconditions) (MoveResult, error)

func (*Repository) RebindRepository added in v0.1.24

func (r *Repository) RebindRepository(ctx context.Context, scopeID string, observation repoctx.Observation) (RepositoryBinding, RepositoryBinding, error)

func (*Repository) RecallSearch

func (r *Repository) RecallSearch(ctx context.Context, query string, scopeIDs []string, limit, recentWindow, candidateLimit int) ([]domain.Memory, error)

func (*Repository) RenameScope added in v0.1.24

func (r *Repository) RenameScope(ctx context.Context, scopeID, label string) (domain.Scope, error)

func (*Repository) ResolveRepository added in v0.1.24

func (r *Repository) ResolveRepository(ctx context.Context, observation repoctx.Observation) (RepositoryResolution, error)

func (*Repository) SemanticSearch

func (r *Repository) SemanticSearch(ctx context.Context, embedding []float32, scopeIDs []string, limit int, identity EmbeddingIdentity, maxDistance float64) ([]SemanticHit, error)

func (*Repository) SplitRepository added in v0.1.24

func (r *Repository) SplitRepository(ctx context.Context, observation repoctx.Observation) (domain.Scope, RepositoryBinding, error)

func (*Repository) UnbindRepository added in v0.1.24

func (r *Repository) UnbindRepository(ctx context.Context, observation repoctx.Observation, confirmOrphan bool) (RepositoryBinding, error)

func (*Repository) UpsertMemoryEmbedding

func (r *Repository) UpsertMemoryEmbedding(ctx context.Context, id int64, embedding []float32, identity EmbeddingIdentity, expectedRevision int64, expectedScope string) error

type RepositoryBinding added in v0.1.24

type RepositoryBinding struct {
	ID              int64
	ScopeID         string
	CommonDir       string
	WorktreeRoot    string
	RemoteName      string
	RemoteURL       string
	CanonicalRemote string
	Active          bool
}

type RepositoryResolution added in v0.1.24

type RepositoryResolution struct {
	Status ResolutionStatus
	Scope  *domain.Scope
	Drift  bool
}

type ResolutionStatus added in v0.1.24

type ResolutionStatus string
const (
	ResolutionBound       ResolutionStatus = "bound"
	ResolutionMatched     ResolutionStatus = "matched_unbound"
	ResolutionProspective ResolutionStatus = "prospective"
	ResolutionOutside     ResolutionStatus = "outside_repository"
	ResolutionAmbiguous   ResolutionStatus = "ambiguous"
	ResolutionUnavailable ResolutionStatus = "unavailable"
)

type ScopeInfo added in v0.1.24

type ScopeInfo struct {
	domain.Scope
	MemoryCount int64
	Latest      *time.Time
	Bindings    []RepositoryBinding
	Aliases     []string
}

type SemanticHit

type SemanticHit struct {
	Memory   domain.Memory
	Distance float64
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL