Skip to main content

aster/config/
aster_mode.rs

1use std::str::FromStr;
2
3use serde::{Deserialize, Serialize};
4
5#[derive(Copy, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
6#[serde(rename_all = "snake_case")]
7pub enum AsterMode {
8    Auto,
9    Approve,
10    SmartApprove,
11    Chat,
12}
13
14impl FromStr for AsterMode {
15    type Err = String;
16
17    fn from_str(s: &str) -> Result<Self, Self::Err> {
18        match s {
19            "auto" => Ok(AsterMode::Auto),
20            "approve" => Ok(AsterMode::Approve),
21            "smart_approve" => Ok(AsterMode::SmartApprove),
22            "chat" => Ok(AsterMode::Chat),
23            _ => Err(format!("invalid mode: {}", s)),
24        }
25    }
26}