#[compressor]Expand description
Generate a ContextCompressor implementation from an async function.
§Example
ⓘ
#[compressor]
async fn keep_recent(input: CompressionInput) -> Result<CompressionOutput> {
let keep = input.messages.len().min(20);
let evicted = input.messages[..input.messages.len() - keep].to_vec();
let messages = input.messages[input.messages.len() - keep..].to_vec();
Ok(CompressionOutput { messages, evicted })
}
// Generates: KeepRecentCompressor + impl ContextCompressor