pub fn compact_messages(
messages: Vec<Message>,
budget: TokenBudget,
) -> Vec<Message>Expand description
Truncate older messages when over budget. Keeps system prompt and recent turns. Used as a last-resort guard when building the LLM request.