aster/config/
aster_mode.rs1use 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}