| LlmService |   | 74% |   | 60% | 123 | 242 | 200 | 792 | 7 | 55 | 0 | 1 |
| OpenAiCompatibleGateway |   | 57% |   | 51% | 23 | 39 | 48 | 133 | 0 | 8 | 0 | 1 |
| LlmRecordReplayService |   | 78% |   | 66% | 15 | 39 | 27 | 127 | 3 | 15 | 0 | 1 |
| GeminiGateway |   | 80% |   | 61% | 18 | 33 | 22 | 114 | 0 | 7 | 0 | 1 |
| LlmProviderConfig |   | 85% |   | 72% | 31 | 130 | 16 | 149 | 0 | 25 | 0 | 1 |
| PromptBudgetExceededException |  | 0% | | n/a | 10 | 10 | 21 | 21 | 10 | 10 | 1 | 1 |
| AiTargetCatalogService |   | 88% |   | 81% | 12 | 54 | 9 | 99 | 2 | 19 | 0 | 1 |
| LlmService.ScoreParseResult |  | 25% | | 0% | 3 | 4 | 5 | 6 | 2 | 3 | 0 | 1 |
| LlmProviderExtensionRegistry |  | 83% |   | 75% | 5 | 16 | 3 | 39 | 1 | 8 | 0 | 1 |
| LlmResponseParser |  | 97% |   | 91% | 6 | 49 | 5 | 143 | 0 | 14 | 0 | 1 |
| AiPromptBudgetPolicy |  | 84% |   | 50% | 4 | 7 | 1 | 13 | 0 | 3 | 0 | 1 |
| AnalysisRelationGenerator |  | 97% |   | 80% | 6 | 24 | 3 | 68 | 0 | 6 | 0 | 1 |
| LlmProviderException | | 83% | | n/a | 1 | 3 | 1 | 7 | 1 | 3 | 0 | 1 |
| SavedAnalysisService |  | 98% |  | 95% | 1 | 19 | 0 | 44 | 0 | 7 | 0 | 1 |
| LlmGatewayRegistry |  | 100% |  | 100% | 0 | 7 | 0 | 25 | 0 | 5 | 0 | 1 |
| LlmProvider |  | 100% | | n/a | 0 | 1 | 0 | 9 | 0 | 1 | 0 | 1 |
| PromptBudgetEnforcingLlmGateway |  | 100% | | n/a | 0 | 5 | 0 | 9 | 0 | 5 | 0 | 1 |
| LlmProviderException.Reason | | 100% | | n/a | 0 | 1 | 0 | 5 | 0 | 1 | 0 | 1 |
| LlmProviderConfig.CustomOpenAiConfigurationStatus | | 100% | | n/a | 0 | 3 | 0 | 3 | 0 | 3 | 0 | 1 |
| AnalysisFacade | | 100% | | n/a | 0 | 3 | 0 | 7 | 0 | 3 | 0 | 1 |
| LlmRecordingEntry | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
| LocalOnnxLlmProviderExtension | | 100% | | n/a | 0 | 3 | 0 | 4 | 0 | 3 | 0 | 1 |
| CustomOpenAiLlmProviderExtension | | 100% | | n/a | 0 | 3 | 0 | 4 | 0 | 3 | 0 | 1 |
| MistralLlmProviderExtension | | 100% | | n/a | 0 | 3 | 0 | 4 | 0 | 3 | 0 | 1 |
| GeminiLlmProviderExtension | | 100% | | n/a | 0 | 3 | 0 | 4 | 0 | 3 | 0 | 1 |
| QwenLlmProviderExtension | | 100% | | n/a | 0 | 3 | 0 | 4 | 0 | 3 | 0 | 1 |
| DeepSeekLlmProviderExtension | | 100% | | n/a | 0 | 3 | 0 | 4 | 0 | 3 | 0 | 1 |
| OpenAiLlmProviderExtension | | 100% | | n/a | 0 | 3 | 0 | 4 | 0 | 3 | 0 | 1 |
| LlamaLlmProviderExtension | | 100% | | n/a | 0 | 3 | 0 | 4 | 0 | 3 | 0 | 1 |
| AnalysisRelationGenerator.ScoredNode | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
| LlmRecordReplayService.ManifestData | | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 | 0 | 1 |
| LlmRateLimitException | | 100% | | n/a | 0 | 2 | 0 | 4 | 0 | 2 | 0 | 1 |
| LlmProviderExtensionRegistry.Registration | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
| LlmTimeoutException | | 100% | | n/a | 0 | 2 | 0 | 4 | 0 | 2 | 0 | 1 |
| LlmService.SiblingBatchResult | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
| LlmResponseParser.new TypeReference() {...} | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
| LlmResponseParser.new TypeReference() {...} | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
| LlmResponseParser.new TypeReference() {...} | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
| LlmResponseParser.new TypeReference() {...} | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
| LlmRecordReplayService.ManifestEntry | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |