stack

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: May 1, 2026 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DBAccessor added in v0.2.0

type DBAccessor interface {
	DB() *sql.DB
}

type EntityDetector added in v0.2.0

type EntityDetector interface {
	Detect(text string) []string
}

EntityDetector extracts known entities from text.

type EssentialLayer added in v0.2.0

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

func NewEssentialLayer added in v0.2.0

func NewEssentialLayer(store DBAccessor, logger *slog.Logger) *EssentialLayer

func (*EssentialLayer) CacheHits added in v0.2.0

func (l *EssentialLayer) CacheHits() int64

CacheHits returns the number of cache hits since creation.

func (*EssentialLayer) CacheMisses added in v0.2.0

func (l *EssentialLayer) CacheMisses() int64

CacheMisses returns the number of cache misses since creation.

func (*EssentialLayer) Invalidate added in v0.2.0

func (l *EssentialLayer) Invalidate(projectID string)

func (*EssentialLayer) Render added in v0.2.0

func (l *EssentialLayer) Render(projectID string) string

type IdentityLayer

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

func NewIdentityLayer

func NewIdentityLayer(path string, logger *slog.Logger, budget int) *IdentityLayer

func (*IdentityLayer) Reload

func (l *IdentityLayer) Reload() error

func (*IdentityLayer) Render

func (l *IdentityLayer) Render() string

func (*IdentityLayer) Start

func (l *IdentityLayer) Start() error

func (*IdentityLayer) Stop

func (l *IdentityLayer) Stop()

type LayerOutput

type LayerOutput struct {
	Label   string
	Content string
	Bytes   int
}

type OnDemandLayer

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

OnDemandLayer retrieves contextual memories based on entities detected in the current query. Composes an EntityDetector with FTS5 search and optional topic change detection.

func NewOnDemandLayer

func NewOnDemandLayer(store DBAccessor, entityDetector EntityDetector, topicDetector TopicChangeChecker, logger *slog.Logger, cfg OnDemandLayerConfig) *OnDemandLayer

NewOnDemandLayer creates a real on-demand retrieval layer. store provides DB access for FTS5 queries. entityDetector extracts entities from query text. topicDetector may be nil — topic change detection is optional.

func (*OnDemandLayer) Render

func (l *OnDemandLayer) Render(query, projectID string) string

Render retrieves memories relevant to the query entities and returns a formatted markdown snippet. If query is empty, returns "".

type OnDemandLayerConfig added in v0.2.0

type OnDemandLayerConfig struct {
	Budget     int
	MaxResults int
}

OnDemandLayerConfig holds optional configuration.

type ProjectLayer

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

func NewProjectLayer

func NewProjectLayer(getStoryFn func() string) *ProjectLayer

func NewProjectLayerWithEssential added in v0.2.0

func NewProjectLayerWithEssential(store DBAccessor, projectID string, logger *slog.Logger) *ProjectLayer

func (*ProjectLayer) Invalidate added in v0.2.0

func (l *ProjectLayer) Invalidate()

func (*ProjectLayer) Render

func (l *ProjectLayer) Render() string

type Stack

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

func NewStack

func NewStack(identity *IdentityLayer, project *ProjectLayer, ondemand *OnDemandLayer, budget int, logger *slog.Logger) *Stack

func (*Stack) Metrics added in v0.2.0

func (s *Stack) Metrics() StackMetrics

func (*Stack) Render

func (s *Stack) Render() string

type StackMetrics added in v0.2.0

type StackMetrics struct {
	LayerBytesL0  int64
	LayerBytesL1  int64
	LayerBytesL2  int64
	L1CacheHits   int64
	L1CacheMisses int64
	TotalRenders  int64
}

type TopicChangeChecker added in v0.2.0

type TopicChangeChecker interface {
	Check(ctx context.Context, query string) (bool, error)
}

TopicChangeChecker detects whether the topic has shifted between queries.

Jump to

Keyboard shortcuts

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