headroom_3 / headroom /transforms /__init__.py
chopratejas's picture
Add IntelligentContextManager for semantic-aware context management
14ecab6
Raw History Blame
3.14 kB
"""Transform modules for Headroom SDK."""
from .base import Transform
from .cache_aligner import CacheAligner
from .content_detector import ContentType, DetectionResult, detect_content_type
from .intelligent_context import ContextStrategy, IntelligentContextManager
from .log_compressor import LogCompressionResult, LogCompressor, LogCompressorConfig
from .pipeline import TransformPipeline
from .rolling_window import RollingWindow
from .scoring import EmbeddingProvider, MessageScore, MessageScorer
from .search_compressor import (
SearchCompressionResult,
SearchCompressor,
SearchCompressorConfig,
)
from .smart_crusher import SmartCrusher, SmartCrusherConfig
from .text_compressor import TextCompressionResult, TextCompressor, TextCompressorConfig
from .tool_crusher import ToolCrusher
# ML-based compression (optional dependency)
try:
from .llmlingua_compressor import ( # noqa: F401
LLMLinguaCompressor,
LLMLinguaConfig,
LLMLinguaResult,
compress_with_llmlingua,
is_llmlingua_model_loaded,
unload_llmlingua_model,
)
_LLMLINGUA_AVAILABLE = True
except ImportError:
_LLMLINGUA_AVAILABLE = False
# AST-based code compression (optional dependency)
from .code_compressor import (
CodeAwareCompressor,
CodeCompressionResult,
CodeCompressorConfig,
CodeLanguage,
DocstringMode,
detect_language,
is_tree_sitter_available,
)
# Content routing (always available, lazy-loads compressors)
from .content_router import (
CompressionStrategy,
ContentRouter,
ContentRouterConfig,
RouterCompressionResult,
generate_source_hint,
)
__all__ = [
# Base
"Transform",
"TransformPipeline",
# JSON compression
"ToolCrusher",
"SmartCrusher",
"SmartCrusherConfig",
# Text compression (coding tasks)
"ContentType",
"DetectionResult",
"detect_content_type",
"SearchCompressor",
"SearchCompressorConfig",
"SearchCompressionResult",
"LogCompressor",
"LogCompressorConfig",
"LogCompressionResult",
"TextCompressor",
"TextCompressorConfig",
"TextCompressionResult",
# Code-aware compression (AST-based)
"CodeAwareCompressor",
"CodeCompressorConfig",
"CodeCompressionResult",
"CodeLanguage",
"DocstringMode",
"detect_language",
"is_tree_sitter_available",
# Content routing
"ContentRouter",
"ContentRouterConfig",
"RouterCompressionResult",
"CompressionStrategy",
"generate_source_hint",
# Other transforms
"CacheAligner",
"RollingWindow",
# Intelligent context management
"IntelligentContextManager",
"ContextStrategy",
"MessageScorer",
"MessageScore",
"EmbeddingProvider",
# ML-based compression (optional)
"_LLMLINGUA_AVAILABLE",
]
# Conditionally add LLMLingua exports
if _LLMLINGUA_AVAILABLE:
__all__.extend(
[
"LLMLinguaCompressor",
"LLMLinguaConfig",
"LLMLinguaResult",
"compress_with_llmlingua",
"is_llmlingua_model_loaded",
"unload_llmlingua_model",
]
)