llman 0.0.30

A tool for managing LLM application rules(prompts) ...
Documentation
pub mod toon_backend;

pub use toon_backend::BACKEND;

use crate::sdd::spec::ir::{DeltaSpecDoc, MainSpecDoc};
use anyhow::Result;

pub trait SpecBackend: Sync + Send {
    /// Parse a main spec payload from the Markdown body (frontmatter already removed).
    fn parse_main_spec(&self, content: &str, context: &str) -> Result<MainSpecDoc>;

    /// Parse a delta spec payload from the full Markdown file content.
    fn parse_delta_spec(&self, content: &str, context: &str) -> Result<DeltaSpecDoc>;

    /// Deterministically dump a main spec payload (no surrounding Markdown fence).
    fn dump_main_spec(&self, doc: &MainSpecDoc) -> Result<String>;

    /// Deterministically dump a delta spec payload (no surrounding Markdown fence).
    fn dump_delta_spec(&self, doc: &DeltaSpecDoc) -> Result<String>;
}