pub mod decide;
pub mod guard;
pub mod install;
pub mod policy;
pub(crate) use decide::marker_is_armed;
pub use decide::{GuardDecision, GuardMarker, decide};
pub(crate) use guard::parse_tool_call;
pub use guard::read_marker;
pub(crate) use install::guard_is_armed;
pub use install::{GUARD_MANIFEST, GUARD_MARKER, teardown_guard};
pub use policy::{classify_bash, is_shell_tool, is_under, is_under_any, is_write_tool, path_arg};
use std::time::{SystemTime, UNIX_EPOCH};
pub(crate) fn now_ms() -> i64 {
SystemTime::now()
.duration_since(UNIX_EPOCH)
.unwrap_or_default()
.as_millis() as i64
}