public static String convert(String schema) {
        ObjectMapper mapper = new ObjectMapper();
        JsonNode rootSchema;

        try {
            rootSchema = mapper.readTree(schema);
        } catch (JsonProcessingException e) {
            throw new RuntimeException(e);
        }

        var converter = new JsonSchemaToGrammar();
        converter.visit(rootSchema, null);
        return converter.formatGrammar() + "\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