#[cfg(feature = "human-loop")]
use crate::human_loop::{HumanLoopProvider, PermissionService};
#[cfg(feature = "human-loop")]
use echo_core::tools::permission::PermissionRule;
use std::sync::Arc;
pub(crate) struct ApprovalSubsystem {
#[cfg(feature = "human-loop")]
pub(crate) approval_provider: Arc<dyn HumanLoopProvider>,
#[cfg(feature = "human-loop")]
pub(crate) permission_service: Option<Arc<PermissionService>>,
#[cfg(feature = "human-loop")]
pub(crate) pending_permission_rules: std::sync::Mutex<Vec<PermissionRule>>,
}