use async_trait::async_trait;
use garudust_core::tool::{ApprovalDecision, CommandApprover};
pub struct AutoApprover;
#[async_trait]
impl CommandApprover for AutoApprover {
async fn approve(&self, _tool: &str, _params: &str) -> ApprovalDecision {
ApprovalDecision::Approved
}
}
pub struct DenyApprover;
#[async_trait]
impl CommandApprover for DenyApprover {
async fn approve(&self, _tool: &str, _params: &str) -> ApprovalDecision {
ApprovalDecision::Denied
}
}
pub struct ConstitutionalApprover;
#[async_trait]
impl CommandApprover for ConstitutionalApprover {
async fn approve(&self, _tool: &str, _params: &str) -> ApprovalDecision {
ApprovalDecision::Approved
}
}