pub mod audit;
pub mod error;
pub mod plugin_abi;
pub mod registry;
pub mod rules;
pub mod types;
#[cfg(feature = "plugins")]
pub mod plugin_loader;
#[cfg(feature = "wasm-plugins")]
pub mod plugin_abi_wasm;
#[cfg(feature = "wasm-plugins")]
pub mod plugin_loader_wasm;
pub use audit::{
all_rules, audit_source, audit_source_with, audit_source_with_spec, scan_all_functions,
scan_all_functions_str, AuditContext, AuditRule, FnScan,
};
pub use error::AuditError;
pub use registry::{
register_builtin_rules, register_rule, run_registered, BoxedRule, RuleRegistry,
};
pub use rules::{Auth001, Auth002, Auth003, Move001};
pub use types::{AuditReport, AuditSummary, Finding, Severity};
#[cfg(feature = "plugins")]
pub use plugin_loader::{load_and_register, PluginLoadError, PluginRule};
#[cfg(feature = "wasm-plugins")]
pub use plugin_loader_wasm::{load_and_register_wasm, WasmPluginLoadError, WasmPluginRule};
#[macro_export]
macro_rules! register_rule {
($rule:expr) => {
$crate::registry::register_rule(::std::boxed::Box::new($rule))
};
}