#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum RenderFlavor {
Programmatic,
Prompt,
}
pub const DEFAULT_RENDER_FLAVOR: RenderFlavor = RenderFlavor::Programmatic;
impl RenderFlavor {
pub fn as_str(&self) -> &'static str {
match self {
RenderFlavor::Programmatic => "programmatic",
RenderFlavor::Prompt => "prompt",
}
}
pub fn parse(value: &str) -> Option<RenderFlavor> {
match value {
"programmatic" => Some(RenderFlavor::Programmatic),
"prompt" => Some(RenderFlavor::Prompt),
_ => None,
}
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)]
pub enum HybridRealization {
#[default]
BashScript,
McpServer,
}
impl HybridRealization {
pub fn parse(value: &str) -> Option<HybridRealization> {
match value {
"bash-script" => Some(HybridRealization::BashScript),
"mcp-server" => Some(HybridRealization::McpServer),
_ => None,
}
}
}