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

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


ParetoRouterPluginID = Literal["pareto-router",]


class ParetoRouterPluginTypedDict(TypedDict):
    id: ParetoRouterPluginID
    enabled: NotRequired[bool]
    r"""Set to false to disable the pareto-router plugin for this request. Defaults to true."""
    min_coding_score: NotRequired[float]
    r"""Minimum desired coding score between 0 and 1, where 1 is best. Higher values select from stronger coding models (sourced from Artificial Analysis coding percentiles). Maps internally to one of three tiers (low, medium, high). Omit to use the router default tier."""


class ParetoRouterPlugin(BaseModel):
    id: ParetoRouterPluginID

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

    min_coding_score: Optional[float] = None
    r"""Minimum desired coding score between 0 and 1, where 1 is best. Higher values select from stronger coding models (sourced from Artificial Analysis coding percentiles). Maps internally to one of three tiers (low, medium, high). Omit to use the router default tier."""
