use super::{Lens, LensContext, LensId, LensOutput};
use forge::budget::estimator::TokenEstimator;

/// Wide: expand context window hint (no actual content removal).
pub struct WideLens;

impl Lens for WideLens {
    fn id(&self) -> LensId {
        LensId::Wide
    }

    fn apply(&self, input: &str, _ctx: &LensContext) -> LensOutput {
        let t = TokenEstimator::count_nonblocking(input);
        LensOutput {
            content: input.to_string(),
            tokens_before: t,
            tokens_after: t,
            applied: vec!["wide".into()],
        }
    }
}
