Documentation
¶
Index ¶
- Constants
- Variables
- func CreateCurrentDatabase(path string) (*sql.DB, error)
- func IsDatabaseNotFound(err error) bool
- func IsMigrationRequired(err error) bool
- func Open(path string) (*sql.DB, error)
- func OpenCompatibleReadOnly(path string) (*sql.DB, error)
- func OpenExisting(path string) (*sql.DB, error)
- func OpenExistingWritable(path string) (*sql.DB, error)
- type DatabaseInfo
- type DatabaseStatus
- type EmbeddingIdentity
- type IndexHealth
- type MigrationResult
- type MoveResult
- type Preconditions
- type Repository
- func (r *Repository) AddMemory(ctx context.Context, text string, embedding []float32, ...) (domain.Memory, error)
- func (r *Repository) AddRepositoryMemory(ctx context.Context, text string, embedding []float32, ...) (domain.Memory, error)
- func (r *Repository) BindRepository(ctx context.Context, scopeID string, observation repoctx.Observation) (RepositoryBinding, error)
- func (r *Repository) CountMemories(ctx context.Context) (int64, error)
- func (r *Repository) EditMemory(ctx context.Context, id int64, text string, embedding []float32, ...) (domain.Memory, error)
- func (r *Repository) EnsureRepositoryScope(ctx context.Context, observation repoctx.Observation) (domain.Scope, error)
- func (r *Repository) ForgetMemory(ctx context.Context, id int64, pre Preconditions) (domain.Memory, error)
- func (r *Repository) GetMemory(ctx context.Context, id int64) (domain.Memory, error)
- func (r *Repository) GetScope(ctx context.Context, id string) (domain.Scope, error)
- func (r *Repository) IndexHealth(ctx context.Context, scopeIDs []string, identity EmbeddingIdentity) (IndexHealth, error)
- func (r *Repository) KeywordSearch(ctx context.Context, query string, scopeIDs []string, limit int) ([]domain.Memory, error)
- func (r *Repository) ListMemories(ctx context.Context, scopeIDs []string, limit int, legacyOnly bool) ([]domain.Memory, error)
- func (r *Repository) ListMemoriesNeedingIndex(ctx context.Context, scopeIDs []string, identity EmbeddingIdentity) ([]domain.Memory, error)
- func (r *Repository) ListScopes(ctx context.Context) ([]ScopeInfo, error)
- func (r *Repository) MoveMemory(ctx context.Context, id int64, destination string, pre Preconditions) (MoveResult, error)
- func (r *Repository) MoveMemoryToRepository(ctx context.Context, id int64, observation repoctx.Observation, ...) (MoveResult, error)
- func (r *Repository) RebindRepository(ctx context.Context, scopeID string, observation repoctx.Observation) (RepositoryBinding, RepositoryBinding, error)
- func (r *Repository) RecallSearch(ctx context.Context, query string, scopeIDs []string, ...) ([]domain.Memory, error)
- func (r *Repository) RenameScope(ctx context.Context, scopeID, label string) (domain.Scope, error)
- func (r *Repository) ResolveRepository(ctx context.Context, observation repoctx.Observation) (RepositoryResolution, error)
- func (r *Repository) SemanticSearch(ctx context.Context, embedding []float32, scopeIDs []string, limit int, ...) ([]SemanticHit, error)
- func (r *Repository) SplitRepository(ctx context.Context, observation repoctx.Observation) (domain.Scope, RepositoryBinding, error)
- func (r *Repository) UnbindRepository(ctx context.Context, observation repoctx.Observation, confirmOrphan bool) (RepositoryBinding, error)
- func (r *Repository) UpsertMemoryEmbedding(ctx context.Context, id int64, embedding []float32, identity EmbeddingIdentity, ...) error
- type RepositoryBinding
- type RepositoryResolution
- type ResolutionStatus
- type ScopeInfo
- type SemanticHit
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") )
Functions ¶
func CreateCurrentDatabase ¶ added in v0.1.24
func IsDatabaseNotFound ¶
func IsMigrationRequired ¶
func OpenCompatibleReadOnly ¶ added in v0.1.24
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 IndexHealth ¶
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 Preconditions ¶ added in v0.1.24
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) IndexHealth ¶
func (r *Repository) IndexHealth(ctx context.Context, scopeIDs []string, identity EmbeddingIdentity) (IndexHealth, error)
func (*Repository) KeywordSearch ¶
func (*Repository) ListMemories ¶
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 (*Repository) RenameScope ¶ added in v0.1.24
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 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" )
type SemanticHit ¶
Click to show internal directories.
Click to hide internal directories.