# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

from __future__ import annotations

from typing_extensions import Required, Annotated, TypedDict

from .._utils import PropertyInfo
from .evaluator_source_param import EvaluatorSourceParam

__all__ = ["EvaluatorCreateParams", "Evaluator"]


class EvaluatorCreateParams(TypedDict, total=False):
    account_id: str

    evaluator: Required[Evaluator]

    evaluator_id: Annotated[str, PropertyInfo(alias="evaluatorId")]


class Evaluator(TypedDict, total=False):
    commit_hash: Annotated[str, PropertyInfo(alias="commitHash")]

    default_dataset: Annotated[str, PropertyInfo(alias="defaultDataset")]

    description: str

    display_name: Annotated[str, PropertyInfo(alias="displayName")]

    entry_point: Annotated[str, PropertyInfo(alias="entryPoint")]

    requirements: str

    source: EvaluatorSourceParam
    """Source information for the evaluator codebase."""
