ramparts 0.8.7

Security scanner for Model Context Protocol (MCP) servers and AI agent skills (Claude Code commands, agentskills.io bundles, Cursor / Codex / Windsurf / Gemini equivalents).
/// Constants used throughout the Ramparts MCP scanner
///
/// This module centralizes commonly used constants to reduce duplication
/// and improve maintainability.
/// Default batch size for LLM API calls
pub const DEFAULT_LLM_BATCH_SIZE: usize = 10;

/// Common error and status messages
pub mod messages {
    pub const OPENAI_NOT_CONFIGURED: &str = "OpenAI API not configured, returning empty result";
    pub const YARA_PRE_SCAN_LOADED: &str = "YARA pre-scan scanner loaded successfully";
    pub const YARA_PRE_SCAN_FAILED: &str = "Failed to load YARA pre-scan scanner";
    pub const YARA_POST_SCAN_LOADED: &str = "YARA post-scan scanner loaded successfully";
    pub const YARA_POST_SCAN_FAILED: &str = "Failed to load YARA post-scan scanner";
}

/// Common HTTP and protocol constants
pub mod protocol {
    pub const USER_AGENT: &str = concat!("ramparts/", env!("CARGO_PKG_VERSION"));

    /// The MCP protocol version ramparts speaks, taken from the SDK rather
    /// than written out by hand.
    ///
    /// This string used to be pinned as `"2025-06-18"` in six places across
    /// two files, so it silently drifted from whatever the linked rmcp
    /// actually negotiates. Sourcing it from `ProtocolVersion::LATEST` means
    /// an SDK bump carries the advertised version with it — the 3.1.2 upgrade
    /// moved it to `2025-11-25` on its own.
    pub fn mcp_version() -> String {
        rmcp::model::ProtocolVersion::LATEST.to_string()
    }
}