// Template relevance scoring (extracted from extended_tools.rs for CB-040)
fn calculate_relevance(template: &crate::models::template::TemplateResource, query: &str) -> f32 {
let mut score = 0.0;
// Exact match in name gets highest score
if template.name.to_lowercase() == query {
score += 10.0;
} else if template.name.to_lowercase().contains(query) {
score += 5.0;
}
// Match in description
if template.description.to_lowercase().contains(query) {
score += 3.0;
}
// Match in parameter names
for param in &template.parameters {
if param.name.to_lowercase().contains(query) {
score += 1.0;
}
}
score
}