pub mod json;
pub mod markdown;
pub mod prompt;
pub mod wakeup;

use crate::domain::{ContextBundle, OutputFormat};

pub fn render(bundle: &ContextBundle, max_chars: usize, format: OutputFormat) -> String {
    match format {
        OutputFormat::Prompt => prompt::render(bundle, max_chars),
        OutputFormat::Markdown => markdown::render(bundle, max_chars),
        OutputFormat::Json => json::render(bundle),
    }
}

pub fn explain(bundle: &ContextBundle) -> String {
    markdown::render_explain(bundle)
}
