Newer
Older
navi-1 / navi / core / compressor.py
@Eugene Sukhodolskiy Eugene Sukhodolskiy 20 hours ago 1 KB core: split the compressor into a package
"""Compatibility shim — the compressor lives in `navi.core.compression`.

Existing imports (`from navi.core.compressor import ContextCompressor`) keep
working; new code should import from `navi.core.compression`.

Note for tests: the moved modules each bind their own `settings` object, so a
monkeypatch belongs on the module that reads it
(`navi.core.compression.partition`, `.summarize`, `.compressor`) — patching
this shim would change nothing.
"""

from .compression import (
    ContextCompressor,
    compress_context,
    partition_current_turn_messages,
    partition_messages,
    should_compress,
)
from .compression.partition import _plan_compression, _turn_importance
from .compression.summarize import (
    _MAX_SUMMARY_INPUT_CHARS,
    _build_summary_system_prompt,
    _format_for_summary,
)

__all__ = [
    "_MAX_SUMMARY_INPUT_CHARS",
    "ContextCompressor",
    "_build_summary_system_prompt",
    "_format_for_summary",
    "_plan_compression",
    "_turn_importance",
    "compress_context",
    "partition_current_turn_messages",
    "partition_messages",
    "should_compress",
]