# Generated by ariadne-codegen
# Source: vals/graphql/

from typing import Any, List, Optional

from pydantic import Field

from .base_model import BaseModel
from .fragments import (
    MetadataOutputTypeFields,
    ResultJsonElementTypeFields,
    TestFragment,
)


class PullTestResultsWithCount(BaseModel):
    test_results_with_count: "PullTestResultsWithCountTestResultsWithCount" = Field(
        alias="testResultsWithCount"
    )


class PullTestResultsWithCountTestResultsWithCount(BaseModel):
    test_results: List["PullTestResultsWithCountTestResultsWithCountTestResults"] = (
        Field(alias="testResults")
    )
    count: int


class PullTestResultsWithCountTestResultsWithCountTestResults(BaseModel):
    id: Any
    llm_output: str = Field(alias="llmOutput")
    pass_percentage: float = Field(alias="passPercentage")
    pass_percentage_with_weight: float = Field(alias="passPercentageWithWeight")
    result_json: List[
        "PullTestResultsWithCountTestResultsWithCountTestResultsResultJson"
    ] = Field(alias="resultJson")
    qa_pair: Optional[
        "PullTestResultsWithCountTestResultsWithCountTestResultsQaPair"
    ] = Field(alias="qaPair")
    test: "PullTestResultsWithCountTestResultsWithCountTestResultsTest"
    metadata: "PullTestResultsWithCountTestResultsWithCountTestResultsMetadata"


class PullTestResultsWithCountTestResultsWithCountTestResultsResultJson(
    ResultJsonElementTypeFields
):
    pass


class PullTestResultsWithCountTestResultsWithCountTestResultsQaPair(BaseModel):
    context: Any
    output_context: Any = Field(alias="outputContext")
    error_message: str = Field(alias="errorMessage")


class PullTestResultsWithCountTestResultsWithCountTestResultsTest(TestFragment):
    pass


class PullTestResultsWithCountTestResultsWithCountTestResultsMetadata(
    MetadataOutputTypeFields
):
    pass


PullTestResultsWithCount.model_rebuild()
PullTestResultsWithCountTestResultsWithCount.model_rebuild()
PullTestResultsWithCountTestResultsWithCountTestResults.model_rebuild()
