memory

package
v1.3.2 Latest Latest
Warning

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

Go to latest
Published: May 14, 2026 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

View Source
const (
	SummarizePolicyNormal     = "normal"
	SummarizePolicyAggressive = "aggressive"
)

SummarizePolicy constants control how aggressively content is compressed.

Variables

This section is empty.

Functions

func BuildPrompt

func BuildPrompt(text string, opts SummarizeOptions) string

BuildPrompt constructs the appropriate summarization prompt.

func BuildSummarize

func BuildSummarize(ctx context.Context, chat LLMGenerate, text string, opts SummarizeOptions) (string, error)

func EstimateTokens

func EstimateTokens(text string) int

EstimateTokens returns a rough token count (~4 chars per token).

Types

type LLMGenerate

type LLMGenerate func(ctx context.Context, prompt string) (string, error)

type LLMSummarizer

type LLMSummarizer struct {
	// Generate calls the LLM with the given prompt and returns the response text.
	Generate func(ctx context.Context, prompt string) (string, error)
}

LLMSummarizer generates summaries using an LLM via a callback function.

func (*LLMSummarizer) Summarize

func (s *LLMSummarizer) Summarize(ctx context.Context, text string, opts SummarizeOptions) (string, error)

Summarize generates a summary with escalation: normal -> aggressive -> deterministic fallback.

type StaticSummarizer

type StaticSummarizer struct {
	Response string
	Err      error
}

StaticSummarizer always returns a fixed response (for testing).

func (*StaticSummarizer) Summarize

Summarize returns the static response.

type SummarizeOptions

type SummarizeOptions struct {
	IsCondensed  bool
	Depth        int
	Aggressive   bool
	Previous     string // previous summary for continuity
	TargetTokens int
}

SummarizeOptions controls summarization behavior.

type Summarizer

type Summarizer interface {
	Summarize(ctx context.Context, text string, opts SummarizeOptions) (string, error)
}

Summarizer generates summaries from content.

Jump to

Keyboard shortcuts

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