CompressionManager is responsible for compressing tool call results to save context space while preserving critical information.
CompressionManager Attributes
CompressionManager Methods
should_compress(messages, tools, model, response_format) -> bool
Checks whether compression should be triggered based on configured thresholds.
Parameters:
messages: List of messages to checktools: Optional list of tools for token countingmodel: The Agent/Team modelresponse_format: Optional output schema, used for accurate token counting
bool: True if either threshold is met
ashould_compress(messages, tools, model, response_format) -> bool
Checks whether compression should be triggered based on configured thresholds asynchronously.
Parameters:
messages: List of messages to checktools: Optional list of tools for token countingmodel: The Agent/Team modelresponse_format: Optional output schema, used for accurate token counting
bool: True if either threshold is met
compress(messages, run_metrics) -> None
Compresses all uncompressed tool results.
Parameters:
messages: List of messages containing tool results to compressrun_metrics: OptionalRunMetricsobject; the compression model’s usage is accumulated onto it
None: Modifies messages in place, settingcompressed_contenton each tool message
acompress(messages, run_metrics) -> None
Compresses all uncompressed tool results asynchronously.
Parameters:
messages: List of messages containing tool results to compressrun_metrics: OptionalRunMetricsobject; the compression model’s usage is accumulated onto it
None: Modifies messages in place, settingcompressed_contenton each tool message