class CompactionCheck
Checks context size after each LLM call and triggers compaction when thresholds are exceeded.
It should add a compaction event to the logs with the context token total listed... this way a model that supports extra context can include the compaction as well as the previous messages...
Or an LLM that doesn't support it can just use the messages that come after the compaction