Skip to main content

Crate gba_pm

Crate gba_pm 

Source
Expand description

GBA Prompt Manager

This crate provides a prompt management system using MiniJinja templates. It allows loading, rendering, and managing prompts for the GBA agent system.

§Features

  • Load templates from directories (supports .j2, .jinja, .jinja2 extensions)
  • Add templates programmatically from strings
  • Render templates with arbitrary serializable context
  • Render one-off string templates without registration

§Example

use gba_pm::PromptManager;
use serde_json::json;

// Create a new prompt manager
let mut manager = PromptManager::new();

// Load templates from a directory
manager.load_dir("./templates")?;

// Or add templates programmatically
manager.add("greeting", "Hello, {{ name }}!")?;

// Render a template with context
let result = manager.render("greeting", json!({"name": "World"}))?;
assert_eq!(result, "Hello, World!");

// List all template names
for name in manager.names() {
    println!("Template: {}", name);
}

Structs§

PromptManager
Prompt manager for loading and rendering Jinja templates.

Enums§

PromptError
Error type for prompt manager operations.

Type Aliases§

Result
Result type alias for prompt manager operations.