//! Context management: token counting, cross-call tool-result dedup, //! per-result compression, budget-based shaping, and shared //! context-window resolution — replaces `runtime::shortsend`. //! //! No facade function here: `dedup`, `shaping`, and `tokens` are called //! directly from each call site (the per-turn auto-compaction loop in //! `actions::run_agent_turn`, and `Action::Compact`), matching this //! codebase's "no DI, call modules directly" convention. An orchestration //! layer would only serve one of the two callers generically — the //! auto-loop already needs per-stage control to decide when to emit //! `TurnEvent::Compacted`. pub mod dedup; pub mod shaping; pub mod squash; pub mod tokens; pub mod window;