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

from datetime import datetime
from typing import Any, List, Optional

from pydantic import Field

from .base_model import BaseModel


class PullRun(BaseModel):
    run: "PullRunRun"
    test_results: List["PullRunTestResults"] = Field(alias="testResults")


class PullRunRun(BaseModel):
    run_id: str = Field(alias="runId")
    pass_percentage: Optional[float] = Field(alias="passPercentage")
    status: str
    run_id: str = Field(alias="runId")
    text_summary: str = Field(alias="textSummary")
    timestamp: datetime
    completed_at: Optional[datetime] = Field(alias="completedAt")
    archived: bool
    parameters: Any
    test_suite: "PullRunRunTestSuite" = Field(alias="testSuite")


class PullRunRunTestSuite(BaseModel):
    title: str


class PullRunTestResults(BaseModel):
    id: str
    llm_output: str = Field(alias="llmOutput")
    pass_percentage: float = Field(alias="passPercentage")
    pass_percentage_with_optional: float = Field(alias="passPercentageWithOptional")
    result_json: Any = Field(alias="resultJson")
    human_eval: Optional[float] = Field(alias="humanEval")
    human_feedback: str = Field(alias="humanFeedback")
    test: "PullRunTestResultsTest"
    metadata: Optional[Any]


class PullRunTestResultsTest(BaseModel):
    test_id: str = Field(alias="testId")
    input_under_test: str = Field(alias="inputUnderTest")


PullRun.model_rebuild()
PullRunRun.model_rebuild()
PullRunTestResults.model_rebuild()
