use schemars::JsonSchema;
use serde::{Deserialize, Serialize};
#[derive(
Debug,
Clone,
Copy,
PartialEq,
Serialize,
Deserialize,
JsonSchema,
arbitrary::Arbitrary,
)]
#[schemars(rename = "agent.claude_agent_sdk.Effort")]
pub enum Effort {
#[schemars(title = "Low")]
#[serde(rename = "low")]
Low,
#[schemars(title = "Medium")]
#[serde(rename = "medium")]
Medium,
#[schemars(title = "High")]
#[serde(rename = "high")]
High,
#[schemars(title = "Xhigh")]
#[serde(rename = "xhigh")]
Xhigh,
#[schemars(title = "Max")]
#[serde(rename = "max")]
Max,
}
impl Effort {
pub fn prepare(self) -> Option<Self> {
if let Effort::Medium = self {
None
} else {
Some(self)
}
}
pub fn validate(&self) -> Result<(), String> {
Ok(())
}
pub fn as_str(&self) -> &'static str {
match self {
Effort::Low => "low",
Effort::Medium => "medium",
Effort::High => "high",
Effort::Xhigh => "xhigh",
Effort::Max => "max",
}
}
}