"""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


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


ComputerUseServerToolType = Literal["computer_use_preview",]


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

    display_height: int
    display_width: int
    environment: Environment
    type: ComputerUseServerToolType


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

    display_height: int

    display_width: int

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

    type: ComputerUseServerToolType
