"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""

from __future__ import annotations
from openrouter.types import BaseModel, UnrecognizedStr
from openrouter.utils import validate_open_enum
from pydantic.functional_validators import PlainValidator
from typing import Literal, Union
from typing_extensions import Annotated, TypedDict


ComputerUseServerToolType = Literal["computer_use_preview",]


Environment = Union[
    Literal[
        "windows",
        "mac",
        "linux",
        "ubuntu",
        "browser",
    ],
    UnrecognizedStr,
]


class ComputerUseServerToolTypedDict(TypedDict):
    r"""Computer use preview tool configuration"""

    type: ComputerUseServerToolType
    display_height: float
    display_width: float
    environment: Environment


class ComputerUseServerTool(BaseModel):
    r"""Computer use preview tool configuration"""

    type: ComputerUseServerToolType

    display_height: float

    display_width: float

    environment: Annotated[Environment, PlainValidator(validate_open_enum(False))]
