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

from __future__ import annotations
from openrouter.types import BaseModel
from typing import List, Literal, Optional
from typing_extensions import NotRequired, TypedDict


AutoRouterPluginID = Literal["auto-router",]


class AutoRouterPluginTypedDict(TypedDict):
    id: AutoRouterPluginID
    allowed_models: NotRequired[List[str]]
    r"""List of model patterns to filter which models the auto-router can route between. Supports wildcards (e.g., \"anthropic/*\" matches all Anthropic models). When not specified, uses the default supported models list."""
    enabled: NotRequired[bool]
    r"""Set to false to disable the auto-router plugin for this request. Defaults to true."""


class AutoRouterPlugin(BaseModel):
    id: AutoRouterPluginID

    allowed_models: Optional[List[str]] = None
    r"""List of model patterns to filter which models the auto-router can route between. Supports wildcards (e.g., \"anthropic/*\" matches all Anthropic models). When not specified, uses the default supported models list."""

    enabled: Optional[bool] = None
    r"""Set to false to disable the auto-router plugin for this request. Defaults to true."""
