Skip to main content
The 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 check
  • tools: Optional list of tools for token counting
  • model: The Agent/Team model
  • response_format: Optional output schema, used for accurate token counting
Returns:
  • 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 check
  • tools: Optional list of tools for token counting
  • model: The Agent/Team model
  • response_format: Optional output schema, used for accurate token counting
Returns:
  • 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 compress
  • run_metrics: Optional RunMetrics object; the compression model’s usage is accumulated onto it
Returns:
  • None: Modifies messages in place, setting compressed_content on each tool message

acompress(messages, run_metrics) -> None

Compresses all uncompressed tool results asynchronously. Parameters:
  • messages: List of messages containing tool results to compress
  • run_metrics: Optional RunMetrics object; the compression model’s usage is accumulated onto it
Returns:
  • None: Modifies messages in place, setting compressed_content on each tool message