chore: 🐝 Update SDK - Generate (spec change merged) 0.11.20 (#428)

Co-authored-by: speakeasybot <bot@speakeasyapi.dev>
Co-authored-by: speakeasy-github[bot] <128539517+speakeasy-github[bot]@users.noreply.github.com>
This commit is contained in:
github-actions[bot]
2026-07-10 20:19:22 +00:00
committed by GitHub
co-authored by speakeasybot speakeasy-github[bot] <128539517+speakeasy-github[bot]@users.noreply.github.com>
parent 64ad023f72
commit 02a24c5cae
18 changed files with 395 additions and 32 deletions
+2 -2
View File
@@ -3,10 +3,10 @@
import importlib.metadata
__title__: str = "openrouter"
__version__: str = "0.11.19"
__version__: str = "0.11.20"
__openapi_doc_version__: str = "1.0.0"
__gen_version__: str = "2.914.0"
__user_agent__: str = "speakeasy-sdk/python 0.11.19 2.914.0 1.0.0 openrouter"
__user_agent__: str = "speakeasy-sdk/python 0.11.20 2.914.0 1.0.0 openrouter"
try:
if __package__ is not None:
+34
View File
@@ -273,6 +273,15 @@ class BetaAnalytics(BaseSDK):
http_referer: Optional[str] = None,
x_open_router_title: Optional[str] = None,
x_open_router_categories: Optional[str] = None,
classifier_dimensions: Optional[
Union[
operations.ClassifierDimensions,
operations.ClassifierDimensionsTypedDict,
]
] = None,
classifier_filters: Optional[
Union[operations.ClassifierFilters, operations.ClassifierFiltersTypedDict]
] = None,
dimensions: Optional[Iterable[str]] = None,
filters: Optional[
Union[Iterable[operations.Filter], Iterable[operations.FilterTypedDict]]
@@ -303,6 +312,8 @@ class BetaAnalytics(BaseSDK):
:param x_open_router_categories: Comma-separated list of app categories (e.g. \"cli-agent,cloud-agent\"). Used for marketplace rankings.
:param classifier_dimensions: Group results by custom classifier tags, breaking down metrics by the specified dimension values. Requires an active classifier on the workspace.
:param classifier_filters: Filter results to generations with specific classifier tag values. Can be combined with classifier_dimensions (must use the same classifier_id) or used independently with standard dimensions.
:param dimensions:
:param filters:
:param granularity: Time granularity
@@ -330,6 +341,12 @@ class BetaAnalytics(BaseSDK):
x_open_router_title=x_open_router_title,
x_open_router_categories=x_open_router_categories,
request_body=operations.QueryAnalyticsRequestBody(
classifier_dimensions=utils.get_pydantic_model(
classifier_dimensions, Optional[operations.ClassifierDimensions]
),
classifier_filters=utils.get_pydantic_model(
classifier_filters, Optional[operations.ClassifierFilters]
),
dimensions=utils.unmarshal(dimensions, Optional[List[str]]),
filters=utils.get_pydantic_model(
filters, Optional[List[operations.Filter]]
@@ -453,6 +470,15 @@ class BetaAnalytics(BaseSDK):
http_referer: Optional[str] = None,
x_open_router_title: Optional[str] = None,
x_open_router_categories: Optional[str] = None,
classifier_dimensions: Optional[
Union[
operations.ClassifierDimensions,
operations.ClassifierDimensionsTypedDict,
]
] = None,
classifier_filters: Optional[
Union[operations.ClassifierFilters, operations.ClassifierFiltersTypedDict]
] = None,
dimensions: Optional[Iterable[str]] = None,
filters: Optional[
Union[Iterable[operations.Filter], Iterable[operations.FilterTypedDict]]
@@ -483,6 +509,8 @@ class BetaAnalytics(BaseSDK):
:param x_open_router_categories: Comma-separated list of app categories (e.g. \"cli-agent,cloud-agent\"). Used for marketplace rankings.
:param classifier_dimensions: Group results by custom classifier tags, breaking down metrics by the specified dimension values. Requires an active classifier on the workspace.
:param classifier_filters: Filter results to generations with specific classifier tag values. Can be combined with classifier_dimensions (must use the same classifier_id) or used independently with standard dimensions.
:param dimensions:
:param filters:
:param granularity: Time granularity
@@ -510,6 +538,12 @@ class BetaAnalytics(BaseSDK):
x_open_router_title=x_open_router_title,
x_open_router_categories=x_open_router_categories,
request_body=operations.QueryAnalyticsRequestBody(
classifier_dimensions=utils.get_pydantic_model(
classifier_dimensions, Optional[operations.ClassifierDimensions]
),
classifier_filters=utils.get_pydantic_model(
classifier_filters, Optional[operations.ClassifierFilters]
),
dimensions=utils.unmarshal(dimensions, Optional[List[str]]),
filters=utils.get_pydantic_model(
filters, Optional[List[operations.Filter]]
+30
View File
@@ -652,6 +652,14 @@ if TYPE_CHECKING:
ListWorkspacesResponseTypedDict,
)
from .queryanalytics import (
ClassifierDimensions,
ClassifierDimensionsTypedDict,
ClassifierFilters,
ClassifierFiltersFilter,
ClassifierFiltersFilterTypedDict,
ClassifierFiltersTypedDict,
ClassifierFiltersValue,
ClassifierFiltersValueTypedDict,
Direction,
Filter,
FilterTypedDict,
@@ -677,6 +685,8 @@ if TYPE_CHECKING:
Value1TypedDict,
Value2,
Value2TypedDict,
ValueClassifierFilters,
ValueClassifierFiltersTypedDict,
)
from .sendchatcompletionrequest import (
SendChatCompletionRequestGlobals,
@@ -772,6 +782,14 @@ __all__ = [
"BulkUnassignMembersFromGuardrailGlobalsTypedDict",
"BulkUnassignMembersFromGuardrailRequest",
"BulkUnassignMembersFromGuardrailRequestTypedDict",
"ClassifierDimensions",
"ClassifierDimensionsTypedDict",
"ClassifierFilters",
"ClassifierFiltersFilter",
"ClassifierFiltersFilterTypedDict",
"ClassifierFiltersTypedDict",
"ClassifierFiltersValue",
"ClassifierFiltersValueTypedDict",
"Content",
"ContentImageURL",
"ContentImageURLTypedDict",
@@ -1308,6 +1326,8 @@ __all__ = [
"Value1TypedDict",
"Value2",
"Value2TypedDict",
"ValueClassifierFilters",
"ValueClassifierFiltersTypedDict",
"ValueType",
"Window",
"Zdr",
@@ -1804,6 +1824,14 @@ _dynamic_imports: dict[str, str] = {
"ListWorkspacesRequestTypedDict": ".listworkspaces",
"ListWorkspacesResponse": ".listworkspaces",
"ListWorkspacesResponseTypedDict": ".listworkspaces",
"ClassifierDimensions": ".queryanalytics",
"ClassifierDimensionsTypedDict": ".queryanalytics",
"ClassifierFilters": ".queryanalytics",
"ClassifierFiltersFilter": ".queryanalytics",
"ClassifierFiltersFilterTypedDict": ".queryanalytics",
"ClassifierFiltersTypedDict": ".queryanalytics",
"ClassifierFiltersValue": ".queryanalytics",
"ClassifierFiltersValueTypedDict": ".queryanalytics",
"Direction": ".queryanalytics",
"Filter": ".queryanalytics",
"FilterTypedDict": ".queryanalytics",
@@ -1829,6 +1857,8 @@ _dynamic_imports: dict[str, str] = {
"Value1TypedDict": ".queryanalytics",
"Value2": ".queryanalytics",
"Value2TypedDict": ".queryanalytics",
"ValueClassifierFilters": ".queryanalytics",
"ValueClassifierFiltersTypedDict": ".queryanalytics",
"SendChatCompletionRequestGlobals": ".sendchatcompletionrequest",
"SendChatCompletionRequestGlobalsTypedDict": ".sendchatcompletionrequest",
"SendChatCompletionRequestRequest": ".sendchatcompletionrequest",
+108
View File
@@ -74,6 +74,102 @@ class QueryAnalyticsGlobals(BaseModel):
return m
class ClassifierDimensionsTypedDict(TypedDict):
r"""Group results by custom classifier tags, breaking down metrics by the specified dimension values. Requires an active classifier on the workspace."""
classifier_id: str
r"""UUID of the classifier whose tags to group by."""
dimension_names: NotRequired[List[str]]
include_nulls: NotRequired[bool]
r"""When true, also include generations that have no tag from this classifier. Defaults to false, which returns only classified generations."""
class ClassifierDimensions(BaseModel):
r"""Group results by custom classifier tags, breaking down metrics by the specified dimension values. Requires an active classifier on the workspace."""
classifier_id: str
r"""UUID of the classifier whose tags to group by."""
dimension_names: Optional[List[str]] = None
include_nulls: Optional[bool] = None
r"""When true, also include generations that have no tag from this classifier. Defaults to false, which returns only classified generations."""
@model_serializer(mode="wrap")
def serialize_model(self, handler):
optional_fields = set(["dimension_names", "include_nulls"])
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
ValueClassifierFiltersTypedDict = TypeAliasType(
"ValueClassifierFiltersTypedDict", Union[str, float]
)
ValueClassifierFilters = TypeAliasType("ValueClassifierFilters", Union[str, float])
ClassifierFiltersValueTypedDict = TypeAliasType(
"ClassifierFiltersValueTypedDict",
Union[str, float, List[ValueClassifierFiltersTypedDict]],
)
r"""Filter value. Use a scalar (string or number) for eq/neq, or an array for in/not_in."""
ClassifierFiltersValue = TypeAliasType(
"ClassifierFiltersValue", Union[str, float, List[ValueClassifierFilters]]
)
r"""Filter value. Use a scalar (string or number) for eq/neq, or an array for in/not_in."""
class ClassifierFiltersFilterTypedDict(TypedDict):
field: str
r"""Classifier dimension name to filter on (snake_case identifier, e.g. \"department\", \"work_type\")."""
operator: str
r"""Filter operator. Only equality/set operators are supported (eq, neq, in, not_in) — ordered comparisons are not available because classification values are strings."""
value: ClassifierFiltersValueTypedDict
r"""Filter value. Use a scalar (string or number) for eq/neq, or an array for in/not_in."""
class ClassifierFiltersFilter(BaseModel):
field: str
r"""Classifier dimension name to filter on (snake_case identifier, e.g. \"department\", \"work_type\")."""
operator: str
r"""Filter operator. Only equality/set operators are supported (eq, neq, in, not_in) — ordered comparisons are not available because classification values are strings."""
value: ClassifierFiltersValue
r"""Filter value. Use a scalar (string or number) for eq/neq, or an array for in/not_in."""
class ClassifierFiltersTypedDict(TypedDict):
r"""Filter results to generations with specific classifier tag values. Can be combined with classifier_dimensions (must use the same classifier_id) or used independently with standard dimensions."""
classifier_id: str
r"""UUID of the classifier whose tags to filter by. Must match classifier_dimensions.classifier_id when both are specified."""
filters: List[ClassifierFiltersFilterTypedDict]
class ClassifierFilters(BaseModel):
r"""Filter results to generations with specific classifier tag values. Can be combined with classifier_dimensions (must use the same classifier_id) or used independently with standard dimensions."""
classifier_id: str
r"""UUID of the classifier whose tags to filter by. Must match classifier_dimensions.classifier_id when both are specified."""
filters: List[ClassifierFiltersFilter]
Value2TypedDict = TypeAliasType("Value2TypedDict", Union[str, float])
@@ -145,6 +241,10 @@ class TimeRange(BaseModel):
class QueryAnalyticsRequestBodyTypedDict(TypedDict):
metrics: List[str]
classifier_dimensions: NotRequired[ClassifierDimensionsTypedDict]
r"""Group results by custom classifier tags, breaking down metrics by the specified dimension values. Requires an active classifier on the workspace."""
classifier_filters: NotRequired[ClassifierFiltersTypedDict]
r"""Filter results to generations with specific classifier tag values. Can be combined with classifier_dimensions (must use the same classifier_id) or used independently with standard dimensions."""
dimensions: NotRequired[List[str]]
filters: NotRequired[List[FilterTypedDict]]
granularity: NotRequired[str]
@@ -160,6 +260,12 @@ class QueryAnalyticsRequestBodyTypedDict(TypedDict):
class QueryAnalyticsRequestBody(BaseModel):
metrics: List[str]
classifier_dimensions: Optional[ClassifierDimensions] = None
r"""Group results by custom classifier tags, breaking down metrics by the specified dimension values. Requires an active classifier on the workspace."""
classifier_filters: Optional[ClassifierFilters] = None
r"""Filter results to generations with specific classifier tag values. Can be combined with classifier_dimensions (must use the same classifier_id) or used independently with standard dimensions."""
dimensions: Optional[List[str]] = None
filters: Optional[List[Filter]] = None
@@ -181,6 +287,8 @@ class QueryAnalyticsRequestBody(BaseModel):
def serialize_model(self, handler):
optional_fields = set(
[
"classifier_dimensions",
"classifier_filters",
"dimensions",
"filters",
"granularity",