## Python SDK Changes:

* `open_router.beta.responses.send()`: 
  *  `request` **Changed** **Breaking** ⚠️
  *  `response` **Changed** **Breaking** ⚠️
* `open_router.presets.create_presets_responses()`:  `request` **Changed** **Breaking** ⚠️
* `open_router.presets.create_presets_chat_completions()`:  `request` **Changed** **Breaking** ⚠️
* `open_router.chat.send()`:  `request` **Changed** **Breaking** ⚠️
* `open_router.workspaces.set_budget()`: **Added**
* `open_router.o_auth.create_auth_code()`: 
  *  `request.workspace_id` **Added**
  *  `error.status[403]` **Added**
* `open_router.files.download()`: **Added**
* `open_router.models.get()`: **Added**
* `open_router.workspaces.list_budgets()`: **Added**
* `open_router.workspaces.delete_budget()`: **Added**
* `open_router.datasets.get_benchmarks_artificial_analysis()`: **Added**
* `open_router.beta.analytics.query_analytics()`:  `response.data.warnings` **Added**
* `open_router.files.delete()`: **Added**
* `open_router.files.retrieve()`: **Added**
* `open_router.files.upload()`: **Added**
* `open_router.embeddings.list_models()`:  `response.data.[].benchmarks` **Added**
* `open_router.models.list()`: 
  *  `request` **Changed**
  *  `response.data.[].benchmarks` **Added**
* `open_router.models.list_for_user()`:  `response.data.[].benchmarks` **Added**
* `open_router.files.list()`: **Added**
* `open_router.presets.create_presets_messages()`:  `request` **Changed**
* `open_router.datasets.get_benchmarks_design_arena()`: **Added**
This commit is contained in:
speakeasybot
2026-06-17 01:01:09 +00:00
parent cdd4dc7302
commit 4e789208b4
97 changed files with 9804 additions and 391 deletions
+14 -1
View File
@@ -50,6 +50,7 @@ from .imagegenerationservertool_openrouter import (
ImageGenerationServerToolOpenRouter,
ImageGenerationServerToolOpenRouterTypedDict,
)
from .messagesfallbackparam import MessagesFallbackParam, MessagesFallbackParamTypedDict
from .messagesmessageparam import MessagesMessageParam, MessagesMessageParamTypedDict
from .messagesoutputconfig import MessagesOutputConfig, MessagesOutputConfigTypedDict
from .moderationplugin import ModerationPlugin, ModerationPluginTypedDict
@@ -1046,6 +1047,8 @@ class MessagesRequestTypedDict(TypedDict):
cache_control: NotRequired[AnthropicCacheControlDirectiveTypedDict]
r"""Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. Currently supported for Anthropic Claude models."""
context_management: NotRequired[Nullable[ContextManagementTypedDict]]
fallbacks: NotRequired[Nullable[List[MessagesFallbackParamTypedDict]]]
r"""Fallback models to try if the primary model fails or refuses, in order. Handled by OpenRouter multi-model routing rather than Anthropic server-side fallbacks; cannot be combined with `models`. Each entry accepts only `model`. Maximum of 3 entries."""
max_tokens: NotRequired[int]
metadata: NotRequired[MetadataTypedDict]
models: NotRequired[List[str]]
@@ -1088,6 +1091,9 @@ class MessagesRequest(BaseModel):
context_management: OptionalNullable[ContextManagement] = UNSET
fallbacks: OptionalNullable[List[MessagesFallbackParam]] = UNSET
r"""Fallback models to try if the primary model fails or refuses, in order. Handled by OpenRouter multi-model routing rather than Anthropic server-side fallbacks; cannot be combined with `models`. Each entry accepts only `model`. Maximum of 3 entries."""
max_tokens: Optional[int] = None
metadata: Optional[Metadata] = None
@@ -1144,6 +1150,7 @@ class MessagesRequest(BaseModel):
optional_fields = [
"cache_control",
"context_management",
"fallbacks",
"max_tokens",
"metadata",
"models",
@@ -1166,7 +1173,13 @@ class MessagesRequest(BaseModel):
"trace",
"user",
]
nullable_fields = ["context_management", "messages", "provider", "speed"]
nullable_fields = [
"context_management",
"fallbacks",
"messages",
"provider",
"speed",
]
null_default_fields = []
serialized = handler(self)