Skip to content

chore: 🐝 Update SDK - Generate 0.10.1#349

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

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

Conversation

@github-actions

@github-actions github-actions Bot commented Jun 22, 2026

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.beta.responses.send():
    • request Changed
    • response.[].data Changed Breaking ⚠️
  • open_router.images.list_model_endpoints(): Added
  • open_router.images.list_models(): Added
  • 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.images.generate(): Added
  • open_router.chat.send(): response Changed
  • open_router.embeddings.generate(): response.usage 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
  • open_router.presets.create_presets_responses(): request Changed
OpenAPI Change Summary
├─┬Paths
│ ├──[-] path (24052:5)❌ 
│ ├──[-] path (24140:5)❌ 
│ ├──[+] path (23752:3)
│ ├──[+] path (27455:3)
│ ├──[+] path (27651:3)
│ ├──[+] path (27601:3)
│ ├─┬/models
│ │ └─┬GET
│ │   └─┬Responses
│ │     └─┬200
│ │       └─┬application/json
│ │         └──[🔀] example (29705:17)
│ └─┬/embeddings
│   └─┬POST
│     └─┬Responses
│       └─┬200
│         └─┬application/json
│           └─┬Schema
│             └─┬usage
│               ├──[+] properties (25270:23)
│               ├──[+] properties (25292:23)
│               ├─┬prompt_tokens
│               │ ├──[+] required (25289:29)❌ 
│               │ ├──[+] required (25290:29)❌ 
│               │ ├──[🔀] type (25291:31)❌ 
│               │ ├──[🔀] description (25271:38)
│               │ ├──[+] nullable (25276:35)❌ 
│               │ ├──[🔀] example (25273:27)
│               │ ├──[+] properties (25278:27)
│               │ ├──[+] properties (25281:27)
│               │ └──[+] properties (25285:27)
│               ├─┬total_tokens
│               │ └──[🔀] description (25296:38)
│               └─┬prompt_tokens_details
│                 ├──[🔀] type (25294:31)❌ 
│                 ├──[🔀] description (25293:38)
│                 ├──[-] properties (24580:53)❌ 
│                 ├──[-] properties (24583:53)❌ 
│                 ├──[-] properties (24586:53)❌ 
│                 ├──[-] properties (24590:53)❌ 
│                 └──[-] properties (24594:53)❌ 
├─┬Tags
│ └──[+] Benchmarks (33679:5)
├─┬Tags
│ └──[+] Images (33697:5)
└─┬Components
  ├──[-] schemas (3646:13)❌ 
  ├──[-] schemas (3755:13)❌ 
  ├──[-] schemas (3712:13)❌ 
  ├──[-] schemas (3784:13)❌ 
  ├──[-] schemas (3947:13)❌ 
  ├──[-] schemas (3665:13)❌ 
  ├──[-] schemas (3874:13)❌ 
  ├──[+] schemas (9635:7)
  ├──[+] schemas (9824:7)
  ├──[+] schemas (9509:7)
  ├──[+] schemas (9354:7)
  ├──[+] schemas (4033:7)
  ├──[+] schemas (7222:7)
  ├──[+] schemas (20925:7)
  ├──[+] schemas (9201:7)
  ├──[+] schemas (9675:7)
  ├──[+] schemas (20979:7)
  ├──[+] schemas (12806:7)
  ├──[+] schemas (6921:7)
  ├──[+] schemas (9794:7)
  ├──[+] schemas (9612:7)
  ├──[+] schemas (9837:7)
  ├──[+] schemas (9088:7)
  ├──[+] schemas (9231:7)
  ├──[+] schemas (20641:7)
  ├──[+] schemas (21075:7)
  ├──[+] schemas (9870:7)
  ├──[+] schemas (9731:7)
  ├──[+] schemas (9697:7)
  ├──[+] schemas (21131:7)
  ├──[+] schemas (3651:7)
  ├──[+] schemas (20906:7)
  ├──[+] schemas (18878:7)
  ├─┬ResponsesRequest
  │ ├──[+] properties (19478:9)
  │ ├─┬tools
  │ │ └──[🔀] $ref (15279:9)❌ 
  │ ├─┬metadata
  │ │ └──[🔀] $ref (19500:11)❌ 
  │ ├─┬top_p
  │ │ ├──[🔀] type (19657:17)❌ 
  │ │ └──[-] format (19173:29)❌ 
  │ ├─┬modalities
  │ │ └──[🔀] $ref (19283:9)❌ 
  │ ├─┬previous_response_id
  │ │ ├──[🔀] type (19550:17)❌ 
  │ │ └──[+] format (19548:19)❌ 
  │ ├─┬tool_choice
  │ │ └──[🔀] $ref (20716:9)❌ 
  │ ├─┬instructions
  │ │ └──[🔀] $ref (10123:9)❌ 
  │ ├─┬models
  │ │ ├──[-] items (19030:25)❌ 
  │ │ └──[🔀] type (19513:17)❌ 
  │ ├─┬truncation
  │ │ └──[🔀] $ref (20839:9)❌ 
  │ ├─┬top_k
  │ │ ├──[+] items (19604:13)❌ 
  │ │ └──[🔀] type (19652:17)❌ 
  │ ├─┬model
  │ │ ├──[+] items (19510:13)❌ 
  │ │ ├──[🔀] type (19511:17)❌ 
  │ │ ├──[+] description (19505:24)
  │ │ └──[+] example (19507:13)
  │ ├─┬temperature
  │ │ ├──[🔀] type (19593:17)❌ 
  │ │ ├──[-] format (19109:29)❌ 
  │ │ ├──[+] default (19592:20)❌ 
  │ │ └──[-] nullable (19110:31)❌ 
  │ ├─┬frequency_penalty
  │ │ └──[🔀] $ref (4325:20)❌ 
  │ ├─┬provider
  │ │ └──[🔀] $ref (19557:11)❌ 
  │ ├─┬parallel_tool_calls
  │ │ ├──[+] items (19516:13)❌ 
  │ │ ├──[🔀] type (19517:17)❌ 
  │ │ └──[-] nullable (19033:31)❌ 
  │ ├─┬stop_server_tools_when
  │ │ └──[🔀] $ref (19581:11)❌ 
  │ ├─┬text
  │ │ └──[🔀] $ref (19595:11)❌ 
  │ ├─┬top_logprobs
  │ │ └──[-] nullable (19170:31)❌ 
  │ ├─┬include
  │ │ └──[🔀] $ref (9074:9)❌ 
  │ ├─┬max_output_tokens
  │ │ └──[🔀] type (19495:17)❌ 
  │ ├─┬session_id
  │ │ ├──[+] enum (19576:15)
  │ │ ├──[+] enum (19571:15)
  │ │ ├──[+] enum (19572:15)
  │ │ ├──[+] enum (19573:15)
  │ │ ├──[+] enum (19574:15)
  │ │ ├──[+] enum (19575:15)
  │ │ ├──[-] maxLength (19097:32)❌ 
  │ │ ├──[-] description (19095:34)
  │ │ ├──[+] default (19569:20)❌ 
  │ │ ├──[+] nullable (19577:21)❌ 
  │ │ └─┬Extensions
  │ │   └──[+] x-speakeasy-unknown-values (19579:39)
  │ ├─┬prompt_cache_key
  │ │ └──[🔀] $ref (20149:9)❌ 
  │ ├─┬store
  │ │ └──[🔀] $ref (20034:20)❌ 
  │ ├─┬input
  │ │ └──[🔀] $ref (19487:11)❌ 
  │ ├─┬image_config
  │ │ └──[🔀] $ref (19481:11)❌ 
  │ ├─┬service_tier
  │ │ ├──[-] enum (19088:27)❌ 
  │ │ ├──[-] enum (19089:27)❌ 
  │ │ ├──[-] enum (19090:27)❌ 
  │ │ ├──[-] enum (19085:27)❌ 
  │ │ ├──[-] enum (19086:27)❌ 
  │ │ ├──[-] enum (19087:27)❌ 
  │ │ ├──[-] default (19083:30)❌ 
  │ │ └─┬Extensions
  │ │   └──[-] x-speakeasy-unknown-values (19093:49)❌ 
  │ ├─┬presence_penalty
  │ │ ├──[+] items (19524:13)❌ 
  │ │ ├──[🔀] type (19546:17)❌ 
  │ │ ├──[-] format (19062:29)❌ 
  │ │ ├──[+] description (19522:24)
  │ │ └──[-] nullable (19063:31)❌ 
  │ ├─┬route
  │ │ └──[🔀] $ref (18982:9)❌ 
  │ ├─┬safety_identifier
  │ │ └──[🔀] $ref (7064:19)❌ 
  │ ├─┬reasoning
  │ │ └──[🔀] $ref (18296:29)❌ 
  │ ├─┬user
  │ │ └──[🔀] $ref (15331:9)❌ 
  │ ├─┬stream
  │ │ └──[+] const (19588:18)❌ 
  │ ├─┬trace
  │ │ └──[🔀] $ref (19659:11)❌ 
  │ ├─┬plugins
  │ │ ├──[-] items (19038:25)❌ 
  │ │ ├──[🔀] type (19520:17)❌ 
  │ │ ├──[-] description (19036:34)
  │ │ └──[+] nullable (19519:21)❌ 
  │ └─┬prompt
  │   └──[🔀] $ref (19552:11)❌ 
  ├─┬AdvisorReasoning
  │ └─┬effort
  │   └──[+] enum (178:15)
  ├─┬Model
  │ ├──[🔀] example (12543:9)
  │ ├──[+] properties (12639:9)
  │ ├─┬top_provider
  │ │ └──[🔀] $ref (12647:11)❌ 
  │ ├─┬supported_voices
  │ │ ├──[🔀] description (12642:24)
  │ │ ├──[-] nullable (12226:31)❌ 
  │ │ ├──[-] example (12223:30)
  │ │ └─┬Schema
  │ │   └──[🔀] $ref (17142:9)❌ 
  │ └─┬supported_parameters
  │   └──[🔀] $ref (12806:20)❌ 
  ├─┬ObservabilityArizeDestination
  │ └─┬config
  │   └─┬modelId
  │     └──[+] description (13089:28)
  ├─┬ChatUsage
  │ ├──[🔀] example (5417:9)
  │ ├──[+] properties (5488:9)
  │ └─┬total_tokens
  │   ├──[🔀] type (5506:17)❌ 
  │   ├──[🔀] description (5489:24)
  │   ├──[+] nullable (5490:21)❌ 
  │   ├──[+] properties (5492:13)
  │   ├──[+] properties (5496:13)
  │   └──[+] properties (5501:13)
  ├─┬ReasoningEffort
  │ └──[+] enum (19112:11)
  ├─┬StreamEvents
  │ ├──[+] oneOf (6921:7)
  │ └──Discriminator
  ├─┬ChatRequest
  │ ├─┬reasoning_effort
  │ │ └──[+] enum (4796:15)
  │ └─┬reasoning
  │   └─┬effort
  │     └──[+] enum (4777:19)
  ├─┬FusionServerToolConfig
  │ ├──[+] properties (8240:9)
  │ ├─┬max_tool_calls
  │ │ ├──[-] maximum (8467:30)❌ 
  │ │ ├──[-] minimum (8468:30)❌ 
  │ │ ├──[🔀] description (8243:24)
  │ │ └──[🔀] example (8245:20)
  │ ├─┬model
  │ │ ├──[🔀] type (8253:17)❌ 
  │ │ ├──[+] maximum (8251:20)❌ 
  │ │ ├──[+] minimum (8252:20)❌ 
  │ │ ├──[🔀] description (8248:24)
  │ │ └──[🔀] example (8250:20)
  │ ├─┬tools
  │ │ ├──[-] items (8511:25)❌ 
  │ │ ├──[🔀] type (8285:17)❌ 
  │ │ ├──[+] format (8284:19)❌ 
  │ │ ├──[-] maxItems (8523:31)❌ 
  │ │ ├──[🔀] description (8281:24)
  │ │ └──[🔀] example (8283:20)
  │ ├─┬max_completion_tokens
  │ │ └──[🔀] $ref (509:20)❌ 
  │ ├─┬reasoning
  │ │ └─┬effort
  │ │   └──[+] enum (8266:19)
  │ └─┬temperature
  │   ├──[🔀] type (8279:17)❌ 
  │   ├──[-] format (8499:29)❌ 
  │   ├──[🔀] description (8260:24)
  │   ├──[-] example (8498:30)
  │   ├──[+] properties (8263:13)
  │   └──[+] properties (8275:13)
  └─┬SubagentReasoning
    └─┬effort
      └──[+] enum (20569:15)
