db

package
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: Mar 7, 2026 License: MIT Imports: 2 Imported by: 0

Documentation

Overview

Package db defines database interfaces for the engram stores.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ObservationReader

type ObservationReader interface {
	GetObservationByID(ctx context.Context, id int64) (*models.Observation, error)
	GetObservationsByIDs(ctx context.Context, ids []int64, orderBy string, limit int) ([]*models.Observation, error)
	GetRecentObservations(ctx context.Context, project string, limit int) ([]*models.Observation, error)
	GetActiveObservations(ctx context.Context, project string, limit int) ([]*models.Observation, error)
	GetAllRecentObservations(ctx context.Context, limit int) ([]*models.Observation, error)
	GetAllObservations(ctx context.Context) ([]*models.Observation, error)
	SearchObservationsFTS(ctx context.Context, query, project string, limit int) ([]*models.Observation, error)
	GetObservationCount(ctx context.Context, project string) (int, error)
}

ObservationReader defines read operations for observations.

type ObservationStore

type ObservationStore interface {
	ObservationReader
	ObservationWriter
}

ObservationStore combines read and write operations for observations.

type ObservationWriter

type ObservationWriter interface {
	StoreObservation(ctx context.Context, sdkSessionID, project string, obs *models.ParsedObservation, promptNumber int, discoveryTokens int64) (int64, int64, error)
	DeleteObservations(ctx context.Context, ids []int64) (int64, error)
}

ObservationWriter defines write operations for observations.

type PromptReader

type PromptReader interface {
	GetPromptsByIDs(ctx context.Context, ids []int64, orderBy string, limit int) ([]*models.UserPromptWithSession, error)
	GetAllRecentUserPrompts(ctx context.Context, limit int) ([]*models.UserPromptWithSession, error)
	GetAllPrompts(ctx context.Context) ([]*models.UserPromptWithSession, error)
	GetRecentUserPromptsByProject(ctx context.Context, project string, limit int) ([]*models.UserPromptWithSession, error)
	FindRecentPromptByText(ctx context.Context, claudeSessionID, promptText string, withinSeconds int) (int64, int, bool)
}

PromptReader defines read operations for prompts.

type PromptStore

type PromptStore interface {
	PromptReader
	PromptWriter
}

PromptStore combines read and write operations for prompts.

type PromptWriter

type PromptWriter interface {
	SaveUserPromptWithMatches(ctx context.Context, claudeSessionID string, promptNumber int, promptText string, matchedObservations int) (int64, error)
}

PromptWriter defines write operations for prompts.

type SummaryReader

type SummaryReader interface {
	GetSummariesByIDs(ctx context.Context, ids []int64, orderBy string, limit int) ([]*models.SessionSummary, error)
	GetRecentSummaries(ctx context.Context, project string, limit int) ([]*models.SessionSummary, error)
	GetAllRecentSummaries(ctx context.Context, limit int) ([]*models.SessionSummary, error)
	GetAllSummaries(ctx context.Context) ([]*models.SessionSummary, error)
}

SummaryReader defines read operations for summaries.

type SummaryStore

type SummaryStore interface {
	SummaryReader
	SummaryWriter
}

SummaryStore combines read and write operations for summaries.

type SummaryWriter

type SummaryWriter interface {
	StoreSummary(ctx context.Context, sdkSessionID, project string, summary *models.ParsedSummary, promptNumber int, discoveryTokens int64) (int64, int64, error)
}

SummaryWriter defines write operations for summaries.

Directories

Path Synopsis
Package gorm provides GORM-based database operations for engram.
Package gorm provides GORM-based database operations for engram.

Jump to

Keyboard shortcuts

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