#![cfg_attr(not(feature = "std"), no_std)]
#![warn(missing_docs)]
cfg_if::cfg_if! {
if #[cfg(feature = "alloc")] {
extern crate alloc;
}
}
pub mod agent;
#[cfg(feature = "alloc")]
pub mod approval;
#[cfg(feature = "alloc")]
pub mod audit;
#[cfg(feature = "alloc")]
pub mod capability;
#[cfg(feature = "std")]
pub mod config;
pub mod dev_tool;
pub mod evaluators;
pub mod identity;
pub mod policy;
pub mod risk_tier;
#[cfg(feature = "std")]
pub mod scanner;
pub mod time;
pub mod topology;
pub use dev_tool::GovernanceLevel;
pub use identity::{AgentId, SessionId};
pub use policy::{EnforcementMode, FileMode, PolicyDecision, PolicyError};
pub use risk_tier::RiskTier;
#[cfg(feature = "alloc")]
pub use agent::{AgentContext, AgentContextBuilder};
#[cfg(feature = "alloc")]
pub use approval::ApprovalKind;
#[cfg(feature = "alloc")]
pub use dev_tool::DevToolKind;
#[cfg(feature = "alloc")]
pub use dev_tool::McpServerInfo;
#[cfg(feature = "std")]
pub use dev_tool::{AdapterError, DevToolAdapter, DevToolInfo};
#[cfg(feature = "alloc")]
pub use policy::{ArgsJson, GovernanceAction, PolicyDocument, PolicyEvaluator, PolicyResult, PolicyRule};
#[cfg(all(feature = "alloc", feature = "test-utils"))]
pub use evaluators::{DenyAllEvaluator, PermitAllEvaluator};
#[cfg(feature = "alloc")]
pub use audit::{AuditEntry, AuditEventType, AuditLog, AuditLogError, Lineage};
#[cfg(feature = "std")]
pub use audit::Redaction;
#[cfg(feature = "alloc")]
pub use capability::{
action_to_capability, merge_capabilities, Capability, CapabilitySet, EffectivePermissions, PermissionSource,
};
#[cfg(feature = "std")]
pub use scanner::{CredentialFinding, CredentialKind, CredentialScanner, ScanResult, ScannerConfig};
#[cfg(feature = "std")]
pub use config::{
AgentConnectConfig, ConfigError, DeploymentMode, GatewayConfig, LocalModeConfig, RemoteModeConfig, TlsConfig,
};
pub use topology::EdgeType;
#[cfg(all(feature = "std", feature = "test-utils"))]
pub use topology::MockEdgeRepo;
#[cfg(feature = "alloc")]
pub use topology::UnknownEdgeType;
#[cfg(feature = "std")]
pub use topology::{cycle_detect, Edge, EdgeRepo, EdgeRepoError, NewEdge};