squeez 1.7.7

Hook-based token compressor for 5 AI CLI hosts (Claude Code, Copilot CLI, OpenCode, Gemini CLI, Codex CLI). Up to 95% bash compression, signature-mode for code reads, cross-call dedup, MCP server, self-teaching protocol. Zero runtime deps.
Documentation
pub enum Keep {
    Head,
    Tail,
}

pub fn apply(lines: Vec<String>, limit: usize, keep: Keep) -> Vec<String> {
    if lines.len() <= limit {
        return lines;
    }
    let dropped = lines.len() - limit;
    let notice = format!(
        "[... {} lines truncated — prefix command with --no-squeez to see full output]",
        dropped
    );
    match keep {
        Keep::Head => {
            let mut r: Vec<String> = lines.into_iter().take(limit).collect();
            r.push(notice);
            r
        }
        Keep::Tail => {
            let start = lines.len() - limit;
            let mut r = vec![notice];
            r.extend(lines.into_iter().skip(start));
            r
        }
    }
}