docs: Mintlify MDX docs + docs.json; bump Speakeasy to 1.787.0 (#382)

This commit is contained in:
Matt Apperson
2026-06-30 16:13:28 -04:00
committed by GitHub
parent 778e2e36fb
commit babeffc9aa
2100 changed files with 50407 additions and 16612 deletions
+139 -68
View File
@@ -20,11 +20,9 @@ from openrouter.utils import (
HeaderMetadata,
RequestMetadata,
get_discriminator,
validate_open_enum,
)
import pydantic
from pydantic import Discriminator, Tag, model_serializer
from pydantic.functional_validators import PlainValidator
from typing import List, Literal, Optional, Union
from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict
@@ -74,6 +72,24 @@ class CreateEmbeddingsGlobals(BaseModel):
"""
@model_serializer(mode="wrap")
def serialize_model(self, handler):
optional_fields = set(
["HTTP-Referer", "X-OpenRouter-Title", "X-OpenRouter-Categories"]
)
serialized = handler(self)
m = {}
for n, f in type(self).model_fields.items():
k = f.alias or n
val = serialized.get(k, serialized.get(n))
if val != UNSET_SENTINEL:
if val is not None or k not in optional_fields:
m[k] = val
return m
EncodingFormat = Union[
Literal[
@@ -204,9 +220,7 @@ class CreateEmbeddingsRequestBody(BaseModel):
dimensions: Optional[int] = None
r"""The number of dimensions for the output embeddings"""
encoding_format: Annotated[
Optional[EncodingFormat], PlainValidator(validate_open_enum(False))
] = None
encoding_format: Optional[EncodingFormat] = None
r"""The format of the output embeddings"""
input_type: Optional[str] = None
@@ -221,37 +235,28 @@ class CreateEmbeddingsRequestBody(BaseModel):
@model_serializer(mode="wrap")
def serialize_model(self, handler):
optional_fields = [
"dimensions",
"encoding_format",
"input_type",
"provider",
"user",
]
nullable_fields = ["provider"]
null_default_fields = []
optional_fields = set(
["dimensions", "encoding_format", "input_type", "provider", "user"]
)
nullable_fields = set(["provider"])
serialized = handler(self)
m = {}
for n, f in type(self).model_fields.items():
k = f.alias or n
val = serialized.get(k)
serialized.pop(k, None)
val = serialized.get(k, serialized.get(n))
is_nullable_and_explicitly_set = (
k in nullable_fields
and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
)
optional_nullable = k in optional_fields and k in nullable_fields
is_set = (
self.__pydantic_fields_set__.intersection({n})
or k in null_default_fields
) # pylint: disable=no-member
if val is not None and val != UNSET_SENTINEL:
m[k] = val
elif val != UNSET_SENTINEL and (
not k in optional_fields or (optional_nullable and is_set)
):
m[k] = val
if val != UNSET_SENTINEL:
if (
val is not None
or k not in optional_fields
or is_nullable_and_explicitly_set
):
m[k] = val
return m
@@ -307,6 +312,24 @@ class CreateEmbeddingsRequest(BaseModel):
"""
@model_serializer(mode="wrap")
def serialize_model(self, handler):
optional_fields = set(
["HTTP-Referer", "X-OpenRouter-Title", "X-OpenRouter-Categories"]
)
serialized = handler(self)
m = {}
for n, f in type(self).model_fields.items():
k = f.alias or n
val = serialized.get(k, serialized.get(n))
if val != UNSET_SENTINEL:
if val is not None or k not in optional_fields:
m[k] = val
return m
EmbeddingTypedDict = TypeAliasType("EmbeddingTypedDict", Union[List[float], str])
r"""Embedding vector as an array of floats or a base64 string"""
@@ -340,6 +363,22 @@ class CreateEmbeddingsData(BaseModel):
index: Optional[int] = None
r"""Index of the embedding in the input list"""
@model_serializer(mode="wrap")
def serialize_model(self, handler):
optional_fields = set(["index"])
serialized = handler(self)
m = {}
for n, f in type(self).model_fields.items():
k = f.alias or n
val = serialized.get(k, serialized.get(n))
if val != UNSET_SENTINEL:
if val is not None or k not in optional_fields:
m[k] = val
return m
Object = Literal["list",]
@@ -363,31 +402,26 @@ class CostDetails(BaseModel):
@model_serializer(mode="wrap")
def serialize_model(self, handler):
optional_fields = ["upstream_inference_cost"]
nullable_fields = ["upstream_inference_cost"]
null_default_fields = []
optional_fields = set(["upstream_inference_cost"])
nullable_fields = set(["upstream_inference_cost"])
serialized = handler(self)
m = {}
for n, f in type(self).model_fields.items():
k = f.alias or n
val = serialized.get(k)
serialized.pop(k, None)
val = serialized.get(k, serialized.get(n))
is_nullable_and_explicitly_set = (
k in nullable_fields
and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
)
optional_nullable = k in optional_fields and k in nullable_fields
is_set = (
self.__pydantic_fields_set__.intersection({n})
or k in null_default_fields
) # pylint: disable=no-member
if val is not None and val != UNSET_SENTINEL:
m[k] = val
elif val != UNSET_SENTINEL and (
not k in optional_fields or (optional_nullable and is_set)
):
m[k] = val
if val != UNSET_SENTINEL:
if (
val is not None
or k not in optional_fields
or is_nullable_and_explicitly_set
):
m[k] = val
return m
@@ -425,6 +459,30 @@ class PromptTokensDetails(BaseModel):
video_tokens: Optional[int] = None
r"""Number of video tokens in the input"""
@model_serializer(mode="wrap")
def serialize_model(self, handler):
optional_fields = set(
[
"audio_tokens",
"file_tokens",
"image_tokens",
"text_tokens",
"video_tokens",
]
)
serialized = handler(self)
m = {}
for n, f in type(self).model_fields.items():
k = f.alias or n
val = serialized.get(k, serialized.get(n))
if val != UNSET_SENTINEL:
if val is not None or k not in optional_fields:
m[k] = val
return m
class CreateEmbeddingsUsageTypedDict(TypedDict):
r"""Token usage statistics"""
@@ -466,31 +524,28 @@ class CreateEmbeddingsUsage(BaseModel):
@model_serializer(mode="wrap")
def serialize_model(self, handler):
optional_fields = ["cost", "cost_details", "is_byok", "prompt_tokens_details"]
nullable_fields = ["cost_details"]
null_default_fields = []
optional_fields = set(
["cost", "cost_details", "is_byok", "prompt_tokens_details"]
)
nullable_fields = set(["cost_details"])
serialized = handler(self)
m = {}
for n, f in type(self).model_fields.items():
k = f.alias or n
val = serialized.get(k)
serialized.pop(k, None)
val = serialized.get(k, serialized.get(n))
is_nullable_and_explicitly_set = (
k in nullable_fields
and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
)
optional_nullable = k in optional_fields and k in nullable_fields
is_set = (
self.__pydantic_fields_set__.intersection({n})
or k in null_default_fields
) # pylint: disable=no-member
if val is not None and val != UNSET_SENTINEL:
m[k] = val
elif val != UNSET_SENTINEL and (
not k in optional_fields or (optional_nullable and is_set)
):
m[k] = val
if val != UNSET_SENTINEL:
if (
val is not None
or k not in optional_fields
or is_nullable_and_explicitly_set
):
m[k] = val
return m
@@ -526,6 +581,22 @@ class CreateEmbeddingsResponseBody(BaseModel):
usage: Optional[CreateEmbeddingsUsage] = None
r"""Token usage statistics"""
@model_serializer(mode="wrap")
def serialize_model(self, handler):
optional_fields = set(["id", "usage"])
serialized = handler(self)
m = {}
for n, f in type(self).model_fields.items():
k = f.alias or n
val = serialized.get(k, serialized.get(n))
if val != UNSET_SENTINEL:
if val is not None or k not in optional_fields:
m[k] = val
return m
CreateEmbeddingsResponseTypedDict = TypeAliasType(
"CreateEmbeddingsResponseTypedDict",