autoCompactIfNeeded method
Auto-compact if needed. Returns null when no compaction was needed.
Implementation
Future<CompactionResult?> autoCompactIfNeeded({
required List<Message> messages,
required String systemPrompt,
int contextWindow = 200000,
}) async {
if (!shouldAutoCompact(messages, contextWindow: contextWindow)) {
return null;
}
return compactConversation(
messages: messages,
systemPrompt: systemPrompt,
contextWindow: contextWindow,
isAutoCompact: true,
);
}