32#include <unordered_map>
59 size_t load_bundled(
const std::filesystem::path& grammar_dir);
75 const std::string& gbnf_content,
76 const std::string& source =
"runtime");
87 const std::filesystem::path& path);
109 std::string
get(
const std::string& key)
const;
118 bool has(
const std::string& key)
const;
135 std::vector<GrammarEntry>
list()
const;
148 static std::string
validate(
const std::string& gbnf_content);
167 std::unordered_map<std::string, GrammarEntry> grammars_;
170 mutable std::mutex registry_mutex_;
Centralized grammar registry for named GBNF grammars.
size_t load_bundled(const std::filesystem::path &grammar_dir)
Load all bundled grammars from a directory.
size_t size() const
Number of registered grammars.
static std::string validate(const std::string &gbnf_content)
Validate a GBNF grammar string.
GrammarEntry entry(const std::string &key) const
Get full entry metadata for a grammar key.
bool deregister(const std::string &key)
Remove a grammar from the registry.
bool has(const std::string &key) const
Check if a grammar key exists in the registry.
std::vector< GrammarEntry > list() const
List all registered grammar keys.
void clear()
Remove all registered grammars.
bool register_from_file(const std::string &key, const std::filesystem::path &path)
Register a grammar from a file path.
std::string get(const std::string &key) const
Get GBNF content string for a grammar key.
bool register_grammar(const std::string &key, const std::string &gbnf_content, const std::string &source="runtime")
Register a grammar by key with GBNF content string.
Configuration structs with defaults.
Activate model on GPU (WARM → ACTIVE).
Metadata for a registered grammar.