/** * Context Optimizer - Context compression and optimization * * Reduces context size while preserving important information. */ /** * Optimization strategy */ export type OptimizationStrategy = 'truncate-old' | 'truncate-low-priority' | 'summarize' | 'deduplicate' | 'compress'; /** * Content item for optimization */ export interface OptimizableItem { id: string; content: string; priority: number; timestamp: number; tokens?: number; type?: string; } /** * Optimization result */ export interface OptimizationResult { original: OptimizableItem[]; optimized: OptimizableItem[]; removed: OptimizableItem[]; tokensSaved: number; strategy: OptimizationStrategy; } /** * Optimizer configuration */ export interface ContextOptimizerConfig { /** Target token count */ targetTokens: number; /** Strategy priority */ strategies?: OptimizationStrategy[]; /** Token ratio for estimation */ tokenRatio?: number; /** Min priority to keep */ minPriority?: number; /** Summarizer function */ summarizer?: (items: OptimizableItem[]) => Promise; } /** * ContextOptimizer - Optimize context size */ export declare class ContextOptimizer { readonly id: string; private config; constructor(config: ContextOptimizerConfig); /** * Optimize items to fit target */ optimize(items: OptimizableItem[]): Promise; /** * Apply optimization strategy */ private applyStrategy; /** * Truncate to fit target */ private truncateToFit; /** * Compress content (simple version) */ private compressContent; /** * Estimate tokens */ private estimateTokens; } /** * Create context optimizer */ export declare function createContextOptimizer(config: ContextOptimizerConfig): ContextOptimizer; export default ContextOptimizer;