chore: 🐝 Update SDK - Generate 0.9.3#169
Conversation
1b4804c to
df58aec
Compare
* `open_router.datasets.get_benchmarks_design_arena()`: **Added** * `open_router.models.get()`: **Added** * `open_router.chat.send()`: `request` **Changed** * `open_router.embeddings.list_models()`: `response.data.[].benchmarks` **Added** * `open_router.models.list()`: `response.data.[].benchmarks` **Added** * `open_router.models.list_for_user()`: `response.data.[].benchmarks` **Added** * `open_router.presets.create_presets_chat_completions()`: `request` **Changed** * `open_router.presets.create_presets_messages()`: `request.fallbacks` **Added**
7c6d64a to
96d483d
Compare
There was a problem hiding this comment.
Perry's Review
Routine Speakeasy SDK regeneration to v0.9.3 — adds a get-model-by-slug endpoint and a Design Arena benchmarks endpoint, new chat sampling params (min_p, top_a, top_k, repetition_penalty, reasoning_effort), Messages fallbacks, and per-model benchmarks; all generated code is internally consistent and the package imports cleanly.
Verdict: 💬 Comments / questions
Details
Risk: 🟡 Medium
CI: ⏳ pending — the head is an empty commit pushing the run-tests workflow; no checks have reported yet (not a review blocker; branch protection gates merge).
Findings (see inline comment):
- 🟡
src/openrouter/components/rankingsdailymeta.py:9— the public Version alias was renamed to RankingsDailyMetaVersion and dropped from all, a breaking import change shipped under a patch-labeled release.
Codex (gpt-5.5): surfaced the same Version-rename breaking-change finding (merged below). Its two other notes — MessagesFallbackParam allowing extra fields, and fallbacks not being constrained to ≤3 / mutually-exclusive-with-models — are inherent to generated Speakeasy models (constraints enforced server-side; these files are DO NOT EDIT), so not actionable here.
Research: Confirmed via Speakeasy's versioning docs that automated version bumps key off info.version + a document checksum, not a content diff — so a type rename (a real breaking change under SemVer) is labeled patch by default. Verified the four new sampling-param docstrings against the OpenRouter API parameters reference — all accurate.
Security: Secret-pattern scan of added lines clean. Only auth-adjacent change is the callback_url docstring describing a server-side policy relaxation (localhost/127.0.0.1 on any port for local CLI tools) — no client-side validation logic in the SDK, no exploitable surface.
Test coverage: Validated locally — package + all new symbols import cleanly, the benchmarks response model round-trips the spec example (including null pricing/avg_generation_time_ms), and the new chat params serialize correctly.
Unresolved threads: none
Scope: first review (full)
Review: tier=large · model=claude-opus-latest · score=2699.0
|
|
||
|
|
||
| Version = Literal["v1",] | ||
| RankingsDailyMetaVersion = Literal["v1",] |
There was a problem hiding this comment.
[suggestion][codex] Version → RankingsDailyMetaVersion removes components.Version from the public SDK API in a patch-labeled release — breaks from openrouter.components import Version.
Details
Why: This release is labeled patch (0.9.2 → 0.9.3), but renaming the exported Version alias and dropping "Version" from components/__init__.py's __all__ is a backward-incompatible change: any consumer doing from openrouter.components import Version (or components.Version) will hit an ImportError after upgrading. The rename itself is correct — Speakeasy disambiguated it because the new BenchmarksDAMetaVersion introduced a second Version-shaped literal — but Speakeasy's automated version bump keys off info.version + a document checksum, not a content diff, so a genuine breaking rename is silently classified as patch rather than a minor/major bump.
This is auto-generated (DO NOT EDIT), so the fix is upstream of the SDK, not in this file:
Fix (pick one):
- Bump the SDK to a minor version (0.10.0) for this release — either via the OpenAPI
info.versionfield orspeakeasy bump minor/ the PR's version label — so the breaking export rename is reflected in SemVer. (Acceptable to skip under 0.x, where minor bumps may carry breaking changes — but the bump still signals it to consumers.) - If
Versionwas a deliberately public, documented symbol, keep a back-compat re-export (Version = RankingsDailyMetaVersion) in the spec's naming config so existing imports keep working.
Prompt for agents
The SDK release in this PR (pyproject.toml / _version.py: 0.9.2 -> 0.9.3, labeled `patch`) renames the public type alias `Version` to `RankingsDailyMetaVersion` in src/openrouter/components/rankingsdailymeta.py:9 and removes "Version" from __all__ in src/openrouter/components/__init__.py. This is a breaking change for anyone importing `openrouter.components.Version`. These files are Speakeasy-generated (DO NOT EDIT), so fix upstream: either (1) bump the release to a minor version (0.10.0) via the OpenAPI info.version field or the Speakeasy version label so the breaking rename is reflected in SemVer, or (2) if `Version` was an intentional public export, add a back-compat re-export alias `Version = RankingsDailyMetaVersion` via the spec naming configuration so existing imports do not break. Confirm whether any external consumers import `Version` before deciding.
Reviewed at 4587246
SDK update
Versioning
Version Bump Type: [patch] - 🤖 (automated)
Tip
If updates to your OpenAPI document introduce breaking changes, be sure to update the
info.versionfield to trigger the correct version bump.Speakeasy supports manual control of SDK versioning through multiple methods.
Python SDK Changes:
open_router.datasets.get_benchmarks_design_arena(): Addedopen_router.models.get(): Addedopen_router.chat.send():requestChangedopen_router.embeddings.list_models():response.data.[].benchmarksAddedopen_router.models.list():response.data.[].benchmarksAddedopen_router.models.list_for_user():response.data.[].benchmarksAddedopen_router.presets.create_presets_chat_completions():requestChangedopen_router.presets.create_presets_messages():request.fallbacksAddedOpenAPI Change Summary
PYTHON CHANGELOG
No relevant generator changes
Based on Speakeasy CLI 1.680.0
Last updated by Speakeasy workflow