shouldAutoCompact method

bool shouldAutoCompact(
  1. List<Message> messages, {
  2. int contextWindow = 200000,
})

Returns true when messages exceed the auto-compact threshold.

The threshold is contextWindow minus autocompactBufferTokens. The circuit breaker trips after maxConsecutiveFailures consecutive failures to prevent infinite retry loops.

Implementation

bool shouldAutoCompact(
  List<Message> messages, {
  int contextWindow = 200000,
}) {
  if (_consecutiveFailures >= maxConsecutiveFailures) return false;

  final threshold = contextWindow - autocompactBufferTokens;
  final estimated = estimateTokenCount(messages);
  return estimated >= threshold;
}