1pub mod audit;
10pub mod policy;
11
12pub use audit::{
13 Action, Actor, AuditConfig, AuditEvent, AuditEventType, AuditLogger, ExecutionResult,
14 SecurityContext,
15};
16pub use policy::{ActionValidation, AutonomyLevel, PolicyConfig, RiskLevel, SecurityPolicy};
17
18#[cfg(test)]
19mod tests {
20 use super::*;
21 use std::path::PathBuf;
22
23 #[test]
24 fn policy_and_audit_integration() {
25 let policy = SecurityPolicy::default_for(PathBuf::from("/tmp/test"));
26 assert!(policy.can_act());
27 assert_eq!(policy.autonomy(), AutonomyLevel::Supervised);
28 }
29
30 #[test]
31 fn audit_event_types() {
32 let event = AuditEvent::new(AuditEventType::CommandExecution);
33 assert!(!event.event_id.is_empty());
34 }
35}