Skip to main content

Module context_template

Module context_template 

Source
Expand description

Context template storage, management, and rendering service.

Provides CRUD operations for user-defined context templates with versioning, plus rendering capabilities for formatting memories and statistics.

§Key Features

  • Auto-increment versioning: Each save creates a new version
  • Template rendering: Variable substitution, iteration, format conversion
  • Multiple output formats: Markdown, JSON, XML
  • Auto-variables: Memory fields and statistics automatically populated

§Example

ⓘ
use subcog::services::ContextTemplateService;
use subcog::models::{ContextTemplate, OutputFormat};

let mut service = ContextTemplateService::new();

// Create a template
let template = ContextTemplate::new("search-results", r#"
Found {{total_count}} memories:
{{#each memories}}
- {{memory.content}}
{{/each}}
"#);

// Save it (auto-increments version)
let (name, version) = service.save(&template)?;

// Render with memories
let output = service.render_with_memories(
    "search-results",
    None, // latest version
    &memories,
    &statistics,
    &HashMap::new(),
    OutputFormat::Markdown,
)?;

Structs§

ContextTemplateFilter
Filter for listing context templates.
ContextTemplateService
Service for context template CRUD operations and rendering.
RenderResult
Result of a render operation.
ValidationIssue
A validation issue found in a template.
ValidationResult
Result of template validation.

Enums§

ValidationSeverity
Validation severity level.

Functions§

validate_template_name
Validates a template name.