"""Context compression — partition history, summarize it, keep the context in budget.
The implementation is split by responsibility:
* `partition` — pure decisions about what to summarize and what to keep.
* `summarize` — formatting the summarizer prompt, the LLM call, the KEYS line.
* `compressor` — `ContextCompressor`: retry/truncate safety nets and persistence.
`navi.core.compressor` remains as a compatibility shim; new code should import
from here.
"""
from .compressor import ContextCompressor
from .partition import (
partition_current_turn_messages,
partition_messages,
should_compress,
)
from .summarize import compress_context
__all__ = [
"ContextCompressor",
"compress_context",
"partition_current_turn_messages",
"partition_messages",
"should_compress",
]