Documentation
¶
Index ¶
- Constants
- func EstimateMessageTokens(msg session.Message) int64
- func EstimateTextTokens(value string) int64
- func HasValues(policy Policy) bool
- func OutputHeadroom(policy Policy) int64
- func RatioLimitTokens(policy Policy) int64
- func RequestSafeLimitTokens(policy Policy) int64
- func Threshold(policy Policy) int64
- type ContextPressure
- func PressureFromManual(usage Usage, policy Policy) ContextPressure
- func PressureFromMissingNativeUsage(estimate RequestEstimate, policy Policy) ContextPressure
- func PressureFromNativeUsage(usage NativeUsage, policy Policy) ContextPressure
- func PressureFromOverflow(policy Policy) ContextPressure
- func PressureFromProjectedRequest(estimate RequestEstimate, delta RequestDeltaEstimate, policy Policy) ContextPressure
- type EstimateConfidence
- type EstimateMethod
- type MessageContextEstimate
- type NativeUsage
- type Policy
- type PressureSignal
- type PressureSource
- type RequestDeltaEstimate
- type RequestEstimate
- type Usage
Constants ¶
View Source
const ( MinSupportedContextWindowTokens int64 = 256000 DefaultContextWindowTokens int64 = MinSupportedContextWindowTokens DefaultMaxOutputTokens int64 = 0 DefaultReservedOutputTokens int64 = 64000 DefaultAutoCompactRatioPercent int64 = 90 DefaultCompactedContextTargetTokens int64 = 50000 DefaultReservedSummaryTokens int64 = 20000 DefaultRecentTailTokens int64 = 12000 DefaultRecentUserTokens int64 = 15000 DefaultCheckpointOverheadTokens int64 = 2000 DefaultEstimatorSource = "generic_conservative" DefaultEstimatorMethod = EstimateMethodMessageContext )
Variables ¶
This section is empty.
Functions ¶
func EstimateMessageTokens ¶
func EstimateTextTokens ¶
func OutputHeadroom ¶
func RatioLimitTokens ¶
func RequestSafeLimitTokens ¶
Types ¶
type ContextPressure ¶
type ContextPressure struct {
WindowInputTokens int64 `json:"window_input_tokens,omitempty"`
ProjectedInputTokens int64 `json:"projected_input_tokens,omitempty"`
ContextWindowTokens int64 `json:"context_window_tokens,omitempty"`
ThresholdTokens int64 `json:"threshold_tokens,omitempty"`
RequestSafeLimit int64 `json:"request_safe_limit_tokens,omitempty"`
OutputHeadroomTokens int64 `json:"output_headroom_tokens,omitempty"`
Signal PressureSignal `json:"pressure_signal,omitempty"`
Source PressureSource `json:"pressure_source,omitempty"`
EstimateMethod EstimateMethod `json:"estimate_method,omitempty"`
Confidence EstimateConfidence `json:"confidence,omitempty"`
CompactionNeeded bool `json:"compaction_needed,omitempty"`
HardLimitExceeded bool `json:"hard_limit_exceeded,omitempty"`
}
func PressureFromManual ¶
func PressureFromManual(usage Usage, policy Policy) ContextPressure
func PressureFromMissingNativeUsage ¶
func PressureFromMissingNativeUsage(estimate RequestEstimate, policy Policy) ContextPressure
func PressureFromNativeUsage ¶
func PressureFromNativeUsage(usage NativeUsage, policy Policy) ContextPressure
func PressureFromOverflow ¶
func PressureFromOverflow(policy Policy) ContextPressure
func PressureFromProjectedRequest ¶
func PressureFromProjectedRequest(estimate RequestEstimate, delta RequestDeltaEstimate, policy Policy) ContextPressure
type EstimateConfidence ¶
type EstimateConfidence string
const ( EstimateExact EstimateConfidence = "exact" EstimateApproximate EstimateConfidence = "approximate" EstimateConservative EstimateConfidence = "conservative" )
type EstimateMethod ¶
type EstimateMethod string
const ( EstimateMethodGenericPayload EstimateMethod = "generic_payload_estimate" EstimateMethodProviderRenderedPayload EstimateMethod = "provider_rendered_payload_estimate" EstimateMethodMessageContext EstimateMethod = "message_context_estimate" EstimateMethodOfficialPreflightCount EstimateMethod = "official_preflight_count" EstimateMethodUnknown EstimateMethod = "unknown_estimate_method" )
func MethodForEstimateSource ¶
func MethodForEstimateSource(source string, defaultMethod EstimateMethod) EstimateMethod
type MessageContextEstimate ¶
type MessageContextEstimate struct {
PrefixTokens int64 `json:"prefix_tokens,omitempty"`
MessageTokens int64 `json:"message_tokens,omitempty"`
InputTokens int64 `json:"input_tokens,omitempty"`
Source string `json:"source,omitempty"`
Method EstimateMethod `json:"method,omitempty"`
Confidence EstimateConfidence `json:"confidence,omitempty"`
}
func (MessageContextEstimate) Normalized ¶
func (e MessageContextEstimate) Normalized(policy Policy) MessageContextEstimate
type NativeUsage ¶
type Policy ¶
type Policy struct {
ContextWindowTokens int64 `json:"context_window_tokens,omitempty"`
MaxOutputTokens int64 `json:"max_output_tokens,omitempty"`
ReservedOutputTokens int64 `json:"reserved_output_tokens,omitempty"`
ReservedSummaryTokens int64 `json:"reserved_summary_tokens,omitempty"`
RecentTailTokens int64 `json:"recent_tail_tokens,omitempty"`
RecentUserTokens int64 `json:"recent_user_tokens,omitempty"`
CompactedContextTargetTokens int64 `json:"compacted_context_target_tokens,omitempty"`
EstimatorSource string `json:"estimator_source,omitempty"`
EstimatorMethod EstimateMethod `json:"estimator_method,omitempty"`
MaxCompactionFailures int `json:"max_compaction_failures,omitempty"`
}
func MergeDefaults ¶
type PressureSignal ¶
type PressureSignal string
const ( PressureSignalNativeUsage PressureSignal = "native_usage" PressureSignalProjected PressureSignal = "projected_request" PressureSignalOverflow PressureSignal = "provider_overflow" PressureSignalManual PressureSignal = "manual" )
type PressureSource ¶
type PressureSource string
const ( PressureSourceProviderUsage PressureSource = "provider_usage" PressureSourceUsageAnchoredDelta PressureSource = "usage_anchored_delta" PressureSourceFullRequestEstimate PressureSource = "full_request_estimate" PressureSourceMissingNativeUsage PressureSource = "missing_native_usage_request_estimate" PressureSourceManual PressureSource = "manual" )
type RequestDeltaEstimate ¶
type RequestDeltaEstimate struct {
MessageDeltaTokens int64 `json:"message_delta_tokens,omitempty"`
PrefixDeltaTokens int64 `json:"prefix_delta_tokens,omitempty"`
ToolDefinitionDeltaTokens int64 `json:"tool_definition_delta_tokens,omitempty"`
EstimatedDeltaTokens int64 `json:"estimated_delta_tokens,omitempty"`
Source string `json:"source,omitempty"`
Method EstimateMethod `json:"method,omitempty"`
Confidence EstimateConfidence `json:"confidence,omitempty"`
}
func (RequestDeltaEstimate) Normalized ¶
func (e RequestDeltaEstimate) Normalized() RequestDeltaEstimate
type RequestEstimate ¶
type RequestEstimate struct {
PrefixTokens int64 `json:"prefix_tokens,omitempty"`
MessageTokens int64 `json:"message_tokens,omitempty"`
ToolDefinitionTokens int64 `json:"tool_definition_tokens,omitempty"`
EstimatedInputTokens int64 `json:"estimated_input_tokens,omitempty"`
Source string `json:"source,omitempty"`
Method EstimateMethod `json:"method,omitempty"`
Confidence EstimateConfidence `json:"confidence,omitempty"`
}
func (RequestEstimate) Normalized ¶
func (e RequestEstimate) Normalized(policy Policy) RequestEstimate
type Usage ¶
type Usage struct {
PrefixTokens int64 `json:"prefix_tokens,omitempty"`
MessageTokens int64 `json:"message_tokens,omitempty"`
InputTokens int64 `json:"input_tokens,omitempty"`
ContextWindow int64 `json:"context_window,omitempty"`
ThresholdTokens int64 `json:"threshold_tokens,omitempty"`
RatioLimitTokens int64 `json:"ratio_limit_tokens,omitempty"`
RequestSafeLimit int64 `json:"request_safe_limit_tokens,omitempty"`
MaxOutputTokens int64 `json:"max_output_tokens,omitempty"`
ReservedOutput int64 `json:"reserved_output,omitempty"`
ReservedSummary int64 `json:"reserved_summary,omitempty"`
OutputHeadroom int64 `json:"output_headroom_tokens,omitempty"`
AutoCompactRatio int64 `json:"auto_compact_ratio_pct,omitempty"`
RecentTailTokens int64 `json:"recent_tail_tokens,omitempty"`
RecentUserTokens int64 `json:"recent_user_tokens,omitempty"`
Source string `json:"source,omitempty"`
Method EstimateMethod `json:"method,omitempty"`
Confidence EstimateConfidence `json:"confidence,omitempty"`
CompactionNeeded bool `json:"compaction_needed,omitempty"`
HardLimitExceeded bool `json:"hard_limit_exceeded,omitempty"`
}
Usage is the compaction-internal message-context budget. It intentionally excludes request tool schemas, native usage, projected pressure, and triggers.
func EstimateMessageContext ¶
func UsageFromEstimate ¶
func UsageFromEstimate(estimate MessageContextEstimate, policy Policy) Usage
func UsageFromMessageContextEstimate ¶
func UsageFromMessageContextEstimate(estimate MessageContextEstimate, policy Policy) Usage
Click to show internal directories.
Click to hide internal directories.