mod capped_read;
mod date;
mod error;
mod finding;
mod fingerprint;
mod json;
mod lane_posture;
mod ledger_posture;
mod ledger_provenance;
mod policy;
mod source_tree_path;
pub use capped_read::{
CappedReadError, SOURCE_FILE_READ_MAX_BYTES, read_text_file_capped,
read_text_file_capped_with_limit,
};
pub use date::SimpleDate;
pub use error::{
CargoAllowDiagnostic, CargoAllowDiagnosticSeverity, CargoAllowError, CargoAllowErrorKind,
CargoAllowErrorLocation, CargoAllowResult,
};
pub use finding::{
Finding, FindingKind, MAX_IDENTITY_FIELD_LEN, STRUCTURAL_IDENTITY_SCHEMA_ID, Span,
StructuralIdentity, finding_identity_key,
};
pub use fingerprint::{allow_entry_content_fingerprint, normalize_snippet, stable_hash_hex};
pub use json::json_escape;
pub use lane_posture::{
LaneConfig, LaneEnforcementMode, effective_lane_posture_for_findings,
lane_enforcement_mode_for_kind,
};
pub use ledger_posture::{LedgerPosture, NetPosture, PostureDelta, PresenceMovement};
pub use ledger_provenance::LedgerProvenance;
pub use policy::{
AllowConfig, AllowEntry, LastSeen, Lifecycle, MatchOutcome, MatchStatus, POLICY_NAME,
Requirements, SUPPORTED_SCHEMA_VERSION, SUPPORTED_SCHEMA_VERSION_ALIAS, Selector,
WorkspaceConfig, WorkspaceMode,
};
pub use source_tree_path::{
GLOB_MATCH_MAX_STEPS, allow_entry_broad_scope, glob_matches, glob_matches_str, normalize_path,
source_tree_path_is_ignored, source_tree_path_matches_filter, source_tree_scope_has_wildcard,
};
#[cfg(test)]
mod tests;