#[derive(Debug, Clone, PartialEq, Eq)]
pub enum TemplateCategory {
AgentType,
EnterprisePattern,
Legacy,
}
#[derive(Debug, Clone)]
pub struct FileFragment {
pub path: &'static str,
pub content: &'static str,
}
#[derive(Debug, Clone)]
pub struct AgentCodeFragments {
pub imports: Vec<&'static str>,
pub agent_construction: &'static str,
pub additional_files: Vec<FileFragment>,
}
#[derive(Debug, Clone)]
pub struct AgentTemplate {
pub name: &'static str,
pub description: &'static str,
pub category: TemplateCategory,
pub default_provider: &'static str,
pub required_features: Vec<&'static str>,
pub incompatible_addons: Vec<&'static str>,
pub code_fragments: AgentCodeFragments,
}