private String formatGrammar() {
        return rules.entrySet().stream()
                .sorted(Map.Entry.comparingByKey())
                .map(kv -> kv.getKey() + " ::= " + kv.getValue())
                .collect(Collectors.joining("\n"));
    }
Converts a JSON Schema to a GBNF grammar to be used for structured output with llama.cpp.
It is a port of Python implementation from llama.cpp repository.
Current implementation doesn't support regex patterns, resolving $ref or fetching schemas from URLs.
The plan is to replace this with C++ implementation from llama.cpp though JNI.
model-integration/src/main/java/ai/vespa/llm/clients/JsonSchemaToGrammar.java