| sendWithRetry(String) |  | 0% |  | 0% | 7 | 7 | 39 | 39 | 1 | 1 |
| parseBatchResponse(String, List, List, String) |   | 65% |   | 64% | 5 | 8 | 17 | 45 | 0 | 1 |
| evaluateBatch(String, List, List, String) |   | 32% |   | 16% | 3 | 4 | 6 | 10 | 0 | 1 |
| evaluate(String, String, String, String) |   | 25% |   | 16% | 3 | 4 | 6 | 9 | 0 | 1 |
| parseTrafficLight(String) |   | 54% |   | 50% | 1 | 2 | 3 | 5 | 0 | 1 |
| close() |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| parseResponse(String, String, String, String) |   | 97% |   | 80% | 2 | 6 | 1 | 23 | 0 | 1 |
| getIntOrDefault(JsonObject, String, int) |  | 92% |   | 50% | 2 | 3 | 0 | 2 | 0 | 1 |
| createEvaluation(JsonObject, String, String, String) |  | 100% |   | 66% | 2 | 4 | 0 | 22 | 0 | 1 |
| buildRequestBody(String) |  | 100% | | n/a | 0 | 1 | 0 | 9 | 0 | 1 |
| OpenAiCompatibleClient(String, String, String, String, HttpClient) |  | 100% | | n/a | 0 | 1 | 0 | 10 | 0 | 1 |
| getStringOrNull(JsonObject, String) |  | 100% |   | 75% | 1 | 3 | 0 | 2 | 0 | 1 |
| getBooleanOrDefault(JsonObject, String, boolean) |  | 100% |   | 75% | 1 | 3 | 0 | 2 | 0 | 1 |
| OpenAiCompatibleClient(String, String, String, String) |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| isApiUnavailable() |  | 100% |  | 100% | 0 | 2 | 0 | 1 | 0 | 1 |
| setMaxFailureDuration(Duration) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| static {...} |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getModel() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getDailyRequestCount() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getMaxFailureDuration() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| wasLastResponseTruncated() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| hasRemainingQuota() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |