Skip to content

chore: 🐝 Update SDK - Generate (spec change merged) 0.10.1#334

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

chore: 🐝 Update SDK - Generate (spec change merged) 0.10.1#334
github-actions[bot] wants to merge 2 commits into
mainfrom
speakeasy-sdk-regen-1781803346

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 (3646:13)❌ 
  ├──[-] schemas (3755:13)❌ 
  ├──[-] schemas (3712:13)❌ 
  ├──[-] schemas (3947:13)❌ 
  ├──[-] schemas (3784:13)❌ 
  ├──[-] schemas (3874:13)❌ 
  ├──[-] schemas (3665:13)❌ 
  ├──[+] schemas (20323:7)
  ├──[+] schemas (20176:7)
  ├──[+] schemas (20122:7)
  ├──[+] schemas (20272:7)
  ├──[+] schemas (12049:7)
  ├──[+] schemas (20103:7)
  └─┬Model
    ├──[🔀] example (11786:9)
    ├──[+] properties (11882:9)
    ├─┬supported_voices
    │ ├──[🔀] description (11885:24)
    │ ├──[-] nullable (12226:31)❌ 
    │ ├──[-] example (12223:30)
    │ └─┬Schema
    │   └──[🔀] $ref (16384:9)❌ 
    ├─┬top_provider
    │ └──[🔀] $ref (11890:11)❌ 
    └─┬supported_parameters
      └──[🔀] $ref (12049:20)❌ 
Document Element Total Changes Breaking Changes
tags 1 0
components 21 11
paths 4 2

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 regen (0.10.1) that consolidates the two per-source benchmark endpoints (Artificial Analysis, Design Arena) into a single unified /benchmarks endpoint, removes the two legacy datasets.get_benchmarks_* methods, adds a new Benchmarks SDK namespace, and wires the optional reasoning field onto the Model schema.

Verdict: 💬 Comments / questions

Details

Risk: 🟡 Medium

What changed: The unified endpoint is wired correctly. I verified the regen end-to-end against the OpenAPI spec and with a real import + parse smoke test:

  • The new Benchmarks namespace is registered on the SDK client and exposes get_benchmarks / get_benchmarks_async; the datasets namespace no longer exposes the two removed methods (clean break, no dangling references anywhere in src).
  • The discriminated union over source parses both the Artificial-Analysis and Design-Arena item shapes correctly, max_results defaults to 50, and the request/response models match the spec parameters and error codes (400/401/429/500) exactly.
  • All components/init lazy-import entries (all + _dynamic_imports) line up with the new modules; the Model.reasoning optional field and ModelReasoning/DefaultEffort are wired and resolve.

Heads-up — breaking change shipped as a patch: This regen deletes two public methods (datasets.get_benchmarks_artificial_analysis and datasets.get_benchmarks_design_arena) — the gen.lock itself flags both as Breaking ⚠️ — yet the release is a patch bump (0.10.0 → 0.10.1, label: patch). That's expected automated Speakeasy behavior, not an author mistake: the spec's info.version is unchanged at 1.0.0, so Speakeasy falls back to a checksum comparison (→ patch), and pre-1.0 SDKs auto-downgrade a major bump to minor regardless. Flagging only so a human can decide whether callers of the old methods warrant a louder version signal / changelog callout, since semver-pinned consumers on ^0.10.0 will pick this up automatically and break at import/attribute-access time.

Codex (second opinion): no blocking findings. It surfaced the same observation that the new unified AA item renamed aa_name → display_name and added a source discriminator (so the endpoint description's "reproduce the exact shapes from the legacy per-source endpoints" wording is no longer literally accurate) — but that text lives in the server-controlled OpenAPI spec and is faithfully regenerated here, not authored in this PR.

Research: Confirmed via Speakeasy versioning docs that breaking API changes only escalate the SDK version when info.version is bumped or the SDK is already ≥1.0.0 — neither holds here, so the patch label is correct generator behavior. Confirmed both benchmark sources are genuine OpenRouter features and the endpoint consolidation is an upstream (already-merged) spec change this regen tracks.

Security: no concerns — generated client code, no credential/auth/streaming logic touched.

Test coverage: none in-repo (consistent with this generated SDK). I ran an out-of-band import + union-parse smoke test against the worktree and it passed.

Doc nits (pre-existing, not introduced here): gen.lock tracks several generated docs (docs/sdks/benchmarks/README.md, docs/operations/getbenchmarks*.md, docs/components/unifiedbenchmarks*.md, docs/components/modelreasoning.md) that are absent from the tree because the docs path is gitignored. The same gap exists for the old benchmark docs on the base branch, so it's not a regression from this PR.

Unresolved threads: none

CI: no checks configured on this repo

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

@christineschen christineschen added patch Patch version bump and removed patch Patch version bump labels Jun 18, 2026
@christineschen

Copy link
Copy Markdown
Collaborator

Closing to test auto-merge workflow. Superseded by newer Speakeasy SDK generation PR.

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.

2 participants