This commit is contained in:
Matt Apperson
2025-12-04 13:07:01 -05:00
parent 06b2ccc54a
commit aed8199b2b
65 changed files with 518 additions and 765 deletions
@@ -44,10 +44,9 @@ from openrouter.types import (
UNSET_SENTINEL,
UnrecognizedStr,
)
from openrouter.utils import get_discriminator, validate_const, validate_open_enum
import pydantic
from openrouter.utils import get_discriminator, validate_open_enum
from pydantic import Discriminator, Tag, model_serializer
from pydantic.functional_validators import AfterValidator, PlainValidator
from pydantic.functional_validators import PlainValidator
from typing import Any, Dict, List, Literal, Optional, Union
from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict
@@ -136,7 +135,16 @@ OpenResponsesRequestToolUnion = Annotated[
]
ServiceTier = Literal["auto",]
ServiceTier = Union[
Literal[
"auto",
"default",
"flex",
"priority",
"scale",
],
UnrecognizedStr,
]
Truncation = Union[
@@ -348,17 +356,6 @@ class Provider(BaseModel):
return m
IDResponseHealing = Literal["response-healing",]
class PluginResponseHealingTypedDict(TypedDict):
id: IDResponseHealing
class PluginResponseHealing(BaseModel):
id: IDResponseHealing
IDFileParser = Literal["file-parser",]
@@ -440,12 +437,7 @@ class PluginModeration(BaseModel):
PluginTypedDict = TypeAliasType(
"PluginTypedDict",
Union[
PluginModerationTypedDict,
PluginResponseHealingTypedDict,
PluginFileParserTypedDict,
PluginWebTypedDict,
],
Union[PluginModerationTypedDict, PluginFileParserTypedDict, PluginWebTypedDict],
)
@@ -454,7 +446,6 @@ Plugin = Annotated[
Annotated[PluginModeration, Tag("moderation")],
Annotated[PluginWeb, Tag("web")],
Annotated[PluginFileParser, Tag("file-parser")],
Annotated[PluginResponseHealing, Tag("response-healing")],
],
Discriminator(lambda m: get_discriminator(m, "id", "id")),
]
@@ -487,8 +478,8 @@ class OpenResponsesRequestTypedDict(TypedDict):
include: NotRequired[Nullable[List[OpenAIResponsesIncludable]]]
background: NotRequired[Nullable[bool]]
safety_identifier: NotRequired[Nullable[str]]
store: Literal[False]
service_tier: NotRequired[ServiceTier]
store: NotRequired[Nullable[bool]]
service_tier: NotRequired[Nullable[ServiceTier]]
truncation: NotRequired[Nullable[Truncation]]
stream: NotRequired[bool]
provider: NotRequired[Nullable[ProviderTypedDict]]
@@ -552,12 +543,11 @@ class OpenResponsesRequest(BaseModel):
safety_identifier: OptionalNullable[str] = UNSET
STORE: Annotated[
Annotated[Optional[Literal[False]], AfterValidator(validate_const(False))],
pydantic.Field(alias="store"),
] = False
store: OptionalNullable[bool] = UNSET
service_tier: Optional[ServiceTier] = "auto"
service_tier: Annotated[
OptionalNullable[ServiceTier], PlainValidator(validate_open_enum(False))
] = UNSET
truncation: Annotated[
OptionalNullable[Truncation], PlainValidator(validate_open_enum(False))
@@ -619,6 +609,8 @@ class OpenResponsesRequest(BaseModel):
"include",
"background",
"safety_identifier",
"store",
"service_tier",
"truncation",
"provider",
]