Document Element Total Changes Breaking Changes
paths 26 12
tags 2 0
components 153 83

PYTHON CHANGELOG

No relevant generator changes

Based on Speakeasy CLI 1.680.0

Last updated by Speakeasy workflow

@github-actions github-actions Bot added the patch Patch version bump label Jun 22, 2026
perry-the-pr-reviewer[bot]

This comment was marked as outdated.

@github-actions github-actions Bot force-pushed the speakeasy-sdk-regen-1782149408 branch from 5a2aa71 to fb9946f Compare June 22, 2026 22:14
perry-the-pr-reviewer[bot]

This comment was marked as outdated.

* `open_router.beta.responses.send()`: 
  *  `request` **Changed**
  *  `response.[].data` **Changed** **Breaking** ⚠️
* `open_router.images.list_model_endpoints()`: **Added**
* `open_router.images.list_models()`: **Added**
* `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.images.generate()`: **Added**
* `open_router.chat.send()`:  `response` **Changed**
* `open_router.embeddings.generate()`:  `response.usage` **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**
* `open_router.presets.create_presets_responses()`:  `request` **Changed**
@github-actions github-actions Bot force-pushed the speakeasy-sdk-regen-1782149408 branch from 3b8c4ce to 0b74cba Compare June 23, 2026 00:53
@github-actions github-actions Bot changed the title chore: 🐝 Update SDK - Generate (spec change merged) 0.10.1 chore: 🐝 Update SDK - Generate 0.10.1 Jun 23, 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

