Skip to main content

agent_base/types/
approval.rs

1use serde::{Deserialize, Serialize};
2use serde_json::Value;
3
4#[derive(Clone, Debug, PartialEq, Eq, Deserialize, Serialize)]
5pub enum RiskLevel {
6    Safe,
7    Sensitive,
8    Destructive,
9}
10
11#[derive(Clone, Debug, Deserialize, Serialize)]
12pub struct ApprovalRequest {
13    pub title: String,
14    pub message: String,
15    pub action_key: Option<String>,
16    pub risk_level: RiskLevel,
17    pub raw: Option<Value>,
18}
19
20#[derive(Clone, Debug, Deserialize, Serialize)]
21pub enum ApprovalDecision {
22    AllowOnce,
23    AllowAlways,
24    Deny,
25}