Skip to main content

Module compressor

Module compressor 

Source
Expand description

Message Compressor Module

This module provides message compression functionality to reduce context size while preserving important content. It supports:

  • Code block compression (keeping head and tail lines)
  • Tool output compression
  • File content compression
  • Incremental compression on message addition
  • Progressive pruning based on context usage

§Example

use aster::context::compressor::MessageCompressor;

let code = "fn main() {\n    // 100 lines of code\n}";
let compressed = MessageCompressor::compress_code_block(code, 50);

Structs§

MessageCompressor
Message compressor for reducing context size while preserving important content.

Constants§

DEFAULT_CODE_BLOCK_MAX_LINES
Default maximum lines for code blocks before compression
DEFAULT_FILE_CONTENT_MAX_CHARS
Default maximum characters for file content before compression
DEFAULT_TOOL_OUTPUT_MAX_CHARS
Default maximum characters for tool output before compression