Re-review of the Speakeasy SDK regen 0.10.0 → 0.10.1 — the only change since my last pass at 3b8c4ce is a regenerated generation-id / pristine-hash in the lockfile plus a release-timestamp bump; the generated SDK source is byte-for-byte identical, so both of my prior findings still stand unchanged.

Verdict: 💬 Comments / questions

Details

Risk: 🟡 Medium — a public-API breaking change in a published SDK (consumer-facing semver hazard); no auth / billing / runtime-safety surface. Generated code.

CI: no pull_request checks configured on this repo's regen PRs (none reported on the head SHA).

Incremental delta since 3b8c4ce: generated-metadata churn only — a new generation-id + pristine-commit-hash in the Speakeasy lockfile, and a release-timestamp line. Zero functional source change (verified: git diff between the two SHAs touches exactly the lockfile and the releases doc). No new findings on this push.

Findings carried forward (both still open as review threads — not re-posted to avoid duplicate comments):

  • 🟡 Breaking removal of the two per-source benchmark methods (the unified-benchmarks migration) is still shipping as a patch bump (0.10.0 → 0.10.1). Re-verified at head: the version module and lockfile both read 0.10.1, and 0.10.0 is already published on PyPI. A consumer pinned compatible-release or caret on 0.10.0 auto-resolves to 0.10.1 and then raises AttributeError on the removed methods. Should be at least a minor (0.11.0). See the existing thread on the version line.
  • 🟡 (codex) The unknown-values fallback marker is mis-nested as a fake key inside the discriminator mapping, so the generated CapabilityDescriptor union has only three tagged variants and no catch-all — re-verified at head in the generated component. An unknown discriminator value raises in pydantic. See the existing thread on the spec file.

