agent_base/types/
approval.rs1use 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}