Skip to main content

brainwires_permissions/
lib.rs

1#![deny(missing_docs)]
2//! Permission system for agent capability management
3//!
4//! This crate provides a comprehensive capability-based permission system for
5//! brainwires agents, including:
6//!
7//! - **Capabilities**: Granular control over filesystem, tools, network, git, and spawning
8//! - **Profiles**: Pre-defined capability sets (read_only, standard_dev, full_access)
9//! - **Configuration**: TOML-based configuration via ~/.brainwires/permissions.toml
10//! - **Policies**: Rule-based enforcement with conditions and actions
11//! - **Audit**: Event logging with querying and statistics
12//! - **Trust**: Trust levels, violation tracking, and trust factor management
13
14pub mod anomaly;
15pub mod approval;
16pub mod audit;
17pub mod config;
18pub mod policy;
19pub mod profiles;
20pub mod trust;
21pub mod types;
22
23// Re-export main types for convenience
24pub use config::PermissionsConfig;
25#[cfg(feature = "native")]
26pub use config::{default_permissions_path, ensure_permissions_dir};
27pub use profiles::CapabilityProfile;
28pub use types::{
29    AgentCapabilities, FilesystemCapabilities, GitCapabilities, GitOperation, NetworkCapabilities,
30    PathPattern, ResourceQuotas, SpawningCapabilities, ToolCapabilities, ToolCategory,
31};
32
33// Re-export policy types
34pub use policy::{
35    EnforcementMode, Policy, PolicyAction, PolicyCondition, PolicyDecision, PolicyEngine,
36    PolicyRequest,
37};
38
39// Re-export audit types
40pub use audit::{
41    ActionOutcome, AuditEvent, AuditEventType, AuditLogger, AuditQuery, AuditStatistics,
42    FeedbackPolarity, FeedbackSignal,
43};
44
45// Re-export anomaly detection types
46pub use anomaly::{AnomalyConfig, AnomalyDetector, AnomalyEvent, AnomalyKind};
47
48// Re-export trust types
49pub use trust::{TrustFactor, TrustLevel, TrustManager, TrustStatistics, ViolationSeverity};
50
51// Re-export approval types
52pub use approval::{
53    ApprovalAction, ApprovalDetails, ApprovalRequest, ApprovalResponse, ApprovalSeverity,
54};