sessionsummary

package
v0.1.2 Latest Latest
Warning

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

Go to latest
Published: Jul 15, 2026 License: MIT Imports: 6 Imported by: 0

Documentation

Overview

Package sessionsummary stores compact summaries for resumed sessions.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CompressSummaryText

func CompressSummaryText(summary string) string

func RenderText

func RenderText(w io.Writer, report Report)

Types

type CompressionBudget

type CompressionBudget struct {
	MaxChars     int `json:"max_chars"`
	MaxLines     int `json:"max_lines"`
	MaxLineChars int `json:"max_line_chars"`
}

func DefaultCompressionBudget

func DefaultCompressionBudget() CompressionBudget

type CompressionResult

type CompressionResult struct {
	Summary               string `json:"summary"`
	OriginalChars         int    `json:"original_chars"`
	CompressedChars       int    `json:"compressed_chars"`
	OriginalLines         int    `json:"original_lines"`
	CompressedLines       int    `json:"compressed_lines"`
	RemovedDuplicateLines int    `json:"removed_duplicate_lines"`
	OmittedLines          int    `json:"omitted_lines"`
	Truncated             bool   `json:"truncated"`
}

func BuildCompactionSummary

func BuildCompactionSummary(omitted []anthropic.Message, retained int) CompressionResult

func CompressText

func CompressText(summary string, budget CompressionBudget) CompressionResult

type Preview

type Preview struct {
	Role string `json:"role"`
	Text string `json:"text"`
}

type Report

type Report struct {
	Kind              string             `json:"kind"`
	Action            string             `json:"action"`
	Status            string             `json:"status"`
	SessionID         string             `json:"session_id"`
	Path              string             `json:"path,omitempty"`
	Model             string             `json:"model"`
	MessageCount      int                `json:"message_count"`
	UserMessages      int                `json:"user_messages"`
	AssistantMessages int                `json:"assistant_messages"`
	ToolUses          int                `json:"tool_uses"`
	ToolResults       int                `json:"tool_results"`
	ToolErrors        int                `json:"tool_errors"`
	TokenEstimate     usage.Summary      `json:"token_estimate"`
	FirstUser         *Preview           `json:"first_user,omitempty"`
	LastUser          *Preview           `json:"last_user,omitempty"`
	LastAssistant     *Preview           `json:"last_assistant,omitempty"`
	Roles             []usage.RoleUsage  `json:"roles,omitempty"`
	Blocks            []usage.BlockUsage `json:"blocks,omitempty"`
}

func Build

func Build(sessionID string, path string, model string, messages []anthropic.Message) Report

Jump to

Keyboard shortcuts

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