Versions in this module Expand all Collapse all v0 v0.3.0 May 26, 2026 v0.2.1 May 26, 2026 Changes in this version + func AdaptiveSizes(messages []WindowMessage, budget int) (head, tail int) + func FormatAnnotations(annotations []*Annotation) string + func FormatWindow(result *WindowResult) string + func ShouldApply(messages []WindowMessage, maxTokens int) bool + func StripAnnotations(content string) string + type AliasSuggestion struct + Alias string + Command string + Count int + Reason string + type Annotation struct + Author string + Content string + CreatedAt time.Time + File string + ID string + Line int + Resolved bool + Type string + func DetectAnnotations(content string) []*Annotation + type AnnotationManager struct + Annotations map[string][]*Annotation + func NewAnnotationManager() *AnnotationManager + func (am *AnnotationManager) Add(file string, line int, content, annotationType, author string) *Annotation + func (am *AnnotationManager) BuildContextFromAnnotations(file string) string + func (am *AnnotationManager) GetAll() []*Annotation + func (am *AnnotationManager) GetForFile(file string) []*Annotation + func (am *AnnotationManager) GetUnresolved() []*Annotation + func (am *AnnotationManager) InjectAnnotations(file, content string) string + func (am *AnnotationManager) Remove(id string) + func (am *AnnotationManager) Resolve(id string) + func (am *AnnotationManager) Summary() string + type CommandFrequency struct + AvgDuration time.Duration + Command string + Count int + FailRate float64 + type CommandHistory struct + Commands []CommandRecord + Failures map[string]int + Patterns map[string]int + func NewCommandHistory() *CommandHistory + func (ch *CommandHistory) Clear() + func (ch *CommandHistory) DetectPatterns() []string + func (ch *CommandHistory) FormatSummary() string + func (ch *CommandHistory) GetFailing() []CommandRecord + func (ch *CommandHistory) GetFrequent(limit int) []CommandFrequency + func (ch *CommandHistory) GetSlow(threshold time.Duration) []CommandRecord + func (ch *CommandHistory) Record(cmd string, exitCode int, duration time.Duration, output string) + func (ch *CommandHistory) SearchCommands(query string) []CommandRecord + func (ch *CommandHistory) SuggestAlias(minCount int) []AliasSuggestion + type CommandRecord struct + Command string + Duration time.Duration + ExitCode int + Output string + SessionID string + Timestamp time.Time + WorkDir string + type ConversationSummarizer struct + func NewConversationSummarizer() *ConversationSummarizer + func (cs *ConversationSummarizer) CompareMessages(before, after []SumMessage) string + func (cs *ConversationSummarizer) Detailed(messages []SumMessage) string + func (cs *ConversationSummarizer) ExtractDecisions(messages []SumMessage) []string + func (cs *ConversationSummarizer) ExtractFilesDiscussed(messages []SumMessage) []string + func (cs *ConversationSummarizer) ExtractTopics(messages []SumMessage) []string + func (cs *ConversationSummarizer) FormatSummary(summary *Summary) string + func (cs *ConversationSummarizer) GenerateTitle(messages []SumMessage) string + func (cs *ConversationSummarizer) OneLine(messages []SumMessage) string + func (cs *ConversationSummarizer) Paragraph(messages []SumMessage) string + func (cs *ConversationSummarizer) Structured(messages []SumMessage) *Summary + func (cs *ConversationSummarizer) Summarize(messages []SumMessage, level SummaryLevel) *Summary + type DistillExample struct + AssistantResponse string + CreatedAt time.Time + ID string + Model string + Quality float64 + SystemPrompt string + Tags []string + Tokens int + ToolCalls []string + UserMessage string + type DistillStats struct + AvgQuality float64 + ByModel map[string]int + ByTag map[string]int + EstimatedCost float64 + TotalExamples int + TotalTokens int + type DistillationPipeline struct + Dir string + Examples []DistillExample + MinQuality float64 + SourceModel string + TargetModel string + func NewDistillationPipeline(dir string) *DistillationPipeline + func (dp *DistillationPipeline) Capture(system, user, assistant string, toolCalls []string, quality float64, ...) + func (dp *DistillationPipeline) Deduplicate() + func (dp *DistillationPipeline) ExportAnthropicFormat(path string) error + func (dp *DistillationPipeline) ExportJSONL(path string) error + func (dp *DistillationPipeline) ExportOpenAI(path string) error + func (dp *DistillationPipeline) Filter(minQuality float64, tags []string) []DistillExample + func (dp *DistillationPipeline) FormatStats() string + func (dp *DistillationPipeline) Load() error + func (dp *DistillationPipeline) Prune(maxExamples int) + func (dp *DistillationPipeline) Save() error + func (dp *DistillationPipeline) Stats() DistillStats + type FileMentionDetector struct + func NewFileMentionDetector(projectRoot string) *FileMentionDetector + func (d *FileMentionDetector) BuildSuggestion(newFiles []string) string + func (d *FileMentionDetector) DetectMentions(text string) []string + func (d *FileMentionDetector) FilterNew(paths []string, alreadyInContext map[string]bool) []string + func (d *FileMentionDetector) InjectFileMentionContext(text string, messages []types.EyrieMessage) string + type HeadTailWindow struct + HeadSize int + IncludeSummary bool + MaxTokens int + TailSize int + func NewHeadTailWindow(headSize, tailSize, maxTokens int) *HeadTailWindow + func (w *HeadTailWindow) Apply(messages []WindowMessage) *WindowResult + type SumMessage struct + Content string + IsError bool + Role string + ToolName string + type Summary struct + Content string + Decisions []string + FilesDiscussed []string + Level string + TokensSaved int + ToolsUsed map[string]int + Topics []string + type SummaryLevel string + const SummaryDetailed + const SummaryOneLine + const SummaryParagraph + const SummaryStructured + type WindowMessage struct + Content string + Index int + IsToolResult bool + Role string + Tokens int + func PreserveToolPairs(messages []WindowMessage, head, tail int) ([]WindowMessage, int) + type WindowResult struct + Dropped int + Head []WindowMessage + Summary string + Tail []WindowMessage + TotalTokens int