Newer
Older
navi-1 / navi / core / compression / __init__.py
@Eugene Sukhodolskiy Eugene Sukhodolskiy 21 hours ago 816 bytes core: split the compressor into a package
"""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",
]