1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
//! Tool Definition Fingerprinting Module
//!
//! Provides dual-tier fingerprinting for MCP tool definitions:
//! - **Semantic Hash**: Tracks meaningful schema changes (types, constraints, required fields)
//! - **Full Content Hash**: Provides audit trail and tamper detection
//!
//! # Architecture
//!
//! The fingerprinting system consists of three main components:
//! - `SchemaNormalizer`: Canonicalizes JSON schemas for consistent comparison
//! - `FingerprintHasher`: Generates SHA-256 hashes from normalized schemas
//! - `FingerprintComparator`: Compares fingerprints and generates diff reports
//!
//! # Example
//!
//! ```rust,ignore
//! use mcplint::fingerprinting::{ToolFingerprint, FingerprintHasher};
//! use mcplint::protocol::mcp::Tool;
//!
//! // Generate a fingerprint from a tool definition
//! let fingerprint = FingerprintHasher::fingerprint(&tool)?;
//!
//! // Compare two fingerprints
//! let diff = FingerprintComparator::compare(&old_fingerprint, &new_fingerprint);
//! println!("Severity: {:?}", diff.severity);
//! ```
// Re-export public API (allow unused - these are intentional public exports)
pub use ;
pub use FingerprintHasher;
pub use ;
pub use ;