greentic-flow-builder 0.1.0

AI-powered Adaptive Card flow builder with visual graph editor and demo runner
Documentation
//! Template discovery: find presets by name, keyword, or fuzzy match.
//!
//! Pluggable trait so a vector-DB impl can be added later without refactor.

mod fuzzy;
mod keyword;

pub use fuzzy::{find_closest, suggest_preset_name};
pub use keyword::KeywordDiscovery;

use crate::template::PresetInfo;

#[derive(Debug, Clone)]
pub struct PresetMatch {
    pub name: String,
    pub score: f64,
}

pub trait TemplateDiscovery: Send + Sync {
    fn find_presets(&self, query: &str) -> Vec<PresetMatch>;
    fn get_preset(&self, name: &str) -> Option<&PresetInfo>;
    fn list_all(&self) -> Vec<&PresetInfo>;
}