systemprompt-template-provider 0.3.0

Template provider traits for systemprompt.io AI governance infrastructure. Config-as-code foundation for the AI governance template registry.
Documentation

Production infrastructure for AI agents

Website · Documentation · Guides · Core · Template · Discord


systemprompt-template-provider

Crates.io Docs.rs License: BSL-1.1

Template provider traits for systemprompt.io AI governance infrastructure. Config-as-code foundation for the AI governance template registry. Includes an embedded loader for compile-time templates and a filesystem loader for runtime template discovery.

Layer: Shared — foundational types/traits with no dependencies on other layers. Part of the systemprompt-core workspace.

Overview

Provides template loading abstractions and dynamic type aliases for template-related providers. Includes an embedded loader for compile-time templates and a filesystem loader for runtime template discovery. Re-exports provider contracts for template, component, and page data handling.

Architecture

Type Description
TemplateLoader Trait for loading templates by name
EmbeddedLoader Loader for compile-time embedded templates
FileSystemLoader Async filesystem template loader (requires tokio feature)
DynTemplateProvider Arc<dyn TemplateProvider> type alias
DynTemplateLoader Arc<dyn TemplateLoader> type alias
DynComponentRenderer Arc<dyn ComponentRenderer> type alias

Usage

[dependencies]
systemprompt-template-provider = "0.2.1"
use systemprompt_template_provider::{
    TemplateLoader, TemplateLoaderResult, EmbeddedLoader,
    DynTemplateProvider, DynTemplateLoader,
};
use async_trait::async_trait;

let loader: DynTemplateLoader = std::sync::Arc::new(EmbeddedLoader::new());
use std::sync::Arc;
use systemprompt_template_provider::{DynTemplateProvider, TemplateProvider};

fn register(provider: Arc<dyn TemplateProvider>) -> DynTemplateProvider {
    // Hand the provider to the runtime as a type-erased Arc.
    provider
}

Feature Flags

Feature Default Description
tokio No Enables FileSystemLoader for async file-based template loading

Dependencies

Internal

Crate Purpose
systemprompt-provider-contracts Provider trait definitions

External

Crate Purpose
async-trait Async trait support
tokio Async filesystem operations (optional)

License

BSL-1.1 (Business Source License). Source-available for evaluation, testing, and non-production use. Production use requires a commercial license. Each version converts to Apache 2.0 four years after publication. See LICENSE.


systemprompt.io · Documentation · Guides · Live Demo · Template · crates.io · docs.rs · Discord

Shared layer · Own how your organization uses AI.