/** * Default settings for position-based context pruning. * * These are merged with user-provided overrides so any subset can be customized. */ export interface ContextPruningSettings { /** Whether position-based pruning is enabled. Default: false (opt-in). */ enabled: boolean; /** Number of recent assistant turns to protect from pruning. Default: 3 */ keepLastAssistants: number; /** Age ratio (0-1) at which soft-trim fires. Default: 0.3 */ softTrimRatio: number; /** Age ratio (0-1) at which hard-clear fires. Default: 0.5 */ hardClearRatio: number; /** Minimum tool result size (chars) before pruning applies. Default: 50000 */ minPrunableToolChars: number; softTrim: { /** Maximum total chars after soft-trim. Default: 4000 */ maxChars: number; /** Head portion to keep. Default: 1500 */ headChars: number; /** Tail portion to keep. Default: 1500 */ tailChars: number; }; hardClear: { /** Whether hard-clear is enabled. Default: true */ enabled: boolean; /** Placeholder text for hard-cleared content. */ placeholder: string; }; } export declare const DEFAULT_CONTEXT_PRUNING_SETTINGS: ContextPruningSettings; /** * Merges user-provided partial overrides with the defaults. */ export declare function resolveContextPruningSettings(overrides?: Partial<{ enabled?: boolean; keepLastAssistants?: number; softTrimRatio?: number; hardClearRatio?: number; minPrunableToolChars?: number; softTrim?: Partial; hardClear?: Partial; }>): ContextPruningSettings;