Skip to main content

systemprompt_templates/
embedded_defaults.rs

1//! Lowest-priority template provider serving the compiled-in default templates.
2//!
3//! Copyright (c) systemprompt.io — Business Source License 1.1.
4//! See <https://systemprompt.io> for licensing details.
5
6use crate::{TemplateDefinition, TemplateProvider};
7
8#[derive(Debug, Clone, Copy, Default)]
9pub struct EmbeddedDefaultsProvider;
10
11impl EmbeddedDefaultsProvider {
12    pub const PRIORITY: u32 = 1000;
13}
14
15impl TemplateProvider for EmbeddedDefaultsProvider {
16    fn provider_id(&self) -> &'static str {
17        "embedded-defaults"
18    }
19
20    fn priority(&self) -> u32 {
21        Self::PRIORITY
22    }
23
24    fn templates(&self) -> Vec<TemplateDefinition> {
25        vec![
26            TemplateDefinition::embedded(
27                "homepage",
28                include_str!("../defaults/templates/homepage.html"),
29            )
30            .with_priority(Self::PRIORITY)
31            .for_content_type("homepage"),
32        ]
33    }
34}