"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations from openrouter.types import BaseModel, Nullable from typing import Any, Dict, List, Literal, Union from typing_extensions import TypeAliasType, TypedDict ModeRequired = Literal["required",] ModeAuto = Literal["auto",] ModeTypedDict = TypeAliasType("ModeTypedDict", Union[ModeAuto, ModeRequired]) Mode = TypeAliasType("Mode", Union[ModeAuto, ModeRequired]) ToolChoiceAllowedType = Literal["allowed_tools",] class ToolChoiceAllowedTypedDict(TypedDict): r"""Constrains the model to a pre-defined set of allowed tools""" mode: ModeTypedDict tools: List[Dict[str, Nullable[Any]]] type: ToolChoiceAllowedType class ToolChoiceAllowed(BaseModel): r"""Constrains the model to a pre-defined set of allowed tools""" mode: Mode tools: List[Dict[str, Nullable[Any]]] type: ToolChoiceAllowedType