chore: 🐝 Update SDK - Generate 0.10.1#340
Conversation
* `open_router.benchmarks.get_benchmarks()`: **Added** * `open_router.datasets.get_benchmarks_artificial_analysis()`: **Deleted** **Breaking**⚠️ * `open_router.datasets.get_benchmarks_design_arena()`: **Deleted** **Breaking**⚠️ * `open_router.chat.send()`: `response` **Changed** * `open_router.embeddings.list_models()`: `response.data.[].reasoning` **Added** * `open_router.models.get()`: `response.data.reasoning` **Added** * `open_router.models.list()`: `response.data.[].reasoning` **Added** * `open_router.models.list_for_user()`: `response.data.[].reasoning` **Added**
5bbc669 to
0b6f008
Compare
There was a problem hiding this comment.
Perry's Review
Speakeasy SDK regen 0.10.0 → 0.10.1: unifies the two legacy benchmark endpoints into a single source-discriminated benchmarks.get_benchmarks(source=…), adds Model.reasoning (ModelReasoning) and ChatUsage.server_tool_use_details.
Verdict: 💬 Comments / questions
Details
Scope: incremental — net-new delta since my last review (5bbc669) is only generated bookkeeping: .speakeasy/gen.lock regeneration IDs + a RELEASES.md timestamp. The SDK source is byte-identical to the prior reviewed state, so no fresh code-level nits are raised.
Risk: 🟡 Medium
CI: no checks configured on this repo (none reported)
Findings: none net-new this push.
- My earlier non-blocking suggestion still stands (live unresolved thread on pyproject.toml): the removal of datasets.get_benchmarks_artificial_analysis() and datasets.get_benchmarks_design_arena() (sync + async) is a breaking change shipping as a patch bump. Per Speakeasy's documented versioning policy a pre-1.0 breaking change is auto-downgraded major→minor (i.e. would suggest 0.11.0), so patch under-signals even relative to Speakeasy's own default. Conformant under SemVer §4 for a 0.y.z SDK — maintainer's call. To signal it more loudly add a minor label and a RELEASES.md migration note pointing consumers to client.benchmarks.get_benchmarks(source="artificial-analysis" | "design-arena", …).
Blast radius: clean. No dangling references to any removed symbol (get_benchmarks_* methods, BenchmarksAA*/BenchmarksDA* components, the old operation modules). SDK wiring verified: benchmarks accessor registered in sdk.py (TYPE_CHECKING import + _sub_sdk_map), sync + async get_benchmarks present, get_discriminator helper and reasoningeffort module both resolve.
Codex (gpt-5.5): 3 findings, all on code unchanged since the prior review — none net-new, none blocking. (1) Design Arena meta no longer exposes arena/category/elo_bounds — this faithfully mirrors the unified OpenAPI schema, an upstream API decision, not an SDK defect. (2) ModelReasoning.supported_efforts permits null list elements while the spec items are non-null — generated-code permissiveness; read-side harmless. (3) model.md links to a missing modelreasoning.md — a pre-existing partial-docs pattern in this repo (modelbenchmarks.md and modellinks.md were already dangling before this PR), so not a regression introduced here.
Research: Speakeasy SDK versioning policy — confirmed pre-1.0 breaking changes are auto-downgraded major→minor (not patch) and only become true major bumps after 1.0.0; maintainers override via the major/minor/patch PR label or SPEAKEASY_BUMP_OVERRIDE.
Security: no concerns. New ServerToolUseDetails fields are additive nullable usage counters; ModelReasoning is read-only model metadata. No credential, auth, streaming-validation, or tenant-isolation surface touched.
Test coverage: generated SDK — no hand-written tests expected; internal consistency (imports, init exports, discriminated-union tagging) verified by grep.
Unresolved threads: 1 — my own prior non-blocking [suggestion] on the patch-vs-minor bump (above). Maintainer discretion; not a merge blocker.
Scope: incremental — net-new delta is generated lock + timestamp only; SDK code unchanged since 5bbc669
Review: tier=large · model=claude-opus-latest · score=34.0
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.benchmarks.get_benchmarks(): Addedopen_router.datasets.get_benchmarks_artificial_analysis(): Deleted Breakingopen_router.datasets.get_benchmarks_design_arena(): Deleted Breakingopen_router.chat.send():responseChangedopen_router.embeddings.list_models():response.data.[].reasoningAddedopen_router.models.get():response.data.reasoningAddedopen_router.models.list():response.data.[].reasoningAddedopen_router.models.list_for_user():response.data.[].reasoningAddedOpenAPI Change Summary
PYTHON CHANGELOG
No relevant generator changes
Based on Speakeasy CLI 1.680.0
Last updated by Speakeasy workflow