# This file was auto-generated by Fern from our API Definition.

import typing

import typing_extensions
from ..types.speak_v2configure_failure_code import SpeakV2ConfigureFailureCode


class SpeakV2ConfigureFailureParams(typing_extensions.TypedDict):
    type: typing.Literal["ConfigureFailure"]
    """
    Message type identifier
    """

    code: SpeakV2ConfigureFailureCode
    """
    Failure code, in `SCREAMING_SNAKE_CASE`. `SPEED_OUT_OF_RANGE`: outside the multipliers the model publishes. `SPEED_INCREMENT_INVALID`: inside the published range but not one of the multipliers. `SPEED_NOT_SUPPORTED`: this model or language has no runtime speed control at all. `INTERNAL_ERROR`: the configuration was acceptable but the server could not apply it — unlike the others, a server-side failure rather than a statement about the request.
    """

    field: typing_extensions.NotRequired[typing.Literal["speed"]]
    """
    The configuration field the failure is about. Absent when the failure is not tied to one field.
    """

    value: typing_extensions.NotRequired[float]
    """
    The rejected value for `field`. Absent when there is no offending value to echo — `SPEED_NOT_SUPPORTED` names the field but carries no value, because the rejection is a property of the model.
    """

    description: str
    """
    A human-readable description of the failure
    """
