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 + func BuildTranscript(messages []types.Message, maxChars int) string + type Entity struct + CreatedAt time.Time + EntityType string + ID string + Name string + Observations []string + UpdatedAt time.Time + UserID string + type EntityInput struct + EntityType string + Name string + Observations []string + func ParseLLMResponse(raw string) ([]EntityInput, error) + type Extractor struct + func NewExtractor(store Store, caller LLMCaller, cfg ExtractorConfig) *Extractor + func (e *Extractor) Extract(ctx context.Context, userID string, messages []types.Message) error + type ExtractorConfig struct + ExtractionTimeout time.Duration + MaxTranscriptChars int + MinTurns int + Model types.ModelIdentifier + func DefaultExtractorConfig() ExtractorConfig + type Graph struct + Entities []Entity + Relations []Relation + type LLMCaller interface + CreateMessage func(ctx context.Context, req types.APIRequest) (*types.APIResponse, error) + type ObservationInput struct + Contents []string + EntityName string + type ObservationResult struct + AddedObservations []string + EntityName string + type Relation struct + CreatedAt time.Time + From string + ID string + RelationType string + To string + UserID string + type RelationInput struct + From string + RelationType string + To string + type SQLiteStore struct + func NewSQLiteStore(db *sql.DB) *SQLiteStore + func (s *SQLiteStore) AddObservations(ctx context.Context, userID string, inputs []ObservationInput) ([]ObservationResult, error) + func (s *SQLiteStore) OpenNodes(ctx context.Context, userID string, names []string) (*Graph, error) + func (s *SQLiteStore) RetrieveForContext(ctx context.Context, userID, query string, maxTokens int) (string, error) + func (s *SQLiteStore) SearchNodes(ctx context.Context, userID, query string) (*Graph, error) + func (s *SQLiteStore) UpsertEntities(ctx context.Context, userID string, inputs []EntityInput) ([]Entity, error) + type Store interface + AddObservations func(ctx context.Context, userID string, inputs []ObservationInput) ([]ObservationResult, error) + OpenNodes func(ctx context.Context, userID string, names []string) (*Graph, error) + RetrieveForContext func(ctx context.Context, userID, query string, maxTokens int) (string, error) + SearchNodes func(ctx context.Context, userID, query string) (*Graph, error) + UpsertEntities func(ctx context.Context, userID string, inputs []EntityInput) ([]Entity, error)