1#![cfg_attr(not(feature = "std"), no_std)]
17#![warn(missing_docs)]
18
19cfg_if::cfg_if! {
20 if #[cfg(feature = "alloc")] {
21 extern crate alloc;
22 }
23}
24
25pub mod agent;
26#[cfg(feature = "alloc")]
27pub mod approval;
28#[cfg(feature = "alloc")]
29pub mod audit;
30#[cfg(feature = "alloc")]
31pub mod capability;
32#[cfg(feature = "std")]
33pub mod config;
34pub mod dev_tool;
35pub mod evaluators;
36pub mod identity;
37#[cfg(feature = "alloc")]
38pub mod llm;
39pub mod policy;
40pub mod risk_tier;
41#[cfg(feature = "std")]
42pub mod storage;
43pub mod time;
44pub mod topology;
45#[cfg(feature = "alloc")]
46pub mod types;
47
48pub use dev_tool::GovernanceLevel;
49pub use identity::{AgentId, SessionId};
50pub use policy::{EnforcementMode, FileMode, PolicyDecision, PolicyError};
51pub use risk_tier::RiskTier;
52
53#[cfg(feature = "alloc")]
54pub use agent::{AgentContext, AgentContextBuilder};
55#[cfg(feature = "alloc")]
56pub use approval::ApprovalKind;
57#[cfg(feature = "alloc")]
58pub use dev_tool::DevToolKind;
59#[cfg(feature = "alloc")]
60pub use dev_tool::McpServerInfo;
61#[cfg(feature = "std")]
62pub use dev_tool::{AdapterError, DevToolAdapter, DevToolInfo};
63
64#[cfg(feature = "alloc")]
65pub use llm::{Model, Provider};
66
67#[cfg(feature = "alloc")]
68pub use policy::{ArgsJson, GovernanceAction, PolicyDocument, PolicyEvaluator, PolicyResult, PolicyRule};
69
70#[cfg(all(feature = "alloc", feature = "test-utils"))]
71pub use evaluators::{DenyAllEvaluator, PermitAllEvaluator};
72
73#[cfg(feature = "alloc")]
74pub use audit::{AuditEntry, AuditEventType, AuditLog, AuditLogError, Lineage};
75
76#[cfg(feature = "alloc")]
77pub use capability::{
78 action_to_capability, merge_capabilities, Capability, CapabilitySet, EffectivePermissions, PermissionSource,
79};
80
81#[cfg(feature = "std")]
82pub use config::{
83 AgentConnectConfig, ConfigError, DeploymentMode, GatewayConfig, LocalModeConfig, RemoteModeConfig, TlsConfig,
84};
85
86pub use topology::EdgeType;
87#[cfg(all(feature = "std", feature = "test-utils"))]
88pub use topology::MockEdgeRepo;
89#[cfg(feature = "alloc")]
90pub use topology::UnknownEdgeType;
91#[cfg(feature = "std")]
92pub use topology::{cycle_detect, Edge, EdgeRepo, EdgeRepoError, NewEdge};