DefaultCompactConfig returns sensible defaults for chat mode.
(provider, model string)
| 117 | |
| 118 | // DefaultCompactConfig returns sensible defaults for chat mode. |
| 119 | func DefaultCompactConfig(provider, model string) CompactConfig { |
| 120 | cfg := CompactConfig{ |
| 121 | Provider: provider, |
| 122 | Model: model, |
| 123 | BudgetRatio: 0.75, |
| 124 | MinKeepRecent: 10, |
| 125 | CharsPerToken: 4, |
| 126 | } |
| 127 | // Human-friendly env: CHATCLI_MAX_PAYLOAD=5MB / 512KB / 2.5MB. |
| 128 | if v := os.Getenv("CHATCLI_MAX_PAYLOAD"); v != "" { |
| 129 | if n := ParsePayloadSize(v); n > 0 { |
| 130 | cfg.MaxPayloadBytes = n |
| 131 | } |
| 132 | } |
| 133 | return cfg |
| 134 | } |
| 135 | |
| 136 | // NewHistoryCompactor creates a new HistoryCompactor with its embedded trimmer. |
| 137 | func NewHistoryCompactor(logger *zap.Logger) *HistoryCompactor { |
no test coverage detected