Documentation
¶
Index ¶
- Constants
- Variables
- func BuildActiveMessages(result Result, tail []session.Message) []session.Message
- func BuildActiveMessagesWithKeptUsers(result Result, keptUsers, tail []session.Message) []session.Message
- func BuildCheckpointMessage(summary string, keptUsers, tail []session.Message) session.Message
- func ExtractCheckpointSummary(content string) string
- func SummaryPrompt(prep Preparation, policy contextpolicy.Policy, outputCap int64) string
- func SummaryPromptWithOptions(prep Preparation, policy contextpolicy.Policy, outputCap int64, ...) string
- func SummaryWriterSystemPrompt() string
- func SummaryWriterSystemPromptWithOptions(options PromptOptions) string
- type ExtractiveSummaryGenerator
- type Phase
- type Preparation
- type PromptOptions
- type Reason
- type Request
- type Result
- type SummaryGenerationDetails
- type SummaryGenerator
- type Trigger
Constants ¶
View Source
const (
DefaultSummaryTitle = "Context Compaction Summary"
)
View Source
const SummarySchemaVersion = "floret.compaction.summary.v1"
Variables ¶
View Source
var ( ErrNoCutPoint = errors.New("compaction has no safe cut point") ErrInvalidReference = errors.New("compaction reference is invalid") )
Functions ¶
func BuildActiveMessages ¶
func BuildCheckpointMessage ¶
func SummaryPrompt ¶
func SummaryPrompt(prep Preparation, policy contextpolicy.Policy, outputCap int64) string
func SummaryPromptWithOptions ¶
func SummaryPromptWithOptions(prep Preparation, policy contextpolicy.Policy, outputCap int64, options PromptOptions) string
func SummaryWriterSystemPrompt ¶
func SummaryWriterSystemPrompt() string
func SummaryWriterSystemPromptWithOptions ¶
func SummaryWriterSystemPromptWithOptions(options PromptOptions) string
Types ¶
type ExtractiveSummaryGenerator ¶
type ExtractiveSummaryGenerator struct {
PromptOptions PromptOptions
}
func (ExtractiveSummaryGenerator) GenerateSummary ¶
func (g ExtractiveSummaryGenerator) GenerateSummary(_ context.Context, prep Preparation) (string, error)
type Preparation ¶
type Preparation struct {
Request Request
CompactedHead []session.Message
RetainedTail []session.Message
ActiveMessages []session.Message
Result Result
}
func Prepare ¶
func Prepare(ctx context.Context, req Request, generator SummaryGenerator) (Preparation, error)
type PromptOptions ¶
func DefaultPromptOptions ¶
func DefaultPromptOptions() PromptOptions
func NormalizePromptOptions ¶
func NormalizePromptOptions(options PromptOptions) PromptOptions
type Request ¶
type Request struct {
CompactionID string
SupplementalAnchorEntryID string
OperationID string
RequestID string
Source string
PreviousCompactionID string
PreviousGeneration int
PreviousWindowID string
PreviousSummary string
History []session.Message
Policy contextpolicy.Policy
Trigger Trigger
Reason Reason
Phase Phase
Step int
Details map[string]string
Now time.Time
}
type Result ¶
type Result struct {
CompactionID string `json:"compaction_id"`
OperationID string `json:"operation_id"`
RequestID string `json:"request_id"`
Source string `json:"source"`
PreviousCompactionID string `json:"previous_compaction_id,omitempty"`
CompactionGeneration int `json:"compaction_generation,omitempty"`
CompactionWindowID string `json:"compaction_window_id,omitempty"`
FirstKeptEntryID string `json:"first_kept_entry_id,omitempty"`
KeptUserEntryIDs []string `json:"kept_user_entry_ids,omitempty"`
CompactedThroughEntryID string `json:"compacted_through_entry_id,omitempty"`
Summary string `json:"summary"`
SummarySchemaVersion string `json:"summary_schema_version"`
Trigger Trigger `json:"trigger"`
Reason Reason `json:"reason"`
Phase Phase `json:"phase"`
TokensBefore int64 `json:"tokens_before"`
TokensAfterEstimate int64 `json:"tokens_after_estimate"`
UsageBefore contextpolicy.Usage `json:"usage_before"`
UsageAfter contextpolicy.Usage `json:"usage_after"`
Details map[string]string `json:"details,omitempty"`
CreatedAt time.Time `json:"created_at"`
}
type SummaryGenerator ¶
type SummaryGenerator interface {
GenerateSummary(context.Context, Preparation) (string, error)
}
Click to show internal directories.
Click to hide internal directories.