Skip to content

chore: 🐝 Update SDK - Generate 0.10.1#338

Open
github-actions[bot] wants to merge 2 commits into
mainfrom
speakeasy-sdk-regen-1781819857
Open

chore: 🐝 Update SDK - Generate 0.10.1#338
github-actions[bot] wants to merge 2 commits into
mainfrom
speakeasy-sdk-regen-1781819857

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

SDK update

Versioning

Version Bump Type: [patch] - 🤖 (automated)

Tip

If updates to your OpenAPI document introduce breaking changes, be sure to update the info.version field to trigger the correct version bump.
Speakeasy supports manual control of SDK versioning through multiple methods.

Python SDK Changes:

  • 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.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
OpenAPI Change Summary
├─┬Paths
│ ├──[-] path (24140:5)❌ 
│ ├──[-] path (24052:5)❌ 
│ ├──[+] path (22944:3)
│ └─┬/models
│   └─┬GET
│     └─┬Responses
│       └─┬200
│         └─┬application/json
│           └──[🔀] example (28600:17)
├─┬Tags
│ └──[+] Benchmarks (32574:5)
└─┬Components
  ├──[-] schemas (3665:13)❌ 
  ├──[-] schemas (3755:13)❌ 
  ├──[-] schemas (3784:13)❌ 
  ├──[-] schemas (3646:13)❌ 
  ├──[-] schemas (3874:13)❌ 
  ├──[-] schemas (3947:13)❌ 
  ├──[-] schemas (3712:13)❌ 
  ├──[+] schemas (20122:7)
  ├──[+] schemas (20176:7)
  ├──[+] schemas (20323:7)
  ├──[+] schemas (12049:7)
  ├──[+] schemas (20272:7)
  ├──[+] schemas (20103:7)
  └─┬Model
    ├──[🔀] example (11786:9)
    ├──[+] properties (11882:9)
    ├─┬supported_parameters
    │ └──[🔀] $ref (12049:20)❌ 
    ├─┬supported_voices
    │ ├──[🔀] description (11885:24)
    │ ├──[-] nullable (12226:31)❌ 
    │ ├──[-] example (12223:30)
    │ └─┬Schema
    │   └──[🔀] $ref (16384:9)❌ 
    └─┬top_provider
      └──[🔀] $ref (11890:11)❌ 
Document Element Total Changes Breaking Changes
paths 4 2
tags 1 0
components 21 11

PYTHON CHANGELOG

No relevant generator changes

Based on Speakeasy CLI 1.680.0

Last updated by Speakeasy workflow

* `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.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**
@github-actions github-actions Bot added the patch Patch version bump label Jun 18, 2026

@perry-the-pr-reviewer perry-the-pr-reviewer Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perry's Review

Speakeasy SDK regen to 0.10.1: consolidates the two per-source benchmark dataset methods into a single unified Benchmarks endpoint, renames the supporting components, and adds an optional reasoning field to the Model schema.

Verdict: 💬 Comments / questions

Details

Risk: 🟡 Medium

What changed:

  • Removed the two datasets.get_benchmarks_artificial_analysis / datasets.get_benchmarks_design_arena methods (at the legacy per-source dataset paths) and replaced them with a single unified benchmarks.get_benchmarks(source=...) call against the new benchmarks path. The OpenAPI source-of-truth confirms the old paths were removed and the unified getBenchmarks operation added — this is a faithful regen of a real upstream API change, not a generator artifact.
  • Renamed the supporting components (BenchmarkPricing → UnifiedBenchmarkPricing, BenchmarksAAItem → UnifiedBenchmarksAAItem, BenchmarksDAItem → UnifiedBenchmarksDAItem) and added UnifiedBenchmarksMeta / UnifiedBenchmarksResponse with a discriminated union keyed on source.
  • Added an optional reasoning field (ModelReasoning component) to the Model schema — purely additive, mirrors PR #331.

Verification performed:

  • All 13 changed Python files compile under Python 3.12.
  • No dangling references remain to any removed symbol (checked: BenchmarksAAResponse, BenchmarksDAResponse, BenchmarksAAMeta, BenchmarksDAMeta, BenchmarkPricing, GetBenchmarksArtificialAnalysis, GetBenchmarksDesignArena, and both removed method names). The components and operations re-export maps are updated consistently. The retained Datasets resource still exposes its app-rankings / rankings-daily methods correctly.

Main discussion point — breaking change shipped as a patch bump (0.10.0 → 0.10.1): removing two public SDK methods breaks any caller using them. Speakeasy only performs automatic major-version bumps after 1.0.0, so at 0.x this lands as a patch — that is expected generator behavior, not a defect. Flagging for human awareness only: anyone calling the old per-source methods will need to migrate to the unified call. Same observation as the prior review of #334.

Codex (HEAVY_SECONDARY_MODEL): 2 findings surfaced, both on the generated schema and both verified to be faithful to the OpenAPI contract rather than SDK defects: (1) the Design-Arena meta omits arena/category/elo_bounds — but those fields are not defined in the spec's UnifiedBenchmarksMeta, so the SDK correctly omits them; (2) the response union has only the two known source variants and no catch-all — but the source enum is open at the field level (x-speakeasy-unknown-values allow), and a forward-compat catch-all variant would have to be added in the upstream spec, not hand-edited into this DO-NOT-EDIT generated file. Neither is actionable in this PR.

Research: Reviewed Speakeasy's SDK versioning policy — automatic major bumps only begin after 1.0.0; pre-1.0 breaking changes are expected to land as patch/minor. The OpenRouter benchmarks endpoint is not yet in the public API reference docs.

Security: no concerns — generated read-only GET client code; no secrets, auth, streaming, or logging changes. Secret-pattern scan on added lines was clean.

Test coverage: no SDK test suite present (typical for Speakeasy regens — endpoint correctness is enforced by the generator against the OpenAPI contract).

Unresolved threads: none

CI: no checks reported on the head commit.

Scope: first review (full)
Review: tier=large · model=claude-opus-latest · score=32.8

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

patch Patch version bump

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant