1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
//! # systemprompt-templates
//!
//! Template registry, loading, and rendering for systemprompt.io. The crate
//! exposes:
//!
//! - [`TemplateRegistry`] — Handlebars-backed engine with multi-source template
//! discovery, partial registration, and stat reporting. Registers a `json`
//! helper for emitting values inside JSON contexts (e.g. JSON-LD `<script>`
//! blocks): `{{{json field}}}` serialises via `serde_json::to_string`, which
//! correctly escapes backslashes, newlines, and control characters that
//! Handlebars' default HTML escaping leaves intact.
//! - [`TemplateRegistryBuilder`] — fluent builder that wires together loaders,
//! providers, and partial sources.
//! - [`CoreTemplateProvider`] — filesystem provider scanning a directory for
//! `.html` templates plus an optional `templates.yaml` manifest.
//! - [`EmbeddedDefaultsProvider`] — bundles the in-tree `defaults/` templates
//! so consumers get a usable engine without touching disk.
//! - Re-exports of the `systemprompt-template-provider` traits the engine
//! composes against.
//!
//! ## Feature flags
//!
//! | Feature | Default | Effect |
//! |---------|---------|--------|
//! | _none_ | n/a | The crate exposes a single feature surface; all modules are compiled unconditionally. The `[package.metadata.docs.rs] all-features = true` setting is retained so future feature additions automatically appear in published docs. |
//!
//! ## Layering
//!
//! `systemprompt-templates` is a **domain** crate whose only systemprompt
//! dependency is the `systemprompt-template-provider` shared crate.
pub use TemplateRegistryBuilder;
pub use CoreTemplateProvider;
pub use EmbeddedDefaultsProvider;
pub use ;
pub use ;
pub use ;