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