Codex (heavy second opinion): no additional valid findings (hit the 60s cap; partial output was a template placeholder).

Analysis lanes: all candidates discarded on verification — every security-lane hit was lockfile checksum/hash churn ("a hash changed, might be security-relevant"), and the correctness / blast-radius / test-coverage candidates all anchored to the generated SDK source that is byte-identical to the prior review (out of scope for this incremental delta).

Research: re-confirmed live against the Speakeasy versioning docs — the generator bumps off info.version + document checksum only and does not inspect added/removed operations; pre-1.0 majors auto-downgrade to minor. info.version is still 1.0.0, so the breaking removal fell through to a checksum-only patch. Re-confirmed via the PyPI version-specifiers spec that compatible-release ~=0.10.0 expands to >=0.10.0,==0.10.* and so admits 0.10.1.

Security: no concerns — secret-pattern grep over the delta is clean; the delta is generated lockfile metadata + a release timestamp, no auth / credential / streaming surface.

Test coverage: N/A — Speakeasy-generated SDK with no in-repo test suite; correctness is asserted by generation + compile.

Unresolved threads: 2 — both are my own prior suggestions (semver bump + discriminator fallback), still open and still applicable on this byte-identical regen. Not re-posted.

Scope: incremental — 0 functional new lines since prior review at 3b8c4ce (delta = lockfile + release-timestamp metadata only)
Review: tier=large · model=claude-opus-latest · score=96.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